From 9e0aab9e6d66b75ff292938b31c46422c433832f Mon Sep 17 00:00:00 2001 From: Unnunu Date: Mon, 28 Mar 2022 12:29:47 +0300 Subject: [PATCH] camera functions and zone collision data (#671) * match 3 functions * match 4 camera functions * fixes * camSettings type enum * PR suggestions --- include/common_structs.h | 45 +- include/enums.h | 10 + include/variables.h | 2 +- src/B0E0.c | 148 +-- src/bss.c | 5 +- src/camera.c | 283 +++++- src/collision.c | 6 +- src/evt/cam_api.c | 87 +- src/evt/map_api.c | 26 +- src/os/nusys/nuGfxTaskMgr.c | 1 - .../B0E0/update_camera_zone_interp.s | 939 ------------------ .../asm/nonmatchings/camera/func_800328A4.s | 59 -- .../asm/nonmatchings/camera/func_80032970.s | 227 ----- .../asm/nonmatchings/camera/func_80032C64.s | 488 --------- .../asm/nonmatchings/camera/test_ray_zone.s | 57 -- .../asm/nonmatchings/evt/cam_api/AdjustCam.s | 162 --- .../evt/cam_api/SetCamProperties.s | 165 --- ver/us/symbol_addrs.txt | 3 - 18 files changed, 483 insertions(+), 2230 deletions(-) delete mode 100644 ver/us/asm/nonmatchings/B0E0/update_camera_zone_interp.s delete mode 100644 ver/us/asm/nonmatchings/camera/func_800328A4.s delete mode 100644 ver/us/asm/nonmatchings/camera/func_80032970.s delete mode 100644 ver/us/asm/nonmatchings/camera/func_80032C64.s delete mode 100644 ver/us/asm/nonmatchings/camera/test_ray_zone.s delete mode 100644 ver/us/asm/nonmatchings/evt/cam_api/AdjustCam.s delete mode 100644 ver/us/asm/nonmatchings/evt/cam_api/SetCamProperties.s diff --git a/include/common_structs.h b/include/common_structs.h index 442e8eb13a..417290dbe9 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -759,19 +759,6 @@ typedef struct UiStatus { /* 0x6C */ s8 unk_6C[4]; } UiStatus; // size = 0x70 -typedef struct Collider { - /* 0x00 */ s32 flags; - /* 0x04 */ s16 nextSibling; - /* 0x06 */ s16 firstChild; - /* 0x08 */ s16 parentModelIndex; - /* 0x0A */ s16 numTriangles; - /* 0x0C */ struct ColliderTriangle* triangleTable; - /* 0x10 */ struct ColliderBoundingBox* aabb; - /* 0x14 */ s16 numVertices; - /* 0x16 */ char unk_16[2]; - /* 0x18 */ Vec3f* vertexTable; // contains local and global coordinates -} Collider; // size = 0x1C - typedef struct CameraInitData { /* 0x00 */ s16 flags; /* 0x02 */ s8 type; @@ -900,7 +887,7 @@ typedef struct Camera { /* 0x528 */ f32 unk_528; /* 0x52C */ s32 unk_52C; /* 0x530 */ s32 unk_530; - /* 0x534 */ struct ColliderBoundingBox* aabbForZoneBelow; + /* 0x534 */ CameraControlSettings* aabbForZoneBelow; /* 0x538 */ char unk_538[0x18]; /* 0x550 */ f32 unk_550; /* 0x554 */ s16 unk_554; @@ -1080,10 +1067,29 @@ typedef struct MoveData { /* 0x13 */ u8 actionCommandID; } MoveData; // size = 0x14 +typedef struct Collider { + /* 0x00 */ s32 flags; + /* 0x04 */ s16 nextSibling; + /* 0x06 */ s16 firstChild; + /* 0x08 */ s16 parentModelIndex; + /* 0x0A */ s16 numTriangles; + /* 0x0C */ struct ColliderTriangle* triangleTable; + /* 0x10 */ union { + struct ColliderBoundingBox* aabb; + struct CameraControlSettings* camSettings; + }; + /* 0x14 */ s16 numVertices; + /* 0x16 */ char unk_16[2]; + /* 0x18 */ Vec3f* vertexTable; // contains local and global coordinates +} Collider; // size = 0x1C + typedef struct CollisionData { /* 0x00 */ Vec3f* vertices; /* 0x04 */ Collider* colliderList; - /* 0x08 */ struct ColliderBoundingBox* aabbs; + /* 0x08 */ union { + struct ColliderBoundingBox* aabbs; + CameraControlSettings* camSettings; + }; /* 0x0C */ s16 numColliders; /* 0x0E */ char unk_0E[2]; } CollisionData; // size = 0x10 @@ -2355,15 +2361,6 @@ typedef struct VirtualEntity { typedef VirtualEntity* VirtualEntityList[0x40]; -typedef struct TempSetZoneEnabled { - /* 0x00 */ s32 flags; - /* 0x04 */ s16 id1; - /* 0x06 */ s16 id2; - /* 0x08 */ char unk_08[0x8]; - /* 0x10 */ CameraControlSettings* unk_10; - /* 0x14 */ char unk_14[0x8]; -} TempSetZoneEnabled; // size = 0x1C - typedef struct ActionCommandStatus { /* 0x00 */ s32 unk_00; /* 0x04 */ s32 hudElements[15]; diff --git a/include/enums.h b/include/enums.h index ace3c82c0a..48442c339c 100644 --- a/include/enums.h +++ b/include/enums.h @@ -2753,6 +2753,16 @@ enum CameraFlags { CAMERA_FLAGS_80000000 = 0x80000000, }; +enum CameraSettingsType { + CAMERA_SETTINGS_TYPE_0 = 0, + CAMERA_SETTINGS_TYPE_1 = 1, + CAMERA_SETTINGS_TYPE_2 = 2, + CAMERA_SETTINGS_TYPE_3 = 3, + CAMERA_SETTINGS_TYPE_4 = 4, + CAMERA_SETTINGS_TYPE_5 = 5, + CAMERA_SETTINGS_TYPE_6 = 6, +}; + enum BtlCameraPreset { BTL_CAM_PRESET_A = 0, BTL_CAM_PRESET_B, diff --git a/include/variables.h b/include/variables.h index a0d3e30604..6532a1a009 100644 --- a/include/variables.h +++ b/include/variables.h @@ -111,7 +111,7 @@ extern s32 CreateEntityVarArgBuffer[3]; // not size 3 extern f32 DefaultMoveSpeeds[4]; -extern TempSetZoneEnabled* D_800D91D4; +extern CollisionData gZoneCollisionData; // Animation related extern AnimatedMeshList* gCurrentAnimMeshListPtr; diff --git a/src/B0E0.c b/src/B0E0.c index fe3d19a0bf..9ed7417b31 100644 --- a/src/B0E0.c +++ b/src/B0E0.c @@ -5,7 +5,7 @@ extern f32 D_800A08DC; extern f32 D_800A08E0; void func_80030210(Camera* camera, f32 arg1, f32 arg2, s32 arg3); - +void func_8003034C(Camera* camera); void update_camera_mode_unused(Camera* camera); // Issues with zero float temp? @@ -194,17 +194,16 @@ CameraControlSettings* test_ray_zone_aabb(f32 x, f32 y, f32 z) { return NULL; } - return D_800D91D4[zoneID].unk_10; + return gZoneCollisionData.colliderList[zoneID].camSettings; } void update_camera_from_controller(Camera*, CamPosSettings*, CameraControlSettings**, CamPosSettings*, CameraControlSettings**, f32, f32, f32, f32, f32, f32, s32, f32*, s32); // extern INCLUDE_ASM(s32, "B0E0", update_camera_from_controller); -void update_camera_zone_interp(Camera* camera); -// Mostly issues with the switch -#ifdef NON_EQUIVALENT void update_camera_zone_interp(Camera* camera) { + CameraControlSettings* currentController; CameraControlSettings* cs; + CameraControlSettings* cs2; f32 targetX; f32 targetY; f32 targetZ; @@ -216,11 +215,9 @@ void update_camera_zone_interp(Camera* camera) { f32 deltaSqSum; f32 panPhase; f32 temp_f20_2; - f32 temp_f22; - f32 temp_f22_3; - f32 temp_f22_4; - f32 cosNegViewPitch; - f32 sinNegViewPitch; + f32 panRad; + f32 cosViewPitch; + f32 sinViewPitch; f32 temp_f24; f32 temp_f24_2; f32 temp_f26; @@ -238,6 +235,8 @@ void update_camera_zone_interp(Camera* camera) { f32 tZ; s32 changingZone; f32 dist; + f32 temp; + f32 temp2; targetX = camera->targetPos.x; targetY = camera->targetPos.y; @@ -264,7 +263,7 @@ void update_camera_zone_interp(Camera* camera) { camera->unk_498 = 1.0f; camera->linearInterpScale = 1.0f; } - + temp = targetX; if (camera->moveFlags & 1) { camera->unk_498 = 0.0f; } else if (camera->unk_494 != targetY) { @@ -294,6 +293,7 @@ void update_camera_zone_interp(Camera* camera) { camera->savedTargetY += (camera->unk_494 - camera->savedTargetY) * camera->unk_498; } + temp2 = targetZ; if (camera->unk_506 != 0 || camera->unk_4A4 != targetX || camera->unk_4A8 != targetY || camera->unk_4AC != targetZ || camera->changingMap) { @@ -304,46 +304,48 @@ void update_camera_zone_interp(Camera* camera) { } cond2 = FALSE; - - if (cs != NULL && camera->currentController != NULL && cs->type == camera->currentController->type && - cs->flag == camera->currentController->flag && cs->boomLength == camera->currentController->boomLength && - cs->boomPitch == camera->currentController->boomPitch && - cs->viewPitch == camera->currentController->viewPitch) { + cs2 = cs; + currentController = camera->currentController; + if (cs != NULL && currentController != NULL && cs->type == currentController->type && + cs->flag == currentController->flag && cs->boomLength == currentController->boomLength && + cs->boomPitch == currentController->boomPitch && + cs->viewPitch == currentController->viewPitch) { switch (cs->type) { case 0: - if (cs->posA.x == camera->currentController->posA.x && - cs->posA.z == camera->currentController->posA.z && - cs->posB.x == camera->currentController->posB.x && - cs->posB.z == camera->currentController->posB.z) { + if (cs->posA.x == currentController->posA.x && + cs->posA.z == currentController->posA.z && + cs->posB.x == currentController->posB.x && + cs->posB.z == currentController->posB.z) { cond2 = TRUE; } break; case 1: - if (!cs->flag) { - if (cs->posA.x == camera->currentController->posA.x && - cs->posA.z == camera->currentController->posA.z) { - - cond2 = TRUE; - } - } else { - if (cs->posA.x == camera->currentController->posA.x && - cs->posA.z == camera->currentController->posA.z && - cs->posB.x == camera->currentController->posB.x && - cs->posB.z == camera->currentController->posB.z) { - - cond2 = TRUE; - } + switch (cs->flag){ + case 0: + if (cs->posA.x == currentController->posA.x && + cs->posA.z == currentController->posA.z) { + cond2 = TRUE; + } + break; + case 1: + if (cs->posA.x == currentController->posA.x && + cs->posA.z == currentController->posA.z && + cs->posB.x == currentController->posB.x && + cs->posB.z == currentController->posB.z) { + cond2 = TRUE; + } + break; } break; default: - if (cs->posA.x == camera->currentController->posA.x && - cs->posA.z == camera->currentController->posA.z && - cs->posA.y == camera->currentController->posA.y && - cs->posB.y == camera->currentController->posB.y && - cs->posB.x == camera->currentController->posB.x && - cs->posB.z == camera->currentController->posB.z) { + if (cs2->posA.x == currentController->posA.x && + cs2->posA.z == currentController->posA.z && + cs2->posA.y == currentController->posA.y && + cs2->posB.y == currentController->posB.y && + cs2->posB.x == currentController->posB.x && + cs2->posB.z == currentController->posB.z) { cond2 = TRUE; } @@ -351,7 +353,7 @@ void update_camera_zone_interp(Camera* camera) { } } - if (camera->unk_506 != 0 || (!cond2 && cs != camera->currentController)) { + if (camera->unk_506 != 0 || (!cond2 && cs2 != currentController)) { if (camera->interpAlpha == 1.0f) { camera->prevController = camera->currentController; } else { @@ -376,17 +378,17 @@ void update_camera_zone_interp(Camera* camera) { } } - posX = targetX; + posX = temp; if (camera->prevPrevFollowFlags) { posX = camera->prevPrevMovePos.x; posY = camera->prevPrevMovePos.y; posZ = camera->prevPrevMovePos.z; } else { posY = camera->savedTargetY; - posZ = targetZ; + posZ = temp2; } - tX = targetX; + tX = temp; if (camera->prevFollowFlags) { camera->savedTargetY = camera->prevMovePos.y; tX = camera->prevMovePos.x; @@ -394,7 +396,7 @@ void update_camera_zone_interp(Camera* camera) { tZ = camera->prevMovePos.z; } else { tY = camera->savedTargetY; - tZ = targetZ; + tZ = temp2; } update_camera_from_controller(camera, &camera->oldCameraSettings, &camera->prevController, @@ -414,14 +416,15 @@ void update_camera_zone_interp(Camera* camera) { camera->oldCameraSettings.boomYaw += 360.0f; } - boomYawDiff = camera->oldCameraSettings.boomYaw - camera->newCameraSettings.boomYaw; - if (boomYawDiff < 0.0f) { - boomYawDiff = -boomYawDiff; + settingDiff = camera->oldCameraSettings.boomYaw - camera->newCameraSettings.boomYaw; + if (settingDiff < 0.0f) { + settingDiff = -settingDiff; } - if (boomYawDiff > 180.0f) { - boomYawDiff = 360.0f - boomYawDiff; + if (settingDiff > 180.0f) { + settingDiff = 360.0f - settingDiff; } + boomYawDiff = settingDiff; settingDiff = camera->oldCameraSettings.boomPitch - camera->newCameraSettings.boomPitch; if (settingDiff < 0.0f) { settingDiff = -settingDiff; @@ -455,14 +458,18 @@ void update_camera_zone_interp(Camera* camera) { deltaX = camera->oldCameraSettings.position.x - camera->newCameraSettings.position.x; deltaY = camera->oldCameraSettings.position.y - camera->newCameraSettings.position.y; deltaZ = camera->oldCameraSettings.position.z - camera->newCameraSettings.position.z; - deltaSqSum = SQ(deltaX) + SQ(deltaY) + SQ(deltaZ); + settingDiff = SQ(deltaX); + settingDiff += SQ(deltaY); + settingDiff += SQ(deltaZ); - if (deltaSqSum != 0.0f) { - deltaSqSum = sqrtf(deltaSqSum) * 0.2; + if (settingDiff != 0.0f) { + settingDiff = sqrtf(settingDiff) * 0.2; } - if (boomYawDiff < deltaSqSum) { - boomYawDiff = deltaSqSum; + if (boomYawDiff < settingDiff) { + boomYawDiff = settingDiff; + settingDiff++; + settingDiff--; } if (boomYawDiff > 90.0f) { boomYawDiff = 90.0f; @@ -480,10 +487,12 @@ void update_camera_zone_interp(Camera* camera) { if (camera->interpAlpha < 1.0) { panPhase = camera->panPhase; - temp_f22 = panPhase * PI_D; - temp_f24 = 2.0f / (cos_rad(temp_f22) + 1.0f); - temp_f22_2 = cos_rad((camera->linearInterp * PI_D * (1.0f - panPhase)) + temp_f22); - camera->interpAlpha = (2.0f - ((f32) ((temp_f22_2 + ((1.0 - cos_rad(temp_f22)) * 0.5)) * temp_f24) + 1.0f)) * 0.5001; + panRad = panPhase * PI_D; + temp_f24 = 2.0f / (cos_rad(panRad) + 1.0f); + temp_f22_2 = cos_rad((camera->linearInterp * PI_D * (1.0f - panPhase)) + panRad); + cosViewPitch = (temp_f22_2 + (1.0 - cos_rad(panRad)) * 0.5) * temp_f24; + cosViewPitch = (2.0f - (cosViewPitch + 1.0f)) * 0.5001; + camera->interpAlpha = cosViewPitch; } if (camera->interpAlpha >= 1.0f) { @@ -510,17 +519,17 @@ void update_camera_zone_interp(Camera* camera) { temp_f20_2 = blendedCamSettings.boomYaw + D_800A08E0; temp_f26 = sin_deg(temp_f20_2); temp_f24_2 = -cos_deg(temp_f20_2); - temp_f22_3 = cos_deg(blendedCamSettings.boomPitch + D_800A08DC); - temp_f22_4 = sin_deg(blendedCamSettings.boomPitch + D_800A08DC); + cosViewPitch = cos_deg(blendedCamSettings.boomPitch + D_800A08DC); + sinViewPitch = sin_deg(blendedCamSettings.boomPitch + D_800A08DC); if (!(camera->moveFlags & 2)) { - camera->lookAt_eye.y = blendedCamSettings.position.y + (blendedCamSettings.boomLength * temp_f22_4); + camera->lookAt_eye.y = blendedCamSettings.position.y + (blendedCamSettings.boomLength * sinViewPitch); } - camera->lookAt_eye.x = blendedCamSettings.position.x - (temp_f26 * blendedCamSettings.boomLength * temp_f22_3); - camera->lookAt_eye.z = blendedCamSettings.position.z - (temp_f24_2 * blendedCamSettings.boomLength * temp_f22_3); - cosNegViewPitch = cos_deg(-blendedCamSettings.viewPitch); - sinNegViewPitch = sin_deg(-blendedCamSettings.viewPitch); + camera->lookAt_eye.x = blendedCamSettings.position.x - (temp_f26 * blendedCamSettings.boomLength * cosViewPitch); + camera->lookAt_eye.z = blendedCamSettings.position.z - (temp_f24_2 * blendedCamSettings.boomLength * cosViewPitch); + cosViewPitch = cos_deg(-blendedCamSettings.viewPitch); + sinViewPitch = sin_deg(-blendedCamSettings.viewPitch); if (camera->lookAt_eye.x == blendedCamSettings.position.x && camera->lookAt_eye.z == blendedCamSettings.position.z) { dist = 0.0f; @@ -530,9 +539,9 @@ void update_camera_zone_interp(Camera* camera) { temp_f8_2 = blendedCamSettings.position.y - camera->lookAt_eye.y; if (!(camera->moveFlags & 2)) { - camera->lookAt_obj.y = camera->lookAt_eye.y + ((dist * sinNegViewPitch) + (temp_f8_2 * cosNegViewPitch)); + camera->lookAt_obj.y = camera->lookAt_eye.y + ((dist * sinViewPitch) + (temp_f8_2 * cosViewPitch)); } - temp_f4_4 = (dist * cosNegViewPitch) - (temp_f8_2 * sinNegViewPitch); + temp_f4_4 = (dist * cosViewPitch) - (temp_f8_2 * sinViewPitch); camera->lookAt_obj.x = camera->lookAt_eye.x + (temp_f26 * temp_f4_4); camera->lookAt_obj.z = camera->lookAt_eye.z + (temp_f24_2 * temp_f4_4); camera->currentYaw = blendedCamSettings.boomYaw + D_800A08E0; @@ -545,6 +554,3 @@ void update_camera_zone_interp(Camera* camera) { camera->unk_5C = camera->lookAt_obj.z; camera->currentYOffset = 0.0f; } -#else -INCLUDE_ASM(s32, "B0E0", update_camera_zone_interp); -#endif diff --git a/src/bss.c b/src/bss.c index 9ef1d03e7e..efc805bafa 100644 --- a/src/bss.c +++ b/src/bss.c @@ -318,10 +318,7 @@ BSS s8 D_800B6590[0x2000]; BSS u8 nuYieldBuf[0xC10]; BSS s8 D_800B91A0[0x30]; BSS s8 D_800B91D0[0x20000]; -BSS s32 gZoneCollisionData; -BSS s32 D_800D91D4; -BSS char D_800D91D8[0x4]; -BSS s16 D_800D91DC; +BSS s8 gZoneCollisionData[0x10]; BSS s8 wMapHitName[0x18]; BSS s8 nuSiMgrMesgQ[0x38]; BSS s8 wMapShapeName[0x18]; diff --git a/src/camera.c b/src/camera.c index 2f86b68bbc..e77ce3f3d1 100644 --- a/src/camera.c +++ b/src/camera.c @@ -1,24 +1,291 @@ #include "common.h" +#include "camera.h" s32 gCurrentCameraID = CAM_DEFAULT; -s32 func_800328A4(Camera* camera, f32 arg1, f32 arg2); -s32 func_80032970(Camera* camera, f32 arg1); -void create_camera_leadplayer_matrix(Camera* camera); +CameraControlSettings* test_ray_zone(f32 posX, f32 posY, f32 posZ, Collider** zone) { + f32 hitX, hitY, hitZ, hitDepth, nX, nY, nZ; + s32 zoneID; -INCLUDE_ASM(s32, "camera", test_ray_zone); + hitDepth = 32767.0f; + zoneID = test_ray_zones(posX, posY, posZ, 0.0f, -1.0f, 0.0f, &hitX, &hitY, &hitZ, &hitDepth, &nX, &nY, &nZ); + if (zoneID >= 0) { + if (zone != NULL) { + *zone = &gZoneCollisionData.colliderList[zoneID]; + } + return gZoneCollisionData.colliderList[zoneID].camSettings; + } else { + return NULL; + } +} +s32 func_800322DC(f32, f32, f32, f32, f32, f32, f32, f32, f32*, f32*, f32*); INCLUDE_ASM(s32, "camera", func_800322DC); +s32 func_800325E4(f32, f32, f32, f32, f32, f32, f32, f32, f32*, f32*, f32*); INCLUDE_ASM(s32, "camera", func_800325E4); -INCLUDE_ASM(s32, "camera", func_800328A4, Camera* camera, f32 arg1, f32 arg2); +s32 func_800328A4(CameraControlSettings* camSettings, f32 x, f32 z) { + f32 product1, product2; + f32 delta, p1, p2, p3, p4; -INCLUDE_ASM(s32, "camera", func_80032970, Camera* camera, f32 arg1); + if (camSettings == NULL) { + return 0; + } + if (camSettings->type != CAMERA_SETTINGS_TYPE_6) { + return 0; + } + delta = x - camSettings->posA.x; + p1 = (camSettings->posB.x - camSettings->posA.x) * delta; -INCLUDE_ASM(s32, "camera", func_80032C64); + delta = z - camSettings->posA.z; + p2 = (camSettings->posB.z - camSettings->posA.z) * delta; -void create_camera_leadplayer_matrix(Camera *camera) { + delta = x - camSettings->posB.x; + p3 = (camSettings->posB.x - camSettings->posA.x) * delta; + + delta = z - camSettings->posB.z; + p4 = (camSettings->posB.z - camSettings->posA.z) * delta; + + product1 = p1 + p2; + product2 = p3 + p4; + + + if (product1 < 0 && product2 < 0) { + return -1; + } + if (product1 > 0 && product2 > 0) { + return 1; + } + return 0; +} + +void func_80032970(Camera* camera, f32 arg1) { + f32 stickX; + f32 deltaLeadAmount; + s32 flags = camera->flags & CAM_FLAG_1000; + s32 a2 = flags != 0; + + if (camera->currentController != NULL && camera->currentController->type == CAMERA_SETTINGS_TYPE_4) { + a2 = TRUE; + } + + if (a2) { + stickX = 0.0f; + camera->unk_51C = TRUE; + camera->unk_514 = 1.0f; + camera->unk_510 = 0.0f; + } else { + if (gPlayerStatusPtr->animFlags & PLAYER_STATUS_ANIM_FLAGS_400000) { + stickX = gPartnerActionStatus.stickX; + } else { + stickX = gPlayerStatusPtr->stickAxis[0]; + } + if (stickX > 0.0f) { + stickX = 50.0f; + } + if (stickX < 0.0f) { + stickX = -50.0f; + } + } + + if (stickX != 0.0f) { + if (stickX < 0.0f) { + if (camera->unk_518 > 0.0f) { + camera->unk_518 = stickX; + } else { + camera->unk_518 += stickX; + } + if (camera->unk_518 <= -300.0f) { + camera->unk_51C = TRUE; + if (camera->unk_510 > 0.0f) { + camera->unk_514 = 0.0f; + } + camera->unk_510 = -arg1; + camera->unk_518 = -300.0f; + } + } else { + if (camera->unk_518 < 0.0f) { + camera->unk_518 = stickX; + } else { + camera->unk_518 += stickX; + } + if (camera->unk_518 >= 300.0f) { + camera->unk_51C = TRUE; + if (camera->unk_510 < 0.0f) { + camera->unk_514 = 0.0f; + } + camera->unk_510 = arg1; + camera->unk_518 = 300.0f; + } + } + } + + if (camera->unk_51C) { + camera->unk_514 += 0.01f; + if (camera->unk_514 > 1.0f) { + camera->unk_514 = 1.0f; + } + } + + if (camera->unk_510 - camera->leadAmount == 0.0f) { + camera->unk_514 = 0.0f; + camera->unk_51C = FALSE; + } + + deltaLeadAmount = (camera->unk_510 - camera->leadAmount) * camera->unk_514; + if (camera->unk_510 - camera->leadAmount > 0.0f) { + if (camera->unk_510 - camera->leadAmount < 0.1) { + deltaLeadAmount = camera->unk_510 - camera->leadAmount; + } + if (deltaLeadAmount > 3.0f) { + deltaLeadAmount = 3.0f; + } + } else { + if (camera->unk_510 - camera->leadAmount > -0.1) { + deltaLeadAmount = camera->unk_510 - camera->leadAmount; + } + if (deltaLeadAmount < -3.0f) { + deltaLeadAmount = -3.0f; + } + } + + if (stickX != 0.0f || a2) { + camera->leadAmount += deltaLeadAmount; + } else { + camera->unk_514 = 0.0f; + } +} + +void func_80032C64(Camera* camera) { + s32 i; + f32 rotationRad; + f32 leadAmount; + CameraControlSettings* settings; + CameraControlSettings* settings2; + CameraControlSettings* settings3; + s32 s2; + f32 X, Y, Z, S; + f32 product; + f32 newPosX, newPosZ; + Collider* zone; + s32 cond; + f32 dist; + f32 sp44, sp48, sp4C; + f32 deltaPosX, deltaPosZ; + f32 f24, f22, cosYaw, sinYaw; + + rotationRad = camera->trueRotation.x / 180.0f * PI; + leadAmount = camera->leadAmount; + s2 = 0; + cos_rad(rotationRad); + sin_rad(rotationRad); + settings3 = settings = test_ray_zone(camera->targetPos.x, camera->targetPos.y + 10.0f, camera->targetPos.z, NULL); + + if (settings != NULL) { + if (settings->type == CAMERA_SETTINGS_TYPE_2 || settings->type == CAMERA_SETTINGS_TYPE_5 || (s2 = func_800328A4(settings, camera->targetPos.x, camera->targetPos.z))) { + if (camera->unk_530) { + guPerspectiveF(camera->perspectiveMatrix, &camera->perspNorm, camera->vfov, + (f32)camera->viewportW / (f32)camera->viewportH, camera->nearClip, camera->farClip, 1.0f); + guMtxCatF(camera->viewMtxPlayer, camera->perspectiveMatrix, camera->perspectiveMatrix); + transform_point(camera->perspectiveMatrix, camera->targetPos.x, camera->targetPos.y, camera->targetPos.z, + 1.0f, &X, &Y, &Z, &S); + if (S == 0.0f) { + S = 1.0f; + } + S = 1.0f / S; + X *= S; + camera->unk_52C = (X > 0.0f) ? 1 : (X < 0.0f) ? -1 : 0; + camera->unk_530 = 0; + } else { + CameraControlSettings* aabbForZoneBelow = camera->aabbForZoneBelow; + + if (!(aabbForZoneBelow != NULL && (aabbForZoneBelow->type == CAMERA_SETTINGS_TYPE_2 || aabbForZoneBelow->type == CAMERA_SETTINGS_TYPE_5 || func_800328A4(settings, camera->unk_524, camera->unk_528) != 0))) { + if (aabbForZoneBelow != NULL && s2 != 0) { + camera->unk_52C = s2; + } else { + f24 = cosYaw = camera->targetPos.x - camera->unk_524; + f22 = camera->targetPos.z - camera->unk_528; + cosYaw = -cos_deg(camera->currentYaw); + sinYaw = -sin_deg(camera->currentYaw); + product = f24 * cosYaw + f22 * sinYaw; + camera->unk_52C = (product > 0) ? -1 : (product < 0) ? 1 : 0; + } + } + } + + if (leadAmount > 0.0f && camera->unk_52C > 0 || leadAmount < 0.0f && camera->unk_52C < 0) { + camera->unk_514 = 0.0f; + camera->leadAmount = 0.0f; + } + camera->aabbForZoneBelow = settings3; + camera->unk_524 = camera->targetPos.x; + camera->unk_528 = camera->targetPos.z; + return; + } + } + + camera->unk_52C = 0; + camera->aabbForZoneBelow = settings3; + camera->unk_524 = camera->targetPos.x; + camera->unk_528 = camera->targetPos.z; + newPosX = camera->targetPos.x + leadAmount * cos_rad(rotationRad); + newPosZ = camera->targetPos.z + leadAmount * sin_rad(rotationRad); + settings = test_ray_zone(newPosX, camera->targetPos.y + 10.0f, newPosZ, &zone); + if (settings != NULL) { + if (settings->type == CAMERA_SETTINGS_TYPE_2 || settings->type == CAMERA_SETTINGS_TYPE_5 || func_800328A4(camera->aabbForZoneBelow, newPosX, newPosZ) != 0) { + cond = TRUE; + dist = 1000000.0f; + if (camera->aabbForZoneBelow != NULL && camera->aabbForZoneBelow->type == CAMERA_SETTINGS_TYPE_6) { + settings2 = camera->aabbForZoneBelow; + cond = FALSE; + + deltaPosX = settings2->posB.x - settings2->posA.x; + deltaPosZ = settings2->posB.z - settings2->posA.z; + + if (func_800325E4(settings2->posA.x, settings2->posA.z, settings2->posA.x - deltaPosZ, settings2->posA.z + deltaPosX, + camera->targetPos.x, camera->targetPos.z, newPosX, newPosZ, &sp44, &sp48, &sp4C) && sp4C < 1000000.0f) { + dist = sp4C; + } + do { + if (func_800325E4(settings2->posB.x, settings2->posB.z, settings2->posB.x - deltaPosZ, settings2->posB.z + deltaPosX, + camera->targetPos.x, camera->targetPos.z, newPosX, newPosZ, &sp44, &sp48, &sp4C) && sp4C < dist) { + dist = sp4C; + } + } while (0); // TODO find better match + } + if (cond) { + for (i = 0; i < zone->numTriangles; i++) { + if (func_800322DC(zone->triangleTable[i].v1->x, zone->triangleTable[i].v1->z, + zone->triangleTable[i].v2->x, zone->triangleTable[i].v2->z, + camera->targetPos.x, camera->targetPos.z, newPosX, newPosZ, &sp44, &sp48, &sp4C) && sp4C < dist) { + dist = sp4C; + } + if (func_800322DC(zone->triangleTable[i].v2->x, zone->triangleTable[i].v2->z, + zone->triangleTable[i].v3->x, zone->triangleTable[i].v3->z, + camera->targetPos.x, camera->targetPos.z, newPosX, newPosZ, &sp44, &sp48, &sp4C) && sp4C < dist) { + dist = sp4C; + } + if (func_800322DC(zone->triangleTable[i].v3->x, zone->triangleTable[i].v3->z, + zone->triangleTable[i].v1->x, zone->triangleTable[i].v1->z, + camera->targetPos.x, camera->targetPos.z, newPosX, newPosZ, &sp44, &sp48, &sp4C) && sp4C < dist) { + dist = sp4C; + } + } + } + + if (dist == 1000000.0f || dist == 0) { + camera->leadAmount = 0.0f; + } else { + camera->leadAmount = (camera->leadAmount > 0.0f) ? sqrtf(dist) : -sqrtf(dist); + } + camera->unk_514 = 0.0f; + } + } +} + + +void create_camera_leadplayer_matrix(Camera* camera) { f32 xTemp = camera->lookAt_eye.x - camera->lookAt_obj.x; f32 yTemp = camera->lookAt_eye.y - camera->lookAt_obj.y; f32 zTemp = camera->lookAt_eye.z - camera->lookAt_obj.z; diff --git a/src/collision.c b/src/collision.c index f0cf53dd92..d88ab6a877 100644 --- a/src/collision.c +++ b/src/collision.c @@ -55,8 +55,6 @@ extern f32 gCollisionNormalY; extern f32 gCollisionNormalZ; extern ColliderBackupEntry* gCollisionDataBackup; extern ColliderBackupEntry* gCollisionDataZoneBackup; -extern CollisionData gZoneCollisionData; -extern s16 D_800D91DC; s32 collision_heap_create(void); void* collision_heap_malloc(s32 size); @@ -88,7 +86,7 @@ void backup_map_collision_data(void) { backupEntry->parentModelIndex = collider->parentModelIndex; } - D_800D91DC = 0; + gZoneCollisionData.numColliders = 0; } void func_8005AF84(void) { @@ -99,7 +97,7 @@ void func_8005AF8C(void) { void initialize_collision(void) { gCollisionData.numColliders = 0; - D_800D91DC = 0; + gZoneCollisionData.numColliders = 0; collision_heap_create(); } diff --git a/src/evt/cam_api.c b/src/evt/cam_api.c index 400e5951d6..4c54683112 100644 --- a/src/evt/cam_api.c +++ b/src/evt/cam_api.c @@ -339,7 +339,7 @@ ApiStatus UseSettingsFrom(Evt* script, s32 isInitialCall) { &nx, &ny, &nz); if (hitID >= 0) { - camera->controlSettings = *D_800D91D4[hitID].unk_10; + camera->controlSettings = *gZoneCollisionData.colliderList[hitID].camSettings; } return ApiStatus_DONE2; } @@ -545,9 +545,88 @@ ApiStatus WaitForCam(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -INCLUDE_ASM(s32, "evt/cam_api", SetCamProperties, Evt* script, s32 isInitialCall); +ApiStatus SetCamProperties(Evt* script, s32 isInitialCall) { + f32 hitX, hitY, hitZ, hitDepth, nX, nY, nZ; + s32 zoneID; + Bytecode* args = script->ptrReadPos; + Camera* camera = &gCameras[evt_get_variable(script, *args++)]; + f32 moveSpeed = evt_get_float_variable(script, *args++); + f32 posX = evt_get_float_variable(script, *args++); + f32 posY = evt_get_float_variable(script, *args++); + f32 posZ = evt_get_float_variable(script, *args++); + f32 boomLength = evt_get_float_variable(script, *args++); + f32 boomPitch = evt_get_float_variable(script, *args++); + f32 viewPitch = evt_get_float_variable(script, *args++); -INCLUDE_ASM(s32, "evt/cam_api", AdjustCam, Evt* script, s32 isInitialCall); + if (isInitialCall) { + hitDepth = 32767.0f; + zoneID = test_ray_zones(posX, posY + 10.0f, posZ, 0.0f, -1.0f, 0.0f, &hitX, &hitY, &hitZ, &hitDepth, &nX, &nY, &nZ); + if (zoneID >= 0) { + camera->controlSettings = *gZoneCollisionData.colliderList[zoneID].camSettings; + } + + camera->movePos.x = posX; + camera->movePos.y = posY; + camera->movePos.z = posZ; + camera->controlSettings.boomLength = boomLength; + camera->controlSettings.boomPitch = boomPitch; + camera->controlSettings.viewPitch = viewPitch; + camera->moveSpeed = moveSpeed; + camera->unk_506 = 1; + camera->followPlayer = TRUE; + camera->panPhase = 0.0f; + return ApiStatus_BLOCK; + } + + if (camera->interpAlpha >= 1.0f) { + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} + +ApiStatus AdjustCam(Evt* script, s32 isInitialCall) { + f32 hitX, hitY, hitZ, hitDepth, nX, nY, nZ; + f32 posX, posY, posZ; + s32 zoneID; + Bytecode* args = script->ptrReadPos; + Camera* camera = &gCameras[evt_get_variable(script, *args++)]; + f32 moveSpeed = evt_get_float_variable(script, *args++); + f32 deltaPosX = evt_get_float_variable(script, *args++); + f32 boomLength = evt_get_float_variable(script, *args++); + f32 boomPitch = evt_get_float_variable(script, *args++); + f32 viewPitch = evt_get_float_variable(script, *args++); + PlayerStatus* playerStatus = &gPlayerStatus; + + if (isInitialCall) { + hitDepth = 32767.0f; + posX = playerStatus->position.x; + posY = playerStatus->position.y; + posZ = playerStatus->position.z; + zoneID = test_ray_zones(posX, posY + 10.0f, posZ, 0.0f, -1.0f, 0.0f, &hitX, &hitY, &hitZ, &hitDepth, &nX, &nY, &nZ); + if (zoneID >= 0) { + camera->controlSettings = *gZoneCollisionData.colliderList[zoneID].camSettings; + } + + camera->movePos.x = posX + deltaPosX; + camera->movePos.y = posY; + camera->movePos.z = posZ; + camera->controlSettings.boomLength = boomLength; + camera->controlSettings.boomPitch = boomPitch; + camera->controlSettings.viewPitch = viewPitch; + camera->moveSpeed = moveSpeed; + camera->unk_506 = 1; + camera->followPlayer = TRUE; + camera->panPhase = 0.0f; + return ApiStatus_BLOCK; + } + + if (camera->interpAlpha >= 1.0f) { + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} ApiStatus ResetCam(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; @@ -569,7 +648,7 @@ ApiStatus ResetCam(Evt* script, s32 isInitialCall) { &nx, &ny, &nz); if (hitID >= 0) { - camera->controlSettings = *D_800D91D4[hitID].unk_10; + camera->controlSettings = *gZoneCollisionData.colliderList[hitID].camSettings; } camera->movePos.x = x; diff --git a/src/evt/map_api.c b/src/evt/map_api.c index 69fb33418f..b843184e81 100644 --- a/src/evt/map_api.c +++ b/src/evt/map_api.c @@ -597,41 +597,41 @@ ApiStatus UpdateColliderTransform(Evt* script, s32 isInitialCall) { } void set_zone_enabled(s32 zoneID, s32 enabled) { - TempSetZoneEnabled* unkStruct = &D_800D91D4[zoneID]; + Collider* zone = &gZoneCollisionData.colliderList[zoneID]; - if (unkStruct->id1 >= 0) { - set_zone_enabled(unkStruct->id1, enabled); + if (zone->nextSibling >= 0) { + set_zone_enabled(zone->nextSibling, enabled); } - if (unkStruct->id2 >= 0) { - set_zone_enabled(unkStruct->id2, enabled); + if (zone->firstChild >= 0) { + set_zone_enabled(zone->firstChild, enabled); } switch (enabled) { case 0: - unkStruct->flags |= TEMP_SET_ZONE_ENABLED_FLAGS_10000; + zone->flags |= TEMP_SET_ZONE_ENABLED_FLAGS_10000; break; case 1: - unkStruct->flags &= ~TEMP_SET_ZONE_ENABLED_FLAGS_10000; + zone->flags &= ~TEMP_SET_ZONE_ENABLED_FLAGS_10000; break; } } ApiStatus SetZoneEnabled(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; - s32 idx = evt_get_variable(script, *args++); + s32 zoneID = evt_get_variable(script, *args++); s32 enabled = evt_get_variable(script, *args++); - TempSetZoneEnabled* unkStruct = &D_800D91D4[idx]; + Collider* zone = &gZoneCollisionData.colliderList[zoneID]; - if (unkStruct->id2 >= 0) { - set_zone_enabled(unkStruct->id2, enabled); + if (zone->firstChild >= 0) { + set_zone_enabled(zone->firstChild, enabled); } switch (enabled) { case FALSE: - unkStruct->flags |= TEMP_SET_ZONE_ENABLED_FLAGS_10000; + zone->flags |= TEMP_SET_ZONE_ENABLED_FLAGS_10000; break; case TRUE: - unkStruct->flags &= ~TEMP_SET_ZONE_ENABLED_FLAGS_10000; + zone->flags &= ~TEMP_SET_ZONE_ENABLED_FLAGS_10000; break; } diff --git a/src/os/nusys/nuGfxTaskMgr.c b/src/os/nusys/nuGfxTaskMgr.c index bfca12ebe2..12cac32ab8 100644 --- a/src/os/nusys/nuGfxTaskMgr.c +++ b/src/os/nusys/nuGfxTaskMgr.c @@ -15,7 +15,6 @@ extern OSThread GfxTaskMgrThread; extern NUScTask nuGfxTask[NU_GFX_TASK_NUM]; extern s32 D_800DA040; extern s32 D_800B91D0; -extern s32 gZoneCollisionData; extern u8 rspbootUcodeBuffer[]; extern u32 nuGfxCfbCounter; extern OSMesgQueue D_800DA47C; diff --git a/ver/us/asm/nonmatchings/B0E0/update_camera_zone_interp.s b/ver/us/asm/nonmatchings/B0E0/update_camera_zone_interp.s deleted file mode 100644 index e3017f15c4..0000000000 --- a/ver/us/asm/nonmatchings/B0E0/update_camera_zone_interp.s +++ /dev/null @@ -1,939 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_80098250 -.double 1.01 - -dlabel D_80098258 -.double 0.3 - -dlabel D_80098260 -.double 0.2 - -dlabel D_80098268 -.double 3.141592 - -dlabel D_80098270 -.double 0.5001 - -dlabel D_80098278 -.double 0.01 - -.section .text - -glabel update_camera_zone_interp -/* C894 80031494 27BDFF80 */ addiu $sp, $sp, -0x80 -/* C898 80031498 AFB10044 */ sw $s1, 0x44($sp) -/* C89C 8003149C 0080882D */ daddu $s1, $a0, $zero -/* C8A0 800314A0 AFBF004C */ sw $ra, 0x4c($sp) -/* C8A4 800314A4 AFB20048 */ sw $s2, 0x48($sp) -/* C8A8 800314A8 AFB00040 */ sw $s0, 0x40($sp) -/* C8AC 800314AC F7BE0078 */ sdc1 $f30, 0x78($sp) -/* C8B0 800314B0 F7BC0070 */ sdc1 $f28, 0x70($sp) -/* C8B4 800314B4 F7BA0068 */ sdc1 $f26, 0x68($sp) -/* C8B8 800314B8 F7B80060 */ sdc1 $f24, 0x60($sp) -/* C8BC 800314BC F7B60058 */ sdc1 $f22, 0x58($sp) -/* C8C0 800314C0 F7B40050 */ sdc1 $f20, 0x50($sp) -/* C8C4 800314C4 C6300060 */ lwc1 $f16, 0x60($s1) -/* C8C8 800314C8 E7B00038 */ swc1 $f16, 0x38($sp) -/* C8CC 800314CC C63E0064 */ lwc1 $f30, 0x64($s1) -/* C8D0 800314D0 86220008 */ lh $v0, 8($s1) -/* C8D4 800314D4 C6300068 */ lwc1 $f16, 0x68($s1) -/* C8D8 800314D8 0000802D */ daddu $s0, $zero, $zero -/* C8DC 800314DC 10400017 */ beqz $v0, .L8003153C -/* C8E0 800314E0 E7B0003C */ swc1 $f16, 0x3c($sp) -/* C8E4 800314E4 3C013F80 */ lui $at, 0x3f80 -/* C8E8 800314E8 44810000 */ mtc1 $at, $f0 -/* C8EC 800314EC AE200448 */ sw $zero, 0x448($s1) -/* C8F0 800314F0 AE200444 */ sw $zero, 0x444($s1) -/* C8F4 800314F4 AE200488 */ sw $zero, 0x488($s1) -/* C8F8 800314F8 AE200494 */ sw $zero, 0x494($s1) -/* C8FC 800314FC E63E04A0 */ swc1 $f30, 0x4a0($s1) -/* C900 80031500 AE200098 */ sw $zero, 0x98($s1) -/* C904 80031504 AE20009C */ sw $zero, 0x9c($s1) -/* C908 80031508 AE2004A4 */ sw $zero, 0x4a4($s1) -/* C90C 8003150C AE2004A8 */ sw $zero, 0x4a8($s1) -/* C910 80031510 AE2004AC */ sw $zero, 0x4ac($s1) -/* C914 80031514 A62004D4 */ sh $zero, 0x4d4($s1) -/* C918 80031518 A62004D6 */ sh $zero, 0x4d6($s1) -/* C91C 8003151C AE200508 */ sw $zero, 0x508($s1) -/* C920 80031520 3C01800A */ lui $at, %hi(D_800A08DC) -/* C924 80031524 AC2008DC */ sw $zero, %lo(D_800A08DC)($at) -/* C928 80031528 3C01800A */ lui $at, %hi(D_800A08E0) -/* C92C 8003152C AC2008E0 */ sw $zero, %lo(D_800A08E0)($at) -/* C930 80031530 E6200484 */ swc1 $f0, 0x484($s1) -/* C934 80031534 E6200498 */ swc1 $f0, 0x498($s1) -/* C938 80031538 E620048C */ swc1 $f0, 0x48c($s1) -.L8003153C: -/* C93C 8003153C 96220002 */ lhu $v0, 2($s1) -/* C940 80031540 C7B60038 */ lwc1 $f22, 0x38($sp) -/* C944 80031544 30420001 */ andi $v0, $v0, 1 -/* C948 80031548 54400008 */ bnel $v0, $zero, .L8003156C -/* C94C 8003154C AE200498 */ sw $zero, 0x498($s1) -/* C950 80031550 C6200494 */ lwc1 $f0, 0x494($s1) -/* C954 80031554 461E0032 */ c.eq.s $f0, $f30 -/* C958 80031558 00000000 */ nop -/* C95C 8003155C 45010004 */ bc1t .L80031570 -/* C960 80031560 00000000 */ nop -/* C964 80031564 E63E0494 */ swc1 $f30, 0x494($s1) -/* C968 80031568 AE200498 */ sw $zero, 0x498($s1) -.L8003156C: -/* C96C 8003156C C6200494 */ lwc1 $f0, 0x494($s1) -.L80031570: -/* C970 80031570 4600F03C */ c.lt.s $f30, $f0 -/* C974 80031574 00000000 */ nop -/* C978 80031578 4500000A */ bc1f .L800315A4 -/* C97C 8003157C 00000000 */ nop -/* C980 80031580 C62004A0 */ lwc1 $f0, 0x4a0($s1) -/* C984 80031584 4600F03E */ c.le.s $f30, $f0 -/* C988 80031588 00000000 */ nop -/* C98C 8003158C 45000005 */ bc1f .L800315A4 -/* C990 80031590 00000000 */ nop -/* C994 80031594 3C013F80 */ lui $at, 0x3f80 -/* C998 80031598 44810000 */ mtc1 $at, $f0 -/* C99C 8003159C E63E0494 */ swc1 $f30, 0x494($s1) -/* C9A0 800315A0 E6200498 */ swc1 $f0, 0x498($s1) -.L800315A4: -/* C9A4 800315A4 C6220498 */ lwc1 $f2, 0x498($s1) -/* C9A8 800315A8 3C01800A */ lui $at, %hi(D_80098250) -/* C9AC 800315AC D4248250 */ ldc1 $f4, %lo(D_80098250)($at) -/* C9B0 800315B0 C620049C */ lwc1 $f0, 0x49c($s1) -/* C9B4 800315B4 460010A1 */ cvt.d.s $f2, $f2 -/* C9B8 800315B8 46222101 */ sub.d $f4, $f4, $f2 -/* C9BC 800315BC 46000021 */ cvt.d.s $f0, $f0 -/* C9C0 800315C0 46202103 */ div.d $f4, $f4, $f0 -/* C9C4 800315C4 46241080 */ add.d $f2, $f2, $f4 -/* C9C8 800315C8 3C013FF0 */ lui $at, 0x3ff0 -/* C9CC 800315CC 44812800 */ mtc1 $at, $f5 -/* C9D0 800315D0 44802000 */ mtc1 $zero, $f4 -/* C9D4 800315D4 462010A0 */ cvt.s.d $f2, $f2 -/* C9D8 800315D8 46001021 */ cvt.d.s $f0, $f2 -/* C9DC 800315DC 4620203C */ c.lt.d $f4, $f0 -/* C9E0 800315E0 00000000 */ nop -/* C9E4 800315E4 45000005 */ bc1f .L800315FC -/* C9E8 800315E8 E6220498 */ swc1 $f2, 0x498($s1) -/* C9EC 800315EC 3C013F80 */ lui $at, 0x3f80 -/* C9F0 800315F0 44810000 */ mtc1 $at, $f0 -/* C9F4 800315F4 00000000 */ nop -/* C9F8 800315F8 E6200498 */ swc1 $f0, 0x498($s1) -.L800315FC: -/* C9FC 800315FC 96220002 */ lhu $v0, 2($s1) -/* CA00 80031600 30420004 */ andi $v0, $v0, 4 -/* CA04 80031604 10400010 */ beqz $v0, .L80031648 -/* CA08 80031608 00000000 */ nop -/* CA0C 8003160C C6200498 */ lwc1 $f0, 0x498($s1) -/* CA10 80031610 3C01800A */ lui $at, %hi(D_80098258) -/* CA14 80031614 D4228258 */ ldc1 $f2, %lo(D_80098258)($at) -/* CA18 80031618 46000021 */ cvt.d.s $f0, $f0 -/* CA1C 8003161C 46220000 */ add.d $f0, $f0, $f2 -/* CA20 80031620 46200020 */ cvt.s.d $f0, $f0 -/* CA24 80031624 460000A1 */ cvt.d.s $f2, $f0 -/* CA28 80031628 4622203E */ c.le.d $f4, $f2 -/* CA2C 8003162C 00000000 */ nop -/* CA30 80031630 45000005 */ bc1f .L80031648 -/* CA34 80031634 E6200498 */ swc1 $f0, 0x498($s1) -/* CA38 80031638 3C013F80 */ lui $at, 0x3f80 -/* CA3C 8003163C 44810000 */ mtc1 $at, $f0 -/* CA40 80031640 00000000 */ nop -/* CA44 80031644 E6200498 */ swc1 $f0, 0x498($s1) -.L80031648: -/* CA48 80031648 96220002 */ lhu $v0, 2($s1) -/* CA4C 8003164C 30420002 */ andi $v0, $v0, 2 -/* CA50 80031650 14400009 */ bnez $v0, .L80031678 -/* CA54 80031654 00000000 */ nop -/* CA58 80031658 C6200494 */ lwc1 $f0, 0x494($s1) -/* CA5C 8003165C C62204A0 */ lwc1 $f2, 0x4a0($s1) -/* CA60 80031660 46020001 */ sub.s $f0, $f0, $f2 -/* CA64 80031664 C6240498 */ lwc1 $f4, 0x498($s1) -/* CA68 80031668 46040002 */ mul.s $f0, $f0, $f4 -/* CA6C 8003166C 00000000 */ nop -/* CA70 80031670 46001080 */ add.s $f2, $f2, $f0 -/* CA74 80031674 E62204A0 */ swc1 $f2, 0x4a0($s1) -.L80031678: -/* CA78 80031678 96220506 */ lhu $v0, 0x506($s1) -/* CA7C 8003167C 14400014 */ bnez $v0, .L800316D0 -/* CA80 80031680 C7B4003C */ lwc1 $f20, 0x3c($sp) -/* CA84 80031684 C62004A4 */ lwc1 $f0, 0x4a4($s1) -/* CA88 80031688 C7B00038 */ lwc1 $f16, 0x38($sp) -/* CA8C 8003168C 46100032 */ c.eq.s $f0, $f16 -/* CA90 80031690 00000000 */ nop -/* CA94 80031694 4500000E */ bc1f .L800316D0 -/* CA98 80031698 00000000 */ nop -/* CA9C 8003169C C62004A8 */ lwc1 $f0, 0x4a8($s1) -/* CAA0 800316A0 461E0032 */ c.eq.s $f0, $f30 -/* CAA4 800316A4 00000000 */ nop -/* CAA8 800316A8 45000009 */ bc1f .L800316D0 -/* CAAC 800316AC 00000000 */ nop -/* CAB0 800316B0 C62004AC */ lwc1 $f0, 0x4ac($s1) -/* CAB4 800316B4 46140032 */ c.eq.s $f0, $f20 -/* CAB8 800316B8 00000000 */ nop -/* CABC 800316BC 45000004 */ bc1f .L800316D0 -/* CAC0 800316C0 00000000 */ nop -/* CAC4 800316C4 86220008 */ lh $v0, 8($s1) -/* CAC8 800316C8 104000C6 */ beqz $v0, .L800319E4 -/* CACC 800316CC 00000000 */ nop -.L800316D0: -/* CAD0 800316D0 96220504 */ lhu $v0, 0x504($s1) -/* CAD4 800316D4 14400008 */ bnez $v0, .L800316F8 -/* CAD8 800316D8 262404D8 */ addiu $a0, $s1, 0x4d8 -/* CADC 800316DC 3C014120 */ lui $at, 0x4120 -/* CAE0 800316E0 44817000 */ mtc1 $at, $f14 -/* CAE4 800316E4 8FA6003C */ lw $a2, 0x3c($sp) -/* CAE8 800316E8 C7AC0038 */ lwc1 $f12, 0x38($sp) -/* CAEC 800316EC 0C00C116 */ jal test_ray_zone_aabb -/* CAF0 800316F0 460EF380 */ add.s $f14, $f30, $f14 -/* CAF4 800316F4 0040202D */ daddu $a0, $v0, $zero -.L800316F8: -/* CAF8 800316F8 0000402D */ daddu $t0, $zero, $zero -/* CAFC 800316FC 8E230448 */ lw $v1, 0x448($s1) -/* CB00 80031700 1080007E */ beqz $a0, .L800318FC -/* CB04 80031704 0080382D */ daddu $a3, $a0, $zero -/* CB08 80031708 1060007C */ beqz $v1, .L800318FC -/* CB0C 8003170C 00000000 */ nop -/* CB10 80031710 8C850000 */ lw $a1, ($a0) -/* CB14 80031714 8C620000 */ lw $v0, ($v1) -/* CB18 80031718 14A20078 */ bne $a1, $v0, .L800318FC -/* CB1C 8003171C 00000000 */ nop -/* CB20 80031720 8C860028 */ lw $a2, 0x28($a0) -/* CB24 80031724 8C620028 */ lw $v0, 0x28($v1) -/* CB28 80031728 14C20074 */ bne $a2, $v0, .L800318FC -/* CB2C 8003172C 00000000 */ nop -/* CB30 80031730 C4820004 */ lwc1 $f2, 4($a0) -/* CB34 80031734 C4600004 */ lwc1 $f0, 4($v1) -/* CB38 80031738 46001032 */ c.eq.s $f2, $f0 -/* CB3C 8003173C 00000000 */ nop -/* CB40 80031740 4500006E */ bc1f .L800318FC -/* CB44 80031744 00000000 */ nop -/* CB48 80031748 C4820008 */ lwc1 $f2, 8($a0) -/* CB4C 8003174C C4600008 */ lwc1 $f0, 8($v1) -/* CB50 80031750 46001032 */ c.eq.s $f2, $f0 -/* CB54 80031754 00000000 */ nop -/* CB58 80031758 45000068 */ bc1f .L800318FC -/* CB5C 8003175C 00000000 */ nop -/* CB60 80031760 C4820024 */ lwc1 $f2, 0x24($a0) -/* CB64 80031764 C4600024 */ lwc1 $f0, 0x24($v1) -/* CB68 80031768 46001032 */ c.eq.s $f2, $f0 -/* CB6C 8003176C 00000000 */ nop -/* CB70 80031770 45000062 */ bc1f .L800318FC -/* CB74 80031774 00000000 */ nop -/* CB78 80031778 10A00005 */ beqz $a1, .L80031790 -/* CB7C 8003177C 24020001 */ addiu $v0, $zero, 1 -/* CB80 80031780 10A20017 */ beq $a1, $v0, .L800317E0 -/* CB84 80031784 00000000 */ nop -/* CB88 80031788 0800C61B */ j .L8003186C -/* CB8C 8003178C 00000000 */ nop -.L80031790: -/* CB90 80031790 C482000C */ lwc1 $f2, 0xc($a0) -/* CB94 80031794 C460000C */ lwc1 $f0, 0xc($v1) -/* CB98 80031798 46001032 */ c.eq.s $f2, $f0 -/* CB9C 8003179C 00000000 */ nop -/* CBA0 800317A0 45000056 */ bc1f .L800318FC -/* CBA4 800317A4 00000000 */ nop -/* CBA8 800317A8 C4820014 */ lwc1 $f2, 0x14($a0) -/* CBAC 800317AC C4600014 */ lwc1 $f0, 0x14($v1) -/* CBB0 800317B0 46001032 */ c.eq.s $f2, $f0 -/* CBB4 800317B4 00000000 */ nop -/* CBB8 800317B8 45000050 */ bc1f .L800318FC -/* CBBC 800317BC 00000000 */ nop -/* CBC0 800317C0 C4820018 */ lwc1 $f2, 0x18($a0) -/* CBC4 800317C4 C4600018 */ lwc1 $f0, 0x18($v1) -/* CBC8 800317C8 46001032 */ c.eq.s $f2, $f0 -/* CBCC 800317CC 00000000 */ nop -/* CBD0 800317D0 4500004A */ bc1f .L800318FC -/* CBD4 800317D4 00000000 */ nop -/* CBD8 800317D8 0800C63A */ j .L800318E8 -/* CBDC 800317DC C4820020 */ lwc1 $f2, 0x20($a0) -.L800317E0: -/* CBE0 800317E0 10C00005 */ beqz $a2, .L800317F8 -/* CBE4 800317E4 00000000 */ nop -/* CBE8 800317E8 10C5000C */ beq $a2, $a1, .L8003181C -/* CBEC 800317EC 00000000 */ nop -/* CBF0 800317F0 0800C63F */ j .L800318FC -/* CBF4 800317F4 00000000 */ nop -.L800317F8: -/* CBF8 800317F8 C482000C */ lwc1 $f2, 0xc($a0) -/* CBFC 800317FC C460000C */ lwc1 $f0, 0xc($v1) -/* CC00 80031800 46001032 */ c.eq.s $f2, $f0 -/* CC04 80031804 00000000 */ nop -/* CC08 80031808 4500003C */ bc1f .L800318FC -/* CC0C 8003180C 00000000 */ nop -/* CC10 80031810 C4820014 */ lwc1 $f2, 0x14($a0) -/* CC14 80031814 0800C63B */ j .L800318EC -/* CC18 80031818 C4600014 */ lwc1 $f0, 0x14($v1) -.L8003181C: -/* CC1C 8003181C C482000C */ lwc1 $f2, 0xc($a0) -/* CC20 80031820 C460000C */ lwc1 $f0, 0xc($v1) -/* CC24 80031824 46001032 */ c.eq.s $f2, $f0 -/* CC28 80031828 00000000 */ nop -/* CC2C 8003182C 45000033 */ bc1f .L800318FC -/* CC30 80031830 00000000 */ nop -/* CC34 80031834 C4820014 */ lwc1 $f2, 0x14($a0) -/* CC38 80031838 C4600014 */ lwc1 $f0, 0x14($v1) -/* CC3C 8003183C 46001032 */ c.eq.s $f2, $f0 -/* CC40 80031840 00000000 */ nop -/* CC44 80031844 4500002D */ bc1f .L800318FC -/* CC48 80031848 00000000 */ nop -/* CC4C 8003184C C4820018 */ lwc1 $f2, 0x18($a0) -/* CC50 80031850 C4600018 */ lwc1 $f0, 0x18($v1) -/* CC54 80031854 46001032 */ c.eq.s $f2, $f0 -/* CC58 80031858 00000000 */ nop -/* CC5C 8003185C 45000027 */ bc1f .L800318FC -/* CC60 80031860 00000000 */ nop -/* CC64 80031864 0800C63A */ j .L800318E8 -/* CC68 80031868 C4820020 */ lwc1 $f2, 0x20($a0) -.L8003186C: -/* CC6C 8003186C C4E2000C */ lwc1 $f2, 0xc($a3) -/* CC70 80031870 C460000C */ lwc1 $f0, 0xc($v1) -/* CC74 80031874 46001032 */ c.eq.s $f2, $f0 -/* CC78 80031878 00000000 */ nop -/* CC7C 8003187C 4500001F */ bc1f .L800318FC -/* CC80 80031880 00000000 */ nop -/* CC84 80031884 C4E20014 */ lwc1 $f2, 0x14($a3) -/* CC88 80031888 C4600014 */ lwc1 $f0, 0x14($v1) -/* CC8C 8003188C 46001032 */ c.eq.s $f2, $f0 -/* CC90 80031890 00000000 */ nop -/* CC94 80031894 45000019 */ bc1f .L800318FC -/* CC98 80031898 00000000 */ nop -/* CC9C 8003189C C4E20010 */ lwc1 $f2, 0x10($a3) -/* CCA0 800318A0 C4600010 */ lwc1 $f0, 0x10($v1) -/* CCA4 800318A4 46001032 */ c.eq.s $f2, $f0 -/* CCA8 800318A8 00000000 */ nop -/* CCAC 800318AC 45000013 */ bc1f .L800318FC -/* CCB0 800318B0 00000000 */ nop -/* CCB4 800318B4 C4E2001C */ lwc1 $f2, 0x1c($a3) -/* CCB8 800318B8 C460001C */ lwc1 $f0, 0x1c($v1) -/* CCBC 800318BC 46001032 */ c.eq.s $f2, $f0 -/* CCC0 800318C0 00000000 */ nop -/* CCC4 800318C4 4500000D */ bc1f .L800318FC -/* CCC8 800318C8 00000000 */ nop -/* CCCC 800318CC C4E20018 */ lwc1 $f2, 0x18($a3) -/* CCD0 800318D0 C4600018 */ lwc1 $f0, 0x18($v1) -/* CCD4 800318D4 46001032 */ c.eq.s $f2, $f0 -/* CCD8 800318D8 00000000 */ nop -/* CCDC 800318DC 45000007 */ bc1f .L800318FC -/* CCE0 800318E0 00000000 */ nop -/* CCE4 800318E4 C4E20020 */ lwc1 $f2, 0x20($a3) -.L800318E8: -/* CCE8 800318E8 C4600020 */ lwc1 $f0, 0x20($v1) -.L800318EC: -/* CCEC 800318EC 46001032 */ c.eq.s $f2, $f0 -/* CCF0 800318F0 00000000 */ nop -/* CCF4 800318F4 45030001 */ bc1tl .L800318FC -/* CCF8 800318F8 24080001 */ addiu $t0, $zero, 1 -.L800318FC: -/* CCFC 800318FC 96220506 */ lhu $v0, 0x506($s1) -/* CD00 80031900 14400005 */ bnez $v0, .L80031918 -/* CD04 80031904 00000000 */ nop -/* CD08 80031908 15000036 */ bnez $t0, .L800319E4 -/* CD0C 8003190C 00000000 */ nop -/* CD10 80031910 10E30034 */ beq $a3, $v1, .L800319E4 -/* CD14 80031914 00000000 */ nop -.L80031918: -/* CD18 80031918 C6220484 */ lwc1 $f2, 0x484($s1) -/* CD1C 8003191C 3C013F80 */ lui $at, 0x3f80 -/* CD20 80031920 44810000 */ mtc1 $at, $f0 -/* CD24 80031924 00000000 */ nop -/* CD28 80031928 46001032 */ c.eq.s $f2, $f0 -/* CD2C 8003192C 00000000 */ nop -/* CD30 80031930 45000004 */ bc1f .L80031944 -/* CD34 80031934 2402FFFF */ addiu $v0, $zero, -1 -/* CD38 80031938 8E220448 */ lw $v0, 0x448($s1) -/* CD3C 8003193C 0800C652 */ j .L80031948 -/* CD40 80031940 AE220444 */ sw $v0, 0x444($s1) -.L80031944: -/* CD44 80031944 AE220444 */ sw $v0, 0x444($s1) -.L80031948: -/* CD48 80031948 3C0C800A */ lui $t4, %hi(blendedCamSettings) -/* CD4C 8003194C 258C08C0 */ addiu $t4, $t4, %lo(blendedCamSettings) -/* CD50 80031950 8D890000 */ lw $t1, ($t4) -/* CD54 80031954 8D8A0004 */ lw $t2, 4($t4) -/* CD58 80031958 8D8B0008 */ lw $t3, 8($t4) -/* CD5C 8003195C AE29044C */ sw $t1, 0x44c($s1) -/* CD60 80031960 AE2A0450 */ sw $t2, 0x450($s1) -/* CD64 80031964 AE2B0454 */ sw $t3, 0x454($s1) -/* CD68 80031968 8D89000C */ lw $t1, 0xc($t4) -/* CD6C 8003196C 8D8A0010 */ lw $t2, 0x10($t4) -/* CD70 80031970 8D8B0014 */ lw $t3, 0x14($t4) -/* CD74 80031974 AE290458 */ sw $t1, 0x458($s1) -/* CD78 80031978 AE2A045C */ sw $t2, 0x45c($s1) -/* CD7C 8003197C AE2B0460 */ sw $t3, 0x460($s1) -/* CD80 80031980 8D890018 */ lw $t1, 0x18($t4) -/* CD84 80031984 AE290464 */ sw $t1, 0x464($s1) -/* CD88 80031988 C6200490 */ lwc1 $f0, 0x490($s1) -/* CD8C 8003198C 962204D6 */ lhu $v0, 0x4d6($s1) -/* CD90 80031990 96230504 */ lhu $v1, 0x504($s1) -/* CD94 80031994 C62204C8 */ lwc1 $f2, 0x4c8($s1) -/* CD98 80031998 C62404CC */ lwc1 $f4, 0x4cc($s1) -/* CD9C 8003199C C62604D0 */ lwc1 $f6, 0x4d0($s1) -/* CDA0 800319A0 C62804B0 */ lwc1 $f8, 0x4b0($s1) -/* CDA4 800319A4 C62A04B4 */ lwc1 $f10, 0x4b4($s1) -/* CDA8 800319A8 C62C04B8 */ lwc1 $f12, 0x4b8($s1) -/* CDAC 800319AC 24100001 */ addiu $s0, $zero, 1 -/* CDB0 800319B0 AE240448 */ sw $a0, 0x448($s1) -/* CDB4 800319B4 AE200484 */ sw $zero, 0x484($s1) -/* CDB8 800319B8 AE200488 */ sw $zero, 0x488($s1) -/* CDBC 800319BC A6200506 */ sh $zero, 0x506($s1) -/* CDC0 800319C0 E620048C */ swc1 $f0, 0x48c($s1) -/* CDC4 800319C4 A62204D4 */ sh $v0, 0x4d4($s1) -/* CDC8 800319C8 A62304D6 */ sh $v1, 0x4d6($s1) -/* CDCC 800319CC E62204BC */ swc1 $f2, 0x4bc($s1) -/* CDD0 800319D0 E62404C0 */ swc1 $f4, 0x4c0($s1) -/* CDD4 800319D4 E62604C4 */ swc1 $f6, 0x4c4($s1) -/* CDD8 800319D8 E62804C8 */ swc1 $f8, 0x4c8($s1) -/* CDDC 800319DC E62A04CC */ swc1 $f10, 0x4cc($s1) -/* CDE0 800319E0 E62C04D0 */ swc1 $f12, 0x4d0($s1) -.L800319E4: -/* CDE4 800319E4 962204D4 */ lhu $v0, 0x4d4($s1) -/* CDE8 800319E8 10400005 */ beqz $v0, .L80031A00 -/* CDEC 800319EC 4600B286 */ mov.s $f10, $f22 -/* CDF0 800319F0 C62A04BC */ lwc1 $f10, 0x4bc($s1) -/* CDF4 800319F4 C62804C0 */ lwc1 $f8, 0x4c0($s1) -/* CDF8 800319F8 0800C682 */ j .L80031A08 -/* CDFC 800319FC C62604C4 */ lwc1 $f6, 0x4c4($s1) -.L80031A00: -/* CE00 80031A00 C62804A0 */ lwc1 $f8, 0x4a0($s1) -/* CE04 80031A04 4600A186 */ mov.s $f6, $f20 -.L80031A08: -/* CE08 80031A08 962204D6 */ lhu $v0, 0x4d6($s1) -/* CE0C 80031A0C 10400006 */ beqz $v0, .L80031A28 -/* CE10 80031A10 4600B106 */ mov.s $f4, $f22 -/* CE14 80031A14 C62004CC */ lwc1 $f0, 0x4cc($s1) -/* CE18 80031A18 C62404C8 */ lwc1 $f4, 0x4c8($s1) -/* CE1C 80031A1C C62204D0 */ lwc1 $f2, 0x4d0($s1) -/* CE20 80031A20 0800C68C */ j .L80031A30 -/* CE24 80031A24 E62004A0 */ swc1 $f0, 0x4a0($s1) -.L80031A28: -/* CE28 80031A28 C62004A0 */ lwc1 $f0, 0x4a0($s1) -/* CE2C 80031A2C 4600A086 */ mov.s $f2, $f20 -.L80031A30: -/* CE30 80031A30 0220202D */ daddu $a0, $s1, $zero -/* CE34 80031A34 26260444 */ addiu $a2, $s1, 0x444 -/* CE38 80031A38 26270468 */ addiu $a3, $s1, 0x468 -/* CE3C 80031A3C 26220448 */ addiu $v0, $s1, 0x448 -/* CE40 80031A40 AFA20010 */ sw $v0, 0x10($sp) -/* CE44 80031A44 26220484 */ addiu $v0, $s1, 0x484 -/* CE48 80031A48 E7AA0014 */ swc1 $f10, 0x14($sp) -/* CE4C 80031A4C E7A80018 */ swc1 $f8, 0x18($sp) -/* CE50 80031A50 E7A6001C */ swc1 $f6, 0x1c($sp) -/* CE54 80031A54 E7A40020 */ swc1 $f4, 0x20($sp) -/* CE58 80031A58 E7A00024 */ swc1 $f0, 0x24($sp) -/* CE5C 80031A5C E7A20028 */ swc1 $f2, 0x28($sp) -/* CE60 80031A60 86230008 */ lh $v1, 8($s1) -/* CE64 80031A64 2625044C */ addiu $a1, $s1, 0x44c -/* CE68 80031A68 AFA20030 */ sw $v0, 0x30($sp) -/* CE6C 80031A6C AFB00034 */ sw $s0, 0x34($sp) -/* CE70 80031A70 0C00C13F */ jal update_camera_from_controller -/* CE74 80031A74 AFA3002C */ sw $v1, 0x2c($sp) -/* CE78 80031A78 86220008 */ lh $v0, 8($s1) -/* CE7C 80031A7C 10400013 */ beqz $v0, .L80031ACC -/* CE80 80031A80 00000000 */ nop -/* CE84 80031A84 3C013F80 */ lui $at, 0x3f80 -/* CE88 80031A88 44810000 */ mtc1 $at, $f0 -/* CE8C 80031A8C 8E290468 */ lw $t1, 0x468($s1) -/* CE90 80031A90 8E2A046C */ lw $t2, 0x46c($s1) -/* CE94 80031A94 8E2B0470 */ lw $t3, 0x470($s1) -/* CE98 80031A98 8E2C0474 */ lw $t4, 0x474($s1) -/* CE9C 80031A9C AE29044C */ sw $t1, 0x44c($s1) -/* CEA0 80031AA0 AE2A0450 */ sw $t2, 0x450($s1) -/* CEA4 80031AA4 AE2B0454 */ sw $t3, 0x454($s1) -/* CEA8 80031AA8 AE2C0458 */ sw $t4, 0x458($s1) -/* CEAC 80031AAC 8E290478 */ lw $t1, 0x478($s1) -/* CEB0 80031AB0 8E2A047C */ lw $t2, 0x47c($s1) -/* CEB4 80031AB4 8E2B0480 */ lw $t3, 0x480($s1) -/* CEB8 80031AB8 AE29045C */ sw $t1, 0x45c($s1) -/* CEBC 80031ABC AE2A0460 */ sw $t2, 0x460($s1) -/* CEC0 80031AC0 AE2B0464 */ sw $t3, 0x464($s1) -/* CEC4 80031AC4 A6200008 */ sh $zero, 8($s1) -/* CEC8 80031AC8 E6200484 */ swc1 $f0, 0x484($s1) -.L80031ACC: -/* CECC 80031ACC C622044C */ lwc1 $f2, 0x44c($s1) -/* CED0 80031AD0 C6200468 */ lwc1 $f0, 0x468($s1) -/* CED4 80031AD4 46001001 */ sub.s $f0, $f2, $f0 -/* CED8 80031AD8 3C014334 */ lui $at, 0x4334 -/* CEDC 80031ADC 44813000 */ mtc1 $at, $f6 -/* CEE0 80031AE0 00000000 */ nop -/* CEE4 80031AE4 4600303C */ c.lt.s $f6, $f0 -/* CEE8 80031AE8 00000000 */ nop -/* CEEC 80031AEC 45000006 */ bc1f .L80031B08 -/* CEF0 80031AF0 00000000 */ nop -/* CEF4 80031AF4 3C0143B4 */ lui $at, 0x43b4 -/* CEF8 80031AF8 44810000 */ mtc1 $at, $f0 -/* CEFC 80031AFC 00000000 */ nop -/* CF00 80031B00 46001001 */ sub.s $f0, $f2, $f0 -/* CF04 80031B04 E620044C */ swc1 $f0, 0x44c($s1) -.L80031B08: -/* CF08 80031B08 C624044C */ lwc1 $f4, 0x44c($s1) -/* CF0C 80031B0C C6200468 */ lwc1 $f0, 0x468($s1) -/* CF10 80031B10 46002001 */ sub.s $f0, $f4, $f0 -/* CF14 80031B14 3C01C334 */ lui $at, 0xc334 -/* CF18 80031B18 44811000 */ mtc1 $at, $f2 -/* CF1C 80031B1C 00000000 */ nop -/* CF20 80031B20 4602003C */ c.lt.s $f0, $f2 -/* CF24 80031B24 00000000 */ nop -/* CF28 80031B28 45000006 */ bc1f .L80031B44 -/* CF2C 80031B2C 00000000 */ nop -/* CF30 80031B30 3C0143B4 */ lui $at, 0x43b4 -/* CF34 80031B34 44810000 */ mtc1 $at, $f0 -/* CF38 80031B38 00000000 */ nop -/* CF3C 80031B3C 46002000 */ add.s $f0, $f4, $f0 -/* CF40 80031B40 E620044C */ swc1 $f0, 0x44c($s1) -.L80031B44: -/* CF44 80031B44 C622044C */ lwc1 $f2, 0x44c($s1) -/* CF48 80031B48 C6200468 */ lwc1 $f0, 0x468($s1) -/* CF4C 80031B4C 46001301 */ sub.s $f12, $f2, $f0 -/* CF50 80031B50 44804000 */ mtc1 $zero, $f8 -/* CF54 80031B54 00000000 */ nop -/* CF58 80031B58 4608603C */ c.lt.s $f12, $f8 -/* CF5C 80031B5C 00000000 */ nop -/* CF60 80031B60 45030001 */ bc1tl .L80031B68 -/* CF64 80031B64 46006307 */ neg.s $f12, $f12 -.L80031B68: -/* CF68 80031B68 460C303C */ c.lt.s $f6, $f12 -/* CF6C 80031B6C 00000000 */ nop -/* CF70 80031B70 45000005 */ bc1f .L80031B88 -/* CF74 80031B74 00000000 */ nop -/* CF78 80031B78 3C0143B4 */ lui $at, 0x43b4 -/* CF7C 80031B7C 44810000 */ mtc1 $at, $f0 -/* CF80 80031B80 00000000 */ nop -/* CF84 80031B84 460C0301 */ sub.s $f12, $f0, $f12 -.L80031B88: -/* CF88 80031B88 C6220454 */ lwc1 $f2, 0x454($s1) -/* CF8C 80031B8C C6200470 */ lwc1 $f0, 0x470($s1) -/* CF90 80031B90 46006506 */ mov.s $f20, $f12 -/* CF94 80031B94 46001301 */ sub.s $f12, $f2, $f0 -/* CF98 80031B98 4608603C */ c.lt.s $f12, $f8 -/* CF9C 80031B9C 00000000 */ nop -/* CFA0 80031BA0 45030001 */ bc1tl .L80031BA8 -/* CFA4 80031BA4 46006307 */ neg.s $f12, $f12 -.L80031BA8: -/* CFA8 80031BA8 460C303C */ c.lt.s $f6, $f12 -/* CFAC 80031BAC 00000000 */ nop -/* CFB0 80031BB0 45000005 */ bc1f .L80031BC8 -/* CFB4 80031BB4 00000000 */ nop -/* CFB8 80031BB8 3C0143B4 */ lui $at, 0x43b4 -/* CFBC 80031BBC 44810000 */ mtc1 $at, $f0 -/* CFC0 80031BC0 00000000 */ nop -/* CFC4 80031BC4 460C0301 */ sub.s $f12, $f0, $f12 -.L80031BC8: -/* CFC8 80031BC8 460CA03C */ c.lt.s $f20, $f12 -/* CFCC 80031BCC 00000000 */ nop -/* CFD0 80031BD0 45030001 */ bc1tl .L80031BD8 -/* CFD4 80031BD4 46006506 */ mov.s $f20, $f12 -.L80031BD8: -/* CFD8 80031BD8 C6220458 */ lwc1 $f2, 0x458($s1) -/* CFDC 80031BDC C6200474 */ lwc1 $f0, 0x474($s1) -/* CFE0 80031BE0 46001301 */ sub.s $f12, $f2, $f0 -/* CFE4 80031BE4 4608603C */ c.lt.s $f12, $f8 -/* CFE8 80031BE8 00000000 */ nop -/* CFEC 80031BEC 45030001 */ bc1tl .L80031BF4 -/* CFF0 80031BF0 46006307 */ neg.s $f12, $f12 -.L80031BF4: -/* CFF4 80031BF4 460C303C */ c.lt.s $f6, $f12 -/* CFF8 80031BF8 00000000 */ nop -/* CFFC 80031BFC 45000005 */ bc1f .L80031C14 -/* D000 80031C00 00000000 */ nop -/* D004 80031C04 3C0143B4 */ lui $at, 0x43b4 -/* D008 80031C08 44810000 */ mtc1 $at, $f0 -/* D00C 80031C0C 00000000 */ nop -/* D010 80031C10 460C0301 */ sub.s $f12, $f0, $f12 -.L80031C14: -/* D014 80031C14 460CA03C */ c.lt.s $f20, $f12 -/* D018 80031C18 00000000 */ nop -/* D01C 80031C1C 45030001 */ bc1tl .L80031C24 -/* D020 80031C20 46006506 */ mov.s $f20, $f12 -.L80031C24: -/* D024 80031C24 C6220450 */ lwc1 $f2, 0x450($s1) -/* D028 80031C28 C620046C */ lwc1 $f0, 0x46c($s1) -/* D02C 80031C2C 46001301 */ sub.s $f12, $f2, $f0 -/* D030 80031C30 4608603C */ c.lt.s $f12, $f8 -/* D034 80031C34 00000000 */ nop -/* D038 80031C38 45030001 */ bc1tl .L80031C40 -/* D03C 80031C3C 46006307 */ neg.s $f12, $f12 -.L80031C40: -/* D040 80031C40 460CA03C */ c.lt.s $f20, $f12 -/* D044 80031C44 00000000 */ nop -/* D048 80031C48 45030001 */ bc1tl .L80031C50 -/* D04C 80031C4C 46006506 */ mov.s $f20, $f12 -.L80031C50: -/* D050 80031C50 C620045C */ lwc1 $f0, 0x45c($s1) -/* D054 80031C54 C6220478 */ lwc1 $f2, 0x478($s1) -/* D058 80031C58 46020001 */ sub.s $f0, $f0, $f2 -/* D05C 80031C5C 46000302 */ mul.s $f12, $f0, $f0 -/* D060 80031C60 00000000 */ nop -/* D064 80031C64 C6240460 */ lwc1 $f4, 0x460($s1) -/* D068 80031C68 C620047C */ lwc1 $f0, 0x47c($s1) -/* D06C 80031C6C 46002101 */ sub.s $f4, $f4, $f0 -/* D070 80031C70 46042102 */ mul.s $f4, $f4, $f4 -/* D074 80031C74 00000000 */ nop -/* D078 80031C78 C6220480 */ lwc1 $f2, 0x480($s1) -/* D07C 80031C7C C6200464 */ lwc1 $f0, 0x464($s1) -/* D080 80031C80 46020001 */ sub.s $f0, $f0, $f2 -/* D084 80031C84 46000002 */ mul.s $f0, $f0, $f0 -/* D088 80031C88 00000000 */ nop -/* D08C 80031C8C 46046300 */ add.s $f12, $f12, $f4 -/* D090 80031C90 46006300 */ add.s $f12, $f12, $f0 -/* D094 80031C94 46086032 */ c.eq.s $f12, $f8 -/* D098 80031C98 00000000 */ nop -/* D09C 80031C9C 4501000E */ bc1t .L80031CD8 -/* D0A0 80031CA0 00000000 */ nop -/* D0A4 80031CA4 46006004 */ sqrt.s $f0, $f12 -/* D0A8 80031CA8 46000032 */ c.eq.s $f0, $f0 -/* D0AC 80031CAC 00000000 */ nop -/* D0B0 80031CB0 45010003 */ bc1t .L80031CC0 -/* D0B4 80031CB4 00000000 */ nop -/* D0B8 80031CB8 0C0187BC */ jal sqrtf -/* D0BC 80031CBC 00000000 */ nop -.L80031CC0: -/* D0C0 80031CC0 3C01800A */ lui $at, %hi(D_80098260) -/* D0C4 80031CC4 D4228260 */ ldc1 $f2, %lo(D_80098260)($at) -/* D0C8 80031CC8 46000021 */ cvt.d.s $f0, $f0 -/* D0CC 80031CCC 46220002 */ mul.d $f0, $f0, $f2 -/* D0D0 80031CD0 00000000 */ nop -/* D0D4 80031CD4 46200320 */ cvt.s.d $f12, $f0 -.L80031CD8: -/* D0D8 80031CD8 460CA03C */ c.lt.s $f20, $f12 -/* D0DC 80031CDC 00000000 */ nop -/* D0E0 80031CE0 45030001 */ bc1tl .L80031CE8 -/* D0E4 80031CE4 46006506 */ mov.s $f20, $f12 -.L80031CE8: -/* D0E8 80031CE8 3C0142B4 */ lui $at, 0x42b4 -/* D0EC 80031CEC 44810000 */ mtc1 $at, $f0 -/* D0F0 80031CF0 00000000 */ nop -/* D0F4 80031CF4 4614003C */ c.lt.s $f0, $f20 -/* D0F8 80031CF8 00000000 */ nop -/* D0FC 80031CFC 45030001 */ bc1tl .L80031D04 -/* D100 80031D00 46000506 */ mov.s $f20, $f0 -.L80031D04: -/* D104 80031D04 3C0141A0 */ lui $at, 0x41a0 -/* D108 80031D08 44810000 */ mtc1 $at, $f0 -/* D10C 80031D0C 00000000 */ nop -/* D110 80031D10 4600A03C */ c.lt.s $f20, $f0 -/* D114 80031D14 00000000 */ nop -/* D118 80031D18 45030001 */ bc1tl .L80031D20 -/* D11C 80031D1C 46000506 */ mov.s $f20, $f0 -.L80031D20: -/* D120 80031D20 44800000 */ mtc1 $zero, $f0 -/* D124 80031D24 00000000 */ nop -/* D128 80031D28 4600A032 */ c.eq.s $f20, $f0 -/* D12C 80031D2C 00000000 */ nop -/* D130 80031D30 4501000E */ bc1t .L80031D6C -/* D134 80031D34 00000000 */ nop -/* D138 80031D38 3C013F80 */ lui $at, 0x3f80 -/* D13C 80031D3C 44812000 */ mtc1 $at, $f4 -/* D140 80031D40 C620048C */ lwc1 $f0, 0x48c($s1) -/* D144 80031D44 46142083 */ div.s $f2, $f4, $f20 -/* D148 80031D48 46001082 */ mul.s $f2, $f2, $f0 -/* D14C 80031D4C 00000000 */ nop -/* D150 80031D50 C6200488 */ lwc1 $f0, 0x488($s1) -/* D154 80031D54 46020000 */ add.s $f0, $f0, $f2 -/* D158 80031D58 4600203C */ c.lt.s $f4, $f0 -/* D15C 80031D5C 00000000 */ nop -/* D160 80031D60 45000002 */ bc1f .L80031D6C -/* D164 80031D64 E6200488 */ swc1 $f0, 0x488($s1) -/* D168 80031D68 E6240488 */ swc1 $f4, 0x488($s1) -.L80031D6C: -/* D16C 80031D6C C6200484 */ lwc1 $f0, 0x484($s1) -/* D170 80031D70 3C013FF0 */ lui $at, 0x3ff0 -/* D174 80031D74 4481E800 */ mtc1 $at, $f29 -/* D178 80031D78 4480E000 */ mtc1 $zero, $f28 -/* D17C 80031D7C 46000021 */ cvt.d.s $f0, $f0 -/* D180 80031D80 463C003C */ c.lt.d $f0, $f28 -/* D184 80031D84 00000000 */ nop -/* D188 80031D88 45000036 */ bc1f .L80031E64 -/* D18C 80031D8C 00000000 */ nop -/* D190 80031D90 C6340508 */ lwc1 $f20, 0x508($s1) -/* D194 80031D94 3C01800A */ lui $at, %hi(D_80098268) -/* D198 80031D98 D4388268 */ ldc1 $f24, %lo(D_80098268)($at) -/* D19C 80031D9C 4600A5A1 */ cvt.d.s $f22, $f20 -/* D1A0 80031DA0 4638B582 */ mul.d $f22, $f22, $f24 -/* D1A4 80031DA4 00000000 */ nop -/* D1A8 80031DA8 4620B5A0 */ cvt.s.d $f22, $f22 -/* D1AC 80031DAC 0C00A874 */ jal cos_rad -/* D1B0 80031DB0 4600B306 */ mov.s $f12, $f22 -/* D1B4 80031DB4 C62C0488 */ lwc1 $f12, 0x488($s1) -/* D1B8 80031DB8 46006321 */ cvt.d.s $f12, $f12 -/* D1BC 80031DBC 46386302 */ mul.d $f12, $f12, $f24 -/* D1C0 80031DC0 00000000 */ nop -/* D1C4 80031DC4 3C013F80 */ lui $at, 0x3f80 -/* D1C8 80031DC8 4481D000 */ mtc1 $at, $f26 -/* D1CC 80031DCC 00000000 */ nop -/* D1D0 80031DD0 4614D501 */ sub.s $f20, $f26, $f20 -/* D1D4 80031DD4 4600A521 */ cvt.d.s $f20, $f20 -/* D1D8 80031DD8 46346302 */ mul.d $f12, $f12, $f20 -/* D1DC 80031DDC 00000000 */ nop -/* D1E0 80031DE0 461A0600 */ add.s $f24, $f0, $f26 -/* D1E4 80031DE4 4600B0A1 */ cvt.d.s $f2, $f22 -/* D1E8 80031DE8 3C014000 */ lui $at, 0x4000 -/* D1EC 80031DEC 4481A000 */ mtc1 $at, $f20 -/* D1F0 80031DF0 46226300 */ add.d $f12, $f12, $f2 -/* D1F4 80031DF4 4618A603 */ div.s $f24, $f20, $f24 -/* D1F8 80031DF8 0C00A874 */ jal cos_rad -/* D1FC 80031DFC 46206320 */ cvt.s.d $f12, $f12 -/* D200 80031E00 4600B306 */ mov.s $f12, $f22 -/* D204 80031E04 0C00A874 */ jal cos_rad -/* D208 80031E08 460005A1 */ cvt.d.s $f22, $f0 -/* D20C 80031E0C 46000021 */ cvt.d.s $f0, $f0 -/* D210 80031E10 4620E001 */ sub.d $f0, $f28, $f0 -/* D214 80031E14 3C013FE0 */ lui $at, 0x3fe0 -/* D218 80031E18 44811800 */ mtc1 $at, $f3 -/* D21C 80031E1C 44801000 */ mtc1 $zero, $f2 -/* D220 80031E20 00000000 */ nop -/* D224 80031E24 46220002 */ mul.d $f0, $f0, $f2 -/* D228 80031E28 00000000 */ nop -/* D22C 80031E2C 4620B580 */ add.d $f22, $f22, $f0 -/* D230 80031E30 4600C621 */ cvt.d.s $f24, $f24 -/* D234 80031E34 4638B582 */ mul.d $f22, $f22, $f24 -/* D238 80031E38 00000000 */ nop -/* D23C 80031E3C 4620B5A0 */ cvt.s.d $f22, $f22 -/* D240 80031E40 461AB680 */ add.s $f26, $f22, $f26 -/* D244 80031E44 461AA501 */ sub.s $f20, $f20, $f26 -/* D248 80031E48 3C01800A */ lui $at, %hi(D_80098270) -/* D24C 80031E4C D4208270 */ ldc1 $f0, %lo(D_80098270)($at) -/* D250 80031E50 4600A521 */ cvt.d.s $f20, $f20 -/* D254 80031E54 4620A502 */ mul.d $f20, $f20, $f0 -/* D258 80031E58 00000000 */ nop -/* D25C 80031E5C 4620A5A0 */ cvt.s.d $f22, $f20 -/* D260 80031E60 E6360484 */ swc1 $f22, 0x484($s1) -.L80031E64: -/* D264 80031E64 C6200484 */ lwc1 $f0, 0x484($s1) -/* D268 80031E68 3C013F80 */ lui $at, 0x3f80 -/* D26C 80031E6C 44814000 */ mtc1 $at, $f8 -/* D270 80031E70 00000000 */ nop -/* D274 80031E74 4600403E */ c.le.s $f8, $f0 -/* D278 80031E78 00000000 */ nop -/* D27C 80031E7C 45000003 */ bc1f .L80031E8C -/* D280 80031E80 00000000 */ nop -/* D284 80031E84 E6280484 */ swc1 $f8, 0x484($s1) -/* D288 80031E88 AE200488 */ sw $zero, 0x488($s1) -.L80031E8C: -/* D28C 80031E8C C6260484 */ lwc1 $f6, 0x484($s1) -/* D290 80031E90 C6200468 */ lwc1 $f0, 0x468($s1) -/* D294 80031E94 46060002 */ mul.s $f0, $f0, $f6 -/* D298 80031E98 00000000 */ nop -/* D29C 80031E9C 46064201 */ sub.s $f8, $f8, $f6 -/* D2A0 80031EA0 C622044C */ lwc1 $f2, 0x44c($s1) -/* D2A4 80031EA4 C7B00038 */ lwc1 $f16, 0x38($sp) -/* D2A8 80031EA8 46081082 */ mul.s $f2, $f2, $f8 -/* D2AC 80031EAC 00000000 */ nop -/* D2B0 80031EB0 E63004A4 */ swc1 $f16, 0x4a4($s1) -/* D2B4 80031EB4 E63E04A8 */ swc1 $f30, 0x4a8($s1) -/* D2B8 80031EB8 C7B0003C */ lwc1 $f16, 0x3c($sp) -/* D2BC 80031EBC 46001080 */ add.s $f2, $f2, $f0 -/* D2C0 80031EC0 3C12800A */ lui $s2, %hi(blendedCamSettings) -/* D2C4 80031EC4 265208C0 */ addiu $s2, $s2, %lo(blendedCamSettings) -/* D2C8 80031EC8 E63004AC */ swc1 $f16, 0x4ac($s1) -/* D2CC 80031ECC E6420000 */ swc1 $f2, ($s2) -/* D2D0 80031ED0 C6240450 */ lwc1 $f4, 0x450($s1) -/* D2D4 80031ED4 46082102 */ mul.s $f4, $f4, $f8 -/* D2D8 80031ED8 00000000 */ nop -/* D2DC 80031EDC C620046C */ lwc1 $f0, 0x46c($s1) -/* D2E0 80031EE0 46060002 */ mul.s $f0, $f0, $f6 -/* D2E4 80031EE4 00000000 */ nop -/* D2E8 80031EE8 46002100 */ add.s $f4, $f4, $f0 -/* D2EC 80031EEC E6440004 */ swc1 $f4, 4($s2) -/* D2F0 80031EF0 C6220454 */ lwc1 $f2, 0x454($s1) -/* D2F4 80031EF4 46081082 */ mul.s $f2, $f2, $f8 -/* D2F8 80031EF8 00000000 */ nop -/* D2FC 80031EFC C6200470 */ lwc1 $f0, 0x470($s1) -/* D300 80031F00 46060002 */ mul.s $f0, $f0, $f6 -/* D304 80031F04 00000000 */ nop -/* D308 80031F08 46001080 */ add.s $f2, $f2, $f0 -/* D30C 80031F0C E6420008 */ swc1 $f2, 8($s2) -/* D310 80031F10 C6220458 */ lwc1 $f2, 0x458($s1) -/* D314 80031F14 46081082 */ mul.s $f2, $f2, $f8 -/* D318 80031F18 00000000 */ nop -/* D31C 80031F1C C6200474 */ lwc1 $f0, 0x474($s1) -/* D320 80031F20 46060002 */ mul.s $f0, $f0, $f6 -/* D324 80031F24 00000000 */ nop -/* D328 80031F28 46001080 */ add.s $f2, $f2, $f0 -/* D32C 80031F2C E642000C */ swc1 $f2, 0xc($s2) -/* D330 80031F30 C622045C */ lwc1 $f2, 0x45c($s1) -/* D334 80031F34 46081082 */ mul.s $f2, $f2, $f8 -/* D338 80031F38 00000000 */ nop -/* D33C 80031F3C C6200478 */ lwc1 $f0, 0x478($s1) -/* D340 80031F40 46060002 */ mul.s $f0, $f0, $f6 -/* D344 80031F44 00000000 */ nop -/* D348 80031F48 46001080 */ add.s $f2, $f2, $f0 -/* D34C 80031F4C E6420010 */ swc1 $f2, 0x10($s2) -/* D350 80031F50 C6220460 */ lwc1 $f2, 0x460($s1) -/* D354 80031F54 46081082 */ mul.s $f2, $f2, $f8 -/* D358 80031F58 00000000 */ nop -/* D35C 80031F5C C620047C */ lwc1 $f0, 0x47c($s1) -/* D360 80031F60 46060002 */ mul.s $f0, $f0, $f6 -/* D364 80031F64 00000000 */ nop -/* D368 80031F68 46001080 */ add.s $f2, $f2, $f0 -/* D36C 80031F6C E6420014 */ swc1 $f2, 0x14($s2) -/* D370 80031F70 C6220464 */ lwc1 $f2, 0x464($s1) -/* D374 80031F74 46081082 */ mul.s $f2, $f2, $f8 -/* D378 80031F78 00000000 */ nop -/* D37C 80031F7C C6200480 */ lwc1 $f0, 0x480($s1) -/* D380 80031F80 46060002 */ mul.s $f0, $f0, $f6 -/* D384 80031F84 00000000 */ nop -/* D388 80031F88 46001080 */ add.s $f2, $f2, $f0 -/* D38C 80031F8C E6420018 */ swc1 $f2, 0x18($s2) -/* D390 80031F90 8622002A */ lh $v0, 0x2a($s1) -/* D394 80031F94 44820000 */ mtc1 $v0, $f0 -/* D398 80031F98 00000000 */ nop -/* D39C 80031F9C 46800020 */ cvt.s.w $f0, $f0 -/* D3A0 80031FA0 46002102 */ mul.s $f4, $f4, $f0 -/* D3A4 80031FA4 00000000 */ nop -/* D3A8 80031FA8 3C01800A */ lui $at, %hi(D_80098278) -/* D3AC 80031FAC D4208278 */ ldc1 $f0, %lo(D_80098278)($at) -/* D3B0 80031FB0 46002121 */ cvt.d.s $f4, $f4 -/* D3B4 80031FB4 46202102 */ mul.d $f4, $f4, $f0 -/* D3B8 80031FB8 00000000 */ nop -/* D3BC 80031FBC 0220202D */ daddu $a0, $s1, $zero -/* D3C0 80031FC0 46202120 */ cvt.s.d $f4, $f4 -/* D3C4 80031FC4 0C00C114 */ jal func_80030450 -/* D3C8 80031FC8 E6440004 */ swc1 $f4, 4($s2) -/* D3CC 80031FCC C6540000 */ lwc1 $f20, ($s2) -/* D3D0 80031FD0 3C01800A */ lui $at, %hi(D_800A08E0) -/* D3D4 80031FD4 C42008E0 */ lwc1 $f0, %lo(D_800A08E0)($at) -/* D3D8 80031FD8 4600A500 */ add.s $f20, $f20, $f0 -/* D3DC 80031FDC 0C00A8BB */ jal sin_deg -/* D3E0 80031FE0 4600A306 */ mov.s $f12, $f20 -/* D3E4 80031FE4 4600A306 */ mov.s $f12, $f20 -/* D3E8 80031FE8 0C00A8D4 */ jal cos_deg -/* D3EC 80031FEC 46000686 */ mov.s $f26, $f0 -/* D3F0 80031FF0 3C10800A */ lui $s0, %hi(D_800A08DC) -/* D3F4 80031FF4 261008DC */ addiu $s0, $s0, %lo(D_800A08DC) -/* D3F8 80031FF8 C6420008 */ lwc1 $f2, 8($s2) -/* D3FC 80031FFC C60C0000 */ lwc1 $f12, ($s0) -/* D400 80032000 460C1300 */ add.s $f12, $f2, $f12 -/* D404 80032004 0C00A8D4 */ jal cos_deg -/* D408 80032008 46000607 */ neg.s $f24, $f0 -/* D40C 8003200C C6420008 */ lwc1 $f2, 8($s2) -/* D410 80032010 C60C0000 */ lwc1 $f12, ($s0) -/* D414 80032014 460C1300 */ add.s $f12, $f2, $f12 -/* D418 80032018 0C00A8BB */ jal sin_deg -/* D41C 8003201C 46000586 */ mov.s $f22, $f0 -/* D420 80032020 96220002 */ lhu $v0, 2($s1) -/* D424 80032024 30420002 */ andi $v0, $v0, 2 -/* D428 80032028 14400007 */ bnez $v0, .L80032048 -/* D42C 8003202C 46000506 */ mov.s $f20, $f0 -/* D430 80032030 C6420004 */ lwc1 $f2, 4($s2) -/* D434 80032034 46141082 */ mul.s $f2, $f2, $f20 -/* D438 80032038 00000000 */ nop -/* D43C 8003203C C6400014 */ lwc1 $f0, 0x14($s2) -/* D440 80032040 46020000 */ add.s $f0, $f0, $f2 -/* D444 80032044 E6200040 */ swc1 $f0, 0x40($s1) -.L80032048: -/* D448 80032048 C6420004 */ lwc1 $f2, 4($s2) -/* D44C 8003204C 4602D082 */ mul.s $f2, $f26, $f2 -/* D450 80032050 00000000 */ nop -/* D454 80032054 46161082 */ mul.s $f2, $f2, $f22 -/* D458 80032058 00000000 */ nop -/* D45C 8003205C C6400010 */ lwc1 $f0, 0x10($s2) -/* D460 80032060 46020001 */ sub.s $f0, $f0, $f2 -/* D464 80032064 E620003C */ swc1 $f0, 0x3c($s1) -/* D468 80032068 C6420004 */ lwc1 $f2, 4($s2) -/* D46C 8003206C 4602C082 */ mul.s $f2, $f24, $f2 -/* D470 80032070 00000000 */ nop -/* D474 80032074 46161082 */ mul.s $f2, $f2, $f22 -/* D478 80032078 00000000 */ nop -/* D47C 8003207C C6400018 */ lwc1 $f0, 0x18($s2) -/* D480 80032080 46020001 */ sub.s $f0, $f0, $f2 -/* D484 80032084 E6200044 */ swc1 $f0, 0x44($s1) -/* D488 80032088 C64C000C */ lwc1 $f12, 0xc($s2) -/* D48C 8003208C 0C00A8D4 */ jal cos_deg -/* D490 80032090 46006307 */ neg.s $f12, $f12 -/* D494 80032094 C64C000C */ lwc1 $f12, 0xc($s2) -/* D498 80032098 46000586 */ mov.s $f22, $f0 -/* D49C 8003209C 0C00A8BB */ jal sin_deg -/* D4A0 800320A0 46006307 */ neg.s $f12, $f12 -/* D4A4 800320A4 C624003C */ lwc1 $f4, 0x3c($s1) -/* D4A8 800320A8 C6420010 */ lwc1 $f2, 0x10($s2) -/* D4AC 800320AC 46022032 */ c.eq.s $f4, $f2 -/* D4B0 800320B0 00000000 */ nop -/* D4B4 800320B4 4500000A */ bc1f .L800320E0 -/* D4B8 800320B8 46000506 */ mov.s $f20, $f0 -/* D4BC 800320BC C6220044 */ lwc1 $f2, 0x44($s1) -/* D4C0 800320C0 C6400018 */ lwc1 $f0, 0x18($s2) -/* D4C4 800320C4 46001032 */ c.eq.s $f2, $f0 -/* D4C8 800320C8 00000000 */ nop -/* D4CC 800320CC 45000004 */ bc1f .L800320E0 -/* D4D0 800320D0 00000000 */ nop -/* D4D4 800320D4 44802000 */ mtc1 $zero, $f4 -/* D4D8 800320D8 0800C840 */ j .L80032100 -/* D4DC 800320DC 00000000 */ nop -.L800320E0: -/* D4E0 800320E0 3C02800A */ lui $v0, %hi(blendedCamSettings) -/* D4E4 800320E4 244208C0 */ addiu $v0, $v0, %lo(blendedCamSettings) -/* D4E8 800320E8 C62C003C */ lwc1 $f12, 0x3c($s1) -/* D4EC 800320EC C62E0044 */ lwc1 $f14, 0x44($s1) -/* D4F0 800320F0 8C460010 */ lw $a2, 0x10($v0) -/* D4F4 800320F4 0C00A7B5 */ jal dist2D -/* D4F8 800320F8 8C470018 */ lw $a3, 0x18($v0) -/* D4FC 800320FC 46000106 */ mov.s $f4, $f0 -.L80032100: -/* D500 80032100 3C03800A */ lui $v1, %hi(blendedCamSettings) -/* D504 80032104 246308C0 */ addiu $v1, $v1, %lo(blendedCamSettings) -/* D508 80032108 C4600014 */ lwc1 $f0, 0x14($v1) -/* D50C 8003210C 96220002 */ lhu $v0, 2($s1) -/* D510 80032110 C6260040 */ lwc1 $f6, 0x40($s1) -/* D514 80032114 30420002 */ andi $v0, $v0, 2 -/* D518 80032118 14400008 */ bnez $v0, .L8003213C -/* D51C 8003211C 46060201 */ sub.s $f8, $f0, $f6 -/* D520 80032120 46142002 */ mul.s $f0, $f4, $f20 -/* D524 80032124 00000000 */ nop -/* D528 80032128 46164082 */ mul.s $f2, $f8, $f22 -/* D52C 8003212C 00000000 */ nop -/* D530 80032130 46020000 */ add.s $f0, $f0, $f2 -/* D534 80032134 46003000 */ add.s $f0, $f6, $f0 -/* D538 80032138 E620004C */ swc1 $f0, 0x4c($s1) -.L8003213C: -/* D53C 8003213C 46162102 */ mul.s $f4, $f4, $f22 -/* D540 80032140 00000000 */ nop -/* D544 80032144 46144002 */ mul.s $f0, $f8, $f20 -/* D548 80032148 00000000 */ nop -/* D54C 8003214C 46002101 */ sub.s $f4, $f4, $f0 -/* D550 80032150 4604D002 */ mul.s $f0, $f26, $f4 -/* D554 80032154 00000000 */ nop -/* D558 80032158 4604C102 */ mul.s $f4, $f24, $f4 -/* D55C 8003215C 00000000 */ nop -/* D560 80032160 C622003C */ lwc1 $f2, 0x3c($s1) -/* D564 80032164 46001080 */ add.s $f2, $f2, $f0 -/* D568 80032168 C6200044 */ lwc1 $f0, 0x44($s1) -/* D56C 8003216C 46040000 */ add.s $f0, $f0, $f4 -/* D570 80032170 E6220048 */ swc1 $f2, 0x48($s1) -/* D574 80032174 3C01800A */ lui $at, %hi(D_800A08E0) -/* D578 80032178 C42208E0 */ lwc1 $f2, %lo(D_800A08E0)($at) -/* D57C 8003217C E6200050 */ swc1 $f0, 0x50($s1) -/* D580 80032180 C4600000 */ lwc1 $f0, ($v1) -/* D584 80032184 46020000 */ add.s $f0, $f0, $f2 -/* D588 80032188 C6240048 */ lwc1 $f4, 0x48($s1) -/* D58C 8003218C E620006C */ swc1 $f0, 0x6c($s1) -/* D590 80032190 E6200084 */ swc1 $f0, 0x84($s1) -/* D594 80032194 C4600004 */ lwc1 $f0, 4($v1) -/* D598 80032198 E6200078 */ swc1 $f0, 0x78($s1) -/* D59C 8003219C C4600000 */ lwc1 $f0, ($v1) -/* D5A0 800321A0 C622004C */ lwc1 $f2, 0x4c($s1) -/* D5A4 800321A4 46000007 */ neg.s $f0, $f0 -/* D5A8 800321A8 E6200090 */ swc1 $f0, 0x90($s1) -/* D5AC 800321AC C4600008 */ lwc1 $f0, 8($v1) -/* D5B0 800321B0 C466000C */ lwc1 $f6, 0xc($v1) -/* D5B4 800321B4 E6220058 */ swc1 $f2, 0x58($s1) -/* D5B8 800321B8 C6220050 */ lwc1 $f2, 0x50($s1) -/* D5BC 800321BC E6240054 */ swc1 $f4, 0x54($s1) -/* D5C0 800321C0 46000007 */ neg.s $f0, $f0 -/* D5C4 800321C4 46060001 */ sub.s $f0, $f0, $f6 -/* D5C8 800321C8 AE20007C */ sw $zero, 0x7c($s1) -/* D5CC 800321CC E622005C */ swc1 $f2, 0x5c($s1) -/* D5D0 800321D0 E6200094 */ swc1 $f0, 0x94($s1) -/* D5D4 800321D4 8FBF004C */ lw $ra, 0x4c($sp) -/* D5D8 800321D8 8FB20048 */ lw $s2, 0x48($sp) -/* D5DC 800321DC 8FB10044 */ lw $s1, 0x44($sp) -/* D5E0 800321E0 8FB00040 */ lw $s0, 0x40($sp) -/* D5E4 800321E4 D7BE0078 */ ldc1 $f30, 0x78($sp) -/* D5E8 800321E8 D7BC0070 */ ldc1 $f28, 0x70($sp) -/* D5EC 800321EC D7BA0068 */ ldc1 $f26, 0x68($sp) -/* D5F0 800321F0 D7B80060 */ ldc1 $f24, 0x60($sp) -/* D5F4 800321F4 D7B60058 */ ldc1 $f22, 0x58($sp) -/* D5F8 800321F8 D7B40050 */ ldc1 $f20, 0x50($sp) -/* D5FC 800321FC 03E00008 */ jr $ra -/* D600 80032200 27BD0080 */ addiu $sp, $sp, 0x80 -/* D604 80032204 00000000 */ nop -/* D608 80032208 00000000 */ nop -/* D60C 8003220C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/camera/func_800328A4.s b/ver/us/asm/nonmatchings/camera/func_800328A4.s deleted file mode 100644 index 94714293c6..0000000000 --- a/ver/us/asm/nonmatchings/camera/func_800328A4.s +++ /dev/null @@ -1,59 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800328A4 -/* DCA4 800328A4 44857000 */ mtc1 $a1, $f14 -/* DCA8 800328A8 44868000 */ mtc1 $a2, $f16 -/* DCAC 800328AC 14800003 */ bnez $a0, .L800328BC -/* DCB0 800328B0 24020006 */ addiu $v0, $zero, 6 -.L800328B4: -/* DCB4 800328B4 03E00008 */ jr $ra -/* DCB8 800328B8 0000102D */ daddu $v0, $zero, $zero -.L800328BC: -/* DCBC 800328BC 8C830000 */ lw $v1, ($a0) -/* DCC0 800328C0 1462FFFC */ bne $v1, $v0, .L800328B4 -/* DCC4 800328C4 00000000 */ nop -/* DCC8 800328C8 C482000C */ lwc1 $f2, 0xc($a0) -/* DCCC 800328CC 46027301 */ sub.s $f12, $f14, $f2 -/* DCD0 800328D0 C4880018 */ lwc1 $f8, 0x18($a0) -/* DCD4 800328D4 46024081 */ sub.s $f2, $f8, $f2 -/* DCD8 800328D8 460C1282 */ mul.s $f10, $f2, $f12 -/* DCDC 800328DC 00000000 */ nop -/* DCE0 800328E0 C4800014 */ lwc1 $f0, 0x14($a0) -/* DCE4 800328E4 46008301 */ sub.s $f12, $f16, $f0 -/* DCE8 800328E8 C4840020 */ lwc1 $f4, 0x20($a0) -/* DCEC 800328EC 46002001 */ sub.s $f0, $f4, $f0 -/* DCF0 800328F0 460C0182 */ mul.s $f6, $f0, $f12 -/* DCF4 800328F4 00000000 */ nop -/* DCF8 800328F8 46087301 */ sub.s $f12, $f14, $f8 -/* DCFC 800328FC 460C1082 */ mul.s $f2, $f2, $f12 -/* DD00 80032900 00000000 */ nop -/* DD04 80032904 46048301 */ sub.s $f12, $f16, $f4 -/* DD08 80032908 460C0002 */ mul.s $f0, $f0, $f12 -/* DD0C 8003290C 00000000 */ nop -/* DD10 80032910 46065280 */ add.s $f10, $f10, $f6 -/* DD14 80032914 44802000 */ mtc1 $zero, $f4 -/* DD18 80032918 00000000 */ nop -/* DD1C 8003291C 4604503C */ c.lt.s $f10, $f4 -/* DD20 80032920 00000000 */ nop -/* DD24 80032924 45000005 */ bc1f .L8003293C -/* DD28 80032928 46001080 */ add.s $f2, $f2, $f0 -/* DD2C 8003292C 4604103C */ c.lt.s $f2, $f4 -/* DD30 80032930 00000000 */ nop -/* DD34 80032934 4501000C */ bc1t .L80032968 -/* DD38 80032938 2402FFFF */ addiu $v0, $zero, -1 -.L8003293C: -/* DD3C 8003293C 44800000 */ mtc1 $zero, $f0 -/* DD40 80032940 00000000 */ nop -/* DD44 80032944 460A003C */ c.lt.s $f0, $f10 -/* DD48 80032948 00000000 */ nop -/* DD4C 8003294C 45000006 */ bc1f .L80032968 -/* DD50 80032950 0000102D */ daddu $v0, $zero, $zero -/* DD54 80032954 4602003C */ c.lt.s $f0, $f2 -/* DD58 80032958 00000000 */ nop -/* DD5C 8003295C 45010002 */ bc1t .L80032968 -/* DD60 80032960 24020001 */ addiu $v0, $zero, 1 -/* DD64 80032964 0000102D */ daddu $v0, $zero, $zero -.L80032968: -/* DD68 80032968 03E00008 */ jr $ra -/* DD6C 8003296C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/camera/func_80032970.s b/ver/us/asm/nonmatchings/camera/func_80032970.s deleted file mode 100644 index 9736a50c91..0000000000 --- a/ver/us/asm/nonmatchings/camera/func_80032970.s +++ /dev/null @@ -1,227 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_80098280 -.double 0.1 - -dlabel D_80098288 -.double -0.1 - -.section .text - -glabel func_80032970 -/* DD70 80032970 44853000 */ mtc1 $a1, $f6 -/* DD74 80032974 94820000 */ lhu $v0, ($a0) -/* DD78 80032978 8C830448 */ lw $v1, 0x448($a0) -/* DD7C 8003297C 30421000 */ andi $v0, $v0, 0x1000 -/* DD80 80032980 10600005 */ beqz $v1, .L80032998 -/* DD84 80032984 0002302B */ sltu $a2, $zero, $v0 -/* DD88 80032988 8C630000 */ lw $v1, ($v1) -/* DD8C 8003298C 24020004 */ addiu $v0, $zero, 4 -/* DD90 80032990 50620001 */ beql $v1, $v0, .L80032998 -/* DD94 80032994 24060001 */ addiu $a2, $zero, 1 -.L80032998: -/* DD98 80032998 10C00008 */ beqz $a2, .L800329BC -/* DD9C 8003299C 24020001 */ addiu $v0, $zero, 1 -/* DDA0 800329A0 44804000 */ mtc1 $zero, $f8 -/* DDA4 800329A4 3C013F80 */ lui $at, 0x3f80 -/* DDA8 800329A8 44810000 */ mtc1 $at, $f0 -/* DDAC 800329AC AC82051C */ sw $v0, 0x51c($a0) -/* DDB0 800329B0 E4800514 */ swc1 $f0, 0x514($a0) -/* DDB4 800329B4 0800CA8D */ j .L80032A34 -/* DDB8 800329B8 E4880510 */ swc1 $f8, 0x510($a0) -.L800329BC: -/* DDBC 800329BC 3C05800F */ lui $a1, %hi(gPlayerStatusPtr) -/* DDC0 800329C0 8CA57B30 */ lw $a1, %lo(gPlayerStatusPtr)($a1) -/* DDC4 800329C4 8CA20004 */ lw $v0, 4($a1) -/* DDC8 800329C8 3C030040 */ lui $v1, 0x40 -/* DDCC 800329CC 00431024 */ and $v0, $v0, $v1 -/* DDD0 800329D0 10400007 */ beqz $v0, .L800329F0 -/* DDD4 800329D4 00000000 */ nop -/* DDD8 800329D8 3C028011 */ lui $v0, %hi(gPartnerActionStatus+0x4) -/* DDDC 800329DC 8442EBB4 */ lh $v0, %lo(gPartnerActionStatus+0x4)($v0) -/* DDE0 800329E0 44824000 */ mtc1 $v0, $f8 -/* DDE4 800329E4 00000000 */ nop -/* DDE8 800329E8 0800CA7E */ j .L800329F8 -/* DDEC 800329EC 46804220 */ cvt.s.w $f8, $f8 -.L800329F0: -/* DDF0 800329F0 C4A800E8 */ lwc1 $f8, 0xe8($a1) -/* DDF4 800329F4 46804220 */ cvt.s.w $f8, $f8 -.L800329F8: -/* DDF8 800329F8 44800000 */ mtc1 $zero, $f0 -/* DDFC 800329FC 00000000 */ nop -/* DE00 80032A00 4608003C */ c.lt.s $f0, $f8 -/* DE04 80032A04 00000000 */ nop -/* DE08 80032A08 45000004 */ bc1f .L80032A1C -/* DE0C 80032A0C 00000000 */ nop -/* DE10 80032A10 3C014248 */ lui $at, 0x4248 -/* DE14 80032A14 44814000 */ mtc1 $at, $f8 -/* DE18 80032A18 00000000 */ nop -.L80032A1C: -/* DE1C 80032A1C 4600403C */ c.lt.s $f8, $f0 -/* DE20 80032A20 00000000 */ nop -/* DE24 80032A24 45000003 */ bc1f .L80032A34 -/* DE28 80032A28 00000000 */ nop -/* DE2C 80032A2C 3C01C248 */ lui $at, 0xc248 -/* DE30 80032A30 44814000 */ mtc1 $at, $f8 -.L80032A34: -/* DE34 80032A34 44801000 */ mtc1 $zero, $f2 -/* DE38 80032A38 00000000 */ nop -/* DE3C 80032A3C 46024032 */ c.eq.s $f8, $f2 -/* DE40 80032A40 00000000 */ nop -/* DE44 80032A44 4501003A */ bc1t .L80032B30 -/* DE48 80032A48 00000000 */ nop -/* DE4C 80032A4C 4602403C */ c.lt.s $f8, $f2 -/* DE50 80032A50 00000000 */ nop -/* DE54 80032A54 4500001C */ bc1f .L80032AC8 -/* DE58 80032A58 00000000 */ nop -/* DE5C 80032A5C C4800518 */ lwc1 $f0, 0x518($a0) -/* DE60 80032A60 4600103C */ c.lt.s $f2, $f0 -/* DE64 80032A64 00000000 */ nop -/* DE68 80032A68 45020003 */ bc1fl .L80032A78 -/* DE6C 80032A6C 46080000 */ add.s $f0, $f0, $f8 -/* DE70 80032A70 0800CA9F */ j .L80032A7C -/* DE74 80032A74 E4880518 */ swc1 $f8, 0x518($a0) -.L80032A78: -/* DE78 80032A78 E4800518 */ swc1 $f0, 0x518($a0) -.L80032A7C: -/* DE7C 80032A7C C4800518 */ lwc1 $f0, 0x518($a0) -/* DE80 80032A80 3C01C396 */ lui $at, 0xc396 -/* DE84 80032A84 44812000 */ mtc1 $at, $f4 -/* DE88 80032A88 00000000 */ nop -/* DE8C 80032A8C 4604003E */ c.le.s $f0, $f4 -/* DE90 80032A90 00000000 */ nop -/* DE94 80032A94 45000026 */ bc1f .L80032B30 -/* DE98 80032A98 24020001 */ addiu $v0, $zero, 1 -/* DE9C 80032A9C C4800510 */ lwc1 $f0, 0x510($a0) -/* DEA0 80032AA0 44801000 */ mtc1 $zero, $f2 -/* DEA4 80032AA4 00000000 */ nop -/* DEA8 80032AA8 4600103C */ c.lt.s $f2, $f0 -/* DEAC 80032AAC 00000000 */ nop -/* DEB0 80032AB0 45000002 */ bc1f .L80032ABC -/* DEB4 80032AB4 AC82051C */ sw $v0, 0x51c($a0) -/* DEB8 80032AB8 E4820514 */ swc1 $f2, 0x514($a0) -.L80032ABC: -/* DEBC 80032ABC 46003007 */ neg.s $f0, $f6 -/* DEC0 80032AC0 0800CACB */ j .L80032B2C -/* DEC4 80032AC4 E4800510 */ swc1 $f0, 0x510($a0) -.L80032AC8: -/* DEC8 80032AC8 C4800518 */ lwc1 $f0, 0x518($a0) -/* DECC 80032ACC 4602003C */ c.lt.s $f0, $f2 -/* DED0 80032AD0 00000000 */ nop -/* DED4 80032AD4 45020003 */ bc1fl .L80032AE4 -/* DED8 80032AD8 46080000 */ add.s $f0, $f0, $f8 -/* DEDC 80032ADC 0800CABA */ j .L80032AE8 -/* DEE0 80032AE0 E4880518 */ swc1 $f8, 0x518($a0) -.L80032AE4: -/* DEE4 80032AE4 E4800518 */ swc1 $f0, 0x518($a0) -.L80032AE8: -/* DEE8 80032AE8 C4800518 */ lwc1 $f0, 0x518($a0) -/* DEEC 80032AEC 3C014396 */ lui $at, 0x4396 -/* DEF0 80032AF0 44812000 */ mtc1 $at, $f4 -/* DEF4 80032AF4 00000000 */ nop -/* DEF8 80032AF8 4600203E */ c.le.s $f4, $f0 -/* DEFC 80032AFC 00000000 */ nop -/* DF00 80032B00 4500000B */ bc1f .L80032B30 -/* DF04 80032B04 24020001 */ addiu $v0, $zero, 1 -/* DF08 80032B08 C4800510 */ lwc1 $f0, 0x510($a0) -/* DF0C 80032B0C 44801000 */ mtc1 $zero, $f2 -/* DF10 80032B10 00000000 */ nop -/* DF14 80032B14 4602003C */ c.lt.s $f0, $f2 -/* DF18 80032B18 00000000 */ nop -/* DF1C 80032B1C 45000002 */ bc1f .L80032B28 -/* DF20 80032B20 AC82051C */ sw $v0, 0x51c($a0) -/* DF24 80032B24 E4820514 */ swc1 $f2, 0x514($a0) -.L80032B28: -/* DF28 80032B28 E4860510 */ swc1 $f6, 0x510($a0) -.L80032B2C: -/* DF2C 80032B2C E4840518 */ swc1 $f4, 0x518($a0) -.L80032B30: -/* DF30 80032B30 8C82051C */ lw $v0, 0x51c($a0) -/* DF34 80032B34 1040000F */ beqz $v0, .L80032B74 -/* DF38 80032B38 00000000 */ nop -/* DF3C 80032B3C C4800514 */ lwc1 $f0, 0x514($a0) -/* DF40 80032B40 3C013C23 */ lui $at, 0x3c23 -/* DF44 80032B44 3421D70A */ ori $at, $at, 0xd70a -/* DF48 80032B48 44811000 */ mtc1 $at, $f2 -/* DF4C 80032B4C 00000000 */ nop -/* DF50 80032B50 46020000 */ add.s $f0, $f0, $f2 -/* DF54 80032B54 3C013F80 */ lui $at, 0x3f80 -/* DF58 80032B58 44811000 */ mtc1 $at, $f2 -/* DF5C 80032B5C 00000000 */ nop -/* DF60 80032B60 4600103C */ c.lt.s $f2, $f0 -/* DF64 80032B64 00000000 */ nop -/* DF68 80032B68 45000002 */ bc1f .L80032B74 -/* DF6C 80032B6C E4800514 */ swc1 $f0, 0x514($a0) -/* DF70 80032B70 E4820514 */ swc1 $f2, 0x514($a0) -.L80032B74: -/* DF74 80032B74 C4800510 */ lwc1 $f0, 0x510($a0) -/* DF78 80032B78 C482050C */ lwc1 $f2, 0x50c($a0) -/* DF7C 80032B7C 46020001 */ sub.s $f0, $f0, $f2 -/* DF80 80032B80 44805000 */ mtc1 $zero, $f10 -/* DF84 80032B84 00000000 */ nop -/* DF88 80032B88 460A0032 */ c.eq.s $f0, $f10 -/* DF8C 80032B8C 00000000 */ nop -/* DF90 80032B90 45000003 */ bc1f .L80032BA0 -/* DF94 80032B94 00000000 */ nop -/* DF98 80032B98 E48A0514 */ swc1 $f10, 0x514($a0) -/* DF9C 80032B9C AC80051C */ sw $zero, 0x51c($a0) -.L80032BA0: -/* DFA0 80032BA0 C4800510 */ lwc1 $f0, 0x510($a0) -/* DFA4 80032BA4 C482050C */ lwc1 $f2, 0x50c($a0) -/* DFA8 80032BA8 46020101 */ sub.s $f4, $f0, $f2 -/* DFAC 80032BAC C4800514 */ lwc1 $f0, 0x514($a0) -/* DFB0 80032BB0 46002182 */ mul.s $f6, $f4, $f0 -/* DFB4 80032BB4 00000000 */ nop -/* DFB8 80032BB8 4604503C */ c.lt.s $f10, $f4 -/* DFBC 80032BBC 00000000 */ nop -/* DFC0 80032BC0 4500000D */ bc1f .L80032BF8 -/* DFC4 80032BC4 46002021 */ cvt.d.s $f0, $f4 -/* DFC8 80032BC8 3C01800A */ lui $at, %hi(D_80098280) -/* DFCC 80032BCC D4228280 */ ldc1 $f2, %lo(D_80098280)($at) -/* DFD0 80032BD0 4622003C */ c.lt.d $f0, $f2 -/* DFD4 80032BD4 00000000 */ nop -/* DFD8 80032BD8 45030001 */ bc1tl .L80032BE0 -/* DFDC 80032BDC 46002186 */ mov.s $f6, $f4 -.L80032BE0: -/* DFE0 80032BE0 3C014040 */ lui $at, 0x4040 -/* DFE4 80032BE4 44810000 */ mtc1 $at, $f0 -/* DFE8 80032BE8 00000000 */ nop -/* DFEC 80032BEC 4606003C */ c.lt.s $f0, $f6 -/* DFF0 80032BF0 0800CB09 */ j .L80032C24 -/* DFF4 80032BF4 00000000 */ nop -.L80032BF8: -/* DFF8 80032BF8 3C01800A */ lui $at, %hi(D_80098288) -/* DFFC 80032BFC D4228288 */ ldc1 $f2, %lo(D_80098288)($at) -/* E000 80032C00 4620103C */ c.lt.d $f2, $f0 -/* E004 80032C04 00000000 */ nop -/* E008 80032C08 45030001 */ bc1tl .L80032C10 -/* E00C 80032C0C 46002186 */ mov.s $f6, $f4 -.L80032C10: -/* E010 80032C10 3C01C040 */ lui $at, 0xc040 -/* E014 80032C14 44810000 */ mtc1 $at, $f0 -/* E018 80032C18 00000000 */ nop -/* E01C 80032C1C 4600303C */ c.lt.s $f6, $f0 -/* E020 80032C20 00000000 */ nop -.L80032C24: -/* E024 80032C24 45030001 */ bc1tl .L80032C2C -/* E028 80032C28 46000186 */ mov.s $f6, $f0 -.L80032C2C: -/* E02C 80032C2C 44800000 */ mtc1 $zero, $f0 -/* E030 80032C30 00000000 */ nop -/* E034 80032C34 46004032 */ c.eq.s $f8, $f0 -/* E038 80032C38 00000000 */ nop -/* E03C 80032C3C 45000003 */ bc1f .L80032C4C -/* E040 80032C40 00000000 */ nop -/* E044 80032C44 10C00005 */ beqz $a2, .L80032C5C -/* E048 80032C48 00000000 */ nop -.L80032C4C: -/* E04C 80032C4C C480050C */ lwc1 $f0, 0x50c($a0) -/* E050 80032C50 46060000 */ add.s $f0, $f0, $f6 -/* E054 80032C54 03E00008 */ jr $ra -/* E058 80032C58 E480050C */ swc1 $f0, 0x50c($a0) -.L80032C5C: -/* E05C 80032C5C 03E00008 */ jr $ra -/* E060 80032C60 E4800514 */ swc1 $f0, 0x514($a0) diff --git a/ver/us/asm/nonmatchings/camera/func_80032C64.s b/ver/us/asm/nonmatchings/camera/func_80032C64.s deleted file mode 100644 index f78fc49292..0000000000 --- a/ver/us/asm/nonmatchings/camera/func_80032C64.s +++ /dev/null @@ -1,488 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80032C64 -/* E064 80032C64 27BDFF68 */ addiu $sp, $sp, -0x98 -/* E068 80032C68 AFB10054 */ sw $s1, 0x54($sp) -/* E06C 80032C6C 0080882D */ daddu $s1, $a0, $zero -/* E070 80032C70 AFBF0068 */ sw $ra, 0x68($sp) -/* E074 80032C74 AFB50064 */ sw $s5, 0x64($sp) -/* E078 80032C78 AFB40060 */ sw $s4, 0x60($sp) -/* E07C 80032C7C AFB3005C */ sw $s3, 0x5c($sp) -/* E080 80032C80 AFB20058 */ sw $s2, 0x58($sp) -/* E084 80032C84 AFB00050 */ sw $s0, 0x50($sp) -/* E088 80032C88 F7BC0090 */ sdc1 $f28, 0x90($sp) -/* E08C 80032C8C F7BA0088 */ sdc1 $f26, 0x88($sp) -/* E090 80032C90 F7B80080 */ sdc1 $f24, 0x80($sp) -/* E094 80032C94 F7B60078 */ sdc1 $f22, 0x78($sp) -/* E098 80032C98 F7B40070 */ sdc1 $f20, 0x70($sp) -/* E09C 80032C9C C6200084 */ lwc1 $f0, 0x84($s1) -/* E0A0 80032CA0 3C014334 */ lui $at, 0x4334 -/* E0A4 80032CA4 44811000 */ mtc1 $at, $f2 -/* E0A8 80032CA8 3C014049 */ lui $at, 0x4049 -/* E0AC 80032CAC 34210FD8 */ ori $at, $at, 0xfd8 -/* E0B0 80032CB0 44812000 */ mtc1 $at, $f4 -/* E0B4 80032CB4 46020003 */ div.s $f0, $f0, $f2 -/* E0B8 80032CB8 46040502 */ mul.s $f20, $f0, $f4 -/* E0BC 80032CBC 00000000 */ nop -/* E0C0 80032CC0 0000902D */ daddu $s2, $zero, $zero -/* E0C4 80032CC4 C63A050C */ lwc1 $f26, 0x50c($s1) -/* E0C8 80032CC8 0C00A874 */ jal cos_rad -/* E0CC 80032CCC 4600A306 */ mov.s $f12, $f20 -/* E0D0 80032CD0 0C00A85B */ jal sin_rad -/* E0D4 80032CD4 4600A306 */ mov.s $f12, $f20 -/* E0D8 80032CD8 C6200064 */ lwc1 $f0, 0x64($s1) -/* E0DC 80032CDC 3C014120 */ lui $at, 0x4120 -/* E0E0 80032CE0 44817000 */ mtc1 $at, $f14 -/* E0E4 80032CE4 C62C0060 */ lwc1 $f12, 0x60($s1) -/* E0E8 80032CE8 460E0380 */ add.s $f14, $f0, $f14 -/* E0EC 80032CEC 8E260068 */ lw $a2, 0x68($s1) -/* E0F0 80032CF0 0C00C884 */ jal test_ray_zone -/* E0F4 80032CF4 0240382D */ daddu $a3, $s2, $zero -/* E0F8 80032CF8 0040802D */ daddu $s0, $v0, $zero -/* E0FC 80032CFC 120000A1 */ beqz $s0, .L80032F84 -/* E100 80032D00 0200982D */ daddu $s3, $s0, $zero -/* E104 80032D04 8E030000 */ lw $v1, ($s0) -/* E108 80032D08 24020002 */ addiu $v0, $zero, 2 -/* E10C 80032D0C 1062000A */ beq $v1, $v0, .L80032D38 -/* E110 80032D10 24020005 */ addiu $v0, $zero, 5 -/* E114 80032D14 10620008 */ beq $v1, $v0, .L80032D38 -/* E118 80032D18 00000000 */ nop -/* E11C 80032D1C 8E250060 */ lw $a1, 0x60($s1) -/* E120 80032D20 8E260068 */ lw $a2, 0x68($s1) -/* E124 80032D24 0C00CA29 */ jal func_800328A4 -/* E128 80032D28 0200202D */ daddu $a0, $s0, $zero -/* E12C 80032D2C 0040902D */ daddu $s2, $v0, $zero -/* E130 80032D30 12400094 */ beqz $s2, .L80032F84 -/* E134 80032D34 00000000 */ nop -.L80032D38: -/* E138 80032D38 8E220530 */ lw $v0, 0x530($s1) -/* E13C 80032D3C 10400049 */ beqz $v0, .L80032E64 -/* E140 80032D40 00000000 */ nop -/* E144 80032D44 263000D4 */ addiu $s0, $s1, 0xd4 -/* E148 80032D48 0200202D */ daddu $a0, $s0, $zero -/* E14C 80032D4C 8627000A */ lh $a3, 0xa($s1) -/* E150 80032D50 86220012 */ lh $v0, 0x12($s1) -/* E154 80032D54 8623000C */ lh $v1, 0xc($s1) -/* E158 80032D58 3C013F80 */ lui $at, 0x3f80 -/* E15C 80032D5C 4481A000 */ mtc1 $at, $f20 -/* E160 80032D60 44820000 */ mtc1 $v0, $f0 -/* E164 80032D64 00000000 */ nop -/* E168 80032D68 46800020 */ cvt.s.w $f0, $f0 -/* E16C 80032D6C E7A00010 */ swc1 $f0, 0x10($sp) -/* E170 80032D70 86220014 */ lh $v0, 0x14($s1) -/* E174 80032D74 44871000 */ mtc1 $a3, $f2 -/* E178 80032D78 00000000 */ nop -/* E17C 80032D7C 468010A0 */ cvt.s.w $f2, $f2 -/* E180 80032D80 E7B40018 */ swc1 $f20, 0x18($sp) -/* E184 80032D84 44820000 */ mtc1 $v0, $f0 -/* E188 80032D88 00000000 */ nop -/* E18C 80032D8C 46800020 */ cvt.s.w $f0, $f0 -/* E190 80032D90 E7A00014 */ swc1 $f0, 0x14($sp) -/* E194 80032D94 44830000 */ mtc1 $v1, $f0 -/* E198 80032D98 00000000 */ nop -/* E19C 80032D9C 46800020 */ cvt.s.w $f0, $f0 -/* E1A0 80032DA0 46001083 */ div.s $f2, $f2, $f0 -/* E1A4 80032DA4 8E260018 */ lw $a2, 0x18($s1) -/* E1A8 80032DA8 44071000 */ mfc1 $a3, $f2 -/* E1AC 80032DAC 0C018EE4 */ jal guPerspectiveF -/* E1B0 80032DB0 26250038 */ addiu $a1, $s1, 0x38 -/* E1B4 80032DB4 26240114 */ addiu $a0, $s1, 0x114 -/* E1B8 80032DB8 0200282D */ daddu $a1, $s0, $zero -/* E1BC 80032DBC 0C019D80 */ jal guMtxCatF -/* E1C0 80032DC0 0200302D */ daddu $a2, $s0, $zero -/* E1C4 80032DC4 27A20030 */ addiu $v0, $sp, 0x30 -/* E1C8 80032DC8 AFA20014 */ sw $v0, 0x14($sp) -/* E1CC 80032DCC 27A20034 */ addiu $v0, $sp, 0x34 -/* E1D0 80032DD0 AFA20018 */ sw $v0, 0x18($sp) -/* E1D4 80032DD4 27A20038 */ addiu $v0, $sp, 0x38 -/* E1D8 80032DD8 AFA2001C */ sw $v0, 0x1c($sp) -/* E1DC 80032DDC 27A2003C */ addiu $v0, $sp, 0x3c -/* E1E0 80032DE0 E7B40010 */ swc1 $f20, 0x10($sp) -/* E1E4 80032DE4 AFA20020 */ sw $v0, 0x20($sp) -/* E1E8 80032DE8 8E250060 */ lw $a1, 0x60($s1) -/* E1EC 80032DEC 8E260064 */ lw $a2, 0x64($s1) -/* E1F0 80032DF0 8E270068 */ lw $a3, 0x68($s1) -/* E1F4 80032DF4 0C00A588 */ jal transform_point -/* E1F8 80032DF8 0200202D */ daddu $a0, $s0, $zero -/* E1FC 80032DFC C7A0003C */ lwc1 $f0, 0x3c($sp) -/* E200 80032E00 44802000 */ mtc1 $zero, $f4 -/* E204 80032E04 00000000 */ nop -/* E208 80032E08 46040032 */ c.eq.s $f0, $f4 -/* E20C 80032E0C 00000000 */ nop -/* E210 80032E10 45030001 */ bc1tl .L80032E18 -/* E214 80032E14 E7B4003C */ swc1 $f20, 0x3c($sp) -.L80032E18: -/* E218 80032E18 C7A0003C */ lwc1 $f0, 0x3c($sp) -/* E21C 80032E1C C7A20030 */ lwc1 $f2, 0x30($sp) -/* E220 80032E20 4600A003 */ div.s $f0, $f20, $f0 -/* E224 80032E24 46001082 */ mul.s $f2, $f2, $f0 -/* E228 80032E28 00000000 */ nop -/* E22C 80032E2C 2623052C */ addiu $v1, $s1, 0x52c -/* E230 80032E30 E7A0003C */ swc1 $f0, 0x3c($sp) -/* E234 80032E34 4602203C */ c.lt.s $f4, $f2 -/* E238 80032E38 E7A20030 */ swc1 $f2, 0x30($sp) -/* E23C 80032E3C 45010006 */ bc1t .L80032E58 -/* E240 80032E40 24020001 */ addiu $v0, $zero, 1 -/* E244 80032E44 4604103C */ c.lt.s $f2, $f4 -/* E248 80032E48 00000000 */ nop -/* E24C 80032E4C 45000002 */ bc1f .L80032E58 -/* E250 80032E50 0000102D */ daddu $v0, $zero, $zero -/* E254 80032E54 2402FFFF */ addiu $v0, $zero, -1 -.L80032E58: -/* E258 80032E58 AC620000 */ sw $v0, ($v1) -/* E25C 80032E5C 0800CBC9 */ j .L80032F24 -/* E260 80032E60 AE200530 */ sw $zero, 0x530($s1) -.L80032E64: -/* E264 80032E64 8E220534 */ lw $v0, 0x534($s1) -/* E268 80032E68 10400011 */ beqz $v0, .L80032EB0 -/* E26C 80032E6C 00000000 */ nop -/* E270 80032E70 8C430000 */ lw $v1, ($v0) -/* E274 80032E74 24020002 */ addiu $v0, $zero, 2 -/* E278 80032E78 1062002A */ beq $v1, $v0, .L80032F24 -/* E27C 80032E7C 24020005 */ addiu $v0, $zero, 5 -/* E280 80032E80 10620028 */ beq $v1, $v0, .L80032F24 -/* E284 80032E84 00000000 */ nop -/* E288 80032E88 8E250524 */ lw $a1, 0x524($s1) -/* E28C 80032E8C 8E260528 */ lw $a2, 0x528($s1) -/* E290 80032E90 0C00CA29 */ jal func_800328A4 -/* E294 80032E94 0200202D */ daddu $a0, $s0, $zero -/* E298 80032E98 14400022 */ bnez $v0, .L80032F24 -/* E29C 80032E9C 00000000 */ nop -/* E2A0 80032EA0 12400003 */ beqz $s2, .L80032EB0 -/* E2A4 80032EA4 00000000 */ nop -/* E2A8 80032EA8 0800CBC9 */ j .L80032F24 -/* E2AC 80032EAC AE32052C */ sw $s2, 0x52c($s1) -.L80032EB0: -/* E2B0 80032EB0 C6380060 */ lwc1 $f24, 0x60($s1) -/* E2B4 80032EB4 C6200524 */ lwc1 $f0, 0x524($s1) -/* E2B8 80032EB8 C6360068 */ lwc1 $f22, 0x68($s1) -/* E2BC 80032EBC 4600C601 */ sub.s $f24, $f24, $f0 -/* E2C0 80032EC0 C6200528 */ lwc1 $f0, 0x528($s1) -/* E2C4 80032EC4 C62C006C */ lwc1 $f12, 0x6c($s1) -/* E2C8 80032EC8 0C00A8D4 */ jal cos_deg -/* E2CC 80032ECC 4600B581 */ sub.s $f22, $f22, $f0 -/* E2D0 80032ED0 C62C006C */ lwc1 $f12, 0x6c($s1) -/* E2D4 80032ED4 0C00A8BB */ jal sin_deg -/* E2D8 80032ED8 46000507 */ neg.s $f20, $f0 -/* E2DC 80032EDC 4614C602 */ mul.s $f24, $f24, $f20 -/* E2E0 80032EE0 00000000 */ nop -/* E2E4 80032EE4 46000007 */ neg.s $f0, $f0 -/* E2E8 80032EE8 4600B582 */ mul.s $f22, $f22, $f0 -/* E2EC 80032EEC 00000000 */ nop -/* E2F0 80032EF0 4616C600 */ add.s $f24, $f24, $f22 -/* E2F4 80032EF4 44800000 */ mtc1 $zero, $f0 -/* E2F8 80032EF8 00000000 */ nop -/* E2FC 80032EFC 4618003C */ c.lt.s $f0, $f24 -/* E300 80032F00 00000000 */ nop -/* E304 80032F04 45010006 */ bc1t .L80032F20 -/* E308 80032F08 2402FFFF */ addiu $v0, $zero, -1 -/* E30C 80032F0C 4600C03C */ c.lt.s $f24, $f0 -/* E310 80032F10 00000000 */ nop -/* E314 80032F14 45010002 */ bc1t .L80032F20 -/* E318 80032F18 24020001 */ addiu $v0, $zero, 1 -/* E31C 80032F1C 0000102D */ daddu $v0, $zero, $zero -.L80032F20: -/* E320 80032F20 AE22052C */ sw $v0, 0x52c($s1) -.L80032F24: -/* E324 80032F24 44800000 */ mtc1 $zero, $f0 -/* E328 80032F28 00000000 */ nop -/* E32C 80032F2C 461A003C */ c.lt.s $f0, $f26 -/* E330 80032F30 00000000 */ nop -/* E334 80032F34 45000004 */ bc1f .L80032F48 -/* E338 80032F38 00000000 */ nop -/* E33C 80032F3C 8E22052C */ lw $v0, 0x52c($s1) -/* E340 80032F40 5C400009 */ bgtzl $v0, .L80032F68 -/* E344 80032F44 AE200514 */ sw $zero, 0x514($s1) -.L80032F48: -/* E348 80032F48 4600D03C */ c.lt.s $f26, $f0 -/* E34C 80032F4C 00000000 */ nop -/* E350 80032F50 45000006 */ bc1f .L80032F6C -/* E354 80032F54 00000000 */ nop -/* E358 80032F58 8E22052C */ lw $v0, 0x52c($s1) -/* E35C 80032F5C 04410003 */ bgez $v0, .L80032F6C -/* E360 80032F60 00000000 */ nop -/* E364 80032F64 AE200514 */ sw $zero, 0x514($s1) -.L80032F68: -/* E368 80032F68 AE20050C */ sw $zero, 0x50c($s1) -.L80032F6C: -/* E36C 80032F6C C6200060 */ lwc1 $f0, 0x60($s1) -/* E370 80032F70 C6220068 */ lwc1 $f2, 0x68($s1) -/* E374 80032F74 AE330534 */ sw $s3, 0x534($s1) -/* E378 80032F78 E6200524 */ swc1 $f0, 0x524($s1) -/* E37C 80032F7C 0800CCD7 */ j .L8003335C -/* E380 80032F80 E6220528 */ swc1 $f2, 0x528($s1) -.L80032F84: -/* E384 80032F84 C6200060 */ lwc1 $f0, 0x60($s1) -/* E388 80032F88 C6220068 */ lwc1 $f2, 0x68($s1) -/* E38C 80032F8C 4600A306 */ mov.s $f12, $f20 -/* E390 80032F90 AE20052C */ sw $zero, 0x52c($s1) -/* E394 80032F94 AE330534 */ sw $s3, 0x534($s1) -/* E398 80032F98 E6200524 */ swc1 $f0, 0x524($s1) -/* E39C 80032F9C 0C00A874 */ jal cos_rad -/* E3A0 80032FA0 E6220528 */ swc1 $f2, 0x528($s1) -/* E3A4 80032FA4 4600D002 */ mul.s $f0, $f26, $f0 -/* E3A8 80032FA8 00000000 */ nop -/* E3AC 80032FAC C6220060 */ lwc1 $f2, 0x60($s1) -/* E3B0 80032FB0 46001700 */ add.s $f28, $f2, $f0 -/* E3B4 80032FB4 0C00A85B */ jal sin_rad -/* E3B8 80032FB8 4600A306 */ mov.s $f12, $f20 -/* E3BC 80032FBC 4600D002 */ mul.s $f0, $f26, $f0 -/* E3C0 80032FC0 00000000 */ nop -/* E3C4 80032FC4 C6220068 */ lwc1 $f2, 0x68($s1) -/* E3C8 80032FC8 3C014120 */ lui $at, 0x4120 -/* E3CC 80032FCC 44817000 */ mtc1 $at, $f14 -/* E3D0 80032FD0 46001680 */ add.s $f26, $f2, $f0 -/* E3D4 80032FD4 C6200064 */ lwc1 $f0, 0x64($s1) -/* E3D8 80032FD8 27A70040 */ addiu $a3, $sp, 0x40 -/* E3DC 80032FDC 460E0380 */ add.s $f14, $f0, $f14 -/* E3E0 80032FE0 4406D000 */ mfc1 $a2, $f26 -/* E3E4 80032FE4 0C00C884 */ jal test_ray_zone -/* E3E8 80032FE8 4600E306 */ mov.s $f12, $f28 -/* E3EC 80032FEC 0040802D */ daddu $s0, $v0, $zero -/* E3F0 80032FF0 120000DA */ beqz $s0, .L8003335C -/* E3F4 80032FF4 24020002 */ addiu $v0, $zero, 2 -/* E3F8 80032FF8 8E040000 */ lw $a0, ($s0) -/* E3FC 80032FFC 1082000A */ beq $a0, $v0, .L80033028 -/* E400 80033000 24020005 */ addiu $v0, $zero, 5 -/* E404 80033004 10820008 */ beq $a0, $v0, .L80033028 -/* E408 80033008 00000000 */ nop -/* E40C 8003300C 8E240534 */ lw $a0, 0x534($s1) -/* E410 80033010 4405E000 */ mfc1 $a1, $f28 -/* E414 80033014 4406D000 */ mfc1 $a2, $f26 -/* E418 80033018 0C00CA29 */ jal func_800328A4 -/* E41C 8003301C 00000000 */ nop -/* E420 80033020 104000CE */ beqz $v0, .L8003335C -/* E424 80033024 00000000 */ nop -.L80033028: -/* E428 80033028 8E240534 */ lw $a0, 0x534($s1) -/* E42C 8003302C 3C014974 */ lui $at, 0x4974 -/* E430 80033030 34212400 */ ori $at, $at, 0x2400 -/* E434 80033034 4481A000 */ mtc1 $at, $f20 -/* E438 80033038 10800043 */ beqz $a0, .L80033148 -/* E43C 8003303C 24120001 */ addiu $s2, $zero, 1 -/* E440 80033040 8C830000 */ lw $v1, ($a0) -/* E444 80033044 24020006 */ addiu $v0, $zero, 6 -/* E448 80033048 1462003F */ bne $v1, $v0, .L80033148 -/* E44C 8003304C 0080802D */ daddu $s0, $a0, $zero -/* E450 80033050 C6200060 */ lwc1 $f0, 0x60($s1) -/* E454 80033054 C6080018 */ lwc1 $f8, 0x18($s0) -/* E458 80033058 C604000C */ lwc1 $f4, 0xc($s0) -/* E45C 8003305C C6020020 */ lwc1 $f2, 0x20($s0) -/* E460 80033060 C6060014 */ lwc1 $f6, 0x14($s0) -/* E464 80033064 E7A00010 */ swc1 $f0, 0x10($sp) -/* E468 80033068 C6200068 */ lwc1 $f0, 0x68($s1) -/* E46C 8003306C 27A20044 */ addiu $v0, $sp, 0x44 -/* E470 80033070 AFA20020 */ sw $v0, 0x20($sp) -/* E474 80033074 27A20048 */ addiu $v0, $sp, 0x48 -/* E478 80033078 46061601 */ sub.s $f24, $f2, $f6 -/* E47C 8003307C AFA20024 */ sw $v0, 0x24($sp) -/* E480 80033080 27A2004C */ addiu $v0, $sp, 0x4c -/* E484 80033084 46044581 */ sub.s $f22, $f8, $f4 -/* E488 80033088 E7BC0018 */ swc1 $f28, 0x18($sp) -/* E48C 8003308C E7BA001C */ swc1 $f26, 0x1c($sp) -/* E490 80033090 AFA20028 */ sw $v0, 0x28($sp) -/* E494 80033094 46182281 */ sub.s $f10, $f4, $f24 -/* E498 80033098 E7A00014 */ swc1 $f0, 0x14($sp) -/* E49C 8003309C C60C000C */ lwc1 $f12, 0xc($s0) -/* E4A0 800330A0 46163180 */ add.s $f6, $f6, $f22 -/* E4A4 800330A4 C60E0014 */ lwc1 $f14, 0x14($s0) -/* E4A8 800330A8 44065000 */ mfc1 $a2, $f10 -/* E4AC 800330AC 44073000 */ mfc1 $a3, $f6 -/* E4B0 800330B0 0C00C979 */ jal func_800325E4 -/* E4B4 800330B4 0000902D */ daddu $s2, $zero, $zero -/* E4B8 800330B8 10400006 */ beqz $v0, .L800330D4 -/* E4BC 800330BC 00000000 */ nop -/* E4C0 800330C0 C7A0004C */ lwc1 $f0, 0x4c($sp) -/* E4C4 800330C4 4614003C */ c.lt.s $f0, $f20 -/* E4C8 800330C8 00000000 */ nop -/* E4CC 800330CC 45030001 */ bc1tl .L800330D4 -/* E4D0 800330D0 46000506 */ mov.s $f20, $f0 -.L800330D4: -/* E4D4 800330D4 C6200060 */ lwc1 $f0, 0x60($s1) -/* E4D8 800330D8 C6020018 */ lwc1 $f2, 0x18($s0) -/* E4DC 800330DC C6040020 */ lwc1 $f4, 0x20($s0) -/* E4E0 800330E0 E7A00010 */ swc1 $f0, 0x10($sp) -/* E4E4 800330E4 C6200068 */ lwc1 $f0, 0x68($s1) -/* E4E8 800330E8 27A20044 */ addiu $v0, $sp, 0x44 -/* E4EC 800330EC AFA20020 */ sw $v0, 0x20($sp) -/* E4F0 800330F0 27A20048 */ addiu $v0, $sp, 0x48 -/* E4F4 800330F4 46181081 */ sub.s $f2, $f2, $f24 -/* E4F8 800330F8 AFA20024 */ sw $v0, 0x24($sp) -/* E4FC 800330FC 27A2004C */ addiu $v0, $sp, 0x4c -/* E500 80033100 46162100 */ add.s $f4, $f4, $f22 -/* E504 80033104 E7BC0018 */ swc1 $f28, 0x18($sp) -/* E508 80033108 E7BA001C */ swc1 $f26, 0x1c($sp) -/* E50C 8003310C AFA20028 */ sw $v0, 0x28($sp) -/* E510 80033110 E7A00014 */ swc1 $f0, 0x14($sp) -/* E514 80033114 C60C0018 */ lwc1 $f12, 0x18($s0) -/* E518 80033118 C60E0020 */ lwc1 $f14, 0x20($s0) -/* E51C 8003311C 44061000 */ mfc1 $a2, $f2 -/* E520 80033120 44072000 */ mfc1 $a3, $f4 -/* E524 80033124 0C00C979 */ jal func_800325E4 -/* E528 80033128 00000000 */ nop -/* E52C 8003312C 10400006 */ beqz $v0, .L80033148 -/* E530 80033130 00000000 */ nop -/* E534 80033134 C7A0004C */ lwc1 $f0, 0x4c($sp) -/* E538 80033138 4614003C */ c.lt.s $f0, $f20 -/* E53C 8003313C 00000000 */ nop -/* E540 80033140 45030001 */ bc1tl .L80033148 -/* E544 80033144 46000506 */ mov.s $f20, $f0 -.L80033148: -/* E548 80033148 1240005C */ beqz $s2, .L800332BC -/* E54C 8003314C 00000000 */ nop -/* E550 80033150 8FA30040 */ lw $v1, 0x40($sp) -/* E554 80033154 8462000A */ lh $v0, 0xa($v1) -/* E558 80033158 18400058 */ blez $v0, .L800332BC -/* E55C 8003315C 0000902D */ daddu $s2, $zero, $zero -/* E560 80033160 27B50044 */ addiu $s5, $sp, 0x44 -/* E564 80033164 27B40048 */ addiu $s4, $sp, 0x48 -/* E568 80033168 27B3004C */ addiu $s3, $sp, 0x4c -/* E56C 8003316C 0240802D */ daddu $s0, $s2, $zero -.L80033170: -/* E570 80033170 8C62000C */ lw $v0, 0xc($v1) -/* E574 80033174 C6200060 */ lwc1 $f0, 0x60($s1) -/* E578 80033178 02021021 */ addu $v0, $s0, $v0 -/* E57C 8003317C 8C430000 */ lw $v1, ($v0) -/* E580 80033180 8C420004 */ lw $v0, 4($v0) -/* E584 80033184 E7A00010 */ swc1 $f0, 0x10($sp) -/* E588 80033188 C6200068 */ lwc1 $f0, 0x68($s1) -/* E58C 8003318C E7BC0018 */ swc1 $f28, 0x18($sp) -/* E590 80033190 E7BA001C */ swc1 $f26, 0x1c($sp) -/* E594 80033194 AFB50020 */ sw $s5, 0x20($sp) -/* E598 80033198 AFB40024 */ sw $s4, 0x24($sp) -/* E59C 8003319C AFB30028 */ sw $s3, 0x28($sp) -/* E5A0 800331A0 E7A00014 */ swc1 $f0, 0x14($sp) -/* E5A4 800331A4 C46C0000 */ lwc1 $f12, ($v1) -/* E5A8 800331A8 C46E0008 */ lwc1 $f14, 8($v1) -/* E5AC 800331AC 8C460000 */ lw $a2, ($v0) -/* E5B0 800331B0 0C00C8B7 */ jal func_800322DC -/* E5B4 800331B4 8C470008 */ lw $a3, 8($v0) -/* E5B8 800331B8 10400006 */ beqz $v0, .L800331D4 -/* E5BC 800331BC 00000000 */ nop -/* E5C0 800331C0 C7A0004C */ lwc1 $f0, 0x4c($sp) -/* E5C4 800331C4 4614003C */ c.lt.s $f0, $f20 -/* E5C8 800331C8 00000000 */ nop -/* E5CC 800331CC 45030001 */ bc1tl .L800331D4 -/* E5D0 800331D0 46000506 */ mov.s $f20, $f0 -.L800331D4: -/* E5D4 800331D4 8FA20040 */ lw $v0, 0x40($sp) -/* E5D8 800331D8 8C42000C */ lw $v0, 0xc($v0) -/* E5DC 800331DC C6200060 */ lwc1 $f0, 0x60($s1) -/* E5E0 800331E0 02021021 */ addu $v0, $s0, $v0 -/* E5E4 800331E4 8C430004 */ lw $v1, 4($v0) -/* E5E8 800331E8 8C420008 */ lw $v0, 8($v0) -/* E5EC 800331EC E7A00010 */ swc1 $f0, 0x10($sp) -/* E5F0 800331F0 C6200068 */ lwc1 $f0, 0x68($s1) -/* E5F4 800331F4 E7BC0018 */ swc1 $f28, 0x18($sp) -/* E5F8 800331F8 E7BA001C */ swc1 $f26, 0x1c($sp) -/* E5FC 800331FC AFB50020 */ sw $s5, 0x20($sp) -/* E600 80033200 AFB40024 */ sw $s4, 0x24($sp) -/* E604 80033204 AFB30028 */ sw $s3, 0x28($sp) -/* E608 80033208 E7A00014 */ swc1 $f0, 0x14($sp) -/* E60C 8003320C C46C0000 */ lwc1 $f12, ($v1) -/* E610 80033210 C46E0008 */ lwc1 $f14, 8($v1) -/* E614 80033214 8C460000 */ lw $a2, ($v0) -/* E618 80033218 0C00C8B7 */ jal func_800322DC -/* E61C 8003321C 8C470008 */ lw $a3, 8($v0) -/* E620 80033220 10400006 */ beqz $v0, .L8003323C -/* E624 80033224 00000000 */ nop -/* E628 80033228 C7A0004C */ lwc1 $f0, 0x4c($sp) -/* E62C 8003322C 4614003C */ c.lt.s $f0, $f20 -/* E630 80033230 00000000 */ nop -/* E634 80033234 45030001 */ bc1tl .L8003323C -/* E638 80033238 46000506 */ mov.s $f20, $f0 -.L8003323C: -/* E63C 8003323C 8FA20040 */ lw $v0, 0x40($sp) -/* E640 80033240 8C42000C */ lw $v0, 0xc($v0) -/* E644 80033244 C6200060 */ lwc1 $f0, 0x60($s1) -/* E648 80033248 02021021 */ addu $v0, $s0, $v0 -/* E64C 8003324C 8C430008 */ lw $v1, 8($v0) -/* E650 80033250 8C420000 */ lw $v0, ($v0) -/* E654 80033254 E7A00010 */ swc1 $f0, 0x10($sp) -/* E658 80033258 C6200068 */ lwc1 $f0, 0x68($s1) -/* E65C 8003325C E7BC0018 */ swc1 $f28, 0x18($sp) -/* E660 80033260 E7BA001C */ swc1 $f26, 0x1c($sp) -/* E664 80033264 AFB50020 */ sw $s5, 0x20($sp) -/* E668 80033268 AFB40024 */ sw $s4, 0x24($sp) -/* E66C 8003326C AFB30028 */ sw $s3, 0x28($sp) -/* E670 80033270 E7A00014 */ swc1 $f0, 0x14($sp) -/* E674 80033274 C46C0000 */ lwc1 $f12, ($v1) -/* E678 80033278 C46E0008 */ lwc1 $f14, 8($v1) -/* E67C 8003327C 8C460000 */ lw $a2, ($v0) -/* E680 80033280 0C00C8B7 */ jal func_800322DC -/* E684 80033284 8C470008 */ lw $a3, 8($v0) -/* E688 80033288 10400006 */ beqz $v0, .L800332A4 -/* E68C 8003328C 00000000 */ nop -/* E690 80033290 C7A0004C */ lwc1 $f0, 0x4c($sp) -/* E694 80033294 4614003C */ c.lt.s $f0, $f20 -/* E698 80033298 00000000 */ nop -/* E69C 8003329C 45030001 */ bc1tl .L800332A4 -/* E6A0 800332A0 46000506 */ mov.s $f20, $f0 -.L800332A4: -/* E6A4 800332A4 8FA30040 */ lw $v1, 0x40($sp) -/* E6A8 800332A8 8462000A */ lh $v0, 0xa($v1) -/* E6AC 800332AC 26520001 */ addiu $s2, $s2, 1 -/* E6B0 800332B0 0242102A */ slt $v0, $s2, $v0 -/* E6B4 800332B4 1440FFAE */ bnez $v0, .L80033170 -/* E6B8 800332B8 26100040 */ addiu $s0, $s0, 0x40 -.L800332BC: -/* E6BC 800332BC 3C014974 */ lui $at, 0x4974 -/* E6C0 800332C0 34212400 */ ori $at, $at, 0x2400 -/* E6C4 800332C4 44810000 */ mtc1 $at, $f0 -/* E6C8 800332C8 00000000 */ nop -/* E6CC 800332CC 4600A032 */ c.eq.s $f20, $f0 -/* E6D0 800332D0 00000000 */ nop -/* E6D4 800332D4 45030020 */ bc1tl .L80033358 -/* E6D8 800332D8 AE20050C */ sw $zero, 0x50c($s1) -/* E6DC 800332DC 44801000 */ mtc1 $zero, $f2 -/* E6E0 800332E0 00000000 */ nop -/* E6E4 800332E4 4602A032 */ c.eq.s $f20, $f2 -/* E6E8 800332E8 00000000 */ nop -/* E6EC 800332EC 45000003 */ bc1f .L800332FC -/* E6F0 800332F0 00000000 */ nop -/* E6F4 800332F4 0800CCD6 */ j .L80033358 -/* E6F8 800332F8 AE20050C */ sw $zero, 0x50c($s1) -.L800332FC: -/* E6FC 800332FC C620050C */ lwc1 $f0, 0x50c($s1) -/* E700 80033300 4600103C */ c.lt.s $f2, $f0 -/* E704 80033304 00000000 */ nop -/* E708 80033308 4500000A */ bc1f .L80033334 -/* E70C 8003330C 2630050C */ addiu $s0, $s1, 0x50c -/* E710 80033310 4600A004 */ sqrt.s $f0, $f20 -/* E714 80033314 46000032 */ c.eq.s $f0, $f0 -/* E718 80033318 00000000 */ nop -/* E71C 8003331C 4503000E */ bc1tl .L80033358 -/* E720 80033320 E6000000 */ swc1 $f0, ($s0) -/* E724 80033324 0C0187BC */ jal sqrtf -/* E728 80033328 4600A306 */ mov.s $f12, $f20 -/* E72C 8003332C 0800CCD6 */ j .L80033358 -/* E730 80033330 E6000000 */ swc1 $f0, ($s0) -.L80033334: -/* E734 80033334 4600A004 */ sqrt.s $f0, $f20 -/* E738 80033338 46000032 */ c.eq.s $f0, $f0 -/* E73C 8003333C 00000000 */ nop -/* E740 80033340 45030004 */ bc1tl .L80033354 -/* E744 80033344 46000007 */ neg.s $f0, $f0 -/* E748 80033348 0C0187BC */ jal sqrtf -/* E74C 8003334C 4600A306 */ mov.s $f12, $f20 -/* E750 80033350 46000007 */ neg.s $f0, $f0 -.L80033354: -/* E754 80033354 E6000000 */ swc1 $f0, ($s0) -.L80033358: -/* E758 80033358 AE200514 */ sw $zero, 0x514($s1) -.L8003335C: -/* E75C 8003335C 8FBF0068 */ lw $ra, 0x68($sp) -/* E760 80033360 8FB50064 */ lw $s5, 0x64($sp) -/* E764 80033364 8FB40060 */ lw $s4, 0x60($sp) -/* E768 80033368 8FB3005C */ lw $s3, 0x5c($sp) -/* E76C 8003336C 8FB20058 */ lw $s2, 0x58($sp) -/* E770 80033370 8FB10054 */ lw $s1, 0x54($sp) -/* E774 80033374 8FB00050 */ lw $s0, 0x50($sp) -/* E778 80033378 D7BC0090 */ ldc1 $f28, 0x90($sp) -/* E77C 8003337C D7BA0088 */ ldc1 $f26, 0x88($sp) -/* E780 80033380 D7B80080 */ ldc1 $f24, 0x80($sp) -/* E784 80033384 D7B60078 */ ldc1 $f22, 0x78($sp) -/* E788 80033388 D7B40070 */ ldc1 $f20, 0x70($sp) -/* E78C 8003338C 03E00008 */ jr $ra -/* E790 80033390 27BD0098 */ addiu $sp, $sp, 0x98 diff --git a/ver/us/asm/nonmatchings/camera/test_ray_zone.s b/ver/us/asm/nonmatchings/camera/test_ray_zone.s deleted file mode 100644 index 96e04ae2d9..0000000000 --- a/ver/us/asm/nonmatchings/camera/test_ray_zone.s +++ /dev/null @@ -1,57 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel test_ray_zone -/* D610 80032210 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* D614 80032214 AFB00058 */ sw $s0, 0x58($sp) -/* D618 80032218 00E0802D */ daddu $s0, $a3, $zero -/* D61C 8003221C 3C0146FF */ lui $at, 0x46ff -/* D620 80032220 3421FE00 */ ori $at, $at, 0xfe00 -/* D624 80032224 44811000 */ mtc1 $at, $f2 -/* D628 80032228 44802000 */ mtc1 $zero, $f4 -/* D62C 8003222C 3C01BF80 */ lui $at, 0xbf80 -/* D630 80032230 44810000 */ mtc1 $at, $f0 -/* D634 80032234 44072000 */ mfc1 $a3, $f4 -/* D638 80032238 27A20038 */ addiu $v0, $sp, 0x38 -/* D63C 8003223C AFBF005C */ sw $ra, 0x5c($sp) -/* D640 80032240 E7A20044 */ swc1 $f2, 0x44($sp) -/* D644 80032244 AFA20018 */ sw $v0, 0x18($sp) -/* D648 80032248 27A2003C */ addiu $v0, $sp, 0x3c -/* D64C 8003224C AFA2001C */ sw $v0, 0x1c($sp) -/* D650 80032250 27A20040 */ addiu $v0, $sp, 0x40 -/* D654 80032254 AFA20020 */ sw $v0, 0x20($sp) -/* D658 80032258 27A20044 */ addiu $v0, $sp, 0x44 -/* D65C 8003225C AFA20024 */ sw $v0, 0x24($sp) -/* D660 80032260 27A20048 */ addiu $v0, $sp, 0x48 -/* D664 80032264 AFA20028 */ sw $v0, 0x28($sp) -/* D668 80032268 27A2004C */ addiu $v0, $sp, 0x4c -/* D66C 8003226C AFA2002C */ sw $v0, 0x2c($sp) -/* D670 80032270 27A20050 */ addiu $v0, $sp, 0x50 -/* D674 80032274 E7A00010 */ swc1 $f0, 0x10($sp) -/* D678 80032278 E7A40014 */ swc1 $f4, 0x14($sp) -/* D67C 8003227C 0C017449 */ jal test_ray_zones -/* D680 80032280 AFA20030 */ sw $v0, 0x30($sp) -/* D684 80032284 0040202D */ daddu $a0, $v0, $zero -/* D688 80032288 04800010 */ bltz $a0, .L800322CC -/* D68C 8003228C 0000102D */ daddu $v0, $zero, $zero -/* D690 80032290 12000007 */ beqz $s0, .L800322B0 -/* D694 80032294 000410C0 */ sll $v0, $a0, 3 -/* D698 80032298 00441023 */ subu $v0, $v0, $a0 -/* D69C 8003229C 3C03800E */ lui $v1, %hi(D_800D91D4) -/* D6A0 800322A0 8C6391D4 */ lw $v1, %lo(D_800D91D4)($v1) -/* D6A4 800322A4 00021080 */ sll $v0, $v0, 2 -/* D6A8 800322A8 00621821 */ addu $v1, $v1, $v0 -/* D6AC 800322AC AE030000 */ sw $v1, ($s0) -.L800322B0: -/* D6B0 800322B0 000410C0 */ sll $v0, $a0, 3 -/* D6B4 800322B4 00441023 */ subu $v0, $v0, $a0 -/* D6B8 800322B8 3C03800E */ lui $v1, %hi(D_800D91D4) -/* D6BC 800322BC 8C6391D4 */ lw $v1, %lo(D_800D91D4)($v1) -/* D6C0 800322C0 00021080 */ sll $v0, $v0, 2 -/* D6C4 800322C4 00431021 */ addu $v0, $v0, $v1 -/* D6C8 800322C8 8C420010 */ lw $v0, 0x10($v0) -.L800322CC: -/* D6CC 800322CC 8FBF005C */ lw $ra, 0x5c($sp) -/* D6D0 800322D0 8FB00058 */ lw $s0, 0x58($sp) -/* D6D4 800322D4 03E00008 */ jr $ra -/* D6D8 800322D8 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/ver/us/asm/nonmatchings/evt/cam_api/AdjustCam.s b/ver/us/asm/nonmatchings/evt/cam_api/AdjustCam.s deleted file mode 100644 index 2facf8e94a..0000000000 --- a/ver/us/asm/nonmatchings/evt/cam_api/AdjustCam.s +++ /dev/null @@ -1,162 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel AdjustCam -/* F1010 802CC660 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* F1014 802CC664 AFB10064 */ sw $s1, 0x64($sp) -/* F1018 802CC668 0080882D */ daddu $s1, $a0, $zero -/* F101C 802CC66C AFB20068 */ sw $s2, 0x68($sp) -/* F1020 802CC670 00A0902D */ daddu $s2, $a1, $zero -/* F1024 802CC674 AFBF0070 */ sw $ra, 0x70($sp) -/* F1028 802CC678 AFB3006C */ sw $s3, 0x6c($sp) -/* F102C 802CC67C AFB00060 */ sw $s0, 0x60($sp) -/* F1030 802CC680 F7BE00A0 */ sdc1 $f30, 0xa0($sp) -/* F1034 802CC684 F7BC0098 */ sdc1 $f28, 0x98($sp) -/* F1038 802CC688 F7BA0090 */ sdc1 $f26, 0x90($sp) -/* F103C 802CC68C F7B80088 */ sdc1 $f24, 0x88($sp) -/* F1040 802CC690 F7B60080 */ sdc1 $f22, 0x80($sp) -/* F1044 802CC694 F7B40078 */ sdc1 $f20, 0x78($sp) -/* F1048 802CC698 8E30000C */ lw $s0, 0xc($s1) -/* F104C 802CC69C 8E050000 */ lw $a1, ($s0) -/* F1050 802CC6A0 0C0B1EAF */ jal evt_get_variable -/* F1054 802CC6A4 26100004 */ addiu $s0, $s0, 4 -/* F1058 802CC6A8 8E050000 */ lw $a1, ($s0) -/* F105C 802CC6AC 26100004 */ addiu $s0, $s0, 4 -/* F1060 802CC6B0 0220202D */ daddu $a0, $s1, $zero -/* F1064 802CC6B4 3C06800B */ lui $a2, %hi(gCameras) -/* F1068 802CC6B8 24C61D80 */ addiu $a2, $a2, %lo(gCameras) -/* F106C 802CC6BC 00021880 */ sll $v1, $v0, 2 -/* F1070 802CC6C0 00621821 */ addu $v1, $v1, $v0 -/* F1074 802CC6C4 00031880 */ sll $v1, $v1, 2 -/* F1078 802CC6C8 00621823 */ subu $v1, $v1, $v0 -/* F107C 802CC6CC 000310C0 */ sll $v0, $v1, 3 -/* F1080 802CC6D0 00621821 */ addu $v1, $v1, $v0 -/* F1084 802CC6D4 000318C0 */ sll $v1, $v1, 3 -/* F1088 802CC6D8 0C0B210B */ jal evt_get_float_variable -/* F108C 802CC6DC 00669821 */ addu $s3, $v1, $a2 -/* F1090 802CC6E0 8E050000 */ lw $a1, ($s0) -/* F1094 802CC6E4 26100004 */ addiu $s0, $s0, 4 -/* F1098 802CC6E8 0220202D */ daddu $a0, $s1, $zero -/* F109C 802CC6EC 0C0B210B */ jal evt_get_float_variable -/* F10A0 802CC6F0 E7A00054 */ swc1 $f0, 0x54($sp) -/* F10A4 802CC6F4 8E050000 */ lw $a1, ($s0) -/* F10A8 802CC6F8 26100004 */ addiu $s0, $s0, 4 -/* F10AC 802CC6FC 0220202D */ daddu $a0, $s1, $zero -/* F10B0 802CC700 0C0B210B */ jal evt_get_float_variable -/* F10B4 802CC704 E7A00058 */ swc1 $f0, 0x58($sp) -/* F10B8 802CC708 8E050000 */ lw $a1, ($s0) -/* F10BC 802CC70C 26100004 */ addiu $s0, $s0, 4 -/* F10C0 802CC710 0220202D */ daddu $a0, $s1, $zero -/* F10C4 802CC714 0C0B210B */ jal evt_get_float_variable -/* F10C8 802CC718 46000786 */ mov.s $f30, $f0 -/* F10CC 802CC71C 0220202D */ daddu $a0, $s1, $zero -/* F10D0 802CC720 8E050000 */ lw $a1, ($s0) -/* F10D4 802CC724 0C0B210B */ jal evt_get_float_variable -/* F10D8 802CC728 46000706 */ mov.s $f28, $f0 -/* F10DC 802CC72C 3C038011 */ lui $v1, %hi(gPlayerStatus) -/* F10E0 802CC730 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) -/* F10E4 802CC734 1240004E */ beqz $s2, .L802CC870 -/* F10E8 802CC738 46000686 */ mov.s $f26, $f0 -/* F10EC 802CC73C 3C0146FF */ lui $at, 0x46ff -/* F10F0 802CC740 3421FE00 */ ori $at, $at, 0xfe00 -/* F10F4 802CC744 44811000 */ mtc1 $at, $f2 -/* F10F8 802CC748 44802000 */ mtc1 $zero, $f4 -/* F10FC 802CC74C 3C01BF80 */ lui $at, 0xbf80 -/* F1100 802CC750 44810000 */ mtc1 $at, $f0 -/* F1104 802CC754 3C014120 */ lui $at, 0x4120 -/* F1108 802CC758 44817000 */ mtc1 $at, $f14 -/* F110C 802CC75C 27A20038 */ addiu $v0, $sp, 0x38 -/* F1110 802CC760 E7A20044 */ swc1 $f2, 0x44($sp) -/* F1114 802CC764 AFA20018 */ sw $v0, 0x18($sp) -/* F1118 802CC768 27A2003C */ addiu $v0, $sp, 0x3c -/* F111C 802CC76C AFA2001C */ sw $v0, 0x1c($sp) -/* F1120 802CC770 27A20040 */ addiu $v0, $sp, 0x40 -/* F1124 802CC774 AFA20020 */ sw $v0, 0x20($sp) -/* F1128 802CC778 27A20044 */ addiu $v0, $sp, 0x44 -/* F112C 802CC77C AFA20024 */ sw $v0, 0x24($sp) -/* F1130 802CC780 27A20048 */ addiu $v0, $sp, 0x48 -/* F1134 802CC784 AFA20028 */ sw $v0, 0x28($sp) -/* F1138 802CC788 27A2004C */ addiu $v0, $sp, 0x4c -/* F113C 802CC78C E7A00010 */ swc1 $f0, 0x10($sp) -/* F1140 802CC790 E7A40014 */ swc1 $f4, 0x14($sp) -/* F1144 802CC794 AFA2002C */ sw $v0, 0x2c($sp) -/* F1148 802CC798 C476002C */ lwc1 $f22, 0x2c($v1) -/* F114C 802CC79C 27A20050 */ addiu $v0, $sp, 0x50 -/* F1150 802CC7A0 AFA20030 */ sw $v0, 0x30($sp) -/* F1154 802CC7A4 C4740030 */ lwc1 $f20, 0x30($v1) -/* F1158 802CC7A8 C4780028 */ lwc1 $f24, 0x28($v1) -/* F115C 802CC7AC 44072000 */ mfc1 $a3, $f4 -/* F1160 802CC7B0 460EB380 */ add.s $f14, $f22, $f14 -/* F1164 802CC7B4 4406A000 */ mfc1 $a2, $f20 -/* F1168 802CC7B8 0C017449 */ jal test_ray_zones -/* F116C 802CC7BC 4600C306 */ mov.s $f12, $f24 -/* F1170 802CC7C0 0040182D */ daddu $v1, $v0, $zero -/* F1174 802CC7C4 0460001A */ bltz $v1, .L802CC830 -/* F1178 802CC7C8 000310C0 */ sll $v0, $v1, 3 -/* F117C 802CC7CC 00431023 */ subu $v0, $v0, $v1 -/* F1180 802CC7D0 3C03800E */ lui $v1, %hi(D_800D91D4) -/* F1184 802CC7D4 8C6391D4 */ lw $v1, %lo(D_800D91D4)($v1) -/* F1188 802CC7D8 00021080 */ sll $v0, $v0, 2 -/* F118C 802CC7DC 00431021 */ addu $v0, $v0, $v1 -/* F1190 802CC7E0 8C420010 */ lw $v0, 0x10($v0) -/* F1194 802CC7E4 266304D8 */ addiu $v1, $s3, 0x4d8 -/* F1198 802CC7E8 24440020 */ addiu $a0, $v0, 0x20 -.L802CC7EC: -/* F119C 802CC7EC 8C480000 */ lw $t0, ($v0) -/* F11A0 802CC7F0 8C490004 */ lw $t1, 4($v0) -/* F11A4 802CC7F4 8C4A0008 */ lw $t2, 8($v0) -/* F11A8 802CC7F8 8C4B000C */ lw $t3, 0xc($v0) -/* F11AC 802CC7FC AC680000 */ sw $t0, ($v1) -/* F11B0 802CC800 AC690004 */ sw $t1, 4($v1) -/* F11B4 802CC804 AC6A0008 */ sw $t2, 8($v1) -/* F11B8 802CC808 AC6B000C */ sw $t3, 0xc($v1) -/* F11BC 802CC80C 24420010 */ addiu $v0, $v0, 0x10 -/* F11C0 802CC810 1444FFF6 */ bne $v0, $a0, .L802CC7EC -/* F11C4 802CC814 24630010 */ addiu $v1, $v1, 0x10 -/* F11C8 802CC818 8C480000 */ lw $t0, ($v0) -/* F11CC 802CC81C 8C490004 */ lw $t1, 4($v0) -/* F11D0 802CC820 8C4A0008 */ lw $t2, 8($v0) -/* F11D4 802CC824 AC680000 */ sw $t0, ($v1) -/* F11D8 802CC828 AC690004 */ sw $t1, 4($v1) -/* F11DC 802CC82C AC6A0008 */ sw $t2, 8($v1) -.L802CC830: -/* F11E0 802CC830 E67604B4 */ swc1 $f22, 0x4b4($s3) -/* F11E4 802CC834 E67404B8 */ swc1 $f20, 0x4b8($s3) -/* F11E8 802CC838 E67E04DC */ swc1 $f30, 0x4dc($s3) -/* F11EC 802CC83C E67C04E0 */ swc1 $f28, 0x4e0($s3) -/* F11F0 802CC840 E67A04FC */ swc1 $f26, 0x4fc($s3) -/* F11F4 802CC844 C7A60054 */ lwc1 $f6, 0x54($sp) -/* F11F8 802CC848 24030001 */ addiu $v1, $zero, 1 -/* F11FC 802CC84C E6660490 */ swc1 $f6, 0x490($s3) -/* F1200 802CC850 A6630506 */ sh $v1, 0x506($s3) -/* F1204 802CC854 C7A60058 */ lwc1 $f6, 0x58($sp) -/* F1208 802CC858 0000102D */ daddu $v0, $zero, $zero -/* F120C 802CC85C 4606C000 */ add.s $f0, $f24, $f6 -/* F1210 802CC860 A6630504 */ sh $v1, 0x504($s3) -/* F1214 802CC864 AE600508 */ sw $zero, 0x508($s3) -/* F1218 802CC868 080B3225 */ j .L802CC894 -/* F121C 802CC86C E66004B0 */ swc1 $f0, 0x4b0($s3) -.L802CC870: -/* F1220 802CC870 C6620484 */ lwc1 $f2, 0x484($s3) -/* F1224 802CC874 3C013F80 */ lui $at, 0x3f80 -/* F1228 802CC878 44810000 */ mtc1 $at, $f0 -/* F122C 802CC87C 00000000 */ nop -/* F1230 802CC880 4602003E */ c.le.s $f0, $f2 -/* F1234 802CC884 00000000 */ nop -/* F1238 802CC888 45010002 */ bc1t .L802CC894 -/* F123C 802CC88C 24020002 */ addiu $v0, $zero, 2 -/* F1240 802CC890 0000102D */ daddu $v0, $zero, $zero -.L802CC894: -/* F1244 802CC894 8FBF0070 */ lw $ra, 0x70($sp) -/* F1248 802CC898 8FB3006C */ lw $s3, 0x6c($sp) -/* F124C 802CC89C 8FB20068 */ lw $s2, 0x68($sp) -/* F1250 802CC8A0 8FB10064 */ lw $s1, 0x64($sp) -/* F1254 802CC8A4 8FB00060 */ lw $s0, 0x60($sp) -/* F1258 802CC8A8 D7BE00A0 */ ldc1 $f30, 0xa0($sp) -/* F125C 802CC8AC D7BC0098 */ ldc1 $f28, 0x98($sp) -/* F1260 802CC8B0 D7BA0090 */ ldc1 $f26, 0x90($sp) -/* F1264 802CC8B4 D7B80088 */ ldc1 $f24, 0x88($sp) -/* F1268 802CC8B8 D7B60080 */ ldc1 $f22, 0x80($sp) -/* F126C 802CC8BC D7B40078 */ ldc1 $f20, 0x78($sp) -/* F1270 802CC8C0 03E00008 */ jr $ra -/* F1274 802CC8C4 27BD00A8 */ addiu $sp, $sp, 0xa8 diff --git a/ver/us/asm/nonmatchings/evt/cam_api/SetCamProperties.s b/ver/us/asm/nonmatchings/evt/cam_api/SetCamProperties.s deleted file mode 100644 index dd751ea25c..0000000000 --- a/ver/us/asm/nonmatchings/evt/cam_api/SetCamProperties.s +++ /dev/null @@ -1,165 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel SetCamProperties -/* F0D9C 802CC3EC 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* F0DA0 802CC3F0 AFB1005C */ sw $s1, 0x5c($sp) -/* F0DA4 802CC3F4 0080882D */ daddu $s1, $a0, $zero -/* F0DA8 802CC3F8 AFB20060 */ sw $s2, 0x60($sp) -/* F0DAC 802CC3FC 00A0902D */ daddu $s2, $a1, $zero -/* F0DB0 802CC400 AFBF0068 */ sw $ra, 0x68($sp) -/* F0DB4 802CC404 AFB30064 */ sw $s3, 0x64($sp) -/* F0DB8 802CC408 AFB00058 */ sw $s0, 0x58($sp) -/* F0DBC 802CC40C F7BE0098 */ sdc1 $f30, 0x98($sp) -/* F0DC0 802CC410 F7BC0090 */ sdc1 $f28, 0x90($sp) -/* F0DC4 802CC414 F7BA0088 */ sdc1 $f26, 0x88($sp) -/* F0DC8 802CC418 F7B80080 */ sdc1 $f24, 0x80($sp) -/* F0DCC 802CC41C F7B60078 */ sdc1 $f22, 0x78($sp) -/* F0DD0 802CC420 F7B40070 */ sdc1 $f20, 0x70($sp) -/* F0DD4 802CC424 8E30000C */ lw $s0, 0xc($s1) -/* F0DD8 802CC428 8E050000 */ lw $a1, ($s0) -/* F0DDC 802CC42C 0C0B1EAF */ jal evt_get_variable -/* F0DE0 802CC430 26100004 */ addiu $s0, $s0, 4 -/* F0DE4 802CC434 8E050000 */ lw $a1, ($s0) -/* F0DE8 802CC438 26100004 */ addiu $s0, $s0, 4 -/* F0DEC 802CC43C 0220202D */ daddu $a0, $s1, $zero -/* F0DF0 802CC440 3C06800B */ lui $a2, %hi(gCameras) -/* F0DF4 802CC444 24C61D80 */ addiu $a2, $a2, %lo(gCameras) -/* F0DF8 802CC448 00021880 */ sll $v1, $v0, 2 -/* F0DFC 802CC44C 00621821 */ addu $v1, $v1, $v0 -/* F0E00 802CC450 00031880 */ sll $v1, $v1, 2 -/* F0E04 802CC454 00621823 */ subu $v1, $v1, $v0 -/* F0E08 802CC458 000310C0 */ sll $v0, $v1, 3 -/* F0E0C 802CC45C 00621821 */ addu $v1, $v1, $v0 -/* F0E10 802CC460 000318C0 */ sll $v1, $v1, 3 -/* F0E14 802CC464 0C0B210B */ jal evt_get_float_variable -/* F0E18 802CC468 00669821 */ addu $s3, $v1, $a2 -/* F0E1C 802CC46C 8E050000 */ lw $a1, ($s0) -/* F0E20 802CC470 26100004 */ addiu $s0, $s0, 4 -/* F0E24 802CC474 0220202D */ daddu $a0, $s1, $zero -/* F0E28 802CC478 0C0B210B */ jal evt_get_float_variable -/* F0E2C 802CC47C E7A00054 */ swc1 $f0, 0x54($sp) -/* F0E30 802CC480 8E050000 */ lw $a1, ($s0) -/* F0E34 802CC484 26100004 */ addiu $s0, $s0, 4 -/* F0E38 802CC488 0220202D */ daddu $a0, $s1, $zero -/* F0E3C 802CC48C 0C0B210B */ jal evt_get_float_variable -/* F0E40 802CC490 46000606 */ mov.s $f24, $f0 -/* F0E44 802CC494 8E050000 */ lw $a1, ($s0) -/* F0E48 802CC498 26100004 */ addiu $s0, $s0, 4 -/* F0E4C 802CC49C 0220202D */ daddu $a0, $s1, $zero -/* F0E50 802CC4A0 0C0B210B */ jal evt_get_float_variable -/* F0E54 802CC4A4 46000586 */ mov.s $f22, $f0 -/* F0E58 802CC4A8 8E050000 */ lw $a1, ($s0) -/* F0E5C 802CC4AC 26100004 */ addiu $s0, $s0, 4 -/* F0E60 802CC4B0 0220202D */ daddu $a0, $s1, $zero -/* F0E64 802CC4B4 0C0B210B */ jal evt_get_float_variable -/* F0E68 802CC4B8 46000506 */ mov.s $f20, $f0 -/* F0E6C 802CC4BC 8E050000 */ lw $a1, ($s0) -/* F0E70 802CC4C0 26100004 */ addiu $s0, $s0, 4 -/* F0E74 802CC4C4 0220202D */ daddu $a0, $s1, $zero -/* F0E78 802CC4C8 0C0B210B */ jal evt_get_float_variable -/* F0E7C 802CC4CC 46000786 */ mov.s $f30, $f0 -/* F0E80 802CC4D0 0220202D */ daddu $a0, $s1, $zero -/* F0E84 802CC4D4 8E050000 */ lw $a1, ($s0) -/* F0E88 802CC4D8 0C0B210B */ jal evt_get_float_variable -/* F0E8C 802CC4DC 46000706 */ mov.s $f28, $f0 -/* F0E90 802CC4E0 12400049 */ beqz $s2, .L802CC608 -/* F0E94 802CC4E4 46000686 */ mov.s $f26, $f0 -/* F0E98 802CC4E8 27A20038 */ addiu $v0, $sp, 0x38 -/* F0E9C 802CC4EC 3C0146FF */ lui $at, 0x46ff -/* F0EA0 802CC4F0 3421FE00 */ ori $at, $at, 0xfe00 -/* F0EA4 802CC4F4 44811000 */ mtc1 $at, $f2 -/* F0EA8 802CC4F8 44802000 */ mtc1 $zero, $f4 -/* F0EAC 802CC4FC 3C01BF80 */ lui $at, 0xbf80 -/* F0EB0 802CC500 44810000 */ mtc1 $at, $f0 -/* F0EB4 802CC504 3C014120 */ lui $at, 0x4120 -/* F0EB8 802CC508 44817000 */ mtc1 $at, $f14 -/* F0EBC 802CC50C 4406A000 */ mfc1 $a2, $f20 -/* F0EC0 802CC510 4600C306 */ mov.s $f12, $f24 -/* F0EC4 802CC514 E7A20044 */ swc1 $f2, 0x44($sp) -/* F0EC8 802CC518 AFA20018 */ sw $v0, 0x18($sp) -/* F0ECC 802CC51C 27A2003C */ addiu $v0, $sp, 0x3c -/* F0ED0 802CC520 AFA2001C */ sw $v0, 0x1c($sp) -/* F0ED4 802CC524 27A20040 */ addiu $v0, $sp, 0x40 -/* F0ED8 802CC528 AFA20020 */ sw $v0, 0x20($sp) -/* F0EDC 802CC52C 27A20044 */ addiu $v0, $sp, 0x44 -/* F0EE0 802CC530 AFA20024 */ sw $v0, 0x24($sp) -/* F0EE4 802CC534 27A20048 */ addiu $v0, $sp, 0x48 -/* F0EE8 802CC538 AFA20028 */ sw $v0, 0x28($sp) -/* F0EEC 802CC53C 27A2004C */ addiu $v0, $sp, 0x4c -/* F0EF0 802CC540 AFA2002C */ sw $v0, 0x2c($sp) -/* F0EF4 802CC544 27A20050 */ addiu $v0, $sp, 0x50 -/* F0EF8 802CC548 44072000 */ mfc1 $a3, $f4 -/* F0EFC 802CC54C 460EB380 */ add.s $f14, $f22, $f14 -/* F0F00 802CC550 E7A00010 */ swc1 $f0, 0x10($sp) -/* F0F04 802CC554 E7A40014 */ swc1 $f4, 0x14($sp) -/* F0F08 802CC558 0C017449 */ jal test_ray_zones -/* F0F0C 802CC55C AFA20030 */ sw $v0, 0x30($sp) -/* F0F10 802CC560 0040182D */ daddu $v1, $v0, $zero -/* F0F14 802CC564 0460001A */ bltz $v1, .L802CC5D0 -/* F0F18 802CC568 000310C0 */ sll $v0, $v1, 3 -/* F0F1C 802CC56C 00431023 */ subu $v0, $v0, $v1 -/* F0F20 802CC570 3C03800E */ lui $v1, %hi(D_800D91D4) -/* F0F24 802CC574 8C6391D4 */ lw $v1, %lo(D_800D91D4)($v1) -/* F0F28 802CC578 00021080 */ sll $v0, $v0, 2 -/* F0F2C 802CC57C 00431021 */ addu $v0, $v0, $v1 -/* F0F30 802CC580 8C420010 */ lw $v0, 0x10($v0) -/* F0F34 802CC584 266304D8 */ addiu $v1, $s3, 0x4d8 -/* F0F38 802CC588 24440020 */ addiu $a0, $v0, 0x20 -.L802CC58C: -/* F0F3C 802CC58C 8C480000 */ lw $t0, ($v0) -/* F0F40 802CC590 8C490004 */ lw $t1, 4($v0) -/* F0F44 802CC594 8C4A0008 */ lw $t2, 8($v0) -/* F0F48 802CC598 8C4B000C */ lw $t3, 0xc($v0) -/* F0F4C 802CC59C AC680000 */ sw $t0, ($v1) -/* F0F50 802CC5A0 AC690004 */ sw $t1, 4($v1) -/* F0F54 802CC5A4 AC6A0008 */ sw $t2, 8($v1) -/* F0F58 802CC5A8 AC6B000C */ sw $t3, 0xc($v1) -/* F0F5C 802CC5AC 24420010 */ addiu $v0, $v0, 0x10 -/* F0F60 802CC5B0 1444FFF6 */ bne $v0, $a0, .L802CC58C -/* F0F64 802CC5B4 24630010 */ addiu $v1, $v1, 0x10 -/* F0F68 802CC5B8 8C480000 */ lw $t0, ($v0) -/* F0F6C 802CC5BC 8C490004 */ lw $t1, 4($v0) -/* F0F70 802CC5C0 8C4A0008 */ lw $t2, 8($v0) -/* F0F74 802CC5C4 AC680000 */ sw $t0, ($v1) -/* F0F78 802CC5C8 AC690004 */ sw $t1, 4($v1) -/* F0F7C 802CC5CC AC6A0008 */ sw $t2, 8($v1) -.L802CC5D0: -/* F0F80 802CC5D0 0000102D */ daddu $v0, $zero, $zero -/* F0F84 802CC5D4 E67804B0 */ swc1 $f24, 0x4b0($s3) -/* F0F88 802CC5D8 E67604B4 */ swc1 $f22, 0x4b4($s3) -/* F0F8C 802CC5DC E67404B8 */ swc1 $f20, 0x4b8($s3) -/* F0F90 802CC5E0 E67E04DC */ swc1 $f30, 0x4dc($s3) -/* F0F94 802CC5E4 E67C04E0 */ swc1 $f28, 0x4e0($s3) -/* F0F98 802CC5E8 E67A04FC */ swc1 $f26, 0x4fc($s3) -/* F0F9C 802CC5EC C7A60054 */ lwc1 $f6, 0x54($sp) -/* F0FA0 802CC5F0 24030001 */ addiu $v1, $zero, 1 -/* F0FA4 802CC5F4 E6660490 */ swc1 $f6, 0x490($s3) -/* F0FA8 802CC5F8 A6630506 */ sh $v1, 0x506($s3) -/* F0FAC 802CC5FC A6630504 */ sh $v1, 0x504($s3) -/* F0FB0 802CC600 080B318B */ j .L802CC62C -/* F0FB4 802CC604 AE600508 */ sw $zero, 0x508($s3) -.L802CC608: -/* F0FB8 802CC608 C6620484 */ lwc1 $f2, 0x484($s3) -/* F0FBC 802CC60C 3C013F80 */ lui $at, 0x3f80 -/* F0FC0 802CC610 44810000 */ mtc1 $at, $f0 -/* F0FC4 802CC614 00000000 */ nop -/* F0FC8 802CC618 4602003E */ c.le.s $f0, $f2 -/* F0FCC 802CC61C 00000000 */ nop -/* F0FD0 802CC620 45010002 */ bc1t .L802CC62C -/* F0FD4 802CC624 24020002 */ addiu $v0, $zero, 2 -/* F0FD8 802CC628 0000102D */ daddu $v0, $zero, $zero -.L802CC62C: -/* F0FDC 802CC62C 8FBF0068 */ lw $ra, 0x68($sp) -/* F0FE0 802CC630 8FB30064 */ lw $s3, 0x64($sp) -/* F0FE4 802CC634 8FB20060 */ lw $s2, 0x60($sp) -/* F0FE8 802CC638 8FB1005C */ lw $s1, 0x5c($sp) -/* F0FEC 802CC63C 8FB00058 */ lw $s0, 0x58($sp) -/* F0FF0 802CC640 D7BE0098 */ ldc1 $f30, 0x98($sp) -/* F0FF4 802CC644 D7BC0090 */ ldc1 $f28, 0x90($sp) -/* F0FF8 802CC648 D7BA0088 */ ldc1 $f26, 0x88($sp) -/* F0FFC 802CC64C D7B80080 */ ldc1 $f24, 0x80($sp) -/* F1000 802CC650 D7B60078 */ ldc1 $f22, 0x78($sp) -/* F1004 802CC654 D7B40070 */ ldc1 $f20, 0x70($sp) -/* F1008 802CC658 03E00008 */ jr $ra -/* F100C 802CC65C 27BD00A0 */ addiu $sp, $sp, 0xa0 diff --git a/ver/us/symbol_addrs.txt b/ver/us/symbol_addrs.txt index ebbf0c3e64..ee6e242e1a 100644 --- a/ver/us/symbol_addrs.txt +++ b/ver/us/symbol_addrs.txt @@ -2555,9 +2555,6 @@ queue_render_task = 0x8011D910; // type:func rom:0xB4010 execute_render_tasks = 0x8011D9B8; // type:func rom:0xB40B8 animator_copy_vertices_to_buffer = 0x8011DE80; // type:func rom:0xB4580 gZoneCollisionData = 0x800D91D0; // type:data rom:0xB45D0 -D_800D91D4 = 0x800D91D4; // type:data rom:0xB45D4 -D_800D91D8 = 0x800D91D8; // type:data rom:0xB45D8 -D_800D91DC = 0x800D91DC; // type:data rom:0xB45DC wMapHitName = 0x800D91E0; // type:data rom:0xB45E0 nuSiMgrMesgQ = 0x800D91F8; // type:data rom:0xB45F8 wMapShapeName = 0x800D9230; // type:data rom:0xB4630