summaryrefslogtreecommitdiff
path: root/arm9/src
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/src')
-rw-r--r--arm9/src/unk_02006D98.c1106
1 files changed, 650 insertions, 456 deletions
diff --git a/arm9/src/unk_02006D98.c b/arm9/src/unk_02006D98.c
index 9c3d766d..83fea2f1 100644
--- a/arm9/src/unk_02006D98.c
+++ b/arm9/src/unk_02006D98.c
@@ -1,9 +1,9 @@
#include "unk_02006D98.h"
+#include "global.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"
@@ -11,269 +11,270 @@
#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}}, {
+const int UNK_020ECD4C[4][2][4] = { { { 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}
+ { 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,
@@ -285,16 +286,17 @@ 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;
@@ -311,7 +313,8 @@ 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));
}
@@ -332,8 +335,10 @@ 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];
}
}
@@ -348,7 +353,8 @@ 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;
@@ -364,28 +370,35 @@ 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(&param0->unk000[st18], &param0->unk000[st18].unk24);
}
NNS_G3dGeFlushBuffer();
- if (param0->unk2E3 != 1) {
+ if (param0->unk2E3 != 1)
+ {
reg_G3_MTX_IDENTITY = 0;
}
FUN_02007F48(&param0->unk000[st18]);
u32 shift;
- if (param0->unk260.attr.fmt == 2) {
+ if (param0->unk260.attr.fmt == 2)
+ {
shift = 1;
- } else {
+ }
+ else
+ {
shift = 0;
}
@@ -421,7 +434,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;
@@ -433,27 +446,28 @@ 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) {
- u32 r6 = param0->unk000[st18].unk44 +
- UNK_020ECD4C[st18][param0->unk000[st18].unk5B][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;
- u32 r1 = param0->unk000[st18].unk45 +
- UNK_020ECD4C[st18][param0->unk000[st18].unk5B][1];
+ u32 r1 = param0->unk000[st18].unk45 + UNK_020ECD4C[st18][param0->unk000[st18].unk5B][1];
u32 r7 = param0->unk000[st18].unk47;
u32 r0 = r12 + r6;
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;
@@ -471,58 +485,69 @@ 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
@@ -1031,19 +1056,23 @@ _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;
}
@@ -1053,28 +1082,35 @@ 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 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_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;
}
}
@@ -1084,14 +1120,15 @@ THUMB_FUNC struct UnkStruct_02006D98_2 *FUN_020073A0(struct UnkStruct_02006D98 *
}
THUMB_FUNC struct UnkStruct_02006D98_2 *FUN_020073E8(struct UnkStruct_02006D98 *param0,
- 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 *)) {
+ 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, &param0->unk000[param6], sizeof(struct UnkStruct_02006D98_2));
@@ -1121,25 +1158,31 @@ 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 &param0->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(&param0->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;
@@ -1289,8 +1332,10 @@ 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;
@@ -1435,8 +1480,10 @@ 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;
@@ -1587,7 +1634,8 @@ 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;
@@ -1596,7 +1644,8 @@ 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;
@@ -1606,9 +1655,12 @@ 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;
}
@@ -1621,7 +1673,8 @@ 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;
@@ -1631,36 +1684,46 @@ 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 = &param0->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;
@@ -1669,12 +1732,15 @@ 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
@@ -1788,45 +1854,60 @@ _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]--;
}
}
@@ -1837,7 +1918,8 @@ 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]
@@ -1932,39 +2014,47 @@ _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(&param0->unk260);
@@ -1977,7 +2067,8 @@ THUMB_FUNC void FUN_020081C4(struct UnkStruct_02006D98 *param0) {
&param0->unk2B8, param0->unk29C, NNS_G2D_VRAM_TYPE_3DMAIN, &param0->unk260);
}
- if (param0->unk2E2 != 0) {
+ if (param0->unk2E2 != 0)
+ {
param0->unk2E2 = 0;
NNS_G2dInitImagePaletteProxy(&param0->unk284);
@@ -1989,24 +2080,29 @@ 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;
@@ -2015,13 +2111,15 @@ 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;
@@ -2031,101 +2129,159 @@ THUMB_FUNC void FUN_020082A8(struct UnkStruct_02006D98 *param0) {
FUN_02008A74(st50);
FUN_020088EC(&param0->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];
}
@@ -2141,35 +2297,41 @@ 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];
}
@@ -2178,32 +2340,42 @@ 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--;
}
}
@@ -2212,17 +2384,21 @@ 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;
@@ -2231,19 +2407,26 @@ 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;
}
}
@@ -2255,20 +2438,28 @@ 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;
}
}
@@ -2279,15 +2470,18 @@ 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);
}