Trainer tower data decomp

This commit is contained in:
scnorton
2019-01-08 10:59:54 -05:00
parent ca1c274c16
commit b9979f71e7
3 changed files with 414 additions and 647 deletions
+414 -14
View File
@@ -3,6 +3,7 @@
#include "task.h"
#include "constants/flags.h"
#include "constants/vars.h"
#include "constants/items.h"
#include "constants/species.h"
#include "malloc.h"
#include "save.h"
@@ -149,21 +150,420 @@ extern const u8 gUnknown_83FE982[];
extern const u8 gUnknown_83FE998[];
extern const u8 *const gUnknown_83FE9C4[];
extern const struct UnkStruct_8479D34 gUnknown_8479D34[15];
extern const struct UnkStruct_8479ED8 gUnknown_8479ED8[83];
extern const struct UnkStruct_847A024 gUnknown_847A024[10];
extern const struct UnkStruct_847A074 gUnknown_847A074[105];
extern const struct WindowTemplate gUnknown_847A218;
extern const struct TextColor gUnknown_847A22C;
extern void (*const gUnknown_847A230[])(void);
const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
{
0x03, 0x26,
.flags1 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags2 = {0x99, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
},
{
0x03, 0x27,
.flags1 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags2 = {0x9a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
},
{
0x01, 0x1f,
.flags1 = {0x4c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags2 = {0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0xff, 0xff},
.flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
},
{
0x01, 0x22,
.flags1 = {0x53, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags2 = {0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0xff, 0xff},
.flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
},
{
0x03, 0x41,
.flags1 = {0x40, 0x41, 0x42, 0x43, 0xff, 0xff, 0xff, 0xff},
.flags2 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
},
{
0x01, 0x02,
.flags1 = {0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0xff, 0xff},
.flags2 = {0x54, 0x55, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
},
{
0x01, 0x6d,
.flags1 = {0x5b, 0x5d, 0x5e, 0x5f, 0x63, 0x64, 0x65, 0x66},
.flags2 = {0x5b, 0x5d, 0x5e, 0x5f, 0x63, 0x64, 0x65, 0xff},
.flags3 = {0x5a, 0x5c, 0x60, 0x61, 0x62, 0xff, 0xff, 0xff}
},
{
0x03, 0x2e,
.flags1 = {0x6b, 0x6c, 0x6d, 0x6e, 0xff, 0xff, 0xff, 0xff},
.flags2 = {0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0xff, 0xff},
.flags3 = {0x6b, 0x6c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
},
{
0x03, 0x30,
.flags1 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags2 = {0xa6, 0xa7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
},
{
0x03, 0x0f,
.flags1 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags2 = {0xa8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags3 = {0xa9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
},
{
0x03, 0x39,
.flags1 = {0xaa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags2 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
},
{
0x03, 0x36,
.flags1 = {0xae, 0xb0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags2 = {0xaf, 0xb1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
},
{
0x03, 0x3a,
.flags1 = {0xb2, 0xb3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags2 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
},
{
0x03, 0x3b,
.flags1 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags2 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags3 = {0xb4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
},
{
0x03, 0x3e,
.flags1 = {0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags2 = {0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
},
};
const struct UnkStruct_8479ED8 gUnknown_8479ED8[] = {
{0x1c, 0x03, 0x01},
{0x38, 0x04, 0x00},
{0x25, 0x06, 0x01},
{0x26, 0x07, 0x00},
{0x29, 0x08, 0x00},
{0x2a, 0x09, 0x01},
{0x34, 0x0a, 0x00},
{0x1c, 0x0b, 0x01},
{0x1d, 0x0c, 0x01},
{0x13, 0x0d, 0x00},
{0x34, 0x0e, 0x00},
{0x2d, 0x0f, 0x00},
{0x36, 0x10, 0x00},
{0x1a, 0x11, 0x00},
{0x1a, 0x12, 0x00},
{0x27, 0x13, 0x00},
{0x34, 0x14, 0x00},
{0x13, 0x15, 0x00},
{0x17, 0x16, 0x01},
{0x3d, 0x17, 0x00},
{0x13, 0x1d, 0x00},
{0x17, 0x1e, 0x01},
{0x1e, 0x20, 0x00},
{0x1f, 0x21, 0x01},
{0x20, 0x22, 0x00},
{0x23, 0x23, 0x01},
{0x12, 0x24, 0x00},
{0x39, 0x26, 0x00},
{0x29, 0x2d, 0x00},
{0x1a, 0x2e, 0x00},
{0x10, 0x2f, 0x00},
{0x18, 0x30, 0x01},
{0x1d, 0x31, 0x01},
{0x2e, 0x32, 0x01},
{0x28, 0x33, 0x01},
{0x3e, 0x35, 0x00},
{0x1b, 0x38, 0x00},
{0x19, 0x40, 0x00},
{0x1c, 0x41, 0x01},
{0x27, 0x42, 0x00},
{0x28, 0x43, 0x01},
{0x16, 0x47, 0x01},
{0x14, 0x48, 0x00},
{0x38, 0x49, 0x00},
{0x12, 0x58, 0x00},
{0x14, 0x59, 0x00},
{0x16, 0x5a, 0x01},
{0x3e, 0x5b, 0x00},
{0x27, 0x5c, 0x00},
{0x28, 0x5d, 0x01},
{0x34, 0x5e, 0x00},
{0x34, 0x5f, 0x00},
{0x38, 0x60, 0x00},
{0x35, 0x61, 0x00},
{0x34, 0x62, 0x00},
{0x1e, 0x63, 0x00},
{0x39, 0x64, 0x00},
{0x2d, 0x65, 0x00},
{0x35, 0x66, 0x00},
{0x20, 0x67, 0x00},
{0x1d, 0x68, 0x01},
{0x2e, 0x69, 0x01},
{0x13, 0x6a, 0x00},
{0x1a, 0x6b, 0x00},
{0x1a, 0x6c, 0x00},
{0x19, 0x6d, 0x00},
{0x1a, 0x6e, 0x00},
{0x36, 0x6f, 0x00},
{0x37, 0x71, 0x00},
{0x29, 0x74, 0x00},
{0x2a, 0x75, 0x01},
{0x3d, 0x7a, 0x00},
{0x3a, 0x7d, 0x01},
{0x17, 0x89, 0x01},
{0x18, 0x8a, 0x01},
{0x25, 0x8b, 0x01},
{0x1c, 0x8c, 0x01},
{0x27, 0x8d, 0x00},
{0x28, 0x8e, 0x01},
{0x1c, 0x8f, 0x01},
{0x38, 0x90, 0x00},
{0x1c, 0x91, 0x01},
{0x16, 0x92, 0x01}
};
const struct UnkStruct_847A024 gUnknown_847A024[] = {
{0x1d, 0x17, 0x1f, 0x01, 0x01},
{0x11, 0x11, 0x34, 0x01, 0x01},
{0x1d, 0x19, 0x4a, 0x01, 0x00},
{0x20, 0x23, 0x4b, 0x00, 0x01},
{0x26, 0x2e, 0x4c, 0x00, 0x01},
{0x11, 0x11, 0x7e, 0x01, 0x01},
{0x29, 0x2a, 0x7f, 0x00, 0x01},
{0x1d, 0x19, 0x80, 0x01, 0x00},
{0x18, 0x36, 0x81, 0x01, 0x00},
{0x2e, 0x26, 0x82, 0x01, 0x00}
};
const struct UnkStruct_847A074 gUnknown_847A074[105] = {
{0x03, 0x06},
{0x37, 0x06},
{0x02, 0x06},
{0x67, 0x01},
{0x04, 0x01},
{0x24, 0x04},
{0x4a, 0x01},
{0x26, 0x01},
{0x2a, 0x00},
{0x42, 0x03},
{0x1b, 0x09},
{0x4c, 0x03},
{0x44, 0x03},
{0x21, 0x04},
{0x43, 0x03},
{0x6a, 0x01},
{0x5d, 0x05},
{0x56, 0x05},
{0x09, 0x05},
{0x11, 0x04},
{0x48, 0x03},
{0x3c, 0x00},
{0x29, 0x00},
{0x5c, 0x09},
{0x28, 0x09},
{0x06, 0x0c},
{0x68, 0x0b},
{0x05, 0x0b},
{0x58, 0x0d},
{0x16, 0x0d},
{0x46, 0x08},
{0x0f, 0x01},
{0x3f, 0x03},
{0x0e, 0x03},
{0x5f, 0x04},
{0x63, 0x04},
{0x50, 0x04},
{0x10, 0x04},
{0x52, 0x03},
{0x35, 0x04},
{0x5b, 0x03},
{0x14, 0x03},
{0x3d, 0x00},
{0x13, 0x00},
{0x12, 0x0b},
{0x30, 0x07},
{0x38, 0x07},
{0x2f, 0x07},
{0x3b, 0x01},
{0x31, 0x01},
{0x4e, 0x0b},
{0x3a, 0x00},
{0x32, 0x00},
{0x23, 0x03},
{0x0d, 0x0d},
{0x0a, 0x03},
{0x49, 0x01},
{0x0c, 0x01},
{0x69, 0x01},
{0x0b, 0x01},
{0x25, 0x01},
{0x3e, 0x02},
{0x27, 0x02},
{0x65, 0x01},
{0x2d, 0x01},
{0x61, 0x01},
{0x2b, 0x03},
{0x66, 0x05},
{0x2e, 0x05},
{0x2c, 0x00},
{0x5e, 0x02},
{0x34, 0x02},
{0x51, 0x00},
{0x59, 0x00},
{0x40, 0x03},
{0x55, 0x06},
{0x53, 0x06},
{0x4b, 0x04},
{0x15, 0x04},
{0x1a, 0x09},
{0x57, 0x0a},
{0x17, 0x01},
{0x47, 0x03},
{0x62, 0x01},
{0x39, 0x00},
{0x1d, 0x00},
{0x1c, 0x04},
{0x20, 0x00},
{0x4f, 0x05},
{0x22, 0x05},
{0x45, 0x0b},
{0x1f, 0x0b},
{0x5a, 0x00},
{0x1e, 0x00},
{0x08, 0x00},
{0x64, 0x02},
{0x07, 0x02},
{0x60, 0x08},
{0x36, 0x08},
{0x41, 0x0b},
{0x33, 0x0b},
{0x54, 0x00},
{0x18, 0x01},
{0x4d, 0x0b},
{0x19, 0x00}
};
const struct WindowTemplate gUnknown_847A218[] = {
{0, 3, 1, 27, 18, 15, 0x001},
DUMMY_WIN_TEMPLATE
};
const u32 gUnknown_847A228 = 0x70; // unused
const struct TextColor gUnknown_847A22C = {0, 2, 3};
void (*const gUnknown_847A230[])(void) = {
sub_815DD44,
sub_815DF54,
sub_815E160,
sub_815E1C0,
sub_815E1F0,
sub_815E218,
sub_815E28C,
sub_815E394,
sub_815E408,
sub_815E4B0,
sub_815E56C,
sub_815E5C4,
sub_815E5F0,
sub_815E658,
sub_815E720,
sub_815E88C,
sub_815E8B4,
sub_815E8CC,
sub_815E908,
sub_815E948,
sub_815E9C8
};
const u16 gUnknown_847A284[8][3] = {
{0x012a, 0x016e, 0x0176},
{0x012b, 0x016f, 0x0177},
{0x012c, 0x0170, 0x0178},
{0x012d, 0x0171, 0x0179},
{0x012e, 0x0172, 0x017a},
{0x012f, 0x0173, 0x017b},
{0x0130, 0x0174, 0x017c},
{0x0131, 0x0175, 0x017d}
};
const u16 gUnknown_847A2B4[] = {
ITEM_HP_UP,
ITEM_PROTEIN,
ITEM_IRON,
ITEM_CARBOS,
ITEM_CALCIUM,
ITEM_ZINC,
ITEM_BRIGHT_POWDER,
ITEM_WHITE_HERB,
ITEM_MENTAL_HERB,
ITEM_CHOICE_BAND,
ITEM_KINGS_ROCK,
ITEM_SCOPE_LENS,
ITEM_METAL_COAT,
ITEM_DRAGON_SCALE,
ITEM_UP_GRADE
};
const u16 gUnknown_847A2D2[] = {
0x011d,
0x011c,
0x011c,
0x011b,
0x011d,
0x011d,
0x011b,
0x011b,
0x011d,
0x011c,
0x011d,
0x011d,
0x011d,
0x011d
};
const u8 gUnknown_847A2EE[][2] = {
{0x00, 0x02},
{0x01, 0x03},
{0x02, 0x04},
{0x03, 0x05},
{0x04, 0x01},
{0x05, 0x02},
{0x00, 0x03},
{0x01, 0x04}
};
const u8 gUnknown_847A2FE[][2] = {
{0x00, 0x01},
{0x01, 0x03},
{0x02, 0x00},
{0x03, 0x04},
{0x04, 0x02},
{0x05, 0x02},
{0x00, 0x03},
{0x01, 0x05}
};
const u8 gUnknown_847A30E[][3] = {
{0x00, 0x02, 0x04},
{0x01, 0x03, 0x05},
{0x02, 0x03, 0x01},
{0x03, 0x04, 0x00},
{0x04, 0x01, 0x02},
{0x05, 0x00, 0x03},
{0x00, 0x05, 0x02},
{0x01, 0x04, 0x05}
};
extern const struct Unk_203F458_Header gUnknown_84827AC;
extern const struct UnkSubstruct_203F458_000C *const gUnknown_84827B4[][8];
extern const u16 gUnknown_847A284[8][3];
extern const u16 gUnknown_847A2B4[];
extern const u16 gUnknown_847A2D2[];
extern const u8 gUnknown_847A2EE[][2];
extern const u8 gUnknown_847A2FE[][2];
extern const u8 gUnknown_847A30E[][3];
bool32 sub_815D7BC(void * dest, void * buffer)
{
@@ -934,7 +1334,7 @@ void sub_815E720(void)
s32 minutes, seconds, centiseconds;
sub_815EC0C();
windowId = AddWindow(&gUnknown_847A218);
windowId = AddWindow(gUnknown_847A218);
sub_80F6E9C();
sub_80F6F1C(windowId, FALSE);
AddTextPrinterParameterized(windowId, 2, gUnknown_83FE982, 0x4A, 0, 0xFF, NULL);