fold_* , effect_10, and other assorted decomp (#535)

* work on appendGfx_message

* :OK:

* indentation

* message window states

* SetEntityCullMode & some of appendGfx_model

* 9 smalls

* 2 more

* 2 mo

* update_player_actor_shadow

* EffectInstanceData rework

* some shtuff

* effect_10 dun

* wip

* wip

* wipz

* rename

* progz

* remove wip work for appendGfx_model

* PR comments

* Alex comments

* tomorrow for sure

* eventually
This commit is contained in:
Ethan Roseman 2021-11-19 09:31:28 -05:00 committed by GitHub
parent fa892a40de
commit 755c83a363
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
107 changed files with 1380 additions and 1764 deletions

View File

@ -1361,7 +1361,7 @@ typedef struct {
typedef union {
Light_t l;
//long long int force_structure_alignment[2];
long long int force_structure_alignment[2];
} Light;
typedef union {

View File

@ -827,7 +827,7 @@ typedef struct CollisionData {
typedef struct ModelGroupData {
/* 0x00 */ UNK_PTR transformMatrix;
/* 0x04 */ UNK_PTR lightingGroup;
/* 0x04 */ Lightsn* lightingGroup;
/* 0x08 */ s32 numLights;
/* 0x0C */ s32 numChildren;
/* 0x10 */ struct ModelNode** childList;
@ -1439,9 +1439,11 @@ typedef struct DecorationUnk {
} DecorationUnk; // size = 0x20
typedef struct DecorationTable {
/* 0x000 */ char unk_00[1729];
/* 0x000 */ char unk_00[0x6C0];
/* 0x6C0 */ s8 unk_6C0;
/* 0x6C1 */ s8 unk_6C1;
/* 0x6C2 */ char unk_6C2[11];
/* 0x6C2 */ s8 unk_6C2;
/* 0x6C3 */ char unk_6C3[10];
/* 0x6CD */ s8 unk_6CD;
/* 0x6CE */ char unk_6CE[6];
/* 0x6D4 */ s32* unk_6D4;
@ -1510,17 +1512,17 @@ typedef struct StaticPriceItem {
typedef struct PopupMenu {
/* 0x000 */ s32* ptrIcon[32];
/* 0x080 */ char unk_80[4];
/* 0x080 */ char unk_80[0x4];
/* 0x084 */ s32 nameMsg[32];
/* 0x104 */ char unk_104[4];
/* 0x104 */ char unk_104[0x4];
/* 0x108 */ s32 userIndex[32]; // used to map menu order to a user-ID for each item
/* 0x188 */ char unk_188[4];
/* 0x188 */ char unk_188[0x4];
/* 0x18C */ s32 enabled[32];
/* 0x20C */ char unk_20C[4];
/* 0x20C */ char unk_20C[0x4];
/* 0x210 */ s32 value[32]; // sale price, etc
/* 0x290 */ char unk_290[4];
/* 0x290 */ char unk_290[0x4];
/* 0x294 */ s32 descMsg[32];
/* 0x314 */ char unk_314[4];
/* 0x314 */ char unk_314[0x4];
/* 0x318 */ s32 popupType; // C = keys
/* 0x31C */ s32 unk_31C;
/* 0x320 */ s32 unk_320;
@ -1534,7 +1536,7 @@ typedef struct Shop {
/* 0x000 */ s16 flags;
/* 0x002 */ s16 numItems;
/* 0x004 */ s16 numSpecialPrices;
/* 0x006 */ char unk_06[2];
/* 0x006 */ char unk_06[0x2];
/* 0x008 */ s32 currentItemSlot;
/* 0x00C */ s32 selectedStoreItemSlot;
/* 0x010 */ ShopOwner* owner;
@ -1696,7 +1698,9 @@ typedef struct Actor {
/* 0x1FC */ s16 damageCounter;
/* 0x1FE */ char unk_1FE[2];
/* 0x200 */ s32** unk_200; // Probably a struct but not sure what yet
/* 0x204 */ char unk_204[3];
/* 0x204 */ s8 unk_204;
/* 0x205 */ char unk_205[0x1];
/* 0x206 */ s8 unk_206;
/* 0x207 */ s8 extraCoinBonus;
/* 0x208 */ s8 unk_208;
/* 0x209 */ char unk_209[3];
@ -1737,22 +1741,6 @@ typedef struct Actor {
/* 0x440 */ struct HudElement* ptrDefuffIcon;
} Actor; // size = 0x444
typedef struct TileDescriptor {
/* 0x00 */ s8 name[32];
/* 0x20 */ s16 auxW;
/* 0x22 */ s16 mainW;
/* 0x24 */ s16 auxH;
/* 0x26 */ s16 mainH;
/* 0x28 */ char unk_28;
/* 0x29 */ u8 extraTiles;
/* 0x2A */ u8 colorCombine;
/* 0x2B */ u8 fmt;
/* 0x2C */ u8 bitDepth;
/* 0x2D */ u8 wrapH;
/* 0x2E */ u8 wrapV;
/* 0x2F */ u8 filtering;
} TileDescriptor; // size = 0x30
typedef struct BackgroundHeader {
/* 0x00 */ void* raster;
/* 0x04 */ void* palette;
@ -2104,7 +2092,8 @@ typedef struct struct802E4B10 {
// END ENTITY-SPECIFIC STRUCTS
typedef struct {
/* 0x00000 */ LookAt lookAt[2];
/* 0x00000 */ LookAt lookAt;
/* 0x00020 */ char unk_20[0x10];
/* 0x00030 */ Matrix4s camPerspMatrix[8]; // could only be length 4, unsure
/* 0x00230 */ Gfx mainGfx[0x2080];
/* 0x10630 */ Gfx backgroundGfx[0x200]; // used by gfx_task_background

View File

@ -65,6 +65,41 @@ typedef struct StarSpiritEffect {
/* 0x54 */ struct StarSpiritEffectUnkStruct* unk_54;
} StarSpiritEffect; // size = 0x58
// Used by effects 8 and 9 (TODO: better name)
typedef struct Effect8 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ u16 unk_04;
/* 0x06 */ s16 unk_06;
/* 0x08 */ u8 primAlpha;
/* 0x09 */ s8 unk_09;
/* 0x0A */ char unk_0A[0x2];
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 unk_28;
/* 0x2C */ f32 unk_2C;
/* 0x30 */ Mtx unk_30;
/* 0x70 */ f32 unk_70;
/* 0x74 */ f32 unk_74;
/* 0x78 */ f32 unk_78;
/* 0x7C */ f32 unk_7C;
/* 0x80 */ f32 unk_80;
/* 0x84 */ f32 unk_84;
/* 0x88 */ f32 unk_88;
/* 0x8C */ f32 unk_8C;
/* 0x90 */ f32 unk_90;
/* 0x94 */ f32 unk_94;
} Effect8; // size = 0x98
typedef struct Effect12 {
/* 0x00 */ char unk_00[0x28];
/* 0x28 */ f32 unk_28;
} Effect12; // size = 0x2C
// TODO figure out what this actually is
// playFX_4E invokes gEffectTable[78]'s entryPoint function
// playFX_6F invokes gEffectTable[111]'s entryPoint function
@ -116,7 +151,7 @@ typedef struct EffectInstance {
/* 0x00 */ s32 flags;
/* 0x04 */ s32 effectIndex;
/* 0x08 */ s32 numParts;
/* 0x0C */ EffectInstanceData* data;
/* 0x0C */ void* data; // often but not always EffectInstanceData
/* 0x10 */ struct EffectGraphics* effect;
} EffectInstance;

View File

@ -3,37 +3,7 @@
#include "effects.h"
// Used by effects 8 and 9 (TODO: better name)
typedef struct Effect8 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ u16 unk_04;
/* 0x06 */ s16 unk_06;
/* 0x08 */ u8 primAlpha;
/* 0x09 */ s8 unk_09;
/* 0x0A */ char unk_0A[0x2];
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 unk_28;
/* 0x2C */ f32 unk_2C;
/* 0x30 */ Mtx unk_30;
/* 0x70 */ f32 unk_70;
/* 0x74 */ f32 unk_74;
/* 0x78 */ f32 unk_78;
/* 0x7C */ f32 unk_7C;
/* 0x80 */ f32 unk_80;
/* 0x84 */ f32 unk_84;
/* 0x88 */ f32 unk_88;
/* 0x8C */ f32 unk_8C;
/* 0x90 */ f32 unk_90;
/* 0x94 */ f32 unk_94;
} Effect8; // size = 0x98
u32 func_E0200000(s32);
s32 func_E0200000(s32);
EffectInstance* shim_create_effect_instance(EffectBlueprint* effectBp);
void shim_remove_effect(EffectInstance*);

View File

@ -2952,4 +2952,15 @@ enum MsgWindowStates {
MSG_WINDOW_STATE_E = 0xE,
};
enum FoldStateFlags {
FOLD_STATE_FLAGS_0 = 0x00000000,
FOLD_STATE_FLAGS_1 = 0x00000001,
FOLD_STATE_FLAGS_80 = 0x00000080,
FOLD_STATE_FLAGS_100 = 0x00000100,
FOLD_STATE_FLAGS_800 = 0x00000800,
FOLD_STATE_FLAGS_1000 = 0x00001000,
FOLD_STATE_FLAGS_4000 = 0x00004000,
FOLD_STATE_FLAGS_20000 = 0x00020000,
};
#endif

View File

@ -377,7 +377,7 @@ void create_part_shadow(s32 actorID, s32 partIndex);
void remove_part_shadow(s32 actorID, s32 partIndex);
void create_part_shadow_by_ref(s32 arg0, ActorPart* part);
s32 func_80266D6C(ActorPart*, s32);
void func_80266D6C(ActorPart*, s32);
char* int_to_string(s32, char*, s32);
Evt* get_script_by_index(s32 index);

View File

@ -4,7 +4,11 @@
#include "common.h"
#include "include_asm.h"
#ifndef M2CTX
#define BSS __attribute__ ((section (".bss")))
#else
#define BSS static
#endif
#define ALIGN16(val) (((val) + 0xF) & ~0xF)

View File

@ -35,11 +35,11 @@ typedef struct Model {
/* 0x58 */ Matrix4f transformMatrix;
/* 0x98 */ Vec3f center;
/* 0xA4 */ u8 texPannerID;
/* 0xA5 */ u8 specialDisplayListID;
/* 0xA5 */ u8 customGfxIndex;
/* 0xA6 */ s8 renderMode;
/* 0xA7 */ char unk_A7;
/* 0xA7 */ s8 matrixMode;
/* 0xA8 */ u8 textureID;
/* 0xA9 */ u8 unk_A9;
/* 0xA9 */ s8 textureVariation;
/* 0xAA */ char unk_AA[6];
} Model; // size = 0xB0
@ -76,6 +76,21 @@ typedef struct ModelTreeInfo {
/* 0x03 */ char unk_03;
} ModelTreeInfo; // size = 0x04
typedef struct TileDescriptor {
/* 0x00 */ s8 name[32];
/* 0x20 */ u16 auxW;
/* 0x22 */ u16 mainW;
/* 0x24 */ u16 auxH;
/* 0x26 */ u16 mainH;
/* 0x28 */ char unk_28;
/* 0x29 */ u8 extraTiles;
/* 0x2A */ u16 colorCombine;
/* 0x2C */ u8 bitDepth;
/* 0x2D */ u8 wrapH;
/* 0x2E */ u8 wrapV;
/* 0x2F */ u8 filtering;
} TileDescriptor; // size = 0x30
typedef struct TextureHandle {
/* 0x00 */ Gfx* gfx;
/* 0x04 */ TileDescriptor desc;

View File

@ -215,7 +215,51 @@ void func_80257B88(void) {
func_802571F0(1, gBattleStatus.partnerActor);
}
INCLUDE_ASM(s32, "182B30", update_player_actor_shadow);
void update_player_actor_shadow(void) {
BattleStatus* battleStatus = &gBattleStatus;
Camera* camera = &gCameras[CAM_BATTLE];
Actor* player = battleStatus->playerActor;
ActorPart* parts = player->partsTable;
Shadow* shadow;
f32 x, y, z, distance;
parts->unk_8C = spr_update_player_sprite(0, parts->currentAnimation, parts->animationRate);
if (player->flags & ACTOR_FLAG_10000000) {
func_802549F4(player);
}
shadow = get_shadow_by_index(player->shadow);
shadow->flags &= ~SHADOW_FLAGS_1;
if (!battleStatus->outtaSightActive) {
shadow->unk_05 = 128;
} else {
shadow->unk_05 = 40;
}
distance = 32767.0f;
x = player->currentPos.x + player->headOffset.x;
z = player->currentPos.z + player->headOffset.z;
y = player->currentPos.y + player->headOffset.y + 12.0;
npc_raycast_down_sides(0, &x, &y, &z, &distance);
if (distance > 200.0f) {
shadow->flags |= SHADOW_FLAGS_1;
}
shadow->position.x = x;
shadow->position.y = y;
shadow->position.z = z;
shadow->rotation.y = clamp_angle(player->yaw - camera->currentYaw);
set_standard_shadow_scale(shadow, distance);
shadow->scale.x *= player->shadowScale * player->scalingFactor;
if (parts->opacity >= 255 && !(parts->flags & 0x100)) {
player->renderMode = RENDER_MODE_ALPHATEST;
} else {
player->renderMode = RENDER_MODE_SURFACE_XLU_LAYER3;
}
}
INCLUDE_ASM(void, "182B30", func_80257DA4);

View File

@ -353,8 +353,8 @@ ApiStatus func_802616F4(Evt* script, s32 isInitialCall) {
effectInstanceData->pos.z = merlee->pos.z + 5.0f;
if (D_8029FBA4 == 2) {
D_8029FB98->data->unk_30 = 0.00001f;
D_8029FB9C->data->unk_30 = 0.00001f;
((EffectInstanceData*)D_8029FB98->data)->unk_30 = 0.00001f;
((EffectInstanceData*)D_8029FB9C->data)->unk_30 = 0.00001f;
D_8029FB98->flags |= 0x10;
D_8029FB9C->flags |= 0x10;
return ApiStatus_DONE1;

View File

@ -1069,6 +1069,8 @@ s32 bActorMessages[] = {
s32 D_802838F8 = 0;
extern Bytecode D_80293820[];
void create_target_list(Actor* actor, s32 arg1);
INCLUDE_ASM(s32, "190B20", create_target_list);
@ -1082,9 +1084,13 @@ void enemy_create_target_list(Actor* actor) {
INCLUDE_ASM(s32, "190B20", func_80263064);
INCLUDE_ASM(s32, "190B20", func_80263230);
void func_80263230(s32 arg0, s32 arg1) {
func_80263064(arg0, arg1, 0);
}
INCLUDE_ASM(s32, "190B20", func_8026324C);
void func_8026324C(s32 arg0, s32 arg1) {
func_80263064(arg0, arg1, 1);
}
INCLUDE_ASM(s32, "190B20", func_80263268);
@ -1148,7 +1154,7 @@ void func_802634B8(void) {
battleStatus->submenuMoves[i] = 0;
}
moveCount = 1;
moveCount = 1;
battleStatus->submenuMoves[0] = playerData->bootsLevel + 26;
battleStatus->submenuIcons[0] = 0x155;
do {
@ -1225,7 +1231,7 @@ void func_802636E4(void) {
battleStatus->submenuMoves[i] = 0;
}
moveCount = 1;
moveCount = 1;
battleStatus->submenuMoves[0] = playerData->hammerLevel + 3;
battleStatus->submenuIcons[0] = 0x155;
do {
@ -1396,24 +1402,26 @@ void reset_actor_turn_info(void) {
if (actor != NULL) {
actor->hpChangeCounter = 0;
actor->damageCounter = 0;
actor->unk_204[0] = 0;
actor->unk_204 = 0;
}
}
actor = battleStatus->playerActor;
actor->hpChangeCounter = 0;
actor->damageCounter = 0;
actor->unk_204[0] = 0;
actor->unk_204 = 0;
actor = battleStatus->partnerActor;
if (actor != NULL) {
actor->hpChangeCounter = 0;
actor->damageCounter = 0;
actor->unk_204[0] = 0;
actor->unk_204 = 0;
}
}
INCLUDE_ASM(s32, "190B20", func_80263CC4);
void func_80263CC4(s32 arg0) {
start_script(D_80293820, 0xA, 0)->varTable[0] = arg0;
}
INCLUDE_ASM(s32, "190B20", set_animation);
@ -1785,13 +1793,21 @@ INCLUDE_ASM(void, "190B20", func_802666E4, Actor* actor, f32 arg1, f32 arg2, f32
INCLUDE_ASM(void, "190B20", func_802667F0, s32 arg0, Actor* arg1, f32 arg2, f32 arg3, f32 arg4);
INCLUDE_ASM(void, "190B20", func_80266970, Actor* target);
void func_80266970(Actor* target) {
target->unk_204 = 0;
}
INCLUDE_ASM(s32, "190B20", func_80266978);
INCLUDE_ASM(s32, "190B20", func_80266ADC);
void func_80266ADC(Actor* target) {
target->unk_206 = -1;
target->flags |= 0x80000;
}
INCLUDE_ASM(s32, "190B20", func_80266AF8);
void func_80266AF8(Actor* target) {
target->unk_206 = 0;
target->flags &= ~0x80000;
}
INCLUDE_ASM(s32, "190B20", func_80266B14);
@ -1814,22 +1830,65 @@ s32 inflict_status_set_duration(Actor* actor, s32 statusTypeKey, s32 statusDurat
return 0;
}
void func_80266D6C(ActorPart* part, s32 arg1) {
if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_2)) {
DecorationTable* decorationTable = part->decorationTable;
INCLUDE_ASM(s32, "190B20", func_80266D6C);
if (decorationTable->unk_6C0 != arg1) {
decorationTable->unk_6C0 = arg1;
decorationTable->unk_6C2 = 0;
decorationTable->unk_6C1 = 1;
}
}
}
INCLUDE_ASM(s32, "190B20", func_80266DAC);
INCLUDE_ASM(s32, "190B20", func_80266E14);
void func_80266E14(ActorPart* part) {
if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_2)) {
part->decorationTable->unk_6C0 = 0;
}
}
INCLUDE_ASM(s32, "190B20", func_80266E40);
INCLUDE_ASM(s32, "190B20", func_80266EA8);
void func_80266EA8(ActorPart* part, s32 arg1) {
if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_2)) {
DecorationTable* decorationTable = part->decorationTable;
if (decorationTable->unk_750 != arg1) {
decorationTable->unk_750 = arg1;
decorationTable->unk_752 = 0;
decorationTable->unk_751 = 1;
}
}
}
INCLUDE_ASM(s32, "190B20", func_80266EE8);
INCLUDE_ASM(s32, "190B20", func_80266F60);
void func_80266F60(ActorPart* part) {
if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_2)) {
part->decorationTable->unk_750 = 0;
}
}
INCLUDE_ASM(s32, "190B20", func_80266F8C);
void func_80266F8C(Actor* actor) {
ActorPart* actorPart = &actor->partsTable[0];
while (actorPart != NULL) {
DecorationTable* decorationTable = actorPart->decorationTable;
do {
if (!(actorPart->flags & (ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_INVISIBLE)) &&
actorPart->idleAnimations != NULL &&
!(actorPart->flags & ACTOR_PART_FLAG_2))
{
decorationTable->unk_750 = 0;
}
} while (0); // todo improve match
actorPart = actorPart->nextPart;
}
}
void func_80266FD8(ActorPart* part, s32 arg1) {
if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_2)) {
@ -1847,17 +1906,35 @@ void func_80267018(Actor* actor, s32 arg1) {
ActorPart* actorPart = &actor->partsTable[0];
while (actorPart != NULL) {
if (!(actorPart->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_100000)) && actorPart->decorationTable != NULL && !(actorPart->flags & ACTOR_PART_FLAG_2) &&
actorPart->idleAnimations != NULL) {
if (!(actorPart->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_100000)) &&
actorPart->decorationTable != NULL && !(actorPart->flags & ACTOR_PART_FLAG_2) &&
actorPart->idleAnimations != NULL)
{
func_80266FD8(actorPart, arg1);
}
actorPart = actorPart->nextPart;
}
}
INCLUDE_ASM(s32, "190B20", func_8026709C);
void func_8026709C(ActorPart* part) {
if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_2)) {
part->decorationTable->unk_764 = 0;
}
}
INCLUDE_ASM(s32, "190B20", func_802670C8);
void func_802670C8(Actor* actor) {
ActorPart* partIt;
for (partIt = actor->partsTable; partIt != NULL; partIt = partIt->nextPart) {
DecorationTable* decorationTable = partIt->decorationTable;
do {
if (!(partIt->flags & 0x100001) && (partIt->idleAnimations != NULL) && !(partIt->flags & 2)) {
decorationTable->unk_764 = 0;
}
} while (0); // TODO make match better
}
}
void add_part_decoration(ActorPart* part, s32 decorationIndex, s32 decorationType) {
if ((part->idleAnimations) && !(part->flags & ACTOR_PART_FLAG_2)) {
@ -1874,7 +1951,9 @@ void add_part_decoration(ActorPart* part, s32 decorationIndex, s32 decorationTyp
void add_actor_decoration(Actor* actor, s32 decorationIndex, s32 decorationType) {
ActorPart* part;
for (part = actor->partsTable; part != NULL; part = part->nextPart) {
if ((part->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_100000)) == 0 && part->idleAnimations && !(part->flags & ACTOR_PART_FLAG_2)) {
if (!(part->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_100000)) && part->idleAnimations &&
!(part->flags & ACTOR_PART_FLAG_2))
{
add_part_decoration(part, decorationIndex, decorationType);
}
}
@ -1887,7 +1966,9 @@ void remove_part_decoration(ActorPart* part, s32 decorationIndex) {
void remove_actor_decoration(Actor* actor, s32 decorationIndex) {
ActorPart* part;
for (part = actor->partsTable; part != NULL; part = part->nextPart) {
if ((part->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_100000)) == 0 && part->idleAnimations && !(part->flags & ACTOR_PART_FLAG_2)) {
if (!(part->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_100000)) && part->idleAnimations &&
!(part->flags & ACTOR_PART_FLAG_2))
{
remove_part_decoration(part, decorationIndex);
}
}

View File

@ -18,9 +18,9 @@ ApiStatus AddEffectOffset(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
EffectInstance* effect = evt_get_variable(script, *args++);
effect->data->pos.x += evt_get_variable(script, *args++);
effect->data->pos.y += evt_get_variable(script, *args++);
effect->data->pos.z += evt_get_variable(script, *args++);
((EffectInstanceData*)effect->data)->pos.x += evt_get_variable(script, *args++);
((EffectInstanceData*)effect->data)->pos.y += evt_get_variable(script, *args++);
((EffectInstanceData*)effect->data)->pos.z += evt_get_variable(script, *args++);
return ApiStatus_DONE2;
}

View File

@ -143,8 +143,8 @@ ApiStatus MerleeUpdateFX(Evt* script, s32 isInitialCall) {
effectInstanceData->pos.z = merlee->pos.z + 5.0f;
if (D_800A0BB8 == 2) {
D_800A0BA8->data->unk_30 = 0.00001f;
D_800A0BAC->data->unk_30 = 0.00001f;
((EffectInstanceData*)D_800A0BA8->data)->unk_30 = 0.00001f;
((EffectInstanceData*)D_800A0BAC->data)->unk_30 = 0.00001f;
D_800A0BA8->flags |= 0x10;
D_800A0BAC->flags |= 0x10;
return ApiStatus_DONE1;

View File

@ -45,7 +45,7 @@ void update_cameras(void) {
break;
}
guLookAtReflectF(cam->viewMtxPlayer, &gDisplayContext->lookAt[0], cam->lookAt_eye.x, cam->lookAt_eye.y, cam->lookAt_eye.z, cam->lookAt_obj.x, cam->lookAt_obj.y, cam->lookAt_obj.z, 0, 1.0f, 0);
guLookAtReflectF(cam->viewMtxPlayer, &gDisplayContext->lookAt, cam->lookAt_eye.x, cam->lookAt_eye.y, cam->lookAt_eye.z, cam->lookAt_obj.x, cam->lookAt_obj.y, cam->lookAt_obj.z, 0, 1.0f, 0);
if (!(cam->flags & CAM_FLAG_ORTHO)) {
if (cam->flags & CAM_FLAG_LEAD_PLAYER) {

View File

@ -34,8 +34,8 @@ extern void (*D_8010C93C)(void);
extern struct802B7C78* D_802B7C78_E23228;
extern struct8015A578 D_8015A578;
void func_8013AA9C(s32, s32, s32, s32, s32, s32, s32);
void func_8013AF70(s32, UnknownCommand*, s32, Matrix4f*);
void fold_update(s32, s32, s32, s32, s32, s32, s32);
void fold_appendGfx_component(s32, UnknownCommand*, s32, Matrix4f*);
void func_802B735C_E2290C(void);
void func_802B7000_E225B0(void) {
@ -89,7 +89,7 @@ void func_802B7000_E225B0(void) {
command.unk_04 = &D_802B7BE0_E23190;
break;
}
func_8013AA9C(0, 7, 0xFF, 0xFF, 0xFF, D_802B7C78_E23228->unk_28, 0);
fold_update(0, 7, 0xFF, 0xFF, 0xFF, D_802B7C78_E23228->unk_28, 0);
command.unk_00 = &D_802B7580_E22B30;
command.unk_08 = 0x38;
@ -98,7 +98,7 @@ void func_802B7000_E225B0(void) {
command.unk_0E = 0x2E;
command.unk_10 = 0xFF;
func_8013AF70(0, &command, 0, &matrix2);
fold_appendGfx_component(0, &command, 0, &matrix2);
gSPPopMatrix(gMasterGfxPos++, 0);
}
}

View File

@ -88,24 +88,312 @@ s32 D_8014AFB0 = 0xFF;
s32 D_8014AFB4[] = {0, 0, 0};
Gfx* D_8014AFC0[] = { D_8014B7F8, D_8014B910, D_8014B820, D_8014B938, D_8014B848, D_8014B960, D_8014B870, D_8014B988, D_8014B898, D_8014BA20, D_8014B9B0, D_8014BAC0, D_8014B8C0, D_8014B9D8, D_8014B8E8, D_8014BA00 };
Gfx* D_8014AFC0[] = { D_8014B7F8, D_8014B910, D_8014B820, D_8014B938, D_8014B848, D_8014B960, D_8014B870, D_8014B988, D_8014B898, D_8014BA20, D_8014B9B0, D_8014BAC0, D_8014B8C0, D_8014B9D8, D_8014B8E8, D_8014BA00, D_8014BB60, D_8014BC78, D_8014BB88, D_8014BCA0, D_8014BBB0, D_8014BCC8, D_8014BBD8, D_8014BCF8, D_8014BC00, D_8014BD88, D_8014BD18, D_8014BC28, D_8014BD40, D_8014BC50, D_8014BD68, D_8014BE78, D_8014BF90, D_8014BEA0, D_8014BFB8, D_8014BEC8, D_8014BFE0, D_8014BEF0, D_8014C008, D_8014BF18, D_8014C098, D_8014C028, D_8014BF40, D_8014C050, D_8014BF68, D_8014C078, D_8014BA48, D_8014BA70, D_8014BA98, D_8014BDB0, D_8014BDD8, D_8014BE00, D_8014C0C0, D_8014C0E8, D_8014C110, D_8014BB10, D_8014BB38, D_8014BE28, D_8014BE50, D_8014C138, D_8014C160, NULL };
Gfx* D_8014B000[] = { D_8014BB60, D_8014BC78, D_8014BB88, D_8014BCA0, D_8014BBB0, D_8014BCC8, D_8014BBD8, D_8014BCF8, D_8014BC00, D_8014BD88, D_8014BD18, D_8014BC28, D_8014BD40, D_8014BC50, D_8014BD68, D_8014BE78, D_8014BF90, D_8014BEA0, D_8014BFB8, D_8014BEC8, D_8014BFE0, D_8014BEF0, D_8014C008, D_8014BF18, D_8014C098, D_8014C028, D_8014BF40, D_8014C050, D_8014BF68, D_8014C078, D_8014BA48, D_8014BA70, D_8014BA98, D_8014BDB0, D_8014BDD8, D_8014BE00, D_8014C0C0, D_8014C0E8, D_8014C110, D_8014BB10, D_8014BB38, D_8014BE28, D_8014BE50, D_8014C138, D_8014C160, NULL };
Gfx D_8014B0B8[21][5] = {
{
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsDPSetCombineMode(G_CC_SHADE, G_CC_PASS2),
gsDPSetCombineMode(G_CC_SHADE, G_CC_PASS2),
gsDPSetCombineLERP(SHADE, 0, PRIMITIVE_ALPHA, PRIMITIVE, 0, 0, 0, SHADE, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(SHADE, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
}, {
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_PASS2),
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, TEXEL0, COMBINED, PRIMITIVE, PRIMITIVE_ALPHA, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
}, {
gsDPSetCombineMode(G_CC_BLENDRGBA, G_CC_BLENDRGBA),
gsDPSetCombineMode(G_CC_BLENDRGBA, G_CC_PASS2),
gsDPSetCombineMode(G_CC_BLENDRGBA, G_CC_PASS2),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE_ALPHA, PRIMITIVE, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, SHADE, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_PASS2),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_PASS2),
gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE_ALPHA, PRIMITIVE, 0, 0, 0, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(0, 0, 0, TEXEL0, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, PRIMITIVE, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, PRIMITIVE, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, PRIMITIVE, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, COMBINED, 0, SHADE, 0),
},
{
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, COMBINED, 0, SHADE, 0),
},
{
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, COMBINED, 0, SHADE, 0),
},
{
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, COMBINED, 0, SHADE, 0),
},
{
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, COMBINED, 0, SHADE, 0),
},
{
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, COMBINED, 0, SHADE, 0),
},
{
gsDPSetCombineLERP(0, 0, 0, 0, TEXEL0, TEXEL1, SHADE, 0, 0, 0, 0, SHADE, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(0, 0, 0, 0, TEXEL0, TEXEL1, SHADE, 0, 0, 0, 0, SHADE, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(0, 0, 0, 0, TEXEL0, TEXEL1, SHADE, 0, 0, 0, 0, SHADE, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(0, 0, 0, 0, TEXEL0, TEXEL1, SHADE, 0, 0, 0, 0, SHADE, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(0, 0, 0, 0, TEXEL0, TEXEL1, SHADE, 0, SHADE, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineLERP(TEXEL0, TEXEL1, SHADE_ALPHA, TEXEL1, 0, 0, 0, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, TEXEL1, SHADE_ALPHA, TEXEL1, 0, 0, 0, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, TEXEL1, SHADE_ALPHA, TEXEL1, 0, 0, 0, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, TEXEL1, SHADE_ALPHA, TEXEL1, 0, 0, 0, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, TEXEL1, SHADE_ALPHA, TEXEL1, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0, 1, TEXEL1, TEXEL0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0, 1, TEXEL1, TEXEL0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0, 1, TEXEL1, TEXEL0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0, 1, TEXEL1, TEXEL0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0, 1, TEXEL1, TEXEL0, COMBINED, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 0, 0, 0, TEXEL0, 1, TEXEL0, PRIMITIVE, TEXEL0, 0, 0, 0, TEXEL0),
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 0, 0, 0, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 0, 0, 0, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 0, 0, 0, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0, TEXEL0, 1, TEXEL1, TEXEL0, TEXEL1, TEXEL0, COMBINED, TEXEL0_ALPHA, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0, TEXEL0, 1, TEXEL1, TEXEL0, TEXEL1, TEXEL0, COMBINED, TEXEL0_ALPHA, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0, TEXEL0, 1, TEXEL1, TEXEL0, TEXEL1, TEXEL0, COMBINED, TEXEL0_ALPHA, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0, TEXEL0, 1, TEXEL1, TEXEL0, TEXEL1, TEXEL0, COMBINED, TEXEL0_ALPHA, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0, TEXEL0, 1, TEXEL1, TEXEL0, TEXEL1, TEXEL0, COMBINED, TEXEL0_ALPHA, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0),
},
{
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
},
{
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
},
{
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
},
};
s32 D_8014B0B8 = 0xFCFFFFFF;
s32 D_8014B0BC[] = { 0xFFFE793C, 0xFCFFFFFF, 0xFFFE7838, 0xFCFFFFFF, 0xFFFE7838, 0xFC457FFF, 0xFFFDF838, 0xFC41FFFF, 0xFFFEF838, 0xFC121824, 0xFF33FFFF, 0xFC127FFF, 0xFFFFF238, 0xFC1219FF, 0xFFFFFE38, 0xFC127E0A, 0xF3FFF238, 0xFC121803, 0xFFFFFF78, 0xFC147E28, 0x44FE793C, 0xFC147FFF, 0x4FFE7838, 0xFC147FFF, 0x4FFE7838, 0xFC147E0A, 0x4FFE72F8, 0xFC147E03, 0x4FFE7978, 0xFCFFFFFF, 0xFFFCF279, 0xFCFFFFFF, 0xFFFCF238, 0xFCFFFFFF, 0xFFFCF238, 0xFC157FFF, 0xFFFDF238, 0xFCFFFE03, 0xFFFCF378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF9883, 0xFFFFAF78, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FE03, 0x2FFD7378, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61FEC3, 0x11FCF279, 0xFC61FFFF, 0x1FFCF238, 0xFC61FFFF, 0x1FFCF238, 0xFC61FFFF, 0x1FFCF238, 0xFC61FE03, 0x1FFCF378, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, };
s32 D_8014B400 = 0xFCFFFFFF;
s32 D_8014B404[] = { 0xFFFE793C, 0xFCFFFFFF, 0xFFFE7838, 0xFCFFFFFF, 0xFFFE7838, 0xFC457FFF, 0xFFFDF838, 0xFC41FFFF, 0xFFFEF838, 0xFC127E24, 0xFFFFF3F9, 0xFC127FFF, 0xFFFFF238, 0xFC127FFF, 0xFFFFF238, 0xFC127E0A, 0xF3FFF238, 0xFC127E03, 0xFFFFF378, 0xFC147E28, 0x44FE793C, 0xFC147FFF, 0x4FFE7838, 0xFC147FFF, 0x4FFE7838, 0xFC147E0A, 0x4FFE72F8, 0xFC147E03, 0x4FFE7978, 0xFCFFFFFF, 0xFFFCF279, 0xFCFFFFFF, 0xFFFCF238, 0xFCFFFFFF, 0xFFFCF238, 0xFC157FFF, 0xFFFDF238, 0xFCFFFE03, 0xFFFCF378, 0xFC26A004, 0x1FFC93FC, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1FFC93FC, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF9883, 0xFFFFAF78, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FE03, 0x2FFD7378, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61FEC3, 0x11FCF279, 0xFC61FFFF, 0x1FFCF238, 0xFC61FFFF, 0x1FFCF238, 0xFC61FFFF, 0x1FFCF238, 0xFC61FE03, 0x1FFCF378, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, };
Gfx D_8014B400[21][5] = {
{
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsDPSetCombineMode(G_CC_SHADE, G_CC_PASS2),
gsDPSetCombineMode(G_CC_SHADE, G_CC_PASS2),
gsDPSetCombineLERP(SHADE, 0, PRIMITIVE_ALPHA, PRIMITIVE, 0, 0, 0, SHADE, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(SHADE, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA),
gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2),
gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2),
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, TEXEL0, COMBINED, PRIMITIVE, PRIMITIVE_ALPHA, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineMode(G_CC_BLENDRGBA, G_CC_BLENDRGBA),
gsDPSetCombineMode(G_CC_BLENDRGBA, G_CC_PASS2),
gsDPSetCombineMode(G_CC_BLENDRGBA, G_CC_PASS2),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE_ALPHA, PRIMITIVE, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, SHADE, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_PASS2),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_PASS2),
gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE_ALPHA, PRIMITIVE, 0, 0, 0, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(0, 0, 0, TEXEL0, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, PRIMITIVE, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, PRIMITIVE, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, PRIMITIVE, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, COMBINED, 0, SHADE, 0),
},
{
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL1, 0, TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineLERP(0, 0, 0, 0, TEXEL0, TEXEL1, SHADE, 0, 0, 0, 0, SHADE, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(0, 0, 0, 0, TEXEL0, TEXEL1, SHADE, 0, 0, 0, 0, SHADE, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(0, 0, 0, 0, TEXEL0, TEXEL1, SHADE, 0, 0, 0, 0, SHADE, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(0, 0, 0, 0, TEXEL0, TEXEL1, SHADE, 0, 0, 0, 0, SHADE, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(0, 0, 0, 0, TEXEL0, TEXEL1, SHADE, 0, SHADE, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineLERP(TEXEL0, TEXEL1, SHADE_ALPHA, TEXEL1, 0, 0, 0, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, TEXEL1, SHADE_ALPHA, TEXEL1, 0, 0, 0, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, TEXEL1, SHADE_ALPHA, TEXEL1, 0, 0, 0, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, TEXEL1, SHADE_ALPHA, TEXEL1, 0, 0, 0, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(TEXEL0, TEXEL1, SHADE_ALPHA, TEXEL1, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0, 1, TEXEL1, TEXEL0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0, 1, TEXEL1, TEXEL0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0, 1, TEXEL1, TEXEL0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0, 1, TEXEL1, TEXEL0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0, 1, TEXEL1, TEXEL0, COMBINED, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 0, 0, 0, TEXEL0, 1, TEXEL0, PRIMITIVE, TEXEL0, 0, 0, 0, TEXEL0),
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 0, 0, 0, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 0, 0, 0, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 0, 0, 0, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCombineLERP(1, TEXEL0, PRIMITIVE, TEXEL0, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE, ENVIRONMENT, 0, 0, 0, COMBINED),
},
{
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0, TEXEL0, 1, TEXEL1, TEXEL0, TEXEL1, TEXEL0, COMBINED, TEXEL0_ALPHA, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0, TEXEL0, 1, TEXEL1, TEXEL0, TEXEL1, TEXEL0, COMBINED, TEXEL0_ALPHA, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0, TEXEL0, 1, TEXEL1, TEXEL0, TEXEL1, TEXEL0, COMBINED, TEXEL0_ALPHA, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0, TEXEL0, 1, TEXEL1, TEXEL0, TEXEL1, TEXEL0, COMBINED, TEXEL0_ALPHA, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0, TEXEL0, 1, TEXEL1, TEXEL0, TEXEL1, TEXEL0, COMBINED, TEXEL0_ALPHA, TEXEL0, 1, TEXEL0, TEXEL1, TEXEL0),
},
{
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
},
{
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
},
{
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
gsDPSetCombineLERP(NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1, NOISE, 0, SHADE_ALPHA, 0, 0, 0, 0, 1),
},
};
u32 mdl_textureBaseAddress = 0x8028E000;
s8 mdl_bgMultiplyColorA = 0;
s8 mdl_bgMultiplyColorR = 0;
s8 mdl_bgMultiplyColorG = 0;
s8 mdl_bgMultiplyColorB = 0;
u8 mdl_bgMultiplyColorA = 0;
u8 mdl_bgMultiplyColorR = 0;
u8 mdl_bgMultiplyColorG = 0;
u8 mdl_bgMultiplyColorB = 0;
s8 mdl_renderModelFogPrimColorR = 0;
s8 mdl_renderModelFogPrimColorG = 0;
@ -1491,12 +1779,29 @@ s32 MakeEntity(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "a5dd0_len_114e0", SetEntityCullMode);
ApiStatus SetEntityCullMode(Evt* script, s32 isInitialCall) {
Entity* entity = get_entity_by_index(gLastCreatedEntityIndex);
Bytecode* args = script->ptrReadPos;
s32 mode = evt_get_variable(script, *args++);
if (mode == 0) {
entity->flags |= ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE1;
} else if (mode == 1) {
entity->flags |= ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE2;
} else if (mode == 2) {
entity->flags |= ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE2 | ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE1;
} else {
entity->flags |= ENTITY_FLAGS_IGNORE_DISTANCE_CULLING | ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE2 |
ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE1;
}
return ApiStatus_DONE2;
}
ApiStatus UseDynamicShadow(Evt* script, s32 isInitialCall) {
Entity* entity = get_entity_by_index(gLastCreatedEntityIndex);
Bytecode* args = script->ptrReadPos;
if (evt_get_variable(script, *script->ptrReadPos)) {
if (evt_get_variable(script, *args++)) {
Shadow* shadow;
entity->flags |= ENTITY_FLAGS_HAS_DYNAMIC_SHADOW;
@ -2248,7 +2553,7 @@ void func_80117D00(Model* model) {
newModel.currentSpecialMatrix = mdl->currentSpecialMatrix;
newModel.modelNode = modelNode->groupData->childList[i];
newModel.texPannerID = mdl->texPannerID;
newModel.specialDisplayListID = mdl->specialDisplayListID;
newModel.customGfxIndex = mdl->customGfxIndex;
if (newModel.modelNode->type == SHAPE_TYPE_MODEL) {
prop = get_model_property(newModel.modelNode, MODEL_PROP_KEY_RENDER_MODE);
@ -2263,7 +2568,7 @@ void func_80117D00(Model* model) {
}
newModel.textureID = (*mdl_currentModelTreeNodeInfo)[mdl_treeIterPos].textureID;
newModel.unk_A9 = 0;
newModel.textureVariation = 0;
func_80117D00(&newModel);
}
}
@ -2707,14 +3012,14 @@ void set_aux_pan_v(s32 texPannerID, s32 value) {
void set_mdl_custom_gfx_set(Model* model, s32 customGfxIndex, u32 fogType) {
if (customGfxIndex == -1) {
customGfxIndex = model->specialDisplayListID & 15;
customGfxIndex = model->customGfxIndex & 15;
}
if (fogType == -1) {
fogType = model->specialDisplayListID / 16;
fogType = model->customGfxIndex / 16;
}
model->specialDisplayListID = (customGfxIndex & 15) + ((fogType & 15) * 16);
model->customGfxIndex = (customGfxIndex & 15) + ((fogType & 15) * 16);
}
void set_custom_gfx(s32 customGfxIndex, Gfx* pre, Gfx* post) {

View File

@ -28,8 +28,8 @@ ApiStatus func_8021875C_4EFBFC(Evt* script, s32 isInitialCall) {
s32 var3 = evt_get_variable(script, *args++);
EffectInstance* effect = playFX_4C(2, var1, 150.0f, var3, var2, -0.5f, -0.9f, 0.5f, 60);
effect->data->unk_30 = 0;
effect->data->unk_38 = 0;
effect->data->unk_34 = 0;
((EffectInstanceData*)effect->data)->unk_30 = 0;
((EffectInstanceData*)effect->data)->unk_38 = 0;
((EffectInstanceData*)effect->data)->unk_34 = 0;
return ApiStatus_DONE2;
}

View File

@ -149,8 +149,8 @@ ApiStatus func_80238E04_6F1EE4(Evt* script, s32 isInitialCall) {
ApiStatus func_80238E48_6F1F28(Evt* script, s32 isInitialCall) {
EffectInstance* effect = D_8023CDA0;
effect->data->pos.y = 144.0f;
effect->flags |= 0x10;
((EffectInstanceData*)effect->data)->pos.y = 144.0f;
effect->flags |= EFFECT_INSTANCE_FLAGS_10;
return ApiStatus_DONE2;
}

View File

@ -14,7 +14,7 @@ ApiStatus N(ShrinkActor)(Evt* script, s32 isInitialCall) {
EffectInstance* effect = playFX_12(0, var1, (f32) var2 + 5.0, var3, var4, var5, var6, var7);
if (actor->debuff == STATUS_SHRINK) {
effect->data->unk_28 = 0.4f;
((Effect12*)effect->data)->unk_28 = 0.4f;
}
return ApiStatus_DONE2;

View File

@ -1,49 +1,87 @@
#include "common.h"
#include "ld_addrs.h"
typedef struct {
/* 0x00 */ s8 unk_00;
/* 0x01 */ u8 unk_01;
/* 0x02 */ s8 unk_02;
/* 0x03 */ s8 unk_03;
/* 0x04 */ s8 unk_04;
/* 0x00 */ s8 arrayIdx;
/* 0x01 */ u8 meshType;
/* 0x02 */ s8 renderType;
/* 0x03 */ u8 subdivX;
/* 0x04 */ u8 subdivY;
/* 0x05 */ s8 unk_05;
/* 0x06 */ s8 unk_06;
/* 0x07 */ char unk_07[0x1];
/* 0x08 */ s16 unk_08;
/* 0x0A */ s16 unk_0A;
/* 0x08 */ u16 firstVtxIdx;
/* 0x0A */ u16 lastVtxIdx;
/* 0x0C */ s16 unk_0C;
/* 0x0E */ s16 unk_0E;
/* 0x10 */ s16 unk_10;
/* 0x14 */ s32 unk_14;
/* 0x14 */ s32 flags;
/* 0x18 */ char unk_18[0x4];
/* 0x1C */ s32 unk_1C[2][4];
/* 0x3C */ f32 unk_3C[2][4];
/* 0x5C */ s32* unk_5C;
/* 0x60 */ s16 unk_60;
/* 0x5C */ u8* buf;
/* 0x60 */ s16 bufSize;
/* 0x62 */ char unk_62[0x2];
/* 0x64 */ s32* unk_64;
/* 0x68 */ s32* unk_68;
/* 0x6C */ s32* unk_6C;
/* 0x70 */ s32* unk_70;
/* 0x74 */ s32* unk_74;
/* 0x68 */ s32* unk_68[2];
/* 0x70 */ s32* unk_70[2];
/* 0x78 */ char unk_78[0x4];
} UnkD0A70Struct; // size = 0x7C
} FoldState; // size = 0x7C
typedef struct Unk8Struct {
/* 0x00 */ s32* unk_00;
/* 0x04 */ u8 unk_04;
/* 0x05 */ u8 unk_05;
typedef struct FoldDataCache {
/* 0x00 */ s32* data;
/* 0x04 */ u8 staleCooldownTimer;
/* 0x05 */ u8 usingContextualHeap;
/* 0x06 */ char unk_06[0x2];
} Unk8Struct; // size = 0x8
} FoldDataCache; // size = 0x8
typedef UnkD0A70Struct UnkD0A70StructList[90];
typedef struct FoldImageRec {
/* 0x00 */ s8* raster;
/* 0x04 */ s8* palette;
/* 0x08 */ u16 width;
/* 0x0A */ u16 height;
/* 0x0C */ s16 xOffset;
/* 0x0E */ s16 yOffset;
/* 0x10 */ u8 unk_10;
/* 0x11 */ char unk_11[0x7];
/* 0x18 */ s16 unk_18;
/* 0x1A */ char unk_1A[0x4];
/* 0x1E */ s16 unk_1E;
/* 0x20 */ char unk_20[0x4];
/* 0x24 */ u8 gfxOtherModeD;
} FoldImageRec; // size = 0x25
s32 D_8014EE10[] = { 0x80156920, };
typedef struct FoldGfxDescriptor {
/* 0x00 */ Vtx* vtx;
/* 0x04 */ Gfx* gfx;
/* 0x08 */ u16 vtxCount;
/* 0x0A */ u16 gfxCount;
/* 0x0C */ s8 unk_0C;
/* 0x0D */ s8 unk_0D;
/* 0x0E */ s8 unk_0E;
/* 0x0F */ s8 unk_0F;
} FoldGfxDescriptor; // size = 0x10
s16 D_8014EE14 = 0;
typedef FoldState FoldStateList[90];
// padding
s16 D_8014EE16 = { 0x0000 };
// BSS
extern FoldImageRec D_80156920; // todo not sure on the type
extern Vtx* D_80156948[2];
extern Vtx* fold_vtxBuf;
extern FoldStateList* D_80156954;
extern s8 D_80156958[2];
extern s32 D_80156960[2];
extern s32 D_80156968[2];
extern s8 D_80156970;
extern FoldGfxDescriptor fold_groupDescriptors[4];
// Data
FoldImageRec* fold_currentImage = &D_80156920;
u16 fold_vtxCount = 0;
// padding?
s16 D_8014EE16 = 0;
s32 D_8014EE18[] = { 0x90909000, 0x90909000, 0xFFFFFF00, 0xFFFFFF00, 0x00007800, 0x00000000, 0xFFFFFF00, 0xFFFFFF00,
0x00008800, 0x00000000,
@ -55,8 +93,10 @@ s32 D_8014EE50[] = { 0x028001E0, 0x01FF0000, 0x028001E0, 0x02000000, };
u16 D_8014EE60 = 300;
// padding
s16 D_8014EE62[] = {0};
// padding?
s16 D_8014EE62 = 0;
s16 D_8014EE64 = 0;
s16 D_8014EE66 = 0;
s32 D_8014EE68[] = { 0xD9FDF9FF, 0x00000000, 0xD9FFFFFF, 0x00200005, 0xD7000002, 0xFFFFFFFF, 0xE2001E01, 0x00000000,
0xE3000A11, 0x00082CF0, 0xDF000000, 0x00000000,
@ -71,47 +111,42 @@ s32 D_8014EE98[] = { 0x00441208, 0x00111208, 0x00000000, 0x00441208, 0x00111208,
0x00441208, 0x00111208, 0x00000000,
};
s32 D_8014EF64[] = { 0x00014358, 0x00018200, 0x0001A858, 0x0001E830, 0x00029458, 0x000314E0, 0x00033498, 0x00038988,
0x00039228, 0x0005B7A8, 0x0007CF10, 0x00086490, 0x00096258, 0x000A1820, 0x000ACDE8, 0x000BBF68,
0x000C0490, 0x000C49B8, 0x000C6150, 0x000CA380, 0x00000000, 0x00000000, 0x00000000,
};
s32 fold_groupOffsets[] = {
0x00014358, 0x00018200, 0x0001A858, 0x0001E830, 0x00029458, 0x000314E0, 0x00033498, 0x00038988, 0x00039228,
0x0005B7A8, 0x0007CF10, 0x00086490, 0x00096258, 0x000A1820, 0x000ACDE8, 0x000BBF68, 0x000C0490, 0x000C49B8,
0x000C6150, 0x000CA380
};
extern s32* D_80156948[2];
extern s32* D_80156950;
extern UnkD0A70StructList* D_80156954;
extern s8 D_80156958[2];
extern s32 D_80156960[2];
extern s32 D_80156968[2];
extern s8 D_80156970;
extern FoldDataCache fold_gfxDataCache[8];
extern Unk8Struct D_80156F20[8];
void func_8013A93C(UnkD0A70Struct*);
void func_8013A9C8(UnkD0A70Struct*);
void func_8013A9E8(UnkD0A70Struct*);
void func_8013BC88(UnkD0A70Struct*);
void func_8013C048(UnkD0A70Struct*);
void func_8013C220(UnkD0A70Struct*);
void func_8013C3F0(UnkD0A70Struct*);
void func_8013EE68(UnkD0A70Struct*);
void func_8013F1F8(UnkD0A70Struct*);
void fold_clear_state_gfx(FoldState*);
void fold_clear_state_data(FoldState*);
void fold_init_state(FoldState*);
void func_8013B0EC(FoldState* state);
void func_8013B1B0(FoldState* state, Matrix4f mtx);
void func_8013BC88(FoldState*);
void func_8013C048(FoldState*);
void fold_load_gfx(FoldState*);
void func_8013C3F0(FoldState*);
void func_8013EE68(FoldState*);
void func_8013F1F8(FoldState*);
void func_8013A370(s16 arg0) {
D_8014EE60 = arg0;
}
void func_8013A37C(void) {
void fold_init(void) {
s32 i;
for (i = 0; i < ARRAY_COUNT(D_80156948); i++) {
D_80156948[i] = _heap_malloc(&gSpriteHeapPtr, D_8014EE60 * 0x10);
D_80156948[i] = _heap_malloc(&gSpriteHeapPtr, D_8014EE60 * sizeof(*(D_80156948[0])));
}
D_80156954 = (UnkD0A70StructList*)_heap_malloc(&gSpriteHeapPtr, ARRAY_COUNT(*D_80156954) * sizeof((*D_80156954)[0]));
D_80156954 = (FoldStateList*)_heap_malloc(&gSpriteHeapPtr, ARRAY_COUNT(*D_80156954) * sizeof((*D_80156954)[0]));
for (i = 0; i < ARRAY_COUNT(*D_80156954); i++) {
func_8013A9E8(&(*D_80156954)[i]);
func_8013A9C8(&(*D_80156954)[i]);
fold_init_state(&(*D_80156954)[i]);
fold_clear_state_data(&(*D_80156954)[i]);
}
for (i = 0; i < ARRAY_COUNT(D_80156958); i++) {
@ -121,84 +156,84 @@ void func_8013A37C(void) {
D_80156970 = 0;
}
for (i = 0; i < ARRAY_COUNT(D_80156F20); i++) {
D_80156F20[i].unk_00 = 0;
D_80156F20[i].unk_04 = 0;
D_80156F20[i].unk_05 = 0;
for (i = 0; i < ARRAY_COUNT(fold_gfxDataCache); i++) {
fold_gfxDataCache[i].data = NULL;
fold_gfxDataCache[i].staleCooldownTimer = 0;
fold_gfxDataCache[i].usingContextualHeap = FALSE;
}
D_8014EE14 = 0;
D_80156950 = D_80156948[gCurrentDisplayContextIndex];
fold_vtxCount = 0;
fold_vtxBuf = D_80156948[gCurrentDisplayContextIndex];
}
void func_8013A4D0(void) {
s32 i;
D_80156950 = D_80156948[gCurrentDisplayContextIndex];
D_8014EE14 = 0;
func_8013A9E8(&(*D_80156954)[0]);
fold_vtxBuf = D_80156948[gCurrentDisplayContextIndex];
fold_vtxCount = 0;
fold_init_state(&(*D_80156954)[0]);
(*D_80156954)[0].unk_14 |= 1;
(*D_80156954)[0].flags |= FOLD_STATE_FLAGS_1;
for (i = 1; i < ARRAY_COUNT(*D_80156954); i++) {
if (((*D_80156954)[i].unk_14 & 1) && ((*D_80156954)[i].unk_05 != 5)) {
func_8013A93C(&(*D_80156954)[i]);
if (((*D_80156954)[i].flags & FOLD_STATE_FLAGS_1) && (*D_80156954)[i].unk_05 != 5) {
fold_clear_state_gfx(&(*D_80156954)[i]);
}
}
for (i = 1; i < ARRAY_COUNT(*D_80156954); i++) {
if ((*D_80156954)[i].unk_14 & 1 && (*D_80156954)[i].unk_5C != NULL) {
if ((*D_80156954)[i].flags & FOLD_STATE_FLAGS_1 && (*D_80156954)[i].buf != NULL) {
s32 temp = (*D_80156954)[i].unk_06; // TODO find a better way to match
if (temp == 11 || (*D_80156954)[i].unk_06 == 12) {
continue;
}
general_heap_free((*D_80156954)[i].unk_5C);
(*D_80156954)[i].unk_5C = 0;
(*D_80156954)[i].unk_60 = 0;
general_heap_free((*D_80156954)[i].buf);
(*D_80156954)[i].buf = NULL;
(*D_80156954)[i].bufSize = 0;
}
}
}
void func_8013A610(s32* arg0, s8 arg1) {
void fold_add_to_gfx_cache(s32* data, s8 usingContextualHeap) {
s32 i;
for (i = 0; i < ARRAY_COUNT(D_80156F20); i++) {
if (D_80156F20[i].unk_00 == NULL) {
D_80156F20[i].unk_00 = arg0;
D_80156F20[i].unk_04 = 4;
D_80156F20[i].unk_05 = arg1;
for (i = 0; i < ARRAY_COUNT(fold_gfxDataCache); i++) {
if (fold_gfxDataCache[i].data == NULL) {
fold_gfxDataCache[i].data = data;
fold_gfxDataCache[i].staleCooldownTimer = 4;
fold_gfxDataCache[i].usingContextualHeap = usingContextualHeap;
return;
}
}
}
void func_8013A650(void) {
void fold_update_gfx_cache(void) {
s32 i;
for (i = 0; i < ARRAY_COUNT(D_80156F20); i++) {
if (D_80156F20[i].unk_00 != 0) {
D_80156F20[i].unk_04--;
for (i = 0; i < ARRAY_COUNT(fold_gfxDataCache); i++) {
if (fold_gfxDataCache[i].data != NULL) {
fold_gfxDataCache[i].staleCooldownTimer--;
if (D_80156F20[i].unk_04 == 0) {
if (D_80156F20[i].unk_05 != 0) {
heap_free(D_80156F20[i].unk_00);
D_80156F20[i].unk_00 = NULL;
if (fold_gfxDataCache[i].staleCooldownTimer == 0) {
if (fold_gfxDataCache[i].usingContextualHeap) {
heap_free(fold_gfxDataCache[i].data);
fold_gfxDataCache[i].data = NULL;
} else {
general_heap_free(D_80156F20[i].unk_00);
D_80156F20[i].unk_00 = NULL;
general_heap_free(fold_gfxDataCache[i].data);
fold_gfxDataCache[i].data = NULL;
}
D_80156F20[i].unk_04 = 0;
D_80156F20[i].unk_05 = 0;
fold_gfxDataCache[i].staleCooldownTimer = 0;
fold_gfxDataCache[i].usingContextualHeap = FALSE;
}
}
}
}
void func_8013A6E8(void) {
func_8013A650();
fold_update_gfx_cache();
}
s32 func_8013A704(s32 arg0) {
@ -210,7 +245,7 @@ s32 func_8013A704(s32 arg0) {
count = 0;
for (i = 1; i < ARRAY_COUNT(*D_80156954); i++) {
if (!((*D_80156954)[i].unk_14 & 1)) {
if (!((*D_80156954)[i].flags & FOLD_STATE_FLAGS_1)) {
count++;
}
}
@ -224,7 +259,7 @@ s32 func_8013A704(s32 arg0) {
count = 0;
iPrev = -1;
for (i = 1; i < ARRAY_COUNT(*D_80156954); i++) {
if (!((*D_80156954)[i].unk_14 & 1)) {
if (!((*D_80156954)[i].flags & FOLD_STATE_FLAGS_1)) {
if (!cond) {
ret = i;
cond = TRUE;
@ -232,10 +267,10 @@ s32 func_8013A704(s32 arg0) {
(*D_80156954)[iPrev].unk_10 = i;
}
(*D_80156954)[i].unk_00 = i;
func_8013A9E8(&(*D_80156954)[i]);
(*D_80156954)[i].arrayIdx = i;
fold_init_state(&(*D_80156954)[i]);
count++;
(*D_80156954)[i].unk_14 |= 1;
(*D_80156954)[i].flags |= FOLD_STATE_FLAGS_1;
iPrev = i;
if (count == arg0) {
(*D_80156954)[i].unk_10 = -1;
@ -249,7 +284,7 @@ s32 func_8013A704(s32 arg0) {
void func_8013A854(u32 idx) {
if (idx < 90) {
(*D_80156954)[idx].unk_14 = 0;
(*D_80156954)[idx].flags = FOLD_STATE_FLAGS_0;
(*D_80156954)[idx].unk_10 = -1;
}
}
@ -279,122 +314,175 @@ s16 func_8013A8E0(s32 idx) {
}
}
UnkD0A70Struct* func_8013A920(s32 idx) {
FoldState* fold_get_state(s32 idx) {
return &(*D_80156954)[idx];
}
void func_8013A93C(UnkD0A70Struct* arg0) {
if (arg0->unk_64 != 0) {
arg0->unk_64 = 0;
void fold_clear_state_gfx(FoldState* state) {
if (state->unk_64 != 0) {
state->unk_64 = 0;
}
if (arg0->unk_68 != 0) {
func_8013A610(arg0->unk_68, 1);
arg0->unk_68 = 0;
if (state->unk_68[0] != 0) {
fold_add_to_gfx_cache(state->unk_68[0], 1);
state->unk_68[0] = 0;
}
if (arg0->unk_6C != 0) {
func_8013A610(arg0->unk_6C, 1);
arg0->unk_6C = 0;
if (state->unk_68[1] != 0) {
fold_add_to_gfx_cache(state->unk_68[1], 1);
state->unk_68[1] = 0;
}
if (arg0->unk_70 != 0) {
func_8013A610(arg0->unk_70, 1);
arg0->unk_70 = 0;
if (state->unk_70[0] != 0) {
fold_add_to_gfx_cache(state->unk_70[0], 1);
state->unk_70[0] = 0;
}
if (arg0->unk_74 != 0) {
func_8013A610(arg0->unk_74, 1);
arg0->unk_74 = 0;
if (state->unk_70[1] != 0) {
fold_add_to_gfx_cache(state->unk_70[1], 1);
state->unk_70[1] = 0;
}
}
void func_8013A9C8(UnkD0A70Struct* arg0) {
arg0->unk_64 = 0;
arg0->unk_68 = 0;
arg0->unk_6C = 0;
arg0->unk_70 = 0;
arg0->unk_74 = 0;
arg0->unk_5C = 0;
arg0->unk_60 = 0;
void fold_clear_state_data(FoldState* state) {
state->unk_64 = 0;
state->unk_68[0] = 0;
state->unk_68[1] = 0;
state->unk_70[0] = 0;
state->unk_70[1] = 0;
state->buf = NULL;
state->bufSize = 0;
}
void func_8013A9E8(UnkD0A70Struct* arg0) {
void fold_init_state(FoldState* state) {
s32 i;
s32 j;
arg0->unk_10 = -1;
arg0->unk_05 = 0;
arg0->unk_06 = 0;
arg0->unk_14 = 0;
arg0->unk_01 = 0;
arg0->unk_02 = 0;
arg0->unk_08 = 0;
arg0->unk_0A = 0;
arg0->unk_0C = 0;
arg0->unk_0E = 0;
arg0->unk_1C[0][3] = 255;
arg0->unk_1C[1][3] = 255;
arg0->unk_03 = 0;
arg0->unk_04 = 0;
arg0->unk_08 = 0;
arg0->unk_0A = 0;
state->unk_10 = -1;
state->unk_05 = 0;
state->unk_06 = 0;
state->flags = FOLD_STATE_FLAGS_0;
state->meshType = 0;
state->renderType = 0;
state->firstVtxIdx = 0;
state->lastVtxIdx = 0;
state->unk_0C = 0;
state->unk_0E = 0;
state->unk_1C[0][3] = 255;
state->unk_1C[1][3] = 255;
state->subdivX = 0;
state->subdivY = 0;
state->firstVtxIdx = 0;
state->lastVtxIdx = 0;
for (i = 0; i < ARRAY_COUNT(arg0->unk_1C); i++) {
for (j = 0; j < ARRAY_COUNT(arg0->unk_1C[0]); j++) {
arg0->unk_1C[i][j] = 0;
for (i = 0; i < ARRAY_COUNT(state->unk_1C); i++) {
for (j = 0; j < ARRAY_COUNT(state->unk_1C[0]); j++) {
state->unk_1C[i][j] = 0;
}
}
for (i = 0; i < ARRAY_COUNT(arg0->unk_3C); i++) {
for (j = 0; j < ARRAY_COUNT(arg0->unk_3C[0]); j++) {
arg0->unk_3C[i][j] = 0;
for (i = 0; i < ARRAY_COUNT(state->unk_3C); i++) {
for (j = 0; j < ARRAY_COUNT(state->unk_3C[0]); j++) {
state->unk_3C[i][j] = 0;
}
}
}
INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013AA9C);
INCLUDE_ASM(s32, "d0a70_len_4fe0", fold_update);
void func_8013AF20(s32 idx, u16 arg1, s32 arg2) {
if ((*D_80156954)[idx].unk_14 & 1) {
if (arg2 != 0) {
(*D_80156954)[idx].unk_14 |= arg1;
void fold_set_state_flags(s32 idx, u16 flagBits, s32 mode) {
if ((*D_80156954)[idx].flags & FOLD_STATE_FLAGS_1) {
if (mode) {
(*D_80156954)[idx].flags |= flagBits;
} else {
(*D_80156954)[idx].unk_14 &= ~arg1;
(*D_80156954)[idx].flags &= ~flagBits;
}
}
}
INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013AF70);
s32 fold_appendGfx_component(s32 idx, FoldImageRec* image, u32 flagBits, Matrix4f mtx) {
FoldState* state = &(*D_80156954)[idx];
s32 ret = 0;
void func_8013B0EC(UnkD0A70Struct* arg0) {
switch (arg0->unk_01) {
if (image->unk_10 == 0) {
return 0;
}
state->arrayIdx = idx;
state->flags |= flagBits;
fold_currentImage->raster = image->raster;
fold_currentImage->palette = image->palette;
fold_currentImage->width = image->width;
fold_currentImage->height = image->height;
fold_currentImage->xOffset = image->xOffset;
fold_currentImage->yOffset = image->yOffset;
fold_currentImage->unk_18 = 0;
fold_currentImage->unk_1E = 0;
fold_currentImage->gfxOtherModeD = image->unk_10;
if ((u32)idx >= 90) {
return 0;
}
if (idx >= 90 || state == NULL) {
return 0;
}
func_8013B0EC(state);
func_8013B1B0(state, mtx);
if (state->flags & FOLD_STATE_FLAGS_1000) {
state->unk_1C[0][0] = -1;
state->unk_1C[1][0] = -1;
state->unk_05 = 0;
state->meshType = 0;
state->renderType = 0;
state->flags &= ~(FOLD_STATE_FLAGS_1000 | FOLD_STATE_FLAGS_800 | FOLD_STATE_FLAGS_100 | FOLD_STATE_FLAGS_80);
fold_clear_state_gfx(state);
ret = 1;
} else if (state->flags & FOLD_STATE_FLAGS_4000) {
ret = 2;
} else if (state->flags & FOLD_STATE_FLAGS_20000) {
state->unk_05 = 0;
state->unk_06 = 0;
state->meshType = 0;
state->renderType = 0;
state->unk_1C[0][0] = -1;
state->unk_1C[1][0] = -1;
state->flags &= FOLD_STATE_FLAGS_1;
ret = 1;
}
return ret;
}
void func_8013B0EC(FoldState* state) {
switch (state->meshType) {
case 3:
if (arg0->unk_1C[1][2] == 0) {
arg0->unk_03 = 1;
arg0->unk_04 = 16;
if (state->unk_1C[1][2] == 0) {
state->subdivX = 1;
state->subdivY = 16;
} else {
arg0->unk_03 = 1;
arg0->unk_04 = 1;
state->subdivX = 1;
state->subdivY = 1;
}
case 1:
func_8013C048(arg0);
func_8013C048(state);
break;
case 2:
func_8013C3F0(arg0);
func_8013C3F0(state);
break;
case 0:
case 4:
func_8013BC88(arg0);
func_8013BC88(state);
break;
default:
return;
}
if (arg0->unk_05 == 4) {
func_8013EE68(arg0);
if (state->unk_05 == 4) {
func_8013EE68(state);
}
switch (arg0->unk_06) {
switch (state->unk_06) {
case 11:
case 12:
func_8013F1F8(arg0);
func_8013F1F8(state);
break;
}
}
@ -403,9 +491,116 @@ INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013B1B0);
INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013BC88);
INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013C048);
void func_8013C048(FoldState* state) {
f32 divSizeX;
f32 divSizeY;
f32 posX;
f32 posY;
f32 texU;
f32 texV;
Vtx* vtx;
s32 i;
INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013C220);
state->firstVtxIdx = fold_vtxCount;
divSizeX = fold_currentImage->width / (f32) state->subdivX;
divSizeY = fold_currentImage->height / (f32) state->subdivY;
posY = fold_currentImage->yOffset;
texV = 0.0f;
vtx = &fold_vtxBuf[fold_vtxCount];
for (i = 0; i <= state->subdivY; i++) {
s32 j;
if (i == state->subdivY) {
texV = fold_currentImage->height;
posY = fold_currentImage->yOffset - fold_currentImage->height;
}
posX = fold_currentImage->xOffset;
texU = 0.0f;
for (j = 0; j <= state->subdivX; vtx++, j++) {
if (j == state->subdivX) {
texU = fold_currentImage->width;
posX = fold_currentImage->xOffset + fold_currentImage->width;
}
vtx->n.ob[0] = posX;
vtx->n.ob[1] = posY;
vtx->n.ob[2] = 0;
vtx->n.tc[0] = ((s32) texU + 256) * 32;
vtx->n.tc[1] = ((s32) texV + 256) * 32;
fold_vtxCount++;
posX += divSizeX;
texU += divSizeX;
}
posY -= divSizeY;
texV += divSizeY;
}
state->lastVtxIdx = fold_vtxCount - 1;
}
// Issues with the loop
#ifdef NON_EQUIVALENT
void fold_load_gfx(FoldState* state) {
Gfx* temp_s0;
Gfx* temp_s1_2;
FoldGfxDescriptor* descriptor;
s32* temp_s1;
s32 startAddr = _24B7F0_ROM_START;
Gwords* gfxPos;
u32 gfxOp;
s32 i;
temp_s1 = fold_groupOffsets[state->unk_1C[0][0]] + startAddr;
descriptor = &fold_groupDescriptors[(u8) state->arrayIdx];
if (state->unk_64 != temp_s1) {
state->unk_64 = temp_s1;
dma_copy(state->unk_64, (s32)state->unk_64 + 0x10, descriptor);
if (state->unk_68[0] != NULL) {
fold_add_to_gfx_cache(state->unk_68[0], 1);
state->unk_68[0] = NULL;
}
if (state->unk_68[1] != NULL) {
fold_add_to_gfx_cache(state->unk_68[1], 1);
state->unk_68[1] = NULL;
}
if (state->unk_70[0] != NULL) {
fold_add_to_gfx_cache(state->unk_70[0], 1);
state->unk_70[0] = NULL;
}
if (state->unk_70[1] != NULL) {
fold_add_to_gfx_cache(state->unk_70[1], 1);
state->unk_70[1] = NULL;
}
state->unk_68[0] = heap_malloc((u16) descriptor->vtxCount * 0x10);
state->unk_68[1] = heap_malloc((u16) descriptor->vtxCount * 0x10);
state->unk_70[0] = heap_malloc((u16) descriptor->gfxCount * 8);
state->unk_70[1] = heap_malloc((u16) descriptor->gfxCount * 8);
temp_s1_2 = (s32)descriptor->gfx + startAddr;
temp_s0 = &temp_s1_2[descriptor->gfxCount];
dma_copy(temp_s1_2, temp_s0, state->unk_70[0]);
dma_copy(temp_s1_2, temp_s0, state->unk_70[1]);
gfxPos = &state->unk_70[0]->words;
for (i = 0; i < 2; i++) {
gfxOp = state->unk_70[i]->words.w0;
if (gfxOp >> 0x18 == 1) {
state->unk_70[i]->words.w1 = (u32)(state->unk_68[i] + ((s32)(state->unk_70[i]->words.w1 - (s32)descriptor->vtx) / 3) * 4);
}
if (gfxOp != 0xDF) {
break;
}
}
}
}
#else
INCLUDE_ASM(s32, "d0a70_len_4fe0", fold_load_gfx);
#endif
INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013C3F0);
@ -417,12 +612,105 @@ INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013E2F0);
INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013E904);
void func_8013EE48(UnkD0A70Struct* arg0) {
arg0->unk_3C[0][0] = 0.0f;
arg0->unk_3C[0][1] = 50.0f;
arg0->unk_3C[0][2] = 30.0f;
void func_8013EE48(FoldState* state) {
state->unk_3C[0][0] = 0.0f;
state->unk_3C[0][1] = 50.0f;
state->unk_3C[0][2] = 30.0f;
}
INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013EE68);
// Float stuff
#ifdef NON_MATCHING
void func_8013EE68(FoldState* state) {
Vtx* temp_s0;
Vtx* temp_s0_2;
Vtx* temp_s0_3;
f32 temp_f0_7;
f32 temp_f20;
f32 temp_f20_2;
f32 temp_f20_3;
f32 temp_f22;
f32 temp_f24;
f32 temp_fblah;
f32 temp_f2;
s32 temp_s5;
f32 phi_f8;
f32 phi_f6;
f32 phi_f4;
s32 phi_s3;
s32 phi_s4;
s32 i;
INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013F1F8);
phi_f8 = (f32) gGameStatusPtr->frameCounter / 10.3;
while (phi_f8 > 360.0) {
phi_f8 -= 360.0;
}
phi_f6 = (f32) (gGameStatusPtr->frameCounter + 40) / 11.2;
while (phi_f6 > 360.0) {
phi_f6 -= 360.0;
}
phi_f4 = (f32) (gGameStatusPtr->frameCounter + 25) / 10.8;
while (phi_f4 > 360.0) {
phi_f4 -= 360.0;
}
state->unk_3C[0][0] = phi_f8;
state->unk_3C[0][1] = phi_f6;
state->unk_3C[0][2] = phi_f4;
if (state->unk_3C[0][0] >= 360.0) {
state->unk_3C[0][0] -= 360.0;
}
if (state->unk_3C[0][1] >= 360.0) {
state->unk_3C[0][1] -= 360.0;
}
if (state->unk_3C[0][2] >= 360.0) {
state->unk_3C[0][2] -= 360.0;
}
phi_s4 = 0;
phi_s3 = 0;
temp_s5 = (state->lastVtxIdx - state->firstVtxIdx) - state->subdivX;
for (i = 0; i < temp_s5; i++) {
temp_f2 = phi_s3;
temp_f0_7 = phi_s4 * 180;
temp_fblah = state->unk_3C[0][0] + temp_f2 + temp_f0_7;
temp_f22 = state->unk_3C[0][1] + temp_f2 + temp_f0_7;
temp_f24 = state->unk_3C[0][2] + temp_f2 + temp_f0_7;
temp_s0 = &fold_vtxBuf[state->firstVtxIdx + i];
temp_f20 = temp_s0->v.ob[0];
temp_s0->v.ob[0] = (temp_f20 + (sin_rad(temp_fblah) * state->unk_1C[0][0]));
temp_s0_2 = &fold_vtxBuf[state->firstVtxIdx + i];
temp_f20_2 = temp_s0_2->v.ob[1];
temp_s0_2->v.ob[1] = (temp_f20_2 + (sin_rad(temp_f22) * state->unk_1C[0][1]));
temp_s0_3 = &fold_vtxBuf[state->firstVtxIdx + i];
temp_f20_3 = temp_s0_3->v.ob[2];
temp_s0_3->v.ob[2] = (temp_f20_3 + (sin_rad(temp_f24) * state->unk_1C[0][2]));
phi_s3 += 45;
if ((i % (s32) (state->subdivX + 1)) == 0) {
phi_s3 = 0;
phi_s4 = !phi_s4;
}
}
}
#else
INCLUDE_ASM(s32, "d0a70_len_4fe0", func_8013EE68);
#endif
void func_8013F1F8(FoldState* state) {
f32 alpha = (f32)fold_currentImage->gfxOtherModeD / 255.0;
s32 vtxCount = state->lastVtxIdx - state->firstVtxIdx;
s32 i;
for (i = 0; i <= vtxCount; i++) {
fold_vtxBuf[state->firstVtxIdx + i].v.cn[0] = state->buf[i * 4 + 0];
fold_vtxBuf[state->firstVtxIdx + i].v.cn[1] = state->buf[i * 4 + 1];
fold_vtxBuf[state->firstVtxIdx + i].v.cn[2] = state->buf[i * 4 + 2];
fold_vtxBuf[state->firstVtxIdx + i].v.cn[3] = state->buf[i * 4 + 3] * alpha;
}
}

View File

@ -1,12 +1,166 @@
#include "common.h"
#include "effects_internal.h"
INCLUDE_ASM(s32, "effects/effect_10", fx_10_main);
extern Gfx D_090000E0[];
extern Gfx D_090001B8[];
void fx_10_init(void) {
void fx_10_init(EffectInstance* effect);
void fx_10_update(EffectInstance* effect);
void fx_10_render(EffectInstance* effect);
void fx_10_appendGfx(EffectInstance* effect);
typedef struct Effect10 {
/* 0x00 */ s32 alive;
/* 0x04 */ char unk_04[0x2];
/* 0x06 */ s16 lifetime;
/* 0x08 */ u8 alpha;
/* 0x09 */ char unk_09[0x3];
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 unk_28;
/* 0x2C */ f32 unk_2C;
/* 0x30 */ f32 unk_30;
/* 0x34 */ f32 unk_34;
/* 0x38 */ f32 unk_38;
/* 0x3C */ f32 unk_3C;
/* 0x40 */ s32 unk_40;
/* 0x44 */ f32 unk_44;
/* 0x48 */ f32 unk_48;
} Effect10; // size = 0x4C
void fx_10_main(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
EffectBlueprint bp;
EffectInstance* effect;
f32 temp_f20;
Effect10* part;
s32 numParts = 8;
s32 i;
bp.init = fx_10_init;
bp.update = fx_10_update;
bp.renderWorld = fx_10_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectIndex = 10;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
part = shim_general_heap_malloc(numParts * sizeof(*part));
effect->data = part;
ASSERT(effect->data != NULL);
shim_mem_clear(part, numParts * sizeof(*part));
for (i = 0; i < numParts; i++, part++) {
part->alive = TRUE;
part->unk_40 = 0;
part->unk_0C = arg0;
part->unk_10 = arg1;
part->unk_14 = arg2;
part->unk_18 = 1.0f;
part->unk_1C = 1.0f;
part->unk_20 = 1.0f;
part->alpha = 255;
part->unk_24 = (shim_rand_int(10) * 0.03) + 1.0;
part->unk_28 = (shim_rand_int(10) * 0.03) + 1.7;
part->unk_2C = func_E0200000(60);
part->lifetime = 30;
part->unk_34 = 0.5f;
part->unk_38 = -0.02f;
part->unk_3C = 0.00005f;
part->unk_30 = -3.9f;
temp_f20 = shim_clamp_angle(arg3 + i * 45);
part->unk_44 = shim_sin_deg(temp_f20);
part->unk_48 = shim_cos_deg(temp_f20);
}
}
INCLUDE_ASM(s32, "effects/effect_10", fx_10_update);
void fx_10_init(EffectInstance* effect) {
}
INCLUDE_ASM(s32, "effects/effect_10", fx_10_render);
void fx_10_update(EffectInstance* effect) {
Effect10* part = (Effect10*)effect->data;
s32 cond = FALSE;
s32 i;
INCLUDE_ASM(s32, "effects/effect_10", fx_10_appendGfx);
for (i = 0; i < effect->numParts; i++, part++) {
if (part->alive) {
part->lifetime--;
if (part->lifetime <= 0) {
part->alive = FALSE;
} else {
cond = TRUE;
part->unk_2C = shim_clamp_angle(part->unk_2C + 12.0f);
part->unk_18 = part->unk_24 + shim_sin_deg(part->unk_2C) * 0.1;
part->unk_1C = part->unk_28 + shim_cos_deg(part->unk_2C) * 0.1;
part->unk_30 *= 0.83;
part->unk_0C += part->unk_30 * part->unk_44;
part->unk_14 += part->unk_30 * part->unk_48;
part->unk_24 += (7.5 - part->unk_24) * 0.006;
part->unk_38 += part->unk_3C;
part->unk_34 += part->unk_38;
part->unk_10 += part->unk_34;
part->unk_28 *= 0.98;
if (part->lifetime < 10) {
part->unk_28 *= 0.9;
}
if (part->lifetime < 15) {
part->alpha -= 16;
}
}
}
}
if (!cond) {
shim_remove_effect(effect);
}
}
void fx_10_render(EffectInstance* effect) {
RenderTask renderTask;
RenderTask* retTask;
renderTask.appendGfx = fx_10_appendGfx;
renderTask.appendGfxArg = effect;
renderTask.distance = 0;
renderTask.renderMode = RENDER_MODE_28;
retTask = shim_queue_render_task(&renderTask);
retTask->renderMode |= RENDER_MODE_2;
}
void fx_10_appendGfx(EffectInstance* effect) {
EffectInstance* effectTemp = effect;
Effect10* part = effect->data;
Matrix4f sp20;
Matrix4f sp60;
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(effectTemp->effect->data));
gSPDisplayList(gMasterGfxPos++, D_090000E0);
for (i = 0; i < effectTemp->numParts; i++, part++) {
if (part->alive) {
shim_guPositionF(sp20, 0.0f, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f,
part->unk_0C, part->unk_10, part->unk_14);
shim_guScaleF(sp60, part->unk_18, part->unk_1C, part->unk_20);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 112, 96, 24, part->alpha);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++],
G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_090001B8);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
}
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -177,7 +177,7 @@ ApiStatus SetModelTexVariant(Evt* script, s32 isInitialCall) {
Bytecode treeIndex = evt_get_variable(script, *args++);
Bytecode var2 = evt_get_variable(script, *args++);
get_model_from_list_index(get_model_list_index_from_tree_index(treeIndex))->unk_A9 = var2;
get_model_from_list_index(get_model_list_index_from_tree_index(treeIndex))->textureVariation = var2;
return ApiStatus_DONE2;
}

View File

@ -105,7 +105,7 @@ void gfxRetrace_Callback(s32 arg0) {
INCLUDE_ASM(s32, "main", gfxRetrace_Callback);
#endif
//gfx stuff
// the loops & gSPTextureRectangle
#ifdef NON_EQUIVALENT
void gfx_task_main(void) {
u16 t;
@ -139,15 +139,8 @@ void gfx_task_main(void) {
gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, 0, 0, 0, 0, TEXEL0, 0, 0, 0, 0, 0, 0, 0, TEXEL0);
gDPSetAlphaCompare(gMasterGfxPos++, G_AC_THRESHOLD);
gDPSetBlendColor(gMasterGfxPos++, 0, 0, 0, 127);
gDPSetTextureImage(gMasterGfxPos++, G_IM_FMT_I, G_IM_SIZ_8b, 64, &D_80073E10);
gDPSetTile(gMasterGfxPos++, G_IM_FMT_I, G_IM_SIZ_8b, 8, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPLoadSync(gMasterGfxPos++);
gDPLoadTile(gMasterGfxPos++, G_TX_LOADTILE, 0, 0, 254, 28);
gDPPipeSync(gMasterGfxPos++);
gDPSetTile(gMasterGfxPos++, G_IM_FMT_I, G_IM_SIZ_4b, 8, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, 0, 0, 508, 28);
gDPLoadTextureTile_4b(gMasterGfxPos++, &D_80073E10, G_IM_FMT_I, 128, 0, 0, 0, 127, 7, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
for (i = 0; i < 20; i++) {
temp_s3 = ((i * 8) + 168) * 4;

View File

@ -1007,7 +1007,7 @@ void npc_update_decoration_bowser_aura(Npc* npc, s32 idx) {
}
void npc_remove_decoration_bowser_aura(Npc* npc, s32 idx) {
npc->decorations[idx]->data->unk_2C = 5;
((EffectInstanceData*)npc->decorations[idx]->data)->unk_2C = 5;
}
void npc_update_decoration_sweat(Npc* npc, s32 idx) {

View File

@ -256,7 +256,7 @@ void spr_init_sprites(s32 playerSpriteSet) {
spr_allocateBtlComponentsOnWorldHeap = FALSE;
_heap_create(&gSpriteHeapPtr, 0x40000);
func_8013A37C();
fold_init();
for (i = 0; i < ARRAY_COUNT(spr_playerSprites); i++) {
SpriteAnimData** playerSprites = spr_playerSprites;

View File

@ -152,7 +152,7 @@ void spr_render_init(void);
s32 func_802DDA84(void);
void spr_update_player_sprite(s32 arg0, s32 arg1, f32 arg2);
s32 spr_update_player_sprite(s32 arg0, s32 arg1, f32 arg2);
s32 spr_draw_player_sprite(s32 arg0, s32 yaw, s32 arg2, s16** paletteList, Matrix4f mtx);

View File

@ -3353,16 +3353,16 @@ ApiStatus N(func_802416FC_96A8BC)(Evt* script, s32 isInitialCall) {
N(D_8024EFCC) = script;
ret = func_8013A704(1);
func_8013AA9C(ret, 5, 0xF, 1, 1, 0, 0x800);
fold_update(ret, 5, 0xF, 1, 1, 0, 0x800);
evt_set_variable(script, EVT_ARRAY(0), ret);
ret = func_8013A704(1);
func_8013AA9C(ret, 5, 0x10, 1, 1, 0, 0x800);
fold_update(ret, 5, 0x10, 1, 1, 0, 0x800);
evt_set_variable(script, EVT_ARRAY(1), ret);
ret = func_8013A704(1);
func_8013AA9C(ret, 5, 0x11, 1, 1, 0, 0x800);
fold_update(ret, 5, 0x11, 1, 1, 0, 0x800);
evt_set_variable(script, EVT_ARRAY(2), ret);
ret = func_8013A704(1);
func_8013AA9C(ret, 5, 0x12, 1, 1, 0, 0x800);
fold_update(ret, 5, 0x12, 1, 1, 0, 0x800);
evt_set_variable(script, EVT_ARRAY(3), ret);
evt_set_variable(script, EVT_ARRAY(7), create_generic_entity_world(N(func_8024240C_96B5CC), N(func_80242EAC_96C06C)));

View File

@ -27,7 +27,7 @@ s32 func_80240000_92A2B0(void) {
ApiStatus func_80240338_92A5E8(Evt* script, s32 isInitialCall) {
EffectInstance* effect = (EffectInstance*)evt_get_variable(script, EVT_MAP_VAR(0));
effect->data->unk_3C = 0;
((EffectInstanceData*)effect->data)->unk_3C = 0;
return ApiStatus_DONE2;
}

View File

@ -4,7 +4,7 @@ import json
import glob
import os
print_funcs = False
print_funcs = True
sizes = {}

View File

@ -22,6 +22,7 @@ CPP_FLAGS = [
"-D__attribute__(...)=",
"-D__asm__(...)=",
"-ffreestanding",
"-DM2CTX",
]
def import_c_file(in_file) -> str:

View File

@ -1,24 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E0014780
.double 0.03
dlabel D_E0014788
.double 1.7
dlabel D_E0014790
.double 0.1
dlabel D_E0014798
.double 0.83
dlabel D_E00147A0
.double 0.006
dlabel D_E00147A8
.double 0.98
dlabel D_E00147B0
.double 0.9, 0.0

View File

@ -1,24 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E0014780
.double 0.03
dlabel D_E0014788
.double 1.7
dlabel D_E0014790
.double 0.1
dlabel D_E0014798
.double 0.83
dlabel D_E00147A0
.double 0.006
dlabel D_E00147A8
.double 0.98
dlabel D_E00147B0
.double 0.9, 0.0

View File

@ -1,134 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel update_player_actor_shadow
/* 18648C 80257BAC 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 186490 80257BB0 3C02800E */ lui $v0, %hi(gBattleStatus)
/* 186494 80257BB4 2442C070 */ addiu $v0, $v0, %lo(gBattleStatus)
/* 186498 80257BB8 AFBF0038 */ sw $ra, 0x38($sp)
/* 18649C 80257BBC AFB30034 */ sw $s3, 0x34($sp)
/* 1864A0 80257BC0 AFB20030 */ sw $s2, 0x30($sp)
/* 1864A4 80257BC4 AFB1002C */ sw $s1, 0x2c($sp)
/* 1864A8 80257BC8 AFB00028 */ sw $s0, 0x28($sp)
/* 1864AC 80257BCC 8C5000D8 */ lw $s0, 0xd8($v0)
/* 1864B0 80257BD0 8E1201F4 */ lw $s2, 0x1f4($s0)
/* 1864B4 80257BD4 0000202D */ daddu $a0, $zero, $zero
/* 1864B8 80257BD8 8E450088 */ lw $a1, 0x88($s2)
/* 1864BC 80257BDC 8E460090 */ lw $a2, 0x90($s2)
/* 1864C0 80257BE0 0C0B76A3 */ jal spr_update_player_sprite
/* 1864C4 80257BE4 0040982D */ daddu $s3, $v0, $zero
/* 1864C8 80257BE8 AE42008C */ sw $v0, 0x8c($s2)
/* 1864CC 80257BEC 8E020000 */ lw $v0, ($s0)
/* 1864D0 80257BF0 3C031000 */ lui $v1, 0x1000
/* 1864D4 80257BF4 00431024 */ and $v0, $v0, $v1
/* 1864D8 80257BF8 10400003 */ beqz $v0, .L80257C08
/* 1864DC 80257BFC 00000000 */ nop
/* 1864E0 80257C00 0C09527D */ jal func_802549F4
/* 1864E4 80257C04 0200202D */ daddu $a0, $s0, $zero
.L80257C08:
/* 1864E8 80257C08 8E04042C */ lw $a0, 0x42c($s0)
/* 1864EC 80257C0C 0C044181 */ jal get_shadow_by_index
/* 1864F0 80257C10 00000000 */ nop
/* 1864F4 80257C14 0040882D */ daddu $s1, $v0, $zero
/* 1864F8 80257C18 8E220000 */ lw $v0, ($s1)
/* 1864FC 80257C1C 2403FFFE */ addiu $v1, $zero, -2
/* 186500 80257C20 00431024 */ and $v0, $v0, $v1
/* 186504 80257C24 AE220000 */ sw $v0, ($s1)
/* 186508 80257C28 8262009A */ lb $v0, 0x9a($s3)
/* 18650C 80257C2C 14400002 */ bnez $v0, .L80257C38
/* 186510 80257C30 24020028 */ addiu $v0, $zero, 0x28
/* 186514 80257C34 24020080 */ addiu $v0, $zero, 0x80
.L80257C38:
/* 186518 80257C38 A2220005 */ sb $v0, 5($s1)
/* 18651C 80257C3C 0000202D */ daddu $a0, $zero, $zero
/* 186520 80257C40 27A50018 */ addiu $a1, $sp, 0x18
/* 186524 80257C44 27A6001C */ addiu $a2, $sp, 0x1c
/* 186528 80257C48 3C0146FF */ lui $at, 0x46ff
/* 18652C 80257C4C 3421FE00 */ ori $at, $at, 0xfe00
/* 186530 80257C50 44810000 */ mtc1 $at, $f0
/* 186534 80257C54 27A70020 */ addiu $a3, $sp, 0x20
/* 186538 80257C58 E7A00024 */ swc1 $f0, 0x24($sp)
/* 18653C 80257C5C 86020150 */ lh $v0, 0x150($s0)
/* 186540 80257C60 C6060144 */ lwc1 $f6, 0x144($s0)
/* 186544 80257C64 C604014C */ lwc1 $f4, 0x14c($s0)
/* 186548 80257C68 44820000 */ mtc1 $v0, $f0
/* 18654C 80257C6C 00000000 */ nop
/* 186550 80257C70 46800020 */ cvt.s.w $f0, $f0
/* 186554 80257C74 46003180 */ add.s $f6, $f6, $f0
/* 186558 80257C78 86020152 */ lh $v0, 0x152($s0)
/* 18655C 80257C7C C6000148 */ lwc1 $f0, 0x148($s0)
/* 186560 80257C80 44821000 */ mtc1 $v0, $f2
/* 186564 80257C84 00000000 */ nop
/* 186568 80257C88 468010A0 */ cvt.s.w $f2, $f2
/* 18656C 80257C8C 86020154 */ lh $v0, 0x154($s0)
/* 186570 80257C90 46020000 */ add.s $f0, $f0, $f2
/* 186574 80257C94 44821000 */ mtc1 $v0, $f2
/* 186578 80257C98 00000000 */ nop
/* 18657C 80257C9C 468010A0 */ cvt.s.w $f2, $f2
/* 186580 80257CA0 27A20024 */ addiu $v0, $sp, 0x24
/* 186584 80257CA4 46022100 */ add.s $f4, $f4, $f2
/* 186588 80257CA8 3C014028 */ lui $at, 0x4028
/* 18658C 80257CAC 44811800 */ mtc1 $at, $f3
/* 186590 80257CB0 44801000 */ mtc1 $zero, $f2
/* 186594 80257CB4 46000021 */ cvt.d.s $f0, $f0
/* 186598 80257CB8 46220000 */ add.d $f0, $f0, $f2
/* 18659C 80257CBC E7A60018 */ swc1 $f6, 0x18($sp)
/* 1865A0 80257CC0 E7A40020 */ swc1 $f4, 0x20($sp)
/* 1865A4 80257CC4 46200020 */ cvt.s.d $f0, $f0
/* 1865A8 80257CC8 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 1865AC 80257CCC 0C0372DF */ jal npc_raycast_down_sides
/* 1865B0 80257CD0 AFA20010 */ sw $v0, 0x10($sp)
/* 1865B4 80257CD4 C7A20024 */ lwc1 $f2, 0x24($sp)
/* 1865B8 80257CD8 3C014348 */ lui $at, 0x4348
/* 1865BC 80257CDC 44810000 */ mtc1 $at, $f0
/* 1865C0 80257CE0 00000000 */ nop
/* 1865C4 80257CE4 4602003C */ c.lt.s $f0, $f2
/* 1865C8 80257CE8 00000000 */ nop
/* 1865CC 80257CEC 45000004 */ bc1f .L80257D00
/* 1865D0 80257CF0 00000000 */ nop
/* 1865D4 80257CF4 8E220000 */ lw $v0, ($s1)
/* 1865D8 80257CF8 34420001 */ ori $v0, $v0, 1
/* 1865DC 80257CFC AE220000 */ sw $v0, ($s1)
.L80257D00:
/* 1865E0 80257D00 C7A00018 */ lwc1 $f0, 0x18($sp)
/* 1865E4 80257D04 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* 1865E8 80257D08 C7A40020 */ lwc1 $f4, 0x20($sp)
/* 1865EC 80257D0C 3C02800B */ lui $v0, %hi(gCameras+0x558)
/* 1865F0 80257D10 244222D8 */ addiu $v0, $v0, %lo(gCameras+0x558)
/* 1865F4 80257D14 E6200010 */ swc1 $f0, 0x10($s1)
/* 1865F8 80257D18 E6220014 */ swc1 $f2, 0x14($s1)
/* 1865FC 80257D1C E6240018 */ swc1 $f4, 0x18($s1)
/* 186600 80257D20 C600018C */ lwc1 $f0, 0x18c($s0)
/* 186604 80257D24 C44C006C */ lwc1 $f12, 0x6c($v0)
/* 186608 80257D28 0C00A6C9 */ jal clamp_angle
/* 18660C 80257D2C 460C0301 */ sub.s $f12, $f0, $f12
/* 186610 80257D30 8FA50024 */ lw $a1, 0x24($sp)
/* 186614 80257D34 0220202D */ daddu $a0, $s1, $zero
/* 186618 80257D38 0C044A17 */ jal set_standard_shadow_scale
/* 18661C 80257D3C E620002C */ swc1 $f0, 0x2c($s1)
/* 186620 80257D40 C6020430 */ lwc1 $f2, 0x430($s0)
/* 186624 80257D44 C6000188 */ lwc1 $f0, 0x188($s0)
/* 186628 80257D48 46001082 */ mul.s $f2, $f2, $f0
/* 18662C 80257D4C 00000000 */ nop
/* 186630 80257D50 C620001C */ lwc1 $f0, 0x1c($s1)
/* 186634 80257D54 46020002 */ mul.s $f0, $f0, $f2
/* 186638 80257D58 00000000 */ nop
/* 18663C 80257D5C E620001C */ swc1 $f0, 0x1c($s1)
/* 186640 80257D60 86420098 */ lh $v0, 0x98($s2)
/* 186644 80257D64 284200FF */ slti $v0, $v0, 0xff
/* 186648 80257D68 14400006 */ bnez $v0, .L80257D84
/* 18664C 80257D6C 24020022 */ addiu $v0, $zero, 0x22
/* 186650 80257D70 8E420000 */ lw $v0, ($s2)
/* 186654 80257D74 30420100 */ andi $v0, $v0, 0x100
/* 186658 80257D78 14400002 */ bnez $v0, .L80257D84
/* 18665C 80257D7C 24020022 */ addiu $v0, $zero, 0x22
/* 186660 80257D80 2402000D */ addiu $v0, $zero, 0xd
.L80257D84:
/* 186664 80257D84 A6020434 */ sh $v0, 0x434($s0)
/* 186668 80257D88 8FBF0038 */ lw $ra, 0x38($sp)
/* 18666C 80257D8C 8FB30034 */ lw $s3, 0x34($sp)
/* 186670 80257D90 8FB20030 */ lw $s2, 0x30($sp)
/* 186674 80257D94 8FB1002C */ lw $s1, 0x2c($sp)
/* 186678 80257D98 8FB00028 */ lw $s0, 0x28($sp)
/* 18667C 80257D9C 03E00008 */ jr $ra
/* 186680 80257DA0 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80263230
/* 191B10 80263230 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 191B14 80263234 AFBF0010 */ sw $ra, 0x10($sp)
/* 191B18 80263238 0C098C19 */ jal func_80263064
/* 191B1C 8026323C 0000302D */ daddu $a2, $zero, $zero
/* 191B20 80263240 8FBF0010 */ lw $ra, 0x10($sp)
/* 191B24 80263244 03E00008 */ jr $ra
/* 191B28 80263248 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8026324C
/* 191B2C 8026324C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 191B30 80263250 AFBF0010 */ sw $ra, 0x10($sp)
/* 191B34 80263254 0C098C19 */ jal func_80263064
/* 191B38 80263258 24060001 */ addiu $a2, $zero, 1
/* 191B3C 8026325C 8FBF0010 */ lw $ra, 0x10($sp)
/* 191B40 80263260 03E00008 */ jr $ra
/* 191B44 80263264 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,18 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80263CC4
/* 1925A4 80263CC4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 1925A8 80263CC8 AFB00010 */ sw $s0, 0x10($sp)
/* 1925AC 80263CCC 0080802D */ daddu $s0, $a0, $zero
/* 1925B0 80263CD0 3C048029 */ lui $a0, %hi(D_80293820)
/* 1925B4 80263CD4 24843820 */ addiu $a0, $a0, %lo(D_80293820)
/* 1925B8 80263CD8 2405000A */ addiu $a1, $zero, 0xa
/* 1925BC 80263CDC AFBF0014 */ sw $ra, 0x14($sp)
/* 1925C0 80263CE0 0C0B0CF8 */ jal start_script
/* 1925C4 80263CE4 0000302D */ daddu $a2, $zero, $zero
/* 1925C8 80263CE8 AC500084 */ sw $s0, 0x84($v0)
/* 1925CC 80263CEC 8FBF0014 */ lw $ra, 0x14($sp)
/* 1925D0 80263CF0 8FB00010 */ lw $s0, 0x10($sp)
/* 1925D4 80263CF4 03E00008 */ jr $ra
/* 1925D8 80263CF8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,6 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80266970
/* 195250 80266970 03E00008 */ jr $ra
/* 195254 80266974 A0800204 */ sb $zero, 0x204($a0)

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80266ADC
/* 1953BC 80266ADC 2402FFFF */ addiu $v0, $zero, -1
/* 1953C0 80266AE0 A0820206 */ sb $v0, 0x206($a0)
/* 1953C4 80266AE4 8C820000 */ lw $v0, ($a0)
/* 1953C8 80266AE8 3C030008 */ lui $v1, 8
/* 1953CC 80266AEC 00431025 */ or $v0, $v0, $v1
/* 1953D0 80266AF0 03E00008 */ jr $ra
/* 1953D4 80266AF4 AC820000 */ sw $v0, ($a0)

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80266AF8
/* 1953D8 80266AF8 3C03FFF7 */ lui $v1, 0xfff7
/* 1953DC 80266AFC 8C820000 */ lw $v0, ($a0)
/* 1953E0 80266B00 3463FFFF */ ori $v1, $v1, 0xffff
/* 1953E4 80266B04 A0800206 */ sb $zero, 0x206($a0)
/* 1953E8 80266B08 00431024 */ and $v0, $v0, $v1
/* 1953EC 80266B0C 03E00008 */ jr $ra
/* 1953F0 80266B10 AC820000 */ sw $v0, ($a0)

View File

@ -1,21 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80266D6C
/* 19564C 80266D6C 8C820094 */ lw $v0, 0x94($a0)
/* 195650 80266D70 1040000C */ beqz $v0, .L80266DA4
/* 195654 80266D74 00000000 */ nop
/* 195658 80266D78 8C820000 */ lw $v0, ($a0)
/* 19565C 80266D7C 30420002 */ andi $v0, $v0, 2
/* 195660 80266D80 14400008 */ bnez $v0, .L80266DA4
/* 195664 80266D84 00000000 */ nop
/* 195668 80266D88 8C8400C0 */ lw $a0, 0xc0($a0)
/* 19566C 80266D8C 808206C0 */ lb $v0, 0x6c0($a0)
/* 195670 80266D90 10450004 */ beq $v0, $a1, .L80266DA4
/* 195674 80266D94 24020001 */ addiu $v0, $zero, 1
/* 195678 80266D98 A08506C0 */ sb $a1, 0x6c0($a0)
/* 19567C 80266D9C A08006C2 */ sb $zero, 0x6c2($a0)
/* 195680 80266DA0 A08206C1 */ sb $v0, 0x6c1($a0)
.L80266DA4:
/* 195684 80266DA4 03E00008 */ jr $ra
/* 195688 80266DA8 00000000 */ nop

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80266E14
/* 1956F4 80266E14 8C820094 */ lw $v0, 0x94($a0)
/* 1956F8 80266E18 10400007 */ beqz $v0, .L80266E38
/* 1956FC 80266E1C 00000000 */ nop
/* 195700 80266E20 8C820000 */ lw $v0, ($a0)
/* 195704 80266E24 30420002 */ andi $v0, $v0, 2
/* 195708 80266E28 14400003 */ bnez $v0, .L80266E38
/* 19570C 80266E2C 00000000 */ nop
/* 195710 80266E30 8C8200C0 */ lw $v0, 0xc0($a0)
/* 195714 80266E34 A04006C0 */ sb $zero, 0x6c0($v0)
.L80266E38:
/* 195718 80266E38 03E00008 */ jr $ra
/* 19571C 80266E3C 00000000 */ nop

View File

@ -1,21 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80266EA8
/* 195788 80266EA8 8C820094 */ lw $v0, 0x94($a0)
/* 19578C 80266EAC 1040000C */ beqz $v0, .L80266EE0
/* 195790 80266EB0 00000000 */ nop
/* 195794 80266EB4 8C820000 */ lw $v0, ($a0)
/* 195798 80266EB8 30420002 */ andi $v0, $v0, 2
/* 19579C 80266EBC 14400008 */ bnez $v0, .L80266EE0
/* 1957A0 80266EC0 00000000 */ nop
/* 1957A4 80266EC4 8C8400C0 */ lw $a0, 0xc0($a0)
/* 1957A8 80266EC8 80820750 */ lb $v0, 0x750($a0)
/* 1957AC 80266ECC 10450004 */ beq $v0, $a1, .L80266EE0
/* 1957B0 80266ED0 24020001 */ addiu $v0, $zero, 1
/* 1957B4 80266ED4 A0850750 */ sb $a1, 0x750($a0)
/* 1957B8 80266ED8 A0800752 */ sb $zero, 0x752($a0)
/* 1957BC 80266EDC A0820751 */ sb $v0, 0x751($a0)
.L80266EE0:
/* 1957C0 80266EE0 03E00008 */ jr $ra
/* 1957C4 80266EE4 00000000 */ nop

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80266F60
/* 195840 80266F60 8C820094 */ lw $v0, 0x94($a0)
/* 195844 80266F64 10400007 */ beqz $v0, .L80266F84
/* 195848 80266F68 00000000 */ nop
/* 19584C 80266F6C 8C820000 */ lw $v0, ($a0)
/* 195850 80266F70 30420002 */ andi $v0, $v0, 2
/* 195854 80266F74 14400003 */ bnez $v0, .L80266F84
/* 195858 80266F78 00000000 */ nop
/* 19585C 80266F7C 8C8200C0 */ lw $v0, 0xc0($a0)
/* 195860 80266F80 A0400750 */ sb $zero, 0x750($v0)
.L80266F84:
/* 195864 80266F84 03E00008 */ jr $ra
/* 195868 80266F88 00000000 */ nop

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80266F8C
/* 19586C 80266F8C 8C8401F4 */ lw $a0, 0x1f4($a0)
/* 195870 80266F90 1080000F */ beqz $a0, .L80266FD0
/* 195874 80266F94 3C060010 */ lui $a2, 0x10
/* 195878 80266F98 34C60001 */ ori $a2, $a2, 1
.L80266F9C:
/* 19587C 80266F9C 8C8500C0 */ lw $a1, 0xc0($a0)
/* 195880 80266FA0 8C830000 */ lw $v1, ($a0)
/* 195884 80266FA4 00661024 */ and $v0, $v1, $a2
/* 195888 80266FA8 14400006 */ bnez $v0, .L80266FC4
/* 19588C 80266FAC 00000000 */ nop
/* 195890 80266FB0 8C820094 */ lw $v0, 0x94($a0)
/* 195894 80266FB4 10400003 */ beqz $v0, .L80266FC4
/* 195898 80266FB8 30620002 */ andi $v0, $v1, 2
/* 19589C 80266FBC 50400001 */ beql $v0, $zero, .L80266FC4
/* 1958A0 80266FC0 A0A00750 */ sb $zero, 0x750($a1)
.L80266FC4:
/* 1958A4 80266FC4 8C84000C */ lw $a0, 0xc($a0)
/* 1958A8 80266FC8 1480FFF4 */ bnez $a0, .L80266F9C
/* 1958AC 80266FCC 00000000 */ nop
.L80266FD0:
/* 1958B0 80266FD0 03E00008 */ jr $ra
/* 1958B4 80266FD4 00000000 */ nop

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8026709C
/* 19597C 8026709C 8C820094 */ lw $v0, 0x94($a0)
/* 195980 802670A0 10400007 */ beqz $v0, .L802670C0
/* 195984 802670A4 00000000 */ nop
/* 195988 802670A8 8C820000 */ lw $v0, ($a0)
/* 19598C 802670AC 30420002 */ andi $v0, $v0, 2
/* 195990 802670B0 14400003 */ bnez $v0, .L802670C0
/* 195994 802670B4 00000000 */ nop
/* 195998 802670B8 8C8200C0 */ lw $v0, 0xc0($a0)
/* 19599C 802670BC A0400764 */ sb $zero, 0x764($v0)
.L802670C0:
/* 1959A0 802670C0 03E00008 */ jr $ra
/* 1959A4 802670C4 00000000 */ nop

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802670C8
/* 1959A8 802670C8 8C8401F4 */ lw $a0, 0x1f4($a0)
/* 1959AC 802670CC 1080000F */ beqz $a0, .L8026710C
/* 1959B0 802670D0 3C060010 */ lui $a2, 0x10
/* 1959B4 802670D4 34C60001 */ ori $a2, $a2, 1
.L802670D8:
/* 1959B8 802670D8 8C8500C0 */ lw $a1, 0xc0($a0)
/* 1959BC 802670DC 8C830000 */ lw $v1, ($a0)
/* 1959C0 802670E0 00661024 */ and $v0, $v1, $a2
/* 1959C4 802670E4 14400006 */ bnez $v0, .L80267100
/* 1959C8 802670E8 00000000 */ nop
/* 1959CC 802670EC 8C820094 */ lw $v0, 0x94($a0)
/* 1959D0 802670F0 10400003 */ beqz $v0, .L80267100
/* 1959D4 802670F4 30620002 */ andi $v0, $v1, 2
/* 1959D8 802670F8 50400001 */ beql $v0, $zero, .L80267100
/* 1959DC 802670FC A0A00764 */ sb $zero, 0x764($a1)
.L80267100:
/* 1959E0 80267100 8C84000C */ lw $a0, 0xc($a0)
/* 1959E4 80267104 1480FFF4 */ bnez $a0, .L802670D8
/* 1959E8 80267108 00000000 */ nop
.L8026710C:
/* 1959EC 8026710C 03E00008 */ jr $ra
/* 1959F0 80267110 00000000 */ nop

View File

@ -246,7 +246,7 @@ glabel draw_coin_sparkles
/* C75D0 80130ED0 00021FC2 */ srl $v1, $v0, 0x1f
/* C75D4 80130ED4 00431021 */ addu $v0, $v0, $v1
/* C75D8 80130ED8 00021043 */ sra $v0, $v0, 1
/* C75DC 80130EDC 0C04EBDC */ jal func_8013AF70
/* C75DC 80130EDC 0C04EBDC */ jal fold_appendGfx_component
/* C75E0 80130EE0 A7A20126 */ sh $v0, 0x126($sp)
/* C75E4 80130EE4 3C03D838 */ lui $v1, 0xd838
/* C75E8 80130EE8 8E020000 */ lw $v0, ($s0)

View File

@ -120,7 +120,7 @@ glabel func_802B71E8_E202F8
/* E204C4 802B73B4 24020440 */ addiu $v0, $zero, 0x440
/* E204C8 802B73B8 AFA00010 */ sw $zero, 0x10($sp)
/* E204CC 802B73BC AFA00014 */ sw $zero, 0x14($sp)
/* E204D0 802B73C0 0C04EAA7 */ jal func_8013AA9C
/* E204D0 802B73C0 0C04EAA7 */ jal fold_update
/* E204D4 802B73C4 AFA20018 */ sw $v0, 0x18($sp)
/* E204D8 802B73C8 0000202D */ daddu $a0, $zero, $zero
/* E204DC 802B73CC 8E820000 */ lw $v0, ($s4)
@ -131,12 +131,12 @@ glabel func_802B71E8_E202F8
/* E204F0 802B73E0 24020448 */ addiu $v0, $zero, 0x448
/* E204F4 802B73E4 AFA20018 */ sw $v0, 0x18($sp)
/* E204F8 802B73E8 00C0382D */ daddu $a3, $a2, $zero
/* E204FC 802B73EC 0C04EAA7 */ jal func_8013AA9C
/* E204FC 802B73EC 0C04EAA7 */ jal fold_update
/* E20500 802B73F0 AFA60010 */ sw $a2, 0x10($sp)
/* E20504 802B73F4 0000202D */ daddu $a0, $zero, $zero
/* E20508 802B73F8 27A50020 */ addiu $a1, $sp, 0x20
/* E2050C 802B73FC 0080302D */ daddu $a2, $a0, $zero
/* E20510 802B7400 0C04EBDC */ jal func_8013AF70
/* E20510 802B7400 0C04EBDC */ jal fold_appendGfx_component
/* E20514 802B7404 0220382D */ daddu $a3, $s1, $zero
/* E20518 802B7408 3C04D838 */ lui $a0, 0xd838
/* E2051C 802B740C 8E420000 */ lw $v0, ($s2)

View File

@ -199,7 +199,7 @@ glabel func_802B71D4
/* E21D04 802B7494 2402002E */ addiu $v0, $zero, 0x2e
/* E21D08 802B7498 A7A200A6 */ sh $v0, 0xa6($sp)
/* E21D0C 802B749C 240200FF */ addiu $v0, $zero, 0xff
/* E21D10 802B74A0 0C04EBDC */ jal func_8013AF70
/* E21D10 802B74A0 0C04EBDC */ jal fold_appendGfx_component
/* E21D14 802B74A4 A3A200A8 */ sb $v0, 0xa8($sp)
/* E21D18 802B74A8 3C05D838 */ lui $a1, 0xd838
/* E21D1C 802B74AC 3C03800A */ lui $v1, %hi(gMasterGfxPos)

View File

@ -1,45 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel SetEntityCullMode
/* A859C 80111E9C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* A85A0 80111EA0 AFB00010 */ sw $s0, 0x10($sp)
/* A85A4 80111EA4 0080802D */ daddu $s0, $a0, $zero
/* A85A8 80111EA8 3C048015 */ lui $a0, %hi(gLastCreatedEntityIndex)
/* A85AC 80111EAC 8C8412EC */ lw $a0, %lo(gLastCreatedEntityIndex)($a0)
/* A85B0 80111EB0 AFBF0014 */ sw $ra, 0x14($sp)
/* A85B4 80111EB4 0C04417A */ jal get_entity_by_index
/* A85B8 80111EB8 00000000 */ nop
/* A85BC 80111EBC 8E03000C */ lw $v1, 0xc($s0)
/* A85C0 80111EC0 0200202D */ daddu $a0, $s0, $zero
/* A85C4 80111EC4 8C650000 */ lw $a1, ($v1)
/* A85C8 80111EC8 0C0B1EAF */ jal evt_get_variable
/* A85CC 80111ECC 0040802D */ daddu $s0, $v0, $zero
/* A85D0 80111ED0 0040182D */ daddu $v1, $v0, $zero
/* A85D4 80111ED4 54600004 */ bnel $v1, $zero, .L80111EE8
/* A85D8 80111ED8 24020001 */ addiu $v0, $zero, 1
/* A85DC 80111EDC 8E020000 */ lw $v0, ($s0)
/* A85E0 80111EE0 080447C5 */ j .L80111F14
/* A85E4 80111EE4 34420002 */ ori $v0, $v0, 2
.L80111EE8:
/* A85E8 80111EE8 14620004 */ bne $v1, $v0, .L80111EFC
/* A85EC 80111EEC 24020002 */ addiu $v0, $zero, 2
/* A85F0 80111EF0 8E020000 */ lw $v0, ($s0)
/* A85F4 80111EF4 080447C4 */ j .L80111F10
/* A85F8 80111EF8 3C030004 */ lui $v1, 4
.L80111EFC:
/* A85FC 80111EFC 14620002 */ bne $v1, $v0, .L80111F08
/* A8600 80111F00 3C03000C */ lui $v1, 0xc
/* A8604 80111F04 3C030004 */ lui $v1, 4
.L80111F08:
/* A8608 80111F08 8E020000 */ lw $v0, ($s0)
/* A860C 80111F0C 34630002 */ ori $v1, $v1, 2
.L80111F10:
/* A8610 80111F10 00431025 */ or $v0, $v0, $v1
.L80111F14:
/* A8614 80111F14 AE020000 */ sw $v0, ($s0)
/* A8618 80111F18 8FBF0014 */ lw $ra, 0x14($sp)
/* A861C 80111F1C 8FB00010 */ lw $s0, 0x10($sp)
/* A8620 80111F20 24020002 */ addiu $v0, $zero, 2
/* A8624 80111F24 03E00008 */ jr $ra
/* A8628 80111F28 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -766,9 +766,9 @@ glabel appendGfx_model
/* AA288 80113B88 3C198015 */ lui $t9, %hi(D_8014B0B8)
/* AA28C 80113B8C 0322C821 */ addu $t9, $t9, $v0
/* AA290 80113B90 8F39B0B8 */ lw $t9, %lo(D_8014B0B8)($t9)
/* AA294 80113B94 3C0D8015 */ lui $t5, %hi(D_8014B0BC)
/* AA294 80113B94 3C0D8015 */ lui $t5, %hi(D_8014B0B8 + 0x4)
/* AA298 80113B98 01A26821 */ addu $t5, $t5, $v0
/* AA29C 80113B9C 8DADB0BC */ lw $t5, %lo(D_8014B0BC)($t5)
/* AA29C 80113B9C 8DADB0BC */ lw $t5, %lo(D_8014B0B8 + 0x4)($t5)
/* AA2A0 80113BA0 AC790000 */ sw $t9, ($v1)
/* AA2A4 80113BA4 08044EF9 */ j .L80113BE4
/* AA2A8 80113BA8 AC6D0004 */ sw $t5, 4($v1)
@ -782,9 +782,9 @@ glabel appendGfx_model
/* AA2C4 80113BC4 3C0D8015 */ lui $t5, %hi(D_8014B400)
/* AA2C8 80113BC8 01A26821 */ addu $t5, $t5, $v0
/* AA2CC 80113BCC 8DADB400 */ lw $t5, %lo(D_8014B400)($t5)
/* AA2D0 80113BD0 3C0F8015 */ lui $t7, %hi(D_8014B404)
/* AA2D0 80113BD0 3C0F8015 */ lui $t7, %hi(D_8014B400 + 0x4)
/* AA2D4 80113BD4 01E27821 */ addu $t7, $t7, $v0
/* AA2D8 80113BD8 8DEFB404 */ lw $t7, %lo(D_8014B404)($t7)
/* AA2D8 80113BD8 8DEFB404 */ lw $t7, %lo(D_8014B400 + 0x4)($t7)
/* AA2DC 80113BDC AC6D0000 */ sw $t5, ($v1)
/* AA2E0 80113BE0 AC6F0004 */ sw $t7, 4($v1)
.L80113BE4:
@ -1085,8 +1085,8 @@ glabel appendGfx_model
/* AA678 80113F78 8E030000 */ lw $v1, ($s0)
/* AA67C 80113F7C 0060202D */ daddu $a0, $v1, $zero
/* AA680 80113F80 AC820000 */ sw $v0, ($a0)
/* AA684 80113F84 3C028015 */ lui $v0, %hi(D_8014B000)
/* AA688 80113F88 8C42B000 */ lw $v0, %lo(D_8014B000)($v0)
/* AA684 80113F84 3C028015 */ lui $v0, %hi(D_8014AFC0 + 0x40)
/* AA688 80113F88 8C42B000 */ lw $v0, %lo(D_8014AFC0 + 0x40)($v0)
/* AA68C 80113F8C 24630008 */ addiu $v1, $v1, 8
/* AA690 80113F90 AE030000 */ sw $v1, ($s0)
/* AA694 80113F94 AC820004 */ sw $v0, 4($a0)

View File

@ -418,9 +418,9 @@ glabel func_801180E8
/* AEDE8 801186E8 3C168015 */ lui $s6, %hi(D_8014B0B8)
/* AEDEC 801186EC 02C2B021 */ addu $s6, $s6, $v0
/* AEDF0 801186F0 8ED6B0B8 */ lw $s6, %lo(D_8014B0B8)($s6)
/* AEDF4 801186F4 3C108015 */ lui $s0, %hi(D_8014B0BC)
/* AEDF4 801186F4 3C108015 */ lui $s0, %hi(D_8014B0B8 + 0x4)
/* AEDF8 801186F8 02028021 */ addu $s0, $s0, $v0
/* AEDFC 801186FC 8E10B0BC */ lw $s0, %lo(D_8014B0BC)($s0)
/* AEDFC 801186FC 8E10B0BC */ lw $s0, %lo(D_8014B0B8 + 0x4)($s0)
/* AEE00 80118700 AC760000 */ sw $s6, ($v1)
/* AEE04 80118704 AC700004 */ sw $s0, 4($v1)
/* AEE08 80118708 8F040000 */ lw $a0, ($t8)

View File

@ -1,7 +1,7 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8013C220
glabel fold_load_gfx
/* D2920 8013C220 27BDFFD8 */ addiu $sp, $sp, -0x28
/* D2924 8013C224 AFB20018 */ sw $s2, 0x18($sp)
/* D2928 8013C228 0080902D */ daddu $s2, $a0, $zero
@ -13,11 +13,11 @@ glabel func_8013C220
/* D2940 8013C240 3C100025 */ lui $s0, 0x25
/* D2944 8013C244 2610B7F0 */ addiu $s0, $s0, -0x4810
/* D2948 8013C248 00021080 */ sll $v0, $v0, 2
/* D294C 8013C24C 3C018015 */ lui $at, %hi(D_8014EF64)
/* D294C 8013C24C 3C018015 */ lui $at, %hi(fold_groupOffsets)
/* D2950 8013C250 00220821 */ addu $at, $at, $v0
/* D2954 8013C254 8C22EF64 */ lw $v0, %lo(D_8014EF64)($at)
/* D2958 8013C258 3C048015 */ lui $a0, %hi(D_80156980)
/* D295C 8013C25C 24846980 */ addiu $a0, $a0, %lo(D_80156980)
/* D2954 8013C254 8C22EF64 */ lw $v0, %lo(fold_groupOffsets)($at)
/* D2958 8013C258 3C048015 */ lui $a0, %hi(fold_groupDescriptors)
/* D295C 8013C25C 24846980 */ addiu $a0, $a0, %lo(fold_groupDescriptors)
/* D2960 8013C260 00508821 */ addu $s1, $v0, $s0
/* D2964 8013C264 92420000 */ lbu $v0, ($s2)
/* D2968 8013C268 8E430064 */ lw $v1, 0x64($s2)
@ -32,28 +32,28 @@ glabel func_8013C220
/* D298C 8013C28C 8E440068 */ lw $a0, 0x68($s2)
/* D2990 8013C290 10800004 */ beqz $a0, .L8013C2A4
/* D2994 8013C294 00000000 */ nop
/* D2998 8013C298 0C04E984 */ jal func_8013A610
/* D2998 8013C298 0C04E984 */ jal fold_add_to_gfx_cache
/* D299C 8013C29C 24050001 */ addiu $a1, $zero, 1
/* D29A0 8013C2A0 AE400068 */ sw $zero, 0x68($s2)
.L8013C2A4:
/* D29A4 8013C2A4 8E44006C */ lw $a0, 0x6c($s2)
/* D29A8 8013C2A8 10800004 */ beqz $a0, .L8013C2BC
/* D29AC 8013C2AC 00000000 */ nop
/* D29B0 8013C2B0 0C04E984 */ jal func_8013A610
/* D29B0 8013C2B0 0C04E984 */ jal fold_add_to_gfx_cache
/* D29B4 8013C2B4 24050001 */ addiu $a1, $zero, 1
/* D29B8 8013C2B8 AE40006C */ sw $zero, 0x6c($s2)
.L8013C2BC:
/* D29BC 8013C2BC 8E440070 */ lw $a0, 0x70($s2)
/* D29C0 8013C2C0 10800004 */ beqz $a0, .L8013C2D4
/* D29C4 8013C2C4 00000000 */ nop
/* D29C8 8013C2C8 0C04E984 */ jal func_8013A610
/* D29C8 8013C2C8 0C04E984 */ jal fold_add_to_gfx_cache
/* D29CC 8013C2CC 24050001 */ addiu $a1, $zero, 1
/* D29D0 8013C2D0 AE400070 */ sw $zero, 0x70($s2)
.L8013C2D4:
/* D29D4 8013C2D4 8E440074 */ lw $a0, 0x74($s2)
/* D29D8 8013C2D8 10800004 */ beqz $a0, .L8013C2EC
/* D29DC 8013C2DC 00000000 */ nop
/* D29E0 8013C2E0 0C04E984 */ jal func_8013A610
/* D29E0 8013C2E0 0C04E984 */ jal fold_add_to_gfx_cache
/* D29E4 8013C2E4 24050001 */ addiu $a1, $zero, 1
/* D29E8 8013C2E8 AE400074 */ sw $zero, 0x74($s2)
.L8013C2EC:

View File

@ -14,7 +14,7 @@ dlabel D_80151030
.section .text
glabel func_8013AA9C
glabel fold_update
/* D119C 8013AA9C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* D11A0 8013AAA0 AFB00010 */ sw $s0, 0x10($sp)
/* D11A4 8013AAA4 00C0802D */ daddu $s0, $a2, $zero
@ -45,9 +45,9 @@ glabel func_8013AA9C
/* D1208 8013AB08 00000000 */ nop
.L8013AB0C_D120C:
/* D120C 8013AB0C 8E300014 */ lw $s0, 0x14($s1)
/* D1210 8013AB10 0C04EA4F */ jal func_8013A93C
/* D1210 8013AB10 0C04EA4F */ jal fold_clear_state_gfx
/* D1214 8013AB14 0220202D */ daddu $a0, $s1, $zero
/* D1218 8013AB18 0C04EA7A */ jal func_8013A9E8
/* D1218 8013AB18 0C04EA7A */ jal fold_init_state
/* D121C 8013AB1C 0220202D */ daddu $a0, $s1, $zero
/* D1220 8013AB20 2402FFFF */ addiu $v0, $zero, -1
/* D1224 8013AB24 A2200005 */ sb $zero, 5($s1)

View File

@ -1,104 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8013AF70
/* D1670 8013AF70 27BDFFE0 */ addiu $sp, $sp, -0x20
/* D1674 8013AF74 0080402D */ daddu $t0, $a0, $zero
/* D1678 8013AF78 AFB20018 */ sw $s2, 0x18($sp)
/* D167C 8013AF7C 00E0902D */ daddu $s2, $a3, $zero
/* D1680 8013AF80 AFB10014 */ sw $s1, 0x14($sp)
/* D1684 8013AF84 0000882D */ daddu $s1, $zero, $zero
/* D1688 8013AF88 00081140 */ sll $v0, $t0, 5
/* D168C 8013AF8C 00481023 */ subu $v0, $v0, $t0
/* D1690 8013AF90 3C038015 */ lui $v1, %hi(D_80156954)
/* D1694 8013AF94 8C636954 */ lw $v1, %lo(D_80156954)($v1)
/* D1698 8013AF98 00021080 */ sll $v0, $v0, 2
/* D169C 8013AF9C AFBF001C */ sw $ra, 0x1c($sp)
/* D16A0 8013AFA0 AFB00010 */ sw $s0, 0x10($sp)
/* D16A4 8013AFA4 90A40010 */ lbu $a0, 0x10($a1)
/* D16A8 8013AFA8 10800049 */ beqz $a0, .L8013B0D0
/* D16AC 8013AFAC 00628021 */ addu $s0, $v1, $v0
/* D16B0 8013AFB0 8E020014 */ lw $v0, 0x14($s0)
/* D16B4 8013AFB4 A2080000 */ sb $t0, ($s0)
/* D16B8 8013AFB8 3C038015 */ lui $v1, %hi(D_8014EE10)
/* D16BC 8013AFBC 8C63EE10 */ lw $v1, %lo(D_8014EE10)($v1)
/* D16C0 8013AFC0 00461025 */ or $v0, $v0, $a2
/* D16C4 8013AFC4 AE020014 */ sw $v0, 0x14($s0)
/* D16C8 8013AFC8 8CA20000 */ lw $v0, ($a1)
/* D16CC 8013AFCC AC620000 */ sw $v0, ($v1)
/* D16D0 8013AFD0 8CA20004 */ lw $v0, 4($a1)
/* D16D4 8013AFD4 AC620004 */ sw $v0, 4($v1)
/* D16D8 8013AFD8 94A20008 */ lhu $v0, 8($a1)
/* D16DC 8013AFDC A4620008 */ sh $v0, 8($v1)
/* D16E0 8013AFE0 94A2000A */ lhu $v0, 0xa($a1)
/* D16E4 8013AFE4 A462000A */ sh $v0, 0xa($v1)
/* D16E8 8013AFE8 94A2000C */ lhu $v0, 0xc($a1)
/* D16EC 8013AFEC A462000C */ sh $v0, 0xc($v1)
/* D16F0 8013AFF0 94A2000E */ lhu $v0, 0xe($a1)
/* D16F4 8013AFF4 A4600018 */ sh $zero, 0x18($v1)
/* D16F8 8013AFF8 A460001E */ sh $zero, 0x1e($v1)
/* D16FC 8013AFFC A462000E */ sh $v0, 0xe($v1)
/* D1700 8013B000 90A20010 */ lbu $v0, 0x10($a1)
/* D1704 8013B004 A0620024 */ sb $v0, 0x24($v1)
/* D1708 8013B008 2D02005A */ sltiu $v0, $t0, 0x5a
/* D170C 8013B00C 14400003 */ bnez $v0, .L8013B01C
/* D1710 8013B010 2902005A */ slti $v0, $t0, 0x5a
/* D1714 8013B014 0804EC35 */ j .L8013B0D4
/* D1718 8013B018 0000102D */ daddu $v0, $zero, $zero
.L8013B01C:
/* D171C 8013B01C 1040002D */ beqz $v0, .L8013B0D4
/* D1720 8013B020 0000102D */ daddu $v0, $zero, $zero
/* D1724 8013B024 1200002B */ beqz $s0, .L8013B0D4
/* D1728 8013B028 00000000 */ nop
/* D172C 8013B02C 0C04EC3B */ jal func_8013B0EC
/* D1730 8013B030 0200202D */ daddu $a0, $s0, $zero
/* D1734 8013B034 0200202D */ daddu $a0, $s0, $zero
/* D1738 8013B038 0C04EC6C */ jal func_8013B1B0
/* D173C 8013B03C 0240282D */ daddu $a1, $s2, $zero
/* D1740 8013B040 8E030014 */ lw $v1, 0x14($s0)
/* D1744 8013B044 30621000 */ andi $v0, $v1, 0x1000
/* D1748 8013B048 1040000F */ beqz $v0, .L8013B088
/* D174C 8013B04C 0200202D */ daddu $a0, $s0, $zero
/* D1750 8013B050 24110001 */ addiu $s1, $zero, 1
/* D1754 8013B054 2402FFFF */ addiu $v0, $zero, -1
/* D1758 8013B058 AC82001C */ sw $v0, 0x1c($a0)
/* D175C 8013B05C AC82002C */ sw $v0, 0x2c($a0)
/* D1760 8013B060 8C820014 */ lw $v0, 0x14($a0)
/* D1764 8013B064 2403E67F */ addiu $v1, $zero, -0x1981
/* D1768 8013B068 A0800005 */ sb $zero, 5($a0)
/* D176C 8013B06C A0800001 */ sb $zero, 1($a0)
/* D1770 8013B070 A0800002 */ sb $zero, 2($a0)
/* D1774 8013B074 00431024 */ and $v0, $v0, $v1
/* D1778 8013B078 0C04EA4F */ jal func_8013A93C
/* D177C 8013B07C AC820014 */ sw $v0, 0x14($a0)
/* D1780 8013B080 0804EC35 */ j .L8013B0D4
/* D1784 8013B084 0220102D */ daddu $v0, $s1, $zero
.L8013B088:
/* D1788 8013B088 30624000 */ andi $v0, $v1, 0x4000
/* D178C 8013B08C 10400003 */ beqz $v0, .L8013B09C
/* D1790 8013B090 3C020002 */ lui $v0, 2
/* D1794 8013B094 0804EC34 */ j .L8013B0D0
/* D1798 8013B098 24110002 */ addiu $s1, $zero, 2
.L8013B09C:
/* D179C 8013B09C 00621024 */ and $v0, $v1, $v0
/* D17A0 8013B0A0 1040000B */ beqz $v0, .L8013B0D0
/* D17A4 8013B0A4 2403FFFF */ addiu $v1, $zero, -1
/* D17A8 8013B0A8 24110001 */ addiu $s1, $zero, 1
/* D17AC 8013B0AC 8E020014 */ lw $v0, 0x14($s0)
/* D17B0 8013B0B0 A2000005 */ sb $zero, 5($s0)
/* D17B4 8013B0B4 A2000006 */ sb $zero, 6($s0)
/* D17B8 8013B0B8 A2000001 */ sb $zero, 1($s0)
/* D17BC 8013B0BC A2000002 */ sb $zero, 2($s0)
/* D17C0 8013B0C0 AE03001C */ sw $v1, 0x1c($s0)
/* D17C4 8013B0C4 AE03002C */ sw $v1, 0x2c($s0)
/* D17C8 8013B0C8 00511024 */ and $v0, $v0, $s1
/* D17CC 8013B0CC AE020014 */ sw $v0, 0x14($s0)
.L8013B0D0:
/* D17D0 8013B0D0 0220102D */ daddu $v0, $s1, $zero
.L8013B0D4:
/* D17D4 8013B0D4 8FBF001C */ lw $ra, 0x1c($sp)
/* D17D8 8013B0D8 8FB20018 */ lw $s2, 0x18($sp)
/* D17DC 8013B0DC 8FB10014 */ lw $s1, 0x14($sp)
/* D17E0 8013B0E0 8FB00010 */ lw $s0, 0x10($sp)
/* D17E4 8013B0E4 03E00008 */ jr $ra
/* D17E8 8013B0E8 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -100,8 +100,8 @@ glabel func_8013B1B0
/* D19E0 8013B2E0 54600001 */ bnel $v1, $zero, .L8013B2E8
/* D19E4 8013B2E4 24090001 */ addiu $t1, $zero, 1
.L8013B2E8:
/* D19E8 8013B2E8 3C028015 */ lui $v0, %hi(D_8014EE10)
/* D19EC 8013B2EC 8C42EE10 */ lw $v0, %lo(D_8014EE10)($v0)
/* D19E8 8013B2E8 3C028015 */ lui $v0, %hi(fold_currentImage)
/* D19EC 8013B2EC 8C42EE10 */ lw $v0, %lo(fold_currentImage)($v0)
/* D19F0 8013B2F0 3C018015 */ lui $at, %hi(D_80151050)
/* D19F4 8013B2F4 D4221050 */ ldc1 $f2, %lo(D_80151050)($at)
/* D19F8 8013B2F8 90430024 */ lbu $v1, 0x24($v0)

View File

@ -3,8 +3,8 @@
glabel func_8013BC88
/* D2388 8013BC88 0080C02D */ daddu $t8, $a0, $zero
/* D238C 8013BC8C 3C068015 */ lui $a2, %hi(D_8014EE10)
/* D2390 8013BC90 24C6EE10 */ addiu $a2, $a2, %lo(D_8014EE10)
/* D238C 8013BC8C 3C068015 */ lui $a2, %hi(fold_currentImage)
/* D2390 8013BC90 24C6EE10 */ addiu $a2, $a2, %lo(fold_currentImage)
/* D2394 8013BC94 8CC40000 */ lw $a0, ($a2)
/* D2398 8013BC98 94830008 */ lhu $v1, 8($a0)
/* D239C 8013BC9C 24021000 */ addiu $v0, $zero, 0x1000
@ -27,11 +27,11 @@ glabel func_8013BC88
.L8013BCD8:
/* D23D8 8013BCD8 01A0502D */ daddu $t2, $t5, $zero
/* D23DC 8013BCDC 00C0782D */ daddu $t7, $a2, $zero
/* D23E0 8013BCE0 3C028015 */ lui $v0, %hi(D_8014EE14)
/* D23E4 8013BCE4 2442EE14 */ addiu $v0, $v0, %lo(D_8014EE14)
/* D23E0 8013BCE0 3C028015 */ lui $v0, %hi(fold_vtxCount)
/* D23E4 8013BCE4 2442EE14 */ addiu $v0, $v0, %lo(fold_vtxCount)
/* D23E8 8013BCE8 0040482D */ daddu $t1, $v0, $zero
/* D23EC 8013BCEC 3C068015 */ lui $a2, %hi(D_80156950)
/* D23F0 8013BCF0 24C66950 */ addiu $a2, $a2, %lo(D_80156950)
/* D23EC 8013BCEC 3C068015 */ lui $a2, %hi(fold_vtxBuf)
/* D23F0 8013BCF0 24C66950 */ addiu $a2, $a2, %lo(fold_vtxBuf)
/* D23F4 8013BCF4 24072000 */ addiu $a3, $zero, 0x2000
/* D23F8 8013BCF8 00C0602D */ daddu $t4, $a2, $zero
/* D23FC 8013BCFC 8488000E */ lh $t0, 0xe($a0)
@ -236,8 +236,8 @@ glabel func_8013BC88
/* D2704 8013C004 0804EF93 */ j .L8013BE4C
/* D2708 8013C008 014D5021 */ addu $t2, $t2, $t5
.L8013C00C:
/* D270C 8013C00C 3C028015 */ lui $v0, %hi(D_8014EE14)
/* D2710 8013C010 9442EE14 */ lhu $v0, %lo(D_8014EE14)($v0)
/* D270C 8013C00C 3C028015 */ lui $v0, %hi(fold_vtxCount)
/* D2710 8013C010 9442EE14 */ lhu $v0, %lo(fold_vtxCount)($v0)
/* D2714 8013C014 97040008 */ lhu $a0, 8($t8)
/* D2718 8013C018 24030001 */ addiu $v1, $zero, 1
/* D271C 8013C01C A3030003 */ sb $v1, 3($t8)

View File

@ -1,128 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8013C048
/* D2748 8013C048 0080582D */ daddu $t3, $a0, $zero
/* D274C 8013C04C 3C098015 */ lui $t1, %hi(D_8014EE14)
/* D2750 8013C050 2529EE14 */ addiu $t1, $t1, %lo(D_8014EE14)
/* D2754 8013C054 0000402D */ daddu $t0, $zero, $zero
/* D2758 8013C058 91660004 */ lbu $a2, 4($t3)
/* D275C 8013C05C 44804000 */ mtc1 $zero, $f8
/* D2760 8013C060 95220000 */ lhu $v0, ($t1)
/* D2764 8013C064 3C038015 */ lui $v1, %hi(D_80156950)
/* D2768 8013C068 8C636950 */ lw $v1, %lo(D_80156950)($v1)
/* D276C 8013C06C 3C0A8015 */ lui $t2, %hi(D_8014EE10)
/* D2770 8013C070 254AEE10 */ addiu $t2, $t2, %lo(D_8014EE10)
/* D2774 8013C074 A5620008 */ sh $v0, 8($t3)
/* D2778 8013C078 95220000 */ lhu $v0, ($t1)
/* D277C 8013C07C 8D450000 */ lw $a1, ($t2)
/* D2780 8013C080 00021100 */ sll $v0, $v0, 4
/* D2784 8013C084 00623821 */ addu $a3, $v1, $v0
/* D2788 8013C088 84A4000E */ lh $a0, 0xe($a1)
/* D278C 8013C08C 94A20008 */ lhu $v0, 8($a1)
/* D2790 8013C090 91630003 */ lbu $v1, 3($t3)
/* D2794 8013C094 44843000 */ mtc1 $a0, $f6
/* D2798 8013C098 00000000 */ nop
/* D279C 8013C09C 468031A0 */ cvt.s.w $f6, $f6
/* D27A0 8013C0A0 44821000 */ mtc1 $v0, $f2
/* D27A4 8013C0A4 00000000 */ nop
/* D27A8 8013C0A8 468010A0 */ cvt.s.w $f2, $f2
/* D27AC 8013C0AC 44830000 */ mtc1 $v1, $f0
/* D27B0 8013C0B0 00000000 */ nop
/* D27B4 8013C0B4 46800020 */ cvt.s.w $f0, $f0
/* D27B8 8013C0B8 46001283 */ div.s $f10, $f2, $f0
/* D27BC 8013C0BC 94A2000A */ lhu $v0, 0xa($a1)
/* D27C0 8013C0C0 44860000 */ mtc1 $a2, $f0
/* D27C4 8013C0C4 00000000 */ nop
/* D27C8 8013C0C8 46800020 */ cvt.s.w $f0, $f0
/* D27CC 8013C0CC 44821000 */ mtc1 $v0, $f2
/* D27D0 8013C0D0 00000000 */ nop
/* D27D4 8013C0D4 468010A0 */ cvt.s.w $f2, $f2
/* D27D8 8013C0D8 00C8102A */ slt $v0, $a2, $t0
/* D27DC 8013C0DC 1440004B */ bnez $v0, .L8013C20C
/* D27E0 8013C0E0 46001083 */ div.s $f2, $f2, $f0
/* D27E4 8013C0E4 0140282D */ daddu $a1, $t2, $zero
/* D27E8 8013C0E8 0120602D */ daddu $t4, $t1, $zero
.L8013C0EC:
/* D27EC 8013C0EC 1506000B */ bne $t0, $a2, .L8013C11C
/* D27F0 8013C0F0 0000302D */ daddu $a2, $zero, $zero
/* D27F4 8013C0F4 8CA20000 */ lw $v0, ($a1)
/* D27F8 8013C0F8 9443000A */ lhu $v1, 0xa($v0)
/* D27FC 8013C0FC 8442000E */ lh $v0, 0xe($v0)
/* D2800 8013C100 44834000 */ mtc1 $v1, $f8
/* D2804 8013C104 00000000 */ nop
/* D2808 8013C108 46804220 */ cvt.s.w $f8, $f8
/* D280C 8013C10C 00431023 */ subu $v0, $v0, $v1
/* D2810 8013C110 44823000 */ mtc1 $v0, $f6
/* D2814 8013C114 00000000 */ nop
/* D2818 8013C118 468031A0 */ cvt.s.w $f6, $f6
.L8013C11C:
/* D281C 8013C11C 8CA20000 */ lw $v0, ($a1)
/* D2820 8013C120 44802000 */ mtc1 $zero, $f4
/* D2824 8013C124 8442000C */ lh $v0, 0xc($v0)
/* D2828 8013C128 91630003 */ lbu $v1, 3($t3)
/* D282C 8013C12C 44820000 */ mtc1 $v0, $f0
/* D2830 8013C130 00000000 */ nop
/* D2834 8013C134 46800020 */ cvt.s.w $f0, $f0
/* D2838 8013C138 0066102A */ slt $v0, $v1, $a2
/* D283C 8013C13C 5440002E */ bnel $v0, $zero, .L8013C1F8
/* D2840 8013C140 46023181 */ sub.s $f6, $f6, $f2
/* D2844 8013C144 4600330D */ trunc.w.s $f12, $f6
/* D2848 8013C148 440A6000 */ mfc1 $t2, $f12
/* D284C 8013C14C 4600430D */ trunc.w.s $f12, $f8
/* D2850 8013C150 44026000 */ mfc1 $v0, $f12
/* D2854 8013C154 00000000 */ nop
/* D2858 8013C158 24420100 */ addiu $v0, $v0, 0x100
/* D285C 8013C15C 00024940 */ sll $t1, $v0, 5
/* D2860 8013C160 24E4000A */ addiu $a0, $a3, 0xa
.L8013C164:
/* D2864 8013C164 14C3000B */ bne $a2, $v1, .L8013C194
/* D2868 8013C168 00000000 */ nop
/* D286C 8013C16C 8CA20000 */ lw $v0, ($a1)
/* D2870 8013C170 94430008 */ lhu $v1, 8($v0)
/* D2874 8013C174 8442000C */ lh $v0, 0xc($v0)
/* D2878 8013C178 44832000 */ mtc1 $v1, $f4
/* D287C 8013C17C 00000000 */ nop
/* D2880 8013C180 46802120 */ cvt.s.w $f4, $f4
/* D2884 8013C184 00431021 */ addu $v0, $v0, $v1
/* D2888 8013C188 44820000 */ mtc1 $v0, $f0
/* D288C 8013C18C 00000000 */ nop
/* D2890 8013C190 46800020 */ cvt.s.w $f0, $f0
.L8013C194:
/* D2894 8013C194 4600030D */ trunc.w.s $f12, $f0
/* D2898 8013C198 44026000 */ mfc1 $v0, $f12
/* D289C 8013C19C 00000000 */ nop
/* D28A0 8013C1A0 A4E20000 */ sh $v0, ($a3)
/* D28A4 8013C1A4 4600230D */ trunc.w.s $f12, $f4
/* D28A8 8013C1A8 44026000 */ mfc1 $v0, $f12
/* D28AC 8013C1AC 00000000 */ nop
/* D28B0 8013C1B0 24420100 */ addiu $v0, $v0, 0x100
/* D28B4 8013C1B4 00021140 */ sll $v0, $v0, 5
/* D28B8 8013C1B8 A48AFFF8 */ sh $t2, -8($a0)
/* D28BC 8013C1BC A480FFFA */ sh $zero, -6($a0)
/* D28C0 8013C1C0 A482FFFE */ sh $v0, -2($a0)
/* D28C4 8013C1C4 A4890000 */ sh $t1, ($a0)
/* D28C8 8013C1C8 24840010 */ addiu $a0, $a0, 0x10
/* D28CC 8013C1CC 24E70010 */ addiu $a3, $a3, 0x10
/* D28D0 8013C1D0 24C60001 */ addiu $a2, $a2, 1
/* D28D4 8013C1D4 95820000 */ lhu $v0, ($t4)
/* D28D8 8013C1D8 460A0000 */ add.s $f0, $f0, $f10
/* D28DC 8013C1DC 24420001 */ addiu $v0, $v0, 1
/* D28E0 8013C1E0 A5820000 */ sh $v0, ($t4)
/* D28E4 8013C1E4 91630003 */ lbu $v1, 3($t3)
/* D28E8 8013C1E8 0066102A */ slt $v0, $v1, $a2
/* D28EC 8013C1EC 1040FFDD */ beqz $v0, .L8013C164
/* D28F0 8013C1F0 460A2100 */ add.s $f4, $f4, $f10
/* D28F4 8013C1F4 46023181 */ sub.s $f6, $f6, $f2
.L8013C1F8:
/* D28F8 8013C1F8 25080001 */ addiu $t0, $t0, 1
/* D28FC 8013C1FC 91660004 */ lbu $a2, 4($t3)
/* D2900 8013C200 00C8102A */ slt $v0, $a2, $t0
/* D2904 8013C204 1040FFB9 */ beqz $v0, .L8013C0EC
/* D2908 8013C208 46024200 */ add.s $f8, $f8, $f2
.L8013C20C:
/* D290C 8013C20C 3C028015 */ lui $v0, %hi(D_8014EE14)
/* D2910 8013C210 9442EE14 */ lhu $v0, %lo(D_8014EE14)($v0)
/* D2914 8013C214 2442FFFF */ addiu $v0, $v0, -1
/* D2918 8013C218 03E00008 */ jr $ra
/* D291C 8013C21C A562000A */ sh $v0, 0xa($t3)

View File

@ -33,7 +33,7 @@ glabel func_8013C3F0
/* D2B2C 8013C42C 4600028D */ trunc.w.s $f10, $f0
/* D2B30 8013C430 44165000 */ mfc1 $s6, $f10
/* D2B34 8013C434 8E4D0024 */ lw $t5, 0x24($s2)
/* D2B38 8013C438 0C04F088 */ jal func_8013C220
/* D2B38 8013C438 0C04F088 */ jal fold_load_gfx
/* D2B3C 8013C43C AFAD0014 */ sw $t5, 0x14($sp)
/* D2B40 8013C440 0040982D */ daddu $s3, $v0, $zero
/* D2B44 8013C444 126002CC */ beqz $s3, .L8013CF78
@ -147,8 +147,8 @@ glabel func_8013C3F0
/* D2CDC 8013C5DC 46020103 */ div.s $f4, $f0, $f2
/* D2CE0 8013C5E0 3C098007 */ lui $t1, %hi(gCurrentDisplayContextIndex)
/* D2CE4 8013C5E4 252941F4 */ addiu $t1, $t1, %lo(gCurrentDisplayContextIndex)
/* D2CE8 8013C5E8 3C0B8015 */ lui $t3, %hi(D_8014EE10)
/* D2CEC 8013C5EC 256BEE10 */ addiu $t3, $t3, %lo(D_8014EE10)
/* D2CE8 8013C5E8 3C0B8015 */ lui $t3, %hi(fold_currentImage)
/* D2CEC 8013C5EC 256BEE10 */ addiu $t3, $t3, %lo(fold_currentImage)
/* D2CF0 8013C5F0 3C0C8000 */ lui $t4, 0x8000
/* D2CF4 8013C5F4 03C0302D */ daddu $a2, $fp, $zero
/* D2CF8 8013C5F8 0140382D */ daddu $a3, $t2, $zero

View File

@ -35,8 +35,8 @@ glabel func_8013CFA8
/* D3720 8013D020 ACA30004 */ sw $v1, 4($a1)
/* D3724 8013D024 24430008 */ addiu $v1, $v0, 8
/* D3728 8013D028 AC830000 */ sw $v1, ($a0)
/* D372C 8013D02C 3C058015 */ lui $a1, %hi(D_8014EE10)
/* D3730 8013D030 8CA5EE10 */ lw $a1, %lo(D_8014EE10)($a1)
/* D372C 8013D02C 3C058015 */ lui $a1, %hi(fold_currentImage)
/* D3730 8013D030 8CA5EE10 */ lw $a1, %lo(fold_currentImage)($a1)
/* D3734 8013D034 3C03FD10 */ lui $v1, 0xfd10
/* D3738 8013D038 AC430000 */ sw $v1, ($v0)
/* D373C 8013D03C 24430010 */ addiu $v1, $v0, 0x10
@ -83,8 +83,8 @@ glabel func_8013CFA8
/* D37DC 8013D0DC 3694001C */ ori $s4, $s4, 0x1c
/* D37E0 8013D0E0 00159100 */ sll $s2, $s5, 4
.L8013D0E4:
/* D37E4 8013D0E4 3C048015 */ lui $a0, %hi(D_80156950)
/* D37E8 8013D0E8 8C846950 */ lw $a0, %lo(D_80156950)($a0)
/* D37E4 8013D0E4 3C048015 */ lui $a0, %hi(fold_vtxBuf)
/* D37E8 8013D0E8 8C846950 */ lw $a0, %lo(fold_vtxBuf)($a0)
/* D37EC 8013D0EC 02442021 */ addu $a0, $s2, $a0
/* D37F0 8013D0F0 94820008 */ lhu $v0, 8($a0)
/* D37F4 8013D0F4 9483000A */ lhu $v1, 0xa($a0)
@ -154,8 +154,8 @@ glabel func_8013CFA8
/* D38F0 8013D1F0 AE020000 */ sw $v0, ($s0)
/* D38F4 8013D1F4 24A20030 */ addiu $v0, $a1, 0x30
/* D38F8 8013D1F8 AE020000 */ sw $v0, ($s0)
/* D38FC 8013D1FC 3C048015 */ lui $a0, %hi(D_8014EE10)
/* D3900 8013D200 8C84EE10 */ lw $a0, %lo(D_8014EE10)($a0)
/* D38FC 8013D1FC 3C048015 */ lui $a0, %hi(fold_currentImage)
/* D3900 8013D200 8C84EE10 */ lw $a0, %lo(fold_currentImage)($a0)
/* D3904 8013D204 24A20038 */ addiu $v0, $a1, 0x38
/* D3908 8013D208 AE020000 */ sw $v0, ($s0)
/* D390C 8013D20C 94820008 */ lhu $v0, 8($a0)
@ -342,8 +342,8 @@ glabel func_8013CFA8
/* D3BC4 8013D4C4 3C060002 */ lui $a2, 2
/* D3BC8 8013D4C8 34C60406 */ ori $a2, $a2, 0x406
/* D3BCC 8013D4CC 8E030000 */ lw $v1, ($s0)
/* D3BD0 8013D4D0 3C028015 */ lui $v0, %hi(D_80156950)
/* D3BD4 8013D4D4 8C426950 */ lw $v0, %lo(D_80156950)($v0)
/* D3BD0 8013D4D0 3C028015 */ lui $v0, %hi(fold_vtxBuf)
/* D3BD4 8013D4D4 8C426950 */ lw $v0, %lo(fold_vtxBuf)($v0)
/* D3BD8 8013D4D8 0060202D */ daddu $a0, $v1, $zero
/* D3BDC 8013D4DC 24630008 */ addiu $v1, $v1, 8
/* D3BE0 8013D4E0 00521021 */ addu $v0, $v0, $s2
@ -389,8 +389,8 @@ glabel func_8013CFA8
/* D3C6C 8013D56C AE020000 */ sw $v0, ($s0)
/* D3C70 8013D570 25020010 */ addiu $v0, $t0, 0x10
/* D3C74 8013D574 AE020000 */ sw $v0, ($s0)
/* D3C78 8013D578 3C048015 */ lui $a0, %hi(D_8014EE10)
/* D3C7C 8013D57C 8C84EE10 */ lw $a0, %lo(D_8014EE10)($a0)
/* D3C78 8013D578 3C048015 */ lui $a0, %hi(fold_currentImage)
/* D3C7C 8013D57C 8C84EE10 */ lw $a0, %lo(fold_currentImage)($a0)
/* D3C80 8013D580 25020018 */ addiu $v0, $t0, 0x18
/* D3C84 8013D584 AE020000 */ sw $v0, ($s0)
/* D3C88 8013D588 94820008 */ lhu $v0, 8($a0)
@ -585,8 +585,8 @@ glabel func_8013CFA8
/* D3F4C 8013D84C 3C050002 */ lui $a1, 2
/* D3F50 8013D850 34A50406 */ ori $a1, $a1, 0x406
/* D3F54 8013D854 8E070000 */ lw $a3, ($s0)
/* D3F58 8013D858 3C028015 */ lui $v0, %hi(D_80156950)
/* D3F5C 8013D85C 8C426950 */ lw $v0, %lo(D_80156950)($v0)
/* D3F58 8013D858 3C028015 */ lui $v0, %hi(fold_vtxBuf)
/* D3F5C 8013D85C 8C426950 */ lw $v0, %lo(fold_vtxBuf)($v0)
/* D3F60 8013D860 00E0182D */ daddu $v1, $a3, $zero
/* D3F64 8013D864 24E70008 */ addiu $a3, $a3, 8
/* D3F68 8013D868 00521021 */ addu $v0, $v0, $s2
@ -712,8 +712,8 @@ glabel func_8013CFA8
/* D412C 8013DA2C 3C060002 */ lui $a2, 2
/* D4130 8013DA30 34C60406 */ ori $a2, $a2, 0x406
/* D4134 8013DA34 8E030000 */ lw $v1, ($s0)
/* D4138 8013DA38 3C028015 */ lui $v0, %hi(D_80156950)
/* D413C 8013DA3C 8C426950 */ lw $v0, %lo(D_80156950)($v0)
/* D4138 8013DA38 3C028015 */ lui $v0, %hi(fold_vtxBuf)
/* D413C 8013DA3C 8C426950 */ lw $v0, %lo(fold_vtxBuf)($v0)
/* D4140 8013DA40 0060202D */ daddu $a0, $v1, $zero
/* D4144 8013DA44 24630008 */ addiu $v1, $v1, 8
/* D4148 8013DA48 00521021 */ addu $v0, $v0, $s2

View File

@ -35,8 +35,8 @@ glabel func_8013DAB4
/* D422C 8013DB2C ACA30004 */ sw $v1, 4($a1)
/* D4230 8013DB30 24430008 */ addiu $v1, $v0, 8
/* D4234 8013DB34 AC830000 */ sw $v1, ($a0)
/* D4238 8013DB38 3C058015 */ lui $a1, %hi(D_8014EE10)
/* D423C 8013DB3C 8CA5EE10 */ lw $a1, %lo(D_8014EE10)($a1)
/* D4238 8013DB38 3C058015 */ lui $a1, %hi(fold_currentImage)
/* D423C 8013DB3C 8CA5EE10 */ lw $a1, %lo(fold_currentImage)($a1)
/* D4240 8013DB40 3C03FD10 */ lui $v1, 0xfd10
/* D4244 8013DB44 AC430000 */ sw $v1, ($v0)
/* D4248 8013DB48 24430010 */ addiu $v1, $v0, 0x10
@ -129,8 +129,8 @@ glabel func_8013DAB4
/* D4394 8013DC94 3C0C020F */ lui $t4, 0x20f
/* D4398 8013DC98 358CC000 */ ori $t4, $t4, 0xc000
/* D439C 8013DC9C 8E050000 */ lw $a1, ($s0)
/* D43A0 8013DCA0 3C048015 */ lui $a0, %hi(D_8014EE10)
/* D43A4 8013DCA4 8C84EE10 */ lw $a0, %lo(D_8014EE10)($a0)
/* D43A0 8013DCA0 3C048015 */ lui $a0, %hi(fold_currentImage)
/* D43A4 8013DCA4 8C84EE10 */ lw $a0, %lo(fold_currentImage)($a0)
/* D43A8 8013DCA8 00A0302D */ daddu $a2, $a1, $zero
/* D43AC 8013DCAC 24A50008 */ addiu $a1, $a1, 8
/* D43B0 8013DCB0 AE050000 */ sw $a1, ($s0)
@ -146,8 +146,8 @@ glabel func_8013DAB4
/* D43D8 8013DCD8 8C830000 */ lw $v1, ($a0)
/* D43DC 8013DCDC 24A20010 */ addiu $v0, $a1, 0x10
/* D43E0 8013DCE0 AE020000 */ sw $v0, ($s0)
/* D43E4 8013DCE4 3C028015 */ lui $v0, %hi(D_80156950)
/* D43E8 8013DCE8 8C426950 */ lw $v0, %lo(D_80156950)($v0)
/* D43E4 8013DCE4 3C028015 */ lui $v0, %hi(fold_vtxBuf)
/* D43E8 8013DCE8 8C426950 */ lw $v0, %lo(fold_vtxBuf)($v0)
/* D43EC 8013DCEC 00133900 */ sll $a3, $s3, 4
/* D43F0 8013DCF0 00E23821 */ addu $a3, $a3, $v0
/* D43F4 8013DCF4 ACC30004 */ sw $v1, 4($a2)
@ -304,8 +304,8 @@ glabel func_8013DAB4
.L8013DF4C:
/* D464C 8013DF4C 240DFFFF */ addiu $t5, $zero, -1
.L8013DF50:
/* D4650 8013DF50 3C048015 */ lui $a0, %hi(D_80156950)
/* D4654 8013DF54 8C846950 */ lw $a0, %lo(D_80156950)($a0)
/* D4650 8013DF50 3C048015 */ lui $a0, %hi(fold_vtxBuf)
/* D4654 8013DF54 8C846950 */ lw $a0, %lo(fold_vtxBuf)($a0)
/* D4658 8013DF58 00131900 */ sll $v1, $s3, 4
/* D465C 8013DF5C 00441021 */ addu $v0, $v0, $a0
/* D4660 8013DF60 00641821 */ addu $v1, $v1, $a0
@ -344,8 +344,8 @@ glabel func_8013DAB4
/* D46DC 8013DFDC 3C09000A */ lui $t1, 0xa
/* D46E0 8013DFE0 35290280 */ ori $t1, $t1, 0x280
/* D46E4 8013DFE4 8E050000 */ lw $a1, ($s0)
/* D46E8 8013DFE8 3C048015 */ lui $a0, %hi(D_8014EE10)
/* D46EC 8013DFEC 8C84EE10 */ lw $a0, %lo(D_8014EE10)($a0)
/* D46E8 8013DFE8 3C048015 */ lui $a0, %hi(fold_currentImage)
/* D46EC 8013DFEC 8C84EE10 */ lw $a0, %lo(fold_currentImage)($a0)
/* D46F0 8013DFF0 00A0302D */ daddu $a2, $a1, $zero
/* D46F4 8013DFF4 24A50008 */ addiu $a1, $a1, 8
/* D46F8 8013DFF8 AE050000 */ sw $a1, ($s0)
@ -361,8 +361,8 @@ glabel func_8013DAB4
/* D4720 8013E020 8C830000 */ lw $v1, ($a0)
/* D4724 8013E024 24A20010 */ addiu $v0, $a1, 0x10
/* D4728 8013E028 AE020000 */ sw $v0, ($s0)
/* D472C 8013E02C 3C028015 */ lui $v0, %hi(D_80156950)
/* D4730 8013E030 8C426950 */ lw $v0, %lo(D_80156950)($v0)
/* D472C 8013E02C 3C028015 */ lui $v0, %hi(fold_vtxBuf)
/* D4730 8013E030 8C426950 */ lw $v0, %lo(fold_vtxBuf)($v0)
/* D4734 8013E034 00133900 */ sll $a3, $s3, 4
/* D4738 8013E038 00E23821 */ addu $a3, $a3, $v0
/* D473C 8013E03C ACC30004 */ sw $v1, 4($a2)
@ -489,8 +489,8 @@ glabel func_8013DAB4
/* D4918 8013E218 0060282D */ daddu $a1, $v1, $zero
/* D491C 8013E21C 24630008 */ addiu $v1, $v1, 8
/* D4920 8013E220 AE030000 */ sw $v1, ($s0)
/* D4924 8013E224 3C048015 */ lui $a0, %hi(D_80156950)
/* D4928 8013E228 8C846950 */ lw $a0, %lo(D_80156950)($a0)
/* D4924 8013E224 3C048015 */ lui $a0, %hi(fold_vtxBuf)
/* D4928 8013E228 8C846950 */ lw $a0, %lo(fold_vtxBuf)($a0)
/* D492C 8013E22C 35290406 */ ori $t1, $t1, 0x406
/* D4930 8013E230 ACA20000 */ sw $v0, ($a1)
/* D4934 8013E234 00111100 */ sll $v0, $s1, 4

View File

@ -80,8 +80,8 @@ glabel func_8013E2F0
/* D4B1C 8013E41C AD020000 */ sw $v0, ($t0)
/* D4B20 8013E420 24E20028 */ addiu $v0, $a3, 0x28
/* D4B24 8013E424 AD020000 */ sw $v0, ($t0)
/* D4B28 8013E428 3C038015 */ lui $v1, %hi(D_8014EE10)
/* D4B2C 8013E42C 8C63EE10 */ lw $v1, %lo(D_8014EE10)($v1)
/* D4B28 8013E428 3C038015 */ lui $v1, %hi(fold_currentImage)
/* D4B2C 8013E42C 8C63EE10 */ lw $v1, %lo(fold_currentImage)($v1)
/* D4B30 8013E430 24E20030 */ addiu $v0, $a3, 0x30
/* D4B34 8013E434 AD020000 */ sw $v0, ($t0)
/* D4B38 8013E438 8C640004 */ lw $a0, 4($v1)
@ -142,8 +142,8 @@ glabel func_8013E2F0
/* D4C10 8013E510 00A0202D */ daddu $a0, $a1, $zero
/* D4C14 8013E514 24A50008 */ addiu $a1, $a1, 8
/* D4C18 8013E518 ACE50000 */ sw $a1, ($a3)
/* D4C1C 8013E51C 3C068015 */ lui $a2, %hi(D_8014EE10)
/* D4C20 8013E520 8CC6EE10 */ lw $a2, %lo(D_8014EE10)($a2)
/* D4C1C 8013E51C 3C068015 */ lui $a2, %hi(fold_currentImage)
/* D4C20 8013E520 8CC6EE10 */ lw $a2, %lo(fold_currentImage)($a2)
/* D4C24 8013E524 24A20008 */ addiu $v0, $a1, 8
/* D4C28 8013E528 ACE20000 */ sw $v0, ($a3)
/* D4C2C 8013E52C 94C20008 */ lhu $v0, 8($a2)
@ -265,8 +265,8 @@ glabel func_8013E2F0
.L8013E6F4:
/* D4DF4 8013E6F4 240EFFFF */ addiu $t6, $zero, -1
.L8013E6F8:
/* D4DF8 8013E6F8 3C028015 */ lui $v0, %hi(D_8014EE10)
/* D4DFC 8013E6FC 8C42EE10 */ lw $v0, %lo(D_8014EE10)($v0)
/* D4DF8 8013E6F8 3C028015 */ lui $v0, %hi(fold_currentImage)
/* D4DFC 8013E6FC 8C42EE10 */ lw $v0, %lo(fold_currentImage)($v0)
/* D4E00 8013E700 0280202D */ daddu $a0, $s4, $zero
/* D4E04 8013E704 94470008 */ lhu $a3, 8($v0)
/* D4E08 8013E708 9442000A */ lhu $v0, 0xa($v0)
@ -293,8 +293,8 @@ glabel func_8013E2F0
/* D4E54 8013E754 00A0202D */ daddu $a0, $a1, $zero
/* D4E58 8013E758 24A50008 */ addiu $a1, $a1, 8
/* D4E5C 8013E75C ACE50000 */ sw $a1, ($a3)
/* D4E60 8013E760 3C068015 */ lui $a2, %hi(D_8014EE10)
/* D4E64 8013E764 8CC6EE10 */ lw $a2, %lo(D_8014EE10)($a2)
/* D4E60 8013E760 3C068015 */ lui $a2, %hi(fold_currentImage)
/* D4E64 8013E764 8CC6EE10 */ lw $a2, %lo(fold_currentImage)($a2)
/* D4E68 8013E768 24A20008 */ addiu $v0, $a1, 8
/* D4E6C 8013E76C ACE20000 */ sw $v0, ($a3)
/* D4E70 8013E770 94C20008 */ lhu $v0, 8($a2)

View File

@ -27,8 +27,8 @@ glabel func_8013E904
/* D505C 8013E95C 3C11800A */ lui $s1, %hi(gDisplayContext)
/* D5060 8013E960 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* D5064 8013E964 96040000 */ lhu $a0, ($s0)
/* D5068 8013E968 3C068015 */ lui $a2, %hi(D_8014EE10)
/* D506C 8013E96C 8CC6EE10 */ lw $a2, %lo(D_8014EE10)($a2)
/* D5068 8013E968 3C068015 */ lui $a2, %hi(fold_currentImage)
/* D506C 8013E96C 8CC6EE10 */ lw $a2, %lo(fold_currentImage)($a2)
/* D5070 8013E970 8E230000 */ lw $v1, ($s1)
/* D5074 8013E974 3C014059 */ lui $at, 0x4059
/* D5078 8013E978 44811800 */ mtc1 $at, $f3

View File

@ -149,8 +149,8 @@ glabel func_8013EE68
/* D5720 8013F020 0044A823 */ subu $s5, $v0, $a0
/* D5724 8013F024 1AA00067 */ blez $s5, .L8013F1C4
/* D5728 8013F028 0280882D */ daddu $s1, $s4, $zero
/* D572C 8013F02C 3C168015 */ lui $s6, %hi(D_80156950)
/* D5730 8013F030 26D66950 */ addiu $s6, $s6, %lo(D_80156950)
/* D572C 8013F02C 3C168015 */ lui $s6, %hi(fold_vtxBuf)
/* D5730 8013F030 26D66950 */ addiu $s6, $s6, %lo(fold_vtxBuf)
/* D5734 8013F034 0280982D */ daddu $s3, $s4, $zero
.L8013F038:
/* D5738 8013F038 44931000 */ mtc1 $s3, $f2

View File

@ -1,101 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80151138
.double 255.0
.section .text
glabel func_8013F1F8
/* D58F8 8013F1F8 0080382D */ daddu $a3, $a0, $zero
/* D58FC 8013F1FC 0000302D */ daddu $a2, $zero, $zero
/* D5900 8013F200 3C028015 */ lui $v0, %hi(D_8014EE10)
/* D5904 8013F204 8C42EE10 */ lw $v0, %lo(D_8014EE10)($v0)
/* D5908 8013F208 3C018015 */ lui $at, %hi(D_80151138)
/* D590C 8013F20C D4221138 */ ldc1 $f2, %lo(D_80151138)($at)
/* D5910 8013F210 90420024 */ lbu $v0, 0x24($v0)
/* D5914 8013F214 94E3000A */ lhu $v1, 0xa($a3)
/* D5918 8013F218 44820000 */ mtc1 $v0, $f0
/* D591C 8013F21C 00000000 */ nop
/* D5920 8013F220 46800020 */ cvt.s.w $f0, $f0
/* D5924 8013F224 46000021 */ cvt.d.s $f0, $f0
/* D5928 8013F228 46220003 */ div.d $f0, $f0, $f2
/* D592C 8013F22C 94E20008 */ lhu $v0, 8($a3)
/* D5930 8013F230 00624823 */ subu $t1, $v1, $v0
/* D5934 8013F234 05200041 */ bltz $t1, .L8013F33C
/* D5938 8013F238 46200120 */ cvt.s.d $f4, $f0
/* D593C 8013F23C 3C088015 */ lui $t0, %hi(D_80156950)
/* D5940 8013F240 25086950 */ addiu $t0, $t0, %lo(D_80156950)
/* D5944 8013F244 3C014F00 */ lui $at, 0x4f00
/* D5948 8013F248 44811000 */ mtc1 $at, $f2
/* D594C 8013F24C 3C0A8000 */ lui $t2, 0x8000
/* D5950 8013F250 00062880 */ sll $a1, $a2, 2
.L8013F254:
/* D5954 8013F254 94E20008 */ lhu $v0, 8($a3)
/* D5958 8013F258 8CE3005C */ lw $v1, 0x5c($a3)
/* D595C 8013F25C 8D040000 */ lw $a0, ($t0)
/* D5960 8013F260 00461021 */ addu $v0, $v0, $a2
/* D5964 8013F264 00021100 */ sll $v0, $v0, 4
/* D5968 8013F268 00A31821 */ addu $v1, $a1, $v1
/* D596C 8013F26C 90630000 */ lbu $v1, ($v1)
/* D5970 8013F270 00441021 */ addu $v0, $v0, $a0
/* D5974 8013F274 A043000C */ sb $v1, 0xc($v0)
/* D5978 8013F278 94E20008 */ lhu $v0, 8($a3)
/* D597C 8013F27C 8CE3005C */ lw $v1, 0x5c($a3)
/* D5980 8013F280 8D040000 */ lw $a0, ($t0)
/* D5984 8013F284 00461021 */ addu $v0, $v0, $a2
/* D5988 8013F288 00021100 */ sll $v0, $v0, 4
/* D598C 8013F28C 00A31821 */ addu $v1, $a1, $v1
/* D5990 8013F290 90630001 */ lbu $v1, 1($v1)
/* D5994 8013F294 00441021 */ addu $v0, $v0, $a0
/* D5998 8013F298 A043000D */ sb $v1, 0xd($v0)
/* D599C 8013F29C 94E20008 */ lhu $v0, 8($a3)
/* D59A0 8013F2A0 8CE3005C */ lw $v1, 0x5c($a3)
/* D59A4 8013F2A4 8D040000 */ lw $a0, ($t0)
/* D59A8 8013F2A8 00461021 */ addu $v0, $v0, $a2
/* D59AC 8013F2AC 00021100 */ sll $v0, $v0, 4
/* D59B0 8013F2B0 00A31821 */ addu $v1, $a1, $v1
/* D59B4 8013F2B4 90630002 */ lbu $v1, 2($v1)
/* D59B8 8013F2B8 00441021 */ addu $v0, $v0, $a0
/* D59BC 8013F2BC A043000E */ sb $v1, 0xe($v0)
/* D59C0 8013F2C0 8CE2005C */ lw $v0, 0x5c($a3)
/* D59C4 8013F2C4 00A22821 */ addu $a1, $a1, $v0
/* D59C8 8013F2C8 94E20008 */ lhu $v0, 8($a3)
/* D59CC 8013F2CC 90A30003 */ lbu $v1, 3($a1)
/* D59D0 8013F2D0 00461021 */ addu $v0, $v0, $a2
/* D59D4 8013F2D4 44830000 */ mtc1 $v1, $f0
/* D59D8 8013F2D8 00000000 */ nop
/* D59DC 8013F2DC 46800020 */ cvt.s.w $f0, $f0
/* D59E0 8013F2E0 46040002 */ mul.s $f0, $f0, $f4
/* D59E4 8013F2E4 00000000 */ nop
/* D59E8 8013F2E8 8D030000 */ lw $v1, ($t0)
/* D59EC 8013F2EC 00021100 */ sll $v0, $v0, 4
/* D59F0 8013F2F0 00431021 */ addu $v0, $v0, $v1
/* D59F4 8013F2F4 4600103E */ c.le.s $f2, $f0
/* D59F8 8013F2F8 00000000 */ nop
/* D59FC 8013F2FC 45010005 */ bc1t .L8013F314
/* D5A00 8013F300 2442000F */ addiu $v0, $v0, 0xf
/* D5A04 8013F304 4600018D */ trunc.w.s $f6, $f0
/* D5A08 8013F308 44033000 */ mfc1 $v1, $f6
/* D5A0C 8013F30C 0804FCCB */ j .L8013F32C
/* D5A10 8013F310 A0430000 */ sb $v1, ($v0)
.L8013F314:
/* D5A14 8013F314 46020001 */ sub.s $f0, $f0, $f2
/* D5A18 8013F318 4600018D */ trunc.w.s $f6, $f0
/* D5A1C 8013F31C 44033000 */ mfc1 $v1, $f6
/* D5A20 8013F320 00000000 */ nop
/* D5A24 8013F324 006A1825 */ or $v1, $v1, $t2
/* D5A28 8013F328 A0430000 */ sb $v1, ($v0)
.L8013F32C:
/* D5A2C 8013F32C 24C60001 */ addiu $a2, $a2, 1
/* D5A30 8013F330 0126102A */ slt $v0, $t1, $a2
/* D5A34 8013F334 1040FFC7 */ beqz $v0, .L8013F254
/* D5A38 8013F338 00062880 */ sll $a1, $a2, 2
.L8013F33C:
/* D5A3C 8013F33C 03E00008 */ jr $ra
/* D5A40 8013F340 00000000 */ nop
/* D5A44 8013F344 00000000 */ nop
/* D5A48 8013F348 00000000 */ nop
/* D5A4C 8013F34C 00000000 */ nop

View File

@ -120,7 +120,7 @@ glabel func_802B71C8
/* E21244 802B7394 A3A20030 */ sb $v0, 0x30($sp)
/* E21248 802B7398 AFA00010 */ sw $zero, 0x10($sp)
/* E2124C 802B739C AFA00014 */ sw $zero, 0x14($sp)
/* E21250 802B73A0 0C04EAA7 */ jal func_8013AA9C
/* E21250 802B73A0 0C04EAA7 */ jal fold_update
/* E21254 802B73A4 AFB00018 */ sw $s0, 0x18($sp)
/* E21258 802B73A8 0000202D */ daddu $a0, $zero, $zero
/* E2125C 802B73AC 8E820000 */ lw $v0, ($s4)
@ -130,12 +130,12 @@ glabel func_802B71C8
/* E2126C 802B73BC AFA20014 */ sw $v0, 0x14($sp)
/* E21270 802B73C0 AFB00018 */ sw $s0, 0x18($sp)
/* E21274 802B73C4 00C0382D */ daddu $a3, $a2, $zero
/* E21278 802B73C8 0C04EAA7 */ jal func_8013AA9C
/* E21278 802B73C8 0C04EAA7 */ jal fold_update
/* E2127C 802B73CC AFA60010 */ sw $a2, 0x10($sp)
/* E21280 802B73D0 0000202D */ daddu $a0, $zero, $zero
/* E21284 802B73D4 27A50020 */ addiu $a1, $sp, 0x20
/* E21288 802B73D8 24060040 */ addiu $a2, $zero, 0x40
/* E2128C 802B73DC 0C04EBDC */ jal func_8013AF70
/* E2128C 802B73DC 0C04EBDC */ jal fold_appendGfx_component
/* E21290 802B73E0 0220382D */ daddu $a3, $s1, $zero
/* E21294 802B73E4 3C04D838 */ lui $a0, 0xd838
/* E21298 802B73E8 8E420000 */ lw $v0, ($s2)

View File

@ -1,175 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel fx_10_appendGfx
/* 32E970 E00144E0 27BDFF30 */ addiu $sp, $sp, -0xd0
/* 32E974 E00144E4 AFB600B8 */ sw $s6, 0xb8($sp)
/* 32E978 E00144E8 0080B02D */ daddu $s6, $a0, $zero
/* 32E97C E00144EC 3C05DB06 */ lui $a1, 0xdb06
/* 32E980 E00144F0 34A50024 */ ori $a1, $a1, 0x24
/* 32E984 E00144F4 AFB200A8 */ sw $s2, 0xa8($sp)
/* 32E988 E00144F8 0000902D */ daddu $s2, $zero, $zero
/* 32E98C E00144FC 3C06800A */ lui $a2, %hi(gMasterGfxPos)
/* 32E990 E0014500 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos)
/* 32E994 E0014504 3C02E700 */ lui $v0, 0xe700
/* 32E998 E0014508 AFBF00C4 */ sw $ra, 0xc4($sp)
/* 32E99C E001450C AFBE00C0 */ sw $fp, 0xc0($sp)
/* 32E9A0 E0014510 AFB700BC */ sw $s7, 0xbc($sp)
/* 32E9A4 E0014514 AFB500B4 */ sw $s5, 0xb4($sp)
/* 32E9A8 E0014518 AFB400B0 */ sw $s4, 0xb0($sp)
/* 32E9AC E001451C AFB300AC */ sw $s3, 0xac($sp)
/* 32E9B0 E0014520 AFB100A4 */ sw $s1, 0xa4($sp)
/* 32E9B4 E0014524 AFB000A0 */ sw $s0, 0xa0($sp)
/* 32E9B8 E0014528 F7B400C8 */ sdc1 $f20, 0xc8($sp)
/* 32E9BC E001452C 8CC30000 */ lw $v1, ($a2)
/* 32E9C0 E0014530 8ED1000C */ lw $s1, 0xc($s6)
/* 32E9C4 E0014534 0060202D */ daddu $a0, $v1, $zero
/* 32E9C8 E0014538 24630008 */ addiu $v1, $v1, 8
/* 32E9CC E001453C ACC30000 */ sw $v1, ($a2)
/* 32E9D0 E0014540 AC820000 */ sw $v0, ($a0)
/* 32E9D4 E0014544 AC800004 */ sw $zero, 4($a0)
/* 32E9D8 E0014548 AC650000 */ sw $a1, ($v1)
/* 32E9DC E001454C 8EC40010 */ lw $a0, 0x10($s6)
/* 32E9E0 E0014550 24620008 */ addiu $v0, $v1, 8
/* 32E9E4 E0014554 ACC20000 */ sw $v0, ($a2)
/* 32E9E8 E0014558 8C84001C */ lw $a0, 0x1c($a0)
/* 32E9EC E001455C 3C02DE00 */ lui $v0, 0xde00
/* 32E9F0 E0014560 AC620008 */ sw $v0, 8($v1)
/* 32E9F4 E0014564 3C020900 */ lui $v0, 0x900
/* 32E9F8 E0014568 244200E0 */ addiu $v0, $v0, 0xe0
/* 32E9FC E001456C AC62000C */ sw $v0, 0xc($v1)
/* 32EA00 E0014570 3C028000 */ lui $v0, 0x8000
/* 32EA04 E0014574 00822021 */ addu $a0, $a0, $v0
/* 32EA08 E0014578 AC640004 */ sw $a0, 4($v1)
/* 32EA0C E001457C 8EC20008 */ lw $v0, 8($s6)
/* 32EA10 E0014580 24630010 */ addiu $v1, $v1, 0x10
/* 32EA14 E0014584 18400066 */ blez $v0, .LE0014720
/* 32EA18 E0014588 ACC30000 */ sw $v1, ($a2)
/* 32EA1C E001458C 4480A000 */ mtc1 $zero, $f20
/* 32EA20 E0014590 27B50060 */ addiu $s5, $sp, 0x60
/* 32EA24 E0014594 3C1E800A */ lui $fp, %hi(gDisplayContext)
/* 32EA28 E0014598 27DEA674 */ addiu $fp, $fp, %lo(gDisplayContext)
/* 32EA2C E001459C 3C178007 */ lui $s7, %hi(gMatrixListPos)
/* 32EA30 E00145A0 26F741F0 */ addiu $s7, $s7, %lo(gMatrixListPos)
/* 32EA34 E00145A4 3C140001 */ lui $s4, 1
/* 32EA38 E00145A8 36941630 */ ori $s4, $s4, 0x1630
/* 32EA3C E00145AC 00C0982D */ daddu $s3, $a2, $zero
/* 32EA40 E00145B0 26300008 */ addiu $s0, $s1, 8
.LE00145B4:
/* 32EA44 E00145B4 8E220000 */ lw $v0, ($s1)
/* 32EA48 E00145B8 50400054 */ beql $v0, $zero, .LE001470C
/* 32EA4C E00145BC 26520001 */ addiu $s2, $s2, 1
/* 32EA50 E00145C0 3C09800B */ lui $t1, %hi(gCameras)
/* 32EA54 E00145C4 25291D80 */ addiu $t1, $t1, %lo(gCameras)
/* 32EA58 E00145C8 4405A000 */ mfc1 $a1, $f20
/* 32EA5C E00145CC 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 32EA60 E00145D0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 32EA64 E00145D4 4407A000 */ mfc1 $a3, $f20
/* 32EA68 E00145D8 3C013F80 */ lui $at, 0x3f80
/* 32EA6C E00145DC 44810000 */ mtc1 $at, $f0
/* 32EA70 E00145E0 00031080 */ sll $v0, $v1, 2
/* 32EA74 E00145E4 00431021 */ addu $v0, $v0, $v1
/* 32EA78 E00145E8 00021080 */ sll $v0, $v0, 2
/* 32EA7C E00145EC 00431023 */ subu $v0, $v0, $v1
/* 32EA80 E00145F0 000218C0 */ sll $v1, $v0, 3
/* 32EA84 E00145F4 00431021 */ addu $v0, $v0, $v1
/* 32EA88 E00145F8 000210C0 */ sll $v0, $v0, 3
/* 32EA8C E00145FC 00491021 */ addu $v0, $v0, $t1
/* 32EA90 E0014600 C442006C */ lwc1 $f2, 0x6c($v0)
/* 32EA94 E0014604 E7A00010 */ swc1 $f0, 0x10($sp)
/* 32EA98 E0014608 C6000004 */ lwc1 $f0, 4($s0)
/* 32EA9C E001460C 46001087 */ neg.s $f2, $f2
/* 32EAA0 E0014610 E7A00014 */ swc1 $f0, 0x14($sp)
/* 32EAA4 E0014614 C6000008 */ lwc1 $f0, 8($s0)
/* 32EAA8 E0014618 44061000 */ mfc1 $a2, $f2
/* 32EAAC E001461C E7A00018 */ swc1 $f0, 0x18($sp)
/* 32EAB0 E0014620 C600000C */ lwc1 $f0, 0xc($s0)
/* 32EAB4 E0014624 27A40020 */ addiu $a0, $sp, 0x20
/* 32EAB8 E0014628 0C080180 */ jal shim_guPositionF
/* 32EABC E001462C E7A0001C */ swc1 $f0, 0x1c($sp)
/* 32EAC0 E0014630 8E050010 */ lw $a1, 0x10($s0)
/* 32EAC4 E0014634 8E060014 */ lw $a2, 0x14($s0)
/* 32EAC8 E0014638 8E070018 */ lw $a3, 0x18($s0)
/* 32EACC E001463C 0C080110 */ jal shim_guScaleF
/* 32EAD0 E0014640 02A0202D */ daddu $a0, $s5, $zero
/* 32EAD4 E0014644 02A0202D */ daddu $a0, $s5, $zero
/* 32EAD8 E0014648 27A50020 */ addiu $a1, $sp, 0x20
/* 32EADC E001464C 0C080114 */ jal shim_guMtxCatF
/* 32EAE0 E0014650 00A0302D */ daddu $a2, $a1, $zero
/* 32EAE4 E0014654 27A40020 */ addiu $a0, $sp, 0x20
/* 32EAE8 E0014658 96E50000 */ lhu $a1, ($s7)
/* 32EAEC E001465C 8FC20000 */ lw $v0, ($fp)
/* 32EAF0 E0014660 00052980 */ sll $a1, $a1, 6
/* 32EAF4 E0014664 00B42821 */ addu $a1, $a1, $s4
/* 32EAF8 E0014668 0C080118 */ jal shim_guMtxF2L
/* 32EAFC E001466C 00452821 */ addu $a1, $v0, $a1
/* 32EB00 E0014670 3C077060 */ lui $a3, 0x7060
/* 32EB04 E0014674 34E71800 */ ori $a3, $a3, 0x1800
/* 32EB08 E0014678 3C08D838 */ lui $t0, 0xd838
/* 32EB0C E001467C 35080002 */ ori $t0, $t0, 2
/* 32EB10 E0014680 8E640000 */ lw $a0, ($s3)
/* 32EB14 E0014684 3C02FA00 */ lui $v0, 0xfa00
/* 32EB18 E0014688 0080302D */ daddu $a2, $a0, $zero
/* 32EB1C E001468C 24840008 */ addiu $a0, $a0, 8
/* 32EB20 E0014690 AE640000 */ sw $a0, ($s3)
/* 32EB24 E0014694 ACC20000 */ sw $v0, ($a2)
/* 32EB28 E0014698 92050000 */ lbu $a1, ($s0)
/* 32EB2C E001469C 96E30000 */ lhu $v1, ($s7)
/* 32EB30 E00146A0 24820008 */ addiu $v0, $a0, 8
/* 32EB34 E00146A4 AE620000 */ sw $v0, ($s3)
/* 32EB38 E00146A8 24620001 */ addiu $v0, $v1, 1
/* 32EB3C E00146AC A6E20000 */ sh $v0, ($s7)
/* 32EB40 E00146B0 24820010 */ addiu $v0, $a0, 0x10
/* 32EB44 E00146B4 AE620000 */ sw $v0, ($s3)
/* 32EB48 E00146B8 24820018 */ addiu $v0, $a0, 0x18
/* 32EB4C E00146BC 00A72825 */ or $a1, $a1, $a3
/* 32EB50 E00146C0 AE620000 */ sw $v0, ($s3)
/* 32EB54 E00146C4 3C02DA38 */ lui $v0, 0xda38
/* 32EB58 E00146C8 3063FFFF */ andi $v1, $v1, 0xffff
/* 32EB5C E00146CC 00031980 */ sll $v1, $v1, 6
/* 32EB60 E00146D0 ACC50004 */ sw $a1, 4($a2)
/* 32EB64 E00146D4 AC820000 */ sw $v0, ($a0)
/* 32EB68 E00146D8 8FC20000 */ lw $v0, ($fp)
/* 32EB6C E00146DC 00741821 */ addu $v1, $v1, $s4
/* 32EB70 E00146E0 AC880010 */ sw $t0, 0x10($a0)
/* 32EB74 E00146E4 00431021 */ addu $v0, $v0, $v1
/* 32EB78 E00146E8 AC820004 */ sw $v0, 4($a0)
/* 32EB7C E00146EC 3C02DE00 */ lui $v0, 0xde00
/* 32EB80 E00146F0 AC820008 */ sw $v0, 8($a0)
/* 32EB84 E00146F4 3C020900 */ lui $v0, 0x900
/* 32EB88 E00146F8 244201B8 */ addiu $v0, $v0, 0x1b8
/* 32EB8C E00146FC AC82000C */ sw $v0, 0xc($a0)
/* 32EB90 E0014700 24020040 */ addiu $v0, $zero, 0x40
/* 32EB94 E0014704 AC820014 */ sw $v0, 0x14($a0)
/* 32EB98 E0014708 26520001 */ addiu $s2, $s2, 1
.LE001470C:
/* 32EB9C E001470C 2610004C */ addiu $s0, $s0, 0x4c
/* 32EBA0 E0014710 8EC20008 */ lw $v0, 8($s6)
/* 32EBA4 E0014714 0242102A */ slt $v0, $s2, $v0
/* 32EBA8 E0014718 1440FFA6 */ bnez $v0, .LE00145B4
/* 32EBAC E001471C 2631004C */ addiu $s1, $s1, 0x4c
.LE0014720:
/* 32EBB0 E0014720 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 32EBB4 E0014724 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 32EBB8 E0014728 8C620000 */ lw $v0, ($v1)
/* 32EBBC E001472C 0040202D */ daddu $a0, $v0, $zero
/* 32EBC0 E0014730 24420008 */ addiu $v0, $v0, 8
/* 32EBC4 E0014734 AC620000 */ sw $v0, ($v1)
/* 32EBC8 E0014738 3C02E700 */ lui $v0, 0xe700
/* 32EBCC E001473C AC820000 */ sw $v0, ($a0)
/* 32EBD0 E0014740 AC800004 */ sw $zero, 4($a0)
/* 32EBD4 E0014744 8FBF00C4 */ lw $ra, 0xc4($sp)
/* 32EBD8 E0014748 8FBE00C0 */ lw $fp, 0xc0($sp)
/* 32EBDC E001474C 8FB700BC */ lw $s7, 0xbc($sp)
/* 32EBE0 E0014750 8FB600B8 */ lw $s6, 0xb8($sp)
/* 32EBE4 E0014754 8FB500B4 */ lw $s5, 0xb4($sp)
/* 32EBE8 E0014758 8FB400B0 */ lw $s4, 0xb0($sp)
/* 32EBEC E001475C 8FB300AC */ lw $s3, 0xac($sp)
/* 32EBF0 E0014760 8FB200A8 */ lw $s2, 0xa8($sp)
/* 32EBF4 E0014764 8FB100A4 */ lw $s1, 0xa4($sp)
/* 32EBF8 E0014768 8FB000A0 */ lw $s0, 0xa0($sp)
/* 32EBFC E001476C D7B400C8 */ ldc1 $f20, 0xc8($sp)
/* 32EC00 E0014770 03E00008 */ jr $ra
/* 32EC04 E0014774 27BD00D0 */ addiu $sp, $sp, 0xd0
/* 32EC08 E0014778 00000000 */ nop
/* 32EC0C E001477C 00000000 */ nop

View File

@ -1,158 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel fx_10_main
/* 32E490 E0014000 27BDFF90 */ addiu $sp, $sp, -0x70
/* 32E494 E0014004 F7BA0058 */ sdc1 $f26, 0x58($sp)
/* 32E498 E0014008 46006686 */ mov.s $f26, $f12
/* 32E49C E001400C F7BC0060 */ sdc1 $f28, 0x60($sp)
/* 32E4A0 E0014010 46007706 */ mov.s $f28, $f14
/* 32E4A4 E0014014 27A40010 */ addiu $a0, $sp, 0x10
/* 32E4A8 E0014018 F7BE0068 */ sdc1 $f30, 0x68($sp)
/* 32E4AC E001401C 4486F000 */ mtc1 $a2, $f30
/* 32E4B0 E0014020 3C02E001 */ lui $v0, %hi(fx_10_init)
/* 32E4B4 E0014024 24424258 */ addiu $v0, $v0, %lo(fx_10_init)
/* 32E4B8 E0014028 AFA20018 */ sw $v0, 0x18($sp)
/* 32E4BC E001402C 3C02E001 */ lui $v0, %hi(fx_10_update)
/* 32E4C0 E0014030 24424260 */ addiu $v0, $v0, %lo(fx_10_update)
/* 32E4C4 E0014034 AFA2001C */ sw $v0, 0x1c($sp)
/* 32E4C8 E0014038 3C02E001 */ lui $v0, %hi(fx_10_render)
/* 32E4CC E001403C 2442449C */ addiu $v0, $v0, %lo(fx_10_render)
/* 32E4D0 E0014040 AFA20020 */ sw $v0, 0x20($sp)
/* 32E4D4 E0014044 2402000A */ addiu $v0, $zero, 0xa
/* 32E4D8 E0014048 AFBF003C */ sw $ra, 0x3c($sp)
/* 32E4DC E001404C AFB40038 */ sw $s4, 0x38($sp)
/* 32E4E0 E0014050 AFB30034 */ sw $s3, 0x34($sp)
/* 32E4E4 E0014054 AFB20030 */ sw $s2, 0x30($sp)
/* 32E4E8 E0014058 AFB1002C */ sw $s1, 0x2c($sp)
/* 32E4EC E001405C AFB00028 */ sw $s0, 0x28($sp)
/* 32E4F0 E0014060 F7B80050 */ sdc1 $f24, 0x50($sp)
/* 32E4F4 E0014064 F7B60048 */ sdc1 $f22, 0x48($sp)
/* 32E4F8 E0014068 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 32E4FC E001406C AFA7007C */ sw $a3, 0x7c($sp)
/* 32E500 E0014070 AFA00010 */ sw $zero, 0x10($sp)
/* 32E504 E0014074 AFA00024 */ sw $zero, 0x24($sp)
/* 32E508 E0014078 0C080124 */ jal shim_create_effect_instance
/* 32E50C E001407C AFA20014 */ sw $v0, 0x14($sp)
/* 32E510 E0014080 24040260 */ addiu $a0, $zero, 0x260
/* 32E514 E0014084 24140008 */ addiu $s4, $zero, 8
/* 32E518 E0014088 0040802D */ daddu $s0, $v0, $zero
/* 32E51C E001408C 0C08012C */ jal shim_general_heap_malloc
/* 32E520 E0014090 AE140008 */ sw $s4, 8($s0)
/* 32E524 E0014094 0040882D */ daddu $s1, $v0, $zero
/* 32E528 E0014098 16200003 */ bnez $s1, .LE00140A8
/* 32E52C E001409C AE11000C */ sw $s1, 0xc($s0)
.LE00140A0:
/* 32E530 E00140A0 08005028 */ j .LE00140A0
/* 32E534 E00140A4 00000000 */ nop
.LE00140A8:
/* 32E538 E00140A8 0220202D */ daddu $a0, $s1, $zero
/* 32E53C E00140AC 00142880 */ sll $a1, $s4, 2
/* 32E540 E00140B0 00B42821 */ addu $a1, $a1, $s4
/* 32E544 E00140B4 00052880 */ sll $a1, $a1, 2
/* 32E548 E00140B8 00B42823 */ subu $a1, $a1, $s4
/* 32E54C E00140BC 0C080130 */ jal shim_mem_clear
/* 32E550 E00140C0 00052880 */ sll $a1, $a1, 2
/* 32E554 E00140C4 12800056 */ beqz $s4, .LE0014220
/* 32E558 E00140C8 0000902D */ daddu $s2, $zero, $zero
/* 32E55C E00140CC 26300048 */ addiu $s0, $s1, 0x48
/* 32E560 E00140D0 0240982D */ daddu $s3, $s2, $zero
/* 32E564 E00140D4 3C013F80 */ lui $at, 0x3f80
/* 32E568 E00140D8 4481C000 */ mtc1 $at, $f24
/* 32E56C E00140DC 3C01E001 */ lui $at, %hi(D_E0014780)
/* 32E570 E00140E0 D4364780 */ ldc1 $f22, %lo(D_E0014780)($at)
.LE00140E4:
/* 32E574 E00140E4 2404000A */ addiu $a0, $zero, 0xa
/* 32E578 E00140E8 24020001 */ addiu $v0, $zero, 1
/* 32E57C E00140EC AE220000 */ sw $v0, ($s1)
/* 32E580 E00140F0 240200FF */ addiu $v0, $zero, 0xff
/* 32E584 E00140F4 AE00FFF8 */ sw $zero, -8($s0)
/* 32E588 E00140F8 E61AFFC4 */ swc1 $f26, -0x3c($s0)
/* 32E58C E00140FC E61CFFC8 */ swc1 $f28, -0x38($s0)
/* 32E590 E0014100 E61EFFCC */ swc1 $f30, -0x34($s0)
/* 32E594 E0014104 E618FFD0 */ swc1 $f24, -0x30($s0)
/* 32E598 E0014108 E618FFD4 */ swc1 $f24, -0x2c($s0)
/* 32E59C E001410C E618FFD8 */ swc1 $f24, -0x28($s0)
/* 32E5A0 E0014110 0C080138 */ jal shim_rand_int
/* 32E5A4 E0014114 A202FFC0 */ sb $v0, -0x40($s0)
/* 32E5A8 E0014118 44820000 */ mtc1 $v0, $f0
/* 32E5AC E001411C 00000000 */ nop
/* 32E5B0 E0014120 46800021 */ cvt.d.w $f0, $f0
/* 32E5B4 E0014124 46360002 */ mul.d $f0, $f0, $f22
/* 32E5B8 E0014128 00000000 */ nop
/* 32E5BC E001412C 3C013FF0 */ lui $at, 0x3ff0
/* 32E5C0 E0014130 44811800 */ mtc1 $at, $f3
/* 32E5C4 E0014134 44801000 */ mtc1 $zero, $f2
/* 32E5C8 E0014138 00000000 */ nop
/* 32E5CC E001413C 46220000 */ add.d $f0, $f0, $f2
/* 32E5D0 E0014140 2404000A */ addiu $a0, $zero, 0xa
/* 32E5D4 E0014144 46200020 */ cvt.s.d $f0, $f0
/* 32E5D8 E0014148 0C080138 */ jal shim_rand_int
/* 32E5DC E001414C E600FFDC */ swc1 $f0, -0x24($s0)
/* 32E5E0 E0014150 44820000 */ mtc1 $v0, $f0
/* 32E5E4 E0014154 00000000 */ nop
/* 32E5E8 E0014158 46800021 */ cvt.d.w $f0, $f0
/* 32E5EC E001415C 46360002 */ mul.d $f0, $f0, $f22
/* 32E5F0 E0014160 00000000 */ nop
/* 32E5F4 E0014164 3C01E001 */ lui $at, %hi(D_E0014788)
/* 32E5F8 E0014168 D4224788 */ ldc1 $f2, %lo(D_E0014788)($at)
/* 32E5FC E001416C 26520001 */ addiu $s2, $s2, 1
/* 32E600 E0014170 46220000 */ add.d $f0, $f0, $f2
/* 32E604 E0014174 2631004C */ addiu $s1, $s1, 0x4c
/* 32E608 E0014178 2404003C */ addiu $a0, $zero, 0x3c
/* 32E60C E001417C 46200020 */ cvt.s.d $f0, $f0
/* 32E610 E0014180 0C080000 */ jal func_E0200000
/* 32E614 E0014184 E600FFE0 */ swc1 $f0, -0x20($s0)
/* 32E618 E0014188 44936000 */ mtc1 $s3, $f12
/* 32E61C E001418C 00000000 */ nop
/* 32E620 E0014190 46806320 */ cvt.s.w $f12, $f12
/* 32E624 E0014194 2673002D */ addiu $s3, $s3, 0x2d
/* 32E628 E0014198 C7A8007C */ lwc1 $f8, 0x7c($sp)
/* 32E62C E001419C 44820000 */ mtc1 $v0, $f0
/* 32E630 E00141A0 00000000 */ nop
/* 32E634 E00141A4 46800020 */ cvt.s.w $f0, $f0
/* 32E638 E00141A8 E600FFE4 */ swc1 $f0, -0x1c($s0)
/* 32E63C E00141AC 3C013F00 */ lui $at, 0x3f00
/* 32E640 E00141B0 44810000 */ mtc1 $at, $f0
/* 32E644 E00141B4 3C01BCA3 */ lui $at, 0xbca3
/* 32E648 E00141B8 3421D70A */ ori $at, $at, 0xd70a
/* 32E64C E00141BC 44811000 */ mtc1 $at, $f2
/* 32E650 E00141C0 3C013851 */ lui $at, 0x3851
/* 32E654 E00141C4 3421B717 */ ori $at, $at, 0xb717
/* 32E658 E00141C8 44812000 */ mtc1 $at, $f4
/* 32E65C E00141CC 3C01C079 */ lui $at, 0xc079
/* 32E660 E00141D0 3421999A */ ori $at, $at, 0x999a
/* 32E664 E00141D4 44813000 */ mtc1 $at, $f6
/* 32E668 E00141D8 2402001E */ addiu $v0, $zero, 0x1e
/* 32E66C E00141DC A602FFBE */ sh $v0, -0x42($s0)
/* 32E670 E00141E0 460C4300 */ add.s $f12, $f8, $f12
/* 32E674 E00141E4 E600FFEC */ swc1 $f0, -0x14($s0)
/* 32E678 E00141E8 E602FFF0 */ swc1 $f2, -0x10($s0)
/* 32E67C E00141EC E604FFF4 */ swc1 $f4, -0xc($s0)
/* 32E680 E00141F0 0C08013C */ jal shim_clamp_angle
/* 32E684 E00141F4 E606FFE8 */ swc1 $f6, -0x18($s0)
/* 32E688 E00141F8 46000506 */ mov.s $f20, $f0
/* 32E68C E00141FC 0C080140 */ jal shim_sin_deg
/* 32E690 E0014200 4600A306 */ mov.s $f12, $f20
/* 32E694 E0014204 4600A306 */ mov.s $f12, $f20
/* 32E698 E0014208 0C080144 */ jal shim_cos_deg
/* 32E69C E001420C E600FFFC */ swc1 $f0, -4($s0)
/* 32E6A0 E0014210 E6000000 */ swc1 $f0, ($s0)
/* 32E6A4 E0014214 0254102A */ slt $v0, $s2, $s4
/* 32E6A8 E0014218 1440FFB2 */ bnez $v0, .LE00140E4
/* 32E6AC E001421C 2610004C */ addiu $s0, $s0, 0x4c
.LE0014220:
/* 32E6B0 E0014220 8FBF003C */ lw $ra, 0x3c($sp)
/* 32E6B4 E0014224 8FB40038 */ lw $s4, 0x38($sp)
/* 32E6B8 E0014228 8FB30034 */ lw $s3, 0x34($sp)
/* 32E6BC E001422C 8FB20030 */ lw $s2, 0x30($sp)
/* 32E6C0 E0014230 8FB1002C */ lw $s1, 0x2c($sp)
/* 32E6C4 E0014234 8FB00028 */ lw $s0, 0x28($sp)
/* 32E6C8 E0014238 D7BE0068 */ ldc1 $f30, 0x68($sp)
/* 32E6CC E001423C D7BC0060 */ ldc1 $f28, 0x60($sp)
/* 32E6D0 E0014240 D7BA0058 */ ldc1 $f26, 0x58($sp)
/* 32E6D4 E0014244 D7B80050 */ ldc1 $f24, 0x50($sp)
/* 32E6D8 E0014248 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 32E6DC E001424C D7B40040 */ ldc1 $f20, 0x40($sp)
/* 32E6E0 E0014250 03E00008 */ jr $ra
/* 32E6E4 E0014254 27BD0070 */ addiu $sp, $sp, 0x70

View File

@ -1,21 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel fx_10_render
/* 32E92C E001449C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 32E930 E00144A0 3C02E001 */ lui $v0, %hi(fx_10_appendGfx)
/* 32E934 E00144A4 244244E0 */ addiu $v0, $v0, %lo(fx_10_appendGfx)
/* 32E938 E00144A8 AFA2001C */ sw $v0, 0x1c($sp)
/* 32E93C E00144AC 24020028 */ addiu $v0, $zero, 0x28
/* 32E940 E00144B0 AFA40018 */ sw $a0, 0x18($sp)
/* 32E944 E00144B4 27A40010 */ addiu $a0, $sp, 0x10
/* 32E948 E00144B8 AFBF0020 */ sw $ra, 0x20($sp)
/* 32E94C E00144BC AFA00014 */ sw $zero, 0x14($sp)
/* 32E950 E00144C0 0C080120 */ jal shim_queue_render_task
/* 32E954 E00144C4 AFA20010 */ sw $v0, 0x10($sp)
/* 32E958 E00144C8 8C430000 */ lw $v1, ($v0)
/* 32E95C E00144CC 34630002 */ ori $v1, $v1, 2
/* 32E960 E00144D0 AC430000 */ sw $v1, ($v0)
/* 32E964 E00144D4 8FBF0020 */ lw $ra, 0x20($sp)
/* 32E968 E00144D8 03E00008 */ jr $ra
/* 32E96C E00144DC 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,154 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel fx_10_update
/* 32E6F0 E0014260 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 32E6F4 E0014264 AFB40020 */ sw $s4, 0x20($sp)
/* 32E6F8 E0014268 0080A02D */ daddu $s4, $a0, $zero
/* 32E6FC E001426C AFB3001C */ sw $s3, 0x1c($sp)
/* 32E700 E0014270 0000982D */ daddu $s3, $zero, $zero
/* 32E704 E0014274 AFB20018 */ sw $s2, 0x18($sp)
/* 32E708 E0014278 AFBF0024 */ sw $ra, 0x24($sp)
/* 32E70C E001427C AFB10014 */ sw $s1, 0x14($sp)
/* 32E710 E0014280 AFB00010 */ sw $s0, 0x10($sp)
/* 32E714 E0014284 F7B40028 */ sdc1 $f20, 0x28($sp)
/* 32E718 E0014288 8E820008 */ lw $v0, 8($s4)
/* 32E71C E001428C 8E91000C */ lw $s1, 0xc($s4)
/* 32E720 E0014290 18400075 */ blez $v0, .LE0014468
/* 32E724 E0014294 0260902D */ daddu $s2, $s3, $zero
/* 32E728 E0014298 3C01E001 */ lui $at, %hi(D_E0014790)
/* 32E72C E001429C D4344790 */ ldc1 $f20, %lo(D_E0014790)($at)
/* 32E730 E00142A0 26300008 */ addiu $s0, $s1, 8
.LE00142A4:
/* 32E734 E00142A4 8E220000 */ lw $v0, ($s1)
/* 32E738 E00142A8 5040006A */ beql $v0, $zero, .LE0014454
/* 32E73C E00142AC 26730001 */ addiu $s3, $s3, 1
/* 32E740 E00142B0 9602FFFE */ lhu $v0, -2($s0)
/* 32E744 E00142B4 2442FFFF */ addiu $v0, $v0, -1
/* 32E748 E00142B8 A602FFFE */ sh $v0, -2($s0)
/* 32E74C E00142BC 00021400 */ sll $v0, $v0, 0x10
/* 32E750 E00142C0 1C400003 */ bgtz $v0, .LE00142D0
/* 32E754 E00142C4 00000000 */ nop
/* 32E758 E00142C8 08005114 */ j .LE0014450
/* 32E75C E00142CC AE200000 */ sw $zero, ($s1)
.LE00142D0:
/* 32E760 E00142D0 C6000024 */ lwc1 $f0, 0x24($s0)
/* 32E764 E00142D4 3C014140 */ lui $at, 0x4140
/* 32E768 E00142D8 44816000 */ mtc1 $at, $f12
/* 32E76C E00142DC 0C08013C */ jal shim_clamp_angle
/* 32E770 E00142E0 460C0300 */ add.s $f12, $f0, $f12
/* 32E774 E00142E4 46000306 */ mov.s $f12, $f0
/* 32E778 E00142E8 0C080140 */ jal shim_sin_deg
/* 32E77C E00142EC E60C0024 */ swc1 $f12, 0x24($s0)
/* 32E780 E00142F0 46000021 */ cvt.d.s $f0, $f0
/* 32E784 E00142F4 46340002 */ mul.d $f0, $f0, $f20
/* 32E788 E00142F8 00000000 */ nop
/* 32E78C E00142FC C602001C */ lwc1 $f2, 0x1c($s0)
/* 32E790 E0014300 460010A1 */ cvt.d.s $f2, $f2
/* 32E794 E0014304 46201080 */ add.d $f2, $f2, $f0
/* 32E798 E0014308 C60C0024 */ lwc1 $f12, 0x24($s0)
/* 32E79C E001430C 462010A0 */ cvt.s.d $f2, $f2
/* 32E7A0 E0014310 0C080144 */ jal shim_cos_deg
/* 32E7A4 E0014314 E6020010 */ swc1 $f2, 0x10($s0)
/* 32E7A8 E0014318 46000021 */ cvt.d.s $f0, $f0
/* 32E7AC E001431C 46340002 */ mul.d $f0, $f0, $f20
/* 32E7B0 E0014320 00000000 */ nop
/* 32E7B4 E0014324 C6040028 */ lwc1 $f4, 0x28($s0)
/* 32E7B8 E0014328 3C01E001 */ lui $at, %hi(D_E0014798)
/* 32E7BC E001432C D4224798 */ ldc1 $f2, %lo(D_E0014798)($at)
/* 32E7C0 E0014330 46002121 */ cvt.d.s $f4, $f4
/* 32E7C4 E0014334 46222102 */ mul.d $f4, $f4, $f2
/* 32E7C8 E0014338 00000000 */ nop
/* 32E7CC E001433C C608001C */ lwc1 $f8, 0x1c($s0)
/* 32E7D0 E0014340 3C01401E */ lui $at, 0x401e
/* 32E7D4 E0014344 44817800 */ mtc1 $at, $f15
/* 32E7D8 E0014348 44807000 */ mtc1 $zero, $f14
/* 32E7DC E001434C 46004221 */ cvt.d.s $f8, $f8
/* 32E7E0 E0014350 46287381 */ sub.d $f14, $f14, $f8
/* 32E7E4 E0014354 3C01E001 */ lui $at, %hi(D_E00147A0)
/* 32E7E8 E0014358 D42247A0 */ ldc1 $f2, %lo(D_E00147A0)($at)
/* 32E7EC E001435C 46227382 */ mul.d $f14, $f14, $f2
/* 32E7F0 E0014360 00000000 */ nop
/* 32E7F4 E0014364 C60C0020 */ lwc1 $f12, 0x20($s0)
/* 32E7F8 E0014368 3C01E001 */ lui $at, %hi(D_E00147A8)
/* 32E7FC E001436C D42247A8 */ ldc1 $f2, %lo(D_E00147A8)($at)
/* 32E800 E0014370 46006321 */ cvt.d.s $f12, $f12
/* 32E804 E0014374 46226302 */ mul.d $f12, $f12, $f2
/* 32E808 E0014378 00000000 */ nop
/* 32E80C E001437C C612003C */ lwc1 $f18, 0x3c($s0)
/* 32E810 E0014380 46202120 */ cvt.s.d $f4, $f4
/* 32E814 E0014384 46122482 */ mul.s $f18, $f4, $f18
/* 32E818 E0014388 00000000 */ nop
/* 32E81C E001438C C6020040 */ lwc1 $f2, 0x40($s0)
/* 32E820 E0014390 24120001 */ addiu $s2, $zero, 1
/* 32E824 E0014394 E6040028 */ swc1 $f4, 0x28($s0)
/* 32E828 E0014398 46002406 */ mov.s $f16, $f4
/* 32E82C E001439C 46028402 */ mul.s $f16, $f16, $f2
/* 32E830 E00143A0 00000000 */ nop
/* 32E834 E00143A4 C60A0030 */ lwc1 $f10, 0x30($s0)
/* 32E838 E00143A8 C606002C */ lwc1 $f6, 0x2c($s0)
/* 32E83C E00143AC C6020034 */ lwc1 $f2, 0x34($s0)
/* 32E840 E00143B0 8602FFFE */ lh $v0, -2($s0)
/* 32E844 E00143B4 46025280 */ add.s $f10, $f10, $f2
/* 32E848 E00143B8 C6020020 */ lwc1 $f2, 0x20($s0)
/* 32E84C E00143BC 2842000A */ slti $v0, $v0, 0xa
/* 32E850 E00143C0 460010A1 */ cvt.d.s $f2, $f2
/* 32E854 E00143C4 46201080 */ add.d $f2, $f2, $f0
/* 32E858 E00143C8 C6040008 */ lwc1 $f4, 8($s0)
/* 32E85C E00143CC C600000C */ lwc1 $f0, 0xc($s0)
/* 32E860 E00143D0 462E4200 */ add.d $f8, $f8, $f14
/* 32E864 E00143D4 46206320 */ cvt.s.d $f12, $f12
/* 32E868 E00143D8 E60A0030 */ swc1 $f10, 0x30($s0)
/* 32E86C E00143DC E60C0020 */ swc1 $f12, 0x20($s0)
/* 32E870 E00143E0 460A3180 */ add.s $f6, $f6, $f10
/* 32E874 E00143E4 462010A0 */ cvt.s.d $f2, $f2
/* 32E878 E00143E8 46204220 */ cvt.s.d $f8, $f8
/* 32E87C E00143EC 46100000 */ add.s $f0, $f0, $f16
/* 32E880 E00143F0 E6020014 */ swc1 $f2, 0x14($s0)
/* 32E884 E00143F4 C6020004 */ lwc1 $f2, 4($s0)
/* 32E888 E00143F8 46062100 */ add.s $f4, $f4, $f6
/* 32E88C E00143FC E608001C */ swc1 $f8, 0x1c($s0)
/* 32E890 E0014400 E606002C */ swc1 $f6, 0x2c($s0)
/* 32E894 E0014404 46121080 */ add.s $f2, $f2, $f18
/* 32E898 E0014408 E600000C */ swc1 $f0, 0xc($s0)
/* 32E89C E001440C E6040008 */ swc1 $f4, 8($s0)
/* 32E8A0 E0014410 10400008 */ beqz $v0, .LE0014434
/* 32E8A4 E0014414 E6020004 */ swc1 $f2, 4($s0)
/* 32E8A8 E0014418 3C01E001 */ lui $at, %hi(D_E00147B0)
/* 32E8AC E001441C D42247B0 */ ldc1 $f2, %lo(D_E00147B0)($at)
/* 32E8B0 E0014420 46006021 */ cvt.d.s $f0, $f12
/* 32E8B4 E0014424 46220002 */ mul.d $f0, $f0, $f2
/* 32E8B8 E0014428 00000000 */ nop
/* 32E8BC E001442C 46200020 */ cvt.s.d $f0, $f0
/* 32E8C0 E0014430 E6000020 */ swc1 $f0, 0x20($s0)
.LE0014434:
/* 32E8C4 E0014434 8602FFFE */ lh $v0, -2($s0)
/* 32E8C8 E0014438 2842000F */ slti $v0, $v0, 0xf
/* 32E8CC E001443C 50400005 */ beql $v0, $zero, .LE0014454
/* 32E8D0 E0014440 26730001 */ addiu $s3, $s3, 1
/* 32E8D4 E0014444 92020000 */ lbu $v0, ($s0)
/* 32E8D8 E0014448 2442FFF0 */ addiu $v0, $v0, -0x10
/* 32E8DC E001444C A2020000 */ sb $v0, ($s0)
.LE0014450:
/* 32E8E0 E0014450 26730001 */ addiu $s3, $s3, 1
.LE0014454:
/* 32E8E4 E0014454 2610004C */ addiu $s0, $s0, 0x4c
/* 32E8E8 E0014458 8E820008 */ lw $v0, 8($s4)
/* 32E8EC E001445C 0262102A */ slt $v0, $s3, $v0
/* 32E8F0 E0014460 1440FF90 */ bnez $v0, .LE00142A4
/* 32E8F4 E0014464 2631004C */ addiu $s1, $s1, 0x4c
.LE0014468:
/* 32E8F8 E0014468 16400003 */ bnez $s2, .LE0014478
/* 32E8FC E001446C 00000000 */ nop
/* 32E900 E0014470 0C080128 */ jal shim_remove_effect
/* 32E904 E0014474 0280202D */ daddu $a0, $s4, $zero
.LE0014478:
/* 32E908 E0014478 8FBF0024 */ lw $ra, 0x24($sp)
/* 32E90C E001447C 8FB40020 */ lw $s4, 0x20($sp)
/* 32E910 E0014480 8FB3001C */ lw $s3, 0x1c($sp)
/* 32E914 E0014484 8FB20018 */ lw $s2, 0x18($sp)
/* 32E918 E0014488 8FB10014 */ lw $s1, 0x14($sp)
/* 32E91C E001448C 8FB00010 */ lw $s0, 0x10($sp)
/* 32E920 E0014490 D7B40028 */ ldc1 $f20, 0x28($sp)
/* 32E924 E0014494 03E00008 */ jr $ra
/* 32E928 E0014498 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -757,7 +757,7 @@ glabel appendGfx_entity_model
/* B837C 80121C7C 0000202D */ daddu $a0, $zero, $zero
/* B8380 80121C80 27A50090 */ addiu $a1, $sp, 0x90
/* B8384 80121C84 0080302D */ daddu $a2, $a0, $zero
/* B8388 80121C88 0C04EBDC */ jal func_8013AF70
/* B8388 80121C88 0C04EBDC */ jal fold_appendGfx_component
/* B838C 80121C8C 0200382D */ daddu $a3, $s0, $zero
.L80121C90:
/* B8390 80121C90 3C03D838 */ lui $v1, 0xd838

View File

@ -729,7 +729,7 @@ glabel draw_entity_model_E
/* B9410 80122D10 0000202D */ daddu $a0, $zero, $zero
/* B9414 80122D14 27A50090 */ addiu $a1, $sp, 0x90
/* B9418 80122D18 0080302D */ daddu $a2, $a0, $zero
/* B941C 80122D1C 0C04EBDC */ jal func_8013AF70
/* B941C 80122D1C 0C04EBDC */ jal fold_appendGfx_component
/* B9420 80122D20 0200382D */ daddu $a3, $s0, $zero
.L80122D24:
/* B9424 80122D24 3C03D838 */ lui $v1, 0xd838

View File

@ -360,7 +360,7 @@ glabel render_hud_element
/* D9848 80143148 8FC40000 */ lw $a0, ($fp)
/* D984C 8014314C 00A0382D */ daddu $a3, $a1, $zero
.L80143150:
/* D9850 80143150 0C04EAA7 */ jal func_8013AA9C
/* D9850 80143150 0C04EAA7 */ jal fold_update
/* D9854 80143154 00000000 */ nop
/* D9858 80143158 8EE20010 */ lw $v0, 0x10($s7)
/* D985C 8014315C 8FAE02B8 */ lw $t6, 0x2b8($sp)
@ -397,7 +397,7 @@ glabel render_hud_element
/* D98D0 801431D0 27A502A0 */ addiu $a1, $sp, 0x2a0
.L801431D4:
/* D98D4 801431D4 24060040 */ addiu $a2, $zero, 0x40
/* D98D8 801431D8 0C04EBDC */ jal func_8013AF70
/* D98D8 801431D8 0C04EBDC */ jal fold_appendGfx_component
/* D98DC 801431DC 27A70060 */ addiu $a3, $sp, 0x60
/* D98E0 801431E0 08050D8F */ j .L8014363C
/* D98E4 801431E4 3C03D838 */ lui $v1, 0xd838

View File

@ -47,7 +47,7 @@ glabel func_802DDEE4
/* 101074 802DDF84 8FA80060 */ lw $t0, 0x60($sp)
/* 101078 802DDF88 02A0282D */ daddu $a1, $s5, $zero
/* 10107C 802DDF8C AFBE0018 */ sw $fp, 0x18($sp)
/* 101080 802DDF90 0C04EAA7 */ jal func_8013AA9C
/* 101080 802DDF90 0C04EAA7 */ jal fold_update
/* 101084 802DDF94 AFA80014 */ sw $t0, 0x14($sp)
/* 101088 802DDF98 12A00004 */ beqz $s5, .L802DDFAC
/* 10108C 802DDF9C 00000000 */ nop

View File

@ -47,7 +47,7 @@ glabel func_802DE780
/* 101910 802DE820 8FA80060 */ lw $t0, 0x60($sp)
/* 101914 802DE824 02A0282D */ daddu $a1, $s5, $zero
/* 101918 802DE828 AFBE0018 */ sw $fp, 0x18($sp)
/* 10191C 802DE82C 0C04EAA7 */ jal func_8013AA9C
/* 10191C 802DE82C 0C04EAA7 */ jal fold_update
/* 101920 802DE830 AFA80014 */ sw $t0, 0x14($sp)
/* 101924 802DE834 12A00004 */ beqz $s5, .L802DE848
/* 101928 802DE838 00000000 */ nop

View File

@ -236,7 +236,7 @@ glabel spr_appendGfx_component
/* FFD54 802DCC64 A7A300AC */ sh $v1, 0xac($sp)
/* FFD58 802DCC68 A7B200AE */ sh $s2, 0xae($sp)
/* FFD5C 802DCC6C A3B500B0 */ sb $s5, 0xb0($sp)
/* FFD60 802DCC70 0C04EBDC */ jal func_8013AF70
/* FFD60 802DCC70 0C04EBDC */ jal fold_appendGfx_component
/* FFD64 802DCC74 AFA200A0 */ sw $v0, 0xa0($sp)
/* FFD68 802DCC78 24030001 */ addiu $v1, $zero, 1
/* FFD6C 802DCC7C 14430006 */ bne $v0, $v1, .L802DCC98

View File

@ -399,7 +399,7 @@ glabel dro_02_func_8024190C_96AACC
/* 96B0DC 80241F1C 0040202D */ daddu $a0, $v0, $zero
/* 96B0E0 80241F20 27A50098 */ addiu $a1, $sp, 0x98
/* 96B0E4 80241F24 24060030 */ addiu $a2, $zero, 0x30
/* 96B0E8 80241F28 0C04EBDC */ jal func_8013AF70
/* 96B0E8 80241F28 0C04EBDC */ jal fold_appendGfx_component
/* 96B0EC 80241F2C 27A70018 */ addiu $a3, $sp, 0x18
/* 96B0F0 80241F30 3C05D838 */ lui $a1, 0xd838
/* 96B0F4 80241F34 8FC30000 */ lw $v1, ($fp)
@ -481,7 +481,7 @@ glabel dro_02_func_8024190C_96AACC
/* 96B218 80242058 27B60098 */ addiu $s6, $sp, 0x98
/* 96B21C 8024205C 02C0282D */ daddu $a1, $s6, $zero
/* 96B220 80242060 24060030 */ addiu $a2, $zero, 0x30
/* 96B224 80242064 0C04EBDC */ jal func_8013AF70
/* 96B224 80242064 0C04EBDC */ jal fold_appendGfx_component
/* 96B228 80242068 27A70018 */ addiu $a3, $sp, 0x18
/* 96B22C 8024206C 3C05F4AC */ lui $a1, 0xf4ac
/* 96B230 80242070 8EA40000 */ lw $a0, ($s5)
@ -490,7 +490,7 @@ glabel dro_02_func_8024190C_96AACC
/* 96B23C 8024207C 0040202D */ daddu $a0, $v0, $zero
/* 96B240 80242080 02C0282D */ daddu $a1, $s6, $zero
/* 96B244 80242084 24060030 */ addiu $a2, $zero, 0x30
/* 96B248 80242088 0C04EBDC */ jal func_8013AF70
/* 96B248 80242088 0C04EBDC */ jal fold_appendGfx_component
/* 96B24C 8024208C 27A70018 */ addiu $a3, $sp, 0x18
/* 96B250 80242090 0260202D */ daddu $a0, $s3, $zero
/* 96B254 80242094 8FC20000 */ lw $v0, ($fp)
@ -565,7 +565,7 @@ glabel dro_02_func_8024190C_96AACC
/* 96B368 802421A8 0040202D */ daddu $a0, $v0, $zero
/* 96B36C 802421AC 02C0282D */ daddu $a1, $s6, $zero
/* 96B370 802421B0 24060010 */ addiu $a2, $zero, 0x10
/* 96B374 802421B4 0C04EBDC */ jal func_8013AF70
/* 96B374 802421B4 0C04EBDC */ jal fold_appendGfx_component
/* 96B378 802421B8 27A70018 */ addiu $a3, $sp, 0x18
/* 96B37C 802421BC 8FC30000 */ lw $v1, ($fp)
/* 96B380 802421C0 0060202D */ daddu $a0, $v1, $zero

View File

@ -43,7 +43,7 @@ glabel func_80240020_DF6A20
/* DF6AB4 802400B4 00C0382D */ daddu $a3, $a2, $zero
/* DF6AB8 802400B8 00C0A82D */ daddu $s5, $a2, $zero
/* DF6ABC 802400BC AFB50010 */ sw $s5, 0x10($sp)
/* DF6AC0 802400C0 0C04EAA7 */ jal func_8013AA9C
/* DF6AC0 802400C0 0C04EAA7 */ jal fold_update
/* DF6AC4 802400C4 AFA00018 */ sw $zero, 0x18($sp)
/* DF6AC8 802400C8 AFB10010 */ sw $s1, 0x10($sp)
/* DF6ACC 802400CC 8E040004 */ lw $a0, 4($s0)
@ -127,7 +127,7 @@ glabel func_80240020_DF6A20
/* DF6C04 80240204 46200007 */ neg.d $f0, $f0
/* DF6C08 80240208 4620010D */ trunc.w.d $f4, $f0
/* DF6C0C 8024020C 44022000 */ mfc1 $v0, $f4
/* DF6C10 80240210 0C04EBDC */ jal func_8013AF70
/* DF6C10 80240210 0C04EBDC */ jal fold_appendGfx_component
/* DF6C14 80240214 A7A2002C */ sh $v0, 0x2c($sp)
/* DF6C18 80240218 3C04D838 */ lui $a0, 0xd838
/* DF6C1C 8024021C 8E220000 */ lw $v0, ($s1)

View File

@ -80,7 +80,7 @@ glabel func_80240270_DF6C70
/* DF6D84 80240384 00C0382D */ daddu $a3, $a2, $zero
/* DF6D88 80240388 00C0102D */ daddu $v0, $a2, $zero
/* DF6D8C 8024038C AFA20010 */ sw $v0, 0x10($sp)
/* DF6D90 80240390 0C04EAA7 */ jal func_8013AA9C
/* DF6D90 80240390 0C04EAA7 */ jal fold_update
/* DF6D94 80240394 AFA00018 */ sw $zero, 0x18($sp)
/* DF6D98 80240398 AFB50010 */ sw $s5, 0x10($sp)
/* DF6D9C 8024039C 8E040004 */ lw $a0, 4($s0)
@ -165,7 +165,7 @@ glabel func_80240270_DF6C70
/* DF6ED8 802404D8 46200007 */ neg.d $f0, $f0
/* DF6EDC 802404DC 4620010D */ trunc.w.d $f4, $f0
/* DF6EE0 802404E0 44022000 */ mfc1 $v0, $f4
/* DF6EE4 802404E4 0C04EBDC */ jal func_8013AF70
/* DF6EE4 802404E4 0C04EBDC */ jal fold_appendGfx_component
/* DF6EE8 802404E8 A7A2002C */ sh $v0, 0x2c($sp)
/* DF6EEC 802404EC 3C04D838 */ lui $a0, 0xd838
/* DF6EF0 802404F0 8E220000 */ lw $v0, ($s1)

View File

@ -45,7 +45,7 @@ glabel func_80240540_DF6F40
/* DF6FDC 802405DC 00C0382D */ daddu $a3, $a2, $zero
/* DF6FE0 802405E0 00C0A82D */ daddu $s5, $a2, $zero
/* DF6FE4 802405E4 AFB50010 */ sw $s5, 0x10($sp)
/* DF6FE8 802405E8 0C04EAA7 */ jal func_8013AA9C
/* DF6FE8 802405E8 0C04EAA7 */ jal fold_update
/* DF6FEC 802405EC AFA00018 */ sw $zero, 0x18($sp)
/* DF6FF0 802405F0 8E42001C */ lw $v0, 0x1c($s2)
/* DF6FF4 802405F4 3C053E4C */ lui $a1, 0x3e4c
@ -163,7 +163,7 @@ glabel func_80240540_DF6F40
/* DF71AC 802407AC 46200007 */ neg.d $f0, $f0
/* DF71B0 802407B0 4620010D */ trunc.w.d $f4, $f0
/* DF71B4 802407B4 44022000 */ mfc1 $v0, $f4
/* DF71B8 802407B8 0C04EBDC */ jal func_8013AF70
/* DF71B8 802407B8 0C04EBDC */ jal fold_appendGfx_component
/* DF71BC 802407BC A7A2002C */ sh $v0, 0x2c($sp)
/* DF71C0 802407C0 3C04D838 */ lui $a0, 0xd838
/* DF71C4 802407C4 8E020000 */ lw $v0, ($s0)

View File

@ -45,7 +45,7 @@ glabel func_8024081C_DF721C
/* DF72B8 802408B8 00C0382D */ daddu $a3, $a2, $zero
/* DF72BC 802408BC 00C0A82D */ daddu $s5, $a2, $zero
/* DF72C0 802408C0 AFB50010 */ sw $s5, 0x10($sp)
/* DF72C4 802408C4 0C04EAA7 */ jal func_8013AA9C
/* DF72C4 802408C4 0C04EAA7 */ jal fold_update
/* DF72C8 802408C8 AFA00018 */ sw $zero, 0x18($sp)
/* DF72CC 802408CC 8E42001C */ lw $v0, 0x1c($s2)
/* DF72D0 802408D0 3C05C296 */ lui $a1, 0xc296
@ -159,7 +159,7 @@ glabel func_8024081C_DF721C
/* DF7478 80240A78 46200007 */ neg.d $f0, $f0
/* DF747C 80240A7C 4620010D */ trunc.w.d $f4, $f0
/* DF7480 80240A80 44022000 */ mfc1 $v0, $f4
/* DF7484 80240A84 0C04EBDC */ jal func_8013AF70
/* DF7484 80240A84 0C04EBDC */ jal fold_appendGfx_component
/* DF7488 80240A88 A7A2002C */ sh $v0, 0x2c($sp)
/* DF748C 80240A8C 3C04D838 */ lui $a0, 0xd838
/* DF7490 80240A90 8E020000 */ lw $v0, ($s0)

View File

@ -84,7 +84,7 @@ glabel func_80240AE8_DF74E8
/* DF761C 80240C1C 0080382D */ daddu $a3, $a0, $zero
/* DF7620 80240C20 AFA00010 */ sw $zero, 0x10($sp)
/* DF7624 80240C24 AFA00014 */ sw $zero, 0x14($sp)
/* DF7628 80240C28 0C04EAA7 */ jal func_8013AA9C
/* DF7628 80240C28 0C04EAA7 */ jal fold_update
/* DF762C 80240C2C AFA00018 */ sw $zero, 0x18($sp)
/* DF7630 80240C30 3C020001 */ lui $v0, 1
/* DF7634 80240C34 08090326 */ j .L80240C98
@ -112,7 +112,7 @@ glabel func_80240AE8_DF74E8
/* DF7684 80240C84 00C0382D */ daddu $a3, $a2, $zero
/* DF7688 80240C88 00C0102D */ daddu $v0, $a2, $zero
/* DF768C 80240C8C AFA20010 */ sw $v0, 0x10($sp)
/* DF7690 80240C90 0C04EAA7 */ jal func_8013AA9C
/* DF7690 80240C90 0C04EAA7 */ jal fold_update
/* DF7694 80240C94 AFA00018 */ sw $zero, 0x18($sp)
.L80240C98:
/* DF7698 80240C98 AFB50010 */ sw $s5, 0x10($sp)
@ -223,7 +223,7 @@ glabel func_80240AE8_DF74E8
/* DF783C 80240E3C 46200007 */ neg.d $f0, $f0
/* DF7840 80240E40 4620010D */ trunc.w.d $f4, $f0
/* DF7844 80240E44 44022000 */ mfc1 $v0, $f4
/* DF7848 80240E48 0C04EBDC */ jal func_8013AF70
/* DF7848 80240E48 0C04EBDC */ jal fold_appendGfx_component
/* DF784C 80240E4C A7A2002C */ sh $v0, 0x2c($sp)
/* DF7850 80240E50 3C04D838 */ lui $a0, 0xd838
/* DF7854 80240E54 8E420000 */ lw $v0, ($s2)

View File

@ -23,7 +23,7 @@ glabel func_80240FEC_DF79EC
/* DF7A34 80241034 4680B5A0 */ cvt.s.w $f22, $f22
/* DF7A38 80241038 AFA00010 */ sw $zero, 0x10($sp)
/* DF7A3C 8024103C AFA00014 */ sw $zero, 0x14($sp)
/* DF7A40 80241040 0C04EAA7 */ jal func_8013AA9C
/* DF7A40 80241040 0C04EAA7 */ jal fold_update
/* DF7A44 80241044 AFA00018 */ sw $zero, 0x18($sp)
/* DF7A48 80241048 27B40048 */ addiu $s4, $sp, 0x48
/* DF7A4C 8024104C 0280202D */ daddu $a0, $s4, $zero
@ -100,7 +100,7 @@ glabel func_80240FEC_DF79EC
/* DF7B68 80241168 46201087 */ neg.d $f2, $f2
/* DF7B6C 8024116C 4620110D */ trunc.w.d $f4, $f2
/* DF7B70 80241170 44022000 */ mfc1 $v0, $f4
/* DF7B74 80241174 0C04EBDC */ jal func_8013AF70
/* DF7B74 80241174 0C04EBDC */ jal fold_appendGfx_component
/* DF7B78 80241178 A7A2002C */ sh $v0, 0x2c($sp)
/* DF7B7C 8024117C 3C04D838 */ lui $a0, 0xd838
/* DF7B80 80241180 8E620000 */ lw $v0, ($s3)

View File

@ -35,7 +35,7 @@ glabel func_80241294_DF7C94
/* DF7D0C 8024130C 00C0382D */ daddu $a3, $a2, $zero
/* DF7D10 80241310 00C0A82D */ daddu $s5, $a2, $zero
/* DF7D14 80241314 AFB50010 */ sw $s5, 0x10($sp)
/* DF7D18 80241318 0C04EAA7 */ jal func_8013AA9C
/* DF7D18 80241318 0C04EAA7 */ jal fold_update
/* DF7D1C 8024131C AFA00018 */ sw $zero, 0x18($sp)
/* DF7D20 80241320 27A20038 */ addiu $v0, $sp, 0x38
/* DF7D24 80241324 AFA20010 */ sw $v0, 0x10($sp)
@ -120,7 +120,7 @@ glabel func_80241294_DF7C94
/* DF7E60 80241460 46200007 */ neg.d $f0, $f0
/* DF7E64 80241464 4620008D */ trunc.w.d $f2, $f0
/* DF7E68 80241468 44021000 */ mfc1 $v0, $f2
/* DF7E6C 8024146C 0C04EBDC */ jal func_8013AF70
/* DF7E6C 8024146C 0C04EBDC */ jal fold_appendGfx_component
/* DF7E70 80241470 A7A2002C */ sh $v0, 0x2c($sp)
/* DF7E74 80241474 3C04D838 */ lui $a0, 0xd838
/* DF7E78 80241478 8E220000 */ lw $v0, ($s1)

View File

@ -38,7 +38,7 @@ glabel func_802414CC_DF7ECC
/* DF7F50 80241550 00C0382D */ daddu $a3, $a2, $zero
/* DF7F54 80241554 00C0A82D */ daddu $s5, $a2, $zero
/* DF7F58 80241558 AFB50010 */ sw $s5, 0x10($sp)
/* DF7F5C 8024155C 0C04EAA7 */ jal func_8013AA9C
/* DF7F5C 8024155C 0C04EAA7 */ jal fold_update
/* DF7F60 80241560 AFA00018 */ sw $zero, 0x18($sp)
/* DF7F64 80241564 3C013F80 */ lui $at, 0x3f80
/* DF7F68 80241568 4481D000 */ mtc1 $at, $f26
@ -143,7 +143,7 @@ glabel func_802414CC_DF7ECC
/* DF80F4 802416F4 46200007 */ neg.d $f0, $f0
/* DF80F8 802416F8 4620008D */ trunc.w.d $f2, $f0
/* DF80FC 802416FC 44021000 */ mfc1 $v0, $f2
/* DF8100 80241700 0C04EBDC */ jal func_8013AF70
/* DF8100 80241700 0C04EBDC */ jal fold_appendGfx_component
/* DF8104 80241704 A7A2002C */ sh $v0, 0x2c($sp)
/* DF8108 80241708 3C04D838 */ lui $a0, 0xd838
/* DF810C 8024170C 8E020000 */ lw $v0, ($s0)

View File

@ -37,7 +37,7 @@ glabel func_80241768_DF8168
/* DF81E8 802417E8 00C0382D */ daddu $a3, $a2, $zero
/* DF81EC 802417EC 00C0A82D */ daddu $s5, $a2, $zero
/* DF81F0 802417F0 AFB50010 */ sw $s5, 0x10($sp)
/* DF81F4 802417F4 0C04EAA7 */ jal func_8013AA9C
/* DF81F4 802417F4 0C04EAA7 */ jal fold_update
/* DF81F8 802417F8 AFA00018 */ sw $zero, 0x18($sp)
/* DF81FC 802417FC 8E220050 */ lw $v0, 0x50($s1)
/* DF8200 80241800 4405B000 */ mfc1 $a1, $f22
@ -141,7 +141,7 @@ glabel func_80241768_DF8168
/* DF8388 80241988 46200007 */ neg.d $f0, $f0
/* DF838C 8024198C 4620008D */ trunc.w.d $f2, $f0
/* DF8390 80241990 44021000 */ mfc1 $v0, $f2
/* DF8394 80241994 0C04EBDC */ jal func_8013AF70
/* DF8394 80241994 0C04EBDC */ jal fold_appendGfx_component
/* DF8398 80241998 A7A2002C */ sh $v0, 0x2c($sp)
/* DF839C 8024199C 3C04D838 */ lui $a0, 0xd838
/* DF83A0 802419A0 8E020000 */ lw $v0, ($s0)

View File

@ -43,7 +43,7 @@ glabel func_80240030_E05390
/* E05424 802400C4 00C0382D */ daddu $a3, $a2, $zero
/* E05428 802400C8 00C0A82D */ daddu $s5, $a2, $zero
/* E0542C 802400CC AFB50010 */ sw $s5, 0x10($sp)
/* E05430 802400D0 0C04EAA7 */ jal func_8013AA9C
/* E05430 802400D0 0C04EAA7 */ jal fold_update
/* E05434 802400D4 AFA00018 */ sw $zero, 0x18($sp)
/* E05438 802400D8 AFB10010 */ sw $s1, 0x10($sp)
/* E0543C 802400DC 8E040004 */ lw $a0, 4($s0)
@ -127,7 +127,7 @@ glabel func_80240030_E05390
/* E05574 80240214 46200007 */ neg.d $f0, $f0
/* E05578 80240218 4620010D */ trunc.w.d $f4, $f0
/* E0557C 8024021C 44022000 */ mfc1 $v0, $f4
/* E05580 80240220 0C04EBDC */ jal func_8013AF70
/* E05580 80240220 0C04EBDC */ jal fold_appendGfx_component
/* E05584 80240224 A7A2002C */ sh $v0, 0x2c($sp)
/* E05588 80240228 3C04D838 */ lui $a0, 0xd838
/* E0558C 8024022C 8E220000 */ lw $v0, ($s1)

View File

@ -80,7 +80,7 @@ glabel func_80240280_E055E0
/* E056F4 80240394 00C0382D */ daddu $a3, $a2, $zero
/* E056F8 80240398 00C0102D */ daddu $v0, $a2, $zero
/* E056FC 8024039C AFA20010 */ sw $v0, 0x10($sp)
/* E05700 802403A0 0C04EAA7 */ jal func_8013AA9C
/* E05700 802403A0 0C04EAA7 */ jal fold_update
/* E05704 802403A4 AFA00018 */ sw $zero, 0x18($sp)
/* E05708 802403A8 AFB50010 */ sw $s5, 0x10($sp)
/* E0570C 802403AC 8E040004 */ lw $a0, 4($s0)
@ -165,7 +165,7 @@ glabel func_80240280_E055E0
/* E05848 802404E8 46200007 */ neg.d $f0, $f0
/* E0584C 802404EC 4620010D */ trunc.w.d $f4, $f0
/* E05850 802404F0 44022000 */ mfc1 $v0, $f4
/* E05854 802404F4 0C04EBDC */ jal func_8013AF70
/* E05854 802404F4 0C04EBDC */ jal fold_appendGfx_component
/* E05858 802404F8 A7A2002C */ sh $v0, 0x2c($sp)
/* E0585C 802404FC 3C04D838 */ lui $a0, 0xd838
/* E05860 80240500 8E220000 */ lw $v0, ($s1)

View File

@ -45,7 +45,7 @@ glabel func_80240550_E058B0
/* E0594C 802405EC 00C0382D */ daddu $a3, $a2, $zero
/* E05950 802405F0 00C0A82D */ daddu $s5, $a2, $zero
/* E05954 802405F4 AFB50010 */ sw $s5, 0x10($sp)
/* E05958 802405F8 0C04EAA7 */ jal func_8013AA9C
/* E05958 802405F8 0C04EAA7 */ jal fold_update
/* E0595C 802405FC AFA00018 */ sw $zero, 0x18($sp)
/* E05960 80240600 8E42001C */ lw $v0, 0x1c($s2)
/* E05964 80240604 3C053E4C */ lui $a1, 0x3e4c
@ -163,7 +163,7 @@ glabel func_80240550_E058B0
/* E05B1C 802407BC 46200007 */ neg.d $f0, $f0
/* E05B20 802407C0 4620010D */ trunc.w.d $f4, $f0
/* E05B24 802407C4 44022000 */ mfc1 $v0, $f4
/* E05B28 802407C8 0C04EBDC */ jal func_8013AF70
/* E05B28 802407C8 0C04EBDC */ jal fold_appendGfx_component
/* E05B2C 802407CC A7A2002C */ sh $v0, 0x2c($sp)
/* E05B30 802407D0 3C04D838 */ lui $a0, 0xd838
/* E05B34 802407D4 8E020000 */ lw $v0, ($s0)

View File

@ -45,7 +45,7 @@ glabel func_8024082C_E05B8C
/* E05C28 802408C8 00C0382D */ daddu $a3, $a2, $zero
/* E05C2C 802408CC 00C0A82D */ daddu $s5, $a2, $zero
/* E05C30 802408D0 AFB50010 */ sw $s5, 0x10($sp)
/* E05C34 802408D4 0C04EAA7 */ jal func_8013AA9C
/* E05C34 802408D4 0C04EAA7 */ jal fold_update
/* E05C38 802408D8 AFA00018 */ sw $zero, 0x18($sp)
/* E05C3C 802408DC 8E42001C */ lw $v0, 0x1c($s2)
/* E05C40 802408E0 3C05C296 */ lui $a1, 0xc296
@ -159,7 +159,7 @@ glabel func_8024082C_E05B8C
/* E05DE8 80240A88 46200007 */ neg.d $f0, $f0
/* E05DEC 80240A8C 4620010D */ trunc.w.d $f4, $f0
/* E05DF0 80240A90 44022000 */ mfc1 $v0, $f4
/* E05DF4 80240A94 0C04EBDC */ jal func_8013AF70
/* E05DF4 80240A94 0C04EBDC */ jal fold_appendGfx_component
/* E05DF8 80240A98 A7A2002C */ sh $v0, 0x2c($sp)
/* E05DFC 80240A9C 3C04D838 */ lui $a0, 0xd838
/* E05E00 80240AA0 8E020000 */ lw $v0, ($s0)

View File

@ -84,7 +84,7 @@ glabel func_80240AF8_E05E58
/* E05F8C 80240C2C 0080382D */ daddu $a3, $a0, $zero
/* E05F90 80240C30 AFA00010 */ sw $zero, 0x10($sp)
/* E05F94 80240C34 AFA00014 */ sw $zero, 0x14($sp)
/* E05F98 80240C38 0C04EAA7 */ jal func_8013AA9C
/* E05F98 80240C38 0C04EAA7 */ jal fold_update
/* E05F9C 80240C3C AFA00018 */ sw $zero, 0x18($sp)
/* E05FA0 80240C40 3C020001 */ lui $v0, 1
/* E05FA4 80240C44 0809032A */ j .L80240CA8
@ -112,7 +112,7 @@ glabel func_80240AF8_E05E58
/* E05FF4 80240C94 00C0382D */ daddu $a3, $a2, $zero
/* E05FF8 80240C98 00C0102D */ daddu $v0, $a2, $zero
/* E05FFC 80240C9C AFA20010 */ sw $v0, 0x10($sp)
/* E06000 80240CA0 0C04EAA7 */ jal func_8013AA9C
/* E06000 80240CA0 0C04EAA7 */ jal fold_update
/* E06004 80240CA4 AFA00018 */ sw $zero, 0x18($sp)
.L80240CA8:
/* E06008 80240CA8 AFB50010 */ sw $s5, 0x10($sp)
@ -223,7 +223,7 @@ glabel func_80240AF8_E05E58
/* E061AC 80240E4C 46200007 */ neg.d $f0, $f0
/* E061B0 80240E50 4620010D */ trunc.w.d $f4, $f0
/* E061B4 80240E54 44022000 */ mfc1 $v0, $f4
/* E061B8 80240E58 0C04EBDC */ jal func_8013AF70
/* E061B8 80240E58 0C04EBDC */ jal fold_appendGfx_component
/* E061BC 80240E5C A7A2002C */ sh $v0, 0x2c($sp)
/* E061C0 80240E60 3C04D838 */ lui $a0, 0xd838
/* E061C4 80240E64 8E420000 */ lw $v0, ($s2)

View File

@ -23,7 +23,7 @@ glabel func_80240FFC_E0635C
/* E063A4 80241044 4680B5A0 */ cvt.s.w $f22, $f22
/* E063A8 80241048 AFA00010 */ sw $zero, 0x10($sp)
/* E063AC 8024104C AFA00014 */ sw $zero, 0x14($sp)
/* E063B0 80241050 0C04EAA7 */ jal func_8013AA9C
/* E063B0 80241050 0C04EAA7 */ jal fold_update
/* E063B4 80241054 AFA00018 */ sw $zero, 0x18($sp)
/* E063B8 80241058 27B40048 */ addiu $s4, $sp, 0x48
/* E063BC 8024105C 0280202D */ daddu $a0, $s4, $zero
@ -100,7 +100,7 @@ glabel func_80240FFC_E0635C
/* E064D8 80241178 46201087 */ neg.d $f2, $f2
/* E064DC 8024117C 4620110D */ trunc.w.d $f4, $f2
/* E064E0 80241180 44022000 */ mfc1 $v0, $f4
/* E064E4 80241184 0C04EBDC */ jal func_8013AF70
/* E064E4 80241184 0C04EBDC */ jal fold_appendGfx_component
/* E064E8 80241188 A7A2002C */ sh $v0, 0x2c($sp)
/* E064EC 8024118C 3C04D838 */ lui $a0, 0xd838
/* E064F0 80241190 8E620000 */ lw $v0, ($s3)

View File

@ -35,7 +35,7 @@ glabel func_802412A4_E06604
/* E0667C 8024131C 00C0382D */ daddu $a3, $a2, $zero
/* E06680 80241320 00C0A82D */ daddu $s5, $a2, $zero
/* E06684 80241324 AFB50010 */ sw $s5, 0x10($sp)
/* E06688 80241328 0C04EAA7 */ jal func_8013AA9C
/* E06688 80241328 0C04EAA7 */ jal fold_update
/* E0668C 8024132C AFA00018 */ sw $zero, 0x18($sp)
/* E06690 80241330 27A20038 */ addiu $v0, $sp, 0x38
/* E06694 80241334 AFA20010 */ sw $v0, 0x10($sp)
@ -120,7 +120,7 @@ glabel func_802412A4_E06604
/* E067D0 80241470 46200007 */ neg.d $f0, $f0
/* E067D4 80241474 4620008D */ trunc.w.d $f2, $f0
/* E067D8 80241478 44021000 */ mfc1 $v0, $f2
/* E067DC 8024147C 0C04EBDC */ jal func_8013AF70
/* E067DC 8024147C 0C04EBDC */ jal fold_appendGfx_component
/* E067E0 80241480 A7A2002C */ sh $v0, 0x2c($sp)
/* E067E4 80241484 3C04D838 */ lui $a0, 0xd838
/* E067E8 80241488 8E220000 */ lw $v0, ($s1)

View File

@ -38,7 +38,7 @@ glabel func_802414DC_E0683C
/* E068C0 80241560 00C0382D */ daddu $a3, $a2, $zero
/* E068C4 80241564 00C0A82D */ daddu $s5, $a2, $zero
/* E068C8 80241568 AFB50010 */ sw $s5, 0x10($sp)
/* E068CC 8024156C 0C04EAA7 */ jal func_8013AA9C
/* E068CC 8024156C 0C04EAA7 */ jal fold_update
/* E068D0 80241570 AFA00018 */ sw $zero, 0x18($sp)
/* E068D4 80241574 3C013F80 */ lui $at, 0x3f80
/* E068D8 80241578 4481D000 */ mtc1 $at, $f26
@ -143,7 +143,7 @@ glabel func_802414DC_E0683C
/* E06A64 80241704 46200007 */ neg.d $f0, $f0
/* E06A68 80241708 4620008D */ trunc.w.d $f2, $f0
/* E06A6C 8024170C 44021000 */ mfc1 $v0, $f2
/* E06A70 80241710 0C04EBDC */ jal func_8013AF70
/* E06A70 80241710 0C04EBDC */ jal fold_appendGfx_component
/* E06A74 80241714 A7A2002C */ sh $v0, 0x2c($sp)
/* E06A78 80241718 3C04D838 */ lui $a0, 0xd838
/* E06A7C 8024171C 8E020000 */ lw $v0, ($s0)

View File

@ -37,7 +37,7 @@ glabel func_80241778_E06AD8
/* E06B58 802417F8 00C0382D */ daddu $a3, $a2, $zero
/* E06B5C 802417FC 00C0A82D */ daddu $s5, $a2, $zero
/* E06B60 80241800 AFB50010 */ sw $s5, 0x10($sp)
/* E06B64 80241804 0C04EAA7 */ jal func_8013AA9C
/* E06B64 80241804 0C04EAA7 */ jal fold_update
/* E06B68 80241808 AFA00018 */ sw $zero, 0x18($sp)
/* E06B6C 8024180C 8E220050 */ lw $v0, 0x50($s1)
/* E06B70 80241810 4405B000 */ mfc1 $a1, $f22
@ -141,7 +141,7 @@ glabel func_80241778_E06AD8
/* E06CF8 80241998 46200007 */ neg.d $f0, $f0
/* E06CFC 8024199C 4620008D */ trunc.w.d $f2, $f0
/* E06D00 802419A0 44021000 */ mfc1 $v0, $f2
/* E06D04 802419A4 0C04EBDC */ jal func_8013AF70
/* E06D04 802419A4 0C04EBDC */ jal fold_appendGfx_component
/* E06D08 802419A8 A7A2002C */ sh $v0, 0x2c($sp)
/* E06D0C 802419AC 3C04D838 */ lui $a0, 0xd838
/* E06D10 802419B0 8E020000 */ lw $v0, ($s0)

View File

@ -299,12 +299,12 @@ glabel func_80241610_97F0E0
/* 97F574 80241AA4 00C0102D */ daddu $v0, $a2, $zero
/* 97F578 80241AA8 AFA20010 */ sw $v0, 0x10($sp)
/* 97F57C 80241AAC AFA00018 */ sw $zero, 0x18($sp)
/* 97F580 80241AB0 0C04EAA7 */ jal func_8013AA9C
/* 97F580 80241AB0 0C04EAA7 */ jal fold_update
/* 97F584 80241AB4 AFA30014 */ sw $v1, 0x14($sp)
/* 97F588 80241AB8 27A50020 */ addiu $a1, $sp, 0x20
/* 97F58C 80241ABC 0000302D */ daddu $a2, $zero, $zero
/* 97F590 80241AC0 8FC40000 */ lw $a0, ($fp)
/* 97F594 80241AC4 0C04EBDC */ jal func_8013AF70
/* 97F594 80241AC4 0C04EBDC */ jal fold_appendGfx_component
/* 97F598 80241AC8 0220382D */ daddu $a3, $s1, $zero
/* 97F59C 80241ACC 3C04D838 */ lui $a0, 0xd838
/* 97F5A0 80241AD0 8EE20000 */ lw $v0, ($s7)

View File

@ -331,12 +331,12 @@ glabel func_80241610_990DF0
/* 9912FC 80241B1C 8EE40004 */ lw $a0, 4($s7)
/* 991300 80241B20 4600218D */ trunc.w.s $f6, $f4
/* 991304 80241B24 44073000 */ mfc1 $a3, $f6
/* 991308 80241B28 0C04EAA7 */ jal func_8013AA9C
/* 991308 80241B28 0C04EAA7 */ jal fold_update
/* 99130C 80241B2C 24050008 */ addiu $a1, $zero, 8
/* 991310 80241B30 27A50020 */ addiu $a1, $sp, 0x20
/* 991314 80241B34 0000302D */ daddu $a2, $zero, $zero
/* 991318 80241B38 8EE40004 */ lw $a0, 4($s7)
/* 99131C 80241B3C 0C04EBDC */ jal func_8013AF70
/* 99131C 80241B3C 0C04EBDC */ jal fold_appendGfx_component
/* 991320 80241B40 27A70048 */ addiu $a3, $sp, 0x48
/* 991324 80241B44 3C05D838 */ lui $a1, 0xd838
/* 991328 80241B48 3C03800A */ lui $v1, %hi(gMasterGfxPos)

View File

@ -290,7 +290,7 @@ glabel func_80241610_993D40
/* 9941B0 80241A80 A7A80022 */ sh $t0, 0x22($sp)
/* 9941B4 80241A84 E7C0003C */ swc1 $f0, 0x3c($fp)
/* 9941B8 80241A88 A7A20024 */ sh $v0, 0x24($sp)
/* 9941BC 80241A8C 0C04EBDC */ jal func_8013AF70
/* 9941BC 80241A8C 0C04EBDC */ jal fold_appendGfx_component
/* 9941C0 80241A90 A7A80026 */ sh $t0, 0x26($sp)
/* 9941C4 80241A94 3C04D838 */ lui $a0, 0xd838
/* 9941C8 80241A98 8EE20000 */ lw $v0, ($s7)

View File

@ -226,7 +226,7 @@ glabel func_80240310_B06D10
/* B07084 80240684 00021023 */ negu $v0, $v0
/* B07088 80240688 A7A20024 */ sh $v0, 0x24($sp)
/* B0708C 8024068C 8E440000 */ lw $a0, ($s2)
/* B07090 80240690 0C04EBDC */ jal func_8013AF70
/* B07090 80240690 0C04EBDC */ jal fold_appendGfx_component
/* B07094 80240694 0260382D */ daddu $a3, $s3, $zero
/* B07098 80240698 3C04D838 */ lui $a0, 0xd838
/* B0709C 8024069C 8E220000 */ lw $v0, ($s1)

View File

@ -143,12 +143,12 @@ glabel func_80241500_8D2A10
/* 8D2C30 80241720 0080382D */ daddu $a3, $a0, $zero
/* 8D2C34 80241724 AFA00010 */ sw $zero, 0x10($sp)
/* 8D2C38 80241728 AFA00014 */ sw $zero, 0x14($sp)
/* 8D2C3C 8024172C 0C04EAA7 */ jal func_8013AA9C
/* 8D2C3C 8024172C 0C04EAA7 */ jal fold_update
/* 8D2C40 80241730 AFA00018 */ sw $zero, 0x18($sp)
/* 8D2C44 80241734 0000202D */ daddu $a0, $zero, $zero
/* 8D2C48 80241738 27A50020 */ addiu $a1, $sp, 0x20
/* 8D2C4C 8024173C 02E0302D */ daddu $a2, $s7, $zero
/* 8D2C50 80241740 0C04EBDC */ jal func_8013AF70
/* 8D2C50 80241740 0C04EBDC */ jal fold_appendGfx_component
/* 8D2C54 80241744 27A70038 */ addiu $a3, $sp, 0x38
/* 8D2C58 80241748 3C05D838 */ lui $a1, 0xd838
/* 8D2C5C 8024174C 3C03800A */ lui $v1, %hi(gMasterGfxPos)

Some files were not shown because too many files have changed in this diff Show More