More cleanup, bss, undefined_syms (#892)

* tons more BSS, undefined_syms, cleanup abound

* git subrepo pull --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "741a0d030d"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "741a0d030d"
git-subrepo:
  version:  "0.4.5"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "aa416e4"

* one more

* fix progress.py
This commit is contained in:
Ethan Roseman 2022-12-17 12:08:52 -05:00 committed by GitHub
parent c081feb766
commit 1452474409
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
54 changed files with 880 additions and 721 deletions

View File

@ -26,7 +26,6 @@
#define cos_deg dead_cos_deg
#define sin_cos_deg dead_sin_cos_deg
#define gPlayerStatus dead_gPlayerStatus
#define gPlayerActionState dead_gPlayerActionState
#define is_point_within_region dead_is_point_within_region
#define npc_raycast_down_sides dead_npc_raycast_down_sides
#define basic_ai_check_player_dist dead_basic_ai_check_player_dist

View File

@ -42,7 +42,7 @@ def get_func_info():
vrams = {}
for line in nm_lines:
if " F " in line:
if " F " in line and "*ABS*" not in line:
components = line.split()
size = int(components[4], 16)
name = components[5]

View File

@ -3,7 +3,7 @@
#include "world/actions.h"
#include "sprite.h"
// TODO linker stuff
// TODO shiftability fix
#define E20110_VRAM_DEF (void*)0x802B7000
#define E20EB0_VRAM_DEF (void*)0x802B7000
#define E21870_VRAM_DEF (void*)0x802B7000

View File

@ -270,7 +270,7 @@ void phys_update_action_state(void) {
if (dmaStart != NULL && dmaStart != D_8010C924) {
D_8010C924 = dmaStart;
dma_copy(dmaStart, PlayerActionsTable[playerStatus->actionState].dmaEnd, (void* )0x802B6000); // TODO fix
dma_copy(dmaStart, PlayerActionsTable[playerStatus->actionState].dmaEnd, (void* )0x802B6000); // TODO shiftability fix
}
}
PlayerActionsTable[playerStatus->actionState].update();
@ -295,7 +295,7 @@ void phys_peach_update(void) {
D_8010C924 = action->dmaStart;
// TODO: This needs to be a defined linker define for full shiftability
dma_copy(D_8010C924, PlayerActionsTable[playerStatus->actionState].dmaEnd, (void* )0x802B6000);
dma_copy(D_8010C924, PlayerActionsTable[playerStatus->actionState].dmaEnd, (void* )0x802B6000); // TODO shiftability fix
}
if (PlayerActionsTable[playerStatus->actionState].flag) {

View File

@ -10,10 +10,10 @@
#ifdef SHIFT
#define AREA_SPECIFIC_ENTITY_VRAM entity_default_VRAM
#else
#define MODEL_TEXTURE_BASE_ADDRESS 0x8028E000 // TODO shift
#define BATTLE_ENTITY_HEAP_BASE 0x80267FF0 // TODO shift
#define MODEL_TEXTURE_BASE_ADDRESS 0x8028E000 // TODO shiftability fix
#define BATTLE_ENTITY_HEAP_BASE 0x80267FF0 // TODO shiftability fix
#define AREA_SPECIFIC_ENTITY_VRAM 0x802BAE00
#define BATTLE_ENTITY_HEAP_BOTTOM 0x80250000 // TODO shift
#define BATTLE_ENTITY_HEAP_BOTTOM 0x80250000 // TODO shiftability fix
#endif
typedef struct Fog {
@ -2864,7 +2864,7 @@ GameMode* set_game_mode_slot(s32 i, GameMode* mode) {
ASSERT(i < ARRAY_COUNT(gMainGameState));
gameMode->flags = 1 | 2;
gameMode->flags = 2 | 1;
gameMode->init = mode->init;
gameMode->step = mode->step;
gameMode->render = mode->render;

View File

@ -35,6 +35,7 @@ enum {
VINE_2 = 2,
};
// TODO shiftability fix
enum {
VINE_1_BASE = 0x80231000,
VINE_2_BASE = 0x8022E000,

View File

@ -278,6 +278,7 @@ enum {
VINE_4 = 4,
};
// TODO shiftability fix
enum {
VINE_0_BASE = 0x80234000,
VINE_1_BASE = 0x80231000,

View File

@ -24,6 +24,7 @@ u8 gCrashScreencharToGlyph[128] = {
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
};
// TODO extract?
u32 gCrashScreenFont[] = {
0x70871C30, 0x8988A250, 0x88808290, 0x88831C90, 0x888402F8, 0x88882210, 0x71CF9C10, 0xF9CF9C70, 0x8228A288,
0xF200A288, 0x0BC11C78, 0x0A222208, 0x8A222288, 0x71C21C70, 0x23C738F8, 0x5228A480, 0x8A282280, 0x8BC822F0,

View File

@ -105,7 +105,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x4B */ FX_ENTRY(balloon, effect_gfx_balloon),
/* 0x4C */ FX_ENTRY(floating_rock, effect_gfx_floating_rock),
/* 0x4D */ FX_ENTRY(chomp_drop, effect_gfx_chomp_drop),
/* 0x4E */ FX_ENTRY(quizmo_stage, _398BC0),
/* 0x4E */ FX_ENTRY(quizmo_stage, effect_gfx_quizmo_stage),
/* 0x4F */ FX_ENTRY(radiating_energy_orb, effect_gfx_radiating_energy_orb),
/* 0x50 */ FX_ENTRY(quizmo_answer, effect_gfx_quizmo_answer),
/* 0x51 */ FX_ENTRY(motion_blur_flame, _3A33D0),
@ -154,7 +154,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x7C */ FX_ENTRY(lil_oink, effect_gfx_lil_oink),
/* 0x7D */ FX_ENTRY(something_rotating, effect_gfx_spirit_card),
/* 0x7E */ FX_ENTRY(breaking_junk, effect_gfx_breaking_junk),
/* 0x7F */ FX_ENTRY(partner_buff, _404F40),
/* 0x7F */ FX_ENTRY(partner_buff, effect_gfx_partner_buff),
/* 0x80 */ FX_ENTRY(quizmo_assistant, effect_gfx_quizmo_assistant),
/* 0x81 */ FX_ENTRY(ice_pillar, effect_gfx_ice_pillar),
/* 0x82 */ FX_ENTRY(sun, effect_gfx_sun),

View File

@ -7,9 +7,8 @@ extern Gfx D_09000DE0_381180[];
extern Gfx D_09000EB8_381258[];
extern Gfx D_09000ED8_381278[];
extern Gfx D_09000EF8_381298[];
extern s8 D_E007EC2F[];
s32 D_E007EC30[] = { 0x323C4650, 0x5A646964 };
s8 D_E007EC30[] = { 50, 60, 70, 80, 90, 100, 105, 100 };
void fire_flower_appendGfx(void* effect);
void fire_flower_init(EffectInstance* effect);
@ -105,11 +104,11 @@ void fire_flower_update(EffectInstance* effect) {
part->unk_04++;
break;
case 1:
if (unk_40X >= 8) {
if (unk_40X >= ARRAY_COUNT(D_E007EC30)) {
part->unk_40.x = 0;
part->unk_04++;
} else {
part->unk_30 = D_E007EC2F[unk_40X] * 0.01;
part->unk_30 = D_E007EC30[unk_40X - 1] * 0.01;
part->unk_34 = 0;
part->unk_38 = 0;
}

View File

@ -0,0 +1,32 @@
#include "common.h"
#include "effects/gfx/world/cloud.png.inc.c"
#include "effects/gfx/world/cloud.pal.inc.c"
char D_09000220_405160[0x1E0] = { 0x0 };
#include "effects/gfx/world/waterblock.png.inc.c"
#include "effects/gfx/world/waterblock.pal.inc.c"
char D_09000620_405560[0x1E0] = { 0x0 };
#include "effects/gfx/world/yellow_carpet.png.inc.c"
#include "effects/gfx/world/yellow_carpet.pal.inc.c"
char D_09000A20_405960[0x1E0] = { 0x0 };
#include "effects/gfx/world/numbers.png.inc.c"
#include "effects/gfx/world/number1.png.inc.c"
#include "effects/gfx/world/number2.png.inc.c"
#include "effects/gfx/world/number3.png.inc.c"
#include "effects/gfx/world/number4.png.inc.c"
#include "effects/gfx/world/numbers.pal.inc.c"
char D_09001620_406560[0x1E0] = { 0x0 };
#include "effects/gfx/D_09001800_406740.gfx.inc.c"
#include "effects/gfx/D_090019A0_4068E0.gfx.inc.c"
#include "effects/gfx/D_09001A18_406958.gfx.inc.c"
#include "effects/gfx/D_09001A90_4069D0.gfx.inc.c"
#include "effects/gfx/D_09001B08_406A48.gfx.inc.c"
#include "effects/gfx/D_09001B80_406AC0.gfx.inc.c"

View File

@ -0,0 +1,102 @@
#include "PR/gbi.h"
Lights1 D_09000000_398BC0 = gdSPDefLights1(255, 255, 255, 255, 255, 255, 255, 65, 109);
#include "effects/gfx/D_09000018_398BD8.png.inc.c"
#include "effects/gfx/D_09000218_398DD8.gfx.inc.c"
#include "effects/gfx/D_09000288_398E48.png.inc.c"
#include "effects/gfx/D_09001288_399E48.gfx.inc.c"
#include "effects/gfx/D_090012F8_399EB8.png.inc.c"
#include "effects/gfx/D_090012F8_399EB8.pal.inc.c"
#include "effects/gfx/D_09001518_39A0D8.gfx.inc.c"
#include "effects/gfx/D_090015B8_39A178.png.inc.c"
#include "effects/gfx/D_090017B8_39A378.gfx.inc.c"
#include "effects/gfx/D_09001828_39A3E8.png.inc.c"
#include "effects/gfx/D_09001828_39A3E8.pal.inc.c"
#include "effects/gfx/D_09001C48_39A808.gfx.inc.c"
#include "effects/gfx/D_09001CE8_39A8A8.png.inc.c"
#include "effects/gfx/D_09002CE8_39B8A8.gfx.inc.c"
#include "effects/gfx/D_09002D58_39B918.png.inc.c"
#include "effects/gfx/D_09002D58_39B918.pal.inc.c"
#include "effects/gfx/D_09003578_39C138.gfx.inc.c"
#include "effects/gfx/D_09003618_39C1D8.png.inc.c"
#include "effects/gfx/D_09003E18_39C9D8.gfx.inc.c"
#include "effects/gfx/D_09003E88_39CA48.png.inc.c"
#include "effects/gfx/D_09003E88_39CA48.pal.inc.c"
#include "effects/gfx/D_090040A8_39CC68.gfx.inc.c"
// what's this?
char D_09004148_39CD08[] = {
0x0, 0x0, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFF, 0x83, 0x0, 0x0, 0x0, 0x41, 0x0, 0x1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x7D, 0x0, 0x0, 0x0, 0x41, 0x0, 0x1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x7D, 0x0, 0x0, 0xFF, 0xAB, 0x0, 0x1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x0,
0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xCE, 0x0, 0x0, 0x0, 0xA, 0x0, 0x1,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
};
#include "effects/gfx/D_09004248_39CE08.png.inc.c"
#include "effects/gfx/D_09004248_39CE08.pal.inc.c"
#include "effects/gfx/D_09004A68_39D628.gfx.inc.c"
#include "effects/gfx/D_09004B08_39D6C8.png.inc.c"
#include "effects/gfx/D_09005308_39DEC8.gfx.inc.c"
#include "effects/gfx/D_09005378_39DF38.png.inc.c"
#include "effects/gfx/D_09006378_39EF38.gfx.inc.c"
#include "effects/gfx/D_090063E8_39EFA8.vtx.inc.c"
#include "effects/gfx/D_09006428_39EFE8.vtx.inc.c"
#include "effects/gfx/D_09006468_39F028.vtx.inc.c"
#include "effects/gfx/D_090064A8_39F068.vtx.inc.c"
#include "effects/gfx/D_090064E8_39F0A8.vtx.inc.c"
#include "effects/gfx/D_09006568_39F128.vtx.inc.c"
#include "effects/gfx/D_090065E8_39F1A8.vtx.inc.c"
#include "effects/gfx/D_09006628_39F1E8.vtx.inc.c"
#include "effects/gfx/D_090067E8_39F3A8.vtx.inc.c"
#include "effects/gfx/D_09006828_39F3E8.vtx.inc.c"
#include "effects/gfx/D_09006868_39F428.vtx.inc.c"
#include "effects/gfx/D_090068A8_39F468.vtx.inc.c"
#include "effects/gfx/D_090068E8_39F4A8.vtx.inc.c"
#include "effects/gfx/D_09006928_39F4E8.vtx.inc.c"
#include "effects/gfx/D_09006968_39F528.vtx.inc.c"
#include "effects/gfx/D_090069A8_39F568.vtx.inc.c"
#include "effects/gfx/D_090069E8_39F5A8.gfx.inc.c"
#include "effects/gfx/D_09006A48_39F608.gfx.inc.c"
#include "effects/gfx/D_09006AA8_39F668.gfx.inc.c"
#include "effects/gfx/D_09006B08_39F6C8.gfx.inc.c"
#include "effects/gfx/D_09006B68_39F728.gfx.inc.c"
#include "effects/gfx/D_09006BA8_39F768.gfx.inc.c"
#include "effects/gfx/D_09006C08_39F7C8.gfx.inc.c"
#include "effects/gfx/D_09006C68_39F828.gfx.inc.c"
#include "effects/gfx/D_09006C98_39F858.gfx.inc.c"
#include "effects/gfx/D_09006CF0_39F8B0.gfx.inc.c"
#include "effects/gfx/D_09006D48_39F908.gfx.inc.c"
#include "effects/gfx/D_09006D78_39F938.gfx.inc.c"
#include "effects/gfx/D_09006DA0_39F960.gfx.inc.c"
#include "effects/gfx/D_09006E28_39F9E8.gfx.inc.c"
#include "effects/gfx/D_09006E88_39FA48.gfx.inc.c"
#include "effects/gfx/D_09006EB8_39FA78.gfx.inc.c"
#include "effects/gfx/D_09006F20_39FAE0.gfx.inc.c"
#include "effects/gfx/D_09006F48_39FB08.gfx.inc.c"
#include "effects/gfx/D_09006FB0_39FB70.gfx.inc.c"
#include "effects/gfx/D_09006FD8_39FB98.gfx.inc.c"
#include "effects/gfx/D_09007030_39FBF0.gfx.inc.c"
#include "effects/gfx/D_09007090_39FC50.gfx.inc.c"
#include "effects/gfx/D_090070E8_39FCA8.gfx.inc.c"
#include "effects/gfx/D_09007148_39FD08.gfx.inc.c"
#include "effects/gfx/D_09007188_39FD48.gfx.inc.c"
#include "effects/gfx/D_090071D0_39FD90.gfx.inc.c"
#include "effects/gfx/D_09007200_39FDC0.gfx.inc.c"
#include "effects/gfx/D_09007230_39FDF0.gfx.inc.c"
#include "effects/gfx/D_09007298_39FE58.vtx.inc.c"
#include "effects/gfx/D_090072D8_39FE98.gfx.inc.c"

View File

@ -66,25 +66,7 @@ Lights1 D_09003F80_3FE430 = gdSPDefLights1(200, 200, 200, 255, 255, 255, 231, 93
#include "effects/gfx/D_09004178_3FE628.gfx.inc.c"
#include "effects/gfx/D_090041F0_3FE6A0.gfx.inc.c"
#include "effects/gfx/D_09004268_3FE718.gfx.inc.c"
//#include "effects/gfx/D_090042E0_3FE790.gfx.inc.c"
Gfx D_090042E0_3FE790[] = {
gsDPPipeSync(),
gsSPTexture(0xFFFF, 0xFFFF, 0x0, G_TX_RENDERTILE, G_ON),
gsDPSetCycleType(G_CYC_2CYCLE),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureFilter(G_TF_BILERP),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetDepthSource(G_ZS_PIXEL),
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2),
gsSPSetLights1(D_09003F80_3FE430),
gsSPClearGeometryMode(G_CULL_BOTH),
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
#include "effects/gfx/D_090042E0_3FE790.gfx.inc.c"
#include "effects/gfx/D_09004360_3FE810.gfx.inc.c"
#include "effects/gfx/D_090043D8_3FE888.vtx.inc.c"
#include "effects/gfx/D_09004418_3FE8C8.gfx.inc.c"

View File

@ -18,15 +18,18 @@ enum {
BUFF_STATE_FADE_IN = 40
};
extern Gfx D_09001800[];
extern Gfx D_090019A0[];
extern Gfx D_09001A18[];
extern Gfx D_09001A90[];
extern Gfx D_09001B08[];
extern Gfx D_09001B80[];
extern Gfx D_09001800_406740[];
extern Gfx D_090019A0_4068E0[];
extern Gfx D_09001A18_406958[];
extern Gfx D_09001A90_4069D0[];
extern Gfx D_09001B08_406A48[];
extern Gfx D_09001B80_406AC0[];
Gfx* D_E011AC20[] = { D_09001800 };
Gfx* D_E011AC24[] = { D_090019A0, D_09001A18, D_09001A90, D_09001B08, D_09001B80, NULL, NULL, NULL, NULL, NULL };
Gfx* D_E011AC20[] = { D_09001800_406740 };
Gfx* D_E011AC24[] = {
D_090019A0_4068E0, D_09001A18_406958, D_09001A90_4069D0, D_09001B08_406A48, D_09001B80_406AC0,
NULL, NULL, NULL, NULL, NULL
};
s8 D_E011AC4C[] = { 15, 15, 15, 15, 15, 35, 75, 100, 100, 100, 100, 0 };
s8 D_E011AC58[] = { 100, 100, 100, 100, 100, 90, 10, 10, 10, 10, 10, 0 };
@ -186,7 +189,7 @@ void func_E011A3BC(s16 alpha) {
gDPSetCombineMode(gMasterGfxPos++, G_CC_DECALRGBA, G_CC_DECALRGBA);
} else {
gDPSetRenderMode(gMasterGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2);
gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, TEXEL0, PRIMITIVE, 0, TEXEL0, 0, 0, 0, 0, TEXEL0, PRIMITIVE, 0,
gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, TEXEL0, PRIMITIVE, 0, TEXEL0, 0, 0, 0, 0, TEXEL0, PRIMITIVE, 0,
TEXEL0, 0);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, alpha);
}
@ -217,13 +220,13 @@ void func_E011A700(EffectInstance* effect) {
Gfx* dlist;
f32 x, y;
s32 i;
if (data->unk_02 != 0) {
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, D_E011AC20[0]);
numShown = 0;
for (i = 0; i < ARRAY_COUNT(data->unk_0C); i++) {
BuffData* buffData = &data->unk_0C[i];
@ -239,7 +242,7 @@ void func_E011A700(EffectInstance* effect) {
gSPTexture(gMasterGfxPos++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
gDPSetTextureLUT(gMasterGfxPos++, G_TT_NONE);
numShown = 0;
for (i = 0; i < ARRAY_COUNT(data->unk_0C); i++) {
BuffData* buffData = &data->unk_0C[i];
@ -275,7 +278,7 @@ void func_E011A700(EffectInstance* effect) {
func_E011A48C(x, y, 0, 1024.0f / scale);
}
}
dlist = D_E011AC24[turnsDisplay];
if (dlist != NULL) {
gSPDisplayList(gMasterGfxPos++, dlist);
@ -291,9 +294,9 @@ void func_E011A700(EffectInstance* effect) {
}
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE,
camera->viewportStartX,
camera->viewportStartY,
camera->viewportStartX + camera->viewportW,
camera->viewportStartX,
camera->viewportStartY,
camera->viewportStartX + camera->viewportW,
camera->viewportStartY + camera->viewportH
);
gDPPipeSync(gMasterGfxPos++);

View File

@ -1,19 +1,19 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000218[];
extern Gfx D_09001518[];
extern Mtx D_09004148[];
extern Gfx D_09006D48[];
extern Gfx D_09006DA0[];
extern Gfx D_09006E28[];
extern Gfx D_09006F20[];
extern Gfx D_09006FB0[];
extern Gfx D_09006FD8[];
extern Gfx D_09007030[];
extern Gfx D_09007090[];
extern Gfx D_090070E8[];
extern Gfx D_09007230[];
extern Gfx D_09000218_398DD8[];
extern Gfx D_09001518_39A0D8[];
extern Mtx D_09004148_39CD08[];
extern Gfx D_09006D48_39F908[];
extern Gfx D_09006DA0_39F960[];
extern Gfx D_09006E28_39F9E8[];
extern Gfx D_09006F20_39FAE0[];
extern Gfx D_09006FB0_39FB70[];
extern Gfx D_09006FD8_39FB98[];
extern Gfx D_09007030_39FBF0[];
extern Gfx D_09007090_39FC50[];
extern Gfx D_090070E8_39FCA8[];
extern Gfx D_09007230_39FDF0[];
void quizmo_stage_init(EffectInstance* effect);
void quizmo_stage_update(EffectInstance* effect);
@ -122,51 +122,51 @@ void quizmo_stage_appendGfx(void* effect) {
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, microphoneRaiseAmt, microphoneRaiseAmt, microphoneRaiseAmt, 255);
gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED);
gSPDisplayList(gMasterGfxPos++, D_09007230);
gSPDisplayList(gMasterGfxPos++, D_09007230_39FDF0);
if (data->unk_3C != 255) {
gSPMatrix(gMasterGfxPos++, &D_09004148[2], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, &D_09004148_39CD08[2], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
shim_guRotateF(sp18, (data->rearWallRaiseAmt * 180) / 255 - 180, 1.0f, 0.0f, 0.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09006E28);
gSPDisplayList(gMasterGfxPos++, D_09001518);
gSPDisplayList(gMasterGfxPos++, D_09006E28_39F9E8);
gSPDisplayList(gMasterGfxPos++, D_09001518_39A0D8);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, data->lightScrollAmt, 0, data->lightScrollAmt + 252, 60);
gSPDisplayList(gMasterGfxPos++, D_09006DA0);
gSPDisplayList(gMasterGfxPos++, D_09006DA0_39F960);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, &D_09004148[0], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, &D_09004148_39CD08[0], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
shim_guRotateF(sp18, 90 - (data->leftWallRaiseAmt * 90) / 255, 0.0f, 0.0f, 1.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09006FB0);
gSPDisplayList(gMasterGfxPos++, D_09006FB0_39FB70);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, &D_09004148[1], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, &D_09004148_39CD08[1], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
shim_guRotateF(sp18, (data->rightWallRaiseAmt * 90) / 255 - 90, 0.0f, 0.0f, 1.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09006F20);
gSPDisplayList(gMasterGfxPos++, D_09006F20_39FAE0);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_090070E8);
gSPDisplayList(gMasterGfxPos++, D_09007030);
gSPDisplayList(gMasterGfxPos++, D_09001518);
gSPDisplayList(gMasterGfxPos++, D_090070E8_39FCA8);
gSPDisplayList(gMasterGfxPos++, D_09007030_39FBF0);
gSPDisplayList(gMasterGfxPos++, D_09001518_39A0D8);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, data->lightScrollAmt, 0, data->lightScrollAmt + 252, 60);
gSPDisplayList(gMasterGfxPos++, D_09006FD8);
gSPMatrix(gMasterGfxPos++, &D_09004148[3], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09006FD8_39FB98);
gSPMatrix(gMasterGfxPos++, &D_09004148_39CD08[3], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
shim_guRotateF(sp18, 90 - (data->podiumRaiseAmt * 90) / 255, 1.0f, 0.0f, 0.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09006D48);
gSPDisplayList(gMasterGfxPos++, D_09006D48_39F908);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09000218);
gSPDisplayList(gMasterGfxPos++, D_09007090);
gSPDisplayList(gMasterGfxPos++, D_09000218_398DD8);
gSPDisplayList(gMasterGfxPos++, D_09007090_39FC50);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);

View File

@ -6,18 +6,19 @@ void stars_shimmer_update(EffectInstance* effect);
void stars_shimmer_render(EffectInstance* effect);
void stars_shimmer_appendGfx(void* effect);
extern Gfx D_09000F20[];
extern Gfx D_09001210[];
extern Gfx D_09001228[];
extern Gfx D_09001240[];
extern Gfx D_09001258[];
extern Gfx D_09001270[];
extern Gfx D_090011C8[];
extern Gfx D_090011E0[];
extern Gfx D_090011F8[];
extern Gfx D_09000F20_338EE0[];
extern Gfx D_090011C8_339188[];
extern Gfx D_090011E0_3391A0[];
extern Gfx D_090011F8_3391B8[];
extern Gfx D_09001210_3391D0[];
extern Gfx D_09001228_3391E8[];
extern Gfx D_09001240_339200[];
extern Gfx D_09001258_339218[];
extern Gfx D_09001270_339230[];
Gfx* D_E0044DB0[] = {
D_09001210, D_09001228, D_09001240, D_09001258, D_09001270, D_090011C8, D_090011E0, D_090011F8
D_09001210_3391D0, D_09001228_3391E8, D_09001240_339200, D_09001258_339218,
D_09001270_339230, D_090011C8_339188, D_090011E0_3391A0, D_090011F8_3391B8
};
u8 D_E0044DD0[] = {
@ -313,7 +314,7 @@ void stars_shimmer_appendGfx(void* effect) {
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, D_09000F20);
gSPDisplayList(gMasterGfxPos++, D_09000F20_338EE0);
temp_s4 = (data->lifeTime - 1) * 3;
shim_guTranslateF(sp18, data->pos.x, data->pos.y, data->pos.z);

View File

@ -25,6 +25,8 @@ s32 D_80077420[] = {
0x000000D4, 0x000000D5, 0x000000D6, 0x000000D7, 0x000000D8, 0x000000D9, 0x000000DA,
};
// These StateFunc[] should really be GameMode but they seem to sometimes only take up 0x14 bytes of data rather than 0x18 like they should if they were really a struct.
StateFunc gameModeBlueprints[] = { NULL, state_init_startup, state_step_startup, NULL, state_drawUI_startup };
StateFunc D_800776FC[] = { NULL, state_init_logos, state_step_logos, NULL, state_drawUI_logos };
@ -67,9 +69,26 @@ StateFunc D_80077828[] = { NULL, state_init_intro, state_step_intro, NULL, state
StateFunc D_8007783C[] = { NULL, state_init_demo, state_step_demo, NULL, state_drawUI_demo };
StateFunc* gameModeMap[] = {
gameModeBlueprints, D_800776FC, D_80077710, D_80077724, D_80077774, D_80077738, D_8007774C, D_80077760, D_80077788,
D_8007779C, D_800777B0, D_800777C4, D_800777D8, D_800777EC, D_80077800, D_80077814, D_80077828, D_8007783C, NULL,
GameMode* gameModeMap[] = {
(GameMode*) gameModeBlueprints,
(GameMode*) D_800776FC,
(GameMode*) D_80077710,
(GameMode*) D_80077724,
(GameMode*) D_80077774,
(GameMode*) D_80077738,
(GameMode*) D_8007774C,
(GameMode*) D_80077760,
(GameMode*) D_80077788,
(GameMode*) D_8007779C,
(GameMode*) D_800777B0,
(GameMode*) D_800777C4,
(GameMode*) D_800777D8,
(GameMode*) D_800777EC,
(GameMode*) D_80077800,
(GameMode*) D_80077814,
(GameMode*) D_80077828,
(GameMode*) D_8007783C,
NULL,
NULL,
};

View File

@ -8,18 +8,30 @@
s8 gGameStepDelayAmount = 1;
s8 gGameStepDelayCount = 5;
GameStatus gGameStatus = {0};
GameStatus gGameStatus = {
.currentButtons = {0},
.pressedButtons = {0},
.heldButtons = {0},
.prevButtons = {0},
.stickX = {0},
.stickY = {0},
.unk_48 = {0},
.unk_50 = {0},
};
GameStatus* gGameStatusPtr = &gGameStatus;
s16 D_800741A0 = 0;
s16 D_800741A2 = 0;
s32 D_800741A4 = 0;
s32 D_800741A8[] = {
0x00010000, 0x00000000, 0x00000001, 0x00000000,
0x00000000, 0x00010000, 0x00000000, 0x00000001,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000,
Mtx D_800741A8 = {
.m = {
{ 0x00010000, 0x00000000, 0x00000001, 0x00000000 },
{ 0x00000000, 0x00010000, 0x00000000, 0x00000001 },
{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
{ 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
}
};
s32 D_800741E8[2] = {0, 0}; // padding?
u16 gMatrixListPos = 0;
u16 D_800741F2 = 0;
s32 gCurrentDisplayContextIndex = 0;
@ -180,7 +192,7 @@ void gfx_draw_frame(void) {
return;
}
gSPMatrix(gMasterGfxPos++, D_800741A8, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, &D_800741A8, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
spr_render_init();

View File

@ -9,6 +9,8 @@ extern s32 D_800A08C0;
static void nuSiMgrThread(void* arg);
extern u64 siMgrStack[NU_SI_STACK_SIZE/sizeof(u64)];
u8 nuSiMgrInit(void) {
u8 pattern;
OSContStatus status[NU_CONT_MAXCONTROLLERS];
@ -24,7 +26,7 @@ u8 nuSiMgrInit(void) {
}
}
osCreateThread(&siMgrThread, NU_SI_THREAD_ID, nuSiMgrThread, NULL, &D_800A08C0, NU_SI_THREAD_PRI);
osCreateThread(&siMgrThread, NU_SI_THREAD_ID, nuSiMgrThread, NULL, (siMgrStack + NU_SI_STACK_SIZE/sizeof(u64)), NU_SI_THREAD_PRI);
osStartThread(&siMgrThread);
return pattern;
}

View File

@ -37,6 +37,8 @@ enum {
BSS TransformationData ParasolTransformation;
TransformationData* D_802B6D80_E2B430 = &ParasolTransformation;
void parasol_update_spin(void);
Npc* parasol_get_npc(void) {

View File

@ -2,7 +2,9 @@
#include "../partners.h"
#include "npc.h"
extern struct TweesterPhysics* PlayerTweesterPhysics;
BSS TweesterPhysics D_802B6370;
TweesterPhysics* PlayerTweesterPhysics = &D_802B6370;
enum {
SUBSTATE_LAUNCH = 0,

View File

@ -1,12 +1,14 @@
#include "dgb_01.h"
extern char world_area_dgb_dgb_01_img0_png[];
Gfx D_80247F70_C057F0[] = {
gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPLoadTextureBlock(0x80246F70, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 5, 6, G_TX_NOLOD, G_TX_NOLOD),
gsDPLoadTextureBlock(world_area_dgb_dgb_01_img0_png, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 5, 6, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(),

View File

@ -1,12 +1,14 @@
#include "dgb_01.h"
extern char world_area_dgb_dgb_01_img1_png[];
Gfx D_80248FF0_C06870[] = {
gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPLoadTextureBlock(0x80247FF0, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPLoadTextureBlock(world_area_dgb_dgb_01_img1_png, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(),

View File

@ -1,12 +1,14 @@
#include "dgb_01.h"
extern char world_area_dgb_dgb_01_img2_png[];
Gfx D_80249870_C070F0[] = {
gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPLoadTextureBlock(0x80249070, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPLoadTextureBlock(world_area_dgb_dgb_01_img2_png, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(),

View File

@ -1,12 +1,14 @@
#include "dgb_01.h"
extern char world_area_dgb_dgb_01_img3_png[];
Gfx D_80249CF0_C07570[] = {
gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPLoadTextureBlock(0x802498F0, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 32, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 4, 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPLoadTextureBlock(world_area_dgb_dgb_01_img3_png, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 32, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 4, 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(),

View File

@ -1,12 +1,14 @@
#include "dgb_01.h"
extern char world_area_dgb_dgb_01_img4_png[];
Gfx D_8024A170_C079F0[] = {
gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPLoadTextureBlock(0x80249D70, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 32, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 4, 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPLoadTextureBlock(world_area_dgb_dgb_01_img4_png, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 32, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 4, 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(),

View File

@ -1,12 +1,14 @@
#include "dgb_01.h"
extern char world_area_dgb_dgb_01_img5_png[];
Gfx D_8024A5F0_C07E70[] = {
gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPLoadTextureBlock(0x8024A1F0, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 32, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 4, 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPLoadTextureBlock(world_area_dgb_dgb_01_img5_png, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 32, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 4, 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(),

View File

@ -1,12 +1,14 @@
#include "dgb_01.h"
extern char world_area_dgb_dgb_01_img6_png[];
Gfx D_8024AE70_C086F0[] = {
gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPLoadTextureBlock(0x8024A670, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPLoadTextureBlock(world_area_dgb_dgb_01_img6_png, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(),

View File

@ -1,12 +1,14 @@
#include "dgb_01.h"
extern char world_area_dgb_dgb_01_img7_png[];
Gfx D_8024B6F0_C08F70[] = {
gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPLoadTextureBlock(0x8024AEF0, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPLoadTextureBlock(world_area_dgb_dgb_01_img7_png, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(),

View File

@ -191,7 +191,7 @@ EvtScript N(80241FBC) = {
};
s32 N(unk_missing_8024202C)[] = {
0x00000000, 0x00240022, 0x00000000, 0x00000000, (s32) N(80241FBC), 0x80077F70, 0x00000000, 0x8007809C,
0x00000000, 0x00240022, 0x00000000, 0x00000000, (s32) N(80241FBC), (s32) EnemyNpcHit, 0x00000000, (s32) EnemyNpcDefeat,
0x00000000, 0x00000000, 0x000D0000,
};

View File

@ -95,7 +95,6 @@ extern s32 D_8024ACB8_A34EF8;
extern f32 D_8024AEC4_A35104;
extern f32 D_8024AEC8_A35108;
// BSS?
BSS f32 D_8024F2C8;
BSS f32 D_8024F2CC;
BSS f32 D_8024F2D0; // unused?
@ -109,9 +108,25 @@ BSS f32 D_8024F2EC;
BSS f32 D_8024F2F0;
BSS f32 D_8024F2F4;
BSS f32 D_8024F2F8;
BSS char D_8024F2FC[0x78]; // unused?
BSS s32 D_8024F2FC;
BSS s32 D_8024F300;
BSS s32 D_8024F304;
BSS s32 D_8024F308;
BSS s32 D_8024F30C;
BSS char B_8024F310[0x8];
BSS char D_8024F318[0x20];
BSS char D_8024F338[0x20];
BSS char D_8024F358[0x1C];
BSS f32 D_8024F374;
BSS f32 D_8024F378;
BSS char D_8024F37C[0x4];
BSS s32 D_8024F380;
BSS char D_8024F384[0x74];
BSS char D_8024F3F8[0x50];
BSS s32 D_8024F448[10];
BSS s32 D_8024F470_hos_bss[10];
BSS s32 D_8024F498[4 * 5];
BSS s32 D_8024F4E8[34];
ApiStatus func_80240880_A2AAC0(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;

View File

@ -13,42 +13,42 @@ extern u8 D_802D9D73;
#define NAMESPACE hos_05
BSS s32 D_8024F570[4];
BSS u8 N(oldPrimR), N(oldPrimG), N(oldPrimB);
BSS u8 N(oldEnvR), N(oldEnvG), N(oldEnvB);
BSS s32 N(newPrimR), N(newPrimG), N(newPrimB);
BSS s32 N(newEnvR), N(newEnvG), N(newEnvB);
BSS s32 N(duration), N(time);
ApiStatus func_802452C4_A2F504(Evt* script, s32 isInitialCall) {
Bytecode* args;
static char N(bss_padding)[0x200]; // TODO remove / relocate this
static u8 oldPrimR, oldPrimG, oldPrimB;
static u8 oldEnvR, oldEnvG, oldEnvB;
static s32 newPrimR, newPrimG, newPrimB;
static s32 newEnvR, newEnvG, newEnvB;
static s32 duration, time;
args = script->ptrReadPos;
if (isInitialCall) {
get_model_env_color_parameters(&oldPrimR, &oldPrimG, &oldPrimB, &oldEnvR, &oldEnvG, &oldEnvB);
newPrimR = evt_get_variable(script, *args++);
newPrimG = evt_get_variable(script, *args++);
newPrimB = evt_get_variable(script, *args++);
newEnvR = evt_get_variable(script, *args++);
newEnvG = evt_get_variable(script, *args++);
newEnvB = evt_get_variable(script, *args++);
duration = evt_get_variable(script, *args++);
time = 0;
get_model_env_color_parameters(&N(oldPrimR), &N(oldPrimG), &N(oldPrimB), &N(oldEnvR), &N(oldEnvG), &N(oldEnvB));
N(newPrimR) = evt_get_variable(script, *args++);
N(newPrimG) = evt_get_variable(script, *args++);
N(newPrimB) = evt_get_variable(script, *args++);
N(newEnvR) = evt_get_variable(script, *args++);
N(newEnvG) = evt_get_variable(script, *args++);
N(newEnvB) = evt_get_variable(script, *args++);
N(duration) = evt_get_variable(script, *args++);
N(time) = 0;
}
if (duration > 0) {
time++;
if (N(duration) > 0) {
N(time)++;
set_model_env_color_parameters(
(oldPrimR + ((newPrimR - oldPrimR) * time) / duration),
(oldPrimG + ((newPrimG - oldPrimG) * time) / duration),
(oldPrimB + ((newPrimB - oldPrimB) * time) / duration),
(oldEnvR + ( (newEnvR - oldEnvR) * time) / duration),
(oldEnvG + ( (newEnvG - oldEnvG) * time) / duration),
(oldEnvB + ( (newEnvB - oldEnvB) * time) / duration));
if (time >= duration) {
(N(oldPrimR) + ((N(newPrimR) - N(oldPrimR)) * N(time)) / N(duration)),
(N(oldPrimG) + ((N(newPrimG) - N(oldPrimG)) * N(time)) / N(duration)),
(N(oldPrimB) + ((N(newPrimB) - N(oldPrimB)) * N(time)) / N(duration)),
(N(oldEnvR) + ( (N(newEnvR) - N(oldEnvR)) * N(time)) / N(duration)),
(N(oldEnvG) + ( (N(newEnvG) - N(oldEnvG)) * N(time)) / N(duration)),
(N(oldEnvB) + ( (N(newEnvB) - N(oldEnvB)) * N(time)) / N(duration)));
if (N(time) >= N(duration)) {
return ApiStatus_DONE2;
}
} else {
set_model_env_color_parameters(newPrimR, newPrimG, newPrimB, newEnvR, newEnvG, newEnvB);
set_model_env_color_parameters(N(newPrimR), N(newPrimG), N(newPrimB), N(newEnvR), N(newEnvG), N(newEnvB));
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;

View File

@ -1,51 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_802429E8_BDD198
.ascii "party_resa\0\0omo_03\0\0\0\0\0\0"
.section .text
glabel obk_09_LoadPartyImage
/* BDAB00 80240350 27BDFFD8 */ addiu $sp, $sp, -0x28
/* BDAB04 80240354 3C048024 */ lui $a0, %hi(D_802429E8_BDD198)
/* BDAB08 80240358 248429E8 */ addiu $a0, $a0, %lo(D_802429E8_BDD198)
/* BDAB0C 8024035C 27A50010 */ addiu $a1, $sp, 0x10
/* BDAB10 80240360 AFBF0020 */ sw $ra, 0x20($sp)
/* BDAB14 80240364 AFB1001C */ sw $s1, 0x1c($sp)
/* BDAB18 80240368 0C016B3A */ jal load_asset_by_name
/* BDAB1C 8024036C AFB00018 */ sw $s0, 0x18($sp)
/* BDAB20 80240370 0040802D */ daddu $s0, $v0, $zero
/* BDAB24 80240374 0200202D */ daddu $a0, $s0, $zero
/* BDAB28 80240378 3C118024 */ lui $s1, %hi(D_80242A00)
/* BDAB2C 8024037C 26312A00 */ addiu $s1, $s1, %lo(D_80242A00)
/* BDAB30 80240380 0C01BB7C */ jal decode_yay0
/* BDAB34 80240384 0220282D */ daddu $a1, $s1, $zero
/* BDAB38 80240388 0C00AB1E */ jal general_heap_free
/* BDAB3C 8024038C 0200202D */ daddu $a0, $s0, $zero
/* BDAB40 80240390 3C048024 */ lui $a0, %hi(D_80246990)
/* BDAB44 80240394 24846990 */ addiu $a0, $a0, %lo(D_80246990)
/* BDAB48 80240398 3C028024 */ lui $v0, %hi(D_80242C00)
/* BDAB4C 8024039C 24422C00 */ addiu $v0, $v0, %lo(D_80242C00)
/* BDAB50 802403A0 AC820000 */ sw $v0, ($a0)
/* BDAB54 802403A4 24020096 */ addiu $v0, $zero, 0x96
/* BDAB58 802403A8 A4820008 */ sh $v0, 8($a0)
/* BDAB5C 802403AC 24020069 */ addiu $v0, $zero, 0x69
/* BDAB60 802403B0 A482000A */ sh $v0, 0xa($a0)
/* BDAB64 802403B4 24020002 */ addiu $v0, $zero, 2
/* BDAB68 802403B8 AC82000C */ sw $v0, 0xc($a0)
/* BDAB6C 802403BC 24020001 */ addiu $v0, $zero, 1
/* BDAB70 802403C0 AC910004 */ sw $s1, 4($a0)
/* BDAB74 802403C4 0C0496CB */ jal set_message_images
/* BDAB78 802403C8 AC820010 */ sw $v0, 0x10($a0)
/* BDAB7C 802403CC 8FBF0020 */ lw $ra, 0x20($sp)
/* BDAB80 802403D0 8FB1001C */ lw $s1, 0x1c($sp)
/* BDAB84 802403D4 8FB00018 */ lw $s0, 0x18($sp)
/* BDAB88 802403D8 24020002 */ addiu $v0, $zero, 2
/* BDAB8C 802403DC 03E00008 */ jr $ra
/* BDAB90 802403E0 27BD0028 */ addiu $sp, $sp, 0x28
/* BDAB94 802403E4 00000000 */ nop
/* BDAB98 802403E8 00000000 */ nop
/* BDAB9C 802403EC 00000000 */ nop

View File

@ -2,24 +2,27 @@
#define PARTY_IMAGE "party_opuku"
// #include "world/common/todo/LoadPartyImage.inc.c"
API_CALLABLE(N(LoadPartyImage)) {
static PAL_BIN palette[256];
static IMG_BIN raster[0x3DA0]; // similar to LoadPartyImage include but with 0x10 bytes added for padding (look at D_8024A290 - I think this goes in between the two)
static MessageImageData image;
BSS PAL_BIN N(palette)[256];
BSS IMG_BIN N(raster)[0x3D90]; // similar to LoadPartyImage include but with D_8024A290 in the middle randomly
BSS Evt* D_8024A290;
BSS char D_8024A294[0xC]; // padding?
BSS MessageImageData N(image);
API_CALLABLE(N(LoadPartyImage)) {
u32 decompressedSize;
void* compressed = load_asset_by_name(PARTY_IMAGE, &decompressedSize);
decode_yay0(compressed, &palette);
decode_yay0(compressed, &N(palette));
general_heap_free(compressed);
image.raster = raster;
image.palette = palette;
image.width = 150;
image.height = 105;
image.format = G_IM_FMT_CI;
image.bitDepth = G_IM_SIZ_8b;
set_message_images(&image);
N(image).raster = N(raster);
N(image).palette = N(palette);
N(image).width = 150;
N(image).height = 105;
N(image).format = G_IM_FMT_CI;
N(image).bitDepth = G_IM_SIZ_8b;
set_message_images(&N(image));
return ApiStatus_DONE2;
}

View File

@ -2,6 +2,13 @@
#include "effects.h"
#include "model.h"
BSS u8 D_80257F20; // r
BSS u8 D_80257F21; // g
BSS u8 D_80257F22; // b
BSS u8 D_80257F23; // a
BSS u8 oldPrimR, oldPrimG, oldPrimB;
BSS u8 oldEnvR, oldEnvG, oldEnvB;
static char* N(exit_str_0) = "kmr_05";
static char* N(exit_str_1) = "kmr_00";
static char* N(exit_str_2) = "kmr_09";
@ -180,11 +187,6 @@ ApiStatus func_8024280C_8B287C(Evt* script, s32 isInitialCall) {
#include "world/common/todo/SyncStatusMenu.inc.c"
#ifdef NON_EQUIVALENT
extern u8 D_80257F20;
extern u8 D_80257F21;
extern u8 D_80257F22;
extern u8 D_80257F23;
// control flow + data migration
ApiStatus func_8024295C_8B29CC(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
@ -228,10 +230,6 @@ ApiStatus func_80242BA8_8B2C18(Evt* script, s32 isInitialCall) {
ApiStatus func_80242BC0_8B2C30(Evt* script, s32 isInitialCall) {
Bytecode* args;
static s32 padding;
static u8 oldPrimR, oldPrimG, oldPrimB;
static u8 oldEnvR, oldEnvG, oldEnvB;
s32 newEnvR, newEnvB, newEnvG;
s32 newPrimR, newPrimG, newPrimB;
s32 duration;

View File

@ -1,5 +1,9 @@
#include "kmr_02.h"
BSS char D_80258140[0x200];
BSS char D_80258340[0x3D90];
BSS char D_8025C0D0;
INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B3A10", kmr_02_LoadPartyImage);
// #define PARTY_IMAGE "party_kurio"

View File

@ -1,8 +1,9 @@
#include "kmr_07.h"
#include "animation_script.h"
#include "world/common/enemy/complete/GoombaBros_Stationary.inc.c"
extern Addr EntityModel_Spring_ReboundAnim;
extern AnimScript Entity_SimpleSpring_AnimLaunch;
API_CALLABLE(N(PlaySpringReboundAnimation)) {
Entity* entity = get_entity_by_index(evt_get_variable(NULL, MV_SpringEntityIndex));
@ -11,7 +12,7 @@ API_CALLABLE(N(PlaySpringReboundAnimation)) {
return ApiStatus_BLOCK;
}
play_model_animation(entity->virtualModelIndex, (s16*) EntityModel_Spring_ReboundAnim);
play_model_animation(entity->virtualModelIndex, Entity_SimpleSpring_AnimLaunch);
return ApiStatus_DONE2;
}

View File

@ -1,6 +1,17 @@
#include "kmr_20.h"
extern s32 D_8025B2A8;
BSS s32 D_80253060[6];
BSS char D_80253078[0x300];
BSS s32 D_80253378[3];
BSS s32 D_80253384[2];
BSS s32 D_8025338C;
BSS char D_80253390[0x3D88];
BSS char D_80257118[0x208];
BSS char D_80257320[0x3D88];
BSS char D_8025B0A8[0x200];
BSS s32 D_8025B2A8;
BSS s32 D_8025B2AC;
BSS s32 D_8025B2B0;
#include "world/common/entity/Pipe.inc.c"

View File

@ -1,10 +1,11 @@
#include "kmr_20.h"
#include "animation_script.h"
#include "world/common/todo/StashVars.inc.c"
#include "world/common/todo/GetItemName.inc.c"
extern Addr EntityModel_Spring_ReboundAnim;
extern AnimScript Entity_SimpleSpring_AnimLaunch;
ApiStatus func_80241738_8ED558(Evt* script, s32 isInitialCall) {
Entity* entity = get_entity_by_index(0);
@ -13,6 +14,6 @@ ApiStatus func_80241738_8ED558(Evt* script, s32 isInitialCall) {
return ApiStatus_BLOCK;
}
play_model_animation(entity->virtualModelIndex, (s16*)EntityModel_Spring_ReboundAnim);
play_model_animation(entity->virtualModelIndex, Entity_SimpleSpring_AnimLaunch);
return ApiStatus_DONE2;
}

View File

@ -8,9 +8,6 @@ extern EvtScript N(EVS_ToadHouse_SetDialogue);
extern EvtScript N(EVS_ToadHouse_ReturnFromRest);
extern EvtScript N(EVS_MerlonBargeOut);
extern PopupMenu D_80262C38;
extern s32 D_80262F68;
#include "world/common/npc/Toad_Wander.inc.c"
#include "world/common/npc/Toad_Patrol.inc.c"
#include "world/common/npc/Toad_Stationary.inc.c"
@ -1310,6 +1307,10 @@ StaticNpc N(NpcData_Ninji) = {
.tattle = MSG_NpcTattle_MAC_PowerHungryToadKid,
};
BSS PopupMenu D_80262C38;
BSS s32 D_80262F68;
BSS s32 D_80262F6C[13];
#include "npc/rowf_and_rhuff.inc.c"
#include "npc/post_office.inc.c"
#include "npc/flower_gate.inc.c"

View File

@ -15,4 +15,8 @@ ApiStatus func_80240678_AACEA8(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
BSS char osr_00_802437C0[0x3D88];
BSS char D_80247548[0x208];
BSS char D_80247750;
INCLUDE_ASM(s32, "world/area_osr/osr_00/AACBB0", func_802406E0_AACF10);

View File

@ -131,9 +131,9 @@ EvtScript N(D_80240C2C_9BE28C) = {
};
s32 N(missing_80240CE4_CE4)[] = {
0x002E0001, 0x001A0020, 0x80240820, 0x00000000, 0x80240844, 0x80240A48, 0x00000000, 0x80240B80,
0x00000000, 0x00000000, 0x000A0000, 0x002D0001, 0x000E001F, 0x80240C0C, 0x00000000, 0x80240C1C,
0x80077F70, 0x00000000, 0x80240C2C, 0x00000000, 0x00000000, 0x00050000,
0x002E0001, 0x001A0020, (s32) trd_09_EVS_NpcAuxAI_BillBlaster, 0x00000000, (s32) trd_09_D_80240844_9BDEA4, (s32) trd_09_EVS_NpcHit_BillBlaster, 0x00000000, (s32) trd_09_D_80240B80_9BE1E0,
0x00000000, 0x00000000, 0x000A0000, 0x002D0001, 0x000E001F, (s32) trd_09_EVS_NpcAuxAI_BulletBill, 0x00000000, (s32) trd_09_D_80240C1C_9BE27C,
(s32) EnemyNpcHit, 0x00000000, (s32) trd_09_D_80240C2C_9BE28C, 0x00000000, 0x00000000, 0x00050000,
};
EvtScript N(EVS_NpcAuxAI_KoopaBros_Red) = {

View File

@ -38,14 +38,14 @@
extern s16 MessagePlural;
extern s16 MessageSingular;
static s32 N(Quizmo_Worker);
static s32 N(pad_D_8024EFA4);
static s32 N(Quizmo_ScriptArray)[4];
static s32 N(Quizmo_AnswerResult);
BSS s32 N(Quizmo_Worker);
BSS s32 N(pad_D_8024EFA4);
BSS s32 N(Quizmo_ScriptArray)[4];
BSS s32 N(Quizmo_AnswerResult);
MAP_STATIC_PAD(1,quizmo_unk)
static EffectInstance* N(Quizmo_StageEffect);
static EffectInstance* N(Quizmo_AudienceEffect);
static EffectInstance* N(Quizmo_VannaTEffect);
BSS EffectInstance* N(Quizmo_StageEffect);
BSS EffectInstance* N(Quizmo_AudienceEffect);
BSS EffectInstance* N(Quizmo_VannaTEffect);
#include "world/common/complete/GiveReward.inc.c"

View File

@ -1,6 +1,7 @@
#include "common.h"
#include "animation_script.h"
extern Addr EntityModel_Spring_ReboundAnim;
extern AnimScript Entity_SimpleSpring_AnimLaunch;
API_CALLABLE(N(PlaySpringReboundAnimation)) {
Bytecode* args = script->ptrReadPos;
@ -10,6 +11,6 @@ API_CALLABLE(N(PlaySpringReboundAnimation)) {
return ApiStatus_BLOCK;
}
play_model_animation(entity->virtualModelIndex, (s16*) EntityModel_Spring_ReboundAnim);
play_model_animation(entity->virtualModelIndex, Entity_SimpleSpring_AnimLaunch);
return ApiStatus_DONE2;
}

View File

@ -6,7 +6,7 @@
[subrepo]
remote = https://github.com/ethteck/splat.git
branch = master
commit = 0f66e7552ac9a7d6a48917cfd8799568838bf63d
parent = cf83d8c6cc8225b59e4f4ed8b42aed017eac9415
commit = 741a0d030dff0f7e38071e6b8c80c2b3c7f64c9f
parent = 7baafe2faf6d3fb48e00653fa82ab72c3fa043ba
method = merge
cmdver = 0.4.5

View File

@ -3,6 +3,8 @@ N64 f3dex display list splitter
Dumps out Gfx[] as a .inc.c file.
"""
import re
from pathlib import Path
from pygfxd import (
@ -39,6 +41,8 @@ from util.log import error
from segtypes.common.codesubsegment import CommonSegCodeSubsegment
LIGHTS_RE = re.compile(r"\*\(Lightsn \*\)0x[0-9A-F]{8}")
class N64SegGfx(CommonSegCodeSubsegment):
def __init__(
@ -223,6 +227,17 @@ class N64SegGfx(CommonSegCodeSubsegment):
out_str += gfxd_buffer_to_string(outbuf)
out_str += "};\n"
# Poor man's light fix until we get my libgfxd PR merged
def light_sub_func(match):
light = match.group(0)
addr = int(light[12:], 0)
sym = self.create_symbol(
addr=addr, in_segment=True, type="data", reference=True
)
return self.format_sym_name(sym)
out_str = re.sub(LIGHTS_RE, light_sub_func, out_str)
return out_str
def split(self, rom_bytes: bytes):

View File

@ -254,7 +254,10 @@ dlabel nuSiMesgBuf
.space 0x00000020
dlabel siMgrThread
.space 0x000021b0
.space 0x1b0
dlabel siMgrStack
.space 0x2000
dlabel blendedCamSettings
.space 0x0000001c

View File

@ -722,4 +722,7 @@ dlabel CreateEntityVarArgBuffer
.space 0x00000010
dlabel D_8015C7E0
.space 4
.space 0x7820
dlabel D_80164000
.space 0x32C60

View File

@ -1,6 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_802B6D80_E2B430
.word ParasolTransformation, 0x00000000, 0x00000000, 0x00000000

View File

@ -1,6 +0,0 @@
.include "macro.inc"
.section .data
dlabel PlayerTweesterPhysics
.word 0x802B6370, 0x00000000, 0x00000000, 0x00000000

View File

@ -675,8 +675,8 @@ glabel btl_state_update_player_menu
/* 41B0D0 802A6340 269478E0 */ addiu $s4, $s4, %lo(gItemTable)
/* 41B0D4 802A6344 24120002 */ addiu $s2, $zero, 2
/* 41B0D8 802A6348 02A0882D */ daddu $s1, $s5, $zero
/* 41B0DC 802A634C 3C03802B */ lui $v1, %hi(D_802AB513)
/* 41B0E0 802A6350 9063B513 */ lbu $v1, %lo(D_802AB513)($v1)
/* 41B0DC 802A634C 3C03802B */ lui $v1, %hi(D_802AB4F0 + 0x23)
/* 41B0E0 802A6350 9063B513 */ lbu $v1, %lo(D_802AB4F0 + 0x23)($v1)
/* 41B0E4 802A6354 24020155 */ addiu $v0, $zero, 0x155
/* 41B0E8 802A6358 A6C201AE */ sh $v0, 0x1ae($s6)
/* 41B0EC 802A635C A2D001F6 */ sb $s0, 0x1f6($s6)

View File

@ -4793,7 +4793,95 @@ segments:
vram: 0xE009C000
subsegments:
- [0x3981F0, c, quizmo_stage]
- [0x398BC0, bin] # quizmo_stage gfx
- name: effect_gfx_quizmo_stage
dir: effects/gfx
type: code
start: 0x398BC0
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x398BC0, c, quizmo_stage]
- start: 0x398BC0
type: .data
name: quizmo_stage
subsegments:
- [0x398BC0] # light
- [0x398BD8, ia4, D_09000018_398BD8, 64, 16]
- [0x398DD8, gfx, D_09000218_398DD8]
- [0x398E48, rgba16, D_09000288_398E48, 32, 64]
- [0x399E48, gfx, D_09001288_399E48]
- [0x399EB8, ci4, D_090012F8_399EB8, 64, 16]
- [0x39A0B8, palette, D_090012F8_399EB8]
- [0x39A0D8, gfx, D_09001518_39A0D8]
- [0x39A178, i4, D_090015B8_39A178, 32, 32]
- [0x39A378, gfx, D_090017B8_39A378]
- [0x39A3E8, ci4, D_09001828_39A3E8, 32, 64]
- [0x39A7E8, palette, D_09001828_39A3E8]
- [0x39A808, gfx, D_09001C48_39A808]
- [0x39A8A8, rgba16, D_09001CE8_39A8A8, 32, 64]
- [0x39B8A8, gfx, D_09002CE8_39B8A8]
- [0x39B918, ci4, D_09002D58_39B918, 64, 64]
- [0x39C118, palette, D_09002D58_39B918]
- [0x39C138, gfx, D_09003578_39C138]
- [0x39C1D8, ia4, D_09003618_39C1D8, 128, 32]
- [0x39C9D8, gfx, D_09003E18_39C9D8]
- [0x39CA48, ci4, D_09003E88_39CA48, 32, 32]
- [0x39CC48, palette, D_09003E88_39CA48]
- [0x39CC68, gfx, D_090040A8_39CC68]
- [0x39CE08, ci4, D_09004248_39CE08, 64, 64]
- [0x39D608, palette, D_09004248_39CE08]
- [0x39D628, gfx, D_09004A68_39D628]
- [0x39D6C8, ia4, D_09004B08_39D6C8, 128, 32]
- [0x39DEC8, gfx, D_09005308_39DEC8]
- [0x39DF38, rgba16, D_09005378_39DF38, 64, 32]
- [0x39EF38, gfx, D_09006378_39EF38]
- [0x39EFA8, vtx, D_090063E8_39EFA8]
- [0x39EFE8, vtx, D_09006428_39EFE8]
- [0x39F028, vtx, D_09006468_39F028]
- [0x39F068, vtx, D_090064A8_39F068]
- [0x39F0A8, vtx, D_090064E8_39F0A8]
- [0x39F128, vtx, D_09006568_39F128]
- [0x39F1A8, vtx, D_090065E8_39F1A8]
- [0x39F1E8, vtx, D_09006628_39F1E8]
- [0x39F3A8, vtx, D_090067E8_39F3A8]
- [0x39F3E8, vtx, D_09006828_39F3E8]
- [0x39F428, vtx, D_09006868_39F428]
- [0x39F468, vtx, D_090068A8_39F468]
- [0x39F4A8, vtx, D_090068E8_39F4A8]
- [0x39F4E8, vtx, D_09006928_39F4E8]
- [0x39F528, vtx, D_09006968_39F528]
- [0x39F568, vtx, D_090069A8_39F568]
- [0x39F5A8, gfx, D_090069E8_39F5A8]
- [0x39F608, gfx, D_09006A48_39F608]
- [0x39F668, gfx, D_09006AA8_39F668]
- [0x39F6C8, gfx, D_09006B08_39F6C8]
- [0x39F728, gfx, D_09006B68_39F728]
- [0x39F768, gfx, D_09006BA8_39F768]
- [0x39F7C8, gfx, D_09006C08_39F7C8]
- [0x39F828, gfx, D_09006C68_39F828]
- [0x39F858, gfx, D_09006C98_39F858]
- [0x39F8B0, gfx, D_09006CF0_39F8B0]
- [0x39F908, gfx, D_09006D48_39F908]
- [0x39F938, gfx, D_09006D78_39F938]
- [0x39F960, gfx, D_09006DA0_39F960]
- [0x39F9E8, gfx, D_09006E28_39F9E8]
- [0x39FA48, gfx, D_09006E88_39FA48]
- [0x39FA78, gfx, D_09006EB8_39FA78]
- [0x39FAE0, gfx, D_09006F20_39FAE0]
- [0x39FB08, gfx, D_09006F48_39FB08]
- [0x39FB70, gfx, D_09006FB0_39FB70]
- [0x39FB98, gfx, D_09006FD8_39FB98]
- [0x39FBF0, gfx, D_09007030_39FBF0]
- [0x39FC50, gfx, D_09007090_39FC50]
- [0x39FCA8, gfx, D_090070E8_39FCA8]
- [0x39FD08, gfx, D_09007148_39FD08]
- [0x39FD48, gfx, D_09007188_39FD48]
- [0x39FD90, gfx, D_090071D0_39FD90]
- [0x39FDC0, gfx, D_09007200_39FDC0]
- [0x39FDF0, gfx, D_09007230_39FDF0]
- [0x39FE58, vtx, D_09007298_39FE58]
- [0x39FE98, gfx, D_090072D8_39FE98]
- [0x39FF18]
- name: effect_radiating_energy_orb
dir: effects
type: code
@ -6420,39 +6508,41 @@ segments:
subsegments:
- [0x404220, c, partner_buff]
- [0x404E40]
- type: group # partner_buff gfx
- name: effect_gfx_partner_buff
dir: effects/gfx
type: code
start: 0x404F40
align: 16
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x404F40, c, partner_buff]
- start: 0x404F40
type: ci4
name: world/cloud
flip_y: true
width: 32
height: 32
- [0x405140, palette, world/cloud]
- start: 0x405340
type: ci4
name: world/waterblock
flip_y: true
width: 32
height: 32
- [0x405540, palette, world/waterblock]
- start: 0x405740
type: ci4
name: world/yellow_carpet
flip_y: true
width: 32
height: 32
- [0x405940, palette, world/yellow_carpet]
- start: 0x405B40
type: ci4
name: world/numbers
flip_y: true
width: 32
height: 160
- [0x406540, palette, world/numbers]
- [0x406740, bin]
type: .data
name: partner_buff
subsegments:
- [0x404F40, ci4, world/cloud, 32, 32]
- [0x405140, palette, world/cloud]
- [0x405160] # padding
- [0x405340, ci4, world/waterblock, 32, 32]
- [0x405540, palette, world/waterblock]
- [0x405560] # padding
- [0x405740, ci4, world/yellow_carpet, 32, 32]
- [0x405940, palette, world/yellow_carpet]
- [0x405960] # padding
- [0x405B40, ci4, world/numbers, 32, 32, world/numbers] # number0
- [0x405D40, ci4, world/number1, 32, 32, world/numbers]
- [0x405F40, ci4, world/number2, 32, 32, world/numbers]
- [0x406140, ci4, world/number3, 32, 32, world/numbers]
- [0x406340, ci4, world/number4, 32, 32, world/numbers]
- [0x406540, palette, world/numbers]
- [0x406560] # padding
- [0x406740, gfx, D_09001800_406740]
- [0x4068E0, gfx, D_090019A0_4068E0]
- [0x406958, gfx, D_09001A18_406958]
- [0x4069D0, gfx, D_09001A90_4069D0]
- [0x406A48, gfx, D_09001B08_406A48]
- [0x406AC0, gfx, D_09001B80_406AC0]
- [0x406B38]
- name: effect_quizmo_assistant
dir: effects
type: code
@ -14703,8 +14793,7 @@ segments:
vram: 0x802B6000
subsegments:
- [0xE2A340, c, use_tweester]
- [0xE2A690, data, use_tweester]
- [0xE2A6A0]
- [0xE2A690]
- type: code
name: world_action_sneaky_parasol
dir: world/action
@ -14712,8 +14801,7 @@ segments:
vram: 0x802B6000
subsegments:
- [0xE2A6B0, c, sneaky_parasol]
- [0xE2B430, data, sneaky_parasol]
- [0xE2B440]
- [0xE2B430]
- type: code
dir: entity/default
start: 0xE2B530

View File

@ -3967,7 +3967,6 @@ D_8010EF9E = 0x8010EF9E; // type:data rom:0xA844E
D_8010EF9F = 0x8010EF9F; // type:data rom:0xA844F
D_8010EFA0 = 0x8010EFA0; // type:data rom:0xA8450
gPlayerStatus = 0x8010EFC8; // rom:0xA8478 size:0x288
gPlayerActionState = 0x8010F07C; // rom:0xA852C
gPlayerAnimation = 0x8010F080; // rom:0xA8530
SetEntityCullMode = 0x80111E9C; // type:func rom:0xA859C
UseDynamicShadow = 0x80111F2C; // type:func rom:0xA862C
@ -26188,7 +26187,6 @@ D_80242A00 = 0x80242A00; // type:data
D_80242AC4 = 0x80242AC4; // type:data
dgb_15_pad_2AC8 = 0x80242AC8; // type:data
flo_14_pad_2BF4 = 0x80242BF4; // type:data
D_80242C00 = 0x80242C00; // type:data
flo_08_pad_2EA8 = 0x80242EA8; // type:data
D_80242FB0 = 0x80242FB0; // type:data
dgb_03_pad_30D8 = 0x802430D8; // type:data
@ -26351,7 +26349,6 @@ kzn_02_LetterDelivery_SavedNpcAnim = 0x80246794; // type:data
kzn_17_LetterDelivery_SavedNpcAnim = 0x802467B4; // type:data
flo_00_pad_684C = 0x8024684C; // type:data
dead_kzn_17_LetterDelivery_SavedNpcAnim = 0x80246894; // type:data
D_80246990 = 0x80246990; // type:data
dgb_08_pad_69DC = 0x802469DC; // type:data
D_80246A20 = 0x80246A20; // type:data
D_80246BE8 = 0x80246BE8; // type:data
@ -27281,7 +27278,6 @@ dead_wDisabledPartnerHudScripts = 0x801000A0; // type:data dead:yes
dead_80117163 = 0x80117160; // type:data dead:yes
dead_gPartnerActionStatus = 0x80117160; // type:data dead:yes
dead_gPlayerStatus = 0x80117578; // type:data dead:yes
dead_gPlayerActionState = 0x8011762C; // type:data dead:yes
dead_gPlayerData = 0x80117840; // type:data dead:yes
dead_gCollisionStatus = 0x80169B10; // type:data dead:yes
dead_evt_get_variable = 0x802D4E8C; // type:func dead:yes

View File

@ -10,45 +10,9 @@ D_F79DDD0F = 0xF79DDD0F;
D_000B32E0 = 0x000B32E0; // todo look into
D_000B3AE0 = 0x000B3AE0; // todo look into
// effect_quizmo_stage
D_09000218 = 0x09000218;
D_09001518 = 0x09001518;
D_09004148 = 0x09004148;
D_09006D48 = 0x09006D48;
D_09006DA0 = 0x09006DA0;
D_09006E28 = 0x09006E28;
D_09006F20 = 0x09006F20;
D_09006FB0 = 0x09006FB0;
D_09006FD8 = 0x09006FD8;
D_09007030 = 0x09007030;
D_09007090 = 0x09007090;
D_090070E8 = 0x090070E8;
D_09007230 = 0x09007230;
// effect_stars_shimmer
D_09000F20 = 0x09000F20;
D_090011C8 = 0x090011C8;
D_090011E0 = 0x090011E0;
D_090011F8 = 0x090011F8;
D_09001210 = 0x09001210;
D_09001228 = 0x09001228;
D_09001240 = 0x09001240;
D_09001258 = 0x09001258;
D_09001270 = 0x09001270;
// effect_partner_buff
D_09001800 = 0x09001800;
D_090019A0 = 0x090019A0;
D_09001A18 = 0x09001A18;
D_09001A90 = 0x09001A90;
D_09001B08 = 0x09001B08;
D_09001B80 = 0x09001B80;
// hacks for various things
fx_sun_undeclared = fx_sun;
EntityModel_Spring_ReboundAnim = 0x1E4;
D_802AD673 = 0x802AD673; // remove when func_802A45D8 is decompiled with D_802AD670 instead of D_802AD673
D_E007EC2F = 0xE007EC2F;
// hard-coded heapy things
D_80197000 = 0x80197000; // effect tlb stuff
@ -67,49 +31,6 @@ D_8038F800 = 0x8038F800;
D_803B5000 = 0x803B5000;
heap_battleHead = 0x803DA800;
// misc map BSS
D_80242A00 = 0x80242A00;
D_80242C00 = 0x80242C00;
D_80246990 = 0x80246990;
osr_00_802437C0 = 0x802437C0;
D_80247548 = 0x80247548;
D_80247750 = 0x80247750;
D_8024A290 = 0x8024A290;
D_8024F300 = 0x8024F300;
D_8024F304 = 0x8024F304;
D_8024F308 = 0x8024F308;
D_8024F30C = 0x8024F30C;
D_8024F318 = 0x8024F318;
D_8024F338 = 0x8024F338;
D_8024F358 = 0x8024F358;
D_8024F380 = 0x8024F380;
D_8024F3F8 = 0x8024F3F8;
D_8024F448 = 0x8024F448;
D_8024F498 = 0x8024F498;
D_8024F4E8 = 0x8024F4E8;
D_8024F570 = 0x8024F570;
D_80253060 = 0x80253060;
D_80253378 = 0x80253378;
D_80253384 = 0x80253384;
D_8025338C = 0x8025338C;
D_80253390 = 0x80253390;
D_80257118 = 0x80257118;
D_80257320 = 0x80257320;
D_80257F20 = 0x80257F20;
D_80257F21 = 0x80257F21;
D_80257F22 = 0x80257F22;
D_80257F23 = 0x80257F23;
D_80258140 = 0x80258140;
D_80258340 = 0x80258340;
D_8025B0A8 = 0x8025B0A8;
D_8025B2A8 = 0x8025B2A8;
D_8025B2AC = 0x8025B2AC;
D_8025B2B0 = 0x8025B2B0;
D_8025C0D0 = 0x8025C0D0;
D_80262C38 = 0x80262C38;
D_80262F68 = 0x80262F68;
D_8024F470_hos_bss = 0x8024F470;
// Letter delivery BSS
mac_05_LetterDelivery_SavedNpcAnim = 0x80252D38;
mac_00_LetterDelivery_SavedNpcAnim = 0x80255ED8;
@ -180,17 +101,12 @@ kmr_02_Quizmo_StageEffect = 0x80257F48;
kmr_02_Quizmo_AudienceEffect = 0x80257F4C;
kmr_02_Quizmo_VannaTEffect = 0x80257F50;
// Unsolved BSS Mysteries
D_80164000 = 0x80164000; // display contexts, part of bss3
D_802AB513 = 0x802AB513;
// os stuff
osTvType = 0x80000300;
osRomBase = 0x80000308;
osMemSize = 0x80000318;
osResetType = 0x8000030C;
osAppNMIBuffer = 0x8000031C;
D_800A08C0 = 0x800A08C0; // same as blendedCamSettings but seemingly a different symbol?
// boot
D_A0000000 = 0xA0000000;
@ -216,352 +132,340 @@ D_B0000008 = 0xB0000008;
D_B0000010 = 0xB0000010;
// Invalid pointers from dead code
dead_atan2 = 0x8002AF70;
dead_gCurrentCamID = 0x800A158C;
dead_gCameras = 0x800B8D80;
dead_wPartnerHudScripts = 0x80100060;
dead_wDisabledPartnerHudScripts = 0x801000A0;
dead_evt_get_variable = 0x802D4E8C;
dead_evt_set_variable = 0x802D5468;
dead_evt_get_float_variable = 0x802D57FC;
dead_sin_rad = 0x8002B45C;
dead_cos_rad = 0x8002B4C0;
dead_evt_set_float_variable = 0x802D5A10;
dead_fx_sparkles = 0x80075170;
dead_gPlayerStatusPtr = 0x800FFC90;
dead_set_main_pan_u = 0x80126064;
dead_set_main_pan_v = 0x8012607C;
dead_set_aux_pan_u = 0x80126094;
dead_set_aux_pan_v = 0x801260AC;
dead_get_npc_unsafe = 0x8003E4BC;
dead_fx_emote = 0x80075110;
dead_get_enemy = 0x80042AF4;
dead_dist2D = 0x8002B1C4;
dead_get_clamped_angle_diff = 0x8002AF18;
dead_clamp_angle = 0x8002AE14;
dead_add_vec2D_polar = 0x8002B28C;
dead_ai_enemy_play_sound = 0x8004D800;
dead_basic_ai_wander_init = 0x8004D9C0;
dead_basic_ai_wander = 0x8004DAD8;
dead_basic_ai_loiter_init = 0x8004DF64;
dead_basic_ai_loiter = 0x8004E024;
dead_basic_ai_found_player_jump_init = 0x8004E25C;
dead_basic_ai_found_player_jump = 0x8004E2EC;
dead_basic_ai_chase_init = 0x8004E39C;
dead_basic_ai_chase = 0x8004E544;
dead_basic_ai_lose_player = 0x8004E808;
dead_basic_ai_suspend = 0x8004EB8C;
dead_basic_ai_check_player_dist = 0x8004D1A4;
dead_npc_move_heading = 0x8003E424;
dead_sqrtf = 0x80067040;
dead_npc_test_move_simple_with_slipping = 0x800E5304;
dead_npc_raycast_down_sides = 0x800E423C;
dead_is_point_within_region = 0x8004D0C4;
dead_rand_int = 0x8002ACEC;
dead_get_npc_safe = 0x8003E534;
dead_heap_malloc = 0x8002BFD4;
dead_heap_free = 0x8002C01C;
dead_general_heap_malloc = 0x8002BF18;
dead_heap_free = 0x8002C01C;
dead_sin_deg = 0x8002B5DC;
dead_cos_deg = 0x8002B640;
dead_sin_cos_deg = 0x8002B524;
dead_subtract_hp = 0x800F1EF8;
dead_sfx_adjust_env_sound_pos = 0x8015704C;
dead_fx_star_spirits_energy = 0x80077C30;
dead_update_lerp = 0x8002B6A4;
dead_fx_spirit_card = 0x80077930;
dead_create_shadow_type = 0x8011AAB4;
dead_dist3D = 0x8002B21C;
dead_LoadPath = 0x802E2A80;
dead_GetNextPathPos = 0x802E2B74;
dead_queue_render_task = 0x80128510;
dead_create_worker_world = 0x8012DFE8;
dead_GetEntryID = 0x802D790C;
dead_SetMusicTrack = 0x802E339C;
dead_FadeInMusic = 0x802E3444;
dead_RandInt = 0x802E1D00;
dead_PlayEffect = 0x802E58EC;
dead_DisablePlayerInput = 0x802DE448;
dead_ModifyColliderFlags = 0x802D7278;
dead_PlayerMoveTo = 0x802DE754;
dead_InterpPlayerYaw = 0x802DEF5C;
dead_PlaySoundAtCollider = 0x802D7AC0;
dead_MakeLerp = 0x802E1C00;
dead_UpdateLerp = 0x802E1C7C;
dead_RotateGroup = 0x802D6D84;
dead_func_802D2C14 = 0x802E0260;
dead_GotoMap = 0x802D78AC;
dead_UseExitHeading = 0x802DF78C;
dead_ExitWalk = 0x80286004;
dead_GetLoadType = 0x802D796C;
dead_EnterSavePoint = 0x80285FC0;
dead_EnterWalk = 0x80285C70;
dead_SetSpriteShading = 0x802E6F50;
dead_SetCamLeadPlayer = 0x802D8B60;
dead_SetCamPerspective = 0x802D7CD8;
dead_SetCamBGColor = 0x802D8248;
dead_SetCamEnabled = 0x802D7B70;
dead_MakeNpcs = 0x80048338;
dead_ParentColliderToModel = 0x802D75C0;
dead_EnableTexPanning = 0x802D6688;
dead_SetTexPanOffset = 0x802D67E4;
dead_DisablePlayerPhysics = 0x802DE404;
dead_UseSettingsFrom = 0x802D8D40;
dead_SetPanTarget = 0x802D9320;
dead_SetCamDistance = 0x802D90D8;
dead_SetCamPitch = 0x802D903C;
dead_SetCamPosA = 0x802D914C;
dead_SetCamPosB = 0x802D91E8;
dead_SetCamSpeed = 0x802D93E4;
dead_PanToTarget = 0x802D8C7C;
dead_WaitForCam = 0x802D9848;
dead_ShowMessageAtWorldPos = 0x802DDEEC;
dead_ShowMessageAtScreenPos = 0x802DDE0C;
dead_GetPlayerPos = 0x802DF41C;
dead_SetPlayerJumpscale = 0x802DE674;
dead_PlayerJump1 = 0x802DEF24;
dead_DisablePartnerAI = 0x802DCA48;
dead_InterpNpcYaw = 0x802DC064;
dead_SpeakToPlayer = 0x802DD810;
dead_SetPlayerAnimation = 0x802DE6A4;
dead_ContinueSpeech = 0x802DD848;
dead_EnablePartnerAI = 0x802DCA8C;
dead_ResetCam = 0x802D9DE4;
dead_GetPlayerActionState = 0x802DF3F0;
dead_ShowChoice = 0x802DE138;
dead_SwitchMessage = 0x802DE0AC;
dead_CloseMessage = 0x802DE040;
dead_EndSpeech = 0x802DD82C;
dead_SetNpcPos = 0x802DB210;
dead_AdjustCam = 0x802D9B68;
dead_EnableGroup = 0x802D7044;
dead_SetNpcFlagBits = 0x802DC5C0;
dead_BindNpcInteract = 0x80049154;
dead_EnableNpcShadow = 0x802DC7C8;
dead_SetNpcCollisionSize = 0x802DB4EC;
dead_PlayerFaceNpc = 0x802DF124;
dead_NpcFaceNpc = 0x802DC3E0;
dead_SetNpcAnimation = 0x802DB654;
dead_PlaySoundAtNpc = 0x802DD70C;
dead_BindNpcIdle = 0x80048C5C;
dead_WaitForPlayerInputEnabled = 0x802DFB28;
dead_SetNpcRotation = 0x802DB310;
dead_EnableNpcAI = 0x80048DA0;
dead_PlaySoundAtPlayer = 0x802E0324;
dead_GetCurrentPartnerID = 0x802DD1D4;
dead_SetPlayerPos = 0x802DE510;
dead_RotateModel = 0x802D60E4;
dead_TranslateModel = 0x802D5FE0;
dead_NpcFlyTo = 0x802DBC5C;
dead_FadeOutMusic = 0x802E3330;
dead_BindNpcAI = 0x80048B18;
dead_GetSelfNpcID = 0x800496C4;
dead_GetOwnerEncounterTrigger = 0x800486A0;
dead_SetSelfEnemyFlagBits = 0x800495D4;
dead_BindNpcHit = 0x800491F0;
dead_PlaySoundAtModel = 0x802D7A04;
dead_DropItemEntity = 0x802E4410;
dead_GetValueByRef = 0x802E2F8C;
dead_SetValueByRef = 0x802E2F30;
dead_AssignPanelFlag = 0x8011A968;
dead_Entity_HiddenPanel = 0x802F8FB4;
dead_ShakeCam = 0x802D8758;
dead_func_802D62E4 = 0x802E3934;
dead_IsStartingConversation = 0x80048290;
dead_ModifyGlobalOverrideFlags = 0x802E2EAC;
dead_FindKeyItem = 0x802E4064;
dead_Entity_SuperBlock = 0x802F8DC0;
dead_AssignBlockFlag = 0x8011A8C0;
dead_AssignScript = 0x8011A804;
dead_ResetFromLava = 0x802D7384;
dead_EnemyNpcHit = 0x8007D3C0;
dead_EnemyNpcDefeat = 0x8007D4EC;
dead_BasicAI_Main = 0x8004E89C;
dead_ShowConsumableChoicePopup = 0x802E3C8C;
dead_RemoveItemAt = 0x802E3EDC;
dead_GetAngleToPlayer = 0x802E1E80;
dead_GetNpcPointer = 0x802DB1B8;
dead_RemoveNpc = 0x800483E0;
dead_EnableModel = 0x802D6708;
dead_PlaySoundAt = 0x802E382C;
dead_GetModelCenter = 0x802D6400;
dead_SetSelfVar = 0x8004930C;
dead_GetSelfVar = 0x80049370;
dead_GetPlayerTargetYaw = 0x802DF348;
dead_HidePlayerShadow = 0x802DE3C0;
dead_func_802D286C = 0x802DFEB8;
dead_func_802D2520 = 0x802DFB40;
dead_SetPlayerFlagBits = 0x802DF380;
dead_func_80044238 = 0x800482D8;
dead_SetCamType = 0x802D8FA8;
dead_SetCamPosC = 0x802D9284;
dead_SetNpcVar = 0x800493D0;
dead_StartBossBattle = 0x8004893C;
dead_Entity_MulticoinBlock = 0x802F8598;
dead_Entity_BombableRock = 0x802CCF00;
dead_OnPlayerFled = 0x800499B0;
dead_GetAngleBetweenNPCs = 0x802E1D58;
dead_AwaitPlayerApproach = 0x802E1EFC;
dead_BringPartnerOut = 0x802DCB18;
dead_PutPartnerAway = 0x802DCEE8;
dead_SetNpcSpeed = 0x802DB57C;
dead_NpcMoveTo = 0x802DB78C;
dead_SetCamTarget = 0x802D83DC;
dead_CloneModel = 0x802D63A8;
dead_MakeLocalVertexCopy = 0x802D711C;
dead_SetModelCustomGfx = 0x802D657C;
dead_SetCustomGfxBuilders = 0x802D6920;
dead_FindItem = 0x802E4168;
dead_func_802CDE68 = 0x802DB3C8;
dead_Entity_ScriptSpring = 0x802F8EE0;
dead_Entity_HiddenYellowBlock = 0x802F8A38;
dead_GetNpcYaw = 0x802DBF70;
dead_PlayAmbientSounds = 0x802E376C;
dead_SetTexPanner = 0x802D6480;
dead_func_802D7B10 = 0x802E5160;
dead_Entity_Chest = 0x802F92E0;
dead_snd_ambient_80055618 = 0x80059AC8;
dead_GetPlayerAnimation = 0x802DF4B4;
dead_SetPlayerSpeed = 0x802DE644;
dead_SetItemPos = 0x802E4720;
dead_NpcJump1 = 0x802DBC40;
dead_SpeakToNpc = 0x802DD864;
dead_AddStarPieces = 0x802E4940;
dead_Entity_Hammer3Block = 0x802F86DC;
dead_CreatePushBlockGrid = 0x80283420;
dead_SetPushBlock = 0x8028364C;
dead_GetSelfAnimationFromTable = 0x800497E4;
dead_EVS_NpcHitRecoil = 0x800990BC;
dead_SelfEnemyOverrideSyncPos = 0x80049630;
dead_func_802CFD30 = 0x802DD290;
dead_SetGroupEnabled = 0x802D6788;
dead_Entity_HeartBlock = 0x802F8C90;
dead_GetCamDistance = 0x802D9578;
dead_GetCamPitch = 0x802D94E8;
dead_GotoMapSpecial = 0x802D78CC;
dead_SetNpcAux = 0x80048E54;
dead_PlayModelAnimation = 0x802DA39C;
dead_LoadAnimatedModel = 0x802DA21C;
dead_SetAnimatorFlags = 0x802DA948;
dead_GetAnimatedPositionByTreeIndex = 0x802DAD14;
dead_GetAnimatedRotationByTreeIndex = 0x802DAE34;
dead_SetEncounterStatusFlags = 0x80048220;
dead_Entity_YellowBlock = 0x802F8A14;
dead_SetAnimatedModelRootPosition = 0x802DA514;
dead_SetNpcPaletteSwapMode = 0x802DD3E0;
dead_SetNpcPaletteSwapping = 0x802DD520;
dead_BindNpcAux = 0x80048F68;
dead_SetNpcYaw = 0x802DBFE4;
dead_ScaleGroup = 0x802D6EC8;
dead_ScaleModel = 0x802D6208;
dead_UpdateColliderTransform = 0x802D7634;
dead_TranslateGroup = 0x802D6C60;
dead_InterruptUsePartner = 0x802E01B8;
dead_SetNpcJumpscale = 0x802DB5E8;
dead_SetPlayerActionState = 0x802DE6F8;
dead_NpcJump0 = 0x802DBC24;
dead_PlaySound = 0x802E37A0;
dead_ClearPartnerMoveHistory = 0x802DC8D0;
dead_PlayerJump = 0x802DEF08;
dead_StopSound = 0x802E3908;
dead_NpcFacePlayer = 0x802DC228;
dead_func_802D2884 = 0x802DFED0;
dead_SetTimeFreezeMode = 0x802E2E80;
dead_ShowKeyChoicePopup = 0x802E3A70;
dead_CloseChoicePopup = 0x802E3FA4;
dead_AwaitPlayerLeave = 0x802E20AC;
dead_RemoveKeyItemAt = 0x802E3EA8;
dead_MakeItemEntity = 0x802E4310;
dead_RemoveItemEntity = 0x802E461C;
dead_IsPlayerWithin = 0x802E1FB4;
dead_IsPlayerOnValidFloor = 0x802DFABC;
dead_GetCurrentPartner = 0x802E0158;
dead_MakeEntity = 0x8011A58C;
dead_Entity_SavePoint = 0x802F7EC8;
dead_PopSong = 0x802E3628;
dead_PushSong = 0x802E3648;
dead_ShowGotItem = 0x802E49F4;
dead_GetBattleOutcome = 0x8004861C;
dead_DoNpcDefeat = 0x800486CC;
dead_SetCamProperties = 0x802D98E0;
dead_ShowEmote = 0x802E4EF0;
dead_SetEnemyFlagBits = 0x80049738;
dead_AddKeyItem = 0x802E3F18;
dead_BindNpcDefeat = 0x8004928C;
dead_GetNpcPos = 0x802DC654;
dead_func_802CF56C = 0x802DCACC;
dead_dma_copy = 0x8002AA2C;
dead_get_entity_by_index = 0x80118BB0;
dead_fx_sun = 0x80077BD0;
dead_transform_point = transform_point + 0x12F0;
dead_dma_copy = dma_copy + 0x12F0;
dead_rand_int = rand_int + 0x12F0;
dead_clamp_angle = clamp_angle + 0x12F0;
dead_get_clamped_angle_diff = get_clamped_angle_diff + 0x12F0;
dead_atan2 = atan2 + 0x12F0;
dead_dist2D = dist2D + 0x12F0;
dead_dist3D = dist3D + 0x12F0;
dead_add_vec2D_polar = add_vec2D_polar + 0x12F0;
dead_sin_rad = sin_rad + 0x12F0;
dead_cos_rad = cos_rad + 0x12F0;
dead_sin_cos_deg = sin_cos_deg + 0x12F0;
dead_sin_deg = sin_deg + 0x12F0;
dead_cos_deg = cos_deg + 0x12F0;
dead_update_lerp = update_lerp + 0x12F0;
dead_general_heap_malloc = general_heap_malloc + 0x12F0;
dead_general_heap_free = general_heap_free + 0x12F0;
dead_heap_malloc = heap_malloc + 0x12F0;
dead_heap_free = heap_free + 0x12F0;
dead_get_screen_coords = get_screen_coords + 0x1784;
dead_get_npc_by_index = get_npc_by_index + 0x3960;
dead_npc_move_heading = npc_move_heading + 0x39D0;
dead_get_npc_unsafe = get_npc_unsafe + 0x39D0;
dead_get_npc_safe = get_npc_safe + 0x39EC;
dead_disable_npc_shadow = disable_npc_shadow + 0x39EC;
dead_set_npc_yaw = set_npc_yaw + 0x3A10;
dead_func_8003D660 = func_8003D660 + 0x3A20;
dead_get_enemy = get_enemy + 0x3E0C;
dead_SetEncounterStatusFlags = SetEncounterStatusFlags + 0x40A0;
dead_IsStartingConversation = IsStartingConversation + 0x40A0;
dead_func_80044238 = func_80044238 + 0x40A0;
dead_MakeNpcs = MakeNpcs + 0x40A0;
dead_RemoveNpc = RemoveNpc + 0x40A0;
dead_GetBattleOutcome = GetBattleOutcome + 0x40A0;
dead_GetOwnerEncounterTrigger = GetOwnerEncounterTrigger + 0x40A0;
dead_DoNpcDefeat = DoNpcDefeat + 0x40A0;
dead_StartBossBattle = StartBossBattle + 0x40A0;
dead_BindNpcAI = BindNpcAI + 0x40A0;
dead_BindNpcIdle = BindNpcIdle + 0x40B0;
dead_EnableNpcAI = EnableNpcAI + 0x40B0;
dead_SetNpcAux = SetNpcAux + 0x40B0;
dead_BindNpcAux = BindNpcAux + 0x40B0;
dead_BindNpcInteract = BindNpcInteract + 0x40B0;
dead_BindNpcHit = BindNpcHit + 0x40B0;
dead_BindNpcDefeat = BindNpcDefeat + 0x40B0;
dead_SetSelfVar = SetSelfVar + 0x40B0;
dead_GetSelfVar = GetSelfVar + 0x40B0;
dead_SetNpcVar = SetNpcVar + 0x40B0;
dead_SetSelfEnemyFlagBits = SetSelfEnemyFlagBits + 0x40B0;
dead_SelfEnemyOverrideSyncPos = SelfEnemyOverrideSyncPos + 0x40B0;
dead_GetSelfNpcID = GetSelfNpcID + 0x40B0;
dead_SetEnemyFlagBits = SetEnemyFlagBits + 0x40B0;
dead_GetSelfAnimationFromTable = GetSelfAnimationFromTable + 0x40B0;
dead_OnPlayerFled = OnPlayerFled + 0x40B0;
dead_is_point_within_region = is_point_within_region + 0x40F0;
dead_basic_ai_check_player_dist = basic_ai_check_player_dist + 0x40F0;
dead_ai_enemy_play_sound = ai_enemy_play_sound + 0x4340;
dead_basic_ai_wander_init = basic_ai_wander_init + 0x4420;
dead_basic_ai_wander = basic_ai_wander + 0x4420;
dead_basic_ai_loiter_init = basic_ai_loiter_init + 0x4420;
dead_basic_ai_loiter = basic_ai_loiter + 0x4420;
dead_basic_ai_found_player_jump_init = basic_ai_found_player_jump_init + 0x4420;
dead_basic_ai_found_player_jump = basic_ai_found_player_jump + 0x4420;
dead_basic_ai_chase_init = basic_ai_chase_init + 0x4420;
dead_basic_ai_chase = basic_ai_chase + 0x4420;
dead_basic_ai_lose_player = basic_ai_lose_player + 0x4420;
dead_BasicAI_Main = BasicAI_Main + 0x4420;
dead_basic_ai_suspend = basic_ai_suspend + 0x4450;
dead_snd_ambient_80055618 = snd_ambient_80055618 + 0x44B0;
dead_get_current_map_settings = get_current_map_settings + 0x4540;
dead_load_asset_by_name = load_asset_by_name + 0x4550;
dead_osVirtualToPhysical = osVirtualToPhysical + 0x5150;
dead_sqrtf = sqrtf + 0x5150;
dead_guMtxIdentF = guMtxIdentF + 0x51C0;
dead_guMtxF2L = guMtxF2L + 0x51C0;
dead_guMtxCatF = guMtxCatF + 0x51C0;
dead_guTranslateF = guTranslateF + 0x51C0;
dead_decode_yay0 = decode_yay0 + 0x5280;
dead_fx_emote = fx_emote + 0x5280;
dead_fx_sparkles = fx_sparkles + 0x5280;
dead_fx_radial_shimmer = fx_radial_shimmer + 0x5280;
dead_fx_motion_blur_flame = fx_motion_blur_flame + 0x5280;
dead_fx_energy_orb_wave = fx_energy_orb_wave + 0x5280;
dead_fx_misc_particles = fx_misc_particles + 0x5280;
dead_fx_spirit_card = fx_spirit_card + 0x5280;
dead_fx_sun = fx_sun + 0x5280;
dead_fx_sun_undeclared = dead_fx_sun;
dead_func_8003D660 = 0x80041080;
dead_set_max_SP = 0x800F1D9C;
dead_sync_status_menu = 0x800F1730;
dead_get_npc_by_index = 0x8003C43C;
dead_increment_status_menu_disabled = 0x800F1718;
dead_decrement_status_menu_disabled = 0x800F16F4;
dead_get_model_list_index_from_tree_index = 0x80125270;
dead_get_model_from_list_index = 0x80124F44;
dead_guTranslateF = 0x8006CAC0;
dead_fx_misc_particles = 0x800775D0;
dead_entity_upgrade_block_hide_content = 0x802F3B00;
dead_create_popup_menu = 0x800FCD0C;
dead_hide_popup_menu = 0x800F9260;
dead_destroy_popup_menu = 0x800F93E8;
dead_switch_to_partner = 0x800F2D5C;
dead_set_message_msg = 0x80130C74;
dead_fx_energy_orb_wave = 0x800769D0;
dead_fx_radial_shimmer = 0x80075E30;
dead_set_screen_overlay_color = 0x80144200;
dead_set_screen_overlay_params_front = 0x80144178;
dead_npc_test_move_simple_without_slipping = 0x800E53AC;
dead_get_item_entity = 0x8013CF98;
dead_get_current_map_settings = 0x8005F128;
dead_partner_clear_player_tracking = 0x800F7278;
dead_set_npc_yaw = 0x8003ED50;
dead_disable_npc_shadow = 0x8003E5E8;
dead_get_screen_coords = 0x8002FCBC;
dead_sfx_get_spatialized_sound_params = 0x801574DC;
dead_sfx_play_sound_with_params = 0x80157118;
dead_load_asset_by_name = 0x8005F238;
dead_decode_yay0 = 0x80074070;
dead_general_heap_free = 0x8002BF68;
dead_set_message_images = 0x80130C64;
dead_set_screen_overlay_params_back = 0x80144194;
dead_gItemTable = 0x8008D2C0;
dead_gPlayerStatus = 0x80117578;
dead_gPlayerActionState = 0x8011762C;
dead_gPartnerActionStatus = 0x80117160;
dead_80117163 = 0x80117160;
dead_gPlayerData = 0x80117840;
dead_gCollisionStatus = 0x80169B10;
dead_gOverrideFlags = 0x800A15A8;
dead_fx_motion_blur_flame = 0x80076970;
dead_gCurrentEncounter = 0x800B7EF0;
dead_guMtxIdentF = 0x8006C660;
dead_guMtxCatF = 0x8006C7C0;
dead_gCurrentCameraID = 0x8007C760;
dead_gGameStatusPtr = 0x80079430;
dead_gPartnerPopupProperties = 0x80094900;
dead_nuGfxZBuffer = 0x800A1530;
dead_osVirtualToPhysical = 0x80066FE0;
dead_transform_point = 0x8002A910;
dead_gMasterGfxPos = 0x800A15C4;
dead_nuGfxCfb_ptr = 0x800A15A4;
dead_guMtxF2L = 0x8006C6C0;
dead_mdl_get_copied_vertices = 0x801266F8;
dead_mdl_get_copied_gfx = 0x80126734;
dead_gMatrixListPos = 0x80079540;
dead_gDisplayContext = 0x800A15CC;
dead_03_D_802442D0 = 0x802442D0;
dead_03_LetterDelivery_SavedNpcAnim = 0x80244494;
dead_flo_08_ItemChoiceList = 0x802462F0;
dead_flo_08_FlowerGuard_ItemChoiceList = 0x80246460;
dead_flo_12_D_802429E0 = 0x802429E0;
dead_kzn_17_D_802466D0 = 0x802466D0;
dead_kzn_17_LetterDelivery_SavedNpcAnim = 0x80246894;
dead_kzn_19_D_80248388 = 0x80248388;
dead_kzn_19_LetterDelivery_SavedNpcAnim = 0x8024854C;
dead_func_800EB2A4 = 0x800F2E98;
dead_fx_star_spirits_energy = fx_star_spirits_energy + 0x5280;
dead_gGameStatusPtr = gGameStatusPtr + 0x5294;
dead_gMatrixListPos = gMatrixListPos + 0x5350;
dead_gCurrentCameraID = gCurrentCameraID + 0x5350;
dead_EnemyNpcHit = EnemyNpcHit + 0x5450;
dead_EnemyNpcDefeat = EnemyNpcDefeat + 0x5450;
dead_gItemTable = gItemTable + 0x59E0;
dead_gPartnerPopupProperties = gPartnerPopupProperties + 0x59E0;
dead_EVS_NpcHitRecoil = EVS_NpcHitRecoil + 0x59E0;
dead_nuGfxZBuffer = nuGfxZBuffer + 0x6F54;
dead_gCurrentCamID = gCurrentCamID + 0x6F58;
dead_nuGfxCfb_ptr = nuGfxCfb_ptr + 0x6F58;
dead_gOverrideFlags = gOverrideFlags + 0x6F58;
dead_gMasterGfxPos = gMasterGfxPos + 0x6F58;
dead_gDisplayContext = gDisplayContext + 0x6F58;
dead_gCurrentEncounter = gCurrentEncounter + 0x6FE0;
dead_gCameras = gCameras + 0x7000;
dead_npc_raycast_down_sides = npc_raycast_down_sides + 0x76C0;
dead_npc_test_move_simple_with_slipping = npc_test_move_simple_with_slipping + 0x76C0;
dead_npc_test_move_simple_without_slipping = npc_test_move_simple_without_slipping + 0x76C0;
dead_decrement_status_menu_disabled = decrement_status_menu_disabled + 0x7BC4;
dead_increment_status_menu_disabled = increment_status_menu_disabled + 0x7BC4;
dead_sync_status_menu = sync_status_menu + 0x7BC4;
dead_set_max_SP = set_max_SP + 0x7BC4;
dead_subtract_hp = subtract_hp + 0x7BC4;
dead_switch_to_partner = switch_to_partner + 0x7BF4;
dead_func_800EB2A4 = func_800EB2A4 + 0x7BF4;
dead_partner_clear_player_tracking = partner_clear_player_tracking + 0x7E1C;
dead_hide_popup_menu = hide_popup_menu + 0x7EB0;
dead_destroy_popup_menu = destroy_popup_menu + 0x7EB0;
dead_create_popup_menu = create_popup_menu + 0x7ECC;
dead_gPlayerStatusPtr = gPlayerStatusPtr + 0x8160;
dead_wPartnerHudScripts = wPartnerHudScripts + 0x8160;
dead_wDisabledPartnerHudScripts = wDisabledPartnerHudScripts + 0x8160;
dead_gPartnerActionStatus = gPartnerActionStatus + 0x85B0;
dead_gPlayerStatus = gPlayerStatus + 0x85B0;
dead_gPlayerData = gPlayerData + 0x85B0;
dead_get_entity_by_index = get_entity_by_index + 0x85C8;
dead_MakeEntity = MakeEntity + 0x8854;
dead_AssignScript = AssignScript + 0x8854;
dead_AssignBlockFlag = AssignBlockFlag + 0x8854;
dead_AssignPanelFlag = AssignPanelFlag + 0x8854;
dead_create_shadow_type = create_shadow_type + 0x8854;
dead_get_model_from_list_index = get_model_from_list_index + 0xA214;
dead_get_model_list_index_from_tree_index = get_model_list_index_from_tree_index + 0xA260;
dead_set_main_pan_u = set_main_pan_u + 0xA448;
dead_set_main_pan_v = set_main_pan_v + 0xA448;
dead_set_aux_pan_u = set_aux_pan_u + 0xA448;
dead_set_aux_pan_v = set_aux_pan_v + 0xA448;
dead_mdl_get_copied_vertices = mdl_get_copied_vertices + 0xA448;
dead_mdl_get_copied_gfx = mdl_get_copied_gfx + 0xA448;
dead_queue_render_task = queue_render_task + 0xAC00;
dead_create_worker_world = create_worker_world + 0xAE90;
dead_set_message_images = set_message_images + 0xB138;
dead_set_message_msg = set_message_msg + 0xB138;
dead_get_item_entity = get_item_entity + 0xC040;
dead_set_screen_overlay_params_front = set_screen_overlay_params_front + 0xC3F0;
dead_set_screen_overlay_params_back = set_screen_overlay_params_back + 0xC3F0;
dead_set_screen_overlay_color = set_screen_overlay_color + 0xC3F0;
dead_sfx_adjust_env_sound_pos = sfx_adjust_env_sound_pos + 0xD660;
dead_sfx_play_sound_with_params = sfx_play_sound_with_params + 0xD660;
dead_sfx_get_spatialized_sound_params = sfx_get_spatialized_sound_params + 0xD6D8;
dead_gCollisionStatus = gCollisionStatus + 0xF5C0;
dead_CreatePushBlockGrid = CreatePushBlockGrid + 0x140;
dead_SetPushBlock = SetPushBlock + 0x1D0;
dead_EnterWalk = EnterWalk + 0x310;
dead_EnterSavePoint = EnterSavePoint + 0x310;
dead_ExitWalk = ExitWalk + 0x310;
dead_Entity_BombableRock = Entity_BombableRock + 0x10000;
dead_evt_get_variable = evt_get_variable + 0xD3D0;
dead_evt_set_variable = evt_set_variable + 0xD3D0;
dead_evt_get_float_variable = evt_get_float_variable + 0xD3D0;
dead_evt_set_float_variable = evt_set_float_variable + 0xD3D0;
dead_TranslateModel = TranslateModel + 0xD480;
dead_RotateModel = RotateModel + 0xD480;
dead_ScaleModel = ScaleModel + 0xD480;
dead_CloneModel = CloneModel + 0xD480;
dead_GetModelCenter = GetModelCenter + 0xD480;
dead_SetTexPanner = SetTexPanner + 0xD480;
dead_SetModelCustomGfx = SetModelCustomGfx + 0xD480;
dead_EnableTexPanning = EnableTexPanning + 0xD480;
dead_EnableModel = EnableModel + 0xD480;
dead_SetGroupEnabled = SetGroupEnabled + 0xD480;
dead_SetTexPanOffset = SetTexPanOffset + 0xD480;
dead_SetCustomGfxBuilders = SetCustomGfxBuilders + 0xD480;
dead_TranslateGroup = TranslateGroup + 0xD4AC;
dead_RotateGroup = RotateGroup + 0xD4AC;
dead_ScaleGroup = ScaleGroup + 0xD4AC;
dead_EnableGroup = EnableGroup + 0xD4AC;
dead_MakeLocalVertexCopy = MakeLocalVertexCopy + 0xD4AC;
dead_ModifyColliderFlags = ModifyColliderFlags + 0xD4AC;
dead_ResetFromLava = ResetFromLava + 0xD4AC;
dead_ParentColliderToModel = ParentColliderToModel + 0xD4AC;
dead_UpdateColliderTransform = UpdateColliderTransform + 0xD4AC;
dead_GotoMap = GotoMap + 0xD4AC;
dead_GotoMapSpecial = GotoMapSpecial + 0xD4AC;
dead_GetEntryID = GetEntryID + 0xD4AC;
dead_GetLoadType = GetLoadType + 0xD4AC;
dead_PlaySoundAtModel = PlaySoundAtModel + 0xD4AC;
dead_PlaySoundAtCollider = PlaySoundAtCollider + 0xD4AC;
dead_SetCamEnabled = SetCamEnabled + 0xD4B0;
dead_SetCamPerspective = SetCamPerspective + 0xD4B0;
dead_SetCamBGColor = SetCamBGColor + 0xD4B0;
dead_SetCamTarget = SetCamTarget + 0xD4B0;
dead_ShakeCam = ShakeCam + 0xD4B0;
dead_SetCamLeadPlayer = SetCamLeadPlayer + 0xD4E0;
dead_PanToTarget = PanToTarget + 0xD4E0;
dead_UseSettingsFrom = UseSettingsFrom + 0xD4E0;
dead_SetCamType = SetCamType + 0xD4F4;
dead_SetCamPitch = SetCamPitch + 0xD4F4;
dead_SetCamDistance = SetCamDistance + 0xD4F4;
dead_SetCamPosA = SetCamPosA + 0xD4F4;
dead_SetCamPosB = SetCamPosB + 0xD4F4;
dead_SetCamPosC = SetCamPosC + 0xD4F4;
dead_SetPanTarget = SetPanTarget + 0xD4F4;
dead_SetCamSpeed = SetCamSpeed + 0xD4F4;
dead_GetCamPitch = GetCamPitch + 0xD4F4;
dead_GetCamDistance = GetCamDistance + 0xD4F4;
dead_WaitForCam = WaitForCam + 0xD4F4;
dead_SetCamProperties = SetCamProperties + 0xD4F4;
dead_AdjustCam = AdjustCam + 0xD508;
dead_ResetCam = ResetCam + 0xD51C;
dead_LoadAnimatedModel = LoadAnimatedModel + 0xD530;
dead_PlayModelAnimation = PlayModelAnimation + 0xD530;
dead_SetAnimatedModelRootPosition = SetAnimatedModelRootPosition + 0xD530;
dead_SetAnimatorFlags = SetAnimatorFlags + 0xD530;
dead_GetAnimatedPositionByTreeIndex = GetAnimatedPositionByTreeIndex + 0xD53C;
dead_GetAnimatedRotationByTreeIndex = GetAnimatedRotationByTreeIndex + 0xD53C;
dead_GetNpcPointer = GetNpcPointer + 0xD560;
dead_SetNpcPos = SetNpcPos + 0xD560;
dead_SetNpcRotation = SetNpcRotation + 0xD560;
dead_func_802CDE68 = func_802CDE68 + 0xD560;
dead_SetNpcCollisionSize = SetNpcCollisionSize + 0xD560;
dead_SetNpcSpeed = SetNpcSpeed + 0xD560;
dead_SetNpcJumpscale = SetNpcJumpscale + 0xD560;
dead_SetNpcAnimation = SetNpcAnimation + 0xD560;
dead_NpcMoveTo = NpcMoveTo + 0xD560;
dead_NpcJump0 = NpcJump0 + 0xD560;
dead_NpcJump1 = NpcJump1 + 0xD560;
dead_NpcFlyTo = NpcFlyTo + 0xD560;
dead_GetNpcYaw = GetNpcYaw + 0xD560;
dead_SetNpcYaw = SetNpcYaw + 0xD560;
dead_InterpNpcYaw = InterpNpcYaw + 0xD560;
dead_NpcFacePlayer = NpcFacePlayer + 0xD560;
dead_NpcFaceNpc = NpcFaceNpc + 0xD560;
dead_SetNpcFlagBits = SetNpcFlagBits + 0xD560;
dead_GetNpcPos = GetNpcPos + 0xD560;
dead_EnableNpcShadow = EnableNpcShadow + 0xD560;
dead_ClearPartnerMoveHistory = ClearPartnerMoveHistory + 0xD560;
dead_DisablePartnerAI = DisablePartnerAI + 0xD560;
dead_EnablePartnerAI = EnablePartnerAI + 0xD560;
dead_func_802CF56C = func_802CF56C + 0xD560;
dead_BringPartnerOut = BringPartnerOut + 0xD560;
dead_PutPartnerAway = PutPartnerAway + 0xD560;
dead_GetCurrentPartnerID = GetCurrentPartnerID + 0xD560;
dead_func_802CFD30 = func_802CFD30 + 0xD560;
dead_SetNpcPaletteSwapMode = SetNpcPaletteSwapMode + 0xD560;
dead_SetNpcPaletteSwapping = SetNpcPaletteSwapping + 0xD560;
dead_PlaySoundAtNpc = PlaySoundAtNpc + 0xD560;
dead_SpeakToPlayer = SpeakToPlayer + 0xD560;
dead_EndSpeech = EndSpeech + 0xD560;
dead_ContinueSpeech = ContinueSpeech + 0xD560;
dead_SpeakToNpc = SpeakToNpc + 0xD560;
dead_ShowMessageAtScreenPos = ShowMessageAtScreenPos + 0xD578;
dead_ShowMessageAtWorldPos = ShowMessageAtWorldPos + 0xD590;
dead_CloseMessage = CloseMessage + 0xD5A8;
dead_SwitchMessage = SwitchMessage + 0xD5B0;
dead_ShowChoice = ShowChoice + 0xD5CC;
dead_HidePlayerShadow = HidePlayerShadow + 0xD620;
dead_DisablePlayerPhysics = DisablePlayerPhysics + 0xD620;
dead_DisablePlayerInput = DisablePlayerInput + 0xD620;
dead_SetPlayerPos = SetPlayerPos + 0xD620;
dead_SetPlayerSpeed = SetPlayerSpeed + 0xD620;
dead_SetPlayerJumpscale = SetPlayerJumpscale + 0xD620;
dead_SetPlayerAnimation = SetPlayerAnimation + 0xD620;
dead_SetPlayerActionState = SetPlayerActionState + 0xD620;
dead_PlayerMoveTo = PlayerMoveTo + 0xD620;
dead_PlayerJump = PlayerJump + 0xD620;
dead_PlayerJump1 = PlayerJump1 + 0xD620;
dead_InterpPlayerYaw = InterpPlayerYaw + 0xD620;
dead_PlayerFaceNpc = PlayerFaceNpc + 0xD620;
dead_GetPlayerTargetYaw = GetPlayerTargetYaw + 0xD620;
dead_SetPlayerFlagBits = SetPlayerFlagBits + 0xD620;
dead_GetPlayerActionState = GetPlayerActionState + 0xD620;
dead_GetPlayerPos = GetPlayerPos + 0xD620;
dead_GetPlayerAnimation = GetPlayerAnimation + 0xD620;
dead_UseExitHeading = UseExitHeading + 0xD620;
dead_IsPlayerOnValidFloor = IsPlayerOnValidFloor + 0xD620;
dead_WaitForPlayerInputEnabled = WaitForPlayerInputEnabled + 0xD620;
dead_func_802D2520 = func_802D2520 + 0xD620;
dead_func_802D286C = func_802D286C + 0xD64C;
dead_func_802D2884 = func_802D2884 + 0xD64C;
dead_GetCurrentPartner = GetCurrentPartner + 0xD64C;
dead_InterruptUsePartner = InterruptUsePartner + 0xD64C;
dead_func_802D2C14 = func_802D2C14 + 0xD64C;
dead_PlaySoundAtPlayer = PlaySoundAtPlayer + 0xD64C;
dead_MakeLerp = MakeLerp + 0xD650;
dead_UpdateLerp = UpdateLerp + 0xD650;
dead_RandInt = RandInt + 0xD650;
dead_GetAngleBetweenNPCs = GetAngleBetweenNPCs + 0xD650;
dead_GetAngleToPlayer = GetAngleToPlayer + 0xD650;
dead_AwaitPlayerApproach = AwaitPlayerApproach + 0xD650;
dead_IsPlayerWithin = IsPlayerWithin + 0xD650;
dead_AwaitPlayerLeave = AwaitPlayerLeave + 0xD650;
dead_LoadPath = LoadPath + 0xD650;
dead_GetNextPathPos = GetNextPathPos + 0xD650;
dead_SetTimeFreezeMode = SetTimeFreezeMode + 0xD650;
dead_ModifyGlobalOverrideFlags = ModifyGlobalOverrideFlags + 0xD650;
dead_SetValueByRef = SetValueByRef + 0xD650;
dead_GetValueByRef = GetValueByRef + 0xD650;
dead_FadeOutMusic = FadeOutMusic + 0xD650;
dead_SetMusicTrack = SetMusicTrack + 0xD650;
dead_FadeInMusic = FadeInMusic + 0xD650;
dead_PopSong = PopSong + 0xD650;
dead_PushSong = PushSong + 0xD650;
dead_PlayAmbientSounds = PlayAmbientSounds + 0xD650;
dead_PlaySound = PlaySound + 0xD650;
dead_PlaySoundAt = PlaySoundAt + 0xD650;
dead_StopSound = StopSound + 0xD650;
dead_func_802D62E4 = func_802D62E4 + 0xD650;
dead_ShowKeyChoicePopup = ShowKeyChoicePopup + 0xD650;
dead_ShowConsumableChoicePopup = ShowConsumableChoicePopup + 0xD650;
dead_RemoveKeyItemAt = RemoveKeyItemAt + 0xD650;
dead_RemoveItemAt = RemoveItemAt + 0xD650;
dead_AddKeyItem = AddKeyItem + 0xD650;
dead_CloseChoicePopup = CloseChoicePopup + 0xD650;
dead_FindKeyItem = FindKeyItem + 0xD650;
dead_FindItem = FindItem + 0xD650;
dead_MakeItemEntity = MakeItemEntity + 0xD650;
dead_DropItemEntity = DropItemEntity + 0xD650;
dead_RemoveItemEntity = RemoveItemEntity + 0xD650;
dead_SetItemPos = SetItemPos + 0xD650;
dead_AddStarPieces = AddStarPieces + 0xD650;
dead_ShowGotItem = ShowGotItem + 0xD650;
dead_ShowEmote = ShowEmote + 0xD650;
dead_func_802D7B10 = func_802D7B10 + 0xD650;
dead_PlayEffect = PlayEffect + 0xD650;
dead_SetSpriteShading = SetSpriteShading + 0xD850;
dead_entity_upgrade_block_hide_content = entity_upgrade_block_hide_content + 0xE470;
dead_Entity_SavePoint = Entity_SavePoint + 0xE4B0;
dead_Entity_MulticoinBlock = Entity_MulticoinBlock + 0xE4B0;
dead_Entity_Hammer3Block = Entity_Hammer3Block + 0xE4B0;
dead_Entity_YellowBlock = Entity_YellowBlock + 0xE4B0;
dead_Entity_HiddenYellowBlock = Entity_HiddenYellowBlock + 0xE4B0;
dead_Entity_HeartBlock = Entity_HeartBlock + 0xE4B0;
dead_Entity_SuperBlock = Entity_SuperBlock + 0xE4B0;
dead_Entity_ScriptSpring = Entity_ScriptSpring + 0xE4B0;
dead_Entity_HiddenPanel = Entity_HiddenPanel + 0xE4B0;
dead_Entity_Chest = Entity_Chest + 0xE4B0;
func_8004D8E0 = 0x8004D8E0;