diff --git a/include/enums.h b/include/enums.h index b9d98553ce..10ff30cdf0 100644 --- a/include/enums.h +++ b/include/enums.h @@ -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, diff --git a/src/9d10_len_1080.c b/src/9d10_len_1080.c index 8d95652c04..f261a408e9 100644 --- a/src/9d10_len_1080.c +++ b/src/9d10_len_1080.c @@ -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); diff --git a/src/B4580.c b/src/B4580.c index c38d8a0e29..da4e469393 100644 --- a/src/B4580.c +++ b/src/B4580.c @@ -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; diff --git a/src/ad90_len_2880.c b/src/ad90_len_2880.c index b0dae11485..c6870472ea 100644 --- a/src/ad90_len_2880.c +++ b/src/ad90_len_2880.c @@ -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; @@ -29,7 +28,7 @@ void update_camera_mode_6(Camera* camera) { camera->lookAt_obj.y = camera->lookAt_obj_target.y; camera->lookAt_obj.z = camera->lookAt_obj_target.z; } - if (camera->auxPitch == 0) { + if (camera->auxPitch == 0) { camera->lookAt_obj.x = camera->lookAt_obj_target.x + camera->targetPos.x; camera->lookAt_obj.y = camera->lookAt_obj_target.y + camera->targetPos.y + camera->auxBoomZOffset * 0.00390625; camera->lookAt_obj.z = camera->lookAt_obj_target.z + camera->targetPos.z; diff --git a/src/audio.h b/src/audio.h index 72633aeefe..27fea92768 100644 --- a/src/audio.h +++ b/src/audio.h @@ -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; diff --git a/src/audio/28910_len_5090.c b/src/audio/28910_len_5090.c index 380505239e..ea841059a3 100644 --- a/src/audio/28910_len_5090.c +++ b/src/audio/28910_len_5090.c @@ -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; @@ -1294,7 +1294,7 @@ void au_bgm_player_update_playing(BGMPlayer *player) { voice->reverbAmt = track->subTrackReverb; if (track->unk_4C != 0) { - voice->unk_14.unk_00 = (s32*)player->unk_174[track->unk_4C - 1]; //TODO ??? + voice->unk_14.unk_00 = (s32*) player->unk_174[track->unk_4C - 1]; //TODO ??? } else { voice->unk_14.unk_00 = track->unk_10.unk_00; } diff --git a/src/audio/2d9a0_len_890.c b/src/audio/2d9a0_len_890.c index 563f8eee0f..80ea484028 100644 --- a/src/audio/2d9a0_len_890.c +++ b/src/audio/2d9a0_len_890.c @@ -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; diff --git a/src/audio/31650.c b/src/audio/31650.c index b803ad37ae..bf717ef801 100644 --- a/src/audio/31650.c +++ b/src/audio/31650.c @@ -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; diff --git a/src/audio/33450.c b/src/audio/33450.c index 573e47dadb..6b70935cbd 100644 --- a/src/audio/33450.c +++ b/src/audio/33450.c @@ -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); diff --git a/src/effects.c b/src/effects.c index ec33c60c57..57f520d1d9 100644 --- a/src/effects.c +++ b/src/effects.c @@ -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), diff --git a/src/effects/gfx/squirt.c b/src/effects/gfx/squirt.c new file mode 100644 index 0000000000..7c25d5ec78 --- /dev/null +++ b/src/effects/gfx/squirt.c @@ -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" diff --git a/src/effects/squirt.c b/src/effects/squirt.c index 3fac0cc289..252d6e561a 100644 --- a/src/effects/squirt.c +++ b/src/effects/squirt.c @@ -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++); +} diff --git a/src/effects/underwater.c b/src/effects/underwater.c index e32f1423d4..f09f6b0ec4 100644 --- a/src/effects/underwater.c +++ b/src/effects/underwater.c @@ -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; diff --git a/src/effects/windy_leaves.c b/src/effects/windy_leaves.c index d844817bef..bf9d0f1583 100644 --- a/src/effects/windy_leaves.c +++ b/src/effects/windy_leaves.c @@ -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); } } diff --git a/src/evt/script_list.c b/src/evt/script_list.c index c84e8dbb10..612f6894a2 100644 --- a/src/evt/script_list.c +++ b/src/evt/script_list.c @@ -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; }; diff --git a/src/world/area_hos/hos_06/A3A230.c b/src/world/area_hos/hos_06/A3A230.c index 28f69ea633..23da6b387e 100644 --- a/src/world/area_hos/hos_06/A3A230.c +++ b/src/world/area_hos/hos_06/A3A230.c @@ -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; diff --git a/src/world/area_jan/jan_03/B34BD0.c b/src/world/area_jan/jan_03/B34BD0.c index 5e1f0553df..68ca2cb389 100644 --- a/src/world/area_jan/jan_03/B34BD0.c +++ b/src/world/area_jan/jan_03/B34BD0.c @@ -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; diff --git a/src/world/common/enemy/wip/PiranhaPlantAI_Main.inc.c b/src/world/common/enemy/wip/PiranhaPlantAI_Main.inc.c index 7975afad4b..e441865a6e 100644 --- a/src/world/common/enemy/wip/PiranhaPlantAI_Main.inc.c +++ b/src/world/common/enemy/wip/PiranhaPlantAI_Main.inc.c @@ -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; diff --git a/tools/warnings_count/check_new_warnings.sh b/tools/warnings_count/check_new_warnings.sh index 8dce1fb4e0..ceadf10b23 100755 --- a/tools/warnings_count/check_new_warnings.sh +++ b/tools/warnings_count/check_new_warnings.sh @@ -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 diff --git a/ver/us/asm/data/world/area_jan/jan_03/B39530.data.s b/ver/us/asm/data/world/area_jan/jan_03/B39530.data.s index c2c190bac7..b324aa9803 100644 --- a/ver/us/asm/data/world/area_jan/jan_03/B39530.data.s +++ b/ver/us/asm/data/world/area_jan/jan_03/B39530.data.s @@ -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 diff --git a/ver/us/asm/nonmatchings/effects/squirt/squirt_appendGfx.s b/ver/us/asm/nonmatchings/effects/squirt/squirt_appendGfx.s deleted file mode 100644 index 36b595e44f..0000000000 --- a/ver/us/asm/nonmatchings/effects/squirt/squirt_appendGfx.s +++ /dev/null @@ -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 diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index a8dd9b11c7..86ffcbd456 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -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 diff --git a/ver/us/undefined_syms.txt b/ver/us/undefined_syms.txt index 24f5f752f5..7e5812f5ab 100644 --- a/ver/us/undefined_syms.txt +++ b/ver/us/undefined_syms.txt @@ -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;