Skip to content

Commit b21d07d

Browse files
committed
Fix Messages errors and don't show dpad if setting is disabled
1 parent 05e6641 commit b21d07d

8 files changed

Lines changed: 28881 additions & 28873 deletions

File tree

ASM/build/asm_symbols.txt

Lines changed: 388 additions & 388 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ASM/build/bundle.o

0 Bytes
Binary file not shown.

ASM/build/c_symbols.txt

Lines changed: 490 additions & 490 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ASM/c/dpad.c

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -195,19 +195,22 @@ void draw_dpad_and_menu_utilities() {
195195
}
196196
// Menu dpad, map screen
197197
else if (CAN_DRAW_WORLD_INFO && CFG_DPAD_DUNGEON_INFO_ENABLE) {
198+
bool shuffle_dungeons = CFG_DUNGEON_BOSS_INFO[0] > 0;
199+
bool shuffle_bosses = CFG_DUNGEON_BOSS_INFO[0] > 0;
198200
bool mixed_dungeons = CFG_DUNGEON_BOSS_INFO[0] > 1;
199201
bool mixed_bosses = CFG_DUNGEON_BOSS_INFO[0] > 1;
200202
bool mixed = mixed_dungeons || mixed_bosses;
201-
if (mixed) {
202-
// boss key on D-right
203-
sprite_load(db, &quest_items_sprite, 14, 1);
204-
sprite_draw(db, &quest_items_sprite, 0, left_main_dpad + 14, top_main_dpad + 2, 12, 12);
205-
}
206-
207-
// map on D-left
208-
sprite_load(db, &quest_items_sprite, 16, 1);
209-
sprite_draw(db, &quest_items_sprite, 0, left_main_dpad - 11, top_main_dpad + 2, 12, 12);
203+
if (shuffle_dungeons || shuffle_bosses) {
204+
if (mixed) {
205+
// boss key on D-right
206+
sprite_load(db, &quest_items_sprite, 14, 1);
207+
sprite_draw(db, &quest_items_sprite, 0, left_main_dpad + 14, top_main_dpad + 2, 12, 12);
208+
}
210209

210+
// map on D-left
211+
sprite_load(db, &quest_items_sprite, 16, 1);
212+
sprite_draw(db, &quest_items_sprite, 0, left_main_dpad - 11, top_main_dpad + 2, 12, 12);
213+
}
211214
} else { // Main game dpad
212215
if (!CAN_USE_DPAD) {
213216
gDPSetPrimColor(db->p++, 0, 0, 0xFF, 0xFF, 0xFF, alpha * 0x46 / 0xFF);

Messages.py

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1405,47 +1405,47 @@ def update_warp_song_text(messages: list[Message], world: World) -> None:
14051405
update_message_by_id(messages, id, new_msg)
14061406

14071407
def update_map_compass_messages(messages: list[Message], world: World):
1408-
from Hints import HintArea
1408+
from Hints import HintArea, GossipText
14091409
if world.settings.enhance_map_compass and world.settings.shuffle_mapcompass != 'remove' and world.settings.world_count == 1:
14101410
dungeon_list = {
14111411
# dungeon name compass map name of the entrance leading to the boss
1412-
'Deku Tree': ("the \x05\x42Deku Tree", 0x62, 0x88, 'Deku Tree Before Boss -> Queen Gohma Boss Room'),
1413-
'Dodongos Cavern': ("\x05\x41Dodongo\'s Cavern", 0x63, 0x89, 'Dodongos Cavern Before Boss -> King Dodongo Boss Room'),
1414-
'Jabu Jabus Belly': ("\x05\x43Jabu Jabu\'s Belly", 0x64, 0x8a, 'Jabu Jabus Belly Before Boss -> Barinade Boss Room'),
1415-
'Forest Temple': ("the \x05\x42Forest Temple", 0x65, 0x8b, 'Forest Temple Before Boss -> Phantom Ganon Boss Room'),
1416-
'Fire Temple': ("the \x05\x41Fire Temple", 0x7c, 0x8c, 'Fire Temple Before Boss -> Volvagia Boss Room'),
1417-
'Water Temple': ("the \x05\x43Water Temple", 0x7d, 0x8e, 'Water Temple Before Boss -> Morpha Boss Room'),
1418-
'Spirit Temple': ("the \x05\x46Spirit Temple", 0x7e, 0x8f, 'Shadow Temple Before Boss -> Bongo Bongo Boss Room'),
1412+
'Deku Tree': ("the \x05\x42Deku Tree", 0x62, 0x88, "Deku Tree Before Boss -> Queen Gohma Boss Room"),
1413+
'Dodongos Cavern': ("\x05\x41Dodongo\'s Cavern", 0x63, 0x89, "Dodongos Cavern Before Boss -> King Dodongo Boss Room"),
1414+
'Jabu Jabus Belly': ("\x05\x43Jabu Jabu\'s Belly", 0x64, 0x8a, "Jabu Jabus Belly Before Boss -> Barinade Boss Room"),
1415+
'Forest Temple': ("the \x05\x42Forest Temple", 0x65, 0x8b, "Forest Temple Before Boss -> Phantom Ganon Boss Room"),
1416+
'Fire Temple': ("the \x05\x41Fire Temple", 0x7c, 0x8c, "Fire Temple Before Boss -> Volvagia Boss Room"),
1417+
'Water Temple': ("the \x05\x43Water Temple", 0x7d, 0x8e, "Water Temple Before Boss -> Morpha Boss Room"),
1418+
'Spirit Temple': ("the \x05\x46Spirit Temple", 0x7e, 0x8f, "Shadow Temple Before Boss -> Bongo Bongo Boss Room"),
14191419
'Ice Cavern': ("the \x05\x44Ice Cavern", 0x87, 0x92),
14201420
'Bottom of the Well': ("the \x05\x45Bottom of the Well", 0xa2, 0xa5),
1421-
'Shadow Temple': ("the \x05\x45Shadow Temple", 0x7f, 0xa3, 'Spirit Temple Before Boss -> Twinrova Boss Room'),
1421+
'Shadow Temple': ("the \x05\x45Shadow Temple", 0x7f, 0xa3, "Spirit Temple Before Boss -> Twinrova Boss Room"),
14221422
}
1423-
dungeon_entrances_list = ['KF Outside Deku Tree -> Deku Tree Lobby', 'Death Mountain -> Dodongos Cavern Beginning', 'Zoras Fountain -> Jabu Jabus Belly Beginning',
1424-
'SFM Forest Temple Entrance Ledge -> Forest Temple Lobby', 'DMC Fire Temple Entrance -> Fire Temple Lower', 'Lake Hylia -> Water Temple Lobby',
1425-
'Graveyard Warp Pad Region -> Shadow Temple Entryway', 'Desert Colossus -> Spirit Temple Lobby', 'Kakariko Village -> Bottom of the Well',
1426-
'ZF Ice Ledge -> Ice Cavern Beginning', 'Gerudo Fortress -> Gerudo Training Ground Lobby', 'Ganons Castle Ledge -> Ganons Castle Lobby']
1423+
dungeon_entrances_list = ["KF Outside Deku Tree -> Deku Tree Lobby", "Death Mountain -> Dodongos Cavern Beginning", "Zoras Fountain -> Jabu Jabus Belly Beginning",
1424+
"SFM Forest Temple Entrance Ledge -> Forest Temple Lobby", "DMC Fire Temple Entrance -> Fire Temple Lower", "Lake Hylia -> Water Temple Lobby",
1425+
"Graveyard Warp Pad Region -> Shadow Temple Entryway", "Desert Colossus -> Spirit Temple Lobby", "Kakariko Village -> Bottom of the Well",
1426+
"ZF Ice Ledge -> Ice Cavern Beginning", "Gerudo Fortress -> Gerudo Training Ground Lobby", "Ganons Castle Ledge -> Ganons Castle Lobby"]
14271427

1428-
dungeon_textbox_list = ['the \x05\x42Deku Tree', '\x05\x41Dodongo\'s Cavern', '\x05\x43Jabu Jabu\'s Belly',
1429-
'the \x05\x42Forest Temple', 'the \x05\x41Fire Temple', 'the \x05\x43Water Temple',
1430-
'the \x05\x45Shadow Temple', 'the \x05\x46Spirit Temple', 'the \x05\x45Bottom of the Well',
1431-
'the \x05\x44Ice Cavern', '\x05\x46Gerudo Training Grounds', '\x05\x41Ganons Castle']
1428+
dungeon_textbox_list = ["the \x05\x42Deku Tree", "\x05\x41Dodongo\'s Cavern", "\x05\x43Jabu Jabu\'s Belly",
1429+
"the \x05\x42Forest Temple", "the \x05\x41Fire Temple", "the \x05\x43Water Temple",
1430+
"the \x05\x45Shadow Temple", "the \x05\x46Spirit Temple", "the \x05\x45Bottom of the Well",
1431+
"the \x05\x44Ice Cavern", '\x05\x46Gerudo Training Grounds', "\x05\x41Ganons Castle"]
14321432

14331433
dungeon_entrances = []
14341434
if 'map_dungeon_location' in world.settings.enhance_map_compass and world.settings.shuffle_dungeon_entrances != 'off':
14351435
for dungeon_entrance in dungeon_entrances_list:
14361436
connected_region = world.get_entrance(dungeon_entrance).connected_region
14371437
dungeon_entrances.append(connected_region.name)
14381438

1439-
boss_textboxes = {'Queen Gohma Boss Room': '\x05\x41Queen Gohma',
1440-
'King Dodongo Boss Room': '\x05\x41King Dodongo',
1441-
'Barinade Boss Room': '\x05\x41Barinade',
1442-
'Phantom Ganon Boss Room': '\x05\x41Phantom Ganon',
1443-
'Volvagia Boss Room': '\x05\x41Volvagia',
1444-
'Morpha Boss Room': '\x05\x41Morpha',
1445-
'Bongo Bongo Boss Room': '\x05\x41Bongo Bongo',
1446-
'Twinrova Boss Room': '\x05\x41Twinrova',
1447-
'Ganons Castle Tower': '\x05\x41Ganondorf',
1448-
}
1439+
boss_textboxes = {'Queen Gohma Boss Room': "\x05\x41Queen Gohma",
1440+
'King Dodongo Boss Room': "\x05\x41King Dodongo",
1441+
'Barinade Boss Room': "\x05\x41Barinade",
1442+
'Phantom Ganon Boss Room': "\x05\x41Phantom Ganon",
1443+
'Volvagia Boss Room': "\x05\x41Volvagia",
1444+
'Morpha Boss Room': "\x05\x41Morpha",
1445+
'Bongo Bongo Boss Room': "\x05\x41Bongo Bongo",
1446+
'Twinrova Boss Room': "\x05\x41Twinrova",
1447+
'Ganons Castle Tower': "\x05\x41Ganondorf",
1448+
}
14491449

14501450
for dungeon in world.dungeons:
14511451
if dungeon.name in ('Gerudo Training Ground', 'Ganons Castle'):
@@ -1457,13 +1457,13 @@ def update_map_compass_messages(messages: list[Message], world: World):
14571457
if dungeon.name not in ('Dodongos Cavern', 'Jabu Jabus Belly'):
14581458
dungeon_name = dungeon_name.split(' ', 1)[1] # Remove the "the" to make room.
14591459
if 'map_mq' in world.settings.enhance_map_compass and (world.settings.mq_dungeons_mode == 'random' or world.settings.mq_dungeons_count != 0 and world.settings.mq_dungeons_count != 12):
1460-
map_message = f"\x13\x76\x08You found the \x05\x41Map\x05\x40 for {'\x05\x41masterful' if world.dungeon_mq[dungeon.name] else '\x05\x42ordinary'}\x01{dungeon_name}\x05\x40! This dungeon\x01is at {dungeon_textbox_list[dungeon_index[0]]}!\x05\x40\x09"
1460+
map_message = f"\x13\x76\x08You found the \x05\x41Map\x05\x40 for {COLOR_MAP['Red'] + 'masterful' if world.dungeon_mq[dungeon.name] else COLOR_MAP['Green'] + 'ordinary'}\x01{dungeon_name}\x05\x40! This dungeon\x01is at {dungeon_textbox_list[dungeon_index[0]]}!\x05\x40\x09"
14611461
else:
14621462
map_message = f"\x13\x76\x08You found the \x05\x41Map\x05\x40 for\x01{dungeon_name}\x05\x40!\x01This dungeon is at \x01{dungeon_textbox_list[dungeon_index[0]]}!\x05\x40\x09"
14631463
update_message_by_id(messages, map_id, map_message, allow_duplicates=True)
14641464
else:
14651465
if 'map_mq' in world.settings.enhance_map_compass:
1466-
map_message = f"\x13\x76\x08You found the \x05\x41Map\x05\x40\x01for {dungeon_name}\x05\x40!\x01It\'s {'\x05\x41masterful' if world.dungeon_mq[dungeon.name] else '\x05\x42ordinary'}!\x09"
1466+
map_message = f"\x13\x76\x08You found the \x05\x41Map\x05\x40\x01for {dungeon_name}\x05\x40!\x01It\'s {COLOR_MAP['Red'] + 'masterful' if world.dungeon_mq[dungeon.name] else COLOR_MAP['Green'] + 'ordinary'}!\x09"
14671467
if world.settings.mq_dungeons_mode == 'random' or world.settings.mq_dungeons_count != 0 and world.settings.mq_dungeons_count != 12:
14681468
update_message_by_id(messages, map_id, map_message, allow_duplicates=True)
14691469
else:
@@ -1491,12 +1491,12 @@ def update_map_compass_messages(messages: list[Message], world: World):
14911491
if 'map_boss_location' in world.settings.enhance_map_compass and world.settings.shuffle_bosses != 'off':
14921492
boss_room = world.get_entrance(boss_entrance).connected_region.name
14931493
if 'map_mq' in world.settings.enhance_map_compass and (world.settings.mq_dungeons_mode == 'random' or world.settings.mq_dungeons_count != 0 and world.settings.mq_dungeons_count != 12):
1494-
map_message = f"\x13\x76\x08You found the \x05\x41Map\x05\x40 for {'\x05\x41masterful' if world.dungeon_mq[dungeon.name] else '\x05\x42ordinary'}\x01{dungeon_name}\x05\x40! This dungeon\x01is at {dungeon_textbox_list[dungeon_index[0]]}\x05\x40,\x01and {boss_textboxes[boss_room]}\x05\x40 lurks within!\x05\x40\x09"
1494+
map_message = f"\x13\x76\x08You found the \x05\x41Map\x05\x40 for {COLOR_MAP['Red'] + 'masterful' if world.dungeon_mq[dungeon.name] else COLOR_MAP['Green'] + 'ordinary'}\x01{dungeon_name}\x05\x40! This dungeon\x01is at {dungeon_textbox_list[dungeon_index[0]]}\x05\x40,\x01and {boss_textboxes[boss_room]}\x05\x40 lurks within!\x05\x40\x09"
14951495
else:
14961496
map_message = f"\x13\x76\x08You found the \x05\x41Map\x05\x40 for\x01{dungeon_name}\x05\x40! This dungeon is\x01at {dungeon_textbox_list[dungeon_index[0]]}\x05\x40, and\x01{boss_textboxes[boss_room]}\x05\x40 lurks within!\x05\x40\x09"
14971497
else:
14981498
if 'map_mq' in world.settings.enhance_map_compass and (world.settings.mq_dungeons_mode == 'random' or world.settings.mq_dungeons_count != 0 and world.settings.mq_dungeons_count != 12):
1499-
map_message = f"\x13\x76\x08You found the \x05\x41Map\x05\x40 for {'\x05\x41masterful' if world.dungeon_mq[dungeon.name] else '\x05\x42ordinary'}\x01{dungeon_name}\x05\x40! This dungeon\x01is at {dungeon_textbox_list[dungeon_index[0]]}\x05\x40!\x09"
1499+
map_message = f"\x13\x76\x08You found the \x05\x41Map\x05\x40 for {COLOR_MAP['Red'] + 'masterful' if world.dungeon_mq[dungeon.name] else COLOR_MAP['Green'] + 'ordinary'}\x01{dungeon_name}\x05\x40! This dungeon\x01is at {dungeon_textbox_list[dungeon_index[0]]}\x05\x40!\x09"
15001500
else:
15011501
map_message = f"\x13\x76\x08You found the \x05\x41Map\x05\x40 for\x01{dungeon_name}\x05\x40! This dungeon is\x01at {dungeon_textbox_list[dungeon_index[0]]}\x05\x40!\x09"
15021502
update_message_by_id(messages, map_id, map_message, allow_duplicates=True)
@@ -1506,10 +1506,10 @@ def update_map_compass_messages(messages: list[Message], world: World):
15061506
if dungeon.name not in ('Dodongos Cavern', 'Jabu Jabus Belly'):
15071507
dungeon_name = dungeon_name.split(' ', 1)[1] # Remove the "the" to make room.
15081508
if 'map_mq' in world.settings.enhance_map_compass and (world.settings.mq_dungeons_mode == 'random' or world.settings.mq_dungeons_count != 0 and world.settings.mq_dungeons_count != 12):
1509-
map_message = f"\x13\x76\x08You found the \x05\x41Map\x05\x40 for {'\x05\x41masterful' if world.dungeon_mq[dungeon.name] else '\x05\x42ordinary'}\x01{dungeon_name}\x05\x40!\x01In this dungeon, {boss_textboxes[boss_room]}\x05\x40\x01lurks within!\x05\x40\x09"
1509+
map_message = f"\x13\x76\x08You found the \x05\x41Map\x05\x40 for {COLOR_MAP['Red'] + 'masterful' if world.dungeon_mq[dungeon.name] else COLOR_MAP['Green'] + 'ordinary'}\x01{dungeon_name}\x05\x40!\x01In this dungeon, {boss_textboxes[boss_room]}\x05\x40\x01lurks within!\x05\x40\x09"
15101510
else:
15111511
map_message = f"\x13\x76\x08You found the \x05\x41Map\x05\x40 for\x01{dungeon_name}\x05\x40!\x01In this dungeon, {boss_textboxes[boss_room]}\x05\x40\x01lurks within!\x05\x40\x09"
15121512
else:
15131513
if 'map_mq' in world.settings.enhance_map_compass and (world.settings.mq_dungeons_mode == 'random' or world.settings.mq_dungeons_count != 0 and world.settings.mq_dungeons_count != 12):
1514-
map_message = f"\x13\x76\x08You found the \x05\x41Map\x05\x40 for\x01{dungeon_name}\x05\x40!\x01It\'s {'\x05\x41masterful' if world.dungeon_mq[dungeon.name] else '\x05\x42ordinary'}!\x09"
1514+
map_message = f"\x13\x76\x08You found the \x05\x41Map\x05\x40 for\x01{dungeon_name}\x05\x40!\x01It\'s {COLOR_MAP['Red'] + 'masterful' if world.dungeon_mq[dungeon.name] else COLOR_MAP['Green'] + 'ordinary'}!\x09"
15151515
update_message_by_id(messages, map_id, map_message, allow_duplicates=True)

0 commit comments

Comments
 (0)