Merge remote-tracking branch 'origin/main' into pal-battle

This commit is contained in:
Marijn van der Werf 2023-03-26 15:42:04 +02:00
commit c7e9a0dd99
24 changed files with 547 additions and 4929 deletions

View File

@ -1,12 +1,25 @@
# Paper Mario
[![Build Status][jenkins-badge]][jenkins]
[![Progress (US)][progress-us-badge]][progress-us]
[![Progress (JP)][progress-jp-badge]][progress-jp]
[![Progress (PAL)][progress-pal-badge]][progress-pal]
[![Progress (iQue)][progress-ique-badge]][progress-ique]
[![Discord Channel][discord-badge]][discord]
This is a work-in-progress decompilation of Paper Mario.
It builds the following ROMs:
| Region | SHA1 hash | Progress |
|:------:|--------------------------------------------|:--------------------------------------------------------:|
| US | `3837f44cda784b466c9a2d99df70d77c322b97a0` | [![Progress (US)][progress-us-badge]][progress-us] |
| JP | `b9cca3ff260b9ff427d981626b82f96de73586d3` | [![Progress (JP)][progress-jp-badge]][progress-jp] |
| PAL | `2111d39265a317414d359e35a7d971c4dfa5f9e1` | [![Progress (PAL)][progress-pal-badge]][progress-pal] |
| iQue | `5c724685085eba796537573dd6f84aaddedc8582` | [![Progress (iQue)][progress-ique-badge]][progress-ique] |
To set up the repository, see [INSTALL.md](INSTALL.md).
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for information on how to contribute to the project. Any and all help is welcome!
Also see our website at [papermar.io](https://papermar.io/).
[jenkins]: https://jenkins.deco.mp/job/papermario/job/main
[jenkins-badge]: https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fjenkins.deco.mp%2Fjob%2Fpapermario%2Fjob%2Fmain
@ -24,14 +37,3 @@
[discord]: https://discord.gg/urUm3VG
[discord-badge]: https://img.shields.io/discord/279322074412089344?color=%237289DA&logo=discord&logoColor=ffffff
This is a work-in-progress decompilation of Paper Mario.
It builds the following ROMs:
* papermario.us.z64 `sha1: 3837f44cda784b466c9a2d99df70d77c322b97a0`
* papermario.jp.z64 `sha1: b9cca3ff260b9ff427d981626b82f96de73586d3`
To set up the repository, see [INSTALL.md](INSTALL.md).
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for information on how to contribute to the project. Any and all help is welcome!

View File

@ -1752,16 +1752,11 @@ typedef struct UnderwaterFXData {
/* 0x004 */ f32 unk_04;
/* 0x008 */ f32 unk_08;
/* 0x00C */ f32 unk_0C;
/* 0x010 */ s32 unk_10;
/* 0x014 */ s32 unk_14;
/* 0x010 */ s32 timeLeft;
/* 0x014 */ s32 lifeTime;
/* 0x018 */ f32 unk_18;
/* 0x01C */ u8 unk_1C;
/* 0x01D */ u8 unk_1D;
/* 0x01E */ u8 unk_1E;
/* 0x01F */ u8 unk_1F;
/* 0x020 */ u8 unk_20;
/* 0x021 */ u8 unk_21;
/* 0x022 */ u8 unk_22;
/* 0x01C */ Color_RGBA8 waterColor;
/* 0x020 */ Color_RGB8 unk_20;
/* 0x023 */ s8 unk_23[19][13];
/* 0x11A */ s16 unk_11A[19][13];
} UnderwaterFXData; // size = 0x308

View File

@ -810,35 +810,35 @@ HitResult calc_enemy_damage_target(Actor* attacker) {
return hitResult;
}
// missing one move, not equivalent
#ifdef NON_EQUIVALENT
s32 dispatch_damage_event_actor(Actor* actor, s32 damageAmount, s32 originalEvent, s32 stopMotion) {
BattleStatus* battleStatus = &gBattleStatus;
ActorState* state;
ActorState* state = &actor->state;
s32 dispatchEvent = originalEvent;
s32 currentAttackDamage;
s32 hpChangeCounter;
s32 hpChange;
s32 flagCheck;
s32 new_var;
battleStatus->currentAttackDamage = damageAmount;
currentAttackDamage = battleStatus->currentAttackDamage;
actor->hpChangeCounter += currentAttackDamage;
hpChangeCounter = actor->hpChangeCounter;
actor->damageCounter += hpChangeCounter;
actor->hpChangeCounter -= hpChangeCounter;
hpChange = (s16) damageAmount;
actor->hpChangeCounter += hpChange;
new_var = actor->hpChangeCounter;
hpChange = new_var;
actor->damageCounter += hpChange;
actor->hpChangeCounter -= hpChange;
battleStatus->lastAttackDamage = 0;
do { } while (0);
actor->currentHP -= hpChangeCounter;
state = &actor->state;
actor->currentHP -= hpChange;
if (actor->currentHP <= 0) {
dispatchEvent = EVENT_DEATH;
battleStatus->lastAttackDamage += actor->currentHP;
actor->currentHP = 0;
}
battleStatus->lastAttackDamage += currentAttackDamage;
battleStatus->lastAttackDamage += hpChange;
actor->lastDamageTaken = battleStatus->lastAttackDamage;
battleStatus->unk_19A = 0;
if (battleStatus->flags1 & BS_FLAGS1_SP_EVT_ACTIVE) {
if (dispatchEvent == EVENT_HIT_COMBO) {
dispatchEvent = EVENT_HIT;
@ -856,7 +856,7 @@ s32 dispatch_damage_event_actor(Actor* actor, s32 damageAmount, s32 originalEven
}
}
if (stopMotion == 0) {
if (!stopMotion) {
s32 oldTargetActorID = actor->targetActorID;
if (func_80263230(actor, actor) != 0) {
@ -878,10 +878,6 @@ s32 dispatch_damage_event_actor(Actor* actor, s32 damageAmount, s32 originalEven
dispatch_event_actor(actor, dispatchEvent);
return 0;
}
#else
s32 dispatch_damage_event_actor(Actor* actor, s32 damageAmount, s32 originalEvent, s32 stopMotion);
INCLUDE_ASM(s32, "1A5830", dispatch_damage_event_actor);
#endif
s32 dispatch_damage_event_actor_0(Actor* actor, s32 damageAmount, s32 event) {
return dispatch_damage_event_actor(actor, damageAmount, event, FALSE);

View File

@ -896,7 +896,6 @@ s32 dispatch_damage_event_partner(s32 damageAmount, s32 event, s32 stopMotion) {
ActorState* state = &partner->state;
s32 hpChange;
s32 flagCheck;
s32 oldHP;
battleStatus->currentAttackDamage = damageAmount;
@ -909,12 +908,10 @@ s32 dispatch_damage_event_partner(s32 damageAmount, s32 event, s32 stopMotion) {
partner->hpChangeCounter -= hpChange;
battleStatus->lastAttackDamage = 0;
partner->currentHP -= hpChange;
oldHP = partner->currentHP;
if (partner->currentHP < 1) {
if (partner->currentHP <= 0) {
event = EVENT_DEATH;
battleStatus->lastAttackDamage += oldHP;
battleStatus->lastAttackDamage += partner->currentHP;
partner->currentHP = 0;
}

View File

@ -104,123 +104,168 @@ 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;
void update_camera_mode_2(Camera *camera) {
f32 cosBoom;
f32 sinBoom;
f32 boomYaw;
f32 deltaX;
f32 deltaY;
f32 deltaZ;
f32 unk_70;
f32 sin_70;
f32 cos_70;
f32 zero;
f32 deltaX2;
f32 deltaY2;
f32 deltaZ2;
f32 deltaX3;
f32 deltaY3;
f32 deltaZ3;
f32 tmp;
auxBoomLength = camera->auxBoomLength;
camera->unk_70 = auxBoomLength;
camera->trueRotation.x = auxBoomLength;
camera->currentBoomYaw = camera->auxPitch;
camera->unk_70 = camera->auxBoomLength;
camera->currentBoomLength = camera->lookAt_dist * D_8009A5EC;
camera->currentYOffset = camera->auxBoomPitch * D_8009A5EC;
if (camera->unk_06 != 0) {
zero = 0.0f;
camera->currentBoomYaw = camera->auxPitch;
camera->trueRotation.x = camera->unk_70;
if (camera->unk_06) {
camera->unk_06 = 0;
camera->unk_98 = 0.0f;
camera->unk_9C = 0.0f;
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 = 0.0f;
deltaY = 0.0f;
deltaZ = camera->currentBoomLength;
deltaX3 = deltaX;
deltaY3 = -deltaY;
tmp = -0.0f; //required to match
deltaZ3 = deltaZ;
deltaX = deltaX3;
deltaY = cosBoom * -deltaY3 + deltaZ3 * sinBoom;
deltaZ = sinBoom * deltaY3 + deltaZ3 * cosBoom;
boomYaw = DEG_TO_RAD(camera->unk_70);
sinBoom = sin_rad(boomYaw);
cosBoom = cos_rad(boomYaw);
deltaX3 = cosBoom * deltaX - deltaZ * sinBoom;
deltaY3 = deltaY;
deltaZ3 = sinBoom * deltaX + deltaZ * cosBoom;
deltaX2 = camera->lookAt_obj.x + deltaX3;
deltaY2 = camera->lookAt_obj.y + deltaY3;
deltaZ2 = camera->lookAt_obj.z + deltaZ3;
camera->lookAt_eye.x = deltaX2;
camera->lookAt_eye.y = deltaY2;
camera->lookAt_eye.z = deltaZ2;
}
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;
deltaX2 = camera->lookAt_obj_target.x - camera->lookAt_obj.x;
deltaY2 = (camera->lookAt_obj_target.y + camera->currentYOffset) - camera->lookAt_obj.y;
deltaZ2 = camera->lookAt_obj_target.z - camera->lookAt_obj.z;
if (fabsf(deltaX2) > 16.0f) {
if (deltaX2 < 0.0f) {
deltaX2 = -16.0f;
} else {
deltaX = 16.0f;
deltaX2 = 16.0f;
}
}
if (fabsf(deltaY) > 16.0f) {
if (deltaY < 0.0f) {
deltaY = -16.0f;
if (fabsf(deltaY2) > 16.0f) {
if (deltaY2 < 0.0f) {
deltaY2 = -16.0f;
} else {
deltaY = 16.0f;
deltaY2 = 16.0f;
}
}
if (fabsf(deltaZ) > 16.0f) {
if (deltaZ < 0.0f) {
deltaZ = -16.0f;
if (fabsf(deltaZ2) > 16.0f) {
if (deltaZ2 < 0.0f) {
deltaZ2 = -16.0f;
} else {
deltaZ = 16.0f;
deltaZ2 = 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;
camera->lookAt_obj.x += deltaX2 * 0.5f;
camera->lookAt_obj.y += deltaY2 * 0.5f;
camera->lookAt_obj.z += deltaZ2 * 0.5f;
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;
deltaX = 0.0f;
deltaY = 0.0f;
deltaZ = camera->currentBoomLength;
deltaX3 = deltaX;
deltaY3 = -deltaY;
deltaZ3 = deltaZ;
deltaX = deltaX3;
deltaY = cosBoom * -deltaY3 + deltaZ3 * sinBoom;
deltaZ = sinBoom * deltaY3 + deltaZ3 * cosBoom;
boomYaw = DEG_TO_RAD(camera->unk_70);
sinBoom = sin_rad(boomYaw);
cosBoom = cos_rad(boomYaw);
deltaX3 = cosBoom * deltaX - deltaZ * sinBoom;
deltaY3 = deltaY;
deltaZ3 = sinBoom * deltaX + deltaZ * cosBoom;
deltaX2 = camera->lookAt_obj.x + deltaX3;
deltaY2 = camera->lookAt_obj.y + deltaY3;
deltaZ2 = camera->lookAt_obj.z + deltaZ3;
deltaX2 = (deltaX2 - camera->lookAt_eye.x) * 0.5f;
deltaY2 = (deltaY2 - camera->lookAt_eye.y) * 0.5f;
deltaZ2 = (deltaZ2 - camera->lookAt_eye.z) * 0.5f;
tmp = 0.0f; //required to match
if (fabsf(deltaX2) > 16.0f) {
if (deltaX2 < 0.0f) {
deltaX2 = -16.0f;
} else {
deltaX = 16.0f;
deltaX2 = 16.0f;
}
}
if (fabsf(deltaY) > 16.0f) {
if (deltaY < 0.0f) {
deltaY = -16.0f;
if (fabsf(deltaY2) > 16.0f) {
if (deltaY2 < 0.0f) {
deltaY2 = -16.0f;
} else {
deltaY = 16.0f;
deltaY2 = 16.0f;
}
}
if (fabsf(deltaZ) > 16.0f) {
if (deltaZ < 0.0f) {
deltaZ = -16.0f;
if (fabsf(deltaZ2) > 16.0f) {
if (deltaZ2 < 0.0f) {
deltaZ2 = -16.0f;
} else {
deltaZ = 16.0f;
deltaZ2 = 16.0f;
}
}
camera->lookAt_eye.x += deltaX;
camera->lookAt_eye.y += deltaY;
camera->lookAt_eye.z += deltaZ;
camera->lookAt_eye.x += deltaX2;
camera->lookAt_eye.y += deltaY2;
camera->lookAt_eye.z += deltaZ2;
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

@ -1771,36 +1771,30 @@ void func_80133A94(s32 idx, s32 itemID) {
item_entity_load(item);
}
// float/stack crap
#ifdef NON_EQUIVALENT
s32 test_item_player_collision(ItemEntity* item) {
b32 test_item_player_collision(ItemEntity* item) {
PlayerStatus* playerStatus = &gPlayerStatus;
PartnerStatus* partnerStatus = &gPartnerStatus;
EncounterStatus* encounterStatus = &gCurrentEncounter;
Camera* camera = &gCameras[gCurrentCameraID];
s32 actionState;
f32 t;
f32 itemX;
f32 itemY;
f32 itemZ;
f32 playerX;
f32 playerY;
f32 playerZ;
f32 sp10;
f32 new_var2;
f32 sp14;
f32 sp1C;
f32 sp20;
f32 sp24;
f32 zDiff;
f32 temp_f14;
f32 xDiff;
s32 actionState = playerStatus->actionState;
f32 distThreshold;
f32 itemX, itemY, itemZ;
f32 tmpX, tmpZ;
f32 playerX, playerY, playerZ;
f32 colliderHeightHalf;
f32 colliderDiameterQuart;
f32 spriteFacingAngle;
f32 playerY2;
f32 xDiff, zDiff;
f32 dist;
f32 angle;
s32 cond;
f32 f1;
actionState = playerStatus->actionState;
b32 cond;
// below weird temps required to match
f32 fourteen;
f32 yTopThreshold;
f32 yBottomThreshold;
f32 tmpFourteen;
f32 tmpYTopThreshold;
if (item->flags & ITEM_ENTITY_FLAG_AUTO_COLLECT) {
item->flags &= ~ITEM_ENTITY_FLAG_AUTO_COLLECT;
@ -1819,24 +1813,35 @@ s32 test_item_player_collision(ItemEntity* item) {
return FALSE;
}
tmpFourteen = 14.0f;
if (isPickingUpItem) {
return FALSE;
}
cond = item->flags;
if (cond & ITEM_ENTITY_FLAG_HIDDEN) {
fourteen = tmpFourteen;
tmpYTopThreshold = 18.0f;
yBottomThreshold = 27.0f;
cond = item->flags; // required to match
if (item->flags & ITEM_ENTITY_FLAG_HIDDEN) {
return FALSE;
}
yTopThreshold = tmpYTopThreshold;
if (get_time_freeze_mode() != TIME_FREEZE_NORMAL) {
return FALSE;
}
if (partnerStatus->partnerActionState != 0 && partnerStatus->actingPartner == 9) {
if (partnerStatus->partnerActionState != PARTNER_ACTION_NONE && partnerStatus->actingPartner == PARTNER_BOW) {
return FALSE;
}
if ((actionState == 0x1D || actionState == 0x1E || actionState == 0x1F) && item->itemID != ITEM_COIN) {
if (
(actionState == ACTION_STATE_USE_SPINNING_FLOWER
|| actionState == ACTION_STATE_USE_MUNCHLESIA
|| actionState == ACTION_STATE_USE_TWEESTER)
&& item->itemID != ITEM_COIN)
{
return FALSE;
}
@ -1845,23 +1850,23 @@ s32 test_item_player_collision(ItemEntity* item) {
}
cond = FALSE;
sp1C = playerStatus->colliderHeight / 2;
colliderHeightHalf = playerStatus->colliderHeight / 2;
playerX = playerStatus->position.x;
playerY = playerStatus->position.y;
playerZ = playerStatus->position.z;
sp20 = playerStatus->colliderDiameter / 4;
if (playerStatus->spriteFacingAngle < 180.0f) {
temp_f14 = clamp_angle(camera->currentYaw - 90.0f);
colliderDiameterQuart = playerStatus->colliderDiameter / 4;
spriteFacingAngle = playerStatus->spriteFacingAngle;
if (spriteFacingAngle < 180.0f) {
spriteFacingAngle = clamp_angle(camera->currentYaw - 90.0f);
} else {
temp_f14 = clamp_angle(camera->currentYaw + 90.0f);
spriteFacingAngle = clamp_angle(camera->currentYaw + 90.0f);
}
new_var2 = playerY;
sp10 = playerX;
sp24 = playerY;
sp14 = playerZ;
if (get_clamped_angle_diff(camera->currentYaw, temp_f14) < 0.0f) {
tmpX = playerX;
playerY2 = playerY;
tmpZ = playerZ;
if (get_clamped_angle_diff(camera->currentYaw, spriteFacingAngle) < 0.0f) {
angle = clamp_angle(camera->currentYaw - 90.0f);
if (playerStatus->trueAnimation & 0x01000000) {
angle = clamp_angle(angle + 30.0f);
@ -1872,28 +1877,37 @@ s32 test_item_player_collision(ItemEntity* item) {
angle = clamp_angle(angle - 30.0f);
}
}
add_vec2D_polar(&sp10, &sp14, 24.0f, angle);
add_vec2D_polar(&tmpX, &tmpZ, 24.0f, angle);
itemX = item->position.x;
itemY = item->position.y;
itemZ = item->position.z;
do {
do {
distThreshold = 13.5f;
} while (0); // required to match
xDiff = itemX - playerX;
zDiff = itemZ - playerZ;
t = 13.5f;
f1 = sqrtf(SQ(xDiff) + SQ(zDiff));
if (!(sp20 + t <= f1) &&
!(itemY + 27.0f < new_var2) &&
!(playerY + sp1C < itemY))
dist = sqrtf(SQ(xDiff) + SQ(zDiff));
if (!(colliderDiameterQuart + distThreshold <= dist) &&
!(itemY + yBottomThreshold < playerY) &&
!(playerY + colliderHeightHalf < itemY))
{
cond = TRUE;
}
} while (0); // required to match
if (playerStatus->actionState == 0x12 && (playerStatus->flags & 0x01000000)) {
xDiff = itemX - sp10;
zDiff = itemZ - sp14;
f1 = sqrtf(SQ(xDiff) + SQ(zDiff));
if (!(14.0f + t <= f1) &&
!(itemY + 27.0f < sp24) &&
!(playerY + 18.0f < itemY))
if (playerStatus->actionState == ACTION_STATE_HAMMER && (playerStatus->flags & PS_FLAG_HAMMER_CHECK)) {
xDiff = itemX - tmpX;
zDiff = itemZ - tmpZ;
dist = sqrtf(SQ(xDiff) + SQ(zDiff));
if (!(fourteen + distThreshold <= dist)
&& !(itemY + yBottomThreshold < playerY2)
&& !(playerY2 + yTopThreshold < itemY))
{
cond = TRUE;
}
@ -1916,9 +1930,6 @@ s32 test_item_player_collision(ItemEntity* item) {
}
return FALSE;
}
#else
INCLUDE_ASM(s32, "C50A0", test_item_player_collision);
#endif
s32 test_item_entity_position(f32 x, f32 y, f32 z, f32 dist) {
ItemEntity* item;

View File

@ -92,24 +92,15 @@ void blast_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_REFLECT_FLOOR;
}
#ifdef NON_MATCHING
void blast_appendGfx(void *effect) {
Matrix4f sp18;
Matrix4f sp58;
Matrix4f sp98;
BlastFXData* data;
Gfx* dlist;
f32 unk_20f;
s32 unk_20;
s32 envAlpha;
f32 two_fifty_six;
data = ((EffectInstance*) effect)->data.blast;
dlist = D_090017B0_37F180;
two_fifty_six = 256.0f;
unk_20 = data->unk_20;
unk_20f = unk_20;
envAlpha = (unk_20f - unk_20) * two_fifty_six;
Gfx* dlist = D_090017B0_37F180;
BlastFXData* data = ((EffectInstance*) effect)->data.blast;
s32 unk_20 = data->unk_20;
f32 t = 256.0f;
s32 envAlpha = (data->unk_20 - unk_20) * t;
gDPPipeSync(gMainGfxPos++);
gSPSegment(gMainGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
@ -133,12 +124,12 @@ void blast_appendGfx(void *effect) {
} else {
gDPSetPrimColor(gMainGfxPos++, 0, 0, 255, 255, 128, 127);
}
t = !(s32)t; // required to match
gDPSetEnvColor(gMainGfxPos++, 255, 255, 139, envAlpha);
gSPDisplayList(gMainGfxPos++, dlist);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}
#else
INCLUDE_ASM(s32, "effects/blast", blast_appendGfx);
#endif
// #else
// INCLUDE_ASM(s32, "effects/blast", blast_appendGfx);
// #endif

View File

@ -9,9 +9,12 @@
#include "effects/gfx/D_090003B8_3B9E28.vtx.inc.c"
#include "effects/gfx/D_090003D8_3B9E58.gfx.inc.c"
// TODO ???
u8 D_09000418_3B9E88[] = {
0x2, 0x80, 0x1, 0xE0, 0x1, 0xFF, 0x0, 0x0, 0x2, 0x80, 0x1, 0xE0, 0x1, 0xFF, 0x0, 0x0
// unused
Vp D_09000418_3B9E88 = {
.vp = {
.vscale = { 640, 480, 511, 0 },
.vtrans = { 640, 480, 511, 0 }
}
};
#include "effects/gfx/D_09000428_3B9E98.vtx.inc.c"

View File

@ -2,6 +2,10 @@
#include "effects_internal.h"
#include "nu/nusys.h"
extern Vtx D_09000428_3B9E98[];
extern Gfx D_09000528_3B9F98[];
extern Gfx D_09000570_3B9FE0[];
void underwater_init(EffectInstance* effect);
void underwater_update(EffectInstance* effect);
void underwater_render(EffectInstance* effect);
@ -28,23 +32,23 @@ EffectInstance* underwater_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4
ASSERT(effect->data.underwater != NULL);
data->unk_00 = arg0;
data->unk_14 = 0;
data->lifeTime = 0;
if (arg5 <= 0) {
data->unk_10 = 1000;
data->timeLeft = 1000;
} else {
data->unk_10 = arg5;
data->timeLeft = arg5;
}
data->unk_1F = 0;
data->waterColor.a = 0;
data->unk_04 = arg1;
data->unk_08 = arg2;
data->unk_0C = arg3;
data->unk_18 = arg4;
data->unk_1C = 10;
data->unk_1D = 110;
data->unk_1E = 255;
data->unk_20 = 190;
data->unk_21 = 220;
data->unk_22 = 255;
data->waterColor.r = 10;
data->waterColor.g = 110;
data->waterColor.b = 255;
data->unk_20.r = 190;
data->unk_20.g = 220;
data->unk_20.b = 255;
for (i = 0; i < ARRAY_COUNT(data->unk_23); i++) {
for (j = 0; j < ARRAY_COUNT(data->unk_23[0]); j++) {
@ -61,45 +65,45 @@ void underwater_init(EffectInstance* effect) {
void underwater_update(EffectInstance* effect) {
UnderwaterFXData* data = effect->data.underwater;
s32 unk_10;
s32 unk_14;
s32 var_a0;
s32 timeLeft;
s32 lifeTime;
s32 alpha;
f32 factor;
s32 i;
s32 j;
if (effect->flags & EFFECT_INSTANCE_FLAG_10) {
effect->flags &= ~EFFECT_INSTANCE_FLAG_10;
data->unk_10 = 32;
data->timeLeft = 32;
}
if (data->unk_10 < 1000) {
data->unk_10--;
if (data->timeLeft < 1000) {
data->timeLeft--;
}
data->unk_14++;
data->lifeTime++;
if (data->unk_10 < 0) {
if (data->timeLeft < 0) {
shim_remove_effect(effect);
return;
}
unk_10 = data->unk_10;
unk_14 = data->unk_14;
timeLeft = data->timeLeft;
lifeTime = data->lifeTime;
var_a0 = 255;
if (unk_10 < 32) {
var_a0 = unk_10 * 8;
alpha = 255;
if (timeLeft < 32) {
alpha = timeLeft * 8;
}
if (unk_14 < 16) {
var_a0 = unk_14 * 16 + 15;
if (lifeTime < 16) {
alpha = lifeTime * 16 + 15;
}
data->unk_1F = (f32) var_a0;
factor = (f32) var_a0 / 255.0f;
data->waterColor.a = (f32) alpha;
factor = (f32) alpha / 255.0f;
for (i = 1; i < ARRAY_COUNT(data->unk_23) - 1; i++) {
data->unk_23[i][6] = shim_sin_deg(-((unk_14 - i) * 20)) * -64.0f * factor;
data->unk_23[i][6] = shim_sin_deg(-((lifeTime - i) * 20)) * -64.0f * factor;
}
for (i = 1; i < ARRAY_COUNT(data->unk_23) - 1; i++) {
@ -119,7 +123,7 @@ void underwater_update(EffectInstance* effect) {
data->unk_11A[i][j] += temp1 + temp2 - m11 * 0.7;
data->unk_11A[i][j] *= 0.98;
if (unk_10 < 32) {
if (timeLeft < 32) {
data->unk_23[i][j] *= factor;
}
}
@ -147,172 +151,139 @@ void underwater_render(EffectInstance* effect) {
void func_E00BA618(void) {
}
extern Vtx D_09000428[];
extern Gfx D_09000528[];
extern Gfx D_09000570[];
#ifdef WIP
void underwater_appendGfx(void* effect) {
EffectInstance* effectTemp = effect;
UnderwaterFXData* data;
Matrix4f sp20;
s32 temp_a0_3;
s32 temp_a1_5;
s32 temp_a1_6;
s32 temp_a1_7;
s32 temp_a2_2;
s32 temp_s3;
s32 temp_t7;
s32 temp_t8;
s32 temp_v1_2;
s32 temp_v1_4;
s32 var_a0;
s32 var_s1;
s32 var_s2;
s32 cond;
s32 var_t3_2;
s32 var_t4;
s32 var_t9;
s32 var_v1;
u32 temp_v1_3;
s32 i;
s32 j;
data = effectTemp->data.underwater;
UnderwaterFXData* data = ((EffectInstance*)effect)->data.underwater;
s32 alpha = data->waterColor.a;
s32 x, y;
s32 dxRight, dxLeft, dyTop, dyBottom;
s32 edgeX, edgeY;
s32 vtxIdx;
Matrix4f mtx;
Matrix4f unused_matrix;
s32 i, j;
gDPPipeSync(gMainGfxPos++);
gSPSegment(gMainGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(effectTemp->graphics->data));
gSPSegment(gMainGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, nuGfxZBuffer);
gSPDisplayList(gMainGfxPos++, D_09000528);
gSPDisplayList(gMainGfxPos++, D_09000528_3B9F98);
// copy image from framebuffer to zbuffer
for (i = 0; i < 40; i++) {
// todo probably a composite macro?
gDPSetTextureImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, &nuGfxCfb_ptr[0xF00 * i]);
gDPSetTile(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 0x0000, G_TX_LOADTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD);
gDPLoadSync(gMainGfxPos++);
gDPLoadTile(gMainGfxPos++, G_TX_LOADTILE, 0, 0, 0x04FC, 0x0014);
gDPPipeSync(gMainGfxPos++);
gDPSetTile(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 80, 0x0000, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD);
gDPSetTileSize(gMainGfxPos++, G_TX_RENDERTILE, 0, 0, 0x04FC, 0x0014);
gSPTextureRectangle(gMainGfxPos++, 0, i * 0x18, 0x04FC, 20 + (i * 18), G_TX_RENDERTILE, 0, 0, 0x1000, 0x0400);
gDPLoadTextureTile(
gMainGfxPos++, nuGfxCfb_ptr + SCREEN_WIDTH * i * 6,
G_IM_FMT_RGBA, G_IM_SIZ_16b,
SCREEN_WIDTH, 6,
0, 0, SCREEN_WIDTH - 1, 5, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(
gMainGfxPos++,
0 * 4, (i * 6) * 4,
(SCREEN_WIDTH - 1) * 4, (i * 6 + 5) * 4,
G_TX_RENDERTILE, 0, 0, 0x1000, 0x0400);
gDPPipeSync(gMainGfxPos++);
}
gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, nuGfxCfb_ptr);
gDPSetPrimColor(gMainGfxPos++, 0, 0, data->unk_1C, data->unk_1D, data->unk_1E, data->unk_1F);
gDPSetPrimColor(gMainGfxPos++, 0, 0, data->waterColor.r, data->waterColor.g, data->waterColor.b, alpha >> 1);
gDPSetCycleType(gMainGfxPos++, G_CYC_1CYCLE);
gDPSetCombineLERP(gMainGfxPos++, PRIMITIVE, 0, PRIMITIVE_ALPHA, TEXEL0, 0, 0, 0, SHADE, PRIMITIVE, 0,
PRIMITIVE_ALPHA, TEXEL0, 0, 0, 0, SHADE);
gDPSetTextureImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, VIRTUAL_TO_PHYSICAL(nuGfxZBuffer));
gDPSetRenderMode(gMainGfxPos++, CVG_DST_SAVE | ZMODE_OPA | FORCE_BL | G_RM_PASS,
CVG_DST_SAVE | ZMODE_OPA | FORCE_BL | GBL_c2(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1));
gDPSetCombineLERP(gMainGfxPos++, PRIMITIVE, 0, PRIMITIVE_ALPHA, TEXEL0, 0, 0, 0, SHADE, PRIMITIVE, 0, PRIMITIVE_ALPHA, TEXEL0, 0, 0, 0, SHADE);
gDPSetTextureImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, OS_K0_TO_PHYSICAL(nuGfxZBuffer));
gDPSetRenderMode(gMainGfxPos++, CVG_DST_SAVE | ZMODE_OPA | FORCE_BL | G_RM_PASS, CVG_DST_SAVE | ZMODE_OPA | FORCE_BL | GBL_c2(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1));
gDPSetTexturePersp(gMainGfxPos++, G_TP_PERSP);
gDPSetTextureFilter(gMainGfxPos++, G_TF_BILERP);
shim_guFrustumF(sp20, -80.0f, 80.0f, 60.0f, -60.0f, 160.0f, 640.0f, 1.0f);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++],
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
shim_guFrustumF(mtx, -80.0f, 80.0f, 60.0f, -60.0f, 160.0f, 640.0f, 1.0f);
shim_guMtxF2L(mtx, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPClearGeometryMode(gMainGfxPos++, G_CULL_BOTH | G_LIGHTING);
gSPSetGeometryMode(gMainGfxPos++, G_SHADE | G_SHADING_SMOOTH);
gSPVertex(gMainGfxPos++, D_09000428, 16, 0);
var_t9 = 0x18;
for (i = 0; i < 12; i++) {
var_s2 = 0;
if (i == 0) {
var_a0 = -4;
var_s2 = 1;
} else {
var_a0 = 0;
}
var_v1 = 0;
if (i == 11) {
var_v1 = 4;
var_s2 = 1;
}
temp_t8 = (var_t9 + var_a0) * 4;
temp_v1_2 = var_t9 + var_v1;
temp_s3 = (temp_v1_2 + 0x10) * 4;
gSPVertex(gMainGfxPos++, D_09000428_3B9E98, 16, 0);
for (j = 0; j < 12; j++) {
cond = FALSE;
temp_t7 = (j * 0x10) + 0x10;
y = j * 16 + 24;
edgeY = FALSE;
if (j == 0) {
var_t3_2 = -4;
cond = TRUE;
dyTop = -4;
edgeY = TRUE;
} else {
var_t3_2 = 0;
dyTop = 0;
}
var_s1 = 0;
if (j == 0x11) {
var_s1 = 4;
cond = TRUE;
if (j == 11) {
dyBottom = 4;
edgeY = TRUE;
} else {
dyBottom = 0;
}
temp_a2_2 = temp_t7 + var_s1;
temp_a0_3 = temp_t7 + var_t3_2;
temp_v1_3 = ((((s32) ((((temp_a2_2 - (temp_a0_3 - 0x10)) + 1) * 2) + 7) >> 3) & 0x1FF) << 9) | 0xF5100000;
for (i = 0; i < 18; i++) {
x = i * 16 + 16;
edgeX = FALSE;
temp_a3->words.w0 = temp_v1_3;
temp_a3->words.w1 = 0x07098260;
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->unk10 = E700000000000000
temp_a1_4->unk18 = temp_v1_3;
temp_a1_4->unk1C = 00098260
temp_a1_4->unk20 = F2000000
temp_a1_4->unk24 = (s32) (((((temp_a2_2 + 0x1F) * 4) & 0xFFF) << 0xC) | (((temp_v1_2 + 0x1F) * 4) & 0xFFF));
if (!cond || (var_t4 = 0xC, (var_s2 == 0))) {
var_t4 = 4;
if (!cond) {
var_t4 = (-var_s2) & 8;
if (i == 0) {
dxLeft = -4;
edgeX = TRUE;
} else {
dxLeft = 0;
}
if (i == 17) {
dxRight = 4;
edgeX = TRUE;
} else {
dxRight = 0;
}
temp_a1_5 = j * 0xD;
temp_a0_4->words.w0 = (var_t4 * 2) | 0x02180000;
temp_a0_4->words.w1 = ((temp_t7 + var_t3_2) << 0x12) | (temp_t8 + (data + (i + temp_a1_5))->unk23);
temp_v1_4 = j * 0xD;
temp_a2_3->words.w0 = ((var_t4 + 1) * 2) | 0x02180000;
temp_a2_3->words.w1 = ((temp_t7 + var_s1 + 0x10) << 0x12) | (temp_t8 + (data + (i + temp_v1_4))->unk23);
temp_a2_3->unk8 = (s32) (((var_t4 + 2) * 2) | 0x02180000);
temp_a2_3->unkC = (s32) (((temp_t7 + var_t3_2) << 0x12) | (temp_s3 + (data + (i + (temp_a1_5 + 1)))->unk23));
temp_a1_6 = (var_t4 + 3) * 2;
temp_a2_3->unk10 = (s32) (temp_a1_6 | 0x02180000);
temp_a2_3->unk14 = (s32) (((temp_t7 + var_s1 + 0x10) << 0x12) | (temp_s3 + (data + (i + (temp_v1_4 + 1)))->unk23));
temp_a1_7 = temp_a1_6 & 0xFF;
temp_a2_3->unk18 = (s32) (((var_t4 * 2) << 0x10) | (temp_a1_7 << 8) | ((var_t4 + 1) * 2) | 0x06000000);
temp_a2_3->unk1C = (s32) (((var_t4 * 2) << 0x10) | (((var_t4 + 2) * 2) << 8) | temp_a1_7);
temp_a2_3->unk20 = E700000000000000;
}
var_t9 += 0x10;
}
gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, nuGfxZBuffer);
gSPDisplayList(gMainGfxPos++, D_09000570);
gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, nuGfxZBuffer);
gDPSetTile(
gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b,
(((((x + dxRight + 16) - (x + dxLeft)) + 1) * 2) + 7) >> 3, 0x0000,
G_TX_LOADTILE, 0,
G_TX_NOMIRROR | G_TX_CLAMP, 6, G_TX_NOLOD,
G_TX_NOMIRROR | G_TX_CLAMP, 6, G_TX_NOLOD);
gDPLoadSync(gMainGfxPos++);
gDPLoadTile(gMainGfxPos++, G_TX_LOADTILE,
(x + dxLeft) * 4,
(y + dyTop) * 4,
(x + dxRight + 16) * 4,
(y + dyBottom + 16) * 4);
gDPPipeSync(gMainGfxPos++);
gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos],
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gDPSetTile(
gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b,
(((((x + dxRight + 16) - (x + dxLeft)) + 1) * 2) + 7) >> 3, 0x0000,
G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_CLAMP, 6, G_TX_NOLOD,
G_TX_NOMIRROR | G_TX_CLAMP, 6, G_TX_NOLOD);
gDPSetTileSize(gMainGfxPos++, G_TX_RENDERTILE,
0, 0, (x + dxRight + 31) * 4, (y + dyBottom + 31) * 4);
if (edgeX && edgeY) {
vtxIdx = 12;
} else {
vtxIdx = 4;
if (!edgeX) {
if (!edgeY) {
vtxIdx = 0;
} else {
vtxIdx = 8;
}
}
}
gSPModifyVertex(gMainGfxPos++, vtxIdx , G_MWO_POINT_XYSCREEN, ((x + dxLeft ) << 0x12) | ((y + dyTop ) * 4 + data->unk_23[i ][j ]));
gSPModifyVertex(gMainGfxPos++, vtxIdx + 1, G_MWO_POINT_XYSCREEN, ((x + dxRight + 0x10) << 0x12) | ((y + dyTop ) * 4 + data->unk_23[i + 1][j ]));
gSPModifyVertex(gMainGfxPos++, vtxIdx + 2, G_MWO_POINT_XYSCREEN, ((x + dxLeft ) << 0x12) | ((y + dyBottom + 0x10) * 4 + data->unk_23[i ][j + 1]));
gSPModifyVertex(gMainGfxPos++, vtxIdx + 3, G_MWO_POINT_XYSCREEN, ((x + dxRight + 0x10) << 0x12) | ((y + dyBottom + 0x10) * 4 + data->unk_23[i + 1][j + 1]));
gSP2Triangles(gMainGfxPos++, vtxIdx, vtxIdx + 3, vtxIdx + 1, 0, vtxIdx, vtxIdx + 2, vtxIdx + 3, 0);
gDPPipeSync(gMainGfxPos++);
}
}
gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, nuGfxZBuffer);
gSPDisplayList(gMainGfxPos++, D_09000570_3B9FE0);
gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, nuGfxCfb_ptr);
gDPPipeSync(gMainGfxPos++);
gSPMatrix(gMainGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCameraID], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gDPPipeSync(gMainGfxPos++);
}
#else
INCLUDE_ASM(s32, "effects/underwater", underwater_appendGfx);
#endif

View File

@ -796,14 +796,14 @@ BSS char N(D_8024F37C)[0x4];
BSS s32 N(D_8024F380);
BSS char N(D_8024F384)[0x74];
typedef struct UnkHos05Struct {
/* 0x00 */ Vec3f unk_00;
/* 0x0C */ Vec3f unk_0C;
/* 0x18 */ Vec3f unk_18;
/* 0x24 */ f32 unk_24;
} UnkHos05Struct; // size = 0x28
typedef struct UnkHos05Path {
/* 0x00 */ Vec3f startPoint;
/* 0x0C */ Vec3f midPoint;
/* 0x18 */ Vec3f endPoint;
/* 0x24 */ char unk_24[4];
} UnkHos05Path; // size = 0x28
BSS UnkHos05Struct N(D_8024F3F8)[7];
BSS UnkHos05Path N(D_8024F3F8)[7];
BSS StoryGraphicData N(StoryGraphics);
@ -882,172 +882,194 @@ API_CALLABLE(N(CamMove_OrbitKammy)) {
}
}
// float regalloc stuff
#ifdef WIP
ApiStatus func_802428C8_A2CB08(Evt* script, s32 isInitialCall) {
// TODO document this function
API_CALLABLE(func_802428C8_A2CB08) {
Bytecode* args = script->ptrReadPos;
s32 temp_s6 = evt_get_variable(script, *args++);
f32 sp10;
f32 temp_f28;
EffectInstance* temp_a0;
s32 arg0 = evt_get_variable(script, *args++);
f32 arg1 = evt_get_float_variable(script, *args++);
f32 arg2 = evt_get_float_variable(script, *args++);
EffectInstance* arrayVar0;
f32 xPos, yPos, zPos;
f32 temp_f24;
EffectInstance* effect;
UnkHos05Struct* unkData;
Vec3f* vec01; // vectors 0, 1
Vec3f* vec2; // vector 2
f32 angle;
s32 s4;
s32 s5;
UnkHos05Path* path;
Vec3f* point;
Vec3f* endPoint;
s32 numPoints;
s32 pathTime;
s32 i;
arrayVar0 = (EffectInstance*) evt_get_variable(script, ArrayVar(0));
effect = arrayVar0;
sp10 = evt_get_float_variable(script, *args++);
temp_f28 = evt_get_float_variable(script, *args++);
temp_a0 = evt_get_variable(script, ArrayVar(0));
effect = temp_a0;
switch (temp_s6) {
// set endPoint
switch (arg0) {
case 1:
unkData = &N(D_8024F3F8)[0];
vec01 = &unkData->unk_00;
s5 = 30;
s4 = 3;
angle = 90.0f;
yPos = (u32) (effect->data.somethingRotating->unk_14 + 30);
yPos = yPos * 4.0f;
temp_f24 = sin_deg(yPos + 51.43);
xPos = effect->data.somethingRotating->pos.x + (sin_deg(angle) * 50.0f * temp_f24);
yPos = effect->data.somethingRotating->pos.y + (cos_deg(yPos + 51.43) * 50.0f);
zPos = effect->data.somethingRotating->pos.z + (sin_deg(angle) * 50.0f * temp_f24);
unkData->unk_18.x = xPos;
unkData->unk_18.y = yPos;
unkData->unk_18.z = zPos;
path = &N(D_8024F3F8)[0];
i = 1;
point = &path->startPoint;
pathTime = 30;
numPoints = 3;
{
f32 angle = 90.0f;
u32 unk_14 = effect->data.somethingRotating->unk_14 + 30;
f32 angle3 = unk_14 * 4.0f + (f32) i * 51.43;
f32 radius = 50.0f;
f32 temp_f24 = sin_deg(angle3);
xPos = effect->data.somethingRotating->pos.x + sin_deg(angle) * radius * temp_f24 ;
yPos = effect->data.somethingRotating->pos.y + cos_deg(angle3) * radius;
// @bug should be `zPos = effect->data.somethingRotating->pos.z + cos_deg(angle) * radius * temp_f24;`
zPos = effect->data.somethingRotating->pos.z + sin_deg(angle) * radius * temp_f24;
path->endPoint.x = xPos;
path->endPoint.y = yPos;
path->endPoint.z = zPos;
}
break;
case 2:
unkData = &N(D_8024F3F8)[1];
vec01 = &unkData->unk_00;
s5 = 30;
s4 = 3;
angle = 90.0f;
yPos = (u32) (effect->data.somethingRotating->unk_14 + 30);
yPos = yPos * 4.0f;
temp_f24 = sin_deg(yPos + 360.01);
xPos = effect->data.somethingRotating->pos.x + (sin_deg(angle) * 50.0f * temp_f24);
yPos = effect->data.somethingRotating->pos.y + (cos_deg(yPos + 360.01) * 50.0f);
zPos = effect->data.somethingRotating->pos.z + (sin_deg(angle) * 50.0f * temp_f24);
unkData->unk_18.x = xPos;
unkData->unk_18.y = yPos;
unkData->unk_18.z = zPos;
path = &N(D_8024F3F8)[1];
i = 7;
point = &path->startPoint;
pathTime = 30;
numPoints = 3;
{
f32 angle = 90.0f;
u32 unk_14 = effect->data.somethingRotating->unk_14 + 30;
f32 angle3 = unk_14 * 4.0f + (f32) i * 51.43;
f32 radius = 50.0f;
f32 temp_f24 = sin_deg(angle3);
xPos = effect->data.somethingRotating->pos.x + sin_deg(angle) * radius * temp_f24 ;
yPos = effect->data.somethingRotating->pos.y + cos_deg(angle3) * radius;
zPos = effect->data.somethingRotating->pos.z + sin_deg(angle) * radius * temp_f24;
path->endPoint.x = xPos;
path->endPoint.y = yPos;
path->endPoint.z = zPos;
}
break;
case 3:
unkData = &N(D_8024F3F8)[2];
vec01 = &unkData->unk_00;
s5 = 30;
s4 = 3;
angle = 90.0f;
yPos = (u32) (effect->data.somethingRotating->unk_14 + 30);
yPos = yPos * 4.0f;
temp_f24 = sin_deg(yPos + 154.29);
xPos = effect->data.somethingRotating->pos.x + (sin_deg(angle) * 50.0f * temp_f24);
yPos = effect->data.somethingRotating->pos.y + (cos_deg(yPos + 154.29) * 50.0f);
zPos = effect->data.somethingRotating->pos.z + (sin_deg(angle) * 50.0f * temp_f24);
unkData->unk_18.x = xPos;
unkData->unk_18.y = yPos;
unkData->unk_18.z = zPos;
path = &N(D_8024F3F8)[2];
i = 3;
point = &path->startPoint;
pathTime = 30;
numPoints = 3;
{
f32 angle = 90.0f;
u32 unk_14 = effect->data.somethingRotating->unk_14 + 30;
f32 angle3 = unk_14 * 4.0f + (f32) i * 51.43;
f32 radius = 50.0f;
f32 temp_f24 = sin_deg(angle3);
xPos = effect->data.somethingRotating->pos.x + sin_deg(angle) * radius * temp_f24 ;
yPos = effect->data.somethingRotating->pos.y + cos_deg(angle3) * radius;
zPos = effect->data.somethingRotating->pos.z + sin_deg(angle) * radius * temp_f24;
path->endPoint.x = xPos;
path->endPoint.y = yPos;
path->endPoint.z = zPos;
}
break;
case 4:
unkData = &N(D_8024F3F8)->unk_18;
vec01 = &unkData->unk_00;
s5 = 30;
angle = 90.0f;
yPos = (u32) (effect->data.somethingRotating->unk_14 + 30);
s4 = 3;
yPos = yPos * 4.0f;
temp_f24 = sin_deg(yPos + 205.72);
xPos = effect->data.somethingRotating->pos.x + (sin_deg(angle) * 50.0f * temp_f24);
yPos = effect->data.somethingRotating->pos.y + (cos_deg(yPos + 205.72) * 50.0f);
zPos = effect->data.somethingRotating->pos.z + (sin_deg(angle) * 50.0f * temp_f24);
unkData->unk_18.x = xPos;
unkData->unk_18.y = yPos;
unkData->unk_18.z = zPos;
path = &N(D_8024F3F8)[3];
i = 4;
point = &path->startPoint;
pathTime = 30;
{
f32 angle = 90.0f;
u32 unk_14 = effect->data.somethingRotating->unk_14 + 30;
f32 angle3 = unk_14 * 4.0f + (f32) i * 51.43;
f32 radius = 50.0f;
f32 temp_f24 = sin_deg(angle3);
numPoints = 3;
xPos = effect->data.somethingRotating->pos.x + sin_deg(angle) * radius * temp_f24 ;
yPos = effect->data.somethingRotating->pos.y + cos_deg(angle3) * radius;
zPos = effect->data.somethingRotating->pos.z + sin_deg(angle) * radius * temp_f24;
path->endPoint.x = xPos;
path->endPoint.y = yPos;
path->endPoint.z = zPos;
}
break;
case 5:
unkData = &N(D_8024F3F8)[4];
vec01 = &unkData->unk_00;
s5 = 30;
s4 = 3;
angle = 90.0f;
yPos = (u32) (effect->data.somethingRotating->unk_14 + 30);
yPos = yPos * 4.0f;
temp_f24 = sin_deg(yPos + 308.58);
xPos = effect->data.somethingRotating->pos.x + (sin_deg(angle) * 50.0f * temp_f24);
yPos = effect->data.somethingRotating->pos.y + (cos_deg(yPos + 308.58) * 50.0f);
zPos = effect->data.somethingRotating->pos.z + (sin_deg(angle) * 50.0f * temp_f24);
unkData->unk_18.x = xPos;
unkData->unk_18.y = yPos;
unkData->unk_18.z = zPos;
path = &N(D_8024F3F8)[4];
i = 6;
point = &path->startPoint;
pathTime = 30;
numPoints = 3;
{
f32 angle = 90.0f;
u32 unk_14 = effect->data.somethingRotating->unk_14 + 30;
f32 angle3 = unk_14 * 4.0f + (f32) i * 51.43;
f32 radius = 50.0f;
f32 temp_f24 = sin_deg(angle3);
xPos = effect->data.somethingRotating->pos.x + sin_deg(angle) * radius * temp_f24 ;
yPos = effect->data.somethingRotating->pos.y + cos_deg(angle3) * radius;
zPos = effect->data.somethingRotating->pos.z + sin_deg(angle) * radius * temp_f24;
path->endPoint.x = xPos;
path->endPoint.y = yPos;
path->endPoint.z = zPos;
}
break;
case 6:
unkData = &N(D_8024F3F8)[5];
vec01 = &unkData->unk_00;
s5 = 30;
s4 = 3;
angle = 90.0f;
yPos = (u32) (effect->data.somethingRotating->unk_14 + 30);
yPos = yPos * 4.0f;
temp_f24 = sin_deg(yPos + 102.86);
xPos = effect->data.somethingRotating->pos.x + (sin_deg(angle) * 50.0f * temp_f24);
yPos = effect->data.somethingRotating->pos.y + (cos_deg(yPos + 102.86) * 50.0f);
zPos = effect->data.somethingRotating->pos.z + (sin_deg(angle) * 50.0f * temp_f24);
unkData->unk_18.x = xPos;
unkData->unk_18.y = yPos;
unkData->unk_18.z = zPos;
path = &N(D_8024F3F8)[5];
i = 2;
point = &path->startPoint;
pathTime = 30;
numPoints = 3;
{
f32 angle = 90.0f;
u32 unk_14 = effect->data.somethingRotating->unk_14 + 30;
f32 angle3 = unk_14 * 4.0f + (f32) i * 51.43;
f32 radius = 50.0f;
f32 temp_f24 = sin_deg(angle3);
xPos = effect->data.somethingRotating->pos.x + sin_deg(angle) * radius * temp_f24 ;
yPos = effect->data.somethingRotating->pos.y + cos_deg(angle3) * radius;
zPos = effect->data.somethingRotating->pos.z + sin_deg(angle) * radius * temp_f24;
path->endPoint.x = xPos;
path->endPoint.y = yPos;
path->endPoint.z = zPos;
}
break;
default:
unkData = &N(D_8024F3F8)[6];
vec01 = &unkData->unk_00;
s5 = 30;
s4 = 3;
angle = 90.0f;
yPos = (u32) (effect->data.somethingRotating->unk_14 + 30);
yPos = yPos * 4.0f;
temp_f24 = sin_deg(yPos + 257.15);
xPos = effect->data.somethingRotating->pos.x + (sin_deg(angle) * 50.0f * temp_f24);
yPos = effect->data.somethingRotating->pos.y + (cos_deg(yPos + 257.15) * 50.0f);
zPos = effect->data.somethingRotating->pos.z + (sin_deg(angle) * 50.0f * temp_f24);
unkData->unk_18.x = xPos;
unkData->unk_18.y = yPos;
unkData->unk_18.z = zPos;
path = &N(D_8024F3F8)[6];
i = 5;
point = &path->startPoint;
pathTime = 30;
numPoints = 3;
{
f32 angle = 90.0f;
u32 unk_14 = effect->data.somethingRotating->unk_14 + 30;
f32 angle3 = unk_14 * 4.0f + (f32) i * 51.43;
f32 radius = 50.0f;
f32 temp_f24 = sin_deg(angle3);
xPos = effect->data.somethingRotating->pos.x + sin_deg(angle) * radius * temp_f24 ;
yPos = effect->data.somethingRotating->pos.y + cos_deg(angle3) * radius;
zPos = effect->data.somethingRotating->pos.z + sin_deg(angle) * radius * temp_f24;
path->endPoint.x = xPos;
path->endPoint.y = yPos;
path->endPoint.z = zPos;
}
break;
}
vec01->x = evt_get_float_variable(script, LVar0);
vec01->y = evt_get_float_variable(script, LVar1);
vec01->z = evt_get_float_variable(script, LVar2);
// set startPoint
point->x = evt_get_float_variable(script, LVar0);
point->y = evt_get_float_variable(script, LVar1);
point->z = evt_get_float_variable(script, LVar2);
vec2 = &vec01[2];
vec01++;
endPoint = &point[2];
point++;
if (temp_s6 != 2) {
vec01->x = (evt_get_float_variable(script, LVar0) * temp_f28) + (vec2->x * (1.0f - temp_f28));
vec01->y = (evt_get_float_variable(script, LVar1) * temp_f28) + (vec2->y * (1.0f - temp_f28)) + sp10;
vec01->z = (evt_get_float_variable(script, LVar2) * temp_f28) + (vec2->z * (1.0f - temp_f28));
// set midPoint
if (arg0 != 2) {
point->x = (evt_get_float_variable(script, LVar0) * arg2) + (endPoint->x * (1.0f - arg2));
point->y = (evt_get_float_variable(script, LVar1) * arg2) + (endPoint->y * (1.0f - arg2)) + arg1;
point->z = (evt_get_float_variable(script, LVar2) * arg2) + (endPoint->z * (1.0f - arg2));
} else {
vec01->x = ((evt_get_float_variable(script, LVar0) * temp_f28) + (vec2->x * (1.0f - temp_f28))) - 50.0f;
vec01->y = (evt_get_float_variable(script, LVar1) * temp_f28) + (vec2->y * (1.0f - temp_f28)) + sp10;
vec01->z = ((evt_get_float_variable(script, LVar2) * temp_f28) + (vec2->z * (1.0f - temp_f28))) - 50.0f;
point->x = ((evt_get_float_variable(script, LVar0) * arg2) + (endPoint->x * (1.0f - arg2))) - 50.0f;
point->y = (evt_get_float_variable(script, LVar1) * arg2) + (endPoint->y * (1.0f - arg2)) + arg1;
point->z = ((evt_get_float_variable(script, LVar2) * arg2) + (endPoint->z * (1.0f - arg2))) - 50.0f;
}
script->varTable[0] = s5;
script->varTablePtr[1] = unkData;
script->varTable[2] = s4;
script->varTable[0] = pathTime;
script->varTablePtr[1] = path;
script->varTable[2] = numPoints;
return ApiStatus_DONE2;
}
#else
API_CALLABLE(func_802428C8_A2CB08);
INCLUDE_ASM(s32, "world/area_hos/hos_05/A2AAC0", func_802428C8_A2CB08);
#endif
EvtScript N(EVS_UpdateWorldFogParams) = {
EVT_SET(LVar0, 120)

View File

@ -29,12 +29,7 @@ def exec_shell(command: List[str]) -> str:
def write_ninja_rules(ninja: ninja_syntax.Writer, cpp: str, extra_cppflags: str, extra_cflags: str, use_ccache: bool, shift: bool, debug: bool):
# platform-specific
if sys.platform == "darwin":
iconv = "tools/iconv.py UTF-8 $encoding"
elif sys.platform == "linux":
iconv = "iconv --from UTF-8 --to $encoding"
else:
raise Exception(f"unsupported platform {sys.platform}")
ccache = ""
@ -418,7 +413,7 @@ class Configure:
task = "cc_272"
cflags = cflags.replace("gcc_272", "")
encoding = "SHIFT-JIS"
encoding = "CP932" # similar to SHIFT-JIS, but includes backslash and tilde
if version == "ique":
encoding = "EUC-JP"

View File

@ -1,23 +0,0 @@
#!/usr/bin/python3
import argparse
import sys
parser = argparse.ArgumentParser(description='Convert a file from one encoding to another')
parser.add_argument("f")
parser.add_argument("t")
parser.add_argument('infile', nargs='?', type=argparse.FileType('r'), default=sys.stdin)
parser.add_argument('outfile', nargs='?', type=argparse.FileType('w'), default=sys.stdout)
args = parser.parse_args()
def main(args):
sys.stdin.reconfigure(encoding=args.f)
in_data = args.infile.read()
sys.stdout.reconfigure(encoding=args.t)
args.outfile.write(in_data)
if __name__ == "__main__":
main(parser.parse_args())

View File

@ -1,374 +0,0 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel update_camera_mode_2
/* 97A8 8002E3A8 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 97AC 8002E3AC AFB00010 */ sw $s0, 0x10($sp)
/* 97B0 8002E3B0 0080802D */ daddu $s0, $a0, $zero
/* 97B4 8002E3B4 AFBF0014 */ sw $ra, 0x14($sp)
/* 97B8 8002E3B8 F7BE0040 */ sdc1 $f30, 0x40($sp)
/* 97BC 8002E3BC F7BC0038 */ sdc1 $f28, 0x38($sp)
/* 97C0 8002E3C0 F7BA0030 */ sdc1 $f26, 0x30($sp)
/* 97C4 8002E3C4 F7B80028 */ sdc1 $f24, 0x28($sp)
/* 97C8 8002E3C8 F7B60020 */ sdc1 $f22, 0x20($sp)
/* 97CC 8002E3CC F7B40018 */ sdc1 $f20, 0x18($sp)
/* 97D0 8002E3D0 86020020 */ lh $v0, 0x20($s0)
/* 97D4 8002E3D4 3C01800A */ lui $at, %hi(D_8009A5EC)
/* 97D8 8002E3D8 C42691B8 */ lwc1 $f6, %lo(D_8009A5EC)($at)
/* 97DC 8002E3DC 86030022 */ lh $v1, 0x22($s0)
/* 97E0 8002E3E0 44822000 */ mtc1 $v0, $f4
/* 97E4 8002E3E4 00000000 */ nop
/* 97E8 8002E3E8 46802120 */ cvt.s.w $f4, $f4
/* 97EC 8002E3EC 44831000 */ mtc1 $v1, $f2
/* 97F0 8002E3F0 00000000 */ nop
/* 97F4 8002E3F4 468010A0 */ cvt.s.w $f2, $f2
/* 97F8 8002E3F8 46062102 */ mul.s $f4, $f4, $f6
/* 97FC 8002E3FC 00000000 */ nop
/* 9800 8002E400 8602001E */ lh $v0, 0x1E($s0)
/* 9804 8002E404 86030006 */ lh $v1, 0x6($s0)
/* 9808 8002E408 44820000 */ mtc1 $v0, $f0
/* 980C 8002E40C 00000000 */ nop
/* 9810 8002E410 46800020 */ cvt.s.w $f0, $f0
/* 9814 8002E414 8602001C */ lh $v0, 0x1C($s0)
/* 9818 8002E418 46061082 */ mul.s $f2, $f2, $f6
/* 981C 8002E41C 00000000 */ nop
/* 9820 8002E420 E6000070 */ swc1 $f0, 0x70($s0)
/* 9824 8002E424 46000186 */ mov.s $f6, $f0
/* 9828 8002E428 E6060084 */ swc1 $f6, 0x84($s0)
/* 982C 8002E42C 44820000 */ mtc1 $v0, $f0
/* 9830 8002E430 00000000 */ nop
/* 9834 8002E434 46800020 */ cvt.s.w $f0, $f0
/* 9838 8002E438 E6000074 */ swc1 $f0, 0x74($s0)
/* 983C 8002E43C E6040078 */ swc1 $f4, 0x78($s0)
/* 9840 8002E440 10600047 */ beqz $v1, .LIQUE_8002E560
/* 9844 8002E444 E602007C */ swc1 $f2, 0x7C($s0)
/* 9848 8002E448 46000086 */ mov.s $f2, $f0
/* 984C 8002E44C 4480C000 */ mtc1 $zero, $f24
/* 9850 8002E450 3C0140C9 */ lui $at, (0x40C90FD0 >> 16)
/* 9854 8002E454 34210FD0 */ ori $at, $at, (0x40C90FD0 & 0xFFFF)
/* 9858 8002E458 4481B000 */ mtc1 $at, $f22
/* 985C 8002E45C C6080054 */ lwc1 $f8, 0x54($s0)
/* 9860 8002E460 C6000058 */ lwc1 $f0, 0x58($s0)
/* 9864 8002E464 C604007C */ lwc1 $f4, 0x7C($s0)
/* 9868 8002E468 C606005C */ lwc1 $f6, 0x5C($s0)
/* 986C 8002E46C 3C0143B4 */ lui $at, (0x43B40000 >> 16)
/* 9870 8002E470 4481A000 */ mtc1 $at, $f20
/* 9874 8002E474 46161082 */ mul.s $f2, $f2, $f22
/* 9878 8002E478 00000000 */ nop
/* 987C 8002E47C A6000006 */ sh $zero, 0x6($s0)
/* 9880 8002E480 E6180098 */ swc1 $f24, 0x98($s0)
/* 9884 8002E484 E618009C */ swc1 $f24, 0x9C($s0)
/* 9888 8002E488 46040000 */ add.s $f0, $f0, $f4
/* 988C 8002E48C E6080048 */ swc1 $f8, 0x48($s0)
/* 9890 8002E490 E6060050 */ swc1 $f6, 0x50($s0)
/* 9894 8002E494 E600004C */ swc1 $f0, 0x4C($s0)
/* 9898 8002E498 46141683 */ div.s $f26, $f2, $f20
/* 989C 8002E49C 0C00A78F */ jal sin_rad
/* 98A0 8002E4A0 4600D306 */ mov.s $f12, $f26
/* 98A4 8002E4A4 46000786 */ mov.s $f30, $f0
/* 98A8 8002E4A8 0C00A7A8 */ jal cos_rad
/* 98AC 8002E4AC 4600D306 */ mov.s $f12, $f26
/* 98B0 8002E4B0 46000306 */ mov.s $f12, $f0
/* 98B4 8002E4B4 46186202 */ mul.s $f8, $f12, $f24
/* 98B8 8002E4B8 00000000 */ nop
/* 98BC 8002E4BC 4600C087 */ neg.s $f2, $f24
/* 98C0 8002E4C0 4602F082 */ mul.s $f2, $f30, $f2
/* 98C4 8002E4C4 00000000 */ nop
/* 98C8 8002E4C8 C61C0078 */ lwc1 $f28, 0x78($s0)
/* 98CC 8002E4CC 461EE102 */ mul.s $f4, $f28, $f30
/* 98D0 8002E4D0 00000000 */ nop
/* 98D4 8002E4D4 460CE182 */ mul.s $f6, $f28, $f12
/* 98D8 8002E4D8 00000000 */ nop
/* 98DC 8002E4DC C6000070 */ lwc1 $f0, 0x70($s0)
/* 98E0 8002E4E0 46160002 */ mul.s $f0, $f0, $f22
/* 98E4 8002E4E4 00000000 */ nop
/* 98E8 8002E4E8 4600C286 */ mov.s $f10, $f24
/* 98EC 8002E4EC 46005586 */ mov.s $f22, $f10
/* 98F0 8002E4F0 46044600 */ add.s $f24, $f8, $f4
/* 98F4 8002E4F4 46140683 */ div.s $f26, $f0, $f20
/* 98F8 8002E4F8 4600D306 */ mov.s $f12, $f26
/* 98FC 8002E4FC 0C00A78F */ jal sin_rad
/* 9900 8002E500 46061700 */ add.s $f28, $f2, $f6
/* 9904 8002E504 46000786 */ mov.s $f30, $f0
/* 9908 8002E508 0C00A7A8 */ jal cos_rad
/* 990C 8002E50C 4600D306 */ mov.s $f12, $f26
/* 9910 8002E510 46000306 */ mov.s $f12, $f0
/* 9914 8002E514 46166202 */ mul.s $f8, $f12, $f22
/* 9918 8002E518 00000000 */ nop
/* 991C 8002E51C 4616F182 */ mul.s $f6, $f30, $f22
/* 9920 8002E520 00000000 */ nop
/* 9924 8002E524 461EE102 */ mul.s $f4, $f28, $f30
/* 9928 8002E528 00000000 */ nop
/* 992C 8002E52C 460CE082 */ mul.s $f2, $f28, $f12
/* 9930 8002E530 00000000 */ nop
/* 9934 8002E534 C600004C */ lwc1 $f0, 0x4C($s0)
/* 9938 8002E538 46180400 */ add.s $f16, $f0, $f24
/* 993C 8002E53C 46044281 */ sub.s $f10, $f8, $f4
/* 9940 8002E540 46023080 */ add.s $f2, $f6, $f2
/* 9944 8002E544 C6000048 */ lwc1 $f0, 0x48($s0)
/* 9948 8002E548 460A0100 */ add.s $f4, $f0, $f10
/* 994C 8002E54C C6000050 */ lwc1 $f0, 0x50($s0)
/* 9950 8002E550 46020200 */ add.s $f8, $f0, $f2
/* 9954 8002E554 E6100040 */ swc1 $f16, 0x40($s0)
/* 9958 8002E558 E604003C */ swc1 $f4, 0x3C($s0)
/* 995C 8002E55C E6080044 */ swc1 $f8, 0x44($s0)
.LIQUE_8002E560:
/* 9960 8002E560 C6020054 */ lwc1 $f2, 0x54($s0)
/* 9964 8002E564 C6000048 */ lwc1 $f0, 0x48($s0)
/* 9968 8002E568 46001101 */ sub.s $f4, $f2, $f0
/* 996C 8002E56C C602005C */ lwc1 $f2, 0x5C($s0)
/* 9970 8002E570 C6000050 */ lwc1 $f0, 0x50($s0)
/* 9974 8002E574 46001201 */ sub.s $f8, $f2, $f0
/* 9978 8002E578 C6000058 */ lwc1 $f0, 0x58($s0)
/* 997C 8002E57C C602007C */ lwc1 $f2, 0x7C($s0)
/* 9980 8002E580 46020000 */ add.s $f0, $f0, $f2
/* 9984 8002E584 C602004C */ lwc1 $f2, 0x4C($s0)
/* 9988 8002E588 46020401 */ sub.s $f16, $f0, $f2
/* 998C 8002E58C 3C014180 */ lui $at, (0x41800000 >> 16)
/* 9990 8002E590 44811000 */ mtc1 $at, $f2
/* 9994 8002E594 46002005 */ abs.s $f0, $f4
/* 9998 8002E598 4600103C */ c.lt.s $f2, $f0
/* 999C 8002E59C 00000000 */ nop
/* 99A0 8002E5A0 4502000C */ bc1fl .LIQUE_8002E5D4
/* 99A4 8002E5A4 46008005 */ abs.s $f0, $f16
/* 99A8 8002E5A8 44800000 */ mtc1 $zero, $f0
/* 99AC 8002E5AC 00000000 */ nop
/* 99B0 8002E5B0 4600203C */ c.lt.s $f4, $f0
/* 99B4 8002E5B4 00000000 */ nop
/* 99B8 8002E5B8 45000005 */ bc1f .LIQUE_8002E5D0
/* 99BC 8002E5BC 46001106 */ mov.s $f4, $f2
/* 99C0 8002E5C0 3C01C180 */ lui $at, (0xC1800000 >> 16)
/* 99C4 8002E5C4 44812000 */ mtc1 $at, $f4
/* 99C8 8002E5C8 3C014180 */ lui $at, (0x41800000 >> 16)
/* 99CC 8002E5CC 44811000 */ mtc1 $at, $f2
.LIQUE_8002E5D0:
/* 99D0 8002E5D0 46008005 */ abs.s $f0, $f16
.LIQUE_8002E5D4:
/* 99D4 8002E5D4 4600103C */ c.lt.s $f2, $f0
/* 99D8 8002E5D8 00000000 */ nop
/* 99DC 8002E5DC 45000009 */ bc1f .LIQUE_8002E604
/* 99E0 8002E5E0 00000000 */ nop
/* 99E4 8002E5E4 44800000 */ mtc1 $zero, $f0
/* 99E8 8002E5E8 00000000 */ nop
/* 99EC 8002E5EC 4600803C */ c.lt.s $f16, $f0
/* 99F0 8002E5F0 00000000 */ nop
/* 99F4 8002E5F4 45000003 */ bc1f .LIQUE_8002E604
/* 99F8 8002E5F8 46001406 */ mov.s $f16, $f2
/* 99FC 8002E5FC 3C01C180 */ lui $at, (0xC1800000 >> 16)
/* 9A00 8002E600 44818000 */ mtc1 $at, $f16
.LIQUE_8002E604:
/* 9A04 8002E604 3C014180 */ lui $at, (0x41800000 >> 16)
/* 9A08 8002E608 44811000 */ mtc1 $at, $f2
/* 9A0C 8002E60C 46004005 */ abs.s $f0, $f8
/* 9A10 8002E610 4600103C */ c.lt.s $f2, $f0
/* 9A14 8002E614 00000000 */ nop
/* 9A18 8002E618 45000009 */ bc1f .LIQUE_8002E640
/* 9A1C 8002E61C 00000000 */ nop
/* 9A20 8002E620 44800000 */ mtc1 $zero, $f0
/* 9A24 8002E624 00000000 */ nop
/* 9A28 8002E628 4600403C */ c.lt.s $f8, $f0
/* 9A2C 8002E62C 00000000 */ nop
/* 9A30 8002E630 45000003 */ bc1f .LIQUE_8002E640
/* 9A34 8002E634 46001206 */ mov.s $f8, $f2
/* 9A38 8002E638 3C01C180 */ lui $at, (0xC1800000 >> 16)
/* 9A3C 8002E63C 44814000 */ mtc1 $at, $f8
.LIQUE_8002E640:
/* 9A40 8002E640 3C013F00 */ lui $at, (0x3F000000 >> 16)
/* 9A44 8002E644 4481A000 */ mtc1 $at, $f20
/* 9A48 8002E648 00000000 */ nop
/* 9A4C 8002E64C 46142082 */ mul.s $f2, $f4, $f20
/* 9A50 8002E650 00000000 */ nop
/* 9A54 8002E654 46148182 */ mul.s $f6, $f16, $f20
/* 9A58 8002E658 00000000 */ nop
/* 9A5C 8002E65C 46144202 */ mul.s $f8, $f8, $f20
/* 9A60 8002E660 00000000 */ nop
/* 9A64 8002E664 C6000074 */ lwc1 $f0, 0x74($s0)
/* 9A68 8002E668 3C0140C9 */ lui $at, (0x40C90FD0 >> 16)
/* 9A6C 8002E66C 34210FD0 */ ori $at, $at, (0x40C90FD0 & 0xFFFF)
/* 9A70 8002E670 4481B000 */ mtc1 $at, $f22
/* 9A74 8002E674 00000000 */ nop
/* 9A78 8002E678 46160002 */ mul.s $f0, $f0, $f22
/* 9A7C 8002E67C 00000000 */ nop
/* 9A80 8002E680 4480C000 */ mtc1 $zero, $f24
/* 9A84 8002E684 C6040048 */ lwc1 $f4, 0x48($s0)
/* 9A88 8002E688 3C0143B4 */ lui $at, (0x43B40000 >> 16)
/* 9A8C 8002E68C 44819000 */ mtc1 $at, $f18
/* 9A90 8002E690 46022100 */ add.s $f4, $f4, $f2
/* 9A94 8002E694 C602004C */ lwc1 $f2, 0x4C($s0)
/* 9A98 8002E698 46120683 */ div.s $f26, $f0, $f18
/* 9A9C 8002E69C 46061080 */ add.s $f2, $f2, $f6
/* 9AA0 8002E6A0 C6000050 */ lwc1 $f0, 0x50($s0)
/* 9AA4 8002E6A4 4600D306 */ mov.s $f12, $f26
/* 9AA8 8002E6A8 46080000 */ add.s $f0, $f0, $f8
/* 9AAC 8002E6AC E6040048 */ swc1 $f4, 0x48($s0)
/* 9AB0 8002E6B0 E602004C */ swc1 $f2, 0x4C($s0)
/* 9AB4 8002E6B4 0C00A78F */ jal sin_rad
/* 9AB8 8002E6B8 E6000050 */ swc1 $f0, 0x50($s0)
/* 9ABC 8002E6BC 46000786 */ mov.s $f30, $f0
/* 9AC0 8002E6C0 0C00A7A8 */ jal cos_rad
/* 9AC4 8002E6C4 4600D306 */ mov.s $f12, $f26
/* 9AC8 8002E6C8 46000306 */ mov.s $f12, $f0
/* 9ACC 8002E6CC 46186202 */ mul.s $f8, $f12, $f24
/* 9AD0 8002E6D0 00000000 */ nop
/* 9AD4 8002E6D4 4600C087 */ neg.s $f2, $f24
/* 9AD8 8002E6D8 4602F082 */ mul.s $f2, $f30, $f2
/* 9ADC 8002E6DC 00000000 */ nop
/* 9AE0 8002E6E0 C61C0078 */ lwc1 $f28, 0x78($s0)
/* 9AE4 8002E6E4 461EE102 */ mul.s $f4, $f28, $f30
/* 9AE8 8002E6E8 00000000 */ nop
/* 9AEC 8002E6EC 460CE182 */ mul.s $f6, $f28, $f12
/* 9AF0 8002E6F0 00000000 */ nop
/* 9AF4 8002E6F4 C6000070 */ lwc1 $f0, 0x70($s0)
/* 9AF8 8002E6F8 46160002 */ mul.s $f0, $f0, $f22
/* 9AFC 8002E6FC 00000000 */ nop
/* 9B00 8002E700 4600C286 */ mov.s $f10, $f24
/* 9B04 8002E704 3C0143B4 */ lui $at, (0x43B40000 >> 16)
/* 9B08 8002E708 44819000 */ mtc1 $at, $f18
/* 9B0C 8002E70C 46005586 */ mov.s $f22, $f10
/* 9B10 8002E710 46044600 */ add.s $f24, $f8, $f4
/* 9B14 8002E714 46120683 */ div.s $f26, $f0, $f18
/* 9B18 8002E718 4600D306 */ mov.s $f12, $f26
/* 9B1C 8002E71C 0C00A78F */ jal sin_rad
/* 9B20 8002E720 46061700 */ add.s $f28, $f2, $f6
/* 9B24 8002E724 46000786 */ mov.s $f30, $f0
/* 9B28 8002E728 0C00A7A8 */ jal cos_rad
/* 9B2C 8002E72C 4600D306 */ mov.s $f12, $f26
/* 9B30 8002E730 46000306 */ mov.s $f12, $f0
/* 9B34 8002E734 461EE002 */ mul.s $f0, $f28, $f30
/* 9B38 8002E738 00000000 */ nop
/* 9B3C 8002E73C C602004C */ lwc1 $f2, 0x4C($s0)
/* 9B40 8002E740 46181400 */ add.s $f16, $f2, $f24
/* 9B44 8002E744 C6020040 */ lwc1 $f2, 0x40($s0)
/* 9B48 8002E748 46028081 */ sub.s $f2, $f16, $f2
/* 9B4C 8002E74C 46141402 */ mul.s $f16, $f2, $f20
/* 9B50 8002E750 00000000 */ nop
/* 9B54 8002E754 46166082 */ mul.s $f2, $f12, $f22
/* 9B58 8002E758 00000000 */ nop
/* 9B5C 8002E75C 46001281 */ sub.s $f10, $f2, $f0
/* 9B60 8002E760 4616F082 */ mul.s $f2, $f30, $f22
/* 9B64 8002E764 00000000 */ nop
/* 9B68 8002E768 C6000048 */ lwc1 $f0, 0x48($s0)
/* 9B6C 8002E76C 460A0100 */ add.s $f4, $f0, $f10
/* 9B70 8002E770 C600003C */ lwc1 $f0, 0x3C($s0)
/* 9B74 8002E774 46002001 */ sub.s $f0, $f4, $f0
/* 9B78 8002E778 46140102 */ mul.s $f4, $f0, $f20
/* 9B7C 8002E77C 00000000 */ nop
/* 9B80 8002E780 460CE002 */ mul.s $f0, $f28, $f12
/* 9B84 8002E784 00000000 */ nop
/* 9B88 8002E788 46001080 */ add.s $f2, $f2, $f0
/* 9B8C 8002E78C C6000050 */ lwc1 $f0, 0x50($s0)
/* 9B90 8002E790 46020200 */ add.s $f8, $f0, $f2
/* 9B94 8002E794 C6000044 */ lwc1 $f0, 0x44($s0)
/* 9B98 8002E798 46004001 */ sub.s $f0, $f8, $f0
/* 9B9C 8002E79C 46140202 */ mul.s $f8, $f0, $f20
/* 9BA0 8002E7A0 00000000 */ nop
/* 9BA4 8002E7A4 3C014180 */ lui $at, (0x41800000 >> 16)
/* 9BA8 8002E7A8 44811000 */ mtc1 $at, $f2
/* 9BAC 8002E7AC 46002005 */ abs.s $f0, $f4
/* 9BB0 8002E7B0 4600103C */ c.lt.s $f2, $f0
/* 9BB4 8002E7B4 00000000 */ nop
/* 9BB8 8002E7B8 4502000A */ bc1fl .LIQUE_8002E7E4
/* 9BBC 8002E7BC 46008005 */ abs.s $f0, $f16
/* 9BC0 8002E7C0 4616203C */ c.lt.s $f4, $f22
/* 9BC4 8002E7C4 00000000 */ nop
/* 9BC8 8002E7C8 45000005 */ bc1f .LIQUE_8002E7E0
/* 9BCC 8002E7CC 46001106 */ mov.s $f4, $f2
/* 9BD0 8002E7D0 3C01C180 */ lui $at, (0xC1800000 >> 16)
/* 9BD4 8002E7D4 44812000 */ mtc1 $at, $f4
/* 9BD8 8002E7D8 3C014180 */ lui $at, (0x41800000 >> 16)
/* 9BDC 8002E7DC 44811000 */ mtc1 $at, $f2
.LIQUE_8002E7E0:
/* 9BE0 8002E7E0 46008005 */ abs.s $f0, $f16
.LIQUE_8002E7E4:
/* 9BE4 8002E7E4 4600103C */ c.lt.s $f2, $f0
/* 9BE8 8002E7E8 00000000 */ nop
/* 9BEC 8002E7EC 45000009 */ bc1f .LIQUE_8002E814
/* 9BF0 8002E7F0 00000000 */ nop
/* 9BF4 8002E7F4 44800000 */ mtc1 $zero, $f0
/* 9BF8 8002E7F8 00000000 */ nop
/* 9BFC 8002E7FC 4600803C */ c.lt.s $f16, $f0
/* 9C00 8002E800 00000000 */ nop
/* 9C04 8002E804 45000003 */ bc1f .LIQUE_8002E814
/* 9C08 8002E808 46001406 */ mov.s $f16, $f2
/* 9C0C 8002E80C 3C01C180 */ lui $at, (0xC1800000 >> 16)
/* 9C10 8002E810 44818000 */ mtc1 $at, $f16
.LIQUE_8002E814:
/* 9C14 8002E814 3C014180 */ lui $at, (0x41800000 >> 16)
/* 9C18 8002E818 44811000 */ mtc1 $at, $f2
/* 9C1C 8002E81C 46004005 */ abs.s $f0, $f8
/* 9C20 8002E820 4600103C */ c.lt.s $f2, $f0
/* 9C24 8002E824 00000000 */ nop
/* 9C28 8002E828 45000009 */ bc1f .LIQUE_8002E850
/* 9C2C 8002E82C 00000000 */ nop
/* 9C30 8002E830 44800000 */ mtc1 $zero, $f0
/* 9C34 8002E834 00000000 */ nop
/* 9C38 8002E838 4600403C */ c.lt.s $f8, $f0
/* 9C3C 8002E83C 00000000 */ nop
/* 9C40 8002E840 45000003 */ bc1f .LIQUE_8002E850
/* 9C44 8002E844 46001206 */ mov.s $f8, $f2
/* 9C48 8002E848 3C01C180 */ lui $at, (0xC1800000 >> 16)
/* 9C4C 8002E84C 44814000 */ mtc1 $at, $f8
.LIQUE_8002E850:
/* 9C50 8002E850 C600003C */ lwc1 $f0, 0x3C($s0)
/* 9C54 8002E854 46040000 */ add.s $f0, $f0, $f4
/* 9C58 8002E858 C60E0044 */ lwc1 $f14, 0x44($s0)
/* 9C5C 8002E85C 8E060048 */ lw $a2, 0x48($s0)
/* 9C60 8002E860 46087380 */ add.s $f14, $f14, $f8
/* 9C64 8002E864 C6020040 */ lwc1 $f2, 0x40($s0)
/* 9C68 8002E868 8E070050 */ lw $a3, 0x50($s0)
/* 9C6C 8002E86C 46101080 */ add.s $f2, $f2, $f16
/* 9C70 8002E870 E600003C */ swc1 $f0, 0x3C($s0)
/* 9C74 8002E874 46000306 */ mov.s $f12, $f0
/* 9C78 8002E878 E6020040 */ swc1 $f2, 0x40($s0)
/* 9C7C 8002E87C 0C00A654 */ jal atan2
/* 9C80 8002E880 E60E0044 */ swc1 $f14, 0x44($s0)
/* 9C84 8002E884 C6040048 */ lwc1 $f4, 0x48($s0)
/* 9C88 8002E888 4480A000 */ mtc1 $zero, $f20
/* 9C8C 8002E88C C602003C */ lwc1 $f2, 0x3C($s0)
/* 9C90 8002E890 E600006C */ swc1 $f0, 0x6C($s0)
/* 9C94 8002E894 46022581 */ sub.s $f22, $f4, $f2
/* 9C98 8002E898 C6040050 */ lwc1 $f4, 0x50($s0)
/* 9C9C 8002E89C C6020044 */ lwc1 $f2, 0x44($s0)
/* 9CA0 8002E8A0 4600A306 */ mov.s $f12, $f20
/* 9CA4 8002E8A4 46022701 */ sub.s $f28, $f4, $f2
/* 9CA8 8002E8A8 C604004C */ lwc1 $f4, 0x4C($s0)
/* 9CAC 8002E8AC C6020040 */ lwc1 $f2, 0x40($s0)
/* 9CB0 8002E8B0 4406B000 */ mfc1 $a2, $f22
/* 9CB4 8002E8B4 46022601 */ sub.s $f24, $f4, $f2
/* 9CB8 8002E8B8 4407E000 */ mfc1 $a3, $f28
/* 9CBC 8002E8BC 0C00A654 */ jal atan2
/* 9CC0 8002E8C0 4600A386 */ mov.s $f14, $f20
/* 9CC4 8002E8C4 4616B102 */ mul.s $f4, $f22, $f22
/* 9CC8 8002E8C8 00000000 */ nop
/* 9CCC 8002E8CC 461CE082 */ mul.s $f2, $f28, $f28
/* 9CD0 8002E8D0 00000000 */ nop
/* 9CD4 8002E8D4 46022300 */ add.s $f12, $f4, $f2
/* 9CD8 8002E8D8 46000007 */ neg.s $f0, $f0
/* 9CDC 8002E8DC E6000090 */ swc1 $f0, 0x90($s0)
/* 9CE0 8002E8E0 46006004 */ sqrt.s $f0, $f12
/* 9CE4 8002E8E4 46000032 */ c.eq.s $f0, $f0
/* 9CE8 8002E8E8 00000000 */ nop
/* 9CEC 8002E8EC 45030004 */ bc1tl .LIQUE_8002E900
/* 9CF0 8002E8F0 4600A306 */ mov.s $f12, $f20
/* 9CF4 8002E8F4 0C0183A0 */ jal sqrtf
/* 9CF8 8002E8F8 00000000 */ nop
/* 9CFC 8002E8FC 4600A306 */ mov.s $f12, $f20
.LIQUE_8002E900:
/* 9D00 8002E900 46000007 */ neg.s $f0, $f0
/* 9D04 8002E904 4406C000 */ mfc1 $a2, $f24
/* 9D08 8002E908 44070000 */ mfc1 $a3, $f0
/* 9D0C 8002E90C 0C00A654 */ jal atan2
/* 9D10 8002E910 46006386 */ mov.s $f14, $f12
/* 9D14 8002E914 E6000094 */ swc1 $f0, 0x94($s0)
/* 9D18 8002E918 8FBF0014 */ lw $ra, 0x14($sp)
/* 9D1C 8002E91C 8FB00010 */ lw $s0, 0x10($sp)
/* 9D20 8002E920 D7BE0040 */ ldc1 $f30, 0x40($sp)
/* 9D24 8002E924 D7BC0038 */ ldc1 $f28, 0x38($sp)
/* 9D28 8002E928 D7BA0030 */ ldc1 $f26, 0x30($sp)
/* 9D2C 8002E92C D7B80028 */ ldc1 $f24, 0x28($sp)
/* 9D30 8002E930 D7B60020 */ ldc1 $f22, 0x20($sp)
/* 9D34 8002E934 D7B40018 */ ldc1 $f20, 0x18($sp)
/* 9D38 8002E938 03E00008 */ jr $ra
/* 9D3C 8002E93C 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -1,328 +0,0 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
/* Generated by spimdisasm 1.11.1 */
glabel test_item_player_collision
/* C917C 8013229C 27BDFF90 */ addiu $sp, $sp, -0x70
/* C9180 801322A0 AFB30034 */ sw $s3, 0x34($sp)
/* C9184 801322A4 0080982D */ daddu $s3, $a0, $zero
/* C9188 801322A8 AFB1002C */ sw $s1, 0x2C($sp)
/* C918C 801322AC 3C118011 */ lui $s1, %hi(gPlayerStatus)
/* C9190 801322B0 2631D3A8 */ addiu $s1, $s1, %lo(gPlayerStatus)
/* C9194 801322B4 AFB40038 */ sw $s4, 0x38($sp)
/* C9198 801322B8 3C148011 */ lui $s4, %hi(gPartnerStatus)
/* C919C 801322BC 2694CF90 */ addiu $s4, $s4, %lo(gPartnerStatus)
/* C91A0 801322C0 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* C91A4 801322C4 8C636070 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* C91A8 801322C8 3C04800B */ lui $a0, %hi(gCameras)
/* C91AC 801322CC 248407D0 */ addiu $a0, $a0, %lo(gCameras)
/* C91B0 801322D0 AFBF003C */ sw $ra, 0x3C($sp)
/* C91B4 801322D4 AFB20030 */ sw $s2, 0x30($sp)
/* C91B8 801322D8 AFB00028 */ sw $s0, 0x28($sp)
/* C91BC 801322DC F7BE0068 */ sdc1 $f30, 0x68($sp)
/* C91C0 801322E0 F7BC0060 */ sdc1 $f28, 0x60($sp)
/* C91C4 801322E4 F7BA0058 */ sdc1 $f26, 0x58($sp)
/* C91C8 801322E8 F7B80050 */ sdc1 $f24, 0x50($sp)
/* C91CC 801322EC F7B60048 */ sdc1 $f22, 0x48($sp)
/* C91D0 801322F0 F7B40040 */ sdc1 $f20, 0x40($sp)
/* C91D4 801322F4 823200B4 */ lb $s2, 0xB4($s1)
/* C91D8 801322F8 00031080 */ sll $v0, $v1, 2
/* C91DC 801322FC 00431021 */ addu $v0, $v0, $v1
/* C91E0 80132300 00021080 */ sll $v0, $v0, 2
/* C91E4 80132304 00431023 */ subu $v0, $v0, $v1
/* C91E8 80132308 000218C0 */ sll $v1, $v0, 3
/* C91EC 8013230C 00431021 */ addu $v0, $v0, $v1
/* C91F0 80132310 000210C0 */ sll $v0, $v0, 3
/* C91F4 80132314 8E630000 */ lw $v1, 0x0($s3)
/* C91F8 80132318 00448021 */ addu $s0, $v0, $a0
/* C91FC 8013231C 30620100 */ andi $v0, $v1, 0x100
/* C9200 80132320 10400003 */ beqz $v0, .LIQUE_80132330
/* C9204 80132324 2402FEFF */ addiu $v0, $zero, -0x101
/* C9208 80132328 0804C9BE */ j .LIQUE_801326F8
/* C920C 8013232C 00621024 */ and $v0, $v1, $v0
.LIQUE_80132330:
/* C9210 80132330 3C03800A */ lui $v1, %hi(gEncounterState)
/* C9214 80132334 8C6391CC */ lw $v1, %lo(gEncounterState)($v1)
/* C9218 80132338 24020002 */ addiu $v0, $zero, 0x2
/* C921C 8013233C 10620003 */ beq $v1, $v0, .LIQUE_8013234C
/* C9220 80132340 00000000 */ nop
/* C9224 80132344 146000F6 */ bnez $v1, .LIQUE_80132720
/* C9228 80132348 0000102D */ daddu $v0, $zero, $zero
.LIQUE_8013234C:
/* C922C 8013234C 3C02800B */ lui $v0, %hi(gCurrentEncounter)
/* C9230 80132350 2442F950 */ addiu $v0, $v0, %lo(gCurrentEncounter)
/* C9234 80132354 80430005 */ lb $v1, 0x5($v0)
/* C9238 80132358 24020005 */ addiu $v0, $zero, 0x5
/* C923C 8013235C 106200EF */ beq $v1, $v0, .LIQUE_8013271C
/* C9240 80132360 3C020020 */ lui $v0, (0x200000 >> 16)
/* C9244 80132364 8E630000 */ lw $v1, 0x0($s3)
/* C9248 80132368 00621024 */ and $v0, $v1, $v0
/* C924C 8013236C 144000EC */ bnez $v0, .LIQUE_80132720
/* C9250 80132370 0000102D */ daddu $v0, $zero, $zero
/* C9254 80132374 3C028016 */ lui $v0, %hi(isPickingUpItem)
/* C9258 80132378 84428924 */ lh $v0, %lo(isPickingUpItem)($v0)
/* C925C 8013237C 144000E8 */ bnez $v0, .LIQUE_80132720
/* C9260 80132380 0000102D */ daddu $v0, $zero, $zero
/* C9264 80132384 30620040 */ andi $v0, $v1, 0x40
/* C9268 80132388 144000E5 */ bnez $v0, .LIQUE_80132720
/* C926C 8013238C 0000102D */ daddu $v0, $zero, $zero
/* C9270 80132390 0C009B98 */ jal get_time_freeze_mode
/* C9274 80132394 00000000 */ nop
/* C9278 80132398 144000E1 */ bnez $v0, .LIQUE_80132720
/* C927C 8013239C 0000102D */ daddu $v0, $zero, $zero
/* C9280 801323A0 82820000 */ lb $v0, 0x0($s4)
/* C9284 801323A4 10400004 */ beqz $v0, .LIQUE_801323B8
/* C9288 801323A8 24020009 */ addiu $v0, $zero, 0x9
/* C928C 801323AC 82830003 */ lb $v1, 0x3($s4)
/* C9290 801323B0 106200DB */ beq $v1, $v0, .LIQUE_80132720
/* C9294 801323B4 0000102D */ daddu $v0, $zero, $zero
.LIQUE_801323B8:
/* C9298 801323B8 2642FFE3 */ addiu $v0, $s2, -0x1D
/* C929C 801323BC 2C420003 */ sltiu $v0, $v0, 0x3
/* C92A0 801323C0 10400004 */ beqz $v0, .LIQUE_801323D4
/* C92A4 801323C4 24020157 */ addiu $v0, $zero, 0x157
/* C92A8 801323C8 86630018 */ lh $v1, 0x18($s3)
/* C92AC 801323CC 146200D4 */ bne $v1, $v0, .LIQUE_80132720
/* C92B0 801323D0 0000102D */ daddu $v0, $zero, $zero
.LIQUE_801323D4:
/* C92B4 801323D4 3C02800A */ lui $v0, %hi(gOverrideFlags)
/* C92B8 801323D8 8C429228 */ lw $v0, %lo(gOverrideFlags)($v0)
/* C92BC 801323DC 3C030020 */ lui $v1, (0x200000 >> 16)
/* C92C0 801323E0 00431024 */ and $v0, $v0, $v1
/* C92C4 801323E4 144000CE */ bnez $v0, .LIQUE_80132720
/* C92C8 801323E8 0000102D */ daddu $v0, $zero, $zero
/* C92CC 801323EC 962300B0 */ lhu $v1, 0xB0($s1)
/* C92D0 801323F0 862400B2 */ lh $a0, 0xB2($s1)
/* C92D4 801323F4 00031C00 */ sll $v1, $v1, 16
/* C92D8 801323F8 00031403 */ sra $v0, $v1, 16
/* C92DC 801323FC 00031FC2 */ srl $v1, $v1, 31
/* C92E0 80132400 00431021 */ addu $v0, $v0, $v1
/* C92E4 80132404 00021043 */ sra $v0, $v0, 1
/* C92E8 80132408 44823000 */ mtc1 $v0, $f6
/* C92EC 8013240C 00000000 */ nop
/* C92F0 80132410 468031A0 */ cvt.s.w $f6, $f6
/* C92F4 80132414 E7A6001C */ swc1 $f6, 0x1C($sp)
/* C92F8 80132418 C63E0028 */ lwc1 $f30, 0x28($s1)
/* C92FC 8013241C C63A002C */ lwc1 $f26, 0x2C($s1)
/* C9300 80132420 C6280030 */ lwc1 $f8, 0x30($s1)
/* C9304 80132424 0000902D */ daddu $s2, $zero, $zero
/* C9308 80132428 04810002 */ bgez $a0, .LIQUE_80132434
/* C930C 8013242C E7A80018 */ swc1 $f8, 0x18($sp)
/* C9310 80132430 24840003 */ addiu $a0, $a0, 0x3
.LIQUE_80132434:
/* C9314 80132434 00041083 */ sra $v0, $a0, 2
/* C9318 80132438 C62E00A8 */ lwc1 $f14, 0xA8($s1)
/* C931C 8013243C 3C014334 */ lui $at, (0x43340000 >> 16)
/* C9320 80132440 44810000 */ mtc1 $at, $f0
/* C9324 80132444 44823000 */ mtc1 $v0, $f6
/* C9328 80132448 00000000 */ nop
/* C932C 8013244C 468031A0 */ cvt.s.w $f6, $f6
/* C9330 80132450 4600703C */ c.lt.s $f14, $f0
/* C9334 80132454 00000000 */ nop
/* C9338 80132458 45000006 */ bc1f .LIQUE_80132474
/* C933C 8013245C E7A60020 */ swc1 $f6, 0x20($sp)
/* C9340 80132460 C600006C */ lwc1 $f0, 0x6C($s0)
/* C9344 80132464 3C0142B4 */ lui $at, (0x42B40000 >> 16)
/* C9348 80132468 44816000 */ mtc1 $at, $f12
/* C934C 8013246C 0804C922 */ j .LIQUE_80132488
/* C9350 80132470 460C0301 */ sub.s $f12, $f0, $f12
.LIQUE_80132474:
/* C9354 80132474 C600006C */ lwc1 $f0, 0x6C($s0)
/* C9358 80132478 3C0142B4 */ lui $at, (0x42B40000 >> 16)
/* C935C 8013247C 44816000 */ mtc1 $at, $f12
/* C9360 80132480 00000000 */ nop
/* C9364 80132484 460C0300 */ add.s $f12, $f0, $f12
.LIQUE_80132488:
/* C9368 80132488 0C00A5FD */ jal clamp_angle
/* C936C 8013248C 00000000 */ nop
/* C9370 80132490 46000386 */ mov.s $f14, $f0
/* C9374 80132494 C60C006C */ lwc1 $f12, 0x6C($s0)
/* C9378 80132498 C7A80018 */ lwc1 $f8, 0x18($sp)
/* C937C 8013249C E7BE0010 */ swc1 $f30, 0x10($sp)
/* C9380 801324A0 0C00A63E */ jal get_clamped_angle_diff
/* C9384 801324A4 E7A80014 */ swc1 $f8, 0x14($sp)
/* C9388 801324A8 44801000 */ mtc1 $zero, $f2
/* C938C 801324AC 00000000 */ nop
/* C9390 801324B0 4602003C */ c.lt.s $f0, $f2
/* C9394 801324B4 00000000 */ nop
/* C9398 801324B8 4500000F */ bc1f .LIQUE_801324F8
/* C939C 801324BC E7BA0024 */ swc1 $f26, 0x24($sp)
/* C93A0 801324C0 C600006C */ lwc1 $f0, 0x6C($s0)
/* C93A4 801324C4 3C0142B4 */ lui $at, (0x42B40000 >> 16)
/* C93A8 801324C8 44816000 */ mtc1 $at, $f12
/* C93AC 801324CC 0C00A5FD */ jal clamp_angle
/* C93B0 801324D0 460C0301 */ sub.s $f12, $f0, $f12
/* C93B4 801324D4 8E2200A4 */ lw $v0, 0xA4($s1)
/* C93B8 801324D8 3C030100 */ lui $v1, (0x1000000 >> 16)
/* C93BC 801324DC 00431024 */ and $v0, $v0, $v1
/* C93C0 801324E0 10400016 */ beqz $v0, .LIQUE_8013253C
/* C93C4 801324E4 27A40010 */ addiu $a0, $sp, 0x10
/* C93C8 801324E8 3C0141F0 */ lui $at, (0x41F00000 >> 16)
/* C93CC 801324EC 44816000 */ mtc1 $at, $f12
/* C93D0 801324F0 0804C94C */ j .LIQUE_80132530
/* C93D4 801324F4 460C0300 */ add.s $f12, $f0, $f12
.LIQUE_801324F8:
/* C93D8 801324F8 C600006C */ lwc1 $f0, 0x6C($s0)
/* C93DC 801324FC 3C0142B4 */ lui $at, (0x42B40000 >> 16)
/* C93E0 80132500 44816000 */ mtc1 $at, $f12
/* C93E4 80132504 0C00A5FD */ jal clamp_angle
/* C93E8 80132508 460C0300 */ add.s $f12, $f0, $f12
/* C93EC 8013250C 8E2200A4 */ lw $v0, 0xA4($s1)
/* C93F0 80132510 3C030100 */ lui $v1, (0x1000000 >> 16)
/* C93F4 80132514 00431024 */ and $v0, $v0, $v1
/* C93F8 80132518 10400008 */ beqz $v0, .LIQUE_8013253C
/* C93FC 8013251C 27A40010 */ addiu $a0, $sp, 0x10
/* C9400 80132520 3C0141F0 */ lui $at, (0x41F00000 >> 16)
/* C9404 80132524 44816000 */ mtc1 $at, $f12
/* C9408 80132528 00000000 */ nop
/* C940C 8013252C 460C0301 */ sub.s $f12, $f0, $f12
.LIQUE_80132530:
/* C9410 80132530 0C00A5FD */ jal clamp_angle
/* C9414 80132534 00000000 */ nop
/* C9418 80132538 27A40010 */ addiu $a0, $sp, 0x10
.LIQUE_8013253C:
/* C941C 8013253C 3C0641C0 */ lui $a2, (0x41C00000 >> 16)
/* C9420 80132540 44070000 */ mfc1 $a3, $f0
/* C9424 80132544 0C00A71B */ jal add_vec2D_polar
/* C9428 80132548 27A50014 */ addiu $a1, $sp, 0x14
/* C942C 8013254C C6760008 */ lwc1 $f22, 0x8($s3)
/* C9430 80132550 C674000C */ lwc1 $f20, 0xC($s3)
/* C9434 80132554 C6780010 */ lwc1 $f24, 0x10($s3)
/* C9438 80132558 3C014158 */ lui $at, (0x41580000 >> 16)
/* C943C 8013255C 4481E000 */ mtc1 $at, $f28
/* C9440 80132560 461EB081 */ sub.s $f2, $f22, $f30
/* C9444 80132564 46021082 */ mul.s $f2, $f2, $f2
/* C9448 80132568 00000000 */ nop
/* C944C 8013256C C7A60018 */ lwc1 $f6, 0x18($sp)
/* C9450 80132570 4606C001 */ sub.s $f0, $f24, $f6
/* C9454 80132574 46000002 */ mul.s $f0, $f0, $f0
/* C9458 80132578 00000000 */ nop
/* C945C 8013257C 46001300 */ add.s $f12, $f2, $f0
/* C9460 80132580 46006104 */ sqrt.s $f4, $f12
/* C9464 80132584 46042032 */ c.eq.s $f4, $f4
/* C9468 80132588 00000000 */ nop
/* C946C 8013258C 45010004 */ bc1t .LIQUE_801325A0
/* C9470 80132590 00000000 */ nop
/* C9474 80132594 0C0183A0 */ jal sqrtf
/* C9478 80132598 00000000 */ nop
/* C947C 8013259C 46000106 */ mov.s $f4, $f0
.LIQUE_801325A0:
/* C9480 801325A0 C7A80020 */ lwc1 $f8, 0x20($sp)
/* C9484 801325A4 461C4000 */ add.s $f0, $f8, $f28
/* C9488 801325A8 4604003E */ c.le.s $f0, $f4
/* C948C 801325AC 00000000 */ nop
/* C9490 801325B0 4501000F */ bc1t .LIQUE_801325F0
/* C9494 801325B4 00000000 */ nop
/* C9498 801325B8 3C0141D8 */ lui $at, (0x41D80000 >> 16)
/* C949C 801325BC 44813000 */ mtc1 $at, $f6
/* C94A0 801325C0 00000000 */ nop
/* C94A4 801325C4 4606A000 */ add.s $f0, $f20, $f6
/* C94A8 801325C8 461A003C */ c.lt.s $f0, $f26
/* C94AC 801325CC 00000000 */ nop
/* C94B0 801325D0 45010007 */ bc1t .LIQUE_801325F0
/* C94B4 801325D4 00000000 */ nop
/* C94B8 801325D8 C7A8001C */ lwc1 $f8, 0x1C($sp)
/* C94BC 801325DC 4608D000 */ add.s $f0, $f26, $f8
/* C94C0 801325E0 4614003C */ c.lt.s $f0, $f20
/* C94C4 801325E4 00000000 */ nop
/* C94C8 801325E8 45020001 */ bc1fl .LIQUE_801325F0
/* C94CC 801325EC 24120001 */ addiu $s2, $zero, 0x1
.LIQUE_801325F0:
/* C94D0 801325F0 822300B4 */ lb $v1, 0xB4($s1)
/* C94D4 801325F4 24020012 */ addiu $v0, $zero, 0x12
/* C94D8 801325F8 1462002F */ bne $v1, $v0, .LIQUE_801326B8
/* C94DC 801325FC 3C030100 */ lui $v1, (0x1000000 >> 16)
/* C94E0 80132600 8E220000 */ lw $v0, 0x0($s1)
/* C94E4 80132604 00431024 */ and $v0, $v0, $v1
/* C94E8 80132608 1040002B */ beqz $v0, .LIQUE_801326B8
/* C94EC 8013260C 00000000 */ nop
/* C94F0 80132610 C7A00010 */ lwc1 $f0, 0x10($sp)
/* C94F4 80132614 4600B081 */ sub.s $f2, $f22, $f0
/* C94F8 80132618 46021082 */ mul.s $f2, $f2, $f2
/* C94FC 8013261C 00000000 */ nop
/* C9500 80132620 C7A00014 */ lwc1 $f0, 0x14($sp)
/* C9504 80132624 4600C001 */ sub.s $f0, $f24, $f0
/* C9508 80132628 46000002 */ mul.s $f0, $f0, $f0
/* C950C 8013262C 00000000 */ nop
/* C9510 80132630 46001300 */ add.s $f12, $f2, $f0
/* C9514 80132634 46006104 */ sqrt.s $f4, $f12
/* C9518 80132638 46042032 */ c.eq.s $f4, $f4
/* C951C 8013263C 00000000 */ nop
/* C9520 80132640 45010004 */ bc1t .LIQUE_80132654
/* C9524 80132644 00000000 */ nop
/* C9528 80132648 0C0183A0 */ jal sqrtf
/* C952C 8013264C 00000000 */ nop
/* C9530 80132650 46000106 */ mov.s $f4, $f0
.LIQUE_80132654:
/* C9534 80132654 3C014160 */ lui $at, (0x41600000 >> 16)
/* C9538 80132658 44813000 */ mtc1 $at, $f6
/* C953C 8013265C 00000000 */ nop
/* C9540 80132660 461C3000 */ add.s $f0, $f6, $f28
/* C9544 80132664 4604003E */ c.le.s $f0, $f4
/* C9548 80132668 00000000 */ nop
/* C954C 8013266C 45010012 */ bc1t .LIQUE_801326B8
/* C9550 80132670 00000000 */ nop
/* C9554 80132674 3C0141D8 */ lui $at, (0x41D80000 >> 16)
/* C9558 80132678 44814000 */ mtc1 $at, $f8
/* C955C 8013267C 00000000 */ nop
/* C9560 80132680 4608A000 */ add.s $f0, $f20, $f8
/* C9564 80132684 C7A60024 */ lwc1 $f6, 0x24($sp)
/* C9568 80132688 4606003C */ c.lt.s $f0, $f6
/* C956C 8013268C 00000000 */ nop
/* C9570 80132690 45010009 */ bc1t .LIQUE_801326B8
/* C9574 80132694 00000000 */ nop
/* C9578 80132698 3C014190 */ lui $at, (0x41900000 >> 16)
/* C957C 8013269C 44814000 */ mtc1 $at, $f8
/* C9580 801326A0 00000000 */ nop
/* C9584 801326A4 46083000 */ add.s $f0, $f6, $f8
/* C9588 801326A8 4614003C */ c.lt.s $f0, $f20
/* C958C 801326AC 00000000 */ nop
/* C9590 801326B0 45020001 */ bc1fl .LIQUE_801326B8
/* C9594 801326B4 24120001 */ addiu $s2, $zero, 0x1
.LIQUE_801326B8:
/* C9598 801326B8 12400012 */ beqz $s2, .LIQUE_80132704
/* C959C 801326BC 00000000 */ nop
/* C95A0 801326C0 8E640000 */ lw $a0, 0x0($s3)
/* C95A4 801326C4 30820080 */ andi $v0, $a0, 0x80
/* C95A8 801326C8 10400015 */ beqz $v0, .LIQUE_80132720
/* C95AC 801326CC 24020001 */ addiu $v0, $zero, 0x1
/* C95B0 801326D0 3C058016 */ lui $a1, %hi(D_801565A6)
/* C95B4 801326D4 24A58926 */ addiu $a1, $a1, %lo(D_801565A6)
/* C95B8 801326D8 84A20000 */ lh $v0, 0x0($a1)
/* C95BC 801326DC 94A30000 */ lhu $v1, 0x0($a1)
/* C95C0 801326E0 10400004 */ beqz $v0, .LIQUE_801326F4
/* C95C4 801326E4 2402FF7F */ addiu $v0, $zero, -0x81
/* C95C8 801326E8 2462FFFF */ addiu $v0, $v1, -0x1
/* C95CC 801326EC 0804C9C7 */ j .LIQUE_8013271C
/* C95D0 801326F0 A4A20000 */ sh $v0, 0x0($a1)
.LIQUE_801326F4:
/* C95D4 801326F4 00821024 */ and $v0, $a0, $v0
.LIQUE_801326F8:
/* C95D8 801326F8 AE620000 */ sw $v0, 0x0($s3)
/* C95DC 801326FC 0804C9C8 */ j .LIQUE_80132720
/* C95E0 80132700 24020001 */ addiu $v0, $zero, 0x1
.LIQUE_80132704:
/* C95E4 80132704 8E630000 */ lw $v1, 0x0($s3)
/* C95E8 80132708 30620080 */ andi $v0, $v1, 0x80
/* C95EC 8013270C 10400003 */ beqz $v0, .LIQUE_8013271C
/* C95F0 80132710 2402FF7F */ addiu $v0, $zero, -0x81
/* C95F4 80132714 00621024 */ and $v0, $v1, $v0
/* C95F8 80132718 AE620000 */ sw $v0, 0x0($s3)
.LIQUE_8013271C:
/* C95FC 8013271C 0000102D */ daddu $v0, $zero, $zero
.LIQUE_80132720:
/* C9600 80132720 8FBF003C */ lw $ra, 0x3C($sp)
/* C9604 80132724 8FB40038 */ lw $s4, 0x38($sp)
/* C9608 80132728 8FB30034 */ lw $s3, 0x34($sp)
/* C960C 8013272C 8FB20030 */ lw $s2, 0x30($sp)
/* C9610 80132730 8FB1002C */ lw $s1, 0x2C($sp)
/* C9614 80132734 8FB00028 */ lw $s0, 0x28($sp)
/* C9618 80132738 D7BE0068 */ ldc1 $f30, 0x68($sp)
/* C961C 8013273C D7BC0060 */ ldc1 $f28, 0x60($sp)
/* C9620 80132740 D7BA0058 */ ldc1 $f26, 0x58($sp)
/* C9624 80132744 D7B80050 */ ldc1 $f24, 0x50($sp)
/* C9628 80132748 D7B60048 */ ldc1 $f22, 0x48($sp)
/* C962C 8013274C D7B40040 */ ldc1 $f20, 0x40($sp)
/* C9630 80132750 03E00008 */ jr $ra
/* C9634 80132754 27BD0070 */ addiu $sp, $sp, 0x70

View File

@ -1,372 +0,0 @@
.set noat /* allow manual use of $at */
.set noreorder /* don't insert nops after branches */
glabel update_camera_mode_2
/* 9D88 8002E988 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 9D8C 8002E98C AFB00010 */ sw $s0, 0x10($sp)
/* 9D90 8002E990 0080802D */ daddu $s0, $a0, $zero
/* 9D94 8002E994 AFBF0014 */ sw $ra, 0x14($sp)
/* 9D98 8002E998 F7BE0040 */ sdc1 $f30, 0x40($sp)
/* 9D9C 8002E99C F7BC0038 */ sdc1 $f28, 0x38($sp)
/* 9DA0 8002E9A0 F7BA0030 */ sdc1 $f26, 0x30($sp)
/* 9DA4 8002E9A4 F7B80028 */ sdc1 $f24, 0x28($sp)
/* 9DA8 8002E9A8 F7B60020 */ sdc1 $f22, 0x20($sp)
/* 9DAC 8002E9AC F7B40018 */ sdc1 $f20, 0x18($sp)
/* 9DB0 8002E9B0 86020020 */ lh $v0, 0x20($s0)
/* 9DB4 8002E9B4 3C01800A */ lui $at, %hi(D_8009A5EC)
/* 9DB8 8002E9B8 C426A5CC */ lwc1 $f6, %lo(D_8009A5EC)($at)
/* 9DBC 8002E9BC 86030022 */ lh $v1, 0x22($s0)
/* 9DC0 8002E9C0 44822000 */ mtc1 $v0, $f4
/* 9DC4 8002E9C4 00000000 */ nop
/* 9DC8 8002E9C8 46802120 */ cvt.s.w $f4, $f4
/* 9DCC 8002E9CC 44831000 */ mtc1 $v1, $f2
/* 9DD0 8002E9D0 00000000 */ nop
/* 9DD4 8002E9D4 468010A0 */ cvt.s.w $f2, $f2
/* 9DD8 8002E9D8 46062102 */ mul.s $f4, $f4, $f6
/* 9DDC 8002E9DC 00000000 */ nop
/* 9DE0 8002E9E0 8602001E */ lh $v0, 0x1E($s0)
/* 9DE4 8002E9E4 86030006 */ lh $v1, 0x6($s0)
/* 9DE8 8002E9E8 44820000 */ mtc1 $v0, $f0
/* 9DEC 8002E9EC 00000000 */ nop
/* 9DF0 8002E9F0 46800020 */ cvt.s.w $f0, $f0
/* 9DF4 8002E9F4 8602001C */ lh $v0, 0x1C($s0)
/* 9DF8 8002E9F8 46061082 */ mul.s $f2, $f2, $f6
/* 9DFC 8002E9FC 00000000 */ nop
/* 9E00 8002EA00 E6000070 */ swc1 $f0, 0x70($s0)
/* 9E04 8002EA04 46000186 */ mov.s $f6, $f0
/* 9E08 8002EA08 E6060084 */ swc1 $f6, 0x84($s0)
/* 9E0C 8002EA0C 44820000 */ mtc1 $v0, $f0
/* 9E10 8002EA10 00000000 */ nop
/* 9E14 8002EA14 46800020 */ cvt.s.w $f0, $f0
/* 9E18 8002EA18 E6000074 */ swc1 $f0, 0x74($s0)
/* 9E1C 8002EA1C E6040078 */ swc1 $f4, 0x78($s0)
/* 9E20 8002EA20 10600047 */ beqz $v1, .LJP_8002EB40
/* 9E24 8002EA24 E602007C */ swc1 $f2, 0x7C($s0)
/* 9E28 8002EA28 46000086 */ mov.s $f2, $f0
/* 9E2C 8002EA2C 4480C000 */ mtc1 $zero, $f24
/* 9E30 8002EA30 3C0140C9 */ lui $at, (0x40C90FD0 >> 16)
/* 9E34 8002EA34 34210FD0 */ ori $at, $at, (0x40C90FD0 & 0xFFFF)
/* 9E38 8002EA38 4481B000 */ mtc1 $at, $f22
/* 9E3C 8002EA3C C6080054 */ lwc1 $f8, 0x54($s0)
/* 9E40 8002EA40 C6000058 */ lwc1 $f0, 0x58($s0)
/* 9E44 8002EA44 C604007C */ lwc1 $f4, 0x7C($s0)
/* 9E48 8002EA48 C606005C */ lwc1 $f6, 0x5C($s0)
/* 9E4C 8002EA4C 3C0143B4 */ lui $at, (0x43B40000 >> 16)
/* 9E50 8002EA50 4481A000 */ mtc1 $at, $f20
/* 9E54 8002EA54 46161082 */ mul.s $f2, $f2, $f22
/* 9E58 8002EA58 00000000 */ nop
/* 9E5C 8002EA5C A6000006 */ sh $zero, 0x6($s0)
/* 9E60 8002EA60 E6180098 */ swc1 $f24, 0x98($s0)
/* 9E64 8002EA64 E618009C */ swc1 $f24, 0x9C($s0)
/* 9E68 8002EA68 46040000 */ add.s $f0, $f0, $f4
/* 9E6C 8002EA6C E6080048 */ swc1 $f8, 0x48($s0)
/* 9E70 8002EA70 E6060050 */ swc1 $f6, 0x50($s0)
/* 9E74 8002EA74 E600004C */ swc1 $f0, 0x4C($s0)
/* 9E78 8002EA78 46141683 */ div.s $f26, $f2, $f20
/* 9E7C 8002EA7C 0C00A84B */ jal sin_rad
/* 9E80 8002EA80 4600D306 */ mov.s $f12, $f26
/* 9E84 8002EA84 46000786 */ mov.s $f30, $f0
/* 9E88 8002EA88 0C00A864 */ jal cos_rad
/* 9E8C 8002EA8C 4600D306 */ mov.s $f12, $f26
/* 9E90 8002EA90 46000306 */ mov.s $f12, $f0
/* 9E94 8002EA94 46186202 */ mul.s $f8, $f12, $f24
/* 9E98 8002EA98 00000000 */ nop
/* 9E9C 8002EA9C 4600C087 */ neg.s $f2, $f24
/* 9EA0 8002EAA0 4602F082 */ mul.s $f2, $f30, $f2
/* 9EA4 8002EAA4 00000000 */ nop
/* 9EA8 8002EAA8 C61C0078 */ lwc1 $f28, 0x78($s0)
/* 9EAC 8002EAAC 461EE102 */ mul.s $f4, $f28, $f30
/* 9EB0 8002EAB0 00000000 */ nop
/* 9EB4 8002EAB4 460CE182 */ mul.s $f6, $f28, $f12
/* 9EB8 8002EAB8 00000000 */ nop
/* 9EBC 8002EABC C6000070 */ lwc1 $f0, 0x70($s0)
/* 9EC0 8002EAC0 46160002 */ mul.s $f0, $f0, $f22
/* 9EC4 8002EAC4 00000000 */ nop
/* 9EC8 8002EAC8 4600C286 */ mov.s $f10, $f24
/* 9ECC 8002EACC 46005586 */ mov.s $f22, $f10
/* 9ED0 8002EAD0 46044600 */ add.s $f24, $f8, $f4
/* 9ED4 8002EAD4 46140683 */ div.s $f26, $f0, $f20
/* 9ED8 8002EAD8 4600D306 */ mov.s $f12, $f26
/* 9EDC 8002EADC 0C00A84B */ jal sin_rad
/* 9EE0 8002EAE0 46061700 */ add.s $f28, $f2, $f6
/* 9EE4 8002EAE4 46000786 */ mov.s $f30, $f0
/* 9EE8 8002EAE8 0C00A864 */ jal cos_rad
/* 9EEC 8002EAEC 4600D306 */ mov.s $f12, $f26
/* 9EF0 8002EAF0 46000306 */ mov.s $f12, $f0
/* 9EF4 8002EAF4 46166202 */ mul.s $f8, $f12, $f22
/* 9EF8 8002EAF8 00000000 */ nop
/* 9EFC 8002EAFC 4616F182 */ mul.s $f6, $f30, $f22
/* 9F00 8002EB00 00000000 */ nop
/* 9F04 8002EB04 461EE102 */ mul.s $f4, $f28, $f30
/* 9F08 8002EB08 00000000 */ nop
/* 9F0C 8002EB0C 460CE082 */ mul.s $f2, $f28, $f12
/* 9F10 8002EB10 00000000 */ nop
/* 9F14 8002EB14 C600004C */ lwc1 $f0, 0x4C($s0)
/* 9F18 8002EB18 46180400 */ add.s $f16, $f0, $f24
/* 9F1C 8002EB1C 46044281 */ sub.s $f10, $f8, $f4
/* 9F20 8002EB20 46023080 */ add.s $f2, $f6, $f2
/* 9F24 8002EB24 C6000048 */ lwc1 $f0, 0x48($s0)
/* 9F28 8002EB28 460A0100 */ add.s $f4, $f0, $f10
/* 9F2C 8002EB2C C6000050 */ lwc1 $f0, 0x50($s0)
/* 9F30 8002EB30 46020200 */ add.s $f8, $f0, $f2
/* 9F34 8002EB34 E6100040 */ swc1 $f16, 0x40($s0)
/* 9F38 8002EB38 E604003C */ swc1 $f4, 0x3C($s0)
/* 9F3C 8002EB3C E6080044 */ swc1 $f8, 0x44($s0)
.LJP_8002EB40:
/* 9F40 8002EB40 C6020054 */ lwc1 $f2, 0x54($s0)
/* 9F44 8002EB44 C6000048 */ lwc1 $f0, 0x48($s0)
/* 9F48 8002EB48 46001101 */ sub.s $f4, $f2, $f0
/* 9F4C 8002EB4C C602005C */ lwc1 $f2, 0x5C($s0)
/* 9F50 8002EB50 C6000050 */ lwc1 $f0, 0x50($s0)
/* 9F54 8002EB54 46001201 */ sub.s $f8, $f2, $f0
/* 9F58 8002EB58 C6000058 */ lwc1 $f0, 0x58($s0)
/* 9F5C 8002EB5C C602007C */ lwc1 $f2, 0x7C($s0)
/* 9F60 8002EB60 46020000 */ add.s $f0, $f0, $f2
/* 9F64 8002EB64 C602004C */ lwc1 $f2, 0x4C($s0)
/* 9F68 8002EB68 46020401 */ sub.s $f16, $f0, $f2
/* 9F6C 8002EB6C 3C014180 */ lui $at, (0x41800000 >> 16)
/* 9F70 8002EB70 44811000 */ mtc1 $at, $f2
/* 9F74 8002EB74 46002005 */ abs.s $f0, $f4
/* 9F78 8002EB78 4600103C */ c.lt.s $f2, $f0
/* 9F7C 8002EB7C 00000000 */ nop
/* 9F80 8002EB80 4502000C */ bc1fl .LJP_8002EBB4
/* 9F84 8002EB84 46008005 */ abs.s $f0, $f16
/* 9F88 8002EB88 44800000 */ mtc1 $zero, $f0
/* 9F8C 8002EB8C 00000000 */ nop
/* 9F90 8002EB90 4600203C */ c.lt.s $f4, $f0
/* 9F94 8002EB94 00000000 */ nop
/* 9F98 8002EB98 45000005 */ bc1f .LJP_8002EBB0
/* 9F9C 8002EB9C 46001106 */ mov.s $f4, $f2
/* 9FA0 8002EBA0 3C01C180 */ lui $at, (0xC1800000 >> 16)
/* 9FA4 8002EBA4 44812000 */ mtc1 $at, $f4
/* 9FA8 8002EBA8 3C014180 */ lui $at, (0x41800000 >> 16)
/* 9FAC 8002EBAC 44811000 */ mtc1 $at, $f2
.LJP_8002EBB0:
/* 9FB0 8002EBB0 46008005 */ abs.s $f0, $f16
.LJP_8002EBB4:
/* 9FB4 8002EBB4 4600103C */ c.lt.s $f2, $f0
/* 9FB8 8002EBB8 00000000 */ nop
/* 9FBC 8002EBBC 45000009 */ bc1f .LJP_8002EBE4
/* 9FC0 8002EBC0 00000000 */ nop
/* 9FC4 8002EBC4 44800000 */ mtc1 $zero, $f0
/* 9FC8 8002EBC8 00000000 */ nop
/* 9FCC 8002EBCC 4600803C */ c.lt.s $f16, $f0
/* 9FD0 8002EBD0 00000000 */ nop
/* 9FD4 8002EBD4 45000003 */ bc1f .LJP_8002EBE4
/* 9FD8 8002EBD8 46001406 */ mov.s $f16, $f2
/* 9FDC 8002EBDC 3C01C180 */ lui $at, (0xC1800000 >> 16)
/* 9FE0 8002EBE0 44818000 */ mtc1 $at, $f16
.LJP_8002EBE4:
/* 9FE4 8002EBE4 3C014180 */ lui $at, (0x41800000 >> 16)
/* 9FE8 8002EBE8 44811000 */ mtc1 $at, $f2
/* 9FEC 8002EBEC 46004005 */ abs.s $f0, $f8
/* 9FF0 8002EBF0 4600103C */ c.lt.s $f2, $f0
/* 9FF4 8002EBF4 00000000 */ nop
/* 9FF8 8002EBF8 45000009 */ bc1f .LJP_8002EC20
/* 9FFC 8002EBFC 00000000 */ nop
/* A000 8002EC00 44800000 */ mtc1 $zero, $f0
/* A004 8002EC04 00000000 */ nop
/* A008 8002EC08 4600403C */ c.lt.s $f8, $f0
/* A00C 8002EC0C 00000000 */ nop
/* A010 8002EC10 45000003 */ bc1f .LJP_8002EC20
/* A014 8002EC14 46001206 */ mov.s $f8, $f2
/* A018 8002EC18 3C01C180 */ lui $at, (0xC1800000 >> 16)
/* A01C 8002EC1C 44814000 */ mtc1 $at, $f8
.LJP_8002EC20:
/* A020 8002EC20 3C013F00 */ lui $at, (0x3F000000 >> 16)
/* A024 8002EC24 4481A000 */ mtc1 $at, $f20
/* A028 8002EC28 00000000 */ nop
/* A02C 8002EC2C 46142082 */ mul.s $f2, $f4, $f20
/* A030 8002EC30 00000000 */ nop
/* A034 8002EC34 46148182 */ mul.s $f6, $f16, $f20
/* A038 8002EC38 00000000 */ nop
/* A03C 8002EC3C 46144202 */ mul.s $f8, $f8, $f20
/* A040 8002EC40 00000000 */ nop
/* A044 8002EC44 C6000074 */ lwc1 $f0, 0x74($s0)
/* A048 8002EC48 3C0140C9 */ lui $at, (0x40C90FD0 >> 16)
/* A04C 8002EC4C 34210FD0 */ ori $at, $at, (0x40C90FD0 & 0xFFFF)
/* A050 8002EC50 4481B000 */ mtc1 $at, $f22
/* A054 8002EC54 00000000 */ nop
/* A058 8002EC58 46160002 */ mul.s $f0, $f0, $f22
/* A05C 8002EC5C 00000000 */ nop
/* A060 8002EC60 4480C000 */ mtc1 $zero, $f24
/* A064 8002EC64 C6040048 */ lwc1 $f4, 0x48($s0)
/* A068 8002EC68 3C0143B4 */ lui $at, (0x43B40000 >> 16)
/* A06C 8002EC6C 44819000 */ mtc1 $at, $f18
/* A070 8002EC70 46022100 */ add.s $f4, $f4, $f2
/* A074 8002EC74 C602004C */ lwc1 $f2, 0x4C($s0)
/* A078 8002EC78 46120683 */ div.s $f26, $f0, $f18
/* A07C 8002EC7C 46061080 */ add.s $f2, $f2, $f6
/* A080 8002EC80 C6000050 */ lwc1 $f0, 0x50($s0)
/* A084 8002EC84 4600D306 */ mov.s $f12, $f26
/* A088 8002EC88 46080000 */ add.s $f0, $f0, $f8
/* A08C 8002EC8C E6040048 */ swc1 $f4, 0x48($s0)
/* A090 8002EC90 E602004C */ swc1 $f2, 0x4C($s0)
/* A094 8002EC94 0C00A84B */ jal sin_rad
/* A098 8002EC98 E6000050 */ swc1 $f0, 0x50($s0)
/* A09C 8002EC9C 46000786 */ mov.s $f30, $f0
/* A0A0 8002ECA0 0C00A864 */ jal cos_rad
/* A0A4 8002ECA4 4600D306 */ mov.s $f12, $f26
/* A0A8 8002ECA8 46000306 */ mov.s $f12, $f0
/* A0AC 8002ECAC 46186202 */ mul.s $f8, $f12, $f24
/* A0B0 8002ECB0 00000000 */ nop
/* A0B4 8002ECB4 4600C087 */ neg.s $f2, $f24
/* A0B8 8002ECB8 4602F082 */ mul.s $f2, $f30, $f2
/* A0BC 8002ECBC 00000000 */ nop
/* A0C0 8002ECC0 C61C0078 */ lwc1 $f28, 0x78($s0)
/* A0C4 8002ECC4 461EE102 */ mul.s $f4, $f28, $f30
/* A0C8 8002ECC8 00000000 */ nop
/* A0CC 8002ECCC 460CE182 */ mul.s $f6, $f28, $f12
/* A0D0 8002ECD0 00000000 */ nop
/* A0D4 8002ECD4 C6000070 */ lwc1 $f0, 0x70($s0)
/* A0D8 8002ECD8 46160002 */ mul.s $f0, $f0, $f22
/* A0DC 8002ECDC 00000000 */ nop
/* A0E0 8002ECE0 4600C286 */ mov.s $f10, $f24
/* A0E4 8002ECE4 3C0143B4 */ lui $at, (0x43B40000 >> 16)
/* A0E8 8002ECE8 44819000 */ mtc1 $at, $f18
/* A0EC 8002ECEC 46005586 */ mov.s $f22, $f10
/* A0F0 8002ECF0 46044600 */ add.s $f24, $f8, $f4
/* A0F4 8002ECF4 46120683 */ div.s $f26, $f0, $f18
/* A0F8 8002ECF8 4600D306 */ mov.s $f12, $f26
/* A0FC 8002ECFC 0C00A84B */ jal sin_rad
/* A100 8002ED00 46061700 */ add.s $f28, $f2, $f6
/* A104 8002ED04 46000786 */ mov.s $f30, $f0
/* A108 8002ED08 0C00A864 */ jal cos_rad
/* A10C 8002ED0C 4600D306 */ mov.s $f12, $f26
/* A110 8002ED10 46000306 */ mov.s $f12, $f0
/* A114 8002ED14 461EE002 */ mul.s $f0, $f28, $f30
/* A118 8002ED18 00000000 */ nop
/* A11C 8002ED1C C602004C */ lwc1 $f2, 0x4C($s0)
/* A120 8002ED20 46181400 */ add.s $f16, $f2, $f24
/* A124 8002ED24 C6020040 */ lwc1 $f2, 0x40($s0)
/* A128 8002ED28 46028081 */ sub.s $f2, $f16, $f2
/* A12C 8002ED2C 46141402 */ mul.s $f16, $f2, $f20
/* A130 8002ED30 00000000 */ nop
/* A134 8002ED34 46166082 */ mul.s $f2, $f12, $f22
/* A138 8002ED38 00000000 */ nop
/* A13C 8002ED3C 46001281 */ sub.s $f10, $f2, $f0
/* A140 8002ED40 4616F082 */ mul.s $f2, $f30, $f22
/* A144 8002ED44 00000000 */ nop
/* A148 8002ED48 C6000048 */ lwc1 $f0, 0x48($s0)
/* A14C 8002ED4C 460A0100 */ add.s $f4, $f0, $f10
/* A150 8002ED50 C600003C */ lwc1 $f0, 0x3C($s0)
/* A154 8002ED54 46002001 */ sub.s $f0, $f4, $f0
/* A158 8002ED58 46140102 */ mul.s $f4, $f0, $f20
/* A15C 8002ED5C 00000000 */ nop
/* A160 8002ED60 460CE002 */ mul.s $f0, $f28, $f12
/* A164 8002ED64 00000000 */ nop
/* A168 8002ED68 46001080 */ add.s $f2, $f2, $f0
/* A16C 8002ED6C C6000050 */ lwc1 $f0, 0x50($s0)
/* A170 8002ED70 46020200 */ add.s $f8, $f0, $f2
/* A174 8002ED74 C6000044 */ lwc1 $f0, 0x44($s0)
/* A178 8002ED78 46004001 */ sub.s $f0, $f8, $f0
/* A17C 8002ED7C 46140202 */ mul.s $f8, $f0, $f20
/* A180 8002ED80 00000000 */ nop
/* A184 8002ED84 3C014180 */ lui $at, (0x41800000 >> 16)
/* A188 8002ED88 44811000 */ mtc1 $at, $f2
/* A18C 8002ED8C 46002005 */ abs.s $f0, $f4
/* A190 8002ED90 4600103C */ c.lt.s $f2, $f0
/* A194 8002ED94 00000000 */ nop
/* A198 8002ED98 4502000A */ bc1fl .LJP_8002EDC4
/* A19C 8002ED9C 46008005 */ abs.s $f0, $f16
/* A1A0 8002EDA0 4616203C */ c.lt.s $f4, $f22
/* A1A4 8002EDA4 00000000 */ nop
/* A1A8 8002EDA8 45000005 */ bc1f .LJP_8002EDC0
/* A1AC 8002EDAC 46001106 */ mov.s $f4, $f2
/* A1B0 8002EDB0 3C01C180 */ lui $at, (0xC1800000 >> 16)
/* A1B4 8002EDB4 44812000 */ mtc1 $at, $f4
/* A1B8 8002EDB8 3C014180 */ lui $at, (0x41800000 >> 16)
/* A1BC 8002EDBC 44811000 */ mtc1 $at, $f2
.LJP_8002EDC0:
/* A1C0 8002EDC0 46008005 */ abs.s $f0, $f16
.LJP_8002EDC4:
/* A1C4 8002EDC4 4600103C */ c.lt.s $f2, $f0
/* A1C8 8002EDC8 00000000 */ nop
/* A1CC 8002EDCC 45000009 */ bc1f .LJP_8002EDF4
/* A1D0 8002EDD0 00000000 */ nop
/* A1D4 8002EDD4 44800000 */ mtc1 $zero, $f0
/* A1D8 8002EDD8 00000000 */ nop
/* A1DC 8002EDDC 4600803C */ c.lt.s $f16, $f0
/* A1E0 8002EDE0 00000000 */ nop
/* A1E4 8002EDE4 45000003 */ bc1f .LJP_8002EDF4
/* A1E8 8002EDE8 46001406 */ mov.s $f16, $f2
/* A1EC 8002EDEC 3C01C180 */ lui $at, (0xC1800000 >> 16)
/* A1F0 8002EDF0 44818000 */ mtc1 $at, $f16
.LJP_8002EDF4:
/* A1F4 8002EDF4 3C014180 */ lui $at, (0x41800000 >> 16)
/* A1F8 8002EDF8 44811000 */ mtc1 $at, $f2
/* A1FC 8002EDFC 46004005 */ abs.s $f0, $f8
/* A200 8002EE00 4600103C */ c.lt.s $f2, $f0
/* A204 8002EE04 00000000 */ nop
/* A208 8002EE08 45000009 */ bc1f .LJP_8002EE30
/* A20C 8002EE0C 00000000 */ nop
/* A210 8002EE10 44800000 */ mtc1 $zero, $f0
/* A214 8002EE14 00000000 */ nop
/* A218 8002EE18 4600403C */ c.lt.s $f8, $f0
/* A21C 8002EE1C 00000000 */ nop
/* A220 8002EE20 45000003 */ bc1f .LJP_8002EE30
/* A224 8002EE24 46001206 */ mov.s $f8, $f2
/* A228 8002EE28 3C01C180 */ lui $at, (0xC1800000 >> 16)
/* A22C 8002EE2C 44814000 */ mtc1 $at, $f8
.LJP_8002EE30:
/* A230 8002EE30 C600003C */ lwc1 $f0, 0x3C($s0)
/* A234 8002EE34 46040000 */ add.s $f0, $f0, $f4
/* A238 8002EE38 C60E0044 */ lwc1 $f14, 0x44($s0)
/* A23C 8002EE3C 8E060048 */ lw $a2, 0x48($s0)
/* A240 8002EE40 46087380 */ add.s $f14, $f14, $f8
/* A244 8002EE44 C6020040 */ lwc1 $f2, 0x40($s0)
/* A248 8002EE48 8E070050 */ lw $a3, 0x50($s0)
/* A24C 8002EE4C 46101080 */ add.s $f2, $f2, $f16
/* A250 8002EE50 E600003C */ swc1 $f0, 0x3C($s0)
/* A254 8002EE54 46000306 */ mov.s $f12, $f0
/* A258 8002EE58 E6020040 */ swc1 $f2, 0x40($s0)
/* A25C 8002EE5C 0C00A710 */ jal atan2
/* A260 8002EE60 E60E0044 */ swc1 $f14, 0x44($s0)
/* A264 8002EE64 C6040048 */ lwc1 $f4, 0x48($s0)
/* A268 8002EE68 4480A000 */ mtc1 $zero, $f20
/* A26C 8002EE6C C602003C */ lwc1 $f2, 0x3C($s0)
/* A270 8002EE70 E600006C */ swc1 $f0, 0x6C($s0)
/* A274 8002EE74 46022581 */ sub.s $f22, $f4, $f2
/* A278 8002EE78 C6040050 */ lwc1 $f4, 0x50($s0)
/* A27C 8002EE7C C6020044 */ lwc1 $f2, 0x44($s0)
/* A280 8002EE80 4600A306 */ mov.s $f12, $f20
/* A284 8002EE84 46022701 */ sub.s $f28, $f4, $f2
/* A288 8002EE88 C604004C */ lwc1 $f4, 0x4C($s0)
/* A28C 8002EE8C C6020040 */ lwc1 $f2, 0x40($s0)
/* A290 8002EE90 4406B000 */ mfc1 $a2, $f22
/* A294 8002EE94 46022601 */ sub.s $f24, $f4, $f2
/* A298 8002EE98 4407E000 */ mfc1 $a3, $f28
/* A29C 8002EE9C 0C00A710 */ jal atan2
/* A2A0 8002EEA0 4600A386 */ mov.s $f14, $f20
/* A2A4 8002EEA4 4616B102 */ mul.s $f4, $f22, $f22
/* A2A8 8002EEA8 00000000 */ nop
/* A2AC 8002EEAC 461CE082 */ mul.s $f2, $f28, $f28
/* A2B0 8002EEB0 00000000 */ nop
/* A2B4 8002EEB4 46022300 */ add.s $f12, $f4, $f2
/* A2B8 8002EEB8 46000007 */ neg.s $f0, $f0
/* A2BC 8002EEBC E6000090 */ swc1 $f0, 0x90($s0)
/* A2C0 8002EEC0 46006004 */ sqrt.s $f0, $f12
/* A2C4 8002EEC4 46000032 */ c.eq.s $f0, $f0
/* A2C8 8002EEC8 00000000 */ nop
/* A2CC 8002EECC 45030004 */ bc1tl .LJP_8002EEE0
/* A2D0 8002EED0 4600A306 */ mov.s $f12, $f20
/* A2D4 8002EED4 0C0187B0 */ jal sqrtf
/* A2D8 8002EED8 00000000 */ nop
/* A2DC 8002EEDC 4600A306 */ mov.s $f12, $f20
.LJP_8002EEE0:
/* A2E0 8002EEE0 46000007 */ neg.s $f0, $f0
/* A2E4 8002EEE4 4406C000 */ mfc1 $a2, $f24
/* A2E8 8002EEE8 44070000 */ mfc1 $a3, $f0
/* A2EC 8002EEEC 0C00A710 */ jal atan2
/* A2F0 8002EEF0 46006386 */ mov.s $f14, $f12
/* A2F4 8002EEF4 E6000094 */ swc1 $f0, 0x94($s0)
/* A2F8 8002EEF8 8FBF0014 */ lw $ra, 0x14($sp)
/* A2FC 8002EEFC 8FB00010 */ lw $s0, 0x10($sp)
/* A300 8002EF00 D7BE0040 */ ldc1 $f30, 0x40($sp)
/* A304 8002EF04 D7BC0038 */ ldc1 $f28, 0x38($sp)
/* A308 8002EF08 D7BA0030 */ ldc1 $f26, 0x30($sp)
/* A30C 8002EF0C D7B80028 */ ldc1 $f24, 0x28($sp)
/* A310 8002EF10 D7B60020 */ ldc1 $f22, 0x20($sp)
/* A314 8002EF14 D7B40018 */ ldc1 $f20, 0x18($sp)
/* A318 8002EF18 03E00008 */ jr $ra
/* A31C 8002EF1C 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel blast_appendGfx
/* 37D684 E007C1F4 27BDFEF0 */ addiu $sp, $sp, -0x110
/* 37D688 E007C1F8 0080302D */ daddu $a2, $a0, $zero
/* 37D68C E007C1FC 3C07DB06 */ lui $a3, 0xdb06
/* 37D690 E007C200 34E70024 */ ori $a3, $a3, 0x24
/* 37D694 E007C204 27A40018 */ addiu $a0, $sp, 0x18
/* 37D698 E007C208 AFB300E4 */ sw $s3, 0xe4($sp)
/* 37D69C E007C20C 3C130001 */ lui $s3, 1
/* 37D6A0 E007C210 AFB400E8 */ sw $s4, 0xe8($sp)
/* 37D6A4 E007C214 3C14800A */ lui $s4, %hi(gMainGfxPos)
/* 37D6A8 E007C218 2694A66C */ addiu $s4, $s4, %lo(gMainGfxPos)
/* 37D6AC E007C21C AFBF00F0 */ sw $ra, 0xf0($sp)
/* 37D6B0 E007C220 AFB500EC */ sw $s5, 0xec($sp)
/* 37D6B4 E007C224 AFB200E0 */ sw $s2, 0xe0($sp)
/* 37D6B8 E007C228 AFB100DC */ sw $s1, 0xdc($sp)
/* 37D6BC E007C22C AFB000D8 */ sw $s0, 0xd8($sp)
/* 37D6C0 E007C230 F7B80108 */ sdc1 $f24, 0x108($sp)
/* 37D6C4 E007C234 F7B60100 */ sdc1 $f22, 0x100($sp)
/* 37D6C8 E007C238 F7B400F8 */ sdc1 $f20, 0xf8($sp)
/* 37D6CC E007C23C 8E830000 */ lw $v1, ($s4)
/* 37D6D0 E007C240 8CD1000C */ lw $s1, 0xc($a2)
/* 37D6D4 E007C244 3C014380 */ lui $at, 0x4380
/* 37D6D8 E007C248 4481C000 */ mtc1 $at, $f24
/* 37D6DC E007C24C 0060282D */ daddu $a1, $v1, $zero
/* 37D6E0 E007C250 24630008 */ addiu $v1, $v1, 8
/* 37D6E4 E007C254 AE830000 */ sw $v1, ($s4)
/* 37D6E8 E007C258 C6220020 */ lwc1 $f2, 0x20($s1)
/* 37D6EC E007C25C 3C02E700 */ lui $v0, 0xe700
/* 37D6F0 E007C260 ACA20000 */ sw $v0, ($a1)
/* 37D6F4 E007C264 24620008 */ addiu $v0, $v1, 8
/* 37D6F8 E007C268 ACA00004 */ sw $zero, 4($a1)
/* 37D6FC E007C26C AE820000 */ sw $v0, ($s4)
/* 37D700 E007C270 24620010 */ addiu $v0, $v1, 0x10
/* 37D704 E007C274 AC670000 */ sw $a3, ($v1)
/* 37D708 E007C278 AE820000 */ sw $v0, ($s4)
/* 37D70C E007C27C 24620018 */ addiu $v0, $v1, 0x18
/* 37D710 E007C280 8CC50010 */ lw $a1, 0x10($a2)
/* 37D714 E007C284 3C06DE00 */ lui $a2, 0xde00
/* 37D718 E007C288 AE820000 */ sw $v0, ($s4)
/* 37D71C E007C28C 8CA5001C */ lw $a1, 0x1c($a1)
/* 37D720 E007C290 3C020900 */ lui $v0, %hi(D_09001300_37ECD0)
/* 37D724 E007C294 24421300 */ addiu $v0, $v0, %lo(D_09001300_37ECD0)
/* 37D728 E007C298 AC62000C */ sw $v0, 0xc($v1)
/* 37D72C E007C29C 3C028000 */ lui $v0, 0x8000
/* 37D730 E007C2A0 AC660008 */ sw $a2, 8($v1)
/* 37D734 E007C2A4 AC660010 */ sw $a2, 0x10($v1)
/* 37D738 E007C2A8 00A22821 */ addu $a1, $a1, $v0
/* 37D73C E007C2AC 4600110D */ trunc.w.s $f4, $f2
/* 37D740 E007C2B0 44022000 */ mfc1 $v0, $f4
/* 37D744 E007C2B4 00000000 */ nop
/* 37D748 E007C2B8 44820000 */ mtc1 $v0, $f0
/* 37D74C E007C2BC 00000000 */ nop
/* 37D750 E007C2C0 46800020 */ cvt.s.w $f0, $f0
/* 37D754 E007C2C4 00021080 */ sll $v0, $v0, 2
/* 37D758 E007C2C8 46001081 */ sub.s $f2, $f2, $f0
/* 37D75C E007C2CC AC650004 */ sw $a1, 4($v1)
/* 37D760 E007C2D0 3C01E008 */ lui $at, %hi(D_E007C510)
/* 37D764 E007C2D4 00220821 */ addu $at, $at, $v0
/* 37D768 E007C2D8 8C22C510 */ lw $v0, %lo(D_E007C510)($at)
/* 37D76C E007C2DC 46181082 */ mul.s $f2, $f2, $f24
/* 37D770 E007C2E0 00000000 */ nop
/* 37D774 E007C2E4 AC620014 */ sw $v0, 0x14($v1)
/* 37D778 E007C2E8 8E250004 */ lw $a1, 4($s1)
/* 37D77C E007C2EC 8E260008 */ lw $a2, 8($s1)
/* 37D780 E007C2F0 8E27000C */ lw $a3, 0xc($s1)
/* 37D784 E007C2F4 4600110D */ trunc.w.s $f4, $f2
/* 37D788 E007C2F8 44152000 */ mfc1 $s5, $f4
/* 37D78C E007C2FC 0C080108 */ jal shim_guTranslateF
/* 37D790 E007C300 36731630 */ ori $s3, $s3, 0x2230
/* 37D794 E007C304 27B00058 */ addiu $s0, $sp, 0x58
/* 37D798 E007C308 4480B000 */ mtc1 $zero, $f22
/* 37D79C E007C30C 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 37D7A0 E007C310 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 37D7A4 E007C314 3C013F80 */ lui $at, 0x3f80
/* 37D7A8 E007C318 4481A000 */ mtc1 $at, $f20
/* 37D7AC E007C31C 00031080 */ sll $v0, $v1, 2
/* 37D7B0 E007C320 00431021 */ addu $v0, $v0, $v1
/* 37D7B4 E007C324 00021080 */ sll $v0, $v0, 2
/* 37D7B8 E007C328 00431023 */ subu $v0, $v0, $v1
/* 37D7BC E007C32C 000218C0 */ sll $v1, $v0, 3
/* 37D7C0 E007C330 00431021 */ addu $v0, $v0, $v1
/* 37D7C4 E007C334 000210C0 */ sll $v0, $v0, 3
/* 37D7C8 E007C338 4406B000 */ mfc1 $a2, $f22
/* 37D7CC E007C33C 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 37D7D0 E007C340 00220821 */ addu $at, $at, $v0
/* 37D7D4 E007C344 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 37D7D8 E007C348 4407A000 */ mfc1 $a3, $f20
/* 37D7DC E007C34C 46000007 */ neg.s $f0, $f0
/* 37D7E0 E007C350 44050000 */ mfc1 $a1, $f0
/* 37D7E4 E007C354 0200202D */ daddu $a0, $s0, $zero
/* 37D7E8 E007C358 0C080104 */ jal shim_guRotateF
/* 37D7EC E007C35C E7B60010 */ swc1 $f22, 0x10($sp)
/* 37D7F0 E007C360 0200202D */ daddu $a0, $s0, $zero
/* 37D7F4 E007C364 27A50018 */ addiu $a1, $sp, 0x18
/* 37D7F8 E007C368 27B00098 */ addiu $s0, $sp, 0x98
/* 37D7FC E007C36C 0C080114 */ jal shim_guMtxCatF
/* 37D800 E007C370 0200302D */ daddu $a2, $s0, $zero
/* 37D804 E007C374 27A40018 */ addiu $a0, $sp, 0x18
/* 37D808 E007C378 8E250010 */ lw $a1, 0x10($s1)
/* 37D80C E007C37C 4407A000 */ mfc1 $a3, $f20
/* 37D810 E007C380 0C080110 */ jal shim_guScaleF
/* 37D814 E007C384 00A0302D */ daddu $a2, $a1, $zero
/* 37D818 E007C388 27A40018 */ addiu $a0, $sp, 0x18
/* 37D81C E007C38C 0200282D */ daddu $a1, $s0, $zero
/* 37D820 E007C390 0C080114 */ jal shim_guMtxCatF
/* 37D824 E007C394 0200302D */ daddu $a2, $s0, $zero
/* 37D828 E007C398 4406B000 */ mfc1 $a2, $f22
/* 37D82C E007C39C 27A40018 */ addiu $a0, $sp, 0x18
/* 37D830 E007C3A0 E7B40010 */ swc1 $f20, 0x10($sp)
/* 37D834 E007C3A4 8E250024 */ lw $a1, 0x24($s1)
/* 37D838 E007C3A8 0C080104 */ jal shim_guRotateF
/* 37D83C E007C3AC 00C0382D */ daddu $a3, $a2, $zero
/* 37D840 E007C3B0 27A40018 */ addiu $a0, $sp, 0x18
/* 37D844 E007C3B4 0200282D */ daddu $a1, $s0, $zero
/* 37D848 E007C3B8 0C080114 */ jal shim_guMtxCatF
/* 37D84C E007C3BC 0200302D */ daddu $a2, $s0, $zero
/* 37D850 E007C3C0 0200202D */ daddu $a0, $s0, $zero
/* 37D854 E007C3C4 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 37D858 E007C3C8 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 37D85C E007C3CC 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 37D860 E007C3D0 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 37D864 E007C3D4 96050000 */ lhu $a1, ($s0)
/* 37D868 E007C3D8 8E420000 */ lw $v0, ($s2)
/* 37D86C E007C3DC 00052980 */ sll $a1, $a1, 6
/* 37D870 E007C3E0 00B32821 */ addu $a1, $a1, $s3
/* 37D874 E007C3E4 0C080118 */ jal shim_guMtxF2L
/* 37D878 E007C3E8 00452821 */ addu $a1, $v0, $a1
/* 37D87C E007C3EC 8E850000 */ lw $a1, ($s4)
/* 37D880 E007C3F0 3C014080 */ lui $at, 0x4080
/* 37D884 E007C3F4 44810000 */ mtc1 $at, $f0
/* 37D888 E007C3F8 00A0202D */ daddu $a0, $a1, $zero
/* 37D88C E007C3FC 24A50008 */ addiu $a1, $a1, 8
/* 37D890 E007C400 AE850000 */ sw $a1, ($s4)
/* 37D894 E007C404 96020000 */ lhu $v0, ($s0)
/* 37D898 E007C408 3C03DA38 */ lui $v1, 0xda38
/* 37D89C E007C40C AC830000 */ sw $v1, ($a0)
/* 37D8A0 E007C410 24430001 */ addiu $v1, $v0, 1
/* 37D8A4 E007C414 3042FFFF */ andi $v0, $v0, 0xffff
/* 37D8A8 E007C418 00021180 */ sll $v0, $v0, 6
/* 37D8AC E007C41C A6030000 */ sh $v1, ($s0)
/* 37D8B0 E007C420 8E430000 */ lw $v1, ($s2)
/* 37D8B4 E007C424 00531021 */ addu $v0, $v0, $s3
/* 37D8B8 E007C428 00621821 */ addu $v1, $v1, $v0
/* 37D8BC E007C42C AC830004 */ sw $v1, 4($a0)
/* 37D8C0 E007C430 C6220020 */ lwc1 $f2, 0x20($s1)
/* 37D8C4 E007C434 4602003C */ c.lt.s $f0, $f2
/* 37D8C8 E007C438 00000000 */ nop
/* 37D8CC E007C43C 45000006 */ bc1f .LE007C458
/* 37D8D0 E007C440 24A20008 */ addiu $v0, $a1, 8
/* 37D8D4 E007C444 AE820000 */ sw $v0, ($s4)
/* 37D8D8 E007C448 3C02FA00 */ lui $v0, 0xfa00
/* 37D8DC E007C44C ACA20000 */ sw $v0, ($a1)
/* 37D8E0 E007C450 0801F11A */ j .LE007C468
/* 37D8E4 E007C454 2402FF7F */ addiu $v0, $zero, -0x81
.LE007C458:
/* 37D8E8 E007C458 AE820000 */ sw $v0, ($s4)
/* 37D8EC E007C45C 3C02FA00 */ lui $v0, 0xfa00
/* 37D8F0 E007C460 ACA20000 */ sw $v0, ($a1)
/* 37D8F4 E007C464 2402807F */ addiu $v0, $zero, -0x7f81
.LE007C468:
/* 37D8F8 E007C468 ACA20004 */ sw $v0, 4($a1)
/* 37D8FC E007C46C 3C07D838 */ lui $a3, 0xd838
/* 37D900 E007C470 3C05800A */ lui $a1, %hi(gMainGfxPos)
/* 37D904 E007C474 24A5A66C */ addiu $a1, $a1, %lo(gMainGfxPos)
/* 37D908 E007C478 34E70002 */ ori $a3, $a3, 2
/* 37D90C E007C47C 3C02FB00 */ lui $v0, 0xfb00
/* 37D910 E007C480 8CA40000 */ lw $a0, ($a1)
/* 37D914 E007C484 24038B00 */ addiu $v1, $zero, -0x7500
/* 37D918 E007C488 0080302D */ daddu $a2, $a0, $zero
/* 37D91C E007C48C 24840008 */ addiu $a0, $a0, 8
/* 37D920 E007C490 ACA40000 */ sw $a0, ($a1)
/* 37D924 E007C494 ACC20000 */ sw $v0, ($a2)
/* 37D928 E007C498 32A200FF */ andi $v0, $s5, 0xff
/* 37D92C E007C49C 00431025 */ or $v0, $v0, $v1
/* 37D930 E007C4A0 ACC20004 */ sw $v0, 4($a2)
/* 37D934 E007C4A4 24820008 */ addiu $v0, $a0, 8
/* 37D938 E007C4A8 ACA20000 */ sw $v0, ($a1)
/* 37D93C E007C4AC 3C02DE00 */ lui $v0, 0xde00
/* 37D940 E007C4B0 AC820000 */ sw $v0, ($a0)
/* 37D944 E007C4B4 3C020900 */ lui $v0, %hi(D_090017B0_37F180)
/* 37D948 E007C4B8 244217B0 */ addiu $v0, $v0, %lo(D_090017B0_37F180)
/* 37D94C E007C4BC AC820004 */ sw $v0, 4($a0)
/* 37D950 E007C4C0 24820010 */ addiu $v0, $a0, 0x10
/* 37D954 E007C4C4 ACA20000 */ sw $v0, ($a1)
/* 37D958 E007C4C8 24020040 */ addiu $v0, $zero, 0x40
/* 37D95C E007C4CC AC870008 */ sw $a3, 8($a0)
/* 37D960 E007C4D0 AC82000C */ sw $v0, 0xc($a0)
/* 37D964 E007C4D4 8FBF00F0 */ lw $ra, 0xf0($sp)
/* 37D968 E007C4D8 8FB500EC */ lw $s5, 0xec($sp)
/* 37D96C E007C4DC 8FB400E8 */ lw $s4, 0xe8($sp)
/* 37D970 E007C4E0 8FB300E4 */ lw $s3, 0xe4($sp)
/* 37D974 E007C4E4 8FB200E0 */ lw $s2, 0xe0($sp)
/* 37D978 E007C4E8 8FB100DC */ lw $s1, 0xdc($sp)
/* 37D97C E007C4EC 8FB000D8 */ lw $s0, 0xd8($sp)
/* 37D980 E007C4F0 D7B80108 */ ldc1 $f24, 0x108($sp)
/* 37D984 E007C4F4 D7B60100 */ ldc1 $f22, 0x100($sp)
/* 37D988 E007C4F8 D7B400F8 */ ldc1 $f20, 0xf8($sp)
/* 37D98C E007C4FC 03E00008 */ jr $ra
/* 37D990 E007C500 27BD0110 */ addiu $sp, $sp, 0x110
/* 37D994 E007C504 00000000 */ nop
/* 37D998 E007C508 00000000 */ nop
/* 37D99C E007C50C 00000000 */ nop

View File

@ -1,551 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel underwater_appendGfx
/* 3B91F0 E00BA620 27BDFF28 */ addiu $sp, $sp, -0xd8
/* 3B91F4 E00BA624 3C06DB06 */ lui $a2, 0xdb06
/* 3B91F8 E00BA628 34C60024 */ ori $a2, $a2, 0x24
/* 3B91FC E00BA62C 3C07FF10 */ lui $a3, 0xff10
/* 3B9200 E00BA630 34E7013F */ ori $a3, $a3, 0x13f
/* 3B9204 E00BA634 0000682D */ daddu $t5, $zero, $zero
/* 3B9208 E00BA638 3C02800A */ lui $v0, %hi(gMainGfxPos)
/* 3B920C E00BA63C 2442A66C */ addiu $v0, $v0, %lo(gMainGfxPos)
/* 3B9210 E00BA640 0040402D */ daddu $t0, $v0, $zero
/* 3B9214 E00BA644 AFB200B8 */ sw $s2, 0xb8($sp)
/* 3B9218 E00BA648 3C12FD10 */ lui $s2, 0xfd10
/* 3B921C E00BA64C 3652013F */ ori $s2, $s2, 0x13f
/* 3B9220 E00BA650 3C18800A */ lui $t8, %hi(nuGfxCfb_ptr)
/* 3B9224 E00BA654 2718A64C */ addiu $t8, $t8, %lo(nuGfxCfb_ptr)
/* 3B9228 E00BA658 3C0CF510 */ lui $t4, 0xf510
/* 3B922C E00BA65C 358CA000 */ ori $t4, $t4, 0xa000
/* 3B9230 E00BA660 AFB700CC */ sw $s7, 0xcc($sp)
/* 3B9234 E00BA664 3C170700 */ lui $s7, 0x700
/* 3B9238 E00BA668 AFB500C4 */ sw $s5, 0xc4($sp)
/* 3B923C E00BA66C 3C15F400 */ lui $s5, 0xf400
/* 3B9240 E00BA670 AFB100B4 */ sw $s1, 0xb4($sp)
/* 3B9244 E00BA674 3C11074F */ lui $s1, 0x74f
/* 3B9248 E00BA678 3631C014 */ ori $s1, $s1, 0xc014
/* 3B924C E00BA67C 3C0EE700 */ lui $t6, 0xe700
/* 3B9250 E00BA680 AFB300BC */ sw $s3, 0xbc($sp)
/* 3B9254 E00BA684 3C13F200 */ lui $s3, 0xf200
/* 3B9258 E00BA688 AFB000B0 */ sw $s0, 0xb0($sp)
/* 3B925C E00BA68C 3C10004F */ lui $s0, 0x4f
/* 3B9260 E00BA690 3610C014 */ ori $s0, $s0, 0xc014
/* 3B9264 E00BA694 3C0FE44F */ lui $t7, 0xe44f
/* 3B9268 E00BA698 35EFC000 */ ori $t7, $t7, 0xc000
/* 3B926C E00BA69C 01A0582D */ daddu $t3, $t5, $zero
/* 3B9270 E00BA6A0 240A0014 */ addiu $t2, $zero, 0x14
/* 3B9274 E00BA6A4 01A0482D */ daddu $t1, $t5, $zero
/* 3B9278 E00BA6A8 01C0102D */ daddu $v0, $t6, $zero
/* 3B927C E00BA6AC AFBF00D4 */ sw $ra, 0xd4($sp)
/* 3B9280 E00BA6B0 AFBE00D0 */ sw $fp, 0xd0($sp)
/* 3B9284 E00BA6B4 AFB600C8 */ sw $s6, 0xc8($sp)
/* 3B9288 E00BA6B8 AFB400C0 */ sw $s4, 0xc0($sp)
/* 3B928C E00BA6BC 8D030000 */ lw $v1, ($t0)
/* 3B9290 E00BA6C0 8C94000C */ lw $s4, 0xc($a0)
/* 3B9294 E00BA6C4 0060282D */ daddu $a1, $v1, $zero
/* 3B9298 E00BA6C8 9299001F */ lbu $t9, 0x1f($s4)
/* 3B929C E00BA6CC 24630008 */ addiu $v1, $v1, 8
/* 3B92A0 E00BA6D0 AD030000 */ sw $v1, ($t0)
/* 3B92A4 E00BA6D4 ACA20000 */ sw $v0, ($a1)
/* 3B92A8 E00BA6D8 24620008 */ addiu $v0, $v1, 8
/* 3B92AC E00BA6DC ACA00004 */ sw $zero, 4($a1)
/* 3B92B0 E00BA6E0 AD020000 */ sw $v0, ($t0)
/* 3B92B4 E00BA6E4 AC660000 */ sw $a2, ($v1)
/* 3B92B8 E00BA6E8 8C840010 */ lw $a0, 0x10($a0)
/* 3B92BC E00BA6EC 24620010 */ addiu $v0, $v1, 0x10
/* 3B92C0 E00BA6F0 AD020000 */ sw $v0, ($t0)
/* 3B92C4 E00BA6F4 3C05800A */ lui $a1, %hi(nuGfxZBuffer)
/* 3B92C8 E00BA6F8 8CA5A5DC */ lw $a1, %lo(nuGfxZBuffer)($a1)
/* 3B92CC E00BA6FC 8C84001C */ lw $a0, 0x1c($a0)
/* 3B92D0 E00BA700 24620018 */ addiu $v0, $v1, 0x18
/* 3B92D4 E00BA704 AD020000 */ sw $v0, ($t0)
/* 3B92D8 E00BA708 3C02DE00 */ lui $v0, 0xde00
/* 3B92DC E00BA70C AC620010 */ sw $v0, 0x10($v1)
/* 3B92E0 E00BA710 3C020900 */ lui $v0, 0x900
/* 3B92E4 E00BA714 24420528 */ addiu $v0, $v0, 0x528
/* 3B92E8 E00BA718 AC620014 */ sw $v0, 0x14($v1)
/* 3B92EC E00BA71C 3C028000 */ lui $v0, 0x8000
/* 3B92F0 E00BA720 AC670008 */ sw $a3, 8($v1)
/* 3B92F4 E00BA724 AC65000C */ sw $a1, 0xc($v1)
/* 3B92F8 E00BA728 00822021 */ addu $a0, $a0, $v0
/* 3B92FC E00BA72C AC640004 */ sw $a0, 4($v1)
.LE00BA730:
/* 3B9300 E00BA730 3C071000 */ lui $a3, 0x1000
/* 3B9304 E00BA734 34E70400 */ ori $a3, $a3, 0x400
/* 3B9308 E00BA738 31660FFF */ andi $a2, $t3, 0xfff
/* 3B930C E00BA73C 256B0018 */ addiu $t3, $t3, 0x18
/* 3B9310 E00BA740 31450FFF */ andi $a1, $t2, 0xfff
/* 3B9314 E00BA744 254A0018 */ addiu $t2, $t2, 0x18
/* 3B9318 E00BA748 25AD0001 */ addiu $t5, $t5, 1
/* 3B931C E00BA74C 00AF2825 */ or $a1, $a1, $t7
/* 3B9320 E00BA750 8D020000 */ lw $v0, ($t0)
/* 3B9324 E00BA754 8F030000 */ lw $v1, ($t8)
/* 3B9328 E00BA758 0040202D */ daddu $a0, $v0, $zero
/* 3B932C E00BA75C 24420008 */ addiu $v0, $v0, 8
/* 3B9330 E00BA760 00691821 */ addu $v1, $v1, $t1
/* 3B9334 E00BA764 AD020000 */ sw $v0, ($t0)
/* 3B9338 E00BA768 AC830004 */ sw $v1, 4($a0)
/* 3B933C E00BA76C 24430008 */ addiu $v1, $v0, 8
/* 3B9340 E00BA770 AC920000 */ sw $s2, ($a0)
/* 3B9344 E00BA774 AD030000 */ sw $v1, ($t0)
/* 3B9348 E00BA778 24430010 */ addiu $v1, $v0, 0x10
/* 3B934C E00BA77C 3C16E600 */ lui $s6, 0xe600
/* 3B9350 E00BA780 AC4C0000 */ sw $t4, ($v0)
/* 3B9354 E00BA784 AC570004 */ sw $s7, 4($v0)
/* 3B9358 E00BA788 AD030000 */ sw $v1, ($t0)
/* 3B935C E00BA78C 24430018 */ addiu $v1, $v0, 0x18
/* 3B9360 E00BA790 AC560008 */ sw $s6, 8($v0)
/* 3B9364 E00BA794 AC40000C */ sw $zero, 0xc($v0)
/* 3B9368 E00BA798 AD030000 */ sw $v1, ($t0)
/* 3B936C E00BA79C 24430020 */ addiu $v1, $v0, 0x20
/* 3B9370 E00BA7A0 AC550010 */ sw $s5, 0x10($v0)
/* 3B9374 E00BA7A4 AC510014 */ sw $s1, 0x14($v0)
/* 3B9378 E00BA7A8 AD030000 */ sw $v1, ($t0)
/* 3B937C E00BA7AC 24430028 */ addiu $v1, $v0, 0x28
/* 3B9380 E00BA7B0 AC4E0018 */ sw $t6, 0x18($v0)
/* 3B9384 E00BA7B4 AC40001C */ sw $zero, 0x1c($v0)
/* 3B9388 E00BA7B8 AD030000 */ sw $v1, ($t0)
/* 3B938C E00BA7BC 24430030 */ addiu $v1, $v0, 0x30
/* 3B9390 E00BA7C0 AC4C0020 */ sw $t4, 0x20($v0)
/* 3B9394 E00BA7C4 AC400024 */ sw $zero, 0x24($v0)
/* 3B9398 E00BA7C8 AD030000 */ sw $v1, ($t0)
/* 3B939C E00BA7CC 24430038 */ addiu $v1, $v0, 0x38
/* 3B93A0 E00BA7D0 AC530028 */ sw $s3, 0x28($v0)
/* 3B93A4 E00BA7D4 AC50002C */ sw $s0, 0x2c($v0)
/* 3B93A8 E00BA7D8 AD030000 */ sw $v1, ($t0)
/* 3B93AC E00BA7DC 24430040 */ addiu $v1, $v0, 0x40
/* 3B93B0 E00BA7E0 AC450030 */ sw $a1, 0x30($v0)
/* 3B93B4 E00BA7E4 AC460034 */ sw $a2, 0x34($v0)
/* 3B93B8 E00BA7E8 AD030000 */ sw $v1, ($t0)
/* 3B93BC E00BA7EC 3C03E100 */ lui $v1, 0xe100
/* 3B93C0 E00BA7F0 AC430038 */ sw $v1, 0x38($v0)
/* 3B93C4 E00BA7F4 24430048 */ addiu $v1, $v0, 0x48
/* 3B93C8 E00BA7F8 AC40003C */ sw $zero, 0x3c($v0)
/* 3B93CC E00BA7FC AD030000 */ sw $v1, ($t0)
/* 3B93D0 E00BA800 3C03F100 */ lui $v1, 0xf100
/* 3B93D4 E00BA804 AC430040 */ sw $v1, 0x40($v0)
/* 3B93D8 E00BA808 24430050 */ addiu $v1, $v0, 0x50
/* 3B93DC E00BA80C AC470044 */ sw $a3, 0x44($v0)
/* 3B93E0 E00BA810 AD030000 */ sw $v1, ($t0)
/* 3B93E4 E00BA814 AC4E0048 */ sw $t6, 0x48($v0)
/* 3B93E8 E00BA818 AC40004C */ sw $zero, 0x4c($v0)
/* 3B93EC E00BA81C 29A20028 */ slti $v0, $t5, 0x28
/* 3B93F0 E00BA820 1440FFC3 */ bnez $v0, .LE00BA730
/* 3B93F4 E00BA824 25290F00 */ addiu $t1, $t1, 0xf00
/* 3B93F8 E00BA828 3C06FF10 */ lui $a2, 0xff10
/* 3B93FC E00BA82C 34C6013F */ ori $a2, $a2, 0x13f
/* 3B9400 E00BA830 3C0AE300 */ lui $t2, 0xe300
/* 3B9404 E00BA834 354A0A01 */ ori $t2, $t2, 0xa01
/* 3B9408 E00BA838 3C0CFC35 */ lui $t4, 0xfc35
/* 3B940C E00BA83C 358C7E6A */ ori $t4, $t4, 0x7e6a
/* 3B9410 E00BA840 3C0BFFFC */ lui $t3, 0xfffc
/* 3B9414 E00BA844 356BF87C */ ori $t3, $t3, 0xf87c
/* 3B9418 E00BA848 3C0DFD10 */ lui $t5, 0xfd10
/* 3B941C E00BA84C 35AD013F */ ori $t5, $t5, 0x13f
/* 3B9420 E00BA850 3C0FE200 */ lui $t7, 0xe200
/* 3B9424 E00BA854 35EF001C */ ori $t7, $t7, 0x1c
/* 3B9428 E00BA858 3C0E0F0A */ lui $t6, 0xf0a
/* 3B942C E00BA85C 35CE4300 */ ori $t6, $t6, 0x4300
/* 3B9430 E00BA860 3C11E300 */ lui $s1, 0xe300
/* 3B9434 E00BA864 36310C00 */ ori $s1, $s1, 0xc00
/* 3B9438 E00BA868 3C12E300 */ lui $s2, 0xe300
/* 3B943C E00BA86C 36521201 */ ori $s2, $s2, 0x1201
/* 3B9440 E00BA870 27A40020 */ addiu $a0, $sp, 0x20
/* 3B9444 E00BA874 3C130001 */ lui $s3, 1
/* 3B9448 E00BA878 36731630 */ ori $s3, $s3, 0x2230
/* 3B944C E00BA87C 3C10800A */ lui $s0, %hi(gMainGfxPos)
/* 3B9450 E00BA880 2610A66C */ addiu $s0, $s0, %lo(gMainGfxPos)
/* 3B9454 E00BA884 8E080000 */ lw $t0, ($s0)
/* 3B9458 E00BA888 3C05C2A0 */ lui $a1, 0xc2a0
/* 3B945C E00BA88C 3C03800A */ lui $v1, %hi(nuGfxCfb_ptr)
/* 3B9460 E00BA890 8C63A64C */ lw $v1, %lo(nuGfxCfb_ptr)($v1)
/* 3B9464 E00BA894 3C01C270 */ lui $at, 0xc270
/* 3B9468 E00BA898 44810000 */ mtc1 $at, $f0
/* 3B946C E00BA89C 3C014320 */ lui $at, 0x4320
/* 3B9470 E00BA8A0 44811000 */ mtc1 $at, $f2
/* 3B9474 E00BA8A4 3C014420 */ lui $at, 0x4420
/* 3B9478 E00BA8A8 44812000 */ mtc1 $at, $f4
/* 3B947C E00BA8AC 3C013F80 */ lui $at, 0x3f80
/* 3B9480 E00BA8B0 44813000 */ mtc1 $at, $f6
/* 3B9484 E00BA8B4 0100102D */ daddu $v0, $t0, $zero
/* 3B9488 E00BA8B8 25080008 */ addiu $t0, $t0, 8
/* 3B948C E00BA8BC AE080000 */ sw $t0, ($s0)
/* 3B9490 E00BA8C0 AC460000 */ sw $a2, ($v0)
/* 3B9494 E00BA8C4 AC430004 */ sw $v1, 4($v0)
/* 3B9498 E00BA8C8 25020008 */ addiu $v0, $t0, 8
/* 3B949C E00BA8CC AE020000 */ sw $v0, ($s0)
/* 3B94A0 E00BA8D0 3C02FA00 */ lui $v0, 0xfa00
/* 3B94A4 E00BA8D4 AD020000 */ sw $v0, ($t0)
/* 3B94A8 E00BA8D8 9289001C */ lbu $t1, 0x1c($s4)
/* 3B94AC E00BA8DC 9286001D */ lbu $a2, 0x1d($s4)
/* 3B94B0 E00BA8E0 9287001E */ lbu $a3, 0x1e($s4)
/* 3B94B4 E00BA8E4 25020010 */ addiu $v0, $t0, 0x10
/* 3B94B8 E00BA8E8 AE020000 */ sw $v0, ($s0)
/* 3B94BC E00BA8EC 25020018 */ addiu $v0, $t0, 0x18
/* 3B94C0 E00BA8F0 AD0A0008 */ sw $t2, 8($t0)
/* 3B94C4 E00BA8F4 AD00000C */ sw $zero, 0xc($t0)
/* 3B94C8 E00BA8F8 AE020000 */ sw $v0, ($s0)
/* 3B94CC E00BA8FC 25020020 */ addiu $v0, $t0, 0x20
/* 3B94D0 E00BA900 AD0C0010 */ sw $t4, 0x10($t0)
/* 3B94D4 E00BA904 AD0B0014 */ sw $t3, 0x14($t0)
/* 3B94D8 E00BA908 AE020000 */ sw $v0, ($s0)
/* 3B94DC E00BA90C 3C02800A */ lui $v0, %hi(nuGfxZBuffer)
/* 3B94E0 E00BA910 8C42A5DC */ lw $v0, %lo(nuGfxZBuffer)($v0)
/* 3B94E4 E00BA914 3C038000 */ lui $v1, 0x8000
/* 3B94E8 E00BA918 AD0D0018 */ sw $t5, 0x18($t0)
/* 3B94EC E00BA91C 00431021 */ addu $v0, $v0, $v1
/* 3B94F0 E00BA920 AD02001C */ sw $v0, 0x1c($t0)
/* 3B94F4 E00BA924 25020028 */ addiu $v0, $t0, 0x28
/* 3B94F8 E00BA928 AE020000 */ sw $v0, ($s0)
/* 3B94FC E00BA92C 25020030 */ addiu $v0, $t0, 0x30
/* 3B9500 E00BA930 AD0F0020 */ sw $t7, 0x20($t0)
/* 3B9504 E00BA934 AD0E0024 */ sw $t6, 0x24($t0)
/* 3B9508 E00BA938 AE020000 */ sw $v0, ($s0)
/* 3B950C E00BA93C 3C020008 */ lui $v0, 8
/* 3B9510 E00BA940 AD02002C */ sw $v0, 0x2c($t0)
/* 3B9514 E00BA944 25020038 */ addiu $v0, $t0, 0x38
/* 3B9518 E00BA948 AD110028 */ sw $s1, 0x28($t0)
/* 3B951C E00BA94C AE020000 */ sw $v0, ($s0)
/* 3B9520 E00BA950 24022000 */ addiu $v0, $zero, 0x2000
/* 3B9524 E00BA954 00094E00 */ sll $t1, $t1, 0x18
/* 3B9528 E00BA958 00063400 */ sll $a2, $a2, 0x10
/* 3B952C E00BA95C 01264825 */ or $t1, $t1, $a2
/* 3B9530 E00BA960 00073A00 */ sll $a3, $a3, 8
/* 3B9534 E00BA964 01274825 */ or $t1, $t1, $a3
/* 3B9538 E00BA968 AD020034 */ sw $v0, 0x34($t0)
/* 3B953C E00BA96C 00191042 */ srl $v0, $t9, 1
/* 3B9540 E00BA970 3C0642A0 */ lui $a2, 0x42a0
/* 3B9544 E00BA974 3C074270 */ lui $a3, 0x4270
/* 3B9548 E00BA978 01224825 */ or $t1, $t1, $v0
/* 3B954C E00BA97C AD120030 */ sw $s2, 0x30($t0)
/* 3B9550 E00BA980 AD090004 */ sw $t1, 4($t0)
/* 3B9554 E00BA984 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3B9558 E00BA988 E7A20014 */ swc1 $f2, 0x14($sp)
/* 3B955C E00BA98C E7A40018 */ swc1 $f4, 0x18($sp)
/* 3B9560 E00BA990 0C080188 */ jal shim_guFrustumF
/* 3B9564 E00BA994 E7A6001C */ swc1 $f6, 0x1c($sp)
/* 3B9568 E00BA998 27A40020 */ addiu $a0, $sp, 0x20
/* 3B956C E00BA99C 3C118007 */ lui $s1, %hi(gMatrixListPos)
/* 3B9570 E00BA9A0 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos)
/* 3B9574 E00BA9A4 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 3B9578 E00BA9A8 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 3B957C E00BA9AC 96250000 */ lhu $a1, ($s1)
/* 3B9580 E00BA9B0 8E420000 */ lw $v0, ($s2)
/* 3B9584 E00BA9B4 00052980 */ sll $a1, $a1, 6
/* 3B9588 E00BA9B8 00B32821 */ addu $a1, $a1, $s3
/* 3B958C E00BA9BC 0C080118 */ jal shim_guMtxF2L
/* 3B9590 E00BA9C0 00452821 */ addu $a1, $v0, $a1
/* 3B9594 E00BA9C4 3C03DA38 */ lui $v1, 0xda38
/* 3B9598 E00BA9C8 34630007 */ ori $v1, $v1, 7
/* 3B959C E00BA9CC 3C06D9FD */ lui $a2, 0xd9fd
/* 3B95A0 E00BA9D0 34C6F9FF */ ori $a2, $a2, 0xf9ff
/* 3B95A4 E00BA9D4 3C08D9FF */ lui $t0, 0xd9ff
/* 3B95A8 E00BA9D8 3508FFFF */ ori $t0, $t0, 0xffff
/* 3B95AC E00BA9DC 3C070020 */ lui $a3, 0x20
/* 3B95B0 E00BA9E0 34E70004 */ ori $a3, $a3, 4
/* 3B95B4 E00BA9E4 3C090101 */ lui $t1, 0x101
/* 3B95B8 E00BA9E8 35290020 */ ori $t1, $t1, 0x20
/* 3B95BC E00BA9EC 0000702D */ daddu $t6, $zero, $zero
/* 3B95C0 E00BA9F0 3C150218 */ lui $s5, 0x218
/* 3B95C4 E00BA9F4 24190018 */ addiu $t9, $zero, 0x18
/* 3B95C8 E00BA9F8 8E040000 */ lw $a0, ($s0)
/* 3B95CC E00BA9FC 96220000 */ lhu $v0, ($s1)
/* 3B95D0 E00BAA00 0080282D */ daddu $a1, $a0, $zero
/* 3B95D4 E00BAA04 24840008 */ addiu $a0, $a0, 8
/* 3B95D8 E00BAA08 AE040000 */ sw $a0, ($s0)
/* 3B95DC E00BAA0C ACA30000 */ sw $v1, ($a1)
/* 3B95E0 E00BAA10 24430001 */ addiu $v1, $v0, 1
/* 3B95E4 E00BAA14 3042FFFF */ andi $v0, $v0, 0xffff
/* 3B95E8 E00BAA18 00021180 */ sll $v0, $v0, 6
/* 3B95EC E00BAA1C A6230000 */ sh $v1, ($s1)
/* 3B95F0 E00BAA20 8E430000 */ lw $v1, ($s2)
/* 3B95F4 E00BAA24 00531021 */ addu $v0, $v0, $s3
/* 3B95F8 E00BAA28 00621821 */ addu $v1, $v1, $v0
/* 3B95FC E00BAA2C 24820008 */ addiu $v0, $a0, 8
/* 3B9600 E00BAA30 ACA30004 */ sw $v1, 4($a1)
/* 3B9604 E00BAA34 AE020000 */ sw $v0, ($s0)
/* 3B9608 E00BAA38 24820010 */ addiu $v0, $a0, 0x10
/* 3B960C E00BAA3C AC860000 */ sw $a2, ($a0)
/* 3B9610 E00BAA40 AC800004 */ sw $zero, 4($a0)
/* 3B9614 E00BAA44 AE020000 */ sw $v0, ($s0)
/* 3B9618 E00BAA48 00991021 */ addu $v0, $a0, $t9
/* 3B961C E00BAA4C AC880008 */ sw $t0, 8($a0)
/* 3B9620 E00BAA50 AC87000C */ sw $a3, 0xc($a0)
/* 3B9624 E00BAA54 AE020000 */ sw $v0, ($s0)
/* 3B9628 E00BAA58 3C020900 */ lui $v0, 0x900
/* 3B962C E00BAA5C 24420428 */ addiu $v0, $v0, 0x428
/* 3B9630 E00BAA60 AC890010 */ sw $t1, 0x10($a0)
/* 3B9634 E00BAA64 AC820014 */ sw $v0, 0x14($a0)
.LE00BAA68:
/* 3B9638 E00BAA68 15C00004 */ bnez $t6, .LE00BAA7C
/* 3B963C E00BAA6C 0000902D */ daddu $s2, $zero, $zero
/* 3B9640 E00BAA70 2404FFFC */ addiu $a0, $zero, -4
/* 3B9644 E00BAA74 0802EAA0 */ j .LE00BAA80
/* 3B9648 E00BAA78 24120001 */ addiu $s2, $zero, 1
.LE00BAA7C:
/* 3B964C E00BAA7C 0000202D */ daddu $a0, $zero, $zero
.LE00BAA80:
/* 3B9650 E00BAA80 2402000B */ addiu $v0, $zero, 0xb
/* 3B9654 E00BAA84 15C20003 */ bne $t6, $v0, .LE00BAA94
/* 3B9658 E00BAA88 0000182D */ daddu $v1, $zero, $zero
/* 3B965C E00BAA8C 24030004 */ addiu $v1, $zero, 4
/* 3B9660 E00BAA90 24120001 */ addiu $s2, $zero, 1
.LE00BAA94:
/* 3B9664 E00BAA94 0000682D */ daddu $t5, $zero, $zero
/* 3B9668 E00BAA98 03241021 */ addu $v0, $t9, $a0
/* 3B966C E00BAA9C 0002C080 */ sll $t8, $v0, 2
/* 3B9670 E00BAAA0 33020FFF */ andi $v0, $t8, 0xfff
/* 3B9674 E00BAAA4 3C16F400 */ lui $s6, 0xf400
/* 3B9678 E00BAAA8 0056B025 */ or $s6, $v0, $s6
/* 3B967C E00BAAAC AFB600A0 */ sw $s6, 0xa0($sp)
/* 3B9680 E00BAAB0 03231821 */ addu $v1, $t9, $v1
/* 3B9684 E00BAAB4 24620010 */ addiu $v0, $v1, 0x10
/* 3B9688 E00BAAB8 00029880 */ sll $s3, $v0, 2
/* 3B968C E00BAABC 32620FFF */ andi $v0, $s3, 0xfff
/* 3B9690 E00BAAC0 3C160700 */ lui $s6, 0x700
/* 3B9694 E00BAAC4 0056F025 */ or $fp, $v0, $s6
/* 3B9698 E00BAAC8 2463001F */ addiu $v1, $v1, 0x1f
/* 3B969C E00BAACC 00031880 */ sll $v1, $v1, 2
/* 3B96A0 E00BAAD0 30770FFF */ andi $s7, $v1, 0xfff
/* 3B96A4 E00BAAD4 0012B023 */ negu $s6, $s2
/* 3B96A8 E00BAAD8 AFB600A8 */ sw $s6, 0xa8($sp)
.LE00BAADC:
/* 3B96AC E00BAADC 0000502D */ daddu $t2, $zero, $zero
/* 3B96B0 E00BAAE0 000D1100 */ sll $v0, $t5, 4
/* 3B96B4 E00BAAE4 15A00004 */ bnez $t5, .LE00BAAF8
/* 3B96B8 E00BAAE8 244F0010 */ addiu $t7, $v0, 0x10
/* 3B96BC E00BAAEC 240BFFFC */ addiu $t3, $zero, -4
/* 3B96C0 E00BAAF0 0802EABF */ j .LE00BAAFC
/* 3B96C4 E00BAAF4 240A0001 */ addiu $t2, $zero, 1
.LE00BAAF8:
/* 3B96C8 E00BAAF8 0000582D */ daddu $t3, $zero, $zero
.LE00BAAFC:
/* 3B96CC E00BAAFC 24020011 */ addiu $v0, $zero, 0x11
/* 3B96D0 E00BAB00 15A20003 */ bne $t5, $v0, .LE00BAB10
/* 3B96D4 E00BAB04 0000882D */ daddu $s1, $zero, $zero
/* 3B96D8 E00BAB08 24110004 */ addiu $s1, $zero, 4
/* 3B96DC E00BAB0C 240A0001 */ addiu $t2, $zero, 1
.LE00BAB10:
/* 3B96E0 E00BAB10 3C080709 */ lui $t0, 0x709
/* 3B96E4 E00BAB14 35088260 */ ori $t0, $t0, 0x8260
/* 3B96E8 E00BAB18 3C090009 */ lui $t1, 9
/* 3B96EC E00BAB1C 35298260 */ ori $t1, $t1, 0x8260
/* 3B96F0 E00BAB20 01F13021 */ addu $a2, $t7, $s1
/* 3B96F4 E00BAB24 01EB2021 */ addu $a0, $t7, $t3
/* 3B96F8 E00BAB28 2483FFF0 */ addiu $v1, $a0, -0x10
/* 3B96FC E00BAB2C 00C31823 */ subu $v1, $a2, $v1
/* 3B9700 E00BAB30 24630001 */ addiu $v1, $v1, 1
/* 3B9704 E00BAB34 00031840 */ sll $v1, $v1, 1
/* 3B9708 E00BAB38 24630007 */ addiu $v1, $v1, 7
/* 3B970C E00BAB3C 000318C3 */ sra $v1, $v1, 3
/* 3B9710 E00BAB40 306301FF */ andi $v1, $v1, 0x1ff
/* 3B9714 E00BAB44 00031A40 */ sll $v1, $v1, 9
/* 3B9718 E00BAB48 3C02F510 */ lui $v0, 0xf510
/* 3B971C E00BAB4C 00621825 */ or $v1, $v1, $v0
/* 3B9720 E00BAB50 00042080 */ sll $a0, $a0, 2
/* 3B9724 E00BAB54 30840FFF */ andi $a0, $a0, 0xfff
/* 3B9728 E00BAB58 8E050000 */ lw $a1, ($s0)
/* 3B972C E00BAB5C 00042300 */ sll $a0, $a0, 0xc
/* 3B9730 E00BAB60 00A0382D */ daddu $a3, $a1, $zero
/* 3B9734 E00BAB64 24A50008 */ addiu $a1, $a1, 8
/* 3B9738 E00BAB68 24A20008 */ addiu $v0, $a1, 8
/* 3B973C E00BAB6C AE050000 */ sw $a1, ($s0)
/* 3B9740 E00BAB70 ACE30000 */ sw $v1, ($a3)
/* 3B9744 E00BAB74 ACE80004 */ sw $t0, 4($a3)
/* 3B9748 E00BAB78 AE020000 */ sw $v0, ($s0)
/* 3B974C E00BAB7C 3C02E600 */ lui $v0, 0xe600
/* 3B9750 E00BAB80 ACA20000 */ sw $v0, ($a1)
/* 3B9754 E00BAB84 24A20010 */ addiu $v0, $a1, 0x10
/* 3B9758 E00BAB88 ACA00004 */ sw $zero, 4($a1)
/* 3B975C E00BAB8C AE020000 */ sw $v0, ($s0)
/* 3B9760 E00BAB90 24C20010 */ addiu $v0, $a2, 0x10
/* 3B9764 E00BAB94 00021080 */ sll $v0, $v0, 2
/* 3B9768 E00BAB98 30420FFF */ andi $v0, $v0, 0xfff
/* 3B976C E00BAB9C 00021300 */ sll $v0, $v0, 0xc
/* 3B9770 E00BABA0 8FB600A0 */ lw $s6, 0xa0($sp)
/* 3B9774 E00BABA4 005E1025 */ or $v0, $v0, $fp
/* 3B9778 E00BABA8 ACA2000C */ sw $v0, 0xc($a1)
/* 3B977C E00BABAC 24A20018 */ addiu $v0, $a1, 0x18
/* 3B9780 E00BABB0 24C6001F */ addiu $a2, $a2, 0x1f
/* 3B9784 E00BABB4 00063080 */ sll $a2, $a2, 2
/* 3B9788 E00BABB8 30C60FFF */ andi $a2, $a2, 0xfff
/* 3B978C E00BABBC 00063300 */ sll $a2, $a2, 0xc
/* 3B9790 E00BABC0 00D73025 */ or $a2, $a2, $s7
/* 3B9794 E00BABC4 00962025 */ or $a0, $a0, $s6
/* 3B9798 E00BABC8 3C16E700 */ lui $s6, 0xe700
/* 3B979C E00BABCC ACA40008 */ sw $a0, 8($a1)
/* 3B97A0 E00BABD0 AE020000 */ sw $v0, ($s0)
/* 3B97A4 E00BABD4 24A20020 */ addiu $v0, $a1, 0x20
/* 3B97A8 E00BABD8 ACB60010 */ sw $s6, 0x10($a1)
/* 3B97AC E00BABDC ACA00014 */ sw $zero, 0x14($a1)
/* 3B97B0 E00BABE0 AE020000 */ sw $v0, ($s0)
/* 3B97B4 E00BABE4 24A20028 */ addiu $v0, $a1, 0x28
/* 3B97B8 E00BABE8 ACA30018 */ sw $v1, 0x18($a1)
/* 3B97BC E00BABEC ACA9001C */ sw $t1, 0x1c($a1)
/* 3B97C0 E00BABF0 AE020000 */ sw $v0, ($s0)
/* 3B97C4 E00BABF4 3C02F200 */ lui $v0, 0xf200
/* 3B97C8 E00BABF8 ACA20020 */ sw $v0, 0x20($a1)
/* 3B97CC E00BABFC 11400003 */ beqz $t2, .LE00BAC0C
/* 3B97D0 E00BAC00 ACA60024 */ sw $a2, 0x24($a1)
/* 3B97D4 E00BAC04 16400005 */ bnez $s2, .LE00BAC1C
/* 3B97D8 E00BAC08 240C000C */ addiu $t4, $zero, 0xc
.LE00BAC0C:
/* 3B97DC E00BAC0C 15400003 */ bnez $t2, .LE00BAC1C
/* 3B97E0 E00BAC10 240C0004 */ addiu $t4, $zero, 4
/* 3B97E4 E00BAC14 8FB600A8 */ lw $s6, 0xa8($sp)
/* 3B97E8 E00BAC18 32CC0008 */ andi $t4, $s6, 8
.LE00BAC1C:
/* 3B97EC E00BAC1C 000D2840 */ sll $a1, $t5, 1
/* 3B97F0 E00BAC20 00AD2821 */ addu $a1, $a1, $t5
/* 3B97F4 E00BAC24 00052880 */ sll $a1, $a1, 2
/* 3B97F8 E00BAC28 00AD2821 */ addu $a1, $a1, $t5
/* 3B97FC E00BAC2C 25A20001 */ addiu $v0, $t5, 1
/* 3B9800 E00BAC30 0040682D */ daddu $t5, $v0, $zero
/* 3B9804 E00BAC34 000C5040 */ sll $t2, $t4, 1
/* 3B9808 E00BAC38 01551025 */ or $v0, $t2, $s5
/* 3B980C E00BAC3C 01EB4821 */ addu $t1, $t7, $t3
/* 3B9810 E00BAC40 00094C80 */ sll $t1, $t1, 0x12
/* 3B9814 E00BAC44 258B0001 */ addiu $t3, $t4, 1
/* 3B9818 E00BAC48 000B5840 */ sll $t3, $t3, 1
/* 3B981C E00BAC4C 25880002 */ addiu $t0, $t4, 2
/* 3B9820 E00BAC50 00084040 */ sll $t0, $t0, 1
/* 3B9824 E00BAC54 01F13821 */ addu $a3, $t7, $s1
/* 3B9828 E00BAC58 24E70010 */ addiu $a3, $a3, 0x10
/* 3B982C E00BAC5C 00073C80 */ sll $a3, $a3, 0x12
/* 3B9830 E00BAC60 8E060000 */ lw $a2, ($s0)
/* 3B9834 E00BAC64 000A5400 */ sll $t2, $t2, 0x10
/* 3B9838 E00BAC68 00C0202D */ daddu $a0, $a2, $zero
/* 3B983C E00BAC6C 24C60008 */ addiu $a2, $a2, 8
/* 3B9840 E00BAC70 AE060000 */ sw $a2, ($s0)
/* 3B9844 E00BAC74 AC820000 */ sw $v0, ($a0)
/* 3B9848 E00BAC78 01C51021 */ addu $v0, $t6, $a1
/* 3B984C E00BAC7C 02821021 */ addu $v0, $s4, $v0
/* 3B9850 E00BAC80 80430023 */ lb $v1, 0x23($v0)
/* 3B9854 E00BAC84 24C20008 */ addiu $v0, $a2, 8
/* 3B9858 E00BAC88 AE020000 */ sw $v0, ($s0)
/* 3B985C E00BAC8C 01751025 */ or $v0, $t3, $s5
/* 3B9860 E00BAC90 24A50001 */ addiu $a1, $a1, 1
/* 3B9864 E00BAC94 01C52821 */ addu $a1, $t6, $a1
/* 3B9868 E00BAC98 02852821 */ addu $a1, $s4, $a1
/* 3B986C E00BAC9C 03031821 */ addu $v1, $t8, $v1
/* 3B9870 E00BACA0 01231825 */ or $v1, $t1, $v1
/* 3B9874 E00BACA4 AC830004 */ sw $v1, 4($a0)
/* 3B9878 E00BACA8 000D1840 */ sll $v1, $t5, 1
/* 3B987C E00BACAC 006D1821 */ addu $v1, $v1, $t5
/* 3B9880 E00BACB0 00031880 */ sll $v1, $v1, 2
/* 3B9884 E00BACB4 006D1821 */ addu $v1, $v1, $t5
/* 3B9888 E00BACB8 ACC20000 */ sw $v0, ($a2)
/* 3B988C E00BACBC 01C31021 */ addu $v0, $t6, $v1
/* 3B9890 E00BACC0 02821021 */ addu $v0, $s4, $v0
/* 3B9894 E00BACC4 80440023 */ lb $a0, 0x23($v0)
/* 3B9898 E00BACC8 24C20010 */ addiu $v0, $a2, 0x10
/* 3B989C E00BACCC AE020000 */ sw $v0, ($s0)
/* 3B98A0 E00BACD0 01151025 */ or $v0, $t0, $s5
/* 3B98A4 E00BACD4 ACC20008 */ sw $v0, 8($a2)
/* 3B98A8 E00BACD8 24C20018 */ addiu $v0, $a2, 0x18
/* 3B98AC E00BACDC 24630001 */ addiu $v1, $v1, 1
/* 3B98B0 E00BACE0 01C31821 */ addu $v1, $t6, $v1
/* 3B98B4 E00BACE4 02831821 */ addu $v1, $s4, $v1
/* 3B98B8 E00BACE8 00084200 */ sll $t0, $t0, 8
/* 3B98BC E00BACEC 03042021 */ addu $a0, $t8, $a0
/* 3B98C0 E00BACF0 00E42025 */ or $a0, $a3, $a0
/* 3B98C4 E00BACF4 ACC40004 */ sw $a0, 4($a2)
/* 3B98C8 E00BACF8 80A40023 */ lb $a0, 0x23($a1)
/* 3B98CC E00BACFC 25850003 */ addiu $a1, $t4, 3
/* 3B98D0 E00BAD00 00052840 */ sll $a1, $a1, 1
/* 3B98D4 E00BAD04 AE020000 */ sw $v0, ($s0)
/* 3B98D8 E00BAD08 00B51025 */ or $v0, $a1, $s5
/* 3B98DC E00BAD0C ACC20010 */ sw $v0, 0x10($a2)
/* 3B98E0 E00BAD10 24C20020 */ addiu $v0, $a2, 0x20
/* 3B98E4 E00BAD14 02642021 */ addu $a0, $s3, $a0
/* 3B98E8 E00BAD18 01244825 */ or $t1, $t1, $a0
/* 3B98EC E00BAD1C ACC9000C */ sw $t1, 0xc($a2)
/* 3B98F0 E00BAD20 80640023 */ lb $a0, 0x23($v1)
/* 3B98F4 E00BAD24 30A500FF */ andi $a1, $a1, 0xff
/* 3B98F8 E00BAD28 AE020000 */ sw $v0, ($s0)
/* 3B98FC E00BAD2C 00051200 */ sll $v0, $a1, 8
/* 3B9900 E00BAD30 01421025 */ or $v0, $t2, $v0
/* 3B9904 E00BAD34 004B1025 */ or $v0, $v0, $t3
/* 3B9908 E00BAD38 3C030600 */ lui $v1, 0x600
/* 3B990C E00BAD3C 00431025 */ or $v0, $v0, $v1
/* 3B9910 E00BAD40 01485025 */ or $t2, $t2, $t0
/* 3B9914 E00BAD44 01455025 */ or $t2, $t2, $a1
/* 3B9918 E00BAD48 ACC20018 */ sw $v0, 0x18($a2)
/* 3B991C E00BAD4C 24C20028 */ addiu $v0, $a2, 0x28
/* 3B9920 E00BAD50 3C16E700 */ lui $s6, 0xe700
/* 3B9924 E00BAD54 ACCA001C */ sw $t2, 0x1c($a2)
/* 3B9928 E00BAD58 AE020000 */ sw $v0, ($s0)
/* 3B992C E00BAD5C 29A20012 */ slti $v0, $t5, 0x12
/* 3B9930 E00BAD60 ACD60020 */ sw $s6, 0x20($a2)
/* 3B9934 E00BAD64 ACC00024 */ sw $zero, 0x24($a2)
/* 3B9938 E00BAD68 02642021 */ addu $a0, $s3, $a0
/* 3B993C E00BAD6C 00E43825 */ or $a3, $a3, $a0
/* 3B9940 E00BAD70 1440FF5A */ bnez $v0, .LE00BAADC
/* 3B9944 E00BAD74 ACC70014 */ sw $a3, 0x14($a2)
/* 3B9948 E00BAD78 25CE0001 */ addiu $t6, $t6, 1
/* 3B994C E00BAD7C 29C2000C */ slti $v0, $t6, 0xc
/* 3B9950 E00BAD80 1440FF39 */ bnez $v0, .LE00BAA68
/* 3B9954 E00BAD84 27390010 */ addiu $t9, $t9, 0x10
/* 3B9958 E00BAD88 3C06FF10 */ lui $a2, 0xff10
/* 3B995C E00BAD8C 34C6013F */ ori $a2, $a2, 0x13f
/* 3B9960 E00BAD90 3C07DA38 */ lui $a3, 0xda38
/* 3B9964 E00BAD94 3C05800A */ lui $a1, %hi(gMainGfxPos)
/* 3B9968 E00BAD98 24A5A66C */ addiu $a1, $a1, %lo(gMainGfxPos)
/* 3B996C E00BAD9C 8CA30000 */ lw $v1, ($a1)
/* 3B9970 E00BADA0 3C04800A */ lui $a0, %hi(nuGfxZBuffer)
/* 3B9974 E00BADA4 8C84A5DC */ lw $a0, %lo(nuGfxZBuffer)($a0)
/* 3B9978 E00BADA8 0060102D */ daddu $v0, $v1, $zero
/* 3B997C E00BADAC 24630008 */ addiu $v1, $v1, 8
/* 3B9980 E00BADB0 ACA30000 */ sw $v1, ($a1)
/* 3B9984 E00BADB4 AC460000 */ sw $a2, ($v0)
/* 3B9988 E00BADB8 AC440004 */ sw $a0, 4($v0)
/* 3B998C E00BADBC 24620008 */ addiu $v0, $v1, 8
/* 3B9990 E00BADC0 ACA20000 */ sw $v0, ($a1)
/* 3B9994 E00BADC4 3C04800A */ lui $a0, %hi(nuGfxCfb_ptr)
/* 3B9998 E00BADC8 8C84A64C */ lw $a0, %lo(nuGfxCfb_ptr)($a0)
/* 3B999C E00BADCC 3C02DE00 */ lui $v0, 0xde00
/* 3B99A0 E00BADD0 AC620000 */ sw $v0, ($v1)
/* 3B99A4 E00BADD4 3C020900 */ lui $v0, 0x900
/* 3B99A8 E00BADD8 24420570 */ addiu $v0, $v0, 0x570
/* 3B99AC E00BADDC AC620004 */ sw $v0, 4($v1)
/* 3B99B0 E00BADE0 24620010 */ addiu $v0, $v1, 0x10
/* 3B99B4 E00BADE4 ACA20000 */ sw $v0, ($a1)
/* 3B99B8 E00BADE8 24620018 */ addiu $v0, $v1, 0x18
/* 3B99BC E00BADEC AC660008 */ sw $a2, 8($v1)
/* 3B99C0 E00BADF0 02C0302D */ daddu $a2, $s6, $zero
/* 3B99C4 E00BADF4 AC64000C */ sw $a0, 0xc($v1)
/* 3B99C8 E00BADF8 ACA20000 */ sw $v0, ($a1)
/* 3B99CC E00BADFC 3C048007 */ lui $a0, %hi(gCurrentCameraID)
/* 3B99D0 E00BAE00 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0)
/* 3B99D4 E00BAE04 24620020 */ addiu $v0, $v1, 0x20
/* 3B99D8 E00BAE08 AC660010 */ sw $a2, 0x10($v1)
/* 3B99DC E00BAE0C AC600014 */ sw $zero, 0x14($v1)
/* 3B99E0 E00BAE10 ACA20000 */ sw $v0, ($a1)
/* 3B99E4 E00BAE14 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 3B99E8 E00BAE18 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 3B99EC E00BAE1C 34E70007 */ ori $a3, $a3, 7
/* 3B99F0 E00BAE20 AC670018 */ sw $a3, 0x18($v1)
/* 3B99F4 E00BAE24 00042180 */ sll $a0, $a0, 6
/* 3B99F8 E00BAE28 24840030 */ addiu $a0, $a0, 0x30
/* 3B99FC E00BAE2C 00441021 */ addu $v0, $v0, $a0
/* 3B9A00 E00BAE30 AC62001C */ sw $v0, 0x1c($v1)
/* 3B9A04 E00BAE34 24620028 */ addiu $v0, $v1, 0x28
/* 3B9A08 E00BAE38 ACA20000 */ sw $v0, ($a1)
/* 3B9A0C E00BAE3C AC660020 */ sw $a2, 0x20($v1)
/* 3B9A10 E00BAE40 AC600024 */ sw $zero, 0x24($v1)
/* 3B9A14 E00BAE44 8FBF00D4 */ lw $ra, 0xd4($sp)
/* 3B9A18 E00BAE48 8FBE00D0 */ lw $fp, 0xd0($sp)
/* 3B9A1C E00BAE4C 8FB700CC */ lw $s7, 0xcc($sp)
/* 3B9A20 E00BAE50 8FB600C8 */ lw $s6, 0xc8($sp)
/* 3B9A24 E00BAE54 8FB500C4 */ lw $s5, 0xc4($sp)
/* 3B9A28 E00BAE58 8FB400C0 */ lw $s4, 0xc0($sp)
/* 3B9A2C E00BAE5C 8FB300BC */ lw $s3, 0xbc($sp)
/* 3B9A30 E00BAE60 8FB200B8 */ lw $s2, 0xb8($sp)
/* 3B9A34 E00BAE64 8FB100B4 */ lw $s1, 0xb4($sp)
/* 3B9A38 E00BAE68 8FB000B0 */ lw $s0, 0xb0($sp)
/* 3B9A3C E00BAE6C 03E00008 */ jr $ra
/* 3B9A40 E00BAE70 27BD00D8 */ addiu $sp, $sp, 0xd8
/* 3B9A44 E00BAE74 00000000 */ nop
/* 3B9A48 E00BAE78 00000000 */ nop
/* 3B9A4C E00BAE7C 00000000 */ nop

View File

@ -1,477 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_8024F1F0_A39430
.word .L8024297C_A2CBBC, .L802429EC_A2CC2C, .L80242A5C_A2CC9C, .L80242ACC_A2CD0C, .L80242BB8_A2CDF8, .L80242C28_A2CE68
dlabel D_8024F208_A39448
.double 51.43
dlabel D_8024F210_A39450
.double 360.01
dlabel D_8024F218_A39458
.double 154.29
dlabel D_8024F220_A39460
.double 205.72
dlabel D_8024F228_A39468
.double 308.58
dlabel D_8024F230_A39470
.double 102.86
dlabel D_8024F238_A39478
.double 257.15
.section .text
glabel func_802428C8_A2CB08
/* A2CB08 802428C8 27BDFF98 */ addiu $sp, $sp, -0x68
/* A2CB0C 802428CC AFB30024 */ sw $s3, 0x24($sp)
/* A2CB10 802428D0 0080982D */ daddu $s3, $a0, $zero
/* A2CB14 802428D4 AFBF0034 */ sw $ra, 0x34($sp)
/* A2CB18 802428D8 AFB60030 */ sw $s6, 0x30($sp)
/* A2CB1C 802428DC AFB5002C */ sw $s5, 0x2c($sp)
/* A2CB20 802428E0 AFB40028 */ sw $s4, 0x28($sp)
/* A2CB24 802428E4 AFB20020 */ sw $s2, 0x20($sp)
/* A2CB28 802428E8 AFB1001C */ sw $s1, 0x1c($sp)
/* A2CB2C 802428EC AFB00018 */ sw $s0, 0x18($sp)
/* A2CB30 802428F0 F7BE0060 */ sdc1 $f30, 0x60($sp)
/* A2CB34 802428F4 F7BC0058 */ sdc1 $f28, 0x58($sp)
/* A2CB38 802428F8 F7BA0050 */ sdc1 $f26, 0x50($sp)
/* A2CB3C 802428FC F7B80048 */ sdc1 $f24, 0x48($sp)
/* A2CB40 80242900 F7B60040 */ sdc1 $f22, 0x40($sp)
/* A2CB44 80242904 F7B40038 */ sdc1 $f20, 0x38($sp)
/* A2CB48 80242908 8E70000C */ lw $s0, 0xc($s3)
/* A2CB4C 8024290C 8E050000 */ lw $a1, ($s0)
/* A2CB50 80242910 0C0B1EAF */ jal evt_get_variable
/* A2CB54 80242914 26100004 */ addiu $s0, $s0, 4
/* A2CB58 80242918 8E050000 */ lw $a1, ($s0)
/* A2CB5C 8024291C 26100004 */ addiu $s0, $s0, 4
/* A2CB60 80242920 0260202D */ daddu $a0, $s3, $zero
/* A2CB64 80242924 0C0B210B */ jal evt_get_float_variable
/* A2CB68 80242928 0040B02D */ daddu $s6, $v0, $zero
/* A2CB6C 8024292C 8E050000 */ lw $a1, ($s0)
/* A2CB70 80242930 0260202D */ daddu $a0, $s3, $zero
/* A2CB74 80242934 0C0B210B */ jal evt_get_float_variable
/* A2CB78 80242938 E7A00010 */ swc1 $f0, 0x10($sp)
/* A2CB7C 8024293C 0260202D */ daddu $a0, $s3, $zero
/* A2CB80 80242940 3C05F4AC */ lui $a1, 0xf4ac
/* A2CB84 80242944 34A5D480 */ ori $a1, $a1, 0xd480
/* A2CB88 80242948 0C0B1EAF */ jal evt_get_variable
/* A2CB8C 8024294C 46000706 */ mov.s $f28, $f0
/* A2CB90 80242950 0040202D */ daddu $a0, $v0, $zero
/* A2CB94 80242954 26C3FFFF */ addiu $v1, $s6, -1
/* A2CB98 80242958 2C620006 */ sltiu $v0, $v1, 6
/* A2CB9C 8024295C 104000CE */ beqz $v0, .L80242C98
/* A2CBA0 80242960 0080882D */ daddu $s1, $a0, $zero
/* A2CBA4 80242964 00031080 */ sll $v0, $v1, 2
/* A2CBA8 80242968 3C018025 */ lui $at, %hi(jtbl_8024F1F0_A39430)
/* A2CBAC 8024296C 00220821 */ addu $at, $at, $v0
/* A2CBB0 80242970 8C22F1F0 */ lw $v0, %lo(jtbl_8024F1F0_A39430)($at)
/* A2CBB4 80242974 00400008 */ jr $v0
/* A2CBB8 80242978 00000000 */ nop
.L8024297C_A2CBBC:
/* A2CBBC 8024297C 3C108025 */ lui $s0, %hi(hos_05_D_8024F3F8)
/* A2CBC0 80242980 2610F3F8 */ addiu $s0, $s0, %lo(hos_05_D_8024F3F8)
/* A2CBC4 80242984 0200902D */ daddu $s2, $s0, $zero
/* A2CBC8 80242988 2415001E */ addiu $s5, $zero, 0x1e
/* A2CBCC 8024298C 8E22000C */ lw $v0, 0xc($s1)
/* A2CBD0 80242990 8C420014 */ lw $v0, 0x14($v0)
/* A2CBD4 80242994 3C0142B4 */ lui $at, 0x42b4
/* A2CBD8 80242998 4481F000 */ mtc1 $at, $f30
/* A2CBDC 8024299C 00551021 */ addu $v0, $v0, $s5
/* A2CBE0 802429A0 44821000 */ mtc1 $v0, $f2
/* A2CBE4 802429A4 00000000 */ nop
/* A2CBE8 802429A8 468010A1 */ cvt.d.w $f2, $f2
/* A2CBEC 802429AC 04410006 */ bgez $v0, .L802429C8
/* A2CBF0 802429B0 24140003 */ addiu $s4, $zero, 3
/* A2CBF4 802429B4 3C0141F0 */ lui $at, 0x41f0
/* A2CBF8 802429B8 44810800 */ mtc1 $at, $f1
/* A2CBFC 802429BC 44800000 */ mtc1 $zero, $f0
/* A2CC00 802429C0 00000000 */ nop
/* A2CC04 802429C4 46201080 */ add.d $f2, $f2, $f0
.L802429C8:
/* A2CC08 802429C8 3C014080 */ lui $at, 0x4080
/* A2CC0C 802429CC 44810000 */ mtc1 $at, $f0
/* A2CC10 802429D0 46201520 */ cvt.s.d $f20, $f2
/* A2CC14 802429D4 4600A502 */ mul.s $f20, $f20, $f0
/* A2CC18 802429D8 00000000 */ nop
/* A2CC1C 802429DC 3C018025 */ lui $at, %hi(D_8024F208_A39448)
/* A2CC20 802429E0 D420F208 */ ldc1 $f0, %lo(D_8024F208_A39448)($at)
/* A2CC24 802429E4 08090B41 */ j .L80242D04
/* A2CC28 802429E8 4600A521 */ cvt.d.s $f20, $f20
.L802429EC_A2CC2C:
/* A2CC2C 802429EC 3C108025 */ lui $s0, %hi(hos_05_D_8024F3F8 + 0x28)
/* A2CC30 802429F0 2610F420 */ addiu $s0, $s0, %lo(hos_05_D_8024F3F8 + 0x28)
/* A2CC34 802429F4 0200902D */ daddu $s2, $s0, $zero
/* A2CC38 802429F8 2415001E */ addiu $s5, $zero, 0x1e
/* A2CC3C 802429FC 8E22000C */ lw $v0, 0xc($s1)
/* A2CC40 80242A00 8C420014 */ lw $v0, 0x14($v0)
/* A2CC44 80242A04 3C0142B4 */ lui $at, 0x42b4
/* A2CC48 80242A08 4481F000 */ mtc1 $at, $f30
/* A2CC4C 80242A0C 00551021 */ addu $v0, $v0, $s5
/* A2CC50 80242A10 44821000 */ mtc1 $v0, $f2
/* A2CC54 80242A14 00000000 */ nop
/* A2CC58 80242A18 468010A1 */ cvt.d.w $f2, $f2
/* A2CC5C 80242A1C 04410006 */ bgez $v0, .L80242A38
/* A2CC60 80242A20 24140003 */ addiu $s4, $zero, 3
/* A2CC64 80242A24 3C0141F0 */ lui $at, 0x41f0
/* A2CC68 80242A28 44810800 */ mtc1 $at, $f1
/* A2CC6C 80242A2C 44800000 */ mtc1 $zero, $f0
/* A2CC70 80242A30 00000000 */ nop
/* A2CC74 80242A34 46201080 */ add.d $f2, $f2, $f0
.L80242A38:
/* A2CC78 80242A38 3C014080 */ lui $at, 0x4080
/* A2CC7C 80242A3C 44810000 */ mtc1 $at, $f0
/* A2CC80 80242A40 46201520 */ cvt.s.d $f20, $f2
/* A2CC84 80242A44 4600A502 */ mul.s $f20, $f20, $f0
/* A2CC88 80242A48 00000000 */ nop
/* A2CC8C 80242A4C 3C018025 */ lui $at, %hi(D_8024F210_A39450)
/* A2CC90 80242A50 D420F210 */ ldc1 $f0, %lo(D_8024F210_A39450)($at)
/* A2CC94 80242A54 08090B41 */ j .L80242D04
/* A2CC98 80242A58 4600A521 */ cvt.d.s $f20, $f20
.L80242A5C_A2CC9C:
/* A2CC9C 80242A5C 3C108025 */ lui $s0, %hi(hos_05_D_8024F3F8 + 0x50)
/* A2CCA0 80242A60 2610F448 */ addiu $s0, $s0, %lo(hos_05_D_8024F3F8 + 0x50)
/* A2CCA4 80242A64 0200902D */ daddu $s2, $s0, $zero
/* A2CCA8 80242A68 2415001E */ addiu $s5, $zero, 0x1e
/* A2CCAC 80242A6C 8E22000C */ lw $v0, 0xc($s1)
/* A2CCB0 80242A70 8C420014 */ lw $v0, 0x14($v0)
/* A2CCB4 80242A74 3C0142B4 */ lui $at, 0x42b4
/* A2CCB8 80242A78 4481F000 */ mtc1 $at, $f30
/* A2CCBC 80242A7C 00551021 */ addu $v0, $v0, $s5
/* A2CCC0 80242A80 44821000 */ mtc1 $v0, $f2
/* A2CCC4 80242A84 00000000 */ nop
/* A2CCC8 80242A88 468010A1 */ cvt.d.w $f2, $f2
/* A2CCCC 80242A8C 04410006 */ bgez $v0, .L80242AA8
/* A2CCD0 80242A90 24140003 */ addiu $s4, $zero, 3
/* A2CCD4 80242A94 3C0141F0 */ lui $at, 0x41f0
/* A2CCD8 80242A98 44810800 */ mtc1 $at, $f1
/* A2CCDC 80242A9C 44800000 */ mtc1 $zero, $f0
/* A2CCE0 80242AA0 00000000 */ nop
/* A2CCE4 80242AA4 46201080 */ add.d $f2, $f2, $f0
.L80242AA8:
/* A2CCE8 80242AA8 3C014080 */ lui $at, 0x4080
/* A2CCEC 80242AAC 44810000 */ mtc1 $at, $f0
/* A2CCF0 80242AB0 46201520 */ cvt.s.d $f20, $f2
/* A2CCF4 80242AB4 4600A502 */ mul.s $f20, $f20, $f0
/* A2CCF8 80242AB8 00000000 */ nop
/* A2CCFC 80242ABC 3C018025 */ lui $at, %hi(D_8024F218_A39458)
/* A2CD00 80242AC0 D420F218 */ ldc1 $f0, %lo(D_8024F218_A39458)($at)
/* A2CD04 80242AC4 08090B41 */ j .L80242D04
/* A2CD08 80242AC8 4600A521 */ cvt.d.s $f20, $f20
.L80242ACC_A2CD0C:
/* A2CD0C 80242ACC 3C108025 */ lui $s0, %hi(hos_05_D_8024F3F8 + 0x78)
/* A2CD10 80242AD0 2610F470 */ addiu $s0, $s0, %lo(hos_05_D_8024F3F8 + 0x78)
/* A2CD14 80242AD4 8E22000C */ lw $v0, 0xc($s1)
/* A2CD18 80242AD8 2415001E */ addiu $s5, $zero, 0x1e
/* A2CD1C 80242ADC 8C420014 */ lw $v0, 0x14($v0)
/* A2CD20 80242AE0 3C0142B4 */ lui $at, 0x42b4
/* A2CD24 80242AE4 4481F000 */ mtc1 $at, $f30
/* A2CD28 80242AE8 00551021 */ addu $v0, $v0, $s5
/* A2CD2C 80242AEC 44821000 */ mtc1 $v0, $f2
/* A2CD30 80242AF0 00000000 */ nop
/* A2CD34 80242AF4 468010A1 */ cvt.d.w $f2, $f2
/* A2CD38 80242AF8 04410006 */ bgez $v0, .L80242B14
/* A2CD3C 80242AFC 0200902D */ daddu $s2, $s0, $zero
/* A2CD40 80242B00 3C0141F0 */ lui $at, 0x41f0
/* A2CD44 80242B04 44810800 */ mtc1 $at, $f1
/* A2CD48 80242B08 44800000 */ mtc1 $zero, $f0
/* A2CD4C 80242B0C 00000000 */ nop
/* A2CD50 80242B10 46201080 */ add.d $f2, $f2, $f0
.L80242B14:
/* A2CD54 80242B14 3C014080 */ lui $at, 0x4080
/* A2CD58 80242B18 44810000 */ mtc1 $at, $f0
/* A2CD5C 80242B1C 46201520 */ cvt.s.d $f20, $f2
/* A2CD60 80242B20 4600A502 */ mul.s $f20, $f20, $f0
/* A2CD64 80242B24 00000000 */ nop
/* A2CD68 80242B28 3C018025 */ lui $at, %hi(D_8024F220_A39460)
/* A2CD6C 80242B2C D420F220 */ ldc1 $f0, %lo(D_8024F220_A39460)($at)
/* A2CD70 80242B30 4600A521 */ cvt.d.s $f20, $f20
/* A2CD74 80242B34 4620A500 */ add.d $f20, $f20, $f0
/* A2CD78 80242B38 4620A520 */ cvt.s.d $f20, $f20
/* A2CD7C 80242B3C 0C00A8BB */ jal sin_deg
/* A2CD80 80242B40 4600A306 */ mov.s $f12, $f20
/* A2CD84 80242B44 4600F306 */ mov.s $f12, $f30
/* A2CD88 80242B48 3C014248 */ lui $at, 0x4248
/* A2CD8C 80242B4C 4481B000 */ mtc1 $at, $f22
/* A2CD90 80242B50 0C00A8BB */ jal sin_deg
/* A2CD94 80242B54 46000606 */ mov.s $f24, $f0
/* A2CD98 80242B58 46160002 */ mul.s $f0, $f0, $f22
/* A2CD9C 80242B5C 00000000 */ nop
/* A2CDA0 80242B60 46180002 */ mul.s $f0, $f0, $f24
/* A2CDA4 80242B64 00000000 */ nop
/* A2CDA8 80242B68 8E22000C */ lw $v0, 0xc($s1)
/* A2CDAC 80242B6C C4420004 */ lwc1 $f2, 4($v0)
/* A2CDB0 80242B70 46001680 */ add.s $f26, $f2, $f0
/* A2CDB4 80242B74 0C00A8D4 */ jal cos_deg
/* A2CDB8 80242B78 4600A306 */ mov.s $f12, $f20
/* A2CDBC 80242B7C 46160002 */ mul.s $f0, $f0, $f22
/* A2CDC0 80242B80 00000000 */ nop
/* A2CDC4 80242B84 8E22000C */ lw $v0, 0xc($s1)
/* A2CDC8 80242B88 C4420008 */ lwc1 $f2, 8($v0)
/* A2CDCC 80242B8C 46001500 */ add.s $f20, $f2, $f0
/* A2CDD0 80242B90 0C00A8BB */ jal sin_deg
/* A2CDD4 80242B94 4600F306 */ mov.s $f12, $f30
/* A2CDD8 80242B98 46160002 */ mul.s $f0, $f0, $f22
/* A2CDDC 80242B9C 00000000 */ nop
/* A2CDE0 80242BA0 46180002 */ mul.s $f0, $f0, $f24
/* A2CDE4 80242BA4 00000000 */ nop
/* A2CDE8 80242BA8 8E22000C */ lw $v0, 0xc($s1)
/* A2CDEC 80242BAC C442000C */ lwc1 $f2, 0xc($v0)
/* A2CDF0 80242BB0 08090B60 */ j .L80242D80
/* A2CDF4 80242BB4 24140003 */ addiu $s4, $zero, 3
.L80242BB8_A2CDF8:
/* A2CDF8 80242BB8 3C108025 */ lui $s0, %hi(hos_05_D_8024F3F8 + 0xA0)
/* A2CDFC 80242BBC 2610F498 */ addiu $s0, $s0, %lo(hos_05_D_8024F3F8 + 0xA0)
/* A2CE00 80242BC0 0200902D */ daddu $s2, $s0, $zero
/* A2CE04 80242BC4 2415001E */ addiu $s5, $zero, 0x1e
/* A2CE08 80242BC8 8E22000C */ lw $v0, 0xc($s1)
/* A2CE0C 80242BCC 8C420014 */ lw $v0, 0x14($v0)
/* A2CE10 80242BD0 3C0142B4 */ lui $at, 0x42b4
/* A2CE14 80242BD4 4481F000 */ mtc1 $at, $f30
/* A2CE18 80242BD8 00551021 */ addu $v0, $v0, $s5
/* A2CE1C 80242BDC 44821000 */ mtc1 $v0, $f2
/* A2CE20 80242BE0 00000000 */ nop
/* A2CE24 80242BE4 468010A1 */ cvt.d.w $f2, $f2
/* A2CE28 80242BE8 04410006 */ bgez $v0, .L80242C04
/* A2CE2C 80242BEC 24140003 */ addiu $s4, $zero, 3
/* A2CE30 80242BF0 3C0141F0 */ lui $at, 0x41f0
/* A2CE34 80242BF4 44810800 */ mtc1 $at, $f1
/* A2CE38 80242BF8 44800000 */ mtc1 $zero, $f0
/* A2CE3C 80242BFC 00000000 */ nop
/* A2CE40 80242C00 46201080 */ add.d $f2, $f2, $f0
.L80242C04:
/* A2CE44 80242C04 3C014080 */ lui $at, 0x4080
/* A2CE48 80242C08 44810000 */ mtc1 $at, $f0
/* A2CE4C 80242C0C 46201520 */ cvt.s.d $f20, $f2
/* A2CE50 80242C10 4600A502 */ mul.s $f20, $f20, $f0
/* A2CE54 80242C14 00000000 */ nop
/* A2CE58 80242C18 3C018025 */ lui $at, %hi(D_8024F228_A39468)
/* A2CE5C 80242C1C D420F228 */ ldc1 $f0, %lo(D_8024F228_A39468)($at)
/* A2CE60 80242C20 08090B41 */ j .L80242D04
/* A2CE64 80242C24 4600A521 */ cvt.d.s $f20, $f20
.L80242C28_A2CE68:
/* A2CE68 80242C28 3C108025 */ lui $s0, %hi(hos_05_D_8024F3F8 + 0xC8)
/* A2CE6C 80242C2C 2610F4C0 */ addiu $s0, $s0, %lo(hos_05_D_8024F3F8 + 0xC8)
/* A2CE70 80242C30 0200902D */ daddu $s2, $s0, $zero
/* A2CE74 80242C34 2415001E */ addiu $s5, $zero, 0x1e
/* A2CE78 80242C38 8E22000C */ lw $v0, 0xc($s1)
/* A2CE7C 80242C3C 8C420014 */ lw $v0, 0x14($v0)
/* A2CE80 80242C40 3C0142B4 */ lui $at, 0x42b4
/* A2CE84 80242C44 4481F000 */ mtc1 $at, $f30
/* A2CE88 80242C48 00551021 */ addu $v0, $v0, $s5
/* A2CE8C 80242C4C 44821000 */ mtc1 $v0, $f2
/* A2CE90 80242C50 00000000 */ nop
/* A2CE94 80242C54 468010A1 */ cvt.d.w $f2, $f2
/* A2CE98 80242C58 04410006 */ bgez $v0, .L80242C74
/* A2CE9C 80242C5C 24140003 */ addiu $s4, $zero, 3
/* A2CEA0 80242C60 3C0141F0 */ lui $at, 0x41f0
/* A2CEA4 80242C64 44810800 */ mtc1 $at, $f1
/* A2CEA8 80242C68 44800000 */ mtc1 $zero, $f0
/* A2CEAC 80242C6C 00000000 */ nop
/* A2CEB0 80242C70 46201080 */ add.d $f2, $f2, $f0
.L80242C74:
/* A2CEB4 80242C74 3C014080 */ lui $at, 0x4080
/* A2CEB8 80242C78 44810000 */ mtc1 $at, $f0
/* A2CEBC 80242C7C 46201520 */ cvt.s.d $f20, $f2
/* A2CEC0 80242C80 4600A502 */ mul.s $f20, $f20, $f0
/* A2CEC4 80242C84 00000000 */ nop
/* A2CEC8 80242C88 3C018025 */ lui $at, %hi(D_8024F230_A39470)
/* A2CECC 80242C8C D420F230 */ ldc1 $f0, %lo(D_8024F230_A39470)($at)
/* A2CED0 80242C90 08090B41 */ j .L80242D04
/* A2CED4 80242C94 4600A521 */ cvt.d.s $f20, $f20
.L80242C98:
/* A2CED8 80242C98 3C108025 */ lui $s0, %hi(hos_05_D_8024F3F8 + 0xF0)
/* A2CEDC 80242C9C 2610F4E8 */ addiu $s0, $s0, %lo(hos_05_D_8024F3F8 + 0xF0)
/* A2CEE0 80242CA0 0200902D */ daddu $s2, $s0, $zero
/* A2CEE4 80242CA4 2415001E */ addiu $s5, $zero, 0x1e
/* A2CEE8 80242CA8 8C82000C */ lw $v0, 0xc($a0)
/* A2CEEC 80242CAC 8C420014 */ lw $v0, 0x14($v0)
/* A2CEF0 80242CB0 3C0142B4 */ lui $at, 0x42b4
/* A2CEF4 80242CB4 4481F000 */ mtc1 $at, $f30
/* A2CEF8 80242CB8 00551021 */ addu $v0, $v0, $s5
/* A2CEFC 80242CBC 44821000 */ mtc1 $v0, $f2
/* A2CF00 80242CC0 00000000 */ nop
/* A2CF04 80242CC4 468010A1 */ cvt.d.w $f2, $f2
/* A2CF08 80242CC8 04410006 */ bgez $v0, .L80242CE4
/* A2CF0C 80242CCC 24140003 */ addiu $s4, $zero, 3
/* A2CF10 80242CD0 3C0141F0 */ lui $at, 0x41f0
/* A2CF14 80242CD4 44810800 */ mtc1 $at, $f1
/* A2CF18 80242CD8 44800000 */ mtc1 $zero, $f0
/* A2CF1C 80242CDC 00000000 */ nop
/* A2CF20 80242CE0 46201080 */ add.d $f2, $f2, $f0
.L80242CE4:
/* A2CF24 80242CE4 3C014080 */ lui $at, 0x4080
/* A2CF28 80242CE8 44810000 */ mtc1 $at, $f0
/* A2CF2C 80242CEC 46201520 */ cvt.s.d $f20, $f2
/* A2CF30 80242CF0 4600A502 */ mul.s $f20, $f20, $f0
/* A2CF34 80242CF4 00000000 */ nop
/* A2CF38 80242CF8 3C018025 */ lui $at, %hi(D_8024F238_A39478)
/* A2CF3C 80242CFC D420F238 */ ldc1 $f0, %lo(D_8024F238_A39478)($at)
/* A2CF40 80242D00 4600A521 */ cvt.d.s $f20, $f20
.L80242D04:
/* A2CF44 80242D04 4620A500 */ add.d $f20, $f20, $f0
/* A2CF48 80242D08 4620A520 */ cvt.s.d $f20, $f20
/* A2CF4C 80242D0C 0C00A8BB */ jal sin_deg
/* A2CF50 80242D10 4600A306 */ mov.s $f12, $f20
/* A2CF54 80242D14 4600F306 */ mov.s $f12, $f30
/* A2CF58 80242D18 3C014248 */ lui $at, 0x4248
/* A2CF5C 80242D1C 4481B000 */ mtc1 $at, $f22
/* A2CF60 80242D20 0C00A8BB */ jal sin_deg
/* A2CF64 80242D24 46000606 */ mov.s $f24, $f0
/* A2CF68 80242D28 46160002 */ mul.s $f0, $f0, $f22
/* A2CF6C 80242D2C 00000000 */ nop
/* A2CF70 80242D30 46180002 */ mul.s $f0, $f0, $f24
/* A2CF74 80242D34 00000000 */ nop
/* A2CF78 80242D38 8E22000C */ lw $v0, 0xc($s1)
/* A2CF7C 80242D3C C4420004 */ lwc1 $f2, 4($v0)
/* A2CF80 80242D40 46001680 */ add.s $f26, $f2, $f0
/* A2CF84 80242D44 0C00A8D4 */ jal cos_deg
/* A2CF88 80242D48 4600A306 */ mov.s $f12, $f20
/* A2CF8C 80242D4C 46160002 */ mul.s $f0, $f0, $f22
/* A2CF90 80242D50 00000000 */ nop
/* A2CF94 80242D54 8E22000C */ lw $v0, 0xc($s1)
/* A2CF98 80242D58 C4420008 */ lwc1 $f2, 8($v0)
/* A2CF9C 80242D5C 46001500 */ add.s $f20, $f2, $f0
/* A2CFA0 80242D60 0C00A8BB */ jal sin_deg
/* A2CFA4 80242D64 4600F306 */ mov.s $f12, $f30
/* A2CFA8 80242D68 46160002 */ mul.s $f0, $f0, $f22
/* A2CFAC 80242D6C 00000000 */ nop
/* A2CFB0 80242D70 46180002 */ mul.s $f0, $f0, $f24
/* A2CFB4 80242D74 00000000 */ nop
/* A2CFB8 80242D78 8E22000C */ lw $v0, 0xc($s1)
/* A2CFBC 80242D7C C442000C */ lwc1 $f2, 0xc($v0)
.L80242D80:
/* A2CFC0 80242D80 46001080 */ add.s $f2, $f2, $f0
/* A2CFC4 80242D84 E61A0018 */ swc1 $f26, 0x18($s0)
/* A2CFC8 80242D88 E614001C */ swc1 $f20, 0x1c($s0)
/* A2CFCC 80242D8C E6020020 */ swc1 $f2, 0x20($s0)
/* A2CFD0 80242D90 0260202D */ daddu $a0, $s3, $zero
/* A2CFD4 80242D94 3C05FE36 */ lui $a1, 0xfe36
/* A2CFD8 80242D98 0C0B210B */ jal evt_get_float_variable
/* A2CFDC 80242D9C 34A53C80 */ ori $a1, $a1, 0x3c80
/* A2CFE0 80242DA0 0260202D */ daddu $a0, $s3, $zero
/* A2CFE4 80242DA4 3C05FE36 */ lui $a1, 0xfe36
/* A2CFE8 80242DA8 34A53C81 */ ori $a1, $a1, 0x3c81
/* A2CFEC 80242DAC 0C0B210B */ jal evt_get_float_variable
/* A2CFF0 80242DB0 E6400000 */ swc1 $f0, ($s2)
/* A2CFF4 80242DB4 0260202D */ daddu $a0, $s3, $zero
/* A2CFF8 80242DB8 3C05FE36 */ lui $a1, 0xfe36
/* A2CFFC 80242DBC 34A53C82 */ ori $a1, $a1, 0x3c82
/* A2D000 80242DC0 0C0B210B */ jal evt_get_float_variable
/* A2D004 80242DC4 E6400004 */ swc1 $f0, 4($s2)
/* A2D008 80242DC8 26510018 */ addiu $s1, $s2, 0x18
/* A2D00C 80242DCC E6400008 */ swc1 $f0, 8($s2)
/* A2D010 80242DD0 24020002 */ addiu $v0, $zero, 2
/* A2D014 80242DD4 12C20028 */ beq $s6, $v0, .L80242E78
/* A2D018 80242DD8 2652000C */ addiu $s2, $s2, 0xc
/* A2D01C 80242DDC 0260202D */ daddu $a0, $s3, $zero
/* A2D020 80242DE0 3C05FE36 */ lui $a1, 0xfe36
/* A2D024 80242DE4 0C0B210B */ jal evt_get_float_variable
/* A2D028 80242DE8 34A53C80 */ ori $a1, $a1, 0x3c80
/* A2D02C 80242DEC 461C0002 */ mul.s $f0, $f0, $f28
/* A2D030 80242DF0 00000000 */ nop
/* A2D034 80242DF4 3C013F80 */ lui $at, 0x3f80
/* A2D038 80242DF8 4481A000 */ mtc1 $at, $f20
/* A2D03C 80242DFC 00000000 */ nop
/* A2D040 80242E00 461CA501 */ sub.s $f20, $f20, $f28
/* A2D044 80242E04 C6220000 */ lwc1 $f2, ($s1)
/* A2D048 80242E08 46141082 */ mul.s $f2, $f2, $f20
/* A2D04C 80242E0C 00000000 */ nop
/* A2D050 80242E10 0260202D */ daddu $a0, $s3, $zero
/* A2D054 80242E14 46020000 */ add.s $f0, $f0, $f2
/* A2D058 80242E18 3C05FE36 */ lui $a1, 0xfe36
/* A2D05C 80242E1C 34A53C81 */ ori $a1, $a1, 0x3c81
/* A2D060 80242E20 0C0B210B */ jal evt_get_float_variable
/* A2D064 80242E24 E6400000 */ swc1 $f0, ($s2)
/* A2D068 80242E28 461C0002 */ mul.s $f0, $f0, $f28
/* A2D06C 80242E2C 00000000 */ nop
/* A2D070 80242E30 C6220004 */ lwc1 $f2, 4($s1)
/* A2D074 80242E34 46141082 */ mul.s $f2, $f2, $f20
/* A2D078 80242E38 00000000 */ nop
/* A2D07C 80242E3C 46020000 */ add.s $f0, $f0, $f2
/* A2D080 80242E40 C7A40010 */ lwc1 $f4, 0x10($sp)
/* A2D084 80242E44 0260202D */ daddu $a0, $s3, $zero
/* A2D088 80242E48 46040000 */ add.s $f0, $f0, $f4
/* A2D08C 80242E4C 3C05FE36 */ lui $a1, 0xfe36
/* A2D090 80242E50 34A53C82 */ ori $a1, $a1, 0x3c82
/* A2D094 80242E54 0C0B210B */ jal evt_get_float_variable
/* A2D098 80242E58 E6400004 */ swc1 $f0, 4($s2)
/* A2D09C 80242E5C 461C0002 */ mul.s $f0, $f0, $f28
/* A2D0A0 80242E60 00000000 */ nop
/* A2D0A4 80242E64 C6220008 */ lwc1 $f2, 8($s1)
/* A2D0A8 80242E68 46141082 */ mul.s $f2, $f2, $f20
/* A2D0AC 80242E6C 00000000 */ nop
/* A2D0B0 80242E70 08090BC8 */ j .L80242F20
/* A2D0B4 80242E74 46020000 */ add.s $f0, $f0, $f2
.L80242E78:
/* A2D0B8 80242E78 0260202D */ daddu $a0, $s3, $zero
/* A2D0BC 80242E7C 3C05FE36 */ lui $a1, 0xfe36
/* A2D0C0 80242E80 0C0B210B */ jal evt_get_float_variable
/* A2D0C4 80242E84 34A53C80 */ ori $a1, $a1, 0x3c80
/* A2D0C8 80242E88 461C0002 */ mul.s $f0, $f0, $f28
/* A2D0CC 80242E8C 00000000 */ nop
/* A2D0D0 80242E90 3C013F80 */ lui $at, 0x3f80
/* A2D0D4 80242E94 4481A000 */ mtc1 $at, $f20
/* A2D0D8 80242E98 00000000 */ nop
/* A2D0DC 80242E9C 461CA501 */ sub.s $f20, $f20, $f28
/* A2D0E0 80242EA0 C6220000 */ lwc1 $f2, ($s1)
/* A2D0E4 80242EA4 46141082 */ mul.s $f2, $f2, $f20
/* A2D0E8 80242EA8 00000000 */ nop
/* A2D0EC 80242EAC 46020000 */ add.s $f0, $f0, $f2
/* A2D0F0 80242EB0 3C014248 */ lui $at, 0x4248
/* A2D0F4 80242EB4 4481B000 */ mtc1 $at, $f22
/* A2D0F8 80242EB8 0260202D */ daddu $a0, $s3, $zero
/* A2D0FC 80242EBC 46160001 */ sub.s $f0, $f0, $f22
/* A2D100 80242EC0 3C05FE36 */ lui $a1, 0xfe36
/* A2D104 80242EC4 34A53C81 */ ori $a1, $a1, 0x3c81
/* A2D108 80242EC8 0C0B210B */ jal evt_get_float_variable
/* A2D10C 80242ECC E6400000 */ swc1 $f0, ($s2)
/* A2D110 80242ED0 461C0002 */ mul.s $f0, $f0, $f28
/* A2D114 80242ED4 00000000 */ nop
/* A2D118 80242ED8 C6220004 */ lwc1 $f2, 4($s1)
/* A2D11C 80242EDC 46141082 */ mul.s $f2, $f2, $f20
/* A2D120 80242EE0 00000000 */ nop
/* A2D124 80242EE4 46020000 */ add.s $f0, $f0, $f2
/* A2D128 80242EE8 C7A40010 */ lwc1 $f4, 0x10($sp)
/* A2D12C 80242EEC 0260202D */ daddu $a0, $s3, $zero
/* A2D130 80242EF0 46040000 */ add.s $f0, $f0, $f4
/* A2D134 80242EF4 3C05FE36 */ lui $a1, 0xfe36
/* A2D138 80242EF8 34A53C82 */ ori $a1, $a1, 0x3c82
/* A2D13C 80242EFC 0C0B210B */ jal evt_get_float_variable
/* A2D140 80242F00 E6400004 */ swc1 $f0, 4($s2)
/* A2D144 80242F04 461C0002 */ mul.s $f0, $f0, $f28
/* A2D148 80242F08 00000000 */ nop
/* A2D14C 80242F0C C6220008 */ lwc1 $f2, 8($s1)
/* A2D150 80242F10 46141082 */ mul.s $f2, $f2, $f20
/* A2D154 80242F14 00000000 */ nop
/* A2D158 80242F18 46020000 */ add.s $f0, $f0, $f2
/* A2D15C 80242F1C 46160001 */ sub.s $f0, $f0, $f22
.L80242F20:
/* A2D160 80242F20 E6400008 */ swc1 $f0, 8($s2)
/* A2D164 80242F24 AE750084 */ sw $s5, 0x84($s3)
/* A2D168 80242F28 AE700088 */ sw $s0, 0x88($s3)
/* A2D16C 80242F2C AE74008C */ sw $s4, 0x8c($s3)
/* A2D170 80242F30 8FBF0034 */ lw $ra, 0x34($sp)
/* A2D174 80242F34 8FB60030 */ lw $s6, 0x30($sp)
/* A2D178 80242F38 8FB5002C */ lw $s5, 0x2c($sp)
/* A2D17C 80242F3C 8FB40028 */ lw $s4, 0x28($sp)
/* A2D180 80242F40 8FB30024 */ lw $s3, 0x24($sp)
/* A2D184 80242F44 8FB20020 */ lw $s2, 0x20($sp)
/* A2D188 80242F48 8FB1001C */ lw $s1, 0x1c($sp)
/* A2D18C 80242F4C 8FB00018 */ lw $s0, 0x18($sp)
/* A2D190 80242F50 D7BE0060 */ ldc1 $f30, 0x60($sp)
/* A2D194 80242F54 D7BC0058 */ ldc1 $f28, 0x58($sp)
/* A2D198 80242F58 D7BA0050 */ ldc1 $f26, 0x50($sp)
/* A2D19C 80242F5C D7B80048 */ ldc1 $f24, 0x48($sp)
/* A2D1A0 80242F60 D7B60040 */ ldc1 $f22, 0x40($sp)
/* A2D1A4 80242F64 D7B40038 */ ldc1 $f20, 0x38($sp)
/* A2D1A8 80242F68 24020002 */ addiu $v0, $zero, 2
/* A2D1AC 80242F6C 03E00008 */ jr $ra
/* A2D1B0 80242F70 27BD0068 */ addiu $sp, $sp, 0x68

View File

@ -1,149 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel dispatch_damage_event_actor
/* 1A6FB4 802786D4 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 1A6FB8 802786D8 AFB00018 */ sw $s0, 0x18($sp)
/* 1A6FBC 802786DC 0080802D */ daddu $s0, $a0, $zero
/* 1A6FC0 802786E0 AFB20020 */ sw $s2, 0x20($sp)
/* 1A6FC4 802786E4 00C0902D */ daddu $s2, $a2, $zero
/* 1A6FC8 802786E8 AFB30024 */ sw $s3, 0x24($sp)
/* 1A6FCC 802786EC 3C13800E */ lui $s3, %hi(gBattleStatus)
/* 1A6FD0 802786F0 2673C070 */ addiu $s3, $s3, %lo(gBattleStatus)
/* 1A6FD4 802786F4 AFBF0028 */ sw $ra, 0x28($sp)
/* 1A6FD8 802786F8 AFB1001C */ sw $s1, 0x1c($sp)
/* 1A6FDC 802786FC A665017E */ sh $a1, 0x17e($s3)
/* 1A6FE0 80278700 00052C00 */ sll $a1, $a1, 0x10
/* 1A6FE4 80278704 00052C03 */ sra $a1, $a1, 0x10
/* 1A6FE8 80278708 960301FA */ lhu $v1, 0x1fa($s0)
/* 1A6FEC 8027870C 960201FC */ lhu $v0, 0x1fc($s0)
/* 1A6FF0 80278710 00651821 */ addu $v1, $v1, $a1
/* 1A6FF4 80278714 A60301FA */ sh $v1, 0x1fa($s0)
/* 1A6FF8 80278718 00031C00 */ sll $v1, $v1, 0x10
/* 1A6FFC 8027871C 00031C03 */ sra $v1, $v1, 0x10
/* 1A7000 80278720 960401FA */ lhu $a0, 0x1fa($s0)
/* 1A7004 80278724 00431021 */ addu $v0, $v0, $v1
/* 1A7008 80278728 A60201FC */ sh $v0, 0x1fc($s0)
/* 1A700C 8027872C 00832023 */ subu $a0, $a0, $v1
/* 1A7010 80278730 A60401FA */ sh $a0, 0x1fa($s0)
/* 1A7014 80278734 A6600180 */ sh $zero, 0x180($s3)
/* 1A7018 80278738 920201B8 */ lbu $v0, 0x1b8($s0)
/* 1A701C 8027873C 0060282D */ daddu $a1, $v1, $zero
/* 1A7020 80278740 00451023 */ subu $v0, $v0, $a1
/* 1A7024 80278744 A20201B8 */ sb $v0, 0x1b8($s0)
/* 1A7028 80278748 00021600 */ sll $v0, $v0, 0x18
/* 1A702C 8027874C 00021E03 */ sra $v1, $v0, 0x18
/* 1A7030 80278750 1C600006 */ bgtz $v1, .L8027876C
/* 1A7034 80278754 2611000C */ addiu $s1, $s0, 0xc
/* 1A7038 80278758 96620180 */ lhu $v0, 0x180($s3)
/* 1A703C 8027875C 24120020 */ addiu $s2, $zero, 0x20
/* 1A7040 80278760 00431021 */ addu $v0, $v0, $v1
/* 1A7044 80278764 A6620180 */ sh $v0, 0x180($s3)
/* 1A7048 80278768 A20001B8 */ sb $zero, 0x1b8($s0)
.L8027876C:
/* 1A704C 8027876C 96620180 */ lhu $v0, 0x180($s3)
/* 1A7050 80278770 00451021 */ addu $v0, $v0, $a1
/* 1A7054 80278774 A6620180 */ sh $v0, 0x180($s3)
/* 1A7058 80278778 A60201F8 */ sh $v0, 0x1f8($s0)
/* 1A705C 8027877C 8E620000 */ lw $v0, ($s3)
/* 1A7060 80278780 30420020 */ andi $v0, $v0, 0x20
/* 1A7064 80278784 10400007 */ beqz $v0, .L802787A4
/* 1A7068 80278788 A260019A */ sb $zero, 0x19a($s3)
/* 1A706C 8027878C 24020009 */ addiu $v0, $zero, 9
/* 1A7070 80278790 52420001 */ beql $s2, $v0, .L80278798
/* 1A7074 80278794 2412000A */ addiu $s2, $zero, 0xa
.L80278798:
/* 1A7078 80278798 24020017 */ addiu $v0, $zero, 0x17
/* 1A707C 8027879C 52420001 */ beql $s2, $v0, .L802787A4
/* 1A7080 802787A0 24120019 */ addiu $s2, $zero, 0x19
.L802787A4:
/* 1A7084 802787A4 24020020 */ addiu $v0, $zero, 0x20
/* 1A7088 802787A8 16420006 */ bne $s2, $v0, .L802787C4
/* 1A708C 802787AC 24020011 */ addiu $v0, $zero, 0x11
/* 1A7090 802787B0 50C20001 */ beql $a2, $v0, .L802787B8
/* 1A7094 802787B4 24120025 */ addiu $s2, $zero, 0x25
.L802787B8:
/* 1A7098 802787B8 2402002F */ addiu $v0, $zero, 0x2f
/* 1A709C 802787BC 50C20001 */ beql $a2, $v0, .L802787C4
/* 1A70A0 802787C0 24120026 */ addiu $s2, $zero, 0x26
.L802787C4:
/* 1A70A4 802787C4 54E0002C */ bnel $a3, $zero, .L80278878
/* 1A70A8 802787C8 AFA00010 */ sw $zero, 0x10($sp)
/* 1A70AC 802787CC 0200202D */ daddu $a0, $s0, $zero
/* 1A70B0 802787D0 86110428 */ lh $s1, 0x428($s0)
/* 1A70B4 802787D4 0C098C8C */ jal func_80263230
/* 1A70B8 802787D8 0200282D */ daddu $a1, $s0, $zero
/* 1A70BC 802787DC 50400032 */ beql $v0, $zero, .L802788A8
/* 1A70C0 802787E0 A6110428 */ sh $s1, 0x428($s0)
/* 1A70C4 802787E4 86020230 */ lh $v0, 0x230($s0)
/* 1A70C8 802787E8 86030232 */ lh $v1, 0x232($s0)
/* 1A70CC 802787EC 86040234 */ lh $a0, 0x234($s0)
/* 1A70D0 802787F0 AFA00010 */ sw $zero, 0x10($sp)
/* 1A70D4 802787F4 86670180 */ lh $a3, 0x180($s3)
/* 1A70D8 802787F8 44826000 */ mtc1 $v0, $f12
/* 1A70DC 802787FC 00000000 */ nop
/* 1A70E0 80278800 46806320 */ cvt.s.w $f12, $f12
/* 1A70E4 80278804 44840000 */ mtc1 $a0, $f0
/* 1A70E8 80278808 00000000 */ nop
/* 1A70EC 8027880C 46800020 */ cvt.s.w $f0, $f0
/* 1A70F0 80278810 44060000 */ mfc1 $a2, $f0
/* 1A70F4 80278814 44837000 */ mtc1 $v1, $f14
/* 1A70F8 80278818 00000000 */ nop
/* 1A70FC 8027881C 0C09996B */ jal show_damage_popup
/* 1A7100 80278820 468073A0 */ cvt.s.w $f14, $f14
/* 1A7104 80278824 86020230 */ lh $v0, 0x230($s0)
/* 1A7108 80278828 86030232 */ lh $v1, 0x232($s0)
/* 1A710C 8027882C 44820000 */ mtc1 $v0, $f0
/* 1A7110 80278830 00000000 */ nop
/* 1A7114 80278834 46800020 */ cvt.s.w $f0, $f0
/* 1A7118 80278838 44050000 */ mfc1 $a1, $f0
/* 1A711C 8027883C 44830000 */ mtc1 $v1, $f0
/* 1A7120 80278840 00000000 */ nop
/* 1A7124 80278844 46800020 */ cvt.s.w $f0, $f0
/* 1A7128 80278848 44060000 */ mfc1 $a2, $f0
/* 1A712C 8027884C 86020234 */ lh $v0, 0x234($s0)
/* 1A7130 80278850 86630180 */ lh $v1, 0x180($s3)
/* 1A7134 80278854 44820000 */ mtc1 $v0, $f0
/* 1A7138 80278858 00000000 */ nop
/* 1A713C 8027885C 46800020 */ cvt.s.w $f0, $f0
/* 1A7140 80278860 44070000 */ mfc1 $a3, $f0
/* 1A7144 80278864 0200202D */ daddu $a0, $s0, $zero
/* 1A7148 80278868 0C0999B9 */ jal func_802666E4
/* 1A714C 8027886C AFA30010 */ sw $v1, 0x10($sp)
/* 1A7150 80278870 0809E22A */ j .L802788A8
/* 1A7154 80278874 A6110428 */ sh $s1, 0x428($s0)
.L80278878:
/* 1A7158 80278878 C62C000C */ lwc1 $f12, 0xc($s1)
/* 1A715C 8027887C C62E0010 */ lwc1 $f14, 0x10($s1)
/* 1A7160 80278880 86670180 */ lh $a3, 0x180($s3)
/* 1A7164 80278884 0C09996B */ jal show_damage_popup
/* 1A7168 80278888 8E260014 */ lw $a2, 0x14($s1)
/* 1A716C 8027888C 86620180 */ lh $v0, 0x180($s3)
/* 1A7170 80278890 AFA20010 */ sw $v0, 0x10($sp)
/* 1A7174 80278894 8E25000C */ lw $a1, 0xc($s1)
/* 1A7178 80278898 8E260010 */ lw $a2, 0x10($s1)
/* 1A717C 8027889C 8E270014 */ lw $a3, 0x14($s1)
/* 1A7180 802788A0 0C0999B9 */ jal func_802666E4
/* 1A7184 802788A4 0200202D */ daddu $a0, $s0, $zero
.L802788A8:
/* 1A7188 802788A8 86620180 */ lh $v0, 0x180($s3)
/* 1A718C 802788AC 18400003 */ blez $v0, .L802788BC
/* 1A7190 802788B0 0200202D */ daddu $a0, $s0, $zero
/* 1A7194 802788B4 0C099C06 */ jal func_80267018
/* 1A7198 802788B8 24050001 */ addiu $a1, $zero, 1
.L802788BC:
/* 1A719C 802788BC 0200202D */ daddu $a0, $s0, $zero
/* 1A71A0 802788C0 0240282D */ daddu $a1, $s2, $zero
/* 1A71A4 802788C4 8C820000 */ lw $v0, ($a0)
/* 1A71A8 802788C8 3C030008 */ lui $v1, 8
/* 1A71AC 802788CC 00431025 */ or $v0, $v0, $v1
/* 1A71B0 802788D0 0C09DC58 */ jal dispatch_event_actor
/* 1A71B4 802788D4 AC820000 */ sw $v0, ($a0)
/* 1A71B8 802788D8 8FBF0028 */ lw $ra, 0x28($sp)
/* 1A71BC 802788DC 8FB30024 */ lw $s3, 0x24($sp)
/* 1A71C0 802788E0 8FB20020 */ lw $s2, 0x20($sp)
/* 1A71C4 802788E4 8FB1001C */ lw $s1, 0x1c($sp)
/* 1A71C8 802788E8 8FB00018 */ lw $s0, 0x18($sp)
/* 1A71CC 802788EC 0000102D */ daddu $v0, $zero, $zero
/* 1A71D0 802788F0 03E00008 */ jr $ra
/* 1A71D4 802788F4 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,372 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel update_camera_mode_2
/* A0F8 8002ECF8 27BDFFB8 */ addiu $sp, $sp, -0x48
/* A0FC 8002ECFC AFB00010 */ sw $s0, 0x10($sp)
/* A100 8002ED00 0080802D */ daddu $s0, $a0, $zero
/* A104 8002ED04 AFBF0014 */ sw $ra, 0x14($sp)
/* A108 8002ED08 F7BE0040 */ sdc1 $f30, 0x40($sp)
/* A10C 8002ED0C F7BC0038 */ sdc1 $f28, 0x38($sp)
/* A110 8002ED10 F7BA0030 */ sdc1 $f26, 0x30($sp)
/* A114 8002ED14 F7B80028 */ sdc1 $f24, 0x28($sp)
/* A118 8002ED18 F7B60020 */ sdc1 $f22, 0x20($sp)
/* A11C 8002ED1C F7B40018 */ sdc1 $f20, 0x18($sp)
/* A120 8002ED20 86020020 */ lh $v0, 0x20($s0)
/* A124 8002ED24 3C01800A */ lui $at, %hi(D_8009A5EC)
/* A128 8002ED28 C426A5EC */ lwc1 $f6, %lo(D_8009A5EC)($at)
/* A12C 8002ED2C 86030022 */ lh $v1, 0x22($s0)
/* A130 8002ED30 44822000 */ mtc1 $v0, $f4
/* A134 8002ED34 00000000 */ nop
/* A138 8002ED38 46802120 */ cvt.s.w $f4, $f4
/* A13C 8002ED3C 44831000 */ mtc1 $v1, $f2
/* A140 8002ED40 00000000 */ nop
/* A144 8002ED44 468010A0 */ cvt.s.w $f2, $f2
/* A148 8002ED48 46062102 */ mul.s $f4, $f4, $f6
/* A14C 8002ED4C 00000000 */ nop
/* A150 8002ED50 8602001E */ lh $v0, 0x1e($s0)
/* A154 8002ED54 86030006 */ lh $v1, 6($s0)
/* A158 8002ED58 44820000 */ mtc1 $v0, $f0
/* A15C 8002ED5C 00000000 */ nop
/* A160 8002ED60 46800020 */ cvt.s.w $f0, $f0
/* A164 8002ED64 8602001C */ lh $v0, 0x1c($s0)
/* A168 8002ED68 46061082 */ mul.s $f2, $f2, $f6
/* A16C 8002ED6C 00000000 */ nop
/* A170 8002ED70 E6000070 */ swc1 $f0, 0x70($s0)
/* A174 8002ED74 46000186 */ mov.s $f6, $f0
/* A178 8002ED78 E6060084 */ swc1 $f6, 0x84($s0)
/* A17C 8002ED7C 44820000 */ mtc1 $v0, $f0
/* A180 8002ED80 00000000 */ nop
/* A184 8002ED84 46800020 */ cvt.s.w $f0, $f0
/* A188 8002ED88 E6000074 */ swc1 $f0, 0x74($s0)
/* A18C 8002ED8C E6040078 */ swc1 $f4, 0x78($s0)
/* A190 8002ED90 10600047 */ beqz $v1, .L8002EEB0
/* A194 8002ED94 E602007C */ swc1 $f2, 0x7c($s0)
/* A198 8002ED98 46000086 */ mov.s $f2, $f0
/* A19C 8002ED9C 4480C000 */ mtc1 $zero, $f24
/* A1A0 8002EDA0 3C0140C9 */ lui $at, 0x40c9
/* A1A4 8002EDA4 34210FD0 */ ori $at, $at, 0xfd0
/* A1A8 8002EDA8 4481B000 */ mtc1 $at, $f22
/* A1AC 8002EDAC C6080054 */ lwc1 $f8, 0x54($s0)
/* A1B0 8002EDB0 C6000058 */ lwc1 $f0, 0x58($s0)
/* A1B4 8002EDB4 C604007C */ lwc1 $f4, 0x7c($s0)
/* A1B8 8002EDB8 C606005C */ lwc1 $f6, 0x5c($s0)
/* A1BC 8002EDBC 3C0143B4 */ lui $at, 0x43b4
/* A1C0 8002EDC0 4481A000 */ mtc1 $at, $f20
/* A1C4 8002EDC4 46161082 */ mul.s $f2, $f2, $f22
/* A1C8 8002EDC8 00000000 */ nop
/* A1CC 8002EDCC A6000006 */ sh $zero, 6($s0)
/* A1D0 8002EDD0 E6180098 */ swc1 $f24, 0x98($s0)
/* A1D4 8002EDD4 E618009C */ swc1 $f24, 0x9c($s0)
/* A1D8 8002EDD8 46040000 */ add.s $f0, $f0, $f4
/* A1DC 8002EDDC E6080048 */ swc1 $f8, 0x48($s0)
/* A1E0 8002EDE0 E6060050 */ swc1 $f6, 0x50($s0)
/* A1E4 8002EDE4 E600004C */ swc1 $f0, 0x4c($s0)
/* A1E8 8002EDE8 46141683 */ div.s $f26, $f2, $f20
/* A1EC 8002EDEC 0C00A85B */ jal sin_rad
/* A1F0 8002EDF0 4600D306 */ mov.s $f12, $f26
/* A1F4 8002EDF4 46000786 */ mov.s $f30, $f0
/* A1F8 8002EDF8 0C00A874 */ jal cos_rad
/* A1FC 8002EDFC 4600D306 */ mov.s $f12, $f26
/* A200 8002EE00 46000306 */ mov.s $f12, $f0
/* A204 8002EE04 46186202 */ mul.s $f8, $f12, $f24
/* A208 8002EE08 00000000 */ nop
/* A20C 8002EE0C 4600C087 */ neg.s $f2, $f24
/* A210 8002EE10 4602F082 */ mul.s $f2, $f30, $f2
/* A214 8002EE14 00000000 */ nop
/* A218 8002EE18 C61C0078 */ lwc1 $f28, 0x78($s0)
/* A21C 8002EE1C 461EE102 */ mul.s $f4, $f28, $f30
/* A220 8002EE20 00000000 */ nop
/* A224 8002EE24 460CE182 */ mul.s $f6, $f28, $f12
/* A228 8002EE28 00000000 */ nop
/* A22C 8002EE2C C6000070 */ lwc1 $f0, 0x70($s0)
/* A230 8002EE30 46160002 */ mul.s $f0, $f0, $f22
/* A234 8002EE34 00000000 */ nop
/* A238 8002EE38 4600C286 */ mov.s $f10, $f24
/* A23C 8002EE3C 46005586 */ mov.s $f22, $f10
/* A240 8002EE40 46044600 */ add.s $f24, $f8, $f4
/* A244 8002EE44 46140683 */ div.s $f26, $f0, $f20
/* A248 8002EE48 4600D306 */ mov.s $f12, $f26
/* A24C 8002EE4C 0C00A85B */ jal sin_rad
/* A250 8002EE50 46061700 */ add.s $f28, $f2, $f6
/* A254 8002EE54 46000786 */ mov.s $f30, $f0
/* A258 8002EE58 0C00A874 */ jal cos_rad
/* A25C 8002EE5C 4600D306 */ mov.s $f12, $f26
/* A260 8002EE60 46000306 */ mov.s $f12, $f0
/* A264 8002EE64 46166202 */ mul.s $f8, $f12, $f22
/* A268 8002EE68 00000000 */ nop
/* A26C 8002EE6C 4616F182 */ mul.s $f6, $f30, $f22
/* A270 8002EE70 00000000 */ nop
/* A274 8002EE74 461EE102 */ mul.s $f4, $f28, $f30
/* A278 8002EE78 00000000 */ nop
/* A27C 8002EE7C 460CE082 */ mul.s $f2, $f28, $f12
/* A280 8002EE80 00000000 */ nop
/* A284 8002EE84 C600004C */ lwc1 $f0, 0x4c($s0)
/* A288 8002EE88 46180400 */ add.s $f16, $f0, $f24
/* A28C 8002EE8C 46044281 */ sub.s $f10, $f8, $f4
/* A290 8002EE90 46023080 */ add.s $f2, $f6, $f2
/* A294 8002EE94 C6000048 */ lwc1 $f0, 0x48($s0)
/* A298 8002EE98 460A0100 */ add.s $f4, $f0, $f10
/* A29C 8002EE9C C6000050 */ lwc1 $f0, 0x50($s0)
/* A2A0 8002EEA0 46020200 */ add.s $f8, $f0, $f2
/* A2A4 8002EEA4 E6100040 */ swc1 $f16, 0x40($s0)
/* A2A8 8002EEA8 E604003C */ swc1 $f4, 0x3c($s0)
/* A2AC 8002EEAC E6080044 */ swc1 $f8, 0x44($s0)
.L8002EEB0:
/* A2B0 8002EEB0 C6020054 */ lwc1 $f2, 0x54($s0)
/* A2B4 8002EEB4 C6000048 */ lwc1 $f0, 0x48($s0)
/* A2B8 8002EEB8 46001101 */ sub.s $f4, $f2, $f0
/* A2BC 8002EEBC C602005C */ lwc1 $f2, 0x5c($s0)
/* A2C0 8002EEC0 C6000050 */ lwc1 $f0, 0x50($s0)
/* A2C4 8002EEC4 46001201 */ sub.s $f8, $f2, $f0
/* A2C8 8002EEC8 C6000058 */ lwc1 $f0, 0x58($s0)
/* A2CC 8002EECC C602007C */ lwc1 $f2, 0x7c($s0)
/* A2D0 8002EED0 46020000 */ add.s $f0, $f0, $f2
/* A2D4 8002EED4 C602004C */ lwc1 $f2, 0x4c($s0)
/* A2D8 8002EED8 46020401 */ sub.s $f16, $f0, $f2
/* A2DC 8002EEDC 3C014180 */ lui $at, 0x4180
/* A2E0 8002EEE0 44811000 */ mtc1 $at, $f2
/* A2E4 8002EEE4 46002005 */ abs.s $f0, $f4
/* A2E8 8002EEE8 4600103C */ c.lt.s $f2, $f0
/* A2EC 8002EEEC 00000000 */ nop
/* A2F0 8002EEF0 4502000C */ bc1fl .L8002EF24
/* A2F4 8002EEF4 46008005 */ abs.s $f0, $f16
/* A2F8 8002EEF8 44800000 */ mtc1 $zero, $f0
/* A2FC 8002EEFC 00000000 */ nop
/* A300 8002EF00 4600203C */ c.lt.s $f4, $f0
/* A304 8002EF04 00000000 */ nop
/* A308 8002EF08 45000005 */ bc1f .L8002EF20
/* A30C 8002EF0C 46001106 */ mov.s $f4, $f2
/* A310 8002EF10 3C01C180 */ lui $at, 0xc180
/* A314 8002EF14 44812000 */ mtc1 $at, $f4
/* A318 8002EF18 3C014180 */ lui $at, 0x4180
/* A31C 8002EF1C 44811000 */ mtc1 $at, $f2
.L8002EF20:
/* A320 8002EF20 46008005 */ abs.s $f0, $f16
.L8002EF24:
/* A324 8002EF24 4600103C */ c.lt.s $f2, $f0
/* A328 8002EF28 00000000 */ nop
/* A32C 8002EF2C 45000009 */ bc1f .L8002EF54
/* A330 8002EF30 00000000 */ nop
/* A334 8002EF34 44800000 */ mtc1 $zero, $f0
/* A338 8002EF38 00000000 */ nop
/* A33C 8002EF3C 4600803C */ c.lt.s $f16, $f0
/* A340 8002EF40 00000000 */ nop
/* A344 8002EF44 45000003 */ bc1f .L8002EF54
/* A348 8002EF48 46001406 */ mov.s $f16, $f2
/* A34C 8002EF4C 3C01C180 */ lui $at, 0xc180
/* A350 8002EF50 44818000 */ mtc1 $at, $f16
.L8002EF54:
/* A354 8002EF54 3C014180 */ lui $at, 0x4180
/* A358 8002EF58 44811000 */ mtc1 $at, $f2
/* A35C 8002EF5C 46004005 */ abs.s $f0, $f8
/* A360 8002EF60 4600103C */ c.lt.s $f2, $f0
/* A364 8002EF64 00000000 */ nop
/* A368 8002EF68 45000009 */ bc1f .L8002EF90
/* A36C 8002EF6C 00000000 */ nop
/* A370 8002EF70 44800000 */ mtc1 $zero, $f0
/* A374 8002EF74 00000000 */ nop
/* A378 8002EF78 4600403C */ c.lt.s $f8, $f0
/* A37C 8002EF7C 00000000 */ nop
/* A380 8002EF80 45000003 */ bc1f .L8002EF90
/* A384 8002EF84 46001206 */ mov.s $f8, $f2
/* A388 8002EF88 3C01C180 */ lui $at, 0xc180
/* A38C 8002EF8C 44814000 */ mtc1 $at, $f8
.L8002EF90:
/* A390 8002EF90 3C013F00 */ lui $at, 0x3f00
/* A394 8002EF94 4481A000 */ mtc1 $at, $f20
/* A398 8002EF98 00000000 */ nop
/* A39C 8002EF9C 46142082 */ mul.s $f2, $f4, $f20
/* A3A0 8002EFA0 00000000 */ nop
/* A3A4 8002EFA4 46148182 */ mul.s $f6, $f16, $f20
/* A3A8 8002EFA8 00000000 */ nop
/* A3AC 8002EFAC 46144202 */ mul.s $f8, $f8, $f20
/* A3B0 8002EFB0 00000000 */ nop
/* A3B4 8002EFB4 C6000074 */ lwc1 $f0, 0x74($s0)
/* A3B8 8002EFB8 3C0140C9 */ lui $at, 0x40c9
/* A3BC 8002EFBC 34210FD0 */ ori $at, $at, 0xfd0
/* A3C0 8002EFC0 4481B000 */ mtc1 $at, $f22
/* A3C4 8002EFC4 00000000 */ nop
/* A3C8 8002EFC8 46160002 */ mul.s $f0, $f0, $f22
/* A3CC 8002EFCC 00000000 */ nop
/* A3D0 8002EFD0 4480C000 */ mtc1 $zero, $f24
/* A3D4 8002EFD4 C6040048 */ lwc1 $f4, 0x48($s0)
/* A3D8 8002EFD8 3C0143B4 */ lui $at, 0x43b4
/* A3DC 8002EFDC 44819000 */ mtc1 $at, $f18
/* A3E0 8002EFE0 46022100 */ add.s $f4, $f4, $f2
/* A3E4 8002EFE4 C602004C */ lwc1 $f2, 0x4c($s0)
/* A3E8 8002EFE8 46120683 */ div.s $f26, $f0, $f18
/* A3EC 8002EFEC 46061080 */ add.s $f2, $f2, $f6
/* A3F0 8002EFF0 C6000050 */ lwc1 $f0, 0x50($s0)
/* A3F4 8002EFF4 4600D306 */ mov.s $f12, $f26
/* A3F8 8002EFF8 46080000 */ add.s $f0, $f0, $f8
/* A3FC 8002EFFC E6040048 */ swc1 $f4, 0x48($s0)
/* A400 8002F000 E602004C */ swc1 $f2, 0x4c($s0)
/* A404 8002F004 0C00A85B */ jal sin_rad
/* A408 8002F008 E6000050 */ swc1 $f0, 0x50($s0)
/* A40C 8002F00C 46000786 */ mov.s $f30, $f0
/* A410 8002F010 0C00A874 */ jal cos_rad
/* A414 8002F014 4600D306 */ mov.s $f12, $f26
/* A418 8002F018 46000306 */ mov.s $f12, $f0
/* A41C 8002F01C 46186202 */ mul.s $f8, $f12, $f24
/* A420 8002F020 00000000 */ nop
/* A424 8002F024 4600C087 */ neg.s $f2, $f24
/* A428 8002F028 4602F082 */ mul.s $f2, $f30, $f2
/* A42C 8002F02C 00000000 */ nop
/* A430 8002F030 C61C0078 */ lwc1 $f28, 0x78($s0)
/* A434 8002F034 461EE102 */ mul.s $f4, $f28, $f30
/* A438 8002F038 00000000 */ nop
/* A43C 8002F03C 460CE182 */ mul.s $f6, $f28, $f12
/* A440 8002F040 00000000 */ nop
/* A444 8002F044 C6000070 */ lwc1 $f0, 0x70($s0)
/* A448 8002F048 46160002 */ mul.s $f0, $f0, $f22
/* A44C 8002F04C 00000000 */ nop
/* A450 8002F050 4600C286 */ mov.s $f10, $f24
/* A454 8002F054 3C0143B4 */ lui $at, 0x43b4
/* A458 8002F058 44819000 */ mtc1 $at, $f18
/* A45C 8002F05C 46005586 */ mov.s $f22, $f10
/* A460 8002F060 46044600 */ add.s $f24, $f8, $f4
/* A464 8002F064 46120683 */ div.s $f26, $f0, $f18
/* A468 8002F068 4600D306 */ mov.s $f12, $f26
/* A46C 8002F06C 0C00A85B */ jal sin_rad
/* A470 8002F070 46061700 */ add.s $f28, $f2, $f6
/* A474 8002F074 46000786 */ mov.s $f30, $f0
/* A478 8002F078 0C00A874 */ jal cos_rad
/* A47C 8002F07C 4600D306 */ mov.s $f12, $f26
/* A480 8002F080 46000306 */ mov.s $f12, $f0
/* A484 8002F084 461EE002 */ mul.s $f0, $f28, $f30
/* A488 8002F088 00000000 */ nop
/* A48C 8002F08C C602004C */ lwc1 $f2, 0x4c($s0)
/* A490 8002F090 46181400 */ add.s $f16, $f2, $f24
/* A494 8002F094 C6020040 */ lwc1 $f2, 0x40($s0)
/* A498 8002F098 46028081 */ sub.s $f2, $f16, $f2
/* A49C 8002F09C 46141402 */ mul.s $f16, $f2, $f20
/* A4A0 8002F0A0 00000000 */ nop
/* A4A4 8002F0A4 46166082 */ mul.s $f2, $f12, $f22
/* A4A8 8002F0A8 00000000 */ nop
/* A4AC 8002F0AC 46001281 */ sub.s $f10, $f2, $f0
/* A4B0 8002F0B0 4616F082 */ mul.s $f2, $f30, $f22
/* A4B4 8002F0B4 00000000 */ nop
/* A4B8 8002F0B8 C6000048 */ lwc1 $f0, 0x48($s0)
/* A4BC 8002F0BC 460A0100 */ add.s $f4, $f0, $f10
/* A4C0 8002F0C0 C600003C */ lwc1 $f0, 0x3c($s0)
/* A4C4 8002F0C4 46002001 */ sub.s $f0, $f4, $f0
/* A4C8 8002F0C8 46140102 */ mul.s $f4, $f0, $f20
/* A4CC 8002F0CC 00000000 */ nop
/* A4D0 8002F0D0 460CE002 */ mul.s $f0, $f28, $f12
/* A4D4 8002F0D4 00000000 */ nop
/* A4D8 8002F0D8 46001080 */ add.s $f2, $f2, $f0
/* A4DC 8002F0DC C6000050 */ lwc1 $f0, 0x50($s0)
/* A4E0 8002F0E0 46020200 */ add.s $f8, $f0, $f2
/* A4E4 8002F0E4 C6000044 */ lwc1 $f0, 0x44($s0)
/* A4E8 8002F0E8 46004001 */ sub.s $f0, $f8, $f0
/* A4EC 8002F0EC 46140202 */ mul.s $f8, $f0, $f20
/* A4F0 8002F0F0 00000000 */ nop
/* A4F4 8002F0F4 3C014180 */ lui $at, 0x4180
/* A4F8 8002F0F8 44811000 */ mtc1 $at, $f2
/* A4FC 8002F0FC 46002005 */ abs.s $f0, $f4
/* A500 8002F100 4600103C */ c.lt.s $f2, $f0
/* A504 8002F104 00000000 */ nop
/* A508 8002F108 4502000A */ bc1fl .L8002F134
/* A50C 8002F10C 46008005 */ abs.s $f0, $f16
/* A510 8002F110 4616203C */ c.lt.s $f4, $f22
/* A514 8002F114 00000000 */ nop
/* A518 8002F118 45000005 */ bc1f .L8002F130
/* A51C 8002F11C 46001106 */ mov.s $f4, $f2
/* A520 8002F120 3C01C180 */ lui $at, 0xc180
/* A524 8002F124 44812000 */ mtc1 $at, $f4
/* A528 8002F128 3C014180 */ lui $at, 0x4180
/* A52C 8002F12C 44811000 */ mtc1 $at, $f2
.L8002F130:
/* A530 8002F130 46008005 */ abs.s $f0, $f16
.L8002F134:
/* A534 8002F134 4600103C */ c.lt.s $f2, $f0
/* A538 8002F138 00000000 */ nop
/* A53C 8002F13C 45000009 */ bc1f .L8002F164
/* A540 8002F140 00000000 */ nop
/* A544 8002F144 44800000 */ mtc1 $zero, $f0
/* A548 8002F148 00000000 */ nop
/* A54C 8002F14C 4600803C */ c.lt.s $f16, $f0
/* A550 8002F150 00000000 */ nop
/* A554 8002F154 45000003 */ bc1f .L8002F164
/* A558 8002F158 46001406 */ mov.s $f16, $f2
/* A55C 8002F15C 3C01C180 */ lui $at, 0xc180
/* A560 8002F160 44818000 */ mtc1 $at, $f16
.L8002F164:
/* A564 8002F164 3C014180 */ lui $at, 0x4180
/* A568 8002F168 44811000 */ mtc1 $at, $f2
/* A56C 8002F16C 46004005 */ abs.s $f0, $f8
/* A570 8002F170 4600103C */ c.lt.s $f2, $f0
/* A574 8002F174 00000000 */ nop
/* A578 8002F178 45000009 */ bc1f .L8002F1A0
/* A57C 8002F17C 00000000 */ nop
/* A580 8002F180 44800000 */ mtc1 $zero, $f0
/* A584 8002F184 00000000 */ nop
/* A588 8002F188 4600403C */ c.lt.s $f8, $f0
/* A58C 8002F18C 00000000 */ nop
/* A590 8002F190 45000003 */ bc1f .L8002F1A0
/* A594 8002F194 46001206 */ mov.s $f8, $f2
/* A598 8002F198 3C01C180 */ lui $at, 0xc180
/* A59C 8002F19C 44814000 */ mtc1 $at, $f8
.L8002F1A0:
/* A5A0 8002F1A0 C600003C */ lwc1 $f0, 0x3c($s0)
/* A5A4 8002F1A4 46040000 */ add.s $f0, $f0, $f4
/* A5A8 8002F1A8 C60E0044 */ lwc1 $f14, 0x44($s0)
/* A5AC 8002F1AC 8E060048 */ lw $a2, 0x48($s0)
/* A5B0 8002F1B0 46087380 */ add.s $f14, $f14, $f8
/* A5B4 8002F1B4 C6020040 */ lwc1 $f2, 0x40($s0)
/* A5B8 8002F1B8 8E070050 */ lw $a3, 0x50($s0)
/* A5BC 8002F1BC 46101080 */ add.s $f2, $f2, $f16
/* A5C0 8002F1C0 E600003C */ swc1 $f0, 0x3c($s0)
/* A5C4 8002F1C4 46000306 */ mov.s $f12, $f0
/* A5C8 8002F1C8 E6020040 */ swc1 $f2, 0x40($s0)
/* A5CC 8002F1CC 0C00A720 */ jal atan2
/* A5D0 8002F1D0 E60E0044 */ swc1 $f14, 0x44($s0)
/* A5D4 8002F1D4 C6040048 */ lwc1 $f4, 0x48($s0)
/* A5D8 8002F1D8 4480A000 */ mtc1 $zero, $f20
/* A5DC 8002F1DC C602003C */ lwc1 $f2, 0x3c($s0)
/* A5E0 8002F1E0 E600006C */ swc1 $f0, 0x6c($s0)
/* A5E4 8002F1E4 46022581 */ sub.s $f22, $f4, $f2
/* A5E8 8002F1E8 C6040050 */ lwc1 $f4, 0x50($s0)
/* A5EC 8002F1EC C6020044 */ lwc1 $f2, 0x44($s0)
/* A5F0 8002F1F0 4600A306 */ mov.s $f12, $f20
/* A5F4 8002F1F4 46022701 */ sub.s $f28, $f4, $f2
/* A5F8 8002F1F8 C604004C */ lwc1 $f4, 0x4c($s0)
/* A5FC 8002F1FC C6020040 */ lwc1 $f2, 0x40($s0)
/* A600 8002F200 4406B000 */ mfc1 $a2, $f22
/* A604 8002F204 46022601 */ sub.s $f24, $f4, $f2
/* A608 8002F208 4407E000 */ mfc1 $a3, $f28
/* A60C 8002F20C 0C00A720 */ jal atan2
/* A610 8002F210 4600A386 */ mov.s $f14, $f20
/* A614 8002F214 4616B102 */ mul.s $f4, $f22, $f22
/* A618 8002F218 00000000 */ nop
/* A61C 8002F21C 461CE082 */ mul.s $f2, $f28, $f28
/* A620 8002F220 00000000 */ nop
/* A624 8002F224 46022300 */ add.s $f12, $f4, $f2
/* A628 8002F228 46000007 */ neg.s $f0, $f0
/* A62C 8002F22C E6000090 */ swc1 $f0, 0x90($s0)
/* A630 8002F230 46006004 */ sqrt.s $f0, $f12
/* A634 8002F234 46000032 */ c.eq.s $f0, $f0
/* A638 8002F238 00000000 */ nop
/* A63C 8002F23C 45030004 */ bc1tl .L8002F250
/* A640 8002F240 4600A306 */ mov.s $f12, $f20
/* A644 8002F244 0C0187BC */ jal sqrtf
/* A648 8002F248 00000000 */ nop
/* A64C 8002F24C 4600A306 */ mov.s $f12, $f20
.L8002F250:
/* A650 8002F250 46000007 */ neg.s $f0, $f0
/* A654 8002F254 4406C000 */ mfc1 $a2, $f24
/* A658 8002F258 44070000 */ mfc1 $a3, $f0
/* A65C 8002F25C 0C00A720 */ jal atan2
/* A660 8002F260 46006386 */ mov.s $f14, $f12
/* A664 8002F264 E6000094 */ swc1 $f0, 0x94($s0)
/* A668 8002F268 8FBF0014 */ lw $ra, 0x14($sp)
/* A66C 8002F26C 8FB00010 */ lw $s0, 0x10($sp)
/* A670 8002F270 D7BE0040 */ ldc1 $f30, 0x40($sp)
/* A674 8002F274 D7BC0038 */ ldc1 $f28, 0x38($sp)
/* A678 8002F278 D7BA0030 */ ldc1 $f26, 0x30($sp)
/* A67C 8002F27C D7B80028 */ ldc1 $f24, 0x28($sp)
/* A680 8002F280 D7B60020 */ ldc1 $f22, 0x20($sp)
/* A684 8002F284 D7B40018 */ ldc1 $f20, 0x18($sp)
/* A688 8002F288 03E00008 */ jr $ra
/* A68C 8002F28C 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -1,326 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel test_item_player_collision
/* CA20C 80133B0C 27BDFF90 */ addiu $sp, $sp, -0x70
/* CA210 80133B10 AFB30034 */ sw $s3, 0x34($sp)
/* CA214 80133B14 0080982D */ daddu $s3, $a0, $zero
/* CA218 80133B18 AFB1002C */ sw $s1, 0x2c($sp)
/* CA21C 80133B1C 3C118011 */ lui $s1, %hi(gPlayerStatus)
/* CA220 80133B20 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus)
/* CA224 80133B24 AFB40038 */ sw $s4, 0x38($sp)
/* CA228 80133B28 3C148011 */ lui $s4, %hi(gPartnerStatus)
/* CA22C 80133B2C 2694EBB0 */ addiu $s4, $s4, %lo(gPartnerStatus)
/* CA230 80133B30 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* CA234 80133B34 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* CA238 80133B38 3C04800B */ lui $a0, %hi(gCameras)
/* CA23C 80133B3C 24841D80 */ addiu $a0, $a0, %lo(gCameras)
/* CA240 80133B40 AFBF003C */ sw $ra, 0x3c($sp)
/* CA244 80133B44 AFB20030 */ sw $s2, 0x30($sp)
/* CA248 80133B48 AFB00028 */ sw $s0, 0x28($sp)
/* CA24C 80133B4C F7BE0068 */ sdc1 $f30, 0x68($sp)
/* CA250 80133B50 F7BC0060 */ sdc1 $f28, 0x60($sp)
/* CA254 80133B54 F7BA0058 */ sdc1 $f26, 0x58($sp)
/* CA258 80133B58 F7B80050 */ sdc1 $f24, 0x50($sp)
/* CA25C 80133B5C F7B60048 */ sdc1 $f22, 0x48($sp)
/* CA260 80133B60 F7B40040 */ sdc1 $f20, 0x40($sp)
/* CA264 80133B64 823200B4 */ lb $s2, 0xb4($s1)
/* CA268 80133B68 00031080 */ sll $v0, $v1, 2
/* CA26C 80133B6C 00431021 */ addu $v0, $v0, $v1
/* CA270 80133B70 00021080 */ sll $v0, $v0, 2
/* CA274 80133B74 00431023 */ subu $v0, $v0, $v1
/* CA278 80133B78 000218C0 */ sll $v1, $v0, 3
/* CA27C 80133B7C 00431021 */ addu $v0, $v0, $v1
/* CA280 80133B80 000210C0 */ sll $v0, $v0, 3
/* CA284 80133B84 8E630000 */ lw $v1, ($s3)
/* CA288 80133B88 00448021 */ addu $s0, $v0, $a0
/* CA28C 80133B8C 30620100 */ andi $v0, $v1, 0x100
/* CA290 80133B90 10400003 */ beqz $v0, .L80133BA0
/* CA294 80133B94 2402FEFF */ addiu $v0, $zero, -0x101
/* CA298 80133B98 0804CFDA */ j .L80133F68
/* CA29C 80133B9C 00621024 */ and $v0, $v1, $v0
.L80133BA0:
/* CA2A0 80133BA0 3C03800A */ lui $v1, %hi(gEncounterState)
/* CA2A4 80133BA4 8C63A600 */ lw $v1, %lo(gEncounterState)($v1)
/* CA2A8 80133BA8 24020002 */ addiu $v0, $zero, 2
/* CA2AC 80133BAC 10620003 */ beq $v1, $v0, .L80133BBC
/* CA2B0 80133BB0 00000000 */ nop
/* CA2B4 80133BB4 146000F6 */ bnez $v1, .L80133F90
/* CA2B8 80133BB8 0000102D */ daddu $v0, $zero, $zero
.L80133BBC:
/* CA2BC 80133BBC 3C02800B */ lui $v0, %hi(gCurrentEncounter)
/* CA2C0 80133BC0 24420F10 */ addiu $v0, $v0, %lo(gCurrentEncounter)
/* CA2C4 80133BC4 80430005 */ lb $v1, 5($v0)
/* CA2C8 80133BC8 24020005 */ addiu $v0, $zero, 5
/* CA2CC 80133BCC 106200EF */ beq $v1, $v0, .L80133F8C
/* CA2D0 80133BD0 3C020020 */ lui $v0, 0x20
/* CA2D4 80133BD4 8E630000 */ lw $v1, ($s3)
/* CA2D8 80133BD8 00621024 */ and $v0, $v1, $v0
/* CA2DC 80133BDC 144000EC */ bnez $v0, .L80133F90
/* CA2E0 80133BE0 0000102D */ daddu $v0, $zero, $zero
/* CA2E4 80133BE4 3C028015 */ lui $v0, %hi(isPickingUpItem)
/* CA2E8 80133BE8 844265A4 */ lh $v0, %lo(isPickingUpItem)($v0)
/* CA2EC 80133BEC 144000E8 */ bnez $v0, .L80133F90
/* CA2F0 80133BF0 0000102D */ daddu $v0, $zero, $zero
/* CA2F4 80133BF4 30620040 */ andi $v0, $v1, 0x40
/* CA2F8 80133BF8 144000E5 */ bnez $v0, .L80133F90
/* CA2FC 80133BFC 0000102D */ daddu $v0, $zero, $zero
/* CA300 80133C00 0C009C64 */ jal get_time_freeze_mode
/* CA304 80133C04 00000000 */ nop
/* CA308 80133C08 144000E1 */ bnez $v0, .L80133F90
/* CA30C 80133C0C 0000102D */ daddu $v0, $zero, $zero
/* CA310 80133C10 82820000 */ lb $v0, ($s4)
/* CA314 80133C14 10400004 */ beqz $v0, .L80133C28
/* CA318 80133C18 24020009 */ addiu $v0, $zero, 9
/* CA31C 80133C1C 82830003 */ lb $v1, 3($s4)
/* CA320 80133C20 106200DB */ beq $v1, $v0, .L80133F90
/* CA324 80133C24 0000102D */ daddu $v0, $zero, $zero
.L80133C28:
/* CA328 80133C28 2642FFE3 */ addiu $v0, $s2, -0x1d
/* CA32C 80133C2C 2C420003 */ sltiu $v0, $v0, 3
/* CA330 80133C30 10400004 */ beqz $v0, .L80133C44
/* CA334 80133C34 24020157 */ addiu $v0, $zero, 0x157
/* CA338 80133C38 86630018 */ lh $v1, 0x18($s3)
/* CA33C 80133C3C 146200D4 */ bne $v1, $v0, .L80133F90
/* CA340 80133C40 0000102D */ daddu $v0, $zero, $zero
.L80133C44:
/* CA344 80133C44 3C02800A */ lui $v0, %hi(gOverrideFlags)
/* CA348 80133C48 8C42A650 */ lw $v0, %lo(gOverrideFlags)($v0)
/* CA34C 80133C4C 3C030020 */ lui $v1, 0x20
/* CA350 80133C50 00431024 */ and $v0, $v0, $v1
/* CA354 80133C54 144000CE */ bnez $v0, .L80133F90
/* CA358 80133C58 0000102D */ daddu $v0, $zero, $zero
/* CA35C 80133C5C 962300B0 */ lhu $v1, 0xb0($s1)
/* CA360 80133C60 862400B2 */ lh $a0, 0xb2($s1)
/* CA364 80133C64 00031C00 */ sll $v1, $v1, 0x10
/* CA368 80133C68 00031403 */ sra $v0, $v1, 0x10
/* CA36C 80133C6C 00031FC2 */ srl $v1, $v1, 0x1f
/* CA370 80133C70 00431021 */ addu $v0, $v0, $v1
/* CA374 80133C74 00021043 */ sra $v0, $v0, 1
/* CA378 80133C78 44823000 */ mtc1 $v0, $f6
/* CA37C 80133C7C 00000000 */ nop
/* CA380 80133C80 468031A0 */ cvt.s.w $f6, $f6
/* CA384 80133C84 E7A6001C */ swc1 $f6, 0x1c($sp)
/* CA388 80133C88 C63E0028 */ lwc1 $f30, 0x28($s1)
/* CA38C 80133C8C C63A002C */ lwc1 $f26, 0x2c($s1)
/* CA390 80133C90 C6280030 */ lwc1 $f8, 0x30($s1)
/* CA394 80133C94 0000902D */ daddu $s2, $zero, $zero
/* CA398 80133C98 04810002 */ bgez $a0, .L80133CA4
/* CA39C 80133C9C E7A80018 */ swc1 $f8, 0x18($sp)
/* CA3A0 80133CA0 24840003 */ addiu $a0, $a0, 3
.L80133CA4:
/* CA3A4 80133CA4 00041083 */ sra $v0, $a0, 2
/* CA3A8 80133CA8 C62E00A8 */ lwc1 $f14, 0xa8($s1)
/* CA3AC 80133CAC 3C014334 */ lui $at, 0x4334
/* CA3B0 80133CB0 44810000 */ mtc1 $at, $f0
/* CA3B4 80133CB4 44823000 */ mtc1 $v0, $f6
/* CA3B8 80133CB8 00000000 */ nop
/* CA3BC 80133CBC 468031A0 */ cvt.s.w $f6, $f6
/* CA3C0 80133CC0 4600703C */ c.lt.s $f14, $f0
/* CA3C4 80133CC4 00000000 */ nop
/* CA3C8 80133CC8 45000006 */ bc1f .L80133CE4
/* CA3CC 80133CCC E7A60020 */ swc1 $f6, 0x20($sp)
/* CA3D0 80133CD0 C600006C */ lwc1 $f0, 0x6c($s0)
/* CA3D4 80133CD4 3C0142B4 */ lui $at, 0x42b4
/* CA3D8 80133CD8 44816000 */ mtc1 $at, $f12
/* CA3DC 80133CDC 0804CF3E */ j .L80133CF8
/* CA3E0 80133CE0 460C0301 */ sub.s $f12, $f0, $f12
.L80133CE4:
/* CA3E4 80133CE4 C600006C */ lwc1 $f0, 0x6c($s0)
/* CA3E8 80133CE8 3C0142B4 */ lui $at, 0x42b4
/* CA3EC 80133CEC 44816000 */ mtc1 $at, $f12
/* CA3F0 80133CF0 00000000 */ nop
/* CA3F4 80133CF4 460C0300 */ add.s $f12, $f0, $f12
.L80133CF8:
/* CA3F8 80133CF8 0C00A6C9 */ jal clamp_angle
/* CA3FC 80133CFC 00000000 */ nop
/* CA400 80133D00 46000386 */ mov.s $f14, $f0
/* CA404 80133D04 C60C006C */ lwc1 $f12, 0x6c($s0)
/* CA408 80133D08 C7A80018 */ lwc1 $f8, 0x18($sp)
/* CA40C 80133D0C E7BE0010 */ swc1 $f30, 0x10($sp)
/* CA410 80133D10 0C00A70A */ jal get_clamped_angle_diff
/* CA414 80133D14 E7A80014 */ swc1 $f8, 0x14($sp)
/* CA418 80133D18 44801000 */ mtc1 $zero, $f2
/* CA41C 80133D1C 00000000 */ nop
/* CA420 80133D20 4602003C */ c.lt.s $f0, $f2
/* CA424 80133D24 00000000 */ nop
/* CA428 80133D28 4500000F */ bc1f .L80133D68
/* CA42C 80133D2C E7BA0024 */ swc1 $f26, 0x24($sp)
/* CA430 80133D30 C600006C */ lwc1 $f0, 0x6c($s0)
/* CA434 80133D34 3C0142B4 */ lui $at, 0x42b4
/* CA438 80133D38 44816000 */ mtc1 $at, $f12
/* CA43C 80133D3C 0C00A6C9 */ jal clamp_angle
/* CA440 80133D40 460C0301 */ sub.s $f12, $f0, $f12
/* CA444 80133D44 8E2200A4 */ lw $v0, 0xa4($s1)
/* CA448 80133D48 3C030100 */ lui $v1, 0x100
/* CA44C 80133D4C 00431024 */ and $v0, $v0, $v1
/* CA450 80133D50 10400016 */ beqz $v0, .L80133DAC
/* CA454 80133D54 27A40010 */ addiu $a0, $sp, 0x10
/* CA458 80133D58 3C0141F0 */ lui $at, 0x41f0
/* CA45C 80133D5C 44816000 */ mtc1 $at, $f12
/* CA460 80133D60 0804CF68 */ j .L80133DA0
/* CA464 80133D64 460C0300 */ add.s $f12, $f0, $f12
.L80133D68:
/* CA468 80133D68 C600006C */ lwc1 $f0, 0x6c($s0)
/* CA46C 80133D6C 3C0142B4 */ lui $at, 0x42b4
/* CA470 80133D70 44816000 */ mtc1 $at, $f12
/* CA474 80133D74 0C00A6C9 */ jal clamp_angle
/* CA478 80133D78 460C0300 */ add.s $f12, $f0, $f12
/* CA47C 80133D7C 8E2200A4 */ lw $v0, 0xa4($s1)
/* CA480 80133D80 3C030100 */ lui $v1, 0x100
/* CA484 80133D84 00431024 */ and $v0, $v0, $v1
/* CA488 80133D88 10400008 */ beqz $v0, .L80133DAC
/* CA48C 80133D8C 27A40010 */ addiu $a0, $sp, 0x10
/* CA490 80133D90 3C0141F0 */ lui $at, 0x41f0
/* CA494 80133D94 44816000 */ mtc1 $at, $f12
/* CA498 80133D98 00000000 */ nop
/* CA49C 80133D9C 460C0301 */ sub.s $f12, $f0, $f12
.L80133DA0:
/* CA4A0 80133DA0 0C00A6C9 */ jal clamp_angle
/* CA4A4 80133DA4 00000000 */ nop
/* CA4A8 80133DA8 27A40010 */ addiu $a0, $sp, 0x10
.L80133DAC:
/* CA4AC 80133DAC 3C0641C0 */ lui $a2, 0x41c0
/* CA4B0 80133DB0 44070000 */ mfc1 $a3, $f0
/* CA4B4 80133DB4 0C00A7E7 */ jal add_vec2D_polar
/* CA4B8 80133DB8 27A50014 */ addiu $a1, $sp, 0x14
/* CA4BC 80133DBC C6760008 */ lwc1 $f22, 8($s3)
/* CA4C0 80133DC0 C674000C */ lwc1 $f20, 0xc($s3)
/* CA4C4 80133DC4 C6780010 */ lwc1 $f24, 0x10($s3)
/* CA4C8 80133DC8 3C014158 */ lui $at, 0x4158
/* CA4CC 80133DCC 4481E000 */ mtc1 $at, $f28
/* CA4D0 80133DD0 461EB081 */ sub.s $f2, $f22, $f30
/* CA4D4 80133DD4 46021082 */ mul.s $f2, $f2, $f2
/* CA4D8 80133DD8 00000000 */ nop
/* CA4DC 80133DDC C7A60018 */ lwc1 $f6, 0x18($sp)
/* CA4E0 80133DE0 4606C001 */ sub.s $f0, $f24, $f6
/* CA4E4 80133DE4 46000002 */ mul.s $f0, $f0, $f0
/* CA4E8 80133DE8 00000000 */ nop
/* CA4EC 80133DEC 46001300 */ add.s $f12, $f2, $f0
/* CA4F0 80133DF0 46006104 */ sqrt.s $f4, $f12
/* CA4F4 80133DF4 46042032 */ c.eq.s $f4, $f4
/* CA4F8 80133DF8 00000000 */ nop
/* CA4FC 80133DFC 45010004 */ bc1t .L80133E10
/* CA500 80133E00 00000000 */ nop
/* CA504 80133E04 0C0187BC */ jal sqrtf
/* CA508 80133E08 00000000 */ nop
/* CA50C 80133E0C 46000106 */ mov.s $f4, $f0
.L80133E10:
/* CA510 80133E10 C7A80020 */ lwc1 $f8, 0x20($sp)
/* CA514 80133E14 461C4000 */ add.s $f0, $f8, $f28
/* CA518 80133E18 4604003E */ c.le.s $f0, $f4
/* CA51C 80133E1C 00000000 */ nop
/* CA520 80133E20 4501000F */ bc1t .L80133E60
/* CA524 80133E24 00000000 */ nop
/* CA528 80133E28 3C0141D8 */ lui $at, 0x41d8
/* CA52C 80133E2C 44813000 */ mtc1 $at, $f6
/* CA530 80133E30 00000000 */ nop
/* CA534 80133E34 4606A000 */ add.s $f0, $f20, $f6
/* CA538 80133E38 461A003C */ c.lt.s $f0, $f26
/* CA53C 80133E3C 00000000 */ nop
/* CA540 80133E40 45010007 */ bc1t .L80133E60
/* CA544 80133E44 00000000 */ nop
/* CA548 80133E48 C7A8001C */ lwc1 $f8, 0x1c($sp)
/* CA54C 80133E4C 4608D000 */ add.s $f0, $f26, $f8
/* CA550 80133E50 4614003C */ c.lt.s $f0, $f20
/* CA554 80133E54 00000000 */ nop
/* CA558 80133E58 45020001 */ bc1fl .L80133E60
/* CA55C 80133E5C 24120001 */ addiu $s2, $zero, 1
.L80133E60:
/* CA560 80133E60 822300B4 */ lb $v1, 0xb4($s1)
/* CA564 80133E64 24020012 */ addiu $v0, $zero, 0x12
/* CA568 80133E68 1462002F */ bne $v1, $v0, .L80133F28
/* CA56C 80133E6C 3C030100 */ lui $v1, 0x100
/* CA570 80133E70 8E220000 */ lw $v0, ($s1)
/* CA574 80133E74 00431024 */ and $v0, $v0, $v1
/* CA578 80133E78 1040002B */ beqz $v0, .L80133F28
/* CA57C 80133E7C 00000000 */ nop
/* CA580 80133E80 C7A00010 */ lwc1 $f0, 0x10($sp)
/* CA584 80133E84 4600B081 */ sub.s $f2, $f22, $f0
/* CA588 80133E88 46021082 */ mul.s $f2, $f2, $f2
/* CA58C 80133E8C 00000000 */ nop
/* CA590 80133E90 C7A00014 */ lwc1 $f0, 0x14($sp)
/* CA594 80133E94 4600C001 */ sub.s $f0, $f24, $f0
/* CA598 80133E98 46000002 */ mul.s $f0, $f0, $f0
/* CA59C 80133E9C 00000000 */ nop
/* CA5A0 80133EA0 46001300 */ add.s $f12, $f2, $f0
/* CA5A4 80133EA4 46006104 */ sqrt.s $f4, $f12
/* CA5A8 80133EA8 46042032 */ c.eq.s $f4, $f4
/* CA5AC 80133EAC 00000000 */ nop
/* CA5B0 80133EB0 45010004 */ bc1t .L80133EC4
/* CA5B4 80133EB4 00000000 */ nop
/* CA5B8 80133EB8 0C0187BC */ jal sqrtf
/* CA5BC 80133EBC 00000000 */ nop
/* CA5C0 80133EC0 46000106 */ mov.s $f4, $f0
.L80133EC4:
/* CA5C4 80133EC4 3C014160 */ lui $at, 0x4160
/* CA5C8 80133EC8 44813000 */ mtc1 $at, $f6
/* CA5CC 80133ECC 00000000 */ nop
/* CA5D0 80133ED0 461C3000 */ add.s $f0, $f6, $f28
/* CA5D4 80133ED4 4604003E */ c.le.s $f0, $f4
/* CA5D8 80133ED8 00000000 */ nop
/* CA5DC 80133EDC 45010012 */ bc1t .L80133F28
/* CA5E0 80133EE0 00000000 */ nop
/* CA5E4 80133EE4 3C0141D8 */ lui $at, 0x41d8
/* CA5E8 80133EE8 44814000 */ mtc1 $at, $f8
/* CA5EC 80133EEC 00000000 */ nop
/* CA5F0 80133EF0 4608A000 */ add.s $f0, $f20, $f8
/* CA5F4 80133EF4 C7A60024 */ lwc1 $f6, 0x24($sp)
/* CA5F8 80133EF8 4606003C */ c.lt.s $f0, $f6
/* CA5FC 80133EFC 00000000 */ nop
/* CA600 80133F00 45010009 */ bc1t .L80133F28
/* CA604 80133F04 00000000 */ nop
/* CA608 80133F08 3C014190 */ lui $at, 0x4190
/* CA60C 80133F0C 44814000 */ mtc1 $at, $f8
/* CA610 80133F10 00000000 */ nop
/* CA614 80133F14 46083000 */ add.s $f0, $f6, $f8
/* CA618 80133F18 4614003C */ c.lt.s $f0, $f20
/* CA61C 80133F1C 00000000 */ nop
/* CA620 80133F20 45020001 */ bc1fl .L80133F28
/* CA624 80133F24 24120001 */ addiu $s2, $zero, 1
.L80133F28:
/* CA628 80133F28 12400012 */ beqz $s2, .L80133F74
/* CA62C 80133F2C 00000000 */ nop
/* CA630 80133F30 8E640000 */ lw $a0, ($s3)
/* CA634 80133F34 30820080 */ andi $v0, $a0, 0x80
/* CA638 80133F38 10400015 */ beqz $v0, .L80133F90
/* CA63C 80133F3C 24020001 */ addiu $v0, $zero, 1
/* CA640 80133F40 3C058015 */ lui $a1, %hi(D_801565A6)
/* CA644 80133F44 24A565A6 */ addiu $a1, $a1, %lo(D_801565A6)
/* CA648 80133F48 84A20000 */ lh $v0, ($a1)
/* CA64C 80133F4C 94A30000 */ lhu $v1, ($a1)
/* CA650 80133F50 10400004 */ beqz $v0, .L80133F64
/* CA654 80133F54 2402FF7F */ addiu $v0, $zero, -0x81
/* CA658 80133F58 2462FFFF */ addiu $v0, $v1, -1
/* CA65C 80133F5C 0804CFE3 */ j .L80133F8C
/* CA660 80133F60 A4A20000 */ sh $v0, ($a1)
.L80133F64:
/* CA664 80133F64 00821024 */ and $v0, $a0, $v0
.L80133F68:
/* CA668 80133F68 AE620000 */ sw $v0, ($s3)
/* CA66C 80133F6C 0804CFE4 */ j .L80133F90
/* CA670 80133F70 24020001 */ addiu $v0, $zero, 1
.L80133F74:
/* CA674 80133F74 8E630000 */ lw $v1, ($s3)
/* CA678 80133F78 30620080 */ andi $v0, $v1, 0x80
/* CA67C 80133F7C 10400003 */ beqz $v0, .L80133F8C
/* CA680 80133F80 2402FF7F */ addiu $v0, $zero, -0x81
/* CA684 80133F84 00621024 */ and $v0, $v1, $v0
/* CA688 80133F88 AE620000 */ sw $v0, ($s3)
.L80133F8C:
/* CA68C 80133F8C 0000102D */ daddu $v0, $zero, $zero
.L80133F90:
/* CA690 80133F90 8FBF003C */ lw $ra, 0x3c($sp)
/* CA694 80133F94 8FB40038 */ lw $s4, 0x38($sp)
/* CA698 80133F98 8FB30034 */ lw $s3, 0x34($sp)
/* CA69C 80133F9C 8FB20030 */ lw $s2, 0x30($sp)
/* CA6A0 80133FA0 8FB1002C */ lw $s1, 0x2c($sp)
/* CA6A4 80133FA4 8FB00028 */ lw $s0, 0x28($sp)
/* CA6A8 80133FA8 D7BE0068 */ ldc1 $f30, 0x68($sp)
/* CA6AC 80133FAC D7BC0060 */ ldc1 $f28, 0x60($sp)
/* CA6B0 80133FB0 D7BA0058 */ ldc1 $f26, 0x58($sp)
/* CA6B4 80133FB4 D7B80050 */ ldc1 $f24, 0x50($sp)
/* CA6B8 80133FB8 D7B60048 */ ldc1 $f22, 0x48($sp)
/* CA6BC 80133FBC D7B40040 */ ldc1 $f20, 0x40($sp)
/* CA6C0 80133FC0 03E00008 */ jr $ra
/* CA6C4 80133FC4 27BD0070 */ addiu $sp, $sp, 0x70

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel blast_appendGfx
/* 37D684 E007C1F4 27BDFEF0 */ addiu $sp, $sp, -0x110
/* 37D688 E007C1F8 0080302D */ daddu $a2, $a0, $zero
/* 37D68C E007C1FC 3C07DB06 */ lui $a3, 0xdb06
/* 37D690 E007C200 34E70024 */ ori $a3, $a3, 0x24
/* 37D694 E007C204 27A40018 */ addiu $a0, $sp, 0x18
/* 37D698 E007C208 AFB300E4 */ sw $s3, 0xe4($sp)
/* 37D69C E007C20C 3C130001 */ lui $s3, 1
/* 37D6A0 E007C210 AFB400E8 */ sw $s4, 0xe8($sp)
/* 37D6A4 E007C214 3C14800A */ lui $s4, %hi(gMainGfxPos)
/* 37D6A8 E007C218 2694A66C */ addiu $s4, $s4, %lo(gMainGfxPos)
/* 37D6AC E007C21C AFBF00F0 */ sw $ra, 0xf0($sp)
/* 37D6B0 E007C220 AFB500EC */ sw $s5, 0xec($sp)
/* 37D6B4 E007C224 AFB200E0 */ sw $s2, 0xe0($sp)
/* 37D6B8 E007C228 AFB100DC */ sw $s1, 0xdc($sp)
/* 37D6BC E007C22C AFB000D8 */ sw $s0, 0xd8($sp)
/* 37D6C0 E007C230 F7B80108 */ sdc1 $f24, 0x108($sp)
/* 37D6C4 E007C234 F7B60100 */ sdc1 $f22, 0x100($sp)
/* 37D6C8 E007C238 F7B400F8 */ sdc1 $f20, 0xf8($sp)
/* 37D6CC E007C23C 8E830000 */ lw $v1, ($s4)
/* 37D6D0 E007C240 8CD1000C */ lw $s1, 0xc($a2)
/* 37D6D4 E007C244 3C014380 */ lui $at, 0x4380
/* 37D6D8 E007C248 4481C000 */ mtc1 $at, $f24
/* 37D6DC E007C24C 0060282D */ daddu $a1, $v1, $zero
/* 37D6E0 E007C250 24630008 */ addiu $v1, $v1, 8
/* 37D6E4 E007C254 AE830000 */ sw $v1, ($s4)
/* 37D6E8 E007C258 C6220020 */ lwc1 $f2, 0x20($s1)
/* 37D6EC E007C25C 3C02E700 */ lui $v0, 0xe700
/* 37D6F0 E007C260 ACA20000 */ sw $v0, ($a1)
/* 37D6F4 E007C264 24620008 */ addiu $v0, $v1, 8
/* 37D6F8 E007C268 ACA00004 */ sw $zero, 4($a1)
/* 37D6FC E007C26C AE820000 */ sw $v0, ($s4)
/* 37D700 E007C270 24620010 */ addiu $v0, $v1, 0x10
/* 37D704 E007C274 AC670000 */ sw $a3, ($v1)
/* 37D708 E007C278 AE820000 */ sw $v0, ($s4)
/* 37D70C E007C27C 24620018 */ addiu $v0, $v1, 0x18
/* 37D710 E007C280 8CC50010 */ lw $a1, 0x10($a2)
/* 37D714 E007C284 3C06DE00 */ lui $a2, 0xde00
/* 37D718 E007C288 AE820000 */ sw $v0, ($s4)
/* 37D71C E007C28C 8CA5001C */ lw $a1, 0x1c($a1)
/* 37D720 E007C290 3C020900 */ lui $v0, %hi(D_09001300_37ECD0)
/* 37D724 E007C294 24421300 */ addiu $v0, $v0, %lo(D_09001300_37ECD0)
/* 37D728 E007C298 AC62000C */ sw $v0, 0xc($v1)
/* 37D72C E007C29C 3C028000 */ lui $v0, 0x8000
/* 37D730 E007C2A0 AC660008 */ sw $a2, 8($v1)
/* 37D734 E007C2A4 AC660010 */ sw $a2, 0x10($v1)
/* 37D738 E007C2A8 00A22821 */ addu $a1, $a1, $v0
/* 37D73C E007C2AC 4600110D */ trunc.w.s $f4, $f2
/* 37D740 E007C2B0 44022000 */ mfc1 $v0, $f4
/* 37D744 E007C2B4 00000000 */ nop
/* 37D748 E007C2B8 44820000 */ mtc1 $v0, $f0
/* 37D74C E007C2BC 00000000 */ nop
/* 37D750 E007C2C0 46800020 */ cvt.s.w $f0, $f0
/* 37D754 E007C2C4 00021080 */ sll $v0, $v0, 2
/* 37D758 E007C2C8 46001081 */ sub.s $f2, $f2, $f0
/* 37D75C E007C2CC AC650004 */ sw $a1, 4($v1)
/* 37D760 E007C2D0 3C01E008 */ lui $at, %hi(D_E007C510)
/* 37D764 E007C2D4 00220821 */ addu $at, $at, $v0
/* 37D768 E007C2D8 8C22C510 */ lw $v0, %lo(D_E007C510)($at)
/* 37D76C E007C2DC 46181082 */ mul.s $f2, $f2, $f24
/* 37D770 E007C2E0 00000000 */ nop
/* 37D774 E007C2E4 AC620014 */ sw $v0, 0x14($v1)
/* 37D778 E007C2E8 8E250004 */ lw $a1, 4($s1)
/* 37D77C E007C2EC 8E260008 */ lw $a2, 8($s1)
/* 37D780 E007C2F0 8E27000C */ lw $a3, 0xc($s1)
/* 37D784 E007C2F4 4600110D */ trunc.w.s $f4, $f2
/* 37D788 E007C2F8 44152000 */ mfc1 $s5, $f4
/* 37D78C E007C2FC 0C080108 */ jal shim_guTranslateF
/* 37D790 E007C300 36731630 */ ori $s3, $s3, 0x1630
/* 37D794 E007C304 27B00058 */ addiu $s0, $sp, 0x58
/* 37D798 E007C308 4480B000 */ mtc1 $zero, $f22
/* 37D79C E007C30C 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 37D7A0 E007C310 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 37D7A4 E007C314 3C013F80 */ lui $at, 0x3f80
/* 37D7A8 E007C318 4481A000 */ mtc1 $at, $f20
/* 37D7AC E007C31C 00031080 */ sll $v0, $v1, 2
/* 37D7B0 E007C320 00431021 */ addu $v0, $v0, $v1
/* 37D7B4 E007C324 00021080 */ sll $v0, $v0, 2
/* 37D7B8 E007C328 00431023 */ subu $v0, $v0, $v1
/* 37D7BC E007C32C 000218C0 */ sll $v1, $v0, 3
/* 37D7C0 E007C330 00431021 */ addu $v0, $v0, $v1
/* 37D7C4 E007C334 000210C0 */ sll $v0, $v0, 3
/* 37D7C8 E007C338 4406B000 */ mfc1 $a2, $f22
/* 37D7CC E007C33C 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 37D7D0 E007C340 00220821 */ addu $at, $at, $v0
/* 37D7D4 E007C344 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 37D7D8 E007C348 4407A000 */ mfc1 $a3, $f20
/* 37D7DC E007C34C 46000007 */ neg.s $f0, $f0
/* 37D7E0 E007C350 44050000 */ mfc1 $a1, $f0
/* 37D7E4 E007C354 0200202D */ daddu $a0, $s0, $zero
/* 37D7E8 E007C358 0C080104 */ jal shim_guRotateF
/* 37D7EC E007C35C E7B60010 */ swc1 $f22, 0x10($sp)
/* 37D7F0 E007C360 0200202D */ daddu $a0, $s0, $zero
/* 37D7F4 E007C364 27A50018 */ addiu $a1, $sp, 0x18
/* 37D7F8 E007C368 27B00098 */ addiu $s0, $sp, 0x98
/* 37D7FC E007C36C 0C080114 */ jal shim_guMtxCatF
/* 37D800 E007C370 0200302D */ daddu $a2, $s0, $zero
/* 37D804 E007C374 27A40018 */ addiu $a0, $sp, 0x18
/* 37D808 E007C378 8E250010 */ lw $a1, 0x10($s1)
/* 37D80C E007C37C 4407A000 */ mfc1 $a3, $f20
/* 37D810 E007C380 0C080110 */ jal shim_guScaleF
/* 37D814 E007C384 00A0302D */ daddu $a2, $a1, $zero
/* 37D818 E007C388 27A40018 */ addiu $a0, $sp, 0x18
/* 37D81C E007C38C 0200282D */ daddu $a1, $s0, $zero
/* 37D820 E007C390 0C080114 */ jal shim_guMtxCatF
/* 37D824 E007C394 0200302D */ daddu $a2, $s0, $zero
/* 37D828 E007C398 4406B000 */ mfc1 $a2, $f22
/* 37D82C E007C39C 27A40018 */ addiu $a0, $sp, 0x18
/* 37D830 E007C3A0 E7B40010 */ swc1 $f20, 0x10($sp)
/* 37D834 E007C3A4 8E250024 */ lw $a1, 0x24($s1)
/* 37D838 E007C3A8 0C080104 */ jal shim_guRotateF
/* 37D83C E007C3AC 00C0382D */ daddu $a3, $a2, $zero
/* 37D840 E007C3B0 27A40018 */ addiu $a0, $sp, 0x18
/* 37D844 E007C3B4 0200282D */ daddu $a1, $s0, $zero
/* 37D848 E007C3B8 0C080114 */ jal shim_guMtxCatF
/* 37D84C E007C3BC 0200302D */ daddu $a2, $s0, $zero
/* 37D850 E007C3C0 0200202D */ daddu $a0, $s0, $zero
/* 37D854 E007C3C4 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 37D858 E007C3C8 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 37D85C E007C3CC 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 37D860 E007C3D0 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 37D864 E007C3D4 96050000 */ lhu $a1, ($s0)
/* 37D868 E007C3D8 8E420000 */ lw $v0, ($s2)
/* 37D86C E007C3DC 00052980 */ sll $a1, $a1, 6
/* 37D870 E007C3E0 00B32821 */ addu $a1, $a1, $s3
/* 37D874 E007C3E4 0C080118 */ jal shim_guMtxF2L
/* 37D878 E007C3E8 00452821 */ addu $a1, $v0, $a1
/* 37D87C E007C3EC 8E850000 */ lw $a1, ($s4)
/* 37D880 E007C3F0 3C014080 */ lui $at, 0x4080
/* 37D884 E007C3F4 44810000 */ mtc1 $at, $f0
/* 37D888 E007C3F8 00A0202D */ daddu $a0, $a1, $zero
/* 37D88C E007C3FC 24A50008 */ addiu $a1, $a1, 8
/* 37D890 E007C400 AE850000 */ sw $a1, ($s4)
/* 37D894 E007C404 96020000 */ lhu $v0, ($s0)
/* 37D898 E007C408 3C03DA38 */ lui $v1, 0xda38
/* 37D89C E007C40C AC830000 */ sw $v1, ($a0)
/* 37D8A0 E007C410 24430001 */ addiu $v1, $v0, 1
/* 37D8A4 E007C414 3042FFFF */ andi $v0, $v0, 0xffff
/* 37D8A8 E007C418 00021180 */ sll $v0, $v0, 6
/* 37D8AC E007C41C A6030000 */ sh $v1, ($s0)
/* 37D8B0 E007C420 8E430000 */ lw $v1, ($s2)
/* 37D8B4 E007C424 00531021 */ addu $v0, $v0, $s3
/* 37D8B8 E007C428 00621821 */ addu $v1, $v1, $v0
/* 37D8BC E007C42C AC830004 */ sw $v1, 4($a0)
/* 37D8C0 E007C430 C6220020 */ lwc1 $f2, 0x20($s1)
/* 37D8C4 E007C434 4602003C */ c.lt.s $f0, $f2
/* 37D8C8 E007C438 00000000 */ nop
/* 37D8CC E007C43C 45000006 */ bc1f .LE007C458
/* 37D8D0 E007C440 24A20008 */ addiu $v0, $a1, 8
/* 37D8D4 E007C444 AE820000 */ sw $v0, ($s4)
/* 37D8D8 E007C448 3C02FA00 */ lui $v0, 0xfa00
/* 37D8DC E007C44C ACA20000 */ sw $v0, ($a1)
/* 37D8E0 E007C450 0801F11A */ j .LE007C468
/* 37D8E4 E007C454 2402FF7F */ addiu $v0, $zero, -0x81
.LE007C458:
/* 37D8E8 E007C458 AE820000 */ sw $v0, ($s4)
/* 37D8EC E007C45C 3C02FA00 */ lui $v0, 0xfa00
/* 37D8F0 E007C460 ACA20000 */ sw $v0, ($a1)
/* 37D8F4 E007C464 2402807F */ addiu $v0, $zero, -0x7f81
.LE007C468:
/* 37D8F8 E007C468 ACA20004 */ sw $v0, 4($a1)
/* 37D8FC E007C46C 3C07D838 */ lui $a3, 0xd838
/* 37D900 E007C470 3C05800A */ lui $a1, %hi(gMainGfxPos)
/* 37D904 E007C474 24A5A66C */ addiu $a1, $a1, %lo(gMainGfxPos)
/* 37D908 E007C478 34E70002 */ ori $a3, $a3, 2
/* 37D90C E007C47C 3C02FB00 */ lui $v0, 0xfb00
/* 37D910 E007C480 8CA40000 */ lw $a0, ($a1)
/* 37D914 E007C484 24038B00 */ addiu $v1, $zero, -0x7500
/* 37D918 E007C488 0080302D */ daddu $a2, $a0, $zero
/* 37D91C E007C48C 24840008 */ addiu $a0, $a0, 8
/* 37D920 E007C490 ACA40000 */ sw $a0, ($a1)
/* 37D924 E007C494 ACC20000 */ sw $v0, ($a2)
/* 37D928 E007C498 32A200FF */ andi $v0, $s5, 0xff
/* 37D92C E007C49C 00431025 */ or $v0, $v0, $v1
/* 37D930 E007C4A0 ACC20004 */ sw $v0, 4($a2)
/* 37D934 E007C4A4 24820008 */ addiu $v0, $a0, 8
/* 37D938 E007C4A8 ACA20000 */ sw $v0, ($a1)
/* 37D93C E007C4AC 3C02DE00 */ lui $v0, 0xde00
/* 37D940 E007C4B0 AC820000 */ sw $v0, ($a0)
/* 37D944 E007C4B4 3C020900 */ lui $v0, %hi(D_090017B0_37F180)
/* 37D948 E007C4B8 244217B0 */ addiu $v0, $v0, %lo(D_090017B0_37F180)
/* 37D94C E007C4BC AC820004 */ sw $v0, 4($a0)
/* 37D950 E007C4C0 24820010 */ addiu $v0, $a0, 0x10
/* 37D954 E007C4C4 ACA20000 */ sw $v0, ($a1)
/* 37D958 E007C4C8 24020040 */ addiu $v0, $zero, 0x40
/* 37D95C E007C4CC AC870008 */ sw $a3, 8($a0)
/* 37D960 E007C4D0 AC82000C */ sw $v0, 0xc($a0)
/* 37D964 E007C4D4 8FBF00F0 */ lw $ra, 0xf0($sp)
/* 37D968 E007C4D8 8FB500EC */ lw $s5, 0xec($sp)
/* 37D96C E007C4DC 8FB400E8 */ lw $s4, 0xe8($sp)
/* 37D970 E007C4E0 8FB300E4 */ lw $s3, 0xe4($sp)
/* 37D974 E007C4E4 8FB200E0 */ lw $s2, 0xe0($sp)
/* 37D978 E007C4E8 8FB100DC */ lw $s1, 0xdc($sp)
/* 37D97C E007C4EC 8FB000D8 */ lw $s0, 0xd8($sp)
/* 37D980 E007C4F0 D7B80108 */ ldc1 $f24, 0x108($sp)
/* 37D984 E007C4F4 D7B60100 */ ldc1 $f22, 0x100($sp)
/* 37D988 E007C4F8 D7B400F8 */ ldc1 $f20, 0xf8($sp)
/* 37D98C E007C4FC 03E00008 */ jr $ra
/* 37D990 E007C500 27BD0110 */ addiu $sp, $sp, 0x110
/* 37D994 E007C504 00000000 */ nop
/* 37D998 E007C508 00000000 */ nop
/* 37D99C E007C50C 00000000 */ nop

View File

@ -1,551 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel underwater_appendGfx
/* 3B91F0 E00BA620 27BDFF28 */ addiu $sp, $sp, -0xd8
/* 3B91F4 E00BA624 3C06DB06 */ lui $a2, 0xdb06
/* 3B91F8 E00BA628 34C60024 */ ori $a2, $a2, 0x24
/* 3B91FC E00BA62C 3C07FF10 */ lui $a3, 0xff10
/* 3B9200 E00BA630 34E7013F */ ori $a3, $a3, 0x13f
/* 3B9204 E00BA634 0000682D */ daddu $t5, $zero, $zero
/* 3B9208 E00BA638 3C02800A */ lui $v0, %hi(gMainGfxPos)
/* 3B920C E00BA63C 2442A66C */ addiu $v0, $v0, %lo(gMainGfxPos)
/* 3B9210 E00BA640 0040402D */ daddu $t0, $v0, $zero
/* 3B9214 E00BA644 AFB200B8 */ sw $s2, 0xb8($sp)
/* 3B9218 E00BA648 3C12FD10 */ lui $s2, 0xfd10
/* 3B921C E00BA64C 3652013F */ ori $s2, $s2, 0x13f
/* 3B9220 E00BA650 3C18800A */ lui $t8, %hi(nuGfxCfb_ptr)
/* 3B9224 E00BA654 2718A64C */ addiu $t8, $t8, %lo(nuGfxCfb_ptr)
/* 3B9228 E00BA658 3C0CF510 */ lui $t4, 0xf510
/* 3B922C E00BA65C 358CA000 */ ori $t4, $t4, 0xa000
/* 3B9230 E00BA660 AFB700CC */ sw $s7, 0xcc($sp)
/* 3B9234 E00BA664 3C170700 */ lui $s7, 0x700
/* 3B9238 E00BA668 AFB500C4 */ sw $s5, 0xc4($sp)
/* 3B923C E00BA66C 3C15F400 */ lui $s5, 0xf400
/* 3B9240 E00BA670 AFB100B4 */ sw $s1, 0xb4($sp)
/* 3B9244 E00BA674 3C11074F */ lui $s1, 0x74f
/* 3B9248 E00BA678 3631C014 */ ori $s1, $s1, 0xc014
/* 3B924C E00BA67C 3C0EE700 */ lui $t6, 0xe700
/* 3B9250 E00BA680 AFB300BC */ sw $s3, 0xbc($sp)
/* 3B9254 E00BA684 3C13F200 */ lui $s3, 0xf200
/* 3B9258 E00BA688 AFB000B0 */ sw $s0, 0xb0($sp)
/* 3B925C E00BA68C 3C10004F */ lui $s0, 0x4f
/* 3B9260 E00BA690 3610C014 */ ori $s0, $s0, 0xc014
/* 3B9264 E00BA694 3C0FE44F */ lui $t7, 0xe44f
/* 3B9268 E00BA698 35EFC000 */ ori $t7, $t7, 0xc000
/* 3B926C E00BA69C 01A0582D */ daddu $t3, $t5, $zero
/* 3B9270 E00BA6A0 240A0014 */ addiu $t2, $zero, 0x14
/* 3B9274 E00BA6A4 01A0482D */ daddu $t1, $t5, $zero
/* 3B9278 E00BA6A8 01C0102D */ daddu $v0, $t6, $zero
/* 3B927C E00BA6AC AFBF00D4 */ sw $ra, 0xd4($sp)
/* 3B9280 E00BA6B0 AFBE00D0 */ sw $fp, 0xd0($sp)
/* 3B9284 E00BA6B4 AFB600C8 */ sw $s6, 0xc8($sp)
/* 3B9288 E00BA6B8 AFB400C0 */ sw $s4, 0xc0($sp)
/* 3B928C E00BA6BC 8D030000 */ lw $v1, ($t0)
/* 3B9290 E00BA6C0 8C94000C */ lw $s4, 0xc($a0)
/* 3B9294 E00BA6C4 0060282D */ daddu $a1, $v1, $zero
/* 3B9298 E00BA6C8 9299001F */ lbu $t9, 0x1f($s4)
/* 3B929C E00BA6CC 24630008 */ addiu $v1, $v1, 8
/* 3B92A0 E00BA6D0 AD030000 */ sw $v1, ($t0)
/* 3B92A4 E00BA6D4 ACA20000 */ sw $v0, ($a1)
/* 3B92A8 E00BA6D8 24620008 */ addiu $v0, $v1, 8
/* 3B92AC E00BA6DC ACA00004 */ sw $zero, 4($a1)
/* 3B92B0 E00BA6E0 AD020000 */ sw $v0, ($t0)
/* 3B92B4 E00BA6E4 AC660000 */ sw $a2, ($v1)
/* 3B92B8 E00BA6E8 8C840010 */ lw $a0, 0x10($a0)
/* 3B92BC E00BA6EC 24620010 */ addiu $v0, $v1, 0x10
/* 3B92C0 E00BA6F0 AD020000 */ sw $v0, ($t0)
/* 3B92C4 E00BA6F4 3C05800A */ lui $a1, %hi(nuGfxZBuffer)
/* 3B92C8 E00BA6F8 8CA5A5DC */ lw $a1, %lo(nuGfxZBuffer)($a1)
/* 3B92CC E00BA6FC 8C84001C */ lw $a0, 0x1c($a0)
/* 3B92D0 E00BA700 24620018 */ addiu $v0, $v1, 0x18
/* 3B92D4 E00BA704 AD020000 */ sw $v0, ($t0)
/* 3B92D8 E00BA708 3C02DE00 */ lui $v0, 0xde00
/* 3B92DC E00BA70C AC620010 */ sw $v0, 0x10($v1)
/* 3B92E0 E00BA710 3C020900 */ lui $v0, 0x900
/* 3B92E4 E00BA714 24420528 */ addiu $v0, $v0, 0x528
/* 3B92E8 E00BA718 AC620014 */ sw $v0, 0x14($v1)
/* 3B92EC E00BA71C 3C028000 */ lui $v0, 0x8000
/* 3B92F0 E00BA720 AC670008 */ sw $a3, 8($v1)
/* 3B92F4 E00BA724 AC65000C */ sw $a1, 0xc($v1)
/* 3B92F8 E00BA728 00822021 */ addu $a0, $a0, $v0
/* 3B92FC E00BA72C AC640004 */ sw $a0, 4($v1)
.LE00BA730:
/* 3B9300 E00BA730 3C071000 */ lui $a3, 0x1000
/* 3B9304 E00BA734 34E70400 */ ori $a3, $a3, 0x400
/* 3B9308 E00BA738 31660FFF */ andi $a2, $t3, 0xfff
/* 3B930C E00BA73C 256B0018 */ addiu $t3, $t3, 0x18
/* 3B9310 E00BA740 31450FFF */ andi $a1, $t2, 0xfff
/* 3B9314 E00BA744 254A0018 */ addiu $t2, $t2, 0x18
/* 3B9318 E00BA748 25AD0001 */ addiu $t5, $t5, 1
/* 3B931C E00BA74C 00AF2825 */ or $a1, $a1, $t7
/* 3B9320 E00BA750 8D020000 */ lw $v0, ($t0)
/* 3B9324 E00BA754 8F030000 */ lw $v1, ($t8)
/* 3B9328 E00BA758 0040202D */ daddu $a0, $v0, $zero
/* 3B932C E00BA75C 24420008 */ addiu $v0, $v0, 8
/* 3B9330 E00BA760 00691821 */ addu $v1, $v1, $t1
/* 3B9334 E00BA764 AD020000 */ sw $v0, ($t0)
/* 3B9338 E00BA768 AC830004 */ sw $v1, 4($a0)
/* 3B933C E00BA76C 24430008 */ addiu $v1, $v0, 8
/* 3B9340 E00BA770 AC920000 */ sw $s2, ($a0)
/* 3B9344 E00BA774 AD030000 */ sw $v1, ($t0)
/* 3B9348 E00BA778 24430010 */ addiu $v1, $v0, 0x10
/* 3B934C E00BA77C 3C16E600 */ lui $s6, 0xe600
/* 3B9350 E00BA780 AC4C0000 */ sw $t4, ($v0)
/* 3B9354 E00BA784 AC570004 */ sw $s7, 4($v0)
/* 3B9358 E00BA788 AD030000 */ sw $v1, ($t0)
/* 3B935C E00BA78C 24430018 */ addiu $v1, $v0, 0x18
/* 3B9360 E00BA790 AC560008 */ sw $s6, 8($v0)
/* 3B9364 E00BA794 AC40000C */ sw $zero, 0xc($v0)
/* 3B9368 E00BA798 AD030000 */ sw $v1, ($t0)
/* 3B936C E00BA79C 24430020 */ addiu $v1, $v0, 0x20
/* 3B9370 E00BA7A0 AC550010 */ sw $s5, 0x10($v0)
/* 3B9374 E00BA7A4 AC510014 */ sw $s1, 0x14($v0)
/* 3B9378 E00BA7A8 AD030000 */ sw $v1, ($t0)
/* 3B937C E00BA7AC 24430028 */ addiu $v1, $v0, 0x28
/* 3B9380 E00BA7B0 AC4E0018 */ sw $t6, 0x18($v0)
/* 3B9384 E00BA7B4 AC40001C */ sw $zero, 0x1c($v0)
/* 3B9388 E00BA7B8 AD030000 */ sw $v1, ($t0)
/* 3B938C E00BA7BC 24430030 */ addiu $v1, $v0, 0x30
/* 3B9390 E00BA7C0 AC4C0020 */ sw $t4, 0x20($v0)
/* 3B9394 E00BA7C4 AC400024 */ sw $zero, 0x24($v0)
/* 3B9398 E00BA7C8 AD030000 */ sw $v1, ($t0)
/* 3B939C E00BA7CC 24430038 */ addiu $v1, $v0, 0x38
/* 3B93A0 E00BA7D0 AC530028 */ sw $s3, 0x28($v0)
/* 3B93A4 E00BA7D4 AC50002C */ sw $s0, 0x2c($v0)
/* 3B93A8 E00BA7D8 AD030000 */ sw $v1, ($t0)
/* 3B93AC E00BA7DC 24430040 */ addiu $v1, $v0, 0x40
/* 3B93B0 E00BA7E0 AC450030 */ sw $a1, 0x30($v0)
/* 3B93B4 E00BA7E4 AC460034 */ sw $a2, 0x34($v0)
/* 3B93B8 E00BA7E8 AD030000 */ sw $v1, ($t0)
/* 3B93BC E00BA7EC 3C03E100 */ lui $v1, 0xe100
/* 3B93C0 E00BA7F0 AC430038 */ sw $v1, 0x38($v0)
/* 3B93C4 E00BA7F4 24430048 */ addiu $v1, $v0, 0x48
/* 3B93C8 E00BA7F8 AC40003C */ sw $zero, 0x3c($v0)
/* 3B93CC E00BA7FC AD030000 */ sw $v1, ($t0)
/* 3B93D0 E00BA800 3C03F100 */ lui $v1, 0xf100
/* 3B93D4 E00BA804 AC430040 */ sw $v1, 0x40($v0)
/* 3B93D8 E00BA808 24430050 */ addiu $v1, $v0, 0x50
/* 3B93DC E00BA80C AC470044 */ sw $a3, 0x44($v0)
/* 3B93E0 E00BA810 AD030000 */ sw $v1, ($t0)
/* 3B93E4 E00BA814 AC4E0048 */ sw $t6, 0x48($v0)
/* 3B93E8 E00BA818 AC40004C */ sw $zero, 0x4c($v0)
/* 3B93EC E00BA81C 29A20028 */ slti $v0, $t5, 0x28
/* 3B93F0 E00BA820 1440FFC3 */ bnez $v0, .LE00BA730
/* 3B93F4 E00BA824 25290F00 */ addiu $t1, $t1, 0xf00
/* 3B93F8 E00BA828 3C06FF10 */ lui $a2, 0xff10
/* 3B93FC E00BA82C 34C6013F */ ori $a2, $a2, 0x13f
/* 3B9400 E00BA830 3C0AE300 */ lui $t2, 0xe300
/* 3B9404 E00BA834 354A0A01 */ ori $t2, $t2, 0xa01
/* 3B9408 E00BA838 3C0CFC35 */ lui $t4, 0xfc35
/* 3B940C E00BA83C 358C7E6A */ ori $t4, $t4, 0x7e6a
/* 3B9410 E00BA840 3C0BFFFC */ lui $t3, 0xfffc
/* 3B9414 E00BA844 356BF87C */ ori $t3, $t3, 0xf87c
/* 3B9418 E00BA848 3C0DFD10 */ lui $t5, 0xfd10
/* 3B941C E00BA84C 35AD013F */ ori $t5, $t5, 0x13f
/* 3B9420 E00BA850 3C0FE200 */ lui $t7, 0xe200
/* 3B9424 E00BA854 35EF001C */ ori $t7, $t7, 0x1c
/* 3B9428 E00BA858 3C0E0F0A */ lui $t6, 0xf0a
/* 3B942C E00BA85C 35CE4300 */ ori $t6, $t6, 0x4300
/* 3B9430 E00BA860 3C11E300 */ lui $s1, 0xe300
/* 3B9434 E00BA864 36310C00 */ ori $s1, $s1, 0xc00
/* 3B9438 E00BA868 3C12E300 */ lui $s2, 0xe300
/* 3B943C E00BA86C 36521201 */ ori $s2, $s2, 0x1201
/* 3B9440 E00BA870 27A40020 */ addiu $a0, $sp, 0x20
/* 3B9444 E00BA874 3C130001 */ lui $s3, 1
/* 3B9448 E00BA878 36731630 */ ori $s3, $s3, 0x1630
/* 3B944C E00BA87C 3C10800A */ lui $s0, %hi(gMainGfxPos)
/* 3B9450 E00BA880 2610A66C */ addiu $s0, $s0, %lo(gMainGfxPos)
/* 3B9454 E00BA884 8E080000 */ lw $t0, ($s0)
/* 3B9458 E00BA888 3C05C2A0 */ lui $a1, 0xc2a0
/* 3B945C E00BA88C 3C03800A */ lui $v1, %hi(nuGfxCfb_ptr)
/* 3B9460 E00BA890 8C63A64C */ lw $v1, %lo(nuGfxCfb_ptr)($v1)
/* 3B9464 E00BA894 3C01C270 */ lui $at, 0xc270
/* 3B9468 E00BA898 44810000 */ mtc1 $at, $f0
/* 3B946C E00BA89C 3C014320 */ lui $at, 0x4320
/* 3B9470 E00BA8A0 44811000 */ mtc1 $at, $f2
/* 3B9474 E00BA8A4 3C014420 */ lui $at, 0x4420
/* 3B9478 E00BA8A8 44812000 */ mtc1 $at, $f4
/* 3B947C E00BA8AC 3C013F80 */ lui $at, 0x3f80
/* 3B9480 E00BA8B0 44813000 */ mtc1 $at, $f6
/* 3B9484 E00BA8B4 0100102D */ daddu $v0, $t0, $zero
/* 3B9488 E00BA8B8 25080008 */ addiu $t0, $t0, 8
/* 3B948C E00BA8BC AE080000 */ sw $t0, ($s0)
/* 3B9490 E00BA8C0 AC460000 */ sw $a2, ($v0)
/* 3B9494 E00BA8C4 AC430004 */ sw $v1, 4($v0)
/* 3B9498 E00BA8C8 25020008 */ addiu $v0, $t0, 8
/* 3B949C E00BA8CC AE020000 */ sw $v0, ($s0)
/* 3B94A0 E00BA8D0 3C02FA00 */ lui $v0, 0xfa00
/* 3B94A4 E00BA8D4 AD020000 */ sw $v0, ($t0)
/* 3B94A8 E00BA8D8 9289001C */ lbu $t1, 0x1c($s4)
/* 3B94AC E00BA8DC 9286001D */ lbu $a2, 0x1d($s4)
/* 3B94B0 E00BA8E0 9287001E */ lbu $a3, 0x1e($s4)
/* 3B94B4 E00BA8E4 25020010 */ addiu $v0, $t0, 0x10
/* 3B94B8 E00BA8E8 AE020000 */ sw $v0, ($s0)
/* 3B94BC E00BA8EC 25020018 */ addiu $v0, $t0, 0x18
/* 3B94C0 E00BA8F0 AD0A0008 */ sw $t2, 8($t0)
/* 3B94C4 E00BA8F4 AD00000C */ sw $zero, 0xc($t0)
/* 3B94C8 E00BA8F8 AE020000 */ sw $v0, ($s0)
/* 3B94CC E00BA8FC 25020020 */ addiu $v0, $t0, 0x20
/* 3B94D0 E00BA900 AD0C0010 */ sw $t4, 0x10($t0)
/* 3B94D4 E00BA904 AD0B0014 */ sw $t3, 0x14($t0)
/* 3B94D8 E00BA908 AE020000 */ sw $v0, ($s0)
/* 3B94DC E00BA90C 3C02800A */ lui $v0, %hi(nuGfxZBuffer)
/* 3B94E0 E00BA910 8C42A5DC */ lw $v0, %lo(nuGfxZBuffer)($v0)
/* 3B94E4 E00BA914 3C038000 */ lui $v1, 0x8000
/* 3B94E8 E00BA918 AD0D0018 */ sw $t5, 0x18($t0)
/* 3B94EC E00BA91C 00431021 */ addu $v0, $v0, $v1
/* 3B94F0 E00BA920 AD02001C */ sw $v0, 0x1c($t0)
/* 3B94F4 E00BA924 25020028 */ addiu $v0, $t0, 0x28
/* 3B94F8 E00BA928 AE020000 */ sw $v0, ($s0)
/* 3B94FC E00BA92C 25020030 */ addiu $v0, $t0, 0x30
/* 3B9500 E00BA930 AD0F0020 */ sw $t7, 0x20($t0)
/* 3B9504 E00BA934 AD0E0024 */ sw $t6, 0x24($t0)
/* 3B9508 E00BA938 AE020000 */ sw $v0, ($s0)
/* 3B950C E00BA93C 3C020008 */ lui $v0, 8
/* 3B9510 E00BA940 AD02002C */ sw $v0, 0x2c($t0)
/* 3B9514 E00BA944 25020038 */ addiu $v0, $t0, 0x38
/* 3B9518 E00BA948 AD110028 */ sw $s1, 0x28($t0)
/* 3B951C E00BA94C AE020000 */ sw $v0, ($s0)
/* 3B9520 E00BA950 24022000 */ addiu $v0, $zero, 0x2000
/* 3B9524 E00BA954 00094E00 */ sll $t1, $t1, 0x18
/* 3B9528 E00BA958 00063400 */ sll $a2, $a2, 0x10
/* 3B952C E00BA95C 01264825 */ or $t1, $t1, $a2
/* 3B9530 E00BA960 00073A00 */ sll $a3, $a3, 8
/* 3B9534 E00BA964 01274825 */ or $t1, $t1, $a3
/* 3B9538 E00BA968 AD020034 */ sw $v0, 0x34($t0)
/* 3B953C E00BA96C 00191042 */ srl $v0, $t9, 1
/* 3B9540 E00BA970 3C0642A0 */ lui $a2, 0x42a0
/* 3B9544 E00BA974 3C074270 */ lui $a3, 0x4270
/* 3B9548 E00BA978 01224825 */ or $t1, $t1, $v0
/* 3B954C E00BA97C AD120030 */ sw $s2, 0x30($t0)
/* 3B9550 E00BA980 AD090004 */ sw $t1, 4($t0)
/* 3B9554 E00BA984 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3B9558 E00BA988 E7A20014 */ swc1 $f2, 0x14($sp)
/* 3B955C E00BA98C E7A40018 */ swc1 $f4, 0x18($sp)
/* 3B9560 E00BA990 0C080188 */ jal shim_guFrustumF
/* 3B9564 E00BA994 E7A6001C */ swc1 $f6, 0x1c($sp)
/* 3B9568 E00BA998 27A40020 */ addiu $a0, $sp, 0x20
/* 3B956C E00BA99C 3C118007 */ lui $s1, %hi(gMatrixListPos)
/* 3B9570 E00BA9A0 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos)
/* 3B9574 E00BA9A4 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 3B9578 E00BA9A8 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 3B957C E00BA9AC 96250000 */ lhu $a1, ($s1)
/* 3B9580 E00BA9B0 8E420000 */ lw $v0, ($s2)
/* 3B9584 E00BA9B4 00052980 */ sll $a1, $a1, 6
/* 3B9588 E00BA9B8 00B32821 */ addu $a1, $a1, $s3
/* 3B958C E00BA9BC 0C080118 */ jal shim_guMtxF2L
/* 3B9590 E00BA9C0 00452821 */ addu $a1, $v0, $a1
/* 3B9594 E00BA9C4 3C03DA38 */ lui $v1, 0xda38
/* 3B9598 E00BA9C8 34630007 */ ori $v1, $v1, 7
/* 3B959C E00BA9CC 3C06D9FD */ lui $a2, 0xd9fd
/* 3B95A0 E00BA9D0 34C6F9FF */ ori $a2, $a2, 0xf9ff
/* 3B95A4 E00BA9D4 3C08D9FF */ lui $t0, 0xd9ff
/* 3B95A8 E00BA9D8 3508FFFF */ ori $t0, $t0, 0xffff
/* 3B95AC E00BA9DC 3C070020 */ lui $a3, 0x20
/* 3B95B0 E00BA9E0 34E70004 */ ori $a3, $a3, 4
/* 3B95B4 E00BA9E4 3C090101 */ lui $t1, 0x101
/* 3B95B8 E00BA9E8 35290020 */ ori $t1, $t1, 0x20
/* 3B95BC E00BA9EC 0000702D */ daddu $t6, $zero, $zero
/* 3B95C0 E00BA9F0 3C150218 */ lui $s5, 0x218
/* 3B95C4 E00BA9F4 24190018 */ addiu $t9, $zero, 0x18
/* 3B95C8 E00BA9F8 8E040000 */ lw $a0, ($s0)
/* 3B95CC E00BA9FC 96220000 */ lhu $v0, ($s1)
/* 3B95D0 E00BAA00 0080282D */ daddu $a1, $a0, $zero
/* 3B95D4 E00BAA04 24840008 */ addiu $a0, $a0, 8
/* 3B95D8 E00BAA08 AE040000 */ sw $a0, ($s0)
/* 3B95DC E00BAA0C ACA30000 */ sw $v1, ($a1)
/* 3B95E0 E00BAA10 24430001 */ addiu $v1, $v0, 1
/* 3B95E4 E00BAA14 3042FFFF */ andi $v0, $v0, 0xffff
/* 3B95E8 E00BAA18 00021180 */ sll $v0, $v0, 6
/* 3B95EC E00BAA1C A6230000 */ sh $v1, ($s1)
/* 3B95F0 E00BAA20 8E430000 */ lw $v1, ($s2)
/* 3B95F4 E00BAA24 00531021 */ addu $v0, $v0, $s3
/* 3B95F8 E00BAA28 00621821 */ addu $v1, $v1, $v0
/* 3B95FC E00BAA2C 24820008 */ addiu $v0, $a0, 8
/* 3B9600 E00BAA30 ACA30004 */ sw $v1, 4($a1)
/* 3B9604 E00BAA34 AE020000 */ sw $v0, ($s0)
/* 3B9608 E00BAA38 24820010 */ addiu $v0, $a0, 0x10
/* 3B960C E00BAA3C AC860000 */ sw $a2, ($a0)
/* 3B9610 E00BAA40 AC800004 */ sw $zero, 4($a0)
/* 3B9614 E00BAA44 AE020000 */ sw $v0, ($s0)
/* 3B9618 E00BAA48 00991021 */ addu $v0, $a0, $t9
/* 3B961C E00BAA4C AC880008 */ sw $t0, 8($a0)
/* 3B9620 E00BAA50 AC87000C */ sw $a3, 0xc($a0)
/* 3B9624 E00BAA54 AE020000 */ sw $v0, ($s0)
/* 3B9628 E00BAA58 3C020900 */ lui $v0, 0x900
/* 3B962C E00BAA5C 24420428 */ addiu $v0, $v0, 0x428
/* 3B9630 E00BAA60 AC890010 */ sw $t1, 0x10($a0)
/* 3B9634 E00BAA64 AC820014 */ sw $v0, 0x14($a0)
.LE00BAA68:
/* 3B9638 E00BAA68 15C00004 */ bnez $t6, .LE00BAA7C
/* 3B963C E00BAA6C 0000902D */ daddu $s2, $zero, $zero
/* 3B9640 E00BAA70 2404FFFC */ addiu $a0, $zero, -4
/* 3B9644 E00BAA74 0802EAA0 */ j .LE00BAA80
/* 3B9648 E00BAA78 24120001 */ addiu $s2, $zero, 1
.LE00BAA7C:
/* 3B964C E00BAA7C 0000202D */ daddu $a0, $zero, $zero
.LE00BAA80:
/* 3B9650 E00BAA80 2402000B */ addiu $v0, $zero, 0xb
/* 3B9654 E00BAA84 15C20003 */ bne $t6, $v0, .LE00BAA94
/* 3B9658 E00BAA88 0000182D */ daddu $v1, $zero, $zero
/* 3B965C E00BAA8C 24030004 */ addiu $v1, $zero, 4
/* 3B9660 E00BAA90 24120001 */ addiu $s2, $zero, 1
.LE00BAA94:
/* 3B9664 E00BAA94 0000682D */ daddu $t5, $zero, $zero
/* 3B9668 E00BAA98 03241021 */ addu $v0, $t9, $a0
/* 3B966C E00BAA9C 0002C080 */ sll $t8, $v0, 2
/* 3B9670 E00BAAA0 33020FFF */ andi $v0, $t8, 0xfff
/* 3B9674 E00BAAA4 3C16F400 */ lui $s6, 0xf400
/* 3B9678 E00BAAA8 0056B025 */ or $s6, $v0, $s6
/* 3B967C E00BAAAC AFB600A0 */ sw $s6, 0xa0($sp)
/* 3B9680 E00BAAB0 03231821 */ addu $v1, $t9, $v1
/* 3B9684 E00BAAB4 24620010 */ addiu $v0, $v1, 0x10
/* 3B9688 E00BAAB8 00029880 */ sll $s3, $v0, 2
/* 3B968C E00BAABC 32620FFF */ andi $v0, $s3, 0xfff
/* 3B9690 E00BAAC0 3C160700 */ lui $s6, 0x700
/* 3B9694 E00BAAC4 0056F025 */ or $fp, $v0, $s6
/* 3B9698 E00BAAC8 2463001F */ addiu $v1, $v1, 0x1f
/* 3B969C E00BAACC 00031880 */ sll $v1, $v1, 2
/* 3B96A0 E00BAAD0 30770FFF */ andi $s7, $v1, 0xfff
/* 3B96A4 E00BAAD4 0012B023 */ negu $s6, $s2
/* 3B96A8 E00BAAD8 AFB600A8 */ sw $s6, 0xa8($sp)
.LE00BAADC:
/* 3B96AC E00BAADC 0000502D */ daddu $t2, $zero, $zero
/* 3B96B0 E00BAAE0 000D1100 */ sll $v0, $t5, 4
/* 3B96B4 E00BAAE4 15A00004 */ bnez $t5, .LE00BAAF8
/* 3B96B8 E00BAAE8 244F0010 */ addiu $t7, $v0, 0x10
/* 3B96BC E00BAAEC 240BFFFC */ addiu $t3, $zero, -4
/* 3B96C0 E00BAAF0 0802EABF */ j .LE00BAAFC
/* 3B96C4 E00BAAF4 240A0001 */ addiu $t2, $zero, 1
.LE00BAAF8:
/* 3B96C8 E00BAAF8 0000582D */ daddu $t3, $zero, $zero
.LE00BAAFC:
/* 3B96CC E00BAAFC 24020011 */ addiu $v0, $zero, 0x11
/* 3B96D0 E00BAB00 15A20003 */ bne $t5, $v0, .LE00BAB10
/* 3B96D4 E00BAB04 0000882D */ daddu $s1, $zero, $zero
/* 3B96D8 E00BAB08 24110004 */ addiu $s1, $zero, 4
/* 3B96DC E00BAB0C 240A0001 */ addiu $t2, $zero, 1
.LE00BAB10:
/* 3B96E0 E00BAB10 3C080709 */ lui $t0, 0x709
/* 3B96E4 E00BAB14 35088260 */ ori $t0, $t0, 0x8260
/* 3B96E8 E00BAB18 3C090009 */ lui $t1, 9
/* 3B96EC E00BAB1C 35298260 */ ori $t1, $t1, 0x8260
/* 3B96F0 E00BAB20 01F13021 */ addu $a2, $t7, $s1
/* 3B96F4 E00BAB24 01EB2021 */ addu $a0, $t7, $t3
/* 3B96F8 E00BAB28 2483FFF0 */ addiu $v1, $a0, -0x10
/* 3B96FC E00BAB2C 00C31823 */ subu $v1, $a2, $v1
/* 3B9700 E00BAB30 24630001 */ addiu $v1, $v1, 1
/* 3B9704 E00BAB34 00031840 */ sll $v1, $v1, 1
/* 3B9708 E00BAB38 24630007 */ addiu $v1, $v1, 7
/* 3B970C E00BAB3C 000318C3 */ sra $v1, $v1, 3
/* 3B9710 E00BAB40 306301FF */ andi $v1, $v1, 0x1ff
/* 3B9714 E00BAB44 00031A40 */ sll $v1, $v1, 9
/* 3B9718 E00BAB48 3C02F510 */ lui $v0, 0xf510
/* 3B971C E00BAB4C 00621825 */ or $v1, $v1, $v0
/* 3B9720 E00BAB50 00042080 */ sll $a0, $a0, 2
/* 3B9724 E00BAB54 30840FFF */ andi $a0, $a0, 0xfff
/* 3B9728 E00BAB58 8E050000 */ lw $a1, ($s0)
/* 3B972C E00BAB5C 00042300 */ sll $a0, $a0, 0xc
/* 3B9730 E00BAB60 00A0382D */ daddu $a3, $a1, $zero
/* 3B9734 E00BAB64 24A50008 */ addiu $a1, $a1, 8
/* 3B9738 E00BAB68 24A20008 */ addiu $v0, $a1, 8
/* 3B973C E00BAB6C AE050000 */ sw $a1, ($s0)
/* 3B9740 E00BAB70 ACE30000 */ sw $v1, ($a3)
/* 3B9744 E00BAB74 ACE80004 */ sw $t0, 4($a3)
/* 3B9748 E00BAB78 AE020000 */ sw $v0, ($s0)
/* 3B974C E00BAB7C 3C02E600 */ lui $v0, 0xe600
/* 3B9750 E00BAB80 ACA20000 */ sw $v0, ($a1)
/* 3B9754 E00BAB84 24A20010 */ addiu $v0, $a1, 0x10
/* 3B9758 E00BAB88 ACA00004 */ sw $zero, 4($a1)
/* 3B975C E00BAB8C AE020000 */ sw $v0, ($s0)
/* 3B9760 E00BAB90 24C20010 */ addiu $v0, $a2, 0x10
/* 3B9764 E00BAB94 00021080 */ sll $v0, $v0, 2
/* 3B9768 E00BAB98 30420FFF */ andi $v0, $v0, 0xfff
/* 3B976C E00BAB9C 00021300 */ sll $v0, $v0, 0xc
/* 3B9770 E00BABA0 8FB600A0 */ lw $s6, 0xa0($sp)
/* 3B9774 E00BABA4 005E1025 */ or $v0, $v0, $fp
/* 3B9778 E00BABA8 ACA2000C */ sw $v0, 0xc($a1)
/* 3B977C E00BABAC 24A20018 */ addiu $v0, $a1, 0x18
/* 3B9780 E00BABB0 24C6001F */ addiu $a2, $a2, 0x1f
/* 3B9784 E00BABB4 00063080 */ sll $a2, $a2, 2
/* 3B9788 E00BABB8 30C60FFF */ andi $a2, $a2, 0xfff
/* 3B978C E00BABBC 00063300 */ sll $a2, $a2, 0xc
/* 3B9790 E00BABC0 00D73025 */ or $a2, $a2, $s7
/* 3B9794 E00BABC4 00962025 */ or $a0, $a0, $s6
/* 3B9798 E00BABC8 3C16E700 */ lui $s6, 0xe700
/* 3B979C E00BABCC ACA40008 */ sw $a0, 8($a1)
/* 3B97A0 E00BABD0 AE020000 */ sw $v0, ($s0)
/* 3B97A4 E00BABD4 24A20020 */ addiu $v0, $a1, 0x20
/* 3B97A8 E00BABD8 ACB60010 */ sw $s6, 0x10($a1)
/* 3B97AC E00BABDC ACA00014 */ sw $zero, 0x14($a1)
/* 3B97B0 E00BABE0 AE020000 */ sw $v0, ($s0)
/* 3B97B4 E00BABE4 24A20028 */ addiu $v0, $a1, 0x28
/* 3B97B8 E00BABE8 ACA30018 */ sw $v1, 0x18($a1)
/* 3B97BC E00BABEC ACA9001C */ sw $t1, 0x1c($a1)
/* 3B97C0 E00BABF0 AE020000 */ sw $v0, ($s0)
/* 3B97C4 E00BABF4 3C02F200 */ lui $v0, 0xf200
/* 3B97C8 E00BABF8 ACA20020 */ sw $v0, 0x20($a1)
/* 3B97CC E00BABFC 11400003 */ beqz $t2, .LE00BAC0C
/* 3B97D0 E00BAC00 ACA60024 */ sw $a2, 0x24($a1)
/* 3B97D4 E00BAC04 16400005 */ bnez $s2, .LE00BAC1C
/* 3B97D8 E00BAC08 240C000C */ addiu $t4, $zero, 0xc
.LE00BAC0C:
/* 3B97DC E00BAC0C 15400003 */ bnez $t2, .LE00BAC1C
/* 3B97E0 E00BAC10 240C0004 */ addiu $t4, $zero, 4
/* 3B97E4 E00BAC14 8FB600A8 */ lw $s6, 0xa8($sp)
/* 3B97E8 E00BAC18 32CC0008 */ andi $t4, $s6, 8
.LE00BAC1C:
/* 3B97EC E00BAC1C 000D2840 */ sll $a1, $t5, 1
/* 3B97F0 E00BAC20 00AD2821 */ addu $a1, $a1, $t5
/* 3B97F4 E00BAC24 00052880 */ sll $a1, $a1, 2
/* 3B97F8 E00BAC28 00AD2821 */ addu $a1, $a1, $t5
/* 3B97FC E00BAC2C 25A20001 */ addiu $v0, $t5, 1
/* 3B9800 E00BAC30 0040682D */ daddu $t5, $v0, $zero
/* 3B9804 E00BAC34 000C5040 */ sll $t2, $t4, 1
/* 3B9808 E00BAC38 01551025 */ or $v0, $t2, $s5
/* 3B980C E00BAC3C 01EB4821 */ addu $t1, $t7, $t3
/* 3B9810 E00BAC40 00094C80 */ sll $t1, $t1, 0x12
/* 3B9814 E00BAC44 258B0001 */ addiu $t3, $t4, 1
/* 3B9818 E00BAC48 000B5840 */ sll $t3, $t3, 1
/* 3B981C E00BAC4C 25880002 */ addiu $t0, $t4, 2
/* 3B9820 E00BAC50 00084040 */ sll $t0, $t0, 1
/* 3B9824 E00BAC54 01F13821 */ addu $a3, $t7, $s1
/* 3B9828 E00BAC58 24E70010 */ addiu $a3, $a3, 0x10
/* 3B982C E00BAC5C 00073C80 */ sll $a3, $a3, 0x12
/* 3B9830 E00BAC60 8E060000 */ lw $a2, ($s0)
/* 3B9834 E00BAC64 000A5400 */ sll $t2, $t2, 0x10
/* 3B9838 E00BAC68 00C0202D */ daddu $a0, $a2, $zero
/* 3B983C E00BAC6C 24C60008 */ addiu $a2, $a2, 8
/* 3B9840 E00BAC70 AE060000 */ sw $a2, ($s0)
/* 3B9844 E00BAC74 AC820000 */ sw $v0, ($a0)
/* 3B9848 E00BAC78 01C51021 */ addu $v0, $t6, $a1
/* 3B984C E00BAC7C 02821021 */ addu $v0, $s4, $v0
/* 3B9850 E00BAC80 80430023 */ lb $v1, 0x23($v0)
/* 3B9854 E00BAC84 24C20008 */ addiu $v0, $a2, 8
/* 3B9858 E00BAC88 AE020000 */ sw $v0, ($s0)
/* 3B985C E00BAC8C 01751025 */ or $v0, $t3, $s5
/* 3B9860 E00BAC90 24A50001 */ addiu $a1, $a1, 1
/* 3B9864 E00BAC94 01C52821 */ addu $a1, $t6, $a1
/* 3B9868 E00BAC98 02852821 */ addu $a1, $s4, $a1
/* 3B986C E00BAC9C 03031821 */ addu $v1, $t8, $v1
/* 3B9870 E00BACA0 01231825 */ or $v1, $t1, $v1
/* 3B9874 E00BACA4 AC830004 */ sw $v1, 4($a0)
/* 3B9878 E00BACA8 000D1840 */ sll $v1, $t5, 1
/* 3B987C E00BACAC 006D1821 */ addu $v1, $v1, $t5
/* 3B9880 E00BACB0 00031880 */ sll $v1, $v1, 2
/* 3B9884 E00BACB4 006D1821 */ addu $v1, $v1, $t5
/* 3B9888 E00BACB8 ACC20000 */ sw $v0, ($a2)
/* 3B988C E00BACBC 01C31021 */ addu $v0, $t6, $v1
/* 3B9890 E00BACC0 02821021 */ addu $v0, $s4, $v0
/* 3B9894 E00BACC4 80440023 */ lb $a0, 0x23($v0)
/* 3B9898 E00BACC8 24C20010 */ addiu $v0, $a2, 0x10
/* 3B989C E00BACCC AE020000 */ sw $v0, ($s0)
/* 3B98A0 E00BACD0 01151025 */ or $v0, $t0, $s5
/* 3B98A4 E00BACD4 ACC20008 */ sw $v0, 8($a2)
/* 3B98A8 E00BACD8 24C20018 */ addiu $v0, $a2, 0x18
/* 3B98AC E00BACDC 24630001 */ addiu $v1, $v1, 1
/* 3B98B0 E00BACE0 01C31821 */ addu $v1, $t6, $v1
/* 3B98B4 E00BACE4 02831821 */ addu $v1, $s4, $v1
/* 3B98B8 E00BACE8 00084200 */ sll $t0, $t0, 8
/* 3B98BC E00BACEC 03042021 */ addu $a0, $t8, $a0
/* 3B98C0 E00BACF0 00E42025 */ or $a0, $a3, $a0
/* 3B98C4 E00BACF4 ACC40004 */ sw $a0, 4($a2)
/* 3B98C8 E00BACF8 80A40023 */ lb $a0, 0x23($a1)
/* 3B98CC E00BACFC 25850003 */ addiu $a1, $t4, 3
/* 3B98D0 E00BAD00 00052840 */ sll $a1, $a1, 1
/* 3B98D4 E00BAD04 AE020000 */ sw $v0, ($s0)
/* 3B98D8 E00BAD08 00B51025 */ or $v0, $a1, $s5
/* 3B98DC E00BAD0C ACC20010 */ sw $v0, 0x10($a2)
/* 3B98E0 E00BAD10 24C20020 */ addiu $v0, $a2, 0x20
/* 3B98E4 E00BAD14 02642021 */ addu $a0, $s3, $a0
/* 3B98E8 E00BAD18 01244825 */ or $t1, $t1, $a0
/* 3B98EC E00BAD1C ACC9000C */ sw $t1, 0xc($a2)
/* 3B98F0 E00BAD20 80640023 */ lb $a0, 0x23($v1)
/* 3B98F4 E00BAD24 30A500FF */ andi $a1, $a1, 0xff
/* 3B98F8 E00BAD28 AE020000 */ sw $v0, ($s0)
/* 3B98FC E00BAD2C 00051200 */ sll $v0, $a1, 8
/* 3B9900 E00BAD30 01421025 */ or $v0, $t2, $v0
/* 3B9904 E00BAD34 004B1025 */ or $v0, $v0, $t3
/* 3B9908 E00BAD38 3C030600 */ lui $v1, 0x600
/* 3B990C E00BAD3C 00431025 */ or $v0, $v0, $v1
/* 3B9910 E00BAD40 01485025 */ or $t2, $t2, $t0
/* 3B9914 E00BAD44 01455025 */ or $t2, $t2, $a1
/* 3B9918 E00BAD48 ACC20018 */ sw $v0, 0x18($a2)
/* 3B991C E00BAD4C 24C20028 */ addiu $v0, $a2, 0x28
/* 3B9920 E00BAD50 3C16E700 */ lui $s6, 0xe700
/* 3B9924 E00BAD54 ACCA001C */ sw $t2, 0x1c($a2)
/* 3B9928 E00BAD58 AE020000 */ sw $v0, ($s0)
/* 3B992C E00BAD5C 29A20012 */ slti $v0, $t5, 0x12
/* 3B9930 E00BAD60 ACD60020 */ sw $s6, 0x20($a2)
/* 3B9934 E00BAD64 ACC00024 */ sw $zero, 0x24($a2)
/* 3B9938 E00BAD68 02642021 */ addu $a0, $s3, $a0
/* 3B993C E00BAD6C 00E43825 */ or $a3, $a3, $a0
/* 3B9940 E00BAD70 1440FF5A */ bnez $v0, .LE00BAADC
/* 3B9944 E00BAD74 ACC70014 */ sw $a3, 0x14($a2)
/* 3B9948 E00BAD78 25CE0001 */ addiu $t6, $t6, 1
/* 3B994C E00BAD7C 29C2000C */ slti $v0, $t6, 0xc
/* 3B9950 E00BAD80 1440FF39 */ bnez $v0, .LE00BAA68
/* 3B9954 E00BAD84 27390010 */ addiu $t9, $t9, 0x10
/* 3B9958 E00BAD88 3C06FF10 */ lui $a2, 0xff10
/* 3B995C E00BAD8C 34C6013F */ ori $a2, $a2, 0x13f
/* 3B9960 E00BAD90 3C07DA38 */ lui $a3, 0xda38
/* 3B9964 E00BAD94 3C05800A */ lui $a1, %hi(gMainGfxPos)
/* 3B9968 E00BAD98 24A5A66C */ addiu $a1, $a1, %lo(gMainGfxPos)
/* 3B996C E00BAD9C 8CA30000 */ lw $v1, ($a1)
/* 3B9970 E00BADA0 3C04800A */ lui $a0, %hi(nuGfxZBuffer)
/* 3B9974 E00BADA4 8C84A5DC */ lw $a0, %lo(nuGfxZBuffer)($a0)
/* 3B9978 E00BADA8 0060102D */ daddu $v0, $v1, $zero
/* 3B997C E00BADAC 24630008 */ addiu $v1, $v1, 8
/* 3B9980 E00BADB0 ACA30000 */ sw $v1, ($a1)
/* 3B9984 E00BADB4 AC460000 */ sw $a2, ($v0)
/* 3B9988 E00BADB8 AC440004 */ sw $a0, 4($v0)
/* 3B998C E00BADBC 24620008 */ addiu $v0, $v1, 8
/* 3B9990 E00BADC0 ACA20000 */ sw $v0, ($a1)
/* 3B9994 E00BADC4 3C04800A */ lui $a0, %hi(nuGfxCfb_ptr)
/* 3B9998 E00BADC8 8C84A64C */ lw $a0, %lo(nuGfxCfb_ptr)($a0)
/* 3B999C E00BADCC 3C02DE00 */ lui $v0, 0xde00
/* 3B99A0 E00BADD0 AC620000 */ sw $v0, ($v1)
/* 3B99A4 E00BADD4 3C020900 */ lui $v0, 0x900
/* 3B99A8 E00BADD8 24420570 */ addiu $v0, $v0, 0x570
/* 3B99AC E00BADDC AC620004 */ sw $v0, 4($v1)
/* 3B99B0 E00BADE0 24620010 */ addiu $v0, $v1, 0x10
/* 3B99B4 E00BADE4 ACA20000 */ sw $v0, ($a1)
/* 3B99B8 E00BADE8 24620018 */ addiu $v0, $v1, 0x18
/* 3B99BC E00BADEC AC660008 */ sw $a2, 8($v1)
/* 3B99C0 E00BADF0 02C0302D */ daddu $a2, $s6, $zero
/* 3B99C4 E00BADF4 AC64000C */ sw $a0, 0xc($v1)
/* 3B99C8 E00BADF8 ACA20000 */ sw $v0, ($a1)
/* 3B99CC E00BADFC 3C048007 */ lui $a0, %hi(gCurrentCameraID)
/* 3B99D0 E00BAE00 8C847410 */ lw $a0, %lo(gCurrentCameraID)($a0)
/* 3B99D4 E00BAE04 24620020 */ addiu $v0, $v1, 0x20
/* 3B99D8 E00BAE08 AC660010 */ sw $a2, 0x10($v1)
/* 3B99DC E00BAE0C AC600014 */ sw $zero, 0x14($v1)
/* 3B99E0 E00BAE10 ACA20000 */ sw $v0, ($a1)
/* 3B99E4 E00BAE14 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 3B99E8 E00BAE18 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 3B99EC E00BAE1C 34E70007 */ ori $a3, $a3, 7
/* 3B99F0 E00BAE20 AC670018 */ sw $a3, 0x18($v1)
/* 3B99F4 E00BAE24 00042180 */ sll $a0, $a0, 6
/* 3B99F8 E00BAE28 24840030 */ addiu $a0, $a0, 0x30
/* 3B99FC E00BAE2C 00441021 */ addu $v0, $v0, $a0
/* 3B9A00 E00BAE30 AC62001C */ sw $v0, 0x1c($v1)
/* 3B9A04 E00BAE34 24620028 */ addiu $v0, $v1, 0x28
/* 3B9A08 E00BAE38 ACA20000 */ sw $v0, ($a1)
/* 3B9A0C E00BAE3C AC660020 */ sw $a2, 0x20($v1)
/* 3B9A10 E00BAE40 AC600024 */ sw $zero, 0x24($v1)
/* 3B9A14 E00BAE44 8FBF00D4 */ lw $ra, 0xd4($sp)
/* 3B9A18 E00BAE48 8FBE00D0 */ lw $fp, 0xd0($sp)
/* 3B9A1C E00BAE4C 8FB700CC */ lw $s7, 0xcc($sp)
/* 3B9A20 E00BAE50 8FB600C8 */ lw $s6, 0xc8($sp)
/* 3B9A24 E00BAE54 8FB500C4 */ lw $s5, 0xc4($sp)
/* 3B9A28 E00BAE58 8FB400C0 */ lw $s4, 0xc0($sp)
/* 3B9A2C E00BAE5C 8FB300BC */ lw $s3, 0xbc($sp)
/* 3B9A30 E00BAE60 8FB200B8 */ lw $s2, 0xb8($sp)
/* 3B9A34 E00BAE64 8FB100B4 */ lw $s1, 0xb4($sp)
/* 3B9A38 E00BAE68 8FB000B0 */ lw $s0, 0xb0($sp)
/* 3B9A3C E00BAE6C 03E00008 */ jr $ra
/* 3B9A40 E00BAE70 27BD00D8 */ addiu $sp, $sp, 0xd8
/* 3B9A44 E00BAE74 00000000 */ nop
/* 3B9A48 E00BAE78 00000000 */ nop
/* 3B9A4C E00BAE7C 00000000 */ nop

View File

@ -1,477 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_8024F1F0_A39430
.word .L8024297C_A2CBBC, .L802429EC_A2CC2C, .L80242A5C_A2CC9C, .L80242ACC_A2CD0C, .L80242BB8_A2CDF8, .L80242C28_A2CE68
dlabel D_8024F208_A39448
.double 51.43
dlabel D_8024F210_A39450
.double 360.01
dlabel D_8024F218_A39458
.double 154.29
dlabel D_8024F220_A39460
.double 205.72
dlabel D_8024F228_A39468
.double 308.58
dlabel D_8024F230_A39470
.double 102.86
dlabel D_8024F238_A39478
.double 257.15
.section .text
glabel func_802428C8_A2CB08
/* A2CB08 802428C8 27BDFF98 */ addiu $sp, $sp, -0x68
/* A2CB0C 802428CC AFB30024 */ sw $s3, 0x24($sp)
/* A2CB10 802428D0 0080982D */ daddu $s3, $a0, $zero
/* A2CB14 802428D4 AFBF0034 */ sw $ra, 0x34($sp)
/* A2CB18 802428D8 AFB60030 */ sw $s6, 0x30($sp)
/* A2CB1C 802428DC AFB5002C */ sw $s5, 0x2c($sp)
/* A2CB20 802428E0 AFB40028 */ sw $s4, 0x28($sp)
/* A2CB24 802428E4 AFB20020 */ sw $s2, 0x20($sp)
/* A2CB28 802428E8 AFB1001C */ sw $s1, 0x1c($sp)
/* A2CB2C 802428EC AFB00018 */ sw $s0, 0x18($sp)
/* A2CB30 802428F0 F7BE0060 */ sdc1 $f30, 0x60($sp)
/* A2CB34 802428F4 F7BC0058 */ sdc1 $f28, 0x58($sp)
/* A2CB38 802428F8 F7BA0050 */ sdc1 $f26, 0x50($sp)
/* A2CB3C 802428FC F7B80048 */ sdc1 $f24, 0x48($sp)
/* A2CB40 80242900 F7B60040 */ sdc1 $f22, 0x40($sp)
/* A2CB44 80242904 F7B40038 */ sdc1 $f20, 0x38($sp)
/* A2CB48 80242908 8E70000C */ lw $s0, 0xc($s3)
/* A2CB4C 8024290C 8E050000 */ lw $a1, ($s0)
/* A2CB50 80242910 0C0B1EAF */ jal evt_get_variable
/* A2CB54 80242914 26100004 */ addiu $s0, $s0, 4
/* A2CB58 80242918 8E050000 */ lw $a1, ($s0)
/* A2CB5C 8024291C 26100004 */ addiu $s0, $s0, 4
/* A2CB60 80242920 0260202D */ daddu $a0, $s3, $zero
/* A2CB64 80242924 0C0B210B */ jal evt_get_float_variable
/* A2CB68 80242928 0040B02D */ daddu $s6, $v0, $zero
/* A2CB6C 8024292C 8E050000 */ lw $a1, ($s0)
/* A2CB70 80242930 0260202D */ daddu $a0, $s3, $zero
/* A2CB74 80242934 0C0B210B */ jal evt_get_float_variable
/* A2CB78 80242938 E7A00010 */ swc1 $f0, 0x10($sp)
/* A2CB7C 8024293C 0260202D */ daddu $a0, $s3, $zero
/* A2CB80 80242940 3C05F4AC */ lui $a1, 0xf4ac
/* A2CB84 80242944 34A5D480 */ ori $a1, $a1, 0xd480
/* A2CB88 80242948 0C0B1EAF */ jal evt_get_variable
/* A2CB8C 8024294C 46000706 */ mov.s $f28, $f0
/* A2CB90 80242950 0040202D */ daddu $a0, $v0, $zero
/* A2CB94 80242954 26C3FFFF */ addiu $v1, $s6, -1
/* A2CB98 80242958 2C620006 */ sltiu $v0, $v1, 6
/* A2CB9C 8024295C 104000CE */ beqz $v0, .L80242C98
/* A2CBA0 80242960 0080882D */ daddu $s1, $a0, $zero
/* A2CBA4 80242964 00031080 */ sll $v0, $v1, 2
/* A2CBA8 80242968 3C018025 */ lui $at, %hi(jtbl_8024F1F0_A39430)
/* A2CBAC 8024296C 00220821 */ addu $at, $at, $v0
/* A2CBB0 80242970 8C22F1F0 */ lw $v0, %lo(jtbl_8024F1F0_A39430)($at)
/* A2CBB4 80242974 00400008 */ jr $v0
/* A2CBB8 80242978 00000000 */ nop
.L8024297C_A2CBBC:
/* A2CBBC 8024297C 3C108025 */ lui $s0, %hi(hos_05_D_8024F3F8)
/* A2CBC0 80242980 2610F3F8 */ addiu $s0, $s0, %lo(hos_05_D_8024F3F8)
/* A2CBC4 80242984 0200902D */ daddu $s2, $s0, $zero
/* A2CBC8 80242988 2415001E */ addiu $s5, $zero, 0x1e
/* A2CBCC 8024298C 8E22000C */ lw $v0, 0xc($s1)
/* A2CBD0 80242990 8C420014 */ lw $v0, 0x14($v0)
/* A2CBD4 80242994 3C0142B4 */ lui $at, 0x42b4
/* A2CBD8 80242998 4481F000 */ mtc1 $at, $f30
/* A2CBDC 8024299C 00551021 */ addu $v0, $v0, $s5
/* A2CBE0 802429A0 44821000 */ mtc1 $v0, $f2
/* A2CBE4 802429A4 00000000 */ nop
/* A2CBE8 802429A8 468010A1 */ cvt.d.w $f2, $f2
/* A2CBEC 802429AC 04410006 */ bgez $v0, .L802429C8
/* A2CBF0 802429B0 24140003 */ addiu $s4, $zero, 3
/* A2CBF4 802429B4 3C0141F0 */ lui $at, 0x41f0
/* A2CBF8 802429B8 44810800 */ mtc1 $at, $f1
/* A2CBFC 802429BC 44800000 */ mtc1 $zero, $f0
/* A2CC00 802429C0 00000000 */ nop
/* A2CC04 802429C4 46201080 */ add.d $f2, $f2, $f0
.L802429C8:
/* A2CC08 802429C8 3C014080 */ lui $at, 0x4080
/* A2CC0C 802429CC 44810000 */ mtc1 $at, $f0
/* A2CC10 802429D0 46201520 */ cvt.s.d $f20, $f2
/* A2CC14 802429D4 4600A502 */ mul.s $f20, $f20, $f0
/* A2CC18 802429D8 00000000 */ nop
/* A2CC1C 802429DC 3C018025 */ lui $at, %hi(D_8024F208_A39448)
/* A2CC20 802429E0 D420F208 */ ldc1 $f0, %lo(D_8024F208_A39448)($at)
/* A2CC24 802429E4 08090B41 */ j .L80242D04
/* A2CC28 802429E8 4600A521 */ cvt.d.s $f20, $f20
.L802429EC_A2CC2C:
/* A2CC2C 802429EC 3C108025 */ lui $s0, %hi(hos_05_D_8024F3F8 + 0x28)
/* A2CC30 802429F0 2610F420 */ addiu $s0, $s0, %lo(hos_05_D_8024F3F8 + 0x28)
/* A2CC34 802429F4 0200902D */ daddu $s2, $s0, $zero
/* A2CC38 802429F8 2415001E */ addiu $s5, $zero, 0x1e
/* A2CC3C 802429FC 8E22000C */ lw $v0, 0xc($s1)
/* A2CC40 80242A00 8C420014 */ lw $v0, 0x14($v0)
/* A2CC44 80242A04 3C0142B4 */ lui $at, 0x42b4
/* A2CC48 80242A08 4481F000 */ mtc1 $at, $f30
/* A2CC4C 80242A0C 00551021 */ addu $v0, $v0, $s5
/* A2CC50 80242A10 44821000 */ mtc1 $v0, $f2
/* A2CC54 80242A14 00000000 */ nop
/* A2CC58 80242A18 468010A1 */ cvt.d.w $f2, $f2
/* A2CC5C 80242A1C 04410006 */ bgez $v0, .L80242A38
/* A2CC60 80242A20 24140003 */ addiu $s4, $zero, 3
/* A2CC64 80242A24 3C0141F0 */ lui $at, 0x41f0
/* A2CC68 80242A28 44810800 */ mtc1 $at, $f1
/* A2CC6C 80242A2C 44800000 */ mtc1 $zero, $f0
/* A2CC70 80242A30 00000000 */ nop
/* A2CC74 80242A34 46201080 */ add.d $f2, $f2, $f0
.L80242A38:
/* A2CC78 80242A38 3C014080 */ lui $at, 0x4080
/* A2CC7C 80242A3C 44810000 */ mtc1 $at, $f0
/* A2CC80 80242A40 46201520 */ cvt.s.d $f20, $f2
/* A2CC84 80242A44 4600A502 */ mul.s $f20, $f20, $f0
/* A2CC88 80242A48 00000000 */ nop
/* A2CC8C 80242A4C 3C018025 */ lui $at, %hi(D_8024F210_A39450)
/* A2CC90 80242A50 D420F210 */ ldc1 $f0, %lo(D_8024F210_A39450)($at)
/* A2CC94 80242A54 08090B41 */ j .L80242D04
/* A2CC98 80242A58 4600A521 */ cvt.d.s $f20, $f20
.L80242A5C_A2CC9C:
/* A2CC9C 80242A5C 3C108025 */ lui $s0, %hi(hos_05_D_8024F3F8 + 0x50)
/* A2CCA0 80242A60 2610F448 */ addiu $s0, $s0, %lo(hos_05_D_8024F3F8 + 0x50)
/* A2CCA4 80242A64 0200902D */ daddu $s2, $s0, $zero
/* A2CCA8 80242A68 2415001E */ addiu $s5, $zero, 0x1e
/* A2CCAC 80242A6C 8E22000C */ lw $v0, 0xc($s1)
/* A2CCB0 80242A70 8C420014 */ lw $v0, 0x14($v0)
/* A2CCB4 80242A74 3C0142B4 */ lui $at, 0x42b4
/* A2CCB8 80242A78 4481F000 */ mtc1 $at, $f30
/* A2CCBC 80242A7C 00551021 */ addu $v0, $v0, $s5
/* A2CCC0 80242A80 44821000 */ mtc1 $v0, $f2
/* A2CCC4 80242A84 00000000 */ nop
/* A2CCC8 80242A88 468010A1 */ cvt.d.w $f2, $f2
/* A2CCCC 80242A8C 04410006 */ bgez $v0, .L80242AA8
/* A2CCD0 80242A90 24140003 */ addiu $s4, $zero, 3
/* A2CCD4 80242A94 3C0141F0 */ lui $at, 0x41f0
/* A2CCD8 80242A98 44810800 */ mtc1 $at, $f1
/* A2CCDC 80242A9C 44800000 */ mtc1 $zero, $f0
/* A2CCE0 80242AA0 00000000 */ nop
/* A2CCE4 80242AA4 46201080 */ add.d $f2, $f2, $f0
.L80242AA8:
/* A2CCE8 80242AA8 3C014080 */ lui $at, 0x4080
/* A2CCEC 80242AAC 44810000 */ mtc1 $at, $f0
/* A2CCF0 80242AB0 46201520 */ cvt.s.d $f20, $f2
/* A2CCF4 80242AB4 4600A502 */ mul.s $f20, $f20, $f0
/* A2CCF8 80242AB8 00000000 */ nop
/* A2CCFC 80242ABC 3C018025 */ lui $at, %hi(D_8024F218_A39458)
/* A2CD00 80242AC0 D420F218 */ ldc1 $f0, %lo(D_8024F218_A39458)($at)
/* A2CD04 80242AC4 08090B41 */ j .L80242D04
/* A2CD08 80242AC8 4600A521 */ cvt.d.s $f20, $f20
.L80242ACC_A2CD0C:
/* A2CD0C 80242ACC 3C108025 */ lui $s0, %hi(hos_05_D_8024F3F8 + 0x78)
/* A2CD10 80242AD0 2610F470 */ addiu $s0, $s0, %lo(hos_05_D_8024F3F8 + 0x78)
/* A2CD14 80242AD4 8E22000C */ lw $v0, 0xc($s1)
/* A2CD18 80242AD8 2415001E */ addiu $s5, $zero, 0x1e
/* A2CD1C 80242ADC 8C420014 */ lw $v0, 0x14($v0)
/* A2CD20 80242AE0 3C0142B4 */ lui $at, 0x42b4
/* A2CD24 80242AE4 4481F000 */ mtc1 $at, $f30
/* A2CD28 80242AE8 00551021 */ addu $v0, $v0, $s5
/* A2CD2C 80242AEC 44821000 */ mtc1 $v0, $f2
/* A2CD30 80242AF0 00000000 */ nop
/* A2CD34 80242AF4 468010A1 */ cvt.d.w $f2, $f2
/* A2CD38 80242AF8 04410006 */ bgez $v0, .L80242B14
/* A2CD3C 80242AFC 0200902D */ daddu $s2, $s0, $zero
/* A2CD40 80242B00 3C0141F0 */ lui $at, 0x41f0
/* A2CD44 80242B04 44810800 */ mtc1 $at, $f1
/* A2CD48 80242B08 44800000 */ mtc1 $zero, $f0
/* A2CD4C 80242B0C 00000000 */ nop
/* A2CD50 80242B10 46201080 */ add.d $f2, $f2, $f0
.L80242B14:
/* A2CD54 80242B14 3C014080 */ lui $at, 0x4080
/* A2CD58 80242B18 44810000 */ mtc1 $at, $f0
/* A2CD5C 80242B1C 46201520 */ cvt.s.d $f20, $f2
/* A2CD60 80242B20 4600A502 */ mul.s $f20, $f20, $f0
/* A2CD64 80242B24 00000000 */ nop
/* A2CD68 80242B28 3C018025 */ lui $at, %hi(D_8024F220_A39460)
/* A2CD6C 80242B2C D420F220 */ ldc1 $f0, %lo(D_8024F220_A39460)($at)
/* A2CD70 80242B30 4600A521 */ cvt.d.s $f20, $f20
/* A2CD74 80242B34 4620A500 */ add.d $f20, $f20, $f0
/* A2CD78 80242B38 4620A520 */ cvt.s.d $f20, $f20
/* A2CD7C 80242B3C 0C00A8BB */ jal sin_deg
/* A2CD80 80242B40 4600A306 */ mov.s $f12, $f20
/* A2CD84 80242B44 4600F306 */ mov.s $f12, $f30
/* A2CD88 80242B48 3C014248 */ lui $at, 0x4248
/* A2CD8C 80242B4C 4481B000 */ mtc1 $at, $f22
/* A2CD90 80242B50 0C00A8BB */ jal sin_deg
/* A2CD94 80242B54 46000606 */ mov.s $f24, $f0
/* A2CD98 80242B58 46160002 */ mul.s $f0, $f0, $f22
/* A2CD9C 80242B5C 00000000 */ nop
/* A2CDA0 80242B60 46180002 */ mul.s $f0, $f0, $f24
/* A2CDA4 80242B64 00000000 */ nop
/* A2CDA8 80242B68 8E22000C */ lw $v0, 0xc($s1)
/* A2CDAC 80242B6C C4420004 */ lwc1 $f2, 4($v0)
/* A2CDB0 80242B70 46001680 */ add.s $f26, $f2, $f0
/* A2CDB4 80242B74 0C00A8D4 */ jal cos_deg
/* A2CDB8 80242B78 4600A306 */ mov.s $f12, $f20
/* A2CDBC 80242B7C 46160002 */ mul.s $f0, $f0, $f22
/* A2CDC0 80242B80 00000000 */ nop
/* A2CDC4 80242B84 8E22000C */ lw $v0, 0xc($s1)
/* A2CDC8 80242B88 C4420008 */ lwc1 $f2, 8($v0)
/* A2CDCC 80242B8C 46001500 */ add.s $f20, $f2, $f0
/* A2CDD0 80242B90 0C00A8BB */ jal sin_deg
/* A2CDD4 80242B94 4600F306 */ mov.s $f12, $f30
/* A2CDD8 80242B98 46160002 */ mul.s $f0, $f0, $f22
/* A2CDDC 80242B9C 00000000 */ nop
/* A2CDE0 80242BA0 46180002 */ mul.s $f0, $f0, $f24
/* A2CDE4 80242BA4 00000000 */ nop
/* A2CDE8 80242BA8 8E22000C */ lw $v0, 0xc($s1)
/* A2CDEC 80242BAC C442000C */ lwc1 $f2, 0xc($v0)
/* A2CDF0 80242BB0 08090B60 */ j .L80242D80
/* A2CDF4 80242BB4 24140003 */ addiu $s4, $zero, 3
.L80242BB8_A2CDF8:
/* A2CDF8 80242BB8 3C108025 */ lui $s0, %hi(hos_05_D_8024F3F8 + 0xA0)
/* A2CDFC 80242BBC 2610F498 */ addiu $s0, $s0, %lo(hos_05_D_8024F3F8 + 0xA0)
/* A2CE00 80242BC0 0200902D */ daddu $s2, $s0, $zero
/* A2CE04 80242BC4 2415001E */ addiu $s5, $zero, 0x1e
/* A2CE08 80242BC8 8E22000C */ lw $v0, 0xc($s1)
/* A2CE0C 80242BCC 8C420014 */ lw $v0, 0x14($v0)
/* A2CE10 80242BD0 3C0142B4 */ lui $at, 0x42b4
/* A2CE14 80242BD4 4481F000 */ mtc1 $at, $f30
/* A2CE18 80242BD8 00551021 */ addu $v0, $v0, $s5
/* A2CE1C 80242BDC 44821000 */ mtc1 $v0, $f2
/* A2CE20 80242BE0 00000000 */ nop
/* A2CE24 80242BE4 468010A1 */ cvt.d.w $f2, $f2
/* A2CE28 80242BE8 04410006 */ bgez $v0, .L80242C04
/* A2CE2C 80242BEC 24140003 */ addiu $s4, $zero, 3
/* A2CE30 80242BF0 3C0141F0 */ lui $at, 0x41f0
/* A2CE34 80242BF4 44810800 */ mtc1 $at, $f1
/* A2CE38 80242BF8 44800000 */ mtc1 $zero, $f0
/* A2CE3C 80242BFC 00000000 */ nop
/* A2CE40 80242C00 46201080 */ add.d $f2, $f2, $f0
.L80242C04:
/* A2CE44 80242C04 3C014080 */ lui $at, 0x4080
/* A2CE48 80242C08 44810000 */ mtc1 $at, $f0
/* A2CE4C 80242C0C 46201520 */ cvt.s.d $f20, $f2
/* A2CE50 80242C10 4600A502 */ mul.s $f20, $f20, $f0
/* A2CE54 80242C14 00000000 */ nop
/* A2CE58 80242C18 3C018025 */ lui $at, %hi(D_8024F228_A39468)
/* A2CE5C 80242C1C D420F228 */ ldc1 $f0, %lo(D_8024F228_A39468)($at)
/* A2CE60 80242C20 08090B41 */ j .L80242D04
/* A2CE64 80242C24 4600A521 */ cvt.d.s $f20, $f20
.L80242C28_A2CE68:
/* A2CE68 80242C28 3C108025 */ lui $s0, %hi(hos_05_D_8024F3F8 + 0xC8)
/* A2CE6C 80242C2C 2610F4C0 */ addiu $s0, $s0, %lo(hos_05_D_8024F3F8 + 0xC8)
/* A2CE70 80242C30 0200902D */ daddu $s2, $s0, $zero
/* A2CE74 80242C34 2415001E */ addiu $s5, $zero, 0x1e
/* A2CE78 80242C38 8E22000C */ lw $v0, 0xc($s1)
/* A2CE7C 80242C3C 8C420014 */ lw $v0, 0x14($v0)
/* A2CE80 80242C40 3C0142B4 */ lui $at, 0x42b4
/* A2CE84 80242C44 4481F000 */ mtc1 $at, $f30
/* A2CE88 80242C48 00551021 */ addu $v0, $v0, $s5
/* A2CE8C 80242C4C 44821000 */ mtc1 $v0, $f2
/* A2CE90 80242C50 00000000 */ nop
/* A2CE94 80242C54 468010A1 */ cvt.d.w $f2, $f2
/* A2CE98 80242C58 04410006 */ bgez $v0, .L80242C74
/* A2CE9C 80242C5C 24140003 */ addiu $s4, $zero, 3
/* A2CEA0 80242C60 3C0141F0 */ lui $at, 0x41f0
/* A2CEA4 80242C64 44810800 */ mtc1 $at, $f1
/* A2CEA8 80242C68 44800000 */ mtc1 $zero, $f0
/* A2CEAC 80242C6C 00000000 */ nop
/* A2CEB0 80242C70 46201080 */ add.d $f2, $f2, $f0
.L80242C74:
/* A2CEB4 80242C74 3C014080 */ lui $at, 0x4080
/* A2CEB8 80242C78 44810000 */ mtc1 $at, $f0
/* A2CEBC 80242C7C 46201520 */ cvt.s.d $f20, $f2
/* A2CEC0 80242C80 4600A502 */ mul.s $f20, $f20, $f0
/* A2CEC4 80242C84 00000000 */ nop
/* A2CEC8 80242C88 3C018025 */ lui $at, %hi(D_8024F230_A39470)
/* A2CECC 80242C8C D420F230 */ ldc1 $f0, %lo(D_8024F230_A39470)($at)
/* A2CED0 80242C90 08090B41 */ j .L80242D04
/* A2CED4 80242C94 4600A521 */ cvt.d.s $f20, $f20
.L80242C98:
/* A2CED8 80242C98 3C108025 */ lui $s0, %hi(hos_05_D_8024F3F8 + 0xF0)
/* A2CEDC 80242C9C 2610F4E8 */ addiu $s0, $s0, %lo(hos_05_D_8024F3F8 + 0xF0)
/* A2CEE0 80242CA0 0200902D */ daddu $s2, $s0, $zero
/* A2CEE4 80242CA4 2415001E */ addiu $s5, $zero, 0x1e
/* A2CEE8 80242CA8 8C82000C */ lw $v0, 0xc($a0)
/* A2CEEC 80242CAC 8C420014 */ lw $v0, 0x14($v0)
/* A2CEF0 80242CB0 3C0142B4 */ lui $at, 0x42b4
/* A2CEF4 80242CB4 4481F000 */ mtc1 $at, $f30
/* A2CEF8 80242CB8 00551021 */ addu $v0, $v0, $s5
/* A2CEFC 80242CBC 44821000 */ mtc1 $v0, $f2
/* A2CF00 80242CC0 00000000 */ nop
/* A2CF04 80242CC4 468010A1 */ cvt.d.w $f2, $f2
/* A2CF08 80242CC8 04410006 */ bgez $v0, .L80242CE4
/* A2CF0C 80242CCC 24140003 */ addiu $s4, $zero, 3
/* A2CF10 80242CD0 3C0141F0 */ lui $at, 0x41f0
/* A2CF14 80242CD4 44810800 */ mtc1 $at, $f1
/* A2CF18 80242CD8 44800000 */ mtc1 $zero, $f0
/* A2CF1C 80242CDC 00000000 */ nop
/* A2CF20 80242CE0 46201080 */ add.d $f2, $f2, $f0
.L80242CE4:
/* A2CF24 80242CE4 3C014080 */ lui $at, 0x4080
/* A2CF28 80242CE8 44810000 */ mtc1 $at, $f0
/* A2CF2C 80242CEC 46201520 */ cvt.s.d $f20, $f2
/* A2CF30 80242CF0 4600A502 */ mul.s $f20, $f20, $f0
/* A2CF34 80242CF4 00000000 */ nop
/* A2CF38 80242CF8 3C018025 */ lui $at, %hi(D_8024F238_A39478)
/* A2CF3C 80242CFC D420F238 */ ldc1 $f0, %lo(D_8024F238_A39478)($at)
/* A2CF40 80242D00 4600A521 */ cvt.d.s $f20, $f20
.L80242D04:
/* A2CF44 80242D04 4620A500 */ add.d $f20, $f20, $f0
/* A2CF48 80242D08 4620A520 */ cvt.s.d $f20, $f20
/* A2CF4C 80242D0C 0C00A8BB */ jal sin_deg
/* A2CF50 80242D10 4600A306 */ mov.s $f12, $f20
/* A2CF54 80242D14 4600F306 */ mov.s $f12, $f30
/* A2CF58 80242D18 3C014248 */ lui $at, 0x4248
/* A2CF5C 80242D1C 4481B000 */ mtc1 $at, $f22
/* A2CF60 80242D20 0C00A8BB */ jal sin_deg
/* A2CF64 80242D24 46000606 */ mov.s $f24, $f0
/* A2CF68 80242D28 46160002 */ mul.s $f0, $f0, $f22
/* A2CF6C 80242D2C 00000000 */ nop
/* A2CF70 80242D30 46180002 */ mul.s $f0, $f0, $f24
/* A2CF74 80242D34 00000000 */ nop
/* A2CF78 80242D38 8E22000C */ lw $v0, 0xc($s1)
/* A2CF7C 80242D3C C4420004 */ lwc1 $f2, 4($v0)
/* A2CF80 80242D40 46001680 */ add.s $f26, $f2, $f0
/* A2CF84 80242D44 0C00A8D4 */ jal cos_deg
/* A2CF88 80242D48 4600A306 */ mov.s $f12, $f20
/* A2CF8C 80242D4C 46160002 */ mul.s $f0, $f0, $f22
/* A2CF90 80242D50 00000000 */ nop
/* A2CF94 80242D54 8E22000C */ lw $v0, 0xc($s1)
/* A2CF98 80242D58 C4420008 */ lwc1 $f2, 8($v0)
/* A2CF9C 80242D5C 46001500 */ add.s $f20, $f2, $f0
/* A2CFA0 80242D60 0C00A8BB */ jal sin_deg
/* A2CFA4 80242D64 4600F306 */ mov.s $f12, $f30
/* A2CFA8 80242D68 46160002 */ mul.s $f0, $f0, $f22
/* A2CFAC 80242D6C 00000000 */ nop
/* A2CFB0 80242D70 46180002 */ mul.s $f0, $f0, $f24
/* A2CFB4 80242D74 00000000 */ nop
/* A2CFB8 80242D78 8E22000C */ lw $v0, 0xc($s1)
/* A2CFBC 80242D7C C442000C */ lwc1 $f2, 0xc($v0)
.L80242D80:
/* A2CFC0 80242D80 46001080 */ add.s $f2, $f2, $f0
/* A2CFC4 80242D84 E61A0018 */ swc1 $f26, 0x18($s0)
/* A2CFC8 80242D88 E614001C */ swc1 $f20, 0x1c($s0)
/* A2CFCC 80242D8C E6020020 */ swc1 $f2, 0x20($s0)
/* A2CFD0 80242D90 0260202D */ daddu $a0, $s3, $zero
/* A2CFD4 80242D94 3C05FE36 */ lui $a1, 0xfe36
/* A2CFD8 80242D98 0C0B210B */ jal evt_get_float_variable
/* A2CFDC 80242D9C 34A53C80 */ ori $a1, $a1, 0x3c80
/* A2CFE0 80242DA0 0260202D */ daddu $a0, $s3, $zero
/* A2CFE4 80242DA4 3C05FE36 */ lui $a1, 0xfe36
/* A2CFE8 80242DA8 34A53C81 */ ori $a1, $a1, 0x3c81
/* A2CFEC 80242DAC 0C0B210B */ jal evt_get_float_variable
/* A2CFF0 80242DB0 E6400000 */ swc1 $f0, ($s2)
/* A2CFF4 80242DB4 0260202D */ daddu $a0, $s3, $zero
/* A2CFF8 80242DB8 3C05FE36 */ lui $a1, 0xfe36
/* A2CFFC 80242DBC 34A53C82 */ ori $a1, $a1, 0x3c82
/* A2D000 80242DC0 0C0B210B */ jal evt_get_float_variable
/* A2D004 80242DC4 E6400004 */ swc1 $f0, 4($s2)
/* A2D008 80242DC8 26510018 */ addiu $s1, $s2, 0x18
/* A2D00C 80242DCC E6400008 */ swc1 $f0, 8($s2)
/* A2D010 80242DD0 24020002 */ addiu $v0, $zero, 2
/* A2D014 80242DD4 12C20028 */ beq $s6, $v0, .L80242E78
/* A2D018 80242DD8 2652000C */ addiu $s2, $s2, 0xc
/* A2D01C 80242DDC 0260202D */ daddu $a0, $s3, $zero
/* A2D020 80242DE0 3C05FE36 */ lui $a1, 0xfe36
/* A2D024 80242DE4 0C0B210B */ jal evt_get_float_variable
/* A2D028 80242DE8 34A53C80 */ ori $a1, $a1, 0x3c80
/* A2D02C 80242DEC 461C0002 */ mul.s $f0, $f0, $f28
/* A2D030 80242DF0 00000000 */ nop
/* A2D034 80242DF4 3C013F80 */ lui $at, 0x3f80
/* A2D038 80242DF8 4481A000 */ mtc1 $at, $f20
/* A2D03C 80242DFC 00000000 */ nop
/* A2D040 80242E00 461CA501 */ sub.s $f20, $f20, $f28
/* A2D044 80242E04 C6220000 */ lwc1 $f2, ($s1)
/* A2D048 80242E08 46141082 */ mul.s $f2, $f2, $f20
/* A2D04C 80242E0C 00000000 */ nop
/* A2D050 80242E10 0260202D */ daddu $a0, $s3, $zero
/* A2D054 80242E14 46020000 */ add.s $f0, $f0, $f2
/* A2D058 80242E18 3C05FE36 */ lui $a1, 0xfe36
/* A2D05C 80242E1C 34A53C81 */ ori $a1, $a1, 0x3c81
/* A2D060 80242E20 0C0B210B */ jal evt_get_float_variable
/* A2D064 80242E24 E6400000 */ swc1 $f0, ($s2)
/* A2D068 80242E28 461C0002 */ mul.s $f0, $f0, $f28
/* A2D06C 80242E2C 00000000 */ nop
/* A2D070 80242E30 C6220004 */ lwc1 $f2, 4($s1)
/* A2D074 80242E34 46141082 */ mul.s $f2, $f2, $f20
/* A2D078 80242E38 00000000 */ nop
/* A2D07C 80242E3C 46020000 */ add.s $f0, $f0, $f2
/* A2D080 80242E40 C7A40010 */ lwc1 $f4, 0x10($sp)
/* A2D084 80242E44 0260202D */ daddu $a0, $s3, $zero
/* A2D088 80242E48 46040000 */ add.s $f0, $f0, $f4
/* A2D08C 80242E4C 3C05FE36 */ lui $a1, 0xfe36
/* A2D090 80242E50 34A53C82 */ ori $a1, $a1, 0x3c82
/* A2D094 80242E54 0C0B210B */ jal evt_get_float_variable
/* A2D098 80242E58 E6400004 */ swc1 $f0, 4($s2)
/* A2D09C 80242E5C 461C0002 */ mul.s $f0, $f0, $f28
/* A2D0A0 80242E60 00000000 */ nop
/* A2D0A4 80242E64 C6220008 */ lwc1 $f2, 8($s1)
/* A2D0A8 80242E68 46141082 */ mul.s $f2, $f2, $f20
/* A2D0AC 80242E6C 00000000 */ nop
/* A2D0B0 80242E70 08090BC8 */ j .L80242F20
/* A2D0B4 80242E74 46020000 */ add.s $f0, $f0, $f2
.L80242E78:
/* A2D0B8 80242E78 0260202D */ daddu $a0, $s3, $zero
/* A2D0BC 80242E7C 3C05FE36 */ lui $a1, 0xfe36
/* A2D0C0 80242E80 0C0B210B */ jal evt_get_float_variable
/* A2D0C4 80242E84 34A53C80 */ ori $a1, $a1, 0x3c80
/* A2D0C8 80242E88 461C0002 */ mul.s $f0, $f0, $f28
/* A2D0CC 80242E8C 00000000 */ nop
/* A2D0D0 80242E90 3C013F80 */ lui $at, 0x3f80
/* A2D0D4 80242E94 4481A000 */ mtc1 $at, $f20
/* A2D0D8 80242E98 00000000 */ nop
/* A2D0DC 80242E9C 461CA501 */ sub.s $f20, $f20, $f28
/* A2D0E0 80242EA0 C6220000 */ lwc1 $f2, ($s1)
/* A2D0E4 80242EA4 46141082 */ mul.s $f2, $f2, $f20
/* A2D0E8 80242EA8 00000000 */ nop
/* A2D0EC 80242EAC 46020000 */ add.s $f0, $f0, $f2
/* A2D0F0 80242EB0 3C014248 */ lui $at, 0x4248
/* A2D0F4 80242EB4 4481B000 */ mtc1 $at, $f22
/* A2D0F8 80242EB8 0260202D */ daddu $a0, $s3, $zero
/* A2D0FC 80242EBC 46160001 */ sub.s $f0, $f0, $f22
/* A2D100 80242EC0 3C05FE36 */ lui $a1, 0xfe36
/* A2D104 80242EC4 34A53C81 */ ori $a1, $a1, 0x3c81
/* A2D108 80242EC8 0C0B210B */ jal evt_get_float_variable
/* A2D10C 80242ECC E6400000 */ swc1 $f0, ($s2)
/* A2D110 80242ED0 461C0002 */ mul.s $f0, $f0, $f28
/* A2D114 80242ED4 00000000 */ nop
/* A2D118 80242ED8 C6220004 */ lwc1 $f2, 4($s1)
/* A2D11C 80242EDC 46141082 */ mul.s $f2, $f2, $f20
/* A2D120 80242EE0 00000000 */ nop
/* A2D124 80242EE4 46020000 */ add.s $f0, $f0, $f2
/* A2D128 80242EE8 C7A40010 */ lwc1 $f4, 0x10($sp)
/* A2D12C 80242EEC 0260202D */ daddu $a0, $s3, $zero
/* A2D130 80242EF0 46040000 */ add.s $f0, $f0, $f4
/* A2D134 80242EF4 3C05FE36 */ lui $a1, 0xfe36
/* A2D138 80242EF8 34A53C82 */ ori $a1, $a1, 0x3c82
/* A2D13C 80242EFC 0C0B210B */ jal evt_get_float_variable
/* A2D140 80242F00 E6400004 */ swc1 $f0, 4($s2)
/* A2D144 80242F04 461C0002 */ mul.s $f0, $f0, $f28
/* A2D148 80242F08 00000000 */ nop
/* A2D14C 80242F0C C6220008 */ lwc1 $f2, 8($s1)
/* A2D150 80242F10 46141082 */ mul.s $f2, $f2, $f20
/* A2D154 80242F14 00000000 */ nop
/* A2D158 80242F18 46020000 */ add.s $f0, $f0, $f2
/* A2D15C 80242F1C 46160001 */ sub.s $f0, $f0, $f22
.L80242F20:
/* A2D160 80242F20 E6400008 */ swc1 $f0, 8($s2)
/* A2D164 80242F24 AE750084 */ sw $s5, 0x84($s3)
/* A2D168 80242F28 AE700088 */ sw $s0, 0x88($s3)
/* A2D16C 80242F2C AE74008C */ sw $s4, 0x8c($s3)
/* A2D170 80242F30 8FBF0034 */ lw $ra, 0x34($sp)
/* A2D174 80242F34 8FB60030 */ lw $s6, 0x30($sp)
/* A2D178 80242F38 8FB5002C */ lw $s5, 0x2c($sp)
/* A2D17C 80242F3C 8FB40028 */ lw $s4, 0x28($sp)
/* A2D180 80242F40 8FB30024 */ lw $s3, 0x24($sp)
/* A2D184 80242F44 8FB20020 */ lw $s2, 0x20($sp)
/* A2D188 80242F48 8FB1001C */ lw $s1, 0x1c($sp)
/* A2D18C 80242F4C 8FB00018 */ lw $s0, 0x18($sp)
/* A2D190 80242F50 D7BE0060 */ ldc1 $f30, 0x60($sp)
/* A2D194 80242F54 D7BC0058 */ ldc1 $f28, 0x58($sp)
/* A2D198 80242F58 D7BA0050 */ ldc1 $f26, 0x50($sp)
/* A2D19C 80242F5C D7B80048 */ ldc1 $f24, 0x48($sp)
/* A2D1A0 80242F60 D7B60040 */ ldc1 $f22, 0x40($sp)
/* A2D1A4 80242F64 D7B40038 */ ldc1 $f20, 0x38($sp)
/* A2D1A8 80242F68 24020002 */ addiu $v0, $zero, 2
/* A2D1AC 80242F6C 03E00008 */ jr $ra
/* A2D1B0 80242F70 27BD0068 */ addiu $sp, $sp, 0x68