diff --git a/Makefile b/Makefile index 54a07d10..50ab858d 100644 --- a/Makefile +++ b/Makefile @@ -258,7 +258,7 @@ decompress: $(BASEROM) extract: @$(RM) -r asm/$(VERSION) bin/$(VERSION) @echo "Unifying yamls..." - @$(CAT) yamls/$(VERSION)/header.yaml yamls/$(VERSION)/makerom.yaml yamls/$(VERSION)/main.yaml yamls/$(VERSION)/overlays.yaml > $(SPLAT_YAML) + @$(CAT) yamls/$(VERSION)/header.yaml yamls/$(VERSION)/makerom.yaml yamls/$(VERSION)/main.yaml yamls/$(VERSION)/assets.yaml yamls/$(VERSION)/overlays.yaml > $(SPLAT_YAML) @echo "Extracting..." @$(SPLAT) $(SPLAT_YAML) diff --git a/include/functions.h b/include/functions.h index e4208811..11432b8c 100644 --- a/include/functions.h +++ b/include/functions.h @@ -75,6 +75,8 @@ void func_8001A55C(f32*, u32); void func_8001A838(u32 arg0); void func_8001ACDC(s32); void func_8001AE58(void); +s32 func_8001AE78(void); +s32 func_8001AED4(void); void func_8001AF40(s32 arg0); void func_8001D400(s32); void func_8001D444(u8, u16, u8, u8); @@ -88,7 +90,7 @@ void func_8001D8F4(u8); void func_8001DCE0(void); void func_8001DECC(void); SPTask* func_8001DF50(void); - +void func_8001EE00(void); f32 func_8001FE60(f32); f64 func_8001FE6C(f64); s32 func_8001FE78(f32); @@ -234,12 +236,15 @@ void func_80084370(s32); void func_800843FC(s32); void func_80084488(s32); void func_80084688(s32, s32); +void func_80084B94(s32 arg0); void func_800857DC(f32, f32, f32, f32); void func_80085890(f32, f32, f32, f32); +void func_80086110(f32 arg0, f32 arg1, s32 arg2); void func_80086664(f32, f32); void func_800869A0(f32 arg0, f32 arg1, s32 k, f32 arg3, s32 arg4, s32 arg5); void func_80087530(f32, f32, s32); void func_8008865C(void); +void func_8008AD94(void); void func_8008B5B0(f32 x, f32 y); s32 func_8008B774(void); void func_8008BD00(u8*, s32, s32, u8); @@ -289,11 +294,19 @@ void func_800B9358(void); void func_800C1ED4(void); void func_800C20B0(void); void func_800C2190(void); +u16* func_800C2830(u16 arg0); u16 func_800C2890(u16*); +s32 func_800C28DC(u16* arg0); +s32 func_800C2928(u16* arg0); +void func_800C295C(Gfx** arg0, u16 arg1, s32 arg2, s32 arg3); +s32 func_800C2AF0(Gfx** arg0, u16* arg1, s32 arg2, s32 arg3, s32 arg4); +void func_800C2D3C(Gfx** arg0, u16* arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6); s32 func_800C2F30(u16*, s32); s32 Save_Write(void); s32 Save_Read(void); + + void func_EFFA40_80187520(s32, void*); void func_DF4260_80198310(Object_408 *); diff --git a/include/gfx.h b/include/gfx.h index d39ee2bd..2856cac9 100644 --- a/include/gfx.h +++ b/include/gfx.h @@ -165,23 +165,23 @@ f32 func_8009BC2C(f32 *value, f32 target, f32 scale, f32 maxStep, f32 minStep); f32 func_8009BD38(f32 *angle, f32 target, f32 scale, f32 maxStep, f32 minStep); void func_8009BEEC(Vec3f *src, Vec3f *dst, s32 mode, s32 count, f32 scale, f32 maxStep, f32 minStep); s32 func_8009C124(Vec3f *pos, Vec3f *target, Vec3f *rot, f32 stepSize, f32 scaleTurn, f32 maxTurn, f32 dist); -void func_8009C320(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); -void func_8009C674(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); -void func_8009C9C8(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); -void func_8009CD3C(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); -void func_8009D0BC(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); -void func_8009D418(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); -void func_8009D6CC(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); -void func_8009D994(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); -void func_8009DC4C(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); -void func_8009DF14(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); -void func_8009E1E8(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); -void func_8009E4B0(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); -void func_8009E784(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); -void func_8009EA38(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); -void func_8009ED04(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); -void func_8009EFDC(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); -void func_8009F2C0(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_4bCI(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_4bCI_Flip(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_4bCI_MirX(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_4bCI_MirY(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_8bCI(Gfx **gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_16bRGBA(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_16bRGBA_MirX(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_8bIA(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_8bIA_FilpMirX(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_8bIA_FilpMirY(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_8bIA_MirX(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_8bIA_MirY(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_16bIA(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_16bIA_MirX(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_16bIA_MirY(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_16bIA_MirXY(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); +void TextureRect_32bRGBA(Gfx **gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale); void func_8009F574(Gfx **gfxPtr, s32 ulx, s32 uly, s32 lrx, s32 lry, u8 r, u8 g, u8 b, u8 a); void func_8009F6CC(Vec3f *step, f32 xRot, f32 yRot, f32 stepsize); f32 func_8009F768(f32 rAngle); diff --git a/include/hud.h b/include/hud.h index 33711c6c..24ed4aeb 100644 --- a/include/hud.h +++ b/include/hud.h @@ -52,8 +52,6 @@ extern s32 D_1011CA0[]; extern s32 D_1011D70[]; extern s32 D_1011D90[]; extern s32 D_1011E60[]; -extern s32 D_1013170[]; -extern s32 D_1013570[]; extern s32 D_1013580[]; extern s32 D_1013700[]; extern s32 D_20031B0[]; diff --git a/include/sf64dma.h b/include/sf64dma.h new file mode 100644 index 00000000..54e5505a --- /dev/null +++ b/include/sf64dma.h @@ -0,0 +1,186 @@ +#ifndef SF64_DMA +#define SF64_DMA + +#include "PR/ultratypes.h" +#include "libc/stdbool.h" + +#define DECLARE_VRAM_SEGMENT(name) \ + extern u8 name ## _VRAM[]; \ + extern u8 name ## _VRAM_END[] + +#define DECLARE_ROM_SEGMENT(name) \ + extern u8 name ## _ROM_START[]; \ + extern u8 name ## _ROM_END[] + +#define DECLARE_TEXT_SEGMENT(name) \ + extern u8 name ## _TEXT_START[]; \ + extern u8 name ## _TEXT_END[] + +#define DECLARE_DATA_SEGMENT(name) \ + extern u8 name ## _DATA_START[]; \ + extern u8 name ## _DATA_END[]; \ + extern u8 name ## _DATA_SIZE[] + +#define DECLARE_RODATA_SEGMENT(name) \ + extern u8 name ## _RODATA_START[]; \ + extern u8 name ## _RODATA_END[] + + +#define DECLARE_BSS_SEGMENT(name) \ + extern u8 name ## _BSS_START[]; \ + extern u8 name ## _BSS_END[] + +#define DECLARE_SEGMENT(name) \ + DECLARE_VRAM_SEGMENT(name); \ + DECLARE_ROM_SEGMENT(name); \ + DECLARE_TEXT_SEGMENT(name); \ + DECLARE_DATA_SEGMENT(name); \ + DECLARE_RODATA_SEGMENT(name); \ + DECLARE_BSS_SEGMENT(name) + +#define SEGMENT_VRAM_START(segment) (segment ## _VRAM) +#define SEGMENT_VRAM_END(segment) (segment ## _VRAM_END) +#define SEGMENT_VRAM_SIZE(segment) ((uintptr_t)SEGMENT_VRAM_END(segment) - (uintptr_t)SEGMENT_VRAM_START(segment)) + +#define SEGMENT_ROM_START(segment) (segment ## _ROM_START) +#define SEGMENT_ROM_END(segment) (segment ## _ROM_END) +#define SEGMENT_ROM_SIZE(segment) ((uintptr_t)SEGMENT_ROM_END(segment) - (uintptr_t)SEGMENT_ROM_START(segment)) + +#define SEGMENT_TEXT_START(segment) (segment ## _TEXT_START) +#define SEGMENT_TEXT_END(segment) (segment ## _TEXT_END) +#define SEGMENT_TEXT_SIZE(segment) ((uintptr_t)SEGMENT_TEXT_END(segment) - (uintptr_t)SEGMENT_TEXT_START(segment)) + +#define SEGMENT_DATA_START(segment) (segment ## _DATA_START) +#define SEGMENT_DATA_END(segment) (segment ## _DATA_END) +#define SEGMENT_DATA_SIZE(segment) ((uintptr_t)SEGMENT_DATA_END(segment) - (uintptr_t)SEGMENT_DATA_START(segment)) +#define SEGMENT_DATA_SIZE_CONST(segment) (segment ## _DATA_SIZE) + +#define SEGMENT_RODATA_START(segment) (segment ## _RODATA_START) +#define SEGMENT_RODATA_END(segment) (segment ## _RODATA_END) +#define SEGMENT_RODATA_SIZE(segment) ((uintptr_t)SEGMENT_RODATA_END(segment) - (uintptr_t)SEGMENT_RODATA_START(segment)) +#define SEGMENT_RODATA_SIZE_CONST(segment) (segment ## _RODATA_SIZE) + +#define SEGMENT_BSS_START(segment) (segment ## _BSS_START) +#define SEGMENT_BSS_END(segment) (segment ## _BSS_END) +#define SEGMENT_BSS_SIZE(segment) ((uintptr_t)SEGMENT_BSS_END(segment) - (uintptr_t)SEGMENT_BSS_START(segment)) + +typedef struct { + /* 0x0 */ void* start; + /* 0x4 */ void* end; +} SegmentOffset; // size = 0x8 + +typedef struct { + /* 0x00 */ SegmentOffset rom; + /* 0x08 */ SegmentOffset bss; + /* 0x10 */ SegmentOffset text; + /* 0x18 */ SegmentOffset data; +} OverlayOffsets; // size = 0x20 + +typedef struct { + /* 0x00 */ OverlayOffsets ovl; + /* 0x20 */ SegmentOffset assets[15]; +} OverlayInit; // size = 0x98 + +typedef struct { + /* 0x0 */ void* vRomAddress; + /* 0x8 */ SegmentOffset pRom; + /* 0xC */ s32 compFlag; +} DmaEntry; // size = 0x10; + +extern DmaEntry gDmaTable[]; // 178A70 + +extern OverlayInit D_800CA3B4[1]; // sets segment 15 with no overlay +extern OverlayInit D_800CA44C[6]; // overlay EF0260 +extern OverlayInit D_800CA7DC[1]; // EBFBE0 +extern OverlayInit D_800CA874[1]; // EBFBE0 +extern OverlayInit D_800CA90C[1]; // EBFBE0 +extern OverlayInit D_800CA9A4[1]; // EBFBE0 +extern OverlayInit D_800CAA3C[1]; // DF4260 +extern OverlayInit D_800CAAD4[2]; // E08400 +extern OverlayInit D_800CAC04[6]; // E6A810 +extern OverlayInit D_800CAF94[2]; // E08400 +extern OverlayInit D_800CB0C4[1]; // E51970 +extern OverlayInit D_800CB15C[1]; // E16C50 +extern OverlayInit D_800CB1F4[1]; // E16C50 +extern OverlayInit D_800CB28C[2]; // E51970 +extern OverlayInit D_800CB3BC[1]; // E16C50 +extern OverlayInit D_800CB454[1]; // E9F1D0 +extern OverlayInit D_800CB4EC[1]; // E16C50 +extern OverlayInit D_800CB584[1]; // E16C50 +extern OverlayInit D_800CB61C[1]; // DF4260 +extern OverlayInit D_800CB6B4[1]; // E9F1D0 +extern OverlayInit D_800CB74C[2]; // E9F1D0 +extern OverlayInit D_800CB87C[1]; // E08400 +extern OverlayInit D_800CB914[1]; // E51970 +extern OverlayInit D_800CB9AC[1]; // E51970 +extern OverlayInit D_800CBA44[2]; // E6A810 +extern OverlayInit D_800CBB74[1]; // DF4260 +extern OverlayInit D_800CBC0C[2]; // E08400 +extern OverlayInit D_800CBD3C[1]; // EFFA40 + +DECLARE_SEGMENT(makerom); +DECLARE_SEGMENT(main); +DECLARE_SEGMENT(dma_table); +DECLARE_SEGMENT(audio_seq); +DECLARE_SEGMENT(audio_bank); +DECLARE_SEGMENT(audio_table); +DECLARE_SEGMENT(ast_873CB0); +DECLARE_SEGMENT(ast_8A68C0); +DECLARE_SEGMENT(ast_8AE0A0); +DECLARE_SEGMENT(ast_8BFC00); +DECLARE_SEGMENT(ast_8D99F0); +DECLARE_SEGMENT(ast_8E1F80); +DECLARE_SEGMENT(ast_8E92D0); +DECLARE_SEGMENT(ast_918430); +DECLARE_SEGMENT(ast_922730); +DECLARE_SEGMENT(ast_92EC40); +DECLARE_SEGMENT(ast_940AD0); +DECLARE_SEGMENT(ast_955270); +DECLARE_SEGMENT(ast_961CE0); +DECLARE_SEGMENT(ast_9A1460); +DECLARE_SEGMENT(ast_9D2FD0); +DECLARE_SEGMENT(ast_9DD390); +DECLARE_SEGMENT(ast_9EB5E0); +DECLARE_SEGMENT(ast_9F4880); +DECLARE_SEGMENT(ast_A049A0); +DECLARE_SEGMENT(ast_A0E340); +DECLARE_SEGMENT(ast_A1D0F0); +DECLARE_SEGMENT(ast_A4FBB0); +DECLARE_SEGMENT(ast_A58F60); +DECLARE_SEGMENT(ast_A8B470); +DECLARE_SEGMENT(ast_AB4000); +DECLARE_SEGMENT(ast_ACF960); +DECLARE_SEGMENT(ast_AE60A0); +DECLARE_SEGMENT(ast_B0AA00); +DECLARE_SEGMENT(ast_B1CA50); +DECLARE_SEGMENT(ast_B2CA50); +DECLARE_SEGMENT(ast_B612E0); +DECLARE_SEGMENT(ast_B84560); +DECLARE_SEGMENT(ast_BB11D0); +DECLARE_SEGMENT(ast_BC23D0); +DECLARE_SEGMENT(ast_BFA740); +DECLARE_SEGMENT(ast_BFC510); +DECLARE_SEGMENT(ast_C48F40); +DECLARE_SEGMENT(ast_CA9DE0); +DECLARE_SEGMENT(ast_CBFE70); +DECLARE_SEGMENT(ast_CD2410); +DECLARE_SEGMENT(ast_CDDCA0); +DECLARE_SEGMENT(ast_CE9E70); +DECLARE_SEGMENT(ast_D25100); +DECLARE_SEGMENT(ast_D27600); +DECLARE_SEGMENT(ast_D43400); +DECLARE_SEGMENT(ast_D68480); +DECLARE_SEGMENT(ast_D91F10); +DECLARE_SEGMENT(ast_DDC010); +DECLARE_SEGMENT(ast_DE5D50); +DECLARE_SEGMENT(ovl_DF4260); +DECLARE_SEGMENT(ovl_E08400); +DECLARE_SEGMENT(ovl_E16C50); +DECLARE_SEGMENT(ovl_E51970); +DECLARE_SEGMENT(ovl_E6A810); +DECLARE_SEGMENT(ovl_E9F1D0); +DECLARE_SEGMENT(ovl_EBFBE0); +DECLARE_SEGMENT(ovl_EF0260); +DECLARE_SEGMENT(ovl_EFFA40); + +#endif diff --git a/include/structs.h b/include/structs.h index 06271b42..0d4749c3 100644 --- a/include/structs.h +++ b/include/structs.h @@ -1,7 +1,7 @@ #ifndef STRUCTS_H #define STRUCTS_H -#include "global.h" +#include "libultra/ultra64.h" #include "sf64math.h" #define UNK_TYPE s32 @@ -11,25 +11,6 @@ typedef struct { u16* unk4; } UnkStruct_D_80185CBC; -typedef struct { - /* 0x0 */ void* start; - /* 0x4 */ void* end; -} SegmentOffset; // size = 0x8 - -typedef struct { - /* 0x00 */ SegmentOffset rom; - /* 0x08 */ SegmentOffset bss; - /* 0x10 */ SegmentOffset text; - /* 0x18 */ SegmentOffset data; - /* 0x20 */ SegmentOffset assets[15]; -} OverlayInit; // size = 0x98 - -typedef struct { - /* 0x0 */ void* vRomAddress; - /* 0x8 */ SegmentOffset pRom; - /* 0xC */ s32 compFlag; -} DmaEntry; // size = 0x10; - typedef void (*TimerAction)(s32*, s32); typedef struct { @@ -254,7 +235,7 @@ typedef struct { /* 0x00 */ void (*unk_00)(Object*); /* 0x00 */ u8 unk_04; /* 0x08 */ void (*unk_08)(Object*); - /* 0x0C */ void* unk_0C; + /* 0x0C */ f32* unk_0C; /* 0x10 */ f32 unk_10; /* 0x14 */ s16 unk_14; /* 0x16 */ s16 unk_16; diff --git a/include/variables.h b/include/variables.h index b48416b3..4aa02068 100644 --- a/include/variables.h +++ b/include/variables.h @@ -40,11 +40,10 @@ extern OSContPad gChangedInput[4]; extern u8 gControllerStatus[4]; extern u32 gStopInputTimer; extern u8 gRumbleStatus[4]; -extern u8 D_800DD8BC[4]; // Fake symbol. Only exists as loop terminator for gRumbleStatus -// extern OSContPad sNextInput[4]; -// extern OSContPad sPrevInput[4]; -// extern OSContStatus D_800DD8F0[4]; -// extern OSPfs D_800DD900[4]; +extern OSContPad sNextInput[4]; // +extern OSContPad sPrevInput[4]; // +extern OSContStatus D_800DD8F0[4]; // +extern OSPfs D_800DD900[4]; // extern u8 gAudioThreadStack[0x1000]; // 800DDAA0 extern OSThread gGraphicsThread; // 800DEAA0 @@ -113,11 +112,12 @@ extern u8 D_80137E84[4]; extern u16 gFillScreenColor; extern u16 gFillScreen; -// extern OSThread sIdleThread; // 80138E90 -// extern u8 sIdleThreadStack[0x1000]; // 801390A0 -// extern OSThread gMainThread; // 8013A040 -// extern u8 sMainThreadStack[0x1000]; // 8013A1F0 -// extern OSThread gAudioThread; //8013B1F0 +extern u8 gUnusedStack[0x1000]; +extern OSThread sIdleThread; // 80138E90 +extern u8 sIdleThreadStack[0x1000]; // 801390A0 +extern OSThread gMainThread; // 8013A040 +extern u8 sMainThreadStack[0x1000]; // 8013A1F0 +extern OSThread gAudioThread; //8013B1F0 extern Matrix* gGfxMatrix; extern Matrix sGfxMatrixStack[0x20]; @@ -134,36 +134,9 @@ extern OSMesg D_80156618[1]; extern OSMesg D_8015661C[1]; extern u8 D_800CA3B0; -extern OverlayInit D_800CA3B4[1]; // sets segment 15 with no overlay -extern OverlayInit D_800CA44C[6]; // overlay EF0260 -extern OverlayInit D_800CA7DC[1]; // EBFBE0 -extern OverlayInit D_800CA874[1]; // EBFBE0 -extern OverlayInit D_800CA90C[1]; // EBFBE0 -extern OverlayInit D_800CA9A4[1]; // EBFBE0 -extern OverlayInit D_800CAA3C[1]; // DF4260 -extern OverlayInit D_800CAAD4[2]; // E08400 -extern OverlayInit D_800CAC04[6]; // E6A810 -extern OverlayInit D_800CAF94[2]; // E08400 -extern OverlayInit D_800CB0C4[1]; // E51970 -extern OverlayInit D_800CB15C[1]; // E16C50 -extern OverlayInit D_800CB1F4[1]; // E16C50 -extern OverlayInit D_800CB28C[2]; // E51970 -extern OverlayInit D_800CB3BC[1]; // E16C50 -extern OverlayInit D_800CB454[1]; // E9F1D0 -extern OverlayInit D_800CB4EC[1]; // E16C50 -extern OverlayInit D_800CB584[1]; // E16C50 -extern OverlayInit D_800CB61C[1]; // DF4260 -extern OverlayInit D_800CB6B4[1]; // E9F1D0 -extern OverlayInit D_800CB74C[2]; // E9F1D0 -extern OverlayInit D_800CB87C[1]; // E08400 -extern OverlayInit D_800CB914[1]; // E51970 -extern OverlayInit D_800CB9AC[1]; // E51970 -extern OverlayInit D_800CBA44[2]; // E6A810 -extern OverlayInit D_800CBB74[1]; // DF4260 -extern OverlayInit D_800CBC0C[1]; // E08400 -extern OverlayInit D_800CBD3C[1]; // EFFA40 + extern f32 D_800CBF18[]; -extern ObjectStruct_1C D_800CC124[400]; +extern ObjectStruct_1C D_800CC124[]; extern f32 D_800CF9B0[]; extern Gfx* D_800CFA54[]; extern Gfx* D_800CFAC4[]; @@ -457,7 +430,7 @@ extern s32 D_80178558; extern s32 D_8017855C; extern s32 D_80178580; extern s32 *D_80178710; -extern s32 D_80178720; +extern u16** D_80178720; extern s32 D_80178724; extern s32 D_80178728; extern s32 D_8017872C; @@ -477,9 +450,8 @@ extern Gfx D_Gfx_800DBAA0[]; extern Gfx D_Gfx_800DAC20[]; extern Gfx D_Gfx_800D9688[]; -extern DmaEntry gDmaTable[]; // 178A70 -extern u8 D_80179010[][16 * 13 / 2]; -extern u16 D_8017A0F4; +extern u8 D_80179010[24][16 * 13 / 2]; +extern u16 D_8017A0F4[]; extern u16 D_80182544[]; extern u16 D_80183CA8[]; extern u16 D_80183CF0[]; @@ -549,8 +521,6 @@ extern f32 D_EBFBE0_801B9060; extern f32 D_EBFBE0_801B9064; extern s8 D_E6A810_801BA1E8; - - extern char D_EBFBE0_801ADA44[]; extern s32 D_EBFBE0_801ADA84[]; extern s32 D_EBFEB0_801ADA94; @@ -565,6 +535,17 @@ extern u16 D_8038F080[]; extern u16 D_8038F300[]; extern FrameBuffer gFrameBuffers[3]; // 8038F800 +extern u8 D_1013170[]; +extern u16 D_1013570[]; +extern u16 D_10041C0[]; +extern u16 D_1006000[]; +extern u16 D_1006F20[]; +extern u16 D_1007E40[]; +extern u16 D_1008D60[]; +extern u16 D_1009C80[]; +extern u16 D_100ABA0[]; +extern u16 D_100C9E0[]; +extern u16 D_100E820[]; extern u16 D_1002040[]; extern u16 D_10050E0[]; extern u16 D_100BAC0[]; @@ -755,6 +736,29 @@ extern u16 D_6047550[]; extern Gfx D_6004570[]; extern u8 D_6001B80[]; extern u8 D_60020D0[]; +extern u16 D_6000900[]; +extern u16 D_6000B60[]; +extern u16 D_6001820[]; +extern u16 D_6001A80[]; +extern u16 D_60029A0[]; +extern u16 D_60038C0[]; +extern u16 D_60047E0[]; +extern u16 D_6005700[]; +extern u16 D_600C6A0[]; +extern u16 D_6010C20[]; +extern u16 D_6011B40[]; +extern u16 D_6014510[]; +extern u16 D_6015430[]; +extern u16 D_6018F30[]; +extern u16 D_6019E50[]; +extern u16 D_601C8E0[]; +extern u16 D_601D800[]; +extern u16 D_6020FB0[]; +extern u16 D_6021ED0[]; +extern u16 D_60245E0[]; +extern u16 D_6025500[]; +extern u16 D_6026420[]; +extern u16 D_6027340[]; extern Gfx D_7007350[]; extern Gfx D_700BB10[]; @@ -779,8 +783,38 @@ extern Gfx D_90234D0[]; extern ObjectInit* D_C0356A4[]; extern Gfx D_C017440[]; +extern u16 D_D000170[]; +extern u16 D_D001090[]; +extern u16 D_D001FB0[]; +extern u16 D_D002ED0[]; +extern u16 D_D003DF0[]; +extern u16 D_D004D10[]; +extern u16 D_D005C30[]; +extern u16 D_D006B50[]; +extern u16 D_D007A70[]; +extern u16 D_D008990[]; extern Gfx D_D0098B0[]; +extern u16 D_E00E100[]; +extern u16 D_E00F020[]; +extern u16 D_E00FF40[]; +extern u16 D_E010E60[]; + +extern u16 D_F000F20[]; +extern u16 D_F001E40[]; +extern u16 D_F002D60[]; +extern u16 D_F003C80[]; +extern u16 D_F004BA0[]; +extern u16 D_F005AC0[]; +extern u16 D_F0069E0[]; +extern u16 D_F007900[]; +extern u16 D_F008820[]; +extern u16 D_F009740[]; +extern u16 D_F00A660[]; +extern u16 D_F00B580[]; +extern u16 D_F00C4A0[]; +extern u16 D_F00D3C0[]; +extern u16 D_F00E2E0[]; extern Gfx D_F014310[]; extern Gfx D_F014180[]; extern u16 D_F000000[]; @@ -789,7 +823,5 @@ extern u16 D_F001000[]; extern u16 D_F001800[]; extern u16 D_F002000[]; - - #endif // VARIABLES_H diff --git a/linker_scripts/us/symbol_addrs.txt b/linker_scripts/us/symbol_addrs.txt index 54e5d6f3..75691255 100644 --- a/linker_scripts/us/symbol_addrs.txt +++ b/linker_scripts/us/symbol_addrs.txt @@ -12,11 +12,14 @@ D_80163FE0 = 0x80163FE0; //size:0xB130 gZBuffer = 0x80282000; gFrameBuffers = 0x8038F800; -gDmaTable = 0x80178A70; +gDmaTable = 0x80178A70; //size:0x5A0 +D_80178A70 = 0x80178A78; //ignore:true D_800D3180 = 0x800D3180; // size:0x1E gSetupDLs = 0x800D31B0; // size:0x18C0 +D_80179010 = 0x80179010; //type:u8 + D_800CFCA0 = 0x800CFCA0; D_800DD900 = 0x800DD900; // size:0x1A0 diff --git a/linker_scripts/us/symbol_addrs_assets.txt b/linker_scripts/us/symbol_addrs_assets.txt index 433b365a..67fba934 100644 --- a/linker_scripts/us/symbol_addrs_assets.txt +++ b/linker_scripts/us/symbol_addrs_assets.txt @@ -32,3 +32,25 @@ D_Vtx_800DAC80 = 0x800DAC80; D_Unk_800DACB8 = 0x800DACB8; D_Unk_800DB4B8 = 0x800DB4B8; D_Unk_800D96E8 = 0x800D96E8; // type:s16 + +gSawtoothWaveSample = 0x800DBB10; // size:0x200 type:s16 +gTriangleWaveSample = 0x800DBD10; // size:0x200 type:s16 +gSineWaveSample = 0x800DBF10; // size:0x200 type:s16 +gSquareWaveSample = 0x800DC110; // size:0x200 type:s16 +gWhiteNoiseSample = 0x800DC310; // size:0x200 type:s16 +gUnkSample = 0x800DC510; // size:0x200 type:s16 +gWaveSamples = 0x800DC710; // size:0x20 + +gBendPitchOneOctaveFrequencies = 0x800DC730; // size:0x400 +gBendPitchTwoSemitonesFrequencies = 0x800DCB30; +gPitchFrequencies = 0x800DCF30; +gDefaultShortNoteVelocityTable = 0x800DD130; +gDefaultShortNoteGateTimeTable = 0x800DD140; +gDefaultEnvelope = 0x800DD150; +gZeroNoteSub = 0x800DD160; +gDefaultNoteSub = 0x800DD170; +gHaasEffectDelaySizes = 0x800DD180; // size:0x80 type:u16 +D_800DD200 = 0x800DD200; // size:0x80 type:s16 +gHeadsetPanVolume = 0x800DD280; // size:0x200 type:f32 +gStereoPanVolume = 0x800DD480; // size:0x200 type:f32 +gDefaultPanVolume = 0x800DD680; // size:0x200 type:f32 diff --git a/linker_scripts/us/symbol_addrs_engine.txt b/linker_scripts/us/symbol_addrs_engine.txt index 49f4d2cb..14d31aad 100644 --- a/linker_scripts/us/symbol_addrs_engine.txt +++ b/linker_scripts/us/symbol_addrs_engine.txt @@ -14,23 +14,23 @@ func_8009BC2C = 0x8009BC2C; func_8009BD38 = 0x8009BD38; func_8009BEEC = 0x8009BEEC; func_8009C124 = 0x8009C124; -func_8009C320 = 0x8009C320; -func_8009C674 = 0x8009C674; -func_8009C9C8 = 0x8009C9C8; -func_8009CD3C = 0x8009CD3C; -func_8009D0BC = 0x8009D0BC; -func_8009D418 = 0x8009D418; -func_8009D6CC = 0x8009D6CC; -func_8009D994 = 0x8009D994; -func_8009DC4C = 0x8009DC4C; -func_8009DF14 = 0x8009DF14; -func_8009E1E8 = 0x8009E1E8; -func_8009E4B0 = 0x8009E4B0; -func_8009E784 = 0x8009E784; -func_8009EA38 = 0x8009EA38; -func_8009ED04 = 0x8009ED04; -func_8009EFDC = 0x8009EFDC; -func_8009F2C0 = 0x8009F2C0; +TextureRect_4bCI = 0x8009C320; +TextureRect_4bCI_Flip = 0x8009C674; +TextureRect_4bCI_MirX = 0x8009C9C8; +TextureRect_4bCI_MirY = 0x8009CD3C; +TextureRect_8bCI = 0x8009D0BC; +TextureRect_16bRGBA = 0x8009D418; +TextureRect_16bRGBA_MirX = 0x8009D6CC; +TextureRect_8bIA = 0x8009D994; +TextureRect_8bIA_FilpMirX = 0x8009DC4C; +TextureRect_8bIA_FilpMirY = 0x8009DF14; +TextureRect_8bIA_MirX = 0x8009E1E8; +TextureRect_8bIA_MirY = 0x8009E4B0; +TextureRect_16bIA = 0x8009E784; +TextureRect_16bIA_MirX = 0x8009EA38; +TextureRect_16bIA_MirY = 0x8009ED04; +TextureRect_16bIA_MirXY = 0x8009EFDC; +TextureRect_32bRGBA = 0x8009F2C0; func_8009F574 = 0x8009F574; func_8009F6CC = 0x8009F6CC; func_8009F768 = 0x8009F768; diff --git a/src/assets/179010.c b/src/assets/179010.c new file mode 100644 index 00000000..b8f123a3 --- /dev/null +++ b/src/assets/179010.c @@ -0,0 +1,367 @@ +#include "libultra/ultra64.h" + +// clang-format off + +u8 D_80179010[][104] = { + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0F, 0x22, 0xF0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0F, 0x22, 0xF0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, + 0x00, 0x0F, 0x11, 0xF0, 0x00, 0x0F, 0x44, 0xF0, + 0x00, 0x0F, 0x11, 0xF0, 0x00, 0x0F, 0x44, 0xF0, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0F, 0x88, 0xF0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0F, 0x88, 0xF0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x35, 0x90, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x35, 0x99, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xAA, 0xAF, 0xAA, 0xA0, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x65, 0xCC, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x65, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xAE, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x4B, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5A, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5A, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5A, 0x22, 0x29, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5B, 0x11, 0x1B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5A, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5A, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xBE, 0xEE, 0xE1, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xB7, 0x77, 0x7B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFB, 0xBB, 0x88, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x04, 0x4C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xB5, 0x55, 0x1D, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD1, 0x13, 0x36, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0x14, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC4, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0x14, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xE0, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xDB, 0xBB, 0x9C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xBC, 0xCC, 0xC3, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF1, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF3, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x31, 0x0F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF8, 0x9B, 0x87, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xB4, 0x44, 0x43, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xAF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x36, 0xE6, 0x61, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x30, 0xA0, 0x05, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x92, 0x05, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x81, 0x25, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x25, 0xD5, 0x52, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x78, 0x00, 0x87, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5A, 0x00, 0xA5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x52, 0xCC, 0x25, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5A, 0x44, 0xA5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5C, 0x22, 0xC5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD4, 0x22, 0x4D, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC1, 0x33, 0x1C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xB2, 0x22, 0x32, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x81, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x85, 0xCF, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x88, 0x32, 0x0C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x84, 0x74, 0x4C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC2, 0x10, 0x0C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xE8, 0x10, 0x4C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xA6, 0xFE, 0xA6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x88, 0x82, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0F, 0x77, 0x52, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF8, 0x88, 0x27, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0x44, 0x46, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x78, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x78, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0F, 0x77, 0x52, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x25, 0x7B, 0xA1, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x32, 0x40, 0x92, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x40, 0x92, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x21, 0x51, 0x82, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x40, 0x82, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xE5, 0x55, 0xD2, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x09, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD4, 0xAC, 0x90, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD8, 0x61, 0x48, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD1, 0x70, 0x48, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD0, 0x61, 0x48, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD0, 0x60, 0x58, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF2, 0x22, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xA5, 0xFF, 0xB4, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7A, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x78, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7A, 0x00, 0x47, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x66, 0x25, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x29, 0x11, 0x14, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xE3, 0x33, 0x94, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD2, 0x00, 0x85, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC3, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x4A, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5A, 0x08, 0x47, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x05, 0xF7, 0x34, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF8, 0x88, 0x9E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x52, 0x00, 0xB4, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x50, 0x3A, 0x14, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x50, 0xB2, 0x54, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x54, 0x34, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xA9, 0x89, 0x8E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x44, 0x40, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x23, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x44, 0x45, 0x64, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x88, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0xAE, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x82, 0x44, 0x28, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xA4, 0x04, 0x0A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x04, 0x0A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x04, 0x82, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x8C, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x28, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x82, 0x05, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x8C, 0xFF, 0xDC, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x55, 0xDD, 0xF5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x48, 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0x20, 0x30, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC2, 0x45, 0x60, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xE4, 0x99, 0xB4, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xA8, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xA2, 0x22, 0x2F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD0, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0D, 0xDD, 0xF0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x17, 0xFF, 0xF1, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x88, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x68, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x01, 0x46, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x67, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x10, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x10, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x21, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x66, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x88, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0xDC, 0xE0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x9C, 0xA0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x98, 0xA0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0xEC, 0xD0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x8C, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + } +}; +// clang-format on diff --git a/src/assets/ast_DE5D50.c b/src/assets/ast_DE5D50.c new file mode 100644 index 00000000..78945dc9 --- /dev/null +++ b/src/assets/ast_DE5D50.c @@ -0,0 +1,3301 @@ +#include "structs.h" + +// clang-format off + +u8 D_80179010[][104] = { + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0F, 0x22, 0xF0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0F, 0x22, 0xF0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, + 0x00, 0x0F, 0x11, 0xF0, 0x00, 0x0F, 0x44, 0xF0, + 0x00, 0x0F, 0x11, 0xF0, 0x00, 0x0F, 0x44, 0xF0, + 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0F, 0x88, 0xF0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0F, 0x88, 0xF0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x35, 0x90, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x35, 0x99, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xAA, 0xAF, 0xAA, 0xA0, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x65, 0xCC, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x65, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xAE, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x4B, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5A, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5A, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5A, 0x22, 0x29, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5B, 0x11, 0x1B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5A, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5A, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xBE, 0xEE, 0xE1, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xB7, 0x77, 0x7B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFB, 0xBB, 0x88, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x04, 0x4C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xB5, 0x55, 0x1D, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD1, 0x13, 0x36, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0x14, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC4, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0x14, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xE0, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xDB, 0xBB, 0x9C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xBC, 0xCC, 0xC3, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF1, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF3, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x31, 0x0F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF8, 0x9B, 0x87, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xB4, 0x44, 0x43, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xAF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x36, 0xE6, 0x61, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x30, 0xA0, 0x05, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x92, 0x05, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x81, 0x25, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x25, 0xD5, 0x52, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x78, 0x00, 0x87, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5A, 0x00, 0xA5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x52, 0xCC, 0x25, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5A, 0x44, 0xA5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5C, 0x22, 0xC5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD4, 0x22, 0x4D, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC1, 0x33, 0x1C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xB2, 0x22, 0x32, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x81, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x85, 0xCF, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x88, 0x32, 0x0C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x84, 0x74, 0x4C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC2, 0x10, 0x0C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xE8, 0x10, 0x4C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xA6, 0xFE, 0xA6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x88, 0x82, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0F, 0x77, 0x52, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF8, 0x88, 0x27, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0x44, 0x46, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x78, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x78, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0F, 0x77, 0x52, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x25, 0x7B, 0xA1, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x32, 0x40, 0x92, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x40, 0x92, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x21, 0x51, 0x82, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x40, 0x82, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xE5, 0x55, 0xD2, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x09, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD4, 0xAC, 0x90, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD8, 0x61, 0x48, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD1, 0x70, 0x48, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD0, 0x61, 0x48, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD0, 0x60, 0x58, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF2, 0x22, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xA5, 0xFF, 0xB4, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7A, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x78, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7A, 0x00, 0x47, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x66, 0x25, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x29, 0x11, 0x14, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xE3, 0x33, 0x94, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD2, 0x00, 0x85, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC3, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x4A, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x5A, 0x08, 0x47, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x05, 0xF7, 0x34, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF8, 0x88, 0x9E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x52, 0x00, 0xB4, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x50, 0x3A, 0x14, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x50, 0xB2, 0x54, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x54, 0x34, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xA9, 0x89, 0x8E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x44, 0x40, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x23, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x44, 0x45, 0x64, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x88, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0xAE, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x82, 0x44, 0x28, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xA4, 0x04, 0x0A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x04, 0x0A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x04, 0x82, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x8C, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x28, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x82, 0x05, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x8C, 0xFF, 0xDC, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x55, 0xDD, 0xF5, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x48, 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0x20, 0x30, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC2, 0x45, 0x60, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xE4, 0x99, 0xB4, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xA8, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xA2, 0x22, 0x2F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xD0, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0D, 0xDD, 0xF0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x17, 0xFF, 0xF1, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x88, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x68, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x01, 0x46, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x67, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x10, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x10, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x21, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x66, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x88, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0xA8, 0x90, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0xDC, 0xE0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x9C, 0xA0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x98, 0xA0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0xEC, 0xD0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x8C, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + } +}; +// clang-format on + +u16 D_801799D0[914] = { + 26, 64, 67, 63, 54, 67, 58, 50, 79, 12, 12, 55, 64, 70, 67, 69, 57, 12, 65, 61, 50, 63, 54, 69, 12, 64, 55, 12, 69, + 57, 54, 12, 35, 74, 61, 50, 69, 1, 68, 74, 68, 69, 54, 62, 80, 12, 12, 43, 57, 54, 12, 54, 71, 58, 61, 12, 24, 63, + 53, 67, 64, 68, 68, 12, 69, 70, 67, 63, 54, 53, 12, 69, 57, 58, 68, 1, 64, 63, 52, 54, 12, 69, 57, 67, 58, 71, 58, + 63, 56, 12, 68, 74, 68, 69, 54, 62, 12, 58, 63, 69, 64, 12, 50, 12, 72, 50, 68, 69, 54, 61, 50, 63, 53, 1, 64, 55, + 12, 63, 54, 50, 67, 12, 54, 73, 69, 58, 63, 52, 69, 58, 64, 63, 80, 1, 12, 1, 30, 54, 63, 54, 67, 50, 61, 13, 14, + 14, 39, 54, 65, 65, 54, 67, 14, 14, 14, 64, 55, 13, 14, 14, 69, 57, 54, 13, 14, 14, 26, 64, 67, 63, 54, 67, 58, 50, + 63, 14, 14, 14, 50, 67, 62, 74, 1, 72, 50, 68, 12, 12, 13, 14, 68, 70, 52, 52, 54, 68, 68, 55, 70, 61, 12, 12, 14, + 14, 58, 63, 12, 12, 13, 14, 54, 73, 58, 61, 58, 63, 56, 12, 12, 13, 14, 69, 57, 58, 68, 1, 62, 50, 63, 58, 50, 52, + 50, 61, 12, 12, 68, 52, 58, 54, 63, 69, 58, 68, 69, 12, 12, 69, 64, 12, 12, 69, 57, 54, 12, 12, 51, 50, 67, 67, 54, + 63, 79, 1, 53, 54, 68, 54, 67, 69, 54, 53, 12, 65, 61, 50, 63, 54, 69, 12, 45, 54, 63, 64, 62, 80, 1, 12, 1, 29, + 58, 71, 54, 12, 12, 74, 54, 50, 67, 68, 12, 12, 61, 50, 69, 54, 67, 79, 12, 12, 12, 30, 54, 63, 54, 67, 50, 61, 12, + 12, 39, 54, 65, 65, 54, 67, 1, 63, 64, 69, 58, 52, 54, 53, 12, 68, 69, 67, 50, 63, 56, 54, 12, 50, 52, 69, 58, 71, + 58, 69, 74, 12, 52, 64, 62, 58, 63, 56, 12, 12, 55, 67, 64, 62, 1, 45, 54, 63, 64, 62, 80, 12, 12, 12, 33, 50, 62, + 54, 68, 12, 36, 52, 26, 61, 64, 70, 53, 79, 12, 12, 39, 58, 56, 62, 50, 12, 27, 54, 63, 56, 50, 67, 1, 50, 63, 53, + 14, 14, 14, 39, 54, 65, 65, 74, 14, 14, 14, 31, 50, 67, 54, 14, 14, 14, 64, 55, 14, 14, 14, 69, 57, 54, 14, 14, 14, + 42, 69, 50, 67, 14, 14, 14, 29, 64, 73, 14, 14, 14, 69, 54, 50, 62, 1, 72, 54, 67, 54, 12, 68, 54, 63, 69, 12, 69, + 64, 12, 58, 63, 71, 54, 68, 69, 58, 56, 50, 69, 54, 80, 12, 12, 44, 65, 64, 63, 12, 69, 57, 54, 58, 67, 1, 50, 67, + 67, 58, 71, 50, 61, 79, 12, 12, 39, 58, 56, 62, 50, 12, 51, 54, 69, 67, 50, 74, 54, 53, 12, 69, 57, 54, 12, 69, 54, + 50, 62, 12, 50, 63, 53, 1, 33, 50, 62, 54, 68, 12, 12, 50, 63, 53, 12, 12, 39, 54, 65, 65, 74, 12, 12, 72, 54, 67, + 54, 12, 12, 52, 50, 65, 69, 70, 67, 54, 53, 12, 12, 51, 74, 1, 24, 63, 53, 67, 64, 68, 68, 80, 1, 12, 1, 39, 54, + 65, 65, 74, 12, 12, 13, 14, 51, 50, 67, 54, 61, 74, 12, 12, 13, 14, 54, 68, 52, 50, 65, 54, 53, 12, 12, 13, 14, 45, + 54, 63, 64, 62, 12, 12, 14, 14, 50, 63, 53, 1, 67, 54, 69, 70, 67, 63, 54, 53, 12, 57, 64, 62, 54, 12, 69, 64, 12, + 69, 54, 61, 61, 12, 12, 33, 50, 62, 54, 68, 91, 12, 68, 64, 63, 12, 29, 64, 73, 1, 50, 51, 64, 70, 69, 12, 57, 58, + 68, 12, 55, 50, 69, 57, 54, 67, 91, 68, 12, 55, 50, 69, 54, 80, 1, 12, 1, 24, 12, 55, 54, 72, 12, 74, 54, 50, 67, + 68, 12, 57, 50, 71, 54, 12, 65, 50, 68, 68, 54, 53, 80, 12, 12, 24, 63, 53, 67, 64, 68, 68, 12, 57, 50, 68, 1, 50, + 56, 50, 58, 63, 12, 12, 14, 58, 63, 71, 50, 53, 54, 53, 12, 12, 13, 14, 69, 57, 54, 12, 12, 14, 35, 74, 61, 50, 69, + 12, 12, 14, 68, 74, 68, 69, 54, 62, 80, 1, 30, 54, 63, 54, 67, 50, 61, 12, 14, 39, 54, 65, 65, 54, 67, 12, 14, 57, + 50, 68, 12, 14, 69, 70, 67, 63, 54, 53, 12, 14, 69, 64, 12, 14, 14, 50, 12, 14, 63, 54, 72, 1, 42, 69, 50, 67, 12, + 13, 29, 64, 73, 12, 13, 69, 54, 50, 62, 12, 13, 57, 54, 50, 53, 54, 53, 12, 13, 51, 74, 12, 13, 13, 29, 64, 73, 12, + 13, 36, 52, 26, 61, 64, 70, 53, 1, 69, 64, 12, 13, 68, 50, 71, 54, 12, 13, 26, 64, 67, 63, 54, 67, 58, 50, 12, 13, + 13, 50, 63, 53, 12, 13, 55, 67, 54, 54, 12, 13, 69, 57, 54, 12, 13, 35, 74, 61, 50, 69, 1, 68, 74, 68, 69, 54, 62, + 12, 64, 63, 52, 54, 12, 50, 56, 50, 58, 63, 80, 1, 0, 0, +}; +u16 D_8017A0F4[46] = { + 36, 54, 68, 68, 50, 56, 54, 12, 55, 67, 64, 62, 12, 1, 30, 54, 63, 54, 67, 50, 61, 12, 39, + 54, 65, 65, 54, 67, 80, 1, 39, 67, 58, 64, 67, 58, 69, 74, 12, 64, 63, 54, 76, 1, 0, 0, +}; +u16 D_8017A150[32] = { + 46, 54, 12, 63, 54, 54, 53, 12, 74, 64, 70, 67, 12, 57, 54, 61, + 65, 79, 1, 42, 69, 50, 67, 12, 29, 64, 73, 76, 1, 15, 1, 0, +}; +u16 D_8017A190[30] = { + 24, 63, 53, 67, 64, 68, 68, 12, 57, 50, 68, 12, 53, 54, 52, 61, 50, 67, 54, 53, 1, 72, 50, 67, 76, 1, 15, 1, 0, 0, +}; +u16 D_8017A1CC[34] = { + 31, 54, 91, 68, 12, 58, 63, 71, 50, 53, 54, 53, 12, 69, 57, 54, 1, + 35, 74, 61, 50, 69, 12, 68, 74, 68, 69, 54, 62, 1, 15, 1, 0, 0, +}; +u16 D_8017A210[40] = { + 50, 63, 53, 12, 58, 68, 12, 69, 67, 74, 58, 63, 56, 12, 69, 64, 1, 69, 50, 60, + 54, 12, 64, 71, 54, 67, 12, 26, 64, 67, 63, 54, 67, 58, 50, 76, 1, 15, 1, 0, +}; +u16 D_8017A260[52] = { + 38, 70, 67, 12, 50, 67, 62, 74, 12, 50, 61, 64, 63, 54, 1, 52, 50, 63, 91, 69, 12, 53, 64, 12, 69, 57, + 54, 12, 59, 64, 51, 76, 1, 31, 70, 67, 67, 74, 79, 12, 42, 69, 50, 67, 12, 29, 64, 73, 76, 1, 0, 0, +}; +u16 D_8017A2C8[74] = { + 32, 69, 91, 68, 12, 50, 51, 64, 70, 69, 12, 69, 58, 62, 54, 12, 74, 64, 70, 1, 68, 57, 64, 72, 54, + 53, 12, 70, 65, 79, 12, 29, 64, 73, 80, 1, 48, 64, 70, 91, 67, 54, 12, 69, 57, 54, 12, 64, 63, 61, + 74, 12, 57, 64, 65, 54, 1, 55, 64, 67, 12, 64, 70, 67, 12, 72, 64, 67, 61, 53, 76, 1, 0, 0, +}; +u16 D_8017A35C[54] = { + 32, 91, 61, 61, 12, 53, 64, 12, 62, 74, 12, 51, 54, 68, 69, 76, 1, 24, 63, 53, 67, 64, 68, 68, 12, 72, 64, + 63, 91, 69, 12, 57, 50, 71, 54, 1, 57, 58, 68, 12, 72, 50, 74, 12, 72, 58, 69, 57, 12, 62, 54, 76, 1, 0, +}; +u16 D_8017A3C8[76] = { + 32, 62, 65, 67, 54, 68, 68, 58, 71, 54, 79, 12, 42, 69, 50, 67, 12, 29, 64, 73, 76, 12, 1, 37, 64, 72, + 12, 72, 50, 69, 52, 57, 12, 64, 70, 69, 12, 55, 64, 67, 12, 1, 54, 63, 54, 62, 58, 54, 68, 12, 58, 63, + 12, 69, 57, 54, 12, 1, 50, 68, 69, 54, 67, 64, 58, 53, 12, 55, 58, 54, 61, 53, 80, 1, 0, 0, +}; +u16 D_8017A460[28] = { + 32, 12, 72, 64, 63, 91, 69, 12, 61, 54, 69, 12, 74, 64, 70, 12, 53, 64, 72, 63, 79, 1, 68, 58, 67, 80, 1, 0, +}; +u16 D_8017A498[48] = { + 46, 57, 50, 69, 12, 50, 67, 54, 12, 74, 64, 70, 12, 53, 64, 58, 63, 56, 77, 1, 32, 69, 91, 68, + 12, 69, 64, 64, 12, 53, 50, 63, 56, 54, 67, 64, 70, 68, 1, 69, 57, 54, 67, 54, 76, 1, 0, 0, +}; +u16 D_8017A4F8[32] = { + 32, 12, 52, 50, 63, 91, 69, 12, 61, 54, 50, 71, 54, 12, 42, 61, + 58, 65, 65, 74, 1, 57, 50, 63, 56, 58, 63, 91, 76, 1, 0, 0, +}; +u16 D_8017A538[66] = { + 41, 54, 65, 64, 67, 69, 68, 12, 58, 63, 53, 58, 52, 50, 69, 54, 1, 69, 57, 50, 69, 12, + 24, 63, 53, 67, 64, 68, 68, 12, 58, 68, 1, 72, 64, 67, 60, 58, 63, 56, 12, 64, 63, 12, + 68, 64, 62, 54, 1, 68, 54, 52, 67, 54, 69, 12, 72, 54, 50, 65, 64, 63, 80, 1, 0, 0, +}; +u16 D_8017A5BC[20] = { + 32, 91, 61, 61, 12, 52, 57, 54, 52, 60, 12, 58, 69, 12, 64, 70, 69, 80, 1, 0, +}; +u16 D_8017A5E4[40] = { + 41, 54, 52, 64, 71, 54, 67, 12, 64, 70, 67, 12, 51, 50, 68, 54, 12, 55, 67, 64, + 62, 1, 69, 57, 54, 12, 54, 63, 54, 62, 74, 12, 50, 67, 62, 74, 76, 1, 0, 0, +}; +u16 D_8017A634[18] = { + 41, 64, 56, 54, 67, 79, 12, 30, 54, 63, 54, 67, 50, 61, 80, 1, 0, 0, +}; +u16 D_8017A658[78] = { + 32, 55, 12, 74, 64, 70, 12, 53, 54, 68, 69, 67, 64, 74, 12, 69, 57, 54, 1, 68, 50, 69, 54, 61, 61, 58, + 69, 54, 79, 12, 72, 54, 12, 52, 50, 63, 12, 56, 64, 1, 68, 69, 67, 50, 58, 56, 57, 69, 12, 55, 64, 67, + 12, 45, 54, 63, 64, 62, 76, 1, 25, 54, 12, 52, 50, 67, 54, 55, 70, 61, 79, 12, 29, 64, 73, 76, 1, 0, +}; +u16 D_8017A6F4[12] = { + 32, 91, 62, 12, 64, 63, 12, 58, 69, 76, 1, 0, +}; +u16 D_8017A70C[68] = { + 32, 69, 91, 68, 12, 50, 61, 62, 64, 68, 69, 12, 64, 71, 54, 67, 76, 1, 46, 54, 91, 67, 54, + 12, 58, 63, 12, 74, 64, 70, 67, 12, 53, 54, 51, 69, 80, 1, 26, 64, 62, 54, 12, 51, 50, 52, + 60, 12, 58, 63, 12, 64, 63, 54, 1, 65, 58, 54, 52, 54, 79, 12, 29, 64, 73, 76, 1, 0, +}; +u16 D_8017A794[20] = { + 46, 58, 61, 61, 12, 53, 64, 79, 12, 30, 54, 63, 54, 67, 50, 61, 76, 1, 0, 0, +}; +u16 D_8017A7BC[64] = { + 42, 64, 12, 74, 64, 70, 91, 67, 54, 12, 56, 64, 58, 63, 56, 12, 69, 64, 12, 1, 50, 69, + 69, 50, 52, 60, 12, 69, 57, 54, 12, 54, 63, 54, 62, 74, 12, 1, 51, 50, 68, 54, 77, 12, + 12, 30, 67, 54, 50, 69, 12, 58, 53, 54, 50, 79, 12, 1, 29, 64, 73, 76, 1, 0, +}; +u16 D_8017A83C[36] = { + 32, 69, 91, 61, 61, 12, 51, 54, 12, 50, 12, 65, 58, 54, 52, 54, 12, 64, + 55, 1, 52, 50, 60, 54, 79, 12, 30, 54, 63, 54, 67, 50, 61, 76, 1, 0, +}; +u16 D_8017A884[54] = { + 34, 50, 69, 58, 63, 50, 12, 58, 68, 12, 51, 50, 69, 69, 61, 58, 63, 56, 1, 69, 57, 54, 12, 54, 63, 54, 62, + 74, 80, 12, 46, 58, 61, 61, 12, 74, 64, 70, 1, 57, 54, 61, 65, 12, 91, 54, 62, 12, 64, 70, 69, 77, 1, 0, +}; +u16 D_8017A8F0[24] = { + 24, 55, 55, 58, 67, 62, 50, 69, 58, 71, 54, 79, 12, 30, 54, 63, 54, 67, 50, 61, 80, 1, 0, 0, +}; +u16 D_8017A920[56] = { + 42, 69, 50, 67, 12, 29, 64, 73, 79, 12, 32, 12, 72, 50, 63, 69, 12, 74, 64, 70, 1, 69, 64, 12, 69, 50, 60, 54, + 12, 64, 70, 69, 12, 69, 57, 54, 1, 54, 63, 54, 62, 74, 12, 51, 58, 64, 78, 72, 54, 50, 65, 64, 63, 76, 1, 0, +}; +u16 D_8017A990[36] = { + 48, 54, 68, 79, 12, 68, 58, 67, 80, 12, 27, 54, 65, 61, 64, 74, 12, 69, + 57, 54, 1, 25, 61, 70, 54, 78, 36, 50, 67, 58, 63, 54, 76, 1, 0, 0, +}; +u16 D_8017A9D8[32] = { + 43, 57, 54, 67, 54, 91, 68, 12, 50, 63, 12, 54, 63, 54, 62, 74, + 12, 51, 50, 68, 54, 1, 69, 57, 54, 67, 54, 77, 76, 1, 0, 0, +}; +u16 D_8017AA18[24] = { + 24, 55, 55, 58, 67, 62, 50, 69, 58, 71, 54, 79, 12, 30, 54, 63, 54, 67, 50, 61, 80, 1, 0, 0, +}; +u16 D_8017AA48[48] = { + 43, 57, 54, 12, 54, 63, 54, 62, 74, 12, 50, 67, 62, 74, 12, 58, 68, 1, 56, 70, 63, 63, 58, 63, + 56, 12, 55, 64, 67, 12, 74, 64, 70, 80, 1, 25, 54, 12, 52, 50, 67, 54, 55, 70, 61, 76, 1, 0, +}; +u16 D_8017AAA8[20] = { + 27, 64, 63, 91, 69, 12, 72, 64, 67, 67, 74, 79, 12, 68, 58, 67, 76, 1, 0, 0, +}; +u16 D_8017AAD0[46] = { + 29, 64, 73, 79, 12, 72, 54, 91, 67, 54, 12, 70, 63, 53, 54, 67, 1, 50, 69, 69, 50, 52, 60, + 76, 12, 12, 31, 54, 61, 65, 12, 70, 68, 1, 64, 70, 69, 12, 57, 54, 67, 54, 76, 1, 0, 0, +}; +u16 D_8017AB2C[16] = { + 32, 91, 62, 12, 64, 63, 12, 62, 74, 12, 72, 50, 74, 76, 1, 0, +}; +u16 D_8017AB4C[74] = { + 43, 57, 50, 69, 12, 50, 67, 54, 50, 91, 68, 12, 50, 63, 12, 64, 71, 54, 63, 76, 1, 27, 64, 63, 91, + 69, 12, 56, 64, 12, 51, 70, 67, 63, 58, 63, 56, 12, 69, 57, 50, 69, 1, 24, 67, 72, 58, 63, 56, 76, + 12, 12, 25, 54, 1, 67, 54, 50, 68, 64, 63, 50, 51, 61, 54, 79, 12, 29, 64, 73, 76, 1, 0, 0, +}; +u16 D_8017ABE0[18] = { + 32, 91, 61, 61, 12, 51, 54, 12, 52, 50, 67, 54, 55, 70, 61, 80, 1, 0, +}; +u16 D_8017AC04[18] = { + 10, 38, 65, 54, 63, 12, 69, 57, 54, 12, 72, 58, 63, 56, 68, 80, 1, 0, +}; +u16 D_8017AC28[34] = { + 10, 26, 57, 54, 52, 60, 12, 74, 64, 70, 67, 12, 1, 30, 78, 27, 58, + 55, 55, 70, 68, 54, 67, 12, 68, 74, 68, 69, 54, 62, 76, 1, 0, 0, +}; +u16 D_8017AC6C[26] = { + 10, 29, 50, 61, 52, 64, 12, 57, 54, 67, 54, 80, 12, 1, 32, 91, 62, 12, 55, 58, 63, 54, 80, 1, 0, 0, +}; +u16 D_8017ACA0[34] = { + 10, 43, 57, 58, 68, 12, 58, 68, 12, 39, 54, 65, 65, 74, 80, 12, 1, + 24, 61, 61, 12, 68, 74, 68, 69, 54, 62, 68, 12, 56, 64, 80, 1, 0, +}; +u16 D_8017ACE4[24] = { + 10, 42, 61, 58, 65, 65, 74, 12, 57, 54, 67, 54, 80, 12, 1, 32, 91, 62, 12, 38, 34, 80, 1, 0, +}; +u16 D_8017AD14[44] = { + 10, 32, 12, 68, 54, 54, 12, 91, 54, 62, 12, 70, 65, 12, 50, 57, 54, 50, 53, 76, 1, 35, + 54, 69, 91, 68, 12, 67, 64, 52, 60, 12, 50, 63, 53, 12, 67, 64, 61, 61, 76, 1, 0, 0, +}; +u16 D_8017AD6C[36] = { + 9, 46, 54, 91, 67, 54, 12, 54, 63, 69, 54, 67, 58, 63, 56, 1, 26, 64, + 67, 63, 54, 67, 58, 50, 12, 26, 58, 69, 74, 12, 63, 64, 72, 76, 1, 0, +}; +u16 D_8017ADB4[22] = { + 9, 43, 57, 58, 68, 12, 58, 68, 12, 57, 64, 67, 67, 58, 51, 61, 54, 80, 80, 80, 1, 0, +}; +u16 D_8017ADE0[42] = { + 9, 42, 61, 58, 65, 65, 74, 79, 12, 72, 50, 69, 52, 57, 12, 64, 70, 69, 76, 12, 1, + 25, 64, 56, 54, 74, 12, 64, 63, 12, 74, 64, 70, 67, 12, 69, 50, 58, 61, 76, 1, 0, +}; +u16 D_8017AE34[18] = { + 9, 46, 57, 64, 50, 76, 12, 31, 54, 61, 65, 12, 62, 54, 76, 1, 0, 0, +}; +u16 D_8017AE58[36] = { + 9, 27, 64, 63, 91, 69, 12, 51, 54, 12, 53, 64, 58, 63, 56, 1, 50, 63, + 74, 69, 57, 58, 63, 56, 12, 55, 64, 64, 61, 58, 68, 57, 76, 1, 0, 0, +}; +u16 D_8017AEA0[10] = { + 9, 30, 64, 69, 52, 57, 50, 76, 1, 0, +}; +u16 D_8017AEB4[18] = { + 9, 25, 50, 52, 60, 12, 64, 55, 55, 79, 12, 29, 64, 73, 76, 1, 0, 0, +}; +u16 D_8017AED8[36] = { + 9, 27, 64, 12, 50, 12, 51, 50, 67, 67, 54, 61, 12, 67, 64, 61, 61, 12, + 1, 92, 49, 12, 64, 67, 12, 41, 12, 69, 72, 58, 52, 54, 93, 76, 1, 0, +}; +u16 D_8017AF20[38] = { + 9, 48, 64, 70, 91, 71, 54, 12, 56, 64, 69, 12, 50, 63, 12, 54, 63, 54, 62, + 74, 12, 1, 64, 63, 12, 74, 64, 70, 67, 12, 69, 50, 58, 61, 76, 1, 0, 0, +}; +u16 D_8017AF6C[42] = { + 9, 44, 68, 54, 12, 69, 57, 54, 12, 51, 67, 50, 60, 54, 1, 92, 65, 67, 54, 68, 68, + 12, 69, 57, 54, 12, 26, 22, 12, 19, 1, 25, 70, 69, 69, 64, 63, 93, 76, 1, 0, 0, +}; +u16 D_8017AFC0[40] = { + 9, 29, 64, 61, 61, 64, 72, 12, 74, 64, 70, 67, 12, 1, 55, 50, 69, 57, 54, 67, + 91, 68, 12, 54, 73, 50, 62, 65, 61, 54, 79, 12, 1, 29, 64, 73, 76, 1, 0, 0, +}; +u16 D_8017B010[46] = { + 9, 32, 91, 61, 61, 12, 69, 50, 60, 54, 12, 69, 57, 58, 68, 12, 64, 63, 54, 80, 1, 30, 54, + 69, 12, 69, 57, 54, 12, 64, 63, 54, 12, 51, 54, 57, 58, 63, 53, 1, 62, 54, 76, 1, 0, 0, +}; +u16 D_8017B06C[36] = { + 9, 32, 12, 52, 64, 70, 61, 53, 12, 70, 68, 54, 12, 68, 64, 62, 54, 12, + 1, 57, 54, 61, 65, 12, 57, 54, 67, 54, 79, 12, 29, 64, 73, 76, 1, 0, +}; +u16 D_8017B0B4[42] = { + 9, 42, 64, 62, 54, 69, 57, 58, 63, 56, 91, 68, 12, 72, 67, 64, 63, 56, 1, 72, 58, + 69, 57, 12, 69, 57, 54, 12, 30, 78, 27, 58, 55, 55, 70, 68, 54, 67, 76, 1, 0, 0, +}; +u16 D_8017B108[30] = { + 9, 39, 67, 54, 69, 69, 74, 12, 68, 62, 64, 64, 69, 57, 12, 1, 55, 61, 74, 58, 63, 56, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_8017B144[18] = { + 9, 29, 64, 61, 61, 64, 72, 12, 62, 54, 79, 12, 29, 64, 73, 76, 1, 0, +}; +u16 D_8017B168[26] = { + 10, 29, 50, 61, 52, 64, 79, 12, 72, 57, 54, 67, 54, 12, 74, 50, 12, 1, 56, 64, 58, 63, 56, 77, 1, 0, +}; +u16 D_8017B19C[38] = { + 10, 32, 12, 55, 64, 70, 63, 53, 12, 69, 57, 54, 12, 69, 50, 67, 56, 54, 69, + 76, 1, 43, 67, 74, 12, 69, 64, 12, 60, 54, 54, 65, 12, 70, 65, 80, 1, 0, +}; +u16 D_8017B1E8[26] = { + 10, 28, 63, 54, 62, 74, 12, 67, 64, 51, 64, 69, 1, 53, 54, 50, 53, 12, 50, 57, 54, 50, 53, 80, 1, 0, +}; +u16 D_8017B21C[12] = { + 9, 35, 54, 69, 91, 68, 12, 56, 64, 76, 1, 0, +}; +u16 D_8017B234[30] = { + 9, 48, 64, 70, 12, 50, 63, 63, 64, 74, 58, 63, 56, 12, 1, 61, 58, 69, 69, 61, 54, 12, 55, 61, 58, 54, 68, 76, 1, 0, +}; +u16 D_8017B270[26] = { + 10, 28, 63, 54, 62, 74, 12, 68, 57, 58, 54, 61, 53, 1, 50, 63, 50, 61, 74, 75, 54, 53, 80, 1, 0, 0, +}; +u16 D_8017B2A4[20] = { + 10, 24, 58, 62, 12, 55, 64, 67, 12, 57, 58, 68, 12, 51, 50, 52, 60, 76, 1, 0, +}; +u16 D_8017B2CC[40] = { + 9, 36, 64, 71, 54, 12, 58, 69, 79, 12, 29, 64, 73, 76, 12, 31, 54, 91, 68, 1, + 67, 58, 56, 57, 69, 12, 51, 54, 57, 58, 63, 53, 12, 74, 64, 70, 76, 1, 0, 0, +}; +u16 D_8017B31C[38] = { + 9, 40, 70, 58, 69, 12, 68, 52, 67, 54, 72, 58, 63, 56, 1, 50, 67, 64, 70, + 63, 53, 76, 12, 27, 64, 1, 68, 64, 62, 54, 69, 57, 58, 63, 56, 76, 1, 0, +}; +u16 D_8017B368[28] = { + 10, 24, 57, 79, 12, 68, 64, 12, 69, 57, 58, 68, 12, 58, 68, 1, 42, 69, 50, 67, 12, 29, 64, 73, 77, 1, 0, 0, +}; +u16 D_8017B3A0[26] = { + 9, 32, 91, 62, 12, 56, 64, 58, 63, 56, 12, 69, 64, 12, 52, 67, 70, 68, 57, 1, 74, 64, 70, 76, 1, 0, +}; +u16 D_8017B3D4[36] = { + 9, 43, 57, 64, 68, 54, 12, 72, 57, 64, 12, 52, 67, 64, 68, 68, 1, 24, + 63, 53, 67, 64, 68, 68, 12, 72, 58, 61, 61, 12, 53, 58, 54, 76, 1, 0, +}; +u16 D_8017B41C[36] = { + 9, 42, 69, 64, 65, 12, 62, 64, 71, 58, 63, 56, 12, 68, 64, 12, 32, 12, + 1, 52, 50, 63, 12, 68, 66, 70, 50, 68, 57, 12, 74, 64, 70, 76, 1, 0, +}; +u16 D_8017B464[34] = { + 9, 48, 64, 70, 12, 50, 67, 54, 12, 68, 69, 50, 67, 69, 58, 63, 56, + 12, 1, 69, 64, 12, 50, 63, 63, 64, 74, 12, 62, 54, 80, 1, 0, 0, +}; +u16 D_8017B4A8[8] = { + 9, 37, 64, 76, 76, 76, 1, 0, +}; +u16 D_8017B4B8[40] = { + 9, 32, 12, 72, 58, 61, 61, 12, 63, 64, 69, 12, 51, 54, 1, 53, 54, 55, 54, 50, + 69, 54, 53, 12, 51, 74, 12, 69, 57, 58, 68, 1, 72, 64, 67, 62, 76, 1, 0, 0, +}; +u16 D_8017B508[34] = { + 10, 36, 74, 12, 54, 62, 65, 54, 67, 64, 67, 80, 80, 80, 1, 32, 91, + 71, 54, 12, 55, 50, 58, 61, 54, 53, 12, 74, 64, 70, 76, 1, 0, 0, +}; +u16 D_8017B54C[30] = { + 9, 24, 57, 80, 80, 68, 64, 62, 54, 64, 63, 54, 1, 72, 50, 63, 69, 68, 12, 69, 64, 12, 65, 61, 50, 74, 76, 1, 0, 0, +}; +u16 D_8017B588[30] = { + 9, 27, 54, 65, 61, 64, 74, 12, 50, 61, 61, 12, 70, 63, 58, 69, 68, 76, 1, 26, 31, 24, 41, 30, 28, 76, 76, 76, 1, 0, +}; +u16 D_8017B5C4[30] = { + 10, 32, 91, 71, 54, 12, 56, 64, 69, 12, 50, 12, 65, 67, 54, 68, 54, 63, 69, 1, 55, 64, 67, 12, 74, 50, 76, 1, 0, 0, +}; +u16 D_8017B600[8] = { + 9, 30, 64, 76, 76, 1, 0, 0, +}; +u16 D_8017B610[20] = { + 9, 46, 57, 64, 12, 50, 67, 54, 12, 74, 64, 70, 12, 56, 70, 74, 68, 77, 1, 0, +}; +u16 D_8017B638[18] = { + 9, 46, 54, 91, 67, 54, 12, 42, 69, 50, 67, 12, 29, 64, 73, 76, 1, 0, +}; +u16 D_8017B65C[32] = { + 10, 48, 64, 70, 91, 61, 61, 12, 63, 54, 71, 54, 67, 12, 1, 53, + 54, 55, 54, 50, 69, 12, 24, 63, 53, 67, 64, 68, 68, 76, 1, 0, +}; +u16 D_8017B69C[48] = { + 9, 32, 63, 52, 64, 62, 58, 63, 56, 12, 54, 63, 54, 62, 74, 12, 1, 55, 67, 64, 62, 12, 69, 57, + 54, 12, 67, 54, 50, 67, 76, 1, 27, 67, 64, 65, 12, 50, 61, 69, 58, 69, 70, 53, 54, 76, 1, 0, +}; +u16 D_8017B6FC[26] = { + 10, 24, 58, 62, 12, 55, 64, 67, 12, 69, 57, 54, 12, 64, 65, 54, 63, 1, 68, 65, 64, 69, 76, 1, 0, 0, +}; +u16 D_8017B730[44] = { + 9, 48, 64, 70, 12, 53, 58, 53, 12, 58, 69, 76, 12, 32, 12, 72, 50, 68, 1, 72, 64, 67, + 67, 58, 54, 53, 12, 55, 64, 67, 12, 50, 12, 1, 62, 64, 62, 54, 63, 69, 80, 1, 0, 0, +}; +u16 D_8017B788[16] = { + 9, 43, 57, 54, 67, 54, 12, 74, 50, 12, 56, 64, 76, 1, 0, 0, +}; +u16 D_8017B7A8[42] = { + 9, 48, 64, 70, 91, 67, 54, 12, 51, 54, 52, 64, 62, 58, 63, 56, 1, 62, 64, 67, 54, + 12, 61, 58, 60, 54, 12, 74, 64, 70, 67, 1, 55, 50, 69, 57, 54, 67, 80, 1, 0, 0, +}; +u16 D_8017B7FC[38] = { + 9, 32, 91, 62, 12, 55, 58, 63, 54, 80, 12, 48, 64, 70, 12, 38, 34, 12, 1, + 64, 71, 54, 67, 12, 69, 57, 54, 67, 54, 79, 12, 29, 64, 73, 77, 1, 0, 0, +}; +u16 D_8017B848[44] = { + 9, 46, 54, 91, 67, 54, 12, 57, 54, 50, 53, 58, 63, 56, 12, 64, 70, 69, 80, 12, 1, 24, + 61, 61, 12, 50, 58, 67, 52, 67, 50, 55, 69, 12, 67, 54, 65, 64, 67, 69, 76, 1, 0, 0, +}; +u16 D_8017B8A0[38] = { + 10, 43, 57, 50, 63, 60, 68, 79, 12, 29, 64, 73, 76, 12, 32, 1, 69, 57, 64, + 70, 56, 57, 69, 12, 69, 57, 54, 74, 12, 57, 50, 53, 12, 62, 54, 76, 1, 0, +}; +u16 D_8017B8EC[34] = { + 10, 32, 12, 56, 70, 54, 68, 68, 12, 32, 12, 68, 57, 64, 70, 61, 53, + 12, 1, 51, 54, 12, 69, 57, 50, 63, 60, 55, 70, 61, 80, 1, 0, 0, +}; +u16 D_8017B930[36] = { + 9, 43, 57, 58, 63, 56, 68, 12, 50, 67, 54, 12, 68, 69, 50, 67, 69, 58, + 63, 56, 12, 1, 69, 64, 12, 57, 54, 50, 69, 12, 70, 65, 76, 1, 0, 0, +}; +u16 D_8017B978[30] = { + 9, 40, 70, 58, 69, 12, 53, 58, 63, 60, 58, 63, 91, 1, 50, 67, 64, 70, 63, 53, 79, 12, 42, 61, 58, 65, 76, 1, 0, 0, +}; +u16 D_8017B9B4[36] = { + 10, 46, 54, 91, 67, 54, 12, 57, 54, 50, 53, 58, 63, 91, 12, 58, 63, 69, + 64, 1, 69, 57, 54, 12, 50, 68, 69, 54, 67, 64, 58, 53, 68, 80, 1, 0, +}; +u16 D_8017B9FC[24] = { + 9, 31, 54, 67, 54, 12, 52, 64, 62, 54, 68, 12, 50, 12, 25, 32, 30, 1, 64, 63, 54, 76, 1, 0, +}; +u16 D_8017BA2C[26] = { + 9, 32, 69, 91, 68, 12, 66, 70, 58, 54, 69, 80, 1, 43, 64, 64, 12, 66, 70, 58, 54, 69, 80, 1, 0, 0, +}; +u16 D_8017BA60[28] = { + 9, 25, 54, 12, 52, 50, 67, 54, 55, 70, 61, 76, 1, 32, 69, 91, 68, 12, 50, 12, 69, 67, 50, 65, 76, 1, 0, 0, +}; +u16 D_8017BA98[22] = { + 9, 33, 70, 68, 69, 12, 68, 57, 64, 64, 69, 12, 58, 69, 79, 12, 29, 64, 73, 76, 1, 0, +}; +u16 D_8017BAC4[30] = { + 9, 27, 64, 63, 91, 69, 12, 62, 54, 68, 68, 12, 70, 65, 1, 69, 57, 50, 69, 12, 24, 67, 72, 58, 63, 56, 76, 1, 0, 0, +}; +u16 D_8017BB00[26] = { + 9, 46, 57, 64, 50, 76, 12, 26, 50, 63, 12, 74, 64, 70, 12, 1, 62, 50, 60, 54, 12, 58, 69, 77, 1, 0, +}; +u16 D_8017BB34[34] = { + 9, 43, 57, 54, 12, 54, 63, 54, 62, 74, 91, 68, 12, 52, 64, 62, 58, + 63, 56, 1, 55, 67, 64, 62, 12, 51, 54, 57, 58, 63, 53, 80, 1, 0, +}; +u16 D_8017BB78[42] = { + 9, 32, 12, 56, 70, 54, 68, 68, 12, 58, 69, 91, 68, 12, 74, 64, 70, 67, 1, 69, 70, + 67, 63, 12, 69, 64, 12, 51, 54, 12, 69, 57, 50, 63, 60, 55, 70, 61, 80, 1, 0, 0, +}; +u16 D_8017BBCC[28] = { + 9, 48, 64, 70, 12, 72, 50, 63, 69, 12, 50, 12, 65, 58, 54, 52, 54, 1, 64, 55, 12, 62, 54, 77, 76, 1, 0, 0, +}; +u16 D_8017BC04[14] = { + 9, 43, 50, 60, 54, 12, 69, 57, 50, 69, 76, 1, 0, 0, +}; +u16 D_8017BC20[40] = { + 10, 32, 12, 52, 50, 63, 63, 64, 69, 12, 50, 61, 61, 64, 72, 12, 74, 64, 70, 1, + 69, 64, 12, 56, 64, 12, 50, 63, 74, 12, 55, 70, 67, 69, 57, 54, 67, 80, 1, 0, +}; +u16 D_8017BC70[30] = { + 9, 35, 54, 69, 91, 68, 12, 68, 54, 54, 12, 72, 57, 50, 69, 12, 1, 74, 64, 70, 91, 71, 54, 12, 56, 64, 69, 80, 1, 0, +}; +u16 D_8017BCAC[40] = { + 9, 43, 57, 50, 69, 12, 68, 57, 58, 54, 61, 53, 12, 58, 68, 1, 50, 51, 68, 64, + 67, 51, 58, 63, 56, 12, 69, 57, 54, 12, 1, 61, 50, 68, 54, 67, 76, 1, 0, 0, +}; +u16 D_8017BCFC[28] = { + 9, 32, 91, 71, 54, 12, 70, 63, 53, 54, 67, 54, 68, 69, 58, 62, 50, 69, 54, 53, 1, 74, 64, 70, 80, 1, 0, 0, +}; +u16 D_8017BD34[18] = { + 9, 31, 64, 72, 12, 50, 51, 64, 70, 69, 12, 69, 57, 58, 68, 77, 1, 0, +}; +u16 D_8017BD58[24] = { + 9, 32, 91, 62, 12, 63, 64, 12, 62, 50, 69, 52, 57, 1, 55, 64, 67, 12, 74, 64, 70, 80, 1, 0, +}; +u16 D_8017BD88[18] = { + 9, 32, 12, 50, 53, 62, 58, 69, 12, 53, 54, 55, 54, 50, 69, 80, 1, 0, +}; +u16 D_8017BDAC[40] = { + 9, 24, 67, 54, 12, 74, 64, 70, 12, 56, 64, 63, 63, 50, 1, 61, 58, 68, 69, 54, + 63, 12, 69, 64, 12, 69, 57, 50, 69, 1, 62, 64, 63, 60, 54, 74, 77, 1, 0, 0, +}; +u16 D_8017BDFC[46] = { + 9, 31, 50, 12, 57, 50, 76, 12, 48, 64, 70, 91, 67, 54, 12, 63, 64, 69, 12, 1, 50, 68, 12, + 68, 69, 70, 65, 58, 53, 12, 50, 68, 12, 74, 64, 70, 12, 1, 61, 64, 64, 60, 76, 1, 0, 0, +}; +u16 D_8017BE58[28] = { + 9, 32, 55, 12, 69, 57, 58, 68, 12, 53, 64, 54, 68, 12, 1, 63, 64, 69, 12, 72, 64, 67, 60, 80, 80, 80, 1, 0, +}; +u16 D_8017BE90[36] = { + 9, 42, 64, 67, 67, 74, 12, 69, 64, 12, 59, 54, 69, 79, 12, 51, 70, 69, + 1, 32, 91, 62, 12, 58, 63, 12, 50, 12, 57, 70, 67, 67, 74, 76, 1, 0, +}; +u16 D_8017BED8[40] = { + 9, 32, 12, 52, 50, 63, 91, 69, 12, 51, 54, 61, 58, 54, 71, 54, 12, 32, 1, 61, + 64, 68, 69, 12, 69, 64, 12, 69, 57, 58, 68, 12, 68, 52, 70, 62, 76, 76, 1, 0, +}; +u16 D_8017BF28[38] = { + 9, 48, 64, 70, 91, 67, 54, 12, 62, 64, 67, 54, 1, 52, 70, 63, 63, 58, 63, + 56, 12, 69, 57, 50, 63, 12, 32, 1, 69, 57, 64, 70, 56, 57, 69, 80, 1, 0, +}; +u16 D_8017BF74[34] = { + 10, 30, 58, 71, 54, 12, 62, 54, 12, 42, 61, 58, 65, 65, 74, 91, 68, + 1, 61, 64, 52, 50, 69, 58, 64, 63, 79, 12, 41, 38, 25, 80, 1, 0, +}; +u16 D_8017BFB8[38] = { + 10, 35, 58, 55, 54, 12, 55, 64, 67, 62, 12, 58, 63, 53, 58, 52, 50, 69, 54, + 53, 1, 50, 69, 12, 82, 83, 12, 64, 91, 52, 61, 64, 52, 60, 80, 1, 0, 0, +}; +u16 D_8017C004[38] = { + 10, 43, 57, 54, 67, 54, 91, 68, 12, 67, 64, 52, 60, 74, 12, 1, 69, 54, 67, + 67, 50, 58, 63, 12, 53, 54, 50, 53, 12, 50, 57, 54, 50, 53, 76, 1, 0, 0, +}; +u16 D_8017C050[40] = { + 10, 24, 12, 62, 50, 56, 63, 54, 69, 58, 52, 12, 68, 69, 64, 67, 62, 76, 1, 46, + 54, 91, 61, 61, 12, 68, 54, 50, 67, 52, 57, 12, 57, 54, 67, 54, 80, 1, 0, 0, +}; +u16 D_8017C0A0[38] = { + 10, 32, 12, 69, 57, 58, 63, 60, 12, 74, 64, 70, 12, 61, 64, 64, 60, 1, 51, + 54, 69, 69, 54, 67, 12, 58, 63, 12, 50, 12, 69, 50, 63, 60, 80, 1, 0, 0, +}; +u16 D_8017C0EC[38] = { + 10, 31, 54, 12, 52, 50, 63, 12, 68, 70, 67, 54, 12, 51, 54, 1, 50, 12, 65, + 50, 58, 63, 12, 58, 63, 12, 69, 57, 54, 12, 63, 54, 52, 60, 80, 1, 0, 0, +}; +u16 D_8017C138[40] = { + 10, 46, 57, 74, 12, 53, 64, 63, 91, 69, 12, 74, 64, 70, 12, 52, 64, 62, 54, 1, + 53, 64, 72, 63, 12, 57, 54, 67, 54, 79, 12, 29, 50, 61, 52, 64, 77, 1, 0, 0, +}; +u16 D_8017C188[18] = { + 10, 32, 91, 61, 61, 12, 65, 50, 68, 68, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_8017C1AC[28] = { + 10, 27, 64, 63, 91, 69, 12, 56, 64, 12, 69, 64, 64, 12, 55, 50, 68, 69, 79, 1, 29, 50, 61, 52, 64, 80, 1, 0, +}; +u16 D_8017C1E4[26] = { + 9, 43, 67, 74, 12, 57, 64, 71, 54, 67, 58, 63, 56, 1, 92, 49, 12, 50, 63, 53, 12, 41, 93, 80, 1, 0, +}; +u16 D_8017C218[38] = { + 9, 28, 63, 54, 62, 74, 12, 55, 58, 56, 57, 69, 54, 67, 68, 1, 52, 64, 62, + 58, 63, 91, 12, 50, 69, 12, 74, 64, 70, 79, 12, 29, 64, 73, 80, 1, 0, 0, +}; +u16 D_8017C264[14] = { + 9, 24, 67, 54, 12, 74, 64, 70, 12, 38, 34, 77, 1, 0, +}; +u16 D_8017C280[24] = { + 9, 27, 64, 63, 91, 69, 12, 51, 54, 12, 53, 54, 50, 53, 79, 12, 42, 61, 58, 65, 80, 1, 0, 0, +}; +u16 D_8017C2B0[12] = { + 9, 32, 63, 52, 64, 62, 58, 63, 56, 76, 1, 0, +}; +u16 D_8017C2C8[46] = { + 9, 48, 64, 70, 12, 38, 34, 77, 12, 31, 64, 61, 53, 1, 69, 64, 56, 54, 69, 57, 54, 67, 80, + 12, 33, 70, 68, 69, 12, 50, 1, 51, 58, 69, 12, 55, 70, 67, 69, 57, 54, 67, 80, 1, 0, 0, +}; +u16 D_8017C324[24] = { + 9, 32, 68, 12, 69, 57, 50, 69, 12, 74, 64, 70, 79, 1, 42, 61, 58, 65, 65, 74, 77, 1, 0, 0, +}; +u16 D_8017C354[22] = { + 9, 32, 91, 61, 61, 12, 51, 54, 12, 69, 57, 54, 67, 54, 12, 68, 64, 64, 63, 80, 1, 0, +}; +u16 D_8017C380[20] = { + 9, 30, 64, 12, 55, 64, 67, 12, 69, 57, 54, 12, 52, 57, 54, 68, 69, 76, 1, 0, +}; +u16 D_8017C3A8[42] = { + 10, 27, 50, 69, 50, 12, 50, 63, 50, 61, 74, 68, 58, 68, 1, 52, 64, 62, 65, 61, 54, + 69, 54, 80, 12, 31, 54, 67, 54, 1, 58, 69, 12, 52, 64, 62, 54, 68, 80, 1, 0, 0, +}; +u16 D_8017C3FC[16] = { + 9, 27, 64, 12, 68, 64, 62, 54, 69, 57, 58, 63, 56, 76, 1, 0, +}; +u16 D_8017C41C[44] = { + 9, 35, 54, 69, 12, 62, 54, 12, 56, 54, 69, 12, 50, 12, 65, 58, 54, 52, 54, 1, 64, 55, + 12, 69, 57, 50, 69, 12, 50, 52, 69, 58, 64, 63, 79, 12, 1, 29, 64, 73, 76, 1, 0, 0, +}; +u16 D_8017C474[28] = { + 9, 43, 50, 60, 54, 12, 64, 70, 69, 12, 57, 58, 68, 12, 1, 50, 67, 62, 68, 79, 12, 29, 64, 73, 80, 1, 0, 0, +}; +u16 D_8017C4AC[36] = { + 9, 39, 58, 65, 54, 12, 53, 64, 72, 63, 79, 12, 42, 61, 58, 65, 65, 74, + 76, 1, 33, 70, 68, 69, 12, 57, 64, 61, 53, 12, 64, 63, 80, 1, 0, 0, +}; +u16 D_8017C4F4[40] = { + 9, 42, 61, 58, 65, 65, 74, 79, 12, 72, 57, 50, 69, 12, 50, 67, 54, 12, 74, 64, + 70, 1, 53, 64, 58, 63, 56, 77, 12, 31, 70, 67, 67, 74, 12, 70, 65, 76, 1, 0, +}; +u16 D_8017C544[30] = { + 9, 32, 69, 91, 68, 12, 58, 62, 65, 64, 68, 68, 58, 51, 61, 54, 12, 1, 69, 57, 58, 68, 12, 72, 50, 74, 76, 1, 0, 0, +}; +u16 D_8017C580[32] = { + 9, 42, 70, 67, 54, 12, 74, 64, 70, 12, 52, 50, 63, 1, 57, 50, + 63, 53, 61, 54, 12, 58, 69, 79, 12, 29, 64, 73, 77, 1, 0, 0, +}; +u16 D_8017C5C0[28] = { + 9, 32, 12, 69, 57, 64, 70, 56, 57, 69, 12, 32, 12, 72, 50, 68, 12, 50, 1, 56, 64, 63, 54, 67, 76, 1, 0, 0, +}; +u16 D_8017C5F8[40] = { + 9, 46, 54, 91, 67, 54, 12, 50, 61, 72, 50, 74, 68, 12, 68, 50, 71, 58, 63, 91, + 1, 74, 64, 70, 67, 12, 57, 58, 53, 54, 79, 12, 42, 61, 58, 65, 80, 1, 0, 0, +}; +u16 D_8017C648[38] = { + 9, 32, 91, 62, 12, 68, 70, 67, 54, 12, 57, 54, 91, 68, 12, 1, 61, 54, 50, + 67, 63, 54, 53, 12, 57, 58, 68, 12, 61, 54, 68, 68, 64, 63, 80, 1, 0, 0, +}; +u16 D_8017C694[42] = { + 9, 46, 57, 54, 63, 12, 72, 54, 12, 56, 54, 69, 12, 51, 50, 52, 60, 79, 1, 72, 54, + 91, 61, 61, 12, 57, 54, 50, 53, 12, 69, 64, 12, 45, 54, 63, 64, 62, 80, 1, 0, 0, +}; +u16 D_8017C6E8[38] = { + 9, 32, 12, 62, 50, 53, 54, 12, 58, 69, 76, 12, 32, 91, 61, 61, 1, 50, 63, + 50, 61, 74, 75, 54, 12, 67, 58, 56, 57, 69, 12, 50, 72, 50, 74, 80, 1, 0, +}; +u16 D_8017C734[10] = { + 9, 29, 64, 73, 76, 76, 76, 76, 1, 0, +}; +u16 D_8017C748[30] = { + 9, 32, 12, 60, 63, 54, 72, 12, 74, 64, 70, 91, 53, 1, 52, 64, 62, 54, 12, 57, 54, 61, 65, 12, 62, 54, 76, 1, 0, 0, +}; +u16 D_8017C784[26] = { + 9, 27, 54, 65, 61, 64, 74, 12, 69, 57, 54, 1, 35, 50, 63, 53, 62, 50, 68, 69, 54, 67, 76, 1, 0, 0, +}; +u16 D_8017C7B8[38] = { + 9, 35, 54, 69, 91, 68, 12, 69, 50, 60, 54, 12, 64, 70, 69, 12, 69, 57, 50, + 69, 12, 1, 72, 54, 50, 65, 64, 63, 79, 12, 51, 64, 74, 68, 80, 1, 0, 0, +}; +u16 D_8017C804[28] = { + 9, 35, 54, 69, 91, 68, 12, 57, 50, 71, 54, 12, 50, 12, 1, 61, 58, 69, 69, 61, 54, 12, 55, 70, 63, 76, 1, 0, +}; +u16 D_8017C83C[44] = { + 9, 28, 63, 54, 62, 74, 12, 56, 67, 64, 70, 65, 1, 51, 54, 57, 58, 63, 53, 12, 70, 68, + 80, 12, 36, 50, 63, 1, 69, 57, 54, 74, 91, 67, 54, 12, 55, 50, 68, 69, 76, 1, 0, 0, +}; +u16 D_8017C894[26] = { + 9, 42, 64, 62, 54, 69, 57, 58, 63, 56, 91, 68, 1, 63, 64, 69, 12, 67, 58, 56, 57, 69, 80, 1, 0, 0, +}; +u16 D_8017C8C8[36] = { + 9, 46, 54, 91, 67, 54, 12, 56, 54, 69, 69, 58, 63, 91, 1, 52, 61, 64, + 68, 54, 12, 69, 64, 12, 69, 57, 54, 12, 51, 50, 68, 54, 80, 1, 0, 0, +}; +u16 D_8017C910[40] = { + 9, 42, 64, 62, 54, 51, 64, 53, 74, 12, 51, 54, 50, 69, 12, 70, 68, 1, 57, 54, + 67, 54, 80, 12, 32, 69, 91, 68, 12, 50, 61, 61, 12, 56, 64, 63, 54, 76, 1, 0, +}; +u16 D_8017C960[28] = { + 9, 46, 57, 50, 69, 12, 69, 57, 54, 12, 57, 54, 52, 60, 12, 1, 58, 68, 12, 69, 57, 50, 69, 77, 76, 1, 0, 0, +}; +u16 D_8017C998[44] = { + 9, 32, 12, 56, 64, 69, 12, 69, 50, 56, 56, 54, 53, 80, 12, 36, 74, 1, 54, 50, 67, 68, + 12, 50, 67, 54, 12, 68, 69, 58, 61, 61, 12, 1, 67, 58, 63, 56, 58, 63, 56, 80, 1, 0, +}; +u16 D_8017C9F0[16] = { + 9, 43, 57, 50, 63, 60, 68, 79, 12, 29, 64, 73, 80, 1, 0, 0, +}; +u16 D_8017CA10[44] = { + 9, 32, 12, 52, 50, 63, 91, 69, 12, 72, 50, 58, 69, 12, 69, 64, 12, 68, 54, 54, 12, 1, + 69, 57, 58, 68, 12, 68, 54, 52, 67, 54, 69, 12, 72, 54, 50, 65, 64, 63, 76, 1, 0, 0, +}; +u16 D_8017CA68[40] = { + 9, 32, 12, 55, 64, 70, 63, 53, 12, 69, 57, 54, 12, 56, 50, 69, 54, 80, 1, 35, + 64, 64, 60, 68, 12, 61, 58, 60, 54, 12, 50, 12, 72, 50, 67, 65, 80, 1, 0, 0, +}; +u16 D_8017CAB8[40] = { + 10, 32, 91, 62, 12, 56, 64, 63, 63, 50, 12, 64, 65, 54, 63, 12, 69, 57, 54, 1, + 56, 50, 69, 54, 80, 12, 25, 50, 52, 60, 12, 62, 54, 12, 70, 65, 76, 1, 0, 0, +}; +u16 D_8017CB08[20] = { + 10, 25, 58, 61, 61, 76, 12, 48, 64, 70, 91, 67, 54, 12, 38, 34, 76, 1, 0, 0, +}; +u16 D_8017CB30[32] = { + 10, 38, 55, 12, 52, 64, 70, 67, 68, 54, 76, 12, 1, 32, 91, 62, + 12, 57, 54, 67, 54, 12, 69, 64, 12, 57, 54, 61, 65, 80, 1, 0, +}; +u16 D_8017CB70[40] = { + 10, 43, 50, 60, 54, 12, 58, 69, 12, 54, 50, 68, 74, 79, 12, 29, 64, 73, 80, 1, + 27, 64, 63, 91, 69, 12, 61, 54, 69, 12, 70, 68, 12, 53, 64, 72, 63, 80, 1, 0, +}; +u16 D_8017CBC0[30] = { + 9, 42, 64, 62, 54, 69, 57, 58, 63, 56, 91, 68, 12, 63, 64, 69, 1, 67, 58, 56, 57, 69, 12, 57, 54, 67, 54, 80, 1, 0, +}; +u16 D_8017CBFC[26] = { + 9, 46, 57, 64, 12, 69, 64, 64, 60, 12, 69, 57, 58, 68, 12, 51, 50, 68, 54, 1, 64, 70, 69, 77, 1, 0, +}; +u16 D_8017CC30[28] = { + 9, 31, 70, 67, 67, 74, 12, 70, 65, 12, 64, 67, 12, 74, 64, 70, 91, 67, 54, 1, 69, 64, 50, 68, 69, 76, 1, 0, +}; +u16 D_8017CC68[34] = { + 9, 32, 91, 61, 61, 12, 50, 69, 69, 50, 52, 60, 12, 55, 67, 64, 62, + 12, 1, 69, 57, 54, 12, 64, 70, 69, 68, 58, 53, 54, 80, 1, 0, 0, +}; +u16 D_8017CCAC[34] = { + 9, 32, 63, 69, 54, 67, 52, 54, 65, 69, 64, 67, 12, 68, 74, 68, 69, + 54, 62, 1, 53, 54, 50, 53, 12, 50, 57, 54, 50, 53, 80, 1, 0, 0, +}; +u16 D_8017CCF0[22] = { + 9, 43, 57, 54, 74, 91, 67, 54, 12, 54, 71, 54, 67, 74, 72, 57, 54, 67, 54, 76, 1, 0, +}; +u16 D_8017CD1C[32] = { + 9, 46, 57, 54, 67, 54, 12, 58, 68, 12, 69, 57, 54, 12, 1, 68, + 54, 52, 67, 54, 69, 12, 72, 54, 50, 65, 64, 63, 77, 1, 0, 0, +}; +u16 D_8017CD5C[38] = { + 9, 32, 91, 62, 12, 56, 64, 58, 63, 56, 12, 50, 57, 54, 50, 53, 80, 12, 1, + 25, 50, 52, 60, 12, 62, 54, 12, 70, 65, 79, 12, 29, 64, 73, 80, 1, 0, 0, +}; +u16 D_8017CDA8[40] = { + 9, 46, 57, 50, 69, 12, 69, 57, 54, 12, 57, 54, 52, 60, 77, 12, 29, 64, 73, 79, + 1, 61, 64, 64, 60, 12, 51, 54, 57, 58, 63, 53, 12, 74, 64, 70, 76, 1, 0, 0, +}; +u16 D_8017CDF8[34] = { + 9, 42, 64, 12, 69, 57, 58, 68, 12, 58, 68, 12, 69, 57, 54, 12, 1, + 68, 54, 52, 67, 54, 69, 12, 72, 54, 50, 65, 64, 63, 80, 1, 0, 0, +}; +u16 D_8017CE3C[28] = { + 9, 27, 54, 68, 69, 67, 64, 74, 12, 72, 57, 50, 69, 77, 1, 31, 54, 91, 68, 12, 52, 67, 50, 75, 74, 80, 1, 0, +}; +u16 D_8017CE74[22] = { + 9, 35, 54, 69, 12, 62, 54, 12, 57, 50, 63, 53, 61, 54, 12, 69, 57, 58, 68, 80, 1, 0, +}; +u16 D_8017CEA0[20] = { + 9, 27, 54, 68, 69, 67, 64, 74, 80, 1, 27, 54, 68, 69, 67, 64, 74, 80, 1, 0, +}; +u16 D_8017CEC8[32] = { + 9, 32, 12, 72, 58, 61, 61, 12, 69, 54, 67, 62, 58, 63, 50, 69, + 54, 1, 50, 61, 61, 12, 54, 63, 54, 62, 58, 54, 68, 80, 1, 0, +}; +u16 D_8017CF08[20] = { + 9, 48, 64, 70, 12, 50, 67, 54, 12, 50, 63, 12, 54, 63, 54, 62, 74, 80, 1, 0, +}; +u16 D_8017CF30[26] = { + 9, 46, 57, 54, 67, 54, 12, 58, 68, 12, 69, 57, 54, 12, 1, 52, 67, 54, 50, 69, 64, 67, 77, 76, 1, 0, +}; +u16 D_8017CF64[20] = { + 9, 46, 57, 50, 69, 91, 68, 12, 57, 54, 12, 68, 50, 74, 58, 63, 56, 77, 1, 0, +}; +u16 D_8017CF8C[22] = { + 9, 43, 57, 54, 12, 71, 58, 54, 72, 12, 58, 68, 12, 52, 61, 54, 50, 67, 80, 1, 0, 0, +}; +u16 D_8017CFB8[22] = { + 9, 46, 57, 54, 67, 54, 12, 58, 68, 12, 69, 57, 54, 12, 54, 63, 54, 62, 74, 77, 1, 0, +}; +u16 D_8017CFE4[22] = { + 9, 32, 12, 62, 70, 68, 69, 12, 51, 54, 12, 52, 64, 62, 65, 61, 54, 69, 54, 80, 1, 0, +}; +u16 D_8017D010[44] = { + 9, 41, 38, 25, 79, 12, 52, 50, 63, 12, 74, 64, 70, 12, 1, 52, 64, 63, 55, 58, 67, 62, + 12, 42, 61, 58, 65, 65, 74, 91, 68, 1, 61, 64, 52, 50, 69, 58, 64, 63, 77, 1, 0, 0, +}; +u16 D_8017D068[30] = { + 9, 35, 64, 64, 60, 68, 12, 61, 58, 60, 54, 12, 57, 54, 91, 68, 1, 64, 63, 12, 43, 58, 69, 50, 63, 58, 50, 80, 1, 0, +}; +u16 D_8017D0A4[34] = { + 9, 42, 61, 58, 65, 65, 74, 12, 52, 50, 63, 12, 51, 54, 12, 68, 70, + 52, 57, 1, 50, 12, 57, 54, 50, 53, 50, 52, 57, 54, 80, 1, 0, 0, +}; +u16 D_8017D0E8[40] = { + 9, 27, 58, 68, 69, 67, 54, 68, 68, 12, 68, 58, 56, 63, 50, 61, 1, 52, 64, 62, + 58, 63, 56, 12, 55, 67, 64, 62, 12, 43, 58, 69, 50, 63, 58, 50, 80, 1, 0, 0, +}; +u16 D_8017D138[24] = { + 9, 48, 28, 24, 31, 76, 12, 1, 33, 70, 68, 69, 12, 64, 63, 54, 12, 62, 64, 67, 54, 80, 1, 0, +}; +u16 D_8017D168[30] = { + 9, 42, 61, 58, 65, 65, 74, 76, 12, 32, 68, 12, 1, 54, 71, 54, 67, 74, 69, 57, 58, 63, 56, 12, 38, 34, 77, 1, 0, 0, +}; +u16 D_8017D1A4[26] = { + 9, 48, 54, 50, 57, 12, 74, 54, 50, 57, 80, 1, 37, 64, 12, 65, 67, 64, 51, 61, 54, 62, 80, 1, 0, 0, +}; +u16 D_8017D1D8[40] = { + 9, 35, 54, 69, 91, 68, 12, 68, 63, 54, 50, 60, 12, 58, 63, 12, 61, 64, 72, 1, + 50, 63, 53, 12, 68, 70, 67, 65, 67, 58, 68, 54, 12, 69, 57, 54, 62, 76, 1, 0, +}; +u16 D_8017D228[18] = { + 9, 43, 31, 32, 42, 12, 58, 68, 12, 49, 64, 63, 54, 68, 68, 77, 1, 0, +}; +u16 D_8017D24C[16] = { + 9, 46, 57, 50, 69, 12, 50, 12, 53, 70, 62, 65, 76, 1, 0, 0, +}; +u16 D_8017D26C[34] = { + 9, 32, 12, 52, 50, 63, 91, 69, 12, 51, 54, 61, 58, 54, 71, 54, 12, + 1, 69, 57, 54, 74, 12, 53, 58, 53, 12, 69, 57, 58, 68, 76, 1, 0, +}; +u16 D_8017D2B0[22] = { + 9, 32, 12, 57, 54, 50, 67, 12, 74, 50, 79, 12, 42, 61, 58, 65, 65, 74, 80, 1, 0, 0, +}; +u16 D_8017D2DC[34] = { + 10, 46, 50, 69, 52, 57, 12, 64, 70, 69, 12, 55, 64, 67, 12, 69, 57, + 54, 1, 68, 54, 50, 67, 52, 57, 12, 61, 58, 56, 57, 69, 76, 1, 0, +}; +u16 D_8017D320[28] = { + 10, 35, 54, 69, 91, 68, 12, 69, 50, 60, 54, 12, 91, 54, 62, 12, 1, 50, 61, 61, 12, 64, 70, 69, 76, 1, 0, 0, +}; +u16 D_8017D358[32] = { + 10, 44, 57, 12, 64, 57, 80, 12, 31, 50, 71, 54, 12, 72, 54, 1, + 51, 54, 54, 63, 12, 68, 65, 64, 69, 69, 54, 53, 77, 1, 0, 0, +}; +u16 D_8017D398[36] = { + 10, 46, 54, 91, 67, 54, 12, 52, 61, 64, 68, 58, 63, 56, 12, 58, 63, 1, + 64, 63, 12, 69, 57, 54, 62, 79, 12, 29, 50, 61, 52, 64, 76, 1, 0, 0, +}; +u16 D_8017D3E0[34] = { + 10, 34, 50, 69, 69, 77, 76, 12, 46, 57, 50, 69, 12, 50, 67, 54, 1, + 74, 64, 70, 12, 53, 64, 58, 63, 56, 12, 57, 54, 67, 54, 77, 1, 0, +}; +u16 D_8017D424[36] = { + 10, 32, 68, 12, 69, 57, 50, 69, 12, 50, 63, 74, 12, 72, 50, 74, 1, 69, + 64, 12, 56, 67, 54, 54, 69, 12, 50, 12, 56, 58, 67, 61, 77, 1, 0, 0, +}; +u16 D_8017D46C[14] = { + 9, 31, 54, 67, 54, 12, 32, 12, 56, 64, 76, 1, 0, 0, +}; +u16 D_8017D488[48] = { + 9, 43, 50, 60, 54, 12, 69, 57, 54, 12, 67, 58, 56, 57, 69, 12, 1, 61, 58, 56, 57, 69, 79, 12, + 51, 64, 74, 80, 12, 32, 12, 57, 50, 71, 54, 1, 69, 57, 54, 12, 61, 54, 55, 69, 80, 1, 0, 0, +}; +u16 D_8017D4E8[16] = { + 9, 28, 63, 54, 62, 74, 12, 69, 50, 63, 60, 54, 67, 76, 1, 0, +}; +u16 D_8017D508[28] = { + 9, 24, 58, 62, 12, 55, 64, 67, 12, 69, 57, 54, 12, 1, 67, 70, 53, 53, 54, 67, 79, 12, 29, 64, 73, 76, 1, 0, +}; +u16 D_8017D540[32] = { + 9, 32, 91, 71, 54, 12, 56, 64, 69, 12, 68, 64, 62, 54, 51, 64, + 53, 74, 1, 64, 63, 12, 62, 74, 12, 69, 50, 58, 61, 76, 1, 0, +}; +u16 D_8017D580[42] = { + 9, 36, 54, 68, 68, 12, 72, 58, 69, 57, 12, 62, 54, 12, 50, 63, 53, 1, 74, 64, 70, + 91, 61, 61, 12, 56, 54, 69, 12, 1, 68, 52, 67, 50, 69, 52, 57, 54, 53, 76, 1, 0, +}; +u16 D_8017D5D4[42] = { + 9, 28, 63, 54, 62, 74, 12, 55, 58, 56, 57, 69, 54, 67, 68, 1, 68, 65, 64, 69, 69, + 54, 53, 76, 12, 43, 50, 60, 54, 12, 91, 54, 62, 12, 1, 53, 64, 72, 63, 76, 1, 0, +}; +u16 D_8017D628[26] = { + 9, 43, 57, 54, 68, 54, 12, 56, 70, 74, 68, 12, 1, 53, 64, 63, 91, 69, 12, 66, 70, 58, 69, 76, 1, 0, +}; +u16 D_8017D65C[10] = { + 9, 42, 57, 64, 64, 69, 76, 1, 0, 0, +}; +u16 D_8017D670[20] = { + 9, 46, 57, 64, 50, 76, 12, 46, 50, 69, 52, 57, 12, 64, 70, 69, 76, 1, 0, 0, +}; +u16 D_8017D698[34] = { + 9, 25, 54, 12, 52, 50, 67, 54, 55, 70, 61, 76, 1, 32, 69, 12, 62, + 58, 56, 57, 69, 12, 51, 54, 12, 50, 12, 69, 67, 50, 65, 76, 1, 0, +}; +u16 D_8017D6DC[36] = { + 9, 42, 64, 62, 54, 69, 57, 58, 63, 56, 91, 68, 12, 52, 64, 62, 58, 63, + 56, 1, 55, 67, 64, 62, 12, 69, 57, 54, 12, 68, 54, 50, 76, 1, 0, 0, +}; +u16 D_8017D724[20] = { + 9, 24, 67, 12, 57, 50, 12, 57, 50, 12, 57, 50, 12, 57, 50, 67, 76, 1, 0, 0, +}; +u16 D_8017D74C[32] = { + 9, 27, 58, 68, 67, 54, 68, 65, 54, 52, 69, 55, 70, 61, 1, 61, + 58, 69, 69, 61, 54, 12, 72, 57, 54, 61, 65, 68, 76, 1, 0, 0, +}; +u16 D_8017D78C[30] = { + 9, 32, 91, 61, 61, 12, 69, 54, 50, 52, 57, 12, 74, 54, 12, 68, 64, 62, 54, 1, 67, 54, 68, 65, 54, 52, 69, 76, 1, 0, +}; +u16 D_8017D7C8[30] = { + 9, 24, 61, 61, 12, 68, 54, 52, 69, 58, 64, 63, 68, 12, 67, 54, 50, 53, 74, 80, 1, 28, 63, 56, 50, 56, 54, 76, 1, 0, +}; +u16 D_8017D804[22] = { + 9, 39, 67, 54, 65, 50, 67, 54, 12, 69, 64, 12, 68, 70, 67, 55, 50, 52, 54, 76, 1, 0, +}; +u16 D_8017D830[34] = { + 9, 24, 53, 59, 70, 68, 69, 12, 82, 81, 12, 53, 54, 56, 67, 54, 54, + 68, 1, 67, 58, 56, 57, 69, 76, 12, 29, 32, 41, 28, 76, 1, 0, 0, +}; +u16 D_8017D874[36] = { + 9, 39, 67, 54, 68, 68, 70, 67, 54, 79, 12, 50, 63, 56, 61, 54, 12, 38, + 34, 80, 1, 29, 58, 67, 54, 12, 69, 64, 67, 65, 54, 53, 64, 76, 1, 0, +}; +u16 D_8017D8BC[32] = { + 9, 24, 50, 50, 67, 56, 57, 76, 12, 1, 27, 67, 64, 65, 12, 69, + 57, 54, 12, 52, 67, 50, 63, 54, 12, 63, 64, 72, 76, 1, 0, 0, +}; +u16 D_8017D8FC[40] = { + 9, 32, 12, 52, 50, 63, 91, 69, 12, 68, 54, 54, 12, 1, 50, 63, 74, 69, 57, 58, + 63, 56, 80, 80, 80, 1, 29, 58, 67, 54, 12, 50, 63, 74, 72, 50, 74, 76, 1, 0, +}; +u16 D_8017D94C[14] = { + 9, 29, 58, 67, 54, 76, 12, 29, 58, 67, 54, 76, 1, 0, +}; +u16 D_8017D968[16] = { + 10, 24, 67, 67, 56, 56, 56, 57, 57, 57, 76, 76, 76, 1, 0, 0, +}; +u16 D_8017D988[40] = { + 9, 31, 58, 68, 12, 50, 67, 62, 64, 67, 12, 58, 68, 12, 69, 64, 70, 56, 57, 76, + 1, 44, 68, 54, 12, 51, 64, 62, 51, 68, 12, 72, 58, 68, 54, 61, 74, 76, 1, 0, +}; +u16 D_8017D9D8[34] = { + 9, 27, 54, 68, 69, 67, 64, 74, 12, 69, 57, 54, 12, 69, 72, 64, 1, + 54, 73, 57, 50, 70, 68, 69, 12, 65, 58, 65, 54, 68, 76, 1, 0, 0, +}; +u16 D_8017DA1C[28] = { + 9, 40, 70, 58, 52, 60, 79, 12, 53, 54, 68, 69, 67, 64, 74, 12, 69, 57, 54, 1, 52, 67, 50, 63, 54, 76, 1, 0, +}; +u16 D_8017DA54[14] = { + 9, 38, 57, 12, 42, 31, 38, 38, 43, 76, 76, 1, 0, 0, +}; +u16 D_8017DA70[40] = { + 9, 35, 64, 64, 60, 68, 12, 61, 58, 60, 54, 12, 72, 54, 91, 67, 54, 1, 57, 54, + 50, 53, 58, 63, 91, 12, 55, 64, 67, 12, 36, 50, 52, 51, 54, 69, 57, 80, 1, 0, +}; +u16 D_8017DAC0[26] = { + 9, 34, 50, 69, 69, 79, 12, 72, 57, 54, 67, 54, 91, 53, 12, 74, 64, 70, 12, 1, 56, 64, 77, 1, 0, 0, +}; +u16 D_8017DAF4[28] = { + 9, 26, 50, 58, 62, 50, 63, 12, 57, 54, 67, 54, 80, 1, 37, 64, 12, 65, 67, 64, 51, 61, 54, 62, 68, 80, 1, 0, +}; +u16 D_8017DB2C[36] = { + 9, 27, 64, 12, 74, 64, 70, 12, 52, 64, 65, 74, 77, 1, 28, 62, 54, 67, + 56, 54, 63, 52, 74, 1, 62, 50, 63, 54, 70, 71, 54, 67, 68, 76, 1, 0, +}; +u16 D_8017DB74[30] = { + 9, 43, 64, 64, 12, 61, 50, 69, 54, 76, 12, 1, 30, 50, 62, 54, 12, 64, 71, 54, 67, 79, 12, 65, 50, 61, 76, 1, 0, 0, +}; +u16 D_8017DBB0[36] = { + 9, 28, 63, 69, 54, 67, 58, 63, 56, 12, 45, 54, 63, 64, 62, 12, 50, 58, + 67, 1, 53, 54, 55, 54, 63, 68, 54, 12, 75, 64, 63, 54, 80, 1, 0, 0, +}; +u16 D_8017DBF8[24] = { + 9, 28, 71, 54, 67, 74, 51, 64, 53, 74, 12, 68, 69, 50, 74, 1, 50, 61, 54, 67, 69, 76, 1, 0, +}; +u16 D_8017DC28[22] = { + 9, 42, 65, 50, 52, 54, 12, 62, 58, 63, 54, 68, 12, 50, 57, 54, 50, 53, 76, 1, 0, 0, +}; +u16 D_8017DC54[36] = { + 9, 31, 64, 61, 53, 12, 68, 69, 58, 61, 61, 12, 50, 63, 53, 12, 61, 54, + 69, 1, 62, 54, 12, 68, 57, 64, 64, 69, 12, 74, 64, 70, 76, 1, 0, 0, +}; +u16 D_8017DC9C[40] = { + 9, 46, 54, 91, 67, 54, 12, 56, 64, 63, 63, 50, 12, 51, 67, 54, 50, 60, 1, 69, + 57, 67, 64, 70, 56, 57, 12, 69, 57, 50, 69, 12, 55, 61, 54, 54, 69, 80, 1, 0, +}; +u16 D_8017DCEC[26] = { + 9, 32, 63, 52, 64, 62, 58, 63, 56, 12, 54, 63, 54, 62, 74, 1, 62, 58, 68, 68, 58, 61, 54, 76, 1, 0, +}; +u16 D_8017DD20[38] = { + 9, 42, 57, 64, 64, 69, 12, 91, 54, 62, 12, 53, 64, 72, 63, 76, 1, 46, 54, + 91, 67, 54, 12, 51, 54, 58, 63, 56, 12, 62, 50, 67, 60, 54, 53, 76, 1, 0, +}; +u16 D_8017DD6C[18] = { + 9, 27, 58, 53, 12, 72, 54, 12, 56, 54, 69, 12, 91, 54, 62, 77, 1, 0, +}; +u16 D_8017DD90[16] = { + 9, 37, 64, 69, 12, 74, 54, 69, 79, 12, 68, 58, 67, 76, 1, 0, +}; +u16 D_8017DDB0[28] = { + 10, 30, 67, 54, 50, 69, 12, 29, 64, 73, 12, 72, 58, 61, 61, 1, 52, 64, 71, 54, 67, 12, 74, 64, 70, 80, 1, 0, +}; +u16 D_8017DDE8[38] = { + 9, 28, 63, 54, 62, 74, 12, 50, 57, 54, 50, 53, 80, 12, 43, 57, 58, 68, 1, + 64, 63, 54, 91, 68, 12, 53, 58, 55, 55, 54, 67, 54, 63, 69, 80, 1, 0, 0, +}; +u16 D_8017DE34[36] = { + 9, 26, 67, 70, 53, 76, 12, 46, 54, 12, 72, 54, 67, 54, 12, 42, 38, 1, + 52, 61, 64, 68, 54, 12, 69, 64, 12, 45, 54, 63, 64, 62, 80, 1, 0, 0, +}; +u16 D_8017DE7C[40] = { + 9, 25, 64, 56, 54, 74, 12, 51, 54, 57, 58, 63, 53, 12, 62, 54, 80, 12, 1, 24, + 62, 12, 32, 12, 56, 54, 69, 69, 58, 63, 91, 12, 68, 61, 64, 72, 77, 1, 0, 0, +}; +u16 D_8017DECC[40] = { + 9, 43, 57, 54, 74, 91, 67, 54, 12, 64, 63, 12, 62, 54, 76, 12, 32, 91, 62, 1, + 56, 54, 69, 69, 58, 63, 91, 12, 52, 50, 67, 54, 61, 54, 68, 68, 76, 1, 0, 0, +}; +u16 D_8017DF1C[24] = { + 9, 45, 54, 63, 64, 62, 91, 68, 12, 67, 58, 56, 57, 69, 12, 69, 57, 54, 67, 54, 76, 1, 0, 0, +}; +u16 D_8017DF4C[42] = { + 9, 42, 57, 64, 64, 69, 12, 69, 57, 54, 12, 69, 54, 63, 69, 50, 52, 61, 54, 68, 12, + 1, 69, 64, 12, 64, 65, 54, 63, 12, 69, 57, 54, 12, 52, 64, 67, 54, 76, 1, 0, 0, +}; +u16 D_8017DFA0[34] = { + 9, 27, 54, 68, 69, 67, 64, 74, 12, 50, 61, 61, 12, 69, 57, 67, 54, + 54, 1, 54, 63, 54, 67, 56, 74, 12, 51, 50, 61, 61, 68, 80, 1, 0, +}; +u16 D_8017DFE4[24] = { + 9, 48, 28, 24, 31, 76, 12, 1, 32, 69, 91, 68, 12, 72, 64, 67, 60, 58, 63, 56, 76, 1, 0, 0, +}; +u16 D_8017E014[14] = { + 9, 48, 54, 50, 57, 76, 12, 48, 54, 50, 57, 76, 1, 0, +}; +u16 D_8017E030[38] = { + 9, 43, 57, 54, 12, 68, 57, 58, 54, 61, 53, 12, 58, 68, 12, 56, 64, 63, 54, + 76, 1, 42, 57, 64, 64, 69, 12, 69, 57, 54, 12, 52, 64, 67, 54, 76, 1, 0, +}; +u16 D_8017E07C[44] = { + 9, 31, 64, 61, 53, 12, 64, 63, 76, 12, 46, 54, 91, 67, 54, 1, 54, 63, 69, 54, 67, 58, + 63, 56, 12, 45, 54, 63, 64, 62, 1, 50, 58, 67, 12, 68, 65, 50, 52, 54, 80, 1, 0, 0, +}; +u16 D_8017E0D4[38] = { + 9, 29, 58, 67, 54, 76, 12, 29, 58, 67, 54, 76, 1, 27, 64, 63, 91, 69, 12, + 61, 54, 69, 12, 69, 57, 54, 62, 1, 69, 57, 67, 64, 70, 56, 57, 76, 1, 0, +}; +u16 D_8017E120[42] = { + 9, 43, 57, 54, 74, 91, 71, 54, 12, 51, 67, 64, 60, 54, 63, 1, 69, 57, 67, 64, 70, + 56, 57, 12, 69, 57, 54, 12, 55, 58, 67, 68, 69, 12, 1, 61, 58, 63, 54, 76, 1, 0, +}; +u16 D_8017E174[36] = { + 9, 43, 57, 54, 74, 91, 67, 54, 12, 69, 57, 67, 64, 70, 56, 57, 1, 69, + 57, 54, 12, 68, 54, 52, 64, 63, 53, 12, 61, 58, 63, 54, 76, 1, 0, 0, +}; +u16 D_8017E1BC[24] = { + 9, 43, 57, 54, 68, 54, 12, 56, 70, 74, 68, 12, 50, 67, 54, 1, 52, 67, 50, 75, 74, 76, 1, 0, +}; +u16 D_8017E1EC[24] = { + 10, 27, 50, 63, 56, 76, 12, 27, 28, 39, 35, 38, 48, 1, 32, 43, 12, 37, 38, 46, 76, 1, 0, 0, +}; +u16 D_8017E21C[36] = { + 9, 43, 57, 54, 12, 61, 50, 68, 69, 12, 61, 58, 63, 54, 12, 57, 50, 68, + 1, 51, 54, 54, 63, 12, 51, 67, 54, 50, 52, 57, 54, 53, 76, 1, 0, 0, +}; +u16 D_8017E264[14] = { + 9, 24, 61, 61, 12, 67, 58, 56, 57, 69, 76, 1, 0, 0, +}; +u16 D_8017E280[36] = { + 9, 27, 64, 63, 91, 69, 12, 67, 54, 61, 50, 73, 80, 12, 46, 54, 91, 67, + 54, 1, 63, 64, 69, 12, 53, 64, 63, 54, 12, 74, 54, 69, 80, 1, 0, 0, +}; +u16 D_8017E2C8[40] = { + 9, 43, 58, 62, 54, 12, 69, 64, 12, 68, 57, 64, 72, 12, 69, 57, 54, 1, 62, 64, + 63, 60, 54, 74, 68, 12, 72, 57, 64, 91, 68, 12, 51, 64, 68, 68, 76, 1, 0, 0, +}; +u16 D_8017E318[42] = { + 9, 43, 57, 58, 68, 12, 51, 67, 58, 63, 56, 68, 12, 51, 50, 52, 60, 1, 62, 54, 62, + 64, 67, 58, 54, 68, 12, 64, 55, 12, 74, 64, 70, 67, 12, 1, 53, 50, 53, 80, 1, 0, +}; +u16 D_8017E36C[28] = { + 9, 48, 64, 70, 91, 61, 61, 12, 51, 54, 12, 68, 64, 67, 67, 74, 79, 12, 1, 65, 70, 63, 60, 68, 76, 1, 0, 0, +}; +u16 D_8017E3A4[32] = { + 9, 43, 57, 54, 68, 54, 12, 56, 70, 74, 68, 12, 59, 70, 68, 69, + 1, 60, 54, 54, 65, 12, 52, 64, 62, 58, 63, 56, 80, 1, 0, 0, +}; +u16 D_8017E3E4[24] = { + 9, 27, 64, 63, 91, 69, 12, 56, 64, 12, 53, 74, 58, 63, 91, 1, 64, 63, 12, 62, 54, 76, 1, 0, +}; +u16 D_8017E414[22] = { + 9, 32, 91, 61, 61, 12, 69, 50, 60, 54, 12, 69, 57, 54, 12, 61, 54, 55, 69, 80, 1, 0, +}; +u16 D_8017E440[22] = { + 9, 32, 91, 71, 54, 12, 56, 64, 69, 12, 69, 57, 54, 12, 67, 58, 56, 57, 69, 80, 1, 0, +}; +u16 D_8017E46C[28] = { + 10, 32, 91, 62, 12, 51, 54, 50, 69, 54, 63, 12, 70, 65, 1, 65, 67, 54, 69, 69, 74, 12, 51, 50, 53, 80, 1, 0, +}; +u16 D_8017E4A4[30] = { + 9, 33, 54, 54, 75, 12, 35, 50, 72, 54, 54, 75, 76, 1, 46, 57, 50, 69, 12, 58, 68, 12, 69, 57, 50, 69, 77, 76, 1, 0, +}; +u16 D_8017E4E0[36] = { + 9, 43, 57, 50, 69, 12, 69, 54, 62, 65, 61, 54, 12, 56, 58, 71, 54, 68, + 1, 62, 54, 12, 69, 57, 54, 12, 52, 67, 54, 54, 65, 68, 80, 1, 0, 0, +}; +u16 D_8017E528[38] = { + 9, 46, 57, 50, 69, 91, 68, 12, 56, 64, 58, 63, 56, 12, 64, 63, 77, 1, 31, + 54, 91, 68, 12, 67, 70, 63, 63, 58, 63, 91, 12, 50, 72, 50, 74, 76, 1, 0, +}; +u16 D_8017E574[14] = { + 9, 42, 69, 50, 74, 12, 50, 61, 54, 67, 69, 76, 1, 0, +}; +u16 D_8017E590[30] = { + 9, 27, 64, 63, 91, 69, 12, 56, 54, 69, 12, 69, 64, 64, 12, 1, 52, 61, 64, 68, 54, 79, 12, 29, 64, 73, 76, 76, 1, 0, +}; +u16 D_8017E5CC[32] = { + 9, 32, 69, 91, 68, 12, 50, 61, 61, 12, 52, 64, 62, 58, 63, 91, + 1, 53, 64, 72, 63, 12, 69, 64, 12, 69, 57, 58, 68, 80, 1, 0, +}; +u16 D_8017E60C[44] = { + 9, 32, 91, 71, 54, 12, 56, 64, 69, 12, 50, 12, 25, 24, 27, 1, 55, 54, 54, 61, 58, 63, + 56, 12, 50, 51, 64, 70, 69, 12, 69, 57, 58, 68, 79, 12, 1, 29, 64, 73, 80, 1, 0, 0, +}; +u16 D_8017E664[30] = { + 9, 32, 91, 61, 61, 12, 56, 64, 12, 58, 69, 12, 50, 61, 64, 63, 54, 1, 55, 67, 64, 62, 12, 57, 54, 67, 54, 80, 1, 0, +}; +u16 D_8017E6A0[8] = { + 9, 29, 64, 73, 76, 76, 1, 0, +}; +u16 D_8017E6B0[8] = { + 9, 29, 64, 73, 76, 76, 1, 0, +}; +u16 D_8017E6C0[8] = { + 9, 29, 64, 73, 76, 76, 1, 0, +}; +u16 D_8017E6D0[40] = { + 9, 32, 91, 71, 54, 12, 51, 54, 54, 63, 12, 72, 50, 58, 69, 58, 63, 56, 1, 55, + 64, 67, 12, 74, 64, 70, 79, 12, 42, 69, 50, 67, 12, 29, 64, 73, 80, 1, 0, 0, +}; +u16 D_8017E720[38] = { + 9, 48, 64, 70, 12, 60, 63, 64, 72, 12, 69, 57, 50, 69, 12, 32, 1, 52, 64, + 63, 69, 67, 64, 61, 12, 69, 57, 54, 12, 56, 50, 61, 50, 73, 74, 80, 1, 0, +}; +u16 D_8017E76C[36] = { + 9, 32, 69, 91, 68, 12, 55, 64, 64, 61, 58, 68, 57, 12, 69, 64, 12, 1, + 52, 64, 62, 54, 12, 50, 56, 50, 58, 63, 68, 69, 12, 62, 54, 80, 1, 0, +}; +u16 D_8017E7B4[38] = { + 9, 48, 64, 70, 12, 72, 58, 61, 61, 12, 53, 58, 54, 12, 59, 70, 68, 69, 1, + 61, 58, 60, 54, 12, 74, 64, 70, 67, 12, 55, 50, 69, 57, 54, 67, 80, 1, 0, +}; +u16 D_8017E800[22] = { + 9, 29, 64, 73, 76, 76, 12, 1, 24, 67, 54, 12, 74, 64, 70, 12, 38, 34, 77, 1, 0, 0, +}; +u16 D_8017E82C[22] = { + 9, 48, 28, 42, 76, 76, 12, 1, 48, 64, 70, 12, 53, 58, 53, 12, 58, 69, 76, 76, 1, 0, +}; +u16 D_8017E858[40] = { + 9, 38, 34, 79, 12, 32, 91, 61, 61, 12, 50, 53, 62, 58, 69, 12, 58, 69, 80, 1, + 48, 64, 70, 12, 53, 58, 53, 12, 56, 64, 64, 53, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_8017E8A8[30] = { + 9, 42, 65, 61, 58, 69, 12, 70, 65, 12, 50, 63, 53, 12, 69, 50, 60, 54, 1, 58, 69, 12, 69, 64, 12, 54, 62, 76, 1, 0, +}; +u16 D_8017E8E4[40] = { + 10, 46, 57, 74, 12, 50, 67, 54, 12, 68, 57, 58, 65, 68, 1, 52, 64, 62, 58, 63, + 56, 12, 64, 70, 69, 12, 64, 55, 12, 69, 57, 54, 1, 51, 50, 68, 54, 77, 1, 0, +}; +u16 D_8017E934[32] = { + 9, 42, 57, 64, 64, 69, 76, 12, 31, 54, 91, 68, 12, 67, 58, 56, + 57, 69, 1, 51, 54, 57, 58, 63, 53, 12, 62, 54, 76, 1, 0, 0, +}; +u16 D_8017E974[28] = { + 9, 29, 64, 73, 79, 12, 56, 54, 69, 12, 69, 57, 58, 68, 12, 56, 70, 74, 1, 64, 55, 55, 12, 62, 54, 76, 1, 0, +}; +u16 D_8017E9AC[40] = { + 9, 43, 50, 60, 54, 12, 52, 50, 67, 54, 12, 64, 55, 12, 69, 57, 54, 1, 56, 70, + 74, 12, 51, 54, 57, 58, 63, 53, 12, 62, 54, 79, 12, 1, 29, 64, 73, 76, 1, 0, +}; +u16 D_8017E9FC[28] = { + 9, 32, 12, 52, 50, 63, 91, 69, 12, 68, 57, 50, 60, 54, 12, 1, 69, 57, 58, 68, 12, 56, 70, 74, 76, 1, 0, 0, +}; +u16 D_8017EA34[42] = { + 9, 43, 57, 58, 68, 12, 58, 68, 12, 67, 54, 50, 61, 61, 74, 1, 68, 69, 50, 67, 69, + 58, 63, 56, 12, 69, 64, 12, 69, 58, 52, 60, 1, 62, 54, 12, 64, 55, 55, 76, 1, 0, +}; +u16 D_8017EA88[34] = { + 9, 46, 57, 50, 69, 91, 68, 12, 69, 50, 60, 58, 63, 56, 12, 74, 64, + 70, 1, 68, 64, 12, 61, 64, 63, 56, 79, 12, 29, 64, 73, 77, 1, 0, +}; +u16 D_8017EACC[18] = { + 9, 27, 50, 63, 56, 79, 12, 32, 91, 62, 12, 57, 58, 69, 76, 1, 0, 0, +}; +u16 D_8017EAF0[18] = { + 9, 24, 57, 57, 57, 76, 76, 12, 32, 91, 62, 12, 57, 58, 69, 76, 1, 0, +}; +u16 D_8017EB14[24] = { + 9, 42, 57, 64, 64, 69, 76, 12, 1, 43, 57, 54, 74, 12, 56, 64, 69, 12, 62, 54, 76, 1, 0, 0, +}; +u16 D_8017EB44[44] = { + 9, 30, 54, 54, 79, 12, 32, 91, 71, 54, 12, 51, 54, 54, 63, 12, 1, 68, 50, 71, 54, 53, + 12, 51, 74, 12, 29, 64, 73, 80, 1, 31, 64, 72, 12, 68, 72, 54, 61, 61, 80, 1, 0, 0, +}; +u16 D_8017EB9C[28] = { + 9, 31, 64, 64, 76, 12, 43, 57, 50, 69, 12, 72, 50, 68, 1, 43, 38, 38, 12, 52, 61, 64, 68, 54, 80, 1, 0, 0, +}; +u16 D_8017EBD4[40] = { + 9, 48, 64, 70, 67, 12, 55, 50, 69, 57, 54, 67, 12, 57, 54, 61, 65, 54, 53, 1, + 62, 54, 12, 61, 58, 60, 54, 12, 69, 57, 50, 69, 79, 12, 69, 64, 64, 80, 1, 0, +}; +u16 D_8017EC24[30] = { + 9, 43, 58, 62, 54, 12, 55, 64, 67, 12, 50, 12, 61, 58, 69, 69, 61, 54, 12, 1, 65, 50, 74, 51, 50, 52, 60, 76, 1, 0, +}; +u16 D_8017EC60[38] = { + 9, 48, 64, 70, 91, 67, 54, 12, 63, 64, 69, 12, 56, 54, 69, 69, 58, 63, 91, + 1, 50, 72, 50, 74, 12, 69, 57, 50, 69, 12, 54, 50, 68, 74, 76, 1, 0, 0, +}; +u16 D_8017ECAC[36] = { + 9, 32, 12, 72, 64, 63, 91, 69, 12, 61, 54, 69, 12, 74, 64, 70, 12, 56, + 54, 69, 1, 50, 72, 50, 74, 12, 55, 67, 64, 62, 12, 62, 54, 76, 1, 0, +}; +u16 D_8017ECF4[26] = { + 9, 48, 64, 70, 91, 67, 54, 12, 53, 54, 50, 53, 1, 62, 54, 50, 69, 79, 12, 65, 50, 61, 76, 1, 0, 0, +}; +u16 D_8017ED28[20] = { + 9, 32, 91, 71, 54, 12, 56, 64, 69, 12, 74, 64, 70, 12, 63, 64, 72, 76, 1, 0, +}; +u16 D_8017ED50[16] = { + 9, 48, 64, 70, 91, 67, 54, 12, 62, 58, 63, 54, 76, 1, 0, 0, +}; +u16 D_8017ED70[22] = { + 9, 42, 52, 67, 50, 69, 52, 57, 12, 64, 63, 54, 12, 51, 64, 56, 54, 74, 76, 1, 0, 0, +}; +u16 D_8017ED9C[14] = { + 9, 32, 12, 56, 64, 69, 12, 64, 63, 54, 76, 1, 0, 0, +}; +u16 D_8017EDB8[20] = { + 9, 43, 57, 54, 67, 54, 91, 68, 12, 64, 63, 54, 12, 53, 64, 72, 63, 76, 1, 0, +}; +u16 D_8017EDE0[36] = { + 10, 26, 50, 63, 91, 69, 12, 61, 54, 69, 12, 74, 64, 70, 12, 53, 64, 12, + 1, 69, 57, 50, 69, 79, 12, 42, 69, 50, 67, 12, 29, 64, 73, 76, 1, 0, +}; +u16 D_8017EE28[44] = { + 10, 24, 63, 53, 67, 64, 68, 68, 12, 57, 50, 68, 12, 64, 67, 53, 54, 67, 54, 53, 1, 70, + 68, 12, 69, 64, 12, 69, 50, 60, 54, 12, 74, 64, 70, 12, 53, 64, 72, 63, 80, 1, 0, 0, +}; +u16 D_8017EE80[46] = { + 10, 46, 54, 91, 67, 54, 12, 56, 54, 69, 69, 58, 63, 91, 12, 65, 50, 58, 53, 1, 50, 12, 61, + 64, 69, 12, 64, 55, 12, 52, 50, 68, 57, 12, 55, 64, 67, 12, 1, 69, 57, 58, 68, 80, 1, 0, +}; +u16 D_8017EEDC[28] = { + 10, 39, 54, 65, 65, 74, 76, 12, 35, 64, 63, 56, 12, 69, 58, 62, 54, 1, 63, 64, 12, 68, 54, 54, 76, 1, 0, 0, +}; +u16 D_8017EF14[30] = { + 10, 24, 63, 53, 67, 64, 68, 68, 91, 12, 54, 63, 54, 62, 74, 12, 58, 68, 1, 62, 74, 12, 54, 63, 54, 62, 74, 80, 1, 0, +}; +u16 D_8017EF50[40] = { + 9, 33, 70, 68, 69, 12, 72, 57, 50, 69, 12, 32, 12, 63, 54, 54, 53, 12, 1, 69, + 64, 12, 68, 54, 54, 80, 12, 42, 69, 50, 67, 12, 46, 64, 61, 55, 80, 1, 0, 0, +}; +u16 D_8017EFA0[40] = { + 10, 48, 64, 70, 91, 61, 61, 12, 51, 54, 12, 68, 54, 54, 58, 63, 56, 1, 74, 64, + 70, 67, 12, 53, 50, 53, 12, 68, 64, 64, 63, 79, 12, 1, 29, 64, 73, 76, 1, 0, +}; +u16 D_8017EFF0[44] = { + 9, 48, 64, 70, 91, 67, 54, 12, 58, 63, 12, 62, 74, 12, 1, 68, 58, 56, 57, 69, 68, 76, + 12, 48, 64, 70, 91, 67, 54, 1, 56, 64, 58, 63, 56, 12, 53, 64, 72, 63, 76, 1, 0, 0, +}; +u16 D_8017F048[36] = { + 9, 48, 64, 70, 91, 67, 54, 12, 63, 64, 69, 12, 50, 68, 12, 69, 64, 70, + 56, 57, 1, 50, 68, 12, 32, 12, 69, 57, 64, 70, 56, 57, 69, 80, 1, 0, +}; +u16 D_8017F090[34] = { + 9, 43, 57, 50, 69, 12, 67, 54, 72, 50, 67, 53, 91, 68, 12, 50, 68, + 1, 56, 64, 64, 53, 12, 50, 68, 12, 62, 58, 63, 54, 76, 1, 0, 0, +}; +u16 D_8017F0D4[32] = { + 9, 25, 64, 72, 12, 51, 54, 55, 64, 67, 54, 12, 69, 57, 54, 1, + 56, 67, 54, 50, 69, 12, 24, 63, 53, 67, 64, 68, 68, 76, 1, 0, +}; +u16 D_8017F114[24] = { + 9, 48, 64, 70, 91, 67, 54, 12, 63, 64, 69, 12, 68, 64, 12, 69, 64, 70, 56, 57, 76, 1, 0, 0, +}; +u16 D_8017F144[40] = { + 9, 24, 63, 63, 64, 74, 58, 63, 56, 12, 51, 58, 67, 53, 76, 12, 1, 32, 12, 50, + 62, 12, 69, 57, 54, 12, 56, 67, 54, 50, 69, 12, 35, 54, 64, 63, 76, 1, 0, 0, +}; +u16 D_8017F194[36] = { + 9, 32, 91, 61, 61, 12, 53, 64, 12, 74, 64, 70, 12, 55, 50, 68, 69, 79, + 1, 39, 54, 65, 65, 74, 12, 64, 61, 53, 12, 65, 50, 61, 80, 1, 0, 0, +}; +u16 D_8017F1DC[30] = { + 9, 42, 69, 58, 52, 60, 12, 69, 64, 12, 69, 57, 54, 12, 65, 64, 63, 53, 79, 1, 29, 67, 64, 56, 56, 58, 54, 80, 1, 0, +}; +u16 D_8017F218[42] = { + 9, 32, 12, 72, 58, 61, 61, 12, 63, 64, 69, 12, 51, 54, 1, 53, 54, 55, 54, 50, 69, + 54, 53, 12, 51, 74, 12, 69, 57, 58, 68, 12, 1, 69, 67, 50, 68, 57, 76, 1, 0, 0, +}; +u16 D_8017F26C[28] = { + 9, 42, 57, 64, 64, 69, 12, 62, 54, 12, 53, 64, 72, 63, 1, 58, 55, 12, 74, 64, 70, 12, 52, 50, 63, 76, 1, 0, +}; +u16 D_8017F2A4[34] = { + 9, 26, 64, 62, 54, 12, 64, 63, 79, 12, 61, 58, 69, 69, 61, 54, 12, + 62, 50, 63, 76, 1, 42, 57, 64, 64, 69, 12, 62, 54, 76, 1, 0, 0, +}; +u16 D_8017F2E8[26] = { + 9, 32, 91, 62, 12, 63, 64, 69, 12, 50, 55, 67, 50, 58, 53, 12, 64, 55, 12, 1, 48, 38, 44, 76, 1, 0, +}; +u16 D_8017F31C[20] = { + 9, 32, 80, 80, 80, 52, 50, 63, 91, 69, 80, 80, 80, 61, 64, 68, 54, 76, 1, 0, +}; +u16 D_8017F344[28] = { + 9, 43, 57, 58, 68, 12, 52, 50, 63, 91, 69, 12, 51, 54, 1, 57, 50, 65, 65, 54, 63, 58, 63, 56, 76, 1, 0, 0, +}; +u16 D_8017F37C[38] = { + 9, 36, 74, 12, 51, 54, 50, 70, 69, 58, 55, 70, 61, 12, 67, 54, 72, 50, 67, + 53, 76, 1, 24, 50, 50, 67, 67, 67, 56, 56, 56, 57, 57, 57, 76, 1, 0, 0, +}; +u16 D_8017F3C8[18] = { + 9, 44, 63, 52, 61, 54, 12, 24, 63, 53, 67, 64, 68, 68, 76, 1, 0, 0, +}; +u16 D_8017F3EC[18] = { + 9, 46, 57, 50, 69, 12, 69, 57, 54, 12, 57, 54, 52, 60, 77, 76, 1, 0, +}; +u16 D_8017F410[40] = { + 10, 24, 12, 51, 64, 62, 51, 12, 57, 50, 68, 12, 51, 54, 54, 63, 1, 65, 61, 50, + 63, 69, 54, 53, 12, 50, 69, 12, 69, 57, 54, 12, 51, 50, 68, 54, 80, 1, 0, 0, +}; +u16 D_8017F460[36] = { + 10, 30, 54, 54, 75, 76, 12, 26, 50, 63, 12, 50, 63, 74, 64, 63, 54, 1, + 69, 50, 60, 54, 12, 52, 50, 67, 54, 12, 64, 55, 12, 58, 69, 77, 1, 0, +}; +u16 D_8017F4A8[40] = { + 10, 35, 54, 69, 91, 68, 12, 69, 50, 60, 54, 12, 52, 50, 67, 54, 12, 64, 55, 1, + 69, 57, 54, 68, 54, 12, 56, 70, 74, 68, 12, 55, 58, 67, 68, 69, 80, 1, 0, 0, +}; +u16 D_8017F4F8[36] = { + 10, 27, 50, 63, 56, 54, 67, 80, 12, 38, 63, 54, 12, 62, 58, 63, 70, 69, + 54, 1, 69, 64, 12, 54, 73, 65, 61, 64, 68, 58, 64, 63, 80, 1, 0, 0, +}; +u16 D_8017F540[28] = { + 10, 84, 81, 12, 68, 54, 52, 64, 63, 53, 68, 12, 69, 64, 1, 54, 73, 65, 61, 64, 68, 58, 64, 63, 80, 1, 0, 0, +}; +u16 D_8017F578[28] = { + 10, 82, 86, 12, 68, 54, 52, 64, 63, 53, 68, 12, 69, 64, 1, 54, 73, 65, 61, 64, 68, 58, 64, 63, 80, 1, 0, 0, +}; +u16 D_8017F5B0[30] = { + 10, 25, 64, 62, 51, 12, 54, 73, 65, 61, 64, 53, 58, 63, 56, 80, 1, 34, 54, 54, 65, 12, 52, 61, 54, 50, 67, 80, 1, 0, +}; +u16 D_8017F5EC[34] = { + 10, 32, 91, 61, 61, 12, 69, 50, 60, 54, 12, 52, 50, 67, 54, 12, 64, + 55, 1, 69, 57, 54, 12, 51, 64, 62, 51, 12, 63, 64, 72, 80, 1, 0, +}; +u16 D_8017F630[42] = { + 9, 28, 62, 54, 67, 56, 54, 63, 52, 74, 1, 62, 50, 63, 54, 70, 71, 54, 67, 68, 76, + 12, 1, 30, 54, 69, 12, 64, 70, 69, 12, 64, 55, 12, 69, 57, 54, 67, 54, 76, 1, 0, +}; +u16 D_8017F684[22] = { + 9, 43, 57, 54, 74, 12, 50, 61, 62, 64, 68, 69, 12, 56, 64, 69, 12, 70, 68, 76, 1, 0, +}; +u16 D_8017F6B0[38] = { + 9, 32, 91, 62, 12, 63, 64, 69, 12, 69, 64, 64, 12, 52, 67, 50, 75, 74, 1, + 50, 51, 64, 70, 69, 12, 69, 57, 64, 68, 54, 12, 56, 70, 74, 68, 80, 1, 0, +}; +u16 D_8017F6FC[24] = { + 9, 42, 64, 12, 69, 57, 50, 69, 91, 68, 12, 42, 69, 50, 67, 12, 46, 64, 61, 55, 77, 1, 0, 0, +}; +u16 D_8017F72C[20] = { + 9, 31, 54, 74, 79, 12, 72, 54, 12, 62, 50, 53, 54, 12, 58, 69, 76, 1, 0, 0, +}; +u16 D_8017F754[22] = { + 9, 29, 64, 73, 79, 12, 69, 50, 60, 54, 12, 58, 69, 12, 54, 50, 68, 74, 76, 1, 0, 0, +}; +u16 D_8017F780[30] = { + 9, 43, 57, 50, 69, 12, 72, 50, 68, 12, 50, 12, 52, 61, 64, 68, 54, 1, 52, 50, 61, 61, 79, 12, 29, 64, 73, 76, 1, 0, +}; +u16 D_8017F7BC[38] = { + 9, 35, 64, 64, 60, 68, 12, 61, 58, 60, 54, 12, 72, 54, 12, 72, 58, 63, 1, + 69, 64, 53, 50, 74, 79, 12, 42, 69, 50, 67, 12, 29, 64, 73, 80, 1, 0, 0, +}; +u16 D_8017F808[30] = { + 9, 26, 61, 64, 68, 54, 79, 12, 51, 70, 69, 12, 63, 64, 12, 52, 58, 56, 50, 67, 76, 1, 31, 24, 12, 31, 24, 76, 1, 0, +}; +u16 D_8017F844[40] = { + 9, 32, 91, 71, 54, 12, 56, 64, 69, 12, 69, 72, 64, 12, 72, 64, 67, 53, 68, 1, + 55, 64, 67, 12, 74, 64, 70, 94, 12, 35, 38, 78, 42, 28, 41, 76, 76, 76, 1, 0, +}; +u16 D_8017F894[26] = { + 9, 42, 52, 64, 67, 54, 12, 64, 63, 54, 12, 55, 64, 67, 12, 1, 24, 63, 53, 67, 64, 68, 68, 76, 1, 0, +}; +u16 D_8017F8C8[22] = { + 10, 32, 12, 56, 64, 69, 12, 69, 57, 54, 12, 61, 50, 68, 69, 12, 64, 63, 54, 76, 1, 0, +}; +u16 D_8017F8F4[22] = { + 10, 32, 12, 56, 64, 69, 12, 69, 57, 54, 12, 61, 50, 68, 69, 12, 64, 63, 54, 76, 1, 0, +}; +u16 D_8017F920[22] = { + 10, 32, 12, 56, 64, 69, 12, 69, 57, 54, 12, 61, 50, 68, 69, 12, 64, 63, 54, 76, 1, 0, +}; +u16 D_8017F94C[38] = { + 9, 34, 54, 54, 65, 12, 50, 63, 12, 54, 74, 54, 12, 64, 63, 12, 74, 64, 70, + 67, 12, 1, 68, 57, 58, 54, 61, 53, 12, 56, 50, 70, 56, 54, 80, 1, 0, 0, +}; +u16 D_8017F998[32] = { + 9, 43, 57, 54, 12, 24, 67, 72, 58, 63, 56, 12, 62, 58, 56, 57, + 69, 1, 63, 64, 69, 12, 62, 50, 60, 54, 12, 58, 69, 76, 1, 0, +}; +u16 D_8017F9D8[20] = { + 9, 25, 67, 50, 52, 54, 12, 74, 64, 70, 67, 68, 54, 61, 71, 54, 68, 76, 1, 0, +}; +u16 D_8017FA00[20] = { + 9, 42, 57, 64, 64, 69, 12, 69, 57, 54, 12, 67, 64, 52, 60, 68, 76, 1, 0, 0, +}; +u16 D_8017FA28[54] = { + 9, 43, 57, 58, 68, 12, 51, 50, 51, 74, 12, 52, 50, 63, 12, 69, 50, 60, 54, 1, 69, 54, 62, 65, 54, 67, 50, + 69, 70, 67, 54, 68, 12, 70, 65, 12, 69, 64, 1, 90, 81, 81, 81, 12, 53, 54, 56, 67, 54, 54, 68, 80, 1, 0, +}; +u16 D_8017FA94[36] = { + 9, 43, 54, 62, 65, 54, 67, 50, 69, 70, 67, 54, 12, 58, 68, 1, 87, 81, + 81, 81, 12, 50, 63, 53, 12, 52, 61, 58, 62, 51, 58, 63, 56, 76, 1, 0, +}; +u16 D_8017FADC[28] = { + 9, 32, 69, 91, 68, 12, 63, 64, 72, 12, 50, 69, 12, 89, 81, 81, 81, 76, 12, 1, 38, 57, 12, 63, 64, 76, 1, 0, +}; +u16 D_8017FB14[44] = { + 10, 35, 64, 64, 60, 68, 12, 61, 58, 60, 54, 12, 74, 64, 70, 12, 1, 52, 64, 70, 61, 53, + 12, 70, 68, 54, 12, 68, 64, 62, 54, 1, 57, 54, 61, 65, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_8017FB6C[10] = { + 10, 25, 58, 61, 61, 77, 76, 1, 0, 0, +}; +u16 D_8017FB80[38] = { + 9, 27, 64, 63, 91, 69, 12, 56, 54, 69, 12, 69, 64, 64, 1, 54, 73, 52, 58, + 69, 54, 53, 80, 12, 31, 54, 67, 54, 12, 72, 54, 12, 56, 64, 76, 1, 0, 0, +}; +u16 D_8017FBCC[26] = { + 10, 46, 50, 69, 52, 57, 12, 74, 64, 70, 67, 68, 54, 61, 55, 79, 1, 29, 64, 73, 80, 80, 80, 1, 0, 0, +}; +u16 D_8017FC00[32] = { + 9, 43, 57, 54, 74, 91, 67, 54, 12, 50, 69, 69, 50, 52, 60, 58, + 63, 56, 12, 1, 58, 63, 12, 56, 67, 64, 70, 65, 68, 76, 1, 0, +}; +u16 D_8017FC40[36] = { + 9, 43, 31, 32, 42, 12, 58, 68, 12, 69, 57, 54, 12, 54, 63, 54, 62, 74, + 91, 68, 1, 51, 58, 64, 78, 72, 54, 50, 65, 64, 63, 77, 76, 1, 0, 0, +}; +u16 D_8017FC88[30] = { + 9, 24, 63, 53, 67, 64, 68, 68, 12, 58, 68, 12, 50, 63, 1, 58, 63, 68, 50, 63, 54, 12, 55, 64, 64, 61, 76, 1, 0, 0, +}; +u16 D_8017FCC4[38] = { + 9, 36, 50, 74, 51, 54, 12, 58, 69, 91, 68, 12, 50, 63, 12, 50, 67, 62, 80, + 1, 24, 58, 62, 12, 55, 64, 67, 12, 69, 57, 54, 12, 50, 67, 62, 76, 1, 0, +}; +u16 D_8017FD10[32] = { + 9, 32, 12, 50, 58, 63, 91, 69, 12, 74, 64, 70, 67, 12, 51, 70, + 53, 53, 74, 76, 1, 30, 64, 12, 50, 72, 50, 74, 76, 1, 0, 0, +}; +u16 D_8017FD50[38] = { + 9, 30, 64, 64, 53, 12, 67, 58, 53, 53, 50, 63, 52, 54, 80, 12, 32, 1, 50, + 61, 62, 64, 68, 69, 12, 56, 64, 69, 12, 51, 70, 67, 63, 54, 53, 76, 1, 0, +}; +u16 D_8017FD9C[42] = { + 9, 32, 69, 91, 68, 12, 69, 64, 64, 12, 57, 64, 69, 76, 12, 32, 12, 1, 52, 50, 63, + 91, 69, 12, 69, 50, 60, 54, 12, 58, 69, 1, 50, 63, 74, 62, 64, 67, 54, 76, 1, 0, +}; +u16 D_8017FDF0[48] = { + 9, 27, 64, 63, 91, 69, 12, 55, 61, 74, 12, 69, 64, 64, 12, 61, 64, 72, 76, 1, 48, 64, 70, 67, + 12, 68, 57, 58, 65, 12, 52, 50, 63, 91, 69, 12, 1, 69, 50, 60, 54, 12, 58, 69, 76, 1, 0, 0, +}; +u16 D_8017FE50[34] = { + 9, 38, 34, 12, 56, 70, 74, 68, 79, 12, 53, 54, 68, 69, 67, 64, 74, + 1, 50, 61, 61, 12, 51, 50, 67, 67, 58, 54, 67, 68, 80, 1, 0, 0, +}; +u16 D_8017FE94[34] = { + 9, 24, 58, 62, 12, 55, 64, 67, 12, 69, 57, 54, 12, 68, 58, 73, 1, + 54, 63, 54, 67, 56, 74, 12, 69, 64, 72, 54, 67, 68, 80, 1, 0, 0, +}; +u16 D_8017FED8[24] = { + 9, 32, 91, 61, 61, 12, 52, 64, 71, 54, 67, 12, 74, 64, 70, 79, 12, 1, 29, 64, 73, 80, 1, 0, +}; +u16 D_8017FF08[24] = { + 9, 48, 64, 70, 67, 12, 52, 50, 67, 52, 50, 68, 68, 12, 58, 68, 1, 62, 58, 63, 54, 76, 1, 0, +}; +u16 D_8017FF38[42] = { + 10, 31, 54, 74, 76, 12, 43, 57, 54, 12, 55, 64, 67, 52, 54, 12, 1, 55, 58, 54, 61, + 53, 12, 58, 68, 12, 1, 53, 58, 68, 50, 65, 65, 54, 50, 67, 58, 63, 56, 76, 1, 0, +}; +u16 D_8017FF8C[32] = { + 9, 35, 64, 64, 60, 68, 12, 61, 58, 60, 54, 12, 72, 54, 91, 71, + 54, 1, 56, 64, 69, 12, 52, 64, 62, 65, 50, 63, 74, 80, 1, 0, +}; +u16 D_8017FFCC[26] = { + 10, 39, 61, 50, 74, 12, 69, 58, 62, 54, 12, 58, 68, 12, 64, 71, 54, 67, 79, 1, 42, 69, 50, 67, 12, 29, +}; +u16 D_8018000C[42] = { + 10, 32, 12, 69, 57, 58, 63, 60, 12, 32, 91, 61, 61, 12, 1, 69, 64, 67, 69, 70, 67, + 54, 12, 74, 64, 70, 12, 55, 64, 67, 12, 1, 50, 72, 57, 58, 61, 54, 76, 1, 0, 0, +}; +u16 D_80180060[44] = { + 10, 27, 50, 53, 53, 74, 12, 68, 52, 67, 54, 50, 62, 54, 53, 1, 41, 28, 24, 35, 12, 56, + 64, 64, 53, 12, 51, 54, 55, 64, 67, 54, 1, 57, 54, 12, 53, 58, 54, 53, 76, 1, 0, 0, +}; +u16 D_801800B8[34] = { + 10, 48, 64, 70, 91, 61, 61, 12, 51, 54, 12, 68, 64, 67, 67, 74, 1, + 74, 64, 70, 12, 52, 67, 64, 68, 68, 54, 53, 12, 70, 68, 76, 1, 0, +}; +u16 D_801800FC[30] = { + 10, 30, 64, 64, 53, 80, 12, 32, 12, 68, 54, 54, 12, 69, 57, 54, 1, 54, 63, 54, 62, 74, 12, 52, 64, 67, 54, 80, 1, 0, +}; +u16 D_80180138[32] = { + 10, 27, 54, 68, 69, 67, 64, 74, 12, 69, 57, 54, 1, 68, 50, 69, + 54, 61, 61, 58, 69, 54, 91, 68, 12, 52, 64, 67, 54, 76, 1, 0, +}; +u16 D_80180178[24] = { + 9, 45, 54, 63, 64, 62, 79, 12, 57, 54, 67, 54, 12, 72, 54, 12, 52, 64, 62, 54, 80, 1, 0, 0, +}; +u16 D_801801A8[34] = { + 9, 43, 57, 64, 68, 54, 12, 68, 57, 58, 65, 68, 12, 50, 67, 54, 1, + 68, 57, 58, 54, 61, 53, 54, 53, 79, 12, 69, 64, 64, 76, 1, 0, 0, +}; +u16 D_801801EC[38] = { + 9, 48, 64, 70, 12, 50, 67, 54, 12, 37, 38, 43, 12, 69, 50, 60, 58, 63, 56, + 1, 57, 58, 62, 12, 53, 64, 72, 63, 12, 69, 64, 53, 50, 74, 80, 1, 0, 0, +}; +u16 D_80180238[32] = { + 9, 46, 57, 50, 69, 91, 68, 12, 69, 50, 60, 58, 63, 56, 12, 68, + 64, 12, 1, 61, 64, 63, 56, 79, 12, 29, 64, 73, 77, 1, 0, 0, +}; +u16 D_80180278[22] = { + 9, 43, 57, 54, 74, 12, 53, 64, 63, 91, 69, 12, 56, 58, 71, 54, 12, 70, 65, 80, 1, 0, +}; +u16 D_801802A4[30] = { + 9, 42, 69, 50, 67, 12, 46, 64, 61, 55, 12, 50, 56, 50, 58, 63, 77, 76, 1, 46, 57, 74, 12, 63, 64, 72, 77, 1, 0, 0, +}; +u16 D_801802E0[30] = { + 9, 35, 54, 69, 91, 68, 12, 51, 50, 52, 60, 12, 70, 65, 1, 69, 57, 54, 12, 68, 66, 70, 50, 53, 67, 64, 63, 80, 1, 0, +}; +u16 D_8018031C[38] = { + 9, 42, 64, 62, 54, 51, 64, 53, 74, 91, 68, 12, 56, 64, 63, 63, 50, 1, 65, + 50, 74, 12, 55, 64, 67, 12, 50, 61, 61, 12, 69, 57, 58, 68, 80, 1, 0, 0, +}; +u16 D_80180368[32] = { + 9, 27, 64, 63, 91, 69, 12, 61, 54, 69, 12, 50, 63, 74, 12, 64, + 55, 1, 91, 54, 62, 12, 69, 57, 67, 64, 70, 56, 57, 76, 1, 0, +}; +u16 D_801803A8[44] = { + 9, 42, 64, 62, 54, 69, 57, 58, 63, 56, 91, 68, 12, 72, 67, 64, 63, 56, 80, 1, 32, 12, + 53, 64, 63, 91, 69, 12, 68, 54, 54, 12, 1, 50, 63, 74, 69, 57, 58, 63, 56, 80, 1, 0, +}; +u16 D_80180400[44] = { + 9, 31, 64, 61, 53, 12, 91, 54, 62, 76, 12, 43, 57, 54, 74, 91, 67, 54, 1, 69, 67, 74, + 58, 63, 56, 12, 69, 64, 12, 56, 54, 69, 12, 1, 69, 57, 67, 64, 70, 56, 57, 76, 1, 0, +}; +u16 D_80180458[42] = { + 10, 29, 64, 73, 79, 12, 74, 64, 70, 91, 67, 54, 12, 1, 68, 70, 65, 65, 64, 68, 54, + 53, 12, 69, 64, 1, 68, 57, 64, 64, 69, 12, 91, 54, 62, 12, 50, 61, 61, 76, 1, 0, +}; +u16 D_801804AC[32] = { + 10, 30, 64, 64, 53, 12, 59, 64, 51, 76, 12, 1, 34, 54, 54, 65, + 12, 70, 65, 12, 69, 57, 54, 12, 65, 50, 52, 54, 76, 1, 0, 0, +}; +u16 D_801804EC[32] = { + 9, 32, 68, 12, 69, 57, 50, 69, 12, 69, 57, 54, 12, 51, 54, 68, + 69, 1, 74, 64, 70, 12, 52, 50, 63, 12, 53, 64, 77, 1, 0, 0, +}; +u16 D_8018052C[34] = { + 10, 48, 64, 70, 91, 67, 54, 12, 51, 54, 52, 64, 62, 58, 63, 56, 12, + 50, 1, 51, 54, 69, 69, 54, 67, 12, 65, 58, 61, 64, 69, 80, 1, 0, +}; +u16 D_80180570[38] = { + 9, 42, 70, 67, 65, 67, 58, 68, 54, 12, 50, 69, 69, 50, 52, 60, 1, 52, 64, + 62, 58, 63, 56, 12, 55, 67, 64, 62, 12, 50, 51, 64, 71, 54, 76, 1, 0, 0, +}; +u16 D_801805BC[38] = { + 9, 32, 91, 61, 61, 12, 69, 50, 60, 54, 12, 52, 50, 67, 54, 12, 64, 55, 1, + 54, 71, 54, 67, 74, 69, 57, 58, 63, 56, 12, 51, 54, 61, 64, 72, 80, 1, 0, +}; +u16 D_80180608[30] = { + 9, 32, 91, 71, 54, 12, 56, 64, 69, 12, 54, 71, 54, 67, 74, 69, 57, 58, 63, 56, 1, 50, 51, 64, 71, 54, 80, 1, 0, 0, +}; +u16 D_80180644[46] = { + 9, 24, 57, 12, 57, 50, 76, 12, 43, 57, 64, 70, 56, 57, 69, 12, 74, 64, 70, 1, 52, 64, 70, + 61, 53, 12, 57, 58, 53, 54, 12, 55, 67, 64, 62, 12, 62, 54, 79, 12, 1, 54, 57, 77, 1, 0, +}; +u16 D_801806A0[30] = { + 9, 28, 68, 52, 50, 65, 58, 63, 56, 77, 12, 32, 12, 53, 64, 63, 91, 69, 1, 69, 57, 58, 63, 60, 12, 68, 64, 76, 1, 0, +}; +u16 D_801806DC[24] = { + 9, 31, 54, 74, 76, 12, 1, 35, 54, 50, 71, 54, 12, 62, 54, 12, 50, 61, 64, 63, 54, 76, 1, 0, +}; +u16 D_8018070C[32] = { + 9, 43, 50, 60, 54, 12, 91, 54, 62, 12, 53, 64, 72, 63, 12, 72, + 58, 69, 57, 12, 1, 64, 63, 54, 12, 68, 57, 64, 69, 76, 1, 0, +}; +u16 D_8018074C[28] = { + 9, 31, 54, 91, 68, 12, 66, 70, 58, 52, 60, 76, 12, 1, 25, 54, 12, 52, 50, 67, 54, 55, 70, 61, 80, 1, 0, 0, +}; +u16 D_80180784[42] = { + 9, 42, 64, 62, 54, 69, 57, 58, 63, 56, 91, 68, 12, 70, 65, 1, 50, 57, 54, 50, 53, + 80, 12, 35, 64, 64, 60, 68, 1, 53, 58, 55, 55, 54, 67, 54, 63, 69, 80, 1, 0, 0, +}; +u16 D_801807D8[28] = { + 9, 30, 54, 54, 75, 79, 12, 66, 70, 58, 69, 12, 62, 64, 71, 58, 63, 56, 1, 50, 67, 64, 70, 63, 53, 76, 1, 0, +}; +u16 D_80180810[34] = { + 9, 46, 50, 69, 52, 57, 12, 69, 57, 54, 12, 67, 50, 53, 50, 67, 1, + 52, 50, 67, 54, 55, 70, 61, 61, 74, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_80180854[24] = { + 9, 43, 57, 54, 68, 54, 12, 56, 70, 74, 68, 12, 50, 67, 54, 1, 69, 64, 70, 56, 57, 76, 1, 0, +}; +u16 D_80180884[36] = { + 9, 30, 64, 64, 53, 12, 59, 64, 51, 80, 12, 34, 54, 54, 65, 12, 70, 65, + 1, 69, 57, 54, 12, 56, 64, 64, 53, 12, 72, 64, 67, 60, 80, 1, 0, 0, +}; +u16 D_801808CC[26] = { + 9, 27, 64, 63, 91, 69, 12, 65, 50, 67, 69, 74, 12, 59, 70, 68, 69, 12, 1, 74, 54, 69, 80, 1, 0, 0, +}; +u16 D_80180900[36] = { + 9, 32, 69, 91, 68, 12, 69, 58, 62, 54, 12, 69, 64, 12, 69, 67, 74, 1, + 64, 70, 67, 12, 63, 54, 72, 12, 72, 54, 50, 65, 64, 63, 80, 1, 0, 0, +}; +u16 D_80180948[28] = { + 9, 46, 57, 50, 69, 91, 68, 12, 72, 67, 64, 63, 56, 77, 1, 32, 68, 12, 69, 57, 50, 69, 12, 58, 69, 77, 1, 0, +}; +u16 D_80180980[22] = { + 9, 32, 91, 62, 12, 52, 64, 62, 58, 63, 91, 12, 55, 64, 67, 12, 74, 50, 76, 1, 0, 0, +}; +u16 D_801809AC[40] = { + 9, 32, 91, 61, 61, 12, 69, 50, 60, 54, 12, 74, 64, 70, 12, 56, 70, 74, 68, 1, + 64, 70, 69, 12, 55, 67, 64, 62, 12, 69, 57, 54, 12, 68, 57, 58, 65, 76, 1, 0, +}; +u16 D_801809FC[24] = { + 9, 26, 64, 52, 60, 74, 12, 61, 58, 69, 69, 61, 54, 12, 55, 67, 54, 50, 60, 68, 76, 1, 0, 0, +}; +u16 D_80180A2C[18] = { + 10, 24, 50, 50, 50, 50, 57, 57, 57, 57, 57, 76, 76, 76, 76, 1, 0, 0, +}; +u16 D_80180A50[38] = { + 10, 46, 54, 91, 67, 54, 12, 57, 54, 50, 53, 58, 63, 91, 12, 55, 64, 67, 1, + 24, 66, 70, 50, 68, 80, 12, 41, 54, 65, 64, 67, 69, 12, 58, 63, 80, 1, 0, +}; +u16 D_80180A9C[40] = { + 9, 32, 91, 62, 12, 56, 64, 63, 63, 50, 12, 52, 57, 54, 52, 60, 12, 64, 70, 69, + 12, 1, 69, 57, 54, 12, 51, 58, 64, 78, 72, 54, 50, 65, 64, 63, 80, 1, 0, 0, +}; +u16 D_80180AEC[38] = { + 9, 32, 91, 62, 12, 68, 54, 63, 53, 58, 63, 56, 12, 69, 57, 54, 12, 1, 53, + 50, 69, 50, 12, 69, 64, 12, 74, 64, 70, 12, 56, 70, 74, 68, 80, 1, 0, 0, +}; +u16 D_80180B38[42] = { + 9, 35, 64, 64, 60, 68, 12, 61, 58, 60, 54, 12, 69, 57, 54, 1, 65, 64, 61, 61, 70, + 69, 58, 64, 63, 12, 57, 50, 68, 12, 1, 68, 69, 50, 67, 69, 54, 53, 80, 1, 0, 0, +}; +u16 D_80180B8C[16] = { + 9, 32, 69, 91, 68, 12, 50, 72, 55, 70, 61, 80, 80, 80, 1, 0, +}; +u16 D_80180BAC[30] = { + 9, 31, 64, 72, 91, 68, 12, 69, 57, 54, 1, 25, 61, 70, 54, 78, 36, 50, 67, 58, 63, 54, 79, 12, 29, 64, 73, 77, 1, 0, +}; +u16 D_80180BE8[40] = { + 9, 32, 69, 91, 68, 12, 50, 12, 56, 64, 64, 53, 12, 69, 57, 58, 63, 56, 1, 74, + 64, 70, 12, 65, 67, 54, 65, 50, 67, 54, 53, 79, 12, 42, 61, 58, 65, 80, 1, 0, +}; +u16 D_80180C38[40] = { + 9, 43, 57, 58, 68, 12, 69, 57, 58, 63, 56, 12, 72, 58, 61, 61, 12, 1, 63, 54, + 71, 54, 67, 12, 57, 64, 61, 53, 12, 69, 64, 56, 54, 69, 57, 54, 67, 80, 1, 0, +}; +u16 D_80180C88[48] = { + 9, 34, 54, 54, 65, 12, 68, 57, 64, 64, 69, 58, 63, 56, 80, 1, 46, 54, 91, 71, 54, 12, 56, 64, + 69, 12, 61, 64, 69, 68, 12, 64, 55, 12, 1, 69, 64, 67, 65, 54, 53, 64, 54, 68, 76, 1, 0, 0, +}; +u16 D_80180CE8[28] = { + 9, 48, 64, 70, 91, 67, 54, 12, 69, 57, 54, 12, 51, 54, 68, 69, 79, 1, 42, 61, 58, 65, 65, 74, 76, 1, 0, 0, +}; +u16 D_80180D20[18] = { + 9, 43, 57, 50, 63, 60, 68, 79, 12, 39, 54, 65, 65, 74, 76, 1, 0, 0, +}; +u16 D_80180D44[30] = { + 9, 32, 91, 71, 54, 12, 55, 64, 70, 63, 53, 12, 69, 57, 54, 1, 51, 58, 64, 78, 72, 54, 50, 65, 64, 63, 80, 1, 0, 0, +}; +u16 D_80180D80[28] = { + 9, 24, 58, 62, 12, 55, 64, 67, 12, 69, 57, 54, 12, 69, 72, 64, 1, 52, 64, 61, 70, 62, 63, 68, 80, 1, 0, 0, +}; +u16 D_80180DB8[26] = { + 9, 29, 58, 67, 54, 12, 50, 12, 57, 64, 62, 58, 63, 56, 1, 69, 64, 67, 65, 54, 53, 64, 76, 1, 0, 0, +}; +u16 D_80180DEC[18] = { + 9, 43, 57, 50, 69, 91, 68, 12, 58, 69, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_80180E10[20] = { + 9, 30, 64, 12, 55, 64, 67, 12, 69, 57, 54, 12, 54, 74, 54, 68, 76, 1, 0, 0, +}; +u16 D_80180E38[28] = { + 9, 46, 54, 91, 67, 54, 12, 65, 67, 54, 65, 50, 67, 58, 63, 56, 1, 69, 64, 12, 53, 64, 52, 60, 80, 1, 0, 0, +}; +u16 D_80180E70[42] = { + 9, 42, 61, 58, 65, 65, 74, 91, 68, 12, 63, 64, 69, 12, 68, 70, 52, 57, 12, 50, 1, + 68, 52, 67, 54, 72, 12, 70, 65, 12, 50, 55, 69, 54, 67, 12, 50, 61, 61, 80, 1, 0, +}; +u16 D_80180EC4[24] = { + 9, 43, 57, 50, 63, 60, 68, 12, 50, 12, 61, 64, 69, 79, 12, 39, 54, 65, 65, 74, 76, 1, 0, 0, +}; +u16 D_80180EF4[30] = { + 9, 32, 91, 61, 61, 12, 69, 50, 60, 54, 12, 69, 57, 54, 12, 68, 60, 74, 12, 1, 50, 63, 74, 12, 53, 50, 74, 80, 1, 0, +}; +u16 D_80180F30[28] = { + 9, 42, 57, 54, 54, 68, 57, 79, 12, 29, 50, 61, 52, 64, 76, 1, 48, 64, 70, 79, 12, 69, 64, 64, 77, 1, 0, 0, +}; +u16 D_80180F68[36] = { + 9, 42, 57, 64, 64, 69, 12, 50, 12, 69, 64, 67, 65, 54, 53, 64, 12, 69, + 64, 12, 1, 57, 54, 61, 65, 12, 74, 64, 70, 12, 68, 54, 54, 80, 1, 0, +}; +u16 D_80180FB0[38] = { + 9, 46, 64, 72, 76, 12, 35, 64, 64, 60, 12, 50, 69, 12, 69, 57, 50, 69, 76, + 1, 32, 69, 91, 68, 12, 51, 54, 50, 70, 69, 58, 55, 70, 61, 76, 1, 0, 0, +}; +u16 D_80180FFC[24] = { + 9, 48, 58, 65, 65, 54, 54, 76, 12, 1, 48, 64, 70, 12, 53, 58, 53, 12, 58, 69, 76, 1, 0, 0, +}; +u16 D_8018102C[42] = { + 9, 43, 57, 50, 63, 60, 68, 79, 12, 42, 61, 58, 65, 80, 1, 25, 61, 70, 54, 78, 36, + 50, 67, 58, 63, 54, 1, 52, 50, 62, 54, 12, 69, 57, 67, 64, 70, 56, 57, 80, 1, 0, +}; +u16 D_80181080[24] = { + 28, 63, 54, 62, 74, 12, 51, 54, 57, 58, 63, 53, 80, 1, 27, 54, 68, 52, 54, 63, 53, 76, 1, 0, +}; +u16 D_801810B0[36] = { + 9, 28, 63, 54, 62, 74, 12, 50, 65, 65, 67, 64, 50, 52, 57, 58, 63, 56, + 1, 55, 67, 64, 62, 12, 69, 57, 54, 12, 61, 54, 55, 69, 80, 1, 0, 0, +}; +u16 D_801810F8[30] = { + 9, 46, 54, 91, 61, 61, 12, 56, 61, 50, 53, 61, 74, 12, 69, 50, 60, 54, 1, 69, 57, 58, 68, 12, 64, 63, 54, 80, 1, 0, +}; +u16 D_80181134[16] = { + 9, 37, 58, 52, 54, 12, 72, 54, 61, 52, 64, 62, 54, 76, 1, 0, +}; +u16 D_80181154[36] = { + 9, 32, 91, 62, 12, 57, 54, 50, 53, 58, 63, 56, 12, 55, 64, 67, 12, 69, + 57, 54, 1, 62, 58, 68, 68, 58, 61, 54, 12, 63, 64, 72, 80, 1, 0, 0, +}; +u16 D_8018119C[30] = { + 9, 32, 91, 62, 12, 56, 64, 58, 63, 56, 12, 55, 64, 67, 12, 69, 57, 54, 1, 62, 58, 68, 68, 58, 61, 54, 80, 1, 0, 0, +}; +u16 D_801811D8[36] = { + 9, 32, 91, 62, 12, 57, 54, 50, 53, 58, 63, 56, 12, 55, 64, 67, 12, 69, + 57, 54, 12, 1, 62, 58, 68, 68, 58, 61, 54, 12, 63, 64, 72, 80, 1, 0, +}; +u16 D_80181220[38] = { + 10, 42, 58, 73, 12, 62, 58, 68, 68, 58, 61, 54, 68, 12, 52, 64, 62, 58, 63, + 56, 1, 55, 67, 64, 62, 12, 69, 57, 54, 12, 61, 54, 55, 69, 80, 1, 0, 0, +}; +u16 D_8018126C[40] = { + 10, 36, 58, 68, 68, 58, 61, 54, 12, 64, 63, 54, 12, 58, 68, 1, 57, 54, 50, 53, + 58, 63, 56, 12, 55, 64, 67, 1, 30, 67, 54, 50, 69, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_801812BC[18] = { + 10, 31, 54, 67, 54, 12, 58, 69, 12, 52, 64, 62, 54, 68, 76, 1, 0, 0, +}; +u16 D_801812E0[36] = { + 10, 36, 58, 68, 68, 58, 61, 54, 12, 50, 65, 65, 67, 64, 50, 52, 57, 58, + 63, 56, 80, 1, 27, 58, 68, 69, 50, 63, 52, 54, 12, 86, 81, 80, 1, 0, +}; +u16 D_80181328[36] = { + 10, 36, 58, 68, 68, 58, 61, 54, 12, 50, 65, 65, 67, 64, 50, 52, 57, 58, + 63, 56, 80, 1, 27, 58, 68, 69, 50, 63, 52, 54, 12, 83, 81, 80, 1, 0, +}; +u16 D_80181370[32] = { + 10, 27, 58, 68, 69, 50, 63, 52, 54, 12, 82, 81, 80, 1, 44, 63, + 50, 51, 61, 54, 12, 69, 64, 12, 54, 71, 50, 53, 54, 80, 1, 0, +}; +u16 D_801813B0[32] = { + 10, 36, 58, 68, 68, 58, 61, 54, 68, 12, 83, 12, 50, 63, 53, 12, + 84, 1, 50, 65, 65, 67, 64, 50, 52, 57, 58, 63, 56, 76, 1, 0, +}; +u16 D_801813F0[36] = { + 10, 36, 58, 68, 68, 58, 61, 54, 68, 12, 85, 79, 12, 86, 12, 50, 63, 53, + 12, 87, 12, 1, 50, 65, 65, 67, 64, 50, 52, 57, 58, 63, 56, 76, 1, 0, +}; +u16 D_80181438[34] = { + 10, 24, 67, 54, 12, 74, 64, 70, 12, 56, 64, 63, 63, 50, 12, 57, 64, + 56, 1, 50, 61, 61, 12, 69, 57, 54, 12, 55, 70, 63, 77, 1, 0, 0, +}; +u16 D_8018147C[44] = { + 10, 34, 50, 69, 69, 77, 76, 12, 26, 50, 63, 91, 69, 12, 74, 64, 70, 12, 56, 64, 1, 51, + 64, 69, 57, 54, 67, 12, 68, 64, 62, 54, 64, 63, 54, 12, 54, 61, 68, 54, 77, 1, 0, 0, +}; +u16 D_801814D4[24] = { + 9, 35, 54, 69, 12, 62, 54, 12, 57, 54, 61, 65, 12, 74, 64, 70, 12, 64, 70, 69, 80, 1, 0, 0, +}; +u16 D_80181504[22] = { + 9, 36, 50, 60, 54, 12, 72, 50, 74, 12, 55, 64, 67, 12, 34, 50, 69, 69, 76, 1, 0, 0, +}; +u16 D_80181530[42] = { + 9, 25, 54, 50, 70, 69, 58, 55, 70, 61, 76, 12, 32, 12, 52, 64, 70, 61, 53, 12, 1, + 60, 58, 68, 68, 12, 74, 64, 70, 12, 55, 64, 67, 12, 69, 57, 50, 69, 76, 1, 0, 0, +}; +u16 D_80181584[22] = { + 9, 48, 64, 70, 12, 64, 72, 54, 12, 62, 54, 79, 12, 29, 50, 61, 52, 64, 80, 1, 0, 0, +}; +u16 D_801815B0[46] = { + 9, 48, 64, 70, 91, 67, 54, 12, 64, 63, 12, 74, 64, 70, 67, 12, 64, 72, 63, 80, 1, 30, 64, + 64, 53, 12, 61, 70, 52, 60, 79, 12, 61, 58, 69, 69, 61, 54, 12, 1, 62, 50, 63, 80, 1, 0, +}; +u16 D_8018160C[24] = { + 9, 43, 64, 64, 12, 51, 50, 53, 79, 12, 61, 58, 69, 69, 61, 54, 12, 62, 50, 63, 80, 1, 0, 0, +}; +u16 D_8018163C[20] = { + 9, 38, 63, 54, 12, 62, 58, 68, 68, 58, 61, 54, 12, 53, 64, 72, 63, 80, 1, 0, +}; +u16 D_80181664[26] = { + 9, 38, 63, 54, 12, 62, 58, 68, 68, 58, 61, 54, 12, 1, 53, 54, 68, 69, 67, 64, 74, 54, 53, 80, 1, 0, +}; +u16 D_80181698[24] = { + 9, 42, 52, 67, 50, 69, 52, 57, 12, 64, 63, 54, 12, 62, 58, 68, 68, 58, 61, 54, 80, 1, 0, 0, +}; +u16 D_801816C8[38] = { + 9, 32, 12, 69, 64, 64, 60, 12, 52, 50, 67, 54, 12, 64, 55, 12, 50, 1, 62, + 58, 68, 68, 58, 61, 54, 12, 55, 64, 67, 12, 74, 50, 80, 1, 12, 1, 0, 0, +}; +u16 D_80181714[26] = { + 9, 41, 38, 25, 79, 12, 58, 68, 1, 54, 71, 54, 67, 74, 69, 57, 58, 63, 56, 12, 38, 34, 77, 1, 0, 0, +}; +u16 D_80181748[44] = { + 9, 27, 50, 62, 50, 56, 54, 12, 69, 64, 12, 67, 54, 50, 67, 12, 61, 54, 55, 69, 1, 68, + 54, 52, 69, 58, 64, 63, 12, 64, 55, 12, 69, 57, 54, 12, 68, 57, 58, 65, 80, 1, 0, 0, +}; +u16 D_801817A0[30] = { + 9, 27, 50, 63, 56, 79, 12, 63, 64, 72, 12, 69, 57, 54, 74, 91, 71, 54, 1, 53, 64, 63, 54, 12, 58, 69, 76, 1, 0, 0, +}; +u16 D_801817DC[42] = { + 9, 32, 69, 12, 52, 64, 70, 61, 53, 12, 51, 54, 1, 53, 58, 55, 55, 58, 52, 70, 61, + 69, 12, 69, 64, 12, 50, 69, 69, 50, 52, 60, 1, 45, 54, 63, 64, 62, 80, 1, 0, 0, +}; +u16 D_80181830[14] = { + 9, 27, 64, 56, 56, 64, 63, 54, 12, 58, 69, 76, 1, 0, +}; +u16 D_8018184C[20] = { + 9, 30, 67, 54, 50, 69, 12, 29, 64, 73, 12, 58, 68, 12, 38, 34, 80, 1, 0, 0, +}; +u16 D_80181874[26] = { + 9, 43, 57, 50, 69, 12, 72, 50, 68, 12, 50, 12, 52, 61, 64, 68, 54, 12, 1, 52, 50, 61, 61, 80, 1, 0, +}; +u16 D_801818A8[38] = { + 9, 46, 54, 91, 71, 54, 12, 56, 64, 69, 12, 69, 57, 54, 12, 51, 50, 53, 1, + 56, 70, 74, 68, 12, 64, 63, 12, 69, 57, 54, 12, 67, 70, 63, 80, 1, 0, 0, +}; +u16 D_801818F4[30] = { + 9, 27, 64, 63, 91, 69, 12, 72, 64, 67, 67, 74, 80, 1, 42, 61, 58, 65, 65, 74, 91, 68, 12, 57, 54, 67, 54, 76, 1, 0, +}; +u16 D_80181930[40] = { + 9, 32, 12, 68, 65, 64, 69, 12, 69, 57, 54, 12, 69, 67, 50, 58, 63, 80, 1, 32, + 91, 62, 12, 69, 50, 60, 58, 63, 91, 12, 58, 69, 12, 64, 70, 69, 76, 1, 0, 0, +}; +u16 D_80181980[40] = { + 9, 31, 54, 74, 79, 12, 32, 91, 71, 54, 12, 56, 64, 69, 12, 62, 74, 1, 57, 50, + 63, 53, 68, 12, 55, 70, 61, 61, 12, 70, 65, 12, 57, 54, 67, 54, 80, 1, 0, 0, +}; +u16 D_801819D0[42] = { + 9, 27, 64, 63, 91, 69, 12, 61, 54, 69, 12, 91, 54, 62, 12, 56, 54, 69, 1, 69, 64, + 12, 69, 57, 54, 12, 68, 70, 65, 65, 61, 74, 12, 53, 54, 65, 64, 69, 76, 1, 0, 0, +}; +u16 D_80181A24[46] = { + 10, 32, 12, 68, 54, 54, 12, 69, 57, 54, 12, 55, 70, 54, 61, 12, 1, 51, 70, 63, 60, 54, 67, + 12, 64, 63, 12, 69, 57, 54, 12, 1, 67, 58, 56, 57, 69, 12, 68, 58, 53, 54, 80, 1, 0, 0, +}; +u16 D_80181A80[28] = { + 10, 26, 57, 50, 63, 56, 54, 12, 69, 57, 54, 12, 68, 72, 58, 69, 52, 57, 1, 50, 57, 54, 50, 53, 80, 1, 0, 0, +}; +u16 D_80181AB8[42] = { + 10, 42, 57, 64, 64, 69, 12, 69, 57, 54, 12, 89, 12, 1, 68, 72, 58, 69, 52, 57, 54, + 68, 12, 69, 64, 12, 64, 65, 54, 63, 1, 69, 57, 54, 12, 61, 64, 52, 60, 80, 1, 0, +}; +u16 D_80181B0C[42] = { + 10, 42, 69, 50, 67, 69, 58, 63, 91, 12, 72, 58, 69, 57, 64, 70, 69, 1, 62, 54, 77, + 12, 25, 64, 74, 68, 79, 12, 32, 91, 62, 1, 52, 67, 70, 68, 57, 54, 53, 80, 1, 0, +}; +u16 D_80181B60[26] = { + 10, 34, 50, 69, 69, 77, 76, 12, 1, 37, 64, 69, 12, 74, 64, 70, 12, 50, 56, 50, 58, 63, 80, 1, 0, 0, +}; +u16 D_80181B94[48] = { + 9, 32, 91, 71, 54, 12, 56, 64, 69, 12, 69, 57, 54, 12, 61, 54, 55, 69, 80, 1, 48, 64, 70, 12, + 69, 50, 60, 54, 12, 69, 57, 54, 12, 67, 58, 56, 57, 69, 79, 12, 1, 57, 64, 63, 80, 1, 0, 0, +}; +u16 D_80181BF4[30] = { + 10, 38, 34, 76, 12, 37, 64, 72, 12, 68, 57, 64, 64, 69, 1, 69, 57, 54, 12, 68, 72, 58, 69, 52, 57, 54, 67, 80, 1, 0, +}; +u16 D_80181C30[20] = { + 9, 30, 64, 64, 53, 12, 56, 64, 58, 63, 56, 79, 12, 29, 64, 73, 80, 1, 0, 0, +}; +u16 D_80181C58[46] = { + 9, 46, 54, 61, 61, 79, 12, 50, 69, 12, 61, 54, 50, 68, 69, 12, 72, 54, 1, 52, 50, 63, 12, + 69, 50, 60, 54, 12, 69, 57, 58, 68, 12, 51, 64, 68, 68, 12, 1, 64, 70, 69, 80, 1, 0, 0, +}; +u16 D_80181CB4[46] = { + 9, 48, 64, 70, 91, 67, 54, 12, 65, 67, 54, 69, 69, 74, 12, 56, 64, 64, 53, 79, 1, 69, 58, + 56, 54, 67, 80, 12, 42, 54, 54, 12, 74, 64, 70, 12, 1, 50, 56, 50, 58, 63, 76, 1, 0, 0, +}; +u16 D_80181D10[34] = { + 9, 32, 91, 62, 12, 68, 70, 67, 54, 12, 72, 54, 12, 57, 70, 67, 69, + 1, 91, 54, 62, 12, 69, 57, 58, 68, 12, 69, 58, 62, 54, 80, 1, 0, +}; +u16 D_80181D54[40] = { + 9, 37, 64, 72, 12, 58, 69, 91, 68, 12, 64, 70, 67, 12, 69, 70, 67, 63, 1, 69, + 64, 12, 60, 58, 52, 60, 12, 68, 64, 62, 54, 12, 69, 50, 58, 61, 76, 1, 0, 0, +}; +u16 D_80181DA4[46] = { + 9, 32, 12, 52, 50, 63, 12, 68, 54, 54, 12, 69, 57, 54, 12, 61, 64, 64, 60, 1, 64, 63, 12, + 69, 57, 54, 58, 67, 12, 68, 69, 70, 65, 58, 53, 12, 1, 55, 50, 52, 54, 68, 76, 1, 0, 0, +}; +u16 D_80181E00[38] = { + 10, 32, 91, 62, 12, 64, 70, 69, 69, 50, 12, 57, 54, 67, 54, 80, 12, 1, 43, + 50, 60, 54, 12, 52, 50, 67, 54, 79, 12, 29, 50, 61, 52, 64, 80, 1, 0, 0, +}; +u16 D_80181E4C[38] = { + 9, 31, 54, 67, 54, 12, 52, 64, 62, 54, 12, 69, 57, 54, 12, 1, 61, 58, 69, + 69, 61, 54, 12, 57, 74, 54, 63, 50, 68, 79, 12, 63, 64, 72, 76, 1, 0, 0, +}; +u16 D_80181E98[34] = { + 9, 27, 50, 63, 56, 76, 12, 27, 54, 69, 50, 52, 57, 12, 69, 57, 54, + 1, 67, 54, 50, 67, 12, 71, 54, 57, 58, 52, 61, 54, 80, 1, 0, 0, +}; +u16 D_80181EDC[38] = { + 9, 46, 57, 50, 69, 91, 68, 12, 72, 67, 64, 63, 56, 77, 12, 26, 64, 62, 54, + 1, 50, 12, 61, 58, 69, 69, 61, 54, 12, 52, 61, 64, 68, 54, 67, 76, 1, 0, +}; +u16 D_80181F28[14] = { + 9, 31, 54, 67, 54, 12, 74, 50, 12, 56, 64, 76, 1, 0, +}; +u16 D_80181F44[36] = { + 9, 43, 57, 54, 74, 91, 67, 54, 12, 63, 64, 69, 12, 69, 50, 60, 58, 63, + 56, 1, 62, 54, 12, 68, 54, 67, 58, 64, 70, 68, 61, 74, 80, 1, 0, 0, +}; +u16 D_80181F8C[38] = { + 9, 32, 91, 61, 61, 12, 61, 70, 67, 54, 12, 69, 57, 54, 68, 54, 12, 1, 56, + 70, 74, 68, 12, 69, 64, 12, 69, 57, 54, 12, 55, 67, 64, 63, 69, 80, 1, 0, +}; +u16 D_80181FD8[40] = { + 9, 32, 12, 53, 58, 53, 63, 91, 69, 12, 54, 73, 65, 54, 52, 69, 12, 69, 64, 1, + 57, 50, 71, 54, 12, 69, 64, 12, 70, 68, 54, 12, 69, 57, 58, 68, 76, 1, 0, 0, +}; +u16 D_80182028[22] = { + 9, 48, 64, 70, 91, 67, 54, 12, 71, 54, 67, 74, 12, 61, 70, 52, 60, 74, 80, 1, 0, 0, +}; +u16 D_80182054[12] = { + 9, 30, 72, 50, 50, 50, 76, 76, 76, 1, 0, 0, +}; +u16 D_8018206C[18] = { + 10, 37, 64, 76, 76, 1, 30, 54, 69, 12, 50, 72, 50, 74, 76, 76, 1, 0, +}; +u16 D_80182090[32] = { + 9, 31, 54, 57, 12, 57, 54, 57, 12, 57, 54, 57, 80, 80, 80, 1, + 72, 57, 50, 69, 91, 68, 12, 72, 67, 64, 63, 56, 77, 1, 0, 0, +}; +u16 D_801820D0[12] = { + 9, 43, 67, 74, 12, 69, 57, 58, 68, 76, 1, 0, +}; +u16 D_801820E8[26] = { + 9, 37, 38, 76, 12, 1, 31, 58, 69, 12, 69, 57, 54, 12, 51, 67, 50, 60, 54, 68, 76, 76, 76, 1, 0, 0, +}; +u16 D_8018211C[20] = { + 9, 32, 12, 52, 50, 63, 91, 69, 12, 42, 43, 38, 39, 12, 32, 43, 76, 1, 0, 0, +}; +u16 D_80182144[20] = { + 9, 42, 69, 54, 65, 12, 64, 63, 12, 69, 57, 54, 12, 56, 50, 68, 76, 1, 0, 0, +}; +u16 D_8018216C[30] = { + 9, 31, 64, 72, 91, 68, 12, 69, 57, 54, 12, 1, 35, 50, 63, 53, 62, 50, 68, 69, 54, 67, 79, 12, 29, 64, 73, 77, 1, 0, +}; +u16 D_801821A8[38] = { + 10, 48, 64, 70, 91, 67, 54, 12, 69, 64, 64, 12, 68, 61, 64, 72, 80, 1, 43, + 58, 62, 54, 12, 69, 64, 12, 54, 63, 53, 12, 69, 57, 58, 68, 76, 1, 0, 0, +}; +u16 D_801821F4[14] = { + 9, 43, 50, 60, 54, 12, 69, 57, 58, 68, 76, 1, 0, 0, +}; +u16 D_80182210[38] = { + 9, 31, 50, 63, 56, 12, 64, 63, 79, 12, 56, 70, 74, 68, 80, 1, 31, 54, 61, + 65, 12, 58, 68, 12, 64, 63, 12, 69, 57, 54, 12, 72, 50, 74, 76, 1, 0, 0, +}; +u16 D_8018225C[20] = { + 9, 29, 64, 73, 76, 12, 48, 64, 70, 12, 62, 50, 53, 54, 12, 58, 69, 76, 1, 0, +}; +u16 D_80182284[42] = { + 9, 25, 58, 61, 61, 77, 76, 12, 32, 68, 12, 69, 57, 50, 69, 12, 74, 64, 70, 77, 1, + 32, 12, 52, 50, 63, 91, 69, 12, 51, 54, 61, 58, 54, 71, 54, 12, 58, 69, 76, 1, 0, +}; +u16 D_801822D8[30] = { + 9, 46, 54, 12, 52, 50, 63, 12, 52, 50, 69, 52, 57, 12, 70, 65, 1, 61, 50, 69, 54, 67, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_80182314[44] = { + 9, 31, 50, 67, 53, 12, 69, 64, 12, 69, 54, 61, 61, 12, 69, 57, 54, 1, 56, 64, 64, 53, + 12, 56, 70, 74, 68, 12, 55, 67, 64, 62, 12, 69, 57, 54, 12, 1, 51, 50, 53, 76, 1, 0, +}; +u16 D_8018236C[34] = { + 9, 43, 67, 74, 12, 68, 57, 64, 64, 69, 58, 63, 56, 12, 69, 57, 54, + 1, 51, 50, 53, 12, 56, 70, 74, 68, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_801823B0[28] = { + 9, 29, 64, 73, 79, 12, 69, 57, 50, 69, 91, 68, 12, 64, 63, 54, 12, 64, 55, 12, 1, 64, 70, 67, 68, 76, 1, 0, +}; +u16 D_801823E8[30] = { + 9, 31, 70, 68, 60, 74, 12, 70, 63, 58, 69, 79, 1, 52, 64, 71, 54, 67, 12, 69, 57, 54, 12, 51, 50, 68, 54, 76, 1, 0, +}; +u16 D_80182424[48] = { + 9, 25, 70, 61, 61, 53, 64, 56, 12, 70, 63, 58, 69, 79, 12, 53, 64, 63, 91, 69, 12, 12, 12, 1, + 61, 54, 69, 12, 50, 63, 74, 69, 57, 58, 63, 56, 12, 1, 69, 57, 67, 64, 70, 56, 57, 76, 1, 0, +}; +u16 D_80182484[20] = { + 9, 24, 61, 61, 12, 70, 63, 58, 69, 68, 12, 67, 54, 65, 64, 67, 69, 76, 1, 0, +}; +u16 D_801824AC[44] = { + 9, 36, 50, 63, 79, 12, 69, 57, 54, 67, 54, 91, 68, 12, 59, 70, 68, 69, 12, 1, 63, 64, + 12, 54, 63, 53, 12, 69, 64, 12, 69, 57, 54, 68, 54, 12, 1, 56, 70, 74, 68, 76, 1, 0, +}; +u16 D_80182504[32] = { + 10, 28, 63, 54, 62, 74, 12, 62, 64, 69, 57, 54, 67, 68, 57, 58, + 65, 1, 50, 65, 65, 67, 64, 50, 52, 57, 58, 63, 56, 80, 1, 0, +}; +u16 D_80182544[32] = { + 9, 48, 64, 70, 91, 71, 54, 12, 51, 54, 52, 64, 62, 54, 12, 66, + 70, 58, 69, 54, 12, 1, 50, 12, 65, 58, 61, 64, 69, 80, 1, 0, +}; +u16 D_80182584[18] = { + 9, 31, 54, 67, 54, 12, 69, 57, 54, 74, 12, 52, 64, 62, 54, 76, 1, 0, +}; +u16 D_801825A8[44] = { + 10, 30, 64, 12, 55, 64, 67, 12, 69, 57, 54, 12, 85, 12, 1, 57, 50, 69, 52, 57, 54, 68, + 12, 64, 63, 12, 69, 57, 54, 12, 1, 70, 63, 53, 54, 67, 68, 58, 53, 54, 76, 1, 0, 0, +}; +u16 D_80182600[24] = { + 10, 43, 57, 54, 12, 57, 50, 69, 52, 57, 54, 68, 12, 50, 67, 54, 1, 64, 65, 54, 63, 76, 1, 0, +}; +u16 D_80182630[40] = { + 9, 43, 57, 54, 67, 54, 91, 68, 12, 68, 64, 62, 54, 12, 68, 64, 67, 69, 1, 64, + 55, 12, 54, 63, 54, 67, 56, 74, 12, 67, 54, 50, 52, 69, 58, 64, 63, 76, 1, 0, +}; +u16 D_80182680[48] = { + 10, 43, 57, 54, 12, 52, 64, 67, 54, 12, 57, 50, 68, 12, 1, 50, 65, 65, 54, 50, 67, 54, 53, 76, + 12, 42, 69, 50, 63, 53, 12, 51, 74, 12, 1, 69, 64, 12, 50, 69, 69, 50, 52, 60, 76, 1, 0, 0, +}; +u16 D_801826E0[36] = { + 10, 31, 70, 67, 67, 74, 12, 70, 65, 12, 50, 63, 53, 12, 69, 50, 60, 54, + 12, 1, 64, 70, 69, 12, 69, 57, 50, 69, 12, 52, 64, 67, 54, 76, 1, 0, +}; +u16 D_80182728[38] = { + 9, 43, 57, 54, 67, 54, 91, 68, 12, 63, 64, 69, 12, 62, 70, 52, 57, 12, 1, + 69, 58, 62, 54, 12, 61, 54, 55, 69, 76, 12, 31, 70, 67, 67, 74, 76, 1, 0, +}; +u16 D_80182774[26] = { + 10, 48, 54, 54, 12, 57, 50, 50, 50, 50, 76, 1, 48, 64, 70, 12, 53, 58, 53, 12, 58, 69, 76, 1, 0, 0, +}; +u16 D_801827A8[30] = { + 9, 29, 64, 73, 79, 12, 56, 54, 69, 12, 64, 70, 69, 12, 64, 55, 12, 1, 57, 54, 67, 54, 12, 37, 38, 46, 76, 1, 0, 0, +}; +u16 D_801827E4[32] = { + 9, 80, 80, 80, 24, 61, 61, 12, 50, 58, 67, 52, 67, 50, 55, 69, + 79, 1, 51, 67, 54, 50, 60, 12, 50, 72, 50, 74, 76, 1, 0, 0, +}; +u16 D_80182824[16] = { + 9, 27, 50, 63, 56, 80, 80, 80, 80, 80, 80, 80, 80, 1, 0, 0, +}; +u16 D_80182844[28] = { + 9, 27, 64, 63, 91, 69, 12, 56, 54, 69, 12, 68, 64, 12, 53, 64, 72, 63, 79, 12, 1, 29, 64, 73, 80, 1, 0, 0, +}; +u16 D_8018287C[18] = { + 9, 43, 50, 60, 54, 12, 52, 50, 67, 54, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_801828A0[20] = { + 9, 48, 64, 70, 79, 12, 69, 64, 64, 80, 80, 80, 80, 25, 58, 61, 61, 80, 1, 0, +}; +u16 D_801828C8[42] = { + 9, 32, 91, 62, 12, 56, 61, 50, 53, 12, 72, 54, 91, 67, 54, 12, 64, 63, 12, 1, 69, + 57, 54, 12, 68, 50, 62, 54, 12, 69, 54, 50, 62, 79, 12, 29, 64, 73, 80, 1, 0, 0, +}; +u16 D_8018291C[18] = { + 9, 48, 64, 70, 12, 64, 72, 54, 12, 62, 54, 12, 64, 63, 54, 80, 1, 0, +}; +u16 D_80182940[32] = { + 10, 33, 70, 68, 69, 12, 61, 58, 60, 54, 12, 64, 61, 53, 12, 69, + 58, 62, 54, 68, 79, 1, 54, 57, 12, 29, 64, 73, 77, 1, 0, 0, +}; +u16 D_80182980[28] = { + 10, 42, 69, 58, 52, 60, 12, 50, 67, 64, 70, 63, 53, 12, 55, 64, 67, 12, 1, 50, 72, 57, 58, 61, 54, 80, 1, 0, +}; +u16 D_801829B8[34] = { + 10, 31, 54, 67, 54, 91, 68, 12, 68, 64, 62, 54, 69, 57, 58, 63, 56, + 12, 1, 55, 64, 67, 12, 74, 50, 79, 12, 29, 64, 73, 80, 1, 0, 0, +}; +u16 D_801829FC[46] = { + 9, 28, 63, 54, 62, 74, 12, 53, 64, 72, 63, 80, 80, 80, 80, 1, 46, 50, 58, 69, 79, 12, 69, + 57, 50, 69, 12, 72, 50, 68, 12, 64, 63, 54, 1, 64, 55, 12, 64, 70, 67, 68, 76, 1, 0, 0, +}; +u16 D_80182A58[30] = { + 9, 42, 50, 74, 12, 74, 64, 70, 67, 12, 65, 67, 50, 74, 54, 67, 68, 79, 1, 24, 63, 53, 67, 64, 68, 68, 76, 1, 0, 0, +}; +u16 D_80182A94[14] = { + 9, 31, 70, 57, 77, 12, 46, 57, 50, 69, 77, 76, 1, 0, +}; +u16 D_80182AB0[34] = { + 9, 27, 64, 63, 91, 69, 12, 56, 54, 69, 12, 69, 64, 64, 12, 52, 64, + 52, 60, 74, 79, 12, 1, 42, 69, 50, 67, 12, 29, 64, 73, 76, 1, 0, +}; +u16 D_80182AF4[44] = { + 9, 35, 54, 69, 91, 68, 12, 68, 54, 54, 12, 57, 64, 72, 12, 74, 64, 70, 1, 57, 50, 63, + 53, 61, 54, 12, 64, 70, 67, 12, 63, 54, 72, 12, 1, 68, 57, 58, 65, 68, 76, 1, 0, 0, +}; +u16 D_80182B4C[42] = { + 9, 43, 64, 64, 12, 51, 50, 53, 12, 53, 50, 53, 91, 68, 12, 63, 64, 69, 12, 1, 57, + 54, 67, 54, 12, 69, 64, 12, 68, 54, 54, 12, 74, 50, 12, 29, 24, 32, 35, 76, 1, 0, +}; +u16 D_80182BA0[44] = { + 9, 46, 54, 91, 61, 61, 12, 62, 50, 60, 54, 12, 68, 70, 67, 54, 1, 74, 64, 70, 12, 63, + 54, 71, 54, 67, 12, 67, 54, 50, 52, 57, 12, 1, 24, 63, 53, 67, 64, 68, 68, 76, 1, 0, +}; +u16 D_80182BF8[42] = { + 10, 46, 54, 91, 61, 61, 12, 59, 70, 68, 69, 12, 68, 54, 54, 12, 1, 50, 51, 64, 70, + 69, 12, 69, 57, 50, 69, 79, 1, 42, 69, 50, 67, 12, 46, 64, 61, 55, 80, 1, 0, 0, +}; +u16 D_80182C4C[26] = { + 10, 48, 64, 70, 12, 56, 70, 74, 68, 12, 53, 64, 63, 91, 69, 1, 56, 58, 71, 54, 12, 70, 65, 80, 1, 0, +}; +u16 D_80182C80[32] = { + 10, 37, 64, 72, 12, 74, 64, 70, 12, 72, 58, 61, 61, 12, 55, 54, + 54, 61, 12, 1, 43, 41, 44, 28, 12, 65, 50, 58, 63, 76, 1, 0, +}; +u16 D_80182CC0[42] = { + 10, 38, 63, 61, 74, 12, 32, 12, 57, 50, 71, 54, 12, 69, 57, 54, 12, 1, 51, 67, 50, + 58, 63, 68, 12, 69, 64, 12, 67, 70, 61, 54, 12, 1, 35, 74, 61, 50, 69, 76, 1, 0, +}; +u16 D_80182D14[42] = { + 10, 32, 55, 12, 32, 12, 56, 64, 12, 53, 64, 72, 63, 79, 12, 32, 91, 62, 12, 1, 69, + 50, 60, 58, 63, 56, 12, 74, 64, 70, 12, 72, 58, 69, 57, 12, 62, 54, 76, 1, 0, 0, +}; +u16 D_80182D68[18] = { + 10, 29, 64, 61, 61, 64, 72, 12, 62, 54, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_80182D8C[12] = { + 10, 29, 50, 69, 57, 54, 67, 77, 76, 1, 0, 0, +}; +u16 D_80182DA4[18] = { + 10, 43, 57, 58, 68, 12, 72, 50, 74, 79, 12, 29, 64, 73, 80, 1, 0, 0, +}; +u16 D_80182DC8[40] = { + 10, 37, 54, 71, 54, 67, 12, 56, 58, 71, 54, 12, 70, 65, 80, 1, 43, 67, 70, 68, + 69, 12, 74, 64, 70, 67, 1, 58, 63, 68, 69, 58, 63, 52, 69, 68, 80, 1, 0, 0, +}; +u16 D_80182E18[32] = { + 10, 48, 64, 70, 91, 71, 54, 12, 51, 54, 52, 64, 62, 54, 12, 68, + 64, 1, 68, 69, 67, 64, 63, 56, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_80182E58[18] = { + 9, 29, 64, 73, 76, 12, 48, 64, 70, 91, 67, 54, 12, 38, 34, 76, 1, 0, +}; +u16 D_80182E7C[18] = { + 9, 46, 50, 74, 12, 69, 64, 12, 56, 64, 79, 12, 29, 64, 73, 76, 1, 0, +}; +u16 D_80182EA0[22] = { + 9, 43, 57, 50, 69, 91, 68, 12, 64, 70, 67, 12, 61, 54, 50, 53, 54, 67, 76, 1, 0, 0, +}; +u16 D_80182ECC[22] = { + 9, 46, 57, 50, 69, 91, 68, 12, 72, 67, 64, 63, 56, 79, 12, 29, 64, 73, 77, 1, 0, 0, +}; +u16 D_80182EF8[30] = { + 9, 37, 64, 69, 57, 58, 63, 56, 80, 80, 80, 1, 37, 64, 69, 57, 58, 63, 56, 91, 68, 12, 72, 67, 64, 63, 56, 80, 1, 0, +}; +u16 D_80182F34[32] = { + 9, 46, 57, 50, 69, 77, 76, 12, 32, 68, 12, 69, 57, 50, 69, 12, + 50, 61, 61, 12, 1, 74, 64, 70, 12, 56, 64, 69, 77, 1, 0, 0, +}; +u16 D_80182F74[26] = { + 9, 32, 91, 61, 61, 12, 69, 50, 60, 54, 12, 52, 50, 67, 54, 12, 64, 55, 12, 1, 74, 64, 70, 76, 1, 0, +}; +u16 D_80182FA8[36] = { + 9, 32, 91, 62, 12, 56, 64, 63, 63, 50, 12, 51, 70, 68, 69, 12, 74, 64, + 70, 12, 1, 70, 65, 12, 41, 28, 24, 35, 12, 56, 64, 64, 53, 76, 1, 0, +}; +u16 D_80182FF0[28] = { + 9, 48, 64, 70, 91, 67, 54, 12, 63, 64, 69, 12, 72, 54, 61, 52, 64, 62, 54, 12, 1, 57, 54, 67, 54, 76, 1, 0, +}; +u16 D_80183028[32] = { + 9, 48, 64, 70, 91, 67, 54, 12, 56, 64, 64, 53, 79, 12, 51, 70, + 69, 12, 1, 32, 91, 62, 12, 51, 54, 69, 69, 54, 67, 80, 1, 0, +}; +u16 D_80183068[36] = { + 9, 37, 64, 69, 12, 74, 54, 69, 80, 12, 43, 57, 54, 1, 65, 50, 67, 69, + 74, 91, 68, 12, 59, 70, 68, 69, 12, 51, 54, 56, 70, 63, 76, 1, 0, 0, +}; +u16 D_801830B0[48] = { + 9, 48, 64, 70, 12, 52, 50, 63, 91, 69, 12, 51, 54, 50, 69, 12, 62, 54, 80, 12, 1, 32, 91, 71, + 54, 12, 56, 64, 69, 12, 50, 12, 51, 54, 69, 69, 54, 67, 12, 1, 68, 57, 58, 65, 76, 1, 0, 0, +}; +u16 D_80183110[30] = { + 9, 30, 58, 71, 54, 12, 58, 69, 12, 70, 65, 80, 1, 48, 64, 70, 12, 52, 50, 63, 91, 69, 12, 72, 58, 63, 76, 1, 0, 0, +}; +u16 D_8018314C[32] = { + 9, 37, 64, 12, 72, 50, 74, 76, 12, 1, 32, 12, 53, 64, 63, 91, + 69, 12, 51, 54, 61, 58, 54, 71, 54, 12, 58, 69, 76, 1, 0, 0, +}; +u16 D_8018318C[20] = { + 9, 31, 54, 91, 68, 12, 69, 64, 64, 12, 68, 69, 67, 64, 63, 56, 76, 1, 0, 0, +}; +u16 D_801831B4[28] = { + 9, 43, 57, 58, 68, 12, 52, 50, 63, 91, 69, 12, 51, 54, 1, 57, 50, 65, 65, 54, 63, 58, 63, 56, 76, 1, 0, 0, +}; +u16 D_801831EC[12] = { + 9, 24, 57, 57, 57, 57, 76, 76, 76, 76, 1, 0, +}; +u16 D_80183204[32] = { + 9, 32, 12, 68, 54, 54, 12, 74, 64, 70, 91, 71, 54, 12, 56, 64, + 69, 12, 1, 63, 54, 72, 12, 68, 57, 58, 65, 68, 80, 1, 0, 0, +}; +u16 D_80183244[30] = { + 9, 31, 54, 74, 79, 12, 63, 58, 52, 54, 12, 50, 58, 67, 52, 67, 50, 55, 69, 79, 12, 1, 56, 70, 74, 68, 76, 1, 0, 0, +}; +u16 D_80183280[22] = { + 9, 32, 12, 52, 50, 63, 91, 69, 12, 51, 67, 54, 50, 60, 12, 55, 67, 54, 54, 76, 1, 0, +}; +u16 D_801832AC[28] = { + 10, 43, 57, 54, 67, 54, 91, 68, 12, 64, 63, 54, 12, 62, 64, 67, 54, 12, 1, 69, 64, 12, 56, 64, 80, 1, 0, 0, +}; +u16 D_801832E4[42] = { + 10, 42, 64, 79, 12, 24, 63, 53, 67, 64, 68, 68, 79, 12, 74, 64, 70, 12, 1, 68, 57, + 64, 72, 12, 74, 64, 70, 67, 12, 69, 67, 70, 54, 12, 55, 64, 67, 62, 76, 1, 0, 0, +}; +u16 D_80183338[36] = { + 10, 31, 70, 67, 67, 74, 79, 12, 29, 64, 73, 80, 12, 1, 32, 91, 62, 12, + 72, 50, 58, 69, 58, 63, 56, 12, 55, 64, 67, 12, 74, 64, 70, 80, 1, 0, +}; +u16 D_80183380[32] = { + 10, 27, 64, 63, 91, 69, 12, 54, 71, 54, 67, 12, 56, 58, 71, 54, + 12, 70, 65, 79, 12, 1, 62, 74, 12, 68, 64, 63, 80, 1, 0, 0, +}; +u16 D_801833C0[24] = { + 9, 24, 61, 61, 12, 50, 58, 67, 52, 67, 50, 55, 69, 12, 67, 54, 65, 64, 67, 69, 76, 1, 0, 0, +}; +u16 D_801833F0[22] = { + 9, 32, 91, 62, 12, 55, 58, 63, 54, 79, 12, 32, 91, 62, 12, 55, 58, 63, 54, 76, 1, 0, +}; +u16 D_8018341C[22] = { + 9, 28, 71, 54, 67, 74, 69, 57, 58, 63, 56, 91, 68, 12, 24, 78, 38, 34, 80, 1, 0, 0, +}; +u16 D_80183448[32] = { + 9, 32, 91, 62, 12, 57, 50, 71, 58, 63, 91, 12, 68, 64, 62, 54, + 1, 69, 67, 64, 70, 51, 61, 54, 12, 57, 54, 67, 54, 76, 1, 0, +}; +u16 D_80183488[38] = { + 9, 32, 91, 71, 54, 12, 69, 50, 60, 54, 63, 12, 50, 12, 55, 54, 72, 12, 1, + 57, 58, 69, 68, 79, 12, 51, 70, 69, 12, 32, 91, 62, 12, 38, 34, 80, 1, 0, +}; +u16 D_801834D4[28] = { + 9, 32, 12, 69, 57, 64, 70, 56, 57, 69, 12, 32, 12, 72, 50, 68, 12, 50, 1, 56, 64, 63, 54, 67, 80, 1, 0, 0, +}; +u16 D_8018350C[38] = { + 9, 32, 12, 68, 50, 72, 12, 62, 74, 12, 61, 58, 55, 54, 12, 55, 61, 50, 68, + 57, 1, 51, 54, 55, 64, 67, 54, 12, 62, 74, 12, 54, 74, 54, 68, 76, 1, 0, +}; +u16 D_80183558[34] = { + 9, 24, 57, 79, 12, 74, 64, 70, 91, 67, 54, 12, 56, 54, 69, 69, 58, + 63, 56, 1, 51, 54, 69, 69, 54, 67, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_8018359C[26] = { + 9, 48, 64, 70, 12, 50, 67, 54, 12, 42, 38, 12, 1, 61, 70, 52, 60, 74, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_801835D0[34] = { + 9, 48, 64, 70, 12, 72, 64, 67, 67, 74, 12, 50, 51, 64, 70, 69, 12, + 1, 74, 64, 70, 67, 12, 64, 72, 63, 12, 57, 58, 53, 54, 80, 1, 0, +}; +u16 D_80183614[14] = { + 9, 24, 67, 54, 12, 74, 64, 70, 12, 38, 34, 77, 1, 0, +}; +u16 D_80183630[30] = { + 9, 42, 57, 64, 64, 69, 76, 12, 32, 91, 71, 54, 12, 69, 50, 60, 54, 63, 12, 1, 53, 50, 62, 50, 56, 54, 76, 1, 0, 0, +}; +u16 D_8018366C[18] = { + 9, 27, 50, 63, 56, 76, 12, 32, 91, 62, 12, 57, 58, 69, 76, 1, 0, 0, +}; +u16 D_80183690[16] = { + 9, 42, 61, 58, 65, 65, 74, 91, 68, 12, 57, 58, 69, 76, 1, 0, +}; +u16 D_801836B0[36] = { + 9, 31, 54, 74, 79, 12, 28, 58, 63, 68, 69, 54, 58, 63, 76, 12, 1, 32, + 91, 62, 12, 64, 63, 12, 74, 64, 70, 67, 12, 68, 58, 53, 54, 76, 1, 0, +}; +u16 D_801836F8[22] = { + 9, 34, 63, 64, 52, 60, 12, 58, 69, 12, 64, 55, 55, 79, 12, 29, 64, 73, 76, 1, 0, 0, +}; +u16 D_80183724[30] = { + 9, 31, 54, 74, 76, 12, 1, 46, 57, 50, 69, 91, 68, 12, 69, 57, 54, 12, 51, 58, 56, 12, 58, 53, 54, 50, 77, 1, 0, 0, +}; +u16 D_80183760[42] = { + 9, 48, 64, 70, 12, 69, 67, 74, 58, 63, 91, 12, 69, 64, 12, 1, 53, 50, 62, 50, 56, + 54, 12, 62, 74, 12, 65, 67, 54, 69, 69, 74, 12, 1, 55, 50, 52, 54, 77, 76, 1, 0, +}; +u16 D_801837B4[34] = { + 9, 31, 54, 74, 76, 12, 42, 54, 54, 12, 58, 55, 12, 32, 12, 57, 54, + 61, 65, 12, 1, 74, 64, 70, 12, 50, 56, 50, 58, 63, 76, 1, 0, 0, +}; +u16 D_801837F8[10] = { + 11, 37, 64, 76, 76, 76, 76, 1, 0, 0, +}; +u16 D_8018380C[10] = { + 11, 37, 64, 76, 76, 76, 76, 1, 0, 0, +}; +u16 D_80183820[10] = { + 11, 37, 64, 76, 76, 76, 76, 1, 0, 0, +}; +u16 D_80183834[20] = { + 9, 31, 54, 74, 76, 12, 31, 54, 12, 72, 50, 68, 12, 62, 58, 63, 54, 76, 1, 0, +}; +u16 D_8018385C[30] = { + 9, 46, 57, 50, 69, 91, 68, 12, 69, 57, 54, 12, 51, 58, 56, 12, 1, 58, 53, 54, 50, 79, 12, 29, 64, 73, 77, 1, 0, 0, +}; +u16 D_80183898[34] = { + 9, 30, 64, 12, 55, 58, 63, 53, 12, 74, 64, 70, 67, 12, 64, 72, 63, + 12, 1, 69, 50, 67, 56, 54, 69, 79, 12, 29, 64, 73, 76, 1, 0, 0, +}; +u16 D_801838DC[18] = { + 10, 24, 61, 61, 78, 67, 50, 63, 56, 54, 12, 62, 64, 53, 54, 80, 1, 0, +}; +u16 D_80183900[40] = { + 9, 46, 57, 50, 69, 12, 53, 64, 12, 74, 64, 70, 12, 69, 57, 58, 63, 60, 1, 74, + 64, 70, 91, 67, 54, 12, 53, 64, 58, 63, 56, 79, 12, 29, 64, 73, 77, 1, 0, 0, +}; +u16 D_80183950[30] = { + 9, 46, 50, 69, 52, 57, 12, 72, 57, 54, 67, 54, 12, 74, 64, 70, 91, 67, 54, 12, 1, 55, 61, 74, 58, 63, 56, 76, 1, 0, +}; +u16 D_8018398C[22] = { + 9, 30, 54, 69, 12, 64, 70, 69, 12, 64, 55, 12, 62, 74, 12, 72, 50, 74, 76, 1, 0, 0, +}; +u16 D_801839B8[40] = { + 10, 38, 57, 12, 62, 50, 63, 76, 12, 32, 91, 62, 12, 56, 64, 63, 63, 50, 12, 1, + 57, 50, 71, 54, 12, 69, 64, 12, 51, 50, 52, 60, 12, 64, 55, 55, 80, 1, 0, 0, +}; +u16 D_80183A08[46] = { + 10, 42, 64, 67, 67, 74, 79, 12, 56, 70, 74, 68, 79, 12, 32, 91, 71, 54, 12, 1, 56, 64, 69, + 69, 50, 12, 68, 58, 69, 12, 69, 57, 58, 68, 12, 64, 63, 54, 12, 1, 64, 70, 69, 80, 1, 0, +}; +u16 D_80183A64[36] = { + 10, 32, 91, 62, 12, 62, 64, 63, 60, 54, 74, 12, 55, 64, 64, 53, 12, 58, + 55, 1, 32, 12, 53, 64, 63, 91, 69, 12, 61, 54, 50, 71, 54, 76, 1, 0, +}; +u16 D_80183AAC[40] = { + 10, 35, 64, 52, 50, 69, 58, 64, 63, 12, 52, 64, 63, 55, 58, 67, 62, 54, 53, 80, + 1, 42, 54, 63, 53, 58, 63, 56, 12, 68, 70, 65, 65, 61, 58, 54, 68, 80, 1, 0, +}; +u16 D_80183AFC[34] = { + 10, 44, 68, 54, 12, 69, 57, 54, 12, 51, 64, 64, 68, 69, 12, 69, 64, + 1, 52, 57, 50, 68, 54, 12, 92, 26, 21, 12, 16, 93, 80, 1, 0, 0, +}; +u16 D_80183B40[34] = { + 10, 43, 67, 74, 12, 50, 12, 68, 64, 62, 54, 67, 68, 50, 70, 61, 69, + 1, 92, 22, 12, 50, 63, 53, 12, 26, 21, 12, 16, 93, 80, 1, 0, 0, +}; +u16 D_80183B84[30] = { + 10, 43, 67, 74, 12, 50, 12, 44, 78, 69, 70, 67, 63, 1, 92, 22, 12, 50, 63, 53, 12, 26, 22, 12, 19, 93, 80, 1, 0, 0, +}; +u16 D_80183BC0[32] = { + 10, 44, 68, 54, 12, 51, 64, 62, 51, 68, 12, 72, 58, 68, 54, 61, + 74, 1, 92, 25, 12, 25, 70, 69, 69, 64, 63, 93, 80, 1, 0, 0, +}; +u16 D_80183C00[36] = { + 10, 44, 68, 54, 12, 69, 57, 54, 12, 51, 64, 64, 68, 69, 12, 69, 64, 1, + 56, 54, 69, 12, 69, 57, 67, 70, 12, 92, 26, 21, 12, 16, 93, 80, 1, 0, +}; +u16 D_80183C48[28] = { + 9, 32, 91, 62, 12, 57, 54, 67, 54, 12, 69, 64, 12, 67, 54, 68, 52, 70, 54, 12, 1, 74, 64, 70, 76, 1, 0, 0, +}; +u16 D_80183C80[20] = { + 9, 27, 64, 63, 91, 69, 12, 55, 64, 67, 56, 54, 69, 12, 62, 54, 76, 1, 0, 0, +}; +u16 D_80183CA8[36] = { + 9, 48, 64, 70, 67, 12, 68, 60, 58, 61, 61, 68, 12, 57, 50, 71, 54, 12, + 1, 58, 62, 65, 67, 64, 71, 54, 53, 79, 12, 29, 64, 73, 80, 1, 0, 0, +}; +u16 D_80183CF0[38] = { + 9, 32, 12, 56, 70, 54, 68, 68, 12, 74, 64, 70, 91, 67, 54, 12, 56, 64, 64, + 53, 1, 55, 64, 67, 12, 68, 64, 62, 54, 69, 57, 58, 63, 56, 80, 1, 0, 0, +}; +u16 D_80183D3C[14] = { + 9, 30, 67, 54, 50, 69, 79, 12, 29, 64, 73, 76, 1, 0, +}; +u16 D_80183D58[10] = { + 9, 39, 54, 65, 65, 74, 76, 1, 0, 0, +}; +u16 D_80183D6C[10] = { + 9, 29, 50, 61, 52, 64, 76, 1, 0, 0, +}; +u16 D_80183D80[10] = { + 9, 42, 61, 58, 65, 65, 74, 76, 1, 0, +}; +u16 D_80183D94[26] = { + 9, 42, 61, 58, 65, 65, 74, 79, 12, 56, 54, 69, 12, 51, 50, 52, 60, 12, 1, 57, 54, 67, 54, 76, 1, 0, +}; +u16 D_80183DC8[30] = { + 9, 31, 54, 57, 12, 57, 54, 57, 80, 80, 1, 69, 67, 74, 12, 50, 63, 53, 12, 68, 69, 64, 65, 12, 62, 54, 80, 1, 0, 0, +}; +u16 D_80183E04[40] = { + 10, 32, 63, 52, 64, 62, 58, 63, 56, 12, 62, 54, 68, 68, 50, 56, 54, 12, 1, 55, + 67, 64, 62, 12, 41, 38, 25, 87, 85, 12, 92, 26, 23, 12, 18, 93, 80, 1, 0, 0, +}; +u16 D_80183E54[12] = { + 9, 32, 63, 52, 64, 62, 58, 63, 56, 76, 1, 0, +}; +u16 D_80183E6C[18] = { + 9, 31, 54, 67, 54, 12, 69, 57, 54, 74, 12, 52, 64, 62, 54, 76, 1, 0, +}; +u16 D_80183E90[12] = { + 9, 32, 63, 52, 64, 62, 58, 63, 56, 76, 1, 0, +}; +u16 D_80183EA8[32] = { + 10, 32, 91, 62, 12, 61, 64, 64, 60, 58, 63, 56, 12, 55, 64, 67, + 72, 50, 67, 53, 12, 1, 69, 64, 12, 69, 57, 58, 68, 76, 1, 0, +}; +u16 D_80183EE8[32] = { + 10, 24, 57, 79, 12, 69, 57, 54, 12, 68, 64, 63, 12, 64, 55, 1, + 33, 50, 62, 54, 68, 12, 36, 52, 26, 61, 64, 70, 53, 76, 1, 0, +}; +u16 D_80183F28[30] = { + 10, 32, 91, 61, 61, 12, 62, 50, 60, 54, 12, 69, 57, 64, 68, 54, 1, 55, 64, 64, 61, 68, 12, 65, 50, 74, 76, 1, 0, 0, +}; +u16 D_80183F64[38] = { + 10, 43, 57, 64, 68, 54, 12, 69, 58, 63, 12, 52, 50, 63, 68, 12, 50, 67, 54, + 1, 63, 64, 12, 62, 50, 69, 52, 57, 12, 55, 64, 67, 12, 62, 54, 76, 1, 0, +}; +u16 D_80183FB0[38] = { + 10, 31, 50, 12, 57, 50, 12, 57, 50, 76, 12, 48, 64, 70, 12, 52, 50, 63, 1, + 37, 28, 45, 28, 41, 12, 53, 54, 55, 54, 50, 69, 12, 62, 54, 76, 1, 0, 0, +}; +u16 D_80183FFC[18] = { + 10, 30, 64, 64, 53, 12, 61, 70, 52, 60, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_80184020[38] = { + 10, 39, 64, 68, 58, 69, 58, 64, 63, 12, 52, 64, 63, 55, 58, 67, 62, 54, 53, + 80, 1, 28, 71, 54, 67, 74, 69, 57, 58, 63, 56, 12, 38, 34, 80, 1, 0, 0, +}; +u16 D_8018406C[30] = { + 9, 27, 64, 63, 91, 69, 12, 72, 64, 67, 67, 74, 12, 50, 51, 64, 70, 69, 12, 1, 62, 54, 79, 12, 29, 64, 73, 76, 1, 0, +}; +u16 D_801840A8[34] = { + 9, 32, 12, 68, 54, 54, 12, 74, 64, 70, 67, 12, 55, 50, 69, 57, 54, + 67, 12, 1, 58, 63, 12, 74, 64, 70, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_801840EC[32] = { + 9, 31, 64, 72, 91, 68, 12, 69, 57, 54, 12, 24, 67, 72, 58, 63, + 56, 12, 1, 53, 64, 58, 63, 56, 79, 12, 29, 64, 73, 77, 1, 0, +}; +u16 D_8018412C[30] = { + 10, 35, 64, 52, 60, 12, 64, 63, 12, 69, 57, 54, 12, 54, 63, 54, 62, 74, 1, 92, 57, 64, 61, 53, 12, 24, 93, 80, 1, 0, +}; +u16 D_80184168[34] = { + 10, 31, 64, 61, 53, 12, 24, 12, 69, 64, 12, 61, 64, 52, 60, 12, 64, + 63, 1, 69, 64, 12, 69, 57, 54, 12, 54, 63, 54, 62, 74, 80, 1, 0, +}; +u16 D_801841AC[46] = { + 10, 43, 64, 12, 56, 54, 69, 12, 67, 58, 53, 12, 64, 55, 12, 69, 57, 54, 1, 50, 58, 62, 79, + 12, 65, 50, 70, 68, 54, 12, 50, 63, 53, 12, 1, 65, 67, 54, 68, 68, 12, 41, 80, 1, 0, 0, +}; +u16 D_80184208[24] = { + 10, 39, 67, 54, 68, 68, 12, 26, 21, 12, 16, 12, 69, 64, 1, 51, 64, 64, 68, 69, 76, 1, 0, 0, +}; +u16 D_80184238[40] = { + 10, 39, 67, 54, 68, 68, 12, 22, 12, 50, 63, 53, 12, 26, 21, 12, 16, 12, 1, 69, + 64, 12, 53, 64, 12, 50, 12, 68, 64, 62, 54, 67, 68, 50, 70, 61, 69, 80, 1, 0, +}; +u16 D_80184288[36] = { + 10, 29, 64, 67, 12, 50, 12, 44, 78, 69, 70, 67, 63, 79, 12, 1, 65, 67, + 54, 68, 68, 12, 22, 12, 50, 63, 53, 12, 26, 22, 12, 19, 80, 1, 0, 0, +}; +u16 D_801842D0[20] = { + 10, 39, 67, 54, 68, 68, 12, 25, 12, 69, 64, 12, 51, 64, 62, 51, 80, 1, 0, 0, +}; +u16 D_801842F8[40] = { + 10, 43, 64, 12, 51, 50, 67, 67, 54, 61, 12, 67, 64, 61, 61, 79, 12, 1, 65, 67, + 54, 68, 68, 12, 49, 12, 64, 67, 12, 41, 12, 69, 72, 58, 52, 54, 80, 1, 0, 0, +}; +u16 D_80184348[24] = { + 10, 39, 67, 54, 68, 68, 12, 26, 22, 12, 19, 1, 69, 64, 12, 51, 67, 50, 60, 54, 80, 1, 0, 0, +}; +u16 D_80184378[28] = { + 10, 43, 64, 12, 57, 64, 71, 54, 67, 79, 12, 1, 65, 67, 54, 68, 68, 12, 49, 12, 50, 63, 53, 12, 41, 80, 1, 0, +}; +u16 D_801843B0[12] = { + 9, 42, 61, 58, 65, 65, 74, 76, 76, 76, 1, 0, +}; +u16 D_801843C8[32] = { + 9, 26, 64, 62, 54, 12, 64, 63, 79, 12, 29, 64, 73, 80, 1, 48, + 64, 70, 12, 52, 50, 63, 12, 53, 64, 12, 58, 69, 80, 1, 0, 0, +}; +u16 D_80184408[14] = { + 9, 24, 67, 54, 12, 74, 64, 70, 12, 38, 34, 77, 1, 0, +}; +u16 D_80184424[40] = { + 9, 26, 64, 62, 54, 12, 64, 63, 79, 12, 29, 64, 73, 80, 12, 1, 35, 54, 69, 91, + 68, 12, 60, 58, 52, 60, 12, 68, 64, 62, 54, 12, 1, 69, 50, 58, 61, 80, 1, 0, +}; +u16 D_80184474[30] = { + 9, 27, 64, 63, 91, 69, 12, 56, 64, 12, 53, 74, 58, 63, 91, 12, 64, 63, 12, 1, 62, 54, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_801844B0[30] = { + 9, 35, 54, 69, 91, 68, 12, 69, 50, 60, 54, 12, 58, 69, 12, 69, 64, 12, 1, 91, 54, 62, 79, 12, 29, 64, 73, 80, 1, 0, +}; +u16 D_801844EC[30] = { + 9, 35, 54, 69, 91, 68, 12, 52, 61, 54, 50, 63, 12, 70, 65, 12, 1, 69, 57, 58, 68, 12, 62, 54, 68, 68, 80, 1, 0, 0, +}; +u16 D_80184528[24] = { + 9, 35, 64, 64, 60, 12, 64, 70, 69, 12, 51, 54, 57, 58, 63, 53, 12, 74, 64, 70, 76, 1, 0, 0, +}; +u16 D_80184558[40] = { + 9, 42, 54, 54, 12, 62, 74, 12, 68, 57, 58, 65, 77, 12, 27, 64, 54, 68, 12, 1, + 58, 69, 12, 61, 64, 64, 60, 12, 38, 34, 12, 69, 64, 12, 74, 64, 70, 77, 1, 0, +}; +u16 D_801845A8[40] = { + 8, 37, 54, 71, 54, 67, 12, 56, 58, 71, 54, 12, 70, 65, 80, 1, 43, 67, 70, 68, + 69, 12, 74, 64, 70, 67, 12, 1, 58, 63, 68, 69, 58, 63, 52, 69, 68, 80, 1, 0, +}; +u16 D_801845F8[20] = { + 8, 29, 64, 73, 79, 12, 50, 67, 54, 12, 74, 64, 70, 12, 38, 34, 77, 1, 0, 0, +}; +u16 D_80184620[18] = { + 8, 31, 64, 61, 53, 12, 69, 64, 56, 54, 69, 57, 54, 67, 80, 1, 0, 0, +}; +u16 D_80184644[18] = { + 8, 28, 71, 54, 67, 74, 69, 57, 58, 63, 56, 12, 38, 34, 77, 1, 0, 0, +}; +u16 D_80184668[28] = { + 8, 46, 57, 54, 72, 76, 12, 1, 48, 64, 70, 91, 67, 54, 12, 50, 61, 61, 12, 67, 58, 56, 57, 69, 76, 1, 0, 0, +}; +u16 D_801846A0[28] = { + 8, 48, 64, 70, 91, 67, 54, 12, 63, 64, 69, 12, 61, 54, 50, 71, 58, 63, 91, 79, 12, 1, 74, 54, 69, 76, 1, 0, +}; +u16 D_801846D8[8] = { + 9, 26, 67, 70, 53, 76, 1, 0, +}; +u16 D_801846E8[10] = { + 9, 38, 57, 12, 63, 64, 76, 1, 0, 0, +}; +u16 D_801846FC[14] = { + 9, 27, 64, 56, 56, 64, 63, 54, 12, 58, 69, 76, 1, 0, +}; +u16 D_80184718[32] = { + 10, 31, 64, 61, 53, 12, 24, 12, 69, 64, 12, 52, 57, 50, 67, 56, + 54, 12, 1, 74, 64, 70, 67, 12, 61, 50, 68, 54, 67, 80, 1, 0, +}; +u16 D_80184758[44] = { + 10, 48, 64, 70, 12, 52, 50, 63, 12, 50, 61, 68, 64, 12, 61, 64, 52, 60, 1, 64, 63, 69, + 64, 12, 54, 63, 54, 62, 58, 54, 68, 12, 69, 57, 58, 68, 12, 1, 72, 50, 74, 80, 1, 0, +}; +u16 D_801847B0[18] = { + 9, 46, 50, 69, 52, 57, 12, 64, 70, 69, 79, 12, 29, 64, 73, 76, 1, 0, +}; +u16 D_801847D4[18] = { + 9, 46, 50, 69, 52, 57, 12, 64, 70, 69, 79, 12, 29, 64, 73, 76, 1, 0, +}; +u16 D_801847F8[18] = { + 9, 46, 50, 69, 52, 57, 12, 64, 70, 69, 79, 12, 29, 64, 73, 76, 1, 0, +}; +u16 D_8018481C[12] = { + 11, 24, 50, 50, 50, 50, 57, 57, 57, 76, 1, 0, +}; +u16 D_80184834[12] = { + 9, 24, 50, 50, 50, 50, 57, 57, 57, 76, 1, 0, +}; +u16 D_8018484C[12] = { + 9, 24, 50, 50, 50, 50, 57, 57, 57, 76, 1, 0, +}; +u16 D_80184864[12] = { + 9, 24, 50, 50, 50, 50, 57, 57, 57, 76, 1, 0, +}; +u16 D_8018487C[30] = { + 10, 46, 54, 61, 52, 64, 62, 54, 12, 69, 64, 12, 1, 69, 67, 50, 58, 63, 58, 63, 56, 12, 62, 64, 53, 54, 80, 1, 0, 0, +}; +u16 D_801848B8[30] = { + 10, 35, 54, 69, 91, 68, 12, 65, 67, 50, 52, 69, 58, 52, 54, 1, 69, 57, 54, 12, 51, 50, 68, 58, 52, 68, 80, 1, 0, 0, +}; +u16 D_801848F4[12] = { + 10, 30, 64, 64, 53, 12, 59, 64, 51, 80, 1, 0, +}; +u16 D_8018490C[42] = { + 10, 43, 57, 58, 68, 12, 58, 68, 12, 41, 38, 25, 87, 85, 80, 12, 1, 34, 54, 54, 65, + 12, 70, 65, 12, 69, 57, 54, 12, 56, 64, 64, 53, 12, 1, 72, 64, 67, 60, 80, 1, 0, +}; +u16 D_80184960[44] = { + 10, 30, 67, 54, 50, 69, 80, 12, 37, 64, 72, 12, 61, 54, 69, 91, 68, 12, 1, 56, 54, 69, + 12, 51, 50, 52, 60, 12, 69, 64, 12, 69, 57, 54, 12, 1, 56, 50, 62, 54, 80, 1, 0, 0, +}; +u16 D_801849B8[38] = { + 9, 29, 50, 61, 52, 64, 91, 68, 12, 68, 57, 58, 65, 12, 58, 68, 12, 1, 70, + 63, 53, 54, 67, 12, 62, 50, 58, 63, 69, 54, 63, 50, 63, 52, 54, 80, 1, 0, +}; +u16 D_80184A04[36] = { + 9, 39, 54, 65, 65, 74, 91, 68, 12, 68, 57, 58, 65, 12, 58, 68, 12, 58, + 63, 12, 1, 55, 64, 67, 12, 67, 54, 65, 50, 58, 67, 68, 80, 1, 0, 0, +}; +u16 D_80184A4C[36] = { + 9, 42, 61, 58, 65, 65, 74, 91, 68, 12, 68, 57, 58, 65, 12, 58, 68, 12, + 58, 63, 1, 55, 64, 67, 12, 67, 54, 65, 50, 58, 67, 68, 80, 1, 0, 0, +}; +u16 D_80184A94[38] = { + 9, 29, 50, 61, 52, 64, 91, 68, 12, 68, 57, 58, 65, 12, 58, 68, 12, 58, 63, + 1, 69, 57, 54, 12, 53, 64, 52, 60, 58, 63, 56, 12, 51, 50, 74, 80, 1, 0, +}; +u16 D_80184AE0[38] = { + 9, 39, 54, 65, 65, 74, 91, 68, 12, 68, 57, 58, 65, 12, 58, 68, 12, 58, 63, + 1, 69, 57, 54, 12, 53, 64, 52, 60, 58, 63, 56, 12, 51, 50, 74, 80, 1, 0, +}; +u16 D_80184B2C[40] = { + 9, 42, 61, 58, 65, 65, 74, 91, 68, 12, 68, 57, 58, 65, 12, 58, 68, 12, 58, 63, + 1, 69, 57, 54, 12, 53, 64, 52, 60, 58, 63, 56, 12, 51, 50, 74, 80, 1, 0, 0, +}; +u16 D_80184B7C[42] = { + 9, 36, 50, 58, 63, 69, 54, 63, 50, 63, 52, 54, 12, 1, 52, 64, 62, 65, 61, 54, 69, + 54, 12, 64, 63, 12, 29, 50, 61, 52, 64, 91, 68, 12, 1, 68, 57, 58, 65, 80, 1, 0, +}; +u16 D_80184BD0[38] = { + 9, 41, 54, 65, 50, 58, 67, 68, 12, 52, 64, 62, 65, 61, 54, 69, 54, 12, 64, + 63, 12, 1, 29, 50, 61, 52, 64, 91, 68, 12, 68, 57, 58, 65, 80, 1, 0, 0, +}; +u16 D_80184C1C[38] = { + 9, 41, 54, 65, 50, 58, 67, 68, 12, 52, 64, 62, 65, 61, 54, 69, 54, 12, 64, + 63, 12, 1, 39, 54, 65, 65, 74, 91, 68, 12, 68, 57, 58, 65, 80, 1, 0, 0, +}; +u16 D_80184C68[38] = { + 9, 41, 54, 65, 50, 58, 67, 68, 12, 52, 64, 62, 65, 61, 54, 69, 54, 12, 64, + 63, 12, 1, 42, 61, 58, 65, 65, 74, 91, 68, 12, 68, 57, 58, 65, 80, 1, 0, +}; +u16 D_80184CB4[34] = { + 9, 42, 69, 50, 67, 12, 29, 64, 73, 79, 12, 72, 54, 1, 50, 67, 54, + 12, 58, 63, 12, 74, 64, 70, 67, 1, 53, 54, 51, 69, 80, 1, 0, 0, +}; +u16 D_80184CF8[64] = { + 9, 32, 12, 72, 64, 70, 61, 53, 12, 51, 54, 1, 57, 64, 63, 64, 67, 54, 53, 12, 69, 64, + 1, 57, 50, 71, 54, 12, 74, 64, 70, 12, 50, 68, 1, 65, 50, 67, 69, 12, 64, 55, 12, 69, + 57, 54, 1, 26, 64, 67, 63, 54, 67, 58, 50, 63, 1, 50, 67, 62, 74, 80, 1, 0, +}; +u16 D_80184D78[50] = { + 9, 38, 57, 12, 63, 64, 79, 12, 68, 58, 67, 80, 1, 46, 54, 12, 65, 67, 54, 55, 54, 67, 1, 53, 64, + 58, 63, 56, 12, 69, 57, 58, 63, 56, 68, 1, 64, 70, 67, 12, 64, 72, 63, 12, 72, 50, 74, 80, 1, 0, +}; +u16 D_80184DDC[30] = { + 9, 30, 67, 54, 50, 69, 12, 29, 64, 73, 12, 58, 68, 12, 67, 54, 50, 53, 74, 12, 1, 69, 64, 12, 56, 64, 80, 1, 0, 0, +}; +u16 D_80184E18[32] = { + 9, 32, 69, 12, 58, 68, 12, 69, 58, 62, 54, 12, 55, 64, 67, 1, + 70, 68, 12, 69, 64, 12, 56, 64, 12, 63, 64, 72, 80, 1, 0, 0, +}; +u16 D_80184E58[20] = { + 9, 32, 91, 62, 12, 56, 64, 58, 63, 56, 12, 67, 58, 56, 57, 69, 76, 1, 0, 0, +}; +u16 D_80184E80[18] = { + 9, 32, 91, 62, 12, 56, 64, 58, 63, 56, 12, 61, 54, 55, 69, 76, 1, 0, +}; +u16 D_80184EA4[16] = { + 9, 32, 91, 62, 12, 56, 64, 58, 63, 56, 12, 70, 65, 76, 1, 0, +}; +u16 D_80184EC4[18] = { + 9, 32, 91, 62, 12, 56, 64, 58, 63, 56, 12, 53, 64, 72, 63, 76, 1, 0, +}; +u16 D_80184EE8[20] = { + 9, 32, 91, 62, 12, 56, 64, 58, 63, 56, 12, 67, 58, 56, 57, 69, 76, 1, 0, 0, +}; +u16 D_80184F10[18] = { + 9, 32, 91, 62, 12, 56, 64, 58, 63, 56, 12, 61, 54, 55, 69, 76, 1, 0, +}; +u16 D_80184F34[16] = { + 9, 32, 91, 62, 12, 56, 64, 58, 63, 56, 12, 70, 65, 76, 1, 0, +}; +u16 D_80184F54[18] = { + 9, 32, 91, 62, 12, 56, 64, 58, 63, 56, 12, 53, 64, 72, 63, 76, 1, 0, +}; +u16 D_80184F78[20] = { + 9, 32, 91, 62, 12, 56, 64, 58, 63, 56, 12, 67, 58, 56, 57, 69, 76, 1, 0, 0, +}; +u16 D_80184FA0[18] = { + 9, 32, 91, 62, 12, 56, 64, 58, 63, 56, 12, 61, 54, 55, 69, 76, 1, 0, +}; +u16 D_80184FC4[16] = { + 9, 32, 91, 62, 12, 56, 64, 58, 63, 56, 12, 70, 65, 76, 1, 0, +}; +u16 D_80184FE4[18] = { + 9, 32, 91, 62, 12, 56, 64, 58, 63, 56, 12, 53, 64, 72, 63, 76, 1, 0, +}; +u16 D_80185008[10] = { + 30, 67, 50, 50, 50, 50, 50, 50, 1, 0, +}; +u16 D_8018501C[10] = { + 30, 67, 50, 50, 50, 50, 50, 50, 1, 0, +}; +u16 D_80185030[10] = { + 30, 67, 50, 50, 50, 50, 50, 50, 1, 0, +}; +u16 D_80185044[6] = { + 44, 56, 57, 76, 1, 0, +}; +u16 D_80185050[12] = { + 31, 50, 12, 57, 50, 12, 57, 50, 76, 1, 0, 0, +}; +u16 D_80185068[14] = { + 31, 50, 12, 57, 50, 12, 57, 50, 12, 57, 50, 76, 1, 0, +}; +u16 D_80185084[8] = { + 46, 57, 64, 50, 76, 1, 0, 0, +}; +u16 D_80185094[10] = { + 24, 50, 50, 67, 56, 57, 76, 1, 0, 0, +}; +u16 D_801850A8[10] = { + 30, 72, 50, 50, 50, 50, 76, 1, 0, 0, +}; +u16 D_801850BC[14] = { + 30, 72, 50, 50, 50, 50, 50, 50, 50, 50, 76, 1, 0, 0, +}; +u16 D_801850D8[8] = { + 46, 31, 24, 43, 77, 76, 1, 0, +}; +u16 D_801850E8[44] = { + 43, 57, 58, 68, 12, 58, 68, 12, 38, 37, 28, 1, 68, 69, 54, 54, 65, 12, 51, 58, 61, 61, + 79, 1, 51, 70, 69, 12, 58, 69, 91, 68, 12, 72, 64, 67, 69, 57, 12, 58, 69, 80, 1, 0, +}; +u16 D_80185140[12] = { + 43, 72, 58, 63, 12, 61, 50, 68, 54, 67, 1, 0, +}; +u16 D_80185158[14] = { + 31, 74, 65, 54, 67, 12, 61, 50, 68, 54, 67, 1, 0, 0, +}; +u16 D_80185174[12] = { + 42, 62, 50, 67, 69, 12, 51, 64, 62, 51, 1, 0, +}; +u16 D_8018518C[14] = { + 42, 57, 58, 54, 61, 53, 12, 67, 58, 63, 56, 1, 0, 0, +}; +u16 D_801851A8[14] = { + 26, 57, 54, 52, 60, 12, 65, 64, 58, 63, 69, 1, 0, 0, +}; +u16 D_801851C4[8] = { + 42, 70, 65, 65, 61, 74, 1, 0, +}; +u16 D_801851D4[14] = { + 46, 58, 63, 56, 12, 67, 54, 65, 50, 58, 67, 1, 0, 0, +}; +u16 D_801851F0[14] = { + 42, 70, 65, 65, 61, 74, 12, 67, 58, 63, 56, 1, 0, 0, +}; +u16 D_8018520C[14] = { + 46, 58, 63, 56, 12, 53, 50, 62, 50, 56, 54, 1, 0, 0, +}; +u16 D_80185228[34] = { + 9, 44, 68, 54, 12, 69, 57, 54, 12, 26, 64, 63, 69, 67, 64, 61, 12, + 1, 42, 69, 58, 52, 60, 12, 69, 64, 12, 55, 61, 74, 80, 1, 0, 0, +}; +u16 D_8018526C[52] = { + 9, 43, 64, 12, 50, 68, 52, 54, 63, 53, 79, 12, 65, 70, 61, 61, 12, 1, 51, 50, 52, 60, 80, 12, 43, 64, + 12, 53, 54, 68, 52, 54, 63, 53, 79, 1, 65, 70, 68, 57, 12, 55, 64, 67, 72, 50, 67, 53, 80, 1, 0, 0, +}; +u16 D_801852D4[46] = { + 9, 39, 67, 54, 68, 68, 12, 49, 12, 64, 67, 12, 41, 12, 69, 64, 1, 62, 64, 71, 54, 12, 61, + 54, 55, 69, 12, 64, 67, 12, 67, 58, 56, 57, 69, 1, 66, 70, 58, 52, 60, 61, 74, 80, 1, 0, +}; +u16 D_80185330[60] = { + 9, 39, 67, 54, 68, 68, 12, 49, 12, 64, 67, 12, 41, 12, 69, 72, 58, 52, 54, 1, + 69, 64, 12, 51, 50, 67, 67, 54, 61, 12, 67, 64, 61, 61, 80, 12, 32, 69, 1, 67, + 54, 65, 54, 61, 68, 12, 54, 63, 54, 62, 74, 12, 55, 58, 67, 54, 80, 1, 0, 0, +}; +u16 D_801853A8[44] = { + 9, 39, 67, 54, 68, 68, 12, 25, 12, 69, 64, 12, 51, 64, 62, 51, 80, 1, 39, 67, 54, 68, + 68, 12, 50, 56, 50, 58, 63, 12, 69, 64, 1, 53, 54, 69, 64, 63, 50, 69, 54, 80, 1, 0, +}; +u16 D_80185400[44] = { + 9, 32, 55, 12, 74, 64, 70, 12, 57, 64, 61, 53, 12, 24, 79, 12, 1, 58, 69, 91, 61, 61, + 12, 52, 57, 50, 67, 56, 54, 12, 74, 64, 70, 67, 1, 61, 50, 68, 54, 67, 80, 1, 0, 0, +}; +u16 D_80185458[40] = { + 9, 35, 64, 52, 60, 12, 64, 63, 12, 54, 63, 54, 62, 58, 54, 68, 1, 72, 57, 54, + 63, 12, 52, 57, 50, 67, 56, 58, 63, 56, 12, 61, 50, 68, 54, 67, 80, 1, 0, 0, +}; +u16 D_801854A8[40] = { + 9, 48, 64, 70, 12, 52, 50, 63, 12, 61, 64, 52, 60, 12, 64, 63, 12, 50, 63, 53, + 1, 68, 57, 64, 64, 69, 12, 51, 64, 62, 51, 68, 79, 12, 69, 64, 64, 80, 1, 0, +}; +u16 D_801854F8[54] = { + 9, 48, 64, 70, 12, 56, 54, 69, 12, 51, 64, 63, 70, 68, 12, 65, 69, 68, 80, 1, 58, 55, 12, 83, 12, 64, 67, + 12, 62, 64, 67, 54, 12, 55, 64, 54, 68, 1, 50, 67, 54, 12, 53, 54, 68, 69, 67, 64, 74, 54, 53, 80, 1, 0, +}; +u16 D_80185564[44] = { + 9, 24, 12, 68, 58, 61, 71, 54, 67, 12, 67, 58, 63, 56, 12, 1, 67, 54, 55, 58, 61, 61, + 68, 12, 69, 57, 54, 12, 68, 57, 58, 54, 61, 53, 1, 56, 50, 70, 56, 54, 80, 1, 0, 0, +}; +u16 D_801855BC[48] = { + 9, 84, 12, 56, 64, 61, 53, 12, 67, 58, 63, 56, 68, 12, 72, 58, 61, 61, 1, 58, 63, 52, 67, 54, + 50, 68, 54, 12, 74, 64, 70, 67, 1, 68, 57, 58, 54, 61, 53, 12, 56, 50, 70, 56, 54, 80, 1, 0, +}; +u16 D_8018561C[44] = { + 9, 43, 57, 54, 12, 61, 50, 68, 54, 67, 12, 58, 69, 54, 62, 1, 72, 58, 61, 61, 12, 65, + 64, 72, 54, 67, 12, 70, 65, 1, 74, 64, 70, 67, 12, 61, 50, 68, 54, 67, 80, 1, 0, 0, +}; +u16 D_80185674[36] = { + 9, 31, 74, 65, 54, 67, 12, 58, 68, 12, 62, 64, 67, 54, 1, 65, 64, 72, + 54, 67, 55, 70, 61, 12, 69, 57, 50, 63, 12, 69, 72, 58, 63, 80, 1, 0, +}; +u16 D_801856BC[38] = { + 9, 46, 58, 63, 56, 12, 67, 54, 65, 50, 58, 67, 12, 72, 58, 61, 61, 1, 67, + 54, 65, 50, 58, 67, 12, 74, 64, 70, 67, 12, 72, 58, 63, 56, 68, 80, 1, 0, +}; +u16 D_80185708[36] = { + 9, 35, 54, 69, 91, 68, 12, 65, 67, 50, 52, 69, 58, 52, 54, 12, 1, 68, + 65, 54, 54, 53, 12, 50, 63, 53, 12, 44, 78, 69, 70, 67, 63, 80, 1, 0, +}; +u16 D_80185750[24] = { + 9, 39, 67, 54, 68, 68, 12, 26, 21, 12, 16, 12, 55, 64, 67, 1, 51, 64, 64, 68, 69, 80, 1, 0, +}; +u16 D_80185780[24] = { + 9, 39, 67, 54, 68, 68, 12, 26, 22, 12, 19, 12, 69, 64, 12, 1, 51, 67, 50, 60, 54, 80, 1, 0, +}; +u16 D_801857B0[36] = { + 9, 43, 64, 12, 68, 64, 62, 54, 67, 68, 50, 70, 61, 69, 79, 1, 65, 67, + 54, 68, 68, 12, 22, 12, 50, 63, 53, 12, 26, 21, 12, 16, 80, 1, 0, 0, +}; +u16 D_801857F8[36] = { + 9, 48, 64, 70, 12, 52, 50, 63, 12, 44, 78, 69, 70, 67, 63, 12, 58, 63, + 1, 50, 61, 61, 78, 67, 50, 63, 56, 54, 12, 62, 64, 53, 54, 80, 1, 0, +}; +u16 D_80185840[30] = { + 9, 39, 67, 54, 68, 68, 12, 22, 12, 50, 63, 53, 12, 26, 22, 12, 19, 1, 69, 64, 12, 44, 78, 69, 70, 67, 63, 80, 1, 0, +}; +u16 D_8018587C[38] = { + 9, 43, 57, 58, 68, 12, 64, 63, 61, 74, 12, 72, 64, 67, 60, 68, 12, 58, 63, + 1, 50, 61, 61, 78, 67, 50, 63, 56, 54, 12, 62, 64, 53, 54, 80, 1, 0, 0, +}; +u16 D_801858C8[42] = { + 9, 39, 67, 54, 68, 68, 12, 26, 20, 12, 17, 12, 69, 64, 12, 1, 52, 57, 50, 63, 56, + 54, 12, 69, 57, 54, 12, 52, 50, 62, 54, 67, 50, 1, 50, 63, 56, 61, 54, 80, 1, 0, +}; +u16 D_8018591C[40] = { + 9, 43, 64, 12, 67, 54, 68, 65, 64, 63, 53, 12, 69, 64, 12, 1, 62, 54, 68, 68, + 50, 56, 54, 68, 79, 12, 65, 67, 54, 68, 68, 1, 26, 23, 12, 18, 80, 1, 0, 0, +}; +u16 D_8018596C[30] = { + 9, 39, 67, 54, 68, 68, 12, 24, 12, 64, 63, 52, 54, 12, 62, 64, 67, 54, 1, 69, 64, 12, 68, 57, 64, 64, 69, 80, 1, 0, +}; +u16 D_801859A8[48] = { + 9, 43, 57, 54, 12, 54, 55, 55, 54, 52, 69, 12, 58, 68, 1, 56, 67, 54, 50, 69, 54, 67, 12, 58, + 55, 12, 74, 64, 70, 1, 57, 64, 61, 53, 12, 69, 57, 54, 12, 51, 70, 69, 69, 64, 63, 80, 1, 0, +}; +u16 D_80185A08[50] = { + 9, 32, 55, 12, 51, 64, 64, 68, 69, 12, 62, 54, 69, 54, 67, 12, 58, 68, 1, 67, 54, 53, 79, 12, 63, + 64, 12, 69, 54, 52, 57, 63, 58, 66, 70, 54, 68, 1, 72, 58, 61, 61, 12, 72, 64, 67, 60, 80, 1, 0, +}; +u16 D_80185A6C[40] = { + 9, 39, 67, 54, 68, 68, 12, 42, 43, 24, 41, 43, 12, 50, 63, 53, 1, 52, 57, 64, + 64, 68, 54, 12, 40, 44, 32, 43, 12, 69, 64, 12, 66, 70, 58, 69, 80, 1, 0, 0, +}; +u16 D_80185ABC[38] = { + 9, 26, 64, 61, 61, 54, 52, 69, 12, 84, 12, 62, 64, 67, 54, 12, 55, 64, 67, + 1, 50, 63, 12, 54, 73, 69, 67, 50, 12, 24, 67, 72, 58, 63, 56, 80, 1, 0, +}; +u16 D_80185B08[32] = { + 9, 37, 64, 72, 12, 62, 64, 71, 58, 63, 56, 12, 69, 64, 1, 50, + 61, 61, 78, 67, 50, 63, 56, 54, 12, 62, 64, 53, 54, 80, 1, 0, +}; +u16 D_80185B48[44] = { + 9, 48, 64, 70, 12, 52, 50, 63, 12, 55, 61, 74, 12, 1, 50, 63, 74, 72, 57, 54, 67, 54, + 12, 58, 63, 1, 50, 61, 61, 78, 67, 50, 63, 56, 54, 12, 62, 64, 53, 54, 80, 1, 0, 0, +}; +u16 D_80185BA0[48] = { + 9, 43, 57, 54, 12, 74, 54, 61, 61, 64, 72, 12, 62, 50, 67, 60, 12, 64, 63, 1, 67, 50, 53, 50, + 67, 12, 68, 57, 64, 72, 68, 12, 74, 64, 70, 67, 1, 65, 64, 68, 58, 69, 58, 64, 63, 80, 1, 0, +}; +u16 D_80185C00[52] = { + 9, 32, 55, 12, 74, 64, 70, 12, 67, 54, 50, 52, 57, 12, 69, 57, 54, 1, 54, 53, 56, 54, 12, 64, 55, 12, + 69, 57, 54, 12, 62, 50, 65, 79, 1, 74, 64, 70, 91, 61, 61, 12, 44, 78, 69, 70, 67, 63, 80, 1, 0, 0, +}; +u16 D_80185C68[42] = { + 9, 26, 64, 63, 69, 58, 63, 70, 54, 12, 69, 64, 12, 1, 65, 67, 50, 52, 69, 58, 52, + 54, 12, 50, 61, 61, 78, 67, 50, 63, 56, 54, 12, 1, 62, 64, 53, 54, 80, 1, 0, 0, +}; +UnkStruct_D_80185CBC D_80185CBC[780] = { + { 1, D_801799D0 }, { 60, D_8017A0F4 }, { 10, D_8017A150 }, { 20, D_8017A190 }, { 30, D_8017A1CC }, + { 40, D_8017A210 }, { 50, D_8017A260 }, { 1200, D_8017A2C8 }, { 1210, D_8017A35C }, { 1220, D_8017A3C8 }, + { 1230, D_8017A460 }, { 1240, D_8017A498 }, { 1250, D_8017A4F8 }, { 1260, D_8017A538 }, { 1270, D_8017A5BC }, + { 1280, D_8017A5E4 }, { 1290, D_8017A634 }, { 1300, D_8017A658 }, { 1310, D_8017A6F4 }, { 1320, D_8017A70C }, + { 1330, D_8017A794 }, { 1340, D_8017A7BC }, { 1350, D_8017A83C }, { 1360, D_8017A884 }, { 1370, D_8017A8F0 }, + { 1380, D_8017A920 }, { 1390, D_8017A990 }, { 1400, D_8017A9D8 }, { 1410, D_8017AA18 }, { 1420, D_8017AA48 }, + { 1430, D_8017AAA8 }, { 1440, D_8017AAD0 }, { 1450, D_8017AB2C }, { 1460, D_8017AB4C }, { 1470, D_8017ABE0 }, + { 2005, D_8017AC04 }, { 2010, D_8017AC28 }, { 2020, D_8017AC6C }, { 2030, D_8017ACA0 }, { 2040, D_8017ACE4 }, + { 2050, D_8017AD14 }, { 2055, D_8017AD6C }, { 2058, D_8017ADB4 }, { 2061, D_8017ADE0 }, { 2062, D_8017AE34 }, + { 2080, D_8017AE58 }, { 2090, D_8017AEA0 }, { 2095, D_8017AEB4 }, { 2110, D_8017AED8 }, { 2115, D_8017AF20 }, + { 2118, D_8017AF6C }, { 2140, D_8017AFC0 }, { 2165, D_8017B010 }, { 2166, D_8017B06C }, { 2167, D_8017B0B4 }, + { 2180, D_8017B108 }, { 2181, D_8017B144 }, { 2185, D_8017B168 }, { 2188, D_8017B19C }, { 2200, D_8017B1E8 }, + { 2210, D_8017B21C }, { 2220, D_8017B234 }, { 2225, D_8017B270 }, { 2230, D_8017B2A4 }, { 2233, D_8017B2CC }, + { 2282, D_8017B31C }, { 2240, D_8017B368 }, { 2250, D_8017B3A0 }, { 2260, D_8017B3D4 }, { 2263, D_8017B41C }, + { 2265, D_8017B464 }, { 2270, D_8017B4A8 }, { 2275, D_8017B4B8 }, { 2280, D_8017B508 }, { 2290, D_8017B54C }, + { 2291, D_8017B588 }, { 2292, D_8017B5C4 }, { 2293, D_8017B600 }, { 2294, D_8017B610 }, { 2295, D_8017B638 }, + { 2296, D_8017B65C }, { 2298, D_8017B69C }, { 2299, D_8017B6FC }, { 2300, D_8017B730 }, { 2305, D_8017B788 }, + { 2310, D_8017B7A8 }, { 2320, D_8017B7FC }, { 2335, D_8017B848 }, { 2336, D_8017B8A0 }, { 2337, D_8017B8EC }, + { 3005, D_8017B930 }, { 3010, D_8017B978 }, { 3015, D_8017B9B4 }, { 3020, D_8017B9FC }, { 3025, D_8017BA2C }, + { 3026, D_8017BA60 }, { 3040, D_8017BA98 }, { 3041, D_8017BAC4 }, { 3042, D_8017BB00 }, { 3050, D_8017BB34 }, + { 3100, D_8017BB78 }, { 3110, D_8017BBCC }, { 3120, D_8017BC04 }, { 3300, D_8017BC20 }, { 3310, D_8017BC70 }, + { 3315, D_8017BCAC }, { 3320, D_8017BCFC }, { 3321, D_8017BD34 }, { 3322, D_8017BD58 }, { 3330, D_8017BD88 }, + { 3340, D_8017BDAC }, { 3345, D_8017BDFC }, { 3350, D_8017BE58 }, { 3360, D_8017BE90 }, { 3370, D_8017BED8 }, + { 3371, D_8017BF28 }, { 4010, D_8017BF74 }, { 4011, D_8017BFB8 }, { 4012, D_8017C004 }, { 4013, D_8017C050 }, + { 4020, D_8017C0A0 }, { 4021, D_8017C0EC }, { 4022, D_8017C138 }, { 4023, D_8017C188 }, { 4024, D_8017C1AC }, + { 4030, D_8017C1E4 }, { 4031, D_8017C218 }, { 4040, D_8017C264 }, { 4050, D_8017C280 }, { 4075, D_8017C2B0 }, + { 4080, D_8017C2C8 }, { 4082, D_8017C324 }, { 4083, D_8017C354 }, { 4091, D_8017C380 }, { 4092, D_8017C3A8 }, + { 4093, D_8017C3FC }, { 4094, D_8017C41C }, { 4095, D_8017C474 }, { 4096, D_8017C4AC }, { 4097, D_8017C4F4 }, + { 4098, D_8017C544 }, { 4099, D_8017C580 }, { 4100, D_8017C5C0 }, { 4101, D_8017C5F8 }, { 4102, D_8017C648 }, + { 4103, D_8017C694 }, { 4110, D_8017C6E8 }, { 4111, D_8017C734 }, { 4112, D_8017C748 }, { 4113, D_8017C784 }, + { 5000, D_8017C7B8 }, { 5010, D_8017C804 }, { 5060, D_8017C83C }, { 5080, D_8017C894 }, { 5100, D_8017C8C8 }, + { 5110, D_8017C910 }, { 5130, D_8017C960 }, { 5220, D_8017C998 }, { 5230, D_8017C9F0 }, { 5300, D_8017CA10 }, + { 5310, D_8017CA68 }, { 5311, D_8017CAB8 }, { 5312, D_8017CB08 }, { 5313, D_8017CB30 }, { 5314, D_8017CB70 }, + { 5350, D_8017CBC0 }, { 5360, D_8017CBFC }, { 5380, D_8017CC30 }, { 5400, D_8017CC68 }, { 5410, D_8017CCAC }, + { 5420, D_8017CCF0 }, { 5430, D_8017CD1C }, { 5460, D_8017CD5C }, { 5470, D_8017CDA8 }, { 5473, D_8017CDF8 }, + { 5474, D_8017CE3C }, { 5475, D_8017CE74 }, { 5492, D_8017CEA0 }, { 5493, D_8017CEC8 }, { 5494, D_8017CF08 }, + { 5495, D_8017CF30 }, { 5496, D_8017CF64 }, { 5497, D_8017CF8C }, { 5498, D_8017CFB8 }, { 5499, D_8017CFE4 }, + { 5500, D_8017D010 }, { 5501, D_8017D068 }, { 5502, D_8017D0A4 }, { 5503, D_8017D0E8 }, { 5504, D_8017D138 }, + { 5505, D_8017D168 }, { 5506, D_8017D1A4 }, { 6010, D_8017D1D8 }, { 6011, D_8017D228 }, { 6012, D_8017D24C }, + { 6013, D_8017D26C }, { 6014, D_8017D2B0 }, { 6020, D_8017D2DC }, { 6021, D_8017D320 }, { 6024, D_8017D358 }, + { 6025, D_8017D398 }, { 6026, D_8017D3E0 }, { 6027, D_8017D424 }, { 6028, D_8017D46C }, { 6029, D_8017D488 }, + { 6036, D_8017D4E8 }, { 6038, D_8017D508 }, { 6041, D_8017D540 }, { 6042, D_8017D580 }, { 6045, D_8017D5D4 }, + { 6050, D_8017D628 }, { 6051, D_8017D65C }, { 6055, D_8017D670 }, { 6066, D_8017D698 }, { 6067, D_8017D6DC }, + { 6068, D_8017D724 }, { 6069, D_8017D74C }, { 6071, D_8017D78C }, { 6072, D_8017D7C8 }, { 6073, D_8017D804 }, + { 6074, D_8017D830 }, { 6075, D_8017D874 }, { 6076, D_8017D8BC }, { 6077, D_8017D8FC }, { 6078, D_8017D94C }, + { 6079, D_8017D968 }, { 6080, D_8017D988 }, { 6081, D_8017D9D8 }, { 6082, D_8017DA1C }, { 6090, D_8017DA54 }, + { 6100, D_8017DA70 }, { 6101, D_8017DAC0 }, { 7005, D_8017DAF4 }, { 7006, D_8017DB2C }, { 7011, D_8017DB74 }, + { 7012, D_8017DBB0 }, { 7013, D_8017DBF8 }, { 7014, D_8017DC28 }, { 7020, D_8017DC54 }, { 7043, D_8017DC9C }, + { 7050, D_8017DCEC }, { 7051, D_8017DD20 }, { 7052, D_8017DD6C }, { 7053, D_8017DD90 }, { 7054, D_8017DDB0 }, + { 7061, D_8017DDE8 }, { 7064, D_8017DE34 }, { 7065, D_8017DE7C }, { 7066, D_8017DECC }, { 7070, D_8017DF1C }, + { 7083, D_8017DF4C }, { 7084, D_8017DFA0 }, { 7085, D_8017DFE4 }, { 7086, D_8017E014 }, { 7087, D_8017E030 }, + { 7093, D_8017E07C }, { 7094, D_8017E0D4 }, { 7095, D_8017E120 }, { 7096, D_8017E174 }, { 7097, D_8017E1BC }, + { 7098, D_8017E1EC }, { 7099, D_8017E21C }, { 7100, D_8017E264 }, { 8010, D_8017E280 }, { 8020, D_8017E2C8 }, + { 8030, D_8017E318 }, { 8040, D_8017E36C }, { 8045, D_8017E3A4 }, { 8050, D_8017E3E4 }, { 8060, D_8017E414 }, + { 8070, D_8017E440 }, { 8080, D_8017E46C }, { 8100, D_8017E4A4 }, { 8110, D_8017E4E0 }, { 8120, D_8017E528 }, + { 8130, D_8017E574 }, { 8140, D_8017E590 }, { 8205, D_8017E5CC }, { 8210, D_8017E60C }, { 8215, D_8017E664 }, + { 8220, D_8017E6A0 }, { 8230, D_8017E6B0 }, { 8240, D_8017E6C0 }, { 8250, D_8017E6D0 }, { 8255, D_8017E720 }, + { 8260, D_8017E76C }, { 8265, D_8017E7B4 }, { 8300, D_8017E800 }, { 8310, D_8017E82C }, { 8320, D_8017E858 }, + { 9000, D_8017E8A8 }, { 9010, D_8017E8E4 }, { 9100, D_8017E934 }, { 9110, D_8017E974 }, { 9120, D_8017E9AC }, + { 9130, D_8017E9FC }, { 9140, D_8017EA34 }, { 9150, D_8017EA88 }, { 9151, D_8017EACC }, { 9152, D_8017EAF0 }, + { 9153, D_8017EB14 }, { 9160, D_8017EB44 }, { 9170, D_8017EB9C }, { 9180, D_8017EBD4 }, { 9190, D_8017EC24 }, + { 9200, D_8017EC60 }, { 9210, D_8017ECAC }, { 9211, D_8017ECF4 }, { 9212, D_8017ED28 }, { 9213, D_8017ED50 }, + { 9220, D_8017ED70 }, { 9230, D_8017ED9C }, { 9240, D_8017EDB8 }, { 9250, D_8017EDE0 }, { 9260, D_8017EE28 }, + { 9270, D_8017EE80 }, { 9275, D_8017EEDC }, { 9280, D_8017EF14 }, { 9285, D_8017EF50 }, { 9289, D_8017EFA0 }, + { 9290, D_8017EFF0 }, { 9300, D_8017F048 }, { 9310, D_8017F090 }, { 9320, D_8017F0D4 }, { 9322, D_8017F114 }, + { 9323, D_8017F144 }, { 9324, D_8017F194 }, { 9325, D_8017F1DC }, { 9330, D_8017F218 }, { 9340, D_8017F26C }, + { 9350, D_8017F2A4 }, { 9360, D_8017F2E8 }, { 9365, D_8017F31C }, { 9366, D_8017F344 }, { 9367, D_8017F37C }, + { 9368, D_8017F3C8 }, { 9369, D_8017F3EC }, { 9375, D_8017F410 }, { 9380, D_8017F460 }, { 9385, D_8017F4A8 }, + { 9390, D_8017F4F8 }, { 9395, D_8017F540 }, { 9400, D_8017F578 }, { 9405, D_8017F5B0 }, { 9411, D_8017F5EC }, + { 9420, D_8017F630 }, { 9425, D_8017F684 }, { 9426, D_8017F6B0 }, { 9427, D_8017F6FC }, { 9428, D_8017F72C }, + { 9429, D_8017F754 }, { 9430, D_8017F780 }, { 9431, D_8017F7BC }, { 9432, D_8017F808 }, { 9433, D_8017F844 }, + { 9434, D_8017F894 }, { 9436, D_8017F8C8 }, { 9437, D_8017F8F4 }, { 9438, D_8017F920 }, { 10010, D_8017F94C }, + { 10020, D_8017F998 }, { 10040, D_8017F9D8 }, { 10050, D_8017FA00 }, { 10060, D_8017FA28 }, { 10070, D_8017FA94 }, + { 10080, D_8017FADC }, { 10200, D_8017FB14 }, { 10210, D_8017FB6C }, { 10220, D_8017FB80 }, { 10230, D_8017FBCC }, + { 10255, D_8017FC00 }, { 10300, D_8017FC40 }, { 10310, D_8017FC88 }, { 10320, D_8017FCC4 }, { 10321, D_8017FD10 }, + { 10322, D_8017FD50 }, { 10323, D_8017FD9C }, { 10324, D_8017FDF0 }, { 11010, D_8017FE50 }, { 11020, D_8017FE94 }, + { 11030, D_8017FED8 }, { 11040, D_8017FF08 }, { 11050, D_8017FF38 }, { 11060, D_8017FF8C }, { 11100, D_8017FFCC }, + { 11110, D_8018000C }, { 11120, D_80180060 }, { 11130, D_801800B8 }, { 11150, D_801800FC }, { 11160, D_80180138 }, + { 11200, D_80180178 }, { 11210, D_801801A8 }, { 11220, D_801801EC }, { 11230, D_80180238 }, { 11240, D_80180278 }, + { 11241, D_801802A4 }, { 14020, D_801802E0 }, { 14030, D_8018031C }, { 14040, D_80180368 }, { 14045, D_801803A8 }, + { 14050, D_80180400 }, { 14060, D_80180458 }, { 14070, D_801804AC }, { 14080, D_801804EC }, { 14100, D_8018052C }, + { 14110, D_80180570 }, { 14120, D_801805BC }, { 14130, D_80180608 }, { 14140, D_80180644 }, { 14150, D_801806A0 }, + { 14160, D_801806DC }, { 14170, D_8018070C }, { 14180, D_8018074C }, { 14190, D_80180784 }, { 14200, D_801807D8 }, + { 14210, D_80180810 }, { 14220, D_80180854 }, { 14230, D_80180884 }, { 14300, D_801808CC }, { 14310, D_80180900 }, + { 14320, D_80180948 }, { 14330, D_80180980 }, { 14340, D_801809AC }, { 14350, D_801809FC }, { 14360, D_80180A2C }, + { 14370, D_80180A50 }, { 15010, D_80180A9C }, { 15030, D_80180AEC }, { 15040, D_80180B38 }, { 15045, D_80180B8C }, + { 15050, D_80180BAC }, { 15051, D_80180BE8 }, { 15052, D_80180C38 }, { 15053, D_80180C88 }, { 15054, D_80180CE8 }, + { 15060, D_80180D20 }, { 15100, D_80180D44 }, { 15110, D_80180D80 }, { 15120, D_80180DB8 }, { 15130, D_80180DEC }, + { 15140, D_80180E10 }, { 15200, D_80180E38 }, { 15210, D_80180E70 }, { 15220, D_80180EC4 }, { 15230, D_80180EF4 }, + { 15240, D_80180F30 }, { 15250, D_80180F68 }, { 15251, D_80180FB0 }, { 15252, D_80180FFC }, { 15253, D_8018102C }, + { 15254, D_80181080 }, { 16010, D_801810B0 }, { 16020, D_801810F8 }, { 16030, D_80181134 }, { 16040, D_80181154 }, + { 16046, D_8018119C }, { 16047, D_801811D8 }, { 16050, D_80181220 }, { 16055, D_8018126C }, { 16060, D_801812BC }, + { 16080, D_801812E0 }, { 16085, D_80181328 }, { 16090, D_80181370 }, { 16100, D_801813B0 }, { 16110, D_801813F0 }, + { 16120, D_80181438 }, { 16125, D_8018147C }, { 16130, D_801814D4 }, { 16135, D_80181504 }, { 16140, D_80181530 }, + { 16150, D_80181584 }, { 16160, D_801815B0 }, { 16165, D_8018160C }, { 16170, D_8018163C }, { 16175, D_80181664 }, + { 16180, D_80181698 }, { 16185, D_801816C8 }, { 16200, D_80181714 }, { 16210, D_80181748 }, { 16220, D_801817A0 }, + { 16230, D_801817DC }, { 16240, D_80181830 }, { 16250, D_8018184C }, { 16260, D_80181874 }, { 16270, D_801818A8 }, + { 16280, D_801818F4 }, { 17010, D_80181930 }, { 17020, D_80181980 }, { 17030, D_801819D0 }, { 17100, D_80181A24 }, + { 17110, D_80181A80 }, { 17120, D_80181AB8 }, { 17130, D_80181B0C }, { 17131, D_80181B60 }, { 17140, D_80181B94 }, + { 17150, D_80181BF4 }, { 17160, D_80181C30 }, { 17170, D_80181C58 }, { 17300, D_80181CB4 }, { 17310, D_80181D10 }, + { 17320, D_80181D54 }, { 17330, D_80181DA4 }, { 17350, D_80181E00 }, { 17360, D_80181E4C }, { 17370, D_80181E98 }, + { 17380, D_80181EDC }, { 17390, D_80181F28 }, { 17400, D_80181F44 }, { 17410, D_80181F8C }, { 17420, D_80181FD8 }, + { 17430, D_80182028 }, { 17440, D_80182054 }, { 17450, D_8018206C }, { 17460, D_80182090 }, { 17470, D_801820D0 }, + { 17471, D_801820E8 }, { 17472, D_8018211C }, { 17473, D_80182144 }, { 17474, D_8018216C }, { 17475, D_801821A8 }, + { 17476, D_801821F4 }, { 18000, D_80182210 }, { 18005, D_8018225C }, { 18006, D_80182284 }, { 18007, D_801822D8 }, + { 18010, D_80182314 }, { 18015, D_8018236C }, { 18018, D_801823B0 }, { 18020, D_801823E8 }, { 18021, D_80182424 }, + { 18022, D_80182484 }, { 18025, D_801824AC }, { 18030, D_80182504 }, { 18031, D_80182544 }, { 18035, D_80182584 }, + { 18040, D_801825A8 }, { 18045, D_80182600 }, { 18050, D_80182630 }, { 18055, D_80182680 }, { 18060, D_801826E0 }, + { 18065, D_80182728 }, { 18066, D_80182774 }, { 18070, D_801827A8 }, { 18075, D_801827E4 }, { 18080, D_80182824 }, + { 18085, D_80182844 }, { 18090, D_8018287C }, { 18095, D_801828A0 }, { 18100, D_801828C8 }, { 18105, D_8018291C }, + { 18120, D_80182940 }, { 18130, D_80182980 }, { 18140, D_801829B8 }, { 18150, D_801829FC }, { 19010, D_80182A58 }, + { 19205, D_80182A94 }, { 19200, D_80182AB0 }, { 19210, D_80182AF4 }, { 19220, D_80182B4C }, { 19230, D_80182BA0 }, + { 19240, D_80182BF8 }, { 19250, D_80182C4C }, { 19325, D_80182C80 }, { 19330, D_80182CC0 }, { 19335, D_80182D14 }, + { 19340, D_80182D68 }, { 19350, D_80182D8C }, { 19355, D_80182DA4 }, { 19360, D_80182DC8 }, { 19370, D_80182E18 }, + { 19400, D_80182E58 }, { 19410, D_80182E7C }, { 19420, D_80182EA0 }, { 19430, D_80182ECC }, { 19440, D_80182EF8 }, + { 19450, D_80182F34 }, { 19451, D_80182F74 }, { 19452, D_80182FA8 }, { 19453, D_80182FF0 }, { 19454, D_80183028 }, + { 19455, D_80183068 }, { 19456, D_801830B0 }, { 19457, D_80183110 }, { 19458, D_8018314C }, { 19459, D_8018318C }, + { 19460, D_801831B4 }, { 19461, D_801831EC }, { 19462, D_80183204 }, { 19463, D_80183244 }, { 19464, D_80183280 }, + { 19465, D_801832AC }, { 19466, D_801832E4 }, { 19467, D_80183338 }, { 19468, D_80183380 }, { 20010, D_801833C0 }, + { 20011, D_801833F0 }, { 20012, D_8018341C }, { 20013, D_80183448 }, { 20014, D_80183488 }, { 20015, D_801834D4 }, + { 20016, D_8018350C }, { 20017, D_80183558 }, { 20018, D_8018359C }, { 20019, D_801835D0 }, { 20020, D_80183614 }, + { 20030, D_80183630 }, { 20040, D_8018366C }, { 20050, D_80183690 }, { 20060, D_801836B0 }, { 20070, D_801836F8 }, + { 20080, D_80183724 }, { 20084, D_80183760 }, { 20085, D_801837B4 }, { 20090, D_801837F8 }, { 20091, D_8018380C }, + { 20092, D_80183820 }, { 20150, D_80183834 }, { 20160, D_8018385C }, { 20170, D_80183898 }, { 20180, D_801838DC }, + { 20190, D_80183900 }, { 20200, D_80183950 }, { 20210, D_8018398C }, { 20220, D_801839B8 }, { 20221, D_80183A08 }, + { 20222, D_80183A64 }, { 20230, D_80183AAC }, { 20235, D_80183AFC }, { 20236, D_80183B40 }, { 20237, D_80183B84 }, + { 20238, D_80183BC0 }, { 20239, D_80183C00 }, { 20250, D_80183C48 }, { 20260, D_80183C80 }, { 20261, D_80183CA8 }, + { 20262, D_80183CF0 }, { 20263, D_80183D3C }, { 20264, D_80183D58 }, { 20265, D_80183D6C }, { 20266, D_80183D80 }, + { 20267, D_80183D94 }, { 20268, D_80183DC8 }, { 20269, D_80183E04 }, { 20270, D_80183E54 }, { 20271, D_80183E6C }, + { 20272, D_80183E90 }, { 20273, D_80183EA8 }, { 20274, D_80183EE8 }, { 20275, D_80183F28 }, { 20276, D_80183F64 }, + { 20277, D_80183FB0 }, { 20278, D_80183FFC }, { 20279, D_80184020 }, { 20280, D_8018406C }, { 20281, D_801840A8 }, + { 20282, D_801840EC }, { 20283, D_8018412C }, { 20284, D_80184168 }, { 20285, D_801841AC }, { 20286, D_80184208 }, + { 20287, D_80184238 }, { 20288, D_80184288 }, { 20289, D_801842D0 }, { 20290, D_801842F8 }, { 20291, D_80184348 }, + { 20292, D_80184378 }, { 20294, D_801843B0 }, { 20296, D_801843C8 }, { 20297, D_80184408 }, { 20298, D_80184424 }, + { 20299, D_80184474 }, { 20300, D_801844B0 }, { 20301, D_801844EC }, { 20302, D_80184528 }, { 20303, D_80184558 }, + { 20304, D_801845A8 }, { 20305, D_801845F8 }, { 20306, D_80184620 }, { 20307, D_80184644 }, { 20308, D_80184668 }, + { 20309, D_801846A0 }, { 20310, D_801846D8 }, { 20311, D_801846E8 }, { 20312, D_801846FC }, { 20313, D_80184718 }, + { 20314, D_80184758 }, { 20315, D_801847B0 }, { 20316, D_801847D4 }, { 20317, D_801847F8 }, { 20318, D_8018481C }, + { 20319, D_80184834 }, { 20320, D_8018484C }, { 20321, D_80184864 }, { 20326, D_8018487C }, { 20327, D_801848B8 }, + { 20328, D_801848F4 }, { 20329, D_8018490C }, { 20330, D_80184960 }, { 20331, D_801849B8 }, { 20332, D_80184A04 }, + { 20333, D_80184A4C }, { 20337, D_80184A94 }, { 20338, D_80184AE0 }, { 20339, D_80184B2C }, { 20340, D_80184B7C }, + { 20343, D_80184BD0 }, { 20344, D_80184C1C }, { 20345, D_80184C68 }, { 21010, D_80184CB4 }, { 21020, D_80184CF8 }, + { 21030, D_80184D78 }, { 21050, D_80184DDC }, { 21060, D_80184E18 }, { 21070, D_80184E58 }, { 21071, D_80184E80 }, + { 21072, D_80184EA4 }, { 21073, D_80184EC4 }, { 21080, D_80184EE8 }, { 21081, D_80184F10 }, { 21082, D_80184F34 }, + { 21083, D_80184F54 }, { 21090, D_80184F78 }, { 21091, D_80184FA0 }, { 21092, D_80184FC4 }, { 21093, D_80184FE4 }, + { 22000, D_80185008 }, { 22001, D_8018501C }, { 22002, D_80185030 }, { 22003, D_80185044 }, { 22004, D_80185050 }, + { 22005, D_80185068 }, { 22006, D_80185084 }, { 22007, D_80185094 }, { 22008, D_801850A8 }, { 22009, D_801850BC }, + { 22010, D_801850D8 }, { 22011, D_801850E8 }, { 22012, D_80185140 }, { 22013, D_80185158 }, { 22014, D_80185174 }, + { 22015, D_8018518C }, { 22016, D_801851A8 }, { 22017, D_801851C4 }, { 22018, D_801851D4 }, { 22019, D_801851F0 }, + { 22020, D_8018520C }, { 23000, D_80185228 }, { 23001, D_8018526C }, { 23002, D_801852D4 }, { 23003, D_80185330 }, + { 23004, D_801853A8 }, { 23005, D_80185400 }, { 23006, D_80185458 }, { 23007, D_801854A8 }, { 23008, D_801854F8 }, + { 23009, D_80185564 }, { 23010, D_801855BC }, { 23011, D_8018561C }, { 23012, D_80185674 }, { 23013, D_801856BC }, + { 23014, D_80185708 }, { 23015, D_80185750 }, { 23016, D_80185780 }, { 23017, D_801857B0 }, { 23018, D_801857F8 }, + { 23019, D_80185840 }, { 23020, D_8018587C }, { 23021, D_801858C8 }, { 23022, D_8018591C }, { 23023, D_8018596C }, + { 23024, D_801859A8 }, { 23025, D_80185A08 }, { 23026, D_80185A6C }, { 23027, D_80185ABC }, { 23028, D_80185B08 }, + { 23029, D_80185B48 }, { 23030, D_80185BA0 }, { 23031, D_80185C00 }, { 23032, D_80185C68 }, { -1, NULL }, +}; diff --git a/src/main/dmatable.c b/src/main/dmatable.c new file mode 100644 index 00000000..a3efae89 --- /dev/null +++ b/src/main/dmatable.c @@ -0,0 +1,73 @@ +#include "sf64dma.h" + +#define DMA_ENTRY(file) \ + { file##_ROM_START, { file##_ROM_START, file##_ROM_END }, false } +#define DMA_ENTRY_NONE \ + { NULL, { NULL, NULL }, false } + +DmaEntry gDmaTable[90] = { + { SEGMENT_ROM_START(makerom), { SEGMENT_ROM_START(makerom), SEGMENT_ROM_END(makerom) }, false }, + { SEGMENT_ROM_START(main), { SEGMENT_ROM_START(main), SEGMENT_ROM_END(main) }, false }, + { SEGMENT_ROM_START(dma_table), { SEGMENT_ROM_START(dma_table), SEGMENT_ROM_END(dma_table) }, false }, + { SEGMENT_ROM_START(audio_seq), { SEGMENT_ROM_START(audio_seq), SEGMENT_ROM_END(audio_seq) }, false }, + { SEGMENT_ROM_START(audio_bank), { SEGMENT_ROM_START(audio_bank), SEGMENT_ROM_END(audio_bank) }, false }, + { SEGMENT_ROM_START(audio_table), { SEGMENT_ROM_START(audio_table), SEGMENT_ROM_END(audio_table) }, false }, + { SEGMENT_ROM_START(ast_873CB0), { SEGMENT_ROM_START(ast_873CB0), SEGMENT_ROM_END(ast_873CB0) }, false }, + { SEGMENT_ROM_START(ast_8A68C0), { SEGMENT_ROM_START(ast_8A68C0), SEGMENT_ROM_END(ast_8A68C0) }, false }, + { SEGMENT_ROM_START(ast_8AE0A0), { SEGMENT_ROM_START(ast_8AE0A0), SEGMENT_ROM_END(ast_8AE0A0) }, false }, + { SEGMENT_ROM_START(ast_8BFC00), { SEGMENT_ROM_START(ast_8BFC00), SEGMENT_ROM_END(ast_8BFC00) }, false }, + { SEGMENT_ROM_START(ast_8D99F0), { SEGMENT_ROM_START(ast_8D99F0), SEGMENT_ROM_END(ast_8D99F0) }, false }, + { SEGMENT_ROM_START(ast_8E1F80), { SEGMENT_ROM_START(ast_8E1F80), SEGMENT_ROM_END(ast_8E1F80) }, false }, + { SEGMENT_ROM_START(ast_8E92D0), { SEGMENT_ROM_START(ast_8E92D0), SEGMENT_ROM_END(ast_8E92D0) }, false }, + { SEGMENT_ROM_START(ast_918430), { SEGMENT_ROM_START(ast_918430), SEGMENT_ROM_END(ast_918430) }, false }, + { SEGMENT_ROM_START(ast_922730), { SEGMENT_ROM_START(ast_922730), SEGMENT_ROM_END(ast_922730) }, false }, + { SEGMENT_ROM_START(ast_92EC40), { SEGMENT_ROM_START(ast_92EC40), SEGMENT_ROM_END(ast_92EC40) }, false }, + { SEGMENT_ROM_START(ast_940AD0), { SEGMENT_ROM_START(ast_940AD0), SEGMENT_ROM_END(ast_940AD0) }, false }, + { SEGMENT_ROM_START(ast_955270), { SEGMENT_ROM_START(ast_955270), SEGMENT_ROM_END(ast_955270) }, false }, + { SEGMENT_ROM_START(ast_961CE0), { SEGMENT_ROM_START(ast_961CE0), SEGMENT_ROM_END(ast_961CE0) }, false }, + { SEGMENT_ROM_START(ast_9A1460), { SEGMENT_ROM_START(ast_9A1460), SEGMENT_ROM_END(ast_9A1460) }, false }, + { SEGMENT_ROM_START(ast_9D2FD0), { SEGMENT_ROM_START(ast_9D2FD0), SEGMENT_ROM_END(ast_9D2FD0) }, false }, + { SEGMENT_ROM_START(ast_9DD390), { SEGMENT_ROM_START(ast_9DD390), SEGMENT_ROM_END(ast_9DD390) }, false }, + { SEGMENT_ROM_START(ast_9EB5E0), { SEGMENT_ROM_START(ast_9EB5E0), SEGMENT_ROM_END(ast_9EB5E0) }, false }, + { SEGMENT_ROM_START(ast_9F4880), { SEGMENT_ROM_START(ast_9F4880), SEGMENT_ROM_END(ast_9F4880) }, false }, + { SEGMENT_ROM_START(ast_A049A0), { SEGMENT_ROM_START(ast_A049A0), SEGMENT_ROM_END(ast_A049A0) }, false }, + { SEGMENT_ROM_START(ast_A0E340), { SEGMENT_ROM_START(ast_A0E340), SEGMENT_ROM_END(ast_A0E340) }, false }, + { SEGMENT_ROM_START(ast_A1D0F0), { SEGMENT_ROM_START(ast_A1D0F0), SEGMENT_ROM_END(ast_A1D0F0) }, false }, + { SEGMENT_ROM_START(ast_A4FBB0), { SEGMENT_ROM_START(ast_A4FBB0), SEGMENT_ROM_END(ast_A4FBB0) }, false }, + { SEGMENT_ROM_START(ast_A58F60), { SEGMENT_ROM_START(ast_A58F60), SEGMENT_ROM_END(ast_A58F60) }, false }, + { SEGMENT_ROM_START(ast_A8B470), { SEGMENT_ROM_START(ast_A8B470), SEGMENT_ROM_END(ast_A8B470) }, false }, + { SEGMENT_ROM_START(ast_AB4000), { SEGMENT_ROM_START(ast_AB4000), SEGMENT_ROM_END(ast_AB4000) }, false }, + { SEGMENT_ROM_START(ast_ACF960), { SEGMENT_ROM_START(ast_ACF960), SEGMENT_ROM_END(ast_ACF960) }, false }, + { SEGMENT_ROM_START(ast_AE60A0), { SEGMENT_ROM_START(ast_AE60A0), SEGMENT_ROM_END(ast_AE60A0) }, false }, + { SEGMENT_ROM_START(ast_B0AA00), { SEGMENT_ROM_START(ast_B0AA00), SEGMENT_ROM_END(ast_B0AA00) }, false }, + { SEGMENT_ROM_START(ast_B1CA50), { SEGMENT_ROM_START(ast_B1CA50), SEGMENT_ROM_END(ast_B1CA50) }, false }, + { SEGMENT_ROM_START(ast_B2CA50), { SEGMENT_ROM_START(ast_B2CA50), SEGMENT_ROM_END(ast_B2CA50) }, false }, + { SEGMENT_ROM_START(ast_B612E0), { SEGMENT_ROM_START(ast_B612E0), SEGMENT_ROM_END(ast_B612E0) }, false }, + { SEGMENT_ROM_START(ast_B84560), { SEGMENT_ROM_START(ast_B84560), SEGMENT_ROM_END(ast_B84560) }, false }, + { SEGMENT_ROM_START(ast_BB11D0), { SEGMENT_ROM_START(ast_BB11D0), SEGMENT_ROM_END(ast_BB11D0) }, false }, + { SEGMENT_ROM_START(ast_BC23D0), { SEGMENT_ROM_START(ast_BC23D0), SEGMENT_ROM_END(ast_BC23D0) }, false }, + { SEGMENT_ROM_START(ast_BFA740), { SEGMENT_ROM_START(ast_BFA740), SEGMENT_ROM_END(ast_BFA740) }, false }, + { SEGMENT_ROM_START(ast_BFC510), { SEGMENT_ROM_START(ast_BFC510), SEGMENT_ROM_END(ast_BFC510) }, false }, + { SEGMENT_ROM_START(ast_C48F40), { SEGMENT_ROM_START(ast_C48F40), SEGMENT_ROM_END(ast_C48F40) }, false }, + { SEGMENT_ROM_START(ast_CA9DE0), { SEGMENT_ROM_START(ast_CA9DE0), SEGMENT_ROM_END(ast_CA9DE0) }, false }, + { SEGMENT_ROM_START(ast_CBFE70), { SEGMENT_ROM_START(ast_CBFE70), SEGMENT_ROM_END(ast_CBFE70) }, false }, + { SEGMENT_ROM_START(ast_CD2410), { SEGMENT_ROM_START(ast_CD2410), SEGMENT_ROM_END(ast_CD2410) }, false }, + { SEGMENT_ROM_START(ast_CDDCA0), { SEGMENT_ROM_START(ast_CDDCA0), SEGMENT_ROM_END(ast_CDDCA0) }, false }, + { SEGMENT_ROM_START(ast_CE9E70), { SEGMENT_ROM_START(ast_CE9E70), SEGMENT_ROM_END(ast_CE9E70) }, false }, + { SEGMENT_ROM_START(ast_D25100), { SEGMENT_ROM_START(ast_D25100), SEGMENT_ROM_END(ast_D25100) }, false }, + { SEGMENT_ROM_START(ast_D27600), { SEGMENT_ROM_START(ast_D27600), SEGMENT_ROM_END(ast_D27600) }, false }, + { SEGMENT_ROM_START(ast_D43400), { SEGMENT_ROM_START(ast_D43400), SEGMENT_ROM_END(ast_D43400) }, false }, + { SEGMENT_ROM_START(ast_D68480), { SEGMENT_ROM_START(ast_D68480), SEGMENT_ROM_END(ast_D68480) }, false }, + { SEGMENT_ROM_START(ast_D91F10), { SEGMENT_ROM_START(ast_D91F10), SEGMENT_ROM_END(ast_D91F10) }, false }, + { SEGMENT_ROM_START(ast_DDC010), { SEGMENT_ROM_START(ast_DDC010), SEGMENT_ROM_END(ast_DDC010) }, false }, + { SEGMENT_ROM_START(ast_DE5D50), { SEGMENT_ROM_START(ast_DE5D50), SEGMENT_ROM_END(ast_DE5D50) }, false }, + { SEGMENT_ROM_START(ovl_DF4260), { SEGMENT_ROM_START(ovl_DF4260), SEGMENT_ROM_END(ovl_DF4260) }, false }, + { SEGMENT_ROM_START(ovl_E08400), { SEGMENT_ROM_START(ovl_E08400), SEGMENT_ROM_END(ovl_E08400) }, false }, + { SEGMENT_ROM_START(ovl_E16C50), { SEGMENT_ROM_START(ovl_E16C50), SEGMENT_ROM_END(ovl_E16C50) }, false }, + { SEGMENT_ROM_START(ovl_E51970), { SEGMENT_ROM_START(ovl_E51970), SEGMENT_ROM_END(ovl_E51970) }, false }, + { SEGMENT_ROM_START(ovl_E6A810), { SEGMENT_ROM_START(ovl_E6A810), SEGMENT_ROM_END(ovl_E6A810) }, false }, + { SEGMENT_ROM_START(ovl_E9F1D0), { SEGMENT_ROM_START(ovl_E9F1D0), SEGMENT_ROM_END(ovl_E9F1D0) }, false }, + { SEGMENT_ROM_START(ovl_EBFBE0), { SEGMENT_ROM_START(ovl_EBFBE0), SEGMENT_ROM_END(ovl_EBFBE0) }, false }, + { SEGMENT_ROM_START(ovl_EF0260), { SEGMENT_ROM_START(ovl_EF0260), SEGMENT_ROM_END(ovl_EF0260) }, false }, + { SEGMENT_ROM_START(ovl_EFFA40), { SEGMENT_ROM_START(ovl_EFFA40), SEGMENT_ROM_END(ovl_EFFA40) }, false }, +}; diff --git a/src/main/sf_2EFE0.c b/src/main/fox_2EFE0.c similarity index 100% rename from src/main/sf_2EFE0.c rename to src/main/fox_2EFE0.c diff --git a/src/main/sf_59780.c b/src/main/fox_59780.c similarity index 83% rename from src/main/sf_59780.c rename to src/main/fox_59780.c index fba7cfbe..adec9e59 100644 --- a/src/main/sf_59780.c +++ b/src/main/fox_59780.c @@ -1,9 +1,11 @@ #include "global.h" +#include "sf64dma.h" #define SEGMENT_SIZE(segment) ((ptrdiff_t) ((uintptr_t) (segment).end - (uintptr_t) (segment).start)) -extern u8 func_80187520[]; -extern OverlayInit D_800CBDD4; +u8 D_800CA3B0 = 3; + +#include "fox_59780_inits.c" void func_80058B80(void* arg0, void* arg1, ptrdiff_t arg2) { s32 i; @@ -25,22 +27,22 @@ void func_80058B80(void* arg0, void* arg1, ptrdiff_t arg2) { } u8 func_80058C48(OverlayInit* ovlInit) { - u8* ramPtr = func_80187520; + u8* ramPtr = SEGMENT_VRAM_START(ovl_DF4260); u8 segment; u8 startLoad = false; - if (ovlInit->rom.start == (0, D_800CBDD4.rom.start)) { // fake because D_800CBDD4 is probably 2D array - ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->rom); - ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->bss); + if (ovlInit->ovl.rom.start == (0, D_800CBDD4.ovl.rom.start)) { // fake because D_800CBDD4 is probably 2D array + ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->ovl.rom); + ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->ovl.bss); } else { - D_800CBDD4.rom.start = ovlInit->rom.start; - D_800CBDD4.rom.end = ramPtr; - if (ovlInit->rom.start != 0) { + D_800CBDD4.ovl.rom.start = ovlInit->ovl.rom.start; + D_800CBDD4.ovl.rom.end = ramPtr; + if (ovlInit->ovl.rom.start != 0) { startLoad = true; - func_80058B80(ovlInit->rom.start, ramPtr, SEGMENT_SIZE(ovlInit->rom)); - ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->rom); - bzero(ovlInit->bss.start, SEGMENT_SIZE(ovlInit->bss)); - ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->bss); + func_80058B80(ovlInit->ovl.rom.start, ramPtr, SEGMENT_SIZE(ovlInit->ovl.rom)); + ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->ovl.rom); + bzero(ovlInit->ovl.bss.start, SEGMENT_SIZE(ovlInit->ovl.bss)); + ramPtr = ramPtr + SEGMENT_SIZE(ovlInit->ovl.bss); } } segment = 0; @@ -173,12 +175,7 @@ u8 func_80058F14(u8 arg0, u8 arg1) { return var_v1; } -extern u8 D_DE480[]; -extern u8 D_DE5D50[]; -extern u8 D_DEA20[]; -extern u8 D_DF4260[]; - void func_80059498(void) { - Lib_DmaRead(D_DE480, gDmaTable, D_DEA20 - D_DE480); - func_80058B80(D_DE5D50, D_80179010, D_DF4260 - D_DE5D50); + Lib_DmaRead(SEGMENT_ROM_START(dma_table), gDmaTable, SEGMENT_ROM_SIZE(dma_table)); + func_80058B80(SEGMENT_ROM_START(ast_DE5D50), D_80179010, SEGMENT_ROM_SIZE(ast_DE5D50)); } diff --git a/src/main/fox_59780_inits.c b/src/main/fox_59780_inits.c new file mode 100644 index 00000000..a1b2b7d0 --- /dev/null +++ b/src/main/fox_59780_inits.c @@ -0,0 +1,829 @@ +#include "sf64dma.h" + +#define NO_SEGMENT \ + { NULL, NULL } + +#define OVERLAY_OFFSETS(file) \ + { \ + { SEGMENT_ROM_START(file), SEGMENT_ROM_END(file) }, { SEGMENT_BSS_START(file), SEGMENT_BSS_END(file) }, \ + { SEGMENT_TEXT_START(file), SEGMENT_TEXT_END(file) }, { \ + SEGMENT_DATA_START(file), SEGMENT_RODATA_END(file) \ + } \ + } + +#define NO_OVERLAY \ + { \ + { NULL, NULL }, { NULL, NULL }, { NULL, NULL }, { \ + NULL, NULL \ + } \ + } + +#define ROM_SEGMENT(file) \ + { SEGMENT_ROM_START(file), SEGMENT_ROM_END(file) } + +OverlayInit D_800CA3B4[1] = { + { NO_OVERLAY, + { /* 0x1 */ NO_SEGMENT, + /* 0x2 */ NO_SEGMENT, + /* 0x3 */ NO_SEGMENT, + /* 0x4 */ NO_SEGMENT, + /* 0x5 */ NO_SEGMENT, + /* 0x6 */ NO_SEGMENT, + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ ROM_SEGMENT(ast_D25100) } }, +}; + +OverlayInit D_800CA44C[6] = { + { OVERLAY_OFFSETS(ovl_EF0260), + { /* 0x1 */ NO_SEGMENT, + /* 0x2 */ NO_SEGMENT, + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ NO_SEGMENT, + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ NO_SEGMENT, + /* 0x7 */ ROM_SEGMENT(ast_D27600), + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ ROM_SEGMENT(ast_955270), + /* 0xE */ ROM_SEGMENT(ast_92EC40), + /* 0xF */ NO_SEGMENT } }, + { OVERLAY_OFFSETS(ovl_EF0260), + { /* 0x1 */ NO_SEGMENT, + /* 0x2 */ NO_SEGMENT, + /* 0x3 */ NO_SEGMENT, + /* 0x4 */ NO_SEGMENT, + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_BFC510), + /* 0x7 */ ROM_SEGMENT(ast_D27600), + /* 0x8 */ ROM_SEGMENT(ast_D43400), + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, + { OVERLAY_OFFSETS(ovl_EF0260), + { /* 0x1 */ NO_SEGMENT, + /* 0x2 */ NO_SEGMENT, + /* 0x3 */ NO_SEGMENT, + /* 0x4 */ NO_SEGMENT, + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_BFC510), + /* 0x7 */ ROM_SEGMENT(ast_D27600), + /* 0x8 */ ROM_SEGMENT(ast_D68480), + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, + { OVERLAY_OFFSETS(ovl_EF0260), + { /* 0x1 */ NO_SEGMENT, + /* 0x2 */ NO_SEGMENT, + /* 0x3 */ NO_SEGMENT, + /* 0x4 */ NO_SEGMENT, + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_BFC510), + /* 0x7 */ ROM_SEGMENT(ast_D27600), + /* 0x8 */ ROM_SEGMENT(ast_D91F10), + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, + { OVERLAY_OFFSETS(ovl_EF0260), + { /* 0x1 */ NO_SEGMENT, + /* 0x2 */ NO_SEGMENT, + /* 0x3 */ NO_SEGMENT, + /* 0x4 */ NO_SEGMENT, + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_BFC510), + /* 0x7 */ ROM_SEGMENT(ast_D27600), + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ ROM_SEGMENT(ast_92EC40), + /* 0xF */ NO_SEGMENT } }, + { OVERLAY_OFFSETS(ovl_EF0260), + { /* 0x1 */ NO_SEGMENT, + /* 0x2 */ NO_SEGMENT, + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ NO_SEGMENT, + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ NO_SEGMENT, + /* 0x7 */ ROM_SEGMENT(ast_D27600), + /* 0x8 */ ROM_SEGMENT(ast_D91F10), + /* 0x9 */ ROM_SEGMENT(ast_CDDCA0), + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ ROM_SEGMENT(ast_92EC40), + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CA7DC[1] = { + { OVERLAY_OFFSETS(ovl_EBFBE0), + { /* 0x1 */ NO_SEGMENT, + /* 0x2 */ NO_SEGMENT, + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ NO_SEGMENT, + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_BFC510), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ ROM_SEGMENT(ast_92EC40), + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CA874[1] = { + { OVERLAY_OFFSETS(ovl_EBFBE0), + { /* 0x1 */ NO_SEGMENT, + /* 0x2 */ NO_SEGMENT, + /* 0x3 */ NO_SEGMENT, + /* 0x4 */ NO_SEGMENT, + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_C48F40), + /* 0x7 */ ROM_SEGMENT(ast_CBFE70), + /* 0x8 */ ROM_SEGMENT(ast_CA9DE0), + /* 0x9 */ ROM_SEGMENT(ast_CDDCA0), + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CA90C[1] = { + { OVERLAY_OFFSETS(ovl_EBFBE0), + { /* 0x1 */ NO_SEGMENT, + /* 0x2 */ NO_SEGMENT, + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ NO_SEGMENT, + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_C48F40), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ ROM_SEGMENT(ast_CDDCA0), + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CA9A4[1] = { + { OVERLAY_OFFSETS(ovl_EBFBE0), + { /* 0x1 */ NO_SEGMENT, + /* 0x2 */ NO_SEGMENT, + /* 0x3 */ NO_SEGMENT, + /* 0x4 */ NO_SEGMENT, + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ NO_SEGMENT, + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ ROM_SEGMENT(ast_CE9E70), + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CAA3C[1] = { + { OVERLAY_OFFSETS(ovl_DF4260), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_961CE0), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CAAD4[2] = { + { OVERLAY_OFFSETS(ovl_E08400), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8A68C0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_922730), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_9A1460), + /* 0x7 */ ROM_SEGMENT(ast_BFA740), + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ ROM_SEGMENT(ast_92EC40), + /* 0xF */ NO_SEGMENT } }, + { OVERLAY_OFFSETS(ovl_E08400), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8A68C0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_922730), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_9A1460), + /* 0x7 */ ROM_SEGMENT(ast_BFA740), + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ ROM_SEGMENT(ast_92EC40), + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CAC04[6] = { + { OVERLAY_OFFSETS(ovl_E6A810), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8D99F0), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_9D2FD0), + /* 0x7 */ ROM_SEGMENT(ast_A0E340), + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ ROM_SEGMENT(ast_92EC40), + /* 0xF */ NO_SEGMENT } }, + { OVERLAY_OFFSETS(ovl_E6A810), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8D99F0), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_9D2FD0), + /* 0x7 */ ROM_SEGMENT(ast_9DD390), + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, + { OVERLAY_OFFSETS(ovl_E6A810), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8D99F0), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_9D2FD0), + /* 0x7 */ ROM_SEGMENT(ast_9DD390), + /* 0x8 */ ROM_SEGMENT(ast_9EB5E0), + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, + { OVERLAY_OFFSETS(ovl_E6A810), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8D99F0), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_9D2FD0), + /* 0x7 */ ROM_SEGMENT(ast_9DD390), + /* 0x8 */ ROM_SEGMENT(ast_9EB5E0), + /* 0x9 */ ROM_SEGMENT(ast_9F4880), + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, + { OVERLAY_OFFSETS(ovl_E6A810), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8D99F0), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_9D2FD0), + /* 0x7 */ ROM_SEGMENT(ast_9DD390), + /* 0x8 */ ROM_SEGMENT(ast_9EB5E0), + /* 0x9 */ ROM_SEGMENT(ast_9F4880), + /* 0xA */ ROM_SEGMENT(ast_A049A0), + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, + { OVERLAY_OFFSETS(ovl_E6A810), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8D99F0), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_9D2FD0), + /* 0x7 */ ROM_SEGMENT(ast_9DD390), + /* 0x8 */ ROM_SEGMENT(ast_9EB5E0), + /* 0x9 */ ROM_SEGMENT(ast_9F4880), + /* 0xA */ ROM_SEGMENT(ast_A049A0), + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ ROM_SEGMENT(ast_92EC40), + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CAF94[2] = { + { OVERLAY_OFFSETS(ovl_E08400), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8A68C0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_922730), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_A1D0F0), + /* 0x7 */ ROM_SEGMENT(ast_BFA740), + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ ROM_SEGMENT(ast_955270), + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, + { OVERLAY_OFFSETS(ovl_E08400), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8A68C0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_922730), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_A1D0F0), + /* 0x7 */ ROM_SEGMENT(ast_BFA740), + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ ROM_SEGMENT(ast_955270), + /* 0xE */ ROM_SEGMENT(ast_92EC40), + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CB0C4[1] = { + { OVERLAY_OFFSETS(ovl_E51970), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8A68C0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_922730), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_A4FBB0), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ ROM_SEGMENT(ast_955270), + /* 0xE */ ROM_SEGMENT(ast_92EC40), + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CB15C[1] = { + { OVERLAY_OFFSETS(ovl_E16C50), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8E1F80), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_A58F60), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ ROM_SEGMENT(ast_92EC40), + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CB1F4[1] = { + { OVERLAY_OFFSETS(ovl_E16C50), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8A68C0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_922730), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_A8B470), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ ROM_SEGMENT(ast_92EC40), + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CB28C[2] = { + { OVERLAY_OFFSETS(ovl_E51970), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_B1CA50), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ ROM_SEGMENT(ast_940AD0) } }, + { OVERLAY_OFFSETS(ovl_E51970), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_B1CA50), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ ROM_SEGMENT(ast_92EC40), + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CB3BC[1] = { + { OVERLAY_OFFSETS(ovl_E16C50), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8A68C0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_922730), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_A8B470), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ ROM_SEGMENT(ast_92EC40), + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CB454[1] = { + { OVERLAY_OFFSETS(ovl_E9F1D0), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8A68C0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_922730), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_B2CA50), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CB4EC[1] = { + { OVERLAY_OFFSETS(ovl_E16C50), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_B612E0), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ ROM_SEGMENT(ast_955270), + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CB584[1] = { + { OVERLAY_OFFSETS(ovl_E16C50), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_B84560), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ ROM_SEGMENT(ast_955270), + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CB61C[1] = { + { OVERLAY_OFFSETS(ovl_DF4260), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_AB4000), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ ROM_SEGMENT(ast_AE60A0), + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ ROM_SEGMENT(ast_955270), + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CB6B4[1] = { + { OVERLAY_OFFSETS(ovl_E9F1D0), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ NO_SEGMENT, + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_ACF960), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ ROM_SEGMENT(ast_CE9E70), + /* 0xD */ ROM_SEGMENT(ast_955270), + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CB74C[2] = { + { OVERLAY_OFFSETS(ovl_E9F1D0), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_ACF960), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ ROM_SEGMENT(ast_940AD0) } }, + { OVERLAY_OFFSETS(ovl_E9F1D0), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_ACF960), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ ROM_SEGMENT(ast_92EC40), + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CB87C[1] = { + { OVERLAY_OFFSETS(ovl_E08400), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_AE60A0), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CB914[1] = { + { OVERLAY_OFFSETS(ovl_E51970), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8A68C0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_922730), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_B0AA00), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ ROM_SEGMENT(ast_940AD0) } }, +}; + +OverlayInit D_800CB9AC[1] = { + { OVERLAY_OFFSETS(ovl_E51970), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_BB11D0), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ ROM_SEGMENT(ast_955270), + /* 0xE */ NO_SEGMENT, + /* 0xF */ ROM_SEGMENT(ast_940AD0) } }, +}; + +OverlayInit D_800CBA44[2] = { + { OVERLAY_OFFSETS(ovl_E6A810), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8D99F0), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_BC23D0), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ ROM_SEGMENT(ast_955270), + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, + { OVERLAY_OFFSETS(ovl_E6A810), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8D99F0), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_BC23D0), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ ROM_SEGMENT(ast_92EC40), + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CBB74[1] = { + { OVERLAY_OFFSETS(ovl_DF4260), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8BFC00), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ ROM_SEGMENT(ast_DDC010), + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ ROM_SEGMENT(ast_940AD0) } }, +}; + +OverlayInit D_800CBC0C[2] = { + { OVERLAY_OFFSETS(ovl_E08400), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8AE0A0), + /* 0x3 */ ROM_SEGMENT(ast_8E92D0), + /* 0x4 */ ROM_SEGMENT(ast_918430), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ NO_SEGMENT, + /* 0x7 */ ROM_SEGMENT(ast_CBFE70), + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, + { OVERLAY_OFFSETS(ovl_E08400), + { /* 0x1 */ ROM_SEGMENT(ast_873CB0), + /* 0x2 */ ROM_SEGMENT(ast_8A68C0), + /* 0x3 */ ROM_SEGMENT(ast_8E92D0), + /* 0x4 */ ROM_SEGMENT(ast_922730), + /* 0x5 */ ROM_SEGMENT(ast_CD2410), + /* 0x6 */ NO_SEGMENT, + /* 0x7 */ ROM_SEGMENT(ast_CBFE70), + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CBD3C[1] = { + { OVERLAY_OFFSETS(ovl_EFFA40), + { /* 0x1 */ NO_SEGMENT, + /* 0x2 */ NO_SEGMENT, + /* 0x3 */ NO_SEGMENT, + /* 0x4 */ NO_SEGMENT, + /* 0x5 */ NO_SEGMENT, + /* 0x6 */ NO_SEGMENT, + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT } }, +}; + +OverlayInit D_800CBDD4 = { + NO_OVERLAY, + { /* 0x1 */ NO_SEGMENT, + /* 0x2 */ NO_SEGMENT, + /* 0x3 */ NO_SEGMENT, + /* 0x4 */ NO_SEGMENT, + /* 0x5 */ NO_SEGMENT, + /* 0x6 */ NO_SEGMENT, + /* 0x7 */ NO_SEGMENT, + /* 0x8 */ NO_SEGMENT, + /* 0x9 */ NO_SEGMENT, + /* 0xA */ NO_SEGMENT, + /* 0xB */ NO_SEGMENT, + /* 0xC */ NO_SEGMENT, + /* 0xD */ NO_SEGMENT, + /* 0xE */ NO_SEGMENT, + /* 0xF */ NO_SEGMENT }, +}; diff --git a/src/main/sf_5A0F0.c b/src/main/fox_5A0F0.c similarity index 100% rename from src/main/sf_5A0F0.c rename to src/main/fox_5A0F0.c diff --git a/src/main/sf_61B30.c b/src/main/fox_61B30.c similarity index 99% rename from src/main/sf_61B30.c rename to src/main/fox_61B30.c index 36b510c0..72c76c29 100644 --- a/src/main/sf_61B30.c +++ b/src/main/fox_61B30.c @@ -1558,7 +1558,7 @@ void func_800656D4(Object_2F4* arg0) { } } #else -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_61B30/func_800656D4.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_61B30/func_800656D4.s") #endif void func_800660F0(Object_2F4* arg0) { @@ -2868,4 +2868,4 @@ void func_8006A3E8(void) { } } -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_61B30/D_800D63D0.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_61B30/D_800D63D0.s") diff --git a/src/main/sf_84F70.c b/src/main/fox_84F70.c similarity index 98% rename from src/main/sf_84F70.c rename to src/main/fox_84F70.c index 1ff7b74b..88446766 100644 --- a/src/main/sf_84F70.c +++ b/src/main/fox_84F70.c @@ -178,5 +178,5 @@ void func_800846F0(FrameBuffer* arg0) { osWritebackDCacheAll(); } #else -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_84F70/func_800846F0.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_84F70/func_800846F0.s") #endif diff --git a/src/main/sf_9A580.c b/src/main/fox_9A580.c similarity index 91% rename from src/main/sf_9A580.c rename to src/main/fox_9A580.c index 75318168..84d36a70 100644 --- a/src/main/sf_9A580.c +++ b/src/main/fox_9A580.c @@ -465,8 +465,9 @@ f32 func_8009BD38(f32* angle, f32 target, f32 scale, f32 maxStep, f32 minStep) { return var_fv1; } -#ifdef NON_MATCHING void func_8009BEEC(Vec3f* src, Vec3f* dst, s32 mode, s32 count, f32 scale, f32 maxStep, f32 minStep) { + Vec3f* srcTemp; + Vec3f* dstTemp; s32 i; switch (mode) { @@ -478,22 +479,24 @@ void func_8009BEEC(Vec3f* src, Vec3f* dst, s32 mode, s32 count, f32 scale, f32 m } break; case 1: - func_8009BC2C(&dst->x, src->x, scale, maxStep, minStep); - func_8009BC2C(&dst->y, src->y, scale, maxStep, minStep); - func_8009BC2C(&dst->z, src->z, scale, maxStep, minStep); + dstTemp = dst; + srcTemp = src; + func_8009BC2C(&dstTemp->x, srcTemp->x, scale, maxStep, minStep); + func_8009BC2C(&dstTemp->y, srcTemp->y, scale, maxStep, minStep); + func_8009BC2C(&dstTemp->z, srcTemp->z, scale, maxStep, minStep); + dstTemp++; + srcTemp++; - for (i = 1, src++, dst++; i < count; i++, src++, dst++) { - func_8009BD38(&dst->x, src->x, scale, maxStep, minStep); - func_8009BD38(&dst->y, src->y, scale, maxStep, minStep); - func_8009BD38(&dst->z, src->z, scale, maxStep, minStep); + for (i = 1; i < count; i++, dstTemp++, srcTemp++) { + func_8009BD38(&dstTemp->x, srcTemp->x, scale, maxStep, minStep); + func_8009BD38(&dstTemp->y, srcTemp->y, scale, maxStep, minStep); + func_8009BD38(&dstTemp->z, srcTemp->z, scale, maxStep, minStep); } break; + default: + break; } } -#else -void func_8009BEEC(Vec3f* src, Vec3f* dst, s32 mode, s32 count, f32 scale, f32 maxStep, f32 minStep); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_9A580/func_8009BEEC.s") -#endif s32 func_8009C124(Vec3f* pos, Vec3f* target, Vec3f* rot, f32 stepSize, f32 scaleTurn, f32 maxTurn, f32 dist) { Vec3f diff; @@ -527,8 +530,8 @@ s32 func_8009C124(Vec3f* pos, Vec3f* target, Vec3f* rot, f32 stepSize, f32 scale return sqrtf(VEC3F_SQ(diff)) < dist; } -void func_8009C320(Gfx** gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, - f32 yScale) { +void TextureRect_4bCI(Gfx** gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, + f32 yScale) { gDPLoadTLUT_pal16((*gfxPtr)++, 0, palette); gDPLoadTextureBlock_4b((*gfxPtr)++, texture, G_IM_FMT_CI, width, height, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); @@ -537,8 +540,8 @@ void func_8009C320(Gfx** gfxPtr, void* texture, void* palette, u32 width, u32 he (s32) (1.0f / yScale * 1024.0f)); } -void func_8009C674(Gfx** gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, - f32 yScale) { +void TextureRect_4bCI_Flip(Gfx** gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, + f32 xScale, f32 yScale) { gDPLoadTLUT_pal16((*gfxPtr)++, 0, palette); gDPLoadTextureBlock_4b((*gfxPtr)++, texture, G_IM_FMT_CI, width, height, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); @@ -547,8 +550,8 @@ void func_8009C674(Gfx** gfxPtr, void* texture, void* palette, u32 width, u32 he (s32) (1.0f / xScale * 1024.0f), (s32) (1.0f / yScale * 1024.0f)); } -void func_8009C9C8(Gfx** gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, - f32 yScale) { +void TextureRect_4bCI_MirX(Gfx** gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, + f32 xScale, f32 yScale) { gDPLoadTLUT_pal16((*gfxPtr)++, 0, palette); gDPLoadTextureBlock_4b((*gfxPtr)++, texture, G_IM_FMT_CI, width, height, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); @@ -557,8 +560,8 @@ void func_8009C9C8(Gfx** gfxPtr, void* texture, void* palette, u32 width, u32 he (u16) (s32) (-1.0f / xScale * 1024.0f), (s32) (1.0f / yScale * 1024.0f)); } -void func_8009CD3C(Gfx** gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, - f32 yScale) { +void TextureRect_4bCI_MirY(Gfx** gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, + f32 xScale, f32 yScale) { gDPLoadTLUT_pal16((*gfxPtr)++, 0, palette); gDPLoadTextureBlock_4b((*gfxPtr)++, texture, G_IM_FMT_CI, width, height, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); @@ -567,8 +570,8 @@ void func_8009CD3C(Gfx** gfxPtr, void* texture, void* palette, u32 width, u32 he (s32) (1.0f / xScale * 1024.0f), (u16) (s32) (-1.0f / yScale * 1024.0f)); } -void func_8009D0BC(Gfx** gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, - f32 yScale) { +void TextureRect_8bCI(Gfx** gfxPtr, void* texture, void* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, + f32 yScale) { gDPLoadTLUT_pal256((*gfxPtr)++, palette); gDPLoadTextureBlock((*gfxPtr)++, texture, G_IM_FMT_CI, G_IM_SIZ_8b, width, height, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); @@ -577,7 +580,8 @@ void func_8009D0BC(Gfx** gfxPtr, void* texture, void* palette, u32 width, u32 he (s32) (1.0f / yScale * 1024.0f)); } -void func_8009D418(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale) { +void TextureRect_16bRGBA(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, + f32 yScale) { gDPLoadTextureBlock((*gfxPtr)++, texture, G_IM_FMT_RGBA, G_IM_SIZ_16b, width, height, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle((*gfxPtr)++, (s32) (xPos * 4.0f), (s32) (yPos * 4.0f), (s32) ((xPos + width * xScale) * 4.0f), @@ -585,7 +589,8 @@ void func_8009D418(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, (s32) (1.0f / yScale * 1024.0f)); } -void func_8009D6CC(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale) { +void TextureRect_16bRGBA_MirX(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, + f32 yScale) { gDPLoadTextureBlock((*gfxPtr)++, texture, G_IM_FMT_RGBA, G_IM_SIZ_16b, width, height, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle((*gfxPtr)++, (s32) (xPos * 4.0f), (s32) (yPos * 4.0f), (s32) ((xPos + width * xScale) * 4.0f), @@ -593,7 +598,7 @@ void func_8009D6CC(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, (u16) (s32) (-1.0f / xScale * 1024.0f), (s32) (1.0f / yScale * 1024.0f)); } -void func_8009D994(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale) { +void TextureRect_8bIA(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale) { gDPLoadTextureBlock((*gfxPtr)++, texture, G_IM_FMT_IA, G_IM_SIZ_8b, width, height, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle((*gfxPtr)++, (s32) (xPos * 4.0f), (s32) (yPos * 4.0f), (s32) ((xPos + width * xScale) * 4.0f), @@ -601,7 +606,8 @@ void func_8009D994(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, (s32) (1.0f / yScale * 1024.0f)); } -void func_8009DC4C(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale) { +void TextureRect_8bIA_FilpMirX(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, + f32 yScale) { gDPLoadTextureBlock((*gfxPtr)++, texture, G_IM_FMT_IA, G_IM_SIZ_8b, width, height, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangleFlip((*gfxPtr)++, (s32) (xPos * 4.0f), (s32) (yPos * 4.0f), @@ -610,7 +616,8 @@ void func_8009DC4C(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, (s32) (1.0f / xScale * 1024.0f)); } -void func_8009DF14(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale) { +void TextureRect_8bIA_FilpMirY(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, + f32 yScale) { gDPLoadTextureBlock((*gfxPtr)++, texture, G_IM_FMT_IA, G_IM_SIZ_8b, width, height, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangleFlip((*gfxPtr)++, (s32) (xPos * 4.0f), (s32) (yPos * 4.0f), @@ -618,7 +625,8 @@ void func_8009DF14(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, (height - 1) * 32, (s32) (1.0f / yScale * 1024.0f), (u16) (s32) (-1.0f / xScale * 1024.0f)); } -void func_8009E1E8(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale) { +void TextureRect_8bIA_MirX(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, + f32 yScale) { gDPLoadTextureBlock((*gfxPtr)++, texture, G_IM_FMT_IA, G_IM_SIZ_8b, width, height, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle((*gfxPtr)++, (s32) (xPos * 4.0f), (s32) (yPos * 4.0f), (s32) ((xPos + width * xScale) * 4.0f), @@ -626,7 +634,8 @@ void func_8009E1E8(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, (u16) (s32) (-1.0f / xScale * 1024.0f), (s32) (1.0f / yScale * 1024.0f)); } -void func_8009E4B0(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale) { +void TextureRect_8bIA_MirY(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, + f32 yScale) { gDPLoadTextureBlock((*gfxPtr)++, texture, G_IM_FMT_IA, G_IM_SIZ_8b, width, height, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle((*gfxPtr)++, (s32) (xPos * 4.0f), (s32) (yPos * 4.0f), (s32) ((xPos + width * xScale) * 4.0f), @@ -634,7 +643,7 @@ void func_8009E4B0(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, (s32) (1.0f / xScale * 1024.0f), (u16) (s32) (-1.0f / yScale * 1024.0f)); } -void func_8009E784(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale) { +void TextureRect_16bIA(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale) { gDPLoadTextureBlock((*gfxPtr)++, texture, G_IM_FMT_IA, G_IM_SIZ_16b, width, height, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle((*gfxPtr)++, (s32) (xPos * 4.0f), (s32) (yPos * 4.0f), (s32) ((xPos + width * xScale) * 4.0f), @@ -642,7 +651,8 @@ void func_8009E784(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, (s32) (1.0f / yScale * 1024.0f)); } -void func_8009EA38(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale) { +void TextureRect_16bIA_MirX(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, + f32 yScale) { gDPLoadTextureBlock((*gfxPtr)++, texture, G_IM_FMT_IA, G_IM_SIZ_16b, width, height, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle((*gfxPtr)++, (s32) (xPos * 4.0f), (s32) (yPos * 4.0f), (s32) ((xPos + width * xScale) * 4.0f), @@ -650,7 +660,8 @@ void func_8009EA38(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, (u16) (s32) (-1.0f / xScale * 1024.0f), (s32) (1.0f / yScale * 1024.0f)); } -void func_8009ED04(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale) { +void TextureRect_16bIA_MirY(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, + f32 yScale) { gDPLoadTextureBlock((*gfxPtr)++, texture, G_IM_FMT_IA, G_IM_SIZ_16b, width, height, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle((*gfxPtr)++, (s32) (xPos * 4.0f), (s32) (yPos * 4.0f), (s32) ((xPos + width * xScale) * 4.0f), @@ -658,7 +669,8 @@ void func_8009ED04(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, (s32) (1.0f / xScale * 1024.0f), (u16) (s32) (-1.0f / yScale * 1024.0f)); } -void func_8009EFDC(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale) { +void TextureRect_16bIA_MirXY(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, + f32 yScale) { gDPLoadTextureBlock((*gfxPtr)++, texture, G_IM_FMT_IA, G_IM_SIZ_16b, width, height, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle((*gfxPtr)++, (s32) (xPos * 4.0f), (s32) (yPos * 4.0f), (s32) ((xPos + width * xScale) * 4.0f), @@ -666,7 +678,8 @@ void func_8009EFDC(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, (u16) (s32) (-1.0f / xScale * 1024.0f), (u16) (s32) (-1.0f / yScale * 1024.0f)); } -void func_8009F2C0(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale) { +void TextureRect_32bRGBA(Gfx** gfxPtr, void* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, + f32 yScale) { gDPLoadTextureBlock((*gfxPtr)++, texture, G_IM_FMT_RGBA, G_IM_SIZ_32b, width, height, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle((*gfxPtr)++, (s32) (xPos * 4.0f), (s32) (yPos * 4.0f), (s32) ((xPos + width * xScale) * 4.0f), @@ -766,13 +779,13 @@ void func_8009FC0C(s32 xPos, s32 yPos, s32 number) { var_s0 = 1000000; for (var_s0 = 1000000; var_s0 != 1; var_s0 /= 10) { if ((number / var_s0 != 0) || (var_s3 == 1)) { - func_8009C320(&gMasterDisp, spA0[number / var_s0], sp78[number / var_s0], 16, 8, xPos, yPos, 1.0f, 1.0f); + TextureRect_4bCI(&gMasterDisp, spA0[number / var_s0], sp78[number / var_s0], 16, 8, xPos, yPos, 1.0f, 1.0f); var_s3 = 1; xPos += 9; number %= var_s0; } } - func_8009C320(&gMasterDisp, spA0[number / var_s0], sp78[number / var_s0], 16, 8, xPos, yPos, 1.0f, 1.0f); + TextureRect_4bCI(&gMasterDisp, spA0[number / var_s0], sp78[number / var_s0], 16, 8, xPos, yPos, 1.0f, 1.0f); } void* D_800D2638[] = { @@ -789,13 +802,13 @@ void func_8009FEA0(s32 xPos, s32 yPos, s32 number) { var_s0 = 1000000; for (var_s0 = 1000000; var_s0 != 1; var_s0 /= 10) { if ((number / var_s0 != 0) || (var_s3 == 1)) { - func_8009D994(&gMasterDisp, D_800D2638[number / var_s0], 16, 8, xPos, yPos, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_800D2638[number / var_s0], 16, 8, xPos, yPos, 1.0f, 1.0f); var_s3 = 1; xPos += 9; number %= var_s0; } } - func_8009D994(&gMasterDisp, D_800D2638[number / var_s0], 16, 8, xPos, yPos, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_800D2638[number / var_s0], 16, 8, xPos, yPos, 1.0f, 1.0f); } char D_800D2660[] = " ABCDEFGHIJKLMNOPQRSTUVWXYZ!:-.0123456789"; @@ -943,7 +956,7 @@ void func_800A0094(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char* text) { if ((text[0] == 'W') || (text[0] == 'X')) { width = 32; } - func_8009D994(&gMasterDisp, D_800D26E4[var_t0], width, 15, xPosCurrent, yPos, xScale, yScale); + TextureRect_8bIA(&gMasterDisp, D_800D26E4[var_t0], width, 15, xPosCurrent, yPos, xScale, yScale); } var_t1 = 1; xPosCurrent += (D_800D26B8[var_t0] * xScale) + 2.0f; @@ -1084,13 +1097,13 @@ void func_800A100C(s32 xPos, s32 yPos, s32 number) { var_s0 = 1000000; for (var_s0 = 1000000; var_s0 != 1; var_s0 /= 10) { if ((number / var_s0 != 0) || (var_s3 == 1)) { - func_8009D994(&gMasterDisp, D_800D2788[number / var_s0], 16, 15, xPos, yPos, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_800D2788[number / var_s0], 16, 15, xPos, yPos, 1.0f, 1.0f); var_s3 = 1; xPos += 13; number %= var_s0; } } - func_8009D994(&gMasterDisp, D_800D2788[number / var_s0], 16, 15, xPos, yPos, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_800D2788[number / var_s0], 16, 15, xPos, yPos, 1.0f, 1.0f); } void func_800A1200(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char* text) { @@ -1111,7 +1124,7 @@ void func_800A1200(s32 xPos, s32 yPos, f32 xScale, f32 yScale, char* text) { if (var_t0 > 30) { width = 16; } - func_8009D994(&gMasterDisp, D_800D27B0[var_t0], width, 8, xPosCurrent, yPos, xScale, yScale); + TextureRect_8bIA(&gMasterDisp, D_800D27B0[var_t0], width, 8, xPosCurrent, yPos, xScale, yScale); if (1) {} } switch (text[0]) { @@ -1204,5 +1217,5 @@ void func_800A1540(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { // } #else void func_800A1558(f32 weight, u16 size, void* src1, void* src2, void* dst); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_9A580/func_800A1558.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_9A580/func_800A1558.s") #endif diff --git a/src/main/sf_A24B0.c b/src/main/fox_A24B0.c similarity index 94% rename from src/main/sf_A24B0.c rename to src/main/fox_A24B0.c index 0acd6d72..e9e74fa1 100644 --- a/src/main/sf_A24B0.c +++ b/src/main/fox_A24B0.c @@ -309,11 +309,11 @@ void func_800A26C0(void) { case 0x66: func_800B8DD0(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255); - func_8009D994(&gMasterDisp, D_F000000, 0x80, 0x10, 100.0f, 86.0f, 1.0f, 1.0f); - func_8009D994(&gMasterDisp, D_F000800, 0x80, 0x10, 100.0f, 102.0f, 1.0f, 1.0f); - func_8009D994(&gMasterDisp, D_F001000, 0x80, 0x10, 100.0f, 118.0f, 1.0f, 1.0f); - func_8009D994(&gMasterDisp, D_F001800, 0x80, 0x10, 100.0f, 134.0f, 1.0f, 1.0f); - func_8009D994(&gMasterDisp, D_F002000, 0x80, 0xA, 100.0f, 150.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_F000000, 0x80, 0x10, 100.0f, 86.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_F000800, 0x80, 0x10, 100.0f, 102.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_F001000, 0x80, 0x10, 100.0f, 118.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_F001800, 0x80, 0x10, 100.0f, 134.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_F002000, 0x80, 0xA, 100.0f, 150.0f, 1.0f, 1.0f); D_80177834++; break; case 0x67: @@ -326,11 +326,11 @@ void func_800A26C0(void) { case 0x68: func_800B8DD0(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255); - func_8009D994(&gMasterDisp, D_F000000, 0x80, 0x10, 100.0f, 86.0f, 1.0f, 1.0f); - func_8009D994(&gMasterDisp, D_F000800, 0x80, 0x10, 100.0f, 102.0f, 1.0f, 1.0f); - func_8009D994(&gMasterDisp, D_F001000, 0x80, 0x10, 100.0f, 118.0f, 1.0f, 1.0f); - func_8009D994(&gMasterDisp, D_F001800, 0x80, 0x10, 100.0f, 134.0f, 1.0f, 1.0f); - func_8009D994(&gMasterDisp, D_F002000, 0x80, 0xA, 100.0f, 150.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_F000000, 0x80, 0x10, 100.0f, 86.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_F000800, 0x80, 0x10, 100.0f, 102.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_F001000, 0x80, 0x10, 100.0f, 118.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_F001800, 0x80, 0x10, 100.0f, 134.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_F002000, 0x80, 0xA, 100.0f, 150.0f, 1.0f, 1.0f); break; case 0x69: D_80177834 = 1; diff --git a/src/main/fox_BB360.c b/src/main/fox_BB360.c new file mode 100644 index 00000000..9c2ab1d0 --- /dev/null +++ b/src/main/fox_BB360.c @@ -0,0 +1,814 @@ +#include "global.h" + +extern f32 D_80177D38; +extern s32 D_801782AC; +extern s32 D_801782B4; +extern s32 D_80178744; +extern s32 D_80178748; + +s32 D_800D4A70 = 0; + +void func_800BA760(void) { + func_800B9358(); + if (D_80177D50 == 1.3f) { + D_801782F8 = func_800C2F30(D_80178308, D_801782D8); + } +} + +s32 func_800BA7BC(u16* arg0, s32 arg1) { + s32 var_v0 = D_800D4A70; + + if (arg1 == var_v0) { + return 0; + } + + if (arg1 < var_v0) { + return 1; + } + + if (var_v0 < arg1) { + D_800D4A70 = arg1; + return 2; + } +} + +void func_800BA808(u16* arg0, s32 arg1) { + s32 var_v1; + s32 temp_v0; + s32 var_a1; + + switch (*arg0) { + default: + case 0x08: + var_a1 = 0; + break; + case 0x09: + var_a1 = 1; + break; + case 0x0a: + var_a1 = 2; + break; + case 0x0b: + var_a1 = 3; + break; + } + + if (D_80177834 == 7) { + if ((arg1 == 10) || (arg1 == 20) || (arg1 == 30)) { + if (arg1 == 10) { + var_v1 = 1; + } + + if (arg1 == 20) { + var_v1 = 2; + } + + if (arg1 == 30) { + var_v1 = 3; + } + + if ((D_801778B0[var_v1] <= 0) && (D_801778B0[var_v1] != -2)) { + return; + } + } + } + + if (D_8017829C != 0) { + temp_v0 = func_800BA7BC(arg0, var_a1); + if (temp_v0 == 1) { + return; + } + } + + D_800D4A70 = var_a1; + D_80177D68 = arg1; + + if ((D_801779F8 != 0) && ((arg1 == 0) || (arg1 == 5))) { + D_80177D68 = 400; + } + + if (D_80178234 == 19) { + switch (arg1) { + case 200: + D_80177D68 = 240; + break; + case 210: + D_80177D68 = 250; + break; + case 220: + D_80177D68 = 260; + break; + case 230: + D_80177D68 = 270; + break; + } + } + + D_80178308 = arg0; + D_8017829C = 100; + + switch (D_80177834) { + case 2: + case 8: + D_8017872C = 176; + D_80178728 = 85; + D_80178730 = 80.0f; + D_80178734 = 174.0f; + D_80178738 = 4.63f; + D_8017873C = 32.0f; + D_80178740 = 174.0f; + break; + case 7: + D_8017872C = 180; + D_80178728 = 79; + D_80178730 = 74.0f; + D_80178734 = 178.0f; + D_80178738 = 4.53f; + D_8017873C = 26.0f; + D_80178740 = 178.0f; + break; + } + + D_801782E8 = func_800C2890(arg0); + func_8001ACDC(D_801782E8); +} + +void func_800BAAE8(void) { + static f32 D_800D4A74 = -1.0f; + u16* sp44; + s32 var_s0; + s32 i; + f32 sp38; + f32 temp_fa0; + s32 j; + + D_80178744 = 0; + var_s0 = 0; + switch (D_801782A4) { + case 0x5: + D_80178744 = 1; + /* fallthrough */ + case 0x0: + sp44 = D_10050E0; + break; + case 0x6: + D_80178744 = 1; + /* fallthrough */ + case 0x1: + sp44 = D_1006000; + break; + case 0x190: + sp44 = D_1006F20; + break; + case 0x191: + sp44 = D_1007E40; + break; + case 0xF: + D_80178744 = 1; + /* fallthrough */ + case 0xA: + sp44 = D_10032A0; + break; + case 0x10: + D_80178744 = 1; + /* fallthrough */ + case 0xB: + sp44 = D_10041C0; + break; + case 0x19: + D_80178744 = 1; + /* fallthrough */ + case 0x14: + sp44 = D_100D900; + break; + case 0x1A: + D_80178744 = 1; + /* fallthrough */ + case 0x15: + sp44 = D_100E820; + break; + case 0x23: + D_80178744 = 1; + /* fallthrough */ + case 0x1E: + sp44 = D_100BAC0; + break; + case 0x24: + D_80178744 = 1; + /* fallthrough */ + case 0x1F: + sp44 = D_100C9E0; + break; + case 0xC8: + sp44 = D_F00B580; + break; + case 0xC9: + sp44 = D_F00C4A0; + break; + case 0xD2: + sp44 = D_F003C80; + break; + case 0xD3: + sp44 = D_F004BA0; + break; + case 0xDC: + sp44 = D_F007900; + break; + case 0xDD: + sp44 = D_F008820; + break; + case 0xE6: + sp44 = D_F000000; + break; + case 0xE7: + sp44 = D_F000F20; + break; + case 0xF0: + sp44 = D_F00D3C0; + break; + case 0xF1: + sp44 = D_F00E2E0; + break; + case 0xFA: + sp44 = D_F005AC0; + break; + case 0xFB: + sp44 = D_F0069E0; + break; + case 0x104: + sp44 = D_F009740; + break; + case 0x105: + sp44 = D_F00A660; + break; + case 0x10E: + sp44 = D_F001E40; + break; + case 0x10F: + sp44 = D_F002D60; + break; + case 0x50: + sp44 = D_6026420; + break; + case 0x51: + sp44 = D_6027340; + break; + case 0x6E: + sp44 = D_60245E0; + break; + case 0x6F: + sp44 = D_6025500; + break; + case 0x64: + sp44 = D_601C8E0; + break; + case 0x65: + sp44 = D_601D800; + break; + case 0x78: + sp44 = D_60047E0; + break; + case 0x79: + sp44 = D_6005700; + break; + case 0xB4: + sp44 = D_60029A0; + break; + case 0xB5: + sp44 = D_60038C0; + break; + case 0x82: + sp44 = D_6014510; + break; + case 0x83: + sp44 = D_6015430; + break; + case 0x96: + sp44 = D_6020FB0; + break; + case 0x97: + sp44 = D_6021ED0; + break; + case 0xA0: + sp44 = D_6018F30; + break; + case 0xA1: + sp44 = D_6019E50; + break; + case 0xBE: + sp44 = D_6010C20; + break; + case 0xBF: + sp44 = D_6011B40; + break; + case 0x5F: + D_80178744 = 1; + /* fallthrough */ + case 0x5A: + case 0x8C: + sp44 = D_1009C80; + break; + case 0x60: + D_80178744 = 1; + /* fallthrough */ + case 0x5B: + case 0x8D: + sp44 = D_100ABA0; + break; + case 0x28: + sp44 = D_D003DF0; + break; + case 0x29: + sp44 = D_D004D10; + break; + case 0x32: + case 0x37: + sp44 = D_D000170; + if ((D_80177834 == 7) && (D_80178234 == 3)) { + sp44 = D_6000B60; + } + D_80178744 = 1; + break; + case 0x33: + case 0x38: + sp44 = D_D001090; + if ((D_80177834 == 7) && (D_80178234 == 3)) { + sp44 = D_6001A80; + } + D_80178744 = 1; + break; + case 0x3C: + sp44 = D_D005C30; + break; + case 0x3D: + sp44 = D_D006B50; + break; + case 0xAA: + sp44 = D_D001FB0; + break; + case 0xAB: + sp44 = D_D002ED0; + break; + case 0x46: + sp44 = D_D007A70; + break; + case 0x47: + sp44 = D_D008990; + break; + case 0x12C: + sp44 = D_E00E100; + break; + case 0x12D: + sp44 = D_E00F020; + break; + case 0x136: + sp44 = D_E00FF40; + break; + case 0x137: + sp44 = D_E010E60; + break; + case 0x15E: + sp44 = D_6000900; + break; + case 0x15F: + sp44 = D_6001820; + break; + case 0x3: + var_s0 = 1; + /* fallthrough */ + case 0x2: + switch (D_80177834) { + default: + sp44 = NULL; + break; + case 7: + sp44 = D_1008D60; + break; + case 2: + case 8: + sp44 = D_600C6A0; + break; + } + if (((s32) D_80177D68 == 50) || ((s32) D_80177D68 == 55)) { + D_80178744 = 1; + } + break; + } + if ((sp44 != NULL) && (D_80177D38 != 0.0f)) { + temp_fa0 = (2.0f * D_80177D38) + D_80178740; + if ((D_80178740 + 20.0f) <= temp_fa0) { + D_800D4A74 = 1.0f; + } + if (temp_fa0 <= D_80178740) { + D_800D4A74 = -1.0f; + } + sp38 = D_80177D38 * 20.0f * D_800D4A74; + func_800BA490(); + gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255); + + if (var_s0 != 0) { + for (i = 0, j = 0; i < 2; i++, j += 880) { + TextureRect_16bRGBA_MirX(&gMasterDisp, &sp44[j], 44, 20, D_8017873C, + D_80178740 + 20.0f + sp38 + (i * 20.0f * D_80177D38), 1.0f, D_80177D38); + } + TextureRect_16bRGBA_MirX(&gMasterDisp, &sp44[2 * 880], 44, 4, D_8017873C, + D_80178740 + 20.0f + sp38 + (40.0f * D_80177D38), 1.0f, D_80177D38); + } else { + for (i = 0, j = 0; i < 2; i++, j += 880) { + TextureRect_16bRGBA(&gMasterDisp, &sp44[j], 44, 20, D_8017873C, + D_80178740 + 20.0f + sp38 + (i * 20.0f * D_80177D38), 1.0f, D_80177D38); + } + TextureRect_16bRGBA(&gMasterDisp, &sp44[2 * 880], 44, 4, D_8017873C, + D_80178740 + 20.0f + sp38 + (40.0f * D_80177D38), 1.0f, D_80177D38); + } + } +} + +void func_800BB388(void) { + static f32 D_800D4A78 = -1.0f; + f32 temp_fa0; + u8* sp38; + u16* sp34; + f32 sp30; + + if ((D_80177834 != 4) && (D_80177D50 != 0.0f)) { + temp_fa0 = (D_80177D50 / 0.26f) * 3.0f; + if ((D_80178734 + 16.0f) <= temp_fa0 + D_80178734) { + D_800D4A78 = 1.0f; + } + if (temp_fa0 + D_80178734 <= D_80178734) { + D_800D4A78 = -1.0f; + } + sp30 = temp_fa0 * D_800D4A78; + func_800B8DD0(&gMasterDisp, 0x55); + switch (D_80177834) { + case 2: + case 8: + sp38 = D_601D750; + sp34 = D_601DB50; + break; + case 7: + sp38 = D_1013170; + sp34 = D_1013570; + break; + } + if (D_80178744 == 1) { + gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 25, 25, 170); + } else { + gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 60, 60, 255, 170); + } + TextureRect_8bCI(&gMasterDisp, sp38, sp34, 0x20U, 0x20U, D_80178730, D_80178734 + 16.0f + sp30, D_80178738, + D_80177D50); + } + if (D_80177D50 == 1.3f) { + func_800B8DD0(&gMasterDisp, 0x55); + D_801782F8 = func_800C2AF0(&gMasterDisp, D_80178308, D_80178728, D_8017872C, D_801782D8); + } +} + +#ifdef NON_MATCHING +void func_800BB5D0(void) { + static s32 D_8017874C; + s32 var_v1; + s32 temp_ft0; + u32 temp_v0; + + if ((D_80177854 == 100) && (D_80177834 != 8)) { + return; + } + if (D_801782AC > 0) { + D_801782AC--; + } + if (D_801782B4 > 0) { + D_801782B4--; + } + switch (D_8017829C) { + case 0x64: + D_80178748 = 1; + D_801782A4 = 1000; + D_8017829C = 1; + D_801782D8 = 0; + D_80177D38 = 0.0f; + D_80177D50 = 0.0f; + D_8017874C = 0; + if (D_801778A8 != 1) { + D_8017829C = 0; + } + break; + case 0x1: + D_80177D38 += 0.25f; + if (D_80177D38 == 1.0f) { + D_8017829C++; + D_801782AC = 10; + } + D_801782A4 = 2; + if (D_80177DB0 & 1) { + D_801782A4 = 3; + } + break; + case 0x2: + if (D_801782AC == 0) { + D_8017829C++; + D_801782AC = 10; + } + D_801782A4 = 2; + if (D_80177DB0 & 1) { + D_801782A4 = 3; + } + break; + case 0x3: + if (D_801782AC == 0) { + D_8017829C++; + temp_v0 = func_800C28DC(D_80178308); + if (D_80137E78 == 3) { + D_801782AC = temp_v0 + 0x10; + } else { + D_801782AC = 2 * temp_v0 + 0x10; + } + if ((D_80177834 == 2) || (D_80177834 == 8)) { + D_801782AC = temp_v0 * 2; + } + } + D_801782A4 = (s32) D_80177D68; + D_80177D50 += 0.26f; + if (D_80177D50 > 1.3f) { + D_80177D50 = 1.3f; + } + break; + case 0x1F: + D_8017829C++; + D_801782AC = 0x50 - D_801782AC; + break; + case 0x20: + if (func_8001AE78() == 0) { + D_80178724++; + D_80178308 = D_80178720[D_80178724]; + func_8001ACDC(func_800C2890(D_80178308)); + + D_801782D8 = 0; + D_8017874C = 0; + D_801782AC = 0x50; + D_801782AC = func_800C28DC(D_80178308) * 2; + D_8017829C = 4; + } + break; + case 0x4: + if ((func_8001AE78() == 0) && (D_801782AC == 0)) { + D_801782AC = 10; + D_801782A4 = (s32) D_80177D68; + D_8017829C = 6; + } + D_801782A4 = (s32) D_80177D68; + if (D_801782B4 > 0) { + D_801782A4++; + } + temp_v0 = func_8001AED4(); + if (D_801782D8 < 60) { + if (D_80178308[D_801782D8 + 1] == 0xF) { + if (temp_v0 == 0) { + D_8017829C = 0x1F; + } + } else { + D_801782D8++; + } + } + if (D_8017874C != 0) { + if ((D_801782E8 >= 23000) && (D_801782E8 < 23033)) { + if (D_801782F8 != 0) { + D_801782B4 = 2; + func_80019218(0x49000017, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); + } + } else if (temp_v0 == 1) { + D_801782B4 = 2; + } else { + D_801782B4 = 0; + } + } + D_8017874C ^= 1; + break; + case 0x5: + if (D_801782AC == 0) { + D_8017829C++; + D_801782AC = 10; + } + D_801782A4 = (s32) D_80177D68; + break; + case 0x6: + if (D_801782AC == 0) { + if (!D_801782A4) {} + if (D_80177834 == 8) { + func_8001AE58(); + } else { + func_8001ACDC(0); + } + D_8017829C++; + } + D_801782A4 = 2; + if (D_80177DB0 & 1) { + D_801782A4 = 3; + } + D_80177D50 -= 0.26f; + if (D_80177D50 < 0.0f) { + D_80177D50 = 0.0f; + } + break; + case 0x7: + D_80177D38 -= 0.25f; + if (D_80177D38 == 0) { + D_80178300 = 0; + D_800D4A70 = 0; + D_8017829C = 0; + } + D_801782A4 = 2; + if (D_80177DB0 & 1) { + D_801782A4 = 3; + } + break; + case 0x8: + D_801782A4 = (s32) D_80177D68; + D_80177D50 = 1.3f; + D_80177D38 = 1.0f; + break; + case 0: + break; + } + if ((D_8017829C > 0) && (D_8017829C != 100) && (D_80178300 == 0)) { + func_800BAAE8(); + func_800BB388(); + temp_ft0 = (s32) D_80177D68; + if ((temp_ft0 == 0xA) || (temp_ft0 == 0x14) || (temp_ft0 == 0x1E)) { + if (temp_ft0 == 0xA) { + var_v1 = 1; + } + if (temp_ft0 == 0x14) { + var_v1 = 2; + } + if (temp_ft0 == 0x1E) { + var_v1 = 3; + } + if ((D_801778B0[var_v1] <= 0) && (D_80177DB0 & 4) && (D_801778B0[var_v1] != -2) && (D_801782A4 != 2) && + (D_801782A4 != 3) && (D_801782A4 != 1000)) { + func_800B8DD0(&gMasterDisp, 0x4C); + gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255); + func_800A1200(0x1F, 0xA7, 1.0f, 1.0f, "DOWN"); + func_80084B94(1); + } + if ((D_801782A4 != 2) && (D_801782A4 != 3) && (D_801782A4 != 1000)) { + func_80086110(22.0f, 165.0f, D_801778B0[var_v1]); + } + } + temp_ft0 = (s32) D_80177D68; + if ((temp_ft0 == 0xC8) || (temp_ft0 == 0xD2) || (temp_ft0 == 0xDC) || (temp_ft0 == 0xE6) || + (temp_ft0 == 0xF0) || (temp_ft0 == 0xFA) || (temp_ft0 == 0x104) || (temp_ft0 == 0x10E)) { + switch (temp_ft0) { + case 0xC8: + case 0xF0: + var_v1 = 4; + break; + case 0xDC: + case 0x104: + var_v1 = 5; + break; + case 0xD2: + case 0xFA: + var_v1 = 6; + break; + case 0xE6: + case 0x10E: + var_v1 = 7; + break; + default: + var_v1 = 0; + break; + } + if ((D_80163FE0[var_v1].obj.status != 2) && (D_80177DB0 & 4) && (D_80178280[0].unk_1C8 == 3) && + (D_801782A4 != 2) && (D_801782A4 != 3) && (D_801782A4 != 1000)) { + func_800B8DD0(&gMasterDisp, 0x4C); + gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255); + func_800A1200(0x1F, 0xA7, 1.0f, 1.0f, "DOWN"); + } + if ((D_801782A4 != 2) && (D_801782A4 != 3) && (D_801782A4 != 1000)) { + func_80086110(22.0f, 165.0f, D_80163FE0[var_v1].unk_0CE * 2.55f); + } + } + if ((D_801782A4 != 2) && (D_801782A4 != 3) && (D_801782A4 != 1000)) { + func_8008AD94(); + } + } + if (D_80178300 == 1) { + func_800BA760(); + } +} +#else +extern s32 D_8017874C; +void func_800BB5D0(void); +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_BB360/func_800BB5D0.s") +#endif + +void func_800BC040(void) { + if (D_80177854 != 100) { + if (D_801782AC > 0) { + D_801782AC--; + } + if (D_801782B4 > 0) { + D_801782B4--; + } + switch (D_8017829C) { + case 0x64: + D_801782A4 = 0x3E8; + D_8017829C = 1; + D_80177D38 = 0.0f; + D_80177D50 = 0.0f; + D_801782D8 = func_800C28DC(D_80178308); + if (D_801778A8 != 1) { + D_8017829C = 0; + } + break; + + case 0x1: + D_80177D38 += 0.02f; + if (D_80177D38 == 0.04f) { + D_8017829C++; + D_801782AC = 5; + } + break; + case 0x2: + if (D_801782AC == 0) { + D_8017829C++; + D_801782AC = 5; + } + D_801782A4 = 2; + if (D_80177DB0 & 1) { + D_801782A4 = 3; + } + break; + case 0x3: + if (D_801782AC == 0) { + D_8017829C++; + D_801782AC = 5; + if (D_80177834 == 2) { + D_801782AC = 0x1E; + } + } + D_801782A4 = (s32) D_80177D68; + D_80177D50 += 0.015f; + if (D_80177D50 > 0.07f) { + D_80177D50 = 0.07f; + } + break; + case 0x4: + if (D_801782AC == 0) { + D_8017829C++; + D_801782AC = 10; + } + break; + case 0x5: + if (D_801782AC == 0) { + D_8017829C++; + D_801782AC = 5; + } + D_801782A4 = (s32) D_80177D68; + break; + case 0x6: + if (D_801782AC == 0) { + func_8001ACDC(0); + D_8017829C++; + } + D_801782A4 = 2; + if (D_80177DB0 & 1) { + D_801782A4 = 3; + } + D_80177D50 -= 0.015f; + if (D_80177D50 < 0.0f) { + D_80177D50 = 0.0f; + } + break; + case 0x7: + D_80177D38 -= 0.02f; + if (D_80177D38 == 0) { + D_8017829C = 0; + D_801782AC = 5; + } + D_801782A4 = 2; + if (D_80177DB0 & 1) { + D_801782A4 = 3; + } + break; + case 0: + break; + } + if ((D_8017829C > 0) && (D_8017829C != 100)) { + func_800BAAE8(); + func_800BB388(); + if (((s32) D_80177D68 == 10) || ((s32) D_80177D68 == 20) || ((s32) D_80177D68 == 30)) { + Matrix_Push(&gGfxMatrix); + func_800B9358(); + Matrix_Translate(gGfxMatrix, -150.0f, -115.0f, -443.0f, 1); + Matrix_Scale(gGfxMatrix, 0.068f, 0.068f, 1.0f, 1); + Matrix_SetGfxMtx(&gMasterDisp); + D_801778A0 = 0; + Matrix_Pop(&gGfxMatrix); + } + } + } +} diff --git a/src/main/fox_BD0B0.c b/src/main/fox_BD0B0.c new file mode 100644 index 00000000..5bb605fc --- /dev/null +++ b/src/main/fox_BD0B0.c @@ -0,0 +1,35 @@ +#include "global.h" + +void func_800BC4B0(void) { + static s16 D_800D4A80 = 0; + s32 i; + + gViewport->vp.vscale[0] = SCREEN_WIDTH * 2; + gViewport->vp.vscale[1] = SCREEN_HEIGHT * 2; + gViewport->vp.vscale[2] = G_MAXZ / 2; + gViewport->vp.vscale[3] = 0; + gViewport->vp.vtrans[0] = SCREEN_WIDTH * 2; + gViewport->vp.vtrans[1] = SCREEN_HEIGHT * 2; + gViewport->vp.vtrans[2] = G_MAXZ / 2; + gViewport->vp.vtrans[3] = 0; + gSPViewport(gMasterDisp++, gViewport); + gDPPipeSync(gMasterDisp++); + gDPSetScissor(gMasterDisp++, G_SC_NON_INTERLACE, 8, 8, 312, 232); + + func_8009F574(&gMasterDisp, 8, 8, MIN(304, D_800D4A80) + 8, 64, 0, 0, 0, 255); + func_8009F574(&gMasterDisp, 312 - MIN(304, D_800D4A80), 64, 312, 120, 0, 0, 0, 255); + func_8009F574(&gMasterDisp, 8, 120, MIN(304, D_800D4A80) + 8, 176, 0, 0, 0, 255); + func_8009F574(&gMasterDisp, 312 - MIN(304, D_800D4A80), 176, 312, 232, 0, 0, 0, 255); + if (D_800D4A80 == 0) { + func_8001EE00(); + } + D_800D4A80 += 45; + if (D_800D4A80 >= 485) { + osViBlack(1); + gStopTasks = 1; + } + for (i = 0; i < MAXCONTROLLERS; i++) { + gRumbleStatus[i] = 0; + D_80137E84[i] = 0; + } +} diff --git a/src/main/sf_C3430.c b/src/main/fox_C3430.c similarity index 100% rename from src/main/sf_C3430.c rename to src/main/fox_C3430.c diff --git a/src/main/sf_5A2C0.c b/src/main/fox_edisplay.c similarity index 99% rename from src/main/sf_5A2C0.c rename to src/main/fox_edisplay.c index 1223d3b2..3838ebf3 100644 --- a/src/main/sf_5A2C0.c +++ b/src/main/fox_edisplay.c @@ -497,8 +497,6 @@ void func_8005B1E8(Object_2F4* arg0, s32 arg1) { } } -// Vec3f D_800CFCC0 = { 0.0f, 0.0f, 0.0f }; - void func_8005B388(Object_2F4* arg0) { Vec3f sp3C = { 0.0f, 0.0f, 0.0f }; Vec3f sp30; @@ -1110,7 +1108,7 @@ void func_8005DBC0(Object_2F4* arg0) { #else Vec3f D_800CFCF8 = { 0.0f, 0.0f, 0.0f }; void func_8005DBC0(Object_2F4* arg0); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005DBC0.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_edisplay/func_8005DBC0.s") #endif #ifdef NON_MATCHING @@ -1176,7 +1174,7 @@ void func_8005E1B8(Object_408* arg0, s32 arg1) { #else Vec3f D_800CFD04 = { 0.0f, 0.0f, 0.0f }; void func_8005E1B8(Object_408* arg0, s32 arg1); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005E1B8.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_edisplay/func_8005E1B8.s") #endif void func_8005E454(Object_8C* arg0, s32 arg1) { @@ -1234,7 +1232,7 @@ void func_8005E538(Object_8C* arg0) { #else Vec3f D_800CFD10 = { 0.0f, 0.0f, 0.0f }; void func_8005E538(Object_8C* arg0); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005E538.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_edisplay/func_8005E538.s") #endif #ifdef NON_MATCHING @@ -1269,7 +1267,7 @@ void func_8005E7B8(Object_6C* arg0, s32 arg1) { #else Vec3f D_800CFD1C = { 0.0f, 0.0f, 0.0f }; void func_8005E7B8(Object_6C* arg0, s32 arg1); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005E7B8.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_edisplay/func_8005E7B8.s") #endif void func_8005EA24(Object_2F4* arg0) { @@ -1460,7 +1458,7 @@ void func_8005F2F4(Object_58* arg0) { #else Vec3f D_800CFD34 = { 0.0f, 0.0f, 0.0f }; void func_8005F2F4(Object_58*); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005F2F4.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_edisplay/func_8005F2F4.s") #endif void func_8005F670(Vec3f* arg0) { @@ -1530,7 +1528,7 @@ s32 func_8005F9DC(Vec3f* arg0) { return 0; } #else -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_8005F9DC.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_edisplay/func_8005F9DC.s") #endif void func_8005FB70(s32 arg0) { @@ -1812,7 +1810,7 @@ void func_80060968(void) { } #else void func_80060968(void); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_5A2C0/func_80060968.s") +#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_edisplay/func_80060968.s") #endif void func_80060D94(s32 arg0) { diff --git a/src/main/gfx_data.c b/src/main/gfx_data.c new file mode 100644 index 00000000..fcb79c18 --- /dev/null +++ b/src/main/gfx_data.c @@ -0,0 +1,579 @@ +#include "gfx.h" + +u16 D_Tex_800D99F8[]; + +Vtx D_Vtx_800D94A0[] = { + VTX(10, 5, 0, 0, 0, 255, 255, 255, 255), + VTX(0, 0, 0, 0, 0, 255, 255, 255, 255), + VTX(10, -5, 0, 0, 0, 255, 255, 255, 255), +}; + +Gfx D_Gfx_800D94D0[] = { + gsSPVertex(D_Vtx_800D94A0, 3, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSPEndDisplayList(), +}; + +Vtx D_Vtx_800D94E8[] = { + VTX(-1, 1, -1, 0, 0, 0, 0, 127, 255), VTX(-1, -1, -1, 0, 991, 0, 0, 127, 255), + VTX(1, -1, -1, 991, 991, 0, 0, 127, 255), VTX(1, 1, -1, 991, 0, 0, 0, 127, 255), + VTX(1, 1, 1, 0, 0, 0, 0, 127, 255), VTX(1, -1, 1, 0, 991, 0, 0, 127, 255), + VTX(-1, -1, 1, 991, 991, 0, 0, 127, 255), VTX(-1, 1, 1, 991, 0, 0, 0, 127, 255), + VTX(-1, -1, 1, 0, 0, 0, 0, 127, 255), VTX(-1, -1, -1, 0, 991, 0, 0, 127, 255), + VTX(1, -1, -1, 991, 991, 0, 0, 127, 255), VTX(1, -1, 1, 991, 0, 0, 0, 127, 255), + VTX(1, 1, 1, 0, 0, 0, 0, 127, 255), VTX(1, 1, -1, 0, 991, 0, 0, 127, 255), + VTX(-1, 1, -1, 991, 991, 0, 0, 127, 255), VTX(-1, 1, 1, 991, 0, 0, 0, 127, 255), +}; + +Gfx D_Gfx_800D95E8[] = { + gsSPVertex(D_Vtx_800D94E8, 16, 0), gsSP1Triangle(2, 1, 0, 0), gsSP1Triangle(3, 2, 0, 0), + gsSP1Triangle(6, 5, 4, 0), gsSP1Triangle(7, 6, 4, 0), gsSP1Triangle(5, 2, 3, 0), + gsSP1Triangle(4, 5, 3, 0), gsSP1Triangle(1, 6, 7, 0), gsSP1Triangle(0, 1, 7, 0), + gsSP1Triangle(8, 9, 10, 0), gsSP1Triangle(8, 10, 11, 0), gsSP1Triangle(12, 13, 14, 0), + gsSP1Triangle(12, 14, 15, 0), gsSPEndDisplayList(), +}; + +Vtx D_Vtx_800D9658[] = { + VTX(0, 0, 0, 0, 0, 255, 255, 255, 255), + VTX(0, 100, 0, 0, 0, 255, 255, 255, 255), + VTX(-50, 100, 0, 0, 0, 255, 255, 255, 255), +}; + +Gfx D_Gfx_800D9688[] = { + gsSPVertex(D_Vtx_800D9658, 3, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSPEndDisplayList(), +}; + +Vtx D_Vtx_800D96A0[] = { + VTX(-100, 200, 0, 0, 0, 255, 255, 255, 255), + VTX(0, 0, 0, 0, 0, 0, 255, 255, 255), + VTX(100, 200, 0, 0, 0, 0, 0, 0, 255), +}; + +Gfx D_Gfx_800D96D0[] = { + gsSPVertex(D_Vtx_800D96A0, 3, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSPEndDisplayList(), +}; + +Vec3s D_Unk_800D96E8[] = { + { -100, 100, -100 }, { -100, 100, 100 }, { 100, 100, 100 }, { 100, 100, -100 }, + { -100, -100, -100 }, { -100, -100, 100 }, { 100, -100, 100 }, { 100, -100, -100 }, +}; +u16 D_Unk_800D9718[][3] = { + { 0, 1, 2 }, { 0, 2, 3 }, { 5, 4, 7 }, { 5, 7, 6 }, { 1, 5, 6 }, { 1, 6, 2 }, + { 3, 7, 4 }, { 3, 4, 0 }, { 2, 6, 7 }, { 2, 7, 3 }, { 0, 4, 5 }, { 0, 5, 1 }, +}; + +Vtx D_Vtx_800D9760[] = { + VTX(-1, 1, -1, 0, 0, 0, 0, 127, 255), VTX(-1, -1, -1, 0, 991, 0, 0, 127, 255), + VTX(1, -1, -1, 991, 991, 0, 0, 127, 255), VTX(1, 1, -1, 991, 0, 0, 0, 127, 255), + VTX(1, 1, 1, 0, 0, 0, 0, 127, 255), VTX(1, -1, 1, 0, 991, 0, 0, 127, 255), + VTX(-1, -1, 1, 991, 991, 0, 0, 127, 255), VTX(-1, 1, 1, 991, 0, 0, 0, 127, 255), + VTX(-1, -1, 1, 0, 0, 0, 0, 127, 255), VTX(-1, -1, -1, 0, 991, 0, 0, 127, 255), + VTX(1, -1, -1, 991, 991, 0, 0, 127, 255), VTX(1, -1, 1, 991, 0, 0, 0, 127, 255), + VTX(1, 1, 1, 0, 0, 0, 0, 127, 255), VTX(1, 1, -1, 0, 991, 0, 0, 127, 255), + VTX(-1, 1, -1, 991, 991, 0, 0, 127, 255), VTX(-1, 1, 1, 991, 0, 0, 0, 127, 255), +}; + +Gfx D_Gfx_800D9860[] = { + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0x0000, G_TX_RENDERTILE, 0, G_TX_MIRROR | G_TX_WRAP, 5, G_TX_NOLOD, + G_TX_MIRROR | G_TX_WRAP, 5, G_TX_NOLOD), + gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, 0x007C, 0x007C), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, D_Tex_800D99F8), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 1023, 256), + gsSPVertex(D_Vtx_800D9760, 16, 0), + gsSP1Triangle(2, 1, 0, 0), + gsSP1Triangle(3, 2, 0, 0), + gsSP1Triangle(6, 5, 4, 0), + gsSP1Triangle(7, 6, 4, 0), + gsSP1Triangle(5, 2, 3, 0), + gsSP1Triangle(4, 5, 3, 0), + gsSP1Triangle(1, 6, 7, 0), + gsSP1Triangle(0, 1, 7, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSP1Triangle(8, 10, 11, 0), + gsSP1Triangle(12, 13, 14, 0), + gsSP1Triangle(12, 14, 15, 0), + gsSPEndDisplayList(), +}; + +Vtx D_Vtx_800D9910[] = { + VTX(-11, -11, 0, 0, 255, 0, 127, 0, 0), + VTX(11, -11, 0, 255, 255, 0, 127, 0, 0), + VTX(11, 11, 0, 255, 0, 0, 127, 0, 0), + VTX(-11, 11, 0, 0, 0, 0, 127, 0, 0), +}; + +Vtx D_Vtx_800D9950[] = { + VTX(80, 0, -120, 256, 0, 0, 127, 9, 255), + VTX(-79, 0, -120, 0, 0, 0, 127, 255, 0), + VTX(-79, 0, 119, 0, 256, 0, 127, 255, 0), + VTX(80, 0, 119, 256, 256, 0, 127, 255, 0), +}; + +Gfx D_Gfx_800D9990[] = { + gsDPSetPrimColor(0, 0, 0xFF, 0xFF, 0xFF, 0xFF), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 2, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 3, G_TX_NOLOD, + G_TX_NOMIRROR | G_TX_CLAMP, 3, G_TX_NOLOD), + gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, 0x001C, 0x001C), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, D_Tex_800D99F8), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 63, 1024), + gsSPVertex(D_Vtx_800D9950, 4, 0), + gsSP1Triangle(1, 2, 3, 0), + gsSP1Triangle(1, 3, 0, 0), + gsSPEndDisplayList(), +}; + +// u16 D_Tex_800D99F8[32][32]; ? +u16 D_Tex_800D99F8[1024] = { + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, +}; +// u16 D_Tex_800DA1F8[32][32]; ? +u16 D_Tex_800DA1F8[1024] = { + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, +}; + +Gfx D_Gfx_800DA9F8[] = { + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 2, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 3, G_TX_NOLOD, + G_TX_NOMIRROR | G_TX_CLAMP, 3, G_TX_NOLOD), + gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, 0x001C, 0x001C), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, D_Tex_800D99F8), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 63, 1024), + gsSPVertex(D_Vtx_800D9910, 4, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsSPEndDisplayList(), +}; + +Vtx D_Vtx_800DAA58[] = { + VTX(-100, 0, -100, 0, 255, 0, 120, 0, 0), + VTX(-100, 0, 100, 255, 255, 0, 120, 0, 0), + VTX(100, 0, 100, 255, 0, 0, 120, 0, 0), + VTX(100, 0, -100, 0, 0, 0, 120, 0, 0), +}; + +Gfx D_Gfx_800DAA98[] = { + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 2, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 3, G_TX_NOLOD, + G_TX_NOMIRROR | G_TX_CLAMP, 3, G_TX_NOLOD), + gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, 0x001C, 0x001C), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, D_Tex_800D99F8), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 63, 1024), + gsSPVertex(D_Vtx_800DAA58, 4, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsSPEndDisplayList(), +}; + +Vtx D_Vtx_800DAAF8[] = { + VTX(-500, -90, 0, 0, 255, 255, 255, 255, 255), + VTX(500, -90, 0, 255, 255, 255, 255, 255, 255), + VTX(0, 1000, 0, 255, 0, 255, 255, 255, 255), +}; + +Gfx D_Gfx_800DAB28[] = { + gsSPVertex(D_Vtx_800DAAF8, 3, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSPEndDisplayList(), +}; + +Vtx D_Vtx_800DAB40[] = { + VTX(-20, 1000, 0, 0, 255, 0, 0, 127, 0), + VTX(50, 0, 0, 255, 255, 0, 0, 127, 0), + VTX(-50, 0, 0, 255, 0, 0, 0, 127, 0), + VTX(20, 1000, 0, 0, 255, 0, 0, 127, 0), +}; + +Gfx D_Gfx_800DAB80[] = { + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 2, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 3, G_TX_NOLOD, + G_TX_NOMIRROR | G_TX_CLAMP, 3, G_TX_NOLOD), + gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, 0x001C, 0x001C), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, D_Tex_800D99F8), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 63, 1024), + gsSPVertex(D_Vtx_800DAB40, 4, 0), + gsSP1Triangle(0, 2, 1, 0), + gsSP1Triangle(0, 1, 3, 0), + gsSPEndDisplayList(), +}; + +Vtx D_Vtx_800DABE0[] = { + VTX(-170, 0, -170, 0, 255, 0, 127, 0, 0), + VTX(170, 0, -170, 255, 255, 0, 127, 0, 0), + VTX(170, 0, 170, 255, 0, 0, 127, 0, 0), + VTX(-179, 0, 170, 0, 0, 0, 127, 0, 0), +}; + +Gfx D_Gfx_800DAC20[] = { + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 2, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 3, G_TX_NOLOD, + G_TX_NOMIRROR | G_TX_CLAMP, 3, G_TX_NOLOD), + gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, 0x001C, 0x001C), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, D_Tex_800DA1F8), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 63, 1024), + gsSPVertex(D_Vtx_800DABE0, 4, 0), + gsSP1Triangle(0, 2, 1, 0), + gsSP1Triangle(0, 3, 2, 0), + gsSPEndDisplayList(), +}; + +Vtx D_Vtx_800DAC80[] = { + VTX(0, 0, 0, 0, 0, 0, 0, 0, 255), + VTX(0, 0, -1, 0, 1984, 0, 0, 0, 255), +}; + +Gfx D_Gfx_800DACA0[] = { + gsSPVertex(D_Vtx_800DAC80, 2, 0), + gsSPLine3D(0, 1, 0), + gsSPEndDisplayList(), +}; + +// u16 D_Unk_800DACB8[32][32]; ? +u16 D_Unk_800DACB8[] = { + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x294B, 0x4A51, 0x4A51, 0x4A51, 0x4A51, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x294B, 0x7BDD, 0x7BDD, + 0xD671, 0xD671, 0x4A51, 0x4A51, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x7BDD, + 0x7BDD, 0x7BDD, 0x0001, 0x0001, 0x0843, 0x0843, 0xD671, 0xD671, 0xD671, 0x4A51, 0x4A51, 0x4A51, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, + 0x294B, 0x7BDD, 0x7BDD, 0x0001, 0x0001, 0x0001, 0x18C7, 0x0001, 0x0001, 0x318D, 0x0843, 0x0843, 0x0843, 0xD671, + 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x0001, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, 0x0001, 0x0001, + 0x318D, 0x1085, 0x1085, 0x0843, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x18C7, 0x0843, 0x0843, 0x18C7, + 0x0001, 0x0001, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, 0x318D, 0x318D, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, + 0x0001, 0x18C7, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x318D, + 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x7BDD, + 0x0001, 0x18C7, 0x0001, 0x0001, 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x294B, 0x4A51, 0x1085, 0x1085, 0x318D, + 0x0001, 0x0001, 0x0001, 0x0001, 0x318D, 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x39CF, + 0x6B17, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x0001, 0x0001, 0x318D, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x7BDD, 0x0001, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, 0x2909, + 0x1085, 0x0843, 0x420F, 0x420F, 0x739B, 0x739B, 0x1085, 0x2107, 0x420F, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, + 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x0843, 0x0843, + 0x0843, 0x18C7, 0x18C7, 0x1085, 0x2109, 0x420F, 0x0001, 0x0001, 0x0001, 0x0001, 0x739B, 0x41CF, 0x2107, 0x318D, + 0x318D, 0x1085, 0x1085, 0x1085, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, + 0x7BDD, 0x0001, 0x18C7, 0x18C7, 0x0843, 0x0843, 0x0843, 0x0843, 0x420F, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x739B, 0x1085, 0x1085, 0x1085, 0x1085, 0x318D, 0x318D, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, + 0x0001, 0x0001, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x420F, 0x0001, 0x0001, + 0x0001, 0x6B5B, 0x6B5B, 0x0001, 0x0001, 0x0001, 0x739B, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x318D, 0x0843, + 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x7BDD, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, + 0x39CF, 0x420F, 0x0001, 0x0001, 0x6B5B, 0xFFFF, 0xFFFF, 0x6B5B, 0x0001, 0x0001, 0x739B, 0x6B17, 0x4A51, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x7BDD, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x294B, 0x39CF, 0x420F, 0x0001, 0x0001, 0x6B5B, 0xFFFF, 0xFFFF, 0x6B5B, 0x0001, 0x0001, + 0x739B, 0x6B17, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, + 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x420F, 0x0001, 0x0001, 0x0001, 0x6B5B, + 0x6B5B, 0x0001, 0x0001, 0x0001, 0x739B, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x318D, 0x0843, 0xD671, 0x4A51, + 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x18C7, 0x0843, 0x0843, 0x0843, 0x0843, + 0x420F, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x739B, 0x1085, 0x1085, 0x1085, 0x1085, 0x318D, 0x318D, + 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x0843, 0x0843, + 0x0843, 0x18C7, 0x18C7, 0x1085, 0x2109, 0x420F, 0x0001, 0x0001, 0x0001, 0x0001, 0x739B, 0x41CF, 0x2107, 0x318D, + 0x318D, 0x1085, 0x1085, 0x1085, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, + 0x7BDD, 0x0001, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, 0x2909, 0x1085, 0x0843, 0x420F, 0x420F, 0x739B, 0x739B, + 0x1085, 0x2107, 0x420F, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, 0x0001, 0x0001, 0x18C7, 0x0843, + 0x0843, 0x39CF, 0x6B17, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x0001, 0x0001, 0x318D, 0x0843, 0xD671, 0x4A51, + 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, + 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x294B, 0x4A51, 0x1085, 0x1085, 0x318D, 0x0001, 0x0001, 0x0001, 0x0001, + 0x318D, 0x0843, 0xD671, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, + 0x7BDD, 0x0001, 0x18C7, 0x0001, 0x0001, 0x18C7, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, + 0x318D, 0x0001, 0x0001, 0x318D, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x18C7, 0x18C7, 0x0843, 0x0843, 0x18C7, 0x0001, 0x0001, + 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, 0x318D, 0x318D, 0x0843, 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x7BDD, 0x0001, 0x0001, 0x0843, + 0x0843, 0x18C7, 0x0001, 0x0001, 0x0001, 0x0001, 0x318D, 0x1085, 0x1085, 0x0843, 0x0843, 0xD671, 0x4A51, 0x4A51, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, + 0x294B, 0x7BDD, 0x7BDD, 0x0001, 0x0001, 0x0001, 0x18C7, 0x0001, 0x0001, 0x318D, 0x0843, 0x0843, 0x0843, 0xD671, + 0xD671, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x7BDD, 0x7BDD, 0x7BDD, 0x0001, 0x0001, 0x0843, 0x0843, + 0xD671, 0xD671, 0xD671, 0x4A51, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x294B, + 0x7BDD, 0x7BDD, 0xD671, 0xD671, 0x4A51, 0x4A51, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x294B, 0x294B, 0x294B, 0x294B, 0x4A51, 0x4A51, 0x4A51, 0x4A51, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, +}; + +// u8 D_Unk_800DB4B8[32][32] ? +u8 D_Unk_800DB4B8[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x09, 0x0A, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0B, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x0F, 0x14, 0x15, 0x0C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x16, 0x17, 0x0E, 0x0F, + 0x0F, 0x10, 0x12, 0x18, 0x18, 0x19, 0x0F, 0x1A, 0x1B, 0x1C, 0x0C, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x0C, 0x0D, 0x1D, 0x1E, 0x0F, 0x0F, 0x1F, 0x20, 0x20, 0x20, 0x20, + 0x1F, 0x21, 0x22, 0x0D, 0x23, 0x23, 0x24, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x25, 0x09, 0x26, 0x27, 0x14, 0x1A, 0x28, 0x0F, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x1F, 0x0F, 0x29, 0x2A, 0x2B, 0x15, + 0x17, 0x2C, 0x2D, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x01, 0x09, 0x2F, 0x30, 0x03, 0x31, 0x32, + 0x21, 0x0F, 0x33, 0x1F, 0x20, 0x20, 0x1F, 0x33, 0x28, 0x34, 0x30, 0x35, 0x36, 0x37, 0x34, 0x38, 0x39, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x15, 0x3A, 0x3B, 0x3C, 0x3C, 0x05, 0x34, 0x28, 0x0F, 0x0F, 0x33, 0x1F, 0x1F, + 0x33, 0x3C, 0x3D, 0x3E, 0x10, 0x3F, 0x04, 0x40, 0x3C, 0x41, 0x14, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x16, + 0x42, 0x34, 0x43, 0x1F, 0x1F, 0x3C, 0x3C, 0x44, 0x45, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x3C, 0x3C, 0x40, 0x3D, 0x45, + 0x1F, 0x1F, 0x45, 0x3D, 0x3B, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x25, 0x36, 0x40, 0x46, 0x12, 0x45, 0x1F, + 0x3C, 0x3C, 0x47, 0x45, 0x45, 0x45, 0x45, 0x3C, 0x45, 0x45, 0x28, 0x45, 0x46, 0x12, 0x45, 0x1F, 0x45, 0x48, 0x26, + 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x0A, 0x26, 0x49, 0x3D, 0x46, 0x4A, 0x12, 0x1F, 0x3C, 0x4B, 0x45, 0x4C, 0x4D, 0x4D, + 0x4D, 0x4D, 0x4C, 0x45, 0x45, 0x45, 0x4E, 0x4F, 0x12, 0x1F, 0x44, 0x49, 0x16, 0x0A, 0x0B, 0x00, 0x00, 0x0C, 0x16, + 0x15, 0x42, 0x34, 0x3C, 0x50, 0x4E, 0x3C, 0x3C, 0x3C, 0x51, 0x20, 0x20, 0x52, 0x53, 0x52, 0x20, 0x20, 0x54, 0x45, + 0x45, 0x4E, 0x4E, 0x45, 0x55, 0x2F, 0x56, 0x26, 0x1C, 0x0C, 0x16, 0x57, 0x58, 0x49, 0x59, 0x10, 0x40, 0x3D, 0x3C, + 0x3C, 0x3C, 0x18, 0x52, 0x53, 0x46, 0x5A, 0x5A, 0x46, 0x53, 0x52, 0x20, 0x5B, 0x45, 0x45, 0x45, 0x45, 0x3D, 0x5C, + 0x35, 0x5D, 0x58, 0x01, 0x27, 0x5E, 0x5F, 0x3D, 0x60, 0x05, 0x47, 0x3D, 0x61, 0x62, 0x18, 0x4D, 0x4E, 0x63, 0x64, + 0x65, 0x65, 0x66, 0x67, 0x4E, 0x4D, 0x20, 0x54, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x68, 0x69, 0x6A, 0x3F, + 0x6B, 0x11, 0x1F, 0x6C, 0x3D, 0x3D, 0x0F, 0x6D, 0x20, 0x5A, 0x4A, 0x65, 0x12, 0x6E, 0x6E, 0x12, 0x6F, 0x70, 0x5A, + 0x20, 0x71, 0x45, 0x45, 0x45, 0x72, 0x1F, 0x11, 0x48, 0x45, 0x31, 0x73, 0x72, 0x11, 0x20, 0x20, 0x1F, 0x03, 0x3D, + 0x62, 0x20, 0x4D, 0x63, 0x74, 0x75, 0x3E, 0x4B, 0x4B, 0x76, 0x77, 0x78, 0x67, 0x4D, 0x20, 0x79, 0x45, 0x72, 0x1F, + 0x20, 0x20, 0x11, 0x48, 0x60, 0x7A, 0x11, 0x18, 0x20, 0x20, 0x20, 0x74, 0x3D, 0x19, 0x20, 0x4E, 0x4A, 0x7B, 0x76, + 0x45, 0x45, 0x45, 0x45, 0x76, 0x7C, 0x70, 0x7D, 0x20, 0x19, 0x45, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x12, 0x7E, 0x07, + 0x11, 0x20, 0x20, 0x20, 0x20, 0x5D, 0x3D, 0x7F, 0x20, 0x4E, 0x80, 0x81, 0x3E, 0x45, 0x45, 0x45, 0x45, 0x3E, 0x7B, + 0x80, 0x7D, 0x20, 0x19, 0x45, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x7F, 0x04, 0x82, 0x83, 0x12, 0x20, 0x20, 0x1F, 0x6C, + 0x3D, 0x7F, 0x20, 0x4D, 0x84, 0x85, 0x6E, 0x3F, 0x3C, 0x3C, 0x3F, 0x6E, 0x86, 0x4A, 0x4D, 0x18, 0x62, 0x45, 0x72, + 0x1F, 0x20, 0x20, 0x1F, 0x72, 0x60, 0x59, 0x87, 0x6E, 0x12, 0x11, 0x6C, 0x3D, 0x47, 0x88, 0x6D, 0x20, 0x5A, 0x89, + 0x8A, 0x75, 0x72, 0x72, 0x7F, 0x8B, 0x80, 0x5A, 0x20, 0x6D, 0x8C, 0x45, 0x45, 0x72, 0x1F, 0x1F, 0x72, 0x45, 0x32, + 0x2F, 0x87, 0x87, 0x3D, 0x4B, 0x47, 0x44, 0x45, 0x8D, 0x19, 0x18, 0x52, 0x5A, 0x70, 0x8E, 0x8B, 0x8B, 0x6F, 0x8F, + 0x5A, 0x52, 0x18, 0x7F, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x04, 0x30, 0x90, 0x15, 0x2A, 0x91, 0x92, 0x28, 0x44, + 0x45, 0x45, 0x45, 0x45, 0x19, 0x18, 0x52, 0x50, 0x93, 0x94, 0x94, 0x93, 0x50, 0x52, 0x18, 0x7F, 0x45, 0x45, 0x45, + 0x45, 0x3D, 0x55, 0x33, 0x42, 0x58, 0x17, 0x95, 0x23, 0x17, 0x96, 0x60, 0x43, 0x3C, 0x1F, 0x11, 0x3C, 0x45, 0x7F, + 0x20, 0x20, 0x52, 0x53, 0x53, 0x52, 0x20, 0x97, 0x98, 0x45, 0x45, 0x11, 0x11, 0x45, 0x34, 0x36, 0x14, 0x15, 0x16, + 0x23, 0x00, 0x0C, 0x26, 0x22, 0x04, 0x45, 0x5A, 0x12, 0x45, 0x11, 0x45, 0x45, 0x98, 0x6D, 0x20, 0x20, 0x20, 0x20, + 0x99, 0x4B, 0x45, 0x45, 0x67, 0x12, 0x45, 0x1F, 0x3D, 0x29, 0x2A, 0x1C, 0x0A, 0x0B, 0x00, 0x0B, 0x9A, 0x14, 0x9B, + 0x45, 0x46, 0x4A, 0x12, 0x1F, 0x45, 0x45, 0x45, 0x45, 0x5B, 0x98, 0x19, 0x19, 0x45, 0x45, 0x45, 0x45, 0x46, 0x4A, + 0x12, 0x1F, 0x45, 0x60, 0x90, 0x23, 0x0B, 0x00, 0x00, 0x0B, 0x0C, 0x9C, 0x37, 0x45, 0x3C, 0x50, 0x50, 0x3C, 0x45, + 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3C, 0x5F, 0x5F, 0x45, 0x50, 0x50, 0x45, 0x45, 0x9D, 0x9E, 0x9F, + 0x00, 0x00, 0x00, 0x0B, 0x0C, 0x23, 0x1B, 0x10, 0x45, 0x45, 0x45, 0x43, 0x04, 0x43, 0x45, 0x45, 0x72, 0x1F, 0x1F, + 0x72, 0x45, 0x43, 0x60, 0x82, 0x05, 0x45, 0x45, 0x3C, 0x04, 0x6B, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0C, + 0x09, 0xA0, 0x60, 0x3F, 0x60, 0x10, 0x98, 0x5F, 0x45, 0x72, 0x1F, 0x20, 0x20, 0x1F, 0x45, 0x44, 0x05, 0x33, 0x30, + 0x73, 0x03, 0x83, 0x0E, 0xA1, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xA2, 0x1C, 0x17, 0x14, 0x90, 0x49, + 0xA3, 0xA4, 0x45, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x1F, 0x45, 0x40, 0x3B, 0x6A, 0x27, 0x27, 0x58, 0x0D, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xA5, 0x0A, 0x1C, 0x9C, 0xA6, 0xA7, 0x76, 0x45, 0x1F, 0x20, 0x20, + 0x20, 0x20, 0x1F, 0x45, 0x05, 0xA8, 0x15, 0x23, 0x23, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0C, 0x16, 0x26, 0x27, 0xA8, 0x45, 0x72, 0x1F, 0x20, 0x20, 0x1F, 0x72, 0x44, 0x10, 0x5E, + 0x1C, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, + 0x0A, 0x09, 0x90, 0x68, 0x45, 0x72, 0x98, 0x98, 0x72, 0x45, 0x10, 0x1B, 0xA9, 0x23, 0xAA, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x3A, 0x49, 0x05, + 0x76, 0x3E, 0x10, 0x30, 0x27, 0x15, 0x0B, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +u16 D_Unk_800DB8B8[] = { + 0x08D1, 0x3219, 0x7425, 0xADB1, 0xDF3B, 0xD6F9, 0xD739, 0xC675, 0x8CEB, 0x4ADF, 0x2197, 0x1113, 0x1955, 0x429F, + 0x9531, 0xE77F, 0xBE35, 0x8429, 0x94AB, 0xCE79, 0x7429, 0x5321, 0x321B, 0x5B65, 0x0843, 0xAD73, 0xB637, 0x84AD, + 0x3A5D, 0x6C29, 0xADF7, 0x7BE5, 0x0001, 0xCEFB, 0x8CEF, 0x29D9, 0x2195, 0x3A5B, 0x429D, 0x5B63, 0xDF3D, 0xA5B3, + 0x6BE7, 0x52E1, 0x5363, 0x42DF, 0x0911, 0x7427, 0x9D2F, 0x8CED, 0x9D71, 0xADB3, 0xC677, 0x94ED, 0x952F, 0xB635, + 0x846B, 0x325B, 0x7C29, 0xADF3, 0xF7BF, 0xEF7D, 0xD6B9, 0xDEFB, 0xE77D, 0xE73D, 0x84AB, 0xEFBD, 0xF7FF, 0xFFFF, + 0x0849, 0xEFBF, 0xC635, 0x8CAB, 0x3195, 0xEF7F, 0x739F, 0x0005, 0x084B, 0x39D5, 0x0009, 0x1087, 0x0003, 0x0007, + 0xB5B5, 0xCEB7, 0x4A9D, 0x4AE1, 0x63A5, 0x952D, 0x108B, 0xD6BB, 0xBE33, 0x8469, 0x94EF, 0xE73B, 0xCEB9, 0xE7BF, + 0xC639, 0x2111, 0x529B, 0x6321, 0x4A5B, 0x210F, 0xB639, 0x63A3, 0x7C69, 0xADB5, 0xB5B1, 0x4A55, 0xAD71, 0x5ADD, + 0x3193, 0x4A57, 0xBDF3, 0xA5B1, 0x73A5, 0xA52D, 0xCE77, 0xA52F, 0x6B63, 0xD6BD, 0xB633, 0x94AD, 0x8C6B, 0x0847, + 0xCEF9, 0x9CEF, 0x39D7, 0x9CED, 0xB5F3, 0xB5F5, 0x2951, 0x8427, 0x7BE7, 0xCF3F, 0xBE39, 0x4217, 0x73A3, 0x6B61, + 0xDF3F, 0xDF7F, 0x5ADF, 0x2953, 0x7C6B, 0x9D73, 0xC6BB, 0x108D, 0x18CF, 0x29D7, 0xA5B5, 0x18C7, 0xBDF5, 0x5299, + 0x21D9, 0xD6FB, 0x5323, 0xC6B9, 0x742B, 0x1155, 0x6BE9, 0x5BA5, 0x21D7, 0x9D2D, 0xDEF9, 0x1997, 0x5B21, 0x6BE5, + 0xA571, 0x63A7, 0x0913, 0xFFFE, 0xFFFE, 0xFFFE, 0xFFFE, 0xFFFE, 0x0000, 0x0000, 0x0000, 0x0000, // File split? +}; + +u16 D_Tex_800DBA20[0x40] = { + 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, + 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, + 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, +}; + +Gfx D_Gfx_800DBAA0[] = { + gsDPPipeSync(), + gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | + G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), + gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH), + gsSPSetOtherMode(G_SETOTHERMODE_L, G_MDSFT_ALPHACOMPARE, 3, G_AC_NONE | G_ZS_PIXEL), + gsDPSetRenderMode(G_RM_NOOP, G_RM_NOOP2), + gsSPSetOtherModeHi(G_AD_NOISE | G_CD_DISABLE | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | + G_TD_CLAMP | G_TP_PERSP | G_CYC_FILL | G_PM_NPRIMITIVE), + gsSPClipRatio(FRUSTRATIO_1), + gsSPEndDisplayList(), +}; diff --git a/src/main/main.c b/src/main/main.c index 45d55782..52248ea2 100644 --- a/src/main/main.c +++ b/src/main/main.c @@ -1,15 +1,7 @@ #include "global.h" s32 sGammaMode = 1; - -u8 gAudioThreadStack[0x1000]; // 800DDAA0 -OSThread gGraphicsThread; // 800DEAA0 -u8 gGraphicsThreadStack[0x1000]; // 800DEC50 -OSThread gTimerThread; // 800DFC50 -u8 gTimerThreadStack[0x1000]; // 800DFE00 -OSThread gSerialThread; // 800E0E00 -u8 gSerialThreadStack[0x1000]; // 800E0FB0 - +#ifdef BSS_IMPORT SPTask* gCurrentTask; SPTask* sAudioTasks[1]; SPTask* sGfxTasks[2]; @@ -70,11 +62,93 @@ u16 gFillScreenColor; u16 gFillScreen; u8 gUnusedStack[0x1000]; -OSThread sIdleThread; // 80138E90 -u8 sIdleThreadStack[0x1000]; // 801390A0 -OSThread gMainThread; // 8013A040 -u8 sMainThreadStack[0x1000]; // 8013A1F0 -OSThread gAudioThread; // 8013B1F0 +OSThread sIdleThread; // 80138E90 +u8 sIdleThreadStack[0x1000]; // 801390A0 +OSThread gMainThread; // 8013A040 +u8 sMainThreadStack[0x1000]; // 8013A1F0 +OSThread gAudioThread; // 8013B1F0 +u8 gAudioThreadStack[0x1000]; // 800DDAA0 +OSThread gGraphicsThread; // 800DEAA0 +u8 gGraphicsThreadStack[0x1000]; // 800DEC50 +OSThread gTimerThread; // 800DFC50 +u8 gTimerThreadStack[0x1000]; // 800DFE00 +OSThread gSerialThread; // 800E0E00 +u8 gSerialThreadStack[0x1000]; // 800E0FB0 +#else +extern u8 gAudioThreadStack[0x1000]; // 800DDAA0 +extern OSThread gGraphicsThread; // 800DEAA0 +extern u8 gGraphicsThreadStack[0x1000]; // 800DEC50 +extern OSThread gTimerThread; // 800DFC50 +extern u8 gTimerThreadStack[0x1000]; // 800DFE00 +extern OSThread gSerialThread; // 800E0E00 +extern u8 gSerialThreadStack[0x1000]; // 800E0FB0 + +extern SPTask* gCurrentTask; +extern SPTask* sAudioTasks[1]; +extern SPTask* sGfxTasks[2]; +extern SPTask* sNewAudioTasks[1]; +// 0x4 gap here +extern SPTask* sNewGfxTasks[2]; +extern u32 gSegments[16]; // 800E1FD0 +extern OSMesgQueue gPiMgrCmdQueue; // 800E2010 +extern OSMesg sPiMgrCmdBuff[50]; // 800E2028 + +extern OSMesgQueue gDmaMsgQueue; +extern void* sDmaMsgBuff[1]; +extern OSIoMesg gDmaIOMsg; +extern OSMesgQueue gSerialEventQueue; +extern void* sSerialEventBuff[1]; +extern OSMesgQueue gMainThreadMsgQueue; +extern void* sMainThreadMsgBuff[32]; +extern OSMesgQueue gTaskMsgQueue; +extern void* sTaskMsgBuff[16]; +extern OSMesgQueue gAudioVImsgQueue; +extern void* sAudioVImsgBuff[1]; +extern OSMesgQueue gAudioTaskMsgQueue; +extern void* sAudioTaskMsgBuff[1]; +extern OSMesgQueue gGfxVImsgQueue; +extern void* sGfxVImsgBuff[4]; +extern OSMesgQueue gGfxTaskMsgQueue; +extern void* sGfxTaskMsgBuff[2]; +extern OSMesgQueue gSerialThreadMsgQueue; +extern void* sSerialThreadMsgBuff[8]; +extern OSMesgQueue gControllerMsgQueue; +extern void* sControllerMsgBuff[1]; +extern OSMesgQueue gSaveMsgQueue; +extern void* sSaveMsgBuff[1]; +extern OSMesgQueue gTimerTaskMsgQueue; +extern void* sTimerTaskMsgBuff[16]; +extern OSMesgQueue gTimerWaitMsgQueue; +extern void* sTimerWaitMsgBuff[1]; + +extern GfxPool gGfxPools[2]; + +extern GfxPool* gGfxPool; +extern SPTask* gGfxTask; +extern Vp* gViewport; +extern Mtx* gGfxMtx; +extern Gfx* gUnkDisp1; +extern Gfx* gMasterDisp; +extern Gfx* gUnkDisp2; +extern Lightsn* gLight; +extern FrameBuffer* gFrameBuffer; +extern u16* D_80137E74; + +extern u8 D_80137E78; +extern u32 gFrameCounter; +extern u8 gStartNMI; +extern u8 gStopTasks; +extern u8 D_80137E84[4]; +extern u16 gFillScreenColor; +extern u16 gFillScreen; + +extern u8 gUnusedStack[0x1000]; +extern OSThread sIdleThread; // 80138E90 +extern u8 sIdleThreadStack[0x1000]; // 801390A0 +extern OSThread gMainThread; // 8013A040 +extern u8 sMainThreadStack[0x1000]; // 8013A1F0 +extern OSThread gAudioThread; // 8013B1F0 +#endif void Main_Initialize(void) { u8 i; diff --git a/src/main/note_data.c b/src/main/note_data.c new file mode 100644 index 00000000..94e36608 --- /dev/null +++ b/src/main/note_data.c @@ -0,0 +1,447 @@ +#include "global.h" + +#define MK_CMD(b0, b1, b2, b3) \ + ((((b0) &0xFF) << 0x18) | (((b1) &0xFF) << 0x10) | (((b2) &0xFF) << 0x8) | (((b3) &0xFF) << 0)) + +#define NO_LAYER ((SequenceLayer*) (-1)) + +#define TATUMS_PER_BEAT 48 + +#define IS_SEQUENCE_CHANNEL_VALID(ptr) ((u32) (ptr) != (u32) &gAudioCtx.sequenceChannelNone) +#define SEQ_NUM_CHANNELS 16 +#define SEQ_IO_VAL_NONE -1 + +#define MAX_CHANNELS_PER_BANK 3 + +#define MUTE_BEHAVIOR_3 (1 << 3) // prevent further NoteUnkStructs from playing +#define MUTE_BEHAVIOR_4 (1 << 4) // stop something in seqLayer scripts +#define MUTE_BEHAVIOR_SOFTEN (1 << 5) // lower volume, by default to half +#define MUTE_BEHAVIOR_STOP_NOTES (1 << 6) // prevent further notes from playing +#define MUTE_BEHAVIOR_STOP_SCRIPT (1 << 7) // stop processing sequence/channel scripts + +#define ADSR_DISABLE 0 +#define ADSR_HANG -1 +#define ADSR_GOTO -2 +#define ADSR_RESTART -3 + +// size of a single sample point +#define SAMPLE_SIZE sizeof(s16) + +// Samples are processed in groups of 16 called a "frame" +#define SAMPLES_PER_FRAME ADPCMFSIZE + +// The length of one left/right channel is 13 frames +#define DMEM_1CH_SIZE (13 * SAMPLES_PER_FRAME * SAMPLE_SIZE) +// Both left and right channels +#define DMEM_2CH_SIZE (2 * DMEM_1CH_SIZE) + +#define AIBUF_LEN (88 * SAMPLES_PER_FRAME) // number of samples +#define AIBUF_SIZE (AIBUF_LEN * SAMPLE_SIZE) // number of bytes + +// Filter sizes +#define FILTER_SIZE (8 * SAMPLE_SIZE) +#define FILTER_BUF_PART1 (8 * SAMPLE_SIZE) +#define FILTER_BUF_PART2 (8 * SAMPLE_SIZE) + +// Must be the same amount of samples as copied by aDuplicate() (audio microcode) +#define WAVE_SAMPLE_COUNT 64 + +#define AUDIO_RELOCATED_ADDRESS_START K0BASE + +typedef struct { + /* 0x0 */ s16 delay; + /* 0x2 */ s16 arg; +} EnvelopePoint; // size = 0x4 + +typedef struct { + /* 0x00 */ u32 start; + /* 0x04 */ u32 end; + /* 0x08 */ u32 count; + /* 0x0C */ char unk_0C[0x4]; + /* 0x10 */ s16 predictorState[16]; // only exists if count != 0. 8-byte aligned +} AdpcmLoop; // size = 0x30 (or 0x10) + +typedef struct { + /* 0x00 */ s32 order; + /* 0x04 */ s32 numPredictors; + /* 0x08 */ s16 book[1]; // size 8 * order * numPredictors. 8-byte aligned +} AdpcmBook; // size >= 0x8 + +typedef struct { + /* 0x00 */ u32 codec : 4; // The state of compression or decompression + /* 0x00 */ u32 medium : 2; // Medium where sample is currently stored + /* 0x00 */ u32 unk_bit26 : 1; + /* 0x00 */ u32 isRelocated : 1; // Has the sample header been relocated (offsets to pointers) + /* 0x01 */ u32 size : 24; // Size of the sample + /* 0x04 */ u8* sampleAddr; // Raw sample data. Offset from the start of the sample bank or absolute address to + // either rom or ram + /* 0x08 */ AdpcmLoop* + loop; // Adpcm loop parameters used by the sample. Offset from the start of the sound font / pointer to ram + /* 0x0C */ AdpcmBook* + book; // Adpcm book parameters used by the sample. Offset from the start of the sound font / pointer to ram +} Sample; // size = 0x10 + +typedef struct { + /* 0x00 */ Sample* sample; + /* 0x04 */ f32 tuning; // frequency scale factor +} TunedSample; // size = 0x8 + +typedef struct { + struct { + /* 0x00 */ volatile u8 enabled : 1; + /* 0x00 */ u8 needsInit : 1; + /* 0x00 */ u8 finished : 1; // ? + /* 0x00 */ u8 unused : 1; + /* 0x00 */ u8 stereoStrongRight : 1; + /* 0x00 */ u8 stereoStrongLeft : 1; + /* 0x00 */ u8 stereoHeadsetEffects : 1; + /* 0x00 */ u8 usesHeadsetPanEffects : 1; // ? + } bitField0; + struct { + /* 0x01 */ u8 reverbIndex : 3; + /* 0x01 */ u8 bookOffset : 2; + /* 0x01 */ u8 isSyntheticWave : 1; + /* 0x01 */ u8 hasTwoParts : 1; + /* 0x01 */ u8 useHaasEffect : 1; + } bitField1; + /* 0x02 */ u8 pad2[0xE]; +} NoteUnkStruct; // size = 0120 + +f32 gBendPitchOneOctaveFrequencies[] = { + 0.5f, 0.5f, 0.502736f, 0.505488f, 0.508254f, 0.511036f, 0.513833f, 0.516645f, 0.519472f, 0.522315f, + 0.525174f, 0.528048f, 0.530938f, 0.533843f, 0.536765f, 0.539702f, 0.542656f, 0.545626f, 0.548612f, 0.551614f, + 0.554633f, 0.557669f, 0.560721f, 0.563789f, 0.566875f, 0.569977f, 0.573097f, 0.576233f, 0.579387f, 0.582558f, + 0.585746f, 0.588951f, 0.592175f, 0.595415f, 0.598674f, 0.60195f, 0.605245f, 0.608557f, 0.611888f, 0.615236f, + 0.618603f, 0.621989f, 0.625393f, 0.628815f, 0.632257f, 0.635717f, 0.639196f, 0.642694f, 0.646212f, 0.649748f, + 0.653304f, 0.65688f, 0.660475f, 0.664089f, 0.667724f, 0.671378f, 0.675052f, 0.678747f, 0.682461f, 0.686196f, + 0.689952f, 0.693727f, 0.697524f, 0.701341f, 0.70518f, 0.709039f, 0.712919f, 0.716821f, 0.720744f, 0.724689f, + 0.728655f, 0.732642f, 0.736652f, 0.740684f, 0.744737f, 0.748813f, 0.752911f, 0.757031f, 0.761175f, 0.76534f, + 0.769529f, 0.77374f, 0.777975f, 0.782232f, 0.786513f, 0.790818f, 0.795146f, 0.799497f, 0.803873f, 0.808272f, + 0.812696f, 0.817144f, 0.821616f, 0.826112f, 0.830633f, 0.835179f, 0.83975f, 0.844346f, 0.848966f, 0.853613f, + 0.858284f, 0.862982f, 0.867704f, 0.872453f, 0.877228f, 0.882029f, 0.886856f, 0.891709f, 0.89659f, 0.901496f, + 0.90643f, 0.911391f, 0.916379f, 0.921394f, 0.926436f, 0.931507f, 0.936604f, 0.94173f, 0.946884f, 0.952066f, + 0.957277f, 0.962516f, 0.967783f, 0.97308f, 0.978405f, 0.98376f, 0.989144f, 0.994557f, 1.0f, 1.005473f, + 1.010975f, 1.016508f, 1.022071f, 1.027665f, 1.033289f, 1.038944f, 1.04463f, 1.050347f, 1.056095f, 1.061875f, + 1.067687f, 1.07353f, 1.079405f, 1.085312f, 1.091252f, 1.097224f, 1.103229f, 1.109267f, 1.115337f, 1.121441f, + 1.127579f, 1.13375f, 1.139955f, 1.146193f, 1.152466f, 1.158773f, 1.165115f, 1.171491f, 1.177903f, 1.184349f, + 1.190831f, 1.197348f, 1.203901f, 1.210489f, 1.217114f, 1.223775f, 1.230473f, 1.237207f, 1.243978f, 1.250786f, + 1.257631f, 1.264514f, 1.271434f, 1.278392f, 1.285389f, 1.292423f, 1.299497f, 1.306608f, 1.313759f, 1.320949f, + 1.328178f, 1.335447f, 1.342756f, 1.350104f, 1.357493f, 1.364922f, 1.372392f, 1.379903f, 1.387455f, 1.395048f, + 1.402683f, 1.41036f, 1.418078f, 1.425839f, 1.433642f, 1.441488f, 1.449377f, 1.457309f, 1.465285f, 1.473304f, + 1.481367f, 1.489474f, 1.497626f, 1.505822f, 1.514063f, 1.522349f, 1.530681f, 1.539058f, 1.547481f, 1.55595f, + 1.564465f, 1.573027f, 1.581636f, 1.590292f, 1.598995f, 1.607746f, 1.616545f, 1.625392f, 1.634287f, 1.643231f, + 1.652224f, 1.661266f, 1.670358f, 1.6795f, 1.688691f, 1.697933f, 1.707225f, 1.716569f, 1.725963f, 1.735409f, + 1.744906f, 1.754456f, 1.764058f, 1.773712f, 1.783419f, 1.793179f, 1.802993f, 1.81286f, 1.822782f, 1.832757f, + 1.842788f, 1.852873f, 1.863013f, 1.873209f, 1.883461f, 1.893768f, 1.904132f, 1.914553f, 1.925031f, 1.935567f, + 1.946159f, 1.95681f, 1.96752f, 1.978287f, 1.989114f, 2.0f, +}; + +f32 gBendPitchTwoSemitonesFrequencies[] = { + 0.890899f, 0.890899f, 0.89171f, 0.892521f, 0.893333f, 0.894146f, 0.89496f, 0.895774f, 0.89659f, 0.897406f, + 0.898222f, 0.89904f, 0.899858f, 0.900677f, 0.901496f, 0.902317f, 0.903138f, 0.90396f, 0.904783f, 0.905606f, + 0.90643f, 0.907255f, 0.908081f, 0.908907f, 0.909734f, 0.910562f, 0.911391f, 0.91222f, 0.91305f, 0.913881f, + 0.914713f, 0.915545f, 0.916379f, 0.917213f, 0.918047f, 0.918883f, 0.919719f, 0.920556f, 0.921394f, 0.922232f, + 0.923072f, 0.923912f, 0.924752f, 0.925594f, 0.926436f, 0.927279f, 0.928123f, 0.928968f, 0.929813f, 0.93066f, + 0.931507f, 0.932354f, 0.933203f, 0.934052f, 0.934902f, 0.935753f, 0.936604f, 0.937457f, 0.93831f, 0.939164f, + 0.940019f, 0.940874f, 0.94173f, 0.942587f, 0.943445f, 0.944304f, 0.945163f, 0.946023f, 0.946884f, 0.947746f, + 0.948608f, 0.949472f, 0.950336f, 0.951201f, 0.952066f, 0.952933f, 0.9538f, 0.954668f, 0.955537f, 0.956406f, + 0.957277f, 0.958148f, 0.95902f, 0.959893f, 0.960766f, 0.961641f, 0.962516f, 0.963392f, 0.964268f, 0.965146f, + 0.966024f, 0.966903f, 0.967783f, 0.968664f, 0.969546f, 0.970428f, 0.971311f, 0.972195f, 0.97308f, 0.973965f, + 0.974852f, 0.975739f, 0.976627f, 0.977516f, 0.978405f, 0.979296f, 0.980187f, 0.981079f, 0.981972f, 0.982865f, + 0.98376f, 0.984655f, 0.985551f, 0.986448f, 0.987346f, 0.988244f, 0.989144f, 0.990044f, 0.990945f, 0.991847f, + 0.992749f, 0.993653f, 0.994557f, 0.995462f, 0.996368f, 0.997275f, 0.998182f, 0.999091f, 1.0f, 1.00091f, + 1.001821f, 1.002733f, 1.003645f, 1.004559f, 1.005473f, 1.006388f, 1.007304f, 1.00822f, 1.009138f, 1.010056f, + 1.010975f, 1.011896f, 1.012816f, 1.013738f, 1.014661f, 1.015584f, 1.016508f, 1.017433f, 1.018359f, 1.019286f, + 1.020214f, 1.021142f, 1.022071f, 1.023002f, 1.023933f, 1.024864f, 1.025797f, 1.026731f, 1.027665f, 1.0286f, + 1.029536f, 1.030473f, 1.031411f, 1.03235f, 1.033289f, 1.03423f, 1.035171f, 1.036113f, 1.037056f, 1.038f, + 1.038944f, 1.03989f, 1.040836f, 1.041783f, 1.042731f, 1.04368f, 1.04463f, 1.045581f, 1.046532f, 1.047485f, + 1.048438f, 1.049392f, 1.050347f, 1.051303f, 1.05226f, 1.053217f, 1.054176f, 1.055135f, 1.056095f, 1.057056f, + 1.058018f, 1.058981f, 1.059945f, 1.06091f, 1.061875f, 1.062842f, 1.063809f, 1.064777f, 1.065746f, 1.066716f, + 1.067687f, 1.068658f, 1.069631f, 1.070604f, 1.071578f, 1.072554f, 1.07353f, 1.074507f, 1.075485f, 1.076463f, + 1.077443f, 1.078424f, 1.079405f, 1.080387f, 1.08137f, 1.082355f, 1.08334f, 1.084325f, 1.085312f, 1.0863f, + 1.087289f, 1.088278f, 1.089268f, 1.09026f, 1.091252f, 1.092245f, 1.093239f, 1.094234f, 1.09523f, 1.096226f, + 1.097224f, 1.098223f, 1.099222f, 1.100222f, 1.101224f, 1.102226f, 1.103229f, 1.104233f, 1.105238f, 1.106244f, + 1.10725f, 1.108258f, 1.109267f, 1.110276f, 1.111287f, 1.112298f, 1.11331f, 1.114323f, 1.115337f, 1.116352f, + 1.117368f, 1.118385f, 1.119403f, 1.120422f, 1.121441f, 1.122462f, +}; + +f32 gPitchFrequencies[] = { + /* 0x00 */ 0.105112f, // PITCH_A0 + /* 0x01 */ 0.111362f, // PITCH_BFLAT0 + /* 0x02 */ 0.117984f, // PITCH_B0 + /* 0x03 */ 0.125f, // PITCH_C1 + /* 0x04 */ 0.132433f, // PITCH_DFLAT1 + /* 0x05 */ 0.140308f, // PITCH_D1 + /* 0x06 */ 0.148651f, // PITCH_EFLAT1 + /* 0x07 */ 0.15749f, // PITCH_E1 + /* 0x08 */ 0.166855f, // PITCH_F1 + /* 0x09 */ 0.176777f, // PITCH_GFLAT1 + /* 0x0A */ 0.187288f, // PITCH_G1 + /* 0x0B */ 0.198425f, // PITCH_AFLAT1 + /* 0x0C */ 0.210224f, // PITCH_A1 + /* 0x0D */ 0.222725f, // PITCH_BFLAT1 + /* 0x0E */ 0.235969f, // PITCH_B1 + /* 0x0F */ 0.25f, // PITCH_C2 + /* 0x10 */ 0.264866f, // PITCH_DFLAT2 + /* 0x11 */ 0.280616f, // PITCH_D2 + /* 0x12 */ 0.297302f, // PITCH_EFLAT2 + /* 0x13 */ 0.31498f, // PITCH_E2 + /* 0x14 */ 0.33371f, // PITCH_F2 + /* 0x15 */ 0.353553f, // PITCH_GFLAT2 + /* 0x16 */ 0.374577f, // PITCH_G2 + /* 0x17 */ 0.39685f, // PITCH_AFLAT2 + /* 0x18 */ 0.420448f, // PITCH_A2 + /* 0x19 */ 0.445449f, // PITCH_BFLAT2 + /* 0x1A */ 0.471937f, // PITCH_B2 + /* 0x1B */ 0.5f, // PITCH_C3 + /* 0x1C */ 0.529732f, // PITCH_DFLAT3 + /* 0x1D */ 0.561231f, // PITCH_D3 + /* 0x1E */ 0.594604f, // PITCH_EFLAT3 + /* 0x1F */ 0.629961f, // PITCH_E3 + /* 0x20 */ 0.66742f, // PITCH_F3 + /* 0x21 */ 0.707107f, // PITCH_GFLAT3 + /* 0x22 */ 0.749154f, // PITCH_G3 + /* 0x23 */ 0.793701f, // PITCH_AFLAT3 + /* 0x24 */ 0.840897f, // PITCH_A3 + /* 0x25 */ 0.890899f, // PITCH_BFLAT3 + /* 0x26 */ 0.943875f, // PITCH_B3 + /* 0x27 */ 1.0f, // PITCH_C4 (Middle C) + /* 0x28 */ 1.059463f, // PITCH_DFLAT4 + /* 0x29 */ 1.122462f, // PITCH_D4 + /* 0x2A */ 1.189207f, // PITCH_EFLAT4 + /* 0x2B */ 1.259921f, // PITCH_E4 + /* 0x2C */ 1.33484f, // PITCH_F4 + /* 0x2D */ 1.414214f, // PITCH_GFLAT4 + /* 0x2E */ 1.498307f, // PITCH_G4 + /* 0x2F */ 1.587401f, // PITCH_AFLAT4 + /* 0x30 */ 1.681793f, // PITCH_A4 + /* 0x31 */ 1.781798f, // PITCH_BFLAT4 + /* 0x32 */ 1.887749f, // PITCH_B4 + /* 0x33 */ 2.0f, // PITCH_C5 + /* 0x34 */ 2.118926f, // PITCH_DFLAT5 + /* 0x35 */ 2.244924f, // PITCH_D5 + /* 0x36 */ 2.378414f, // PITCH_EFLAT5 + /* 0x37 */ 2.519842f, // PITCH_E5 + /* 0x38 */ 2.66968f, // PITCH_F5 + /* 0x39 */ 2.828428f, // PITCH_GFLAT5 + /* 0x3A */ 2.996615f, // PITCH_G5 + /* 0x3B */ 3.174803f, // PITCH_AFLAT5 + /* 0x3C */ 3.363586f, // PITCH_A5 + /* 0x3D */ 3.563596f, // PITCH_BFLAT5 + /* 0x3E */ 3.775498f, // PITCH_B5 + /* 0x3F */ 4.0f, // PITCH_C6 + /* 0x40 */ 4.237853f, // PITCH_DFLAT6 + /* 0x41 */ 4.489849f, // PITCH_D6 + /* 0x42 */ 4.756829f, // PITCH_EFLAT6 + /* 0x43 */ 5.039685f, // PITCH_E6 + /* 0x44 */ 5.33936f, // PITCH_F6 + /* 0x45 */ 5.656855f, // PITCH_GFLAT6 + /* 0x46 */ 5.993229f, // PITCH_G6 + /* 0x47 */ 6.349606f, // PITCH_AFLAT6 + /* 0x48 */ 6.727173f, // PITCH_A6 + /* 0x49 */ 7.127192f, // PITCH_BFLAT6 + /* 0x4A */ 7.550996f, // PITCH_B6 + /* 0x4B */ 8.0f, // PITCH_C7 + /* 0x4C */ 8.475705f, // PITCH_DFLAT7 + /* 0x4D */ 8.979697f, // PITCH_D7 + /* 0x4E */ 9.513658f, // PITCH_EFLAT7 + /* 0x4F */ 10.07937f, // PITCH_E7 + /* 0x50 */ 10.6787205f, // PITCH_F7 + /* 0x51 */ 11.31371f, // PITCH_GFLAT7 + /* 0x52 */ 11.986459f, // PITCH_G7 + /* 0x53 */ 12.699211f, // PITCH_AFLAT7 + /* 0x54 */ 13.454346f, // PITCH_A7 + /* 0x55 */ 14.254383f, // PITCH_BFLAT7 + /* 0x56 */ 15.101993f, // PITCH_B7 + /* 0x57 */ 16.0f, // PITCH_C8 + /* 0x58 */ 16.95141f, // PITCH_DFLAT8 + /* 0x59 */ 17.959395f, // PITCH_D8 + /* 0x5A */ 19.027315f, // PITCH_EFLAT8 + /* 0x5B */ 20.15874f, // PITCH_E8 + /* 0x5C */ 21.35744f, // PITCH_F8 + /* 0x5D */ 22.62742f, // PITCH_GFLAT8 + /* 0x5E */ 23.972918f, // PITCH_G8 + /* 0x5F */ 25.398422f, // PITCH_AFLAT8 + /* 0x60 */ 26.908691f, // PITCH_A8 + /* 0x61 */ 28.508766f, // PITCH_BFLAT8 + /* 0x62 */ 30.203985f, // PITCH_B8 + /* 0x63 */ 32.0f, // PITCH_C9 + /* 0x64 */ 33.90282f, // PITCH_DFLAT9 + /* 0x65 */ 35.91879f, // PITCH_D9 + /* 0x66 */ 38.05463f, // PITCH_EFLAT9 + /* 0x67 */ 40.31748f, // PITCH_E9 + /* 0x68 */ 42.71488f, // PITCH_F9 + /* 0x69 */ 45.25484f, // PITCH_GFLAT9 + /* 0x6A */ 47.945835f, // PITCH_G9 + /* 0x6B */ 50.796845f, // PITCH_AFLAT9 + /* 0x6C */ 53.817383f, // PITCH_A9 + /* 0x6D */ 57.017532f, // PITCH_BFLAT9 + /* 0x6E */ 60.40797f, // PITCH_B9 + /* 0x6F */ 64.0f, // PITCH_C10 + /* 0x70 */ 67.80564f, // PITCH_DFLAT10 + /* 0x71 */ 71.83758f, // PITCH_D10 + /* 0x72 */ 76.10926f, // PITCH_EFLAT10 + /* 0x73 */ 80.63496f, // PITCH_E10 + /* 0x74 */ 85.42976f, // PITCH_F10 + /* 0x75 */ 45.25484f, // PITCH_GFLAT9G1 + /* 0x76 */ 47.945835f, // PITCH_G9 + /* 0x77 */ 50.796844f, // PITCH_AFLAT9 + /* 0x78 */ 53.817383f, // PITCH_A9 + /* 0x79 */ 57.017532f, // PITCH_BFLAT9 + /* 0x7A */ 60.40797f, // PITCH_B9 + /* 0x7B */ 64.0f, // PITCH_C10 + /* 0x7C */ 67.80564f, // PITCH_DFLAT10 + /* 0x7D */ 71.837578f, // PITCH_D10 + /* 0x7E */ 76.10926f, // PITCH_EFLAT10 + /* 0x7F */ 80.63496f, // PITCH_E10 +}; + +u8 gDefaultShortNoteVelocityTable[] = { + 12, 25, 38, 51, 57, 64, 71, 76, 83, 89, 96, 102, 109, 115, 121, 127, +}; + +u8 gDefaultShortNoteGateTimeTable[] = { + 229, 203, 177, 151, 139, 126, 113, 100, 87, 74, 61, 48, 36, 23, 10, 0, +}; +EnvelopePoint gDefaultEnvelope[] = { + { 4, 32000 }, + { 1000, 32000 }, + { ADSR_HANG, 0 }, + { ADSR_DISABLE, 0 }, +}; + +NoteUnkStruct gZeroNoteSub = { 0 }; + +NoteUnkStruct gDefaultNoteSub = { + { 1, 1, 0, 0, 0, 0, 0, 0 }, + { 0 }, + { 0 }, +}; + +u16 gHaasEffectDelaySizes[64] = { + 30 * SAMPLE_SIZE, + 29 * SAMPLE_SIZE, + 28 * SAMPLE_SIZE, + 27 * SAMPLE_SIZE, + 26 * SAMPLE_SIZE, + 25 * SAMPLE_SIZE, + 24 * SAMPLE_SIZE, + 23 * SAMPLE_SIZE, + 22 * SAMPLE_SIZE, + 21 * SAMPLE_SIZE, + 20 * SAMPLE_SIZE, + 19 * SAMPLE_SIZE, + 18 * SAMPLE_SIZE, + 17 * SAMPLE_SIZE, + 16 * SAMPLE_SIZE, + 15 * SAMPLE_SIZE, + 14 * SAMPLE_SIZE, + 13 * SAMPLE_SIZE, + 12 * SAMPLE_SIZE, + 11 * SAMPLE_SIZE, + 10 * SAMPLE_SIZE, + 9 * SAMPLE_SIZE, + 8 * SAMPLE_SIZE, + 7 * SAMPLE_SIZE, + 6 * SAMPLE_SIZE, + 5 * SAMPLE_SIZE, + 4 * SAMPLE_SIZE, + 3 * SAMPLE_SIZE, + 2 * SAMPLE_SIZE, + 1 * SAMPLE_SIZE, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, +}; + +// clang-format off +s16 D_800DD200[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 500, 0, 0, 0, 0, + 0, 0, 0, 500, 0, 0, 0, 0, + 0, 0, 0, 500, 0, 0, 0, 0, + 0, 0, 0, 500, 0, 0, 0, 0, +}; +// clang-format on + +f32 gHeadsetPanVolume[] = { + 1.0f, 0.995386f, 0.990772f, 0.986157f, 0.981543f, 0.976929f, 0.972315f, 0.967701f, 0.963087f, 0.958472f, + 0.953858f, 0.949244f, 0.94463f, 0.940016f, 0.935402f, 0.930787f, 0.926173f, 0.921559f, 0.916945f, 0.912331f, + 0.907717f, 0.903102f, 0.898488f, 0.893874f, 0.88926f, 0.884646f, 0.880031f, 0.875417f, 0.870803f, 0.866189f, + 0.861575f, 0.856961f, 0.852346f, 0.847732f, 0.843118f, 0.838504f, 0.83389f, 0.829276f, 0.824661f, 0.820047f, + 0.815433f, 0.810819f, 0.806205f, 0.801591f, 0.796976f, 0.792362f, 0.787748f, 0.783134f, 0.77852f, 0.773906f, + 0.769291f, 0.764677f, 0.760063f, 0.755449f, 0.750835f, 0.74622f, 0.741606f, 0.736992f, 0.732378f, 0.727764f, + 0.72315f, 0.718535f, 0.713921f, 0.709307f, 0.70537f, 0.70211f, 0.69885f, 0.695591f, 0.692331f, 0.689071f, + 0.685811f, 0.682551f, 0.679291f, 0.676031f, 0.672772f, 0.669512f, 0.666252f, 0.662992f, 0.659732f, 0.656472f, + 0.653213f, 0.649953f, 0.646693f, 0.643433f, 0.640173f, 0.636913f, 0.633654f, 0.630394f, 0.627134f, 0.623874f, + 0.620614f, 0.617354f, 0.614094f, 0.610835f, 0.607575f, 0.604315f, 0.601055f, 0.597795f, 0.594535f, 0.591276f, + 0.588016f, 0.584756f, 0.581496f, 0.578236f, 0.574976f, 0.571717f, 0.568457f, 0.565197f, 0.561937f, 0.558677f, + 0.555417f, 0.552157f, 0.548898f, 0.545638f, 0.542378f, 0.539118f, 0.535858f, 0.532598f, 0.529339f, 0.526079f, + 0.522819f, 0.519559f, 0.516299f, 0.513039f, 0.50978f, 0.50652f, 0.50326f, 0.5f, +}; + +f32 gStereoPanVolume[] = { + 0.707f, 0.716228f, 0.725457f, 0.734685f, 0.743913f, 0.753142f, 0.76237f, 0.771598f, 0.780827f, 0.790055f, + 0.799283f, 0.808512f, 0.81774f, 0.826968f, 0.836197f, 0.845425f, 0.854654f, 0.863882f, 0.87311f, 0.882339f, + 0.891567f, 0.900795f, 0.910024f, 0.919252f, 0.92848f, 0.937709f, 0.946937f, 0.956165f, 0.965394f, 0.974622f, + 0.98385f, 0.993079f, 0.997693f, 0.988465f, 0.979236f, 0.970008f, 0.960779f, 0.951551f, 0.942323f, 0.933095f, + 0.923866f, 0.914638f, 0.905409f, 0.896181f, 0.886953f, 0.877724f, 0.868496f, 0.859268f, 0.850039f, 0.840811f, + 0.831583f, 0.822354f, 0.813126f, 0.803898f, 0.794669f, 0.785441f, 0.776213f, 0.766984f, 0.757756f, 0.748528f, + 0.739299f, 0.730071f, 0.720843f, 0.711614f, 0.695866f, 0.673598f, 0.651331f, 0.629063f, 0.606795f, 0.584528f, + 0.56226f, 0.539992f, 0.517724f, 0.495457f, 0.473189f, 0.450921f, 0.428654f, 0.406386f, 0.384118f, 0.36185f, + 0.339583f, 0.317315f, 0.295047f, 0.27278f, 0.250512f, 0.228244f, 0.205976f, 0.183709f, 0.161441f, 0.139173f, + 0.116905f, 0.094638f, 0.07237f, 0.050102f, 0.027835f, 0.005567f, 0.00835f, 0.019484f, 0.030618f, 0.041752f, + 0.052886f, 0.06402f, 0.075154f, 0.086287f, 0.097421f, 0.108555f, 0.119689f, 0.130823f, 0.141957f, 0.153091f, + 0.164224f, 0.175358f, 0.186492f, 0.197626f, 0.20876f, 0.219894f, 0.231028f, 0.242161f, 0.253295f, 0.264429f, + 0.275563f, 0.286697f, 0.297831f, 0.308965f, 0.320098f, 0.331232f, 0.342366f, 0.3535f, +}; + +f32 gDefaultPanVolume[] = { + 1.0f, 0.999924f, 0.999694f, 0.999312f, 0.998776f, 0.998088f, 0.997248f, 0.996254f, 0.995109f, 0.993811f, + 0.992361f, 0.990759f, 0.989006f, 0.987101f, 0.985045f, 0.982839f, 0.980482f, 0.977976f, 0.97532f, 0.972514f, + 0.96956f, 0.966457f, 0.963207f, 0.959809f, 0.956265f, 0.952574f, 0.948737f, 0.944755f, 0.940629f, 0.936359f, + 0.931946f, 0.92739f, 0.922692f, 0.917853f, 0.912873f, 0.907754f, 0.902497f, 0.897101f, 0.891567f, 0.885898f, + 0.880093f, 0.874153f, 0.868079f, 0.861873f, 0.855535f, 0.849066f, 0.842467f, 0.835739f, 0.828884f, 0.821901f, + 0.814793f, 0.807561f, 0.800204f, 0.792725f, 0.785125f, 0.777405f, 0.769566f, 0.76161f, 0.753536f, 0.745348f, + 0.737045f, 0.72863f, 0.720103f, 0.711466f, 0.70272f, 0.693867f, 0.684908f, 0.675843f, 0.666676f, 0.657406f, + 0.648036f, 0.638567f, 0.629f, 0.619337f, 0.609579f, 0.599728f, 0.589785f, 0.579752f, 0.56963f, 0.559421f, + 0.549126f, 0.538748f, 0.528287f, 0.517745f, 0.507124f, 0.496425f, 0.485651f, 0.474802f, 0.46388f, 0.452888f, + 0.441826f, 0.430697f, 0.419502f, 0.408243f, 0.396921f, 0.385538f, 0.374097f, 0.362598f, 0.351044f, 0.339436f, + 0.327776f, 0.316066f, 0.304308f, 0.292503f, 0.280653f, 0.268761f, 0.256827f, 0.244854f, 0.232844f, 0.220798f, + 0.208718f, 0.196606f, 0.184465f, 0.172295f, 0.160098f, 0.147877f, 0.135634f, 0.12337f, 0.111087f, 0.098786f, + 0.086471f, 0.074143f, 0.061803f, 0.049454f, 0.037097f, 0.024734f, 0.012368f, 0.0f, +}; diff --git a/src/main/sf_BB360.c b/src/main/sf_BB360.c deleted file mode 100644 index ef174029..00000000 --- a/src/main/sf_BB360.c +++ /dev/null @@ -1,136 +0,0 @@ -#include "global.h" - -void func_800BA760(void) { - func_800B9358(); - if (D_80177D50 == 1.3f) { - D_801782F8 = func_800C2F30(D_80178308, D_801782D8); - } -} - -s32 func_800BA7BC(u16* arg0, s32 arg1) { - s32 var_v0 = D_800D4A70; - - if (arg1 == var_v0) { - return 0; - } - - if (arg1 < var_v0) { - return 1; - } - - if (var_v0 < arg1) { - D_800D4A70 = arg1; - return 2; - } -} - -void func_800BA808(u16* arg0, s32 arg1) { - s32 var_v1; - s32 temp_v0; - s32 var_a1; - - switch (*arg0) { - default: - case 0x08: - var_a1 = 0; - break; - case 0x09: - var_a1 = 1; - break; - case 0x0a: - var_a1 = 2; - break; - case 0x0b: - var_a1 = 3; - break; - } - - if (D_80177834 == 7) { - if ((arg1 == 10) || (arg1 == 20) || (arg1 == 30)) { - if (arg1 == 10) { - var_v1 = 1; - } - - if (arg1 == 20) { - var_v1 = 2; - } - - if (arg1 == 30) { - var_v1 = 3; - } - - if ((D_801778B0[var_v1] <= 0) && (D_801778B0[var_v1] != -2)) { - return; - } - } - } - - if (D_8017829C != 0) { - temp_v0 = func_800BA7BC(arg0, var_a1); - if (temp_v0 == 1) { - return; - } - } - - D_800D4A70 = var_a1; - D_80177D68 = arg1; - - if ((D_801779F8 != 0) && ((arg1 == 0) || (arg1 == 5))) { - D_80177D68 = 400; - } - - if (D_80178234 == 19) { - switch (arg1) { - case 200: - D_80177D68 = 240; - break; - case 210: - D_80177D68 = 250; - break; - case 220: - D_80177D68 = 260; - break; - case 230: - D_80177D68 = 270; - break; - } - } - - D_80178308 = arg0; - D_8017829C = 100; - - switch (D_80177834) { - case 2: - case 8: - D_8017872C = 176; - D_80178728 = 85; - D_80178730 = 80.0f; - D_80178734 = 174.0f; - D_80178738 = 4.63f; - D_8017873C = 32.0f; - D_80178740 = 174.0f; - break; - case 7: - D_8017872C = 180; - D_80178728 = 79; - D_80178730 = 74.0f; - D_80178734 = 178.0f; - D_80178738 = 4.53f; - D_8017873C = 26.0f; - D_80178740 = 178.0f; - break; - } - - D_801782E8 = func_800C2890(arg0); - func_8001ACDC(D_801782E8); -} - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_BB360/func_800BAAE8.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_BB360/func_800BB388.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_BB360/func_800BB5D0.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_BB360/func_800BC040.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_BB360/func_800BC4B0.s") diff --git a/src/main/sf_hud.c b/src/main/sf_hud.c index 20766872..3c68e4ab 100644 --- a/src/main/sf_hud.c +++ b/src/main/sf_hud.c @@ -35,8 +35,8 @@ void func_80084930(f32 arg0, f32 arg1, s32 arg2) { break; } - func_8009C320(&gMasterDisp, D_800D1A58[var_t0], D_800D1A64[var_t0], 16, 16, arg0, arg1 - 2.0f, 1.0f, 1.0f); - func_8009C320(&gMasterDisp, D_1011ED0, D_1011F08, 16, 7, arg0 + 16.0f, arg1 + 7.0f, 1.0f, 1.0f); + TextureRect_4bCI(&gMasterDisp, D_800D1A58[var_t0], D_800D1A64[var_t0], 16, 16, arg0, arg1 - 2.0f, 1.0f, 1.0f); + TextureRect_4bCI(&gMasterDisp, D_1011ED0, D_1011F08, 16, 7, arg0 + 16.0f, arg1 + 7.0f, 1.0f, 1.0f); if (arg2 >= 0) { arg0 += 11.0f; @@ -121,39 +121,39 @@ void func_80084E78(Gfx** gfxP, void* arg1, void* arg2, u32 arg3, u32 arg4, f32 a } void func_800853A4(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { - func_8009D0BC(&gMasterDisp, D_1013170, D_1013570, 24, 17, arg0, arg1, arg2, arg3); + TextureRect_8bCI(&gMasterDisp, D_1013170, D_1013570, 24, 17, arg0, arg1, arg2, arg3); } void func_80085404(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { - func_8009C320(&gMasterDisp, D_1011280, D_10116A0, 48, 44, arg0, arg1, arg2, arg3); + TextureRect_4bCI(&gMasterDisp, D_1011280, D_10116A0, 48, 44, arg0, arg1, arg2, arg3); } void func_80085464(f32 arg0, f32 arg1) { - func_8009C320(&gMasterDisp, D_1011AC0, D_1011B90, 16, 26, arg0, arg1, 1.0f, 1.0f); + TextureRect_4bCI(&gMasterDisp, D_1011AC0, D_1011B90, 16, 26, arg0, arg1, 1.0f, 1.0f); } void func_800854BC(f32 arg0, f32 arg1) { - func_8009C320(&gMasterDisp, D_1011BB0, D_1011C80, 16, 26, arg0, arg1, 1.0f, 1.0f); + TextureRect_4bCI(&gMasterDisp, D_1011BB0, D_1011C80, 16, 26, arg0, arg1, 1.0f, 1.0f); } void func_80085514(f32 arg0, f32 arg1) { - func_8009C320(&gMasterDisp, D_1011CA0, D_1011D70, 16, 26, arg0, arg1, 1.0f, 1.0f); + TextureRect_4bCI(&gMasterDisp, D_1011CA0, D_1011D70, 16, 26, arg0, arg1, 1.0f, 1.0f); } void func_8008556C(f32 arg0, f32 arg1) { - func_8009C320(&gMasterDisp, D_1011D90, D_1011E60, 16, 26, arg0, arg1, 1.0f, 1.0f); + TextureRect_4bCI(&gMasterDisp, D_1011D90, D_1011E60, 16, 26, arg0, arg1, 1.0f, 1.0f); } void func_800855C4(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { - func_8009E1E8(&gMasterDisp, D_1002280, 8, 12, arg0, arg1, arg2, arg3); + TextureRect_8bIA_MirX(&gMasterDisp, D_1002280, 8, 12, arg0, arg1, arg2, arg3); } void func_80085618(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { - func_8009D994(&gMasterDisp, D_1002280, 8, 12, arg0, arg1, arg2, arg3); + TextureRect_8bIA(&gMasterDisp, D_1002280, 8, 12, arg0, arg1, arg2, arg3); } void func_8008566C(f32 x, f32 y, f32 arg2, f32 arg3) { - func_8009D994(&gMasterDisp, D_10030D0, 8, 12, x, y, arg2, arg3); + TextureRect_8bIA(&gMasterDisp, D_10030D0, 8, 12, x, y, arg2, arg3); } void func_800856C0(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) { @@ -162,25 +162,25 @@ void func_800856C0(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) { void func_80085740(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { if (D_801778E8 != 0) { - func_8009D994(&gMasterDisp, D_3000B20, 32, 5, arg0, arg1, arg2, arg3); + TextureRect_8bIA(&gMasterDisp, D_3000B20, 32, 5, arg0, arg1, arg2, arg3); } else { - func_8009D994(&gMasterDisp, D_1000E80, 48, 9, arg0, arg1, arg2, arg3); + TextureRect_8bIA(&gMasterDisp, D_1000E80, 48, 9, arg0, arg1, arg2, arg3); } } void func_800857DC(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { if (D_801778E8 != 0) { - func_8009D0BC(&gMasterDisp, D_300D3C0, D_300D408, 24, 3, arg0, arg1, arg2, arg3); + TextureRect_8bCI(&gMasterDisp, D_300D3C0, D_300D408, 24, 3, arg0, arg1, arg2, arg3); } else { - func_8009D0BC(&gMasterDisp, D_10128C0, D_1012988, 40, 5, arg0, arg1, arg2, arg3); + TextureRect_8bCI(&gMasterDisp, D_10128C0, D_1012988, 40, 5, arg0, arg1, arg2, arg3); } } void func_80085890(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { if (D_801778E8 != 0) { - func_8009D0BC(&gMasterDisp, D_300D350, D_300D398, 24, 3, arg0, arg1, arg2, arg3); + TextureRect_8bCI(&gMasterDisp, D_300D350, D_300D398, 24, 3, arg0, arg1, arg2, arg3); } else { - func_8009D0BC(&gMasterDisp, D_10127D0, D_1012898, 40, 5, arg0, arg1, arg2, arg3); + TextureRect_8bCI(&gMasterDisp, D_10127D0, D_1012898, 40, 5, arg0, arg1, arg2, arg3); } } @@ -305,8 +305,8 @@ void func_80086444(void) { gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); for (j = 0; j < 19; j++) { - func_8009D994(&gMasterDisp, D_800D1C9C[i] + (D_800D1CA4[i] * j), D_800D1CA4[i], 1, D_800D1CB4[i], - D_800D1CBC[i] + j - 28.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_800D1C9C[i] + (D_800D1CA4[i] * j), D_800D1CA4[i], 1, D_800D1CB4[i], + D_800D1CBC[i] + j - 28.0f, 1.0f, 1.0f); } } } @@ -338,13 +338,13 @@ void func_800869A0(f32 arg0, f32 arg1, s32 k, f32 arg3, s32 arg4, s32 arg5) { for (i /= 10; i != 1; i /= 10) { j = k / i; if ((j != 0) || (var_s2 == true)) { - func_8009D994(&gMasterDisp, D_800D1CD4[j], 16, 15, arg0, arg1, arg3, arg3); + TextureRect_8bIA(&gMasterDisp, D_800D1CD4[j], 16, 15, arg0, arg1, arg3, arg3); arg0 += 13.0f * arg3; k %= i; var_s2 = true; } } - func_8009D994(&gMasterDisp, D_800D1CD4[k], 16, 15, arg0, arg1, arg3, arg3); + TextureRect_8bIA(&gMasterDisp, D_800D1CD4[k], 16, 15, arg0, arg1, arg3, arg3); } #else #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_800869A0.s") @@ -354,7 +354,7 @@ void func_80086C08(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { func_800B8DD0(&gMasterDisp, 0x4E); gDPSetPrimColor(gMasterDisp++, 0, 0, 60, 60, 128, 96); gDPSetAlphaDither(gMasterDisp++, G_AD_DISABLE); - func_8009D0BC(&gMasterDisp, D_1013170, D_1013570, 24, 17, arg0, arg1, arg2, arg3); + TextureRect_8bCI(&gMasterDisp, D_1013170, D_1013570, 24, 17, arg0, arg1, arg2, arg3); } void func_80086CC8(void) { @@ -1030,14 +1030,14 @@ void func_8008C390(f32 arg0, f32 arg1, f32 arg2, s32 arg3) { for (i = 10; i != 1; i /= 10) { if ((arg0 > 0.0f) && (arg1 > 0.0f)) { - func_8009D994(&gMasterDisp, D_800D1EC0[arg3 / i], 16, 8, arg0, arg1, arg2, arg2); + TextureRect_8bIA(&gMasterDisp, D_800D1EC0[arg3 / i], 16, 8, arg0, arg1, arg2, arg2); } arg0 += 9.0f * arg2; arg3 %= i; } if ((arg0 > 0.0f) && (arg1 > 0.0f)) { - func_8009D994(&gMasterDisp, D_800D1EC0[arg3 / i], 16, 8, arg0, arg1, arg2, arg2); + TextureRect_8bIA(&gMasterDisp, D_800D1EC0[arg3 / i], 16, 8, arg0, arg1, arg2, arg2); } } #else @@ -1055,9 +1055,10 @@ void func_8008C5C8(f32 arg0, f32 arg1, f32 arg2, s32 arg3) { s32 i; for (i = 0; i < 2; i++) { - func_8009D418(&gMasterDisp, D_800D1EE8[arg3] + (880 * i), 44, 20, arg0, (20 * i * arg2) + arg1, arg2, arg2); + TextureRect_16bRGBA(&gMasterDisp, D_800D1EE8[arg3] + (880 * i), 44, 20, arg0, (20 * i * arg2) + arg1, arg2, + arg2); } - func_8009D418(&gMasterDisp, D_800D1EE8[arg3] + 1760, 44, 4, arg0, (40.0f * arg2) + arg1, arg2, arg2); + TextureRect_16bRGBA(&gMasterDisp, D_800D1EE8[arg3] + 1760, 44, 4, arg0, (40.0f * arg2) + arg1, arg2, arg2); } #else #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008C5C8.s") @@ -1102,7 +1103,7 @@ s32 func_8008CB8C(void) { } void func_8008CB98(f32 arg0, f32 arg1, f32 arg2) { - func_8009D994(&gMasterDisp, D_30013E0, 8, 8, arg0, arg1, arg2, arg2); + TextureRect_8bIA(&gMasterDisp, D_30013E0, 8, 8, arg0, arg1, arg2, arg2); } #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008CBE4.s") @@ -1111,9 +1112,9 @@ void func_8008CFB8(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { s32 i; for (i = 0; i < 3; i++) { - func_8009D994(&gMasterDisp, D_3000BC0 + ((640 * i) / 2), 80, 8, arg0, (8 * i * arg3) + arg1, arg2, arg3); + TextureRect_8bIA(&gMasterDisp, D_3000BC0 + ((640 * i) / 2), 80, 8, arg0, (8 * i * arg3) + arg1, arg2, arg3); } - func_8009D994(&gMasterDisp, D_3000BC0 + ((640 * i) / 2), 80, 2, arg0, (8 * i * arg3) + arg1, arg2, arg3); + TextureRect_8bIA(&gMasterDisp, D_3000BC0 + ((640 * i) / 2), 80, 2, arg0, (8 * i * arg3) + arg1, arg2, arg3); } void func_8008D0DC(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) { @@ -1123,7 +1124,7 @@ void func_8008D0DC(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) { } void func_8008D1F0(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { - func_8009C320(&gMasterDisp, D_10116B0, D_1011730, 16, 16, arg0, arg1, arg2, arg3); + TextureRect_4bCI(&gMasterDisp, D_10116B0, D_1011730, 16, 16, arg0, arg1, arg2, arg3); } #ifdef IMPORT_DATA_PENDING @@ -1293,7 +1294,7 @@ void func_8008DC34(void) { void func_8008DCB0(f32 arg0, f32 arg1, s32 arg2, s32 arg3, s32 arg4) { func_800BA4F0(); gDPSetPrimColor(gMasterDisp++, 0, 0, arg2, arg3, arg4, D_80161708); - func_8009C320(&gMasterDisp, D_1011ED0, D_1011F08, 16, 7, arg0, arg1, 1.0f, 1.0f); + TextureRect_4bCI(&gMasterDisp, D_1011ED0, D_1011F08, 16, 7, arg0, arg1, 1.0f, 1.0f); } void func_8008DD78(f32 arg0, f32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { @@ -1335,10 +1336,10 @@ void func_8008DE68(void) { func_800B8DD0(&gMasterDisp, 0x4E); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); - func_8009C320(&gMasterDisp, D_1011A40, D_1011AB0, 32, 7, temp2, temp3, 1.0f, 1.0f); + TextureRect_4bCI(&gMasterDisp, D_1011A40, D_1011AB0, 32, 7, temp2, temp3, 1.0f, 1.0f); func_800B8DD0(&gMasterDisp, 0x4C); - func_8009D994(&gMasterDisp, D_1002040, 40, 12, sp3C, temp1, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_1002040, 40, 12, sp3C, temp1, 1.0f, 1.0f); if (sp3C >= 25.0f) { func_8009BC2C(&D_801616C4, 0.88f, 0.3f, 0.2f, 0.1f); @@ -1347,7 +1348,7 @@ void func_8008DE68(void) { if ((D_801616C4 >= 0.1f) && (sp3C >= 25.0f)) { func_800B8DD0(&gMasterDisp, 0x4E); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); - func_8009D0BC(&gMasterDisp, D_10129C0, D_1013090, 16, 109, temp4, temp5, 1.0f, D_801616C4); + TextureRect_8bCI(&gMasterDisp, D_10129C0, D_1013090, 16, 109, temp4, temp5, 1.0f, D_801616C4); } func_800B8DD0(&gMasterDisp, 0x4C); @@ -1370,7 +1371,7 @@ void func_8008DE68(void) { temp6 = sp3C + 8.0f; temp7 = 101.0f - (31.884058f * D_801616C8) + temp1; if (D_801616C8 > 0.0f) { - func_8009D418(&gMasterDisp, D_Tex_800D99F8, 32, 32, temp6, temp7, 0.2f, D_801616C8); + TextureRect_16bRGBA(&gMasterDisp, D_Tex_800D99F8, 32, 32, temp6, temp7, 0.2f, D_801616C8); } } } else { @@ -1401,7 +1402,7 @@ void func_8008E2C8(f32 arg0, f32 arg1, s32* arg2, f32 arg3) { if (i & 1) { func_800BA4F0(); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); - func_8009C320(&gMasterDisp, D_1011E80, D_1011EC0, 0x10, 8, (var_fs0 * arg3) + arg0, arg1, arg3, arg3); + TextureRect_4bCI(&gMasterDisp, D_1011E80, D_1011EC0, 0x10, 8, (var_fs0 * arg3) + arg0, arg1, arg3, arg3); } else { func_800BA490(); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); diff --git a/src/main/wave_samples.c b/src/main/wave_samples.c new file mode 100644 index 00000000..86258ff4 --- /dev/null +++ b/src/main/wave_samples.c @@ -0,0 +1,260 @@ +#include "global.h" + +// clang-format off +s16 gSawtoothWaveSample[] = { + // Frequency of 1 + 0, 1023, 2047, 3071, 4095, 5119, 6143, 7167, + 8191, 9215, 10239, 11263, 12287, 13311, 14335, 15359, + 16383, 17407, 18431, 19455, 20479, 21503, 22527, 23551, + 24575, 25599, 26623, 27647, 28671, 29695, 30719, 31743, + -32767, -31743, -30719, -29695, -28671, -27647, -26623, -25599, + -24575, -23551, -22527, -21503, -20479, -19455, -18431, -17407, + -16383, -15359, -14335, -13311, -12287, -11263, -10239, -9215, + -8191, -7167, -6143, -5119, -4095, -3071, -2047, -1023, + + // Frequency of 2 + 0, 2047, 4095, 6143, 8191, 10239, 12287, 14335, + 16383, 18431, 20479, 22527, 24575, 26623, 28671, 30719, + -32767, -30719, -28671, -26623, -24575, -22527, -20479, -18431, + -16383, -14335, -12287, -10239, -8191, -6143, -4095, -2047, + 0, 2047, 4095, 6143, 8191, 10239, 12287, 14335, + 16383, 18431, 20479, 22527, 24575, 26623, 28671, 30719, + -32767, -30719, -28671, -26623, -24575, -22527, -20479, -18431, + -16383, -14335, -12287, -10239, -8191, -6143, -4095, -2047, + + // Frequency of 4 + 0, 4095, 8191, 12287, 16383, 20479, 24575, 28671, + -32767, -28671, -24575, -20479, -16383, -12287, -8191, -4095, + 0, 4095, 8191, 12287, 16383, 20479, 24575, 28671, + -32767, -28671, -24575, -20479, -16383, -12287, -8191, -4095, + 0, 4095, 8191, 12287, 16383, 20479, 24575, 28671, + -32767, -28671, -24575, -20479, -16383, -12287, -8191, -4095, + 0, 4095, 8191, 12287, 16383, 20479, 24575, 28671, + -32767, -28671, -24575, -20479, -16383, -12287, -8191, -4095, + + // Frequency of 8 + 0, 8191, 16383, 24575, -32767, -24575, -16383, -8191, + 0, 8191, 16383, 24575, -32767, -24575, -16383, -8191, + 0, 8191, 16383, 24575, -32767, -24575, -16383, -8191, + 0, 8191, 16383, 24575, -32767, -24575, -16383, -8191, + 0, 8191, 16383, 24575, -32767, -24575, -16383, -8191, + 0, 8191, 16383, 24575, -32767, -24575, -16383, -8191, + 0, 8191, 16383, 24575, -32767, -24575, -16383, -8191, + 0, 8191, 16383, 24575, -32767, -24575, -16383, -8191, +}; + +s16 gTriangleWaveSample[] = { + // Frequency of 1 + 0, 2047, 4095, 6143, 8191, 10239, 12287, 14335, + 16383, 18431, 20479, 22527, 24575, 26623, 28671, 30719, + 32767, 30719, 28671, 26623, 24575, 22527, 20479, 18431, + 16383, 14335, 12287, 10239, 8191, 6143, 4095, 2047, + 0, -2047, -4095, -6143, -8191, -10239, -12287, -14335, + -16383, -18431, -20479, -22527, -24575, -26623, -28671, -30719, + -32767, -30719, -28671, -26623, -24575, -22527, -20479, -18431, + -16383, -14335, -12287, -10239, -8191, -6143, -4095, -2047, + + // Frequency of 2 + 0, 4095, 8191, 12287, 16383, 20479, 24575, 28671, + 32767, 28671, 24575, 20479, 16383, 12287, 8191, 4095, + 0, -4095, -8191, -12287, -16383, -20479, -24575, -28671, + -32767, -28671, -24575, -20479, -16383, -12287, -8191, -4095, + 0, 4095, 8191, 12287, 16383, 20479, 24575, 28671, + 32767, 28671, 24575, 20479, 16383, 12287, 8191, 4095, + 0, -4095, -8191, -12287, -16383, -20479, -24575, -28671, + -32767, -28671, -24575, -20479, -16383, -12287, -8191, -4095, + + // Frequency of 4 + 0, 8191, 16383, 24575, 32767, 24575, 16383, 8191, + 0, -8191, -16383, -24575, -32767, -24575, -16383, -8191, + 0, 8191, 16383, 24575, 32767, 24575, 16383, 8191, + 0, -8191, -16383, -24575, -32767, -24575, -16383, -8191, + 0, 8191, 16383, 24575, 32767, 24575, 16383, 8191, + 0, -8191, -16383, -24575, -32767, -24575, -16383, -8191, + 0, 8191, 16383, 24575, 32767, 24575, 16383, 8191, + 0, -8191, -16383, -24575, -32767, -24575, -16383, -8191, + + // Frequency of 8 + 0, 16383, 32767, 16383, 0, -16383, -32767, -16383, + 0, 16383, 32767, 16383, 0, -16383, -32767, -16383, + 0, 16383, 32767, 16383, 0, -16383, -32767, -16383, + 0, 16383, 32767, 16383, 0, -16383, -32767, -16383, + 0, 16383, 32767, 16383, 0, -16383, -32767, -16383, + 0, 16383, 32767, 16383, 0, -16383, -32767, -16383, + 0, 16383, 32767, 16383, 0, -16383, -32767, -16383, + 0, 16383, 32767, 16383, 0, -16383, -32767, -16383, +}; + +s16 gSineWaveSample[] = { + // Frequency of 1 + 0, 3211, 6392, 9511, 12539, 15446, 18204, 20787, + 23169, 25329, 27244, 28897, 30272, 31356, 32137, 32609, + 32767, 32609, 32137, 31356, 30272, 28897, 27244, 25329, + 23169, 20787, 18204, 15446, 12539, 9511, 6392, 3211, + 0, -3211, -6392, -9511, -12539, -15446, -18204, -20787, + -23169, -25329, -27244, -28897, -30272, -31356, -32137, -32609, + -32767, -32609, -32137, -31356, -30272, -28897, -27244, -25329, + -23169, -20787, -18204, -15446, -12539, -9511, -6392, -3211, + + // Frequency of 2 + 0, 6392, 12539, 18204, 23169, 27244, 30272, 32137, + 32767, 32137, 30272, 27244, 23169, 18204, 12539, 6392, + 0, -6392, -12539, -18204, -23169, -27244, -30272, -32137, + -32767, -32137, -30272, -27244, -23169, -18204, -12539, -6392, + 0, 6392, 12539, 18204, 23169, 27244, 30272, 32137, + 32767, 32137, 30272, 27244, 23169, 18204, 12539, 6392, + 0, -6392, -12539, -18204, -23169, -27244, -30272, -32137, + -32767, -32137, -30272, -27244, -23169, -18204, -12539, -6392, + + // Frequency of 4 + 0, 12539, 23169, 30272, 32767, 30272, 23169, 12539, + 0, -12539, -23169, -30272, -32767, -30272, -23169, -12539, + 0, 12539, 23169, 30272, 32767, 30272, 23169, 12539, + 0, -12539, -23169, -30272, -32767, -30272, -23169, -12539, + 0, 12539, 23169, 30272, 32767, 30272, 23169, 12539, + 0, -12539, -23169, -30272, -32767, -30272, -23169, -12539, + 0, 12539, 23169, 30272, 32767, 30272, 23169, 12539, + 0, -12539, -23169, -30272, -32767, -30272, -23169, -12539, + + // Frequency of 8 + 0, 23169, 32767, 23169, 0, -23169, -32767, -23169, + 0, 23169, 32767, 23169, 0, -23169, -32767, -23169, + 0, 23169, 32767, 23169, 0, -23169, -32767, -23169, + 0, 23169, 32767, 23169, 0, -23169, -32767, -23169, + 0, 23169, 32767, 23169, 0, -23169, -32767, -23169, + 0, 23169, 32767, 23169, 0, -23169, -32767, -23169, + 0, 23169, 32767, 23169, 0, -23169, -32767, -23169, + 0, 23169, 32767, 23169, 0, -23169, -32767, -23169, +}; + +s16 gSquareWaveSample[] = { + // Frequency of 1 + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, + 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -32767, -32767, -32767, -32767, -32767, -32767, -32767, -32767, + -32767, -32767, -32767, -32767, -32767, -32767, -32767, -32767, + + // Frequency of 2 + 0, 0, 0, 0, 0, 0, 0, 0, + 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, + 0, 0, 0, 0, 0, 0, 0, 0, + -32767, -32767, -32767, -32767, -32767, -32767, -32767, -32767, + 0, 0, 0, 0, 0, 0, 0, 0, + 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, + 0, 0, 0, 0, 0, 0, 0, 0, + + // Frequency of 4 + -32767, -32767, -32767, -32767, -32767, -32767, -32767, -32767, + 0, 0, 0, 0, 32767, 32767, 32767, 32767, + 0, 0, 0, 0, -32767, -32767, -32767, -32767, + 0, 0, 0, 0, 32767, 32767, 32767, 32767, + 0, 0, 0, 0, -32767, -32767, -32767, -32767, + 0, 0, 0, 0, 32767, 32767, 32767, 32767, + 0, 0, 0, 0, -32767, -32767, -32767, -32767, + 0, 0, 0, 0, 32767, 32767, 32767, 32767, + 0, 0, 0, 0, -32767, -32767, -32767, -32767, + + // Frequency of 8 + 0, 0, 32767, 32767, 0, 0, -32767, -32767, + 0, 0, 32767, 32767, 0, 0, -32767, -32767, + 0, 0, 32767, 32767, 0, 0, -32767, -32767, + 0, 0, 32767, 32767, 0, 0, -32767, -32767, + 0, 0, 32767, 32767, 0, 0, -32767, -32767, + 0, 0, 32767, 32767, 0, 0, -32767, -32767, + 0, 0, 32767, 32767, 0, 0, -32767, -32767, + 0, 0, 32767, 32767, 0, 0, -32767, -32767, +}; + +s16 gWhiteNoiseSample[] = { + // Frequency of 1 + 0, -25689, -25791, 27803, -27568, -21030, 22174, 6298, + 27071, -18531, 28649, 2284, 3380, 6890, -12682, -21114, + 10000, -24520, 32296, 12248, 15096, 15354, -12021, -31545, + -12929, 6388, -11064, 30456, -30316, -21999, 29691, 27649, + 0, -27649, -29691, 21999, 30316, -30457, 11064, -6387, + 12929, 31544, 12021, -15353, -15096, -12249, -32296, 24521, + -10000, 21113, 12682, -6889, -3380, -2285, -28649, 18532, + -27071, -6299, -22174, 21031, 27568, -27804, 25791, 25690, + + // Frequency of 2 + 0, -25791, -27568, 22174, 27071, 28649, 3380, -12682, + 10000, 32296, 15096, -12021, -12929, -11064, -30316, 29691, + 0, -29691, 30316, 11064, 12929, 12021, -15096, -32296, + -10000, 12682, -3380, -28649, -27071, -22174, 27568, 25791, + 0, -25791, -27568, 22174, 27071, 28649, 3380, -12682, + 10000, 32296, 15096, -12021, -12929, -11064, -30316, 29691, + 0, -29691, 30316, 11064, 12929, 12021, -15096, -32296, + -10000, 12682, -3380, -28649, -27071, -22174, 27568, 25791, + + // Frequency of 4 + 0, -27568, 27071, 3380, 10000, 15096, -12929, -30316, + 0, 30316, 12929, -15096, -10000, -3380, -27071, 27568, + 0, -27568, 27071, 3380, 10000, 15096, -12929, -30316, + 0, 30316, 12929, -15096, -10000, -3380, -27071, 27568, + 0, -27568, 27071, 3380, 10000, 15096, -12929, -30316, + 0, 30316, 12929, -15096, -10000, -3380, -27071, 27568, + 0, -27568, 27071, 3380, 10000, 15096, -12929, -30316, + 0, 30316, 12929, -15096, -10000, -3380, -27071, 27568, + + // Frequency of 8 + 0, 27071, 10000, -12929, 0, 12929, -10000, -27071, + 0, 27071, 10000, -12929, 0, 12929, -10000, -27071, + 0, 27071, 10000, -12929, 0, 12929, -10000, -27071, + 0, 27071, 10000, -12929, 0, 12929, -10000, -27071, + 0, 27071, 10000, -12929, 0, 12929, -10000, -27071, + 0, 27071, 10000, -12929, 0, 12929, -10000, -27071, + 0, 27071, 10000, -12929, 0, 12929, -10000, -27071, + 0, 27071, 10000, -12929, 0, 12929, -10000, -27071, +}; + +// Sine White Noise? +s16 gUnkSample[] = { + // Frequency of 1 + 0, 16316, 20148, 20257, 27209, -32657, 29264, 27259, + -29394, -21494, -26410, 30770, 30033, 29130, 20206, 14129, + 20000, 25677, 19024, 9146, 6921, 4506, -5868, -13122, + -7858, -1885, -7042, -14025, -11903, -8647, -12346, -12396, + 0, 12396, 12346, 8647, 11903, 14024, 7042, 1886, + 7858, 13121, 5868, -4505, -6921, -9147, -19024, -25676, + -20000, -14130, -20206, -29129, -30033, -30771, 26410, 21495, + 29394, -27260, -29264, 32658, -27209, -20258, -20148, -16315, + + // Frequency of 2 + 0, 20148, 27209, 29264, -29394, -26410, 30033, 20206, + 20000, 19024, 6921, -5868, -7858, -7042, -11903, -12346, + 0, 12346, 11903, 7042, 7858, 5868, -6921, -19024, + -20000, -20206, -30033, 26410, 29394, -29264, -27209, -20148, + 0, 20148, 27209, 29264, -29394, -26410, 30033, 20206, + 20000, 19024, 6921, -5868, -7858, -7042, -11903, -12346, + 0, 12346, 11903, 7042, 7858, 5868, -6921, -19024, + -20000, -20206, -30033, 26410, 29394, -29264, -27209, -20148, + + // Frequency of 4 + 0, 27209, -29394, 30033, 20000, 6921, -7858, -11903, + 0, 11903, 7858, -6921, -20000, -30033, 29394, -27209, + 0, 27209, -29394, 30033, 20000, 6921, -7858, -11903, + 0, 11903, 7858, -6921, -20000, -30033, 29394, -27209, + 0, 27209, -29394, 30033, 20000, 6921, -7858, -11903, + 0, 11903, 7858, -6921, -20000, -30033, 29394, -27209, + 0, 27209, -29394, 30033, 20000, 6921, -7858, -11903, + 0, 11903, 7858, -6921, -20000, -30033, 29394, -27209, + + // Frequency of 8 + 0, -29394, 20000, -7858, 0, 7858, -20000, 29394, + 0, -29394, 20000, -7858, 0, 7858, -20000, 29394, + 0, -29394, 20000, -7858, 0, 7858, -20000, 29394, + 0, -29394, 20000, -7858, 0, 7858, -20000, 29394, + 0, -29394, 20000, -7858, 0, 7858, -20000, 29394, + 0, -29394, 20000, -7858, 0, 7858, -20000, 29394, + 0, -29394, 20000, -7858, 0, 7858, -20000, 29394, + 0, -29394, 20000, -7858, 0, 7858, -20000, 29394, +}; +// clang-format on + +s16* gWaveSamples[] = { + gSawtoothWaveSample, gTriangleWaveSample, gSineWaveSample, gSquareWaveSample, gWhiteNoiseSample, gUnkSample, +}; diff --git a/src/overlays/ovl_EBFBE0/fox_option.c b/src/overlays/ovl_EBFBE0/fox_option.c index 0e7d4ed6..edeace71 100644 --- a/src/overlays/ovl_EBFBE0/fox_option.c +++ b/src/overlays/ovl_EBFBE0/fox_option.c @@ -1502,7 +1502,7 @@ void func_EBFBE0_801973C0(void) { func_EBFBE0_8019C824(&D_EBFBE0_801B93F0); temp_t0 = D_EBFBE0_801B93F0; gDPSetPrimColor(gMasterDisp++, 0, 0, 255, temp_t0, temp_t0, 255); - func_8009D994(&gMasterDisp, D_7004010, 8, 8, 70.0f, (D_EBFBE0_801B93E4 * 17.0f) + 55.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_7004010, 8, 8, 70.0f, (D_EBFBE0_801B93E4 * 17.0f) + 55.0f, 1.0f, 1.0f); } func_800B8DD0(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); @@ -1542,8 +1542,8 @@ void func_EBFBE0_8019752C(void) { gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); - func_8009D994(&gMasterDisp, D_800D170, 8, 16, 0.0f, D_EBFBE0_801AF0F8[0], 40.0f, 1.5f); - func_8009E4B0(&gMasterDisp, D_800D170, 8, 16, 0.0f, D_EBFBE0_801AF0F8[1], 40.0f, 1.5f); + TextureRect_8bIA(&gMasterDisp, D_800D170, 8, 16, 0.0f, D_EBFBE0_801AF0F8[0], 40.0f, 1.5f); + TextureRect_8bIA_MirY(&gMasterDisp, D_800D170, 8, 16, 0.0f, D_EBFBE0_801AF0F8[1], 40.0f, 1.5f); func_8003DE68(0, 70); func_8003DE68(170, 239); @@ -1557,7 +1557,7 @@ void func_EBFBE0_8019752C(void) { gDPSetPrimColor(gMasterDisp++, 0, 0, 255, temp_a0, temp_a0, 255); } - func_8009D994(&gMasterDisp, D_800D070, 16, 16, 150.0f, 44.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_800D070, 16, 16, 150.0f, 44.0f, 1.0f, 1.0f); if (D_EBFBE0_801B91D4 <= -1055.0f) { gDPSetPrimColor(gMasterDisp++, 0, 0, 32, 32, 32, 255); @@ -1567,7 +1567,7 @@ void func_EBFBE0_8019752C(void) { gDPSetPrimColor(gMasterDisp++, 0, 0, 255, temp_a0, temp_a0, 255); } - func_8009E4B0(&gMasterDisp, D_800D070, 0x10, 0x10, 150.0f, 200.0f, 1.0f, 1.0f); + TextureRect_8bIA_MirY(&gMasterDisp, D_800D070, 0x10, 0x10, 150.0f, 200.0f, 1.0f, 1.0f); } #else #pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019752C.s") @@ -1596,10 +1596,10 @@ void func_EBFBE0_80197A3C(s32 arg0, s32 arg1, s32 arg2) { gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); if (arg0 != 9) { - func_8009D994(&gMasterDisp, D_EBFBE0_801AECF8[arg0 + 1], 16, 15, arg1, arg2 - 25.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_EBFBE0_801AECF8[arg0 + 1], 16, 15, arg1, arg2 - 25.0f, 1.0f, 1.0f); } else { - func_8009D994(&gMasterDisp, D_500A050, 16, 15, arg1 - 14.0f, arg2 - 25.0f, 1.0f, 1.0f); - func_8009D994(&gMasterDisp, D_5009F60, 16, 15, arg1, arg2 - 25.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_500A050, 16, 15, arg1 - 14.0f, arg2 - 25.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_5009F60, 16, 15, arg1, arg2 - 25.0f, 1.0f, 1.0f); } func_800B8DD0(&gMasterDisp, 0x55); @@ -1608,19 +1608,19 @@ void func_EBFBE0_80197A3C(s32 arg0, s32 arg1, s32 arg2) { switch (arg0) { case 0: - func_8009C320(&gMasterDisp, D_8003A70, D_8003AB8, 16, 9, arg1 + 17.0f, arg2 - 19.0f, 1.0f, 1.0f); + TextureRect_4bCI(&gMasterDisp, D_8003A70, D_8003AB8, 16, 9, arg1 + 17.0f, arg2 - 19.0f, 1.0f, 1.0f); break; case 1: - func_8009C320(&gMasterDisp, D_80038E0, D_8003930, 16, 10, arg1 + 17.0f, arg2 - 19.0f, 1.0f, 1.0f); + TextureRect_4bCI(&gMasterDisp, D_80038E0, D_8003930, 16, 10, arg1 + 17.0f, arg2 - 19.0f, 1.0f, 1.0f); break; case 2: - func_8009C320(&gMasterDisp, D_8003950, D_80039A8, 16, 11, arg1 + 17.0f, arg2 - 20.0f, 1.0f, 1.0f); + TextureRect_4bCI(&gMasterDisp, D_8003950, D_80039A8, 16, 11, arg1 + 17.0f, arg2 - 20.0f, 1.0f, 1.0f); break; default: - func_8009C320(&gMasterDisp, D_8003AE0, D_8003B28, 16, 9, arg1 + 17.0f, arg2 - 19.0f, 1.0f, 1.0f); + TextureRect_4bCI(&gMasterDisp, D_8003AE0, D_8003B28, 16, 9, arg1 + 17.0f, arg2 - 19.0f, 1.0f, 1.0f); break; } } @@ -1643,7 +1643,7 @@ void func_EBFBE0_80197D30(s32 arg0, s32 arg1, s32 arg2) { void func_EBFBE0_80197DE4(s32 arg0, s32 arg1, s32 arg2) { func_800B8DD0(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 60, 60, 255, 170); - func_8009D994(&gMasterDisp, D_601B4B0, 24, 17, arg1, arg2, 3.17f, 1.05f); + TextureRect_8bIA(&gMasterDisp, D_601B4B0, 24, 17, arg1, arg2, 3.17f, 1.05f); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); func_800A1200(arg1, arg2, 1.0f, 1.0f, "TOTAL HITS"); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); @@ -1730,10 +1730,10 @@ void func_EBFBE0_801982B0(s32 arg0, s32 arg1, f32 arg2, f32 arg3, s32 arg4) { } } gDPSetPrimColor(gMasterDisp++, 0, 0, r, g, b, 255); - func_8009D418(&gMasterDisp, D_60447A0, 8, 8, arg2 + 24.0f, arg3 + 11.0f, 2.0f, 0.2f); + TextureRect_16bRGBA(&gMasterDisp, D_60447A0, 8, 8, arg2 + 24.0f, arg3 + 11.0f, 2.0f, 0.2f); } gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); - func_8009D418(&gMasterDisp, D_6047550, 24, 24, arg2, arg3, 1.0f, 1.0f); + TextureRect_16bRGBA(&gMasterDisp, D_6047550, 24, 24, arg2, arg3, 1.0f, 1.0f); } } diff --git a/src/overlays/ovl_EBFBE0/fox_title.c b/src/overlays/ovl_EBFBE0/fox_title.c index a047b585..ceeb692d 100644 --- a/src/overlays/ovl_EBFBE0/fox_title.c +++ b/src/overlays/ovl_EBFBE0/fox_title.c @@ -246,14 +246,14 @@ void func_EBFBE0_80187CA8(void) { gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); - func_8009D994(&gMasterDisp, D_5000300, 16, 8, 148.0f, temp, 1.0f, 1.0f); - func_8009D994(&gMasterDisp, D_5000200, 16, 8, 164, temp, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_5000300, 16, 8, 148.0f, temp, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_5000200, 16, 8, 164, temp, 1.0f, 1.0f); func_800B8DD0(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); - func_8009D994(&gMasterDisp, D_50077B0, 16, 2, 36, 32, 15.2f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_50077B0, 16, 2, 36, 32, 15.2f, 1.0f); func_EBFBE0_80187E28(); } @@ -944,7 +944,7 @@ void func_EBFBE0_8018994C(void) { if (D_EBFBE0_801B82B8 == 638) { func_80019218(0x11030010, &D_EBFBE0_801B867C, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C); func_80019218(0x31024059, &D_EBFBE0_801B867C, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C); - func_800BA808(&D_8017A0F4, 300); + func_800BA808(D_8017A0F4, 300); } if (D_EBFBE0_801B82B8 == 838) { @@ -2608,8 +2608,8 @@ void func_EBFBE0_8018F680(void) { gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); for (i = 0; i < 30; i++) { - func_8009D418(&gMasterDisp, D_6000000 + (i * 472), 236, 2, D_EBFBE0_801B9054, D_EBFBE0_801B9058 + (i * 2.0f), - 1.0f, 1.0f); + TextureRect_16bRGBA(&gMasterDisp, D_6000000 + (i * 472), 236, 2, D_EBFBE0_801B9054, + D_EBFBE0_801B9058 + (i * 2.0f), 1.0f, 1.0f); } } @@ -2627,7 +2627,7 @@ void func_EBFBE0_8018F77C(void) { void func_EBFBE0_8018F85C(void) { func_800B8DD0(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); - func_8009D994(&gMasterDisp, D_6013470, 16, 16, 234.0f, 20.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_6013470, 16, 16, 234.0f, 20.0f, 1.0f, 1.0f); } // needs in-function static @@ -2658,24 +2658,24 @@ void func_EBFBE0_8018F8E4(void) { gDPSetPrimColor(gMasterDisp++, 0, 0, 60, 60, 255, 200); - func_8009D0BC(&gMasterDisp, &D_601D750, &D_601DB50, 32, 32, D_EBFBE0_801AE464, D_EBFBE0_801AE468, - D_EBFBE0_801AE46C, D_EBFBE0_801AE470); + TextureRect_8bCI(&gMasterDisp, &D_601D750, &D_601DB50, 32, 32, D_EBFBE0_801AE464, D_EBFBE0_801AE468, + D_EBFBE0_801AE46C, D_EBFBE0_801AE470); func_800B8DD0(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, (s32) D_EBFBE0_801B7BC8, (s32) D_EBFBE0_801B7BC8, 255); for (i = 0; i < 6; i++) { - func_8009D994(&gMasterDisp, D_60123F0 + (704 * i), 176, 4, D_EBFBE0_801AE474, - D_EBFBE0_801AE478 + (i * 4.0f), 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_60123F0 + (704 * i), 176, 4, D_EBFBE0_801AE474, + D_EBFBE0_801AE478 + (i * 4.0f), 1.0f, 1.0f); } } else { func_800B8DD0(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, (s32) D_EBFBE0_801B7BC8, (s32) D_EBFBE0_801B7BC8, 255); for (i = 0; i < 2; i++) { - func_8009D994(&gMasterDisp, D_600E360 + (i * 720), 120, 6, 101.0f, temp2 + (i * 6.0f), 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_600E360 + (i * 720), 120, 6, 101.0f, temp2 + (i * 6.0f), 1.0f, 1.0f); } - func_8009D994(&gMasterDisp, D_600E360 + 1440, 120, 1, 101.0f, temp2 + 12, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_600E360 + 1440, 120, 1, 101.0f, temp2 + 12, 1.0f, 1.0f); } } } @@ -2690,7 +2690,7 @@ void func_EBFBE0_8018FC14(void) { gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); for (i = 0; i < 2; i++) { - func_8009D994(&gMasterDisp, D_600DDC0 + (i * 720), 120, 6, 102.0f, 209.0f + (i * 6.0f), 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_600DDC0 + (i * 720), 120, 6, 102.0f, 209.0f + (i * 6.0f), 1.0f, 1.0f); } } @@ -2717,25 +2717,25 @@ void func_EBFBE0_8018FD08(void) { switch (D_EBFBE0_801B8340) { case 0: - func_8009D994(&gMasterDisp, D_600F940, 144, 13, temp_fs2, temp, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_600F940, 144, 13, temp_fs2, temp, 1.0f, 1.0f); break; case 1: - func_8009D994(&gMasterDisp, D_6010090, 120, 13, temp_fs2, temp, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_6010090, 120, 13, temp_fs2, temp, 1.0f, 1.0f); break; case 2: for (i = 0; i < 3; i++) { - func_8009D994(&gMasterDisp, D_60106B0 + (704 * i), 176, 4, temp_fs2, temp + (i * 4), 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_60106B0 + (704 * i), 176, 4, temp_fs2, temp + (i * 4), 1.0f, 1.0f); } - func_8009D994(&gMasterDisp, D_60106B0 + 2112, 176, 1, temp_fs2, temp + 12.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_60106B0 + 2112, 176, 1, temp_fs2, temp + 12.0f, 1.0f, 1.0f); break; case 3: for (i = 0; i < 3; i++) { - func_8009D994(&gMasterDisp, D_6010FA0 + (i * 704), 176, 4, temp_fs2, temp + (i * 4), 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_6010FA0 + (i * 704), 176, 4, temp_fs2, temp + (i * 4), 1.0f, 1.0f); } - func_8009D994(&gMasterDisp, D_6010FA0 + 2112, 176, 1, temp_fs2, temp + 12, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_6010FA0 + 2112, 176, 1, temp_fs2, temp + 12, 1.0f, 1.0f); break; } } @@ -2756,8 +2756,8 @@ void func_EBFBE0_8018FF74(void) { gDPSetColorDither(gMasterDisp++, G_CD_NOISE); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, D_EBFBE0_801B7BD0); - func_8009D418(&gMasterDisp, &D_600D5C0, 32, 32, D_EBFBE0_801B9080, D_EBFBE0_801B9084, D_EBFBE0_801B7BB0, - D_EBFBE0_801B7BB4); + TextureRect_16bRGBA(&gMasterDisp, &D_600D5C0, 32, 32, D_EBFBE0_801B9080, D_EBFBE0_801B9084, + D_EBFBE0_801B7BB0, D_EBFBE0_801B7BB4); D_EBFBE0_801B9080 += 1.66f; } @@ -2876,9 +2876,9 @@ void func_EBFBE0_801906A0(void) { case 0: func_800B8DD0(&gMasterDisp, 0x55); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, (s32) D_EBFBE0_801B7BDC); - func_8009C320(&gMasterDisp, D_6014140, D_60147C0, 256, 13, 90.0f, 110.0f, 1.0f, 1.0f); + TextureRect_4bCI(&gMasterDisp, D_6014140, D_60147C0, 256, 13, 90.0f, 110.0f, 1.0f, 1.0f); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, (s32) D_EBFBE0_801B7BE0); - func_8009C320(&gMasterDisp, D_60147E0, D_60148B0, 32, 13, 150.0f, 110.0f, 1.0f, 1.0f); + TextureRect_4bCI(&gMasterDisp, D_60147E0, D_60148B0, 32, 13, 150.0f, 110.0f, 1.0f, 1.0f); break; case 1: @@ -2886,11 +2886,12 @@ void func_EBFBE0_801906A0(void) { gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, (s32) D_EBFBE0_801B7BDC); for (i = 0; i < 5; i++) { - func_8009D418(&gMasterDisp, D_6006EA0 + (2048 * i), 128, 16, D_EBFBE0_801B9070, - D_EBFBE0_801B9074 + (16 * i * D_EBFBE0_801B907C), D_EBFBE0_801B9078, D_EBFBE0_801B907C); + TextureRect_16bRGBA(&gMasterDisp, D_6006EA0 + (2048 * i), 128, 16, D_EBFBE0_801B9070, + D_EBFBE0_801B9074 + (16 * i * D_EBFBE0_801B907C), D_EBFBE0_801B9078, + D_EBFBE0_801B907C); } - func_8009D418(&gMasterDisp, D_600BEA0, 128, 8, D_EBFBE0_801B9070, - (80.0f * D_EBFBE0_801B907C) + D_EBFBE0_801B9074, D_EBFBE0_801B9078, D_EBFBE0_801B907C); + TextureRect_16bRGBA(&gMasterDisp, D_600BEA0, 128, 8, D_EBFBE0_801B9070, + (80.0f * D_EBFBE0_801B907C) + D_EBFBE0_801B9074, D_EBFBE0_801B9078, D_EBFBE0_801B907C); case -1: break; @@ -2954,7 +2955,7 @@ void func_EBFBE0_80190C9C(void) { case 1: func_800B8DD0(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); - func_8009D994(&gMasterDisp, D_600E980, 144, 28, D_EBFBE0_801AE55C, D_EBFBE0_801AE560, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_600E980, 144, 28, D_EBFBE0_801AE55C, D_EBFBE0_801AE560, 1.0f, 1.0f); break; case 2: @@ -2962,11 +2963,11 @@ void func_EBFBE0_80190C9C(void) { gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); for (i = 0; i < 4; i++) { - func_8009D994(&gMasterDisp, D_6011890 + (672 * i), 112, 6, D_EBFBE0_801AE564, - D_EBFBE0_801AE568 + (6.0f * i), 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_6011890 + (672 * i), 112, 6, D_EBFBE0_801AE564, + D_EBFBE0_801AE568 + (6.0f * i), 1.0f, 1.0f); } - func_8009D994(&gMasterDisp, D_6012310, 112, 2, D_EBFBE0_801AE564, D_EBFBE0_801AE568 + (6.0f * 4), 1.0f, - 1.0f); + TextureRect_8bIA(&gMasterDisp, D_6012310, 112, 2, D_EBFBE0_801AE564, D_EBFBE0_801AE568 + (6.0f * 4), 1.0f, + 1.0f); } } #else diff --git a/yamls/us/assets.yaml b/yamls/us/assets.yaml new file mode 100644 index 00000000..3f13e51e --- /dev/null +++ b/yamls/us/assets.yaml @@ -0,0 +1,211 @@ + - name: audio_seq + type: bin + start: 0xDEA20 + + - name: audio_bank + type: bin + start: 0x119710 + + - name: audio_table + type: bin + start: 0x137730 + + - name: ast_873CB0 + type: bin + start: 0x873CB0 + + - name: ast_8A68C0 + type: bin + start: 0x8A68C0 + + - name: ast_8AE0A0 + type: bin + start: 0x8AE0A0 + + - name: ast_8BFC00 + type: bin + start: 0x8BFC00 + + - name: ast_8D99F0 + type: bin + start: 0x8D99F0 + + - name: ast_8E1F80 + type: bin + start: 0x8E1F80 + + - name: ast_8E92D0 + type: bin + start: 0x8E92D0 + + - name: ast_918430 + type: bin + start: 0x918430 + + - name: ast_922730 + type: bin + start: 0x922730 + + - name: ast_92EC40 + type: bin + start: 0x92EC40 + + - name: ast_940AD0 + type: bin + start: 0x940AD0 + + - name: ast_955270 + type: bin + start: 0x955270 + + - name: ast_961CE0 + type: bin + start: 0x961CE0 + + - name: ast_9A1460 + type: bin + start: 0x9A1460 + + - name: ast_9D2FD0 + type: bin + start: 0x9D2FD0 + + - name: ast_9DD390 + type: bin + start: 0x9DD390 + + - name: ast_9EB5E0 + type: bin + start: 0x9EB5E0 + + - name: ast_9F4880 + type: bin + start: 0x9F4880 + + - name: ast_A049A0 + type: bin + start: 0xA049A0 + + - name: ast_A0E340 + type: bin + start: 0xA0E340 + + - name: ast_A1D0F0 + type: bin + start: 0xA1D0F0 + + - name: ast_A4FBB0 + type: bin + start: 0xA4FBB0 + + - name: ast_A58F60 + type: bin + start: 0xA58F60 + + - name: ast_A8B470 + type: bin + start: 0xA8B470 + + - name: ast_AB4000 + type: bin + start: 0xAB4000 + + - name: ast_ACF960 + type: bin + start: 0xACF960 + + - name: ast_AE60A0 + type: bin + start: 0xAE60A0 + + - name: ast_B0AA00 + type: bin + start: 0xB0AA00 + + - name: ast_B1CA50 + type: bin + start: 0xB1CA50 + + - name: ast_B2CA50 + type: bin + start: 0xB2CA50 + + - name: ast_B612E0 + type: bin + start: 0xB612E0 + + - name: ast_B84560 + type: bin + start: 0xB84560 + + - name: ast_BB11D0 + type: bin + start: 0xBB11D0 + + - name: ast_BC23D0 + type: bin + start: 0xBC23D0 + + - name: ast_BFA740 + type: bin + start: 0xBFA740 + + - name: ast_BFC510 + type: bin + start: 0xBFC510 + + - name: ast_C48F40 + type: bin + start: 0xC48F40 + + - name: ast_CA9DE0 + type: bin + start: 0xCA9DE0 + + - name: ast_CBFE70 + type: bin + start: 0xCBFE70 + + - name: ast_CD2410 + type: bin + start: 0xCD2410 + + - name: ast_CDDCA0 + type: bin + start: 0xCDDCA0 + + - name: ast_CE9E70 + type: bin + start: 0xCE9E70 + + - name: ast_D25100 + type: bin + start: 0xD25100 + + - name: ast_D27600 + type: bin + start: 0xD27600 + + - name: ast_D43400 + type: bin + start: 0xD43400 + + - name: ast_D68480 + type: bin + start: 0xD68480 + + - name: ast_D91F10 + type: bin + start: 0xD91F10 + + - name: ast_DDC010 + type: bin + start: 0xDDC010 + + - name: ast_DE5D50 + type: data + dir: assets + start: 0xDE5D50 + vram: 0x80179010 + subsegments: + - [0xDE5D50, .data, ast_DE5D50] diff --git a/yamls/us/main.yaml b/yamls/us/main.yaml index a347cf77..5b3a2938 100644 --- a/yamls/us/main.yaml +++ b/yamls/us/main.yaml @@ -162,31 +162,32 @@ - [0x2EF40, hasm, ../libultra/rmon/rmonrcp] # Game engine - - [0x2EFE0, c, sf_2EFE0] + - [0x2EFE0, c, fox_2EFE0] - [0x2F300, c, sf_2F300] - [0x36930, c, sf_36930] - [0x43AC0, c, sf_43AC0] - [0x43E80, c, sf_43E80] - [0x496C0, c, sf_496C0] - [0x52730, c, sf_52730] - - [0x59780, c, sf_59780] - - [0x5A0F0, c, sf_5A0F0] - - [0x5A2C0, c, sf_5A2C0] - - [0x61B30, c, sf_61B30] + - [0x59780, c, fox_59780] + - [0x5A0F0, c, fox_5A0F0] + - [0x5A2C0, c, fox_edisplay] + - [0x61B30, c, fox_61B30] - [0x6B3B0, c, sf_6B3B0] - [0x77E40, c, sf_77E40] - - [0x84F70, c, sf_84F70] + - [0x84F70, c, fox_84F70] - [0x85530, c, sf_hud] - [0x97F80, c, sf_97F80] - - [0x9A580, c, sf_9A580] - - [0xA24B0, c, sf_A24B0] + - [0x9A580, c, fox_9A580] + - [0xA24B0, c, fox_A24B0] - [0xA4290, c, sf_A4290] - [0xA48A0, c, sf_A48A0] - [0xA4B50, c, sf_A4B50] - [0xB99D0, c, fox_rcp] - - [0xBB360, c, sf_BB360] + - [0xBB360, c, fox_BB360] + - [0xBD0B0, c, fox_BD0B0] - [0xBD360, c, sf_versus] - - [0xC3430, c, sf_C3430] + - [0xC3430, c, fox_C3430] - [0xC3BB0, c, fox_save] # DATA - Microcode @@ -260,19 +261,20 @@ - [0xCAB00, data, sf_43E80] - [0xCAB60, data, sf_496C0] - [0xCAE20, data, sf_52730] - - [0xCAFB0, data, sf_59780] - - [0xCCA70, data, sf_50AF0] - - [0xD0570, .data, sf_5A2C0] - - [0xD09A0, .data, sf_61B30] + - [0xCAFB0, .data, fox_59780] + - [0xCCA70, data, fox_5A0F0] + - [0xD0570, .data, fox_edisplay] + - [0xD09A0, .data, fox_61B30] - [0xD0B80, data, sf_6B3B0] - [0xD20E0, data, sf_77E40] - [0xD2570, data, sf_hud] - - [0xD31D0, .data, sf_9A580] - - [0xD3460, .data, sf_A24B0] + - [0xD31D0, .data, fox_9A580] + - [0xD3460, .data, fox_A24B0] - [0xD3520, data, sf_A48A0] - [0xD3B50, data, sf_A4B50] - [0xD3DB0, .data, fox_rcp] - - [0xD5670, data, sf_BB360] + - [0xD5670, .data, fox_BB360] + - [0xD5680, .data, fox_BD0B0] - [0xD5690, data, sf_versus] - [0xD5910, .data, fox_save] @@ -283,31 +285,32 @@ - [0xD61F0, .rodata, sf_43E80] - [0xD6350, .rodata, sf_496C0] - [0xD69A0, .rodata, sf_52730] - - [0xD6BA0, .rodata, sf_59780] - - [0xD6C20, .rodata, sf_5A2C0] - - [0xD6FD0, .rodata, sf_61B30] + - [0xD6BA0, .rodata, fox_59780] + - [0xD6C20, .rodata, fox_edisplay] + - [0xD6FD0, .rodata, fox_61B30] - [0xD7650, .rodata, sf_6B3B0] - [0xD7E30, .rodata, sf_77E40] - - [0xD82F0, .rodata, sf_84F70] + - [0xD82F0, .rodata, fox_84F70] - [0xD8320, .rodata, sf_hud] - [0xD8DE0, .rodata, sf_97F80] - - [0xD8DF0, .rodata, sf_9A580] - - [0xD8E50, .rodata, sf_A24B0] + - [0xD8DF0, .rodata, fox_9A580] + - [0xD8E50, .rodata, fox_A24B0] - [0xD8ED0, .rodata, sf_A4290] - [0xD8EE0, .rodata, sf_A48A0] - [0xD8EF0, .rodata, sf_A4B50] - - [0xD97F0, .rodata, sf_BB360] + - [0xD97F0, .rodata, fox_BB360] - [0xD9E50, .rodata, sf_versus] - - [0xD9F60, .rodata, sf_C3430] + - [0xD9F60, .rodata, fox_C3430] - [0xDA030, .rodata, fox_save] # Common assets - - [0xDA0A0, data, displists] - - [0xDC710, data, audiodata] + - [0xDA0A0, .data, gfx_data] + - [0xDC710, .data, wave_samples] + - [0xDD330, .data, note_data] # Nintendo Library bss - { start: 0xDE480, type: .bss, vram: 0x800DD880, name: joybus } - - { start: 0xDE480, type: .bss, vram: 0x800DDAA0, name: main } + - { start: 0xDE480, type: bss, vram: 0x800DDAA0, name: main } - { start: 0xDE480, type: .bss, vram: 0x8013B3A0, name: math } - { start: 0xDE480, type: .bss, vram: 0x8013B3C0, name: matrix } - { start: 0xDE480, type: .bss, vram: 0x8013C3D0, name: memory } @@ -346,3 +349,11 @@ # Game engine bss - { start: 0xDE480, type: bss, vram: 0x8015F900, name: engine } - { start: 0xDE480, type: .bss, vram: 0x80178870, name: fox_save } + + - name: dma_table + type: data + dir: main + start: 0xDE480 + vram: 0x80178A70 + subsegments: + - [0xDE480, .data, dmatable] diff --git a/yamls/us/makerom.yaml b/yamls/us/makerom.yaml index d38d2ca4..e6b03afc 100644 --- a/yamls/us/makerom.yaml +++ b/yamls/us/makerom.yaml @@ -1,14 +1,8 @@ - - name: header - type: header - start: 0x0 - - - name: ipl3 - type: bin - start: 0x40 - - - name: entry + - name: makerom type: code - start: 0x1000 - vram: 0x80000400 + start: 0x0 subsegments: - - [0x1000, asm, entry] + - {start: 0x0, type: header, name: header} + - {start: 0x40, type: bin, name: ipl3} + - {start: 0x1000, type: asm, vram: 0x80000400, name: entry} + diff --git a/yamls/us/overlays.yaml b/yamls/us/overlays.yaml index 900718ab..06ffd884 100644 --- a/yamls/us/overlays.yaml +++ b/yamls/us/overlays.yaml @@ -1,24 +1,3 @@ - - name: dmaTable - type: data - start: 0xDE480 - vram: 0x80178A70 - - - name: audio_seq - type: bin - start: 0xDEA20 - - - name: audio_bank - type: bin - start: 0x119710 - - - name: audio_table - type: bin - start: 0x137730 - - - name: assets - type: bin - start: 0x873BC0 - - name: ovl_DF4260 type: code dir: overlays/ovl_DF4260 @@ -32,7 +11,7 @@ - [0xDFEE30, c, DFEE30] - [0xE05620, c, E05620] - [0xE05990, c, E05990] - - [0xE06520, data, DF4260] + - [0xE06510, data, DF4260] - [0xE06880, data, DFEE30] - [0xE07B90, data, E05990] - [0xE07C30, .rodata, DF4260] @@ -52,7 +31,7 @@ subsegments: - [0xE08400, c, E08400] - [0xE0FF10, c, E0FF10] - - [0xE16310, data, E08400] + - [0xE16300, data, E08400] - [0xE16520, data, E0FF10] - [0xE16670, .rodata, E08400] - [0xE16930, .rodata, E0FF10] @@ -95,7 +74,7 @@ - [0xE561B0, c, E561B0] - [0xE5CC30, c, E5CC30] - [0xE63D50, c, E63D50] - - [0xE69230, data, E51A40] + - [0xE69220, data, E51A40] - [0xE69310, data, E561B0] - [0xE69540, data, E5CC30] - [0xE69910, data, E63D50] @@ -118,7 +97,7 @@ - [0xE6A810, c, E6A810] - [0xE6C220, c, E6C220] - [0xE97CC0, c, E97CC0] - - [0xE9A590, data, E6A810] + - [0xE9A580, data, E6A810] - [0xE9A650, data, E6C220] - [0xE9DC00, data, E97CC0] - [0xE9DCD0, .rodata, E6A810] @@ -139,7 +118,7 @@ - [0xEADEC0, c, EADECO] - [0xEAF7E0, c, EAF7E0] - [0xEBD210, c, EBD210] - - [0xEBE410, data, E9F1D0] + - [0xEBE400, data, E9F1D0] - [0xEBE560, data, EADCE0] - [0xEBE5C0, data, EAF7E0] - [0xEBE830, data, EBD210] @@ -162,7 +141,7 @@ - [0xEBFCA0, c, fox_title] - [0xECA1E0, c, fox_option] - [0xED6EC0, c, ED6EC0] - - [0xEE60C0, data, fox_title] + - [0xEE60B0, data, fox_title] - [0xEE6C30, data, fox_option] - [0xEE7AE0, data, ED6EC0] - [0xEEF410, .rodata, EBFBE0]