Decompile event_data.s
This commit is contained in:
@@ -1,867 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start InitEventData
|
|
||||||
InitEventData: @ 806E0D0
|
|
||||||
push {r4,lr}
|
|
||||||
ldr r4, _0806E108 @ =gSaveBlock1Ptr
|
|
||||||
ldr r0, [r4]
|
|
||||||
movs r1, 0xEE
|
|
||||||
lsls r1, 4
|
|
||||||
adds r0, r1
|
|
||||||
movs r2, 0x90
|
|
||||||
lsls r2, 1
|
|
||||||
movs r1, 0
|
|
||||||
bl memset
|
|
||||||
ldr r0, [r4]
|
|
||||||
movs r1, 0x80
|
|
||||||
lsls r1, 5
|
|
||||||
adds r0, r1
|
|
||||||
movs r2, 0x80
|
|
||||||
lsls r2, 2
|
|
||||||
movs r1, 0
|
|
||||||
bl memset
|
|
||||||
ldr r0, _0806E10C @ =gUnknown_20370E0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0x10
|
|
||||||
bl memset
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0806E108: .4byte gSaveBlock1Ptr
|
|
||||||
_0806E10C: .4byte gUnknown_20370E0
|
|
||||||
thumb_func_end InitEventData
|
|
||||||
|
|
||||||
thumb_func_start sub_806E110
|
|
||||||
sub_806E110: @ 806E110
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0806E150 @ =gSaveBlock1Ptr
|
|
||||||
ldr r0, [r0]
|
|
||||||
movs r1, 0xEE
|
|
||||||
lsls r1, 4
|
|
||||||
adds r2, r0, r1
|
|
||||||
movs r1, 0
|
|
||||||
str r1, [r2]
|
|
||||||
movs r1, 0x80
|
|
||||||
lsls r1, 5
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0x20
|
|
||||||
bl memset
|
|
||||||
ldr r0, _0806E154 @ =0x00000803
|
|
||||||
bl FlagClear
|
|
||||||
ldr r0, _0806E158 @ =0x00000804
|
|
||||||
bl FlagClear
|
|
||||||
ldr r0, _0806E15C @ =0x00000805
|
|
||||||
bl FlagClear
|
|
||||||
ldr r0, _0806E160 @ =0x00000807
|
|
||||||
bl FlagClear
|
|
||||||
ldr r0, _0806E164 @ =0x00000842
|
|
||||||
bl FlagClear
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0806E150: .4byte gSaveBlock1Ptr
|
|
||||||
_0806E154: .4byte 0x00000803
|
|
||||||
_0806E158: .4byte 0x00000804
|
|
||||||
_0806E15C: .4byte 0x00000805
|
|
||||||
_0806E160: .4byte 0x00000807
|
|
||||||
_0806E164: .4byte 0x00000842
|
|
||||||
thumb_func_end sub_806E110
|
|
||||||
|
|
||||||
thumb_func_start sub_806E168
|
|
||||||
sub_806E168: @ 806E168
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0806E184 @ =0x0000403c
|
|
||||||
bl GetVarPointer
|
|
||||||
ldr r1, _0806E188 @ =gSaveBlock2Ptr
|
|
||||||
ldr r2, [r1]
|
|
||||||
movs r1, 0
|
|
||||||
strb r1, [r2, 0x1A]
|
|
||||||
strh r1, [r0]
|
|
||||||
ldr r0, _0806E18C @ =0x00000838
|
|
||||||
bl FlagClear
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0806E184: .4byte 0x0000403c
|
|
||||||
_0806E188: .4byte gSaveBlock2Ptr
|
|
||||||
_0806E18C: .4byte 0x00000838
|
|
||||||
thumb_func_end sub_806E168
|
|
||||||
|
|
||||||
thumb_func_start sub_806E190
|
|
||||||
sub_806E190: @ 806E190
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0806E1B0 @ =0x0000403c
|
|
||||||
bl GetVarPointer
|
|
||||||
ldr r1, _0806E1B4 @ =gSaveBlock2Ptr
|
|
||||||
ldr r2, [r1]
|
|
||||||
movs r1, 0xDA
|
|
||||||
strb r1, [r2, 0x1A]
|
|
||||||
ldr r2, _0806E1B8 @ =0x00000302
|
|
||||||
adds r1, r2, 0
|
|
||||||
strh r1, [r0]
|
|
||||||
ldr r0, _0806E1BC @ =0x00000838
|
|
||||||
bl FlagSet
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0806E1B0: .4byte 0x0000403c
|
|
||||||
_0806E1B4: .4byte gSaveBlock2Ptr
|
|
||||||
_0806E1B8: .4byte 0x00000302
|
|
||||||
_0806E1BC: .4byte 0x00000838
|
|
||||||
thumb_func_end sub_806E190
|
|
||||||
|
|
||||||
thumb_func_start sub_806E1C0
|
|
||||||
sub_806E1C0: @ 806E1C0
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0806E1EC @ =gSaveBlock2Ptr
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldrb r0, [r0, 0x1A]
|
|
||||||
cmp r0, 0xDA
|
|
||||||
bne _0806E1FC
|
|
||||||
ldr r0, _0806E1F0 @ =0x0000403c
|
|
||||||
bl VarGet
|
|
||||||
lsls r0, 16
|
|
||||||
ldr r1, _0806E1F4 @ =0x03020000
|
|
||||||
cmp r0, r1
|
|
||||||
bne _0806E1FC
|
|
||||||
ldr r0, _0806E1F8 @ =0x00000838
|
|
||||||
bl FlagGet
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0806E1FC
|
|
||||||
movs r0, 0x1
|
|
||||||
b _0806E1FE
|
|
||||||
.align 2, 0
|
|
||||||
_0806E1EC: .4byte gSaveBlock2Ptr
|
|
||||||
_0806E1F0: .4byte 0x0000403c
|
|
||||||
_0806E1F4: .4byte 0x03020000
|
|
||||||
_0806E1F8: .4byte 0x00000838
|
|
||||||
_0806E1FC:
|
|
||||||
movs r0, 0
|
|
||||||
_0806E1FE:
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_806E1C0
|
|
||||||
|
|
||||||
thumb_func_start sub_806E204
|
|
||||||
sub_806E204: @ 806E204
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0806E224 @ =0x0000404e
|
|
||||||
bl GetVarPointer
|
|
||||||
ldr r1, _0806E228 @ =gSaveBlock2Ptr
|
|
||||||
ldr r2, [r1]
|
|
||||||
movs r1, 0
|
|
||||||
strb r1, [r2, 0x1B]
|
|
||||||
strh r1, [r0]
|
|
||||||
movs r0, 0x84
|
|
||||||
lsls r0, 4
|
|
||||||
bl FlagClear
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0806E224: .4byte 0x0000404e
|
|
||||||
_0806E228: .4byte gSaveBlock2Ptr
|
|
||||||
thumb_func_end sub_806E204
|
|
||||||
|
|
||||||
thumb_func_start EnableNationalPokedex
|
|
||||||
EnableNationalPokedex: @ 806E22C
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0806E250 @ =0x0000404e
|
|
||||||
bl GetVarPointer
|
|
||||||
ldr r1, _0806E254 @ =gSaveBlock2Ptr
|
|
||||||
ldr r2, [r1]
|
|
||||||
movs r1, 0xB9
|
|
||||||
strb r1, [r2, 0x1B]
|
|
||||||
ldr r2, _0806E258 @ =0x00006258
|
|
||||||
adds r1, r2, 0
|
|
||||||
strh r1, [r0]
|
|
||||||
movs r0, 0x84
|
|
||||||
lsls r0, 4
|
|
||||||
bl FlagSet
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0806E250: .4byte 0x0000404e
|
|
||||||
_0806E254: .4byte gSaveBlock2Ptr
|
|
||||||
_0806E258: .4byte 0x00006258
|
|
||||||
thumb_func_end EnableNationalPokedex
|
|
||||||
|
|
||||||
thumb_func_start IsNationalPokedexEnabled
|
|
||||||
IsNationalPokedexEnabled: @ 806E25C
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0806E288 @ =gSaveBlock2Ptr
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldrb r0, [r0, 0x1B]
|
|
||||||
cmp r0, 0xB9
|
|
||||||
bne _0806E294
|
|
||||||
ldr r0, _0806E28C @ =0x0000404e
|
|
||||||
bl VarGet
|
|
||||||
lsls r0, 16
|
|
||||||
ldr r1, _0806E290 @ =0x62580000
|
|
||||||
cmp r0, r1
|
|
||||||
bne _0806E294
|
|
||||||
movs r0, 0x84
|
|
||||||
lsls r0, 4
|
|
||||||
bl FlagGet
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0806E294
|
|
||||||
movs r0, 0x1
|
|
||||||
b _0806E296
|
|
||||||
.align 2, 0
|
|
||||||
_0806E288: .4byte gSaveBlock2Ptr
|
|
||||||
_0806E28C: .4byte 0x0000404e
|
|
||||||
_0806E290: .4byte 0x62580000
|
|
||||||
_0806E294:
|
|
||||||
movs r0, 0
|
|
||||||
_0806E296:
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end IsNationalPokedexEnabled
|
|
||||||
|
|
||||||
thumb_func_start sub_806E29C
|
|
||||||
sub_806E29C: @ 806E29C
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0806E2A8 @ =0x00000839
|
|
||||||
bl FlagClear
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0806E2A8: .4byte 0x00000839
|
|
||||||
thumb_func_end sub_806E29C
|
|
||||||
|
|
||||||
thumb_func_start sub_806E2AC
|
|
||||||
sub_806E2AC: @ 806E2AC
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0806E2B8 @ =0x00000839
|
|
||||||
bl FlagSet
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0806E2B8: .4byte 0x00000839
|
|
||||||
thumb_func_end sub_806E2AC
|
|
||||||
|
|
||||||
thumb_func_start Flag_0x839_IsSet
|
|
||||||
Flag_0x839_IsSet: @ 806E2BC
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0806E2CC @ =0x00000839
|
|
||||||
bl FlagGet
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_0806E2CC: .4byte 0x00000839
|
|
||||||
thumb_func_end Flag_0x839_IsSet
|
|
||||||
|
|
||||||
thumb_func_start sub_806E2D0
|
|
||||||
sub_806E2D0: @ 806E2D0
|
|
||||||
push {lr}
|
|
||||||
movs r0, 0xF6
|
|
||||||
lsls r0, 2
|
|
||||||
bl FlagClear
|
|
||||||
ldr r0, _0806E340 @ =0x000003d9
|
|
||||||
bl FlagClear
|
|
||||||
ldr r0, _0806E344 @ =0x000003da
|
|
||||||
bl FlagClear
|
|
||||||
ldr r0, _0806E348 @ =0x000003db
|
|
||||||
bl FlagClear
|
|
||||||
movs r0, 0xF7
|
|
||||||
lsls r0, 2
|
|
||||||
bl FlagClear
|
|
||||||
ldr r0, _0806E34C @ =0x000003dd
|
|
||||||
bl FlagClear
|
|
||||||
ldr r0, _0806E350 @ =0x000003de
|
|
||||||
bl FlagClear
|
|
||||||
ldr r0, _0806E354 @ =0x000003df
|
|
||||||
bl FlagClear
|
|
||||||
movs r0, 0xF8
|
|
||||||
lsls r0, 2
|
|
||||||
bl FlagClear
|
|
||||||
ldr r0, _0806E358 @ =0x000003e1
|
|
||||||
bl FlagClear
|
|
||||||
ldr r0, _0806E35C @ =0x000003e2
|
|
||||||
bl FlagClear
|
|
||||||
ldr r0, _0806E360 @ =0x000003e3
|
|
||||||
bl FlagClear
|
|
||||||
movs r0, 0xF9
|
|
||||||
lsls r0, 2
|
|
||||||
bl FlagClear
|
|
||||||
ldr r0, _0806E364 @ =0x000003e5
|
|
||||||
bl FlagClear
|
|
||||||
ldr r0, _0806E368 @ =0x000003e6
|
|
||||||
bl FlagClear
|
|
||||||
ldr r0, _0806E36C @ =0x000003e7
|
|
||||||
bl FlagClear
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0806E340: .4byte 0x000003d9
|
|
||||||
_0806E344: .4byte 0x000003da
|
|
||||||
_0806E348: .4byte 0x000003db
|
|
||||||
_0806E34C: .4byte 0x000003dd
|
|
||||||
_0806E350: .4byte 0x000003de
|
|
||||||
_0806E354: .4byte 0x000003df
|
|
||||||
_0806E358: .4byte 0x000003e1
|
|
||||||
_0806E35C: .4byte 0x000003e2
|
|
||||||
_0806E360: .4byte 0x000003e3
|
|
||||||
_0806E364: .4byte 0x000003e5
|
|
||||||
_0806E368: .4byte 0x000003e6
|
|
||||||
_0806E36C: .4byte 0x000003e7
|
|
||||||
thumb_func_end sub_806E2D0
|
|
||||||
|
|
||||||
thumb_func_start sub_806E370
|
|
||||||
sub_806E370: @ 806E370
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0806E3C0 @ =0x000040b5
|
|
||||||
movs r1, 0
|
|
||||||
bl VarSet
|
|
||||||
ldr r0, _0806E3C4 @ =0x000040b6
|
|
||||||
movs r1, 0
|
|
||||||
bl VarSet
|
|
||||||
ldr r0, _0806E3C8 @ =0x000040b7
|
|
||||||
movs r1, 0
|
|
||||||
bl VarSet
|
|
||||||
ldr r0, _0806E3CC @ =0x000040b8
|
|
||||||
movs r1, 0
|
|
||||||
bl VarSet
|
|
||||||
ldr r0, _0806E3D0 @ =0x000040b9
|
|
||||||
movs r1, 0
|
|
||||||
bl VarSet
|
|
||||||
ldr r0, _0806E3D4 @ =0x000040ba
|
|
||||||
movs r1, 0
|
|
||||||
bl VarSet
|
|
||||||
ldr r0, _0806E3D8 @ =0x000040bb
|
|
||||||
movs r1, 0
|
|
||||||
bl VarSet
|
|
||||||
ldr r0, _0806E3DC @ =0x000040bc
|
|
||||||
movs r1, 0
|
|
||||||
bl VarSet
|
|
||||||
ldr r0, _0806E3E0 @ =0x00004024
|
|
||||||
movs r1, 0
|
|
||||||
bl VarSet
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0806E3C0: .4byte 0x000040b5
|
|
||||||
_0806E3C4: .4byte 0x000040b6
|
|
||||||
_0806E3C8: .4byte 0x000040b7
|
|
||||||
_0806E3CC: .4byte 0x000040b8
|
|
||||||
_0806E3D0: .4byte 0x000040b9
|
|
||||||
_0806E3D4: .4byte 0x000040ba
|
|
||||||
_0806E3D8: .4byte 0x000040bb
|
|
||||||
_0806E3DC: .4byte 0x000040bc
|
|
||||||
_0806E3E0: .4byte 0x00004024
|
|
||||||
thumb_func_end sub_806E370
|
|
||||||
|
|
||||||
thumb_func_start DisableResetRTC
|
|
||||||
DisableResetRTC: @ 806E3E4
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0806E3F8 @ =0x00004032
|
|
||||||
movs r1, 0
|
|
||||||
bl VarSet
|
|
||||||
ldr r0, _0806E3FC @ =0x00000837
|
|
||||||
bl FlagClear
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0806E3F8: .4byte 0x00004032
|
|
||||||
_0806E3FC: .4byte 0x00000837
|
|
||||||
thumb_func_end DisableResetRTC
|
|
||||||
|
|
||||||
thumb_func_start EnableResetRTC
|
|
||||||
EnableResetRTC: @ 806E400
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0806E418 @ =0x00004032
|
|
||||||
movs r1, 0x92
|
|
||||||
lsls r1, 4
|
|
||||||
bl VarSet
|
|
||||||
ldr r0, _0806E41C @ =0x00000837
|
|
||||||
bl FlagSet
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0806E418: .4byte 0x00004032
|
|
||||||
_0806E41C: .4byte 0x00000837
|
|
||||||
thumb_func_end EnableResetRTC
|
|
||||||
|
|
||||||
thumb_func_start CanResetRTC
|
|
||||||
CanResetRTC: @ 806E420
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0806E444 @ =0x00000837
|
|
||||||
bl FlagGet
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0806E44C
|
|
||||||
ldr r0, _0806E448 @ =0x00004032
|
|
||||||
bl VarGet
|
|
||||||
lsls r0, 16
|
|
||||||
movs r1, 0x92
|
|
||||||
lsls r1, 20
|
|
||||||
cmp r0, r1
|
|
||||||
bne _0806E44C
|
|
||||||
movs r0, 0x1
|
|
||||||
b _0806E44E
|
|
||||||
.align 2, 0
|
|
||||||
_0806E444: .4byte 0x00000837
|
|
||||||
_0806E448: .4byte 0x00004032
|
|
||||||
_0806E44C:
|
|
||||||
movs r0, 0
|
|
||||||
_0806E44E:
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end CanResetRTC
|
|
||||||
|
|
||||||
thumb_func_start GetVarPointer
|
|
||||||
GetVarPointer: @ 806E454
|
|
||||||
push {r4-r6,lr}
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r4, r0, 16
|
|
||||||
adds r6, r4, 0
|
|
||||||
ldr r0, _0806E468 @ =0x00003fff
|
|
||||||
cmp r4, r0
|
|
||||||
bhi _0806E46C
|
|
||||||
movs r0, 0
|
|
||||||
b _0806E518
|
|
||||||
.align 2, 0
|
|
||||||
_0806E468: .4byte 0x00003fff
|
|
||||||
_0806E46C:
|
|
||||||
lsls r0, r4, 16
|
|
||||||
cmp r0, 0
|
|
||||||
blt _0806E50C
|
|
||||||
ldr r0, _0806E484 @ =gUnknown_3005E88
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _0806E488
|
|
||||||
cmp r0, 0x1
|
|
||||||
ble _0806E4EE
|
|
||||||
cmp r0, 0x2
|
|
||||||
beq _0806E4B8
|
|
||||||
b _0806E4EE
|
|
||||||
.align 2, 0
|
|
||||||
_0806E484: .4byte gUnknown_3005E88
|
|
||||||
_0806E488:
|
|
||||||
movs r0, 0
|
|
||||||
adds r1, r4, 0
|
|
||||||
bl sub_8112D40
|
|
||||||
adds r2, r0, 0
|
|
||||||
cmp r2, 0
|
|
||||||
beq _0806E4EE
|
|
||||||
ldr r0, _0806E4B0 @ =gSaveBlock1Ptr
|
|
||||||
ldr r1, [r0]
|
|
||||||
ldr r3, _0806E4B4 @ =0xffffc000
|
|
||||||
adds r0, r4, r3
|
|
||||||
lsls r0, 1
|
|
||||||
movs r3, 0x80
|
|
||||||
lsls r3, 5
|
|
||||||
adds r1, r3
|
|
||||||
adds r1, r0
|
|
||||||
ldrh r0, [r2]
|
|
||||||
strh r0, [r1]
|
|
||||||
b _0806E4EE
|
|
||||||
.align 2, 0
|
|
||||||
_0806E4B0: .4byte gSaveBlock1Ptr
|
|
||||||
_0806E4B4: .4byte 0xffffc000
|
|
||||||
_0806E4B8:
|
|
||||||
ldr r0, _0806E4FC @ =0xffffc000
|
|
||||||
adds r5, r4, r0
|
|
||||||
lsls r0, r5, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
movs r1, 0x1
|
|
||||||
bl sub_806E528
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _0806E4EE
|
|
||||||
ldr r0, _0806E500 @ =gUnknown_300507C
|
|
||||||
strh r5, [r0]
|
|
||||||
ldr r0, _0806E504 @ =gSaveBlock1Ptr
|
|
||||||
ldr r1, [r0]
|
|
||||||
ldr r2, _0806E4FC @ =0xffffc000
|
|
||||||
adds r0, r4, r2
|
|
||||||
lsls r0, 1
|
|
||||||
movs r3, 0x80
|
|
||||||
lsls r3, 5
|
|
||||||
adds r1, r3
|
|
||||||
adds r1, r0
|
|
||||||
ldrh r2, [r1]
|
|
||||||
movs r0, 0
|
|
||||||
adds r1, r4, 0
|
|
||||||
bl sub_8112DB0
|
|
||||||
_0806E4EE:
|
|
||||||
ldr r0, _0806E504 @ =gSaveBlock1Ptr
|
|
||||||
lsls r1, r6, 1
|
|
||||||
ldr r2, _0806E508 @ =0xffff9000
|
|
||||||
adds r1, r2
|
|
||||||
ldr r0, [r0]
|
|
||||||
adds r0, r1
|
|
||||||
b _0806E518
|
|
||||||
.align 2, 0
|
|
||||||
_0806E4FC: .4byte 0xffffc000
|
|
||||||
_0806E500: .4byte gUnknown_300507C
|
|
||||||
_0806E504: .4byte gSaveBlock1Ptr
|
|
||||||
_0806E508: .4byte 0xffff9000
|
|
||||||
_0806E50C:
|
|
||||||
ldr r0, _0806E520 @ =gSpecialVars
|
|
||||||
ldr r3, _0806E524 @ =0xffff8000
|
|
||||||
adds r1, r6, r3
|
|
||||||
lsls r1, 2
|
|
||||||
adds r1, r0
|
|
||||||
ldr r0, [r1]
|
|
||||||
_0806E518:
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_0806E520: .4byte gSpecialVars
|
|
||||||
_0806E524: .4byte 0xffff8000
|
|
||||||
thumb_func_end GetVarPointer
|
|
||||||
|
|
||||||
thumb_func_start sub_806E528
|
|
||||||
sub_806E528: @ 806E528
|
|
||||||
push {lr}
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r2, r0, 16
|
|
||||||
adds r0, r2, 0
|
|
||||||
lsls r1, 24
|
|
||||||
cmp r1, 0
|
|
||||||
bne _0806E554
|
|
||||||
ldr r0, _0806E54C @ =0x0000022f
|
|
||||||
cmp r2, r0
|
|
||||||
bls _0806E548
|
|
||||||
ldr r1, _0806E550 @ =0xfffff800
|
|
||||||
adds r0, r2, r1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
cmp r0, 0x1F
|
|
||||||
bhi _0806E562
|
|
||||||
_0806E548:
|
|
||||||
movs r0, 0
|
|
||||||
b _0806E564
|
|
||||||
.align 2, 0
|
|
||||||
_0806E54C: .4byte 0x0000022f
|
|
||||||
_0806E550: .4byte 0xfffff800
|
|
||||||
_0806E554:
|
|
||||||
cmp r2, 0x2F
|
|
||||||
bls _0806E548
|
|
||||||
subs r0, 0x50
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
cmp r0, 0x63
|
|
||||||
bls _0806E548
|
|
||||||
_0806E562:
|
|
||||||
movs r0, 0x1
|
|
||||||
_0806E564:
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_806E528
|
|
||||||
|
|
||||||
thumb_func_start VarGet
|
|
||||||
VarGet: @ 806E568
|
|
||||||
push {r4,lr}
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r4, r0, 16
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl GetVarPointer
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0806E57C
|
|
||||||
ldrh r0, [r0]
|
|
||||||
b _0806E57E
|
|
||||||
_0806E57C:
|
|
||||||
adds r0, r4, 0
|
|
||||||
_0806E57E:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end VarGet
|
|
||||||
|
|
||||||
thumb_func_start VarSet
|
|
||||||
VarSet: @ 806E584
|
|
||||||
push {r4,lr}
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
lsls r1, 16
|
|
||||||
lsrs r4, r1, 16
|
|
||||||
bl GetVarPointer
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0806E59C
|
|
||||||
strh r4, [r0]
|
|
||||||
movs r0, 0x1
|
|
||||||
b _0806E59E
|
|
||||||
_0806E59C:
|
|
||||||
movs r0, 0
|
|
||||||
_0806E59E:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end VarSet
|
|
||||||
|
|
||||||
thumb_func_start VarGetFieldObjectGraphicsId
|
|
||||||
VarGetFieldObjectGraphicsId: @ 806E5A4
|
|
||||||
push {lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 8
|
|
||||||
ldr r1, _0806E5BC @ =0x40100000
|
|
||||||
adds r0, r1
|
|
||||||
lsrs r0, 16
|
|
||||||
bl VarGet
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_0806E5BC: .4byte 0x40100000
|
|
||||||
thumb_func_end VarGetFieldObjectGraphicsId
|
|
||||||
|
|
||||||
thumb_func_start sub_806E5C0
|
|
||||||
sub_806E5C0: @ 806E5C0
|
|
||||||
push {r4-r6,lr}
|
|
||||||
lsls r5, r0, 16
|
|
||||||
lsrs r4, r5, 16
|
|
||||||
adds r6, r4, 0
|
|
||||||
cmp r4, 0
|
|
||||||
bne _0806E5D0
|
|
||||||
movs r0, 0
|
|
||||||
b _0806E66E
|
|
||||||
_0806E5D0:
|
|
||||||
ldr r0, _0806E5E8 @ =0x00003fff
|
|
||||||
cmp r4, r0
|
|
||||||
bhi _0806E65C
|
|
||||||
ldr r0, _0806E5EC @ =gUnknown_3005E88
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _0806E5F0
|
|
||||||
cmp r0, 0x1
|
|
||||||
ble _0806E644
|
|
||||||
cmp r0, 0x2
|
|
||||||
beq _0806E618
|
|
||||||
b _0806E644
|
|
||||||
.align 2, 0
|
|
||||||
_0806E5E8: .4byte 0x00003fff
|
|
||||||
_0806E5EC: .4byte gUnknown_3005E88
|
|
||||||
_0806E5F0:
|
|
||||||
movs r0, 0x1
|
|
||||||
adds r1, r4, 0
|
|
||||||
bl sub_8112D40
|
|
||||||
adds r2, r0, 0
|
|
||||||
cmp r2, 0
|
|
||||||
beq _0806E644
|
|
||||||
ldr r0, _0806E614 @ =gSaveBlock1Ptr
|
|
||||||
ldr r0, [r0]
|
|
||||||
lsrs r1, r5, 19
|
|
||||||
movs r3, 0xEE
|
|
||||||
lsls r3, 4
|
|
||||||
adds r0, r3
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r1, [r2]
|
|
||||||
strb r1, [r0]
|
|
||||||
b _0806E644
|
|
||||||
.align 2, 0
|
|
||||||
_0806E614: .4byte gSaveBlock1Ptr
|
|
||||||
_0806E618:
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_806E528
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _0806E644
|
|
||||||
ldr r0, _0806E654 @ =gUnknown_300507C
|
|
||||||
strh r4, [r0]
|
|
||||||
ldr r0, _0806E658 @ =gSaveBlock1Ptr
|
|
||||||
ldr r0, [r0]
|
|
||||||
lsrs r1, r5, 19
|
|
||||||
movs r2, 0xEE
|
|
||||||
lsls r2, 4
|
|
||||||
adds r0, r2
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r2, [r0]
|
|
||||||
movs r0, 0x1
|
|
||||||
adds r1, r4, 0
|
|
||||||
bl sub_8112DB0
|
|
||||||
_0806E644:
|
|
||||||
ldr r0, _0806E658 @ =gSaveBlock1Ptr
|
|
||||||
lsrs r1, r6, 3
|
|
||||||
movs r3, 0xEE
|
|
||||||
lsls r3, 4
|
|
||||||
adds r1, r3
|
|
||||||
ldr r0, [r0]
|
|
||||||
b _0806E66C
|
|
||||||
.align 2, 0
|
|
||||||
_0806E654: .4byte gUnknown_300507C
|
|
||||||
_0806E658: .4byte gSaveBlock1Ptr
|
|
||||||
_0806E65C:
|
|
||||||
ldr r1, _0806E674 @ =0xffffc000
|
|
||||||
adds r0, r6, r1
|
|
||||||
cmp r0, 0
|
|
||||||
bge _0806E668
|
|
||||||
ldr r2, _0806E678 @ =0xffffc007
|
|
||||||
adds r0, r6, r2
|
|
||||||
_0806E668:
|
|
||||||
asrs r0, 3
|
|
||||||
ldr r1, _0806E67C @ =gUnknown_20370E0
|
|
||||||
_0806E66C:
|
|
||||||
adds r0, r1
|
|
||||||
_0806E66E:
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_0806E674: .4byte 0xffffc000
|
|
||||||
_0806E678: .4byte 0xffffc007
|
|
||||||
_0806E67C: .4byte gUnknown_20370E0
|
|
||||||
thumb_func_end sub_806E5C0
|
|
||||||
|
|
||||||
thumb_func_start FlagSet
|
|
||||||
FlagSet: @ 806E680
|
|
||||||
push {r4,lr}
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r4, r0, 16
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl sub_806E5C0
|
|
||||||
adds r2, r0, 0
|
|
||||||
cmp r2, 0
|
|
||||||
beq _0806E6A0
|
|
||||||
movs r0, 0x7
|
|
||||||
ands r0, r4
|
|
||||||
movs r1, 0x1
|
|
||||||
lsls r1, r0
|
|
||||||
ldrb r0, [r2]
|
|
||||||
orrs r1, r0
|
|
||||||
strb r1, [r2]
|
|
||||||
_0806E6A0:
|
|
||||||
movs r0, 0
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end FlagSet
|
|
||||||
|
|
||||||
thumb_func_start FlagClear
|
|
||||||
FlagClear: @ 806E6A8
|
|
||||||
push {r4,lr}
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r4, r0, 16
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl sub_806E5C0
|
|
||||||
adds r2, r0, 0
|
|
||||||
cmp r2, 0
|
|
||||||
beq _0806E6C8
|
|
||||||
movs r0, 0x7
|
|
||||||
ands r0, r4
|
|
||||||
movs r1, 0x1
|
|
||||||
lsls r1, r0
|
|
||||||
ldrb r0, [r2]
|
|
||||||
bics r0, r1
|
|
||||||
strb r0, [r2]
|
|
||||||
_0806E6C8:
|
|
||||||
movs r0, 0
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end FlagClear
|
|
||||||
|
|
||||||
thumb_func_start FlagGet
|
|
||||||
FlagGet: @ 806E6D0
|
|
||||||
push {r4,lr}
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r4, r0, 16
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl sub_806E5C0
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0806E6F4
|
|
||||||
ldrb r0, [r0]
|
|
||||||
movs r1, 0x7
|
|
||||||
ands r1, r4
|
|
||||||
asrs r0, r1
|
|
||||||
movs r1, 0x1
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0806E6F4
|
|
||||||
movs r0, 0x1
|
|
||||||
b _0806E6F6
|
|
||||||
_0806E6F4:
|
|
||||||
movs r0, 0
|
|
||||||
_0806E6F6:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end FlagGet
|
|
||||||
|
|
||||||
thumb_func_start sub_806E6FC
|
|
||||||
sub_806E6FC: @ 806E6FC
|
|
||||||
ldr r1, _0806E754 @ =gSpecialVar_0x8000
|
|
||||||
movs r0, 0
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E758 @ =gSpecialVar_0x8001
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E75C @ =gSpecialVar_0x8002
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E760 @ =gSpecialVar_0x8003
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E764 @ =gSpecialVar_0x8004
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E768 @ =gSpecialVar_0x8005
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E76C @ =gSpecialVar_0x8006
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E770 @ =gSpecialVar_0x8007
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E774 @ =gSpecialVar_0x8008
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E778 @ =gSpecialVar_0x8009
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E77C @ =gSpecialVar_0x800A
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E780 @ =gSpecialVar_0x800B
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E784 @ =gSpecialVar_Facing
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E788 @ =gSpecialVar_Result
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E78C @ =gSpecialVar_ItemId
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E790 @ =gSpecialVar_LastTalked
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E794 @ =gSpecialVar_MonBoxId
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E798 @ =gSpecialVar_MonBoxPos
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E79C @ =gUnknown_20370DA
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E7A0 @ =gUnknown_20370DC
|
|
||||||
strh r0, [r1]
|
|
||||||
ldr r1, _0806E7A4 @ =gUnknown_20370DE
|
|
||||||
strh r0, [r1]
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_0806E754: .4byte gSpecialVar_0x8000
|
|
||||||
_0806E758: .4byte gSpecialVar_0x8001
|
|
||||||
_0806E75C: .4byte gSpecialVar_0x8002
|
|
||||||
_0806E760: .4byte gSpecialVar_0x8003
|
|
||||||
_0806E764: .4byte gSpecialVar_0x8004
|
|
||||||
_0806E768: .4byte gSpecialVar_0x8005
|
|
||||||
_0806E76C: .4byte gSpecialVar_0x8006
|
|
||||||
_0806E770: .4byte gSpecialVar_0x8007
|
|
||||||
_0806E774: .4byte gSpecialVar_0x8008
|
|
||||||
_0806E778: .4byte gSpecialVar_0x8009
|
|
||||||
_0806E77C: .4byte gSpecialVar_0x800A
|
|
||||||
_0806E780: .4byte gSpecialVar_0x800B
|
|
||||||
_0806E784: .4byte gSpecialVar_Facing
|
|
||||||
_0806E788: .4byte gSpecialVar_Result
|
|
||||||
_0806E78C: .4byte gSpecialVar_ItemId
|
|
||||||
_0806E790: .4byte gSpecialVar_LastTalked
|
|
||||||
_0806E794: .4byte gSpecialVar_MonBoxId
|
|
||||||
_0806E798: .4byte gSpecialVar_MonBoxPos
|
|
||||||
_0806E79C: .4byte gUnknown_20370DA
|
|
||||||
_0806E7A0: .4byte gUnknown_20370DC
|
|
||||||
_0806E7A4: .4byte gUnknown_20370DE
|
|
||||||
thumb_func_end sub_806E6FC
|
|
||||||
|
|
||||||
.align 2, 0 @ Don't pad with nop.
|
|
||||||
@@ -3142,19 +3142,19 @@ sub_80CBDE8: @ 80CBDE8
|
|||||||
ldr r1, _080CBDF8 @ =gSelectedEventObject
|
ldr r1, _080CBDF8 @ =gSelectedEventObject
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
strb r0, [r1]
|
strb r0, [r1]
|
||||||
ldr r1, _080CBDFC @ =gUnknown_20370DA
|
ldr r1, _080CBDFC @ =gSpecialVar_TextColor
|
||||||
movs r0, 0xFF
|
movs r0, 0xFF
|
||||||
strh r0, [r1]
|
strh r0, [r1]
|
||||||
bx lr
|
bx lr
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080CBDF8: .4byte gSelectedEventObject
|
_080CBDF8: .4byte gSelectedEventObject
|
||||||
_080CBDFC: .4byte gUnknown_20370DA
|
_080CBDFC: .4byte gSpecialVar_TextColor
|
||||||
thumb_func_end sub_80CBDE8
|
thumb_func_end sub_80CBDE8
|
||||||
|
|
||||||
thumb_func_start ContextNpcGetTextColor
|
thumb_func_start ContextNpcGetTextColor
|
||||||
ContextNpcGetTextColor: @ 80CBE00
|
ContextNpcGetTextColor: @ 80CBE00
|
||||||
push {lr}
|
push {lr}
|
||||||
ldr r0, _080CBE18 @ =gUnknown_20370DA
|
ldr r0, _080CBE18 @ =gSpecialVar_TextColor
|
||||||
ldrh r0, [r0]
|
ldrh r0, [r0]
|
||||||
cmp r0, 0xFF
|
cmp r0, 0xFF
|
||||||
bne _080CBE44
|
bne _080CBE44
|
||||||
@@ -3165,7 +3165,7 @@ ContextNpcGetTextColor: @ 80CBE00
|
|||||||
movs r0, 0x3
|
movs r0, 0x3
|
||||||
b _080CBE48
|
b _080CBE48
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080CBE18: .4byte gUnknown_20370DA
|
_080CBE18: .4byte gSpecialVar_TextColor
|
||||||
_080CBE1C: .4byte gSelectedEventObject
|
_080CBE1C: .4byte gSelectedEventObject
|
||||||
_080CBE20:
|
_080CBE20:
|
||||||
ldr r2, _080CBE4C @ =gMapObjects
|
ldr r2, _080CBE4C @ =gMapObjects
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
gUnknown_300507C
|
||||||
@@ -44,8 +44,8 @@ gSpecialVars:: @ 815FD0C
|
|||||||
.4byte gSpecialVar_LastTalked
|
.4byte gSpecialVar_LastTalked
|
||||||
.4byte gSpecialVar_MonBoxId
|
.4byte gSpecialVar_MonBoxId
|
||||||
.4byte gSpecialVar_MonBoxPos
|
.4byte gSpecialVar_MonBoxPos
|
||||||
.4byte gUnknown_20370DA
|
.4byte gSpecialVar_TextColor
|
||||||
.4byte gUnknown_20370DC
|
.4byte gSpecialVar_PrevTextColor
|
||||||
.4byte gUnknown_20370DE
|
.4byte gUnknown_20370DE
|
||||||
|
|
||||||
.include "data/specials.inc"
|
.include "data/specials.inc"
|
||||||
|
|||||||
@@ -573,6 +573,7 @@
|
|||||||
#define FLAG_0x22F 0x22F
|
#define FLAG_0x22F 0x22F
|
||||||
|
|
||||||
// Story flags
|
// Story flags
|
||||||
|
#define STORY_FLAGS_START 0x230
|
||||||
#define FLAG_GOT_POTION_ON_ROUTE_1 0x230
|
#define FLAG_GOT_POTION_ON_ROUTE_1 0x230
|
||||||
#define FLAG_GOT_TM34_FROM_SURGE 0x231
|
#define FLAG_GOT_TM34_FROM_SURGE 0x231
|
||||||
#define FLAG_GOT_FOSSIL_FROM_MT_MOON 0x232
|
#define FLAG_GOT_FOSSIL_FROM_MT_MOON 0x232
|
||||||
@@ -1325,6 +1326,7 @@
|
|||||||
#define FLAG_SYS_FLASH_ACTIVE (SYS_FLAGS + 0x6)
|
#define FLAG_SYS_FLASH_ACTIVE (SYS_FLAGS + 0x6)
|
||||||
#define FLAG_SYS_SPECIAL_WILD_BATTLE (SYS_FLAGS + 0x7)
|
#define FLAG_SYS_SPECIAL_WILD_BATTLE (SYS_FLAGS + 0x7)
|
||||||
|
|
||||||
|
#define PERMA_SYS_FLAGS_START 0x820
|
||||||
#define FLAG_BADGE01_GET (SYS_FLAGS + 0x20)
|
#define FLAG_BADGE01_GET (SYS_FLAGS + 0x20)
|
||||||
#define FLAG_BADGE02_GET (SYS_FLAGS + 0x21)
|
#define FLAG_BADGE02_GET (SYS_FLAGS + 0x21)
|
||||||
#define FLAG_BADGE03_GET (SYS_FLAGS + 0x22)
|
#define FLAG_BADGE03_GET (SYS_FLAGS + 0x22)
|
||||||
@@ -1429,6 +1431,8 @@
|
|||||||
#define FLAG_0x8E0 (SYS_FLAGS + 0xE0)
|
#define FLAG_0x8E0 (SYS_FLAGS + 0xE0)
|
||||||
|
|
||||||
// SPECIAL FLAGS (unknown purpose)
|
// SPECIAL FLAGS (unknown purpose)
|
||||||
|
#define SPECIAL_FLAGS_START 0x4000
|
||||||
|
#define SPECIAL_FLAGS_COUNT 16
|
||||||
#define FLAG_SPECIAL_FLAG_0x4000 0x4000
|
#define FLAG_SPECIAL_FLAG_0x4000 0x4000
|
||||||
#define FLAG_SPECIAL_FLAG_0x4001 0x4001
|
#define FLAG_SPECIAL_FLAG_0x4001 0x4001
|
||||||
#define FLAG_SPECIAL_FLAG_0x4002 0x4002
|
#define FLAG_SPECIAL_FLAG_0x4002 0x4002
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
#define VAR_0x3F20 0x3F20
|
#define VAR_0x3F20 0x3F20
|
||||||
|
|
||||||
|
#define VARS_START 0x4000
|
||||||
|
|
||||||
#define VAR_0x4000 0x4000
|
#define VAR_0x4000 0x4000
|
||||||
#define VAR_0x4001 0x4001
|
#define VAR_0x4001 0x4001
|
||||||
#define VAR_0x4002 0x4002
|
#define VAR_0x4002 0x4002
|
||||||
@@ -267,6 +269,7 @@
|
|||||||
#define VAR_0x40FE 0x40FE
|
#define VAR_0x40FE 0x40FE
|
||||||
#define VAR_0x40FF 0x40FF
|
#define VAR_0x40FF 0x40FF
|
||||||
|
|
||||||
|
#define SPECIAL_VARS_START 0x8000
|
||||||
#define VAR_0x8000 0x8000
|
#define VAR_0x8000 0x8000
|
||||||
#define VAR_0x8001 0x8001
|
#define VAR_0x8001 0x8001
|
||||||
#define VAR_0x8002 0x8002
|
#define VAR_0x8002 0x8002
|
||||||
@@ -287,6 +290,6 @@
|
|||||||
#define VAR_CONTEST_CATEGORY 0x8011
|
#define VAR_CONTEST_CATEGORY 0x8011
|
||||||
#define VAR_MON_BOX_ID 0x8012
|
#define VAR_MON_BOX_ID 0x8012
|
||||||
#define VAR_MON_BOX_POS 0x8013
|
#define VAR_MON_BOX_POS 0x8013
|
||||||
#define VAR_0x8014 0x8014
|
#define VAR_TEXT_COLOR 0x8014
|
||||||
|
|
||||||
#endif // GUARD_CONSTANTS_VARS_H
|
#endif // GUARD_CONSTANTS_VARS_H
|
||||||
|
|||||||
@@ -32,8 +32,8 @@ u8 FlagSet(u16 id);
|
|||||||
u8 FlagClear(u16 id);
|
u8 FlagClear(u16 id);
|
||||||
bool8 FlagGet(u16 id);
|
bool8 FlagGet(u16 id);
|
||||||
u16 * GetVarPointer(u16 id);
|
u16 * GetVarPointer(u16 id);
|
||||||
bool32 Flag_0x839_IsSet(void);
|
bool32 IsMysteryGiftEnabled(void);
|
||||||
void sub_806E6FC(void);
|
void ResetSpecialVars(void);
|
||||||
void sub_806E2D0(void);
|
void sub_806E2D0(void);
|
||||||
void sub_806E370(void);
|
void sub_806E370(void);
|
||||||
bool32 IsNationalPokedexEnabled(void);
|
bool32 IsNationalPokedexEnabled(void);
|
||||||
@@ -60,7 +60,7 @@ extern u16 gSpecialVar_0x8014;
|
|||||||
extern u16 gSpecialVar_Result;
|
extern u16 gSpecialVar_Result;
|
||||||
extern u16 gSpecialVar_0x8004;
|
extern u16 gSpecialVar_0x8004;
|
||||||
|
|
||||||
extern u16 gUnknown_20370DA;
|
extern u16 gSpecialVar_TextColor;
|
||||||
extern u16 gUnknown_20370DC;
|
extern u16 gSpecialVar_PrevTextColor;
|
||||||
|
|
||||||
#endif // GUARD_EVENT_DATA_H
|
#endif // GUARD_EVENT_DATA_H
|
||||||
|
|||||||
@@ -40,6 +40,8 @@ void sub_8112450(void);
|
|||||||
void sub_8112364(void);
|
void sub_8112364(void);
|
||||||
u8 sub_8112CAC(void);
|
u8 sub_8112CAC(void);
|
||||||
void sub_81138F8(void);
|
void sub_81138F8(void);
|
||||||
|
void *sub_8112D40(u8 a0, u16 a1);
|
||||||
|
void sub_8112DB0(u8 a0, u16 a1, u16 a2);
|
||||||
|
|
||||||
extern u8 gUnknown_203ADFA;
|
extern u8 gUnknown_203ADFA;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -103,7 +103,7 @@ SECTIONS {
|
|||||||
src/script.o(.text);
|
src/script.o(.text);
|
||||||
src/scrcmd.o(.text);
|
src/scrcmd.o(.text);
|
||||||
asm/field_control_avatar.o(.text);
|
asm/field_control_avatar.o(.text);
|
||||||
asm/event_data.o(.text);
|
src/event_data.o(.text);
|
||||||
src/coord_event_weather.o(.text);
|
src/coord_event_weather.o(.text);
|
||||||
asm/field_tasks.o(.text);
|
asm/field_tasks.o(.text);
|
||||||
src/start_menu.o(.text);
|
src/start_menu.o(.text);
|
||||||
|
|||||||
@@ -0,0 +1,325 @@
|
|||||||
|
#include "global.h"
|
||||||
|
#include "event_data.h"
|
||||||
|
#include "item_menu.h"
|
||||||
|
#include "quest_log.h"
|
||||||
|
|
||||||
|
static bool8 IsFlagOrVarStoredInQuestLog(u16 idx, u8 a1);
|
||||||
|
|
||||||
|
EWRAM_DATA u16 gSpecialVar_0x8000 = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_0x8001 = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_0x8002 = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_0x8003 = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_0x8004 = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_0x8005 = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_0x8006 = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_0x8007 = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_0x8008 = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_0x8009 = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_0x800A = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_0x800B = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_Result = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_LastTalked = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_Facing = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_MonBoxId = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_MonBoxPos = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_TextColor = 0;
|
||||||
|
EWRAM_DATA u16 gSpecialVar_PrevTextColor = 0;
|
||||||
|
EWRAM_DATA u16 gUnknown_20370DE = 0;
|
||||||
|
EWRAM_DATA u8 gUnknown_20370E0[SPECIAL_FLAGS_COUNT] = {};
|
||||||
|
|
||||||
|
u16 gUnknown_300507C;
|
||||||
|
|
||||||
|
extern u16 *const gSpecialVars[];
|
||||||
|
|
||||||
|
void InitEventData(void)
|
||||||
|
{
|
||||||
|
memset(gSaveBlock1Ptr->flags, 0, FLAGS_COUNT);
|
||||||
|
memset(gSaveBlock1Ptr->vars, 0, VARS_COUNT * 2);
|
||||||
|
memset(gUnknown_20370E0, 0, SPECIAL_FLAGS_COUNT);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_806E110(void)
|
||||||
|
{
|
||||||
|
memset(gSaveBlock1Ptr->flags, 0, 4);
|
||||||
|
memset(gSaveBlock1Ptr->vars, 0, 16 * 2);
|
||||||
|
FlagClear(FLAG_SYS_WHITE_FLUTE_ACTIVE);
|
||||||
|
FlagClear(FLAG_SYS_BLACK_FLUTE_ACTIVE);
|
||||||
|
FlagClear(FLAG_SYS_STRENGTH_ACTIVE);
|
||||||
|
FlagClear(FLAG_SYS_SPECIAL_WILD_BATTLE);
|
||||||
|
FlagClear(FLAG_SYS_INFORMED_OF_LOCAL_WIRELESS_PLAYER);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_806E168(void)
|
||||||
|
{
|
||||||
|
u16 *ptr = GetVarPointer(VAR_0x403C);
|
||||||
|
gSaveBlock2Ptr->pokedex.nationalMagic = 0;
|
||||||
|
*ptr = 0;
|
||||||
|
FlagClear(FLAG_0x838);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_806E190(void)
|
||||||
|
{
|
||||||
|
u16 *ptr = GetVarPointer(VAR_0x403C);
|
||||||
|
gSaveBlock2Ptr->pokedex.nationalMagic = 0xDA;
|
||||||
|
*ptr = 0x0302;
|
||||||
|
FlagSet(FLAG_0x838);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_806E1C0(void)
|
||||||
|
{
|
||||||
|
if (gSaveBlock2Ptr->pokedex.nationalMagic != 0xDA)
|
||||||
|
return FALSE;
|
||||||
|
if (VarGet(VAR_0x403C) != 0x0302)
|
||||||
|
return FALSE;
|
||||||
|
if (!FlagGet(FLAG_0x838))
|
||||||
|
return FALSE;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_806E204(void)
|
||||||
|
{
|
||||||
|
u16 *ptr = GetVarPointer(VAR_0x404E);
|
||||||
|
gSaveBlock2Ptr->pokedex.unknown2 = 0;
|
||||||
|
*ptr = 0;
|
||||||
|
FlagClear(FLAG_SYS_NATIONAL_DEX);
|
||||||
|
}
|
||||||
|
|
||||||
|
void EnableNationalPokedex(void)
|
||||||
|
{
|
||||||
|
u16 *ptr = GetVarPointer(VAR_0x404E);
|
||||||
|
gSaveBlock2Ptr->pokedex.unknown2 = 0xB9;
|
||||||
|
*ptr = 0x6258;
|
||||||
|
FlagSet(FLAG_SYS_NATIONAL_DEX);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 IsNationalPokedexEnabled(void)
|
||||||
|
{
|
||||||
|
if (gSaveBlock2Ptr->pokedex.unknown2 != 0xB9)
|
||||||
|
return FALSE;
|
||||||
|
if (VarGet(VAR_0x404E) != 0x6258)
|
||||||
|
return FALSE;
|
||||||
|
if (!FlagGet(FLAG_SYS_NATIONAL_DEX))
|
||||||
|
return FALSE;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DisableMysteryGift(void)
|
||||||
|
{
|
||||||
|
FlagClear(FLAG_SYS_MYSTERY_GIFT_ENABLED);
|
||||||
|
}
|
||||||
|
|
||||||
|
void EnableMysteryGift(void)
|
||||||
|
{
|
||||||
|
FlagSet(FLAG_SYS_MYSTERY_GIFT_ENABLED);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 IsMysteryGiftEnabled(void)
|
||||||
|
{
|
||||||
|
return FlagGet(FLAG_SYS_MYSTERY_GIFT_ENABLED);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_806E2D0(void)
|
||||||
|
{
|
||||||
|
FlagClear(FLAG_MYSTERY_EVENT_DONE);
|
||||||
|
FlagClear(FLAG_0x3D9);
|
||||||
|
FlagClear(FLAG_0x3DA);
|
||||||
|
FlagClear(FLAG_0x3DB);
|
||||||
|
FlagClear(FLAG_0x3DC);
|
||||||
|
FlagClear(FLAG_0x3DD);
|
||||||
|
FlagClear(FLAG_0x3DE);
|
||||||
|
FlagClear(FLAG_0x3DF);
|
||||||
|
FlagClear(FLAG_0x3E0);
|
||||||
|
FlagClear(FLAG_0x3E1);
|
||||||
|
FlagClear(FLAG_0x3E2);
|
||||||
|
FlagClear(FLAG_0x3E3);
|
||||||
|
FlagClear(FLAG_0x3E4);
|
||||||
|
FlagClear(FLAG_0x3E5);
|
||||||
|
FlagClear(FLAG_0x3E6);
|
||||||
|
FlagClear(FLAG_0x3E7);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_806E370(void)
|
||||||
|
{
|
||||||
|
VarSet(VAR_EVENT_PICHU_SLOT, 0);
|
||||||
|
VarSet(VAR_0x40B6, 0);
|
||||||
|
VarSet(VAR_0x40B7, 0);
|
||||||
|
VarSet(VAR_0x40B8, 0);
|
||||||
|
VarSet(VAR_0x40B9, 0);
|
||||||
|
VarSet(VAR_0x40BA, 0);
|
||||||
|
VarSet(VAR_0x40BB, 0);
|
||||||
|
VarSet(VAR_0x40BC, 0);
|
||||||
|
VarSet(VAR_ALTERING_CAVE_WILD_SET, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DisableResetRTC(void)
|
||||||
|
{
|
||||||
|
VarSet(VAR_0x4032, 0);
|
||||||
|
FlagClear(FLAG_0x837);
|
||||||
|
}
|
||||||
|
|
||||||
|
void EnableResetRTC(void)
|
||||||
|
{
|
||||||
|
VarSet(VAR_0x4032, 0x0920);
|
||||||
|
FlagSet(FLAG_0x837);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 CanResetRTC(void)
|
||||||
|
{
|
||||||
|
if (!FlagGet(FLAG_0x837))
|
||||||
|
return FALSE;
|
||||||
|
if (VarGet(VAR_0x4032) != 0x0920)
|
||||||
|
return FALSE;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
u16 *GetVarPointer(u16 idx)
|
||||||
|
{
|
||||||
|
u16 *ptr;
|
||||||
|
if (idx < VARS_START)
|
||||||
|
return NULL;
|
||||||
|
if (idx < SPECIAL_VARS_START)
|
||||||
|
{
|
||||||
|
switch (gUnknown_3005E88)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
ptr = sub_8112D40(0, idx);
|
||||||
|
if (ptr != NULL)
|
||||||
|
gSaveBlock1Ptr->vars[idx - VARS_START] = *ptr;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (IsFlagOrVarStoredInQuestLog(idx - VARS_START, 1) == TRUE)
|
||||||
|
{
|
||||||
|
gUnknown_300507C = idx - VARS_START;
|
||||||
|
sub_8112DB0(0, idx, gSaveBlock1Ptr->vars[idx - VARS_START]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return &gSaveBlock1Ptr->vars[idx - VARS_START];
|
||||||
|
}
|
||||||
|
return gSpecialVars[idx - SPECIAL_VARS_START];
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool8 IsFlagOrVarStoredInQuestLog(u16 idx, u8 a1)
|
||||||
|
{
|
||||||
|
if (a1 == 0)
|
||||||
|
{
|
||||||
|
if (idx < STORY_FLAGS_START)
|
||||||
|
return FALSE;
|
||||||
|
if (idx >= SYS_FLAGS && idx < PERMA_SYS_FLAGS_START)
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (idx < VAR_0x4030 - VARS_START)
|
||||||
|
return FALSE;
|
||||||
|
if (idx >= VAR_MAP_SCENE_PALLET_TOWN_OAK - VARS_START && idx < VAR_PORTHOLE - VARS_START)
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
u16 VarGet(u16 idx)
|
||||||
|
{
|
||||||
|
u16 *ptr = GetVarPointer(idx);
|
||||||
|
if (ptr == NULL)
|
||||||
|
return idx;
|
||||||
|
return *ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 VarSet(u16 idx, u16 val)
|
||||||
|
{
|
||||||
|
u16 *ptr = GetVarPointer(idx);
|
||||||
|
if (ptr == NULL)
|
||||||
|
return FALSE;
|
||||||
|
*ptr = val;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 VarGetFieldObjectGraphicsId(u8 idx)
|
||||||
|
{
|
||||||
|
return VarGet(0x4010 + idx);
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 *GetFlagAddr(u16 idx)
|
||||||
|
{
|
||||||
|
u8 *ptr;
|
||||||
|
if (idx == 0)
|
||||||
|
return NULL;
|
||||||
|
if (idx < SPECIAL_FLAGS_START)
|
||||||
|
{
|
||||||
|
switch (gUnknown_3005E88)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
ptr = sub_8112D40(1, idx);
|
||||||
|
if (ptr != NULL)
|
||||||
|
gSaveBlock1Ptr->flags[idx >> 3] = *ptr;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (IsFlagOrVarStoredInQuestLog(idx, 0) == TRUE)
|
||||||
|
{
|
||||||
|
gUnknown_300507C = idx;
|
||||||
|
sub_8112DB0(1, idx, gSaveBlock1Ptr->flags[idx / 8]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return &gSaveBlock1Ptr->flags[idx / 8];
|
||||||
|
}
|
||||||
|
return &gUnknown_20370E0[(idx - SPECIAL_FLAGS_START) / 8];
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 FlagSet(u16 idx)
|
||||||
|
{
|
||||||
|
u8 *ptr = GetFlagAddr(idx);
|
||||||
|
if (ptr != NULL)
|
||||||
|
*ptr |= 1 << (idx & 7);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 FlagClear(u16 idx)
|
||||||
|
{
|
||||||
|
u8 *ptr = GetFlagAddr(idx);
|
||||||
|
if (ptr != NULL)
|
||||||
|
*ptr &= ~(1 << (idx & 7));
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 FlagGet(u16 idx)
|
||||||
|
{
|
||||||
|
u8 *ptr = GetFlagAddr(idx);
|
||||||
|
if (ptr == NULL)
|
||||||
|
return FALSE;
|
||||||
|
if (!(*ptr & 1 << (idx & 7)))
|
||||||
|
return FALSE;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ResetSpecialVars(void)
|
||||||
|
{
|
||||||
|
gSpecialVar_0x8000 = 0;
|
||||||
|
gSpecialVar_0x8001 = 0;
|
||||||
|
gSpecialVar_0x8002 = 0;
|
||||||
|
gSpecialVar_0x8003 = 0;
|
||||||
|
gSpecialVar_0x8004 = 0;
|
||||||
|
gSpecialVar_0x8005 = 0;
|
||||||
|
gSpecialVar_0x8006 = 0;
|
||||||
|
gSpecialVar_0x8007 = 0;
|
||||||
|
gSpecialVar_0x8008 = 0;
|
||||||
|
gSpecialVar_0x8009 = 0;
|
||||||
|
gSpecialVar_0x800A = 0;
|
||||||
|
gSpecialVar_0x800B = 0;
|
||||||
|
gSpecialVar_Facing = 0;
|
||||||
|
gSpecialVar_Result = 0;
|
||||||
|
gSpecialVar_ItemId = 0;
|
||||||
|
gSpecialVar_LastTalked = 0;
|
||||||
|
gSpecialVar_MonBoxId = 0;
|
||||||
|
gSpecialVar_MonBoxPos = 0;
|
||||||
|
gSpecialVar_TextColor = 0;
|
||||||
|
gSpecialVar_PrevTextColor = 0;
|
||||||
|
gUnknown_20370DE = 0;
|
||||||
|
}
|
||||||
+2
-2
@@ -240,7 +240,7 @@ static void Task_SetWin0BldRegsAndCheckSaveFile(u8 taskId)
|
|||||||
{
|
{
|
||||||
case SAVE_STATUS_OK:
|
case SAVE_STATUS_OK:
|
||||||
LoadUserFrameToBg(0);
|
LoadUserFrameToBg(0);
|
||||||
if (Flag_0x839_IsSet() == TRUE)
|
if (IsMysteryGiftEnabled() == TRUE)
|
||||||
{
|
{
|
||||||
gTasks[taskId].tMenuType = MAIN_MENU_MYSTERYGIFT;
|
gTasks[taskId].tMenuType = MAIN_MENU_MYSTERYGIFT;
|
||||||
}
|
}
|
||||||
@@ -259,7 +259,7 @@ static void Task_SetWin0BldRegsAndCheckSaveFile(u8 taskId)
|
|||||||
SetStdFrame0OnBg(0);
|
SetStdFrame0OnBg(0);
|
||||||
gTasks[taskId].tMenuType = MAIN_MENU_CONTINUE;
|
gTasks[taskId].tMenuType = MAIN_MENU_CONTINUE;
|
||||||
PrintSaveErrorStatus(taskId, gText_SaveFileCorruptedPrevWillBeLoaded);
|
PrintSaveErrorStatus(taskId, gText_SaveFileCorruptedPrevWillBeLoaded);
|
||||||
if (Flag_0x839_IsSet() == TRUE)
|
if (IsMysteryGiftEnabled() == TRUE)
|
||||||
{
|
{
|
||||||
gTasks[taskId].tMenuType = MAIN_MENU_MYSTERYGIFT;
|
gTasks[taskId].tMenuType = MAIN_MENU_MYSTERYGIFT;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -59,7 +59,7 @@ u16 sub_8146CE8(void)
|
|||||||
struct MysteryEventStruct *r4 = sub_8143D94();
|
struct MysteryEventStruct *r4 = sub_8143D94();
|
||||||
u16 r5;
|
u16 r5;
|
||||||
|
|
||||||
if (!Flag_0x839_IsSet() || !ValidateReceivedWonderNews())
|
if (!IsMysteryGiftEnabled() || !ValidateReceivedWonderNews())
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
r5 = sub_8146E0C(r4);
|
r5 = sub_8146E0C(r4);
|
||||||
|
|||||||
+1
-1
@@ -103,7 +103,7 @@ void ResetMenuAndMonGlobals(void)
|
|||||||
BerryPouch_CursorResetToTop();
|
BerryPouch_CursorResetToTop();
|
||||||
sub_811089C();
|
sub_811089C();
|
||||||
sub_8083214(Random());
|
sub_8083214(Random());
|
||||||
sub_806E6FC();
|
ResetSpecialVars();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NewGameInitData(void)
|
void NewGameInitData(void)
|
||||||
|
|||||||
+2
-2
@@ -982,7 +982,7 @@ void sub_8111274(u8 a0, u8 a1)
|
|||||||
static void sub_8111368(void)
|
static void sub_8111368(void)
|
||||||
{
|
{
|
||||||
gUnknown_203ADFA = 2;
|
gUnknown_203ADFA = 2;
|
||||||
sub_806E6FC();
|
ResetSpecialVars();
|
||||||
ClearBag();
|
ClearBag();
|
||||||
ClearPCItemSlots();
|
ClearPCItemSlots();
|
||||||
if (sub_8110AC8() == 1)
|
if (sub_8110AC8() == 1)
|
||||||
@@ -1231,7 +1231,7 @@ static void sub_8111914(void)
|
|||||||
|
|
||||||
static void sub_8111984(void)
|
static void sub_8111984(void)
|
||||||
{
|
{
|
||||||
sub_806E6FC();
|
ResetSpecialVars();
|
||||||
Save_ResetSaveCounters();
|
Save_ResetSaveCounters();
|
||||||
Save_LoadGameData(0);
|
Save_LoadGameData(0);
|
||||||
SetMainCallback2(sub_8057430);
|
SetMainCallback2(sub_8057430);
|
||||||
|
|||||||
+2
-2
@@ -1263,8 +1263,8 @@ bool8 ScrCmd_release(struct ScriptContext *ctx)
|
|||||||
|
|
||||||
bool8 ScrCmd_textcolor(struct ScriptContext *ctx)
|
bool8 ScrCmd_textcolor(struct ScriptContext *ctx)
|
||||||
{
|
{
|
||||||
gUnknown_20370DC = gUnknown_20370DA;
|
gSpecialVar_PrevTextColor = gSpecialVar_TextColor;
|
||||||
gUnknown_20370DA = ScriptReadByte(ctx);
|
gSpecialVar_TextColor = ScriptReadByte(ctx);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -920,8 +920,8 @@ void sub_815E068(u8 battleType, u8 facilityClass)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
gUnknown_20370DC = gUnknown_20370DA;
|
gSpecialVar_PrevTextColor = gSpecialVar_TextColor;
|
||||||
gUnknown_20370DA = r5;
|
gSpecialVar_TextColor = r5;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815E114(void)
|
void sub_815E114(void)
|
||||||
|
|||||||
+1
-3
@@ -83,9 +83,7 @@ gSelectedEventObject: @ 3005074
|
|||||||
gUnknown_3005078: @ 3005078
|
gUnknown_3005078: @ 3005078
|
||||||
.space 0x4
|
.space 0x4
|
||||||
|
|
||||||
gUnknown_300507C: @ 300507C
|
.include "event_data.o"
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
.include "sound.o"
|
.include "sound.o"
|
||||||
.include "task.o"
|
.include "task.o"
|
||||||
|
|
||||||
|
|||||||
+5
-66
@@ -509,73 +509,12 @@ gUnknown_203709A: @ 203709A
|
|||||||
gUnknown_203709C: @ 203709C
|
gUnknown_203709C: @ 203709C
|
||||||
.space 0x4
|
.space 0x4
|
||||||
|
|
||||||
.include "src/script.o"
|
|
||||||
.include "src/scrcmd.o"
|
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
gSpecialVar_0x8000: @ 20370B8
|
.include "src/script.o"
|
||||||
.space 0x2
|
.align 2
|
||||||
|
.include "src/scrcmd.o"
|
||||||
gSpecialVar_0x8001: @ 20370BA
|
.align 2
|
||||||
.space 0x2
|
.include "src/event_data.o"
|
||||||
|
|
||||||
gSpecialVar_0x8002: @ 20370BC
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gSpecialVar_0x8003: @ 20370BE
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gSpecialVar_0x8004: @ 20370C0
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gSpecialVar_0x8005: @ 20370C2
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gSpecialVar_0x8006: @ 20370C4
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gSpecialVar_0x8007: @ 20370C6
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gSpecialVar_0x8008: @ 20370C8
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gSpecialVar_0x8009: @ 20370CA
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gSpecialVar_0x800A: @ 20370CC
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gSpecialVar_0x800B: @ 20370CE
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gSpecialVar_Result: @ 20370D0
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gSpecialVar_LastTalked: @ 20370D2
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gSpecialVar_Facing: @ 20370D4
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gSpecialVar_MonBoxId: @ 20370D6
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gSpecialVar_MonBoxPos: @ 20370D8
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gUnknown_20370DA: @ 20370DA
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gUnknown_20370DC: @ 20370DC
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gUnknown_20370DE: @ 20370DE
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gUnknown_20370E0: @ 20370E0
|
|
||||||
.space 0x10
|
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
.include "src/start_menu.o"
|
.include "src/start_menu.o"
|
||||||
.align 2
|
.align 2
|
||||||
|
|||||||
Reference in New Issue
Block a user