diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2019-10-21 21:15:54 -0400 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2019-10-21 21:15:54 -0400 |
commit | 6ee1bd06218bd80ca9cce754d34ba8cdd9701dc8 (patch) | |
tree | 57f2fe829364eec01a5033f439399d225a6b4cd6 | |
parent | 8df72e4da6223f5d284029cb8503850523978a76 (diff) |
Decompile event_data.s
-rw-r--r-- | asm/event_data.s | 867 | ||||
-rw-r--r-- | asm/field_specials.s | 8 | ||||
-rw-r--r-- | common_syms/event_data.txt | 1 | ||||
-rw-r--r-- | data/event_scripts.s | 4 | ||||
-rw-r--r-- | include/constants/flags.h | 4 | ||||
-rw-r--r-- | include/constants/vars.h | 5 | ||||
-rw-r--r-- | include/event_data.h | 8 | ||||
-rw-r--r-- | include/quest_log.h | 2 | ||||
-rw-r--r-- | ld_script.txt | 2 | ||||
-rw-r--r-- | src/event_data.c | 325 | ||||
-rw-r--r-- | src/main_menu.c | 4 | ||||
-rw-r--r-- | src/menews_jisan.c | 2 | ||||
-rw-r--r-- | src/new_game.c | 2 | ||||
-rw-r--r-- | src/quest_log.c | 4 | ||||
-rw-r--r-- | src/scrcmd.c | 4 | ||||
-rw-r--r-- | src/trainer_tower.c | 4 | ||||
-rw-r--r-- | sym_common.txt | 4 | ||||
-rw-r--r-- | sym_ewram.txt | 67 |
18 files changed, 361 insertions, 956 deletions
diff --git a/asm/event_data.s b/asm/event_data.s deleted file mode 100644 index f4aa51496..000000000 --- a/asm/event_data.s +++ /dev/null @@ -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. diff --git a/asm/field_specials.s b/asm/field_specials.s index 1fec988f4..faf899cfe 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -3142,19 +3142,19 @@ sub_80CBDE8: @ 80CBDE8 ldr r1, _080CBDF8 @ =gSelectedEventObject movs r0, 0 strb r0, [r1] - ldr r1, _080CBDFC @ =gUnknown_20370DA + ldr r1, _080CBDFC @ =gSpecialVar_TextColor movs r0, 0xFF strh r0, [r1] bx lr .align 2, 0 _080CBDF8: .4byte gSelectedEventObject -_080CBDFC: .4byte gUnknown_20370DA +_080CBDFC: .4byte gSpecialVar_TextColor thumb_func_end sub_80CBDE8 thumb_func_start ContextNpcGetTextColor ContextNpcGetTextColor: @ 80CBE00 push {lr} - ldr r0, _080CBE18 @ =gUnknown_20370DA + ldr r0, _080CBE18 @ =gSpecialVar_TextColor ldrh r0, [r0] cmp r0, 0xFF bne _080CBE44 @@ -3165,7 +3165,7 @@ ContextNpcGetTextColor: @ 80CBE00 movs r0, 0x3 b _080CBE48 .align 2, 0 -_080CBE18: .4byte gUnknown_20370DA +_080CBE18: .4byte gSpecialVar_TextColor _080CBE1C: .4byte gSelectedEventObject _080CBE20: ldr r2, _080CBE4C @ =gMapObjects diff --git a/common_syms/event_data.txt b/common_syms/event_data.txt new file mode 100644 index 000000000..eaf247d94 --- /dev/null +++ b/common_syms/event_data.txt @@ -0,0 +1 @@ +gUnknown_300507C diff --git a/data/event_scripts.s b/data/event_scripts.s index 152742a16..d47e1a681 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -44,8 +44,8 @@ gSpecialVars:: @ 815FD0C .4byte gSpecialVar_LastTalked .4byte gSpecialVar_MonBoxId .4byte gSpecialVar_MonBoxPos - .4byte gUnknown_20370DA - .4byte gUnknown_20370DC + .4byte gSpecialVar_TextColor + .4byte gSpecialVar_PrevTextColor .4byte gUnknown_20370DE .include "data/specials.inc" diff --git a/include/constants/flags.h b/include/constants/flags.h index 9a7bb3108..994221afd 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -573,6 +573,7 @@ #define FLAG_0x22F 0x22F // Story flags +#define STORY_FLAGS_START 0x230 #define FLAG_GOT_POTION_ON_ROUTE_1 0x230 #define FLAG_GOT_TM34_FROM_SURGE 0x231 #define FLAG_GOT_FOSSIL_FROM_MT_MOON 0x232 @@ -1325,6 +1326,7 @@ #define FLAG_SYS_FLASH_ACTIVE (SYS_FLAGS + 0x6) #define FLAG_SYS_SPECIAL_WILD_BATTLE (SYS_FLAGS + 0x7) +#define PERMA_SYS_FLAGS_START 0x820 #define FLAG_BADGE01_GET (SYS_FLAGS + 0x20) #define FLAG_BADGE02_GET (SYS_FLAGS + 0x21) #define FLAG_BADGE03_GET (SYS_FLAGS + 0x22) @@ -1429,6 +1431,8 @@ #define FLAG_0x8E0 (SYS_FLAGS + 0xE0) // SPECIAL FLAGS (unknown purpose) +#define SPECIAL_FLAGS_START 0x4000 +#define SPECIAL_FLAGS_COUNT 16 #define FLAG_SPECIAL_FLAG_0x4000 0x4000 #define FLAG_SPECIAL_FLAG_0x4001 0x4001 #define FLAG_SPECIAL_FLAG_0x4002 0x4002 diff --git a/include/constants/vars.h b/include/constants/vars.h index 50ffa9681..e288ee292 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -3,6 +3,8 @@ #define VAR_0x3F20 0x3F20 +#define VARS_START 0x4000 + #define VAR_0x4000 0x4000 #define VAR_0x4001 0x4001 #define VAR_0x4002 0x4002 @@ -267,6 +269,7 @@ #define VAR_0x40FE 0x40FE #define VAR_0x40FF 0x40FF +#define SPECIAL_VARS_START 0x8000 #define VAR_0x8000 0x8000 #define VAR_0x8001 0x8001 #define VAR_0x8002 0x8002 @@ -287,6 +290,6 @@ #define VAR_CONTEST_CATEGORY 0x8011 #define VAR_MON_BOX_ID 0x8012 #define VAR_MON_BOX_POS 0x8013 -#define VAR_0x8014 0x8014 +#define VAR_TEXT_COLOR 0x8014 #endif // GUARD_CONSTANTS_VARS_H diff --git a/include/event_data.h b/include/event_data.h index 7c62ac92b..5a386a412 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -32,8 +32,8 @@ u8 FlagSet(u16 id); u8 FlagClear(u16 id); bool8 FlagGet(u16 id); u16 * GetVarPointer(u16 id); -bool32 Flag_0x839_IsSet(void); -void sub_806E6FC(void); +bool32 IsMysteryGiftEnabled(void); +void ResetSpecialVars(void); void sub_806E2D0(void); void sub_806E370(void); bool32 IsNationalPokedexEnabled(void); @@ -60,7 +60,7 @@ extern u16 gSpecialVar_0x8014; extern u16 gSpecialVar_Result; extern u16 gSpecialVar_0x8004; -extern u16 gUnknown_20370DA; -extern u16 gUnknown_20370DC; +extern u16 gSpecialVar_TextColor; +extern u16 gSpecialVar_PrevTextColor; #endif // GUARD_EVENT_DATA_H diff --git a/include/quest_log.h b/include/quest_log.h index d3ccbe3da..5c915f997 100644 --- a/include/quest_log.h +++ b/include/quest_log.h @@ -40,6 +40,8 @@ void sub_8112450(void); void sub_8112364(void); u8 sub_8112CAC(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; diff --git a/ld_script.txt b/ld_script.txt index ba5f57911..da4f6fe01 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -103,7 +103,7 @@ SECTIONS { src/script.o(.text); src/scrcmd.o(.text); asm/field_control_avatar.o(.text); - asm/event_data.o(.text); + src/event_data.o(.text); src/coord_event_weather.o(.text); asm/field_tasks.o(.text); src/start_menu.o(.text); diff --git a/src/event_data.c b/src/event_data.c new file mode 100644 index 000000000..105567fe8 --- /dev/null +++ b/src/event_data.c @@ -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; +} diff --git a/src/main_menu.c b/src/main_menu.c index cf788fa21..542bcf8ea 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -240,7 +240,7 @@ static void Task_SetWin0BldRegsAndCheckSaveFile(u8 taskId) { case SAVE_STATUS_OK: LoadUserFrameToBg(0); - if (Flag_0x839_IsSet() == TRUE) + if (IsMysteryGiftEnabled() == TRUE) { gTasks[taskId].tMenuType = MAIN_MENU_MYSTERYGIFT; } @@ -259,7 +259,7 @@ static void Task_SetWin0BldRegsAndCheckSaveFile(u8 taskId) SetStdFrame0OnBg(0); gTasks[taskId].tMenuType = MAIN_MENU_CONTINUE; PrintSaveErrorStatus(taskId, gText_SaveFileCorruptedPrevWillBeLoaded); - if (Flag_0x839_IsSet() == TRUE) + if (IsMysteryGiftEnabled() == TRUE) { gTasks[taskId].tMenuType = MAIN_MENU_MYSTERYGIFT; } diff --git a/src/menews_jisan.c b/src/menews_jisan.c index 2f6172bbc..4605b162b 100644 --- a/src/menews_jisan.c +++ b/src/menews_jisan.c @@ -59,7 +59,7 @@ u16 sub_8146CE8(void) struct MysteryEventStruct *r4 = sub_8143D94(); u16 r5; - if (!Flag_0x839_IsSet() || !ValidateReceivedWonderNews()) + if (!IsMysteryGiftEnabled() || !ValidateReceivedWonderNews()) return 0; r5 = sub_8146E0C(r4); diff --git a/src/new_game.c b/src/new_game.c index bede6ce94..e27c862bb 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -103,7 +103,7 @@ void ResetMenuAndMonGlobals(void) BerryPouch_CursorResetToTop(); sub_811089C(); sub_8083214(Random()); - sub_806E6FC(); + ResetSpecialVars(); } void NewGameInitData(void) diff --git a/src/quest_log.c b/src/quest_log.c index 11d57341b..11046b59f 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -982,7 +982,7 @@ void sub_8111274(u8 a0, u8 a1) static void sub_8111368(void) { gUnknown_203ADFA = 2; - sub_806E6FC(); + ResetSpecialVars(); ClearBag(); ClearPCItemSlots(); if (sub_8110AC8() == 1) @@ -1231,7 +1231,7 @@ static void sub_8111914(void) static void sub_8111984(void) { - sub_806E6FC(); + ResetSpecialVars(); Save_ResetSaveCounters(); Save_LoadGameData(0); SetMainCallback2(sub_8057430); diff --git a/src/scrcmd.c b/src/scrcmd.c index ae994fceb..7a70d09c7 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1263,8 +1263,8 @@ bool8 ScrCmd_release(struct ScriptContext *ctx) bool8 ScrCmd_textcolor(struct ScriptContext *ctx) { - gUnknown_20370DC = gUnknown_20370DA; - gUnknown_20370DA = ScriptReadByte(ctx); + gSpecialVar_PrevTextColor = gSpecialVar_TextColor; + gSpecialVar_TextColor = ScriptReadByte(ctx); return FALSE; } diff --git a/src/trainer_tower.c b/src/trainer_tower.c index c5631ee1b..d74da5542 100644 --- a/src/trainer_tower.c +++ b/src/trainer_tower.c @@ -920,8 +920,8 @@ void sub_815E068(u8 battleType, u8 facilityClass) } break; } - gUnknown_20370DC = gUnknown_20370DA; - gUnknown_20370DA = r5; + gSpecialVar_PrevTextColor = gSpecialVar_TextColor; + gSpecialVar_TextColor = r5; } void sub_815E114(void) diff --git a/sym_common.txt b/sym_common.txt index 0619ea728..d7883a681 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -83,9 +83,7 @@ gSelectedEventObject: @ 3005074 gUnknown_3005078: @ 3005078 .space 0x4 -gUnknown_300507C: @ 300507C - .space 0x4 - + .include "event_data.o" .include "sound.o" .include "task.o" diff --git a/sym_ewram.txt b/sym_ewram.txt index f837f1ae0..85ff1bdb2 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -509,73 +509,12 @@ gUnknown_203709A: @ 203709A gUnknown_203709C: @ 203709C .space 0x4 + .align 2 .include "src/script.o" + .align 2 .include "src/scrcmd.o" - .align 2 -gSpecialVar_0x8000: @ 20370B8 - .space 0x2 - -gSpecialVar_0x8001: @ 20370BA - .space 0x2 - -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 - + .include "src/event_data.o" .align 2 .include "src/start_menu.o" .align 2 |