squirt effect done, 0 warnings, undefined_syms cleanup, wip (#922)

* warnings & WIP

* 0 warnings

* squirt_appendGfx && gfx data (squirt effect dun)

* undefined_syms cleanup

* clean

* don't die when no warnings
This commit is contained in:
Ethan Roseman 2023-01-25 23:06:57 +09:00 committed by GitHub
parent a03510d8a6
commit dfff7bce1a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 303 additions and 546 deletions

View File

@ -508,6 +508,7 @@ enum SoundIDs {
SOUND_F = 0x0000000F,
SOUND_10 = 0x00000010,
SOUND_11 = 0x00000011,
SOUND_12 = 0x00000012,
SOUND_14 = 0x00000014,
SOUND_23 = 0x00000023,
SOUND_25 = 0x00000025,

View File

@ -104,7 +104,123 @@ void update_camera_mode_4(Camera* camera) {
camera->currentPitch = atan2(0.0f, 0.0f, deltaY, -sqrtf(SQ(deltaX) + SQ(deltaZ)));
}
#ifdef WIP
void update_camera_mode_2(Camera* camera) {
f32 temp_f24;
f32 temp_f28_2;
f32 auxBoomLength;
f32 boomYaw;
f32 sinBoom;
f32 cosBoom;
f32 deltaX;
f32 deltaY;
f32 deltaZ;
f32 unk_70;
f32 sin_70;
f32 cos_70;
f32 zero;
auxBoomLength = camera->auxBoomLength;
camera->unk_70 = auxBoomLength;
camera->trueRotation.x = auxBoomLength;
camera->currentBoomYaw = camera->auxPitch;
camera->currentBoomLength = camera->lookAt_dist * D_8009A5EC;
camera->currentYOffset = camera->auxBoomPitch * D_8009A5EC;
if (camera->unk_06 != 0) {
zero = 0.0f;
camera->unk_06 = 0;
camera->unk_9C = camera->unk_98 = zero;
camera->lookAt_obj.x = camera->lookAt_obj_target.x;
camera->lookAt_obj.y = camera->lookAt_obj_target.y + camera->currentYOffset;
camera->lookAt_obj.z = camera->lookAt_obj_target.z;
boomYaw = DEG_TO_RAD(camera->currentBoomYaw);
sinBoom = sin_rad(boomYaw);
cosBoom = cos_rad(boomYaw);
temp_f24 = (cosBoom * zero) + (camera->currentBoomLength * sinBoom);
unk_70 = DEG_TO_RAD(camera->unk_70);
temp_f28_2 = (sinBoom * -zero) + (camera->currentBoomLength * cosBoom);
sin_70 = sin_rad(unk_70);
cos_70 = cos_rad(unk_70);
camera->lookAt_eye.x = ((cos_70 * zero) - (temp_f28_2 * sin_70)) + camera->lookAt_obj.x;
camera->lookAt_eye.y = camera->lookAt_obj.y + temp_f24;
camera->lookAt_eye.z = camera->lookAt_obj.z + ((sin_70 * zero) + (temp_f28_2 * cos_70));
}
deltaX = camera->lookAt_obj_target.x - camera->lookAt_obj.x;
deltaY = (camera->lookAt_obj_target.y + camera->currentYOffset) - camera->lookAt_obj.y;
deltaZ = camera->lookAt_obj_target.z - camera->lookAt_obj.z;
if (fabsf(deltaX) > 16.0f) {
if (deltaX < 0.0f) {
deltaX = -16.0f;
} else {
deltaX = 16.0f;
}
}
if (fabsf(deltaY) > 16.0f) {
if (deltaY < 0.0f) {
deltaY = -16.0f;
} else {
deltaY = 16.0f;
}
}
if (fabsf(deltaZ) > 16.0f) {
if (deltaZ < 0.0f) {
deltaZ = -16.0f;
} else {
deltaZ = 16.0f;
}
}
camera->lookAt_obj.x += deltaX * 0.5f;
camera->lookAt_obj.y += deltaY * 0.5f;
camera->lookAt_obj.z += deltaZ * 0.5f;
zero = 0.0f;
unk_70 = -zero;
boomYaw = DEG_TO_RAD(camera->currentBoomYaw);
sinBoom = sin_rad(boomYaw);
cosBoom = cos_rad(boomYaw);
temp_f24 = (cosBoom * zero) + (camera->currentBoomLength * sinBoom);
temp_f28_2 = (sinBoom * unk_70) + (camera->currentBoomLength * cosBoom);
unk_70 = DEG_TO_RAD(camera->unk_70);
sin_70 = sin_rad(unk_70);
cos_70 = cos_rad(unk_70);
deltaX = ((camera->lookAt_obj.x + ((cos_70 * zero) - (temp_f28_2 * sin_70))) - camera->lookAt_eye.x) * 0.5f;
deltaZ = ((camera->lookAt_obj.z + ((sin_70 * zero) + (temp_f28_2 * cos_70))) - camera->lookAt_eye.z) * 0.5f;
deltaY = ((camera->lookAt_obj.y + temp_f24) - camera->lookAt_eye.y) * 0.5f;
if (fabsf(deltaX) > 16.0f) {
if (deltaX < 0.0f) {
deltaX = -16.0f;
} else {
deltaX = 16.0f;
}
}
if (fabsf(deltaY) > 16.0f) {
if (deltaY < 0.0f) {
deltaY = -16.0f;
} else {
deltaY = 16.0f;
}
}
if (fabsf(deltaZ) > 16.0f) {
if (deltaZ < 0.0f) {
deltaZ = -16.0f;
} else {
deltaZ = 16.0f;
}
}
camera->lookAt_eye.x += deltaX;
camera->lookAt_eye.y += deltaY;
camera->lookAt_eye.z += deltaZ;
camera->currentYaw = atan2(camera->lookAt_eye.x, camera->lookAt_eye.z, camera->lookAt_obj.x, camera->lookAt_obj.z);
deltaX = camera->lookAt_obj.x - camera->lookAt_eye.x;
deltaY = camera->lookAt_obj.y - camera->lookAt_eye.y;
deltaZ = camera->lookAt_obj.z - camera->lookAt_eye.z;
camera->currentBlendedYawNegated = -atan2(0.0f, 0.0f, deltaX, deltaZ);
camera->currentPitch = atan2(0.0f, 0.0f, deltaY, -sqrtf(SQ(deltaX) + SQ(deltaZ)));
}
#else
INCLUDE_ASM(void, "9d10_len_1080", update_camera_mode_2, Camera* camera);
#endif
INCLUDE_ASM(void, "9d10_len_1080", update_camera_mode_1, Camera* camera);

View File

@ -1013,7 +1013,7 @@ void play_model_animation(s32 index, s16* animPos) {
ModelAnimator* animator = (*gCurrentAnimMeshListPtr)[index & ~0x800];
if (animator->animationBuffer != NULL) {
animPos = ((s32)animPos & 0xFFFFFF) + (s32)animator->animationBuffer; // TODO: array access?
animPos = (s16*) (((s32)animPos & 0xFFFFFF) + (s32)animator->animationBuffer); // TODO: array access? / cleanup
}
animator->animReadPos = animPos;
animator->savedReadPos = animPos;
@ -1027,7 +1027,7 @@ void play_model_animation_starting_from(s32 index, s16* animPos, s32 framesToSki
s32 i;
if (animator->animationBuffer != NULL) {
animPos = ((s32)animPos & 0xFFFFFF) + (s32)animator->animationBuffer; // TODO: array access?
animPos = (s16*) (((s32)animPos & 0xFFFFFF) + (s32)animator->animationBuffer); // TODO: array access? / cleanup
}
animator->animReadPos = animPos;

View File

@ -1,6 +1,5 @@
#include "common.h"
void update_camera_mode_6(Camera* camera);
void update_camera_mode_6(Camera* camera) {
f32 sinBoom;
f32 cosBoom;

View File

@ -317,6 +317,10 @@ typedef struct AlUnkGamma {
/* 0x14 */ struct AuPVoice* pvoice_14;
} AlUnkGamma; // size = 0x18
// ALDMAproc in PM supposedly has an extra arg added, so that's why we have ALDMAproc2 and ALDMANew2
typedef s32 (*ALDMAproc2)(s32 addr, s32 len, void *state, u8 arg3);
typedef ALDMAproc2 (*ALDMANew2)(void *state);
// based on ALLoadFilter
typedef struct AuLoadFilter {
/* 0x04 */ ADPCM_STATE* dc_state;
@ -324,7 +328,7 @@ typedef struct AuLoadFilter {
/* 0x0C */ ALRawLoop dc_loop;
/* 0x18 */ struct Instrument* instrument;
/* 0x1C */ s32 dc_bookSize;
/* 0x20 */ s32 (*dc_dmaFunc)(void* addr, s32 len, void* state, u8 unk); // ALDMAproc with extra arg
/* 0x20 */ ALDMAproc2 dc_dmaFunc;
/* 0x24 */ NUDMAState* dc_dmaState;
/* 0x28 */ s32 dc_sample;
/* 0x2C */ s32 dc_lastsam;
@ -381,7 +385,7 @@ typedef struct AuSynDriver {
/* 0x08 */ s32 outputRate;
/* 0x0C */ s32 num_pvoice;
/* 0x10 */ s32 unk_num_gamma;
/* 0x14 */ ALDMANew* dmaNew; // pointer to nuAuDmaNew
/* 0x14 */ ALDMANew2 dmaNew; // pointer to nuAuDmaNew
/* 0x18 */ ALHeap* heap;
/* 0x1C */ AuPVoice* pvoices;
/* 0x20 */ AlUnkGamma* al_unk_gamma;

View File

@ -930,7 +930,7 @@ void au_bgm_load_subsegment(BGMPlayer* player, u32 cmd) {
for (i = 0; i < ARRAY_COUNT(player->tracks); i++) {
track = &player->tracks[i];
trackInfo = *trackList++;
track->bgmReadPos = trackInfo >> 0x10;
track->bgmReadPos = (AuFilePos) (trackInfo >> 0x10);
if (track->bgmReadPos != NULL) {
if ((trackInfo & 0x100) == 0) {
track->polyphonicIdx = (trackInfo & (0x7 << 0xD)) >> 0xD;

View File

@ -172,7 +172,7 @@ void func_80052BF8(AlUnkVoice* voice, AlUnkInstrumentData* arg1) {
s32 x;
voice->unk_14.unk_00 = arg1->unk_00;
voice->unk_1C = voice->unk_14.unk_00;
voice->unk_1C = (u8*) voice->unk_14.unk_00;
voice->unk_14.unk_04 = arg1->unk_04;
voice->unk_30 = 0x80;
voice->unk_34 = 0;

View File

@ -16,8 +16,8 @@ extern s16 AuEqPower[128];
#define AU_EQPOW_MAX_IDX 127
void au_driver_init(AuSynDriver* driver, ALConfig* config) {
s32 i;
ALHeap* heap = config->heap;
s32 i;
if (gActiveSynDriverPtr != NULL) {
return;
@ -43,8 +43,7 @@ void au_driver_init(AuSynDriver* driver, ALConfig* config) {
AuPVoice* voice = &gSynDriverPtr->pvoices[i];
voice->loadFilter.dc_state = alHeapAlloc(heap, 1, sizeof(*voice->loadFilter.dc_state));
voice->loadFilter.dc_lstate = alHeapAlloc(heap, 1, sizeof(*voice->loadFilter.dc_lstate));
// note: dmaNew has type ALDMANew (nuAuDmaNew), which returns a ALDMAproc (nuAuDmaCallBack)
voice->loadFilter.dc_dmaFunc = ((ALDMAproc (*)(NUDMAState**))(gSynDriverPtr->dmaNew))(&voice->loadFilter.dc_dmaState);
voice->loadFilter.dc_dmaFunc = gSynDriverPtr->dmaNew(&voice->loadFilter.dc_dmaState);
voice->loadFilter.dc_lastsam = 0;
voice->loadFilter.dc_first = 1;
voice->loadFilter.dc_memin = NULL;

View File

@ -34,7 +34,7 @@ static Acmd* _decodeChunk(Acmd* cmdBufPos, AuLoadFilter* filter, s32 tsam, s32 n
s32 paddedSize;
if (nbytes > 0) {
endAddr = filter->dc_dmaFunc(filter->dc_memin, nbytes, filter->dc_dmaState, filter->instrument->unk_25); // ALDMAproc has an extra arg added
endAddr = filter->dc_dmaFunc((s32) filter->dc_memin, nbytes, filter->dc_dmaState, filter->instrument->unk_25);
endAlign = endAddr & 7;
nbytes += endAlign;
paddedSize = nbytes + 8 - (nbytes & 7);

View File

@ -116,7 +116,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x56 */ FX_ENTRY(stat_change, effect_gfx_stat_change),
/* 0x57 */ FX_ENTRY(snaking_static, effect_gfx_snaking_static),
/* 0x58 */ FX_ENTRY(thunderbolt_ring, effect_gfx_thunderbolt_ring),
/* 0x59 */ FX_ENTRY(squirt, _3B5340),
/* 0x59 */ FX_ENTRY(squirt, effect_gfx_squirt),
/* 0x5A */ FX_ENTRY(water_block, effect_gfx_water_block),
/* 0x5B */ FX_ENTRY(waterfall, effect_gfx_waterfall),
/* 0x5C */ FX_ENTRY(water_fountain, effect_gfx_water_fountain),

6
src/effects/gfx/squirt.c Normal file
View File

@ -0,0 +1,6 @@
#include "effects/gfx/D_09000000_3B5340.png.inc.c"
#include "effects/gfx/D_09000400_3B5740.png.inc.c"
#include "effects/gfx/D_09000800_3B5B40.gfx.inc.c"
#include "effects/gfx/D_090008A8_3B5BE8.gfx.inc.c"
#include "effects/gfx/D_09000950_3B5C90.vtx.inc.c"
#include "effects/gfx/D_09000990_3B5CD0.gfx.inc.c"

View File

@ -1,13 +1,16 @@
#include "common.h"
#include "effects_internal.h"
s32 D_E00B2BA0[] = { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFC88020, 0x00000000 };
u8 D_E00B2BA0[] = { 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 128, 32, 0, 0, 0, 0 };
void squirt_init(EffectInstance* effect);
void squirt_update(EffectInstance* effect);
void squirt_render(EffectInstance* effect);
void squirt_appendGfx(void* effect);
extern Gfx D_09000800_3B5B40[];
extern Gfx D_090008A8_3B5BE8[];
EffectInstance* squirt_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, s32 arg8) {
EffectBlueprint bp;
EffectInstance* effect;
@ -153,4 +156,110 @@ void squirt_render(EffectInstance* effect) {
void func_E00B24A8(void) {
}
INCLUDE_ASM(s32, "effects/squirt", squirt_appendGfx);
void squirt_appendGfx(void* effect) {
SquirtFXData* data = ((EffectInstance*)effect)->data.squirt;
s32 zero = 0;
s32 unk_00 = data->unk_00;
Gfx* savedGfxPos;
f32 unk_50 = data->unk_50;
Matrix4f sp10, sp50;
Vtx_t* vtx;
s32 savedIdx;
s32 i;
f32 cosComp;
f32 sinComp;
f32 var_f22;
f32 theta;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp10, 0.0f, 0.0f, 0.0f);
shim_guScaleF(sp50, 0.05f, 0.05f, 0.05f);
shim_guMtxCatF(sp50, sp10, sp10);
shim_guMtxF2L(sp10, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->unk_34, data->unk_38, data->unk_3C, data->unk_40);
gDPSetEnvColor(gMasterGfxPos++, data->unk_44, data->unk_48, data->unk_4C, 200);
gSPBranchList(gMasterGfxPos, &gMasterGfxPos[49]);
savedGfxPos = gMasterGfxPos + 1;
gMasterGfxPos = &gMasterGfxPos[49];
vtx = (Vtx_t*) savedGfxPos;
for (i = 0; i < 12; i++) {
s32 inc = i + 1;
s32 tc0;
s32 cnA;
if (i == 0 || zero == i || (i != 11 && data->unk_178[i] == 0)) {
theta = data->unk_118[inc];
theta = -shim_atan2(theta, -data->unk_E8[i + 1], data->unk_118[i], -data->unk_E8[i]);
}
if (data->unk_00 == 0) {
var_f22 = ((f32) data->unk_1A8[i] * 0.5) + 2.0;
if (var_f22 > 6.0f) {
var_f22 = 6.0f;
}
cnA = D_E00B2BA0[i];
} else {
var_f22 = ((f32) data->unk_1A8[i] * 0.5) + 1.0;
if (var_f22 > 30.0f) {
do { } while (0); // TODO required to match
var_f22 = 30.0f;
}
cnA = (D_E00B2BA0[i] * data->unk_1D8[i]) / 255;
}
tc0 = i * 5;
tc0 *= 64;
var_f22 *= unk_50;
sinComp = var_f22 * shim_sin_deg(theta);
cosComp = var_f22 * shim_cos_deg(theta);
vtx->ob[0] = (data->unk_E8[i] + sinComp) * 20.0f;
vtx->ob[1] = (data->unk_118[i] + cosComp) * 20.0f;
vtx->ob[2] = (data->unk_148[i] + 0.0f) * 20.0f;
vtx->tc[0] = tc0;
vtx->tc[1] = 0;
vtx->cn[0] = (i & 1) * 255;
vtx->cn[1] = ((i >> 1) & 1) * 255;
vtx->cn[2] = ((i >> 2) & 1) * 255;
vtx->cn[3] = cnA;
vtx++;
vtx->ob[0] = (data->unk_E8[i] - sinComp) * 20.0f;
vtx->ob[1] = (data->unk_118[i] - cosComp) * 20.0f;
vtx->ob[2] = (data->unk_148[i] + 0.0f) * 20.0f;
vtx->tc[0] = tc0;
vtx->tc[1] = 1024;
vtx->cn[0] = (i & 1) * 255;
vtx->cn[1] = ((i >> 1) & 1) * 255;
vtx->cn[2] = ((i >> 2) & 1) * 255;
vtx->cn[3] = cnA;
vtx++;
}
gSPVertex(gMasterGfxPos++, savedGfxPos, i * 2, 0);
savedIdx = i;
gSPDisplayList(gMasterGfxPos++, unk_00 == 0 ? D_09000800_3B5B40 : D_090008A8_3B5BE8);
for (i = 0; i < savedIdx - 1; i++) {
s32 i2 = i * 2;
if (i < zero) {
continue;
}
gSP2Triangles(gMasterGfxPos++,
i2, i2 + 2, i2 + 1, i2,
i2 + 1, i2 + 2, i2 + 3, i2);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -156,8 +156,6 @@ void underwater_appendGfx(void* effect) {
EffectInstance* effectTemp = effect;
UnderwaterFXData* data;
Matrix4f sp20;
s32 spA0;
s32 spA8;
s32 temp_a0_3;
s32 temp_a1_5;
s32 temp_a1_6;
@ -240,10 +238,8 @@ void underwater_appendGfx(void* effect) {
var_s2 = 1;
}
temp_t8 = (var_t9 + var_a0) * 4;
spA0 = (temp_t8 & 0xFFF) | 0xF4000000;
temp_v1_2 = var_t9 + var_v1;
temp_s3 = (temp_v1_2 + 0x10) * 4;
spA8 = -var_s2;
for (j = 0; j < 12; j++) {
cond = FALSE;
@ -269,8 +265,8 @@ void underwater_appendGfx(void* effect) {
temp_a1_4->words.w0 = E600000000000000
temp_a1_4->unk8 = (s32) ((((temp_a0_3 * 4) & 0xFFF) << 0xC) | (temp_t8 & 0xFFF) | 0xF4000000);
temp_a1_4->unkC = (s32) (((((temp_a2_2 + 0x10) * 4) & 0xFFF) << 0xC) | ((temp_s3 & 0xFFF) | 0x07000000));
temp_a1_4->unk8 = (s32) ((((temp_a0_3 * 4) & 0xFFF) << 0xC) | spA0);
temp_a1_4->unk10 = E700000000000000
@ -282,7 +278,7 @@ void underwater_appendGfx(void* effect) {
if (!cond || (var_t4 = 0xC, (var_s2 == 0))) {
var_t4 = 4;
if (!cond) {
var_t4 = spA8 & 8;
var_t4 = (-var_s2) & 8;
}
}
temp_a1_5 = j * 0xD;

View File

@ -6,6 +6,10 @@ void windy_leaves_update(EffectInstance* effect);
void windy_leaves_render(EffectInstance* effect);
void windy_leaves_appendGfx(void* effect);
extern Gfx D_09001180_33E790[];
extern Gfx D_09001258_33E868[];
extern Gfx D_09001280_33E890[];
void windy_leaves_main(s32 type, f32 arg1, f32 arg2, f32 arg3) {
EffectBlueprint bp;
EffectBlueprint* bpPtr = &bp;
@ -226,22 +230,15 @@ void windy_leaves_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_REFLECT_FLOOR;
}
extern Gfx D_09001180_33E790[];
extern Gfx D_09001258_33E868[];
extern Gfx D_09001280_33E890[];
void windy_leaves_appendGfx(void* effect) {
WindyLeavesFXData* part;
Gfx* phi_s7;
WindyLeavesFXData* part = ((EffectInstance*)effect)->data.windyLeaves;
Matrix4f sp18, sp58, sp98;
Gfx* dlist;
s32 i;
Matrix4f sp18;
Matrix4f sp58;
Matrix4f sp98;
part = ((EffectInstance*)effect)->data.windyLeaves;
phi_s7 = D_09001280_33E890;
dlist = D_09001280_33E890;
if (part->type == 0) {
phi_s7 = D_09001258_33E868;
dlist = D_09001258_33E868;
}
gSPSegment(gMasterGfxPos++, 0x09, OS_K0_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
@ -261,7 +258,7 @@ void windy_leaves_appendGfx(void* effect) {
shim_guMtxCatF(sp58, sp18, sp18);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, phi_s7);
gSPDisplayList(gMasterGfxPos++, dlist);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
}

View File

@ -81,7 +81,7 @@ BSS u32 gBattleMapVars[MAX_MAPVARS];
BSS s32 DoorModelsSwingCCW[3];
BSS u32 gBattleMapFlags[MAX_MAPFLAGS];
//s32 evt_execute_next_command(Evt* script);
s32 evt_execute_next_command(Evt* script);
void sort_scripts(void) {
s32 temp_a0;
@ -581,7 +581,11 @@ void update_scripts(void) {
for (i = 0; i < gScriptListCount; i++) {
Evt* script = (*gCurrentScriptListPtr)[gScriptIndexList[i]];
if (script != NULL && script->id == gScriptIdList[i] && script->stateFlags != 0 && !(script->stateFlags & (EVT_FLAG_SUSPENDED | EVT_FLAG_BLOCKED_BY_CHILD | EVT_FLAG_SUSPENDED_IN_GROUP))) {
if (script != NULL &&
script->id == gScriptIdList[i] &&
script->stateFlags != 0 &&
!(script->stateFlags & (EVT_FLAG_SUSPENDED | EVT_FLAG_BLOCKED_BY_CHILD | EVT_FLAG_SUSPENDED_IN_GROUP)))
{
s32 stop = FALSE;
s32 status;
@ -590,6 +594,7 @@ void update_scripts(void) {
do {
if (script->frameCounter < 1.0) {
// Continue to next script
do {} while (0); // TODO required to match
break;
};

View File

@ -22,7 +22,7 @@ ApiStatus N(ItemChoice_SaveSelected)(Evt* script, s32 isInitialCall) {
}
#define NAMESPACE hos_06
extern s32 hos_06_D_80246430[];
BSS s32 hos_06_D_80246430[113];
ApiStatus func_80241008_A3A4E8(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;

View File

@ -41,6 +41,8 @@ ApiStatus N(ItemChoice_SaveSelected)(Evt* script, s32 isInitialCall) {
BSS s32 D_8024FBA0[114];
BSS s32 D_8024FD68[92];
BSS s32 D_8024FED8[2]; // Unused or padding
BSS s32 D_8024FEE0;
ApiStatus func_80241A64_B36634(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;

View File

@ -32,9 +32,7 @@ s32 N(PiranhaPlantAI_Main)(Evt* script, s32 isInitialCall) {
territory.detectFlags = 0;
#ifdef _DEAD_H_
// Dead Func that doesn't seem to have an alive counterpart, probably because of the
// difference in the Enemy and DeadEnemy struct.
// this function doesn't seem to have a known counterpart, perhaps related to the difference in the Enemy struct
func_8004D8E0(enemy);
if (enemy->flags & ENEMY_FLAG_100000) {
enemy->unk_114 = 10.0f;

View File

@ -21,7 +21,7 @@ then
rm -rf ver/*/build/src
ninja | grep warning | sort > tools/warnings_count/warnings_new.txt
else
cat build_log.txt | grep warning | sort > tools/warnings_count/warnings_new.txt
cat build_log.txt | grep warning || [[ $? == 1 ]] | sort > tools/warnings_count/warnings_new.txt
fi
curl -L https://papermar.io/reports/warnings.txt > tools/warnings_count/warnings.txt

View File

@ -198,7 +198,7 @@ dlabel D_80249BD4_B3E7A4
.word 0x00000043, 0x00000001, jan_03_Quizmo_ShouldAppear, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x01000000, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0xFFFFFFFF, 0x00AF0001, 0x00000043, 0x00000001, jan_03_Quizmo_RenderInit, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80249C48_B3E818
.word 0x0000003C, 0x00000001, jan_03_D_8024FEE0, 0x00000024, 0x00000002, 0xF8406269, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000003, SetPlayerFlagBits, 0x00400000, 0x00000001, 0x00000046, 0x00000001, D_80248EA4_B3DA74, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000003, SetPlayerFlagBits, 0x00400000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x0000003C, 0x00000001, D_8024FEE0, 0x00000024, 0x00000002, 0xF8406269, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000003, SetPlayerFlagBits, 0x00400000, 0x00000001, 0x00000046, 0x00000001, D_80248EA4_B3DA74, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000003, SetPlayerFlagBits, 0x00400000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80249CC8_B3E898
.word 0x00000043, 0x00000001, jan_03_Quizmo_NPC_Aux_Impl, 0x00000002, 0x00000000, 0x00000001, 0x00000000

View File

@ -1,465 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel squirt_appendGfx
/* 3B4C40 E00B24B0 27BDFF00 */ addiu $sp, $sp, -0x100
/* 3B4C44 E00B24B4 0080482D */ daddu $t1, $a0, $zero
/* 3B4C48 E00B24B8 3C0ADB06 */ lui $t2, 0xdb06
/* 3B4C4C E00B24BC 354A0024 */ ori $t2, $t2, 0x24
/* 3B4C50 E00B24C0 27A40010 */ addiu $a0, $sp, 0x10
/* 3B4C54 E00B24C4 AFB300B4 */ sw $s3, 0xb4($sp)
/* 3B4C58 E00B24C8 3C130001 */ lui $s3, 1
/* 3B4C5C E00B24CC 36731630 */ ori $s3, $s3, 0x1630
/* 3B4C60 E00B24D0 AFB500BC */ sw $s5, 0xbc($sp)
/* 3B4C64 E00B24D4 0000A82D */ daddu $s5, $zero, $zero
/* 3B4C68 E00B24D8 3C18E00B */ lui $t8, %hi(D_E00B2BA0)
/* 3B4C6C E00B24DC 27182BA0 */ addiu $t8, $t8, %lo(D_E00B2BA0)
/* 3B4C70 E00B24E0 AFB800A0 */ sw $t8, 0xa0($sp)
/* 3B4C74 E00B24E4 24180004 */ addiu $t8, $zero, 4
/* 3B4C78 E00B24E8 AFB100AC */ sw $s1, 0xac($sp)
/* 3B4C7C E00B24EC 3C11800A */ lui $s1, %hi(gMasterGfxPos)
/* 3B4C80 E00B24F0 2631A66C */ addiu $s1, $s1, %lo(gMasterGfxPos)
/* 3B4C84 E00B24F4 3C02E700 */ lui $v0, 0xe700
/* 3B4C88 E00B24F8 AFBF00CC */ sw $ra, 0xcc($sp)
/* 3B4C8C E00B24FC AFBE00C8 */ sw $fp, 0xc8($sp)
/* 3B4C90 E00B2500 AFB700C4 */ sw $s7, 0xc4($sp)
/* 3B4C94 E00B2504 AFB600C0 */ sw $s6, 0xc0($sp)
/* 3B4C98 E00B2508 AFB400B8 */ sw $s4, 0xb8($sp)
/* 3B4C9C E00B250C AFB200B0 */ sw $s2, 0xb0($sp)
/* 3B4CA0 E00B2510 AFB000A8 */ sw $s0, 0xa8($sp)
/* 3B4CA4 E00B2514 F7BE00F8 */ sdc1 $f30, 0xf8($sp)
/* 3B4CA8 E00B2518 F7BC00F0 */ sdc1 $f28, 0xf0($sp)
/* 3B4CAC E00B251C F7BA00E8 */ sdc1 $f26, 0xe8($sp)
/* 3B4CB0 E00B2520 F7B800E0 */ sdc1 $f24, 0xe0($sp)
/* 3B4CB4 E00B2524 F7B600D8 */ sdc1 $f22, 0xd8($sp)
/* 3B4CB8 E00B2528 F7B400D0 */ sdc1 $f20, 0xd0($sp)
/* 3B4CBC E00B252C AFA0009C */ sw $zero, 0x9c($sp)
/* 3B4CC0 E00B2530 AFB800A4 */ sw $t8, 0xa4($sp)
/* 3B4CC4 E00B2534 8E280000 */ lw $t0, ($s1)
/* 3B4CC8 E00B2538 3C013FE0 */ lui $at, 0x3fe0
/* 3B4CCC E00B253C 4481E800 */ mtc1 $at, $f29
/* 3B4CD0 E00B2540 4480E000 */ mtc1 $zero, $f28
/* 3B4CD4 E00B2544 3C0141A0 */ lui $at, 0x41a0
/* 3B4CD8 E00B2548 4481D000 */ mtc1 $at, $f26
/* 3B4CDC E00B254C 44800000 */ mtc1 $zero, $f0
/* 3B4CE0 E00B2550 8D37000C */ lw $s7, 0xc($t1)
/* 3B4CE4 E00B2554 0100182D */ daddu $v1, $t0, $zero
/* 3B4CE8 E00B2558 44050000 */ mfc1 $a1, $f0
/* 3B4CEC E00B255C 25080008 */ addiu $t0, $t0, 8
/* 3B4CF0 E00B2560 AE280000 */ sw $t0, ($s1)
/* 3B4CF4 E00B2564 8EF80000 */ lw $t8, ($s7)
/* 3B4CF8 E00B2568 4485F000 */ mtc1 $a1, $f30
/* 3B4CFC E00B256C 00A0302D */ daddu $a2, $a1, $zero
/* 3B4D00 E00B2570 AFB80090 */ sw $t8, 0x90($sp)
/* 3B4D04 E00B2574 C6E40050 */ lwc1 $f4, 0x50($s7)
/* 3B4D08 E00B2578 00A0382D */ daddu $a3, $a1, $zero
/* 3B4D0C E00B257C E7A40098 */ swc1 $f4, 0x98($sp)
/* 3B4D10 E00B2580 AC620000 */ sw $v0, ($v1)
/* 3B4D14 E00B2584 AC600004 */ sw $zero, 4($v1)
/* 3B4D18 E00B2588 AD0A0000 */ sw $t2, ($t0)
/* 3B4D1C E00B258C 8D230010 */ lw $v1, 0x10($t1)
/* 3B4D20 E00B2590 25020008 */ addiu $v0, $t0, 8
/* 3B4D24 E00B2594 AE220000 */ sw $v0, ($s1)
/* 3B4D28 E00B2598 8C62001C */ lw $v0, 0x1c($v1)
/* 3B4D2C E00B259C 3C038000 */ lui $v1, 0x8000
/* 3B4D30 E00B25A0 00431021 */ addu $v0, $v0, $v1
/* 3B4D34 E00B25A4 0C080108 */ jal shim_guTranslateF
/* 3B4D38 E00B25A8 AD020004 */ sw $v0, 4($t0)
/* 3B4D3C E00B25AC 02E0B02D */ daddu $s6, $s7, $zero
/* 3B4D40 E00B25B0 3C013D4C */ lui $at, 0x3d4c
/* 3B4D44 E00B25B4 3421CCCD */ ori $at, $at, 0xcccd
/* 3B4D48 E00B25B8 44810000 */ mtc1 $at, $f0
/* 3B4D4C E00B25BC 27B00050 */ addiu $s0, $sp, 0x50
/* 3B4D50 E00B25C0 44050000 */ mfc1 $a1, $f0
/* 3B4D54 E00B25C4 0200202D */ daddu $a0, $s0, $zero
/* 3B4D58 E00B25C8 00A0302D */ daddu $a2, $a1, $zero
/* 3B4D5C E00B25CC 0C080110 */ jal shim_guScaleF
/* 3B4D60 E00B25D0 00A0382D */ daddu $a3, $a1, $zero
/* 3B4D64 E00B25D4 0200202D */ daddu $a0, $s0, $zero
/* 3B4D68 E00B25D8 27A50010 */ addiu $a1, $sp, 0x10
/* 3B4D6C E00B25DC 0C080114 */ jal shim_guMtxCatF
/* 3B4D70 E00B25E0 00A0302D */ daddu $a2, $a1, $zero
/* 3B4D74 E00B25E4 27A40010 */ addiu $a0, $sp, 0x10
/* 3B4D78 E00B25E8 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 3B4D7C E00B25EC 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 3B4D80 E00B25F0 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 3B4D84 E00B25F4 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 3B4D88 E00B25F8 96050000 */ lhu $a1, ($s0)
/* 3B4D8C E00B25FC 8E420000 */ lw $v0, ($s2)
/* 3B4D90 E00B2600 00052980 */ sll $a1, $a1, 6
/* 3B4D94 E00B2604 00B32821 */ addu $a1, $a1, $s3
/* 3B4D98 E00B2608 0C080118 */ jal shim_guMtxF2L
/* 3B4D9C E00B260C 00452821 */ addu $a1, $v0, $a1
/* 3B4DA0 E00B2610 3C03DA38 */ lui $v1, 0xda38
/* 3B4DA4 E00B2614 8E240000 */ lw $a0, ($s1)
/* 3B4DA8 E00B2618 34630002 */ ori $v1, $v1, 2
/* 3B4DAC E00B261C 0080282D */ daddu $a1, $a0, $zero
/* 3B4DB0 E00B2620 24840008 */ addiu $a0, $a0, 8
/* 3B4DB4 E00B2624 24980018 */ addiu $t8, $a0, 0x18
/* 3B4DB8 E00B2628 0300F02D */ daddu $fp, $t8, $zero
/* 3B4DBC E00B262C AFB80094 */ sw $t8, 0x94($sp)
/* 3B4DC0 E00B2630 96020000 */ lhu $v0, ($s0)
/* 3B4DC4 E00B2634 24940027 */ addiu $s4, $a0, 0x27
/* 3B4DC8 E00B2638 AE240000 */ sw $a0, ($s1)
/* 3B4DCC E00B263C ACA30000 */ sw $v1, ($a1)
/* 3B4DD0 E00B2640 24430001 */ addiu $v1, $v0, 1
/* 3B4DD4 E00B2644 3042FFFF */ andi $v0, $v0, 0xffff
/* 3B4DD8 E00B2648 00021180 */ sll $v0, $v0, 6
/* 3B4DDC E00B264C A6030000 */ sh $v1, ($s0)
/* 3B4DE0 E00B2650 8E430000 */ lw $v1, ($s2)
/* 3B4DE4 E00B2654 00531021 */ addu $v0, $v0, $s3
/* 3B4DE8 E00B2658 00621821 */ addu $v1, $v1, $v0
/* 3B4DEC E00B265C 24820008 */ addiu $v0, $a0, 8
/* 3B4DF0 E00B2660 ACA30004 */ sw $v1, 4($a1)
/* 3B4DF4 E00B2664 AE220000 */ sw $v0, ($s1)
/* 3B4DF8 E00B2668 3C02FA00 */ lui $v0, 0xfa00
/* 3B4DFC E00B266C AC820000 */ sw $v0, ($a0)
/* 3B4E00 E00B2670 92E20037 */ lbu $v0, 0x37($s7)
/* 3B4E04 E00B2674 92E5003B */ lbu $a1, 0x3b($s7)
/* 3B4E08 E00B2678 92E6003F */ lbu $a2, 0x3f($s7)
/* 3B4E0C E00B267C 92E70043 */ lbu $a3, 0x43($s7)
/* 3B4E10 E00B2680 24830010 */ addiu $v1, $a0, 0x10
/* 3B4E14 E00B2684 AE230000 */ sw $v1, ($s1)
/* 3B4E18 E00B2688 3C03FB00 */ lui $v1, 0xfb00
/* 3B4E1C E00B268C AC830008 */ sw $v1, 8($a0)
/* 3B4E20 E00B2690 00021600 */ sll $v0, $v0, 0x18
/* 3B4E24 E00B2694 00052C00 */ sll $a1, $a1, 0x10
/* 3B4E28 E00B2698 00451025 */ or $v0, $v0, $a1
/* 3B4E2C E00B269C 00063200 */ sll $a2, $a2, 8
/* 3B4E30 E00B26A0 00461025 */ or $v0, $v0, $a2
/* 3B4E34 E00B26A4 00471025 */ or $v0, $v0, $a3
/* 3B4E38 E00B26A8 AC820004 */ sw $v0, 4($a0)
/* 3B4E3C E00B26AC 92E20047 */ lbu $v0, 0x47($s7)
/* 3B4E40 E00B26B0 92E5004B */ lbu $a1, 0x4b($s7)
/* 3B4E44 E00B26B4 92E6004F */ lbu $a2, 0x4f($s7)
/* 3B4E48 E00B26B8 3C03DE01 */ lui $v1, 0xde01
/* 3B4E4C E00B26BC AC830010 */ sw $v1, 0x10($a0)
/* 3B4E50 E00B26C0 24830198 */ addiu $v1, $a0, 0x198
/* 3B4E54 E00B26C4 AC830014 */ sw $v1, 0x14($a0)
/* 3B4E58 E00B26C8 AE230000 */ sw $v1, ($s1)
/* 3B4E5C E00B26CC 00021600 */ sll $v0, $v0, 0x18
/* 3B4E60 E00B26D0 00052C00 */ sll $a1, $a1, 0x10
/* 3B4E64 E00B26D4 00451025 */ or $v0, $v0, $a1
/* 3B4E68 E00B26D8 00063200 */ sll $a2, $a2, 8
/* 3B4E6C E00B26DC 00461025 */ or $v0, $v0, $a2
/* 3B4E70 E00B26E0 344200C8 */ ori $v0, $v0, 0xc8
/* 3B4E74 E00B26E4 AC82000C */ sw $v0, 0xc($a0)
.LE00B26E8:
/* 3B4E78 E00B26E8 12A00008 */ beqz $s5, .LE00B270C
/* 3B4E7C E00B26EC 0000C02D */ daddu $t8, $zero, $zero
/* 3B4E80 E00B26F0 13150006 */ beq $t8, $s5, .LE00B270C
/* 3B4E84 E00B26F4 2402000B */ addiu $v0, $zero, 0xb
/* 3B4E88 E00B26F8 12A2000F */ beq $s5, $v0, .LE00B2738
/* 3B4E8C E00B26FC 00000000 */ nop
/* 3B4E90 E00B2700 8EC20178 */ lw $v0, 0x178($s6)
/* 3B4E94 E00B2704 1440000C */ bnez $v0, .LE00B2738
/* 3B4E98 E00B2708 00000000 */ nop
.LE00B270C:
/* 3B4E9C E00B270C 8FB800A4 */ lw $t8, 0xa4($sp)
/* 3B4EA0 E00B2710 8EC60118 */ lw $a2, 0x118($s6)
/* 3B4EA4 E00B2714 C6C000E8 */ lwc1 $f0, 0xe8($s6)
/* 3B4EA8 E00B2718 02F81021 */ addu $v0, $s7, $t8
/* 3B4EAC E00B271C 46000007 */ neg.s $f0, $f0
/* 3B4EB0 E00B2720 C44C0118 */ lwc1 $f12, 0x118($v0)
/* 3B4EB4 E00B2724 C44E00E8 */ lwc1 $f14, 0xe8($v0)
/* 3B4EB8 E00B2728 44070000 */ mfc1 $a3, $f0
/* 3B4EBC E00B272C 0C080148 */ jal shim_atan2
/* 3B4EC0 E00B2730 46007387 */ neg.s $f14, $f14
/* 3B4EC4 E00B2734 46000607 */ neg.s $f24, $f0
.LE00B2738:
/* 3B4EC8 E00B2738 8EE20000 */ lw $v0, ($s7)
/* 3B4ECC E00B273C 14400015 */ bnez $v0, .LE00B2794
/* 3B4ED0 E00B2740 00000000 */ nop
/* 3B4ED4 E00B2744 C6C001A8 */ lwc1 $f0, 0x1a8($s6)
/* 3B4ED8 E00B2748 46800020 */ cvt.s.w $f0, $f0
/* 3B4EDC E00B274C 46000021 */ cvt.d.s $f0, $f0
/* 3B4EE0 E00B2750 463C0002 */ mul.d $f0, $f0, $f28
/* 3B4EE4 E00B2754 00000000 */ nop
/* 3B4EE8 E00B2758 3C014000 */ lui $at, 0x4000
/* 3B4EEC E00B275C 44811800 */ mtc1 $at, $f3
/* 3B4EF0 E00B2760 44801000 */ mtc1 $zero, $f2
/* 3B4EF4 E00B2764 00000000 */ nop
/* 3B4EF8 E00B2768 46220000 */ add.d $f0, $f0, $f2
/* 3B4EFC E00B276C 3C0140C0 */ lui $at, 0x40c0
/* 3B4F00 E00B2770 44812000 */ mtc1 $at, $f4
/* 3B4F04 E00B2774 462005A0 */ cvt.s.d $f22, $f0
/* 3B4F08 E00B2778 4616203C */ c.lt.s $f4, $f22
/* 3B4F0C E00B277C 00000000 */ nop
/* 3B4F10 E00B2780 45030001 */ bc1tl .LE00B2788
/* 3B4F14 E00B2784 46002586 */ mov.s $f22, $f4
.LE00B2788:
/* 3B4F18 E00B2788 8FB800A0 */ lw $t8, 0xa0($sp)
/* 3B4F1C E00B278C 0802CA04 */ j .LE00B2810
/* 3B4F20 E00B2790 93110000 */ lbu $s1, ($t8)
.LE00B2794:
/* 3B4F24 E00B2794 C6C001A8 */ lwc1 $f0, 0x1a8($s6)
/* 3B4F28 E00B2798 46800020 */ cvt.s.w $f0, $f0
/* 3B4F2C E00B279C 46000021 */ cvt.d.s $f0, $f0
/* 3B4F30 E00B27A0 463C0002 */ mul.d $f0, $f0, $f28
/* 3B4F34 E00B27A4 00000000 */ nop
/* 3B4F38 E00B27A8 3C013FF0 */ lui $at, 0x3ff0
/* 3B4F3C E00B27AC 44811800 */ mtc1 $at, $f3
/* 3B4F40 E00B27B0 44801000 */ mtc1 $zero, $f2
/* 3B4F44 E00B27B4 00000000 */ nop
/* 3B4F48 E00B27B8 46220000 */ add.d $f0, $f0, $f2
/* 3B4F4C E00B27BC 3C0141F0 */ lui $at, 0x41f0
/* 3B4F50 E00B27C0 44811000 */ mtc1 $at, $f2
/* 3B4F54 E00B27C4 462005A0 */ cvt.s.d $f22, $f0
/* 3B4F58 E00B27C8 4616103C */ c.lt.s $f2, $f22
/* 3B4F5C E00B27CC 00000000 */ nop
/* 3B4F60 E00B27D0 45030001 */ bc1tl .LE00B27D8
/* 3B4F64 E00B27D4 46001586 */ mov.s $f22, $f2
.LE00B27D8:
/* 3B4F68 E00B27D8 02F51021 */ addu $v0, $s7, $s5
/* 3B4F6C E00B27DC 8FB800A0 */ lw $t8, 0xa0($sp)
/* 3B4F70 E00B27E0 904201D8 */ lbu $v0, 0x1d8($v0)
/* 3B4F74 E00B27E4 93030000 */ lbu $v1, ($t8)
/* 3B4F78 E00B27E8 00620018 */ mult $v1, $v0
/* 3B4F7C E00B27EC 00001812 */ mflo $v1
/* 3B4F80 E00B27F0 3C028080 */ lui $v0, 0x8080
/* 3B4F84 E00B27F4 34428081 */ ori $v0, $v0, 0x8081
/* 3B4F88 E00B27F8 00620018 */ mult $v1, $v0
/* 3B4F8C E00B27FC 00001010 */ mfhi $v0
/* 3B4F90 E00B2800 00431021 */ addu $v0, $v0, $v1
/* 3B4F94 E00B2804 000211C3 */ sra $v0, $v0, 7
/* 3B4F98 E00B2808 00031FC3 */ sra $v1, $v1, 0x1f
/* 3B4F9C E00B280C 00438823 */ subu $s1, $v0, $v1
.LE00B2810:
/* 3B4FA0 E00B2810 C7A40098 */ lwc1 $f4, 0x98($sp)
/* 3B4FA4 E00B2814 8FB8009C */ lw $t8, 0x9c($sp)
/* 3B4FA8 E00B2818 4604B582 */ mul.s $f22, $f22, $f4
/* 3B4FAC E00B281C 00000000 */ nop
/* 3B4FB0 E00B2820 4600C306 */ mov.s $f12, $f24
/* 3B4FB4 E00B2824 03158021 */ addu $s0, $t8, $s5
/* 3B4FB8 E00B2828 0C080140 */ jal shim_sin_deg
/* 3B4FBC E00B282C 00108180 */ sll $s0, $s0, 6
/* 3B4FC0 E00B2830 4600B502 */ mul.s $f20, $f22, $f0
/* 3B4FC4 E00B2834 00000000 */ nop
/* 3B4FC8 E00B2838 0C080144 */ jal shim_cos_deg
/* 3B4FCC E00B283C 4600C306 */ mov.s $f12, $f24
/* 3B4FD0 E00B2840 C6C200E8 */ lwc1 $f2, 0xe8($s6)
/* 3B4FD4 E00B2844 46141080 */ add.s $f2, $f2, $f20
/* 3B4FD8 E00B2848 461A1082 */ mul.s $f2, $f2, $f26
/* 3B4FDC E00B284C 00000000 */ nop
/* 3B4FE0 E00B2850 4600B002 */ mul.s $f0, $f22, $f0
/* 3B4FE4 E00B2854 00000000 */ nop
/* 3B4FE8 E00B2858 4600110D */ trunc.w.s $f4, $f2
/* 3B4FEC E00B285C 44022000 */ mfc1 $v0, $f4
/* 3B4FF0 E00B2860 00000000 */ nop
/* 3B4FF4 E00B2864 A7C20000 */ sh $v0, ($fp)
/* 3B4FF8 E00B2868 C6C20118 */ lwc1 $f2, 0x118($s6)
/* 3B4FFC E00B286C 46001080 */ add.s $f2, $f2, $f0
/* 3B5000 E00B2870 461A1082 */ mul.s $f2, $f2, $f26
/* 3B5004 E00B2874 00000000 */ nop
/* 3B5008 E00B2878 4600110D */ trunc.w.s $f4, $f2
/* 3B500C E00B287C 44022000 */ mfc1 $v0, $f4
/* 3B5010 E00B2880 00000000 */ nop
/* 3B5014 E00B2884 A682FFF3 */ sh $v0, -0xd($s4)
/* 3B5018 E00B2888 32A20001 */ andi $v0, $s5, 1
/* 3B501C E00B288C 00022A00 */ sll $a1, $v0, 8
/* 3B5020 E00B2890 00A22823 */ subu $a1, $a1, $v0
/* 3B5024 E00B2894 00151043 */ sra $v0, $s5, 1
/* 3B5028 E00B2898 30420001 */ andi $v0, $v0, 1
/* 3B502C E00B289C 00022200 */ sll $a0, $v0, 8
/* 3B5030 E00B28A0 00822023 */ subu $a0, $a0, $v0
/* 3B5034 E00B28A4 00151083 */ sra $v0, $s5, 2
/* 3B5038 E00B28A8 30420001 */ andi $v0, $v0, 1
/* 3B503C E00B28AC 00021A00 */ sll $v1, $v0, 8
/* 3B5040 E00B28B0 C6C20148 */ lwc1 $f2, 0x148($s6)
/* 3B5044 E00B28B4 00621823 */ subu $v1, $v1, $v0
/* 3B5048 E00B28B8 461E1080 */ add.s $f2, $f2, $f30
/* 3B504C E00B28BC A690FFF9 */ sh $s0, -7($s4)
/* 3B5050 E00B28C0 A680FFFB */ sh $zero, -5($s4)
/* 3B5054 E00B28C4 461A1082 */ mul.s $f2, $f2, $f26
/* 3B5058 E00B28C8 00000000 */ nop
/* 3B505C E00B28CC A285FFFD */ sb $a1, -3($s4)
/* 3B5060 E00B28D0 A284FFFE */ sb $a0, -2($s4)
/* 3B5064 E00B28D4 A283FFFF */ sb $v1, -1($s4)
/* 3B5068 E00B28D8 A2910000 */ sb $s1, ($s4)
/* 3B506C E00B28DC 4600110D */ trunc.w.s $f4, $f2
/* 3B5070 E00B28E0 44022000 */ mfc1 $v0, $f4
/* 3B5074 E00B28E4 00000000 */ nop
/* 3B5078 E00B28E8 A682FFF5 */ sh $v0, -0xb($s4)
/* 3B507C E00B28EC C6C200E8 */ lwc1 $f2, 0xe8($s6)
/* 3B5080 E00B28F0 46141081 */ sub.s $f2, $f2, $f20
/* 3B5084 E00B28F4 461A1082 */ mul.s $f2, $f2, $f26
/* 3B5088 E00B28F8 00000000 */ nop
/* 3B508C E00B28FC 27DE0010 */ addiu $fp, $fp, 0x10
/* 3B5090 E00B2900 26B50001 */ addiu $s5, $s5, 1
/* 3B5094 E00B2904 26940010 */ addiu $s4, $s4, 0x10
/* 3B5098 E00B2908 4600110D */ trunc.w.s $f4, $f2
/* 3B509C E00B290C 44022000 */ mfc1 $v0, $f4
/* 3B50A0 E00B2910 00000000 */ nop
/* 3B50A4 E00B2914 A7C20000 */ sh $v0, ($fp)
/* 3B50A8 E00B2918 8FB8009C */ lw $t8, 0x9c($sp)
/* 3B50AC E00B291C C6C20118 */ lwc1 $f2, 0x118($s6)
/* 3B50B0 E00B2920 27180004 */ addiu $t8, $t8, 4
/* 3B50B4 E00B2924 AFB8009C */ sw $t8, 0x9c($sp)
/* 3B50B8 E00B2928 8FB800A0 */ lw $t8, 0xa0($sp)
/* 3B50BC E00B292C 46001081 */ sub.s $f2, $f2, $f0
/* 3B50C0 E00B2930 27180001 */ addiu $t8, $t8, 1
/* 3B50C4 E00B2934 AFB800A0 */ sw $t8, 0xa0($sp)
/* 3B50C8 E00B2938 461A1082 */ mul.s $f2, $f2, $f26
/* 3B50CC E00B293C 00000000 */ nop
/* 3B50D0 E00B2940 8FB800A4 */ lw $t8, 0xa4($sp)
/* 3B50D4 E00B2944 27DE0010 */ addiu $fp, $fp, 0x10
/* 3B50D8 E00B2948 27180004 */ addiu $t8, $t8, 4
/* 3B50DC E00B294C AFB800A4 */ sw $t8, 0xa4($sp)
/* 3B50E0 E00B2950 4600110D */ trunc.w.s $f4, $f2
/* 3B50E4 E00B2954 44022000 */ mfc1 $v0, $f4
/* 3B50E8 E00B2958 00000000 */ nop
/* 3B50EC E00B295C A682FFF3 */ sh $v0, -0xd($s4)
/* 3B50F0 E00B2960 C6C00148 */ lwc1 $f0, 0x148($s6)
/* 3B50F4 E00B2964 26D60004 */ addiu $s6, $s6, 4
/* 3B50F8 E00B2968 24020400 */ addiu $v0, $zero, 0x400
/* 3B50FC E00B296C 461E0000 */ add.s $f0, $f0, $f30
/* 3B5100 E00B2970 A690FFF9 */ sh $s0, -7($s4)
/* 3B5104 E00B2974 A682FFFB */ sh $v0, -5($s4)
/* 3B5108 E00B2978 461A0002 */ mul.s $f0, $f0, $f26
/* 3B510C E00B297C 00000000 */ nop
/* 3B5110 E00B2980 A285FFFD */ sb $a1, -3($s4)
/* 3B5114 E00B2984 A284FFFE */ sb $a0, -2($s4)
/* 3B5118 E00B2988 A283FFFF */ sb $v1, -1($s4)
/* 3B511C E00B298C A2910000 */ sb $s1, ($s4)
/* 3B5120 E00B2990 4600010D */ trunc.w.s $f4, $f0
/* 3B5124 E00B2994 44022000 */ mfc1 $v0, $f4
/* 3B5128 E00B2998 00000000 */ nop
/* 3B512C E00B299C A682FFF5 */ sh $v0, -0xb($s4)
/* 3B5130 E00B29A0 2AA2000C */ slti $v0, $s5, 0xc
/* 3B5134 E00B29A4 1440FF50 */ bnez $v0, .LE00B26E8
/* 3B5138 E00B29A8 26940010 */ addiu $s4, $s4, 0x10
/* 3B513C E00B29AC 3C07800A */ lui $a3, %hi(gMasterGfxPos)
/* 3B5140 E00B29B0 24E7A66C */ addiu $a3, $a3, %lo(gMasterGfxPos)
/* 3B5144 E00B29B4 3C080900 */ lui $t0, 0x900
/* 3B5148 E00B29B8 250808A8 */ addiu $t0, $t0, 0x8a8
/* 3B514C E00B29BC 00151040 */ sll $v0, $s5, 1
/* 3B5150 E00B29C0 304400FF */ andi $a0, $v0, 0xff
/* 3B5154 E00B29C4 00042300 */ sll $a0, $a0, 0xc
/* 3B5158 E00B29C8 3042007F */ andi $v0, $v0, 0x7f
/* 3B515C E00B29CC 00021040 */ sll $v0, $v0, 1
/* 3B5160 E00B29D0 3C030100 */ lui $v1, 0x100
/* 3B5164 E00B29D4 00431025 */ or $v0, $v0, $v1
/* 3B5168 E00B29D8 8CE60000 */ lw $a2, ($a3)
/* 3B516C E00B29DC 00822025 */ or $a0, $a0, $v0
/* 3B5170 E00B29E0 00C0282D */ daddu $a1, $a2, $zero
/* 3B5174 E00B29E4 24C60008 */ addiu $a2, $a2, 8
/* 3B5178 E00B29E8 ACE60000 */ sw $a2, ($a3)
/* 3B517C E00B29EC ACA40000 */ sw $a0, ($a1)
/* 3B5180 E00B29F0 8FB80094 */ lw $t8, 0x94($sp)
/* 3B5184 E00B29F4 24C20008 */ addiu $v0, $a2, 8
/* 3B5188 E00B29F8 ACB80004 */ sw $t8, 4($a1)
/* 3B518C E00B29FC ACE20000 */ sw $v0, ($a3)
/* 3B5190 E00B2A00 3C02DE00 */ lui $v0, 0xde00
/* 3B5194 E00B2A04 ACC20000 */ sw $v0, ($a2)
/* 3B5198 E00B2A08 8FB80090 */ lw $t8, 0x90($sp)
/* 3B519C E00B2A0C 17000003 */ bnez $t8, .LE00B2A1C
/* 3B51A0 E00B2A10 02A0102D */ daddu $v0, $s5, $zero
/* 3B51A4 E00B2A14 3C080900 */ lui $t0, 0x900
/* 3B51A8 E00B2A18 25080800 */ addiu $t0, $t0, 0x800
.LE00B2A1C:
/* 3B51AC E00B2A1C ACC80004 */ sw $t0, 4($a2)
/* 3B51B0 E00B2A20 2442FFFF */ addiu $v0, $v0, -1
/* 3B51B4 E00B2A24 18400039 */ blez $v0, .LE00B2B0C
/* 3B51B8 E00B2A28 0000A82D */ daddu $s5, $zero, $zero
/* 3B51BC E00B2A2C 00E0582D */ daddu $t3, $a3, $zero
/* 3B51C0 E00B2A30 3C0A0600 */ lui $t2, 0x600
/* 3B51C4 E00B2A34 24090001 */ addiu $t1, $zero, 1
/* 3B51C8 E00B2A38 3C0F0606 */ lui $t7, 0x606
/* 3B51CC E00B2A3C 35EF0402 */ ori $t7, $t7, 0x402
/* 3B51D0 E00B2A40 3C0E0002 */ lui $t6, 2
/* 3B51D4 E00B2A44 35CE0406 */ ori $t6, $t6, 0x406
/* 3B51D8 E00B2A48 3C0D0006 */ lui $t5, 6
/* 3B51DC E00B2A4C 35AD0804 */ ori $t5, $t5, 0x804
/* 3B51E0 E00B2A50 0040602D */ daddu $t4, $v0, $zero
/* 3B51E4 E00B2A54 24070004 */ addiu $a3, $zero, 4
/* 3B51E8 E00B2A58 24060002 */ addiu $a2, $zero, 2
/* 3B51EC E00B2A5C 24080006 */ addiu $t0, $zero, 6
.LE00B2A60:
/* 3B51F0 E00B2A60 2AA20000 */ slti $v0, $s5, 0
/* 3B51F4 E00B2A64 14400023 */ bnez $v0, .LE00B2AF4
/* 3B51F8 E00B2A68 00152840 */ sll $a1, $s5, 1
/* 3B51FC E00B2A6C 8D640000 */ lw $a0, ($t3)
/* 3B5200 E00B2A70 24820008 */ addiu $v0, $a0, 8
/* 3B5204 E00B2A74 14A00004 */ bnez $a1, .LE00B2A88
/* 3B5208 E00B2A78 AD620000 */ sw $v0, ($t3)
/* 3B520C E00B2A7C 00151440 */ sll $v0, $s5, 0x11
/* 3B5210 E00B2A80 0802CAAC */ j .LE00B2AB0
/* 3B5214 E00B2A84 34420402 */ ori $v0, $v0, 0x402
.LE00B2A88:
/* 3B5218 E00B2A88 14A90003 */ bne $a1, $t1, .LE00B2A98
/* 3B521C E00B2A8C 30C200FF */ andi $v0, $a2, 0xff
/* 3B5220 E00B2A90 0802CAAE */ j .LE00B2AB8
/* 3B5224 E00B2A94 AC8F0000 */ sw $t7, ($a0)
.LE00B2A98:
/* 3B5228 E00B2A98 00021400 */ sll $v0, $v0, 0x10
/* 3B522C E00B2A9C 00151A80 */ sll $v1, $s5, 0xa
/* 3B5230 E00B2AA0 3063FC00 */ andi $v1, $v1, 0xfc00
/* 3B5234 E00B2AA4 00431025 */ or $v0, $v0, $v1
/* 3B5238 E00B2AA8 30E300FF */ andi $v1, $a3, 0xff
/* 3B523C E00B2AAC 00431025 */ or $v0, $v0, $v1
.LE00B2AB0:
/* 3B5240 E00B2AB0 004A1025 */ or $v0, $v0, $t2
/* 3B5244 E00B2AB4 AC820000 */ sw $v0, ($a0)
.LE00B2AB8:
/* 3B5248 E00B2AB8 14A00003 */ bnez $a1, .LE00B2AC8
/* 3B524C E00B2ABC 00000000 */ nop
/* 3B5250 E00B2AC0 0802CABD */ j .LE00B2AF4
/* 3B5254 E00B2AC4 AC8E0004 */ sw $t6, 4($a0)
.LE00B2AC8:
/* 3B5258 E00B2AC8 14A90003 */ bne $a1, $t1, .LE00B2AD8
/* 3B525C E00B2ACC 310200FF */ andi $v0, $t0, 0xff
/* 3B5260 E00B2AD0 0802CABD */ j .LE00B2AF4
/* 3B5264 E00B2AD4 AC8D0004 */ sw $t5, 4($a0)
.LE00B2AD8:
/* 3B5268 E00B2AD8 00021400 */ sll $v0, $v0, 0x10
/* 3B526C E00B2ADC 30C300FF */ andi $v1, $a2, 0xff
/* 3B5270 E00B2AE0 00031A00 */ sll $v1, $v1, 8
/* 3B5274 E00B2AE4 00431025 */ or $v0, $v0, $v1
/* 3B5278 E00B2AE8 30E300FF */ andi $v1, $a3, 0xff
/* 3B527C E00B2AEC 00431025 */ or $v0, $v0, $v1
/* 3B5280 E00B2AF0 AC820004 */ sw $v0, 4($a0)
.LE00B2AF4:
/* 3B5284 E00B2AF4 24E70004 */ addiu $a3, $a3, 4
/* 3B5288 E00B2AF8 24C60004 */ addiu $a2, $a2, 4
/* 3B528C E00B2AFC 26B50001 */ addiu $s5, $s5, 1
/* 3B5290 E00B2B00 02AC102A */ slt $v0, $s5, $t4
/* 3B5294 E00B2B04 1440FFD6 */ bnez $v0, .LE00B2A60
/* 3B5298 E00B2B08 25080004 */ addiu $t0, $t0, 4
.LE00B2B0C:
/* 3B529C E00B2B0C 3C03D838 */ lui $v1, 0xd838
/* 3B52A0 E00B2B10 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 3B52A4 E00B2B14 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 3B52A8 E00B2B18 8C820000 */ lw $v0, ($a0)
/* 3B52AC E00B2B1C 34630002 */ ori $v1, $v1, 2
/* 3B52B0 E00B2B20 0040282D */ daddu $a1, $v0, $zero
/* 3B52B4 E00B2B24 24420008 */ addiu $v0, $v0, 8
/* 3B52B8 E00B2B28 AC820000 */ sw $v0, ($a0)
/* 3B52BC E00B2B2C ACA30000 */ sw $v1, ($a1)
/* 3B52C0 E00B2B30 24030040 */ addiu $v1, $zero, 0x40
/* 3B52C4 E00B2B34 ACA30004 */ sw $v1, 4($a1)
/* 3B52C8 E00B2B38 24430008 */ addiu $v1, $v0, 8
/* 3B52CC E00B2B3C AC830000 */ sw $v1, ($a0)
/* 3B52D0 E00B2B40 3C03E700 */ lui $v1, 0xe700
/* 3B52D4 E00B2B44 AC430000 */ sw $v1, ($v0)
/* 3B52D8 E00B2B48 AC400004 */ sw $zero, 4($v0)
/* 3B52DC E00B2B4C 8FBF00CC */ lw $ra, 0xcc($sp)
/* 3B52E0 E00B2B50 8FBE00C8 */ lw $fp, 0xc8($sp)
/* 3B52E4 E00B2B54 8FB700C4 */ lw $s7, 0xc4($sp)
/* 3B52E8 E00B2B58 8FB600C0 */ lw $s6, 0xc0($sp)
/* 3B52EC E00B2B5C 8FB500BC */ lw $s5, 0xbc($sp)
/* 3B52F0 E00B2B60 8FB400B8 */ lw $s4, 0xb8($sp)
/* 3B52F4 E00B2B64 8FB300B4 */ lw $s3, 0xb4($sp)
/* 3B52F8 E00B2B68 8FB200B0 */ lw $s2, 0xb0($sp)
/* 3B52FC E00B2B6C 8FB100AC */ lw $s1, 0xac($sp)
/* 3B5300 E00B2B70 8FB000A8 */ lw $s0, 0xa8($sp)
/* 3B5304 E00B2B74 D7BE00F8 */ ldc1 $f30, 0xf8($sp)
/* 3B5308 E00B2B78 D7BC00F0 */ ldc1 $f28, 0xf0($sp)
/* 3B530C E00B2B7C D7BA00E8 */ ldc1 $f26, 0xe8($sp)
/* 3B5310 E00B2B80 D7B800E0 */ ldc1 $f24, 0xe0($sp)
/* 3B5314 E00B2B84 D7B600D8 */ ldc1 $f22, 0xd8($sp)
/* 3B5318 E00B2B88 D7B400D0 */ ldc1 $f20, 0xd0($sp)
/* 3B531C E00B2B8C 03E00008 */ jr $ra
/* 3B5320 E00B2B90 27BD0100 */ addiu $sp, $sp, 0x100
/* 3B5324 E00B2B94 00000000 */ nop
/* 3B5328 E00B2B98 00000000 */ nop
/* 3B532C E00B2B9C 00000000 */ nop

View File

@ -5238,7 +5238,24 @@ segments:
subsegments:
- [0x3B4790, c, squirt]
- [0x3B5330]
- [0x3B5340, bin] # squirt gfx
- name: effect_gfx_squirt
dir: effects/gfx
type: code
start: 0x3B5340
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3B5340, c, squirt]
- start: 0x3B5340
type: .data
name: squirt
subsegments:
- [0x3B5340, ia4, D_09000000_3B5340, 64, 32]
- [0x3B5740, ia8, D_09000400_3B5740, 32, 32]
- [0x3B5B40, gfx, D_09000800_3B5B40]
- [0x3B5BE8, gfx, D_090008A8_3B5BE8]
- [0x3B5C90, vtx, D_09000950_3B5C90]
- [0x3B5CD0, gfx, D_09000990_3B5CD0]
- name: effect_water_block
dir: effects
type: code

View File

@ -33,11 +33,6 @@ D_803DA800 = 0x803DA800;
heap_battleHead = 0x803DA800;
// Letter delivery BSS
mac_05_LetterDelivery_SavedNpcAnim = 0x80252D38;
mac_00_LetterDelivery_SavedNpcAnim = 0x80255ED8;
dup_mac_00_LetterDelivery_SavedNpcAnim = 0x802560A4;
kmr_02_LetterDelivery_SavedNpcAnim = 0x8025811C;
osr_01_LetterDelivery_SavedNpcAnim = 0x80242344;
hos_06_LetterDelivery_SavedNpcAnim = 0x80246424;
nok_01_LetterDelivery_SavedNpcAnim = 0x80251E34;
nok_02_LetterDelivery_SavedNpcAnim = 0x80254B94;
@ -47,35 +42,28 @@ sam_01_LetterDelivery_SavedNpcAnim = 0x8024DF24;
sam_06_LetterDelivery_SavedNpcAnim = 0x8024C1D8;
sbk_30_LetterDelivery_SavedNpcAnim = 0x80244D88;
sbk_34_LetterDelivery_SavedNpcAnim = 0x802429A4;
obk_01_LetterDelivery_SavedNpcAnim = 0x80245AB4;
obk_03_LetterDelivery_SavedNpcAnim = 0x80243DA4;
// Quizmo BSS
sam_02_Quizmo_AnswerResult = 0x8024B9A8;
sam_02_Quizmo_StageEffect = 0x8024B9B0;
jan_02_Quizmo_Worker = 0x80248924;
jan_02_Quizmo_AnswerResult = 0x80248938;
jan_02_Quizmo_StageEffect = 0x80248940;
jan_02_Quizmo_AudienceEffect = 0x80248944;
jan_02_Quizmo_VannaTEffect = 0x80248948;
sam_01_Quizmo_Worker = 0x8024DEF8;
sam_02_Quizmo_Worker = 0x8024B990;
sam_02_Quizmo_AudienceEffect = 0x8024B9B4;
sam_02_Quizmo_VannaTEffect = 0x8024B9B8;
hos_03_Quizmo_Worker = 0x8024BDD0;
hos_03_Quizmo_AnswerResult = 0x8024BDE8;
hos_03_Quizmo_StageEffect = 0x8024BDF0;
hos_03_Quizmo_AudienceEffect = 0x8024BDF4;
hos_03_Quizmo_VannaTEffect = 0x8024BDF8;
sam_01_Quizmo_AnswerResult = 0x8024DF10;
sam_01_Quizmo_StageEffect = 0x8024DF18;
sam_01_Quizmo_AudienceEffect = 0x8024DF1C;
sam_01_Quizmo_VannaTEffect = 0x8024DF20;
jan_03_Quizmo_Worker = 0x8024FED8;
jan_03_Quizmo_AnswerResult = 0x8024FEF0;
jan_03_Quizmo_StageEffect = 0x8024FEF8;
jan_03_Quizmo_AudienceEffect = 0x8024FEFC;
jan_03_Quizmo_VannaTEffect = 0x8024FF00;
sam_02_Quizmo_AnswerResult = 0x8024B9A8;
sam_02_Quizmo_StageEffect = 0x8024B9B0;
sam_01_Quizmo_Worker = 0x8024DEF8;
sam_02_Quizmo_Worker = 0x8024B990;
sam_02_Quizmo_AudienceEffect = 0x8024B9B4;
sam_02_Quizmo_VannaTEffect = 0x8024B9B8;
sam_01_Quizmo_AnswerResult = 0x8024DF10;
sam_01_Quizmo_StageEffect = 0x8024DF18;
sam_01_Quizmo_AudienceEffect = 0x8024DF1C;
sam_01_Quizmo_VannaTEffect = 0x8024DF20;
sam_11_Quizmo_Worker = 0x80251450;
sam_11_Quizmo_AnswerResult = 0x80251468;
sam_11_Quizmo_StageEffect = 0x80251470;
@ -86,26 +74,11 @@ nok_01_Quizmo_AnswerResult = 0x80251C58;
nok_01_Quizmo_StageEffect = 0x80251C60;
nok_01_Quizmo_AudienceEffect = 0x80251C64;
nok_01_Quizmo_VannaTEffect = 0x80251C68;
mac_05_Quizmo_Worker = 0x802529D0;
mac_05_Quizmo_AnswerResult = 0x802529E8;
mac_05_Quizmo_StageEffect = 0x802529F0;
mac_05_Quizmo_AudienceEffect = 0x802529F4;
mac_05_Quizmo_VannaTEffect = 0x802529F8;
nok_02_Quizmo_AnswerResult = 0x802549B8;
nok_02_Quizmo_Worker = 0x802549A0;
nok_02_Quizmo_StageEffect = 0x802549C0;
nok_02_Quizmo_AudienceEffect = 0x802549C4;
nok_02_Quizmo_VannaTEffect = 0x802549C8;
kmr_02_Quizmo_Worker = 0x80257F2C;
kmr_02_Quizmo_AnswerResult = 0x80257F40;
kmr_02_Quizmo_StageEffect = 0x80257F48;
kmr_02_Quizmo_AudienceEffect = 0x80257F4C;
kmr_02_Quizmo_VannaTEffect = 0x80257F50;
// broken map symbols
hos_06_D_80246430 = 0x80246430;
jan_03_D_8024FEE0 = 0x8024FEE0;
hos_05_D_8024F4C0 = 0x8024F4C0;
// os stuff
osTvType = 0x80000300;