From 59050ec3e9bbdff5791ea01392f0427d8c8d995c Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Mon, 4 Oct 2021 00:44:16 +0900 Subject: [PATCH] Effects & misc (#458) * fx_6_appendGfx * update_effects * effect_6 done * Update diff.py * update configure for new splat * git subrepo pull --force tools/splat subrepo: subdir: "tools/splat" merged: "0efa552c5d" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "0efa552c5d" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * nu stuff / undefined_syms org * Actor struct refactor to match AddActorVar (thanks Josh) * various cleanup, matched an obfuscation func * fx_7 work * is_block_on_ground * state_* * create_entity_shadow, update asm macro to fix diff.py * set_standard_shadow_scale * set_npc_shadow_scale and set_peach_shadow_scale * create_shadow_type * revert macro.inc * clear_model_data (thanks Josh) * cleanup * mdl_get_next_texture_address * mdl_set_all_fog_mode * load_model_textures * fx_7_appendGfx (effect_7 done) * fx_8_main * fx_8_render * fx_8_update * func_E0010000 * func_E0010104 * effect_8 done * effect_8 done * warnings * cleanup * try to fix some warnings * warnings + change Bowser Slug behavior --- Jenkinsfile | 7 +- include/common_structs.h | 27 +- include/effects.h | 2 +- include/effects_internal.h | 1 + include/functions.h | 4 +- include/model.h | 18 +- include/variables.h | 3 + src/104730.c | 33 +- src/16c8e0.c | 2 +- src/17FEB0.c | 2 +- src/181810.c | 37 +- src/18F340.c | 2 +- src/190B20.c | 6 +- src/197F40.c | 50 ++- src/19FAF0.c | 2 +- src/1A5830.c | 18 +- src/1AC760.c | 2 +- src/3169f0.c | 14 +- src/316d90.c | 20 +- src/316f30.c | 1 + src/a5dd0_len_114e0.c | 316 +++++++++++++++--- src/battle/item/insecticide_herb.c | 2 +- src/battle/partner/bombette.c | 20 +- src/battle/partner/goombario.c | 34 +- src/battle/partner/kooper.c | 20 +- src/effects/effect_7.c | 183 +++++++++- src/effects/effect_8.c | 188 ++++++++++- src/entity/Block.c | 2 +- src/heap.c | 12 +- src/world/common/StarSpiritEffectFunc.inc.c | 2 +- src/world/common/UnkFunc52.inc.c | 2 +- src/world/common/UnkMoveFunc1.inc.c | 6 +- ver/us/asm/nonmatchings/197F40/AddActorVar.s | 44 --- .../asm/nonmatchings/3169f0/func_80200000.s | 38 --- .../a5dd0_len_114e0/clear_model_data.s | 180 ---------- .../a5dd0_len_114e0/create_entity_shadow.s | 43 --- .../a5dd0_len_114e0/create_shadow_type.s | 69 ---- .../a5dd0_len_114e0/is_block_on_ground.s | 33 -- .../a5dd0_len_114e0/load_model_textures.s | 39 --- .../mdl_get_next_texture_address.s | 23 -- .../a5dd0_len_114e0/mdl_set_all_fog_mode.s | 31 -- .../a5dd0_len_114e0/set_npc_shadow_scale.s | 74 ---- .../a5dd0_len_114e0/set_peach_shadow_scale.s | 103 ------ .../set_standard_shadow_scale.s | 61 ---- .../a5dd0_len_114e0/state_do_unk.s | 33 -- .../a5dd0_len_114e0/state_render_backUI.s | 33 -- .../a5dd0_len_114e0/state_render_frontUI.s | 59 ---- .../effects/effect_7/func_E000E174.s | 59 ---- .../effects/effect_7/func_E000E244.s | 21 -- .../effects/effect_7/func_E000E288.s | 262 --------------- .../nonmatchings/effects/effect_7/fx_7_main.s | 99 ------ .../effects/effect_8/func_E0010000.s | 69 ---- .../effects/effect_8/func_E0010104.s | 63 ---- .../effects/effect_8/func_E00103F4.s | 57 ---- .../effects/effect_8/func_E00104B0.s | 21 -- .../effects/effect_8/func_E00104F4.s | 11 - .../effects/effect_8/func_E0010510.s | 136 -------- .../nonmatchings/effects/effect_8/fx_8_main.s | 137 -------- ver/us/splat.yaml | 4 +- ver/us/symbol_addrs.txt | 17 +- ver/us/undefined_syms.txt | 11 +- 61 files changed, 818 insertions(+), 2050 deletions(-) delete mode 100644 ver/us/asm/nonmatchings/197F40/AddActorVar.s delete mode 100644 ver/us/asm/nonmatchings/3169f0/func_80200000.s delete mode 100644 ver/us/asm/nonmatchings/a5dd0_len_114e0/clear_model_data.s delete mode 100644 ver/us/asm/nonmatchings/a5dd0_len_114e0/create_entity_shadow.s delete mode 100644 ver/us/asm/nonmatchings/a5dd0_len_114e0/create_shadow_type.s delete mode 100644 ver/us/asm/nonmatchings/a5dd0_len_114e0/is_block_on_ground.s delete mode 100644 ver/us/asm/nonmatchings/a5dd0_len_114e0/load_model_textures.s delete mode 100644 ver/us/asm/nonmatchings/a5dd0_len_114e0/mdl_get_next_texture_address.s delete mode 100644 ver/us/asm/nonmatchings/a5dd0_len_114e0/mdl_set_all_fog_mode.s delete mode 100644 ver/us/asm/nonmatchings/a5dd0_len_114e0/set_npc_shadow_scale.s delete mode 100644 ver/us/asm/nonmatchings/a5dd0_len_114e0/set_peach_shadow_scale.s delete mode 100644 ver/us/asm/nonmatchings/a5dd0_len_114e0/set_standard_shadow_scale.s delete mode 100644 ver/us/asm/nonmatchings/a5dd0_len_114e0/state_do_unk.s delete mode 100644 ver/us/asm/nonmatchings/a5dd0_len_114e0/state_render_backUI.s delete mode 100644 ver/us/asm/nonmatchings/a5dd0_len_114e0/state_render_frontUI.s delete mode 100644 ver/us/asm/nonmatchings/effects/effect_7/func_E000E174.s delete mode 100644 ver/us/asm/nonmatchings/effects/effect_7/func_E000E244.s delete mode 100644 ver/us/asm/nonmatchings/effects/effect_7/func_E000E288.s delete mode 100644 ver/us/asm/nonmatchings/effects/effect_7/fx_7_main.s delete mode 100644 ver/us/asm/nonmatchings/effects/effect_8/func_E0010000.s delete mode 100644 ver/us/asm/nonmatchings/effects/effect_8/func_E0010104.s delete mode 100644 ver/us/asm/nonmatchings/effects/effect_8/func_E00103F4.s delete mode 100644 ver/us/asm/nonmatchings/effects/effect_8/func_E00104B0.s delete mode 100644 ver/us/asm/nonmatchings/effects/effect_8/func_E00104F4.s delete mode 100644 ver/us/asm/nonmatchings/effects/effect_8/func_E0010510.s delete mode 100644 ver/us/asm/nonmatchings/effects/effect_8/fx_8_main.s diff --git a/Jenkinsfile b/Jenkinsfile index 54d99a3109..eb857d12de 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -42,11 +42,10 @@ pipeline { def message = "${us_progress}\n${jp_progress}\n${warnings}" if (message != "\n\n") { - if (comment_id == -1) { - pullRequest.comment(message) - } else { - pullRequest.editComment(comment_id, message) + if (comment_id != -1) { + pullRequest.deleteComment(comment_id) } + pullRequest.comment(message) } } } diff --git a/include/common_structs.h b/include/common_structs.h index 98aa90f818..6be8ccb466 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -1245,7 +1245,8 @@ typedef struct StaticShadowData { /* 0x04 */ s32 unk_04; /* 0x08 */ StaticAnimatorNode** animModelNode; /* 0x0C */ void (*onCreateCallback)(Shadow* shadow); - /* 0x10 */ char unk_10[0x14]; + /* 0x10 */ char unk_10[0x10]; + /* 0x20 */ s32 unk_20; } StaticShadowData; // size = 0x24 typedef struct PushBlockGrid { @@ -1330,7 +1331,7 @@ typedef struct ActorPart { /* 0x94 */ u32* idleAnimations; /* 0x98 */ s16 opacity; /* 0x9A */ char unk_9A[2]; - /* 0x9C */ struct Shadow* shadow; + /* 0x9C */ s32 shadowIndex; /* 0xA0 */ f32 shadowScale; /* 0xA4 */ s32 partTypeData[6]; /* 0xBC */ s16 actorTypeData2b[2]; @@ -1567,7 +1568,7 @@ typedef struct ActorMovement { /* 0x4C */ f32 distance; } ActorMovement; // size = 0x50; -typedef struct ActorMovementWalk { +typedef struct ActorState { // TODO: Make the first field of this an ActorMovement /* 0x00 */ Vec3f currentPos; /* 0x0C */ Vec3f goalPos; /* 0x18 */ Vec3f unk_18; @@ -1582,19 +1583,19 @@ typedef struct ActorMovementWalk { /* 0x58 */ s32 animJumpRise; /* 0x5C */ s32 animJumpFall; /* 0x60 */ s32 animJumpLand; -} ActorMovementWalk; // size = 0x64; + /* 0x64 */ s16 moveTime; + /* 0x66 */ s16 moveArcAmplitude; + /* 0x68 */ char unk_74[3]; + /* 0x6B */ u8 jumpPartIndex; + /* 0x6C */ char unk_78[16]; + /* 0x7C */ s32 varTable[16]; +} ActorState; // size = 0xBC; typedef struct Actor { /* 0x000 */ s32 flags; /* 0x004 */ char unk_04[4]; /* 0x008 */ struct ActorDesc* staticActorData; - /* 0x00C */ ActorMovementWalk walk; - /* 0x070 */ s16 moveTime; - /* 0x072 */ s16 moveArcAmplitude; - /* 0x074 */ char unk_74[3]; - /* 0x077 */ u8 jumpPartIndex; - /* 0x078 */ char unk_78[16]; - /* 0x088 */ s32 varTable[16]; + /* 0x00C */ ActorState state; /* 0x0C8 */ ActorMovement fly; /* 0x118 */ f32 flyElapsed; /* 0x11C */ char unk_11C[4]; @@ -1771,7 +1772,7 @@ typedef struct PlayerStatus { /* 0x0B5 */ s8 prevActionState; /* 0x0B6 */ s8 fallState; ///< Also used as sleep state in Peach idle action /* 0x0B7 */ char unk_B7; - /* 0x0B8 */ s32 anim; + /* 0x0B8 */ u32 anim; /* 0x0BC */ u16 unk_BC; /* 0x0BE */ s8 renderMode; /* 0x0BF */ s8 unk_BF; @@ -2065,7 +2066,7 @@ typedef struct { /* 0x00030 */ Matrix4s camPerspMatrix[8]; // could only be length 4, unsure /* 0x00230 */ Gfx mainGfx[0x2080]; /* 0x10630 */ Gfx backgroundGfx[0x200]; // used by gfx_task_background - /* 0x11630 */ Matrix4s matrixStack[0x200]; + /* 0x11630 */ Mtx matrixStack[0x200]; } DisplayContext; // size = 0x19630 typedef struct Temp8010F250 { diff --git a/include/effects.h b/include/effects.h index c7e51a6ece..d6f4805eae 100644 --- a/include/effects.h +++ b/include/effects.h @@ -54,7 +54,7 @@ typedef struct StarSpiritEffect { /* 0x34 */ f32 unk_34; /* 0x38 */ s32 unk_38; /* 0x3C */ s32 unk_3C; - /* 0x40 */ Shadow* unk_40; + /* 0x40 */ s32 unk_40; // an shadowID /* 0x44 */ s16 unk_44; /* 0x46 */ s16 unk_46; /* 0x48 */ s16 unk_48; diff --git a/include/effects_internal.h b/include/effects_internal.h index 3f90f19f89..a7d0a204e2 100644 --- a/include/effects_internal.h +++ b/include/effects_internal.h @@ -14,6 +14,7 @@ f32 shim_cos_deg(f32 x); f32 shim_clamp_angle(f32 theta); void shim_guMtxF2L(float mf[4][4], Mtx *m); void shim_guMtxCatF(float m[4][4], float n[4][4], float r[4][4]); +void shim_guScaleF(float mf[4][4], float x, float y, float z); void shim_guRotateF(float mf[4][4], float a, float x, float y, float z); void shim_guTranslateF(float mf[4][4], float x, float y, float z); void shim_guPositionF(float mf[4][4], float r, float p, float h, float s, float x, float y, float z); diff --git a/include/functions.h b/include/functions.h index a1ad64236d..ca9a725f49 100644 --- a/include/functions.h +++ b/include/functions.h @@ -240,7 +240,7 @@ void resume_group_others(Evt* script, s32 groupFlags); s32 suspend_all_script(s32 id); s32 resume_all_script(s32 id); -Shadow* create_shadow_type(s32 type, f32 x, f32 y, f32 z); +s32 create_shadow_type(s32 type, f32 x, f32 y, f32 z); s32 is_point_within_region(s32 shape, f32 pointX, f32 pointY, f32 centerX, f32 centerY, f32 sizeX, f32 sizeZ); PlayerData* get_player_data(void); @@ -493,7 +493,7 @@ void* load_asset_by_name(const char* assetName, u32* decompressedSize); void mdl_draw_hidden_panel_surface(Gfx** arg0, u16 treeIndex); s32 func_8011CFBC(void); s32 set_screen_overlay_center_worldpos(void); -s32 mdl_get_next_texture_address(void); +s32 mdl_get_next_texture_address(s32); void draw_msg(s32 msgID, s32 posX, s32 posY, s32 opacity, s32 palette, s32 style); void get_background_color_blend(u8* r, u8* g, u8* b, u8* a); diff --git a/include/model.h b/include/model.h index 992564e458..10c88a1296 100644 --- a/include/model.h +++ b/include/model.h @@ -85,18 +85,6 @@ typedef struct TextureHandle { /* 0x40 */ s32* auxPalette; } TextureHandle; // size = 0x44 -typedef void(*ModelCustomGfxBuilderFunc)(s32 index); - -typedef struct ModelCustomGfxBuilder { - /* 0x00 */ ModelCustomGfxBuilderFunc pre; - /* 0x00 */ ModelCustomGfxBuilderFunc post; -} ModelCustomGfxBuilder; // size = 0x8 - -typedef struct ModelCustomGfx { - /* 0x00 */ Gfx* pre; - /* 0x00 */ Gfx* post; -} ModelCustomGfx; // size = 0x8 - typedef struct ModelBlueprint { /* 0x0 */ s16 flags; /* 0x2 */ char unk_02[0x2]; @@ -105,8 +93,10 @@ typedef struct ModelBlueprint { /* 0xC */ Matrix4s* mtx; } ModelBlueprint; // size = 0x10 -typedef ModelCustomGfx ModelCustomGfxList[32]; -typedef ModelCustomGfxBuilder ModelCustomGfxBuilderList[32]; +typedef void(*ModelCustomGfxBuilderFunc)(s32 index); + +typedef Gfx* ModelCustomGfxList[32]; +typedef ModelCustomGfxBuilderFunc ModelCustomGfxBuilderList[32]; // In memory this is a list of ModelNodeProperty, but due to the way it uses // the fields (storing into the "type" field) we decided to make a struct for this diff --git a/include/variables.h b/include/variables.h index 75050cb983..f547b9b2ff 100644 --- a/include/variables.h +++ b/include/variables.h @@ -96,6 +96,9 @@ extern MessagePrintState* gCurrentPrintContext; extern s32 D_802DB264; extern MessagePrintState* D_802DB268; +extern StaticShadowData D_802E98BC; +extern StaticShadowData D_802E98E0; +extern StaticShadowData D_802E9904; extern s32 D_802EB390; extern s32 D_802EB394; extern MessagePrintState* D_802EB398; diff --git a/src/104730.c b/src/104730.c index 262a0ab778..26bbd727eb 100644 --- a/src/104730.c +++ b/src/104730.c @@ -102,25 +102,32 @@ s32 D_802E9898[9] = { 0x00000000, }; -s32 D_802E98BC[8] = { - 0x00200000, (s32) &D_802E9850, 0x00000000, (s32)entity_Shadow_init, - 0x00000000, 0x00000000, 0x00000000, 0x00000000 +StaticShadowData D_802E98BC = { + .flags = 0x20, + .unk_04 = &D_802E9850, + .animModelNode = NULL, + .onCreateCallback = entity_Shadow_init, + .unk_20 = 0x01190A19, }; -s32 D_802E98DC[9] = { - 0x01190A19, 0x00200000, (s32) &D_802E9874, 0x00000000, - (s32)entity_Shadow_init, 0x00000000, 0x00000000, 0x00000000, - 0x00000000 +StaticShadowData D_802E98E0 = { + .flags = 0x20, + .unk_04 = &D_802E9874, + .animModelNode = NULL, + .onCreateCallback = entity_Shadow_init, + .unk_20 = 0x01190A19, }; -s32 D_802E9900[9] = { - 0x01190A19, 0x00200000, (s32) &D_802E9898, 0x00000000, - (s32)entity_Shadow_init, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, +StaticShadowData D_802E9904 = { + .flags = 0x20, + .unk_04 = &D_802E9898, + .animModelNode = NULL, + .onCreateCallback = entity_Shadow_init, + .unk_20 = 0x01190A19, }; -s32 D_802E9924[3] = { - 0x01190A19, 0x00000000, 0x00000000 +s32 D_802E9928[2] = { + 0x00000000, 0x00000000 }; s32 D_802E9930[51] = { diff --git a/src/16c8e0.c b/src/16c8e0.c index 4910e032b1..4cbfd67074 100644 --- a/src/16c8e0.c +++ b/src/16c8e0.c @@ -610,7 +610,7 @@ void btl_delete_actor(Actor* actor) { while (partsTable != NULL) { if (!(partsTable->flags & 0x4)) { - delete_shadow(partsTable->shadow); + delete_shadow(partsTable->shadowIndex); } if (partsTable->idleAnimations != NULL) { diff --git a/src/17FEB0.c b/src/17FEB0.c index 7277f9eadf..237c86a3dd 100644 --- a/src/17FEB0.c +++ b/src/17FEB0.c @@ -2,7 +2,7 @@ HitResult calc_item_check_hit(void) { BattleStatus* battleStatus = &gBattleStatus; - ActorMovement* walk = &battleStatus->playerActor->walk; + ActorMovement* walk = &battleStatus->playerActor->state; ActorID actorID = battleStatus->currentTargetID; s8 currentTargetPartS8; u32 currentTargetPart; diff --git a/src/181810.c b/src/181810.c index 1b325e5f0d..836d0c97f2 100644 --- a/src/181810.c +++ b/src/181810.c @@ -18,7 +18,6 @@ ApiStatus ActorSpeak(Evt* script, s32 isInitialCall) { s32 msgID; ActorID actorID; s32 partIndex; - MessagePrintState** printContext; s32 anim; f32 headX, headY, headZ; @@ -43,20 +42,17 @@ ApiStatus ActorSpeak(Evt* script, s32 isInitialCall) { gSpeakingActorPart = part; headX = actor->currentPos.x + actor->headOffset.x; - if ((actor->flags & 0x8000) == 0) { + if (!(actor->flags & 0x8000)) { headY = actor->size.y + (actor->currentPos.y + actor->headOffset.y); } else { - f32 tmp = actor->headOffset.y; - headY = actor->currentPos.y + tmp + (actor->size.y / 2); + headY = actor->currentPos.y + actor->headOffset.y + (actor->size.y / 2); } + headZ = actor->currentPos.z + actor->headOffset.z; get_screen_coords(CAM_BATTLE, headX, headY, headZ, &screenX, &screenY, &screenZ); - { - s32* isPrintDone = &gSpeakingActorPrintIsDone; - *isPrintDone = FALSE; - gSpeakingActorPrintCtx = msg_get_printer_for_msg(msgID2, isPrintDone); - } + gSpeakingActorPrintIsDone = FALSE; + gSpeakingActorPrintCtx = msg_get_printer_for_msg(msgID2, &gSpeakingActorPrintIsDone); msg_printer_set_origin_pos(gSpeakingActorPrintCtx, screenX, screenY); script->functionTemp[0] = 0; @@ -72,24 +68,24 @@ ApiStatus ActorSpeak(Evt* script, s32 isInitialCall) { part = gSpeakingActorPart; headX = actor->currentPos.x + actor->headOffset.x; - if ((actor->flags & 0x8000) == 0) { + if (!(actor->flags & 0x8000)) { headY = actor->size.y + (actor->currentPos.y + actor->headOffset.y); } else { headY = actor->headOffset.y; headY = actor->currentPos.y + actor->headOffset.y + (actor->size.y / 2); } + headZ = actor->currentPos.z + actor->headOffset.z; get_screen_coords(CAM_BATTLE, headX, headY, headZ, &screenX, &screenY, &screenZ); - printContext = &gSpeakingActorPrintCtx; - msg_printer_set_origin_pos(*printContext, screenX, screenY); + msg_printer_set_origin_pos(gSpeakingActorPrintCtx, screenX, screenY); - if ((*printContext)->stateFlags & 0x40) { + if (gSpeakingActorPrintCtx->stateFlags & 0x40) { decrement_status_menu_disabled(); return ApiStatus_DONE1; } - if ((*printContext)->stateFlags & 0x80) { // "is talking" flag + if (gSpeakingActorPrintCtx->stateFlags & 0x80) { // "is talking" flag anim = gSpeakingActorTalkAnim; } else { anim = gSpeakingActorIdleAnim; @@ -99,13 +95,12 @@ ApiStatus ActorSpeak(Evt* script, s32 isInitialCall) { func_80263E08(actor, part, anim); } - if (gSpeakingActorPrintIsDone == 1) { + if (gSpeakingActorPrintIsDone == TRUE) { decrement_status_menu_disabled(); gOverrideFlags &= ~0x10; return ApiStatus_DONE1; } } - return ApiStatus_BLOCK; } @@ -125,7 +120,7 @@ ApiStatus EndActorSpeech(Evt* script, s32 isInitialCall) { gSpeakingActorIdleAnim = evt_get_variable(script, *args++); if (actor == ACTOR_SELF) { - actor = script->owner1.enemyID; + actor = script->owner1.actorID; } actor = (s32) get_actor(actor); actorPart = get_actor_part((Actor*)actor, partIndex); @@ -213,16 +208,16 @@ ApiStatus OverrideBattleDmaDest(Evt* script, s32 isInitialCall) { } ApiStatus LoadBattleDmaData(Evt* script, s32 isInitialCall) { - s32* moveScript = &gBattleAreas[gCurrentBattleSection].dmaTable[evt_get_variable(script, *script->ptrReadPos)]; + DmaTable* moveScript = &gBattleAreas[gCurrentBattleSection].dmaTable[evt_get_variable(script, *script->ptrReadPos)]; if (moveScript == NULL) { return ApiStatus_DONE2; } - + if (gBattleDmaDest == 0) { - dma_copy(moveScript[0], moveScript[1], moveScript[2]); + dma_copy(moveScript->dmaStart, moveScript->dmaEnd, moveScript->dmaDest); } else { - dma_copy(moveScript[0], moveScript[1], gBattleDmaDest); + dma_copy(moveScript->dmaStart, moveScript->dmaEnd, gBattleDmaDest); } return ApiStatus_DONE2; diff --git a/src/18F340.c b/src/18F340.c index 175896e114..6eef3adae2 100644 --- a/src/18F340.c +++ b/src/18F340.c @@ -83,7 +83,7 @@ ApiStatus func_80260DD8(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } - var = player->varTable[0]; + var = player->state.varTable[0]; if (var >= rand_int(100)) { script->varTable[0] = TRUE; } else { diff --git a/src/190B20.c b/src/190B20.c index c9573e2d6c..7a70be79db 100644 --- a/src/190B20.c +++ b/src/190B20.c @@ -1626,7 +1626,7 @@ void create_part_shadow(ActorID actorID, s32 partIndex) { ActorPart* part = get_actor_part(get_actor(actorID), partIndex); part->flags &= ~4; - part->shadow = create_shadow_type(0, part->currentPos.x, part->currentPos.y, part->currentPos.z); + part->shadowIndex = create_shadow_type(0, part->currentPos.x, part->currentPos.y, part->currentPos.z); part->shadowScale = part->size.x / 24.0; } @@ -1634,12 +1634,12 @@ void remove_part_shadow(ActorID actorID, s32 partIndex) { ActorPart* part = get_actor_part(get_actor(actorID), partIndex); part->flags |= 4; - delete_shadow(part->shadow); + delete_shadow(part->shadowIndex); } void create_part_shadow_by_ref(UNK_TYPE arg0, ActorPart* part) { part->flags &= ~4; - part->shadow = create_shadow_type(0, part->currentPos.x, part->currentPos.y, part->currentPos.z); + part->shadowIndex = create_shadow_type(0, part->currentPos.x, part->currentPos.y, part->currentPos.z); part->shadowScale = part->size.x / 24.0; } diff --git a/src/197F40.c b/src/197F40.c index acae2028e9..0542f45477 100644 --- a/src/197F40.c +++ b/src/197F40.c @@ -138,9 +138,9 @@ ApiStatus SetGoalToHome(Evt* script, s32 isInitialCall) { } actor = get_actor(actorID); - actor->walk.goalPos.x = actor->homePos.x; - actor->walk.goalPos.y = actor->homePos.y; - actor->walk.goalPos.z = actor->homePos.z; + actor->state.goalPos.x = actor->homePos.x; + actor->state.goalPos.y = actor->homePos.y; + actor->state.goalPos.z = actor->homePos.z; return ApiStatus_DONE2; } @@ -270,7 +270,7 @@ ApiStatus SetGoalToTarget(Evt* script, s32 isInitialCall) { } actor = get_actor(actorID); - set_goal_pos_to_part(&actor->walk, actor->targetActorID, actor->targetPartIndex); + set_goal_pos_to_part(&actor->state, actor->targetActorID, actor->targetPartIndex); return ApiStatus_DONE2; } @@ -303,7 +303,7 @@ ApiStatus SetGoalToFirstTarget(Evt* script, s32 isInitialCall) { actor = get_actor(actorID); target = &actor->targetData[actor->targetIndexList[0]]; - set_goal_pos_to_part(&actor->walk, target->actorID, target->partID); + set_goal_pos_to_part(&actor->state, target->actorID, target->partID); return ApiStatus_DONE2; } @@ -319,10 +319,10 @@ ApiStatus SetGoalPos(Evt* script, s32 isInitialCall) { actorID = script->owner1.actorID; } actor = get_actor(actorID); - walk = &actor->walk; + walk = &actor->state; if (*args == -12345678) { - x = actor->walk.goalPos.x; + x = actor->state.goalPos.x; } else { x = evt_get_variable(script, *args); } @@ -402,9 +402,9 @@ ApiStatus AddGoalPos(Evt* script, s32 isInitialCall) { z = evt_get_float_variable(script, *args++); actor = get_actor(actorID); - actor->walk.goalPos.x += x; - actor->walk.goalPos.y += y; - actor->walk.goalPos.z += z; + actor->state.goalPos.x += x; + actor->state.goalPos.y += y; + actor->state.goalPos.z += z; return ApiStatus_DONE2; } @@ -426,9 +426,9 @@ ApiStatus GetGoalPos(Evt* script, s32 isInitialCall) { outY = *args++; outZ = *args++; - x = actor->walk.goalPos.x; - y = actor->walk.goalPos.y; - z = actor->walk.goalPos.z; + x = actor->state.goalPos.x; + y = actor->state.goalPos.y; + z = actor->state.goalPos.z; evt_set_variable(script, outX, x); evt_set_variable(script, outY, y); @@ -832,7 +832,7 @@ ApiStatus SetActorJumpGravity(Evt* script, s32 isInitialCall) { } jumpAccel = evt_get_float_variable(script, *args++); - get_actor(actorID)->walk.acceleration = jumpAccel; + get_actor(actorID)->state.acceleration = jumpAccel; return ApiStatus_DONE2; } @@ -860,7 +860,7 @@ ApiStatus SetActorSpeed(Evt* script, s32 isInitialCall) { } moveSpeed = evt_get_float_variable(script, *args++); - get_actor(actorID)->walk.speed = moveSpeed; + get_actor(actorID)->state.speed = moveSpeed; return ApiStatus_DONE2; } @@ -932,10 +932,10 @@ ApiStatus SetJumpAnimations(Evt* script, s32 isInitialCall) { animJumpLand = *args++; actor = get_actor(actorID); - actor->jumpPartIndex = jumpPartIndex; - actor->walk.animJumpRise = animJumpRise; - actor->walk.animJumpFall = animJumpFall; - actor->walk.animJumpLand = animJumpLand; + actor->state.jumpPartIndex = jumpPartIndex; + actor->state.animJumpRise = animJumpRise; + actor->state.animJumpFall = animJumpFall; + actor->state.animJumpLand = animJumpLand; return ApiStatus_DONE2; } @@ -1109,7 +1109,7 @@ ApiStatus GetActorVar(Evt* script, s32 isInitialCall) { var1 = evt_get_variable(script, *args++); a2 = *args++; - evt_set_variable(script, a2, get_actor(actorID)->varTable[var1]); + evt_set_variable(script, a2, get_actor(actorID)->state.varTable[var1]); return ApiStatus_DONE2; } @@ -1127,17 +1127,17 @@ ApiStatus SetActorVar(Evt* script, s32 isInitialCall) { index = evt_get_variable(script, *args++); val = evt_get_variable(script, *args++); - get_actor(actorID)->varTable[index] = val; + get_actor(actorID)->state.varTable[index] = val; return ApiStatus_DONE2; } -#ifdef NON_MATCHING ApiStatus AddActorVar(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; ActorID actorID = evt_get_variable(script, *args++); s32 index; s32 val; + ActorState* state; if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; @@ -1146,13 +1146,11 @@ ApiStatus AddActorVar(Evt* script, s32 isInitialCall) { index = evt_get_variable(script, *args++); val = evt_get_variable(script, *args++); - get_actor(actorID)->varTable[index] += val; + state = &get_actor(actorID)->state; + state->varTable[index] += val; return ApiStatus_DONE2; } -#else -INCLUDE_ASM(s32, "197F40", AddActorVar); -#endif ApiStatus GetPartMovementVar(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; diff --git a/src/19FAF0.c b/src/19FAF0.c index ba5d1dffda..8604b5337b 100644 --- a/src/19FAF0.c +++ b/src/19FAF0.c @@ -118,7 +118,7 @@ INCLUDE_ASM(s32, "19FAF0", PlayerFallToGoal, Evt* script, s32 isInitialCall); ApiStatus PlayerLandJump(Evt *script, s32 isInitialCall) { Actor* player = gBattleStatus.playerActor; - ActorMovementWalk* walkMovement = &player->walk; + ActorState* walkMovement = &player->state; if (isInitialCall) { script->functionTemp[0] = 0; diff --git a/src/1A5830.c b/src/1A5830.c index 92c4e81838..9ec04d6753 100644 --- a/src/1A5830.c +++ b/src/1A5830.c @@ -946,20 +946,20 @@ ApiStatus LandJump(Evt* script, s32 isInitialCall) { actor = get_actor(actorID); script->functionTemp[1] = (s32)actor; - actor->walk.currentPos.x = actor->currentPos.x; - actor->walk.currentPos.y = actor->currentPos.y; - actor->walk.currentPos.z = actor->currentPos.z; + actor->state.currentPos.x = actor->currentPos.x; + actor->state.currentPos.y = actor->currentPos.y; + actor->state.currentPos.z = actor->currentPos.z; script->functionTemp[0] = 1; } actor = (Actor*)script->functionTemp[1]; - actor->walk.currentPos.y += actor->walk.velocity; - actor->walk.velocity -= actor->walk.acceleration; + actor->state.currentPos.y += actor->state.velocity; + actor->state.velocity -= actor->state.acceleration; - add_xz_vec3f(&actor->walk.currentPos, actor->walk.speed, actor->walk.angle); - actor->currentPos.x = actor->walk.currentPos.x; - actor->currentPos.y = actor->walk.currentPos.y; - actor->currentPos.z = actor->walk.currentPos.z; + add_xz_vec3f(&actor->state.currentPos, actor->state.speed, actor->state.angle); + actor->currentPos.x = actor->state.currentPos.x; + actor->currentPos.y = actor->state.currentPos.y; + actor->currentPos.z = actor->state.currentPos.z; if (actor->currentPos.y < 0.0f) { actor->currentPos.y = 0.0f; diff --git a/src/1AC760.c b/src/1AC760.c index ca24946045..f5b171b567 100644 --- a/src/1AC760.c +++ b/src/1AC760.c @@ -171,7 +171,7 @@ ApiStatus func_8027FC90(Evt* script, s32 isInitialCall) { battleStatus->flags1 |= 0x20; hitResult = calc_partner_damage_enemy(); - show_damage_popup(actor->walk.goalPos.x, actor->walk.goalPos.y, actor->walk.goalPos.z, battleStatus->lastAttackDamage, + show_damage_popup(actor->state.goalPos.x, actor->state.goalPos.y, actor->state.goalPos.z, battleStatus->lastAttackDamage, 0); evt_set_variable(script, outVar, hitResult); diff --git a/src/3169f0.c b/src/3169f0.c index 2d6e547932..6724b87043 100644 --- a/src/3169f0.c +++ b/src/3169f0.c @@ -1,3 +1,15 @@ #include "common.h" -INCLUDE_ASM(s32, "3169f0", func_80200000); +extern void(*D_8004AA85)(void); + +void func_80200000(void) { + u32 t0 = 0xAC29007B; + u32 t1 = 0xB00006A8; + void(*create_audio_subsystem)(void) = &D_8004AA85; + + while (IO_READ(PI_STATUS_REG) & 3); + + t0 -= IO_READ(t1 - 0x1C8); + create_audio_subsystem += t0; + create_audio_subsystem(); +} diff --git a/src/316d90.c b/src/316d90.c index ee45990cd6..dcb8677c3c 100644 --- a/src/316d90.c +++ b/src/316d90.c @@ -6,19 +6,13 @@ extern s32 D_7012ACA1[]; void func_802AE000(void) { - s32(*readFunc)(OSPiHandle*, u32, u32*); - UNK_FUN_PTR(aFunction); + s32(*readFunc)(OSPiHandle*, u32, u32*) = osEPiReadIo; + s32 seed = 0x33F50000; + UNK_FUN_PTR(battle_heap_create) = D_7012ACA1; + u32 hash = 0; u32 thisInsn; u32* it; u32 prevInsn; - s32 seed; - u32 blah; - u32 hash; - - readFunc = osEPiReadIo; - seed = 0x33F50000; - aFunction = D_7012ACA1; - hash = 0; readFunc(nuPiCartHandle, 0xB0000800, &thisInsn); seed -= thisInsn; @@ -43,11 +37,11 @@ void func_802AE000(void) { prevInsn = thisInsn; } - aFunction += seed + 0x291993 - hash; + battle_heap_create += seed + 0x291993 - hash; // If the function's address is 0x8XXXXXXX - if (((u32)aFunction >> 0x1C) == 8) { - (aFunction)(); + if (((u32)battle_heap_create >> 0x1C) == 8) { + (battle_heap_create)(); } else { _heap_create(&D_803DA800, 0x10000); } diff --git a/src/316f30.c b/src/316f30.c index 0e1a72c8be..6a0dc16abb 100644 --- a/src/316f30.c +++ b/src/316f30.c @@ -3,6 +3,7 @@ void func_80200000(void); void func_80200080(void); +void func_802AE000_316C00(void); void func_802AE000(void); void func_802B2000(void) { diff --git a/src/a5dd0_len_114e0.c b/src/a5dd0_len_114e0.c index ed112fd065..81a6be04ea 100644 --- a/src/a5dd0_len_114e0.c +++ b/src/a5dd0_len_114e0.c @@ -100,7 +100,7 @@ s32 D_8014B400 = 0xFCFFFFFF; s32 D_8014B404[] = { 0xFFFE793C, 0xFCFFFFFF, 0xFFFE7838, 0xFCFFFFFF, 0xFFFE7838, 0xFC457FFF, 0xFFFDF838, 0xFC41FFFF, 0xFFFEF838, 0xFC127E24, 0xFFFFF3F9, 0xFC127FFF, 0xFFFFF238, 0xFC127FFF, 0xFFFFF238, 0xFC127E0A, 0xF3FFF238, 0xFC127E03, 0xFFFFF378, 0xFC147E28, 0x44FE793C, 0xFC147FFF, 0x4FFE7838, 0xFC147FFF, 0x4FFE7838, 0xFC147E0A, 0x4FFE72F8, 0xFC147E03, 0x4FFE7978, 0xFCFFFFFF, 0xFFFCF279, 0xFCFFFFFF, 0xFFFCF238, 0xFCFFFFFF, 0xFFFCF238, 0xFC157FFF, 0xFFFDF238, 0xFCFFFE03, 0xFFFCF378, 0xFC26A004, 0x1FFC93FC, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1FFC93FC, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF9883, 0xFFFFAF78, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FE03, 0x2FFD7378, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61FEC3, 0x11FCF279, 0xFC61FFFF, 0x1FFCF238, 0xFC61FFFF, 0x1FFCF238, 0xFC61FFFF, 0x1FFCF238, 0xFC61FE03, 0x1FFCF378, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, }; -s32 mdl_textureBaseAddress = 0x8028E000; +u32 mdl_textureBaseAddress = 0x8028E000; s8 mdl_bgMultiplyColorA = 0; s8 mdl_bgMultiplyColorR = 0; @@ -691,13 +691,11 @@ extern TileDescriptor gCurrentTileDescriptor; extern ModelList wModelList; extern ModelList bModelList; -// TODO: potentially a display list, figure this out -extern u32* wModelSpecialDls[32]; -extern u32* bModelSpecialDls[32]; +extern ModelCustomGfxList wModelSpecialDls; +extern ModelCustomGfxList bModelSpecialDls; - -extern ModelCustomGfxBuilder wCustomModelGfxBuilders; -extern ModelCustomGfxBuilder bCustomModelGfxBuilders; +extern ModelCustomGfxBuilderList wCustomModelGfxBuilders; +extern ModelCustomGfxBuilderList bCustomModelGfxBuilders; extern ModelLocalVertexCopy** D_80152190; extern ModelLocalVertexCopy** D_801521D0; @@ -717,6 +715,7 @@ extern s32 texPannerMainU[MAX_TEX_PANNERS]; extern s32 texPannerMainV[MAX_TEX_PANNERS]; extern s32 texPannerAuxU[MAX_TEX_PANNERS]; extern s32 texPannerAuxV[MAX_TEX_PANNERS]; +extern u32 mdl_nextTextureAddress; extern u16 mdl_currentTransformGroupChildIndex; extern ModelNode* D_80153370; extern u16 D_80153374; @@ -742,6 +741,7 @@ void _delete_shadow(s32 shadowIndex); s32 entity_get_collision_flags(Entity* entity); void entity_free_static_data(StaticEntityData* data); void update_entity_shadow_position(Entity* entity); +s32 entity_raycast_down(f32* x, f32* y, f32* z, f32* hitYaw, f32* hitPitch, f32* hitLength); void load_model_transforms(ModelNode* model, ModelNode* parent, Matrix4f mdlTxMtx, s32 treeDepth); void enable_transform_group(u16 modelID); @@ -1420,7 +1420,7 @@ s32 create_shadow_from_data(StaticShadowData* data, f32 x, f32 y, f32 z) { } } - ASSERT(i < 60); + ASSERT(i < ARRAY_COUNT(*gCurrentShadowListPtr)); shadow = heap_malloc(sizeof(*shadow)); (*gCurrentShadowListPtr)[i] = shadow; @@ -1596,9 +1596,60 @@ ApiStatus AssignCrateFlag(Evt* script, s32 isInitialCall) { return ApiStatus_DONE1; } -INCLUDE_ASM(s32, "a5dd0_len_114e0", create_entity_shadow); +s32 create_entity_shadow(Entity* entity, f32 x, f32 y, f32 z) { + u16 staticFlags = entity->staticData->flags; + s32 type; + s16 shadowIndex; -INCLUDE_ASM(Shadow*, "a5dd0_len_114e0", create_shadow_type, s32 type, f32 x, f32 y, f32 z); + if (staticFlags & 0x200) { + if (staticFlags & 0x800) { + type = 2; + } else { + type = 3; + } + } else { + type = ((staticFlags >> 11) ^ 1) & 1; + } + + shadowIndex = create_shadow_type(type, x, y, z); + entity->shadowIndex = shadowIndex; + + get_shadow_by_index(shadowIndex)->flags |= 0xC00000; + + return entity->shadowIndex; +} + +s32 create_shadow_type(s32 type, f32 x, f32 y, f32 z) { + s32 setFlag200 = FALSE; + StaticShadowData* data = &D_802E98BC; + s32 shadowIndex; + + switch (type) { + case 2: + setFlag200 = TRUE; + case 0: + data = &D_802E98BC; + break; + case 3: + setFlag200 = TRUE; + case 1: + data = &D_802E9904; + break; + case 5: + setFlag200 = TRUE; + case 4: + data = &D_802E98E0; + break; + } + + shadowIndex = create_shadow_from_data(data, x, y, z); + + if (setFlag200) { + get_shadow_by_index(shadowIndex)->flags |= 0x200; + } + + return shadowIndex; +} void delete_shadow(s32 shadowIndex) { _delete_shadow(shadowIndex); @@ -1719,13 +1770,86 @@ s32 entity_raycast_down(f32* x, f32* y, f32* z, f32* hitYaw, f32* hitPitch, f32* return ret; } -INCLUDE_ASM(void, "a5dd0_len_114e0", set_standard_shadow_scale, Shadow* shadow, f32 scale); +void set_standard_shadow_scale(Shadow* shadow, f32 height) { + if (!gGameStatusPtr->isBattle) { + shadow->scale.x = 0.13 - (height / 2600.0f); + } else { + shadow->scale.x = 0.12 - (height / 3600.0f); + } -INCLUDE_ASM(s32, "a5dd0_len_114e0", set_npc_shadow_scale); + if (shadow->scale.x < 0.01) { + shadow->scale.x = 0.01f; + } + shadow->scale.z = shadow->scale.x; +} -INCLUDE_ASM(void, "a5dd0_len_114e0", set_peach_shadow_scale, Shadow* shadow, f32 scale); +void set_npc_shadow_scale(Shadow* shadow, f32 height, f32 npcRadius) { + if (!gGameStatusPtr->isBattle) { + shadow->scale.x = 0.13 - (height / 2600.0f); + } else { + shadow->scale.x = 0.12 - (height / 3600.0f); + } -INCLUDE_ASM(s32, "a5dd0_len_114e0", is_block_on_ground); + if (shadow->scale.x < 0.01) { + shadow->scale.x = 0.01f; + } + + if (npcRadius > 60.0f) { + shadow->scale.z = shadow->scale.x * 2.0f; + } else { + shadow->scale.z = shadow->scale.x; + } +} + +void set_peach_shadow_scale(Shadow* shadow, f32 scale) { + PlayerStatus* playerStatus = &gPlayerStatus; + f32 phi_f2 = 0.12f; + + if (!gGameStatusPtr->isBattle) { + switch (playerStatus->anim) { + case 0xC0018: + case 0xC0019: + case 0xC001A: + case 0xD0008: + shadow->scale.x = 0.26f - (scale / 2600.0f); + if (shadow->scale.x < 0.01) { + shadow->scale.x = 0.01f; + } + shadow->scale.z = 0.13f - (scale / 2600.0f); + if (shadow->scale.z < 0.01) { + shadow->scale.z = 0.01f; + } + return; + } + + phi_f2 = 0.16f; + } + + shadow->scale.x = phi_f2 - (scale / 3600.0f); + if (shadow->scale.x < 0.01) { + shadow->scale.x = 0.01f; + } + shadow->scale.z = shadow->scale.x; +} + +s32 is_block_on_ground(Entity* block) { + f32 x = block->position.x; + f32 y = block->position.y; + f32 z = block->position.z; + f32 hitYaw; + f32 hitPitch; + f32 hitLength; + s32 ret; + + entity_raycast_down(&x, &y, &z, &hitYaw, &hitPitch, &hitLength); + + ret = hitLength; + if (ret == 32767) { + ret = 0; + } + + return ret; +} void state_delegate_NOP(void) { } @@ -1850,14 +1974,66 @@ void step_current_game_mode(void) { } } -// similar to step_current_game_mode, but calls unk_0C -INCLUDE_ASM(s32, "a5dd0_len_114e0", state_do_unk); +void state_do_unk(void) { + GameMode* gameMode = gMainGameState; + s32 i; -// similar to step_current_game_mode, but calls render -INCLUDE_ASM(s32, "a5dd0_len_114e0", state_render_backUI); + for (i = 0; i < ARRAY_COUNT(gMainGameState); i++, gameMode++) { + if (gameMode->flags != 0) { + if (!(gameMode->flags & 4)) { + if (!(gameMode->flags & 0x10)) { + gameMode->unk_0C(); + } + } + } + } +} -// calls renderAux and render -INCLUDE_ASM(s32, "a5dd0_len_114e0", state_render_frontUI); +void state_render_backUI(void) { + GameMode* gameMode = gMainGameState; + s32 i; + + for (i = 0; i < ARRAY_COUNT(gMainGameState); i++, gameMode++) { + if (gameMode->flags != 0) { + if (!(gameMode->flags & 4)) { + if (!(gameMode->flags & 0x10)) { + gameMode->render(); + } + } + } + } +} + +void state_render_frontUI(void) { + GameMode* gameMode = gMainGameState; + s32 i; + + for (i = 0; i < ARRAY_COUNT(gMainGameState); i++, gameMode++) { + if (gameMode->flags != 0) { + if (!(gameMode->flags & 4)) { + if (!(gameMode->flags & 2)) { + if (gameMode->flags & 0x20) { + gameMode->renderAux(); + } + } + } + } + } + + // re-initialization needed - evidence of inlining? or just copy/pasting? + gameMode = &gMainGameState; + for (i = 0; i < ARRAY_COUNT(gMainGameState); i++, gameMode++) { + if (gameMode->flags != 0) { + if (!(gameMode->flags & 4)) { + if (!(gameMode->flags & 2)) { + if (gameMode->flags & 0x10) { + gameMode->render(); + } + } + } + } + } +} void appendGfx_model(Model* model); INCLUDE_ASM(void, "a5dd0_len_114e0", appendGfx_model, Model*); @@ -1885,7 +2061,24 @@ ModelNodeProperty* get_model_property(ModelNode* node, ModelPropertyKeys key) { INCLUDE_ASM(s32, "a5dd0_len_114e0", _load_model_textures); -INCLUDE_ASM(s32, "a5dd0_len_114e0", load_model_textures); +void load_model_textures(ModelNode* model, s32 romOffset, s32 size) { + s32 battleOffset = ((gGameStatusPtr->isBattle != 0) << 17); + + mdl_nextTextureAddress = mdl_textureBaseAddress + battleOffset; + + if (model != NULL && romOffset != 0 && size != 0) { + s32 i; + + for (i = 0; i < ARRAY_COUNT(mdl_textureHandles); i++) { + mdl_textureHandles[i].gfx = NULL; + } + + mdl_treeIterPos = 0; + if (model != NULL) { + _load_model_textures(); + } + } +} s32 mdl_get_child_count(ModelNode* model) { s32 ret = 0; @@ -1905,19 +2098,17 @@ s32 mdl_get_child_count(ModelNode* model) { return ret; } -// Issue with pointer advancement in the gCurrentCustomModelGfxPtr loop (adding 8 bytes instead of 4) -#ifdef NON_MATCHING void clear_model_data(void) { s32 i; if (!gGameStatusPtr->isBattle) { - gCurrentModels = wModelList; - gCurrentTransformGroups = wTransformGroups; - gCurrentCustomModelGfxPtr = wModelSpecialDls; + gCurrentModels = &wModelList; + gCurrentTransformGroups = &wTransformGroups; + gCurrentCustomModelGfxPtr = &wModelSpecialDls; gCurrentCustomModelGfxBuildersPtr = &wCustomModelGfxBuilders; gCurrentModelTreeRoot = &D_80152214; gCurrentModelLocalVtxBuffers = &D_80152190; - mdl_currentModelTreeNodeInfo = D_80152220; + mdl_currentModelTreeNodeInfo = &D_80152220; D_801512F0 = &wBgRenderType; mdl_bgMultiplyColorA = 0; mdl_bgMultiplyColorR = 0; @@ -1925,13 +2116,13 @@ void clear_model_data(void) { mdl_bgMultiplyColorB = 0; gCurrentFogSettings = &wFogSettings; } else { - gCurrentModels = bModelList; - gCurrentTransformGroups = bTransformGroups; - gCurrentCustomModelGfxPtr = bModelSpecialDls; + gCurrentModels = &bModelList; + gCurrentTransformGroups = &bTransformGroups; + gCurrentCustomModelGfxPtr = &bModelSpecialDls; gCurrentCustomModelGfxBuildersPtr = &bCustomModelGfxBuilders; gCurrentModelTreeRoot = &D_80152218; gCurrentModelLocalVtxBuffers = &D_801521D0; - mdl_currentModelTreeNodeInfo = D_80152A20; + mdl_currentModelTreeNodeInfo = &D_80152A20; D_801512F0 = &bBgRenderType; gCurrentFogSettings = &bFogSettings; } @@ -1945,8 +2136,8 @@ void clear_model_data(void) { } for (i = 0; i < ARRAY_COUNT(*gCurrentCustomModelGfxPtr); i++) { - (*gCurrentCustomModelGfxPtr)[i].pre = 0; - (*gCurrentCustomModelGfxBuildersPtr)[i].pre = 0; + (*gCurrentCustomModelGfxPtr)[i] = 0; + (*gCurrentCustomModelGfxBuildersPtr)[i] = 0; } *gCurrentModelTreeRoot = NULL; @@ -1973,15 +2164,12 @@ void clear_model_data(void) { texPannerMainU[i] = 0; } } -#else -INCLUDE_ASM(s32, "a5dd0_len_114e0", clear_model_data); -#endif void init_model_data(void) { if (!gGameStatusPtr->isBattle) { gCurrentModels = &wModelList; gCurrentTransformGroups = &wTransformGroups; - gCurrentCustomModelGfxPtr = wModelSpecialDls; + gCurrentCustomModelGfxPtr = &wModelSpecialDls; gCurrentCustomModelGfxBuildersPtr = &wCustomModelGfxBuilders; gCurrentModelTreeRoot = &D_80152214; gCurrentModelLocalVtxBuffers = &D_80152190; @@ -1991,7 +2179,7 @@ void init_model_data(void) { } else { gCurrentModels = &bModelList; gCurrentTransformGroups = &bTransformGroups; - gCurrentCustomModelGfxPtr = bModelSpecialDls; + gCurrentCustomModelGfxPtr = &bModelSpecialDls; gCurrentCustomModelGfxBuildersPtr = &bCustomModelGfxBuilders; gCurrentModelTreeRoot = &D_80152218; gCurrentModelLocalVtxBuffers = &D_801521D0; @@ -2530,13 +2718,13 @@ void set_mdl_custom_gfx_set(Model* model, s32 customGfxIndex, u32 fogType) { } void set_custom_gfx(s32 customGfxIndex, Gfx* pre, Gfx* post) { - (*gCurrentCustomModelGfxPtr)[customGfxIndex].pre = pre; - (*gCurrentCustomModelGfxPtr)[customGfxIndex].post = post; + (*gCurrentCustomModelGfxPtr)[customGfxIndex * 2] = pre; + (*gCurrentCustomModelGfxPtr)[customGfxIndex * 2 + 1] = post; } void set_custom_gfx_builders(s32 customGfxIndex, ModelCustomGfxBuilderFunc pre, ModelCustomGfxBuilderFunc post) { - (*gCurrentCustomModelGfxBuildersPtr)[customGfxIndex].pre = pre; - (*gCurrentCustomModelGfxBuildersPtr)[customGfxIndex].post = post; + (*gCurrentCustomModelGfxBuildersPtr)[customGfxIndex * 2] = pre; + (*gCurrentCustomModelGfxBuildersPtr)[customGfxIndex * 2 + 1] = post; } void build_custom_gfx(void) { @@ -2547,18 +2735,18 @@ void build_custom_gfx(void) { gSPBranchList(gMasterGfxPos++, 0x00000000); - for (i = 0; i < 0x10; i++) { - preFunc = (*gCurrentCustomModelGfxBuildersPtr)[i].pre; + for (i = 0; i < ARRAY_COUNT(*gCurrentCustomModelGfxPtr) / 2; i++) { + preFunc = (*gCurrentCustomModelGfxBuildersPtr)[i * 2]; if (preFunc != NULL) { - (*gCurrentCustomModelGfxPtr)[i].pre = gMasterGfxPos; + (*gCurrentCustomModelGfxPtr)[i * 2] = gMasterGfxPos; preFunc(i); gSPEndDisplayList(gMasterGfxPos++); } - postFunc = (*gCurrentCustomModelGfxBuildersPtr)[i].post; + postFunc = (*gCurrentCustomModelGfxBuildersPtr)[i * 2 + 1]; if (postFunc != NULL) { - (*gCurrentCustomModelGfxPtr)[i].post = gMasterGfxPos; + (*gCurrentCustomModelGfxPtr)[i * 2 + 1] = gMasterGfxPos; postFunc(i); gSPEndDisplayList(gMasterGfxPos++); } @@ -2697,7 +2885,7 @@ void mdl_draw_hidden_panel_surface(Gfx** arg0, u16 treeIndex) { oldGfxPos = gMasterGfxPos; gMasterGfxPos = *arg0; - copied.flags = 0x81; + copied.flags = 0x80 | 0x1; appendGfx_model(&copied); *arg0 = gMasterGfxPos; @@ -2707,14 +2895,38 @@ void mdl_draw_hidden_panel_surface(Gfx** arg0, u16 treeIndex) { } } -INCLUDE_ASM(s32, "a5dd0_len_114e0", mdl_get_next_texture_address); +s32 mdl_get_next_texture_address(s32 size) { + u32 offset = mdl_nextTextureAddress - mdl_textureBaseAddress + 0x3F; -INCLUDE_ASM(s32, "a5dd0_len_114e0", mdl_set_all_fog_mode); + offset = (offset >> 6) << 6; + + if (size + offset > 0x28000) { + return 0; + } else { + return mdl_textureBaseAddress + offset; + } + +} + +void mdl_set_all_fog_mode(s32 fogMode) { + ModelList* modelList = gCurrentModels; + Model* model; + s32 fogType = fogMode; // weirdness here and the next line needed to match + s32 i = fogMode; + + for (i = 0; i < ARRAY_COUNT(*modelList); i++) { + model = (*modelList)[i]; + + if (model != NULL) { + set_mdl_custom_gfx_set(model, -1, fogType); + } + } +} void clear_render_tasks(void) { s32 i; - for (i = 0; i < 3; i++) { + for (i = 0; i < ARRAY_COUNT(mdl_clearRenderTasks); i++) { mdl_renderTaskLists[i] = mdl_clearRenderTasks[i]; } @@ -2725,7 +2937,7 @@ void clear_render_tasks(void) { void clear_render_tasks_alt(void) { s32 i; - for (i = 0; i < 3; i++) { + for (i = 0; i < ARRAY_COUNT(mdl_clearRenderTasks); i++) { mdl_renderTaskLists[i] = mdl_clearRenderTasks[i]; } diff --git a/src/battle/item/insecticide_herb.c b/src/battle/item/insecticide_herb.c index e59c6a0dbc..8b18b81c26 100644 --- a/src/battle/item/insecticide_herb.c +++ b/src/battle/item/insecticide_herb.c @@ -19,7 +19,7 @@ ApiStatus N(func_802A1280_72A9D0)(Evt* script, s32 isInitialCall) { Actor* enemy = get_actor(script->owner1.enemyID); Actor* target; - sfx_play_sound_at_position(0x231, 0, enemy->walk.goalPos.x, enemy->walk.goalPos.y, enemy->walk.goalPos.z); + sfx_play_sound_at_position(0x231, 0, enemy->state.goalPos.x, enemy->state.goalPos.y, enemy->state.goalPos.z); target = get_actor(enemy->targetActorID); dispatch_event_actor(target, 0x39); diff --git a/src/battle/partner/bombette.c b/src/battle/partner/bombette.c index d0a8cb78bb..6604c6ea21 100644 --- a/src/battle/partner/bombette.c +++ b/src/battle/partner/bombette.c @@ -51,22 +51,22 @@ ApiStatus func_80238000_6FAD10(Evt* script, s32 isInitialCall) { ApiStatus func_80238244_6FAF54(Evt* script, s32 isInitialCall) { BattleStatus* battleStatus = &gBattleStatus; Actor* partnerActor = battleStatus->partnerActor; - ActorMovement* partnerActorMovement = &partnerActor->walk; + ActorMovement* partnerActorMovement = &partnerActor->state; if (isInitialCall) { - partnerActor->walk.currentPos.x = partnerActor->currentPos.x; - partnerActor->walk.currentPos.y = partnerActor->currentPos.y; - partnerActor->walk.currentPos.z = partnerActor->currentPos.z; + partnerActor->state.currentPos.x = partnerActor->currentPos.x; + partnerActor->state.currentPos.y = partnerActor->currentPos.y; + partnerActor->state.currentPos.z = partnerActor->currentPos.z; } - add_xz_vec3f(&partnerActorMovement->currentPos, partnerActor->walk.speed, partnerActor->walk.angle); + add_xz_vec3f(&partnerActorMovement->currentPos, partnerActor->state.speed, partnerActor->state.angle); - if (partnerActor->walk.speed < 4.0f) { - play_movement_dust_effects(0, partnerActor->walk.currentPos.x, partnerActor->walk.currentPos.y, - partnerActor->walk.currentPos.z, partnerActor->walk.angle); + if (partnerActor->state.speed < 4.0f) { + play_movement_dust_effects(0, partnerActor->state.currentPos.x, partnerActor->state.currentPos.y, + partnerActor->state.currentPos.z, partnerActor->state.angle); } else { - play_movement_dust_effects(1, partnerActor->walk.currentPos.x, partnerActor->walk.currentPos.y, - partnerActor->walk.currentPos.z, partnerActor->walk.angle); + play_movement_dust_effects(1, partnerActor->state.currentPos.x, partnerActor->state.currentPos.y, + partnerActor->state.currentPos.z, partnerActor->state.angle); } partnerActorMovement->speed /= 1.5; diff --git a/src/battle/partner/goombario.c b/src/battle/partner/goombario.c index af65fad9dd..1d77425106 100644 --- a/src/battle/partner/goombario.c +++ b/src/battle/partner/goombario.c @@ -40,9 +40,9 @@ ApiStatus N(func_80238000_6F10E0)(Evt* script, s32 isInitialCall) { f32 posX = partnerActor->currentPos.x; f32 posY = partnerActor->currentPos.y; f32 posZ = partnerActor->currentPos.z; - f32 goalX = partnerActor->walk.goalPos.x; - f32 goalY = partnerActor->walk.goalPos.y; - f32 goalZ = partnerActor->walk.goalPos.z; + f32 goalX = partnerActor->state.goalPos.x; + f32 goalY = partnerActor->state.goalPos.y; + f32 goalZ = partnerActor->state.goalPos.z; script->varTable[0] = (dist3D(posX, posY, posZ, goalX, goalY, goalZ) * 15.0f) / 100.0f; @@ -79,33 +79,33 @@ INCLUDE_ASM(s32, "battle/partner/goombario", func_8023817C_6F125C); ApiStatus N(func_80238A20_6F1B00)(Evt* script, s32 isInitialCall) { BattleStatus* battleStatus = &gBattleStatus; Actor* partnerActor = gBattleStatus.partnerActor; - Vec3f* pos = &partnerActor->walk.currentPos; + Vec3f* pos = &partnerActor->state.currentPos; if (isInitialCall) { script->functionTemp[0] = 0; } if (script->functionTemp[0] == 0) { - partnerActor->walk.currentPos.x = partnerActor->currentPos.x; - partnerActor->walk.currentPos.y = partnerActor->currentPos.y; - partnerActor->walk.currentPos.z = partnerActor->currentPos.z; + partnerActor->state.currentPos.x = partnerActor->currentPos.x; + partnerActor->state.currentPos.y = partnerActor->currentPos.y; + partnerActor->state.currentPos.z = partnerActor->currentPos.z; script->functionTemp[0] = 1; } - if (partnerActor->walk.velocity > 0.0f) { - set_animation(0x100, 0, partnerActor->walk.animJumpRise); + if (partnerActor->state.velocity > 0.0f) { + set_animation(0x100, 0, partnerActor->state.animJumpRise); } - if (partnerActor->walk.velocity < 0.0f) { - set_animation(0x100, 0, partnerActor->walk.animJumpFall); + if (partnerActor->state.velocity < 0.0f) { + set_animation(0x100, 0, partnerActor->state.animJumpFall); } - partnerActor->walk.currentPos.y = (partnerActor->walk.currentPos.y + partnerActor->walk.velocity); - partnerActor->walk.velocity = (partnerActor->walk.velocity - partnerActor->walk.acceleration); - add_xz_vec3f(pos, partnerActor->walk.speed, partnerActor->walk.angle); - partnerActor->currentPos.x = partnerActor->walk.currentPos.x; - partnerActor->currentPos.y = partnerActor->walk.currentPos.y; - partnerActor->currentPos.z = partnerActor->walk.currentPos.z; + partnerActor->state.currentPos.y = (partnerActor->state.currentPos.y + partnerActor->state.velocity); + partnerActor->state.velocity = (partnerActor->state.velocity - partnerActor->state.acceleration); + add_xz_vec3f(pos, partnerActor->state.speed, partnerActor->state.angle); + partnerActor->currentPos.x = partnerActor->state.currentPos.x; + partnerActor->currentPos.y = partnerActor->state.currentPos.y; + partnerActor->currentPos.z = partnerActor->state.currentPos.z; if (partnerActor->currentPos.y < 10.0f) { partnerActor->currentPos.y = 10.0f; diff --git a/src/battle/partner/kooper.c b/src/battle/partner/kooper.c index cf8178d661..bf03b44a35 100644 --- a/src/battle/partner/kooper.c +++ b/src/battle/partner/kooper.c @@ -6,22 +6,22 @@ ApiStatus func_80238000_6F5E80(Evt* script, s32 isInitialCall) { BattleStatus* battleStatus = &gBattleStatus; Actor* partnerActor = battleStatus->partnerActor; - ActorMovement* partnerActorMovement = &partnerActor->walk; + ActorMovement* partnerActorMovement = &partnerActor->state; if (isInitialCall) { - partnerActor->walk.currentPos.x = partnerActor->currentPos.x; - partnerActor->walk.currentPos.y = partnerActor->currentPos.y; - partnerActor->walk.currentPos.z = partnerActor->currentPos.z; + partnerActor->state.currentPos.x = partnerActor->currentPos.x; + partnerActor->state.currentPos.y = partnerActor->currentPos.y; + partnerActor->state.currentPos.z = partnerActor->currentPos.z; } - add_xz_vec3f(&partnerActorMovement->currentPos, partnerActor->walk.speed, partnerActor->walk.angle); + add_xz_vec3f(&partnerActorMovement->currentPos, partnerActor->state.speed, partnerActor->state.angle); - if (partnerActor->walk.speed < 4.0f) { - play_movement_dust_effects(0, partnerActor->walk.currentPos.x, partnerActor->walk.currentPos.y, - partnerActor->walk.currentPos.z, partnerActor->walk.angle); + if (partnerActor->state.speed < 4.0f) { + play_movement_dust_effects(0, partnerActor->state.currentPos.x, partnerActor->state.currentPos.y, + partnerActor->state.currentPos.z, partnerActor->state.angle); } else { - play_movement_dust_effects(1, partnerActor->walk.currentPos.x, partnerActor->walk.currentPos.y, - partnerActor->walk.currentPos.z, partnerActor->walk.angle); + play_movement_dust_effects(1, partnerActor->state.currentPos.x, partnerActor->state.currentPos.y, + partnerActor->state.currentPos.z, partnerActor->state.angle); } partnerActorMovement->speed = partnerActorMovement->speed / 1.5; diff --git a/src/effects/effect_7.c b/src/effects/effect_7.c index 0116f07f9a..118a391cb6 100644 --- a/src/effects/effect_7.c +++ b/src/effects/effect_7.c @@ -1,12 +1,185 @@ #include "common.h" +#include "effects_internal.h" -INCLUDE_ASM(s32, "effects/effect_7", fx_7_main); +typedef struct Effect7 { + /* 0x00 */ s32 unk_00; + /* 0x04 */ u16 unk_04; + /* 0x08 */ f32 unk_08; + /* 0x0C */ f32 unk_0C; + /* 0x10 */ f32 unk_10; + /* 0x14 */ char unk_14[0x44]; + /* 0x58 */ f32 unk_58; + /* 0x5C */ f32 unk_5C; + /* 0x60 */ f32 unk_60; + /* 0x64 */ f32 unk_64; + /* 0x68 */ f32 unk_68; + /* 0x6C */ s32 unk_6C; + /* 0x70 */ s32 unk_70; + /* 0x74 */ s32 unk_74; +} Effect7; // size = 0x78 -void func_E000E16C(void) { +s8 D_E000E660[16] = { 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 6, 6, -1, 0 }; + +s8 D_E000E670[20] = { 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, -1, 0, 0, 0 }; + +s8* D_E000E684[2] = { D_E000E660, D_E000E670 }; + +extern Gfx D_09002780[]; +extern Gfx D_09002868[]; +extern Gfx D_09002950[]; +extern Gfx D_09002B20[]; +extern Gfx D_09002B40[]; + +void fx_7_init(EffectInstance* effect); +void fx_7_update(EffectInstance* effect); +void fx_7_render(EffectInstance* effect); +void fx_7_appendGfx(EffectInstance* effect); + +void fx_7_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5) { + EffectBlueprint bp; + EffectInstance* effect; + Effect7* effectPart; + s32 numParts = 1; + s32 i; + + bp.unk_00 = 0; + bp.init = fx_7_init; + bp.update = fx_7_update; + bp.renderWorld = fx_7_render; + bp.unk_14 = NULL; + bp.effectIndex = 7; + + effect = shim_create_effect_instance(&bp); + effect->numParts = numParts; + + effectPart = shim_general_heap_malloc(numParts * sizeof(*effectPart)); + effect->data = effectPart; + ASSERT(effect->data != NULL); + + shim_mem_clear(effectPart, numParts * sizeof(*effectPart)); + effectPart->unk_6C = arg0 == 2; + effectPart->unk_70 = 0; + effectPart->unk_04 = arg0; + + for (i = 0; i < numParts; i++, effectPart++) { + effectPart->unk_00 = 1; + effectPart->unk_64 = arg4; + effectPart->unk_68 = arg5; + effectPart->unk_08 = arg1; + effectPart->unk_0C = arg2; + effectPart->unk_10 = arg3; + effectPart->unk_58 = 0.33333334f; + effectPart->unk_5C = 1.75f; + effectPart->unk_60 = -0.16f; + } } -INCLUDE_ASM(s32, "effects/effect_7", func_E000E174); +void fx_7_init(EffectInstance* effect) { +} -INCLUDE_ASM(s32, "effects/effect_7", func_E000E244); +void fx_7_update(EffectInstance* effect) { + Effect7* part = (Effect7*)effect->data; -INCLUDE_ASM(s32, "effects/effect_7", func_E000E288); + part->unk_74 = D_E000E684[part->unk_6C][part->unk_70++]; + + if (part->unk_74 < 0) { + shim_remove_effect(effect); + } else { + s32 i; + + for (i = 0; i < effect->numParts; i++, part++) { + part->unk_08 += part->unk_58 * part->unk_64; + part->unk_10 += part->unk_58 * part->unk_68; + part->unk_5C = part->unk_5C + part->unk_60; + part->unk_0C += part->unk_5C; + } + } +} + +void fx_7_render(EffectInstance* effect) { + RenderTask renderTask; + RenderTask* retTask; + + renderTask.appendGfx = fx_7_appendGfx; + renderTask.appendGfxArg = effect; + renderTask.distance = 0; + renderTask.renderMode = RENDER_MODE_28; + + retTask = shim_queue_render_task(&renderTask); + retTask->renderMode |= RENDER_MODE_2; +} + +void fx_7_appendGfx(EffectInstance* effect) { + // effect temp needed to match - maybe EffectInstance is being cast to a a specific of EffectInstance for effect_7 + EffectInstance* effectTemp = effect; + Effect7* part = (Effect7*)effect->data; + s32 temp_t3 = part->unk_04; + s32 temp_t4 = part->unk_74; + s32 cond = FALSE; + Matrix4f sp18; + Matrix4f sp58; + s32 temp_a0; + s32 temp_lo; + s32 dlist; + s32 dlist2; + s32 phi_t1; + s32 i; + + if (temp_t3 == 0) { + dlist2 = D_09002B20; + } else { + dlist2 = D_09002B40; + } + + switch (temp_t3) { + case 1: + dlist = D_09002868; + break; + default: + dlist = D_09002950; + break; + case 0: + dlist = D_09002780; + break; + } + + + if ((part->unk_6C == 0 && temp_t4 == 6) || (part->unk_6C == 1 && temp_t4 == 7)) { + cond = TRUE; + } + + gDPPipeSync(gMasterGfxPos++); + gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(effectTemp->effect->data)); + gSPDisplayList(gMasterGfxPos++, dlist); + gDPSetEnvColor(gMasterGfxPos++, 0, 0, 0, 127); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 230, 222, 222, 110); + + if (temp_t3 == 0) { + phi_t1 = 24; + } else { + phi_t1 = 32; + } + + temp_lo = temp_t4 * phi_t1; + temp_a0 = temp_lo + phi_t1; + + gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, temp_lo * 4, 0, (temp_a0 - 1) * 4, ((phi_t1 - 1) * 4)); + + if (cond) { + gDPSetTileSize(gMasterGfxPos++, 1, temp_a0 * 4, 0, ((temp_lo + (phi_t1 * 2)) - 1) * 4, 0); + } else { + gDPSetTileSize(gMasterGfxPos++, 1, temp_a0 * 4, 0, ((temp_lo + (phi_t1 * 2)) - 1) * 4, (phi_t1 - 1) * 4); + } + + for (i = 0; i < effectTemp->numParts; i++, part++) { + shim_guTranslateF(sp18, part->unk_08, part->unk_0C, part->unk_10); + shim_guRotateF(sp58, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f); + shim_guMtxCatF(sp58, sp18, sp18); + shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]); + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], + G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gMasterGfxPos++, dlist2); + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); + } + gDPPipeSync(gMasterGfxPos++); +} diff --git a/src/effects/effect_8.c b/src/effects/effect_8.c index 7011b286f2..886a79711e 100644 --- a/src/effects/effect_8.c +++ b/src/effects/effect_8.c @@ -1,18 +1,190 @@ #include "common.h" +#include "effects_internal.h" -INCLUDE_ASM(s32, "effects/effect_8", func_E0010000); +typedef struct Effect8 { + /* 0x00 */ s32 unk_00; + /* 0x04 */ char unk_04[0x2]; + /* 0x06 */ s16 unk_06; + /* 0x08 */ u8 primAlpha; + /* 0x09 */ char unk_09[0x3]; + /* 0x0C */ f32 unk_0C; + /* 0x10 */ f32 unk_10; + /* 0x14 */ f32 unk_14; + /* 0x18 */ f32 unk_18; + /* 0x1C */ f32 unk_1C; + /* 0x20 */ f32 unk_20; + /* 0x24 */ f32 unk_24; + /* 0x28 */ f32 unk_28; + /* 0x2C */ f32 unk_2C; + /* 0x30 */ Mtx unk_30; + /* 0x70 */ f32 unk_70; + /* 0x74 */ f32 unk_74; + /* 0x78 */ f32 unk_78; + /* 0x7C */ f32 unk_7C; + /* 0x80 */ f32 unk_80; + /* 0x84 */ f32 unk_84; + /* 0x88 */ f32 unk_88; + /* 0x8C */ f32 unk_8C; + /* 0x90 */ f32 unk_90; + /* 0x94 */ f32 unk_94; +} Effect8; // size = 0x98 -INCLUDE_ASM(s32, "effects/effect_8", func_E0010104); +void fx_8_init(EffectInstance* effect); +void fx_8_update(EffectInstance* effect); +void fx_8_render(EffectInstance* effect); +void fx_8_appendGfx(EffectInstance* effect); -INCLUDE_ASM(s32, "effects/effect_8", fx_8_main); +extern Gfx D_09000E08[]; -void func_E00103EC(void) { +void func_E0010000(Effect8* effect) { + Matrix4f sp18; + Matrix4f sp58; + + shim_guRotateF(sp18, effect->unk_24, 1.0f, 0.0f, 0.0f); + shim_guRotateF(sp58, effect->unk_2C, 0.0f, 0.0f, 1.0f); + shim_guMtxCatF(sp58, sp18, sp18); + shim_guRotateF(sp58, effect->unk_28, 0.0f, 1.0f, 0.0f); + shim_guMtxCatF(sp18, sp58, sp18); + shim_guScaleF(sp58, effect->unk_18, effect->unk_1C, effect->unk_20); + shim_guMtxCatF(sp58, sp18, sp18); + shim_guTranslateF(sp58, effect->unk_0C, effect->unk_10, effect->unk_14); + shim_guMtxCatF(sp18, sp58, sp18); + shim_guMtxF2L(sp18, &effect->unk_30); } -INCLUDE_ASM(s32, "effects/effect_8", func_E00103F4); +void func_E0010104(Effect8* effect) { + effect->unk_70 *= 0.85; + effect->unk_0C += effect->unk_70 * effect->unk_90; + effect->unk_88 += effect->unk_8C; + effect->unk_84 += effect->unk_88; + effect->unk_80 += effect->unk_84; + effect->unk_10 += effect->unk_80; + effect->unk_14 += effect->unk_70 * effect->unk_94; -INCLUDE_ASM(s32, "effects/effect_8", func_E00104B0); + if (effect->unk_80 < 0.0f) { + effect->unk_88 = 0.004f; + } -INCLUDE_ASM(s32, "effects/effect_8", func_E00104F4); + effect->unk_24 -= 1.0f; + if (effect->unk_24 < -100.0f) { + effect->unk_24 = -100.0f; + } +} -INCLUDE_ASM(s32, "effects/effect_8", func_E0010510); +void fx_8_main(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { + EffectBlueprint bp; + EffectInstance* effect; + Effect8* part; + s32 numParts = 5; + f32 angle; + s32 i; + + bp.init = fx_8_init; + bp.update = fx_8_update; + bp.renderWorld = fx_8_render; + bp.unk_00 = 0; + bp.unk_14 = NULL; + bp.effectIndex = 8; + + effect = shim_create_effect_instance(&bp); + effect->numParts = numParts; + + part = shim_general_heap_malloc(numParts * sizeof(*part)); + effect->data = part; + ASSERT(effect->data != NULL); + + shim_mem_clear(part, numParts * sizeof(*part)); + + for (i = 0; i < numParts; i++, part++) { + part->unk_00 = 1; + part->unk_28 = arg3 + (i * 72); + part->unk_74 = 0.29999998f; + part->unk_78 = 0.0f; + part->unk_7C = 0.0f; + part->unk_0C = arg0; + part->unk_10 = arg1; + part->unk_14 = arg2; + part->unk_18 = 1.0f; + part->unk_1C = 1.0f; + part->unk_20 = 1.0f; + part->primAlpha = 255; + part->unk_06 = 60; + part->unk_24 = 0.0f; + part->unk_2C = 0.0f; + part->unk_80 = 1.75f; + part->unk_84 = -0.08f; + part->unk_70 = -3.9f; + part->unk_88 = 0; + part->unk_8C = 0; + angle = shim_clamp_angle(part->unk_28); + part->unk_90 = shim_sin_deg(angle); + part->unk_94 = shim_cos_deg(angle); + } +} + +void fx_8_init(EffectInstance* effect) { +} + +void fx_8_update(EffectInstance* effect) { + Effect8* part = (Effect8*)effect->data; + s32 cond = FALSE; + s32 i; + + for (i = 0; i < effect->numParts; i++, part++) { + if (part->unk_00 != 0) { + part->unk_06--; + if (part->unk_06 <= 0) { + part->unk_00 = 0; + } else { + cond = TRUE; + func_E0010104(part); + func_E0010000(part); + } + } + } + + if (!cond) { + shim_remove_effect(effect); + } +} + +void fx_8_render(EffectInstance* effect) { + RenderTask renderTask; + RenderTask* retTask; + + renderTask.appendGfx = fx_8_appendGfx; + renderTask.appendGfxArg = effect; + renderTask.distance = 0; + renderTask.renderMode = RENDER_MODE_28; + + retTask = shim_queue_render_task(&renderTask); + retTask->renderMode |= RENDER_MODE_2; +} + +void func_E00104F4(EffectInstance* effect) { + shim_remove_effect(effect); +} + +void fx_8_appendGfx(EffectInstance* effect) { + EffectInstance* effectTemp = effect; + Effect8* part = effectTemp->data; + s32 i; + + gDPPipeSync(gMasterGfxPos++); + gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(effectTemp->effect->data)); + + for (i = 0; i < effectTemp->numParts; i++, part++) { + if (part->unk_00 != 0) { + Gfx* dlist = D_09000E08; + + gDisplayContext->matrixStack[gMatrixListPos] = part->unk_30; + + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 112, 96, 24, part->primAlpha); + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], + G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); + gSPDisplayList(gMasterGfxPos++, dlist); + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); + } + } + gDPPipeSync(gMasterGfxPos++); +} diff --git a/src/entity/Block.c b/src/entity/Block.c index 1165dc9963..891a266486 100644 --- a/src/entity/Block.c +++ b/src/entity/Block.c @@ -58,7 +58,7 @@ s32 entity_base_block_idle(Entity* entity) { struct802E3650* temp = (struct802E3650*)entity->dataBuf; s32 ret = 0; - if (is_block_on_ground() != 0) { + if (is_block_on_ground(entity) != 0) { if (entity->flags & 0x200000) { ret = 1; entity_base_block_update_slow_sinking(entity); diff --git a/src/heap.c b/src/heap.c index 73602df626..c63d194f09 100644 --- a/src/heap.c +++ b/src/heap.c @@ -15,8 +15,8 @@ s32 general_heap_malloc_tail(s32 size) { return _heap_malloc_tail(&D_802FB800, size); } -s32 general_heap_free(s32* size) { - return _heap_free(&D_802FB800, size); +s32 general_heap_free(s32* data) { + return _heap_free(&D_802FB800, data); } s32 battle_heap_create(void) { @@ -32,18 +32,18 @@ s32 func_8002ACDC(void) { } void* heap_malloc(s32 size) { - if (gGameStatusPtr->isBattle == 0) { + if (!gGameStatusPtr->isBattle) { return general_heap_malloc(size); } else { return _heap_malloc(&D_803DA800, size); } } -s32 heap_free(void* ptr) { +s32 heap_free(void* data) { if (gGameStatusPtr->isBattle) { - return _heap_free(&D_803DA800, ptr); + return _heap_free(&D_803DA800, data); } else { - return general_heap_free(ptr); + return general_heap_free(data); } } diff --git a/src/world/common/StarSpiritEffectFunc.inc.c b/src/world/common/StarSpiritEffectFunc.inc.c index 3b2f050bd2..dbf760e95b 100644 --- a/src/world/common/StarSpiritEffectFunc.inc.c +++ b/src/world/common/StarSpiritEffectFunc.inc.c @@ -3,7 +3,7 @@ #include "effects.h" ApiStatus N(StarSpiritEffectFunc1)(Evt* script, s32 isInitialCall) { - StarSpiritEffect* ptr = script->varTable[0]; + StarSpiritEffect* ptr = (StarSpiritEffect*)script->varTable[0]; sfx_adjust_env_sound_pos(SOUND_UNKNOWN_A2, 0, ptr->unk_00, ptr->unk_04, ptr->unk_08); diff --git a/src/world/common/UnkFunc52.inc.c b/src/world/common/UnkFunc52.inc.c index 20b72d2c50..30dc6de96b 100644 --- a/src/world/common/UnkFunc52.inc.c +++ b/src/world/common/UnkFunc52.inc.c @@ -43,7 +43,7 @@ ApiStatus N(UnkFunc52)(Evt* script, s32 isInitialCall) { break; case ACTOR_TYPE_DRY_BONES: - if (actor->varTable[8] == 1) { + if (actor->state.varTable[8] == 1) { evt_set_variable(script, *args, -1); break; } diff --git a/src/world/common/UnkMoveFunc1.inc.c b/src/world/common/UnkMoveFunc1.inc.c index 3048752d88..c45daa9b0b 100644 --- a/src/world/common/UnkMoveFunc1.inc.c +++ b/src/world/common/UnkMoveFunc1.inc.c @@ -7,9 +7,9 @@ ApiStatus N(UnkMoveFunc1)(Evt* script, s32 isInitialCall) { f32 posX = playerActor->currentPos.x; f32 posY = playerActor->currentPos.y; f32 posZ = playerActor->currentPos.z; - f32 goalX = playerActor->walk.goalPos.x; - f32 goalY = playerActor->walk.goalPos.y; - f32 goalZ = playerActor->walk.goalPos.z; + f32 goalX = playerActor->state.goalPos.x; + f32 goalY = playerActor->state.goalPos.y; + f32 goalZ = playerActor->state.goalPos.z; script->varTable[0] = (dist3D(posX, posY, posZ, goalX, goalY, goalZ) * 15.0f) / 100.0f; diff --git a/ver/us/asm/nonmatchings/197F40/AddActorVar.s b/ver/us/asm/nonmatchings/197F40/AddActorVar.s deleted file mode 100644 index 0cf0ac2412..0000000000 --- a/ver/us/asm/nonmatchings/197F40/AddActorVar.s +++ /dev/null @@ -1,44 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel AddActorVar -/* 19A9B4 8026C0D4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 19A9B8 8026C0D8 AFB20018 */ sw $s2, 0x18($sp) -/* 19A9BC 8026C0DC 0080902D */ daddu $s2, $a0, $zero -/* 19A9C0 8026C0E0 AFBF001C */ sw $ra, 0x1c($sp) -/* 19A9C4 8026C0E4 AFB10014 */ sw $s1, 0x14($sp) -/* 19A9C8 8026C0E8 AFB00010 */ sw $s0, 0x10($sp) -/* 19A9CC 8026C0EC 8E50000C */ lw $s0, 0xc($s2) -/* 19A9D0 8026C0F0 8E050000 */ lw $a1, ($s0) -/* 19A9D4 8026C0F4 0C0B1EAF */ jal evt_get_variable -/* 19A9D8 8026C0F8 26100004 */ addiu $s0, $s0, 4 -/* 19A9DC 8026C0FC 0040882D */ daddu $s1, $v0, $zero -/* 19A9E0 8026C100 2402FF81 */ addiu $v0, $zero, -0x7f -/* 19A9E4 8026C104 16220002 */ bne $s1, $v0, .L8026C110 -/* 19A9E8 8026C108 00000000 */ nop -/* 19A9EC 8026C10C 8E510148 */ lw $s1, 0x148($s2) -.L8026C110: -/* 19A9F0 8026C110 8E050000 */ lw $a1, ($s0) -/* 19A9F4 8026C114 26100004 */ addiu $s0, $s0, 4 -/* 19A9F8 8026C118 0C0B1EAF */ jal evt_get_variable -/* 19A9FC 8026C11C 0240202D */ daddu $a0, $s2, $zero -/* 19AA00 8026C120 0240202D */ daddu $a0, $s2, $zero -/* 19AA04 8026C124 8E050000 */ lw $a1, ($s0) -/* 19AA08 8026C128 0C0B1EAF */ jal evt_get_variable -/* 19AA0C 8026C12C 0040802D */ daddu $s0, $v0, $zero -/* 19AA10 8026C130 0220202D */ daddu $a0, $s1, $zero -/* 19AA14 8026C134 0C09A75B */ jal get_actor -/* 19AA18 8026C138 0040882D */ daddu $s1, $v0, $zero -/* 19AA1C 8026C13C 2444000C */ addiu $a0, $v0, 0xc -/* 19AA20 8026C140 00108080 */ sll $s0, $s0, 2 -/* 19AA24 8026C144 00902021 */ addu $a0, $a0, $s0 -/* 19AA28 8026C148 8C83007C */ lw $v1, 0x7c($a0) -/* 19AA2C 8026C14C 00711821 */ addu $v1, $v1, $s1 -/* 19AA30 8026C150 AC83007C */ sw $v1, 0x7c($a0) -/* 19AA34 8026C154 8FBF001C */ lw $ra, 0x1c($sp) -/* 19AA38 8026C158 8FB20018 */ lw $s2, 0x18($sp) -/* 19AA3C 8026C15C 8FB10014 */ lw $s1, 0x14($sp) -/* 19AA40 8026C160 8FB00010 */ lw $s0, 0x10($sp) -/* 19AA44 8026C164 24020002 */ addiu $v0, $zero, 2 -/* 19AA48 8026C168 03E00008 */ jr $ra -/* 19AA4C 8026C16C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/3169f0/func_80200000.s b/ver/us/asm/nonmatchings/3169f0/func_80200000.s deleted file mode 100644 index f55bb2ba7d..0000000000 --- a/ver/us/asm/nonmatchings/3169f0/func_80200000.s +++ /dev/null @@ -1,38 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80200000 -/* 3169F0 80200000 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 3169F4 80200004 3C05AC29 */ lui $a1, 0xac29 -/* 3169F8 80200008 34A5007B */ ori $a1, $a1, 0x7b -/* 3169FC 8020000C 3C06B000 */ lui $a2, 0xb000 -/* 316A00 80200010 34C606A8 */ ori $a2, $a2, 0x6a8 -/* 316A04 80200014 3C02A460 */ lui $v0, 0xa460 -/* 316A08 80200018 34420010 */ ori $v0, $v0, 0x10 -/* 316A0C 8020001C AFBF0010 */ sw $ra, 0x10($sp) -/* 316A10 80200020 8C420000 */ lw $v0, ($v0) -/* 316A14 80200024 3C048005 */ lui $a0, %hi(D_8004AA85) -/* 316A18 80200028 2484AA85 */ addiu $a0, $a0, %lo(D_8004AA85) -/* 316A1C 8020002C 30420003 */ andi $v0, $v0, 3 -/* 316A20 80200030 10400006 */ beqz $v0, .L8020004C -/* 316A24 80200034 3C03A460 */ lui $v1, 0xa460 -/* 316A28 80200038 34630010 */ ori $v1, $v1, 0x10 -.L8020003C: -/* 316A2C 8020003C 8C620000 */ lw $v0, ($v1) -/* 316A30 80200040 30420003 */ andi $v0, $v0, 3 -/* 316A34 80200044 1440FFFD */ bnez $v0, .L8020003C -/* 316A38 80200048 00000000 */ nop -.L8020004C: -/* 316A3C 8020004C 24C2FE38 */ addiu $v0, $a2, -0x1c8 -/* 316A40 80200050 3C03A000 */ lui $v1, 0xa000 -/* 316A44 80200054 00431025 */ or $v0, $v0, $v1 -/* 316A48 80200058 8C420000 */ lw $v0, ($v0) -/* 316A4C 8020005C 00A22823 */ subu $a1, $a1, $v0 -/* 316A50 80200060 00852021 */ addu $a0, $a0, $a1 -/* 316A54 80200064 0080F809 */ jalr $a0 -/* 316A58 80200068 00000000 */ nop -/* 316A5C 8020006C 8FBF0010 */ lw $ra, 0x10($sp) -/* 316A60 80200070 03E00008 */ jr $ra -/* 316A64 80200074 27BD0018 */ addiu $sp, $sp, 0x18 -/* 316A68 80200078 00000000 */ nop -/* 316A6C 8020007C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/a5dd0_len_114e0/clear_model_data.s b/ver/us/asm/nonmatchings/a5dd0_len_114e0/clear_model_data.s deleted file mode 100644 index 0516dc3b35..0000000000 --- a/ver/us/asm/nonmatchings/a5dd0_len_114e0/clear_model_data.s +++ /dev/null @@ -1,180 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel clear_model_data -/* AC444 80115D44 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* AC448 80115D48 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* AC44C 80115D4C 80420070 */ lb $v0, 0x70($v0) -/* AC450 80115D50 1440002C */ bnez $v0, .L80115E04 -/* AC454 80115D54 00000000 */ nop -/* AC458 80115D58 3C028015 */ lui $v0, %hi(wModelList) -/* AC45C 80115D5C 24421770 */ addiu $v0, $v0, %lo(wModelList) -/* AC460 80115D60 3C018015 */ lui $at, %hi(gCurrentModels) -/* AC464 80115D64 AC2212CC */ sw $v0, %lo(gCurrentModels)($at) -/* AC468 80115D68 3C028015 */ lui $v0, %hi(wTransformGroups) -/* AC46C 80115D6C 24421F70 */ addiu $v0, $v0, %lo(wTransformGroups) -/* AC470 80115D70 3C018015 */ lui $at, %hi(gCurrentTransformGroups) -/* AC474 80115D74 AC2212E0 */ sw $v0, %lo(gCurrentTransformGroups)($at) -/* AC478 80115D78 3C028015 */ lui $v0, %hi(wModelSpecialDls) -/* AC47C 80115D7C 24421F90 */ addiu $v0, $v0, %lo(wModelSpecialDls) -/* AC480 80115D80 3C018015 */ lui $at, %hi(gCurrentCustomModelGfxPtr) -/* AC484 80115D84 AC2212E8 */ sw $v0, %lo(gCurrentCustomModelGfxPtr)($at) -/* AC488 80115D88 3C028015 */ lui $v0, %hi(wCustomModelGfxBuilders) -/* AC48C 80115D8C 24422090 */ addiu $v0, $v0, %lo(wCustomModelGfxBuilders) -/* AC490 80115D90 3C018015 */ lui $at, %hi(gCurrentCustomModelGfxBuildersPtr) -/* AC494 80115D94 AC2212B8 */ sw $v0, %lo(gCurrentCustomModelGfxBuildersPtr)($at) -/* AC498 80115D98 3C028015 */ lui $v0, %hi(D_80152214) -/* AC49C 80115D9C 24422214 */ addiu $v0, $v0, %lo(D_80152214) -/* AC4A0 80115DA0 3C018015 */ lui $at, %hi(gCurrentModelTreeRoot) -/* AC4A4 80115DA4 AC2212FC */ sw $v0, %lo(gCurrentModelTreeRoot)($at) -/* AC4A8 80115DA8 3C028015 */ lui $v0, %hi(D_80152190) -/* AC4AC 80115DAC 24422190 */ addiu $v0, $v0, %lo(D_80152190) -/* AC4B0 80115DB0 3C018015 */ lui $at, %hi(gCurrentModelLocalVtxBuffers) -/* AC4B4 80115DB4 AC222210 */ sw $v0, %lo(gCurrentModelLocalVtxBuffers)($at) -/* AC4B8 80115DB8 3C028015 */ lui $v0, %hi(D_80152220) -/* AC4BC 80115DBC 24422220 */ addiu $v0, $v0, %lo(D_80152220) -/* AC4C0 80115DC0 3C01800A */ lui $at, %hi(mdl_currentModelTreeNodeInfo) -/* AC4C4 80115DC4 AC22A5F4 */ sw $v0, %lo(mdl_currentModelTreeNodeInfo)($at) -/* AC4C8 80115DC8 3C028015 */ lui $v0, %hi(wBgRenderType) -/* AC4CC 80115DCC 24423220 */ addiu $v0, $v0, %lo(wBgRenderType) -/* AC4D0 80115DD0 3C018015 */ lui $at, %hi(D_801512F0) -/* AC4D4 80115DD4 AC2212F0 */ sw $v0, %lo(D_801512F0)($at) -/* AC4D8 80115DD8 3C028015 */ lui $v0, %hi(wFogSettings) -/* AC4DC 80115DDC 24423228 */ addiu $v0, $v0, %lo(wFogSettings) -/* AC4E0 80115DE0 3C018015 */ lui $at, %hi(mdl_bgMultiplyColorA) -/* AC4E4 80115DE4 A020B74C */ sb $zero, %lo(mdl_bgMultiplyColorA)($at) -/* AC4E8 80115DE8 3C018015 */ lui $at, %hi(mdl_bgMultiplyColorR) -/* AC4EC 80115DEC A020B74D */ sb $zero, %lo(mdl_bgMultiplyColorR)($at) -/* AC4F0 80115DF0 3C018015 */ lui $at, %hi(mdl_bgMultiplyColorG) -/* AC4F4 80115DF4 A020B74E */ sb $zero, %lo(mdl_bgMultiplyColorG)($at) -/* AC4F8 80115DF8 3C018015 */ lui $at, %hi(mdl_bgMultiplyColorB) -/* AC4FC 80115DFC 080457A3 */ j .L80115E8C -/* AC500 80115E00 A020B74F */ sb $zero, %lo(mdl_bgMultiplyColorB)($at) -.L80115E04: -/* AC504 80115E04 3C028015 */ lui $v0, %hi(bModelList) -/* AC508 80115E08 24421B70 */ addiu $v0, $v0, %lo(bModelList) -/* AC50C 80115E0C 3C018015 */ lui $at, %hi(gCurrentModels) -/* AC510 80115E10 AC2212CC */ sw $v0, %lo(gCurrentModels)($at) -/* AC514 80115E14 3C028015 */ lui $v0, %hi(bTransformGroups) -/* AC518 80115E18 24421F80 */ addiu $v0, $v0, %lo(bTransformGroups) -/* AC51C 80115E1C 3C018015 */ lui $at, %hi(gCurrentTransformGroups) -/* AC520 80115E20 AC2212E0 */ sw $v0, %lo(gCurrentTransformGroups)($at) -/* AC524 80115E24 3C028015 */ lui $v0, %hi(bModelSpecialDls) -/* AC528 80115E28 24422010 */ addiu $v0, $v0, %lo(bModelSpecialDls) -/* AC52C 80115E2C 3C018015 */ lui $at, %hi(gCurrentCustomModelGfxPtr) -/* AC530 80115E30 AC2212E8 */ sw $v0, %lo(gCurrentCustomModelGfxPtr)($at) -/* AC534 80115E34 3C028015 */ lui $v0, %hi(bCustomModelGfxBuilders) -/* AC538 80115E38 24422110 */ addiu $v0, $v0, %lo(bCustomModelGfxBuilders) -/* AC53C 80115E3C 3C018015 */ lui $at, %hi(gCurrentCustomModelGfxBuildersPtr) -/* AC540 80115E40 AC2212B8 */ sw $v0, %lo(gCurrentCustomModelGfxBuildersPtr)($at) -/* AC544 80115E44 3C028015 */ lui $v0, %hi(D_80152218) -/* AC548 80115E48 24422218 */ addiu $v0, $v0, %lo(D_80152218) -/* AC54C 80115E4C 3C018015 */ lui $at, %hi(gCurrentModelTreeRoot) -/* AC550 80115E50 AC2212FC */ sw $v0, %lo(gCurrentModelTreeRoot)($at) -/* AC554 80115E54 3C028015 */ lui $v0, %hi(D_801521D0) -/* AC558 80115E58 244221D0 */ addiu $v0, $v0, %lo(D_801521D0) -/* AC55C 80115E5C 3C018015 */ lui $at, %hi(gCurrentModelLocalVtxBuffers) -/* AC560 80115E60 AC222210 */ sw $v0, %lo(gCurrentModelLocalVtxBuffers)($at) -/* AC564 80115E64 3C028015 */ lui $v0, %hi(D_80152A20) -/* AC568 80115E68 24422A20 */ addiu $v0, $v0, %lo(D_80152A20) -/* AC56C 80115E6C 3C01800A */ lui $at, %hi(mdl_currentModelTreeNodeInfo) -/* AC570 80115E70 AC22A5F4 */ sw $v0, %lo(mdl_currentModelTreeNodeInfo)($at) -/* AC574 80115E74 3C028015 */ lui $v0, %hi(bBgRenderType) -/* AC578 80115E78 24423221 */ addiu $v0, $v0, %lo(bBgRenderType) -/* AC57C 80115E7C 3C018015 */ lui $at, %hi(D_801512F0) -/* AC580 80115E80 AC2212F0 */ sw $v0, %lo(D_801512F0)($at) -/* AC584 80115E84 3C028015 */ lui $v0, %hi(bFogSettings) -/* AC588 80115E88 24423248 */ addiu $v0, $v0, %lo(bFogSettings) -.L80115E8C: -/* AC58C 80115E8C 3C018015 */ lui $at, %hi(gCurrentFogSettings) -/* AC590 80115E90 AC223264 */ sw $v0, %lo(gCurrentFogSettings)($at) -/* AC594 80115E94 3C028015 */ lui $v0, %hi(gCurrentModels) -/* AC598 80115E98 8C4212CC */ lw $v0, %lo(gCurrentModels)($v0) -/* AC59C 80115E9C 240400FF */ addiu $a0, $zero, 0xff -/* AC5A0 80115EA0 244203FC */ addiu $v0, $v0, 0x3fc -.L80115EA4: -/* AC5A4 80115EA4 AC400000 */ sw $zero, ($v0) -/* AC5A8 80115EA8 2484FFFF */ addiu $a0, $a0, -1 -/* AC5AC 80115EAC 0481FFFD */ bgez $a0, .L80115EA4 -/* AC5B0 80115EB0 2442FFFC */ addiu $v0, $v0, -4 -/* AC5B4 80115EB4 3C028015 */ lui $v0, %hi(gCurrentTransformGroups) -/* AC5B8 80115EB8 8C4212E0 */ lw $v0, %lo(gCurrentTransformGroups)($v0) -/* AC5BC 80115EBC 24040003 */ addiu $a0, $zero, 3 -/* AC5C0 80115EC0 2442000C */ addiu $v0, $v0, 0xc -.L80115EC4: -/* AC5C4 80115EC4 AC400000 */ sw $zero, ($v0) -/* AC5C8 80115EC8 2484FFFF */ addiu $a0, $a0, -1 -/* AC5CC 80115ECC 0481FFFD */ bgez $a0, .L80115EC4 -/* AC5D0 80115ED0 2442FFFC */ addiu $v0, $v0, -4 -/* AC5D4 80115ED4 0000202D */ daddu $a0, $zero, $zero -/* AC5D8 80115ED8 3C058015 */ lui $a1, %hi(gCurrentCustomModelGfxBuildersPtr) -/* AC5DC 80115EDC 8CA512B8 */ lw $a1, %lo(gCurrentCustomModelGfxBuildersPtr)($a1) -/* AC5E0 80115EE0 3C038015 */ lui $v1, %hi(gCurrentCustomModelGfxPtr) -/* AC5E4 80115EE4 8C6312E8 */ lw $v1, %lo(gCurrentCustomModelGfxPtr)($v1) -.L80115EE8: -/* AC5E8 80115EE8 AC600000 */ sw $zero, ($v1) -/* AC5EC 80115EEC ACA00000 */ sw $zero, ($a1) -/* AC5F0 80115EF0 24A50004 */ addiu $a1, $a1, 4 -/* AC5F4 80115EF4 24840001 */ addiu $a0, $a0, 1 -/* AC5F8 80115EF8 28820020 */ slti $v0, $a0, 0x20 -/* AC5FC 80115EFC 1440FFFA */ bnez $v0, .L80115EE8 -/* AC600 80115F00 24630004 */ addiu $v1, $v1, 4 -/* AC604 80115F04 0000202D */ daddu $a0, $zero, $zero -/* AC608 80115F08 3C05800A */ lui $a1, %hi(mdl_currentModelTreeNodeInfo) -/* AC60C 80115F0C 24A5A5F4 */ addiu $a1, $a1, %lo(mdl_currentModelTreeNodeInfo) -/* AC610 80115F10 3C028015 */ lui $v0, %hi(gCurrentModelTreeRoot) -/* AC614 80115F14 8C4212FC */ lw $v0, %lo(gCurrentModelTreeRoot)($v0) -/* AC618 80115F18 240600FF */ addiu $a2, $zero, 0xff -/* AC61C 80115F1C AC400000 */ sw $zero, ($v0) -.L80115F20: -/* AC620 80115F20 8CA20000 */ lw $v0, ($a1) -/* AC624 80115F24 00041880 */ sll $v1, $a0, 2 -/* AC628 80115F28 00621021 */ addu $v0, $v1, $v0 -/* AC62C 80115F2C A0460000 */ sb $a2, ($v0) -/* AC630 80115F30 8CA20000 */ lw $v0, ($a1) -/* AC634 80115F34 00621021 */ addu $v0, $v1, $v0 -/* AC638 80115F38 A0400001 */ sb $zero, 1($v0) -/* AC63C 80115F3C 8CA20000 */ lw $v0, ($a1) -/* AC640 80115F40 24840001 */ addiu $a0, $a0, 1 -/* AC644 80115F44 00621821 */ addu $v1, $v1, $v0 -/* AC648 80115F48 28820200 */ slti $v0, $a0, 0x200 -/* AC64C 80115F4C 1440FFF4 */ bnez $v0, .L80115F20 -/* AC650 80115F50 A0600002 */ sb $zero, 2($v1) -/* AC654 80115F54 0000202D */ daddu $a0, $zero, $zero -/* AC658 80115F58 3C088015 */ lui $t0, %hi(texPannerMainU) -/* AC65C 80115F5C 25083268 */ addiu $t0, $t0, %lo(texPannerMainU) -/* AC660 80115F60 3C078015 */ lui $a3, %hi(texPannerMainV) -/* AC664 80115F64 24E732A8 */ addiu $a3, $a3, %lo(texPannerMainV) -/* AC668 80115F68 3C068015 */ lui $a2, %hi(texPannerAuxU) -/* AC66C 80115F6C 24C632E8 */ addiu $a2, $a2, %lo(texPannerAuxU) -/* AC670 80115F70 3C028015 */ lui $v0, %hi(D_801512F0) -/* AC674 80115F74 8C4212F0 */ lw $v0, %lo(D_801512F0)($v0) -/* AC678 80115F78 3C058015 */ lui $a1, %hi(texPannerAuxV) -/* AC67C 80115F7C 24A53328 */ addiu $a1, $a1, %lo(texPannerAuxV) -/* AC680 80115F80 A0400000 */ sb $zero, ($v0) -/* AC684 80115F84 3C038015 */ lui $v1, %hi(gCurrentFogSettings) -/* AC688 80115F88 8C633264 */ lw $v1, %lo(gCurrentFogSettings)($v1) -/* AC68C 80115F8C 2402000A */ addiu $v0, $zero, 0xa -/* AC690 80115F90 AC620004 */ sw $v0, 4($v1) -/* AC694 80115F94 AC620008 */ sw $v0, 8($v1) -/* AC698 80115F98 AC62000C */ sw $v0, 0xc($v1) -/* AC69C 80115F9C 240203B6 */ addiu $v0, $zero, 0x3b6 -/* AC6A0 80115FA0 AC620014 */ sw $v0, 0x14($v1) -/* AC6A4 80115FA4 240203E8 */ addiu $v0, $zero, 0x3e8 -/* AC6A8 80115FA8 AC600000 */ sw $zero, ($v1) -/* AC6AC 80115FAC AC600010 */ sw $zero, 0x10($v1) -/* AC6B0 80115FB0 AC620018 */ sw $v0, 0x18($v1) -.L80115FB4: -/* AC6B4 80115FB4 ACA00000 */ sw $zero, ($a1) -/* AC6B8 80115FB8 ACC00000 */ sw $zero, ($a2) -/* AC6BC 80115FBC ACE00000 */ sw $zero, ($a3) -/* AC6C0 80115FC0 AD000000 */ sw $zero, ($t0) -/* AC6C4 80115FC4 25080004 */ addiu $t0, $t0, 4 -/* AC6C8 80115FC8 24E70004 */ addiu $a3, $a3, 4 -/* AC6CC 80115FCC 24C60004 */ addiu $a2, $a2, 4 -/* AC6D0 80115FD0 24840001 */ addiu $a0, $a0, 1 -/* AC6D4 80115FD4 28820010 */ slti $v0, $a0, 0x10 -/* AC6D8 80115FD8 1440FFF6 */ bnez $v0, .L80115FB4 -/* AC6DC 80115FDC 24A50004 */ addiu $a1, $a1, 4 -/* AC6E0 80115FE0 03E00008 */ jr $ra -/* AC6E4 80115FE4 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/a5dd0_len_114e0/create_entity_shadow.s b/ver/us/asm/nonmatchings/a5dd0_len_114e0/create_entity_shadow.s deleted file mode 100644 index 81c5228647..0000000000 --- a/ver/us/asm/nonmatchings/a5dd0_len_114e0/create_entity_shadow.s +++ /dev/null @@ -1,43 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel create_entity_shadow -/* A88CC 801121CC 44850000 */ mtc1 $a1, $f0 -/* A88D0 801121D0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* A88D4 801121D4 AFB00010 */ sw $s0, 0x10($sp) -/* A88D8 801121D8 0080802D */ daddu $s0, $a0, $zero -/* A88DC 801121DC AFBF0014 */ sw $ra, 0x14($sp) -/* A88E0 801121E0 8E020038 */ lw $v0, 0x38($s0) -/* A88E4 801121E4 44861000 */ mtc1 $a2, $f2 -/* A88E8 801121E8 94430000 */ lhu $v1, ($v0) -/* A88EC 801121EC 44872000 */ mtc1 $a3, $f4 -/* A88F0 801121F0 30620200 */ andi $v0, $v1, 0x200 -/* A88F4 801121F4 10400005 */ beqz $v0, .L8011220C -/* A88F8 801121F8 30620800 */ andi $v0, $v1, 0x800 -/* A88FC 801121FC 10400006 */ beqz $v0, .L80112218 -/* A8900 80112200 24040003 */ addiu $a0, $zero, 3 -/* A8904 80112204 08044886 */ j .L80112218 -/* A8908 80112208 24040002 */ addiu $a0, $zero, 2 -.L8011220C: -/* A890C 8011220C 000312C2 */ srl $v0, $v1, 0xb -/* A8910 80112210 38420001 */ xori $v0, $v0, 1 -/* A8914 80112214 30440001 */ andi $a0, $v0, 1 -.L80112218: -/* A8918 80112218 44050000 */ mfc1 $a1, $f0 -/* A891C 8011221C 44061000 */ mfc1 $a2, $f2 -/* A8920 80112220 44072000 */ mfc1 $a3, $f4 -/* A8924 80112224 0C044898 */ jal create_shadow_type -/* A8928 80112228 00000000 */ nop -/* A892C 8011222C 00022400 */ sll $a0, $v0, 0x10 -/* A8930 80112230 00042403 */ sra $a0, $a0, 0x10 -/* A8934 80112234 0C044181 */ jal get_shadow_by_index -/* A8938 80112238 A6020016 */ sh $v0, 0x16($s0) -/* A893C 8011223C 8C430000 */ lw $v1, ($v0) -/* A8940 80112240 3C0400C0 */ lui $a0, 0xc0 -/* A8944 80112244 00641825 */ or $v1, $v1, $a0 -/* A8948 80112248 AC430000 */ sw $v1, ($v0) -/* A894C 8011224C 86020016 */ lh $v0, 0x16($s0) -/* A8950 80112250 8FBF0014 */ lw $ra, 0x14($sp) -/* A8954 80112254 8FB00010 */ lw $s0, 0x10($sp) -/* A8958 80112258 03E00008 */ jr $ra -/* A895C 8011225C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/a5dd0_len_114e0/create_shadow_type.s b/ver/us/asm/nonmatchings/a5dd0_len_114e0/create_shadow_type.s deleted file mode 100644 index 9d782ae817..0000000000 --- a/ver/us/asm/nonmatchings/a5dd0_len_114e0/create_shadow_type.s +++ /dev/null @@ -1,69 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -glabel jtbl_8014F928 -.word L801122B0_A89B0, L801122C4_A89C4, L801122AC_A89AC, L801122C0_A89C0, L801122D8_A89D8, L801122D4_A89D4 - -.section .text - -glabel create_shadow_type -/* A8960 80112260 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* A8964 80112264 0080182D */ daddu $v1, $a0, $zero -/* A8968 80112268 AFB00010 */ sw $s0, 0x10($sp) -/* A896C 8011226C 0000802D */ daddu $s0, $zero, $zero -/* A8970 80112270 3C04802F */ lui $a0, %hi(D_802E98BC) -/* A8974 80112274 248498BC */ addiu $a0, $a0, %lo(D_802E98BC) -/* A8978 80112278 44850000 */ mtc1 $a1, $f0 -/* A897C 8011227C 44861000 */ mtc1 $a2, $f2 -/* A8980 80112280 44872000 */ mtc1 $a3, $f4 -/* A8984 80112284 2C620006 */ sltiu $v0, $v1, 6 -/* A8988 80112288 AFBF0018 */ sw $ra, 0x18($sp) -/* A898C 8011228C 10400014 */ beqz $v0, .L801122E0 -/* A8990 80112290 AFB10014 */ sw $s1, 0x14($sp) -/* A8994 80112294 00031080 */ sll $v0, $v1, 2 -/* A8998 80112298 3C018015 */ lui $at, %hi(jtbl_8014F928) -/* A899C 8011229C 00220821 */ addu $at, $at, $v0 -/* A89A0 801122A0 8C22F928 */ lw $v0, %lo(jtbl_8014F928)($at) -/* A89A4 801122A4 00400008 */ jr $v0 -/* A89A8 801122A8 00000000 */ nop -glabel L801122AC_A89AC -/* A89AC 801122AC 24100001 */ addiu $s0, $zero, 1 -glabel L801122B0_A89B0 -/* A89B0 801122B0 3C04802F */ lui $a0, %hi(D_802E98BC) -/* A89B4 801122B4 248498BC */ addiu $a0, $a0, %lo(D_802E98BC) -/* A89B8 801122B8 080448B8 */ j .L801122E0 -/* A89BC 801122BC 00000000 */ nop -glabel L801122C0_A89C0 -/* A89C0 801122C0 24100001 */ addiu $s0, $zero, 1 -glabel L801122C4_A89C4 -/* A89C4 801122C4 3C04802F */ lui $a0, %hi(D_802E9904) -/* A89C8 801122C8 24849904 */ addiu $a0, $a0, %lo(D_802E9904) -/* A89CC 801122CC 080448B8 */ j .L801122E0 -/* A89D0 801122D0 00000000 */ nop -glabel L801122D4_A89D4 -/* A89D4 801122D4 24100001 */ addiu $s0, $zero, 1 -glabel L801122D8_A89D8 -/* A89D8 801122D8 3C04802F */ lui $a0, %hi(D_802E98E0) -/* A89DC 801122DC 248498E0 */ addiu $a0, $a0, %lo(D_802E98E0) -.L801122E0: -/* A89E0 801122E0 44050000 */ mfc1 $a1, $f0 -/* A89E4 801122E4 44061000 */ mfc1 $a2, $f2 -/* A89E8 801122E8 44072000 */ mfc1 $a3, $f4 -/* A89EC 801122EC 0C0446F6 */ jal create_shadow_from_data -/* A89F0 801122F0 00000000 */ nop -/* A89F4 801122F4 12000006 */ beqz $s0, .L80112310 -/* A89F8 801122F8 0040882D */ daddu $s1, $v0, $zero -/* A89FC 801122FC 0C044181 */ jal get_shadow_by_index -/* A8A00 80112300 0220202D */ daddu $a0, $s1, $zero -/* A8A04 80112304 8C430000 */ lw $v1, ($v0) -/* A8A08 80112308 34630200 */ ori $v1, $v1, 0x200 -/* A8A0C 8011230C AC430000 */ sw $v1, ($v0) -.L80112310: -/* A8A10 80112310 0220102D */ daddu $v0, $s1, $zero -/* A8A14 80112314 8FBF0018 */ lw $ra, 0x18($sp) -/* A8A18 80112318 8FB10014 */ lw $s1, 0x14($sp) -/* A8A1C 8011231C 8FB00010 */ lw $s0, 0x10($sp) -/* A8A20 80112320 03E00008 */ jr $ra -/* A8A24 80112324 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/a5dd0_len_114e0/is_block_on_ground.s b/ver/us/asm/nonmatchings/a5dd0_len_114e0/is_block_on_ground.s deleted file mode 100644 index a13ec26213..0000000000 --- a/ver/us/asm/nonmatchings/a5dd0_len_114e0/is_block_on_ground.s +++ /dev/null @@ -1,33 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel is_block_on_ground -/* A9220 80112B20 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* A9224 80112B24 27A20028 */ addiu $v0, $sp, 0x28 -/* A9228 80112B28 AFBF0030 */ sw $ra, 0x30($sp) -/* A922C 80112B2C C4800048 */ lwc1 $f0, 0x48($a0) -/* A9230 80112B30 C482004C */ lwc1 $f2, 0x4c($a0) -/* A9234 80112B34 C4840050 */ lwc1 $f4, 0x50($a0) -/* A9238 80112B38 27A40018 */ addiu $a0, $sp, 0x18 -/* A923C 80112B3C 27A5001C */ addiu $a1, $sp, 0x1c -/* A9240 80112B40 27A60020 */ addiu $a2, $sp, 0x20 -/* A9244 80112B44 27A70024 */ addiu $a3, $sp, 0x24 -/* A9248 80112B48 E7A00018 */ swc1 $f0, 0x18($sp) -/* A924C 80112B4C E7A2001C */ swc1 $f2, 0x1c($sp) -/* A9250 80112B50 E7A40020 */ swc1 $f4, 0x20($sp) -/* A9254 80112B54 AFA20010 */ sw $v0, 0x10($sp) -/* A9258 80112B58 27A2002C */ addiu $v0, $sp, 0x2c -/* A925C 80112B5C 0C04497A */ jal entity_raycast_down -/* A9260 80112B60 AFA20014 */ sw $v0, 0x14($sp) -/* A9264 80112B64 C7A0002C */ lwc1 $f0, 0x2c($sp) -/* A9268 80112B68 24027FFF */ addiu $v0, $zero, 0x7fff -/* A926C 80112B6C 4600018D */ trunc.w.s $f6, $f0 -/* A9270 80112B70 44033000 */ mfc1 $v1, $f6 -/* A9274 80112B74 00000000 */ nop -/* A9278 80112B78 50620001 */ beql $v1, $v0, .L80112B80 -/* A927C 80112B7C 0000182D */ daddu $v1, $zero, $zero -.L80112B80: -/* A9280 80112B80 8FBF0030 */ lw $ra, 0x30($sp) -/* A9284 80112B84 0060102D */ daddu $v0, $v1, $zero -/* A9288 80112B88 03E00008 */ jr $ra -/* A928C 80112B8C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/ver/us/asm/nonmatchings/a5dd0_len_114e0/load_model_textures.s b/ver/us/asm/nonmatchings/a5dd0_len_114e0/load_model_textures.s deleted file mode 100644 index fa2b9efb2f..0000000000 --- a/ver/us/asm/nonmatchings/a5dd0_len_114e0/load_model_textures.s +++ /dev/null @@ -1,39 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel load_model_textures -/* AC324 80115C24 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* AC328 80115C28 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* AC32C 80115C2C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* AC330 80115C30 AFBF0010 */ sw $ra, 0x10($sp) -/* AC334 80115C34 80420070 */ lb $v0, 0x70($v0) -/* AC338 80115C38 3C038015 */ lui $v1, %hi(mdl_textureBaseAddress) -/* AC33C 80115C3C 8C63B748 */ lw $v1, %lo(mdl_textureBaseAddress)($v1) -/* AC340 80115C40 0002102B */ sltu $v0, $zero, $v0 -/* AC344 80115C44 00021440 */ sll $v0, $v0, 0x11 -/* AC348 80115C48 00621821 */ addu $v1, $v1, $v0 -/* AC34C 80115C4C 3C018015 */ lui $at, %hi(mdl_nextTextureAddress) -/* AC350 80115C50 AC233368 */ sw $v1, %lo(mdl_nextTextureAddress)($at) -/* AC354 80115C54 10800011 */ beqz $a0, .L80115C9C -/* AC358 80115C58 00000000 */ nop -/* AC35C 80115C5C 10A0000F */ beqz $a1, .L80115C9C -/* AC360 80115C60 00000000 */ nop -/* AC364 80115C64 10C0000D */ beqz $a2, .L80115C9C -/* AC368 80115C68 2403007F */ addiu $v1, $zero, 0x7f -/* AC36C 80115C6C 3C028016 */ lui $v0, %hi(D_8015C74C) -/* AC370 80115C70 2442C74C */ addiu $v0, $v0, %lo(D_8015C74C) -.L80115C74: -/* AC374 80115C74 AC400000 */ sw $zero, ($v0) -/* AC378 80115C78 2463FFFF */ addiu $v1, $v1, -1 -/* AC37C 80115C7C 0461FFFD */ bgez $v1, .L80115C74 -/* AC380 80115C80 2442FFBC */ addiu $v0, $v0, -0x44 -/* AC384 80115C84 3C018015 */ lui $at, %hi(mdl_treeIterPos) -/* AC388 80115C88 AC203224 */ sw $zero, %lo(mdl_treeIterPos)($at) -/* AC38C 80115C8C 10800003 */ beqz $a0, .L80115C9C -/* AC390 80115C90 00000000 */ nop -/* AC394 80115C94 0C0456D1 */ jal _load_model_textures -/* AC398 80115C98 00000000 */ nop -.L80115C9C: -/* AC39C 80115C9C 8FBF0010 */ lw $ra, 0x10($sp) -/* AC3A0 80115CA0 03E00008 */ jr $ra -/* AC3A4 80115CA4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/a5dd0_len_114e0/mdl_get_next_texture_address.s b/ver/us/asm/nonmatchings/a5dd0_len_114e0/mdl_get_next_texture_address.s deleted file mode 100644 index 4deb9b26d2..0000000000 --- a/ver/us/asm/nonmatchings/a5dd0_len_114e0/mdl_get_next_texture_address.s +++ /dev/null @@ -1,23 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel mdl_get_next_texture_address -/* B3EE4 8011D7E4 3C030002 */ lui $v1, 2 -/* B3EE8 8011D7E8 3C028015 */ lui $v0, %hi(mdl_nextTextureAddress) -/* B3EEC 8011D7EC 8C423368 */ lw $v0, %lo(mdl_nextTextureAddress)($v0) -/* B3EF0 8011D7F0 3C058015 */ lui $a1, %hi(mdl_textureBaseAddress) -/* B3EF4 8011D7F4 8CA5B748 */ lw $a1, %lo(mdl_textureBaseAddress)($a1) -/* B3EF8 8011D7F8 34638000 */ ori $v1, $v1, 0x8000 -/* B3EFC 8011D7FC 00451023 */ subu $v0, $v0, $a1 -/* B3F00 8011D800 2442003F */ addiu $v0, $v0, 0x3f -/* B3F04 8011D804 00021182 */ srl $v0, $v0, 6 -/* B3F08 8011D808 00021180 */ sll $v0, $v0, 6 -/* B3F0C 8011D80C 00822021 */ addu $a0, $a0, $v0 -/* B3F10 8011D810 0064182B */ sltu $v1, $v1, $a0 -/* B3F14 8011D814 10600003 */ beqz $v1, .L8011D824 -/* B3F18 8011D818 00A21021 */ addu $v0, $a1, $v0 -/* B3F1C 8011D81C 03E00008 */ jr $ra -/* B3F20 8011D820 0000102D */ daddu $v0, $zero, $zero -.L8011D824: -/* B3F24 8011D824 03E00008 */ jr $ra -/* B3F28 8011D828 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/a5dd0_len_114e0/mdl_set_all_fog_mode.s b/ver/us/asm/nonmatchings/a5dd0_len_114e0/mdl_set_all_fog_mode.s deleted file mode 100644 index a2f1000fa2..0000000000 --- a/ver/us/asm/nonmatchings/a5dd0_len_114e0/mdl_set_all_fog_mode.s +++ /dev/null @@ -1,31 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel mdl_set_all_fog_mode -/* B3F2C 8011D82C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* B3F30 8011D830 AFB10014 */ sw $s1, 0x14($sp) -/* B3F34 8011D834 3C118015 */ lui $s1, %hi(gCurrentModels) -/* B3F38 8011D838 8E3112CC */ lw $s1, %lo(gCurrentModels)($s1) -/* B3F3C 8011D83C AFB20018 */ sw $s2, 0x18($sp) -/* B3F40 8011D840 0080902D */ daddu $s2, $a0, $zero -/* B3F44 8011D844 AFB00010 */ sw $s0, 0x10($sp) -/* B3F48 8011D848 0000802D */ daddu $s0, $zero, $zero -/* B3F4C 8011D84C AFBF001C */ sw $ra, 0x1c($sp) -.L8011D850: -/* B3F50 8011D850 8E240000 */ lw $a0, ($s1) -/* B3F54 8011D854 50800005 */ beql $a0, $zero, .L8011D86C -/* B3F58 8011D858 26100001 */ addiu $s0, $s0, 1 -/* B3F5C 8011D85C 2405FFFF */ addiu $a1, $zero, -1 -/* B3F60 8011D860 0C046F1F */ jal set_mdl_custom_gfx_set -/* B3F64 8011D864 0240302D */ daddu $a2, $s2, $zero -/* B3F68 8011D868 26100001 */ addiu $s0, $s0, 1 -.L8011D86C: -/* B3F6C 8011D86C 2A020100 */ slti $v0, $s0, 0x100 -/* B3F70 8011D870 1440FFF7 */ bnez $v0, .L8011D850 -/* B3F74 8011D874 26310004 */ addiu $s1, $s1, 4 -/* B3F78 8011D878 8FBF001C */ lw $ra, 0x1c($sp) -/* B3F7C 8011D87C 8FB20018 */ lw $s2, 0x18($sp) -/* B3F80 8011D880 8FB10014 */ lw $s1, 0x14($sp) -/* B3F84 8011D884 8FB00010 */ lw $s0, 0x10($sp) -/* B3F88 8011D888 03E00008 */ jr $ra -/* B3F8C 8011D88C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/a5dd0_len_114e0/set_npc_shadow_scale.s b/ver/us/asm/nonmatchings/a5dd0_len_114e0/set_npc_shadow_scale.s deleted file mode 100644 index 1e59cb3559..0000000000 --- a/ver/us/asm/nonmatchings/a5dd0_len_114e0/set_npc_shadow_scale.s +++ /dev/null @@ -1,74 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -glabel D_8014F968 -.double 0.13 - -glabel D_8014F970 -.double 0.12 - -glabel D_8014F978 -.double 0.01 - -.section .text - -glabel set_npc_shadow_scale -/* A9000 80112900 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* A9004 80112904 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* A9008 80112908 44851000 */ mtc1 $a1, $f2 -/* A900C 8011290C 80420070 */ lb $v0, 0x70($v0) -/* A9010 80112910 44862000 */ mtc1 $a2, $f4 -/* A9014 80112914 1440000A */ bnez $v0, .L80112940 -/* A9018 80112918 00000000 */ nop -/* A901C 8011291C 3C014522 */ lui $at, 0x4522 -/* A9020 80112920 34218000 */ ori $at, $at, 0x8000 -/* A9024 80112924 44810000 */ mtc1 $at, $f0 -/* A9028 80112928 00000000 */ nop -/* A902C 8011292C 46001003 */ div.s $f0, $f2, $f0 -/* A9030 80112930 3C018015 */ lui $at, %hi(D_8014F968) -/* A9034 80112934 D422F968 */ ldc1 $f2, %lo(D_8014F968)($at) -/* A9038 80112938 08044A57 */ j .L8011295C -/* A903C 8011293C 46000021 */ cvt.d.s $f0, $f0 -.L80112940: -/* A9040 80112940 3C014561 */ lui $at, 0x4561 -/* A9044 80112944 44810000 */ mtc1 $at, $f0 -/* A9048 80112948 00000000 */ nop -/* A904C 8011294C 46001003 */ div.s $f0, $f2, $f0 -/* A9050 80112950 3C018015 */ lui $at, %hi(D_8014F970) -/* A9054 80112954 D422F970 */ ldc1 $f2, %lo(D_8014F970)($at) -/* A9058 80112958 46000021 */ cvt.d.s $f0, $f0 -.L8011295C: -/* A905C 8011295C 46201081 */ sub.d $f2, $f2, $f0 -/* A9060 80112960 462010A0 */ cvt.s.d $f2, $f2 -/* A9064 80112964 E482001C */ swc1 $f2, 0x1c($a0) -/* A9068 80112968 C480001C */ lwc1 $f0, 0x1c($a0) -/* A906C 8011296C 3C018015 */ lui $at, %hi(D_8014F978) -/* A9070 80112970 D422F978 */ ldc1 $f2, %lo(D_8014F978)($at) -/* A9074 80112974 46000021 */ cvt.d.s $f0, $f0 -/* A9078 80112978 4622003C */ c.lt.d $f0, $f2 -/* A907C 8011297C 00000000 */ nop -/* A9080 80112980 45000006 */ bc1f .L8011299C -/* A9084 80112984 00000000 */ nop -/* A9088 80112988 3C013C23 */ lui $at, 0x3c23 -/* A908C 8011298C 3421D70A */ ori $at, $at, 0xd70a -/* A9090 80112990 44810000 */ mtc1 $at, $f0 -/* A9094 80112994 00000000 */ nop -/* A9098 80112998 E480001C */ swc1 $f0, 0x1c($a0) -.L8011299C: -/* A909C 8011299C 3C014270 */ lui $at, 0x4270 -/* A90A0 801129A0 44810000 */ mtc1 $at, $f0 -/* A90A4 801129A4 00000000 */ nop -/* A90A8 801129A8 4604003C */ c.lt.s $f0, $f4 -/* A90AC 801129AC 00000000 */ nop -/* A90B0 801129B0 45000005 */ bc1f .L801129C8 -/* A90B4 801129B4 00000000 */ nop -/* A90B8 801129B8 C480001C */ lwc1 $f0, 0x1c($a0) -/* A90BC 801129BC 46000000 */ add.s $f0, $f0, $f0 -/* A90C0 801129C0 03E00008 */ jr $ra -/* A90C4 801129C4 E4800024 */ swc1 $f0, 0x24($a0) -.L801129C8: -/* A90C8 801129C8 C480001C */ lwc1 $f0, 0x1c($a0) -/* A90CC 801129CC 03E00008 */ jr $ra -/* A90D0 801129D0 E4800024 */ swc1 $f0, 0x24($a0) diff --git a/ver/us/asm/nonmatchings/a5dd0_len_114e0/set_peach_shadow_scale.s b/ver/us/asm/nonmatchings/a5dd0_len_114e0/set_peach_shadow_scale.s deleted file mode 100644 index 65cd9376f2..0000000000 --- a/ver/us/asm/nonmatchings/a5dd0_len_114e0/set_peach_shadow_scale.s +++ /dev/null @@ -1,103 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -glabel D_8014F980 -.double 0.01 - -glabel D_8014F988 -.double 0.01 - -.section .text - -glabel set_peach_shadow_scale -/* A90D4 801129D4 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* A90D8 801129D8 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* A90DC 801129DC 44852000 */ mtc1 $a1, $f4 -/* A90E0 801129E0 80420070 */ lb $v0, 0x70($v0) -/* A90E4 801129E4 3C013DF5 */ lui $at, 0x3df5 -/* A90E8 801129E8 3421C28F */ ori $at, $at, 0xc28f -/* A90EC 801129EC 44811000 */ mtc1 $at, $f2 -/* A90F0 801129F0 14400036 */ bnez $v0, .L80112ACC -/* A90F4 801129F4 3C03000C */ lui $v1, 0xc -/* A90F8 801129F8 3C028011 */ lui $v0, %hi(gPlayerStatus) -/* A90FC 801129FC 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus) -/* A9100 80112A00 8C4500B8 */ lw $a1, 0xb8($v0) -/* A9104 80112A04 34630018 */ ori $v1, $v1, 0x18 -/* A9108 80112A08 00A3182B */ sltu $v1, $a1, $v1 -/* A910C 80112A0C 1460002C */ bnez $v1, .L80112AC0 -/* A9110 80112A10 3C02000C */ lui $v0, 0xc -/* A9114 80112A14 3442001A */ ori $v0, $v0, 0x1a -/* A9118 80112A18 0045102B */ sltu $v0, $v0, $a1 -/* A911C 80112A1C 10400004 */ beqz $v0, .L80112A30 -/* A9120 80112A20 3C02000D */ lui $v0, 0xd -/* A9124 80112A24 34420008 */ ori $v0, $v0, 8 -/* A9128 80112A28 14A20025 */ bne $a1, $v0, .L80112AC0 -/* A912C 80112A2C 00000000 */ nop -.L80112A30: -/* A9130 80112A30 3C014522 */ lui $at, 0x4522 -/* A9134 80112A34 34218000 */ ori $at, $at, 0x8000 -/* A9138 80112A38 44810000 */ mtc1 $at, $f0 -/* A913C 80112A3C 3C013E85 */ lui $at, 0x3e85 -/* A9140 80112A40 34211EB8 */ ori $at, $at, 0x1eb8 -/* A9144 80112A44 44811000 */ mtc1 $at, $f2 -/* A9148 80112A48 46002103 */ div.s $f4, $f4, $f0 -/* A914C 80112A4C 46041081 */ sub.s $f2, $f2, $f4 -/* A9150 80112A50 3C018015 */ lui $at, %hi(D_8014F980) -/* A9154 80112A54 D426F980 */ ldc1 $f6, %lo(D_8014F980)($at) -/* A9158 80112A58 46001021 */ cvt.d.s $f0, $f2 -/* A915C 80112A5C 4626003C */ c.lt.d $f0, $f6 -/* A9160 80112A60 00000000 */ nop -/* A9164 80112A64 45000006 */ bc1f .L80112A80 -/* A9168 80112A68 E482001C */ swc1 $f2, 0x1c($a0) -/* A916C 80112A6C 3C013C23 */ lui $at, 0x3c23 -/* A9170 80112A70 3421D70A */ ori $at, $at, 0xd70a -/* A9174 80112A74 44810000 */ mtc1 $at, $f0 -/* A9178 80112A78 00000000 */ nop -/* A917C 80112A7C E480001C */ swc1 $f0, 0x1c($a0) -.L80112A80: -/* A9180 80112A80 3C013E05 */ lui $at, 0x3e05 -/* A9184 80112A84 34211EB8 */ ori $at, $at, 0x1eb8 -/* A9188 80112A88 44810000 */ mtc1 $at, $f0 -/* A918C 80112A8C 00000000 */ nop -/* A9190 80112A90 46040001 */ sub.s $f0, $f0, $f4 -/* A9194 80112A94 E4800024 */ swc1 $f0, 0x24($a0) -/* A9198 80112A98 46000021 */ cvt.d.s $f0, $f0 -/* A919C 80112A9C 4626003C */ c.lt.d $f0, $f6 -/* A91A0 80112AA0 00000000 */ nop -/* A91A4 80112AA4 4500001C */ bc1f .L80112B18 -/* A91A8 80112AA8 00000000 */ nop -/* A91AC 80112AAC 3C013C23 */ lui $at, 0x3c23 -/* A91B0 80112AB0 3421D70A */ ori $at, $at, 0xd70a -/* A91B4 80112AB4 44810000 */ mtc1 $at, $f0 -/* A91B8 80112AB8 03E00008 */ jr $ra -/* A91BC 80112ABC E4800024 */ swc1 $f0, 0x24($a0) -.L80112AC0: -/* A91C0 80112AC0 3C013E23 */ lui $at, 0x3e23 -/* A91C4 80112AC4 3421D70A */ ori $at, $at, 0xd70a -/* A91C8 80112AC8 44811000 */ mtc1 $at, $f2 -.L80112ACC: -/* A91CC 80112ACC 3C014561 */ lui $at, 0x4561 -/* A91D0 80112AD0 44810000 */ mtc1 $at, $f0 -/* A91D4 80112AD4 00000000 */ nop -/* A91D8 80112AD8 46002003 */ div.s $f0, $f4, $f0 -/* A91DC 80112ADC 46001001 */ sub.s $f0, $f2, $f0 -/* A91E0 80112AE0 3C018015 */ lui $at, %hi(D_8014F988) -/* A91E4 80112AE4 D424F988 */ ldc1 $f4, %lo(D_8014F988)($at) -/* A91E8 80112AE8 460000A1 */ cvt.d.s $f2, $f0 -/* A91EC 80112AEC 4624103C */ c.lt.d $f2, $f4 -/* A91F0 80112AF0 00000000 */ nop -/* A91F4 80112AF4 45000006 */ bc1f .L80112B10 -/* A91F8 80112AF8 E480001C */ swc1 $f0, 0x1c($a0) -/* A91FC 80112AFC 3C013C23 */ lui $at, 0x3c23 -/* A9200 80112B00 3421D70A */ ori $at, $at, 0xd70a -/* A9204 80112B04 44810000 */ mtc1 $at, $f0 -/* A9208 80112B08 00000000 */ nop -/* A920C 80112B0C E480001C */ swc1 $f0, 0x1c($a0) -.L80112B10: -/* A9210 80112B10 C480001C */ lwc1 $f0, 0x1c($a0) -/* A9214 80112B14 E4800024 */ swc1 $f0, 0x24($a0) -.L80112B18: -/* A9218 80112B18 03E00008 */ jr $ra -/* A921C 80112B1C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/a5dd0_len_114e0/set_standard_shadow_scale.s b/ver/us/asm/nonmatchings/a5dd0_len_114e0/set_standard_shadow_scale.s deleted file mode 100644 index ef29240e23..0000000000 --- a/ver/us/asm/nonmatchings/a5dd0_len_114e0/set_standard_shadow_scale.s +++ /dev/null @@ -1,61 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -glabel D_8014F950 -.double 0.13 - -glabel D_8014F958 -.double 0.12 - -glabel D_8014F960 -.double 0.01 - -.section .text - -glabel set_standard_shadow_scale -/* A8F5C 8011285C 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* A8F60 80112860 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* A8F64 80112864 80420070 */ lb $v0, 0x70($v0) -/* A8F68 80112868 44851000 */ mtc1 $a1, $f2 -/* A8F6C 8011286C 1440000A */ bnez $v0, .L80112898 -/* A8F70 80112870 00000000 */ nop -/* A8F74 80112874 3C014522 */ lui $at, 0x4522 -/* A8F78 80112878 34218000 */ ori $at, $at, 0x8000 -/* A8F7C 8011287C 44810000 */ mtc1 $at, $f0 -/* A8F80 80112880 00000000 */ nop -/* A8F84 80112884 46001003 */ div.s $f0, $f2, $f0 -/* A8F88 80112888 3C018015 */ lui $at, %hi(D_8014F950) -/* A8F8C 8011288C D422F950 */ ldc1 $f2, %lo(D_8014F950)($at) -/* A8F90 80112890 08044A2D */ j .L801128B4 -/* A8F94 80112894 46000021 */ cvt.d.s $f0, $f0 -.L80112898: -/* A8F98 80112898 3C014561 */ lui $at, 0x4561 -/* A8F9C 8011289C 44810000 */ mtc1 $at, $f0 -/* A8FA0 801128A0 00000000 */ nop -/* A8FA4 801128A4 46001003 */ div.s $f0, $f2, $f0 -/* A8FA8 801128A8 3C018015 */ lui $at, %hi(D_8014F958) -/* A8FAC 801128AC D422F958 */ ldc1 $f2, %lo(D_8014F958)($at) -/* A8FB0 801128B0 46000021 */ cvt.d.s $f0, $f0 -.L801128B4: -/* A8FB4 801128B4 46201081 */ sub.d $f2, $f2, $f0 -/* A8FB8 801128B8 462010A0 */ cvt.s.d $f2, $f2 -/* A8FBC 801128BC E482001C */ swc1 $f2, 0x1c($a0) -/* A8FC0 801128C0 C480001C */ lwc1 $f0, 0x1c($a0) -/* A8FC4 801128C4 3C018015 */ lui $at, %hi(D_8014F960) -/* A8FC8 801128C8 D422F960 */ ldc1 $f2, %lo(D_8014F960)($at) -/* A8FCC 801128CC 46000021 */ cvt.d.s $f0, $f0 -/* A8FD0 801128D0 4622003C */ c.lt.d $f0, $f2 -/* A8FD4 801128D4 00000000 */ nop -/* A8FD8 801128D8 45000006 */ bc1f .L801128F4 -/* A8FDC 801128DC 00000000 */ nop -/* A8FE0 801128E0 3C013C23 */ lui $at, 0x3c23 -/* A8FE4 801128E4 3421D70A */ ori $at, $at, 0xd70a -/* A8FE8 801128E8 44810000 */ mtc1 $at, $f0 -/* A8FEC 801128EC 00000000 */ nop -/* A8FF0 801128F0 E480001C */ swc1 $f0, 0x1c($a0) -.L801128F4: -/* A8FF4 801128F4 C480001C */ lwc1 $f0, 0x1c($a0) -/* A8FF8 801128F8 03E00008 */ jr $ra -/* A8FFC 801128FC E4800024 */ swc1 $f0, 0x24($a0) diff --git a/ver/us/asm/nonmatchings/a5dd0_len_114e0/state_do_unk.s b/ver/us/asm/nonmatchings/a5dd0_len_114e0/state_do_unk.s deleted file mode 100644 index 69c58f7e2f..0000000000 --- a/ver/us/asm/nonmatchings/a5dd0_len_114e0/state_do_unk.s +++ /dev/null @@ -1,33 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel state_do_unk -/* A95EC 80112EEC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* A95F0 80112EF0 AFB00010 */ sw $s0, 0x10($sp) -/* A95F4 80112EF4 3C108015 */ lui $s0, %hi(gMainGameState) -/* A95F8 80112EF8 26101700 */ addiu $s0, $s0, %lo(gMainGameState) -/* A95FC 80112EFC AFB10014 */ sw $s1, 0x14($sp) -/* A9600 80112F00 0000882D */ daddu $s1, $zero, $zero -/* A9604 80112F04 AFBF0018 */ sw $ra, 0x18($sp) -.L80112F08: -/* A9608 80112F08 96030000 */ lhu $v1, ($s0) -/* A960C 80112F0C 5060000A */ beql $v1, $zero, .L80112F38 -/* A9610 80112F10 26310001 */ addiu $s1, $s1, 1 -/* A9614 80112F14 30620004 */ andi $v0, $v1, 4 -/* A9618 80112F18 14400007 */ bnez $v0, .L80112F38 -/* A961C 80112F1C 26310001 */ addiu $s1, $s1, 1 -/* A9620 80112F20 30620010 */ andi $v0, $v1, 0x10 -/* A9624 80112F24 14400004 */ bnez $v0, .L80112F38 -/* A9628 80112F28 00000000 */ nop -/* A962C 80112F2C 8E02000C */ lw $v0, 0xc($s0) -/* A9630 80112F30 0040F809 */ jalr $v0 -/* A9634 80112F34 00000000 */ nop -.L80112F38: -/* A9638 80112F38 2A220002 */ slti $v0, $s1, 2 -/* A963C 80112F3C 1440FFF2 */ bnez $v0, .L80112F08 -/* A9640 80112F40 26100018 */ addiu $s0, $s0, 0x18 -/* A9644 80112F44 8FBF0018 */ lw $ra, 0x18($sp) -/* A9648 80112F48 8FB10014 */ lw $s1, 0x14($sp) -/* A964C 80112F4C 8FB00010 */ lw $s0, 0x10($sp) -/* A9650 80112F50 03E00008 */ jr $ra -/* A9654 80112F54 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/a5dd0_len_114e0/state_render_backUI.s b/ver/us/asm/nonmatchings/a5dd0_len_114e0/state_render_backUI.s deleted file mode 100644 index 91fa9340c4..0000000000 --- a/ver/us/asm/nonmatchings/a5dd0_len_114e0/state_render_backUI.s +++ /dev/null @@ -1,33 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel state_render_backUI -/* A9658 80112F58 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* A965C 80112F5C AFB00010 */ sw $s0, 0x10($sp) -/* A9660 80112F60 3C108015 */ lui $s0, %hi(gMainGameState) -/* A9664 80112F64 26101700 */ addiu $s0, $s0, %lo(gMainGameState) -/* A9668 80112F68 AFB10014 */ sw $s1, 0x14($sp) -/* A966C 80112F6C 0000882D */ daddu $s1, $zero, $zero -/* A9670 80112F70 AFBF0018 */ sw $ra, 0x18($sp) -.L80112F74: -/* A9674 80112F74 96030000 */ lhu $v1, ($s0) -/* A9678 80112F78 5060000A */ beql $v1, $zero, .L80112FA4 -/* A967C 80112F7C 26310001 */ addiu $s1, $s1, 1 -/* A9680 80112F80 30620004 */ andi $v0, $v1, 4 -/* A9684 80112F84 14400007 */ bnez $v0, .L80112FA4 -/* A9688 80112F88 26310001 */ addiu $s1, $s1, 1 -/* A968C 80112F8C 30620010 */ andi $v0, $v1, 0x10 -/* A9690 80112F90 14400004 */ bnez $v0, .L80112FA4 -/* A9694 80112F94 00000000 */ nop -/* A9698 80112F98 8E020010 */ lw $v0, 0x10($s0) -/* A969C 80112F9C 0040F809 */ jalr $v0 -/* A96A0 80112FA0 00000000 */ nop -.L80112FA4: -/* A96A4 80112FA4 2A220002 */ slti $v0, $s1, 2 -/* A96A8 80112FA8 1440FFF2 */ bnez $v0, .L80112F74 -/* A96AC 80112FAC 26100018 */ addiu $s0, $s0, 0x18 -/* A96B0 80112FB0 8FBF0018 */ lw $ra, 0x18($sp) -/* A96B4 80112FB4 8FB10014 */ lw $s1, 0x14($sp) -/* A96B8 80112FB8 8FB00010 */ lw $s0, 0x10($sp) -/* A96BC 80112FBC 03E00008 */ jr $ra -/* A96C0 80112FC0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/a5dd0_len_114e0/state_render_frontUI.s b/ver/us/asm/nonmatchings/a5dd0_len_114e0/state_render_frontUI.s deleted file mode 100644 index 8285c5f211..0000000000 --- a/ver/us/asm/nonmatchings/a5dd0_len_114e0/state_render_frontUI.s +++ /dev/null @@ -1,59 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel state_render_frontUI -/* A96C4 80112FC4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* A96C8 80112FC8 AFB00010 */ sw $s0, 0x10($sp) -/* A96CC 80112FCC 3C108015 */ lui $s0, %hi(gMainGameState) -/* A96D0 80112FD0 26101700 */ addiu $s0, $s0, %lo(gMainGameState) -/* A96D4 80112FD4 AFB10014 */ sw $s1, 0x14($sp) -/* A96D8 80112FD8 0000882D */ daddu $s1, $zero, $zero -/* A96DC 80112FDC AFBF0018 */ sw $ra, 0x18($sp) -.L80112FE0: -/* A96E0 80112FE0 96030000 */ lhu $v1, ($s0) -/* A96E4 80112FE4 5060000D */ beql $v1, $zero, .L8011301C -/* A96E8 80112FE8 26310001 */ addiu $s1, $s1, 1 -/* A96EC 80112FEC 30620004 */ andi $v0, $v1, 4 -/* A96F0 80112FF0 5440000A */ bnel $v0, $zero, .L8011301C -/* A96F4 80112FF4 26310001 */ addiu $s1, $s1, 1 -/* A96F8 80112FF8 30620002 */ andi $v0, $v1, 2 -/* A96FC 80112FFC 14400007 */ bnez $v0, .L8011301C -/* A9700 80113000 26310001 */ addiu $s1, $s1, 1 -/* A9704 80113004 30620020 */ andi $v0, $v1, 0x20 -/* A9708 80113008 10400004 */ beqz $v0, .L8011301C -/* A970C 8011300C 00000000 */ nop -/* A9710 80113010 8E020014 */ lw $v0, 0x14($s0) -/* A9714 80113014 0040F809 */ jalr $v0 -/* A9718 80113018 00000000 */ nop -.L8011301C: -/* A971C 8011301C 2A220002 */ slti $v0, $s1, 2 -/* A9720 80113020 1440FFEF */ bnez $v0, .L80112FE0 -/* A9724 80113024 26100018 */ addiu $s0, $s0, 0x18 -/* A9728 80113028 3C108015 */ lui $s0, %hi(gMainGameState) -/* A972C 8011302C 26101700 */ addiu $s0, $s0, %lo(gMainGameState) -/* A9730 80113030 0000882D */ daddu $s1, $zero, $zero -.L80113034: -/* A9734 80113034 96030000 */ lhu $v1, ($s0) -/* A9738 80113038 5060000D */ beql $v1, $zero, .L80113070 -/* A973C 8011303C 26310001 */ addiu $s1, $s1, 1 -/* A9740 80113040 30620004 */ andi $v0, $v1, 4 -/* A9744 80113044 5440000A */ bnel $v0, $zero, .L80113070 -/* A9748 80113048 26310001 */ addiu $s1, $s1, 1 -/* A974C 8011304C 30620002 */ andi $v0, $v1, 2 -/* A9750 80113050 14400007 */ bnez $v0, .L80113070 -/* A9754 80113054 26310001 */ addiu $s1, $s1, 1 -/* A9758 80113058 30620010 */ andi $v0, $v1, 0x10 -/* A975C 8011305C 10400004 */ beqz $v0, .L80113070 -/* A9760 80113060 00000000 */ nop -/* A9764 80113064 8E020010 */ lw $v0, 0x10($s0) -/* A9768 80113068 0040F809 */ jalr $v0 -/* A976C 8011306C 00000000 */ nop -.L80113070: -/* A9770 80113070 2A220002 */ slti $v0, $s1, 2 -/* A9774 80113074 1440FFEF */ bnez $v0, .L80113034 -/* A9778 80113078 26100018 */ addiu $s0, $s0, 0x18 -/* A977C 8011307C 8FBF0018 */ lw $ra, 0x18($sp) -/* A9780 80113080 8FB10014 */ lw $s1, 0x14($sp) -/* A9784 80113084 8FB00010 */ lw $s0, 0x10($sp) -/* A9788 80113088 03E00008 */ jr $ra -/* A978C 8011308C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/effects/effect_7/func_E000E174.s b/ver/us/asm/nonmatchings/effects/effect_7/func_E000E174.s deleted file mode 100644 index f9a4627fc4..0000000000 --- a/ver/us/asm/nonmatchings/effects/effect_7/func_E000E174.s +++ /dev/null @@ -1,59 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_E000E174 -/* 32C284 E000E174 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 32C288 E000E178 AFBF0010 */ sw $ra, 0x10($sp) -/* 32C28C E000E17C 8C86000C */ lw $a2, 0xc($a0) -/* 32C290 E000E180 8CC2006C */ lw $v0, 0x6c($a2) -/* 32C294 E000E184 8CC30070 */ lw $v1, 0x70($a2) -/* 32C298 E000E188 00021080 */ sll $v0, $v0, 2 -/* 32C29C E000E18C 3C01E001 */ lui $at, %hi(D_E000E684) -/* 32C2A0 E000E190 00220821 */ addu $at, $at, $v0 -/* 32C2A4 E000E194 8C22E684 */ lw $v0, %lo(D_E000E684)($at) -/* 32C2A8 E000E198 00431021 */ addu $v0, $v0, $v1 -/* 32C2AC E000E19C 80420000 */ lb $v0, ($v0) -/* 32C2B0 E000E1A0 24630001 */ addiu $v1, $v1, 1 -/* 32C2B4 E000E1A4 ACC30070 */ sw $v1, 0x70($a2) -/* 32C2B8 E000E1A8 04410005 */ bgez $v0, .LE000E1C0 -/* 32C2BC E000E1AC ACC20074 */ sw $v0, 0x74($a2) -/* 32C2C0 E000E1B0 0C080128 */ jal shim_remove_effect -/* 32C2C4 E000E1B4 00000000 */ nop -/* 32C2C8 E000E1B8 0800388E */ j .LE000E238 -/* 32C2CC E000E1BC 00000000 */ nop -.LE000E1C0: -/* 32C2D0 E000E1C0 8C820008 */ lw $v0, 8($a0) -/* 32C2D4 E000E1C4 1840001C */ blez $v0, .LE000E238 -/* 32C2D8 E000E1C8 0000282D */ daddu $a1, $zero, $zero -/* 32C2DC E000E1CC 24C3000C */ addiu $v1, $a2, 0xc -.LE000E1D0: -/* 32C2E0 E000E1D0 C462004C */ lwc1 $f2, 0x4c($v1) -/* 32C2E4 E000E1D4 C4600058 */ lwc1 $f0, 0x58($v1) -/* 32C2E8 E000E1D8 46001082 */ mul.s $f2, $f2, $f0 -/* 32C2EC E000E1DC 00000000 */ nop -/* 32C2F0 E000E1E0 C468004C */ lwc1 $f8, 0x4c($v1) -/* 32C2F4 E000E1E4 C460005C */ lwc1 $f0, 0x5c($v1) -/* 32C2F8 E000E1E8 46004202 */ mul.s $f8, $f8, $f0 -/* 32C2FC E000E1EC 00000000 */ nop -/* 32C300 E000E1F0 C466FFFC */ lwc1 $f6, -4($v1) -/* 32C304 E000E1F4 C4600054 */ lwc1 $f0, 0x54($v1) -/* 32C308 E000E1F8 46023180 */ add.s $f6, $f6, $f2 -/* 32C30C E000E1FC C4620050 */ lwc1 $f2, 0x50($v1) -/* 32C310 E000E200 46001080 */ add.s $f2, $f2, $f0 -/* 32C314 E000E204 C4640004 */ lwc1 $f4, 4($v1) -/* 32C318 E000E208 46082100 */ add.s $f4, $f4, $f8 -/* 32C31C E000E20C C4600000 */ lwc1 $f0, ($v1) -/* 32C320 E000E210 24A50001 */ addiu $a1, $a1, 1 -/* 32C324 E000E214 E466FFFC */ swc1 $f6, -4($v1) -/* 32C328 E000E218 46020000 */ add.s $f0, $f0, $f2 -/* 32C32C E000E21C E4620050 */ swc1 $f2, 0x50($v1) -/* 32C330 E000E220 E4640004 */ swc1 $f4, 4($v1) -/* 32C334 E000E224 E4600000 */ swc1 $f0, ($v1) -/* 32C338 E000E228 8C820008 */ lw $v0, 8($a0) -/* 32C33C E000E22C 00A2102A */ slt $v0, $a1, $v0 -/* 32C340 E000E230 1440FFE7 */ bnez $v0, .LE000E1D0 -/* 32C344 E000E234 24630078 */ addiu $v1, $v1, 0x78 -.LE000E238: -/* 32C348 E000E238 8FBF0010 */ lw $ra, 0x10($sp) -/* 32C34C E000E23C 03E00008 */ jr $ra -/* 32C350 E000E240 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/effects/effect_7/func_E000E244.s b/ver/us/asm/nonmatchings/effects/effect_7/func_E000E244.s deleted file mode 100644 index 1675be5dae..0000000000 --- a/ver/us/asm/nonmatchings/effects/effect_7/func_E000E244.s +++ /dev/null @@ -1,21 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_E000E244 -/* 32C354 E000E244 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 32C358 E000E248 3C02E001 */ lui $v0, %hi(func_E000E288) -/* 32C35C E000E24C 2442E288 */ addiu $v0, $v0, %lo(func_E000E288) -/* 32C360 E000E250 AFA2001C */ sw $v0, 0x1c($sp) -/* 32C364 E000E254 24020028 */ addiu $v0, $zero, 0x28 -/* 32C368 E000E258 AFA40018 */ sw $a0, 0x18($sp) -/* 32C36C E000E25C 27A40010 */ addiu $a0, $sp, 0x10 -/* 32C370 E000E260 AFBF0020 */ sw $ra, 0x20($sp) -/* 32C374 E000E264 AFA00014 */ sw $zero, 0x14($sp) -/* 32C378 E000E268 0C080120 */ jal shim_queue_render_task -/* 32C37C E000E26C AFA20010 */ sw $v0, 0x10($sp) -/* 32C380 E000E270 8C430000 */ lw $v1, ($v0) -/* 32C384 E000E274 34630002 */ ori $v1, $v1, 2 -/* 32C388 E000E278 AC430000 */ sw $v1, ($v0) -/* 32C38C E000E27C 8FBF0020 */ lw $ra, 0x20($sp) -/* 32C390 E000E280 03E00008 */ jr $ra -/* 32C394 E000E284 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/ver/us/asm/nonmatchings/effects/effect_7/func_E000E288.s b/ver/us/asm/nonmatchings/effects/effect_7/func_E000E288.s deleted file mode 100644 index ab442f018b..0000000000 --- a/ver/us/asm/nonmatchings/effects/effect_7/func_E000E288.s +++ /dev/null @@ -1,262 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_E000E288 -/* 32C398 E000E288 27BDFF38 */ addiu $sp, $sp, -0xc8 -/* 32C39C E000E28C AFB700B4 */ sw $s7, 0xb4($sp) -/* 32C3A0 E000E290 0080B82D */ daddu $s7, $a0, $zero -/* 32C3A4 E000E294 AFBF00BC */ sw $ra, 0xbc($sp) -/* 32C3A8 E000E298 AFBE00B8 */ sw $fp, 0xb8($sp) -/* 32C3AC E000E29C AFB600B0 */ sw $s6, 0xb0($sp) -/* 32C3B0 E000E2A0 AFB500AC */ sw $s5, 0xac($sp) -/* 32C3B4 E000E2A4 AFB400A8 */ sw $s4, 0xa8($sp) -/* 32C3B8 E000E2A8 AFB300A4 */ sw $s3, 0xa4($sp) -/* 32C3BC E000E2AC AFB200A0 */ sw $s2, 0xa0($sp) -/* 32C3C0 E000E2B0 AFB1009C */ sw $s1, 0x9c($sp) -/* 32C3C4 E000E2B4 AFB00098 */ sw $s0, 0x98($sp) -/* 32C3C8 E000E2B8 F7B400C0 */ sdc1 $f20, 0xc0($sp) -/* 32C3CC E000E2BC 8EE7000C */ lw $a3, 0xc($s7) -/* 32C3D0 E000E2C0 3C1E0900 */ lui $fp, 0x900 -/* 32C3D4 E000E2C4 27DE2B40 */ addiu $fp, $fp, 0x2b40 -/* 32C3D8 E000E2C8 94EB0004 */ lhu $t3, 4($a3) -/* 32C3DC E000E2CC 8CEC0074 */ lw $t4, 0x74($a3) -/* 32C3E0 E000E2D0 15600005 */ bnez $t3, .LE000E2E8 -/* 32C3E4 E000E2D4 0000682D */ daddu $t5, $zero, $zero -/* 32C3E8 E000E2D8 3C1E0900 */ lui $fp, 0x900 -/* 32C3EC E000E2DC 27DE2B20 */ addiu $fp, $fp, 0x2b20 -/* 32C3F0 E000E2E0 1160000A */ beqz $t3, .LE000E30C -/* 32C3F4 E000E2E4 00000000 */ nop -.LE000E2E8: -/* 32C3F8 E000E2E8 3C0A0900 */ lui $t2, 0x900 -/* 32C3FC E000E2EC 254A2950 */ addiu $t2, $t2, 0x2950 -/* 32C400 E000E2F0 24020001 */ addiu $v0, $zero, 1 -/* 32C404 E000E2F4 15620007 */ bne $t3, $v0, .LE000E314 -/* 32C408 E000E2F8 00000000 */ nop -/* 32C40C E000E2FC 3C0A0900 */ lui $t2, 0x900 -/* 32C410 E000E300 254A2868 */ addiu $t2, $t2, 0x2868 -/* 32C414 E000E304 080038C5 */ j .LE000E314 -/* 32C418 E000E308 00000000 */ nop -.LE000E30C: -/* 32C41C E000E30C 3C0A0900 */ lui $t2, 0x900 -/* 32C420 E000E310 254A2780 */ addiu $t2, $t2, 0x2780 -.LE000E314: -/* 32C424 E000E314 8CE3006C */ lw $v1, 0x6c($a3) -/* 32C428 E000E318 14600004 */ bnez $v1, .LE000E32C -/* 32C42C E000E31C 24020001 */ addiu $v0, $zero, 1 -/* 32C430 E000E320 24020006 */ addiu $v0, $zero, 6 -/* 32C434 E000E324 11820006 */ beq $t4, $v0, .LE000E340 -/* 32C438 E000E328 24020001 */ addiu $v0, $zero, 1 -.LE000E32C: -/* 32C43C E000E32C 14620006 */ bne $v1, $v0, .LE000E348 -/* 32C440 E000E330 3C04DB06 */ lui $a0, 0xdb06 -/* 32C444 E000E334 24020007 */ addiu $v0, $zero, 7 -/* 32C448 E000E338 15820004 */ bne $t4, $v0, .LE000E34C -/* 32C44C E000E33C 34840024 */ ori $a0, $a0, 0x24 -.LE000E340: -/* 32C450 E000E340 240D0001 */ addiu $t5, $zero, 1 -/* 32C454 E000E344 3C04DB06 */ lui $a0, 0xdb06 -.LE000E348: -/* 32C458 E000E348 34840024 */ ori $a0, $a0, 0x24 -.LE000E34C: -/* 32C45C E000E34C 3C05E6DE */ lui $a1, 0xe6de -/* 32C460 E000E350 34A5DE6E */ ori $a1, $a1, 0xde6e -/* 32C464 E000E354 3C08800A */ lui $t0, %hi(gMasterGfxPos) -/* 32C468 E000E358 2508A66C */ addiu $t0, $t0, %lo(gMasterGfxPos) -/* 32C46C E000E35C 24090020 */ addiu $t1, $zero, 0x20 -/* 32C470 E000E360 8D060000 */ lw $a2, ($t0) -/* 32C474 E000E364 3C02E700 */ lui $v0, 0xe700 -/* 32C478 E000E368 00C0182D */ daddu $v1, $a2, $zero -/* 32C47C E000E36C 24C60008 */ addiu $a2, $a2, 8 -/* 32C480 E000E370 AD060000 */ sw $a2, ($t0) -/* 32C484 E000E374 AC620000 */ sw $v0, ($v1) -/* 32C488 E000E378 24C20008 */ addiu $v0, $a2, 8 -/* 32C48C E000E37C AC600004 */ sw $zero, 4($v1) -/* 32C490 E000E380 AD020000 */ sw $v0, ($t0) -/* 32C494 E000E384 24C20010 */ addiu $v0, $a2, 0x10 -/* 32C498 E000E388 ACC40000 */ sw $a0, ($a2) -/* 32C49C E000E38C AD020000 */ sw $v0, ($t0) -/* 32C4A0 E000E390 24C20018 */ addiu $v0, $a2, 0x18 -/* 32C4A4 E000E394 AD020000 */ sw $v0, ($t0) -/* 32C4A8 E000E398 8EE30010 */ lw $v1, 0x10($s7) -/* 32C4AC E000E39C 00C91021 */ addu $v0, $a2, $t1 -/* 32C4B0 E000E3A0 AD020000 */ sw $v0, ($t0) -/* 32C4B4 E000E3A4 8C63001C */ lw $v1, 0x1c($v1) -/* 32C4B8 E000E3A8 3C02DE00 */ lui $v0, 0xde00 -/* 32C4BC E000E3AC ACC20008 */ sw $v0, 8($a2) -/* 32C4C0 E000E3B0 3C02FB00 */ lui $v0, 0xfb00 -/* 32C4C4 E000E3B4 ACC20010 */ sw $v0, 0x10($a2) -/* 32C4C8 E000E3B8 2402007F */ addiu $v0, $zero, 0x7f -/* 32C4CC E000E3BC ACC20014 */ sw $v0, 0x14($a2) -/* 32C4D0 E000E3C0 3C02FA00 */ lui $v0, 0xfa00 -/* 32C4D4 E000E3C4 ACC20018 */ sw $v0, 0x18($a2) -/* 32C4D8 E000E3C8 3C028000 */ lui $v0, 0x8000 -/* 32C4DC E000E3CC ACCA000C */ sw $t2, 0xc($a2) -/* 32C4E0 E000E3D0 ACC5001C */ sw $a1, 0x1c($a2) -/* 32C4E4 E000E3D4 00621821 */ addu $v1, $v1, $v0 -/* 32C4E8 E000E3D8 15600002 */ bnez $t3, .LE000E3E4 -/* 32C4EC E000E3DC ACC30004 */ sw $v1, 4($a2) -/* 32C4F0 E000E3E0 24090018 */ addiu $t1, $zero, 0x18 -.LE000E3E4: -/* 32C4F4 E000E3E4 01890018 */ mult $t4, $t1 -/* 32C4F8 E000E3E8 24C20028 */ addiu $v0, $a2, 0x28 -/* 32C4FC E000E3EC 3C0BF200 */ lui $t3, 0xf200 -/* 32C500 E000E3F0 AD020000 */ sw $v0, ($t0) -/* 32C504 E000E3F4 00002812 */ mflo $a1 -/* 32C508 E000E3F8 00051080 */ sll $v0, $a1, 2 -/* 32C50C E000E3FC 30420FFF */ andi $v0, $v0, 0xfff -/* 32C510 E000E400 00021300 */ sll $v0, $v0, 0xc -/* 32C514 E000E404 004B1025 */ or $v0, $v0, $t3 -/* 32C518 E000E408 00A92021 */ addu $a0, $a1, $t1 -/* 32C51C E000E40C 2483FFFF */ addiu $v1, $a0, -1 -/* 32C520 E000E410 00031880 */ sll $v1, $v1, 2 -/* 32C524 E000E414 30630FFF */ andi $v1, $v1, 0xfff -/* 32C528 E000E418 00031B00 */ sll $v1, $v1, 0xc -/* 32C52C E000E41C ACC20020 */ sw $v0, 0x20($a2) -/* 32C530 E000E420 2522FFFF */ addiu $v0, $t1, -1 -/* 32C534 E000E424 00021080 */ sll $v0, $v0, 2 -/* 32C538 E000E428 304A0FFF */ andi $t2, $v0, 0xfff -/* 32C53C E000E42C 006A1825 */ or $v1, $v1, $t2 -/* 32C540 E000E430 11A00010 */ beqz $t5, .LE000E474 -/* 32C544 E000E434 ACC30024 */ sw $v1, 0x24($a2) -/* 32C548 E000E438 24C20030 */ addiu $v0, $a2, 0x30 -/* 32C54C E000E43C AD020000 */ sw $v0, ($t0) -/* 32C550 E000E440 00041080 */ sll $v0, $a0, 2 -/* 32C554 E000E444 30420FFF */ andi $v0, $v0, 0xfff -/* 32C558 E000E448 00021300 */ sll $v0, $v0, 0xc -/* 32C55C E000E44C 004B1025 */ or $v0, $v0, $t3 -/* 32C560 E000E450 ACC20028 */ sw $v0, 0x28($a2) -/* 32C564 E000E454 00091040 */ sll $v0, $t1, 1 -/* 32C568 E000E458 00A21021 */ addu $v0, $a1, $v0 -/* 32C56C E000E45C 2442FFFF */ addiu $v0, $v0, -1 -/* 32C570 E000E460 00021080 */ sll $v0, $v0, 2 -/* 32C574 E000E464 30420FFF */ andi $v0, $v0, 0xfff -/* 32C578 E000E468 00021300 */ sll $v0, $v0, 0xc -/* 32C57C E000E46C 0800392C */ j .LE000E4B0 -/* 32C580 E000E470 3C030100 */ lui $v1, 0x100 -.LE000E474: -/* 32C584 E000E474 24C20030 */ addiu $v0, $a2, 0x30 -/* 32C588 E000E478 AD020000 */ sw $v0, ($t0) -/* 32C58C E000E47C 00041080 */ sll $v0, $a0, 2 -/* 32C590 E000E480 30420FFF */ andi $v0, $v0, 0xfff -/* 32C594 E000E484 00021300 */ sll $v0, $v0, 0xc -/* 32C598 E000E488 004B1025 */ or $v0, $v0, $t3 -/* 32C59C E000E48C ACC20028 */ sw $v0, 0x28($a2) -/* 32C5A0 E000E490 00091040 */ sll $v0, $t1, 1 -/* 32C5A4 E000E494 00A21021 */ addu $v0, $a1, $v0 -/* 32C5A8 E000E498 2442FFFF */ addiu $v0, $v0, -1 -/* 32C5AC E000E49C 00021080 */ sll $v0, $v0, 2 -/* 32C5B0 E000E4A0 30420FFF */ andi $v0, $v0, 0xfff -/* 32C5B4 E000E4A4 00021300 */ sll $v0, $v0, 0xc -/* 32C5B8 E000E4A8 3C030100 */ lui $v1, 0x100 -/* 32C5BC E000E4AC 01431825 */ or $v1, $t2, $v1 -.LE000E4B0: -/* 32C5C0 E000E4B0 00431025 */ or $v0, $v0, $v1 -/* 32C5C4 E000E4B4 ACC2002C */ sw $v0, 0x2c($a2) -/* 32C5C8 E000E4B8 8EE20008 */ lw $v0, 8($s7) -/* 32C5CC E000E4BC 18400051 */ blez $v0, .LE000E604 -/* 32C5D0 E000E4C0 0000882D */ daddu $s1, $zero, $zero -/* 32C5D4 E000E4C4 27B40058 */ addiu $s4, $sp, 0x58 -/* 32C5D8 E000E4C8 4480A000 */ mtc1 $zero, $f20 -/* 32C5DC E000E4CC 3C16800A */ lui $s6, %hi(gDisplayContext) -/* 32C5E0 E000E4D0 26D6A674 */ addiu $s6, $s6, %lo(gDisplayContext) -/* 32C5E4 E000E4D4 3C158007 */ lui $s5, %hi(gMatrixListPos) -/* 32C5E8 E000E4D8 26B541F0 */ addiu $s5, $s5, %lo(gMatrixListPos) -/* 32C5EC E000E4DC 3C130001 */ lui $s3, 1 -/* 32C5F0 E000E4E0 36731630 */ ori $s3, $s3, 0x1630 -/* 32C5F4 E000E4E4 3C12800A */ lui $s2, %hi(gMasterGfxPos) -/* 32C5F8 E000E4E8 2652A66C */ addiu $s2, $s2, %lo(gMasterGfxPos) -/* 32C5FC E000E4EC 24F00010 */ addiu $s0, $a3, 0x10 -.LE000E4F0: -/* 32C600 E000E4F0 27A40018 */ addiu $a0, $sp, 0x18 -/* 32C604 E000E4F4 26310001 */ addiu $s1, $s1, 1 -/* 32C608 E000E4F8 8E05FFF8 */ lw $a1, -8($s0) -/* 32C60C E000E4FC 8E06FFFC */ lw $a2, -4($s0) -/* 32C610 E000E500 8E070000 */ lw $a3, ($s0) -/* 32C614 E000E504 0C080108 */ jal shim_guTranslateF -/* 32C618 E000E508 26100078 */ addiu $s0, $s0, 0x78 -/* 32C61C E000E50C 3C0E800B */ lui $t6, %hi(gCameras) -/* 32C620 E000E510 25CE1D80 */ addiu $t6, $t6, %lo(gCameras) -/* 32C624 E000E514 3C038007 */ lui $v1, %hi(gCurrentCameraID) -/* 32C628 E000E518 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) -/* 32C62C E000E51C 4406A000 */ mfc1 $a2, $f20 -/* 32C630 E000E520 00031080 */ sll $v0, $v1, 2 -/* 32C634 E000E524 00431021 */ addu $v0, $v0, $v1 -/* 32C638 E000E528 00021080 */ sll $v0, $v0, 2 -/* 32C63C E000E52C 00431023 */ subu $v0, $v0, $v1 -/* 32C640 E000E530 000218C0 */ sll $v1, $v0, 3 -/* 32C644 E000E534 00431021 */ addu $v0, $v0, $v1 -/* 32C648 E000E538 000210C0 */ sll $v0, $v0, 3 -/* 32C64C E000E53C 004E1021 */ addu $v0, $v0, $t6 -/* 32C650 E000E540 C440006C */ lwc1 $f0, 0x6c($v0) -/* 32C654 E000E544 3C073F80 */ lui $a3, 0x3f80 -/* 32C658 E000E548 46000007 */ neg.s $f0, $f0 -/* 32C65C E000E54C 44050000 */ mfc1 $a1, $f0 -/* 32C660 E000E550 0280202D */ daddu $a0, $s4, $zero -/* 32C664 E000E554 0C080104 */ jal shim_guRotateF -/* 32C668 E000E558 E7B40010 */ swc1 $f20, 0x10($sp) -/* 32C66C E000E55C 0280202D */ daddu $a0, $s4, $zero -/* 32C670 E000E560 27A50018 */ addiu $a1, $sp, 0x18 -/* 32C674 E000E564 0C080114 */ jal shim_guMtxCatF -/* 32C678 E000E568 00A0302D */ daddu $a2, $a1, $zero -/* 32C67C E000E56C 27A40018 */ addiu $a0, $sp, 0x18 -/* 32C680 E000E570 96A50000 */ lhu $a1, ($s5) -/* 32C684 E000E574 8EC20000 */ lw $v0, ($s6) -/* 32C688 E000E578 00052980 */ sll $a1, $a1, 6 -/* 32C68C E000E57C 00B32821 */ addu $a1, $a1, $s3 -/* 32C690 E000E580 0C080118 */ jal shim_guMtxF2L -/* 32C694 E000E584 00452821 */ addu $a1, $v0, $a1 -/* 32C698 E000E588 3C02DA38 */ lui $v0, 0xda38 -/* 32C69C E000E58C 34420002 */ ori $v0, $v0, 2 -/* 32C6A0 E000E590 3C06D838 */ lui $a2, 0xd838 -/* 32C6A4 E000E594 34C60002 */ ori $a2, $a2, 2 -/* 32C6A8 E000E598 8E440000 */ lw $a0, ($s2) -/* 32C6AC E000E59C 96A30000 */ lhu $v1, ($s5) -/* 32C6B0 E000E5A0 0080282D */ daddu $a1, $a0, $zero -/* 32C6B4 E000E5A4 24840008 */ addiu $a0, $a0, 8 -/* 32C6B8 E000E5A8 AE440000 */ sw $a0, ($s2) -/* 32C6BC E000E5AC ACA20000 */ sw $v0, ($a1) -/* 32C6C0 E000E5B0 24620001 */ addiu $v0, $v1, 1 -/* 32C6C4 E000E5B4 3063FFFF */ andi $v1, $v1, 0xffff -/* 32C6C8 E000E5B8 00031980 */ sll $v1, $v1, 6 -/* 32C6CC E000E5BC A6A20000 */ sh $v0, ($s5) -/* 32C6D0 E000E5C0 8EC20000 */ lw $v0, ($s6) -/* 32C6D4 E000E5C4 00731821 */ addu $v1, $v1, $s3 -/* 32C6D8 E000E5C8 00431021 */ addu $v0, $v0, $v1 -/* 32C6DC E000E5CC ACA20004 */ sw $v0, 4($a1) -/* 32C6E0 E000E5D0 24820008 */ addiu $v0, $a0, 8 -/* 32C6E4 E000E5D4 AE420000 */ sw $v0, ($s2) -/* 32C6E8 E000E5D8 3C02DE00 */ lui $v0, 0xde00 -/* 32C6EC E000E5DC AC820000 */ sw $v0, ($a0) -/* 32C6F0 E000E5E0 24020040 */ addiu $v0, $zero, 0x40 -/* 32C6F4 E000E5E4 AC9E0004 */ sw $fp, 4($a0) -/* 32C6F8 E000E5E8 AC860008 */ sw $a2, 8($a0) -/* 32C6FC E000E5EC AC82000C */ sw $v0, 0xc($a0) -/* 32C700 E000E5F0 8EE20008 */ lw $v0, 8($s7) -/* 32C704 E000E5F4 24840010 */ addiu $a0, $a0, 0x10 -/* 32C708 E000E5F8 0222102A */ slt $v0, $s1, $v0 -/* 32C70C E000E5FC 1440FFBC */ bnez $v0, .LE000E4F0 -/* 32C710 E000E600 AE440000 */ sw $a0, ($s2) -.LE000E604: -/* 32C714 E000E604 3C03800A */ lui $v1, %hi(gMasterGfxPos) -/* 32C718 E000E608 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos) -/* 32C71C E000E60C 8C620000 */ lw $v0, ($v1) -/* 32C720 E000E610 0040202D */ daddu $a0, $v0, $zero -/* 32C724 E000E614 24420008 */ addiu $v0, $v0, 8 -/* 32C728 E000E618 AC620000 */ sw $v0, ($v1) -/* 32C72C E000E61C 3C02E700 */ lui $v0, 0xe700 -/* 32C730 E000E620 AC820000 */ sw $v0, ($a0) -/* 32C734 E000E624 AC800004 */ sw $zero, 4($a0) -/* 32C738 E000E628 8FBF00BC */ lw $ra, 0xbc($sp) -/* 32C73C E000E62C 8FBE00B8 */ lw $fp, 0xb8($sp) -/* 32C740 E000E630 8FB700B4 */ lw $s7, 0xb4($sp) -/* 32C744 E000E634 8FB600B0 */ lw $s6, 0xb0($sp) -/* 32C748 E000E638 8FB500AC */ lw $s5, 0xac($sp) -/* 32C74C E000E63C 8FB400A8 */ lw $s4, 0xa8($sp) -/* 32C750 E000E640 8FB300A4 */ lw $s3, 0xa4($sp) -/* 32C754 E000E644 8FB200A0 */ lw $s2, 0xa0($sp) -/* 32C758 E000E648 8FB1009C */ lw $s1, 0x9c($sp) -/* 32C75C E000E64C 8FB00098 */ lw $s0, 0x98($sp) -/* 32C760 E000E650 D7B400C0 */ ldc1 $f20, 0xc0($sp) -/* 32C764 E000E654 03E00008 */ jr $ra -/* 32C768 E000E658 27BD00C8 */ addiu $sp, $sp, 0xc8 -/* 32C76C E000E65C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/effects/effect_7/fx_7_main.s b/ver/us/asm/nonmatchings/effects/effect_7/fx_7_main.s deleted file mode 100644 index 18e616cdaa..0000000000 --- a/ver/us/asm/nonmatchings/effects/effect_7/fx_7_main.s +++ /dev/null @@ -1,99 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel fx_7_main -/* 32C110 E000E000 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 32C114 E000E004 F7B60048 */ sdc1 $f22, 0x48($sp) -/* 32C118 E000E008 4485B000 */ mtc1 $a1, $f22 -/* 32C11C E000E00C F7B80050 */ sdc1 $f24, 0x50($sp) -/* 32C120 E000E010 4486C000 */ mtc1 $a2, $f24 -/* 32C124 E000E014 F7BA0058 */ sdc1 $f26, 0x58($sp) -/* 32C128 E000E018 4487D000 */ mtc1 $a3, $f26 -/* 32C12C E000E01C AFB30034 */ sw $s3, 0x34($sp) -/* 32C130 E000E020 0080982D */ daddu $s3, $a0, $zero -/* 32C134 E000E024 F7BC0060 */ sdc1 $f28, 0x60($sp) -/* 32C138 E000E028 C7BC0078 */ lwc1 $f28, 0x78($sp) -/* 32C13C E000E02C 27A40010 */ addiu $a0, $sp, 0x10 -/* 32C140 E000E030 F7B40040 */ sdc1 $f20, 0x40($sp) -/* 32C144 E000E034 C7B4007C */ lwc1 $f20, 0x7c($sp) -/* 32C148 E000E038 3C02E001 */ lui $v0, %hi(func_E000E16C) -/* 32C14C E000E03C 2442E16C */ addiu $v0, $v0, %lo(func_E000E16C) -/* 32C150 E000E040 AFA20018 */ sw $v0, 0x18($sp) -/* 32C154 E000E044 3C02E001 */ lui $v0, %hi(func_E000E174) -/* 32C158 E000E048 2442E174 */ addiu $v0, $v0, %lo(func_E000E174) -/* 32C15C E000E04C AFA2001C */ sw $v0, 0x1c($sp) -/* 32C160 E000E050 3C02E001 */ lui $v0, %hi(func_E000E244) -/* 32C164 E000E054 2442E244 */ addiu $v0, $v0, %lo(func_E000E244) -/* 32C168 E000E058 AFA20020 */ sw $v0, 0x20($sp) -/* 32C16C E000E05C 24020007 */ addiu $v0, $zero, 7 -/* 32C170 E000E060 AFBF0038 */ sw $ra, 0x38($sp) -/* 32C174 E000E064 AFB20030 */ sw $s2, 0x30($sp) -/* 32C178 E000E068 AFB1002C */ sw $s1, 0x2c($sp) -/* 32C17C E000E06C AFB00028 */ sw $s0, 0x28($sp) -/* 32C180 E000E070 AFA00010 */ sw $zero, 0x10($sp) -/* 32C184 E000E074 AFA00024 */ sw $zero, 0x24($sp) -/* 32C188 E000E078 0C080124 */ jal shim_create_effect_instance -/* 32C18C E000E07C AFA20014 */ sw $v0, 0x14($sp) -/* 32C190 E000E080 24040078 */ addiu $a0, $zero, 0x78 -/* 32C194 E000E084 24120001 */ addiu $s2, $zero, 1 -/* 32C198 E000E088 0040802D */ daddu $s0, $v0, $zero -/* 32C19C E000E08C 0C08012C */ jal shim_general_heap_malloc -/* 32C1A0 E000E090 AE120008 */ sw $s2, 8($s0) -/* 32C1A4 E000E094 0040882D */ daddu $s1, $v0, $zero -/* 32C1A8 E000E098 16200003 */ bnez $s1, .LE000E0A8 -/* 32C1AC E000E09C AE11000C */ sw $s1, 0xc($s0) -.LE000E0A0: -/* 32C1B0 E000E0A0 08003828 */ j .LE000E0A0 -/* 32C1B4 E000E0A4 00000000 */ nop -.LE000E0A8: -/* 32C1B8 E000E0A8 0220202D */ daddu $a0, $s1, $zero -/* 32C1BC E000E0AC 00122900 */ sll $a1, $s2, 4 -/* 32C1C0 E000E0B0 00B22823 */ subu $a1, $a1, $s2 -/* 32C1C4 E000E0B4 0C080130 */ jal shim_mem_clear -/* 32C1C8 E000E0B8 000528C0 */ sll $a1, $a1, 3 -/* 32C1CC E000E0BC 0000202D */ daddu $a0, $zero, $zero -/* 32C1D0 E000E0C0 3A620002 */ xori $v0, $s3, 2 -/* 32C1D4 E000E0C4 2C420001 */ sltiu $v0, $v0, 1 -/* 32C1D8 E000E0C8 AE22006C */ sw $v0, 0x6c($s1) -/* 32C1DC E000E0CC 0092102A */ slt $v0, $a0, $s2 -/* 32C1E0 E000E0D0 AE200070 */ sw $zero, 0x70($s1) -/* 32C1E4 E000E0D4 10400019 */ beqz $v0, .LE000E13C -/* 32C1E8 E000E0D8 A6330004 */ sh $s3, 4($s1) -/* 32C1EC E000E0DC 24050001 */ addiu $a1, $zero, 1 -/* 32C1F0 E000E0E0 26230060 */ addiu $v1, $s1, 0x60 -/* 32C1F4 E000E0E4 3C013EAA */ lui $at, 0x3eaa -/* 32C1F8 E000E0E8 3421AAAB */ ori $at, $at, 0xaaab -/* 32C1FC E000E0EC 44812000 */ mtc1 $at, $f4 -/* 32C200 E000E0F0 3C013FE0 */ lui $at, 0x3fe0 -/* 32C204 E000E0F4 44811000 */ mtc1 $at, $f2 -/* 32C208 E000E0F8 3C01BE23 */ lui $at, 0xbe23 -/* 32C20C E000E0FC 3421D70A */ ori $at, $at, 0xd70a -/* 32C210 E000E100 44810000 */ mtc1 $at, $f0 -.LE000E104: -/* 32C214 E000E104 24840001 */ addiu $a0, $a0, 1 -/* 32C218 E000E108 AE250000 */ sw $a1, ($s1) -/* 32C21C E000E10C E47C0004 */ swc1 $f28, 4($v1) -/* 32C220 E000E110 E4740008 */ swc1 $f20, 8($v1) -/* 32C224 E000E114 E476FFA8 */ swc1 $f22, -0x58($v1) -/* 32C228 E000E118 E478FFAC */ swc1 $f24, -0x54($v1) -/* 32C22C E000E11C E47AFFB0 */ swc1 $f26, -0x50($v1) -/* 32C230 E000E120 E464FFF8 */ swc1 $f4, -8($v1) -/* 32C234 E000E124 E462FFFC */ swc1 $f2, -4($v1) -/* 32C238 E000E128 E4600000 */ swc1 $f0, ($v1) -/* 32C23C E000E12C 24630078 */ addiu $v1, $v1, 0x78 -/* 32C240 E000E130 0092102A */ slt $v0, $a0, $s2 -/* 32C244 E000E134 1440FFF3 */ bnez $v0, .LE000E104 -/* 32C248 E000E138 26310078 */ addiu $s1, $s1, 0x78 -.LE000E13C: -/* 32C24C E000E13C 8FBF0038 */ lw $ra, 0x38($sp) -/* 32C250 E000E140 8FB30034 */ lw $s3, 0x34($sp) -/* 32C254 E000E144 8FB20030 */ lw $s2, 0x30($sp) -/* 32C258 E000E148 8FB1002C */ lw $s1, 0x2c($sp) -/* 32C25C E000E14C 8FB00028 */ lw $s0, 0x28($sp) -/* 32C260 E000E150 D7BC0060 */ ldc1 $f28, 0x60($sp) -/* 32C264 E000E154 D7BA0058 */ ldc1 $f26, 0x58($sp) -/* 32C268 E000E158 D7B80050 */ ldc1 $f24, 0x50($sp) -/* 32C26C E000E15C D7B60048 */ ldc1 $f22, 0x48($sp) -/* 32C270 E000E160 D7B40040 */ ldc1 $f20, 0x40($sp) -/* 32C274 E000E164 03E00008 */ jr $ra -/* 32C278 E000E168 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/ver/us/asm/nonmatchings/effects/effect_8/func_E0010000.s b/ver/us/asm/nonmatchings/effects/effect_8/func_E0010000.s deleted file mode 100644 index 1e104279b7..0000000000 --- a/ver/us/asm/nonmatchings/effects/effect_8/func_E0010000.s +++ /dev/null @@ -1,69 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_E0010000 -/* 32C7A0 E0010000 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 32C7A4 E0010004 F7B400A8 */ sdc1 $f20, 0xa8($sp) -/* 32C7A8 E0010008 4480A000 */ mtc1 $zero, $f20 -/* 32C7AC E001000C F7B600B0 */ sdc1 $f22, 0xb0($sp) -/* 32C7B0 E0010010 3C013F80 */ lui $at, 0x3f80 -/* 32C7B4 E0010014 4481B000 */ mtc1 $at, $f22 -/* 32C7B8 E0010018 AFB1009C */ sw $s1, 0x9c($sp) -/* 32C7BC E001001C 0080882D */ daddu $s1, $a0, $zero -/* 32C7C0 E0010020 AFBF00A0 */ sw $ra, 0xa0($sp) -/* 32C7C4 E0010024 AFB00098 */ sw $s0, 0x98($sp) -/* 32C7C8 E0010028 E7B40010 */ swc1 $f20, 0x10($sp) -/* 32C7CC E001002C 8E250024 */ lw $a1, 0x24($s1) -/* 32C7D0 E0010030 4406B000 */ mfc1 $a2, $f22 -/* 32C7D4 E0010034 4407A000 */ mfc1 $a3, $f20 -/* 32C7D8 E0010038 0C080104 */ jal shim_guRotateF -/* 32C7DC E001003C 27A40018 */ addiu $a0, $sp, 0x18 -/* 32C7E0 E0010040 27B00058 */ addiu $s0, $sp, 0x58 -/* 32C7E4 E0010044 E7B60010 */ swc1 $f22, 0x10($sp) -/* 32C7E8 E0010048 8E25002C */ lw $a1, 0x2c($s1) -/* 32C7EC E001004C 4406A000 */ mfc1 $a2, $f20 -/* 32C7F0 E0010050 4407A000 */ mfc1 $a3, $f20 -/* 32C7F4 E0010054 0C080104 */ jal shim_guRotateF -/* 32C7F8 E0010058 0200202D */ daddu $a0, $s0, $zero -/* 32C7FC E001005C 0200202D */ daddu $a0, $s0, $zero -/* 32C800 E0010060 27A50018 */ addiu $a1, $sp, 0x18 -/* 32C804 E0010064 0C080114 */ jal shim_guMtxCatF -/* 32C808 E0010068 00A0302D */ daddu $a2, $a1, $zero -/* 32C80C E001006C E7B40010 */ swc1 $f20, 0x10($sp) -/* 32C810 E0010070 8E250028 */ lw $a1, 0x28($s1) -/* 32C814 E0010074 4406A000 */ mfc1 $a2, $f20 -/* 32C818 E0010078 4407B000 */ mfc1 $a3, $f22 -/* 32C81C E001007C 0C080104 */ jal shim_guRotateF -/* 32C820 E0010080 0200202D */ daddu $a0, $s0, $zero -/* 32C824 E0010084 27A40018 */ addiu $a0, $sp, 0x18 -/* 32C828 E0010088 0200282D */ daddu $a1, $s0, $zero -/* 32C82C E001008C 0C080114 */ jal shim_guMtxCatF -/* 32C830 E0010090 0080302D */ daddu $a2, $a0, $zero -/* 32C834 E0010094 8E250018 */ lw $a1, 0x18($s1) -/* 32C838 E0010098 8E26001C */ lw $a2, 0x1c($s1) -/* 32C83C E001009C 8E270020 */ lw $a3, 0x20($s1) -/* 32C840 E00100A0 0C080110 */ jal shim_guScaleF -/* 32C844 E00100A4 0200202D */ daddu $a0, $s0, $zero -/* 32C848 E00100A8 0200202D */ daddu $a0, $s0, $zero -/* 32C84C E00100AC 27A50018 */ addiu $a1, $sp, 0x18 -/* 32C850 E00100B0 0C080114 */ jal shim_guMtxCatF -/* 32C854 E00100B4 00A0302D */ daddu $a2, $a1, $zero -/* 32C858 E00100B8 8E25000C */ lw $a1, 0xc($s1) -/* 32C85C E00100BC 8E260010 */ lw $a2, 0x10($s1) -/* 32C860 E00100C0 8E270014 */ lw $a3, 0x14($s1) -/* 32C864 E00100C4 0C080108 */ jal shim_guTranslateF -/* 32C868 E00100C8 0200202D */ daddu $a0, $s0, $zero -/* 32C86C E00100CC 27A40018 */ addiu $a0, $sp, 0x18 -/* 32C870 E00100D0 0200282D */ daddu $a1, $s0, $zero -/* 32C874 E00100D4 0C080114 */ jal shim_guMtxCatF -/* 32C878 E00100D8 0080302D */ daddu $a2, $a0, $zero -/* 32C87C E00100DC 27A40018 */ addiu $a0, $sp, 0x18 -/* 32C880 E00100E0 0C080118 */ jal shim_guMtxF2L -/* 32C884 E00100E4 26250030 */ addiu $a1, $s1, 0x30 -/* 32C888 E00100E8 8FBF00A0 */ lw $ra, 0xa0($sp) -/* 32C88C E00100EC 8FB1009C */ lw $s1, 0x9c($sp) -/* 32C890 E00100F0 8FB00098 */ lw $s0, 0x98($sp) -/* 32C894 E00100F4 D7B600B0 */ ldc1 $f22, 0xb0($sp) -/* 32C898 E00100F8 D7B400A8 */ ldc1 $f20, 0xa8($sp) -/* 32C89C E00100FC 03E00008 */ jr $ra -/* 32C8A0 E0010100 27BD00B8 */ addiu $sp, $sp, 0xb8 diff --git a/ver/us/asm/nonmatchings/effects/effect_8/func_E0010104.s b/ver/us/asm/nonmatchings/effects/effect_8/func_E0010104.s deleted file mode 100644 index f6879f25e4..0000000000 --- a/ver/us/asm/nonmatchings/effects/effect_8/func_E0010104.s +++ /dev/null @@ -1,63 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_E0010104 -/* 32C8A4 E0010104 C4800070 */ lwc1 $f0, 0x70($a0) -/* 32C8A8 E0010108 3C01E001 */ lui $at, %hi(D_E0010710) -/* 32C8AC E001010C D4220710 */ ldc1 $f2, %lo(D_E0010710)($at) -/* 32C8B0 E0010110 46000021 */ cvt.d.s $f0, $f0 -/* 32C8B4 E0010114 46220002 */ mul.d $f0, $f0, $f2 -/* 32C8B8 E0010118 00000000 */ nop -/* 32C8BC E001011C C48A0090 */ lwc1 $f10, 0x90($a0) -/* 32C8C0 E0010120 46200020 */ cvt.s.d $f0, $f0 -/* 32C8C4 E0010124 460A0282 */ mul.s $f10, $f0, $f10 -/* 32C8C8 E0010128 00000000 */ nop -/* 32C8CC E001012C E4800070 */ swc1 $f0, 0x70($a0) -/* 32C8D0 E0010130 46000306 */ mov.s $f12, $f0 -/* 32C8D4 E0010134 C4800094 */ lwc1 $f0, 0x94($a0) -/* 32C8D8 E0010138 46006302 */ mul.s $f12, $f12, $f0 -/* 32C8DC E001013C 00000000 */ nop -/* 32C8E0 E0010140 C4820088 */ lwc1 $f2, 0x88($a0) -/* 32C8E4 E0010144 C480008C */ lwc1 $f0, 0x8c($a0) -/* 32C8E8 E0010148 46001080 */ add.s $f2, $f2, $f0 -/* 32C8EC E001014C C4800084 */ lwc1 $f0, 0x84($a0) -/* 32C8F0 E0010150 46020000 */ add.s $f0, $f0, $f2 -/* 32C8F4 E0010154 C488000C */ lwc1 $f8, 0xc($a0) -/* 32C8F8 E0010158 460A4200 */ add.s $f8, $f8, $f10 -/* 32C8FC E001015C C4840080 */ lwc1 $f4, 0x80($a0) -/* 32C900 E0010160 46002100 */ add.s $f4, $f4, $f0 -/* 32C904 E0010164 E4800084 */ swc1 $f0, 0x84($a0) -/* 32C908 E0010168 C4800014 */ lwc1 $f0, 0x14($a0) -/* 32C90C E001016C C4860010 */ lwc1 $f6, 0x10($a0) -/* 32C910 E0010170 460C0000 */ add.s $f0, $f0, $f12 -/* 32C914 E0010174 E4820088 */ swc1 $f2, 0x88($a0) -/* 32C918 E0010178 44801000 */ mtc1 $zero, $f2 -/* 32C91C E001017C 46043180 */ add.s $f6, $f6, $f4 -/* 32C920 E0010180 E488000C */ swc1 $f8, 0xc($a0) -/* 32C924 E0010184 4602203C */ c.lt.s $f4, $f2 -/* 32C928 E0010188 E4840080 */ swc1 $f4, 0x80($a0) -/* 32C92C E001018C E4800014 */ swc1 $f0, 0x14($a0) -/* 32C930 E0010190 45000006 */ bc1f .LE00101AC -/* 32C934 E0010194 E4860010 */ swc1 $f6, 0x10($a0) -/* 32C938 E0010198 3C013B83 */ lui $at, 0x3b83 -/* 32C93C E001019C 3421126F */ ori $at, $at, 0x126f -/* 32C940 E00101A0 44810000 */ mtc1 $at, $f0 -/* 32C944 E00101A4 00000000 */ nop -/* 32C948 E00101A8 E4800088 */ swc1 $f0, 0x88($a0) -.LE00101AC: -/* 32C94C E00101AC C4800024 */ lwc1 $f0, 0x24($a0) -/* 32C950 E00101B0 3C013F80 */ lui $at, 0x3f80 -/* 32C954 E00101B4 44811000 */ mtc1 $at, $f2 -/* 32C958 E00101B8 00000000 */ nop -/* 32C95C E00101BC 46020001 */ sub.s $f0, $f0, $f2 -/* 32C960 E00101C0 3C01C2C8 */ lui $at, 0xc2c8 -/* 32C964 E00101C4 44811000 */ mtc1 $at, $f2 -/* 32C968 E00101C8 00000000 */ nop -/* 32C96C E00101CC 4602003C */ c.lt.s $f0, $f2 -/* 32C970 E00101D0 00000000 */ nop -/* 32C974 E00101D4 45000002 */ bc1f .LE00101E0 -/* 32C978 E00101D8 E4800024 */ swc1 $f0, 0x24($a0) -/* 32C97C E00101DC E4820024 */ swc1 $f2, 0x24($a0) -.LE00101E0: -/* 32C980 E00101E0 03E00008 */ jr $ra -/* 32C984 E00101E4 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/effects/effect_8/func_E00103F4.s b/ver/us/asm/nonmatchings/effects/effect_8/func_E00103F4.s deleted file mode 100644 index 88cc2b3410..0000000000 --- a/ver/us/asm/nonmatchings/effects/effect_8/func_E00103F4.s +++ /dev/null @@ -1,57 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_E00103F4 -/* 32CB94 E00103F4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 32CB98 E00103F8 AFB40020 */ sw $s4, 0x20($sp) -/* 32CB9C E00103FC 0080A02D */ daddu $s4, $a0, $zero -/* 32CBA0 E0010400 AFB20018 */ sw $s2, 0x18($sp) -/* 32CBA4 E0010404 0000902D */ daddu $s2, $zero, $zero -/* 32CBA8 E0010408 AFB3001C */ sw $s3, 0x1c($sp) -/* 32CBAC E001040C AFBF0024 */ sw $ra, 0x24($sp) -/* 32CBB0 E0010410 AFB10014 */ sw $s1, 0x14($sp) -/* 32CBB4 E0010414 AFB00010 */ sw $s0, 0x10($sp) -/* 32CBB8 E0010418 8E820008 */ lw $v0, 8($s4) -/* 32CBBC E001041C 8E90000C */ lw $s0, 0xc($s4) -/* 32CBC0 E0010420 18400017 */ blez $v0, .LE0010480 -/* 32CBC4 E0010424 0240982D */ daddu $s3, $s2, $zero -/* 32CBC8 E0010428 26110006 */ addiu $s1, $s0, 6 -.LE001042C: -/* 32CBCC E001042C 8E020000 */ lw $v0, ($s0) -/* 32CBD0 E0010430 5040000E */ beql $v0, $zero, .LE001046C -/* 32CBD4 E0010434 26520001 */ addiu $s2, $s2, 1 -/* 32CBD8 E0010438 96220000 */ lhu $v0, ($s1) -/* 32CBDC E001043C 2442FFFF */ addiu $v0, $v0, -1 -/* 32CBE0 E0010440 A6220000 */ sh $v0, ($s1) -/* 32CBE4 E0010444 00021400 */ sll $v0, $v0, 0x10 -/* 32CBE8 E0010448 5C400003 */ bgtzl $v0, .LE0010458 -/* 32CBEC E001044C 24130001 */ addiu $s3, $zero, 1 -/* 32CBF0 E0010450 0800411A */ j .LE0010468 -/* 32CBF4 E0010454 AE000000 */ sw $zero, ($s0) -.LE0010458: -/* 32CBF8 E0010458 0C004041 */ jal func_E0010104 -/* 32CBFC E001045C 0200202D */ daddu $a0, $s0, $zero -/* 32CC00 E0010460 0C004000 */ jal func_E0010000 -/* 32CC04 E0010464 0200202D */ daddu $a0, $s0, $zero -.LE0010468: -/* 32CC08 E0010468 26520001 */ addiu $s2, $s2, 1 -.LE001046C: -/* 32CC0C E001046C 26310098 */ addiu $s1, $s1, 0x98 -/* 32CC10 E0010470 8E820008 */ lw $v0, 8($s4) -/* 32CC14 E0010474 0242102A */ slt $v0, $s2, $v0 -/* 32CC18 E0010478 1440FFEC */ bnez $v0, .LE001042C -/* 32CC1C E001047C 26100098 */ addiu $s0, $s0, 0x98 -.LE0010480: -/* 32CC20 E0010480 16600003 */ bnez $s3, .LE0010490 -/* 32CC24 E0010484 00000000 */ nop -/* 32CC28 E0010488 0C080128 */ jal shim_remove_effect -/* 32CC2C E001048C 0280202D */ daddu $a0, $s4, $zero -.LE0010490: -/* 32CC30 E0010490 8FBF0024 */ lw $ra, 0x24($sp) -/* 32CC34 E0010494 8FB40020 */ lw $s4, 0x20($sp) -/* 32CC38 E0010498 8FB3001C */ lw $s3, 0x1c($sp) -/* 32CC3C E001049C 8FB20018 */ lw $s2, 0x18($sp) -/* 32CC40 E00104A0 8FB10014 */ lw $s1, 0x14($sp) -/* 32CC44 E00104A4 8FB00010 */ lw $s0, 0x10($sp) -/* 32CC48 E00104A8 03E00008 */ jr $ra -/* 32CC4C E00104AC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/ver/us/asm/nonmatchings/effects/effect_8/func_E00104B0.s b/ver/us/asm/nonmatchings/effects/effect_8/func_E00104B0.s deleted file mode 100644 index ef124f6e3a..0000000000 --- a/ver/us/asm/nonmatchings/effects/effect_8/func_E00104B0.s +++ /dev/null @@ -1,21 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_E00104B0 -/* 32CC50 E00104B0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 32CC54 E00104B4 3C02E001 */ lui $v0, %hi(func_E0010510) -/* 32CC58 E00104B8 24420510 */ addiu $v0, $v0, %lo(func_E0010510) -/* 32CC5C E00104BC AFA2001C */ sw $v0, 0x1c($sp) -/* 32CC60 E00104C0 24020028 */ addiu $v0, $zero, 0x28 -/* 32CC64 E00104C4 AFA40018 */ sw $a0, 0x18($sp) -/* 32CC68 E00104C8 27A40010 */ addiu $a0, $sp, 0x10 -/* 32CC6C E00104CC AFBF0020 */ sw $ra, 0x20($sp) -/* 32CC70 E00104D0 AFA00014 */ sw $zero, 0x14($sp) -/* 32CC74 E00104D4 0C080120 */ jal shim_queue_render_task -/* 32CC78 E00104D8 AFA20010 */ sw $v0, 0x10($sp) -/* 32CC7C E00104DC 8C430000 */ lw $v1, ($v0) -/* 32CC80 E00104E0 34630002 */ ori $v1, $v1, 2 -/* 32CC84 E00104E4 AC430000 */ sw $v1, ($v0) -/* 32CC88 E00104E8 8FBF0020 */ lw $ra, 0x20($sp) -/* 32CC8C E00104EC 03E00008 */ jr $ra -/* 32CC90 E00104F0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/ver/us/asm/nonmatchings/effects/effect_8/func_E00104F4.s b/ver/us/asm/nonmatchings/effects/effect_8/func_E00104F4.s deleted file mode 100644 index 1d85b9264d..0000000000 --- a/ver/us/asm/nonmatchings/effects/effect_8/func_E00104F4.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_E00104F4 -/* 32CC94 E00104F4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 32CC98 E00104F8 AFBF0010 */ sw $ra, 0x10($sp) -/* 32CC9C E00104FC 0C080128 */ jal shim_remove_effect -/* 32CCA0 E0010500 00000000 */ nop -/* 32CCA4 E0010504 8FBF0010 */ lw $ra, 0x10($sp) -/* 32CCA8 E0010508 03E00008 */ jr $ra -/* 32CCAC E001050C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/effects/effect_8/func_E0010510.s b/ver/us/asm/nonmatchings/effects/effect_8/func_E0010510.s deleted file mode 100644 index a5a636d8be..0000000000 --- a/ver/us/asm/nonmatchings/effects/effect_8/func_E0010510.s +++ /dev/null @@ -1,136 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_E0010510 -/* 32CCB0 E0010510 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 32CCB4 E0010514 0080602D */ daddu $t4, $a0, $zero -/* 32CCB8 E0010518 3C05DB06 */ lui $a1, 0xdb06 -/* 32CCBC E001051C 34A50024 */ ori $a1, $a1, 0x24 -/* 32CCC0 E0010520 3C06800A */ lui $a2, %hi(gMasterGfxPos) -/* 32CCC4 E0010524 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos) -/* 32CCC8 E0010528 3C02E700 */ lui $v0, 0xe700 -/* 32CCCC E001052C AFB7001C */ sw $s7, 0x1c($sp) -/* 32CCD0 E0010530 AFB60018 */ sw $s6, 0x18($sp) -/* 32CCD4 E0010534 AFB50014 */ sw $s5, 0x14($sp) -/* 32CCD8 E0010538 AFB40010 */ sw $s4, 0x10($sp) -/* 32CCDC E001053C AFB3000C */ sw $s3, 0xc($sp) -/* 32CCE0 E0010540 AFB20008 */ sw $s2, 8($sp) -/* 32CCE4 E0010544 AFB10004 */ sw $s1, 4($sp) -/* 32CCE8 E0010548 AFB00000 */ sw $s0, ($sp) -/* 32CCEC E001054C 8CC40000 */ lw $a0, ($a2) -/* 32CCF0 E0010550 8D88000C */ lw $t0, 0xc($t4) -/* 32CCF4 E0010554 0080182D */ daddu $v1, $a0, $zero -/* 32CCF8 E0010558 24840008 */ addiu $a0, $a0, 8 -/* 32CCFC E001055C AC620000 */ sw $v0, ($v1) -/* 32CD00 E0010560 AC600004 */ sw $zero, 4($v1) -/* 32CD04 E0010564 AC850000 */ sw $a1, ($a0) -/* 32CD08 E0010568 8D820010 */ lw $v0, 0x10($t4) -/* 32CD0C E001056C 0000482D */ daddu $t1, $zero, $zero -/* 32CD10 E0010570 ACC40000 */ sw $a0, ($a2) -/* 32CD14 E0010574 8C42001C */ lw $v0, 0x1c($v0) -/* 32CD18 E0010578 3C038000 */ lui $v1, 0x8000 -/* 32CD1C E001057C 00431021 */ addu $v0, $v0, $v1 -/* 32CD20 E0010580 AC820004 */ sw $v0, 4($a0) -/* 32CD24 E0010584 8D820008 */ lw $v0, 8($t4) -/* 32CD28 E0010588 24840008 */ addiu $a0, $a0, 8 -/* 32CD2C E001058C 1840004A */ blez $v0, .LE00106B8 -/* 32CD30 E0010590 ACC40000 */ sw $a0, ($a2) -/* 32CD34 E0010594 3C0F800A */ lui $t7, %hi(gDisplayContext) -/* 32CD38 E0010598 25EFA674 */ addiu $t7, $t7, %lo(gDisplayContext) -/* 32CD3C E001059C 3C0D8007 */ lui $t5, %hi(gMatrixListPos) -/* 32CD40 E00105A0 25AD41F0 */ addiu $t5, $t5, %lo(gMatrixListPos) -/* 32CD44 E00105A4 3C0B0001 */ lui $t3, 1 -/* 32CD48 E00105A8 356B1630 */ ori $t3, $t3, 0x1630 -/* 32CD4C E00105AC 00C0502D */ daddu $t2, $a2, $zero -/* 32CD50 E00105B0 3C13FA00 */ lui $s3, 0xfa00 -/* 32CD54 E00105B4 3C197060 */ lui $t9, 0x7060 -/* 32CD58 E00105B8 37391800 */ ori $t9, $t9, 0x1800 -/* 32CD5C E00105BC 3C12DA38 */ lui $s2, 0xda38 -/* 32CD60 E00105C0 3C11DE00 */ lui $s1, 0xde00 -/* 32CD64 E00105C4 3C18D838 */ lui $t8, 0xd838 -/* 32CD68 E00105C8 37180002 */ ori $t8, $t8, 2 -/* 32CD6C E00105CC 24100040 */ addiu $s0, $zero, 0x40 -/* 32CD70 E00105D0 25070070 */ addiu $a3, $t0, 0x70 -.LE00105D4: -/* 32CD74 E00105D4 8D020000 */ lw $v0, ($t0) -/* 32CD78 E00105D8 50400032 */ beql $v0, $zero, .LE00106A4 -/* 32CD7C E00105DC 25290001 */ addiu $t1, $t1, 1 -/* 32CD80 E00105E0 3C0E0900 */ lui $t6, 0x900 -/* 32CD84 E00105E4 25CE0E08 */ addiu $t6, $t6, 0xe08 -/* 32CD88 E00105E8 25040030 */ addiu $a0, $t0, 0x30 -/* 32CD8C E00105EC 00E0282D */ daddu $a1, $a3, $zero -/* 32CD90 E00105F0 95A20000 */ lhu $v0, ($t5) -/* 32CD94 E00105F4 8DE30000 */ lw $v1, ($t7) -/* 32CD98 E00105F8 00021180 */ sll $v0, $v0, 6 -/* 32CD9C E00105FC 00621821 */ addu $v1, $v1, $v0 -/* 32CDA0 E0010600 006B1821 */ addu $v1, $v1, $t3 -.LE0010604: -/* 32CDA4 E0010604 8C940000 */ lw $s4, ($a0) -/* 32CDA8 E0010608 8C950004 */ lw $s5, 4($a0) -/* 32CDAC E001060C 8C960008 */ lw $s6, 8($a0) -/* 32CDB0 E0010610 8C97000C */ lw $s7, 0xc($a0) -/* 32CDB4 E0010614 AC740000 */ sw $s4, ($v1) -/* 32CDB8 E0010618 AC750004 */ sw $s5, 4($v1) -/* 32CDBC E001061C AC760008 */ sw $s6, 8($v1) -/* 32CDC0 E0010620 AC77000C */ sw $s7, 0xc($v1) -/* 32CDC4 E0010624 24840010 */ addiu $a0, $a0, 0x10 -/* 32CDC8 E0010628 1485FFF6 */ bne $a0, $a1, .LE0010604 -/* 32CDCC E001062C 24630010 */ addiu $v1, $v1, 0x10 -/* 32CDD0 E0010630 8D440000 */ lw $a0, ($t2) -/* 32CDD4 E0010634 0080302D */ daddu $a2, $a0, $zero -/* 32CDD8 E0010638 24840008 */ addiu $a0, $a0, 8 -/* 32CDDC E001063C AD440000 */ sw $a0, ($t2) -/* 32CDE0 E0010640 ACD30000 */ sw $s3, ($a2) -/* 32CDE4 E0010644 90E5FF98 */ lbu $a1, -0x68($a3) -/* 32CDE8 E0010648 95A30000 */ lhu $v1, ($t5) -/* 32CDEC E001064C 24820008 */ addiu $v0, $a0, 8 -/* 32CDF0 E0010650 AD420000 */ sw $v0, ($t2) -/* 32CDF4 E0010654 24620001 */ addiu $v0, $v1, 1 -/* 32CDF8 E0010658 A5A20000 */ sh $v0, ($t5) -/* 32CDFC E001065C 24820010 */ addiu $v0, $a0, 0x10 -/* 32CE00 E0010660 AD420000 */ sw $v0, ($t2) -/* 32CE04 E0010664 24820018 */ addiu $v0, $a0, 0x18 -/* 32CE08 E0010668 00B92825 */ or $a1, $a1, $t9 -/* 32CE0C E001066C 3063FFFF */ andi $v1, $v1, 0xffff -/* 32CE10 E0010670 00031980 */ sll $v1, $v1, 6 -/* 32CE14 E0010674 AD420000 */ sw $v0, ($t2) -/* 32CE18 E0010678 ACC50004 */ sw $a1, 4($a2) -/* 32CE1C E001067C AC920000 */ sw $s2, ($a0) -/* 32CE20 E0010680 8DE20000 */ lw $v0, ($t7) -/* 32CE24 E0010684 006B1821 */ addu $v1, $v1, $t3 -/* 32CE28 E0010688 AC910008 */ sw $s1, 8($a0) -/* 32CE2C E001068C AC8E000C */ sw $t6, 0xc($a0) -/* 32CE30 E0010690 AC980010 */ sw $t8, 0x10($a0) -/* 32CE34 E0010694 AC900014 */ sw $s0, 0x14($a0) -/* 32CE38 E0010698 00431021 */ addu $v0, $v0, $v1 -/* 32CE3C E001069C AC820004 */ sw $v0, 4($a0) -/* 32CE40 E00106A0 25290001 */ addiu $t1, $t1, 1 -.LE00106A4: -/* 32CE44 E00106A4 24E70098 */ addiu $a3, $a3, 0x98 -/* 32CE48 E00106A8 8D820008 */ lw $v0, 8($t4) -/* 32CE4C E00106AC 0122102A */ slt $v0, $t1, $v0 -/* 32CE50 E00106B0 1440FFC8 */ bnez $v0, .LE00105D4 -/* 32CE54 E00106B4 25080098 */ addiu $t0, $t0, 0x98 -.LE00106B8: -/* 32CE58 E00106B8 3C03800A */ lui $v1, %hi(gMasterGfxPos) -/* 32CE5C E00106BC 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos) -/* 32CE60 E00106C0 8C620000 */ lw $v0, ($v1) -/* 32CE64 E00106C4 0040202D */ daddu $a0, $v0, $zero -/* 32CE68 E00106C8 24420008 */ addiu $v0, $v0, 8 -/* 32CE6C E00106CC AC620000 */ sw $v0, ($v1) -/* 32CE70 E00106D0 3C02E700 */ lui $v0, 0xe700 -/* 32CE74 E00106D4 AC820000 */ sw $v0, ($a0) -/* 32CE78 E00106D8 AC800004 */ sw $zero, 4($a0) -/* 32CE7C E00106DC 8FB7001C */ lw $s7, 0x1c($sp) -/* 32CE80 E00106E0 8FB60018 */ lw $s6, 0x18($sp) -/* 32CE84 E00106E4 8FB50014 */ lw $s5, 0x14($sp) -/* 32CE88 E00106E8 8FB40010 */ lw $s4, 0x10($sp) -/* 32CE8C E00106EC 8FB3000C */ lw $s3, 0xc($sp) -/* 32CE90 E00106F0 8FB20008 */ lw $s2, 8($sp) -/* 32CE94 E00106F4 8FB10004 */ lw $s1, 4($sp) -/* 32CE98 E00106F8 8FB00000 */ lw $s0, ($sp) -/* 32CE9C E00106FC 03E00008 */ jr $ra -/* 32CEA0 E0010700 27BD0020 */ addiu $sp, $sp, 0x20 -/* 32CEA4 E0010704 00000000 */ nop -/* 32CEA8 E0010708 00000000 */ nop -/* 32CEAC E001070C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/effects/effect_8/fx_8_main.s b/ver/us/asm/nonmatchings/effects/effect_8/fx_8_main.s deleted file mode 100644 index 8ba0a46c13..0000000000 --- a/ver/us/asm/nonmatchings/effects/effect_8/fx_8_main.s +++ /dev/null @@ -1,137 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel fx_8_main -/* 32C988 E00101E8 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 32C98C E00101EC F7BA0068 */ sdc1 $f26, 0x68($sp) -/* 32C990 E00101F0 46006686 */ mov.s $f26, $f12 -/* 32C994 E00101F4 F7BC0070 */ sdc1 $f28, 0x70($sp) -/* 32C998 E00101F8 46007706 */ mov.s $f28, $f14 -/* 32C99C E00101FC 27A40010 */ addiu $a0, $sp, 0x10 -/* 32C9A0 E0010200 F7BE0078 */ sdc1 $f30, 0x78($sp) -/* 32C9A4 E0010204 4486F000 */ mtc1 $a2, $f30 -/* 32C9A8 E0010208 3C02E001 */ lui $v0, %hi(func_E00103EC) -/* 32C9AC E001020C 244203EC */ addiu $v0, $v0, %lo(func_E00103EC) -/* 32C9B0 E0010210 AFA20018 */ sw $v0, 0x18($sp) -/* 32C9B4 E0010214 3C02E001 */ lui $v0, %hi(func_E00103F4) -/* 32C9B8 E0010218 244203F4 */ addiu $v0, $v0, %lo(func_E00103F4) -/* 32C9BC E001021C AFA2001C */ sw $v0, 0x1c($sp) -/* 32C9C0 E0010220 3C02E001 */ lui $v0, %hi(func_E00104B0) -/* 32C9C4 E0010224 244204B0 */ addiu $v0, $v0, %lo(func_E00104B0) -/* 32C9C8 E0010228 AFA20020 */ sw $v0, 0x20($sp) -/* 32C9CC E001022C 24020008 */ addiu $v0, $zero, 8 -/* 32C9D0 E0010230 AFBF0048 */ sw $ra, 0x48($sp) -/* 32C9D4 E0010234 AFB70044 */ sw $s7, 0x44($sp) -/* 32C9D8 E0010238 AFB60040 */ sw $s6, 0x40($sp) -/* 32C9DC E001023C AFB5003C */ sw $s5, 0x3c($sp) -/* 32C9E0 E0010240 AFB40038 */ sw $s4, 0x38($sp) -/* 32C9E4 E0010244 AFB30034 */ sw $s3, 0x34($sp) -/* 32C9E8 E0010248 AFB20030 */ sw $s2, 0x30($sp) -/* 32C9EC E001024C AFB1002C */ sw $s1, 0x2c($sp) -/* 32C9F0 E0010250 AFB00028 */ sw $s0, 0x28($sp) -/* 32C9F4 E0010254 F7B80060 */ sdc1 $f24, 0x60($sp) -/* 32C9F8 E0010258 F7B60058 */ sdc1 $f22, 0x58($sp) -/* 32C9FC E001025C F7B40050 */ sdc1 $f20, 0x50($sp) -/* 32CA00 E0010260 AFA7008C */ sw $a3, 0x8c($sp) -/* 32CA04 E0010264 AFA00010 */ sw $zero, 0x10($sp) -/* 32CA08 E0010268 AFA00024 */ sw $zero, 0x24($sp) -/* 32CA0C E001026C 0C080124 */ jal shim_create_effect_instance -/* 32CA10 E0010270 AFA20014 */ sw $v0, 0x14($sp) -/* 32CA14 E0010274 240402F8 */ addiu $a0, $zero, 0x2f8 -/* 32CA18 E0010278 24140005 */ addiu $s4, $zero, 5 -/* 32CA1C E001027C 0040802D */ daddu $s0, $v0, $zero -/* 32CA20 E0010280 0C08012C */ jal shim_general_heap_malloc -/* 32CA24 E0010284 AE140008 */ sw $s4, 8($s0) -/* 32CA28 E0010288 0040882D */ daddu $s1, $v0, $zero -/* 32CA2C E001028C 16200003 */ bnez $s1, .LE001029C -/* 32CA30 E0010290 AE11000C */ sw $s1, 0xc($s0) -.LE0010294: -/* 32CA34 E0010294 080040A5 */ j .LE0010294 -/* 32CA38 E0010298 00000000 */ nop -.LE001029C: -/* 32CA3C E001029C 0220202D */ daddu $a0, $s1, $zero -/* 32CA40 E00102A0 00142880 */ sll $a1, $s4, 2 -/* 32CA44 E00102A4 00B42821 */ addu $a1, $a1, $s4 -/* 32CA48 E00102A8 00052880 */ sll $a1, $a1, 2 -/* 32CA4C E00102AC 00B42823 */ subu $a1, $a1, $s4 -/* 32CA50 E00102B0 0C080130 */ jal shim_mem_clear -/* 32CA54 E00102B4 000528C0 */ sll $a1, $a1, 3 -/* 32CA58 E00102B8 1280003B */ beqz $s4, .LE00103A8 -/* 32CA5C E00102BC 0000902D */ daddu $s2, $zero, $zero -/* 32CA60 E00102C0 24170001 */ addiu $s7, $zero, 1 -/* 32CA64 E00102C4 241600FF */ addiu $s6, $zero, 0xff -/* 32CA68 E00102C8 2415003C */ addiu $s5, $zero, 0x3c -/* 32CA6C E00102CC 26300094 */ addiu $s0, $s1, 0x94 -/* 32CA70 E00102D0 0240982D */ daddu $s3, $s2, $zero -/* 32CA74 E00102D4 3C013E99 */ lui $at, 0x3e99 -/* 32CA78 E00102D8 34219999 */ ori $at, $at, 0x9999 -/* 32CA7C E00102DC 4481C000 */ mtc1 $at, $f24 -/* 32CA80 E00102E0 3C013F80 */ lui $at, 0x3f80 -/* 32CA84 E00102E4 4481B000 */ mtc1 $at, $f22 -.LE00102E8: -/* 32CA88 E00102E8 44930000 */ mtc1 $s3, $f0 -/* 32CA8C E00102EC 00000000 */ nop -/* 32CA90 E00102F0 46800020 */ cvt.s.w $f0, $f0 -/* 32CA94 E00102F4 26730048 */ addiu $s3, $s3, 0x48 -/* 32CA98 E00102F8 C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 32CA9C E00102FC 3C01BDA3 */ lui $at, 0xbda3 -/* 32CAA0 E0010300 3421D70A */ ori $at, $at, 0xd70a -/* 32CAA4 E0010304 44811000 */ mtc1 $at, $f2 -/* 32CAA8 E0010308 3C01C079 */ lui $at, 0xc079 -/* 32CAAC E001030C 3421999A */ ori $at, $at, 0x999a -/* 32CAB0 E0010310 44812000 */ mtc1 $at, $f4 -/* 32CAB4 E0010314 46003000 */ add.s $f0, $f6, $f0 -/* 32CAB8 E0010318 26520001 */ addiu $s2, $s2, 1 -/* 32CABC E001031C AE370000 */ sw $s7, ($s1) -/* 32CAC0 E0010320 E600FF94 */ swc1 $f0, -0x6c($s0) -/* 32CAC4 E0010324 46000306 */ mov.s $f12, $f0 -/* 32CAC8 E0010328 3C013FE0 */ lui $at, 0x3fe0 -/* 32CACC E001032C 44810000 */ mtc1 $at, $f0 -/* 32CAD0 E0010330 26310098 */ addiu $s1, $s1, 0x98 -/* 32CAD4 E0010334 E618FFE0 */ swc1 $f24, -0x20($s0) -/* 32CAD8 E0010338 AE00FFE4 */ sw $zero, -0x1c($s0) -/* 32CADC E001033C AE00FFE8 */ sw $zero, -0x18($s0) -/* 32CAE0 E0010340 E61AFF78 */ swc1 $f26, -0x88($s0) -/* 32CAE4 E0010344 E61CFF7C */ swc1 $f28, -0x84($s0) -/* 32CAE8 E0010348 E61EFF80 */ swc1 $f30, -0x80($s0) -/* 32CAEC E001034C E616FF84 */ swc1 $f22, -0x7c($s0) -/* 32CAF0 E0010350 E616FF88 */ swc1 $f22, -0x78($s0) -/* 32CAF4 E0010354 E616FF8C */ swc1 $f22, -0x74($s0) -/* 32CAF8 E0010358 A216FF74 */ sb $s6, -0x8c($s0) -/* 32CAFC E001035C A615FF72 */ sh $s5, -0x8e($s0) -/* 32CB00 E0010360 AE00FF90 */ sw $zero, -0x70($s0) -/* 32CB04 E0010364 AE00FF98 */ sw $zero, -0x68($s0) -/* 32CB08 E0010368 AE00FFF4 */ sw $zero, -0xc($s0) -/* 32CB0C E001036C AE00FFF8 */ sw $zero, -8($s0) -/* 32CB10 E0010370 E602FFF0 */ swc1 $f2, -0x10($s0) -/* 32CB14 E0010374 E604FFDC */ swc1 $f4, -0x24($s0) -/* 32CB18 E0010378 0C08013C */ jal shim_clamp_angle -/* 32CB1C E001037C E600FFEC */ swc1 $f0, -0x14($s0) -/* 32CB20 E0010380 46000506 */ mov.s $f20, $f0 -/* 32CB24 E0010384 0C080140 */ jal shim_sin_deg -/* 32CB28 E0010388 4600A306 */ mov.s $f12, $f20 -/* 32CB2C E001038C 4600A306 */ mov.s $f12, $f20 -/* 32CB30 E0010390 0C080144 */ jal shim_cos_deg -/* 32CB34 E0010394 E600FFFC */ swc1 $f0, -4($s0) -/* 32CB38 E0010398 E6000000 */ swc1 $f0, ($s0) -/* 32CB3C E001039C 0254102A */ slt $v0, $s2, $s4 -/* 32CB40 E00103A0 1440FFD1 */ bnez $v0, .LE00102E8 -/* 32CB44 E00103A4 26100098 */ addiu $s0, $s0, 0x98 -.LE00103A8: -/* 32CB48 E00103A8 8FBF0048 */ lw $ra, 0x48($sp) -/* 32CB4C E00103AC 8FB70044 */ lw $s7, 0x44($sp) -/* 32CB50 E00103B0 8FB60040 */ lw $s6, 0x40($sp) -/* 32CB54 E00103B4 8FB5003C */ lw $s5, 0x3c($sp) -/* 32CB58 E00103B8 8FB40038 */ lw $s4, 0x38($sp) -/* 32CB5C E00103BC 8FB30034 */ lw $s3, 0x34($sp) -/* 32CB60 E00103C0 8FB20030 */ lw $s2, 0x30($sp) -/* 32CB64 E00103C4 8FB1002C */ lw $s1, 0x2c($sp) -/* 32CB68 E00103C8 8FB00028 */ lw $s0, 0x28($sp) -/* 32CB6C E00103CC D7BE0078 */ ldc1 $f30, 0x78($sp) -/* 32CB70 E00103D0 D7BC0070 */ ldc1 $f28, 0x70($sp) -/* 32CB74 E00103D4 D7BA0068 */ ldc1 $f26, 0x68($sp) -/* 32CB78 E00103D8 D7B80060 */ ldc1 $f24, 0x60($sp) -/* 32CB7C E00103DC D7B60058 */ ldc1 $f22, 0x58($sp) -/* 32CB80 E00103E0 D7B40050 */ ldc1 $f20, 0x50($sp) -/* 32CB84 E00103E4 03E00008 */ jr $ra -/* 32CB88 E00103E8 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index 943d994f8b..495d5a6da9 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -2224,7 +2224,7 @@ segments: vram: 0xE000E000 subsegments: - [0x32C110, c, effect_7] - - [0x32c770, data] + - [0x32c770] - name: effect_8 dir: effects type: code @@ -2232,7 +2232,7 @@ segments: vram: 0xE0010000 subsegments: - [0x32C7A0, c, effect_8] - - [0x32CEB0, data] + - [0x32CEB0] - [0x32CEC0, bin] # effect 8,9 gfx - name: effect_9 dir: effects diff --git a/ver/us/symbol_addrs.txt b/ver/us/symbol_addrs.txt index ba08feb309..e49ac687a3 100644 --- a/ver/us/symbol_addrs.txt +++ b/ver/us/symbol_addrs.txt @@ -4897,18 +4897,18 @@ fx_6_update = 0xE000C654; // type:func rom:0x328764 fx_6_render = 0xE000C754; // type:func rom:0x328864 func_E000C798 = 0xE000C798; // type:func rom:0x3288A8 fx_7_main = 0xE000E000; // type:func rom:0x32C110 -func_E000E16C = 0xE000E16C; // type:func rom:0x32C27C -func_E000E174 = 0xE000E174; // type:func rom:0x32C284 -func_E000E244 = 0xE000E244; // type:func rom:0x32C354 -func_E000E288 = 0xE000E288; // type:func rom:0x32C398 +fx_7_init = 0xE000E16C; // type:func rom:0x32C27C +fx_7_update = 0xE000E174; // type:func rom:0x32C284 +fx_7_render = 0xE000E244; // type:func rom:0x32C354 +fx_7_appendGfx = 0xE000E288; // type:func rom:0x32C398 func_E0010000 = 0xE0010000; // type:func rom:0x32C7A0 func_E0010104 = 0xE0010104; // type:func rom:0x32C8A4 fx_8_main = 0xE00101E8; // type:func rom:0x32C988 -func_E00103EC = 0xE00103EC; // type:func rom:0x32CB8C -func_E00103F4 = 0xE00103F4; // type:func rom:0x32CB94 -func_E00104B0 = 0xE00104B0; // type:func rom:0x32CC50 +fx_8_init = 0xE00103EC; // type:func rom:0x32CB8C +fx_8_update = 0xE00103F4; // type:func rom:0x32CB94 +fx_8_render = 0xE00104B0; // type:func rom:0x32CC50 func_E00104F4 = 0xE00104F4; // type:func rom:0x32CC94 -func_E0010510 = 0xE0010510; // type:func rom:0x32CCB0 +fx_8_appendGfx = 0xE0010510; // type:func rom:0x32CCB0 func_E0012000 = 0xE0012000; // type:func rom:0x32DD10 func_E0012104 = 0xE0012104; // type:func rom:0x32DE14 fx_9_main = 0xE0012204; // type:func rom:0x32DF14 @@ -19053,7 +19053,6 @@ gCollisionStatus = 0x8015A550; // size:0x28 D_8015A578 = 0x8015A578; // type:data D_8015A57A = 0x8015A57A; // type:data mdl_textureHandles = 0x8015A590; // type:data -D_8015C74C = 0x8015C74C; // type:data D_8015C790 = 0x8015C790; // type:data D_8015C7A4 = 0x8015C7A4; // type:data D_8015C7A8 = 0x8015C7A8; // type:data diff --git a/ver/us/undefined_syms.txt b/ver/us/undefined_syms.txt index 7aa9a4d948..a935508f0c 100644 --- a/ver/us/undefined_syms.txt +++ b/ver/us/undefined_syms.txt @@ -295,7 +295,6 @@ gCollisionStatus = 0x8015A550; D_8015A578 = 0x8015A578; D_8015A57A = 0x8015A57A; mdl_textureHandles = 0x8015A590; -D_8015C74C = 0x8015C74C; D_8015C790 = 0x8015C790; D_8015C7A4 = 0x8015C7A4; D_8015C7A8 = 0x8015C7A8; @@ -1278,6 +1277,16 @@ D_FD100008 = 0xFD100008; D_802510B0 = 0x802510B0; D_8026A2B0 = 0x8026A2B0; +// effect 7 +D_09002780 = 0x09002780; +D_09002868 = 0x09002868; +D_09002950 = 0x09002950; +D_09002B20 = 0x09002B20; +D_09002B40 = 0x09002B40; + +// effect 8 +D_09000E08 = 0x09000E08; + // BSS syms found in main overlay #ifndef NON_MATCHING nuScPreNMIFlag = 0x8009A5B0;