From 8e0fa062e2ca2ae1a5ff9bd050fc637bdb44ab75 Mon Sep 17 00:00:00 2001 From: Pixelstyx Date: Wed, 22 Jul 2026 00:12:36 -0400 Subject: [PATCH 1/5] Initial commit --- asm/include/overlay_01_02204004.inc | 2 + asm/overlay_01_02204004.s | 277 -------------------------- include/field/overlay_01_021E8744.h | 7 +- include/field/overlay_01_02204004.h | 36 +++- include/field_system.h | 4 +- include/overlay_01_02204004.h | 9 - main.lsf | 1 + src/field/legend_cutscene_camera.c | 1 + src/field/overlay_01_02204004_thumb.c | 103 ++++++++++ 9 files changed, 141 insertions(+), 299 deletions(-) delete mode 100644 include/overlay_01_02204004.h create mode 100644 src/field/overlay_01_02204004_thumb.c diff --git a/asm/include/overlay_01_02204004.inc b/asm/include/overlay_01_02204004.inc index 3f15d87d8b..a8ad276fa2 100644 --- a/asm/include/overlay_01_02204004.inc +++ b/asm/include/overlay_01_02204004.inc @@ -55,3 +55,5 @@ .public ov01_0220476C .public ov01_022047DC .public ov01_02204834 +.public ov01_022040C0 +.public ov01_022040E4 \ No newline at end of file diff --git a/asm/overlay_01_02204004.s b/asm/overlay_01_02204004.s index 7d80706205..d08c2aeb7c 100644 --- a/asm/overlay_01_02204004.s +++ b/asm/overlay_01_02204004.s @@ -14,283 +14,6 @@ .text - thumb_func_start ov01_02204004 -ov01_02204004: ; 0x02204004 - push {r3, r4, r5, r6, r7, lr} - add r6, r1, #0 - mov r1, #0x1c - add r7, r0, #0 - add r5, r2, #0 - str r3, [sp] - bl Heap_Alloc - add r4, r0, #0 - mov r0, #0 - str r0, [r4, #0x10] - str r6, [r4, #0x14] - ldr r0, [sp] - str r5, [r4, #0x18] - str r0, [r4, #4] - add r0, r7, #0 - add r1, r6, #0 - bl Heap_Alloc - mov r2, #0 - str r0, [r4] - cmp r6, #0 - ble _0220403E - mov r1, #0xff -_02204034: - ldr r0, [r4] - strb r1, [r0, r2] - add r2, r2, #1 - cmp r2, r6 - blt _02204034 -_0220403E: - mov r0, #0x5c - add r6, r5, #0 - mul r6, r0 - add r0, r7, #0 - add r1, r6, #0 - bl Heap_Alloc - str r0, [r4, #8] - ldr r1, [r4, #8] - mov r0, #0 - add r2, r6, #0 - bl MIi_CpuClearFast - add r0, r7, #0 - lsl r1, r5, #2 - bl Heap_Alloc - mov r6, #0 - str r0, [r4, #0xc] - cmp r5, #0 - ble _0220407E - add r2, r6, #0 - add r3, r6, #0 -_0220406C: - ldr r0, [r4, #8] - add r6, r6, #1 - add r1, r0, r2 - ldr r0, [r4, #0xc] - add r2, #0x5c - str r1, [r0, r3] - add r3, r3, #4 - cmp r6, r5 - blt _0220406C -_0220407E: - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end ov01_02204004 - - thumb_func_start ov01_02204084 -ov01_02204084: ; 0x02204084 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4] - bl Heap_Free - ldr r0, [r4, #8] - bl Heap_Free - ldr r0, [r4, #0xc] - bl Heap_Free - add r0, r4, #0 - bl Heap_Free - pop {r4, pc} - .balign 4, 0 - thumb_func_end ov01_02204084 - - thumb_func_start ov01_022040A4 -ov01_022040A4: ; 0x022040A4 - push {r3, lr} - add r2, r1, #0 - ldr r3, [r0, #0x10] - ldr r1, [r0] - strb r3, [r1, r2] - ldr r3, [r0, #4] - lsl r1, r2, #2 - ldr r1, [r3, r1] - str r1, [sp] - add r1, sp, #0 - bl ov01_02204168 - pop {r3, pc} - .balign 4, 0 - thumb_func_end ov01_022040A4 - - thumb_func_start ov01_022040C0 -ov01_022040C0: ; 0x022040C0 - ldr r2, [r0, #0x10] - sub r3, r2, #1 - str r3, [r0, #0x10] - ldr r2, [r0, #0xc] - lsl r0, r3, #2 - str r1, [r2, r0] - bx lr - .balign 4, 0 - thumb_func_end ov01_022040C0 - - thumb_func_start Field3dObjectList_GetRenderObjectByID -Field3dObjectList_GetRenderObjectByID: ; 0x022040D0 - ldr r2, [r0] - ldrb r2, [r2, r1] - cmp r2, #0xff - beq _022040E0 - ldr r1, [r0, #0xc] - lsl r0, r2, #2 - ldr r0, [r1, r0] - bx lr -_022040E0: - mov r0, #0 - bx lr - thumb_func_end Field3dObjectList_GetRenderObjectByID - - thumb_func_start ov01_022040E4 -ov01_022040E4: ; 0x022040E4 - push {r3, lr} - add r2, r1, #0 - ldr r3, [r0, #4] - lsl r1, r2, #2 - ldr r1, [r3, r1] - str r1, [sp] - add r1, sp, #0 - bl ov01_02204168 - pop {r3, pc} - thumb_func_end ov01_022040E4 - - thumb_func_start ov01_022040F8 -ov01_022040F8: ; 0x022040F8 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl ov01_02204144 - cmp r0, #0 - beq _02204110 - add r0, r5, #0 - add r1, r4, #0 - bl Field3dObjectList_GetRenderObjectByID - pop {r3, r4, r5, pc} -_02204110: - add r0, r5, #0 - add r1, r4, #0 - bl ov01_022040E4 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end ov01_022040F8 - - thumb_func_start ov01_0220411C -ov01_0220411C: ; 0x0220411C - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bne _02204128 - mov r0, #0 - pop {r3, r4, r5, pc} -_02204128: - ldr r1, [r4, #0x58] - bl ov01_02204144 - cmp r0, #0 - bne _0220413E - add r0, r5, #0 - add r1, r4, #0 - bl ov01_022040C0 - mov r0, #1 - pop {r3, r4, r5, pc} -_0220413E: - mov r0, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end ov01_0220411C - - thumb_func_start ov01_02204144 -ov01_02204144: ; 0x02204144 - ldr r0, [r0] - ldrb r0, [r0, r1] - cmp r0, #0xff - beq _02204150 - mov r0, #1 - bx lr -_02204150: - mov r0, #0 - bx lr - thumb_func_end ov01_02204144 - - thumb_func_start ov01_02204154 -ov01_02204154: ; 0x02204154 - ldr r2, [r0, #4] - lsl r0, r1, #2 - ldr r0, [r2, r0] - cmp r0, #0 - beq _02204162 - mov r0, #1 - bx lr -_02204162: - mov r0, #0 - bx lr - .balign 4, 0 - thumb_func_end ov01_02204154 - - thumb_func_start ov01_02204168 -ov01_02204168: ; 0x02204168 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r1] - add r4, r2, #0 - bl NNS_G3dGetMdlSet - cmp r0, #0 - beq _02204198 - add r2, r0, #0 - add r2, #8 - beq _0220418C - ldrb r1, [r0, #9] - cmp r1, #0 - bls _0220418C - ldrh r1, [r0, #0xe] - add r1, r2, r1 - add r1, r1, #4 - b _0220418E -_0220418C: - mov r1, #0 -_0220418E: - cmp r1, #0 - beq _02204198 - ldr r1, [r1] - add r2, r0, r1 - b _0220419A -_02204198: - mov r2, #0 -_0220419A: - ldr r0, [r5, #0x10] - ldr r1, [r5, #0xc] - lsl r0, r0, #2 - ldr r0, [r1, r0] - str r2, [r0, #0x54] - ldr r0, [r5, #0x10] - ldr r1, [r5, #0xc] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r1, [r0, #0x54] - bl NNS_G3dRenderObjInit - ldr r1, [r5, #0x10] - ldr r2, [r5, #0xc] - lsl r0, r1, #2 - ldr r0, [r2, r0] - add r1, r1, #1 - str r1, [r5, #0x10] - str r4, [r0, #0x58] - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end ov01_02204168 - - thumb_func_start ov01_022041C4 -ov01_022041C4: ; 0x022041C4 - push {r3, lr} - mov r1, #0x10 - bl Heap_Alloc - mov r1, #0 - str r1, [r0, #0xc] - str r1, [r0] - str r1, [r0, #4] - str r1, [r0, #8] - pop {r3, pc} - thumb_func_end ov01_022041C4 - thumb_func_start ov01_022041D8 ov01_022041D8: ; 0x022041D8 push {r3, r4, r5, r6, r7, lr} diff --git a/include/field/overlay_01_021E8744.h b/include/field/overlay_01_021E8744.h index 480babf508..a150e9e1b1 100644 --- a/include/field/overlay_01_021E8744.h +++ b/include/field/overlay_01_021E8744.h @@ -2,15 +2,10 @@ #define POKEHEARTGOLD_FIELD_OVERLAY_01_021E8744_H #include +#include "field/overlay_01_02204004.h" typedef struct UnkStruct_ov01_021E8B04 UnkStruct_ov01_021E8B04; -typedef struct UnkStruct_FieldSysC0_SubC { - NNSG3dRenderObj renderObj; - NNSG3dResMdl *model; - NNSG3dResFileHeader *resFileHeader; -} UnkStruct_FieldSysC0_SubC; - void ov01_021E8970(int modelNum, int animNum, int a2, UnkStruct_FieldSysC0_SubC *renderObj, void *fsysUnk54); UnkStruct_ov01_021E8B04 *ov01_021E8B04(int modelNum, int animNum, void *fsysUnk54); void ov01_021E8B84(UnkStruct_ov01_021E8B04 *anim, int a1); diff --git a/include/field/overlay_01_02204004.h b/include/field/overlay_01_02204004.h index ad8e2f1e01..811e99e6fb 100644 --- a/include/field/overlay_01_02204004.h +++ b/include/field/overlay_01_02204004.h @@ -3,13 +3,24 @@ #include -#include "field/overlay_01_021E8744.h" - #include "heap.h" +typedef struct FieldSystemUnkSubC8 { + u32 unk0; + u32 unk4; + u32 unk8; + u32 unkC; +} FieldSystemUnkSubC8; + +typedef struct UnkStruct_FieldSysC0_SubC { + NNSG3dRenderObj renderObj; + NNSG3dResMdl *model; + int index; +} UnkStruct_FieldSysC0_SubC; + typedef struct UnkStruct_FieldSysC0 { u8 *modelNumToLoadedSlot; - NNSG3dResFileHeader *resFileHeader; + NNSG3dResFileHeader **resFileHeaders; UnkStruct_FieldSysC0_SubC *objectHeap; UnkStruct_FieldSysC0_SubC **objects; int numObjects; @@ -17,7 +28,22 @@ typedef struct UnkStruct_FieldSysC0 { int objectMax; } UnkStruct_FieldSysC0; -UnkStruct_FieldSysC0 ov01_02204004(enum HeapID heapID, int indexMax, int objectMax, NNSG3dResFileHeader *a3); -UnkStruct_FieldSysC0_SubC *Field3dObjectList_GetRenderObjectByID(UnkStruct_FieldSysC0 *a0, int a1); +UnkStruct_FieldSysC0 *ov01_02204004(enum HeapID heapID, int indexMax, int objectMax, NNSG3dResFileHeader **fileResHeader); // FieldSysC0_New +void ov01_02204084(UnkStruct_FieldSysC0 *unkC0); // FieldSysC0_Free +UnkStruct_FieldSysC0_SubC *ov01_022040A4(UnkStruct_FieldSysC0 *unkC0, int index); +UnkStruct_FieldSysC0_SubC *Field3dObjectList_GetRenderObjectByID(UnkStruct_FieldSysC0 *unkC0, int index); +UnkStruct_FieldSysC0_SubC *ov01_022040F8(UnkStruct_FieldSysC0 *unkC0, int index); +BOOL ov01_0220411C(UnkStruct_FieldSysC0 *unkC0, UnkStruct_FieldSysC0_SubC *object); +BOOL ov01_02204154(UnkStruct_FieldSysC0 *unkC0, int index); +FieldSystemUnkSubC8 *ov01_022041C4(enum HeapID heapID); +void ov01_02204278(FieldSystemUnkSubC8 *unkSubC8); +void ov01_02204350(FieldSystemUnkSubC8 *unkSubC8); +void ov01_022043D8(FieldSystemUnkSubC8 *unkSubC8); +void ov01_02204424(FieldSystemUnkSubC8 *unkSubC8); +void *ov01_0220460C(FieldSystemUnkSubC8 *unkSubC8); +void ov01_02204634(void *unkCC); +void *ov01_02204744(enum HeapID heapID); +void ov01_02204764(void *unk104); +void ov01_022047DC(void *unk104); #endif // POKEHEARTGOLD_FIELD_OVERLAY_01_02204004_H diff --git a/include/field_system.h b/include/field_system.h index cb7946998e..61e78c2a77 100644 --- a/include/field_system.h +++ b/include/field_system.h @@ -3,6 +3,7 @@ #include "field/draw_map_name.h" #include "field/overlay_01_021E66E4.h" +#include "field/overlay_01_02204004.h" #include "bag_cursor.h" #include "battle_regulation.h" @@ -16,7 +17,6 @@ #include "map_matrix.h" #include "menu_input_state.h" #include "overlay_01_021EB1E8.h" -#include "overlay_01_02204004.h" #include "overlay_manager.h" #include "photo_types_def.h" #include "save_pokegear.h" @@ -157,7 +157,7 @@ struct FieldSystem { u8 unkBC[4]; void *unkC0; int unkC4; - FieldSystemUnkC8 *unk_C8; + FieldSystemUnkSubC8 *unk_C8; u8 filler_CC[0x4]; u16 lastTouchMenuInput; u8 unkD2_0 : 6; diff --git a/include/overlay_01_02204004.h b/include/overlay_01_02204004.h deleted file mode 100644 index cf8de28d54..0000000000 --- a/include/overlay_01_02204004.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef POKEHEARTGOLD_OVERLAY_01_02204004_H -#define POKEHEARTGOLD_OVERLAY_01_02204004_H - -typedef struct FieldSystemUnkC8 FieldSystemUnkC8; - -void ov01_022043D8(FieldSystemUnkC8 *a0); -void ov01_02204424(FieldSystemUnkC8 *a0); - -#endif // POKEHEARTGOLD_OVERLAY_01_02204004_H diff --git a/main.lsf b/main.lsf index 78846df195..6a52155a4d 100644 --- a/main.lsf +++ b/main.lsf @@ -557,6 +557,7 @@ Overlay field Object asm/overlay_01_022031C0.o Object asm/overlay_01_02203A18.o Object asm/overlay_01_02203E40.o + Object src/field/overlay_01_02204004_thumb.o Object asm/overlay_01_02204004.o Object src/field/overlay_01_apricorn_tree_anim.o Object src/field/overlay_01_rock_smash_item.o diff --git a/src/field/legend_cutscene_camera.c b/src/field/legend_cutscene_camera.c index 2fc1243bb7..a0de78ff9b 100644 --- a/src/field/legend_cutscene_camera.c +++ b/src/field/legend_cutscene_camera.c @@ -4,6 +4,7 @@ #include "demo/legend.naix" #include "field/overlay_01_021E66E4.h" +#include "field/overlay_01_021E8744.h" #include "field/overlay_01_021FB878.h" #include "field/overlay_01_02204004.h" #include "fielddata/script/scr_seq/event_D17R0110.h" diff --git a/src/field/overlay_01_02204004_thumb.c b/src/field/overlay_01_02204004_thumb.c new file mode 100644 index 0000000000..7172b48eb7 --- /dev/null +++ b/src/field/overlay_01_02204004_thumb.c @@ -0,0 +1,103 @@ +#include "field/overlay_01_02204004.h" + +#include "global.h" + +static BOOL ov01_02204144(UnkStruct_FieldSysC0 *unkC0, int index); +static UnkStruct_FieldSysC0_SubC *ov01_02204168(UnkStruct_FieldSysC0 *unkC0, NNSG3dResFileHeader **resFileHeader, int index); + +UnkStruct_FieldSysC0 *ov01_02204004(enum HeapID heapID, int indexMax, int objectMax, NNSG3dResFileHeader **resFileHeaders) { // FieldSysC0_New + UnkStruct_FieldSysC0 *unkC0 = Heap_Alloc(heapID, sizeof(UnkStruct_FieldSysC0)); + unkC0->numObjects = 0; + unkC0->indexMax = indexMax; + unkC0->objectMax = objectMax; + unkC0->resFileHeaders = resFileHeaders; + unkC0->modelNumToLoadedSlot = Heap_Alloc(heapID, indexMax); + int i; + for (i = 0; i < indexMax; i++) { + unkC0->modelNumToLoadedSlot[i] = 0xFF; + } + int size = objectMax * 0x5C; + unkC0->objectHeap = Heap_Alloc(heapID, size); + MIi_CpuClearFast(0, (u32*)unkC0->objectHeap, size); + unkC0->objects = Heap_Alloc(heapID, objectMax * 4); + for (i = 0; i < objectMax; i++) { + unkC0->objects[i] = &unkC0->objectHeap[i]; + } + return unkC0; +} + +void ov01_02204084(UnkStruct_FieldSysC0 *unkC0) { // FieldSysC0_Free + Heap_Free(unkC0->modelNumToLoadedSlot); + Heap_Free(unkC0->objectHeap); + Heap_Free(unkC0->objects); + Heap_Free(unkC0); +} + +UnkStruct_FieldSysC0_SubC *ov01_022040A4(UnkStruct_FieldSysC0 *unkC0, int index) { + unkC0->modelNumToLoadedSlot[index] = unkC0->numObjects; + NNSG3dResFileHeader *resFileHeader = unkC0->resFileHeaders[index]; + return ov01_02204168(unkC0, &resFileHeader, index); +} + +static void ov01_022040C0(UnkStruct_FieldSysC0 *unkC0, UnkStruct_FieldSysC0_SubC *object) { + unkC0->numObjects--; + unkC0->objects[unkC0->numObjects] = object; +} + +UnkStruct_FieldSysC0_SubC *Field3dObjectList_GetRenderObjectByID(UnkStruct_FieldSysC0 *unkC0, int id) { + u8 index = unkC0->modelNumToLoadedSlot[id]; + if (index != 0xFF) { + return unkC0->objects[index]; + } + return NULL; +} + +static UnkStruct_FieldSysC0_SubC *ov01_022040E4(UnkStruct_FieldSysC0 *unkC0, int index) { + NNSG3dResFileHeader *resFileHeader = unkC0->resFileHeaders[index]; + return ov01_02204168(unkC0, &resFileHeader, index); +} + +UnkStruct_FieldSysC0_SubC *ov01_022040F8(UnkStruct_FieldSysC0 *unkC0, int index) { + if (ov01_02204144(unkC0, index)) { + return Field3dObjectList_GetRenderObjectByID(unkC0, index); + } + return ov01_022040E4(unkC0, index); +} + +BOOL ov01_0220411C(UnkStruct_FieldSysC0 *unkC0, UnkStruct_FieldSysC0_SubC *object) { + if (object == NULL) { + return FALSE; + } + + if (ov01_02204144(unkC0, object->index) == FALSE) { + ov01_022040C0(unkC0, object); + return TRUE; + } + return FALSE; +} + +static BOOL ov01_02204144(UnkStruct_FieldSysC0 *unkC0, int index) { + return unkC0->modelNumToLoadedSlot[index] != 0xFF; +} + +BOOL ov01_02204154(UnkStruct_FieldSysC0 *unkC0, int index) { + return unkC0->resFileHeaders[index] != NULL; +} + +static UnkStruct_FieldSysC0_SubC *ov01_02204168(UnkStruct_FieldSysC0 *unkC0, NNSG3dResFileHeader **resFileHeader, int index) { + unkC0->objects[unkC0->numObjects]->model = NNS_G3dGetMdlByIdx(NNS_G3dGetMdlSet(*resFileHeader), 0); + + NNS_G3dRenderObjInit(&unkC0->objects[unkC0->numObjects]->renderObj, unkC0->objects[unkC0->numObjects]->model); + UnkStruct_FieldSysC0_SubC *object = unkC0->objects[unkC0->numObjects]; + unkC0->numObjects++; + object->index = index; + return object; +} + +FieldSystemUnkSubC8 *ov01_022041C4(enum HeapID heapID) { // FieldSystemUnkSubC8_New + FieldSystemUnkSubC8 *unkC8 = Heap_Alloc(heapID, sizeof(FieldSystemUnkSubC8)); + unkC8->unkC = 0; + unkC8->unk0 = 0; + unkC8->unk4 = 0; + unkC8->unk8 = 0; +} From 0407b04956c8bc33982abb36872b55e2e17369eb Mon Sep 17 00:00:00 2001 From: Pixelstyx Date: Thu, 23 Jul 2026 00:50:36 -0400 Subject: [PATCH 2/5] Up to ov01_02204698 --- asm/include/overlay_01_02204004.inc | 5 +- asm/overlay_01_02204004.s | 740 -------------------------- include/field/overlay_01_02204004.h | 60 ++- src/field/overlay_01_02204004_thumb.c | 293 ++++++++++ 4 files changed, 350 insertions(+), 748 deletions(-) diff --git a/asm/include/overlay_01_02204004.inc b/asm/include/overlay_01_02204004.inc index a8ad276fa2..206150620b 100644 --- a/asm/include/overlay_01_02204004.inc +++ b/asm/include/overlay_01_02204004.inc @@ -56,4 +56,7 @@ .public ov01_022047DC .public ov01_02204834 .public ov01_022040C0 -.public ov01_022040E4 \ No newline at end of file +.public ov01_022040E4 +.public ov01_0220434C +.public ov01_022044B0 +.public ov01_022044C4 \ No newline at end of file diff --git a/asm/overlay_01_02204004.s b/asm/overlay_01_02204004.s index d08c2aeb7c..10d8345108 100644 --- a/asm/overlay_01_02204004.s +++ b/asm/overlay_01_02204004.s @@ -14,746 +14,6 @@ .text - thumb_func_start ov01_022041D8 -ov01_022041D8: ; 0x022041D8 - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - str r0, [sp] - add r0, r5, #0 - mov r1, #0x24 - add r7, r2, #0 - bl Heap_Alloc - add r4, r0, #0 - mov r1, #0 - strh r1, [r4, #0x22] - strh r7, [r4, #0x20] - str r1, [r4, #0x1c] - add r1, r5, #0 - mov r2, #4 - bl HeapExp_FndInitAllocator - lsl r6, r7, #5 - add r0, r5, #0 - add r1, r6, #0 - bl Heap_Alloc - str r0, [r4, #0x10] - ldr r1, [r4, #0x10] - mov r0, #0 - add r2, r6, #0 - bl MIi_CpuClearFast - add r0, r5, #0 - lsl r1, r7, #2 - bl Heap_Alloc - mov r3, #0 - str r0, [r4, #0x14] - cmp r7, #0 - ble _02204248 - add r5, r3, #0 - add r6, r3, #0 - add r2, r3, #0 -_02204226: - ldr r0, [r4, #0x10] - add r3, r3, #1 - add r0, r0, r5 - str r2, [r0, #0x14] - ldr r0, [r4, #0x10] - add r0, r0, r5 - str r2, [r0, #4] - ldr r0, [r4, #0x10] - str r2, [r0, r5] - ldr r0, [r4, #0x10] - add r1, r0, r5 - ldr r0, [r4, #0x14] - add r5, #0x20 - str r1, [r0, r6] - add r6, r6, #4 - cmp r3, r7 - blt _02204226 -_02204248: - mov r0, #0 - str r0, [r4, #0x18] - ldr r0, [sp] - ldr r0, [r0, #4] - cmp r0, #0 - bne _0220425E - ldr r0, [sp] - str r4, [r0, #4] - str r4, [r0, #8] - str r4, [r0] - b _02204268 -_0220425E: - ldr r0, [sp] - ldr r0, [r0, #8] - str r4, [r0, #0x18] - ldr r0, [sp] - str r4, [r0, #8] -_02204268: - ldr r0, [sp] - ldr r0, [r0, #0xc] - add r1, r0, #1 - ldr r0, [sp] - str r1, [r0, #0xc] - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end ov01_022041D8 - - thumb_func_start ov01_02204278 -ov01_02204278: ; 0x02204278 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - str r0, [sp] - cmp r0, #0 - beq _022042F6 - add r1, r0, #0 - ldr r4, [r1, #4] - cmp r4, #0 - bne _02204292 - bl Heap_Free - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} -_02204292: - mov r0, #0 - str r0, [sp, #4] - ldr r0, [sp] - ldr r0, [r0, #0xc] - cmp r0, #0 - ble _022042F0 -_0220429E: - ldrh r0, [r4, #0x20] - mov r7, #0 - cmp r0, #0 - ble _022042CC - add r5, r7, #0 -_022042A8: - ldr r0, [r4, #0x10] - add r6, r0, r5 - ldr r0, [r6, #0x14] - cmp r0, #1 - bne _022042C2 - add r0, r4, #0 - add r1, r6, #0 - bl ov01_02204500 - add r0, r4, #0 - add r1, r6, #0 - bl ov01_0220431C -_022042C2: - ldrh r0, [r4, #0x20] - add r7, r7, #1 - add r5, #0x20 - cmp r7, r0 - blt _022042A8 -_022042CC: - ldr r0, [r4, #0x10] - bl Heap_Free - ldr r0, [r4, #0x14] - bl Heap_Free - add r0, r4, #0 - ldr r4, [r4, #0x18] - bl Heap_Free - ldr r0, [sp, #4] - add r0, r0, #1 - str r0, [sp, #4] - ldr r0, [sp] - ldr r1, [r0, #0xc] - ldr r0, [sp, #4] - cmp r0, r1 - blt _0220429E -_022042F0: - ldr r0, [sp] - bl Heap_Free -_022042F6: - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end ov01_02204278 - - thumb_func_start ov01_022042FC -ov01_022042FC: ; 0x022042FC - push {r3, lr} - ldrh r2, [r0, #0x22] - ldrh r1, [r0, #0x20] - cmp r2, r1 - blo _0220430E - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} -_0220430E: - add r1, r2, #1 - strh r1, [r0, #0x22] - ldr r1, [r0, #0x14] - lsl r0, r2, #2 - ldr r0, [r1, r0] - pop {r3, pc} - .balign 4, 0 - thumb_func_end ov01_022042FC - - thumb_func_start ov01_0220431C -ov01_0220431C: ; 0x0220431C - push {r3, r4, r5, lr} - add r5, r0, #0 - ldrh r0, [r5, #0x22] - add r4, r1, #0 - cmp r0, #0 - bne _0220432E - bl GF_AssertFail - pop {r3, r4, r5, pc} -_0220432E: - sub r0, r0, #1 - strh r0, [r5, #0x22] - ldr r0, [r4, #4] - cmp r0, #0 - beq _0220433C - bl Heap_Free -_0220433C: - mov r0, #0 - str r0, [r4] - str r0, [r4, #0x14] - ldrh r0, [r5, #0x22] - ldr r1, [r5, #0x14] - lsl r0, r0, #2 - str r4, [r1, r0] - pop {r3, r4, r5, pc} - thumb_func_end ov01_0220431C - - thumb_func_start ov01_0220434C -ov01_0220434C: ; 0x0220434C - ldrh r0, [r0, #0x22] - bx lr - thumb_func_end ov01_0220434C - - thumb_func_start ov01_02204350 -ov01_02204350: ; 0x02204350 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - str r0, [sp] - cmp r0, #0 - beq _022043D4 - ldr r6, [r0, #4] - cmp r6, #0 - beq _022043D4 - mov r0, #0 - str r0, [sp, #4] - ldr r0, [sp] - ldr r0, [r0, #0xc] - cmp r0, #0 - ble _022043D4 -_0220436C: - ldrh r0, [r6, #0x20] - mov r7, #0 - cmp r0, #0 - ble _022043C2 - add r5, r7, #0 -_02204376: - ldr r0, [r6, #0x10] - add r4, r0, r5 - ldr r0, [r4, #0x14] - cmp r0, #1 - bne _022043B8 - ldr r0, [r4, #0xc] - cmp r0, #1 - beq _022043B8 - ldr r0, [r4, #0x1c] - cmp r0, #0 - beq _022043B8 - add r0, r4, #0 - bl ov01_02204594 - mov r0, #0 - ldr r1, [r4, #8] - mvn r0, r0 - cmp r1, r0 - beq _022043B8 - add r0, r4, #0 - bl ov01_022045DC - cmp r0, #0 - beq _022043B8 - ldr r0, [r4, #0x18] - add r1, r0, #1 - ldr r0, [r4, #8] - cmp r1, r0 - blt _022043B6 - mov r0, #0 - str r0, [r4, #0x1c] - b _022043B8 -_022043B6: - str r1, [r4, #0x18] -_022043B8: - ldrh r0, [r6, #0x20] - add r7, r7, #1 - add r5, #0x20 - cmp r7, r0 - blt _02204376 -_022043C2: - ldr r0, [sp, #4] - ldr r6, [r6, #0x18] - add r0, r0, #1 - str r0, [sp, #4] - ldr r0, [sp] - ldr r1, [r0, #0xc] - ldr r0, [sp, #4] - cmp r0, r1 - blt _0220436C -_022043D4: - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end ov01_02204350 - - thumb_func_start ov01_022043D8 -ov01_022043D8: ; 0x022043D8 - push {r4, r5, r6, r7} - cmp r0, #0 - beq _0220441E - ldr r5, [r0, #4] - cmp r5, #0 - beq _0220441E - ldr r1, [r0, #0xc] - mov r3, #0 - cmp r1, #0 - ble _0220441E - mov r1, #1 -_022043EE: - ldrh r2, [r5, #0x20] - mov r4, #0 - cmp r2, #0 - ble _02204414 - add r6, r4, #0 -_022043F8: - ldr r2, [r5, #0x10] - add r2, r2, r6 - ldr r7, [r2, #0x14] - cmp r7, #1 - bne _0220440A - ldr r7, [r2, #0x1c] - cmp r7, #0 - beq _0220440A - str r1, [r2, #0xc] -_0220440A: - ldrh r2, [r5, #0x20] - add r4, r4, #1 - add r6, #0x20 - cmp r4, r2 - blt _022043F8 -_02204414: - ldr r2, [r0, #0xc] - add r3, r3, #1 - ldr r5, [r5, #0x18] - cmp r3, r2 - blt _022043EE -_0220441E: - pop {r4, r5, r6, r7} - bx lr - .balign 4, 0 - thumb_func_end ov01_022043D8 - - thumb_func_start ov01_02204424 -ov01_02204424: ; 0x02204424 - push {r3, r4, r5, r6, r7, lr} - str r0, [sp] - cmp r0, #0 - beq _0220446E - ldr r4, [r0, #4] - cmp r4, #0 - beq _0220446E - ldr r0, [r0, #0xc] - mov r7, #0 - cmp r0, #0 - ble _0220446E -_0220443A: - ldrh r0, [r4, #0x20] - mov r6, #0 - cmp r0, #0 - ble _02204462 - add r5, r6, #0 -_02204444: - ldr r0, [r4, #0x10] - add r0, r0, r5 - ldr r1, [r0, #0x14] - cmp r1, #1 - bne _02204458 - ldr r1, [r0, #0x1c] - cmp r1, #0 - beq _02204458 - bl ov01_022044E0 -_02204458: - ldrh r0, [r4, #0x20] - add r6, r6, #1 - add r5, #0x20 - cmp r6, r0 - blt _02204444 -_02204462: - ldr r0, [sp] - add r7, r7, #1 - ldr r0, [r0, #0xc] - ldr r4, [r4, #0x18] - cmp r7, r0 - blt _0220443A -_0220446E: - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end ov01_02204424 - - thumb_func_start ov01_02204470 -ov01_02204470: ; 0x02204470 - push {r3, r4, r5, r6, r7, lr} - add r4, r2, #0 - str r0, [sp] - add r5, r1, #0 - add r0, r4, #0 - mov r1, #0 - add r6, r3, #0 - bl NNS_G3dGetAnmByIdx - add r7, r0, #0 - bne _0220448A - bl GF_AssertFail -_0220448A: - ldr r0, [sp] - add r1, r7, #0 - add r2, r6, #0 - bl NNS_G3dAllocAnmObj - str r0, [r5] - cmp r0, #0 - bne _0220449E - bl GF_AssertFail -_0220449E: - ldr r0, [r5] - ldr r3, [sp, #0x18] - add r1, r7, #0 - add r2, r6, #0 - bl NNS_G3dAnmObjInit - str r4, [r5, #4] - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end ov01_02204470 - - thumb_func_start ov01_022044B0 -ov01_022044B0: ; 0x022044B0 - push {r4, r5, r6, lr} - ldr r6, [r0, #0x1c] - add r5, r1, #0 - add r4, r2, #0 - cmp r6, #0 - beq _022044C0 - blx r6 - str r4, [r5, #4] -_022044C0: - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end ov01_022044B0 - - thumb_func_start ov01_022044C4 -ov01_022044C4: ; 0x022044C4 - str r1, [r0, #0x1c] - bx lr - thumb_func_end ov01_022044C4 - - thumb_func_start ov01_022044C8 -ov01_022044C8: ; 0x022044C8 - push {r3, r4} - mov r4, #0 - str r4, [r0, #0x18] - mov r4, #1 - str r4, [r0, #0x1c] - str r4, [r0, #0x14] - str r1, [r0, #8] - str r2, [r0, #0xc] - str r3, [r0, #0x10] - pop {r3, r4} - bx lr - .balign 4, 0 - thumb_func_end ov01_022044C8 - - thumb_func_start ov01_022044E0 -ov01_022044E0: ; 0x022044E0 - ldr r1, [r0, #0x10] - cmp r1, #0 - bne _022044EE - ldr r0, [r0] - mov r1, #0 - str r1, [r0] - bx lr -_022044EE: - ldr r2, [r0] - ldr r0, [r2, #8] - ldrh r0, [r0, #4] - lsl r1, r0, #0xc - mov r0, #1 - lsl r0, r0, #0xc - sub r0, r1, r0 - str r0, [r2] - bx lr - thumb_func_end ov01_022044E0 - - thumb_func_start ov01_02204500 -ov01_02204500: ; 0x02204500 - ldr r3, _02204508 ; =NNS_G3dFreeAnmObj - ldr r1, [r1] - bx r3 - nop -_02204508: .word NNS_G3dFreeAnmObj - thumb_func_end ov01_02204500 - - thumb_func_start ov01_0220450C -ov01_0220450C: ; 0x0220450C - ldr r3, _02204514 ; =NNS_G3dRenderObjAddAnmObj - ldr r1, [r1] - bx r3 - nop -_02204514: .word NNS_G3dRenderObjAddAnmObj - thumb_func_end ov01_0220450C - - thumb_func_start ov01_02204518 -ov01_02204518: ; 0x02204518 - push {r3, lr} - cmp r1, #0 - bne _02204522 - mov r0, #0 - pop {r3, pc} -_02204522: - ldr r1, [r1] - cmp r1, #0 - bne _0220452C - mov r0, #0 - pop {r3, pc} -_0220452C: - cmp r0, #0 - bne _02204534 - mov r0, #0 - pop {r3, pc} -_02204534: - ldr r2, [r0, #8] - cmp r2, #0 - bne _0220454A - ldr r2, [r0, #0x10] - cmp r2, #0 - bne _0220454A - ldr r2, [r0, #0x18] - cmp r2, #0 - bne _0220454A - mov r0, #0 - pop {r3, pc} -_0220454A: - bl NNS_G3dRenderObjRemoveAnmObj - mov r0, #1 - pop {r3, pc} - .balign 4, 0 - thumb_func_end ov01_02204518 - - thumb_func_start ov01_02204554 -ov01_02204554: ; 0x02204554 - ldr r0, [r0, #8] - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bx lr - thumb_func_end ov01_02204554 - - thumb_func_start ov01_0220455C -ov01_0220455C: ; 0x0220455C - str r1, [r0, #0xc] - bx lr - thumb_func_end ov01_0220455C - - thumb_func_start ov01_02204560 -ov01_02204560: ; 0x02204560 - ldr r0, [r0, #0x1c] - cmp r0, #0 - bne _0220456A - mov r0, #1 - bx lr -_0220456A: - mov r0, #0 - bx lr - .balign 4, 0 - thumb_func_end ov01_02204560 - - thumb_func_start ov01_02204570 -ov01_02204570: ; 0x02204570 - ldr r1, [r0, #0x10] - cmp r1, #0 - bne _02204588 - ldr r2, [r0] - ldr r0, [r2, #8] - ldrh r0, [r0, #4] - lsl r1, r0, #0xc - mov r0, #1 - lsl r0, r0, #0xc - sub r0, r1, r0 - str r0, [r2] - bx lr -_02204588: - ldr r0, [r0] - mov r1, #0 - str r1, [r0] - bx lr - thumb_func_end ov01_02204570 - - thumb_func_start ov01_02204590 -ov01_02204590: ; 0x02204590 - str r1, [r0, #8] - bx lr - thumb_func_end ov01_02204590 - - thumb_func_start ov01_02204594 -ov01_02204594: ; 0x02204594 - ldr r1, [r0, #0x10] - cmp r1, #0 - bne _022045BA - ldr r3, [r0] - mov r1, #1 - ldr r2, [r3] - lsl r1, r1, #0xc - add r1, r2, r1 - str r1, [r3] - ldr r2, [r0] - ldr r0, [r2, #8] - ldr r1, [r2] - ldrh r0, [r0, #4] - lsl r0, r0, #0xc - cmp r1, r0 - bne _022045DA - mov r0, #0 - str r0, [r2] - bx lr -_022045BA: - ldr r0, [r0] - ldr r2, [r0] - cmp r2, #0 - bgt _022045D2 - ldr r1, [r0, #8] - ldrh r1, [r1, #4] - lsl r2, r1, #0xc - mov r1, #1 - lsl r1, r1, #0xc - sub r1, r2, r1 - str r1, [r0] - bx lr -_022045D2: - mov r1, #1 - lsl r1, r1, #0xc - sub r1, r2, r1 - str r1, [r0] -_022045DA: - bx lr - thumb_func_end ov01_02204594 - - thumb_func_start ov01_022045DC -ov01_022045DC: ; 0x022045DC - ldr r1, [r0, #0x10] - ldr r0, [r0] - cmp r1, #0 - bne _022045FE - ldr r2, [r0] - ldr r0, [r0, #8] - ldrh r0, [r0, #4] - lsl r1, r0, #0xc - mov r0, #1 - lsl r0, r0, #0xc - sub r0, r1, r0 - cmp r2, r0 - blt _022045FA - mov r0, #1 - bx lr -_022045FA: - mov r0, #0 - bx lr -_022045FE: - ldr r0, [r0] - cmp r0, #0 - bne _02204608 - mov r0, #1 - bx lr -_02204608: - mov r0, #0 - bx lr - thumb_func_end ov01_022045DC - - thumb_func_start ov01_0220460C -ov01_0220460C: ; 0x0220460C - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #4 - mov r1, #8 - bl Heap_Alloc - add r4, r0, #0 - add r0, r5, #0 - mov r1, #4 - mov r2, #1 - bl ov01_022041D8 - ldr r1, _02204630 ; =ov01_022046A4 - str r0, [r4] - bl ov01_022044C4 - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_02204630: .word ov01_022046A4 - thumb_func_end ov01_0220460C - - thumb_func_start ov01_02204634 -ov01_02204634: ; 0x02204634 - ldr r3, _02204638 ; =Heap_Free - bx r3 - .balign 4, 0 -_02204638: .word Heap_Free - thumb_func_end ov01_02204634 - - thumb_func_start ov01_0220463C -ov01_0220463C: ; 0x0220463C - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, [r5] - add r6, r1, #0 - bl ov01_022042FC - add r4, r0, #0 - bne _02204650 - bl GF_AssertFail -_02204650: - mov r1, #0 - mov r2, #0 - add r0, r4, #0 - mvn r1, r1 - add r3, r2, #0 - bl ov01_022044C8 - mov r0, #0x8c - add r1, r6, #0 - mov r2, #4 - bl AllocAndReadWholeNarcMemberByIdPair - add r2, r0, #0 - ldr r0, [r5] - add r1, r4, #0 - mov r3, #0 - bl ov01_022044B0 - str r4, [r5, #4] - pop {r4, r5, r6, pc} - thumb_func_end ov01_0220463C - - thumb_func_start ov01_02204678 -ov01_02204678: ; 0x02204678 - ldr r3, _02204684 ; =ov01_0220450C - add r2, r0, #0 - add r0, r1, #0 - ldr r1, [r2, #4] - bx r3 - nop -_02204684: .word ov01_0220450C - thumb_func_end ov01_02204678 - - thumb_func_start ov01_02204688 -ov01_02204688: ; 0x02204688 - ldr r3, _02204694 ; =ov01_02204518 - add r2, r0, #0 - add r0, r1, #0 - ldr r1, [r2, #4] - bx r3 - nop -_02204694: .word ov01_02204518 - thumb_func_end ov01_02204688 - - thumb_func_start ov01_02204698 -ov01_02204698: ; 0x02204698 - ldr r3, _022046A0 ; =ov01_0220434C - ldr r0, [r0] - bx r3 - nop -_022046A0: .word ov01_0220434C - thumb_func_end ov01_02204698 - thumb_func_start ov01_022046A4 ov01_022046A4: ; 0x022046A4 push {r4, r5, r6, lr} diff --git a/include/field/overlay_01_02204004.h b/include/field/overlay_01_02204004.h index 811e99e6fb..0ba357a967 100644 --- a/include/field/overlay_01_02204004.h +++ b/include/field/overlay_01_02204004.h @@ -5,11 +5,39 @@ #include "heap.h" -typedef struct FieldSystemUnkSubC8 { - u32 unk0; - u32 unk4; - u32 unk8; +typedef struct FieldSystemUnkSubCC_Sub0_SubStruct { + NNSG3dAnmObj *animObj; + void *res; + int unk8; u32 unkC; + u32 unk10; + u32 unk14; + int unk18; + u32 unk1C; +} FieldSystemUnkSubCC_Sub0_SubStruct; + +typedef struct FieldSystemUnkSubCC_Sub0 FieldSystemUnkSubCC_Sub0; + +typedef struct FieldSystemUnkSubCC { + FieldSystemUnkSubCC_Sub0 *unk0; + FieldSystemUnkSubCC_Sub0_SubStruct *unk4; +} FieldSystemUnkSubCC; + +struct FieldSystemUnkSubCC_Sub0 { + NNSFndAllocator unk0; + FieldSystemUnkSubCC_Sub0_SubStruct *unk10; + FieldSystemUnkSubCC_Sub0_SubStruct **unk14; + FieldSystemUnkSubCC_Sub0 *next; + void *unk1C; + u16 unk20; + u16 unk22; +}; + +typedef struct FieldSystemUnkSubC8 { + FieldSystemUnkSubCC_Sub0 *unk0; + FieldSystemUnkSubCC_Sub0 *unk4; + FieldSystemUnkSubCC_Sub0 *unk8; + int unkC; } FieldSystemUnkSubC8; typedef struct UnkStruct_FieldSysC0_SubC { @@ -36,12 +64,30 @@ UnkStruct_FieldSysC0_SubC *ov01_022040F8(UnkStruct_FieldSysC0 *unkC0, int index) BOOL ov01_0220411C(UnkStruct_FieldSysC0 *unkC0, UnkStruct_FieldSysC0_SubC *object); BOOL ov01_02204154(UnkStruct_FieldSysC0 *unkC0, int index); FieldSystemUnkSubC8 *ov01_022041C4(enum HeapID heapID); -void ov01_02204278(FieldSystemUnkSubC8 *unkSubC8); +FieldSystemUnkSubCC_Sub0 *ov01_022041D8(FieldSystemUnkSubC8 *unkC8, enum HeapID heapID, u16 count); +void ov01_02204278(FieldSystemUnkSubC8 *unkSubC8); // UnkSubC8_Free +FieldSystemUnkSubCC_Sub0_SubStruct *ov01_022042FC(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0); +void ov01_0220431C(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, FieldSystemUnkSubCC_Sub0_SubStruct *substruct); void ov01_02204350(FieldSystemUnkSubC8 *unkSubC8); void ov01_022043D8(FieldSystemUnkSubC8 *unkSubC8); void ov01_02204424(FieldSystemUnkSubC8 *unkSubC8); -void *ov01_0220460C(FieldSystemUnkSubC8 *unkSubC8); -void ov01_02204634(void *unkCC); +void ov01_02204470(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, FieldSystemUnkSubCC_Sub0_SubStruct *substruct, void *res, NNSG3dResMdl *model, NNSG3dResTex *texture); +void ov01_022044C8(FieldSystemUnkSubCC_Sub0_SubStruct *substruct, int unk8, int unkC, int unk10); +void ov01_022044E0(FieldSystemUnkSubCC_Sub0_SubStruct *substruct); +void ov01_02204500(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, FieldSystemUnkSubCC_Sub0_SubStruct *substruct); +void ov01_0220450C(UnkStruct_FieldSysC0_SubC *unkC0_SubC, FieldSystemUnkSubCC_Sub0_SubStruct *substruct); +BOOL ov01_02204518(UnkStruct_FieldSysC0_SubC *unkC0_SubC, FieldSystemUnkSubCC_Sub0_SubStruct *substruct); +u16 ov01_02204554(FieldSystemUnkSubCC_Sub0_SubStruct *substruct); +void ov01_0220455C(FieldSystemUnkSubCC_Sub0_SubStruct *substruct, int unkC); +BOOL ov01_02204560(FieldSystemUnkSubCC_Sub0_SubStruct *substruct); +void ov01_02204570(FieldSystemUnkSubCC_Sub0_SubStruct *substruct); +void ov01_02204590(FieldSystemUnkSubCC_Sub0_SubStruct *substruct, int unk8); +FieldSystemUnkSubCC *ov01_0220460C(FieldSystemUnkSubC8 *unkSubC8); // UnkCC_Init +void ov01_02204634(FieldSystemUnkSubCC *unkCC); // UnkCC_Free +void ov01_0220463C(FieldSystemUnkSubCC *unkCC, int fileID); // UnkCC_Load +void ov01_02204678(FieldSystemUnkSubCC *unkCC, UnkStruct_FieldSysC0_SubC *unkC0_SubC); +void ov01_02204688(FieldSystemUnkSubCC *unkCC, UnkStruct_FieldSysC0_SubC *unkC0_SubC); +void ov01_02204698(FieldSystemUnkSubCC *unkCC); void *ov01_02204744(enum HeapID heapID); void ov01_02204764(void *unk104); void ov01_022047DC(void *unk104); diff --git a/src/field/overlay_01_02204004_thumb.c b/src/field/overlay_01_02204004_thumb.c index 7172b48eb7..264e5f8a58 100644 --- a/src/field/overlay_01_02204004_thumb.c +++ b/src/field/overlay_01_02204004_thumb.c @@ -4,6 +4,10 @@ static BOOL ov01_02204144(UnkStruct_FieldSysC0 *unkC0, int index); static UnkStruct_FieldSysC0_SubC *ov01_02204168(UnkStruct_FieldSysC0 *unkC0, NNSG3dResFileHeader **resFileHeader, int index); +static void ov01_02204594(FieldSystemUnkSubCC_Sub0_SubStruct *substruct); +static BOOL ov01_022045DC(FieldSystemUnkSubCC_Sub0_SubStruct *substruct); +// make static +void ov01_022046A4(s32 arg0, s32* arg1, void *res); UnkStruct_FieldSysC0 *ov01_02204004(enum HeapID heapID, int indexMax, int objectMax, NNSG3dResFileHeader **resFileHeaders) { // FieldSysC0_New UnkStruct_FieldSysC0 *unkC0 = Heap_Alloc(heapID, sizeof(UnkStruct_FieldSysC0)); @@ -101,3 +105,292 @@ FieldSystemUnkSubC8 *ov01_022041C4(enum HeapID heapID) { // FieldSystemUnkSubC8_ unkC8->unk4 = 0; unkC8->unk8 = 0; } + +FieldSystemUnkSubCC_Sub0 *ov01_022041D8(FieldSystemUnkSubC8 *unkC8, enum HeapID heapID, u16 count) { + FieldSystemUnkSubCC_Sub0 *ret = Heap_Alloc(heapID, sizeof(FieldSystemUnkSubCC_Sub0)); + ret->unk22 = 0; + ret->unk20 = count; + ret->unk1C = NULL; + HeapExp_FndInitAllocator(&ret->unk0, heapID, 4); + ret->unk10 = Heap_Alloc(heapID, count << 5); + MIi_CpuClearFast(0, (u32*)(ret->unk10), count << 5); + ret->unk14 = Heap_Alloc(heapID, count << 2); + + for(int i = 0; i < count; i++) { + ret->unk10[i].unk14 = 0; + ret->unk10[i].res = NULL; + ret->unk10[i].animObj = NULL; + ret->unk14[i] = &ret->unk10[i]; + } + ret->next = NULL; + if (unkC8->unk4 == NULL) { + unkC8->unk4 = ret; + unkC8->unk8 = ret; + unkC8->unk0 = ret; + } + else { + unkC8->unk8->next = ret; + unkC8->unk8 = ret; + } + unkC8->unkC++; + return ret; +} + +void ov01_02204278(FieldSystemUnkSubC8 *unkSubC8) { // UnkSubC8_Free + if (unkSubC8 != NULL) { + FieldSystemUnkSubCC_Sub0 *unk4 = unkSubC8->unk4; + if (unk4 == NULL) { + Heap_Free(unkSubC8); + } else { + for (int i = 0; i < unkSubC8->unkC; i++) { + for (int j = 0; j < unk4->unk20; j++) { + FieldSystemUnkSubCC_Sub0_SubStruct *substruct = &unk4->unk10[j]; + if (substruct->unk14 == 1) { + ov01_02204500(unk4, substruct); + ov01_0220431C(unk4, substruct); + } + } + Heap_Free(unk4->unk10); + Heap_Free(unk4->unk14); + FieldSystemUnkSubCC_Sub0 *prev = unk4; + unk4 = unk4->next; + Heap_Free(prev); + } + Heap_Free(unkSubC8); + } + } +} + +FieldSystemUnkSubCC_Sub0_SubStruct *ov01_022042FC(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0) { + u16 index = unkCC_Sub0->unk22; + if (unkCC_Sub0->unk22 >= unkCC_Sub0->unk20) { + GF_ASSERT(FALSE); + return NULL; + } + unkCC_Sub0->unk22++; + return unkCC_Sub0->unk14[index]; +} + +void ov01_0220431C(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, FieldSystemUnkSubCC_Sub0_SubStruct *substruct) { + if (unkCC_Sub0->unk22 == 0) { + GF_AssertFail(); + } else { + unkCC_Sub0->unk22--; + if (substruct->res != NULL) { + Heap_Free(substruct->res); + } + substruct->animObj = NULL; + substruct->unk14 = 0; + unkCC_Sub0->unk14[unkCC_Sub0->unk22] = substruct; + } +} + +static u16 ov01_0220434C(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0) { // FieldSystemUnkSubCC_Sub0_GetCount? + return unkCC_Sub0->unk22; +} + +void ov01_02204350(FieldSystemUnkSubC8 *unkC8) { + if (unkC8 != NULL) { + FieldSystemUnkSubCC_Sub0 *unkCC_Sub0 = unkC8->unk4; + if (unkCC_Sub0 != NULL) { + for (int i = 0; i < unkC8->unkC; i++) { + for (int j = 0; j < unkCC_Sub0->unk20; j++) { + FieldSystemUnkSubCC_Sub0_SubStruct *substruct = &unkCC_Sub0->unk10[j]; + if (substruct->unk14 == 1 && substruct->unkC != 1 && substruct->unk1C) { + ov01_02204594(substruct); + if (substruct->unk8 != -1 && ov01_022045DC(substruct)) { + if (substruct->unk18 + 1 >= substruct->unk8) { + substruct->unk1C = 0; + } else { + substruct->unk18++; + } + } + } + } + unkCC_Sub0 = unkCC_Sub0->next; + } + } + } +} + +void ov01_022043D8(FieldSystemUnkSubC8 *unkSubC8) { + int i, j; + if (unkSubC8 != NULL) { + FieldSystemUnkSubCC_Sub0 *unk4 = unkSubC8->unk4; + if (unk4 != NULL) { + for (i = 0; i < unkSubC8->unkC; i++) { + for (j = 0; j < unk4->unk20; j++) { + FieldSystemUnkSubCC_Sub0_SubStruct *substruct = &unk4->unk10[j]; + if (substruct->unk14 == 1 && substruct->unk1C) { + substruct->unkC = 1; + } + } + unk4 = unk4->next; + } + } + } +} + +void ov01_02204424(FieldSystemUnkSubC8 *unkSubC8) { + if (unkSubC8 != NULL) { + FieldSystemUnkSubCC_Sub0 *unkCC_Sub0 = unkSubC8->unk4; + if (unkCC_Sub0 != NULL) { + for (int i = 0; i < unkSubC8->unkC; i++) { + for (int j = 0; j < unkCC_Sub0->unk20; j++) { + FieldSystemUnkSubCC_Sub0_SubStruct *substruct = &unkCC_Sub0->unk10[j]; + if (substruct->unk14 == 1 && substruct->unk1C) { + ov01_022044E0(substruct); + } + } + unkCC_Sub0 = unkCC_Sub0->next; + } + } + } +} + +void ov01_02204470(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, FieldSystemUnkSubCC_Sub0_SubStruct *substruct, void *res, NNSG3dResMdl *model, NNSG3dResTex *texture) { + void *anim = NNS_G3dGetAnmByIdx(res, 0); + if (anim == NULL) { + GF_AssertFail(); + } + NNSG3dAnmObj *animObj = NNS_G3dAllocAnmObj(&unkCC_Sub0->unk0, anim, model); + substruct->animObj = animObj; + if (animObj == NULL) { + GF_AssertFail(); + } + NNS_G3dAnmObjInit(substruct->animObj, anim, model, texture); + substruct->res = res; +} + +// make static +void ov01_022044B0(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, FieldSystemUnkSubCC_Sub0_SubStruct *substruct, void *res, int arg3); + +void ov01_022044B0(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, FieldSystemUnkSubCC_Sub0_SubStruct *substruct, void *res, int arg3) { + void (*unkFunc)() = unkCC_Sub0->unk1C; + if (unkFunc != NULL) { + unkFunc(unkCC_Sub0, substruct, res, arg3); + substruct->res = res; + } +} + +// make static +void ov01_022044C4(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, void *arg1); + +void ov01_022044C4(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, void *arg1) { + unkCC_Sub0->unk1C = arg1; +} + +void ov01_022044C8(FieldSystemUnkSubCC_Sub0_SubStruct *substruct, int unk8, int unkC, int unk10) { + substruct->unk18 = 0; + substruct->unk1C = 1; + substruct->unk14 = 1; + substruct->unk8 = unk8; + substruct->unkC = unkC; + substruct->unk10 = unk10; +} + +void ov01_022044E0(FieldSystemUnkSubCC_Sub0_SubStruct *substruct) { + if (substruct->unk10 == 0) { + substruct->animObj->frame = 0; + } else { + substruct->animObj->frame = NNS_G3dAnmObjGetNumFrame(substruct->animObj) - 0x1000; + } +} + +void ov01_02204500(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, FieldSystemUnkSubCC_Sub0_SubStruct *substruct) { + NNS_G3dFreeAnmObj(&unkCC_Sub0->unk0, substruct->animObj); +} + +void ov01_0220450C(UnkStruct_FieldSysC0_SubC *unkC0_SubC, FieldSystemUnkSubCC_Sub0_SubStruct *substruct) { + NNS_G3dRenderObjAddAnmObj(&unkC0_SubC->renderObj, substruct->animObj); +} + +BOOL ov01_02204518(UnkStruct_FieldSysC0_SubC *unkC0_SubC, FieldSystemUnkSubCC_Sub0_SubStruct *substruct) { + if (substruct == NULL) return FALSE; + if (substruct->animObj == NULL) return FALSE; + if (unkC0_SubC == NULL) return FALSE; + if (unkC0_SubC->renderObj.anmMat == NULL && unkC0_SubC->renderObj.anmJnt == NULL && unkC0_SubC->renderObj.anmVis == NULL) return FALSE; + + NNS_G3dRenderObjRemoveAnmObj(&unkC0_SubC->renderObj, substruct->animObj); + return TRUE; +} + +u16 ov01_02204554(FieldSystemUnkSubCC_Sub0_SubStruct *substruct) { + return substruct->unk8; +} + +void ov01_0220455C(FieldSystemUnkSubCC_Sub0_SubStruct *substruct, int unkC) { + substruct->unkC = unkC; +} + +BOOL ov01_02204560(FieldSystemUnkSubCC_Sub0_SubStruct *substruct) { + return substruct->unk1C == 0; +} + +void ov01_02204570(FieldSystemUnkSubCC_Sub0_SubStruct *substruct) { + if (substruct->unk10 == 0) { + substruct->animObj->frame = NNS_G3dAnmObjGetNumFrame(substruct->animObj) - 0x1000; + } else { + substruct->animObj->frame = 0; + } +} + +void ov01_02204590(FieldSystemUnkSubCC_Sub0_SubStruct *substruct, int unk8) { + substruct->unk8 = unk8; +} + +static void ov01_02204594(FieldSystemUnkSubCC_Sub0_SubStruct *substruct) { + if (substruct->unk10 == 0) { + substruct->animObj->frame += 0x1000; + if (substruct->animObj->frame == NNS_G3dAnmObjGetNumFrame(substruct->animObj)) { + substruct->animObj->frame = 0; + } + } else { + if (substruct->animObj->frame <= 0) { + substruct->animObj->frame = NNS_G3dAnmObjGetNumFrame(substruct->animObj) - 0x1000; + } else { + substruct->animObj->frame -= 0x1000; + } + } +} + +static BOOL ov01_022045DC(FieldSystemUnkSubCC_Sub0_SubStruct *substruct) { + if (substruct->unk10 == 0) { + return substruct->animObj->frame >= NNS_G3dAnmObjGetNumFrame(substruct->animObj) - 0x1000; + } + return substruct->animObj->frame == 0; +} + +FieldSystemUnkSubCC *ov01_0220460C(FieldSystemUnkSubC8 *unkSubC8) { + FieldSystemUnkSubCC *unkCC = Heap_Alloc(HEAP_ID_FIELD1, sizeof(FieldSystemUnkSubCC)); + FieldSystemUnkSubCC_Sub0 *unkCC_Sub0 = ov01_022041D8(unkSubC8, HEAP_ID_FIELD1, 1); + unkCC->unk0 = unkCC_Sub0; + ov01_022044C4(unkCC_Sub0, &ov01_022046A4); + return unkCC; +} + +void ov01_02204634(FieldSystemUnkSubCC *unkCC) { + Heap_Free(unkCC); +} + +void ov01_0220463C(FieldSystemUnkSubCC *unkCC, int fileID) { + FieldSystemUnkSubCC_Sub0_SubStruct *substruct = ov01_022042FC(unkCC->unk0); + if (substruct == NULL) { + GF_AssertFail(); + } + ov01_022044C8(substruct, -1, 0, 0); + ov01_022044B0(unkCC->unk0, substruct, AllocAndReadWholeNarcMemberByIdPair(0x8C, fileID, HEAP_ID_FIELD1), 0); + unkCC->unk4 = substruct; +} + +void ov01_02204678(FieldSystemUnkSubCC *unkCC, UnkStruct_FieldSysC0_SubC *unkC0_SubC) { + ov01_0220450C(unkC0_SubC, unkCC->unk4); +} + +void ov01_02204688(FieldSystemUnkSubCC *unkCC, UnkStruct_FieldSysC0_SubC *unkC0_SubC) { + ov01_02204518(unkC0_SubC, unkCC->unk4); +} + +void ov01_02204698(FieldSystemUnkSubCC *unkCC) { + ov01_0220434C(unkCC->unk0); +} From ec05212174dea411d9c188bf49bd056cbc0dedb3 Mon Sep 17 00:00:00 2001 From: Pixelstyx Date: Sun, 26 Jul 2026 01:04:54 -0400 Subject: [PATCH 3/5] Finish decompiling 4004 --- asm/include/overlay_01_02204004.inc | 62 ----- asm/overlay_01_02204004.s | 262 ------------------ include/field/overlay_01_02204004.h | 37 ++- include/field_system.h | 2 +- main.lsf | 3 +- ...02204004_thumb.c => overlay_01_02204004.c} | 116 +++++++- 6 files changed, 141 insertions(+), 341 deletions(-) delete mode 100644 asm/include/overlay_01_02204004.inc delete mode 100644 asm/overlay_01_02204004.s rename src/field/{overlay_01_02204004_thumb.c => overlay_01_02204004.c} (78%) diff --git a/asm/include/overlay_01_02204004.inc b/asm/include/overlay_01_02204004.inc deleted file mode 100644 index 206150620b..0000000000 --- a/asm/include/overlay_01_02204004.inc +++ /dev/null @@ -1,62 +0,0 @@ -#include -#pragma once -.public AllocAndReadWholeNarcMemberByIdPair -.public GF_RTC_GetTimeOfDay -.public Heap_Alloc -.public Heap_Free -.public HeapExp_FndInitAllocator -.public GF_AssertFail -.public NNS_FndAllocFromAllocator -.public NNS_G3dAnmObjInit -.public NNS_G3dRenderObjInit -.public NNS_G3dRenderObjAddAnmObj -.public NNS_G3dRenderObjRemoveAnmObj -.public NNS_G3dAllocAnmObj -.public NNS_G3dFreeAnmObj -.public NNS_G3dGetMdlSet -.public NNS_G3dGetAnmByIdx -.public MIi_CpuClear16 -.public MIi_CpuClearFast -.public _02110A0C -.public ov01_02204004 -.public ov01_02204084 -.public ov01_022040A4 -.public Field3dObjectList_GetRenderObjectByID -.public ov01_022040F8 -.public ov01_0220411C -.public ov01_02204154 -.public ov01_022041C4 -.public ov01_022041D8 -.public ov01_02204278 -.public ov01_022042FC -.public ov01_0220431C -.public ov01_02204350 -.public ov01_022043D8 -.public ov01_02204424 -.public ov01_02204470 -.public ov01_022044C8 -.public ov01_022044E0 -.public ov01_02204500 -.public ov01_0220450C -.public ov01_02204518 -.public ov01_02204554 -.public ov01_0220455C -.public ov01_02204560 -.public ov01_02204570 -.public ov01_02204590 -.public ov01_0220460C -.public ov01_02204634 -.public ov01_0220463C -.public ov01_02204678 -.public ov01_02204688 -.public ov01_02204698 -.public ov01_02204744 -.public ov01_02204764 -.public ov01_0220476C -.public ov01_022047DC -.public ov01_02204834 -.public ov01_022040C0 -.public ov01_022040E4 -.public ov01_0220434C -.public ov01_022044B0 -.public ov01_022044C4 \ No newline at end of file diff --git a/asm/overlay_01_02204004.s b/asm/overlay_01_02204004.s deleted file mode 100644 index 10d8345108..0000000000 --- a/asm/overlay_01_02204004.s +++ /dev/null @@ -1,262 +0,0 @@ -#include "constants/sndseq.h" -#include "constants/moves.h" -#include "constants/std_script.h" -#include "constants/species.h" -#include "constants/sprites.h" -#include "constants/maps.h" -#include "constants/mmodel.h" -#include "constants/items.h" -#include "msgdata/msg/msg_0096_D31R0201.h" -#include "msgdata/msg/msg_0066_D23R0102.h" - .include "asm/macros.inc" - .include "overlay_01_02204004.inc" - .include "global.inc" - - .text - - thumb_func_start ov01_022046A4 -ov01_022046A4: ; 0x022046A4 - push {r4, r5, r6, lr} - add r6, r0, #0 - add r5, r1, #0 - add r0, r2, #0 - mov r1, #0 - bl NNS_G3dGetAnmByIdx - add r4, r0, #0 - add r0, r6, #0 - add r1, r4, #0 - bl ov01_022046D4 - add r1, r4, #0 - str r0, [r5] - bl ov01_02204728 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end ov01_022046A4 - - thumb_func_start ov01_022046C8 -ov01_022046C8: ; 0x022046C8 - ldrb r0, [r0, #9] - mov r1, #3 - lsl r0, r0, #1 - add r0, #0x1c - bic r0, r1 - bx lr - thumb_func_end ov01_022046C8 - - thumb_func_start ov01_022046D4 -ov01_022046D4: ; 0x022046D4 - push {r4, lr} - add r4, r0, #0 - add r0, r1, #0 - bl ov01_022046C8 - add r1, r0, #0 - add r0, r4, #0 - bl NNS_FndAllocFromAllocator - pop {r4, pc} - thumb_func_end ov01_022046D4 - - thumb_func_start ov01_022046E8 -ov01_022046E8: ; 0x022046E8 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, _02204724 ; =_02110A0C - add r4, r1, #0 - ldr r0, [r0] - add r1, r5, #0 - str r0, [r5, #0xc] - ldrb r2, [r4, #9] - mov r0, #0 - add r1, #0x1a - strb r2, [r5, #0x19] - lsl r2, r2, #1 - bl MIi_CpuClear16 - ldrb r0, [r4, #9] - mov r2, #0 - cmp r0, #0 - bls _02204720 - mov r0, #1 - lsl r0, r0, #8 -_02204710: - add r1, r2, #0 - orr r1, r0 - strh r1, [r5, #0x1a] - ldrb r1, [r4, #9] - add r2, r2, #1 - add r5, r5, #2 - cmp r2, r1 - blo _02204710 -_02204720: - pop {r3, r4, r5, pc} - nop -_02204724: .word _02110A0C - thumb_func_end ov01_022046E8 - - thumb_func_start ov01_02204728 -ov01_02204728: ; 0x02204728 - mov r3, #0 - str r3, [r0] - str r1, [r0, #8] - str r3, [r0, #0x10] - mov r2, #0x7f - strb r2, [r0, #0x18] - mov r2, #1 - lsl r2, r2, #0xc - str r2, [r0, #4] - str r3, [r0, #0x14] - ldr r3, _02204740 ; =ov01_022046E8 - bx r3 - .balign 4, 0 -_02204740: .word ov01_022046E8 - thumb_func_end ov01_02204728 - - thumb_func_start ov01_02204744 -ov01_02204744: ; 0x02204744 - push {r4, lr} - mov r1, #0x78 - bl Heap_Alloc - add r4, r0, #0 - mov r0, #0 - add r1, r4, #0 - mov r2, #0x78 - bl MIi_CpuClearFast - bl GF_RTC_GetTimeOfDay - str r0, [r4] - add r0, r4, #0 - pop {r4, pc} - .balign 4, 0 - thumb_func_end ov01_02204744 - - thumb_func_start ov01_02204764 -ov01_02204764: ; 0x02204764 - ldr r3, _02204768 ; =Heap_Free - bx r3 - .balign 4, 0 -_02204768: .word Heap_Free - thumb_func_end ov01_02204764 - - thumb_func_start ov01_0220476C -ov01_0220476C: ; 0x0220476C - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r7, r1, #0 - ldr r1, [r5, #4] - add r4, r2, #0 - add r6, r3, #0 - cmp r1, #4 - bge _022047D4 - mov r0, #0x1c - mul r0, r1 - add r0, r5, r0 - ldr r0, [r0, #8] - cmp r0, #0 - beq _0220478C - bl GF_AssertFail -_0220478C: - cmp r6, #4 - ble _02204794 - bl GF_AssertFail -_02204794: - ldr r2, [r5, #4] - add r1, r5, #0 - mov r0, #0x1c - add r1, #8 - mul r0, r2 - mov r3, #1 - add r2, r1, r0 - str r3, [r1, r0] - str r6, [r2, #4] - cmp r6, #4 - ble _022047AE - mov r0, #4 - str r0, [r2, #4] -_022047AE: - ldr r1, [r2, #4] - mov r0, #0 - cmp r1, #0 - ble _022047CA -_022047B6: - lsl r1, r0, #2 - ldr r3, [r4, r1] - add r1, r2, r1 - add r0, r0, #1 - str r3, [r1, #8] - lsl r0, r0, #0x18 - ldr r1, [r2, #4] - lsr r0, r0, #0x18 - cmp r0, r1 - blt _022047B6 -_022047CA: - str r7, [r2, #0x18] - ldr r0, [r5, #4] - add r0, r0, #1 - str r0, [r5, #4] - pop {r3, r4, r5, r6, r7, pc} -_022047D4: - bl GF_AssertFail - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end ov01_0220476C - - thumb_func_start ov01_022047DC -ov01_022047DC: ; 0x022047DC - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - bl GF_RTC_GetTimeOfDay - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 - ldr r0, [r5] - cmp r0, r7 - beq _0220482E - lsl r0, r0, #0x18 - add r4, r5, #0 - lsr r0, r0, #0x18 - str r7, [r5] - mov r6, #0 - add r4, #8 - str r0, [sp] -_022047FC: - ldr r0, [r5, #8] - cmp r0, #0 - beq _02204824 - ldr r2, _02204830 ; =ov01_022095EC - ldr r1, [sp] - ldr r0, [r4, #0x18] - ldrb r1, [r2, r1] - lsl r1, r1, #2 - add r1, r1, r4 - ldr r1, [r1, #8] - bl ov01_02204518 - ldr r1, _02204830 ; =ov01_022095EC - ldr r0, [r4, #0x18] - ldrb r1, [r1, r7] - lsl r1, r1, #2 - add r1, r1, r4 - ldr r1, [r1, #8] - bl ov01_0220450C -_02204824: - add r6, r6, #1 - add r5, #0x1c - add r4, #0x1c - cmp r6, #4 - blt _022047FC -_0220482E: - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_02204830: .word ov01_022095EC - thumb_func_end ov01_022047DC - - thumb_func_start ov01_02204834 -ov01_02204834: ; 0x02204834 - ldr r1, [r0] - ldr r0, _0220483C ; =ov01_022095EC - ldrb r0, [r0, r1] - bx lr - .balign 4, 0 -_0220483C: .word ov01_022095EC - thumb_func_end ov01_02204834 - - .rodata - -ov01_022095EC: ; 0x022095EC - .byte 0, 1, 2, 3, 3 - diff --git a/include/field/overlay_01_02204004.h b/include/field/overlay_01_02204004.h index 0ba357a967..f5e45c4892 100644 --- a/include/field/overlay_01_02204004.h +++ b/include/field/overlay_01_02204004.h @@ -3,6 +3,7 @@ #include +#include "gf_rtc.h" #include "heap.h" typedef struct FieldSystemUnkSubCC_Sub0_SubStruct { @@ -56,6 +57,26 @@ typedef struct UnkStruct_FieldSysC0 { int objectMax; } UnkStruct_FieldSysC0; +typedef struct FieldSystemUnkSub104_Sub8 { + u32 unk0; + int unk4; + FieldSystemUnkSubCC_Sub0_SubStruct *unk8[4]; + UnkStruct_FieldSysC0_SubC *unk18; +} FieldSystemUnkSub104_Sub8; // Size: 0x1C + +typedef struct FieldSystemUnkSub104 { + TIMEOFDAY timeOfDay; + int unk4; + FieldSystemUnkSub104_Sub8 unkSub[4]; +} FieldSystemUnkSub104; // Size: 0x78 + +typedef struct ResAnim_4004 { + u32 unk0; + u32 unk4; + u8 unk8; + u8 numMapData; +} ResAnim_4004; + UnkStruct_FieldSysC0 *ov01_02204004(enum HeapID heapID, int indexMax, int objectMax, NNSG3dResFileHeader **fileResHeader); // FieldSysC0_New void ov01_02204084(UnkStruct_FieldSysC0 *unkC0); // FieldSysC0_Free UnkStruct_FieldSysC0_SubC *ov01_022040A4(UnkStruct_FieldSysC0 *unkC0, int index); @@ -88,8 +109,18 @@ void ov01_0220463C(FieldSystemUnkSubCC *unkCC, int fileID); // UnkCC_Load void ov01_02204678(FieldSystemUnkSubCC *unkCC, UnkStruct_FieldSysC0_SubC *unkC0_SubC); void ov01_02204688(FieldSystemUnkSubCC *unkCC, UnkStruct_FieldSysC0_SubC *unkC0_SubC); void ov01_02204698(FieldSystemUnkSubCC *unkCC); -void *ov01_02204744(enum HeapID heapID); -void ov01_02204764(void *unk104); -void ov01_022047DC(void *unk104); +FieldSystemUnkSub104 *ov01_02204744(enum HeapID heapID); +void ov01_02204764(FieldSystemUnkSub104 *unk104); +void ov01_0220476C(FieldSystemUnkSub104 *unk104, UnkStruct_FieldSysC0_SubC *subC, FieldSystemUnkSubCC_Sub0_SubStruct **substruct, int arg3); +void ov01_022047DC(FieldSystemUnkSub104 *unk104); +u8 ov01_02204834(FieldSystemUnkSub104 *unk104); + +// These are nnsys things that do not seem to be in the project right now or are not decompiled in this project. +void *NNS_FndAllocFromAllocator(NNSFndAllocator *pAllocator, u32 size); + +typedef struct NNSG3dMatAnmResult NNSG3dMatAnmResult; +typedef void (*NNSG3dFuncAnmMat)(NNSG3dMatAnmResult *, const NNSG3dAnmObj *, u32); +// void NNSi_G3dAnmCalcNsBta(NNSG3dMatAnmResult *pResult, const NNSG3dAnmObj *pAnmObj, u32 dataIdx); +extern NNSG3dFuncAnmMat _02110A0C; // NNS_G3dFuncAnmMatNsBtaDefault = &NNSi_G3dAnmCalcNsBta #endif // POKEHEARTGOLD_FIELD_OVERLAY_01_02204004_H diff --git a/include/field_system.h b/include/field_system.h index 61e78c2a77..1efd31ade4 100644 --- a/include/field_system.h +++ b/include/field_system.h @@ -169,7 +169,7 @@ struct FieldSystem { FieldViewPhoto *viewPhotoTask; int lastStartMenuAction; FollowMon followMon; // E4 - u8 unk104[4]; + FieldSystemUnkSub104 *unk104; FieldSystemUnk108 *unk108; MenuInputStateMgr menuInputState; // Tracks whether the last menu input was touch or keypad u8 unk_110; diff --git a/main.lsf b/main.lsf index 6a52155a4d..59c7302954 100644 --- a/main.lsf +++ b/main.lsf @@ -557,8 +557,7 @@ Overlay field Object asm/overlay_01_022031C0.o Object asm/overlay_01_02203A18.o Object asm/overlay_01_02203E40.o - Object src/field/overlay_01_02204004_thumb.o - Object asm/overlay_01_02204004.o + Object src/field/overlay_01_02204004.o Object src/field/overlay_01_apricorn_tree_anim.o Object src/field/overlay_01_rock_smash_item.o Object src/field/headbutt.o diff --git a/src/field/overlay_01_02204004_thumb.c b/src/field/overlay_01_02204004.c similarity index 78% rename from src/field/overlay_01_02204004_thumb.c rename to src/field/overlay_01_02204004.c index 264e5f8a58..edadbc3b52 100644 --- a/src/field/overlay_01_02204004_thumb.c +++ b/src/field/overlay_01_02204004.c @@ -1,13 +1,16 @@ #include "field/overlay_01_02204004.h" +#include "filesystem.h" +#include "filesystem_files_def.h" #include "global.h" static BOOL ov01_02204144(UnkStruct_FieldSysC0 *unkC0, int index); static UnkStruct_FieldSysC0_SubC *ov01_02204168(UnkStruct_FieldSysC0 *unkC0, NNSG3dResFileHeader **resFileHeader, int index); static void ov01_02204594(FieldSystemUnkSubCC_Sub0_SubStruct *substruct); static BOOL ov01_022045DC(FieldSystemUnkSubCC_Sub0_SubStruct *substruct); -// make static -void ov01_022046A4(s32 arg0, s32* arg1, void *res); +static void ov01_022046A4(NNSFndAllocator *pAllocator, NNSG3dAnmObj **pAlloc, void *res); +static void *ov01_022046D4(NNSFndAllocator *pAllocator, ResAnim_4004 *anim); +static void ov01_02204728(NNSG3dAnmObj *alloc, ResAnim_4004 *anim); UnkStruct_FieldSysC0 *ov01_02204004(enum HeapID heapID, int indexMax, int objectMax, NNSG3dResFileHeader **resFileHeaders) { // FieldSysC0_New UnkStruct_FieldSysC0 *unkC0 = Heap_Alloc(heapID, sizeof(UnkStruct_FieldSysC0)); @@ -262,10 +265,7 @@ void ov01_02204470(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, FieldSystemUnkSubCC_Sub substruct->res = res; } -// make static -void ov01_022044B0(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, FieldSystemUnkSubCC_Sub0_SubStruct *substruct, void *res, int arg3); - -void ov01_022044B0(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, FieldSystemUnkSubCC_Sub0_SubStruct *substruct, void *res, int arg3) { +static void ov01_022044B0(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, FieldSystemUnkSubCC_Sub0_SubStruct *substruct, void *res, int arg3) { void (*unkFunc)() = unkCC_Sub0->unk1C; if (unkFunc != NULL) { unkFunc(unkCC_Sub0, substruct, res, arg3); @@ -273,10 +273,7 @@ void ov01_022044B0(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, FieldSystemUnkSubCC_Sub } } -// make static -void ov01_022044C4(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, void *arg1); - -void ov01_022044C4(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, void *arg1) { +static void ov01_022044C4(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, void *arg1) { unkCC_Sub0->unk1C = arg1; } @@ -379,7 +376,7 @@ void ov01_0220463C(FieldSystemUnkSubCC *unkCC, int fileID) { GF_AssertFail(); } ov01_022044C8(substruct, -1, 0, 0); - ov01_022044B0(unkCC->unk0, substruct, AllocAndReadWholeNarcMemberByIdPair(0x8C, fileID, HEAP_ID_FIELD1), 0); + ov01_022044B0(unkCC->unk0, substruct, AllocAndReadWholeNarcMemberByIdPair(NARC_a_1_4_0, fileID, HEAP_ID_FIELD1), 0); unkCC->unk4 = substruct; } @@ -394,3 +391,100 @@ void ov01_02204688(FieldSystemUnkSubCC *unkCC, UnkStruct_FieldSysC0_SubC *unkC0_ void ov01_02204698(FieldSystemUnkSubCC *unkCC) { ov01_0220434C(unkCC->unk0); } + +static void ov01_022046A4(NNSFndAllocator *pAllocator, NNSG3dAnmObj **pAlloc, void *res) { + void *anim = NNS_G3dGetAnmByIdx(res, 0); + NNSG3dAnmObj *alloc = ov01_022046D4(pAllocator, anim); + *pAlloc = alloc; + ov01_02204728(alloc, anim); +} + +static int ov01_022046C8(ResAnim_4004 *anim) { // Returns some sort of size + return ((anim->numMapData * 2) + 0x1C) & ~3; +} + +static void *ov01_022046D4(NNSFndAllocator *pAllocator, ResAnim_4004 *anim) { + return NNS_FndAllocFromAllocator(pAllocator, ov01_022046C8(anim)); +} + +static void ov01_022046E8(NNSG3dAnmObj *alloc, ResAnim_4004 *anim) { + alloc->funcAnm = _02110A0C; // NNS_G3dFuncAnmMatNsBtaDefault + u8 numMapData = anim->numMapData; + alloc->numMapData = numMapData; + MIi_CpuClear16(0, alloc->mapData, numMapData * 2); + for (u32 i = 0; i < anim->numMapData; i++) { + alloc->mapData[i] = i | 0x100; + } +} + +static void ov01_02204728(NNSG3dAnmObj *alloc, ResAnim_4004 *anim) { + alloc->frame = 0; + alloc->resAnm = anim; + alloc->next = NULL; + alloc->priority = 0x7F; + alloc->ratio = 0x1000; + alloc->resTex = NULL; + ov01_022046E8(alloc, anim); +} + +FieldSystemUnkSub104 *ov01_02204744(enum HeapID heapID) { + FieldSystemUnkSub104 *unk104 = Heap_Alloc(heapID, sizeof(FieldSystemUnkSub104)); + MIi_CpuClearFast(0, (u32*)unk104, sizeof(FieldSystemUnkSub104)); + unk104->timeOfDay = GF_RTC_GetTimeOfDay(); + return unk104; +} + +void ov01_02204764(FieldSystemUnkSub104 *unk104) { + Heap_Free(unk104); +} + +void ov01_0220476C(FieldSystemUnkSub104 *unk104, UnkStruct_FieldSysC0_SubC *subC, FieldSystemUnkSubCC_Sub0_SubStruct **substruct, int arg3) { + if (unk104->unk4 < 4) { + if (unk104->unkSub[unk104->unk4].unk0) { + GF_AssertFail(); + } + if (arg3 > 4) { + GF_AssertFail(); + } + FieldSystemUnkSub104_Sub8 *unkSub = &unk104->unkSub[unk104->unk4]; + unkSub->unk0 = 1; + unkSub->unk4 = arg3; + if (arg3 > 4) { + unkSub->unk4 = 4; + } + for (u8 i = 0; i < unkSub->unk4; i++) { + unkSub->unk8[i] = substruct[i]; + } + unkSub->unk18 = subC; + unk104->unk4++; + } else { + GF_AssertFail(); + } +} + +static const u8 ov01_022095EC[5] = { + 0, // MORN + 1, // DAY + 2, // EVE + 3, // NIGHT + 3 // LATE +}; + +void ov01_022047DC(FieldSystemUnkSub104 *unk104) { + u8 currentTimeOfDay = (u8)GF_RTC_GetTimeOfDay(); + if (unk104->timeOfDay != currentTimeOfDay) { + u8 previousTimeOfDay = unk104->timeOfDay; + unk104->timeOfDay = (TIMEOFDAY)currentTimeOfDay; + for (int i = 0; i < 4; i++) { + if (unk104->unkSub[i].unk0 != 0) { + FieldSystemUnkSub104_Sub8* sub = &unk104->unkSub[i]; + ov01_02204518(sub->unk18, sub->unk8[ov01_022095EC[previousTimeOfDay]]); + ov01_0220450C(sub->unk18, sub->unk8[ov01_022095EC[currentTimeOfDay]]); + } + } + } +} + +u8 ov01_02204834(FieldSystemUnkSub104 *unk104) { + return ov01_022095EC[unk104->timeOfDay]; +} From 1d9cd7e3306eebccac432549147e213df8028c7e Mon Sep 17 00:00:00 2001 From: Pixelstyx Date: Sun, 26 Jul 2026 12:40:41 -0400 Subject: [PATCH 4/5] Address PR comment --- src/field/overlay_01_02204004.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/field/overlay_01_02204004.c b/src/field/overlay_01_02204004.c index edadbc3b52..7557aeec83 100644 --- a/src/field/overlay_01_02204004.c +++ b/src/field/overlay_01_02204004.c @@ -463,11 +463,11 @@ void ov01_0220476C(FieldSystemUnkSub104 *unk104, UnkStruct_FieldSysC0_SubC *subC } static const u8 ov01_022095EC[5] = { - 0, // MORN - 1, // DAY - 2, // EVE - 3, // NIGHT - 3 // LATE + [RTC_TIMEOFDAY_MORN] = 0, + [RTC_TIMEOFDAY_DAY] = 1, + [RTC_TIMEOFDAY_EVE] = 2, + [RTC_TIMEOFDAY_NITE] = 3, + [RTC_TIMEOFDAY_LATE] = 3 }; void ov01_022047DC(FieldSystemUnkSub104 *unk104) { From 5e0f98919181657913ee6b020efbe8f84df519b2 Mon Sep 17 00:00:00 2001 From: Pixelstyx Date: Wed, 29 Jul 2026 20:26:36 -0400 Subject: [PATCH 5/5] merge upstream --- .github/pull_request_template.md | 2 +- asm/include/overlay_01_021E6880.inc | 200 ---- asm/include/overlay_01_021E7FDC.inc | 53 - asm/include/overlay_01_021EB1E8.inc | 8 +- asm/include/overlay_01_021EFB38.inc | 8 +- asm/include/overlay_02.inc | 10 +- asm/include/overlay_03.inc | 342 ------ asm/include/overlay_108.inc | 14 +- asm/include/overlay_112.inc | 10 +- asm/include/overlay_12_0226ADE0.inc | 38 - asm/include/overlay_18.inc | 8 +- asm/include/overlay_27.inc | 8 +- asm/include/overlay_28.inc | 8 +- asm/include/overlay_29.inc | 8 +- asm/include/overlay_32.inc | 8 +- asm/include/overlay_34.inc | 8 +- asm/include/overlay_37.inc | 8 +- asm/include/overlay_41.inc | 8 +- asm/include/overlay_43.inc | 8 +- asm/include/overlay_44.inc | 667 ------------ asm/include/overlay_47.inc | 8 +- asm/include/overlay_48.inc | 8 +- asm/include/overlay_49.inc | 8 +- asm/include/overlay_65.inc | 8 +- asm/include/overlay_70.inc | 8 +- asm/include/overlay_72.inc | 8 +- asm/include/overlay_73.inc | 8 +- asm/include/overlay_74_thumb.inc | 10 +- asm/include/overlay_81.inc | 8 +- asm/include/overlay_82.inc | 8 +- asm/include/overlay_83.inc | 12 +- asm/include/overlay_85.inc | 8 +- asm/include/overlay_87.inc | 10 +- asm/include/overlay_90.inc | 8 +- asm/include/overlay_91.inc | 8 +- asm/include/overlay_96.inc | 10 +- asm/include/overlay_97.inc | 10 +- asm/include/overlay_trainer_card_main.inc | 8 +- .../overlay_trainer_card_signature.inc | 8 +- asm/include/render_window.inc | 16 +- asm/include/unk_02026E84.inc | 8 - asm/include/unk_020932E0.inc | 8 +- asm/include/unk_02097268.inc | 23 - asm/macros/script.inc | 2 +- asm/overlay_01_021E7FDC.s | 976 ------------------ asm/overlay_01_021EB1E8.s | 8 +- asm/overlay_01_021EFB38.s | 8 +- asm/overlay_02_02248728.s | 26 +- asm/overlay_108.s | 14 +- asm/overlay_112.s | 14 +- asm/overlay_18.s | 10 +- asm/overlay_27.s | 16 +- asm/overlay_28.s | 12 +- asm/overlay_29.s | 12 +- asm/overlay_32.s | 8 +- asm/overlay_34.s | 8 +- asm/overlay_37.s | 16 +- asm/overlay_41.s | 12 +- asm/overlay_43.s | 8 +- asm/overlay_44.s | 545 ---------- asm/overlay_47.s | 8 +- asm/overlay_48.s | 8 +- asm/overlay_49.s | 32 +- asm/overlay_65.s | 16 +- asm/overlay_70.s | 16 +- asm/overlay_72.s | 20 +- asm/overlay_73.s | 16 +- asm/overlay_74_thumb.s | 28 +- asm/overlay_81.s | 8 +- asm/overlay_82.s | 8 +- asm/overlay_83.s | 12 +- asm/overlay_85.s | 8 +- asm/overlay_87.s | 10 +- asm/overlay_90.s | 8 +- asm/overlay_91.s | 36 +- asm/overlay_96.s | 100 +- asm/overlay_97.s | 18 +- asm/overlay_trainer_card_main.s | 12 +- asm/overlay_trainer_card_signature.s | 16 +- asm/render_window.s | 19 +- asm/unk_020932E0.s | 8 +- .../script/scr_seq/scr_seq_0009_D02R0103.s | 2 +- .../script/scr_seq/scr_seq_0010_D02R0104.s | 2 +- .../script/scr_seq/scr_seq_0025_D22R0101.s | 6 +- .../script/scr_seq/scr_seq_0026_D22R0102.s | 6 +- .../script/scr_seq/scr_seq_0037_D24R0101.s | 8 +- .../script/scr_seq/scr_seq_0076_D32.s | 10 +- .../script/scr_seq/scr_seq_0081_D32R0102.s | 2 +- .../script/scr_seq/scr_seq_0092_D36R0101.s | 2 +- .../script/scr_seq/scr_seq_0111_D44R0102.s | 2 +- .../script/scr_seq/scr_seq_0116_D47.s | 2 +- .../script/scr_seq/scr_seq_0122_D49.s | 2 +- .../script/scr_seq/scr_seq_0130_D51R0101.s | 2 +- .../script/scr_seq/scr_seq_0170_R02R0101.s | 2 +- .../script/scr_seq/scr_seq_0175_R03.s | 2 +- .../script/scr_seq/scr_seq_0178_R04.s | 2 +- .../script/scr_seq/scr_seq_0179_R05.s | 2 +- .../script/scr_seq/scr_seq_0184_R06.s | 2 +- .../script/scr_seq/scr_seq_0186_R07.s | 2 +- .../script/scr_seq/scr_seq_0188_R08.s | 2 +- .../script/scr_seq/scr_seq_0191_R10.s | 4 +- .../script/scr_seq/scr_seq_0197_R11.s | 2 +- .../script/scr_seq/scr_seq_0199_R12.s | 2 +- .../script/scr_seq/scr_seq_0201_R13.s | 2 +- .../script/scr_seq/scr_seq_0205_R16.s | 2 +- .../script/scr_seq/scr_seq_0212_R22.s | 2 +- .../script/scr_seq/scr_seq_0216_R25.s | 2 +- .../script/scr_seq/scr_seq_0218_R26.s | 2 +- .../script/scr_seq/scr_seq_0221_R27.s | 2 +- .../script/scr_seq/scr_seq_0227_R30.s | 4 +- .../script/scr_seq/scr_seq_0230_R31.s | 2 +- .../script/scr_seq/scr_seq_0237_R34.s | 4 +- .../script/scr_seq/scr_seq_0243_R36.s | 6 +- .../script/scr_seq/scr_seq_0246_R37.s | 2 +- .../script/scr_seq/scr_seq_0247_R38.s | 2 +- .../script/scr_seq/scr_seq_0249_R39.s | 4 +- .../script/scr_seq/scr_seq_0252_R42.s | 4 +- .../script/scr_seq/scr_seq_0254_R43.s | 2 +- .../script/scr_seq/scr_seq_0257_R44.s | 2 +- .../script/scr_seq/scr_seq_0258_R45.s | 2 +- .../script/scr_seq/scr_seq_0259_R46.s | 2 +- .../script/scr_seq/scr_seq_0735_T01.s | 6 +- .../script/scr_seq/scr_seq_0741_T02.s | 6 +- .../script/scr_seq/scr_seq_0750_T03.s | 4 +- .../script/scr_seq/scr_seq_0758_T04.s | 6 +- .../script/scr_seq/scr_seq_0767_T05.s | 6 +- .../script/scr_seq/scr_seq_0776_T06.s | 6 +- .../script/scr_seq/scr_seq_0785_T07.s | 10 +- .../script/scr_seq/scr_seq_0807_T08.s | 6 +- .../script/scr_seq/scr_seq_0815_T09.s | 2 +- .../script/scr_seq/scr_seq_0818_T10.s | 2 +- .../script/scr_seq/scr_seq_0827_T11.s | 10 +- .../script/scr_seq/scr_seq_0842_T20.s | 6 +- .../script/scr_seq/scr_seq_0850_T21.s | 2 +- .../script/scr_seq/scr_seq_0857_T22.s | 6 +- .../script/scr_seq/scr_seq_0866_T23.s | 8 +- .../script/scr_seq/scr_seq_0875_T24.s | 8 +- .../script/scr_seq/scr_seq_0885_T25.s | 20 +- .../script/scr_seq/scr_seq_0911_T26.s | 6 +- .../script/scr_seq/scr_seq_0920_T27.s | 8 +- .../script/scr_seq/scr_seq_0930_T28.s | 4 +- .../script/scr_seq/scr_seq_0938_T29.s | 6 +- .../script/scr_seq/scr_seq_0941_T30.s | 8 +- .../script/scr_seq/scr_seq_0949_T31.s | 2 +- .../script/scr_seq/scr_seq_0958_W19.s | 2 +- .../script/scr_seq/scr_seq_0960_W20.s | 4 +- .../script/scr_seq/scr_seq_0962_W40.s | 2 +- include/battle/battle_input.h | 2 +- include/constants/comm_type.h | 80 +- include/constants/field_poison.h | 6 +- include/constants/game_stats.h | 26 +- include/constants/player_avatar.h | 6 +- include/constants/pokemon.h | 2 +- include/dwcaccount.h | 2 +- include/field/field_sprite_manager.h | 32 + include/field/ov01_021E7FDC.h | 34 - include/field_system.h | 28 +- include/frontier/overlay_80_02229EE0.h | 2 + include/gymmick.h | 2 + include/library/spl_texture.h | 2 + include/overlay_00_thumb.h | 2 +- include/overlay_01_021E90C0.h | 1 + include/overlay_01_021F467C.h | 2 + include/overlay_01_021FB4C0.h | 2 + include/overlay_01_021FB5D4.h | 2 + include/overlay_01_02204ED8.h | 2 + include/overlay_03.h | 8 +- include/overlay_13_arm_2.h | 2 + include/overlay_2/overlay_02_02248728.h | 2 +- include/overlay_42.h | 29 +- include/overlay_44.h | 8 +- include/overlay_44_02232E9C.h | 20 +- include/overlay_manager.h | 1 - include/overlay_trainer_card_main.h | 2 + include/overlay_trainer_card_signature.h | 2 + include/pm_version.h | 2 + include/save_link_ruleset.h | 2 +- include/scrcmd.h | 2 +- include/sound_radio.h | 2 + include/sprite_system.h | 18 +- include/sprite_transfer.h | 29 + include/text_0205B4EC.h | 1 + include/timer_3.h | 2 + include/unk_02005D10.h | 2 + include/unk_0200ACF0.h | 29 - include/unk_02013534.h | 2 +- include/unk_02020B8C.h | 2 + include/unk_020210A0.h | 2 + include/unk_0202C034.h | 8 +- include/unk_0202E41C.h | 2 + include/unk_02031B0C.h | 1 + include/unk_02032844.h | 2 + include/unk_02033AE0.h | 4 +- include/unk_02034B0C.h | 2 + include/unk_02035900.h | 1 + include/unk_020379A0.h | 2 +- include/unk_02037C94.h | 6 +- include/unk_0203DB6C.h | 2 +- include/unk_02054648.h | 3 +- include/unk_0205BFF0.h | 2 + include/unk_020689C8.h | 2 + include/unk_02078834.h | 1 + include/unk_02092B04.h | 1 + include/unk_02097024.h | 2 + main.lsf | 38 +- src/alph_puzzle.c | 18 +- .../pokegear/main/overlay_100_021E6914.c | 94 +- src/application/pokegear/map/fly_map.c | 1 + src/application/pokegear/map/pokegear_map.c | 2 +- .../pokegear/phone/overlay_101_021F0F48.c | 2 +- .../pokegear/phone/phone_script_defs.c | 2 +- src/application/view_photo.c | 104 +- src/application/view_rankings.c | 12 +- src/battle/battle_022378C0.c | 1 + src/battle/battle_command.c | 2 +- src/battle/battle_input.c | 111 +- src/battle/battle_setup.c | 2 +- src/battle/overlay_12_0224E4FC.c | 2 +- src/battle/party_gauge.c | 2 +- src/battle_arcade_game_board.c | 12 +- src/berry_pots_app.c | 18 +- src/bg_window.c | 34 +- src/camera_translation.c | 2 +- src/certificates_app.c | 2 +- src/choose_starter_app.c | 12 +- src/credits/credits.c | 20 +- src/data/fieldmap/script_cmd_table.h | 6 +- src/encounter.c | 6 +- src/field/encounter_check.c | 1 + src/field/event_cutscene_sinjoh.c | 10 +- src/field/field_control.c | 276 ++--- src/field/field_sprite_manager.c | 259 +++++ src/field/scrcmd_pokemon_misc.c | 2 +- src/field_bgm.c | 3 +- src/field_system.c | 3 +- src/fieldmap.c | 2 +- src/get_egg.c | 2 +- src/intro_movie_scene_1.c | 10 +- src/intro_movie_scene_2.c | 10 +- src/intro_movie_scene_3.c | 10 +- src/intro_movie_scene_4.c | 10 +- src/link_ruleset_data.c | 1 + src/list_menu_items.c | 2 +- src/main.c | 4 +- src/map_object.c | 2 +- src/metatile_behavior.c | 474 ++++----- src/naming_screen.c | 18 +- src/oaks_speech_obj.c | 18 +- src/options_app.c | 18 +- src/overlay_03/battle_regulation_menu.c | 177 ++-- src/overlay_03/communication_club.c | 296 +++--- src/overlay_03/custom_safari_zone.c | 11 +- src/overlay_03/overlay_03_scrcmds.c | 48 +- src/overlay_03/pokeathlon_records.c | 16 +- src/overlay_03/shop_menu.c | 809 +++++++-------- src/overlay_16_02201948.c | 3 +- src/overlay_25.c | 120 ++- src/overlay_42_02227D30.c | 63 +- src/overlay_42_02227EE0.c | 8 +- src/overlay_42_02227F68.c | 2 +- src/overlay_42_02233EDC.c | 35 +- src/overlay_44_0222CDAC.c | 611 ++++++----- ...ay_44_02232E9C.c => overlay_44_02231A14.c} | 175 +--- src/overlay_44_02232E90.c | 29 + src/overlay_44_02235340.c | 236 +++-- src/overlay_manager.c | 2 +- src/party_menu.c | 7 +- src/party_menu_sprites.c | 18 +- src/poke_overlay.c | 2 - src/save.c | 2 +- src/scrcmd_c.c | 4 +- src/scrcmd_party.c | 1 + src/sprite_system.c | 58 +- src/{unk_0200ACF0.c => sprite_transfer.c} | 56 +- src/start_menu.c | 12 +- src/string_util.c | 2 +- src/system.c | 2 +- src/unk_02009D48.c | 6 +- src/unk_02054E00.c | 3 +- src/unk_020971F8.c | 5 +- src/voltorb_flip/voltorb_flip_input.c | 6 +- tools/py_scripts/scrcmd.json | 2 +- 282 files changed, 3313 insertions(+), 5616 deletions(-) delete mode 100644 asm/include/overlay_01_021E6880.inc delete mode 100644 asm/include/overlay_01_021E7FDC.inc delete mode 100644 asm/include/overlay_03.inc delete mode 100644 asm/include/overlay_12_0226ADE0.inc delete mode 100644 asm/include/overlay_44.inc delete mode 100644 asm/include/unk_02026E84.inc delete mode 100644 asm/include/unk_02097268.inc delete mode 100644 asm/overlay_01_021E7FDC.s delete mode 100644 asm/overlay_44.s create mode 100644 include/field/field_sprite_manager.h delete mode 100644 include/field/ov01_021E7FDC.h create mode 100644 include/sprite_transfer.h delete mode 100644 include/unk_0200ACF0.h create mode 100644 src/field/field_sprite_manager.c rename src/{overlay_44_02232E9C.c => overlay_44_02231A14.c} (81%) create mode 100644 src/overlay_44_02232E90.c rename src/{unk_0200ACF0.c => sprite_transfer.c} (73%) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 422f73cb10..7eacdc926b 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -6,6 +6,6 @@ - [ ] The ROM compiles to matching locally (`make compare_heartgold && make compare_soulsilver`). - [ ] All C code is correctly formatted (`git clang-format`). - [ ] This pull request is labeled according to the kind of work it represents. -- [ ] New or updated code labels follow the [style guide]() +- [ ] New or updated code labels follow the [style guide](https://docs.google.com/document/d/17D62q1v4dcBmet8T8uYoTAP_0IdGTci0-3p0fPcf-a8/edit) - [ ] This work adheres to the [AI policy](CONTRIBUTING.md#ai-policy). - [ ] The author has joined the [pret discord server](https://discord.gg/d5dubZ3) and sent a message in #pokeheartgold to verify that they are human diff --git a/asm/include/overlay_01_021E6880.inc b/asm/include/overlay_01_021E6880.inc deleted file mode 100644 index c1ed21ea9c..0000000000 --- a/asm/include/overlay_01_021E6880.inc +++ /dev/null @@ -1,200 +0,0 @@ -#include -#pragma once -.public GF_SndHandleMoveVolume -.public PlaySE -.public sub_02006088 -.public StopSE -.public MenuInputStateMgr_SetState -.public GF_AssertFail -.public Save_PlayerData_GetProfile -.public PlayerProfile_TestBadgeFlag -.public Save_Daycare_Get -.public Save_GameStats_Get -.public GameStats_Inc -.public GameStats_GetCapped -.public GameStats_AddScore -.public SaveData_GetPhoneCallPersistentState -.public PhoneCallPersistentState_CheckCallTriggerFlag -.public Save_SafariZone_Get -.public sub_0202F620 -.public Save_ApricornBox_Get -.public sub_02032058 -.public sub_02033250 -.public sub_02034818 -.public sub_02037454 -.public sub_0203769C -.public sub_02037958 -.public sub_020380B0 -.public sub_020380CC -.public GetMapModelNo -.public MapHeader_HasWildEncounters -.public MapHeader_GetMapSec -.public MapHeader_MapIsOnMainMatrix -.public Field_GetBgEvents -.public Field_GetNumBgEvents -.public Field_GetWarpEventI -.public Field_GetWarpEventAtXYPos -.public Field_GetNumCoordEvents -.public Field_GetCoordEvents -.public LocalFieldData_GetCurrentPosition -.public LocalFieldData_GetEntrancePosition -.public LocalFieldData_GetSpecialSpawnWarpPtr -.public LocalFieldData_GetDynamicWarp -.public LocalFieldData_GetSafariBallsCounter -.public LocalFieldData_GetPoisonStepCounter -.public Save_LocalFieldData_Get -.public FieldSystem_MapIsNotMysteryZone -.public StartMenu_Init -.public sub_0203BCDC -.public sub_0203BD20 -.public FieldSystem_ShouldDrawStartMenuIcon -.public sub_0203DC64 -.public GetInteractedBackgroundEventScript -.public sub_0203DDA4 -.public sub_0203DE04 -.public StartMapSceneScript -.public TryStartMapScriptByType -.public Save_VarsFlags_Get -.public Save_VarsFlags_CheckFlagInArray -.public sub_020511F8 -.public sub_02053E08 -.public sub_02053F14 -.public GetIdxOfFirstPartyMonWithMove -.public HasEnoughAlivePokemonForDoubleBattle -.public ApplyPoisonStep -.public sub_02054874 -.public sub_020548C0 -.public GetMetatileBehavior -.public MapModel_IsHeadbuttTree -.public MapCoordToMatrixIndex -.public CatchingShow_CheckWildEncounter -.public CatchingShow_GetBattleDataTransfer -.public NewFieldTransitionEnvironment -.public sub_02055CD8 -.public sub_02057F18 -.public sub_02058740 -.public sub_02059D44 -.public sub_0205A904 -.public sub_0205B70C -.public sub_0205B718 -.public sub_0205B724 -.public sub_0205B730 -.public sub_0205B73C -.public sub_0205B748 -.public sub_0205B754 -.public sub_0205B760 -.public sub_0205B76C -.public sub_0205B78C -.public sub_0205B7E0 -.public MetatileBehavior_IsTownMap -.public sub_0205B7F8 -.public sub_0205B804 -.public sub_0205B810 -.public sub_0205B81C -.public sub_0205B84C -.public sub_0205B858 -.public sub_0205B864 -.public sub_0205B870 -.public sub_0205B87C -.public sub_0205B888 -.public sub_0205B894 -.public sub_0205B8A0 -.public MetatileBehavior_IsWaterfall -.public MetatileBehavior_IsWhirlpool -.public sub_0205B9AC -.public sub_0205BA18 -.public sub_0205BAA0 -.public sub_0205BAAC -.public sub_0205BAB8 -.public sub_0205BAEC -.public MetatileBehavior_IsHeadbutt -.public PlayerAvatar_GetFacingDirection -.public PlayerAvatar_GetXCoord -.public PlayerAvatar_GetZCoord -.public PlayerAvatar_GetUnk10 -.public PlayerAvatar_GetUnk14 -.public PlayerAvatar_GetMapObject -.public PlayerAvatar_GetState -.public FieldSystem_GetPlayerAvatar -.public PlayerAvatar_CheckForcedMovement -.public PlayerAvatar_CheckRunningShoesLock -.public sub_0205CF44 -.public sub_0205CF60 -.public sub_0205CFBC -.public sub_0205DD94 -.public MapObject_GetMovement -.public MapObject_GetType -.public MapObject_GetScriptID -.public sub_0205F504 -.public MapObjectManager_PauseAllMovement -.public MapObject_UnpauseMovement -.public TryGetSeenByNpcTrainers -.public UseRegisteredItemButtonInField -.public Save_VarsFlags_CheckHaveFollower -.public ClearFlag965 -.public Save_VarsFlags_CheckSafariSysFlag -.public Save_VarsFlags_CheckBugContestFlag -.public Save_VarsFlags_CheckPalParkSysFlag -.public StrengthFlagAction -.public CheckDisabledCianwoodWaterfall -.public CheckSolvedLtSurgeGym -.public CheckBattledSnorlax -.public CheckBattledRedGyarados -.public Save_VarsFlags_GetVar404B -.public Save_VarsFlags_SetVar404B -.public FieldSystem_IsSaveGymmickTypeEqualTo -.public FollowMon_GetMapObject -.public FollowMon_IsActive -.public FollowMon_IsVisible -.public FieldSystem_UnkSub108_MoveMoodTowardsNeutral -.public HandleDaycareStep -.public FieldSystem_BugContest_Get -.public MonApplyFriendshipMod -.public Party_GetCount -.public Party_GetMonByIndex -.public SaveArray_Party_Get -.public FieldSystem_GetGearPhoneRingManager -.public sub_02092E14 -.public ov01_021E5924 -.public ov01_021E5BE4 -.public ov01_021E5C24 -.public FieldInput_Update -.public FieldInput_Process -.public FieldInput_Process_Colosseum -.public FieldInput_Process_UnionRoom -.public FieldInput_Process_BattleTower -.public ov01_021E7F00 -.public ov01_021E7F54 -.public FieldSystem_FacingModelIsHeadbuttTree -.public ov01_021F1D94 -.public Field_PlayerCanSurfOnTile -.public MetatileBehavior_IsRockClimbInDirection -.public ov01_021F3114 -.public ov01_021F6830 -.public ov01_021F6A9C -.public ov01_021F6B00 -.public ov01_021F6B10 -.public ov01_021F6B64 -.public ov01_021FB630 -.public ov01_02206378 -.public FieldSystem_PerformLandOrSurfEncounterCheck -.public PlayerStepEvent_RepelCounterDecrement -.public ov02_0224E35C -.public ov02_0224E4CC -.public ov02_0224E4DC -.public ov02_02251F20 -.public ov02_02252334 -.public ov04_02255090 -.public ov04_02256BE4 -.public ov01_021E6880 -.public ov01_021E690C -.public ov01_021F6B64_thunk -.public ov01_021E6ED8 -.public PlayerAvatar_GetStandingTileCoords -.public PlayerAvatar_GetFacingTileCoords -.public ShiftFieldCoordsByCompassDirection -.public ov01_021E7B90 -.public ov01_021E7C28 -.public ov01_021E7D00 -.public ov01_021E7D58 -.public ov01_021E7DFC \ No newline at end of file diff --git a/asm/include/overlay_01_021E7FDC.inc b/asm/include/overlay_01_021E7FDC.inc deleted file mode 100644 index bfc6d6f3ea..0000000000 --- a/asm/include/overlay_01_021E7FDC.inc +++ /dev/null @@ -1,53 +0,0 @@ -#include -#pragma once -.public NARC_New -.public NARC_Delete -.public GfGfxLoader_LoadFromOpenNarc -.public CreateSpriteResourcesHeader -.public SpriteResourceHeaderList_Create -.public SpriteResourceHeaderList_Destroy -.public G2dRenderer_Init -.public Create2DGfxResObjMan -.public Destroy2DGfxResObjMan -.public AddCharResObjFromNarc -.public AddPlttResObjFromNarc -.public AddCellOrAnimResObjFromNarc -.public LoadAll2DGfxResObjsFromHeader -.public Create2DGfxResObjList -.public Delete2DGfxResObjList -.public GF2DGfxResObjExistsById -.public GF2DGfxResHeader_sizeof -.public GF2DGfxResHeader_GetByIndex -.public GF2DGfxResHeader_Init -.public GF2DGfxResHeader_Reset -.public GF2dGfxResHeader_GetNumObjects -.public sub_0200ADA4 -.public sub_0200ADE4 -.public sub_0200AED4 -.public sub_0200B00C -.public sub_0200B050 -.public sub_0200B0CC -.public SpriteTransfer_GetPlttOffset -.public Heap_Alloc -.public Heap_Free -.public SpriteList_Delete -.public Sprite_CreateAffine -.public Sprite_SetAnimCtrlSeq -.public Sprite_SetPaletteOverride -.public Sprite_SetPalIndexRespectVramOffset -.public Sprite_GetPalIndex -.public GF_AssertFail -.public _fadd -.public _ffix -.public _fflt -.public _fsub -.public UnkFieldSpriteRenderer_ov01_021E7FDC_Init -.public UnkFieldSpriteRenderer_ov01_021E7FDC_Release -.public ov01_021E81F0 -.public ov01_021E8298 -.public ov01_021E8378 -.public ov01_021E83F0 -.public ov01_021E8404 -.public ov01_021E8418 -.public ov01_021E851C -.public ov01_021E86F4 diff --git a/asm/include/overlay_01_021EB1E8.inc b/asm/include/overlay_01_021EB1E8.inc index 910fb2bff1..fd45fdf2fd 100644 --- a/asm/include/overlay_01_021EB1E8.inc +++ b/asm/include/overlay_01_021EB1E8.inc @@ -24,10 +24,10 @@ .public GF2DGfxResHeader_GetCompressFlagByIndex .public GF2DGfxResHeader_GetExDat0ByIndex .public GF2DGfxResHeader_GetExDat1ByIndex -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public sub_0200B27C .public SysTask_CreateOnMainQueue .public SysTask_Destroy diff --git a/asm/include/overlay_01_021EFB38.inc b/asm/include/overlay_01_021EFB38.inc index da134b5bb1..6fee2c2eb5 100644 --- a/asm/include/overlay_01_021EFB38.inc +++ b/asm/include/overlay_01_021EFB38.inc @@ -19,10 +19,10 @@ .public AddCellOrAnimResObjFromOpenNarc .public sub_0200A740 .public DestroySingle2DGfxResObj -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public SysTask_CreateOnMainQueue .public SysTask_CreateOnVBlankQueue .public SysTask_CreateOnVWaitQueue diff --git a/asm/include/overlay_02.inc b/asm/include/overlay_02.inc index 65967396a6..053d85f8a3 100644 --- a/asm/include/overlay_02.inc +++ b/asm/include/overlay_02.inc @@ -36,11 +36,11 @@ .public sub_0200A740 .public DestroySingle2DGfxResObj .public SpriteResourceCollection_Find -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200AF00 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_GetCharProxy +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public SpriteTransfer_GetPaletteProxy .public NewMsgDataFromNarc .public DestroyMsgData diff --git a/asm/include/overlay_03.inc b/asm/include/overlay_03.inc deleted file mode 100644 index bbe1a25b95..0000000000 --- a/asm/include/overlay_03.inc +++ /dev/null @@ -1,342 +0,0 @@ -#include -#pragma once -.public ListMenuInit -.public ListMenu_ProcessInput -.public DestroyListMenu -.public RedrawListMenu -.public ListMenuGetCurrentItemArrayId -.public ListMenuGetScrollAndRow -.public ListMenuGetTemplateField -.public TextFlags_SetCanABSpeedUpPrint -.public TextFlags_SetAutoScrollParam -.public TextFlags_SetCanTouchSpeedUpPrint -.public FontID_String_GetWidth -.public PlaySE -.public GfGfxLoader_LoadCharData -.public GfGfxLoader_LoadScrnData -.public GfGfxLoader_GXLoadPal -.public ReplaceCharResObjFromNarc -.public ReplacePlttResObjFromNarc -.public SpriteResourceCollection_Find -.public sub_0200AE8C -.public sub_0200B084 -.public NewMsgDataFromNarc -.public DestroyMsgData -.public ReadMsgDataIntoString -.public NewString_ReadMsgData -.public MessageFormat_New -.public MessageFormat_New_Custom -.public MessageFormat_Delete -.public BufferString -.public BufferPlayersName -.public BufferIntegerAsString -.public BufferSafariZoneObjectName -.public StringExpandPlaceholders -.public thunk_Sprite_SetPaletteOverride -.public Sprite_SetPositionXY -.public SysTask_CreateOnMainQueue -.public SysTask_Destroy -.public LoadUserFrameGfx1 -.public DrawFrameAndWindow1 -.public sub_0200E5D4 -.public LoadUserFrameGfx2 -.public ClearFrameAndWindow2 -.public IsPaletteFadeFinished -.public ListMenuItems_New -.public ListMenuItems_Delete -.public ListMenuItems_AppendFromMsgData -.public ListMenuItems_AddItem -.public MenuInputStateMgr_SetState -.public Heap_Alloc -.public Heap_AllocAtEnd -.public Heap_Free -.public SetBgPriority -.public FillBgTilemapRect -.public BgFillTilemapBufferAndSchedule -.public GetBgPriority -.public InitWindow -.public WindowIsInUse -.public AddWindowParameterized -.public AddWindow -.public RemoveWindow -.public CopyWindowToVram -.public ScheduleWindowCopyToVram -.public ClearWindowTilemapAndCopyToVram -.public ClearWindowTilemapAndScheduleTransfer -.public FillWindowPixelBuffer -.public FillWindowPixelRect -.public GetWindowWidth -.public ScheduleBgTilemapBufferTransfer -.public RemoveTextPrinter -.public AddTextPrinterParameterized -.public AddTextPrinterParameterizedWithColor -.public GfGfx_EngineATogglePlanes -.public GfGfx_EngineASetPlanes -.public GfGfx_EngineBTogglePlanes -.public GfGfx_EngineAGetPlanes -.public Camera_New -.public Camera_Delete -.public Camera_Copy -.public Camera_SetStaticPtr -.public SpriteList_RenderAndAnimateSprites -.public Sprite_Delete -.public Sprite_SetMatrix -.public Sprite_SetDrawFlag -.public Sprite_SetAnimActiveFlag -.public Sprite_GetDrawFlag -.public Sprite_SetAnimCtrlSeq -.public Sprite_UpdateAnim -.public Sprite_SetAnimationFrame -.public Sprite_SetPriority -.public Sprite_IsAnimated -.public System_GetTouchNew -.public GF_AssertFail -.public String_New -.public String_Delete -.public String16_FormatInteger -.public Save_PlayerData_GetProfile -.public Save_PlayerData_GetOptionsAddr -.public Save_PlayerData_GetIGTAddr -.public PlayerProfile_New -.public PlayerProfile_GetTrainerID -.public PlayerProfile_GetTrainerID_VisibleHalf -.public PlayerProfile_GetTrainerGender -.public PlayerProfile_GetMoney -.public PlayerProfile_SubMoney -.public LinkBattleRuleset_GetRuleValue -.public Save_LinkBattleRuleset_GetByIndex -.public sub_020291E8 -.public sub_0202921C -.public Options_GetFrame -.public Save_SealCase_Get -.public GiveOrTakeSeal -.public SealCase_CheckSealQuantity -.public SealCase_CountSealOccurrenceAnywhere -.public Save_GameStats_Get -.public GameStats_Inc -.public GameStats_Add -.public Save_SafariZone_Get -.public SafariZone_GetAreaSet -.public SafariZone_SetAreaSet -.public sub_0202F784 -.public SafariZone_SetLinkLeaderFromProfile -.public SafariZone_RemoveObjectFromArea -.public Save_Pokeathlon_Get -.public PokeathlonSave_GetUnkB00 -.public PokeathlonSave_SubAthletePoints -.public PokeathlonSave_GetAthletePoints -.public PokeathlonSave_GetUnkB78_AtIndex -.public PokeathlonSave_SetUnkB78_AtIndex -.public PokeathlonSave_GetUnkB7C_AtIndex -.public PokeathlonSave_SetUnkB7C_AtIndex -.public Save_ApricornBox_Get -.public ApricornBox_GiveApricorn -.public ApricornBox_CountApricorn -.public sub_0203410C -.public sub_02034434 -.public sub_020346E8 -.public sub_02034714 -.public sub_0203476C -.public sub_02034780 -.public sub_020347A0 -.public sub_02034818 -.public sub_020348F0 -.public sub_0203511C -.public sub_02035150 -.public sub_02035184 -.public sub_02035198 -.public sub_020351DC -.public sub_020356C0 -.public sub_020373B4 -.public sub_02037454 -.public sub_0203769C -.public sub_020376D4 -.public sub_02037700 -.public sub_0203774C -.public sub_0203775C -.public sub_02037A10 -.public sub_02037AC0 -.public sub_02037B38 -.public sub_02037B8C -.public sub_02037BA0 -.public sub_02037BC8 -.public sub_02037EC0 -.public sub_020398D4 -.public MapHeader_GetMapSec -.public FieldSystem_GetSaveData -.public Bag_LaunchApp -.public SafariAreaCustomizer_LaunchApp -.public SetupNativeScript -.public ScriptReadHalfword -.public FieldSysGetAttrAddr -.public GetVarPointer -.public FieldSystem_VarGet -.public ScrNative_WaitApplication_DestroyTaskData -.public Save_VarsFlags_Get -.public TaskManager_Jump -.public TaskManager_Call -.public TaskManager_GetFieldSystem -.public TaskManager_GetEnvironment -.public sub_020580E4 -.public sub_02058164 -.public sub_02058180 -.public sub_02058284 -.public sub_0205B514 -.public sub_0205B564 -.public sub_0205B5A8 -.public sub_0205B5B4 -.public IsPrintFinished -.public PlayerAvatar_GetFacingDirection -.public PlayerAvatar_GetXCoord -.public PlayerAvatar_GetZCoord -.public GetDeltaXByFacingDirection -.public GetDeltaYByFacingDirection -.public sub_020669B4 -.public CheckFlag09A -.public sub_02066D80 -.public GetMonData -.public Party_GetCount -.public Party_GetMonByIndex -.public SaveArray_Party_Get -.public PokedexData_CreateAndLoad -.public PokedexData_UnloadAndDelete -.public sub_02074CD0 -.public sub_0207789C -.public GetItemIndexMapping -.public GetItemDescIntoString -.public GetItemAttr -.public Bag_HasSpaceForItem -.public Bag_AddItem -.public Bag_GetQuantity -.public Bag_CreateView -.public Save_Bag_Get -.public sub_020881C0 -.public sub_020910B8 -.public sub_02092B04 -.public GetSafariObjectConfig -.public sub_02097720 -.public MI_CpuFill8 -.public abs -.public memset -.public _s32_div_f -.public _u32_div_f -.public gSystem -.public ov01_021E636C -.public UnkFieldSpriteRenderer_ov01_021E7FDC_Init -.public UnkFieldSpriteRenderer_ov01_021E7FDC_Release -.public ov01_021E81F0 -.public ov01_021E8970 -.public ov01_021F3B0C -.public ov01_021F3B2C -.public ov01_021F3B30 -.public ov01_021F3B44 -.public ov01_021F630C -.public ov01_021F6320 -.public ov01_021F65E4 -.public ov01_021F65F0 -.public ov01_021F6A9C -.public ov01_021F6ABC -.public ov01_021F6AEC -.public ov01_021F6B00 -.public ov01_021F6B10 -.public Field3dObjectList_GetRenderObjectByID -.public ov02_0224E698 -.public ov02_0224E754 -.public ov03_02253E20 -.public ov03_02253ED0 -.public ov03_02253F74 -.public Unk03_Delete -.public ov03_022540E8 -.public ov03_02254100 -.public ov03_02254120 -.public ov03_022542C8 -.public ov03_022543AC -.public ov03_02254420 -.public ov03_02254A54 -.public ov03_02254B44 -.public ov03_02254B2C -.public ov03_02254B4C -.public ov03_02254B58 -.public ov03_02254BEC -.public ov03_02254C9C -.public ov03_02254D24 -.public ov03_02254D64 -.public ov03_02254E70 -.public ov03_02255078 -.public ov03_0225530C -.public ov03_022553C8 -.public ov03_022554E0 -.public ov03_0225554C -.public ov03_0225558C -.public ov03_022555F4 -.public ov03_02255714 -.public ov03_0225574C -.public ov03_02255A00 -.public ov03_02255B44 -.public ov03_02255B70 -.public ov03_02255B84 -.public ov03_02255BB0 -.public ov03_02255BEC -.public ov03_02255BFC -.public ov03_02255C18 -.public ov03_02255C54 -.public ov03_02255C64 -.public ov03_02255C80 -.public BattleRegulationMenu_PrintMessage -.public BattleRegulationMenu_RemoveMsgBox -.public BattleRegulationMenu_GetRegulationName -.public BattleRegulationMenu_ShowListMenuRegulations -.public BattleRegulationMenu_RemoveListMenuRegulations -.public BattleRegulationMenu_ProcessListMenuInputRegulations -.public BattleRegulationMenu_ShowListMenuConfirm -.public BattleRegulationMenu_ProcessListMenuInputConfirm -.public BattleRegulationMenu_ShowRules -.public BattleRegulationMenu_RemoveRulesWindow -.public BattleRegulationMenu_HandleValidationResult -.public Task_BattleRegulationMenu -.public BattleRegulationMenu_New -.public StartTask_BattleRegulationMenu -.public ov03_022566D0 -.public ov03_02256710 -.public ov03_02256730 -.public ov03_02256A2C -.public ov03_02256B40 -.public ov03_02256BEC -.public ov03_02256C84 -.public ov03_02256C2C -.public ov03_02256CB4 -.public Mart_Alloc -.public Mart_InitUI -.public Task_Mart -.public ov03_02257184 -.public ov03_022571AC -.public ov03_02257378 -.public ov03_022573D4 -.public ov03_02257758 -.public ov03_02257814 -.public ov03_02257978 -.public MartData_SubCurrency -.public MartData_Inventory_AddApricornOrItem -.public MartData_PerformTransaction -.public ov03_02258120 -.public ov03_022581BC -.public ov03_02258810 -.public ov03_02258814 -.public ov03_02258828 -.public ov03_02258830 -.public ov03_0225884C -.public ov03_02258910 -.public ov03_02258CFC -.public ov03_02258ECC -.public ov03_02259184 -.public ov03_022591D6 -.public ov03_02259228 -.public ov03_0225927A -.public ov03_022592CC -.public ov03_0225931E -.public ov03_02259370 -.public ov03_022593C2 -.public ov03_0225943C -.public ov03_02259808 -.public ov03_02259838 -.public ov03_022598A0 diff --git a/asm/include/overlay_108.inc b/asm/include/overlay_108.inc index 574d222e50..9294858e0c 100644 --- a/asm/include/overlay_108.inc +++ b/asm/include/overlay_108.inc @@ -29,13 +29,13 @@ .public ReplaceCharResObjFromNarc .public Create2DGfxResObjList .public Delete2DGfxResObjList -.public sub_0200AD64 -.public sub_0200ADA4 -.public sub_0200AE18 -.public sub_0200AE8C -.public sub_0200AED4 -.public sub_0200B00C -.public sub_0200B0CC +.public SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd +.public SpriteTransfer_ReplaceCharData +.public SpriteTransfer_DeleteAllCharTransferTasks +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeleteAllPlttTransferTasks .public thunk_ClearMainOAM .public thunk_ClearSubOAM .public NewMsgDataFromNarc diff --git a/asm/include/overlay_112.inc b/asm/include/overlay_112.inc index 111b6e6fc9..8981188925 100644 --- a/asm/include/overlay_112.inc +++ b/asm/include/overlay_112.inc @@ -46,11 +46,11 @@ .public AddCharResObjFromNarc .public AddPlttResObjFromNarc .public AddCellOrAnimResObjFromNarc -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200AF00 -.public sub_0200AF94 -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_GetCharProxy +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public SpriteTransfer_GetPaletteProxy .public OamManager_Create .public OamManager_Free diff --git a/asm/include/overlay_12_0226ADE0.inc b/asm/include/overlay_12_0226ADE0.inc deleted file mode 100644 index b95d2b2fe0..0000000000 --- a/asm/include/overlay_12_0226ADE0.inc +++ /dev/null @@ -1,38 +0,0 @@ -#include -#pragma once -.public PlaySE -.public NARC_New -.public NARC_Delete -.public SpriteSystem_LoadCharResObjFromOpenNarc -.public SpriteSystem_LoadPaletteBufferFromOpenNarc -.public SpriteSystem_LoadCellResObjFromOpenNarc -.public SpriteSystem_LoadAnimResObjFromOpenNarc -.public SpriteSystem_NewSprite -.public SpriteManager_UnloadCharObjById -.public SpriteManager_UnloadPlttObjById -.public SpriteManager_UnloadCellObjById -.public SpriteManager_UnloadAnimObjById -.public Sprite_DeleteAndFreeResources -.public Sprite_TickFrame -.public thunk_Sprite_SetDrawFlag -.public ManagedSprite_SetPositionXY -.public ManagedSprite_GetPositionXY -.public ManagedSprite_SetOamMode -.public ManagedSprite_GetOamMode -.public SysTask_CreateOnMainQueue -.public SysTask_Destroy -.public Heap_Alloc -.public Heap_Free -.public Sprite_SetAnimCtrlSeq -.public Sprite_SetAnimationFrame -.public GF_AssertFail -.public G2x_SetBlendAlpha_ -.public MI_CpuFill8 -.public BattleSystem_SetDefaultBlend -.public PartyGauge_LoadGraphics -.public PartyGauge_FreeGraphics -.public PartyGauge_NewAndShow -.public PartyGauge_IsArrowTaskFinished -.public PartyGauge_StartHideTask -.public PartyGauge_IsHideTaskFinished -.public PartyGauge_DeleteAndFreeResources diff --git a/asm/include/overlay_18.inc b/asm/include/overlay_18.inc index 1e8b63d80d..e93da8433c 100644 --- a/asm/include/overlay_18.inc +++ b/asm/include/overlay_18.inc @@ -53,10 +53,10 @@ .public sub_0200A740 .public DestroySingle2DGfxResObj .public GF2DGfxResObj_GetResID -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public SpriteTransfer_GetPlttOffset .public NewMsgDataFromNarc .public DestroyMsgData diff --git a/asm/include/overlay_27.inc b/asm/include/overlay_27.inc index 2abf659fb4..8b52575ffb 100644 --- a/asm/include/overlay_27.inc +++ b/asm/include/overlay_27.inc @@ -26,10 +26,10 @@ .public AddPlttResObjFromNarc .public AddCellOrAnimResObjFromNarc .public sub_0200A740 -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public NewMsgDataFromNarc .public DestroyMsgData .public NewString_ReadMsgData diff --git a/asm/include/overlay_28.inc b/asm/include/overlay_28.inc index 314353f721..2935c28bbd 100644 --- a/asm/include/overlay_28.inc +++ b/asm/include/overlay_28.inc @@ -21,10 +21,10 @@ .public AddCellOrAnimResObjFromOpenNarc .public sub_0200A740 .public GF2DGfxResObj_GetResID -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public NewMsgDataFromNarc .public DestroyMsgData .public NewString_ReadMsgData diff --git a/asm/include/overlay_29.inc b/asm/include/overlay_29.inc index 2e632c6b6e..53375da609 100644 --- a/asm/include/overlay_29.inc +++ b/asm/include/overlay_29.inc @@ -21,10 +21,10 @@ .public AddCellOrAnimResObjFromOpenNarc .public sub_0200A740 .public GF2DGfxResObj_GetResID -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public NewMsgDataFromNarc .public DestroyMsgData .public NewString_ReadMsgData diff --git a/asm/include/overlay_32.inc b/asm/include/overlay_32.inc index 28821c46b4..fa36815b8e 100644 --- a/asm/include/overlay_32.inc +++ b/asm/include/overlay_32.inc @@ -21,10 +21,10 @@ .public AddCellOrAnimResObjFromOpenNarc .public sub_0200A740 .public GF2DGfxResObj_GetResID -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public NewMsgDataFromNarc .public DestroyMsgData .public NewString_ReadMsgData diff --git a/asm/include/overlay_34.inc b/asm/include/overlay_34.inc index a27cef58b6..4807f26486 100644 --- a/asm/include/overlay_34.inc +++ b/asm/include/overlay_34.inc @@ -16,10 +16,10 @@ .public AddCharResObjFromNarc .public AddPlttResObjFromNarc .public AddCellOrAnimResObjFromNarc -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public NewMsgDataFromNarc .public DestroyMsgData .public NewString_ReadMsgData diff --git a/asm/include/overlay_37.inc b/asm/include/overlay_37.inc index 10860feb74..d54038c0d4 100644 --- a/asm/include/overlay_37.inc +++ b/asm/include/overlay_37.inc @@ -21,10 +21,10 @@ .public AddCharResObjFromOpenNarc .public AddPlttResObjFromOpenNarc .public AddCellOrAnimResObjFromOpenNarc -.public sub_0200ACF0 -.public sub_0200AEB0 -.public sub_0200AF94 -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/overlay_41.inc b/asm/include/overlay_41.inc index 9ac1fa16d6..ce3db48997 100644 --- a/asm/include/overlay_41.inc +++ b/asm/include/overlay_41.inc @@ -51,10 +51,10 @@ .public DestroySingle2DGfxResObj .public SpriteResourceCollection_Find .public GF2DGfxResObj_GetResID -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public SpriteTransfer_GetPaletteProxy .public OamManager_Create .public OamManager_ApplyAndResetBuffers diff --git a/asm/include/overlay_43.inc b/asm/include/overlay_43.inc index d15b56ed70..fe7cf0c00d 100644 --- a/asm/include/overlay_43.inc +++ b/asm/include/overlay_43.inc @@ -35,10 +35,10 @@ .public AddCellOrAnimResObjFromOpenNarc .public sub_0200A740 .public DestroySingle2DGfxResObj -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/overlay_44.inc b/asm/include/overlay_44.inc deleted file mode 100644 index ca545a37f5..0000000000 --- a/asm/include/overlay_44.inc +++ /dev/null @@ -1,667 +0,0 @@ -#include -#pragma once -.public ListMenuInit -.public ListMenu_ProcessInput -.public DestroyListMenu -.public CreateYesNoMenu -.public Std_CreateYesNoMenu -.public Handle2dMenuInput_DeleteOnFinish -.public Clear2dMenuWindowAndDelete -.public TextFlags_SetCanABSpeedUpPrint -.public TextFlags_SetAutoScrollParam -.public TextFlags_SetCanTouchSpeedUpPrint -.public FontID_Alloc -.public FontID_Release -.public FontID_String_GetWidth -.public LoadFontPal1 -.public FontID_String_GetCenterAlignmentX -.public BlendPalette -.public GF_GetCurrentPlayingBGM -.public Sound_SetScene -.public Sound_SetSceneAndPlayBGM -.public GF_SndHandleSetInitialVolume -.public sub_02005448 -.public GF_GetVolumeBySeqNo -.public GF_SetVolumeBySeqNo -.public GF_SndStartFadeInBGM -.public GF_SndStartFadeOutBGM -.public PlaySE -.public UnloadOverlayByID -.public HandleLoadOverlay -.public OverlayManager_CreateAndGetData -.public OverlayManager_GetData -.public OverlayManager_FreeData -.public OverlayManager_GetArgs -.public NARC_New -.public NARC_Delete -.public GfGfxLoader_LoadCharDataFromOpenNarc -.public GfGfxLoader_LoadScrnDataFromOpenNarc -.public GfGfxLoader_GXLoadPalFromOpenNarc -.public GfGfxLoader_GetCharDataFromOpenNarc -.public GfGfxLoader_GetScrnDataFromOpenNarc -.public GfGfxLoader_GetPlttDataFromOpenNarc -.public CreateSpriteResourcesHeader -.public G2dRenderer_Init -.public G2dRenderer_SetSubSurfaceCoords -.public G2dRenderer_SetObjCharTransferReservedRegion -.public G2dRenderer_SetPlttTransferReservedRegion -.public Create2DGfxResObjMan -.public Destroy2DGfxResObjMan -.public AddCharResObjFromOpenNarc -.public AddPlttResObjFromOpenNarc -.public AddCellOrAnimResObjFromOpenNarc -.public sub_0200A740 -.public DestroySingle2DGfxResObj -.public sub_0200ADA4 -.public sub_0200AE18 -.public sub_0200AEB0 -.public sub_0200B00C -.public sub_0200B0A8 -.public SpriteTransfer_GetPaletteProxy -.public OamManager_Create -.public OamManager_ApplyAndResetBuffers -.public OamManager_Free -.public thunk_ClearMainOAM -.public thunk_ClearSubOAM -.public NewMsgDataFromNarc -.public DestroyMsgData -.public ReadMsgDataIntoString -.public GetSpeciesName -.public MessageFormat_New -.public MessageFormat_Delete -.public BufferPlayersName -.public BufferIntegerAsString -.public BufferWiFiPlazaActivityName -.public BufferMonthNameAbbr -.public StringExpandPlaceholders -.public SysTask_CreateOnVBlankQueue -.public SysTask_Destroy -.public LoadUserFrameGfx1 -.public DrawFrameAndWindow1 -.public sub_0200E5D4 -.public LoadUserFrameGfx2 -.public DrawFrameAndWindow2 -.public ClearFrameAndWindow2 -.public WaitingIcon_New -.public sub_0200F450 -.public sub_0200F478 -.public BeginNormalPaletteFade -.public IsPaletteFadeFinished -.public SetMasterBrightnessNeutral -.public sub_0200FBF4 -.public FontSystem_NewInit -.public sub_020135AC -.public sub_020136B4 -.public TextOBJ_SetSpritesDrawFlag -.public sub_02013910 -.public sub_02013938 -.public sub_02013948 -.public TextOBJ_Create -.public TextOBJ_Destroy -.public IsNighttime -.public ListMenuItems_New -.public ListMenuItems_Delete -.public ListMenuItems_AppendFromMsgData -.public ListMenuItems_AddItem -.public YesNoPrompt_Create -.public YesNoPrompt_Destroy -.public YesNoPrompt_InitFromTemplate -.public YesNoPrompt_HandleInput -.public YesNoPrompt_SetIgnoreTouch -.public Main_SetVBlankIntrCB -.public HBlankInterruptDisable -.public SetKeyRepeatTimers -.public Heap_Create -.public Heap_Destroy -.public Heap_Free -.public BgConfig_Alloc -.public SetBothScreensModesAndDisable -.public InitBgFromTemplate -.public FreeBgTilemapBuffer -.public SetBgPriority -.public BgSetPosTextAndCommit -.public BG_LoadScreenTilemapData -.public BG_ClearCharDataRange -.public BG_SetMaskColor -.public CopyToBgTilemapRect -.public FillBgTilemapRect -.public BgTilemapRectChangePalette -.public BgClearTilemapBufferAndCommit -.public InitWindow -.public WindowIsInUse -.public AddWindowParameterized -.public AddTextWindowTopLeftCorner -.public RemoveWindow -.public ScheduleWindowCopyToVram -.public ClearWindowTilemapAndScheduleTransfer -.public FillWindowPixelBuffer -.public BlitBitmapRectToWindow -.public FillWindowPixelRect -.public SetWindowPaletteNum -.public DoScheduledBgGpuUpdates -.public ScheduleBgTilemapBufferTransfer -.public GF_SinDegNoWrap -.public MTRandom -.public TextPrinterCheckActive -.public RemoveTextPrinter -.public AddTextPrinterParameterized -.public AddTextPrinterParameterizedWithColor -.public GF_CreateVramTransferManager -.public GF_DestroyVramTransferManager -.public GF_CreateNewVramTransferTask -.public GF_RunVramTransferTasks -.public sub_02021148 -.public sub_02021238 -.public ObjCharTransfer_InitEx -.public ObjCharTransfer_Destroy -.public ObjCharTransfer_ClearBuffers -.public sub_02021AC8 -.public sub_02021B5C -.public ObjPlttTransfer_Init -.public ObjPlttTransfer_Destroy -.public ObjPlttTransfer_Reset -.public GfGfx_SetBanks -.public GfGfx_DisableEngineAPlanes -.public GfGfx_EngineATogglePlanes -.public GfGfx_DisableEngineBPlanes -.public GfGfx_EngineBTogglePlanes -.public GfGfx_SwapDisplay -.public SpriteList_Delete -.public SpriteList_RenderAndAnimateSprites -.public Sprite_CreateAffine -.public Sprite_Delete -.public Sprite_SetMatrix -.public Sprite_SetDrawFlag -.public Sprite_SetAnimActiveFlag -.public Sprite_SetAnimCtrlSeq -.public Sprite_GetAnimationNumber -.public Sprite_UpdateAnim -.public Sprite_SetAnimationFrame -.public Sprite_GetAnimationFrame -.public Sprite_SetDrawPriority -.public System_GetTouchNew -.public GF_AssertFail -.public String_New -.public String_Delete -.public CopyU16ArrayToString -.public TouchHitboxController_Create -.public TouchHitboxController_Destroy -.public TouchHitboxController_IsTriggered -.public SaveArray_Get -.public Save_ClearStatusFlags -.public Save_PrepareForAsyncWrite -.public Save_WriteFileAsync -.public Save_PlayerData_GetProfile -.public Save_PlayerData_GetOptionsAddr -.public PlayerProfile_New -.public Save_Profile_PlayerName_Set -.public PlayerProfile_GetPlayerName_NewString -.public PlayerProfile_GetTrainerID_VisibleHalf -.public PlayerProfile_GetTrainerGender -.public PlayerProfile_GetAvatar -.public PlayerProfile_GetVersion -.public PlayerProfile_GetLanguage -.public Pokedex_GetNatDexFlag -.public Save_Pokedex_Get -.public Options_GetTextFrameDelay -.public Options_GetFrame -.public sub_0202C03C -.public sub_0202C08C -.public sub_0202C090 -.public sub_0202C190 -.public sub_0202C254 -.public sub_0202C298 -.public sub_0202C2F8 -.public sub_0202C318 -.public sub_0202C46C -.public sub_0202C4B0 -.public sub_0202C6F4 -.public Save_WiFiHistory_Get -.public WifiHistory_GetPlayerCountry -.public WiFiHistory_GetPlayerRegion -.public Save_Frontier_GetStatic -.public FrontierSave_GetStat -.public sub_02031188 -.public sub_02031710 -.public sub_02034354 -.public sub_020343E4 -.public sub_02034420 -.public sub_02034434 -.public sub_02034638 -.public sub_020346D4 -.public sub_020346E8 -.public sub_02034714 -.public sub_02034730 -.public sub_02034750 -.public sub_0203476C -.public sub_02034780 -.public sub_020347A0 -.public sub_02034818 -.public sub_02034870 -.public sub_02034DB8 -.public sub_02037030 -.public sub_020373B4 -.public sub_02037454 -.public sub_0203769C -.public sub_02037824 -.public sub_02037880 -.public sub_020378E4 -.public sub_020379A0 -.public sub_02037AC0 -.public sub_02037B38 -.public sub_02037BEC -.public sub_02037C0C -.public sub_02037C44 -.public sub_02037D78 -.public sub_02039080 -.public sub_020390C4 -.public sub_02039264 -.public sub_02039274 -.public sub_020392A0 -.public sub_020392D8 -.public sub_02039330 -.public sub_02039358 -.public sub_02039378 -.public sub_020393B4 -.public sub_020393C8 -.public sub_020396FC -.public sub_020398C8 -.public sub_020398D4 -.public sub_02039998 -.public sub_02039AF8 -.public sub_02039B18 -.public sub_02039B58 -.public sub_02039B7C -.public sub_02039E9C -.public sub_02039FD8 -.public sub_0203A1C4 -.public sub_0203A880 -.public Save_VarsFlags_Get -.public Save_VarsFlags_FlypointFlagAction -.public GetMonData -.public Party_GetCount -.public Party_GetMonByIndex -.public SaveArray_Party_Get -.public sub_02078D24 -.public LoadDwcOverlay -.public UnloadDwcOverlay -.public sub_020971F8 -.public sub_02097214 -.public DWC_CheckHasProfile -.public DWC_CheckValidConsole -.public NNS_G2dInitOamManagerModule -.public GX_LoadBGPltt -.public GXS_LoadBGPltt -.public DC_FlushRange -.public MIi_CpuCopy16 -.public MI_CpuFill8 -.public memcpy -.public memset -.public memcmp -.public _ll_mul -.public _s32_div_f -.public _u32_div_f -.public gSystem -.public ov00_021E5CA0 -.public ov00_021E5CBC -.public ov00_021E69A8 -.public ov00_021E6A4C -.public ov00_021E6A70 -.public ov00_021E6CCC -.public ov00_021E6D60 -.public ov00_021E6D68 -.public ov00_021E6EBC -.public ov00_021E7078 -.public ov00_021E7080 -.public ov00_021E709C -.public ov00_021E70B8 -.public ov00_021E70F4 -.public ov00_021E7130 -.public ov00_021E714C -.public ov00_021E7220 -.public ov00_021E7314 -.public ov00_021E7328 -.public ov00_021EDB1C -.public ov42_02227EE0 -.public ov42_02227F28 -.public ov42_02227F40 -.public ov42_02227F44 -.public ov42_02227F48 -.public ov42_02227FDC -.public ov42_02228010 -.public ov42_02228050 -.public ov42_02228068 -.public ov42_0222807C -.public ov42_022280B8 -.public ov42_02228100 -.public ov42_02228188 -.public ov42_02228270 -.public ov42_022282A4 -.public ov42_022282DC -.public ov42_022283BC -.public ov42_02228C80 -.public ov42_02228EDC -.public ov42_02228F24 -.public ov42_02228F94 -.public ov42_02228FE0 -.public ov42_02229010 -.public ov42_0222901C -.public ov42_02229028 -.public ov42_0222903C -.public ov42_022290C4 -.public ov42_022290DC -.public ov42_0222919C -.public ov42_022291A0 -.public ov42_022291AC -.public ov42_022291B8 -.public ov42_022291D8 -.public ov42_022291F4 -.public ov42_02229200 -.public ov42_0222920C -.public ov42_02229218 -.public ov42_02229258 -.public ov42_02229358 -.public ov42_02229394 -.public ov42_022293B8 -.public ov42_0222940C -.public ov42_02229420 -.public ov42_02229A40 -.public ov42_02229A78 -.public ov42_02229A8C -.public ov42_02229AC8 -.public ov44_0222A4B4 -.public ov44_0222A60C -.public ov44_0222A758 -.public ov44_02232EA8 - -.public ov44_02235340 -.public ov44_0223532C -.public ov44_02235268 -.public ov44_02235218 -.public ov44_022351DC -.public ov44_022351BC -.public ov44_0223518C -.public ov44_02235158 -.public ov44_02235100 -.public ov44_02235090 -.public ov44_02235038 -.public Wifi_PromptToggleVoiceChat_ -.public ov44_02234FDC -.public Wifi_PromptMemberDrop -.public ov44_02234F88 -.public ov44_02234F60 -.public ov44_02234F44 -.public ov44_02234EF4 -.public ov44_02234EA4 -.public ov44_02234E08 -.public ov44_02234DE4 -.public Wifi_PromptAwaitingMembers -.public ov44_02234D88 -.public ov44_02234D4C -.public ov44_02234D28 -.public ov44_02234CE8 -.public ov44_02234C88 -.public Wifi_PromptAwaitingResponse -.public ov44_02234C10 -.public ov44_02234BF0 -.public ov44_02234BB4 -.public ov44_02234B80 -.public Wifi_PromptToggleVoiceChat -.public ov44_02234B18 -.public Wifi_PromptMemberDropped -.public ov44_02234AA8 -.public ov44_02234A68 -.public Wifi_PromptCancelInvites -.public ov44_022349F4 -.public ov44_022349B4 -.public Wifi_PromptDropAsLeader -.public ov44_02234944 -.public ov44_02234904 -.public Wifi_PromptStopFindingMembers -.public ov44_022348C4 -.public ov44_022348A8 -.public ov44_02234858 -.public Wifi_PromptReadyMessage -.public ov44_022344C4 -.public Wifi_PromptUserJoinRequest -.public ov44_022345C8 -.public ov44_022345FC -.public Wifi_PromptInsufficientMembers -.public ov44_022346B4 -.public Wifi_PromptConfirmMembers -.public ov44_022346E8 -.public ov44_0223471C -.public ov44_02234764 -.public ov44_0223479C -.public ov44_022347D4 -.public ov44_022347FC -.public ov44_02234828 -.public ov44_0223435C -.public ov44_02234388 -.public ov44_02234474 -.public ov44_02234328 -.public ov44_02234324 -.public ov44_02234028 -.public ov44_022331B0 -.public ov44_022331C4 -.public ov44_0223319C - -.public ov44_02232724 -.public ov44_02232798 -.public ov44_022327C8 -.public ov44_02232800 -.public ov44_02232838 -.public ov44_02232864 -.public ov44_02232884 -.public ov44_022328A0 -.public ov44_022328E4 -.public ov44_02232910 -.public ov44_02232914 -.public ov44_022329B0 -.public ov44_02232A60 -.public ov44_02232B74 -.public ov44_02232BCC -.public ov44_02232BE4 -.public ov44_02232C30 -.public ov44_02232C48 -.public ov44_02232C4C -.public ov44_02232C6C -.public ov44_02232C94 -.public ov44_02232CA8 -.public ov44_02232CCC -.public ov44_02232D08 -.public ov44_02232D20 -.public ov44_02232E5C -.public ov44_02232E80 -.public ov44_02232E90 -.public ov44_02232E9C -.public ov44_02232680 - -.public ov44_02232248 -.public ov44_02232288 -.public ov44_02232298 -.public ov44_022322E8 -.public ov44_02232334 -.public ov44_02232338 -.public ov44_0223233C -.public ov44_0223254C -.public ov44_02232594 -.public ov44_022325A4 -.public ov44_022325F4 -.public ov44_02232604 - -.public ov44_02231CE8 -.public ov44_02231D48 -.public ov44_02231D8C -.public ov44_02231D94 -.public ov44_02231D98 -.public ov44_02231D9C -.public ov44_02231E08 -.public ov44_02231E94 -.public ov44_02231ED4 -.public ov44_02231EF4 -.public ov44_02231F04 -.public ov44_02231F14 -.public ov44_02231F88 -.public ov44_02231FA8 -.public ov44_02231FCC -.public ov44_02232008 -.public ov44_02232018 -.public ov44_02232028 -.public ov44_02232050 -.public ov44_02232070 -.public ov44_02232104 -.public ov44_02232158 -.public ov44_02232194 -.public ov44_022321C4 -.public ov44_02232204 -.public ov44_02232238 -.public ov44_02231C8C - -.public ov44_02231918 -.public ov44_02231958 -.public ov44_02231974 -.public ov44_0223197C -.public ov44_022319BC -.public ov44_022319EC -.public ov44_02231A14 -.public ov44_02231A28 -.public ov44_02231A7C -.public ov44_02231B4C -.public ov44_02231BB0 -.public ov44_02231BB4 -.public ov44_02231C60 -.public ov44_02231C70 - -.public ov44_0223120C -.public ov44_02230090 -.public ov44_02231720 -.public ov44_022313C8 -.public ov44_02231788 -.public ov44_02231754 -.public ov44_02231420 -.public ov44_022316B0 -.public ov44_02230234 -.public ov44_022300C8 -.public ov44_02230300 -.public ov44_02230E5C -.public ov44_022307E0 -.public ov44_022308B0 -.public ov44_02230B2C -.public ov44_02230C68 -.public ov44_02230D8C -.public ov44_022316B0 - -.public ov44_0222EC2C -.public ov44_0222EC98 -.public ov44_0222EDB8 -.public ov44_0222EE10 -.public ov44_0222EE54 -.public ov44_0222EED4 -.public ov44_0222F0AC -.public ov44_0222F194 -.public ov44_0222F4E0 -.public ov44_0222F510 -.public ov44_0222F66C -.public ov44_0222F780 -.public ov44_0222F7BC -.public ov44_0222F818 -.public ov44_0222F830 -.public ov44_0222F8C0 -.public ov44_0222F8F0 -.public ov44_0222F950 -.public ov44_0222F970 -.public ov44_0222F98C -.public ov44_0222F9A0 -.public ov44_0222FA28 -.public ov44_0222FA80 -.public ov44_0222FBA0 -.public ov44_0222FBC8 -.public ov44_0222FFF4 -.public ov44_02230028 -.public ov44_02230048 -.public ov44_02230060 -.public ov44_02230080 - -.public ov44_0222E074 -.public ov44_0222E030 -.public ov44_0222CE40 -.public ov44_0222CFE0 -.public ov44_0222D0A4 -.public ov44_0222D10C -.public ov44_0222D1BC -.public ov44_0222D1C0 -.public ov44_0222D1C4 -.public ov44_0222EB90 -.public ov44_0222D1C8 -.public ov44_0222D3DC -.public ov44_0222D594 -.public ov44_0222DA64 -.public ov44_0222D214 -.public ov44_0222D23C -.public ov44_0222D2B0 -.public ov44_0222DC18 -.public ov44_0222DD64 -.public ov44_0222E090 -.public ov44_0222E45C -.public ov44_0222E62C -.public ov44_0222E630 -.public ov44_0222E634 -.public ov44_0222E860 -.public ov44_0222E908 -.public ov44_0222E948 -.public ov44_0222E9C4 -.public ov44_0222EA2C -.public ov44_0222EBB8 -.public ov44_0222EBC4 -.public ov44_0222EC14 -.public ov44_0222E5D8 -.public ov44_0222E5DC -.public ov44_0222D824 -.public ov44_0222E5E0 - -.public ov44_0222E02C -.public ov44_0222D8B0 - -.public ov44_0222C288 -.public ov44_0222C288 -.public ov44_0222C288 -.public ov44_0222C288 -.public ov44_0222B228 -.public ov44_0222B36C -.public ov44_0222B3A8 -.public ov44_0222B42C -.public ov44_0222B494 -.public ov44_0222B528 -.public ov44_0222B64C -.public ov44_0222BA6C -.public ov44_0222BAB8 -.public ov44_0222BAC4 -.public ov44_0222BAD0 -.public ov44_0222BB38 -.public ov44_0222BBA4 -.public ov44_0222BC78 -.public ov44_0222B744 -.public ov44_0222BE3C -.public ov44_0222C060 -.public ov44_0222C084 -.public ov44_0222C35C -.public ov44_0222C684 -.public ov44_0222C9AC -.public ov44_0222C9F4 -.public ov44_0222CB34 -.public ov44_0222CB7C -.public ov44_0222CC34 -.public ov44_0222CDAC -.public ov44_0222BFF0 -.public ov44_0222BEE0 -.public ov44_0222BF6C - -.public ov44_0222AEC0 -.public ov44_0222AFE8 -.public ov44_0222B030 -.public ov44_0222B0A4 -.public ov44_0222ADF8 -.public ov44_0222B164 -.public ov44_0222AE74 -.public ov44_0222AE44 \ No newline at end of file diff --git a/asm/include/overlay_47.inc b/asm/include/overlay_47.inc index 7b6ac07342..ae80df1fae 100644 --- a/asm/include/overlay_47.inc +++ b/asm/include/overlay_47.inc @@ -31,10 +31,10 @@ .public AddCellOrAnimResObjFromOpenNarc .public sub_0200A740 .public DestroySingle2DGfxResObj -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/overlay_48.inc b/asm/include/overlay_48.inc index 7b12579e63..d76550d94a 100644 --- a/asm/include/overlay_48.inc +++ b/asm/include/overlay_48.inc @@ -30,10 +30,10 @@ .public AddCellOrAnimResObjFromOpenNarc .public sub_0200A740 .public DestroySingle2DGfxResObj -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/overlay_49.inc b/asm/include/overlay_49.inc index 1ee6ecd406..d155fdb7cd 100644 --- a/asm/include/overlay_49.inc +++ b/asm/include/overlay_49.inc @@ -45,10 +45,10 @@ .public sub_0200A740 .public DestroySingle2DGfxResObj .public GF2DGfxResObj_GetPlttDataPtr -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/overlay_65.inc b/asm/include/overlay_65.inc index 11bf752168..e42c60ddf8 100644 --- a/asm/include/overlay_65.inc +++ b/asm/include/overlay_65.inc @@ -35,10 +35,10 @@ .public AddCharResObjFromOpenNarc .public AddPlttResObjFromOpenNarc .public AddCellOrAnimResObjFromOpenNarc -.public sub_0200ACF0 -.public sub_0200AEB0 -.public sub_0200AF94 -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/overlay_70.inc b/asm/include/overlay_70.inc index 28c6fa0ebd..d8992b25d1 100644 --- a/asm/include/overlay_70.inc +++ b/asm/include/overlay_70.inc @@ -41,10 +41,10 @@ .public AddCharResObjFromOpenNarc .public AddPlttResObjFromOpenNarc .public AddCellOrAnimResObjFromOpenNarc -.public sub_0200ACF0 -.public sub_0200AEB0 -.public sub_0200AF94 -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/overlay_72.inc b/asm/include/overlay_72.inc index faf72b6028..92a4eca3ef 100644 --- a/asm/include/overlay_72.inc +++ b/asm/include/overlay_72.inc @@ -28,10 +28,10 @@ .public AddCharResObjFromOpenNarc .public AddPlttResObjFromOpenNarc .public AddCellOrAnimResObjFromOpenNarc -.public sub_0200ACF0 -.public sub_0200AEB0 -.public sub_0200AF94 -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/overlay_73.inc b/asm/include/overlay_73.inc index 0f2153c446..3433c42835 100644 --- a/asm/include/overlay_73.inc +++ b/asm/include/overlay_73.inc @@ -32,10 +32,10 @@ .public AddCharResObjFromOpenNarc .public AddPlttResObjFromOpenNarc .public AddCellOrAnimResObjFromOpenNarc -.public sub_0200ACF0 -.public sub_0200AEB0 -.public sub_0200AF94 -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/overlay_74_thumb.inc b/asm/include/overlay_74_thumb.inc index 28ce477042..e75ff198c8 100644 --- a/asm/include/overlay_74_thumb.inc +++ b/asm/include/overlay_74_thumb.inc @@ -40,11 +40,11 @@ .public AddCharResObjFromNarc .public AddPlttResObjFromNarc .public AddCellOrAnimResObjFromNarc -.public sub_0200ACF0 -.public sub_0200AEB0 -.public sub_0200AF94 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/overlay_81.inc b/asm/include/overlay_81.inc index 575d83f8d2..52bdd0f5d8 100644 --- a/asm/include/overlay_81.inc +++ b/asm/include/overlay_81.inc @@ -53,10 +53,10 @@ .public AddCharResObjFromNarc .public AddPlttResObjFromNarc .public AddCellOrAnimResObjFromNarc -.public sub_0200ACF0 -.public sub_0200AEB0 -.public sub_0200AF94 -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/overlay_82.inc b/asm/include/overlay_82.inc index dfecc62e37..4324301acf 100644 --- a/asm/include/overlay_82.inc +++ b/asm/include/overlay_82.inc @@ -35,10 +35,10 @@ .public AddCellOrAnimResObjFromNarc .public AddCharResObjFromOpenNarc .public AddCellOrAnimResObjFromOpenNarc -.public sub_0200ACF0 -.public sub_0200AEB0 -.public sub_0200AF94 -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/overlay_83.inc b/asm/include/overlay_83.inc index 81d69e7a10..ac1f87ac54 100644 --- a/asm/include/overlay_83.inc +++ b/asm/include/overlay_83.inc @@ -42,12 +42,12 @@ .public AddPlttResObjFromOpenNarc .public AddCellOrAnimResObjFromOpenNarc .public SpriteResourceCollection_Find -.public sub_0200ACF0 -.public sub_0200AE8C -.public sub_0200AEB0 -.public sub_0200AF94 -.public sub_0200B084 -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask +.public SpriteTransfer_ReplaceCharData +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_ReplacePlttData +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/overlay_85.inc b/asm/include/overlay_85.inc index 2f821cef37..f5ae930458 100644 --- a/asm/include/overlay_85.inc +++ b/asm/include/overlay_85.inc @@ -48,10 +48,10 @@ .public AddCharResObjFromOpenNarc .public AddPlttResObjFromOpenNarc .public AddCellOrAnimResObjFromOpenNarc -.public sub_0200ACF0 -.public sub_0200AEB0 -.public sub_0200AF94 -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/overlay_87.inc b/asm/include/overlay_87.inc index c33ef963af..1176515353 100644 --- a/asm/include/overlay_87.inc +++ b/asm/include/overlay_87.inc @@ -34,11 +34,11 @@ .public AddCellOrAnimResObjFromNarc .public ReplacePlttResObjFromNarc .public SpriteResourceCollection_Find -.public sub_0200ACF0 -.public sub_0200AEB0 -.public sub_0200AF94 -.public sub_0200B084 -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_ReplacePlttData +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/overlay_90.inc b/asm/include/overlay_90.inc index b6bb9850c6..55a90faa0c 100644 --- a/asm/include/overlay_90.inc +++ b/asm/include/overlay_90.inc @@ -30,10 +30,10 @@ .public sub_0200A740 .public DestroySingle2DGfxResObj .public SpriteResourceCollection_Find -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public SpriteTransfer_GetPlttOffset .public OamManager_Create .public OamManager_ApplyAndResetBuffers diff --git a/asm/include/overlay_91.inc b/asm/include/overlay_91.inc index 0f94bae071..66559ef0ea 100644 --- a/asm/include/overlay_91.inc +++ b/asm/include/overlay_91.inc @@ -27,10 +27,10 @@ .public AddCellOrAnimResObjFromOpenNarc .public sub_0200A740 .public DestroySingle2DGfxResObj -.public sub_0200AE18 -.public sub_0200AEB0 -.public sub_0200B00C -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreatePlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public SpriteTransfer_GetPaletteProxy .public OamManager_Create .public OamManager_ApplyAndResetBuffers diff --git a/asm/include/overlay_96.inc b/asm/include/overlay_96.inc index dc1a0bffc2..1a45cd5f09 100644 --- a/asm/include/overlay_96.inc +++ b/asm/include/overlay_96.inc @@ -67,11 +67,11 @@ .public AddCellOrAnimResObjFromNarc .public sub_0200A740 .public GF2DGfxResObj_GetCharDataPtr -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200AF00 -.public sub_0200AF94 -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_GetCharProxy +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public SpriteTransfer_GetPaletteProxy .public OamManager_Create .public OamManager_ApplyAndResetBuffers diff --git a/asm/include/overlay_97.inc b/asm/include/overlay_97.inc index ea5cef4848..af64dde19e 100644 --- a/asm/include/overlay_97.inc +++ b/asm/include/overlay_97.inc @@ -19,11 +19,11 @@ .public AddCharResObjFromNarc .public AddPlttResObjFromNarc .public AddCellOrAnimResObjFromNarc -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200AF00 -.public sub_0200AF94 -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_GetCharProxy +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public SpriteTransfer_GetPaletteProxy .public OamManager_Create .public OamManager_Free diff --git a/asm/include/overlay_trainer_card_main.inc b/asm/include/overlay_trainer_card_main.inc index b01a60f1b5..368151c010 100644 --- a/asm/include/overlay_trainer_card_main.inc +++ b/asm/include/overlay_trainer_card_main.inc @@ -29,10 +29,10 @@ .public AddCharResObjFromNarc .public AddPlttResObjFromNarc .public AddCellOrAnimResObjFromNarc -.public sub_0200ACF0 -.public sub_0200AEB0 -.public sub_0200AF94 -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/overlay_trainer_card_signature.inc b/asm/include/overlay_trainer_card_signature.inc index 62bd9a6c40..92bc74dce1 100644 --- a/asm/include/overlay_trainer_card_signature.inc +++ b/asm/include/overlay_trainer_card_signature.inc @@ -26,10 +26,10 @@ .public AddCharResObjFromOpenNarc .public AddPlttResObjFromOpenNarc .public AddCellOrAnimResObjFromOpenNarc -.public sub_0200ACF0 -.public sub_0200AEB0 -.public sub_0200AF94 -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_Create .public OamManager_ApplyAndResetBuffers .public OamManager_Free diff --git a/asm/include/render_window.inc b/asm/include/render_window.inc index 153e3fa30a..6183e7e78a 100644 --- a/asm/include/render_window.inc +++ b/asm/include/render_window.inc @@ -10,7 +10,7 @@ .public PokepicManager_Create .public PokepicManager_Delete .public SpriteResourceCollection_Find -.public sub_0200AF00 +.public SpriteTransfer_GetCharProxy .public SpriteTransfer_GetPaletteProxy .public Sprite_DeleteAndFreeResources .public SysTask_CreateOnVBlankQueue @@ -71,10 +71,10 @@ .public GX_LoadOBJ .public DC_FlushRange .public memcpy -.public ov01_021E8298 -.public ov01_021E8378 -.public ov01_021E83F0 -.public ov01_021E8404 -.public ov01_021E8418 -.public ov01_021E851C -.public ov01_021E86F4 +.public FieldSpriteManager_InitEmptyResLists +.public FieldSpriteManager_AddPlttRes +.public FieldSpriteManager_AddCellRes +.public FieldSpriteManager_AddAnimRes +.public FieldSpriteManager_AddCharRes +.public FieldSpriteManager_CreateManagedSprite +.public FieldSpriteManager_ReleaseWithoutResDat diff --git a/asm/include/unk_02026E84.inc b/asm/include/unk_02026E84.inc deleted file mode 100644 index f469b40443..0000000000 --- a/asm/include/unk_02026E84.inc +++ /dev/null @@ -1,8 +0,0 @@ -#include -#pragma once -.public GetMainBgPlttAddr -.public sub_02026E8C -.public GetSubBgPlttAddr -.public sub_02026E9C -.public GetMainObjPlttAddr -.public GetSubObjPlttAddr diff --git a/asm/include/unk_020932E0.inc b/asm/include/unk_020932E0.inc index c603bab181..6632f191c4 100644 --- a/asm/include/unk_020932E0.inc +++ b/asm/include/unk_020932E0.inc @@ -20,10 +20,10 @@ .public AddCharResObjFromNarc .public AddPlttResObjFromNarc .public AddCellOrAnimResObjFromNarc -.public sub_0200ADA4 -.public sub_0200AEB0 -.public sub_0200AF94 -.public sub_0200B0A8 +.public SpriteTransfer_CreateCharTransferTask_AllocAtEnd +.public SpriteTransfer_DeleteCharTransferTask +.public SpriteTransfer_CreateExtPlttTransferTask +.public SpriteTransfer_DeletePlttTransferTask .public OamManager_ApplyAndResetBuffers .public NewMsgDataFromNarc .public DestroyMsgData diff --git a/asm/include/unk_02097268.inc b/asm/include/unk_02097268.inc deleted file mode 100644 index 472638bb71..0000000000 --- a/asm/include/unk_02097268.inc +++ /dev/null @@ -1,23 +0,0 @@ -#include -#pragma once -.public GfGfxLoader_LoadFromNarc -.public Heap_AllocAtEnd -.public Heap_Free -.public GF_AssertFail -.public SaveData_GetPhoneCallPersistentState -.public PhoneCallPersistentState_SetCallTriggerFlag -.public PhoneCallPersistentState_ClearCallTriggerFlag -.public PhoneCallPersistentState_SafariZoneArrangement_Set -.public Save_SafariZone_Get -.public SafariZone_GetAreaSet -.public SafariZone_SetLevel -.public SafariZone_GetLevel -.public SafariZone_AddToAllAreaLevels -.public SafariZone_GetObjectUnlockLevel -.public Save_VarsFlags_Get -.public Save_VarsFlags_CheckSafariSysFlag -.public GetSafariObjectConfig -.public SaveData_SafariZone_CheckAreasWithUpdatedEncounters -.public SafariZoneAreaSet_LoadAreaEncounters -.public MI_CpuFill8 -.public _s32_div_f diff --git a/asm/macros/script.inc b/asm/macros/script.inc index ed03e60b77..bb01c97384 100644 --- a/asm/macros/script.inc +++ b/asm/macros/script.inc @@ -381,7 +381,7 @@ .short \arg3 .endm - .macro ScrCmd_055 message, arg1 + .macro ScrCmd_056 message, arg1 .short 56 .byte \message .short \arg1 diff --git a/asm/overlay_01_021E7FDC.s b/asm/overlay_01_021E7FDC.s deleted file mode 100644 index c4419d25ae..0000000000 --- a/asm/overlay_01_021E7FDC.s +++ /dev/null @@ -1,976 +0,0 @@ -#include "constants/sndseq.h" -#include "constants/moves.h" -#include "constants/std_script.h" -#include "constants/species.h" -#include "constants/sprites.h" -#include "constants/maps.h" -#include "constants/mmodel.h" -#include "constants/items.h" -#include "msgdata/msg/msg_0096_D31R0201.h" -#include "msgdata/msg/msg_0066_D23R0102.h" - .include "asm/macros.inc" - .include "overlay_01_021E7FDC.inc" - .include "global.inc" - - .text - - thumb_func_start UnkFieldSpriteRenderer_ov01_021E7FDC_Init -UnkFieldSpriteRenderer_ov01_021E7FDC_Init: ; 0x021E7FDC - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x30 - add r5, r0, #0 - str r1, [sp, #0x10] - add r4, r3, #0 - add r0, r2, #0 - add r1, r5, #4 - add r2, r4, #0 - bl G2dRenderer_Init - str r0, [r5] - ldr r1, _021E818C ; =0x00000162 - ldr r0, [sp, #0x10] - strh r4, [r5, r1] - ldrh r2, [r0, #8] - ldr r0, _021E8190 ; =0x0000FFFF - cmp r2, r0 - bne _021E8004 - mov r2, #4 - b _021E8006 -_021E8004: - mov r2, #6 -_021E8006: - sub r0, r1, #2 - strh r2, [r5, r0] - bl GF2DGfxResHeader_sizeof - mov r1, #0x16 - lsl r1, r1, #4 - ldrh r2, [r5, r1] - add r3, r0, #0 - add r0, r4, #0 - add r1, r2, #0 - mul r1, r3 - bl Heap_Alloc - add r7, r0, #0 - mov r0, #0xaf - add r1, r4, #0 - bl NARC_New - str r0, [sp, #0x20] - mov r0, #0 - str r0, [sp, #0x1c] - mov r0, #0x16 - lsl r0, r0, #4 - ldrh r0, [r5, r0] - cmp r0, #0 - bls _021E807A - ldr r6, [sp, #0x10] -_021E803C: - ldr r1, [sp, #0x1c] - add r0, r7, #0 - bl GF2DGfxResHeader_GetByIndex - str r0, [sp, #0x24] - mov r0, #1 - str r0, [sp] - ldrh r1, [r6] - ldr r0, [sp, #0x20] - mov r2, #0 - add r3, r4, #0 - bl GfGfxLoader_LoadFromOpenNarc - ldr r1, [sp, #0x24] - str r0, [sp, #0x28] - add r2, r4, #0 - bl GF2DGfxResHeader_Init - ldr r0, [sp, #0x28] - bl Heap_Free - ldr r0, [sp, #0x1c] - add r6, r6, #2 - add r0, r0, #1 - str r0, [sp, #0x1c] - mov r0, #0x16 - lsl r0, r0, #4 - ldrh r0, [r5, r0] - ldr r1, [sp, #0x1c] - cmp r1, r0 - blo _021E803C -_021E807A: - mov r6, #0 - cmp r0, #0 - bls _021E80B0 - str r5, [sp, #0x18] -_021E8082: - add r0, r7, #0 - add r1, r6, #0 - bl GF2DGfxResHeader_GetByIndex - bl GF2dGfxResHeader_GetNumObjects - add r1, r6, #0 - add r2, r4, #0 - bl Create2DGfxResObjMan - mov r1, #0x13 - ldr r2, [sp, #0x18] - lsl r1, r1, #4 - str r0, [r2, r1] - add r0, r2, #0 - add r0, r0, #4 - str r0, [sp, #0x18] - add r0, r1, #0 - add r0, #0x30 - ldrh r0, [r5, r0] - add r6, r6, #1 - cmp r6, r0 - blo _021E8082 -_021E80B0: - mov r1, #0 - str r1, [sp, #0x14] - cmp r0, #0 - bls _021E80FC - add r6, r5, #0 -_021E80BA: - ldr r1, [sp, #0x14] - add r0, r7, #0 - bl GF2DGfxResHeader_GetByIndex - str r0, [sp, #0x2c] - bl GF2dGfxResHeader_GetNumObjects - add r1, r4, #0 - bl Create2DGfxResObjList - mov r1, #0x52 - lsl r1, r1, #2 - str r0, [r6, r1] - add r0, r1, #0 - mov r2, #0x52 - sub r0, #0x18 - lsl r2, r2, #2 - ldr r0, [r6, r0] - ldr r1, [sp, #0x2c] - ldr r2, [r6, r2] - add r3, r4, #0 - bl LoadAll2DGfxResObjsFromHeader - ldr r0, [sp, #0x14] - add r6, r6, #4 - add r0, r0, #1 - str r0, [sp, #0x14] - mov r0, #0x16 - lsl r0, r0, #4 - ldrh r0, [r5, r0] - ldr r1, [sp, #0x14] - cmp r1, r0 - blo _021E80BA -_021E80FC: - mov r6, #0 - cmp r0, #0 - bls _021E811A -_021E8102: - add r0, r7, #0 - add r1, r6, #0 - bl GF2DGfxResHeader_GetByIndex - bl GF2DGfxResHeader_Reset - mov r0, #0x16 - lsl r0, r0, #4 - ldrh r0, [r5, r0] - add r6, r6, #1 - cmp r6, r0 - blo _021E8102 -_021E811A: - add r0, r7, #0 - bl Heap_Free - mov r0, #0x52 - lsl r0, r0, #2 - ldr r0, [r5, r0] - bl sub_0200ADE4 - mov r0, #0x53 - lsl r0, r0, #2 - ldr r0, [r5, r0] - bl sub_0200B050 - mov r0, #1 - str r0, [sp] - ldr r1, [sp, #0x10] - ldr r0, [sp, #0x20] - ldrh r1, [r1, #0xc] - mov r2, #0 - add r3, r4, #0 - bl GfGfxLoader_LoadFromOpenNarc - mov r3, #0x4e - lsl r3, r3, #2 - ldr r1, [r5, r3] - add r2, r3, #0 - str r1, [sp] - add r1, r3, #4 - ldr r1, [r5, r1] - sub r2, #8 - str r1, [sp, #4] - add r1, r3, #0 - add r1, #8 - ldr r1, [r5, r1] - add r6, r0, #0 - str r1, [sp, #8] - add r1, r3, #0 - add r1, #0xc - ldr r1, [r5, r1] - sub r3, r3, #4 - str r1, [sp, #0xc] - ldr r2, [r5, r2] - ldr r3, [r5, r3] - add r1, r4, #0 - bl SpriteResourceHeaderList_Create - mov r1, #0x4b - lsl r1, r1, #2 - str r0, [r5, r1] - add r0, r6, #0 - bl Heap_Free - ldr r0, [sp, #0x20] - bl NARC_Delete - add sp, #0x30 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_021E818C: .word 0x00000162 -_021E8190: .word 0x0000FFFF - thumb_func_end UnkFieldSpriteRenderer_ov01_021E7FDC_Init - - thumb_func_start UnkFieldSpriteRenderer_ov01_021E7FDC_Release -UnkFieldSpriteRenderer_ov01_021E7FDC_Release: ; 0x021E8194 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - ldr r0, [r5] - bl SpriteList_Delete - mov r0, #0x4b - lsl r0, r0, #2 - ldr r0, [r5, r0] - bl SpriteResourceHeaderList_Destroy - mov r0, #0x52 - lsl r0, r0, #2 - ldr r0, [r5, r0] - bl sub_0200AED4 - mov r0, #0x53 - lsl r0, r0, #2 - ldr r0, [r5, r0] - bl sub_0200B0CC - mov r0, #0x16 - lsl r0, r0, #4 - ldrh r0, [r5, r0] - mov r6, #0 - cmp r0, #0 - bls _021E81EC - mov r7, #0x16 - add r4, r5, #0 - lsl r7, r7, #4 -_021E81CE: - mov r0, #0x52 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl Delete2DGfxResObjList - mov r0, #0x13 - lsl r0, r0, #4 - ldr r0, [r4, r0] - bl Destroy2DGfxResObjMan - ldrh r0, [r5, r7] - add r6, r6, #1 - add r4, r4, #4 - cmp r6, r0 - blo _021E81CE -_021E81EC: - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end UnkFieldSpriteRenderer_ov01_021E7FDC_Release - - thumb_func_start ov01_021E81F0 -ov01_021E81F0: ; 0x021E81F0 - push {r4, r5, r6, lr} - sub sp, #0x48 - ldr r5, _021E8294 ; =ov01_022063FC - add r2, r0, #0 - add r4, r1, #0 - ldmia r5!, {r0, r1} - add r3, sp, #0xc - stmia r3!, {r0, r1} - ldr r0, [r5] - mov r1, #6 - str r0, [r3] - mov r0, #4 - ldrsh r0, [r4, r0] - mov r3, #8 - ldrsh r3, [r4, r3] - lsl r0, r0, #0xc - str r0, [sp] - ldrsh r0, [r4, r1] - lsl r3, r3, #0xc - str r3, [sp, #8] - lsl r0, r0, #0xc - ldr r3, [r4, #0x14] - str r0, [sp, #4] - cmp r3, #2 - bne _021E8228 - lsl r1, r1, #0x11 - add r0, r0, r1 - str r0, [sp, #4] -_021E8228: - ldr r0, [r2] - mov r3, #0x4b - str r0, [sp, #0x18] - lsl r3, r3, #2 - ldr r0, [r2, r3] - ldr r1, [r4] - ldr r5, [r0] - mov r0, #0x24 - mul r0, r1 - add r0, r5, r0 - add r6, sp, #0 - str r0, [sp, #0x1c] - ldmia r6!, {r0, r1} - add r5, sp, #0x20 - stmia r5!, {r0, r1} - ldr r0, [r6] - add r6, sp, #0xc - str r0, [r5] - ldmia r6!, {r0, r1} - add r5, sp, #0x2c - stmia r5!, {r0, r1} - ldr r0, [r6] - mov r1, #0 - str r0, [r5] - add r0, sp, #0 - strh r1, [r0, #0x38] - ldr r0, [r4, #0xc] - add r3, #0x36 - str r0, [sp, #0x3c] - ldr r0, [r4, #0x14] - str r0, [sp, #0x40] - ldrh r0, [r2, r3] - str r0, [sp, #0x44] - add r0, sp, #0x18 - bl Sprite_CreateAffine - add r5, r0, #0 - bne _021E8278 - bl GF_AssertFail -_021E8278: - ldrh r1, [r4, #0xa] - add r0, r5, #0 - bl Sprite_SetAnimCtrlSeq - ldr r0, [r4, #0x18] - cmp r0, #1 - beq _021E828E - ldr r1, [r4, #0x10] - add r0, r5, #0 - bl Sprite_SetPalIndexRespectVramOffset -_021E828E: - add r0, r5, #0 - add sp, #0x48 - pop {r4, r5, r6, pc} - .balign 4, 0 -_021E8294: .word ov01_022063FC - thumb_func_end ov01_021E81F0 - - thumb_func_start ov01_021E8298 -ov01_021E8298: ; 0x021E8298 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r7, r0, #0 - str r1, [sp] - add r0, r2, #0 - str r3, [sp, #4] - add r1, r7, #4 - add r2, r3, #0 - bl G2dRenderer_Init - str r0, [r7] - ldr r1, _021E8374 ; =0x00000162 - ldr r0, [sp, #4] - strh r0, [r7, r1] - ldr r0, [sp] - ldr r0, [r0, #0x10] - cmp r0, #0 - beq _021E82C4 - ldr r0, [sp] - ldr r0, [r0, #0x14] - cmp r0, #0 - bne _021E82DA -_021E82C4: - mov r1, #0x16 - mov r0, #4 - lsl r1, r1, #4 - strh r0, [r7, r1] - add r0, r1, #0 - mov r2, #0 - sub r0, #0x20 - str r2, [r7, r0] - sub r1, #0x1c - str r2, [r7, r1] - b _021E82E0 -_021E82DA: - mov r2, #6 - sub r0, r1, #2 - strh r2, [r7, r0] -_021E82E0: - mov r0, #0x16 - lsl r0, r0, #4 - ldrh r1, [r7, r0] - mov r4, #0 - cmp r1, #0 - bls _021E8310 - ldr r5, [sp] - add r6, r7, #0 -_021E82F0: - ldr r0, [r5] - ldr r2, [sp, #4] - add r1, r4, #0 - bl Create2DGfxResObjMan - mov r1, #0x13 - lsl r1, r1, #4 - str r0, [r6, r1] - add r0, r1, #0 - add r0, #0x30 - ldrh r1, [r7, r0] - add r4, r4, #1 - add r5, r5, #4 - add r6, r6, #4 - cmp r4, r1 - blo _021E82F0 -_021E8310: - mov r0, #0 - str r0, [sp, #8] - cmp r1, #0 - bls _021E836E - mov r6, #0x52 - add r5, r7, #0 - add r4, r0, #0 - lsl r6, r6, #2 -_021E8320: - ldr r0, [sp] - ldr r0, [r0] - cmp r0, #0 - beq _021E8354 - ldr r1, [sp, #4] - bl Create2DGfxResObjList - mov r1, #0x52 - lsl r1, r1, #2 - str r0, [r5, r1] - mov r0, #0x52 - lsl r0, r0, #2 - ldr r3, [r5, r0] - mov r1, #0 - ldr r0, [r3, #4] - cmp r0, #0 - bls _021E8354 - add r2, r1, #0 -_021E8344: - ldr r0, [r3] - add r1, r1, #1 - str r4, [r0, r2] - ldr r3, [r5, r6] - add r2, r2, #4 - ldr r0, [r3, #4] - cmp r1, r0 - blo _021E8344 -_021E8354: - ldr r0, [sp] - add r5, r5, #4 - add r0, r0, #4 - str r0, [sp] - ldr r0, [sp, #8] - add r0, r0, #1 - str r0, [sp, #8] - mov r0, #0x16 - lsl r0, r0, #4 - ldrh r1, [r7, r0] - ldr r0, [sp, #8] - cmp r0, r1 - blo _021E8320 -_021E836E: - add sp, #0xc - pop {r4, r5, r6, r7, pc} - nop -_021E8374: .word 0x00000162 - thumb_func_end ov01_021E8298 - - thumb_func_start ov01_021E8378 -ov01_021E8378: ; 0x021E8378 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - add r5, r0, #0 - mov r0, #0x4d - lsl r0, r0, #2 - add r4, r1, #0 - ldr r0, [r5, r0] - ldr r1, [sp, #0x30] - add r6, r2, #0 - add r7, r3, #0 - bl GF2DGfxResObjExistsById - cmp r0, #0 - bne _021E839C - bl GF_AssertFail - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} -_021E839C: - ldr r0, [sp, #0x30] - add r2, r6, #0 - str r0, [sp] - ldr r0, [sp, #0x2c] - add r3, r7, #0 - str r0, [sp, #4] - ldr r0, [sp, #0x28] - str r0, [sp, #8] - ldr r0, _021E83EC ; =0x00000162 - ldrh r1, [r5, r0] - sub r0, #0x2e - str r1, [sp, #0xc] - ldr r0, [r5, r0] - add r1, r4, #0 - bl AddPlttResObjFromNarc - add r4, r0, #0 - beq _021E83E4 - bl sub_0200B00C - cmp r0, #1 - beq _021E83CC - bl GF_AssertFail -_021E83CC: - mov r0, #0x53 - lsl r0, r0, #2 - ldr r0, [r5, r0] - add r1, r4, #0 - bl ov01_021E847C - ldr r1, [sp, #0x2c] - add r0, r4, #0 - bl SpriteTransfer_GetPlttOffset - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} -_021E83E4: - bl GF_AssertFail - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_021E83EC: .word 0x00000162 - thumb_func_end ov01_021E8378 - - thumb_func_start ov01_021E83F0 -ov01_021E83F0: ; 0x021E83F0 - push {r4, lr} - sub sp, #8 - mov r4, #2 - str r4, [sp] - ldr r4, [sp, #0x10] - str r4, [sp, #4] - bl ov01_021E84B0 - add sp, #8 - pop {r4, pc} - thumb_func_end ov01_021E83F0 - - thumb_func_start ov01_021E8404 -ov01_021E8404: ; 0x021E8404 - push {r4, lr} - sub sp, #8 - mov r4, #3 - str r4, [sp] - ldr r4, [sp, #0x10] - str r4, [sp, #4] - bl ov01_021E84B0 - add sp, #8 - pop {r4, pc} - thumb_func_end ov01_021E8404 - - thumb_func_start ov01_021E8418 -ov01_021E8418: ; 0x021E8418 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r5, r0, #0 - mov r0, #0x13 - lsl r0, r0, #4 - add r4, r1, #0 - ldr r0, [r5, r0] - ldr r1, [sp, #0x24] - add r6, r2, #0 - add r7, r3, #0 - bl GF2DGfxResObjExistsById - cmp r0, #0 - bne _021E843C - bl GF_AssertFail - add sp, #0xc - pop {r4, r5, r6, r7, pc} -_021E843C: - ldr r0, [sp, #0x24] - add r2, r6, #0 - str r0, [sp] - ldr r0, [sp, #0x20] - add r3, r7, #0 - str r0, [sp, #4] - ldr r0, _021E8478 ; =0x00000162 - ldrh r1, [r5, r0] - sub r0, #0x32 - str r1, [sp, #8] - ldr r0, [r5, r0] - add r1, r4, #0 - bl AddCharResObjFromNarc - add r4, r0, #0 - beq _021E8470 - bl sub_0200ADA4 - mov r0, #0x52 - lsl r0, r0, #2 - ldr r0, [r5, r0] - add r1, r4, #0 - bl ov01_021E847C - add sp, #0xc - pop {r4, r5, r6, r7, pc} -_021E8470: - bl GF_AssertFail - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_021E8478: .word 0x00000162 - thumb_func_end ov01_021E8418 - - thumb_func_start ov01_021E847C -ov01_021E847C: ; 0x021E847C - push {r3, r4, r5, r6} - ldr r6, [r0, #4] - mov r3, #0 - cmp r6, #0 - ble _021E84A8 - ldr r5, [r0] - add r4, r5, #0 -_021E848A: - ldr r2, [r4] - cmp r2, #0 - bne _021E84A0 - lsl r2, r3, #2 - str r1, [r5, r2] - ldr r1, [r0, #8] - add r1, r1, #1 - str r1, [r0, #8] - mov r0, #1 - pop {r3, r4, r5, r6} - bx lr -_021E84A0: - add r3, r3, #1 - add r4, r4, #4 - cmp r3, r6 - blt _021E848A -_021E84A8: - mov r0, #0 - pop {r3, r4, r5, r6} - bx lr - .balign 4, 0 - thumb_func_end ov01_021E847C - - thumb_func_start ov01_021E84B0 -ov01_021E84B0: ; 0x021E84B0 - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r5, r0, #0 - ldr r0, [sp, #0x28] - add r7, r1, #0 - lsl r4, r0, #2 - mov r0, #0x13 - lsl r0, r0, #4 - add r6, r5, r0 - ldr r0, [r6, r4] - ldr r1, [sp, #0x2c] - str r2, [sp, #0xc] - str r3, [sp, #0x10] - bl GF2DGfxResObjExistsById - cmp r0, #0 - bne _021E84DA - bl GF_AssertFail - add sp, #0x14 - pop {r4, r5, r6, r7, pc} -_021E84DA: - ldr r0, [sp, #0x2c] - ldr r2, [sp, #0xc] - str r0, [sp] - ldr r0, [sp, #0x28] - ldr r3, [sp, #0x10] - str r0, [sp, #4] - ldr r0, _021E8518 ; =0x00000162 - add r1, r7, #0 - ldrh r0, [r5, r0] - str r0, [sp, #8] - ldr r0, [r6, r4] - bl AddCellOrAnimResObjFromNarc - add r1, r0, #0 - beq _021E8510 - mov r0, #0x52 - add r2, r5, r4 - lsl r0, r0, #2 - ldr r0, [r2, r0] - bl ov01_021E847C - cmp r0, #1 - beq _021E8514 - bl GF_AssertFail - add sp, #0x14 - pop {r4, r5, r6, r7, pc} -_021E8510: - bl GF_AssertFail -_021E8514: - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_021E8518: .word 0x00000162 - thumb_func_end ov01_021E84B0 - - thumb_func_start ov01_021E851C -ov01_021E851C: ; 0x021E851C - push {r3, r4, r5, r6, lr} - sub sp, #0x74 - add r5, r0, #0 - ldr r0, _021E86F0 ; =0x00000162 - add r4, r1, #0 - ldrh r0, [r5, r0] - mov r1, #0x10 - bl Heap_Alloc - add r6, r0, #0 - ldr r0, _021E86F0 ; =0x00000162 - mov r1, #8 - ldrh r0, [r5, r0] - bl Heap_Alloc - str r0, [r6, #8] - ldr r0, _021E86F0 ; =0x00000162 - mov r1, #0x24 - ldrh r0, [r5, r0] - bl Heap_Alloc - ldr r1, [r6, #8] - add r2, r4, #0 - str r0, [r1] - ldr r0, [r6, #8] - mov r1, #0 - ldr r0, [r0] - add r3, sp, #0x2c - str r0, [r6, #4] -_021E8556: - ldr r0, [r2, #0x14] - add r1, r1, #1 - add r2, r2, #4 - stmia r3!, {r0} - cmp r1, #6 - blt _021E8556 - mov r1, #5 - lsl r1, r1, #6 - ldr r0, [r5, r1] - cmp r0, #0 - beq _021E8574 - add r1, r1, #4 - ldr r1, [r5, r1] - cmp r1, #0 - bne _021E857E -_021E8574: - mov r0, #0 - mvn r0, r0 - str r0, [sp, #0x3c] - str r0, [sp, #0x40] - b _021E85B4 -_021E857E: - mov r2, #0 - ldr r1, [sp, #0x3c] - mvn r2, r2 - cmp r1, r2 - beq _021E8596 - bl GF2DGfxResObjExistsById - cmp r0, #0 - bne _021E8596 - mov r0, #0 - mvn r0, r0 - str r0, [sp, #0x3c] -_021E8596: - mov r0, #0 - ldr r1, [sp, #0x40] - mvn r0, r0 - cmp r1, r0 - beq _021E85B4 - mov r0, #0x51 - lsl r0, r0, #2 - ldr r0, [r5, r0] - bl GF2DGfxResObjExistsById - cmp r0, #0 - bne _021E85B4 - mov r0, #0 - mvn r0, r0 - str r0, [sp, #0x40] -_021E85B4: - ldr r0, [sp, #0x38] - str r0, [sp] - ldr r0, [sp, #0x3c] - str r0, [sp, #4] - ldr r0, [sp, #0x40] - str r0, [sp, #8] - ldr r0, [r4, #0x30] - str r0, [sp, #0xc] - ldr r0, [r4, #0x2c] - str r0, [sp, #0x10] - mov r0, #0x13 - lsl r0, r0, #4 - ldr r1, [r5, r0] - str r1, [sp, #0x14] - add r1, r0, #4 - ldr r1, [r5, r1] - str r1, [sp, #0x18] - add r1, r0, #0 - add r1, #8 - ldr r1, [r5, r1] - str r1, [sp, #0x1c] - add r1, r0, #0 - add r1, #0xc - ldr r1, [r5, r1] - str r1, [sp, #0x20] - add r1, r0, #0 - add r1, #0x10 - ldr r1, [r5, r1] - add r0, #0x14 - str r1, [sp, #0x24] - ldr r0, [r5, r0] - str r0, [sp, #0x28] - ldr r0, [r6, #4] - ldr r1, [sp, #0x2c] - ldr r2, [sp, #0x30] - ldr r3, [sp, #0x34] - bl CreateSpriteResourcesHeader - ldr r0, [r5] - str r0, [sp, #0x44] - ldr r0, [r6, #4] - str r0, [sp, #0x48] - mov r0, #0 - ldrsh r0, [r4, r0] - cmp r0, #0 - ble _021E8622 - lsl r0, r0, #0xc - bl _fflt - add r1, r0, #0 - mov r0, #0x3f - lsl r0, r0, #0x18 - bl _fadd - b _021E8630 -_021E8622: - lsl r0, r0, #0xc - bl _fflt - mov r1, #0x3f - lsl r1, r1, #0x18 - bl _fsub -_021E8630: - bl _ffix - str r0, [sp, #0x4c] - mov r0, #2 - ldrsh r0, [r4, r0] - cmp r0, #0 - ble _021E8650 - lsl r0, r0, #0xc - bl _fflt - add r1, r0, #0 - mov r0, #0x3f - lsl r0, r0, #0x18 - bl _fadd - b _021E865E -_021E8650: - lsl r0, r0, #0xc - bl _fflt - mov r1, #0x3f - lsl r1, r1, #0x18 - bl _fsub -_021E865E: - bl _ffix - str r0, [sp, #0x50] - mov r0, #4 - ldrsh r0, [r4, r0] - cmp r0, #0 - ble _021E867E - lsl r0, r0, #0xc - bl _fflt - add r1, r0, #0 - mov r0, #0x3f - lsl r0, r0, #0x18 - bl _fadd - b _021E868C -_021E867E: - lsl r0, r0, #0xc - bl _fflt - mov r1, #0x3f - lsl r1, r1, #0x18 - bl _fsub -_021E868C: - bl _ffix - str r0, [sp, #0x54] - ldr r0, [r4, #0x10] - cmp r0, #2 - bne _021E86A2 - mov r0, #3 - ldr r1, [sp, #0x50] - lsl r0, r0, #0x12 - add r0, r1, r0 - str r0, [sp, #0x50] -_021E86A2: - mov r0, #1 - lsl r0, r0, #0xc - str r0, [sp, #0x58] - str r0, [sp, #0x5c] - str r0, [sp, #0x60] - mov r1, #0 - add r0, sp, #0x2c - strh r1, [r0, #0x38] - ldr r0, [r4, #8] - str r0, [sp, #0x68] - ldr r0, [r4, #0x10] - str r0, [sp, #0x6c] - ldr r0, _021E86F0 ; =0x00000162 - ldrh r0, [r5, r0] - str r0, [sp, #0x70] - add r0, sp, #0x44 - bl Sprite_CreateAffine - str r0, [r6] - cmp r0, #0 - beq _021E86E6 - bl Sprite_GetPalIndex - add r5, r0, #0 - ldrh r1, [r4, #6] - ldr r0, [r6] - bl Sprite_SetAnimCtrlSeq - ldr r1, [r4, #0xc] - ldr r0, [r6] - add r1, r5, r1 - bl Sprite_SetPaletteOverride - b _021E86EA -_021E86E6: - bl GF_AssertFail -_021E86EA: - add r0, r6, #0 - add sp, #0x74 - pop {r3, r4, r5, r6, pc} - .balign 4, 0 -_021E86F0: .word 0x00000162 - thumb_func_end ov01_021E851C - - thumb_func_start ov01_021E86F4 -ov01_021E86F4: ; 0x021E86F4 - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - ldr r0, [r6] - bl SpriteList_Delete - mov r0, #0x52 - lsl r0, r0, #2 - ldr r0, [r6, r0] - bl sub_0200AED4 - mov r0, #0x53 - lsl r0, r0, #2 - ldr r0, [r6, r0] - bl sub_0200B0CC - mov r0, #0x16 - lsl r0, r0, #4 - ldrh r0, [r6, r0] - mov r4, #0 - cmp r0, #0 - bls _021E8742 - mov r7, #0x16 - add r5, r6, #0 - lsl r7, r7, #4 -_021E8724: - mov r0, #0x52 - lsl r0, r0, #2 - ldr r0, [r5, r0] - bl Delete2DGfxResObjList - mov r0, #0x13 - lsl r0, r0, #4 - ldr r0, [r5, r0] - bl Destroy2DGfxResObjMan - ldrh r0, [r6, r7] - add r4, r4, #1 - add r5, r5, #4 - cmp r4, r0 - blo _021E8724 -_021E8742: - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end ov01_021E86F4 - - .rodata - -ov01_022063FC: ; 0x022063FC - .byte 0x00, 0x10, 0x00, 0x00 - .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 diff --git a/asm/overlay_01_021EB1E8.s b/asm/overlay_01_021EB1E8.s index 14cfd14945..84ece63fa6 100644 --- a/asm/overlay_01_021EB1E8.s +++ b/asm/overlay_01_021EB1E8.s @@ -1033,12 +1033,12 @@ ov01_021EB968: ; 0x021EB968 ldr r0, [r4] cmp r0, #0 beq _021EB97E - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _021EB97E: ldr r0, [r4, #4] cmp r0, #0 beq _021EB988 - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask _021EB988: mov r6, #0 _021EB98A: @@ -1844,7 +1844,7 @@ ov01_021EBF58: ; 0x021EBF58 mov r1, #0 bl ov01_021EB898 str r0, [r4] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd ldr r0, [r4] bl sub_0200A740 _021EBF8C: @@ -1875,7 +1875,7 @@ ov01_021EBF94: ; 0x021EBF94 ldr r3, [r5, #0xc] bl ov01_021EB898 str r0, [r4, #4] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask ldr r0, [r4, #4] bl sub_0200A740 _021EBFC6: diff --git a/asm/overlay_01_021EFB38.s b/asm/overlay_01_021EFB38.s index 1f39e3ca00..718c755d98 100644 --- a/asm/overlay_01_021EFB38.s +++ b/asm/overlay_01_021EFB38.s @@ -1527,11 +1527,11 @@ ov01_021F0614: ; 0x021F0614 bl AddCellOrAnimResObjFromOpenNarc str r0, [r4, #0xc] ldr r0, [r4] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd ldr r0, [r4] bl sub_0200A740 ldr r0, [r4, #4] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask mov r0, #0 mov r2, #0x4b str r6, [sp] @@ -1572,9 +1572,9 @@ ov01_021F06EC: ; 0x021F06EC add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, [r4, #4] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r7, #0x4b mov r6, #0 lsl r7, r7, #2 diff --git a/asm/overlay_02_02248728.s b/asm/overlay_02_02248728.s index d6cda15b4b..7c996d5bcc 100644 --- a/asm/overlay_02_02248728.s +++ b/asm/overlay_02_02248728.s @@ -194,7 +194,7 @@ _0224887C: cmp r2, r1 beq _02248892 ldr r0, [r0, #4] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _02248892: ldrb r0, [r5] add r6, r6, #1 @@ -218,7 +218,7 @@ _022488A8: cmp r2, r1 beq _022488BE ldr r0, [r0, #4] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask _022488BE: ldrb r0, [r5, #1] add r6, r6, #1 @@ -394,7 +394,7 @@ _02248A04: lsl r1, r2, #3 add r0, r0, r1 ldr r0, [r0, #4] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd pop {r4, r5, r6, pc} _02248A16: add r2, r2, #1 @@ -517,7 +517,7 @@ _02248ADC: lsl r1, r2, #3 add r0, r0, r1 ldr r0, [r0, #4] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask pop {r4, r5, r6, pc} _02248AEE: add r2, r2, #1 @@ -3061,7 +3061,7 @@ _02249D72: ldr r0, [r5, r7] cmp r0, #0 beq _02249D7C - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd _02249D7C: add r4, r4, #1 add r5, r5, #4 @@ -3075,7 +3075,7 @@ _02249D8C: ldr r0, [r4, r7] cmp r0, #0 beq _02249D96 - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask _02249D96: add r5, r5, #1 add r4, r4, #4 @@ -3196,7 +3196,7 @@ ov02_02249E58: ; 0x02249E58 ldr r1, [r4, r1] cmp r1, #0 bne _02249E8A - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd ldr r0, _02249E8C ; =ov02_02249E90 add r1, r4, #0 mov r2, #0x80 @@ -3713,7 +3713,7 @@ _0224A294: ldr r0, [r5, r7] cmp r0, #0 beq _0224A29E - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _0224A29E: add r4, r4, #1 add r5, r5, #4 @@ -3727,7 +3727,7 @@ _0224A2AE: ldr r0, [r4, r7] cmp r0, #0 beq _0224A2B8 - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask _0224A2B8: add r5, r5, #1 add r4, r4, #4 @@ -4494,7 +4494,7 @@ ov02_0224A834: ; 0x0224A834 ldr r0, [r0, r1] mov r1, #3 bl SpriteResourceCollection_Find - bl sub_0200AF00 + bl SpriteTransfer_GetCharProxy mov r1, #1 bl NNS_G2dGetImageLocation mov r1, #0x32 @@ -4541,7 +4541,7 @@ ov02_0224A88C: ; 0x0224A88C ldr r0, [r5, r0] mov r1, #3 bl SpriteResourceCollection_Find - bl sub_0200AF00 + bl SpriteTransfer_GetCharProxy add r6, r0, #0 mov r0, #0x1a lsl r0, r0, #4 @@ -4574,7 +4574,7 @@ ov02_0224A8D4: ; 0x0224A8D4 mov r1, #3 bl SpriteResourceCollection_Find add r4, r0, #0 - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x67 lsl r0, r0, #2 ldr r0, [r5, r0] @@ -4611,7 +4611,7 @@ _0224A922: mov r1, #3 bl SpriteResourceCollection_Find add r4, r0, #0 - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r5, r0] diff --git a/asm/overlay_108.s b/asm/overlay_108.s index 757309a39d..fa12b6f9a1 100644 --- a/asm/overlay_108.s +++ b/asm/overlay_108.s @@ -5542,7 +5542,7 @@ ov108_021E84F8: ; 0x021E84F8 mov r2, #0xa6 bl ReplaceCharResObjFromNarc add r0, r4, #0 - bl sub_0200AE8C + bl SpriteTransfer_ReplaceCharData add sp, #8 pop {r4, pc} .balign 4, 0 @@ -5811,11 +5811,11 @@ ov108_021E8718: ; 0x021E8718 mov r0, #0x55 lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200AED4 + bl SpriteTransfer_DeleteAllCharTransferTasks mov r0, #0x56 lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200B0CC + bl SpriteTransfer_DeleteAllPlttTransferTasks mov r7, #0x55 lsl r7, r7, #2 add r6, r7, #0 @@ -5879,17 +5879,17 @@ _021E879A: _021E87A8: ldr r0, [r6] ldr r0, [r0, r4] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd b _021E87C4 _021E87B2: ldr r0, [r6] ldr r0, [r0, r4] - bl sub_0200AE18 + bl SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd b _021E87C4 _021E87BC: ldr r0, [r6] ldr r0, [r0, r4] - bl sub_0200AD64 + bl SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW _021E87C4: add r7, r7, #1 add r4, r4, #4 @@ -5956,7 +5956,7 @@ _021E8806: _021E8844: ldr r0, [r4] ldr r0, [r0] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} thumb_func_end ov108_021E8758 diff --git a/asm/overlay_112.s b/asm/overlay_112.s index 4b4ec249a1..707aef4385 100644 --- a/asm/overlay_112.s +++ b/asm/overlay_112.s @@ -21456,11 +21456,11 @@ _021F057E: mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask add r0, r4, #1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 @@ -22048,11 +22048,11 @@ _021F09E6: str r0, [r5, r1] sub r1, #0xc ldr r0, [r5, r1] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask mov r0, #2 str r0, [sp] str r0, [sp, #4] @@ -22115,11 +22115,11 @@ _021F09E6: str r0, [r5, r1] sub r1, #0xc ldr r0, [r5, r1] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd mov r0, #0x59 lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .balign 4, 0 @@ -22284,7 +22284,7 @@ ov112_021F0C50: ; 0x021F0C50 ldr r4, [r5, r0] sub r0, r0, #4 ldr r0, [r5, r0] - bl sub_0200AF00 + bl SpriteTransfer_GetCharProxy add r6, r0, #0 add r0, r4, #0 add r1, r6, #0 diff --git a/asm/overlay_18.s b/asm/overlay_18.s index f03dd3f743..29227f5b51 100644 --- a/asm/overlay_18.s +++ b/asm/overlay_18.s @@ -21850,7 +21850,7 @@ ov18_021F9108: ; 0x021F9108 mov r0, #0x87 lsl r0, r0, #2 ldr r0, [r4, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r1, #0x1e lsl r1, r1, #4 ldr r0, [r4, r1] @@ -21994,7 +21994,7 @@ ov18_021F922C: ; 0x021F922C add r1, r7, #0 bl AddCharResObjFromOpenNarc str r0, [r5] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd ldr r0, [r5] bl sub_0200A740 mov r0, #0 @@ -22055,7 +22055,7 @@ ov18_021F92AC: ; 0x021F92AC mov r3, #0 bl AddPlttResObjFromOpenNarc add r4, r0, #0 - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask add r0, r4, #0 bl sub_0200A740 add r0, r4, #0 @@ -22070,9 +22070,9 @@ ov18_021F92DC: ; 0x021F92DC add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, [r5, #4] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask ldr r0, [r4] ldr r1, [r5] bl DestroySingle2DGfxResObj diff --git a/asm/overlay_27.s b/asm/overlay_27.s index e572da0d11..fac9661aa2 100644 --- a/asm/overlay_27.s +++ b/asm/overlay_27.s @@ -271,7 +271,7 @@ _0225A1C8: lsl r7, r7, #2 _0225A1EA: ldr r0, [r5, r7] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask add r4, r4, #1 add r5, #0x10 cmp r4, #0xb @@ -282,7 +282,7 @@ _0225A1EA: lsl r7, r7, #2 _0225A200: ldr r0, [r4, r7] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask add r5, r5, #1 add r4, #0x10 cmp r5, #0xb @@ -2036,11 +2036,11 @@ _0225AFAC: bl AddPlttResObjFromNarc str r0, [r4, #4] ldr r0, [r4] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd ldr r0, [r4] bl sub_0200A740 ldr r0, [r4, #4] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask ldr r0, [r4, #4] bl sub_0200A740 add sp, #0x24 @@ -4540,11 +4540,11 @@ ov27_0225C398: ; 0x0225C398 mov r0, #0xd5 lsl r0, r0, #2 ldr r0, [r7, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0xd6 lsl r0, r0, #2 ldr r0, [r7, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r6, #0xd1 mov r4, #0 add r5, r7, #0 @@ -5078,11 +5078,11 @@ _0225C75C: str r0, [r6, r1] sub r1, #0xc ldr r0, [r6, r1] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd mov r0, #0xd6 lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} thumb_func_end ov27_0225C72C diff --git a/asm/overlay_28.s b/asm/overlay_28.s index 64ea74cc02..c6ed2c8614 100644 --- a/asm/overlay_28.s +++ b/asm/overlay_28.s @@ -532,7 +532,7 @@ ov28_0225D92C: ; 0x0225D92C mov r3, #1 bl AddCharResObjFromOpenNarc str r0, [r5] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd ldr r0, [r5] bl sub_0200A740 ldr r0, [sp, #0x34] @@ -549,7 +549,7 @@ ov28_0225D92C: ; 0x0225D92C mov r3, #0 bl AddPlttResObjFromOpenNarc str r0, [r5, #4] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask ldr r0, [r5, #4] bl sub_0200A740 ldr r0, [sp, #0x38] @@ -791,11 +791,11 @@ ov28_0225DB54: ; 0x0225DB54 mov r0, #0x16 lsl r0, r0, #4 ldr r0, [r4, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x59 lsl r0, r0, #2 ldr r0, [r4, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask pop {r4, pc} thumb_func_end ov28_0225DB54 @@ -875,11 +875,11 @@ _0225DC08: mov r0, #0x17 lsl r0, r0, #4 ldr r0, [r7, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x5d lsl r0, r0, #2 ldr r0, [r7, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask pop {r3, r4, r5, r6, r7, pc} thumb_func_end ov28_0225DBFC diff --git a/asm/overlay_29.s b/asm/overlay_29.s index 2c40460853..3e5ead3a2a 100644 --- a/asm/overlay_29.s +++ b/asm/overlay_29.s @@ -454,7 +454,7 @@ ov29_0225D880: ; 0x0225D880 mov r3, #0 bl AddCharResObjFromOpenNarc str r0, [r5] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd ldr r0, [r5] bl sub_0200A740 ldr r0, [sp, #0x34] @@ -471,7 +471,7 @@ ov29_0225D880: ; 0x0225D880 mov r3, #0 bl AddPlttResObjFromOpenNarc str r0, [r5, #4] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask ldr r0, [r5, #4] bl sub_0200A740 ldr r0, [sp, #0x38] @@ -775,19 +775,19 @@ _0225DB44: mov r0, #0x59 lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x5a lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r0, #0x55 lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x56 lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask pop {r3, r4, r5, r6, r7, pc} thumb_func_end ov29_0225DB38 diff --git a/asm/overlay_32.s b/asm/overlay_32.s index 6fa2a2bdc9..eca938d9de 100644 --- a/asm/overlay_32.s +++ b/asm/overlay_32.s @@ -753,7 +753,7 @@ ov32_0225DB1C: ; 0x0225DB1C mov r3, #1 bl AddCharResObjFromOpenNarc str r0, [r5] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd ldr r0, [r5] bl sub_0200A740 ldr r0, [sp, #0x34] @@ -770,7 +770,7 @@ ov32_0225DB1C: ; 0x0225DB1C mov r3, #0 bl AddPlttResObjFromOpenNarc str r0, [r5, #4] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask ldr r0, [r5, #4] bl sub_0200A740 ldr r0, [sp, #0x38] @@ -969,11 +969,11 @@ _0225DCE0: mov r0, #0xa2 lsl r0, r0, #2 ldr r0, [r7, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0xa3 lsl r0, r0, #2 ldr r0, [r7, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask pop {r3, r4, r5, r6, r7, pc} thumb_func_end ov32_0225DCD4 diff --git a/asm/overlay_34.s b/asm/overlay_34.s index 6f1c99489e..fa9967010e 100644 --- a/asm/overlay_34.s +++ b/asm/overlay_34.s @@ -432,11 +432,11 @@ ov34_0225D87C: ; 0x0225D87C mov r0, #0x59 lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x5a lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r7, #0x55 mov r4, #0 add r5, r6, #0 @@ -716,11 +716,11 @@ _0225DA6C: str r0, [r6, r1] sub r1, #0xc ldr r0, [r6, r1] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd mov r0, #0x5a lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop diff --git a/asm/overlay_37.s b/asm/overlay_37.s index 1fe8c38769..addd418980 100644 --- a/asm/overlay_37.s +++ b/asm/overlay_37.s @@ -328,19 +328,19 @@ _021E5BC4: mov r0, #0x17 lsl r0, r0, #4 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #6 lsl r0, r0, #6 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x5d lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r0, #0x61 lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r4, #0 add r5, r6, #0 _021E5BF8: @@ -1072,19 +1072,19 @@ _021E6104: str r0, [r5, r1] sub r1, #0x1c ldr r0, [r5, r1] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask mov r0, #6 lsl r0, r0, #6 ldr r0, [r5, r0] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask mov r0, #0x5d lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask mov r0, #0x61 lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end ov37_021E60C0 diff --git a/asm/overlay_41.s b/asm/overlay_41.s index 1e537db135..f89350839c 100644 --- a/asm/overlay_41.s +++ b/asm/overlay_41.s @@ -607,7 +607,7 @@ ov41_022462E4: ; 0x022462E4 str r4, [sp, #8] ldr r0, [r0, #0x48] bl AddCharResObjFromOpenNarc - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd add sp, #0xc pop {r3, r4, pc} .balign 4, 0 @@ -627,7 +627,7 @@ ov41_02246304: ; 0x02246304 str r4, [sp, #0xc] ldr r0, [r0, #0x4c] bl AddPlttResObjFromOpenNarc - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask add sp, #0x10 pop {r4, pc} .balign 4, 0 @@ -11062,7 +11062,7 @@ ov41_0224AFF8: ; 0x0224AFF8 mov r3, #0 bl AddCharResObjFromOpenNarc str r0, [r5] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd ldr r0, [r5] bl sub_0200A740 ldr r2, [sp, #0x2c] @@ -11078,7 +11078,7 @@ ov41_0224AFF8: ; 0x0224AFF8 ldr r0, [r4, #4] bl AddPlttResObjFromOpenNarc str r0, [r5, #4] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask ldr r0, [r5, #4] bl sub_0200A740 ldr r2, [sp, #0x30] @@ -11114,9 +11114,9 @@ ov41_0224B084: ; 0x0224B084 add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, [r5, #4] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask ldr r0, [r4] ldr r1, [r5] bl DestroySingle2DGfxResObj diff --git a/asm/overlay_43.s b/asm/overlay_43.s index ef7c41cd25..4237187e41 100644 --- a/asm/overlay_43.s +++ b/asm/overlay_43.s @@ -1097,7 +1097,7 @@ _0222A706: add r0, r6, #0 add r0, #0xac ldr r0, [r0] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd cmp r0, #0 bne _0222A7AC bl GF_AssertFail @@ -1105,7 +1105,7 @@ _0222A7AC: add r0, r6, #0 add r0, #0xb0 ldr r0, [r0] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask cmp r0, #0 bne _0222A7BE bl GF_AssertFail @@ -1161,11 +1161,11 @@ ov43_0222A81C: ; 0x0222A81C add r7, r0, #0 add r0, #0xac ldr r0, [r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask add r0, r7, #0 add r0, #0xb0 ldr r0, [r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r6, #0x79 mov r4, #0 add r5, r7, #0 diff --git a/asm/overlay_44.s b/asm/overlay_44.s deleted file mode 100644 index d5aba49437..0000000000 --- a/asm/overlay_44.s +++ /dev/null @@ -1,545 +0,0 @@ - .include "asm/macros.inc" - .include "overlay_44.inc" - .include "global.inc" - - .text - - - - - - - .rodata - - - -.public ov44_02235604 -ov44_02235604: ; 0x02235604 - .byte 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x03, 0x00, 0x58, 0x21, 0x00 - -.public ov44_0223560F -ov44_0223560F: ; 0x0223560F - .byte 0x00 - -.public ov44_02235610 -ov44_02235610: ; 0x02235610 - .byte 0x00 - -.public ov44_02235611 -ov44_02235611: ; 0x02235611 - .byte 0x00 - -.public ov44_02235612 -ov44_02235612: ; 0x02235612 - .byte 0x01, 0x01, 0x02, 0x01, 0x00, 0x01, 0x04, 0x01, 0x01, 0x01, 0x02, 0x01, 0x00, 0x00 - .byte 0x00, 0x00, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x04, 0x01, 0x00, 0x01, 0x03, 0x01, 0x01, 0x00 - -.public ov44_02235630 -ov44_02235630: ; 0x02235630 - .byte 0x10, 0x00, 0x0B, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x16, 0x00, 0x0B, 0x00, 0x1C, 0x00, 0x0B, 0x00 - -ov44_02235640: - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - -ov44_02235900: - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - -ov44_02235BC0: - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - -ov44_02235F88: - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 - .byte 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 - .byte 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 - .byte 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 - .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 - .byte 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - -.public ov44_02236458 -ov44_02236458: ; 0x02236458 - .byte 0x08, 0x00, 0x04, 0x0C - -.public ov44_0223645C -ov44_0223645C: ; 0x0223645C - .byte 0x02, 0x19, 0x0D, 0x05 - .byte 0x04, 0x01, 0x39, 0x00 - -.public ov44_02236464 -ov44_02236464: ; 0x02236464 - .word ov44_02234324 - .word ov44_02234328 - .word ov44_0223435C - .word ov44_02234388 - -.public ov44_02236474 -ov44_02236474: ; 0x02236474 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - -.public ov44_02236484 -ov44_02236484: ; 0x02236484 - .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x40, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - -.public ov44_02236494 -ov44_02236494: ; 0x02236494 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1A, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -.public ov44_022364B0 -ov44_022364B0: ; 0x022364B0 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x1C, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -.public ov44_022364CC -ov44_022364CC: ; 0x022364CC - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1B, 0x02 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -.public ov44_022364E8 -ov44_022364E8: ; 0x022364E8 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -.public ov44_02236510 -ov44_02236510: ; 0x02236510 - .byte 0xD0, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x48, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x60, 0x00, 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x48, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - -.public ov44_02236540 -ov44_02236540: ; 0x02236540 - .word ov44_02234BF0 - .word ov44_02234C10 - .word Wifi_PromptAwaitingResponse - .word ov44_02234C88 - .word ov44_02234CE8 - .word ov44_02234D28 - .word ov44_02234D4C - .word ov44_02234D88 - .word Wifi_PromptAwaitingMembers - .word ov44_02234DE4 - .word ov44_02234E08 - .word ov44_02234EA4 - .word ov44_02234EF4 - .word ov44_02234F44 - .word ov44_02234F60 - .word ov44_02234F88 - .word Wifi_PromptMemberDrop - .word ov44_02234FDC - .word Wifi_PromptToggleVoiceChat_ - .word ov44_02235038 - .word ov44_02235090 - .word ov44_02235100 - .word ov44_02235158 - .word ov44_0223518C - .word ov44_022351BC - .word ov44_022351DC - .word ov44_02235218 - .word ov44_02235268 - .word ov44_0223532C - .word ov44_02235340 - -.public ov44_022365B8 -ov44_022365B8: ; 0x022365B8 - .word ov44_02234474 - .word Wifi_PromptReadyMessage - .word ov44_022344C4 - .word Wifi_PromptUserJoinRequest - .word ov44_022345C8 - .word ov44_022345FC - .word Wifi_PromptInsufficientMembers - .word ov44_022346B4 - .word Wifi_PromptConfirmMembers - .word ov44_022346E8 - .word ov44_0223471C - .word ov44_02234764 - .word ov44_0223479C - .word ov44_022347D4 - .word ov44_022347FC - .word ov44_02234828 - .word ov44_02234858 - .word ov44_022348A8 - .word ov44_022348C4 - .word Wifi_PromptStopFindingMembers - .word ov44_02234904 - .word ov44_02234944 - .word Wifi_PromptDropAsLeader - .word ov44_022349B4 - .word ov44_022349F4 - .word Wifi_PromptCancelInvites - .word ov44_02234A68 - .word ov44_02234AA8 - .word Wifi_PromptMemberDropped - .word ov44_02234B18 - .word Wifi_PromptToggleVoiceChat - .word ov44_02234B80 - .word ov44_02234BB4 - -.public ov44_0223663C -ov44_0223663C: ; 0x0223663C - .byte 0x05, 0x04, 0x03, 0x02 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00 - - .data - -.public _02236660 -_02236660: - .byte 0x1E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00 - .byte 0x29, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00 - -.public ov44_02236680 -ov44_02236680: ; 0x02236680 - .word ov44_02230300 - .word ov44_02230E5C - .word ov44_022307E0 - .word ov44_022308B0 - .word ov44_02230B2C - .word ov44_02230C68 - .word ov44_02230D8C - -.public ov44_0223669C -ov44_0223669C: ; 0x0223669C - .byte 0x47, 0x00, 0x00, 0x00 - .byte 0x17, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00 - .byte 0x1B, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF - -.public ov44_022366BC -ov44_022366BC: ; 0x022366BC - .byte 0x5F, 0x00, 0x00, 0x00 - .byte 0x0B, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF - -.public ov44_022366DC -ov44_022366DC: ; 0x022366DC - .byte 0x62, 0x00, 0x00, 0x00 - .byte 0x0E, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 - .byte 0x0D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF - -.public ov44_022366FC -ov44_022366FC: ; 0x022366FC - .byte 0x00, 0x00, 0x00, 0x00 - .word ov44_0222C288 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00 - .byte 0x00, 0x08, 0x00, 0x10, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -.public ov44_0223671C -ov44_0223671C: ; 0x0223671C - .byte 0x5D, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00 - .byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -.public ov44_0223676C -ov44_0223676C: ; 0x0223676C - .word ov44_0222B228 - .word ov44_0222B36C - .word ov44_0222B3A8 - .word ov44_0222B42C - .word ov44_0222B494 - .word ov44_0222B528 - .word ov44_0222B64C - .word ov44_0222BA6C - .word ov44_0222BAB8 - .word ov44_0222BAC4 - .word ov44_0222BAD0 - .word ov44_0222BB38 - .word ov44_0222BBA4 - .word ov44_0222BC78 - .word ov44_0222B744 - .word ov44_0222BE3C - .word ov44_0222C060 - .word ov44_0222C084 - .word ov44_0222C35C - .word ov44_0222C684 - .word ov44_0222C9AC - .word ov44_0222C9F4 - .word ov44_0222CB34 - .word ov44_0222CB7C - .word ov44_0222CC34 - .word ov44_0222CDAC - .word ov44_0222CE40 - .word ov44_0222CFE0 - .word ov44_0222D0A4 - .word ov44_0222D10C - .word ov44_0222D1BC - .word ov44_0222D1C0 - .word ov44_0222D1C4 - .word ov44_0222EB90 - .word ov44_0222F4E0 - .word ov44_0222D1C8 - .word ov44_0222D3DC - .word ov44_0222D594 - .word ov44_0222DA64 - .word ov44_0222D214 - .word ov44_0222D23C - .word ov44_0222D2B0 - .word ov44_0222DC18 - .word ov44_0222DD64 - .word ov44_0222E090 - .word ov44_0222E45C - .word ov44_0222E62C - .word ov44_0222E630 - .word ov44_0222E634 - .word ov44_0222E860 - .word ov44_0222E908 - .word ov44_0222E948 - .word ov44_0222E9C4 - .word ov44_0222EA2C - .word ov44_0222EBB8 - .word ov44_0222EBC4 - .word ov44_0222EC14 - .word ov44_0222EC2C - .word ov44_0222EC98 - .word ov44_0222EDB8 - .word ov44_0222EE10 - .word ov44_0222EE54 - .word ov44_0222EED4 - .word ov44_0222F0AC - .word ov44_0222F194 - .word ov44_0222BFF0 - .word ov44_0222E5D8 - .word ov44_0222E5DC - .word ov44_0222D824 - .word ov44_0222BEE0 - .word ov44_0222E5E0 - .word ov44_0222BF6C - -.public ov44_0223688C -ov44_0223688C: ; 0x0223688C - .word ov44_02235640 - .word ov44_02235900 - .word ov44_02235BC0 - .word ov44_02235F88 - -.public ov44_0223689C -ov44_0223689C: ; 0x0223689C - .byte 0x7E, 0x7F, 0x7F, 0x7F - - .bss - -.public _022368A0 -_022368A0: ; _022368A0 - .space 0x20 diff --git a/asm/overlay_47.s b/asm/overlay_47.s index 9028bcaded..989b5968de 100644 --- a/asm/overlay_47.s +++ b/asm/overlay_47.s @@ -811,13 +811,13 @@ ov47_02258DD0: ; 0x02258DD0 bl AddPlttResObjFromOpenNarc str r0, [r5, #0x1c] ldr r0, [r5, #0x18] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd cmp r0, #0 bne _02258E6C bl GF_AssertFail _02258E6C: ldr r0, [r5, #0x1c] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask cmp r0, #0 bne _02258E7A bl GF_AssertFail @@ -1166,9 +1166,9 @@ ov47_0225912C: ; 0x0225912C ldr r0, [r5, #0x14] bl Sprite_Delete ldr r0, [r5, #0x18] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, [r5, #0x1c] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r7, #0x13 mov r6, #0 lsl r7, r7, #4 diff --git a/asm/overlay_48.s b/asm/overlay_48.s index 4b5abebef7..cd5cc177f4 100644 --- a/asm/overlay_48.s +++ b/asm/overlay_48.s @@ -4671,7 +4671,7 @@ ov48_0225AAAC: ; 0x0225AAAC bl AddPlttResObjFromOpenNarc ldr r1, [sp, #0x2c] str r0, [r1, #0x70] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask cmp r0, #0 bne _0225AB18 bl GF_AssertFail @@ -4735,7 +4735,7 @@ _0225AB32: bl AddCellOrAnimResObjFromOpenNarc str r0, [r4, #0x78] ldr r0, [r4, #0x6c] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd cmp r0, #0 bne _0225ABA0 bl GF_AssertFail @@ -4826,12 +4826,12 @@ _0225AC4A: ldr r0, [r0, #0x3c] bl Sprite_Delete ldr r0, [r7, #0x6c] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, [sp, #8] cmp r0, #0 bne _0225AC72 ldr r0, [r7, #0x70] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r0, #0x4d ldr r1, [sp, #4] lsl r0, r0, #2 diff --git a/asm/overlay_49.s b/asm/overlay_49.s index 8f2a7393f7..b032eff565 100644 --- a/asm/overlay_49.s +++ b/asm/overlay_49.s @@ -5153,9 +5153,9 @@ ov49_0225AD20: ; 0x0225AD20 add r0, r6, #0 bl NARC_Delete ldr r0, [r7, #0x40] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd ldr r0, [r7, #0x44] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask ldr r1, _0225AE44 ; =0x00001388 mov r0, #0 str r1, [sp] @@ -5258,9 +5258,9 @@ _0225AE70: cmp r7, #2 blt _0225AE70 ldr r0, [r5, #0x40] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, [r5, #0x44] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r7, #0x13 mov r4, #0 lsl r7, r7, #4 @@ -7671,7 +7671,7 @@ _0225C010: mov r3, #0 bl AddCharResObjFromOpenNarc str r0, [r5, #0x58] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd cmp r0, #0 bne _0225C052 bl GF_AssertFail @@ -7692,7 +7692,7 @@ _0225C052: mov r3, #0 bl AddPlttResObjFromOpenNarc str r0, [r5, #0x5c] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask cmp r0, #0 bne _0225C082 bl GF_AssertFail @@ -7801,9 +7801,9 @@ ov49_0225C148: ; 0x0225C148 mov r0, #0 str r0, [r5, #0x54] ldr r0, [r5, #0x58] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, [r5, #0x5c] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r7, #0x13 mov r6, #0 lsl r7, r7, #4 @@ -7866,7 +7866,7 @@ _0225C1AA: mov r3, #0 bl AddCharResObjFromNarc str r0, [r6, #0x6c] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd cmp r0, #0 bne _0225C1E4 bl GF_AssertFail @@ -7889,7 +7889,7 @@ _0225C1E4: bl GF2DGfxResObj_GetPlttDataPtr bl ov49_0225C368 ldr r0, [r6, #0x70] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask cmp r0, #0 bne _0225C21A bl GF_AssertFail @@ -8033,9 +8033,9 @@ ov49_0225C328: ; 0x0225C328 mov r0, #0 str r0, [r5, #0x68] ldr r0, [r5, #0x6c] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, [r5, #0x70] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r7, #0x13 mov r6, #0 lsl r7, r7, #4 @@ -8351,7 +8351,7 @@ _0225C558: add r0, r4, #0 add r0, #0xac ldr r0, [r0] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask cmp r0, #0 bne _0225C596 bl GF_AssertFail @@ -8465,7 +8465,7 @@ _0225C64A: add r0, r7, #0 add r0, #0xbc ldr r0, [r0] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd cmp r0, #0 bne _0225C67E bl GF_AssertFail @@ -8614,7 +8614,7 @@ _0225C796: add r0, r4, #0 add r0, #0xbc ldr r0, [r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x13 add r1, r4, #0 lsl r0, r0, #4 @@ -8639,7 +8639,7 @@ _0225C7D8: ldr r0, [r0] cmp r0, #0 beq _0225C81C - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r0, #0x4d add r1, r5, #0 lsl r0, r0, #2 diff --git a/asm/overlay_65.s b/asm/overlay_65.s index 1bc612c45c..e2ed05adf2 100644 --- a/asm/overlay_65.s +++ b/asm/overlay_65.s @@ -1726,19 +1726,19 @@ ov65_0221CCB0: ; 0x0221CCB0 mov r0, #0xb7 lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0xbb lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x2e lsl r0, r0, #4 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r0, #0x2f lsl r0, r0, #4 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r7, #0xb3 mov r4, #0 add r5, r6, #0 @@ -2732,19 +2732,19 @@ _0221D424: str r0, [r5, r1] sub r1, #0x1c ldr r0, [r5, r1] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask mov r0, #0xbb lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask mov r0, #0x2e lsl r0, r0, #4 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask mov r0, #0x2f lsl r0, r0, #4 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask bl sub_02074490 add r1, r0, #0 mov r0, #0x80 diff --git a/asm/overlay_70.s b/asm/overlay_70.s index df2d68c73f..ceb80cb7f6 100644 --- a/asm/overlay_70.s +++ b/asm/overlay_70.s @@ -2282,17 +2282,17 @@ _02238970: str r0, [r5, r1] sub r1, #0x1c ldr r0, [r5, r1] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask mov r0, #0x35 lsl r0, r0, #6 ldr r0, [r5, r0] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask ldr r0, _02238B3C ; =0x00000D34 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask ldr r0, _02238B48 ; =0x00000D44 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask bl sub_02074490 add r1, r0, #0 mov r0, #0x14 @@ -2825,17 +2825,17 @@ ov70_02238E98: ; 0x02238E98 mov r0, #0xd3 lsl r0, r0, #4 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x35 lsl r0, r0, #6 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, _02238EF8 ; =0x00000D34 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask ldr r0, _02238EFC ; =0x00000D44 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r7, #0xd2 mov r4, #0 add r5, r6, #0 diff --git a/asm/overlay_72.s b/asm/overlay_72.s index 633753f4f4..b8d0886f56 100644 --- a/asm/overlay_72.s +++ b/asm/overlay_72.s @@ -1354,22 +1354,22 @@ _022381EC: str r0, [r5, r1] sub r1, #0x2c ldr r0, [r5, r1] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask ldr r0, _022383C4 ; =0x00000D44 ldr r0, [r5, r0] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask ldr r0, _022383D0 ; =0x00000D54 ldr r0, [r5, r0] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask ldr r0, _022383BC ; =0x00000D38 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask ldr r0, _022383C8 ; =0x00000D48 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask ldr r0, _022383D4 ; =0x00000D58 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask add r0, r7, #0 bl NARC_Delete ldr r0, [sp, #0x14] @@ -1910,16 +1910,16 @@ ov72_02238800: ; 0x02238800 add r6, r0, #0 ldr r0, _02238854 ; =0x00000D34 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, _02238858 ; =0x00000D44 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, _0223885C ; =0x00000D38 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask ldr r0, _02238860 ; =0x00000D48 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask ldr r7, _02238864 ; =0x00000D24 mov r4, #0 add r5, r6, #0 diff --git a/asm/overlay_73.s b/asm/overlay_73.s index de0f84fb8b..af2f819723 100644 --- a/asm/overlay_73.s +++ b/asm/overlay_73.s @@ -315,11 +315,11 @@ ov73_021E5BAC: ; 0x021E5BAC mov r0, #0x6b lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x1b lsl r0, r0, #4 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r7, #0x5f mov r4, #0 add r5, r6, #0 @@ -1000,11 +1000,11 @@ _021E60D8: str r0, [r6, r1] sub r1, #0xc ldr r0, [r6, r1] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask mov r0, #0x1b lsl r0, r0, #4 ldr r0, [r6, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} thumb_func_end ov73_021E6090 @@ -5263,10 +5263,10 @@ _021E81E8: str r0, [r6, r1] sub r1, #0xc ldr r0, [r6, r1] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask ldr r0, _021E82A0 ; =0x00000D38 ldr r0, [r6, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask ldr r0, [sp, #0x14] bl NARC_Delete add sp, #0x18 @@ -5533,10 +5533,10 @@ ov73_021E847C: ; 0x021E847C add r6, r0, #0 ldr r0, _021E84C0 ; =0x00000D34 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, _021E84C4 ; =0x00000D38 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask ldr r7, _021E84C8 ; =0x00000D24 mov r4, #0 add r5, r6, #0 diff --git a/asm/overlay_74_thumb.s b/asm/overlay_74_thumb.s index 3c34972d92..8d696115ee 100644 --- a/asm/overlay_74_thumb.s +++ b/asm/overlay_74_thumb.s @@ -4481,13 +4481,13 @@ ov74_0222AF28: ; 0x0222AF28 bl AddCellOrAnimResObjFromNarc str r0, [r4, #0x7c] ldr r0, [r4, #0x58] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask ldr r0, [r4, #0x70] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask ldr r0, [r4, #0x5c] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask ldr r0, [r4, #0x74] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask mov r0, #0 mov r5, #0x4b ldr r2, [r4, #0xc] @@ -18268,11 +18268,11 @@ _02231C36: str r0, [r6, r1] sub r1, #0xc ldr r0, [r6, r1] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask mov r0, #0x17 lsl r0, r0, #4 ldr r0, [r6, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask bl sub_02074490 add r1, r0, #0 mov r0, #0 @@ -20554,11 +20554,11 @@ _02232EB4: mov r0, #0x5b lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x17 lsl r0, r0, #4 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r7, #0x55 mov r5, #0 add r4, r6, #0 @@ -26042,12 +26042,12 @@ _0223580C: add r1, r5, r6 lsl r0, r0, #2 ldr r0, [r1, r0] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask mov r0, #0x5f add r1, r5, r6 lsl r0, r0, #2 ldr r0, [r1, r0] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask mov r0, #0 mov r2, #0x16 str r4, [sp] @@ -26280,7 +26280,7 @@ _022359DA: ldr r0, [r0, r1] cmp r0, #0 beq _022359EA - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _022359EA: mov r1, #0x57 ldr r0, _02235A64 ; =ov74_0223D488 @@ -26288,7 +26288,7 @@ _022359EA: ldr r0, [r0, r1] cmp r0, #0 beq _022359FA - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _022359FA: mov r1, #0x52 ldr r0, _02235A64 ; =ov74_0223D488 @@ -26296,7 +26296,7 @@ _022359FA: ldr r0, [r0, r1] cmp r0, #0 beq _02235A0A - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask _02235A0A: mov r1, #0x16 ldr r0, _02235A64 ; =ov74_0223D488 @@ -26304,7 +26304,7 @@ _02235A0A: ldr r0, [r0, r1] cmp r0, #0 beq _02235A1A - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask _02235A1A: mov r4, #0 mov r7, #0x4b diff --git a/asm/overlay_81.s b/asm/overlay_81.s index 8521a9bcb7..c7e0a28991 100644 --- a/asm/overlay_81.s +++ b/asm/overlay_81.s @@ -9636,9 +9636,9 @@ _022429C8: sub r6, #0x48 _02242A60: ldr r0, [r5, r7] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask ldr r0, [r5, r6] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask add r4, r4, #1 add r5, #0x10 cmp r4, #6 @@ -9757,9 +9757,9 @@ _02242B42: mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, [r6, r7] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask add r0, r4, #1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 diff --git a/asm/overlay_82.s b/asm/overlay_82.s index 5ace75d65d..39201c17fd 100644 --- a/asm/overlay_82.s +++ b/asm/overlay_82.s @@ -3764,9 +3764,9 @@ _0223F996: sub r6, #0x18 _0223FAD4: ldr r0, [r5, r7] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask ldr r0, [r5, r6] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask add r4, r4, #1 add r5, #0x10 cmp r4, #2 @@ -3890,9 +3890,9 @@ _0223FBC6: mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, [r6, r7] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask add r0, r4, #1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 diff --git a/asm/overlay_83.s b/asm/overlay_83.s index 2d43f80228..0acf04da4d 100644 --- a/asm/overlay_83.s +++ b/asm/overlay_83.s @@ -17919,7 +17919,7 @@ _022470D4: lsl r7, r7, #2 _02247110: ldr r0, [r4, r7] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask add r6, r6, #1 add r4, #0x10 cmp r6, #0xe @@ -17929,7 +17929,7 @@ _02247110: lsl r6, r6, #6 _02247124: ldr r0, [r5, r6] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask add r4, r4, #1 add r5, #0x10 cmp r4, #0xb @@ -18047,7 +18047,7 @@ _02247206: lsl r0, r4, #4 add r0, r5, r0 ldr r0, [r0, r6] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask add r0, r4, #1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 @@ -18060,7 +18060,7 @@ _02247220: lsl r0, r4, #4 add r0, r5, r0 ldr r0, [r0, r6] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask add r0, r4, #1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 @@ -18113,7 +18113,7 @@ ov83_02247264: ; 0x02247264 mov r2, #0x12 bl ReplaceCharResObjFromNarc add r0, r4, #0 - bl sub_0200AE8C + bl SpriteTransfer_ReplaceCharData add sp, #8 pop {r4, r5, r6, pc} thumb_func_end ov83_02247264 @@ -18143,7 +18143,7 @@ ov83_022472A0: ; 0x022472A0 mov r2, #0x12 bl ReplacePlttResObjFromNarc add r0, r4, #0 - bl sub_0200B084 + bl SpriteTransfer_ReplacePlttData add sp, #8 pop {r4, r5, r6, pc} thumb_func_end ov83_022472A0 diff --git a/asm/overlay_85.s b/asm/overlay_85.s index 3b6b99fdb5..d021ea2b37 100644 --- a/asm/overlay_85.s +++ b/asm/overlay_85.s @@ -6731,11 +6731,11 @@ ov85_021E8B08: ; 0x021E8B08 mov r0, #0x6f lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #7 lsl r0, r0, #6 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r7, #0x63 mov r4, #0 add r5, r6, #0 @@ -7375,11 +7375,11 @@ _021E8FD8: str r0, [r6, r1] sub r1, #0xc ldr r0, [r6, r1] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask mov r0, #7 lsl r0, r0, #6 ldr r0, [r6, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .balign 4, 0 diff --git a/asm/overlay_87.s b/asm/overlay_87.s index a29e49d956..c8d645f806 100644 --- a/asm/overlay_87.s +++ b/asm/overlay_87.s @@ -4454,9 +4454,9 @@ _021E7B44: add r6, r7, #4 _021E7B96: ldr r0, [r5, r7] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask ldr r0, [r5, r6] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask add r4, r4, #1 add r5, #0x10 cmp r4, #5 @@ -4849,9 +4849,9 @@ _021E7EA2: mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, [r6, r7] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask add r0, r4, #1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 @@ -4934,7 +4934,7 @@ _021E7F38: mov r2, #0xcf bl ReplacePlttResObjFromNarc add r0, r6, #0 - bl sub_0200B084 + bl SpriteTransfer_ReplacePlttData add sp, #8 pop {r4, r5, r6, pc} .balign 4, 0 diff --git a/asm/overlay_90.s b/asm/overlay_90.s index cde7282985..ba11628304 100644 --- a/asm/overlay_90.s +++ b/asm/overlay_90.s @@ -1056,7 +1056,7 @@ _02258EF6: bl AddCellOrAnimResObjFromOpenNarc str r0, [r4, #0x10] ldr r0, [r4, #4] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd cmp r0, #0 bne _02258F66 bl GF_AssertFail @@ -1064,7 +1064,7 @@ _02258F66: ldr r0, [r4, #4] bl sub_0200A740 ldr r0, [r4, #8] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask cmp r0, #0 bne _02258F7A bl GF_AssertFail @@ -1113,9 +1113,9 @@ _02258FC8: mov r0, #0 str r0, [r4] ldr r0, [r4, #4] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, [r4, #8] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r6, #0 _02258FDA: ldr r0, [r5] diff --git a/asm/overlay_91.s b/asm/overlay_91.s index e92411cd32..49aa19074c 100644 --- a/asm/overlay_91.s +++ b/asm/overlay_91.s @@ -5881,13 +5881,13 @@ ov91_0225F0C0: ; 0x0225F0C0 bl AddCellOrAnimResObjFromOpenNarc str r0, [r5, #0xc] ldr r0, [r5] - bl sub_0200AE18 + bl SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd cmp r0, #0 bne _0225F154 bl GF_AssertFail _0225F154: ldr r0, [r5, #4] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask cmp r0, #0 bne _0225F162 bl GF_AssertFail @@ -5963,9 +5963,9 @@ ov91_0225F1E8: ; 0x0225F1E8 add r4, r1, #0 bl Sprite_Delete ldr r0, [r5] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, [r5, #4] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] @@ -7152,7 +7152,7 @@ ov91_0225FB80: ; 0x0225FB80 str r0, [r5, r1] sub r1, #0xc ldr r0, [r5, r1] - bl sub_0200AE18 + bl SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd cmp r0, #0 bne _0225FC14 bl GF_AssertFail @@ -7160,7 +7160,7 @@ _0225FC14: mov r0, #6 lsl r0, r0, #6 ldr r0, [r5, r0] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask cmp r0, #0 bne _0225FC26 bl GF_AssertFail @@ -7218,11 +7218,11 @@ ov91_0225FC84: ; 0x0225FC84 mov r0, #0x5f lsl r0, r0, #2 ldr r0, [r4, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #6 lsl r0, r0, #6 ldr r0, [r4, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r1, #0x52 lsl r1, r1, #2 ldr r0, [r4, r1] @@ -8415,7 +8415,7 @@ _02260508: str r0, [r5, r1] sub r1, #0xc ldr r0, [r5, r1] - bl sub_0200AE18 + bl SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd cmp r0, #0 bne _022605C2 bl GF_AssertFail @@ -8423,7 +8423,7 @@ _022605C2: mov r0, #0x76 lsl r0, r0, #4 ldr r0, [r5, r0] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask cmp r0, #0 bne _022605D4 bl GF_AssertFail @@ -8515,11 +8515,11 @@ _0226067C: blt _0226067C ldr r0, _02260714 ; =0x0000075C ldr r0, [r5, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x76 lsl r0, r0, #4 ldr r0, [r5, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r0, #0x52 ldr r1, _02260714 ; =0x0000075C lsl r0, r0, #2 @@ -10563,13 +10563,13 @@ ov91_02261580: ; 0x02261580 bl AddCellOrAnimResObjFromOpenNarc str r0, [r5, #0xc] ldr r0, [r5] - bl sub_0200AE18 + bl SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd cmp r0, #0 bne _02261608 bl GF_AssertFail _02261608: ldr r0, [r5, #4] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask cmp r0, #0 bne _02261616 bl GF_AssertFail @@ -10671,7 +10671,7 @@ _022616D2: mov r3, #0 bl AddPlttResObjFromNarc str r0, [r5, #0x60] - bl sub_0200B00C + bl SpriteTransfer_CreatePlttTransferTask cmp r0, #0 bne _022616FA bl GF_AssertFail @@ -10754,7 +10754,7 @@ ov91_02261790: ; 0x02261790 add r4, r1, #0 bl TextOBJ_Destroy ldr r0, [r5, #0x60] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] @@ -10770,9 +10770,9 @@ ov91_02261790: ; 0x02261790 ldr r0, [r5, #0x34] bl Sprite_Delete ldr r0, [r5] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, [r5, #4] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] diff --git a/asm/overlay_96.s b/asm/overlay_96.s index 554ec22040..05613df680 100644 --- a/asm/overlay_96.s +++ b/asm/overlay_96.s @@ -5694,11 +5694,11 @@ _021E8ABC: lsl r0, r0, #2 ldr r0, [r5, r0] ldr r0, [r0, r6] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask ldr r0, [r5, r7] add r0, r0, r6 ldr r0, [r0, #4] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask add r0, r4, #1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 @@ -5891,7 +5891,7 @@ _021E8C14: lsl r0, r0, #2 ldr r0, [r6, r0] ldr r0, [r0, r5] - bl sub_0200AF00 + bl SpriteTransfer_GetCharProxy add r1, r0, #0 mov r0, #0x55 lsl r0, r0, #2 @@ -6028,14 +6028,14 @@ _021E8CC2: bl AddCellOrAnimResObjFromNarc str r0, [r4, #0xc] ldr r0, [r4] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd ldr r0, [r4, #4] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask mov r0, #0 str r0, [sp, #0x1c] str r0, [sp, #0x18] ldr r0, [r4] - bl sub_0200AF00 + bl SpriteTransfer_GetCharProxy str r0, [sp, #0x24] ldr r0, [r4, #4] ldr r1, [sp, #0x24] @@ -8085,56 +8085,56 @@ ov96_021E9C0C: ; 0x021E9C0C tst r0, r1 beq _021E9C1E ldr r0, [r5, #0x1c] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _021E9C1E: ldr r1, [r5, #4] mov r0, #4 tst r0, r1 beq _021E9C2C ldr r0, [r5, #0x20] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _021E9C2C: ldr r1, [r5, #4] mov r0, #2 tst r0, r1 beq _021E9C3A ldr r0, [r5, #0x24] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _021E9C3A: ldr r1, [r5, #4] mov r0, #8 tst r0, r1 beq _021E9C48 ldr r0, [r5, #0x28] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _021E9C48: ldr r1, [r5, #4] mov r0, #0x10 tst r0, r1 beq _021E9C56 ldr r0, [r5, #0x2c] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _021E9C56: ldr r1, [r5, #4] mov r0, #0x20 tst r0, r1 beq _021E9C64 ldr r0, [r5, #0x30] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _021E9C64: ldr r1, [r5, #4] mov r0, #0x40 tst r0, r1 beq _021E9C72 ldr r0, [r5, #0x34] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _021E9C72: ldr r1, [r5, #4] mov r0, #0x80 tst r0, r1 beq _021E9C80 ldr r0, [r5, #0x38] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _021E9C80: mov r0, #1 ldr r1, [r5, #4] @@ -8142,7 +8142,7 @@ _021E9C80: tst r0, r1 beq _021E9C90 ldr r0, [r5, #0x3c] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _021E9C90: mov r0, #2 ldr r1, [r5, #4] @@ -8150,7 +8150,7 @@ _021E9C90: tst r0, r1 beq _021E9CA0 ldr r0, [r5, #0x40] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _021E9CA0: mov r0, #1 ldr r1, [r5, #4] @@ -8158,7 +8158,7 @@ _021E9CA0: tst r0, r1 beq _021E9CB0 ldr r0, [r5, #0x44] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _021E9CB0: mov r0, #2 ldr r1, [r5, #4] @@ -8166,18 +8166,18 @@ _021E9CB0: tst r0, r1 beq _021E9CC0 ldr r0, [r5, #0x48] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _021E9CC0: add r0, r5, #0 add r0, #0xac ldr r0, [r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask add r0, r5, #0 add r0, #0xb0 ldr r0, [r0] cmp r0, #0 beq _021E9CD8 - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask _021E9CD8: mov r6, #0 add r4, r5, #0 @@ -8261,7 +8261,7 @@ ov96_021E9D10: ; 0x021E9D10 bl AddCellOrAnimResObjFromNarc str r0, [r4, #0x7c] ldr r0, [r4, #0x1c] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd _021E9D6E: ldr r1, [r4, #4] mov r0, #4 @@ -8306,7 +8306,7 @@ _021E9D6E: add r1, #0x80 str r0, [r1] ldr r0, [r4, #0x20] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd _021E9DCE: ldr r1, [r4, #4] mov r0, #2 @@ -8351,7 +8351,7 @@ _021E9DCE: add r1, #0x84 str r0, [r1] ldr r0, [r4, #0x24] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd _021E9E2E: ldr r0, [r4, #4] mov r2, #0x10 @@ -8395,7 +8395,7 @@ _021E9E2E: add r1, #0x8c str r0, [r1] ldr r0, [r4, #0x2c] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd _021E9E8C: ldr r1, [r4, #4] mov r0, #0x20 @@ -8440,7 +8440,7 @@ _021E9E8C: add r1, #0x90 str r0, [r1] ldr r0, [r4, #0x30] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd _021E9EEC: ldr r1, [r4, #4] mov r0, #8 @@ -8485,7 +8485,7 @@ _021E9EEC: add r1, #0x88 str r0, [r1] ldr r0, [r4, #0x28] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd _021E9F4C: ldr r1, [r4, #4] mov r0, #0x40 @@ -8530,7 +8530,7 @@ _021E9F4C: add r1, #0x94 str r0, [r1] ldr r0, [r4, #0x34] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd _021E9FAC: ldr r1, [r4, #4] mov r0, #0x80 @@ -8575,7 +8575,7 @@ _021E9FAC: add r1, #0x98 str r0, [r1] ldr r0, [r4, #0x38] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd _021EA00C: mov r0, #1 ldr r1, [r4, #4] @@ -8621,7 +8621,7 @@ _021EA00C: add r1, #0x9c str r0, [r1] ldr r0, [r4, #0x3c] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd _021EA06E: mov r0, #2 ldr r1, [r4, #4] @@ -8666,7 +8666,7 @@ _021EA06E: add r1, #0xa0 str r0, [r1] ldr r0, [r4, #0x40] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd _021EA0CE: mov r0, #1 ldr r1, [r4, #4] @@ -8712,7 +8712,7 @@ _021EA0CE: add r1, #0xa4 str r0, [r1] ldr r0, [r4, #0x44] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd _021EA130: mov r0, #2 ldr r1, [r4, #4] @@ -8758,7 +8758,7 @@ _021EA130: add r1, #0xa8 str r0, [r1] ldr r0, [r4, #0x48] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd _021EA192: ldr r1, [r4, #8] cmp r1, #2 @@ -8783,7 +8783,7 @@ _021EA19A: add r0, r4, #0 add r0, #0xac ldr r0, [r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask add r0, r4, #0 mov r1, #0 add r0, #0xb0 @@ -8819,7 +8819,7 @@ _021EA1E4: add r4, #0xb0 str r0, [r1] ldr r0, [r4] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask _021EA20E: add sp, #0x10 pop {r4, pc} @@ -10994,7 +10994,7 @@ _021EB22C: ldr r0, [r0, #4] cmp r0, #0 beq _021EB240 - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask _021EB240: mov r0, #0x15 lsl r0, r0, #4 @@ -11003,7 +11003,7 @@ _021EB240: ldr r0, [r0, #8] cmp r0, #0 beq _021EB252 - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask _021EB252: add r0, r4, #1 lsl r0, r0, #0x18 @@ -11202,7 +11202,7 @@ _021EB3B6: ldr r0, [r0, #4] cmp r0, #0 beq _021EB3C4 - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd _021EB3C4: mov r0, #0x15 lsl r0, r0, #4 @@ -11211,7 +11211,7 @@ _021EB3C4: ldr r0, [r0, #8] cmp r0, #0 beq _021EB3D6 - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask _021EB3D6: ldr r0, [r5, #0xc] add r6, r6, #1 @@ -29696,7 +29696,7 @@ _021F4420: ldr r0, [r0] str r0, [sp, #4] ldr r0, [sp, #8] - bl sub_0200AF00 + bl SpriteTransfer_GetCharProxy add r7, r0, #0 ldr r0, [sp, #4] add r1, r7, #0 @@ -38148,12 +38148,12 @@ _021F8772: ldr r0, [sp] lsl r1, r1, #6 ldr r0, [r0, r1] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r1, #0xb1 ldr r0, [sp] lsl r1, r1, #2 ldr r0, [r0, r1] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r6, #0xaa ldr r4, [sp] mov r5, #0 @@ -38503,11 +38503,11 @@ _021F89A2: str r0, [r5, r1] sub r1, #0xc ldr r0, [r5, r1] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd mov r0, #0xb1 lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} thumb_func_end ov96_021F8980 @@ -45435,12 +45435,12 @@ _021FC1B6: ldr r0, [sp] lsl r1, r1, #2 ldr r0, [r0, r1] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r1, #0x53 ldr r0, [sp] lsl r1, r1, #2 ldr r0, [r0, r1] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r6, #0x13 ldr r4, [sp] mov r5, #0 @@ -45695,11 +45695,11 @@ _021FC33C: str r0, [r5, r1] sub r1, #0xc ldr r0, [r5, r1] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask bl sub_02074490 add r1, r0, #0 mov r0, #0 @@ -54936,7 +54936,7 @@ _02200D90: bl ov96_021EB5EC ldr r5, [r0] add r0, r6, #0 - bl sub_0200AF00 + bl SpriteTransfer_GetCharProxy add r6, r0, #0 add r0, r5, #0 add r1, r6, #0 @@ -61107,7 +61107,7 @@ ov96_02203F50: ; 0x02203F50 bl ov96_021EB5EC ldr r5, [r0] add r0, r4, #0 - bl sub_0200AF00 + bl SpriteTransfer_GetCharProxy add r7, r0, #0 add r0, r5, #0 add r1, r7, #0 @@ -70435,7 +70435,7 @@ _022089E4: bl ov96_021EB5EC ldr r5, [r0] add r0, r6, #0 - bl sub_0200AF00 + bl SpriteTransfer_GetCharProxy add r6, r0, #0 add r0, r5, #0 add r1, r6, #0 diff --git a/asm/overlay_97.s b/asm/overlay_97.s index 3cafc7ae99..2235401621 100644 --- a/asm/overlay_97.s +++ b/asm/overlay_97.s @@ -1353,11 +1353,11 @@ _0221F092: mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask add r0, r4, #1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 @@ -2327,11 +2327,11 @@ _0221F80E: str r0, [r5, r1] sub r1, #0xc ldr r0, [r5, r1] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask mov r0, #2 str r0, [sp] str r0, [sp, #4] @@ -2394,11 +2394,11 @@ _0221F80E: str r0, [r5, r1] sub r1, #0xc ldr r0, [r5, r1] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd mov r0, #0x59 lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask mov r0, #3 str r0, [sp] mov r0, #2 @@ -2463,11 +2463,11 @@ _0221F80E: str r0, [r5, r1] sub r1, #0xc ldr r0, [r5, r1] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd mov r0, #0x5f lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .balign 4, 0 @@ -2706,7 +2706,7 @@ ov97_0221FBA0: ; 0x0221FBA0 ldr r4, [r5, r0] sub r0, r0, #4 ldr r0, [r5, r0] - bl sub_0200AF00 + bl SpriteTransfer_GetCharProxy add r6, r0, #0 add r0, r4, #0 add r1, r6, #0 diff --git a/asm/overlay_trainer_card_main.s b/asm/overlay_trainer_card_main.s index bd52ccf73b..2942823d01 100644 --- a/asm/overlay_trainer_card_main.s +++ b/asm/overlay_trainer_card_main.s @@ -3815,11 +3815,11 @@ _021E79AE: add r0, r1, #0 sub r0, #0xc ldr r0, [r4, r0] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask add r5, r5, #1 add r7, r7, #4 add r6, r6, #4 @@ -4132,19 +4132,19 @@ _021E7CAE: mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x57 lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r5, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r0, #0x16 lsl r0, r0, #4 ldr r0, [r5, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r7, #0x4f mov r4, #0 lsl r7, r7, #2 diff --git a/asm/overlay_trainer_card_signature.s b/asm/overlay_trainer_card_signature.s index a46880e79f..bbd38b8137 100644 --- a/asm/overlay_trainer_card_signature.s +++ b/asm/overlay_trainer_card_signature.s @@ -234,19 +234,19 @@ TrainerCardSignature_Exit: ; 0x021E82AC mov r0, #0x5e lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x62 lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x5f lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r0, #0x63 lsl r0, r0, #2 ldr r0, [r6, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r7, #0x5a mov r4, #0 add r5, r6, #0 @@ -890,19 +890,19 @@ _021E8750: str r0, [r5, r1] sub r1, #0x1c ldr r0, [r5, r1] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask mov r0, #0x62 lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200ACF0 + bl SpriteTransfer_CreateCharTransferTask mov r0, #0x5f lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask mov r0, #0x63 lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end ov52_021E870C diff --git a/asm/render_window.s b/asm/render_window.s index 5b67720d39..b6ab077f3f 100644 --- a/asm/render_window.s +++ b/asm/render_window.s @@ -9,8 +9,7 @@ _020F5C40: _020F5C50: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 _020F5C60: - .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .word 1, 1, 1, 1, 0, 0 _020F5C78: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD5, 0x5C, 0x01, 0x00 @@ -2262,7 +2261,7 @@ _0200F564: ldr r0, [r4, r0] bl Sprite_DeleteAndFreeResources add r0, r4, #0 - bl ov01_021E86F4 + bl FieldSpriteManager_ReleaseWithoutResDat add r0, r5, #0 bl DestroySysTaskAndEnvironment pop {r3, r4, r5, pc} @@ -2349,7 +2348,7 @@ sub_0200F600: ; 0x0200F600 add r1, r2, #0 add r0, r6, #0 mov r2, #1 - bl ov01_021E8298 + bl FieldSpriteManager_InitEmptyResLists add sp, #0x18 pop {r4, r5, r6, pc} .balign 4, 0 @@ -2369,21 +2368,21 @@ sub_0200F62C: ; 0x0200F62C mov r1, #0x26 mov r3, #0 add r4, r0, #0 - bl ov01_021E8378 + bl FieldSpriteManager_AddPlttRes ldr r0, _0200F680 ; =0x00015CD5 mov r1, #0x26 str r0, [sp] add r0, r4, #0 mov r2, #0x30 mov r3, #0 - bl ov01_021E83F0 + bl FieldSpriteManager_AddCellRes ldr r0, _0200F680 ; =0x00015CD5 mov r1, #0x26 str r0, [sp] add r0, r4, #0 mov r2, #0x2f mov r3, #0 - bl ov01_021E8404 + bl FieldSpriteManager_AddAnimRes mov r0, #1 str r0, [sp] ldr r0, _0200F680 ; =0x00015CD5 @@ -2392,7 +2391,7 @@ sub_0200F62C: ; 0x0200F62C add r0, r4, #0 mov r2, #0x31 mov r3, #0 - bl ov01_021E8418 + bl FieldSpriteManager_AddCharRes add sp, #0xc pop {r3, r4, pc} nop @@ -2425,7 +2424,7 @@ _0200F694: strh r1, [r0, #2] add r0, r4, #0 add r1, sp, #0 - bl ov01_021E851C + bl FieldSpriteManager_CreateManagedSprite mov r1, #0x59 lsl r1, r1, #2 str r0, [r4, r1] @@ -2544,7 +2543,7 @@ sub_0200F748: ; 0x0200F748 ldr r0, [r5, r0] ldr r1, _0200F828 ; =0x00015CD5 bl SpriteResourceCollection_Find - bl sub_0200AF00 + bl SpriteTransfer_GetCharProxy mov r1, #1 str r0, [sp, #4] bl NNS_G2dGetImageLocation diff --git a/asm/unk_020932E0.s b/asm/unk_020932E0.s index 2faf6d7ea7..8f39c547f8 100644 --- a/asm/unk_020932E0.s +++ b/asm/unk_020932E0.s @@ -92,11 +92,11 @@ sub_02093354: ; 0x02093354 mov r0, #0x57 lsl r0, r0, #2 ldr r0, [r5, r0] - bl sub_0200AEB0 + bl SpriteTransfer_DeleteCharTransferTask mov r0, #0x16 lsl r0, r0, #4 ldr r0, [r5, r0] - bl sub_0200B0A8 + bl SpriteTransfer_DeletePlttTransferTask mov r7, #0x51 mov r6, #0 add r4, r5, #0 @@ -991,11 +991,11 @@ _02093A7A: str r0, [r5, r1] sub r1, #0xc ldr r0, [r5, r1] - bl sub_0200ADA4 + bl SpriteTransfer_CreateCharTransferTask_AllocAtEnd mov r0, #0x16 lsl r0, r0, #4 ldr r0, [r5, r0] - bl sub_0200AF94 + bl SpriteTransfer_CreateExtPlttTransferTask bl sub_02074490 add r1, r0, #0 mov r0, #0 diff --git a/files/fielddata/script/scr_seq/scr_seq_0009_D02R0103.s b/files/fielddata/script/scr_seq/scr_seq_0009_D02R0103.s index e0446b0df2..3f41e8c552 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0009_D02R0103.s +++ b/files/fielddata/script/scr_seq/scr_seq_0009_D02R0103.s @@ -28,7 +28,7 @@ _005E: End scr_seq_D02R0103_000: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0050_D02R0103_00000, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0010_D02R0104.s b/files/fielddata/script/scr_seq/scr_seq_0010_D02R0104.s index 580e0da0aa..755518cc7b 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0010_D02R0104.s +++ b/files/fielddata/script/scr_seq/scr_seq_0010_D02R0104.s @@ -621,7 +621,7 @@ _07B8: EndMovement scr_seq_D02R0104_001: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0051_D02R0104_00001, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0025_D22R0101.s b/files/fielddata/script/scr_seq/scr_seq_0025_D22R0101.s index 645ab0101d..37e3d6ba8a 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0025_D22R0101.s +++ b/files/fielddata/script/scr_seq/scr_seq_0025_D22R0101.s @@ -449,7 +449,7 @@ _0678: EndMovement scr_seq_D22R0101_001: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0062_D22R0101_00022, VAR_SPECIAL_RESULT @@ -457,7 +457,7 @@ scr_seq_D22R0101_001: End scr_seq_D22R0101_002: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0062_D22R0101_00023, VAR_SPECIAL_RESULT @@ -465,7 +465,7 @@ scr_seq_D22R0101_002: End scr_seq_D22R0101_003: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0062_D22R0101_00024, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0026_D22R0102.s b/files/fielddata/script/scr_seq/scr_seq_0026_D22R0102.s index 9a83a9a833..b11edeb976 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0026_D22R0102.s +++ b/files/fielddata/script/scr_seq/scr_seq_0026_D22R0102.s @@ -111,7 +111,7 @@ scr_seq_D22R0102_012: End scr_seq_D22R0102_000: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0063_D22R0102_00000, VAR_SPECIAL_RESULT @@ -119,7 +119,7 @@ scr_seq_D22R0102_000: End scr_seq_D22R0102_001: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0063_D22R0102_00001, VAR_SPECIAL_RESULT @@ -127,7 +127,7 @@ scr_seq_D22R0102_001: End scr_seq_D22R0102_002: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0063_D22R0102_00002, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0037_D24R0101.s b/files/fielddata/script/scr_seq/scr_seq_0037_D24R0101.s index afe3778269..4b6960cc01 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0037_D24R0101.s +++ b/files/fielddata/script/scr_seq/scr_seq_0037_D24R0101.s @@ -440,7 +440,7 @@ _0630: EndMovement scr_seq_D24R0101_000: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0072_D24R0101_00010, VAR_SPECIAL_RESULT @@ -448,7 +448,7 @@ scr_seq_D24R0101_000: End scr_seq_D24R0101_001: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0072_D24R0101_00009, VAR_SPECIAL_RESULT @@ -456,7 +456,7 @@ scr_seq_D24R0101_001: End scr_seq_D24R0101_002: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0072_D24R0101_00007, VAR_SPECIAL_RESULT @@ -464,7 +464,7 @@ scr_seq_D24R0101_002: End scr_seq_D24R0101_003: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0072_D24R0101_00008, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0076_D32.s b/files/fielddata/script/scr_seq/scr_seq_0076_D32.s index e910f16083..bc7c58ff80 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0076_D32.s +++ b/files/fielddata/script/scr_seq/scr_seq_0076_D32.s @@ -866,7 +866,7 @@ scr_seq_D32_023: End scr_seq_D32_025: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0100_D32_00034, VAR_SPECIAL_RESULT @@ -874,7 +874,7 @@ scr_seq_D32_025: End scr_seq_D32_026: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0100_D32_00035, VAR_SPECIAL_RESULT @@ -882,7 +882,7 @@ scr_seq_D32_026: End scr_seq_D32_027: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0100_D32_00036, VAR_SPECIAL_RESULT @@ -890,7 +890,7 @@ scr_seq_D32_027: End scr_seq_D32_028: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0100_D32_00037, VAR_SPECIAL_RESULT @@ -898,7 +898,7 @@ scr_seq_D32_028: End scr_seq_D32_029: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0100_D32_00038, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0081_D32R0102.s b/files/fielddata/script/scr_seq/scr_seq_0081_D32R0102.s index c392aee323..350eabaa84 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0081_D32R0102.s +++ b/files/fielddata/script/scr_seq/scr_seq_0081_D32R0102.s @@ -352,7 +352,7 @@ scr_seq_D32R0102_007: End scr_seq_D32R0102_008: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0104_D32R0102_00009, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0092_D36R0101.s b/files/fielddata/script/scr_seq/scr_seq_0092_D36R0101.s index 780a312ff9..4b86f33c56 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0092_D36R0101.s +++ b/files/fielddata/script/scr_seq/scr_seq_0092_D36R0101.s @@ -2562,7 +2562,7 @@ _21F4: EndMovement scr_seq_D36R0101_013: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0115_D36R0101_00027, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0111_D44R0102.s b/files/fielddata/script/scr_seq/scr_seq_0111_D44R0102.s index b05f499383..4e8ffd58fd 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0111_D44R0102.s +++ b/files/fielddata/script/scr_seq/scr_seq_0111_D44R0102.s @@ -600,7 +600,7 @@ _0780: EndMovement scr_seq_D44R0102_005: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0129_D44R0102_00006, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0116_D47.s b/files/fielddata/script/scr_seq/scr_seq_0116_D47.s index 6f088fc109..c1dcc7ed28 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0116_D47.s +++ b/files/fielddata/script/scr_seq/scr_seq_0116_D47.s @@ -148,7 +148,7 @@ scr_seq_D47_010: End scr_seq_D47_011: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0133_D47_00017, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0122_D49.s b/files/fielddata/script/scr_seq/scr_seq_0122_D49.s index a6580a3cef..bf1b793767 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0122_D49.s +++ b/files/fielddata/script/scr_seq/scr_seq_0122_D49.s @@ -1163,7 +1163,7 @@ _0EC4: EndMovement scr_seq_D49_023: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0137_D49_00049, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0130_D51R0101.s b/files/fielddata/script/scr_seq/scr_seq_0130_D51R0101.s index 38192fb0bb..6950a4f8fe 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0130_D51R0101.s +++ b/files/fielddata/script/scr_seq/scr_seq_0130_D51R0101.s @@ -101,7 +101,7 @@ _0114: EndMovement scr_seq_D51R0101_003: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0145_D51R0101_00007, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0170_R02R0101.s b/files/fielddata/script/scr_seq/scr_seq_0170_R02R0101.s index d946dbd6a8..da73b95908 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0170_R02R0101.s +++ b/files/fielddata/script/scr_seq/scr_seq_0170_R02R0101.s @@ -9,7 +9,7 @@ ScrDefEnd scr_seq_R02R0101_000: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0321_R02R0101_00000, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0175_R03.s b/files/fielddata/script/scr_seq/scr_seq_0175_R03.s index 74169e1ad0..349ea65c43 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0175_R03.s +++ b/files/fielddata/script/scr_seq/scr_seq_0175_R03.s @@ -189,7 +189,7 @@ _02DF: End scr_seq_R03_000: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0326_R03_00000, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0178_R04.s b/files/fielddata/script/scr_seq/scr_seq_0178_R04.s index dce9d1d94e..c1ac23343f 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0178_R04.s +++ b/files/fielddata/script/scr_seq/scr_seq_0178_R04.s @@ -9,7 +9,7 @@ ScrDefEnd scr_seq_R04_000: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0328_R04_00000, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0179_R05.s b/files/fielddata/script/scr_seq/scr_seq_0179_R05.s index cb17c64a01..c960499e17 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0179_R05.s +++ b/files/fielddata/script/scr_seq/scr_seq_0179_R05.s @@ -14,7 +14,7 @@ scr_seq_R05_000: End scr_seq_R05_001: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0329_R05_00001, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0184_R06.s b/files/fielddata/script/scr_seq/scr_seq_0184_R06.s index 8be97c25e9..b5f7ba969d 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0184_R06.s +++ b/files/fielddata/script/scr_seq/scr_seq_0184_R06.s @@ -14,7 +14,7 @@ scr_seq_R06_000: End scr_seq_R06_001: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0334_R06_00001, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0186_R07.s b/files/fielddata/script/scr_seq/scr_seq_0186_R07.s index 4439bea485..5fd0a2ef51 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0186_R07.s +++ b/files/fielddata/script/scr_seq/scr_seq_0186_R07.s @@ -10,7 +10,7 @@ ScrDefEnd scr_seq_R07_000: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0336_R07_00000, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0188_R08.s b/files/fielddata/script/scr_seq/scr_seq_0188_R08.s index 13f11e0dff..ab2b63d707 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0188_R08.s +++ b/files/fielddata/script/scr_seq/scr_seq_0188_R08.s @@ -19,7 +19,7 @@ scr_seq_R08_000: End scr_seq_R08_001: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0338_R08_00001, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0191_R10.s b/files/fielddata/script/scr_seq/scr_seq_0191_R10.s index b78869f52d..e3c25fe2f8 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0191_R10.s +++ b/files/fielddata/script/scr_seq/scr_seq_0191_R10.s @@ -201,7 +201,7 @@ _02B9: Return scr_seq_R10_005: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0341_R10_00008, VAR_SPECIAL_RESULT @@ -209,7 +209,7 @@ scr_seq_R10_005: End scr_seq_R10_006: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0341_R10_00009, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0197_R11.s b/files/fielddata/script/scr_seq/scr_seq_0197_R11.s index 0bae8d5db6..250f1eabe2 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0197_R11.s +++ b/files/fielddata/script/scr_seq/scr_seq_0197_R11.s @@ -77,7 +77,7 @@ scr_seq_R11_002: End scr_seq_R11_003: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0346_R11_00001, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0199_R12.s b/files/fielddata/script/scr_seq/scr_seq_0199_R12.s index ad78318358..58bd30dc80 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0199_R12.s +++ b/files/fielddata/script/scr_seq/scr_seq_0199_R12.s @@ -229,7 +229,7 @@ scr_seq_R12_002: End scr_seq_R12_003: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0348_R12_00001, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0201_R13.s b/files/fielddata/script/scr_seq/scr_seq_0201_R13.s index 4d041286e2..5e215731c5 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0201_R13.s +++ b/files/fielddata/script/scr_seq/scr_seq_0201_R13.s @@ -11,7 +11,7 @@ ScrDefEnd scr_seq_R13_000: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0350_R13_00000, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0205_R16.s b/files/fielddata/script/scr_seq/scr_seq_0205_R16.s index 1e160c9bf4..59af8d0ffa 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0205_R16.s +++ b/files/fielddata/script/scr_seq/scr_seq_0205_R16.s @@ -15,7 +15,7 @@ scr_seq_R16_000: End scr_seq_R16_001: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0354_R16_00000, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0212_R22.s b/files/fielddata/script/scr_seq/scr_seq_0212_R22.s index 7969d1c6da..6bc5ab45f3 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0212_R22.s +++ b/files/fielddata/script/scr_seq/scr_seq_0212_R22.s @@ -485,7 +485,7 @@ _0604: EndMovement scr_seq_R22_002: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0360_R22_00000, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0216_R25.s b/files/fielddata/script/scr_seq/scr_seq_0216_R25.s index 1e4bad5d22..41aadd908e 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0216_R25.s +++ b/files/fielddata/script/scr_seq/scr_seq_0216_R25.s @@ -636,7 +636,7 @@ _0800: EndMovement scr_seq_R25_002: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0363_R25_00015, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0218_R26.s b/files/fielddata/script/scr_seq/scr_seq_0218_R26.s index 2ed0b3f1f6..24d37d86e0 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0218_R26.s +++ b/files/fielddata/script/scr_seq/scr_seq_0218_R26.s @@ -144,7 +144,7 @@ _01C0: EndMovement scr_seq_R26_002: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0365_R26_00000, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0221_R27.s b/files/fielddata/script/scr_seq/scr_seq_0221_R27.s index b053817ea7..f2c38e1b7c 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0221_R27.s +++ b/files/fielddata/script/scr_seq/scr_seq_0221_R27.s @@ -77,7 +77,7 @@ _00C4: EndMovement scr_seq_R27_002: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0369_R27_00002, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0227_R30.s b/files/fielddata/script/scr_seq/scr_seq_0227_R30.s index 8a7e5d6a22..844445d1ba 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0227_R30.s +++ b/files/fielddata/script/scr_seq/scr_seq_0227_R30.s @@ -206,7 +206,7 @@ scr_seq_R30_006: End scr_seq_R30_007: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0375_R30_00012, VAR_SPECIAL_RESULT @@ -214,7 +214,7 @@ scr_seq_R30_007: End scr_seq_R30_008: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0375_R30_00011, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0230_R31.s b/files/fielddata/script/scr_seq/scr_seq_0230_R31.s index d42d391353..aa022b095c 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0230_R31.s +++ b/files/fielddata/script/scr_seq/scr_seq_0230_R31.s @@ -237,7 +237,7 @@ scr_seq_R31_002: End scr_seq_R31_003: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0378_R31_00014, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0237_R34.s b/files/fielddata/script/scr_seq/scr_seq_0237_R34.s index 1c4f68f4d2..60eac9216f 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0237_R34.s +++ b/files/fielddata/script/scr_seq/scr_seq_0237_R34.s @@ -825,7 +825,7 @@ scr_seq_R34_008: End scr_seq_R34_009: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0384_R34_00034, VAR_SPECIAL_RESULT @@ -833,7 +833,7 @@ scr_seq_R34_009: End scr_seq_R34_010: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0384_R34_00035, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0243_R36.s b/files/fielddata/script/scr_seq/scr_seq_0243_R36.s index 070957d9b7..65b7857fba 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0243_R36.s +++ b/files/fielddata/script/scr_seq/scr_seq_0243_R36.s @@ -460,7 +460,7 @@ scr_seq_R36_003: End scr_seq_R36_004: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0390_R36_00010, VAR_SPECIAL_RESULT @@ -468,7 +468,7 @@ scr_seq_R36_004: End scr_seq_R36_005: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0390_R36_00011, VAR_SPECIAL_RESULT @@ -476,7 +476,7 @@ scr_seq_R36_005: End scr_seq_R36_006: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0390_R36_00012, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0246_R37.s b/files/fielddata/script/scr_seq/scr_seq_0246_R37.s index c29be41a42..4cca3645c9 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0246_R37.s +++ b/files/fielddata/script/scr_seq/scr_seq_0246_R37.s @@ -118,7 +118,7 @@ scr_seq_R37_002: End scr_seq_R37_003: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0393_R37_00001, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0247_R38.s b/files/fielddata/script/scr_seq/scr_seq_0247_R38.s index 994f56077b..55f4461628 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0247_R38.s +++ b/files/fielddata/script/scr_seq/scr_seq_0247_R38.s @@ -22,7 +22,7 @@ scr_seq_R38_001: End scr_seq_R38_002: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0394_R38_00016, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0249_R39.s b/files/fielddata/script/scr_seq/scr_seq_0249_R39.s index 36bdad4432..9e3b4c199f 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0249_R39.s +++ b/files/fielddata/script/scr_seq/scr_seq_0249_R39.s @@ -377,7 +377,7 @@ scr_seq_R39_003: End scr_seq_R39_004: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0396_R39_00001, VAR_SPECIAL_RESULT @@ -385,7 +385,7 @@ scr_seq_R39_004: End scr_seq_R39_005: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0396_R39_00002, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0252_R42.s b/files/fielddata/script/scr_seq/scr_seq_0252_R42.s index 2167f27b82..6b9d18329c 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0252_R42.s +++ b/files/fielddata/script/scr_seq/scr_seq_0252_R42.s @@ -280,7 +280,7 @@ scr_seq_R42_002: End scr_seq_R42_003: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0399_R42_00001, VAR_SPECIAL_RESULT @@ -288,7 +288,7 @@ scr_seq_R42_003: End scr_seq_R42_004: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0399_R42_00002, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0254_R43.s b/files/fielddata/script/scr_seq/scr_seq_0254_R43.s index 93888a538c..2012de57f2 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0254_R43.s +++ b/files/fielddata/script/scr_seq/scr_seq_0254_R43.s @@ -23,7 +23,7 @@ scr_seq_R43_001: End scr_seq_R43_002: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0401_R43_00019, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0257_R44.s b/files/fielddata/script/scr_seq/scr_seq_0257_R44.s index 48b2f31d4c..3202f2ce9f 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0257_R44.s +++ b/files/fielddata/script/scr_seq/scr_seq_0257_R44.s @@ -14,7 +14,7 @@ scr_seq_R44_000: End scr_seq_R44_001: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0404_R44_00000, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0258_R45.s b/files/fielddata/script/scr_seq/scr_seq_0258_R45.s index 525b921a88..4d5aea167a 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0258_R45.s +++ b/files/fielddata/script/scr_seq/scr_seq_0258_R45.s @@ -141,7 +141,7 @@ scr_seq_R45_000: End scr_seq_R45_004: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0405_R45_00002, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0259_R46.s b/files/fielddata/script/scr_seq/scr_seq_0259_R46.s index 812379e3cc..1f0b305fcb 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0259_R46.s +++ b/files/fielddata/script/scr_seq/scr_seq_0259_R46.s @@ -37,7 +37,7 @@ scr_seq_R46_001: End scr_seq_R46_002: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0406_R46_00001, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0735_T01.s b/files/fielddata/script/scr_seq/scr_seq_0735_T01.s index c0b9711751..76ceda6a4f 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0735_T01.s +++ b/files/fielddata/script/scr_seq/scr_seq_0735_T01.s @@ -187,7 +187,7 @@ scr_seq_T01_002: End scr_seq_T01_003: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0446_T01_00003, VAR_SPECIAL_RESULT @@ -195,7 +195,7 @@ scr_seq_T01_003: End scr_seq_T01_004: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0446_T01_00004, VAR_SPECIAL_RESULT @@ -203,7 +203,7 @@ scr_seq_T01_004: End scr_seq_T01_005: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0446_T01_00005, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0741_T02.s b/files/fielddata/script/scr_seq/scr_seq_0741_T02.s index 6204ecf578..fd31f4eb58 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0741_T02.s +++ b/files/fielddata/script/scr_seq/scr_seq_0741_T02.s @@ -244,7 +244,7 @@ scr_seq_T02_004: End scr_seq_T02_005: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0452_T02_00009, VAR_SPECIAL_RESULT @@ -252,7 +252,7 @@ scr_seq_T02_005: End scr_seq_T02_006: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0452_T02_00010, VAR_SPECIAL_RESULT @@ -260,7 +260,7 @@ scr_seq_T02_006: End scr_seq_T02_007: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0452_T02_00011, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0750_T03.s b/files/fielddata/script/scr_seq/scr_seq_0750_T03.s index a97e58a9b8..cf7bdb8df3 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0750_T03.s +++ b/files/fielddata/script/scr_seq/scr_seq_0750_T03.s @@ -216,7 +216,7 @@ scr_seq_T03_003: End scr_seq_T03_004: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0460_T03_00021, VAR_SPECIAL_RESULT @@ -224,7 +224,7 @@ scr_seq_T03_004: End scr_seq_T03_005: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0460_T03_00022, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0758_T04.s b/files/fielddata/script/scr_seq/scr_seq_0758_T04.s index a8a2d59738..0a17c7d136 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0758_T04.s +++ b/files/fielddata/script/scr_seq/scr_seq_0758_T04.s @@ -131,7 +131,7 @@ scr_seq_T04_006: End scr_seq_T04_007: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0467_T04_00014, VAR_SPECIAL_RESULT @@ -139,7 +139,7 @@ scr_seq_T04_007: End scr_seq_T04_008: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0467_T04_00015, VAR_SPECIAL_RESULT @@ -147,7 +147,7 @@ scr_seq_T04_008: End scr_seq_T04_009: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0467_T04_00016, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0767_T05.s b/files/fielddata/script/scr_seq/scr_seq_0767_T05.s index 67c8197051..09f98061ee 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0767_T05.s +++ b/files/fielddata/script/scr_seq/scr_seq_0767_T05.s @@ -40,7 +40,7 @@ scr_seq_T05_004: End scr_seq_T05_005: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0475_T05_00005, VAR_SPECIAL_RESULT @@ -48,7 +48,7 @@ scr_seq_T05_005: End scr_seq_T05_006: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0475_T05_00006, VAR_SPECIAL_RESULT @@ -56,7 +56,7 @@ scr_seq_T05_006: End scr_seq_T05_007: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0475_T05_00007, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0776_T06.s b/files/fielddata/script/scr_seq/scr_seq_0776_T06.s index 06dd869970..6054270cb5 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0776_T06.s +++ b/files/fielddata/script/scr_seq/scr_seq_0776_T06.s @@ -578,7 +578,7 @@ scr_seq_T06_005: End scr_seq_T06_006: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0483_T06_00011, VAR_SPECIAL_RESULT @@ -586,7 +586,7 @@ scr_seq_T06_006: End scr_seq_T06_007: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0483_T06_00012, VAR_SPECIAL_RESULT @@ -594,7 +594,7 @@ scr_seq_T06_007: End scr_seq_T06_008: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0483_T06_00013, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0785_T07.s b/files/fielddata/script/scr_seq/scr_seq_0785_T07.s index ff6a304c32..086a9dc190 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0785_T07.s +++ b/files/fielddata/script/scr_seq/scr_seq_0785_T07.s @@ -182,7 +182,7 @@ scr_seq_T07_009: End scr_seq_T07_010: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0491_T07_00031, VAR_SPECIAL_RESULT @@ -190,7 +190,7 @@ scr_seq_T07_010: End scr_seq_T07_011: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0491_T07_00032, VAR_SPECIAL_RESULT @@ -198,7 +198,7 @@ scr_seq_T07_011: End scr_seq_T07_012: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0491_T07_00033, VAR_SPECIAL_RESULT @@ -206,7 +206,7 @@ scr_seq_T07_012: End scr_seq_T07_013: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0491_T07_00034, VAR_SPECIAL_RESULT @@ -214,7 +214,7 @@ scr_seq_T07_013: End scr_seq_T07_014: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0491_T07_00035, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0807_T08.s b/files/fielddata/script/scr_seq/scr_seq_0807_T08.s index edd39c5286..3f4359a124 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0807_T08.s +++ b/files/fielddata/script/scr_seq/scr_seq_0807_T08.s @@ -381,7 +381,7 @@ scr_seq_T08_009: End scr_seq_T08_003: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0512_T08_00004, VAR_SPECIAL_RESULT @@ -389,7 +389,7 @@ scr_seq_T08_003: End scr_seq_T08_004: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0512_T08_00005, VAR_SPECIAL_RESULT @@ -397,7 +397,7 @@ scr_seq_T08_004: End scr_seq_T08_005: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0512_T08_00006, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0815_T09.s b/files/fielddata/script/scr_seq/scr_seq_0815_T09.s index 77fdbcc0f0..1ef6f167c4 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0815_T09.s +++ b/files/fielddata/script/scr_seq/scr_seq_0815_T09.s @@ -372,7 +372,7 @@ _0495: End scr_seq_T09_001: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0519_T09_00020, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0818_T10.s b/files/fielddata/script/scr_seq/scr_seq_0818_T10.s index a8e841e3eb..3ebe3cece7 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0818_T10.s +++ b/files/fielddata/script/scr_seq/scr_seq_0818_T10.s @@ -9,7 +9,7 @@ ScrDefEnd scr_seq_T10_000: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0521_T10_00000, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0827_T11.s b/files/fielddata/script/scr_seq/scr_seq_0827_T11.s index 273dfedf9d..74e1ad78a2 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0827_T11.s +++ b/files/fielddata/script/scr_seq/scr_seq_0827_T11.s @@ -305,7 +305,7 @@ scr_seq_T11_007: End scr_seq_T11_008: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0529_T11_00009, VAR_SPECIAL_RESULT @@ -321,7 +321,7 @@ scr_seq_T11_009: End scr_seq_T11_010: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0529_T11_00011, VAR_SPECIAL_RESULT @@ -329,7 +329,7 @@ scr_seq_T11_010: End scr_seq_T11_011: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0529_T11_00012, VAR_SPECIAL_RESULT @@ -337,7 +337,7 @@ scr_seq_T11_011: End scr_seq_T11_012: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0529_T11_00013, VAR_SPECIAL_RESULT @@ -345,7 +345,7 @@ scr_seq_T11_012: End scr_seq_T11_013: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0529_T11_00014, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0842_T20.s b/files/fielddata/script/scr_seq/scr_seq_0842_T20.s index 60e2178c4f..cf1fcc406f 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0842_T20.s +++ b/files/fielddata/script/scr_seq/scr_seq_0842_T20.s @@ -1175,7 +1175,7 @@ _0EC0: scr_seq_T20_007: BufferPlayersName 0 - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0542_T20_00035, VAR_SPECIAL_RESULT @@ -1324,7 +1324,7 @@ _10B4: scr_seq_T20_016: BufferFriendsName 0 - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0542_T20_00035, VAR_SPECIAL_RESULT @@ -1843,7 +1843,7 @@ _1700: EndMovement scr_seq_T20_013: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0542_T20_00036, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0850_T21.s b/files/fielddata/script/scr_seq/scr_seq_0850_T21.s index 0a6be31434..1aa5fbfe54 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0850_T21.s +++ b/files/fielddata/script/scr_seq/scr_seq_0850_T21.s @@ -843,7 +843,7 @@ _0ACC: EndMovement scr_seq_T21_005: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0550_T21_00024, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0857_T22.s b/files/fielddata/script/scr_seq/scr_seq_0857_T22.s index 14ccca2e36..ff8fc2a448 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0857_T22.s +++ b/files/fielddata/script/scr_seq/scr_seq_0857_T22.s @@ -733,7 +733,7 @@ scr_seq_T22_006: End scr_seq_T22_007: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0556_T22_00012, VAR_SPECIAL_RESULT @@ -749,7 +749,7 @@ scr_seq_T22_008: End scr_seq_T22_009: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0556_T22_00010, VAR_SPECIAL_RESULT @@ -757,7 +757,7 @@ scr_seq_T22_009: End scr_seq_T22_010: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0556_T22_00011, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0866_T23.s b/files/fielddata/script/scr_seq/scr_seq_0866_T23.s index dc3ca23902..2b3eeef3d0 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0866_T23.s +++ b/files/fielddata/script/scr_seq/scr_seq_0866_T23.s @@ -286,7 +286,7 @@ _03C3: GoTo _039F scr_seq_T23_008: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0564_T23_00012, VAR_SPECIAL_RESULT @@ -294,7 +294,7 @@ scr_seq_T23_008: End scr_seq_T23_009: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0564_T23_00013, VAR_SPECIAL_RESULT @@ -302,7 +302,7 @@ scr_seq_T23_009: End scr_seq_T23_010: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0564_T23_00015, VAR_SPECIAL_RESULT @@ -318,7 +318,7 @@ scr_seq_T23_011: End scr_seq_T23_012: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0564_T23_00014, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0875_T24.s b/files/fielddata/script/scr_seq/scr_seq_0875_T24.s index c3320a7138..bfa88f586b 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0875_T24.s +++ b/files/fielddata/script/scr_seq/scr_seq_0875_T24.s @@ -402,7 +402,7 @@ scr_seq_T24_008: End scr_seq_T24_009: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0572_T24_00019, VAR_SPECIAL_RESULT @@ -410,7 +410,7 @@ scr_seq_T24_009: End scr_seq_T24_010: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0572_T24_00020, VAR_SPECIAL_RESULT @@ -418,7 +418,7 @@ scr_seq_T24_010: End scr_seq_T24_011: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0572_T24_00021, VAR_SPECIAL_RESULT @@ -426,7 +426,7 @@ scr_seq_T24_011: End scr_seq_T24_004: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0572_T24_00022, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0885_T25.s b/files/fielddata/script/scr_seq/scr_seq_0885_T25.s index d438131b5b..706999d622 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0885_T25.s +++ b/files/fielddata/script/scr_seq/scr_seq_0885_T25.s @@ -693,7 +693,7 @@ _07E0: EndMovement scr_seq_T25_019: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0581_T25_00036, VAR_SPECIAL_RESULT @@ -701,7 +701,7 @@ scr_seq_T25_019: End scr_seq_T25_020: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0581_T25_00037, VAR_SPECIAL_RESULT @@ -709,7 +709,7 @@ scr_seq_T25_020: End scr_seq_T25_021: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0581_T25_00038, VAR_SPECIAL_RESULT @@ -725,7 +725,7 @@ scr_seq_T25_022: End scr_seq_T25_023: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0581_T25_00040, VAR_SPECIAL_RESULT @@ -733,7 +733,7 @@ scr_seq_T25_023: End scr_seq_T25_024: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0581_T25_00041, VAR_SPECIAL_RESULT @@ -741,7 +741,7 @@ scr_seq_T25_024: End scr_seq_T25_025: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0581_T25_00042, VAR_SPECIAL_RESULT @@ -749,7 +749,7 @@ scr_seq_T25_025: End scr_seq_T25_026: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0581_T25_00043, VAR_SPECIAL_RESULT @@ -757,7 +757,7 @@ scr_seq_T25_026: End scr_seq_T25_027: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0581_T25_00044, VAR_SPECIAL_RESULT @@ -765,7 +765,7 @@ scr_seq_T25_027: End scr_seq_T25_028: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0581_T25_00045, VAR_SPECIAL_RESULT @@ -773,7 +773,7 @@ scr_seq_T25_028: End scr_seq_T25_029: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0581_T25_00046, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0911_T26.s b/files/fielddata/script/scr_seq/scr_seq_0911_T26.s index 84b7a2caf6..7c156ab07c 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0911_T26.s +++ b/files/fielddata/script/scr_seq/scr_seq_0911_T26.s @@ -425,7 +425,7 @@ _059C: EndMovement scr_seq_T26_004: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0604_T26_00007, VAR_SPECIAL_RESULT @@ -441,7 +441,7 @@ scr_seq_T26_005: End scr_seq_T26_006: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0604_T26_00006, VAR_SPECIAL_RESULT @@ -449,7 +449,7 @@ scr_seq_T26_006: End scr_seq_T26_007: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0604_T26_00008, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0920_T27.s b/files/fielddata/script/scr_seq/scr_seq_0920_T27.s index 8cef61ef1d..43e65f293e 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0920_T27.s +++ b/files/fielddata/script/scr_seq/scr_seq_0920_T27.s @@ -298,7 +298,7 @@ scr_seq_T27_001: End scr_seq_T27_002: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0612_T27_00012, VAR_SPECIAL_RESULT @@ -306,7 +306,7 @@ scr_seq_T27_002: End scr_seq_T27_003: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0612_T27_00013, VAR_SPECIAL_RESULT @@ -314,7 +314,7 @@ scr_seq_T27_003: End scr_seq_T27_004: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0612_T27_00014, VAR_SPECIAL_RESULT @@ -322,7 +322,7 @@ scr_seq_T27_004: End scr_seq_T27_016: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0612_T27_00015, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0930_T28.s b/files/fielddata/script/scr_seq/scr_seq_0930_T28.s index 9d93acbcf5..da4d988cb5 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0930_T28.s +++ b/files/fielddata/script/scr_seq/scr_seq_0930_T28.s @@ -242,7 +242,7 @@ scr_seq_T28_006: End scr_seq_T28_007: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0620_T28_00018, VAR_SPECIAL_RESULT @@ -250,7 +250,7 @@ scr_seq_T28_007: End scr_seq_T28_008: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0620_T28_00019, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0938_T29.s b/files/fielddata/script/scr_seq/scr_seq_0938_T29.s index c47b7f8c30..8543f6c743 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0938_T29.s +++ b/files/fielddata/script/scr_seq/scr_seq_0938_T29.s @@ -416,7 +416,7 @@ _056A: scr_seq_T29_006: GoToIfSet FLAG_UNK_139, _0597 - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0626_T29_00031, VAR_SPECIAL_RESULT @@ -431,7 +431,7 @@ _0597: BufferRecordSize 0, 1, SPECIES_MAGIKARP ScriptOverlayCmd 0, 1 BufferPlayersName 2 - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0626_T29_00032, VAR_SPECIAL_RESULT @@ -530,7 +530,7 @@ scr_seq_T29_018: End scr_seq_T29_007: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0626_T29_00030, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0941_T30.s b/files/fielddata/script/scr_seq/scr_seq_0941_T30.s index b644d811ec..445a6d26a2 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0941_T30.s +++ b/files/fielddata/script/scr_seq/scr_seq_0941_T30.s @@ -322,7 +322,7 @@ scr_seq_T30_008: End scr_seq_T30_009: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0629_T30_00011, VAR_SPECIAL_RESULT @@ -330,7 +330,7 @@ scr_seq_T30_009: End scr_seq_T30_010: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0629_T30_00012, VAR_SPECIAL_RESULT @@ -338,7 +338,7 @@ scr_seq_T30_010: End scr_seq_T30_011: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0629_T30_00013, VAR_SPECIAL_RESULT @@ -346,7 +346,7 @@ scr_seq_T30_011: End scr_seq_T30_012: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0629_T30_00014, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0949_T31.s b/files/fielddata/script/scr_seq/scr_seq_0949_T31.s index 7b4918b6cc..9e5c0191da 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0949_T31.s +++ b/files/fielddata/script/scr_seq/scr_seq_0949_T31.s @@ -158,7 +158,7 @@ _01F4: EndMovement scr_seq_T31_002: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0636_T31_00000, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0958_W19.s b/files/fielddata/script/scr_seq/scr_seq_0958_W19.s index 81ce5da908..cc939f2485 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0958_W19.s +++ b/files/fielddata/script/scr_seq/scr_seq_0958_W19.s @@ -38,7 +38,7 @@ scr_seq_W19_004: End scr_seq_W19_005: - ScrCmd_055 3, 0 + ScrCmd_056 3, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0740_W19_00005, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0960_W20.s b/files/fielddata/script/scr_seq/scr_seq_0960_W20.s index 276707778d..a160f482d4 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0960_W20.s +++ b/files/fielddata/script/scr_seq/scr_seq_0960_W20.s @@ -10,7 +10,7 @@ ScrDefEnd scr_seq_W20_000: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0742_W20_00000, VAR_SPECIAL_RESULT @@ -18,7 +18,7 @@ scr_seq_W20_000: End scr_seq_W20_001: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0742_W20_00001, VAR_SPECIAL_RESULT diff --git a/files/fielddata/script/scr_seq/scr_seq_0962_W40.s b/files/fielddata/script/scr_seq/scr_seq_0962_W40.s index cf7877b5cd..b2dd544d23 100644 --- a/files/fielddata/script/scr_seq/scr_seq_0962_W40.s +++ b/files/fielddata/script/scr_seq/scr_seq_0962_W40.s @@ -277,7 +277,7 @@ scr_seq_W40_002: End scr_seq_W40_009: - ScrCmd_055 2, 0 + ScrCmd_056 2, 0 ScrCmd_057 3 ScrCmd_058 TrainerTips msg_0744_W40_00020, VAR_SPECIAL_RESULT diff --git a/include/battle/battle_input.h b/include/battle/battle_input.h index 10b29ba10f..7a883839fa 100644 --- a/include/battle/battle_input.h +++ b/include/battle/battle_input.h @@ -119,7 +119,7 @@ typedef struct BattleInputFeedback { } move; struct { const s16 *screenOffsets; - void *unk8; + const TouchscreenHitbox *unk8; int ret; u8 unk10; u8 textObjId; diff --git a/include/constants/comm_type.h b/include/constants/comm_type.h index 26f49f6aaf..8cd8c9bccd 100644 --- a/include/constants/comm_type.h +++ b/include/constants/comm_type.h @@ -1,45 +1,45 @@ #ifndef POKEHEARTGOLD_CONSTANTS_COMM_TYPE_H #define POKEHEARTGOLD_CONSTANTS_COMM_TYPE_H -#define COMM_TYPE_TRADE 0 -#define COMM_TYPE_SINGLE_BATTLE 1 -#define COMM_TYPE_DOUBLE_BATTLE 2 -#define COMM_TYPE_MIX_BATTLE 3 -#define COMM_TYPE_MULTI_BATTLE_1 4 -#define COMM_TYPE_MULTI_BATTLE_2 5 -#define COMM_TYPE_6 6 -#define COMM_TYPE_MIX_RECORDS 7 -#define COMM_TYPE_8 8 -#define COMM_TYPE_UNION 9 -#define COMM_TYPE_10 10 -#define COMM_TYPE_11 11 -#define COMM_TYPE_12 12 -#define COMM_TYPE_13 13 -#define COMM_TYPE_14 14 -#define COMM_TYPE_MYSTERY_GIFT 15 -#define COMM_TYPE_BATTLE_TOWER 16 -#define COMM_TYPE_PARTY 17 -#define COMM_TYPE_UNION_APP 18 -#define COMM_TYPE_SINGLE_BATTLE_WIFI 19 +#define COMM_TYPE_TRADE 0 +#define COMM_TYPE_SINGLE_BATTLE 1 +#define COMM_TYPE_DOUBLE_BATTLE 2 +#define COMM_TYPE_MIX_BATTLE 3 +#define COMM_TYPE_MULTI_BATTLE_1 4 +#define COMM_TYPE_MULTI_BATTLE_2 5 +#define COMM_TYPE_6 6 +#define COMM_TYPE_MIX_RECORDS 7 +#define COMM_TYPE_8 8 +#define COMM_TYPE_UNION 9 +#define COMM_TYPE_10 10 +#define COMM_TYPE_11 11 +#define COMM_TYPE_12 12 +#define COMM_TYPE_13 13 +#define COMM_TYPE_14 14 +#define COMM_TYPE_MYSTERY_GIFT 15 +#define COMM_TYPE_BATTLE_TOWER 16 +#define COMM_TYPE_PARTY 17 +#define COMM_TYPE_UNION_APP 18 +#define COMM_TYPE_SINGLE_BATTLE_WIFI 19 -#define COMM_TYPE_LOGIN_WIFI 23 -#define COMM_TYPE_24 24 -#define COMM_TYPE_25 25 -#define COMM_TYPE_SPIN_TRADE 26 -#define COMM_TYPE_BATTLE_FACTORY_LV50 27 -#define COMM_TYPE_BATTLE_FACTORY_OPEN 28 -#define COMM_TYPE_29 29 -#define COMM_TYPE_BATTLE_HALL 30 -#define COMM_TYPE_BATTLE_CASTLE 31 -#define COMM_TYPE_BATTLE_ARCADE 32 -#define COMM_TYPE_WIFI_PLAZA 33 -#define COMM_TYPE_FRONTIER_WIFI 34 -#define COMM_TYPE_CLUB_WIFI 35 -#define COMM_TYPE_EMAIL_WIFI 36 -#define COMM_TYPE_FLAT_BATTLE_1 37 -#define COMM_TYPE_FLAT_BATTLE_2 38 -#define COMM_TYPE_SAFARI_ZONE 39 -#define COMM_TYPE_POKEATHLON 40 -#define NUM_COMM_TYPES 41 +#define COMM_TYPE_LOGIN_WIFI 23 +#define COMM_TYPE_24 24 +#define COMM_TYPE_25 25 +#define COMM_TYPE_SPIN_TRADE 26 +#define COMM_TYPE_BATTLE_FACTORY_LV50 27 +#define COMM_TYPE_BATTLE_FACTORY_OPEN 28 +#define COMM_TYPE_29 29 +#define COMM_TYPE_BATTLE_HALL 30 +#define COMM_TYPE_BATTLE_CASTLE 31 +#define COMM_TYPE_BATTLE_ARCADE 32 +#define COMM_TYPE_WIFI_PLAZA 33 +#define COMM_TYPE_FRONTIER_WIFI 34 +#define COMM_TYPE_CLUB_WIFI 35 +#define COMM_TYPE_EMAIL_WIFI 36 +#define COMM_TYPE_FLAT_BATTLE_1 37 +#define COMM_TYPE_FLAT_BATTLE_2 38 +#define COMM_TYPE_SAFARI_ZONE 39 +#define COMM_TYPE_POKEATHLON 40 +#define NUM_COMM_TYPES 41 -#endif \ No newline at end of file +#endif diff --git a/include/constants/field_poison.h b/include/constants/field_poison.h index 45491b3139..85108aee12 100644 --- a/include/constants/field_poison.h +++ b/include/constants/field_poison.h @@ -1,8 +1,8 @@ #ifndef POKEHEARTGOLD_CONSTANTS_FIELD_POISON_H #define POKEHEARTGOLD_CONSTANTS_FIELD_POISON_H -#define FIELD_POISON_NONE 0 -#define FIELD_POISON_DAMAGE 1 -#define FIELD_POISON_SURVIVE 2 +#define FIELD_POISON_NONE 0 +#define FIELD_POISON_DAMAGE 1 +#define FIELD_POISON_SURVIVE 2 #endif // POKEHEARTGOLD_CONSTANTS_FIELD_POISON_H diff --git a/include/constants/game_stats.h b/include/constants/game_stats.h index d0e1e71afd..858a8cec3a 100644 --- a/include/constants/game_stats.h +++ b/include/constants/game_stats.h @@ -11,33 +11,33 @@ #define GAME_STAT_CAUGHT_MON 10 #define GAME_STAT_FISH_LANDED 11 #define GAME_STAT_EGGS_HATCHED 12 -#define GAME_STAT_UNIQUE_MONS_CAUGHT 13 // TODO: Confirm this is just Pokedex completion. +#define GAME_STAT_UNIQUE_MONS_CAUGHT 13 // TODO: Confirm this is just Pokedex completion. #define GAME_STAT_UNK14 14 -#define GAME_STAT_BATTLE_TOWER_BATTLE_COUNT 16 // TODO: Double check +#define GAME_STAT_BATTLE_TOWER_BATTLE_COUNT 16 // TODO: Double check #define GAME_STAT_UNK17 17 #define GAME_STAT_LOCAL_LINK_TRADES 20 #define GAME_STAT_LOCAL_LINK_BATTLES 21 #define GAME_STAT_LOCAL_LINK_BATTLE_WINS 22 #define GAME_STAT_LOCAL_LINK_BATTLE_LOSSES 23 -#define GAME_STAT_LOCAL_LINK_BATTLE_DRAWS 24 // Includes draws and forfeits. +#define GAME_STAT_LOCAL_LINK_BATTLE_DRAWS 24 // Includes draws and forfeits. #define GAME_STAT_WIFI_TRADES 25 #define GAME_STAT_WIFI_BATTLES 26 #define GAME_STAT_WIFI_BATTLE_WINS 27 #define GAME_STAT_WIFI_BATTLE_LOSSES 28 -#define GAME_STAT_WIFI_BATTLE_DRAWS 29 // Includes draws and forfeits. +#define GAME_STAT_WIFI_BATTLE_DRAWS 29 // Includes draws and forfeits. #define GAME_STAT_BATTLE_TOWER_WIN_COUNT 30 -#define GAME_STAT_UNK33 33 // Link related. Probably also Battle Tower related. -#define GAME_STAT_CURRENCY_SPENT 36 // Includes Athlete Points. +#define GAME_STAT_UNK33 33 // Link related. Probably also Battle Tower related. +#define GAME_STAT_CURRENCY_SPENT 36 // Includes Athlete Points. #define GAME_STAT_MONS_SENT_TO_DAYCARE 41 #define GAME_STAT_OPPONENT_MON_FAINTED 42 -#define GAME_STAT_UNK45 45 // Relates to overlay 70. Trades of some sort. Possibly in-game trades? +#define GAME_STAT_UNK45 45 // Relates to overlay 70. Trades of some sort. Possibly in-game trades? #define GAME_STAT_MAIL_WRITTEN 46 -#define GAME_STAT_UNK47 47 // Related to overlays 45 and 49. +#define GAME_STAT_UNK47 47 // Related to overlays 45 and 49. #define GAME_STAT_NICKNAMES_GIVEN 50 #define GAME_STAT_PREMIER_BALLS_EARNED 51 #define GAME_STAT_FRONTIER_PARTICIPATIONS 59 -#define GAME_STAT_UNK65 65 // Frontier related. -#define GAME_STAT_UNK66 66 // Frontier related. +#define GAME_STAT_UNK65 65 // Frontier related. +#define GAME_STAT_UNK66 66 // Frontier related. #define GAME_STAT_BATTLE_POINTS_RECEIVED 69 #define GAME_STAT_BATTLE_POINTS_SPENT 70 #define GAME_STAT_LEAGUE_WINS 74 @@ -49,9 +49,9 @@ #define GAME_STAT_LOCAL_CONTEST_WINS 93 #define GAME_STAT_COMM_CONTEST_WINS 94 #define GAME_STAT_RIBBONS_EARNED 95 -#define GAME_STAT_INEFFECTIVE_MOVES 96 // Tracks instances where the player uses a move on a type with immunity. +#define GAME_STAT_INEFFECTIVE_MOVES 96 // Tracks instances where the player uses a move on a type with immunity. #define GAME_STAT_PLAYER_MON_FAINTED 97 -#define GAME_STAT_ALLIES_DAMAGED 98 // Tracks instances of damage dealt to targets on the same side of the field, so may include confusion. +#define GAME_STAT_ALLIES_DAMAGED 98 // Tracks instances of damage dealt to targets on the same side of the field, so may include confusion. #define GAME_STAT_RUN_FAILURES 99 #define GAME_STAT_WILD_MON_FLED 100 #define GAME_STAT_FISH_GOT_AWAY 101 @@ -69,7 +69,7 @@ #define SCORE_EVENT_WROTE_MAIL 2 #define SCORE_EVENT_HAD_INTERVIEW 3 #define SCORE_EVENT_TRAINER_CARD_SIGNED 4 -#define SCORE_EVENT_5_UNUSED 5 // Likely for the JP-only slot machines. +#define SCORE_EVENT_5_UNUSED 5 // Likely for the JP-only slot machines. #define SCORE_EVENT_VOLTORB_FLIP 6 #define SCORE_EVENT_BALL_CAPSULE_MODIFIED 7 #define SCORE_EVENT_POKEMON_DRESSED 8 diff --git a/include/constants/player_avatar.h b/include/constants/player_avatar.h index bfa594ee83..ea00cfb2c3 100644 --- a/include/constants/player_avatar.h +++ b/include/constants/player_avatar.h @@ -1,9 +1,9 @@ #ifndef POKEHEARTGOLD_CONSTANTS_PLAYER_AVATAR_H #define POKEHEARTGOLD_CONSTANTS_PLAYER_AVATAR_H -#define PLAYER_EVENT_NONE 0 -#define PLAYER_EVENT_USED_STRENGTH (1 << 0) -#define PLAYER_EVENT_USED_WATERFALL (1 << 1) +#define PLAYER_EVENT_NONE 0 +#define PLAYER_EVENT_USED_STRENGTH (1 << 0) +#define PLAYER_EVENT_USED_WATERFALL (1 << 1) enum PlayerMoveState { PLAYER_MOVE_STATE_NONE = 0, diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index cf6f2cf5fc..d5b52d8644 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -169,7 +169,7 @@ #define MON_DATA_OT_ID 7 #define MON_DATA_EXPERIENCE 8 #define MON_DATA_FRIENDSHIP 9 -#define MON_DATA_EGG_CYCLES 9 // Eggs track their remaining cycles in the same place that Pokemon track friendship. +#define MON_DATA_EGG_CYCLES 9 // Eggs track their remaining cycles in the same place that Pokemon track friendship. #define MON_DATA_ABILITY 10 #define MON_DATA_MARKINGS 11 #define MON_DATA_LANGUAGE 12 diff --git a/include/dwcaccount.h b/include/dwcaccount.h index e198d8d979..bfc58f2ad0 100644 --- a/include/dwcaccount.h +++ b/include/dwcaccount.h @@ -6,4 +6,4 @@ BOOL DWC_CheckValidConsole(void); BOOL DWC_CheckHasProfile(void); -#endif // POKEHEARTGOLD_DWCACCOUNT_H \ No newline at end of file +#endif // POKEHEARTGOLD_DWCACCOUNT_H diff --git a/include/field/field_sprite_manager.h b/include/field/field_sprite_manager.h new file mode 100644 index 0000000000..38fdb35859 --- /dev/null +++ b/include/field/field_sprite_manager.h @@ -0,0 +1,32 @@ +#ifndef POKEHEARTGOLD_FIELD_FIELD_SPRITE_MANAGER_H +#define POKEHEARTGOLD_FIELD_FIELD_SPRITE_MANAGER_H + +#include "sprite.h" +#include "sprite_system.h" +#include "unk_02009D48.h" + +typedef struct FieldSpriteManager { + SpriteList *spriteList; + G2dRenderer renderer; + SpriteResourceHeaderList *spriteResourceHeaderList; + GF_2DGfxResMan *spriteResManagers[GF_GFX_RES_TYPE_MAX]; + GF_2DGfxResObjList *spriteResObjLists[GF_GFX_RES_TYPE_MAX]; + u16 numResMans; + u16 heapID; +} FieldSpriteManager; + +// With these functions, the SpriteResourceHeaderList is owned by the FieldSpriteManager. +void FieldSpriteManager_InitWithResDat(FieldSpriteManager *fieldSpriteManager, const ResdatIdList *resDatIdxs, int numSprites, enum HeapID heapID); +void FieldSpriteManager_ReleaseWithResDat(FieldSpriteManager *fieldSpriteManager); +Sprite *FieldSpriteManager_CreateSprite(FieldSpriteManager *fieldSpriteManager, const UnmanagedSpriteTemplate *unmanagedSpriteTemplate); + +// With these functions, a new SpriteResourceHeaderList is created to accompany each sprite. +void FieldSpriteManager_InitEmptyResLists(FieldSpriteManager *fieldSpriteManager, const SpriteResourceCountsListUnion *resDatCounts, int numSprites, enum HeapID heapId); +void FieldSpriteManager_AddPlttRes(FieldSpriteManager *fieldSpriteManager, NarcId narcId, int fileId, BOOL compressed, int plttNum, NNS_G2D_VRAM_TYPE vramType, int resId); +void FieldSpriteManager_AddCellRes(FieldSpriteManager *fieldSpriteManager, NarcId narcId, int fileId, BOOL compressed, int resId); +void FieldSpriteManager_AddAnimRes(FieldSpriteManager *fieldSpriteManager, NarcId narcId, int fileId, BOOL compressed, int resId); +void FieldSpriteManager_AddCharRes(FieldSpriteManager *fieldSpriteManager, NarcId narcId, int fileId, BOOL compressed, NNS_G2D_VRAM_TYPE vramType, int resId); +ManagedSprite *FieldSpriteManager_CreateManagedSprite(FieldSpriteManager *fieldSpriteManager, const ManagedSpriteTemplate *managedSpriteTemplate); +void FieldSpriteManager_ReleaseWithoutResDat(FieldSpriteManager *fieldSpriteManager); + +#endif // POKEHEARTGOLD_FIELD_FIELD_SPRITE_MANAGER_H diff --git a/include/field/ov01_021E7FDC.h b/include/field/ov01_021E7FDC.h deleted file mode 100644 index bda5069239..0000000000 --- a/include/field/ov01_021E7FDC.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef POKEHEARTGOLD_FIELD_OV01_021E7FDC_H -#define POKEHEARTGOLD_FIELD_OV01_021E7FDC_H - -#include "sprite.h" -#include "unk_02009D48.h" - -typedef struct UnkStruct_ov01_021E7FDC { - SpriteList *spriteList; - G2dRenderer renderer; - SpriteResourceHeaderList *spriteResourceHeaderList; - GF_2DGfxResMan *spriteResManagers[GF_GFX_RES_TYPE_MAX]; - GF_2DGfxResObjList *spriteResObjLists[GF_GFX_RES_TYPE_MAX]; - u16 unk_160; - u16 unk_162; -} UnkStruct_ov01_021E7FDC; - -typedef struct SpriteTemplate_ov01_021E81F0 { - int unk_0; - s16 unk_4; - s16 unk_6; - s16 unk_8; - u16 unk_A; - int unk_C; - int unk_10; - int unk_14; - int unk_18; - u8 filler_1C[0xC]; -} SpriteTemplate_ov01_021E81F0; - -void UnkFieldSpriteRenderer_ov01_021E7FDC_Init(UnkStruct_ov01_021E7FDC *a0, const u16 *a1, int a2, enum HeapID a3); -void UnkFieldSpriteRenderer_ov01_021E7FDC_Release(UnkStruct_ov01_021E7FDC *a0); -Sprite *ov01_021E81F0(UnkStruct_ov01_021E7FDC *a0, const SpriteTemplate_ov01_021E81F0 *a1); - -#endif // POKEHEARTGOLD_FIELD_OV01_021E7FDC_H diff --git a/include/field_system.h b/include/field_system.h index 1efd31ade4..fdba41e133 100644 --- a/include/field_system.h +++ b/include/field_system.h @@ -149,7 +149,7 @@ struct FieldSystem { u8 filler_98[0x4]; void *unk9C; FrontierFieldSystem *frontierFsys; - Save_LinkBattleRuleset *linkBattleRuleset; + LinkBattleRuleset *linkBattleRuleset; UnkStruct_02092BB8 *unkA8; u32 unkAC; void *unkB0; @@ -181,19 +181,19 @@ struct FieldSystem { }; // size: 0x128 typedef struct FieldInput { - u16 interact:1; - u16 endMovement:1; - u16 menu:1; - u16 registeredItem:2; - u16 sign:1; - u16 mapTransition:1; - u16 movement:1; - u16 unk0_8:1; - u16 unk0_9:1; - u16 unk0_A:1; - u16 unk0_B:1; - u16 unk0_C:1; - u16 unk0_D:1; + u16 interact : 1; + u16 endMovement : 1; + u16 menu : 1; + u16 registeredItem : 2; + u16 sign : 1; + u16 mapTransition : 1; + u16 movement : 1; + u16 unk0_8 : 1; + u16 unk0_9 : 1; + u16 unk0_A : 1; + u16 unk0_B : 1; + u16 unk0_C : 1; + u16 unk0_D : 1; u16 unk2; u8 playerDir; s8 transitionDir; diff --git a/include/frontier/overlay_80_02229EE0.h b/include/frontier/overlay_80_02229EE0.h index fad0de92da..e5869c72aa 100644 --- a/include/frontier/overlay_80_02229EE0.h +++ b/include/frontier/overlay_80_02229EE0.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_OVERLAY_80_02229EE0 #define POKEHEARTGOLD_OVERLAY_80_02229EE0 +#include "global.h" + typedef struct FrontierTrainerData { u8 unk0[0x18]; u16 unk18[4]; diff --git a/include/gymmick.h b/include/gymmick.h index 495fa11fd6..e3a560d08c 100644 --- a/include/gymmick.h +++ b/include/gymmick.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_GYMMICK_H #define POKEHEARTGOLD_GYMMICK_H +#include "global.h" + typedef enum GymmickType { GYMMICK_NONE, GYMMICK_ECRUTEAK, diff --git a/include/library/spl_texture.h b/include/library/spl_texture.h index 9621433af1..ba419072f7 100644 --- a/include/library/spl_texture.h +++ b/include/library/spl_texture.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_SPL_TEXTURE_H #define POKEHEARTGOLD_SPL_TEXTURE_H +#include + typedef union { u32 all; struct { diff --git a/include/overlay_00_thumb.h b/include/overlay_00_thumb.h index 5d8fefc30b..7d294a03c0 100644 --- a/include/overlay_00_thumb.h +++ b/include/overlay_00_thumb.h @@ -19,7 +19,7 @@ s32 ov00_021E6D68(s32 arg0); s32 ov00_021E709C(void); BOOL ov00_021E7078(void); BOOL ov00_021E7080(void); -void ov00_021E5CBC(void *arg0); +void ov00_021E5CBC(BOOL (*arg0)(s32)); void ov00_021E7328(void); BOOL ov00_021E7314(void); void ov00_021E6CCC(UnkStruct_ov44_02231958 *arg0, s32 arg1); diff --git a/include/overlay_01_021E90C0.h b/include/overlay_01_021E90C0.h index 1dbd4e94e8..3b21f83b08 100644 --- a/include/overlay_01_021E90C0.h +++ b/include/overlay_01_021E90C0.h @@ -1,6 +1,7 @@ #ifndef POKEHEARTGOLD_OVERLAY_01_021E90C0_H #define POKEHEARTGOLD_OVERLAY_01_021E90C0_H +#include "field_system.h" #include "script.h" #include "task.h" diff --git a/include/overlay_01_021F467C.h b/include/overlay_01_021F467C.h index 48d4bab0ae..9b621ce8eb 100644 --- a/include/overlay_01_021F467C.h +++ b/include/overlay_01_021F467C.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_OVERLAY_01_021F467C_H #define POKEHEARTGOLD_OVERLAY_01_021F467C_H +#include "global.h" + u32 ov01_021F467C(u32 a0, u32 a1); void ov01_021F46DC(u32 *a0); diff --git a/include/overlay_01_021FB4C0.h b/include/overlay_01_021FB4C0.h index 78c10b94c0..c376bbe2d7 100644 --- a/include/overlay_01_021FB4C0.h +++ b/include/overlay_01_021FB4C0.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_OVERLAY_01_021FB4C0_H #define POKEHEARTGOLD_OVERLAY_01_021FB4C0_H +#include "global.h" + void ov01_021FB514(u32 a0); void ov01_021FB4F4(u32 a0); diff --git a/include/overlay_01_021FB5D4.h b/include/overlay_01_021FB5D4.h index 693408ff26..dcbd3de60e 100644 --- a/include/overlay_01_021FB5D4.h +++ b/include/overlay_01_021FB5D4.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_OVERLAY_01_021FB5D4_H #define POKEHEARTGOLD_OVERLAY_01_021FB5D4_H +#include "global.h" + void FieldSystem_DoPoisonEffect(u32 unk20); #endif // POKEHEARTGOLD_OVERLAY_01_021FB5D4_H diff --git a/include/overlay_01_02204ED8.h b/include/overlay_01_02204ED8.h index 62273cea4a..6f80ad1db4 100644 --- a/include/overlay_01_02204ED8.h +++ b/include/overlay_01_02204ED8.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_OV_01_02204ED8_H #define POKEHEARTGOLD_OV_01_02204ED8_H +#include "field_types_def.h" + void FieldSystem_TryHeadbuttEncounter(FieldSystem *fieldSystem, u16 *varPointer); #endif // POKEHEARTGOLD_OV_01_02204ED8_H diff --git a/include/overlay_03.h b/include/overlay_03.h index 9eee7549d3..db1bff0c77 100644 --- a/include/overlay_03.h +++ b/include/overlay_03.h @@ -1,6 +1,9 @@ #ifndef POKEHEARTGOLD_OVERLAY_03_H #define POKEHEARTGOLD_OVERLAY_03_H +#include "field/field_sprite_manager.h" +#include "pokeathlon/pokeathlon_save.h" + #include "bag_types_def.h" #include "dex_mon_measures.h" #include "game_stats.h" @@ -11,9 +14,6 @@ #include "script.h" #include "unk_02031B0C.h" -#include "field/ov01_021E7FDC.h" -#include "pokeathlon/pokeathlon_save.h" - enum PokeathlonData { OVERALL_DATA, EVENT_DATA, @@ -49,7 +49,7 @@ typedef struct MartData { MsgData *messageData; MessageFormat *messageFormat; Camera *camera; - UnkStruct_ov01_021E7FDC unk_ov01_021E7FDC; + FieldSpriteManager fieldSpriteManager; Sprite *sprites[19]; u16 spriteDrawn[2]; // Draw flags for sprites 0 and 1. PlayerProfile *playerProfile; diff --git a/include/overlay_13_arm_2.h b/include/overlay_13_arm_2.h index 30b508753a..8fe10e68f2 100644 --- a/include/overlay_13_arm_2.h +++ b/include/overlay_13_arm_2.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_OVERLAY_13_ARM_2_H #define POKEHEARTGOLD_OVERLAY_13_ARM_2_H +#include "global.h" + BOOL ov13_0222B430(void *, s32, s32); #endif // POKEHEARTGOLD_OVERLAY_13_ARM_2_H diff --git a/include/overlay_2/overlay_02_02248728.h b/include/overlay_2/overlay_02_02248728.h index 2296a61988..997fca0a6f 100644 --- a/include/overlay_2/overlay_02_02248728.h +++ b/include/overlay_2/overlay_02_02248728.h @@ -3,7 +3,7 @@ #include "field_system.h" -BOOL PlayerStepEvent_RepelCounterDecrement(SaveData* saveData, FieldSystem* fieldSystem); +BOOL PlayerStepEvent_RepelCounterDecrement(SaveData *saveData, FieldSystem *fieldSystem); BOOL ov02_0224E35C(FieldSystem *fieldSystem); BOOL ov02_0224E4CC(u8 tile, int arg1); BOOL ov02_0224E4DC(u8 tile, int arg1); diff --git a/include/overlay_42.h b/include/overlay_42.h index 2c9a74afff..e7ec7d555f 100644 --- a/include/overlay_42.h +++ b/include/overlay_42.h @@ -137,13 +137,10 @@ typedef struct UnkStruct_ov42_02227060 { SpriteResource *unk2188[4]; u8 unk2198[0x20]; UnkStruct_ov42_02227C18 unk21B8[0x10]; - SpriteResource *unk22B8; - u8 unk22BC[4]; - SpriteResource *unk22C0[2]; + SpriteResource *unk22B8[4]; SpriteResourcesHeader unk22C8; u32 unk22EC; - GF_2DGfxResMan *unk22F0[2]; - GF_2DGfxResMan *unk22F8[2]; + GF_2DGfxResMan *unk22F0[4]; SpriteResource *unk2300; NARC *unk2304; NARC *unk2308; @@ -161,6 +158,20 @@ typedef struct UnkStruct_ov42_02227FA4 { u32 unk0; } UnkStruct_ov42_02227FA4; +typedef struct UnkTemplate_ov42_022293B8 { + u8 unk_0; + u8 unk_1; + u8 colorMode; + u8 screenBase; + u8 charBase; + u8 bgExtPltt; + u8 priority; + u8 mosaic; + u8 narcId; + u8 fileId; + u8 compressed; +} UnkTemplate_ov42_022293B8; + typedef s32 (*func_type_02229E74)(UnkStruct_ov42_02228110 *arg0, UnkStruct_ov42_02227F68 *arg1, UnkStruct_ov42_022280A8 *arg2, UnkStruct_ov42_02228CDC *arg3, UnkStruct_ov42_02228EB0 *arg4); typedef void (*func_type_022285A4)(UnkStruct_ov42_02228110 *arg0, UnkStruct_ov44_02232914 arg2, u32 arg3); typedef s32 (*func_type_02228574)(UnkStruct_ov42_02228110 *arg0); @@ -206,7 +217,7 @@ void ov42_022279C0(UnkStruct_ov42_02227060 *arg0, s32 arg1); BOOL ov42_022279E8(UnkStruct_ov42_02227060 *arg0, s32 arg1); void ov42_022279FC(UnkStruct_ov42_02227060 *arg0, s32 arg1, enum HeapID heapID); void ov42_02227B04(UnkStruct_ov42_02227060 *arg0); -s32 ov42_02227B5C(SpriteResource **arg0); +BOOL ov42_02227B5C(SpriteResource **arg0); void ov42_02227B6C(UnkStruct_ov42_02227060 *arg0, s32 arg1, enum HeapID heapID); void ov42_02227BE0(UnkStruct_ov42_02227060 *arg0); void ov42_02227C18(UnkStruct_ov42_02227060 *arg0, enum HeapID heapID); @@ -237,7 +248,7 @@ void *ov42_02227EE0(u16 arg0, u16 arg1, enum HeapID heapID); void ov42_02227F28(UnkStruct_ov42_02227F68 *arg0); u16 ov42_02227F40(UnkStruct_ov42_02227F68 *arg0); u16 ov42_02227F44(UnkStruct_ov42_02227F68 *arg0); -void ov42_02227F48(UnkStruct_ov42_02227F68 *arg0, void *arg1); +void ov42_02227F48(UnkStruct_ov42_02227F68 *arg0, const void *arg1); UnkStruct_ov42_02227FA4 ov42_02227F68(UnkStruct_ov42_02227F68 *arg0, u32 arg1, u32 arg2); s32 ov42_02227FA4(UnkStruct_ov42_02227F68 *arg0, u16 arg1, u16 arg2); @@ -336,10 +347,10 @@ void ov42_02229394(UnkStruct_ov44_02232914 *arg0); void ov42_022293A0(UnkStruct_ov44_02232914 *arg0, s16 arg1, s16 arg2); s16 ov42_022293A8(UnkStruct_ov44_02232914 *arg0); s16 ov42_022293B0(UnkStruct_ov44_02232914 *arg0); -UnkStruct_ov42_022293B8 *ov42_022293B8(G2dRenderer *g2dRenderer, BgConfig *bgConfig, u8 *arg2, enum HeapID heapID); +UnkStruct_ov42_022293B8 *ov42_022293B8(G2dRenderer *g2dRenderer, BgConfig *bgConfig, const UnkTemplate_ov42_022293B8 *arg2, enum HeapID heapID); void ov42_0222940C(UnkStruct_ov42_022293B8 *arg0); void ov42_02229420(UnkStruct_ov42_022293B8 *arg0, UnkStruct_ov44_02232914 *arg1); -void ov42_02229514(BgConfig *bgConfig, s32 arg1, u8 *arg2); +void ov42_02229514(BgConfig *bgConfig, s32 arg1, const UnkTemplate_ov42_022293B8 *arg2); void ov42_02229570(UnkStruct_ov42_022293B8 *arg0, s16 arg1, s16 arg2); void ov42_02229600(BgConfig *bgConfig, s32 arg1, NNSG2dScreenData *nnsg2dScreenData, s16 arg3, s16 arg4); void ov42_022296F0(BgConfig *bgConfig, u8 arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5, void *arg6, u8 arg7, u8 arg8, u8 arg9, u8 argA); diff --git a/include/overlay_44.h b/include/overlay_44.h index f18a7a02dc..dd6aef8d8a 100644 --- a/include/overlay_44.h +++ b/include/overlay_44.h @@ -1,16 +1,10 @@ #ifndef POKEHEARTGOLD_OVY_44_H #define POKEHEARTGOLD_OVY_44_H -#include "global.h" - -#include "heap.h" #include "list_menu_2d.h" -#include "main.h" #include "overlay_44_02232E9C.h" #include "render_window.h" -#include "sprite.h" #include "unk_02009D48.h" -#include "yes_no_prompt.h" typedef struct UnkStruct_ov44_022341C0 { UnkStruct_ov42_02228110 *unk0; @@ -227,5 +221,7 @@ s32 ov44_02235218(UnkStruct_ov44_02235340 *arg0, UnkStruct_ov44_args *arg1, enum s32 ov44_02235268(UnkStruct_ov44_02235340 *arg0, UnkStruct_ov44_args *arg1, enum HeapID heapID); s32 ov44_0223532C(UnkStruct_ov44_02235340 *arg0, UnkStruct_ov44_args *arg1, enum HeapID heapID); s32 ov44_02235340(UnkStruct_ov44_02235340 *arg0, UnkStruct_ov44_args *arg1, enum HeapID heapID); +UnkStruct_ov44_02232914 ov44_02232E90(s32 arg0); +const u32 *ov44_02232E9C(u32 arg0); #endif // POKEHEARTGOLD_OVY_44_H diff --git a/include/overlay_44_02232E9C.h b/include/overlay_44_02232E9C.h index 7a02b3a8bf..ebf089f620 100644 --- a/include/overlay_44_02232E9C.h +++ b/include/overlay_44_02232E9C.h @@ -3,12 +3,12 @@ #include "global.h" -#include "overlay_42.h" #include "heap.h" #include "list_menu.h" #include "list_menu_2d.h" #include "main.h" #include "obj_char_transfer.h" +#include "overlay_42.h" #include "render_window.h" #include "sprite.h" #include "unk_02009D48.h" @@ -43,8 +43,8 @@ typedef void (*func_type_02236680)(UnkStruct_ov44_022319EC *, enum HeapID); typedef s32 (*func_type_0222A60C)(UnkStruct_ov44_022319EC *, s32); struct UnkStruct_ov44_02232B74 { - UnkStruct_ov42_02228110* unk0; - UnkStruct_ov42_0222903C* unk4; + UnkStruct_ov42_02228110 *unk0; + UnkStruct_ov42_0222903C *unk4; s16 unk8; u8 unkA; u8 unkB; @@ -84,11 +84,11 @@ struct UnkStruct_ov44_02232DA0 { UnkStruct_ov44_02232B74 *unk6CC; UnkStruct_ov44_02232E80 unk6D0; UnkStruct_ov42_02227F68 *unk6E4; - UnkStruct_ov42_022280A8* unk6E8; - UnkStruct_ov42_02228EDC* unk6EC; + UnkStruct_ov42_022280A8 *unk6E8; + UnkStruct_ov42_02228EDC *unk6EC; UnkStruct_ov44_02232914 unk6F0; - UnkStruct_ov42_022293B8* unk6F4; - UnkStruct_ov42_02229A40* unk6F8; + UnkStruct_ov42_022293B8 *unk6F4; + UnkStruct_ov42_02229A40 *unk6F8; }; typedef struct UnkStruct_ov44_02231800 { @@ -417,7 +417,7 @@ void ov44_02231054(UnkStruct_ov44_022319EC *arg0, s32 arg1, s32 arg2, s32 arg3, void ov44_02231084(UnkStruct_ov44_022319EC *arg0, String *arg1, u32 arg2, s32 arg3); void ov44_022310C8(UnkStruct_ov44_022319EC *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); void ov44_02231148(UnkStruct_ov44_022319EC *arg0, u8 arg1, u8 arg2, u8 arg3, u8 arg4); -s32 ov44_0223120C(u32 arg0, s32 *color); +s32 ov44_0223120C(u32 arg0, u32 *color); void ov44_022312B8(UnkStruct_ov44_022319EC *arg0, Window *arg1, s32 arg2, s32 arg3, s32 arg4); void ov44_02231344(UnkStruct_ov44_022319EC *arg0, Window *arg1, s32 arg2, u32 arg3, u32 arg4); void ov44_022313C8(UnkStruct_ov44_022319EC *arg0); @@ -497,7 +497,7 @@ void ov44_02232594(UnkStruct_ov44_02232DA0 *arg0); void ov44_022325A4(UnkStruct_ov44_02232DA0 *arg0, UnkStruct_ov44_02232914 arg1, s32 arg2); void ov44_022325F4(UnkStruct_ov44_02232DA0 *arg0); s32 ov44_02232604(UnkStruct_ov44_02232DA0 *arg0); -void ov44_02232680(UnkStruct_ov44_02232DA0 *arg0, u16 *arg1, u32 arg2); +void ov44_02232680(UnkStruct_ov44_02232DA0 *arg0, s16 *arg1, u32 arg2); void ov44_02232724(UnkStruct_ov44_02232DA0 *arg0, s16 *arg1); UnkStruct_ov44_02232B74 *ov44_02232798(UnkStruct_ov44_02232DA0 *arg0); void ov44_022327C8(UnkStruct_ov44_02232DA0 *arg0, UnkStruct_ov44_02232B74 *arg1, s32 arg2); @@ -531,6 +531,6 @@ void ov44_02232E54(UnkStruct_ov44_02232E80 *arg0); void ov44_02232E5C(UnkStruct_ov44_02232E80 *arg0, u8 arg1); void ov44_02232E80(UnkStruct_ov44_02232E80 *arg0); UnkStruct_ov44_02232914 ov44_02232E90(s32 arg0); -u32 *ov44_02232E9C(u32 arg0); +const u32 *ov44_02232E9C(u32 arg0); #endif // POKEHEARTGOLD_OVY_44_02232E9C_H diff --git a/include/overlay_manager.h b/include/overlay_manager.h index f4a4a4ba8f..c31a31abfb 100644 --- a/include/overlay_manager.h +++ b/include/overlay_manager.h @@ -2,7 +2,6 @@ #define POKEHEARTGOLD_OVERLAY_MANAGER_H #include "heap.h" -#include "poke_overlay.h" #define FS_OVERLAY_ID_NONE (-1) diff --git a/include/overlay_trainer_card_main.h b/include/overlay_trainer_card_main.h index ead41bcb60..26dc40ebcd 100644 --- a/include/overlay_trainer_card_main.h +++ b/include/overlay_trainer_card_main.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_OVERLAY_TRAINER_CARD_MAIN_H #define POKEHEARTGOLD_OVERLAY_TRAINER_CARD_MAIN_H +#include "overlay_manager.h" + int TrainerCardMainApp_Init(OverlayManager *manager, int *state); int TrainerCardMainApp_Main(OverlayManager *manager, int *state); int TrainerCardMainApp_Exit(OverlayManager *manager, int *state); diff --git a/include/overlay_trainer_card_signature.h b/include/overlay_trainer_card_signature.h index 2c9cab244d..86badf1239 100644 --- a/include/overlay_trainer_card_signature.h +++ b/include/overlay_trainer_card_signature.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_OVERLAY_TRAINER_CARD_SIGNATURE_H #define POKEHEARTGOLD_OVERLAY_TRAINER_CARD_SIGNATURE_H +#include "overlay_manager.h" + int TrainerCardSignature_Init(OverlayManager *manager, int *state); int TrainerCardSignature_Main(OverlayManager *manager, int *state); int TrainerCardSignature_Exit(OverlayManager *manager, int *state); diff --git a/include/pm_version.h b/include/pm_version.h index 125a9a53cd..16be295e5f 100644 --- a/include/pm_version.h +++ b/include/pm_version.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_PM_VERSION_H #define POKEHEARTGOLD_PM_VERSION_H +#include + extern const u8 gGameVersion; extern const u8 gGameLanguage; diff --git a/include/save_link_ruleset.h b/include/save_link_ruleset.h index 73bcda0293..5bb045e995 100644 --- a/include/save_link_ruleset.h +++ b/include/save_link_ruleset.h @@ -21,7 +21,7 @@ typedef enum LinkBattleRule { LINKBATTLERULE_UBERS_CLAUSE, LINKBATTLERULE_DRAGON_RAGE_CLAUSE, LINKBATTLERULE_SOUL_DEW_CLAUSE, -}LinkBattleRule; +} LinkBattleRule; #define FLAG_RULESET_BAN_SOUL_DEW (0x8000) diff --git a/include/scrcmd.h b/include/scrcmd.h index e8de8b17d0..969fba7e7a 100644 --- a/include/scrcmd.h +++ b/include/scrcmd.h @@ -72,7 +72,7 @@ BOOL ScrCmd_OpenMsg(ScriptContext *ctx); BOOL ScrCmd_CloseMsg(ScriptContext *ctx); BOOL ScrCmd_HoldMsg(ScriptContext *ctx); BOOL ScrCmd_DirectionSignpost(ScriptContext *ctx); -BOOL ScrCmd_055(ScriptContext *ctx); +BOOL ScrCmd_056(ScriptContext *ctx); BOOL ScrCmd_057(ScriptContext *ctx); BOOL ScrCmd_058(ScriptContext *ctx); BOOL ScrCmd_TrainerTips(ScriptContext *ctx); diff --git a/include/sound_radio.h b/include/sound_radio.h index 0b5cad4f6d..594552dd25 100644 --- a/include/sound_radio.h +++ b/include/sound_radio.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_SOUND_RADIO_H #define POKEHEARTGOLD_SOUND_RADIO_H +#include "global.h" + void SndRadio_Init(NNSSndHeapHandle *heap_p); BOOL SndRadio_StartSeq(int seqNo); void SndRadio_StopSeq(int fadeFrame); diff --git a/include/sprite_system.h b/include/sprite_system.h index 32af26e8f9..4677b3acc2 100644 --- a/include/sprite_system.h +++ b/include/sprite_system.h @@ -3,10 +3,22 @@ #include "filesystem.h" #include "palette.h" -#include "save.h" #include "sprite.h" #include "unk_02009D48.h" +typedef union ResdatIdList { + u16 raw[GF_GFX_RES_TYPE_MAX + 1]; + struct { + u16 charRes; + u16 plttRes; + u16 cellRes; + u16 animRes; + u16 mcelRes; + u16 manmRes; + u16 headerId; + }; +} ResdatIdList; + typedef struct UnmanagedSpriteTemplate { int resourceSet; s16 x; @@ -95,8 +107,8 @@ void SpriteSystem_TransferOam(void); void SpriteSystem_UpdateTransfer(void); void SpriteSystem_DestroySpriteManager(SpriteSystem *spriteSystem, SpriteManager *spriteManager); void SpriteSystem_Free(SpriteSystem *spriteSystem); -BOOL sub_0200D294(SpriteSystem *spriteSystem, SpriteManager *spriteManager, const u16 *fileIdList); -BOOL sub_0200D2A4(SpriteSystem *spriteSystem, SpriteManager *spriteManager, const u16 *fileIdList, int loadCharMode, int loadPlttMode); +BOOL sub_0200D294(SpriteSystem *spriteSystem, SpriteManager *spriteManager, const ResdatIdList *fileIdList); +BOOL sub_0200D2A4(SpriteSystem *spriteSystem, SpriteManager *spriteManager, const ResdatIdList *fileIdList, int loadCharMode, int loadPlttMode); Sprite *SpriteSystem_CreateSpriteFromResourceHeader(SpriteSystem *spriteSystem, SpriteManager *spriteManager, const UnmanagedSpriteTemplate *template); BOOL SpriteSystem_InitManagerWithCapacities(SpriteSystem *spriteSystem, SpriteManager *spriteManager, SpriteResourceCountsListUnion *countsArray); BOOL SpriteSystem_LoadCharResObj(SpriteSystem *spriteSystem, SpriteManager *spriteManager, NarcId narcId, int fileId, BOOL compressed, int vram, int resId); diff --git a/include/sprite_transfer.h b/include/sprite_transfer.h new file mode 100644 index 0000000000..b6363499e3 --- /dev/null +++ b/include/sprite_transfer.h @@ -0,0 +1,29 @@ +#ifndef POKEHEARTGOLD_SPRITE_TRANSFER_H +#define POKEHEARTGOLD_SPRITE_TRANSFER_H + +#include "unk_0200A090.h" + +BOOL SpriteTransfer_CreateCharTransferTask(SpriteResource *obj); +void SpriteTransfer_CreateAllCharTransferTasks(GF_2DGfxResObjList *charResObjList); +BOOL SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW(SpriteResource *obj); +BOOL SpriteTransfer_CreateCharTransferTask_AllocAtEnd(SpriteResource *charResObj); +void SpriteTransfer_CreateAllCharTransferTasks_AllocAtEnd(GF_2DGfxResObjList *charResObjList); +BOOL SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd(SpriteResource *obj); +void SpriteTransfer_SpriteTransfer_CreateAllCharTransferTasks_UpdateMappingTypeFromHW_AllocAtEnd(GF_2DGfxResObjList *charResObjList); +void SpriteTransfer_ReplaceCharData(SpriteResource *charResObj); +void SpriteTransfer_DeleteCharTransferTask(SpriteResource *charResObj); +void SpriteTransfer_DeleteAllCharTransferTasks(GF_2DGfxResObjList *charResObjList); +NNSG2dImageProxy *SpriteTransfer_GetCharProxy(SpriteResource *charResObj); +NNSG2dImageProxy *SpriteTransfer_GetCharProxyWithCell(SpriteResource *charResObj, SpriteResource *cellResObj); +void SpriteTransfer_DeleteCharTransferTaskByProxy(const NNSG2dImageProxy *imgProxy); +BOOL SpriteTransfer_CreateExtPlttTransferTask(SpriteResource *obj); +void SpriteTransfer_CreateAllExtPlttTransferTasks(GF_2DGfxResObjList *plttResObjList); +BOOL SpriteTransfer_CreatePlttTransferTask(SpriteResource *plttResObj); +void SpriteTransfer_CreateAllPlttTransferTasks(GF_2DGfxResObjList *plttResObjList); +void SpriteTransfer_ReplacePlttData(SpriteResource *plttResObj); +void SpriteTransfer_DeletePlttTransferTask(SpriteResource *plttResObj); +void SpriteTransfer_DeleteAllPlttTransferTasks(GF_2DGfxResObjList *plttResObjList); +NNSG2dImagePaletteProxy *SpriteTransfer_GetPaletteProxy(SpriteResource *plttResObj, NNSG2dImageProxy *imageProxy); +int SpriteTransfer_GetPlttOffset(SpriteResource *plttResObj, NNS_G2D_VRAM_TYPE vram); + +#endif // POKEHEARTGOLD_SPRITE_TRANSFER_H diff --git a/include/text_0205B4EC.h b/include/text_0205B4EC.h index 9f541640a5..ea4cfc2f04 100644 --- a/include/text_0205B4EC.h +++ b/include/text_0205B4EC.h @@ -2,6 +2,7 @@ #define POKEHEARTGOLD_TEXT_0205B4EC_H #include "bg_window.h" +#include "font_types_def.h" #include "options.h" #include "pm_string.h" diff --git a/include/timer_3.h b/include/timer_3.h index 408cc77ab8..0ef547d48b 100644 --- a/include/timer_3.h +++ b/include/timer_3.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_TIMER_3_H #define POKEHEARTGOLD_TIMER_3_H +#include "global.h" + void Init_Timer3(void); u64 sub_02025488(void); u64 sub_020254FC(void); diff --git a/include/unk_02005D10.h b/include/unk_02005D10.h index 4431a83fd5..9b37855224 100644 --- a/include/unk_02005D10.h +++ b/include/unk_02005D10.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_UNK_02005D10_H #define POKEHEARTGOLD_UNK_02005D10_H +#include "global.h" + #include "constants/sndseq.h" void PlaySE(u16 sndseq); diff --git a/include/unk_0200ACF0.h b/include/unk_0200ACF0.h deleted file mode 100644 index bacac1b7f0..0000000000 --- a/include/unk_0200ACF0.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef POKEHEARTGOLD_UNK_0200ACF0_H -#define POKEHEARTGOLD_UNK_0200ACF0_H - -#include "unk_0200A090.h" - -BOOL sub_0200ACF0(SpriteResource *obj); -void sub_0200AD30(GF_2DGfxResObjList *charResObjList); -BOOL sub_0200AD64(SpriteResource *obj); -BOOL sub_0200ADA4(SpriteResource *charResObj); -void sub_0200ADE4(GF_2DGfxResObjList *charResObjList); -BOOL sub_0200AE18(SpriteResource *obj); -void sub_0200AE58(GF_2DGfxResObjList *charResObjList); -void sub_0200AE8C(SpriteResource *charResObj); -void sub_0200AEB0(SpriteResource *charResObj); -void sub_0200AED4(GF_2DGfxResObjList *charResObjList); -NNSG2dImageProxy *sub_0200AF00(SpriteResource *charResObj); -NNSG2dImageProxy *sub_0200AF24(SpriteResource *charResObj, SpriteResource *cellResObj); -void sub_0200AF80(const NNSG2dImageProxy *imgProxy); -BOOL sub_0200AF94(SpriteResource *obj); -void sub_0200AFD8(GF_2DGfxResObjList *plttResObjList); -BOOL sub_0200B00C(SpriteResource *plttResObj); -void sub_0200B050(GF_2DGfxResObjList *plttResObjList); -void sub_0200B084(SpriteResource *plttResObj); -void sub_0200B0A8(SpriteResource *plttResObj); -void sub_0200B0CC(GF_2DGfxResObjList *plttResObjList); -NNSG2dImagePaletteProxy *SpriteTransfer_GetPaletteProxy(SpriteResource *plttResObj, NNSG2dImageProxy *imageProxy); -int SpriteTransfer_GetPlttOffset(SpriteResource *plttResObj, NNS_G2D_VRAM_TYPE vram); - -#endif // POKEHEARTGOLD_UNK_0200ACF0_H diff --git a/include/unk_02013534.h b/include/unk_02013534.h index 56ce3804fe..e2e7bd08f5 100644 --- a/include/unk_02013534.h +++ b/include/unk_02013534.h @@ -31,7 +31,7 @@ typedef struct TextOBJ { } TextOBJ; UnkStruct_02013534 *FontSystem_NewInit(int a0, enum HeapID heapId); -void sub_02013794(void *a0, u32 *a1, u32 *a2); +void sub_02013794(void *a0, int *a1, int *a2); int sub_02013688(Window *window, NNS_G2D_VRAM_TYPE vram, int a2); void sub_020135AC(UnkStruct_02013534 *a0); void sub_02013820(TextOBJ *textOBJ, int a1); diff --git a/include/unk_02020B8C.h b/include/unk_02020B8C.h index 3fdddde457..97c0c73db8 100644 --- a/include/unk_02020B8C.h +++ b/include/unk_02020B8C.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_UNK_02020B8C_H #define POKEHEARTGOLD_UNK_02020B8C_H +#include "global.h" + fx32 GetDistanceFromPointToLine(VecFx32 *a, VecFx32 *near, VecFx32 *far); void sub_02020D2C(MtxFx33 *rotation, VecFx32 *a1); diff --git a/include/unk_020210A0.h b/include/unk_020210A0.h index 4d64b3e6b1..aab4eb2a86 100644 --- a/include/unk_020210A0.h +++ b/include/unk_020210A0.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_UNK_020210A0_H #define POKEHEARTGOLD_UNK_020210A0_H +#include "global.h" + void GF_TouchpadInit(void); void GF_TouchpadPauseOnLidClose(void); void GF_TouchpadResumeOnLidOpen(void); diff --git a/include/unk_0202C034.h b/include/unk_0202C034.h index 6296db6713..6919865b09 100644 --- a/include/unk_0202C034.h +++ b/include/unk_0202C034.h @@ -10,13 +10,13 @@ void sub_0202C714(SaveData *saveData); UnkStruct_021D2230 *sub_0202C6F4(SaveData *saveData); int sub_0202C2F8(struct UnkStruct_021D2230 *a0); void *sub_0202C08C(UnkStruct_021D2230 *a0); -u16* sub_0202C254(struct UnkStruct_021D2230 *a0, s32 a1); -u16* sub_0202C298(struct UnkStruct_021D2230 *a0, s32 a1); +u16 *sub_0202C254(struct UnkStruct_021D2230 *a0, s32 a1); +u16 *sub_0202C298(struct UnkStruct_021D2230 *a0, s32 a1); s32 sub_0202C090(struct UnkStruct_021D2230 *a0, s32 a1, s32 a2); void sub_0202C46C(struct UnkStruct_021D2230 *a0); void sub_0202C4B0(struct UnkStruct_021D2230 *a0, s32 a1); u16 sub_0202C318(struct UnkStruct_021D2230 *a0); -void sub_0202C190(UnkStruct_021D2230* a0, int a1, int a2, u8 a3); -void sub_0202C03C(struct UnkStruct_021D2230* a0); +void sub_0202C190(UnkStruct_021D2230 *a0, int a1, int a2, u8 a3); +void sub_0202C03C(struct UnkStruct_021D2230 *a0); #endif // POKEHEARTGOLD_UNK_0202C034_H diff --git a/include/unk_0202E41C.h b/include/unk_0202E41C.h index d12a7d545d..4f43a71cd7 100644 --- a/include/unk_0202E41C.h +++ b/include/unk_0202E41C.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_UNK_0202E41C_H #define POKEHEARTGOLD_UNK_0202E41C_H +#include "global.h" + typedef struct UnkStruct_0202E474 { u8 filler_000[12]; u8 unk_00C[192]; diff --git a/include/unk_02031B0C.h b/include/unk_02031B0C.h index 015513187b..be0af8c60c 100644 --- a/include/unk_02031B0C.h +++ b/include/unk_02031B0C.h @@ -1,6 +1,7 @@ #ifndef POKEHEARTGOLD_UNK_02031B0C_H #define POKEHEARTGOLD_UNK_02031B0C_H +#include "pm_string.h" #include "save.h" typedef struct UnkStruct_02031CEC { diff --git a/include/unk_02032844.h b/include/unk_02032844.h index 8d37a3f392..eff14cd97d 100644 --- a/include/unk_02032844.h +++ b/include/unk_02032844.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_UNK_02032844_H #define POKEHEARTGOLD_UNK_02032844_H +#include "global.h" + u16 sub_02033250(void); #endif // POKEHEARTGOLD_UNK_02032844_H diff --git a/include/unk_02033AE0.h b/include/unk_02033AE0.h index 46bfe269b0..4e6988a851 100644 --- a/include/unk_02033AE0.h +++ b/include/unk_02033AE0.h @@ -1,10 +1,10 @@ #ifndef POKEHEARTGOLD_UNK_02033AE0_H #define POKEHEARTGOLD_UNK_02033AE0_H -#include "unk_0203AC88.h" +#include "global.h" BOOL sub_0203401C(int); -void sub_0203410C(void *, int, void *arg2); +void sub_0203410C(const void *, int, void *arg2); u32 sub_020342C4(void); u32 sub_020342C0(void); u32 sub_020342B8(void); diff --git a/include/unk_02034B0C.h b/include/unk_02034B0C.h index a2e5d86774..09846c37df 100644 --- a/include/unk_02034B0C.h +++ b/include/unk_02034B0C.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_UNK_02034B0C_H #define POKEHEARTGOLD_UNK_02034B0C_H +#include "player_data.h" + void sub_02034D8C(void); BOOL sub_02034DB8(void); int sub_0203511C(); diff --git a/include/unk_02035900.h b/include/unk_02035900.h index 6bb3c5dded..de950b4f11 100644 --- a/include/unk_02035900.h +++ b/include/unk_02035900.h @@ -2,6 +2,7 @@ #define POKEHEARTGOLD_UNK_02035900_H #include "global.h" + #include "safari_zone.h" BOOL sub_02036144(void); diff --git a/include/unk_020379A0.h b/include/unk_020379A0.h index 35d05f09f9..51d049000d 100644 --- a/include/unk_020379A0.h +++ b/include/unk_020379A0.h @@ -11,7 +11,7 @@ void sub_02037B8C(u32 arg0, u8 arg1); s32 sub_02037BA0(s32 arg0, s32 arg1); void sub_02037BC8(void); void sub_02037BEC(void); -u32 sub_02037C0C(u32 a0, u16 *a1); +u32 sub_02037C0C(u32 a0, s16 *a1); u16 *sub_02037C44(s32 a0); #endif // POKEHEARTGOLD_UNK_020379A0_H diff --git a/include/unk_02037C94.h b/include/unk_02037C94.h index e44cc83318..e02ffed9f6 100644 --- a/include/unk_02037C94.h +++ b/include/unk_02037C94.h @@ -1,9 +1,9 @@ #ifndef POKEHEARTGOLD_UNK_02037C94_H #define POKEHEARTGOLD_UNK_02037C94_H +#include "overlay_44_02232E9C.h" #include "save.h" #include "unk_0202C034.h" -#include "overlay_44_02232E9C.h" BOOL sub_02037D78(void); void sub_02037EC0(u32 arg0); @@ -35,10 +35,10 @@ UnkStruct_ov44_0223197C *sub_020398C8(void); void sub_020393B4(void); BOOL sub_02039274(void); void sub_02039330(void); -void sub_0203A1C4(SaveData* saveData, void* a1, enum HeapID heapID); +void sub_0203A1C4(SaveData *saveData, void *a1, enum HeapID heapID); void sub_02039B7C(void); BOOL sub_020392A0(void); -UnkStruct_ov44_0223197C* sub_020396FC(SaveData*, int); +UnkStruct_ov44_0223197C *sub_020396FC(SaveData *, int); void sub_02039378(void); void sub_02039FD8(enum HeapID heapID); void sub_02039E9C(void); diff --git a/include/unk_0203DB6C.h b/include/unk_0203DB6C.h index 896b815ac2..521cf31c25 100644 --- a/include/unk_0203DB6C.h +++ b/include/unk_0203DB6C.h @@ -4,7 +4,7 @@ #include "script.h" void FieldSystem_GetFacingObject(FieldSystem *fieldSystem, LocalMapObject **ret_p); -BOOL sub_0203DC64(FieldSystem *fieldSystem, LocalMapObject** localMapObject); +BOOL sub_0203DC64(FieldSystem *fieldSystem, LocalMapObject **localMapObject); u16 GetInteractedBackgroundEventScript(FieldSystem *fieldSystem, BG_EVENT *bgEvents, int numEvents); u32 sub_0203DDA4(FieldSystem *fieldSystem, BG_EVENT *bgEvents, int numEvents); u16 sub_0203DE04(FieldSystem *fieldSystem, const COORD_EVENT *coordEvent, int numEvents); diff --git a/include/unk_02054648.h b/include/unk_02054648.h index e030f98b88..3959f37141 100644 --- a/include/unk_02054648.h +++ b/include/unk_02054648.h @@ -1,9 +1,10 @@ #ifndef POKEHEARTGOLD_UNK_02054648_H #define POKEHEARTGOLD_UNK_02054648_H -#include "script.h" #include "field/field_control.h" +#include "script.h" + SoundplateStruct *sub_02054874(FieldSystem *fieldSystem, int x, int z); void sub_0205489C(u32 *a0, int a1); BOOL sub_020548C0(FieldSystem *fieldSystem, int x, int z); diff --git a/include/unk_0205BFF0.h b/include/unk_0205BFF0.h index 31f0ce74b8..7ba15952a9 100644 --- a/include/unk_0205BFF0.h +++ b/include/unk_0205BFF0.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_UNK_0205BFF0_H #define POKEHEARTGOLD_UNK_0205BFF0_H +#include "global.h" + int sub_0205BFF0(u8, u8); int sub_0205C048(u8, u8); u32 sub_0205C0CC(u8); diff --git a/include/unk_020689C8.h b/include/unk_020689C8.h index 745cc1a050..03c887873b 100644 --- a/include/unk_020689C8.h +++ b/include/unk_020689C8.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_UNK_020689C8_H #define POKEHEARTGOLD_UNK_020689C8_H +#include "field_types_def.h" + typedef struct { int unk0; u8 unk4[0x8]; diff --git a/include/unk_02078834.h b/include/unk_02078834.h index 0e6b8c3aec..75278588e7 100644 --- a/include/unk_02078834.h +++ b/include/unk_02078834.h @@ -3,6 +3,7 @@ #include "task.h" +BOOL sub_02078D24(s32 a0); void sub_02078B58(TaskManager *taskManager); void sub_02078B78(TaskManager *taskManager, u16 *var_p); diff --git a/include/unk_02092B04.h b/include/unk_02092B04.h index fe8ef973f7..2b30552f88 100644 --- a/include/unk_02092B04.h +++ b/include/unk_02092B04.h @@ -2,6 +2,7 @@ #define POKEHEARTGOLD_UNK_02092B04_H #include "global.h" + #include "task.h" BOOL sub_02092B04(TaskManager *taskManager); diff --git a/include/unk_02097024.h b/include/unk_02097024.h index d64a05e836..3691457e65 100644 --- a/include/unk_02097024.h +++ b/include/unk_02097024.h @@ -1,6 +1,8 @@ #ifndef POKEHEARTGOLD_UNK_02097024_H #define POKEHEARTGOLD_UNK_02097024_H +#include "field_system.h" + BOOL sub_020970C0(void *); void *sub_0209707C(FieldSystem *fieldSystem); diff --git a/main.lsf b/main.lsf index 59c7302954..7f4db1f9fe 100644 --- a/main.lsf +++ b/main.lsf @@ -30,7 +30,7 @@ Static main Object src/pokepic.o Object src/unk_02009D48.o Object src/unk_0200A090.o - Object src/unk_0200ACF0.o + Object src/sprite_transfer.o Object asm/unk_0200B150.o Object src/brightness.o Object src/msgdata.o @@ -489,7 +489,7 @@ Overlay field Object asm/overlay_01_021E5900.o Object src/field/overlay_01_021E66E4.o Object src/field/field_control.o - Object asm/overlay_01_021E7FDC.o + Object src/field/field_sprite_manager.o Object asm/overlay_01_021E8744.o Object asm/overlay_01_021E90C0.o Object asm/overlay_01_021EA6C4.o @@ -822,9 +822,9 @@ Overlay OVY_44 { After OVY_42 Object src/overlay_44_0222CDAC.o - Object src/overlay_44_02232E9C.o + Object src/overlay_44_02231A14.o + Object src/overlay_44_02232E90.o Object src/overlay_44_02235340.o - Object asm/overlay_44.o } Overlay OVY_45 { @@ -1323,23 +1323,23 @@ Overlay voltorb_flip Overlay ds_protect { After OVY_31 - Object lib/dsprot/dsprot_main_encrypted.o + Object lib/dsprot/dsprot_main_encrypted.o Object lib/dsprot/dsprot_main_decrypter_encoded.o Object lib/dsprot/dsprot_main_decrypter_decoder.o - Object lib/dsprot/extra.o - Object lib/dsprot/integrity_encrypted.o - Object lib/dsprot/integrity_decrypter_encoded.o - Object lib/dsprot/integrity_decrypter_decoder.o - Object lib/dsprot/encryptor_encoded.o - Object lib/dsprot/encryptor_decoder.o - Object lib/dsprot/mac_owner_encrypted.o - Object lib/dsprot/mac_owner_decrypter_encoded.o - Object lib/dsprot/rom_util_encrypted.o - Object lib/dsprot/rom_util_decrypter_encoded.o - Object lib/dsprot/rom_test_encrypted.o - Object lib/dsprot/rom_test_decrypter_encoded.o - Object lib/dsprot/coretests_decrypter_decoder.o - Object lib/dsprot/rc4_encoded.o + Object lib/dsprot/extra.o + Object lib/dsprot/integrity_encrypted.o + Object lib/dsprot/integrity_decrypter_encoded.o + Object lib/dsprot/integrity_decrypter_decoder.o + Object lib/dsprot/encryptor_encoded.o + Object lib/dsprot/encryptor_decoder.o + Object lib/dsprot/mac_owner_encrypted.o + Object lib/dsprot/mac_owner_decrypter_encoded.o + Object lib/dsprot/rom_util_encrypted.o + Object lib/dsprot/rom_util_decrypter_encoded.o + Object lib/dsprot/rom_test_encrypted.o + Object lib/dsprot/rom_test_decrypter_encoded.o + Object lib/dsprot/coretests_decrypter_decoder.o + Object lib/dsprot/rc4_encoded.o Object lib/dsprot/rc4_decoder.o } Overlay OVY_124 diff --git a/src/alph_puzzle.c b/src/alph_puzzle.c index 4d9a00f5e3..f83d14b078 100644 --- a/src/alph_puzzle.c +++ b/src/alph_puzzle.c @@ -553,14 +553,14 @@ static const OamManagerParam ov110_021E6EA4 = { 0, 128, 0, 32, 0, 128, 0, 32 }; static const OamCharTransferParam ov110_021E6DD0 = { 5, 0, 0, GX_OBJVRAMMODE_CHAR_1D_32K, GX_OBJVRAMMODE_CHAR_1D_32K }; -static const u16 sResdatInfo[7] = { - NARC_resdat_resdat_00000010_bin, // GF_GFX_RES_TYPE_CHAR - NARC_resdat_resdat_00000011_bin, // GF_GFX_RES_TYPE_PLTT - NARC_resdat_resdat_00000009_bin, // GF_GFX_RES_TYPE_CELL - NARC_resdat_resdat_00000008_bin, // GF_GFX_RES_TYPE_ANIM - 0xFFFF, // GF_GFX_RES_TYPE_MCEL - 0xFFFF, // GF_GFX_RES_TYPE_MANM - NARC_resdat_resdat_00000074_bin, +static const ResdatIdList sResdatInfo = { + .charRes = NARC_resdat_resdat_00000010_bin, + .plttRes = NARC_resdat_resdat_00000011_bin, + .cellRes = NARC_resdat_resdat_00000009_bin, + .animRes = NARC_resdat_resdat_00000008_bin, + .mcelRes = 0xFFFF, + .manmRes = 0xFFFF, + .headerId = NARC_resdat_resdat_00000074_bin, }; static const UnmanagedSpriteTemplate sSpriteTemplates[3] = { @@ -1208,7 +1208,7 @@ static void AlphPuzzle_InitSpriteGraphics(AlphPuzzleData *data) { thunk_ClearSubOAM(data->heapID); data->spriteGfxHandler = SpriteManager_New(data->spriteRenderer); SpriteSystem_InitSprites(data->spriteRenderer, data->spriteGfxHandler, ALPH_SPRITE_INDEX_MAX); - sub_0200D2A4(data->spriteRenderer, data->spriteGfxHandler, sResdatInfo, 2, 1); + sub_0200D2A4(data->spriteRenderer, data->spriteGfxHandler, &sResdatInfo, 2, 1); } static void AlphPuzzle_DestroySpriteGraphicsEngine(AlphPuzzleData *data) { diff --git a/src/application/pokegear/main/overlay_100_021E6914.c b/src/application/pokegear/main/overlay_100_021E6914.c index 811e0a6ed5..4079b25b1c 100644 --- a/src/application/pokegear/main/overlay_100_021E6914.c +++ b/src/application/pokegear/main/overlay_100_021E6914.c @@ -3,7 +3,7 @@ #include "data/resdat.naix" #include "math_util.h" -#include "unk_0200ACF0.h" +#include "sprite_transfer.h" #include "unk_0200B150.h" #include "vram_transfer_manager.h" @@ -11,7 +11,7 @@ typedef struct PokegearObjResSpec { u32 maxSprites; const OamManagerParam *oamManagerParam; const OamCharTransferParam *oamCharTransferParam; - const u16 *resIdList; + const ResdatIdList *resIdList; } PokegearObjResSpec; static void PokegearUIManager_LoadInitialGfx(PokegearUIManager *uiManager, u16 skin); @@ -37,50 +37,50 @@ static const OamCharTransferParam sOamCharTransferParam = { .charModeSub = GX_OBJVRAMMODE_CHAR_1D_32K, }; -static const u16 sResList_Map[] = { - NARC_resdat_resdat_00000034_bin, - NARC_resdat_resdat_00000035_bin, - NARC_resdat_resdat_00000033_bin, - NARC_resdat_resdat_00000032_bin, - 0xFFFF, - 0xFFFF, - NARC_resdat_resdat_00000080_bin, +static const ResdatIdList sResList_Map = { + .charRes = NARC_resdat_resdat_00000034_bin, + .plttRes = NARC_resdat_resdat_00000035_bin, + .cellRes = NARC_resdat_resdat_00000033_bin, + .animRes = NARC_resdat_resdat_00000032_bin, + .mcelRes = 0xFFFF, + .manmRes = 0xFFFF, + .headerId = NARC_resdat_resdat_00000080_bin, }; -static const u16 sResList_Configure[] = { - NARC_resdat_resdat_00000042_bin, - NARC_resdat_resdat_00000043_bin, - NARC_resdat_resdat_00000041_bin, - NARC_resdat_resdat_00000040_bin, - 0xFFFF, - 0xFFFF, - NARC_resdat_resdat_00000082_bin, +static const ResdatIdList sResList_Configure = { + .charRes = NARC_resdat_resdat_00000042_bin, + .plttRes = NARC_resdat_resdat_00000043_bin, + .cellRes = NARC_resdat_resdat_00000041_bin, + .animRes = NARC_resdat_resdat_00000040_bin, + .mcelRes = 0xFFFF, + .manmRes = 0xFFFF, + .headerId = NARC_resdat_resdat_00000082_bin, }; -static const u16 sResList_Phone[] = { - NARC_resdat_resdat_00000046_bin, - NARC_resdat_resdat_00000047_bin, - NARC_resdat_resdat_00000045_bin, - NARC_resdat_resdat_00000044_bin, - 0xFFFF, - 0xFFFF, - NARC_resdat_resdat_00000083_bin, +static const ResdatIdList sResList_Phone = { + .charRes = NARC_resdat_resdat_00000046_bin, + .plttRes = NARC_resdat_resdat_00000047_bin, + .cellRes = NARC_resdat_resdat_00000045_bin, + .animRes = NARC_resdat_resdat_00000044_bin, + .mcelRes = 0xFFFF, + .manmRes = 0xFFFF, + .headerId = NARC_resdat_resdat_00000083_bin, }; -static const u16 sResList_Radio[] = { - NARC_resdat_resdat_00000038_bin, - NARC_resdat_resdat_00000039_bin, - NARC_resdat_resdat_00000037_bin, - NARC_resdat_resdat_00000036_bin, - 0xFFFF, - 0xFFFF, - NARC_resdat_resdat_00000081_bin, +static const ResdatIdList sResList_Radio = { + .charRes = NARC_resdat_resdat_00000038_bin, + .plttRes = NARC_resdat_resdat_00000039_bin, + .cellRes = NARC_resdat_resdat_00000037_bin, + .animRes = NARC_resdat_resdat_00000036_bin, + .mcelRes = 0xFFFF, + .manmRes = 0xFFFF, + .headerId = NARC_resdat_resdat_00000081_bin, }; // clang-format off static const PokegearObjResSpec sPokegearObjResSpecs[] = { - [GEAR_APP_CONFIGURE] = { 0x80, &sOamManagerParam, &sOamCharTransferParam, sResList_Configure }, - [GEAR_APP_RADIO] = { 0x80, &sOamManagerParam, &sOamCharTransferParam, sResList_Radio }, - [GEAR_APP_MAP] = { 0xC0, &sOamManagerParam, &sOamCharTransferParam, sResList_Map }, - [GEAR_APP_PHONE] = { 0x80, &sOamManagerParam, &sOamCharTransferParam, sResList_Phone }, - [GEAR_APP_CANCEL] = { 0x80, &sOamManagerParam, &sOamCharTransferParam, sResList_Map }, + [GEAR_APP_CONFIGURE] = { 0x80, &sOamManagerParam, &sOamCharTransferParam, &sResList_Configure }, + [GEAR_APP_RADIO] = { 0x80, &sOamManagerParam, &sOamCharTransferParam, &sResList_Radio }, + [GEAR_APP_MAP] = { 0xC0, &sOamManagerParam, &sOamCharTransferParam, &sResList_Map }, + [GEAR_APP_PHONE] = { 0x80, &sOamManagerParam, &sOamCharTransferParam, &sResList_Phone }, + [GEAR_APP_CANCEL] = { 0x80, &sOamManagerParam, &sOamCharTransferParam, &sResList_Map }, }; // clang-format on @@ -150,11 +150,11 @@ void PokegearUIManager_LoadSkinGfx(PokegearUIManager *uiManager, u8 skin) { obj = uiManager->spriteResources[GF_GFX_RES_TYPE_CHAR]->obj[0]; ReplaceCharResObjFromNarc(uiManager->resourceManagers[GF_GFX_RES_TYPE_CHAR], obj, NARC_application_pokegear_pgear_gra, skin + NARC_pgear_gra_pgear_gra_00000006_NCGR, FALSE, uiManager->heapID); - sub_0200AE8C(obj); + SpriteTransfer_ReplaceCharData(obj); obj = uiManager->spriteResources[GF_GFX_RES_TYPE_PLTT]->obj[0]; ReplacePlttResObjFromNarc(uiManager->resourceManagers[GF_GFX_RES_TYPE_PLTT], obj, NARC_application_pokegear_pgear_gra, skin + NARC_pgear_gra_pgear_gra_00000000_NCLR, FALSE, uiManager->heapID); - sub_0200B084(obj); + SpriteTransfer_ReplacePlttData(obj); } void PokegearUIManager_AnimateSprites(PokegearUIManager *uiManager) { @@ -223,8 +223,8 @@ static void PokegearUIManager_LoadInitialGfx(PokegearUIManager *uiManager, u16 s static void PokegearUIManager_UnloadSprites(PokegearUIManager *auiManager) { SpriteList_Delete(auiManager->spriteList); - sub_0200AED4(auiManager->spriteResources[GF_GFX_RES_TYPE_CHAR]); - sub_0200B0CC(auiManager->spriteResources[GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_DeleteAllCharTransferTasks(auiManager->spriteResources[GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_DeleteAllPlttTransferTasks(auiManager->spriteResources[GF_GFX_RES_TYPE_PLTT]); for (u32 i = 0; i < 4; ++i) { Delete2DGfxResObjList(auiManager->spriteResources[i]); Destroy2DGfxResObjMan(auiManager->resourceManagers[i]); @@ -239,14 +239,14 @@ static void PokegearUIManager_LoadInitialSkinGfx(PokegearUIManager *uiManager, u GF_ASSERT(objList->obj[0] != NULL); switch (uiManager->mode) { case 1: - sub_0200ADA4(objList->obj[0]); + SpriteTransfer_CreateCharTransferTask_AllocAtEnd(objList->obj[0]); break; case 2: - sub_0200AE18(objList->obj[0]); + SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd(objList->obj[0]); break; case 0: default: - sub_0200ACF0(objList->obj[0]); + SpriteTransfer_CreateCharTransferTask(objList->obj[0]); break; } @@ -259,7 +259,7 @@ static void PokegearUIManager_LoadInitialSkinGfx(PokegearUIManager *uiManager, u objList = uiManager->spriteResources[GF_GFX_RES_TYPE_PLTT]; objList->obj[0] = AddPlttResObjFromNarc(uiManager->resourceManagers[GF_GFX_RES_TYPE_PLTT], NARC_application_pokegear_pgear_gra, skin + NARC_pgear_gra_pgear_gra_00000000_NCLR, FALSE, 0xE000, (NNS_G2D_VRAM_TYPE)uiManager->vramType, 4, uiManager->heapID); GF_ASSERT(objList->obj[0] != NULL); - sub_0200B00C(objList->obj[0]); + SpriteTransfer_CreatePlttTransferTask(objList->obj[0]); } // functions for PokegearObjectsManager diff --git a/src/application/pokegear/map/fly_map.c b/src/application/pokegear/map/fly_map.c index 3be8312ccc..452441c1e9 100644 --- a/src/application/pokegear/map/fly_map.c +++ b/src/application/pokegear/map/fly_map.c @@ -1,6 +1,7 @@ #include "application/pokegear/map/pokegear_map_internal.h" #include "phonebook_dat.h" +#include "poke_overlay.h" #include "pokegear_apps.h" #include "sys_flags.h" #include "unk_0200FA24.h" diff --git a/src/application/pokegear/map/pokegear_map.c b/src/application/pokegear/map/pokegear_map.c index cd63fe1f4f..05694de90d 100644 --- a/src/application/pokegear/map/pokegear_map.c +++ b/src/application/pokegear/map/pokegear_map.c @@ -7,9 +7,9 @@ #include "brightness.h" #include "phonebook_dat.h" +#include "poke_overlay.h" #include "pokegear_apps.h" #include "roamer.h" -#include "sound_02004A44.h" #include "sys_flags.h" #include "touchscreen.h" #include "unk_02005D10.h" diff --git a/src/application/pokegear/phone/overlay_101_021F0F48.c b/src/application/pokegear/phone/overlay_101_021F0F48.c index e303f58126..1d83e86249 100644 --- a/src/application/pokegear/phone/overlay_101_021F0F48.c +++ b/src/application/pokegear/phone/overlay_101_021F0F48.c @@ -235,7 +235,7 @@ int PhoneContactListUI_HandleKeyInput(PhoneContactListUI *ui) { PlaySE(SEQ_SE_GS_GEARDECIDE); return ui->selectedIndex; } - if (gSystem.newKeys & PAD_BUTTON_B) {} + if (gSystem.newKeys & PAD_BUTTON_B) { } if (gSystem.newAndRepeatedKeys & PAD_KEY_UP) { if (selectedIndex == 0) { // no wraparound return -1; diff --git a/src/application/pokegear/phone/phone_script_defs.c b/src/application/pokegear/phone/phone_script_defs.c index 97aaebd4ff..3859130c67 100644 --- a/src/application/pokegear/phone/phone_script_defs.c +++ b/src/application/pokegear/phone/phone_script_defs.c @@ -93,7 +93,7 @@ // 4: gift item, param1=itemSetId // 5: random word, param0=numChoices, param1=baseMsgId const PhoneCallScriptDef gPhoneCallScriptDef[] = { - {}, // empty + { }, // empty // Prof. Elm // PHONE_SCRIPT_001 diff --git a/src/application/view_photo.c b/src/application/view_photo.c index 75e3073bb0..521900e78e 100644 --- a/src/application/view_photo.c +++ b/src/application/view_photo.c @@ -3,7 +3,7 @@ #include "global.h" #include "data/resdat.naix" -#include "field/ov01_021E7FDC.h" +#include "field/field_sprite_manager.h" #include "msgdata/msg.naix" #include "field_take_photo.h" @@ -17,6 +17,8 @@ #include "unk_02005D10.h" #include "unk_02068F84.h" +#define VIEW_PHOTO_NUM_SPRITES 3 + typedef enum ViewPhotoTaskState { VIEW_PHOTO_TASK_STATE_0, VIEW_PHOTO_TASK_STATE_1, @@ -39,8 +41,8 @@ typedef struct ViewPhotoSysTaskData { String *exitMsg; String *photoDescStringTemplates[2]; Window windows[2]; - UnkStruct_ov01_021E7FDC spriteRender; - Sprite *sprites[3]; + FieldSpriteManager fieldSpriteManager; + Sprite *sprites[VIEW_PHOTO_NUM_SPRITES]; u8 animSpriteNo; PhotoAlbumScroll scrollData; } ViewPhotoSysTaskData; @@ -63,26 +65,30 @@ static void ViewPhotoSysTask_CreateSprites(ViewPhotoSysTaskData *viewPhoto); static void ViewPhotoSysTask_DeleteSprites(ViewPhotoSysTaskData *viewPhoto); static void ViewPhotoSysTask_AnimateButtonSelect(ViewPhotoSysTaskData *viewPhoto, int spriteNo); static BOOL ViewPhotoSysTask_IsButtonAnimPlaying(ViewPhotoSysTaskData *viewPhoto); -static void formatPhotoFlavorText(Photo *a0, MessageFormat *msgFormat, String *strBuf, enum HeapID heapID, SaveData *saveData); +static void formatPhotoFlavorText(Photo *photo, MessageFormat *msgFormat, String *strBuf, enum HeapID heapID, SaveData *saveData); static void ViewPhotoSysTask_DrawLyr3Icon(ViewPhotoSysTaskData *viewPhoto); static void ViewPhotoSysTask_PrintTextOnWindows(ViewPhotoSysTaskData *viewPhoto); -static u8 Photo_CountValidMons(Photo *a0); +static u8 Photo_CountValidMons(Photo *photo); static const WindowTemplate ov19_0225A04E[2] = { - { .bgId = GF_BG_LYR_SUB_1, + { + .bgId = GF_BG_LYR_SUB_1, .left = 24, .top = 21, .width = 8, .height = 2, .palette = 1, - .baseTile = 0x1F0 }, - { .bgId = GF_BG_LYR_SUB_1, + .baseTile = 0x1F0, + }, + { + .bgId = GF_BG_LYR_SUB_1, .left = 1, .top = 8, .width = 28, .height = 8, .palette = 10, - .baseTile = 0x110 } + .baseTile = 0x110, + }, }; static const TouchscreenHitbox ov19_0225A05E[] = { @@ -92,42 +98,50 @@ static const TouchscreenHitbox ov19_0225A05E[] = { { { TOUCHSCREEN_RECTLIST_END } }, }; -static const u16 ov19_0225A040[] = { - 2, 3, 1, 0, -1, -1, NARC_resdat_resdat_00000072_bin +static const ResdatIdList sResDatIdxs = { + .charRes = NARC_resdat_resdat_00000002_bin, + .plttRes = NARC_resdat_resdat_00000003_bin, + .cellRes = NARC_resdat_resdat_00000001_bin, + .animRes = NARC_resdat_resdat_00000000_bin, + .mcelRes = -1, + .manmRes = -1, + .headerId = NARC_resdat_resdat_00000072_bin, }; -static const SpriteTemplate_ov01_021E81F0 ov19_0225A0C4[3] = { +static const UnmanagedSpriteTemplate sSpriteTemplates[VIEW_PHOTO_NUM_SPRITES] = { + { + .resourceSet = 1, + .x = 224, + .y = 176, + .z = 0, + .animation = 8, + .drawPriority = 0xFF, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 1, + }, { - 1, - 0xE0, - 0xB0, - 0, - 8, - 0xFF, - 0, - 2, - 1, + .resourceSet = 1, + .x = 88, + .y = 40, + .z = 0, + .animation = 0, + .drawPriority = 2, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 1, }, { - 1, - 0x58, - 0x28, - 0, - 0, - 2, - 0, - 2, - 1, + .resourceSet = 1, + .x = 168, + .y = 40, + .z = 0, + .animation = 3, + .drawPriority = 2, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 1, }, - { 1, - 0xA8, - 0x28, - 0, - 3, - 2, - 0, - 2, - 1 } }; static const u8 _0225A03C[3] = { 9, 1, 4 }; @@ -173,7 +187,7 @@ static void SysTask_ViewPhoto(SysTask *task, void *taskData) { } break; } - SpriteList_RenderAndAnimateSprites(viewPhoto->spriteRender.spriteList); + SpriteList_RenderAndAnimateSprites(viewPhoto->fieldSpriteManager.spriteList); } static void ViewPhotoSysTask_Setup(ViewPhotoSysTaskData *viewPhoto) { @@ -382,9 +396,9 @@ static void ViewPhotoSysTask_ReleaseWindows(ViewPhotoSysTaskData *viewPhoto) { } static void ViewPhotoSysTask_CreateSprites(ViewPhotoSysTaskData *viewPhoto) { - UnkFieldSpriteRenderer_ov01_021E7FDC_Init(&viewPhoto->spriteRender, ov19_0225A040, 3, viewPhoto->heapID); - for (int i = 0; i < 3; ++i) { - viewPhoto->sprites[i] = ov01_021E81F0(&viewPhoto->spriteRender, &ov19_0225A0C4[i]); + FieldSpriteManager_InitWithResDat(&viewPhoto->fieldSpriteManager, &sResDatIdxs, VIEW_PHOTO_NUM_SPRITES, viewPhoto->heapID); + for (int i = 0; i < VIEW_PHOTO_NUM_SPRITES; ++i) { + viewPhoto->sprites[i] = FieldSpriteManager_CreateSprite(&viewPhoto->fieldSpriteManager, &sSpriteTemplates[i]); Sprite_SetDrawFlag(viewPhoto->sprites[i], TRUE); Sprite_SetAnimActiveFlag(viewPhoto->sprites[i], TRUE); } @@ -402,10 +416,10 @@ static void ViewPhotoSysTask_CreateSprites(ViewPhotoSysTaskData *viewPhoto) { } static void ViewPhotoSysTask_DeleteSprites(ViewPhotoSysTaskData *viewPhoto) { - for (int i = 0; i < 3; ++i) { + for (int i = 0; i < VIEW_PHOTO_NUM_SPRITES; ++i) { Sprite_Delete(viewPhoto->sprites[i]); } - UnkFieldSpriteRenderer_ov01_021E7FDC_Release(&viewPhoto->spriteRender); + FieldSpriteManager_ReleaseWithResDat(&viewPhoto->fieldSpriteManager); GfGfx_EngineBTogglePlanes(GX_PLANEMASK_OBJ, GF_PLANE_TOGGLE_OFF); } diff --git a/src/application/view_rankings.c b/src/application/view_rankings.c index 2a7f8990bf..00dcccbc79 100644 --- a/src/application/view_rankings.c +++ b/src/application/view_rankings.c @@ -19,12 +19,12 @@ #include "render_window.h" #include "save_rankings.h" #include "sprite.h" +#include "sprite_transfer.h" #include "system.h" #include "text.h" #include "unk_02005D10.h" #include "unk_02009D48.h" #include "unk_0200A090.h" -#include "unk_0200ACF0.h" #include "unk_0200B150.h" #include "unk_0200FA24.h" #include "unk_02097D3C.h" @@ -353,8 +353,8 @@ BOOL ViewRankingsApp_Exit(OverlayManager *man, int *pState) { FreeBgTilemapBuffer(appData->bgConfig, GF_BG_LYR_MAIN_3); FreeBgTilemapBuffer(appData->bgConfig, GF_BG_LYR_SUB_0); ViewRankings_DestroySprites(appData); - sub_0200AEB0(appData->gf2dGfxResObjects[GF_GFX_RES_TYPE_CHAR]); - sub_0200B0A8(appData->gf2dGfxResObjects[GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_DeleteCharTransferTask(appData->gf2dGfxResObjects[GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_DeletePlttTransferTask(appData->gf2dGfxResObjects[GF_GFX_RES_TYPE_PLTT]); for (int i = 0; i < 6; ++i) { Destroy2DGfxResObjMan(appData->gf2dGfxResManagers[i]); } @@ -616,8 +616,8 @@ static void ViewRankings_LoadSpriteGraphics(ViewRankingsAppData *appData, enum H appData->gf2dGfxResObjects[GF_GFX_RES_TYPE_PLTT] = AddPlttResObjFromNarc(appData->gf2dGfxResManagers[GF_GFX_RES_TYPE_PLTT], NARC_application_guinness, NARC_guinness_guinness_00000006_NCLR, FALSE, 0, NNS_G2D_VRAM_TYPE_2DMAIN, 4, heapID); appData->gf2dGfxResObjects[GF_GFX_RES_TYPE_CELL] = AddCellOrAnimResObjFromNarc(appData->gf2dGfxResManagers[GF_GFX_RES_TYPE_CELL], NARC_application_guinness, NARC_guinness_guinness_00000008_NCER_lz, TRUE, 0, GF_GFX_RES_TYPE_CELL, heapID); appData->gf2dGfxResObjects[GF_GFX_RES_TYPE_ANIM] = AddCellOrAnimResObjFromNarc(appData->gf2dGfxResManagers[GF_GFX_RES_TYPE_ANIM], NARC_application_guinness, NARC_guinness_guinness_00000007_NANR_lz, TRUE, 0, GF_GFX_RES_TYPE_ANIM, heapID); - sub_0200ADA4(appData->gf2dGfxResObjects[GF_GFX_RES_TYPE_CHAR]); - sub_0200AF94(appData->gf2dGfxResObjects[GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_CreateCharTransferTask_AllocAtEnd(appData->gf2dGfxResObjects[GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_CreateExtPlttTransferTask(appData->gf2dGfxResObjects[GF_GFX_RES_TYPE_PLTT]); } static void ViewRankings_CreateSpriteResourcesHeader(ViewRankingsAppData *appData) { @@ -864,7 +864,7 @@ static void ViewRankings_TrySetCursorPosition(ViewRankingsAppData *appData, int } static void ViewRankings_DrawCursor(ViewRankingsAppData *appData) { - VecFx32 pos = {}; + VecFx32 pos = { }; u8 idx = appData->cursorPos; pos.x = sCursorPositionParams[idx].x * FX32_ONE; pos.y = sCursorPositionParams[idx].y * FX32_ONE; diff --git a/src/battle/battle_022378C0.c b/src/battle/battle_022378C0.c index ce271edcd0..8ae6b2c990 100644 --- a/src/battle/battle_022378C0.c +++ b/src/battle/battle_022378C0.c @@ -7,6 +7,7 @@ #include "filesystem_files_def.h" #include "gf_gfx_planes.h" +#include "poke_overlay.h" #include "render_text.h" #include "sound_02004A44.h" #include "system.h" diff --git a/src/battle/battle_command.c b/src/battle/battle_command.c index 9fba412fc0..27472cbfa2 100644 --- a/src/battle/battle_command.c +++ b/src/battle/battle_command.c @@ -3952,7 +3952,7 @@ BOOL BtlCmd_TrySetMagicCoat(BattleSystem *battleSystem, BattleContext *ctx) { BattleScriptIncrementPointer(ctx, 1); u32 unkA = BattleScriptReadWord(ctx); - for (i = 0; i < BattleSystem_GetMaxBattlers(battleSystem); i++) {} + for (i = 0; i < BattleSystem_GetMaxBattlers(battleSystem); i++) { } if (ctx->battlersOnField == 1) { BattleScriptIncrementPointer(ctx, unkA); diff --git a/src/battle/battle_input.c b/src/battle/battle_input.c index 693098cabc..6b43a365c5 100644 --- a/src/battle/battle_input.c +++ b/src/battle/battle_input.c @@ -941,11 +941,39 @@ static const s16 sMainMenuButtonsScreenOffsets[][3] = { }; ALIGN(4) -static const u8 sMainMenuButtonsTouchscreenRect[][4] = { - { 4, 15, 2, 29 }, - { 17, 23, 0, 9 }, - { 17, 23, 22, 31 }, - { 18, 23, 11, 20 } +static const TouchscreenHitbox sMainMenuButtonsTouchscreenRect[] = { + { + .rect = { + .top = 4, + .bottom = 15, + .left = 2, + .right = 29, + }, + }, + { + .rect = { + .top = 17, + .bottom = 23, + .left = 0, + .right = 9, + }, + }, + { + .rect = { + .top = 17, + .bottom = 23, + .left = 22, + .right = 31, + }, + }, + { + .rect = { + .top = 18, + .bottom = 23, + .left = 11, + .right = 20, + }, + }, }; ALIGN(4) @@ -1144,23 +1172,36 @@ static const s16 ov12_0226E286[][3] = { }; ALIGN(4) -static const u8 ov12_0226E24C[][4] = { - { 0xd, 0x14, 0, 31 }, - { 0x4, 0xb, 0, 31 } +static const TouchscreenHitbox ov12_0226E24C[] = { + { + .rect = { + .top = 13, + .bottom = 20, + .left = 0, + .right = 31, + }, + }, + { + .rect = { + .top = 4, + .bottom = 11, + .left = 0, + .right = 31, + }, + }, }; ALIGN(4) static const s16 ov12_0226E228[] = { 0, 192, 384 }; ALIGN(4) -static const TouchscreenHitbox ov12_0226E20C[] = { - { - .rect = { - .top = 18, - .bottom = 23, - .left = 0, - .right = 31 }, - }, +static const TouchscreenHitbox ov12_0226E20C = { + .rect = { + .top = 18, + .bottom = 23, + .left = 0, + .right = 31, + }, }; static const ALIGN(4) S16Pos ov12_0226E2D8[] = { @@ -1787,7 +1828,7 @@ static void Task_BattleMenuScrollHorizontal(SysTask *task, void *data) { BattleInput_InitMenuWindow(battleInput); if (isFinished == TRUE) { - BgFillTilemapBufferAndCommit(bgConfig, 7, (0x6000 / 0x20 - 1)); + BgFillTilemapBufferAndCommit(bgConfig, 7, 0x6000 / 0x20 - 1); ToggleBgLayer(GF_BG_LYR_SUB_3, GF_PLANE_TOGGLE_OFF); SetBgPriority(GF_BG_LYR_SUB_3, 0); GXS_SetVisibleWnd(GX_WNDMASK_NONE); @@ -1802,8 +1843,8 @@ static void BattleInput_InitMenuSlideIn(BattleInput *battleInput, int battlerId) G2S_SetWndOutsidePlane(GX_WND_PLANEMASK_BG0 | GX_WND_PLANEMASK_BG1 | GX_WND_PLANEMASK_BG2 | GX_WND_PLANEMASK_BG3, 1); G2S_SetWnd0InsidePlane(GX_WND_PLANEMASK_BG2 | GX_WND_PLANEMASK_BG3, 1); G2S_SetWnd1InsidePlane(GX_WND_PLANEMASK_BG2 | GX_WND_PLANEMASK_BG3, 1); - G2S_SetWnd0Position(0, 0, 255, (18 * 8)); - G2S_SetWnd1Position(0, (18 * 8), 255, 192); + G2S_SetWnd0Position(0, 0, 255, 18 * 8); + G2S_SetWnd1Position(0, 18 * 8, 255, 192); GXS_SetVisibleWnd(GX_WNDMASK_W0 | GX_WNDMASK_W1); BattleMenuSlideIn *menuSlideIn = Heap_Alloc(HEAP_ID_BATTLE, sizeof(BattleMenuSlideIn)); @@ -1968,7 +2009,7 @@ static void BattleInput_CreateMainMenuFightObject(BattleInput *battleInput, int BgConfig *bgConfig = BattleSystem_GetBgConfig(battleInput->battleSystem); - FillBgTilemapRect(bgConfig, 4, (0x6000 / 0x20 - 1), 0, 0x10, 32, 8, 17); + FillBgTilemapRect(bgConfig, 4, 0x6000 / 0x20 - 1, 0, 0x10, 32, 8, 17); ScheduleBgTilemapBufferTransfer(bgConfig, 5); TextOBJ_SetSpritesDrawFlag(battleInput->textObj[MENUTXT_BAG].textObj, 0); @@ -1990,8 +2031,8 @@ void BattleInput_CreatePalParkMenuObjects(BattleInput *battleInput, int param1, BgConfig *bgConfig = BattleSystem_GetBgConfig(battleInput->battleSystem); - FillBgTilemapRect(bgConfig, 4, (0x6000 / 0x20 - 1), 0, 0x10, 10, 8, 17); - FillBgTilemapRect(bgConfig, 4, (0x6000 / 0x20 - 1), 0x16, 0x10, 10, 8, 17); + FillBgTilemapRect(bgConfig, 4, 0x6000 / 0x20 - 1, 0, 0x10, 10, 8, 17); + FillBgTilemapRect(bgConfig, 4, 0x6000 / 0x20 - 1, 0x16, 0x10, 10, 8, 17); ScheduleBgTilemapBufferTransfer(bgConfig, 5); TextOBJ_SetSpritesDrawFlag(battleInput->textObj[MENUTXT_BAG].textObj, 0); @@ -2453,7 +2494,7 @@ static int BattleInput_TouchCallback_TargetMenu(BattleInput *battleInput, int to BgConfig *bgConfig; bgConfig = BattleSystem_GetBgConfig(battleInput->battleSystem); - BgFillTilemapBufferAndCommit(bgConfig, 5, (0x6000 / 0x20 - 1)); + BgFillTilemapBufferAndCommit(bgConfig, 5, 0x6000 / 0x20 - 1); ScheduleBgTilemapBufferTransfer(bgConfig, 5); BattleInput_Deadstriped_02268EDC(battleInput, touchInput); @@ -2860,7 +2901,7 @@ void BattleInput_LoadFightMenuText(BattleInput *battleInput, int battlerId, cons size = sub_0208805C(6); strPP = NewString_ReadMsgData(msgLoader, msg_0197_00938); // PP messageFormat = BattleSystem_GetMessageFormat(battleInput->battleSystem); - strSlashFormatted = String_New(((2 + 2 + 1 + 2) * 2 + 2), HEAP_ID_BATTLE); + strSlashFormatted = String_New((2 + 2 + 1 + 2) * 2 + 2, HEAP_ID_BATTLE); strSlash = NewString_ReadMsgData(msgLoader, msg_0197_00937); // '/' for (i = 0; i < MAX_MON_MOVES; i++) { @@ -3010,7 +3051,7 @@ static void ov12_02268CA0(BattleInput *battleInput, int textObjId) { PaletteData_LoadPalette(palette, &battleInput->paletteBuffer[14 * 16], PLTTBUF_SUB_BG, paletteNo[textObjId] * 16, 0x20); ScheduleBgTilemapBufferTransfer(bgConfig, 4); - FillBgTilemapRect(bgConfig, 5, (0x6000 / 0x20 - 1), ov12_0226E2F8[textObjId].rect.left, ov12_0226E2F8[textObjId].rect.top, ov12_0226E2F8[textObjId].rect.right - ov12_0226E2F8[textObjId].rect.left + 1, ov12_0226E2F8[textObjId].rect.bottom - ov12_0226E2F8[textObjId].rect.top + 1, 17); + FillBgTilemapRect(bgConfig, 5, 0x6000 / 0x20 - 1, ov12_0226E2F8[textObjId].rect.left, ov12_0226E2F8[textObjId].rect.top, ov12_0226E2F8[textObjId].rect.right - ov12_0226E2F8[textObjId].rect.left + 1, ov12_0226E2F8[textObjId].rect.bottom - ov12_0226E2F8[textObjId].rect.top + 1, 17); ScheduleBgTilemapBufferTransfer(bgConfig, 5); } @@ -3508,16 +3549,16 @@ static void VBlankTask_BattleMenuSlideIn(SysTask *task, void *data) { } if (menuSlideIn->battlerId == 4) { - G2S_SetWnd0Position(0, 0, xSet, (18 * 8)); + G2S_SetWnd0Position(0, 0, xSet, 18 * 8); } else { if (xSet == 0) { xSet = 1; } - G2S_SetWnd0Position(xSet, 0, 0, (18 * 8)); + G2S_SetWnd0Position(xSet, 0, 0, 18 * 8); } - G2S_SetWnd1Position(0, (18 * 8), 255, ySet); + G2S_SetWnd1Position(0, 18 * 8, 255, ySet); menuSlideIn->unk_10 = menuSlideIn->ySet; } @@ -3763,11 +3804,18 @@ static int BattleInput_CursorMove_MainMenu(BattleInput *battleInput, int shouldI return sCursorArrayMainMenu[cursor->menuY][cursor->menuX]; case PAD_BUTTON_B: if (battleInput->unk66F == 1) { +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wtautological-constant-out-of-range-compare" +#endif for (i = 0; i < menu->touchscreenRect[i].rect.top != TOUCHSCREEN_RECTLIST_END; i++) { if (BATTLE_INPUT_RUN == menu->touchInput[i]) { return i; } } +#ifdef __clang__ +#pragma clang diagnostic pop +#endif } break; } @@ -3878,11 +3926,18 @@ static int BattleInput_CursorMove_FightMenu(BattleInput *battleInput, int param1 case PAD_BUTTON_A: return sCursorArrayFightMenu[cursor->menuY][cursor->menuX]; case PAD_BUTTON_B: +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wtautological-constant-out-of-range-compare" +#endif for (i = 0; i < menuTemplate->touchscreenRect[i].rect.top != TOUCHSCREEN_RECTLIST_END; i++) { if (BATTLE_INPUT_CANCEL == menuTemplate->touchInput[i]) { return i; } } +#ifdef __clang__ +#pragma clang diagnostic pop +#endif break; } diff --git a/src/battle/battle_setup.c b/src/battle/battle_setup.c index 46e30db314..1ba72f18a6 100644 --- a/src/battle/battle_setup.c +++ b/src/battle/battle_setup.c @@ -313,7 +313,7 @@ void sub_020520B0(BattleSetup *setup, FieldSystem *fieldSystem, Party *party, u8 Pokedex *pokedex; SOUND_CHATOT *chatot; Options *options; - void *ruleset; + LinkBattleRuleset *ruleset; profile = Save_PlayerData_GetProfile(fieldSystem->saveData); bag = Save_Bag_Get(fieldSystem->saveData); diff --git a/src/battle/overlay_12_0224E4FC.c b/src/battle/overlay_12_0224E4FC.c index 3a9495bd89..7159a17589 100644 --- a/src/battle/overlay_12_0224E4FC.c +++ b/src/battle/overlay_12_0224E4FC.c @@ -6,11 +6,11 @@ #include "constants/battle.h" #include "constants/battle_menu.h" #include "constants/battle_subscript.h" +#include "constants/game_stats.h" #include "constants/items.h" #include "constants/message_tags.h" #include "constants/move_effects.h" #include "constants/moves.h" -#include "constants/game_stats.h" #include "constants/species.h" #include "constants/trainers.h" diff --git a/src/battle/party_gauge.c b/src/battle/party_gauge.c index 8b13439059..624e44f152 100644 --- a/src/battle/party_gauge.c +++ b/src/battle/party_gauge.c @@ -303,7 +303,7 @@ static void Task_HidePartyArrow(SysTask *task, void *data) { arrow->alpha = 16 << 8; - G2_SetBlendAlpha(GX_BLEND_PLANEMASK_NONE, GX_BLEND_PLANEMASK_BG0 | GX_BLEND_PLANEMASK_BG1 | GX_BLEND_PLANEMASK_BG2 | GX_BLEND_PLANEMASK_BG3 | GX_BLEND_PLANEMASK_OBJ | GX_BLEND_PLANEMASK_BD, (arrow->alpha >> 8), 16 - (arrow->alpha >> 8)); + G2_SetBlendAlpha(GX_BLEND_PLANEMASK_NONE, GX_BLEND_PLANEMASK_BG0 | GX_BLEND_PLANEMASK_BG1 | GX_BLEND_PLANEMASK_BG2 | GX_BLEND_PLANEMASK_BG3 | GX_BLEND_PLANEMASK_OBJ | GX_BLEND_PLANEMASK_BD, arrow->alpha >> 8, 16 - (arrow->alpha >> 8)); arrow->state++; // fall-through case 1: diff --git a/src/battle_arcade_game_board.c b/src/battle_arcade_game_board.c index 27d0820e96..06a6295f73 100644 --- a/src/battle_arcade_game_board.c +++ b/src/battle_arcade_game_board.c @@ -4,7 +4,6 @@ #include "constants/sndseq.h" -#include "frontier/overlay_80.h" #include "frontier/overlay_80_02238034.h" #include "msgdata/msg.naix" @@ -18,14 +17,15 @@ #include "palette.h" #include "party.h" #include "party_menu.h" +#include "poke_overlay.h" #include "pokemon.h" #include "pokemon_icon_idx.h" +#include "sprite_transfer.h" #include "system.h" #include "touchscreen.h" #include "unk_02005D10.h" #include "unk_02009D48.h" #include "unk_0200A090.h" -#include "unk_0200ACF0.h" #include "unk_0200B150.h" #include "unk_0200FA24.h" #include "unk_02030A98.h" @@ -1231,11 +1231,11 @@ static void ov84_0223F2B4(GAME_BOARD_SUB_3E8 *work, Party *playerParty, Party *o ov84_0223F5E4(work, playerParty, opponentParty, type); for (i = 0; i < 11; i++) { - sub_0200ACF0(work->resourceObj[i][GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_CreateCharTransferTask(work->resourceObj[i][GF_GFX_RES_TYPE_CHAR]); } for (i = 0; i < 4; i++) { - sub_0200AF94(work->resourceObj[i][GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_CreateExtPlttTransferTask(work->resourceObj[i][GF_GFX_RES_TYPE_PLTT]); } GfGfx_EngineBTogglePlanes(GX_PLANEMASK_OBJ, GF_PLANE_TOGGLE_ON); @@ -1282,11 +1282,11 @@ static void ov84_0223F418(GAME_BOARD_SUB_3E8 *work) { u8 i; for (i = 0; i < 11; i++) { - sub_0200AEB0(work->resourceObj[i][GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_DeleteCharTransferTask(work->resourceObj[i][GF_GFX_RES_TYPE_CHAR]); } for (i = 0; i < 4; i++) { - sub_0200B0A8(work->resourceObj[i][GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_DeletePlttTransferTask(work->resourceObj[i][GF_GFX_RES_TYPE_PLTT]); } for (i = 0; i < 4; i++) { diff --git a/src/berry_pots_app.c b/src/berry_pots_app.c index fcfaed92c4..d264b2a7be 100644 --- a/src/berry_pots_app.c +++ b/src/berry_pots_app.c @@ -118,14 +118,14 @@ static const TouchscreenListMenuTemplate sMenuTemplate = { 31, 84, }; -static const u16 ov17_02203D78[7] = { - NARC_resdat_resdat_00000030_bin, - NARC_resdat_resdat_00000031_bin, - NARC_resdat_resdat_00000029_bin, - NARC_resdat_resdat_00000028_bin, - 0xFFFF, - 0xFFFF, - NARC_resdat_resdat_00000079_bin, +static const ResdatIdList ov17_02203D78 = { + .charRes = NARC_resdat_resdat_00000030_bin, + .plttRes = NARC_resdat_resdat_00000031_bin, + .cellRes = NARC_resdat_resdat_00000029_bin, + .animRes = NARC_resdat_resdat_00000028_bin, + .mcelRes = 0xFFFF, + .manmRes = 0xFFFF, + .headerId = NARC_resdat_resdat_00000079_bin, }; static const GraphicsModes ov17_02203D88 = { GX_DISPMODE_GRAPHICS, @@ -1198,7 +1198,7 @@ static void BerryPotsApp_SetupSpriteRendererAndGfxHandler(BerryPotsAppData *data data->spriteGfxHandler1 = SpriteManager_New(data->spriteRenderer); SpriteSystem_InitSprites(data->spriteRenderer, data->spriteGfxHandler1, 25); - sub_0200D2A4(data->spriteRenderer, data->spriteGfxHandler1, ov17_02203D78, 0, 0); + sub_0200D2A4(data->spriteRenderer, data->spriteGfxHandler1, &ov17_02203D78, 0, 0); data->itemIconNarc = NARC_New(NARC_itemtool_itemdata_item_icon, data->heapID); diff --git a/src/bg_window.c b/src/bg_window.c index fe40cc1606..436dba8f09 100644 --- a/src/bg_window.c +++ b/src/bg_window.c @@ -125,19 +125,19 @@ void SetScreenModeAndDisable(const struct GraphicsModes *gfxModes, enum GFScreen } void InitBgFromTemplateEx(BgConfig *bgConfig, u8 bgId, const BgTemplate *template, u8 bgType, u8 enable) { - u8 screenSize = TranslateGFBgModePairToGXScreenSize((enum GFBgScreenSize) template->size, (enum GFBgType)bgType); + u8 screenSize = TranslateGFBgModePairToGXScreenSize((enum GFBgScreenSize)template->size, (enum GFBgType)bgType); switch (bgId) { case GF_BG_LYR_MAIN_0: GfGfx_EngineATogglePlanes(GX_PLANEMASK_BG0, enable); - G2_SetBG0Control((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase, (GXBGExtPltt) template->bgExtPltt); + G2_SetBG0Control((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase, (GXBGExtPltt)template->bgExtPltt); G2_SetBG0Priority(template->priority); G2_BG0Mosaic(template->mosaic); break; case GF_BG_LYR_MAIN_1: GfGfx_EngineATogglePlanes(GX_PLANEMASK_BG1, enable); - G2_SetBG1Control((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase, (GXBGExtPltt) template->bgExtPltt); + G2_SetBG1Control((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase, (GXBGExtPltt)template->bgExtPltt); G2_SetBG1Priority(template->priority); G2_BG1Mosaic(template->mosaic); break; @@ -147,13 +147,13 @@ void InitBgFromTemplateEx(BgConfig *bgConfig, u8 bgId, const BgTemplate *templat switch (bgType) { default: case GF_BG_TYPE_TEXT: - G2_SetBG2ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase); + G2_SetBG2ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase); break; case GF_BG_TYPE_AFFINE: - G2_SetBG2ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase); + G2_SetBG2ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase); break; case GF_BG_TYPE_256x16PLTT: - G2_SetBG2Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase); + G2_SetBG2Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase); break; } G2_SetBG2Priority(template->priority); @@ -165,13 +165,13 @@ void InitBgFromTemplateEx(BgConfig *bgConfig, u8 bgId, const BgTemplate *templat switch (bgType) { default: case GF_BG_TYPE_TEXT: - G2_SetBG3ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase); + G2_SetBG3ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase); break; case GF_BG_TYPE_AFFINE: - G2_SetBG3ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase); + G2_SetBG3ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase); break; case GF_BG_TYPE_256x16PLTT: - G2_SetBG3Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase); + G2_SetBG3Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase); break; } G2_SetBG3Priority(template->priority); @@ -180,14 +180,14 @@ void InitBgFromTemplateEx(BgConfig *bgConfig, u8 bgId, const BgTemplate *templat case GF_BG_LYR_SUB_0: GfGfx_EngineBTogglePlanes(GX_PLANEMASK_BG0, enable); - G2S_SetBG0Control((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase, (GXBGExtPltt) template->bgExtPltt); + G2S_SetBG0Control((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase, (GXBGExtPltt)template->bgExtPltt); G2S_SetBG0Priority(template->priority); G2S_BG0Mosaic(template->mosaic); break; case GF_BG_LYR_SUB_1: GfGfx_EngineBTogglePlanes(GX_PLANEMASK_BG1, enable); - G2S_SetBG1Control((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase, (GXBGExtPltt) template->bgExtPltt); + G2S_SetBG1Control((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase, (GXBGExtPltt)template->bgExtPltt); G2S_SetBG1Priority(template->priority); G2S_BG1Mosaic(template->mosaic); break; @@ -197,13 +197,13 @@ void InitBgFromTemplateEx(BgConfig *bgConfig, u8 bgId, const BgTemplate *templat switch (bgType) { default: case GF_BG_TYPE_TEXT: - G2S_SetBG2ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase); + G2S_SetBG2ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase); break; case GF_BG_TYPE_AFFINE: - G2S_SetBG2ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase); + G2S_SetBG2ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase); break; case GF_BG_TYPE_256x16PLTT: - G2S_SetBG2Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase); + G2S_SetBG2Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase); break; } G2S_SetBG2Priority(template->priority); @@ -215,13 +215,13 @@ void InitBgFromTemplateEx(BgConfig *bgConfig, u8 bgId, const BgTemplate *templat switch (bgType) { default: case GF_BG_TYPE_TEXT: - G2S_SetBG3ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode) template->colorMode, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase); + G2S_SetBG3ControlText((GXBGScrSizeText)screenSize, (GXBGColorMode)template->colorMode, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase); break; case GF_BG_TYPE_AFFINE: - G2S_SetBG3ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase); + G2S_SetBG3ControlAffine((GXBGScrSizeAffine)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase); break; case GF_BG_TYPE_256x16PLTT: - G2S_SetBG3Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver) template->areaOver, (GXBGScrBase) template->screenBase, (GXBGCharBase) template->charBase); + G2S_SetBG3Control256x16Pltt((GXBGScrSize256x16Pltt)screenSize, (GXBGAreaOver)template->areaOver, (GXBGScrBase)template->screenBase, (GXBGCharBase)template->charBase); break; } G2S_SetBG3Priority(template->priority); diff --git a/src/camera_translation.c b/src/camera_translation.c index 638e233162..a7b0710c1f 100644 --- a/src/camera_translation.c +++ b/src/camera_translation.c @@ -97,7 +97,7 @@ static void stepCamera(Camera *camera, struct CameraTranslationPathTemplate *fir } static void stepAngleX(Camera *camera, const u16 *first, const u16 *last, u8 step, u8 duration) { - CameraAngle cameraAngle = {}; + CameraAngle cameraAngle = { }; u16 diff; int scaled; if (*last >= *first) { diff --git a/src/certificates_app.c b/src/certificates_app.c index bc098b080c..6fa8bf5141 100644 --- a/src/certificates_app.c +++ b/src/certificates_app.c @@ -138,7 +138,7 @@ static const ManagedSpriteTemplate ov78_021E6880 = { .drawPriority = 0, .pal = 0xFFFF, .vram = NNS_G2D_VRAM_TYPE_2DBOTH, - .resIdList = {}, + .resIdList = { }, .bgPriority = 0, .vramTransfer = 0, }; diff --git a/src/choose_starter_app.c b/src/choose_starter_app.c index eb2582ad5a..a6abd97b98 100644 --- a/src/choose_starter_app.c +++ b/src/choose_starter_app.c @@ -19,12 +19,12 @@ #include "render_window.h" #include "sound.h" #include "sprite.h" +#include "sprite_transfer.h" #include "system.h" #include "text.h" #include "touchscreen.h" #include "unk_02005D10.h" #include "unk_02009D48.h" -#include "unk_0200ACF0.h" #include "unk_0200B150.h" #include "unk_0200FA24.h" #include "unk_02013FDC.h" @@ -575,8 +575,8 @@ static void freeAllMonSprite2dResObj(struct StarterChooseMonSpriteData *a0) { int i; for (i = 0; i < 3; i++) { - sub_0200AEB0(a0->objs[i].charResObj); - sub_0200B0A8(a0->objs[i].plttResObj); + SpriteTransfer_DeleteCharTransferTask(a0->objs[i].charResObj); + SpriteTransfer_DeletePlttTransferTask(a0->objs[i].plttResObj); DestroySingle2DGfxResObj(a0->charResMan, a0->objs[i].charResObj); DestroySingle2DGfxResObj(a0->plttResMan, a0->objs[i].plttResObj); DestroySingle2DGfxResObj(a0->cellResMan, a0->objs[i].cellResObj); @@ -1198,9 +1198,9 @@ static void loadOneMonObj(GF_2DGfxResMan *charResMan, GF_2DGfxResMan *plttResMan u32 imageloc; u32 plttloc; - sub_0200ADA4(charResObj); - sub_0200B00C(plttResObj); - charProxy = sub_0200AF00(charResObj); + SpriteTransfer_CreateCharTransferTask_AllocAtEnd(charResObj); + SpriteTransfer_CreatePlttTransferTask(plttResObj); + charProxy = SpriteTransfer_GetCharProxy(charResObj); plttProxy = SpriteTransfer_GetPaletteProxy(plttResObj, charProxy); imageloc = NNS_G2dGetImageLocation(charProxy, NNS_G2D_VRAM_TYPE_2DSUB); plttloc = NNS_G2dGetImagePaletteLocation(plttProxy, NNS_G2D_VRAM_TYPE_2DSUB); diff --git a/src/credits/credits.c b/src/credits/credits.c index 1b91108473..068e0ac687 100644 --- a/src/credits/credits.c +++ b/src/credits/credits.c @@ -14,12 +14,12 @@ #include "sound.h" #include "sound_02004A44.h" #include "sprite.h" +#include "sprite_transfer.h" #include "sys_task_api.h" #include "system.h" #include "text.h" #include "unk_02009D48.h" #include "unk_0200A090.h" -#include "unk_0200ACF0.h" #include "unk_0200B150.h" #include "unk_0200FA24.h" @@ -513,12 +513,12 @@ static void ov76_021E6170(CreditsAppWork *work) { work->cutsceneRsrs[i].plttResObj = AddPlttResObjFromOpenNarc(work->gf2dGfxResMan[GF_GFX_RES_TYPE_PLTT], *narc, 149, FALSE, i + 2, NNS_G2D_VRAM_TYPE_2DMAIN, 1, HEAP_ID_CREDITS); } - sub_0200ACF0(work->gf2dGfxResObj[GF_GFX_RES_TYPE_CHAR]); - sub_0200AF94(work->gf2dGfxResObj[GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_CreateCharTransferTask(work->gf2dGfxResObj[GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_CreateExtPlttTransferTask(work->gf2dGfxResObj[GF_GFX_RES_TYPE_PLTT]); for (u8 i = 0; i < UNIQUE_SPRITES_PER_CUTSCENE; i++) { - sub_0200ACF0(work->cutsceneRsrs[i].charResObj); - sub_0200AF94(work->cutsceneRsrs[i].plttResObj); + SpriteTransfer_CreateCharTransferTask(work->cutsceneRsrs[i].charResObj); + SpriteTransfer_CreateExtPlttTransferTask(work->cutsceneRsrs[i].plttResObj); } GfGfx_EngineATogglePlanes(GX_PLANEMASK_OBJ, GF_PLANE_TOGGLE_ON); @@ -526,12 +526,12 @@ static void ov76_021E6170(CreditsAppWork *work) { } static void ov76_021E62B4(CreditsAppWork *work) { - sub_0200AEB0(work->gf2dGfxResObj[GF_GFX_RES_TYPE_CHAR]); - sub_0200B0A8(work->gf2dGfxResObj[GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_DeleteCharTransferTask(work->gf2dGfxResObj[GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_DeletePlttTransferTask(work->gf2dGfxResObj[GF_GFX_RES_TYPE_PLTT]); for (u8 i = 0; i < 6; i++) { - sub_0200AEB0(work->cutsceneRsrs[i].charResObj); - sub_0200B0A8(work->cutsceneRsrs[i].plttResObj); + SpriteTransfer_DeleteCharTransferTask(work->cutsceneRsrs[i].charResObj); + SpriteTransfer_DeletePlttTransferTask(work->cutsceneRsrs[i].plttResObj); } } @@ -929,7 +929,7 @@ static void LoadCutsceneSpriteResources(CreditsAppWork *work) { for (u8 i = 0; i < UNIQUE_SPRITES_PER_CUTSCENE; i++) { SpriteResource *charResObj = work->cutsceneRsrs[i].charResObj; SpriteResource *plttResObj = work->cutsceneRsrs[i].plttResObj; - NNSG2dImageProxy *imageProxy = sub_0200AF00(charResObj); + NNSG2dImageProxy *imageProxy = SpriteTransfer_GetCharProxy(charResObj); NNSG2dImagePaletteProxy *plttProxy = SpriteTransfer_GetPaletteProxy(plttResObj, imageProxy); cutsceneWork->spriteGfx[i].imageProxy = imageProxy; diff --git a/src/data/fieldmap/script_cmd_table.h b/src/data/fieldmap/script_cmd_table.h index cf27c9444b..35e9b3ea1a 100644 --- a/src/data/fieldmap/script_cmd_table.h +++ b/src/data/fieldmap/script_cmd_table.h @@ -1,3 +1,5 @@ +#include "script.h" + #ifdef _IN_SCRCMD_C BOOL ScrCmd_Nop(ScriptContext *ctx); BOOL ScrCmd_Dummy(ScriptContext *ctx); @@ -55,7 +57,7 @@ BOOL ScrCmd_OpenMsg(ScriptContext *ctx); BOOL ScrCmd_CloseMsg(ScriptContext *ctx); BOOL ScrCmd_HoldMsg(ScriptContext *ctx); BOOL ScrCmd_DirectionSignpost(ScriptContext *ctx); -BOOL ScrCmd_055(ScriptContext *ctx); +BOOL ScrCmd_056(ScriptContext *ctx); BOOL ScrCmd_057(ScriptContext *ctx); BOOL ScrCmd_058(ScriptContext *ctx); BOOL ScrCmd_TrainerTips(ScriptContext *ctx); @@ -910,7 +912,7 @@ const ScrCmdFunc gScriptCmdTable[] = { ScrCmd_CloseMsg, ScrCmd_HoldMsg, ScrCmd_DirectionSignpost, - ScrCmd_055, + ScrCmd_056, ScrCmd_057, ScrCmd_058, ScrCmd_TrainerTips, diff --git a/src/encounter.c b/src/encounter.c index 3a6853551c..7112902269 100644 --- a/src/encounter.c +++ b/src/encounter.c @@ -55,7 +55,7 @@ static BOOL Task_WildEncounter(TaskManager *taskManager); static BOOL Task_SafariEncounter(TaskManager *taskManager); static BOOL Task_BugContestEncounter(TaskManager *taskManager); static BOOL Task_TutorialBattle(TaskManager *taskManager); -static u32 sub_02051474(void *param0, u32 battleType); +static u32 sub_02051474(LinkBattleRuleset *param0, u32 battleType); static void sub_02051660(FieldSystem *fieldSystem, BattleSetup *setup); static BOOL Task_StartBattle(TaskManager *taskManager) { @@ -748,8 +748,8 @@ void CallTask_020508B8(TaskManager *taskManager, void *param1, u32 battleType) { TaskManager_Call(taskManager, Task_020508B8, encounter); } -static u32 sub_02051474(void *param0, u32 battleType) { - int var = sub_02029264(param0); +static u32 sub_02051474(LinkBattleRuleset *ruleset, u32 battleType) { + int var = sub_02029264(ruleset); u32 mode; if (battleType & BATTLE_TYPE_MULTI) { diff --git a/src/field/encounter_check.c b/src/field/encounter_check.c index 26e4fcaa2e..9585cfd839 100644 --- a/src/field/encounter_check.c +++ b/src/field/encounter_check.c @@ -20,6 +20,7 @@ #include "metatile_behavior.h" #include "overlay_01.h" #include "overlay_02.h" +#include "poke_overlay.h" #include "roamer.h" #include "safari_zone.h" #include "script_pokemon_util.h" diff --git a/src/field/event_cutscene_sinjoh.c b/src/field/event_cutscene_sinjoh.c index 54c61c9804..eb25ca6d41 100644 --- a/src/field/event_cutscene_sinjoh.c +++ b/src/field/event_cutscene_sinjoh.c @@ -140,12 +140,12 @@ static void SinjohCutscene_LoadResources(SinjohCutsceneData *data) { u8 i, j; u32 unownAnimationFiles[2][2]; - unownAnimationFiles = sUnownAnimationFiles; + ARRAY_ASSIGN(unownAnimationFiles, sUnownAnimationFiles); VecFx32 arceusPos; u32 unkData2[2]; u32 unownModelFiles[2]; - unkData2 = ov02_02253CF8_0; - unownModelFiles = sUnownModelFiles; + ARRAY_ASSIGN(unkData2, ov02_02253CF8_0); + ARRAY_ASSIGN(unownModelFiles, sUnownModelFiles); HeapExp_FndInitAllocator(&data->alloc, HEAP_ID_FIELD1, 32); @@ -301,10 +301,10 @@ static const u32 sSinjohEggAnimationFiles[3][4] = { static void SinjohGetEggCutscene_LoadResources(SinjohGetEggCutsceneData *data) { u32 eggAnimationFiles[3][4]; - eggAnimationFiles = sSinjohEggAnimationFiles; + ARRAY_ASSIGN(eggAnimationFiles, sSinjohEggAnimationFiles); u32 modelFiles[3]; - modelFiles = sSinjohEggModelFiles; + ARRAY_ASSIGN(modelFiles, sSinjohEggModelFiles); VecFx32 arceusPos; diff --git a/src/field/field_control.c b/src/field/field_control.c index 08d7e27af3..5cbb109d5f 100644 --- a/src/field/field_control.c +++ b/src/field/field_control.c @@ -1,14 +1,20 @@ -#include "overlay_01.h" -#include "overlay_01_021F1AFC.h" -#include "overlay_01_021F3114.h" -#include "overlay_01_021F6830.h" -#include "overlay_01_021FB5D4.h" #include "field/field_control.h" + +#include "global.h" + +#include "constants/field_poison.h" +#include "constants/game_stats.h" +#include "constants/global_fieldmap.h" +#include "constants/maps.h" +#include "constants/movements.h" +#include "constants/moves.h" +#include "constants/player_avatar.h" +#include "constants/std_script.h" + #include "field/encounter_check.h" #include "overlay_2/event_cutscene.h" -#include "overlay_2/overlay_02_gear_phone.h" #include "overlay_2/overlay_02_02248728.h" -#include "overlay_04.h" +#include "overlay_2/overlay_02_gear_phone.h" #include "bug_contest_internal.h" #include "catching_show.h" @@ -25,6 +31,12 @@ #include "map_object.h" #include "menu_input_state.h" #include "metatile_behavior.h" +#include "overlay_01.h" +#include "overlay_01_021F1AFC.h" +#include "overlay_01_021F3114.h" +#include "overlay_01_021F6830.h" +#include "overlay_01_021FB5D4.h" +#include "overlay_04.h" #include "player_avatar.h" #include "safari_zone.h" #include "save_pokegear.h" @@ -50,17 +62,6 @@ #include "unk_020632B0.h" #include "unk_0206D494.h" -#include "constants/field_poison.h" -#include "constants/game_stats.h" -#include "constants/global_fieldmap.h" -#include "constants/maps.h" -#include "constants/movements.h" -#include "constants/moves.h" -#include "constants/player_avatar.h" -#include "constants/std_script.h" - -#include "global.h" - static BOOL FieldSystem_CheckSign(FieldSystem *fieldSystem); static u16 GetInteractedMetatileScript(FieldSystem *fieldSystem, u8 metatileBehavior); static BOOL FieldSystem_ProcessStep(FieldSystem *fieldSystem); @@ -167,7 +168,7 @@ void FieldInput_Update(FieldInput *fieldInput, FieldSystem *fieldSystem, u16 new } else { fieldSystem->lastTouchMenuInput = 0; } - + if (moveState == PLAYER_MOVE_STATE_END && avatarMoveState == AVATAR_MOVE_STATE_MOVING) { fieldInput->movement = TRUE; } @@ -176,14 +177,14 @@ void FieldInput_Update(FieldInput *fieldInput, FieldSystem *fieldSystem, u16 new } if (facingDirection == DIR_NORTH && (PAD_KEY_UP & heldKeys) - || facingDirection == DIR_SOUTH && (PAD_KEY_DOWN & heldKeys) - || facingDirection == DIR_WEST && (PAD_KEY_LEFT & heldKeys) - || facingDirection == DIR_EAST && (PAD_KEY_RIGHT & heldKeys)) { + || facingDirection == DIR_SOUTH && (PAD_KEY_DOWN & heldKeys) + || facingDirection == DIR_WEST && (PAD_KEY_LEFT & heldKeys) + || facingDirection == DIR_EAST && (PAD_KEY_RIGHT & heldKeys)) { fieldInput->transitionDir = facingDirection; } else { fieldInput->transitionDir = DIR_NONE; } - + fieldInput->playerDir = sub_0205DD94(fieldSystem->playerAvatar, newKeys, heldKeys); } @@ -191,13 +192,13 @@ int FieldInput_Process(FieldInput *fieldInput, FieldSystem *fieldSystem) { if (fieldInput->unk0_D == FALSE && TryStartMapScriptByType(fieldSystem, 1) == TRUE) { // 1 is INIT_SCRIPT_ON_FRAME_TABLE in pokeplatinum. return 1; } - + if (fieldInput->unk0_D == FALSE) { BOOL doublesEligible = HasEnoughAlivePokemonForDoubleBattle(SaveArray_Party_Get(fieldSystem->saveData)); if (Save_VarsFlags_CheckHaveFollower(Save_VarsFlags_Get(fieldSystem->saveData)) == TRUE) { // Never true in HGSS, but the capability was not removed. doublesEligible = TRUE; } - + if (TryGetSeenByNpcTrainers(fieldSystem, doublesEligible) == TRUE) { sub_0205CF44(fieldSystem->playerAvatar); MapObjectManager_PauseAllMovement(fieldSystem->mapObjectManager); @@ -207,33 +208,33 @@ int FieldInput_Process(FieldInput *fieldInput, FieldSystem *fieldSystem) { return 1; } } - + if (fieldInput->movement) { Save_VarsFlags_ClearStepTakenFlag(Save_VarsFlags_Get(fieldSystem->saveData)); if (FieldSystem_ProcessStep(fieldSystem) == TRUE) { return 1; } } - + if (FieldSystem_UpdateBugContest(fieldSystem)) { return 1; } - + int playerEvent = PLAYER_EVENT_NONE; int direction = sub_0205DD94(fieldSystem->playerAvatar, fieldInput->newKeys, fieldInput->heldKeys); - + if (StrengthFlagAction(Save_VarsFlags_Get(fieldSystem->saveData), 2)) { playerEvent |= PLAYER_EVENT_USED_STRENGTH; } - + if (GetIdxOfFirstPartyMonWithMove(SaveArray_Party_Get(fieldSystem->saveData), MOVE_WATERFALL) != 0xFF) { playerEvent |= PLAYER_EVENT_USED_WATERFALL; } - + if (ov01_021F1D94(fieldSystem, fieldSystem->playerAvatar, direction, playerEvent) == TRUE) { return 1; } - + if (fieldInput->endMovement) { if (FieldSystem_CheckWildEncounter(fieldSystem)) { return 1; @@ -248,9 +249,9 @@ int FieldInput_Process(FieldInput *fieldInput, FieldSystem *fieldSystem) { && FieldSystem_CheckSign(fieldSystem) == TRUE) { return 1; } - + if (fieldInput->interact) { - LocalMapObject* mapObject; + LocalMapObject *mapObject; if (sub_0203DC64(fieldSystem, &mapObject) == TRUE) { if (sub_0205CF60(fieldSystem->playerAvatar) == TRUE) { sub_0205CFBC(fieldSystem->playerAvatar, PlayerAvatar_GetFacingDirection(fieldSystem->playerAvatar)); @@ -283,12 +284,12 @@ int FieldInput_Process(FieldInput *fieldInput, FieldSystem *fieldSystem) { return 1; } } - + if (fieldInput->mapTransition && FieldSystem_CheckMapTransition(fieldSystem, fieldInput) == TRUE) { FieldSystem_TrySetMapConnection(fieldSystem); return 1; } - + if (fieldInput->registeredItem) { u32 registeredItemResult = UseRegisteredItemButtonInField(fieldSystem, fieldInput->registeredItem); if (registeredItemResult) { @@ -296,13 +297,13 @@ int FieldInput_Process(FieldInput *fieldInput, FieldSystem *fieldSystem) { return registeredItemResult; } } - + if (fieldInput->menu && FieldSystem_MapIsNotMysteryZone(fieldSystem) == TRUE) { PlaySE(SEQ_SE_DP_WIN_OPEN); StartMenu_Init(fieldSystem); return 2; } - + if (ov02_02252334(fieldSystem)) { StartMapSceneScript(fieldSystem, std_revert_shaymin, NULL); return 1; @@ -312,7 +313,7 @@ int FieldInput_Process(FieldInput *fieldInput, FieldSystem *fieldSystem) { ov01_021F6A9C(fieldSystem, 0, 0); return 2; } - + if (fieldInput->unk0_8 && ov02_02251F20(FieldSystem_GetGearPhoneRingManager(fieldSystem))) { return 2; } @@ -378,7 +379,7 @@ static BOOL ov01_021E6ED8() { // CheckTrainerInfo? } BOOL FieldInput_Process_UnionRoom(FieldInput *input, FieldSystem *fieldSystem) { - if (sub_02033250() & 0xFE) { // WirelessManager_GetConnectedBitmap? + if (sub_02033250() & 0xFE) { // WirelessManager_GetConnectedBitmap? if (ov01_021E6ED8() && sub_02037454() > 1) { // sub_02037454 == CommSys_ConnectedCount? StartMapSceneScript(fieldSystem, 5, NULL); return TRUE; @@ -469,10 +470,10 @@ static BOOL FieldSystem_CheckWildEncounter(FieldSystem *fieldSystem) { if (fieldSystem->encounterInhibitSteps < 0xFFFF) { fieldSystem->encounterInhibitSteps++; } - + int x, z; PlayerAvatar_GetStandingTileCoords(fieldSystem, &x, &z); - + if (Save_VarsFlags_CheckPalParkSysFlag(Save_VarsFlags_Get(fieldSystem->saveData)) == TRUE) { if (CatchingShow_CheckWildEncounter(fieldSystem, x, z) == TRUE) { sub_020511F8(fieldSystem, CatchingShow_GetBattleDataTransfer(fieldSystem)); // Encounter_NewVsPalParkTransfer? @@ -480,20 +481,20 @@ static BOOL FieldSystem_CheckWildEncounter(FieldSystem *fieldSystem) { } return FALSE; } - - return (MapHeader_HasWildEncounters(fieldSystem->location->mapId) && FieldSystem_PerformLandOrSurfEncounterCheck(fieldSystem) == TRUE); + + return MapHeader_HasWildEncounters(fieldSystem->location->mapId) && FieldSystem_PerformLandOrSurfEncounterCheck(fieldSystem) == TRUE; } static BOOL FieldSystem_CheckMapTransition(FieldSystem *fieldSystem, FieldInput *fieldInput) { if (fieldInput->transitionDir == DIR_NONE) { return FALSE; } - + int x, z; Location nextMap; PlayerAvatar_GetStandingTileCoords(fieldSystem, &x, &z); u8 metatileBehavior = GetMetatileBehavior(fieldSystem, x, z); - + if (MetatileBehavior_IsLadderNorth(metatileBehavior)) { if (fieldInput->transitionDir == DIR_NORTH && FieldSystem_MapConnection(fieldSystem, x, z, &nextMap)) { NewFieldTransitionEnvironment(fieldSystem, nextMap.mapId, nextMap.warpId, 0, 0, fieldInput->transitionDir, 7); @@ -507,13 +508,13 @@ static BOOL FieldSystem_CheckMapTransition(FieldSystem *fieldSystem, FieldInput } return FALSE; } - + PlayerAvatar_GetFacingTileCoords(fieldSystem, &x, &z); if (sub_020548C0(fieldSystem, x, z) == FALSE) { // TerrainCollisionManager_CheckCollision? return FALSE; } - + if (FieldSystem_MapConnection(fieldSystem, x, z, &nextMap) && fieldInput->transitionDir != DIR_NONE) { metatileBehavior = GetMetatileBehavior(fieldSystem, x, z); @@ -522,7 +523,7 @@ static BOOL FieldSystem_CheckMapTransition(FieldSystem *fieldSystem, FieldInput return TRUE; } } - + PlayerAvatar_GetStandingTileCoords(fieldSystem, &x, &z); metatileBehavior = GetMetatileBehavior(fieldSystem, x, z); @@ -551,7 +552,7 @@ static BOOL FieldSystem_CheckMapTransition(FieldSystem *fieldSystem, FieldInput if (FieldSystem_MapConnection(fieldSystem, x, z, &nextMap) == FALSE) { return FALSE; } - + u32 transNo; if (MetatileBehavior_IsDoor(metatileBehavior)) { transNo = 1; @@ -616,13 +617,13 @@ static u16 GetInteractedMetatileScript(FieldSystem *fieldSystem, u8 metatileBeha } else if (ov02_0224E35C(fieldSystem) && ov02_0224E4DC(metatileBehavior, ov01_021E7B70(fieldSystem))) { return std_safari_place_object; } - + if (Save_VarsFlags_CheckSafariSysFlag(Save_VarsFlags_Get(fieldSystem->saveData))) { if (sub_0202F620(Save_SafariZone_Get(fieldSystem->saveData)) == 0 && sub_0205BAEC(metatileBehavior)) { return std_safari_remove_object; } } - + return 0xFFFF; } @@ -633,50 +634,50 @@ static BOOL FieldSystem_ProcessStep(FieldSystem *fieldSystem) { ov04_02256BE4(fieldSystem, sub_0205F504(PlayerAvatar_GetMapObject(fieldSystem->playerAvatar))); return TRUE; } - + int x = PlayerAvatar_GetXCoord(fieldSystem->playerAvatar); int z = PlayerAvatar_GetZCoord(fieldSystem->playerAvatar); ov01_021E7DFC(fieldSystem, x, z); u8 metatileBehavior = GetMetatileBehavior(fieldSystem, x, z); - + if (FieldSystem_CheckCoordEvent(fieldSystem) == TRUE) { return TRUE; } - + if (FieldSystem_CheckTransition(fieldSystem, x, z, metatileBehavior) == TRUE) { FieldSystem_TrySetMapConnection(fieldSystem); return TRUE; } - + if (PlayerAvatar_CheckForcedMovement(fieldSystem->playerAvatar)) { return FALSE; } - + ov01_021F6830(fieldSystem, 5, 1); ov01_021E7A98(fieldSystem); - + if (FieldSystem_UpdatePoison(fieldSystem) == TRUE) { // Returns TRUE if a mon survived poisoning. return TRUE; } - + if (FieldSystem_UpdateSafari(fieldSystem) == TRUE) { return TRUE; } - + if (FieldSystem_UpdateDaycare(fieldSystem) == TRUE) { return TRUE; } - + if (FieldSystem_UpdateRepel(fieldSystem) == TRUE) { return TRUE; } - + if (FieldSystem_UpdateBikeShop(fieldSystem) == TRUE) { // Never returns TRUE, as this is handled through the Pokegear. return TRUE; } - + if (FieldSystem_UpdateFriendship(fieldSystem)) { FieldSystem_CalculateFriendship(fieldSystem); } @@ -700,11 +701,11 @@ static BOOL FieldSystem_CheckCoordEvent(FieldSystem *fieldSystem) { static BOOL FieldSystem_CheckTransition(FieldSystem *fieldSystem, int x, int z, u8 metatileBehavior) { int facingDirection, dir; Location location; - + if (FieldSystem_MapConnection(fieldSystem, x, z, &location) == FALSE) { return FALSE; } - + if (MetatileBehavior_IsEscalatorFlipFace(metatileBehavior) == TRUE) { facingDirection = PlayerAvatar_GetFacingDirection(fieldSystem->playerAvatar); if (facingDirection == DIR_WEST) { @@ -726,17 +727,17 @@ static BOOL FieldSystem_CheckTransition(FieldSystem *fieldSystem, int x, int z, NewFieldTransitionEnvironment(fieldSystem, location.mapId, location.warpId, 0, 0, facingDirection, 2); return TRUE; } - + if (MetatileBehavior_IsWarpEntranceNorth(metatileBehavior) || MetatileBehavior_IsWarpNorth(metatileBehavior)) { sub_02055CD8(fieldSystem, location.mapId, location.warpId, 0, 0, 0); return TRUE; } - + if (MetatileBehavior_IsWarpPanel(metatileBehavior)) { sub_02053E08(fieldSystem, location.mapId, location.warpId); // FieldSystem_StartMapChangeWarpTask return TRUE; } - + if (MetatileBehavior_IsLadderDown(metatileBehavior)) { NewFieldTransitionEnvironment(fieldSystem, location.mapId, location.warpId, 0, 0, 0, 8); return TRUE; @@ -785,14 +786,14 @@ static void FieldSystem_CalculateFriendship(FieldSystem *fieldSystem) { static BOOL FieldSystem_UpdatePoison(FieldSystem *fieldSystem) { Party *party = SaveArray_Party_Get(fieldSystem->saveData); - + u16 *stepCounter = LocalFieldData_GetPoisonStepCounter(Save_LocalFieldData_Get(fieldSystem->saveData)); (*stepCounter)++; *stepCounter %= 4; if (*stepCounter) { return FALSE; } - + switch (ApplyPoisonStep(party, MapHeader_GetMapSec(fieldSystem->location->mapId))) { case FIELD_POISON_NONE: return FALSE; @@ -812,7 +813,7 @@ static BOOL FieldSystem_UpdateSafari(FieldSystem *fieldSystem) { if (Save_VarsFlags_CheckSafariSysFlag(Save_VarsFlags_Get(fieldSystem->saveData)) == FALSE) { return FALSE; } - + if (*LocalFieldData_GetSafariBallsCounter(Save_LocalFieldData_Get(fieldSystem->saveData)) == 0) { StartMapSceneScript(fieldSystem, std_safari_balls_out, NULL); return TRUE; @@ -822,21 +823,21 @@ static BOOL FieldSystem_UpdateSafari(FieldSystem *fieldSystem) { static BOOL FieldSystem_UpdateBikeShop(FieldSystem *fieldSystem) { PhoneCallPersistentState *phoneCallPersistentState = SaveData_GetPhoneCallPersistentState(fieldSystem->saveData); - if (Save_VarsFlags_CheckFlagInArray(Save_VarsFlags_Get(fieldSystem->saveData), FLAG_SYS_GOT_BIKE_SHOP_CALL) == FALSE - && PhoneCallPersistentState_CheckCallTriggerFlag(phoneCallPersistentState, CALL_TRIGGER_BIKE_SHOP_STEPS) == FALSE - && GameStats_GetCapped(Save_GameStats_Get(fieldSystem->saveData), GAME_STAT_STEPS_BIKED) >= 1024) { + if (Save_VarsFlags_CheckFlagInArray(Save_VarsFlags_Get(fieldSystem->saveData), FLAG_SYS_GOT_BIKE_SHOP_CALL) == FALSE + && PhoneCallPersistentState_CheckCallTriggerFlag(phoneCallPersistentState, CALL_TRIGGER_BIKE_SHOP_STEPS) == FALSE + && GameStats_GetCapped(Save_GameStats_Get(fieldSystem->saveData), GAME_STAT_STEPS_BIKED) >= 1024) { sub_02092E14(FieldSystem_GetGearPhoneRingManager(fieldSystem), 2, 1); return FALSE; } return FALSE; } -static BOOL FieldSystem_UpdateBugContest(FieldSystem* fieldSystem) { - BugContest* bugContest = FieldSystem_BugContest_Get(fieldSystem); +static BOOL FieldSystem_UpdateBugContest(FieldSystem *fieldSystem) { + BugContest *bugContest = FieldSystem_BugContest_Get(fieldSystem); if (Save_VarsFlags_CheckBugContestFlag(Save_VarsFlags_Get(fieldSystem->saveData)) == 0) { return FALSE; } - + if (bugContest->elapsed_time >= 20) { StartMapSceneScript(fieldSystem, std_bug_contest_time_up, NULL); return TRUE; @@ -861,18 +862,18 @@ static void PlayerAvatar_GetFacingTileCoords(FieldSystem *fieldSystem, int *x, i static void ShiftFieldCoordsByCompassDirection(FieldSystem *fieldSystem, u32 facingDirection, int *x, int *z) { PlayerAvatar_GetStandingTileCoords(fieldSystem, x, z); switch (facingDirection) { - case DIR_NORTH: - (*z)--; - return; - case DIR_SOUTH: - (*z)++; - return; - case DIR_WEST: - (*x)--; - return; - case DIR_EAST: - (*x)++; - return; + case DIR_NORTH: + (*z)--; + return; + case DIR_SOUTH: + (*z)++; + return; + case DIR_WEST: + (*x)--; + return; + case DIR_EAST: + (*x)++; + return; } } @@ -894,13 +895,12 @@ static u8 ov01_021E7B70(FieldSystem *fieldSystem) { return sub_020548C0(fieldSystem, x, z); } -static inline void SetLocation(Location * location, int mapId, int warpId, int x, int z, int dir) -{ - location->mapId = mapId; - location->warpId = warpId; - location->x = x; - location->y = z; - location->direction = dir; +static inline void SetLocation(Location *location, int mapId, int warpId, int x, int z, int dir) { + location->mapId = mapId; + location->warpId = warpId; + location->x = x; + location->y = z; + location->direction = dir; } static BOOL FieldSystem_MapConnection(FieldSystem *fieldSystem, int x, int z, Location *location) { @@ -935,7 +935,7 @@ static BOOL FieldSystem_MapConnection(FieldSystem *fieldSystem, int x, int z, Lo static void FieldSystem_SetMapConnection(FieldSystem *fieldSystem, int x, int z, int facingDirection) { Location *nextMap = LocalFieldData_GetSpecialSpawnWarpPtr(Save_LocalFieldData_Get(fieldSystem->saveData)); - + *nextMap = *fieldSystem->location; nextMap->direction = facingDirection; nextMap->x = x; @@ -973,22 +973,22 @@ static const u8 sBGMVolume[3] = { }; static const u8 sSoundplateVolume[16][3] = { - {0x40, 0x60, 0x7F}, - {0x2E, 0x60, 0x7F}, - {0x2E, 0x60, 0x7F}, - {0x40, 0x60, 0x7F}, - {0x2E, 0x40, 0x60}, - {0x40, 0x60, 0x6C}, - {0x2E, 0x60, 0x6C}, - {0x2E, 0x60, 0x7F}, - {0x2E, 0x60, 0x7F}, - {0x2E, 0x60, 0x7F}, - {0x2E, 0x60, 0x7F}, - {0x2E, 0x48, 0x6C}, - {0x2E, 0x60, 0x7F}, - {0x2E, 0x60, 0x7F}, - {0x40, 0x60, 0x7F}, - {0x2E, 0x60, 0x7F} + { 0x40, 0x60, 0x7F }, + { 0x2E, 0x60, 0x7F }, + { 0x2E, 0x60, 0x7F }, + { 0x40, 0x60, 0x7F }, + { 0x2E, 0x40, 0x60 }, + { 0x40, 0x60, 0x6C }, + { 0x2E, 0x60, 0x6C }, + { 0x2E, 0x60, 0x7F }, + { 0x2E, 0x60, 0x7F }, + { 0x2E, 0x60, 0x7F }, + { 0x2E, 0x60, 0x7F }, + { 0x2E, 0x48, 0x6C }, + { 0x2E, 0x60, 0x7F }, + { 0x2E, 0x60, 0x7F }, + { 0x40, 0x60, 0x7F }, + { 0x2E, 0x60, 0x7F } }; enum SoundplateSoundParams { @@ -998,22 +998,22 @@ enum SoundplateSoundParams { }; static const u16 sSoundplateSounds[16][SOUNDPLATE_SOUND_PARAMS] = { - { SEQ_SE_GS_N_SESERAGI, TRUE }, // Water Flow - { SEQ_SE_GS_N_HUUSHA, FALSE }, // Windmill - { SEQ_SE_GS_N_UMIBE, FALSE }, // Seashore - { SEQ_SE_GS_N_HASHIRA, TRUE }, // Pillar - { SEQ_SE_GS_N_UZUSIO, FALSE }, // Whirlpool - { SEQ_SE_GS_N_TAKI, FALSE }, // Waterfall - { SEQ_SE_GS_N_YOUGAN, TRUE }, // Lava - { SEQ_SE_GS_N_KANSEI, FALSE }, // Cheers - { SEQ_SE_GS_N_KITEKI, FALSE }, // Steam Whistle - { SEQ_SE_GS_KABIGON_IBIKI, TRUE }, // Snorlax's Snoring - { SEQ_SE_GS_N_MOTER, TRUE }, // Motor - { SEQ_SE_GS_N_KANE, TRUE }, // Bells - { SEQ_SE_GS_KYOUHUU, TRUE }, // Strong Wind - { SEQ_SE_GS_N_ENGINE, TRUE }, // Engine - { SEQ_SE_GS_N_HUNSUI, FALSE }, // Fountain - { SEQ_SE_GS_DENGEKIBARIA, FALSE } // Electric Barrier + { SEQ_SE_GS_N_SESERAGI, TRUE }, // Water Flow + { SEQ_SE_GS_N_HUUSHA, FALSE }, // Windmill + { SEQ_SE_GS_N_UMIBE, FALSE }, // Seashore + { SEQ_SE_GS_N_HASHIRA, TRUE }, // Pillar + { SEQ_SE_GS_N_UZUSIO, FALSE }, // Whirlpool + { SEQ_SE_GS_N_TAKI, FALSE }, // Waterfall + { SEQ_SE_GS_N_YOUGAN, TRUE }, // Lava + { SEQ_SE_GS_N_KANSEI, FALSE }, // Cheers + { SEQ_SE_GS_N_KITEKI, FALSE }, // Steam Whistle + { SEQ_SE_GS_KABIGON_IBIKI, TRUE }, // Snorlax's Snoring + { SEQ_SE_GS_N_MOTER, TRUE }, // Motor + { SEQ_SE_GS_N_KANE, TRUE }, // Bells + { SEQ_SE_GS_KYOUHUU, TRUE }, // Strong Wind + { SEQ_SE_GS_N_ENGINE, TRUE }, // Engine + { SEQ_SE_GS_N_HUNSUI, FALSE }, // Fountain + { SEQ_SE_GS_DENGEKIBARIA, FALSE } // Electric Barrier }; static int GetLocalSoundplateID(const SoundplateStruct *soundplateStruct, int globalX, int globalZ) { @@ -1036,7 +1036,7 @@ static BOOL ov01_021E7D58(FieldSystem *fieldSystem, SoundplateStruct *soundplate SaveVarsFlags *state = Save_VarsFlags_Get(fieldSystem->saveData); u16 sndSeq = sSoundplateSounds[soundplateStruct->soundplates[soundplateID].soundplateSoundID][0]; Location *location = LocalFieldData_GetCurrentPosition(Save_LocalFieldData_Get(fieldSystem->saveData)); - + if (location->mapId == MAP_CIANWOOD_GYM && CheckDisabledCianwoodWaterfall(state) && sndSeq == SEQ_SE_GS_N_TAKI) { return FALSE; } else if (location->mapId == MAP_VERMILION_GYM && CheckSolvedLtSurgeGym(state) && sndSeq == SEQ_SE_GS_DENGEKIBARIA) { @@ -1051,13 +1051,13 @@ static BOOL ov01_021E7D58(FieldSystem *fieldSystem, SoundplateStruct *soundplate static void ov01_021E7DFC(FieldSystem *fieldSystem, int x, int z) { SoundplateStruct *soundplateStruct = sub_02054874(fieldSystem, x, z); - + if (fieldSystem->unkC4 == -2) { fieldSystem->unkC4 = -1; } else if (fieldSystem->unkC4 == -3) { fieldSystem->unkC4 = -1; } - + z = GetLocalSoundplateID(soundplateStruct, x, z); if (z != -1) { if (ov01_021E7D58(fieldSystem, soundplateStruct, z)) { @@ -1111,12 +1111,12 @@ u32 ov01_021E7F54(FieldSystem *fieldSystem) { LocalMapObject *facingObject; if (sub_0203DC64(fieldSystem, &facingObject) == TRUE) { switch (MapObject_GetType(facingObject)) { - case 3: - return 0; - case 0: - return 1; - default: - return 1; + case 3: + return 0; + case 0: + return 1; + default: + return 1; } } if (GetInteractedBackgroundEventScript(fieldSystem, Field_GetBgEvents(fieldSystem), Field_GetNumBgEvents(fieldSystem)) != 0xFFFF) { diff --git a/src/field/field_sprite_manager.c b/src/field/field_sprite_manager.c new file mode 100644 index 0000000000..26f1028a58 --- /dev/null +++ b/src/field/field_sprite_manager.c @@ -0,0 +1,259 @@ +#include "field/field_sprite_manager.h" + +#include "gf_gfx_loader.h" +#include "sprite_transfer.h" +#include "unk_0200A090.h" + +static BOOL TryAddSpriteResourceToObjList(GF_2DGfxResObjList *objList, SpriteResource *spriteResource); +static void FieldSpriteManager_AddCellOrAnimRes(FieldSpriteManager *fieldSpriteManager, NarcId narcId, int fileId, BOOL compressed, GfGfxResType resType, int resId); + +void FieldSpriteManager_InitWithResDat(FieldSpriteManager *fieldSpriteManager, const ResdatIdList *resDatIdxs, int numSprites, enum HeapID heapID) { + GF_2DGfxResHeader *curResHeader; + NARC *resdatNarc; + GF_2DGfxResHeader *resHeaders; + struct ResdatNarcEntry *resdatNarcEntry; + u32 i; + + fieldSpriteManager->spriteList = G2dRenderer_Init(numSprites, &fieldSpriteManager->renderer, heapID); + fieldSpriteManager->heapID = heapID; + if (resDatIdxs->mcelRes == 0xFFFF) { + fieldSpriteManager->numResMans = GF_GFX_RES_TYPE_MAX - 2; + } else { + fieldSpriteManager->numResMans = GF_GFX_RES_TYPE_MAX; + } + resHeaders = Heap_Alloc(heapID, GF2DGfxResHeader_sizeof() * fieldSpriteManager->numResMans); + resdatNarc = NARC_New(NARC_data_resdat, heapID); + for (i = 0; i < fieldSpriteManager->numResMans; ++i) { + curResHeader = GF2DGfxResHeader_GetByIndex(resHeaders, i); + GF_2DGfxResHeaderNarcList *narcList = GfGfxLoader_LoadFromOpenNarc(resdatNarc, resDatIdxs->raw[i], FALSE, heapID, TRUE); + GF2DGfxResHeader_Init(narcList, curResHeader, heapID); + Heap_Free(narcList); + } + for (i = 0; i < fieldSpriteManager->numResMans; ++i) { + curResHeader = GF2DGfxResHeader_GetByIndex(resHeaders, i); + fieldSpriteManager->spriteResManagers[i] = Create2DGfxResObjMan(GF2dGfxResHeader_GetNumObjects(curResHeader), (GfGfxResType)i, heapID); + } + for (i = 0; i < fieldSpriteManager->numResMans; ++i) { + curResHeader = GF2DGfxResHeader_GetByIndex(resHeaders, i); + fieldSpriteManager->spriteResObjLists[i] = Create2DGfxResObjList(GF2dGfxResHeader_GetNumObjects(curResHeader), heapID); + LoadAll2DGfxResObjsFromHeader(fieldSpriteManager->spriteResManagers[i], curResHeader, fieldSpriteManager->spriteResObjLists[i], heapID); + } + for (i = 0; i < fieldSpriteManager->numResMans; ++i) { + curResHeader = GF2DGfxResHeader_GetByIndex(resHeaders, i); + GF2DGfxResHeader_Reset(curResHeader); + } + Heap_Free(resHeaders); + SpriteTransfer_CreateAllCharTransferTasks_AllocAtEnd(fieldSpriteManager->spriteResObjLists[GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_CreateAllPlttTransferTasks(fieldSpriteManager->spriteResObjLists[GF_GFX_RES_TYPE_PLTT]); + resdatNarcEntry = GfGfxLoader_LoadFromOpenNarc(resdatNarc, resDatIdxs->headerId, FALSE, heapID, TRUE); + fieldSpriteManager->spriteResourceHeaderList = SpriteResourceHeaderList_Create(resdatNarcEntry, heapID, fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_CHAR], fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_PLTT], fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_CELL], fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_ANIM], fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_MCEL], fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_MANM]); + Heap_Free(resdatNarcEntry); + NARC_Delete(resdatNarc); +} + +void FieldSpriteManager_ReleaseWithResDat(FieldSpriteManager *fieldSpriteManager) { + u32 i; + + SpriteList_Delete(fieldSpriteManager->spriteList); + SpriteResourceHeaderList_Destroy(fieldSpriteManager->spriteResourceHeaderList); + SpriteTransfer_DeleteAllCharTransferTasks(fieldSpriteManager->spriteResObjLists[GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_DeleteAllPlttTransferTasks(fieldSpriteManager->spriteResObjLists[GF_GFX_RES_TYPE_PLTT]); + for (i = 0; i < fieldSpriteManager->numResMans; ++i) { + Delete2DGfxResObjList(fieldSpriteManager->spriteResObjLists[i]); + Destroy2DGfxResObjMan(fieldSpriteManager->spriteResManagers[i]); + } +} + +Sprite *FieldSpriteManager_CreateSprite(FieldSpriteManager *fieldSpriteManager, const UnmanagedSpriteTemplate *unmanagedSpriteTemplate) { + SpriteTemplate spriteTemplate; + VecFx32 scale = { FX32_ONE, FX32_ONE, FX32_ONE }; + VecFx32 position = { + unmanagedSpriteTemplate->x * FX32_ONE, + unmanagedSpriteTemplate->y * FX32_ONE, + unmanagedSpriteTemplate->z * FX32_ONE, + }; + Sprite *ret; + + if (unmanagedSpriteTemplate->vram == NNS_G2D_VRAM_TYPE_2DSUB) { + position.y += 192 * FX32_ONE; + } + + spriteTemplate.spriteList = fieldSpriteManager->spriteList; + spriteTemplate.header = &fieldSpriteManager->spriteResourceHeaderList->headers[unmanagedSpriteTemplate->resourceSet]; + spriteTemplate.position = position; + spriteTemplate.scale = scale; + spriteTemplate.rotation = 0; + spriteTemplate.drawPriority = unmanagedSpriteTemplate->drawPriority; + spriteTemplate.whichScreen = unmanagedSpriteTemplate->vram; + spriteTemplate.heapID = (enum HeapID)fieldSpriteManager->heapID; + ret = Sprite_CreateAffine(&spriteTemplate); + GF_ASSERT(ret != NULL); + Sprite_SetAnimCtrlSeq(ret, unmanagedSpriteTemplate->animation); + if (unmanagedSpriteTemplate->paletteMode != 1) { + Sprite_SetPalIndexRespectVramOffset(ret, unmanagedSpriteTemplate->pal); + } + return ret; +} + +void FieldSpriteManager_InitEmptyResLists(FieldSpriteManager *fieldSpriteManager, const SpriteResourceCountsListUnion *resDatCounts, int numSprites, enum HeapID heapId) { + u32 i; + u32 j; + + fieldSpriteManager->spriteList = G2dRenderer_Init(numSprites, &fieldSpriteManager->renderer, heapId); + fieldSpriteManager->heapID = heapId; + if (resDatCounts->numMcel == 0 || resDatCounts->numManm == 0) { + fieldSpriteManager->numResMans = GF_GFX_RES_TYPE_MAX - 2; + fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_MCEL] = NULL; + fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_MANM] = NULL; + } else { + fieldSpriteManager->numResMans = GF_GFX_RES_TYPE_MAX; + } + for (i = 0; i < fieldSpriteManager->numResMans; ++i) { + fieldSpriteManager->spriteResManagers[i] = Create2DGfxResObjMan(resDatCounts->asArray[i], (GfGfxResType)i, heapId); + } + for (i = 0; i < fieldSpriteManager->numResMans; ++i) { + if (resDatCounts->asArray[i] != 0) { + fieldSpriteManager->spriteResObjLists[i] = Create2DGfxResObjList(resDatCounts->asArray[i], heapId); + for (j = 0; j < fieldSpriteManager->spriteResObjLists[i]->max; ++j) { + fieldSpriteManager->spriteResObjLists[i]->obj[j] = NULL; + } + } + } +} + +void FieldSpriteManager_AddPlttRes(FieldSpriteManager *fieldSpriteManager, NarcId narcId, int fileId, BOOL compressed, int plttNum, NNS_G2D_VRAM_TYPE vramType, int resId) { + SpriteResource *spriteResource; + + if (!GF2DGfxResObjExistsById(fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_PLTT], resId)) { + GF_ASSERT(FALSE); + return; + } + spriteResource = AddPlttResObjFromNarc(fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_PLTT], narcId, fileId, compressed, resId, vramType, plttNum, (enum HeapID)fieldSpriteManager->heapID); + if (spriteResource != NULL) { + GF_ASSERT(SpriteTransfer_CreatePlttTransferTask(spriteResource) == TRUE); + TryAddSpriteResourceToObjList(fieldSpriteManager->spriteResObjLists[GF_GFX_RES_TYPE_PLTT], spriteResource); + SpriteTransfer_GetPlttOffset(spriteResource, vramType); + } else { + GF_ASSERT(FALSE); + } +} + +void FieldSpriteManager_AddCellRes(FieldSpriteManager *fieldSpriteManager, NarcId narcId, int fileId, BOOL compressed, int resId) { + FieldSpriteManager_AddCellOrAnimRes(fieldSpriteManager, narcId, fileId, compressed, GF_GFX_RES_TYPE_CELL, resId); +} + +void FieldSpriteManager_AddAnimRes(FieldSpriteManager *fieldSpriteManager, NarcId narcId, int fileId, BOOL compressed, int resId) { + FieldSpriteManager_AddCellOrAnimRes(fieldSpriteManager, narcId, fileId, compressed, GF_GFX_RES_TYPE_ANIM, resId); +} + +void FieldSpriteManager_AddCharRes(FieldSpriteManager *fieldSpriteManager, NarcId narcId, int fileId, BOOL compressed, NNS_G2D_VRAM_TYPE vramType, int resId) { + SpriteResource *spriteResource; + + if (!GF2DGfxResObjExistsById(fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_CHAR], resId)) { + GF_ASSERT(FALSE); + return; + } + spriteResource = AddCharResObjFromNarc(fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_CHAR], narcId, fileId, compressed, resId, vramType, (enum HeapID)fieldSpriteManager->heapID); + if (spriteResource != NULL) { + SpriteTransfer_CreateCharTransferTask_AllocAtEnd(spriteResource); + TryAddSpriteResourceToObjList(fieldSpriteManager->spriteResObjLists[GF_GFX_RES_TYPE_CHAR], spriteResource); + } else { + GF_ASSERT(FALSE); + } +} + +static BOOL TryAddSpriteResourceToObjList(GF_2DGfxResObjList *objList, SpriteResource *spriteResource) { + int i; + + for (i = 0; i < objList->max; ++i) { + if (objList->obj[i] == NULL) { + objList->obj[i] = spriteResource; + ++objList->num; + return TRUE; + } + } + + return FALSE; +} + +static void FieldSpriteManager_AddCellOrAnimRes(FieldSpriteManager *fieldSpriteManager, NarcId narcId, int fileId, BOOL compressed, GfGfxResType resType, int resId) { + SpriteResource *spriteResource; + + if (!GF2DGfxResObjExistsById(fieldSpriteManager->spriteResManagers[resType], resId)) { + GF_ASSERT(FALSE); + return; + } + spriteResource = AddCellOrAnimResObjFromNarc(fieldSpriteManager->spriteResManagers[resType], narcId, fileId, compressed, resId, resType, (enum HeapID)fieldSpriteManager->heapID); + if (spriteResource != NULL) { + if (TryAddSpriteResourceToObjList(fieldSpriteManager->spriteResObjLists[resType], spriteResource) != TRUE) { + GF_ASSERT(FALSE); + return; + } + } else { + GF_ASSERT(FALSE); + } +} + +ManagedSprite *FieldSpriteManager_CreateManagedSprite(FieldSpriteManager *fieldSpriteManager, const ManagedSpriteTemplate *managedSpriteTemplate) { + SpriteTemplate spriteTemplate; + int resIds[6]; + ManagedSprite *sprite; + int palIndex; + int i; + + sprite = Heap_Alloc((enum HeapID)fieldSpriteManager->heapID, sizeof(ManagedSprite)); + sprite->spriteResourceHeaderList = Heap_Alloc((enum HeapID)fieldSpriteManager->heapID, sizeof(SpriteResourceHeaderList)); + sprite->spriteResourceHeaderList->headers = Heap_Alloc((enum HeapID)fieldSpriteManager->heapID, sizeof(SpriteResourcesHeader)); + sprite->spriteResourcesHeader = &sprite->spriteResourceHeaderList->headers[0]; + for (i = 0; i < GF_GFX_RES_TYPE_MAX; ++i) { + resIds[i] = managedSpriteTemplate->resIdList[i]; + } + if (fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_MCEL] == NULL || fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_MANM] == NULL) { + resIds[GF_GFX_RES_TYPE_MCEL] = -1; + resIds[GF_GFX_RES_TYPE_MANM] = -1; + } else { + if (resIds[GF_GFX_RES_TYPE_MCEL] != -1 && !GF2DGfxResObjExistsById(fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_MCEL], resIds[GF_GFX_RES_TYPE_MCEL])) { + resIds[GF_GFX_RES_TYPE_MCEL] = -1; + } + if (resIds[GF_GFX_RES_TYPE_MANM] != -1 && !GF2DGfxResObjExistsById(fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_MANM], resIds[GF_GFX_RES_TYPE_MANM])) { + resIds[GF_GFX_RES_TYPE_MANM] = -1; + } + } + CreateSpriteResourcesHeader(sprite->spriteResourcesHeader, resIds[GF_GFX_RES_TYPE_CHAR], resIds[GF_GFX_RES_TYPE_PLTT], resIds[GF_GFX_RES_TYPE_CELL], resIds[GF_GFX_RES_TYPE_ANIM], resIds[GF_GFX_RES_TYPE_MCEL], resIds[GF_GFX_RES_TYPE_MANM], managedSpriteTemplate->vramTransfer, managedSpriteTemplate->bgPriority, fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_CHAR], fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_PLTT], fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_CELL], fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_ANIM], fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_MCEL], fieldSpriteManager->spriteResManagers[GF_GFX_RES_TYPE_MANM]); + spriteTemplate.spriteList = fieldSpriteManager->spriteList; + spriteTemplate.header = sprite->spriteResourcesHeader; + spriteTemplate.position.x = FX32_CONST(managedSpriteTemplate->x); + spriteTemplate.position.y = FX32_CONST(managedSpriteTemplate->y); + spriteTemplate.position.z = FX32_CONST(managedSpriteTemplate->z); + if (managedSpriteTemplate->vram == NNS_G2D_VRAM_TYPE_2DSUB) { + spriteTemplate.position.y += 192 * FX32_ONE; + } + spriteTemplate.scale.x = FX32_ONE; + spriteTemplate.scale.y = FX32_ONE; + spriteTemplate.scale.z = FX32_ONE; + spriteTemplate.rotation = 0; + spriteTemplate.drawPriority = managedSpriteTemplate->drawPriority; + spriteTemplate.whichScreen = managedSpriteTemplate->vram; + spriteTemplate.heapID = (enum HeapID)fieldSpriteManager->heapID; + sprite->sprite = Sprite_CreateAffine(&spriteTemplate); + if (sprite->sprite != NULL) { + palIndex = Sprite_GetPalIndex(sprite->sprite); + Sprite_SetAnimCtrlSeq(sprite->sprite, managedSpriteTemplate->animation); + Sprite_SetPaletteOverride(sprite->sprite, palIndex + managedSpriteTemplate->pal); + } else { + GF_ASSERT(FALSE); + } + return sprite; +} + +void FieldSpriteManager_ReleaseWithoutResDat(FieldSpriteManager *fieldSpriteManager) { + u32 i; + + SpriteList_Delete(fieldSpriteManager->spriteList); + SpriteTransfer_DeleteAllCharTransferTasks(fieldSpriteManager->spriteResObjLists[GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_DeleteAllPlttTransferTasks(fieldSpriteManager->spriteResObjLists[GF_GFX_RES_TYPE_PLTT]); + for (i = 0; i < fieldSpriteManager->numResMans; ++i) { + Delete2DGfxResObjList(fieldSpriteManager->spriteResObjLists[i]); + Destroy2DGfxResObjMan(fieldSpriteManager->spriteResManagers[i]); + } +} diff --git a/src/field/scrcmd_pokemon_misc.c b/src/field/scrcmd_pokemon_misc.c index e8b230b3c0..86603ee15e 100644 --- a/src/field/scrcmd_pokemon_misc.c +++ b/src/field/scrcmd_pokemon_misc.c @@ -4,6 +4,7 @@ #include "constants/map_sections.h" #include "constants/moves.h" +#include "field/field_control.h" #include "msgdata/msg.naix" #include "msgdata/msg/msg_0066_D23R0102.h" #include "msgdata/msg/msg_0096_D31R0201.h" @@ -24,7 +25,6 @@ #include "map_object.h" #include "map_section.h" #include "math_util.h" -#include "field/field_control.h" #include "overlay_01_021F72DC.h" #include "overlay_01_021F944C.h" #include "overlay_02.h" diff --git a/src/field_bgm.c b/src/field_bgm.c index 67af1af1dc..61fd6991c6 100644 --- a/src/field_bgm.c +++ b/src/field_bgm.c @@ -3,9 +3,10 @@ #include "constants/sndseq.h" #include "constants/trainer_class.h" +#include "field/field_control.h" + #include "gf_rtc.h" #include "map_header.h" -#include "field/field_control.h" #include "save_local_field_data.h" #include "save_vars_flags.h" #include "sound.h" diff --git a/src/field_system.c b/src/field_system.c index d5b66636f2..86c2f71fb0 100644 --- a/src/field_system.c +++ b/src/field_system.c @@ -2,11 +2,12 @@ #include "constants/maps.h" +#include "field/field_control.h" + #include "field_warp_tasks.h" #include "main.h" #include "map_events.h" #include "math_util.h" -#include "field/field_control.h" #include "overlay_01_021F1AFC.h" #include "overlay_01_021F3D38.h" #include "overlay_01_021F6830.h" diff --git a/src/fieldmap.c b/src/fieldmap.c index e76b9c5844..d35294f6a4 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -579,7 +579,7 @@ void RunInitScript(FieldSystem *fieldSystem) { void StartMapLoadScript(FieldSystem *fieldSystem, u16 script) { ScriptContext *ctx = CreateScriptContext(fieldSystem, script); - while (RunScriptCommand(ctx) == TRUE) {} + while (RunScriptCommand(ctx) == TRUE) { } DestroyScriptContext(ctx); } diff --git a/src/get_egg.c b/src/get_egg.c index 40201bc308..3127e0e101 100644 --- a/src/get_egg.c +++ b/src/get_egg.c @@ -304,7 +304,7 @@ static void InheritIVs(Pokemon *egg, Daycare *dayCare) { for (i = STAT_HP; i < NUM_STATS; i++) { statList[i] = i; } - + if (Daycare_TryGetForcedInheritedIV(dayCare, &powerItemStat, &daycareSlot)) { statsToInherit[0] = powerItemStat; startNum = 1; diff --git a/src/intro_movie_scene_1.c b/src/intro_movie_scene_1.c index f1bcfb35ef..38c9d85caa 100644 --- a/src/intro_movie_scene_1.c +++ b/src/intro_movie_scene_1.c @@ -6,8 +6,8 @@ #include "intro_movie_internal.h" #include "obj_char_transfer.h" #include "obj_pltt_transfer.h" +#include "sprite_transfer.h" #include "system.h" -#include "unk_0200ACF0.h" #include "unk_0200B150.h" #include "unk_0200FA24.h" @@ -317,16 +317,16 @@ static void IntroMovie_Scene1_LoadSpriteGfx(IntroMovieOverlayData *data, IntroMo sceneData->plttResObj = AddPlttResObjFromNarc(ppMgr[GF_GFX_RES_TYPE_PLTT], NARC_demo_opening_gs_opening, INTRO_MOVIE_SCENE1_BIRD_PLTTRES, FALSE, 1, NNS_G2D_VRAM_TYPE_2DMAIN, 2, HEAP_ID_INTRO_MOVIE); sceneData->cellResObj = AddCellOrAnimResObjFromNarc(ppMgr[GF_GFX_RES_TYPE_CELL], NARC_demo_opening_gs_opening, INTRO_MOVIE_SCENE1_BIRD_CELLRES, TRUE, 1, GF_GFX_RES_TYPE_CELL, HEAP_ID_INTRO_MOVIE); sceneData->animResObj = AddCellOrAnimResObjFromNarc(ppMgr[GF_GFX_RES_TYPE_ANIM], NARC_demo_opening_gs_opening, INTRO_MOVIE_SCENE1_BIRD_ANIMRES, TRUE, 1, GF_GFX_RES_TYPE_ANIM, HEAP_ID_INTRO_MOVIE); - sub_0200ACF0(sceneData->charResObj); - sub_0200AF94(sceneData->plttResObj); + SpriteTransfer_CreateCharTransferTask(sceneData->charResObj); + SpriteTransfer_CreateExtPlttTransferTask(sceneData->plttResObj); GfGfx_EngineATogglePlanes(GX_PLANEMASK_OBJ, GF_PLANE_TOGGLE_ON); } static void IntroMovie_Scene1_DestroySpritesAndObjectGfx(IntroMovieOverlayData *data, IntroMovieScene1Data *sceneData) { Sprite_Delete(sceneData->sunSprite); Sprite_Delete(sceneData->birdSprite); - sub_0200AEB0(sceneData->charResObj); - sub_0200B0A8(sceneData->plttResObj); + SpriteTransfer_DeleteCharTransferTask(sceneData->charResObj); + SpriteTransfer_DeletePlttTransferTask(sceneData->plttResObj); IntroMovie_DestroySpriteResourceManagers(data); } diff --git a/src/intro_movie_scene_2.c b/src/intro_movie_scene_2.c index aad96f863e..ad5949d6a4 100644 --- a/src/intro_movie_scene_2.c +++ b/src/intro_movie_scene_2.c @@ -7,9 +7,9 @@ #include "math_util.h" #include "obj_char_transfer.h" #include "obj_pltt_transfer.h" +#include "sprite_transfer.h" #include "sys_task_api.h" #include "system.h" -#include "unk_0200ACF0.h" #include "unk_0200B150.h" #include "unk_0200FA24.h" @@ -278,8 +278,8 @@ static void IntroMovie_Scene2_LoadSpriteGfx(IntroMovieOverlayData *data, IntroMo sceneData->spriteGfxRes[1][GF_GFX_RES_TYPE_CELL] = AddCellOrAnimResObjFromNarc(resMen[GF_GFX_RES_TYPE_CELL], NARC_demo_opening_gs_opening, NARC_gs_opening_gs_opening_00000076_NCER_lz, TRUE, 1, GF_GFX_RES_TYPE_CELL, HEAP_ID_INTRO_MOVIE); sceneData->spriteGfxRes[1][GF_GFX_RES_TYPE_ANIM] = AddCellOrAnimResObjFromNarc(resMen[GF_GFX_RES_TYPE_ANIM], NARC_demo_opening_gs_opening, NARC_gs_opening_gs_opening_00000075_NANR_lz, TRUE, 1, GF_GFX_RES_TYPE_ANIM, HEAP_ID_INTRO_MOVIE); for (u8 i = 0; i < 2; ++i) { - sub_0200ACF0(sceneData->spriteGfxRes[i][GF_GFX_RES_TYPE_CHAR]); - sub_0200AF94(sceneData->spriteGfxRes[i][GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_CreateCharTransferTask(sceneData->spriteGfxRes[i][GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_CreateExtPlttTransferTask(sceneData->spriteGfxRes[i][GF_GFX_RES_TYPE_PLTT]); } GfGfx_EngineATogglePlanes(GX_PLANEMASK_OBJ, GF_PLANE_TOGGLE_ON); GfGfx_EngineBTogglePlanes(GX_PLANEMASK_OBJ, GF_PLANE_TOGGLE_ON); @@ -296,8 +296,8 @@ static void IntroMovie_Scene2_DeleteSprites(IntroMovieOverlayData *data, IntroMo Sprite_Delete(sceneData->flowerSprites[i]); } for (u8 i = 0; i < 2; ++i) { - sub_0200AEB0(sceneData->spriteGfxRes[i][GF_GFX_RES_TYPE_CHAR]); - sub_0200B0A8(sceneData->spriteGfxRes[i][GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_DeleteCharTransferTask(sceneData->spriteGfxRes[i][GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_DeletePlttTransferTask(sceneData->spriteGfxRes[i][GF_GFX_RES_TYPE_PLTT]); } IntroMovie_DestroySpriteResourceManagers(data); } diff --git a/src/intro_movie_scene_3.c b/src/intro_movie_scene_3.c index 4cc057929e..2ca8775b56 100644 --- a/src/intro_movie_scene_3.c +++ b/src/intro_movie_scene_3.c @@ -7,8 +7,8 @@ #include "intro_movie_internal.h" #include "obj_char_transfer.h" #include "obj_pltt_transfer.h" +#include "sprite_transfer.h" #include "system.h" -#include "unk_0200ACF0.h" #include "unk_0200B150.h" #include "unk_0200FA24.h" #include "unk_02026E30.h" @@ -576,8 +576,8 @@ static void IntroMovie_Scene3_LoadOBJGraphics(IntroMovieOverlayData *data, Intro sceneData->spriteResObjs[1][GF_GFX_RES_TYPE_ANIM] = AddCellOrAnimResObjFromNarc(resMen[GF_GFX_RES_TYPE_ANIM], NARC_demo_opening_gs_opening, NARC_gs_opening_gs_opening_00000071_NANR_lz, TRUE, 3, GF_GFX_RES_TYPE_ANIM, HEAP_ID_INTRO_MOVIE); for (u8 i = 0; i < 2; ++i) { - sub_0200ACF0(sceneData->spriteResObjs[i][GF_GFX_RES_TYPE_CHAR]); - sub_0200AF94(sceneData->spriteResObjs[i][GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_CreateCharTransferTask(sceneData->spriteResObjs[i][GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_CreateExtPlttTransferTask(sceneData->spriteResObjs[i][GF_GFX_RES_TYPE_PLTT]); } GfGfx_EngineBTogglePlanes(GX_PLANEMASK_OBJ, GF_PLANE_TOGGLE_ON); @@ -591,8 +591,8 @@ static void IntroMovie_Scene3_UnloadOBJGraphics(IntroMovieOverlayData *data, Int Sprite_Delete(sceneData->unownSprites[2]); for (u8 i = 0; i < 2; ++i) { - sub_0200AEB0(sceneData->spriteResObjs[i][GF_GFX_RES_TYPE_CHAR]); - sub_0200B0A8(sceneData->spriteResObjs[i][GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_DeleteCharTransferTask(sceneData->spriteResObjs[i][GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_DeletePlttTransferTask(sceneData->spriteResObjs[i][GF_GFX_RES_TYPE_PLTT]); } IntroMovie_DestroySpriteResourceManagers(data); } diff --git a/src/intro_movie_scene_4.c b/src/intro_movie_scene_4.c index b62f9ec760..936d17971c 100644 --- a/src/intro_movie_scene_4.c +++ b/src/intro_movie_scene_4.c @@ -7,9 +7,9 @@ #include "math_util.h" #include "obj_char_transfer.h" #include "obj_pltt_transfer.h" +#include "sprite_transfer.h" #include "sys_task_api.h" #include "system.h" -#include "unk_0200ACF0.h" #include "unk_0200B150.h" #include "unk_0200FA24.h" #include "unk_02026E30.h" @@ -416,8 +416,8 @@ static void IntroMovie_Scene4_LoadSpriteGfx(IntroMovieOverlayData *data, IntroMo } for (i = 0; i < 4; ++i) { - sub_0200ACF0(sceneData->spriteResObjs[i][GF_GFX_RES_TYPE_CHAR]); - sub_0200AF94(sceneData->spriteResObjs[i][GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_CreateCharTransferTask(sceneData->spriteResObjs[i][GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_CreateExtPlttTransferTask(sceneData->spriteResObjs[i][GF_GFX_RES_TYPE_PLTT]); } GfGfx_EngineATogglePlanes(GX_PLANEMASK_OBJ, GF_PLANE_TOGGLE_ON); @@ -432,8 +432,8 @@ static void IntroMovie_Scene4_DestroySprites(IntroMovieOverlayData *data, IntroM Sprite_Delete(sceneData->starterSprites[i]); } for (u8 i = 0; i < 4; ++i) { - sub_0200AEB0(sceneData->spriteResObjs[i][GF_GFX_RES_TYPE_CHAR]); - sub_0200B0A8(sceneData->spriteResObjs[i][GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_DeleteCharTransferTask(sceneData->spriteResObjs[i][GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_DeletePlttTransferTask(sceneData->spriteResObjs[i][GF_GFX_RES_TYPE_PLTT]); } IntroMovie_DestroySpriteResourceManagers(data); } diff --git a/src/link_ruleset_data.c b/src/link_ruleset_data.c index a9f24cc6c1..b09ce99cd5 100644 --- a/src/link_ruleset_data.c +++ b/src/link_ruleset_data.c @@ -168,6 +168,7 @@ static LinkBattleRuleset sAlternateRulesets[] = { .dragonRageClause = FALSE, }, }; + LinkBattleRuleset *sub_020291E8(SaveData *saveData, int index) { if (index == 5) { Save_LinkBattleRuleset *linkBattleRuleset = SaveArray_Get(saveData, SAVE_LINK_BATTLE_RULESET); diff --git a/src/list_menu_items.c b/src/list_menu_items.c index d1c37df610..76f44f6210 100644 --- a/src/list_menu_items.c +++ b/src/list_menu_items.c @@ -54,7 +54,7 @@ ListMenuItem *ListMenuItems_SeekEnd(ListMenuItem *items, enum HeapID *heapId_p) } } out = items; - for (; items->text != (String *)-1; items++) {} + for (; items->text != (String *)-1; items++) { } *heapId_p = (enum HeapID)items->value; return out; } diff --git a/src/main.c b/src/main.c index 109a75f58d..40ccf0bbf7 100644 --- a/src/main.c +++ b/src/main.c @@ -1,20 +1,18 @@ #include "main.h" -#include "global.h" - #include "brightness.h" #include "communication_error.h" #include "font.h" #include "gf_rtc.h" #include "math_util.h" #include "player_data.h" +#include "poke_overlay.h" #include "save_data_read_error.h" #include "sound.h" #include "sound_02004A44.h" #include "sys_task.h" #include "system.h" #include "timer_3.h" -#include "unk_0200B150.h" #include "unk_0200FA24.h" #include "unk_02018380.h" #include "unk_020210A0.h" diff --git a/src/map_object.c b/src/map_object.c index e04bf8f411..ad8e74c7e6 100644 --- a/src/map_object.c +++ b/src/map_object.c @@ -491,7 +491,7 @@ static void LocalMapObject_InitFromSavedMapObject(LocalMapObject *localObject, S MapObject_SetCurrentY(localObject, savedObject->currentY); MapObject_SetCurrentZ(localObject, savedObject->currentZ); - VecFx32 coords = {}; + VecFx32 coords = { }; coords.y = savedObject->vecY; MapObject_SetPositionVector(localObject, &coords); diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index 029fc4a6bc..c97cde73a8 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -5,243 +5,243 @@ #include "constants/metatile_behavior.h" static const u8 sMetatileBehaviorFlags[] = { - [TILE_BEHAVIOR_0] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_1_UNUSED] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_TALL_GRASS] = TILE_BEHAVIOR_FLAG_ENCOUNTER, - [TILE_BEHAVIOR_VERY_TALL_GRASS] = TILE_BEHAVIOR_FLAG_ENCOUNTER, - [TILE_BEHAVIOR_4] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_5] = TILE_BEHAVIOR_FLAG_ENCOUNTER, - [TILE_BEHAVIOR_HEADBUTT] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_7] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_CAVE_FLOOR] = TILE_BEHAVIOR_FLAG_ENCOUNTER, - [TILE_BEHAVIOR_9] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_10] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_11] = TILE_BEHAVIOR_FLAG_ENCOUNTER, - [TILE_BEHAVIOR_12] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_13] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_14] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_15] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_WATER_RIVER] = TILE_BEHAVIOR_FLAG_SURFABLE_ENCOUNTER, - [TILE_BEHAVIOR_WHIRLPOOL] = TILE_BEHAVIOR_FLAG_SURFABLE, - [TILE_BEHAVIOR_18] = TILE_BEHAVIOR_FLAG_SURFABLE_ENCOUNTER, - [TILE_BEHAVIOR_WATERFALL] = TILE_BEHAVIOR_FLAG_SURFABLE, - [TILE_BEHAVIOR_20] = TILE_BEHAVIOR_FLAG_SURFABLE, - [TILE_BEHAVIOR_WATER_SEA] = TILE_BEHAVIOR_FLAG_SURFABLE_ENCOUNTER, - [TILE_BEHAVIOR_PUDDLE] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_SHALLOW_WATER] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_24] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_25] = TILE_BEHAVIOR_FLAG_SURFABLE, - [TILE_BEHAVIOR_26] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_27] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_28] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_PUDDLE_NO_SPLASHING] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_30] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_31] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_ICE] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_SAND] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_34] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_35] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_36] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_37] = TILE_BEHAVIOR_FLAG_ENCOUNTER, - [TILE_BEHAVIOR_38] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_39] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_40] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_41] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_42] = TILE_BEHAVIOR_FLAG_SURFABLE_ENCOUNTER, - [TILE_BEHAVIOR_43] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_MAGMA] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_REFLECTIVE] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_46] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_47] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_48] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_49] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_50] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_51] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_52] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_53] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_54] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_55] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_JUMP_EAST] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_JUMP_WEST] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_JUMP_NORTH] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_JUMP_SOUTH] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_LADDER_NORTH] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_LADDER_SOUTH] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_LADDER_DOWN] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_63] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_SLIDE_EAST] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_SLIDE_WEST] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_SLIDE_NORTH] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_SLIDE_SOUTH] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_68] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_69] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_70] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_71] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_72] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_73] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_74] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_ROCK_CLIMB_NORTH_SOUTH] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_ROCK_CLIMB_EAST_WEST] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_STOP_SLIDING] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_78] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_79] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_80] = TILE_BEHAVIOR_FLAG_SURFABLE, - [TILE_BEHAVIOR_81] = TILE_BEHAVIOR_FLAG_SURFABLE, - [TILE_BEHAVIOR_82] = TILE_BEHAVIOR_FLAG_SURFABLE, - [TILE_BEHAVIOR_83] = TILE_BEHAVIOR_FLAG_SURFABLE, - [TILE_BEHAVIOR_84] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_85] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_86] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_87] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_88] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_89] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_90] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_91] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_92] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_93] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_WARP_STAIRS_EAST] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_WARP_STAIRS_WEST] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_96] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_97] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_WARP_ENTRANCE_EAST] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_WARP_ENTRANCE_WEST] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_WARP_ENTRANCE_NORTH] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_WARP_ENTRANCE_SOUTH] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_102] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_WARP_PANEL] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_104] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_DOOR] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_ESCALATOR_FLIP_FACE] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_ESCALATOR] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_WARP_EAST] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_WARP_WEST] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_WARP_NORTH] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_WARP_SOUTH] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_112] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_113] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_114] = TILE_BEHAVIOR_FLAG_ENCOUNTER, - [TILE_BEHAVIOR_115] = TILE_BEHAVIOR_FLAG_SURFABLE, - [TILE_BEHAVIOR_116] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_117] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_118] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_119] = TILE_BEHAVIOR_FLAG_ENCOUNTER, - [TILE_BEHAVIOR_120] = TILE_BEHAVIOR_FLAG_SURFABLE, - [TILE_BEHAVIOR_121] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_122] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_123] = TILE_BEHAVIOR_FLAG_ENCOUNTER, - [TILE_BEHAVIOR_124] = TILE_BEHAVIOR_FLAG_SURFABLE, - [TILE_BEHAVIOR_125] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_126] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_127] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_128] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_129] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_130] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_PC] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_132] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_TOWN_MAP] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_TV] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_135] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_136] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_137] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_138] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_139] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_140] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_141] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_142] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_143] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_144] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_145] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_146] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_147] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_148] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_149] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_150] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_151] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_152] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_153] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_154] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_155] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_156] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_157] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_158] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_159] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_160] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_161] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_162] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_163] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_MUD] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_165] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_166] = TILE_BEHAVIOR_FLAG_ENCOUNTER, - [TILE_BEHAVIOR_167] = TILE_BEHAVIOR_FLAG_ENCOUNTER, - [TILE_BEHAVIOR_SNOW] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_169] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_170] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_171] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_172] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_173] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_174] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_175] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_176] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_177] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_178] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_179] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_180] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_181] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_182] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_183] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_184] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_185] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_186] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_187] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_188] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_189] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_190] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_191] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_192] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_193] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_194] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_195] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_196] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_197] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_198] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_199] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_200] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_201] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_202] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_203] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_204] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_205] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_206] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_207] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_208] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_209] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_210] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_211] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_212] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_213] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_214] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_215] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_216] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_217] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_218] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_219] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_220] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_221] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_222] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_223] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_SMALL_BOOKSHELF_1] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_BOOKSHELF_1] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_BOOKSHELF_2] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_227] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_EMPTY_TRASH_CAN] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_MART_SHELF_1] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_230] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_231] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_232] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_233] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_SMALL_BOOKSHELF_2] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_MART_SHELF_2] = TILE_BEHAVIOR_FLAG_NONE, - [TILE_BEHAVIOR_MART_SHELF_3] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_0] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_1_UNUSED] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_TALL_GRASS] = TILE_BEHAVIOR_FLAG_ENCOUNTER, + [TILE_BEHAVIOR_VERY_TALL_GRASS] = TILE_BEHAVIOR_FLAG_ENCOUNTER, + [TILE_BEHAVIOR_4] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_5] = TILE_BEHAVIOR_FLAG_ENCOUNTER, + [TILE_BEHAVIOR_HEADBUTT] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_7] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_CAVE_FLOOR] = TILE_BEHAVIOR_FLAG_ENCOUNTER, + [TILE_BEHAVIOR_9] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_10] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_11] = TILE_BEHAVIOR_FLAG_ENCOUNTER, + [TILE_BEHAVIOR_12] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_13] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_14] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_15] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_WATER_RIVER] = TILE_BEHAVIOR_FLAG_SURFABLE_ENCOUNTER, + [TILE_BEHAVIOR_WHIRLPOOL] = TILE_BEHAVIOR_FLAG_SURFABLE, + [TILE_BEHAVIOR_18] = TILE_BEHAVIOR_FLAG_SURFABLE_ENCOUNTER, + [TILE_BEHAVIOR_WATERFALL] = TILE_BEHAVIOR_FLAG_SURFABLE, + [TILE_BEHAVIOR_20] = TILE_BEHAVIOR_FLAG_SURFABLE, + [TILE_BEHAVIOR_WATER_SEA] = TILE_BEHAVIOR_FLAG_SURFABLE_ENCOUNTER, + [TILE_BEHAVIOR_PUDDLE] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_SHALLOW_WATER] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_24] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_25] = TILE_BEHAVIOR_FLAG_SURFABLE, + [TILE_BEHAVIOR_26] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_27] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_28] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_PUDDLE_NO_SPLASHING] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_30] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_31] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_ICE] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_SAND] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_34] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_35] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_36] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_37] = TILE_BEHAVIOR_FLAG_ENCOUNTER, + [TILE_BEHAVIOR_38] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_39] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_40] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_41] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_42] = TILE_BEHAVIOR_FLAG_SURFABLE_ENCOUNTER, + [TILE_BEHAVIOR_43] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_MAGMA] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_REFLECTIVE] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_46] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_47] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_48] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_49] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_50] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_51] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_52] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_53] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_54] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_55] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_JUMP_EAST] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_JUMP_WEST] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_JUMP_NORTH] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_JUMP_SOUTH] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_LADDER_NORTH] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_LADDER_SOUTH] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_LADDER_DOWN] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_63] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_SLIDE_EAST] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_SLIDE_WEST] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_SLIDE_NORTH] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_SLIDE_SOUTH] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_68] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_69] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_70] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_71] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_72] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_73] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_74] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_ROCK_CLIMB_NORTH_SOUTH] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_ROCK_CLIMB_EAST_WEST] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_STOP_SLIDING] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_78] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_79] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_80] = TILE_BEHAVIOR_FLAG_SURFABLE, + [TILE_BEHAVIOR_81] = TILE_BEHAVIOR_FLAG_SURFABLE, + [TILE_BEHAVIOR_82] = TILE_BEHAVIOR_FLAG_SURFABLE, + [TILE_BEHAVIOR_83] = TILE_BEHAVIOR_FLAG_SURFABLE, + [TILE_BEHAVIOR_84] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_85] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_86] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_87] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_88] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_89] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_90] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_91] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_92] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_93] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_WARP_STAIRS_EAST] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_WARP_STAIRS_WEST] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_96] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_97] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_WARP_ENTRANCE_EAST] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_WARP_ENTRANCE_WEST] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_WARP_ENTRANCE_NORTH] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_WARP_ENTRANCE_SOUTH] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_102] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_WARP_PANEL] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_104] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_DOOR] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_ESCALATOR_FLIP_FACE] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_ESCALATOR] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_WARP_EAST] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_WARP_WEST] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_WARP_NORTH] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_WARP_SOUTH] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_112] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_113] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_114] = TILE_BEHAVIOR_FLAG_ENCOUNTER, + [TILE_BEHAVIOR_115] = TILE_BEHAVIOR_FLAG_SURFABLE, + [TILE_BEHAVIOR_116] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_117] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_118] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_119] = TILE_BEHAVIOR_FLAG_ENCOUNTER, + [TILE_BEHAVIOR_120] = TILE_BEHAVIOR_FLAG_SURFABLE, + [TILE_BEHAVIOR_121] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_122] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_123] = TILE_BEHAVIOR_FLAG_ENCOUNTER, + [TILE_BEHAVIOR_124] = TILE_BEHAVIOR_FLAG_SURFABLE, + [TILE_BEHAVIOR_125] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_126] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_127] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_128] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_129] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_130] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_PC] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_132] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_TOWN_MAP] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_TV] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_135] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_136] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_137] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_138] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_139] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_140] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_141] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_142] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_143] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_144] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_145] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_146] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_147] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_148] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_149] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_150] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_151] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_152] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_153] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_154] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_155] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_156] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_157] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_158] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_159] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_160] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_161] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_162] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_163] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_MUD] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_165] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_166] = TILE_BEHAVIOR_FLAG_ENCOUNTER, + [TILE_BEHAVIOR_167] = TILE_BEHAVIOR_FLAG_ENCOUNTER, + [TILE_BEHAVIOR_SNOW] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_169] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_170] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_171] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_172] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_173] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_174] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_175] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_176] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_177] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_178] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_179] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_180] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_181] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_182] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_183] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_184] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_185] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_186] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_187] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_188] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_189] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_190] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_191] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_192] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_193] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_194] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_195] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_196] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_197] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_198] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_199] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_200] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_201] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_202] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_203] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_204] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_205] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_206] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_207] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_208] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_209] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_210] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_211] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_212] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_213] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_214] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_215] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_216] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_217] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_218] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_219] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_220] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_221] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_222] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_223] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_SMALL_BOOKSHELF_1] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_BOOKSHELF_1] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_BOOKSHELF_2] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_227] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_EMPTY_TRASH_CAN] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_MART_SHELF_1] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_230] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_231] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_232] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_233] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_SMALL_BOOKSHELF_2] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_MART_SHELF_2] = TILE_BEHAVIOR_FLAG_NONE, + [TILE_BEHAVIOR_MART_SHELF_3] = TILE_BEHAVIOR_FLAG_NONE, TILE_BEHAVIOR_FLAG_NONE, TILE_BEHAVIOR_FLAG_NONE, TILE_BEHAVIOR_FLAG_NONE, diff --git a/src/naming_screen.c b/src/naming_screen.c index 19586db135..546c451357 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -22,11 +22,11 @@ #include "obj_pltt_transfer.h" #include "pokemon_icon_idx.h" #include "sound_02004A44.h" +#include "sprite_transfer.h" #include "systask_environment.h" #include "system.h" #include "text.h" #include "unk_02005D10.h" -#include "unk_0200ACF0.h" #include "unk_0200B150.h" #include "unk_0200FA24.h" #include "unk_02013534.h" @@ -715,10 +715,10 @@ BOOL NamingScreenApp_Exit(OverlayManager *ovyMan, int *pState) { for (int i = 0; i < 7; ++i) { DestroySysTaskAndEnvironment(data->tasks[i]); } - sub_0200AEB0(data->gfxResObjs[PM_LCD_TOP][GF_GFX_RES_TYPE_CHAR]); - sub_0200AEB0(data->gfxResObjs[PM_LCD_BOTTOM][GF_GFX_RES_TYPE_CHAR]); - sub_0200B0A8(data->gfxResObjs[PM_LCD_TOP][GF_GFX_RES_TYPE_PLTT]); - sub_0200B0A8(data->gfxResObjs[PM_LCD_BOTTOM][GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_DeleteCharTransferTask(data->gfxResObjs[PM_LCD_TOP][GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_DeleteCharTransferTask(data->gfxResObjs[PM_LCD_BOTTOM][GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_DeletePlttTransferTask(data->gfxResObjs[PM_LCD_TOP][GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_DeletePlttTransferTask(data->gfxResObjs[PM_LCD_BOTTOM][GF_GFX_RES_TYPE_PLTT]); for (int i = 0; i < 4; ++i) { Destroy2DGfxResObjMan(data->gfxResMen[i]); } @@ -1077,10 +1077,10 @@ static void NamingScreen_LoadObjGfx(NamingScreenAppData *data, NARC *narc) { data->gfxResObjs[PM_LCD_BOTTOM][GF_GFX_RES_TYPE_CELL] = AddCellOrAnimResObjFromOpenNarc(data->gfxResMen[GF_GFX_RES_TYPE_CELL], narc, NARC_namein_namein_00000013_NCER_lz, TRUE, 1, GF_GFX_RES_TYPE_CELL, HEAP_ID_NAMING_SCREEN); data->gfxResObjs[PM_LCD_BOTTOM][GF_GFX_RES_TYPE_ANIM] = AddCellOrAnimResObjFromOpenNarc(data->gfxResMen[GF_GFX_RES_TYPE_ANIM], narc, NARC_namein_namein_00000015_NANR_lz, TRUE, 1, GF_GFX_RES_TYPE_ANIM, HEAP_ID_NAMING_SCREEN); - sub_0200ACF0(data->gfxResObjs[PM_LCD_TOP][GF_GFX_RES_TYPE_CHAR]); - sub_0200ACF0(data->gfxResObjs[PM_LCD_BOTTOM][GF_GFX_RES_TYPE_CHAR]); - sub_0200AF94(data->gfxResObjs[PM_LCD_TOP][GF_GFX_RES_TYPE_PLTT]); - sub_0200AF94(data->gfxResObjs[PM_LCD_BOTTOM][GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_CreateCharTransferTask(data->gfxResObjs[PM_LCD_TOP][GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_CreateCharTransferTask(data->gfxResObjs[PM_LCD_BOTTOM][GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_CreateExtPlttTransferTask(data->gfxResObjs[PM_LCD_TOP][GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_CreateExtPlttTransferTask(data->gfxResObjs[PM_LCD_BOTTOM][GF_GFX_RES_TYPE_PLTT]); } typedef struct SubspritePosControllerTaskData { diff --git a/src/oaks_speech_obj.c b/src/oaks_speech_obj.c index 2396b23bd1..17fde10ac5 100644 --- a/src/oaks_speech_obj.c +++ b/src/oaks_speech_obj.c @@ -126,16 +126,16 @@ void OakSpeech_InitSpriteEngine(OakSpeechData *data) { G2dRenderer_SetSubSurfaceCoords(SpriteSystem_GetRenderer(data->spriteRenderer), 0, FX32_CONST(GX_LCD_SIZE_Y)); { - u16 fileIdList[7] = { - NARC_resdat_resdat_00000026_bin, - NARC_resdat_resdat_00000027_bin, - NARC_resdat_resdat_00000025_bin, - NARC_resdat_resdat_00000024_bin, - 0xFFFF, - 0xFFFF, - NARC_resdat_resdat_00000078_bin, + ResdatIdList fileIdList = { + .charRes = NARC_resdat_resdat_00000026_bin, + .plttRes = NARC_resdat_resdat_00000027_bin, + .cellRes = NARC_resdat_resdat_00000025_bin, + .animRes = NARC_resdat_resdat_00000024_bin, + .mcelRes = 0xFFFF, + .manmRes = 0xFFFF, + .headerId = NARC_resdat_resdat_00000078_bin, }; - sub_0200D294(data->spriteRenderer, data->spriteGfxHandler, fileIdList); + sub_0200D294(data->spriteRenderer, data->spriteGfxHandler, &fileIdList); } } diff --git a/src/options_app.c b/src/options_app.c index 8c0c1e4aac..6954c6b478 100644 --- a/src/options_app.c +++ b/src/options_app.c @@ -1010,16 +1010,16 @@ static void OptionsApp_SetupSpriteRenderer(OptionsApp_Data *data) { SpriteSystem_Init(data->spriteRenderer, &unk1, &unk2, 32); SpriteSystem_InitSprites(data->spriteRenderer, data->spriteGfxHandler, 9); - u16 fileIdList[7] = { - NARC_resdat_resdat_00000022_bin, - NARC_resdat_resdat_00000023_bin, - NARC_resdat_resdat_00000021_bin, - NARC_resdat_resdat_00000020_bin, - 0xFFFF, - 0xFFFF, - NARC_resdat_resdat_00000077_bin, + ResdatIdList fileIdList = { + .charRes = NARC_resdat_resdat_00000022_bin, + .plttRes = NARC_resdat_resdat_00000023_bin, + .cellRes = NARC_resdat_resdat_00000021_bin, + .animRes = NARC_resdat_resdat_00000020_bin, + .mcelRes = 0xFFFF, + .manmRes = 0xFFFF, + .headerId = NARC_resdat_resdat_00000077_bin, }; - sub_0200D294(data->spriteRenderer, data->spriteGfxHandler, fileIdList); + sub_0200D294(data->spriteRenderer, data->spriteGfxHandler, &fileIdList); G2dRenderer_SetSubSurfaceCoords(SpriteSystem_GetRenderer(data->spriteRenderer), FX32_CONST(0), FX32_CONST(256)); } diff --git a/src/overlay_03/battle_regulation_menu.c b/src/overlay_03/battle_regulation_menu.c index 25fe2e0bff..17d0fc835b 100644 --- a/src/overlay_03/battle_regulation_menu.c +++ b/src/overlay_03/battle_regulation_menu.c @@ -1,20 +1,20 @@ -#include "overlay_03.h" +#include "global.h" + +#include "msgdata/msg.naix" +#include "msgdata/msg/msg_0046.h" +#include "msgdata/msg/msg_0182.h" #include "field_system.h" #include "font.h" -#include "global.h" #include "link_ruleset_data.h" #include "list_menu_items.h" +#include "overlay_03.h" #include "save_link_ruleset.h" #include "task.h" #include "text.h" #include "text_0205B4EC.h" #include "unk_02005D10.h" -#include "msgdata/msg.naix" -#include "msgdata/msg/msg_0046.h" -#include "msgdata/msg/msg_0182.h" - enum RegulationMenus { REGULATION_MENU_REGULATIONS, REGULATION_MENU_CONFIRM, @@ -134,7 +134,7 @@ static void BattleRegulationMenu_ShowListMenuRegulations(BattleRegulationMenu *m listMenuTemplate.items = menu->items[REGULATION_MENU_REGULATIONS]; listMenuTemplate.window = &menu->windows[REGULATION_MENU_WINDOW_REGULATIONS]; listMenuTemplate.data = menu; - + menu->listMenu[REGULATION_MENU_REGULATIONS] = ListMenuInit(&listMenuTemplate, 0, menu->itemsAbove[REGULATION_MENU_REGULATIONS], HEAP_ID_FIELD1); CopyWindowToVram(&menu->windows[REGULATION_MENU_WINDOW_REGULATIONS]); } @@ -153,14 +153,14 @@ static void BattleRegulationMenu_RemoveListMenuRegulations(BattleRegulationMenu static int BattleRegulationMenu_ProcessListMenuInputRegulations(BattleRegulationMenu *menu) { int input = ListMenu_ProcessInput(menu->listMenu[REGULATION_MENU_REGULATIONS]); ListMenuGetScrollAndRow(menu->listMenu[REGULATION_MENU_REGULATIONS], 0, &menu->itemsAbove[REGULATION_MENU_REGULATIONS]); - + u16 prev = menu->unk80[REGULATION_MENU_REGULATIONS]; ListMenuGetCurrentItemArrayId(menu->listMenu[REGULATION_MENU_REGULATIONS], &menu->unk80[REGULATION_MENU_REGULATIONS]); - + if (prev != menu->unk80[REGULATION_MENU_REGULATIONS]) { PlaySE(SEQ_SE_DP_SELECT); } - + switch (input) { case -1: return 0; @@ -176,15 +176,15 @@ static int BattleRegulationMenu_ProcessListMenuInputRegulations(BattleRegulation return -1; default: PlaySE(SEQ_SE_DP_SELECT); - &menu->fieldSystem->linkBattleRuleset->rules[0] = sub_020291E8(menu->fieldSystem->saveData, input); + menu->fieldSystem->linkBattleRuleset = sub_020291E8(menu->fieldSystem->saveData, input); return 1; } } static ConfirmMenuEntry sConfirmMenuEntries[3] = { - {msg_0046_Confirm, 1}, // CONFIRM - {msg_0046_Rules, 2}, // RULES - {msg_0046_Cancel, 0xFFFFFFFE} // CANCEL + { msg_0046_Confirm, 1 }, // CONFIRM + { msg_0046_Rules, 2 }, // RULES + { msg_0046_Cancel, 0xFFFFFFFE } // CANCEL }; static void BattleRegulationMenu_ShowListMenuConfirm(BattleRegulationMenu *menu) { @@ -198,7 +198,7 @@ static void BattleRegulationMenu_ShowListMenuConfirm(BattleRegulationMenu *menu) ListMenuItems_AppendFromMsgData(menu->items[REGULATION_MENU_CONFIRM], menu->msgData, menuEntry->bankEntry, menuEntry->index); menuEntry++; }; - + listMenuTemplate = sListMenuTemplate; listMenuTemplate.totalItems = 3; listMenuTemplate.maxShowed = 3; @@ -212,25 +212,25 @@ static void BattleRegulationMenu_ShowListMenuConfirm(BattleRegulationMenu *menu) static int BattleRegulationMenu_ProcessListMenuInputConfirm(BattleRegulationMenu *menu) { int input = ListMenu_ProcessInput(menu->listMenu[REGULATION_MENU_CONFIRM]); ListMenuGetScrollAndRow(menu->listMenu[REGULATION_MENU_CONFIRM], 0, &menu->itemsAbove[REGULATION_MENU_CONFIRM]); - + u16 prev = menu->unk80[REGULATION_MENU_CONFIRM]; ListMenuGetCurrentItemArrayId(menu->listMenu[REGULATION_MENU_CONFIRM], &menu->unk80[REGULATION_MENU_CONFIRM]); - + if (prev != menu->unk80[REGULATION_MENU_CONFIRM]) { PlaySE(SEQ_SE_DP_SELECT); } - switch(input) { - case -1: - return 0; - case -2: - PlaySE(SEQ_SE_DP_SELECT); - input = -1; - break; - default: - PlaySE(SEQ_SE_DP_SELECT); - BattleRegulationMenu_RemoveListMenuRegulations(menu); - break; + switch (input) { + case -1: + return 0; + case -2: + PlaySE(SEQ_SE_DP_SELECT); + input = -1; + break; + default: + PlaySE(SEQ_SE_DP_SELECT); + BattleRegulationMenu_RemoveListMenuRegulations(menu); + break; } if (menu->listMenu[REGULATION_MENU_CONFIRM]) { @@ -278,18 +278,18 @@ static void BattleRegulationMenu_ShowRules(BattleRegulationMenu *menu) { const int lineHeight = 15; const int xOffsetCupName = 55; const int xRightSide = (24 * 8) - 1; - + MsgData *msgData = NewMsgDataFromNarc(MSGDATA_LOAD_DIRECT, NARC_msgdata_msg, NARC_msg_msg_0182_bin, HEAP_ID_FIELD1); String *fmtString = String_New(180, HEAP_ID_FIELD1); String *destString = String_New(180, HEAP_ID_FIELD1); Window *window = &menu->windows[REGULATION_MENU_WINDOW_RULES]; - + AddWindowParameterized(menu->fieldSystem->bgConfig, window, 3, 4, 2, 24, 19, 13, 1); DrawFrameAndWindow1(window, TRUE, 985, 11); FillWindowPixelBuffer(window, 15); - + BattleRegulationMenu_GetRegulationName(menu, menu->itemsAbove[REGULATION_MENU_REGULATIONS] - 1); - + ReadMsgDataIntoString(msgData, CommunicationClub_Text_Cup, fmtString); // {STRVAR_1 26, 0, 0} Cup StringExpandPlaceholders(messageFormat, destString, fmtString); AddTextPrinterParameterized(window, 0, destString, xOffset + xOffsetCupName, 0, TEXT_SPEED_NOTRANSFER, NULL); @@ -300,9 +300,9 @@ static void BattleRegulationMenu_ShowRules(BattleRegulationMenu *menu) { }; for (i = 0; i < RULES_COUNT; i++) { - ruleValue = LinkBattleRuleset_GetRuleValue(&menu->fieldSystem->linkBattleRuleset->rules[0], (LinkBattleRule)sLinkBattleRules[i]); + ruleValue = LinkBattleRuleset_GetRuleValue(&menu->fieldSystem->linkBattleRuleset[0], (LinkBattleRule)sLinkBattleRules[i]); valueMessage = sLinkBattleRuleValueMessages[i]; - + switch (sLinkBattleRules[i]) { case LINKBATTLERULE_PARTY_COUNT: BufferIntegerAsString(messageFormat, 0, ruleValue, 1, PRINTING_MODE_RIGHT_ALIGN, TRUE); @@ -322,7 +322,7 @@ static void BattleRegulationMenu_ShowRules(BattleRegulationMenu *menu) { BufferIntegerAsString(messageFormat, 0, abs(ruleValue / 12), 2, PRINTING_MODE_LEFT_ALIGN, TRUE); BufferIntegerAsString(messageFormat, 1, abs(ruleValue % 12), 2, PRINTING_MODE_LEADING_ZEROS, TRUE); - + if (ruleValue == 0) { valueMessage = CommunicationClub_Text_NoRestrictions; // NO RESTRICTIONS } else if (ruleValue > 0) { @@ -339,7 +339,7 @@ static void BattleRegulationMenu_ShowRules(BattleRegulationMenu *menu) { } break; case LINKBATTLERULE_UBERS_CLAUSE: - if (LinkBattleRuleset_GetRuleValue(&menu->fieldSystem->linkBattleRuleset->rules[0], LINKBATTLERULE_SOUL_DEW_CLAUSE) == FLAG_RULESET_BAN_SOUL_DEW) { + if (LinkBattleRuleset_GetRuleValue(&menu->fieldSystem->linkBattleRuleset[0], LINKBATTLERULE_SOUL_DEW_CLAUSE) == FLAG_RULESET_BAN_SOUL_DEW) { valueMessage = CommunicationClub_Text_Limit2; // Limit 2 } else if (ruleValue == 0) { valueMessage++; @@ -353,13 +353,13 @@ static void BattleRegulationMenu_ShowRules(BattleRegulationMenu *menu) { } break; } - + ReadMsgDataIntoString(msgData, valueMessage, fmtString); StringExpandPlaceholders(messageFormat, destString, fmtString); int valueWidth = FontID_String_GetWidth(0, destString, 0); int valueXOffset = xRightSide - valueWidth; - + AddTextPrinterParameterized(window, 0, destString, valueXOffset, yOffset + lineHeight * i, 0xFF, NULL); } String_Delete(fmtString); @@ -375,21 +375,21 @@ static void BattleRegulationMenu_RemoveRulesWindow(BattleRegulationMenu *menu) { } static BOOL BattleRegulationMenu_HandleValidationResult(BattleRegulationMenu *menu) { - int result = sub_02074CD0(&menu->fieldSystem->linkBattleRuleset->rules[0], SaveArray_Party_Get(menu->fieldSystem->saveData), menu->pokedexData); + int result = sub_02074CD0(&menu->fieldSystem->linkBattleRuleset[0], SaveArray_Party_Get(menu->fieldSystem->saveData), menu->pokedexData); switch (result) { case BATTLE_REGULATION_VALIDATION_RESULT_SUCCESS: return TRUE; case BATTLE_REGULATION_VALIDATION_RESULT_INVALID_TEAM_SIZE: PlaySE(SEQ_SE_DP_BOX03); BattleRegulationMenu_GetRegulationName(menu, menu->itemsAbove[REGULATION_MENU_REGULATIONS] - 1); - BufferIntegerAsString(menu->messageFormat, 1, LinkBattleRuleset_GetRuleValue(&menu->fieldSystem->linkBattleRuleset->rules[0], LINKBATTLERULE_PARTY_COUNT), 1, PRINTING_MODE_RIGHT_ALIGN, TRUE); + BufferIntegerAsString(menu->messageFormat, 1, LinkBattleRuleset_GetRuleValue(&menu->fieldSystem->linkBattleRuleset[0], LINKBATTLERULE_PARTY_COUNT), 1, PRINTING_MODE_RIGHT_ALIGN, TRUE); BattleRegulationMenu_PrintMessage(menu, msg_0046_NeedXPokemonForCup); // You need at least {STRVAR_1 50, 1, 0} Pokémon\nthat qualify under the\f{STRVAR_1 26, 0, 0} Cup rules. break; default: case BATTLE_REGULATION_VALIDATION_RESULT_TOTAL_LEVEL_EXCEEDED: PlaySE(SEQ_SE_DP_BOX03); BattleRegulationMenu_GetRegulationName(menu, menu->itemsAbove[REGULATION_MENU_REGULATIONS] - 1); - BufferIntegerAsString(menu->messageFormat, 1, LinkBattleRuleset_GetRuleValue(&menu->fieldSystem->linkBattleRuleset->rules[0], LINKBATTLERULE_MAX_TOTAL_LEVEL), 3, PRINTING_MODE_LEFT_ALIGN, TRUE); + BufferIntegerAsString(menu->messageFormat, 1, LinkBattleRuleset_GetRuleValue(&menu->fieldSystem->linkBattleRuleset[0], LINKBATTLERULE_MAX_TOTAL_LEVEL), 3, PRINTING_MODE_LEFT_ALIGN, TRUE); BattleRegulationMenu_PrintMessage(menu, msg_0046_CantFormTeamWithLevelLimit); // It’s impossible to form a team of\nPokémon that qualify under the\f{STRVAR_1 26, 0, 0} Cup rules with a\ftotal level limit of {STRVAR_1 52, 1, 0}. break; } @@ -534,9 +534,9 @@ void ov03_022566D0(FieldSystem *fieldSystem, MessageFormat *messageFormat, u32 r void ov03_02256710(FieldSystem *fieldSystem, u16 arg1) { if (arg1 == 12 || arg1 == 6) { - &fieldSystem->linkBattleRuleset->rules[0] = NULL; + fieldSystem->linkBattleRuleset = NULL; } else { - &fieldSystem->linkBattleRuleset->rules[0] = sub_020291E8(fieldSystem->saveData, arg1); + fieldSystem->linkBattleRuleset = sub_020291E8(fieldSystem->saveData, arg1); } } @@ -564,7 +564,7 @@ void ov03_02256730(FieldSystem *fieldSystem, Window *window, u32 ruleset) { for (int i = 0; i < RULES_COUNT; i++) { ReadMsgDataIntoString(msgData, i + CommunicationClub_Text_RuleNoOfPokemon, fmtString); // // Prints rule names. AddTextPrinterParameterized(window, 0, fmtString, xOffset, yOffset + lineHeight * i, TEXT_SPEED_NOTRANSFER, NULL); - ruleValue = LinkBattleRuleset_GetRuleValue(&fieldSystem->linkBattleRuleset->rules[0], (LinkBattleRule)sLinkBattleRules[i]); + ruleValue = LinkBattleRuleset_GetRuleValue(&fieldSystem->linkBattleRuleset[0], (LinkBattleRule)sLinkBattleRules[i]); valueMessage = sLinkBattleRuleValueMessages[i]; switch (sLinkBattleRules[i]) { case LINKBATTLERULE_PARTY_COUNT: @@ -600,7 +600,7 @@ void ov03_02256730(FieldSystem *fieldSystem, Window *window, u32 ruleset) { } break; case LINKBATTLERULE_UBERS_CLAUSE: - if (LinkBattleRuleset_GetRuleValue(&fieldSystem->linkBattleRuleset->rules[0], LINKBATTLERULE_SOUL_DEW_CLAUSE) == FLAG_RULESET_BAN_SOUL_DEW) { + if (LinkBattleRuleset_GetRuleValue(&fieldSystem->linkBattleRuleset[0], LINKBATTLERULE_SOUL_DEW_CLAUSE) == FLAG_RULESET_BAN_SOUL_DEW) { valueMessage = CommunicationClub_Text_Limit2; // Limit 2 } else if (ruleValue == 0) { valueMessage++; @@ -616,7 +616,7 @@ void ov03_02256730(FieldSystem *fieldSystem, Window *window, u32 ruleset) { } ReadMsgDataIntoString(msgData, valueMessage, fmtString); StringExpandPlaceholders(messageFormat, destString, fmtString); - + int valueWidth = FontID_String_GetWidth(0, destString, 0); int valueXOffset = xRightSide - valueWidth; AddTextPrinterParameterized(window, 0, destString, valueXOffset, yOffset + lineHeight * i, TEXT_SPEED_NOTRANSFER, NULL); @@ -642,58 +642,57 @@ u16 ov03_02256A2C(FieldSystem *fieldSystem, MessageFormat *messageFormat, u32 ru } unkValue = validMons < 2 ? 7 : 0; } else { - unkValue = sub_02074CD0(&fieldSystem->linkBattleRuleset->rules[0], party, pokedexData); + unkValue = sub_02074CD0(&fieldSystem->linkBattleRuleset[0], party, pokedexData); } PokedexData_UnloadAndDelete(pokedexData); int ruleValue; - switch (unkValue) - { - case 0: - return 0; - case 4: - ov03_022566D0(fieldSystem, messageFormat, ruleset); - ruleValue = LinkBattleRuleset_GetRuleValue(&fieldSystem->linkBattleRuleset->rules[0], LINKBATTLERULE_PARTY_COUNT); - BufferIntegerAsString(messageFormat, 1, ruleValue, 1, PRINTING_MODE_RIGHT_ALIGN, TRUE); - return 1; - case 7: - ov03_022566D0(fieldSystem, messageFormat, ruleset); - BufferIntegerAsString(messageFormat, 1, 2, 1, PRINTING_MODE_RIGHT_ALIGN, TRUE); - return 1; - case 1: - case 2: - case 3: - case 5: - case 6: - default: - ov03_022566D0(fieldSystem, messageFormat, ruleset); - ruleValue = LinkBattleRuleset_GetRuleValue(&fieldSystem->linkBattleRuleset->rules[0], LINKBATTLERULE_MAX_TOTAL_LEVEL); - BufferIntegerAsString(messageFormat, 1, ruleValue, 3, PRINTING_MODE_LEFT_ALIGN, TRUE); - return 2; + switch (unkValue) { + case 0: + return 0; + case 4: + ov03_022566D0(fieldSystem, messageFormat, ruleset); + ruleValue = LinkBattleRuleset_GetRuleValue(&fieldSystem->linkBattleRuleset[0], LINKBATTLERULE_PARTY_COUNT); + BufferIntegerAsString(messageFormat, 1, ruleValue, 1, PRINTING_MODE_RIGHT_ALIGN, TRUE); + return 1; + case 7: + ov03_022566D0(fieldSystem, messageFormat, ruleset); + BufferIntegerAsString(messageFormat, 1, 2, 1, PRINTING_MODE_RIGHT_ALIGN, TRUE); + return 1; + case 1: + case 2: + case 3: + case 5: + case 6: + default: + ov03_022566D0(fieldSystem, messageFormat, ruleset); + ruleValue = LinkBattleRuleset_GetRuleValue(&fieldSystem->linkBattleRuleset[0], LINKBATTLERULE_MAX_TOTAL_LEVEL); + BufferIntegerAsString(messageFormat, 1, ruleValue, 3, PRINTING_MODE_LEFT_ALIGN, TRUE); + return 2; } } u32 ov03_02256B40(int arg0) { u32 unkValue = arg0; switch (unkValue) { - case 6: - return 0xFF; - case 7: - return 0; - case 8: - return 3; - case 9: - return 4; - case 10: - case 11: - return -1; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - default: - break; + case 6: + return 0xFF; + case 7: + return 0; + case 8: + return 3; + case 9: + return 4; + case 10: + case 11: + return -1; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + default: + break; } if (unkValue >= 9) { unkValue = 0xFF; diff --git a/src/overlay_03/communication_club.c b/src/overlay_03/communication_club.c index aa0b9d5376..95b966ce4f 100644 --- a/src/overlay_03/communication_club.c +++ b/src/overlay_03/communication_club.c @@ -1,12 +1,16 @@ -#include "overlay_01.h" -#include "overlay_03.h" +#include "global.h" + +#include "constants/comm_type.h" + +#include "msgdata/msg.naix" +#include "msgdata/msg/msg_0182.h" #include "field_system.h" -#include "global.h" +#include "overlay_01.h" +#include "overlay_03.h" #include "render_text.h" #include "task.h" #include "text.h" - #include "unk_02005D10.h" #include "unk_02034354.h" #include "unk_02034B0C.h" @@ -15,11 +19,6 @@ #include "unk_02037C94.h" #include "unk_02058034.h" -#include "constants/comm_type.h" - -#include "msgdata/msg.naix" -#include "msgdata/msg/msg_0182.h" - typedef struct CommClubManager CommClubManager; typedef void (*CommClubManagerTaskFunc)(SysTask *, void *); typedef void (*UnkFuncPtr_CommClub)(CommClubManager *); @@ -51,7 +50,7 @@ struct CommClubManager { u8 unk98; u8 unk99; u16 unk9A; - void *unk9C; + const u32 *unk9C; u8 unkA0; u8 unkA1; u16 unkA2; @@ -65,7 +64,7 @@ static void ov03_02254100(struct ListMenu *list_unused, s32 index_unused, u8 onI static void ov03_02254120(struct ListMenu *list, s32 index_unused, u8 y_unused); static void ov03_02254420(); static void ov03_02254500(void *arg0, CommClubManager *commClubManager); -static void ov03_02254600(CommClubManager* commClubManager_unused); +static void ov03_02254600(CommClubManager *commClubManager_unused); static void ov03_02254660(void *arg0, CommClubManager *commClubManager); static void ov03_022546B0(void *arg0, CommClubManager *commClubManager); static BOOL ov03_022547D8(void *arg0, CommClubManager *commClubManager); @@ -73,7 +72,7 @@ static void ov03_022548E0(void *arg0, CommClubManager *commClubManager); static void ov03_0225499C(void *arg0, CommClubManager *commClubManager); static void ov03_022549D8(void *arg0, CommClubManager *commClubManager); static void ov03_02254B44(); -static void ov03_02254B4C(void* arg0); +static void ov03_02254B4C(void *arg0); static void ov03_02254D64(SysTask *task, void *arg1); static void ov03_02254D78(s32 arg0_unused, CommClubManager *commClubManager); static void ov03_02254E70(void *arg0, CommClubManager *commClubManager); @@ -86,7 +85,7 @@ static void ov03_02255404(void *arg0, CommClubManager *commClubManager); static void ov03_022554E0(void *arg0, CommClubManager *commClubManager); static void ov03_0225554C(SysTask *task, void *commClubManager_unused); static void ov03_0225558C(void *arg0, CommClubManager *commClubManager); -static void ov03_022555F4(void* arg0_unused, CommClubManager* commClubManager); +static void ov03_022555F4(void *arg0_unused, CommClubManager *commClubManager); static void ov03_0225562C(void *arg0, CommClubManager *commClubManager); static void ov03_022556BC(void *arg0, CommClubManager *commClubManager); static void ov03_02255714(s32 arg0_unused, CommClubManager *commClubManager); @@ -112,7 +111,7 @@ static BOOL ov03_02255CA0(CommClubManager *commClubManager); static BOOL ov03_02255CD0(CommClubManager *commClubManager); static void ov03_02255CE4(CommClubManager *commClubManager); -static CommClubManager* sCommClubManager = NULL; +static CommClubManager *sCommClubManager = NULL; static const u32 ov03_0225912C = 335; static const u32 ov03_02259130 = 334; @@ -128,25 +127,25 @@ static const u32 ov03_02259134[2] = { }; static const ListMenuTemplate ov03_02259164 = { - .items = NULL, - .moveCursorFunc = ov03_02254100, - .itemPrintFunc = ov03_02254120, - .window = NULL, - .totalItems = 16, + .items = NULL, + .moveCursorFunc = ov03_02254100, + .itemPrintFunc = ov03_02254120, + .window = NULL, + .totalItems = 16, .maxShowed = 5, - .header_X = 0, - .item_X = 8, - .cursor_X = 0, - .upText_Y = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 0, .cursorPal = 1, .fillValue = 15, .cursorShadowPal = 2, .lettersSpacing = 0, - .itemVerticalPadding = 16, + .itemVerticalPadding = 0, .scrollMultiple = 1, .fontId = 0, .cursorKind = 0, - .data = NULL + .data = NULL }; static const ListMenuTemplate ov03_02259144 = { @@ -164,7 +163,7 @@ static const ListMenuTemplate ov03_02259144 = { .fillValue = 15, .cursorShadowPal = 2, .lettersSpacing = 0, - .itemVerticalPadding = 16, + .itemVerticalPadding = 0, .scrollMultiple = 1, .fontId = 0, .cursorKind = 1, @@ -248,13 +247,13 @@ static void Unk03_Delete() { MessageFormat_Delete(sCommClubManager->messageFormat[2]); sCommClubManager->messageFormat[2] = NULL; } - + DestroyMsgData(sCommClubManager->msgData); if (sCommClubManager->windows[2].pixelBuffer) { RemoveWindow(&sCommClubManager->windows[2]); } - + Heap_Free(sCommClubManager); sCommClubManager = NULL; } @@ -303,7 +302,7 @@ static void ov03_02254150(ListMenu *list, u16 cursorPos_unused, u8 itemsAbove) { } } -static void ov03_022542C8(CommClubManager* commClubManager) { +static void ov03_022542C8(CommClubManager *commClubManager) { if (WindowIsInUse(&sCommClubManager->windows[1]) == FALSE) { AddWindowParameterized(sCommClubManager->fieldSystem->bgConfig, &sCommClubManager->windows[1], 3, 23, 2, 8, 4, 13, 201); } @@ -313,14 +312,14 @@ static void ov03_022542C8(CommClubManager* commClubManager) { commClubManager->unk97 = 1; SysTask_CreateOnMainQueue(ov03_02254D64, commClubManager, 0); ov03_022543AC(sCommClubManager); - + u16 sChooseText[NUM_COMM_TYPES] = { CommunicationClub_Text_00048_Dummy, - CommunicationClub_Text_Choose_SingleBattle, // Choose the Single Battle you would like to join. - CommunicationClub_Text_Choose_DoubleBattle, // Choose the Double Battle you would like to join. - CommunicationClub_Text_Choose_MixBattle, // Choose the Mix Battle you would like to join. - CommunicationClub_Text_Choose_MultiBattle, // Choose the Multi Battle you would like to join. - CommunicationClub_Text_Choose_MultiBattle, // Choose the Multi Battle you would like to join. + CommunicationClub_Text_Choose_SingleBattle, // Choose the Single Battle you would like to join. + CommunicationClub_Text_Choose_DoubleBattle, // Choose the Double Battle you would like to join. + CommunicationClub_Text_Choose_MixBattle, // Choose the Mix Battle you would like to join. + CommunicationClub_Text_Choose_MultiBattle, // Choose the Multi Battle you would like to join. + CommunicationClub_Text_Choose_MultiBattle, // Choose the Multi Battle you would like to join. CommunicationClub_Text_00056_Dummy, CommunicationClub_Text_00057_Dummy, CommunicationClub_Text_00058_Dummy, // Unreachable. @@ -331,7 +330,7 @@ static void ov03_022542C8(CommClubManager* commClubManager) { 0, 0, 0, - CommunicationClub_Text_ChooseFriend_BattleTower, // Choose the friend you want to take to the Battle Tower. + CommunicationClub_Text_ChooseFriend_BattleTower, // Choose the friend you want to take to the Battle Tower. 0, 0, 0, @@ -342,12 +341,12 @@ static void ov03_022542C8(CommClubManager* commClubManager) { 0, 0, 0, - CommunicationClub_Text_ChooseFriend_BattleFactory_Lv50, // Choose the friend to play with at the Battle Factory--Level 50. - CommunicationClub_Text_ChooseFriend_BattleFactory_Open, // Choose the friend to play with at the Battle Factory--Open Level. + CommunicationClub_Text_ChooseFriend_BattleFactory_Lv50, // Choose the friend to play with at the Battle Factory--Level 50. + CommunicationClub_Text_ChooseFriend_BattleFactory_Open, // Choose the friend to play with at the Battle Factory--Open Level. 0, - CommunicationClub_Text_ChooseFriend_BattleHall, // Choose the friend to play with at the Battle Hall. - CommunicationClub_Text_ChooseFriend_BattleCastle, // Choose the friend to play with at the Battle Castle. - CommunicationClub_Text_ChooseFriend_BattleArcade, // Choose the friend to play with at the Battle Arcade. + CommunicationClub_Text_ChooseFriend_BattleHall, // Choose the friend to play with at the Battle Hall. + CommunicationClub_Text_ChooseFriend_BattleCastle, // Choose the friend to play with at the Battle Castle. + CommunicationClub_Text_ChooseFriend_BattleArcade, // Choose the friend to play with at the Battle Arcade. 0, 0, 0, @@ -368,7 +367,7 @@ static void ov03_022542C8(CommClubManager* commClubManager) { ov03_02254B4C(&ov03_02254420); } -static void ov03_022543AC(CommClubManager* commClubManager_unused) { +static void ov03_022543AC(CommClubManager *commClubManager_unused) { BufferPlayersName(sCommClubManager->messageFormat[1], 0, sCommClubManager->playerProfile[0]); BufferIntegerAsString(sCommClubManager->messageFormat[1], 1, PlayerProfile_GetTrainerID(sCommClubManager->playerProfile[0]) % 0x10000, 5, PRINTING_MODE_LEADING_ZEROS, TRUE); ReadMsgDataIntoString(sCommClubManager->msgData, CommunicationClub_Text_ID_2, sCommClubManager->string[6]); // {STRVAR_1 3, 0, 0}\nID{STRVAR_1 54, 1, 0} @@ -385,10 +384,10 @@ static void ov03_02254420() { StringExpandPlaceholders(sCommClubManager->messageFormat[0], sCommClubManager->string[0], sCommClubManager->string[1]); ListMenuItems_AddItem(sCommClubManager->items, sCommClubManager->string[0], 0); }; - + ov03_02253ED0(ov03_02259164, 1, 2, 20, 10, 1); - - sCommClubManager->unk9C = &ov03_02259134; + + sCommClubManager->unk9C = ov03_02259134; sCommClubManager->unkA0 = 2; sCommClubManager->unkA2 = 0xFFFF; sCommClubManager->unkA1 = 0; @@ -421,11 +420,11 @@ static void ov03_02254500(void *arg0, CommClubManager *commClubManager) { } else { listInput = -1; } - switch(listInput) { + switch (listInput) { case -1: ov03_02254600(commClubManager); break; - + case -2: PlaySE(SEQ_SE_DP_SELECT); sCommClubManager->retCode = 1; @@ -535,7 +534,7 @@ static BOOL ov03_022547D8(void *arg0, CommClubManager *commClubManager) { return TRUE; } -static void ov03_022548E0(void *arg0, CommClubManager* unk_ovo3) { +static void ov03_022548E0(void *arg0, CommClubManager *unk_ovo3) { if (IsPrintFinished(sCommClubManager->printerID)) { if (unk_ovo3->unkA8 == 0) { sCommClubManager->unk9C = &ov03_0225912C; @@ -544,12 +543,10 @@ static void ov03_022548E0(void *arg0, CommClubManager* unk_ovo3) { sCommClubManager->unkA1 = 0; ov01_021F6A9C(sCommClubManager->fieldSystem, 7, &sCommClubManager->unk9C); unk_ovo3->unkA8 = 1; - } - else if (ov01_021F6B10(unk_ovo3->fieldSystem) == TRUE) { + } else if (ov01_021F6B10(unk_ovo3->fieldSystem) == TRUE) { if (ov03_022547D8(arg0, unk_ovo3)) { unk_ovo3->unkA1 = 2; - } - else if (PAD_BUTTON_B & gSystem.newKeys || unk_ovo3->unkA2 == 0) { + } else if (PAD_BUTTON_B & gSystem.newKeys || unk_ovo3->unkA2 == 0) { PlaySE(SEQ_SE_DP_SELECT); unk_ovo3->unkA8 = 0; ov03_02253E20(3, FALSE); @@ -581,8 +578,7 @@ static void ov03_022549D8(void *arg0, CommClubManager *commClubManager) { if (ov03_02255CD0(commClubManager)) { if (ov03_022547D8(arg0, commClubManager)) { ov03_02255CE4(commClubManager); - } - else if (ov01_021F6AEC(commClubManager->fieldSystem) == 6) { + } else if (ov01_021F6AEC(commClubManager->fieldSystem) == 6) { if (commClubManager->unkA4 == 0) { ov03_0225574C(arg0, commClubManager); ov03_02253E20(6, FALSE); @@ -621,7 +617,7 @@ static void ov03_02254B44() { sub_02058284(); } -static void ov03_02254B4C(void* arg0) { +static void ov03_02254B4C(void *arg0) { sCommClubManager->commClubTask = arg0; } @@ -642,14 +638,14 @@ static void ov03_02254B58(CommClubManager *commClubManager) { static void ov03_02254BEC() { u16 sAwaitingContactText[NUM_COMM_TYPES] = { CommunicationClub_Text_00007_Dummy, - CommunicationClub_Text_AwaitingContact_SingleBattle, // Single Battle! Awaiting contact from your friend. - CommunicationClub_Text_AwaitingContact_DoubleBattle, // Double Battle! Awaiting contact from your friend. - CommunicationClub_Text_AwaitingContact_MixBattle, // Mix Battle! Awaiting contact from your friend. - CommunicationClub_Text_AwaitingContact_MultiBattle, // Multi Battle! Awaiting contact from your friends. - CommunicationClub_Text_AwaitingContact_MultiBattle, // Multi Battle! Awaiting contact from your friends. - CommunicationClub_Text_ProceedWhenReady, // When the group is ready: A Button: Proceed B Button: Cancel + CommunicationClub_Text_AwaitingContact_SingleBattle, // Single Battle! Awaiting contact from your friend. + CommunicationClub_Text_AwaitingContact_DoubleBattle, // Double Battle! Awaiting contact from your friend. + CommunicationClub_Text_AwaitingContact_MixBattle, // Mix Battle! Awaiting contact from your friend. + CommunicationClub_Text_AwaitingContact_MultiBattle, // Multi Battle! Awaiting contact from your friends. + CommunicationClub_Text_AwaitingContact_MultiBattle, // Multi Battle! Awaiting contact from your friends. + CommunicationClub_Text_ProceedWhenReady, // When the group is ready: A Button: Proceed B Button: Cancel CommunicationClub_Text_00016_Dummy, - CommunicationClub_Text_ProceedWhenReady_2, // When the group is ready: A Button: Proceed B Button: Cancel + CommunicationClub_Text_ProceedWhenReady_2, // When the group is ready: A Button: Proceed B Button: Cancel 0, 0, 0, @@ -657,7 +653,7 @@ static void ov03_02254BEC() { 0, 0, 0, - CommunicationClub_Text_AwaitingContact_BattleTower, // Battle Tower! Awaiting contact from your friend. + CommunicationClub_Text_AwaitingContact_BattleTower, // Battle Tower! Awaiting contact from your friend. 0, 0, 0, @@ -668,19 +664,19 @@ static void ov03_02254BEC() { 0, 0, 0, - CommunicationClub_Text_AwaitingContact_BattleFactory_Lv50, // Battle Factory--Level 50! Awaiting contact from your friend. - CommunicationClub_Text_AwaitingContact_BattleFactory_Open, // Battle Factory--Open Level! Awaiting contact from your friend. + CommunicationClub_Text_AwaitingContact_BattleFactory_Lv50, // Battle Factory--Level 50! Awaiting contact from your friend. + CommunicationClub_Text_AwaitingContact_BattleFactory_Open, // Battle Factory--Open Level! Awaiting contact from your friend. 0, - CommunicationClub_Text_AwaitingContact_BattleHall, // Battle Hall! Awaiting contact from your friend. - CommunicationClub_Text_AwaitingContact_BattleCastle, // Battle Castle! Awaiting contact from your friend. - CommunicationClub_Text_AwaitingContact_BattleArcade, // Battle Arcade! Awaiting contact from your friend. + CommunicationClub_Text_AwaitingContact_BattleHall, // Battle Hall! Awaiting contact from your friend. + CommunicationClub_Text_AwaitingContact_BattleCastle, // Battle Castle! Awaiting contact from your friend. + CommunicationClub_Text_AwaitingContact_BattleArcade, // Battle Arcade! Awaiting contact from your friend. 0, 0, 0, 0, - CommunicationClub_Text_AwaitingContact_FlatBattle, // Flat Battle! Awaiting contact from your friend. - CommunicationClub_Text_AwaitingContact_FlatBattle, // Flat Battle! Awaiting contact from your friend. - CommunicationClub_Text_AwaitingContact_SafariZoneLink, // Safari Zone Link! Awaiting contact from your friend. + CommunicationClub_Text_AwaitingContact_FlatBattle, // Flat Battle! Awaiting contact from your friend. + CommunicationClub_Text_AwaitingContact_FlatBattle, // Flat Battle! Awaiting contact from your friend. + CommunicationClub_Text_AwaitingContact_SafariZoneLink, // Safari Zone Link! Awaiting contact from your friend. 0 }; @@ -688,13 +684,13 @@ static void ov03_02254BEC() { GF_AssertFail(); } - if (sCommClubManager->commType == 8) { + if (sCommClubManager->commType == COMM_TYPE_8) { if (sub_020347A0() > 1) { ov03_02253E20(sCommClubManager->unk92 + 127, FALSE); } else { ov03_02253E20(sCommClubManager->unk92 + 117, FALSE); } - } else if (sCommClubManager->commType == 40) { + } else if (sCommClubManager->commType == COMM_TYPE_POKEATHLON) { if (sub_020347A0() > 1) { ov03_02253E20(sCommClubManager->unk92 + 154, FALSE); } else { @@ -726,14 +722,14 @@ static void ov03_02254C9C(CommClubManager *commClubManager_unused) { static void ov03_02254D24(u32 arg0, CommClubManager *commClubManager) { u16 sContactedText[NUM_COMM_TYPES] = { CommunicationClub_Text_00024_Dummy, - CommunicationClub_Text_Contacted_SingleBattle, // {STRVAR_1 3, 1, 0} has contacted you. Start a Single Battle? - CommunicationClub_Text_Contacted_DoubleBattle, // {STRVAR_1 3, 1, 0} has contacted you. Start a Double Battle? - CommunicationClub_Text_Contacted_MixBattle, // {STRVAR_1 3, 1, 0} has contacted you. Start a Mix Battle? - CommunicationClub_Text_Contacted_MultiBattle, // {STRVAR_1 3, 1, 0} has contacted you. Let {STRVAR_1 3, 1, 0} join your group? - CommunicationClub_Text_Contacted_MultiBattle, // {STRVAR_1 3, 1, 0} has contacted you. Let {STRVAR_1 3, 1, 0} join your group? + CommunicationClub_Text_Contacted_SingleBattle, // {STRVAR_1 3, 1, 0} has contacted you. Start a Single Battle? + CommunicationClub_Text_Contacted_DoubleBattle, // {STRVAR_1 3, 1, 0} has contacted you. Start a Double Battle? + CommunicationClub_Text_Contacted_MixBattle, // {STRVAR_1 3, 1, 0} has contacted you. Start a Mix Battle? + CommunicationClub_Text_Contacted_MultiBattle, // {STRVAR_1 3, 1, 0} has contacted you. Let {STRVAR_1 3, 1, 0} join your group? + CommunicationClub_Text_Contacted_MultiBattle, // {STRVAR_1 3, 1, 0} has contacted you. Let {STRVAR_1 3, 1, 0} join your group? CommunicationClub_Text_00037_Dummy, - CommunicationClub_Text_Contacted_MultiBattle, // {STRVAR_1 3, 1, 0} has contacted you. Let {STRVAR_1 3, 1, 0} join your group? - CommunicationClub_Text_Contacted_MultiBattle, // {STRVAR_1 3, 1, 0} has contacted you. Let {STRVAR_1 3, 1, 0} join your group? + CommunicationClub_Text_Contacted_MultiBattle, // {STRVAR_1 3, 1, 0} has contacted you. Let {STRVAR_1 3, 1, 0} join your group? + CommunicationClub_Text_Contacted_MultiBattle, // {STRVAR_1 3, 1, 0} has contacted you. Let {STRVAR_1 3, 1, 0} join your group? 0, 0, 0, @@ -741,7 +737,7 @@ static void ov03_02254D24(u32 arg0, CommClubManager *commClubManager) { 0, 0, 0, - CommunicationClub_Text_Contacted_BattleTower, // {STRVAR_1 3, 1, 0} has contacted you. Take Battle Tower challenge? + CommunicationClub_Text_Contacted_BattleTower, // {STRVAR_1 3, 1, 0} has contacted you. Take Battle Tower challenge? 0, 0, 0, @@ -752,22 +748,22 @@ static void ov03_02254D24(u32 arg0, CommClubManager *commClubManager) { 0, 0, 0, - CommunicationClub_Text_Contacted_BattleFactory, // {STRVAR_1 3, 1, 0} has contacted you. Take Battle Factory challenge? - CommunicationClub_Text_Contacted_BattleFactory, // {STRVAR_1 3, 1, 0} has contacted you. Take Battle Factory challenge? + CommunicationClub_Text_Contacted_BattleFactory, // {STRVAR_1 3, 1, 0} has contacted you. Take Battle Factory challenge? + CommunicationClub_Text_Contacted_BattleFactory, // {STRVAR_1 3, 1, 0} has contacted you. Take Battle Factory challenge? 0, - CommunicationClub_Text_Contacted_BattleHall, // {STRVAR_1 3, 1, 0} has contacted you. Start the Battle Hall challenge? - CommunicationClub_Text_Contacted_BattleCastle, // {STRVAR_1 3, 1, 0} has contacted you. Take Battle Castle challenge? - CommunicationClub_Text_Contacted_BattleArcade, // {STRVAR_1 3, 1, 0} has contacted you. Take Battle Arcade challenge? + CommunicationClub_Text_Contacted_BattleHall, // {STRVAR_1 3, 1, 0} has contacted you. Start the Battle Hall challenge? + CommunicationClub_Text_Contacted_BattleCastle, // {STRVAR_1 3, 1, 0} has contacted you. Take Battle Castle challenge? + CommunicationClub_Text_Contacted_BattleArcade, // {STRVAR_1 3, 1, 0} has contacted you. Take Battle Arcade challenge? 0, 0, 0, 0, - CommunicationClub_Text_Contacted_FlatBattle, // {STRVAR_1 3, 1, 0} has contacted you. Start a Flat Battle? - CommunicationClub_Text_Contacted_FlatBattle, // {STRVAR_1 3, 1, 0} has contacted you. Start a Flat Battle? - CommunicationClub_Text_Contacted_SafariZoneLink, // {STRVAR_1 3, 1, 0} has contacted you. Start a Safari Zone Link? - CommunicationClub_Text_Contacted_Pokeathlon // {STRVAR_1 3, 1, 0} has contacted you. Let {STRVAR_1 3, 1, 0} join your group? + CommunicationClub_Text_Contacted_FlatBattle, // {STRVAR_1 3, 1, 0} has contacted you. Start a Flat Battle? + CommunicationClub_Text_Contacted_FlatBattle, // {STRVAR_1 3, 1, 0} has contacted you. Start a Flat Battle? + CommunicationClub_Text_Contacted_SafariZoneLink, // {STRVAR_1 3, 1, 0} has contacted you. Start a Safari Zone Link? + CommunicationClub_Text_Contacted_Pokeathlon // {STRVAR_1 3, 1, 0} has contacted you. Let {STRVAR_1 3, 1, 0} join your group? }; - + PlayerProfile *profile = sub_02034818(arg0); if (profile) { BufferPlayersName(commClubManager->messageFormat[2], 1, profile); @@ -797,7 +793,7 @@ static void ov03_02254D78(s32 arg0_unused, CommClubManager *commClubManager) { ov03_02253ED0(ov03_02259144, 1, 2, 17, 12, 1); ov03_02254B4C(&ov03_02254E70); if (ov03_02255B84() > 2) { - sCommClubManager->unk9C = &ov03_0225913C; + sCommClubManager->unk9C = ov03_0225913C; sCommClubManager->unkA0 = 2; } else { sCommClubManager->unk9C = &ov03_02259130; @@ -813,9 +809,9 @@ static void ov03_02254E70(void *arg0, CommClubManager *commClubManager) { if (ov01_021F6B10(commClubManager->fieldSystem) != 1) { return; } - + ov03_02254C9C(commClubManager); - + for (int i = 0; i < 8; i++) { if (sub_02034714(i) && i != 0) { sCommClubManager->unk80[i] = 1; @@ -828,7 +824,7 @@ static void ov03_02254E70(void *arg0, CommClubManager *commClubManager) { sCommClubManager->unk98 = 1; } }; - + if (sCommClubManager->unk98) { sCommClubManager->unk98 = 0; RedrawListMenu(sCommClubManager->listMenu); @@ -836,7 +832,7 @@ static void ov03_02254E70(void *arg0, CommClubManager *commClubManager) { ov03_02254A54(sCommClubManager->listMenu, 0, i); }; } - + s32 listState = ListMenu_ProcessInput(commClubManager->listMenu); if (sub_02034780() != 0xFF) { commClubManager->unk95 = sub_02034780(); @@ -852,7 +848,7 @@ static void ov03_02254E70(void *arg0, CommClubManager *commClubManager) { sCommClubManager->retCode = 3; return; } - + if (listState == LIST_NOTHING_CHOSEN) { if (ov03_02255B84() > 2) { if (sCommClubManager->unkA2 == 0) { @@ -863,9 +859,8 @@ static void ov03_02254E70(void *arg0, CommClubManager *commClubManager) { } else if (sCommClubManager->unkA2 == 0) { listState = LIST_CANCEL; } - } - + switch (listState) { case LIST_CANCEL: PlaySE(SEQ_SE_DP_SELECT); @@ -877,10 +872,10 @@ static void ov03_02254E70(void *arg0, CommClubManager *commClubManager) { 0, 0, 0, - CommunicationClub_Text_ConfirmGroup_MultiBattle, // Multi Battle! Is this group OK? - CommunicationClub_Text_ConfirmGroup_MultiBattle, // Multi Battle! Is this group OK? - CommunicationClub_Text_ConfirmGroup_MultiBattle, // Multi Battle! Is this group OK? - CommunicationClub_Text_ConfirmGroup, // Is this group OK? + CommunicationClub_Text_ConfirmGroup_MultiBattle, // Multi Battle! Is this group OK? + CommunicationClub_Text_ConfirmGroup_MultiBattle, // Multi Battle! Is this group OK? + CommunicationClub_Text_ConfirmGroup_MultiBattle, // Multi Battle! Is this group OK? + CommunicationClub_Text_ConfirmGroup, // Is this group OK? CommunicationClub_Text_00040_Dummy, CommunicationClub_Text_00041_Dummy, 0, @@ -936,34 +931,34 @@ static void ov03_02255078(void *arg0, CommClubManager *commClubManager) { return; } } - + if (ov03_02255CD0(commClubManager) == FALSE) { return; } - int i; - if (sub_020373B4(commClubManager->unk95) == FALSE) { - ov03_02255CE4(commClubManager); - if (commClubManager->commType == COMM_TYPE_8 || commClubManager->commType == COMM_TYPE_POKEATHLON) { - for (i = 1; i < ov03_02255B84(); i++) { - if (sub_020373B4(i)) { - sub_020346E8(i); - sub_02037B8C(5, i); - } + int i; + if (sub_020373B4(commClubManager->unk95) == FALSE) { + ov03_02255CE4(commClubManager); + if (commClubManager->commType == COMM_TYPE_8 || commClubManager->commType == COMM_TYPE_POKEATHLON) { + for (i = 1; i < ov03_02255B84(); i++) { + if (sub_020373B4(i)) { + sub_020346E8(i); + sub_02037B8C(5, i); } - ov03_02253E20(0, FALSE); - ov03_02254B4C(&ov03_022552C8); - } else { - sub_020346E8(commClubManager->unk95); - ov03_02253E20(0, FALSE); - ov03_02254B4C(&ov03_022552C8); } - } else if (sub_02037700() || ov03_02255C80()) { - ov03_02255CE4(commClubManager); + ov03_02253E20(0, FALSE); + ov03_02254B4C(&ov03_022552C8); + } else { sub_020346E8(commClubManager->unk95); ov03_02253E20(0, FALSE); ov03_02254B4C(&ov03_022552C8); - } else if (ov01_021F6AEC(commClubManager->fieldSystem) == 6) { - if (commClubManager->unkA4 == 0) { + } + } else if (sub_02037700() || ov03_02255C80()) { + ov03_02255CE4(commClubManager); + sub_020346E8(commClubManager->unk95); + ov03_02253E20(0, FALSE); + ov03_02254B4C(&ov03_022552C8); + } else if (ov01_021F6AEC(commClubManager->fieldSystem) == 6) { + if (commClubManager->unkA4 == 0) { if ((commClubManager->commType == COMM_TYPE_SINGLE_BATTLE || commClubManager->commType == COMM_TYPE_DOUBLE_BATTLE || commClubManager->commType == COMM_TYPE_FLAT_BATTLE_1 || commClubManager->commType == COMM_TYPE_FLAT_BATTLE_2) && sub_020348F0() == 0) { ov03_02253E20(116, FALSE); ov03_02254B4C(&ov03_02255280); @@ -1025,7 +1020,7 @@ static void ov03_0225530C(void *arg0_unused, CommClubManager *commClubManager) { if (IsPrintFinished(sCommClubManager->printerID)) { ov03_02254B4C(&ov03_02254E70); if (ov03_02255B84() > 2) { - sCommClubManager->unk9C = &ov03_0225913C; + sCommClubManager->unk9C = ov03_0225913C; sCommClubManager->unkA0 = 2; } else { sCommClubManager->unk9C = &ov03_02259130; @@ -1042,10 +1037,10 @@ static void ov03_02255388(void *arg0_unused, CommClubManager *commClubManager) { 0, 0, 0, - CommunicationClub_Text_ConfirmGroup_MultiBattle, // Multi Battle! Is this group OK? - CommunicationClub_Text_ConfirmGroup_MultiBattle, // Multi Battle! Is this group OK? - CommunicationClub_Text_ConfirmGroup_MultiBattle, // Multi Battle! Is this group OK? - CommunicationClub_Text_ConfirmGroup, // Is this group OK? + CommunicationClub_Text_ConfirmGroup_MultiBattle, // Multi Battle! Is this group OK? + CommunicationClub_Text_ConfirmGroup_MultiBattle, // Multi Battle! Is this group OK? + CommunicationClub_Text_ConfirmGroup_MultiBattle, // Multi Battle! Is this group OK? + CommunicationClub_Text_ConfirmGroup, // Is this group OK? CommunicationClub_Text_00040_Dummy, CommunicationClub_Text_00041_Dummy, 0, @@ -1105,7 +1100,7 @@ static void ov03_02255404(void *arg0, CommClubManager *commClubManager) { return; } } - + if (ov03_02255CD0(commClubManager)) { if (sub_02037700() || commClubManager->connectedCount != sub_02037454()) { ov03_02255CE4(commClubManager); @@ -1130,7 +1125,7 @@ static void ov03_02255404(void *arg0, CommClubManager *commClubManager) { sCommClubManager->retCode = 1; } } - } + } } } @@ -1201,9 +1196,9 @@ static void ov03_0225558C(void *arg0, CommClubManager *commClubManager) { 0, 0, 0, - CommunicationClub_Text_CancelGroup_MultiBattle, // Cancel a Multi Battle involving this group? - CommunicationClub_Text_CancelGroup_MultiBattle, // Cancel a Multi Battle involving this group? - CommunicationClub_Text_CancelGroup_MultiBattle, // Cancel a Multi Battle involving this group? + CommunicationClub_Text_CancelGroup_MultiBattle, // Cancel a Multi Battle involving this group? + CommunicationClub_Text_CancelGroup_MultiBattle, // Cancel a Multi Battle involving this group? + CommunicationClub_Text_CancelGroup_MultiBattle, // Cancel a Multi Battle involving this group? CommunicationClub_Text_00044_Dummy, CommunicationClub_Text_00045_Dummy, CommunicationClub_Text_00046_Dummy, @@ -1251,7 +1246,7 @@ static void ov03_0225558C(void *arg0, CommClubManager *commClubManager) { } } -static void ov03_022555F4(void* arg0_unused, CommClubManager* commClubManager) { +static void ov03_022555F4(void *arg0_unused, CommClubManager *commClubManager) { ov03_02254C9C(commClubManager); ListMenu_ProcessInput(commClubManager->listMenu); if (IsPrintFinished(sCommClubManager->printerID)) { @@ -1269,14 +1264,13 @@ static void ov03_0225562C(void *arg0, CommClubManager *commClubManager) { return; } } - + if (ov03_02255CD0(commClubManager)) { if (sub_02037700()) { ov03_02255CE4(commClubManager); ov03_02254BEC(); ov03_02254B4C(&ov03_0225530C); - } - else if (ov01_021F6AEC(commClubManager->fieldSystem) == 6) { + } else if (ov01_021F6AEC(commClubManager->fieldSystem) == 6) { if (commClubManager->unkA4 == 0) { ov03_02254B44(); ov03_0225574C(arg0, commClubManager); @@ -1299,7 +1293,7 @@ static void ov03_022556BC(void *arg0, CommClubManager *commClubManager) { ov03_0225574C(arg0, commClubManager); ov03_02255B44(commClubManager); } - } + } } static void ov03_02255714(s32 arg0_unused, CommClubManager *commClubManager) { @@ -1361,20 +1355,16 @@ static void ov03_02255860(u32 arg0_unused, CommClubManager *commClubManager) { static void ov03_022558C4(void *task, CommClubManager *commClubManager) { if (sub_0203769C() == 0 && commClubManager->connectedCount != sub_02037454()) { ov03_02254B4C(&ov03_02255A00); - } - else if (ov03_02255C80() || sub_02037700()) { + } else if (ov03_02255C80() || sub_02037700()) { ov03_02254B4C(&ov03_02255A00); return; - } - else if (sub_020373B4(0) == 0) { + } else if (sub_020373B4(0) == 0) { ov03_02254B4C(&ov03_02255A00); return; - } - else if (sub_02037BA0(0, 5) != -1) { + } else if (sub_02037BA0(0, 5) != -1) { ov03_02254B4C(&ov03_02255A00); return; - } - else if (sub_02037B38(10) && sub_02037A10()) { + } else if (sub_02037B38(10) && sub_02037A10()) { if (IsPrintFinished(sCommClubManager->printerID) == FALSE) { RemoveTextPrinter(sCommClubManager->printerID); } @@ -1383,7 +1373,7 @@ static void ov03_022558C4(void *task, CommClubManager *commClubManager) { SysTask_Destroy(task); return; } - + if (sCommClubManager->messageDelay != 0) { sCommClubManager->messageDelay--; if (sCommClubManager->messageDelay == 0) { @@ -1391,10 +1381,10 @@ static void ov03_022558C4(void *task, CommClubManager *commClubManager) { 0, 0, 0, - CommunicationClub_Text_GroupWaiting_MultiBattle, // Multi Battle! Waiting for the rest of the group. - CommunicationClub_Text_GroupWaiting_MultiBattle, // Multi Battle! Waiting for the rest of the group. - CommunicationClub_Text_GroupWaiting_MultiBattle, // Multi Battle! Waiting for the rest of the group. - CommunicationClub_Text_GroupWaiting, // Waiting for the rest of the group. + CommunicationClub_Text_GroupWaiting_MultiBattle, // Multi Battle! Waiting for the rest of the group. + CommunicationClub_Text_GroupWaiting_MultiBattle, // Multi Battle! Waiting for the rest of the group. + CommunicationClub_Text_GroupWaiting_MultiBattle, // Multi Battle! Waiting for the rest of the group. + CommunicationClub_Text_GroupWaiting, // Waiting for the rest of the group. CommunicationClub_Text_00072_Dummy, CommunicationClub_Text_00073_Dummy, 0, @@ -1510,7 +1500,7 @@ static int ov03_02255B98() { void ov03_02255BB0(FieldSystem *fieldSystem, u32 commType, u16 arg2, u16 arg3) { ov03_02253F74(fieldSystem); sCommClubManager->commType = commType; - if (commType - 3 <= 1) { + if (commType == COMM_TYPE_MIX_BATTLE || commType == COMM_TYPE_MULTI_BATTLE_1) { fieldSystem->linkBattleRuleset = NULL; } sCommClubManager->unk92 = arg2; @@ -1533,7 +1523,7 @@ u32 ov03_02255BFC() { void ov03_02255C18(FieldSystem *fieldSystem, u32 commType, u16 arg2, u16 arg3) { ov03_02253F74(fieldSystem); sCommClubManager->commType = commType; - if (commType - 3 <= 1) { + if (commType == COMM_TYPE_MIX_BATTLE || commType == COMM_TYPE_MULTI_BATTLE_1) { fieldSystem->linkBattleRuleset = NULL; } sCommClubManager->unk92 = arg2; diff --git a/src/overlay_03/custom_safari_zone.c b/src/overlay_03/custom_safari_zone.c index 8c8d0d5aa0..e8bf27bea4 100644 --- a/src/overlay_03/custom_safari_zone.c +++ b/src/overlay_03/custom_safari_zone.c @@ -1,14 +1,13 @@ +#include "global.h" + #include "overlay_01.h" #include "overlay_03.h" - -#include "global.h" #include "safari_zone.h" #include "task.h" #include "unk_02033AE0.h" #include "unk_02034354.h" #include "unk_02035900.h" #include "unk_020379A0.h" -#include "unk_020379A0.h" typedef struct UnkCommStruct { void (*func)(); @@ -17,14 +16,14 @@ typedef struct UnkCommStruct { } UnkCommStruct; // Size: 0x5D8 typedef struct UnkFuncs { - void (*unk0)(BOOL, u32, SafariZoneAreaSet*, UnkCommStruct*); + void (*unk0)(BOOL, u32, SafariZoneAreaSet *, UnkCommStruct *); u32 (*unk4)(); u32 (*unk8)(int, int); } UnkFuncs; static u32 ov03_02258828(); static u32 ov03_02258830(int mult, int arg1); -static void ov03_0225884C(BOOL unkBool, u32 arg1_unused, SafariZoneAreaSet *areaSetSrc, UnkCommStruct* unkCommStruct); +static void ov03_0225884C(BOOL unkBool, u32 arg1_unused, SafariZoneAreaSet *areaSetSrc, UnkCommStruct *unkCommStruct); static void ov03_02258810(void *ptr, UnkCommStruct *unkCommStruct) { unkCommStruct->func = ptr; @@ -51,7 +50,7 @@ static u32 ov03_02258830(int mult, int arg1) { return arg1 + 8 + (744 * mult); } -static void ov03_0225884C(BOOL unkBool, u32 arg1_unused, SafariZoneAreaSet *areaSetSrc, UnkCommStruct* unkCommStruct) { +static void ov03_0225884C(BOOL unkBool, u32 arg1_unused, SafariZoneAreaSet *areaSetSrc, UnkCommStruct *unkCommStruct) { if (unkBool != sub_0203769C()) { SafariZone_SetAreaSet(unkCommStruct->safariZone, 1, areaSetSrc); SafariZone_SetLinkLeaderFromProfile(unkCommStruct->safariZone, sub_02034818(unkBool), HEAP_ID_FIELD2); diff --git a/src/overlay_03/overlay_03_scrcmds.c b/src/overlay_03/overlay_03_scrcmds.c index e05769f5d6..109317ee1d 100644 --- a/src/overlay_03/overlay_03_scrcmds.c +++ b/src/overlay_03/overlay_03_scrcmds.c @@ -1,13 +1,13 @@ +#include "global.h" + +#include "field_system.h" +#include "launch_application.h" #include "overlay_01.h" #include "overlay_01_021F3610.h" #include "overlay_01_021F4704.h" #include "overlay_02.h" #include "overlay_03.h" #include "overlay_108.h" - -#include "field_system.h" -#include "global.h" -#include "launch_application.h" #include "safari_zone.h" #include "scrcmd.h" #include "unk_0205FD20.h" @@ -43,66 +43,66 @@ BOOL ScrCmd_719(ScriptContext *ctx) { BOOL ScrCmd_720(ScriptContext *ctx) { FieldSystem *fieldSystem = ctx->fieldSystem; FieldSysGetAttrAddr(fieldSystem, SCRIPTENV_MESSAGE_FORMAT); - + u32 areaID; SafariZoneAreaSet *areaSet; u16 *sp8; u8 *sp4; - + u16 safariObjectID = FieldSystem_VarGet(ctx->fieldSystem, ScriptReadHalfword(ctx)); u32 facingDirection = PlayerAvatar_GetFacingDirection(fieldSystem->playerAvatar); u32 xCoord = PlayerAvatar_GetXCoord(fieldSystem->playerAvatar); int deltaX = GetDeltaXByFacingDirection(facingDirection); u32 zCoord = PlayerAvatar_GetZCoord(fieldSystem->playerAvatar); int deltaY = GetDeltaYByFacingDirection(facingDirection); - + int areaX = xCoord + deltaX - 32; int areaY = zCoord + deltaY - 32; areaID = areaX / 32 + (areaY / 32 * 3); - + areaSet = SafariZone_GetAreaSet(Save_SafariZone_Get(fieldSystem->saveData), 0); u32 temp_r0 = ov01_021F6320(fieldSystem->unk2C); - int sp20; + s32 sp20; ov01_021F630C((u8)temp_r0, fieldSystem->unk2C, &sp20); sp8 = ov01_021F65E4(fieldSystem->unk2C, (u8)temp_r0); sp4 = ov01_021F65F0(fieldSystem->unk2C, (u8)temp_r0); - + SAFARIZONE_OBJECT *safariObject = &areaSet->areas[areaID].objects[safariObjectID]; SafariObjectConfig objectConfig; GetSafariObjectConfig((void *)&objectConfig, safariObject->unk[0], (u8)PlayerProfile_GetTrainerGender(Save_PlayerData_GetProfile(fieldSystem->saveData))); - + for (int unkHeightCounter = safariObject->unk[3]; unkHeightCounter > safariObject->unk[3] - objectConfig.height; unkHeightCounter--) { for (int unkWidthCounter = safariObject->unk[1]; unkWidthCounter < safariObject->unk[1] + objectConfig.width; unkWidthCounter++) { sp8[unkWidthCounter + unkHeightCounter * 32] = sp4[unkWidthCounter + unkHeightCounter * 32]; } } - + for (int index = 0; index < 32; index++) { int sp18 = ov01_021F3B44(sp20, index); if (ov01_021F3B30()) { VecFx32 position; ov01_021F3B0C(&position, sp18); - + s16 localX = (s16)(((position.x >> 12) + 0xF8) / 16); s16 localZ = (s16)(((position.z >> 12) + 0xF8) / 16); - - if (localX >= safariObject->unk[1] - && localZ <= safariObject->unk[3] - && localX < safariObject->unk[1] + objectConfig.width + + if (localX >= safariObject->unk[1] + && localZ <= safariObject->unk[3] + && localX < safariObject->unk[1] + objectConfig.width && localZ > safariObject->unk[3] - objectConfig.height) { ov01_021F3B2C(sp18, 1); break; } - } + } } SafariZone_RemoveObjectFromArea(areaSet, areaID, (u8)safariObjectID); return FALSE; } BOOL ScrCmd_721(ScriptContext *ctx) { - u16* var = GetVarPointer(ctx->fieldSystem, ScriptReadHalfword(ctx)); + u16 *var = GetVarPointer(ctx->fieldSystem, ScriptReadHalfword(ctx)); *var = ov02_0224E698(ctx->fieldSystem); return FALSE; } @@ -125,11 +125,11 @@ BOOL ScrCmd_CheckSafariZoneChallengeCompleted(ScriptContext *ctx) { for (int index = 0; index < partyCount; index++) { Pokemon *mon = Party_GetMonByIndex(party, index); - if (GetMonData(mon, MON_DATA_IS_EGG, NULL) == FALSE - && trainerID == GetMonData(mon, MON_DATA_OT_ID, NULL) - && sChallengeSpecies[challengeNo] == GetMonData(mon, MON_DATA_SPECIES, NULL) - && GetMonData(mon, MON_DATA_EGG_LOCATION, NULL) == FALSE // Make sure the player didn't cheat by hatching an egg in the Safari Zone. - && mapSec == GetMonData(mon, MON_DATA_MET_LOCATION, NULL)) { + if (GetMonData(mon, MON_DATA_IS_EGG, NULL) == FALSE + && trainerID == GetMonData(mon, MON_DATA_OT_ID, NULL) + && sChallengeSpecies[challengeNo] == GetMonData(mon, MON_DATA_SPECIES, NULL) + && GetMonData(mon, MON_DATA_EGG_LOCATION, NULL) == FALSE // Make sure the player didn't cheat by hatching an egg in the Safari Zone. + && mapSec == GetMonData(mon, MON_DATA_MET_LOCATION, NULL)) { *challengeCompleted = TRUE; return FALSE; } diff --git a/src/overlay_03/pokeathlon_records.c b/src/overlay_03/pokeathlon_records.c index 6ecba39685..1a2f700355 100644 --- a/src/overlay_03/pokeathlon_records.c +++ b/src/overlay_03/pokeathlon_records.c @@ -1,16 +1,16 @@ -#include "overlay_03.h" +#include "global.h" + +#include "msgdata/msg.naix" +#include "msgdata/msg/msg_0277.h" #include "field_system.h" #include "font.h" -#include "global.h" +#include "overlay_03.h" #include "task.h" #include "text.h" #include "touchscreen.h" #include "unk_02005D10.h" -#include "msgdata/msg.naix" -#include "msgdata/msg/msg_0277.h" - typedef struct UnkStruct_02258CFC { int state; enum PokeathlonData pokeathlonDataType; @@ -123,7 +123,7 @@ static u8 ov03_02259880[] = { // 32? 8, 9, 17, - 6, + 6, 16, 10, 24, @@ -165,7 +165,7 @@ static void ov03_02258EE8(UnkStruct_02258CFC *data, enum PokeathlonData dataType ov03_02258F48(data, k); } } - + ScheduleWindowCopyToVram(&data->window); ScheduleBgTilemapBufferTransfer(data->bgConfig, 3); } @@ -204,7 +204,7 @@ static u32 ov03_02259070(Pokeathlon_UnkSubStruct_B00 *pokeathlonStruct, int strn strno -= 10; return pokeathlonStruct->unk44[strno]; } - + switch (strno) { case 0: return pokeathlonStruct->unk4; diff --git a/src/overlay_03/shop_menu.c b/src/overlay_03/shop_menu.c index 69bbacdbbe..eea4fccc83 100644 --- a/src/overlay_03/shop_menu.c +++ b/src/overlay_03/shop_menu.c @@ -1,34 +1,31 @@ -#include "overlay_01.h" -#include "overlay_03.h" +#include "global.h" + +#include "data/resdat.naix" +#include "field/field_sprite_manager.h" +#include "field/overlay_01_021E8744.h" +#include "field/overlay_01_02204004.h" +#include "msgdata/msg.naix" #include "bag.h" -#include "bag_types_def.h" #include "bag_view.h" -#include "field_system.h" #include "gf_gfx_loader.h" -#include "global.h" #include "launch_application.h" #include "mart.h" -#include "render_text.h" +#include "overlay_01.h" +#include "overlay_03.h" #include "render_window.h" #include "scrcmd.h" +#include "sprite_transfer.h" #include "sys_flags.h" #include "sys_vars.h" #include "task.h" #include "text.h" #include "unk_02005D10.h" -#include "unk_0200ACF0.h" #include "unk_0200FA24.h" #include "unk_02058034.h" #include "unk_02091054.h" #include "unk_02092B04.h" -#include "field/overlay_01_021E8744.h" -#include "field/ov01_021E7FDC.h" -#include "field/overlay_01_02204004.h" - -#include "msgdata/msg.naix" - static void ov03_02256BA8(FieldSystem *fieldSystem, u8 index); static void MartTask_InitMartMessageData(MartData *data); static void MartData_InitMessageData(MartData *data); @@ -81,59 +78,59 @@ static const u16 ov03_0225945C[4] = { static const WindowTemplate ov03_022594C6[6] = { { - .bgId = GF_BG_LYR_MAIN_2, - .left = 13, - .top = 2, - .width = 18, - .height = 14, - .palette = 13, - .baseTile = 1, - }, + .bgId = GF_BG_LYR_MAIN_2, + .left = 13, + .top = 2, + .width = 18, + .height = 14, + .palette = 13, + .baseTile = 1, + }, { - .bgId = GF_BG_LYR_MAIN_2, - .left = 5, - .top = 18, - .width = 27, - .height = 6, - .palette = 13, - .baseTile = 253, - }, + .bgId = GF_BG_LYR_MAIN_2, + .left = 5, + .top = 18, + .width = 27, + .height = 6, + .palette = 13, + .baseTile = 253, + }, { - .bgId = GF_BG_LYR_MAIN_3, - .left = 1, - .top = 1, - .width = 10, - .height = 4, - .palette = 13, - .baseTile = 40, - }, + .bgId = GF_BG_LYR_MAIN_3, + .left = 1, + .top = 1, + .width = 10, + .height = 4, + .palette = 13, + .baseTile = 40, + }, { - .bgId = GF_BG_LYR_MAIN_3, - .left = 19, - .top = 13, - .width = 12, - .height = 4, - .palette = 13, - .baseTile = 80, - }, + .bgId = GF_BG_LYR_MAIN_3, + .left = 19, + .top = 13, + .width = 12, + .height = 4, + .palette = 13, + .baseTile = 80, + }, { - .bgId = GF_BG_LYR_MAIN_3, - .left = 1, - .top = 15, - .width = 14, - .height = 2, - .palette = 13, - .baseTile = 128, - }, + .bgId = GF_BG_LYR_MAIN_3, + .left = 1, + .top = 15, + .width = 14, + .height = 2, + .palette = 13, + .baseTile = 128, + }, { - .bgId = GF_BG_LYR_MAIN_3, - .left = 2, - .top = 19, - .width = 27, - .height = 4, - .palette = 12, - .baseTile = 156, - } + .bgId = GF_BG_LYR_MAIN_3, + .left = 2, + .top = 19, + .width = 27, + .height = 4, + .palette = 12, + .baseTile = 156, + } }; static const WindowTemplate ov03_02259464 = { @@ -159,7 +156,7 @@ static void ov03_02256BA8(FieldSystem *fieldSystem, u8 index) { if (renderObject == NULL) { GF_AssertFail(); } else { - ov01_021E8970(modelID, sub_020669B4(Save_VarsFlags_Get(fieldSystem->saveData), index), 1, renderObject, fieldSystem->unk54); + ov01_021E8970(modelID, sub_020669B4(Save_VarsFlags_Get(fieldSystem->saveData), index), 1, renderObject, fieldSystem->unk54); } } @@ -191,7 +188,7 @@ static void ov03_02256C2C(MartData *data, const u16 *items, BOOL flag09A) { int k = 0; for (i = 0; i < max; i++) { if (flag09A == FALSE) { - if(items[i] == 4) { + if (items[i] == 4) { data->unk270--; } else { data->unk268[k] = items[i]; @@ -291,7 +288,7 @@ enum MartTaskStates { BOOL Task_Mart(TaskManager *taskManager) { FieldSystem *fieldSystem = TaskManager_GetFieldSystem(taskManager); MartData *data = TaskManager_GetEnvironment(taskManager); - + switch (data->state) { case TASK_MART_START: MartTask_InitMartMessageData(data); @@ -309,7 +306,7 @@ BOOL Task_Mart(TaskManager *taskManager) { case TASK_MART_2: data->state = ov03_02257334(fieldSystem, data); // Returns 2 or 3. break; - case TASK_MART_3: + case TASK_MART_3: if (data->unk294 == -1) { data->state = ov03_02257510(data); } else { @@ -401,8 +398,8 @@ BOOL Task_Mart(TaskManager *taskManager) { Sprite_UpdateAnim(data->sprites[i], 0x1000); } } - if (data->unk_ov01_021E7FDC.spriteList) { - SpriteList_RenderAndAnimateSprites(data->unk_ov01_021E7FDC.spriteList); + if (data->fieldSpriteManager.spriteList) { + SpriteList_RenderAndAnimateSprites(data->fieldSpriteManager.spriteList); } return FALSE; } @@ -502,16 +499,16 @@ static u8 ov03_02257334(FieldSystem *fieldSystem, MartData *data) { } static const u8 ov03_0225949E[10][4] = { - {48, 56, 0, 7}, - {176, 56, 0, 7}, - {48, 96, 0, 7}, - {176, 96, 0, 7}, - {48, 136, 0, 7}, - {176, 136, 0, 7}, - {24, 176, 4, 7}, - {64, 176, 4, 7}, - {224, 176, 7, 7}, - {160, 176, 7, 7} + { 48, 56, 0, 7 }, + { 176, 56, 0, 7 }, + { 48, 96, 0, 7 }, + { 176, 96, 0, 7 }, + { 48, 136, 0, 7 }, + { 176, 136, 0, 7 }, + { 24, 176, 4, 7 }, + { 64, 176, 4, 7 }, + { 224, 176, 7, 7 }, + { 160, 176, 7, 7 } }; static void ov03_02257378(MartData *data, int index, int arg2) { @@ -531,54 +528,54 @@ static void ov03_022573D4(MartData *data, u32 arg1) { String *string; u16 itemID = data->unk268[data->unk290 + data->unk271]; switch (arg1) { - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - FillWindowPixelBuffer(&data->windows[1], 0); - if (data->unk290 + data->unk271 < data->unk270) { - if (data->martType == MART_TYPE_NORMAL || data->martType == MART_TYPE_3 || data->martType == MART_TYPE_4) { - string = String_New(130, HEAP_ID_FIELD2); - GetItemDescIntoString(string, itemID, HEAP_ID_FIELD2); - } else if (data->martType == MART_TYPE_1) { - msgData = NewMsgDataFromNarc(MSGDATA_LOAD_DIRECT, NARC_msgdata_msg, NARC_msg_msg_0737_bin, HEAP_ID_FIELD2); - string = NewString_ReadMsgData(msgData, itemID + 138); - DestroyMsgData(msgData); - } else { - msgData = NewMsgDataFromNarc(MSGDATA_LOAD_DIRECT, NARC_msgdata_msg, NARC_msg_msg_0434_bin, HEAP_ID_FIELD2); - string = NewString_ReadMsgData(msgData, sub_020910B8((u8)itemID)); - DestroyMsgData(msgData); - } - AddTextPrinterParameterizedWithColor(&data->windows[1], 0, string, 0, 0, 0xFF, 0xF0E00, 0); - String_Delete(string); - ov03_022585A4(data, itemID); + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + FillWindowPixelBuffer(&data->windows[1], 0); + if (data->unk290 + data->unk271 < data->unk270) { + if (data->martType == MART_TYPE_NORMAL || data->martType == MART_TYPE_3 || data->martType == MART_TYPE_4) { + string = String_New(130, HEAP_ID_FIELD2); + GetItemDescIntoString(string, itemID, HEAP_ID_FIELD2); + } else if (data->martType == MART_TYPE_1) { + msgData = NewMsgDataFromNarc(MSGDATA_LOAD_DIRECT, NARC_msgdata_msg, NARC_msg_msg_0737_bin, HEAP_ID_FIELD2); + string = NewString_ReadMsgData(msgData, itemID + 138); + DestroyMsgData(msgData); } else { - Sprite_SetDrawFlag(data->sprites[3], 0); + msgData = NewMsgDataFromNarc(MSGDATA_LOAD_DIRECT, NARC_msgdata_msg, NARC_msg_msg_0434_bin, HEAP_ID_FIELD2); + string = NewString_ReadMsgData(msgData, sub_020910B8((u8)itemID)); + DestroyMsgData(msgData); } - ScheduleWindowCopyToVram(&data->windows[1]); - break; - case 8: - FillWindowPixelBuffer(&data->windows[1], 0); - ov03_022585A4(data, 0xFFFF); - ScheduleWindowCopyToVram(&data->windows[1]); - case 6: - case 7: - break; + AddTextPrinterParameterizedWithColor(&data->windows[1], 0, string, 0, 0, 0xFF, 0xF0E00, 0); + String_Delete(string); + ov03_022585A4(data, itemID); + } else { + Sprite_SetDrawFlag(data->sprites[3], 0); + } + ScheduleWindowCopyToVram(&data->windows[1]); + break; + case 8: + FillWindowPixelBuffer(&data->windows[1], 0); + ov03_022585A4(data, 0xFFFF); + ScheduleWindowCopyToVram(&data->windows[1]); + case 6: + case 7: + break; } } static const u8 ov03_0225947A[9][4] = { - {4, 2, 6, 1}, - {8, 3, 0, 7}, - {0, 4, 6, 3}, - {1, 5, 2, 7}, - {2, 0, 6, 5}, - {3, 8, 4, 7}, - {4, 0, 8, 8}, - {4, 0, 8, 8}, - {5, 1, 8, 8} + { 4, 2, 6, 1 }, + { 8, 3, 0, 7 }, + { 0, 4, 6, 3 }, + { 1, 5, 2, 7 }, + { 2, 0, 6, 5 }, + { 3, 8, 4, 7 }, + { 4, 0, 8, 8 }, + { 4, 0, 8, 8 }, + { 5, 1, 8, 8 } }; static int ov03_02257510(MartData *data) { @@ -588,13 +585,11 @@ static int ov03_02257510(MartData *data) { data->unk290 = ov03_0225947A[data->unk290][0]; PlaySE(SEQ_SE_DP_SELECT); unkBool++; - } - else if (gSystem.newKeys & PAD_KEY_DOWN) { + } else if (gSystem.newKeys & PAD_KEY_DOWN) { data->unk290 = ov03_0225947A[data->unk290][1]; PlaySE(SEQ_SE_DP_SELECT); unkBool++; - } - else if (gSystem.newKeys & PAD_KEY_LEFT) { + } else if (gSystem.newKeys & PAD_KEY_LEFT) { unkExternVal = ov03_0225947A[data->unk290][2]; if (unkExternVal == 6) { return ov03_0225761C(data, 6); @@ -604,8 +599,7 @@ static int ov03_02257510(MartData *data) { PlaySE(SEQ_SE_DP_SELECT); unkBool++; } - } - else if (gSystem.newKeys & PAD_KEY_RIGHT) { + } else if (gSystem.newKeys & PAD_KEY_RIGHT) { unkExternVal = ov03_0225947A[data->unk290][3]; if (unkExternVal == 7) { return ov03_0225761C(data, 7); @@ -633,39 +627,39 @@ static int ov03_02257510(MartData *data) { static u8 ov03_0225761C(MartData *data, u32 arg1) { switch (arg1) { - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - if (arg1 + data->unk271 < data->unk270) { - data->unk290 = arg1; - ov03_02257378(data, data->unk290, 0); - Sprite_SetAnimCtrlSeq(data->sprites[10], 19); - PlaySE(SEQ_SE_DP_SELECT); - ov03_022573D4(data, data->unk290); - return TASK_MART_6; - } - break; - case 6: - if (data->unk271) { - PlaySE(SEQ_SE_DP_SELECT); - return ov03_022586CC(data, 11, 19); - } - break; - case 7: - if (data->unk271 + 6 < data->unk270) { - PlaySE(SEQ_SE_DP_SELECT); - return ov03_022586CC(data, 12, 20); - } - break; - case 8: - ov03_02257378(data, arg1, 0); - Sprite_SetAnimCtrlSeq(data->sprites[10], 7); - PlaySE(SEQ_SE_GS_GEARCANCEL); - ov03_022573D4(data, 8); - return ov03_022586CC(data, 13, 16); + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + if (arg1 + data->unk271 < data->unk270) { + data->unk290 = arg1; + ov03_02257378(data, data->unk290, 0); + Sprite_SetAnimCtrlSeq(data->sprites[10], 19); + PlaySE(SEQ_SE_DP_SELECT); + ov03_022573D4(data, data->unk290); + return TASK_MART_6; + } + break; + case 6: + if (data->unk271) { + PlaySE(SEQ_SE_DP_SELECT); + return ov03_022586CC(data, 11, 19); + } + break; + case 7: + if (data->unk271 + 6 < data->unk270) { + PlaySE(SEQ_SE_DP_SELECT); + return ov03_022586CC(data, 12, 20); + } + break; + case 8: + ov03_02257378(data, arg1, 0); + Sprite_SetAnimCtrlSeq(data->sprites[10], 7); + PlaySE(SEQ_SE_GS_GEARCANCEL); + ov03_022573D4(data, 8); + return ov03_022586CC(data, 13, 16); } return TASK_MART_3; } @@ -696,7 +690,7 @@ static void ov03_02257758(MartData *data, int arg1, u8 arg2) { } else { temp = arg2 - arg1; } - + if (i < temp) { ov03_02258648(data, i + 3, i + 2, data->unk268[i + arg1]); Sprite_SetDrawFlag(data->sprites[i + 4], TRUE); @@ -727,11 +721,10 @@ int ov03_02257814(MartData *data, u32 unkAmount) { if (PokeathlonSave_GetUnkB7C_AtIndex(data->pokeathlonSave, data->unk290 + data->unk271)) { return 2; } - } - else if (data->martType == MART_TYPE_4 && PokeathlonSave_GetUnkB78_AtIndex(data->pokeathlonSave, data->item - 505)) { + } else if (data->martType == MART_TYPE_4 && PokeathlonSave_GetUnkB78_AtIndex(data->pokeathlonSave, data->item - 505)) { return 3; } - + return unkAmount < data->cost; } @@ -900,7 +893,7 @@ static u8 ov03_02257CA0(MartData *data) { } else { quantity = SealCase_CheckSealQuantity(data->inventory, data->item, data->quantity); } - + if (quantity == 0) { data->quantity = 0; data->unk298 = 11; @@ -1067,252 +1060,233 @@ static u8 ov03_02258170(FieldSystem *fieldSystem, MartData *data) { return TASK_MART_27; } -static const u16 ov03_0225946C[7] = { - 66, - 67, - 65, - 64, - 0xFFFF, - 0xFFFF, - 88 +static const ResdatIdList ov03_0225946C = { + .charRes = NARC_resdat_resdat_00000066_bin, + .plttRes = NARC_resdat_resdat_00000067_bin, + .cellRes = NARC_resdat_resdat_00000065_bin, + .animRes = NARC_resdat_resdat_00000064_bin, + .mcelRes = 0xFFFF, + .manmRes = 0xFFFF, + .headerId = NARC_resdat_resdat_00000088_bin }; -static const SpriteTemplate_ov01_021E81F0 ov03_022594F8[19] = { +static const UnmanagedSpriteTemplate ov03_022594F8[19] = { { - .unk_0 = 0, - .unk_4 = 177, - .unk_6 = 8, - .unk_8 = 0, - .unk_A = 0, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 1, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 0, + .x = 177, + .y = 8, + .z = 0, + .animation = 0, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DMAIN, + .paletteMode = 0, + }, { - .unk_0 = 0, - .unk_4 = 177, - .unk_6 = 132, - .unk_8 = 0, - .unk_A = 1, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 1, - .unk_18 = 0, - .filler_1C = 0, - }, - + .resourceSet = 0, + .x = 177, + .y = 132, + .z = 0, + .animation = 1, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DMAIN, + .paletteMode = 0, + }, + { - .unk_0 = 1, - .unk_4 = 176, - .unk_6 = 24, - .unk_8 = 0, - .unk_A = 0, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 1, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 1, + .x = 176, + .y = 24, + .z = 0, + .animation = 0, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DMAIN, + .paletteMode = 0, + }, { - .unk_0 = 2, - .unk_4 = 22, - .unk_6 = 172, - .unk_8 = 0, - .unk_A = 0, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 1, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 2, + .x = 22, + .y = 172, + .z = 0, + .animation = 0, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DMAIN, + .paletteMode = 0, + }, { - .unk_0 = 3, - .unk_4 = 22, - .unk_6 = 59, - .unk_8 = 0, - .unk_A = 0, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 2, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 3, + .x = 22, + .y = 59, + .z = 0, + .animation = 0, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 0, + }, { - .unk_0 = 4, - .unk_4 = 152, - .unk_6 = 59, - .unk_8 = 0, - .unk_A = 0, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 2, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 4, + .x = 152, + .y = 59, + .z = 0, + .animation = 0, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 0, + }, { - .unk_0 = 5, - .unk_4 = 22, - .unk_6 = 100, - .unk_8 = 0, - .unk_A = 0, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 2, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 5, + .x = 22, + .y = 100, + .z = 0, + .animation = 0, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 0, + }, { - .unk_0 = 6, - .unk_4 = 152, - .unk_6 = 100, - .unk_8 = 0, - .unk_A = 0, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 2, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 6, + .x = 152, + .y = 100, + .z = 0, + .animation = 0, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 0, + }, { - .unk_0 = 7, - .unk_4 = 22, - .unk_6 = 139, - .unk_8 = 0, - .unk_A = 0, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 2, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 7, + .x = 22, + .y = 139, + .z = 0, + .animation = 0, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 0, + }, { - .unk_0 = 8, - .unk_4 = 152, - .unk_6 = 139, - .unk_8 = 0, - .unk_A = 0, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 2, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 8, + .x = 152, + .y = 139, + .z = 0, + .animation = 0, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 0, + }, { - .unk_0 = 9, - .unk_4 = 0, - .unk_6 = 0, - .unk_8 = 0, - .unk_A = 0, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 2, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 9, + .x = 0, + .y = 0, + .z = 0, + .animation = 0, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 0, + }, { - .unk_0 = 9, - .unk_4 = 24, - .unk_6 = 176, - .unk_8 = 0, - .unk_A = 2, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 2, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 9, + .x = 24, + .y = 176, + .z = 0, + .animation = 2, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 0, + }, { - .unk_0 = 9, - .unk_4 = 64, - .unk_6 = 176, - .unk_8 = 0, - .unk_A = 3, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 2, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 9, + .x = 64, + .y = 176, + .z = 0, + .animation = 3, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 0, + }, { - .unk_0 = 9, - .unk_4 = 224, - .unk_6 = 176, - .unk_8 = 0, - .unk_A = 6, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 2, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 9, + .x = 224, + .y = 176, + .z = 0, + .animation = 6, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 0, + }, { - .unk_0 = 9, - .unk_4 = 136, - .unk_6 = 104, - .unk_8 = 0, - .unk_A = 12, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 2, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 9, + .x = 136, + .y = 104, + .z = 0, + .animation = 12, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 0, + }, { - .unk_0 = 9, - .unk_4 = 168, - .unk_6 = 104, - .unk_8 = 0, - .unk_A = 12, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 2, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 9, + .x = 168, + .y = 104, + .z = 0, + .animation = 12, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 0, + }, { - .unk_0 = 9, - .unk_4 = 136, - .unk_6 = 152, - .unk_8 = 0, - .unk_A = 14, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 2, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 9, + .x = 136, + .y = 152, + .z = 0, + .animation = 14, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 0, + }, { - .unk_0 = 9, - .unk_4 = 168, - .unk_6 = 152, - .unk_8 = 0, - .unk_A = 14, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 2, - .unk_18 = 0, - .filler_1C = 0, - }, + .resourceSet = 9, + .x = 168, + .y = 152, + .z = 0, + .animation = 14, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 0, + }, { - .unk_0 = 9, - .unk_4 = 136, - .unk_6 = 176, - .unk_8 = 0, - .unk_A = 24, - .unk_C = 0, - .unk_10 = 0, - .unk_14 = 2, - .unk_18 = 0, - .filler_1C = 0, - } + .resourceSet = 9, + .x = 136, + .y = 176, + .z = 0, + .animation = 24, + .drawPriority = 0, + .pal = 0, + .vram = NNS_G2D_VRAM_TYPE_2DSUB, + .paletteMode = 0, + } }; void ov03_022581BC(MartData *data) { - UnkFieldSpriteRenderer_ov01_021E7FDC_Init(&data->unk_ov01_021E7FDC, ov03_0225946C, 19, HEAP_ID_FIELD2); + FieldSpriteManager_InitWithResDat(&data->fieldSpriteManager, &ov03_0225946C, 19, HEAP_ID_FIELD2); for (u32 i = 0; i < 19; i++) { - data->sprites[i] = ov01_021E81F0(&data->unk_ov01_021E7FDC, &ov03_022594F8[i]); + data->sprites[i] = FieldSpriteManager_CreateSprite(&data->fieldSpriteManager, &ov03_022594F8[i]); } Sprite_SetPriority(data->sprites[13], 1); Sprite_SetPriority(data->sprites[18], 1); @@ -1333,8 +1307,8 @@ static void ov03_02258288(MartData *data) { Sprite_Delete(data->sprites[i]); data->sprites[i] = NULL; } - UnkFieldSpriteRenderer_ov01_021E7FDC_Release(&data->unk_ov01_021E7FDC); - data->unk_ov01_021E7FDC.spriteList = NULL; + FieldSpriteManager_ReleaseWithResDat(&data->fieldSpriteManager); + data->fieldSpriteManager.spriteList = NULL; } enum OV03_02259850_Data { @@ -1345,21 +1319,21 @@ enum OV03_02259850_Data { }; static u8 ov03_02259850[15][OV03_02259850_MAX] = { - {4, 5, 2}, - {5, 5, 2}, - {6, 5, 2}, - {7, 5, 2}, - {8, 5, 2}, - {9, 5, 2}, - {10, 1, 0}, - {11, 3, 0}, - {12, 4, 0}, - {13, 1, 1}, - {14, 0, 1}, - {15, 0, 1}, - {16, 0, 1}, - {17, 0, 1}, - {18, 0, 1} + { 4, 5, 2 }, + { 5, 5, 2 }, + { 6, 5, 2 }, + { 7, 5, 2 }, + { 8, 5, 2 }, + { 9, 5, 2 }, + { 10, 1, 0 }, + { 11, 3, 0 }, + { 12, 4, 0 }, + { 13, 1, 1 }, + { 14, 0, 1 }, + { 15, 0, 1 }, + { 16, 0, 1 }, + { 17, 0, 1 }, + { 18, 0, 1 } }; static void ov03_022582C0(MartData *data, int arg1) { @@ -1369,9 +1343,9 @@ static void ov03_022582C0(MartData *data, int arg1) { case 0: for (j = 0; j < 6; j++) { VecFx32 vec; - vec.x = ov03_022594F8[j + 4].unk_4 << 12; - vec.y = (ov03_022594F8[j + 4].unk_6 << 12) + 0xC0000; - vec.z = ov03_022594F8[j + 4].unk_8 << 12; + vec.x = ov03_022594F8[j + 4].x * FX32_ONE; + vec.y = ov03_022594F8[j + 4].y * FX32_ONE + 0xC0000; + vec.z = ov03_022594F8[j + 4].z * FX32_ONE; Sprite_SetMatrix(data->sprites[j + 4], &vec); } for (i = 0; i < NELEMS(ov03_02259850); i++) { @@ -1381,7 +1355,7 @@ static void ov03_022582C0(MartData *data, int arg1) { } else { Sprite_SetDrawFlag(data->sprites[ov03_02259850[i][OV03_02259850_SPRITE_INDEX]], FALSE); } - } else if (ov03_02259850[i][OV03_02259850_DATA_1] == 3){ + } else if (ov03_02259850[i][OV03_02259850_DATA_1] == 3) { if (data->unk271 == 0) { Sprite_SetDrawFlag(data->sprites[ov03_02259850[i][OV03_02259850_SPRITE_INDEX]], FALSE); } else { @@ -1448,7 +1422,6 @@ static void ov03_022582C0(MartData *data, int arg1) { } } break; - } } @@ -1467,23 +1440,23 @@ static void ov03_022585A4(MartData *data, u16 itemID) { if (data->martType != 0 && data->martType != 3 && data->martType != 4) { Sprite_SetDrawFlag(data->sprites[3], FALSE); } else { - spriteResource = SpriteResourceCollection_Find(data->unk_ov01_021E7FDC.spriteResManagers[0], 2); - ReplaceCharResObjFromNarc(data->unk_ov01_021E7FDC.spriteResManagers[0], spriteResource, NARC_itemtool_itemdata_item_icon, GetItemIndexMapping(itemID, 1), FALSE, HEAP_ID_FIELD2); - sub_0200AE8C(spriteResource); - spriteResource = SpriteResourceCollection_Find(data->unk_ov01_021E7FDC.spriteResManagers[1], 1); - ReplacePlttResObjFromNarc(data->unk_ov01_021E7FDC.spriteResManagers[1], spriteResource, NARC_itemtool_itemdata_item_icon, GetItemIndexMapping(itemID, 2), FALSE, HEAP_ID_FIELD2); - sub_0200B084(spriteResource); + spriteResource = SpriteResourceCollection_Find(data->fieldSpriteManager.spriteResManagers[0], 2); + ReplaceCharResObjFromNarc(data->fieldSpriteManager.spriteResManagers[0], spriteResource, NARC_itemtool_itemdata_item_icon, GetItemIndexMapping(itemID, 1), FALSE, HEAP_ID_FIELD2); + SpriteTransfer_ReplaceCharData(spriteResource); + spriteResource = SpriteResourceCollection_Find(data->fieldSpriteManager.spriteResManagers[1], 1); + ReplacePlttResObjFromNarc(data->fieldSpriteManager.spriteResManagers[1], spriteResource, NARC_itemtool_itemdata_item_icon, GetItemIndexMapping(itemID, 2), FALSE, HEAP_ID_FIELD2); + SpriteTransfer_ReplacePlttData(spriteResource); Sprite_SetDrawFlag(data->sprites[3], TRUE); } } static void ov03_02258648(MartData *data, int charID, int paletteID, u16 item) { - SpriteResource *charResObj = SpriteResourceCollection_Find(data->unk_ov01_021E7FDC.spriteResManagers[0], charID); - ReplaceCharResObjFromNarc(data->unk_ov01_021E7FDC.spriteResManagers[0], charResObj, NARC_itemtool_itemdata_item_icon, GetItemIndexMapping(item, 1), FALSE, HEAP_ID_FIELD2); - sub_0200AE8C(charResObj); - SpriteResource *plttResObj = SpriteResourceCollection_Find(data->unk_ov01_021E7FDC.spriteResManagers[1], paletteID); - ReplacePlttResObjFromNarc(data->unk_ov01_021E7FDC.spriteResManagers[1], plttResObj, NARC_itemtool_itemdata_item_icon, GetItemIndexMapping(item, 2), FALSE, HEAP_ID_FIELD2); - sub_0200B084(plttResObj); + SpriteResource *charResObj = SpriteResourceCollection_Find(data->fieldSpriteManager.spriteResManagers[0], charID); + ReplaceCharResObjFromNarc(data->fieldSpriteManager.spriteResManagers[0], charResObj, NARC_itemtool_itemdata_item_icon, GetItemIndexMapping(item, 1), FALSE, HEAP_ID_FIELD2); + SpriteTransfer_ReplaceCharData(charResObj); + SpriteResource *plttResObj = SpriteResourceCollection_Find(data->fieldSpriteManager.spriteResManagers[1], paletteID); + ReplacePlttResObjFromNarc(data->fieldSpriteManager.spriteResManagers[1], plttResObj, NARC_itemtool_itemdata_item_icon, GetItemIndexMapping(item, 2), FALSE, HEAP_ID_FIELD2); + SpriteTransfer_ReplacePlttData(plttResObj); } static void ov03_022586BC(MartData *data, int flag) { diff --git a/src/overlay_16_02201948.c b/src/overlay_16_02201948.c index cbeda72dea..9ae310ed5d 100644 --- a/src/overlay_16_02201948.c +++ b/src/overlay_16_02201948.c @@ -1,13 +1,12 @@ -#include "global.h" #include "constants/items.h" #include "bag_cursor.h" #include "bag_view.h" #include "berry_pots_app.h" -#include "launch_application.h" #include "overlay_15.h" #include "overlay_16.h" +#include "poke_overlay.h" FS_EXTERN_OVERLAY(OVY_15); FS_EXTERN_OVERLAY(OVY_17); diff --git a/src/overlay_25.c b/src/overlay_25.c index 676694a23b..a0ccd56252 100644 --- a/src/overlay_25.c +++ b/src/overlay_25.c @@ -91,46 +91,94 @@ static const TrainerHouseSet ov25_02259D9C = { }, .party = { { - .species = SPECIES_MEGANIUM, .item = ITEM_SITRUS_BERRY, .moves = { MOVE_LEECH_SEED, MOVE_PROTECT, MOVE_ENERGY_BALL, MOVE_TOXIC }, .otid = 0x11111111, .pid = 0x00000101, .hpIv = 20, .atkIv = 20, .defIv = 20, .spdIv = 20, .spAtkIv = 20, .spDefIv = 20, .hpEv = 255, .spDefEv = 255, .language = GAME_LANGUAGE, .ability = ABILITY_OVERGROW, .level = 50, .nickname = { - CHAR_JP_KATA_ME, - CHAR_JP_KATA_GA, - CHAR_JP_KATA_NI, - CHAR_JP_KATA_U, - CHAR_JP_KATA_MU, - EOS, - EOS, - EOS, - EOS, - EOS, - }, // "メガニウム" + .species = SPECIES_MEGANIUM, + .item = ITEM_SITRUS_BERRY, + .moves = { MOVE_LEECH_SEED, MOVE_PROTECT, MOVE_ENERGY_BALL, MOVE_TOXIC }, + .otid = 0x11111111, + .pid = 0x00000101, + .hpIv = 20, + .atkIv = 20, + .defIv = 20, + .spdIv = 20, + .spAtkIv = 20, + .spDefIv = 20, + .hpEv = 255, + .spDefEv = 255, + .language = GAME_LANGUAGE, + .ability = ABILITY_OVERGROW, + .level = 50, + .nickname = { + CHAR_JP_KATA_ME, + CHAR_JP_KATA_GA, + CHAR_JP_KATA_NI, + CHAR_JP_KATA_U, + CHAR_JP_KATA_MU, + EOS, + EOS, + EOS, + EOS, + EOS, + }, // "メガニウム" }, { - .species = SPECIES_TYPHLOSION, .item = ITEM_SALAC_BERRY, .moves = { MOVE_ERUPTION, MOVE_SUBSTITUTE, MOVE_FLAMETHROWER, MOVE_FOCUS_BLAST }, .otid = 0x11111111, .pid = 0x00001010, .hpIv = 20, .atkIv = 20, .defIv = 20, .spdIv = 20, .spAtkIv = 20, .spDefIv = 20, .spdEv = 255, .spAtkEv = 255, .language = GAME_LANGUAGE, .ability = ABILITY_BLAZE, .level = 50, .nickname = { - CHAR_JP_KATA_BA, - CHAR_JP_KATA_KU, - CHAR_JP_KATA_HU, - CHAR_JP_HYPHEN, - CHAR_JP_KATA_N_, - EOS, - EOS, - EOS, - EOS, - EOS, - }, // "バクフーン" + .species = SPECIES_TYPHLOSION, + .item = ITEM_SALAC_BERRY, + .moves = { MOVE_ERUPTION, MOVE_SUBSTITUTE, MOVE_FLAMETHROWER, MOVE_FOCUS_BLAST }, + .otid = 0x11111111, + .pid = 0x00001010, + .hpIv = 20, + .atkIv = 20, + .defIv = 20, + .spdIv = 20, + .spAtkIv = 20, + .spDefIv = 20, + .spdEv = 255, + .spAtkEv = 255, + .language = GAME_LANGUAGE, + .ability = ABILITY_BLAZE, + .level = 50, + .nickname = { + CHAR_JP_KATA_BA, + CHAR_JP_KATA_KU, + CHAR_JP_KATA_HU, + CHAR_JP_HYPHEN, + CHAR_JP_KATA_N_, + EOS, + EOS, + EOS, + EOS, + EOS, + }, // "バクフーン" }, { - .species = SPECIES_FERALIGATR, .item = ITEM_LUM_BERRY, .moves = { MOVE_DRAGON_DANCE, MOVE_WATERFALL, MOVE_ICE_PUNCH, MOVE_CRUNCH }, .otid = 0x11111111, .pid = 0x00000011, .hpIv = 20, .atkIv = 20, .defIv = 20, .spdIv = 20, .spAtkIv = 20, .spDefIv = 20, .hpEv = 255, .atkEv = 255, .language = GAME_LANGUAGE, .ability = ABILITY_TORRENT, .level = 50, .nickname = { - CHAR_JP_KATA_O, - CHAR_JP_HYPHEN, - CHAR_JP_KATA_DA, - CHAR_JP_KATA_I, - CHAR_JP_KATA_RU, - EOS, - EOS, - EOS, - EOS, - EOS, - }, // "オーダイル" + .species = SPECIES_FERALIGATR, + .item = ITEM_LUM_BERRY, + .moves = { MOVE_DRAGON_DANCE, MOVE_WATERFALL, MOVE_ICE_PUNCH, MOVE_CRUNCH }, + .otid = 0x11111111, + .pid = 0x00000011, + .hpIv = 20, + .atkIv = 20, + .defIv = 20, + .spdIv = 20, + .spAtkIv = 20, + .spDefIv = 20, + .hpEv = 255, + .atkEv = 255, + .language = GAME_LANGUAGE, + .ability = ABILITY_TORRENT, + .level = 50, + .nickname = { + CHAR_JP_KATA_O, + CHAR_JP_HYPHEN, + CHAR_JP_KATA_DA, + CHAR_JP_KATA_I, + CHAR_JP_KATA_RU, + EOS, + EOS, + EOS, + EOS, + EOS, + }, // "オーダイル" }, DUMMY_TRAINER_HOUSE_MON, DUMMY_TRAINER_HOUSE_MON, diff --git a/src/overlay_42_02227D30.c b/src/overlay_42_02227D30.c index 53331b7ee2..6b06f41251 100644 --- a/src/overlay_42_02227D30.c +++ b/src/overlay_42_02227D30.c @@ -1,5 +1,5 @@ #include "overlay_42.h" -#include "unk_0200ACF0.h" +#include "sprite_transfer.h" const u8 _02229AF8[4] = { 0, 0, 1, 1 }; const u8 ov42_02229AFC[8] = { 0, 1, 149, 150, 151, 152, 0, 0 }; @@ -25,7 +25,7 @@ UnkStruct_ov42_02227060 *ov42_02227060(SpriteList *arg0, PaletteData *arg1, s32 temp_r0->unk22F0[i] = Create2DGfxResObjMan(154, (GfGfxResType)i, heapID); } for (i = 0; i < 2; i++) { - temp_r0->unk22F8[i] = Create2DGfxResObjMan(23, (GfGfxResType)(i + 2), heapID); + temp_r0->unk22F0[i + 2] = Create2DGfxResObjMan(23, (GfGfxResType)(i + 2), heapID); } for (i = 0; i < 3; i++) { ov42_02227570(temp_r0, i, heapID); @@ -140,8 +140,8 @@ UnkStruct_ov42_02227114 *ov42_022272BC(UnkStruct_ov42_02227060 *arg0, s16 *arg1, temp_r4->unk14 = 0; temp_r4->unk10 = 1; temp_r4->unk0 = &arg0->unk10[r0].unk0; - if (ov42_02227B5C(&arg0->unk22B8) != 0) { - __builtin__clear(&spriteTemplate, sizeof(SpriteTemplate)); + if (ov42_02227B5C(arg0->unk22B8) != 0) { + memset(&spriteTemplate, 0, sizeof(SpriteTemplate)); spriteTemplate.spriteList = arg0->unk0; spriteTemplate.header = &arg0->unk22C8; spriteTemplate.position.x = arg1[0] << FX32_SHIFT; @@ -172,7 +172,7 @@ void ov42_0222740C(UnkStruct_ov42_02227114 *arg0) { Sprite_Delete(arg0->unk8); } Sprite_Delete(arg0->unk4); - __builtin__clear(arg0, sizeof(UnkStruct_ov42_02227114)); + memset(arg0, 0, sizeof(UnkStruct_ov42_02227114)); } Sprite *ov42_02227430(UnkStruct_ov42_02227114 *arg0) { @@ -342,10 +342,10 @@ void ov42_02227720(UnkStruct_ov42_02227060 *arg0, s32 arg1, s32 arg2, s32 arg3, charData->szByte = 6144; } } - if (sub_0200AE18(arg0->unk10[arg1].unk4) == 0) { + if (SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd(arg0->unk10[arg1].unk4) == 0) { GF_ASSERT(FALSE); } - if (sub_0200B00C(arg0->unk10[arg1].unk8) == 0) { + if (SpriteTransfer_CreatePlttTransferTask(arg0->unk10[arg1].unk8) == 0) { GF_ASSERT(FALSE); } if (arg0->unk4 != 0) { @@ -368,7 +368,7 @@ void ov42_02227874(UnkStruct_ov42_02227060 *arg0, s32 arg1, s32 arg2, s32 arg3, } else if (arg3 == 1) { GF2DGfxResObj_GetCharDataPtr(arg0->unk10[arg1].unk4)->szByte = 5120; } - GF_ASSERT(sub_0200AE18(arg0->unk10[arg1].unk4)); + GF_ASSERT(SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd(arg0->unk10[arg1].unk4)); sub_0200A740(arg0->unk10[arg1].unk4); arg0->unk10[arg1].unk8 = NULL; arg0->unk10[arg1].unkC = arg2; @@ -387,8 +387,8 @@ void ov42_02227948(UnkStruct_ov42_02227060 *arg0, s32 arg1) { } void ov42_0222797C(UnkStruct_ov42_02227060 *arg0, s32 arg1) { - sub_0200AEB0(arg0->unk10[arg1].unk4); - sub_0200B0A8(arg0->unk10[arg1].unk8); + SpriteTransfer_DeleteCharTransferTask(arg0->unk10[arg1].unk4); + SpriteTransfer_DeletePlttTransferTask(arg0->unk10[arg1].unk8); DestroySingle2DGfxResObj(arg0->unk22F0[0], arg0->unk10[arg1].unk4); DestroySingle2DGfxResObj(arg0->unk22F0[1], arg0->unk10[arg1].unk8); arg0->unk10[arg1].unk4 = NULL; @@ -396,7 +396,7 @@ void ov42_0222797C(UnkStruct_ov42_02227060 *arg0, s32 arg1) { } void ov42_022279C0(UnkStruct_ov42_02227060 *arg0, s32 arg1) { - sub_0200AEB0(arg0->unk10[arg1].unk4); + SpriteTransfer_DeleteCharTransferTask(arg0->unk10[arg1].unk4); DestroySingle2DGfxResObj(arg0->unk22F0[0], arg0->unk10[arg1].unk4); arg0->unk10[arg1].unk4 = NULL; } @@ -409,7 +409,7 @@ BOOL ov42_022279E8(UnkStruct_ov42_02227060 *arg0, s32 arg1) { } void ov42_022279FC(UnkStruct_ov42_02227060 *arg0, s32 arg1, enum HeapID heapID) { - GF_ASSERT(!arg0->unk22B8); + GF_ASSERT(arg0->unk22B8[0] == NULL); int i = 0; s32 sp34 = 0; s32 sp30; @@ -422,39 +422,36 @@ void ov42_022279FC(UnkStruct_ov42_02227060 *arg0, s32 arg1, enum HeapID heapID) } GF_ASSERT(sp34 == 1); for (i = 0; i < 2; i++) { - arg0->unk22C0[i] = AddCellOrAnimResObjFromOpenNarc(arg0->unk22F8[i], arg0->unk2304, i, 0, 288, (GfGfxResType)(i + 2), heapID); + arg0->unk22B8[i + 2] = AddCellOrAnimResObjFromOpenNarc(arg0->unk22F0[i + 2], arg0->unk2304, i, 0, 288, (GfGfxResType)(i + 2), heapID); } - arg0->unk22B8 = AddCharResObjFromOpenNarc(arg0->unk22F0[0], arg0->unk2304, 2, 0, 288, arg1, heapID); - if (sub_0200AE18(arg0->unk22B8) == 0) { + arg0->unk22B8[0] = AddCharResObjFromOpenNarc(arg0->unk22F0[0], arg0->unk2304, 2, 0, 288, arg1, heapID); + if (SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd(arg0->unk22B8[0]) == 0) { GF_ASSERT(FALSE); } - sub_0200A740(arg0->unk22B8); + sub_0200A740(arg0->unk22B8[0]); CreateSpriteResourcesHeader(&arg0->unk22C8, 288, sp30 + 512, 288, 288, -1, -1, 0, 0, arg0->unk22F0[0], arg0->unk22F0[1], arg0->unk22F0[2], arg0->unk22F0[3], 0, 0); } void ov42_02227B04(UnkStruct_ov42_02227060 *arg0) { - if (ov42_02227B5C(&arg0->unk22B8) == 1) { - sub_0200AEB0(arg0->unk22B8); - DestroySingle2DGfxResObj(arg0->unk22F0[0], arg0->unk22B8); - arg0->unk22B8 = NULL; + if (ov42_02227B5C(arg0->unk22B8) == 1) { + SpriteTransfer_DeleteCharTransferTask(arg0->unk22B8[0]); + DestroySingle2DGfxResObj(arg0->unk22F0[0], arg0->unk22B8[0]); + arg0->unk22B8[0] = NULL; for (int i = 0; i < 2; i++) { - DestroySingle2DGfxResObj(arg0->unk22F8[i], arg0->unk22C0[i]); - arg0->unk22C0[i] = NULL; + DestroySingle2DGfxResObj(arg0->unk22F0[i + 2], arg0->unk22B8[i + 2]); + arg0->unk22B8[i + 2] = NULL; } } } -s32 ov42_02227B5C(SpriteResource **arg0) { - if (*arg0 != 0) { - return 1; - } - return 0; +BOOL ov42_02227B5C(SpriteResource **arg0) { + return arg0[0] != NULL; } void ov42_02227B6C(UnkStruct_ov42_02227060 *arg0, s32 arg1, enum HeapID heapID) { GF_ASSERT(!arg0->unk2300); arg0->unk2300 = AddPlttResObjFromOpenNarc(arg0->unk22F0[1], arg0->unk2308, 0, 0, 1026, arg1, 8, heapID); - GF_ASSERT(sub_0200B00C(arg0->unk2300)); + GF_ASSERT(SpriteTransfer_CreatePlttTransferTask(arg0->unk2300)); if (arg0->unk4 != 0) { ov42_02227E78(arg0, arg0->unk2300, 8); } @@ -463,7 +460,7 @@ void ov42_02227B6C(UnkStruct_ov42_02227060 *arg0, s32 arg1, enum HeapID heapID) void ov42_02227BE0(UnkStruct_ov42_02227060 *arg0) { GF_ASSERT(arg0->unk2300); - sub_0200B0A8(arg0->unk2300); + SpriteTransfer_DeletePlttTransferTask(arg0->unk2300); DestroySingle2DGfxResObj(arg0->unk22F0[1], arg0->unk2300); arg0->unk2300 = NULL; } @@ -471,16 +468,16 @@ void ov42_02227BE0(UnkStruct_ov42_02227060 *arg0) { void ov42_02227C18(UnkStruct_ov42_02227060 *arg0, enum HeapID heapID) { GF_ASSERT(!arg0->unk21B8[0].unk0); for (int i = 0; i < 16; i++) { - arg0->unk21B8[i].unk0 = AddCellOrAnimResObjFromOpenNarc(arg0->unk22F8[0], arg0->unk2308, 17 + (i * 2), 0, i + 384, GF_GFX_RES_TYPE_CELL, heapID); - arg0->unk21B8[i].unk4 = AddCellOrAnimResObjFromOpenNarc(arg0->unk22F8[1], arg0->unk2308, 18 + (i * 2), 0, i + 384, GF_GFX_RES_TYPE_ANIM, heapID); + arg0->unk21B8[i].unk0 = AddCellOrAnimResObjFromOpenNarc(arg0->unk22F0[2], arg0->unk2308, 17 + (i * 2), 0, i + 384, GF_GFX_RES_TYPE_CELL, heapID); + arg0->unk21B8[i].unk4 = AddCellOrAnimResObjFromOpenNarc(arg0->unk22F0[3], arg0->unk2308, 18 + (i * 2), 0, i + 384, GF_GFX_RES_TYPE_ANIM, heapID); } } void ov42_02227CA8(UnkStruct_ov42_02227060 *arg0) { GF_ASSERT(arg0->unk21B8[0].unk0); for (int i = 0; i < 16; i++) { - DestroySingle2DGfxResObj(arg0->unk22F8[0], arg0->unk21B8[i].unk0); - DestroySingle2DGfxResObj(arg0->unk22F8[1], arg0->unk21B8[i].unk4); + DestroySingle2DGfxResObj(arg0->unk22F0[2], arg0->unk21B8[i].unk0); + DestroySingle2DGfxResObj(arg0->unk22F0[3], arg0->unk21B8[i].unk4); arg0->unk21B8[i].unk0 = NULL; arg0->unk21B8[i].unk4 = NULL; } diff --git a/src/overlay_42_02227EE0.c b/src/overlay_42_02227EE0.c index b9cf269a96..5458cff998 100644 --- a/src/overlay_42_02227EE0.c +++ b/src/overlay_42_02227EE0.c @@ -1,5 +1,5 @@ #include "overlay_42.h" -#include "unk_0200ACF0.h" +#include "sprite_transfer.h" const UnkStruct_ov42_02227FA4 ov42_02229E04 = { 0xFFFFFFFF }; @@ -96,10 +96,10 @@ void ov42_02227E78(UnkStruct_ov42_02227060 *arg0, SpriteResource *arg1, s32 arg2 s32 temp_r7 = SpriteTransfer_GetPlttOffset(arg1, NNS_G2D_VRAM_TYPE_2DMAIN); s32 temp_r6 = SpriteTransfer_GetPlttOffset(arg1, NNS_G2D_VRAM_TYPE_2DSUB); if (temp_r7 != -1) { - PaletteData_LoadPalette(arg0->unk4, sp4->pRawData, PLTTBUF_MAIN_OBJ, (temp_r7 * 16), (arg2 << 5)); + PaletteData_LoadPalette(arg0->unk4, sp4->pRawData, PLTTBUF_MAIN_OBJ, temp_r7 * 16, arg2 << 5); } if (temp_r6 != -1) { - PaletteData_LoadPalette(arg0->unk4, sp4->pRawData, PLTTBUF_SUB_OBJ, (temp_r6 * 16), (arg2 << 5)); + PaletteData_LoadPalette(arg0->unk4, sp4->pRawData, PLTTBUF_SUB_OBJ, temp_r6 * 16, arg2 << 5); } } @@ -129,7 +129,7 @@ u16 ov42_02227F44(UnkStruct_ov42_02227F68 *arg0) { return arg0->unk2; } -void ov42_02227F48(UnkStruct_ov42_02227F68 *arg0, void *arg1) { +void ov42_02227F48(UnkStruct_ov42_02227F68 *arg0, const void *arg1) { GF_ASSERT(arg0); memcpy(arg0->unk4, arg1, arg0->unk0 * arg0->unk2 * 4); } diff --git a/src/overlay_42_02227F68.c b/src/overlay_42_02227F68.c index 99c088b10b..94f16490ae 100644 --- a/src/overlay_42_02227F68.c +++ b/src/overlay_42_02227F68.c @@ -81,7 +81,7 @@ UnkStruct_ov42_02228110 *ov42_022280B8(UnkStruct_ov42_022280A8 *arg0, UnkStruct_ } void ov42_02228100(void *arg0) { - __builtin__clear(arg0, 24); + memset(arg0, 0, 24); } UnkStruct_ov42_02228110 *ov42_02228110(UnkStruct_ov42_022280A8 *arg0, u8 arg1) { diff --git a/src/overlay_42_02233EDC.c b/src/overlay_42_02233EDC.c index e4db6668b2..413f1745c4 100644 --- a/src/overlay_42_02233EDC.c +++ b/src/overlay_42_02233EDC.c @@ -172,7 +172,7 @@ UnkStruct_ov42_0222903C *ov42_0222903C(UnkStruct_ov42_02228EDC *arg0, UnkStruct_ temp_r4->unkE = 0; temp_r4->unk10 = 0; - u16 sp4[4]; + s16 sp4[4]; sp4[0] = ov42_02228188(arg1, 0); sp4[1] = ov42_02228188(arg1, 1); sp4[2] = ov42_0222922C(sp4[1], temp_r4->unk12); @@ -184,7 +184,7 @@ UnkStruct_ov42_0222903C *ov42_0222903C(UnkStruct_ov42_02228EDC *arg0, UnkStruct_ void ov42_022290C4(UnkStruct_ov42_0222903C *arg0) { ov42_0222740C(arg0->unk4); - __builtin__clear(arg0, sizeof(UnkStruct_ov42_0222903C)); + memset(arg0, 0, sizeof(UnkStruct_ov42_0222903C)); } void ov42_022290DC(UnkStruct_ov42_02228EDC *arg0) { @@ -321,7 +321,7 @@ void ov42_02229358(UnkStruct_ov44_02232914 *arg0, UnkStruct_ov42_02228110 *arg1) } void ov42_02229394(UnkStruct_ov44_02232914 *arg0) { - __builtin__clear(arg0, 4); + memset(arg0, 0, 4); } void ov42_022293A0(UnkStruct_ov44_02232914 *arg0, s16 arg1, s16 arg2) { @@ -337,16 +337,15 @@ s16 ov42_022293B0(UnkStruct_ov44_02232914 *arg0) { return arg0->unk2; } -UnkStruct_ov42_022293B8 *ov42_022293B8(G2dRenderer *g2dRenderer, BgConfig *bgConfig, u8 *arg2, enum HeapID heapID) { +UnkStruct_ov42_022293B8 *ov42_022293B8(G2dRenderer *g2dRenderer, BgConfig *bgConfig, const UnkTemplate_ov42_022293B8 *arg2, enum HeapID heapID) { UnkStruct_ov42_022293B8 *temp_r0 = Heap_Alloc(heapID, sizeof(UnkStruct_ov42_022293B8)); - __builtin__clear(temp_r0, sizeof(UnkStruct_ov42_022293B8)); + memset(temp_r0, 0, sizeof(UnkStruct_ov42_022293B8)); temp_r0->g2dRenderer = g2dRenderer; temp_r0->bgConfig = bgConfig; - temp_r0->unk10 = arg2[0]; - u8 temp_r1 = arg2[1]; - temp_r0->unk14 = temp_r1; - ov42_02229514(temp_r0->bgConfig, temp_r1, arg2); - temp_r0->unk8 = GfGfxLoader_GetScrnData((NarcId)arg2[8], arg2[9], arg2[10], &temp_r0->nnsg2dScreenData, heapID); + temp_r0->unk10 = arg2->unk_0; + temp_r0->unk14 = arg2->unk_1; + ov42_02229514(temp_r0->bgConfig, temp_r0->unk14, arg2); + temp_r0->unk8 = GfGfxLoader_GetScrnData((NarcId)arg2->narcId, arg2->fileId, arg2->compressed, &temp_r0->nnsg2dScreenData, heapID); return temp_r0; } @@ -392,17 +391,17 @@ void ov42_02229420(UnkStruct_ov42_022293B8 *arg0, UnkStruct_ov44_02232914 *arg1) ov42_02229570(arg0, temp_r4, temp_r5); } -void ov42_02229514(BgConfig *bgConfig, s32 arg1, u8 *arg2) { +void ov42_02229514(BgConfig *bgConfig, s32 arg1, const UnkTemplate_ov42_022293B8 *arg2) { BgTemplate bgTemplate = ov42_02229EBC; - bgTemplate.colorMode = arg2[2]; - bgTemplate.screenBase = arg2[3]; - bgTemplate.charBase = arg2[4]; - bgTemplate.bgExtPltt = arg2[5]; - bgTemplate.priority = arg2[6]; + bgTemplate.colorMode = arg2->colorMode; + bgTemplate.screenBase = arg2->screenBase; + bgTemplate.charBase = arg2->charBase; + bgTemplate.bgExtPltt = arg2->bgExtPltt; + bgTemplate.priority = arg2->priority; bgTemplate.areaOver = 0; - bgTemplate.mosaic = arg2[7]; + bgTemplate.mosaic = arg2->mosaic; FreeBgTilemapBuffer(bgConfig, arg1); - InitBgFromTemplate(bgConfig, arg1, &bgTemplate, 0); + InitBgFromTemplate(bgConfig, arg1, &bgTemplate, GF_BG_TYPE_TEXT); } void ov42_02229570(UnkStruct_ov42_022293B8 *arg0, s16 arg1, s16 arg2) { diff --git a/src/overlay_44_0222CDAC.c b/src/overlay_44_0222CDAC.c index fbbf80dea2..3938a4c5c5 100644 --- a/src/overlay_44_0222CDAC.c +++ b/src/overlay_44_0222CDAC.c @@ -1,6 +1,7 @@ +#include "global.h" + #include "msgdata/msg.naix" #include "msgdata/msg/msg_0778.h" -#include "msgdata/msg/msg_0800.h" #include "bg_window.h" #include "dwcaccount.h" @@ -12,6 +13,7 @@ #include "overlay_00_thumb.h" #include "overlay_44_02232E9C.h" #include "party.h" +#include "poke_overlay.h" #include "pokedex.h" #include "pokemon.h" #include "render_text.h" @@ -20,13 +22,13 @@ #include "save_wifi_history.h" #include "sound.h" #include "sound_02004A44.h" +#include "sprite_transfer.h" #include "sys_flags.h" #include "system.h" #include "text.h" #include "touch_hitbox_controller.h" #include "unk_02005D10.h" #include "unk_0200A090.h" -#include "unk_0200ACF0.h" #include "unk_0200B150.h" #include "unk_0200FA24.h" #include "unk_02013534.h" @@ -40,25 +42,21 @@ #include "unk_020379A0.h" #include "unk_02037C94.h" #include "unk_0203A3B0.h" +#include "unk_02078834.h" #include "unk_020915B0.h" #include "unk_020971F8.h" #include "vram_transfer_manager.h" static const u8 ov44_02235360[4] = { 0, 2, 4, 0 }; + static const u8 ov44_02235364[4] = { 8, 7, 5, 7 }; + static const u8 ov44_02235368[4] = { 0, 1, 2, 1 }; -static const u8 _0223535C[4] = { 1, 3, 5, 0 }; -static const s8 ov44_0223536C[8] = { 248, 247, 246, 246, 247, 0, 0, 0 }; -static const WindowTemplate ov44_02235384 = { - .bgId = 1, - .left = 25, - .top = 16, - .width = 6, - .height = 8, - .palette = 14, - .baseTile = 393, -}; +static const u8 ov44_0223535C[4] = { 1, 3, 5, 0 }; + +static const s8 ov44_0223536C[5] = { 248, 247, 246, 246, 247 }; + static const WindowTemplate ov44_02235374 = { .bgId = 2, .left = 25, @@ -68,6 +66,7 @@ static const WindowTemplate ov44_02235374 = { .palette = 14, .baseTile = 81, }; + static const WindowTemplate ov44_0223537C = { .bgId = 2, .left = 25, @@ -77,6 +76,17 @@ static const WindowTemplate ov44_0223537C = { .palette = 14, .baseTile = 81, }; + +static const WindowTemplate ov44_02235384 = { + .bgId = 1, + .left = 25, + .top = 16, + .width = 6, + .height = 8, + .palette = 14, + .baseTile = 393, +}; + static const WindowTemplate ov44_0223538C = { .bgId = 2, .left = 25, @@ -86,156 +96,180 @@ static const WindowTemplate ov44_0223538C = { .palette = 13, .baseTile = 81, }; + static const TouchscreenHitbox ov44_02235394[3] = { { .rect = { .top = 160, .bottom = 192, .left = 8, .right = 64 } }, { .rect = { .top = 160, .bottom = 192, .left = 80, .right = 176 } }, { .rect = { .top = 160, .bottom = 192, .left = 192, .right = 248 } }, }; + static const UnkStruct_ov44_0222DD64 ov44_022353A0[2] = { { .strno = 39, .value = 1 }, { .strno = 41, .value = 0xFFFFFFFE }, }; + static const GraphicsModes ov44_022353B0 = { .dispMode = GX_DISPMODE_GRAPHICS, .bgMode = GX_BGMODE_0, .subMode = GX_BGMODE_0, ._2d3dMode = GX_BG0_AS_2D, }; + static const ObjCharTransferTemplate ov44_022353C0 = { .maxTasks = 20, .sizeMain = 0x20000, .sizeSub = 0x4000, .heapID = HEAP_ID_53, }; + static const u32 ov44_022353D0[6] = { 100, 102, 104, 108, 106, 110 }; static const BgTemplate ov44_022353E8 = { .x = 0, .y = 0, - .bufferSize = 4096, + .bufferSize = GF_BG_BUF_SIZE_512x256_4BPP, .baseTile = 0, - .size = 3, - .colorMode = 0, - .screenBase = 28, - .charBase = 0, - .bgExtPltt = 0, + .size = GF_BG_SCR_SIZE_512x256, + .colorMode = GX_BG_COLORMODE_16, + .screenBase = GX_BG_SCRBASE_0xe000, + .charBase = GX_BG_CHARBASE_0x00000, + .bgExtPltt = GX_BG_EXTPLTT_01, .priority = 0, - .areaOver = 0, + .areaOver = GX_BG_AREAOVER_XLU, .dummy = 0, .mosaic = 0, }; + +static const BgTemplate ov44_02235404 = { + .x = 0, + .y = 0, + .bufferSize = GF_BG_BUF_SIZE_256x256_4BPP, + .baseTile = 0, + .size = GF_BG_SCR_SIZE_256x256, + .colorMode = GX_BG_COLORMODE_16, + .screenBase = GX_BG_SCRBASE_0xd000, + .charBase = GX_BG_CHARBASE_0x10000, + .bgExtPltt = GX_BG_EXTPLTT_01, + .priority = 1, + .areaOver = GX_BG_AREAOVER_XLU, + .dummy = 0, + .mosaic = 0, +}; + static const BgTemplate ov44_02235420 = { .x = 0, .y = 0, - .bufferSize = 2048, + .bufferSize = GF_BG_BUF_SIZE_256x256_4BPP, .baseTile = 0, - .size = 1, - .colorMode = 0, - .screenBase = 30, - .charBase = 6, - .bgExtPltt = 1, + .size = GF_BG_SCR_SIZE_256x256, + .colorMode = GX_BG_COLORMODE_16, + .screenBase = GX_BG_SCRBASE_0xf000, + .charBase = GX_BG_CHARBASE_0x18000, + .bgExtPltt = GX_BG_EXTPLTT_23, .priority = 3, - .areaOver = 0, + .areaOver = GX_BG_AREAOVER_XLU, .dummy = 0, .mosaic = 0, }; + static const BgTemplate ov44_0223543C = { .x = 0, .y = 0, - .bufferSize = 2048, + .bufferSize = GF_BG_BUF_SIZE_256x256_4BPP, .baseTile = 0, - .size = 1, - .colorMode = 0, - .screenBase = 28, - .charBase = 0, - .bgExtPltt = 0, + .size = GF_BG_SCR_SIZE_256x256, + .colorMode = GX_BG_COLORMODE_16, + .screenBase = GX_BG_SCRBASE_0xe000, + .charBase = GX_BG_CHARBASE_0x00000, + .bgExtPltt = GX_BG_EXTPLTT_01, .priority = 3, - .areaOver = 0, + .areaOver = GX_BG_AREAOVER_XLU, .dummy = 0, .mosaic = 0, }; + static const BgTemplate ov44_02235458 = { .x = 0, .y = 0, - .bufferSize = 2048, + .bufferSize = GF_BG_BUF_SIZE_256x256_4BPP, .baseTile = 0, - .size = 1, - .colorMode = 0, - .screenBase = 29, - .charBase = 2, - .bgExtPltt = 0, + .size = GF_BG_SCR_SIZE_256x256, + .colorMode = GX_BG_COLORMODE_16, + .screenBase = GX_BG_SCRBASE_0xe800, + .charBase = GX_BG_CHARBASE_0x08000, + .bgExtPltt = GX_BG_EXTPLTT_01, .priority = 0, - .areaOver = 0, + .areaOver = GX_BG_AREAOVER_XLU, .dummy = 0, .mosaic = 0, }; + static const BgTemplate ov44_02235474 = { .x = 0, .y = 0, - .bufferSize = 2048, + .bufferSize = GF_BG_BUF_SIZE_256x256_4BPP, .baseTile = 0, - .size = 1, - .colorMode = 0, - .screenBase = 30, - .charBase = 4, - .bgExtPltt = 0, + .size = GF_BG_SCR_SIZE_256x256, + .colorMode = GX_BG_COLORMODE_16, + .screenBase = GX_BG_SCRBASE_0xf000, + .charBase = GX_BG_CHARBASE_0x10000, + .bgExtPltt = GX_BG_EXTPLTT_01, .priority = 2, - .areaOver = 0, + .areaOver = GX_BG_AREAOVER_XLU, .dummy = 0, .mosaic = 0, }; + static const BgTemplate ov44_02235490 = { .x = 0, .y = 0, - .bufferSize = 2048, + .bufferSize = GF_BG_BUF_SIZE_256x256_4BPP, .baseTile = 0, - .size = 1, - .colorMode = 0, - .screenBase = 27, - .charBase = 2, - .bgExtPltt = 1, + .size = GF_BG_SCR_SIZE_256x256, + .colorMode = GX_BG_COLORMODE_16, + .screenBase = GX_BG_SCRBASE_0xd800, + .charBase = GX_BG_CHARBASE_0x08000, + .bgExtPltt = GX_BG_EXTPLTT_23, .priority = 2, - .areaOver = 0, + .areaOver = GX_BG_AREAOVER_XLU, .dummy = 0, .mosaic = 0, }; + static const BgTemplate ov44_022354AC = { .x = 0, .y = 0, - .bufferSize = 2048, + .bufferSize = GF_BG_BUF_SIZE_256x256_4BPP, .baseTile = 0, - .size = 1, - .colorMode = 0, - .screenBase = 31, - .charBase = 6, - .bgExtPltt = 0, + .size = GF_BG_SCR_SIZE_256x256, + .colorMode = GX_BG_COLORMODE_16, + .screenBase = GX_BG_SCRBASE_0xf800, + .charBase = GX_BG_CHARBASE_0x18000, + .bgExtPltt = GX_BG_EXTPLTT_01, .priority = 0, - .areaOver = 0, + .areaOver = GX_BG_AREAOVER_XLU, .dummy = 0, .mosaic = 0, }; -static const BgTemplate ov44_02235404 = { - .x = 0, - .y = 0, - .bufferSize = 2048, - .baseTile = 0, - .size = 1, - .colorMode = 0, - .screenBase = 26, - .charBase = 4, - .bgExtPltt = 0, - .priority = 1, - .areaOver = 0, - .dummy = 0, - .mosaic = 0, + +static const TouchscreenHitbox ov44_022354E8[8] = { + { .rect = { .top = 0, .bottom = 47, .left = 0, .right = 119 } }, + { .rect = { .top = 48, .bottom = 95, .left = 0, .right = 119 } }, + { .rect = { .top = 96, .bottom = 143, .left = 0, .right = 119 } }, + { .rect = { .top = 144, .bottom = 191, .left = 0, .right = 119 } }, + { .rect = { .top = 0, .bottom = 47, .left = 128, .right = 255 } }, + { .rect = { .top = 48, .bottom = 95, .left = 128, .right = 255 } }, + { .rect = { .top = 96, .bottom = 143, .left = 128, .right = 255 } }, + { .rect = { .top = 144, .bottom = 191, .left = 128, .right = 255 } }, }; -static const ListMenuTemplate ov44_022354C8 = { + +static const ListMenuTemplate ov44_02235508 = { .items = NULL, .moveCursorFunc = ov44_0222C288, .itemPrintFunc = NULL, .window = NULL, - .totalItems = 2, - .maxShowed = 2, + .totalItems = 4, + .maxShowed = 4, .header_X = 0, .item_X = 8, .cursor_X = 0, @@ -250,7 +284,8 @@ static const ListMenuTemplate ov44_022354C8 = { .cursorKind = 0, .data = NULL, }; -static const ListMenuTemplate ov44_02235508 = { + +static const ListMenuTemplate ov44_02235528 = { .items = NULL, .moveCursorFunc = ov44_0222C288, .itemPrintFunc = NULL, @@ -271,13 +306,14 @@ static const ListMenuTemplate ov44_02235508 = { .cursorKind = 0, .data = NULL, }; -static const ListMenuTemplate ov44_02235528 = { + +static const ListMenuTemplate ov44_022354C8 = { .items = NULL, .moveCursorFunc = ov44_0222C288, .itemPrintFunc = NULL, .window = NULL, - .totalItems = 4, - .maxShowed = 4, + .totalItems = 2, + .maxShowed = 2, .header_X = 0, .item_X = 8, .cursor_X = 0, @@ -292,16 +328,7 @@ static const ListMenuTemplate ov44_02235528 = { .cursorKind = 0, .data = NULL, }; -static const TouchscreenHitbox ov44_022354E8[8] = { - { .rect = { .top = 0, .bottom = 47, .left = 0, .right = 119 } }, - { .rect = { .top = 48, .bottom = 95, .left = 0, .right = 119 } }, - { .rect = { .top = 96, .bottom = 143, .left = 0, .right = 119 } }, - { .rect = { .top = 144, .bottom = 191, .left = 0, .right = 119 } }, - { .rect = { .top = 0, .bottom = 47, .left = 128, .right = 255 } }, - { .rect = { .top = 48, .bottom = 95, .left = 128, .right = 255 } }, - { .rect = { .top = 96, .bottom = 143, .left = 128, .right = 255 } }, - { .rect = { .top = 144, .bottom = 191, .left = 128, .right = 255 } }, -}; + static const GraphicsBanks ov44_02235548 = { .bg = GX_VRAM_BG_128_A, .bgextpltt = GX_VRAM_BGEXTPLTT_NONE, @@ -314,111 +341,154 @@ static const GraphicsBanks ov44_02235548 = { .tex = GX_VRAM_TEX_NONE, .texpltt = GX_VRAM_TEXPLTT_NONE, }; -static const SpriteTemplate ov44_02235570[3] = { - { - .spriteList = NULL, - .header = NULL, - .position = { .x = 0x28000, .y = 0x1AC000, .z = 0 }, - .scale = { .x = 4096, .y = 4096, .z = 4096 }, - .rotation = 0, - .drawPriority = 128, - .whichScreen = NNS_G2D_VRAM_TYPE_2DSUB, - .heapID = HEAP_ID_DEFAULT, - }, - { - .spriteList = NULL, - .header = NULL, - .position = { .x = 0x80000, .y = 0x1AC000, .z = 0 }, - .scale = { .x = 4096, .y = 4096, .z = 4096 }, - .rotation = 0, - .drawPriority = 128, - .whichScreen = NNS_G2D_VRAM_TYPE_2DSUB, - .heapID = HEAP_ID_DEFAULT, - }, - { - .spriteList = NULL, - .header = NULL, - .position = { .x = 0xE0000, .y = 0x1AC000, .z = 0 }, - .scale = { .x = 4096, .y = 4096, .z = 4096 }, - .rotation = 0, - .drawPriority = 128, - .whichScreen = NNS_G2D_VRAM_TYPE_2DSUB, - .heapID = HEAP_ID_DEFAULT, - }, + +UnkStruct_ov44_0222DD64 ov44_02236668 = { .strno = msg_0778_00034, .value = 29 }; +UnkStruct_ov44_0222DD64 ov44_02236670 = { .strno = msg_0778_00041, .value = LIST_CANCEL }; +UnkStruct_ov44_0222DD64 ov44_02236678 = { .strno = msg_0778_00032, .value = 21 }; +UnkStruct_ov44_0222DD64 ov44_02236660 = { .strno = msg_0778_00030, .value = 19 }; + +func_type_02236680 ov44_02236680[7] = { + ov44_02230300, + ov44_02230E5C, + ov44_022307E0, + ov44_022308B0, + ov44_02230B2C, + ov44_02230C68, + ov44_02230D8C, }; -// UnkStruct_ov44_0222DD64 _02236660[4] = { -// {.strno = 0x1E, .value = 0x13}, {.strno = 0x22, .value = 0x1D}, -// {.strno = 0x29, .value = 0xFFFFFFFE}, {.strno = 0x20, .value = 0x15} -// }; - -// func_type_02236680 ov44_02236680[7] = {ov44_02230300, ov44_02230E5C, ov44_022307E0, ov44_022308B0, ov44_02230B2C, ov44_02230C68, ov44_02230D8C}; - -// ListMenuTemplate ov44_022366FC = { -// .items = NULL, -// .moveCursorFunc = ov44_0222C288, -// .itemPrintFunc = NULL, -// .window = NULL, -// .totalItems = 3, -// .maxShowed = 3, -// .header_X = 0, -// .item_X = 8, -// .cursor_X = 0, -// .upText_Y = 0, -// .cursorPal = 1, -// .fillValue = 0xF, -// .cursorShadowPal = 2, -// .lettersSpacing = 0, -// .itemVerticalPadding = 0, -// .scrollMultiple = 0, -// .fontId = 0, -// .cursorKind = 0, -// .data = NULL -// }; - -// UnkStruct_ov44_0222DD64 ov44_022366BC[4] = { -// {.strno = 0x5F, .value = 0x0B}, {.strno = 0x60, .value = 0x09}, -// {.strno = 0x61, .value = 0x0A}, {.strno = 0x29, .value = 0xFFFFFFFE} -// }; -// UnkStruct_ov44_0222DD64 ov44_022366DC[4] = { -// {.strno = 0x62, .value = 0x0E}, {.strno = 0x63, .value = 0x0C}, -// {.strno = 0x64, .value = 0x0D}, {.strno = 0x29, .value = 0xFFFFFFFE} -// }; -// UnkStruct_ov44_0222DD64 ov44_0223669C[4] = { -// {.strno = 0x47, .value = 0x17}, {.strno = 0x47, .value = 0x19}, -// {.strno = 0x47, .value = 0x1B}, {.strno = 0x29, .value = 0xFFFFFFFE} -// }; - -// UnkStruct_ov44_0222DD64 ov44_0223671C[10] = { -// {.strno = 0x5D, .value = 0x00}, {.strno = 0x5E, .value = 0x01}, -// {.strno = 0x1C, .value = 0x0F}, {.strno = 0x00, .value = 0x00}, -// {.strno = 0x00, .value = 0x00}, {.strno = 0x00, .value = 0x00}, -// {.strno = 0x00, .value = 0x00}, {.strno = 0x00, .value = 0x00}, -// {.strno = 0x00, .value = 0x00}, {.strno = 0x00, .value = 0x00} -// }; -// func_type_0222A60C ov44_0223676C[72] = { -// ov44_0222B228, ov44_0222B36C, ov44_0222B3A8, ov44_0222B42C, ov44_0222B494, ov44_0222B528, ov44_0222B64C, ov44_0222BA6C, ov44_0222BAB8, ov44_0222BAC4, -// ov44_0222BAD0, ov44_0222BB38, ov44_0222BBA4, ov44_0222BC78, ov44_0222B744, ov44_0222BE3C, ov44_0222C060, ov44_0222C084, ov44_0222C35C, ov44_0222C684, -// ov44_0222C9AC, ov44_0222C9F4, ov44_0222CB34, ov44_0222CB7C, ov44_0222CC34, ov44_0222CDAC, ov44_0222CE40, ov44_0222CFE0, ov44_0222D0A4, ov44_0222D10C, -// ov44_0222D1BC, ov44_0222D1C0, ov44_0222D1C4, ov44_0222EB90, ov44_0222F4E0, ov44_0222D1C8, ov44_0222D3DC, ov44_0222D594, ov44_0222DA64, ov44_0222D214, -// ov44_0222D23C, ov44_0222D2B0, ov44_0222DC18, ov44_0222DD64, ov44_0222E090, ov44_0222E45C, ov44_0222E62C, ov44_0222E630, ov44_0222E634, ov44_0222E860, -// ov44_0222E908, ov44_0222E948, ov44_0222E9C4, ov44_0222EA2C, ov44_0222EBB8, ov44_0222EBC4, ov44_0222EC14, ov44_0222EC2C, ov44_0222EC98, ov44_0222EDB8, -// ov44_0222EE10, ov44_0222EE54, ov44_0222EED4, ov44_0222F0AC, ov44_0222F194, ov44_0222BFF0, ov44_0222E5D8, ov44_0222E5DC, ov44_0222D824, ov44_0222BEE0, -// ov44_0222E5E0, ov44_0222BF6C}; - -extern UnkStruct_ov44_0222DD64 _02236660[4]; -extern func_type_02236680 ov44_02236680[7]; -extern UnkStruct_ov44_0222DD64 ov44_0223669C[4]; -extern UnkStruct_ov44_0222DD64 ov44_022366BC[4]; -extern UnkStruct_ov44_0222DD64 ov44_022366DC[4]; -extern ListMenuTemplate ov44_022366FC; -extern UnkStruct_ov44_0222DD64 ov44_0223671C[4]; -extern func_type_0222A60C ov44_0223676C[20]; - -// static s32 _022368A0[8]; - -extern s32 _022368A0[8]; -extern void *sub_02078D24; +ListMenuTemplate ov44_022366FC = { + .items = NULL, + .moveCursorFunc = ov44_0222C288, + .itemPrintFunc = NULL, + .window = NULL, + .totalItems = 3, + .maxShowed = 3, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 0, + .cursorPal = 1, + .fillValue = 0xF, + .cursorShadowPal = 2, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = 0, + .fontId = 0, + .cursorKind = 0, + .data = NULL +}; + +UnkStruct_ov44_0222DD64 ov44_0223669C[4] = { + { .strno = msg_0778_00071, .value = 23 }, + { .strno = msg_0778_00071, .value = 25 }, + { .strno = msg_0778_00071, .value = 27 }, + { .strno = msg_0778_00041, .value = LIST_CANCEL } +}; + +UnkStruct_ov44_0222DD64 ov44_022366BC[4] = { + { .strno = msg_0778_00095, .value = 11 }, + { .strno = msg_0778_00096, .value = 9 }, + { .strno = msg_0778_00097, .value = 10 }, + { .strno = msg_0778_00041, .value = LIST_CANCEL } +}; + +UnkStruct_ov44_0222DD64 ov44_022366DC[4] = { + { .strno = msg_0778_00098, .value = 14 }, + { .strno = msg_0778_00099, .value = 12 }, + { .strno = msg_0778_00100, .value = 13 }, + { .strno = msg_0778_00041, .value = LIST_CANCEL } +}; + +UnkStruct_ov44_0222DD64 ov44_0223671C[10] = { + { .strno = msg_0778_00093, .value = 0 }, + { .strno = msg_0778_00094, .value = 1 }, + { .strno = msg_0778_00028, .value = 15 }, + { .strno = 0, .value = 0 }, + { .strno = 0, .value = 0 }, + { .strno = 0, .value = 0 }, + { .strno = 0, .value = 0 }, + { .strno = 0, .value = 0 }, + { .strno = 0, .value = 0 }, + { .strno = 0, .value = 0 } +}; + +func_type_0222A60C ov44_0223676C[72] = { + ov44_0222B228, + ov44_0222B36C, + ov44_0222B3A8, + ov44_0222B42C, + ov44_0222B494, + ov44_0222B528, + ov44_0222B64C, + ov44_0222BA6C, + ov44_0222BAB8, + ov44_0222BAC4, + ov44_0222BAD0, + ov44_0222BB38, + ov44_0222BBA4, + ov44_0222BC78, + ov44_0222B744, + ov44_0222BE3C, + ov44_0222C060, + ov44_0222C084, + ov44_0222C35C, + ov44_0222C684, + ov44_0222C9AC, + ov44_0222C9F4, + ov44_0222CB34, + ov44_0222CB7C, + ov44_0222CC34, + ov44_0222CDAC, + ov44_0222CE40, + ov44_0222CFE0, + ov44_0222D0A4, + ov44_0222D10C, + ov44_0222D1BC, + ov44_0222D1C0, + ov44_0222D1C4, + ov44_0222EB90, + ov44_0222F4E0, + ov44_0222D1C8, + ov44_0222D3DC, + ov44_0222D594, + ov44_0222DA64, + ov44_0222D214, + ov44_0222D23C, + ov44_0222D2B0, + ov44_0222DC18, + ov44_0222DD64, + ov44_0222E090, + ov44_0222E45C, + ov44_0222E62C, + ov44_0222E630, + ov44_0222E634, + ov44_0222E860, + ov44_0222E908, + ov44_0222E948, + ov44_0222E9C4, + ov44_0222EA2C, + ov44_0222EBB8, + ov44_0222EBC4, + ov44_0222EC14, + ov44_0222EC2C, + ov44_0222EC98, + ov44_0222EDB8, + ov44_0222EE10, + ov44_0222EE54, + ov44_0222EED4, + ov44_0222F0AC, + ov44_0222F194, + ov44_0222BFF0, + ov44_0222E5D8, + ov44_0222E5DC, + ov44_0222D824, + ov44_0222BEE0, + ov44_0222E5E0, + ov44_0222BF6C, +}; + +static s32 _022368A0[8]; FS_EXTERN_OVERLAY(OVY_42); @@ -1059,7 +1129,7 @@ void ov44_0222ABB8(UnkStruct_ov44_0222AB24 *arg0) { } void ov44_0222ABDC(BgConfig *arg0, UnkStruct_ov44_0222AB24 *arg1, s32 arg2, u8 arg3, u8 arg4, s32 arg5, s32 arg6) { - CopyToBgTilemapRect(arg0, arg2, arg3, arg4, 2, 2, arg1->unk4->rawData, (arg5 * 2), 0, arg1->unk4->screenWidth / 8, arg1->unk4->screenHeight / 8); + CopyToBgTilemapRect(arg0, arg2, arg3, arg4, 2, 2, arg1->unk4->rawData, arg5 * 2, 0, arg1->unk4->screenWidth / 8, arg1->unk4->screenHeight / 8); s32 r0 = ov44_0222ADC4(arg2); BgTilemapRectChangePalette(arg0, arg2, arg3, arg4, 2, 2, r0 + arg6); ScheduleBgTilemapBufferTransfer(arg0, arg2); @@ -1292,7 +1362,7 @@ void ov44_0222B0B0(UnkStruct_ov44_022319EC *arg0) { FillWindowPixelBuffer(&arg0->unk2F0, 0); // Nintendo Wi-Fi Connection - ReadMsgDataIntoString(arg0->unk168, 21, arg0->unk178); + ReadMsgDataIntoString(arg0->unk168, msg_0778_00021, arg0->unk178); AddTextPrinterParameterizedWithColor(&arg0->unk2F0, 1, arg0->unk178, FontID_String_GetCenterAlignmentX(0, arg0->unk178, 0, 176), 0, 255, 0xF0E00, NULL); ScheduleWindowCopyToVram(&arg0->unk2F0); } @@ -1962,7 +2032,7 @@ s32 ov44_0222C35C(UnkStruct_ov44_022319EC *arg0, s32 arg1) { if ((sub_020393C8() == 0) && (sub_020392A0() == 0)) { return arg1; } - ov00_021E5CBC(&sub_02078D24); + ov00_021E5CBC(sub_02078D24); arg0->unkD68.unk4 = 0; NARC *temp_r0 = NARC_New(NARC_a_0_8_8, HEAP_ID_53); ov44_0222AB24(arg0->unk15C, &arg0->unkB0C, temp_r0, HEAP_ID_53); @@ -2590,7 +2660,7 @@ s32 ov44_0222D3DC(UnkStruct_ov44_022319EC *arg0, s32 arg1) { listMenuTemplate.maxShowed++; s32 index = listLen - 1; - listMenuItems[index] = _02236660[0]; + listMenuItems[index] = ov44_02236660; } if (ov44_02229EE0(arg0) == 1) { listLen++; @@ -2598,7 +2668,7 @@ s32 ov44_0222D3DC(UnkStruct_ov44_022319EC *arg0, s32 arg1) { listMenuTemplate.maxShowed++; s32 index = listLen - 1; - listMenuItems[index] = _02236660[3]; + listMenuItems[index] = ov44_02236678; } if (ov44_02229EFC(arg0) == 1) { listLen++; @@ -2606,11 +2676,11 @@ s32 ov44_0222D3DC(UnkStruct_ov44_022319EC *arg0, s32 arg1) { listMenuTemplate.maxShowed++; s32 index = listLen - 1; - listMenuItems[index] = _02236660[1]; + listMenuItems[index] = ov44_02236668; } listMenuTemplate.totalItems++; listMenuTemplate.maxShowed++; - listMenuItems[listLen] = _02236660[2]; + listMenuItems[listLen] = ov44_02236670; arg0->unk154 = ListMenuItems_New(listLen + 1, HEAP_ID_53); for (s32 i = 0; i < listLen + 1; i++) { @@ -2771,7 +2841,7 @@ s32 ov44_0222D8B0(UnkStruct_ov44_022319EC *arg0, s32 arg1) { } arg0->unk154 = ListMenuItems_New(listLen, HEAP_ID_53); for (s32 i = 0; i < listLen; i++) { - if (listMenuItems[i].strno != 71) { + if (listMenuItems[i].strno != msg_0778_00071) { ListMenuItems_AppendFromMsgData(arg0->unk154, arg0->unk168, listMenuItems[i].strno, listMenuItems[i].value); } else { BufferWiFiPlazaActivityName(arg0->unk164, 0, i); @@ -2785,7 +2855,7 @@ s32 ov44_0222D8B0(UnkStruct_ov44_022319EC *arg0, s32 arg1) { RemoveWindow(&arg0->unk320); } u32 temp_r0 = listLen * 2; - AddWindowParameterized(arg0->unk15C, &arg0->unk320, 2, 16, 9, 15, temp_r0, 13, (59 - temp_r0)); + AddWindowParameterized(arg0->unk15C, &arg0->unk320, 2, 16, 9, 15, temp_r0, 13, 59 - temp_r0); DrawFrameAndWindow1(&arg0->unk320, 1, 473, 11); listMenuTemplate.items = arg0->unk154; listMenuTemplate.window = &arg0->unk320; @@ -2964,7 +3034,7 @@ s32 ov44_0222DD64(UnkStruct_ov44_022319EC *arg0, s32 arg1) { sp1C -= 1; } else if (temp_r4 == 16) { if (val == 2) { - ListMenuItems_AppendFromMsgData(arg0->unk154, arg0->unk168, 36, listMenuItems[i].value); + ListMenuItems_AppendFromMsgData(arg0->unk154, arg0->unk168, msg_0778_00036, listMenuItems[i].value); } else { listMenuTemplate.maxShowed--; listMenuTemplate.totalItems--; @@ -2977,7 +3047,7 @@ s32 ov44_0222DD64(UnkStruct_ov44_022319EC *arg0, s32 arg1) { ListMenuItems_AppendFromMsgData(arg0->unk154, arg0->unk168, listMenuItems[i].strno, listMenuItems[i].value); } } - AddWindowParameterized(arg0->unk15C, &arg0->unk320, 2, 16, (((3 - sp1C) * 2) + 11), 15, (sp1C * 2), 13, 59); + AddWindowParameterized(arg0->unk15C, &arg0->unk320, 2, 16, ((3 - sp1C) * 2) + 11, 15, sp1C * 2, 13, 59); DrawFrameAndWindow1(&arg0->unk320, 1, 473, 11); listMenuTemplate.items = arg0->unk154; // itemPrintFunc listMenuTemplate.window = &arg0->unk320; @@ -3360,7 +3430,7 @@ s32 ov44_0222E860(UnkStruct_ov44_022319EC *arg0, s32 arg1) { s32 ov44_0222E908(UnkStruct_ov44_022319EC *arg0, s32 arg1) { if ((ov44_0222E7C4(arg0) == 0) && (sub_02037B38(14) != 0)) { - u16 r1 = ov44_02229F00(arg0, &arg0->unk4->unk0); + s16 r1 = ov44_02229F00(arg0, &arg0->unk4->unk0); if (sub_02037C0C(sub_0203769C(), &r1) != 0) { arg0->unk348 = 51; } @@ -4275,7 +4345,7 @@ void ov44_022300C8(UnkStruct_ov44_022319EC *arg0) { var_r1 = 0; } if (sp18 == 1 || var_r1 == 1) { - ov44_02231148(arg0, r2 << 4, (6 * temp_ip), sp1C, var_r5); + ov44_02231148(arg0, r2 << 4, 6 * temp_ip, sp1C, var_r5); if (sp1C != 2) { ov44_022312B8(arg0, &arg0->unkB1C.unk7C[i], temp_r4, var_r5, i); ov44_02231344(arg0, &arg0->unkB1C.unkFC[i][0], temp_r4, var_r5, i); @@ -4317,7 +4387,7 @@ void ov44_02230234(UnkStruct_ov44_022319EC *arg0, enum HeapID heapID) { } void ov44_02230300(UnkStruct_ov44_022319EC *arg0, enum HeapID heapID) { - s32 color; + u32 color; s32 temp_r4 = arg0->unkB1C.unk71 - 1; if (sub_0202C090(arg0->unk0, temp_r4, 8) == 0) { color = MAKE_TEXT_COLOR(5, 6, 0); @@ -4416,11 +4486,11 @@ void ov44_022307E0(UnkStruct_ov44_022319EC *arg0, enum HeapID heapID) { AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, 8, 0, 255, MAKE_TEXT_COLOR(15, 14, 0), 0); ov44_02231084(arg0, arg0->unk178, 0, temp_r4); AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, 8, 24, 255, MAKE_TEXT_COLOR(1, 2, 0), 0); - ov44_02231054(arg0, 65, 113, temp_r4, 120, 24); + ov44_02231054(arg0, msg_0778_00065, 113, temp_r4, 120, 24); // RECORD ReadMsgDataIntoString(arg0->unk168, msg_0778_00059, arg0->unk178); AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, 8, 48, 255, MAKE_TEXT_COLOR(1, 2, 0), 0); - ov44_02231054(arg0, 65, 112, temp_r4, 120, 48); + ov44_02231054(arg0, msg_0778_00065, 112, temp_r4, 120, 48); } void ov44_022308B0(UnkStruct_ov44_022319EC *arg0, enum HeapID heapID) { @@ -4438,13 +4508,13 @@ void ov44_022308B0(UnkStruct_ov44_022319EC *arg0, enum HeapID heapID) { AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, width, 24, 255, MAKE_TEXT_COLOR(1, 2, 0), 0); ov44_02231084(arg0, arg0->unk178, 1, temp_r4); AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, 8, 48, 255, MAKE_TEXT_COLOR(1, 2, 0), 0); - ov44_02231054(arg0, 65, 115, temp_r4, 104, 48); - ov44_02231054(arg0, 66, 117, temp_r4, 212, 48); + ov44_02231054(arg0, msg_0778_00065, 115, temp_r4, 104, 48); + ov44_02231054(arg0, msg_0778_00066, 117, temp_r4, 212, 48); // RECORD ReadMsgDataIntoString(arg0->unk168, msg_0778_00059, arg0->unk178); AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, 8, 64, 255, MAKE_TEXT_COLOR(1, 2, 0), 0); - ov44_02231054(arg0, 65, 114, temp_r4, 104, 64); - ov44_02231054(arg0, 66, 116, temp_r4, 212, 64); + ov44_02231054(arg0, msg_0778_00065, 114, temp_r4, 104, 64); + ov44_02231054(arg0, msg_0778_00066, 116, temp_r4, 212, 64); // OPEN LEVEL ReadMsgDataIntoString(arg0->unk168, msg_0778_00061, arg0->unk178); AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, 8, 88, 255, MAKE_TEXT_COLOR(1, 2, 0), 0); @@ -4455,13 +4525,13 @@ void ov44_022308B0(UnkStruct_ov44_022319EC *arg0, enum HeapID heapID) { AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, width, 88, 255, MAKE_TEXT_COLOR(1, 2, 0), 0); ov44_02231084(arg0, arg0->unk178, 2, temp_r4); AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, 8, 112, 255, MAKE_TEXT_COLOR(1, 2, 0), 0); - ov44_02231054(arg0, 65, 119, temp_r4, 104, 112); - ov44_02231054(arg0, 66, 121, temp_r4, 212, 112); + ov44_02231054(arg0, msg_0778_00065, 119, temp_r4, 104, 112); + ov44_02231054(arg0, msg_0778_00066, 121, temp_r4, 212, 112); // RECORD ReadMsgDataIntoString(arg0->unk168, msg_0778_00059, arg0->unk178); AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, 8, 128, 255, MAKE_TEXT_COLOR(1, 2, 0), 0); - ov44_02231054(arg0, 65, 118, temp_r4, 104, 128); - ov44_02231054(arg0, 66, 120, temp_r4, 212, 128); + ov44_02231054(arg0, msg_0778_00065, 118, temp_r4, 104, 128); + ov44_02231054(arg0, msg_0778_00066, 120, temp_r4, 212, 128); } void ov44_02230B2C(UnkStruct_ov44_022319EC *arg0, enum HeapID heapID) { @@ -4476,13 +4546,13 @@ void ov44_02230B2C(UnkStruct_ov44_022319EC *arg0, enum HeapID heapID) { AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, width, 24, 255, MAKE_TEXT_COLOR(1, 2, 0), 0); ov44_02231084(arg0, arg0->unk178, 3, temp_r4); AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, 8, 48, 255, MAKE_TEXT_COLOR(1, 2, 0), 0); - ov44_02231054(arg0, 68, 135, temp_r4, 104, 48); - ov44_02231054(arg0, 67, 136, temp_r4, 212, 48); + ov44_02231054(arg0, msg_0778_00068, 135, temp_r4, 104, 48); + ov44_02231054(arg0, msg_0778_00067, 136, temp_r4, 212, 48); // RECORD ReadMsgDataIntoString(arg0->unk168, msg_0778_00059, arg0->unk178); AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, 8, 80, 255, MAKE_TEXT_COLOR(1, 2, 0), 0); - ov44_02231054(arg0, 68, 134, temp_r4, 104, 80); - ov44_02231054(arg0, 67, 138, temp_r4, 212, 80); + ov44_02231054(arg0, msg_0778_00068, 134, temp_r4, 104, 80); + ov44_02231054(arg0, msg_0778_00067, 138, temp_r4, 212, 80); } void ov44_02230C68(UnkStruct_ov44_022319EC *arg0, enum HeapID arg1) { @@ -4497,11 +4567,11 @@ void ov44_02230C68(UnkStruct_ov44_022319EC *arg0, enum HeapID arg1) { String_Delete(temp_r0); ov44_02231084(arg0, arg0->unk178, 4, temp_r4); AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, 8, 48, 255, MAKE_TEXT_COLOR(1, 2, 0), 0); - ov44_02231054(arg0, 65, 123, temp_r4, 108, 48); + ov44_02231054(arg0, msg_0778_00065, 123, temp_r4, 108, 48); // RECORD ReadMsgDataIntoString(arg0->unk168, msg_0778_00059, arg0->unk178); AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, 8, 80, 255, MAKE_TEXT_COLOR(1, 2, 0), 0); - ov44_02231054(arg0, 65, 122, temp_r4, 108, 80); + ov44_02231054(arg0, msg_0778_00065, 122, temp_r4, 108, 80); } void ov44_02230D8C(UnkStruct_ov44_022319EC *arg0, enum HeapID heapID) { @@ -4511,11 +4581,11 @@ void ov44_02230D8C(UnkStruct_ov44_022319EC *arg0, enum HeapID heapID) { AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, 8, 0, 255, MAKE_TEXT_COLOR(15, 14, 0), 0); ov44_02231084(arg0, arg0->unk178, 5, temp_r4); AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, 8, 24, 255, MAKE_TEXT_COLOR(1, 2, 0), 0); - ov44_02231054(arg0, 69, 143, temp_r4, 112, 24); + ov44_02231054(arg0, msg_0778_00069, 143, temp_r4, 112, 24); // RECORD ReadMsgDataIntoString(arg0->unk168, msg_0778_00059, arg0->unk178); AddTextPrinterParameterizedWithColor(&arg0->unkB1C.unk1FC, 0, arg0->unk178, 8, 48, 255, MAKE_TEXT_COLOR(1, 2, 0), 0); - ov44_02231054(arg0, 69, 142, temp_r4, 112, 48); + ov44_02231054(arg0, msg_0778_00069, 142, temp_r4, 112, 48); } void ov44_02230E5C(UnkStruct_ov44_022319EC *arg0, enum HeapID heapID) { @@ -4594,12 +4664,12 @@ void ov44_02231148(UnkStruct_ov44_022319EC *arg0, u8 arg1, u8 arg2, u8 arg3, u8 BgTilemapRectChangePalette(arg0->unk15C, 6, arg1, arg2, 16, 6, arg3 + 4); } -s32 ov44_0223120C(u32 arg0, s32 *color) { +s32 ov44_0223120C(u32 arg0, u32 *color) { *color = MAKE_TEXT_COLOR(1, 2, 0); s32 ret = 0; switch (arg0) { case 1: - ret = 36; + ret = msg_0778_00036; *color = MAKE_TEXT_COLOR(2, 14, 0); break; case 2: @@ -4608,61 +4678,61 @@ s32 ov44_0223120C(u32 arg0, s32 *color) { case 5: case 6: case 7: - ret = 27; + ret = msg_0778_00027; *color = MAKE_TEXT_COLOR(2, 14, 0); break; case 9: - ret = 96; + ret = msg_0778_00096; break; case 10: - ret = 97; + ret = msg_0778_00097; break; case 11: - ret = 95; + ret = msg_0778_00095; break; case 12: - ret = 99; + ret = msg_0778_00099; break; case 13: - ret = 100; + ret = msg_0778_00100; break; case 14: - ret = 98; + ret = msg_0778_00098; break; case 8: - ret = 29; + ret = msg_0778_00029; *color = MAKE_TEXT_COLOR(2, 14, 0); break; case 15: - ret = 28; + ret = msg_0778_00028; break; case 18: case 19: - ret = 92; + ret = msg_0778_00092; break; case 20: - ret = 33; + ret = msg_0778_00033; *color = MAKE_TEXT_COLOR(2, 14, 0); break; case 21: - ret = 32; + ret = msg_0778_00032; break; case 22: case 24: case 26: - ret = 35; + ret = msg_0778_00035; *color = MAKE_TEXT_COLOR(2, 14, 0); break; case 23: case 25: case 27: - ret = 34; + ret = msg_0778_00034; break; case 16: - ret = 79; + ret = msg_0778_00079; break; default: - ret = 92; + ret = msg_0778_00092; } return ret; } @@ -4723,16 +4793,45 @@ void ov44_022313C8(UnkStruct_ov44_022319EC *arg0) { } void ov44_02231420(UnkStruct_ov44_022319EC *arg0, NARC *arg1, enum HeapID arg2) { - SpriteTemplate spriteTemplateList[3]; - spriteTemplateList = ov44_02235570; - + SpriteTemplate spriteTemplateList[3] = { + { + .spriteList = NULL, + .header = NULL, + .position = { .x = FX32_CONST(40), .y = FX32_CONST(428), .z = 0 }, + .scale = { .x = FX32_ONE, .y = FX32_ONE, .z = FX32_ONE }, + .rotation = 0, + .drawPriority = 128, + .whichScreen = NNS_G2D_VRAM_TYPE_2DSUB, + .heapID = HEAP_ID_DEFAULT, + }, + { + .spriteList = NULL, + .header = NULL, + .position = { .x = FX32_CONST(128), .y = FX32_CONST(428), .z = 0 }, + .scale = { .x = FX32_ONE, .y = FX32_ONE, .z = FX32_ONE }, + .rotation = 0, + .drawPriority = 128, + .whichScreen = NNS_G2D_VRAM_TYPE_2DSUB, + .heapID = HEAP_ID_DEFAULT, + }, + { + .spriteList = NULL, + .header = NULL, + .position = { .x = FX32_CONST(224), .y = FX32_CONST(428), .z = 0 }, + .scale = { .x = FX32_ONE, .y = FX32_ONE, .z = FX32_ONE }, + .rotation = 0, + .drawPriority = 128, + .whichScreen = NNS_G2D_VRAM_TYPE_2DSUB, + .heapID = HEAP_ID_DEFAULT, + }, + }; GfGfx_EngineBTogglePlanes(16, 0); arg0->unkB1C.unk20C[0] = AddCharResObjFromOpenNarc(arg0->unk2BC[0], arg1, NARC_a_0_4_3, FALSE, 30, NNS_G2D_VRAM_TYPE_2DSUB, arg2); arg0->unkB1C.unk20C[1] = AddPlttResObjFromOpenNarc(arg0->unk2BC[1], arg1, NARC_a_0_4_4, FALSE, 30, NNS_G2D_VRAM_TYPE_2DSUB, 8, arg2); arg0->unkB1C.unk20C[2] = AddCellOrAnimResObjFromOpenNarc(arg0->unk2BC[2], arg1, NARC_fielddata_mapmatrix_map_matrix, FALSE, 30, GF_GFX_RES_TYPE_CELL, arg2); arg0->unkB1C.unk20C[3] = AddCellOrAnimResObjFromOpenNarc(arg0->unk2BC[3], arg1, NARC_a_0_4_2, FALSE, 30, GF_GFX_RES_TYPE_ANIM, arg2); - GF_ASSERT(sub_0200AE18(arg0->unkB1C.unk20C[0]) != 0); - GF_ASSERT(sub_0200B00C(arg0->unkB1C.unk20C[1]) != 0); + GF_ASSERT(SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd(arg0->unkB1C.unk20C[0]) != 0); + GF_ASSERT(SpriteTransfer_CreatePlttTransferTask(arg0->unkB1C.unk20C[1]) != 0); sub_0200A740(arg0->unkB1C.unk20C[0]); sub_0200A740(arg0->unkB1C.unk20C[1]); @@ -4743,7 +4842,7 @@ void ov44_02231420(UnkStruct_ov44_022319EC *arg0, NARC *arg1, enum HeapID arg2) spriteTemplateList[i].header = &spriteResourcesHeader; spriteTemplateList[i].heapID = arg2; arg0->unkB1C.unk21C[i] = Sprite_CreateAffine(&spriteTemplateList[i]); - Sprite_SetAnimCtrlSeq(arg0->unkB1C.unk21C[i], _0223535C[i]); + Sprite_SetAnimCtrlSeq(arg0->unkB1C.unk21C[i], ov44_0223535C[i]); } FontID_Alloc(2, arg2); Window window; @@ -4785,8 +4884,8 @@ void ov44_022316B0(UnkStruct_ov44_022319EC *arg0) { for (s32 i = 0; i < 3; i++) { Sprite_Delete(arg0->unkB1C.unk21C[i]); } - sub_0200AEB0(arg0->unkB1C.unk20C[0]); - sub_0200B0A8(arg0->unkB1C.unk20C[1]); + SpriteTransfer_DeleteCharTransferTask(arg0->unkB1C.unk20C[0]); + SpriteTransfer_DeletePlttTransferTask(arg0->unkB1C.unk20C[1]); for (s32 i = 0; i < 4; i++) { DestroySingle2DGfxResObj(arg0->unk2BC[i], arg0->unkB1C.unk20C[i]); @@ -4833,7 +4932,7 @@ void ov44_022317F0(u32 arg0, u32 arg1, UnkStruct_ov44_022319EC *arg2) { } void ov44_02231800(UnkStruct_ov44_02231800 *arg0, s32 arg1) { - Sprite_SetAnimCtrlSeq(arg0->unk21C[arg1], _0223535C[arg1]); + Sprite_SetAnimCtrlSeq(arg0->unk21C[arg1], ov44_0223535C[arg1]); Sprite_SetAnimationFrame(arg0->unk21C[arg1], 4); if (arg1 == 1) { sub_020136B4(arg0->unk234, -32, -8); @@ -4865,7 +4964,7 @@ s32 ov44_0223183C(UnkStruct_ov44_02231800 *arg0, s32 arg1, s32 arg2, s32 arg3) { u16 temp_r7_2 = Sprite_GetAnimationNumber(arg0->unk21C[arg1]); u16 spC = Sprite_GetAnimationFrame(arg0->unk21C[arg1]); if (temp_r7_2 == ov44_02235360[arg1]) { - Sprite_SetAnimCtrlSeq(arg0->unk21C[arg1], _0223535C[arg1]); + Sprite_SetAnimCtrlSeq(arg0->unk21C[arg1], ov44_0223535C[arg1]); Sprite_SetAnimationFrame(arg0->unk21C[arg1], 4 - spC); } Sprite_UpdateAnim(arg0->unk21C[arg1], 2 * FX32_ONE); diff --git a/src/overlay_44_02232E9C.c b/src/overlay_44_02231A14.c similarity index 81% rename from src/overlay_44_02232E9C.c rename to src/overlay_44_02231A14.c index d52f1200c1..98ed165da4 100644 --- a/src/overlay_44_02232E9C.c +++ b/src/overlay_44_02231A14.c @@ -1,106 +1,34 @@ -#include "overlay_44_02232E9C.h" - #include "global.h" -#include "constants/sndseq.h" - -#include "msgdata/msg.naix" - #include "bg_window.h" #include "filesystem.h" #include "gf_gfx_loader.h" #include "math_util.h" -#include "obj_char_transfer.h" -#include "obj_pltt_transfer.h" -#include "overlay_00_thumb.h" #include "overlay_42.h" -#include "overlay_manager.h" +#include "overlay_44_02232E9C.h" +#include "sprite_transfer.h" #include "unk_0200A090.h" -#include "unk_0200ACF0.h" -#include "unk_020379A0.h" -#include "unk_02037C94.h" -#include "unk_020971F8.h" #include "vram_transfer_manager.h" +typedef struct UnkStruct_ov44_0223560F { + u8 unk_0; + u8 unk_1; + u8 unk_2; + u8 unk_3; +} UnkStruct_ov44_0223560F; + +const UnkStruct_ov44_0223560F ov44_0223560F[8] = { + { 0, 0, 0, 1 }, + { 1, 2, 1, 0 }, + { 1, 4, 1, 1 }, + { 1, 2, 1, 0 }, + { 0, 0, 0, 1 }, + { 1, 2, 1, 1 }, + { 1, 4, 1, 0 }, + { 1, 3, 1, 1 }, +}; + const u16 ov44_02235600[2] = { 3, 2 }; -// const u8 ov44_02235604[11] = {0, 0, 0, 28, 0, 0, 3, 0, 88, 33, 0}; -// const u8 ov44_0223560F[1] = {0}; -// const u8 ov44_02235610[1] = {0}; -// const u8 ov44_02235611[1] = {0}; -// const u8 ov44_02235612[30] = {1, 1, 2, 1, 0, 1, 4, 1, 1, 1, 2, 1, 0, 0, 0, 0, 1, 1, 2, 1, 1, 1, 4, 1, 0, 1, 3, 1, 1, 0}; -// const u32 ov44_02235630[4] = {0xB0010, 0xB0010, 0xB0016, 0xB001C}; - -// const u32 ov44_02235640[176] = {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, -// 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, -// 0, 0, 0, 14, 0, 0, 0, 22, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, -// 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 16, 0, 0, -// 0, 24, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 6, 6, 6, 6, 6, 0, -// 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 18, 0, 0, 0, 26, 0, 0, 0, 0, -// 3, 3, 3, 0, 0, 0, 0, 6, 6, 6, 6, 6, 0, 0, 0, 0, 3, 3, 3, -// 0, 0, 0, 0, 20, 0, 0, 0, 28, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, -// 0, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, -// 30, 0, 0, 0, 0, 0, 0, 3, 3 -// }; -// const u32 ov44_02235900[176] = {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, -// 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 5, 3, -// 3, 3, 3, 3, 3, 0, 14, 0, 0, 0, 22, 0, 14, 0, 0, 0, -// 22, 0, 3, 3, 0, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, -// 8, 0, 0, 3, 3, 0, 16, 0, 0, 0, 24, 0, 16, 0, 0, 0, -// 24, 0, 3, 3, 3, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, -// 8, 0, 3, 3, 3, 0, 18, 0, 0, 0, 26, 0, 18, 0, 0, 0, -// 26, 0, 3, 3, 3, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, -// 8, 0, 3, 3, 3, 0, 20, 0, 0, 0, 28, 0, 20, 0, 0, 0, -// 28, 0, 3, 3, 0, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, -// 8, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, -// 0, 0, 3, 3}; - -// const u32 ov44_02235BC0[242] = {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, -// 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, -// 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, -// 3, 3, 0, 14, 0, 0, 0, 22, 0, 14, 0, 0, 0, 22, 0, 14, -// 0, 0, 0, 22, 0, 3, 3, 0, 0, 10, 10, 10, 10, 10, 0, 6, -// 6, 6, 6, 6, 0, 8, 8, 8, 8, 8, 0, 0, 3, 3, 0, 16, -// 0, 0, 0, 24, 0, 16, 0, 0, 0, 24, 0, 16, 0, 0, 0, 24, -// 0, 3, 3, 3, 0, 10, 10, 10, 10, 10, 0, 6, 6, 6, 6, 6, -// 0, 8, 8, 8, 8, 8, 0, 3, 3, 3, 0, 18, 0, 0, 0, 26, -// 0, 18, 0, 0, 0, 26, 0, 18, 0, 0, 0, 26, 0, 3, 3, 3, -// 0, 10, 10, 10, 10, 10, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, -// 8, 8, 0, 3, 3, 3, 0, 20, 0, 0, 0, 28, 0, 20, 0, 0, -// 0, 28, 0, 20, 0, 0, 0, 28, 0, 3, 3, 0, 0, 10, 10, 10, -// 10, 10, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, 8, 0, 0, -// 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, -// 0, 0, 0, 0, 0, 3, 3}; - -// const u32 ov44_02235F88[308] = {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, -// 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, -// 3, 3, 5, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 5, 3, 3, 3, -// 3, 3, 5, 3, 3, 3, 3, 3, 3, 0, 14, 0, 0, 0, 22, 0, 14, 0, -// 0, 0, 22, 0, 14, 0, 0, 0, 22, 0, 14, 0, 0, 0, 22, 0, 3, 3, -// 0, 0, 10, 10, 10, 10, 10, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, -// 8, 0, 12, 12, 12, 12, 12, 0, 0, 3, 3, 0, 16, 0, 0, 0, 24, 0, -// 16, 0, 0, 0, 24, 0, 16, 0, 0, 0, 24, 0, 16, 0, 0, 0, 24, 0, -// 3, 3, 3, 0, 10, 10, 10, 10, 10, 0, 6, 6, 6, 6, 6, 0, 8, 8, -// 8, 8, 8, 0, 12, 12, 12, 12, 12, 0, 3, 3, 3, 0, 18, 0, 0, 0, -// 26, 0, 18, 0, 0, 0, 26, 0, 18, 0, 0, 0, 26, 0, 18, 0, 0, 0, -// 26, 0, 3, 3, 3, 0, 10, 10, 10, 10, 10, 0, 6, 6, 6, 6, 6, 0, -// 8, 8, 8, 8, 8, 0, 12, 12, 12, 12, 12, 0, 3, 3, 3, 0, 20, 0, -// 0, 0, 28, 0, 20, 0, 0, 0, 28, 0, 20, 0, 0, 0, 28, 0, 20, 0, -// 0, 0, 28, 0, 3, 3, 0, 0, 10, 10, 10, 10, 10, 0, 6, 6, 6, 6, -// 6, 0, 8, 8, 8, 8, 8, 0, 12, 12, 12, 12, 12, 0, 0, 3, 3, 0, -// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, -// 0, 0, 0, 0, 0, 0, 3, 3}; - -// const u32* ov44_0223688C[4] = {ov44_02235640, ov44_02235900, ov44_02235BC0, ov44_02235F88}; - -// extern u16 ov44_02235600[2]; -extern u8 ov44_02235604[11]; -extern u8 ov44_0223560F[1]; -extern u8 ov44_02235610[1]; -extern u8 ov44_02235611[1]; -extern u8 ov44_02235612[30]; -extern UnkStruct_ov44_02232914 ov44_02235630[4]; - -extern u32 *ov44_0223688C[4]; YesNoPrompt *ov44_02231A14(BgConfig *arg0, const WindowTemplate *arg1, u32 arg2) { YesNoPrompt *yesNoPrompt = ov44_02231A28(arg0, arg1, arg2); @@ -204,13 +132,13 @@ u8 ov44_02231C70(UnkStruct_ov44_02232DA0 *arg0) { s32 ov44_02231C8C(UnkStruct_ov44_02232DA0 *arg0) { GF_ASSERT(arg0->unk6CC != NULL); UnkStruct_ov44_02232914 temp_r0 = ov42_022282DC(arg0->unk6CC->unk0); - ov42_02227FDC(arg0->unk6E4, temp_r0.unk0 / 16, temp_r0.unk2 / 16); + return ov42_02227FDC(arg0->unk6E4, temp_r0.unk0 / 16, temp_r0.unk2 / 16); } s32 ov44_02231CE8(UnkStruct_ov44_02232DA0 *arg0) { GF_ASSERT(arg0->unk6CC != NULL); UnkStruct_ov44_02232914 sp0 = ov42_022282DC(arg0->unk6CC->unk0); - ov42_02227FDC(arg0->unk6E4, sp0.unk0 / 16, (sp0.unk2 / 16) + 1); + return ov42_02227FDC(arg0->unk6E4, sp0.unk0 / 16, (sp0.unk2 / 16) + 1); } void ov44_02231D48(UnkStruct_ov44_02232DA0 *arg0, UnkStruct_ov44_02232B74 *arg1) { @@ -273,7 +201,7 @@ void ov44_02231E94(UnkStruct_ov44_02232DA0 *arg0, UnkStruct_ov44_02232B74 *arg1) void ov44_02231ED4(UnkStruct_ov44_02232B74 *arg0) { ov42_022290C4(arg0->unk4); ov42_02228100(arg0->unk0); - __builtin__clear(arg0, sizeof(UnkStruct_ov44_02232B74)); + memset(arg0, 0, sizeof(UnkStruct_ov44_02232B74)); } u8 ov44_02231EF4(UnkStruct_ov44_02232B74 *arg0) { @@ -411,11 +339,22 @@ void ov44_02232238(UnkStruct_ov44_02232DA0 *arg0) { } void ov44_02232248(UnkStruct_ov44_02232DA0 *arg0, enum HeapID arg1, NARC *arg2, s32 arg3) { - u8 sp0[11]; - sp0 = ov44_02235604; - - sp0[9] += arg3; - arg0->unk6F4 = ov42_022293B8(&arg0->unk14.unk4, arg0->unk10, sp0, arg1); + UnkTemplate_ov42_022293B8 sp0 = { + .unk_0 = 0, + .unk_1 = 0, + .colorMode = GX_BG_COLORMODE_16, + .screenBase = GX_BG_SCRBASE_0xe000, + .charBase = GX_BG_CHARBASE_0x00000, + .bgExtPltt = GX_BG_EXTPLTT_01, + .priority = 3, + .mosaic = 0, + .narcId = NARC_a_0_8_8, + .fileId = 33, + .compressed = FALSE, + }; + + sp0.fileId += arg3; + arg0->unk6F4 = ov42_022293B8(&arg0->unk14.unk4, arg0->unk10, &sp0, arg1); } void ov44_02232288(UnkStruct_ov44_02232DA0 *arg0) { @@ -474,23 +413,23 @@ void ov44_0223237C(UnkStruct_ov44_02231A7C *arg0, enum HeapID heapID, NARC *narc arg0->unk13C[1] = AddPlttResObjFromOpenNarc(arg0->unk12C[1], narc, NARC_fielddata_encountdata_g_enc_data, FALSE, 50, NNS_G2D_VRAM_TYPE_2DMAIN, 1, heapID); arg0->unk13C[2] = AddCellOrAnimResObjFromOpenNarc(arg0->unk12C[2], narc, NARC_a_0_3_9, FALSE, 50, GF_GFX_RES_TYPE_CELL, heapID); arg0->unk13C[3] = AddCellOrAnimResObjFromOpenNarc(arg0->unk12C[3], narc, NARC_a_0_4_0, FALSE, 50, GF_GFX_RES_TYPE_ANIM, heapID); - GF_ASSERT(sub_0200ADA4(arg0->unk13C[0]) == TRUE); - GF_ASSERT(sub_0200B00C(arg0->unk13C[1]) == TRUE); + GF_ASSERT(SpriteTransfer_CreateCharTransferTask_AllocAtEnd(arg0->unk13C[0]) == TRUE); + GF_ASSERT(SpriteTransfer_CreatePlttTransferTask(arg0->unk13C[1]) == TRUE); sub_0200A740(arg0->unk13C[0]); sub_0200A740(arg0->unk13C[1]); CreateSpriteResourcesHeader(&arg0->unk14C, 50, 50, 50, 50, -1, -1, 0, 2, arg0->unk12C[0], arg0->unk12C[1], arg0->unk12C[2], arg0->unk12C[3], 0, 0); } void ov44_0223247C(UnkStruct_ov44_02231A7C *arg0) { - sub_0200AEB0(arg0->unk13C[0]); - sub_0200B0A8(arg0->unk13C[1]); + SpriteTransfer_DeleteCharTransferTask(arg0->unk13C[0]); + SpriteTransfer_DeletePlttTransferTask(arg0->unk13C[1]); for (s32 i = 0; i < 4; i++) { DestroySingle2DGfxResObj(arg0->unk12C[i], arg0->unk13C[i]); } } void ov44_022324B0(UnkStruct_ov44_02231A7C *arg0, enum HeapID heapID) { - SpriteTemplate spriteTemplate = {}; + SpriteTemplate spriteTemplate = { }; spriteTemplate.spriteList = arg0->unk0; spriteTemplate.header = &arg0->unk14C; @@ -534,8 +473,8 @@ void ov44_02232594(UnkStruct_ov44_02232DA0 *arg0) { void ov44_022325A4(UnkStruct_ov44_02232DA0 *arg0, UnkStruct_ov44_02232914 arg1, s32 arg2) { VecFx32 vec; - vec.x = (s16)arg1.unk0 + 8 << 16 >> 4; - vec.y = (s16)(arg1.unk2) * 4096; + vec.x = (s16)(arg1.unk0 + 8) * FX32_ONE; + vec.y = arg1.unk2 * FX32_ONE; Sprite_SetMatrix(arg0->unk14.unk174, &vec); Sprite_SetDrawPriority(arg0->unk14.unk174, arg2); Sprite_SetDrawFlag(arg0->unk14.unk174, 1); @@ -557,7 +496,7 @@ s32 ov44_02232604(UnkStruct_ov44_02232DA0 *arg0) { return 0; } -void ov44_02232680(UnkStruct_ov44_02232DA0 *arg0, u16 *arg1, u32 arg2) { +void ov44_02232680(UnkStruct_ov44_02232DA0 *arg0, s16 *arg1, u32 arg2) { u32 r7 = arg2 / 8; u32 r4 = arg2 % 8; u16 r6 = ov42_02227F40(arg0->unk6E4); @@ -848,7 +787,7 @@ void ov44_02232CA8(UnkStruct_ov44_02232DA0 *arg0, UnkStruct_ov44_02232B74 *arg1, } void ov44_02232CCC(UnkStruct_ov44_02232DA0 *arg0, UnkStruct_ov44_02232E80 *arg1, NARC *arg2) { - __builtin__clear(arg1, sizeof(UnkStruct_ov44_02232E80)); + memset(arg1, 0, sizeof(UnkStruct_ov44_02232E80)); arg1->unk0 = GfGfxLoader_GetPlttDataFromOpenNarc(arg2, 32, &arg1->unk4, arg0->unk4); arg1->unk8 = 15; arg1->unk9 = 0; @@ -857,7 +796,7 @@ void ov44_02232CCC(UnkStruct_ov44_02232DA0 *arg0, UnkStruct_ov44_02232E80 *arg1, void ov44_02232D08(UnkStruct_ov44_02232DA0 *arg0, UnkStruct_ov44_02232E80 *arg1) { Heap_Free(arg1->unk0); - __builtin__clear(arg1, sizeof(UnkStruct_ov44_02232E80)); + memset(arg1, 0, sizeof(UnkStruct_ov44_02232E80)); } void ov44_02232D20(UnkStruct_ov44_02232DA0 *arg0, UnkStruct_ov44_02232E80 *arg1) { @@ -889,7 +828,7 @@ void ov44_02232DA0(UnkStruct_ov44_02232E80 *arg0) { u32 r0 = 0; u32 r1 = 0; u32 r2 = 0; - if (ov44_0223560F[arg0->unkD << 2] == 1) { + if (ov44_0223560F[arg0->unkD].unk_0 == 1) { arg0->unkE--; if (arg0->unkE <= 0) { r2 = 1; @@ -904,9 +843,9 @@ void ov44_02232DA0(UnkStruct_ov44_02232E80 *arg0) { ov44_02232E38(arg0); return; } - arg0->unkE = ov44_02235610[arg0->unkD << 2]; - r0 = ov44_02235611[arg0->unkD << 2]; - r1 = ov44_02235612[arg0->unkD << 2]; + arg0->unkE = ov44_0223560F[arg0->unkD].unk_1; + r0 = ov44_0223560F[arg0->unkD].unk_2; + r1 = ov44_0223560F[arg0->unkD].unk_3; } if (r0 != 0) { GF_CreateNewVramTransferTask(NNS_GFD_DST_2D_BG_PLTT_MAIN, ((arg0->unkC + 1) * 2) + 224, ov44_02232E2C(arg0, r1), 2); @@ -943,11 +882,3 @@ void ov44_02232E80(UnkStruct_ov44_02232E80 *arg0) { ov44_02232E54(arg0); } } - -UnkStruct_ov44_02232914 ov44_02232E90(s32 arg0) { - return ov44_02235630[arg0]; -} - -u32 *ov44_02232E9C(u32 arg0) { - return ov44_0223688C[arg0]; -} diff --git a/src/overlay_44_02232E90.c b/src/overlay_44_02232E90.c new file mode 100644 index 0000000000..b0db1d2561 --- /dev/null +++ b/src/overlay_44_02232E90.c @@ -0,0 +1,29 @@ +#include "global.h" + +#include "overlay_42.h" +#include "overlay_44.h" + +const UnkStruct_ov44_02232914 ov44_02235630[4] = { + { 0x0010, 0x000B }, + { 0x0010, 0x000B }, + { 0x0016, 0x000B }, + { 0x001C, 0x000B }, +}; + +const u32 ov44_02235900[176] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, 0, 14, 0, 0, 0, 22, 0, 14, 0, 0, 0, 22, 0, 3, 3, 0, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, 8, 0, 0, 3, 3, 0, 16, 0, 0, 0, 24, 0, 16, 0, 0, 0, 24, 0, 3, 3, 3, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, 8, 0, 3, 3, 3, 0, 18, 0, 0, 0, 26, 0, 18, 0, 0, 0, 26, 0, 3, 3, 3, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, 8, 0, 3, 3, 3, 0, 20, 0, 0, 0, 28, 0, 20, 0, 0, 0, 28, 0, 3, 3, 0, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, 8, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 3, 3 }; + +const u32 ov44_02235640[176] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 14, 0, 0, 0, 22, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 16, 0, 0, 0, 24, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 6, 6, 6, 6, 6, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 18, 0, 0, 0, 26, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 6, 6, 6, 6, 6, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 20, 0, 0, 0, 28, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 3, 3 }; + +const u32 ov44_02235BC0[242] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, 0, 14, 0, 0, 0, 22, 0, 14, 0, 0, 0, 22, 0, 14, 0, 0, 0, 22, 0, 3, 3, 0, 0, 10, 10, 10, 10, 10, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, 8, 0, 0, 3, 3, 0, 16, 0, 0, 0, 24, 0, 16, 0, 0, 0, 24, 0, 16, 0, 0, 0, 24, 0, 3, 3, 3, 0, 10, 10, 10, 10, 10, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, 8, 0, 3, 3, 3, 0, 18, 0, 0, 0, 26, 0, 18, 0, 0, 0, 26, 0, 18, 0, 0, 0, 26, 0, 3, 3, 3, 0, 10, 10, 10, 10, 10, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, 8, 0, 3, 3, 3, 0, 20, 0, 0, 0, 28, 0, 20, 0, 0, 0, 28, 0, 20, 0, 0, 0, 28, 0, 3, 3, 0, 0, 10, 10, 10, 10, 10, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, 8, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3 }; + +const u32 ov44_02235F88[308] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, 0, 14, 0, 0, 0, 22, 0, 14, 0, 0, 0, 22, 0, 14, 0, 0, 0, 22, 0, 14, 0, 0, 0, 22, 0, 3, 3, 0, 0, 10, 10, 10, 10, 10, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, 8, 0, 12, 12, 12, 12, 12, 0, 0, 3, 3, 0, 16, 0, 0, 0, 24, 0, 16, 0, 0, 0, 24, 0, 16, 0, 0, 0, 24, 0, 16, 0, 0, 0, 24, 0, 3, 3, 3, 0, 10, 10, 10, 10, 10, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, 8, 0, 12, 12, 12, 12, 12, 0, 3, 3, 3, 0, 18, 0, 0, 0, 26, 0, 18, 0, 0, 0, 26, 0, 18, 0, 0, 0, 26, 0, 18, 0, 0, 0, 26, 0, 3, 3, 3, 0, 10, 10, 10, 10, 10, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, 8, 0, 12, 12, 12, 12, 12, 0, 3, 3, 3, 0, 20, 0, 0, 0, 28, 0, 20, 0, 0, 0, 28, 0, 20, 0, 0, 0, 28, 0, 20, 0, 0, 0, 28, 0, 3, 3, 0, 0, 10, 10, 10, 10, 10, 0, 6, 6, 6, 6, 6, 0, 8, 8, 8, 8, 8, 0, 12, 12, 12, 12, 12, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3 }; + +const u32 *ov44_0223688C[4] = { ov44_02235640, ov44_02235900, ov44_02235BC0, ov44_02235F88 }; + +UnkStruct_ov44_02232914 ov44_02232E90(s32 arg0) { + return ov44_02235630[arg0]; +} + +const u32 *ov44_02232E9C(u32 arg0) { + return ov44_0223688C[arg0]; +} diff --git a/src/overlay_44_02235340.c b/src/overlay_44_02235340.c index a22f6060de..c33749689c 100644 --- a/src/overlay_44_02235340.c +++ b/src/overlay_44_02235340.c @@ -1,4 +1,3 @@ -#include "global.h" #include "constants/sndseq.h" @@ -16,6 +15,7 @@ #include "overlay_42.h" #include "overlay_44.h" #include "overlay_manager.h" +#include "poke_overlay.h" #include "sound_02004A44.h" #include "sprite.h" #include "text.h" @@ -31,78 +31,164 @@ #include "unk_020971F8.h" #include "vram_transfer_manager.h" -// const u8 ov44_02236458[4] = {0x08, 0x00, 0x04, 0x0C}; -// const WindowTemplate ov44_0223645C = {2, 25, 13, 5, 4, 1, 57}; -// const func_type_022341C0 ov44_02236464[4] = {ov44_02234324, ov44_02234328, ov44_0223435C, ov44_02234388}; -// const GraphicsModes ov44_02236474 = { -// GX_DISPMODE_GRAPHICS, -// GX_BGMODE_0, -// GX_BGMODE_0, -// GX_BG0_AS_2D -// }; -// const ObjCharTransferTemplate ov44_02236484 = { -// 4, -// 0x20000, -// 0x4000, -// HEAP_ID_DEFAULT -// }; -// const BgTemplate ov44_02236494 = {0, 0, 2048, 0, 1, 0, 26, 4, 0, 1, 0, 0, 0}; -// const BgTemplate ov44_022364B0 = {0, 0, 2048, 0, 1, 0, 28, 0, 0, 2, 0, 0, 0}; -// const BgTemplate ov44_022364CC = {0, 0, 2048, 0, 1, 0, 27, 2, 1, 0, 0, 0, 0}; - -// const GraphicsBanks ov44_022364E8 = { -// GX_VRAM_BG_128_A, GX_VRAM_BGEXTPLTT_NONE, GX_VRAM_SUB_BG_128_C, -// GX_VRAM_SUB_BGEXTPLTT_NONE, GX_VRAM_OBJ_128_B, GX_VRAM_OBJEXTPLTT_NONE, -// GX_VRAM_SUB_OBJ_16_I, GX_VRAM_SUB_OBJEXTPLTT_NONE, GX_VRAM_TEX_NONE, GX_VRAM_TEXPLTT_NONE}; - -// const u16 ov44_02236510[4][6] = { -// { 208, 48, 0, 0, 1, 0 }, -// { 232, 72, 1, 0, 2, 0 }, -// { 208, 96, 2, 0, 0, 0 }, -// { 184, 72, 3, 0, 3, 0 }, -// }; -// const func_type_02232F64 ov44_02236540[30] = -// {ov44_02234BF0, ov44_02234C10, Wifi_PromptAwaitingResponse, ov44_02234C88, ov44_02234CE8, -// ov44_02234D28, ov44_02234D4C, ov44_02234D88, Wifi_PromptAwaitingMembers, -// ov44_02234DE4, ov44_02234E08, ov44_02234EA4, ov44_02234EF4, -// ov44_02234F44, ov44_02234F60, ov44_02234F88, Wifi_PromptMemberDrop, -// ov44_02234FDC, Wifi_PromptToggleVoiceChat_, ov44_02235038, ov44_02235090, -// ov44_02235100, ov44_02235158, ov44_0223518C, ov44_022351BC, -// ov44_022351DC, ov44_02235218, ov44_02235268, ov44_0223532C, -// ov44_02235340}; - -// const func_type_02232F64 ov44_022365B8[33] = -// {ov44_02234474, Wifi_PromptReadyMessage, ov44_022344C4, Wifi_PromptUserJoinRequest, -// ov44_022345C8, ov44_022345FC, Wifi_PromptInsufficientMembers, ov44_022346B4, -// Wifi_PromptConfirmMembers, ov44_022346E8, ov44_0223471C, ov44_02234764, -// ov44_0223479C, ov44_022347D4, ov44_022347FC, ov44_02234828, -// ov44_02234858, ov44_022348A8, ov44_022348C4, Wifi_PromptStopFindingMembers, -// ov44_02234904, ov44_02234944, Wifi_PromptDropAsLeader, ov44_022349B4, -// ov44_022349F4, Wifi_PromptCancelInvites, ov44_02234A68, ov44_02234AA8, -// Wifi_PromptMemberDropped, ov44_02234B18, Wifi_PromptToggleVoiceChat, ov44_02234B80, -// ov44_02234BB4}; - -// const u8 ov44_0223663C[20] = {5, 4, 3, 2, 1, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 5, 5, 5, 0, 0}; - -// u8 ov44_0223689C[4] = {126, 127, 127, 127}; - -extern const u8 ov44_02236458[]; -extern const WindowTemplate ov44_0223645C; - -extern const func_type_022341C0 ov44_02236464[]; -extern const GraphicsModes ov44_02236474; -extern const ObjCharTransferTemplate ov44_02236484; -extern const BgTemplate ov44_02236494; -extern const BgTemplate ov44_022364B0; -extern const BgTemplate ov44_022364CC; -extern const GraphicsBanks ov44_022364E8; -extern const UnkStruct_ov42_02122667 ov44_02236510[4]; - -extern const func_type_02232F64 ov44_02236540[]; -extern const func_type_02232F64 ov44_022365B8[]; -extern const u8 ov44_0223663C[]; - -extern u8 ov44_0223689C[]; +const u8 ov44_02236458[4] = { 0x08, 0x00, 0x04, 0x0C }; + +const WindowTemplate ov44_0223645C = { + .bgId = 2, + .left = 25, + .top = 13, + .width = 5, + .height = 4, + .palette = 1, + .baseTile = 57, +}; + +const func_type_022341C0 ov44_02236464[4] = { ov44_02234324, ov44_02234328, ov44_0223435C, ov44_02234388 }; + +const ObjCharTransferTemplate ov44_02236484 = { + 4, + 0x20000, + 0x4000, + HEAP_ID_DEFAULT +}; +const GraphicsModes ov44_02236474 = { + GX_DISPMODE_GRAPHICS, + GX_BGMODE_0, + GX_BGMODE_0, + GX_BG0_AS_2D +}; + +const BgTemplate ov44_022364B0 = { + .x = 0, + .y = 0, + .bufferSize = GF_BG_BUF_SIZE_256x256_4BPP, + .baseTile = 0, + .size = GF_BG_SCR_SIZE_256x256, + .colorMode = GX_BG_COLORMODE_16, + .screenBase = GX_BG_SCRBASE_0xe000, + .charBase = GX_BG_CHARBASE_0x00000, + .bgExtPltt = GX_BG_EXTPLTT_01, + .priority = 2, + .areaOver = GX_BG_AREAOVER_XLU, + .dummy = 0, + .mosaic = 0, +}; + +const BgTemplate ov44_022364CC = { + .x = 0, + .y = 0, + .bufferSize = GF_BG_BUF_SIZE_256x256_4BPP, + .baseTile = 0, + .size = GF_BG_SCR_SIZE_256x256, + .colorMode = GX_BG_COLORMODE_16, + .screenBase = GX_BG_SCRBASE_0xd800, + .charBase = GX_BG_CHARBASE_0x08000, + .bgExtPltt = GX_BG_EXTPLTT_23, + .priority = 0, + .areaOver = GX_BG_AREAOVER_XLU, + .dummy = 0, + .mosaic = 0, +}; + +const BgTemplate ov44_02236494 = { + .x = 0, + .y = 0, + .bufferSize = GF_BG_BUF_SIZE_256x256_4BPP, + .baseTile = 0, + .size = GF_BG_SCR_SIZE_256x256, + .colorMode = GX_BG_COLORMODE_16, + .screenBase = GX_BG_SCRBASE_0xd000, + .charBase = GX_BG_CHARBASE_0x10000, + .bgExtPltt = GX_BG_EXTPLTT_01, + .priority = 1, + .areaOver = GX_BG_AREAOVER_XLU, + .dummy = 0, + .mosaic = 0, +}; + +const GraphicsBanks ov44_022364E8 = { + GX_VRAM_BG_128_A, GX_VRAM_BGEXTPLTT_NONE, GX_VRAM_SUB_BG_128_C, GX_VRAM_SUB_BGEXTPLTT_NONE, GX_VRAM_OBJ_128_B, GX_VRAM_OBJEXTPLTT_NONE, GX_VRAM_SUB_OBJ_16_I, GX_VRAM_SUB_OBJEXTPLTT_NONE, GX_VRAM_TEX_NONE, GX_VRAM_TEXPLTT_NONE +}; + +const UnkStruct_ov42_02122667 ov44_02236510[4] = { + { 208, 48, 0, 0, 1, 0 }, + { 232, 72, 1, 0, 2, 0 }, + { 208, 96, 2, 0, 0, 0 }, + { 184, 72, 3, 0, 3, 0 }, +}; + +const func_type_02232F64 ov44_02236540[30] = { + ov44_02234BF0, + ov44_02234C10, + Wifi_PromptAwaitingResponse, + ov44_02234C88, + ov44_02234CE8, + ov44_02234D28, + ov44_02234D4C, + ov44_02234D88, + Wifi_PromptAwaitingMembers, + ov44_02234DE4, + ov44_02234E08, + ov44_02234EA4, + ov44_02234EF4, + ov44_02234F44, + ov44_02234F60, + ov44_02234F88, + Wifi_PromptMemberDrop, + ov44_02234FDC, + Wifi_PromptToggleVoiceChat_, + ov44_02235038, + ov44_02235090, + ov44_02235100, + ov44_02235158, + ov44_0223518C, + ov44_022351BC, + ov44_022351DC, + ov44_02235218, + ov44_02235268, + ov44_0223532C, + ov44_02235340, +}; + +const func_type_02232F64 ov44_022365B8[33] = { + ov44_02234474, + Wifi_PromptReadyMessage, + ov44_022344C4, + Wifi_PromptUserJoinRequest, + ov44_022345C8, + ov44_022345FC, + Wifi_PromptInsufficientMembers, + ov44_022346B4, + Wifi_PromptConfirmMembers, + ov44_022346E8, + ov44_0223471C, + ov44_02234764, + ov44_0223479C, + ov44_022347D4, + ov44_022347FC, + ov44_02234828, + ov44_02234858, + ov44_022348A8, + ov44_022348C4, + Wifi_PromptStopFindingMembers, + ov44_02234904, + ov44_02234944, + Wifi_PromptDropAsLeader, + ov44_022349B4, + ov44_022349F4, + Wifi_PromptCancelInvites, + ov44_02234A68, + ov44_02234AA8, + Wifi_PromptMemberDropped, + ov44_02234B18, + Wifi_PromptToggleVoiceChat, + ov44_02234B80, + ov44_02234BB4, +}; + +const u8 ov44_0223663C[20] = { 5, 4, 3, 2, 1, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 5, 5, 5, 0, 0 }; + +u8 ov44_0223689C[4] = { 126, 127, 127, 127 }; FS_EXTERN_OVERLAY(OVY_42); @@ -250,7 +336,7 @@ void ov44_02233160(UnkStruct_ov44_02235340 *arg0) { void ov44_0223317C(UnkStruct_ov44_02235340 *arg0, String *arg1) { if (arg0->unk4 != 1) { - __memcpy(arg0->unk20, arg1, 4); + memcpy(arg0->unk20, arg1, 4); } } @@ -976,7 +1062,7 @@ void ov44_0223438C(UnkStruct_ov44_02235340 *arg0) { } if (sp0 == 1) { u8 sp4[4]; - __memcpy(&sp4, arg0->unk20, 4); + memcpy(&sp4, arg0->unk20, 4); sub_02037030(24, &sp4, 4); } } diff --git a/src/overlay_manager.c b/src/overlay_manager.c index c14b07d278..a7689bb1fd 100644 --- a/src/overlay_manager.c +++ b/src/overlay_manager.c @@ -1,6 +1,6 @@ #include "overlay_manager.h" -#include "global.h" +#include "poke_overlay.h" OverlayManager *OverlayManager_New(const OverlayManagerTemplate *template, void *args, enum HeapID heapID) { OverlayManager *ret; diff --git a/src/party_menu.c b/src/party_menu.c index 10e2603ecd..b015ba696b 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -1,7 +1,5 @@ #include "party_menu.h" -#include "global.h" - #include "constants/maps.h" #include "constants/moves.h" @@ -11,7 +9,6 @@ #include "bag.h" #include "battle_regulation.h" -#include "field_system.h" #include "font.h" #include "gf_gfx_loader.h" #include "menu_input_state.h" @@ -20,6 +17,7 @@ #include "party_menu_items.h" #include "party_menu_list_items.h" #include "party_menu_sprites.h" +#include "poke_overlay.h" #include "render_text.h" #include "save_link_ruleset.h" #include "sound_02004A44.h" @@ -2611,6 +2609,9 @@ static int PartyMenu_Subtask_SwitchItemsHandleYesNoInput(PartyMenu *partyMenu) { YesNoPrompt_Destroy(partyMenu->yesNoPrompt); PartyMenu_DisableMainScreenBlend_AfterYesNo(); return PartyMenu_SwitchItemsDeclined(partyMenu); + + default: + break; } return PARTY_MENU_STATE_YESNO_ASK_SWITCH_ITEMS; diff --git a/src/party_menu_sprites.c b/src/party_menu_sprites.c index aa9c112089..d35230c92d 100644 --- a/src/party_menu_sprites.c +++ b/src/party_menu_sprites.c @@ -379,16 +379,16 @@ void sub_0207EB24(PartyMenu *partyMenu) { SpriteSystem_InitSprites(partyMenu->spriteRenderer, partyMenu->spriteGfxHandler, 49); G2dRenderer_SetSubSurfaceCoords(SpriteSystem_GetRenderer(partyMenu->spriteRenderer), 0, FX32_CONST(256)); - u16 _021018B4[7] = { - NARC_resdat_resdat_00000050_bin, - NARC_resdat_resdat_00000051_bin, - NARC_resdat_resdat_00000049_bin, - NARC_resdat_resdat_00000048_bin, - 0xFFFF, - 0xFFFF, - NARC_resdat_resdat_00000084_bin, + ResdatIdList _021018B4 = { + .charRes = NARC_resdat_resdat_00000050_bin, + .plttRes = NARC_resdat_resdat_00000051_bin, + .cellRes = NARC_resdat_resdat_00000049_bin, + .animRes = NARC_resdat_resdat_00000048_bin, + .mcelRes = 0xFFFF, + .manmRes = 0xFFFF, + .headerId = NARC_resdat_resdat_00000084_bin, }; - sub_0200D294(partyMenu->spriteRenderer, partyMenu->spriteGfxHandler, _021018B4); + sub_0200D294(partyMenu->spriteRenderer, partyMenu->spriteGfxHandler, &_021018B4); } void sub_0207EBE4(PartyMenu *partyMenu, u8 partySlot, u16 x, u16 y, NARC *narc) { diff --git a/src/poke_overlay.c b/src/poke_overlay.c index fed1203d3d..f26dd2293b 100644 --- a/src/poke_overlay.c +++ b/src/poke_overlay.c @@ -1,7 +1,5 @@ #include "poke_overlay.h" -#include "global.h" - #define OVY_MAX_PER_REGION (8) typedef enum PMiOverlayRegion { diff --git a/src/save.c b/src/save.c index 7c69285fb0..bee14fd880 100644 --- a/src/save.c +++ b/src/save.c @@ -1106,7 +1106,7 @@ static s32 FlashWriteChunk(u32 offset, void *data, u32 size) { int stat; s32 lockId; lockId = FlashWriteChunkInternal(offset, data, size); - while (!WaitFlashWrite(lockId, 1, &stat)) {} + while (!WaitFlashWrite(lockId, 1, &stat)) { } return stat; } diff --git a/src/scrcmd_c.c b/src/scrcmd_c.c index 5491913d3c..70660c240b 100644 --- a/src/scrcmd_c.c +++ b/src/scrcmd_c.c @@ -1,6 +1,6 @@ +#include "poke_overlay.h" #define _IN_SCRCMD_C -#include "constants/accessories.h" #include "constants/events.h" #include "constants/phone_contacts.h" #include "constants/trainers.h" @@ -803,7 +803,7 @@ BOOL ScrCmd_DirectionSignpost(ScriptContext *ctx) { return TRUE; } -BOOL ScrCmd_055(ScriptContext *ctx) { +BOOL ScrCmd_056(ScriptContext *ctx) { FieldSystem *fieldSystem = ctx->fieldSystem; u8 unk1 = ScriptReadByte(ctx); u16 unk2 = ScriptReadHalfword(ctx); diff --git a/src/scrcmd_party.c b/src/scrcmd_party.c index cd66a48729..0b232fe368 100644 --- a/src/scrcmd_party.c +++ b/src/scrcmd_party.c @@ -6,6 +6,7 @@ #include "map_header.h" #include "npc_trade.h" #include "player_data.h" +#include "poke_overlay.h" #include "pokedex.h" #include "ribbon.h" #include "save_arrays.h" diff --git a/src/sprite_system.c b/src/sprite_system.c index c8c8d91240..27570a1a72 100644 --- a/src/sprite_system.c +++ b/src/sprite_system.c @@ -9,8 +9,8 @@ #include "obj_pltt_transfer.h" #include "palette.h" #include "sprite.h" +#include "sprite_transfer.h" #include "unk_02009D48.h" -#include "unk_0200ACF0.h" #include "unk_0200B150.h" #include "vram_transfer_manager.h" @@ -19,7 +19,7 @@ static void SpriteManager_FreeResourceHeaders(SpriteManager *spriteManager); static void SpriteManager_FreeResources(SpriteManager *spriteManager); static void SpriteSystem_FreeVramTransfers(SpriteSystem *spriteSystem); static void SpriteSystem_FreeSpriteManager(SpriteSystem *spriteSystem, SpriteManager *spriteManager); -static BOOL SpriteSystem_LoadResourceDataFromFilepaths(SpriteSystem *spriteSystem, SpriteManager *spriteManager, const u16 *a2, int a3, int a4); +static BOOL SpriteSystem_LoadResourceDataFromFilepaths(SpriteSystem *spriteSystem, SpriteManager *spriteManager, const ResdatIdList *a2, int a3, int a4); static Sprite *CreateSpriteFromResourceHeader(SpriteSystem *spriteSystem, SpriteManager *spriteManager, int headerIndex, s16 x, s16 y, s16 z, u16 animSeqNo, int priority, int palIndex, NNS_G2D_VRAM_TYPE whichScreen, int a10, int a11, int a12, int a13); static ManagedSprite *SpriteSystem_NewSpriteInternal(SpriteSystem *spriteSystem, SpriteManager *spriteManager, const ManagedSpriteTemplate *unkTemplate, fx32 yOffset); static BOOL LoadResObjInternal(SpriteSystem *spriteSystem, SpriteManager *spriteManager, NarcId narcId, int fileId, BOOL compressed, GfGfxResType a6, int resId); @@ -119,8 +119,8 @@ static void SpriteManager_FreeResources(SpriteManager *spriteManager) { GF2DGfxResHeader_Reset(GF2DGfxResHeader_GetByIndex(spriteManager->_2dGfxResHeader, i)); } Heap_Free(spriteManager->_2dGfxResHeader); - sub_0200AED4(spriteManager->_2dGfxResObjList[0]); - sub_0200B0CC(spriteManager->_2dGfxResObjList[1]); + SpriteTransfer_DeleteAllCharTransferTasks(spriteManager->_2dGfxResObjList[0]); + SpriteTransfer_DeleteAllPlttTransferTasks(spriteManager->_2dGfxResObjList[1]); for (int i = 0; i < spriteManager->numGfxResObjectTypes; ++i) { Delete2DGfxResObjList(spriteManager->_2dGfxResObjList[i]); Destroy2DGfxResObjMan(spriteManager->_2dGfxResMan[i]); @@ -154,7 +154,7 @@ void SpriteSystem_Free(SpriteSystem *spriteSystem) { Heap_Free(spriteSystem); } -static BOOL SpriteSystem_LoadResourceDataFromFilepaths(SpriteSystem *spriteSystem, SpriteManager *spriteManager, const u16 *fileIdList, int loadCharMode, int loadPlttMode) { +static BOOL SpriteSystem_LoadResourceDataFromFilepaths(SpriteSystem *spriteSystem, SpriteManager *spriteManager, const ResdatIdList *fileIdList, int loadCharMode, int loadPlttMode) { int i; int numGfxResTypes; int size; @@ -167,7 +167,7 @@ static BOOL SpriteSystem_LoadResourceDataFromFilepaths(SpriteSystem *spriteSyste if (spriteSystem == NULL || spriteManager == NULL) { return FALSE; } - if (fileIdList[GF_GFX_RES_TYPE_MCEL] == 0xFFFF) { + if (fileIdList->mcelRes == 0xFFFF) { numGfxResTypes = GF_GFX_RES_TYPE_MAX - 2; } spriteManager->numGfxResObjectTypes = numGfxResTypes; @@ -177,7 +177,7 @@ static BOOL SpriteSystem_LoadResourceDataFromFilepaths(SpriteSystem *spriteSyste for (i = 0; i < numGfxResTypes; ++i) { header = GF2DGfxResHeader_GetByIndex(spriteManager->_2dGfxResHeader, i); - data = GfGfxLoader_LoadFromOpenNarc(narc, fileIdList[i], FALSE, spriteSystem->heapID, TRUE); + data = GfGfxLoader_LoadFromOpenNarc(narc, fileIdList->raw[i], FALSE, spriteSystem->heapID, TRUE); GF2DGfxResHeader_Init((GF_2DGfxResHeaderNarcList *)data, header, spriteSystem->heapID); Heap_Free(data); } @@ -194,26 +194,26 @@ static BOOL SpriteSystem_LoadResourceDataFromFilepaths(SpriteSystem *spriteSyste } switch (loadCharMode) { case 0: - sub_0200ADE4(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_CreateAllCharTransferTasks_AllocAtEnd(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_CHAR]); break; case 1: - sub_0200AE58(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_SpriteTransfer_CreateAllCharTransferTasks_UpdateMappingTypeFromHW_AllocAtEnd(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_CHAR]); break; case 2: default: - sub_0200AD30(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_CreateAllCharTransferTasks(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_CHAR]); break; } switch (loadPlttMode) { case 0: - sub_0200B050(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_CreateAllPlttTransferTasks(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_PLTT]); break; case 1: default: - sub_0200AFD8(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_CreateAllExtPlttTransferTasks(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_PLTT]); break; } - data = GfGfxLoader_LoadFromOpenNarc(narc, fileIdList[6], FALSE, spriteSystem->heapID, TRUE); + data = GfGfxLoader_LoadFromOpenNarc(narc, fileIdList->headerId, FALSE, spriteSystem->heapID, TRUE); spriteManager->spriteHeaderList = SpriteResourceHeaderList_Create( (struct ResdatNarcEntry *)data, spriteSystem->heapID, @@ -228,11 +228,11 @@ static BOOL SpriteSystem_LoadResourceDataFromFilepaths(SpriteSystem *spriteSyste return TRUE; } -BOOL sub_0200D294(SpriteSystem *spriteSystem, SpriteManager *spriteManager, const u16 *fileIdList) { +BOOL sub_0200D294(SpriteSystem *spriteSystem, SpriteManager *spriteManager, const ResdatIdList *fileIdList) { return SpriteSystem_LoadResourceDataFromFilepaths(spriteSystem, spriteManager, fileIdList, 2, 1); } -BOOL sub_0200D2A4(SpriteSystem *spriteSystem, SpriteManager *spriteManager, const u16 *fileIdList, int loadCharMode, int loadPlttMode) { +BOOL sub_0200D2A4(SpriteSystem *spriteSystem, SpriteManager *spriteManager, const ResdatIdList *fileIdList, int loadCharMode, int loadPlttMode) { return SpriteSystem_LoadResourceDataFromFilepaths(spriteSystem, spriteManager, fileIdList, loadCharMode, loadPlttMode); } @@ -315,7 +315,7 @@ BOOL SpriteSystem_LoadCharResObj(SpriteSystem *spriteSystem, SpriteManager *spri } SpriteResource *obj = AddCharResObjFromNarc(spriteManager->_2dGfxResMan[GF_GFX_RES_TYPE_CHAR], narcId, fileId, compressed, resId, vram, spriteSystem->heapID); if (obj != NULL) { - sub_0200ADA4(obj); + SpriteTransfer_CreateCharTransferTask_AllocAtEnd(obj); RegisterLoadedResources(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_CHAR], obj); return TRUE; } @@ -329,7 +329,7 @@ BOOL SpriteSystem_LoadCharResObjFromOpenNarc(SpriteSystem *spriteSystem, SpriteM } SpriteResource *obj = AddCharResObjFromOpenNarc(spriteManager->_2dGfxResMan[GF_GFX_RES_TYPE_CHAR], narc, fileId, compressed, resId, vram, spriteSystem->heapID); if (obj != NULL) { - sub_0200ADA4(obj); + SpriteTransfer_CreateCharTransferTask_AllocAtEnd(obj); RegisterLoadedResources(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_CHAR], obj); return TRUE; } @@ -343,7 +343,7 @@ s8 SpriteSystem_LoadPlttResObj(SpriteSystem *spriteSystem, SpriteManager *sprite } SpriteResource *obj = AddPlttResObjFromNarc(spriteManager->_2dGfxResMan[GF_GFX_RES_TYPE_PLTT], narcId, fileId, compressed, resId, vram, pltt_num, spriteSystem->heapID); if (obj != NULL) { - GF_ASSERT(sub_0200B00C(obj) == TRUE); + GF_ASSERT(SpriteTransfer_CreatePlttTransferTask(obj) == TRUE); RegisterLoadedResources(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_PLTT], obj); return SpriteTransfer_GetPlttOffset(obj, (NNS_G2D_VRAM_TYPE)vram); } @@ -357,7 +357,7 @@ s8 SpriteSystem_LoadPlttResObjFromOpenNarc(SpriteSystem *spriteSystem, SpriteMan } SpriteResource *obj = AddPlttResObjFromOpenNarc(spriteManager->_2dGfxResMan[GF_GFX_RES_TYPE_PLTT], narc, fileId, compressed, resId, vram, pltt_num, spriteSystem->heapID); if (obj != NULL) { - GF_ASSERT(sub_0200B00C(obj) == TRUE); + GF_ASSERT(SpriteTransfer_CreatePlttTransferTask(obj) == TRUE); RegisterLoadedResources(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_PLTT], obj); return SpriteTransfer_GetPlttOffset(obj, (NNS_G2D_VRAM_TYPE)vram); } @@ -515,8 +515,8 @@ void SpriteSystem_FreeResourcesAndManager(SpriteSystem *spriteSystem, SpriteMana int i; SpriteSystem_DeleteSpriteList(spriteManager); - sub_0200AED4(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_CHAR]); - sub_0200B0CC(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_DeleteAllCharTransferTasks(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_DeleteAllPlttTransferTasks(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_PLTT]); for (i = 0; i < spriteManager->numGfxResObjectTypes; ++i) { Delete2DGfxResObjList(spriteManager->_2dGfxResObjList[i]); @@ -527,7 +527,7 @@ void SpriteSystem_FreeResourcesAndManager(SpriteSystem *spriteSystem, SpriteMana void Sprite_DeleteAndFreeResources(ManagedSprite *managedSprite) { if (managedSprite->vramTransfer) { - sub_0200AF80(managedSprite->spriteResourcesHeader->imageProxy); + SpriteTransfer_DeleteCharTransferTaskByProxy(managedSprite->spriteResourcesHeader->imageProxy); } Sprite_Delete(managedSprite->sprite); SpriteResourceHeaderList_Destroy(managedSprite->spriteResourceHeaderList); @@ -973,7 +973,7 @@ BOOL SpriteSystem_LoadCharResObjWithHardwareMappingType(SpriteSystem *spriteSyst } SpriteResource *obj = AddCharResObjFromNarc(spriteManager->_2dGfxResMan[GF_GFX_RES_TYPE_CHAR], narcId, fileId, compressed, resId, vram, spriteSystem->heapID); if (obj != NULL) { - sub_0200AD64(obj); + SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW(obj); RegisterLoadedResources(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_CHAR], obj); return TRUE; } @@ -987,7 +987,7 @@ BOOL SpriteSystem_LoadCharResObjAtEndWithHardwareMappingType(SpriteSystem *sprit } SpriteResource *obj = AddCharResObjFromNarc(spriteManager->_2dGfxResMan[GF_GFX_RES_TYPE_CHAR], narcId, fileId, compressed, resId, vram, spriteSystem->heapID); if (obj != NULL) { - sub_0200AE18(obj); + SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd(obj); RegisterLoadedResources(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_CHAR], obj); return TRUE; } @@ -1001,7 +1001,7 @@ BOOL SpriteSystem_LoadCharResObjFromOpenNarcWithHardwareMappingType(SpriteSystem } SpriteResource *obj = AddCharResObjFromOpenNarc(spriteManager->_2dGfxResMan[GF_GFX_RES_TYPE_CHAR], narc, fileId, compressed, resId, vram, spriteSystem->heapID); if (obj != NULL) { - sub_0200AE18(obj); + SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd(obj); RegisterLoadedResources(spriteManager->_2dGfxResObjList[GF_GFX_RES_TYPE_CHAR], obj); return TRUE; } @@ -1012,13 +1012,13 @@ BOOL SpriteSystem_LoadCharResObjFromOpenNarcWithHardwareMappingType(SpriteSystem void SpriteSystem_ReplaceCharResObj(SpriteSystem *spriteSystem, SpriteManager *spriteManager, NarcId narcId, int fileId, BOOL compressed, int resId) { SpriteResource *obj = SpriteResourceCollection_Find(spriteManager->_2dGfxResMan[GF_GFX_RES_TYPE_CHAR], resId); ReplaceCharResObjFromNarc(spriteManager->_2dGfxResMan[GF_GFX_RES_TYPE_CHAR], obj, narcId, fileId, compressed, spriteSystem->heapID); - sub_0200AE8C(obj); + SpriteTransfer_ReplaceCharData(obj); } void SpriteSystem_ReplacePlttResObj(SpriteSystem *spriteSystem, SpriteManager *spriteManager, NarcId narcId, int fileId, BOOL compressed, int resId) { SpriteResource *obj = SpriteResourceCollection_Find(spriteManager->_2dGfxResMan[GF_GFX_RES_TYPE_PLTT], resId); ReplacePlttResObjFromNarc(spriteManager->_2dGfxResMan[GF_GFX_RES_TYPE_PLTT], obj, narcId, fileId, compressed, spriteSystem->heapID); - sub_0200B084(obj); + SpriteTransfer_ReplacePlttData(obj); } SpriteList *SpriteManager_GetSpriteList(SpriteManager *spriteManager) { @@ -1032,11 +1032,11 @@ void SpriteManager_SetSpriteList(SpriteManager *spriteManager, SpriteList *sprit void sub_0200E2B8(SpriteSystem *spriteSystem, SpriteManager *spriteManager, NARC *narc, int fileId, BOOL compressed, int resId) { SpriteResource *obj = SpriteResourceCollection_Find(spriteManager->_2dGfxResMan[GF_GFX_RES_TYPE_CHAR], resId); ReplaceCharResObjFromOpenNarc(spriteManager->_2dGfxResMan[GF_GFX_RES_TYPE_CHAR], obj, narc, fileId, compressed, spriteSystem->heapID); - sub_0200AE8C(obj); + SpriteTransfer_ReplaceCharData(obj); } void sub_0200E2EC(SpriteSystem *spriteSystem, SpriteManager *spriteManager, NARC *narc, int fileId, BOOL compressed, int resId) { SpriteResource *obj = SpriteResourceCollection_Find(spriteManager->_2dGfxResMan[GF_GFX_RES_TYPE_PLTT], resId); ReplacePlttResObjFromOpenNarc(spriteManager->_2dGfxResMan[GF_GFX_RES_TYPE_PLTT], obj, narc, fileId, compressed, spriteSystem->heapID); - sub_0200B084(obj); + SpriteTransfer_ReplacePlttData(obj); } diff --git a/src/unk_0200ACF0.c b/src/sprite_transfer.c similarity index 73% rename from src/unk_0200ACF0.c rename to src/sprite_transfer.c index 8ceddca0de..1a1752ab49 100644 --- a/src/unk_0200ACF0.c +++ b/src/sprite_transfer.c @@ -1,11 +1,11 @@ -#include "unk_0200ACF0.h" +#include "sprite_transfer.h" #include "global.h" #include "obj_char_transfer.h" #include "obj_pltt_transfer.h" -BOOL sub_0200ACF0(SpriteResource *obj) { +BOOL SpriteTransfer_CreateCharTransferTask(SpriteResource *obj) { GF_ASSERT(obj != NULL); GF_ASSERT(GF2DGfxResObj_GetResType(obj) == GF_GFX_RES_TYPE_CHAR); @@ -17,16 +17,16 @@ BOOL sub_0200ACF0(SpriteResource *obj) { return ObjCharTransfer_CreateTaskAndDoTransferFromTemplate(&template); } -void sub_0200AD30(GF_2DGfxResObjList *charResObjList) { +void SpriteTransfer_CreateAllCharTransferTasks(GF_2DGfxResObjList *charResObjList) { GF_ASSERT(charResObjList != NULL); for (int i = 0; i < charResObjList->max; ++i) { if (charResObjList->obj[i] != NULL) { - GF_ASSERT(sub_0200ACF0(charResObjList->obj[i])); + GF_ASSERT(SpriteTransfer_CreateCharTransferTask(charResObjList->obj[i])); } } } -BOOL sub_0200AD64(SpriteResource *obj) { +BOOL SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW(SpriteResource *obj) { GF_ASSERT(obj != NULL); GF_ASSERT(GF2DGfxResObj_GetResType(obj) == GF_GFX_RES_TYPE_CHAR); @@ -38,7 +38,7 @@ BOOL sub_0200AD64(SpriteResource *obj) { return ObjCharTransfer_CreateTaskAndDoTransferFromTemplate_UpdateMappingTypeFromHW(&template); } -BOOL sub_0200ADA4(SpriteResource *obj) { +BOOL SpriteTransfer_CreateCharTransferTask_AllocAtEnd(SpriteResource *obj) { GF_ASSERT(obj != NULL); GF_ASSERT(GF2DGfxResObj_GetResType(obj) == GF_GFX_RES_TYPE_CHAR); @@ -50,16 +50,16 @@ BOOL sub_0200ADA4(SpriteResource *obj) { return ObjCharTransfer_CreateTaskAndDoTransferFromTemplate(&template); } -void sub_0200ADE4(GF_2DGfxResObjList *charResObjList) { +void SpriteTransfer_CreateAllCharTransferTasks_AllocAtEnd(GF_2DGfxResObjList *charResObjList) { GF_ASSERT(charResObjList != NULL); for (int i = 0; i < charResObjList->max; ++i) { if (charResObjList->obj[i] != NULL) { - GF_ASSERT(sub_0200ADA4(charResObjList->obj[i])); + GF_ASSERT(SpriteTransfer_CreateCharTransferTask_AllocAtEnd(charResObjList->obj[i])); } } } -BOOL sub_0200AE18(SpriteResource *obj) { +BOOL SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd(SpriteResource *obj) { GF_ASSERT(obj != NULL); GF_ASSERT(GF2DGfxResObj_GetResType(obj) == GF_GFX_RES_TYPE_CHAR); @@ -71,16 +71,16 @@ BOOL sub_0200AE18(SpriteResource *obj) { return ObjCharTransfer_CreateTaskAndDoTransferFromTemplate_UpdateMappingTypeFromHW(&template); } -void sub_0200AE58(GF_2DGfxResObjList *charResObjList) { +void SpriteTransfer_SpriteTransfer_CreateAllCharTransferTasks_UpdateMappingTypeFromHW_AllocAtEnd(GF_2DGfxResObjList *charResObjList) { GF_ASSERT(charResObjList != NULL); for (int i = 0; i < charResObjList->max; ++i) { if (charResObjList->obj[i] != NULL) { - GF_ASSERT(sub_0200AE18(charResObjList->obj[i])); + GF_ASSERT(SpriteTransfer_CreateCharTransferTask_UpdateMappingTypeFromHW_AllocAtEnd(charResObjList->obj[i])); } } } -void sub_0200AE8C(SpriteResource *obj) { +void SpriteTransfer_ReplaceCharData(SpriteResource *obj) { GF_ASSERT(obj != NULL); int id = GF2DGfxResObj_GetResID(obj); @@ -88,30 +88,30 @@ void sub_0200AE8C(SpriteResource *obj) { ObjCharTransfer_ReplaceGraphicsFromChardataByResID(id, charData); } -void sub_0200AEB0(SpriteResource *obj) { +void SpriteTransfer_DeleteCharTransferTask(SpriteResource *obj) { GF_ASSERT(obj != NULL); GF_ASSERT(GF2DGfxResObj_GetResType(obj) == GF_GFX_RES_TYPE_CHAR); ObjCharTransfer_ResetTransferTasksByResID(GF2DGfxResObj_GetResID(obj)); } -void sub_0200AED4(GF_2DGfxResObjList *charResObjList) { +void SpriteTransfer_DeleteAllCharTransferTasks(GF_2DGfxResObjList *charResObjList) { GF_ASSERT(charResObjList != NULL); for (int i = 0; i < charResObjList->max; ++i) { if (charResObjList->obj[i] != NULL) { - sub_0200AEB0(charResObjList->obj[i]); + SpriteTransfer_DeleteCharTransferTask(charResObjList->obj[i]); } } } -NNSG2dImageProxy *sub_0200AF00(SpriteResource *obj) { +NNSG2dImageProxy *SpriteTransfer_GetCharProxy(SpriteResource *obj) { GF_ASSERT(obj != NULL); GF_ASSERT(GF2DGfxResObj_GetResType(obj) == GF_GFX_RES_TYPE_CHAR); return ObjCharTransfer_GetProxyPtrByResID(GF2DGfxResObj_GetResID(obj)); } -NNSG2dImageProxy *sub_0200AF24(SpriteResource *charResObj, SpriteResource *cellResObj) { +NNSG2dImageProxy *SpriteTransfer_GetCharProxyWithCell(SpriteResource *charResObj, SpriteResource *cellResObj) { NNSG2dImageProxy *ret; GF_ASSERT(charResObj != NULL); @@ -128,12 +128,12 @@ NNSG2dImageProxy *sub_0200AF24(SpriteResource *charResObj, SpriteResource *cellR return ret; } -void sub_0200AF80(const NNSG2dImageProxy *imgProxy) { +void SpriteTransfer_DeleteCharTransferTaskByProxy(const NNSG2dImageProxy *imgProxy) { GF_ASSERT(imgProxy != NULL); ObjCharTransfer_DeleteTaskCopyByProxyPtr(imgProxy); } -BOOL sub_0200AF94(SpriteResource *plttResObj) { +BOOL SpriteTransfer_CreateExtPlttTransferTask(SpriteResource *plttResObj) { GF_ASSERT(plttResObj != NULL); GF_ASSERT(GF2DGfxResObj_GetResType(plttResObj) == GF_GFX_RES_TYPE_PLTT); @@ -145,16 +145,16 @@ BOOL sub_0200AF94(SpriteResource *plttResObj) { return ObjPlttTransfer_CreateTaskAndDoTransferFromTemplate_HandleExtPltt(&template); } -void sub_0200AFD8(GF_2DGfxResObjList *plttResObjList) { +void SpriteTransfer_CreateAllExtPlttTransferTasks(GF_2DGfxResObjList *plttResObjList) { GF_ASSERT(plttResObjList != NULL); for (int i = 0; i < plttResObjList->max; ++i) { if (plttResObjList->obj[i] != NULL) { - GF_ASSERT(sub_0200AF94(plttResObjList->obj[i])); + GF_ASSERT(SpriteTransfer_CreateExtPlttTransferTask(plttResObjList->obj[i])); } } } -BOOL sub_0200B00C(SpriteResource *plttResObj) { +BOOL SpriteTransfer_CreatePlttTransferTask(SpriteResource *plttResObj) { GF_ASSERT(plttResObj != NULL); GF_ASSERT(GF2DGfxResObj_GetResType(plttResObj) == GF_GFX_RES_TYPE_PLTT); @@ -166,34 +166,34 @@ BOOL sub_0200B00C(SpriteResource *plttResObj) { return ObjPlttTransfer_CreateTaskAndDoTransferFromTemplate_ExtPlttBanned(&template); } -void sub_0200B050(GF_2DGfxResObjList *plttResObjList) { +void SpriteTransfer_CreateAllPlttTransferTasks(GF_2DGfxResObjList *plttResObjList) { GF_ASSERT(plttResObjList != NULL); for (int i = 0; i < plttResObjList->max; ++i) { if (plttResObjList->obj[i] != NULL) { - GF_ASSERT(sub_0200B00C(plttResObjList->obj[i])); + GF_ASSERT(SpriteTransfer_CreatePlttTransferTask(plttResObjList->obj[i])); } } } -void sub_0200B084(SpriteResource *plttResObj) { +void SpriteTransfer_ReplacePlttData(SpriteResource *plttResObj) { GF_ASSERT(plttResObj != NULL); int resID = GF2DGfxResObj_GetResID(plttResObj); NNSG2dPaletteData *plttData = GF2DGfxResObj_GetPlttDataPtr(plttResObj); ObjPlttTransfer_CreateTransferTask(resID, plttData); } -void sub_0200B0A8(SpriteResource *plttResObj) { +void SpriteTransfer_DeletePlttTransferTask(SpriteResource *plttResObj) { GF_ASSERT(plttResObj != NULL); GF_ASSERT(GF2DGfxResObj_GetResType(plttResObj) == GF_GFX_RES_TYPE_PLTT); ObjPlttTransfer_FreeTaskByID(GF2DGfxResObj_GetResID(plttResObj)); } -void sub_0200B0CC(GF_2DGfxResObjList *plttResObjList) { +void SpriteTransfer_DeleteAllPlttTransferTasks(GF_2DGfxResObjList *plttResObjList) { GF_ASSERT(plttResObjList != NULL); for (int i = 0; i < plttResObjList->max; ++i) { if (plttResObjList->obj[i] != NULL) { - sub_0200B0A8(plttResObjList->obj[i]); + SpriteTransfer_DeletePlttTransferTask(plttResObjList->obj[i]); } } } diff --git a/src/start_menu.c b/src/start_menu.c index 33a722c424..83764f88e1 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -28,10 +28,10 @@ #include "save_vars_flags.h" #include "sound.h" #include "sound_02004A44.h" +#include "sprite_transfer.h" #include "sys_flags.h" #include "system.h" #include "unk_02005D10.h" -#include "unk_0200ACF0.h" #include "unk_0200FA24.h" #include "unk_02034B0C.h" #include "unk_02037C94.h" @@ -669,8 +669,8 @@ static void StartMenu_CreateCursor(StartMenuTaskData *startMenu, u8 *a1, u32 a2, startMenu->gfxResObj[GF_GFX_RES_TYPE_PLTT] = AddPlttResObjFromNarc(startMenu->gfxResMan[GF_GFX_RES_TYPE_PLTT], NARC_a_0_1_4, 61, FALSE, 0, NNS_G2D_VRAM_TYPE_2DMAIN, 1, HEAP_ID_FIELD2); startMenu->gfxResObj[GF_GFX_RES_TYPE_CELL] = AddCellOrAnimResObjFromNarc(startMenu->gfxResMan[GF_GFX_RES_TYPE_CELL], NARC_a_0_1_4, 62, TRUE, 0, GF_GFX_RES_TYPE_CELL, HEAP_ID_FIELD2); startMenu->gfxResObj[GF_GFX_RES_TYPE_ANIM] = AddCellOrAnimResObjFromNarc(startMenu->gfxResMan[GF_GFX_RES_TYPE_ANIM], NARC_a_0_1_4, 63, TRUE, 0, GF_GFX_RES_TYPE_ANIM, HEAP_ID_FIELD2); - sub_0200ADA4(startMenu->gfxResObj[GF_GFX_RES_TYPE_CHAR]); - sub_0200B00C(startMenu->gfxResObj[GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_CreateCharTransferTask_AllocAtEnd(startMenu->gfxResObj[GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_CreatePlttTransferTask(startMenu->gfxResObj[GF_GFX_RES_TYPE_PLTT]); sub_0200A740(startMenu->gfxResObj[GF_GFX_RES_TYPE_PLTT]); CreateSpriteResourcesHeader(&startMenu->spriteResourcesHeader, 0, 0, 0, 0, -1, -1, 0, 0, startMenu->gfxResMan[GF_GFX_RES_TYPE_CHAR], startMenu->gfxResMan[GF_GFX_RES_TYPE_PLTT], startMenu->gfxResMan[GF_GFX_RES_TYPE_CELL], startMenu->gfxResMan[GF_GFX_RES_TYPE_ANIM], NULL, NULL); @@ -694,8 +694,8 @@ static void StartMenu_CreateCursor(StartMenuTaskData *startMenu, u8 *a1, u32 a2, } static void StartMenu_DestroyCursor(StartMenuTaskData *startMenu) { - sub_0200AEB0(startMenu->gfxResObj[GF_GFX_RES_TYPE_CHAR]); - sub_0200B0A8(startMenu->gfxResObj[GF_GFX_RES_TYPE_PLTT]); + SpriteTransfer_DeleteCharTransferTask(startMenu->gfxResObj[GF_GFX_RES_TYPE_CHAR]); + SpriteTransfer_DeletePlttTransferTask(startMenu->gfxResObj[GF_GFX_RES_TYPE_PLTT]); for (u16 i = 0; i < 4; ++i) { Destroy2DGfxResObjMan(startMenu->gfxResMan[i]); } @@ -1335,7 +1335,7 @@ static void sub_0203D664(TaskManager *taskManager, int a1) { Bag *bag = Save_Bag_Get(fieldSystem->saveData); for (u8 i = 0; i < NUM_BERRIES; ++i) { - if (Bag_HasItem(bag, BerryToItemId(i), 1, HEAP_ID_FIELD2)) {} + if (Bag_HasItem(bag, BerryToItemId(i), 1, HEAP_ID_FIELD2)) { } } u8 scroll, position; BagCursor_Field_PocketGetPosition(fieldSystem->bagCursor, POCKET_BERRIES, &position, &scroll); diff --git a/src/string_util.c b/src/string_util.c index fb875c20ec..4746615bfe 100644 --- a/src/string_util.c +++ b/src/string_util.c @@ -25,7 +25,7 @@ u16 *CopyU16StringArrayN(u16 *dest, const u16 *src, u32 n) { int StringLength(const u16 *str) { int i; - for (i = 0; str[i] != EOS; i++) {} + for (i = 0; str[i] != EOS; i++) { } return i; } diff --git a/src/system.c b/src/system.c index c95242c7ab..11ef511f15 100644 --- a/src/system.c +++ b/src/system.c @@ -273,7 +273,7 @@ void ReadKeypadAndTouchpad(void) { gSystem.newAndRepeatedKeys = gSystem.newAndRepeatedKeysRaw; ApplyButtonModeToInput(); if (!gSystem.touchpadReadAuto) { - while (TP_RequestRawSampling(&rawTpData)) {} + while (TP_RequestRawSampling(&rawTpData)) { } } else { TP_GetLatestRawPointInAuto(&rawTpData); } diff --git a/src/unk_02009D48.c b/src/unk_02009D48.c index c9d720206d..ed3e3b8e59 100644 --- a/src/unk_02009D48.c +++ b/src/unk_02009D48.c @@ -5,7 +5,7 @@ #include "obj_char_transfer.h" #include "obj_pltt_transfer.h" #include "sprite.h" -#include "unk_0200ACF0.h" +#include "sprite_transfer.h" #include "unk_0200B150.h" #include "unk_02025C44.h" @@ -46,11 +46,11 @@ void CreateSpriteResourcesHeader(struct SpriteResourcesHeader *hdr, int charId, } } if (transfer) { - proxy = sub_0200AF24(charObj, cellObj); + proxy = SpriteTransfer_GetCharProxyWithCell(charObj, cellObj); GF_ASSERT(proxy != NULL); hdr->charData = GF2DGfxResObj_GetCharDataPtr(charObj); } else { - proxy = sub_0200AF00(charObj); + proxy = SpriteTransfer_GetCharProxy(charObj); GF_ASSERT(proxy != NULL); hdr->charData = NULL; } diff --git a/src/unk_02054E00.c b/src/unk_02054E00.c index a89e792b4b..33f7a281de 100644 --- a/src/unk_02054E00.c +++ b/src/unk_02054E00.c @@ -1,6 +1,7 @@ +#include "unk_02054E00.h" + #include "overlay_01_021F3610.h" #include "overlay_01_021F4704.h" -#include "unk_02054E00.h" BOOL MapModel_IsHeadbuttTree(u32 mapModelNo) { if (mapModelNo == 0xd0) { diff --git a/src/unk_020971F8.c b/src/unk_020971F8.c index 734decda2c..3dd5ebb7c9 100644 --- a/src/unk_020971F8.c +++ b/src/unk_020971F8.c @@ -1,15 +1,14 @@ #include "unk_020971F8.h" -#include "global.h" - #include "unk_02033AE0.h" +#include "unk_0203AC88.h" void sub_020971F8(void *arg0) { sub_0203410C(sub_0203AC88(), sub_0203AC90(), arg0); } void sub_02097214(void) { - sub_0203410C(sub_0203AC88(), sub_0203AC90(), 0); + sub_0203410C(sub_0203AC88(), sub_0203AC90(), NULL); } s32 sub_0209722C(void) { diff --git a/src/voltorb_flip/voltorb_flip_input.c b/src/voltorb_flip/voltorb_flip_input.c index 9b92b08f69..bfc59672f3 100644 --- a/src/voltorb_flip/voltorb_flip_input.c +++ b/src/voltorb_flip/voltorb_flip_input.c @@ -390,7 +390,7 @@ static void VoltorbFlipInputHandler_HandleChangeFocus(VoltorbFlipInputHandler *i static void VoltorbFlipInputCB_OnButtonPress(void *data, int nextInput, int prevInput_unused) { VoltorbFlipInputHandler *inputHandler = data; - GridInputHandler_SetNextInput(inputHandler->gridInputHandler, (u8) nextInput); + GridInputHandler_SetNextInput(inputHandler->gridInputHandler, (u8)nextInput); VoltorbFlipInputHandler_SetFocus(inputHandler, nextInput); PlaySE(SEQ_SE_DP_SELECT); } @@ -405,11 +405,11 @@ static void VoltorbFlipInputCB_OnKeyMove(void *data, int nextInput, int prevInpu if (nextInput == VOLTORB_FLIP_COL4_ROWLAST) { // wrap around left nextInput = inputHandler->selectedRow * 5 + 4; GF_ASSERT(nextInput < VOLTORB_FLIP_INPUT_GRID_NUM); - GridInputHandler_SetNextInput(inputHandler->gridInputHandler, (u8) nextInput); + GridInputHandler_SetNextInput(inputHandler->gridInputHandler, (u8)nextInput); } else if (nextInput == VOLTORB_FLIP_COL0_ROWLAST) { // wrap around right nextInput = inputHandler->selectedRow * 5; GF_ASSERT(nextInput < VOLTORB_FLIP_INPUT_GRID_NUM); - GridInputHandler_SetNextInput(inputHandler->gridInputHandler, (u8) nextInput); + GridInputHandler_SetNextInput(inputHandler->gridInputHandler, (u8)nextInput); } if (nextInput != VOLTORB_FLIP_INPUT_MEMO && nextInput != VOLTORB_FLIP_INPUT_QUIT) { diff --git a/tools/py_scripts/scrcmd.json b/tools/py_scripts/scrcmd.json index 92c310680a..c53c739b81 100644 --- a/tools/py_scripts/scrcmd.json +++ b/tools/py_scripts/scrcmd.json @@ -350,7 +350,7 @@ ] }, { - "name": "ScrCmd_055", + "name": "ScrCmd_056", "args": [ 1, 2