pokeheartgold/asm/sys_flags.s
2022-01-27 12:12:28 -05:00

813 lines
19 KiB
ArmAsm

#include "constants/sndseq.h"
#include "constants/species.h"
#include "constants/maps.h"
#include "constants/pokemon.h"
#include "constants/flags.h"
#include "constants/vars.h"
#include "constants/items.h"
#include "constants/std_script.h"
#include "fielddata/script/scr_seq/event_D24R0204.h"
#include "party_menu.h"
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start SetScriptFlag
SetScriptFlag: ; 0x0206659C
ldr r3, _020665A0 ; =SetFlagInArray
bx r3
.balign 4, 0
_020665A0: .word SetFlagInArray
thumb_func_end SetScriptFlag
thumb_func_start ClearScriptFlag
ClearScriptFlag: ; 0x020665A4
ldr r3, _020665A8 ; =ClearFlagInArray
bx r3
.balign 4, 0
_020665A8: .word ClearFlagInArray
thumb_func_end ClearScriptFlag
thumb_func_start CheckScriptFlag
CheckScriptFlag: ; 0x020665AC
ldr r3, _020665B0 ; =CheckFlagInArray
bx r3
.balign 4, 0
_020665B0: .word CheckFlagInArray
thumb_func_end CheckScriptFlag
thumb_func_start FlagAction
FlagAction: ; 0x020665B4
push {r3, lr}
cmp r1, #0
beq _020665CE
cmp r1, #1
beq _020665C4
cmp r1, #2
beq _020665D8
b _020665E2
_020665C4:
lsl r1, r2, #0x10
lsr r1, r1, #0x10
bl SetScriptFlag
b _020665E6
_020665CE:
lsl r1, r2, #0x10
lsr r1, r1, #0x10
bl ClearScriptFlag
b _020665E6
_020665D8:
lsl r1, r2, #0x10
lsr r1, r1, #0x10
bl CheckScriptFlag
pop {r3, pc}
_020665E2:
bl GF_AssertFail
_020665E6:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end FlagAction
thumb_func_start sub_020665EC
sub_020665EC: ; 0x020665EC
ldr r3, _020665F4 ; =SetScriptFlag
mov r1, #FLAG_UNK_960>>4
lsl r1, r1, #4
bx r3
.balign 4, 0
_020665F4: .word SetScriptFlag
thumb_func_end sub_020665EC
thumb_func_start sub_020665F8
sub_020665F8: ; 0x020665F8
ldr r3, _02066600 ; =CheckScriptFlag
mov r1, #FLAG_UNK_960>>4
lsl r1, r1, #4
bx r3
.balign 4, 0
_02066600: .word CheckScriptFlag
thumb_func_end sub_020665F8
thumb_func_start SetGameClearFlag
SetGameClearFlag: ; 0x02066604
ldr r3, _0206660C ; =SetScriptFlag
ldr r1, _02066610 ; =FLAG_GAME_CLEAR
bx r3
nop
_0206660C: .word SetScriptFlag
_02066610: .word FLAG_GAME_CLEAR
thumb_func_end SetGameClearFlag
thumb_func_start CheckGameClearFlag
CheckGameClearFlag: ; 0x02066614
ldr r3, _0206661C ; =CheckScriptFlag
ldr r1, _02066620 ; =FLAG_GAME_CLEAR
bx r3
nop
_0206661C: .word CheckScriptFlag
_02066620: .word FLAG_GAME_CLEAR
thumb_func_end CheckGameClearFlag
thumb_func_start ScriptState_SetHaveFollowerFlag
ScriptState_SetHaveFollowerFlag: ; 0x02066624
ldr r3, _0206662C ; =SetScriptFlag
ldr r1, _02066630 ; =FLAG_HAVE_FOLLOWER
bx r3
nop
_0206662C: .word SetScriptFlag
_02066630: .word FLAG_HAVE_FOLLOWER
thumb_func_end ScriptState_SetHaveFollowerFlag
thumb_func_start ScriptState_ClearHaveFollowerFlag
ScriptState_ClearHaveFollowerFlag: ; 0x02066634
ldr r3, _0206663C ; =ClearScriptFlag
ldr r1, _02066640 ; =FLAG_HAVE_FOLLOWER
bx r3
nop
_0206663C: .word ClearScriptFlag
_02066640: .word FLAG_HAVE_FOLLOWER
thumb_func_end ScriptState_ClearHaveFollowerFlag
thumb_func_start ScriptState_CheckHaveFollower
ScriptState_CheckHaveFollower: ; 0x02066644
ldr r3, _0206664C ; =CheckScriptFlag
ldr r1, _02066650 ; =FLAG_HAVE_FOLLOWER
bx r3
nop
_0206664C: .word CheckScriptFlag
_02066650: .word FLAG_HAVE_FOLLOWER
thumb_func_end ScriptState_CheckHaveFollower
thumb_func_start sub_02066654
sub_02066654: ; 0x02066654
ldr r3, _0206665C ; =SetScriptFlag
ldr r1, _02066660 ; =FLAG_UNK_99C
bx r3
nop
_0206665C: .word SetScriptFlag
_02066660: .word FLAG_UNK_99C
thumb_func_end sub_02066654
thumb_func_start sub_02066664
sub_02066664: ; 0x02066664
ldr r3, _0206666C ; =SetScriptFlag
ldr r1, _02066670 ; =FLAG_UNK_965
bx r3
nop
_0206666C: .word SetScriptFlag
_02066670: .word FLAG_UNK_965
thumb_func_end sub_02066664
thumb_func_start sub_02066674
sub_02066674: ; 0x02066674
ldr r3, _0206667C ; =ClearScriptFlag
ldr r1, _02066680 ; =FLAG_UNK_965
bx r3
nop
_0206667C: .word ClearScriptFlag
_02066680: .word FLAG_UNK_965
thumb_func_end sub_02066674
thumb_func_start sub_02066684
sub_02066684: ; 0x02066684
ldr r3, _0206668C ; =CheckScriptFlag
ldr r1, _02066690 ; =FLAG_UNK_965
bx r3
nop
_0206668C: .word CheckScriptFlag
_02066690: .word FLAG_UNK_965
thumb_func_end sub_02066684
thumb_func_start sub_02066694
sub_02066694: ; 0x02066694
ldr r3, _0206669C ; =SetScriptFlag
ldr r1, _020666A0 ; =FLAG_UNK_969
bx r3
nop
_0206669C: .word SetScriptFlag
_020666A0: .word FLAG_UNK_969
thumb_func_end sub_02066694
thumb_func_start sub_020666A4
sub_020666A4: ; 0x020666A4
ldr r3, _020666AC ; =ClearScriptFlag
ldr r1, _020666B0 ; =FLAG_UNK_969
bx r3
nop
_020666AC: .word ClearScriptFlag
_020666B0: .word FLAG_UNK_969
thumb_func_end sub_020666A4
thumb_func_start sub_020666B4
sub_020666B4: ; 0x020666B4
ldr r3, _020666BC ; =CheckScriptFlag
ldr r1, _020666C0 ; =FLAG_UNK_969
bx r3
nop
_020666BC: .word CheckScriptFlag
_020666C0: .word FLAG_UNK_969
thumb_func_end sub_020666B4
thumb_func_start EventFlagCheck_RematchGroup
EventFlagCheck_RematchGroup: ; 0x020666C4
ldr r2, _020666D0 ; =FLAG_UNK_97B
ldr r3, _020666D4 ; =CheckScriptFlag
add r1, r1, r2
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bx r3
.balign 4, 0
_020666D0: .word FLAG_UNK_97B
_020666D4: .word CheckScriptFlag
thumb_func_end EventFlagCheck_RematchGroup
thumb_func_start ScriptState_SetAlphPuzzleFlag
ScriptState_SetAlphPuzzleFlag: ; 0x020666D8
push {r3, lr}
cmp r1, #3
bhi _02066710
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_020666EA: ; jump table
.short _020666F2 - _020666EA - 2 ; case 0
.short _020666FA - _020666EA - 2 ; case 1
.short _02066702 - _020666EA - 2 ; case 2
.short _0206670A - _020666EA - 2 ; case 3
_020666F2:
ldr r1, _02066714 ; =FLAG_SYS_ALPH_PUZZLE_KABUTO
bl SetScriptFlag
pop {r3, pc}
_020666FA:
ldr r1, _02066718 ; =FLAG_SYS_ALPH_PUZZLE_AERODACTYL
bl SetScriptFlag
pop {r3, pc}
_02066702:
ldr r1, _0206671C ; =FLAG_SYS_ALPH_PUZZLE_OMANYTE
bl SetScriptFlag
pop {r3, pc}
_0206670A:
ldr r1, _02066720 ; =FLAG_SYS_ALPH_PUZZLE_HO_OH
bl SetScriptFlag
_02066710:
pop {r3, pc}
nop
_02066714: .word FLAG_SYS_ALPH_PUZZLE_KABUTO
_02066718: .word FLAG_SYS_ALPH_PUZZLE_AERODACTYL
_0206671C: .word FLAG_SYS_ALPH_PUZZLE_OMANYTE
_02066720: .word FLAG_SYS_ALPH_PUZZLE_HO_OH
thumb_func_end ScriptState_SetAlphPuzzleFlag
thumb_func_start ScriptState_CheckAlphPuzzleFlag
ScriptState_CheckAlphPuzzleFlag: ; 0x02066724
push {r3, lr}
mov r2, #0
cmp r1, #3
bhi _02066766
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02066738: ; jump table
.short _02066740 - _02066738 - 2 ; case 0
.short _0206674A - _02066738 - 2 ; case 1
.short _02066754 - _02066738 - 2 ; case 2
.short _0206675E - _02066738 - 2 ; case 3
_02066740:
ldr r1, _0206676C ; =FLAG_SYS_ALPH_PUZZLE_KABUTO
bl CheckScriptFlag
add r2, r0, #0
b _02066766
_0206674A:
ldr r1, _02066770 ; =FLAG_SYS_ALPH_PUZZLE_AERODACTYL
bl CheckScriptFlag
add r2, r0, #0
b _02066766
_02066754:
ldr r1, _02066774 ; =FLAG_SYS_ALPH_PUZZLE_OMANYTE
bl CheckScriptFlag
add r2, r0, #0
b _02066766
_0206675E:
ldr r1, _02066778 ; =FLAG_SYS_ALPH_PUZZLE_HO_OH
bl CheckScriptFlag
add r2, r0, #0
_02066766:
add r0, r2, #0
pop {r3, pc}
nop
_0206676C: .word FLAG_SYS_ALPH_PUZZLE_KABUTO
_02066770: .word FLAG_SYS_ALPH_PUZZLE_AERODACTYL
_02066774: .word FLAG_SYS_ALPH_PUZZLE_OMANYTE
_02066778: .word FLAG_SYS_ALPH_PUZZLE_HO_OH
thumb_func_end ScriptState_CheckAlphPuzzleFlag
thumb_func_start sub_0206677C
sub_0206677C: ; 0x0206677C
push {r3, lr}
cmp r1, #0
ldr r1, _02066790 ; =FLAG_UNK_986
beq _0206678A
bl SetScriptFlag
pop {r3, pc}
_0206678A:
bl ClearScriptFlag
pop {r3, pc}
.balign 4, 0
_02066790: .word FLAG_UNK_986
thumb_func_end sub_0206677C
thumb_func_start sub_02066794
sub_02066794: ; 0x02066794
ldr r3, _0206679C ; =CheckScriptFlag
ldr r1, _020667A0 ; =FLAG_UNK_986
bx r3
nop
_0206679C: .word CheckScriptFlag
_020667A0: .word FLAG_UNK_986
thumb_func_end sub_02066794
thumb_func_start GetOverriddenMapMusic
GetOverriddenMapMusic: ; 0x020667A4
push {r3, r4, r5, r6, r7, lr}
ldr r5, _020667D8 ; =_020FE454
add r7, r0, #0
add r6, r1, #0
mov r4, #0
_020667AE:
ldrh r0, [r5]
cmp r6, r0
bne _020667CC
ldrh r1, [r5, #2]
add r0, r7, #0
bl CheckScriptFlag
cmp r0, #0
beq _020667CC
mov r0, #6
add r1, r4, #0
mul r1, r0
ldr r0, _020667DC ; =_020FE454 + 4
ldrh r0, [r0, r1]
pop {r3, r4, r5, r6, r7, pc}
_020667CC:
add r4, r4, #1
add r5, r5, #6
cmp r4, #0xd
blo _020667AE
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020667D8: .word _020FE454
_020667DC: .word _020FE454 + 4
thumb_func_end GetOverriddenMapMusic
thumb_func_start sub_020667E0
sub_020667E0: ; 0x020667E0
ldr r3, _020667E8 ; =SetScriptFlag
ldr r1, _020667EC ; =FLAG_UNK_966
bx r3
nop
_020667E8: .word SetScriptFlag
_020667EC: .word FLAG_UNK_966
thumb_func_end sub_020667E0
thumb_func_start sub_020667F0
sub_020667F0: ; 0x020667F0
ldr r3, _020667F8 ; =ClearScriptFlag
ldr r1, _020667FC ; =FLAG_UNK_966
bx r3
nop
_020667F8: .word ClearScriptFlag
_020667FC: .word FLAG_UNK_966
thumb_func_end sub_020667F0
thumb_func_start sub_02066800
sub_02066800: ; 0x02066800
ldr r3, _02066808 ; =CheckScriptFlag
ldr r1, _0206680C ; =FLAG_UNK_966
bx r3
nop
_02066808: .word CheckScriptFlag
_0206680C: .word FLAG_UNK_966
thumb_func_end sub_02066800
thumb_func_start sub_02066810
sub_02066810: ; 0x02066810
ldr r3, _02066818 ; =CheckScriptFlag
ldr r1, _0206681C ; =FLAG_SYS_MET_BILL
bx r3
nop
_02066818: .word CheckScriptFlag
_0206681C: .word FLAG_SYS_MET_BILL
thumb_func_end sub_02066810
thumb_func_start sub_02066820
sub_02066820: ; 0x02066820
ldr r3, _02066828 ; =SetScriptFlag
ldr r1, _0206682C ; =FLAG_UNK_975
bx r3
nop
_02066828: .word SetScriptFlag
_0206682C: .word FLAG_UNK_975
thumb_func_end sub_02066820
thumb_func_start sub_02066830
sub_02066830: ; 0x02066830
ldr r3, _02066838 ; =ClearScriptFlag
ldr r1, _0206683C ; =FLAG_UNK_975
bx r3
nop
_02066838: .word ClearScriptFlag
_0206683C: .word FLAG_UNK_975
thumb_func_end sub_02066830
thumb_func_start ScriptState_SetSafariSysFlag
ScriptState_SetSafariSysFlag: ; 0x02066840
ldr r3, _02066848 ; =SetScriptFlag
ldr r1, _0206684C ; =FLAG_SYS_SAFARI
bx r3
nop
_02066848: .word SetScriptFlag
_0206684C: .word FLAG_SYS_SAFARI
thumb_func_end ScriptState_SetSafariSysFlag
thumb_func_start ScriptState_ClearSafariSysFlag
ScriptState_ClearSafariSysFlag: ; 0x02066850
ldr r3, _02066858 ; =ClearScriptFlag
ldr r1, _0206685C ; =FLAG_SYS_SAFARI
bx r3
nop
_02066858: .word ClearScriptFlag
_0206685C: .word FLAG_SYS_SAFARI
thumb_func_end ScriptState_ClearSafariSysFlag
thumb_func_start ScriptState_CheckSafariSysFlag
ScriptState_CheckSafariSysFlag: ; 0x02066860
ldr r3, _02066868 ; =CheckScriptFlag
ldr r1, _0206686C ; =FLAG_SYS_SAFARI
bx r3
nop
_02066868: .word CheckScriptFlag
_0206686C: .word FLAG_SYS_SAFARI
thumb_func_end ScriptState_CheckSafariSysFlag
thumb_func_start sub_02066870
sub_02066870: ; 0x02066870
ldr r3, _02066878 ; =CheckScriptFlag
ldr r1, _0206687C ; =FLAG_UNK_996
bx r3
nop
_02066878: .word CheckScriptFlag
_0206687C: .word FLAG_UNK_996
thumb_func_end sub_02066870
thumb_func_start ScriptState_SetPalParkSysFlag
ScriptState_SetPalParkSysFlag: ; 0x02066880
ldr r3, _02066888 ; =SetScriptFlag
ldr r1, _0206688C ; =FLAG_SYS_PAL_PARK
bx r3
nop
_02066888: .word SetScriptFlag
_0206688C: .word FLAG_SYS_PAL_PARK
thumb_func_end ScriptState_SetPalParkSysFlag
thumb_func_start ScriptState_ClearPalParkSysFlag
ScriptState_ClearPalParkSysFlag: ; 0x02066890
ldr r3, _02066898 ; =ClearScriptFlag
ldr r1, _0206689C ; =FLAG_SYS_PAL_PARK
bx r3
nop
_02066898: .word ClearScriptFlag
_0206689C: .word FLAG_SYS_PAL_PARK
thumb_func_end ScriptState_ClearPalParkSysFlag
thumb_func_start ScriptState_CheckPalParkSysFlag
ScriptState_CheckPalParkSysFlag: ; 0x020668A0
ldr r3, _020668A8 ; =CheckScriptFlag
ldr r1, _020668AC ; =FLAG_SYS_PAL_PARK
bx r3
nop
_020668A8: .word CheckScriptFlag
_020668AC: .word FLAG_SYS_PAL_PARK
thumb_func_end ScriptState_CheckPalParkSysFlag
thumb_func_start sub_020668B0
sub_020668B0: ; 0x020668B0
ldr r3, _020668B8 ; =ClearScriptFlag
ldr r1, _020668BC ; =FLAG_UNK_972
bx r3
nop
_020668B8: .word ClearScriptFlag
_020668BC: .word FLAG_UNK_972
thumb_func_end sub_020668B0
thumb_func_start StrengthFlagAction
StrengthFlagAction: ; 0x020668C0
ldr r3, _020668C8 ; =FlagAction
ldr r2, _020668CC ; =FLAG_STRENGTH_ACTIVE
bx r3
nop
_020668C8: .word FlagAction
_020668CC: .word FLAG_STRENGTH_ACTIVE
thumb_func_end StrengthFlagAction
thumb_func_start sub_020668D0
sub_020668D0: ; 0x020668D0
ldr r3, _020668D8 ; =SetScriptFlag
ldr r1, _020668DC ; =FLAG_UNK_973
bx r3
nop
_020668D8: .word SetScriptFlag
_020668DC: .word FLAG_UNK_973
thumb_func_end sub_020668D0
thumb_func_start sub_020668E0
sub_020668E0: ; 0x020668E0
ldr r3, _020668E8 ; =ClearScriptFlag
ldr r1, _020668EC ; =FLAG_UNK_973
bx r3
nop
_020668E8: .word ClearScriptFlag
_020668EC: .word FLAG_UNK_973
thumb_func_end sub_020668E0
thumb_func_start sub_020668F0
sub_020668F0: ; 0x020668F0
ldr r3, _020668F8 ; =CheckScriptFlag
ldr r1, _020668FC ; =FLAG_UNK_973
bx r3
nop
_020668F8: .word CheckScriptFlag
_020668FC: .word FLAG_UNK_973
thumb_func_end sub_020668F0
thumb_func_start sub_02066900
sub_02066900: ; 0x02066900
ldr r3, _02066908 ; =SetScriptFlag
ldr r1, _0206690C ; =FLAG_UNK_974
bx r3
nop
_02066908: .word SetScriptFlag
_0206690C: .word FLAG_UNK_974
thumb_func_end sub_02066900
thumb_func_start sub_02066910
sub_02066910: ; 0x02066910
ldr r3, _02066918 ; =ClearScriptFlag
ldr r1, _0206691C ; =FLAG_UNK_974
bx r3
nop
_02066918: .word ClearScriptFlag
_0206691C: .word FLAG_UNK_974
thumb_func_end sub_02066910
thumb_func_start sub_02066920
sub_02066920: ; 0x02066920
ldr r3, _02066928 ; =CheckScriptFlag
ldr r1, _0206692C ; =FLAG_UNK_974
bx r3
nop
_02066928: .word CheckScriptFlag
_0206692C: .word FLAG_UNK_974
thumb_func_end sub_02066920
thumb_func_start ScriptState_FlypointFlagAction
ScriptState_FlypointFlagAction: ; 0x02066930
push {r4, r5, r6, lr}
add r4, r2, #0
add r5, r0, #0
add r6, r1, #0
cmp r4, #0x26
blo _02066940
bl GF_AssertFail
_02066940:
mov r2, #FLAG_SYS_FLYPOINT_PALLET>>4
lsl r2, r2, #4
add r0, r5, #0
add r1, r6, #0
add r2, r4, r2
bl FlagAction
pop {r4, r5, r6, pc}
thumb_func_end ScriptState_FlypointFlagAction
thumb_func_start sub_02066950
sub_02066950: ; 0x02066950
ldr r3, _02066958 ; =SetScriptFlag
mov r1, #FLAG_UNK_970>>4
lsl r1, r1, #4
bx r3
.balign 4, 0
_02066958: .word SetScriptFlag
thumb_func_end sub_02066950
thumb_func_start CheckGotStarter
CheckGotStarter: ; 0x0206695C
ldr r3, _02066964 ; =CheckScriptFlag
mov r1, #FLAG_GOT_STARTER
bx r3
nop
_02066964: .word CheckScriptFlag
thumb_func_end CheckGotStarter
thumb_func_start CheckGotPokegear
CheckGotPokegear: ; 0x02066968
ldr r3, _02066970 ; =CheckScriptFlag
mov r1, #FLAG_GOT_POKEGEAR
bx r3
nop
_02066970: .word CheckScriptFlag
thumb_func_end CheckGotPokegear
thumb_func_start CheckGotPokedex
CheckGotPokedex: ; 0x02066974
ldr r3, _0206697C ; =CheckScriptFlag
mov r1, #FLAG_GOT_POKEDEX
bx r3
nop
_0206697C: .word CheckScriptFlag
thumb_func_end CheckGotPokedex
thumb_func_start CheckGotMenuIconI
CheckGotMenuIconI: ; 0x02066980
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
cmp r4, #4
blt _0206698E
bl GF_AssertFail
_0206698E:
ldr r1, _020669A0 ; =FLAG_GOT_BAG
add r0, r5, #0
add r1, r4, r1
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl CheckScriptFlag
pop {r3, r4, r5, pc}
nop
_020669A0: .word FLAG_GOT_BAG
thumb_func_end CheckGotMenuIconI
thumb_func_start sub_020669A4
sub_020669A4: ; 0x020669A4
ldr r3, _020669AC ; =CheckScriptFlag
ldr r1, _020669B0 ; =FLAG_UNK_96A
bx r3
nop
_020669AC: .word CheckScriptFlag
_020669B0: .word FLAG_UNK_96A
thumb_func_end sub_020669A4
thumb_func_start sub_020669B4
sub_020669B4: ; 0x020669B4
push {r3, lr}
cmp r1, #2
bls _020669BE
mov r0, #0
pop {r3, pc}
_020669BE:
ldr r2, _020669CC ; =FLAG_UNK_96B
add r1, r1, r2
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl CheckScriptFlag
pop {r3, pc}
.balign 4, 0
_020669CC: .word FLAG_UNK_96B
thumb_func_end sub_020669B4
thumb_func_start sub_020669D0
sub_020669D0: ; 0x020669D0
ldr r3, _020669D8 ; =CheckScriptFlag
ldr r1, _020669DC ; =FLAG_SYS_CIANWOOD_WATERFALL_DISABLE
bx r3
nop
_020669D8: .word CheckScriptFlag
_020669DC: .word FLAG_SYS_CIANWOOD_WATERFALL_DISABLE
thumb_func_end sub_020669D0
thumb_func_start sub_020669E0
sub_020669E0: ; 0x020669E0
ldr r3, _020669E8 ; =CheckScriptFlag
ldr r1, _020669EC ; =FLAG_SYS_SOLVED_LT_SURGE_GYM
bx r3
nop
_020669E8: .word CheckScriptFlag
_020669EC: .word FLAG_SYS_SOLVED_LT_SURGE_GYM
thumb_func_end sub_020669E0
thumb_func_start sub_020669F0
sub_020669F0: ; 0x020669F0
ldr r3, _020669F8 ; =CheckScriptFlag
ldr r1, _020669FC ; =FLAG_UNK_982
bx r3
nop
_020669F8: .word CheckScriptFlag
_020669FC: .word FLAG_UNK_982
thumb_func_end sub_020669F0
thumb_func_start sub_02066A00
sub_02066A00: ; 0x02066A00
ldr r3, _02066A08 ; =CheckScriptFlag
mov r1, #FLAG_UNK_09A
bx r3
nop
_02066A08: .word CheckScriptFlag
thumb_func_end sub_02066A00
thumb_func_start sub_02066A0C
sub_02066A0C: ; 0x02066A0C
ldr r3, _02066A14 ; =CheckScriptFlag
ldr r1, _02066A18 ; =FLAG_UNK_997
bx r3
nop
_02066A14: .word CheckScriptFlag
_02066A18: .word FLAG_UNK_997
thumb_func_end sub_02066A0C
thumb_func_start sub_02066A1C
sub_02066A1C: ; 0x02066A1C
ldr r3, _02066A24 ; =SetScriptFlag
ldr r1, _02066A28 ; =FLAG_UNK_99A
bx r3
nop
_02066A24: .word SetScriptFlag
_02066A28: .word FLAG_UNK_99A
thumb_func_end sub_02066A1C
thumb_func_start sub_02066A2C
sub_02066A2C: ; 0x02066A2C
ldr r3, _02066A34 ; =ClearScriptFlag
ldr r1, _02066A38 ; =FLAG_UNK_99A
bx r3
nop
_02066A34: .word ClearScriptFlag
_02066A38: .word FLAG_UNK_99A
thumb_func_end sub_02066A2C
thumb_func_start sub_02066A3C
sub_02066A3C: ; 0x02066A3C
ldr r3, _02066A44 ; =CheckScriptFlag
ldr r1, _02066A48 ; =FLAG_UNK_99A
bx r3
nop
_02066A44: .word CheckScriptFlag
_02066A48: .word FLAG_UNK_99A
thumb_func_end sub_02066A3C
thumb_func_start sub_02066A4C
sub_02066A4C: ; 0x02066A4C
ldr r3, _02066A54 ; =CheckScriptFlag
mov r1, #FLAG_SNORLAX_MEET
bx r3
nop
_02066A54: .word CheckScriptFlag
thumb_func_end sub_02066A4C
thumb_func_start sub_02066A58
sub_02066A58: ; 0x02066A58
ldr r3, _02066A60 ; =CheckScriptFlag
mov r1, #FLAG_RED_GYARADOS_MEET
bx r3
nop
_02066A60: .word CheckScriptFlag
thumb_func_end sub_02066A58
thumb_func_start sub_02066A64
sub_02066A64: ; 0x02066A64
push {r3, lr}
cmp r1, #0
ldr r1, _02066A78 ; =FLAG_UNK_99D
beq _02066A72
bl SetScriptFlag
pop {r3, pc}
_02066A72:
bl ClearScriptFlag
pop {r3, pc}
.balign 4, 0
_02066A78: .word FLAG_UNK_99D
thumb_func_end sub_02066A64
.rodata
_020FE454:
.short MAP_D22R0101, FLAG_BUG_CONTEST_ACTIVE, SEQ_GS_TAIKAIMAE_D5
.short MAP_R35R0201, FLAG_BUG_CONTEST_ACTIVE, SEQ_GS_TAIKAIMAE
.short MAP_R36R0201, FLAG_BUG_CONTEST_ACTIVE, SEQ_GS_TAIKAIMAE
.short MAP_T04GYM0101, FLAG_UNK_994, SEQ_GS_EYE_ROCKET
.short MAP_R24, FLAG_UNK_995, SEQ_GS_EYE_ROCKET
.short MAP_D10R0101, FLAG_UNK_999, SEQ_GS_SAFARI_FIELD
.short MAP_D23R0101, FLAG_ROCKET_TAKEOVER_ACTIVE, SEQ_GS_SENKYO
.short MAP_D23R0102, FLAG_ROCKET_TAKEOVER_ACTIVE, SEQ_GS_SENKYO
.short MAP_D23R0103, FLAG_ROCKET_TAKEOVER_ACTIVE, SEQ_GS_SENKYO
.short MAP_D23R0104, FLAG_ROCKET_TAKEOVER_ACTIVE, SEQ_GS_SENKYO
.short MAP_D23R0105, FLAG_ROCKET_TAKEOVER_ACTIVE, SEQ_GS_SENKYO
.short MAP_D23R0106, FLAG_ROCKET_TAKEOVER_ACTIVE, SEQ_GS_SENKYO
.short MAP_D23R0107, FLAG_ROCKET_TAKEOVER_ACTIVE, SEQ_GS_SENKYO