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 cos_deg dead_cos_deg
#define sin_cos_deg dead_sin_cos_deg #define sin_cos_deg dead_sin_cos_deg
#define gPlayerStatus dead_gPlayerStatus #define gPlayerStatus dead_gPlayerStatus
#define gPlayerActionState dead_gPlayerActionState
#define is_point_within_region dead_is_point_within_region #define is_point_within_region dead_is_point_within_region
#define npc_raycast_down_sides dead_npc_raycast_down_sides #define npc_raycast_down_sides dead_npc_raycast_down_sides
#define basic_ai_check_player_dist dead_basic_ai_check_player_dist #define basic_ai_check_player_dist dead_basic_ai_check_player_dist

View File

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

View File

@ -3,7 +3,7 @@
#include "world/actions.h" #include "world/actions.h"
#include "sprite.h" #include "sprite.h"
// TODO linker stuff // TODO shiftability fix
#define E20110_VRAM_DEF (void*)0x802B7000 #define E20110_VRAM_DEF (void*)0x802B7000
#define E20EB0_VRAM_DEF (void*)0x802B7000 #define E20EB0_VRAM_DEF (void*)0x802B7000
#define E21870_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) { if (dmaStart != NULL && dmaStart != D_8010C924) {
D_8010C924 = dmaStart; 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(); PlayerActionsTable[playerStatus->actionState].update();
@ -295,7 +295,7 @@ void phys_peach_update(void) {
D_8010C924 = action->dmaStart; D_8010C924 = action->dmaStart;
// TODO: This needs to be a defined linker define for full shiftability // 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) { if (PlayerActionsTable[playerStatus->actionState].flag) {

View File

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

View File

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

View File

@ -278,6 +278,7 @@ enum {
VINE_4 = 4, VINE_4 = 4,
}; };
// TODO shiftability fix
enum { enum {
VINE_0_BASE = 0x80234000, VINE_0_BASE = 0x80234000,
VINE_1_BASE = 0x80231000, 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, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
}; };
// TODO extract?
u32 gCrashScreenFont[] = { u32 gCrashScreenFont[] = {
0x70871C30, 0x8988A250, 0x88808290, 0x88831C90, 0x888402F8, 0x88882210, 0x71CF9C10, 0xF9CF9C70, 0x8228A288, 0x70871C30, 0x8988A250, 0x88808290, 0x88831C90, 0x888402F8, 0x88882210, 0x71CF9C10, 0xF9CF9C70, 0x8228A288,
0xF200A288, 0x0BC11C78, 0x0A222208, 0x8A222288, 0x71C21C70, 0x23C738F8, 0x5228A480, 0x8A282280, 0x8BC822F0, 0xF200A288, 0x0BC11C78, 0x0A222208, 0x8A222288, 0x71C21C70, 0x23C738F8, 0x5228A480, 0x8A282280, 0x8BC822F0,

View File

@ -105,7 +105,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x4B */ FX_ENTRY(balloon, effect_gfx_balloon), /* 0x4B */ FX_ENTRY(balloon, effect_gfx_balloon),
/* 0x4C */ FX_ENTRY(floating_rock, effect_gfx_floating_rock), /* 0x4C */ FX_ENTRY(floating_rock, effect_gfx_floating_rock),
/* 0x4D */ FX_ENTRY(chomp_drop, effect_gfx_chomp_drop), /* 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), /* 0x4F */ FX_ENTRY(radiating_energy_orb, effect_gfx_radiating_energy_orb),
/* 0x50 */ FX_ENTRY(quizmo_answer, effect_gfx_quizmo_answer), /* 0x50 */ FX_ENTRY(quizmo_answer, effect_gfx_quizmo_answer),
/* 0x51 */ FX_ENTRY(motion_blur_flame, _3A33D0), /* 0x51 */ FX_ENTRY(motion_blur_flame, _3A33D0),
@ -154,7 +154,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x7C */ FX_ENTRY(lil_oink, effect_gfx_lil_oink), /* 0x7C */ FX_ENTRY(lil_oink, effect_gfx_lil_oink),
/* 0x7D */ FX_ENTRY(something_rotating, effect_gfx_spirit_card), /* 0x7D */ FX_ENTRY(something_rotating, effect_gfx_spirit_card),
/* 0x7E */ FX_ENTRY(breaking_junk, effect_gfx_breaking_junk), /* 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), /* 0x80 */ FX_ENTRY(quizmo_assistant, effect_gfx_quizmo_assistant),
/* 0x81 */ FX_ENTRY(ice_pillar, effect_gfx_ice_pillar), /* 0x81 */ FX_ENTRY(ice_pillar, effect_gfx_ice_pillar),
/* 0x82 */ FX_ENTRY(sun, effect_gfx_sun), /* 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_09000EB8_381258[];
extern Gfx D_09000ED8_381278[]; extern Gfx D_09000ED8_381278[];
extern Gfx D_09000EF8_381298[]; 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_appendGfx(void* effect);
void fire_flower_init(EffectInstance* effect); void fire_flower_init(EffectInstance* effect);
@ -105,11 +104,11 @@ void fire_flower_update(EffectInstance* effect) {
part->unk_04++; part->unk_04++;
break; break;
case 1: case 1:
if (unk_40X >= 8) { if (unk_40X >= ARRAY_COUNT(D_E007EC30)) {
part->unk_40.x = 0; part->unk_40.x = 0;
part->unk_04++; part->unk_04++;
} else { } 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_34 = 0;
part->unk_38 = 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_09004178_3FE628.gfx.inc.c"
#include "effects/gfx/D_090041F0_3FE6A0.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_09004268_3FE718.gfx.inc.c"
#include "effects/gfx/D_090042E0_3FE790.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_09004360_3FE810.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_090043D8_3FE888.vtx.inc.c"
#include "effects/gfx/D_09004418_3FE8C8.gfx.inc.c" #include "effects/gfx/D_09004418_3FE8C8.gfx.inc.c"

View File

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

View File

@ -1,19 +1,19 @@
#include "common.h" #include "common.h"
#include "effects_internal.h" #include "effects_internal.h"
extern Gfx D_09000218[]; extern Gfx D_09000218_398DD8[];
extern Gfx D_09001518[]; extern Gfx D_09001518_39A0D8[];
extern Mtx D_09004148[]; extern Mtx D_09004148_39CD08[];
extern Gfx D_09006D48[]; extern Gfx D_09006D48_39F908[];
extern Gfx D_09006DA0[]; extern Gfx D_09006DA0_39F960[];
extern Gfx D_09006E28[]; extern Gfx D_09006E28_39F9E8[];
extern Gfx D_09006F20[]; extern Gfx D_09006F20_39FAE0[];
extern Gfx D_09006FB0[]; extern Gfx D_09006FB0_39FB70[];
extern Gfx D_09006FD8[]; extern Gfx D_09006FD8_39FB98[];
extern Gfx D_09007030[]; extern Gfx D_09007030_39FBF0[];
extern Gfx D_09007090[]; extern Gfx D_09007090_39FC50[];
extern Gfx D_090070E8[]; extern Gfx D_090070E8_39FCA8[];
extern Gfx D_09007230[]; extern Gfx D_09007230_39FDF0[];
void quizmo_stage_init(EffectInstance* effect); void quizmo_stage_init(EffectInstance* effect);
void quizmo_stage_update(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); gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, microphoneRaiseAmt, microphoneRaiseAmt, microphoneRaiseAmt, 255); 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); 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) { 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_guRotateF(sp18, (data->rearWallRaiseAmt * 180) / 255 - 180, 1.0f, 0.0f, 0.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]); shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09006E28); gSPDisplayList(gMasterGfxPos++, D_09006E28_39F9E8);
gSPDisplayList(gMasterGfxPos++, D_09001518); gSPDisplayList(gMasterGfxPos++, D_09001518_39A0D8);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, data->lightScrollAmt, 0, data->lightScrollAmt + 252, 60); 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); 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_guRotateF(sp18, 90 - (data->leftWallRaiseAmt * 90) / 255, 0.0f, 0.0f, 1.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]); shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); 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); 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_guRotateF(sp18, (data->rightWallRaiseAmt * 90) / 255 - 90, 0.0f, 0.0f, 1.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]); shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); 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); gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_090070E8); gSPDisplayList(gMasterGfxPos++, D_090070E8_39FCA8);
gSPDisplayList(gMasterGfxPos++, D_09007030); gSPDisplayList(gMasterGfxPos++, D_09007030_39FBF0);
gSPDisplayList(gMasterGfxPos++, D_09001518); gSPDisplayList(gMasterGfxPos++, D_09001518_39A0D8);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, data->lightScrollAmt, 0, data->lightScrollAmt + 252, 60); gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, data->lightScrollAmt, 0, data->lightScrollAmt + 252, 60);
gSPDisplayList(gMasterGfxPos++, D_09006FD8); gSPDisplayList(gMasterGfxPos++, D_09006FD8_39FB98);
gSPMatrix(gMasterGfxPos++, &D_09004148[3], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); 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_guRotateF(sp18, 90 - (data->podiumRaiseAmt * 90) / 255, 1.0f, 0.0f, 0.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]); shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); 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); gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09000218); gSPDisplayList(gMasterGfxPos++, D_09000218_398DD8);
gSPDisplayList(gMasterGfxPos++, D_09007090); gSPDisplayList(gMasterGfxPos++, D_09007090_39FC50);
} }
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); 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_render(EffectInstance* effect);
void stars_shimmer_appendGfx(void* effect); void stars_shimmer_appendGfx(void* effect);
extern Gfx D_09000F20[]; extern Gfx D_09000F20_338EE0[];
extern Gfx D_09001210[]; extern Gfx D_090011C8_339188[];
extern Gfx D_09001228[]; extern Gfx D_090011E0_3391A0[];
extern Gfx D_09001240[]; extern Gfx D_090011F8_3391B8[];
extern Gfx D_09001258[]; extern Gfx D_09001210_3391D0[];
extern Gfx D_09001270[]; extern Gfx D_09001228_3391E8[];
extern Gfx D_090011C8[]; extern Gfx D_09001240_339200[];
extern Gfx D_090011E0[]; extern Gfx D_09001258_339218[];
extern Gfx D_090011F8[]; extern Gfx D_09001270_339230[];
Gfx* D_E0044DB0[] = { 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[] = { u8 D_E0044DD0[] = {
@ -313,7 +314,7 @@ void stars_shimmer_appendGfx(void* effect) {
gDPPipeSync(gMasterGfxPos++); gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data)); 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; temp_s4 = (data->lifeTime - 1) * 3;
shim_guTranslateF(sp18, data->pos.x, data->pos.y, data->pos.z); 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, 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 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 }; 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 D_8007783C[] = { NULL, state_init_demo, state_step_demo, NULL, state_drawUI_demo };
StateFunc* gameModeMap[] = { GameMode* gameModeMap[] = {
gameModeBlueprints, D_800776FC, D_80077710, D_80077724, D_80077774, D_80077738, D_8007774C, D_80077760, D_80077788, (GameMode*) gameModeBlueprints,
D_8007779C, D_800777B0, D_800777C4, D_800777D8, D_800777EC, D_80077800, D_80077814, D_80077828, D_8007783C, NULL, (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, NULL,
}; };

View File

@ -8,18 +8,30 @@
s8 gGameStepDelayAmount = 1; s8 gGameStepDelayAmount = 1;
s8 gGameStepDelayCount = 5; 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; GameStatus* gGameStatusPtr = &gGameStatus;
s16 D_800741A0 = 0; s16 D_800741A0 = 0;
s16 D_800741A2 = 0; s16 D_800741A2 = 0;
s32 D_800741A4 = 0; s32 D_800741A4 = 0;
s32 D_800741A8[] = { Mtx D_800741A8 = {
0x00010000, 0x00000000, 0x00000001, 0x00000000, .m = {
0x00000000, 0x00010000, 0x00000000, 0x00000001, { 0x00010000, 0x00000000, 0x00000001, 0x00000000 },
0x00000000, 0x00000000, 0x00000000, 0x00000000, { 0x00000000, 0x00010000, 0x00000000, 0x00000001 },
0x00000000, 0x00000000, 0x00000000, 0x00000000, { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
0x00000000, 0x00000000, { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
}
}; };
s32 D_800741E8[2] = {0, 0}; // padding?
u16 gMatrixListPos = 0; u16 gMatrixListPos = 0;
u16 D_800741F2 = 0; u16 D_800741F2 = 0;
s32 gCurrentDisplayContextIndex = 0; s32 gCurrentDisplayContextIndex = 0;
@ -180,7 +192,7 @@ void gfx_draw_frame(void) {
return; 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(); spr_render_init();

View File

@ -9,6 +9,8 @@ extern s32 D_800A08C0;
static void nuSiMgrThread(void* arg); static void nuSiMgrThread(void* arg);
extern u64 siMgrStack[NU_SI_STACK_SIZE/sizeof(u64)];
u8 nuSiMgrInit(void) { u8 nuSiMgrInit(void) {
u8 pattern; u8 pattern;
OSContStatus status[NU_CONT_MAXCONTROLLERS]; 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); osStartThread(&siMgrThread);
return pattern; return pattern;
} }

View File

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

View File

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

View File

@ -1,12 +1,14 @@
#include "dgb_01.h" #include "dgb_01.h"
extern char world_area_dgb_dgb_01_img0_png[];
Gfx D_80247F70_C057F0[] = { Gfx D_80247F70_C057F0[] = {
gsDPSetTextureLUT(G_TT_NONE), gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA), gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTextureDetail(G_TD_CLAMP), gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE), 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), gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP), gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(), gsSPEndDisplayList(),

View File

@ -1,12 +1,14 @@
#include "dgb_01.h" #include "dgb_01.h"
extern char world_area_dgb_dgb_01_img1_png[];
Gfx D_80248FF0_C06870[] = { Gfx D_80248FF0_C06870[] = {
gsDPSetTextureLUT(G_TT_NONE), gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA), gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTextureDetail(G_TD_CLAMP), gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE), 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), gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP), gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(), gsSPEndDisplayList(),

View File

@ -1,12 +1,14 @@
#include "dgb_01.h" #include "dgb_01.h"
extern char world_area_dgb_dgb_01_img2_png[];
Gfx D_80249870_C070F0[] = { Gfx D_80249870_C070F0[] = {
gsDPSetTextureLUT(G_TT_NONE), gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA), gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTextureDetail(G_TD_CLAMP), gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE), 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), gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP), gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(), gsSPEndDisplayList(),

View File

@ -1,12 +1,14 @@
#include "dgb_01.h" #include "dgb_01.h"
extern char world_area_dgb_dgb_01_img3_png[];
Gfx D_80249CF0_C07570[] = { Gfx D_80249CF0_C07570[] = {
gsDPSetTextureLUT(G_TT_NONE), gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA), gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTextureDetail(G_TD_CLAMP), gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE), 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), gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP), gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(), gsSPEndDisplayList(),

View File

@ -1,12 +1,14 @@
#include "dgb_01.h" #include "dgb_01.h"
extern char world_area_dgb_dgb_01_img4_png[];
Gfx D_8024A170_C079F0[] = { Gfx D_8024A170_C079F0[] = {
gsDPSetTextureLUT(G_TT_NONE), gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA), gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTextureDetail(G_TD_CLAMP), gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE), 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), gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP), gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(), gsSPEndDisplayList(),

View File

@ -1,12 +1,14 @@
#include "dgb_01.h" #include "dgb_01.h"
extern char world_area_dgb_dgb_01_img5_png[];
Gfx D_8024A5F0_C07E70[] = { Gfx D_8024A5F0_C07E70[] = {
gsDPSetTextureLUT(G_TT_NONE), gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA), gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTextureDetail(G_TD_CLAMP), gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE), 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), gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP), gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(), gsSPEndDisplayList(),

View File

@ -1,12 +1,14 @@
#include "dgb_01.h" #include "dgb_01.h"
extern char world_area_dgb_dgb_01_img6_png[];
Gfx D_8024AE70_C086F0[] = { Gfx D_8024AE70_C086F0[] = {
gsDPSetTextureLUT(G_TT_NONE), gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA), gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTextureDetail(G_TD_CLAMP), gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE), 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), gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP), gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(), gsSPEndDisplayList(),

View File

@ -1,12 +1,14 @@
#include "dgb_01.h" #include "dgb_01.h"
extern char world_area_dgb_dgb_01_img7_png[];
Gfx D_8024B6F0_C08F70[] = { Gfx D_8024B6F0_C08F70[] = {
gsDPSetTextureLUT(G_TT_NONE), gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA), gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTextureDetail(G_TD_CLAMP), gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE), 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), gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP), gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(), gsSPEndDisplayList(),

View File

@ -191,7 +191,7 @@ EvtScript N(80241FBC) = {
}; };
s32 N(unk_missing_8024202C)[] = { 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, 0x00000000, 0x00000000, 0x000D0000,
}; };

View File

@ -95,7 +95,6 @@ extern s32 D_8024ACB8_A34EF8;
extern f32 D_8024AEC4_A35104; extern f32 D_8024AEC4_A35104;
extern f32 D_8024AEC8_A35108; extern f32 D_8024AEC8_A35108;
// BSS?
BSS f32 D_8024F2C8; BSS f32 D_8024F2C8;
BSS f32 D_8024F2CC; BSS f32 D_8024F2CC;
BSS f32 D_8024F2D0; // unused? BSS f32 D_8024F2D0; // unused?
@ -109,9 +108,25 @@ BSS f32 D_8024F2EC;
BSS f32 D_8024F2F0; BSS f32 D_8024F2F0;
BSS f32 D_8024F2F4; BSS f32 D_8024F2F4;
BSS f32 D_8024F2F8; 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_8024F374;
BSS f32 D_8024F378; 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) { ApiStatus func_80240880_A2AAC0(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos; Bytecode* args = script->ptrReadPos;

View File

@ -13,42 +13,42 @@ extern u8 D_802D9D73;
#define NAMESPACE hos_05 #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) { ApiStatus func_802452C4_A2F504(Evt* script, s32 isInitialCall) {
Bytecode* args; 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; args = script->ptrReadPos;
if (isInitialCall) { if (isInitialCall) {
get_model_env_color_parameters(&oldPrimR, &oldPrimG, &oldPrimB, &oldEnvR, &oldEnvG, &oldEnvB); get_model_env_color_parameters(&N(oldPrimR), &N(oldPrimG), &N(oldPrimB), &N(oldEnvR), &N(oldEnvG), &N(oldEnvB));
newPrimR = evt_get_variable(script, *args++); N(newPrimR) = evt_get_variable(script, *args++);
newPrimG = evt_get_variable(script, *args++); N(newPrimG) = evt_get_variable(script, *args++);
newPrimB = evt_get_variable(script, *args++); N(newPrimB) = evt_get_variable(script, *args++);
newEnvR = evt_get_variable(script, *args++); N(newEnvR) = evt_get_variable(script, *args++);
newEnvG = evt_get_variable(script, *args++); N(newEnvG) = evt_get_variable(script, *args++);
newEnvB = evt_get_variable(script, *args++); N(newEnvB) = evt_get_variable(script, *args++);
duration = evt_get_variable(script, *args++); N(duration) = evt_get_variable(script, *args++);
time = 0; N(time) = 0;
} }
if (duration > 0) { if (N(duration) > 0) {
time++; N(time)++;
set_model_env_color_parameters( set_model_env_color_parameters(
(oldPrimR + ((newPrimR - oldPrimR) * time) / duration), (N(oldPrimR) + ((N(newPrimR) - N(oldPrimR)) * N(time)) / N(duration)),
(oldPrimG + ((newPrimG - oldPrimG) * time) / duration), (N(oldPrimG) + ((N(newPrimG) - N(oldPrimG)) * N(time)) / N(duration)),
(oldPrimB + ((newPrimB - oldPrimB) * time) / duration), (N(oldPrimB) + ((N(newPrimB) - N(oldPrimB)) * N(time)) / N(duration)),
(oldEnvR + ( (newEnvR - oldEnvR) * time) / duration), (N(oldEnvR) + ( (N(newEnvR) - N(oldEnvR)) * N(time)) / N(duration)),
(oldEnvG + ( (newEnvG - oldEnvG) * time) / duration), (N(oldEnvG) + ( (N(newEnvG) - N(oldEnvG)) * N(time)) / N(duration)),
(oldEnvB + ( (newEnvB - oldEnvB) * time) / duration)); (N(oldEnvB) + ( (N(newEnvB) - N(oldEnvB)) * N(time)) / N(duration)));
if (time >= duration) { if (N(time) >= N(duration)) {
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
} else { } 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_DONE2;
} }
return ApiStatus_BLOCK; 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" #define PARTY_IMAGE "party_opuku"
// #include "world/common/todo/LoadPartyImage.inc.c" // #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; u32 decompressedSize;
void* compressed = load_asset_by_name(PARTY_IMAGE, &decompressedSize); void* compressed = load_asset_by_name(PARTY_IMAGE, &decompressedSize);
decode_yay0(compressed, &palette); decode_yay0(compressed, &N(palette));
general_heap_free(compressed); general_heap_free(compressed);
image.raster = raster; N(image).raster = N(raster);
image.palette = palette; N(image).palette = N(palette);
image.width = 150; N(image).width = 150;
image.height = 105; N(image).height = 105;
image.format = G_IM_FMT_CI; N(image).format = G_IM_FMT_CI;
image.bitDepth = G_IM_SIZ_8b; N(image).bitDepth = G_IM_SIZ_8b;
set_message_images(&image); set_message_images(&N(image));
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }

View File

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

View File

@ -1,5 +1,9 @@
#include "kmr_02.h" #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); INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B3A10", kmr_02_LoadPartyImage);
// #define PARTY_IMAGE "party_kurio" // #define PARTY_IMAGE "party_kurio"

View File

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

View File

@ -1,6 +1,17 @@
#include "kmr_20.h" #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" #include "world/common/entity/Pipe.inc.c"

View File

@ -1,10 +1,11 @@
#include "kmr_20.h" #include "kmr_20.h"
#include "animation_script.h"
#include "world/common/todo/StashVars.inc.c" #include "world/common/todo/StashVars.inc.c"
#include "world/common/todo/GetItemName.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) { ApiStatus func_80241738_8ED558(Evt* script, s32 isInitialCall) {
Entity* entity = get_entity_by_index(0); Entity* entity = get_entity_by_index(0);
@ -13,6 +14,6 @@ ApiStatus func_80241738_8ED558(Evt* script, s32 isInitialCall) {
return ApiStatus_BLOCK; return ApiStatus_BLOCK;
} }
play_model_animation(entity->virtualModelIndex, (s16*)EntityModel_Spring_ReboundAnim); play_model_animation(entity->virtualModelIndex, Entity_SimpleSpring_AnimLaunch);
return ApiStatus_DONE2; 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_ToadHouse_ReturnFromRest);
extern EvtScript N(EVS_MerlonBargeOut); 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_Wander.inc.c"
#include "world/common/npc/Toad_Patrol.inc.c" #include "world/common/npc/Toad_Patrol.inc.c"
#include "world/common/npc/Toad_Stationary.inc.c" #include "world/common/npc/Toad_Stationary.inc.c"
@ -1310,6 +1307,10 @@ StaticNpc N(NpcData_Ninji) = {
.tattle = MSG_NpcTattle_MAC_PowerHungryToadKid, .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/rowf_and_rhuff.inc.c"
#include "npc/post_office.inc.c" #include "npc/post_office.inc.c"
#include "npc/flower_gate.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; 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); 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)[] = { s32 N(missing_80240CE4_CE4)[] = {
0x002E0001, 0x001A0020, 0x80240820, 0x00000000, 0x80240844, 0x80240A48, 0x00000000, 0x80240B80, 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, 0x80240C0C, 0x00000000, 0x80240C1C, 0x00000000, 0x00000000, 0x000A0000, 0x002D0001, 0x000E001F, (s32) trd_09_EVS_NpcAuxAI_BulletBill, 0x00000000, (s32) trd_09_D_80240C1C_9BE27C,
0x80077F70, 0x00000000, 0x80240C2C, 0x00000000, 0x00000000, 0x00050000, (s32) EnemyNpcHit, 0x00000000, (s32) trd_09_D_80240C2C_9BE28C, 0x00000000, 0x00000000, 0x00050000,
}; };
EvtScript N(EVS_NpcAuxAI_KoopaBros_Red) = { EvtScript N(EVS_NpcAuxAI_KoopaBros_Red) = {

View File

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

View File

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

View File

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

View File

@ -3,6 +3,8 @@ N64 f3dex display list splitter
Dumps out Gfx[] as a .inc.c file. Dumps out Gfx[] as a .inc.c file.
""" """
import re
from pathlib import Path from pathlib import Path
from pygfxd import ( from pygfxd import (
@ -39,6 +41,8 @@ from util.log import error
from segtypes.common.codesubsegment import CommonSegCodeSubsegment from segtypes.common.codesubsegment import CommonSegCodeSubsegment
LIGHTS_RE = re.compile(r"\*\(Lightsn \*\)0x[0-9A-F]{8}")
class N64SegGfx(CommonSegCodeSubsegment): class N64SegGfx(CommonSegCodeSubsegment):
def __init__( def __init__(
@ -223,6 +227,17 @@ class N64SegGfx(CommonSegCodeSubsegment):
out_str += gfxd_buffer_to_string(outbuf) out_str += gfxd_buffer_to_string(outbuf)
out_str += "};\n" 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 return out_str
def split(self, rom_bytes: bytes): def split(self, rom_bytes: bytes):

View File

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

View File

@ -722,4 +722,7 @@ dlabel CreateEntityVarArgBuffer
.space 0x00000010 .space 0x00000010
dlabel D_8015C7E0 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) /* 41B0D0 802A6340 269478E0 */ addiu $s4, $s4, %lo(gItemTable)
/* 41B0D4 802A6344 24120002 */ addiu $s2, $zero, 2 /* 41B0D4 802A6344 24120002 */ addiu $s2, $zero, 2
/* 41B0D8 802A6348 02A0882D */ daddu $s1, $s5, $zero /* 41B0D8 802A6348 02A0882D */ daddu $s1, $s5, $zero
/* 41B0DC 802A634C 3C03802B */ lui $v1, %hi(D_802AB513) /* 41B0DC 802A634C 3C03802B */ lui $v1, %hi(D_802AB4F0 + 0x23)
/* 41B0E0 802A6350 9063B513 */ lbu $v1, %lo(D_802AB513)($v1) /* 41B0E0 802A6350 9063B513 */ lbu $v1, %lo(D_802AB4F0 + 0x23)($v1)
/* 41B0E4 802A6354 24020155 */ addiu $v0, $zero, 0x155 /* 41B0E4 802A6354 24020155 */ addiu $v0, $zero, 0x155
/* 41B0E8 802A6358 A6C201AE */ sh $v0, 0x1ae($s6) /* 41B0E8 802A6358 A6C201AE */ sh $v0, 0x1ae($s6)
/* 41B0EC 802A635C A2D001F6 */ sb $s0, 0x1f6($s6) /* 41B0EC 802A635C A2D001F6 */ sb $s0, 0x1f6($s6)

View File

@ -4793,7 +4793,95 @@ segments:
vram: 0xE009C000 vram: 0xE009C000
subsegments: subsegments:
- [0x3981F0, c, quizmo_stage] - [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 - name: effect_radiating_energy_orb
dir: effects dir: effects
type: code type: code
@ -6420,39 +6508,41 @@ segments:
subsegments: subsegments:
- [0x404220, c, partner_buff] - [0x404220, c, partner_buff]
- [0x404E40] - [0x404E40]
- type: group # partner_buff gfx - name: effect_gfx_partner_buff
dir: effects/gfx
type: code
start: 0x404F40 start: 0x404F40
align: 16 vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments: subsegments:
- [0x404F40, c, partner_buff]
- start: 0x404F40 - start: 0x404F40
type: ci4 type: .data
name: world/cloud name: partner_buff
flip_y: true subsegments:
width: 32 - [0x404F40, ci4, world/cloud, 32, 32]
height: 32 - [0x405140, palette, world/cloud]
- [0x405140, palette, world/cloud] - [0x405160] # padding
- start: 0x405340 - [0x405340, ci4, world/waterblock, 32, 32]
type: ci4 - [0x405540, palette, world/waterblock]
name: world/waterblock - [0x405560] # padding
flip_y: true - [0x405740, ci4, world/yellow_carpet, 32, 32]
width: 32 - [0x405940, palette, world/yellow_carpet]
height: 32 - [0x405960] # padding
- [0x405540, palette, world/waterblock] - [0x405B40, ci4, world/numbers, 32, 32, world/numbers] # number0
- start: 0x405740 - [0x405D40, ci4, world/number1, 32, 32, world/numbers]
type: ci4 - [0x405F40, ci4, world/number2, 32, 32, world/numbers]
name: world/yellow_carpet - [0x406140, ci4, world/number3, 32, 32, world/numbers]
flip_y: true - [0x406340, ci4, world/number4, 32, 32, world/numbers]
width: 32 - [0x406540, palette, world/numbers]
height: 32 - [0x406560] # padding
- [0x405940, palette, world/yellow_carpet] - [0x406740, gfx, D_09001800_406740]
- start: 0x405B40 - [0x4068E0, gfx, D_090019A0_4068E0]
type: ci4 - [0x406958, gfx, D_09001A18_406958]
name: world/numbers - [0x4069D0, gfx, D_09001A90_4069D0]
flip_y: true - [0x406A48, gfx, D_09001B08_406A48]
width: 32 - [0x406AC0, gfx, D_09001B80_406AC0]
height: 160 - [0x406B38]
- [0x406540, palette, world/numbers]
- [0x406740, bin]
- name: effect_quizmo_assistant - name: effect_quizmo_assistant
dir: effects dir: effects
type: code type: code
@ -14703,8 +14793,7 @@ segments:
vram: 0x802B6000 vram: 0x802B6000
subsegments: subsegments:
- [0xE2A340, c, use_tweester] - [0xE2A340, c, use_tweester]
- [0xE2A690, data, use_tweester] - [0xE2A690]
- [0xE2A6A0]
- type: code - type: code
name: world_action_sneaky_parasol name: world_action_sneaky_parasol
dir: world/action dir: world/action
@ -14712,8 +14801,7 @@ segments:
vram: 0x802B6000 vram: 0x802B6000
subsegments: subsegments:
- [0xE2A6B0, c, sneaky_parasol] - [0xE2A6B0, c, sneaky_parasol]
- [0xE2B430, data, sneaky_parasol] - [0xE2B430]
- [0xE2B440]
- type: code - type: code
dir: entity/default dir: entity/default
start: 0xE2B530 start: 0xE2B530

View File

@ -3967,7 +3967,6 @@ D_8010EF9E = 0x8010EF9E; // type:data rom:0xA844E
D_8010EF9F = 0x8010EF9F; // type:data rom:0xA844F D_8010EF9F = 0x8010EF9F; // type:data rom:0xA844F
D_8010EFA0 = 0x8010EFA0; // type:data rom:0xA8450 D_8010EFA0 = 0x8010EFA0; // type:data rom:0xA8450
gPlayerStatus = 0x8010EFC8; // rom:0xA8478 size:0x288 gPlayerStatus = 0x8010EFC8; // rom:0xA8478 size:0x288
gPlayerActionState = 0x8010F07C; // rom:0xA852C
gPlayerAnimation = 0x8010F080; // rom:0xA8530 gPlayerAnimation = 0x8010F080; // rom:0xA8530
SetEntityCullMode = 0x80111E9C; // type:func rom:0xA859C SetEntityCullMode = 0x80111E9C; // type:func rom:0xA859C
UseDynamicShadow = 0x80111F2C; // type:func rom:0xA862C UseDynamicShadow = 0x80111F2C; // type:func rom:0xA862C
@ -26188,7 +26187,6 @@ D_80242A00 = 0x80242A00; // type:data
D_80242AC4 = 0x80242AC4; // type:data D_80242AC4 = 0x80242AC4; // type:data
dgb_15_pad_2AC8 = 0x80242AC8; // type:data dgb_15_pad_2AC8 = 0x80242AC8; // type:data
flo_14_pad_2BF4 = 0x80242BF4; // type:data flo_14_pad_2BF4 = 0x80242BF4; // type:data
D_80242C00 = 0x80242C00; // type:data
flo_08_pad_2EA8 = 0x80242EA8; // type:data flo_08_pad_2EA8 = 0x80242EA8; // type:data
D_80242FB0 = 0x80242FB0; // type:data D_80242FB0 = 0x80242FB0; // type:data
dgb_03_pad_30D8 = 0x802430D8; // 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 kzn_17_LetterDelivery_SavedNpcAnim = 0x802467B4; // type:data
flo_00_pad_684C = 0x8024684C; // type:data flo_00_pad_684C = 0x8024684C; // type:data
dead_kzn_17_LetterDelivery_SavedNpcAnim = 0x80246894; // type:data dead_kzn_17_LetterDelivery_SavedNpcAnim = 0x80246894; // type:data
D_80246990 = 0x80246990; // type:data
dgb_08_pad_69DC = 0x802469DC; // type:data dgb_08_pad_69DC = 0x802469DC; // type:data
D_80246A20 = 0x80246A20; // type:data D_80246A20 = 0x80246A20; // type:data
D_80246BE8 = 0x80246BE8; // 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_80117163 = 0x80117160; // type:data dead:yes
dead_gPartnerActionStatus = 0x80117160; // type:data dead:yes dead_gPartnerActionStatus = 0x80117160; // type:data dead:yes
dead_gPlayerStatus = 0x80117578; // 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_gPlayerData = 0x80117840; // type:data dead:yes
dead_gCollisionStatus = 0x80169B10; // type:data dead:yes dead_gCollisionStatus = 0x80169B10; // type:data dead:yes
dead_evt_get_variable = 0x802D4E8C; // type:func 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_000B32E0 = 0x000B32E0; // todo look into
D_000B3AE0 = 0x000B3AE0; // 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 // hacks for various things
fx_sun_undeclared = fx_sun; 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_802AD673 = 0x802AD673; // remove when func_802A45D8 is decompiled with D_802AD670 instead of D_802AD673
D_E007EC2F = 0xE007EC2F;
// hard-coded heapy things // hard-coded heapy things
D_80197000 = 0x80197000; // effect tlb stuff D_80197000 = 0x80197000; // effect tlb stuff
@ -67,49 +31,6 @@ D_8038F800 = 0x8038F800;
D_803B5000 = 0x803B5000; D_803B5000 = 0x803B5000;
heap_battleHead = 0x803DA800; 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 // Letter delivery BSS
mac_05_LetterDelivery_SavedNpcAnim = 0x80252D38; mac_05_LetterDelivery_SavedNpcAnim = 0x80252D38;
mac_00_LetterDelivery_SavedNpcAnim = 0x80255ED8; mac_00_LetterDelivery_SavedNpcAnim = 0x80255ED8;
@ -180,17 +101,12 @@ kmr_02_Quizmo_StageEffect = 0x80257F48;
kmr_02_Quizmo_AudienceEffect = 0x80257F4C; kmr_02_Quizmo_AudienceEffect = 0x80257F4C;
kmr_02_Quizmo_VannaTEffect = 0x80257F50; kmr_02_Quizmo_VannaTEffect = 0x80257F50;
// Unsolved BSS Mysteries
D_80164000 = 0x80164000; // display contexts, part of bss3
D_802AB513 = 0x802AB513;
// os stuff // os stuff
osTvType = 0x80000300; osTvType = 0x80000300;
osRomBase = 0x80000308; osRomBase = 0x80000308;
osMemSize = 0x80000318; osMemSize = 0x80000318;
osResetType = 0x8000030C; osResetType = 0x8000030C;
osAppNMIBuffer = 0x8000031C; osAppNMIBuffer = 0x8000031C;
D_800A08C0 = 0x800A08C0; // same as blendedCamSettings but seemingly a different symbol?
// boot // boot
D_A0000000 = 0xA0000000; D_A0000000 = 0xA0000000;
@ -216,352 +132,340 @@ D_B0000008 = 0xB0000008;
D_B0000010 = 0xB0000010; D_B0000010 = 0xB0000010;
// Invalid pointers from dead code // Invalid pointers from dead code
dead_atan2 = 0x8002AF70; dead_transform_point = transform_point + 0x12F0;
dead_gCurrentCamID = 0x800A158C; dead_dma_copy = dma_copy + 0x12F0;
dead_gCameras = 0x800B8D80; dead_rand_int = rand_int + 0x12F0;
dead_wPartnerHudScripts = 0x80100060; dead_clamp_angle = clamp_angle + 0x12F0;
dead_wDisabledPartnerHudScripts = 0x801000A0; dead_get_clamped_angle_diff = get_clamped_angle_diff + 0x12F0;
dead_evt_get_variable = 0x802D4E8C; dead_atan2 = atan2 + 0x12F0;
dead_evt_set_variable = 0x802D5468; dead_dist2D = dist2D + 0x12F0;
dead_evt_get_float_variable = 0x802D57FC; dead_dist3D = dist3D + 0x12F0;
dead_sin_rad = 0x8002B45C; dead_add_vec2D_polar = add_vec2D_polar + 0x12F0;
dead_cos_rad = 0x8002B4C0; dead_sin_rad = sin_rad + 0x12F0;
dead_evt_set_float_variable = 0x802D5A10; dead_cos_rad = cos_rad + 0x12F0;
dead_fx_sparkles = 0x80075170; dead_sin_cos_deg = sin_cos_deg + 0x12F0;
dead_gPlayerStatusPtr = 0x800FFC90; dead_sin_deg = sin_deg + 0x12F0;
dead_set_main_pan_u = 0x80126064; dead_cos_deg = cos_deg + 0x12F0;
dead_set_main_pan_v = 0x8012607C; dead_update_lerp = update_lerp + 0x12F0;
dead_set_aux_pan_u = 0x80126094; dead_general_heap_malloc = general_heap_malloc + 0x12F0;
dead_set_aux_pan_v = 0x801260AC; dead_general_heap_free = general_heap_free + 0x12F0;
dead_get_npc_unsafe = 0x8003E4BC; dead_heap_malloc = heap_malloc + 0x12F0;
dead_fx_emote = 0x80075110; dead_heap_free = heap_free + 0x12F0;
dead_get_enemy = 0x80042AF4; dead_get_screen_coords = get_screen_coords + 0x1784;
dead_dist2D = 0x8002B1C4; dead_get_npc_by_index = get_npc_by_index + 0x3960;
dead_get_clamped_angle_diff = 0x8002AF18; dead_npc_move_heading = npc_move_heading + 0x39D0;
dead_clamp_angle = 0x8002AE14; dead_get_npc_unsafe = get_npc_unsafe + 0x39D0;
dead_add_vec2D_polar = 0x8002B28C; dead_get_npc_safe = get_npc_safe + 0x39EC;
dead_ai_enemy_play_sound = 0x8004D800; dead_disable_npc_shadow = disable_npc_shadow + 0x39EC;
dead_basic_ai_wander_init = 0x8004D9C0; dead_set_npc_yaw = set_npc_yaw + 0x3A10;
dead_basic_ai_wander = 0x8004DAD8; dead_func_8003D660 = func_8003D660 + 0x3A20;
dead_basic_ai_loiter_init = 0x8004DF64; dead_get_enemy = get_enemy + 0x3E0C;
dead_basic_ai_loiter = 0x8004E024; dead_SetEncounterStatusFlags = SetEncounterStatusFlags + 0x40A0;
dead_basic_ai_found_player_jump_init = 0x8004E25C; dead_IsStartingConversation = IsStartingConversation + 0x40A0;
dead_basic_ai_found_player_jump = 0x8004E2EC; dead_func_80044238 = func_80044238 + 0x40A0;
dead_basic_ai_chase_init = 0x8004E39C; dead_MakeNpcs = MakeNpcs + 0x40A0;
dead_basic_ai_chase = 0x8004E544; dead_RemoveNpc = RemoveNpc + 0x40A0;
dead_basic_ai_lose_player = 0x8004E808; dead_GetBattleOutcome = GetBattleOutcome + 0x40A0;
dead_basic_ai_suspend = 0x8004EB8C; dead_GetOwnerEncounterTrigger = GetOwnerEncounterTrigger + 0x40A0;
dead_basic_ai_check_player_dist = 0x8004D1A4; dead_DoNpcDefeat = DoNpcDefeat + 0x40A0;
dead_npc_move_heading = 0x8003E424; dead_StartBossBattle = StartBossBattle + 0x40A0;
dead_sqrtf = 0x80067040; dead_BindNpcAI = BindNpcAI + 0x40A0;
dead_npc_test_move_simple_with_slipping = 0x800E5304; dead_BindNpcIdle = BindNpcIdle + 0x40B0;
dead_npc_raycast_down_sides = 0x800E423C; dead_EnableNpcAI = EnableNpcAI + 0x40B0;
dead_is_point_within_region = 0x8004D0C4; dead_SetNpcAux = SetNpcAux + 0x40B0;
dead_rand_int = 0x8002ACEC; dead_BindNpcAux = BindNpcAux + 0x40B0;
dead_get_npc_safe = 0x8003E534; dead_BindNpcInteract = BindNpcInteract + 0x40B0;
dead_heap_malloc = 0x8002BFD4; dead_BindNpcHit = BindNpcHit + 0x40B0;
dead_heap_free = 0x8002C01C; dead_BindNpcDefeat = BindNpcDefeat + 0x40B0;
dead_general_heap_malloc = 0x8002BF18; dead_SetSelfVar = SetSelfVar + 0x40B0;
dead_heap_free = 0x8002C01C; dead_GetSelfVar = GetSelfVar + 0x40B0;
dead_sin_deg = 0x8002B5DC; dead_SetNpcVar = SetNpcVar + 0x40B0;
dead_cos_deg = 0x8002B640; dead_SetSelfEnemyFlagBits = SetSelfEnemyFlagBits + 0x40B0;
dead_sin_cos_deg = 0x8002B524; dead_SelfEnemyOverrideSyncPos = SelfEnemyOverrideSyncPos + 0x40B0;
dead_subtract_hp = 0x800F1EF8; dead_GetSelfNpcID = GetSelfNpcID + 0x40B0;
dead_sfx_adjust_env_sound_pos = 0x8015704C; dead_SetEnemyFlagBits = SetEnemyFlagBits + 0x40B0;
dead_fx_star_spirits_energy = 0x80077C30; dead_GetSelfAnimationFromTable = GetSelfAnimationFromTable + 0x40B0;
dead_update_lerp = 0x8002B6A4; dead_OnPlayerFled = OnPlayerFled + 0x40B0;
dead_fx_spirit_card = 0x80077930; dead_is_point_within_region = is_point_within_region + 0x40F0;
dead_create_shadow_type = 0x8011AAB4; dead_basic_ai_check_player_dist = basic_ai_check_player_dist + 0x40F0;
dead_dist3D = 0x8002B21C; dead_ai_enemy_play_sound = ai_enemy_play_sound + 0x4340;
dead_LoadPath = 0x802E2A80; dead_basic_ai_wander_init = basic_ai_wander_init + 0x4420;
dead_GetNextPathPos = 0x802E2B74; dead_basic_ai_wander = basic_ai_wander + 0x4420;
dead_queue_render_task = 0x80128510; dead_basic_ai_loiter_init = basic_ai_loiter_init + 0x4420;
dead_create_worker_world = 0x8012DFE8; dead_basic_ai_loiter = basic_ai_loiter + 0x4420;
dead_GetEntryID = 0x802D790C; dead_basic_ai_found_player_jump_init = basic_ai_found_player_jump_init + 0x4420;
dead_SetMusicTrack = 0x802E339C; dead_basic_ai_found_player_jump = basic_ai_found_player_jump + 0x4420;
dead_FadeInMusic = 0x802E3444; dead_basic_ai_chase_init = basic_ai_chase_init + 0x4420;
dead_RandInt = 0x802E1D00; dead_basic_ai_chase = basic_ai_chase + 0x4420;
dead_PlayEffect = 0x802E58EC; dead_basic_ai_lose_player = basic_ai_lose_player + 0x4420;
dead_DisablePlayerInput = 0x802DE448; dead_BasicAI_Main = BasicAI_Main + 0x4420;
dead_ModifyColliderFlags = 0x802D7278; dead_basic_ai_suspend = basic_ai_suspend + 0x4450;
dead_PlayerMoveTo = 0x802DE754; dead_snd_ambient_80055618 = snd_ambient_80055618 + 0x44B0;
dead_InterpPlayerYaw = 0x802DEF5C; dead_get_current_map_settings = get_current_map_settings + 0x4540;
dead_PlaySoundAtCollider = 0x802D7AC0; dead_load_asset_by_name = load_asset_by_name + 0x4550;
dead_MakeLerp = 0x802E1C00; dead_osVirtualToPhysical = osVirtualToPhysical + 0x5150;
dead_UpdateLerp = 0x802E1C7C; dead_sqrtf = sqrtf + 0x5150;
dead_RotateGroup = 0x802D6D84; dead_guMtxIdentF = guMtxIdentF + 0x51C0;
dead_func_802D2C14 = 0x802E0260; dead_guMtxF2L = guMtxF2L + 0x51C0;
dead_GotoMap = 0x802D78AC; dead_guMtxCatF = guMtxCatF + 0x51C0;
dead_UseExitHeading = 0x802DF78C; dead_guTranslateF = guTranslateF + 0x51C0;
dead_ExitWalk = 0x80286004; dead_decode_yay0 = decode_yay0 + 0x5280;
dead_GetLoadType = 0x802D796C; dead_fx_emote = fx_emote + 0x5280;
dead_EnterSavePoint = 0x80285FC0; dead_fx_sparkles = fx_sparkles + 0x5280;
dead_EnterWalk = 0x80285C70; dead_fx_radial_shimmer = fx_radial_shimmer + 0x5280;
dead_SetSpriteShading = 0x802E6F50; dead_fx_motion_blur_flame = fx_motion_blur_flame + 0x5280;
dead_SetCamLeadPlayer = 0x802D8B60; dead_fx_energy_orb_wave = fx_energy_orb_wave + 0x5280;
dead_SetCamPerspective = 0x802D7CD8; dead_fx_misc_particles = fx_misc_particles + 0x5280;
dead_SetCamBGColor = 0x802D8248; dead_fx_spirit_card = fx_spirit_card + 0x5280;
dead_SetCamEnabled = 0x802D7B70; dead_fx_sun = fx_sun + 0x5280;
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_fx_sun_undeclared = dead_fx_sun; dead_fx_sun_undeclared = dead_fx_sun;
dead_func_8003D660 = 0x80041080; dead_fx_star_spirits_energy = fx_star_spirits_energy + 0x5280;
dead_set_max_SP = 0x800F1D9C; dead_gGameStatusPtr = gGameStatusPtr + 0x5294;
dead_sync_status_menu = 0x800F1730; dead_gMatrixListPos = gMatrixListPos + 0x5350;
dead_get_npc_by_index = 0x8003C43C; dead_gCurrentCameraID = gCurrentCameraID + 0x5350;
dead_increment_status_menu_disabled = 0x800F1718; dead_EnemyNpcHit = EnemyNpcHit + 0x5450;
dead_decrement_status_menu_disabled = 0x800F16F4; dead_EnemyNpcDefeat = EnemyNpcDefeat + 0x5450;
dead_get_model_list_index_from_tree_index = 0x80125270; dead_gItemTable = gItemTable + 0x59E0;
dead_get_model_from_list_index = 0x80124F44; dead_gPartnerPopupProperties = gPartnerPopupProperties + 0x59E0;
dead_guTranslateF = 0x8006CAC0; dead_EVS_NpcHitRecoil = EVS_NpcHitRecoil + 0x59E0;
dead_fx_misc_particles = 0x800775D0; dead_nuGfxZBuffer = nuGfxZBuffer + 0x6F54;
dead_entity_upgrade_block_hide_content = 0x802F3B00; dead_gCurrentCamID = gCurrentCamID + 0x6F58;
dead_create_popup_menu = 0x800FCD0C; dead_nuGfxCfb_ptr = nuGfxCfb_ptr + 0x6F58;
dead_hide_popup_menu = 0x800F9260; dead_gOverrideFlags = gOverrideFlags + 0x6F58;
dead_destroy_popup_menu = 0x800F93E8; dead_gMasterGfxPos = gMasterGfxPos + 0x6F58;
dead_switch_to_partner = 0x800F2D5C; dead_gDisplayContext = gDisplayContext + 0x6F58;
dead_set_message_msg = 0x80130C74; dead_gCurrentEncounter = gCurrentEncounter + 0x6FE0;
dead_fx_energy_orb_wave = 0x800769D0; dead_gCameras = gCameras + 0x7000;
dead_fx_radial_shimmer = 0x80075E30; dead_npc_raycast_down_sides = npc_raycast_down_sides + 0x76C0;
dead_set_screen_overlay_color = 0x80144200; dead_npc_test_move_simple_with_slipping = npc_test_move_simple_with_slipping + 0x76C0;
dead_set_screen_overlay_params_front = 0x80144178; dead_npc_test_move_simple_without_slipping = npc_test_move_simple_without_slipping + 0x76C0;
dead_npc_test_move_simple_without_slipping = 0x800E53AC; dead_decrement_status_menu_disabled = decrement_status_menu_disabled + 0x7BC4;
dead_get_item_entity = 0x8013CF98; dead_increment_status_menu_disabled = increment_status_menu_disabled + 0x7BC4;
dead_get_current_map_settings = 0x8005F128; dead_sync_status_menu = sync_status_menu + 0x7BC4;
dead_partner_clear_player_tracking = 0x800F7278; dead_set_max_SP = set_max_SP + 0x7BC4;
dead_set_npc_yaw = 0x8003ED50; dead_subtract_hp = subtract_hp + 0x7BC4;
dead_disable_npc_shadow = 0x8003E5E8; dead_switch_to_partner = switch_to_partner + 0x7BF4;
dead_get_screen_coords = 0x8002FCBC; dead_func_800EB2A4 = func_800EB2A4 + 0x7BF4;
dead_sfx_get_spatialized_sound_params = 0x801574DC; dead_partner_clear_player_tracking = partner_clear_player_tracking + 0x7E1C;
dead_sfx_play_sound_with_params = 0x80157118; dead_hide_popup_menu = hide_popup_menu + 0x7EB0;
dead_load_asset_by_name = 0x8005F238; dead_destroy_popup_menu = destroy_popup_menu + 0x7EB0;
dead_decode_yay0 = 0x80074070; dead_create_popup_menu = create_popup_menu + 0x7ECC;
dead_general_heap_free = 0x8002BF68; dead_gPlayerStatusPtr = gPlayerStatusPtr + 0x8160;
dead_set_message_images = 0x80130C64; dead_wPartnerHudScripts = wPartnerHudScripts + 0x8160;
dead_set_screen_overlay_params_back = 0x80144194; dead_wDisabledPartnerHudScripts = wDisabledPartnerHudScripts + 0x8160;
dead_gItemTable = 0x8008D2C0; dead_gPartnerActionStatus = gPartnerActionStatus + 0x85B0;
dead_gPlayerStatus = 0x80117578; dead_gPlayerStatus = gPlayerStatus + 0x85B0;
dead_gPlayerActionState = 0x8011762C; dead_gPlayerData = gPlayerData + 0x85B0;
dead_gPartnerActionStatus = 0x80117160; dead_get_entity_by_index = get_entity_by_index + 0x85C8;
dead_80117163 = 0x80117160; dead_MakeEntity = MakeEntity + 0x8854;
dead_gPlayerData = 0x80117840; dead_AssignScript = AssignScript + 0x8854;
dead_gCollisionStatus = 0x80169B10; dead_AssignBlockFlag = AssignBlockFlag + 0x8854;
dead_gOverrideFlags = 0x800A15A8; dead_AssignPanelFlag = AssignPanelFlag + 0x8854;
dead_fx_motion_blur_flame = 0x80076970; dead_create_shadow_type = create_shadow_type + 0x8854;
dead_gCurrentEncounter = 0x800B7EF0; dead_get_model_from_list_index = get_model_from_list_index + 0xA214;
dead_guMtxIdentF = 0x8006C660; dead_get_model_list_index_from_tree_index = get_model_list_index_from_tree_index + 0xA260;
dead_guMtxCatF = 0x8006C7C0; dead_set_main_pan_u = set_main_pan_u + 0xA448;
dead_gCurrentCameraID = 0x8007C760; dead_set_main_pan_v = set_main_pan_v + 0xA448;
dead_gGameStatusPtr = 0x80079430; dead_set_aux_pan_u = set_aux_pan_u + 0xA448;
dead_gPartnerPopupProperties = 0x80094900; dead_set_aux_pan_v = set_aux_pan_v + 0xA448;
dead_nuGfxZBuffer = 0x800A1530; dead_mdl_get_copied_vertices = mdl_get_copied_vertices + 0xA448;
dead_osVirtualToPhysical = 0x80066FE0; dead_mdl_get_copied_gfx = mdl_get_copied_gfx + 0xA448;
dead_transform_point = 0x8002A910; dead_queue_render_task = queue_render_task + 0xAC00;
dead_gMasterGfxPos = 0x800A15C4; dead_create_worker_world = create_worker_world + 0xAE90;
dead_nuGfxCfb_ptr = 0x800A15A4; dead_set_message_images = set_message_images + 0xB138;
dead_guMtxF2L = 0x8006C6C0; dead_set_message_msg = set_message_msg + 0xB138;
dead_mdl_get_copied_vertices = 0x801266F8; dead_get_item_entity = get_item_entity + 0xC040;
dead_mdl_get_copied_gfx = 0x80126734; dead_set_screen_overlay_params_front = set_screen_overlay_params_front + 0xC3F0;
dead_gMatrixListPos = 0x80079540; dead_set_screen_overlay_params_back = set_screen_overlay_params_back + 0xC3F0;
dead_gDisplayContext = 0x800A15CC; dead_set_screen_overlay_color = set_screen_overlay_color + 0xC3F0;
dead_03_D_802442D0 = 0x802442D0; dead_sfx_adjust_env_sound_pos = sfx_adjust_env_sound_pos + 0xD660;
dead_03_LetterDelivery_SavedNpcAnim = 0x80244494; dead_sfx_play_sound_with_params = sfx_play_sound_with_params + 0xD660;
dead_flo_08_ItemChoiceList = 0x802462F0; dead_sfx_get_spatialized_sound_params = sfx_get_spatialized_sound_params + 0xD6D8;
dead_flo_08_FlowerGuard_ItemChoiceList = 0x80246460; dead_gCollisionStatus = gCollisionStatus + 0xF5C0;
dead_flo_12_D_802429E0 = 0x802429E0; dead_CreatePushBlockGrid = CreatePushBlockGrid + 0x140;
dead_kzn_17_D_802466D0 = 0x802466D0; dead_SetPushBlock = SetPushBlock + 0x1D0;
dead_kzn_17_LetterDelivery_SavedNpcAnim = 0x80246894; dead_EnterWalk = EnterWalk + 0x310;
dead_kzn_19_D_80248388 = 0x80248388; dead_EnterSavePoint = EnterSavePoint + 0x310;
dead_kzn_19_LetterDelivery_SavedNpcAnim = 0x8024854C; dead_ExitWalk = ExitWalk + 0x310;
dead_func_800EB2A4 = 0x800F2E98; 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; func_8004D8E0 = 0x8004D8E0;