From 5b5b8c579fdd37116f279bd76f489b614717c76c Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Wed, 7 Dec 2022 03:39:22 -0500 Subject: [PATCH] 95% (#881) * fixes * 2 nusys funcs * warnings * appendGfx_npc_blur * clean * cleanup, standardize button macro --- include/common_structs.h | 4 +- include/model.h | 4 +- include/npc.h | 2 +- include/variables.h | 2 +- src/16F740.c | 2 +- src/1A5830.c | 138 +++++------ src/415D90.c | 2 +- src/7E9D0.c | 2 +- src/7bb60_len_41b0.c | 2 +- src/8a860_len_3f30.c | 6 +- src/B4580.c | 8 +- src/a5dd0_len_114e0.c | 41 +++- src/battle/action_cmd/dizzy_shell.c | 2 +- src/battle/move/auto_jump/auto_jump.c | 2 +- .../move/auto_multibounce/auto_multibounce.c | 2 +- src/battle/move/jump/jump.c | 2 +- src/entity/sbk_omo/StarBoxLauncher.c | 2 - src/evt/model_api.c | 6 +- src/npc.c | 77 +++++- src/os/nusys/nuContMgr.c | 6 +- src/os/nusys/nuSched.c | 138 ++++++++++- src/pause/pause_map.c | 2 +- src/world/area_kkj/kkj_19/AF7C00.c | 4 +- src/world/area_obk/obk_07/BCF0F0.c | 4 +- src/world/partner/lakilester.c | 4 +- src/world/partner/watt.c | 2 +- .../asm/nonmatchings/npc/appendGfx_npc_blur.s | 231 ------------------ .../os/nusys/nuSched/nuScExecuteAudio.s | 86 ------- .../os/nusys/nuSched/nuScExecuteGraphics.s | 78 ------ ver/us/splat.yaml | 2 +- 30 files changed, 352 insertions(+), 511 deletions(-) delete mode 100644 ver/us/asm/nonmatchings/npc/appendGfx_npc_blur.s delete mode 100644 ver/us/asm/nonmatchings/os/nusys/nuSched/nuScExecuteAudio.s delete mode 100644 ver/us/asm/nonmatchings/os/nusys/nuSched/nuScExecuteGraphics.s diff --git a/include/common_structs.h b/include/common_structs.h index 2c4da2b5cd..4a5589df28 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -1104,7 +1104,7 @@ typedef struct ModelAnimator { /* 0x2CC */ s32 treeIndexPos; /* 0x2D0 */ s32 savedTreePos; /* 0x2D4 */ void (*fpRenderCallback)(void*); - /* 0x2D8 */ s32 renderCallbackArg; + /* 0x2D8 */ void* renderCallbackArg; /* 0x2DC */ char unk_2DC[4]; } ModelAnimator; // size = 0x2E0 @@ -1743,7 +1743,7 @@ typedef struct AnimatedModel { /* 0x10 */ Vec3f rot; /* 0x1C */ Vec3f scale; /* 0x28 */ Mtx mtx; - /* 0x68 */ u32 currentAnimData; + /* 0x68 */ s16* currentAnimData; /* 0x6C */ char unk_6C[4]; } AnimatedModel; // size = 0x70 diff --git a/include/model.h b/include/model.h index cd4c50b19e..2a1bf8d4b6 100644 --- a/include/model.h +++ b/include/model.h @@ -180,13 +180,13 @@ void delete_model_animator_nodes(ModelAnimator* animator); void delete_model_animator(ModelAnimator* animator); void render_animated_model_with_vertices(s32 animatorID, Mtx* rootTransform, s32 segment, void* baseAddr); void appendGfx_animator(ModelAnimator* animator); -ModelAnimator* set_animator_render_callback(s32 animModelID, s32 callbackArg, void (*callbackFunc)(void*)); +ModelAnimator* set_animator_render_callback(s32 animModelID, void* callbackArg, void (*callbackFunc)(void*)); void reload_mesh_animator_tree(ModelAnimator* animator); s32 step_mesh_animator(ModelAnimator* animator); void set_custom_gfx_builders(s32 customGfxIndex, ModelCustomGfxBuilderFunc pre, ModelCustomGfxBuilderFunc post); void mdl_make_local_vertex_copy(s32 arg0, u16 treeIdx, s32); -void play_model_animation_starting_from(s32 index, s32 animPos, s32 framesToSkip); +void play_model_animation_starting_from(s32 index, s16* animPos, s32 framesToSkip); void set_background_color_blend(u8 r, u8 g, u8 b, u8 a); diff --git a/include/npc.h b/include/npc.h index c409e3917c..f013dd07b4 100644 --- a/include/npc.h +++ b/include/npc.h @@ -461,7 +461,7 @@ void disable_npc_shadow(Npc* npc); void update_npc_blur(Npc* npc); -void appendGfx_npc_blur(void* data); +void appendGfx_npc_blur(Npc* npc); void npc_enable_collisions(void); diff --git a/include/variables.h b/include/variables.h index bd7bcf19c9..6288eac5b6 100644 --- a/include/variables.h +++ b/include/variables.h @@ -129,7 +129,7 @@ extern char wMapTexName[]; extern char wMapHitName[]; extern char wMapShapeName[]; extern char wMapBgName[]; -extern struct ShapeFile* D_80210000; // shouldnt be a pointer +extern struct ShapeFile D_80210000; extern u8 D_802D9D70; // player alpha1 copy? extern u8 D_802D9D71; // player alpha2 copy? diff --git a/src/16F740.c b/src/16F740.c index 60144f86e4..901c6d5949 100644 --- a/src/16F740.c +++ b/src/16F740.c @@ -221,7 +221,7 @@ void btl_state_update_normal_start(void) { ASSERT(size <= 0x8000); - model = D_80210000; + model = D_80210000.root; textureRom = get_asset_offset(stage->texture, &size); if (model != NULL) { load_data_for_models(model, textureRom, size); diff --git a/src/1A5830.c b/src/1A5830.c index 16b50cb67f..30fd345737 100644 --- a/src/1A5830.c +++ b/src/1A5830.c @@ -1013,7 +1013,7 @@ ApiStatus JumpToGoal(Evt* script, s32 isInitialCall) { if (isInitialCall) { script->functionTemp[0] = 0; } - + if (script->functionTemp[0] == 0) { actorID = evt_get_variable(script, *args++); if (actorID == ACTOR_SELF) { @@ -1048,7 +1048,7 @@ ApiStatus JumpToGoal(Evt* script, s32 isInitialCall) { posX = (goalX - posX); posY = (goalY - posY); posZ = (goalZ - posZ); - + if (actorState->moveTime == 0) { actorState->moveTime = actorState->distance / actorState->speed; moveDist = actorState->distance - (actorState->moveTime * actorState->speed); @@ -1056,14 +1056,14 @@ ApiStatus JumpToGoal(Evt* script, s32 isInitialCall) { actorState->speed = actorState->distance / actorState->moveTime; moveDist = actorState->distance - (actorState->moveTime * actorState->speed); } - + if (actorState->moveTime == 0) { return ApiStatus_DONE2; - } + } actorState->velocity = (actorState->acceleration * actorState->moveTime * 0.5f) + (posY / actorState->moveTime); actorState->speed += (moveDist / actorState->moveTime); - + if (script->functionTemp[2] != 0) { set_animation(actor->actorID, (s8) actor->state.jumpPartIndex, actor->state.animJumpRise); } @@ -1072,13 +1072,13 @@ ApiStatus JumpToGoal(Evt* script, s32 isInitialCall) { } script->functionTemp[0] = 1; } - + actor = script->functionTempPtr[1]; actorState = &actor->state; - + actorState->currentPos.y += actorState->velocity; actorState->velocity -= actorState->acceleration; - + if ((script->functionTemp[2] != 0) && (actorState->velocity < 0.0f)) { set_animation(actor->actorID, (s8) actorState->jumpPartIndex, actorState->animJumpFall); } @@ -1087,17 +1087,17 @@ ApiStatus JumpToGoal(Evt* script, s32 isInitialCall) { actorState->currentPos.y = actorState->goalPos.y; } } - + add_xz_vec3f(&actorState->currentPos, actorState->speed, actorState->angle); actor->currentPos.x = actorState->currentPos.x; actor->currentPos.y = actorState->currentPos.y; actor->currentPos.z = actorState->currentPos.z; - + actorState->moveTime--; if (actorState->moveTime > 0) { return ApiStatus_BLOCK; } - + if (script->functionTemp[3] & 1) { play_movement_dust_effects(2, actorState->goalPos.x, actorState->goalPos.y, actorState->goalPos.z, actorState->angle); } @@ -1292,11 +1292,11 @@ ApiStatus JumpWithBounce(Evt* script, s32 isInitialCall) { f32 posX, posY, posZ; f32 goalX, goalY, goalZ; f32 moveDist; - + if (isInitialCall) { script->functionTemp[0] = FALSE; } - + if (!script->functionTemp[0]) { actorID = evt_get_variable(script, *args++); if (actorID == ACTOR_SELF) { @@ -1304,14 +1304,14 @@ ApiStatus JumpWithBounce(Evt* script, s32 isInitialCall) { } script->functionTempPtr[1] = actor = get_actor(actorID); actorState = &actor->state; - + actorState->moveTime = evt_get_variable(script, *args++); actorState->bounceDivisor = evt_get_float_variable(script, *args++); actorState->currentPos.x = actor->currentPos.x; actorState->currentPos.y = actor->currentPos.y; actorState->currentPos.z = actor->currentPos.z; - + posX = actorState->currentPos.x; posY = actorState->currentPos.y; posZ = actorState->currentPos.z; @@ -1325,7 +1325,7 @@ ApiStatus JumpWithBounce(Evt* script, s32 isInitialCall) { posX = (goalX - posX); posY = (goalY - posY); posZ = (goalZ - posZ); - + if (actorState->moveTime == 0) { actorState->moveTime = (s32) (actorState->distance / actorState->speed); moveDist = actorState->distance - (actorState->moveTime * actorState->speed); @@ -1333,20 +1333,20 @@ ApiStatus JumpWithBounce(Evt* script, s32 isInitialCall) { actorState->speed = actorState->distance / actorState->moveTime; moveDist = actorState->distance - (actorState->moveTime * actorState->speed); } - + if (actorState->moveTime == 0) { return ApiStatus_DONE2; } - + actorState->velocity = (actorState->acceleration * actorState->moveTime * 0.5f) + (posY / actorState->moveTime); actorState->speed += moveDist / actorState->moveTime; - + if (actor->actorTypeData1[4] != 0) { sfx_play_sound_at_position(actor->actorTypeData1[4], 0, actor->currentPos.x, actor->currentPos.y, actor->currentPos.z); } script->functionTemp[0] = TRUE; } - + actor = script->functionTempPtr[1]; actorState = &actor->state; @@ -1515,7 +1515,7 @@ ApiStatus RunToGoal(Evt* script, s32 isInitialCall) { if (isInitialCall) { script->functionTemp[0] = FALSE; } - + if (!script->functionTemp[0]) { actorID = evt_get_variable(script, *args++); if (actorID == ACTOR_SELF) { @@ -1523,28 +1523,28 @@ ApiStatus RunToGoal(Evt* script, s32 isInitialCall) { } script->functionTempPtr[1] = actor = get_actor(actorID); actorState = &actor->state; - + actorState->moveTime = evt_get_variable(script, *args++); script->functionTemp[2] = evt_get_variable(script, *args++); - + actorState->currentPos.x = actor->currentPos.x; actorState->currentPos.y = actor->currentPos.y; actorState->currentPos.z = actor->currentPos.z; - + goalX = actorState->goalPos.x; goalY = actorState->goalPos.y; goalZ = actorState->goalPos.z; posX = actorState->currentPos.x; posY = actorState->currentPos.y; posZ = actorState->currentPos.z; - + actorState->unk_18.x = goalX; actorState->unk_18.y = goalY; actorState->unk_18.z = goalZ; - + actorState->angle = atan2(posX, posZ, goalX, goalZ); actorState->distance = dist2D(posX, posZ, goalX, goalZ); - + if (actorState->moveTime == 0) { actorState->moveTime = actorState->distance / actorState->speed; if (actorState->moveTime == 0) { @@ -1554,7 +1554,7 @@ ApiStatus RunToGoal(Evt* script, s32 isInitialCall) { } else { actorState->speed = actorState->distance / actorState->moveTime; } - + if (actor->actorTypeData1b[0] >= 0) { actorState->distance = actor->actorTypeData1b[0] + 1; } else { @@ -1565,10 +1565,10 @@ ApiStatus RunToGoal(Evt* script, s32 isInitialCall) { } script->functionTemp[0] = TRUE; } - + actor = script->functionTempPtr[1]; actorState = &actor->state; - + add_xz_vec3f(&actorState->currentPos, actorState->speed, actorState->angle); if (script->functionTemp[2] == 0) { if (actorState->speed < 4.0f) { @@ -1579,7 +1579,7 @@ ApiStatus RunToGoal(Evt* script, s32 isInitialCall) { } actor->currentPos.x = actorState->currentPos.x; actor->currentPos.z = actorState->currentPos.z; - + if ((actor->actorTypeData1[0] != 0) && (actor->actorTypeData1[1] != 0)) { if (actor->actorTypeData1b[0] >= 0) { actorState->distance += actorState->speed; @@ -1613,12 +1613,12 @@ ApiStatus RunToGoal(Evt* script, s32 isInitialCall) { } } } - + actorState->moveTime--; if (actorState->moveTime > 0) { return ApiStatus_BLOCK; } - + actor->currentPos.x = actorState->unk_18.x; actor->currentPos.z = actorState->unk_18.z; if (actor->actorTypeData1[0] != 0) { @@ -1629,7 +1629,7 @@ ApiStatus RunToGoal(Evt* script, s32 isInitialCall) { return ApiStatus_DONE1; } -s32 IdleRunToGoal(Evt* script, s32 isInitialCall) { +ApiStatus IdleRunToGoal(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Actor* actor; ActorMovement* movement; @@ -1647,18 +1647,18 @@ s32 IdleRunToGoal(Evt* script, s32 isInitialCall) { actorID = script->owner1.actorID; } script->functionTempPtr[1] = actor = get_actor(actorID); - movement = &actor->fly; + movement = &actor->fly; movement->flyTime = evt_get_variable(script, *args++); movement->currentPos.x = actor->currentPos.x; movement->currentPos.y = actor->currentPos.y; movement->currentPos.z = actor->currentPos.z; - + goalX = movement->goalPos.x; goalY = movement->goalPos.y; goalZ = movement->goalPos.z; - + posX = movement->currentPos.x; posY = movement->currentPos.y; posZ = movement->currentPos.z; @@ -1666,7 +1666,7 @@ s32 IdleRunToGoal(Evt* script, s32 isInitialCall) { movement->unk_18.x = goalX; movement->unk_18.y = goalY; movement->unk_18.z = goalZ; - + movement->angle = atan2(posX, posZ, goalX, goalZ); movement->distance = dist2D(posX, posZ, goalX, goalZ); @@ -1700,12 +1700,12 @@ s32 IdleRunToGoal(Evt* script, s32 isInitialCall) { } actor->currentPos.x = movement->currentPos.x; actor->currentPos.z = movement->currentPos.z; - + movement->flyTime--; if (movement->flyTime > 0) { return ApiStatus_BLOCK; } - + actor->currentPos.x = movement->unk_18.x; actor->currentPos.z = movement->unk_18.z; if (actor->actorTypeData1[0] != 0 && actor->actorTypeData1[1] == 0) { @@ -1714,7 +1714,7 @@ s32 IdleRunToGoal(Evt* script, s32 isInitialCall) { return ApiStatus_DONE1; } -s32 JumpPartTo(Evt* script, s32 isInitialCall) { +ApiStatus JumpPartTo(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Actor* actor; ActorPart* part; @@ -1808,7 +1808,7 @@ s32 JumpPartTo(Evt* script, s32 isInitialCall) { } } -s32 FallPartTo(Evt* script, s32 isInitialCall) { +ApiStatus FallPartTo(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Actor* actor; ActorPart* part; @@ -1897,7 +1897,7 @@ s32 FallPartTo(Evt* script, s32 isInitialCall) { } } -s32 LandJumpPart(Evt* script, s32 isInitialCall) { +ApiStatus LandJumpPart(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Actor* actor; ActorPart* part; @@ -1944,7 +1944,7 @@ s32 LandJumpPart(Evt* script, s32 isInitialCall) { return ApiStatus_BLOCK; } -s32 RunPartTo(Evt* script, s32 isInitialCall) { +ApiStatus RunPartTo(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Actor* actor; ActorPart* part; @@ -2074,7 +2074,7 @@ s32 RunPartTo(Evt* script, s32 isInitialCall) { f32 update_lerp_battle(s32 easing, f32 start, f32 end, s32 elapsed, s32 duration); INCLUDE_ASM(s32, "1A5830", update_lerp_battle); -s32 FlyToGoal(Evt* script, s32 isInitialCall) { +ApiStatus FlyToGoal(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Actor* actor; ActorState* actorState; @@ -2084,7 +2084,7 @@ s32 FlyToGoal(Evt* script, s32 isInitialCall) { f32 deltaX, deltaY, deltaZ; f32 dist3D; f32 offsetY; - + if (isInitialCall) { actorID = evt_get_variable(script, *args++); if (actorID == ACTOR_SELF) { @@ -2092,21 +2092,21 @@ s32 FlyToGoal(Evt* script, s32 isInitialCall) { } script->functionTempPtr[1] = actor = get_actor(actorID); actorState = &actor->state; - + actorState->moveTime = evt_get_variable(script, *args++); actorState->moveArcAmplitude = evt_get_variable(script, *args++); script->functionTemp[3] = evt_get_variable(script, *args++); actorState->functionTemp[0] = FALSE; - + if (script->functionTemp[3] >= 100) { script->functionTemp[3] -= 100; actorState->functionTemp[0] = TRUE; } - + goalX = actorState->goalPos.x; goalY = actorState->goalPos.y; goalZ = actorState->goalPos.z; - + posX = actor->currentPos.x; posY = actor->currentPos.y; posZ = actor->currentPos.z; @@ -2114,7 +2114,7 @@ s32 FlyToGoal(Evt* script, s32 isInitialCall) { deltaX = posX - goalX; deltaY = posY - goalY; deltaZ = posZ - goalZ; - + actorState->currentPos.x = posX; actorState->unk_18.x = posX; actorState->currentPos.y = posY; @@ -2123,7 +2123,7 @@ s32 FlyToGoal(Evt* script, s32 isInitialCall) { actorState->unk_18.z = posZ; actorState->distance = sqrtf(SQ(deltaX) + SQ(deltaY) + SQ(deltaZ)); - + if (actorState->moveTime == 0) { actorState->moveTime = actorState->distance / actorState->speed; } else { @@ -2132,7 +2132,7 @@ s32 FlyToGoal(Evt* script, s32 isInitialCall) { if (actorState->moveTime == 0) { return ApiStatus_DONE2; } - + actorState->bounceDivisor = 0.0f; actorState->angle = 0.0f; if (actor->actorTypeData1b[1] >= 0) { @@ -2144,10 +2144,10 @@ s32 FlyToGoal(Evt* script, s32 isInitialCall) { sfx_play_sound_at_position(actor->actorTypeData1[2], 0, actor->currentPos.x, actor->currentPos.y, actor->currentPos.z); } } - + actor = script->functionTempPtr[1]; actorState = &actor->state; - + actorState->currentPos.x = update_lerp_battle(script->functionTemp[3], actorState->unk_18.x, actorState->goalPos.x, actorState->bounceDivisor, actorState->moveTime); actorState->currentPos.y = update_lerp_battle(script->functionTemp[3], actorState->unk_18.y, actorState->goalPos.y, actorState->bounceDivisor, actorState->moveTime); actorState->currentPos.z = update_lerp_battle(script->functionTemp[3], actorState->unk_18.z, actorState->goalPos.z, actorState->bounceDivisor, actorState->moveTime); @@ -2202,7 +2202,7 @@ s32 FlyToGoal(Evt* script, s32 isInitialCall) { } } } - + deltaX = actorState->goalPos.x - actorState->currentPos.x; deltaY = actorState->goalPos.y - actorState->currentPos.y; deltaZ = actorState->goalPos.z - actorState->currentPos.z; @@ -2229,7 +2229,7 @@ s32 FlyToGoal(Evt* script, s32 isInitialCall) { return ApiStatus_BLOCK; } -s32 IdleFlyToGoal(Evt* script, s32 isInitialCall) { +ApiStatus IdleFlyToGoal(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Actor* actor; ActorMovement* movement; @@ -2247,15 +2247,15 @@ s32 IdleFlyToGoal(Evt* script, s32 isInitialCall) { } script->functionTempPtr[1] = actor = get_actor(actorID); movement = &actor->fly; - + movement->flyTime = evt_get_variable(script, *args++); movement->flyArcAmplitude = evt_get_variable(script, *args++); script->functionTemp[3] = evt_get_variable(script, *args++); - + goalX = movement->goalPos.x; goalY = movement->goalPos.y; goalZ = movement->goalPos.z; - + posX = actor->currentPos.x; posY = actor->currentPos.y; posZ = actor->currentPos.z; @@ -2263,16 +2263,16 @@ s32 IdleFlyToGoal(Evt* script, s32 isInitialCall) { deltaX = posX - goalX; deltaY = posY - goalY; deltaZ = posZ - goalZ; - + movement->currentPos.x = posX; movement->unk_18.x = posX; movement->currentPos.y = posY; movement->unk_18.y = posY; movement->currentPos.z = posZ; movement->unk_18.z = posZ; - + movement->distance = sqrtf(SQ(deltaX) + SQ(deltaY) + SQ(deltaZ)); - + if (movement->flyTime == 0) { movement->flyTime = movement->distance / movement->speed; } else { @@ -2281,19 +2281,19 @@ s32 IdleFlyToGoal(Evt* script, s32 isInitialCall) { if (movement->flyTime == 0) { return ApiStatus_DONE2; } - + movement->flyElapsed = 0.0f; movement->angle = 0.0f; movement->velocity = 0.0f; } - + actor = script->functionTempPtr[1]; movement = &actor->fly; - + movement->currentPos.x = update_lerp_battle(script->functionTemp[3], movement->unk_18.x, movement->goalPos.x, movement->flyElapsed, movement->flyTime); movement->currentPos.y = update_lerp_battle(script->functionTemp[3], movement->unk_18.y, movement->goalPos.y, movement->flyElapsed, movement->flyTime); movement->currentPos.z = update_lerp_battle(script->functionTemp[3], movement->unk_18.z, movement->goalPos.z, movement->flyElapsed, movement->flyTime); - + movement->flyElapsed += 1.0f; if (movement->flyTime < movement->flyElapsed) { actor->currentPos.x = movement->goalPos.x; @@ -2301,7 +2301,7 @@ s32 IdleFlyToGoal(Evt* script, s32 isInitialCall) { actor->currentPos.z = movement->goalPos.z; return ApiStatus_DONE2; } - + deltaX = movement->goalPos.x - movement->currentPos.x; deltaY = movement->goalPos.y - movement->currentPos.y; deltaZ = movement->goalPos.z - movement->currentPos.z; @@ -2330,7 +2330,7 @@ s32 IdleFlyToGoal(Evt* script, s32 isInitialCall) { return ApiStatus_BLOCK; } -s32 FlyPartTo(Evt* script, s32 isInitialCall) { +ApiStatus FlyPartTo(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Actor* actor; ActorPart* part; diff --git a/src/415D90.c b/src/415D90.c index 640d2c7b06..7c3fed141e 100644 --- a/src/415D90.c +++ b/src/415D90.c @@ -1229,7 +1229,7 @@ s32 func_802A2C84(void) { break; } - if (battleStatus->currentButtonsPressed & 0x4000) { + if (battleStatus->currentButtonsPressed & BUTTON_B) { sfx_play_sound(SOUND_MENU_BACK); func_802A27E4(); battle_menu_moveState = -2; diff --git a/src/7E9D0.c b/src/7E9D0.c index 9b588dedb0..ff7236a1b3 100644 --- a/src/7E9D0.c +++ b/src/7E9D0.c @@ -584,7 +584,7 @@ void peach_check_for_parasol_input(void) { } } } - } else if (gGameStatusPtr->peachFlags & PEACH_STATUS_FLAG_HAS_PARASOL && playerStatus->pressedButtons & B_BUTTON) { + } else if (gGameStatusPtr->peachFlags & PEACH_STATUS_FLAG_HAS_PARASOL && playerStatus->pressedButtons & BUTTON_B) { set_action_state(ACTION_STATE_USE_SNEAKY_PARASOL); } } diff --git a/src/7bb60_len_41b0.c b/src/7bb60_len_41b0.c index 6482159e22..fa9dd0e33c 100644 --- a/src/7bb60_len_41b0.c +++ b/src/7bb60_len_41b0.c @@ -1083,7 +1083,7 @@ void check_input_midair_jump(void) { !(gPlayerStatus.animFlags & (PA_FLAGS_8BIT_MARIO | PA_FLAGS_USING_WATT)) && gPlayerStatus.peakJumpTime >= 6 && gPlayerStatus.timeInAir < 18 && - gPlayerStatus.pressedButtons & A_BUTTON) { + gPlayerStatus.pressedButtons & BUTTON_A) { switch (gPlayerData.bootsLevel) { case 0: diff --git a/src/8a860_len_3f30.c b/src/8a860_len_3f30.c index bb8b7f1f60..c0d45f5ee4 100644 --- a/src/8a860_len_3f30.c +++ b/src/8a860_len_3f30.c @@ -1258,7 +1258,7 @@ void create_popup_menu(PopupMenu* popup) { D_8010D650 = 255; D_8010D691 = 4; D_8010D692 = 6; - D_8010D694 = create_worker_frontUI(popup_menu_update, NULL); + D_8010D694 = create_worker_frontUI((void (*) (void)) popup_menu_update, NULL); } void func_800F4FC4(PopupMenu* popup) { @@ -1303,7 +1303,7 @@ void func_800F4FC4(PopupMenu* popup) { D_8010D650 = 255; D_8010D691 = 4; D_8010D692 = 6; - D_8010D694 = create_worker_frontUI(popup_menu_update, NULL); + D_8010D694 = create_worker_frontUI((void (*) (void)) popup_menu_update, NULL); } void func_800F513C(PopupMenu* popup) { @@ -1347,7 +1347,7 @@ void func_800F513C(PopupMenu* popup) { D_8010D650 = 255; D_8010D691 = 9; D_8010D692 = 2; - D_8010D694 = create_worker_frontUI(popup_menu_update, NULL); + D_8010D694 = create_worker_frontUI((void (*) (void)) popup_menu_update, NULL); } void func_800F52BC(void) { diff --git a/src/B4580.c b/src/B4580.c index bb41fff723..8a73c145fb 100644 --- a/src/B4580.c +++ b/src/B4580.c @@ -953,7 +953,7 @@ ModelAnimator* get_animator_by_index(s32 animModelID) { return (*gCurrentAnimMeshListPtr)[animModelID & ~0x800]; } -ModelAnimator* set_animator_render_callback(s32 animModelID, s32 callbackArg, void (*callbackFunc)(void*)) { +ModelAnimator* set_animator_render_callback(s32 animModelID, void* callbackArg, void (*callbackFunc)(void*)) { ModelAnimator* ret = (*gCurrentAnimMeshListPtr)[animModelID & ~0x800]; ret->fpRenderCallback = callbackFunc; @@ -1021,7 +1021,7 @@ void play_model_animation(s32 index, s16* animPos) { animator->nextUpdateTime = 1.0f; } -void play_model_animation_starting_from(s32 index, s32 animPos, s32 framesToSkip) { +void play_model_animation_starting_from(s32 index, s16* animPos, s32 framesToSkip) { s32 indexMasked = index & ~0x800; ModelAnimator* animator = (*gCurrentAnimMeshListPtr)[indexMasked]; s32 i; @@ -1030,8 +1030,8 @@ void play_model_animation_starting_from(s32 index, s32 animPos, s32 framesToSkip animPos = ((s32)animPos & 0xFFFFFF) + (s32)animator->animationBuffer; // TODO: array access? } - animator->animReadPos = (s16*) animPos; - animator->savedReadPos = (s16*) animPos; + animator->animReadPos = animPos; + animator->savedReadPos = animPos; animator->treeIndexPos = 0; animator->nextUpdateTime = 1.0f; diff --git a/src/a5dd0_len_114e0.c b/src/a5dd0_len_114e0.c index e395644ce3..b263058af4 100644 --- a/src/a5dd0_len_114e0.c +++ b/src/a5dd0_len_114e0.c @@ -1390,10 +1390,18 @@ void render_entities(void) { if (entity->flags & ENTITY_FLAGS_HAS_ANIMATED_MODEL) { if (D_8014AFB0 == 0xFF) { if (entity->renderSetupFunc != NULL) { - set_animator_render_callback(entity->virtualModelIndex, entity->listIndex, entity->renderSetupFunc); + set_animator_render_callback( + entity->virtualModelIndex, + (void*)(u32) entity->listIndex, + (void (*)(void*)) entity->renderSetupFunc + ); } } else { - set_animator_render_callback(entity->virtualModelIndex, entity->listIndex, func_8010FE44); + set_animator_render_callback( + entity->virtualModelIndex, + (void*)(u32) entity->listIndex, + func_8010FE44 + ); } if (entity->gfxBaseAddr == NULL) { @@ -1407,9 +1415,11 @@ void render_entities(void) { } else { if (D_8014AFB0 == 0xFF) { if (entity->renderSetupFunc != NULL) { - bind_entity_model_setupGfx(entity->virtualModelIndex, - (void*)(u32)entity->listIndex, - entity->renderSetupFunc); + bind_entity_model_setupGfx( + entity->virtualModelIndex, + (void*)(u32) entity->listIndex, + (void (*)(void*)) entity->renderSetupFunc + ); } else { get_entity_model(entity->virtualModelIndex)->fpSetupGfxCallback = NULL; } @@ -4477,7 +4487,28 @@ void mdl_get_vertex_count(Gfx* gfx, s32* numVertices, Vtx** baseVtx, s32* gfxCou } void mdl_local_gfx_update_vtx_pointers(Gfx* nodeDlist, Vtx* baseVtx, Gfx* arg2, Vtx* arg3); +#ifdef NON_MATCHING +void mdl_local_gfx_update_vtx_pointers(Gfx* nodeDlist, Vtx* baseVtx, Gfx* arg2, Vtx* arg3) { + u32 w0; + u32 temp_v1; + u32 w1; + + do { + w0 = (u32) nodeDlist->words.w0 >> 0; + w1 = nodeDlist->words.w1; + temp_v1 = w0 >> 0x18; + nodeDlist++; + if (temp_v1 == 1) { + w1 = &arg3[(s32) (w1 - (s32)baseVtx) >> 4]; + } + arg2->words.w0 = w0; + arg2->words.w1 = w1; + arg2++; + } while (temp_v1 != G_ENDDL); +} +#else INCLUDE_ASM(s32, "a5dd0_len_114e0", mdl_local_gfx_update_vtx_pointers); +#endif void mdl_local_gfx_copy_vertices(Vtx* from, s32 num, Vtx* to) { u32 i; diff --git a/src/battle/action_cmd/dizzy_shell.c b/src/battle/action_cmd/dizzy_shell.c index 93e23786a4..dee3fda5a2 100644 --- a/src/battle/action_cmd/dizzy_shell.c +++ b/src/battle/action_cmd/dizzy_shell.c @@ -118,7 +118,7 @@ void N(update)(void) { } } - if (battleStatus->currentButtonsPressed & A_BUTTON) { + if (battleStatus->currentButtonsPressed & BUTTON_A) { s32 a = battleStatus->actionCmdDifficultyTable[actionCommandStatus->difficulty]; s32 b = actionCommandStatus->targetWeakness * 850; s32 temp_v1_2 = (a * b) / 10000; diff --git a/src/battle/move/auto_jump/auto_jump.c b/src/battle/move/auto_jump/auto_jump.c index db128fb0f0..4ca362ea43 100644 --- a/src/battle/move/auto_jump/auto_jump.c +++ b/src/battle/move/auto_jump/auto_jump.c @@ -18,7 +18,7 @@ s32 N(D_802A10F0)[] = { EvtScript N(CheckForAPress) = { EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_BeforeJump) EVT_LOOP(5) - EVT_CALL(CheckButtonPress, A_BUTTON, LVar0) + EVT_CALL(CheckButtonPress, BUTTON_A, LVar0) EVT_IF_EQ(LVar0, TRUE) EVT_BREAK_LOOP EVT_END_IF diff --git a/src/battle/move/auto_multibounce/auto_multibounce.c b/src/battle/move/auto_multibounce/auto_multibounce.c index b7c1043622..efb589aa7b 100644 --- a/src/battle/move/auto_multibounce/auto_multibounce.c +++ b/src/battle/move/auto_multibounce/auto_multibounce.c @@ -18,7 +18,7 @@ s32 N(D_802A10F0)[] = { EvtScript N(CheckForAPress) = { EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_BeforeJump) EVT_LOOP(5) - EVT_CALL(CheckButtonPress, A_BUTTON, LVar0) + EVT_CALL(CheckButtonPress, BUTTON_A, LVar0) EVT_IF_EQ(LVar0, TRUE) EVT_BREAK_LOOP EVT_END_IF diff --git a/src/battle/move/jump/jump.c b/src/battle/move/jump/jump.c index 8997e599e8..95916ab73e 100644 --- a/src/battle/move/jump/jump.c +++ b/src/battle/move/jump/jump.c @@ -27,7 +27,7 @@ s32 D_802A1140_73D9A0[] = { EvtScript N(CheckForAPress) = { EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_BeforeJump) EVT_LOOP(5) - EVT_CALL(CheckButtonPress, A_BUTTON, LVar0) + EVT_CALL(CheckButtonPress, BUTTON_A, LVar0) EVT_IF_EQ(LVar0, TRUE) EVT_BREAK_LOOP EVT_END_IF diff --git a/src/entity/sbk_omo/StarBoxLauncher.c b/src/entity/sbk_omo/StarBoxLauncher.c index c510da924a..5e81c11fc1 100644 --- a/src/entity/sbk_omo/StarBoxLauncher.c +++ b/src/entity/sbk_omo/StarBoxLauncher.c @@ -245,8 +245,6 @@ void entity_StarBoxLauncher_init(Entity* entity) { data->basePosZ = entity->position.z; } - - EntityScript Entity_StarBoxLauncher_Script = { es_SetCallback(entity_StarBoxLauncher_check_launch, 0) es_SetCallback(entity_StarBoxLauncher_shake_box, 4) diff --git a/src/evt/model_api.c b/src/evt/model_api.c index f1125e9420..bf0d3944d3 100644 --- a/src/evt/model_api.c +++ b/src/evt/model_api.c @@ -110,7 +110,7 @@ ApiStatus LoadAnimatedMesh(Evt* script, s32 isInitialCall) { ApiStatus PlayModelAnimation(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 index = evt_get_variable(script, *args++); - s32 var2 = evt_get_variable(script, *args++); + s16* var2 = (s16*) evt_get_variable(script, *args++); AnimatedModel* model = (*gCurrentMeshAnimationListPtr)[index]; model->currentAnimData = var2; @@ -122,7 +122,7 @@ ApiStatus PlayModelAnimation(Evt* script, s32 isInitialCall) { ApiStatus PlayModelAnimationStartingFrom(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 index = evt_get_variable(script, *args++); - s32 var2 = evt_get_variable(script, *args++); + s16* var2 = (s16*) evt_get_variable(script, *args++); s32 var3 = evt_get_variable(script, *args++); AnimatedModel* model = (*gCurrentMeshAnimationListPtr)[index]; @@ -135,7 +135,7 @@ ApiStatus PlayModelAnimationStartingFrom(Evt* script, s32 isInitialCall) { ApiStatus ChangeModelAnimation(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 index = evt_get_variable(script, *args++); - s32 var2 = evt_get_variable(script, *args++); + s16* var2 = (s16*) evt_get_variable(script, *args++); AnimatedModel* model = (*gCurrentMeshAnimationListPtr)[index]; if (model->currentAnimData == var2) { diff --git a/src/npc.c b/src/npc.c index 34636c387c..0769fbe295 100644 --- a/src/npc.c +++ b/src/npc.c @@ -1025,7 +1025,82 @@ void update_npc_blur(Npc* npc) { motionBlur->index = index; } -INCLUDE_ASM(void, "npc", appendGfx_npc_blur, Npc* npc); +void appendGfx_npc_blur(Npc* npc) { + Matrix4f sp20, sp60; + f32 x, y, z; + f32 yaw; + s32 var_s3; + s32 var_s5; + s32 index; + NpcMotionBlur* blur; + + var_s3 = 0; + var_s5 = 0; + blur = npc->blur.motion; + index = blur->index; + + while (TRUE) { + index--; + var_s3++; + if (index < 0) { + index = ARRAY_COUNT(blur->x) - 1; + } + if (index == blur->index) { + break; + } + + if (var_s3 >= 3) { + var_s3 = 0; + var_s5++; + if (var_s5 >= 4) { + break; + } + + x = blur->x[index]; + y = blur->y[index]; + z = blur->z[index]; + func_802DE894(npc->spriteInstanceID, 7, 255, 255, 255, 120 - (var_s5 * 20), 0); + yaw = npc->renderYaw; + guTranslateF(sp20, x, y, z); + + if (npc->rotation.y != 0.0f) { + guRotateF(sp60, npc->rotation.y, 0.0f, 1.0f, 0.0f); + guMtxCatF(sp60, sp20, sp20); + } + if (npc->rotation.x != 0.0f) { + guRotateF(sp60, npc->rotation.y, 0.0f, 1.0f, 0.0f); + guMtxCatF(sp60, sp20, sp20); + } + if (npc->rotation.z != 0.0f) { + guRotateF(sp60, npc->rotation.y, 0.0f, 1.0f, 0.0f); + guMtxCatF(sp60, sp20, sp20); + } + + if ( + (npc->scale.x * SPRITE_WORLD_SCALE_D) != 1.0 || + ((npc->scale.y * npc->verticalStretch) * SPRITE_WORLD_SCALE_D) != 1.0 || + (npc->scale.z * SPRITE_WORLD_SCALE_D) != 1.0) + { + guScaleF( + sp60, + npc->scale.x * SPRITE_WORLD_SCALE_D, + (npc->scale.y * npc->verticalStretch) * SPRITE_WORLD_SCALE_D, + npc->scale.z * SPRITE_WORLD_SCALE_D + ); + guMtxCatF(sp60, sp20, sp20); + } + + if (!(npc->flags & NPC_FLAG_NO_ANIMS_LOADED)) { + if (!(npc->flags & NPC_FLAG_1000000)) { + spr_draw_npc_sprite(npc->spriteInstanceID, (s32) yaw, 0, 0, sp20); + } + } else { + spr_draw_player_sprite(0x40000001, (s32) yaw, 0, 0, sp20); + } + } + } + func_8003D3BC(npc); +} void npc_enable_collisions(void) { D_800A0B94 = 1; diff --git a/src/os/nusys/nuContMgr.c b/src/os/nusys/nuContMgr.c index ddd0294658..38b35b65d8 100644 --- a/src/os/nusys/nuContMgr.c +++ b/src/os/nusys/nuContMgr.c @@ -2,7 +2,7 @@ #include "nu/nusys.h" s32 contRetrace(void); -s32 contReadData(void); +s32 contReadData(s32* arg0); s32 contReadNW(void); s32 contQuery(void); @@ -10,7 +10,7 @@ u32 D_80093D20 = 0; s32(*D_80093D24[4])(void) = { contRetrace, - contReadData, + (s32 (*) (void)) contReadData, contReadNW, contQuery, }; @@ -19,7 +19,7 @@ s32 D_80093D34 = 0; NUCallBackList nuContCallBack = { NULL, - &D_80093D24, + (s32 (**)(NUSiCommonMesg*)) &D_80093D24, 0x100, 0, }; diff --git a/src/os/nusys/nuSched.c b/src/os/nusys/nuSched.c index a4931499eb..74c84f8384 100644 --- a/src/os/nusys/nuSched.c +++ b/src/os/nusys/nuSched.c @@ -12,6 +12,7 @@ s32* D_80093B94 = D_80093B84; void nuScEventHandler(void); void nuScExecuteAudio(void); void nuScExecuteGraphics(void); +void nuScWaitTaskReady(NUScTask* task); extern u64 nuScStack[NU_SC_STACK_SIZE / sizeof(u64)]; extern u64 nuScAudioStack[NU_SC_STACK_SIZE / sizeof(u64)]; @@ -65,9 +66,96 @@ void nuScCreateScheduler(u8 videoMode, u8 numFields) { osStartThread(&nusched.graphicsThread); } -INCLUDE_ASM(void, "os/nusys/nuSched", nuScExecuteAudio); +void nuScExecuteAudio(void) { + NUScTask* gfxTask; + NUScTask* audioTask; + OSMesg msg; + u32 yieldFlag; -INCLUDE_ASM(void, "os/nusys/nuSched", nuScExecuteGraphics); + while(1) { + osRecvMesg(&nusched.audioRequestMQ, (OSMesg *) &audioTask, OS_MESG_BLOCK); + if (nuScPreNMIFlag & NU_SC_BEFORE_RESET) { + osSendMesg(audioTask->msgQ, audioTask->msg, OS_MESG_BLOCK); + continue; + } + + osWritebackDCacheAll(); + + yieldFlag = 0; + gfxTask = nusched.curGraphicsTask; + + if (gfxTask != NULL) { + osSpTaskYield(); + osRecvMesg(&nusched.rspMQ, &msg, OS_MESG_BLOCK); + + if (osSpTaskYielded(&gfxTask->list)) { + yieldFlag = 1; + } else { + yieldFlag = 2; + } + } + + nusched.curAudioTask = audioTask; + osSpTaskStart(&audioTask->list); + + osRecvMesg(&nusched.rspMQ, &msg, OS_MESG_BLOCK); + nusched.curAudioTask = NULL; + + if( nusched.graphicsTaskSuspended ) + osSendMesg(&nusched.waitMQ, &msg, OS_MESG_BLOCK ); + + if (yieldFlag == 1) { + osSpTaskStart(&gfxTask->list); + } else if (yieldFlag == 2) { + osSendMesg(&nusched.rspMQ, &msg, OS_MESG_BLOCK); + } + + osSendMesg(audioTask->msgQ, audioTask->msg, OS_MESG_BLOCK); + } +} + +void nuScExecuteGraphics(void) { + OSMesg msg; + NUScTask* gfxTask; + OSIntMask mask; + + while (TRUE) { + osRecvMesg(&nusched.graphicsRequestMQ, (OSMesg *) &gfxTask, OS_MESG_BLOCK); + if(nuScPreNMIFlag & NU_SC_BEFORE_RESET){ + osSendMesg(gfxTask->msgQ, (OSMesg*) gfxTask, OS_MESG_BLOCK); + continue; + } + + nuScWaitTaskReady(gfxTask); + + mask = osSetIntMask(OS_IM_NONE); + if (nusched.curAudioTask) { + nusched.graphicsTaskSuspended = gfxTask; + osSetIntMask(mask); + osRecvMesg(&nusched.waitMQ, &msg, OS_MESG_BLOCK); + mask = osSetIntMask(OS_IM_NONE); + nusched.graphicsTaskSuspended = NULL; + } + osSetIntMask(mask); + + mask = osSetIntMask(OS_IM_NONE); + nusched.curGraphicsTask = gfxTask; + osSetIntMask(mask); + + osSpTaskStart(&gfxTask->list); + + osRecvMesg(&nusched.rspMQ, &msg, OS_MESG_BLOCK); + + mask = osSetIntMask(OS_IM_NONE); + nusched.curGraphicsTask = NULL; + osSetIntMask(mask); + + if (!(gfxTask->flags & NU_SC_NORDP)) { + osRecvMesg(&nusched.rdpMQ, &msg, OS_MESG_BLOCK); + } + osSendMesg(gfxTask->msgQ, (OSMesg*) gfxTask, OS_MESG_BLOCK); + } +} void nuScAddClient(NUScClient* c, OSMesgQueue* mq, NUScMsg msgType) { s32 mask; @@ -152,7 +240,51 @@ s32 nuScGetFrameRate(void) { INCLUDE_ASM(s32, "os/nusys/nuSched", nuScGetFrameRate, void); #endif -INCLUDE_ASM(void, "os/nusys/nuSched", nuScEventHandler); +#ifdef NON_MATCHING +void nuScEventHandler(void) { + OSMesg msg; + s32 beforeResetFrame; + + nuScRetraceCounter = 0; + + while (TRUE) { + osRecvMesg(&nusched.retraceMQ, &msg, OS_MESG_BLOCK); + + switch ((s32) msg) { + case 666: + nuScRetraceCounter++; + + nuScEventBroadcast(&nusched.retraceMsg); + + if (nuScPreNMIFlag){ + if (beforeResetFrame){ + beforeResetFrame--; + } else { + nuScPreNMIFlag |= NU_SC_BEFORE_RESET; + osAfterPreNMI(); + osViSetYScale(1.0); + osViBlack(TRUE); + } + } + break; + case 669: + nuScPreNMIFlag = NU_SC_PRENMI_GET; + nuScEventBroadcast(&nusched.prenmiMsg); + + if (nuScPreNMIFunc != NULL){ + (*nuScPreNMIFunc)(); + } + + beforeResetFrame = (nusched.frameRate / 2) / nusched.retraceCount - 3; + break; + default: + break; + } + } +} +#else +INCLUDE_ASM(s32, "os/nusys/nuSched", nuScEventHandler, void); +#endif void nuScEventBroadcast(NUScMsg* msg) { NUScClient* clientList = nusched.clientList; diff --git a/src/pause/pause_map.c b/src/pause/pause_map.c index d84607b7ec..bf10eb32de 100644 --- a/src/pause/pause_map.c +++ b/src/pause/pause_map.c @@ -509,7 +509,7 @@ void pause_map_handle_input(MenuPanel* tab) { gPauseMapCameraY = -210.0f; } - if (gPausePressedButtons & B_BUTTON) { + if (gPausePressedButtons & BUTTON_B) { sfx_play_sound(SOUND_MENU_BACK); gPauseMenuCurrentTab = 0; return; diff --git a/src/world/area_kkj/kkj_19/AF7C00.c b/src/world/area_kkj/kkj_19/AF7C00.c index 8a6c70fee6..39924e680c 100644 --- a/src/world/area_kkj/kkj_19/AF7C00.c +++ b/src/world/area_kkj/kkj_19/AF7C00.c @@ -173,7 +173,7 @@ ApiStatus func_802406C4_AF8014(Evt* script, s32 isInitialCall) { // fallthrough case 11: temp = D_80246538_kkj_19[D_80246550_kkj_19]; - if (gGameStatusPtr->pressedButtons[0] & A_BUTTON) { + if (gGameStatusPtr->pressedButtons[0] & BUTTON_A) { dgb_08_npcGroup_80246528++; } if (dgb_08_npcGroup_80246528 > temp) { @@ -210,7 +210,7 @@ ApiStatus func_802406C4_AF8014(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } - D_80246578[D_802465A0++] = gGameStatusPtr->pressedButtons[0] & A_BUTTON; + D_80246578[D_802465A0++] = gGameStatusPtr->pressedButtons[0] & BUTTON_A; if (D_802465A0 >= 10) { D_802465A0 = 0; diff --git a/src/world/area_obk/obk_07/BCF0F0.c b/src/world/area_obk/obk_07/BCF0F0.c index 179ba49ae7..59a6eaba99 100644 --- a/src/world/area_obk/obk_07/BCF0F0.c +++ b/src/world/area_obk/obk_07/BCF0F0.c @@ -66,7 +66,7 @@ void func_80240A6C_BCF65C(void) { s32 idx; s32 i; - temp_v0->aPressed[temp_v0->unk_1C0] = gGameStatusPtr->pressedButtons[0] & A_BUTTON; + temp_v0->aPressed[temp_v0->unk_1C0] = gGameStatusPtr->pressedButtons[0] & BUTTON_A; temp_v0->unk_1C0++; if (temp_v0->unk_1C0 >= ARRAY_COUNT(temp_v0->aPressed)) { temp_v0->unk_1C0 = 0; @@ -384,7 +384,7 @@ moved: } script->varTable[0] = 0; - if (temp_v0->unk_1D8 >= 46 || (gGameStatusPtr->pressedButtons[0] & B_BUTTON)) { + if (temp_v0->unk_1D8 >= 46 || (gGameStatusPtr->pressedButtons[0] & BUTTON_B)) { script->varTable[0] = 1; return ApiStatus_DONE2; } diff --git a/src/world/partner/lakilester.c b/src/world/partner/lakilester.c index 97c7b452b0..77c4ad1641 100644 --- a/src/world/partner/lakilester.c +++ b/src/world/partner/lakilester.c @@ -767,7 +767,7 @@ ApiStatus func_802BE724_322274(Evt* script, s32 isInitialCall) { } else { npc->duration--; if (npc->duration != 0) { - if (partnerActionStatus->pressedButtons & (B_BUTTON | D_CBUTTONS) && lakilester_raycast_below()) { + if (partnerActionStatus->pressedButtons & (BUTTON_B | D_CBUTTONS) && lakilester_raycast_below()) { D_802BFF14 = 3; } break; @@ -791,7 +791,7 @@ ApiStatus func_802BE724_322274(Evt* script, s32 isInitialCall) { } if (!(playerStatus->flags & PS_FLAGS_HIT_FIRE)) { - if (partnerActionStatus->pressedButtons & (B_BUTTON | D_CBUTTONS)) { + if (partnerActionStatus->pressedButtons & (BUTTON_B | D_CBUTTONS)) { if (lakilester_raycast_below()) { D_802BFF14 = 3; } else { diff --git a/src/world/partner/watt.c b/src/world/partner/watt.c index 25265c4391..2ab97f66d7 100644 --- a/src/world/partner/watt.c +++ b/src/world/partner/watt.c @@ -345,7 +345,7 @@ ApiStatus func_802BD754_31D2C4(Evt* script, s32 isInitialCall) { actionState == ACTION_STATE_RUN || actionState == ACTION_STATE_LAND) { - if (partnerActionStatus->pressedButtons & B_BUTTON) { + if (partnerActionStatus->pressedButtons & BUTTON_B) { D_802BE304 = 2; } } diff --git a/ver/us/asm/nonmatchings/npc/appendGfx_npc_blur.s b/ver/us/asm/nonmatchings/npc/appendGfx_npc_blur.s deleted file mode 100644 index c5a5be5913..0000000000 --- a/ver/us/asm/nonmatchings/npc/appendGfx_npc_blur.s +++ /dev/null @@ -1,231 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_800984C0 -.double 0.7142857142857143 - -.section .text - -glabel appendGfx_npc_blur -/* 16238 8003AE38 27BDFF08 */ addiu $sp, $sp, -0xf8 -/* 1623C 8003AE3C F7BC00E8 */ sdc1 $f28, 0xe8($sp) -/* 16240 8003AE40 4480E000 */ mtc1 $zero, $f28 -/* 16244 8003AE44 F7BA00E0 */ sdc1 $f26, 0xe0($sp) -/* 16248 8003AE48 3C01800A */ lui $at, %hi(D_800984C0) -/* 1624C 8003AE4C D43A84C0 */ ldc1 $f26, %lo(D_800984C0)($at) -/* 16250 8003AE50 AFB000A0 */ sw $s0, 0xa0($sp) -/* 16254 8003AE54 0080802D */ daddu $s0, $a0, $zero -/* 16258 8003AE58 AFB300AC */ sw $s3, 0xac($sp) -/* 1625C 8003AE5C 0000982D */ daddu $s3, $zero, $zero -/* 16260 8003AE60 AFB500B4 */ sw $s5, 0xb4($sp) -/* 16264 8003AE64 0260A82D */ daddu $s5, $s3, $zero -/* 16268 8003AE68 AFB100A4 */ sw $s1, 0xa4($sp) -/* 1626C 8003AE6C 27B10060 */ addiu $s1, $sp, 0x60 -/* 16270 8003AE70 AFB700BC */ sw $s7, 0xbc($sp) -/* 16274 8003AE74 27B70020 */ addiu $s7, $sp, 0x20 -/* 16278 8003AE78 AFB400B0 */ sw $s4, 0xb0($sp) -/* 1627C 8003AE7C 0260A02D */ daddu $s4, $s3, $zero -/* 16280 8003AE80 AFBF00C0 */ sw $ra, 0xc0($sp) -/* 16284 8003AE84 AFB600B8 */ sw $s6, 0xb8($sp) -/* 16288 8003AE88 AFB200A8 */ sw $s2, 0xa8($sp) -/* 1628C 8003AE8C F7BE00F0 */ sdc1 $f30, 0xf0($sp) -/* 16290 8003AE90 F7B800D8 */ sdc1 $f24, 0xd8($sp) -/* 16294 8003AE94 F7B600D0 */ sdc1 $f22, 0xd0($sp) -/* 16298 8003AE98 F7B400C8 */ sdc1 $f20, 0xc8($sp) -/* 1629C 8003AE9C 8E160020 */ lw $s6, 0x20($s0) -/* 162A0 8003AEA0 3C013FF0 */ lui $at, 0x3ff0 -/* 162A4 8003AEA4 4481F800 */ mtc1 $at, $f31 -/* 162A8 8003AEA8 4480F000 */ mtc1 $zero, $f30 -/* 162AC 8003AEAC 82D20001 */ lb $s2, 1($s6) -/* 162B0 8003AEB0 2652FFFF */ addiu $s2, $s2, -1 -.L8003AEB4: -/* 162B4 8003AEB4 06410002 */ bgez $s2, .L8003AEC0 -/* 162B8 8003AEB8 26730001 */ addiu $s3, $s3, 1 -/* 162BC 8003AEBC 24120013 */ addiu $s2, $zero, 0x13 -.L8003AEC0: -/* 162C0 8003AEC0 82C20001 */ lb $v0, 1($s6) -/* 162C4 8003AEC4 1242009C */ beq $s2, $v0, .L8003B138 -/* 162C8 8003AEC8 2A620003 */ slti $v0, $s3, 3 -/* 162CC 8003AECC 5440FFF9 */ bnel $v0, $zero, .L8003AEB4 -/* 162D0 8003AED0 2652FFFF */ addiu $s2, $s2, -1 -/* 162D4 8003AED4 0000982D */ daddu $s3, $zero, $zero -/* 162D8 8003AED8 26B50001 */ addiu $s5, $s5, 1 -/* 162DC 8003AEDC 2AA20004 */ slti $v0, $s5, 4 -/* 162E0 8003AEE0 10400095 */ beqz $v0, .L8003B138 -/* 162E4 8003AEE4 26940014 */ addiu $s4, $s4, 0x14 -/* 162E8 8003AEE8 24050007 */ addiu $a1, $zero, 7 -/* 162EC 8003AEEC 240600FF */ addiu $a2, $zero, 0xff -/* 162F0 8003AEF0 00121080 */ sll $v0, $s2, 2 -/* 162F4 8003AEF4 02C21021 */ addu $v0, $s6, $v0 -/* 162F8 8003AEF8 C4540004 */ lwc1 $f20, 4($v0) -/* 162FC 8003AEFC C4560054 */ lwc1 $f22, 0x54($v0) -/* 16300 8003AF00 C45800A4 */ lwc1 $f24, 0xa4($v0) -/* 16304 8003AF04 00C0102D */ daddu $v0, $a2, $zero -/* 16308 8003AF08 AFA20010 */ sw $v0, 0x10($sp) -/* 1630C 8003AF0C 24020078 */ addiu $v0, $zero, 0x78 -/* 16310 8003AF10 00541023 */ subu $v0, $v0, $s4 -/* 16314 8003AF14 AFA20014 */ sw $v0, 0x14($sp) -/* 16318 8003AF18 AFA00018 */ sw $zero, 0x18($sp) -/* 1631C 8003AF1C 8E040024 */ lw $a0, 0x24($s0) -/* 16320 8003AF20 0C0B7A25 */ jal func_802DE894 -/* 16324 8003AF24 00C0382D */ daddu $a3, $a2, $zero -/* 16328 8003AF28 4405A000 */ mfc1 $a1, $f20 -/* 1632C 8003AF2C 4406B000 */ mfc1 $a2, $f22 -/* 16330 8003AF30 4407C000 */ mfc1 $a3, $f24 -/* 16334 8003AF34 C6140034 */ lwc1 $f20, 0x34($s0) -/* 16338 8003AF38 0C019E40 */ jal guTranslateF -/* 1633C 8003AF3C 27A40020 */ addiu $a0, $sp, 0x20 -/* 16340 8003AF40 C6000048 */ lwc1 $f0, 0x48($s0) -/* 16344 8003AF44 461C0032 */ c.eq.s $f0, $f28 -/* 16348 8003AF48 00000000 */ nop -/* 1634C 8003AF4C 4501000B */ bc1t .L8003AF7C -/* 16350 8003AF50 00000000 */ nop -/* 16354 8003AF54 E7BC0010 */ swc1 $f28, 0x10($sp) -/* 16358 8003AF58 8E050048 */ lw $a1, 0x48($s0) -/* 1635C 8003AF5C 4406E000 */ mfc1 $a2, $f28 -/* 16360 8003AF60 3C073F80 */ lui $a3, 0x3f80 -/* 16364 8003AF64 0C019EC8 */ jal guRotateF -/* 16368 8003AF68 0220202D */ daddu $a0, $s1, $zero -/* 1636C 8003AF6C 0220202D */ daddu $a0, $s1, $zero -/* 16370 8003AF70 27A50020 */ addiu $a1, $sp, 0x20 -/* 16374 8003AF74 0C019D80 */ jal guMtxCatF -/* 16378 8003AF78 00A0302D */ daddu $a2, $a1, $zero -.L8003AF7C: -/* 1637C 8003AF7C C6000044 */ lwc1 $f0, 0x44($s0) -/* 16380 8003AF80 461C0032 */ c.eq.s $f0, $f28 -/* 16384 8003AF84 00000000 */ nop -/* 16388 8003AF88 4501000B */ bc1t .L8003AFB8 -/* 1638C 8003AF8C 00000000 */ nop -/* 16390 8003AF90 E7BC0010 */ swc1 $f28, 0x10($sp) -/* 16394 8003AF94 8E050048 */ lw $a1, 0x48($s0) -/* 16398 8003AF98 4406E000 */ mfc1 $a2, $f28 -/* 1639C 8003AF9C 3C073F80 */ lui $a3, 0x3f80 -/* 163A0 8003AFA0 0C019EC8 */ jal guRotateF -/* 163A4 8003AFA4 0220202D */ daddu $a0, $s1, $zero -/* 163A8 8003AFA8 0220202D */ daddu $a0, $s1, $zero -/* 163AC 8003AFAC 27A50020 */ addiu $a1, $sp, 0x20 -/* 163B0 8003AFB0 0C019D80 */ jal guMtxCatF -/* 163B4 8003AFB4 00A0302D */ daddu $a2, $a1, $zero -.L8003AFB8: -/* 163B8 8003AFB8 C600004C */ lwc1 $f0, 0x4c($s0) -/* 163BC 8003AFBC 461C0032 */ c.eq.s $f0, $f28 -/* 163C0 8003AFC0 00000000 */ nop -/* 163C4 8003AFC4 4501000B */ bc1t .L8003AFF4 -/* 163C8 8003AFC8 00000000 */ nop -/* 163CC 8003AFCC E7BC0010 */ swc1 $f28, 0x10($sp) -/* 163D0 8003AFD0 8E050048 */ lw $a1, 0x48($s0) -/* 163D4 8003AFD4 4406E000 */ mfc1 $a2, $f28 -/* 163D8 8003AFD8 3C073F80 */ lui $a3, 0x3f80 -/* 163DC 8003AFDC 0C019EC8 */ jal guRotateF -/* 163E0 8003AFE0 0220202D */ daddu $a0, $s1, $zero -/* 163E4 8003AFE4 0220202D */ daddu $a0, $s1, $zero -/* 163E8 8003AFE8 27A50020 */ addiu $a1, $sp, 0x20 -/* 163EC 8003AFEC 0C019D80 */ jal guMtxCatF -/* 163F0 8003AFF0 00A0302D */ daddu $a2, $a1, $zero -.L8003AFF4: -/* 163F4 8003AFF4 C6000054 */ lwc1 $f0, 0x54($s0) -/* 163F8 8003AFF8 46000021 */ cvt.d.s $f0, $f0 -/* 163FC 8003AFFC 463A0002 */ mul.d $f0, $f0, $f26 -/* 16400 8003B000 00000000 */ nop -/* 16404 8003B004 463E0032 */ c.eq.d $f0, $f30 -/* 16408 8003B008 00000000 */ nop -/* 1640C 8003B00C 45000014 */ bc1f .L8003B060 -/* 16410 8003B010 00000000 */ nop -/* 16414 8003B014 C6000058 */ lwc1 $f0, 0x58($s0) -/* 16418 8003B018 C6020320 */ lwc1 $f2, 0x320($s0) -/* 1641C 8003B01C 46020002 */ mul.s $f0, $f0, $f2 -/* 16420 8003B020 00000000 */ nop -/* 16424 8003B024 46000021 */ cvt.d.s $f0, $f0 -/* 16428 8003B028 463A0002 */ mul.d $f0, $f0, $f26 -/* 1642C 8003B02C 00000000 */ nop -/* 16430 8003B030 463E0032 */ c.eq.d $f0, $f30 -/* 16434 8003B034 00000000 */ nop -/* 16438 8003B038 45000009 */ bc1f .L8003B060 -/* 1643C 8003B03C 00000000 */ nop -/* 16440 8003B040 C600005C */ lwc1 $f0, 0x5c($s0) -/* 16444 8003B044 46000021 */ cvt.d.s $f0, $f0 -/* 16448 8003B048 463A0002 */ mul.d $f0, $f0, $f26 -/* 1644C 8003B04C 00000000 */ nop -/* 16450 8003B050 463E0032 */ c.eq.d $f0, $f30 -/* 16454 8003B054 00000000 */ nop -/* 16458 8003B058 4501001C */ bc1t .L8003B0CC -/* 1645C 8003B05C 00000000 */ nop -.L8003B060: -/* 16460 8003B060 C6060054 */ lwc1 $f6, 0x54($s0) -/* 16464 8003B064 460031A1 */ cvt.d.s $f6, $f6 -/* 16468 8003B068 463A3182 */ mul.d $f6, $f6, $f26 -/* 1646C 8003B06C 00000000 */ nop -/* 16470 8003B070 C604005C */ lwc1 $f4, 0x5c($s0) -/* 16474 8003B074 46002121 */ cvt.d.s $f4, $f4 -/* 16478 8003B078 463A2102 */ mul.d $f4, $f4, $f26 -/* 1647C 8003B07C 00000000 */ nop -/* 16480 8003B080 C6000058 */ lwc1 $f0, 0x58($s0) -/* 16484 8003B084 C6020320 */ lwc1 $f2, 0x320($s0) -/* 16488 8003B088 46020002 */ mul.s $f0, $f0, $f2 -/* 1648C 8003B08C 00000000 */ nop -/* 16490 8003B090 46000021 */ cvt.d.s $f0, $f0 -/* 16494 8003B094 463A0002 */ mul.d $f0, $f0, $f26 -/* 16498 8003B098 00000000 */ nop -/* 1649C 8003B09C 462031A0 */ cvt.s.d $f6, $f6 -/* 164A0 8003B0A0 46202120 */ cvt.s.d $f4, $f4 -/* 164A4 8003B0A4 44053000 */ mfc1 $a1, $f6 -/* 164A8 8003B0A8 44072000 */ mfc1 $a3, $f4 -/* 164AC 8003B0AC 46200020 */ cvt.s.d $f0, $f0 -/* 164B0 8003B0B0 44060000 */ mfc1 $a2, $f0 -/* 164B4 8003B0B4 0C019DF0 */ jal guScaleF -/* 164B8 8003B0B8 0220202D */ daddu $a0, $s1, $zero -/* 164BC 8003B0BC 0220202D */ daddu $a0, $s1, $zero -/* 164C0 8003B0C0 27A50020 */ addiu $a1, $sp, 0x20 -/* 164C4 8003B0C4 0C019D80 */ jal guMtxCatF -/* 164C8 8003B0C8 00A0302D */ daddu $a2, $a1, $zero -.L8003B0CC: -/* 164CC 8003B0CC 8E030000 */ lw $v1, ($s0) -/* 164D0 8003B0D0 3C024000 */ lui $v0, 0x4000 -/* 164D4 8003B0D4 00621024 */ and $v0, $v1, $v0 -/* 164D8 8003B0D8 5440000E */ bnel $v0, $zero, .L8003B114 -/* 164DC 8003B0DC AFB70010 */ sw $s7, 0x10($sp) -/* 164E0 8003B0E0 3C020100 */ lui $v0, 0x100 -/* 164E4 8003B0E4 00621024 */ and $v0, $v1, $v0 -/* 164E8 8003B0E8 5440FF72 */ bnel $v0, $zero, .L8003AEB4 -/* 164EC 8003B0EC 2652FFFF */ addiu $s2, $s2, -1 -/* 164F0 8003B0F0 4600A20D */ trunc.w.s $f8, $f20 -/* 164F4 8003B0F4 44054000 */ mfc1 $a1, $f8 -/* 164F8 8003B0F8 0000302D */ daddu $a2, $zero, $zero -/* 164FC 8003B0FC AFB70010 */ sw $s7, 0x10($sp) -/* 16500 8003B100 8E040024 */ lw $a0, 0x24($s0) -/* 16504 8003B104 0C0B78F6 */ jal spr_draw_npc_sprite -/* 16508 8003B108 00C0382D */ daddu $a3, $a2, $zero -/* 1650C 8003B10C 0800EBAD */ j .L8003AEB4 -/* 16510 8003B110 2652FFFF */ addiu $s2, $s2, -1 -.L8003B114: -/* 16514 8003B114 3C044000 */ lui $a0, 0x4000 -/* 16518 8003B118 34840001 */ ori $a0, $a0, 1 -/* 1651C 8003B11C 4600A20D */ trunc.w.s $f8, $f20 -/* 16520 8003B120 44054000 */ mfc1 $a1, $f8 -/* 16524 8003B124 0000302D */ daddu $a2, $zero, $zero -/* 16528 8003B128 0C0B7710 */ jal spr_draw_player_sprite -/* 1652C 8003B12C 00C0382D */ daddu $a3, $a2, $zero -/* 16530 8003B130 0800EBAD */ j .L8003AEB4 -/* 16534 8003B134 2652FFFF */ addiu $s2, $s2, -1 -.L8003B138: -/* 16538 8003B138 0C00F4EF */ jal func_8003D3BC -/* 1653C 8003B13C 0200202D */ daddu $a0, $s0, $zero -/* 16540 8003B140 8FBF00C0 */ lw $ra, 0xc0($sp) -/* 16544 8003B144 8FB700BC */ lw $s7, 0xbc($sp) -/* 16548 8003B148 8FB600B8 */ lw $s6, 0xb8($sp) -/* 1654C 8003B14C 8FB500B4 */ lw $s5, 0xb4($sp) -/* 16550 8003B150 8FB400B0 */ lw $s4, 0xb0($sp) -/* 16554 8003B154 8FB300AC */ lw $s3, 0xac($sp) -/* 16558 8003B158 8FB200A8 */ lw $s2, 0xa8($sp) -/* 1655C 8003B15C 8FB100A4 */ lw $s1, 0xa4($sp) -/* 16560 8003B160 8FB000A0 */ lw $s0, 0xa0($sp) -/* 16564 8003B164 D7BE00F0 */ ldc1 $f30, 0xf0($sp) -/* 16568 8003B168 D7BC00E8 */ ldc1 $f28, 0xe8($sp) -/* 1656C 8003B16C D7BA00E0 */ ldc1 $f26, 0xe0($sp) -/* 16570 8003B170 D7B800D8 */ ldc1 $f24, 0xd8($sp) -/* 16574 8003B174 D7B600D0 */ ldc1 $f22, 0xd0($sp) -/* 16578 8003B178 D7B400C8 */ ldc1 $f20, 0xc8($sp) -/* 1657C 8003B17C 03E00008 */ jr $ra -/* 16580 8003B180 27BD00F8 */ addiu $sp, $sp, 0xf8 diff --git a/ver/us/asm/nonmatchings/os/nusys/nuSched/nuScExecuteAudio.s b/ver/us/asm/nonmatchings/os/nusys/nuSched/nuScExecuteAudio.s deleted file mode 100644 index 7461e97c2b..0000000000 --- a/ver/us/asm/nonmatchings/os/nusys/nuSched/nuScExecuteAudio.s +++ /dev/null @@ -1,86 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel nuScExecuteAudio -/* 39FE0 8005EBE0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 39FE4 8005EBE4 AFB40028 */ sw $s4, 0x28($sp) -/* 39FE8 8005EBE8 3C14800E */ lui $s4, %hi(D_800DA444) -/* 39FEC 8005EBEC 2694A444 */ addiu $s4, $s4, %lo(D_800DA444) -/* 39FF0 8005EBF0 AFB30024 */ sw $s3, 0x24($sp) -/* 39FF4 8005EBF4 2693066C */ addiu $s3, $s4, 0x66c -/* 39FF8 8005EBF8 AFB5002C */ sw $s5, 0x2c($sp) -/* 39FFC 8005EBFC 269500A8 */ addiu $s5, $s4, 0xa8 -/* 3A000 8005EC00 AFB20020 */ sw $s2, 0x20($sp) -/* 3A004 8005EC04 27B20014 */ addiu $s2, $sp, 0x14 -/* 3A008 8005EC08 AFBF0030 */ sw $ra, 0x30($sp) -/* 3A00C 8005EC0C AFB1001C */ sw $s1, 0x1c($sp) -/* 3A010 8005EC10 AFB00018 */ sw $s0, 0x18($sp) -/* 3A014 8005EC14 0280202D */ daddu $a0, $s4, $zero -.L8005EC18: -/* 3A018 8005EC18 27A50010 */ addiu $a1, $sp, 0x10 -/* 3A01C 8005EC1C 0C0195BC */ jal osRecvMesg -/* 3A020 8005EC20 24060001 */ addiu $a2, $zero, 1 -/* 3A024 8005EC24 3C02800A */ lui $v0, %hi(nuScPreNMIFlag) -/* 3A028 8005EC28 9042A5B0 */ lbu $v0, %lo(nuScPreNMIFlag)($v0) -/* 3A02C 8005EC2C 30420002 */ andi $v0, $v0, 2 -/* 3A030 8005EC30 14400031 */ bnez $v0, .L8005ECF8 -/* 3A034 8005EC34 00000000 */ nop -/* 3A038 8005EC38 0C018634 */ jal osWritebackDCacheAll -/* 3A03C 8005EC3C 0000802D */ daddu $s0, $zero, $zero -/* 3A040 8005EC40 8E910668 */ lw $s1, 0x668($s4) -/* 3A044 8005EC44 1220000B */ beqz $s1, .L8005EC74 -/* 3A048 8005EC48 00000000 */ nop -/* 3A04C 8005EC4C 0C019714 */ jal osSpTaskYield -/* 3A050 8005EC50 24100002 */ addiu $s0, $zero, 2 -/* 3A054 8005EC54 268400A8 */ addiu $a0, $s4, 0xa8 -/* 3A058 8005EC58 27A50014 */ addiu $a1, $sp, 0x14 -/* 3A05C 8005EC5C 0C0195BC */ jal osRecvMesg -/* 3A060 8005EC60 24060001 */ addiu $a2, $zero, 1 -/* 3A064 8005EC64 0C01971C */ jal osSpTaskYielded -/* 3A068 8005EC68 26240010 */ addiu $a0, $s1, 0x10 -/* 3A06C 8005EC6C 54400001 */ bnel $v0, $zero, .L8005EC74 -/* 3A070 8005EC70 24100001 */ addiu $s0, $zero, 1 -.L8005EC74: -/* 3A074 8005EC74 8FA20010 */ lw $v0, 0x10($sp) -/* 3A078 8005EC78 24440010 */ addiu $a0, $v0, 0x10 -/* 3A07C 8005EC7C 0C019684 */ jal osSpTaskLoad -/* 3A080 8005EC80 AE620000 */ sw $v0, ($s3) -/* 3A084 8005EC84 8FA40010 */ lw $a0, 0x10($sp) -/* 3A088 8005EC88 0C019707 */ jal osSpTaskStartGo -/* 3A08C 8005EC8C 24840010 */ addiu $a0, $a0, 0x10 -/* 3A090 8005EC90 02A0202D */ daddu $a0, $s5, $zero -/* 3A094 8005EC94 0240282D */ daddu $a1, $s2, $zero -/* 3A098 8005EC98 0C0195BC */ jal osRecvMesg -/* 3A09C 8005EC9C 24060001 */ addiu $a2, $zero, 1 -/* 3A0A0 8005ECA0 8E620004 */ lw $v0, 4($s3) -/* 3A0A4 8005ECA4 10400005 */ beqz $v0, .L8005ECBC -/* 3A0A8 8005ECA8 AE600000 */ sw $zero, ($s3) -/* 3A0AC 8005ECAC 2664FAAC */ addiu $a0, $s3, -0x554 -/* 3A0B0 8005ECB0 0240282D */ daddu $a1, $s2, $zero -/* 3A0B4 8005ECB4 0C019608 */ jal osSendMesg -/* 3A0B8 8005ECB8 24060001 */ addiu $a2, $zero, 1 -.L8005ECBC: -/* 3A0BC 8005ECBC 24020001 */ addiu $v0, $zero, 1 -/* 3A0C0 8005ECC0 16020008 */ bne $s0, $v0, .L8005ECE4 -/* 3A0C4 8005ECC4 24020002 */ addiu $v0, $zero, 2 -/* 3A0C8 8005ECC8 26300010 */ addiu $s0, $s1, 0x10 -/* 3A0CC 8005ECCC 0C019684 */ jal osSpTaskLoad -/* 3A0D0 8005ECD0 0200202D */ daddu $a0, $s0, $zero -/* 3A0D4 8005ECD4 0C019707 */ jal osSpTaskStartGo -/* 3A0D8 8005ECD8 0200202D */ daddu $a0, $s0, $zero -/* 3A0DC 8005ECDC 08017B3E */ j .L8005ECF8 -/* 3A0E0 8005ECE0 00000000 */ nop -.L8005ECE4: -/* 3A0E4 8005ECE4 16020004 */ bne $s0, $v0, .L8005ECF8 -/* 3A0E8 8005ECE8 02A0202D */ daddu $a0, $s5, $zero -/* 3A0EC 8005ECEC 0240282D */ daddu $a1, $s2, $zero -/* 3A0F0 8005ECF0 0C019608 */ jal osSendMesg -/* 3A0F4 8005ECF4 24060001 */ addiu $a2, $zero, 1 -.L8005ECF8: -/* 3A0F8 8005ECF8 8FA20010 */ lw $v0, 0x10($sp) -/* 3A0FC 8005ECFC 8C440050 */ lw $a0, 0x50($v0) -/* 3A100 8005ED00 8C450054 */ lw $a1, 0x54($v0) -/* 3A104 8005ED04 0C019608 */ jal osSendMesg -/* 3A108 8005ED08 24060001 */ addiu $a2, $zero, 1 -/* 3A10C 8005ED0C 08017B06 */ j .L8005EC18 -/* 3A110 8005ED10 0280202D */ daddu $a0, $s4, $zero diff --git a/ver/us/asm/nonmatchings/os/nusys/nuSched/nuScExecuteGraphics.s b/ver/us/asm/nonmatchings/os/nusys/nuSched/nuScExecuteGraphics.s deleted file mode 100644 index c8890a2c9e..0000000000 --- a/ver/us/asm/nonmatchings/os/nusys/nuSched/nuScExecuteGraphics.s +++ /dev/null @@ -1,78 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel nuScExecuteGraphics -/* 3A114 8005ED14 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 3A118 8005ED18 AFB00018 */ sw $s0, 0x18($sp) -/* 3A11C 8005ED1C 3C10800E */ lui $s0, %hi(D_800DA47C) -/* 3A120 8005ED20 2610A47C */ addiu $s0, $s0, %lo(D_800DA47C) -/* 3A124 8005ED24 AFB1001C */ sw $s1, 0x1c($sp) -/* 3A128 8005ED28 27B10014 */ addiu $s1, $sp, 0x14 -/* 3A12C 8005ED2C AFBF0020 */ sw $ra, 0x20($sp) -/* 3A130 8005ED30 0200202D */ daddu $a0, $s0, $zero -.L8005ED34: -/* 3A134 8005ED34 27A50010 */ addiu $a1, $sp, 0x10 -/* 3A138 8005ED38 0C0195BC */ jal osRecvMesg -/* 3A13C 8005ED3C 24060001 */ addiu $a2, $zero, 1 -/* 3A140 8005ED40 3C02800A */ lui $v0, %hi(nuScPreNMIFlag) -/* 3A144 8005ED44 9042A5B0 */ lbu $v0, %lo(nuScPreNMIFlag)($v0) -/* 3A148 8005ED48 30420002 */ andi $v0, $v0, 2 -/* 3A14C 8005ED4C 14400032 */ bnez $v0, .L8005EE18 -/* 3A150 8005ED50 00000000 */ nop -/* 3A154 8005ED54 0C017C48 */ jal nuScWaitTaskReady -/* 3A158 8005ED58 8FA40010 */ lw $a0, 0x10($sp) -/* 3A15C 8005ED5C 0C018250 */ jal osSetIntMask -/* 3A160 8005ED60 24040001 */ addiu $a0, $zero, 1 -/* 3A164 8005ED64 8E030634 */ lw $v1, 0x634($s0) -/* 3A168 8005ED68 1060000C */ beqz $v1, .L8005ED9C -/* 3A16C 8005ED6C 0040202D */ daddu $a0, $v0, $zero -/* 3A170 8005ED70 8FA20010 */ lw $v0, 0x10($sp) -/* 3A174 8005ED74 0C018250 */ jal osSetIntMask -/* 3A178 8005ED78 AE020638 */ sw $v0, 0x638($s0) -/* 3A17C 8005ED7C 260400E0 */ addiu $a0, $s0, 0xe0 -/* 3A180 8005ED80 27A50014 */ addiu $a1, $sp, 0x14 -/* 3A184 8005ED84 0C0195BC */ jal osRecvMesg -/* 3A188 8005ED88 24060001 */ addiu $a2, $zero, 1 -/* 3A18C 8005ED8C 0C018250 */ jal osSetIntMask -/* 3A190 8005ED90 24040001 */ addiu $a0, $zero, 1 -/* 3A194 8005ED94 0040202D */ daddu $a0, $v0, $zero -/* 3A198 8005ED98 AE000638 */ sw $zero, 0x638($s0) -.L8005ED9C: -/* 3A19C 8005ED9C 0C018250 */ jal osSetIntMask -/* 3A1A0 8005EDA0 00000000 */ nop -/* 3A1A4 8005EDA4 0C018250 */ jal osSetIntMask -/* 3A1A8 8005EDA8 24040001 */ addiu $a0, $zero, 1 -/* 3A1AC 8005EDAC 8FA30010 */ lw $v1, 0x10($sp) -/* 3A1B0 8005EDB0 0040202D */ daddu $a0, $v0, $zero -/* 3A1B4 8005EDB4 0C018250 */ jal osSetIntMask -/* 3A1B8 8005EDB8 AE030630 */ sw $v1, 0x630($s0) -/* 3A1BC 8005EDBC 8FA40010 */ lw $a0, 0x10($sp) -/* 3A1C0 8005EDC0 0C019684 */ jal osSpTaskLoad -/* 3A1C4 8005EDC4 24840010 */ addiu $a0, $a0, 0x10 -/* 3A1C8 8005EDC8 8FA40010 */ lw $a0, 0x10($sp) -/* 3A1CC 8005EDCC 0C019707 */ jal osSpTaskStartGo -/* 3A1D0 8005EDD0 24840010 */ addiu $a0, $a0, 0x10 -/* 3A1D4 8005EDD4 26040070 */ addiu $a0, $s0, 0x70 -/* 3A1D8 8005EDD8 0220282D */ daddu $a1, $s1, $zero -/* 3A1DC 8005EDDC 0C0195BC */ jal osRecvMesg -/* 3A1E0 8005EDE0 24060001 */ addiu $a2, $zero, 1 -/* 3A1E4 8005EDE4 0C018250 */ jal osSetIntMask -/* 3A1E8 8005EDE8 24040001 */ addiu $a0, $zero, 1 -/* 3A1EC 8005EDEC 0040202D */ daddu $a0, $v0, $zero -/* 3A1F0 8005EDF0 0C018250 */ jal osSetIntMask -/* 3A1F4 8005EDF4 AE000630 */ sw $zero, 0x630($s0) -/* 3A1F8 8005EDF8 8FA20010 */ lw $v0, 0x10($sp) -/* 3A1FC 8005EDFC 8C420008 */ lw $v0, 8($v0) -/* 3A200 8005EE00 30420002 */ andi $v0, $v0, 2 -/* 3A204 8005EE04 14400004 */ bnez $v0, .L8005EE18 -/* 3A208 8005EE08 260400A8 */ addiu $a0, $s0, 0xa8 -/* 3A20C 8005EE0C 0220282D */ daddu $a1, $s1, $zero -/* 3A210 8005EE10 0C0195BC */ jal osRecvMesg -/* 3A214 8005EE14 24060001 */ addiu $a2, $zero, 1 -.L8005EE18: -/* 3A218 8005EE18 8FA50010 */ lw $a1, 0x10($sp) -/* 3A21C 8005EE1C 8CA40050 */ lw $a0, 0x50($a1) -/* 3A220 8005EE20 0C019608 */ jal osSendMesg -/* 3A224 8005EE24 24060001 */ addiu $a2, $zero, 1 -/* 3A228 8005EE28 08017B4D */ j .L8005ED34 -/* 3A22C 8005EE2C 0200202D */ daddu $a0, $s0, $zero diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index 4365485c81..9d12ba7711 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -357,7 +357,7 @@ segments: - [0x6FA30, .data, os/seteventmesg] - [0x6FA40, .data, os/siacs] - [0x6FA50, .data, os/setthreadpri] - - [0x6FA70, .data, os/timerintr] # libultra data + - [0x6FA70, .data, os/timerintr] - [auto, .data, os/vimgr] - [auto, .data, os/vitbl] - [auto, .data, os/guRotate]