DRA finish to import all data from US and HD to C files (#1410)

with the exception of those three SEQ files, which needs to be handled
with the asset manager
This commit is contained in:
Luciano Ciccariello 2024-07-14 17:35:13 +01:00 committed by GitHub
parent 5f74dab165
commit 512e162f51
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
16 changed files with 388 additions and 319 deletions

View File

@ -179,18 +179,22 @@ set(SOURCE_FILES_DRA
src/dra/config_us.c
src/dra/menu.c
src/dra/5D5BC.c
src/dra/d_C910.c
src/dra/627C4.c
src/dra/63ED4.c
src/dra/d_CD80.c
src/dra/692E8.c
src/dra/6D59C.c
src/dra/704D0.c
src/dra/71830.c
src/dra/72BB0.c
src/dra/75F54.c
src/dra/d_CF74.c
src/dra/7A4D0.c
src/dra/7E4BC.c
src/dra/d_DBD4.c
src/dra/d_E294.c
src/dra/d_10798.c
src/dra/843B0.c
src/dra/8A0A4.c
src/dra/8D3E8.c
@ -200,9 +204,6 @@ set(SOURCE_FILES_DRA
src/dra/93BDC.c
src/dra/94F50.c
src/dra/953A0.c
src/dra/d_C910.c
src/dra/d_CD80.c
src/dra/d_CF74.c
src/dra/d_24CEC.c
src/dra/d_2F324.c
src/dra/d_3B0D4.c

View File

@ -6,6 +6,11 @@
"0x2459": 49,
"0x245A": 55,
"0x245B": 44,
"0x10625": 128,
"0x10626": 2,
"0x10627": 20,
"0x108CA": 240,
"0x108CB": 2,
"0x3C1A7": 110,
"0x3CC09": 10,
"0x3CC0A": 13,

View File

@ -92,18 +92,26 @@ segments:
- [0x37E8, .data, 63ED4] # Palette, GFX desc until D_800A3BB8
- [0x3C50, .data, lba_stage]
- [0x4A10, .data, config_jp]
- [0xC72C, data]
- [0xC8BC, .data, d_C910]
- [0xCA20, .data, cd]
- [0xCE48, data]
- [0xCE48, .data, d_CD80]
- [0xCEB8, .data, 692E8]
- [0xCFDC, .data, 6D59C]
- [0xD038, data]
- [0xD038, .data, d_CF74]
- [0xD188, .data, 7A4D0] # D_800AD0C4
- [0xD298, assets, factory_blueprint, g_FactoryBlueprints]
- [0xD57C, .data, 7E4BC]
- [0xDC98, data]
- [0xDC98, .data, d_DBD4]
- [0xE358, .data, d_E294]
- [0x1085C, .data, d_10798]
- [0x109E8, .data, 8D3E8] # D_800B0924 to D_800B09F8
- [0x10B00, .data, 8D3E8] # D_800B0A3C to D_800B0AEC
- [0x10BF8, data]
- [0x10BF8, .data, 8D3E8] # D_800B0CB4 and D_800B0F94
- [0x11140, raw, vh_0] # aPbav
- [0x14140, raw, vh_1] # aPbav_0
- [0x16140, raw, vh_2] # aPbav_2
- [0x18140, raw, vh_3] # aPbav_1
- [0x1A140, data] # aPqes_1
- [0x1D140, .data, 91EBC] # g_CdVolumeTable
- [0x1D260, .data, 91EBC] # g_VolumeTable
- [0x1D284, .data, 91EBC] # g_DebugEnabled
@ -118,11 +126,11 @@ segments:
- [0x23604, cmp, D_800C3560]
- [0x24908, cmp, D_800C4864]
- [0x24B34, cmp, D_800C4A90]
- [0x24D90, data]
- [0x24D90, .data, d_24CEC]
- [0x253C8, raw, g_GfxEquipIcon]
- [0x2F3C8, data]
- [0x2F3C8, .data, d_2F324]
- [0x38978, raw, g_PalEquipIcon]
- [0x3B178, data]
- [0x3B178, .data, d_3B0D4]
- [0x3B458, .rodata, 42398]
- [0x3B618, .rodata, play]
- [0x3B808, .rodata, loading]

View File

@ -96,7 +96,7 @@ segments:
- [0x8410, .data, config_us] # spells
- [0x8720, .data, config_us] # relics
- [0x8900, .data, config_us] # enemies
- [0xC910, .data, d_C910] # exp table and other stuff
- [0xC910, .data, d_C910]
- [0xC958, .data, cd]
- [0xCD80, .data, d_CD80]
- [0xCDF8, .data, 692E8]
@ -108,9 +108,9 @@ segments:
- [0xDBD4, .data, d_DBD4]
- [0xE294, .data, d_E294]
- [0x10798, .data, d_10798]
- [0x10924, data]
- [0x10924, .data, 8D3E8] # D_800B0924 to D_800B09F8
- [0x10A3C, .data, 8D3E8] # D_800B0A3C to D_800B0AEC
- [0x10B34, data]
- [0x10B34, .data, 8D3E8] # D_800B0CB4 and D_800B0F94
- [0x1107C, raw, vh_0] # aPbav
- [0x1407C, raw, vh_1] # aPbav_0
- [0x1607C, raw, vh_2] # aPbav_2

View File

@ -1,87 +1,14 @@
g_CapePaletteDefs = 0x800A2FCC;
g_CheatCodes = 0x800A301C;
D_800A3014 = 0x800A3024;
D_800A3194 = 0x800A31A4;
D_800A3210 = 0x800A3220;
D_800A33A0 = 0x800A33B0;
D_800A35D0 = 0x800A35E0;
D_800A3BB8 = 0x800A3BC8;
g_ExpNext = 0x800AC72C;
g_Vram = 0x800ACE48;
D_800ACE60_hd = 0x800ACE60;
D_800ACE68_hd = 0x800ACE68;
D_800ACE70_hd = 0x800ACE70;
D_800ACE88_hd = 0x800ACE88;
D_800ACE98_hd = 0x800ACE98;
D_800ACEA8_hd = 0x800ACEA8;
D_800ACEB0_hd = 0x800ACEB0;
D_800ACF74 = 0x800AD038;
D_800ACF78 = 0x800AD03C;
D_800ACF7C = 0x800AD040;
D_800ACF84 = 0x800AD048;
D_800ACF94 = 0x800AD058;
D_800ACFB4 = 0x800AD078;
D_800AD094 = 0x800AD158;
D_800AD0C4 = 0x800AD188;
D_800AC910 = 0x800AC8BC;
D_800AC914 = 0x800AC8D0;
D_800AC934 = 0x800AC9FC;
D_800ACE88 = 0x800ACE88; // ignore:True
D_800ACFEC = 0x800AD0B0;
D_800AD014 = 0x800AD0D8;
D_800AD01C = 0x800AD0E0;
g_FactoryBlueprints = 0x800AD298;
D_800ADBD4 = 0x800ADC98;
D_800ADC10 = 0x800ADCD4;
D_800ADC44 = 0x800ADD08;
D_800ADC7C = 0x800ADD40;
D_800ADCC8 = 0x800ADD8C;
D_800ADDE8 = 0x800ADEAC;
D_800ADEF0 = 0x800ADFB4;
D_800AE120 = 0x800AE1E4;
D_800AE130 = 0x800AE1F4;
D_800AE180 = 0x800AE244;
D_800AE190 = 0x800AE254;
D_800AE1B0 = 0x800AE274;
D_800AE1F0 = 0x800AE2B4;
D_800AE230 = 0x800AE2F4;
D_800AE250 = 0x800AE314;
D_800AE270 = 0x800AE334;
D_800AE294 = 0x800AE358;
D_800AFDA4 = 0x800AFE68;
D_800AFDA6 = 0x800AFE6A;
D_800AFFB8 = 0x800B007C;
D_800B0130 = 0x800B01F4;
D_800B0188 = 0x800B024C;
D_800B01B8 = 0x800B027C;
D_800B0594 = 0x800B0658;
D_800B0608 = 0x800B06CC;
D_800B0628 = 0x800B06EC;
D_800B0658 = 0x800B071C;
D_800B0688 = 0x800B074C;
D_800B06C8 = 0x800B078C;
D_800B0728 = 0x800B07EC;
D_800B0788 = 0x800B084C;
D_800B0790 = 0x800B0854;
D_800B0798 = 0x800B085C;
D_800B07C8 = 0x800B088C;
D_800B0830 = 0x800B08F4;
D_800B083C = 0x800B0900;
D_800B0848 = 0x800B090C;
D_800B0858 = 0x800B091C;
D_800B0860 = 0x800B0924;
D_800B0884 = 0x800B0948;
D_800B08A8 = 0x800B096C;
D_800B08CC = 0x800B0990;
D_800B0914 = 0x800B09D8;
D_800B0918 = 0x800B09DC;
D_800B091C = 0x800B09E0;
D_800B0920 = 0x800B09E4;
D_800B0924 = 0x800B09E8;
D_800B0A4C_hd = 0x800B0A4C;
D_800B0A5C_hd = 0x800B0A5C;
D_800B0A6C_hd = 0x800B0A6C;
D_800B0A7C_hd = 0x800B0A7C;
D_800B0A8C_hd = 0x800B0A8C;
D_800B0A9C_hd = 0x800B0A9C;
D_800B0AAC_hd = 0x800B0AAC;
D_800B09F8 = 0x800B0ABC;
D_800B0A3C = 0x800B0B00;
D_800B0CB4 = 0x800B0D78;
D_800B0F94 = 0x800B1058;
D_800AE138 = 0x800AE1FC;
D_800AE140 = 0x800AE204;
aPbav = 0x800B1140;
aPbav_0 = 0x800B4140;
aPbav_2 = 0x800B6140;
@ -89,65 +16,15 @@ aPbav_1 = 0x800B8140;
aPqes_1 = 0x800BA140;
aPqes = 0x800BC441;
aPqes_0 = 0x800BCB87;
g_CdVolumeTable = 0x800BD140;
g_DebugEnabled = 0x800BD284;
D_800BD1C4 = 0x800BD288;
g_VabAddrs = 0x800BD28C;
g_SeqInfo = 0x800BD2A4;
g_XaMusicConfigs = 0x800BD2E8;
D_800BD228 = 0x800BD2EC;
D_800BD22D = 0x800BD2F1;
D_800BD240 = 0x800BD304;
g_SfxData = 0x800BF5F8;
D_800C217C = 0x800C2220;
D_800C27B0 = 0x800C2854;
D_800C3560 = 0x800C3604;
D_800C4864 = 0x800C4908;
D_800C4A90 = 0x800C4B34;
D_800C52F8 = 0x800C539C;
g_GfxEquipIcon = 0x800C53C8;
D_800CF324 = 0x800CF3C8;
D_800CFE48 = 0x800CFEEC;
D_800CFF10 = 0x800CFFB4;
D_800D0F68 = 0x800D100C;
D_800D2BF4 = 0x800D2C98;
D_800D2CF8 = 0x800D2D9C;
D_800D2FFC = 0x800D30A0;
D_800D327C = 0x800D3320;
D_800D3428 = 0x800D34CC;
D_800D34B8 = 0x800D355C;
D_800D372C = 0x800D37D0;
D_800D3B88 = 0x800D3C2C;
D_800D5628 = 0x800D56CC;
D_800D56AC = 0x800D5750;
D_800D5868 = 0x800D590C;
D_800D68D4_hd = 0x800D68D4;
D_800D684C = 0x800D68F0;
D_800D68D4 = 0x800D6978;
D_800D68F4 = 0x800D6998;
D_800D6914 = 0x800D69B8;
D_800D6934 = 0x800D69D8;
D_800D6954 = 0x800D69F8;
D_800D6974 = 0x800D6A18;
D_800D6994 = 0x800D6A38;
D_800D69B4 = 0x800D6A58;
D_800D69D4 = 0x800D6A78;
D_800D69F4 = 0x800D6A98;
D_800D6A14 = 0x800D6AB8;
D_800D6A34 = 0x800D6AD8;
D_800D6AD4 = 0x800D6B78;
D_800D6B54 = 0x800D6BF8;
D_800D6C14 = 0x800D6CB8;
D_800D6CD4 = 0x800D6D78;
D_800D6ED4 = 0x800D6F78;
D_800D70D4 = 0x800D7178;
D_800D72D4 = 0x800D7378;
g_PalEquipIcon = 0x800D8978;
D_800DB0D4 = 0x800DB178;
D_800DB0F4 = 0x800DB198;
D_800DB114 = 0x800DB1B8;
D_800DB1F4 = 0x800DB298;
D_800DB3B0 = 0x800DB454;
D_800DBFFC = 0x800DBFFC; // ignore:true
AllocPrimitives = 0x800EE304;
DestroyEntity = 0x801063CC;

View File

@ -1,22 +1,22 @@
g_CastleFlags = 0x8003BDEC;
D_8003C908 = 0x8003C908;
g_GpuBuffers = 0x8003CB08;
g_api = 0x8003C774;
D_8006C384 = 0x8006C384;
D_8006C38C = 0x8006C38C;
g_Clut = 0x8006CBCC;
g_CastleFlags = 0x8003BDEC;
D_8003C908 = 0x8003C908;
g_GpuBuffers = 0x8003CB08;
g_api = 0x8003C774;
D_8006C384 = 0x8006C384;
D_8006C38C = 0x8006C38C;
g_Clut = 0x8006CBCC;
g_Player = 0x80072BD0;
g_Tilemap = 0x80073084;
g_CurrentRoom = 0x800730A0;
g_Pix = 0x8007EFE4;
g_Pix_2 = 0x80082FE4;
g_Player = 0x80072BD0;
g_Tilemap = 0x80073084;
g_CurrentRoom = 0x800730A0;
g_Pix = 0x8007EFE4;
g_Pix_2 = 0x80082FE4;
g_pads = 0x80097490;
g_Status = 0x80097964;
g_pads = 0x80097490;
g_Status = 0x80097964;
D_8017D000 = 0x8017D000;
D_8017D000 = 0x8017D000;
D_8006ED0C = 0x8006ED0C;
D_8006ED4C = 0x8006ED4C;
D_8006ED2C = 0x8006ED2C;
D_8006ED0C = 0x8006ED0C;
D_8006ED4C = 0x8006ED4C;
D_8006ED2C = 0x8006ED2C;

View File

@ -1,32 +1,28 @@
g_CastleFlags = 0x8003BDEC;
D_8003C908 = 0x8003C908;
g_GpuBuffers = 0x8003CB08;
g_api = 0x8003C774;
g_Settings = 0x8003C9F8;
D_8006C384 = 0x8006C384;
D_8006C38C = 0x8006C38C;
g_Clut = 0x8006CBCC;
D_8006ED0C = 0x8006ED0C;
D_8006ED2C = 0x8006ED2C;
D_8006ED4C = 0x8006ED4C;
g_CastleFlags = 0x8003BDEC;
D_8003C908 = 0x8003C908;
g_GpuBuffers = 0x8003CB08;
g_api = 0x8003C774;
g_Settings = 0x8003C9F8;
D_8006C384 = 0x8006C384;
D_8006C38C = 0x8006C38C;
g_Clut = 0x8006CBCC;
D_8006ED0C = 0x8006ED0C;
D_8006ED2C = 0x8006ED2C;
D_8006ED4C = 0x8006ED4C;
g_Player = 0x80072BD0;
g_Tilemap = 0x80073084;
g_Camera = 0x8007308C;
g_CurrentRoom = 0x800730A0;
g_Player = 0x80072BD0;
g_Tilemap = 0x80073084;
g_Camera = 0x8007308C;
g_CurrentRoom = 0x800730A0;
g_unkGraphicsStruct = 0x800973F8;
D_80097488 = 0x80097488;
g_pads = 0x80097490;
g_Status = 0x80097964;
D_800B0608 = 0x800B0608;
D_801A0E5C = 0x801A0E5C;
D_801A4E6C = 0x801A4E6C;
D_801A6E7C = 0x801A6E7C;
D_801A0E5C = 0x801A0E5C;
D_801A4E6C = 0x801A4E6C;
D_801A6E7C = 0x801A6E7C;
D_8017D000 = 0x8017D000;
D_8017D000 = 0x8017D000;
D_800AFC52 = 0x800AFC52;
D_8017D000 = 0x8017D000;
D_8017D000 = 0x8017D000;

View File

@ -2,6 +2,29 @@
#include "objects.h"
#include "sfx.h"
static s32 D_800B0924[] = {14, 6, 4, 4, 6, 14};
static u16 D_800B093C[] = {69, 0};
static u16 D_800B0940[] = {49, 0};
static u16 D_800B0944[] = {48, 0};
static u16 D_800B0948[] = {36, 37, 38, 39, 40, 41, 42, 43, 0};
static u16 D_800B095C[] = {44, 45, 46, 47, 48, 49, 50, 51, 0};
static u16 D_800B0970[] = {69, 67, 68, 68, 67, 69, -1};
static u16 D_800B0980[] = {52, 53, -1};
static u16 D_800B0988[] = {53, 52, -1};
static u16 D_800B0990[] = {55, 56, 57, 58, 58, 58, 58, 61, 62, 63, 64, -1};
static u16 D_800B09A8[] = {59, 60, 61, 62, 63, 64, 64, -1};
static u16 D_800B09B8[] = {55, 56, 57, 61, 62, 63, 64, -1};
static u16 D_800B09C8[] = {59, 60, 61, 62, 63, 64, -1};
static u16 D_800B09D8[] = {52, 54, 52, -1};
static u16 D_800B09E0[] = {53, -1};
static u16 D_800B09E4[] = {60, 61, 62, 63, 60, 61, 62, 63, 0};
static u16* D_800B09F8[] = {
D_800B093C, D_800B0940, D_800B095C, D_800B0970, D_800B0948, D_800B0980,
D_800B0988, D_800B09D8, D_800B09C8, D_800B0990, D_800B09B8, D_800B09E0,
D_800B09A8, D_800B0990, D_800B09E4, D_800B0990, D_800B0944,
};
void func_8012D3E8(void) {
byte pad[0x28];
s32 directionsPressed =
@ -1359,7 +1382,6 @@ void func_80130264(Entity* self) {
}
self->hitFlags = 0;
}
static const u32 rodata_func_80130264_padding = 0;
static s16 D_800B0A8C[] = {0, 1, 0, -1, 0, 1, 0, -1};
static s16 D_800B0A9C[] = {0, 1, 1, 0, 0, 1, 1, 0};
@ -1471,11 +1493,10 @@ void func_80130618(Entity* self) {
self->unk6C = ~MIN((abs(PLAYER.velocityX) - FIX(3)) >> 12, 160);
}
}
static const u32 rodata_func_80130618_padding = 0;
static AnimationFrame D_800B0ABC[] = {
{0x0002, 0x0048}, {0x0004, 0x004B}, {0x0010, 0x004C},
{0x0004, 0x004B}, {0x0008, 0x0048}, {0xFFFF, 0x0000},
{0x02, 0x48}, {0x04, 0x4B}, {0x10, 0x4C},
{0x04, 0x4B}, {0x08, 0x48}, {-1, 0x00},
};
static s32 D_800B0AD4[] = {0, 1, 2, 1, 0, 0};
static s32 D_800B0AEC[] = {0, 1, 1, 2, 2, 1, 1, 0};
@ -1627,11 +1648,10 @@ void func_801309B4(Entity* self) {
}
}
}
static const u32 rodata_func_801309B4_padding = 0;
static s16 D_800B0B0C[] = {87, 88, 89, 89, 90, 90, 89, 88, 87};
static s16 D_800B0B20[] = {
0x000, 0x040, 0x080, 0x0C0, 0x100, 0x140, 0x180, 0x1C0, 0x200};
0x0, 0x040, 0x080, 0x0C0, 0x100, 0x140, 0x180, 0x1C0, 0x200};
extern s32 D_8013844C;
extern s32 D_80138450;
@ -1858,6 +1878,133 @@ void func_8013136C(Entity* self) {
func_8012C600();
}
static SVECTOR D_800B0B34 = {-8, -72, -4};
static SVECTOR D_800B0B3C = {8, -72, -4};
static SVECTOR D_800B0B44 = {-48, -32, -4};
static SVECTOR D_800B0B4C = {-8, -32, -4};
static SVECTOR D_800B0B54 = {8, -32, -4};
static SVECTOR D_800B0B5C = {48, -32, -4};
static SVECTOR D_800B0B64 = {-48, -16, -4};
static SVECTOR D_800B0B6C = {-8, -16, -4};
static SVECTOR D_800B0B74 = {8, -16, -4};
static SVECTOR D_800B0B7C = {48, -16, -4};
static SVECTOR D_800B0B84 = {-8, 72, -4};
static SVECTOR D_800B0B8C = {8, 72, -4};
static SVECTOR D_800B0B94 = {-24, -48, -4}; // unused
static SVECTOR D_800B0B9C = {-8, -48, -4};
static SVECTOR D_800B0BA4 = {8, -48, -4};
static SVECTOR D_800B0BAC = {24, -48, -4}; // unused
static SVECTOR D_800B0BB4 = {-24, -32, -4};
static SVECTOR D_800B0BBC = {24, -32, -4};
static SVECTOR D_800B0BC4 = {-24, -16, -4};
static SVECTOR D_800B0BCC = {24, -16, -4};
static SVECTOR D_800B0BD4 = {-24, 0, -4}; // unused
static SVECTOR D_800B0BDC = {-8, 0, -4};
static SVECTOR D_800B0BE4 = {8, 0, -4};
static SVECTOR D_800B0BEC = {24, 0, -4}; // unused
static SVECTOR D_800B0BF4 = {-8, -72, 4};
static SVECTOR D_800B0BFC = {8, -72, 4};
static SVECTOR D_800B0C04 = {-48, -32, 4};
static SVECTOR D_800B0C0C = {-8, -32, 4};
static SVECTOR D_800B0C14 = {8, -32, 4};
static SVECTOR D_800B0C1C = {48, -32, 4};
static SVECTOR D_800B0C24 = {-48, -16, 4};
static SVECTOR D_800B0C2C = {-8, -16, 4};
static SVECTOR D_800B0C34 = {8, -16, 4};
static SVECTOR D_800B0C3C = {48, -16, 4};
static SVECTOR D_800B0C44 = {-8, 72, 4};
static SVECTOR D_800B0C4C = {8, 72, 4};
static SVECTOR D_800B0C54 = {-24, -48, 4};
static SVECTOR D_800B0C5C = {-8, -48, 4};
static SVECTOR D_800B0C64 = {8, -48, 4};
static SVECTOR D_800B0C6C = {24, -48, 4};
static SVECTOR D_800B0C74 = {-24, -32, 4};
static SVECTOR D_800B0C7C = {24, -32, 4};
static SVECTOR D_800B0C84 = {-24, -16, 4};
static SVECTOR D_800B0C8C = {24, -16, 4};
static SVECTOR D_800B0C94 = {-24, 0, 4};
static SVECTOR D_800B0C9C = {-8, 0, 4};
static SVECTOR D_800B0CA4 = {8, 0, 4};
static SVECTOR D_800B0CAC = {24, 0, 4};
static SVECTOR* D_800B0CB4[][4] = {
{&D_800B0B4C, &D_800B0B54, &D_800B0B74, &D_800B0B6C},
{&D_800B0C54, &D_800B0C5C, &D_800B0C0C, &D_800B0C74},
{&D_800B0C64, &D_800B0C6C, &D_800B0C7C, &D_800B0C14},
{&D_800B0C84, &D_800B0C2C, &D_800B0C9C, &D_800B0C94},
{&D_800B0C34, &D_800B0C8C, &D_800B0CAC, &D_800B0CA4},
{&D_800B0C0C, &D_800B0C5C, &D_800B0C54, &D_800B0C74},
{&D_800B0C7C, &D_800B0C6C, &D_800B0C64, &D_800B0C14},
{&D_800B0C9C, &D_800B0C2C, &D_800B0C84, &D_800B0C94},
{&D_800B0CAC, &D_800B0C8C, &D_800B0C34, &D_800B0CA4},
{&D_800B0C14, &D_800B0C64, &D_800B0C5C, &D_800B0C0C},
{&D_800B0C2C, &D_800B0C0C, &D_800B0C74, &D_800B0C84},
{&D_800B0C8C, &D_800B0C7C, &D_800B0C14, &D_800B0C34},
{&D_800B0CA4, &D_800B0C34, &D_800B0C2C, &D_800B0C9C},
{&D_800B0C34, &D_800B0C14, &D_800B0C0C, &D_800B0C2C},
{&D_800B0B3C, &D_800B0BFC, &D_800B0C64, &D_800B0BA4},
{&D_800B0BA4, &D_800B0C64, &D_800B0C14, &D_800B0B54},
{&D_800B0B74, &D_800B0C34, &D_800B0CA4, &D_800B0BE4},
{&D_800B0BE4, &D_800B0CA4, &D_800B0C4C, &D_800B0B8C},
{&D_800B0C74, &D_800B0C0C, &D_800B0B4C, &D_800B0BB4},
{&D_800B0C14, &D_800B0C7C, &D_800B0BBC, &D_800B0B54},
{&D_800B0C64, &D_800B0BFC, &D_800B0BF4, &D_800B0C5C},
{&D_800B0C84, &D_800B0C74, &D_800B0C04, &D_800B0C24},
{&D_800B0C3C, &D_800B0C1C, &D_800B0C7C, &D_800B0C8C},
{&D_800B0C4C, &D_800B0CA4, &D_800B0C9C, &D_800B0C44},
{&D_800B0C5C, &D_800B0BF4, &D_800B0B34, &D_800B0B9C},
{&D_800B0C0C, &D_800B0C5C, &D_800B0B9C, &D_800B0B4C},
{&D_800B0C9C, &D_800B0C2C, &D_800B0B6C, &D_800B0BDC},
{&D_800B0C44, &D_800B0C9C, &D_800B0BDC, &D_800B0B84},
{&D_800B0B6C, &D_800B0C2C, &D_800B0C84, &D_800B0BC4},
{&D_800B0BCC, &D_800B0C8C, &D_800B0C34, &D_800B0B74},
{&D_800B0B6C, &D_800B0B74, &D_800B0BE4, &D_800B0BDC},
{&D_800B0BDC, &D_800B0BE4, &D_800B0B8C, &D_800B0B84},
{&D_800B0B34, &D_800B0B3C, &D_800B0BA4, &D_800B0B9C},
{&D_800B0B9C, &D_800B0BA4, &D_800B0B54, &D_800B0B4C},
{&D_800B0B5C, &D_800B0C1C, &D_800B0C3C, &D_800B0B7C},
{&D_800B0BF4, &D_800B0BFC, &D_800B0B3C, &D_800B0B34},
{&D_800B0C24, &D_800B0C04, &D_800B0B44, &D_800B0B64},
{&D_800B0B8C, &D_800B0C4C, &D_800B0C44, &D_800B0B84},
{&D_800B0C04, &D_800B0C74, &D_800B0BB4, &D_800B0B44},
{&D_800B0BC4, &D_800B0C84, &D_800B0C24, &D_800B0B64},
{&D_800B0C7C, &D_800B0C1C, &D_800B0B5C, &D_800B0BBC},
{&D_800B0B7C, &D_800B0C3C, &D_800B0C8C, &D_800B0BCC},
{&D_800B0BB4, &D_800B0B4C, &D_800B0B6C, &D_800B0BC4},
{&D_800B0B54, &D_800B0BBC, &D_800B0BCC, &D_800B0B74},
{&D_800B0B44, &D_800B0BB4, &D_800B0BC4, &D_800B0B64},
{&D_800B0BBC, &D_800B0B5C, &D_800B0B7C, &D_800B0BCC},
};
static u8 D_800B0F94[][5] = {
{0x38, 0x08, 0x10, 0x10, 0x0D}, {0x58, 0x08, 0x10, 0x10, 0x0E},
{0x58, 0x08, 0x10, 0x10, 0x1E}, {0x58, 0x08, 0x10, 0x10, 0x2E},
{0x58, 0x08, 0x10, 0x10, 0x3E}, {0x58, 0x08, 0x10, 0x10, 0x4E},
{0x58, 0x08, 0x10, 0x10, 0x5E}, {0x58, 0x08, 0x10, 0x10, 0x6E},
{0x58, 0x08, 0x10, 0x10, 0x7E}, {0x68, 0x08, 0x10, 0x10, 0x4E},
{0x68, 0x08, 0x10, 0x10, 0x2E}, {0x68, 0x08, 0x10, 0x10, 0x0E},
{0x68, 0x08, 0x10, 0x10, 0x6E}, {0x68, 0x18, 0x10, 0x10, 0x4E},
{0x68, 0x30, 0x10, 0x10, 0x0E}, {0x68, 0x30, 0x10, 0x10, 0x0E},
{0x68, 0x30, 0x10, 0x10, 0x0E}, {0x68, 0x30, 0x10, 0x10, 0x0E},
{0x68, 0x30, 0x10, 0x10, 0x0E}, {0x68, 0x30, 0x10, 0x10, 0x0E},
{0x68, 0x30, 0x10, 0x10, 0x4E}, {0x68, 0x30, 0x10, 0x10, 0x4E},
{0x68, 0x30, 0x10, 0x10, 0x4E}, {0x68, 0x30, 0x10, 0x10, 0x4E},
{0x68, 0x30, 0x10, 0x10, 0x4E}, {0x68, 0x30, 0x10, 0x10, 0x4E},
{0x68, 0x30, 0x10, 0x10, 0x4E}, {0x68, 0x30, 0x10, 0x10, 0x4E},
{0x68, 0x30, 0x10, 0x10, 0x4E}, {0x68, 0x30, 0x10, 0x10, 0x4E},
{0x38, 0x18, 0x10, 0x10, 0x0F}, {0x38, 0x28, 0x10, 0x48, 0x0F},
{0x50, 0x20, 0x10, 0x18, 0x0F}, {0x50, 0x38, 0x10, 0x10, 0x0F},
{0x70, 0x48, 0x08, 0x08, 0x0F}, {0x70, 0x48, 0x08, 0x08, 0x0F},
{0x70, 0x48, 0x08, 0x08, 0x4F}, {0x70, 0x48, 0x08, 0x08, 0x4F},
{0x50, 0x50, 0x18, 0x08, 0x0F}, {0x50, 0x50, 0x18, 0x08, 0x4F},
{0x50, 0x50, 0x18, 0x08, 0x1F}, {0x50, 0x50, 0x18, 0x08, 0x5F},
{0x68, 0x58, 0x10, 0x10, 0x0F}, {0x68, 0x58, 0x10, 0x10, 0x1F},
{0x50, 0x58, 0x18, 0x10, 0x0F}, {0x50, 0x58, 0x18, 0x10, 0x1F},
};
#ifdef VERSION_US
static u8 dirty_data1 = 0x20;
static u8 dirty_data2 = 0x0D;
#endif
// When Alucard uses the cross subweapon for 100 hearts.
// Entity ID 7, blueprint #7 (this is a coincidence)
void EntityGiantSpinningCross(Entity* self) {
@ -1881,7 +2028,7 @@ void EntityGiantSpinningCross(Entity* self) {
sp50 = D_800E202C;
if (self->step == 0) {
self->primIndex = g_api.func_800EDB58(PRIM_GT4, 46);
self->primIndex = g_api.func_800EDB58(PRIM_GT4, LEN(D_800B0CB4));
if (self->primIndex == -1) {
DestroyEntity(self);
return;
@ -1905,7 +2052,8 @@ void EntityGiantSpinningCross(Entity* self) {
self->step++;
primUVCoords = &D_800B0F94[0][0];
prim = &g_PrimBuf[self->primIndex];
for (i = 0; i < 46; i++, prim = prim->next, primUVCoords += 5) {
for (i = 0; i < LEN(D_800B0CB4); i++, prim = prim->next,
primUVCoords += 5) {
prim->clut = (primUVCoords[4] & 0xF) | 0x1A0;
switch (primUVCoords[4] & 0xF0) {
case 0x10:
@ -2023,7 +2171,7 @@ void EntityGiantSpinningCross(Entity* self) {
gte_stszotz(&z);
self->hitboxOffX = prim->x0 - self->posX.i.hi;
self->hitboxOffY = prim->y0 - self->posY.i.hi;
for (i = 0; i < 46; i++, prim = prim->next, vectors_ptr += 4) {
for (i = 0; i < LEN(D_800B0CB4); i++, prim = prim->next, vectors_ptr += 4) {
gte_ldv3(vectors_ptr[0], vectors_ptr[1], vectors_ptr[3]);
gte_rtpt();
temp_a3 = vectors_ptr[2];

View File

@ -891,3 +891,19 @@ EnemyDef g_EnemyDefs[] = {
{_S(""), 32767, 90, 32769, 0, 1, 0x0000, 0x0000, 0x0000, 0x0000, 0, 0, 0, 0, 0, 0, 0, 0, 0x0D202000},
{_S(""), 0, 8, 65, 0, 15, 0x0000, 0x0000, 0x0000, 0x0000, 0, 0, 0, 0, 0, 0, 8, 8, 0x8D000010},
};
// clang-format on
s32 g_ExpNext[] = {
0, 0, 100, 250, 450, 700, 1000, 1350, 1750,
2200, 2700, 3250, 3850, 4500, 5200, 5950, 6750, 7600,
8500, 9450, 10450, 11700, 13200, 15100, 17500, 20400, 23700,
27200, 30900, 35000, 39500, 44500, 50000, 56000, 61500, 68500,
76000, 84000, 92500, 101500, 110000, 120000, 130000, 140000, 150000,
160000, 170000, 180000, 190000, 200000, 210000, 222000, 234000, 246000,
258000, 270000, 282000, 294000, 306000, 318000, 330000, 344000, 358000,
372000, 386000, 400000, 414000, 428000, 442000, 456000, 470000, 486000,
502000, 518000, 534000, 550000, 566000, 582000, 598000, 614000, 630000,
648000, 666000, 684000, 702000, 720000, 738000, 756000, 774000, 792000,
810000, 830000, 850000, 870000, 890000, 910000, 930000, 950000, 970000,
999999,
};

View File

@ -23,16 +23,13 @@ u8 D_800B0848[] = {0x80, 0x80, 0x80, 0x90, 0x80, 0xA0, 0x80, 0xB0,
u16 D_800B0858[] = {0x03C0, 0x0440, 0x0340, 0x04C0};
s16 D_800B0860[] = {31, 0, 31, -32, 0, -32, -32, -32, -32,
0, -32, 31, 0, 31, 31, 31, 31, 0};
s16 D_800B0884[] = {
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0005, 0x0005, 0x0005,
0x0005, 0x0005, 0x0005, 0x0005, 0x0004, 0x0003, 0x0002, 0x0001, 0x0000,
};
0, -32, 31, 0, 31, 31, 31, 31};
s16 D_800B0884[] = {0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005,
0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
0x0005, 0x0004, 0x0003, 0x0002, 0x0001};
s16 D_800B08A8[] = {0x0000, 0x0020, 0x0040, 0x0060, 0x0080, 0x00A0,
0x00AA, 0x00AA, 0x00AA, 0x00AA, 0x00AA, 0x00A0,
0x0080, 0x0060, 0x0040, 0x0020, 0x0000, 0x02F0};
0x0080, 0x0060, 0x0040, 0x0020, 0x0000};
helper_8012F178 D_800B08CC[6] = {0};

View File

@ -736,7 +736,7 @@ u32 D_800D0EB4[];
u32 D_800D0EE4[];
u32 D_800D0F14[];
u32 D_800D0F30[];
u32 D_800D0F4C[];
u16 D_800D0F4C[];
u16* D_800CFF10[] = {
NULL,
@ -1194,9 +1194,12 @@ u32 D_800D0F30[] = {
0x00300020, 0x00400040, 0x00000000,
};
u32 D_800D0F4C[] = {
0x00240001, 0xFFC1FFC1, 0x00800080, 0x006801A0,
0x00000080, 0x00800100, 0x5F650000,
u16 D_800D0F4C[] = {
0x0001, 0x0024, 0xFFC1, 0xFFC1, 0x0080, 0x0080, 0x01A0,
0x0068, 0x0080, 0x0000, 0x0100, 0x0080, 0x0000,
#ifdef VERSION_US // dirty data
0x5F65,
#endif
};
u32 D_800D11EC[];
@ -2347,7 +2350,7 @@ u32 D_800D2C6C[];
u32 D_800D2C88[];
u32 D_800D2CA4[];
u32 D_800D2CC0[];
u32 D_800D2CDC[];
u16 D_800D2CDC[];
s16* D_800D2BF4[] = {
NULL,
@ -2396,13 +2399,16 @@ u32 D_800D2CC0[] = {
0x00300078, 0x00380080, 0x00000000,
};
u32 D_800D2CDC[] = {
0x00100001, 0xFFE2FFF1, 0x00200020, 0x00680170,
0x00600000, 0x00800020, 0x20300000,
u16 D_800D2CDC[] = {
0x0001, 0x0010, 0xFFF1, 0xFFE2, 0x0020, 0x0020, 0x0170,
0x0068, 0x0000, 0x0060, 0x0020, 0x0080, 0x0000,
#ifdef VERSION_US // dirty data
0x2030,
#endif
};
u32 D_800D2D5C[];
u32 D_800D2D78[];
u16 D_800D2D78[];
u32 D_800D2D94[];
u32 D_800D2DB0[];
u32 D_800D2DCC[];
@ -2424,7 +2430,7 @@ u32 D_800D2F70[];
u32 D_800D2F8C[];
u32 D_800D2FA8[];
u32 D_800D2FC4[];
u32 D_800D2FE0[];
u16 D_800D2FE0[];
s16* D_800D2CF8[] = {
NULL,
@ -2459,9 +2465,9 @@ u32 D_800D2D5C[] = {
0x00000080, 0x00100090, 0x00000000,
};
u32 D_800D2D78[] = {
0x00200001, 0xFFF4FFF8, 0x00100010, 0x00680195,
0x00000090, 0x001000A0, 0x00000000,
u16 D_800D2D78[] = {
0x0001, 0x0020, 0xFFF8, 0xFFF4, 0x0010, 0x0010, 0x0195,
0x0068, 0x0090, 0x0000, 0x00A0, 0x0010, 0x0000, 0x0000,
};
u32 D_800D2D94[] = {
@ -2569,9 +2575,12 @@ u32 D_800D2FC4[] = {
0x000000E0, 0x000800F0, 0x00000000,
};
u32 D_800D2FE0[] = {
0x00000001, 0x0000FFFD, 0x00080008, 0x00680195,
0x000800E8, 0x001000F0, 0x6B610000,
u16 D_800D2FE0[] = {
0x0001, 0x0000, 0xFFFD, 0x0000, 0x0008, 0x0008, 0x0195,
0x0068, 0x00E8, 0x0008, 0x00F0, 0x0010, 0x0000,
#ifdef VERSION_US // dirty data
0x6B61,
#endif
};
u32 D_800D300C[];
@ -2653,7 +2662,7 @@ u32 D_800D3374[] = {
u32 D_800D3438[];
u32 D_800D3480[];
u32 D_800D349C[];
u16 D_800D349C[];
s16* D_800D3428[] = {
NULL,
@ -2673,9 +2682,12 @@ u32 D_800D3480[] = {
0x002000B0, 0x006000B8, 0x00000000,
};
u32 D_800D349C[] = {
0x00000001, 0xFFE0FFF0, 0x00400020, 0x007C0198,
0x00200088, 0x006000A8, 0x5B6A0000,
u16 D_800D349C[] = {
0x0001, 0x0000, 0xFFF0, 0xFFE0, 0x0020, 0x0040, 0x0198,
0x007C, 0x0088, 0x0020, 0x00A8, 0x0060, 0x0000,
#ifdef VERSION_US // dirty data
0x5B6A,
#endif
};
u32 D_800D34D4[];
@ -2683,7 +2695,7 @@ u32 D_800D3530[];
u32 D_800D358C[];
u32 D_800D35E8[];
u32 D_800D3644[];
u32 D_800D36B8[];
u16 D_800D36B8[];
s16* D_800D34B8[] = {
NULL,
@ -2731,12 +2743,17 @@ u32 D_800D3644[] = {
0x00100010, 0x00680170, 0x000000F0, 0x00100100, 0x00000000,
};
u32 D_800D36B8[] = {
0x00060005, 0x0002FFF8, 0x00100010, 0x00680170, 0x002800F0, 0x00380100,
0x00000004, 0x0010FFF2, 0x01700010, 0x00F00068, 0x01000028, 0x00040038,
0x00050005, 0x00100010, 0x00680170, 0x002800F0, 0x00380100, 0xFFEB0004,
0x00100005, 0x01700010, 0x00F00068, 0x01000028, 0x00040038, 0xFFF2FFF0,
0x00100010, 0x00680170, 0x002800F0, 0x00380100, 0x645F0000,
u16 D_800D36B8[] = {
0x0005, 0x0006, 0xFFF8, 0x0002, 0x0010, 0x0010, 0x0170, 0x0068, 0x00F0,
0x0028, 0x0100, 0x0038, 0x0004, 0x0000, 0xFFF2, 0x0010, 0x0010, 0x0170,
0x0068, 0x00F0, 0x0028, 0x0100, 0x0038, 0x0004, 0x0005, 0x0005, 0x0010,
0x0010, 0x0170, 0x0068, 0x00F0, 0x0028, 0x0100, 0x0038, 0x0004, 0xFFEB,
0x0005, 0x0010, 0x0010, 0x0170, 0x0068, 0x00F0, 0x0028, 0x0100, 0x0038,
0x0004, 0xFFF0, 0xFFF2, 0x0010, 0x0010, 0x0170, 0x0068, 0x00F0, 0x0028,
0x0100, 0x0038, 0x0000,
#ifdef VERSION_US // dirty data
0x645F,
#endif
};
u32 D_800D37A4[];
@ -2767,7 +2784,7 @@ u32 D_800D3AD4[];
u32 D_800D3AF0[];
u32 D_800D3B20[];
u32 D_800D3B3C[];
u32 D_800D3B6C[];
u16 D_800D3B6C[];
s16* D_800D372C[] = {
NULL,
@ -2944,9 +2961,12 @@ u32 D_800D3B3C[] = {
0xFFF00030, 0x0020FFF0, 0x015E0020, 0x00000068, 0x00200000, 0x00000020,
};
u32 D_800D3B6C[] = {
0x00000001, 0xFFFCFFFC, 0x00080008, 0x00680186,
0x00380078, 0x00400080, 0x61090000,
u16 D_800D3B6C[] = {
0x0001, 0x0000, 0xFFFC, 0xFFFC, 0x0008, 0x0008, 0x0186,
0x0068, 0x0078, 0x0038, 0x0080, 0x0040, 0x0000,
#ifdef VERSION_US // dirty data
0x6109,
#endif
};
u32 D_800D3D1C[];
@ -3048,7 +3068,7 @@ u32 D_800D54C4[];
u32 D_800D550C[];
u32 D_800D5568[];
u32 D_800D55C4[];
u32 D_800D560C[];
u16 D_800D560C[];
s16* D_800D3B88[] = {
0x00000000, (s16*)D_800D3D1C, (s16*)D_800D3D38, (s16*)D_800D3D54,
@ -3700,15 +3720,18 @@ u32 D_800D55C4[] = {
0x0000FFF7, 0x00180020, 0x0001000E, 0x00680040, 0x00800060, 0x00000000,
};
u32 D_800D560C[] = {
0x00000001, 0xFFFCFFF4, 0x00080018, 0x00010008,
0x00480030, 0x00500048, 0x0D200000,
u16 D_800D560C[] = {
0x0001, 0x0000, 0xFFF4, 0xFFFC, 0x0018, 0x0008, 0x0008,
0x0001, 0x0030, 0x0048, 0x0048, 0x0050, 0x0000,
#ifdef VERSION_US // dirty data
0x0D20,
#endif
};
u32 D_800D563C[];
u32 D_800D5658[];
u32 D_800D5674[];
u32 D_800D5690[];
u16 D_800D5690[];
s16* D_800D5628[] = {
NULL,
@ -3733,9 +3756,12 @@ u32 D_800D5674[] = {
0x00300080, 0x004800E0, 0x00000000,
};
u32 D_800D5690[] = {
0x00000001, 0x00000000, 0x00180060, 0x0070019F,
0x00480080, 0x006000E0, 0x0A0D0000,
u16 D_800D5690[] = {
0x0001, 0x0000, 0x0000, 0x0000, 0x0060, 0x0018, 0x019F,
0x0070, 0x0080, 0x0048, 0x00E0, 0x0060, 0x0000,
#ifdef VERSION_US // dirty data
0x0A0D,
#endif
};
u32 D_800D56E8[];
@ -3750,7 +3776,7 @@ u32 D_800D57C8[];
u32 D_800D57E4[];
u32 D_800D5800[];
u32 D_800D5830[];
u32 D_800D584C[];
u16 D_800D584C[];
s16* D_800D56AC[] = {
NULL,
@ -3830,9 +3856,12 @@ u32 D_800D5830[] = {
0x00680018, 0x00800028, 0x00000000,
};
u32 D_800D584C[] = {
0x00080001, 0xFFEF0003, 0x00180010, 0x00000000,
0x00680028, 0x00800038, 0x2C350000,
u16 D_800D584C[] = {
0x0001, 0x0008, 0x0003, 0xFFEF, 0x0010, 0x0018, 0x0000,
0x0000, 0x0028, 0x0068, 0x0038, 0x0080, 0x0000,
#ifdef VERSION_US // dirty data
0x2C35,
#endif
};
u32 D_800D59D8[];
@ -3924,7 +3953,7 @@ u32 D_800D67C0[];
u32 D_800D67DC[];
u32 D_800D67F8[];
u32 D_800D6814[];
u32 D_800D6830[];
u16 D_800D6830[];
s16* D_800D5868[] = {
NULL,
@ -4466,15 +4495,18 @@ u32 D_800D6814[] = {
0x00600030, 0x00680038, 0x00000000,
};
u32 D_800D6830[] = {
0x00000001, 0xFFFCFFFC, 0x00080008, 0x00010000,
0x00600038, 0x00680040, 0x20290000,
u16 D_800D6830[] = {
0x0001, 0x0000, 0xFFFC, 0xFFFC, 0x0008, 0x0008, 0x0000,
0x0001, 0x0038, 0x0060, 0x0040, 0x0068, 0x0000,
#ifdef VERSION_US // dirty data
0x2029,
#endif
};
u32 D_800D6864[];
u32 D_800D6880[];
u32 D_800D689C[];
u32 D_800D68B8[];
u16 D_800D68B8[];
s16* D_800D684C[] = {
NULL,
@ -4500,9 +4532,12 @@ u32 D_800D689C[] = {
0x00600010, 0x00700018, 0x00000000,
};
u32 D_800D68B8[] = {
0x00000001, 0xFFF4FFFD, 0x00100010, 0x0020009F,
0x00600018, 0x00700028, 0x30200000,
u16 D_800D68B8[] = {
0x0001, 0x0000, 0xFFFD, 0xFFF4, 0x0010, 0x0010, 0x009F,
0x0020, 0x0018, 0x0060, 0x0028, 0x0070, 0x0000,
#ifdef VERSION_US // dirty data
0x3020,
#endif
};
u32 D_800D68D4[] = {

View File

@ -1,12 +1,50 @@
#include "dra.h"
#if defined(VERSION_US)
s16 D_800AC910[] = {0x9F54, 0x0000};
u8 D_800AC914[] = {
0x07, 0xc0, 0x18, 0x30, 0x20, 0x08, 0x47, 0xc4, 0x48, 0x44, 0x90,
0x12, 0x90, 0x02, 0x90, 0x02, 0x90, 0x02, 0x90, 0x12, 0x48, 0x44,
0x47, 0xc4, 0x20, 0x08, 0x18, 0x30, 0x07, 0xc0, 0x00, 0x00};
u16 D_800AC934[] = {0x0000, 0x0001, 0x0001, 0x0002, 0x0002, 0x0003,
0x0003, 0x0004, 0x0004, 0x0005, 0x0005, 0x0006,
0x0006, 0x0007, 0x0007, 0x0008, 0x0008, 0x0d09};
#elif defined(VERSION_HD)
s16 D_800AC910[] = {
0xE748, 0xE1C5, 0xE3C4, 0x9C66, 0x9C72,
0xE495, 0xE0D6, 0xE6CB, 0xE6D1, 0x9F54,
};
u8 D_800AC914[] = {
0x00, 0x20, 0x7C, 0x20, 0x45, 0xFE, 0x45, 0x02, 0x45, 0x02, 0x7C, 0x78,
0x10, 0x00, 0x10, 0x00, 0x51, 0xFE, 0x5C, 0x20, 0x50, 0xA4, 0x50, 0xA2,
0x51, 0x22, 0x5C, 0x20, 0xE0, 0x60, 0x01, 0x00, 0x11, 0x10, 0x2F, 0xE8,
0x42, 0x84, 0x04, 0x40, 0xFF, 0xFE, 0x08, 0x20, 0x10, 0x10, 0x3F, 0xF8,
0xD0, 0x16, 0x1F, 0xF0, 0x10, 0x10, 0x1F, 0xF0, 0x10, 0x10, 0x1F, 0xF0,
0x88, 0x00, 0x4B, 0xBC, 0x10, 0x84, 0xF8, 0x84, 0x24, 0xA4, 0x22, 0x94,
0xF8, 0x84, 0x20, 0x84, 0x21, 0x8C, 0x3A, 0x94, 0xE4, 0xA4, 0x28, 0x84,
0x40, 0x84, 0x40, 0x84, 0x83, 0x9C, 0x10, 0x40, 0x10, 0x40, 0x20, 0x40,
0x47, 0xFE, 0x90, 0x80, 0x10, 0x80, 0x20, 0x80, 0x20, 0xFC, 0x60, 0x84,
0xA1, 0x04, 0x21, 0x04, 0x21, 0x04, 0x22, 0x08, 0x22, 0x08, 0x24, 0x70,
0x10, 0x40, 0x10, 0x80, 0x23, 0xF8, 0x42, 0x08, 0x93, 0xF8, 0x12, 0x08,
0x23, 0xF8, 0x20, 0x00, 0x67, 0xFC, 0xA0, 0x40, 0x20, 0x40, 0x23, 0xFC,
0x20, 0x40, 0x20, 0x40, 0x2F, 0xFE, 0x08, 0x40, 0xFF, 0xFE, 0x08, 0x40,
0x00, 0x00, 0x1F, 0xF0, 0x11, 0x10, 0x10, 0x90, 0x10, 0x10, 0xFF, 0xFE,
0x22, 0x10, 0x21, 0x10, 0x20, 0x10, 0x7F, 0xFC, 0x40, 0x20, 0x01, 0xC0,
0x08, 0x40, 0x8F, 0xFE, 0x54, 0x02, 0x25, 0x42, 0x63, 0x14, 0xA5, 0xF2,
0x10, 0x00, 0x13, 0xFC, 0x32, 0xA4, 0x57, 0xFE, 0x90, 0x00, 0x17, 0xFE,
0x10, 0x40, 0x10, 0x40, 0x61, 0xC0, 0x00, 0x48, 0x7C, 0x4E, 0x45, 0xF0,
0x44, 0x24, 0x7C, 0x18, 0x44, 0x6A, 0x45, 0x86, 0x7C, 0x50, 0x44, 0x48,
0x44, 0x5E, 0x45, 0xE0, 0x7C, 0x24, 0x00, 0x18, 0x48, 0x6A, 0x85, 0x86,
0x10, 0x20, 0x7C, 0x20, 0x10, 0xF8, 0xFE, 0x28, 0x28, 0x6A, 0x7C, 0x5A,
0x10, 0x8E, 0x1F, 0xF0, 0x10, 0x10, 0x1F, 0xF0, 0x10, 0x10, 0x1F, 0xF0,
0x10, 0x10, 0x1F, 0xF0, 0x70, 0x1C, 0x07, 0xC0, 0x18, 0x30, 0x20, 0x08,
0x47, 0xC4, 0x48, 0x44, 0x90, 0x12, 0x90, 0x02, 0x90, 0x02, 0x90, 0x02,
0x90, 0x12, 0x48, 0x44, 0x47, 0xC4, 0x20, 0x08, 0x18, 0x30, 0x07, 0xC0,
};
u16 D_800AC934[] = {
0x0000, 0x0001, 0x0001, 0x0002, 0x0002, 0x0003, 0x0003, 0x0004, 0x0004,
0x0005, 0x0005, 0x0006, 0x0006, 0x0007, 0x0007, 0x0008, 0x0008, 0x0000,
};
#endif

View File

@ -8,4 +8,7 @@ Vram g_Vram = {
{0x0200, 0x0000, 0x0100, 0x00f0}, {0x0080, 0x0100, 0x0180, 0x0100},
{0x0200, 0x0000, 0x0040, 0x00f0}, {0x0280, 0x0000, 0x0080, 0x00f0},
{0x0200, 0x0000, 0x0020, 0x0080}, {0x0340, 0x0100, 0x0040, 0x0100},
{0x0000, 0x0000, 0x0280, 0x0200}};
#ifdef VERSION_US
{0x0000, 0x0000, 0x0280, 0x0200},
#endif
};

View File

@ -1394,9 +1394,9 @@ AnimationFrame* D_800B0594[] = {
};
u8 D_800B0608[] = {
0x41, 0x48, 0x4F, 0x56, 0x56, 0x68, 0x6F, 0x76, 0x7D, 0x84, 0x8B,
0x92, 0x99, 0xA0, 0xA7, 0xAE, 0xB5, 0x41, 0x41, 0x41, 0x41, 0x41,
0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x80, 0x02, 0x14,
0x41, 0x48, 0x4F, 0x56, 0x56, 0x68, 0x6F, 0x76, 0x7D, 0x84,
0x8B, 0x92, 0x99, 0xA0, 0xA7, 0xAE, 0xB5, 0x41, 0x41, 0x41,
0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
};
u8 D_800B0628[][4] = {

View File

@ -174,7 +174,9 @@ typedef struct {
RECT D_800ACDD8;
RECT D_800ACDE0;
RECT D_800ACDE8;
#ifdef VERSION_US
RECT D_800ACDF0;
#endif
} Vram;
#define NOW_LOADING_PRIM_COUNT 16
@ -396,11 +398,7 @@ extern s32 D_800B0914;
extern s32 D_800B0918;
extern s32 D_800B091C;
extern s32 D_800B0920;
extern s32 D_800B0924[];
extern u16* D_800B09F8[];
extern u8 D_800B0F94[][5];
extern SVECTOR* D_800B0CB4[][4];
extern s16 g_CdVolumeTable[];
extern struct SeqData g_SeqInfo[];
extern struct XaMusicConfig g_XaMusicConfigs[563];

View File

@ -145,55 +145,6 @@ u16 D_800AC958[] = {
0x0300, 0x0320, 0x0300, 0x0320, 0x0340, 0x0360, 0x0340, 0x0360,
0x0380, 0x03A0, 0x0380, 0x03A0, 0x03C0, 0x03E0, 0x03C0, 0x03E0,
};
s16 D_800AC998[] = {
0x0200, 0x0220, 0x0200, 0x0220, 0x0240, 0x0260, 0x0240, 0x0260,
0x0280, 0x02A0, 0x0280, 0x02A0, 0x02C0, 0x02E0, 0x02C0, 0x02E0,
0x0300, 0x0320, 0x0300, 0x0320, 0x0340, 0x0360, 0x0340, 0x0360,
0x0380, 0x03A0, 0x0380, 0x03A0, 0x03C0, 0x03E0, 0x03C0, 0x03E0,
};
s32 D_800B0830[3];
s32 D_800B083C[3];
u8 D_800B0848[16];
u16 D_800B0858[2]; // might be part of the previous array
s16 D_800B0860[18];
s16 D_800B0884[18];
s16 D_800B08A8[18];
AnimationFrame D_800B0798[40]; // random size to play safe
s32 D_800B0924[99]; // big enough to avoid 09F8 after it
u16* D_800B09F8[99]; // random size
u8 D_800B0F94[100][5]; // random size to play safe
SVECTOR stubbbbbbbb = {0};
SVECTOR* D_800B0CB4[][4] = {
// a lot of random data to play safe
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
&stubbbbbbbb, &stubbbbbbbb, &stubbbbbbbb,
};
helper_8012F178 D_800B08CC[6] = {0};
AnimationFrame D_800B07C8[26];
s32 D_80138090;
mistStruct D_80138094[16];
s32 D_8013808C;
@ -416,10 +367,6 @@ RoomLoadDefHolder D_801375BC;
s32 D_801375C0;
s32 D_801375C4;
s32 D_801375C8;
s32 D_800B0914;
s32 D_800B0918;
s32 D_800B091C;
s32 D_800B0920;
PlayerOvl g_PlOvl = {0};
u8** g_PlOvlAluBatSpritesheet[1] = {0};