Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
2529c85
map customization, front end outline
nn357 Apr 12, 2026
2c13732
more backend for enhanced map
nn357 Apr 13, 2026
0e1bf07
Update scripts.html
nn357 Apr 13, 2026
6447628
more backend for enhanced map
nn357 Apr 13, 2026
6f39070
Update map_tiles.rs
nn357 Apr 13, 2026
d04992e
remove the ultra_low_qol option button
nn357 Apr 14, 2026
6a1900c
formatting
nn357 Apr 14, 2026
059d21b
more formatting
nn357 Apr 14, 2026
6448b4c
Update traverse.rs
nn357 Apr 14, 2026
c881a6c
Update map_tiles.rs
nn357 Apr 14, 2026
55ebcfc
Update randomize_helpers.rs
nn357 Apr 14, 2026
d716a0d
Update seed.rs
nn357 Apr 14, 2026
95f5a8e
some minor style tweaks
blkerby Apr 15, 2026
b09d40e
rename locked_doors to ammo_doors
blkerby Apr 15, 2026
4ec4521
initialEnhanced -> enhanced
blkerby Apr 15, 2026
d4d8b90
fix missing ammo_doors
nn357 Apr 15, 2026
da9f31d
rename Disabled/Enabled presets to No/Yes
blkerby Apr 15, 2026
e7380df
some UI spacing adjustments
blkerby Apr 15, 2026
24abdc1
add enhanced map setting for objectives
blkerby Apr 15, 2026
5c589b2
use local 'em' variable in more places, fix objectives render
blkerby Apr 15, 2026
3185784
rough first pass at black walls
blkerby Apr 15, 2026
23556fb
process ammo doors / beam doors based on toggles.
nn357 Apr 15, 2026
9ce6ec2
add blue_doors to enhanced map toggles / update preset name
nn357 Apr 15, 2026
25ce20c
invert save station icons if wall colors set to black
nn357 Apr 16, 2026
3471a10
invert map stations, refills and objectives if walls set to black
nn357 Apr 16, 2026
1b231db
Update map_tiles.rs
nn357 Apr 16, 2026
dca8462
Update map_tiles.rs
nn357 Apr 16, 2026
7618757
patch diagonals / elevators etc to be black if toggled.
nn357 Apr 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion rust/data/presets/full-settings/Community Race Season 4.json
Original file line number Diff line number Diff line change
Expand Up @@ -4532,6 +4532,21 @@
},
"quality_of_life_settings": {
"preset": null,
"enhanced_map_settings": {
"preset": "Yes",
"blue_doors": "Visible",
"gray_doors": "Visible",
"ammo_doors": "Visible",
"beam_doors": "Visible",
"heat": "Visible",
"water": "Visible",
"lava": "Visible",
"acid": "Visible",
"walls": "White",
"objectives": "Icon",
"map_station": "Icon",
"refill_station": "Icon"
},
"initial_map_reveal_settings": {
"preset": null,
"map_stations": "Full",
Expand Down Expand Up @@ -4705,7 +4720,6 @@
"map_station_reveal": "Full",
"energy_free_shinesparks": false,
"all_enemies_respawn": false,
"ultra_low_qol": false,
"disable_spikesuit": false,
"disable_bluesuit": false,
"enable_major_glitches": false,
Expand Down
16 changes: 15 additions & 1 deletion rust/data/presets/full-settings/Default.json
Original file line number Diff line number Diff line change
Expand Up @@ -4532,6 +4532,21 @@
},
"quality_of_life_settings": {
"preset": "Default",
"enhanced_map_settings": {
"preset": "Yes",
"blue_doors": "Visible",
"gray_doors": "Visible",
"ammo_doors": "Visible",
"beam_doors": "Visible",
"heat": "Visible",
"water": "Visible",
"lava": "Visible",
"acid": "Visible",
"walls": "White",
"objectives": "Icon",
"map_station": "Icon",
"refill_station": "Icon"
},
"initial_map_reveal_settings": {
"preset": "Maps",
"map_stations": "Full",
Expand Down Expand Up @@ -4710,7 +4725,6 @@
"disable_bluesuit": false,
"enable_major_glitches": false,
"speed_booster": "Vanilla",
"ultra_low_qol": false,
"race_mode": false,
"random_seed": null
}
Expand Down
16 changes: 15 additions & 1 deletion rust/data/presets/full-settings/Mentor Tournament.json
Original file line number Diff line number Diff line change
Expand Up @@ -4588,6 +4588,21 @@
},
"quality_of_life_settings": {
"preset": null,
"enhanced_map_settings": {
"preset": "Yes",
"blue_doors": "Visible",
"gray_doors": "Visible",
"ammo_doors": "Visible",
"beam_doors": "Visible",
"heat": "Visible",
"water": "Visible",
"lava": "Visible",
"acid": "Visible",
"walls": "White",
"objectives": "Icon",
"map_station": "Icon",
"refill_station": "Icon"
},
"initial_map_reveal_settings": {
"preset": null,
"map_stations": "Full",
Expand Down Expand Up @@ -4761,7 +4776,6 @@
"map_station_reveal": "Full",
"energy_free_shinesparks": false,
"all_enemies_respawn": false,
"ultra_low_qol": false,
"disable_spikesuit": false,
"disable_bluesuit": false,
"enable_major_glitches": false,
Expand Down
15 changes: 15 additions & 0 deletions rust/data/presets/quality-of-life/Default.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
{
"preset": "Default",
"enhanced_map_settings": {
"preset": "Yes",
"blue_doors": "Visible",
"gray_doors": "Visible",
"ammo_doors": "Visible",
"beam_doors": "Visible",
"heat": "Visible",
"water": "Visible",
"lava": "Visible",
"acid": "Visible",
"walls": "White",
"objectives": "Icon",
"map_station": "Icon",
"refill_station": "Icon"
},
"initial_map_reveal_settings": {
"preset": "Maps",
"map_stations": "Full",
Expand Down
15 changes: 15 additions & 0 deletions rust/data/presets/quality-of-life/High.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
{
"preset": "High",
"enhanced_map_settings": {
"preset": "Yes",
"blue_doors": "Visible",
"gray_doors": "Visible",
"ammo_doors": "Visible",
"beam_doors": "Visible",
"heat": "Visible",
"water": "Visible",
"lava": "Visible",
"acid": "Visible",
"walls": "White",
"objectives": "Icon",
"map_station": "Icon",
"refill_station": "Icon"
},
"initial_map_reveal_settings": {
"preset": "Maps",
"map_stations": "Full",
Expand Down
15 changes: 15 additions & 0 deletions rust/data/presets/quality-of-life/Low.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
{
"preset": "Low",
"enhanced_map_settings": {
"preset": "Yes",
"blue_doors": "Visible",
"gray_doors": "Visible",
"ammo_doors": "Visible",
"beam_doors": "Visible",
"heat": "Visible",
"water": "Visible",
"lava": "Visible",
"acid": "Visible",
"walls": "White",
"objectives": "Icon",
"map_station": "Icon",
"refill_station": "Icon"
},
"initial_map_reveal_settings": {
"preset": "Maps",
"map_stations": "Full",
Expand Down
15 changes: 15 additions & 0 deletions rust/data/presets/quality-of-life/Max.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
{
"preset": "Max",
"enhanced_map_settings": {
"preset": "Yes",
"blue_doors": "Visible",
"gray_doors": "Visible",
"ammo_doors": "Visible",
"beam_doors": "Visible",
"heat": "Visible",
"water": "Visible",
"lava": "Visible",
"acid": "Visible",
"walls": "White",
"objectives": "Icon",
"map_station": "Icon",
"refill_station": "Icon"
},
"initial_map_reveal_settings": {
"preset": "Maps",
"map_stations": "Full",
Expand Down
15 changes: 15 additions & 0 deletions rust/data/presets/quality-of-life/Off.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
{
"preset": "Off",
"enhanced_map_settings": {
"preset": "No",
"blue_doors": "Hidden",
"gray_doors": "Hidden",
"ammo_doors": "Hidden",
"beam_doors": "Hidden",
"heat": "Hidden",
"water": "Hidden",
"lava": "Hidden",
"acid": "Hidden",
"walls": "Vanilla",
"objectives": "Vanilla",
"map_station": "Vanilla",
"refill_station": "Vanilla"
},
"initial_map_reveal_settings": {
"preset": "No",
"map_stations": "No",
Expand Down
2 changes: 0 additions & 2 deletions rust/maprando-web/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -478,7 +478,6 @@ struct SeedData {
ammo_refill_all: bool,
wall_jump: String,
vanilla_map: bool,
ultra_low_qol: bool,
}

#[derive(MultipartForm)]
Expand Down Expand Up @@ -781,7 +780,6 @@ async fn randomize(
.unwrap()
.to_string(),
vanilla_map: settings.map_layout == "Vanilla",
ultra_low_qol: settings.other_settings.ultra_low_qol,
};

let seed_name = &output.randomization.seed_name;
Expand Down
7 changes: 2 additions & 5 deletions rust/maprando-web/src/randomize_helpers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -192,9 +192,6 @@ impl SeedHeaderTemplate<'_> {
if other_settings.energy_free_shinesparks {
game_variations.push("Energy-free shinesparks");
}
if other_settings.ultra_low_qol {
game_variations.push("Ultra-low quality of life");
}
if other_settings.speed_booster == SpeedBooster::Split {
game_variations.push("Split Speed Booster");
}
Expand All @@ -219,8 +216,8 @@ impl SeedHeaderTemplate<'_> {
pub struct SeedFooterTemplate {
race_mode: bool,
all_items_spawn: bool,
ammo_refill_all: bool,
supers_double: bool,
ultra_low_qol: bool,
settings: RandomizerSettings,
}

Expand Down Expand Up @@ -529,8 +526,8 @@ pub fn render_seed(
let seed_footer_template = SeedFooterTemplate {
race_mode: seed_data.race_mode,
all_items_spawn: seed_data.all_items_spawn,
ammo_refill_all: seed_data.ammo_refill_all,
supers_double: seed_data.supers_double,
ultra_low_qol: seed_data.ultra_low_qol,
settings: seed_data.settings.clone(),
};
let seed_footer_html = seed_footer_template.render()?;
Expand Down
21 changes: 1 addition & 20 deletions rust/maprando-web/src/seed.rs
Original file line number Diff line number Diff line change
Expand Up @@ -236,16 +236,6 @@ async fn customize_seed(
let orig_rom = Rom::new(req.rom.data.to_vec());
let mut rom = orig_rom.clone();

let seed_data_str: String = String::from_utf8(
app_data
.seed_repository
.get_file(seed_name, "seed_data.json")
.await
.unwrap(),
)
.unwrap();
let seed_data = json::parse(&seed_data_str).unwrap();

let settings_bytes = app_data
.seed_repository
.get_file(seed_name, "public/settings.json")
Expand Down Expand Up @@ -277,23 +267,14 @@ async fn customize_seed(
Some(serde_json::from_slice(&randomization_bytes).unwrap())
};

let ultra_low_qol = seed_data["ultra_low_qol"].as_bool().unwrap_or(false);

let rom_digest = crypto_hash::hex_digest(crypto_hash::Algorithm::SHA256, &rom.data);
info!("Rom digest: {rom_digest}");
if rom_digest != "12b77c4bc9c1832cee8881244659065ee1d84c70c3d29e6eaf92e6798cc2ca72" {
return HttpResponse::BadRequest().body(InvalidRomTemplate {}.render().unwrap());
}

let customize_settings = CustomizeSettings {
samus_sprite: if ultra_low_qol
&& req.samus_sprite.0 == "samus_vanilla"
&& req.vanilla_screw_attack_animation.0
{
None
} else {
Some(req.samus_sprite.0.clone())
},
samus_sprite: Some(req.samus_sprite.0.clone()),
etank_color: Some((
u8::from_str_radix(&req.etank_color.0[0..2], 16).unwrap() / 8,
u8::from_str_radix(&req.etank_color.0[2..4], 16).unwrap() / 8,
Expand Down
Loading
Loading