model functions (#910)

* matched appendGfx_model

* 3 more

* fog modes

* cleaning

* fix

* fixed macro name

* FogModes enum

* extra tile enum renamed
This commit is contained in:
Unnunu 2023-01-13 10:56:28 +03:00 committed by GitHub
parent eb7ed118a6
commit 2f79b35772
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
52 changed files with 1061 additions and 3146 deletions

View File

@ -981,7 +981,7 @@ typedef struct TextureHeader {
/* 0x22 */ u16 mainW;
/* 0x24 */ u16 auxH;
/* 0x26 */ u16 mainH;
/* 0x28 */ char unk_28;
/* 0x28 */ u8 unk_28;
/* 0x29 */ u8 extraTiles; // 0 - none, 1 - mipmap, 2 - ?, 3 - use aux tile
/* 0x2A */ u8 colorCombineType : 6;
/* 0x2A */ u8 colorCombineSubType : 2;

View File

@ -4334,7 +4334,7 @@ enum BattleSubStates {
BTL_SUBSTATE_CHANGE_PARTNER_UNK_5 = 5,
BTL_SUBSTATE_CHANGE_PARTNER_UNK_6 = 6,
BTL_SUBSTATE_CHANGE_PARTNER_UNK_7 = 7,
// BATTLE_STATE_END_TRAINING_BATTLE
BTL_SUBSTATE_END_TRAINING_UNK_0 = 0,
BTL_SUBSTATE_END_TRAINING_UNK_A = 10,
@ -6218,11 +6218,11 @@ enum BackgroundFlags {
BACKGROUND_RENDER_STATE_MASK = 0xF0,
};
enum BackgroundRenderTypes {
BACKGROUND_RENDER_TYPE_0 = 0,
BACKGROUND_RENDER_TYPE_1 = 1,
BACKGROUND_RENDER_TYPE_2 = 2,
BACKGROUND_RENDER_TYPE_3 = 3,
enum FogModes {
FOG_MODE_0 = 0,
FOG_MODE_1 = 1,
FOG_MODE_2 = 2,
FOG_MODE_3 = 3,
};
enum EncounterStates {

View File

@ -448,7 +448,7 @@ void set_peach_shadow_scale(Shadow* shadow, f32 scale);
s32 is_block_on_ground(Entity* block);
void set_animation(s32 actorID, s32, s32 animationIndex);
void set_animation_rate(s32 actorID, s32 partIndex, f32 rate);
void func_8011B7C0(u16, s32, s32);
void set_model_flags(u16, s32, s32);
void init_enter_world_shared(void);
s16 update_enter_map_screen_overlay(s16* progress);
s32 update_exit_map_screen_overlay(s16* progress);

View File

@ -99,7 +99,7 @@ typedef ModelLocalVertexCopy* ModelLocalVertexCopyList[16];
typedef struct ModelTreeInfo {
/* 0x00 */ u8 modelIndex;
/* 0x01 */ u8 treeDepth;
/* 0x02 */ s8 textureID;
/* 0x02 */ u8 textureID;
/* 0x03 */ char unk_03;
} ModelTreeInfo; // size = 0x04
@ -142,6 +142,14 @@ typedef enum ShapeTypes {
SHAPE_TYPE_SPECIAL_GROUP = 10,
} ShapeTypes;
typedef enum ExtraTileTypes {
EXTRA_TILE_NONE = 0,
EXTRA_TILE_MIPMAPS = 1,
EXTRA_TILE_AUX_SAME_AS_MAIN = 2,
EXTRA_TILE_AUX_INDEPENDENT = 3,
EXTRA_TILE_4 = 4,
} ExtraTileTypes;
typedef struct ShapeFile {
/* 0x00 */ ModelNode* root;
/* 0x04 */ Vtx_t* vertexTable;
@ -165,6 +173,8 @@ void init_model_data(void);
void update_model_animator(s32);
void update_model_animator_with_transform(s32 animatorID, Mtx* mtx);
void set_mdl_custom_gfx_set(Model*, s32, u32);
ModelNodeProperty* get_model_property(ModelNode* node, ModelPropertyKeys key);
void func_80115498(u32 romOffset, s32 textureID, s32 baseOffset, s32 size);
s32 step_model_animator(ModelAnimator* animator);
AnimatorNode* get_animator_node_for_tree_index(ModelAnimator* animator, s32 treeIndex);
AnimatorNode* get_animator_node_with_id(ModelAnimator* animator, s32 id);

View File

@ -56,7 +56,7 @@ extern CollisionData gCollisionData;
extern s8 D_800A0900;
extern f32 GravityParamsStartFall[];
extern s16 FootstepSoundSelector;
extern u8* gBgRenderTypePtr;
extern u8* gBackgroundFogModePtr;
extern u16 D_80151308;
extern s32 gEntityHideMode;

View File

@ -624,8 +624,8 @@ void btl_state_update_celebration(void) {
LevelUpScriptID = LevelUpScriptPtr->id;
CelebrateSubstateTime = 25;
gBattleSubState = BTL_SUBSTATE_CELEBRATE_LEVEL_UP_CREATE_HUD;
mdl_set_all_fog_mode(1);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_1;
mdl_set_all_fog_mode(FOG_MODE_1);
*gBackgroundFogModePtr = FOG_MODE_1;
set_background_color_blend(0, 0, 0, 0);
break;
case BTL_SUBSTATE_CELEBRATE_LEVEL_UP_CREATE_HUD:

View File

@ -217,8 +217,8 @@ ApiStatus N(GiveRefundCleanup)(Evt* script, s32 isInitialCall) {
ApiStatus func_802610CC(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
mdl_set_all_fog_mode(1);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_1;
mdl_set_all_fog_mode(FOG_MODE_1);
*gBackgroundFogModePtr = FOG_MODE_1;
set_background_color_blend(0, 0, 0, 0);
script->functionTemp[0] = 20;
}
@ -324,8 +324,8 @@ ApiStatus PlayBattleMerleeOrbFX(Evt* script, s32 isInitialCall) {
ApiStatus BattleMerleeFadeStageToBlack(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
mdl_set_all_fog_mode(1);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_1;
mdl_set_all_fog_mode(FOG_MODE_1);
*gBackgroundFogModePtr = FOG_MODE_1;
set_background_color_blend(0, 0, 0, 0);
script->functionTemp[0] = 25;
}

File diff suppressed because it is too large Load Diff

View File

@ -1351,13 +1351,13 @@ EvtScript N(handleEvent_8021E6F0) = {
EVT_CASE_OR_EQ(EVENT_BURN_DEATH)
EVT_CALL(func_8027D32C, ACTOR_SELF)
EVT_IF_EQ(LVar0, EVENT_BURN_DEATH)
EVT_CALL(N(UnkFunc27), 0, EVT_PTR(N(D_8021A8FC_48BAEC)), 3)
EVT_CALL(N(UnkFunc27), 0, EVT_PTR(N(D_8021A8FC_48BAEC)), FOG_MODE_3)
EVT_CALL(N(UnkFunc26), 3, 35, 35, 35, 0, 0, 0, 0, 0, 0)
EVT_END_IF
EVT_SET(ArrayVar(0), 2)
EVT_WAIT(20)
EVT_IF_EQ(LVar0, EVENT_BURN_DEATH)
EVT_CALL(N(UnkFunc27), 0, EVT_PTR(N(D_8021A8FC_48BAEC)), 0)
EVT_CALL(N(UnkFunc27), 0, EVT_PTR(N(D_8021A8FC_48BAEC)), FOG_MODE_0)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(GetActorSize, ACTOR_SELF, LVar3, LVar4)
EVT_DIVF(LVar3, EVT_FLOAT(2.0))
@ -1385,12 +1385,12 @@ EvtScript N(handleEvent_8021E6F0) = {
EVT_END_CASE_GROUP
EVT_CASE_OR_EQ(EVENT_BURN_CONTACT)
EVT_CASE_OR_EQ(EVENT_BURN_HIT)
EVT_CALL(N(UnkFunc27), 0, EVT_PTR(N(D_8021A8FC_48BAEC)), 3)
EVT_CALL(N(UnkFunc27), 0, EVT_PTR(N(D_8021A8FC_48BAEC)), FOG_MODE_3)
EVT_CALL(N(UnkFunc26), 3, 35, 35, 35, 0, 0, 0, 0, 0, 0)
EVT_SET(ArrayVar(0), 2)
EVT_WAIT(20)
EVT_SET(ArrayVar(0), 0)
EVT_CALL(N(UnkFunc27), 0, EVT_PTR(N(D_8021A8FC_48BAEC)), 0)
EVT_CALL(N(UnkFunc27), 0, EVT_PTR(N(D_8021A8FC_48BAEC)), FOG_MODE_0)
EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2)
EVT_CALL(GetActorSize, ACTOR_SELF, LVar3, LVar4)
EVT_DIVF(LVar3, EVT_FLOAT(2.0))

View File

@ -35,8 +35,8 @@ ApiStatus N(func_802A1444_71DBB4)(Evt* script, s32 isInitialCall) {
s32 ret;
if (isInitialCall) {
mdl_set_all_fog_mode(1);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_1;
mdl_set_all_fog_mode(FOG_MODE_1);
*gBackgroundFogModePtr = FOG_MODE_1;
set_background_color_blend(0, 0, 0, 0);
script->functionTemp[0] = 10;
}

View File

@ -13,8 +13,8 @@ extern EntityModelScript D_80283EE8;
ApiStatus func_802A1518_7957F8(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
mdl_set_all_fog_mode(1);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_1;
mdl_set_all_fog_mode(FOG_MODE_1);
*gBackgroundFogModePtr = FOG_MODE_1;
set_background_color_blend(0, 0, 0, 0);
script->functionTemp[0] = 200;
}

View File

@ -4,8 +4,8 @@
ApiStatus N(FadeBackgroundToBlack)(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
mdl_set_all_fog_mode(1);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_1;
mdl_set_all_fog_mode(FOG_MODE_1);
*gBackgroundFogModePtr = FOG_MODE_1;
set_background_color_blend(0, 0, 0, 0);
script->functionTemp[0] = 20;
}

View File

@ -3,8 +3,8 @@
ApiStatus N(UnkBackgroundFunc2)(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
mdl_set_all_fog_mode(1);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_1;
mdl_set_all_fog_mode(FOG_MODE_1);
*gBackgroundFogModePtr = FOG_MODE_1;
set_background_color_blend(0, 0, 0, 0);
script->functionTemp[0] = 0;
}

View File

@ -2,8 +2,8 @@
#include "model.h"
ApiStatus N(UnkBackgroundFunc3)(Evt* script, s32 isInitialCall) {
mdl_set_all_fog_mode(1);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_1;
mdl_set_all_fog_mode(FOG_MODE_1);
*gBackgroundFogModePtr = FOG_MODE_1;
set_background_color_blend(0, 0, 0, 0);
return ApiStatus_DONE2;
}

View File

@ -89,16 +89,16 @@ void appendGfx_background_texture(void) {
fogA = gGameStatusPtr->backgroundDarkness;
}
switch (*gBgRenderTypePtr) {
case BACKGROUND_RENDER_TYPE_0:
case BACKGROUND_RENDER_TYPE_1:
switch (*gBackgroundFogModePtr) {
case FOG_MODE_0:
case FOG_MODE_1:
get_background_color_blend(&r1, &g1, &b1, &a1);
if (a1 != 0) {
flags |= 2;
}
break;
case BACKGROUND_RENDER_TYPE_2:
case BACKGROUND_RENDER_TYPE_3:
case FOG_MODE_2:
case FOG_MODE_3:
default:
get_model_env_color_parameters(&r1, &g1, &b1, &r2, &g2, &b2);
if (!(r1 == 255 && g1 == 255 && b1 == 255 && r2 == 0 && g2 == 0 && b2 == 0)) {
@ -134,9 +134,9 @@ void appendGfx_background_texture(void) {
}
if (gGameStatusPtr->backgroundFlags & BACKGROUND_FLAG_FOG) {
switch (*gBgRenderTypePtr) {
case BACKGROUND_RENDER_TYPE_0:
case BACKGROUND_RENDER_TYPE_1:
switch (*gBackgroundFogModePtr) {
case FOG_MODE_0:
case FOG_MODE_1:
if (fogA == 255) {
for (i = 0; i < ARRAY_COUNT(gBackgroundPalette); i++) {
gBackgroundPalette[i] = 1;
@ -151,8 +151,8 @@ void appendGfx_background_texture(void) {
}
}
break;
case BACKGROUND_RENDER_TYPE_2:
case BACKGROUND_RENDER_TYPE_3:
case FOG_MODE_2:
case FOG_MODE_3:
default:
for (i = 0; i < ARRAY_COUNT(gBackgroundPalette); i++) {
u16 palColor = gGameStatusPtr->backgroundPalette[i];

View File

@ -157,7 +157,7 @@ void floating_flower_appendGfx(void* effect) {
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
if (*gBgRenderTypePtr == BACKGROUND_RENDER_TYPE_1) {
if (*gBackgroundFogModePtr == FOG_MODE_1) {
shim_get_background_color_blend(&rgb, &rgb, &rgb, &a);
alpha -= a;
}

View File

@ -177,7 +177,7 @@ void snowfall_appendGfx(void* effect) {
bgAlpha = 255;
unk_2C = data->unk_2C;
dlist = D_E008AA50[data->unk_04];
if (*gBgRenderTypePtr == 1) {
if (*gBackgroundFogModePtr == 1) {
shim_get_background_color_blend(&bgRGB, &bgRGB, &bgRGB, &bgAlpha);
unk_28 = 255 - bgAlpha;
}
@ -193,14 +193,14 @@ void snowfall_appendGfx(void* effect) {
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
mtx = &gDisplayContext->matrixStack[gMatrixListPos++];
data++;
for (i = 0; i < unk_2C; i++, data++) {
if (data->unk_30 <= 0 && data->unk_28 != 0) {
shim_guTranslateF(sp18, data->unk_08, data->unk_0C, data->unk_10);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++],
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++],
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, mtx,
G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);

View File

@ -237,8 +237,8 @@ ApiStatus ShowMerleeRanOutMessage(Evt* script, s32 isInitialCall) {
ApiStatus FadeBackgroundToBlack(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
mdl_set_all_fog_mode(1);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_1;
mdl_set_all_fog_mode(FOG_MODE_1);
*gBackgroundFogModePtr = FOG_MODE_1;
set_background_color_blend(0, 0, 0, 0);
script->functionTemp[0] = 25;
}

View File

@ -210,7 +210,7 @@ ApiStatus SetGroupEnabled(Evt* script, s32 isInitialCall) {
Bytecode var1 = evt_get_variable(script, *args++);
Bytecode var2 = evt_get_variable(script, *args++);
func_8011B7C0(var1, 2, var2);
set_model_flags(var1, MODEL_FLAG_ENABLED, var2);
return ApiStatus_DONE2;
}

View File

@ -31,8 +31,8 @@ EvtScript N(EVS_Scene_RuinsRising) = {
EVT_CALL(SetPanTarget, CAM_DEFAULT, 175, 0, -201)
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_CALL(N(UnkFunc27), 2, 0, 3)
EVT_CALL(N(UnkFunc27), 1, -1, 3)
EVT_CALL(N(UnkFunc27), 2, 0, FOG_MODE_3)
EVT_CALL(N(UnkFunc27), 1, -1, FOG_MODE_3)
EVT_CALL(N(UnkFunc26), 3, 44, 32, 177, 0, 0, 0, 0, 0, 0)
EVT_CALL(DisablePlayerInput, TRUE)
EVT_THREAD

View File

@ -26,8 +26,8 @@ EvtScript N(EVS_EnterMap) = {
EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(13.0), EVT_FLOAT(-10.0))
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_CALL(N(UnkFunc27), 2, 0, 3)
EVT_CALL(N(UnkFunc27), 1, -1, 3)
EVT_CALL(N(UnkFunc27), 2, 0, FOG_MODE_3)
EVT_CALL(N(UnkFunc27), 1, -1, FOG_MODE_3)
EVT_CALL(N(UnkFunc26), 3, 44, 32, 177, 0, 0, 0, 0, 0, 0)
EVT_CALL(DisablePlayerInput, TRUE)
EVT_THREAD

View File

@ -112,8 +112,8 @@ API_CALLABLE(N(DarkenWorld)) {
s32 i;
if (isInitialCall) {
mdl_set_all_fog_mode(1);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_1;
mdl_set_all_fog_mode(FOG_MODE_1);
*gBackgroundFogModePtr = FOG_MODE_1;
set_background_color_blend(0, 0, 0, 0);
for (i = 0; i < MAX_NPCS; i++) {
@ -151,8 +151,8 @@ API_CALLABLE(N(UndarkenWorld)) {
if (script->functionTemp[0] == 0 && script->functionTemp[1] == 0) {
script->functionTemp[1] = 1;
} else if (script->functionTemp[1] == 1) {
mdl_set_all_fog_mode(0);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_0;
mdl_set_all_fog_mode(FOG_MODE_0);
*gBackgroundFogModePtr = FOG_MODE_0;
for (i = 0; i < MAX_NPCS; i++) {
Npc* npc = get_npc_by_index(i);

View File

@ -32,7 +32,7 @@ EvtScript N(EVS_TexPan_ShyGuyFloat_Top) = {
s32 N(ShyGuyFloat_InteriorModels)[] = {
MODEL_omo7, MODEL_omo9, MODEL_omo10, MODEL_omo11,
MODEL_omo12, MODEL_omo13, MODEL_omo14, 0x0000FFFF
MODEL_omo12, MODEL_omo13, MODEL_omo14, 0x0000FFFF
};
EvtScript N(EVS_ShyGuyFloat_Open) = {
@ -58,7 +58,7 @@ EvtScript N(EVS_ShyGuyFloat_Open) = {
EVT_END_IF
EVT_END_LOOP
EVT_END_THREAD
EVT_CALL(N(UnkFunc27), 0, EVT_PTR(N(ShyGuyFloat_InteriorModels)), 3)
EVT_CALL(N(UnkFunc27), 0, EVT_PTR(N(ShyGuyFloat_InteriorModels)), FOG_MODE_3)
EVT_CALL(N(UnkFunc26), 3, 255, 255, 255, 120, 120, 80, 0, 0, 0)
EVT_WAIT(30)
EVT_CALL(N(UnkFunc26), 3, 255, 255, 255, 0, 0, 0, 0, 0, 0)

View File

@ -211,7 +211,7 @@ ApiStatus func_80240DF8_A2B038(Evt* script, s32 isInitialCall) {
}
ApiStatus func_80240E30_A2B070(Evt* script, s32 isInitialCall) {
mdl_set_all_fog_mode(3);
mdl_set_all_fog_mode(FOG_MODE_3);
return ApiStatus_DONE2;
}

View File

@ -268,13 +268,13 @@ ApiStatus func_802418A4_A3AD84(Evt* script, s32 isInitialCall) {
ApiStatus func_802418E8_A3ADC8(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x79)), -1, 3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7A)), -1, 3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7B)), -1, 3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7C)), -1, 3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7D)), -1, 3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7F)), -1, 3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0xD0)), -1, 3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x79)), -1, FOG_MODE_3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7A)), -1, FOG_MODE_3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7B)), -1, FOG_MODE_3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7C)), -1, FOG_MODE_3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7D)), -1, FOG_MODE_3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7F)), -1, FOG_MODE_3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0xD0)), -1, FOG_MODE_3);
set_model_env_color_parameters(255, 255, 255, 0, 0, 0);
script->functionTemp[0] = 255;
}
@ -340,13 +340,13 @@ ApiStatus func_80241B74_A3B054(Evt* script, s32 isInitialCall) {
set_model_env_color_parameters(script->functionTemp[0], script->functionTemp[0], script->functionTemp[0], 0, 0, 0);
if (script->functionTemp[0] == 255) {
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x79)), -1, 0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7A)), -1, 0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7B)), -1, 0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7C)), -1, 0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7D)), -1, 0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7F)), -1, 0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0xD0)), -1, 0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x79)), -1, FOG_MODE_0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7A)), -1, FOG_MODE_0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7B)), -1, FOG_MODE_0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7C)), -1, FOG_MODE_0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7D)), -1, FOG_MODE_0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0x7F)), -1, FOG_MODE_0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(0xD0)), -1, FOG_MODE_0);
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;

View File

@ -5,8 +5,8 @@
EvtScript N(EVS_Scene_TutankoopaAppears) = {
EVT_CALL(DisablePlayerInput, TRUE)
EVT_CALL(DisablePartnerAI, 0)
EVT_CALL(N(UnkFunc27), 0, -1, 1)
EVT_CALL(N(UnkFunc27), 2, 0, 1)
EVT_CALL(N(UnkFunc27), 0, -1, FOG_MODE_1)
EVT_CALL(N(UnkFunc27), 2, 0, FOG_MODE_1)
EVT_CALL(N(UnkFunc26), 1, 0, 0, 0, 255, 0, 0, 0, 0, 0)
EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 410, -910, 410)
EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(300.0))

View File

@ -17,12 +17,12 @@ ApiStatus func_80240360_B2C7D0(Evt* script, s32 isInitialCall) {
if (D_80242BD8_B2F048 != 0) {
if (currentFloor == COLLIDER_o327 || currentFloor == COLLIDER_o330) {
func_8011B7C0(MODEL_g70, 2, 0);
set_model_flags(MODEL_g70, MODEL_FLAG_ENABLED, 0);
D_80242BD8_B2F048 = 0;
}
} else {
if (currentFloor == COLLIDER_o319 || currentFloor == COLLIDER_o316) {
func_8011B7C0(MODEL_g70, 2, 1);
set_model_flags(MODEL_g70, MODEL_FLAG_ENABLED, 1);
D_80242BD8_B2F048 = 1;
}
}

View File

@ -43,8 +43,8 @@ API_CALLABLE(N(func_80240000_8ABF90)) {
}
API_CALLABLE(N(func_80240388_8AC318)) {
mdl_set_all_fog_mode(3);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_3;
mdl_set_all_fog_mode(FOG_MODE_3);
*gBackgroundFogModePtr = FOG_MODE_3;
return ApiStatus_DONE2;
}

View File

@ -1322,7 +1322,7 @@ EvtScript N(EVS_NpcAux_Kammy) = {
s32 N(KammyHoverOffsets)[] = {
1, 2, 3, 2, 1,
-1, -2, -3, -2, -1,
-1, -2, -3, -2, -1,
};
EvtScript N(EVS_NpcIdle_Kammy) = {
@ -1393,7 +1393,7 @@ INCLUDE_ASM(s32, "world/area_kmr/kmr_02/8B0070", func_8024295C_8B29CC);
#endif
API_CALLABLE(N(func_80242BA8_8B2C18)) {
*gBgRenderTypePtr = 1;
*gBackgroundFogModePtr = 1;
return ApiStatus_DONE2;
}
@ -1436,7 +1436,7 @@ API_CALLABLE(N(func_80242BC0_8B2C30)) {
}
API_CALLABLE(N(func_80242F08_8B2F78)) {
mdl_set_all_fog_mode(3);
mdl_set_all_fog_mode(FOG_MODE_3);
return ApiStatus_DONE2;
}

View File

@ -11,7 +11,7 @@ API_CALLABLE(N(AdjustFog)) {
s32 duration;
s32 mode;
s32 i;
modelIDs = (ModelIDList*) evt_get_variable(script, *args++);
colR = evt_get_variable(script, *args++);
colG = evt_get_variable(script, *args++);
@ -19,19 +19,19 @@ API_CALLABLE(N(AdjustFog)) {
duration = evt_get_variable(script, *args++);
mode = evt_get_variable(script, *args++);
iterList = modelIDs;
if (isInitialCall) {
for (i = 0; i < iterList->count; i++) {
s32 treeIndex = get_model_list_index_from_tree_index(iterList->list[i]);
Model* mdl = get_model_from_list_index(treeIndex);
set_mdl_custom_gfx_set(mdl, -1, 3);
set_mdl_custom_gfx_set(mdl, -1, FOG_MODE_3);
if (mode) {
mdl->flags &= ~MODEL_FLAG_ENABLED;
}
}
script->functionTemp[0] = duration;
}
if (mode) {
set_background_color_blend(colR, colG, colB,
(script->functionTemp[0] * 255) / duration);
@ -39,13 +39,13 @@ API_CALLABLE(N(AdjustFog)) {
set_background_color_blend(colR, colG, colB,
255 - ((script->functionTemp[0] * 255) / duration));
}
script->functionTemp[0]--;
if (script->functionTemp[0] < 0) {
for (i = 0; i < iterList->count; i++) {
s32 treeIndex = get_model_list_index_from_tree_index(iterList->list[i]);
Model* mdl = get_model_from_list_index(treeIndex);
set_mdl_custom_gfx_set(mdl, -1, 0);
set_mdl_custom_gfx_set(mdl, -1, FOG_MODE_0);
if (!mode) {
mdl->flags |= MODEL_FLAG_ENABLED;
}

View File

@ -3,7 +3,7 @@ s32 N(DojoBattleIDs)[] = {
BTL_MAC_FORMATION_01,
BTL_MAC_FORMATION_02,
BTL_MAC_FORMATION_03,
BTL_MAC_FORMATION_04
BTL_MAC_FORMATION_04
};
ApiStatus N(SetDojoBattle)(Evt* script, s32 isInitialCall) {
@ -15,7 +15,7 @@ ApiStatus N(SetDojoBattle)(Evt* script, s32 isInitialCall) {
}
API_CALLABLE(N(ResetBackgroundPostBattle)) {
func_8011B950(MODEL_minka_1, -1, 1, 1);
func_8011B950(MODEL_minka_1, -1, FOG_MODE_1, 1);
set_background_color_blend(0, 0, 0, 255);
gCameras[CAM_DEFAULT].bgColor[0] = 0;
gCameras[CAM_DEFAULT].bgColor[1] = 0;

View File

@ -260,7 +260,7 @@ API_CALLABLE(N(func_802448A0_805120)) {
if (isInitialCall) {
if (script->varTable[0] == 0) {
func_8011B950(script->varTable[15], -1, 1, 1);
func_8011B950(script->varTable[15], -1, FOG_MODE_1, 1);
}
script->functionTemp[0] = 0;
}
@ -283,7 +283,7 @@ API_CALLABLE(N(func_802448A0_805120)) {
if (script->functionTemp[0] >= 255) {
if (script->varTable[0] == 3) {
func_8011B950(script->varTable[15], -1, 0, 1);
func_8011B950(script->varTable[15], -1, FOG_MODE_0, 1);
}
return ApiStatus_DONE2;
}

View File

@ -1,8 +1,8 @@
API_CALLABLE(N(func_802440FC_80497C)) {
if (isInitialCall) {
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o283)), -1, 3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o279)), -1, 3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_dr_yuka)), -1, 3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o283)), -1, FOG_MODE_3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o279)), -1, FOG_MODE_3);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_dr_yuka)), -1, FOG_MODE_3);
set_model_env_color_parameters(255, 255, 255, 0, 0, 0);
script->functionTemp[0] = 255;
}
@ -65,9 +65,9 @@ API_CALLABLE(N(func_80244308_804B88)) {
}
set_model_env_color_parameters(script->functionTemp[0], script->functionTemp[0], script->functionTemp[0], 0, 0, 0);
if (script->functionTemp[0] == 255) {
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o283)), -1, 0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o279)), -1, 0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_dr_yuka)), -1, 0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o283)), -1, FOG_MODE_0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_o279)), -1, FOG_MODE_0);
set_mdl_custom_gfx_set(get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_dr_yuka)), -1, FOG_MODE_0);
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;

View File

@ -5,7 +5,7 @@ API_CALLABLE(N(InitEntryFromTunnels)) {
Npc* npc;
s32 i;
func_8011B950(MODEL_souko, -1, 1, 1);
func_8011B950(MODEL_souko, -1, FOG_MODE_1, 1);
set_background_color_blend(0, 0, 0, 255);
gCameras[CAM_DEFAULT].bgColor[0] = 0;
gCameras[CAM_DEFAULT].bgColor[1] = 0;

View File

@ -18,7 +18,7 @@ API_CALLABLE(N(SetNightFogParams)) {
}
API_CALLABLE(N(SetNightFogMode)) {
mdl_set_all_fog_mode(3);
mdl_set_all_fog_mode(FOG_MODE_3);
return ApiStatus_DONE2;
}

View File

@ -3,7 +3,7 @@
s32 set_background_color_blend(s32, s32, s32, s32);
API_CALLABLE(N(InitEntryFromToybox)) {
func_8011B950(MODEL_heiho_house, -1, 1, 1);
func_8011B950(MODEL_heiho_house, -1, FOG_MODE_1, 1);
set_background_color_blend(0, 0, 0, 255);
gCameras[CAM_DEFAULT].bgColor[0] = 0;
gCameras[CAM_DEFAULT].bgColor[1] = 0;

View File

@ -31,7 +31,7 @@ API_CALLABLE(N(func_802406E0_AACF10)) {
dma_copy(romStart + (s32)rasterOffset, romStart + (s32)rasterOffset + sizeof(N(PeachLetterImg)), &N(PeachLetterImg));
dma_copy(romStart + (s32)paletteOffset, romStart + (s32)paletteOffset + sizeof(N(PeachLetterPal)), &N(PeachLetterPal));
N(MsgImage).raster = N(PeachLetterImg);
N(MsgImage).palette = N(PeachLetterPal);
N(MsgImage).width = charset_peach_letter_png_width;
@ -50,8 +50,8 @@ EvtScript N(EVS_Scene_ShowInvitation) = {
EVT_CALL(SetCamDistance, CAM_DEFAULT, 775)
EVT_CALL(SetCamPitch, CAM_DEFAULT, 20, -19)
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_CALL(N(UnkFunc27), 2, 0, 3)
EVT_CALL(N(UnkFunc27), 1, -1, 3)
EVT_CALL(N(UnkFunc27), 2, 0, FOG_MODE_3)
EVT_CALL(N(UnkFunc27), 1, -1, FOG_MODE_3)
EVT_CALL(N(func_80240678_AACEA8), 200, 200, 200, 40, 40, 40)
EVT_CALL(N(func_802406E0_AACF10))
EVT_WAIT(15)

View File

@ -75,7 +75,7 @@ ApiStatus func_80242538_D223C8(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
if (script->varTable[0] == 0) {
func_8011B950(script->varTable[15], -1, 1, 1);
func_8011B950(script->varTable[15], -1, FOG_MODE_1, 1);
}
script->functionTemp[0] = 0;
}
@ -98,7 +98,7 @@ ApiStatus func_80242538_D223C8(Evt* script, s32 isInitialCall) {
if (script->functionTemp[0] >= 255) {
if (script->varTable[0] == 3) {
func_8011B950(script->varTable[15], -1, 0, 1);
func_8011B950(script->varTable[15], -1, FOG_MODE_0, 1);
}
return ApiStatus_DONE2;
}

View File

@ -12,7 +12,7 @@ ApiStatus func_80240360_D3A930(Evt* script, s32 isInitialCall) {
s32 temp_a2;
if (isInitialCall) {
func_8011B950(script->varTable[1], -1, 1, 1);
func_8011B950(script->varTable[1], -1, FOG_MODE_1, 1);
script->functionTemp[0] = 0;
get_background_color_blend(&r, &g, &b, &a);
if ((script->varTable[0] == 0 && a == 255) || (script->varTable[0] == 1 && a == 0)) {
@ -40,7 +40,7 @@ ApiStatus func_80240360_D3A930(Evt* script, s32 isInitialCall) {
gCameras[CAM_DEFAULT].bgColor[2] = b;
if (script->functionTemp[0] >= 255) {
if (script->varTable[0] == 1) {
func_8011B950(script->varTable[1], -1, 0, 1);
func_8011B950(script->varTable[1], -1, FOG_MODE_0, 1);
}
return ApiStatus_DONE2;

View File

@ -93,10 +93,10 @@ s32 N(ModelList_Translucent)[] = {
};
EvtScript N(EVS_DarkenEnvironment) = {
EVT_CALL(N(UnkFunc27), 2, 0, 3)
EVT_CALL(N(UnkFunc27), 1, -1, 3)
EVT_CALL(N(UnkFunc27), 1, EVT_PTR(N(ModelList_Solid)), 0)
EVT_CALL(N(UnkFunc27), 0, EVT_PTR(N(ModelList_Translucent)), 0)
EVT_CALL(N(UnkFunc27), 2, 0, FOG_MODE_3)
EVT_CALL(N(UnkFunc27), 1, -1, FOG_MODE_3)
EVT_CALL(N(UnkFunc27), 1, EVT_PTR(N(ModelList_Solid)), FOG_MODE_0)
EVT_CALL(N(UnkFunc27), 0, EVT_PTR(N(ModelList_Translucent)), FOG_MODE_0)
EVT_CALL(N(InterpWorldEnvColor), 255, 255, 255, 0, 0, 0, 0)
EVT_WAIT(1)
EVT_CALL(N(InterpWorldEnvColor), 44, 32, 177, 0, 0, 0, 60)
@ -695,10 +695,10 @@ EvtScript N(EVS_Ruins_Arise_Continued) = {
EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(500.0))
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_CALL(N(UnkFunc27), 2, 0, 3)
EVT_CALL(N(UnkFunc27), 1, -1, 3)
EVT_CALL(N(UnkFunc27), 1, EVT_PTR(N(ModelList_Solid)), 0)
EVT_CALL(N(UnkFunc27), 0, EVT_PTR(N(ModelList_Translucent)), 0)
EVT_CALL(N(UnkFunc27), 2, 0, FOG_MODE_3)
EVT_CALL(N(UnkFunc27), 1, -1, FOG_MODE_3)
EVT_CALL(N(UnkFunc27), 1, EVT_PTR(N(ModelList_Solid)), FOG_MODE_0)
EVT_CALL(N(UnkFunc27), 0, EVT_PTR(N(ModelList_Translucent)), FOG_MODE_0)
EVT_CALL(N(InterpWorldEnvColor), 44, 32, 177, 0, 0, 0, 0)
EVT_EXEC(N(EVS_Ruins_FinishRising))
EVT_EXEC(N(EVS_Steps_FinishRising))

View File

@ -44,8 +44,8 @@ EvtScript N(EVS_Scene_RuinsRising) = {
EVT_CALL(SetPanTarget, CAM_DEFAULT, 193, 0, -237)
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_CALL(N(UnkFunc27), 2, 0, 3)
EVT_CALL(N(UnkFunc27), 1, -1, 3)
EVT_CALL(N(UnkFunc27), 2, 0, FOG_MODE_3)
EVT_CALL(N(UnkFunc27), 1, -1, FOG_MODE_3)
EVT_CALL(N(UnkFunc26), 3, 44, 32, 177, 0, 0, 0, 0, 0, 0)
EVT_CALL(DisablePlayerInput, TRUE)
EVT_THREAD

View File

@ -33,14 +33,14 @@ ApiStatus N(ApplyLavaGlowLighting)(Evt* script, s32 isInitialCall) {
for (i = 0; i < modelIDs->count; i++, idList++) {
s32 treeIndex = get_model_list_index_from_tree_index(*idList);
Model* mdl = get_model_from_list_index(treeIndex);
set_mdl_custom_gfx_set(mdl, -1, 2);
set_mdl_custom_gfx_set(mdl, -1, FOG_MODE_2);
}
} else {
// list is NULL -> apply effect to ALL models
Model** models = (Model**) gCurrentModels;
for (i = 0; i < MAX_MODELS; i++, models++) {
if (*models != NULL) {
set_mdl_custom_gfx_set(*models, -1, 2);
set_mdl_custom_gfx_set(*models, -1, FOG_MODE_2);
}
}
}
@ -98,14 +98,14 @@ ApiStatus N(ClearLavaGlowLighting)(Evt* script, s32 isInitialCall) {
for (i = 0; i < modelIDs->count; i++, idList++) {
s32 treeIndex = get_model_list_index_from_tree_index(*idList);
Model* mdl = get_model_from_list_index(treeIndex);
set_mdl_custom_gfx_set(mdl, -1, 0);
set_mdl_custom_gfx_set(mdl, -1, FOG_MODE_0);
}
} else {
// list is NULL -> clear effect from ALL models
Model** models = (Model**) gCurrentModels;
for (i = 0; i < MAX_MODELS; i++, models++) {
if (*models != NULL) {
set_mdl_custom_gfx_set(*models, -1, 0);
set_mdl_custom_gfx_set(*models, -1, FOG_MODE_0);
}
}
}

View File

@ -136,8 +136,8 @@ ApiStatus N(Quizmo_HideWorld)(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
s32 i;
mdl_set_all_fog_mode(1);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_1;
mdl_set_all_fog_mode(FOG_MODE_1);
*gBackgroundFogModePtr = FOG_MODE_1;
set_background_color_blend(0, 0, 0, 0);
for (i = 0; i < MAX_NPCS; i++) {
@ -191,8 +191,8 @@ ApiStatus N(Quizmo_FadeInWorld)(Evt* script, s32 isInitialCall) {
if (script->functionTemp[0] == 0 && script->functionTemp[1] == 0) {
script->functionTemp[1] = 1;
} else if (script->functionTemp[1] == 1) {
mdl_set_all_fog_mode(0);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_0;
mdl_set_all_fog_mode(FOG_MODE_0);
*gBackgroundFogModePtr = FOG_MODE_0;
for (i = 0; i < MAX_NPCS; i++) {
Npc* npc = get_npc_by_index(i);

View File

@ -6,13 +6,13 @@ API_CALLABLE(N(UnkFunc27)) {
Bytecode* args = script->ptrReadPos;
s32 mode = evt_get_variable(script, *args++);
s32 testS0 = evt_get_variable(script, *args++);
s32 testS1 = evt_get_variable(script, *args++);
s32 fogType = evt_get_variable(script, *args++);
s32* modelIDList = (s32*) testS0;
s32 listIndex;
Model* mdl;
if (modelIDList == PTR_LIST_END) {
mdl_set_all_fog_mode(testS1);
mdl_set_all_fog_mode(fogType);
return ApiStatus_DONE2;
}
@ -24,7 +24,7 @@ API_CALLABLE(N(UnkFunc27)) {
}
listIndex = get_model_list_index_from_tree_index(*modelIDList);
mdl = get_model_from_list_index(listIndex);
set_mdl_custom_gfx_set(mdl, -1, testS1);
set_mdl_custom_gfx_set(mdl, -1, fogType);
modelIDList++;
};
break;
@ -34,13 +34,13 @@ API_CALLABLE(N(UnkFunc27)) {
if (*modelIDList == 0xFFFF) {
break;
}
func_8011B950(*modelIDList, -1, testS1, 0);
func_8011B950(*modelIDList, -1, fogType, 0);
modelIDList++;
};
break;
case 2:
*gBgRenderTypePtr = testS1;
*gBackgroundFogModePtr = fogType;
break;
}

View File

@ -216,8 +216,8 @@ API_CALLABLE(N(Quizmo_HideWorld)) {
if (isInitialCall) {
s32 i;
mdl_set_all_fog_mode(1);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_1;
mdl_set_all_fog_mode(FOG_MODE_1);
*gBackgroundFogModePtr = FOG_MODE_1;
set_background_color_blend(0, 0, 0, 0);
for (i = 0; i < MAX_NPCS; i++) {
@ -271,8 +271,8 @@ API_CALLABLE(N(Quizmo_FadeInWorld)) {
if (script->functionTemp[0] == 0 && script->functionTemp[1] == 0) {
script->functionTemp[1] = 1;
} else if (script->functionTemp[1] == 1) {
mdl_set_all_fog_mode(0);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_0;
mdl_set_all_fog_mode(FOG_MODE_0);
*gBackgroundFogModePtr = FOG_MODE_0;
for (i = 0; i < MAX_NPCS; i++) {
Npc* npc = get_npc_by_index(i);

View File

@ -230,7 +230,7 @@ ApiStatus func_80282414(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
if (script->varTable[0] == 0) {
func_8011B950(script->varTable[15], -1, 1, 1);
func_8011B950(script->varTable[15], -1, FOG_MODE_1, 1);
}
script->functionTemp[1] = 0;
}
@ -253,7 +253,7 @@ ApiStatus func_80282414(Evt* script, s32 isInitialCall) {
if (script->functionTemp[1] >= 255) {
if (script->varTable[0] == 3) {
func_8011B950(script->varTable[15], -1, 0, 1);
func_8011B950(script->varTable[15], -1, FOG_MODE_0, 1);
}
return ApiStatus_DONE2;
} else {

View File

@ -58,7 +58,7 @@ dlabel gCurrentCustomModelGfxPtr
dlabel gLastCreatedEntityIndex
.space 4
dlabel gBgRenderTypePtr
dlabel gBackgroundFogModePtr
.space 4
dlabel gMsgVarImages
@ -229,10 +229,10 @@ dlabel D_80152220
dlabel D_80152A20
.space 0x00000800
dlabel wBgRenderType
dlabel wBackgroundFogMode
.space 1
dlabel bBgRenderType
dlabel bBackgroundFogMode
.space 1
dlabel D_80153222

File diff suppressed because it is too large Load Diff

View File

@ -1,473 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80115498
/* ABB98 80115498 27BDFF88 */ addiu $sp, $sp, -0x78
/* ABB9C 8011549C AFB50064 */ sw $s5, 0x64($sp)
/* ABBA0 801154A0 0080A82D */ daddu $s5, $a0, $zero
/* ABBA4 801154A4 00A0182D */ daddu $v1, $a1, $zero
/* ABBA8 801154A8 AFA60080 */ sw $a2, 0x80($sp)
/* ABBAC 801154AC AFA70084 */ sw $a3, 0x84($sp)
/* ABBB0 801154B0 00C71021 */ addu $v0, $a2, $a3
/* ABBB4 801154B4 02A2102B */ sltu $v0, $s5, $v0
/* ABBB8 801154B8 AFBF0074 */ sw $ra, 0x74($sp)
/* ABBBC 801154BC AFBE0070 */ sw $fp, 0x70($sp)
/* ABBC0 801154C0 AFB7006C */ sw $s7, 0x6c($sp)
/* ABBC4 801154C4 AFB60068 */ sw $s6, 0x68($sp)
/* ABBC8 801154C8 AFB40060 */ sw $s4, 0x60($sp)
/* ABBCC 801154CC AFB3005C */ sw $s3, 0x5c($sp)
/* ABBD0 801154D0 AFB20058 */ sw $s2, 0x58($sp)
/* ABBD4 801154D4 AFB10054 */ sw $s1, 0x54($sp)
/* ABBD8 801154D8 10400180 */ beqz $v0, .L80115ADC
/* ABBDC 801154DC AFB00050 */ sw $s0, 0x50($sp)
/* ABBE0 801154E0 27B30020 */ addiu $s3, $sp, 0x20
/* ABBE4 801154E4 24170001 */ addiu $s7, $zero, 1
/* ABBE8 801154E8 241E1000 */ addiu $fp, $zero, 0x1000
/* ABBEC 801154EC 00031100 */ sll $v0, $v1, 4
/* ABBF0 801154F0 00451021 */ addu $v0, $v0, $a1
/* ABBF4 801154F4 0002B080 */ sll $s6, $v0, 2
/* ABBF8 801154F8 02A0202D */ daddu $a0, $s5, $zero
.L801154FC:
/* ABBFC 801154FC 26A50030 */ addiu $a1, $s5, 0x30
/* ABC00 80115500 0C00A5CF */ jal dma_copy
/* ABC04 80115504 27A60020 */ addiu $a2, $sp, 0x20
/* ABC08 80115508 93A20048 */ lbu $v0, 0x48($sp)
/* ABC0C 8011550C 10400173 */ beqz $v0, .L80115ADC
/* ABC10 80115510 00000000 */ nop
/* ABC14 80115514 97A40042 */ lhu $a0, 0x42($sp)
/* ABC18 80115518 97A20046 */ lhu $v0, 0x46($sp)
/* ABC1C 8011551C 00820018 */ mult $a0, $v0
/* ABC20 80115520 97A3004C */ lhu $v1, 0x4c($sp)
/* ABC24 80115524 30630F00 */ andi $v1, $v1, 0xf00
/* ABC28 80115528 00009012 */ mflo $s2
/* ABC2C 8011552C 14600049 */ bnez $v1, .L80115654
/* ABC30 80115530 24080100 */ addiu $t0, $zero, 0x100
/* ABC34 80115534 93A20049 */ lbu $v0, 0x49($sp)
/* ABC38 80115538 54570125 */ bnel $v0, $s7, .L801159D0
/* ABC3C 8011553C 00129042 */ srl $s2, $s2, 1
/* ABC40 80115540 24050002 */ addiu $a1, $zero, 2
/* ABC44 80115544 14A00002 */ bnez $a1, .L80115550
/* ABC48 80115548 0085001A */ div $zero, $a0, $a1
/* ABC4C 8011554C 0007000D */ break 7
.L80115550:
/* ABC50 80115550 2401FFFF */ addiu $at, $zero, -1
/* ABC54 80115554 14A10004 */ bne $a1, $at, .L80115568
/* ABC58 80115558 3C018000 */ lui $at, 0x8000
/* ABC5C 8011555C 14810002 */ bne $a0, $at, .L80115568
/* ABC60 80115560 00000000 */ nop
/* ABC64 80115564 0006000D */ break 6
.L80115568:
/* ABC68 80115568 00001012 */ mflo $v0
/* ABC6C 8011556C 28420010 */ slti $v0, $v0, 0x10
/* ABC70 80115570 54400117 */ bnel $v0, $zero, .L801159D0
/* ABC74 80115574 00129042 */ srl $s2, $s2, 1
/* ABC78 80115578 96660026 */ lhu $a2, 0x26($s3)
.L8011557C:
/* ABC7C 8011557C 14A00002 */ bnez $a1, .L80115588
/* ABC80 80115580 00C5001A */ div $zero, $a2, $a1
/* ABC84 80115584 0007000D */ break 7
.L80115588:
/* ABC88 80115588 2401FFFF */ addiu $at, $zero, -1
/* ABC8C 8011558C 14A10004 */ bne $a1, $at, .L801155A0
/* ABC90 80115590 3C018000 */ lui $at, 0x8000
/* ABC94 80115594 14C10002 */ bne $a2, $at, .L801155A0
/* ABC98 80115598 00000000 */ nop
/* ABC9C 8011559C 0006000D */ break 6
.L801155A0:
/* ABCA0 801155A0 00001012 */ mflo $v0
/* ABCA4 801155A4 5840010A */ blezl $v0, .L801159D0
/* ABCA8 801155A8 00129042 */ srl $s2, $s2, 1
/* ABCAC 801155AC 96630022 */ lhu $v1, 0x22($s3)
/* ABCB0 801155B0 14A00002 */ bnez $a1, .L801155BC
/* ABCB4 801155B4 0065001A */ div $zero, $v1, $a1
/* ABCB8 801155B8 0007000D */ break 7
.L801155BC:
/* ABCBC 801155BC 2401FFFF */ addiu $at, $zero, -1
/* ABCC0 801155C0 14A10004 */ bne $a1, $at, .L801155D4
/* ABCC4 801155C4 3C018000 */ lui $at, 0x8000
/* ABCC8 801155C8 14610002 */ bne $v1, $at, .L801155D4
/* ABCCC 801155CC 00000000 */ nop
/* ABCD0 801155D0 0006000D */ break 6
.L801155D4:
/* ABCD4 801155D4 00001012 */ mflo $v0
/* ABCD8 801155D8 00000000 */ nop
/* ABCDC 801155DC 00000000 */ nop
/* ABCE0 801155E0 00460018 */ mult $v0, $a2
/* ABCE4 801155E4 00005012 */ mflo $t2
/* ABCE8 801155E8 00000000 */ nop
/* ABCEC 801155EC 14A00002 */ bnez $a1, .L801155F8
/* ABCF0 801155F0 0145001A */ div $zero, $t2, $a1
/* ABCF4 801155F4 0007000D */ break 7
.L801155F8:
/* ABCF8 801155F8 2401FFFF */ addiu $at, $zero, -1
/* ABCFC 801155FC 14A10004 */ bne $a1, $at, .L80115610
/* ABD00 80115600 3C018000 */ lui $at, 0x8000
/* ABD04 80115604 15410002 */ bne $t2, $at, .L80115610
/* ABD08 80115608 00000000 */ nop
/* ABD0C 8011560C 0006000D */ break 6
.L80115610:
/* ABD10 80115610 00002012 */ mflo $a0
/* ABD14 80115614 00052840 */ sll $a1, $a1, 1
/* ABD18 80115618 14A00002 */ bnez $a1, .L80115624
/* ABD1C 8011561C 0065001A */ div $zero, $v1, $a1
/* ABD20 80115620 0007000D */ break 7
.L80115624:
/* ABD24 80115624 2401FFFF */ addiu $at, $zero, -1
/* ABD28 80115628 14A10004 */ bne $a1, $at, .L8011563C
/* ABD2C 8011562C 3C018000 */ lui $at, 0x8000
/* ABD30 80115630 14610002 */ bne $v1, $at, .L8011563C
/* ABD34 80115634 00000000 */ nop
/* ABD38 80115638 0006000D */ break 6
.L8011563C:
/* ABD3C 8011563C 00001012 */ mflo $v0
/* ABD40 80115640 28420010 */ slti $v0, $v0, 0x10
/* ABD44 80115644 1040FFCD */ beqz $v0, .L8011557C
/* ABD48 80115648 02449021 */ addu $s2, $s2, $a0
/* ABD4C 8011564C 08045674 */ j .L801159D0
/* ABD50 80115650 00129042 */ srl $s2, $s2, 1
.L80115654:
/* ABD54 80115654 14680048 */ bne $v1, $t0, .L80115778
/* ABD58 80115658 00000000 */ nop
/* ABD5C 8011565C 93A20049 */ lbu $v0, 0x49($sp)
/* ABD60 80115660 145700DB */ bne $v0, $s7, .L801159D0
/* ABD64 80115664 24050002 */ addiu $a1, $zero, 2
/* ABD68 80115668 14A00002 */ bnez $a1, .L80115674
/* ABD6C 8011566C 0085001A */ div $zero, $a0, $a1
/* ABD70 80115670 0007000D */ break 7
.L80115674:
/* ABD74 80115674 2401FFFF */ addiu $at, $zero, -1
/* ABD78 80115678 14A10004 */ bne $a1, $at, .L8011568C
/* ABD7C 8011567C 3C018000 */ lui $at, 0x8000
/* ABD80 80115680 14810002 */ bne $a0, $at, .L8011568C
/* ABD84 80115684 00000000 */ nop
/* ABD88 80115688 0006000D */ break 6
.L8011568C:
/* ABD8C 8011568C 00001012 */ mflo $v0
/* ABD90 80115690 28420008 */ slti $v0, $v0, 8
/* ABD94 80115694 144000CE */ bnez $v0, .L801159D0
/* ABD98 80115698 00000000 */ nop
/* ABD9C 8011569C 96660026 */ lhu $a2, 0x26($s3)
.L801156A0:
/* ABDA0 801156A0 14A00002 */ bnez $a1, .L801156AC
/* ABDA4 801156A4 00C5001A */ div $zero, $a2, $a1
/* ABDA8 801156A8 0007000D */ break 7
.L801156AC:
/* ABDAC 801156AC 2401FFFF */ addiu $at, $zero, -1
/* ABDB0 801156B0 14A10004 */ bne $a1, $at, .L801156C4
/* ABDB4 801156B4 3C018000 */ lui $at, 0x8000
/* ABDB8 801156B8 14C10002 */ bne $a2, $at, .L801156C4
/* ABDBC 801156BC 00000000 */ nop
/* ABDC0 801156C0 0006000D */ break 6
.L801156C4:
/* ABDC4 801156C4 00001012 */ mflo $v0
/* ABDC8 801156C8 184000C1 */ blez $v0, .L801159D0
/* ABDCC 801156CC 00000000 */ nop
/* ABDD0 801156D0 96630022 */ lhu $v1, 0x22($s3)
/* ABDD4 801156D4 14A00002 */ bnez $a1, .L801156E0
/* ABDD8 801156D8 0065001A */ div $zero, $v1, $a1
/* ABDDC 801156DC 0007000D */ break 7
.L801156E0:
/* ABDE0 801156E0 2401FFFF */ addiu $at, $zero, -1
/* ABDE4 801156E4 14A10004 */ bne $a1, $at, .L801156F8
/* ABDE8 801156E8 3C018000 */ lui $at, 0x8000
/* ABDEC 801156EC 14610002 */ bne $v1, $at, .L801156F8
/* ABDF0 801156F0 00000000 */ nop
/* ABDF4 801156F4 0006000D */ break 6
.L801156F8:
/* ABDF8 801156F8 00001012 */ mflo $v0
/* ABDFC 801156FC 00000000 */ nop
/* ABE00 80115700 00000000 */ nop
/* ABE04 80115704 00460018 */ mult $v0, $a2
/* ABE08 80115708 00005012 */ mflo $t2
/* ABE0C 8011570C 00000000 */ nop
/* ABE10 80115710 14A00002 */ bnez $a1, .L8011571C
/* ABE14 80115714 0145001A */ div $zero, $t2, $a1
/* ABE18 80115718 0007000D */ break 7
.L8011571C:
/* ABE1C 8011571C 2401FFFF */ addiu $at, $zero, -1
/* ABE20 80115720 14A10004 */ bne $a1, $at, .L80115734
/* ABE24 80115724 3C018000 */ lui $at, 0x8000
/* ABE28 80115728 15410002 */ bne $t2, $at, .L80115734
/* ABE2C 8011572C 00000000 */ nop
/* ABE30 80115730 0006000D */ break 6
.L80115734:
/* ABE34 80115734 00002012 */ mflo $a0
/* ABE38 80115738 00052840 */ sll $a1, $a1, 1
/* ABE3C 8011573C 14A00002 */ bnez $a1, .L80115748
/* ABE40 80115740 0065001A */ div $zero, $v1, $a1
/* ABE44 80115744 0007000D */ break 7
.L80115748:
/* ABE48 80115748 2401FFFF */ addiu $at, $zero, -1
/* ABE4C 8011574C 14A10004 */ bne $a1, $at, .L80115760
/* ABE50 80115750 3C018000 */ lui $at, 0x8000
/* ABE54 80115754 14610002 */ bne $v1, $at, .L80115760
/* ABE58 80115758 00000000 */ nop
/* ABE5C 8011575C 0006000D */ break 6
.L80115760:
/* ABE60 80115760 00001012 */ mflo $v0
/* ABE64 80115764 28420008 */ slti $v0, $v0, 8
/* ABE68 80115768 14400099 */ bnez $v0, .L801159D0
/* ABE6C 8011576C 02449021 */ addu $s2, $s2, $a0
/* ABE70 80115770 080455A8 */ j .L801156A0
/* ABE74 80115774 00000000 */ nop
.L80115778:
/* ABE78 80115778 9662002C */ lhu $v0, 0x2c($s3)
/* ABE7C 8011577C 30430F00 */ andi $v1, $v0, 0xf00
/* ABE80 80115780 24020200 */ addiu $v0, $zero, 0x200
/* ABE84 80115784 14620049 */ bne $v1, $v0, .L801158AC
/* ABE88 80115788 24020300 */ addiu $v0, $zero, 0x300
/* ABE8C 8011578C 92620029 */ lbu $v0, 0x29($s3)
/* ABE90 80115790 5457008F */ bnel $v0, $s7, .L801159D0
/* ABE94 80115794 00129040 */ sll $s2, $s2, 1
/* ABE98 80115798 96670022 */ lhu $a3, 0x22($s3)
/* ABE9C 8011579C 24040002 */ addiu $a0, $zero, 2
/* ABEA0 801157A0 14800002 */ bnez $a0, .L801157AC
/* ABEA4 801157A4 00E4001A */ div $zero, $a3, $a0
/* ABEA8 801157A8 0007000D */ break 7
.L801157AC:
/* ABEAC 801157AC 2401FFFF */ addiu $at, $zero, -1
/* ABEB0 801157B0 14810004 */ bne $a0, $at, .L801157C4
/* ABEB4 801157B4 3C018000 */ lui $at, 0x8000
/* ABEB8 801157B8 14E10002 */ bne $a3, $at, .L801157C4
/* ABEBC 801157BC 00000000 */ nop
/* ABEC0 801157C0 0006000D */ break 6
.L801157C4:
/* ABEC4 801157C4 00001012 */ mflo $v0
/* ABEC8 801157C8 28420004 */ slti $v0, $v0, 4
/* ABECC 801157CC 54400080 */ bnel $v0, $zero, .L801159D0
/* ABED0 801157D0 00129040 */ sll $s2, $s2, 1
/* ABED4 801157D4 96660026 */ lhu $a2, 0x26($s3)
.L801157D8:
/* ABED8 801157D8 14800002 */ bnez $a0, .L801157E4
/* ABEDC 801157DC 00C4001A */ div $zero, $a2, $a0
/* ABEE0 801157E0 0007000D */ break 7
.L801157E4:
/* ABEE4 801157E4 2401FFFF */ addiu $at, $zero, -1
/* ABEE8 801157E8 14810004 */ bne $a0, $at, .L801157FC
/* ABEEC 801157EC 3C018000 */ lui $at, 0x8000
/* ABEF0 801157F0 14C10002 */ bne $a2, $at, .L801157FC
/* ABEF4 801157F4 00000000 */ nop
/* ABEF8 801157F8 0006000D */ break 6
.L801157FC:
/* ABEFC 801157FC 00001012 */ mflo $v0
/* ABF00 80115800 58400073 */ blezl $v0, .L801159D0
/* ABF04 80115804 00129040 */ sll $s2, $s2, 1
/* ABF08 80115808 14800002 */ bnez $a0, .L80115814
/* ABF0C 8011580C 00E4001A */ div $zero, $a3, $a0
/* ABF10 80115810 0007000D */ break 7
.L80115814:
/* ABF14 80115814 2401FFFF */ addiu $at, $zero, -1
/* ABF18 80115818 14810004 */ bne $a0, $at, .L8011582C
/* ABF1C 8011581C 3C018000 */ lui $at, 0x8000
/* ABF20 80115820 14E10002 */ bne $a3, $at, .L8011582C
/* ABF24 80115824 00000000 */ nop
/* ABF28 80115828 0006000D */ break 6
.L8011582C:
/* ABF2C 8011582C 00001012 */ mflo $v0
/* ABF30 80115830 00000000 */ nop
/* ABF34 80115834 00000000 */ nop
/* ABF38 80115838 00460018 */ mult $v0, $a2
/* ABF3C 8011583C 00001812 */ mflo $v1
/* ABF40 80115840 00000000 */ nop
/* ABF44 80115844 14800002 */ bnez $a0, .L80115850
/* ABF48 80115848 0064001A */ div $zero, $v1, $a0
/* ABF4C 8011584C 0007000D */ break 7
.L80115850:
/* ABF50 80115850 2401FFFF */ addiu $at, $zero, -1
/* ABF54 80115854 14810004 */ bne $a0, $at, .L80115868
/* ABF58 80115858 3C018000 */ lui $at, 0x8000
/* ABF5C 8011585C 14610002 */ bne $v1, $at, .L80115868
/* ABF60 80115860 00000000 */ nop
/* ABF64 80115864 0006000D */ break 6
.L80115868:
/* ABF68 80115868 00001812 */ mflo $v1
/* ABF6C 8011586C 00042040 */ sll $a0, $a0, 1
/* ABF70 80115870 14800002 */ bnez $a0, .L8011587C
/* ABF74 80115874 00E4001A */ div $zero, $a3, $a0
/* ABF78 80115878 0007000D */ break 7
.L8011587C:
/* ABF7C 8011587C 2401FFFF */ addiu $at, $zero, -1
/* ABF80 80115880 14810004 */ bne $a0, $at, .L80115894
/* ABF84 80115884 3C018000 */ lui $at, 0x8000
/* ABF88 80115888 14E10002 */ bne $a3, $at, .L80115894
/* ABF8C 8011588C 00000000 */ nop
/* ABF90 80115890 0006000D */ break 6
.L80115894:
/* ABF94 80115894 00001012 */ mflo $v0
/* ABF98 80115898 28420004 */ slti $v0, $v0, 4
/* ABF9C 8011589C 1040FFCE */ beqz $v0, .L801157D8
/* ABFA0 801158A0 02439021 */ addu $s2, $s2, $v1
/* ABFA4 801158A4 08045674 */ j .L801159D0
/* ABFA8 801158A8 00129040 */ sll $s2, $s2, 1
.L801158AC:
/* ABFAC 801158AC 14620048 */ bne $v1, $v0, .L801159D0
/* ABFB0 801158B0 00000000 */ nop
/* ABFB4 801158B4 92620029 */ lbu $v0, 0x29($s3)
/* ABFB8 801158B8 54570045 */ bnel $v0, $s7, .L801159D0
/* ABFBC 801158BC 00129080 */ sll $s2, $s2, 2
/* ABFC0 801158C0 96670022 */ lhu $a3, 0x22($s3)
/* ABFC4 801158C4 24040002 */ addiu $a0, $zero, 2
/* ABFC8 801158C8 14800002 */ bnez $a0, .L801158D4
/* ABFCC 801158CC 00E4001A */ div $zero, $a3, $a0
/* ABFD0 801158D0 0007000D */ break 7
.L801158D4:
/* ABFD4 801158D4 2401FFFF */ addiu $at, $zero, -1
/* ABFD8 801158D8 14810004 */ bne $a0, $at, .L801158EC
/* ABFDC 801158DC 3C018000 */ lui $at, 0x8000
/* ABFE0 801158E0 14E10002 */ bne $a3, $at, .L801158EC
/* ABFE4 801158E4 00000000 */ nop
/* ABFE8 801158E8 0006000D */ break 6
.L801158EC:
/* ABFEC 801158EC 00001012 */ mflo $v0
/* ABFF0 801158F0 0044102A */ slt $v0, $v0, $a0
/* ABFF4 801158F4 54400036 */ bnel $v0, $zero, .L801159D0
/* ABFF8 801158F8 00129080 */ sll $s2, $s2, 2
/* ABFFC 801158FC 96660026 */ lhu $a2, 0x26($s3)
.L80115900:
/* AC000 80115900 14800002 */ bnez $a0, .L8011590C
/* AC004 80115904 00C4001A */ div $zero, $a2, $a0
/* AC008 80115908 0007000D */ break 7
.L8011590C:
/* AC00C 8011590C 2401FFFF */ addiu $at, $zero, -1
/* AC010 80115910 14810004 */ bne $a0, $at, .L80115924
/* AC014 80115914 3C018000 */ lui $at, 0x8000
/* AC018 80115918 14C10002 */ bne $a2, $at, .L80115924
/* AC01C 8011591C 00000000 */ nop
/* AC020 80115920 0006000D */ break 6
.L80115924:
/* AC024 80115924 00001012 */ mflo $v0
/* AC028 80115928 58400029 */ blezl $v0, .L801159D0
/* AC02C 8011592C 00129080 */ sll $s2, $s2, 2
/* AC030 80115930 14800002 */ bnez $a0, .L8011593C
/* AC034 80115934 00E4001A */ div $zero, $a3, $a0
/* AC038 80115938 0007000D */ break 7
.L8011593C:
/* AC03C 8011593C 2401FFFF */ addiu $at, $zero, -1
/* AC040 80115940 14810004 */ bne $a0, $at, .L80115954
/* AC044 80115944 3C018000 */ lui $at, 0x8000
/* AC048 80115948 14E10002 */ bne $a3, $at, .L80115954
/* AC04C 8011594C 00000000 */ nop
/* AC050 80115950 0006000D */ break 6
.L80115954:
/* AC054 80115954 00001012 */ mflo $v0
/* AC058 80115958 00000000 */ nop
/* AC05C 8011595C 00000000 */ nop
/* AC060 80115960 00460018 */ mult $v0, $a2
/* AC064 80115964 00001812 */ mflo $v1
/* AC068 80115968 00000000 */ nop
/* AC06C 8011596C 14800002 */ bnez $a0, .L80115978
/* AC070 80115970 0064001A */ div $zero, $v1, $a0
/* AC074 80115974 0007000D */ break 7
.L80115978:
/* AC078 80115978 2401FFFF */ addiu $at, $zero, -1
/* AC07C 8011597C 14810004 */ bne $a0, $at, .L80115990
/* AC080 80115980 3C018000 */ lui $at, 0x8000
/* AC084 80115984 14610002 */ bne $v1, $at, .L80115990
/* AC088 80115988 00000000 */ nop
/* AC08C 8011598C 0006000D */ break 6
.L80115990:
/* AC090 80115990 00001812 */ mflo $v1
/* AC094 80115994 00042040 */ sll $a0, $a0, 1
/* AC098 80115998 14800002 */ bnez $a0, .L801159A4
/* AC09C 8011599C 00E4001A */ div $zero, $a3, $a0
/* AC0A0 801159A0 0007000D */ break 7
.L801159A4:
/* AC0A4 801159A4 2401FFFF */ addiu $at, $zero, -1
/* AC0A8 801159A8 14810004 */ bne $a0, $at, .L801159BC
/* AC0AC 801159AC 3C018000 */ lui $at, 0x8000
/* AC0B0 801159B0 14E10002 */ bne $a3, $at, .L801159BC
/* AC0B4 801159B4 00000000 */ nop
/* AC0B8 801159B8 0006000D */ break 6
.L801159BC:
/* AC0BC 801159BC 00001012 */ mflo $v0
/* AC0C0 801159C0 28420002 */ slti $v0, $v0, 2
/* AC0C4 801159C4 1040FFCE */ beqz $v0, .L80115900
/* AC0C8 801159C8 02439021 */ addu $s2, $s2, $v1
/* AC0CC 801159CC 00129080 */ sll $s2, $s2, 2
.L801159D0:
/* AC0D0 801159D0 9662002A */ lhu $v0, 0x2a($s3)
/* AC0D4 801159D4 24030002 */ addiu $v1, $zero, 2
/* AC0D8 801159D8 3042000F */ andi $v0, $v0, 0xf
/* AC0DC 801159DC 14430007 */ bne $v0, $v1, .L801159FC
/* AC0E0 801159E0 0000A02D */ daddu $s4, $zero, $zero
/* AC0E4 801159E4 9662002C */ lhu $v0, 0x2c($s3)
/* AC0E8 801159E8 24080100 */ addiu $t0, $zero, 0x100
/* AC0EC 801159EC 30420F00 */ andi $v0, $v0, 0xf00
/* AC0F0 801159F0 14480002 */ bne $v0, $t0, .L801159FC
/* AC0F4 801159F4 24140020 */ addiu $s4, $zero, 0x20
/* AC0F8 801159F8 24140200 */ addiu $s4, $zero, 0x200
.L801159FC:
/* AC0FC 801159FC 92630029 */ lbu $v1, 0x29($s3)
/* AC100 80115A00 24020003 */ addiu $v0, $zero, 3
/* AC104 80115A04 1462001E */ bne $v1, $v0, .L80115A80
/* AC108 80115A08 0000882D */ daddu $s1, $zero, $zero
/* AC10C 80115A0C 96640020 */ lhu $a0, 0x20($s3)
/* AC110 80115A10 96620024 */ lhu $v0, 0x24($s3)
/* AC114 80115A14 00820018 */ mult $a0, $v0
/* AC118 80115A18 9663002C */ lhu $v1, 0x2c($s3)
/* AC11C 80115A1C 3063F000 */ andi $v1, $v1, 0xf000
/* AC120 80115A20 00008012 */ mflo $s0
/* AC124 80115A24 14600003 */ bnez $v1, .L80115A34
/* AC128 80115A28 00000000 */ nop
/* AC12C 80115A2C 08045695 */ j .L80115A54
/* AC130 80115A30 00108042 */ srl $s0, $s0, 1
.L80115A34:
/* AC134 80115A34 107E0007 */ beq $v1, $fp, .L80115A54
/* AC138 80115A38 24022000 */ addiu $v0, $zero, 0x2000
/* AC13C 80115A3C 14620003 */ bne $v1, $v0, .L80115A4C
/* AC140 80115A40 24023000 */ addiu $v0, $zero, 0x3000
/* AC144 80115A44 08045695 */ j .L80115A54
/* AC148 80115A48 00108040 */ sll $s0, $s0, 1
.L80115A4C:
/* AC14C 80115A4C 50620001 */ beql $v1, $v0, .L80115A54
/* AC150 80115A50 00108080 */ sll $s0, $s0, 2
.L80115A54:
/* AC154 80115A54 9662002A */ lhu $v0, 0x2a($s3)
/* AC158 80115A58 24030020 */ addiu $v1, $zero, 0x20
/* AC15C 80115A5C 304200F0 */ andi $v0, $v0, 0xf0
/* AC160 80115A60 14430008 */ bne $v0, $v1, .L80115A84
/* AC164 80115A64 0000882D */ daddu $s1, $zero, $zero
/* AC168 80115A68 9662002C */ lhu $v0, 0x2c($s3)
/* AC16C 80115A6C 3042F000 */ andi $v0, $v0, 0xf000
/* AC170 80115A70 145E0004 */ bne $v0, $fp, .L80115A84
/* AC174 80115A74 0060882D */ daddu $s1, $v1, $zero
/* AC178 80115A78 080456A1 */ j .L80115A84
/* AC17C 80115A7C 24110200 */ addiu $s1, $zero, 0x200
.L80115A80:
/* AC180 80115A80 0220802D */ daddu $s0, $s1, $zero
.L80115A84:
/* AC184 80115A84 26D60044 */ addiu $s6, $s6, 0x44
/* AC188 80115A88 26A40030 */ addiu $a0, $s5, 0x30
/* AC18C 80115A8C 3C058016 */ lui $a1, %hi(mdl_textureHandles)
/* AC190 80115A90 24A5A590 */ addiu $a1, $a1, %lo(mdl_textureHandles)
/* AC194 80115A94 02C52821 */ addu $a1, $s6, $a1
/* AC198 80115A98 0260302D */ daddu $a2, $s3, $zero
/* AC19C 80115A9C 0240382D */ daddu $a3, $s2, $zero
/* AC1A0 80115AA0 AFB40010 */ sw $s4, 0x10($sp)
/* AC1A4 80115AA4 AFB00014 */ sw $s0, 0x14($sp)
/* AC1A8 80115AA8 0C0452D6 */ jal func_80114B58
/* AC1AC 80115AAC AFB10018 */ sw $s1, 0x18($sp)
/* AC1B0 80115AB0 02541021 */ addu $v0, $s2, $s4
/* AC1B4 80115AB4 24420030 */ addiu $v0, $v0, 0x30
/* AC1B8 80115AB8 02A2A821 */ addu $s5, $s5, $v0
/* AC1BC 80115ABC 02111021 */ addu $v0, $s0, $s1
/* AC1C0 80115AC0 8FA80080 */ lw $t0, 0x80($sp)
/* AC1C4 80115AC4 8FA90084 */ lw $t1, 0x84($sp)
/* AC1C8 80115AC8 02A2A821 */ addu $s5, $s5, $v0
/* AC1CC 80115ACC 01091021 */ addu $v0, $t0, $t1
/* AC1D0 80115AD0 02A2102B */ sltu $v0, $s5, $v0
/* AC1D4 80115AD4 1440FE89 */ bnez $v0, .L801154FC
/* AC1D8 80115AD8 02A0202D */ daddu $a0, $s5, $zero
.L80115ADC:
/* AC1DC 80115ADC 8FBF0074 */ lw $ra, 0x74($sp)
/* AC1E0 80115AE0 8FBE0070 */ lw $fp, 0x70($sp)
/* AC1E4 80115AE4 8FB7006C */ lw $s7, 0x6c($sp)
/* AC1E8 80115AE8 8FB60068 */ lw $s6, 0x68($sp)
/* AC1EC 80115AEC 8FB50064 */ lw $s5, 0x64($sp)
/* AC1F0 80115AF0 8FB40060 */ lw $s4, 0x60($sp)
/* AC1F4 80115AF4 8FB3005C */ lw $s3, 0x5c($sp)
/* AC1F8 80115AF8 8FB20058 */ lw $s2, 0x58($sp)
/* AC1FC 80115AFC 8FB10054 */ lw $s1, 0x54($sp)
/* AC200 80115B00 8FB00050 */ lw $s0, 0x50($sp)
/* AC204 80115B04 03E00008 */ jr $ra
/* AC208 80115B08 27BD0078 */ addiu $sp, $sp, 0x78

View File

@ -1,522 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel load_tile_header
/* AB46C 80114D6C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* AB470 80114D70 AFB40038 */ sw $s4, 0x38($sp)
/* AB474 80114D74 00A0A02D */ daddu $s4, $a1, $zero
/* AB478 80114D78 AFBF004C */ sw $ra, 0x4c($sp)
/* AB47C 80114D7C AFBE0048 */ sw $fp, 0x48($sp)
/* AB480 80114D80 AFB70044 */ sw $s7, 0x44($sp)
/* AB484 80114D84 AFB60040 */ sw $s6, 0x40($sp)
/* AB488 80114D88 AFB5003C */ sw $s5, 0x3c($sp)
/* AB48C 80114D8C AFB30034 */ sw $s3, 0x34($sp)
/* AB490 80114D90 AFB20030 */ sw $s2, 0x30($sp)
/* AB494 80114D94 AFB1002C */ sw $s1, 0x2c($sp)
/* AB498 80114D98 AFB00028 */ sw $s0, 0x28($sp)
/* AB49C 80114D9C AFA60058 */ sw $a2, 0x58($sp)
/* AB4A0 80114DA0 AFA00020 */ sw $zero, 0x20($sp)
/* AB4A4 80114DA4 8C970008 */ lw $s7, 8($a0)
/* AB4A8 80114DA8 12E0017B */ beqz $s7, .L80115398
/* AB4AC 80114DAC 0280F02D */ daddu $fp, $s4, $zero
/* AB4B0 80114DB0 8FA80058 */ lw $t0, 0x58($sp)
/* AB4B4 80114DB4 03C81021 */ addu $v0, $fp, $t0
/* AB4B8 80114DB8 03C2102B */ sltu $v0, $fp, $v0
/* AB4BC 80114DBC 10400171 */ beqz $v0, .L80115384
/* AB4C0 80114DC0 24160001 */ addiu $s6, $zero, 1
/* AB4C4 80114DC4 3C128015 */ lui $s2, %hi(gCurrentTileDescriptor)
/* AB4C8 80114DC8 26521740 */ addiu $s2, $s2, %lo(gCurrentTileDescriptor)
/* AB4CC 80114DCC 0280202D */ daddu $a0, $s4, $zero
.L80114DD0:
/* AB4D0 80114DD0 3C068015 */ lui $a2, %hi(gCurrentTileDescriptor)
/* AB4D4 80114DD4 24C61740 */ addiu $a2, $a2, %lo(gCurrentTileDescriptor)
/* AB4D8 80114DD8 0C00A5CF */ jal dma_copy
/* AB4DC 80114DDC 26850030 */ addiu $a1, $s4, 0x30
/* AB4E0 80114DE0 96430022 */ lhu $v1, 0x22($s2)
/* AB4E4 80114DE4 96460026 */ lhu $a2, 0x26($s2)
/* AB4E8 80114DE8 00660018 */ mult $v1, $a2
/* AB4EC 80114DEC 9642002C */ lhu $v0, 0x2c($s2)
/* AB4F0 80114DF0 30420F00 */ andi $v0, $v0, 0xf00
/* AB4F4 80114DF4 00008012 */ mflo $s0
/* AB4F8 80114DF8 14400047 */ bnez $v0, .L80114F18
/* AB4FC 80114DFC 0060382D */ daddu $a3, $v1, $zero
/* AB500 80114E00 92420029 */ lbu $v0, 0x29($s2)
/* AB504 80114E04 54560120 */ bnel $v0, $s6, .L80115288
/* AB508 80114E08 00108042 */ srl $s0, $s0, 1
/* AB50C 80114E0C 24040002 */ addiu $a0, $zero, 2
/* AB510 80114E10 14800002 */ bnez $a0, .L80114E1C
/* AB514 80114E14 0064001A */ div $zero, $v1, $a0
/* AB518 80114E18 0007000D */ break 7
.L80114E1C:
/* AB51C 80114E1C 2401FFFF */ addiu $at, $zero, -1
/* AB520 80114E20 14810004 */ bne $a0, $at, .L80114E34
/* AB524 80114E24 3C018000 */ lui $at, 0x8000
/* AB528 80114E28 14610002 */ bne $v1, $at, .L80114E34
/* AB52C 80114E2C 00000000 */ nop
/* AB530 80114E30 0006000D */ break 6
.L80114E34:
/* AB534 80114E34 00001012 */ mflo $v0
/* AB538 80114E38 28420010 */ slti $v0, $v0, 0x10
/* AB53C 80114E3C 54400112 */ bnel $v0, $zero, .L80115288
/* AB540 80114E40 00108042 */ srl $s0, $s0, 1
.L80114E44:
/* AB544 80114E44 14800002 */ bnez $a0, .L80114E50
/* AB548 80114E48 00C4001A */ div $zero, $a2, $a0
/* AB54C 80114E4C 0007000D */ break 7
.L80114E50:
/* AB550 80114E50 2401FFFF */ addiu $at, $zero, -1
/* AB554 80114E54 14810004 */ bne $a0, $at, .L80114E68
/* AB558 80114E58 3C018000 */ lui $at, 0x8000
/* AB55C 80114E5C 14C10002 */ bne $a2, $at, .L80114E68
/* AB560 80114E60 00000000 */ nop
/* AB564 80114E64 0006000D */ break 6
.L80114E68:
/* AB568 80114E68 00001012 */ mflo $v0
/* AB56C 80114E6C 58400106 */ blezl $v0, .L80115288
/* AB570 80114E70 00108042 */ srl $s0, $s0, 1
/* AB574 80114E74 14800002 */ bnez $a0, .L80114E80
/* AB578 80114E78 00E4001A */ div $zero, $a3, $a0
/* AB57C 80114E7C 0007000D */ break 7
.L80114E80:
/* AB580 80114E80 2401FFFF */ addiu $at, $zero, -1
/* AB584 80114E84 14810004 */ bne $a0, $at, .L80114E98
/* AB588 80114E88 3C018000 */ lui $at, 0x8000
/* AB58C 80114E8C 14E10002 */ bne $a3, $at, .L80114E98
/* AB590 80114E90 00000000 */ nop
/* AB594 80114E94 0006000D */ break 6
.L80114E98:
/* AB598 80114E98 00001012 */ mflo $v0
/* AB59C 80114E9C 00000000 */ nop
/* AB5A0 80114EA0 00000000 */ nop
/* AB5A4 80114EA4 00460018 */ mult $v0, $a2
/* AB5A8 80114EA8 00001812 */ mflo $v1
/* AB5AC 80114EAC 00000000 */ nop
/* AB5B0 80114EB0 14800002 */ bnez $a0, .L80114EBC
/* AB5B4 80114EB4 0064001A */ div $zero, $v1, $a0
/* AB5B8 80114EB8 0007000D */ break 7
.L80114EBC:
/* AB5BC 80114EBC 2401FFFF */ addiu $at, $zero, -1
/* AB5C0 80114EC0 14810004 */ bne $a0, $at, .L80114ED4
/* AB5C4 80114EC4 3C018000 */ lui $at, 0x8000
/* AB5C8 80114EC8 14610002 */ bne $v1, $at, .L80114ED4
/* AB5CC 80114ECC 00000000 */ nop
/* AB5D0 80114ED0 0006000D */ break 6
.L80114ED4:
/* AB5D4 80114ED4 00001812 */ mflo $v1
/* AB5D8 80114ED8 00042040 */ sll $a0, $a0, 1
/* AB5DC 80114EDC 14800002 */ bnez $a0, .L80114EE8
/* AB5E0 80114EE0 00E4001A */ div $zero, $a3, $a0
/* AB5E4 80114EE4 0007000D */ break 7
.L80114EE8:
/* AB5E8 80114EE8 2401FFFF */ addiu $at, $zero, -1
/* AB5EC 80114EEC 14810004 */ bne $a0, $at, .L80114F00
/* AB5F0 80114EF0 3C018000 */ lui $at, 0x8000
/* AB5F4 80114EF4 14E10002 */ bne $a3, $at, .L80114F00
/* AB5F8 80114EF8 00000000 */ nop
/* AB5FC 80114EFC 0006000D */ break 6
.L80114F00:
/* AB600 80114F00 00001012 */ mflo $v0
/* AB604 80114F04 28420010 */ slti $v0, $v0, 0x10
/* AB608 80114F08 1040FFCE */ beqz $v0, .L80114E44
/* AB60C 80114F0C 02038021 */ addu $s0, $s0, $v1
/* AB610 80114F10 080454A2 */ j .L80115288
/* AB614 80114F14 00108042 */ srl $s0, $s0, 1
.L80114F18:
/* AB618 80114F18 24080100 */ addiu $t0, $zero, 0x100
/* AB61C 80114F1C 14480044 */ bne $v0, $t0, .L80115030
/* AB620 80114F20 00000000 */ nop
/* AB624 80114F24 92420029 */ lbu $v0, 0x29($s2)
/* AB628 80114F28 145600D7 */ bne $v0, $s6, .L80115288
/* AB62C 80114F2C 24050002 */ addiu $a1, $zero, 2
/* AB630 80114F30 14A00002 */ bnez $a1, .L80114F3C
/* AB634 80114F34 0065001A */ div $zero, $v1, $a1
/* AB638 80114F38 0007000D */ break 7
.L80114F3C:
/* AB63C 80114F3C 2401FFFF */ addiu $at, $zero, -1
/* AB640 80114F40 14A10004 */ bne $a1, $at, .L80114F54
/* AB644 80114F44 3C018000 */ lui $at, 0x8000
/* AB648 80114F48 14610002 */ bne $v1, $at, .L80114F54
/* AB64C 80114F4C 00000000 */ nop
/* AB650 80114F50 0006000D */ break 6
.L80114F54:
/* AB654 80114F54 00001012 */ mflo $v0
.L80114F58:
/* AB658 80114F58 28420008 */ slti $v0, $v0, 8
/* AB65C 80114F5C 144000CA */ bnez $v0, .L80115288
/* AB660 80114F60 00000000 */ nop
/* AB664 80114F64 14A00002 */ bnez $a1, .L80114F70
/* AB668 80114F68 00C5001A */ div $zero, $a2, $a1
/* AB66C 80114F6C 0007000D */ break 7
.L80114F70:
/* AB670 80114F70 2401FFFF */ addiu $at, $zero, -1
/* AB674 80114F74 14A10004 */ bne $a1, $at, .L80114F88
/* AB678 80114F78 3C018000 */ lui $at, 0x8000
/* AB67C 80114F7C 14C10002 */ bne $a2, $at, .L80114F88
/* AB680 80114F80 00000000 */ nop
/* AB684 80114F84 0006000D */ break 6
.L80114F88:
/* AB688 80114F88 00001012 */ mflo $v0
/* AB68C 80114F8C 184000BE */ blez $v0, .L80115288
/* AB690 80114F90 00000000 */ nop
/* AB694 80114F94 96430022 */ lhu $v1, 0x22($s2)
/* AB698 80114F98 14A00002 */ bnez $a1, .L80114FA4
/* AB69C 80114F9C 0065001A */ div $zero, $v1, $a1
/* AB6A0 80114FA0 0007000D */ break 7
.L80114FA4:
/* AB6A4 80114FA4 2401FFFF */ addiu $at, $zero, -1
/* AB6A8 80114FA8 14A10004 */ bne $a1, $at, .L80114FBC
/* AB6AC 80114FAC 3C018000 */ lui $at, 0x8000
/* AB6B0 80114FB0 14610002 */ bne $v1, $at, .L80114FBC
/* AB6B4 80114FB4 00000000 */ nop
/* AB6B8 80114FB8 0006000D */ break 6
.L80114FBC:
/* AB6BC 80114FBC 00001012 */ mflo $v0
/* AB6C0 80114FC0 00000000 */ nop
/* AB6C4 80114FC4 00000000 */ nop
/* AB6C8 80114FC8 00460018 */ mult $v0, $a2
/* AB6CC 80114FCC 00004812 */ mflo $t1
/* AB6D0 80114FD0 00000000 */ nop
/* AB6D4 80114FD4 14A00002 */ bnez $a1, .L80114FE0
/* AB6D8 80114FD8 0125001A */ div $zero, $t1, $a1
/* AB6DC 80114FDC 0007000D */ break 7
.L80114FE0:
/* AB6E0 80114FE0 2401FFFF */ addiu $at, $zero, -1
/* AB6E4 80114FE4 14A10004 */ bne $a1, $at, .L80114FF8
/* AB6E8 80114FE8 3C018000 */ lui $at, 0x8000
/* AB6EC 80114FEC 15210002 */ bne $t1, $at, .L80114FF8
/* AB6F0 80114FF0 00000000 */ nop
/* AB6F4 80114FF4 0006000D */ break 6
.L80114FF8:
/* AB6F8 80114FF8 00002012 */ mflo $a0
/* AB6FC 80114FFC 00052840 */ sll $a1, $a1, 1
/* AB700 80115000 14A00002 */ bnez $a1, .L8011500C
/* AB704 80115004 0065001A */ div $zero, $v1, $a1
/* AB708 80115008 0007000D */ break 7
.L8011500C:
/* AB70C 8011500C 2401FFFF */ addiu $at, $zero, -1
/* AB710 80115010 14A10004 */ bne $a1, $at, .L80115024
/* AB714 80115014 3C018000 */ lui $at, 0x8000
/* AB718 80115018 14610002 */ bne $v1, $at, .L80115024
/* AB71C 8011501C 00000000 */ nop
/* AB720 80115020 0006000D */ break 6
.L80115024:
/* AB724 80115024 00001012 */ mflo $v0
/* AB728 80115028 080453D6 */ j .L80114F58
/* AB72C 8011502C 02048021 */ addu $s0, $s0, $a0
.L80115030:
/* AB730 80115030 9642002C */ lhu $v0, 0x2c($s2)
/* AB734 80115034 30430F00 */ andi $v1, $v0, 0xf00
/* AB738 80115038 24020200 */ addiu $v0, $zero, 0x200
/* AB73C 8011503C 14620049 */ bne $v1, $v0, .L80115164
/* AB740 80115040 24020300 */ addiu $v0, $zero, 0x300
/* AB744 80115044 92420029 */ lbu $v0, 0x29($s2)
/* AB748 80115048 5456008F */ bnel $v0, $s6, .L80115288
/* AB74C 8011504C 00108040 */ sll $s0, $s0, 1
/* AB750 80115050 96470022 */ lhu $a3, 0x22($s2)
/* AB754 80115054 24040002 */ addiu $a0, $zero, 2
/* AB758 80115058 14800002 */ bnez $a0, .L80115064
/* AB75C 8011505C 00E4001A */ div $zero, $a3, $a0
/* AB760 80115060 0007000D */ break 7
.L80115064:
/* AB764 80115064 2401FFFF */ addiu $at, $zero, -1
/* AB768 80115068 14810004 */ bne $a0, $at, .L8011507C
/* AB76C 8011506C 3C018000 */ lui $at, 0x8000
/* AB770 80115070 14E10002 */ bne $a3, $at, .L8011507C
/* AB774 80115074 00000000 */ nop
/* AB778 80115078 0006000D */ break 6
.L8011507C:
/* AB77C 8011507C 00001012 */ mflo $v0
/* AB780 80115080 28420004 */ slti $v0, $v0, 4
/* AB784 80115084 54400080 */ bnel $v0, $zero, .L80115288
/* AB788 80115088 00108040 */ sll $s0, $s0, 1
/* AB78C 8011508C 96460026 */ lhu $a2, 0x26($s2)
.L80115090:
/* AB790 80115090 14800002 */ bnez $a0, .L8011509C
/* AB794 80115094 00C4001A */ div $zero, $a2, $a0
/* AB798 80115098 0007000D */ break 7
.L8011509C:
/* AB79C 8011509C 2401FFFF */ addiu $at, $zero, -1
/* AB7A0 801150A0 14810004 */ bne $a0, $at, .L801150B4
/* AB7A4 801150A4 3C018000 */ lui $at, 0x8000
/* AB7A8 801150A8 14C10002 */ bne $a2, $at, .L801150B4
/* AB7AC 801150AC 00000000 */ nop
/* AB7B0 801150B0 0006000D */ break 6
.L801150B4:
/* AB7B4 801150B4 00001012 */ mflo $v0
/* AB7B8 801150B8 58400073 */ blezl $v0, .L80115288
/* AB7BC 801150BC 00108040 */ sll $s0, $s0, 1
/* AB7C0 801150C0 14800002 */ bnez $a0, .L801150CC
/* AB7C4 801150C4 00E4001A */ div $zero, $a3, $a0
/* AB7C8 801150C8 0007000D */ break 7
.L801150CC:
/* AB7CC 801150CC 2401FFFF */ addiu $at, $zero, -1
/* AB7D0 801150D0 14810004 */ bne $a0, $at, .L801150E4
/* AB7D4 801150D4 3C018000 */ lui $at, 0x8000
/* AB7D8 801150D8 14E10002 */ bne $a3, $at, .L801150E4
/* AB7DC 801150DC 00000000 */ nop
/* AB7E0 801150E0 0006000D */ break 6
.L801150E4:
/* AB7E4 801150E4 00001012 */ mflo $v0
/* AB7E8 801150E8 00000000 */ nop
/* AB7EC 801150EC 00000000 */ nop
/* AB7F0 801150F0 00460018 */ mult $v0, $a2
/* AB7F4 801150F4 00001812 */ mflo $v1
/* AB7F8 801150F8 00000000 */ nop
/* AB7FC 801150FC 14800002 */ bnez $a0, .L80115108
/* AB800 80115100 0064001A */ div $zero, $v1, $a0
/* AB804 80115104 0007000D */ break 7
.L80115108:
/* AB808 80115108 2401FFFF */ addiu $at, $zero, -1
/* AB80C 8011510C 14810004 */ bne $a0, $at, .L80115120
/* AB810 80115110 3C018000 */ lui $at, 0x8000
/* AB814 80115114 14610002 */ bne $v1, $at, .L80115120
/* AB818 80115118 00000000 */ nop
/* AB81C 8011511C 0006000D */ break 6
.L80115120:
/* AB820 80115120 00001812 */ mflo $v1
/* AB824 80115124 00042040 */ sll $a0, $a0, 1
/* AB828 80115128 14800002 */ bnez $a0, .L80115134
/* AB82C 8011512C 00E4001A */ div $zero, $a3, $a0
/* AB830 80115130 0007000D */ break 7
.L80115134:
/* AB834 80115134 2401FFFF */ addiu $at, $zero, -1
/* AB838 80115138 14810004 */ bne $a0, $at, .L8011514C
/* AB83C 8011513C 3C018000 */ lui $at, 0x8000
/* AB840 80115140 14E10002 */ bne $a3, $at, .L8011514C
/* AB844 80115144 00000000 */ nop
/* AB848 80115148 0006000D */ break 6
.L8011514C:
/* AB84C 8011514C 00001012 */ mflo $v0
/* AB850 80115150 28420004 */ slti $v0, $v0, 4
/* AB854 80115154 1040FFCE */ beqz $v0, .L80115090
/* AB858 80115158 02038021 */ addu $s0, $s0, $v1
/* AB85C 8011515C 080454A2 */ j .L80115288
/* AB860 80115160 00108040 */ sll $s0, $s0, 1
.L80115164:
/* AB864 80115164 14620048 */ bne $v1, $v0, .L80115288
/* AB868 80115168 00000000 */ nop
/* AB86C 8011516C 92420029 */ lbu $v0, 0x29($s2)
/* AB870 80115170 54560045 */ bnel $v0, $s6, .L80115288
/* AB874 80115174 00108080 */ sll $s0, $s0, 2
/* AB878 80115178 96470022 */ lhu $a3, 0x22($s2)
/* AB87C 8011517C 24040002 */ addiu $a0, $zero, 2
/* AB880 80115180 14800002 */ bnez $a0, .L8011518C
/* AB884 80115184 00E4001A */ div $zero, $a3, $a0
/* AB888 80115188 0007000D */ break 7
.L8011518C:
/* AB88C 8011518C 2401FFFF */ addiu $at, $zero, -1
/* AB890 80115190 14810004 */ bne $a0, $at, .L801151A4
/* AB894 80115194 3C018000 */ lui $at, 0x8000
/* AB898 80115198 14E10002 */ bne $a3, $at, .L801151A4
/* AB89C 8011519C 00000000 */ nop
/* AB8A0 801151A0 0006000D */ break 6
.L801151A4:
/* AB8A4 801151A4 00001012 */ mflo $v0
/* AB8A8 801151A8 0044102A */ slt $v0, $v0, $a0
/* AB8AC 801151AC 54400036 */ bnel $v0, $zero, .L80115288
/* AB8B0 801151B0 00108080 */ sll $s0, $s0, 2
/* AB8B4 801151B4 96460026 */ lhu $a2, 0x26($s2)
.L801151B8:
/* AB8B8 801151B8 14800002 */ bnez $a0, .L801151C4
/* AB8BC 801151BC 00C4001A */ div $zero, $a2, $a0
/* AB8C0 801151C0 0007000D */ break 7
.L801151C4:
/* AB8C4 801151C4 2401FFFF */ addiu $at, $zero, -1
/* AB8C8 801151C8 14810004 */ bne $a0, $at, .L801151DC
/* AB8CC 801151CC 3C018000 */ lui $at, 0x8000
/* AB8D0 801151D0 14C10002 */ bne $a2, $at, .L801151DC
/* AB8D4 801151D4 00000000 */ nop
/* AB8D8 801151D8 0006000D */ break 6
.L801151DC:
/* AB8DC 801151DC 00001012 */ mflo $v0
/* AB8E0 801151E0 58400029 */ blezl $v0, .L80115288
/* AB8E4 801151E4 00108080 */ sll $s0, $s0, 2
/* AB8E8 801151E8 14800002 */ bnez $a0, .L801151F4
/* AB8EC 801151EC 00E4001A */ div $zero, $a3, $a0
/* AB8F0 801151F0 0007000D */ break 7
.L801151F4:
/* AB8F4 801151F4 2401FFFF */ addiu $at, $zero, -1
/* AB8F8 801151F8 14810004 */ bne $a0, $at, .L8011520C
/* AB8FC 801151FC 3C018000 */ lui $at, 0x8000
/* AB900 80115200 14E10002 */ bne $a3, $at, .L8011520C
/* AB904 80115204 00000000 */ nop
/* AB908 80115208 0006000D */ break 6
.L8011520C:
/* AB90C 8011520C 00001012 */ mflo $v0
/* AB910 80115210 00000000 */ nop
/* AB914 80115214 00000000 */ nop
/* AB918 80115218 00460018 */ mult $v0, $a2
/* AB91C 8011521C 00001812 */ mflo $v1
/* AB920 80115220 00000000 */ nop
/* AB924 80115224 14800002 */ bnez $a0, .L80115230
/* AB928 80115228 0064001A */ div $zero, $v1, $a0
/* AB92C 8011522C 0007000D */ break 7
.L80115230:
/* AB930 80115230 2401FFFF */ addiu $at, $zero, -1
/* AB934 80115234 14810004 */ bne $a0, $at, .L80115248
/* AB938 80115238 3C018000 */ lui $at, 0x8000
/* AB93C 8011523C 14610002 */ bne $v1, $at, .L80115248
/* AB940 80115240 00000000 */ nop
/* AB944 80115244 0006000D */ break 6
.L80115248:
/* AB948 80115248 00001812 */ mflo $v1
/* AB94C 8011524C 00042040 */ sll $a0, $a0, 1
/* AB950 80115250 14800002 */ bnez $a0, .L8011525C
/* AB954 80115254 00E4001A */ div $zero, $a3, $a0
/* AB958 80115258 0007000D */ break 7
.L8011525C:
/* AB95C 8011525C 2401FFFF */ addiu $at, $zero, -1
/* AB960 80115260 14810004 */ bne $a0, $at, .L80115274
/* AB964 80115264 3C018000 */ lui $at, 0x8000
/* AB968 80115268 14E10002 */ bne $a3, $at, .L80115274
/* AB96C 8011526C 00000000 */ nop
/* AB970 80115270 0006000D */ break 6
.L80115274:
/* AB974 80115274 00001012 */ mflo $v0
/* AB978 80115278 28420002 */ slti $v0, $v0, 2
/* AB97C 8011527C 1040FFCE */ beqz $v0, .L801151B8
/* AB980 80115280 02038021 */ addu $s0, $s0, $v1
/* AB984 80115284 00108080 */ sll $s0, $s0, 2
.L80115288:
/* AB988 80115288 9642002A */ lhu $v0, 0x2a($s2)
/* AB98C 8011528C 24030002 */ addiu $v1, $zero, 2
/* AB990 80115290 3042000F */ andi $v0, $v0, 0xf
/* AB994 80115294 14430007 */ bne $v0, $v1, .L801152B4
/* AB998 80115298 0000A82D */ daddu $s5, $zero, $zero
/* AB99C 8011529C 9642002C */ lhu $v0, 0x2c($s2)
/* AB9A0 801152A0 24080100 */ addiu $t0, $zero, 0x100
/* AB9A4 801152A4 30420F00 */ andi $v0, $v0, 0xf00
/* AB9A8 801152A8 14480002 */ bne $v0, $t0, .L801152B4
/* AB9AC 801152AC 24150020 */ addiu $s5, $zero, 0x20
/* AB9B0 801152B0 24150200 */ addiu $s5, $zero, 0x200
.L801152B4:
/* AB9B4 801152B4 92430029 */ lbu $v1, 0x29($s2)
/* AB9B8 801152B8 24020003 */ addiu $v0, $zero, 3
/* AB9BC 801152BC 1462001F */ bne $v1, $v0, .L8011533C
/* AB9C0 801152C0 0000982D */ daddu $s3, $zero, $zero
/* AB9C4 801152C4 96440020 */ lhu $a0, 0x20($s2)
/* AB9C8 801152C8 96420024 */ lhu $v0, 0x24($s2)
/* AB9CC 801152CC 00820018 */ mult $a0, $v0
/* AB9D0 801152D0 9643002C */ lhu $v1, 0x2c($s2)
/* AB9D4 801152D4 3063F000 */ andi $v1, $v1, 0xf000
/* AB9D8 801152D8 00008812 */ mflo $s1
/* AB9DC 801152DC 14600003 */ bnez $v1, .L801152EC
/* AB9E0 801152E0 24081000 */ addiu $t0, $zero, 0x1000
/* AB9E4 801152E4 080454C3 */ j .L8011530C
/* AB9E8 801152E8 00118842 */ srl $s1, $s1, 1
.L801152EC:
/* AB9EC 801152EC 10680007 */ beq $v1, $t0, .L8011530C
/* AB9F0 801152F0 24022000 */ addiu $v0, $zero, 0x2000
/* AB9F4 801152F4 14620003 */ bne $v1, $v0, .L80115304
/* AB9F8 801152F8 24023000 */ addiu $v0, $zero, 0x3000
/* AB9FC 801152FC 080454C3 */ j .L8011530C
/* ABA00 80115300 00118840 */ sll $s1, $s1, 1
.L80115304:
/* ABA04 80115304 50620001 */ beql $v1, $v0, .L8011530C
/* ABA08 80115308 00118880 */ sll $s1, $s1, 2
.L8011530C:
/* ABA0C 8011530C 9642002A */ lhu $v0, 0x2a($s2)
/* ABA10 80115310 24030020 */ addiu $v1, $zero, 0x20
/* ABA14 80115314 304200F0 */ andi $v0, $v0, 0xf0
/* ABA18 80115318 14430009 */ bne $v0, $v1, .L80115340
/* ABA1C 8011531C 0000982D */ daddu $s3, $zero, $zero
/* ABA20 80115320 9642002C */ lhu $v0, 0x2c($s2)
/* ABA24 80115324 24081000 */ addiu $t0, $zero, 0x1000
/* ABA28 80115328 3042F000 */ andi $v0, $v0, 0xf000
/* ABA2C 8011532C 14480004 */ bne $v0, $t0, .L80115340
/* ABA30 80115330 0060982D */ daddu $s3, $v1, $zero
/* ABA34 80115334 080454D0 */ j .L80115340
/* ABA38 80115338 24130200 */ addiu $s3, $zero, 0x200
.L8011533C:
/* ABA3C 8011533C 0260882D */ daddu $s1, $s3, $zero
.L80115340:
/* ABA40 80115340 02E0202D */ daddu $a0, $s7, $zero
/* ABA44 80115344 0C01BB5C */ jal strcmp
/* ABA48 80115348 0240282D */ daddu $a1, $s2, $zero
/* ABA4C 8011534C 1040000D */ beqz $v0, .L80115384
/* ABA50 80115350 02151021 */ addu $v0, $s0, $s5
/* ABA54 80115354 24420030 */ addiu $v0, $v0, 0x30
/* ABA58 80115358 0282A021 */ addu $s4, $s4, $v0
/* ABA5C 8011535C 8FA80020 */ lw $t0, 0x20($sp)
/* ABA60 80115360 02331021 */ addu $v0, $s1, $s3
/* ABA64 80115364 25080001 */ addiu $t0, $t0, 1
/* ABA68 80115368 AFA80020 */ sw $t0, 0x20($sp)
/* ABA6C 8011536C 8FA80058 */ lw $t0, 0x58($sp)
/* ABA70 80115370 0282A021 */ addu $s4, $s4, $v0
/* ABA74 80115374 03C81021 */ addu $v0, $fp, $t0
/* ABA78 80115378 0282102B */ sltu $v0, $s4, $v0
/* ABA7C 8011537C 1440FE94 */ bnez $v0, .L80114DD0
/* ABA80 80115380 0280202D */ daddu $a0, $s4, $zero
.L80115384:
/* ABA84 80115384 3C020004 */ lui $v0, 4
/* ABA88 80115388 03C21021 */ addu $v0, $fp, $v0
/* ABA8C 8011538C 0282102B */ sltu $v0, $s4, $v0
/* ABA90 80115390 14400009 */ bnez $v0, .L801153B8
/* ABA94 80115394 00000000 */ nop
.L80115398:
/* ABA98 80115398 3C028015 */ lui $v0, %hi(mdl_treeIterPos)
/* ABA9C 8011539C 8C423224 */ lw $v0, %lo(mdl_treeIterPos)($v0)
/* ABAA0 801153A0 3C03800A */ lui $v1, %hi(mdl_currentModelTreeNodeInfo)
/* ABAA4 801153A4 8C63A5F4 */ lw $v1, %lo(mdl_currentModelTreeNodeInfo)($v1)
/* ABAA8 801153A8 00021080 */ sll $v0, $v0, 2
/* ABAAC 801153AC 00431021 */ addu $v0, $v0, $v1
/* ABAB0 801153B0 0804551A */ j .L80115468
/* ABAB4 801153B4 A0400002 */ sb $zero, 2($v0)
.L801153B8:
/* ABAB8 801153B8 3C168015 */ lui $s6, %hi(mdl_treeIterPos)
/* ABABC 801153BC 26D63224 */ addiu $s6, $s6, %lo(mdl_treeIterPos)
/* ABAC0 801153C0 3C17800A */ lui $s7, %hi(mdl_currentModelTreeNodeInfo)
/* ABAC4 801153C4 26F7A5F4 */ addiu $s7, $s7, %lo(mdl_currentModelTreeNodeInfo)
/* ABAC8 801153C8 8EC20000 */ lw $v0, ($s6)
/* ABACC 801153CC 8EE30000 */ lw $v1, ($s7)
/* ABAD0 801153D0 8FA80020 */ lw $t0, 0x20($sp)
/* ABAD4 801153D4 00021080 */ sll $v0, $v0, 2
/* ABAD8 801153D8 00431021 */ addu $v0, $v0, $v1
/* ABADC 801153DC 25030001 */ addiu $v1, $t0, 1
/* ABAE0 801153E0 A0430002 */ sb $v1, 2($v0)
/* ABAE4 801153E4 8EC20000 */ lw $v0, ($s6)
/* ABAE8 801153E8 8EE30000 */ lw $v1, ($s7)
/* ABAEC 801153EC 00021080 */ sll $v0, $v0, 2
/* ABAF0 801153F0 00431021 */ addu $v0, $v0, $v1
/* ABAF4 801153F4 90430002 */ lbu $v1, 2($v0)
/* ABAF8 801153F8 3C048016 */ lui $a0, %hi(mdl_textureHandles)
/* ABAFC 801153FC 2484A590 */ addiu $a0, $a0, %lo(mdl_textureHandles)
/* ABB00 80115400 00031100 */ sll $v0, $v1, 4
/* ABB04 80115404 00431021 */ addu $v0, $v0, $v1
/* ABB08 80115408 00021080 */ sll $v0, $v0, 2
/* ABB0C 8011540C 00442821 */ addu $a1, $v0, $a0
/* ABB10 80115410 8CA20000 */ lw $v0, ($a1)
/* ABB14 80115414 14400014 */ bnez $v0, .L80115468
/* ABB18 80115418 26940030 */ addiu $s4, $s4, 0x30
/* ABB1C 8011541C 0280202D */ daddu $a0, $s4, $zero
/* ABB20 80115420 0240302D */ daddu $a2, $s2, $zero
/* ABB24 80115424 0200382D */ daddu $a3, $s0, $zero
/* ABB28 80115428 AFB50010 */ sw $s5, 0x10($sp)
/* ABB2C 8011542C AFB10014 */ sw $s1, 0x14($sp)
/* ABB30 80115430 0C0452D6 */ jal func_80114B58
/* ABB34 80115434 AFB30018 */ sw $s3, 0x18($sp)
/* ABB38 80115438 02902021 */ addu $a0, $s4, $s0
/* ABB3C 8011543C 00952021 */ addu $a0, $a0, $s5
/* ABB40 80115440 00912021 */ addu $a0, $a0, $s1
/* ABB44 80115444 00932021 */ addu $a0, $a0, $s3
/* ABB48 80115448 8EC20000 */ lw $v0, ($s6)
/* ABB4C 8011544C 8EE30000 */ lw $v1, ($s7)
/* ABB50 80115450 8FA70058 */ lw $a3, 0x58($sp)
/* ABB54 80115454 00021080 */ sll $v0, $v0, 2
/* ABB58 80115458 00431021 */ addu $v0, $v0, $v1
/* ABB5C 8011545C 90450002 */ lbu $a1, 2($v0)
/* ABB60 80115460 0C045526 */ jal func_80115498
/* ABB64 80115464 03C0302D */ daddu $a2, $fp, $zero
.L80115468:
/* ABB68 80115468 8FBF004C */ lw $ra, 0x4c($sp)
/* ABB6C 8011546C 8FBE0048 */ lw $fp, 0x48($sp)
/* ABB70 80115470 8FB70044 */ lw $s7, 0x44($sp)
/* ABB74 80115474 8FB60040 */ lw $s6, 0x40($sp)
/* ABB78 80115478 8FB5003C */ lw $s5, 0x3c($sp)
/* ABB7C 8011547C 8FB40038 */ lw $s4, 0x38($sp)
/* ABB80 80115480 8FB30034 */ lw $s3, 0x34($sp)
/* ABB84 80115484 8FB20030 */ lw $s2, 0x30($sp)
/* ABB88 80115488 8FB1002C */ lw $s1, 0x2c($sp)
/* ABB8C 8011548C 8FB00028 */ lw $s0, 0x28($sp)
/* ABB90 80115490 03E00008 */ jr $ra
/* ABB94 80115494 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,27 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel mdl_local_gfx_update_vtx_pointers
/* B27DC 8011C0DC 0080482D */ daddu $t1, $a0, $zero
/* B27E0 8011C0E0 240D0001 */ addiu $t5, $zero, 1
/* B27E4 8011C0E4 240C00DF */ addiu $t4, $zero, 0xdf
.L8011C0E8:
/* B27E8 8011C0E8 8D220000 */ lw $v0, ($t1)
/* B27EC 8011C0EC 8D230004 */ lw $v1, 4($t1)
/* B27F0 8011C0F0 8D280004 */ lw $t0, 4($t1)
/* B27F4 8011C0F4 00025802 */ srl $t3, $v0, 0
/* B27F8 8011C0F8 0000502D */ daddu $t2, $zero, $zero
/* B27FC 8011C0FC 000B1E02 */ srl $v1, $t3, 0x18
/* B2800 8011C100 146D0005 */ bne $v1, $t5, .L8011C118
/* B2804 8011C104 25290008 */ addiu $t1, $t1, 8
/* B2808 8011C108 01051023 */ subu $v0, $t0, $a1
/* B280C 8011C10C 00021103 */ sra $v0, $v0, 4
/* B2810 8011C110 00021100 */ sll $v0, $v0, 4
/* B2814 8011C114 00E24021 */ addu $t0, $a3, $v0
.L8011C118:
/* B2818 8011C118 ACCB0000 */ sw $t3, ($a2)
/* B281C 8011C11C ACC80004 */ sw $t0, 4($a2)
/* B2820 8011C120 146CFFF1 */ bne $v1, $t4, .L8011C0E8
/* B2824 8011C124 24C60008 */ addiu $a2, $a2, 8
/* B2828 8011C128 03E00008 */ jr $ra
/* B282C 8011C12C 00000000 */ nop

View File

@ -4033,7 +4033,7 @@ make_transform_group = 0x8011B37C; // type:func rom:0xB1A7C
enable_transform_group = 0x8011B5D0; // type:func rom:0xB1CD0
disable_transform_group = 0x8011B660; // type:func rom:0xB1D60
clone_model = 0x8011B6F0; // type:func rom:0xB1DF0
func_8011B7C0 = 0x8011B7C0; // type:func rom:0xB1EC0
set_model_flags = 0x8011B7C0; // type:func rom:0xB1EC0
func_8011B950 = 0x8011B950; // type:func rom:0xB2050
func_8011BAE8 = 0x8011BAE8; // type:func rom:0xB21E8
enable_world_fog = 0x8011BB50; // type:func rom:0xB2250
@ -4828,7 +4828,7 @@ gCurrentTransformGroups = 0x801512E0; // type:data rom:0xE79E0
gMsgGlobalWaveCounter = 0x801512E4; // type:data rom:0xE79E4
gCurrentCustomModelGfxPtr = 0x801512E8; // rom:0xE79E8
gLastCreatedEntityIndex = 0x801512EC; // rom:0xE79EC
gBgRenderTypePtr = 0x801512F0; // type:data rom:0xE79F0
gBackgroundFogModePtr = 0x801512F0; // type:data rom:0xE79F0
gMsgVarImages = 0x801512F4; // type:data rom:0xE79F4
ItemEntitiesCreated = 0x801512F8; // type:data rom:0xE79F8
gCurrentModelTreeRoot = 0x801512FC; // type:data rom:0xE79FC
@ -4942,8 +4942,8 @@ evt_handle_if_AND = 0x802C4E90; // type:func rom:0xE9840
evt_handle_if_not_AND = 0x802C4EE8; // type:func rom:0xE9898
evt_handle_else = 0x802C4F40; // type:func rom:0xE98F0
evt_handle_end_if = 0x802C4F6C; // type:func rom:0xE991C
wBgRenderType = 0x80153220; // type:data rom:0xE9920
bBgRenderType = 0x80153221; // type:data rom:0xE9921
wBackgroundFogMode = 0x80153220; // type:data rom:0xE9920
bBackgroundFogMode = 0x80153221; // type:data rom:0xE9921
D_80153222 = 0x80153222; // type:data rom:0xE9922
D_80153223 = 0x80153223; // type:data rom:0xE9923
evt_handle_switch = 0x802C4F74; // type:func rom:0xE9924