Skip to content

Commit 82aabb2

Browse files
authored
Merge pull request #150 from gymnast86/required-bosses-rework
Rework Required Bosses
2 parents c0844a5 + 8c37a08 commit 82aabb2

42 files changed

Lines changed: 1480 additions & 981 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

asm/custom_symbols.yaml

Lines changed: 160 additions & 155 deletions
Original file line numberDiff line numberDiff line change
@@ -1,134 +1,137 @@
1-
beedle_dont_buy_blue_chu: 0x28F9AE4
2-
big_key_label_safestring: 0x28FA9CC
3-
big_key_label_str: 0x28FA9B8
4-
boat_spawn_fallback_check: 0x28F9DE0
1+
beedle_dont_buy_blue_chu: 0x28F9B24
2+
big_key_label_safestring: 0x28FAA0C
3+
big_key_label_str: 0x28FA9F8
4+
boat_spawn_fallback_check: 0x28F9E20
55
camera_preference: 0x28F8D66
6-
cap_file_restore_health: 0x28FA830
7-
cap_game_over_restore_health: 0x28FA848
8-
check_animate_rainbow_rupee_color: 0x28FA860
9-
check_barrier_triforce_requirement: 0x28F9D74
10-
check_buying_beedle_20_item: 0x28F9EB4
11-
check_can_defend: 0x28F9CBC
12-
check_entering_door10_forwards: 0x28F9A34
13-
check_entering_door12_forwards: 0x28F9A4C
14-
check_ganons_tower_chest_opened: 0x28FA034
15-
check_give_additional_figurines: 0x28FA3E8
16-
check_has_next_hint_message: 0x28F9E18
17-
check_hyrule_warp_unlocked: 0x28FACE0
18-
check_if_ganondorf: 0x28F9D04
19-
check_if_inside_warp: 0x28F9D2C
20-
check_leaving_cabana: 0x28F9A64
21-
check_low_health_full: 0x28FADBC
22-
check_outset_bgm: 0x28FAA10
23-
check_phantom_ganons_sword_should_disappear: 0x28FA05C
24-
check_play_special_item_get_music: 0x28FA2A4
25-
check_player_in_casual_clothes: 0x28FA9D4
26-
check_run_new_text_commands: 0x28FA8B4
27-
check_shop_item_in_bait_bag_slot_sold_out: 0x28F9E84
28-
check_should_decrement_morth_counter: 0x28F9D98
29-
check_tingle_statue_owned: 0x28F9974
6+
cap_file_restore_health: 0x28FA870
7+
cap_game_over_restore_health: 0x28FA888
8+
check_and_set_required_bosses_defeated: 0x28FAE60
9+
check_animate_rainbow_rupee_color: 0x28FA8A0
10+
check_barrier_triforce_requirement: 0x28F9DB4
11+
check_buying_beedle_20_item: 0x28F9EF4
12+
check_can_defend: 0x28F9CFC
13+
check_entering_door10_forwards: 0x28F9A74
14+
check_entering_door12_forwards: 0x28F9A8C
15+
check_ganons_tower_chest_opened: 0x28FA074
16+
check_give_additional_figurines: 0x28FA428
17+
check_has_next_hint_message: 0x28F9E58
18+
check_hyrule_warp_unlocked: 0x28FAD20
19+
check_if_ganondorf: 0x28F9D44
20+
check_if_inside_warp: 0x28F9D6C
21+
check_leaving_cabana: 0x28F9AA4
22+
check_low_health_full: 0x28FADFC
23+
check_outset_bgm: 0x28FAA50
24+
check_phantom_ganons_sword_should_disappear: 0x28FA09C
25+
check_play_special_item_get_music: 0x28FA2E4
26+
check_player_in_casual_clothes: 0x28FAA14
27+
check_required_bosses: 0x28FAE54
28+
check_run_new_text_commands: 0x28FA8F4
29+
check_shop_item_in_bait_bag_slot_sold_out: 0x28F9EC4
30+
check_should_decrement_morth_counter: 0x28F9DD8
31+
check_tingle_statue_owned: 0x28F99B4
3032
convert_progressive_item_id: 0x28F8D9C
31-
convert_progressive_item_id_for_createDemoItem: 0x28FA6FC
32-
convert_progressive_item_id_for_dProcGetItem_init_1: 0x28FA754
33-
convert_progressive_item_id_for_dProcGetItem_init_2: 0x28FA784
34-
convert_progressive_item_id_for_daItem_create: 0x28FA728
35-
convert_progressive_item_id_for_shop_item: 0x28FA7AC
36-
create_item_and_set_event_bit_for_townsperson: 0x28FA0BC
37-
create_item_for_withered_trees_without_setting_speeds: 0x28F9F30
38-
create_pot_item: 0x28FA368
39-
create_stone_head_item: 0x28FA3B4
40-
custom_crawl_check: 0x28F9DB0
33+
convert_progressive_item_id_for_createDemoItem: 0x28FA73C
34+
convert_progressive_item_id_for_dProcGetItem_init_1: 0x28FA794
35+
convert_progressive_item_id_for_dProcGetItem_init_2: 0x28FA7C4
36+
convert_progressive_item_id_for_daItem_create: 0x28FA768
37+
convert_progressive_item_id_for_shop_item: 0x28FA7EC
38+
create_item_and_set_event_bit_for_townsperson: 0x28FA0FC
39+
create_item_for_withered_trees_without_setting_speeds: 0x28F9F70
40+
create_pot_item: 0x28FA3A8
41+
create_stone_head_item: 0x28FA3F4
42+
custom_crawl_check: 0x28F9DF0
4143
custom_createItem: 0x28F93D4
42-
custom_createItem_return_check: 0x28F9F04
43-
custom_damage_multiplier: 0x28FAB14
44-
custom_ff_label: 0x28FABFC
45-
custom_ff_label_safestring: 0x28FAC04
46-
custom_getSelectItemNo_progressive: 0x28FA7D4
47-
custom_isTbox_for_unloaded_stage_save_info: 0x28F9A00
48-
custom_l_objectName: 0x28FAC38
49-
custom_searchName_loop_check: 0x28FAC44
50-
custom_warp_button_name: 0x28FABC4
51-
custom_warp_button_safestring: 0x28FABD4
52-
custom_warp_pot_env_color: 0x28FAB00
53-
custom_warp_pot_prm_color: 0x28FAAFC
54-
daSwOp_Create: 0x28FAE04
55-
daSwOp_Delete: 0x28FAF04
56-
daSwOp_Draw: 0x28FAF0C
57-
daSwOp_Execute: 0x28FB2D0
58-
daSwOp_IsDelete: 0x28FAEFC
59-
daSwOp__conditionMetCheck: 0x28FB090
60-
daSwOp__conditionUnmetCheck: 0x28FB27C
61-
daSwOp__eventEndCheck: 0x28FAF14
62-
daSwOp__eventStartCheck: 0x28FB1E0
63-
daSwOp__isCondition: 0x28FAF84
64-
daSwOp__timerCountdown: 0x28FB12C
65-
dampa_minigame_item_id: 0x28FA130
66-
default_molgera_xz_pos: 0x28F9D24
67-
doc_bandam_blue_potion_slot_item_id: 0x28FA365
68-
doc_bandam_check_new_potion_and_give_free_item: 0x28FA308
69-
doc_bandam_green_potion_slot_item_id: 0x28FA364
70-
dragon_tingle_statue_item_get_func: 0x28F9884
71-
drc_big_key_item_get_func: 0x28F95DC
72-
drc_compass_item_get_func: 0x28F9794
73-
drc_dungeon_map_item_get_func: 0x28F96A4
74-
drc_small_key_item_get_func: 0x28F9528
75-
earth_tingle_statue_item_get_func: 0x28F9914
76-
et_big_key_item_get_func: 0x28F9654
77-
et_compass_item_get_func: 0x28F9834
78-
et_dungeon_map_item_get_func: 0x28F9744
79-
et_small_key_item_get_func: 0x28F9594
80-
exec_curr_num_keys_text_command: 0x28FA8E0
81-
execute_switch_cases_start: 0x28FB300
82-
ff_compass_item_get_func: 0x28F980C
83-
ff_dungeon_map_item_get_func: 0x28F971C
84-
ff_warp_text_check: 0x28FAC20
44+
custom_createItem_return_check: 0x28F9F44
45+
custom_damage_multiplier: 0x28FAB54
46+
custom_ff_label: 0x28FAC3C
47+
custom_ff_label_safestring: 0x28FAC44
48+
custom_getSelectItemNo_progressive: 0x28FA814
49+
custom_isTbox_for_unloaded_stage_save_info: 0x28F9A40
50+
custom_l_objectName: 0x28FAC78
51+
custom_searchName_loop_check: 0x28FAC84
52+
custom_warp_button_name: 0x28FAC04
53+
custom_warp_button_safestring: 0x28FAC14
54+
custom_warp_pot_env_color: 0x28FAB40
55+
custom_warp_pot_prm_color: 0x28FAB3C
56+
daSwOp_Create: 0x28FAF00
57+
daSwOp_Delete: 0x28FB000
58+
daSwOp_Draw: 0x28FB008
59+
daSwOp_Execute: 0x28FB3CC
60+
daSwOp_IsDelete: 0x28FAFF8
61+
daSwOp__conditionMetCheck: 0x28FB18C
62+
daSwOp__conditionUnmetCheck: 0x28FB378
63+
daSwOp__eventEndCheck: 0x28FB010
64+
daSwOp__eventStartCheck: 0x28FB2DC
65+
daSwOp__isCondition: 0x28FB080
66+
daSwOp__timerCountdown: 0x28FB228
67+
dampa_minigame_item_id: 0x28FA170
68+
default_molgera_xz_pos: 0x28F9D64
69+
doc_bandam_blue_potion_slot_item_id: 0x28FA3A5
70+
doc_bandam_check_new_potion_and_give_free_item: 0x28FA348
71+
doc_bandam_green_potion_slot_item_id: 0x28FA3A4
72+
dragon_tingle_statue_item_get_func: 0x28F98C4
73+
drc_big_key_item_get_func: 0x28F961C
74+
drc_compass_item_get_func: 0x28F97D4
75+
drc_dungeon_map_item_get_func: 0x28F96E4
76+
drc_small_key_item_get_func: 0x28F9568
77+
earth_tingle_statue_item_get_func: 0x28F9954
78+
et_big_key_item_get_func: 0x28F9694
79+
et_compass_item_get_func: 0x28F9874
80+
et_dungeon_map_item_get_func: 0x28F9784
81+
et_small_key_item_get_func: 0x28F95D4
82+
exec_curr_num_keys_text_command: 0x28FA920
83+
execute_switch_cases_start: 0x28FB3FC
84+
ff_compass_item_get_func: 0x28F984C
85+
ff_dungeon_map_item_get_func: 0x28F975C
86+
ff_warp_text_check: 0x28FAC60
8587
first_person_camera_preference: 0x28F8D67
86-
forbidden_tingle_statue_item_get_func: 0x28F98B4
87-
force_map_reload: 0x28F9DF8
88-
fully_refill_magic_meter_on_load_save: 0x28FA814
89-
fw_big_key_item_get_func: 0x28F9604
90-
fw_compass_item_get_func: 0x28F97BC
91-
fw_dungeon_map_item_get_func: 0x28F96CC
92-
fw_small_key_item_get_func: 0x28F954C
93-
g_profile_SwitchOperator: 0x28FB374
94-
ganondorf_health_check: 0x28F9CEC
88+
forbidden_tingle_statue_item_get_func: 0x28F98F4
89+
force_map_reload: 0x28F9E38
90+
fully_refill_magic_meter_on_load_save: 0x28FA854
91+
fw_big_key_item_get_func: 0x28F9644
92+
fw_compass_item_get_func: 0x28F97FC
93+
fw_dungeon_map_item_get_func: 0x28F970C
94+
fw_small_key_item_get_func: 0x28F958C
95+
g_profile_SwitchOperator: 0x28FB470
96+
ganondorf_health_check: 0x28F9D2C
97+
generic_is_dungeon_bit: 0x28F9488
9598
generic_on_dungeon_bit: 0x28F9420
96-
generic_small_key_item_get_func: 0x28F9488
97-
get_num_owned_tingle_statues: 0x28FAA38
98-
give_pearl_and_raise_totg_if_necessary: 0x28FAD20
99-
give_temporary_sword_during_ganondorf_fight_in_swordless: 0x28FB3A4
100-
give_temporary_sword_in_orcas_house_in_swordless: 0x28FB3F8
101-
goddess_tingle_statue_item_get_func: 0x28F98E4
99+
generic_small_key_item_get_func: 0x28F94C8
100+
get_num_owned_tingle_statues: 0x28FAA78
101+
give_pearl_and_raise_totg_if_necessary: 0x28FAD60
102+
give_temporary_sword_during_ganondorf_fight_in_swordless: 0x28FB4A0
103+
give_temporary_sword_in_orcas_house_in_swordless: 0x28FB4F4
104+
goddess_tingle_statue_item_get_func: 0x28F9924
102105
gyroscope_preference: 0x28F8D68
103-
hookshot_sight_failsafe_check: 0x28F9AAC
106+
hookshot_sight_failsafe_check: 0x28F9AEC
104107
hurricane_spin_item_func: 0x28F93A4
105-
increment_custom_loop_counter: 0x28FAC74
106-
init_extra_button_location: 0x28FAB18
107-
init_extra_connections: 0x28FAB2C
108+
increment_custom_loop_counter: 0x28FACB4
109+
init_extra_button_location: 0x28FAB58
110+
init_extra_connections: 0x28FAB6C
108111
init_save_with_tweaks: 0x28F87F4
109112
init_starting_gear: 0x28F8C14
110-
initialize_actor_id: 0x28F9F20
113+
initialize_actor_id: 0x28F9F60
111114
isEventBit_wrapper: 0x28F8D6C
112-
l_daSwOp_Method: 0x28FB354
113-
last_korl_hint_message_number: 0x28F9E14
114-
lenzo_set_deluxe_picto_box_event_bit: 0x28FA134
115-
load_extra_button_part: 0x28FABDC
116-
maggie_give_item_and_set_event_bit: 0x28FA20C
117-
magtail_respawn_when_head_light_arrowed: 0x28F9C44
118-
makar_possible_wt_spawn_positions: 0x28FA52C
119-
medli_possible_et_spawn_positions: 0x28FA628
120-
miniblin_set_death_switch_when_light_arrowed: 0x28F9B44
121-
molgera_warp_radius: 0x28F9D20
122-
multiply_damage: 0x28FAB04
123-
no_big_key_label_safestring: 0x28FA9C4
124-
no_big_key_label_str: 0x28FA9AC
115+
l_daSwOp_Method: 0x28FB450
116+
last_korl_hint_message_number: 0x28F9E54
117+
lenzo_set_deluxe_picto_box_event_bit: 0x28FA174
118+
load_extra_button_part: 0x28FAC1C
119+
maggie_give_item_and_set_event_bit: 0x28FA24C
120+
magtail_respawn_when_head_light_arrowed: 0x28F9C84
121+
makar_possible_wt_spawn_positions: 0x28FA56C
122+
medli_possible_et_spawn_positions: 0x28FA668
123+
miniblin_set_death_switch_when_light_arrowed: 0x28F9B84
124+
molgera_warp_radius: 0x28F9D60
125+
multiply_damage: 0x28FAB44
126+
no_big_key_label_safestring: 0x28FAA04
127+
no_big_key_label_str: 0x28FA9EC
125128
normal_magic_meter_item_func: 0x28F9378
126129
open_drc: 0x28F8D6A
127-
orca_counter_failsafe: 0x28F9AC8
130+
orca_counter_failsafe: 0x28F9B08
128131
outset_pig_color: 0x28F8D64
129-
phantom_ganon_check_link_within_y_diff: 0x28F9C84
130-
phantom_ganon_maze_stage_name: 0x28FA0B4
131-
poe_fix_light_arrows_bug: 0x28F9B78
132+
phantom_ganon_check_link_within_y_diff: 0x28F9CC4
133+
phantom_ganon_maze_stage_name: 0x28FA0F4
134+
poe_fix_light_arrows_bug: 0x28F9BB8
132135
progressive_bomb_bag_item_func: 0x28F91F8
133136
progressive_bow_item_func: 0x28F9160
134137
progressive_magic_always_double: 0x28F8D63
@@ -139,49 +142,51 @@ progressive_sail_item_func: 0x28F92CC
139142
progressive_shield_item_func: 0x28F9114
140143
progressive_sword_item_func: 0x28F90A8
141144
progressive_wallet_item_func: 0x28F91BC
142-
rainbow_rupee_data: 0x28FA8A8
143-
read_custom_l_objectName_loop_for_dStage_getName: 0x28FAC80
144-
remove_low_health_anim_at_full_health: 0x28FADDC
145-
remove_temporary_sword_when_loading_stage_in_swordless: 0x28FB458
146-
reset_makar_position_to_start_of_dungeon: 0x28FA4A0
147-
reset_medli_position_to_start_of_dungeon: 0x28FA59C
148-
rito_cafe_postman_start_event_and_set_event_bit: 0x28FA250
149-
salvage_corp_give_item_and_set_event_bit: 0x28FA1C8
150-
set_dampa_event_bit: 0x28FA10C
151-
set_env_color_for_warp_pot_particles: 0x28FAAD4
152-
set_ff_warp_msg_index: 0x28FAC0C
153-
set_inactive_servant_when_player_leaves_room: 0x28FA698
154-
set_item_obtained_from_totg_tablet_event_bit: 0x28FA6BC
155-
set_prm_color_for_warp_pot_particles: 0x28FAAAC
156-
set_return_place_as_last_visited_ocean_sector: 0x28F9A94
157-
set_shop_item_in_bait_bag_slot_sold_out: 0x28F9E50
158-
set_starting_health: 0x28FA7F8
159-
set_up_custom_loop_counter: 0x28FAC68
145+
rainbow_rupee_data: 0x28FA8E8
146+
read_custom_l_objectName_loop_for_dStage_getName: 0x28FACC0
147+
remove_low_health_anim_at_full_health: 0x28FAE1C
148+
remove_temporary_sword_when_loading_stage_in_swordless: 0x28FB554
149+
required_bosses: 0x28FAE44
150+
reset_makar_position_to_start_of_dungeon: 0x28FA4E0
151+
reset_medli_position_to_start_of_dungeon: 0x28FA5DC
152+
rito_cafe_postman_start_event_and_set_event_bit: 0x28FA290
153+
salvage_corp_give_item_and_set_event_bit: 0x28FA208
154+
set_dampa_event_bit: 0x28FA14C
155+
set_env_color_for_warp_pot_particles: 0x28FAB14
156+
set_ff_warp_msg_index: 0x28FAC4C
157+
set_inactive_servant_when_player_leaves_room: 0x28FA6D8
158+
set_item_obtained_from_totg_tablet_event_bit: 0x28FA6FC
159+
set_prm_color_for_warp_pot_particles: 0x28FAAEC
160+
set_return_place_as_last_visited_ocean_sector: 0x28F9AD4
161+
set_shop_item_in_bait_bag_slot_sold_out: 0x28F9E90
162+
set_starting_health: 0x28FA838
163+
set_up_custom_loop_counter: 0x28FACA8
160164
should_start_with_heros_clothes: 0x28F8C5C
161165
skip_rematch_bosses: 0x28F8C5E
162-
spawn_drc_shortcut_warp: 0x28FACA8
163-
stalfos_kill_lower_body_when_upper_body_light_arrowed: 0x28F9AFC
166+
spawn_drc_shortcut_warp: 0x28FACE8
167+
staircase_to_puppet_ganon_stage_name: 0x28FAE4C
168+
stalfos_kill_lower_body_when_upper_body_light_arrowed: 0x28F9B3C
164169
starting_gear: 0x28F8C5F
165170
starting_magic: 0x28F8D62
166171
starting_quarter_hearts: 0x28F8D60
167-
stop_sub_bgm_when_unloading_stage: 0x28F9CA0
172+
stop_sub_bgm_when_unloading_stage: 0x28F9CE0
168173
swordless: 0x28F8C5D
169-
tag_photo_check_lenzo_flag_order: 0x28FA6D8
174+
tag_photo_check_lenzo_flag_order: 0x28FA718
170175
target_type_preference: 0x28F8D65
171-
totg_big_key_item_get_func: 0x28F962C
172-
totg_compass_item_get_func: 0x28F97E4
173-
totg_dungeon_map_item_get_func: 0x28F96F4
174-
totg_small_key_item_get_func: 0x28F9570
176+
totg_big_key_item_get_func: 0x28F966C
177+
totg_compass_item_get_func: 0x28F9824
178+
totg_dungeon_map_item_get_func: 0x28F9734
179+
totg_small_key_item_get_func: 0x28F95B0
175180
ui_display_preference: 0x28F8D69
176-
use_different_korl_hyrule_text: 0x28F9E4C
177-
wind_tingle_statue_item_get_func: 0x28F9944
178-
withered_tree_item_speeds: 0x28FA028
179-
withered_tree_item_try_give_momentum: 0x28F9F5C
180-
wt_big_key_item_get_func: 0x28F967C
181-
wt_compass_item_get_func: 0x28F985C
182-
wt_dungeon_map_item_get_func: 0x28F976C
183-
wt_small_key_item_get_func: 0x28F95B8
184-
zero_out_arrow_on_hit_callback: 0x28F9CAC
185-
zunari_give_item_and_set_magic_armor_event_bit: 0x28FA168
186-
zunari_magic_armor_slot_item_id: 0x28FA1C4
181+
use_different_korl_hyrule_text: 0x28F9E8C
182+
wind_tingle_statue_item_get_func: 0x28F9984
183+
withered_tree_item_speeds: 0x28FA068
184+
withered_tree_item_try_give_momentum: 0x28F9F9C
185+
wt_big_key_item_get_func: 0x28F96BC
186+
wt_compass_item_get_func: 0x28F989C
187+
wt_dungeon_map_item_get_func: 0x28F97AC
188+
wt_small_key_item_get_func: 0x28F95F8
189+
zero_out_arrow_on_hit_callback: 0x28F9CEC
190+
zunari_give_item_and_set_magic_armor_event_bit: 0x28FA1A8
191+
zunari_magic_armor_slot_item_id: 0x28FA204
187192

asm/linker.ld

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ onSwitch = 0x025b9e38;
4848
offSwitch = 0x025b9f7c;
4949
dSv_membit_c_isSwitch = 0x025b8dc8; /* dSv_memBit_c::isSwitch */
5050
onDungeonItem = 0x025b9098;
51+
isDungeonItem = 0x025b9100;
5152
onSymbol = 0x025b7cc0;
5253
isCollect = 0x025b7a2c;
5354
onCollect = 0x025b7944;

0 commit comments

Comments
 (0)