diff options
-rw-r--r-- | arm9/modules/63/src/mod63_021DB450.c | 4 | ||||
-rw-r--r-- | arm9/src/unk_02006D98.c | 1103 | ||||
-rw-r--r-- | include/unk_02006D98.h | 57 |
3 files changed, 481 insertions, 683 deletions
diff --git a/arm9/modules/63/src/mod63_021DB450.c b/arm9/modules/63/src/mod63_021DB450.c index eb91f6ba..f3608116 100644 --- a/arm9/modules/63/src/mod63_021DB450.c +++ b/arm9/modules/63/src/mod63_021DB450.c @@ -14,7 +14,7 @@ extern void FUN_020132BC(u32 param0); extern void * FUN_02012CDC(void *, void *, void *, u32, u32, u32); -extern void FUN_02068C00(struct UnkStruct63_021DB49C*, u16, u32, u32, u32, u32, u32); +extern void FUN_02068C00(struct UnkStruct_02006D98_4*, u16, u32, u32, u32, u32, u32); extern void FUN_02012CC8(void); extern void Camera_SetPerspectiveClippingPlane(u32, u32, u32); extern u32 FUN_0201343C(void); @@ -64,7 +64,7 @@ THUMB_FUNC u32 MOD63_021DB498(void) THUMB_FUNC void Title_SetupMonAnimationSprites(struct UnkStruct63_021DB450 * arg0) //TODO: this does a lot more than setup anim sprites { - struct UnkStruct63_021DB49C sp1C; + struct UnkStruct_02006D98_4 sp1C; int introMonArray[3] = {SPECIES_TURTWIG, SPECIES_CHIMCHAR, SPECIES_PIPLUP}; arg0->field_00 = FUN_02006D98(76); //this is needed to get into the world view, otherwise it is just black diff --git a/arm9/src/unk_02006D98.c b/arm9/src/unk_02006D98.c index 0afa7437..9c3d766d 100644 --- a/arm9/src/unk_02006D98.c +++ b/arm9/src/unk_02006D98.c @@ -1,8 +1,9 @@ -#include "global.h" #include "unk_02006D98.h" + #include "MI_memory.h" #include "NNS_g2d.h" #include "filesystem.h" +#include "global.h" #include "heap.h" #include "mod63_021DB450.h" #include "palette.h" @@ -10,271 +11,269 @@ #include "registers.h" const struct UnkStruct_02006D98_3 UNK_020ECCE2[] = { -{0x1B,0x0F}, -{0x1C,0x0F}, -{0x1D,0x0F}, -{0x1E,0x0F}, -{0x1A,0x10}, -{0x1B,0x10}, -{0x1C,0x10}, -{0x1D,0x10}, -{0x1E,0x10}, -{0x1F,0x10}, -{0x19,0x11}, -{0x1A,0x11}, -{0x1B,0x11}, -{0x1C,0x11}, -{0x1D,0x11}, -{0x1E,0x11}, -{0x1F,0x11}, -{0x20,0x11}, -{0x19,0x12}, -{0x1A,0x12}, -{0x1B,0x12}, -{0x1C,0x12}, -{0x1D,0x12}, -{0x1E,0x12}, -{0x1F,0x12}, -{0x20,0x12}, -{0x19,0x13}, -{0x1A,0x13}, -{0x1B,0x13}, -{0x1C,0x13}, -{0x1D,0x13}, -{0x1E,0x13}, -{0x1F,0x13}, -{0x20,0x13}, -{0x19,0x14}, -{0x1A,0x14}, -{0x1B,0x14}, -{0x1C,0x14}, -{0x1D,0x14}, -{0x1E,0x14}, -{0x1F,0x14}, -{0x20,0x14}, -{0x1A,0x15}, -{0x1B,0x15}, -{0x1C,0x15}, -{0x1D,0x15}, -{0x1E,0x15}, -{0x1F,0x15}, -{0x1B,0x16}, -{0x1C,0x16}, -{0x1D,0x16}, -{0x1E,0x16}, -{0xFF,0xFF}, + {0x1B, 0x0F}, + {0x1C, 0x0F}, + {0x1D, 0x0F}, + {0x1E, 0x0F}, + {0x1A, 0x10}, + {0x1B, 0x10}, + {0x1C, 0x10}, + {0x1D, 0x10}, + {0x1E, 0x10}, + {0x1F, 0x10}, + {0x19, 0x11}, + {0x1A, 0x11}, + {0x1B, 0x11}, + {0x1C, 0x11}, + {0x1D, 0x11}, + {0x1E, 0x11}, + {0x1F, 0x11}, + {0x20, 0x11}, + {0x19, 0x12}, + {0x1A, 0x12}, + {0x1B, 0x12}, + {0x1C, 0x12}, + {0x1D, 0x12}, + {0x1E, 0x12}, + {0x1F, 0x12}, + {0x20, 0x12}, + {0x19, 0x13}, + {0x1A, 0x13}, + {0x1B, 0x13}, + {0x1C, 0x13}, + {0x1D, 0x13}, + {0x1E, 0x13}, + {0x1F, 0x13}, + {0x20, 0x13}, + {0x19, 0x14}, + {0x1A, 0x14}, + {0x1B, 0x14}, + {0x1C, 0x14}, + {0x1D, 0x14}, + {0x1E, 0x14}, + {0x1F, 0x14}, + {0x20, 0x14}, + {0x1A, 0x15}, + {0x1B, 0x15}, + {0x1C, 0x15}, + {0x1D, 0x15}, + {0x1E, 0x15}, + {0x1F, 0x15}, + {0x1B, 0x16}, + {0x1C, 0x16}, + {0x1D, 0x16}, + {0x1E, 0x16}, + {0xFF, 0xFF}, }; const struct UnkStruct_02006D98_3 UNK_020ECC78[] = { -{0x33,0x11}, -{0x34,0x11}, -{0x35,0x11}, -{0x36,0x11}, -{0x32,0x12}, -{0x33,0x12}, -{0x34,0x12}, -{0x35,0x12}, -{0x36,0x12}, -{0x37,0x12}, -{0x31,0x13}, -{0x32,0x13}, -{0x33,0x13}, -{0x34,0x13}, -{0x35,0x13}, -{0x36,0x13}, -{0x37,0x13}, -{0x38,0x13}, -{0x31,0x14}, -{0x32,0x14}, -{0x33,0x14}, -{0x34,0x14}, -{0x35,0x14}, -{0x36,0x14}, -{0x37,0x14}, -{0x38,0x14}, -{0x31,0x15}, -{0x32,0x15}, -{0x33,0x15}, -{0x34,0x15}, -{0x35,0x15}, -{0x36,0x15}, -{0x37,0x15}, -{0x38,0x15}, -{0x31,0x16}, -{0x32,0x16}, -{0x33,0x16}, -{0x34,0x16}, -{0x35,0x16}, -{0x36,0x16}, -{0x37,0x16}, -{0x38,0x16}, -{0x32,0x17}, -{0x33,0x17}, -{0x34,0x17}, -{0x35,0x17}, -{0x36,0x17}, -{0x37,0x17}, -{0x33,0x18}, -{0x34,0x18}, -{0x35,0x18}, -{0x36,0x18}, -{0xFF,0xFF}, + {0x33, 0x11}, + {0x34, 0x11}, + {0x35, 0x11}, + {0x36, 0x11}, + {0x32, 0x12}, + {0x33, 0x12}, + {0x34, 0x12}, + {0x35, 0x12}, + {0x36, 0x12}, + {0x37, 0x12}, + {0x31, 0x13}, + {0x32, 0x13}, + {0x33, 0x13}, + {0x34, 0x13}, + {0x35, 0x13}, + {0x36, 0x13}, + {0x37, 0x13}, + {0x38, 0x13}, + {0x31, 0x14}, + {0x32, 0x14}, + {0x33, 0x14}, + {0x34, 0x14}, + {0x35, 0x14}, + {0x36, 0x14}, + {0x37, 0x14}, + {0x38, 0x14}, + {0x31, 0x15}, + {0x32, 0x15}, + {0x33, 0x15}, + {0x34, 0x15}, + {0x35, 0x15}, + {0x36, 0x15}, + {0x37, 0x15}, + {0x38, 0x15}, + {0x31, 0x16}, + {0x32, 0x16}, + {0x33, 0x16}, + {0x34, 0x16}, + {0x35, 0x16}, + {0x36, 0x16}, + {0x37, 0x16}, + {0x38, 0x16}, + {0x32, 0x17}, + {0x33, 0x17}, + {0x34, 0x17}, + {0x35, 0x17}, + {0x36, 0x17}, + {0x37, 0x17}, + {0x33, 0x18}, + {0x34, 0x18}, + {0x35, 0x18}, + {0x36, 0x18}, + {0xFF, 0xFF}, }; const struct UnkStruct_02006D98_3 UNK_020ECC10[] = { -{0x1E,0x21}, -{0x1F,0x21}, -{0x20,0x21}, -{0x1D,0x22}, -{0x1E,0x22}, -{0x1F,0x22}, -{0x20,0x22}, -{0x21,0x22}, -{0x1C,0x23}, -{0x1D,0x23}, -{0x1E,0x23}, -{0x1F,0x23}, -{0x20,0x23}, -{0x21,0x23}, -{0x22,0x23}, -{0x1C,0x24}, -{0x1D,0x24}, -{0x1E,0x24}, -{0x1F,0x24}, -{0x20,0x24}, -{0x21,0x24}, -{0x22,0x24}, -{0x1C,0x25}, -{0x1D,0x25}, -{0x1E,0x25}, -{0x1F,0x25}, -{0x20,0x25}, -{0x21,0x25}, -{0x22,0x25}, -{0x1C,0x26}, -{0x1D,0x26}, -{0x1E,0x26}, -{0x1F,0x26}, -{0x20,0x26}, -{0x21,0x26}, -{0x22,0x26}, -{0x1C,0x27}, -{0x1D,0x27}, -{0x1E,0x27}, -{0x1F,0x27}, -{0x20,0x27}, -{0x21,0x27}, -{0x22,0x27}, -{0x1D,0x28}, -{0x1E,0x28}, -{0x1F,0x28}, -{0x20,0x28}, -{0x21,0x28}, -{0x1E,0x29}, -{0x1F,0x29}, -{0x20,0x29}, -{0xFF,0xFF}, + {0x1E, 0x21}, + {0x1F, 0x21}, + {0x20, 0x21}, + {0x1D, 0x22}, + {0x1E, 0x22}, + {0x1F, 0x22}, + {0x20, 0x22}, + {0x21, 0x22}, + {0x1C, 0x23}, + {0x1D, 0x23}, + {0x1E, 0x23}, + {0x1F, 0x23}, + {0x20, 0x23}, + {0x21, 0x23}, + {0x22, 0x23}, + {0x1C, 0x24}, + {0x1D, 0x24}, + {0x1E, 0x24}, + {0x1F, 0x24}, + {0x20, 0x24}, + {0x21, 0x24}, + {0x22, 0x24}, + {0x1C, 0x25}, + {0x1D, 0x25}, + {0x1E, 0x25}, + {0x1F, 0x25}, + {0x20, 0x25}, + {0x21, 0x25}, + {0x22, 0x25}, + {0x1C, 0x26}, + {0x1D, 0x26}, + {0x1E, 0x26}, + {0x1F, 0x26}, + {0x20, 0x26}, + {0x21, 0x26}, + {0x22, 0x26}, + {0x1C, 0x27}, + {0x1D, 0x27}, + {0x1E, 0x27}, + {0x1F, 0x27}, + {0x20, 0x27}, + {0x21, 0x27}, + {0x22, 0x27}, + {0x1D, 0x28}, + {0x1E, 0x28}, + {0x1F, 0x28}, + {0x20, 0x28}, + {0x21, 0x28}, + {0x1E, 0x29}, + {0x1F, 0x29}, + {0x20, 0x29}, + {0xFF, 0xFF}, }; const struct UnkStruct_02006D98_3 UNK_020ECDCC[] = { -{0x2B,0x21}, -{0x2C,0x21}, -{0x2D,0x21}, -{0x29,0x22}, -{0x2A,0x22}, -{0x2B,0x22}, -{0x2C,0x22}, -{0x2D,0x22}, -{0x2E,0x22}, -{0x2F,0x22}, -{0x28,0x23}, -{0x29,0x23}, -{0x2A,0x23}, -{0x2B,0x23}, -{0x2C,0x23}, -{0x2D,0x23}, -{0x2E,0x23}, -{0x2F,0x23}, -{0x30,0x23}, -{0x28,0x24}, -{0x29,0x24}, -{0x2A,0x24}, -{0x2B,0x24}, -{0x2C,0x24}, -{0x2D,0x24}, -{0x2E,0x24}, -{0x2F,0x24}, -{0x30,0x24}, -{0x28,0x25}, -{0x29,0x25}, -{0x2A,0x25}, -{0x2B,0x25}, -{0x2C,0x25}, -{0x2D,0x25}, -{0x2E,0x25}, -{0x2F,0x25}, -{0x30,0x25}, -{0x28,0x26}, -{0x29,0x26}, -{0x2A,0x26}, -{0x2B,0x26}, -{0x2C,0x26}, -{0x2D,0x26}, -{0x2E,0x26}, -{0x2F,0x26}, -{0x30,0x26}, -{0x28,0x27}, -{0x29,0x27}, -{0x2A,0x27}, -{0x2B,0x27}, -{0x2C,0x27}, -{0x2D,0x27}, -{0x2E,0x27}, -{0x2F,0x27}, -{0x30,0x27}, -{0x28,0x28}, -{0x29,0x28}, -{0x2A,0x28}, -{0x2B,0x28}, -{0x2C,0x28}, -{0x2D,0x28}, -{0x2E,0x28}, -{0x2F,0x28}, -{0x30,0x28}, -{0x29,0x29}, -{0x2A,0x29}, -{0x2B,0x29}, -{0x2C,0x29}, -{0x2D,0x29}, -{0x2E,0x29}, -{0x2F,0x29}, -{0x2B,0x2A}, -{0x2C,0x2A}, -{0x2D,0x2A}, -{0xFF,0xFF}, + {0x2B, 0x21}, + {0x2C, 0x21}, + {0x2D, 0x21}, + {0x29, 0x22}, + {0x2A, 0x22}, + {0x2B, 0x22}, + {0x2C, 0x22}, + {0x2D, 0x22}, + {0x2E, 0x22}, + {0x2F, 0x22}, + {0x28, 0x23}, + {0x29, 0x23}, + {0x2A, 0x23}, + {0x2B, 0x23}, + {0x2C, 0x23}, + {0x2D, 0x23}, + {0x2E, 0x23}, + {0x2F, 0x23}, + {0x30, 0x23}, + {0x28, 0x24}, + {0x29, 0x24}, + {0x2A, 0x24}, + {0x2B, 0x24}, + {0x2C, 0x24}, + {0x2D, 0x24}, + {0x2E, 0x24}, + {0x2F, 0x24}, + {0x30, 0x24}, + {0x28, 0x25}, + {0x29, 0x25}, + {0x2A, 0x25}, + {0x2B, 0x25}, + {0x2C, 0x25}, + {0x2D, 0x25}, + {0x2E, 0x25}, + {0x2F, 0x25}, + {0x30, 0x25}, + {0x28, 0x26}, + {0x29, 0x26}, + {0x2A, 0x26}, + {0x2B, 0x26}, + {0x2C, 0x26}, + {0x2D, 0x26}, + {0x2E, 0x26}, + {0x2F, 0x26}, + {0x30, 0x26}, + {0x28, 0x27}, + {0x29, 0x27}, + {0x2A, 0x27}, + {0x2B, 0x27}, + {0x2C, 0x27}, + {0x2D, 0x27}, + {0x2E, 0x27}, + {0x2F, 0x27}, + {0x30, 0x27}, + {0x28, 0x28}, + {0x29, 0x28}, + {0x2A, 0x28}, + {0x2B, 0x28}, + {0x2C, 0x28}, + {0x2D, 0x28}, + {0x2E, 0x28}, + {0x2F, 0x28}, + {0x30, 0x28}, + {0x29, 0x29}, + {0x2A, 0x29}, + {0x2B, 0x29}, + {0x2C, 0x29}, + {0x2D, 0x29}, + {0x2E, 0x29}, + {0x2F, 0x29}, + {0x2B, 0x2A}, + {0x2C, 0x2A}, + {0x2D, 0x2A}, + {0xFF, 0xFF}, }; const int UNK_020ECBD0[4][4] = { - { 160, 160, 224, 176 }, { 160, 160, 224, 176 }, { 160, 176, 224, 192 }, { 160, 192, 224, 208 } -}; + {160, 160, 224, 176}, {160, 160, 224, 176}, {160, 176, 224, 192}, {160, 192, 224, 208}}; const int UNK_020ECD4C[4][2][4] = { - { - {0, 0, 0x50, 0x50}, {0x50, 0, 0xA0, 0x50} - }, { + {{0, 0, 0x50, 0x50}, {0x50, 0, 0xA0, 0x50}}, { - {0, 0x50, 0x50, 0xA0}, {0x50, 0x50, 0xA0, 0xA0} + {0, 0x50, 0x50, 0xA0}, {0x50, 0x50, 0xA0, 0xA0} - }, { + }, + { {0, 0xA0, 0x50, 0xF0}, {0x50, 0xA0, 0xA0, 0xF0} - }, { + }, + { - {0xA0, 0, 0xF0, 0x50}, {0xA0, 0x50, 0xF0, 0xA0} + {0xA0, 0, 0xF0, 0x50}, {0xA0, 0x50, 0xF0, 0xA0} - } -}; + }}; struct UnkStruct_02006D98_3 *UNK_02105AE8[] = { UNK_020ECCE2, @@ -286,17 +285,16 @@ struct UnkStruct_02006D98_3 *UNK_02105AE8[] = { extern void NNS_G2dSetupSoftwareSpriteCamera(void); extern void NNS_G3dGeFlushBuffer(); extern void NNS_G2dDrawSpriteFast(s16 param0, - s16 param1, - int param2, - int param3, - int param4, - int param5, - int param6, - int param7, - int param8); - -THUMB_FUNC struct UnkStruct_02006D98 *FUN_02006D98(u32 heap_id) -{ + s16 param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8); + +THUMB_FUNC struct UnkStruct_02006D98 *FUN_02006D98(u32 heap_id) { struct UnkStruct_02006D98 *ptr = AllocFromHeap(heap_id, sizeof(struct UnkStruct_02006D98)); ptr->unk298 = heap_id; ptr->unk2E0 = 0; @@ -313,8 +311,7 @@ THUMB_FUNC struct UnkStruct_02006D98 *FUN_02006D98(u32 heap_id) ptr->unk2B4 = AllocFromHeap(heap_id, 0xc0); MIi_CpuClearFast(0, ptr->unk2B4, 4); - for (int i = 0; i < 4; i++) - { + for (int i = 0; i < 4; i++) { MIi_CpuClearFast(0, &ptr->unk000[i], sizeof(struct UnkStruct_02006D98_2)); } @@ -335,10 +332,8 @@ THUMB_FUNC struct UnkStruct_02006D98 *FUN_02006D98(u32 heap_id) FUN_02008A74(st8); MI_CpuFill8(ptr->unk2AC, *st8, 0x8000); - for (int i = 0; i < 0x50; i++) - { - for (int j = 0; j < 0x28; j++) - { + for (int i = 0; i < 0x50; i++) { + for (int j = 0; j < 0x28; j++) { ((u8 *)ptr->unk2AC)[0x5050 + i * 0x80 + j] = st8[i * 0x50 + j]; } } @@ -353,8 +348,7 @@ THUMB_FUNC struct UnkStruct_02006D98 *FUN_02006D98(u32 heap_id) #ifdef NONMATCHING // mostly matching, only 2 register writes messed up -THUMB_FUNC void FUN_02006ED4(struct UnkStruct_02006D98 *param0) -{ +THUMB_FUNC void FUN_02006ED4(struct UnkStruct_02006D98 *param0) { s32 arg3; s32 arg4; @@ -370,35 +364,28 @@ THUMB_FUNC void FUN_02006ED4(struct UnkStruct_02006D98 *param0) (param0->unk260.attr.sizeS << 20) | (param0->unk260.attr.sizeT << 23) | (param0->unk260.attr.plttUse << 29); - for (int st18 = 0; st18 < 4; st18++) - { + for (int st18 = 0; st18 < 4; st18++) { if (param0->unk000[st18].unk00_0 == 0 || param0->unk000[st18].unk54_0 != 0 || - param0->unk000[st18].unk54_B != 0) - { + param0->unk000[st18].unk54_B != 0) { continue; } - if (param0->unk000[st18].unk68 != NULL) - { + if (param0->unk000[st18].unk68 != NULL) { param0->unk000[st18].unk68(¶m0->unk000[st18], ¶m0->unk000[st18].unk24); } NNS_G3dGeFlushBuffer(); - if (param0->unk2E3 != 1) - { + if (param0->unk2E3 != 1) { reg_G3_MTX_IDENTITY = 0; } FUN_02007F48(¶m0->unk000[st18]); u32 shift; - if (param0->unk260.attr.fmt == 2) - { + if (param0->unk260.attr.fmt == 2) { shift = 1; - } - else - { + } else { shift = 0; } @@ -434,7 +421,7 @@ THUMB_FUNC void FUN_02006ED4(struct UnkStruct_02006D98 *param0) (param0->unk000[st18].unk50_a << 10))) | (((u16)(param0->unk000[st18].unk50_f | (param0->unk000[st18].unk50_14 << 5) | (param0->unk000[st18].unk50_19 << 10))) - << 16) | + << 16) | 0x8000; reg_G3_SPE_EMI = 0x4210; @@ -446,8 +433,7 @@ THUMB_FUNC void FUN_02006ED4(struct UnkStruct_02006D98 *param0) reg_G3_POLYGON_ATTR = 0xc0 | (r1 << 24) | (r0 << 16); } - if (param0->unk000[st18].unk54_1 != 0) - { + if (param0->unk000[st18].unk54_1 != 0) { u32 r6 = param0->unk000[st18].unk44 + UNK_020ECD4C[st18][param0->unk000[st18].unk5B][0]; u32 r12 = param0->unk000[st18].unk46; @@ -458,18 +444,16 @@ THUMB_FUNC void FUN_02006ED4(struct UnkStruct_02006D98 *param0) NNS_G2dDrawSpriteFast(param0->unk000[st18].unk24 - 40 + param0->unk000[st18].unk44 + param0->unk000[st18].unk2C, - param0->unk000[st18].unk26 - 40 + param0->unk000[st18].unk45 + - param0->unk000[st18].unk2E - param0->unk000[st18].unk6C.unk2, - param0->unk000[st18].unk28 + param0->unk000[st18].unk30, - r12, - r7, - r6, - r1, - r0, - r7 + r1); - } - else - { + param0->unk000[st18].unk26 - 40 + param0->unk000[st18].unk45 + + param0->unk000[st18].unk2E - param0->unk000[st18].unk6C.unk2, + param0->unk000[st18].unk28 + param0->unk000[st18].unk30, + r12, + r7, + r6, + r1, + r0, + r7 + r1); + } else { arg3 = (param0->unk000[st18].unk34 * 80) >> 8; arg4 = (param0->unk000[st18].unk36 * 80) >> 8; @@ -487,69 +471,58 @@ THUMB_FUNC void FUN_02006ED4(struct UnkStruct_02006D98 *param0) } if (param0->unk000[st18].unk6C.unk0_0 == 0 || param0->unk000[st18].unk6C.unk0_5 == 0 || - param0->unk000[st18].unk54_1 != 0 || (param0->unk2E4 & 1) != 0) - { + param0->unk000[st18].unk54_1 != 0 || (param0->unk2E4 & 1) != 0) { continue; } - if (param0->unk2E3 != 1) - { + if (param0->unk2E3 != 1) { reg_G3_MTX_IDENTITY = 0; } u32 shift2; - if (param0->unk260.attr.fmt == 2) - { + if (param0->unk260.attr.fmt == 2) { shift2 = 1; - } - else - { + } else { shift2 = 0; } reg_G3_TEXPLTT_BASE = (param0->unk2A4 + ((param0->unk000[st18].unk6C.unk0_0 + 3) << 5)) >> (4 - shift2); - if (param0->unk000[st18].unk6C.unk0_4 != 0) - { + if (param0->unk000[st18].unk6C.unk0_4 != 0) { arg3 = (param0->unk000[st18].unk34 * 64) >> 8; arg4 = (param0->unk000[st18].unk36 * 16) >> 8; - } - else - { + } else { arg3 = 64; arg4 = 16; } - if (param0->unk000[st18].unk6C.unk0_2 != 0) - { + if (param0->unk000[st18].unk6C.unk0_2 != 0) { param0->unk000[st18].unk6C.unk4 = param0->unk000[st18].unk24 + param0->unk000[st18].unk2C + param0->unk000[st18].unk6C.unk8; } - if (param0->unk000[st18].unk6C.unk0_3 != 0) - { + if (param0->unk000[st18].unk6C.unk0_3 != 0) { param0->unk000[st18].unk6C.unk6 = param0->unk000[st18].unk26 + param0->unk000[st18].unk2E + param0->unk000[st18].unk6C.unka; } NNS_G2dDrawSpriteFast(param0->unk000[st18].unk6C.unk4 - (arg3 / 2), - param0->unk000[st18].unk6C.unk4 - (arg4 / 2), - 0xFFFFFC18, - arg3, - arg4, - UNK_020ECBD0[param0->unk000[st18].unk6C.unk0_5][0], - UNK_020ECBD0[param0->unk000[st18].unk6C.unk0_5][1], - UNK_020ECBD0[param0->unk000[st18].unk6C.unk0_5][2], - UNK_020ECBD0[param0->unk000[st18].unk6C.unk0_5][3]); + param0->unk000[st18].unk6C.unk4 - (arg4 / 2), + 0xFFFFFC18, + arg3, + arg4, + UNK_020ECBD0[param0->unk000[st18].unk6C.unk0_5][0], + UNK_020ECBD0[param0->unk000[st18].unk6C.unk0_5][1], + UNK_020ECBD0[param0->unk000[st18].unk6C.unk0_5][2], + UNK_020ECBD0[param0->unk000[st18].unk6C.unk0_5][3]); } reg_G3_MTX_POP = 1; } #else -asm void FUN_02006ED4(struct UnkStruct_02006D98 *param0) -{ +asm void FUN_02006ED4(struct UnkStruct_02006D98 *param0) { // clang-format off push {r3-r7, lr} sub sp, #0x20 @@ -1058,23 +1031,19 @@ _020072D6: } #endif -THUMB_FUNC void FUN_020072E8(struct UnkStruct_02006D98 *param0) -{ +THUMB_FUNC void FUN_020072E8(struct UnkStruct_02006D98 *param0) { FreeToHeap(param0->unk2AC); FreeToHeap(param0->unk2B0); FreeToHeap(param0->unk2B4); FreeToHeap(param0); } -THUMB_FUNC void FUN_02007314(struct UnkStruct_02006D98_2 *param0) -{ +THUMB_FUNC void FUN_02007314(struct UnkStruct_02006D98_2 *param0) { param0->unk59 = 0; - for (s32 i = 0; i < 10; i++) - { + for (s32 i = 0; i < 10; i++) { param0->unk5C[i] = 0; } - if (param0->unk84[param0->unk59].unk0 == -1) - { + if (param0->unk84[param0->unk59].unk0 == -1) { param0->unk5B = 0; return; } @@ -1084,34 +1053,28 @@ THUMB_FUNC void FUN_02007314(struct UnkStruct_02006D98_2 *param0) param0->unk5A = param0->unk84[param0->unk59].unk1; } -THUMB_FUNC void FUN_0200737C(struct UnkStruct_02006D98_2 *param0, struct UnkStruct_02006D98_sub *param1) -{ +THUMB_FUNC void FUN_0200737C(struct UnkStruct_02006D98_2 *param0, struct UnkStruct_02006D98_sub *param1) { MI_CpuCopy8(param1, param0->unk84, sizeof(struct UnkStruct_02006D98_sub) * 10); } -THUMB_FUNC BOOL FUN_02007390(struct UnkStruct_02006D98_2 *param0) -{ - if (param0->unk58 != 0) - { +THUMB_FUNC BOOL FUN_02007390(struct UnkStruct_02006D98_2 *param0) { + if (param0->unk58 != 0) { return TRUE; } return FALSE; } THUMB_FUNC struct UnkStruct_02006D98_2 *FUN_020073A0(struct UnkStruct_02006D98 *param0, - struct UnkStruct63_021DB49C *param1, - u32 param2, - u32 param3, - u32 param4, - u32 param5, - const void *param6, - void (*param7)(struct UnkStruct_02006D98_2 *, void *)) -{ + struct UnkStruct_02006D98_4 *param1, + u32 param2, + u32 param3, + u32 param4, + u32 param5, + const void *param6, + void (*param7)(struct UnkStruct_02006D98_2 *, void *)) { s32 i; - for (i = 0; i < 4; i++) - { - if (param0->unk000[i].unk00_0 == 0) - { + for (i = 0; i < 4; i++) { + if (param0->unk000[i].unk00_0 == 0) { break; } } @@ -1121,15 +1084,14 @@ THUMB_FUNC struct UnkStruct_02006D98_2 *FUN_020073A0(struct UnkStruct_02006D98 * } THUMB_FUNC struct UnkStruct_02006D98_2 *FUN_020073E8(struct UnkStruct_02006D98 *param0, - struct UnkStruct63_021DB49C *param1, - u32 param2, - u32 param3, - u32 param4, - u32 param5, - s32 param6, - const void *param7, - void (*param8)(struct UnkStruct_02006D98_2 *, void *)) -{ + struct UnkStruct_02006D98_4 *param1, + u32 param2, + u32 param3, + u32 param4, + u32 param5, + s32 param6, + const void *param7, + void (*param8)(struct UnkStruct_02006D98_2 *, void *)) { GF_ASSERT(param0->unk000[param6].unk00_0 == 0); MIi_CpuClearFast(0, ¶m0->unk000[param6], sizeof(struct UnkStruct_02006D98_2)); @@ -1159,31 +1121,25 @@ THUMB_FUNC struct UnkStruct_02006D98_2 *FUN_020073E8(struct UnkStruct_02006D98 * param0->unk000[param6].unk6C.unk0_3 = 1; param0->unk000[param6].unk6C.unk0_4 = 1; - if (param7 != NULL) - { + if (param7 != NULL) { MI_CpuCopy8(param7, param0->unk000[param6].unk84, 0x14); } return ¶m0->unk000[param6]; } -THUMB_FUNC void FUN_02007534(struct UnkStruct_02006D98_2 *param0) -{ +THUMB_FUNC void FUN_02007534(struct UnkStruct_02006D98_2 *param0) { param0->unk00_0 = 0; } -THUMB_FUNC void FUN_02007540(struct UnkStruct_02006D98 *param0) -{ - for (s32 i = 0; i < 4; i++) - { +THUMB_FUNC void FUN_02007540(struct UnkStruct_02006D98 *param0) { + for (s32 i = 0; i < 4; i++) { FUN_02007534(¶m0->unk000[i]); } } -THUMB_FUNC void FUN_02007558(struct UnkStruct_02006D98_2 *param0, u32 param1, u32 param2) -{ - switch (param1) - { +THUMB_FUNC void FUN_02007558(struct UnkStruct_02006D98_2 *param0, u32 param1, u32 param2) { + switch (param1) { case 0: param0->unk24 = (s16)param2; break; @@ -1333,10 +1289,8 @@ THUMB_FUNC void FUN_02007558(struct UnkStruct_02006D98_2 *param0, u32 param1, u3 } } -THUMB_FUNC u32 FUN_0200782C(struct UnkStruct_02006D98_2 *param0, u32 param1) -{ - switch (param1) - { +THUMB_FUNC u32 FUN_0200782C(struct UnkStruct_02006D98_2 *param0, u32 param1) { + switch (param1) { case 0: return param0->unk24; @@ -1481,10 +1435,8 @@ THUMB_FUNC u32 FUN_0200782C(struct UnkStruct_02006D98_2 *param0, u32 param1) return 0; } -THUMB_FUNC void FUN_020079E0(struct UnkStruct_02006D98_2 *param0, u32 param1, u32 param2) -{ - switch (param1) - { +THUMB_FUNC void FUN_020079E0(struct UnkStruct_02006D98_2 *param0, u32 param1, u32 param2) { + switch (param1) { case 0: param0->unk24 += param2; break; @@ -1635,8 +1587,7 @@ THUMB_FUNC void FUN_020079E0(struct UnkStruct_02006D98_2 *param0, u32 param1, u3 } THUMB_FUNC void FUN_02007E40( - struct UnkStruct_02006D98_2 *param0, u32 param1, u32 param2, u32 param3, u32 param4) -{ + struct UnkStruct_02006D98_2 *param0, u32 param1, u32 param2, u32 param3, u32 param4) { param0->unk54_1 = 1; param0->unk44 = (u8)param1; param0->unk45 = (u8)param2; @@ -1645,8 +1596,7 @@ THUMB_FUNC void FUN_02007E40( } THUMB_FUNC void FUN_02007E68( - struct UnkStruct_02006D98_2 *param0, u32 param1, u32 param2, u32 param3, u32 param4) -{ + struct UnkStruct_02006D98_2 *param0, u32 param1, u32 param2, u32 param3, u32 param4) { param0->unk54_C = 1; param0->unk48 = (u8)param1; param0->unk49 = (u8)param2; @@ -1656,12 +1606,9 @@ THUMB_FUNC void FUN_02007E68( } THUMB_FUNC void FUN_02007E98( - struct UnkStruct_02006D98 *param0, u32 param1, u32 param2, u32 param3, u32 param4) -{ - for (s32 i = 0; i < 4; i++) - { - if (param0->unk000[i].unk00_0 == 0) - { + struct UnkStruct_02006D98 *param0, u32 param1, u32 param2, u32 param3, u32 param4) { + for (s32 i = 0; i < 4; i++) { + if (param0->unk000[i].unk00_0 == 0) { continue; } @@ -1674,8 +1621,7 @@ THUMB_FUNC void FUN_02007E98( } } -THUMB_FUNC void FUN_02007EEC(struct UnkStruct_02006D98_2 *param0) -{ +THUMB_FUNC void FUN_02007EEC(struct UnkStruct_02006D98_2 *param0) { param0->unk54_C = 0; param0->unk48 = 0; param0->unk49 = 0; @@ -1685,46 +1631,36 @@ THUMB_FUNC void FUN_02007EEC(struct UnkStruct_02006D98_2 *param0) param0->unk00_8 = 1; } -THUMB_FUNC BOOL FUN_02007F20(struct UnkStruct_02006D98_2 *param0) -{ +THUMB_FUNC BOOL FUN_02007F20(struct UnkStruct_02006D98_2 *param0) { return param0->unk54_C == 1; } -THUMB_FUNC void FUN_02007F34(struct UnkStruct_02006D98_2 *param0, s32 param1) -{ +THUMB_FUNC void FUN_02007F34(struct UnkStruct_02006D98_2 *param0, s32 param1) { param0->unk2E = (s16)((40 - param1) - (((40 - param1) * param0->unk36) >> 8)); } #ifdef NONMATCHING -THUMB_FUNC void FUN_02007F48(struct UnkStruct_02006D98_2 *param0) -{ +THUMB_FUNC void FUN_02007F48(struct UnkStruct_02006D98_2 *param0) { u8 *r6 = ¶m0->unk59; - if (param0->unk58 == 0) - { + if (param0->unk58 == 0) { return; } - if (param0->unk5A == 0) - { + if (param0->unk5A == 0) { (*r6)++; - while (param0->unk84[*r6].unk0 < -1) - { + while (param0->unk84[*r6].unk0 < -1) { param0->unk5C[*r6]++; - if (param0->unk84[*r6].unk1 == param0->unk5C[*r6] || param0->unk84[*r6].unk1 == 0) - { + if (param0->unk84[*r6].unk1 == param0->unk5C[*r6] || param0->unk84[*r6].unk1 == 0) { param0->unk5C[*r6] = 0; r6++; - } - else - { + } else { *r6 = -2 - param0->unk84[*r6].unk0; } } - if (param0->unk84[*r6].unk0 == -1 || *r6 >= 10) - { + if (param0->unk84[*r6].unk0 == -1 || *r6 >= 10) { param0->unk5B = 0; param0->unk58 = 0; @@ -1733,15 +1669,12 @@ THUMB_FUNC void FUN_02007F48(struct UnkStruct_02006D98_2 *param0) param0->unk5B = param0->unk84[*r6].unk0; param0->unk5A = param0->unk84[*r6].unk1; - } - else - { + } else { param0->unk5A--; } } #else -asm void FUN_02007F48(struct UnkStruct_02006D98_2 *param0) -{ +asm void FUN_02007F48(struct UnkStruct_02006D98_2 *param0) { // clang-format off push {r4-r7} add r1, r0, #0x0 @@ -1855,60 +1788,45 @@ _0200800A: } #endif -THUMB_FUNC void FUN_02008010(u8 *param0, struct UnkStruct_02006D98_sub *param1) -{ +THUMB_FUNC void FUN_02008010(u8 *param0, struct UnkStruct_02006D98_sub *param1) { param0[0] = 1; param0[2] = 0; param0[1] = (u8)param1->unk0; param0[3] = param1->unk1; ((struct UnkStruct_02006D98_sub **)param0)[4] = param1; - for (s32 i = 0; i < 10; i++) - { + for (s32 i = 0; i < 10; i++) { param0[i + 4] = 0; } } #ifdef NONMATCHING -THUMB_FUNC s32 FUN_02008030(u8 *param0) -{ - if (*param0 != 0) - { +THUMB_FUNC s32 FUN_02008030(u8 *param0) { + if (*param0 != 0) { u8 *r3 = param0 + 2; struct UnkStruct_02006D98_sub *r4 = ((struct UnkStruct_02006D98_sub **)param0)[4]; - if (*param0 != 0) - { - if (param0[3] == 0) - { + if (*param0 != 0) { + if (param0[3] == 0) { (*r3)++; - while (r4[*r3].unk0 < -1) - { + while (r4[*r3].unk0 < -1) { param0[*r3 + 4]++; - if (r4[*r3].unk1 == param0[*r3 + 4] || r4[*r3].unk1 == 0) - { + if (r4[*r3].unk1 == param0[*r3 + 4] || r4[*r3].unk1 == 0) { param0[*r3 + 4] = 0; r3++; - } - else - { + } else { *r3 = -2 - r4[*r3].unk0; } } - if (r4[*r3].unk0 == -1 || *r3 >= 10) - { + if (r4[*r3].unk0 == -1 || *r3 >= 10) { param0[0] = 0; param0[1] = 0; - } - else - { + } else { param0[1] = r4[*r3].unk0; param0[3] = r4[*r3].unk1; } - } - else - { + } else { param0[3]--; } } @@ -1919,8 +1837,7 @@ THUMB_FUNC s32 FUN_02008030(u8 *param0) return -1; } #else -asm s32 FUN_02008030(u8 *param0) -{ +asm s32 FUN_02008030(u8 *param0) { // clang-format off push {r4-r7} ldrb r1, [r0, #0x0] @@ -2015,47 +1932,39 @@ _020080C6: } #endif -THUMB_FUNC void FUN_020080D0(struct UnkStruct_02006D98_2 *param0) -{ +THUMB_FUNC void FUN_020080D0(struct UnkStruct_02006D98_2 *param0) { param0->unk00_7 = 1; param0->unk00_8 = 1; } -THUMB_FUNC void FUN_020080E0(struct UnkStruct_02006D98_2 *param0) -{ +THUMB_FUNC void FUN_020080E0(struct UnkStruct_02006D98_2 *param0) { param0->unk14 = param0->unk04; param0->unk78 = param0->unk6C; } -THUMB_FUNC void FUN_0200813C(struct UnkStruct_02006D98_2 *param0) -{ +THUMB_FUNC void FUN_0200813C(struct UnkStruct_02006D98_2 *param0) { param0->unk04 = param0->unk14; param0->unk6C = param0->unk78; param0->unk00_7 = 1; param0->unk00_8 = 1; } -THUMB_FUNC void FUN_020081A8(struct UnkStruct_02006D98 *param0, u32 param1, u32 param2) -{ +THUMB_FUNC void FUN_020081A8(struct UnkStruct_02006D98 *param0, u32 param1, u32 param2) { param0->unk29C = param1; param0->unk2A0 = param2; } -THUMB_FUNC void FUN_020081B4(struct UnkStruct_02006D98 *param0, u32 param1, u32 param2) -{ +THUMB_FUNC void FUN_020081B4(struct UnkStruct_02006D98 *param0, u32 param1, u32 param2) { param0->unk2A4 = param1; param0->unk2A8 = param2; } -THUMB_FUNC u32 FUN_020081C0(u32 param0) -{ +THUMB_FUNC u32 FUN_020081C0(u32 param0) { return param0 + 4; } -THUMB_FUNC void FUN_020081C4(struct UnkStruct_02006D98 *param0) -{ - if (param0->unk2E1 != 0) - { +THUMB_FUNC void FUN_020081C4(struct UnkStruct_02006D98 *param0) { + if (param0->unk2E1 != 0) { param0->unk2E1 = 0; NNS_G2dInitImageProxy(¶m0->unk260); @@ -2068,8 +1977,7 @@ THUMB_FUNC void FUN_020081C4(struct UnkStruct_02006D98 *param0) ¶m0->unk2B8, param0->unk29C, NNS_G2D_VRAM_TYPE_3DMAIN, ¶m0->unk260); } - if (param0->unk2E2 != 0) - { + if (param0->unk2E2 != 0) { param0->unk2E2 = 0; NNS_G2dInitImagePaletteProxy(¶m0->unk284); @@ -2081,29 +1989,24 @@ THUMB_FUNC void FUN_020081C4(struct UnkStruct_02006D98 *param0) } } -THUMB_FUNC void FUN_0200825C(struct UnkStruct_02006D98 *param0, u8 param1) -{ +THUMB_FUNC void FUN_0200825C(struct UnkStruct_02006D98 *param0, u8 param1) { param0->unk2E3 = param1; } -THUMB_FUNC BOOL FUN_02008268(struct UnkStruct_02006D98_2 *param0) -{ +THUMB_FUNC BOOL FUN_02008268(struct UnkStruct_02006D98_2 *param0) { GF_ASSERT(param0); return param0->unk00_0 != 0; } -THUMB_FUNC void FUN_02008284(struct UnkStruct_02006D98 *param0, u32 param1) -{ +THUMB_FUNC void FUN_02008284(struct UnkStruct_02006D98 *param0, u32 param1) { param0->unk2E4 |= param1; } -THUMB_FUNC void FUN_02008290(struct UnkStruct_02006D98 *param0, u32 param1) -{ +THUMB_FUNC void FUN_02008290(struct UnkStruct_02006D98 *param0, u32 param1) { param0->unk2E4 &= (param1 ^ ~0); } -THUMB_FUNC void FUN_020082A8(struct UnkStruct_02006D98 *param0) -{ +THUMB_FUNC void FUN_020082A8(struct UnkStruct_02006D98 *param0) { NNSG2dCharacterData *st58; int st54; int r4; @@ -2112,15 +2015,13 @@ THUMB_FUNC void FUN_020082A8(struct UnkStruct_02006D98 *param0) void *st4c; u8 st48 = 0; - for (st54 = 0; st54 < 4; st54++) - { - if (param0->unk000[st54].unk00_0 != 0 && param0->unk000[st54].unk00_7 != 0) - { + for (st54 = 0; st54 < 4; st54++) { + if (param0->unk000[st54].unk00_0 != 0 && param0->unk000[st54].unk00_7 != 0) { param0->unk000[st54].unk00_7 = 0; st48 = 1; st4c = AllocAndReadWholeNarcMemberByIdPair((NarcId)param0->unk000[st54].unk04.field_00, - param0->unk000[st54].unk04.field_02, - param0->unk298); + param0->unk000[st54].unk04.field_02, + param0->unk298); NNS_G2dGetUnpackedCharacterData(st4c, &st58); param0->unk2B8.pixelFmt = st58->pixelFmt; param0->unk2B8.mapingType = st58->mapingType; @@ -2130,159 +2031,101 @@ THUMB_FUNC void FUN_020082A8(struct UnkStruct_02006D98 *param0) FUN_02008A74(st50); FUN_020088EC(¶m0->unk000[st54], st50); - if (st54 == 3) - { - for (st14 = 0; st14 < 0x50; st14++) - { - for (r4 = 0; r4 < 0x50; r4++) - { - if (r4 < 0x28) - { + if (st54 == 3) { + for (st14 = 0; st14 < 0x50; st14++) { + for (r4 = 0; r4 < 0x50; r4++) { + if (r4 < 0x28) { if (param0->unk000[st54].unk54_9 != 0 && - param0->unk000[st54].unk54_A != 0) - { + param0->unk000[st54].unk54_A != 0) { param0->unk2AC[st14 * 0x80 + r4 + 0x50] = FUN_020088D8(st50[(0x4f - st14) * 0x50 + (0x27 - r4)]); - } - else if (param0->unk000[st54].unk54_9 != 0) - { + } else if (param0->unk000[st54].unk54_9 != 0) { param0->unk2AC[st14 * 0x80 + r4 + 0x50] = FUN_020088D8(st50[st14 * 0x50 + (0x27 - r4)]); - } - else if (param0->unk000[st54].unk54_A != 0) - { + } else if (param0->unk000[st54].unk54_A != 0) { param0->unk2AC[st14 * 0x80 + r4 + 0x50] = st50[(0x4f - st14) * 0x50 + r4]; - } - else if (param0->unk000[st54].unk54_D != 0) - { - if (st14 % (param0->unk000[st54].unk54_D * 2) != 0) - { + } else if (param0->unk000[st54].unk54_D != 0) { + if (st14 % (param0->unk000[st54].unk54_D * 2) != 0) { param0->unk2AC[st14 * 0x80 + r4 + 0x50] = param0->unk2AC[(st14 - 1) * 0x80 + r4 + 0x50]; - } - else if (r4 % param0->unk000[st54].unk54_D != 0) - { + } else if (r4 % param0->unk000[st54].unk54_D != 0) { param0->unk2AC[st14 * 0x80 + r4 + 0x50] = param0->unk2AC[st14 * 0x80 + r4 + 0x4f]; - } - else - { + } else { param0->unk2AC[st14 * 0x80 + r4 + 0x50] = (u8)((st50[st14 * 0x50 + r4] & 0xf) | ((st50[st14 * 0x50 + r4] & 0xf) << 4)); } - } - else - { + } else { param0->unk2AC[st14 * 0x80 + r4 + 0x50] = st50[st14 * 0x50 + r4]; } - } - else - { + } else { //_02008442 if (param0->unk000[st54].unk54_9 != 0 && - param0->unk000[st54].unk54_A != 0) - { + param0->unk000[st54].unk54_A != 0) { param0->unk2AC[st14 * 0x80 + r4 + 0x2828] = FUN_020088D8(st50[(0x4f - st14) * 0x50 + (0x4f - (r4 - 0x28))]); - } - else if (param0->unk000[st54].unk54_9 != 0) - { + } else if (param0->unk000[st54].unk54_9 != 0) { param0->unk2AC[st14 * 0x80 + r4 + 0x2828] = FUN_020088D8(st50[st14 * 0x50 + (0x4f - (r4 - 0x28))]); - } - else if (param0->unk000[st54].unk54_A != 0) - { + } else if (param0->unk000[st54].unk54_A != 0) { param0->unk2AC[st14 * 0x80 + r4 + 0x2828] = st50[(0x4f - st14) * 0x50 + r4]; - } - else if (param0->unk000[st54].unk54_D != 0) - { - if (st14 % (param0->unk000[st54].unk54_D * 2) != 0) - { + } else if (param0->unk000[st54].unk54_D != 0) { + if (st14 % (param0->unk000[st54].unk54_D * 2) != 0) { param0->unk2AC[st14 * 0x80 + r4 + 0x2828] = param0->unk2AC[(st14 - 1) * 0x80 + r4 + 0x2828]; - } - else if (r4 % param0->unk000[st54].unk54_D != 0) - { + } else if (r4 % param0->unk000[st54].unk54_D != 0) { param0->unk2AC[st14 * 0x80 + r4 + 0x2828] = param0->unk2AC[st14 * 0x80 + (r4 - 1) + 0x2828]; - } - else - { + } else { param0->unk2AC[st14 * 0x80 + r4 + 0x2828] = (u8)((st50[st14 * 0x50 + r4] & 0xf) | ((st50[st14 * 0x50 + r4] & 0xf) << 4)); } - } - else - { + } else { param0->unk2AC[st14 * 0x80 + r4 + 0x2828] = st50[st14 * 0x50 + r4]; } } } } - } - else - { + } else { //_02008554 - for (st14 = 0; st14 < 0x50; st14++) - { - for (r4 = 0; r4 < 0x50; r4++) - { - if (param0->unk000[st54].unk54_9 != 0 && param0->unk000[st54].unk54_A != 0) - { - if (r4 < 0x28) - { + for (st14 = 0; st14 < 0x50; st14++) { + for (r4 = 0; r4 < 0x50; r4++) { + if (param0->unk000[st54].unk54_9 != 0 && param0->unk000[st54].unk54_A != 0) { + if (r4 < 0x28) { param0->unk2AC[st14 * 0x80 + r4 + st54 * 0x2800] = FUN_020088D8(st50[(0x4f - st14) * 0x50 + (0x27 - r4)]); - } - else - { + } else { param0->unk2AC[st14 * 0x80 + r4 + st54 * 0x2800] = FUN_020088D8(st50[(0x4f - st14) * 0x50 + (0x4f - (r4 - 0x28))]); } - } - else if (param0->unk000[st54].unk54_9 != 0) - { - if (r4 < 0x28) - { + } else if (param0->unk000[st54].unk54_9 != 0) { + if (r4 < 0x28) { param0->unk2AC[st14 * 0x80 + r4 + st54 * 0x2800] = FUN_020088D8(st50[st14 * 0x50 + (0x27 - r4)]); - } - else - { + } else { param0->unk2AC[st14 * 0x80 + r4 + st54 * 0x2800] = FUN_020088D8(st50[st14 * 0x50 + (0x4f - (r4 - 0x28))]); } - } - else if (param0->unk000[st54].unk54_A != 0) - { + } else if (param0->unk000[st54].unk54_A != 0) { param0->unk2AC[st14 * 0x80 + r4 + st54 * 0x2800] = st50[(0x4f - st14) * 0x50 + r4]; - } - else if (param0->unk000[st54].unk54_D != 0) - { - if (st14 % (param0->unk000[st54].unk54_D * 2) != 0) - { + } else if (param0->unk000[st54].unk54_D != 0) { + if (st14 % (param0->unk000[st54].unk54_D * 2) != 0) { param0->unk2AC[st14 * 0x80 + r4 + st54 * 0x2800] = param0->unk2AC[(st14 - 1) * 0x80 + r4 + st54 * 0x2800]; - } - else if (r4 % (param0->unk000[st54].unk54_D) != 0) - { + } else if (r4 % (param0->unk000[st54].unk54_D) != 0) { param0->unk2AC[st14 * 0x80 + r4 + st54 * 0x2800] = param0->unk2AC[st14 * 0x80 + (r4 - 1) + st54 * 0x2800]; - } - else - { + } else { param0->unk2AC[st14 * 0x80 + r4 + st54 * 0x2800] = (u8)((st50[st14 * 0x50 + r4] & 0xf) | ((st50[st14 * 0x50 + r4] & 0xf) << 4)); } - } - else - { + } else { param0->unk2AC[st14 * 0x80 + r4 + st54 * 0x2800] = st50[st14 * 0x50 + r4]; } @@ -2298,41 +2141,35 @@ THUMB_FUNC void FUN_020082A8(struct UnkStruct_02006D98 *param0) param0->unk2E1 = st48; } -THUMB_FUNC void FUN_020086F4(struct UnkStruct_02006D98 *param0) -{ +THUMB_FUNC void FUN_020086F4(struct UnkStruct_02006D98 *param0) { NNSG2dPaletteData *st18; int st14, r7; u16 *r1; void *st10; u8 stc = 0; - for (st14 = 0; st14 < 4; st14++) - { - if (param0->unk000[st14].unk00_0 != 0 && param0->unk000[st14].unk00_8 != 0) - { + for (st14 = 0; st14 < 4; st14++) { + if (param0->unk000[st14].unk00_0 != 0 && param0->unk000[st14].unk00_8 != 0) { param0->unk000[st14].unk00_8 = 0; stc = 1; st10 = AllocAndReadWholeNarcMemberByIdPair((NarcId)param0->unk000[st14].unk04.field_00, - param0->unk000[st14].unk04.field_04, - param0->unk298); + param0->unk000[st14].unk04.field_04, + param0->unk298); NNS_G2dGetUnpackedPaletteData(st10, &st18); param0->unk2D0.fmt = st18->fmt; r1 = st18->pRawData; - for (r7 = 0; r7 < 0x10; r7++) - { + for (r7 = 0; r7 < 0x10; r7++) { param0->unk2B0[st14 * 0x10 + r7] = r1[r7]; param0->unk2B4[st14 * 0x10 + r7] = r1[r7]; } FreeToHeap(st10); - if (param0->unk000[st14].unk6C.unk0_0 != 0) - { + if (param0->unk000[st14].unk6C.unk0_0 != 0) { st10 = AllocAndReadWholeNarcMemberByIdPair( NARC_POKETOOL_POKEGRA_OTHERPOKE, NARC_otherpoke_narc_0212_NCLR, param0->unk298); NNS_G2dGetUnpackedPaletteData(st10, &st18); r1 = st18->pRawData; - for (r7 = 0; r7 < 0x10; r7++) - { + for (r7 = 0; r7 < 0x10; r7++) { param0->unk2B0[(param0->unk000[st14].unk6C.unk0_0 + 3) * 0x10 + r7] = r1[r7]; param0->unk2B4[(param0->unk000[st14].unk6C.unk0_0 + 3) * 0x10 + r7] = r1[r7]; } @@ -2341,42 +2178,32 @@ THUMB_FUNC void FUN_020086F4(struct UnkStruct_02006D98 *param0) } //_020087E0 - if (param0->unk000[st14].unk00_0 != 0 && param0->unk000[st14].unk54_C != 0) - { - if (param0->unk000[st14].unk4A == 0) - { + if (param0->unk000[st14].unk00_0 != 0 && param0->unk000[st14].unk54_C != 0) { + if (param0->unk000[st14].unk4A == 0) { stc = 1; param0->unk000[st14].unk4A = param0->unk000[st14].unk4B; BlendPalette(param0->unk2B4 + st14 * 0x10, - param0->unk2B0 + st14 * 0x10, - 0x10, - param0->unk000[st14].unk48, - (u16)param0->unk000[st14].unk4C); + param0->unk2B0 + st14 * 0x10, + 0x10, + param0->unk000[st14].unk48, + (u16)param0->unk000[st14].unk4C); - if (param0->unk000[st14].unk6C.unk0_0 != 0) - { + if (param0->unk000[st14].unk6C.unk0_0 != 0) { BlendPalette(param0->unk2B4 + (param0->unk000[st14].unk6C.unk0_0 + 3) * 0x10, - param0->unk2B0 + (param0->unk000[st14].unk6C.unk0_0 + 3) * 0x10, - 0x10, - param0->unk000[st14].unk48, - (u16)param0->unk000[st14].unk4C); + param0->unk2B0 + (param0->unk000[st14].unk6C.unk0_0 + 3) * 0x10, + 0x10, + param0->unk000[st14].unk48, + (u16)param0->unk000[st14].unk4C); } - if (param0->unk000[st14].unk48 == param0->unk000[st14].unk49) - { + if (param0->unk000[st14].unk48 == param0->unk000[st14].unk49) { param0->unk000[st14].unk54_C = 0; - } - else if (param0->unk000[st14].unk48 > param0->unk000[st14].unk49) - { + } else if (param0->unk000[st14].unk48 > param0->unk000[st14].unk49) { param0->unk000[st14].unk48--; - } - else - { + } else { param0->unk000[st14].unk48++; } - } - else - { + } else { param0->unk000[st14].unk4A--; } } @@ -2385,21 +2212,17 @@ THUMB_FUNC void FUN_020086F4(struct UnkStruct_02006D98 *param0) param0->unk2E2 = stc; } -THUMB_FUNC u8 FUN_020088D8(u8 param0) -{ +THUMB_FUNC u8 FUN_020088D8(u8 param0) { return (u8)(((u8)((param0 & 0xf0) >> 4)) | ((u8)(param0 << 4))); } -THUMB_FUNC void FUN_020088EC(struct UnkStruct_02006D98_2 *param0, u8 *param1) -{ - if (param0->unk04.field_06 != 0) - { +THUMB_FUNC void FUN_020088EC(struct UnkStruct_02006D98_2 *param0, u8 *param1) { + if (param0->unk04.field_06 != 0) { FUN_02008904(param1, param0->unk04.field_0C, 1); } } -THUMB_FUNC void FUN_02008904(u8 *param0, u32 param1, u32 param2) -{ +THUMB_FUNC void FUN_02008904(u8 *param0, u32 param1, u32 param2) { struct UnkStruct_02006D98_3 *st10; s32 i; u32 r2; @@ -2408,26 +2231,19 @@ THUMB_FUNC void FUN_02008904(u8 *param0, u32 param1, u32 param2) u8 r1; u32 st0 = param1; - for (i = 0; i < 4; i++) - { + for (i = 0; i < 4; i++) { st10 = UNK_02105AE8[i]; r1 = 0; - while (st10[r1].unk0 != 0xff) - { + while (st10[r1].unk0 != 0xff) { r0 = (u8)(st10[r1].unk0 + ((param1 & 0xf) - 8)); r4 = (u8)(st10[r1].unk1 + (((param1 & 0xf0) >> 4) - 8)); r2 = (u32)(r0 / 2 + r4 * 0x50); - if ((r0 & 1) != 0) - { - if ((param0[r2] & 0xf0) >= 0x10 && (param0[r2] & 0xf0) <= 0x30) - { + if ((r0 & 1) != 0) { + if ((param0[r2] & 0xf0) >= 0x10 && (param0[r2] & 0xf0) <= 0x30) { param0[r2] += 0x50; } - } - else - { - if ((param0[r2] & 0xf) >= 1 && (param0[r2] & 0xf) <= 3) - { + } else { + if ((param0[r2] & 0xf) >= 1 && (param0[r2] & 0xf) <= 3) { param0[r2] += 5; } } @@ -2439,28 +2255,20 @@ THUMB_FUNC void FUN_02008904(u8 *param0, u32 param1, u32 param2) param1 = st0; - if (param2 != 0) - { - for (i = 0; i < 4; i++) - { + if (param2 != 0) { + for (i = 0; i < 4; i++) { st10 = UNK_02105AE8[i]; r1 = 0; - while (st10[r1].unk0 != 0xff) - { + while (st10[r1].unk0 != 0xff) { r0 = (u8)(st10[r1].unk0 - 14 + ((param1 & 0xf) - 8) + 0x50); r4 = (u8)(st10[r1].unk1 + (((param1 & 0xf0) >> 4) - 8)); r2 = (u32)(r0 / 2 + r4 * 0x50); - if ((r0 & 1) != 0) - { - if ((param0[r2] & 0xf0) >= 0x10 && (param0[r2] & 0xf0) <= 0x30) - { + if ((r0 & 1) != 0) { + if ((param0[r2] & 0xf0) >= 0x10 && (param0[r2] & 0xf0) <= 0x30) { param0[r2] += 0x50; } - } - else - { - if ((param0[r2] & 0xf) >= 1 && (param0[r2] & 0xf) <= 3) - { + } else { + if ((param0[r2] & 0xf) >= 1 && (param0[r2] & 0xf) <= 3) { param0[r2] += 5; } } @@ -2471,18 +2279,15 @@ THUMB_FUNC void FUN_02008904(u8 *param0, u32 param1, u32 param2) } } -THUMB_FUNC u16 FUN_02008A54(u32 *param0) -{ +THUMB_FUNC u16 FUN_02008A54(u32 *param0) { *param0 = (*param0) * 0x41C64E6D + 0x6073; return (u16)(*param0 >> 16); } -THUMB_FUNC void FUN_02008A74(u8 *param0) -{ +THUMB_FUNC void FUN_02008A74(u8 *param0) { u32 st0 = ((u16 *)param0)[0xc7f]; - for (s32 r4 = 0xc7f; r4 > -1; r4--) - { + for (s32 r4 = 0xc7f; r4 > -1; r4--) { ((u16 *)param0)[r4] ^= st0; FUN_02008A54(&st0); } diff --git a/include/unk_02006D98.h b/include/unk_02006D98.h index 04661ebd..fbb8c2c7 100644 --- a/include/unk_02006D98.h +++ b/include/unk_02006D98.h @@ -1,10 +1,9 @@ #ifndef POKEDIAMOND_UNK_02006D98_H #define POKEDIAMOND_UNK_02006D98_H -#include "global.h" #include "NNS_g2d.h" -struct UnkStruct63_021DB49C -{ +#include "global.h" +struct UnkStruct_02006D98_4 { u16 field_00; u16 field_02; u16 field_04; @@ -13,13 +12,11 @@ struct UnkStruct63_021DB49C u32 field_0C; }; -struct UnkStruct_02006D98_sub -{ +struct UnkStruct_02006D98_sub { s8 unk0; u8 unk1; }; -struct UnkStruct_02006D98_sub2 -{ +struct UnkStruct_02006D98_sub2 { u16 unk0_0 : 2; u16 unk0_2 : 1; u16 unk0_3 : 1; @@ -33,14 +30,13 @@ struct UnkStruct_02006D98_sub2 s16 unka; }; -struct UnkStruct_02006D98_2 -{ +struct UnkStruct_02006D98_2 { u32 unk00_0 : 1; u32 unk00_1 : 6; u32 unk00_7 : 1; u32 unk00_8 : 1; - struct UnkStruct63_021DB49C unk04; - struct UnkStruct63_021DB49C unk14; + struct UnkStruct_02006D98_4 unk04; + struct UnkStruct_02006D98_4 unk14; s16 unk24; s16 unk26; u32 unk28; @@ -91,8 +87,7 @@ struct UnkStruct_02006D98_2 struct UnkStruct_02006D98_sub unk84[10]; }; -struct UnkStruct_02006D98 -{ +struct UnkStruct_02006D98 { struct UnkStruct_02006D98_2 unk000[4]; NNSG2dImageProxy unk260; NNSG2dImagePaletteProxy unk284; @@ -113,8 +108,7 @@ struct UnkStruct_02006D98 u32 unk2E4; }; -struct UnkStruct_02006D98_3 -{ +struct UnkStruct_02006D98_3 { u8 unk0; u8 unk1; }; @@ -126,22 +120,22 @@ void FUN_02007314(struct UnkStruct_02006D98_2 *param0); void FUN_0200737C(struct UnkStruct_02006D98_2 *param0, struct UnkStruct_02006D98_sub *param1); BOOL FUN_02007390(struct UnkStruct_02006D98_2 *param0); struct UnkStruct_02006D98_2 *FUN_020073A0(struct UnkStruct_02006D98 *param0, - struct UnkStruct63_021DB49C *param1, - u32 param2, - u32 param3, - u32 param4, - u32 param5, - const void *param6, - void (*param7)(struct UnkStruct_02006D98_2 *, void *)); + struct UnkStruct_02006D98_4 *param1, + u32 param2, + u32 param3, + u32 param4, + u32 param5, + const void *param6, + void (*param7)(struct UnkStruct_02006D98_2 *, void *)); struct UnkStruct_02006D98_2 *FUN_020073E8(struct UnkStruct_02006D98 *param0, - struct UnkStruct63_021DB49C *param1, - u32 param2, - u32 param3, - u32 param4, - u32 param5, - s32 param6, - const void *param7, - void (*param8)(struct UnkStruct_02006D98_2 *, void *)); + struct UnkStruct_02006D98_4 *param1, + u32 param2, + u32 param3, + u32 param4, + u32 param5, + s32 param6, + const void *param7, + void (*param8)(struct UnkStruct_02006D98_2 *, void *)); void FUN_02007534(struct UnkStruct_02006D98_2 *param0); void FUN_02007540(struct UnkStruct_02006D98 *param0); void FUN_02007558(struct UnkStruct_02006D98_2 *param0, u32 param1, u32 param2); @@ -175,5 +169,4 @@ void FUN_02008904(u8 *param0, u32 param1, u32 param2); u16 FUN_02008A54(u32 *param0); void FUN_02008A74(u8 *param0); - -#endif // POKEDIAMOND_UNK_02006D98_H +#endif // POKEDIAMOND_UNK_02006D98_H |