diff options
-rw-r--r-- | asm/battle_anim.s | 76 | ||||
-rw-r--r-- | data/battle_anim.s | 50 | ||||
-rw-r--r-- | ld_script.txt | 1 | ||||
-rw-r--r-- | src/battle_anim.c | 547 | ||||
-rw-r--r-- | sym_ewram.txt | 60 |
5 files changed, 358 insertions, 376 deletions
diff --git a/asm/battle_anim.s b/asm/battle_anim.s index d63a8a7c3..242caa60e 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -258,7 +258,7 @@ _08077162: thumb_func_start ma19_08073BC8 ma19_08073BC8: @ 807716C push {r4,r5,lr} - ldr r5, _080771A0 @ =gUnknown_0202F7A4 + ldr r5, _080771A0 @ =gBattleAnimScriptPtr ldr r0, [r5] adds r1, r0, 0x1 str r1, [r5] @@ -281,13 +281,13 @@ ma19_08073BC8: @ 807716C pop {r0} bx r0 .align 2, 0 -_080771A0: .4byte gUnknown_0202F7A4 +_080771A0: .4byte gBattleAnimScriptPtr thumb_func_end ma19_08073BC8 thumb_func_start ma1A_8073C00 ma1A_8073C00: @ 80771A4 push {r4,lr} - ldr r4, _080771CC @ =gUnknown_0202F7A4 + ldr r4, _080771CC @ =gBattleAnimScriptPtr ldr r1, [r4] adds r0, r1, 0x1 str r0, [r4] @@ -304,7 +304,7 @@ ma1A_8073C00: @ 80771A4 pop {r0} bx r0 .align 2, 0 -_080771CC: .4byte gUnknown_0202F7A4 +_080771CC: .4byte gBattleAnimScriptPtr thumb_func_end ma1A_8073C00 thumb_func_start ma1B_8073C2C @@ -314,7 +314,7 @@ ma1B_8073C2C: @ 80771D0 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, _08077280 @ =gUnknown_0202F7A4 + ldr r0, _08077280 @ =gBattleAnimScriptPtr mov r10, r0 ldr r0, [r0] adds r1, r0, 0x1 @@ -393,7 +393,7 @@ ma1B_8073C2C: @ 80771D0 pop {r0} bx r0 .align 2, 0 -_08077280: .4byte gUnknown_0202F7A4 +_08077280: .4byte gBattleAnimScriptPtr _08077284: .4byte c3_08073CEC _08077288: .4byte gTasks _0807728C: .4byte gUnknown_0202F7B3 @@ -484,7 +484,7 @@ sub_8077320: @ 8077320 mov r5, r9 mov r4, r8 push {r4-r6} - ldr r0, _080773A4 @ =gUnknown_0202F7A4 + ldr r0, _080773A4 @ =gBattleAnimScriptPtr mov r9, r0 ldr r0, [r0] adds r1, r0, 0x1 @@ -543,7 +543,7 @@ sub_8077320: @ 8077320 pop {r0} bx r0 .align 2, 0 -_080773A4: .4byte gUnknown_0202F7A4 +_080773A4: .4byte gBattleAnimScriptPtr _080773A8: .4byte c3_08073CEC _080773AC: .4byte gTasks _080773B0: .4byte gUnknown_0202F7B3 @@ -556,7 +556,7 @@ sub_80773B4: @ 80773B4 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, _08077464 @ =gUnknown_0202F7A4 + ldr r0, _08077464 @ =gBattleAnimScriptPtr mov r10, r0 ldr r0, [r0] adds r1, r0, 0x1 @@ -635,7 +635,7 @@ sub_80773B4: @ 80773B4 pop {r0} bx r0 .align 2, 0 -_08077464: .4byte gUnknown_0202F7A4 +_08077464: .4byte gBattleAnimScriptPtr _08077468: .4byte c3_08073CEC _0807746C: .4byte gTasks _08077470: .4byte gUnknown_0202F7B3 @@ -647,7 +647,7 @@ ma1C_8073ED0: @ 8077474 mov r6, r9 mov r5, r8 push {r5,r6} - ldr r6, _080774EC @ =gUnknown_0202F7A4 + ldr r6, _080774EC @ =gBattleAnimScriptPtr ldr r0, [r6] adds r1, r0, 0x1 str r1, [r6] @@ -701,7 +701,7 @@ ma1C_8073ED0: @ 8077474 pop {r0} bx r0 .align 2, 0 -_080774EC: .4byte gUnknown_0202F7A4 +_080774EC: .4byte gBattleAnimScriptPtr _080774F0: .4byte sub_80774FC _080774F4: .4byte gTasks _080774F8: .4byte gUnknown_0202F7B3 @@ -760,7 +760,7 @@ ma1D_08073FB4: @ 8077558 push {r4-r6,lr} mov r6, r8 push {r6} - ldr r6, _080775BC @ =gUnknown_0202F7A4 + ldr r6, _080775BC @ =gBattleAnimScriptPtr ldr r0, [r6] adds r1, r0, 0x1 str r1, [r6] @@ -805,7 +805,7 @@ ma1D_08073FB4: @ 8077558 pop {r0} bx r0 .align 2, 0 -_080775BC: .4byte gUnknown_0202F7A4 +_080775BC: .4byte gBattleAnimScriptPtr _080775C0: .4byte sub_80775CC _080775C4: .4byte gTasks _080775C8: .4byte gUnknown_0202F7B3 @@ -849,7 +849,7 @@ _0807760C: .4byte gUnknown_0202F7B3 thumb_func_start sub_8077610 sub_8077610: @ 8077610 push {r4-r6,lr} - ldr r4, _08077678 @ =gUnknown_0202F7A4 + ldr r4, _08077678 @ =gBattleAnimScriptPtr ldr r1, [r4] adds r3, r1, 0x1 str r3, [r4] @@ -901,7 +901,7 @@ _0807765A: pop {r0} bx r0 .align 2, 0 -_08077678: .4byte gUnknown_0202F7A4 +_08077678: .4byte gBattleAnimScriptPtr _0807767C: .4byte gBattleAnimArgs _08077680: .4byte gUnknown_0202F7B3 thumb_func_end sub_8077610 @@ -953,7 +953,7 @@ _080776E4: ldr r0, _080776FC @ =gUnknown_03004AF0 movs r2, 0 strh r1, [r0] - ldr r1, _08077700 @ =gUnknown_0202F7A4 + ldr r1, _08077700 @ =gBattleAnimScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -965,14 +965,14 @@ _080776F6: bx r0 .align 2, 0 _080776FC: .4byte gUnknown_03004AF0 -_08077700: .4byte gUnknown_0202F7A4 +_08077700: .4byte gBattleAnimScriptPtr _08077704: .4byte gUnknown_0202F7B0 thumb_func_end ma20_wait_for_something thumb_func_start ma21_08074164 ma21_08074164: @ 8077708 push {r4-r6,lr} - ldr r5, _08077748 @ =gUnknown_0202F7A4 + ldr r5, _08077748 @ =gBattleAnimScriptPtr ldr r4, [r5] adds r3, r4, 0x1 str r3, [r5] @@ -1003,7 +1003,7 @@ ma21_08074164: @ 8077708 str r1, [r5] b _08077756 .align 2, 0 -_08077748: .4byte gUnknown_0202F7A4 +_08077748: .4byte gBattleAnimScriptPtr _0807774C: .4byte gBattleAnimArgs _08077750: adds r0, r4, 0 @@ -1018,7 +1018,7 @@ _08077756: thumb_func_start sub_807775C sub_807775C: @ 807775C push {r4,lr} - ldr r4, _0807778C @ =gUnknown_0202F7A4 + ldr r4, _0807778C @ =gBattleAnimScriptPtr ldr r0, [r4] adds r0, 0x1 str r0, [r4] @@ -1040,7 +1040,7 @@ sub_807775C: @ 807775C str r1, [r4] b _08077796 .align 2, 0 -_0807778C: .4byte gUnknown_0202F7A4 +_0807778C: .4byte gBattleAnimScriptPtr _08077790: ldr r0, [r4] adds r0, 0x4 @@ -1054,7 +1054,7 @@ _08077796: thumb_func_start sub_807779C sub_807779C: @ 807779C push {r4,lr} - ldr r0, _080777B0 @ =gUnknown_0202F7A4 + ldr r0, _080777B0 @ =gBattleAnimScriptPtr ldr r1, [r0] ldrb r2, [r1, 0x1] adds r1, 0x2 @@ -1064,7 +1064,7 @@ sub_807779C: @ 807779C ldr r0, _080777B4 @ =gUnknown_0202F7C9 b _080777BA .align 2, 0 -_080777B0: .4byte gUnknown_0202F7A4 +_080777B0: .4byte gBattleAnimScriptPtr _080777B4: .4byte gUnknown_0202F7C9 _080777B8: ldr r0, _080777FC @ =gUnknown_0202F7C8 @@ -1110,7 +1110,7 @@ _08077804: .4byte REG_BG2CNT thumb_func_start sub_8077808 sub_8077808: @ 8077808 push {lr} - ldr r0, _08077840 @ =gUnknown_0202F7A4 + ldr r0, _08077840 @ =gBattleAnimScriptPtr ldr r1, [r0] adds r1, 0x1 str r1, [r0] @@ -1137,7 +1137,7 @@ _0807783A: pop {r0} bx r0 .align 2, 0 -_08077840: .4byte gUnknown_0202F7A4 +_08077840: .4byte gBattleAnimScriptPtr _08077844: .4byte REG_BG1CNT _08077848: .4byte REG_BG2CNT thumb_func_end sub_8077808 @@ -1145,7 +1145,7 @@ _08077848: .4byte REG_BG2CNT thumb_func_start sub_807784C sub_807784C: @ 807784C push {r4-r7,lr} - ldr r1, _0807787C @ =gUnknown_0202F7A4 + ldr r1, _0807787C @ =gBattleAnimScriptPtr ldr r0, [r1] ldrb r6, [r0, 0x1] adds r0, 0x2 @@ -1166,7 +1166,7 @@ sub_807784C: @ 807784C ldrb r0, [r5] b _0807788A .align 2, 0 -_0807787C: .4byte gUnknown_0202F7A4 +_0807787C: .4byte gBattleAnimScriptPtr _08077880: .4byte gUnknown_0202F7C8 _08077884: .4byte gUnknown_0202F7C9 _08077888: @@ -1211,7 +1211,7 @@ _080778CC: .4byte REG_BG2CNT thumb_func_start ma2B_make_side_invisible ma2B_make_side_invisible: @ 80778D0 push {r4,lr} - ldr r4, _08077904 @ =gUnknown_0202F7A4 + ldr r4, _08077904 @ =gBattleAnimScriptPtr ldr r0, [r4] ldrb r0, [r0, 0x1] bl obj_id_for_side_relative_to_move @@ -1237,14 +1237,14 @@ _080778F8: pop {r0} bx r0 .align 2, 0 -_08077904: .4byte gUnknown_0202F7A4 +_08077904: .4byte gBattleAnimScriptPtr _08077908: .4byte gSprites thumb_func_end ma2B_make_side_invisible thumb_func_start ma2C_make_side_visible ma2C_make_side_visible: @ 807790C push {r4,lr} - ldr r4, _08077944 @ =gUnknown_0202F7A4 + ldr r4, _08077944 @ =gBattleAnimScriptPtr ldr r0, [r4] ldrb r0, [r0, 0x1] bl obj_id_for_side_relative_to_move @@ -1271,14 +1271,14 @@ _08077936: pop {r0} bx r0 .align 2, 0 -_08077944: .4byte gUnknown_0202F7A4 +_08077944: .4byte gBattleAnimScriptPtr _08077948: .4byte gSprites thumb_func_end ma2C_make_side_visible thumb_func_start sub_807794C sub_807794C: @ 807794C push {r4-r7,lr} - ldr r1, _08077998 @ =gUnknown_0202F7A4 + ldr r1, _08077998 @ =gBattleAnimScriptPtr ldr r0, [r1] ldrb r7, [r0, 0x1] adds r0, 0x2 @@ -1311,7 +1311,7 @@ sub_807794C: @ 807794C movs r0, 0 b _080779B0 .align 2, 0 -_08077998: .4byte gUnknown_0202F7A4 +_08077998: .4byte gBattleAnimScriptPtr _0807799C: .4byte gUnknown_0202F7C8 _080779A0: .4byte gUnknown_0202F7C9 _080779A4: @@ -1364,7 +1364,7 @@ _080779F6: thumb_func_start sub_80779FC sub_80779FC: @ 80779FC push {r4-r7,lr} - ldr r1, _08077A48 @ =gUnknown_0202F7A4 + ldr r1, _08077A48 @ =gBattleAnimScriptPtr ldr r0, [r1] ldrb r7, [r0, 0x1] adds r0, 0x2 @@ -1397,7 +1397,7 @@ sub_80779FC: @ 80779FC movs r0, 0 b _08077A60 .align 2, 0 -_08077A48: .4byte gUnknown_0202F7A4 +_08077A48: .4byte gBattleAnimScriptPtr _08077A4C: .4byte gUnknown_0202F7C8 _08077A50: .4byte gUnknown_0202F7C9 _08077A54: @@ -1441,7 +1441,7 @@ ma2F_stop_music: @ 8077A94 bl m4aMPlayStop ldr r0, _08077AB4 @ =gMPlay_SE2 bl m4aMPlayStop - ldr r1, _08077AB8 @ =gUnknown_0202F7A4 + ldr r1, _08077AB8 @ =gBattleAnimScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -1450,7 +1450,7 @@ ma2F_stop_music: @ 8077A94 .align 2, 0 _08077AB0: .4byte gMPlay_SE1 _08077AB4: .4byte gMPlay_SE2 -_08077AB8: .4byte gUnknown_0202F7A4 +_08077AB8: .4byte gBattleAnimScriptPtr thumb_func_end ma2F_stop_music .align 2, 0 @ Don't pad with nop. diff --git a/data/battle_anim.s b/data/battle_anim.s index 49f286c60..ed880ba77 100644 --- a/data/battle_anim.s +++ b/data/battle_anim.s @@ -1049,53 +1049,3 @@ gBattleAnimBackgroundTable:: @ 837F374 .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_05 .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_06 - .align 2 -gUnknown_0837F4B8:: @ 837F4B8 - .4byte ma00_load_graphics - .4byte ma01_080728D0 - .4byte ma02_instanciate_template - .4byte sub_8075BB8 - .4byte ma04_wait_countdown - .4byte sub_8075C74 - .4byte nullsub_53 - .4byte nullsub_88 - .4byte sub_8075CB0 - .4byte ma09_play_sound - .4byte sub_8075DE0 - .4byte ma0B_0807324C - .4byte sub_8076A3C - .4byte sub_8076AA0 - .4byte ma0E_call - .4byte sub_8076AF0 - .4byte ma10_080736AC - .4byte ma11_if_else - .4byte ma12_cond_if - .4byte sub_8076BBC - .4byte ma14_load_background - .4byte ma15_load_battle_screen_elements - .4byte ma16_wait_for_battle_screen_elements_s2 - .4byte sub_8076F44 - .4byte ma18_load_background_probably - .4byte ma19_08073BC8 - .4byte ma1A_8073C00 - .4byte ma1B_8073C2C - .4byte ma1C_8073ED0 - .4byte ma1D_08073FB4 - .4byte sub_8076A78 - .4byte sub_8077610 - .4byte ma20_wait_for_something - .4byte ma21_08074164 - .4byte sub_80767C4 - .4byte ma23_8073484 - .4byte sub_807775C - .4byte sub_8076C4C - .4byte sub_8077320 - .4byte sub_80773B4 - .4byte sub_807779C - .4byte sub_8077808 - .4byte sub_807784C - .4byte ma2B_make_side_invisible - .4byte ma2C_make_side_visible - .4byte sub_807794C - .4byte sub_80779FC - .4byte ma2F_stop_music diff --git a/ld_script.txt b/ld_script.txt index 0456f1edf..ca05ca8be 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -330,6 +330,7 @@ SECTIONS { src/palette.o(.rodata); src/sound.o(.rodata); data/battle_anim.o(.rodata); + src/battle_anim.o(.rodata); data/rom_8077ABC.o(.rodata); data/map_events.o(.rodata); data/data_8393054.o(.rodata); diff --git a/src/battle_anim.c b/src/battle_anim.c index 3fffe5dd6..75c9cbf05 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -7,40 +7,78 @@ #include "sprite.h" #include "task.h" +#define SCRIPT_READ_8(ptr) ((ptr)[0]) +#define SCRIPT_READ_16(ptr) ((ptr)[0] | ((ptr)[1] << 8)) +#define SCRIPT_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24)) + +#define REG_BGCNT_BITFIELD(n) (*(struct BGCntrlBitfield *)REG_ADDR_BG##n##CNT) + +#define EWRAM_14800 ((u16 *)(unk_2000000 + 0x14800)) +#define EWRAM_17800 ((struct UnknownStruct1 *)(unk_2000000 + 0x17800)) +#define EWRAM_17810 ((struct UnknownStruct3 *)(unk_2000000 + 0x17810)) +#define EWRAM_18000 ((u16 *)(unk_2000000 + 0x18000)) +#define EWRAM_19348 (*(u16 *)(unk_2000000 + 0x19348)) + +struct BGCntrlBitfield +{ + volatile u16 priority:2; + volatile u16 charBaseBlock:2; + volatile u16 field_0_2:4; + volatile u16 field_1_0:5; + volatile u16 areaOverflowMode:1; + volatile u16 screenSize:2; +}; + +struct BattleAnimBackground +{ + void *image; + void *palette; + void *tilemap; +}; + struct UnknownStruct1 { u8 unk0; }; +struct UnknownStruct2 +{ + void *unk0; + u16 *unk4; + u8 unk8; +}; + struct UnknownStruct3 { u8 unk0; u8 filler1[0xB]; }; +extern u8 unk_2000000[]; extern u16 gUnknown_02024A6A[4]; extern u8 gUnknown_02024BE0[]; extern u8 gUnknown_02024C07; extern u8 gUnknown_02024C08; -extern const u8 *gUnknown_0202F7A4; -extern const u8 *gUnknown_0202F7A8; -extern void (*gUnknown_0202F7AC)(void); -extern s8 gUnknown_0202F7B0; -extern u8 gUnknown_0202F7B1; -extern u8 gUnknown_0202F7B2; -extern u8 gUnknown_0202F7B3; -extern u32 gUnknown_0202F7B4; -extern u32 gUnknown_0202F7B8; -extern u16 gUnknown_0202F7BC; -extern u8 gUnknown_0202F7BE; -extern u8 gUnknown_0202F7C2[]; -extern u8 gUnknown_0202F7C4; -extern u8 gUnknown_0202F7C5; -extern u16 gUnknown_0202F7C6; -extern u8 gUnknown_0202F7C8; -extern u8 gUnknown_0202F7C9; -extern u16 gUnknown_0202F7CA[4]; -extern u8 gUnknown_0202F7D2; +EWRAM_DATA const u8 *gBattleAnimScriptPtr = NULL; +EWRAM_DATA const u8 *gBattleAnimScriptRetAddr = NULL; +EWRAM_DATA void (*gUnknown_0202F7AC)(void) = NULL; +EWRAM_DATA s8 gUnknown_0202F7B0 = 0; +EWRAM_DATA u8 gUnknown_0202F7B1 = 0; +EWRAM_DATA u8 gUnknown_0202F7B2 = 0; +EWRAM_DATA u8 gUnknown_0202F7B3 = 0; +EWRAM_DATA u32 gUnknown_0202F7B4 = 0; +EWRAM_DATA u32 gUnknown_0202F7B8 = 0; +EWRAM_DATA u16 gUnknown_0202F7BC = 0; +EWRAM_DATA u8 gUnknown_0202F7BE = 0; +EWRAM_DATA u16 gUnknown_0202F7C0 = 0; +EWRAM_DATA u8 gUnknown_0202F7C2[2] = {0}; +EWRAM_DATA u8 gUnknown_0202F7C4 = 0; +EWRAM_DATA u8 gUnknown_0202F7C5 = 0; +EWRAM_DATA u16 gUnknown_0202F7C6 = 0; +EWRAM_DATA u8 gUnknown_0202F7C8 = 0; +EWRAM_DATA u8 gUnknown_0202F7C9 = 0; +EWRAM_DATA u16 gUnknown_0202F7CA[4] = {0}; +EWRAM_DATA u8 gUnknown_0202F7D2 = 0; extern u16 gUnknown_030041B4; extern u16 gUnknown_03004200; extern u16 gUnknown_03004240; @@ -57,18 +95,135 @@ extern struct MusicPlayerInfo gMPlay_SE1; extern struct MusicPlayerInfo gMPlay_SE2; extern const u16 gUnknown_081C7160[]; -extern void (*gUnknown_0837F4B8[])(void); extern const u8 *const gBattleAnims_Moves[]; extern const struct SpriteSheet gBattleAnimPicTable[]; extern const struct SpritePalette gBattleAnimPaletteTable[]; +extern const struct BattleAnimBackground gBattleAnimBackgroundTable[]; -extern u8 unk_2000000[]; +extern void sub_8079E24(); +extern void sub_8043EB4(); +extern u8 sub_8079E90(); +extern u8 sub_8077ABC(); +extern u8 sub_8078874(u8); +extern void sub_8078914(); +extern u8 sub_80AEB1C(); +extern void sub_80E4EF8(int, int, int, int, u16, u8, int); +extern void sub_800D238(); +extern u8 sub_80789BC(); +extern void sub_80AB2AC(void); +extern void sub_800D7B8(void); -#define EWRAM_14800 ((u16 *)(unk_2000000 + 0x14800)) -#define EWRAM_17800 ((struct UnknownStruct1 *)(unk_2000000 + 0x17800)) -#define EWRAM_17810 ((struct UnknownStruct3 *)(unk_2000000 + 0x17810)) -#define EWRAM_18000 ((u16 *)(unk_2000000 + 0x18000)) -#define EWRAM_19348 (*(u16 *)(unk_2000000 + 0x19348)) +void move_something(const u8 *const moveAnims[], u16 b, u8 c); +static void sub_80759D0(void); +static void ScriptCmd_loadsprite(void); +static void ScriptCmd_unloadsprite(void); +static void ScriptCmd_sprite(void); +static void ScriptCmd_createtask(void); +static void ScriptCmd_delay(void); +static void ScriptCmd_wait(void); +static void ScriptCmd_hang1(void); +static void ScriptCmd_hang2(void); +static void ScriptCmd_end(void); +static void ScriptCmd_playse(void); +static void ScriptCmd_monbg(void); +bool8 b_side_obj__get_some_boolean(u8 a); +void sub_8076034(u8, u8); +static void sub_8076380(void); +static void task_pA_ma0A_obj_to_bg_pal(u8); +static void ScriptCmd_clearmonbg(void); +static void sub_807672C(u8); +static void sub_80767C4(void); +static void ma23_8073484(void); +static void sub_80769A4(u8); +static void ScriptCmd_setalpha(void); +static void sub_8076A78(void); +static void ScriptCmd_blendoff(void); +static void ScriptCmd_call(void); +static void ScriptCmd_return(void); +static void ScriptCmd_setvar(void); +static void ScriptCmd_ifelse(void); +static void ScriptCmd_jumpif(void); +static void ScriptCmd_jump(void); +u8 sub_8076BE0(void); +static void ScriptCmd_fadetobg(void); +static void sub_8076C4C(void); +static void task_p5_load_battle_screen_elements(u8); +static void sub_8076DB8(u16); +static void dp01t_11_3_message_for_player_only(void); +static void ScriptCmd_restorebg(void); +static void ScriptCmd_waitbgfadeout(void); +static void ScriptCmd_waitbgfadein(void); +static void ScriptCmd_changebg(void); +void ma19_08073BC8(void); +void ma1A_8073C00(void); +void ma1B_8073C2C(void); +void ma1C_8073ED0(void); +void ma1D_08073FB4(void); +void sub_8077610(void); +void ma20_wait_for_something(void); +void ma21_08074164(void); +void sub_807775C(void); +void sub_8077320(void); +void sub_80773B4(void); +void sub_807779C(void); +void sub_8077808(void); +void sub_807784C(void); +void ma2B_make_side_invisible(void); +void ma2C_make_side_visible(void); +void sub_807794C(void); +void sub_80779FC(void); +void ma2F_stop_music(void); + +static void (*const sScriptCmdTable[])(void) = { + ScriptCmd_loadsprite, + ScriptCmd_unloadsprite, + ScriptCmd_sprite, + ScriptCmd_createtask, + ScriptCmd_delay, + ScriptCmd_wait, + ScriptCmd_hang1, + ScriptCmd_hang2, + ScriptCmd_end, + ScriptCmd_playse, + ScriptCmd_monbg, + ScriptCmd_clearmonbg, + ScriptCmd_setalpha, + ScriptCmd_blendoff, + ScriptCmd_call, + ScriptCmd_return, + ScriptCmd_setvar, + ScriptCmd_ifelse, + ScriptCmd_jumpif, + ScriptCmd_jump, + ScriptCmd_fadetobg, + ScriptCmd_restorebg, + ScriptCmd_waitbgfadeout, + ScriptCmd_waitbgfadein, + ScriptCmd_changebg, + ma19_08073BC8, + ma1A_8073C00, + ma1B_8073C2C, + ma1C_8073ED0, + ma1D_08073FB4, + sub_8076A78, + sub_8077610, + ma20_wait_for_something, + ma21_08074164, + sub_80767C4, + ma23_8073484, + sub_807775C, + sub_8076C4C, + sub_8077320, + sub_80773B4, + sub_807779C, + sub_8077808, + sub_807784C, + ma2B_make_side_invisible, + ma2C_make_side_visible, + sub_807794C, + sub_80779FC, + ma2F_stop_music, +}; void sub_8075624(void) { @@ -96,8 +251,6 @@ void sub_8075624(void) gUnknown_0202F7D2 = 0; } -extern void move_something(const u8 *const moveAnims[], u16 b, u8 c); - void move_anim_start_t1(u16 a) { gUnknown_0202F7C8 = gUnknown_02024C07; @@ -105,11 +258,6 @@ void move_anim_start_t1(u16 a) move_something(gBattleAnims_Moves, a, 1); } -extern u8 sub_8076BE0(void); -extern void sub_8079E24(); -extern void sub_8043EB4(); -extern void sub_80759D0(void); - void move_something(const u8 *const moveAnims[], u16 b, u8 c) { s32 i; @@ -139,7 +287,7 @@ void move_something(const u8 *const moveAnims[], u16 b, u8 c) gBattleAnimArgs[i] = 0; gUnknown_0202F7C2[0] = 0xFF; gUnknown_0202F7C2[1] = -1; - gUnknown_0202F7A4 = moveAnims[b]; + gBattleAnimScriptPtr = moveAnims[b]; gUnknown_0202F7B1 = 1; gUnknown_0202F7B0 = 0; gUnknown_0202F7AC = sub_80759D0; @@ -185,7 +333,7 @@ void move_anim_related_task_del(u8 taskId) gUnknown_0202F7B3--; } -void sub_8075940(u16 a) +static void sub_8075940(u16 a) { s32 i; @@ -199,7 +347,7 @@ void sub_8075940(u16 a) } } -void sub_8075970(u16 a) +static void sub_8075970(u16 a) { s32 i; @@ -213,7 +361,7 @@ void sub_8075970(u16 a) } } -void move_anim_waiter(void) +static void move_anim_waiter(void) { if (gUnknown_0202F7B0 <= 0) { @@ -226,46 +374,42 @@ void move_anim_waiter(void) } } -void sub_80759D0(void) +static void sub_80759D0(void) { do { - gUnknown_0837F4B8[*gUnknown_0202F7A4](); + sScriptCmdTable[SCRIPT_READ_8(gBattleAnimScriptPtr)](); } while (gUnknown_0202F7B0 == 0 && gUnknown_0202F7B1 != 0); } -void ma00_load_graphics(void) +static void ScriptCmd_loadsprite(void) { - u32 r4; + u16 r4; - //TODO: Clean this up - gUnknown_0202F7A4++; - r4 = gUnknown_0202F7A4[0] | (gUnknown_0202F7A4[1] << 8); + gBattleAnimScriptPtr++; + r4 = SCRIPT_READ_16(gBattleAnimScriptPtr); LoadCompressedObjectPic(&gBattleAnimPicTable[r4 - 10000]); LoadCompressedObjectPalette(&gBattleAnimPaletteTable[r4 - 10000]); - gUnknown_0202F7A4 += 2; + gBattleAnimScriptPtr += 2; sub_8075940(r4 - 10000); gUnknown_0202F7B0 = 1; gUnknown_0202F7AC = move_anim_waiter; } -void ma01_080728D0(void) +static void ScriptCmd_unloadsprite(void) { - u32 r4; + u16 r4; - gUnknown_0202F7A4++; - r4 = gUnknown_0202F7A4[0] | (gUnknown_0202F7A4[1] << 8); + gBattleAnimScriptPtr++; + r4 = SCRIPT_READ_16(gBattleAnimScriptPtr); FreeSpriteTilesByTag(gBattleAnimPicTable[r4 - 10000].tag); FreeSpritePaletteByTag(gBattleAnimPicTable[r4 - 10000].tag); - gUnknown_0202F7A4 += 2; + gBattleAnimScriptPtr += 2; sub_8075970(r4 - 10000); } -extern u8 sub_8079E90(); -extern u8 sub_8077ABC(); - #ifdef NONMATCHING -void ma02_instanciate_template(void) +static void ScriptCmd_sprite(void) { s32 i; struct SpriteTemplate *r7; @@ -276,17 +420,17 @@ void ma02_instanciate_template(void) u8 r2; s8 r1; - gUnknown_0202F7A4++; - r7 = (struct SpriteTemplate *)(gUnknown_0202F7A4[0] + (gUnknown_0202F7A4[1] << 8) + (gUnknown_0202F7A4[2] << 16) + (gUnknown_0202F7A4[3] << 24)); - gUnknown_0202F7A4 += 4; - r4 = *gUnknown_0202F7A4; - gUnknown_0202F7A4++; - r0 = *gUnknown_0202F7A4; - gUnknown_0202F7A4++; + gBattleAnimScriptPtr++; + r7 = (struct SpriteTemplate *)(SCRIPT_READ_32(gBattleAnimScriptPtr)); + gBattleAnimScriptPtr += 4; + r4 = SCRIPT_READ_8(gBattleAnimScriptPtr); + gBattleAnimScriptPtr++; + r0 = SCRIPT_READ_8(gBattleAnimScriptPtr); + gBattleAnimScriptPtr++; for (i = 0; i < r0; i++) { - gBattleAnimArgs[i] = gUnknown_0202F7A4[0] | (gUnknown_0202F7A4[1] << 8); - gUnknown_0202F7A4 += 2; + gBattleAnimArgs[i] = SCRIPT_READ_16(gBattleAnimScriptPtr); + gBattleAnimScriptPtr += 2; } if (r4 & 0x80) { @@ -320,11 +464,11 @@ void ma02_instanciate_template(void) } #else __attribute__((naked)) -void ma02_instanciate_template(void) +static void ScriptCmd_sprite(void) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ - ldr r5, _08075B2C @ =gUnknown_0202F7A4\n\ + ldr r5, _08075B2C @ =gBattleAnimScriptPtr\n\ ldr r1, [r5]\n\ adds r3, r1, 0x1\n\ str r3, [r5]\n\ @@ -377,7 +521,7 @@ _08075B14:\n\ subs r0, 0x40\n\ b _08075B36\n\ .align 2, 0\n\ -_08075B2C: .4byte gUnknown_0202F7A4\n\ +_08075B2C: .4byte gBattleAnimScriptPtr\n\ _08075B30: .4byte gBattleAnimArgs\n\ _08075B34:\n\ negs r0, r4\n\ @@ -449,46 +593,46 @@ _08075BB4: .4byte gUnknown_0202F7B2\n\ } #endif -void sub_8075BB8(void) +static void ScriptCmd_createtask(void) { TaskFunc taskFunc; u8 taskPriority; u8 taskId; - u8 r0; + u8 numArgs; s32 i; - gUnknown_0202F7A4++; - taskFunc = (TaskFunc)(gUnknown_0202F7A4[0] + (gUnknown_0202F7A4[1] << 8) + (gUnknown_0202F7A4[2] << 16) + (gUnknown_0202F7A4[3] << 24)); - gUnknown_0202F7A4 += 4; - taskPriority = *gUnknown_0202F7A4; - gUnknown_0202F7A4++; - r0 = *gUnknown_0202F7A4; - gUnknown_0202F7A4++; - for (i = 0; i < r0; i++) + gBattleAnimScriptPtr++; + taskFunc = (TaskFunc)SCRIPT_READ_32(gBattleAnimScriptPtr); + gBattleAnimScriptPtr += 4; + taskPriority = SCRIPT_READ_8(gBattleAnimScriptPtr); + gBattleAnimScriptPtr++; + numArgs = SCRIPT_READ_8(gBattleAnimScriptPtr); + gBattleAnimScriptPtr++; + for (i = 0; i < numArgs; i++) { - gBattleAnimArgs[i] = gUnknown_0202F7A4[0] | (gUnknown_0202F7A4[1] << 8); - gUnknown_0202F7A4 += 2; + gBattleAnimArgs[i] = SCRIPT_READ_16(gBattleAnimScriptPtr); + gBattleAnimScriptPtr += 2; } taskId = CreateTask(taskFunc, taskPriority); taskFunc(taskId); gUnknown_0202F7B2++; } -void ma04_wait_countdown(void) +static void ScriptCmd_delay(void) { - gUnknown_0202F7A4++; - gUnknown_0202F7B0 = *gUnknown_0202F7A4; + gBattleAnimScriptPtr++; + gUnknown_0202F7B0 = SCRIPT_READ_8(gBattleAnimScriptPtr); if (gUnknown_0202F7B0 == 0) gUnknown_0202F7B0 = -1; - gUnknown_0202F7A4++; + gBattleAnimScriptPtr++; gUnknown_0202F7AC = move_anim_waiter; } -void sub_8075C74(void) +static void ScriptCmd_wait(void) { if (gUnknown_0202F7B2 == 0) { - gUnknown_0202F7A4++; + gBattleAnimScriptPtr++; gUnknown_0202F7B0 = 0; } else @@ -497,15 +641,15 @@ void sub_8075C74(void) } } -void nullsub_53(void) +static void ScriptCmd_hang1(void) { } -void nullsub_88(void) +static void ScriptCmd_hang2(void) { } -void sub_8075CB0(void) +static void ScriptCmd_end(void) { s32 i; int zero = 0; @@ -554,18 +698,14 @@ void sub_8075CB0(void) } } -void ma09_play_sound(void) +static void ScriptCmd_playse(void) { - gUnknown_0202F7A4++; - PlaySE(gUnknown_0202F7A4[0] | (gUnknown_0202F7A4[1] << 8)); - gUnknown_0202F7A4 += 2; + gBattleAnimScriptPtr++; + PlaySE(SCRIPT_READ_16(gBattleAnimScriptPtr)); + gBattleAnimScriptPtr += 2; } -extern void task_pA_ma0A_obj_to_bg_pal(u8); -extern bool8 b_side_obj__get_some_boolean(u8); -extern void sub_8076034(u8, u8); - -void sub_8075DE0(void) +static void ScriptCmd_monbg(void) { u8 r6; u8 r5; @@ -574,8 +714,8 @@ void sub_8075DE0(void) u16 r4; u8 taskId; - gUnknown_0202F7A4++; - r6 = *gUnknown_0202F7A4; + gBattleAnimScriptPtr++; + r6 = SCRIPT_READ_8(gBattleAnimScriptPtr); if (r6 == 0) r6 = 2; else if (r6 == 1) @@ -642,11 +782,9 @@ void sub_8075DE0(void) gTasks[taskId].data[6] = r5; gUnknown_0202F7C2[1] = taskId; } - gUnknown_0202F7A4++; + gBattleAnimScriptPtr++; } -extern u8 sub_8078874(u8); - #ifdef NONMATCHING bool8 b_side_obj__get_some_boolean(u8 a) { @@ -735,30 +873,6 @@ _0807602E:\n\ } #endif -struct UnknownStruct2 -{ - void *unk0; - u16 *unk4; - u8 unk8; -}; - -struct BGCntrlBitfield -{ - volatile u16 priority:2; - volatile u16 charBaseBlock:2; - volatile u16 field_0_2:4; - volatile u16 field_1_0:5; - volatile u16 areaOverflowMode:1; - volatile u16 screenSize:2; -}; - -#define REG_BGCNT_BITFIELD(n) (*(struct BGCntrlBitfield *)REG_ADDR_BG##n##CNT) - -extern void sub_8078914(); -extern u8 sub_80AEB1C(); -extern void sub_8076380(void); -extern void sub_80E4EF8(int, int, int, int, u16, u8, int); - void sub_8076034(u8 a, u8 b) { volatile u8 pointlessZero; @@ -862,7 +976,7 @@ void sub_8076034(u8 a, u8 b) } } -void sub_8076380(void) +static void sub_8076380(void) { int i; int j; @@ -967,7 +1081,7 @@ void sub_8076464(u8 a) } } -void task_pA_ma0A_obj_to_bg_pal(u8 taskId) +static void task_pA_ma0A_obj_to_bg_pal(u8 taskId) { u8 r4; u8 r6; @@ -1004,16 +1118,14 @@ void task_pA_ma0A_obj_to_bg_pal(u8 taskId) } } -extern void sub_807672C(u8); - -void ma0B_0807324C(void) +static void ScriptCmd_clearmonbg(void) { u8 r4; u8 r5; u8 taskId; - gUnknown_0202F7A4++; - r4 = *gUnknown_0202F7A4; + gBattleAnimScriptPtr++; + r4 = SCRIPT_READ_8(gBattleAnimScriptPtr); if (r4 == 0) r4 = 2; else if (r4 == 1) @@ -1031,10 +1143,10 @@ void ma0B_0807324C(void) taskId = CreateTask(sub_807672C, 5); gTasks[taskId].data[0] = r4; gTasks[taskId].data[2] = r5; - gUnknown_0202F7A4++; + gBattleAnimScriptPtr++; } -void sub_807672C(u8 taskId) +static void sub_807672C(u8 taskId) { u8 var; u8 r4; @@ -1064,15 +1176,15 @@ void sub_807672C(u8 taskId) } } -void sub_80767C4(void) +static void sub_80767C4(void) { u8 r5; u8 r4; u8 r0; u8 r1; - gUnknown_0202F7A4++; - r5 = *gUnknown_0202F7A4; + gBattleAnimScriptPtr++; + r5 = SCRIPT_READ_8(gBattleAnimScriptPtr); if (r5 == 0) r5 = 2; else if (r5 == 1) @@ -1104,19 +1216,17 @@ void sub_80767C4(void) sub_8076034(r4, r1); gSprites[gUnknown_02024BE0[r4]].invisible = FALSE; } - gUnknown_0202F7A4++; + gBattleAnimScriptPtr++; } -extern void sub_80769A4(u8); - -void ma23_8073484(void) +static void ma23_8073484(void) { u8 r5; u8 r6; u8 taskId; - gUnknown_0202F7A4++; - r5 = *gUnknown_0202F7A4; + gBattleAnimScriptPtr++; + r5 = SCRIPT_READ_8(gBattleAnimScriptPtr); if (r5 == 0) r5 = 2; else if (r5 == 1) @@ -1134,10 +1244,10 @@ void ma23_8073484(void) taskId = CreateTask(sub_80769A4, 5); gTasks[taskId].data[0] = r5; gTasks[taskId].data[2] = r6; - gUnknown_0202F7A4++; + gBattleAnimScriptPtr++; } -void sub_80769A4(u8 taskId) +static void sub_80769A4(u8 taskId) { u8 r0; u8 r4; @@ -1161,104 +1271,102 @@ void sub_80769A4(u8 taskId) } } -void sub_8076A3C(void) +static void ScriptCmd_setalpha(void) { u16 r3; u16 r1; - gUnknown_0202F7A4++; - r3 = *(gUnknown_0202F7A4++); - r1 = *(gUnknown_0202F7A4++) << 8; + gBattleAnimScriptPtr++; + r3 = *(gBattleAnimScriptPtr++); + r1 = *(gBattleAnimScriptPtr++) << 8; REG_BLDCNT = 0x3F40; REG_BLDALPHA = r3 | r1; } -void sub_8076A78(void) +static void sub_8076A78(void) { u16 r3; u16 r1; - gUnknown_0202F7A4++; - r3 = *(gUnknown_0202F7A4++); - r1 = *(gUnknown_0202F7A4++) << 8; + gBattleAnimScriptPtr++; + r3 = *(gBattleAnimScriptPtr++); + r1 = *(gBattleAnimScriptPtr++) << 8; REG_BLDCNT = r3 | r1; } -void sub_8076AA0(void) +static void ScriptCmd_blendoff(void) { - gUnknown_0202F7A4++; + gBattleAnimScriptPtr++; REG_BLDCNT = 0; REG_BLDALPHA = 0; } -void ma0E_call(void) +static void ScriptCmd_call(void) { u32 addr; - gUnknown_0202F7A4++; - gUnknown_0202F7A8 = gUnknown_0202F7A4 + 4; //store return address - addr = gUnknown_0202F7A4[0] + (gUnknown_0202F7A4[1] << 8) + (gUnknown_0202F7A4[2] << 16) + (gUnknown_0202F7A4[3] << 24); - gUnknown_0202F7A4 = (u8 *)addr; + gBattleAnimScriptPtr++; + gBattleAnimScriptRetAddr = gBattleAnimScriptPtr + 4; + addr = SCRIPT_READ_32(gBattleAnimScriptPtr); + gBattleAnimScriptPtr = (u8 *)addr; } -//script return -void sub_8076AF0(void) +static void ScriptCmd_return(void) { - gUnknown_0202F7A4 = gUnknown_0202F7A8; + gBattleAnimScriptPtr = gBattleAnimScriptRetAddr; } -void ma10_080736AC(void) +static void ScriptCmd_setvar(void) { - const u8 *addr = gUnknown_0202F7A4; + const u8 *addr = gBattleAnimScriptPtr; u16 r4; u8 r2; - gUnknown_0202F7A4++; - r2 = *(gUnknown_0202F7A4++); - r4 = gUnknown_0202F7A4[0] | (gUnknown_0202F7A4[1] << 8); - gUnknown_0202F7A4 = addr + 4; + gBattleAnimScriptPtr++; + r2 = SCRIPT_READ_8(gBattleAnimScriptPtr); + gBattleAnimScriptPtr++; + r4 = SCRIPT_READ_16(gBattleAnimScriptPtr); + gBattleAnimScriptPtr = addr + 4; gBattleAnimArgs[r2] = r4; } -void ma11_if_else(void) +static void ScriptCmd_ifelse(void) { u32 addr; - gUnknown_0202F7A4++; + gBattleAnimScriptPtr++; if (gUnknown_0202F7C4 & 1) - gUnknown_0202F7A4 += 4; - addr = gUnknown_0202F7A4[0] + (gUnknown_0202F7A4[1] << 8) + (gUnknown_0202F7A4[2] << 16) + (gUnknown_0202F7A4[3] << 24); - gUnknown_0202F7A4 = (u8 *)addr; + gBattleAnimScriptPtr += 4; + addr = SCRIPT_READ_32(gBattleAnimScriptPtr); + gBattleAnimScriptPtr = (u8 *)addr; } -void ma12_cond_if(void) +static void ScriptCmd_jumpif(void) { - const u8 *r4 = gUnknown_0202F7A4; u8 r1; u32 addr; - gUnknown_0202F7A4++; - r1 = *gUnknown_0202F7A4; - gUnknown_0202F7A4++; + gBattleAnimScriptPtr++; + r1 = SCRIPT_READ_8(gBattleAnimScriptPtr); + gBattleAnimScriptPtr++; if (r1 == gUnknown_0202F7C4) { - addr = gUnknown_0202F7A4[0] + (gUnknown_0202F7A4[1] << 8) + (gUnknown_0202F7A4[2] << 16) + (gUnknown_0202F7A4[3] << 24); - gUnknown_0202F7A4 = (u8 *)addr; + addr = SCRIPT_READ_32(gBattleAnimScriptPtr); + gBattleAnimScriptPtr = (u8 *)addr; } else { - gUnknown_0202F7A4 = r4 + 6; + gBattleAnimScriptPtr += 4; } } -//script goto -void sub_8076BBC(void) +static void ScriptCmd_jump(void) { u32 addr; - gUnknown_0202F7A4++; - addr = gUnknown_0202F7A4[0] + (gUnknown_0202F7A4[1] << 8) + (gUnknown_0202F7A4[2] << 16) + (gUnknown_0202F7A4[3] << 24); - gUnknown_0202F7A4 = (u8 *)addr; + gBattleAnimScriptPtr++; + addr = SCRIPT_READ_32(gBattleAnimScriptPtr); + gBattleAnimScriptPtr = (u8 *)addr; } u8 sub_8076BE0(void) @@ -1269,32 +1377,31 @@ u8 sub_8076BE0(void) return FALSE; } -extern void task_p5_load_battle_screen_elements(u8); - -void ma14_load_background(void) +static void ScriptCmd_fadetobg(void) { u8 r4; u8 taskId; - gUnknown_0202F7A4++; - r4 = *(gUnknown_0202F7A4++); + gBattleAnimScriptPtr++; + r4 = SCRIPT_READ_8(gBattleAnimScriptPtr); + gBattleAnimScriptPtr++; taskId = CreateTask(task_p5_load_battle_screen_elements, 5); gTasks[taskId].data[0] = r4; gUnknown_0202F7C5 = 1; } -void sub_8076C4C(void) +static void sub_8076C4C(void) { u8 r8; u8 r7; u8 r6; u8 taskId; - gUnknown_0202F7A4++; - r8 = gUnknown_0202F7A4[0]; - r7 = gUnknown_0202F7A4[1]; - r6 = gUnknown_0202F7A4[2]; - gUnknown_0202F7A4 += 3; + gBattleAnimScriptPtr++; + r8 = gBattleAnimScriptPtr[0]; + r7 = gBattleAnimScriptPtr[1]; + r6 = gBattleAnimScriptPtr[2]; + gBattleAnimScriptPtr += 3; taskId = CreateTask(task_p5_load_battle_screen_elements, 5); if (sub_8076BE0() != 0) gTasks[taskId].data[0] = r6; @@ -1305,10 +1412,7 @@ void sub_8076C4C(void) gUnknown_0202F7C5 = 1; } -extern void sub_8076DB8(u16); -extern void dp01t_11_3_message_for_player_only(void); - -void task_p5_load_battle_screen_elements(u8 taskId) +static void task_p5_load_battle_screen_elements(u8 taskId) { if (gTasks[taskId].data[10] == 0) { @@ -1344,19 +1448,7 @@ void task_p5_load_battle_screen_elements(u8 taskId) } } -struct BattleAnimBackground -{ - void *image; - void *palette; - void *tilemap; -}; - -extern const struct BattleAnimBackground gBattleAnimBackgroundTable[]; - -extern void sub_800D238(); -extern u8 sub_80789BC(); - -void sub_8076DB8(u16 a) +static void sub_8076DB8(u16 a) { if (sub_8076BE0()) { @@ -1380,10 +1472,7 @@ void sub_8076DB8(u16 a) } } -extern void sub_80AB2AC(void); -extern void sub_800D7B8(void); - -void dp01t_11_3_message_for_player_only(void) +static void dp01t_11_3_message_for_player_only(void) { if (sub_8076BE0()) sub_80AB2AC(); @@ -1391,21 +1480,21 @@ void dp01t_11_3_message_for_player_only(void) sub_800D7B8(); } -void ma15_load_battle_screen_elements(void) +static void ScriptCmd_restorebg(void) { u8 taskId; - gUnknown_0202F7A4++; + gBattleAnimScriptPtr++; taskId = CreateTask(task_p5_load_battle_screen_elements, 5); gTasks[taskId].data[0] = 0xFFFF; gUnknown_0202F7C5 = 1; } -void ma16_wait_for_battle_screen_elements_s2(void) +static void ScriptCmd_waitbgfadeout(void) { if (gUnknown_0202F7C5 == 2) { - gUnknown_0202F7A4++; + gBattleAnimScriptPtr++; gUnknown_0202F7B0 = 0; } else @@ -1414,11 +1503,11 @@ void ma16_wait_for_battle_screen_elements_s2(void) } } -void sub_8076F44(void) +static void ScriptCmd_waitbgfadein(void) { if (gUnknown_0202F7C5 == 0) { - gUnknown_0202F7A4++; + gBattleAnimScriptPtr++; gUnknown_0202F7B0 = 0; } else @@ -1427,11 +1516,11 @@ void sub_8076F44(void) } } -void ma18_load_background_probably(void) +static void ScriptCmd_changebg(void) { - gUnknown_0202F7A4++; - sub_8076DB8(*gUnknown_0202F7A4); - gUnknown_0202F7A4++; + gBattleAnimScriptPtr++; + sub_8076DB8(SCRIPT_READ_8(gBattleAnimScriptPtr)); + gBattleAnimScriptPtr++; } /* diff --git a/sym_ewram.txt b/sym_ewram.txt index 3081b670d..1e0c06359 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -484,65 +484,7 @@ gMPlay_PokemonCry: @ 202F79C gPokemonCryBGMDuckingCounter: @ 202F7A0 .space 0x4 -gUnknown_0202F7A4: @ 202F7A4 - .space 0x4 - -gUnknown_0202F7A8: @ 202F7A8 - .space 0x4 - -gUnknown_0202F7AC: @ 202F7AC - .space 0x4 - -gUnknown_0202F7B0: @ 202F7B0 - .space 0x1 - -gUnknown_0202F7B1: @ 202F7B1 - .space 0x1 - -gUnknown_0202F7B2: @ 202F7B2 - .space 0x1 - -gUnknown_0202F7B3: @ 202F7B3 - .space 0x1 - -gUnknown_0202F7B4: @ 202F7B4 - .space 0x4 - -gUnknown_0202F7B8: @ 202F7B8 - .space 0x4 - -gUnknown_0202F7BC: @ 202F7BC - .space 0x2 - -gUnknown_0202F7BE: @ 202F7BE - .space 0x2 - -gUnknown_0202F7C0: @ 202F7C0 - .space 0x2 - -gUnknown_0202F7C2: @ 202F7C2 - .space 0x2 - -gUnknown_0202F7C4: @ 202F7C4 - .space 0x1 - -gUnknown_0202F7C5: @ 202F7C5 - .space 0x1 - -gUnknown_0202F7C6: @ 202F7C6 - .space 0x2 - -gUnknown_0202F7C8: @ 202F7C8 - .space 0x1 - -gUnknown_0202F7C9: @ 202F7C9 - .space 0x1 - -gUnknown_0202F7CA: @ 202F7CA - .space 0x8 - -gUnknown_0202F7D2: @ 202F7D2 - .space 0x2 + .include "src/battle_anim.o" gUnknown_0202F7D4: @ 202F7D4 .space 0x10 |