diff options
author | GriffinR <griffin.g.richards@gmail.com> | 2020-01-08 04:26:26 -0500 |
---|---|---|
committer | huderlem <huderlem@gmail.com> | 2020-01-12 19:39:30 -0600 |
commit | 6a470ddfdaf4480190792823464fcc05df8704f7 (patch) | |
tree | b30177963bd4544a581768a6aef9adfe98d0637c | |
parent | 0284014e0e53449f030cc6429e81de080a10bebf (diff) |
Some script clean up, document secret base secrets show
36 files changed, 919 insertions, 1286 deletions
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc deleted file mode 100644 index 6d7bb156f..000000000 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc +++ /dev/null @@ -1,507 +0,0 @@ -BattleFrontier_BattleTowerBattleRoom2_MapScripts:: @ 8248EE8 - map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerBattleRoom2_MapScript1_248EF8 - map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F33 - map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F43 - .byte 0 - -BattleFrontier_BattleTowerBattleRoom2_MapScript1_248EF8: @ 8248EF8 - compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS - call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F - compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS - call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F:: @ 8248F0F - setvar VAR_0x8004, BATTLE_TOWER_FUNC_14 - special CallBattleTowerFunc - checkplayergender - compare VAR_RESULT, FEMALE - goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29 - setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_BRENDAN_NORMAL - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29:: @ 8248F29 - setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_MAY_NORMAL - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F:: @ 8248F2F - special SetBattleTowerLinkPlayerGfx - return - -BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F33: @ 8248F33 - map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F3D - .2byte 0 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_248F3D:: @ 8248F3D - hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2 - end - -BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F43: @ 8248F43 - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D - .2byte 0 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D:: @ 8248F4D - setvar VAR_TEMP_0, 1 - applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249518 - applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_24951E - waitmovement 0 - frontier_get FRONTIER_DATA_BATTLE_NUM - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4 - applymovement 2, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E - applymovement 3, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E - waitmovement 0 - applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249524 - applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249524 - waitmovement 0 - frontier_set FRONTIER_DATA_6, 1 - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4:: @ 8248FB4 - tower_setopponent - addobject 1 - addobject 4 - applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249528 - applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_24952E - waitmovement 0 - compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS - goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249026 - tower_getopponentintro 0 - delay 15 - applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249545 - waitmovement 0 - msgbox gStringVar4, MSGBOX_DEFAULT - waitmessage - tower_getopponentintro 1 - applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_249545 - waitmovement 0 - msgbox gStringVar4, MSGBOX_DEFAULT - waitmessage - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249069 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249026:: @ 8249026 - tower_getopponentintro 0 - delay 15 - applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249545 - waitmovement 0 - messageautoscroll gStringVar4 - waitmessage - delay 48 - tower_getopponentintro 1 - applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_249545 - waitmovement 0 - messageautoscroll gStringVar4 - waitmessage - delay 48 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249069:: @ 8249069 - call BattleFrontier_BattleTowerBattleRoom2_EventScript_24210E - switch VAR_RESULT - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA - -BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E:: @ 824907E - frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST - tower_set TOWER_DATA_LVL_MODE - setvar VAR_0x8004, 3 - special Script_TryGainNewFanFromCounter - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA:: @ 82490AA - call BattleFrontier_EventScript_IncrementWinStreak - tower_setbattlewon - switch VAR_RESULT - case 7, BattleFrontier_BattleTowerBattleRoom2_EventScript_2492AF - applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_249534 - applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249539 - waitmovement 0 - removeobject 1 - removeobject 4 - applymovement 2, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E - applymovement 3, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E - waitmovement 0 - applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249524 - applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249524 - waitmovement 0 - compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS - goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249118 - msgbox BattleFrontier_BattleTowerBattleRoom2_Text_242217, MSGBOX_DEFAULT - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249121 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249118:: @ 8249118 - messageautoscroll BattleFrontier_BattleTowerBattleRoom2_Text_242217 - waitmessage - delay 48 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249121:: @ 8249121 - special LoadPlayerParty - frontier_setpartyorder FRONTIER_MULTI_PARTY_SIZE - compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS - call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249514 - playfanfare MUS_ME_ASA - waitfanfare - special HealPlayerParty - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249143:: @ 8249143 - frontier_get FRONTIER_DATA_BATTLE_NUM - call BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD - compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS - goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249283 - call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8E0 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_2491B1 - multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 1 - switch VAR_RESULT - case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249283 - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2491E7 - case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_249223 - case 3, BattleFrontier_BattleTowerBattleRoom2_EventScript_249251 - case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2491B1:: @ 82491B1 - multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1 - switch VAR_RESULT - case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249283 - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249223 - case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_249251 - case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2491E7:: @ 82491E7 - message BattleFrontier_BattleTowerBattleRoom2_Text_2423A3 - waitmessage - multichoicedefault 20, 8, MULTI_YESNO, 1, 0 - switch VAR_RESULT - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249219 - case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249219:: @ 8249219 - call BattleFrontier_EventScript_SaveBattle - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249223:: @ 8249223 - msgbox BattleFrontier_BattleTowerBattleRoom2_Text_2423FC, MSGBOX_YESNO - switch VAR_RESULT - case NO, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - case YES, BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB - case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249251:: @ 8249251 - message BattleFrontier_BattleTowerBattleRoom2_Text_24244C - waitmessage - multichoicedefault 20, 8, MULTI_YESNO, 1, 0 - switch VAR_RESULT - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E - case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249283:: @ 8249283 - closemessage - clearflag FLAG_TEMP_2 - applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249526 - applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249526 - waitmovement 0 - applymovement 2, BattleFrontier_BattleTowerBattleRoom2_Movement_249541 - applymovement 3, BattleFrontier_BattleTowerBattleRoom2_Movement_249541 - waitmovement 0 - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2492AF:: @ 82492AF - frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON - tower_set TOWER_DATA_LVL_MODE - setvar VAR_0x8004, 3 - special Script_TryGainNewFanFromCounter - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB:: @ 82492DB - message BattleFrontier_BattleTowerBattleRoom2_Text_242426 - waitmessage - tower_save CHALLENGE_STATUS_PAUSED - playse SE_SAVE - waitse - fadescreen FADE_TO_BLACK - frontier_reset - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD:: @ 82492FD - compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS - goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E - copyvar VAR_TEMP_F, VAR_RESULT - switch VAR_TEMP_F - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249354 - case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_24935B - case 3, BattleFrontier_BattleTowerBattleRoom2_EventScript_249362 - case 4, BattleFrontier_BattleTowerBattleRoom2_EventScript_249369 - case 5, BattleFrontier_BattleTowerBattleRoom2_EventScript_249370 - case 6, BattleFrontier_BattleTowerBattleRoom2_EventScript_249377 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249354:: @ 8249354 - message BattleFrontier_BattleTowerBattleRoom2_Text_249547 - waitmessage - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_24935B:: @ 824935B - message BattleFrontier_BattleTowerBattleRoom2_Text_249578 - waitmessage - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249362:: @ 8249362 - message BattleFrontier_BattleTowerBattleRoom2_Text_2495A9 - waitmessage - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249369:: @ 8249369 - message BattleFrontier_BattleTowerBattleRoom2_Text_2495DA - waitmessage - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249370:: @ 8249370 - message BattleFrontier_BattleTowerBattleRoom2_Text_24960B - waitmessage - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249377:: @ 8249377 - message BattleFrontier_BattleTowerBattleRoom2_Text_24963C - waitmessage - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E:: @ 824937E - copyvar VAR_TEMP_F, VAR_RESULT - switch VAR_TEMP_F - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493CA - case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493D6 - case 3, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493E2 - case 4, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493EE - case 5, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493FA - case 6, BattleFrontier_BattleTowerBattleRoom2_EventScript_249406 - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2493CA:: @ 82493CA - message BattleFrontier_BattleTowerBattleRoom2_Text_249547 - waitmessage - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2493D6:: @ 82493D6 - message BattleFrontier_BattleTowerBattleRoom2_Text_249578 - waitmessage - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2493E2:: @ 82493E2 - message BattleFrontier_BattleTowerBattleRoom2_Text_2495A9 - waitmessage - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2493EE:: @ 82493EE - message BattleFrontier_BattleTowerBattleRoom2_Text_2495DA - waitmessage - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2493FA:: @ 82493FA - message BattleFrontier_BattleTowerBattleRoom2_Text_24960B - waitmessage - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249406:: @ 8249406 - message BattleFrontier_BattleTowerBattleRoom2_Text_24963C - waitmessage - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249412:: @ 8249412 - waitmessage - delay 48 - return - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249417:: @ 8249417 - goto_if_set FLAG_TEMP_2, BattleFrontier_BattleTowerBattleRoom2_EventScript_249457 - multichoice 19, 6, MULTI_GO_ON_RECORD_RETIRE, 1 - switch VAR_RESULT - case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249483 - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494A8 - case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD - case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249457:: @ 8249457 - multichoice 20, 8, MULTI_GO_ON_RETIRE, 1 - switch VAR_RESULT - case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249483 - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD - case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249483:: @ 8249483 - setvar VAR_0x8004, 0 - setvar VAR_0x8005, 0 - message gText_LinkStandby3 - waitmessage - special sub_813B568 - waitstate - compare VAR_RESULT, 0 - goto_if_ne BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249412 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2494A8:: @ 82494A8 - message BattleFrontier_BattleTowerBattleRoom2_Text_2423A3 - waitmessage - multichoicedefault 20, 8, MULTI_YESNO, 1, 0 - switch VAR_RESULT - case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - call BattleFrontier_EventScript_SaveBattle - setflag FLAG_TEMP_2 - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD:: @ 82494DD - message BattleFrontier_BattleTowerBattleRoom2_Text_24244C - waitmessage - multichoicedefault 20, 8, MULTI_YESNO, 1, 0 - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_2494FA - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_2494FA:: @ 82494FA - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 0 - message gText_LinkStandby3 - waitmessage - special sub_813B568 - waitstate - goto BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E - end - -BattleFrontier_BattleTowerBattleRoom2_EventScript_249514:: @ 8249514 - special sub_813B534 - return - -BattleFrontier_BattleTowerBattleRoom2_Movement_249518: @ 8249518 - walk_up - walk_up - walk_up - walk_up - face_right - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_24951E: @ 824951E - walk_left - walk_up - walk_up - walk_up - face_right - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_249524: @ 8249524 - face_left - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_249526: @ 8249526 - walk_in_place_fastest_right - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_249528: @ 8249528 - walk_down - walk_down - walk_down - walk_down - face_left - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_24952E: @ 824952E - walk_right - walk_down - walk_down - walk_down - face_left - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_249534: @ 8249534 - walk_up - walk_up - walk_up - set_invisible - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_249539: @ 8249539 - walk_up - walk_up - walk_up - walk_up - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_24953E: @ 824953E - walk_right - walk_right - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_249541: @ 8249541 - walk_left - walk_left - walk_in_place_fastest_right - step_end - -BattleFrontier_BattleTowerBattleRoom2_Movement_249545: @ 8249545 - walk_in_place_left - step_end - -BattleFrontier_BattleTowerBattleRoom2_Text_249547: @ 8249547 - .string "The 2nd set of opponents is next.\n" - .string "Are you ready?$" - -BattleFrontier_BattleTowerBattleRoom2_Text_249578: @ 8249578 - .string "The 3rd set of opponents is next.\n" - .string "Are you ready?$" - -BattleFrontier_BattleTowerBattleRoom2_Text_2495A9: @ 82495A9 - .string "The 4th set of opponents is next.\n" - .string "Are you ready?$" - -BattleFrontier_BattleTowerBattleRoom2_Text_2495DA: @ 82495DA - .string "The 5th set of opponents is next.\n" - .string "Are you ready?$" - -BattleFrontier_BattleTowerBattleRoom2_Text_24960B: @ 824960B - .string "The 6th set of opponents is next.\n" - .string "Are you ready?$" - -BattleFrontier_BattleTowerBattleRoom2_Text_24963C: @ 824963C - .string "The 7th set of opponents is next.\n" - .string "Are you ready?$" - -BattleFrontier_BattleTowerBattleRoom2_Text_24966D: @ 824966D - .string "The 2nd set of opponents is next.\n" - .string "Do your best!$" - -BattleFrontier_BattleTowerBattleRoom2_Text_24969D: @ 824969D - .string "The 3rd set of opponents is next.\n" - .string "Do your best!$" - -BattleFrontier_BattleTowerBattleRoom2_Text_2496CD: @ 82496CD - .string "The 4th set of opponents is next.\n" - .string "Do your best!$" - -BattleFrontier_BattleTowerBattleRoom2_Text_2496FD: @ 82496FD - .string "The 5th set of opponents is next.\n" - .string "Do your best!$" - -BattleFrontier_BattleTowerBattleRoom2_Text_24972D: @ 824972D - .string "The 6th set of opponents is next.\n" - .string "Do your best!$" - -BattleFrontier_BattleTowerBattleRoom2_Text_24975D: @ 824975D - .string "The 7th set of opponents is next.\n" - .string "Do your best!$" - -gText_LinkStandby3:: @ 824978D - .string "Link standby…$" - -gText_YourPartnerHasRetired:: @ 824979B - .string "Your partner has retired.\p" - .string "Your BATTLE ROOM challenge\n" - .string "will be canceled.$" diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc index b3fd57a0a..297f05fb0 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc @@ -6,7 +6,7 @@ BattleFrontier_BattleTowerLobby_MapScripts:: @ 823E67B .byte 0 BattleFrontier_BattleTowerLobby_OnResume: @ 823E690 - special sub_81653CC + special TryHideBattleTowerReporter end BattleFrontier_BattleTowerLobby_OnTransition: @ 823E694 @@ -857,7 +857,7 @@ BattleFrontier_BattleTowerLobby_EventScript_CableLinkSuccessful:: @ 823F3AF waitstate playse SE_SAVE waitse - special sub_80B3BC4 + special TrySetBattleTowerLinkType goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator end diff --git a/data/maps/LilycoveCity_Harbor/scripts.inc b/data/maps/LilycoveCity_Harbor/scripts.inc index cf273bcb8..1c2bf07ea 100644 --- a/data/maps/LilycoveCity_Harbor/scripts.inc +++ b/data/maps/LilycoveCity_Harbor/scripts.inc @@ -457,8 +457,7 @@ LilycoveCity_Harbor_Movement_PlayerBoardFerryNorth: @ 821E633 walk_up step_end -@ Unused -LilycoveCity_Harbor_Movement_21E635: @ 821E635 +LilycoveCity_Harbor_Movement_UnusedBoardFerry: @ 821E635 walk_up step_end diff --git a/data/maps/MtChimney/scripts.inc b/data/maps/MtChimney/scripts.inc index 76559a856..158e13678 100644 --- a/data/maps/MtChimney/scripts.inc +++ b/data/maps/MtChimney/scripts.inc @@ -184,8 +184,7 @@ MtChimney_Movement_ArchieExitNorth: @ 822EF9C walk_down step_end -@ Unused -MtChimney_Movement_22EFA6: @ 822EFA6 +MtChimney_Movement_Unused1: @ 822EFA6 walk_down walk_down walk_down @@ -205,8 +204,7 @@ MtChimney_Movement_22EFA6: @ 822EFA6 walk_down step_end -@ Unused -MtChimney_Movement_22EFB8: @ 822EFB8 +MtChimney_Movement_Unused2: @ 822EFB8 walk_down walk_down walk_down @@ -217,8 +215,7 @@ MtChimney_Movement_22EFB8: @ 822EFB8 walk_down step_end -@ Unused -MtChimney_Movement_22EFC1: @ 822EFC1 +MtChimney_Movement_Unused3: @ 822EFC1 walk_right walk_down walk_down @@ -235,8 +232,7 @@ MtChimney_Movement_22EFC1: @ 822EFC1 walk_down step_end -@ Unused -MtChimney_Movement_22EFD0: @ 822EFD0 +MtChimney_Movement_Unused4: @ 822EFD0 walk_fast_down walk_fast_down walk_fast_down @@ -263,8 +259,7 @@ MtChimney_Movement_22EFD0: @ 822EFD0 walk_down step_end -@ Unused -MtChimney_Movement_22EFE9: @ 822EFE9 +MtChimney_Movement_Unused5: @ 822EFE9 delay_16 delay_16 delay_16 @@ -277,8 +272,7 @@ MtChimney_Movement_22EFE9: @ 822EFE9 walk_down step_end -@ Unused -MtChimney_Movement_22EFF4: @ 822EFF4 +MtChimney_Movement_Unused6: @ 822EFF4 delay_16 walk_left walk_down @@ -296,8 +290,7 @@ MtChimney_Movement_22EFF4: @ 822EFF4 walk_down step_end -@ Unused -MtChimney_Movement_22F004: @ 822F004 +MtChimney_Movement_Unused7: @ 822F004 delay_16 walk_left walk_left @@ -316,8 +309,7 @@ MtChimney_Movement_22F004: @ 822F004 walk_down step_end -@ Unused -MtChimney_Movement_22F015: @ 822F015 +MtChimney_Movement_Unused8: @ 822F015 delay_16 walk_down walk_left @@ -327,8 +319,7 @@ MtChimney_Movement_22F015: @ 822F015 walk_in_place_fastest_down step_end -@ Unused -MtChimney_Movement_22F01D: @ 822F01D +MtChimney_Movement_Unused9: @ 822F01D walk_down walk_down walk_down @@ -344,13 +335,11 @@ MtChimney_Movement_22F01D: @ 822F01D walk_down step_end -@ Unused -MtChimney_Movement_22F02B: @ 822F02B +MtChimney_Movement_Unused10: @ 822F02B walk_down step_end -@ Unused -MtChimney_Movement_22F02D: @ 822F02D +MtChimney_Movement_Unused11: @ 822F02D walk_down walk_down walk_down @@ -360,8 +349,7 @@ MtChimney_Movement_22F02D: @ 822F02D walk_down step_end -@ Unused -MtChimney_Movement_22F035: @ 822F035 +MtChimney_Movement_Unused12: @ 822F035 delay_16 delay_16 walk_in_place_fastest_left @@ -373,8 +361,7 @@ MtChimney_Movement_22F035: @ 822F035 walk_down step_end -@ Unused -MtChimney_Movement_22F03F: @ 822F03F +MtChimney_Movement_Unused13: @ 822F03F delay_16 delay_16 delay_16 @@ -387,16 +374,14 @@ MtChimney_Movement_22F03F: @ 822F03F walk_down step_end -@ Unused -MtChimney_Movement_22F04A: @ 822F04A +MtChimney_Movement_Unused14: @ 822F04A lock_facing_direction walk_fast_left unlock_facing_direction face_right step_end -@ Unused -MtChimney_Movement_22F04F: @ 822F04F +MtChimney_Movement_Unused15: @ 822F04F walk_left walk_in_place_fastest_right delay_16 diff --git a/data/maps/PetalburgCity/scripts.inc b/data/maps/PetalburgCity/scripts.inc index 5d3bbf1ef..80badcfd2 100644 --- a/data/maps/PetalburgCity/scripts.inc +++ b/data/maps/PetalburgCity/scripts.inc @@ -351,7 +351,8 @@ PetalburgCity_EventScript_LeadPlayerToGym3:: @ 81DC5FF waitmovement 0 return -PetalburgCity_Movement_1DC611:: @ 81DC611 +@ Unused +PetalburgCity_Movement_Delay48:: @ 81DC611 delay_16 delay_16 delay_16 diff --git a/data/maps/PetalburgCity_Gym/scripts.inc b/data/maps/PetalburgCity_Gym/scripts.inc index d9f299db2..02685ef47 100644 --- a/data/maps/PetalburgCity_Gym/scripts.inc +++ b/data/maps/PetalburgCity_Gym/scripts.inc @@ -673,8 +673,7 @@ PetalburgCity_Gym_Movement_WallysUncleApproachPlayerWest: @ 82050D0 walk_up step_end -@ Unused -PetalburgCity_Gym_Movement_2050D8: @ 82050D8 +PetalburgCity_Gym_Movement_Unused: @ 82050D8 walk_in_place_fastest_up delay_16 delay_16 diff --git a/data/maps/Route128/scripts.inc b/data/maps/Route128/scripts.inc index 2ea7a5d06..90abbddd5 100644 --- a/data/maps/Route128/scripts.inc +++ b/data/maps/Route128/scripts.inc @@ -78,13 +78,11 @@ Route128_EventScript_KyogreAwakenedScene:: @ 81F6B57 releaseall end -@ Unused -Route128_Movement_1F6C76: @ 81F6C76 +Route128_Movement_Unused1: @ 81F6C76 walk_fast_left step_end -@ Unused -Route128_Movement_1F6C78: @ 81F6C78 +Route128_Movement_Unused2: @ 81F6C78 walk_left walk_left walk_left diff --git a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc index 143ff4543..034f6fbd4 100644 --- a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc @@ -72,8 +72,7 @@ RustboroCity_DevonCorp_3F_EventScript_MeetPresident:: @ 821246E releaseall end -@ Unused -RustboroCity_DevonCorp_3F_Movement_21252F: @ 821252F +RustboroCity_DevonCorp_3F_Movement_Unused: @ 821252F walk_up walk_up walk_up diff --git a/data/maps/RusturfTunnel/scripts.inc b/data/maps/RusturfTunnel/scripts.inc index 9219ba3e4..aa99d8740 100644 --- a/data/maps/RusturfTunnel/scripts.inc +++ b/data/maps/RusturfTunnel/scripts.inc @@ -184,22 +184,19 @@ RusturfTunnel_Movement_PlayerWatchWandaExit: @ 822D02F walk_in_place_fastest_right step_end -@ Unused -RusturfTunnel_Movement_22D035: @ 822D035 +RusturfTunnel_Movement_Unused1: @ 822D035 walk_left walk_in_place_fastest_right step_end -@ Unused -RusturfTunnel_Movement_22D038: @ 822D038 +RusturfTunnel_Movement_Unused2: @ 822D038 walk_down walk_in_place_fastest_up delay_8 walk_in_place_fastest_right step_end -@ Unused -RusturfTunnel_Movement_22D03D: @ 822D03D +RusturfTunnel_Movement_Unused3: @ 822D03D walk_up walk_in_place_fastest_down delay_8 diff --git a/data/maps/SeafloorCavern_Room9/scripts.inc b/data/maps/SeafloorCavern_Room9/scripts.inc index 43c503682..46d1a1f36 100644 --- a/data/maps/SeafloorCavern_Room9/scripts.inc +++ b/data/maps/SeafloorCavern_Room9/scripts.inc @@ -153,8 +153,7 @@ SeafloorCavern_Room9_Movement_ArchieApproachPlayer: @ 823502A walk_right step_end -@ Unused -SeafloorCavern_Room9_Movement_235032: @ 8235032 +SeafloorCavern_Room9_Movement_Unused1: @ 8235032 walk_left walk_left step_end @@ -164,8 +163,7 @@ SeafloorCavern_Room9_Movement_ArchieListenMessage: @ 8235035 delay_16 step_end -@ Unused -SeafloorCavern_Room9_Movement_235038: @ 8235038 +SeafloorCavern_Room9_Movement_Unused2: @ 8235038 walk_right step_end diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc index 9f951e83d..025618b61 100644 --- a/data/maps/SlateportCity/scripts.inc +++ b/data/maps/SlateportCity/scripts.inc @@ -668,8 +668,7 @@ SlateportCity_Movement_TyExit: @ 81DD326 walk_left step_end -@ Unused -SlateportCity_Movement_1DD334: @ 81DD334 +SlateportCity_Movement_Unused: @ 81DD334 walk_down walk_in_place_fastest_up step_end diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc index 38fb70e7d..7593b7824 100644 --- a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc +++ b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc @@ -129,8 +129,7 @@ SlateportCity_OceanicMuseum_2F_Movement_PlayerApproachGruntWest: @ 820BCC2 walk_in_place_fastest_left step_end -@ Unused -SlateportCity_OceanicMuseum_2F_Movement_20BCC8: @ 820BCC8 +SlateportCity_OceanicMuseum_2F_Movement_Unused: @ 820BCC8 walk_up walk_left walk_left diff --git a/data/scripts/secret_base.inc b/data/scripts/secret_base.inc index 0f2ad02b1..aa5f63b9e 100644 --- a/data/scripts/secret_base.inc +++ b/data/scripts/secret_base.inc @@ -364,7 +364,7 @@ SecretBase_EventScript_Trainer0PreChampion:: @ 8275E25 end SecretBase_EventScript_Trainer0DeclineBattle:: @ 8275E2F - special sub_80EB300 + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 special SetBattledOwnerFromResult msgbox SecretBase_Text_Trainer0DeclineBattle, MSGBOX_DEFAULT @@ -401,7 +401,7 @@ SecretBase_EventScript_Trainer1PreChampion:: @ 8275E9D end SecretBase_EventScript_Trainer1DeclineBattle:: @ 8275EA7 - special sub_80EB300 + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 special SetBattledOwnerFromResult msgbox SecretBase_Text_Trainer1DeclineBattle, MSGBOX_DEFAULT @@ -438,7 +438,7 @@ SecretBase_EventScript_Trainer2PreChampion:: @ 8275F15 end SecretBase_EventScript_Trainer2DeclineBattle:: @ 8275F1F - special sub_80EB300 + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 special SetBattledOwnerFromResult msgbox SecretBase_Text_Trainer2DeclineBattle, MSGBOX_DEFAULT @@ -475,7 +475,7 @@ SecretBase_EventScript_Trainer3PreChampion:: @ 8275F8D end SecretBase_EventScript_Trainer3DeclineBattle:: @ 8275F97 - special sub_80EB300 + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 special SetBattledOwnerFromResult msgbox SecretBase_Text_Trainer3DeclineBattle, MSGBOX_DEFAULT @@ -512,7 +512,7 @@ SecretBase_EventScript_Trainer4PreChampion:: @ 8276005 end SecretBase_EventScript_Trainer4DeclineBattle:: @ 827600F - special sub_80EB300 + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 special SetBattledOwnerFromResult msgbox SecretBase_Text_Trainer4DeclineBattle, MSGBOX_DEFAULT @@ -549,7 +549,7 @@ SecretBase_EventScript_Trainer5PreChampion:: @ 827607D end SecretBase_EventScript_Trainer5DeclineBattle:: @ 8276087 - special sub_80EB300 + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 special SetBattledOwnerFromResult msgbox SecretBase_Text_Trainer5DeclineBattle, MSGBOX_DEFAULT @@ -586,7 +586,7 @@ SecretBase_EventScript_Trainer6PreChampion:: @ 82760F5 end SecretBase_EventScript_Trainer6DeclineBattle:: @ 82760FF - special sub_80EB300 + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 special SetBattledOwnerFromResult msgbox SecretBase_Text_Trainer6DeclineBattle, MSGBOX_DEFAULT @@ -623,7 +623,7 @@ SecretBase_EventScript_Trainer7PreChampion:: @ 827616D end SecretBase_EventScript_Trainer7DeclineBattle:: @ 8276177 - special sub_80EB300 + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 special SetBattledOwnerFromResult msgbox SecretBase_Text_Trainer7DeclineBattle, MSGBOX_DEFAULT @@ -660,7 +660,7 @@ SecretBase_EventScript_Trainer8PreChampion:: @ 82761E5 end SecretBase_EventScript_Trainer8DeclineBattle:: @ 82761EF - special sub_80EB300 + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 special SetBattledOwnerFromResult msgbox SecretBase_Text_Trainer8DeclineBattle, MSGBOX_DEFAULT @@ -697,7 +697,7 @@ SecretBase_EventScript_Trainer9PreChampion:: @ 827625D end SecretBase_EventScript_Trainer9DeclineBattle:: @ 8276267 - special sub_80EB300 + special DeclinedSecretBaseBattle setvar VAR_RESULT, 0 special SetBattledOwnerFromResult msgbox SecretBase_Text_Trainer9DeclineBattle, MSGBOX_DEFAULT @@ -716,35 +716,35 @@ SecretBase_EventScript_BattleTrainer:: @ 8276286 special DoSpecialTrainerBattle waitstate compare VAR_RESULT, B_OUTCOME_DREW - call_if_eq SecretBase_EventScript_2762BD + call_if_eq SecretBase_EventScript_DrewSecretBaseBattle compare VAR_RESULT, B_OUTCOME_WON - call_if_eq SecretBase_EventScript_2762C1 + call_if_eq SecretBase_EventScript_WonSecretBaseBattle compare VAR_RESULT, B_OUTCOME_LOST - call_if_eq SecretBase_EventScript_2762C5 + call_if_eq SecretBase_EventScript_LostSecretBaseBattle special HealPlayerParty release end -SecretBase_EventScript_2762BD:: @ 82762BD - special sub_80EB438 +SecretBase_EventScript_DrewSecretBaseBattle:: @ 82762BD + special DrewSecretBaseBattle return -SecretBase_EventScript_2762C1:: @ 82762C1 - special sub_80EB368 +SecretBase_EventScript_WonSecretBaseBattle:: @ 82762C1 + special WonSecretBaseBattle return -SecretBase_EventScript_2762C5:: @ 82762C5 - special sub_80EB3D0 +SecretBase_EventScript_LostSecretBaseBattle:: @ 82762C5 + special LostSecretBaseBattle return .include "data/scripts/secret_power_tm.inc" SecretBase_EventScript_DollInteract:: @ 82766A2 - special sub_80EB290 + special CheckInteractedWithFriendsDollDecor end SecretBase_EventScript_CushionInteract:: @ 82766A6 - special sub_80EB2C8 + special CheckInteractedWithFriendsCushionDecor end SecretBase_Text_AllDecorationsWillBeReturned: @ 82766AA diff --git a/data/scripts/shared_secret_base.inc b/data/scripts/shared_secret_base.inc index de5dcc703..0fa61a214 100644 --- a/data/scripts/shared_secret_base.inc +++ b/data/scripts/shared_secret_base.inc @@ -157,33 +157,33 @@ SecretBase_EventScript_PCTurnOff:: @ 823B66E end @ Unused -SecretBase_EventScript_23B674:: @ 823B674 - special SetSecretBaseSecretsTvFlags_Poster +SecretBase_EventScript_Poster:: @ 823B674 + special CheckInteractedWithFriendsPosterDecor end @ Unused -SecretBase_EventScript_23B678:: @ 823B678 - special SetSecretBaseSecretsTvFlags_MiscFurnature +SecretBase_EventScript_FurnitureBottom:: @ 823B678 + special CheckInteractedWithFriendsFurnitureBottom end @ Unused -SecretBase_EventScript_23B67C:: @ 823B67C - special SetSecretBaseSecretsTvFlags_LargeDecorationSpot +SecretBase_EventScript_FurnitureMiddle:: @ 823B67C + special CheckInteractedWithFriendsFurnitureMiddle end @ Unused -SecretBase_EventScript_23B680:: @ 823B680 - special SetSecretBaseSecretsTvFlags_SmallDecorationSpot +SecretBase_EventScript_FurnitureTop:: @ 823B680 + special CheckInteractedWithFriendsFurnitureTop end SecretBase_EventScript_SandOrnament:: @ 823B684 - special SetSecretBaseSecretsTvFlags_SandOrnament + special CheckInteractedWithFriendsSandOrnament dofieldeffect FLDEFF_SAND_PILLAR waitstate end SecretBase_EventScript_ShieldOrToyTV:: @ 823B68C - special GetShieldToyTVDecorationInfo + special InteractWithShieldOrTVDecoration compare VAR_RESULT, 0 goto_if_eq SecretBase_EventScript_BattleTowerShield compare VAR_RESULT, 1 diff --git a/data/specials.inc b/data/specials.inc index 17f459a1f..95a0ac5d3 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -28,7 +28,7 @@ gSpecials:: @ 81DBA64 def_special GetSecretBaseOwnerAndState def_special InitSecretBaseDecorationSprites def_special SetDecoration - def_special sub_81297AC + def_special GetEventObjectLocalIdByFlag def_special GetSecretBaseTypeInFrontOfPlayer def_special SetSecretBaseOwnerGfxId def_special sub_8129708 @@ -44,7 +44,7 @@ gSpecials:: @ 81DBA64 def_special ColosseumPlayerSpotTriggered def_special PlayerEnteredTradeSeat def_special nullsub_37 - def_special sub_80B3254 + def_special CableClubSaveGame def_special TryBerryBlenderLinkup def_special GetLinkPartnerNames def_special SpawnLinkPartnerEventObject @@ -147,7 +147,7 @@ gSpecials:: @ 81DBA64 def_special CountPartyAliveNonEggMons_IgnoreVar0x8004Slot def_special ShouldReadyContestArtist def_special SaveMuseumContestPainting - def_special sub_80F8864 + def_special DoesContestCategoryHaveWinner def_special CountPlayerContestPaintings def_special ShowContestWinner def_special MauvilleGymSetDefaultBarriers @@ -317,7 +317,7 @@ gSpecials:: @ 81DBA64 def_special ScriptCheckFreePokemonStorageSpace def_special DoSealedChamberShakingEffect1 def_special ShowDeptStoreElevatorFloorSelect - def_special GetShieldToyTVDecorationInfo + def_special InteractWithShieldOrTVDecoration def_special IsPokerusInParty def_special SetSootopolisGymCrackedIceMetatiles def_special ShakeCamera @@ -348,7 +348,7 @@ gSpecials:: @ 81DBA64 def_special HasAllHoennMons def_special MonOTNameNotPlayer def_special BufferLottoTicketNumber - def_special sub_81653CC + def_special TryHideBattleTowerReporter def_special DoesPartyHaveEnigmaBerry def_special ScriptRandom def_special SetChampionSaveWarp @@ -361,17 +361,17 @@ gSpecials:: @ 81DBA64 def_special IncrementDailyPlantedBerries def_special IncrementDailyPickedBerries def_special InitSecretBaseVars - def_special SetSecretBaseSecretsTvFlags_SandOrnament - def_special sub_80EB300 - def_special sub_80EB438 - def_special sub_80EB368 - def_special sub_80EB3D0 - def_special sub_80EB290 - def_special sub_80EB2C8 - def_special SetSecretBaseSecretsTvFlags_MiscFurnature - def_special SetSecretBaseSecretsTvFlags_LargeDecorationSpot - def_special SetSecretBaseSecretsTvFlags_SmallDecorationSpot - def_special SetSecretBaseSecretsTvFlags_Poster + def_special CheckInteractedWithFriendsSandOrnament + def_special DeclinedSecretBaseBattle + def_special DrewSecretBaseBattle + def_special WonSecretBaseBattle + def_special LostSecretBaseBattle + def_special CheckInteractedWithFriendsDollDecor + def_special CheckInteractedWithFriendsCushionDecor + def_special CheckInteractedWithFriendsFurnitureBottom + def_special CheckInteractedWithFriendsFurnitureMiddle + def_special CheckInteractedWithFriendsFurnitureTop + def_special CheckInteractedWithFriendsPosterDecor def_special SetLilycoveLadyGfx def_special Script_GetLilycoveLadyId def_special GetFavorLadyState @@ -444,7 +444,7 @@ gSpecials:: @ 81DBA64 def_special GetDeptStoreDefaultFloorChoice def_special BufferVarsForIVRater def_special LinkContestWaitForConnection - def_special sub_800B518 + def_special GetWirelessCommType def_special LinkContestTryShowWirelessIndicator def_special LinkContestTryHideWirelessIndicator def_special IsWirelessContest @@ -534,4 +534,4 @@ gSpecials:: @ 81DBA64 def_special TryPrepareSecondApproachingTrainer def_special RemoveRecordsWindow def_special CloseDeptStoreElevatorWindow - def_special sub_80B3BC4 + def_special TrySetBattleTowerLinkType diff --git a/data/text/tv.inc b/data/text/tv.inc index c6453af0c..c0d262cbf 100644 --- a/data/text/tv.inc +++ b/data/text/tv.inc @@ -2079,7 +2079,7 @@ gTVWhatsNo1InHoennTodayText08:: @ 0828858B .string "Viewers, take heart from {STR_VAR_1}!\n" .string "You, too, can be no. 1 every day!$" -gTVSecretBaseSecretsText00:: @ 08288608 +TVSecretBaseSecrets_Text_Intro:: @ 08288608 .string "SECRET BASE SECRETS!\p" .string "What do TRAINERS do in the secrecy\n" .string "of SECRET BASES?\p" @@ -2090,88 +2090,88 @@ gTVSecretBaseSecretsText00:: @ 08288608 .string "Let's have a peek!\p" .string "What will {STR_VAR_2} do?$" -gTVSecretBaseSecretsText01:: @ 082886C8 +TVSecretBaseSecrets_Text_WhatWillPlayerDoNext1:: @ 082886C8 .string "What will {STR_VAR_2} do next?$" -gTVSecretBaseSecretsText02:: @ 082886DE +TVSecretBaseSecrets_Text_WhatWillPlayerDoNext2:: @ 082886DE .string "And now, what will {STR_VAR_2} do?$" -gTVSecretBaseSecretsText03:: @ 082886F8 +TVSecretBaseSecrets_Text_TookXStepsBeforeLeaving:: @ 082886F8 .string "In the end, {STR_VAR_2} took {STR_VAR_3} steps\n" .string "in {STR_VAR_1}'s SECRET BASE before\l" .string "leaving.$" -gTVSecretBaseSecretsText04:: @ 08288739 +TVSecretBaseSecrets_Text_BaseFailedToInterestPlayer:: @ 08288739 .string "Hmm…\p" .string "It appears as if {STR_VAR_1}'s SECRET\n" .string "BASE failed to interest {STR_VAR_2}…$" -gTVSecretBaseSecretsText05:: @ 08288777 +TVSecretBaseSecrets_Text_PlayerEnjoyedBase:: @ 08288777 .string "{STR_VAR_2} appears to have enjoyed\n" .string "{STR_VAR_1}'s SECRET BASE thoroughly.$" -gTVSecretBaseSecretsText06:: @ 082887AF +TVSecretBaseSecrets_Text_PlayerHugeFanOfBase:: @ 082887AF .string "{STR_VAR_2} appears to have become\n" .string "a huge fan of {STR_VAR_1}'s\l" .string "SECRET BASE.$" -gTVSecretBaseSecretsText07:: @ 082887E9 +TVSecretBaseSecrets_Text_Outro:: @ 082887E9 .string "Viewers may want to check out\n" .string "{STR_VAR_1}'s SECRET BASE, too.\p" .string "Tune in next time as we visit another\n" .string "SECRET BASE! Thanks for joining us!$" -gTVSecretBaseSecretsText08:: @ 08288868 +TVSecretBaseSecrets_Text_StoppedMoving1:: @ 08288868 .string "The visitor has stopped!\p" .string "The visitor isn't moving at all!\p" .string "Was {STR_VAR_1}'s SECRET BASE\n" .string "that unimpressive?$" -gTVSecretBaseSecretsText09:: @ 082888CA +TVSecretBaseSecrets_Text_StoppedMoving2:: @ 082888CA .string "The visitor has stopped!\p" .string "The visitor isn't moving at all!\p" .string "Is it fatigue?\n" .string "Has the visitor grown weary?$" -gTVSecretBaseSecretsText10:: @ 08288930 +TVSecretBaseSecrets_Text_UsedChair:: @ 08288930 .string "The visitor sat down on a chair!\n" .string "The visitor is seated!\p" .string "Look at that look of delight!\p" .string "That chair must be very comfortable\n" .string "to get that response!$" -gTVSecretBaseSecretsText11:: @ 082889C0 +TVSecretBaseSecrets_Text_UsedBalloon:: @ 082889C0 .string "The visitor charged at a balloon!\p" .string "It burst!\n" .string "Oh, my goodness, it popped!\p" .string "The visitor appears startled by\n" .string "the sudden noise!$" -gTVSecretBaseSecretsText12:: @ 08288A3A +TVSecretBaseSecrets_Text_UsedTent:: @ 08288A3A .string "The visitor entered a TENT!\p" .string "The visitor is running around!\p" .string "Oh, my, the visitor is frolicking!\p" .string "The visitor appears surprised by\n" .string "the TENT's size!$" -gTVSecretBaseSecretsText13:: @ 08288ACA +TVSecretBaseSecrets_Text_UsedPlant:: @ 08288ACA .string "The visitor is examining\n" .string "a potted plant!\p" .string "The visitor has surprisingly\n" .string "mature taste!$" -gTVSecretBaseSecretsText14:: @ 08288B1E +TVSecretBaseSecrets_Text_UsedGoldShield:: @ 08288B1E .string "The visitor is examining\n" .string "a GOLD SHIELD!\p" .string "The visitor's eyes appear to be\n" .string "lit up with wonder!$" -gTVSecretBaseSecretsText15:: @ 08288B7A +TVSecretBaseSecrets_Text_UsedSilverShield:: @ 08288B7A .string "The visitor is examining\n" .string "a SILVER SHIELD!\p" .string "The visitor appears to be wide-eyed!$" -gTVSecretBaseSecretsText16:: @ 08288BC9 +TVSecretBaseSecrets_Text_UsedGlassOrnament:: @ 08288BC9 .string "The visitor is examining\n" .string "a GLASS ORNAMENT!\p" .string "Oh, no!\p" @@ -2179,15 +2179,15 @@ gTVSecretBaseSecretsText16:: @ 08288BC9 .string "It's getting covered with\n" .string "fingerprints…$" -gTVSecretBaseSecretsText17:: @ 08288C40 +TVSecretBaseSecrets_Text_UsedTV:: @ 08288C40 .string "The visitor is watching television!\p" .string "Looks like we have a big fan of TV!$" -gTVSecretBaseSecretsText18:: @ 08288C88 +TVSecretBaseSecrets_Text_UsedMudBall:: @ 08288C88 .string "The visitor stomped on a MUD BALL!\p" .string "The visitor looks delighted!$" -gTVSecretBaseSecretsText19:: @ 08288CC8 +TVSecretBaseSecrets_Text_UsedBag:: @ 08288CC8 .string "…Oh?\p" .string "The visitor is reaching for their own\n" .string "BAG and rummaging about in it!\p" @@ -2197,19 +2197,19 @@ gTVSecretBaseSecretsText19:: @ 08288CC8 .string "holding up the {STR_VAR_2}!\p" .string "It's like a TV commercial!$" -gTVSecretBaseSecretsText20:: @ 08288D7F +TVSecretBaseSecrets_Text_UsedCushion:: @ 08288D7F .string "The visitor grabs a cushion and…$" -gTVSecretBaseSecretsText21:: @ 08288DA0 +TVSecretBaseSecrets_Text_HitCushion:: @ 08288DA0 .string "…begins hitting it!\p" .string "Is the visitor under a lot of stress?$" -gTVSecretBaseSecretsText22:: @ 08288DDA +TVSecretBaseSecrets_Text_HuggedCushion:: @ 08288DDA .string "…hugs it tight!\p" .string "Could the visitor be feeling happy\n" .string "about something?$" -gTVSecretBaseSecretsText23:: @ 08288E1E +TVSecretBaseSecrets_Text_BattledWon:: @ 08288E1E .string "The visitor is chatting with\n" .string "{STR_VAR_1}!\p" .string "It looks like they're going to\n" @@ -2220,7 +2220,7 @@ gTVSecretBaseSecretsText23:: @ 08288E1E .string "The visitor is doing\n" .string "a victory dance!$" -gTVSecretBaseSecretsText24:: @ 08288EC9 +TVSecretBaseSecrets_Text_BattledLost:: @ 08288EC9 .string "The visitor is chatting with\n" .string "{STR_VAR_1}!\p" .string "It looks like they're going to\n" @@ -2230,7 +2230,7 @@ gTVSecretBaseSecretsText24:: @ 08288EC9 .string "The visitor has lost!\p" .string "The visitor looks dejected!$" -gTVSecretBaseSecretsText25:: @ 08288F58 +TVSecretBaseSecrets_Text_DeclinedBattle:: @ 08288F58 .string "The visitor is chatting with\n" .string "{STR_VAR_1}!\p" .string "It looks like they're going to\n" @@ -2241,7 +2241,7 @@ gTVSecretBaseSecretsText25:: @ 08288F58 .string "Did the visitor find {STR_VAR_1}\n" .string "unappealing?$" -gTVSecretBaseSecretsText26:: @ 08289011 +TVSecretBaseSecrets_Text_UsedPoster:: @ 08289011 .string "The visitor is staring intently\n" .string "at a poster!\p" .string "Is the poster to the visitor's\n" @@ -2249,12 +2249,12 @@ gTVSecretBaseSecretsText26:: @ 08289011 .string "…But… There's something disturbing\n" .string "about the visitor's stares.$" -gTVSecretBaseSecretsText27:: @ 082890A4 +TVSecretBaseSecrets_Text_UsedNoteMat:: @ 082890A4 .string "The visitor stepped on a NOTE MAT!\p" .string "…Hmm…\n" .string "The visitor composed a funny tune!$" -gTVSecretBaseSecretsText28:: @ 082890F0 +TVSecretBaseSecrets_Text_BattledDraw:: @ 082890F0 .string "The visitor is chatting with\n" .string "{STR_VAR_1}!\p" .string "It looks like they're going to\n" @@ -2265,14 +2265,14 @@ gTVSecretBaseSecretsText28:: @ 082890F0 .string "Both TRAINERS appear to be very\n" .string "disappointed!$" -gTVSecretBaseSecretsText29:: @ 08289193 +TVSecretBaseSecrets_Text_UsedSpinMat:: @ 08289193 .string "The visitor stepped on\n" .string "a SPIN MAT!\p" .string "It looks like the visitor is dizzy!\p" .string "The visitor is tottering about!\n" .string "Look out!$" -gTVSecretBaseSecretsText30:: @ 08289204 +TVSecretBaseSecrets_Text_UsedSandOrnament:: @ 08289204 .string "The visitor is reaching for\n" .string "a SAND ORNAMENT!\p" .string "Oh!\p" @@ -2281,7 +2281,7 @@ gTVSecretBaseSecretsText30:: @ 08289204 .string "The visitor looks sheepish\n" .string "and guilty!$" -gTVSecretBaseSecretsText31:: @ 0828927C +TVSecretBaseSecrets_Text_UsedDesk:: @ 0828927C .string "The visitor is rubbing a desktop\n" .string "with their finger!\p" .string "Apparently, the visitor disapproves\n" @@ -2289,25 +2289,25 @@ gTVSecretBaseSecretsText31:: @ 0828927C .string "The visitor is surprisingly concerned\n" .string "about neatness!$" -gTVSecretBaseSecretsText32:: @ 08289313 +TVSecretBaseSecrets_Text_UsedBrick:: @ 08289313 .string "The visitor is staring at a BRICK!\p" .string "Perhaps the visitor is thinking about\n" .string "the object on the BRICK.$" -gTVSecretBaseSecretsText33:: @ 08289375 +TVSecretBaseSecrets_Text_UsedSolidBoard:: @ 08289375 .string "The visitor is walking across\n" .string "the SOLID BOARD.\p" .string "The visitor keeps looking down.\p" .string "The visitor appears to be surprisingly\n" .string "timid and cautious!$" -gTVSecretBaseSecretsText34:: @ 082893FF +TVSecretBaseSecrets_Text_UsedFence:: @ 082893FF .string "The visitor is looking intently\n" .string "at a FENCE!\p" .string "Has a new idea for a trap popped\n" .string "into the visitor's head?$" -gTVSecretBaseSecretsText35:: @ 08289465 +TVSecretBaseSecrets_Text_UsedGlitterMat:: @ 08289465 .string "The visitor stepped on\n" .string "a GLITTER MAT!\p" .string "The visitor is striking a variety\n" @@ -2315,13 +2315,13 @@ gTVSecretBaseSecretsText35:: @ 08289465 .string "The visitor appears to be fantasizing\n" .string "about being an idol!$" -gTVSecretBaseSecretsText36:: @ 082894F2 +TVSecretBaseSecrets_Text_UsedTire:: @ 082894F2 .string "The visitor is staring intently\n" .string "at a TIRE!\p" .string "Could the visitor be thinking about\n" .string "the kind of car that would use it?$" -gTVSecretBaseSecretsText37:: @ 08289564 +TVSecretBaseSecrets_Text_UsedStand:: @ 08289564 .string "The visitor climbed a STAND!\p" .string "The visitor is looking out across\n" .string "{STR_VAR_1}'s BASE from high up!\p" @@ -2329,16 +2329,16 @@ gTVSecretBaseSecretsText37:: @ 08289564 .string "Lets loose a roar!\n" .string "The visitor is roaring!$" -gTVSecretBaseSecretsText38:: @ 082895EB +TVSecretBaseSecrets_Text_BrokeDoor:: @ 082895EB .string "The visitor charged headlong into\n" .string "a BREAKABLE DOOR!\p" .string "The visitor is laughing uproariously!$" -gTVSecretBaseSecretsText39:: @ 08289645 +TVSecretBaseSecrets_Text_UsedDoll:: @ 08289645 .string "The visitor is talking to a DOLL!\p" .string "…It's a little creepy…$" -gTVSecretBaseSecretsText40:: @ 0828967E +TVSecretBaseSecrets_Text_UsedSlide:: @ 0828967E .string "The visitor is climbing the ladder\n" .string "on a SLIDE!\p" .string "And…\p" @@ -2346,7 +2346,7 @@ gTVSecretBaseSecretsText40:: @ 0828967E .string "Looks like the visitor is having\n" .string "a grand old time!$" -gTVSecretBaseSecretsText41:: @ 082896FC +TVSecretBaseSecrets_Text_UsedSlideButDidntGoDown:: @ 082896FC .string "The visitor is climbing the ladder\n" .string "on a SLIDE!\p" .string "And…\p" @@ -2354,7 +2354,7 @@ gTVSecretBaseSecretsText41:: @ 082896FC .string "the ladder!\p" .string "Did the visitor suddenly chicken out?$" -gTVSecretBaseSecretsText42:: @ 0828977D +TVSecretBaseSecrets_Text_UsedJumpMat:: @ 0828977D .string "The visitor stepped on\n" .string "a JUMP MAT!\p" .string "The visitor jumped once!\p" diff --git a/include/battle_tower.h b/include/battle_tower.h index 2366cac12..2e85c8018 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -71,7 +71,7 @@ void GetEreaderTrainerName(u8 *dst); void ValidateEReaderTrainer(void); void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *ereaderTrainer); void CopyEReaderTrainerGreeting(void); -void sub_81653CC(void); +void TryHideBattleTowerReporter(void); bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct EmeraldBattleTowerRecord *dst); bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, struct RSBattleTowerRecord *dst); void CalcApprenticeChecksum(struct Apprentice *apprentice); diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h index 58ac90eab..a0ea6855b 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -2,29 +2,39 @@ #define GUARD_METATILE_LABELS_H // gTileset_General -#define METATILE_General_Grass 0x001 -#define METATILE_General_TallGrass 0x00D -#define METATILE_General_LongGrass 0x015 -#define METATILE_General_TallGrass_TreeUp 0x025 -#define METATILE_General_Grass_TreeUp 0x00E -#define METATILE_General_TallGrass_TreeLeft 0x1C6 -#define METATILE_General_TallGrass_TreeRight 0x1C7 -#define METATILE_General_Grass_TreeLeft 0x1CE -#define METATILE_General_Grass_TreeRight 0x1CF -#define METATILE_General_MuddySlope_Frame0 0x0E8 -#define METATILE_General_MuddySlope_Frame1 0x0E9 -#define METATILE_General_MuddySlope_Frame2 0x0EA -#define METATILE_General_MuddySlope_Frame3 0x0EB -#define METATILE_General_SandPit_Center 0x121 -#define METATILE_General_CaveEntrance_Top 0x09F -#define METATILE_General_CaveEntrance_Bottom 0x0A7 -#define METATILE_General_RockWall_GrassBase 0x079 -#define METATILE_General_RockWall_RockBase 0x07C -#define METATILE_General_RockWall_SandBase 0x091 -#define METATILE_General_CalmWater 0x170 -#define METATILE_General_RoughWater 0x14E -#define METATILE_General_RoughDeepWater 0x14F -#define METATILE_General_ReflectiveWater 0x0A1 +#define METATILE_General_Grass 0x001 +#define METATILE_General_TallGrass 0x00D +#define METATILE_General_LongGrass 0x015 +#define METATILE_General_TallGrass_TreeUp 0x025 +#define METATILE_General_Grass_TreeUp 0x00E +#define METATILE_General_TallGrass_TreeLeft 0x1C6 +#define METATILE_General_TallGrass_TreeRight 0x1C7 +#define METATILE_General_Grass_TreeLeft 0x1CE +#define METATILE_General_Grass_TreeRight 0x1CF +#define METATILE_General_MuddySlope_Frame0 0x0E8 +#define METATILE_General_MuddySlope_Frame1 0x0E9 +#define METATILE_General_MuddySlope_Frame2 0x0EA +#define METATILE_General_MuddySlope_Frame3 0x0EB +#define METATILE_General_SandPit_Center 0x121 +#define METATILE_General_CaveEntrance_Top 0x09F +#define METATILE_General_CaveEntrance_Bottom 0x0A7 +#define METATILE_General_RockWall_GrassBase 0x079 +#define METATILE_General_RockWall_RockBase 0x07C +#define METATILE_General_RockWall_SandBase 0x091 +#define METATILE_General_CalmWater 0x170 +#define METATILE_General_RoughWater 0x14E +#define METATILE_General_RoughDeepWater 0x14F +#define METATILE_General_ReflectiveWater 0x0A1 +#define METATILE_General_SecretBase_TreeLeft 0x026 +#define METATILE_General_SecretBase_TreeRight 0x027 +#define METATILE_General_SecretBase_VineLeft 0x036 +#define METATILE_General_SecretBase_VineRight 0x037 +#define METATILE_General_RedCaveIndent 0x1A0 +#define METATILE_General_RedCaveOpen 0x1A1 +#define METATILE_General_YellowCaveIndent 0x1A8 +#define METATILE_General_YellowCaveOpen 0x1A9 +#define METATILE_General_BlueCaveIndent 0x1B0 +#define METATILE_General_BlueCaveOpen 0x1B1 // gTileset_Building #define METATILE_Building_PC_Off 0x004 @@ -143,6 +153,8 @@ #define METATILE_Fortree_BridgeOverGrass_Lowered 0x24F #define METATILE_Fortree_BridgeOverTrees_Raised 0x256 #define METATILE_Fortree_BridgeOverTrees_Lowered 0x257 +#define METATILE_Fortree_SecretBase_Shrub 0x271 +#define METATILE_Fortree_SecretBase_ShrubOpen 0x278 #define METATILE_Fortree_SecretBase_LongGrass_TopLeft 0x279 #define METATILE_Fortree_SecretBase_LongGrass_TopMid 0x27A #define METATILE_Fortree_SecretBase_LongGrass_TopRight 0x27B @@ -164,6 +176,8 @@ // gTileset_Fallarbor #define METATILE_Fallarbor_AshGrass 0x20A +#define METATILE_Fallarbor_BrownCaveIndent 0x208 +#define METATILE_Fallarbor_BrownCaveOpen 0x210 #define METATILE_Fallarbor_NormalGrass 0x212 #define METATILE_Fallarbor_AshField 0x218 #define METATILE_Fallarbor_BrownCaveEntrance_Top 0x259 @@ -414,4 +428,162 @@ #define METATILE_Underwater_RockWall 0x21E #define METATILE_Underwater_FloorShadow 0x228 +// gTileset_SecretBase +#define METATILE_SecretBase_Wall_TopMid 0x202 +#define METATILE_SecretBase_Ground 0x20A +#define METATILE_SecretBase_PC 0x220 +#define METATILE_SecretBase_RegisterPC 0x221 +#define METATILE_SecretBase_PC_On 0x224 +#define METATILE_SecretBase_RedBrick_Top 0x225 +#define METATILE_SecretBase_RedBrick_Bottom 0x22D +#define METATILE_SecretBase_YellowBrick_Top 0x226 +#define METATILE_SecretBase_YellowBrick_Bottom 0x22E +#define METATILE_SecretBase_BlueBrick_Top 0x227 +#define METATILE_SecretBase_BlueBrick_Bottom 0x22F +#define METATILE_SecretBase_MudBall 0x228 +#define METATILE_SecretBase_Fence_Horizontal 0x22C +#define METATILE_SecretBase_Fence_Vertical 0x233 +#define METATILE_SecretBase_Board_Top 0x234 +#define METATILE_SecretBase_Board_Bottom 0x23C +#define METATILE_SecretBase_RedTent_DoorTop 0x239 +#define METATILE_SecretBase_RedTent_Door 0x241 +#define METATILE_SecretBase_BlueTent_DoorTop 0x251 +#define METATILE_SecretBase_BlueTent_Door 0x259 +#define METATILE_SecretBase_Slide_Stairs 0x23D +#define METATILE_SecretBase_Slide 0x23E +#define METATILE_SecretBase_Stand_LeftCorner 0x26A +#define METATILE_SecretBase_Stand_RightCorner 0x26D +#define METATILE_SecretBase_BreakableDoor_TopClosed 0x237 +#define METATILE_SecretBase_BreakableDoor_BottomClosed 0x23F +#define METATILE_SecretBase_BreakableDoor_TopOpen 0x26E +#define METATILE_SecretBase_BreakableDoor_BottomOpen 0x276 +#define METATILE_SecretBase_NoteMat_C 0x278 +#define METATILE_SecretBase_NoteMat_D 0x279 +#define METATILE_SecretBase_NoteMat_E 0x27A +#define METATILE_SecretBase_NoteMat_F 0x27B +#define METATILE_SecretBase_NoteMat_G 0x27C +#define METATILE_SecretBase_NoteMat_A 0x27D +#define METATILE_SecretBase_NoteMat_B 0x27E +#define METATILE_SecretBase_NoteMat_C_Sharp 0x2B3 +#define METATILE_SecretBase_Tire_TopLeft 0x280 +#define METATILE_SecretBase_Tire_TopRight 0x281 +#define METATILE_SecretBase_Tire_BottomLeft 0x288 +#define METATILE_SecretBase_Tire_BottomRight 0x289 +#define METATILE_SecretBase_GlassOrnament_Base1 0x28A +#define METATILE_SecretBase_GlassOrnament_Base2 0x28B +#define METATILE_SecretBase_SandOrnament_BrokenTop 0x284 +#define METATILE_SecretBase_SandOrnament_BrokenBase 0x28C +#define METATILE_SecretBase_SandOrnament_Top 0x285 +#define METATILE_SecretBase_SandOrnament_Base1 0x28D +#define METATILE_SecretBase_SandOrnament_TopWall 0x286 +#define METATILE_SecretBase_SandOrnament_Base2 0x28E +#define METATILE_SecretBase_SmallDesk 0x287 +#define METATILE_SecretBase_PokemonDesk 0x28F +#define METATILE_SecretBase_HeavyDesk_TopLeft 0x290 +#define METATILE_SecretBase_HeavyDesk_TopMid 0x291 +#define METATILE_SecretBase_HeavyDesk_TopRight 0x292 +#define METATILE_SecretBase_HeavyDesk_BottomLeft 0x298 +#define METATILE_SecretBase_HeavyDesk_BottomMid 0x299 +#define METATILE_SecretBase_HeavyDesk_BottomRight 0x29A +#define METATILE_SecretBase_RaggedDesk_TopLeft 0x293 +#define METATILE_SecretBase_RaggedDesk_TopMid 0x294 +#define METATILE_SecretBase_RaggedDesk_TopRight 0x295 +#define METATILE_SecretBase_RaggedDesk_BottomLeft 0x29B +#define METATILE_SecretBase_RaggedDesk_BottomMid 0x29C +#define METATILE_SecretBase_RaggedDesk_BottomRight 0x29D +#define METATILE_SecretBase_ComfortDesk_TopLeft 0x296 +#define METATILE_SecretBase_ComfortDesk_TopMid 0x297 +#define METATILE_SecretBase_ComfortDesk_TopRight 0x2A3 +#define METATILE_SecretBase_ComfortDesk_BottomLeft 0x29E +#define METATILE_SecretBase_ComfortDesk_BottomMid 0x29F +#define METATILE_SecretBase_ComfortDesk_BottomRight 0x2AB +#define METATILE_SecretBase_BrickDesk_TopLeft 0x2A0 +#define METATILE_SecretBase_BrickDesk_TopMid 0x2A1 +#define METATILE_SecretBase_BrickDesk_TopRight 0x2A2 +#define METATILE_SecretBase_BrickDesk_MidLeft 0x2A8 +#define METATILE_SecretBase_BrickDesk_Center 0x2A9 +#define METATILE_SecretBase_BrickDesk_MidRight 0x2AA +#define METATILE_SecretBase_BrickDesk_BottomLeft 0x2B0 +#define METATILE_SecretBase_BrickDesk_BottomMid 0x2B1 +#define METATILE_SecretBase_BrickDesk_BottomRight 0x2B2 +#define METATILE_SecretBase_CampDesk_TopLeft 0x2A4 +#define METATILE_SecretBase_CampDesk_TopMid 0x2A5 +#define METATILE_SecretBase_CampDesk_TopRight 0x2A6 +#define METATILE_SecretBase_CampDesk_MidLeft 0x2AC +#define METATILE_SecretBase_CampDesk_Center 0x2AD +#define METATILE_SecretBase_CampDesk_MidRight 0x2AE +#define METATILE_SecretBase_CampDesk_BottomLeft 0x2B4 +#define METATILE_SecretBase_CampDesk_BottomMid 0x2B5 +#define METATILE_SecretBase_CampDesk_BottomRight 0x2B6 +#define METATILE_SecretBase_HardDesk_TopLeft 0x2A7 +#define METATILE_SecretBase_HardDesk_TopMid 0x2BB +#define METATILE_SecretBase_HardDesk_TopRight 0x2BC +#define METATILE_SecretBase_HardDesk_MidLeft 0x2AF +#define METATILE_SecretBase_HardDesk_Center 0x2C3 +#define METATILE_SecretBase_HardDesk_MidRight 0x2C4 +#define METATILE_SecretBase_HardDesk_BottomLeft 0x2B7 +#define METATILE_SecretBase_HardDesk_BottomMid 0x2CB +#define METATILE_SecretBase_HardDesk_BottomRight 0x2CC +#define METATILE_SecretBase_PrettyDesk_TopLeft 0x2BD +#define METATILE_SecretBase_PrettyDesk_TopMid 0x2BE +#define METATILE_SecretBase_PrettyDesk_TopRight 0x2BF +#define METATILE_SecretBase_PrettyDesk_MidLeft 0x2C5 +#define METATILE_SecretBase_PrettyDesk_Center 0x2C6 +#define METATILE_SecretBase_PrettyDesk_MidRight 0x2C7 +#define METATILE_SecretBase_PrettyDesk_BottomLeft 0x2CD +#define METATILE_SecretBase_PrettyDesk_BottomMid 0x2CE +#define METATILE_SecretBase_PrettyDesk_BottomRight 0x2CF +#define METATILE_SecretBase_SmallChair 0x2B8 +#define METATILE_SecretBase_PokemonChair 0x2B9 +#define METATILE_SecretBase_HeavyChair 0x2BA +#define METATILE_SecretBase_PrettyChair 0x2C0 +#define METATILE_SecretBase_ComfortChair 0x2C1 +#define METATILE_SecretBase_RaggedChair 0x2C2 +#define METATILE_SecretBase_BrickChair 0x2C8 +#define METATILE_SecretBase_CampChair 0x2C9 +#define METATILE_SecretBase_HardChair 0x2Ca +#define METATILE_SecretBase_RedPlant_Base1 0x2D8 +#define METATILE_SecretBase_RedPlant_Base2 0x2D9 +#define METATILE_SecretBase_TropicalPlant_Base1 0x2DA +#define METATILE_SecretBase_TropicalPlant_Base2 0x2DB +#define METATILE_SecretBase_PrettyFlower_Base1 0x2DC +#define METATILE_SecretBase_PrettyFlower_Base2 0x2DD +#define METATILE_SecretBase_ColorfulFlowers_BaseLeft1 0x2E8 +#define METATILE_SecretBase_ColorfulFlowers_BaseRight1 0x2E9 +#define METATILE_SecretBase_ColorfulFlowers_BaseLeft2 0x2EA +#define METATILE_SecretBase_ColorfulFlowers_BaseRight2 0x2EB +#define METATILE_SecretBase_BigPlant_BaseLeft1 0x2EC +#define METATILE_SecretBase_BigPlant_BaseRight1 0x2ED +#define METATILE_SecretBase_BigPlant_BaseLeft2 0x2EE +#define METATILE_SecretBase_BigPlant_BaseRight2 0x2EF +#define METATILE_SecretBase_GorgeousPlant_BaseLeft1 0x2F8 +#define METATILE_SecretBase_GorgeousPlant_BaseRight1 0x2F9 +#define METATILE_SecretBase_GorgeousPlant_BaseLeft2 0x2FA +#define METATILE_SecretBase_GorgeousPlant_BaseRight2 0x2FB +#define METATILE_SecretBase_TV 0x2F4 +#define METATILE_SecretBase_RoundTV 0x2F5 +#define METATILE_SecretBase_CuteTV 0x2F6 +#define METATILE_SecretBase_PikaPoster_Left 0x31C +#define METATILE_SecretBase_PikaPoster_Right 0x31D +#define METATILE_SecretBase_LongPoster_Left 0x31E +#define METATILE_SecretBase_LongPoster_Right 0x31F +#define METATILE_SecretBase_SeaPoster_Left 0x324 +#define METATILE_SecretBase_SeaPoster_Right 0x325 +#define METATILE_SecretBase_SkyPoster_Left 0x326 +#define METATILE_SecretBase_SkyPoster_Right 0x327 +#define METATILE_SecretBase_KissPoster_Left 0x32C +#define METATILE_SecretBase_KissPoster_Right 0x32D +#define METATILE_SecretBase_BallPoster 0x330 +#define METATILE_SecretBase_GreenPoster 0x331 +#define METATILE_SecretBase_RedPoster 0x332 +#define METATILE_SecretBase_BluePoster 0x333 +#define METATILE_SecretBase_CutePoster 0x334 +#define METATILE_SecretBase_SilverShield_Base1 0x2DE +#define METATILE_SecretBase_SilverShield_Base2 0x2DF +#define METATILE_SecretBase_GoldShield_Base1 0x336 +#define METATILE_SecretBase_GoldShield_Base2 0x337 +#define METATILE_SecretBase_RedBalloon 0x338 +#define METATILE_SecretBase_BlueBalloon 0x33c +#define METATILE_SecretBase_YellowBalloon 0x340 + #endif // GUARD_METATILE_LABELS_H diff --git a/include/constants/tv.h b/include/constants/tv.h index fddf650e4..6f686f727 100644 --- a/include/constants/tv.h +++ b/include/constants/tv.h @@ -46,4 +46,92 @@ // Number of ribbons to put Spot the Cuties on air #define NUM_CUTIES_RIBBONS 4 +// TV Show states for Secret Base Secrets +#define SBSECRETS_STATE_INTRO 0 +#define SBSECRETS_STATE_DO_NEXT1 1 +#define SBSECRETS_STATE_DO_NEXT2 2 +#define SBSECRETS_STATE_TOOK_X_STEPS 3 +#define SBSECRETS_STATE_BASE_INTEREST_LOW 4 +#define SBSECRETS_STATE_BASE_INTEREST_MED 5 +#define SBSECRETS_STATE_BASE_INTEREST_HIGH 6 +#define SBSECRETS_STATE_OUTRO 7 +#define SBSECRETS_STATE_NOTHING_USED1 8 +#define SBSECRETS_STATE_NOTHING_USED2 9 +#define SBSECRETS_STATE_USED_CHAIR 10 +#define SBSECRETS_STATE_USED_BALLOON 11 +#define SBSECRETS_STATE_USED_TENT 12 +#define SBSECRETS_STATE_USED_PLANT 13 +#define SBSECRETS_STATE_USED_GOLD_SHIELD 14 +#define SBSECRETS_STATE_USED_SILVER_SHIELD 15 +#define SBSECRETS_STATE_USED_GLASS_ORNAMENT 16 +#define SBSECRETS_STATE_USED_TV 17 +#define SBSECRETS_STATE_USED_MUD_BALL 18 +#define SBSECRETS_STATE_USED_BAG 19 +#define SBSECRETS_STATE_USED_CUSHION 20 +#define SBSECRETS_STATE_HIT_CUSHION 21 +#define SBSECRETS_STATE_HUGGED_CUSHION 22 +#define SBSECRETS_STATE_BATTLED_WON 23 +#define SBSECRETS_STATE_BATTLED_LOST 24 +#define SBSECRETS_STATE_DECLINED_BATTLE 25 +#define SBSECRETS_STATE_USED_POSTER 26 +#define SBSECRETS_STATE_USED_NOTE_MAT 27 +#define SBSECRETS_STATE_BATTLED_DRAW 28 +#define SBSECRETS_STATE_USED_SPIN_MAT 29 +#define SBSECRETS_STATE_USED_SAND_ORNAMENT 30 +#define SBSECRETS_STATE_USED_DESK 31 +#define SBSECRETS_STATE_USED_BRICK 32 +#define SBSECRETS_STATE_USED_SOLID_BOARD 33 +#define SBSECRETS_STATE_USED_FENCE 34 +#define SBSECRETS_STATE_USED_GLITTER_MAT 35 +#define SBSECRETS_STATE_USED_TIRE 36 +#define SBSECRETS_STATE_USED_STAND 37 +#define SBSECRETS_STATE_USED_BREAKABLE_DOOR 38 +#define SBSECRETS_STATE_USED_DOLL 39 +#define SBSECRETS_STATE_USED_SLIDE 40 +#define SBSECRETS_STATE_DECLINED_SLIDE 41 +#define SBSECRETS_STATE_USED_JUMP_MAT 42 +#define SBSECRETS_NUM_STATES 43 + +// The below flags are set when interacting with objects in a friends secret base +// Theyre set as bits in a var, and with 32 flags they're spread across 2 vars + +// VAR_SECRET_BASE_LOW_TV_FLAGS +#define SECRET_BASE_USED_CHAIR (1 << 0) +#define SECRET_BASE_USED_BALLOON (1 << 1) +#define SECRET_BASE_USED_TENT (1 << 2) +#define SECRET_BASE_USED_PLANT (1 << 3) +#define SECRET_BASE_USED_GOLD_SHIELD (1 << 4) +#define SECRET_BASE_USED_SILVER_SHIELD (1 << 5) +#define SECRET_BASE_USED_GLASS_ORNAMENT (1 << 6) +#define SECRET_BASE_USED_TV (1 << 7) +#define SECRET_BASE_USED_MUD_BALL (1 << 8) +#define SECRET_BASE_USED_BAG (1 << 9) +#define SECRET_BASE_USED_CUSHION (1 << 10) +#define SECRET_BASE_BATTLED_WON (1 << 11) +#define SECRET_BASE_BATTLED_LOST (1 << 12) +#define SECRET_BASE_DECLINED_BATTLE (1 << 13) +#define SECRET_BASE_USED_POSTER (1 << 14) +#define SECRET_BASE_USED_NOTE_MAT (1 << 15) + +// VAR_SECRET_BASE_HIGH_TV_FLAGS +#define SECRET_BASE_BATTLED_DRAW (1 << 0) +#define SECRET_BASE_USED_SPIN_MAT (1 << 1) +#define SECRET_BASE_USED_SAND_ORNAMENT (1 << 2) +#define SECRET_BASE_USED_DESK (1 << 3) +#define SECRET_BASE_USED_BRICK (1 << 4) +#define SECRET_BASE_USED_SOLID_BOARD (1 << 5) +#define SECRET_BASE_USED_FENCE (1 << 6) +#define SECRET_BASE_USED_GLITTER_MAT (1 << 7) +#define SECRET_BASE_USED_TIRE (1 << 8) +#define SECRET_BASE_USED_STAND (1 << 9) +#define SECRET_BASE_USED_BREAKABLE_DOOR (1 << 10) +#define SECRET_BASE_USED_DOLL (1 << 11) +#define SECRET_BASE_USED_SLIDE (1 << 12) +#define SECRET_BASE_DECLINED_SLIDE (1 << 13) +#define SECRET_BASE_USED_JUMP_MAT (1 << 14) +#define SECRET_BASE_UNUSED_FLAG (1 << 15) + +#define NUM_SECRET_BASE_FLAGS 32 // by definition, bitfield of 2 u16s + + #endif //GUARD_CONSTANTS_TV_H diff --git a/include/event_scripts.h b/include/event_scripts.h index c2716a214..a56ab89e0 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -240,49 +240,49 @@ extern const u8 gTVWhatsNo1InHoennTodayText05[]; extern const u8 gTVWhatsNo1InHoennTodayText06[]; extern const u8 gTVWhatsNo1InHoennTodayText07[]; extern const u8 gTVWhatsNo1InHoennTodayText08[]; -extern const u8 gTVSecretBaseSecretsText00[]; -extern const u8 gTVSecretBaseSecretsText01[]; -extern const u8 gTVSecretBaseSecretsText02[]; -extern const u8 gTVSecretBaseSecretsText03[]; -extern const u8 gTVSecretBaseSecretsText04[]; -extern const u8 gTVSecretBaseSecretsText05[]; -extern const u8 gTVSecretBaseSecretsText06[]; -extern const u8 gTVSecretBaseSecretsText07[]; -extern const u8 gTVSecretBaseSecretsText08[]; -extern const u8 gTVSecretBaseSecretsText09[]; -extern const u8 gTVSecretBaseSecretsText10[]; -extern const u8 gTVSecretBaseSecretsText11[]; -extern const u8 gTVSecretBaseSecretsText12[]; -extern const u8 gTVSecretBaseSecretsText13[]; -extern const u8 gTVSecretBaseSecretsText14[]; -extern const u8 gTVSecretBaseSecretsText15[]; -extern const u8 gTVSecretBaseSecretsText16[]; -extern const u8 gTVSecretBaseSecretsText17[]; -extern const u8 gTVSecretBaseSecretsText18[]; -extern const u8 gTVSecretBaseSecretsText19[]; -extern const u8 gTVSecretBaseSecretsText20[]; -extern const u8 gTVSecretBaseSecretsText21[]; -extern const u8 gTVSecretBaseSecretsText22[]; -extern const u8 gTVSecretBaseSecretsText23[]; -extern const u8 gTVSecretBaseSecretsText24[]; -extern const u8 gTVSecretBaseSecretsText25[]; -extern const u8 gTVSecretBaseSecretsText26[]; -extern const u8 gTVSecretBaseSecretsText27[]; -extern const u8 gTVSecretBaseSecretsText28[]; -extern const u8 gTVSecretBaseSecretsText29[]; -extern const u8 gTVSecretBaseSecretsText30[]; -extern const u8 gTVSecretBaseSecretsText31[]; -extern const u8 gTVSecretBaseSecretsText32[]; -extern const u8 gTVSecretBaseSecretsText33[]; -extern const u8 gTVSecretBaseSecretsText34[]; -extern const u8 gTVSecretBaseSecretsText35[]; -extern const u8 gTVSecretBaseSecretsText36[]; -extern const u8 gTVSecretBaseSecretsText37[]; -extern const u8 gTVSecretBaseSecretsText38[]; -extern const u8 gTVSecretBaseSecretsText39[]; -extern const u8 gTVSecretBaseSecretsText40[]; -extern const u8 gTVSecretBaseSecretsText41[]; -extern const u8 gTVSecretBaseSecretsText42[]; +extern const u8 TVSecretBaseSecrets_Text_Intro[]; +extern const u8 TVSecretBaseSecrets_Text_WhatWillPlayerDoNext1[]; +extern const u8 TVSecretBaseSecrets_Text_WhatWillPlayerDoNext2[]; +extern const u8 TVSecretBaseSecrets_Text_TookXStepsBeforeLeaving[]; +extern const u8 TVSecretBaseSecrets_Text_BaseFailedToInterestPlayer[]; +extern const u8 TVSecretBaseSecrets_Text_PlayerEnjoyedBase[]; +extern const u8 TVSecretBaseSecrets_Text_PlayerHugeFanOfBase[]; +extern const u8 TVSecretBaseSecrets_Text_Outro[]; +extern const u8 TVSecretBaseSecrets_Text_StoppedMoving1[]; +extern const u8 TVSecretBaseSecrets_Text_StoppedMoving2[]; +extern const u8 TVSecretBaseSecrets_Text_UsedChair[]; +extern const u8 TVSecretBaseSecrets_Text_UsedBalloon[]; +extern const u8 TVSecretBaseSecrets_Text_UsedTent[]; +extern const u8 TVSecretBaseSecrets_Text_UsedPlant[]; +extern const u8 TVSecretBaseSecrets_Text_UsedGoldShield[]; +extern const u8 TVSecretBaseSecrets_Text_UsedSilverShield[]; +extern const u8 TVSecretBaseSecrets_Text_UsedGlassOrnament[]; +extern const u8 TVSecretBaseSecrets_Text_UsedTV[]; +extern const u8 TVSecretBaseSecrets_Text_UsedMudBall[]; +extern const u8 TVSecretBaseSecrets_Text_UsedBag[]; +extern const u8 TVSecretBaseSecrets_Text_UsedCushion[]; +extern const u8 TVSecretBaseSecrets_Text_HitCushion[]; +extern const u8 TVSecretBaseSecrets_Text_HuggedCushion[]; +extern const u8 TVSecretBaseSecrets_Text_BattledWon[]; +extern const u8 TVSecretBaseSecrets_Text_BattledLost[]; +extern const u8 TVSecretBaseSecrets_Text_DeclinedBattle[]; +extern const u8 TVSecretBaseSecrets_Text_UsedPoster[]; +extern const u8 TVSecretBaseSecrets_Text_UsedNoteMat[]; +extern const u8 TVSecretBaseSecrets_Text_BattledDraw[]; +extern const u8 TVSecretBaseSecrets_Text_UsedSpinMat[]; +extern const u8 TVSecretBaseSecrets_Text_UsedSandOrnament[]; +extern const u8 TVSecretBaseSecrets_Text_UsedDesk[]; +extern const u8 TVSecretBaseSecrets_Text_UsedBrick[]; +extern const u8 TVSecretBaseSecrets_Text_UsedSolidBoard[]; +extern const u8 TVSecretBaseSecrets_Text_UsedFence[]; +extern const u8 TVSecretBaseSecrets_Text_UsedGlitterMat[]; +extern const u8 TVSecretBaseSecrets_Text_UsedTire[]; +extern const u8 TVSecretBaseSecrets_Text_UsedStand[]; +extern const u8 TVSecretBaseSecrets_Text_BrokeDoor[]; +extern const u8 TVSecretBaseSecrets_Text_UsedDoll[]; +extern const u8 TVSecretBaseSecrets_Text_UsedSlide[]; +extern const u8 TVSecretBaseSecrets_Text_UsedSlideButDidntGoDown[]; +extern const u8 TVSecretBaseSecrets_Text_UsedJumpMat[]; extern const u8 gTVSafariFanClubText00[]; extern const u8 gTVSafariFanClubText01[]; extern const u8 gTVSafariFanClubText02[]; diff --git a/include/fldeff_misc.h b/include/fldeff_misc.h index fd96f5646..6fd15c1ea 100644 --- a/include/fldeff_misc.h +++ b/include/fldeff_misc.h @@ -21,7 +21,7 @@ void ShatterSecretBaseBreakableDoor(s16 x, s16 y); void PlaySecretBaseMusicNoteMatSound(s16 metatileId); void DoSecretBaseGlitterMatSparkle(void); bool8 FldEff_SandPillar(void); -void GetShieldToyTVDecorationInfo(void); +void InteractWithShieldOrTVDecoration(void); bool8 sub_80FADE4(u16 arg0, u8 arg1); void FldEffPoison_Start(void); bool32 FldEffPoison_IsActive(void); diff --git a/include/link.h b/include/link.h index 4d6771a03..f41161d23 100644 --- a/include/link.h +++ b/include/link.h @@ -84,7 +84,7 @@ #define LINKTYPE_MULTI_BATTLE 0x2255 #define LINKTYPE_BATTLE_TOWER_50 0x2266 #define LINKTYPE_BATTLE_TOWER_OPEN 0x2277 -#define LINKTYPE_0x2288 0x2288 // battle? +#define LINKTYPE_BATTLE_TOWER 0x2288 #define LINKTYPE_0x3311 0x3311 #define LINKTYPE_0x3322 0x3322 #define LINKTYPE_BERRY_BLENDER_SETUP 0x4411 diff --git a/include/secret_base.h b/include/secret_base.h index 4e323b0c6..b7d36a8ee 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -12,13 +12,13 @@ void InitSecretBaseAppearance(bool8 hidePC); bool8 CurMapIsSecretBase(void); void SecretBasePerStepCallback(u8 taskId); bool8 TrySetCurSecretBase(void); -void SetSecretBaseSecretsTvFlags_Poster(void); -void SetSecretBaseSecretsTvFlags_MiscFurnature(void); -void SetSecretBaseSecretsTvFlags_LargeDecorationSpot(void); -void SetSecretBaseSecretsTvFlags_SmallDecorationSpot(void); +void CheckInteractedWithFriendsPosterDecor(void); +void CheckInteractedWithFriendsFurnitureBottom(void); +void CheckInteractedWithFriendsFurnitureMiddle(void); +void CheckInteractedWithFriendsFurnitureTop(void); void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events); bool8 SecretBaseMapPopupEnabled(void); -void sub_80EB218(void); +void CheckLeftFriendsSecretBase(void); void ClearSecretBases(void); void SetCurSecretBaseIdFromPosition(const struct MapPosition *position, const struct MapEvents *events); void TrySetCurSecretBaseIndex(void); diff --git a/include/tv.h b/include/tv.h index dc4b22a99..8e9233c2b 100644 --- a/include/tv.h +++ b/include/tv.h @@ -18,7 +18,7 @@ void TryPutTrainerFanClubOnAir(void); void IncrementDailyPlantedBerries(void); void IncrementDailyPickedBerries(void); void IncrementDailyBattlePoints(u16 delta); -void sub_80F01B8(void); +void HideBattleTowerReporter(void); void ReceiveTvShowsData(void *src, u32 size, u8 masterIdx); void TryPutSpotTheCutiesOnAir(struct Pokemon *pokemon, u8 ribbonMonDataIdx); u32 GetPlayerIDAsU32(void); @@ -29,7 +29,7 @@ u8 GetRibbonCount(struct Pokemon *pokemon); void AlertTVThatPlayerPlayedSlotMachine(u16 nCoinsSpent); void AlertTVThatPlayerPlayedRoulette(u16 nCoinsSpent); void AlertTVOfNewCoinTotal(u16 nCoinsPaidOut); -void sub_80EEA70(void); +void TryPutSecretBaseSecretsOnAir(void); void sub_80EDB44(void); void sub_80EDC60(const u16 *words); void sub_80EDA80(void); diff --git a/src/battle_tower.c b/src/battle_tower.c index 47dc49065..d84ddaa2a 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -2908,13 +2908,13 @@ static void CopyEReaderTrainerFarewellMessage(void) FrontierSpeechToString(gSaveBlock2Ptr->frontier.ereaderTrainer.farewellPlayerLost); } -void sub_81653CC(void) +void TryHideBattleTowerReporter(void) { if (gSaveBlock2Ptr->frontier.challengeStatus == CHALLENGE_STATUS_SAVING) - sub_80F01B8(); + HideBattleTowerReporter(); if (FlagGet(FLAG_CANCEL_BATTLE_ROOM_CHALLENGE) == TRUE) { - sub_80F01B8(); + HideBattleTowerReporter(); FlagClear(FLAG_CANCEL_BATTLE_ROOM_CHALLENGE); } } diff --git a/src/cable_club.c b/src/cable_club.c index ab72ee3f2..87a0bcfca 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -784,7 +784,8 @@ static void sub_80B3220(u8 taskId) } } -void sub_80B3254(void) +// Unused +void CableClubSaveGame(void) { SaveGame(); } @@ -1298,10 +1299,10 @@ void sub_80B3AF8(u8 taskId) } } -void sub_80B3BC4(void) +void TrySetBattleTowerLinkType(void) { if (gWirelessCommType == 0) { - gLinkType = LINKTYPE_0x2288; + gLinkType = LINKTYPE_BATTLE_TOWER; } } diff --git a/src/decoration.c b/src/decoration.c index d09f238d7..2a8fe973d 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -2154,7 +2154,8 @@ void sub_8129708(void) } } -void sub_81297AC(void) +// Unused +void GetEventObjectLocalIdByFlag(void) { u8 i; diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 424b85d62..4af42ca2f 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -423,23 +423,23 @@ static const u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 me return SecretBase_EventScript_ShieldOrToyTV; if (MetatileBehavior_IsMB_C6(metatileBehavior) == TRUE) { - SetSecretBaseSecretsTvFlags_MiscFurnature(); + CheckInteractedWithFriendsFurnitureBottom(); return NULL; } if (MetatileBehavior_HoldsLargeDecoration(metatileBehavior) == TRUE) { - SetSecretBaseSecretsTvFlags_LargeDecorationSpot(); + CheckInteractedWithFriendsFurnitureMiddle(); return NULL; } if (MetatileBehavior_HoldsSmallDecoration(metatileBehavior) == TRUE) { - SetSecretBaseSecretsTvFlags_SmallDecorationSpot(); + CheckInteractedWithFriendsFurnitureTop(); return NULL; } } else if (MetatileBehavior_IsSecretBasePoster(metatileBehavior) == TRUE) { - SetSecretBaseSecretsTvFlags_Poster(); + CheckInteractedWithFriendsPosterDecor(); return NULL; } diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c index 591f61eb7..05fa43338 100644 --- a/src/fldeff_misc.c +++ b/src/fldeff_misc.c @@ -20,9 +20,11 @@ #include "string_util.h" #include "constants/field_effects.h" #include "constants/metatile_behaviors.h" +#include "constants/metatile_labels.h" #include "constants/songs.h" +#include "constants/tv.h" #include "constants/vars.h" -#include "constants/metatile_labels.h" + EWRAM_DATA struct MapPosition gPlayerFacingPosition = {0}; @@ -801,16 +803,16 @@ static void Task_SecretBasePCTurnOn(u8 taskId) { case 4: case 12: - MapGridSetMetatileIdAt(data[0], data[1], 0x224); + MapGridSetMetatileIdAt(data[0], data[1], METATILE_SecretBase_PC_On); CurrentMapDrawMetatileAt(data[0], data[1]); break; case 8: case 16: - MapGridSetMetatileIdAt(data[0], data[1], 0x220); + MapGridSetMetatileIdAt(data[0], data[1], METATILE_SecretBase_PC); CurrentMapDrawMetatileAt(data[0], data[1]); break; case 20: - MapGridSetMetatileIdAt(data[0], data[1], 0x224); + MapGridSetMetatileIdAt(data[0], data[1], METATILE_SecretBase_PC_On); CurrentMapDrawMetatileAt(data[0], data[1]); FieldEffectActiveListRemove(FLDEFF_PCTURN_ON); EnableBothScriptContexts(); @@ -829,9 +831,9 @@ void DoSecretBasePCTurnOffEffect(void) PlaySE(SE_PC_OFF); if (!VarGet(VAR_CURRENT_SECRET_BASE)) - MapGridSetMetatileIdAt(x, y, 0x220 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_PC | METATILE_COLLISION_MASK); else - MapGridSetMetatileIdAt(x, y, 0x221 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_RegisterPC | METATILE_COLLISION_MASK); CurrentMapDrawMetatileAt(x, y); } @@ -875,16 +877,16 @@ static void DoBalloonSoundEffect(s16 metatileId) { switch (metatileId) { - case 824: + case METATILE_SecretBase_RedBalloon: PlaySE(SE_FUUSEN1); break; - case 828: + case METATILE_SecretBase_BlueBalloon: PlaySE(SE_FUUSEN2); break; - case 832: + case METATILE_SecretBase_YellowBalloon: PlaySE(SE_FUUSEN3); break; - case 552: + case METATILE_SecretBase_MudBall: PlaySE(SE_TOY_DANGO); break; } @@ -903,8 +905,8 @@ bool8 FldEff_NopA700(void) static void DoSecretBaseBreakableDoorEffect(s16 x, s16 y) { PlaySE(SE_TOY_KABE); - MapGridSetMetatileIdAt(x, y, 0x276); - MapGridSetMetatileIdAt(x, y - 1, 0x26E); + MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_BreakableDoor_BottomOpen); + MapGridSetMetatileIdAt(x, y - 1, METATILE_SecretBase_BreakableDoor_TopOpen); CurrentMapDrawMetatileAt(x, y); CurrentMapDrawMetatileAt(x, y - 1); } @@ -946,28 +948,28 @@ static void Task_SecretBaseMusicNoteMatSound(u8 taskId) { switch (gTasks[taskId].tMetatileID) { - case 632: + case METATILE_SecretBase_NoteMat_C: PlaySE(SE_TOY_C); break; - case 633: + case METATILE_SecretBase_NoteMat_D: PlaySE(SE_TOY_D); break; - case 634: + case METATILE_SecretBase_NoteMat_E: PlaySE(SE_TOY_E); break; - case 635: + case METATILE_SecretBase_NoteMat_F: PlaySE(SE_TOY_F); break; - case 636: + case METATILE_SecretBase_NoteMat_G: PlaySE(SE_TOY_G); break; - case 637: + case METATILE_SecretBase_NoteMat_A: PlaySE(SE_TOY_A); break; - case 638: + case METATILE_SecretBase_NoteMat_B: PlaySE(SE_TOY_B); break; - case 691: + case METATILE_SecretBase_NoteMat_C_Sharp: PlaySE(SE_TOY_C1); break; } @@ -1071,12 +1073,12 @@ static void SpriteCB_SandPillar_0(struct Sprite *sprite) { PlaySE(SE_W088); - if (MapGridGetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1) == 646) - MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, 3586); + if (MapGridGetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1) == METATILE_SecretBase_SandOrnament_TopWall) + MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, METATILE_SecretBase_Wall_TopMid | METATILE_COLLISION_MASK); else - MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, 644); + MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, METATILE_SecretBase_SandOrnament_BrokenTop); - MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], 522); + MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], METATILE_SecretBase_Ground); CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1); CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6]); @@ -1092,7 +1094,7 @@ static void SpriteCB_SandPillar_1(struct Sprite *sprite) } else { - MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], 3724); + MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], METATILE_SecretBase_SandOrnament_BrokenBase | METATILE_COLLISION_MASK); CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6]); sprite->data[0] = 0; sprite->callback = SpriteCB_SandPillar_2; @@ -1105,7 +1107,7 @@ static void SpriteCB_SandPillar_2(struct Sprite *sprite) EnableBothScriptContexts(); } -void GetShieldToyTVDecorationInfo(void) +void InteractWithShieldOrTVDecoration(void) { s16 x, y; s32 metatileId; @@ -1116,7 +1118,7 @@ void GetShieldToyTVDecorationInfo(void) switch (metatileId) { - case 822: + case METATILE_SecretBase_GoldShield_Base1: ConvertIntToDecimalStringN(gStringVar1, 100, STR_CONV_MODE_LEFT_ALIGN, 3); StringCopy(gStringVar2, gText_Gold); @@ -1125,9 +1127,9 @@ void GetShieldToyTVDecorationInfo(void) if (!VarGet(VAR_CURRENT_SECRET_BASE)) return; - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x10); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_GOLD_SHIELD); break; - case 734: + case METATILE_SecretBase_SilverShield_Base1: ConvertIntToDecimalStringN(gStringVar1, 50, STR_CONV_MODE_LEFT_ALIGN, 2); StringCopy(gStringVar2, gText_Silver); @@ -1136,31 +1138,31 @@ void GetShieldToyTVDecorationInfo(void) if (!VarGet(VAR_CURRENT_SECRET_BASE)) return; - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x20); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_SILVER_SHIELD); break; - case 756: + case METATILE_SecretBase_TV: gSpecialVar_Result = 1; if (!VarGet(VAR_CURRENT_SECRET_BASE)) return; - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x80); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_TV); break; - case 757: + case METATILE_SecretBase_RoundTV: gSpecialVar_Result = 2; if (!VarGet(VAR_CURRENT_SECRET_BASE)) return; - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x80); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_TV); break; - case 758: + case METATILE_SecretBase_CuteTV: gSpecialVar_Result = 3; if (!VarGet(VAR_CURRENT_SECRET_BASE)) return; - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x80); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_TV); break; } } @@ -1172,16 +1174,16 @@ bool8 sub_80FADE4(u16 metatileId, u8 arg1) if (!arg1) { - if (metatileId == 0x285 || metatileId == 0x286) + if (metatileId == METATILE_SecretBase_SandOrnament_Top || metatileId == METATILE_SecretBase_SandOrnament_TopWall) return TRUE; - if (metatileId == 0x237) + if (metatileId == METATILE_SecretBase_BreakableDoor_TopClosed) return TRUE; } else { - if (metatileId == 0x28d) + if (metatileId == METATILE_SecretBase_SandOrnament_Base1) return TRUE; - if (metatileId == 0x23F) + if (metatileId == METATILE_SecretBase_BreakableDoor_BottomClosed) return TRUE; } diff --git a/src/item.c b/src/item.c index 7b8b37c06..61069ca73 100644 --- a/src/item.c +++ b/src/item.c @@ -14,6 +14,7 @@ #include "battle_pyramid_bag.h" #include "constants/items.h" #include "constants/hold_effects.h" +#include "constants/tv.h" extern u16 gUnknown_0203CF30[]; @@ -542,7 +543,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count) if (CurMapIsSecretBase() == TRUE) { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x200); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_BAG); VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, itemId); } diff --git a/src/link.c b/src/link.c index d6ed9f5f3..939a4afc8 100644 --- a/src/link.c +++ b/src/link.c @@ -1349,7 +1349,7 @@ bool8 sub_800AA60(void) { if (gLinkPlayers[i].trainerId == gSavedLinkPlayers[i].trainerId) { - if (gLinkType == LINKTYPE_0x2288) + if (gLinkType == LINKTYPE_BATTLE_TOWER) { if (gLinkType == gLinkPlayers[i].linkType) { @@ -1902,7 +1902,8 @@ bool32 sub_800B504(void) return FALSE; } -u8 sub_800B518(void) +// Unused +u8 GetWirelessCommType(void) { return gWirelessCommType; } diff --git a/src/mevent_news.c b/src/mevent_news.c index 192bb0fc7..9e78cf406 100644 --- a/src/mevent_news.c +++ b/src/mevent_news.c @@ -53,6 +53,7 @@ void sub_801DBDC(void) } } +// Unused u16 sub_801DC20(void) { u16 *r6 = &gSpecialVar_Result; diff --git a/src/overworld.c b/src/overworld.c index 76b201c3b..4736d8a50 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -863,7 +863,7 @@ static void mli0_load_map(u32 a1) isOutdoors = IsMapTypeOutdoors(gMapHeader.mapType); isIndoors = IsMapTypeIndoors(gMapHeader.mapType); - sub_80EB218(); + CheckLeftFriendsSecretBase(); TrySetMapSaveWarpStatus(); ClearTempFieldEventData(); ResetCyclingRoadChallengeData(); diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c index 0e191d652..a5c6cfa91 100755 --- a/src/script_pokemon_util_80F87D8.c +++ b/src/script_pokemon_util_80F87D8.c @@ -52,6 +52,7 @@ void SetContestTrainerGfxIds(void) gSaveBlock1Ptr->vars[VAR_OBJ_GFX_ID_2 - VARS_START] = gContestMons[2].trainerGfxId; } +// Unused void sub_80F8814(void) { u16 var1; @@ -82,7 +83,8 @@ void BufferContestTrainerAndMonNames(void) BufferContestantMonSpecies(); } -void sub_80F8864(void) +// Unused +void DoesContestCategoryHaveWinner(void) { int contestWinner; switch (gSpecialVar_ContestCategory) @@ -105,10 +107,10 @@ void sub_80F8864(void) break; } - if (!gSaveBlock1Ptr->contestWinners[contestWinner].species) - gSpecialVar_0x8004 = 0; + if (gSaveBlock1Ptr->contestWinners[contestWinner].species == SPECIES_NONE) + gSpecialVar_0x8004 = FALSE; else - gSpecialVar_0x8004 = 1; + gSpecialVar_0x8004 = TRUE; } void SaveMuseumContestPainting(void) @@ -144,9 +146,10 @@ u8 CountPlayerContestPaintings(void) return count; } +// Unused void sub_80F8970(void) { - s16 sp[4]; + s16 conditions[CONTESTANT_COUNT]; int i, j; s16 condition; s8 var0; @@ -154,28 +157,27 @@ void sub_80F8970(void) u8 r8; u8 r7; - for (i = 0; i < 4; i++) - sp[i] = gContestMonConditions[i]; + for (i = 0; i < CONTESTANT_COUNT; i++) + conditions[i] = gContestMonConditions[i]; - for (i = 0; i < 3; i++) + for (i = 0; i < CONTESTANT_COUNT - 1; i++) { - for (j = 3; j > i; j--) + for (j = CONTESTANT_COUNT - 1; j > i; j--) { - if (sp[j - 1] < sp[j]) + if (conditions[j - 1] < conditions[j]) { - int temp = sp[j]; - sp[j] = sp[j - 1]; - sp[j - 1] = temp; + int temp; + SWAP(conditions[j], conditions[j - 1], temp) } } } - condition = sp[gSpecialVar_0x8006]; + condition = conditions[gSpecialVar_0x8006]; var0 = 0; r8 = 0; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - if (sp[i] == condition) + if (conditions[i] == condition) { var0++; if (i == gSpecialVar_0x8006) @@ -183,15 +185,15 @@ void sub_80F8970(void) } } - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { - if (sp[i] == condition) + if (conditions[i] == condition) break; } r7 = i; var2 = r8; - for (i = 0; i < 4; i++) + for (i = 0; i < CONTESTANT_COUNT; i++) { if (condition == gContestMonConditions[i]) { diff --git a/src/secret_base.c b/src/secret_base.c index f2ac6cb72..e7f40a72b 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -41,11 +41,13 @@ #include "constants/maps.h" #include "constants/map_types.h" #include "constants/metatile_behaviors.h" +#include "constants/metatile_labels.h" #include "constants/moves.h" #include "constants/secret_bases.h" #include "constants/songs.h" #include "constants/species.h" #include "constants/trainers.h" +#include "constants/tv.h" struct SecretBaseRegistryMenu { @@ -88,13 +90,13 @@ static u8 GetSecretBaseOwnerType(u8 secretBaseId); static const struct SecretBaseEntranceMetatiles sSecretBaseEntranceMetatiles[] = { - {.closedMetatileId = 0x0026, .openMetatileId = 0x0036}, - {.closedMetatileId = 0x0027, .openMetatileId = 0x0037}, - {.closedMetatileId = 0x01a0, .openMetatileId = 0x01a1}, - {.closedMetatileId = 0x01a8, .openMetatileId = 0x01a9}, - {.closedMetatileId = 0x01b0, .openMetatileId = 0x01b1}, - {.closedMetatileId = 0x0208, .openMetatileId = 0x0210}, - {.closedMetatileId = 0x0271, .openMetatileId = 0x0278}, + {.closedMetatileId = METATILE_General_SecretBase_TreeLeft, .openMetatileId = METATILE_General_SecretBase_VineLeft}, + {.closedMetatileId = METATILE_General_SecretBase_TreeRight, .openMetatileId = METATILE_General_SecretBase_VineRight}, + {.closedMetatileId = METATILE_General_RedCaveIndent, .openMetatileId = METATILE_General_RedCaveOpen}, + {.closedMetatileId = METATILE_General_YellowCaveIndent, .openMetatileId = METATILE_General_YellowCaveOpen}, + {.closedMetatileId = METATILE_General_BlueCaveIndent, .openMetatileId = METATILE_General_BlueCaveOpen}, + {.closedMetatileId = METATILE_Fallarbor_BrownCaveIndent, .openMetatileId = METATILE_Fallarbor_BrownCaveOpen}, + {.closedMetatileId = METATILE_Fortree_SecretBase_Shrub, .openMetatileId = METATILE_Fortree_SecretBase_ShrubOpen}, }; // mapNum, warpId, x, y @@ -452,10 +454,10 @@ static void EnterNewlyCreatedSecretBase_StartFadeIn(void) ScriptContext2_Enable(); HideMapNamePopUpWindow(); - FindMetatileIdMapCoords(&x, &y, 0x220); + FindMetatileIdMapCoords(&x, &y, METATILE_SecretBase_PC); x += 7; y += 7; - MapGridSetMetatileIdAt(x, y, 0x220 | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_PC | METATILE_COLLISION_MASK); CurrentMapDrawMetatileAt(x, y); FadeInFromBlack(); CreateTask(EnterNewlyCreatedSecretBase_WaitFadeIn, 0); @@ -506,7 +508,7 @@ void InitSecretBaseAppearance(bool8 hidePC) secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE); decorations = gSaveBlock1Ptr->secretBases[secretBaseId].decorations; decorPos = gSaveBlock1Ptr->secretBases[secretBaseId].decorationPositions; - for (x = 0; x < 16; x++) + for (x = 0; x < DECOR_MAX_SECRET_BASE; x++) { if (decorations[x] > 0 && decorations[x] <= NUM_DECORATIONS && gDecorations[decorations[x]].permission != DECORPERM_SPRITE) ShowDecorationOnMap((decorPos[x] >> 4) + 7, (decorPos[x] & 0xF) + 7, decorations[x]); @@ -515,14 +517,14 @@ void InitSecretBaseAppearance(bool8 hidePC) if (secretBaseId != 0) { // Another player's secret base. Change PC type to the "Register" PC. - FindMetatileIdMapCoords(&x, &y, 0x220); - MapGridSetMetatileIdAt(x + 7, y + 7, 0x221 | METATILE_COLLISION_MASK); + FindMetatileIdMapCoords(&x, &y, METATILE_SecretBase_PC); + MapGridSetMetatileIdAt(x + 7, y + 7, METATILE_SecretBase_RegisterPC | METATILE_COLLISION_MASK); } else if (hidePC == TRUE && VarGet(VAR_SECRET_BASE_INITIALIZED) == 1) { // Change PC to regular ground tile. - FindMetatileIdMapCoords(&x, &y, 0x220); - MapGridSetMetatileIdAt(x + 7, y + 7, 0x20a | METATILE_COLLISION_MASK); + FindMetatileIdMapCoords(&x, &y, METATILE_SecretBase_PC); + MapGridSetMetatileIdAt(x + 7, y + 7, METATILE_SecretBase_Ground | METATILE_COLLISION_MASK); } } } @@ -1174,48 +1176,60 @@ void SecretBasePerStepCallback(u8 taskId) VarSet(VAR_SECRET_BASE_STEP_COUNTER, VarGet(VAR_SECRET_BASE_STEP_COUNTER) + 1); behavior = MapGridGetMetatileBehaviorAt(x, y); tileId = MapGridGetMetatileIdAt(x, y); - if (tileId == 0x234 || tileId == 0x23C) + if (tileId == METATILE_SecretBase_Board_Top || tileId == METATILE_SecretBase_Board_Bottom) { if (sInFriendSecretBase == TRUE) { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x20); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SOLID_BOARD); } } - else if (tileId == 0x2b8 || tileId == 0x2b9 || tileId == 0x2ba || tileId == 0x2c0 || tileId == 0x2c1 || tileId == 0x2c2 || tileId == 0x2c8 || tileId == 0x2c9 || tileId == 0x2ca) + else if (tileId == METATILE_SecretBase_SmallChair + || tileId == METATILE_SecretBase_PokemonChair + || tileId == METATILE_SecretBase_HeavyChair + || tileId == METATILE_SecretBase_PrettyChair + || tileId == METATILE_SecretBase_ComfortChair + || tileId == METATILE_SecretBase_RaggedChair + || tileId == METATILE_SecretBase_BrickChair + || tileId == METATILE_SecretBase_CampChair + || tileId == METATILE_SecretBase_HardChair) { if (sInFriendSecretBase == TRUE) - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x01); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_CHAIR); } - else if (tileId == 0x239 || tileId == 0x241 || tileId == 0x251 || tileId == 0x259) + else if (tileId == METATILE_SecretBase_RedTent_DoorTop + || tileId == METATILE_SecretBase_RedTent_Door + || tileId == METATILE_SecretBase_BlueTent_DoorTop + || tileId == METATILE_SecretBase_BlueTent_Door) { if (sInFriendSecretBase == TRUE) - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x04); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_TENT); } - else if ((behavior == 0x34 && tileId == 0x26d) || (behavior == 0x35 && MapGridGetMetatileIdAt(x, y) == 0x26a)) + else if ((behavior == MB_IMPASSABLE_NORTHEAST && tileId == METATILE_SecretBase_Stand_RightCorner) + || (behavior == MB_IMPASSABLE_NORTHWEST && MapGridGetMetatileIdAt(x, y) == METATILE_SecretBase_Stand_LeftCorner)) { if (sInFriendSecretBase == TRUE) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x200); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_STAND); } - else if (behavior == 0xc1 && tileId == 0x23d) + else if (behavior == MB_IMPASSABLE_WEST_AND_EAST && tileId == METATILE_SecretBase_Slide_Stairs) { if (sInFriendSecretBase == TRUE) { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x1000); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x2000); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ SECRET_BASE_USED_SLIDE); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_DECLINED_SLIDE); } } - else if (behavior == 0x47 && tileId == 0x23e) + else if (behavior == MB_SLIDE_SOUTH && tileId == METATILE_SecretBase_Slide) { if (sInFriendSecretBase == TRUE) { - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x1000); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x2000); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SLIDE); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ SECRET_BASE_DECLINED_SLIDE); } } else if (MetatileBehavior_IsSecretBaseGlitterMat(behavior) == TRUE) { if (sInFriendSecretBase == TRUE) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x80); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_GLITTER_MAT); } else if (MetatileBehavior_IsSecretBaseBalloon(behavior) == TRUE) { @@ -1224,13 +1238,13 @@ void SecretBasePerStepCallback(u8 taskId) { switch ((int)MapGridGetMetatileIdAt(x, y)) { - case 0x338: - case 0x33c: - case 0x340: - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x02); + case METATILE_SecretBase_RedBalloon: + case METATILE_SecretBase_BlueBalloon: + case METATILE_SecretBase_YellowBalloon: + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_BALLOON); break; - case 0x228: - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x100); + case METATILE_SecretBase_MudBall: + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_MUD_BALL); break; } } @@ -1238,23 +1252,23 @@ void SecretBasePerStepCallback(u8 taskId) else if (MetatileBehavior_IsSecretBaseBreakableDoor(behavior) == TRUE) { if (sInFriendSecretBase == TRUE) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x400); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_BREAKABLE_DOOR); ShatterSecretBaseBreakableDoor(x, y); } else if (MetatileBehavior_IsSecretBaseSoundMat(behavior) == TRUE){ if (sInFriendSecretBase == TRUE) - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8000); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_NOTE_MAT); } else if (MetatileBehavior_IsSecretBaseJumpMat(behavior) == TRUE) { if (sInFriendSecretBase == TRUE) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4000); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_JUMP_MAT); } else if (MetatileBehavior_IsSecretBaseSpinMat(behavior) == TRUE) { if (sInFriendSecretBase == TRUE) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x02); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SPIN_MAT); } } break; @@ -1417,9 +1431,8 @@ static void SortSecretBasesByRegistryStatus(void) { if ((secretBases[i].registryStatus == 0 && secretBases[j].registryStatus == 1) || (secretBases[i].registryStatus == 2 && secretBases[j].registryStatus != 2)) { - struct SecretBase temp = secretBases[i]; - secretBases[i] = secretBases[j]; - secretBases[j] = temp; + struct SecretBase temp; + SWAP(secretBases[i], secretBases[j], temp) } } } @@ -1461,48 +1474,57 @@ bool8 SecretBaseBelongsToPlayer(struct SecretBase *secretBase) return TRUE; } +#define DELETED_BASE_A (1 << 0) +#define DELETED_BASE_B (1 << 1) +#define DELETED_BASE_C (1 << 2) + void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBase *basesA, struct SecretBase *basesB, struct SecretBase *basesC) { u8 i; - u8 sbFlags = 0x0; + u8 sbFlags = 0; for (i = 0; i < SECRET_BASES_COUNT; i++) { - if (!(sbFlags & 0x1)) // 001 + if (!(sbFlags & DELETED_BASE_A)) { if (SecretBaseBelongsToPlayer(&basesA[i]) == TRUE) { ClearSecretBase(&basesA[i]); - sbFlags |= 1; + sbFlags |= DELETED_BASE_A; } } - if (!(sbFlags & 0x2)) // 010 + if (!(sbFlags & DELETED_BASE_B)) { if (SecretBaseBelongsToPlayer(&basesB[i]) == TRUE) { ClearSecretBase(&basesB[i]); - sbFlags |= 2; + sbFlags |= DELETED_BASE_B; } } - if (!(sbFlags & 0x4)) // 100 + if (!(sbFlags & DELETED_BASE_C)) { if (SecretBaseBelongsToPlayer(&basesC[i]) == TRUE) { ClearSecretBase(&basesC[i]); - sbFlags |= 4; + sbFlags |= DELETED_BASE_C; } } - if (sbFlags == 0x7) // 111 + if (sbFlags == (DELETED_BASE_A | DELETED_BASE_B | DELETED_BASE_C)) { break; } } } -bool8 sub_80EAD14(struct SecretBase *secretBase, struct SecretBase *secretBases, u8 c) +#undef DELETED_BASE_A +#undef DELETED_BASE_B +#undef DELETED_BASE_C + +// returns TRUE if secretBase was deleted, FALSE otherwise +static bool8 ClearDuplicateOwnedSecretBases(struct SecretBase *secretBase, struct SecretBase *secretBases, u8 c) { u8 i; @@ -1546,11 +1568,11 @@ void sub_80EAD94(struct SecretBase *basesA, struct SecretBase *basesB, struct Se { basesA[i].sbr_field_1_0 = 1; } - if (!sub_80EAD14(&basesA[i], basesB, i)) + if (!ClearDuplicateOwnedSecretBases(&basesA[i], basesB, i)) { - if (!sub_80EAD14(&basesA[i], basesC, i)) + if (!ClearDuplicateOwnedSecretBases(&basesA[i], basesC, i)) { - sub_80EAD14(&basesA[i], basesD, i); + ClearDuplicateOwnedSecretBases(&basesA[i], basesD, i); } } } @@ -1560,9 +1582,9 @@ void sub_80EAD94(struct SecretBase *basesA, struct SecretBase *basesB, struct Se if (basesB[i].secretBaseId) { basesB[i].battledOwnerToday = 0; - if (!sub_80EAD14(&basesB[i], basesC, i)) + if (!ClearDuplicateOwnedSecretBases(&basesB[i], basesC, i)) { - sub_80EAD14(&basesB[i], basesD, i); + ClearDuplicateOwnedSecretBases(&basesB[i], basesD, i); } } } @@ -1571,7 +1593,7 @@ void sub_80EAD94(struct SecretBase *basesA, struct SecretBase *basesB, struct Se if (basesC[i].secretBaseId) { basesC[i].battledOwnerToday = 0; - sub_80EAD14(&basesC[i], basesD, i); + ClearDuplicateOwnedSecretBases(&basesC[i], basesD, i); } if (basesD[i].secretBaseId) { @@ -1617,6 +1639,17 @@ void sub_80EAEF4(struct SecretBaseRecordMixer *mixers) sub_80EABA4(&mixers[2], 0); } +#define INIT_SECRET_BASE_RECORD_MIXER(linkId1, linkId2, linkId3) \ + mixers[0].secretBases = secretBases + linkId1 * recordSize; \ + mixers[0].version = gLinkPlayers[linkId1].version & 0xFF; \ + mixers[0].language = gLinkPlayers[linkId1].language; \ + mixers[1].secretBases = secretBases + linkId2 * recordSize; \ + mixers[1].version = gLinkPlayers[linkId2].version & 0xFF; \ + mixers[1].language = gLinkPlayers[linkId2].language; \ + mixers[2].secretBases = secretBases + linkId3 * recordSize; \ + mixers[2].version = gLinkPlayers[linkId3].version & 0xFF; \ + mixers[2].language = gLinkPlayers[linkId3].language; + void ReceiveSecretBasesData(void *secretBases, size_t recordSize, u8 linkIdx) { struct SecretBaseRecordMixer mixers[3]; @@ -1638,48 +1671,16 @@ void ReceiveSecretBasesData(void *secretBases, size_t recordSize, u8 linkIdx) switch (linkIdx) { case 0: - mixers[0].secretBases = secretBases + 1 * recordSize; - mixers[0].version = gLinkPlayers[1].version & 0xFF; - mixers[0].language = gLinkPlayers[1].language; - mixers[1].secretBases = secretBases + 2 * recordSize; - mixers[1].version = gLinkPlayers[2].version & 0xFF; - mixers[1].language = gLinkPlayers[2].language; - mixers[2].secretBases = secretBases + 3 * recordSize; - mixers[2].version = gLinkPlayers[3].version & 0xFF; - mixers[2].language = gLinkPlayers[3].language; + INIT_SECRET_BASE_RECORD_MIXER(1, 2, 3) break; case 1: - mixers[0].secretBases = secretBases + 2 * recordSize; - mixers[0].version = gLinkPlayers[2].version & 0xFF; - mixers[0].language = gLinkPlayers[2].language; - mixers[1].secretBases = secretBases + 3 * recordSize; - mixers[1].version = gLinkPlayers[3].version & 0xFF; - mixers[1].language = gLinkPlayers[3].language; - mixers[2].secretBases = secretBases + 0 * recordSize; - mixers[2].version = gLinkPlayers[0].version & 0xFF; - mixers[2].language = gLinkPlayers[0].language; + INIT_SECRET_BASE_RECORD_MIXER(2, 3, 0) break; case 2: - mixers[0].secretBases = secretBases + 3 * recordSize; - mixers[0].version = gLinkPlayers[3].version & 0xFF; - mixers[0].language = gLinkPlayers[3].language; - mixers[1].secretBases = secretBases + 0 * recordSize; - mixers[1].version = gLinkPlayers[0].version & 0xFF; - mixers[1].language = gLinkPlayers[0].language; - mixers[2].secretBases = secretBases + 1 * recordSize; - mixers[2].version = gLinkPlayers[1].version & 0xFF; - mixers[2].language = gLinkPlayers[1].language; + INIT_SECRET_BASE_RECORD_MIXER(3, 0, 1) break; case 3: - mixers[0].secretBases = secretBases + 0 * recordSize; - mixers[0].version = gLinkPlayers[0].version & 0xFF; - mixers[0].language = gLinkPlayers[0].language; - mixers[1].secretBases = secretBases + 1 * recordSize; - mixers[1].version = gLinkPlayers[1].version & 0xFF; - mixers[1].language = gLinkPlayers[1].language; - mixers[2].secretBases = secretBases + 2 * recordSize; - mixers[2].version = gLinkPlayers[2].version & 0xFF; - mixers[2].language = gLinkPlayers[2].language; + INIT_SECRET_BASE_RECORD_MIXER(0, 1, 2) break; } @@ -1734,13 +1735,13 @@ void InitSecretBaseVars(void) sInFriendSecretBase = FALSE; } -void sub_80EB218(void) +void CheckLeftFriendsSecretBase(void) { if (VarGet(VAR_SECRET_BASE_IS_NOT_LOCAL) && sInFriendSecretBase == TRUE && !CurMapIsSecretBase()) { VarSet(VAR_SECRET_BASE_IS_NOT_LOCAL, FALSE); sInFriendSecretBase = FALSE; - sub_80EEA70(); + TryPutSecretBaseSecretsOnAir(); VarSet(VAR_SECRET_BASE_STEP_COUNTER, 0); VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, 0); VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, 0); @@ -1749,252 +1750,245 @@ void sub_80EB218(void) } } -void sub_80EB290(void) +void CheckInteractedWithFriendsDollDecor(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x800); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_DOLL); } -void sub_80EB2C8(void) +void CheckInteractedWithFriendsCushionDecor(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x400); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_CUSHION); } -void sub_80EB300(void) +void DeclinedSecretBaseBattle(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~0x3800); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~0x001); - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x2000); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~(SECRET_BASE_BATTLED_WON | SECRET_BASE_BATTLED_LOST | SECRET_BASE_DECLINED_BATTLE)); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~(SECRET_BASE_BATTLED_DRAW)); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_DECLINED_BATTLE); } } -void sub_80EB368(void) +void WonSecretBaseBattle(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~0x3800); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~0x001); - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x800); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~(SECRET_BASE_BATTLED_WON | SECRET_BASE_BATTLED_LOST | SECRET_BASE_DECLINED_BATTLE)); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~(SECRET_BASE_BATTLED_DRAW)); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_BATTLED_WON); } } -void sub_80EB3D0(void) +void LostSecretBaseBattle(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~0x3800); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~0x001); - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x1000); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~(SECRET_BASE_BATTLED_WON | SECRET_BASE_BATTLED_LOST | SECRET_BASE_DECLINED_BATTLE)); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~(SECRET_BASE_BATTLED_DRAW)); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_BATTLED_LOST); } } -void sub_80EB438(void) +void DrewSecretBaseBattle(void) { if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) { - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~0x3800); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~0x001); - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x001); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~(SECRET_BASE_BATTLED_WON | SECRET_BASE_BATTLED_LOST | SECRET_BASE_DECLINED_BATTLE)); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~(SECRET_BASE_BATTLED_DRAW)); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_BATTLED_DRAW); } } -void SetSecretBaseSecretsTvFlags_Poster(void) +void CheckInteractedWithFriendsPosterDecor(void) { s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) { - case 0x31C: - case 0x31D: - case 0x31E: - case 0x31F: - case 0x324: - case 0x325: - case 0x326: - case 0x327: - case 0x32C: - case 0x32D: - case 0x330: - case 0x331: - case 0x332: - case 0x333: - case 0x334: + case METATILE_SecretBase_PikaPoster_Left: + case METATILE_SecretBase_PikaPoster_Right: + case METATILE_SecretBase_LongPoster_Left: + case METATILE_SecretBase_LongPoster_Right: + case METATILE_SecretBase_SeaPoster_Left: + case METATILE_SecretBase_SeaPoster_Right: + case METATILE_SecretBase_SkyPoster_Left: + case METATILE_SecretBase_SkyPoster_Right: + case METATILE_SecretBase_KissPoster_Left: + case METATILE_SecretBase_KissPoster_Right: + case METATILE_SecretBase_BallPoster: + case METATILE_SecretBase_GreenPoster: + case METATILE_SecretBase_RedPoster: + case METATILE_SecretBase_BluePoster: + case METATILE_SecretBase_CutePoster: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x4000); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_POSTER); break; } } -void SetSecretBaseSecretsTvFlags_MiscFurnature(void) +void CheckInteractedWithFriendsFurnitureBottom(void) { s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) { - case 0x28a: - case 0x28b: - // Bird Statue + case METATILE_SecretBase_GlassOrnament_Base1: + case METATILE_SecretBase_GlassOrnament_Base2: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x40); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_GLASS_ORNAMENT); break; - case 0x2d8: - case 0x2d9: - case 0x2da: - case 0x2db: - case 0x2dc: - case 0x2dd: - case 0x2e8: - case 0x2e9: - case 0x2ea: - case 0x2eb: - case 0x2ec: - case 0x2ed: - case 0x2ee: - case 0x2ef: - case 0x2f8: - case 0x2f9: - case 0x2fa: - case 0x2fb: - // Plants + case METATILE_SecretBase_RedPlant_Base1: + case METATILE_SecretBase_RedPlant_Base2: + case METATILE_SecretBase_TropicalPlant_Base1: + case METATILE_SecretBase_TropicalPlant_Base2: + case METATILE_SecretBase_PrettyFlower_Base1: + case METATILE_SecretBase_PrettyFlower_Base2: + case METATILE_SecretBase_ColorfulFlowers_BaseLeft1: + case METATILE_SecretBase_ColorfulFlowers_BaseRight1: + case METATILE_SecretBase_ColorfulFlowers_BaseLeft2: + case METATILE_SecretBase_ColorfulFlowers_BaseRight2: + case METATILE_SecretBase_BigPlant_BaseLeft1: + case METATILE_SecretBase_BigPlant_BaseRight1: + case METATILE_SecretBase_BigPlant_BaseLeft2: + case METATILE_SecretBase_BigPlant_BaseRight2: + case METATILE_SecretBase_GorgeousPlant_BaseLeft1: + case METATILE_SecretBase_GorgeousPlant_BaseRight1: + case METATILE_SecretBase_GorgeousPlant_BaseLeft2: + case METATILE_SecretBase_GorgeousPlant_BaseRight2: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8); + VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_PLANT); break; - case 0x22c: - case 0x233: - // Fence + case METATILE_SecretBase_Fence_Horizontal: + case METATILE_SecretBase_Fence_Vertical: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x40); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_FENCE); break; - case 0x288: - case 0x289: - // Tire + case METATILE_SecretBase_Tire_BottomLeft: + case METATILE_SecretBase_Tire_BottomRight: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x100); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_TIRE); break; - case 0x22d: - case 0x22e: - case 0x22f: - // Bricks + case METATILE_SecretBase_RedBrick_Bottom: + case METATILE_SecretBase_YellowBrick_Bottom: + case METATILE_SecretBase_BlueBrick_Bottom: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x10); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_BRICK); break; - case 0x287: - case 0x28f: - case 0x298: - case 0x299: - case 0x29a: - case 0x29b: - case 0x29c: - case 0x29d: - case 0x29e: - case 0x29f: - case 0x2ab: - case 0x2b0: - case 0x2b1: - case 0x2b2: - case 0x2b4: - case 0x2b5: - case 0x2b6: - case 0x2b7: - case 0x2cb: - case 0x2cc: - case 0x2cd: - case 0x2ce: - case 0x2cf: - // Tables + case METATILE_SecretBase_SmallDesk: + case METATILE_SecretBase_PokemonDesk: + case METATILE_SecretBase_HeavyDesk_BottomLeft: + case METATILE_SecretBase_HeavyDesk_BottomMid: + case METATILE_SecretBase_HeavyDesk_BottomRight: + case METATILE_SecretBase_RaggedDesk_BottomLeft: + case METATILE_SecretBase_RaggedDesk_BottomMid: + case METATILE_SecretBase_RaggedDesk_BottomRight: + case METATILE_SecretBase_ComfortDesk_BottomLeft: + case METATILE_SecretBase_ComfortDesk_BottomMid: + case METATILE_SecretBase_ComfortDesk_BottomRight: + case METATILE_SecretBase_BrickDesk_BottomLeft: + case METATILE_SecretBase_BrickDesk_BottomMid: + case METATILE_SecretBase_BrickDesk_BottomRight: + case METATILE_SecretBase_CampDesk_BottomLeft: + case METATILE_SecretBase_CampDesk_BottomMid: + case METATILE_SecretBase_CampDesk_BottomRight: + case METATILE_SecretBase_HardDesk_BottomLeft: + case METATILE_SecretBase_HardDesk_BottomMid: + case METATILE_SecretBase_HardDesk_BottomRight: + case METATILE_SecretBase_PrettyDesk_BottomLeft: + case METATILE_SecretBase_PrettyDesk_BottomMid: + case METATILE_SecretBase_PrettyDesk_BottomRight: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_DESK); break; } } -void SetSecretBaseSecretsTvFlags_LargeDecorationSpot(void) +void CheckInteractedWithFriendsFurnitureMiddle(void) { s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) { - case 0x291: - case 0x294: - case 0x297: - case 0x2a1: - case 0x2a5: - case 0x2a9: - case 0x2ad: - case 0x2bb: - case 0x2be: - case 0x2c3: - case 0x2c6: + case METATILE_SecretBase_HeavyDesk_TopMid: + case METATILE_SecretBase_RaggedDesk_TopMid: + case METATILE_SecretBase_ComfortDesk_TopMid: + case METATILE_SecretBase_BrickDesk_TopMid: + case METATILE_SecretBase_BrickDesk_Center: + case METATILE_SecretBase_CampDesk_TopMid: + case METATILE_SecretBase_CampDesk_Center: + case METATILE_SecretBase_HardDesk_TopMid: + case METATILE_SecretBase_HardDesk_Center: + case METATILE_SecretBase_PrettyDesk_TopMid: + case METATILE_SecretBase_PrettyDesk_Center: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_DESK); break; } } -void SetSecretBaseSecretsTvFlags_SmallDecorationSpot(void) +void CheckInteractedWithFriendsFurnitureTop(void) { s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch (MapGridGetMetatileIdAt(x, y)) { - case 0x290: - case 0x292: - case 0x293: - case 0x295: - case 0x296: - case 0x2a0: - case 0x2a2: - case 0x2a3: - case 0x2a4: - case 0x2a6: - case 0x2a7: - case 0x2a8: - case 0x2aa: - case 0x2ac: - case 0x2ae: - case 0x2af: - case 0x2bc: - case 0x2bd: - case 0x2bf: - case 0x2c4: - case 0x2c5: - case 0x2c7: + case METATILE_SecretBase_HeavyDesk_TopLeft: + case METATILE_SecretBase_HeavyDesk_TopRight: + case METATILE_SecretBase_RaggedDesk_TopLeft: + case METATILE_SecretBase_RaggedDesk_TopRight: + case METATILE_SecretBase_ComfortDesk_TopLeft: + case METATILE_SecretBase_ComfortDesk_TopRight: + case METATILE_SecretBase_BrickDesk_TopLeft: + case METATILE_SecretBase_BrickDesk_TopRight: + case METATILE_SecretBase_BrickDesk_MidLeft: + case METATILE_SecretBase_BrickDesk_MidRight: + case METATILE_SecretBase_CampDesk_TopLeft: + case METATILE_SecretBase_CampDesk_TopRight: + case METATILE_SecretBase_CampDesk_MidLeft: + case METATILE_SecretBase_CampDesk_MidRight: + case METATILE_SecretBase_HardDesk_TopLeft: + case METATILE_SecretBase_HardDesk_TopRight: + case METATILE_SecretBase_HardDesk_MidLeft: + case METATILE_SecretBase_HardDesk_MidRight: + case METATILE_SecretBase_PrettyDesk_TopLeft: + case METATILE_SecretBase_PrettyDesk_TopRight: + case METATILE_SecretBase_PrettyDesk_MidLeft: + case METATILE_SecretBase_PrettyDesk_MidRight: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_DESK); break; - case 0x280: - case 0x281: + case METATILE_SecretBase_Tire_TopLeft: + case METATILE_SecretBase_Tire_TopRight: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x100); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_TIRE); break; - case 0x225: - case 0x226: - case 0x227: + case METATILE_SecretBase_RedBrick_Top: + case METATILE_SecretBase_YellowBrick_Top: + case METATILE_SecretBase_BlueBrick_Top: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x10); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_BRICK); break; } } -void SetSecretBaseSecretsTvFlags_SandOrnament(void) +void CheckInteractedWithFriendsSandOrnament(void) { s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); switch ((int)MapGridGetMetatileIdAt(x, y)) { - case 0x28d: - case 0x28e: - // Sand Ornament + case METATILE_SecretBase_SandOrnament_Base1: + case METATILE_SecretBase_SandOrnament_Base2: if (VarGet(VAR_CURRENT_SECRET_BASE) != 0) - VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4); + VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SAND_ORNAMENT); break; } } @@ -637,50 +637,51 @@ static const u8 *const sTVWhatsNo1InHoennTodayTextGroup[] = { gTVWhatsNo1InHoennTodayText08 }; -static const u8 *const sTVSecretBaseSecretsTextGroup[] = { - gTVSecretBaseSecretsText00, - gTVSecretBaseSecretsText01, - gTVSecretBaseSecretsText02, - gTVSecretBaseSecretsText03, - gTVSecretBaseSecretsText04, - gTVSecretBaseSecretsText05, - gTVSecretBaseSecretsText06, - gTVSecretBaseSecretsText07, - gTVSecretBaseSecretsText08, - gTVSecretBaseSecretsText09, - gTVSecretBaseSecretsText10, - gTVSecretBaseSecretsText11, - gTVSecretBaseSecretsText12, - gTVSecretBaseSecretsText13, - gTVSecretBaseSecretsText14, - gTVSecretBaseSecretsText15, - gTVSecretBaseSecretsText16, - gTVSecretBaseSecretsText17, - gTVSecretBaseSecretsText18, - gTVSecretBaseSecretsText19, - gTVSecretBaseSecretsText20, - gTVSecretBaseSecretsText21, - gTVSecretBaseSecretsText22, - gTVSecretBaseSecretsText23, - gTVSecretBaseSecretsText24, - gTVSecretBaseSecretsText25, - gTVSecretBaseSecretsText26, - gTVSecretBaseSecretsText27, - gTVSecretBaseSecretsText28, - gTVSecretBaseSecretsText29, - gTVSecretBaseSecretsText30, - gTVSecretBaseSecretsText31, - gTVSecretBaseSecretsText32, - gTVSecretBaseSecretsText33, - gTVSecretBaseSecretsText34, - gTVSecretBaseSecretsText35, - gTVSecretBaseSecretsText36, - gTVSecretBaseSecretsText37, - gTVSecretBaseSecretsText38, - gTVSecretBaseSecretsText39, - gTVSecretBaseSecretsText40, - gTVSecretBaseSecretsText41, - gTVSecretBaseSecretsText42 +static const u8 *const sTVSecretBaseSecretsTextGroup[SBSECRETS_NUM_STATES] = +{ + [SBSECRETS_STATE_INTRO] = TVSecretBaseSecrets_Text_Intro, + [SBSECRETS_STATE_DO_NEXT1] = TVSecretBaseSecrets_Text_WhatWillPlayerDoNext1, + [SBSECRETS_STATE_DO_NEXT2] = TVSecretBaseSecrets_Text_WhatWillPlayerDoNext2, + [SBSECRETS_STATE_TOOK_X_STEPS] = TVSecretBaseSecrets_Text_TookXStepsBeforeLeaving, + [SBSECRETS_STATE_BASE_INTEREST_LOW] = TVSecretBaseSecrets_Text_BaseFailedToInterestPlayer, + [SBSECRETS_STATE_BASE_INTEREST_MED] = TVSecretBaseSecrets_Text_PlayerEnjoyedBase, + [SBSECRETS_STATE_BASE_INTEREST_HIGH] = TVSecretBaseSecrets_Text_PlayerHugeFanOfBase, + [SBSECRETS_STATE_OUTRO] = TVSecretBaseSecrets_Text_Outro, + [SBSECRETS_STATE_NOTHING_USED1] = TVSecretBaseSecrets_Text_StoppedMoving1, + [SBSECRETS_STATE_NOTHING_USED2] = TVSecretBaseSecrets_Text_StoppedMoving2, + [SBSECRETS_STATE_USED_CHAIR] = TVSecretBaseSecrets_Text_UsedChair, + [SBSECRETS_STATE_USED_BALLOON] = TVSecretBaseSecrets_Text_UsedBalloon, + [SBSECRETS_STATE_USED_TENT] = TVSecretBaseSecrets_Text_UsedTent, + [SBSECRETS_STATE_USED_PLANT] = TVSecretBaseSecrets_Text_UsedPlant, + [SBSECRETS_STATE_USED_GOLD_SHIELD] = TVSecretBaseSecrets_Text_UsedGoldShield, + [SBSECRETS_STATE_USED_SILVER_SHIELD] = TVSecretBaseSecrets_Text_UsedSilverShield, + [SBSECRETS_STATE_USED_GLASS_ORNAMENT] = TVSecretBaseSecrets_Text_UsedGlassOrnament, + [SBSECRETS_STATE_USED_TV] = TVSecretBaseSecrets_Text_UsedTV, + [SBSECRETS_STATE_USED_MUD_BALL] = TVSecretBaseSecrets_Text_UsedMudBall, + [SBSECRETS_STATE_USED_BAG] = TVSecretBaseSecrets_Text_UsedBag, + [SBSECRETS_STATE_USED_CUSHION] = TVSecretBaseSecrets_Text_UsedCushion, + [SBSECRETS_STATE_HIT_CUSHION] = TVSecretBaseSecrets_Text_HitCushion, + [SBSECRETS_STATE_HUGGED_CUSHION] = TVSecretBaseSecrets_Text_HuggedCushion, + [SBSECRETS_STATE_BATTLED_WON] = TVSecretBaseSecrets_Text_BattledWon, + [SBSECRETS_STATE_BATTLED_LOST] = TVSecretBaseSecrets_Text_BattledLost, + [SBSECRETS_STATE_DECLINED_BATTLE] = TVSecretBaseSecrets_Text_DeclinedBattle, + [SBSECRETS_STATE_USED_POSTER] = TVSecretBaseSecrets_Text_UsedPoster, + [SBSECRETS_STATE_USED_NOTE_MAT] = TVSecretBaseSecrets_Text_UsedNoteMat, + [SBSECRETS_STATE_BATTLED_DRAW] = TVSecretBaseSecrets_Text_BattledDraw, + [SBSECRETS_STATE_USED_SPIN_MAT] = TVSecretBaseSecrets_Text_UsedSpinMat, + [SBSECRETS_STATE_USED_SAND_ORNAMENT] = TVSecretBaseSecrets_Text_UsedSandOrnament, + [SBSECRETS_STATE_USED_DESK] = TVSecretBaseSecrets_Text_UsedDesk, + [SBSECRETS_STATE_USED_BRICK] = TVSecretBaseSecrets_Text_UsedBrick, + [SBSECRETS_STATE_USED_SOLID_BOARD] = TVSecretBaseSecrets_Text_UsedSolidBoard, + [SBSECRETS_STATE_USED_FENCE] = TVSecretBaseSecrets_Text_UsedFence, + [SBSECRETS_STATE_USED_GLITTER_MAT] = TVSecretBaseSecrets_Text_UsedGlitterMat, + [SBSECRETS_STATE_USED_TIRE] = TVSecretBaseSecrets_Text_UsedTire, + [SBSECRETS_STATE_USED_STAND] = TVSecretBaseSecrets_Text_UsedStand, + [SBSECRETS_STATE_USED_BREAKABLE_DOOR] = TVSecretBaseSecrets_Text_BrokeDoor, + [SBSECRETS_STATE_USED_DOLL] = TVSecretBaseSecrets_Text_UsedDoll, + [SBSECRETS_STATE_USED_SLIDE] = TVSecretBaseSecrets_Text_UsedSlide, + [SBSECRETS_STATE_DECLINED_SLIDE] = TVSecretBaseSecrets_Text_UsedSlideButDidntGoDown, + [SBSECRETS_STATE_USED_JUMP_MAT] = TVSecretBaseSecrets_Text_UsedJumpMat }; static const u8 *const sTVSafariFanClubTextGroup[] = { @@ -709,39 +710,42 @@ static const u8 *const sTVInSearchOfTrainersTextGroup[] = { gTVInSearchOfTrainersText08 }; -const u8 sTVSecretBaseSecretsStateLookup[] = { - 0x0a, - 0x0b, - 0x0c, - 0x0d, - 0x0e, - 0x0f, - 0x10, - 0x11, - 0x12, - 0x13, - 0x14, - 0x17, - 0x18, - 0x19, - 0x1a, - 0x1b, - 0x1c, - 0x1d, - 0x1e, - 0x1f, - 0x20, - 0x21, - 0x22, - 0x23, - 0x24, - 0x25, - 0x26, - 0x27, - 0x28, - 0x29, - 0x2a, - 0x2b +// Secret Base Secrets TV Show states for actions that can be taken in a secret base +// The flags that determine whether or not the action was taken are commented +const u8 sTVSecretBaseSecretsActions[NUM_SECRET_BASE_FLAGS] = +{ + SBSECRETS_STATE_USED_CHAIR, // SECRET_BASE_USED_CHAIR + SBSECRETS_STATE_USED_BALLOON, // SECRET_BASE_USED_BALLOON + SBSECRETS_STATE_USED_TENT, // SECRET_BASE_USED_TENT + SBSECRETS_STATE_USED_PLANT, // SECRET_BASE_USED_PLANT + SBSECRETS_STATE_USED_GOLD_SHIELD, // SECRET_BASE_USED_GOLD_SHIELD + SBSECRETS_STATE_USED_SILVER_SHIELD, // SECRET_BASE_USED_SILVER_SHIELD + SBSECRETS_STATE_USED_GLASS_ORNAMENT, // SECRET_BASE_USED_GLASS_ORNAMENT + SBSECRETS_STATE_USED_TV, // SECRET_BASE_USED_TV + SBSECRETS_STATE_USED_MUD_BALL, // SECRET_BASE_USED_MUD_BALL + SBSECRETS_STATE_USED_BAG, // SECRET_BASE_USED_BAG + SBSECRETS_STATE_USED_CUSHION, // SECRET_BASE_USED_CUSHION + SBSECRETS_STATE_BATTLED_WON, // SECRET_BASE_BATTLED_WON + SBSECRETS_STATE_BATTLED_LOST, // SECRET_BASE_BATTLED_LOST + SBSECRETS_STATE_DECLINED_BATTLE, // SECRET_BASE_DECLINED_BATTLE + SBSECRETS_STATE_USED_POSTER, // SECRET_BASE_USED_POSTER + SBSECRETS_STATE_USED_NOTE_MAT, // SECRET_BASE_USED_NOTE_MAT + SBSECRETS_STATE_BATTLED_DRAW, // SECRET_BASE_BATTLED_DRAW + SBSECRETS_STATE_USED_SPIN_MAT, // SECRET_BASE_USED_SPIN_MAT + SBSECRETS_STATE_USED_SAND_ORNAMENT, // SECRET_BASE_USED_SAND_ORNAMENT + SBSECRETS_STATE_USED_DESK, // SECRET_BASE_USED_DESK + SBSECRETS_STATE_USED_BRICK, // SECRET_BASE_USED_BRICK + SBSECRETS_STATE_USED_SOLID_BOARD, // SECRET_BASE_USED_SOLID_BOARD + SBSECRETS_STATE_USED_FENCE, // SECRET_BASE_USED_FENCE + SBSECRETS_STATE_USED_GLITTER_MAT, // SECRET_BASE_USED_GLITTER_MAT + SBSECRETS_STATE_USED_TIRE, // SECRET_BASE_USED_TIRE + SBSECRETS_STATE_USED_STAND, // SECRET_BASE_USED_STAND + SBSECRETS_STATE_USED_BREAKABLE_DOOR, // SECRET_BASE_USED_BREAKABLE_DOOR + SBSECRETS_STATE_USED_DOLL, // SECRET_BASE_USED_DOLL + SBSECRETS_STATE_USED_SLIDE, // SECRET_BASE_USED_SLIDE + SBSECRETS_STATE_DECLINED_SLIDE, // SECRET_BASE_DECLINED_SLIDE + SBSECRETS_STATE_USED_JUMP_MAT, // SECRET_BASE_USED_JUMP_MAT + SBSECRETS_NUM_STATES // SECRET_BASE_UNUSED_FLAG. Odd that this is included, if it were used it would overflow sTVSecretBaseSecretsTextGroup }; // .text @@ -2544,7 +2548,7 @@ void TryPutFrontierTVShowOnAir(u16 winStreak, u8 facilityAndMode) } } -void sub_80EEA70(void) +void TryPutSecretBaseSecretsOnAir(void) { TVShow *show; u8 strbuf[32]; @@ -3591,7 +3595,7 @@ void GetMomOrDadStringForTVMessage(void) } } -void sub_80F01B8(void) +void HideBattleTowerReporter(void) { VarSet(VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0); RemoveEventObjectByLocalIdAndMap(5, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); @@ -7340,35 +7344,32 @@ static void DoTVShowWhatsNo1InHoennToday(void) ShowFieldMessage(sTVWhatsNo1InHoennTodayTextGroup[state]); } -u8 TVShowGetFlagCount(TVShow *show) +u8 SecretBaseSecrets_GetNumActionsTaken(TVShow *show) { u8 i; - u8 tot; + u8 flagsSet; - for (i = 0, tot = 0; i < 32; i ++) + for (i = 0, flagsSet = 0; i < NUM_SECRET_BASE_FLAGS; i ++) { if ((show->secretBaseSecrets.flags >> i) & 1) - { - tot ++; - } + flagsSet++; } - return tot; + return flagsSet; } -static u8 SecretBaseSecrets_GetStateForFlagNumber(TVShow *show, u8 a1) +static u8 SecretBaseSecrets_GetStateByFlagNumber(TVShow *show, u8 flagId) { u8 i; - u8 tot; + u8 flagsSet; - for (i = 0, tot = 0; i < 32; i ++) + for (i = 0, flagsSet = 0; i < NUM_SECRET_BASE_FLAGS; i ++) { if ((show->secretBaseSecrets.flags >> i) & 1) { - if (tot == a1) - { - return sTVSecretBaseSecretsStateLookup[i]; - } - tot ++; + if (flagsSet == flagId) + return sTVSecretBaseSecretsActions[i]; + + flagsSet++; } } return 0; @@ -7378,7 +7379,7 @@ static void DoTVShowSecretBaseSecrets(void) { TVShow *show; u8 state; - u8 bitCount; + u8 numActions; u16 i; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; @@ -7386,226 +7387,128 @@ static void DoTVShowSecretBaseSecrets(void) state = sTVShowState; switch (state) { - case 0: + case SBSECRETS_STATE_INTRO: TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage); TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language); - bitCount = TVShowGetFlagCount(show); - if (bitCount == 0) + numActions = SecretBaseSecrets_GetNumActionsTaken(show); + if (numActions == 0) { - sTVShowState = 8; + sTVShowState = SBSECRETS_STATE_NOTHING_USED1; } else { - show->secretBaseSecrets.savedState = 1; - sTVSecretBaseSecretsRandomValues[0] = Random() % bitCount; - sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[0]); + show->secretBaseSecrets.savedState = SBSECRETS_STATE_DO_NEXT1; + sTVSecretBaseSecretsRandomValues[0] = Random() % numActions; + sTVShowState = SecretBaseSecrets_GetStateByFlagNumber(show, sTVSecretBaseSecretsRandomValues[0]); } break; - case 1: + case SBSECRETS_STATE_DO_NEXT1: TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language); - bitCount = TVShowGetFlagCount(show); - switch (bitCount) + numActions = SecretBaseSecrets_GetNumActionsTaken(show); + switch (numActions) { case 1: - sTVShowState = 9; + sTVShowState = SBSECRETS_STATE_NOTHING_USED2; break; case 2: - show->secretBaseSecrets.savedState = 2; + show->secretBaseSecrets.savedState = SBSECRETS_STATE_DO_NEXT2; if (sTVSecretBaseSecretsRandomValues[0] == 0) { - sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, 1); + sTVShowState = SecretBaseSecrets_GetStateByFlagNumber(show, 1); } else { - sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, 0); + sTVShowState = SecretBaseSecrets_GetStateByFlagNumber(show, 0); } break; default: for (i = 0; i < 0xFFFF; i ++) { - sTVSecretBaseSecretsRandomValues[1] = Random() % bitCount; + sTVSecretBaseSecretsRandomValues[1] = Random() % numActions; if (sTVSecretBaseSecretsRandomValues[1] != sTVSecretBaseSecretsRandomValues[0]) { break; } } - show->secretBaseSecrets.savedState = 2; - sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[1]); + show->secretBaseSecrets.savedState = SBSECRETS_STATE_DO_NEXT2; + sTVShowState = SecretBaseSecrets_GetStateByFlagNumber(show, sTVSecretBaseSecretsRandomValues[1]); break; } break; - case 2: + case SBSECRETS_STATE_DO_NEXT2: TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language); - bitCount = TVShowGetFlagCount(show); - if (bitCount == 2) + numActions = SecretBaseSecrets_GetNumActionsTaken(show); + if (numActions == 2) { - sTVShowState = 9; + sTVShowState = SBSECRETS_STATE_NOTHING_USED2; } else { for (i = 0; i < 0xFFFF; i ++) { - sTVSecretBaseSecretsRandomValues[2] = Random() % bitCount; + sTVSecretBaseSecretsRandomValues[2] = Random() % numActions; if (sTVSecretBaseSecretsRandomValues[2] != sTVSecretBaseSecretsRandomValues[0] && sTVSecretBaseSecretsRandomValues[2] != sTVSecretBaseSecretsRandomValues[1]) { break; } } - show->secretBaseSecrets.savedState = 3; - sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[2]); + show->secretBaseSecrets.savedState = SBSECRETS_STATE_TOOK_X_STEPS; + sTVShowState = SecretBaseSecrets_GetStateByFlagNumber(show, sTVSecretBaseSecretsRandomValues[2]); } break; - case 3: + case SBSECRETS_STATE_TOOK_X_STEPS: TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage); TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language); TV_PrintIntToStringVar(2, show->secretBaseSecrets.stepsInBase); if (show->secretBaseSecrets.stepsInBase <= 30) { - sTVShowState = 4; + sTVShowState = SBSECRETS_STATE_BASE_INTEREST_LOW; } else if (show->secretBaseSecrets.stepsInBase <= 100) { - sTVShowState = 5; + sTVShowState = SBSECRETS_STATE_BASE_INTEREST_MED; } else { - sTVShowState = 6; + sTVShowState = SBSECRETS_STATE_BASE_INTEREST_HIGH; } break; - case 4: - TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage); - TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language); - sTVShowState = 7; - break; - case 5: - TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage); - TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language); - sTVShowState = 7; - break; - case 6: + case SBSECRETS_STATE_BASE_INTEREST_LOW ... SBSECRETS_STATE_BASE_INTEREST_HIGH: TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage); TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language); - sTVShowState = 7; + sTVShowState = SBSECRETS_STATE_OUTRO; break; - case 7: + case SBSECRETS_STATE_OUTRO: TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage); TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language); TVShowDone(); break; - case 8: - sTVShowState = 3; - break; - case 9: - sTVShowState = 3; + // All below states are descriptions of what the player interacted with while in the secret base + case SBSECRETS_STATE_NOTHING_USED1: + sTVShowState = SBSECRETS_STATE_TOOK_X_STEPS; break; - case 10: - sTVShowState = show->secretBaseSecrets.savedState; + case SBSECRETS_STATE_NOTHING_USED2: + sTVShowState = SBSECRETS_STATE_TOOK_X_STEPS; break; - case 11: + case SBSECRETS_STATE_USED_CHAIR ... SBSECRETS_STATE_USED_MUD_BALL: sTVShowState = show->secretBaseSecrets.savedState; break; - case 12: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 13: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 14: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 15: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 16: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 17: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 18: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 19: + case SBSECRETS_STATE_USED_BAG: StringCopy(gStringVar2, ItemId_GetName(show->secretBaseSecrets.item)); sTVShowState = show->secretBaseSecrets.savedState; break; - case 20: + case SBSECRETS_STATE_USED_CUSHION: + // Randomly decide based on trainer ID if the player hugged or hit the cushion if (show->common.trainerIdLo & 1) { - sTVShowState = 22; + sTVShowState = SBSECRETS_STATE_HUGGED_CUSHION; } else { - sTVShowState = 21; + sTVShowState = SBSECRETS_STATE_HIT_CUSHION; } break; - case 21: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 22: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 23: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 24: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 25: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 26: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 27: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 28: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 29: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 30: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 31: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 32: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 33: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 34: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 35: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 36: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 37: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 38: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 39: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 40: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 41: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 42: - sTVShowState = show->secretBaseSecrets.savedState; - break; - case 43: + case SBSECRETS_STATE_HIT_CUSHION ... SBSECRETS_NUM_STATES: sTVShowState = show->secretBaseSecrets.savedState; break; } |