isk + misc (#746)

* isk + warning patrol

* minor reorg

* effect data union

* structs sorted and dummy structs added

* effect data cleanup + some end funcs

* two more PAL_PTR*

* temp

* flower fx

* pal_inc_c

* remove tabs

* isk_05

* blur union

* more isk

* isk funcs done

* sun stuff

* delete sun_main

* sun comments

* extra stuff

* actor decorations
This commit is contained in:
HailSanta 2022-08-10 09:36:38 -04:00 committed by GitHub
parent ba183f35b5
commit f4efd09c80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
86 changed files with 1473 additions and 4263 deletions

View File

@ -97,6 +97,13 @@ typedef struct Vec4f {
/* 0x0C */ f32 yaw;
} Vec4f; // size = 0x10
typedef struct Color4f {
/* 0x00 */ f32 r;
/* 0x04 */ f32 g;
/* 0x08 */ f32 b;
/* 0x0C */ f32 a;
} Color4f; // size = 0x10
typedef f32 Matrix4f[4][4]; // size = 0x40
typedef struct Matrix4s {
@ -140,14 +147,24 @@ typedef struct HeapNode {
} HeapNode; // size = 0x10
/// Ring buffer of an NPC's position over the past 20 frames.
typedef struct BlurBuffer {
typedef struct NpcMotionBlur {
/* 0x00 */ s8 unk_00;
/* 0x01 */ s8 index; ///< Current blur ring buffer index
/* 0x02 */ char unk_02[2]; // padding?
/* 0x04 */ f32 x[20];
/* 0x54 */ f32 y[20];
/* 0xA4 */ f32 z[20];
} BlurBuffer; // size = 0xF4
} NpcMotionBlur; // size = 0xF4
typedef struct NpcChompBlur {
/* 0x00 */ struct Npc* npc;
/* 0x04 */ Vec3f offset;
} NpcChompBlur; // size = 0x10;
typedef struct NpcQuizmoBlur {
/* 0x00 */ s32 flags;
/* 0x04 */ char unk_04[0x4];
} NpcQuizmoBlur; // size = 0x8;
typedef u16 Palette16[16]; // size = 0x20
@ -160,7 +177,12 @@ typedef struct Npc {
/* 0x014 */ f32 jumpScale; /* also used for speech, temp1? */
/* 0x018 */ f32 moveSpeed;
/* 0x01C */ f32 jumpVelocity;
/* 0x020 */ struct BlurBuffer* blurBuf; ///< Null unless flag 0x100000 is set.
/* 0x020 */ union {
void* any;
NpcMotionBlur* motion; ///< Null unless flag 0x100000 is set.
NpcChompBlur* chomp;
NpcQuizmoBlur* quizmo;
} blur;
/* 0x024 */ s32 spriteInstanceID;
/* 0x028 */ union {
/* */ u16 h;
@ -1650,7 +1672,8 @@ typedef struct DecorationTable {
/* 0x8B8 */ s8 decorationType[2];
/* 0x8BA */ u8 unk_8BA[2];
/* 0x8BC */ s8 unk_8BC[2];
/* 0x8C0 */ s16 unk_8C0[4];
/* 0x8BE */ s16 unk_8BE[2];
/* 0x8C2 */ char unk_8C0[4];
/* 0x8C6 */ DecorationUnk unk_8C6[2];
} DecorationTable; // size = 0x8E8
@ -1802,7 +1825,7 @@ typedef struct Actor {
/* 0x1FA */ s16 hpChangeCounter;
/* 0x1FC */ u16 damageCounter;
/* 0x1FE */ char unk_1FE[2];
/* 0x200 */ struct EffectInstance* unk_200; // fx_attack_result_text
/* 0x200 */ struct EffectInstance* attackResultEffect;
/* 0x204 */ s8 unk_204;
/* 0x205 */ s8 unk_205;
/* 0x206 */ s8 unk_206;
@ -1987,7 +2010,7 @@ typedef struct SaveData {
typedef struct Path {
/* 0x00 */ s32 numVectors;
/* 0x04 */ f32* unk_04;
/* 0x04 */ f32* lengths;
/* 0x08 */ Vec3f* staticVectorList;
/* 0x0C */ Vec3f* vectors;
/* 0x10 */ s32 timeElapsed;
@ -2030,7 +2053,7 @@ typedef struct MenuPanel {
} MenuPanel; // size = 0x1C
typedef struct WindowBackground {
/* 0x00 */ u8* imgData;
/* 0x00 */ IMG_PTR imgData;
/* 0x04 */ s8 packedTileFormat; // upper = fmt, lower = depth; e.g., 31 = CI-8
/* 0x05 */ s8 width;
/* 0x06 */ s8 height;
@ -2039,7 +2062,7 @@ typedef struct WindowBackground {
} WindowBackground; // size = 0xC
typedef struct WindowCorners {
/* 0x00 */ u8* imgData;
/* 0x00 */ IMG_PTR imgData;
/* 0x04 */ s8 packedTileFormat; // upper = fmt, lower = depth; e.g., 31 = CI-8
/* 0x05 */ Vec2b size1;
/* 0x07 */ Vec2b size2;

View File

@ -218,32 +218,22 @@ typedef struct WalkingDustFXData {
// Used by both flower_splash and flower_trail
typedef struct FlowerFXData {
/* 0x00 */ s32 unk_00;
/* 0x04 */ u16 unk_04;
/* 0x06 */ s16 unk_06;
/* 0x00 */ s32 alive;
/* 0x04 */ u16 triggeredByNpc;
/* 0x06 */ s16 timeLeft;
/* 0x08 */ u8 primAlpha;
/* 0x09 */ s8 unk_09;
/* 0x09 */ s8 useAltColor;
/* 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;
/* 0x0C */ Vec3f pos;
/* 0x18 */ Vec3f scale;
/* 0x24 */ Vec3f rot;
/* 0x30 */ Mtx transformMtx;
/* 0x70 */ f32 velocityScaleA;
/* 0x74 */ f32 velocityScaleB;
/* 0x78 */ f32 visibilityAmt; // when this is zero, the flower can vanish. may have once controlled alpha.
/* 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;
/* 0x80 */ f32 integrator[4];
/* 0x90 */ Vec2XZf velocity;
} FlowerFXData; // size = 0x98
typedef struct CloudPuffFXData {
@ -963,7 +953,9 @@ typedef struct StatChangeFXData {
} StatChangeFXData;
typedef struct SnakingStaticFXData {
/* 0x00 */ char todo[0];
/* 0x00 */ char unk_00[4];
/* 0x04 */ Vec3f pos;
/* 0x10 */ char todo[0];
} SnakingStaticFXData; // size = unknown
typedef struct ThunderboltRingFXData {
@ -1062,7 +1054,10 @@ typedef struct ThrowSpinyFXData {
} ThrowSpinyFXData; //sizeof 0x6C
typedef struct Effect65FXData {
/* 0x00 */ char todo[0];
/* 0x00 */ char unk_00[0x34];
/* 0x34 */ f32 unk_34;
/* 0x38 */ Vec3f pos;
/* 0x44 */ char todo[0];
} Effect65FXData; // size = unknown
typedef struct TubbaHeartAttackFXData {
@ -1070,7 +1065,9 @@ typedef struct TubbaHeartAttackFXData {
} TubbaHeartAttackFXData; // size = unknown
typedef struct WhirlwindFXData {
/* 0x00 */ char todo[0];
/* 0x00 */ char unk_00[0x4];
/* 0x04 */ Vec3f pos;
/* 0x10 */ char todo[0];
} WhirlwindFXData; // size = unknown
typedef struct RedImpactFXData {
@ -1090,6 +1087,8 @@ typedef struct EnergyInOutFXData {
/* 0x04 */ Vec3f pos;
/* 0x10 */ char unk_10[0x24];
/* 0x34 */ f32 scale;
/* 0x38 */ char unk_38[0xC];
/* 0x44 */ f32 unk_44;
/* 0x38 */ char todo[0];
} EnergyInOutFXData; // size = unknown
@ -1178,7 +1177,12 @@ typedef struct StaticStatusFXData {
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
} StaticStatusFXData; // size = ?
/* 0x10 */ char unk_10[0x10];
/* 0x20 */ s32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x2C */ char unk_2C[0x0C];
} StaticStatusFXData; // size = 0x38
typedef struct MovingCloudFXData {
/* 0x00 */ char todo[0];
@ -1257,10 +1261,23 @@ typedef struct IcePillarFXData {
} IcePillarFXData; // size = unknown
typedef struct SunFXData {
/* 0x00 */ char unk_00[0x3C];
/* 0x3C */ s32 unk_3C; // set to zero to clear sunlight
/* 0x00 */ char todo[0];
} SunFXData; // size = unknown
/* 0x00 */ s32 unk_00;
/* 0x04 */ Vec3f unk_04;
/* 0x10 */ s32 timeLeft;
/* 0x14 */ s32 lifeTime;
/* 0x18 */ u8 unk_18;
/* 0x19 */ u8 unk_19;
/* 0x1A */ u8 unk_1A;
/* 0x1B */ u8 unk_1B;
/* 0x1C */ u8 unk_1C;
/* 0x1D */ u8 unk_1D;
/* 0x1E */ u8 unk_1E;
/* 0x1F */ char unk_1F[0x1];
/* 0x20 */ f32 unk_20[5];
/* 0x34 */ f32 unk_34;
/* 0x38 */ s32 alpha;
/* 0x3C */ s32 targetAlpha;
} SunFXData; // size = 0x40
typedef struct StarSpiritsEnergyFXData {
/* 0x00 */ char unk_00[0x8];

View File

@ -156,7 +156,7 @@ FX_MAIN(breaking_junk_main);
FX_MAIN(partner_buff_main);
FX_MAIN(quizmo_assistant_main);
FX_MAIN(ice_pillar_main);
FX_MAIN(sun_main);
EffectInstance* sun_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(star_spirits_energy_main);
FX_MAIN(pink_sparkles_main);
FX_MAIN(star_outline_main);

View File

@ -3780,7 +3780,7 @@ typedef enum FoldType {
FOLD_TYPE_5 = 0x5,
FOLD_TYPE_6 = 0x6,
FOLD_TYPE_7 = 0x7,
FOLD_TYPE_8 = 0x8,
FOLD_TYPE_8 = 0x8, // color overlay?
FOLD_TYPE_9 = 0x9,
FOLD_TYPE_A = 0xA,
FOLD_TYPE_B = 0xB,

View File

@ -919,7 +919,7 @@ void enable_actor_blur(Actor*);
void func_80251474(Actor*);
void func_8025C8A0(s32, ActorPart*);
void func_8025CD28(s32, ActorPart*);
void func_8025CEC8(ActorPart*);
void _add_part_decoration(ActorPart*);
void _remove_part_decoration(ActorPart* part, s32 decorationIndex);
void func_8025D158(ActorPart*, s32);
void func_8025D290(ActorPart*, s32);

View File

@ -5,52 +5,45 @@
// TODO generate this somehow, or prevent it from shifting. must be resolved at compile time
#define SPRITE_ROM_START 0x1943000 + 0x10
typedef struct UnkSpr10 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ void* unk_0C;
} UnkSpr10;
extern s32 D_802E004C;
extern s32 D_802E0050[];
extern s32 D_802E0C10;
extern s32 PlayerRasterSetsLoaded;
extern s32 PlayerRasterBufferSetOffsets[13];
extern s32 PlayerRasterHeader;
extern s32 D_802E0C20[];
extern s32 D_802E0C58;
extern s32 D_802E0C5C;
extern s32 D_802E0C60[];
extern UnkSpr10 D_802E0C70[18];
extern s32 PlayerRasterCacheSize;
extern s32 PlayerRasterMaxSize;
extern s32 SpriteDataHeader[];
extern PlayerSpriteCacheEntry PlayerRasterCache[18];
INCLUDE_ASM(s32, "101b90_len_8f0", spr_swizzle_anim_offsets);
INCLUDE_ASM(s32, "101b90_len_8f0", spr_load_sprite);
void spr_init_player_raster_cache(s32 cacheSize, s32 maxRasterSize) {
void* var_a1;
void* raster;
s32 i;
nuPiReadRom(SPRITE_ROM_START, &D_802E0C60, 0xC);
D_802E0C58 = cacheSize;
D_802E0C5C = maxRasterSize;
D_802E0C60[0] += SPRITE_ROM_START;
D_802E0C60[1] += SPRITE_ROM_START;
D_802E0C60[2] += SPRITE_ROM_START;
var_a1 = _heap_malloc(&gSpriteHeapPtr, maxRasterSize * cacheSize);
nuPiReadRom(SPRITE_ROM_START, &SpriteDataHeader, 0xC);
PlayerRasterCacheSize = cacheSize;
PlayerRasterMaxSize = maxRasterSize;
SpriteDataHeader[0] += SPRITE_ROM_START;
SpriteDataHeader[1] += SPRITE_ROM_START;
SpriteDataHeader[2] += SPRITE_ROM_START;
raster = _heap_malloc(&gSpriteHeapPtr, maxRasterSize * cacheSize);
for (i = 0; i < ARRAY_COUNT(D_802E0C70); i++) {
D_802E0C70[i].unk_0C = var_a1;
var_a1 += D_802E0C5C;
D_802E0C70[i].unk_00 = 0;
D_802E0C70[i].unk_04 = 0;
D_802E0C70[i].unk_08 = 0xFF;
for (i = 0; i < ARRAY_COUNT(PlayerRasterCache); i++) {
PlayerRasterCache[i].raster = raster;
raster += PlayerRasterMaxSize;
PlayerRasterCache[i].lazyDeleteTime = 0;
PlayerRasterCache[i].rasterIndex = 0;
PlayerRasterCache[i].spriteIndex = 0xFF;
}
for (i = 0; i < 13; i++) {
D_802E0050[i] = 0;
for (i = 0; i < ARRAY_COUNT(PlayerRasterBufferSetOffsets); i++) {
PlayerRasterBufferSetOffsets[i] = 0;
}
D_802E004C = 0;
nuPiReadRom(D_802E0C60[0], &D_802E0C10, 0xC);
nuPiReadRom(D_802E0C60[0] + D_802E0C10, D_802E0C20, 0x38);
PlayerRasterSetsLoaded = 0;
nuPiReadRom(SpriteDataHeader[0], &PlayerRasterHeader, 0xC);
nuPiReadRom(SpriteDataHeader[0] + PlayerRasterHeader, D_802E0C20, 0x38);
}
INCLUDE_ASM(s32, "101b90_len_8f0", spr_get_player_raster);
@ -60,9 +53,9 @@ void spr_update_player_raster_cache(void) {
func_8013A4D0();
for (i = 0; i < D_802E0C58; i++) {
if (D_802E0C70[i].unk_00 != 0) {
D_802E0C70[i].unk_00--;
for (i = 0; i < PlayerRasterCacheSize; i++) {
if (PlayerRasterCache[i].lazyDeleteTime != 0) {
PlayerRasterCache[i].lazyDeleteTime--;
}
}
}

View File

@ -1025,8 +1025,8 @@ void btl_delete_actor(Actor* actor) {
remove_all_status_icons(actor->hudElementDataIndex);
remove_effect(actor->debuffEffect);
if (actor->unk_200 != NULL) {
actor->unk_200->data.attackResultText->unk_24 = 0;
if (actor->attackResultEffect != NULL) {
actor->attackResultEffect->data.attackResultText->unk_24 = 0;
}
battleStatus = &gBattleStatus;
@ -1068,8 +1068,8 @@ void btl_delete_player_actor(Actor* player) {
remove_all_status_icons(player->hudElementDataIndex);
remove_effect(player->debuffEffect);
if (player->unk_200 != NULL) {
player->unk_200->data.attackResultText->unk_24 = 0;
if (player->attackResultEffect != NULL) {
player->attackResultEffect->data.attackResultText->unk_24 = 0;
}
heap_free(movement);

View File

@ -8,6 +8,7 @@ extern u16 D_802840B4[];
extern u16 D_802840DC[];
extern u8 D_80284104[];
extern u8 D_80284120[];
extern s16 D_80284134[];
void update_player_actor_shadow(void);
void func_80255FE0(s32, void*);
@ -17,7 +18,7 @@ void func_8025950C(ActorPart*, s32, Matrix4f);
void func_802596C0(ActorPart*, s32, Matrix4f);
void func_802597B0(ActorPart*, s32, Matrix4f);
void func_8025995C(ActorPart*, s32, Matrix4f);
void func_8025C918(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx);
void func_8025C918(s32 arg0, ActorPart* part, s32 yaw, s32 arg3);
void func_8025CD40(s32, ActorPart*);
void func_8025D150(ActorPart*, s32);
@ -1886,14 +1887,14 @@ INCLUDE_ASM(s32, "182B30", func_8025BAA0);
INCLUDE_ASM(s32, "182B30", func_8025C120);
s32 func_8025C840(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx) {
s32 func_8025C840(s32 arg0, ActorPart* part, s32 yaw, s32 arg3) {
if (!(part->flags & 2)) {
switch (part->decorationTable->unk_750) {
case 0:
func_8025C8A0(arg0, part);
return 0;
case 11:
func_8025C918(arg0, part, yaw, mtx);
func_8025C918(arg0, part, yaw, arg3);
break;
}
}
@ -1913,7 +1914,7 @@ void func_8025C8A0(s32 arg0, ActorPart* arg1) {
INCLUDE_ASM(s32, "182B30", func_8025C918);
s32 func_8025CCC8(s32 arg0, ActorPart* part) {
s32 func_8025CCC8(s32 arg0, ActorPart* part, s32 yaw, s32 arg3) {
if (!(part->flags & ACTOR_PART_FLAG_2)) {
switch (part->decorationTable->unk_764) {
case 0:
@ -1938,7 +1939,7 @@ void func_8025CD28(s32 arg0, ActorPart* arg1) {
INCLUDE_ASM(s32, "182B30", func_8025CD40);
void func_8025CEC8(ActorPart* actorPart) {
void _add_part_decoration(ActorPart* actorPart) {
DecorationTable* decorationTable;
s32 i;
@ -2038,12 +2039,11 @@ void func_8025D150(ActorPart* actorPart, s32 i) {
void func_8025D158(ActorPart* part, s32 decorationIndex) {
}
// float reg swapping
#ifdef NON_MATCHING
void func_8025D160(ActorPart* arg0, s32 arg1) {
DecorationTable* table = arg0->decorationTable;
EffectInstance* effect;
AuraFXData* data;
f32 scale;
switch (table->unk_8BC[arg1]) {
case 0:
@ -2059,104 +2059,300 @@ void func_8025D160(ActorPart* arg0, s32 arg1) {
data->posA.x = arg0->currentPos.x + table->unk_8C6[arg1].unk04;
data->posA.y = arg0->currentPos.y;
data->posA.z = arg0->currentPos.z;
effect->data.aura->scale.x = table->unk_8C6[arg1].unk00 / 100.0f;
effect->data.aura->scale.y = table->unk_8C6[arg1].unk02 / 100.0f;
scale = table->unk_8C6[arg1].unk00;
scale /= 100.0f;
effect->data.aura->scale.x = scale;
scale = table->unk_8C6[arg1].unk02;
scale /= 100.0f;
effect->data.aura->scale.y = scale;
break;
}
}
#else
INCLUDE_ASM(s32, "182B30", func_8025D160);
#endif
void func_8025D290(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->data.aura->fadeTime = 5;
}
INCLUDE_ASM(s32, "182B30", func_8025D2B0);
void func_8025D2B0(ActorPart* part, s32 decorationIndex) {
DecorationTable* decor = part->decorationTable;
switch (decor->unk_8BC[decorationIndex]) {
case 0:
if (part->yaw > 90.0f) {
fx_sweat(0, part->currentPos.x, part->currentPos.y + part->size.y, part->currentPos.z, 5.0f, 45.0f, 20);
} else {
fx_sweat(0, part->currentPos.x, part->currentPos.y + part->size.y, part->currentPos.z, 5.0f, -45.0f, 20);
}
decor->unk_8BE[decorationIndex] = 0xA;
decor->unk_8BC[decorationIndex] = 1;
break;
case 1:
if (decor->unk_8BE[decorationIndex] != 0) {
decor->unk_8BE[decorationIndex]--;
} else {
decor->unk_8BC[decorationIndex] = 0;
}
break;
}
}
void func_8025D3C4(ActorPart* part, s32 decorationIndex) {
}
INCLUDE_ASM(s32, "182B30", func_8025D3CC);
void func_8025D3CC(ActorPart* part, s32 decorationIndex) {
DecorationTable* decor;
StarsOrbitingFXData* data;
s8 temp_v1;
decor = part->decorationTable;
switch (decor->unk_8BC[decorationIndex]) {
case 0:
fx_stars_orbiting(0, part->currentPos.x, part->currentPos.y + part->size.y, part->currentPos.z,
20.0f, 3, &decor->unk_8B0[decorationIndex]);
decor->unk_8BC[decorationIndex] = 1;
break;
case 1:
data = decor->unk_8B0[decorationIndex]->data.starsOrbiting;
data->pos.x = part->currentPos.x;
data->pos.y = part->currentPos.y + part->size.y;
data->pos.z = part->currentPos.z;
break;
}
}
void func_8025D4A0(ActorPart* part, s32 decorationIndex) {
remove_effect(part->decorationTable->unk_8B0[decorationIndex]);
}
// float reg swapping
#ifdef NON_MATCHING
void func_8025D4C8(ActorPart* arg0, s32 arg1) {
DecorationTable* decor = arg0->decorationTable;
void func_8025D4C8(ActorPart* part, s32 decorationIndex) {
DecorationTable* decor = part->decorationTable;
EffectInstance* effect;
AuraFXData* data;
f32 scale;
switch (decor->unk_8BC[arg1]) {
switch (decor->unk_8BC[decorationIndex]) {
case 0:
fx_aura(1, arg0->currentPos.x, arg0->currentPos.y, arg0->currentPos.z, 0.4f, &decor->unk_8B0[arg1]);
decor->unk_8BC[arg1] = 1;
decor->unk_8C6[arg1].unk00 = 0x28;
decor->unk_8C6[arg1].unk02 = 0x28;
decor->unk_8C6[arg1].unk04 = 0xFF;
decor->unk_8C6[arg1].unk06 = 0;
decor->unk_8C6[arg1].unk08 = 0xFF;
decor->unk_8C6[arg1].unk0A = 0;
decor->unk_8C6[arg1].unk0C = 0;
fx_aura(1, part->currentPos.x, part->currentPos.y, part->currentPos.z, 0.4f, &decor->unk_8B0[decorationIndex]);
decor->unk_8BC[decorationIndex] = 1;
decor->unk_8C6[decorationIndex].unk00 = 0x28;
decor->unk_8C6[decorationIndex].unk02 = 0x28;
decor->unk_8C6[decorationIndex].unk04 = 0xFF;
decor->unk_8C6[decorationIndex].unk06 = 0;
decor->unk_8C6[decorationIndex].unk08 = 0xFF;
decor->unk_8C6[decorationIndex].unk0A = 0;
decor->unk_8C6[decorationIndex].unk0C = 0;
// fall through
case 1:
effect = decor->unk_8B0[arg1];
effect = decor->unk_8B0[decorationIndex];
data = effect->data.aura;
data->posA.x = arg0->currentPos.x;
data->posA.y = arg0->currentPos.y;
data->posA.z = arg0->currentPos.z + decor->unk_8C6[arg1].unk06;
effect->data.aura->scale.x = decor->unk_8C6[arg1].unk00 / 100.0f;
effect->data.aura->scale.y = decor->unk_8C6[arg1].unk02 / 100.0f;
effect->data.aura->primA = decor->unk_8C6[arg1].unk04;
data->posA.x = part->currentPos.x;
data->posA.y = part->currentPos.y;
data->posA.z = part->currentPos.z + decor->unk_8C6[decorationIndex].unk06;
scale = decor->unk_8C6[decorationIndex].unk00;
scale /= 100.0f;
effect->data.aura->scale.x = scale;
scale = decor->unk_8C6[decorationIndex].unk02;
scale /= 100.0f;
effect->data.aura->scale.y = scale;
effect->data.aura->primA = decor->unk_8C6[decorationIndex].unk04;
break;
}
}
#else
INCLUDE_ASM(s32, "182B30", func_8025D4C8);
#endif
void func_8025D620(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->data.aura->fadeTime = 5;
}
INCLUDE_ASM(s32, "182B30", func_8025D640);
void func_8025D640(ActorPart* part, s32 decorationIndex) {
DecorationTable* decor = part->decorationTable;
EffectInstance* effect;
switch (decor->unk_8BC[decorationIndex]) {
case 0:
decor->unk_8B0[decorationIndex] = fx_65(1, part->currentPos.x, part->currentPos.y, part->currentPos.z, 1.0f, 0);
decor->unk_8BC[decorationIndex] = 1;
break;
case 1:
effect = decor->unk_8B0[decorationIndex];
effect->data.unk_65->pos.x = part->currentPos.x;
effect->data.unk_65->pos.y = part->currentPos.y;
effect->data.unk_65->pos.z = part->currentPos.z;
break;
}
}
void func_8025D6FC(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->flags |= 0x10;
}
INCLUDE_ASM(s32, "182B30", func_8025D71C);
void func_8025D71C(ActorPart* part, s32 decorationIndex) {
DecorationTable* decor = part->decorationTable;
EffectInstance* effect;
switch (decor->unk_8BC[decorationIndex]) {
case 0:
decor->unk_8B0[decorationIndex] = fx_65(2, part->currentPos.x, part->currentPos.y, part->currentPos.z, 1.0f, 0);
decor->unk_8C6[decorationIndex].unk00 = 1;
decor->unk_8BC[decorationIndex] = 1;
break;
case 1:
effect = decor->unk_8B0[decorationIndex];
effect->data.unk_65->pos.x = part->currentPos.x;
effect->data.unk_65->pos.y = part->currentPos.y;
effect->data.unk_65->pos.z = part->currentPos.z;
effect->data.unk_65->unk_34 = decor->unk_8C6[decorationIndex].unk00 / 100.0f;
break;
}
}
void func_8025D810(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->flags |= 0x10;
}
INCLUDE_ASM(s32, "182B30", func_8025D830);
void func_8025D830(ActorPart* part, s32 decorationIndex) {
DecorationTable* decor = part->decorationTable;
EffectInstance* effect;
switch (decor->unk_8BC[decorationIndex]) {
case 0:
decor->unk_8B0[decorationIndex] = fx_whirlwind(2, part->currentPos.x, part->currentPos.y, part->currentPos.z, 1.0f, 0);
decor->unk_8BC[decorationIndex] = 1;
break;
case 1:
effect = decor->unk_8B0[decorationIndex];
effect->data.whirlwind->pos.x = part->currentPos.x;
effect->data.whirlwind->pos.y = part->currentPos.y;
effect->data.whirlwind->pos.z = part->currentPos.z;
break;
}
}
void func_8025D8EC(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->flags |= 0x10;
}
INCLUDE_ASM(s32, "182B30", func_8025D90C);
void func_8025D90C(ActorPart* part, s32 decorationIndex) {
DecorationTable* decor = part->decorationTable;
f32 angle, sinA, cosA;
switch (decor->unk_8BC[decorationIndex]) {
case 0:
decor->unk_8BE[decorationIndex] = 0;
decor->unk_8BC[decorationIndex] = 1;
// fall through
case 1:
decor->unk_8BE[decorationIndex]++;
if (decor->unk_8BE[decorationIndex] >= 4) {
decor->unk_8BE[decorationIndex] = 0U;
angle = (clamp_angle(-part->yaw) * TAU) / 360.0f;
sinA = sin_rad(angle);
cosA = cos_rad(angle);
fx_walking_dust(0,
part->currentPos.x + (part->size.x * sinA * 0.2f),
part->currentPos.y + 1.5f,
part->currentPos.z + (part->size.x * cosA * 0.2f),
sinA, cosA);
}
break;
}
}
void func_8025DA60(ActorPart* part, s32 decorationIndex) {
}
INCLUDE_ASM(s32, "182B30", func_8025DA68);
void func_8025DA68(ActorPart* part, s32 decorationIndex) {
DecorationTable* decor = part->decorationTable;
f32 x, y, z;
if (D_80284134[decor->unk_8C6[decorationIndex].unk00] >= 0) {
switch (decor->unk_8BC[decorationIndex]) {
case 0:
decor->unk_8BE[decorationIndex] = 0;
decor->unk_8BC[decorationIndex] = 1;
/* fallthrough */
case 1:
x = part->currentPos.x;
y = part->currentPos.y + (part->size.y / 2);
z = part->currentPos.z - 5.0f;
// bug? perhaps this should be % 4?
if ((gGameStatusPtr->frameCounter / 4) == 0) {
fx_sparkles(1, x, y, z, 10.0f);
}
decor->unk_8BE[decorationIndex]++;
if (D_80284134[decor->unk_8C6[decorationIndex].unk00] < decor->unk_8BE[decorationIndex]) {
decor->unk_8BE[decorationIndex] = 0;
fx_sparkles(1, x, y, z, 20.0f);
}
break;
}
}
}
void func_8025DBC8(ActorPart* part, s32 decorationIndex) {
}
INCLUDE_ASM(s32, "182B30", func_8025DBD0);
void func_8025DBD0(ActorPart* part, s32 decorationIndex) {
DecorationTable* decor = part->decorationTable;
EffectInstance* effect;
AuraFXData* data;
f32 scale;
switch (decor->unk_8BC[decorationIndex]) {
case 0:
fx_aura(2, part->currentPos.x, part->currentPos.y, part->currentPos.z, 1.2f, &decor->unk_8B0[decorationIndex]);
decor->unk_8BC[decorationIndex] = 1;
decor->unk_8C6[decorationIndex].unk00 = 0x96;
decor->unk_8C6[decorationIndex].unk02 = 0x96;
decor->unk_8C6[decorationIndex].unk04 = 0xFF;
decor->unk_8C6[decorationIndex].unk06 = 0;
// fall through
case 1:
effect = decor->unk_8B0[decorationIndex];
data = effect->data.aura;
data->posA.x = part->currentPos.x;
data->posA.y = part->currentPos.y;
data->posA.z = part->currentPos.z + decor->unk_8C6[decorationIndex].unk06;
scale = decor->unk_8C6[decorationIndex].unk00;
scale /= 100.0f;
effect->data.aura->scale.x = scale;
scale = decor->unk_8C6[decorationIndex].unk02;
scale /= 100.0f;
effect->data.aura->scale.y = scale * (0.8 - 1e-16); // epsilon?
effect->data.aura->primA = decor->unk_8C6[decorationIndex].unk04;
effect->data.aura->renderYaw = part->yaw;
break;
}
}
void func_8025DD40(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->data.aura->fadeTime = 5;
}
INCLUDE_ASM(s32, "182B30", func_8025DD60);
void func_8025DD60(ActorPart* part, s32 decorationIndex) {
DecorationTable* decor = part->decorationTable;
EnergyInOutFXData* data;
f32 scale;
switch (decor->unk_8BC[decorationIndex]) {
case 0:
decor->unk_8B0[decorationIndex] = fx_energy_in_out(4, part->currentPos.x, part->currentPos.y, part->currentPos.z, 1.2f, 0);
decor->unk_8BC[decorationIndex] = 1;
decor->unk_8C6[decorationIndex].unk00 = 0x78;
decor->unk_8C6[decorationIndex].unk02 = 0;
// fall through
case 1:
data = decor->unk_8B0[decorationIndex]->data.energyInOut;
scale = decor->unk_8C6[decorationIndex].unk00;
scale /= 100.0f;
data->unk_44 = scale;
data->pos.x = part->currentPos.x;
data->pos.y = (part->currentPos.y + (scale * 41.0f));
data->pos.z = (part->currentPos.z + decor->unk_8C6[decorationIndex].unk02);
break;
}
}
void func_8025DE88(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->flags |= 0x10;

View File

@ -833,7 +833,7 @@ void load_player_actor(void) {
player->healthBarPosition.y = player->currentPos.y;
player->healthBarPosition.z = player->currentPos.z;
player->scalingFactor = 1.0f;
player->unk_200 = NULL;
player->attackResultEffect = NULL;
player->unk_204 = 0;
player->unk_205 = 0;
player->unk_194 = 0;
@ -1081,7 +1081,7 @@ void load_partner_actor(void) {
partnerActor->healthBarPosition.y = partnerActor->homePos.y;
partnerActor->healthBarPosition.z = partnerActor->homePos.z;
partnerActor->scalingFactor = 1.0f;
partnerActor->unk_200 = NULL;
partnerActor->attackResultEffect = NULL;
partnerActor->unk_204 = 0;
partnerActor->unk_205 = 0;
partnerActor->unk_194 = 0;
@ -1331,7 +1331,7 @@ Actor* create_actor(Formation formation) {
actor->unk_198.x = 0;
actor->unk_198.y = 0;
actor->unk_206 = 0;
actor->unk_200 = NULL;
actor->attackResultEffect = NULL;
actor->unk_204 = 0;
actor->unk_205 = 0;
@ -2065,14 +2065,14 @@ void func_80266978(void) {
actor = gBattleStatus.enemyActors[i];
if (actor != NULL) {
if (actor->unk_205 == 0x3C) {
if (actor->unk_200 != 0) {
actor->unk_200->data.attackResultText->unk_24 = 0;
if (actor->attackResultEffect != 0) {
actor->attackResultEffect->data.attackResultText->unk_24 = 0;
}
}
if (actor->unk_205 == 5) {
if (actor->unk_200 != 0) {
actor->unk_200->data.attackResultText->unk_18 = 0;
actor->unk_200 = NULL;
if (actor->attackResultEffect != 0) {
actor->attackResultEffect->data.attackResultText->unk_18 = 0;
actor->attackResultEffect = NULL;
}
}
if (actor->unk_205 > 0) {
@ -2084,14 +2084,14 @@ void func_80266978(void) {
actor = battleStatus->playerActor;
if (actor != NULL) {
if (actor->unk_205 == 60) {
if (actor->unk_200 != NULL) {
actor->unk_200->data.attackResultText->unk_24 = 0;
if (actor->attackResultEffect != NULL) {
actor->attackResultEffect->data.attackResultText->unk_24 = 0;
}
}
if (actor->unk_205 == 5) {
if (actor->unk_200 != NULL) {
actor->unk_200->data.attackResultText->unk_18 = 0;
actor->unk_200 = NULL;
if (actor->attackResultEffect != NULL) {
actor->attackResultEffect->data.attackResultText->unk_18 = 0;
actor->attackResultEffect = NULL;
}
}
if (actor->unk_205 > 0) {
@ -2102,14 +2102,14 @@ void func_80266978(void) {
actor = battleStatus->partnerActor;
if (actor != NULL) {
if (actor->unk_205 == 60) {
if (actor->unk_200 != NULL) {
actor->unk_200->data.attackResultText->unk_24 = 0;
if (actor->attackResultEffect != NULL) {
actor->attackResultEffect->data.attackResultText->unk_24 = 0;
}
}
if (actor->unk_205 == 5) {
if (actor->unk_200 != NULL) {
actor->unk_200->data.attackResultText->unk_18 = 0;
actor->unk_200 = NULL;
if (actor->attackResultEffect != NULL) {
actor->attackResultEffect->data.attackResultText->unk_18 = 0;
actor->attackResultEffect = NULL;
}
}
if (actor->unk_205 > 0) {
@ -2375,7 +2375,7 @@ void add_part_decoration(ActorPart* part, s32 decorationIndex, s32 decorationTyp
decorationTable->decorationType[decorationIndex] = decorationType;
decorationTable->unk_8BA[decorationIndex] = 1;
decorationTable->unk_8BC[decorationIndex] = 0;
func_8025CEC8(part);
_add_part_decoration(part);
}
}

View File

@ -2031,7 +2031,7 @@ ApiStatus SummonEnemy(Evt* script, s32 isInitialCall) {
switch (script->functionTemp[0]) {
case 0:
script->functionTempPtr[1] = create_actor((struct FormationRow*)evt_get_variable(script, *args++));
script->functionTempPtr[1] = create_actor((FormationRow*)evt_get_variable(script, *args++));
script->functionTemp[2] = evt_get_variable(script, *args++);
script->functionTemp[0] = 1;
break;

View File

@ -23,12 +23,12 @@ static f32 func_80059BD4(AuDelay* delay, s32 rsdelta);
* WARNING: THE FOLLOWING CONSTANT MUST BE KEPT IN SYNC
* WITH SCALING IN MICROCODE!!!
*/
#define SCALE 16384
#define SCALE 16384
// #define ms *(((s32)((f32)44.1))&~0x7)
s32 SMALL_ROOM_PARAMS[] = {
/* sections length */
/* sections length */
3, 11,
/* chorus chorus filter
input output fbcoef ffcoef gain rate depth coef */
@ -38,7 +38,7 @@ s32 SMALL_ROOM_PARAMS[] = {
};
s32 BIG_ROOM_PARAMS[] = {
/* sections length */
/* sections length */
4, 14,
/* chorus chorus filter
input output fbcoef ffcoef gain rate depth coef */
@ -50,7 +50,7 @@ s32 BIG_ROOM_PARAMS[] = {
// unused
s32 D_8007F0C0[] = {
/* sections length */
/* sections length */
4, 17,
/* chorus chorus filter
input output fbcoef ffcoef gain rate depth coef */
@ -61,7 +61,7 @@ s32 D_8007F0C0[] = {
};
s32 ECHO_PARAMS[] = {
/* sections length */
/* sections length */
1, 14,
/* chorus chorus filter
input output fbcoef ffcoef gain rate depth coef */
@ -69,7 +69,7 @@ s32 ECHO_PARAMS[] = {
};
s32 CHORUS_PARAMS[] = {
/* sections length */
/* sections length */
1, 3,
/* chorus chorus filter
input output fbcoef ffcoef gain rate depth coef */
@ -77,7 +77,7 @@ s32 CHORUS_PARAMS[] = {
};
s32 FLANGE_PARAMS[] = {
/* sections length */
/* sections length */
1, 3,
/* chorus chorus filter
input output fbcoef ffcoef gain rate depth coef */
@ -85,7 +85,7 @@ s32 FLANGE_PARAMS[] = {
};
s32 NULL_PARAMS[] = {
/* sections length */
/* sections length */
0, 0,
/* chorus chorus filter
input output fbcoef ffcoef gain rate depth coef */

View File

@ -77,7 +77,7 @@ u8 DummyInstrumentBase[190] = {
// copy of SMALL_ROOM_PARAMS
s32 CUSTOM_SMALL_ROOM_PARAMS[] = {
/* sections length */
/* sections length */
3, 11,
/* chorus chorus filter
input output fbcoef ffcoef gain rate depth coef */
@ -88,7 +88,7 @@ s32 CUSTOM_SMALL_ROOM_PARAMS[] = {
// modified ECHO_PARAMS -- length and output changed
s32 CUSTOM_ECHO_PARAMS_1[] = {
/* sections length */
/* sections length */
1, 11,
/* chorus chorus filter
input output fbcoef ffcoef gain rate depth coef */
@ -97,7 +97,7 @@ s32 CUSTOM_ECHO_PARAMS_1[] = {
// modified ECHO_PARAMS -- length and output changed
s32 CUSTOM_ECHO_PARAMS_2[] = {
/* sections length */
/* sections length */
1, 13,
/* chorus chorus filter
input output fbcoef ffcoef gain rate depth coef */
@ -106,7 +106,7 @@ s32 CUSTOM_ECHO_PARAMS_2[] = {
// modified ECHO_PARAMS -- length and output changed
s32 CUSTOM_ECHO_PARAMS_3[] = {
/* sections length */
/* sections length */
1, 14,
/* chorus chorus filter
input output fbcoef ffcoef gain rate depth coef */
@ -152,31 +152,31 @@ InstrumentEffect* D_800783C0[] = {
};
void (*SefCmdHandlers[])(SoundManager*, SoundPlayer*) = {
au_SEFCmd_00_SetVolume,
au_SEFCmd_01_SetPan,
au_SEFCmd_02_SetInstrument,
au_SEFCmd_03_SetReverb,
au_SEFCmd_04,
au_SEFCmd_05,
au_SEFCmd_06,
au_SEFCmd_07,
au_SEFCmd_08,
au_SEFCmd_09_StartLoop,
au_SEFCmd_0A_EndLoop,
au_SEFCmd_0B,
au_SEFCmd_0C,
au_SEFCmd_0D,
au_SEFCmd_0E,
au_SEFCmd_0F,
au_SEFCmd_10_Jump,
au_SEFCmd_11_Restart,
au_SEFCmd_12_NOP,
au_SEFCmd_SetRandomPitch,
au_SEFCmd_SetRandomVelocity,
au_SEFCmd_SetUnkA3,
au_SEFCmd_16,
au_SEFCmd_17,
au_SEFCmd_18
au_SEFCmd_00_SetVolume,
au_SEFCmd_01_SetPan,
au_SEFCmd_02_SetInstrument,
au_SEFCmd_03_SetReverb,
au_SEFCmd_04,
au_SEFCmd_05,
au_SEFCmd_06,
au_SEFCmd_07,
au_SEFCmd_08,
au_SEFCmd_09_StartLoop,
au_SEFCmd_0A_EndLoop,
au_SEFCmd_0B,
au_SEFCmd_0C,
au_SEFCmd_0D,
au_SEFCmd_0E,
au_SEFCmd_0F,
au_SEFCmd_10_Jump,
au_SEFCmd_11_Restart,
au_SEFCmd_12_NOP,
au_SEFCmd_SetRandomPitch,
au_SEFCmd_SetRandomVelocity,
au_SEFCmd_SetUnkA3,
au_SEFCmd_16,
au_SEFCmd_17,
au_SEFCmd_18
};
u8 BlankSEFData[] = {
@ -189,42 +189,42 @@ u8 BlankSEFData[] = {
// the following are only referenced in audio/28910_len_5090
void (*SeqCmdHandlers[])(BGMPlayer*, BGMPlayerTrack*) = {
au_BGMCmd_E0_MasterTempo,
au_BGMCmd_E1_MasterVolume,
au_BGMCmd_E2_MasterPitchShift,
au_BGMCmd_E3,
au_BGMCmd_E4_MasterTempoFade,
au_BGMCmd_E5_MasterVolumeFade,
au_BGMCmd_E6_MasterEffect,
au_BGMCmd_NOP,
au_BGMCmd_E8_TrackOverridePatch,
au_BGMCmd_E9_SubTrackVolume,
au_BGMCmd_EA_SubTrackPan,
au_BGMCmd_EB_SubTrackReverb,
au_BGMCmd_EC_SegTrackVolume,
au_BGMCmd_ED_SubTrackCoarseTune,
au_BGMCmd_EE_SubTrackFineTune,
au_BGMCmd_EF_SegTrackTune,
au_BGMCmd_F0_TrackTremolo,
au_BGMCmd_F1_TrackTremoloSpeed,
au_BGMCmd_F2_TrackTremoloTime,
au_BGMCmd_F3_TrackTremoloStop,
au_BGMCmd_F4,
au_BGMCmd_F5_TrackVoice,
au_BGMCmd_F6_TrackVolumeFade,
au_BGMCmd_F7_SubTrackReverbType,
au_BGMCmd_NOP,
au_BGMCmd_NOP,
au_BGMCmd_NOP,
au_BGMCmd_NOP,
au_BGMCmd_FC_Jump,
au_BGMCmd_FD_EventTrigger,
au_BGMCmd_FE_Detour,
au_BGMCmd_FF,
au_BGMCmd_E0_MasterTempo,
au_BGMCmd_E1_MasterVolume,
au_BGMCmd_E2_MasterPitchShift,
au_BGMCmd_E3,
au_BGMCmd_E4_MasterTempoFade,
au_BGMCmd_E5_MasterVolumeFade,
au_BGMCmd_E6_MasterEffect,
au_BGMCmd_NOP,
au_BGMCmd_E8_TrackOverridePatch,
au_BGMCmd_E9_SubTrackVolume,
au_BGMCmd_EA_SubTrackPan,
au_BGMCmd_EB_SubTrackReverb,
au_BGMCmd_EC_SegTrackVolume,
au_BGMCmd_ED_SubTrackCoarseTune,
au_BGMCmd_EE_SubTrackFineTune,
au_BGMCmd_EF_SegTrackTune,
au_BGMCmd_F0_TrackTremolo,
au_BGMCmd_F1_TrackTremoloSpeed,
au_BGMCmd_F2_TrackTremoloTime,
au_BGMCmd_F3_TrackTremoloStop,
au_BGMCmd_F4,
au_BGMCmd_F5_TrackVoice,
au_BGMCmd_F6_TrackVolumeFade,
au_BGMCmd_F7_SubTrackReverbType,
au_BGMCmd_NOP,
au_BGMCmd_NOP,
au_BGMCmd_NOP,
au_BGMCmd_NOP,
au_BGMCmd_FC_Jump,
au_BGMCmd_FD_EventTrigger,
au_BGMCmd_FE_Detour,
au_BGMCmd_FF,
};
s8 SeqCmdArgCounts[] = {
2, 1, 1, 1, 4, 3, 2, 0,
2, 1, 1, 1, 4, 3, 2, 0,
2, 1, 1, 1, 1, 1, 1, 2,
3, 1, 1, 0, 2, 1, 3, 1,
0, 0, 0, 0, 3, 3, 3, 3

View File

@ -3,27 +3,15 @@
#define NAMESPACE b_area_flo2
typedef struct Flo02Struct {
/* 0x00 */ Vec3f actorPos;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ Vec3f enemyPos;
} Flo02Struct; // size = 0x24
typedef struct Flo02Struct3 {
/* 0x00 */ char unk_00[4];
/* 0x04 */ Vec3f pos;
} Flo02Struct3; // size = 0x10
typedef struct Flo02Struct2 {
/* 0x00 */ char unk_00[12];
/* 0x0C */ Flo02Struct3* unk_0C;
} Flo02Struct2; // size = 0x10
typedef struct SuctionPath {
/* 0x00 */ Vec3f start;
/* 0x0C */ Vec3f mid;
/* 0x18 */ Vec3f end;
} SuctionPath; // size = 0x24
extern s32 D_8021A35C_5D09EC;
extern s32 D_8021A378_5D0A08;
extern Flo02Struct D_80235E00[];
extern SuctionPath D_80235E00[];
#include "common/StartRumbleWithParams.inc.c"
@ -71,19 +59,19 @@ ApiStatus func_802185D4_5CEC64(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
ApiStatus func_80218620_5CECB0(Evt* script, s32 isInitialCall) {
ApiStatus N(MakeSuctionPath)(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
Flo02Struct* temp_s1 = &D_80235E00[evt_get_variable(script, *args++)];
SuctionPath* path = &D_80235E00[evt_get_variable(script, *args++)];
temp_s1->actorPos.x = evt_get_variable(script, *args++);
temp_s1->actorPos.y = evt_get_variable(script, *args++);
temp_s1->actorPos.z = evt_get_variable(script, *args++);
temp_s1->unk_0C = -rand_int(20);
temp_s1->unk_10 = rand_int(40) + 60;
temp_s1->unk_14 = 0;
temp_s1->enemyPos.x = evt_get_variable(script, *args++);
temp_s1->enemyPos.y = evt_get_variable(script, *args++);
temp_s1->enemyPos.z = evt_get_variable(script, *args++);
path->start.x = evt_get_variable(script, *args++);
path->start.y = evt_get_variable(script, *args++);
path->start.z = evt_get_variable(script, *args++);
path->mid.x = -rand_int(20);
path->mid.y = rand_int(40) + 60;
path->mid.z = 0;
path->end.x = evt_get_variable(script, *args++);
path->end.y = evt_get_variable(script, *args++);
path->end.z = evt_get_variable(script, *args++);
return ApiStatus_DONE2;
}
@ -121,14 +109,14 @@ ApiStatus func_80218924_5CEFB4(Evt* script, s32 isInitialCall) {
ApiStatus func_802189FC_5CF08C(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
Flo02Struct2* temp_s2 = evt_get_variable(script, *args++);
EffectInstance* effect = evt_get_variable(script, *args++);
f32 posX = evt_get_float_variable(script, *args++);
f32 posY = evt_get_float_variable(script, *args++);
f32 posZ = evt_get_float_variable(script, *args++);
temp_s2->unk_0C->pos.x = posX;
temp_s2->unk_0C->pos.y = posY;
temp_s2->unk_0C->pos.z = posZ;
effect->data.snakingStatic->pos.x = posX;
effect->data.snakingStatic->pos.y = posY;
effect->data.snakingStatic->pos.z = posZ;
return ApiStatus_DONE2;
}

View File

@ -25,7 +25,7 @@ void fx_75_render(EffectInstance* effect) {
f32 outZ;
f32 outS;
shim_transform_point(gCameras[gCurrentCameraID].perspectiveMatrix[0], data->unk_04, data->unk_08, data->unk_0C, 1.0f, &outX, &outY, &outZ, &outS);
shim_transform_point(&gCameras[gCurrentCameraID].perspectiveMatrix[0], data->unk_04, data->unk_08, data->unk_0C, 1.0f, &outX, &outY, &outZ, &outS);
outDist = outZ + 5000;
if (outDist < 0) {

View File

@ -8,47 +8,47 @@ void flower_splash_update(EffectInstance* effect);
void flower_splash_render(EffectInstance* effect);
void flower_splash_appendGfx(void* effect);
void func_E0010000(FlowerFXData* effect) {
Matrix4f sp18;
Matrix4f sp58;
void flower_splash_update_part_transform(FlowerFXData* effect) {
Matrix4f transformMtx;
Matrix4f tempMtx;
shim_guRotateF(sp18, effect->unk_24, 1.0f, 0.0f, 0.0f);
shim_guRotateF(sp58, effect->unk_2C, 0.0f, 0.0f, 1.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guRotateF(sp58, effect->unk_28, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp18, sp58, sp18);
shim_guScaleF(sp58, effect->unk_18, effect->unk_1C, effect->unk_20);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guTranslateF(sp58, effect->unk_0C, effect->unk_10, effect->unk_14);
shim_guMtxCatF(sp18, sp58, sp18);
shim_guMtxF2L(sp18, &effect->unk_30);
shim_guRotateF(transformMtx, effect->rot.x, 1.0f, 0.0f, 0.0f);
shim_guRotateF(tempMtx, effect->rot.z, 0.0f, 0.0f, 1.0f);
shim_guMtxCatF(tempMtx, transformMtx, transformMtx);
shim_guRotateF(tempMtx, effect->rot.y, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(transformMtx, tempMtx, transformMtx);
shim_guScaleF(tempMtx, effect->scale.x, effect->scale.y, effect->scale.z);
shim_guMtxCatF(tempMtx, transformMtx, transformMtx);
shim_guTranslateF(tempMtx, effect->pos.x, effect->pos.y, effect->pos.z);
shim_guMtxCatF(transformMtx, tempMtx, transformMtx);
shim_guMtxF2L(transformMtx, &effect->transformMtx);
}
void func_E0010104(FlowerFXData* effect) {
effect->unk_70 *= 0.85;
effect->unk_0C += effect->unk_70 * effect->unk_90;
effect->unk_88 += effect->unk_8C;
effect->unk_84 += effect->unk_88;
effect->unk_80 += effect->unk_84;
effect->unk_10 += effect->unk_80;
effect->unk_14 += effect->unk_70 * effect->unk_94;
void flower_splash_update_part(FlowerFXData* effect) {
effect->velocityScaleA *= 0.85;
effect->pos.x += effect->velocityScaleA * effect->velocity.x;
effect->integrator[2] += effect->integrator[3];
effect->integrator[1] += effect->integrator[2];
effect->integrator[0] += effect->integrator[1];
effect->pos.y += effect->integrator[0];
effect->pos.z += effect->velocityScaleA * effect->velocity.z;
if (effect->unk_80 < 0.0f) {
effect->unk_88 = 0.004f;
if (effect->integrator[0] < 0.0f) {
effect->integrator[2] = 0.004f;
}
effect->unk_24 -= 1.0f;
if (effect->unk_24 < -100.0f) {
effect->unk_24 = -100.0f;
effect->rot.x -= 1.0f;
if (effect->rot.x < -100.0f) {
effect->rot.x = -100.0f;
}
}
void flower_splash_main(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
void flower_splash_main(f32 posX, f32 posY, f32 posZ, f32 angle) {
EffectBlueprint bp;
EffectInstance* effect;
FlowerFXData* data;
FlowerFXData* part;
s32 numParts = 5;
f32 angle;
f32 partAngle;
s32 i;
bp.init = flower_splash_init;
@ -61,36 +61,41 @@ void flower_splash_main(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = shim_general_heap_malloc(numParts * sizeof(*data));
effect->data.flowerSplash = data;
part = effect->data.flowerSplash = shim_general_heap_malloc(numParts * sizeof(*part));
ASSERT(effect->data.flowerSplash != NULL);
shim_mem_clear(data, numParts * sizeof(*data));
shim_mem_clear(part, numParts * sizeof(*part));
for (i = 0; i < numParts; i++, data++) {
data->unk_00 = 1;
data->unk_28 = arg3 + (i * 72);
data->unk_74 = 0.29999998f;
data->unk_78 = 0.0f;
data->unk_7C = 0.0f;
data->unk_0C = arg0;
data->unk_10 = arg1;
data->unk_14 = arg2;
data->unk_18 = 1.0f;
data->unk_1C = 1.0f;
data->unk_20 = 1.0f;
data->primAlpha = 255;
data->unk_06 = 60;
data->unk_24 = 0.0f;
data->unk_2C = 0.0f;
data->unk_80 = 1.75f;
data->unk_84 = -0.08f;
data->unk_70 = -3.9f;
data->unk_88 = 0;
data->unk_8C = 0;
angle = shim_clamp_angle(data->unk_28);
data->unk_90 = shim_sin_deg(angle);
data->unk_94 = shim_cos_deg(angle);
for (i = 0; i < numParts; i++, part++) {
part->alive = TRUE;
part->rot.y = angle + (i * 72);
part->velocityScaleB = 0.29999998f;
part->visibilityAmt = 0.0f;
part->unk_7C = 0.0f;
part->pos.x = posX;
part->pos.y = posY;
part->pos.z = posZ;
part->scale.x = 1.0f;
part->scale.y = 1.0f;
part->scale.z = 1.0f;
part->primAlpha = 255;
part->timeLeft = 60;
part->rot.x = 0.0f;
part->rot.z = 0.0f;
part->integrator[0] = 1.75f;
part->integrator[1] = -0.08f;
part->integrator[2] = 0.0f;
part->integrator[3] = 0.0f;
part->velocityScaleA = -3.9f;
partAngle = shim_clamp_angle(part->rot.y);
part->velocity.x = shim_sin_deg(partAngle);
part->velocity.z = shim_cos_deg(partAngle);
}
}
@ -99,23 +104,23 @@ void flower_splash_init(EffectInstance* effect) {
void flower_splash_update(EffectInstance* effect) {
FlowerFXData* data = effect->data.flowerSplash;
s32 cond = FALSE;
s32 anyAlive = FALSE;
s32 i;
for (i = 0; i < effect->numParts; i++, data++) {
if (data->unk_00 != 0) {
data->unk_06--;
if (data->unk_06 <= 0) {
data->unk_00 = 0;
if (data->alive) {
data->timeLeft--;
if (data->timeLeft <= 0) {
data->alive = FALSE;
} else {
cond = TRUE;
func_E0010104(data);
func_E0010000(data);
anyAlive = TRUE;
flower_splash_update_part(data);
flower_splash_update_part_transform(data);
}
}
}
if (!cond) {
if (!anyAlive) {
shim_remove_effect(effect);
}
}
@ -133,7 +138,7 @@ void flower_splash_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
void func_E00104F4(EffectInstance* effect) {
void flower_splash_dispose(EffectInstance* effect) {
shim_remove_effect(effect);
}
@ -146,10 +151,10 @@ void flower_splash_appendGfx(void* effect) {
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(effectTemp->graphics->data));
for (i = 0; i < effectTemp->numParts; i++, data++) {
if (data->unk_00 != 0) {
if (data->alive) {
Gfx* dlist = D_09000E08_32DCC8;
gDisplayContext->matrixStack[gMatrixListPos] = data->unk_30;
gDisplayContext->matrixStack[gMatrixListPos] = data->transformMtx;
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 112, 96, 24, data->primAlpha);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++],

View File

@ -9,48 +9,48 @@ void flower_trail_update(EffectInstance* effect);
void flower_trail_render(EffectInstance* effect);
void flower_trail_appendGfx(void* effect);
void func_E0012000(FlowerFXData* effect) {
Matrix4f sp18;
Matrix4f sp58;
void flower_trail_update_part_transform(FlowerFXData* effect) {
Matrix4f transformMtx;
Matrix4f tempMtx;
shim_guRotateF(sp18, effect->unk_24, 1.0f, 0.0f, 0.0f);
shim_guRotateF(sp58, effect->unk_2C, 0.0f, 0.0f, 1.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guRotateF(sp58, effect->unk_28, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp18, sp58, sp18);
shim_guScaleF(sp58, effect->unk_18, effect->unk_1C, effect->unk_20);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guTranslateF(sp58, effect->unk_0C, effect->unk_10, effect->unk_14);
shim_guMtxCatF(sp18, sp58, sp18);
shim_guMtxF2L(sp18, &effect->unk_30);
shim_guRotateF(transformMtx, effect->rot.x, 1.0f, 0.0f, 0.0f);
shim_guRotateF(tempMtx, effect->rot.z, 0.0f, 0.0f, 1.0f);
shim_guMtxCatF(tempMtx, transformMtx, transformMtx);
shim_guRotateF(tempMtx, effect->rot.y, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(transformMtx, tempMtx, transformMtx);
shim_guScaleF(tempMtx, effect->scale.x, effect->scale.y, effect->scale.z);
shim_guMtxCatF(tempMtx, transformMtx, transformMtx);
shim_guTranslateF(tempMtx, effect->pos.x, effect->pos.y, effect->pos.z);
shim_guMtxCatF(transformMtx, tempMtx, transformMtx);
shim_guMtxF2L(transformMtx, &effect->transformMtx);
}
void func_E0012104(FlowerFXData* effect) {
if (effect->unk_04 == 0 && effect->unk_78 != 0.0f && gPlayerStatus.actionState == ACTION_STATE_IDLE) {
effect->unk_06++;
void flower_trail_update_part(FlowerFXData* effect) {
if (!effect->triggeredByNpc && effect->visibilityAmt != 0.0f && gPlayerStatus.actionState == ACTION_STATE_IDLE) {
effect->timeLeft++;
return;
}
effect->primAlpha -= 12;
effect->unk_88 += effect->unk_8C;
effect->unk_84 += effect->unk_88;
effect->unk_80 += effect->unk_84;
effect->unk_2C += effect->unk_80 * effect->unk_70;
effect->unk_0C -= effect->unk_80 * effect->unk_74 * effect->unk_90;
effect->unk_14 -= effect->unk_80 * effect->unk_74 * effect->unk_94;
effect->integrator[2] += effect->integrator[3];
effect->integrator[1] += effect->integrator[2];
effect->integrator[0] += effect->integrator[1];
effect->rot.z += effect->integrator[0] * effect->velocityScaleA;
effect->pos.x -= effect->integrator[0] * effect->velocityScaleB * effect->velocity.x;
effect->pos.z -= effect->integrator[0] * effect->velocityScaleB * effect->velocity.z;
if (effect->unk_80 < 0.0f) {
effect->unk_78 = 0.0f;
if (effect->integrator[0] < 0.0f) {
effect->visibilityAmt = 0.0f;
}
}
void flower_trail_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5) {
void flower_trail_main(s32 triggeredByNpc, f32 posX, f32 posY, f32 posZ, f32 angle, f32 direction) {
EffectBlueprint bp;
EffectInstance* effect;
FlowerFXData* part;
s32 numParts = 1;
f32 angle;
f32 temp;
f32 partAngle;
f32 angleOffset;
s32 i;
bp.init = flower_trail_init;
@ -63,52 +63,55 @@ void flower_trail_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
part = shim_general_heap_malloc(numParts * sizeof(*part));
effect->data.flowerTrail = part;
part = effect->data.flowerTrail = shim_general_heap_malloc(numParts * sizeof(*part));
ASSERT(effect->data.flowerTrail != NULL);
shim_mem_clear(part, numParts * sizeof(*part));
for (i = 0; i < numParts; i++, part++) {
part->unk_00 = 1;
part->unk_04 = arg0;
part->alive = TRUE;
part->triggeredByNpc = triggeredByNpc;
part->unk_7C = 0.0f;
part->unk_0C = arg1;
part->unk_10 = arg2;
part->unk_14 = arg3;
part->unk_18 = 1.0f;
part->unk_1C = 1.0f;
part->unk_20 = 1.0f;
part->pos.x = posX;
part->pos.y = posY;
part->pos.z = posZ;
part->scale.x = 1.0f;
part->scale.y = 1.0f;
part->scale.z = 1.0f;
part->primAlpha = 255;
part->unk_78 = 1.0f;
part->unk_74 = 5.4f;
if (arg5 != 0.0f) {
part->unk_70 = -10.0f;
part->visibilityAmt = 1.0f;
part->velocityScaleB = 5.4f;
if (direction != 0.0f) {
part->velocityScaleA = -10.0f;
} else {
part->unk_70 = 10.0f;
part->velocityScaleA = 10.0f;
}
part->unk_8C = 0;
part->unk_06 = 15;
part->unk_28 = arg4;
part->unk_24 = 0;
part->unk_2C = 0;
part->unk_80 = 0.5f;
part->unk_84 = -0.07f;
part->unk_88 = 0.003f;
part->unk_09 = (shim_rand_int(100) >> 4) & 1;
part->integrator[0] = 0.5f;
part->integrator[1] = -0.07f;
part->integrator[2] = 0.003f;
part->integrator[3] = 0;
if (arg5 != 0.0f) {
temp = -90.0f;
angle = shim_clamp_angle(arg4 + temp);
part->timeLeft = 15;
part->rot.y = angle;
part->rot.x = 0.0f;
part->rot.z = 0.0f;
part->useAltColor = (shim_rand_int(100) >> 4) & 1;
if (direction != 0.0f) {
angleOffset = -90.0f;
partAngle = shim_clamp_angle(angle + angleOffset);
} else {
temp = 90.0f;
angle = shim_clamp_angle(arg4 + temp);
angleOffset = 90.0f;
partAngle = shim_clamp_angle(angle + angleOffset);
}
part->unk_90 = shim_sin_deg(angle);
part->unk_94 = shim_cos_deg(angle);
part->velocity.x = shim_sin_deg(partAngle);
part->velocity.z = shim_cos_deg(partAngle);
}
}
@ -117,62 +120,62 @@ void flower_trail_init(EffectInstance* effect) {
void flower_trail_update(EffectInstance* effect) {
FlowerFXData* part = effect->data.flowerTrail;
s32 cond = FALSE;
s32 anyAlive = FALSE;
s32 i;
for (i = 0; i < effect->numParts; i++, part++) {
if (part->unk_00 != 0) {
part->unk_06--;
if (part->unk_06 <= 0) {
part->unk_00 = 0;
if (part->alive) {
part->timeLeft--;
if (part->timeLeft <= 0) {
part->alive = FALSE;
} else {
cond = TRUE;
func_E0012104(part);
func_E0012000(part);
anyAlive = TRUE;
flower_trail_update_part(part);
flower_trail_update_part_transform(part);
}
}
}
if (!cond) {
if (!anyAlive) {
shim_remove_effect(effect);
}
}
void flower_trail_render(EffectInstance* effect) {
RenderTask renderTask;
RenderTask* retTask;
RenderTask* queuedTaskPtr;
renderTask.appendGfx = flower_trail_appendGfx;
renderTask.appendGfxArg = effect;
renderTask.distance = 0;
renderTask.renderMode = RENDER_MODE_28;
retTask = shim_queue_render_task(&renderTask);
retTask->renderMode |= RENDER_TASK_FLAG_2;
queuedTaskPtr = shim_queue_render_task(&renderTask);
queuedTaskPtr->renderMode |= RENDER_TASK_FLAG_2;
}
void func_E0012548(EffectInstance* effect) {
void flower_trail_dispose(EffectInstance* effect) {
shim_remove_effect(effect);
}
void flower_trail_appendGfx(void* effect) {
EffectInstance* effectTemp = effect;
FlowerFXData* part = effectTemp->data.flowerTrail;
void flower_trail_appendGfx(void* argEffect) {
EffectInstance* effect = argEffect;
FlowerFXData* part = effect->data.flowerTrail;
Gfx* dlist;
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(effectTemp->graphics->data));
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(effect->graphics->data));
for (i = 0; i < effectTemp->numParts; i++, part++) {
if (part->unk_00 != 0) {
if (part->unk_09 != 0) {
for (i = 0; i < effect->numParts; i++, part++) {
if (part->alive) {
if (part->useAltColor) {
dlist = D_09000E20_32DCE0;
} else {
dlist = D_09000E38_32DCF8;
}
gDisplayContext->matrixStack[gMatrixListPos] = part->unk_30;
gDisplayContext->matrixStack[gMatrixListPos] = part->transformMtx;
gDPPipeSync(gMasterGfxPos++);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 112, 96, 24, part->primAlpha);

View File

@ -1,11 +1,60 @@
#include "common.h"
#include "effects_internal.h"
void sun_init(EffectInstance* effect);
void sun_update(EffectInstance* effect);
void sun_render(EffectInstance* effect);
void sun_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/sun", sun_main);
EffectInstance* sun_main(s32 arg0, f32 offsetX, f32 offsetY, f32 offsetZ, f32 arg4, s32 duration) {
EffectBlueprint sp10;
EffectInstance* effect;
SunFXData* data;
s32 numParts = 1;
s32 i;
void sun_init(void) {
sp10.init = sun_init;
sp10.update = sun_update;
sp10.renderWorld = sun_render;
sp10.unk_00 = 0;
sp10.unk_14 = NULL;
sp10.effectID = EFFECT_SUN;
effect = shim_create_effect_instance(&sp10);
effect->numParts = numParts;
data = effect->data.sun = shim_general_heap_malloc(sizeof(*data));
ASSERT(data != NULL);
data->unk_00 = arg0;
data->lifeTime = 0;
if (duration <= 0) {
data->timeLeft = 1000;
} else {
data->timeLeft = duration;
}
data->unk_04.x = offsetX;
data->unk_04.y = offsetY;
data->unk_04.z = offsetZ;
data->unk_34 = arg4;
data->unk_18 = 255;
data->unk_19 = 255;
data->unk_1A = 255;
data->unk_1B = 255;
data->unk_1C = 255;
data->unk_1D = 255;
data->unk_1E = 255;
for (i = 0; i < ARRAY_COUNT(data->unk_20); i++) {
data->unk_20[i] = 0.0f;
}
data->targetAlpha = 255;
data->alpha = 0;
return effect;
}
void sun_init(EffectInstance* effect) {
}
INCLUDE_ASM(s32, "effects/sun", sun_update);

View File

@ -391,10 +391,10 @@ s32 LoadPath(Evt* script, s32 isInitialCall) {
script->varTablePtr[15] = path;
path->numVectors = numVectors;
path->unk_04 = heap_malloc(numVectors * sizeof(f32));
path->lengths = heap_malloc(numVectors * sizeof(f32));
path->staticVectorList = vectorList;
path->vectors = heap_malloc(numVectors * sizeof(Vec3f));
load_path_data(path->numVectors, path->unk_04, path->staticVectorList, path->vectors);
load_path_data(path->numVectors, path->lengths, path->staticVectorList, path->vectors);
path->timeElapsed = 0;
path->timeLeft = time - 1;
@ -428,7 +428,7 @@ ApiStatus GetNextPathPos(Evt* script, s32 isInitialCall) {
break;
}
get_path_position(alpha, &pos, path->numVectors, path->unk_04, path->staticVectorList, path->vectors);
get_path_position(alpha, &pos, path->numVectors, path->lengths, path->staticVectorList, path->vectors);
script->varTable[1] = (pos.x * 1024.0f) + -2.3e8f;
script->varTable[2] = (pos.y * 1024.0f) + -2.3e8f;
script->varTable[3] = (pos.z * 1024.0f) + -2.3e8f;
@ -437,7 +437,7 @@ ApiStatus GetNextPathPos(Evt* script, s32 isInitialCall) {
path->timeElapsed = path->timeElapsed + 1;
script->varTable[0] = 1;
} else {
heap_free(path->unk_04);
heap_free(path->lengths);
heap_free(path->vectors);
heap_free(script->varTablePtr[15]);
script->varTable[0] = 0;

View File

@ -90,7 +90,7 @@ s32 _create_npc(NpcBlueprint* blueprint, u32** animList, s32 skipLoadingAnims) {
npc->collisionRadius = 32;
npc->collisionHeight = 64;
npc->renderMode = 13;
npc->blurBuf = NULL;
npc->blur.any = NULL;
npc->yaw = 0.0f;
npc->jumpVelocity = 0.0f;
npc->pos.x = 0.0f;
@ -189,9 +189,9 @@ void free_npc_by_index(s32 listIndex) {
npc = (*gCurrentNpcListPtr)[listIndex];
if (npc != NULL) {
if (npc->flags) {
if (npc->blurBuf != NULL) {
heap_free(npc->blurBuf);
npc->blurBuf = NULL;
if (npc->blur.any != NULL) {
heap_free(npc->blur.any);
npc->blur.any = NULL;
}
if (!(npc->flags & NPC_FLAG_NO_ANIMS_LOADED)) {
@ -218,9 +218,9 @@ void free_npc_by_index(s32 listIndex) {
void free_npc(Npc* npc) {
s32 i;
if (npc->blurBuf != NULL) {
heap_free(npc->blurBuf);
npc->blurBuf = NULL;
if (npc->blur.any != NULL) {
heap_free(npc->blur.any);
npc->blur.any = NULL;
}
if (!(npc->flags & NPC_FLAG_NO_ANIMS_LOADED)) {
@ -956,21 +956,21 @@ void set_npc_sprite(Npc* npc, s32 anim, u32** extraAnimList) {
void enable_npc_blur(Npc* npc) {
if (!(npc->flags & NPC_FLAG_MOTION_BLUR)) {
BlurBuffer* blurBuf;
NpcMotionBlur* motionBlur;
s32 i;
npc->flags |= NPC_FLAG_MOTION_BLUR;
blurBuf = heap_malloc(sizeof(*blurBuf));
npc->blurBuf = blurBuf;
ASSERT(blurBuf != NULL);
blurBuf->unk_00 = 0;
blurBuf->index = 0;
motionBlur = heap_malloc(sizeof(*motionBlur));
npc->blur.motion = motionBlur;
ASSERT(motionBlur != NULL);
motionBlur->unk_00 = 0;
motionBlur->index = 0;
for (i = 0; i < ARRAY_COUNT(blurBuf->x); i++) {
blurBuf->x[i] = npc->pos.x;
blurBuf->y[i] = npc->pos.y;
blurBuf->z[i] = npc->pos.z;
for (i = 0; i < ARRAY_COUNT(motionBlur->x); i++) {
motionBlur->x[i] = npc->pos.x;
motionBlur->y[i] = npc->pos.y;
motionBlur->z[i] = npc->pos.z;
}
}
}
@ -979,25 +979,25 @@ void disable_npc_blur(Npc* npc) {
if (npc->flags & NPC_FLAG_MOTION_BLUR) {
npc->flags &= ~NPC_FLAG_MOTION_BLUR;
heap_free(npc->blurBuf);
npc->blurBuf = NULL;
heap_free(npc->blur.motion);
npc->blur.motion = NULL;
}
}
void update_npc_blur(Npc* npc) {
BlurBuffer* blurBuf = npc->blurBuf;
s32 index = blurBuf->index;
NpcMotionBlur* motionBlur = npc->blur.motion;
s32 index = motionBlur->index;
blurBuf->x[index] = npc->pos.x;
blurBuf->y[index] = npc->pos.y;
blurBuf->z[index] = npc->pos.z;
motionBlur->x[index] = npc->pos.x;
motionBlur->y[index] = npc->pos.y;
motionBlur->z[index] = npc->pos.z;
index++;
if (index >= 20) {
index = 0;
}
blurBuf->index = index;
motionBlur->index = index;
}
INCLUDE_ASM(void, "npc", appendGfx_npc_blur, Npc* npc);

View File

@ -607,7 +607,7 @@ void spr_get_player_raster_info(SpriteRasterInfo* out, s32 playerSpriteID, s32 r
}
}
u16** spr_get_player_palettes(s32 spriteIndex) {
PAL_PTR* spr_get_player_palettes(s32 spriteIndex) {
SpriteAnimData* sprites = spr_playerSprites[spriteIndex - 1];
if (sprites == NULL) {
return NULL;

View File

@ -67,6 +67,13 @@ typedef struct PlayerSpriteSet {
/* 0x08 */ s32 initiallyLoaded;
} PlayerSpriteSet; // size = 0xC
typedef struct PlayerSpriteCacheEntry {
/* 0x00 */ s32 lazyDeleteTime;
/* 0x04 */ s32 rasterIndex;
/* 0x08 */ s32 spriteIndex;
/* 0x0C */ IMG_PTR* raster;
} PlayerSpriteCacheEntry; // size = 0x10
/// Sprite data header.
typedef struct SpriteAnimData {
/* 0x00 */ SpriteRasterCacheEntry** rastersOffset;
@ -112,11 +119,11 @@ void func_802DDEE4(s32, s32, s32, s32, s32, s32, s32, s32);
void func_802DDFF8(s32, s32, s32, s32, s32, s32, s32);
void* spr_get_player_raster(s32 rasterIndex, s32 playerSpriteID);
IMG_PTR spr_get_player_raster(s32 rasterIndex, s32 playerSpriteID);
void spr_get_player_raster_info(SpriteRasterInfo* out, s32 playerSpriteID, s32 rasterIndex);
u16** spr_get_player_palettes(s32 spriteIndex);
PAL_PTR* spr_get_player_palettes(s32 spriteIndex);
/// @param animID - Set MSB for tail allocation (i.e. `0x80XXYYZZ`)
s32 spr_load_npc_sprite(s32 animID, u32* extraAnimList);
@ -139,7 +146,7 @@ s32 func_802DE894(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s3
s32 spr_get_npc_raster_info(SpriteRasterInfo* out, s32 npcSpriteID, s32 rasterIndex);
u16** spr_get_npc_palettes(s32 npcSpriteID);
PAL_PTR* spr_get_npc_palettes(s32 npcSpriteID);
s32 spr_get_npc_color_variations(s32 npcSpriteID);

View File

@ -1,11 +1,8 @@
#include "end_00.h"
#ifdef NON_MATCHING
ApiStatus end_00_DisposeFX3D(Evt *script, s32 isInitialCall) {
extern s32 D_80249D60_E00760;
ApiStatus func_80242B10_DF9510(Evt *script, s32 isInitialCall) {
D_80249D60_E00760 = evt_get_variable(script, *script->ptrReadPos);
return ApiStatus_DONE2;
}
#else
INCLUDE_ASM(s32, "world/area_end/end_00/DF9510", func_80242B10_DF9510);
#endif

View File

@ -643,33 +643,26 @@ void N(func_80240504_CCB814)(void) {
INCLUDE_ASM(void, "world/area_flo/flo_14/CCB310", flo_14_func_80240504_CCB814, void);
#endif
typedef struct {
/* 0x00 */s16 unk_00;
/* 0x02 */s16 unk_02;
/* 0x04 */s16 unk_04;
/* 0x06 */char unk_06[0xA];
} N(UnkStruct); // size = 0x10
void N(func_802407D4_CCBAE4)(void) {
s32 i;
N(UnkStruct)* x;
N(UnkStruct)* y;
s32 z;
f32 temp_f20;
f32 temp_f0;
Vtx* verts;
Vtx* copied;
s32 numCopied;
f32 openedScale; // controls how open the flower is
f32 lengthScale; // controls longitudinal pulsing
mdl_get_copied_vertices(1, &x, &y, &z);
mdl_get_copied_vertices(1, &verts, &copied, &numCopied);
for (i = 0; i < z; i++) {
N(UnkStruct)* ptr1 = &x[i];
N(UnkStruct)* ptr2 = &y[i];
for (i = 0; i < numCopied; i++) {
Vtx* src = &verts[i];
Vtx* copy = &copied[i];
if (ptr1->unk_00 < 0x259) {
temp_f20 = (sin_rad((N(D_80243B18_CCEE28) / 180.0f) * 3.141592) * 0.3) + 0.7;
temp_f0 = 0.2 - (sin_rad((N(D_80243B18_CCEE28) / 180.0f) * 3.141592) * 0.2);
ptr2->unk_00 = ((ptr1->unk_00 - 0x268) * temp_f20) + 616.0f + (temp_f0 * -48.0f);
ptr2->unk_02 = ((ptr1->unk_02 - 0x2C) * temp_f20) + 44.0f + (temp_f0 * 25.0f);
ptr2->unk_04 = ((ptr1->unk_04 - 0x71) * temp_f20) + 113.0f + (temp_f0 * -87.0f);
if (src->v.ob[0] <= 600) {
openedScale = 0.7 + (sin_rad((N(D_80243B18_CCEE28) / 180.0f) * PI_D) * 0.3);
lengthScale = 0.2 - (sin_rad((N(D_80243B18_CCEE28) / 180.0f) * PI_D) * 0.2);
copy->v.ob[0] = ((src->v.ob[0] - 616) * openedScale) + 616.0f + (lengthScale * -48.0f);
copy->v.ob[1] = ((src->v.ob[1] - 44) * openedScale) + 44.0f + (lengthScale * 25.0f);
copy->v.ob[2] = ((src->v.ob[2] - 113) * openedScale) + 113.0f + (lengthScale * -87.0f);
}
}

View File

@ -0,0 +1,122 @@
#include "common.h"
#include "sprite/npc/stone_chomp.h"
ApiStatus N(StoneChompFXA)(Evt* script, s32 isInitialCall) {
NpcBlueprint bp;
NpcBlueprint* bpPtr = &bp;
NpcChompBlur* blurData;
Npc* npc;
Npc* newNpc;
s32 i;
npc = get_npc_safe(script->owner2.npcID);
blurData = heap_malloc(8 * sizeof(*blurData));
npc->blur.chomp = blurData;
bp.flags = NPC_FLAG_8000 | NPC_FLAG_100 | NPC_FLAG_40
| NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_2;
bp.initialAnim = NPC_ANIM_stone_chomp_Palette_00_Anim_2;
bp.onUpdate = NULL;
bp.onRender = NULL;
for (i = 0; i < 8; i++, blurData++) {
blurData->npc = newNpc = get_npc_by_index(_create_npc_basic(bpPtr));
newNpc->pos.x = npc->pos.x;
newNpc->pos.y = npc->pos.y;
newNpc->pos.z = npc->pos.z;
newNpc->yaw = npc->yaw;
newNpc->verticalRenderOffset = 3;
disable_npc_shadow(newNpc);
blurData->offset.x = 0.0f;
blurData->offset.y = 0.0f;
blurData->offset.z = 0.0f;
}
return ApiStatus_DONE2;
}
ApiStatus N(StoneChompFXB)(Evt* script, s32 isInitialCall) {
NpcChompBlur* blurData;
Npc* ownerNpc;
Npc* childNpc;
f32 posX, posY, posZ;
f32 nextX, nextY, nextZ;
f32 invDist;
f32 floorY;
s32 i;
floorY = (f32) script->owner1.enemy->varTable[0];
ownerNpc = get_npc_safe(script->owner2.npcID);
blurData = ownerNpc->blur.chomp;
posX = ownerNpc->pos.x;
posY = ownerNpc->pos.y + (ownerNpc->collisionHeight * 0.2f);
posZ = ownerNpc->pos.z;
add_vec2D_polar(&posX, &posZ, ownerNpc->collisionRadius * 0.3f, clamp_angle(ownerNpc->renderYaw + 180.0f));
if (ownerNpc->flags & 2) {
for (i = 0; i < 8; i++, blurData++) {
childNpc = blurData->npc;
childNpc->pos.x = posX;
childNpc->pos.y = posY;
childNpc->pos.z = posZ;
}
return ApiStatus_BLOCK;
}
for (i = 0; i < 8; i++, blurData++) {
childNpc = blurData->npc;
if (dist3D(childNpc->pos.x, childNpc->pos.y, childNpc->pos.z, posX, posY, posZ) >= 10.0) {
invDist = 10.0 / dist3D(
((childNpc->pos.x - posX) * 0.8f) + posX, childNpc->pos.y, ((childNpc->pos.z - posZ) * 0.8f) + posZ,
posX, posY,posZ);
nextX = posX = ((childNpc->pos.x - posX) * 0.8f * invDist) + posX;
nextY = posY = ((childNpc->pos.y - posY) * invDist) + posY;
nextZ = posZ = ((childNpc->pos.z - posZ) * 0.8f * invDist) + posZ;
blurData->offset.x = (nextX - childNpc->pos.x) * 0.7f;
blurData->offset.y = (nextY - childNpc->pos.y) * 0.7f;
blurData->offset.z = (nextZ - childNpc->pos.z) * 0.7f;
childNpc->pos.x = nextX;
childNpc->pos.y = nextY;
childNpc->pos.z = nextZ;
if (blurData->offset.y > 10.0f) {
blurData->offset.y = 10.0f;
}
} else {
blurData->offset.x = blurData->offset.x * 0.9f;
blurData->offset.z = blurData->offset.z * 0.9f;
childNpc->pos.x += blurData->offset.x;
childNpc->pos.z += blurData->offset.z;
}
blurData->offset.y -= 1.0f;
if (blurData->offset.y < -10.0f) {
blurData->offset.y = -10.0f;
}
childNpc->pos.y += blurData->offset.y;
if (childNpc->pos.y <= floorY) {
childNpc->pos.y = floorY;
blurData->offset.y = -blurData->offset.y * 0.5;
}
posX = childNpc->pos.x;
posY = childNpc->pos.y;
posZ = childNpc->pos.z;
childNpc->flags = ownerNpc->flags;
}
return ApiStatus_BLOCK;
}
ApiStatus N(StoneChompFXC)(Evt* script, s32 isInitialCall) {
NpcChompBlur* blurData = get_npc_safe(script->owner2.npcID)->blur.chomp;
s32 i;
for (i = 0; i < 8; i++, blurData++) {
free_npc(blurData->npc);
}
return ApiStatus_DONE2;
}

View File

@ -1,68 +1,161 @@
#include "isk_05.h"
#include "sprite.h"
#include "sprite/npc/stone_chomp.h"
static char* N(exit_str_0) = "isk_04";
static char* N(exit_str_1) = "";
typedef struct UnkIsk14 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ s32 unk_0C;
#include "world/common/enemy/StoneChompAI.inc.c"
#include "world/area_isk/StoneChompFX.inc.c"
typedef struct StoneChompAmbushIsk05 {
/* 0x00 */ s32 foldID;
/* 0x04 */ s32 workerID;
/* 0x08 */ s32 spriteIndex;
/* 0x0C */ s32 rasterIndex;
/* 0x10 */ Vec3f pos;
/* 0x1C */ Vec3f rot;
/* 0x28 */ Vec3f scale;
/* 0x34 */ f32 unk_34;
/* 0x38 */ s32 unk_38;
/* 0x34 */ f32 renderYaw;
/* 0x38 */ s32 alpha;
/* 0x3C */ f32 width;
/* 0x40 */ f32 height;
} UnkIsk14; // size: unknown
} StoneChompAmbushIsk05; // size = 0x44
extern UnkIsk14 D_80242614_9800E4;
extern StoneChompAmbushIsk05 N(ChompAmbush);
#include "world/common/enemy/StoneChompAI.inc.c"
void func_80241610_97F0E0(void) {
StoneChompAmbushIsk05* ambush = &N(ChompAmbush);
Camera* cam = &gCameras[gCurrentCameraID];
FoldImageRecPart foldImg;
SpriteRasterInfo spriteRaster;
Matrix4f transformMtx, tempMtx;
#include "world/common/UnkFunc53.inc.c"
gSPViewport(gMasterGfxPos++, &cam->vp);
if (!(cam->flags & CAMERA_FLAGS_10)) {
gSPPerspNormalize(gMasterGfxPos++, cam->perspNorm);
}
guMtxF2L(cam->perspectiveMatrix, &gDisplayContext->camPerspMatrix[gCurrentCameraID]);
INCLUDE_ASM(s32, "world/area_isk/isk_05/97DAD0", func_802411F8_97ECC8);
INCLUDE_ASM(s32, "world/area_isk/isk_05/97DAD0", func_802415C0_97F090);
INCLUDE_ASM(s32, "world/area_isk/isk_05/97DAD0", func_80241610_97F0E0);
void func_80241610_97F0E0();
gSPMatrix(gMasterGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCameraID],
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gDPPipeSync(gMasterGfxPos++);
gDPSetCycleType(gMasterGfxPos++, G_CYC_1CYCLE);
gSPClearGeometryMode(gMasterGfxPos++, G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING
| G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH);
gSPSetGeometryMode(gMasterGfxPos++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH);
gSPTexture(gMasterGfxPos++, -1, -1, 0, G_TX_RENDERTILE, G_ON);
gDPSetTextureLOD(gMasterGfxPos++, G_TL_TILE);
gDPSetTexturePersp(gMasterGfxPos++, G_TP_PERSP);
gDPSetTextureFilter(gMasterGfxPos++, G_TF_BILERP);
gDPSetColorDither(gMasterGfxPos++, G_CD_DISABLE);
gDPSetTextureDetail(gMasterGfxPos++, G_TD_CLAMP);
gDPSetTextureConvert(gMasterGfxPos++, G_TC_FILT);
gDPSetCombineKey(gMasterGfxPos++, G_CK_NONE);
gDPSetAlphaCompare(gMasterGfxPos++, G_AC_NONE);
guTranslateF(transformMtx, ambush->pos.x, ambush->pos.y, ambush->pos.z);
guRotateF(tempMtx, ambush->rot.y + gCameras[gCurrentCameraID].currentYaw + ambush->renderYaw, 0.0f, 1.0f, 0.0f);
guMtxCatF(tempMtx, transformMtx, transformMtx);
guRotateF(tempMtx, ambush->rot.z, 0.0f, 0.0f, 1.0f);
guMtxCatF(tempMtx, transformMtx, transformMtx);
guRotateF(tempMtx, ambush->rot.x, 1.0f, 0.0f, 0.0f);
guMtxCatF(tempMtx, transformMtx, transformMtx);
guScaleF(tempMtx, ambush->scale.x, ambush->scale.y, ambush->scale.z);
guMtxCatF(tempMtx, transformMtx, transformMtx);
guMtxF2L(transformMtx, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
spr_get_npc_raster_info(&spriteRaster, ambush->spriteIndex, ambush->rasterIndex);
foldImg.raster = spriteRaster.raster;
foldImg.palette = spriteRaster.defaultPal;
ambush->width = foldImg.width = spriteRaster.width;
ambush->height = foldImg.height = spriteRaster.height;
foldImg.xOffset = -(spriteRaster.width / 2);
foldImg.yOffset = (spriteRaster.height / 2);
foldImg.opacity = 255;
fold_update(ambush->foldID, FOLD_TYPE_7, 255, 255, 255, ambush->alpha, 0);
fold_appendGfx_component(ambush->foldID, &foldImg, 0, transformMtx);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
ApiStatus func_80241B28_97F5F8(Evt* script, s32 isInitialCall) {
StoneChompAmbushIsk05* ambush = &N(ChompAmbush);
SpriteRasterInfo rasterInfo;
Npc* npc = get_npc_unsafe(script->owner1.enemy->npcID);
D_80242614_9800E4.unk_08 = 53; //TODO get spriteID for this constant
D_80242614_9800E4.unk_0C = 0;
spr_get_npc_raster_info(&rasterInfo, 53, 0); //TODO get spriteID for this constant
D_80242614_9800E4.width = rasterInfo.width;
D_80242614_9800E4.height = rasterInfo.height;
D_80242614_9800E4.pos.x = npc->pos.x;
D_80242614_9800E4.pos.y = npc->pos.y + (D_80242614_9800E4.height * SPRITE_WORLD_SCALE_D * 0.5);
D_80242614_9800E4.pos.z = npc->pos.z;
D_80242614_9800E4.rot.x = 0;
D_80242614_9800E4.rot.y = 0;
D_80242614_9800E4.rot.z = 0;
D_80242614_9800E4.scale.x = SPRITE_WORLD_SCALE;
D_80242614_9800E4.scale.y = SPRITE_WORLD_SCALE;
D_80242614_9800E4.scale.z = SPRITE_WORLD_SCALE;
D_80242614_9800E4.unk_34 = 85.0f;
D_80242614_9800E4.unk_38 = 0;
D_80242614_9800E4.unk_00 = 0;
D_80242614_9800E4.unk_04 = create_generic_entity_frontUI(NULL, func_80241610_97F0E0);
ambush->spriteIndex = 53; //TODO get spriteID for this constant
ambush->rasterIndex = 0;
spr_get_npc_raster_info(&rasterInfo, ambush->spriteIndex, ambush->rasterIndex);
ambush->width = rasterInfo.width;
ambush->height = rasterInfo.height;
ambush->pos.x = npc->pos.x;
ambush->pos.y = npc->pos.y + (ambush->height * SPRITE_WORLD_SCALE_D * 0.5);
ambush->pos.z = npc->pos.z;
ambush->rot.x = 0;
ambush->rot.y = 0;
ambush->rot.z = 0;
ambush->scale.x = SPRITE_WORLD_SCALE;
ambush->scale.y = SPRITE_WORLD_SCALE;
ambush->scale.z = SPRITE_WORLD_SCALE;
ambush->renderYaw = 85.0f;
ambush->alpha = 0.0f;
ambush->foldID = 0;
ambush->workerID = create_generic_entity_frontUI(NULL, func_80241610_97F0E0);
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_isk/isk_05/97DAD0", func_80241C34_97F704);
ApiStatus func_80241C34_97F704(Evt* script, s32 isInitialCall) {
StoneChompAmbushIsk05* ambush = &N(ChompAmbush);
INCLUDE_ASM(s32, "world/area_isk/isk_05/97DAD0", func_80241C5C_97F72C);
free_generic_entity(ambush->workerID);
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_isk/isk_05/97DAD0", func_80241D44_97F814);
ApiStatus func_80241C5C_97F72C(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 x = evt_get_float_variable(script, *args++);
s32 y = evt_get_float_variable(script, *args++);
s32 z = evt_get_float_variable(script, *args++);
StoneChompAmbushIsk05* ambush = &N(ChompAmbush);
INCLUDE_ASM(s32, "world/area_isk/isk_05/97DAD0", func_80241DF8_97F8C8);
ambush->pos.x = x;
ambush->pos.y = y + (ambush->height * SPRITE_WORLD_SCALE_D * 0.5);
ambush->pos.z = z;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_isk/isk_05/97DAD0", func_80241E24_97F8F4);
ApiStatus func_80241D44_97F814(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 x = evt_get_float_variable(script, *args++);
s32 y = evt_get_float_variable(script, *args++);
s32 z = evt_get_float_variable(script, *args++);
StoneChompAmbushIsk05* ambush = &N(ChompAmbush);
ambush->rot.x = x;
ambush->rot.y = y;
ambush->rot.z = z;
return ApiStatus_DONE2;
}
ApiStatus func_80241DF8_97F8C8(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
StoneChompAmbushIsk05* ambush = &N(ChompAmbush);
ambush->alpha = evt_get_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus func_80241E24_97F8F4(Evt* script, s32 isInitialCall) {
f32 x = evt_get_variable(script, LW(2));
f32 y = evt_get_variable(script, LW(0));
f32 z = evt_get_variable(script, LW(4));
fx_landing_dust(0, x, y, z, 0.0f);
return ApiStatus_DONE2;
}

View File

@ -1,26 +1,200 @@
#include "isk_13.h"
#include "sprite.h"
#include "sprite/npc/stone_chomp.h"
static char* N(exit_str_0) = "isk_12";
static char* N(exit_str_1) = "";
#include "world/common/enemy/StoneChompAI.inc.c"
#include "world/common/UnkFunc53.inc.c"
#include "world/area_isk/StoneChompFX.inc.c"
INCLUDE_ASM(s32, "world/area_isk/isk_13/98F7E0", func_802411F8_9909D8);
typedef struct StoneChompAmbushIsk13 {
/* 0x00 */ s32 useBitingAnim;
/* 0x04 */ s32 foldID;
/* 0x08 */ s32 workerID;
/* 0x0C */ s32 spriteIndex;
/* 0x10 */ s32 rasterIndex;
/* 0x14 */ Vec3f pos;
/* 0x20 */ Vec3f rot;
/* 0x2C */ Vec3f scale;
/* 0x38 */ f32 renderYaw;
/* 0x3C */ Color4f color;
/* 0x4C */ f32 width;
/* 0x50 */ f32 height;
} StoneChompAmbushIsk13; // size = 0x54
INCLUDE_ASM(s32, "world/area_isk/isk_13/98F7E0", func_802415C0_990DA0);
void func_80241610_990DF0(void) {
StoneChompAmbushIsk13* ambush = (StoneChompAmbushIsk13*) evt_get_variable(NULL, GW(10));
Camera* cam = &gCameras[gCurrentCameraID];
FoldImageRecPart foldImg;
SpriteRasterInfo spriteRaster;
Matrix4f transformMtx, tempMtx;
gSPViewport(gMasterGfxPos++, &cam->vp);
if (!(cam->flags & CAMERA_FLAGS_10)) {
gSPPerspNormalize(gMasterGfxPos++, cam->perspNorm);
}
guMtxF2L(cam->perspectiveMatrix, &gDisplayContext->camPerspMatrix[gCurrentCameraID]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCameraID],
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gDPPipeSync(gMasterGfxPos++);
gDPSetCycleType(gMasterGfxPos++, G_CYC_1CYCLE);
gSPClearGeometryMode(gMasterGfxPos++, G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING
| G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH);
gSPSetGeometryMode(gMasterGfxPos++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH);
gSPTexture(gMasterGfxPos++, -1, -1, 0, G_TX_RENDERTILE, G_ON);
gDPSetTextureLOD(gMasterGfxPos++, G_TL_TILE);
gDPSetTexturePersp(gMasterGfxPos++, G_TP_PERSP);
gDPSetTextureFilter(gMasterGfxPos++, G_TF_BILERP);
gDPSetColorDither(gMasterGfxPos++, G_CD_DISABLE);
gDPSetTextureDetail(gMasterGfxPos++, G_TD_CLAMP);
gDPSetTextureConvert(gMasterGfxPos++, G_TC_FILT);
gDPSetCombineKey(gMasterGfxPos++, G_CK_NONE);
gDPSetAlphaCompare(gMasterGfxPos++, G_AC_NONE);
guTranslateF(transformMtx, ambush->pos.x, ambush->pos.y, ambush->pos.z);
guRotateF(tempMtx, ambush->rot.y + gCameras[gCurrentCameraID].currentYaw + ambush->renderYaw, 0.0f, 1.0f, 0.0f);
guMtxCatF(tempMtx, transformMtx, transformMtx);
guRotateF(tempMtx, ambush->rot.z, 0.0f, 0.0f, 1.0f);
guMtxCatF(tempMtx, transformMtx, transformMtx);
guRotateF(tempMtx, ambush->rot.x, 1.0f, 0.0f, 0.0f);
guMtxCatF(tempMtx, transformMtx, transformMtx);
guScaleF(tempMtx, ambush->scale.x, ambush->scale.y, ambush->scale.z);
guMtxCatF(tempMtx, transformMtx, transformMtx);
guMtxF2L(transformMtx, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (ambush->useBitingAnim) {
if ((gGameStatusPtr->frameCounter % 10) < 5) {
ambush->rasterIndex = 0;
} else {
ambush->rasterIndex = 2;
}
}
spr_get_npc_raster_info(&spriteRaster, ambush->spriteIndex, ambush->rasterIndex);
foldImg.raster = spriteRaster.raster;
foldImg.palette = spriteRaster.defaultPal;
ambush->width = foldImg.width = spriteRaster.width;
ambush->height = foldImg.height = spriteRaster.height;
foldImg.xOffset = -(spriteRaster.width / 2);
foldImg.yOffset = (spriteRaster.height / 2);
foldImg.opacity = 255;
fold_update(ambush->foldID, FOLD_TYPE_8, ambush->color.r, ambush->color.g, ambush->color.b, ambush->color.a, 0);
fold_appendGfx_component(ambush->foldID, &foldImg, 0, transformMtx);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
INCLUDE_ASM(s32, "world/area_isk/isk_13/98F7E0", func_80241610_990DF0);
ApiStatus func_80241BA8_991388(Evt* script, s32 isInitialCall) {
StoneChompAmbushIsk13* ambush;
SpriteRasterInfo rasterInfo;
Npc* npc = get_npc_unsafe(script->owner1.enemy->npcID);
ambush = heap_malloc(sizeof(*ambush));
ambush->useBitingAnim = FALSE;
ambush->spriteIndex = 0x35; //TODO get spriteID for this constant
ambush->rasterIndex = 0;
spr_get_npc_raster_info(&rasterInfo, ambush->spriteIndex, ambush->rasterIndex);
ambush->width = rasterInfo.width;
ambush->height = rasterInfo.height;
INCLUDE_ASM(s32, "world/area_isk/isk_13/98F7E0", func_80241BA8_991388);
ambush->pos.x = npc->pos.x;
ambush->pos.y = npc->pos.y + (ambush->height * SPRITE_WORLD_SCALE_D * 0.5);
ambush->pos.z = npc->pos.z;
ambush->rot.x = 0.0f;
ambush->rot.y = 0.0f;
ambush->rot.z = 90.0f;
ambush->scale.x = SPRITE_WORLD_SCALE;
ambush->scale.y = SPRITE_WORLD_SCALE;
ambush->scale.z = SPRITE_WORLD_SCALE;
ambush->renderYaw = 60.0f;
ambush->color.r = 255.0f;
ambush->color.g = 128.0f;
ambush->color.b = 255.0f;
ambush->color.a = 0.0f;
ambush->foldID = 0;
ambush->workerID = create_generic_entity_frontUI(NULL, func_80241610_990DF0);
evt_set_variable(script, GW(10), (s32) ambush);
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_isk/isk_13/98F7E0", func_80241D08_9914E8);
ApiStatus func_80241D08_9914E8(Evt* script, s32 isInitialCall) {
StoneChompAmbushIsk13* ambush = (StoneChompAmbushIsk13*) evt_get_variable(script, GW(10));
free_generic_entity(ambush->workerID);
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_isk/isk_13/98F7E0", func_80241D38_991518);
ApiStatus func_80241D38_991518(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 x = evt_get_float_variable(script, *args++);
s32 y = evt_get_float_variable(script, *args++);
s32 z = evt_get_float_variable(script, *args++);
StoneChompAmbushIsk13* ambush = (StoneChompAmbushIsk13*) evt_get_variable(script, GW(10));
ambush->pos.x = x;
ambush->pos.y = y + ambush->height * SPRITE_WORLD_SCALE_D * 0.5;
ambush->pos.z = z;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_isk/isk_13/98F7E0", func_80241E34_991614);
ApiStatus func_80241E34_991614(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 x = evt_get_float_variable(script, *args++);
s32 y = evt_get_float_variable(script, *args++);
s32 z = evt_get_float_variable(script, *args++);
StoneChompAmbushIsk13* ambush = (StoneChompAmbushIsk13*) evt_get_variable(script, GW(10));
ambush->rot.x = x;
ambush->rot.y = y;
ambush->rot.z = z;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_isk/isk_13/98F7E0", func_80241EF8_9916D8);
ApiStatus func_80241EF8_9916D8(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
StoneChompAmbushIsk13* ambush = (StoneChompAmbushIsk13*) evt_get_variable(script, GW(10));
f32 r = evt_get_float_variable(script, *args++);
f32 g = evt_get_float_variable(script, *args++);
f32 b = evt_get_float_variable(script, *args++);
f32 a = evt_get_float_variable(script, *args++);
if (r < 0.0f) {
r = 0.0f;
}
if (g < 0.0f) {
g = 0.0f;
}
if (b < 0.0f) {
b = 0.0f;
}
if (a < 0.0f) {
a = 0.0f;
}
if (r > 255.0f) {
r = 255.0f;
}
if (g > 255.0f) {
g = 255.0f;
}
if (b > 255.0f) {
b = 255.0f;
}
if (a > 255.0f) {
a = 255.0f;
}
ambush->color.r = r;
ambush->color.g = g;
ambush->color.b = b;
ambush->color.a = a;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_isk/isk_13/98F7E0", func_80242044_991824);
ApiStatus func_80242044_991824(Evt* script, s32 isInitialCall) {
StoneChompAmbushIsk13* ambush = (StoneChompAmbushIsk13*) evt_get_variable(script, GW(10));
ambush->useBitingAnim = TRUE;
return ApiStatus_DONE2;
}

View File

@ -1,22 +1,141 @@
#include "isk_14.h"
#include "sprite.h"
#include "sprite/npc/stone_chomp.h"
static char* N(exit_str_0) = "isk_10";
static char* N(exit_str_1) = "";
#include "world/common/enemy/StoneChompAI.inc.c"
#include "world/common/UnkFunc53.inc.c"
#include "world/area_isk/StoneChompFX.inc.c"
INCLUDE_ASM(s32, "world/area_isk/isk_14/992730", func_802411F8_993928);
typedef struct StoneChompAmbushIsk14 {
/* 0x00 */ s32 foldID;
/* 0x04 */ s32 workerID;
/* 0x08 */ s32 spriteIndex;
/* 0x0C */ s32 rasterIndex;
/* 0x10 */ Vec3f pos;
/* 0x1C */ Vec3f rot;
/* 0x28 */ Vec3f scale;
/* 0x34 */ f32 renderYaw;
/* 0x38 */ f32 width;
/* 0x3C */ f32 height;
} StoneChompAmbushIsk14; // size = 0x40
INCLUDE_ASM(s32, "world/area_isk/isk_14/992730", func_802415C0_993CF0);
static StoneChompAmbushIsk14 N(ChompAmbush);
INCLUDE_ASM(s32, "world/area_isk/isk_14/992730", func_80241610_993D40);
void func_80241610_993D40(void) {
StoneChompAmbushIsk14* ambush = &N(ChompAmbush);
Camera* cam = &gCameras[gCurrentCameraID];
FoldImageRecPart foldImg;
SpriteRasterInfo spriteRaster;
Matrix4f transformMtx, tempMtx;
INCLUDE_ASM(s32, "world/area_isk/isk_14/992730", func_80241AF0_994220);
gSPViewport(gMasterGfxPos++, &cam->vp);
if (!(cam->flags & CAMERA_FLAGS_10)) {
gSPPerspNormalize(gMasterGfxPos++, cam->perspNorm);
}
guMtxF2L(cam->perspectiveMatrix, &gDisplayContext->camPerspMatrix[gCurrentCameraID]);
INCLUDE_ASM(s32, "world/area_isk/isk_14/992730", func_80241BC4_9942F4);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCameraID],
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gDPPipeSync(gMasterGfxPos++);
gDPSetCycleType(gMasterGfxPos++, G_CYC_1CYCLE);
gSPClearGeometryMode(gMasterGfxPos++, G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING
| G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH);
gSPSetGeometryMode(gMasterGfxPos++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH);
gSPTexture(gMasterGfxPos++, -1, -1, 0, G_TX_RENDERTILE, G_ON);
gDPSetTextureLOD(gMasterGfxPos++, G_TL_TILE);
gDPSetTexturePersp(gMasterGfxPos++, G_TP_PERSP);
gDPSetTextureFilter(gMasterGfxPos++, G_TF_BILERP);
gDPSetColorDither(gMasterGfxPos++, G_CD_DISABLE);
gDPSetTextureDetail(gMasterGfxPos++, G_TD_CLAMP);
gDPSetTextureConvert(gMasterGfxPos++, G_TC_FILT);
gDPSetCombineKey(gMasterGfxPos++, G_CK_NONE);
gDPSetAlphaCompare(gMasterGfxPos++, G_AC_NONE);
guTranslateF(transformMtx, ambush->pos.x, ambush->pos.y, ambush->pos.z);
guRotateF(tempMtx, ambush->rot.y + gCameras[gCurrentCameraID].currentYaw + ambush->renderYaw, 0.0f, 1.0f, 0.0f);
guMtxCatF(tempMtx, transformMtx, transformMtx);
guRotateF(tempMtx, ambush->rot.z, 0.0f, 0.0f, 1.0f);
guMtxCatF(tempMtx, transformMtx, transformMtx);
guRotateF(tempMtx, ambush->rot.x, 1.0f, 0.0f, 0.0f);
guMtxCatF(tempMtx, transformMtx, transformMtx);
guScaleF(tempMtx, ambush->scale.x, ambush->scale.y, ambush->scale.z);
guMtxCatF(tempMtx, transformMtx, transformMtx);
guMtxF2L(transformMtx, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
spr_get_npc_raster_info(&spriteRaster, ambush->spriteIndex, ambush->rasterIndex);
foldImg.raster = spriteRaster.raster;
foldImg.palette = spriteRaster.defaultPal;
ambush->width = foldImg.width = spriteRaster.width;
ambush->height = foldImg.height = spriteRaster.height;
foldImg.xOffset = -(spriteRaster.width / 2);
foldImg.yOffset = spriteRaster.height;
foldImg.opacity = 255;
fold_appendGfx_component(ambush->foldID, &foldImg, 0, transformMtx);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
INCLUDE_ASM(s32, "world/area_isk/isk_14/992730", func_80241BEC_99431C);
ApiStatus func_80241AF0_994220(Evt* script, s32 isInitialCall) {
StoneChompAmbushIsk14* ambush = &N(ChompAmbush);
SpriteRasterInfo rasterInfo;
Npc* npc = get_npc_unsafe(script->owner1.enemy->npcID);
ambush->spriteIndex = 53; //TODO get spriteID for this constant
ambush->rasterIndex = 0;
spr_get_npc_raster_info(&rasterInfo, ambush->spriteIndex, ambush->rasterIndex);
ambush->width = rasterInfo.width;
ambush->height = rasterInfo.height;
INCLUDE_ASM(s32, "world/area_isk/isk_14/992730", func_80241CA0_9943D0);
ambush->pos.x = npc->pos.x;
ambush->pos.y = npc->pos.y;
ambush->pos.z = npc->pos.z;
ambush->rot.x = 0;
ambush->rot.y = 0;
ambush->rot.z = 0;
ambush->scale.x = SPRITE_WORLD_SCALE;
ambush->scale.y = SPRITE_WORLD_SCALE;
ambush->scale.z = SPRITE_WORLD_SCALE;
ambush->renderYaw = 270.0f;
ambush->foldID = 0;
ambush->workerID = create_generic_entity_frontUI(NULL, func_80241610_993D40);
return ApiStatus_DONE2;
}
ApiStatus func_80241BC4_9942F4(Evt* script, s32 isInitialCall) {
StoneChompAmbushIsk14* ambush = &N(ChompAmbush);
free_generic_entity(ambush->workerID);
return ApiStatus_DONE2;
}
ApiStatus func_80241BEC_99431C(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 x = evt_get_float_variable(script, *args++);
s32 y = evt_get_float_variable(script, *args++);
s32 z = evt_get_float_variable(script, *args++);
StoneChompAmbushIsk14* ambush = &N(ChompAmbush);
ambush->pos.x = x;
ambush->pos.y = y;
ambush->pos.z = z;
return ApiStatus_DONE2;
}
ApiStatus func_80241CA0_9943D0(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 x = evt_get_float_variable(script, *args++);
s32 y = evt_get_float_variable(script, *args++);
s32 z = evt_get_float_variable(script, *args++);
StoneChompAmbushIsk14* ambush = &N(ChompAmbush);
ambush->rot.x = x;
ambush->rot.y = y;
ambush->rot.z = z;
return ApiStatus_DONE2;
}

View File

@ -21,9 +21,7 @@ typedef struct Unk80241440_2 {
} Unk80241440_2; //size = 0x44
typedef struct Unk80241440 {
/* 0x00 */ f32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x00 */ Vec3f unk_00;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
@ -71,9 +69,9 @@ ApiStatus func_80240314_9EDF04(Evt* script, s32 isInitialCall) {
s32 temp_s0_3 = evt_get_variable(script, *args++);
f32 temp_f6 = evt_get_variable(script, *args++);
D_802413F8_9EEFE8.unk_00 = temp_s2;
D_802413F8_9EEFE8.unk_08 = temp_f6;
D_802413F8_9EEFE8.unk_04 = temp_s0_3 + 4.0f;
D_802413F8_9EEFE8.unk_00.x = temp_s2;
D_802413F8_9EEFE8.unk_00.y = temp_s0_3 + 4.0f;
D_802413F8_9EEFE8.unk_00.z = temp_f6;
return ApiStatus_DONE2;
}
@ -117,9 +115,9 @@ ApiStatus func_802403C0_9EDFB0(Evt* script, s32 isInitialCall) {
}
ApiStatus func_802404D0_9EE0C0(Evt* script, s32 isInitialCall) {
D_802413F8_9EEFE8.unk_00 = 0;
D_802413F8_9EEFE8.unk_04 = 0;
D_802413F8_9EEFE8.unk_08 = 0;
D_802413F8_9EEFE8.unk_00.x = 0;
D_802413F8_9EEFE8.unk_00.y = 0;
D_802413F8_9EEFE8.unk_00.z = 0;
D_802413F8_9EEFE8.unk_10 = 0;
D_802413F8_9EEFE8.unk_0C = 0;
D_802413F8_9EEFE8.unk_14 = 0;

View File

@ -26,7 +26,7 @@ s32 N(GetTattle)(void) {
ApiStatus func_80240338_92A5E8(Evt* script, s32 isInitialCall) {
EffectInstance* effect = (EffectInstance*)evt_get_variable(script, EVT_MAP_VAR(0));
effect->data.sun->unk_3C = 0;
effect->data.sun->targetAlpha = 0;
return ApiStatus_DONE2;
}

View File

@ -1,40 +0,0 @@
#include "common.h"
#include "battle/battle.h"
typedef struct UnkNPC {
/* 0x00 */ Npc* unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ s32 unk_0C;
} UnkNPC; // size = 0x10;
ApiStatus N(UnkFunc53)(Evt* script, s32 isInitialCall) {
NpcBlueprint bp;
NpcBlueprint* bpPtr = &bp;
UnkNPC* unkIt;
Npc* npc;
Npc* newNpc;
s32 i;
npc = get_npc_safe(script->owner2.npcID);
npc->blurBuf = unkIt = heap_malloc(8 * sizeof(*unkIt));
bp.flags = 0x8000 | 0x100 | 0x40 | 0x8 | 0x2;
bp.initialAnim = 0x350002;
bp.onUpdate = NULL;
bp.onRender = NULL;
for (i = 0; i < 8; i++, unkIt++) {
unkIt->unk_00 = newNpc = get_npc_by_index(_create_npc_basic(bpPtr));
newNpc->pos.x = npc->pos.x;
newNpc->pos.y = npc->pos.y;
newNpc->pos.z = npc->pos.z;
newNpc->yaw = npc->yaw;
newNpc->verticalRenderOffset = 3;
disable_npc_shadow(newNpc);
unkIt->unk_04 = 0;
unkIt->unk_08 = 0;
unkIt->unk_0C = 0;
}
return ApiStatus_DONE2;
}

View File

@ -12,21 +12,21 @@ enum {
};
// unused
void N(CharAnim_FadeIn_0)(CreditsLine* line, CreditsChar* arg1) {
void N(CharAnim_FadeIn_0)(CreditsLine* line, CreditsChar* chr) {
FoldImageRecPart foldImg;
MesasgeFontGlyphData glyph;
MesasgeFontGlyphData* glyphPtr = &glyph;
Matrix4f transformMtx;
f32 posX = arg1->posX;
f32 posY = arg1->posY;
f32 posX = chr->posX;
f32 posY = chr->posY;
f32 alpha;
alpha = update_lerp(EASING_LINEAR, 0.0f, 255.0f, arg1->fadeInTime, line->appearTime);
alpha = update_lerp(EASING_LINEAR, 0.0f, 255.0f, chr->fadeInTime, line->appearTime);
if (alpha > 255.0f) {
alpha = 255.0;
}
fold_update(0, FOLD_TYPE_7, 255, 255, 255, alpha, 0);
msg_get_glyph(arg1->font, arg1->variation, arg1->charIndex, arg1->palette, glyphPtr);
msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr);
posX += (glyphPtr->charWidth * 0.5);
guTranslateF(transformMtx, posX, -posY, 0.0f);
@ -47,31 +47,31 @@ void N(CharAnim_FadeIn_0)(CreditsLine* line, CreditsChar* arg1) {
}
void N(CharAnim_FadeIn_1)(CreditsLine* line, CreditsChar* arg1) {
void N(CharAnim_FadeIn_1)(CreditsLine* line, CreditsChar* chr) {
FoldImageRecPart foldImg;
MesasgeFontGlyphData glyph;
MesasgeFontGlyphData* glyphPtr = &glyph;
Matrix4f transformMtx;
f32 posX = arg1->posX;
f32 posY = arg1->posY;
f32 posX = chr->posX;
f32 posY = chr->posY;
f32 alpha;
alpha = update_lerp(0, 0.0f, 255.0f, arg1->fadeInTime, line->appearTime);
alpha = update_lerp(0, 0.0f, 255.0f, chr->fadeInTime, line->appearTime);
if (alpha > 255.0f) {
alpha = 255.0;
}
if (arg1->fadeInTime == (line->appearTime - 4)) {
if (chr->fadeInTime == (line->appearTime - 4)) {
fold_update(0, FOLD_TYPE_A, 64, 64, 64, alpha, 0);
} else if (arg1->fadeInTime == (line->appearTime - 3)) {
} else if (chr->fadeInTime == (line->appearTime - 3)) {
fold_update(0, FOLD_TYPE_A, 96, 96, 96, alpha, 0);
} else if (arg1->fadeInTime == (line->appearTime - 2)) {
} else if (chr->fadeInTime == (line->appearTime - 2)) {
fold_update(0, FOLD_TYPE_A, 127, 127, 127, alpha, 0);
} else if (arg1->fadeInTime == (line->appearTime - 1)) {
} else if (chr->fadeInTime == (line->appearTime - 1)) {
fold_update(0, FOLD_TYPE_A, 80, 80, 80, alpha, 0);
} else {
fold_update(0, FOLD_TYPE_7, 255, 255, 255, alpha, 0);
}
msg_get_glyph(arg1->font, arg1->variation, arg1->charIndex, arg1->palette, glyphPtr);
msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr);
posX += (glyphPtr->charWidth * 0.5);
guTranslateF(transformMtx, posX, -posY, 0.0f);
@ -90,27 +90,27 @@ void N(CharAnim_FadeIn_1)(CreditsLine* line, CreditsChar* arg1) {
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
void N(CharAnim_FadeIn_2)(CreditsLine* line, CreditsChar* arg1) {
void N(CharAnim_FadeIn_2)(CreditsLine* line, CreditsChar* chr) {
FoldImageRecPart foldImg;
MesasgeFontGlyphData glyph;
MesasgeFontGlyphData* glyphPtr = &glyph;
Matrix4f transformMtx, tempMtx;
f32 posX = arg1->posX;
f32 posY = arg1->posY;
f32 posX = chr->posX;
f32 posY = chr->posY;
f32 scaleAmt;
f32 alpha;
alpha = update_lerp(EASING_COS_IN, 16.0f, 300.0f, arg1->fadeInTime, line->appearTime);
alpha = update_lerp(EASING_COS_IN, 16.0f, 300.0f, chr->fadeInTime, line->appearTime);
if (alpha > 255.0f) {
alpha = 255.0f;
}
fold_update(0, FOLD_TYPE_7, 255, 255, 255, alpha, 0);
scaleAmt = update_lerp(EASING_LINEAR, 0.2f, 2.0f, arg1->fadeInTime, line->appearTime);
scaleAmt = update_lerp(EASING_LINEAR, 0.2f, 2.0f, chr->fadeInTime, line->appearTime);
if (scaleAmt > 1.0) {
scaleAmt = 1.0;
}
msg_get_glyph(arg1->font, arg1->variation, arg1->charIndex, arg1->palette, glyphPtr);
msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr);
posX += (glyphPtr->charWidth * 0.5);
guTranslateF(transformMtx, posX, -posY, 0.0f);
@ -134,27 +134,27 @@ void N(CharAnim_FadeIn_2)(CreditsLine* line, CreditsChar* arg1) {
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
void N(CharAnim_FadeIn_3)(CreditsLine* line, CreditsChar* arg1) {
void N(CharAnim_FadeIn_3)(CreditsLine* line, CreditsChar* chr) {
FoldImageRecPart foldImg;
MesasgeFontGlyphData glyph;
MesasgeFontGlyphData* glyphPtr = &glyph;
Matrix4f transformMtx, tempMtx;
f32 rotAngle, alpha;
f32 posX = arg1->posX;
f32 posY = arg1->posY;
f32 posX = chr->posX;
f32 posY = chr->posY;
alpha = update_lerp(EASING_COS_IN, 32.0f, 300.0f, arg1->fadeInTime, line->appearTime);
alpha = update_lerp(EASING_COS_IN, 32.0f, 300.0f, chr->fadeInTime, line->appearTime);
if (alpha > 255.0f) {
alpha = 255.0f;
}
fold_update(0, FOLD_TYPE_7, 255, 255, 255, alpha, 0);
rotAngle = update_lerp(EASING_LINEAR, -75.0f, 30.0f, arg1->fadeInTime, line->appearTime);
rotAngle = update_lerp(EASING_LINEAR, -75.0f, 30.0f, chr->fadeInTime, line->appearTime);
if (rotAngle >= 0.0f) {
rotAngle = 0.0f;
}
msg_get_glyph(arg1->font, arg1->variation, arg1->charIndex, arg1->palette, glyphPtr);
msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr);
posX += (glyphPtr->charWidth * 0.5);
guTranslateF(transformMtx, posX, -posY, 0.0f);
@ -178,7 +178,7 @@ void N(CharAnim_FadeIn_3)(CreditsLine* line, CreditsChar* arg1) {
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
void N(CharAnim_FadeIn_4)(CreditsLine* line, CreditsChar* arg1) {
void N(CharAnim_FadeIn_4)(CreditsLine* line, CreditsChar* chr) {
FoldImageRecPart foldImg;
MesasgeFontGlyphData glyph;
MesasgeFontGlyphData* glyphPtr = &glyph;
@ -188,26 +188,26 @@ void N(CharAnim_FadeIn_4)(CreditsLine* line, CreditsChar* arg1) {
f32 startY = line->posY + 60;
u32 foldFlags = FOLD_STATE_FLAG_40;
posX = update_lerp(EASING_COS_IN_OUT, startX, arg1->posX, arg1->fadeInTime, line->appearTime);
posY = update_lerp(EASING_CUBIC_OUT, startY, arg1->posY, arg1->fadeInTime, line->appearTime);
if (arg1->fadeInTime == line->appearTime) {
posX = update_lerp(EASING_COS_IN_OUT, startX, chr->posX, chr->fadeInTime, line->appearTime);
posY = update_lerp(EASING_CUBIC_OUT, startY, chr->posY, chr->fadeInTime, line->appearTime);
if (chr->fadeInTime == line->appearTime) {
rotAngle = 0.0f;
} else {
rotAngle = (line->appearTime - arg1->fadeInTime) * 10;
rotAngle = (line->appearTime - chr->fadeInTime) * 10;
}
scaleAmt = update_lerp(EASING_QUADRATIC_OUT, 2.0f, 1.0f, arg1->fadeInTime, line->appearTime);
scaleAmt = update_lerp(EASING_QUADRATIC_OUT, 2.0f, 1.0f, chr->fadeInTime, line->appearTime);
if (arg1->fadeInTime == line->appearTime) {
if (chr->fadeInTime == line->appearTime) {
fold_update(0, FOLD_TYPE_NONE, 0, 0, 0, 0, 0);
foldFlags |= FOLD_STATE_FLAG_10000;
} else {
f32 alpha = update_lerp(EASING_LINEAR, 16.0f, 300.0f, arg1->fadeInTime, line->appearTime);
f32 alpha = update_lerp(EASING_LINEAR, 16.0f, 300.0f, chr->fadeInTime, line->appearTime);
if (alpha > 255.0f) {
alpha = 255.0f;
}
fold_update(0, FOLD_TYPE_7, 255, 255, 255, alpha, 0);
}
msg_get_glyph(arg1->font, arg1->variation, arg1->charIndex, arg1->palette, glyphPtr);
msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr);
posX += (glyphPtr->charWidth * 0.5);
guTranslateF(transformMtx, posX, -posY, 0.0f);
@ -231,15 +231,15 @@ void N(CharAnim_FadeIn_4)(CreditsLine* line, CreditsChar* arg1) {
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
void N(CharAnim_FadeIn_5)(CreditsLine* line, CreditsChar* arg1) {
void N(CharAnim_FadeIn_5)(CreditsLine* line, CreditsChar* chr) {
MesasgeFontGlyphData glyph;
MesasgeFontGlyphData* glyphPtr = &glyph;
f32 posX = arg1->posX;
f32 posY = arg1->posY;
f32 posX = chr->posX;
f32 posY = chr->posY;
f32 alpha;
alpha = update_lerp(EASING_LINEAR, 0.0f, 255.0f, arg1->fadeInTime, line->appearTime);
msg_get_glyph(arg1->font, arg1->variation, arg1->charIndex, arg1->palette, glyphPtr);
alpha = update_lerp(EASING_LINEAR, 0.0f, 255.0f, chr->fadeInTime, line->appearTime);
msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr);
draw_ci_image_with_clipping(glyphPtr->raster, glyphPtr->texSize.x, glyphPtr->texSize.y,
G_IM_FMT_CI, G_IM_SIZ_4b, glyphPtr->palette, posX, posY,
@ -247,20 +247,20 @@ void N(CharAnim_FadeIn_5)(CreditsLine* line, CreditsChar* arg1) {
}
// unused
void N(CharAnim_HoldClearFold)(CreditsLine* line, CreditsChar* arg1) {
void N(CharAnim_HoldClearFold)(CreditsLine* line, CreditsChar* chr) {
FoldImageRecPart foldImg;
MesasgeFontGlyphData glyph;
MesasgeFontGlyphData* glyphPtr = &glyph;
Matrix4f transformMtx;
f32 posX = arg1->posX;
f32 posY = arg1->posY;
f32 posX = chr->posX;
f32 posY = chr->posY;
fold_update(0, FOLD_TYPE_NONE, 0, 0, 0, 0, 0);
guTranslateF(transformMtx, posX, -posY, 0.0f);
guMtxF2L (transformMtx, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
msg_get_glyph(arg1->font, arg1->variation, arg1->charIndex, arg1->palette, glyphPtr);
msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr);
foldImg.raster = glyphPtr->raster;
foldImg.palette = glyphPtr->palette;

View File

@ -111,8 +111,8 @@ ApiStatus N(Quizmo_RenderInit)(Evt* script, s32 isInitialCall) {
Npc* npc = get_npc_unsafe(script->owner2.npcID);
npc->onRender = N(Quizmo_NPC_OnRender);
npc->blurBuf = heap_malloc(8);
*((s32*)npc->blurBuf) = 0;
npc->blur.quizmo = heap_malloc(sizeof(*npc->blur.quizmo));
npc->blur.quizmo->flags = 0;
return ApiStatus_DONE1;
}
@ -126,7 +126,7 @@ ApiStatus N(Quizmo_NPC_Aux_Impl)(Evt* script, s32 isInitialCall) {
void N(Quizmo_NPC_OnRender)(Npc* npc) {
Camera* camera = &gCameras[gCurrentCamID];
if (*((s32*)npc->blurBuf) & 1) {
if (npc->blur.quizmo->flags & 1) {
clamp_angle(-camera->currentYaw);
}
}

View File

@ -7,30 +7,11 @@ void force_player_anim(s32 arg0);
void func_802BE070_31DBE0(void);
void partner_kill_ability_script(void);
typedef struct unk_802BE310_C {
/* 0x00 */ s32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ char unk_10[0x10];
/* 0x20 */ s32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x2C */ char unk_2C[0x0C];
} unk_802BE310_C; // size = 0x38
typedef struct unk_802BE310 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ unk_802BE310_C* unk_0C;
} unk_802BE310; //size = 0x10
BSS s32 D_802BE300;
BSS s32 D_802BE304;
BSS s32 D_802BE308;
BSS s32 D_802BE30C;
BSS unk_802BE310* D_802BE310;
BSS EffectInstance* WattStaticEffect;
BSS s32 D_802BE314;
BSS TweesterPhysics WattTweesterPhysics;
@ -40,16 +21,16 @@ s32 D_802BE254_31DDC4 = 6;
void func_802BD100_31CC70(Npc* npc) {
if (!(npc->flags & NPC_FLAG_2)) {
if (D_802BE310 == NULL) {
D_802BE310 = (unk_802BE310*)fx_static_status(0, npc->pos.x, npc->pos.y + 13.0f, npc->pos.z, 0.9f, 5, 0);
if (WattStaticEffect == NULL) {
WattStaticEffect = fx_static_status(0, npc->pos.x, npc->pos.y + 13.0f, npc->pos.z, 0.9f, 5, 0);
}
}
}
s32 func_802BD180_31CCF0(void) {
if (D_802BE310 != NULL) {
D_802BE310->unk_0C->unk_28 = 1;
D_802BE310 = NULL;
s32 world_watt_dispose_static_effect(void) {
if (WattStaticEffect != NULL) {
WattStaticEffect->data.staticStatus->unk_28 = 1;
WattStaticEffect = NULL;
return 1;
}
}
@ -64,7 +45,7 @@ void world_watt_init(Npc* npc) {
D_802BE300 = 0;
D_802BE30C = 0;
D_802BE304 = 20;
D_802BE310 = NULL;
WattStaticEffect = NULL;
}
ApiStatus func_802BD27C_31CDEC(Evt* script, s32 isInitialCall) {
@ -123,10 +104,10 @@ ApiStatus WattUpdate(Evt* script, s32 isInitialCall) {
watt->currentAnim.w = 0x60001;
}
if (D_802BE310 != NULL) {
D_802BE310->unk_0C->unk_04 = watt->pos.x;
D_802BE310->unk_0C->unk_08 = watt->pos.y + 13.0f;
D_802BE310->unk_0C->unk_0C = watt->pos.z;
if (WattStaticEffect != NULL) {
WattStaticEffect->data.staticStatus->unk_04 = watt->pos.x;
WattStaticEffect->data.staticStatus->unk_08 = watt->pos.y + 13.0f;
WattStaticEffect->data.staticStatus->unk_0C = watt->pos.z;
}
return 0;
@ -190,10 +171,10 @@ ApiStatus WattUpdate(Evt* script, s32 isInitialCall) {
break;
}
if (D_802BE310 != 0) {
D_802BE310->unk_0C->unk_04 = watt->pos.x;
D_802BE310->unk_0C->unk_08 = watt->pos.y + 13.0f;
D_802BE310->unk_0C->unk_0C = watt->pos.z;
if (WattStaticEffect != 0) {
WattStaticEffect->data.staticStatus->unk_04 = watt->pos.x;
WattStaticEffect->data.staticStatus->unk_08 = watt->pos.y + 13.0f;
WattStaticEffect->data.staticStatus->unk_0C = watt->pos.z;
}
}
return 0;
@ -229,7 +210,7 @@ s32 WattPutAway(Evt* script, s32 isInitialCall) {
Npc* watt = script->owner2.npc;
if (isInitialCall) {
func_802BD180_31CCF0();
world_watt_dispose_static_effect();
partner_init_put_away(watt);
force_player_anim(0x10002);
wattActionStatus->actingPartner = PARTNER_NONE;
@ -260,7 +241,7 @@ void world_watt_pre_battle(Npc* watt) {
partner_clear_player_tracking(watt);
}
func_802BD180_31CCF0();
world_watt_dispose_static_effect();
}
void world_watt_post_battle(Npc* watt) {
@ -286,7 +267,7 @@ ApiStatus func_802BDE88_31D9F8(Evt* script, s32 isInitialCall) {
case 0:
if (script->varTable[12] == 0) {
partner_kill_ability_script();
func_802BD180_31CCF0();
world_watt_dispose_static_effect();
} else {
func_802BD100_31CC70(watt);
}

View File

@ -8,10 +8,10 @@ if __name__ == "__main__":
infile, outfile, cname = argv[1:]
with open(outfile, "w") as f:
f.write(f"unsigned char {cname}[] = {{")
f.write(f"unsigned char {cname}[] = {{ ")
with open(infile, "rb") as i:
for char in i.read():
f.write(f"{char},")
f.write(f'0x{char:02X}, ')
f.write(f"}};\n")

View File

@ -148,6 +148,11 @@ def write_ninja_rules(ninja: ninja_syntax.Writer, cpp: str, cppflags: str, extra
command=f"$python {BUILD_TOOLS}/bin_inc_c.py $in $out $c_name",
)
ninja.rule("pal_inc_c",
description="pal_inc_c $out",
command=f"$python {BUILD_TOOLS}/pal_inc_c.py $in $out $c_name",
)
ninja.rule("yay0",
description="yay0 $in",
command=f"{BUILD_TOOLS}/yay0/Yay0compress $in $out",
@ -323,7 +328,7 @@ class Configure:
for object_path in object_paths:
if object_path.suffixes[-1] == ".o":
built_objects.add(str(object_path))
elif object_path.suffixes[-1] == ".h" or task == "bin_inc_c":
elif object_path.suffixes[-1] == ".h" or task == "bin_inc_c" or task == "pal_inc_c":
generated_headers.append(str(object_path))
# don't rebuild objects if we've already seen all of them
@ -430,7 +435,7 @@ class Configure:
addr=seg.vram_start, in_segment=True, type="data", define=True
)
vars = {"c_name": c_sym.name}
build(inc_dir / (seg.name + ".pal.inc.c"), [bin_path], "bin_inc_c", vars)
build(inc_dir / (seg.name + ".pal.inc.c"), [bin_path], "pal_inc_c", vars)
elif isinstance(seg, segtypes.common.bin.CommonSegBin):
build(entry.object_path, entry.src_paths, "bin")
elif isinstance(seg, segtypes.n64.Yay0.N64SegYay0):

19
tools/build/pal_inc_c.py Normal file
View File

@ -0,0 +1,19 @@
#! /usr/bin/python3
from pathlib import Path
from sys import argv
import re
import struct
if __name__ == "__main__":
infile, outfile, cname = argv[1:]
with open(outfile, "w") as f:
f.write(f"unsigned short {cname}[] = {{ ")
with open(infile, "rb") as i:
while (short := i.read(2)):
color = struct.unpack('>H', short)[0]
f.write(f'0x{color:04X}, ')
f.write(f"}};\n")

File diff suppressed because one or more lines are too long

View File

@ -3,24 +3,24 @@
.section .data
dlabel D_80242380_97FE50
.word 0x00000043, 0x00000001, isk_05_UnkFunc53, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000001, isk_05_StoneChompFXA, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_8024239C_97FE6C
.word 0x40000000, 0x0000001E, 0x0000001E, 0x42C80000, 0x00000000, 0x0000000A, 0x40A9999A, 0x00000046, 0x0000000A, 0x43FA0000, 0x00000000, 0x00000001
dlabel D_802423CC_97FE9C
.word 0x00000058, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802411F8_97ECC8, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, isk_05_StoneChompAI_Main, D_8024239C_97FE6C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000058, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, isk_05_StoneChompFXB, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, isk_05_StoneChompAI_Main, D_8024239C_97FE6C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_8024243C_97FF0C
.word 0x00000043, 0x00000002, SetBattleMusic, 0x00000003, 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x0000001D, 0x00000001, 0x00000002, 0x0000001D, 0x00000001, 0x00000004, 0x0000001D, 0x00000001, 0x00000006, 0x00000043, 0x00000003, GetSelfAnimationFromTable, 0x00000007, 0xFE363C80, 0x00000046, 0x00000001, 0x800936DC, 0x00000016, 0x00000001, 0x00000003, 0x00000056, 0x00000000, 0x00000043, 0x00000002, func_800458CC, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000027, 0x00000002, 0xFE363C8A, 0x00000028, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0x00000000, 0xFE363C8A, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80242578_980048
.word 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802415C0_97F090, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, isk_05_StoneChompFXC, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802425E8_9800B8
.word 0x00000000, 0x00200020, D_80242380_97FE50, 0x00000000, D_802423CC_97FE9C, D_8024243C_97FF0C, 0x00000000, D_80242578_980048, 0x00000000, 0x00000000, 0x000E0000
dlabel D_80242614_9800E4
dlabel isk_05_ChompAmbush
.word 0x00000000
dlabel D_80242618_9800E8
@ -33,7 +33,7 @@ dlabel D_80242658_980128
.word 0x00000043, 0x00000003, SetSelfEnemyFlagBits, 0x00000020, 0x00000001, 0x00000003, 0x00000001, 0x00000064, 0x0000000A, 0x00000002, 0xF8405EFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000064, 0x00000013, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000000A, 0x00000043, 0x00000003, SetSelfEnemyFlagBits, 0x00000020, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000002, 0x00000266, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000041, 0x00000000, 0x0000000F, 0x00000001, 0x00000003, 0x00000001, 0x00000065, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateGroup, 0x0000001F, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000065, 0x00000013, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000002, 0x00000267, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000001, 0x00000002, 0x7FFFFE00, 0x00000057, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000001, func_80241B28_97F5F8, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000000FF, 0x0000001E, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000002, func_80241DF8_97F8C8, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000029, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000026, 0x00000001, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000168, 0x0000000F, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000004, func_80241D44_97F814, 0xFE363C80, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000004, func_80241C5C_97F72C, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000005, MakeLerp, 0xFE363C83, 0x00000000, 0x0000001E, 0x00000003, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000004, func_80241C5C_97F72C, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80241E24_97F8F4, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000001, func_80241C34_97F704, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000003, BindNpcAI, 0xFFFFFFFF, D_802423CC_97FE9C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80242A8C_98055C
.word 0x00000024, 0x00000002, 0xF8405F08, 0x00000001, 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF8405F08, 0x00000001, 0x00000024, 0x00000002, 0xF9718891, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000002, 0x00000265, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000041, 0x00000041, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateGroup, 0x0000001F, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000002, 0x7FFFFE00, 0x00000057, 0x00000000, 0x00000043, 0x00000001, func_802415C0_97F090, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000024, 0x00000002, 0xF8405F08, 0x00000001, 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF8405F08, 0x00000001, 0x00000024, 0x00000002, 0xF9718891, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000002, 0x00000265, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000041, 0x00000041, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateGroup, 0x0000001F, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000002, 0x7FFFFE00, 0x00000057, 0x00000000, 0x00000043, 0x00000001, isk_05_StoneChompFXC, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80242BF8_9806C8
.word 0x0000000A, 0x00000002, 0xF8405F08, 0x00000001, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80242658_980128, 0x00000043, 0x00000003, BindNpcDefeat, 0xFFFFFFFF, D_80242A8C_98055C, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000002, 0x00000001, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000

View File

@ -6,19 +6,19 @@ dlabel D_802422B0_991A90
.word 0x00000024, 0x00000002, 0xF8405F02, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000007, MakeItemEntity, 0x00000015, 0x000001CC, 0xFFFFFDC8, 0xFFFFFEAA, 0x00000000, 0xF8405EF1, 0x0000000A, 0x00000002, 0xF8405F02, 0x00000000, 0x00000043, 0x00000007, MakeEntity, Entity_Hammer2Block_WideHitbox, 0x00000238, 0xFFFFFD76, 0xFFFFFED2, 0x00000019, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_802422B0_991A90, 0x00000013, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000020, 0x00000001, 0x0000019F, 0xFFFFFE3B, 0xFFFFFEDD, 0xF24A7BB4, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000020, 0x00000001, 0x0000019F, 0xFFFFFDB9, 0xFFFFFEDD, 0xF24A7BB4, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000020, 0x00000001, 0x000001E9, 0xFFFFFE3B, 0xFFFFFF7D, 0xF24A7BB4, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000020, 0x00000001, 0x000001E9, 0xFFFFFDB9, 0xFFFFFF7D, 0xF24A7BB4, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80242460_991C40
.word 0x00000043, 0x00000001, isk_13_UnkFunc53, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000001, isk_13_StoneChompFXA, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_8024247C_991C5C
.word 0x40000000, 0x0000001E, 0x0000001E, 0x42C80000, 0x00000000, 0x0000000A, 0x40A9999A, 0x00000046, 0x0000000A, 0x43FA0000, 0x00000000, 0x00000001
dlabel D_802424AC_991C8C
.word 0x00000058, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802411F8_9909D8, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, isk_13_StoneChompAI_Main, D_8024247C_991C5C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000058, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, isk_13_StoneChompFXB, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, isk_13_StoneChompAI_Main, D_8024247C_991C5C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_8024251C_991CFC
.word 0x00000043, 0x00000002, SetBattleMusic, 0x00000003, 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x0000001D, 0x00000001, 0x00000002, 0x0000001D, 0x00000001, 0x00000004, 0x0000001D, 0x00000001, 0x00000006, 0x00000043, 0x00000003, GetSelfAnimationFromTable, 0x00000007, 0xFE363C80, 0x00000046, 0x00000001, 0x800936DC, 0x00000016, 0x00000001, 0x00000003, 0x00000056, 0x00000000, 0x00000043, 0x00000002, func_800458CC, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000027, 0x00000002, 0xFE363C8A, 0x00000028, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0x00000000, 0xFE363C8A, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80242658_991E38
.word 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802415C0_990DA0, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, isk_13_StoneChompFXC, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802426C8_991EA8
.word 0x00000000, 0x00200020, D_80242460_991C40, 0x00000000, D_802424AC_991C8C, D_8024251C_991CFC, 0x00000000, D_80242658_991E38, 0x00000000, 0x00000000, 0x000E0000
@ -27,7 +27,7 @@ dlabel D_802426F4_991ED4
.word 0x00000003, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xF8405EF1, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000001, func_80241BA8_991388, 0x00000043, 0x00000005, func_80241EF8_9916D8, 0x000000FF, 0x00000080, 0x000000FF, 0x00000000, 0x00000056, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x0000000A, 0x0000002C, 0x00000002, 0xFE363C80, 0xF24AADB0, 0x00000043, 0x00000005, func_80241EF8_9916D8, 0x000000FF, 0x00000080, 0x000000FF, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, func_80241EF8_9916D8, 0x000000FF, 0x00000080, 0x000000FF, 0x00000080, 0x00000026, 0x00000002, 0xFE363C80, 0x00000080, 0x00000005, 0x00000001, 0x00000014, 0x0000002C, 0x00000002, 0xFE363C80, 0xF24A93E0, 0x00000043, 0x00000005, func_80241EF8_9916D8, 0x000000FF, 0xFE363C80, 0x000000FF, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, func_80241EF8_9916D8, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000168, 0x0000000A, 0x0000000A, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000004, func_80241E34_991614, 0xFE363C80, 0x00000000, 0xF24BE280, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000043, 0x00000004, func_80241D38_991518, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000005, MakeLerp, 0xFE363C83, 0xFE363C86, 0x00000014, 0x00000002, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000043, 0x00000004, func_80241D38_991518, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80242044_991824, 0x00000056, 0x00000000, 0x00000043, 0x00000003, InterpPlayerYaw, 0x000000B4, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFF, 0xF24A7E80, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000005, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00080013, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, func_80241D38_991518, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000002, StartBossBattle, 0x00000003, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80242B20_992300
.word 0x00000024, 0x00000002, 0xF8405F09, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000001, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000001, func_80241D08_9914E8, 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802415C0_990DA0, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000024, 0x00000002, 0xF8405F09, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000001, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000001, func_80241D08_9914E8, 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, isk_13_StoneChompFXC, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80242BFC_9923DC
.word 0x0000000A, 0x00000002, 0xF8405F09, 0x00000001, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_802426F4_991ED4, 0x00000043, 0x00000003, BindNpcDefeat, 0xFFFFFFFF, D_80242B20_992300, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000002, 0x00000001, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000

View File

@ -3,19 +3,19 @@
.section .data
dlabel D_80242130_994860
.word 0x00000043, 0x00000001, isk_14_UnkFunc53, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000001, isk_14_StoneChompFXA, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_8024214C_99487C
.word 0x40000000, 0x0000001E, 0x0000001E, 0x42C80000, 0x00000000, 0x0000000A, 0x40A9999A, 0x00000046, 0x0000000A, 0x43FA0000, 0x00000000, 0x00000001
dlabel D_8024217C_9948AC
.word 0x00000058, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802411F8_993928, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, isk_14_StoneChompAI_Main, D_8024214C_99487C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000058, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, isk_14_StoneChompFXB, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000059, 0x00000000, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, isk_14_StoneChompAI_Main, D_8024214C_99487C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802421EC_99491C
.word 0x00000043, 0x00000002, SetBattleMusic, 0x00000003, 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x0000001D, 0x00000001, 0x00000002, 0x0000001D, 0x00000001, 0x00000004, 0x0000001D, 0x00000001, 0x00000006, 0x00000043, 0x00000003, GetSelfAnimationFromTable, 0x00000007, 0xFE363C80, 0x00000046, 0x00000001, 0x800936DC, 0x00000016, 0x00000001, 0x00000003, 0x00000056, 0x00000000, 0x00000043, 0x00000002, func_800458CC, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000027, 0x00000002, 0xFE363C8A, 0x00000028, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0x00000000, 0xFE363C8A, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80242328_994A58
.word 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802415C0_993CF0, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, isk_14_StoneChompFXC, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80242398_994AC8
.word 0x00000000, 0x00200020, D_80242130_994860, 0x00000000, D_8024217C_9948AC, D_802421EC_99491C, 0x00000000, D_80242328_994A58, 0x00000000, 0x00000000, 0x000E0000
@ -24,7 +24,7 @@ dlabel D_802423C4_994AF4
.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetSelfVar, 0x00000001, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFDFB, 0xFFFFFCF4, 0xFFFFFE6E, 0x00000043, 0x00000001, func_80241AF0_994220, 0x00000043, 0x00000004, func_80241BEC_99431C, 0xFFFFFDFB, 0xFFFFFCF4, 0xFFFFFE6E, 0x00000043, 0x00000004, func_80241CA0_9943D0, 0x00000055, 0x00000014, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000005, MakeLerp, 0x00000055, 0x00000000, 0x00000014, 0x00000008, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000004, func_80241CA0_9943D0, 0xFE363C80, 0x00000014, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80241BC4_9942F4, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00350004, 0x00000008, 0x00000001, 0x00000012, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000001, func_80241BC4_9942F4, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfEnemyFlagBits, 0x00100004, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFF, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0001002B, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000002, StartBossBattle, 0x00000003, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, BindNpcAI, 0xFFFFFFFF, D_8024217C_9948AC, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802426D4_994E04
.word 0x00000024, 0x00000002, 0xF8405F0A, 0x00000001, 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF9718893, 0x00000001, 0x00000043, 0x00000001, func_802415C0_993CF0, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000024, 0x00000002, 0xF8405F0A, 0x00000001, 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF9718893, 0x00000001, 0x00000043, 0x00000001, isk_14_StoneChompFXC, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80242764_994E94
.word 0x0000000A, 0x00000002, 0xF8405F0A, 0x00000001, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000000, 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_802423C4_994AF4, 0x00000043, 0x00000003, BindNpcDefeat, 0xFFFFFFFF, D_802426D4_994E04, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000002, 0x00000001, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -6,16 +6,16 @@ glabel spr_get_player_raster
/* 101F94 802DEEA4 0080382D */ daddu $a3, $a0, $zero
/* 101F98 802DEEA8 AFB00010 */ sw $s0, 0x10($sp)
/* 101F9C 802DEEAC 2410FFFF */ addiu $s0, $zero, -1
/* 101FA0 802DEEB0 3C02802E */ lui $v0, %hi(D_802E0C58)
/* 101FA4 802DEEB4 8C420C58 */ lw $v0, %lo(D_802E0C58)($v0)
/* 101FA0 802DEEB0 3C02802E */ lui $v0, %hi(PlayerRasterCacheSize)
/* 101FA4 802DEEB4 8C420C58 */ lw $v0, %lo(PlayerRasterCacheSize)($v0)
/* 101FA8 802DEEB8 0000202D */ daddu $a0, $zero, $zero
/* 101FAC 802DEEBC 18400018 */ blez $v0, .L802DEF20
/* 101FB0 802DEEC0 AFBF0014 */ sw $ra, 0x14($sp)
/* 101FB4 802DEEC4 24090002 */ addiu $t1, $zero, 2
/* 101FB8 802DEEC8 0200402D */ daddu $t0, $s0, $zero
/* 101FBC 802DEECC 0040302D */ daddu $a2, $v0, $zero
/* 101FC0 802DEED0 3C03802E */ lui $v1, %hi(D_802E0C70)
/* 101FC4 802DEED4 24630C70 */ addiu $v1, $v1, %lo(D_802E0C70)
/* 101FC0 802DEED0 3C03802E */ lui $v1, %hi(PlayerRasterCache)
/* 101FC4 802DEED4 24630C70 */ addiu $v1, $v1, %lo(PlayerRasterCache)
.L802DEED8:
/* 101FC8 802DEED8 8C620000 */ lw $v0, ($v1)
/* 101FCC 802DEEDC 1040000A */ beqz $v0, .L802DEF08
@ -43,8 +43,8 @@ glabel spr_get_player_raster
/* 102010 802DEF20 2402FFFF */ addiu $v0, $zero, -1
/* 102014 802DEF24 1202001E */ beq $s0, $v0, .L802DEFA0
/* 102018 802DEF28 00108100 */ sll $s0, $s0, 4
/* 10201C 802DEF2C 3C02802E */ lui $v0, %hi(D_802E0C70)
/* 102020 802DEF30 24420C70 */ addiu $v0, $v0, %lo(D_802E0C70)
/* 10201C 802DEF2C 3C02802E */ lui $v0, %hi(PlayerRasterCache)
/* 102020 802DEF30 24420C70 */ addiu $v0, $v0, %lo(PlayerRasterCache)
/* 102024 802DEF34 02028021 */ addu $s0, $s0, $v0
/* 102028 802DEF38 24020002 */ addiu $v0, $zero, 2
/* 10202C 802DEF3C AE020000 */ sw $v0, ($s0)
@ -53,17 +53,17 @@ glabel spr_get_player_raster
/* 102038 802DEF48 3484FFFF */ ori $a0, $a0, 0xffff
/* 10203C 802DEF4C AE070004 */ sw $a3, 4($s0)
/* 102040 802DEF50 AE050008 */ sw $a1, 8($s0)
/* 102044 802DEF54 3C01802E */ lui $at, %hi(D_802E0050)
/* 102044 802DEF54 3C01802E */ lui $at, %hi(PlayerRasterBufferSetOffsets)
/* 102048 802DEF58 00220821 */ addu $at, $at, $v0
/* 10204C 802DEF5C 8C220050 */ lw $v0, %lo(D_802E0050)($at)
/* 10204C 802DEF5C 8C220050 */ lw $v0, %lo(PlayerRasterBufferSetOffsets)($at)
/* 102050 802DEF60 8E05000C */ lw $a1, 0xc($s0)
/* 102054 802DEF64 00471021 */ addu $v0, $v0, $a3
/* 102058 802DEF68 00021080 */ sll $v0, $v0, 2
/* 10205C 802DEF6C 3C06802E */ lui $a2, %hi(D_802E0090)
/* 102060 802DEF70 00C23021 */ addu $a2, $a2, $v0
/* 102064 802DEF74 8CC60090 */ lw $a2, %lo(D_802E0090)($a2)
/* 102068 802DEF78 3C02802E */ lui $v0, %hi(D_802E0C60)
/* 10206C 802DEF7C 8C420C60 */ lw $v0, %lo(D_802E0C60)($v0)
/* 102068 802DEF78 3C02802E */ lui $v0, %hi(SpriteDataHeader)
/* 10206C 802DEF7C 8C420C60 */ lw $v0, %lo(SpriteDataHeader)($v0)
/* 102070 802DEF80 00C42024 */ and $a0, $a2, $a0
/* 102074 802DEF84 00063402 */ srl $a2, $a2, 0x10
/* 102078 802DEF88 00442021 */ addu $a0, $v0, $a0

View File

@ -90,20 +90,20 @@ glabel spr_load_sprite
/* 101D38 802DEC48 2673FEB8 */ addiu $s3, $s3, %lo(D_802DFEB8)
/* 101D3C 802DEC4C 0260282D */ daddu $a1, $s3, $zero
/* 101D40 802DEC50 24060194 */ addiu $a2, $zero, 0x194
/* 101D44 802DEC54 3C12802E */ lui $s2, %hi(D_802E004C)
/* 101D48 802DEC58 2652004C */ addiu $s2, $s2, %lo(D_802E004C)
/* 101D44 802DEC54 3C12802E */ lui $s2, %hi(PlayerRasterSetsLoaded)
/* 101D48 802DEC58 2652004C */ addiu $s2, $s2, %lo(PlayerRasterSetsLoaded)
/* 101D4C 802DEC5C 8E420000 */ lw $v0, ($s2)
/* 101D50 802DEC60 3C04802E */ lui $a0, %hi(D_802E0C20)
/* 101D54 802DEC64 24840C20 */ addiu $a0, $a0, %lo(D_802E0C20)
/* 101D58 802DEC68 3C01802E */ lui $at, %hi(D_802E0050)
/* 101D58 802DEC68 3C01802E */ lui $at, %hi(PlayerRasterBufferSetOffsets)
/* 101D5C 802DEC6C 00230821 */ addu $at, $at, $v1
/* 101D60 802DEC70 AC220050 */ sw $v0, %lo(D_802E0050)($at)
/* 101D60 802DEC70 AC220050 */ sw $v0, %lo(PlayerRasterBufferSetOffsets)($at)
/* 101D64 802DEC74 26A20001 */ addiu $v0, $s5, 1
/* 101D68 802DEC78 00021080 */ sll $v0, $v0, 2
/* 101D6C 802DEC7C 00441021 */ addu $v0, $v0, $a0
/* 101D70 802DEC80 00641821 */ addu $v1, $v1, $a0
/* 101D74 802DEC84 3C04802E */ lui $a0, %hi(D_802E0C60)
/* 101D78 802DEC88 8C840C60 */ lw $a0, %lo(D_802E0C60)($a0)
/* 101D74 802DEC84 3C04802E */ lui $a0, %hi(SpriteDataHeader)
/* 101D78 802DEC88 8C840C60 */ lw $a0, %lo(SpriteDataHeader)($a0)
/* 101D7C 802DEC8C 3C07802E */ lui $a3, %hi(D_802E0C14)
/* 101D80 802DEC90 8CE70C14 */ lw $a3, %lo(D_802E0C14)($a3)
/* 101D84 802DEC94 8C680000 */ lw $t0, ($v1)

View File

@ -1207,7 +1207,7 @@ glabel func_80255FE0
.L80257180:
/* 185A60 80257180 0C09647B */ jal func_802591EC
/* 185A64 80257184 00000000 */ nop
/* 185A68 80257188 0C0973B2 */ jal func_8025CEC8
/* 185A68 80257188 0C0973B2 */ jal _add_part_decoration
/* 185A6C 8025718C 0220202D */ daddu $a0, $s1, $zero
.L80257190:
/* 185A70 80257190 8E31000C */ lw $s1, 0xc($s1)

View File

@ -1129,7 +1129,7 @@ glabel func_80257DA4
/* 1876A0 80258DC0 0200382D */ daddu $a3, $s0, $zero
/* 1876A4 80258DC4 0C09647B */ jal func_802591EC
/* 1876A8 80258DC8 AFA00010 */ sw $zero, 0x10($sp)
/* 1876AC 80258DCC 0C0973B2 */ jal func_8025CEC8
/* 1876AC 80258DCC 0C0973B2 */ jal _add_part_decoration
/* 1876B0 80258DD0 02E0202D */ daddu $a0, $s7, $zero
/* 1876B4 80258DD4 8FBF02C4 */ lw $ra, 0x2c4($sp)
/* 1876B8 80258DD8 8FBE02C0 */ lw $fp, 0x2c0($sp)

View File

@ -1,83 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8025D160
/* 18BA40 8025D160 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 18BA44 8025D164 0080382D */ daddu $a3, $a0, $zero
/* 18BA48 8025D168 AFBF0024 */ sw $ra, 0x24($sp)
/* 18BA4C 8025D16C AFB20020 */ sw $s2, 0x20($sp)
/* 18BA50 8025D170 AFB1001C */ sw $s1, 0x1c($sp)
/* 18BA54 8025D174 AFB00018 */ sw $s0, 0x18($sp)
/* 18BA58 8025D178 8CF000C0 */ lw $s0, 0xc0($a3)
/* 18BA5C 8025D17C 00A0882D */ daddu $s1, $a1, $zero
/* 18BA60 8025D180 02119021 */ addu $s2, $s0, $s1
/* 18BA64 8025D184 824308BC */ lb $v1, 0x8bc($s2)
/* 18BA68 8025D188 10600005 */ beqz $v1, .L8025D1A0
/* 18BA6C 8025D18C 24020001 */ addiu $v0, $zero, 1
/* 18BA70 8025D190 10620019 */ beq $v1, $v0, .L8025D1F8
/* 18BA74 8025D194 00111080 */ sll $v0, $s1, 2
/* 18BA78 8025D198 0809749E */ j .L8025D278
/* 18BA7C 8025D19C 00000000 */ nop
.L8025D1A0:
/* 18BA80 8025D1A0 00111080 */ sll $v0, $s1, 2
/* 18BA84 8025D1A4 244208B0 */ addiu $v0, $v0, 0x8b0
/* 18BA88 8025D1A8 3C013ECC */ lui $at, 0x3ecc
/* 18BA8C 8025D1AC 3421CCCD */ ori $at, $at, 0xcccd
/* 18BA90 8025D1B0 44810000 */ mtc1 $at, $f0
/* 18BA94 8025D1B4 02021021 */ addu $v0, $s0, $v0
/* 18BA98 8025D1B8 AFA20014 */ sw $v0, 0x14($sp)
/* 18BA9C 8025D1BC E7A00010 */ swc1 $f0, 0x10($sp)
/* 18BAA0 8025D1C0 8CE50058 */ lw $a1, 0x58($a3)
/* 18BAA4 8025D1C4 8CE6005C */ lw $a2, 0x5c($a3)
/* 18BAA8 8025D1C8 8CE70060 */ lw $a3, 0x60($a3)
/* 18BAAC 8025D1CC 0C01C3AC */ jal fx_aura
/* 18BAB0 8025D1D0 24040003 */ addiu $a0, $zero, 3
/* 18BAB4 8025D1D4 24020001 */ addiu $v0, $zero, 1
/* 18BAB8 8025D1D8 A24208BC */ sb $v0, 0x8bc($s2)
/* 18BABC 8025D1DC 00111100 */ sll $v0, $s1, 4
/* 18BAC0 8025D1E0 02021021 */ addu $v0, $s0, $v0
/* 18BAC4 8025D1E4 24030028 */ addiu $v1, $zero, 0x28
/* 18BAC8 8025D1E8 A44308C6 */ sh $v1, 0x8c6($v0)
/* 18BACC 8025D1EC A44308C8 */ sh $v1, 0x8c8($v0)
/* 18BAD0 8025D1F0 0809749E */ j .L8025D278
/* 18BAD4 8025D1F4 A44008CA */ sh $zero, 0x8ca($v0)
.L8025D1F8:
/* 18BAD8 8025D1F8 00112100 */ sll $a0, $s1, 4
/* 18BADC 8025D1FC 02042021 */ addu $a0, $s0, $a0
/* 18BAE0 8025D200 02021021 */ addu $v0, $s0, $v0
/* 18BAE4 8025D204 848308CA */ lh $v1, 0x8ca($a0)
/* 18BAE8 8025D208 C4E00058 */ lwc1 $f0, 0x58($a3)
/* 18BAEC 8025D20C 44831000 */ mtc1 $v1, $f2
/* 18BAF0 8025D210 00000000 */ nop
/* 18BAF4 8025D214 468010A0 */ cvt.s.w $f2, $f2
/* 18BAF8 8025D218 8C4308B0 */ lw $v1, 0x8b0($v0)
/* 18BAFC 8025D21C 46020000 */ add.s $f0, $f0, $f2
/* 18BB00 8025D220 8C62000C */ lw $v0, 0xc($v1)
/* 18BB04 8025D224 E4400004 */ swc1 $f0, 4($v0)
/* 18BB08 8025D228 C4E0005C */ lwc1 $f0, 0x5c($a3)
/* 18BB0C 8025D22C E4400008 */ swc1 $f0, 8($v0)
/* 18BB10 8025D230 C4E00060 */ lwc1 $f0, 0x60($a3)
/* 18BB14 8025D234 E440000C */ swc1 $f0, 0xc($v0)
/* 18BB18 8025D238 848208C6 */ lh $v0, 0x8c6($a0)
/* 18BB1C 8025D23C 3C0142C8 */ lui $at, 0x42c8
/* 18BB20 8025D240 44810000 */ mtc1 $at, $f0
/* 18BB24 8025D244 44821000 */ mtc1 $v0, $f2
/* 18BB28 8025D248 00000000 */ nop
/* 18BB2C 8025D24C 468010A0 */ cvt.s.w $f2, $f2
/* 18BB30 8025D250 8C62000C */ lw $v0, 0xc($v1)
/* 18BB34 8025D254 46001083 */ div.s $f2, $f2, $f0
/* 18BB38 8025D258 E442001C */ swc1 $f2, 0x1c($v0)
/* 18BB3C 8025D25C 848208C8 */ lh $v0, 0x8c8($a0)
/* 18BB40 8025D260 44821000 */ mtc1 $v0, $f2
/* 18BB44 8025D264 00000000 */ nop
/* 18BB48 8025D268 468010A0 */ cvt.s.w $f2, $f2
/* 18BB4C 8025D26C 8C62000C */ lw $v0, 0xc($v1)
/* 18BB50 8025D270 46001083 */ div.s $f2, $f2, $f0
/* 18BB54 8025D274 E4420020 */ swc1 $f2, 0x20($v0)
.L8025D278:
/* 18BB58 8025D278 8FBF0024 */ lw $ra, 0x24($sp)
/* 18BB5C 8025D27C 8FB20020 */ lw $s2, 0x20($sp)
/* 18BB60 8025D280 8FB1001C */ lw $s1, 0x1c($sp)
/* 18BB64 8025D284 8FB00018 */ lw $s0, 0x18($sp)
/* 18BB68 8025D288 03E00008 */ jr $ra
/* 18BB6C 8025D28C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,79 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8025D2B0
/* 18BB90 8025D2B0 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 18BB94 8025D2B4 AFBF0028 */ sw $ra, 0x28($sp)
/* 18BB98 8025D2B8 AFB10024 */ sw $s1, 0x24($sp)
/* 18BB9C 8025D2BC AFB00020 */ sw $s0, 0x20($sp)
/* 18BBA0 8025D2C0 8C9000C0 */ lw $s0, 0xc0($a0)
/* 18BBA4 8025D2C4 00A0882D */ daddu $s1, $a1, $zero
/* 18BBA8 8025D2C8 02112821 */ addu $a1, $s0, $s1
/* 18BBAC 8025D2CC 80A308BC */ lb $v1, 0x8bc($a1)
/* 18BBB0 8025D2D0 10600005 */ beqz $v1, .L8025D2E8
/* 18BBB4 8025D2D4 24020001 */ addiu $v0, $zero, 1
/* 18BBB8 8025D2D8 1062002D */ beq $v1, $v0, .L8025D390
/* 18BBBC 8025D2DC 00111040 */ sll $v0, $s1, 1
/* 18BBC0 8025D2E0 080974EC */ j .L8025D3B0
/* 18BBC4 8025D2E4 00000000 */ nop
.L8025D2E8:
/* 18BBC8 8025D2E8 C4820064 */ lwc1 $f2, 0x64($a0)
/* 18BBCC 8025D2EC 3C0142B4 */ lui $at, 0x42b4
/* 18BBD0 8025D2F0 44810000 */ mtc1 $at, $f0
/* 18BBD4 8025D2F4 00000000 */ nop
/* 18BBD8 8025D2F8 4602003C */ c.lt.s $f0, $f2
/* 18BBDC 8025D2FC 00000000 */ nop
/* 18BBE0 8025D300 45000009 */ bc1f .L8025D328
/* 18BBE4 8025D304 24020014 */ addiu $v0, $zero, 0x14
/* 18BBE8 8025D308 90830073 */ lbu $v1, 0x73($a0)
/* 18BBEC 8025D30C C486005C */ lwc1 $f6, 0x5c($a0)
/* 18BBF0 8025D310 3C0140A0 */ lui $at, 0x40a0
/* 18BBF4 8025D314 44811000 */ mtc1 $at, $f2
/* 18BBF8 8025D318 3C014234 */ lui $at, 0x4234
/* 18BBFC 8025D31C 44812000 */ mtc1 $at, $f4
/* 18BC00 8025D320 080974D1 */ j .L8025D344
/* 18BC04 8025D324 AFA20018 */ sw $v0, 0x18($sp)
.L8025D328:
/* 18BC08 8025D328 90830073 */ lbu $v1, 0x73($a0)
/* 18BC0C 8025D32C C486005C */ lwc1 $f6, 0x5c($a0)
/* 18BC10 8025D330 3C0140A0 */ lui $at, 0x40a0
/* 18BC14 8025D334 44811000 */ mtc1 $at, $f2
/* 18BC18 8025D338 3C01C234 */ lui $at, 0xc234
/* 18BC1C 8025D33C 44812000 */ mtc1 $at, $f4
/* 18BC20 8025D340 AFA20018 */ sw $v0, 0x18($sp)
.L8025D344:
/* 18BC24 8025D344 44830000 */ mtc1 $v1, $f0
/* 18BC28 8025D348 00000000 */ nop
/* 18BC2C 8025D34C 46800020 */ cvt.s.w $f0, $f0
/* 18BC30 8025D350 46003180 */ add.s $f6, $f6, $f0
/* 18BC34 8025D354 E7A20010 */ swc1 $f2, 0x10($sp)
/* 18BC38 8025D358 E7A40014 */ swc1 $f4, 0x14($sp)
/* 18BC3C 8025D35C 8C850058 */ lw $a1, 0x58($a0)
/* 18BC40 8025D360 8C870060 */ lw $a3, 0x60($a0)
/* 18BC44 8025D364 44063000 */ mfc1 $a2, $f6
/* 18BC48 8025D368 0C01C1E4 */ jal fx_sweat
/* 18BC4C 8025D36C 0000202D */ daddu $a0, $zero, $zero
/* 18BC50 8025D370 00111040 */ sll $v0, $s1, 1
/* 18BC54 8025D374 02021021 */ addu $v0, $s0, $v0
/* 18BC58 8025D378 2403000A */ addiu $v1, $zero, 0xa
/* 18BC5C 8025D37C A44308BE */ sh $v1, 0x8be($v0)
/* 18BC60 8025D380 02111821 */ addu $v1, $s0, $s1
/* 18BC64 8025D384 24020001 */ addiu $v0, $zero, 1
/* 18BC68 8025D388 080974EC */ j .L8025D3B0
/* 18BC6C 8025D38C A06208BC */ sb $v0, 0x8bc($v1)
.L8025D390:
/* 18BC70 8025D390 02021821 */ addu $v1, $s0, $v0
/* 18BC74 8025D394 846208BE */ lh $v0, 0x8be($v1)
/* 18BC78 8025D398 946408BE */ lhu $a0, 0x8be($v1)
/* 18BC7C 8025D39C 10400003 */ beqz $v0, .L8025D3AC
/* 18BC80 8025D3A0 2482FFFF */ addiu $v0, $a0, -1
/* 18BC84 8025D3A4 080974EC */ j .L8025D3B0
/* 18BC88 8025D3A8 A46208BE */ sh $v0, 0x8be($v1)
.L8025D3AC:
/* 18BC8C 8025D3AC A0A008BC */ sb $zero, 0x8bc($a1)
.L8025D3B0:
/* 18BC90 8025D3B0 8FBF0028 */ lw $ra, 0x28($sp)
/* 18BC94 8025D3B4 8FB10024 */ lw $s1, 0x24($sp)
/* 18BC98 8025D3B8 8FB00020 */ lw $s0, 0x20($sp)
/* 18BC9C 8025D3BC 03E00008 */ jr $ra
/* 18BCA0 8025D3C0 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,60 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8025D3CC
/* 18BCAC 8025D3CC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 18BCB0 8025D3D0 AFBF0024 */ sw $ra, 0x24($sp)
/* 18BCB4 8025D3D4 AFB00020 */ sw $s0, 0x20($sp)
/* 18BCB8 8025D3D8 8C8600C0 */ lw $a2, 0xc0($a0)
/* 18BCBC 8025D3DC 00C58021 */ addu $s0, $a2, $a1
/* 18BCC0 8025D3E0 820308BC */ lb $v1, 0x8bc($s0)
/* 18BCC4 8025D3E4 10600005 */ beqz $v1, .L8025D3FC
/* 18BCC8 8025D3E8 24020001 */ addiu $v0, $zero, 1
/* 18BCCC 8025D3EC 1062001A */ beq $v1, $v0, .L8025D458
/* 18BCD0 8025D3F0 00051080 */ sll $v0, $a1, 2
/* 18BCD4 8025D3F4 08097524 */ j .L8025D490
/* 18BCD8 8025D3F8 00000000 */ nop
.L8025D3FC:
/* 18BCDC 8025D3FC 90830073 */ lbu $v1, 0x73($a0)
/* 18BCE0 8025D400 C482005C */ lwc1 $f2, 0x5c($a0)
/* 18BCE4 8025D404 24020003 */ addiu $v0, $zero, 3
/* 18BCE8 8025D408 AFA20014 */ sw $v0, 0x14($sp)
/* 18BCEC 8025D40C 00051080 */ sll $v0, $a1, 2
/* 18BCF0 8025D410 244208B0 */ addiu $v0, $v0, 0x8b0
/* 18BCF4 8025D414 3C0141A0 */ lui $at, 0x41a0
/* 18BCF8 8025D418 44810000 */ mtc1 $at, $f0
/* 18BCFC 8025D41C 00C21021 */ addu $v0, $a2, $v0
/* 18BD00 8025D420 AFA20018 */ sw $v0, 0x18($sp)
/* 18BD04 8025D424 E7A00010 */ swc1 $f0, 0x10($sp)
/* 18BD08 8025D428 44830000 */ mtc1 $v1, $f0
/* 18BD0C 8025D42C 00000000 */ nop
/* 18BD10 8025D430 46800020 */ cvt.s.w $f0, $f0
/* 18BD14 8025D434 46001080 */ add.s $f2, $f2, $f0
/* 18BD18 8025D438 8C850058 */ lw $a1, 0x58($a0)
/* 18BD1C 8025D43C 8C870060 */ lw $a3, 0x60($a0)
/* 18BD20 8025D440 44061000 */ mfc1 $a2, $f2
/* 18BD24 8025D444 0C01C28C */ jal fx_stars_orbiting
/* 18BD28 8025D448 0000202D */ daddu $a0, $zero, $zero
/* 18BD2C 8025D44C 24020001 */ addiu $v0, $zero, 1
/* 18BD30 8025D450 08097524 */ j .L8025D490
/* 18BD34 8025D454 A20208BC */ sb $v0, 0x8bc($s0)
.L8025D458:
/* 18BD38 8025D458 00C21021 */ addu $v0, $a2, $v0
/* 18BD3C 8025D45C 8C4208B0 */ lw $v0, 0x8b0($v0)
/* 18BD40 8025D460 C4800058 */ lwc1 $f0, 0x58($a0)
/* 18BD44 8025D464 8C43000C */ lw $v1, 0xc($v0)
/* 18BD48 8025D468 E4600004 */ swc1 $f0, 4($v1)
/* 18BD4C 8025D46C 90820073 */ lbu $v0, 0x73($a0)
/* 18BD50 8025D470 C480005C */ lwc1 $f0, 0x5c($a0)
/* 18BD54 8025D474 44821000 */ mtc1 $v0, $f2
/* 18BD58 8025D478 00000000 */ nop
/* 18BD5C 8025D47C 468010A0 */ cvt.s.w $f2, $f2
/* 18BD60 8025D480 46020000 */ add.s $f0, $f0, $f2
/* 18BD64 8025D484 E4600008 */ swc1 $f0, 8($v1)
/* 18BD68 8025D488 C4800060 */ lwc1 $f0, 0x60($a0)
/* 18BD6C 8025D48C E460000C */ swc1 $f0, 0xc($v1)
.L8025D490:
/* 18BD70 8025D490 8FBF0024 */ lw $ra, 0x24($sp)
/* 18BD74 8025D494 8FB00020 */ lw $s0, 0x20($sp)
/* 18BD78 8025D498 03E00008 */ jr $ra
/* 18BD7C 8025D49C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,93 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8025D4C8
/* 18BDA8 8025D4C8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 18BDAC 8025D4CC AFB1001C */ sw $s1, 0x1c($sp)
/* 18BDB0 8025D4D0 0080882D */ daddu $s1, $a0, $zero
/* 18BDB4 8025D4D4 AFBF0028 */ sw $ra, 0x28($sp)
/* 18BDB8 8025D4D8 AFB30024 */ sw $s3, 0x24($sp)
/* 18BDBC 8025D4DC AFB20020 */ sw $s2, 0x20($sp)
/* 18BDC0 8025D4E0 AFB00018 */ sw $s0, 0x18($sp)
/* 18BDC4 8025D4E4 8E3000C0 */ lw $s0, 0xc0($s1)
/* 18BDC8 8025D4E8 00A0982D */ daddu $s3, $a1, $zero
/* 18BDCC 8025D4EC 02139021 */ addu $s2, $s0, $s3
/* 18BDD0 8025D4F0 824308BC */ lb $v1, 0x8bc($s2)
/* 18BDD4 8025D4F4 10600005 */ beqz $v1, .L8025D50C
/* 18BDD8 8025D4F8 24020001 */ addiu $v0, $zero, 1
/* 18BDDC 8025D4FC 1062001E */ beq $v1, $v0, .L8025D578
/* 18BDE0 8025D500 00131080 */ sll $v0, $s3, 2
/* 18BDE4 8025D504 08097581 */ j .L8025D604
/* 18BDE8 8025D508 00000000 */ nop
.L8025D50C:
/* 18BDEC 8025D50C 00131080 */ sll $v0, $s3, 2
/* 18BDF0 8025D510 244208B0 */ addiu $v0, $v0, 0x8b0
/* 18BDF4 8025D514 3C013ECC */ lui $at, 0x3ecc
/* 18BDF8 8025D518 3421CCCD */ ori $at, $at, 0xcccd
/* 18BDFC 8025D51C 44810000 */ mtc1 $at, $f0
/* 18BE00 8025D520 02021021 */ addu $v0, $s0, $v0
/* 18BE04 8025D524 AFA20014 */ sw $v0, 0x14($sp)
/* 18BE08 8025D528 E7A00010 */ swc1 $f0, 0x10($sp)
/* 18BE0C 8025D52C 8E250058 */ lw $a1, 0x58($s1)
/* 18BE10 8025D530 8E26005C */ lw $a2, 0x5c($s1)
/* 18BE14 8025D534 8E270060 */ lw $a3, 0x60($s1)
/* 18BE18 8025D538 0C01C3AC */ jal fx_aura
/* 18BE1C 8025D53C 24040001 */ addiu $a0, $zero, 1
/* 18BE20 8025D540 24020001 */ addiu $v0, $zero, 1
/* 18BE24 8025D544 A24208BC */ sb $v0, 0x8bc($s2)
/* 18BE28 8025D548 00131100 */ sll $v0, $s3, 4
/* 18BE2C 8025D54C 02021021 */ addu $v0, $s0, $v0
/* 18BE30 8025D550 24030028 */ addiu $v1, $zero, 0x28
/* 18BE34 8025D554 A44308C6 */ sh $v1, 0x8c6($v0)
/* 18BE38 8025D558 A44308C8 */ sh $v1, 0x8c8($v0)
/* 18BE3C 8025D55C 240300FF */ addiu $v1, $zero, 0xff
/* 18BE40 8025D560 A44308CA */ sh $v1, 0x8ca($v0)
/* 18BE44 8025D564 A44008CC */ sh $zero, 0x8cc($v0)
/* 18BE48 8025D568 A44308CE */ sh $v1, 0x8ce($v0)
/* 18BE4C 8025D56C A44008D0 */ sh $zero, 0x8d0($v0)
/* 18BE50 8025D570 A44008D2 */ sh $zero, 0x8d2($v0)
/* 18BE54 8025D574 00131080 */ sll $v0, $s3, 2
.L8025D578:
/* 18BE58 8025D578 02021021 */ addu $v0, $s0, $v0
/* 18BE5C 8025D57C 8C4508B0 */ lw $a1, 0x8b0($v0)
/* 18BE60 8025D580 C6200058 */ lwc1 $f0, 0x58($s1)
/* 18BE64 8025D584 8CA3000C */ lw $v1, 0xc($a1)
/* 18BE68 8025D588 00132100 */ sll $a0, $s3, 4
/* 18BE6C 8025D58C E4600004 */ swc1 $f0, 4($v1)
/* 18BE70 8025D590 C620005C */ lwc1 $f0, 0x5c($s1)
/* 18BE74 8025D594 02042021 */ addu $a0, $s0, $a0
/* 18BE78 8025D598 E4600008 */ swc1 $f0, 8($v1)
/* 18BE7C 8025D59C 848208CC */ lh $v0, 0x8cc($a0)
/* 18BE80 8025D5A0 C6200060 */ lwc1 $f0, 0x60($s1)
/* 18BE84 8025D5A4 44821000 */ mtc1 $v0, $f2
/* 18BE88 8025D5A8 00000000 */ nop
/* 18BE8C 8025D5AC 468010A0 */ cvt.s.w $f2, $f2
/* 18BE90 8025D5B0 46020000 */ add.s $f0, $f0, $f2
/* 18BE94 8025D5B4 E460000C */ swc1 $f0, 0xc($v1)
/* 18BE98 8025D5B8 848208C6 */ lh $v0, 0x8c6($a0)
/* 18BE9C 8025D5BC 3C0142C8 */ lui $at, 0x42c8
/* 18BEA0 8025D5C0 44810000 */ mtc1 $at, $f0
/* 18BEA4 8025D5C4 44821000 */ mtc1 $v0, $f2
/* 18BEA8 8025D5C8 00000000 */ nop
/* 18BEAC 8025D5CC 468010A0 */ cvt.s.w $f2, $f2
/* 18BEB0 8025D5D0 8CA2000C */ lw $v0, 0xc($a1)
/* 18BEB4 8025D5D4 46001083 */ div.s $f2, $f2, $f0
/* 18BEB8 8025D5D8 E442001C */ swc1 $f2, 0x1c($v0)
/* 18BEBC 8025D5DC 848208C8 */ lh $v0, 0x8c8($a0)
/* 18BEC0 8025D5E0 44821000 */ mtc1 $v0, $f2
/* 18BEC4 8025D5E4 00000000 */ nop
/* 18BEC8 8025D5E8 468010A0 */ cvt.s.w $f2, $f2
/* 18BECC 8025D5EC 8CA2000C */ lw $v0, 0xc($a1)
/* 18BED0 8025D5F0 46001083 */ div.s $f2, $f2, $f0
/* 18BED4 8025D5F4 E4420020 */ swc1 $f2, 0x20($v0)
/* 18BED8 8025D5F8 8CA3000C */ lw $v1, 0xc($a1)
/* 18BEDC 8025D5FC 848208CA */ lh $v0, 0x8ca($a0)
/* 18BEE0 8025D600 AC620028 */ sw $v0, 0x28($v1)
.L8025D604:
/* 18BEE4 8025D604 8FBF0028 */ lw $ra, 0x28($sp)
/* 18BEE8 8025D608 8FB30024 */ lw $s3, 0x24($sp)
/* 18BEEC 8025D60C 8FB20020 */ lw $s2, 0x20($sp)
/* 18BEF0 8025D610 8FB1001C */ lw $s1, 0x1c($sp)
/* 18BEF4 8025D614 8FB00018 */ lw $s0, 0x18($sp)
/* 18BEF8 8025D618 03E00008 */ jr $ra
/* 18BEFC 8025D61C 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,54 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8025D640
/* 18BF20 8025D640 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 18BF24 8025D644 AFBF0024 */ sw $ra, 0x24($sp)
/* 18BF28 8025D648 AFB20020 */ sw $s2, 0x20($sp)
/* 18BF2C 8025D64C AFB1001C */ sw $s1, 0x1c($sp)
/* 18BF30 8025D650 AFB00018 */ sw $s0, 0x18($sp)
/* 18BF34 8025D654 8C9000C0 */ lw $s0, 0xc0($a0)
/* 18BF38 8025D658 00A0882D */ daddu $s1, $a1, $zero
/* 18BF3C 8025D65C 02119021 */ addu $s2, $s0, $s1
/* 18BF40 8025D660 824308BC */ lb $v1, 0x8bc($s2)
/* 18BF44 8025D664 10600005 */ beqz $v1, .L8025D67C
/* 18BF48 8025D668 24020001 */ addiu $v0, $zero, 1
/* 18BF4C 8025D66C 10620012 */ beq $v1, $v0, .L8025D6B8
/* 18BF50 8025D670 00111080 */ sll $v0, $s1, 2
/* 18BF54 8025D674 080975B9 */ j .L8025D6E4
/* 18BF58 8025D678 00000000 */ nop
.L8025D67C:
/* 18BF5C 8025D67C 3C013F80 */ lui $at, 0x3f80
/* 18BF60 8025D680 44810000 */ mtc1 $at, $f0
/* 18BF64 8025D684 AFA00014 */ sw $zero, 0x14($sp)
/* 18BF68 8025D688 E7A00010 */ swc1 $f0, 0x10($sp)
/* 18BF6C 8025D68C 8C850058 */ lw $a1, 0x58($a0)
/* 18BF70 8025D690 8C86005C */ lw $a2, 0x5c($a0)
/* 18BF74 8025D694 8C870060 */ lw $a3, 0x60($a0)
/* 18BF78 8025D698 0C01C79C */ jal fx_65
/* 18BF7C 8025D69C 24040001 */ addiu $a0, $zero, 1
/* 18BF80 8025D6A0 00111880 */ sll $v1, $s1, 2
/* 18BF84 8025D6A4 02031821 */ addu $v1, $s0, $v1
/* 18BF88 8025D6A8 AC6208B0 */ sw $v0, 0x8b0($v1)
/* 18BF8C 8025D6AC 24020001 */ addiu $v0, $zero, 1
/* 18BF90 8025D6B0 080975B9 */ j .L8025D6E4
/* 18BF94 8025D6B4 A24208BC */ sb $v0, 0x8bc($s2)
.L8025D6B8:
/* 18BF98 8025D6B8 02021021 */ addu $v0, $s0, $v0
/* 18BF9C 8025D6BC 8C4208B0 */ lw $v0, 0x8b0($v0)
/* 18BFA0 8025D6C0 C4800058 */ lwc1 $f0, 0x58($a0)
/* 18BFA4 8025D6C4 8C43000C */ lw $v1, 0xc($v0)
/* 18BFA8 8025D6C8 E4600038 */ swc1 $f0, 0x38($v1)
/* 18BFAC 8025D6CC 8C43000C */ lw $v1, 0xc($v0)
/* 18BFB0 8025D6D0 C480005C */ lwc1 $f0, 0x5c($a0)
/* 18BFB4 8025D6D4 E460003C */ swc1 $f0, 0x3c($v1)
/* 18BFB8 8025D6D8 8C42000C */ lw $v0, 0xc($v0)
/* 18BFBC 8025D6DC C4800060 */ lwc1 $f0, 0x60($a0)
/* 18BFC0 8025D6E0 E4400040 */ swc1 $f0, 0x40($v0)
.L8025D6E4:
/* 18BFC4 8025D6E4 8FBF0024 */ lw $ra, 0x24($sp)
/* 18BFC8 8025D6E8 8FB20020 */ lw $s2, 0x20($sp)
/* 18BFCC 8025D6EC 8FB1001C */ lw $s1, 0x1c($sp)
/* 18BFD0 8025D6F0 8FB00018 */ lw $s0, 0x18($sp)
/* 18BFD4 8025D6F4 03E00008 */ jr $ra
/* 18BFD8 8025D6F8 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,68 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8025D71C
/* 18BFFC 8025D71C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 18C000 8025D720 AFBF0024 */ sw $ra, 0x24($sp)
/* 18C004 8025D724 AFB20020 */ sw $s2, 0x20($sp)
/* 18C008 8025D728 AFB1001C */ sw $s1, 0x1c($sp)
/* 18C00C 8025D72C AFB00018 */ sw $s0, 0x18($sp)
/* 18C010 8025D730 8C9000C0 */ lw $s0, 0xc0($a0)
/* 18C014 8025D734 00A0882D */ daddu $s1, $a1, $zero
/* 18C018 8025D738 02119021 */ addu $s2, $s0, $s1
/* 18C01C 8025D73C 824308BC */ lb $v1, 0x8bc($s2)
/* 18C020 8025D740 10600005 */ beqz $v1, .L8025D758
/* 18C024 8025D744 24020001 */ addiu $v0, $zero, 1
/* 18C028 8025D748 10620015 */ beq $v1, $v0, .L8025D7A0
/* 18C02C 8025D74C 00111080 */ sll $v0, $s1, 2
/* 18C030 8025D750 080975FE */ j .L8025D7F8
/* 18C034 8025D754 00000000 */ nop
.L8025D758:
/* 18C038 8025D758 3C013F80 */ lui $at, 0x3f80
/* 18C03C 8025D75C 44810000 */ mtc1 $at, $f0
/* 18C040 8025D760 AFA00014 */ sw $zero, 0x14($sp)
/* 18C044 8025D764 E7A00010 */ swc1 $f0, 0x10($sp)
/* 18C048 8025D768 8C850058 */ lw $a1, 0x58($a0)
/* 18C04C 8025D76C 8C86005C */ lw $a2, 0x5c($a0)
/* 18C050 8025D770 8C870060 */ lw $a3, 0x60($a0)
/* 18C054 8025D774 0C01C79C */ jal fx_65
/* 18C058 8025D778 24040002 */ addiu $a0, $zero, 2
/* 18C05C 8025D77C 00111880 */ sll $v1, $s1, 2
/* 18C060 8025D780 02031821 */ addu $v1, $s0, $v1
/* 18C064 8025D784 AC6208B0 */ sw $v0, 0x8b0($v1)
/* 18C068 8025D788 00111100 */ sll $v0, $s1, 4
/* 18C06C 8025D78C 02021021 */ addu $v0, $s0, $v0
/* 18C070 8025D790 24030001 */ addiu $v1, $zero, 1
/* 18C074 8025D794 A44308C6 */ sh $v1, 0x8c6($v0)
/* 18C078 8025D798 080975FE */ j .L8025D7F8
/* 18C07C 8025D79C A24308BC */ sb $v1, 0x8bc($s2)
.L8025D7A0:
/* 18C080 8025D7A0 02021021 */ addu $v0, $s0, $v0
/* 18C084 8025D7A4 8C4308B0 */ lw $v1, 0x8b0($v0)
/* 18C088 8025D7A8 C4800058 */ lwc1 $f0, 0x58($a0)
/* 18C08C 8025D7AC 8C62000C */ lw $v0, 0xc($v1)
/* 18C090 8025D7B0 E4400038 */ swc1 $f0, 0x38($v0)
/* 18C094 8025D7B4 8C62000C */ lw $v0, 0xc($v1)
/* 18C098 8025D7B8 C480005C */ lwc1 $f0, 0x5c($a0)
/* 18C09C 8025D7BC E440003C */ swc1 $f0, 0x3c($v0)
/* 18C0A0 8025D7C0 8C62000C */ lw $v0, 0xc($v1)
/* 18C0A4 8025D7C4 C4800060 */ lwc1 $f0, 0x60($a0)
/* 18C0A8 8025D7C8 E4400040 */ swc1 $f0, 0x40($v0)
/* 18C0AC 8025D7CC 00111100 */ sll $v0, $s1, 4
/* 18C0B0 8025D7D0 02021021 */ addu $v0, $s0, $v0
/* 18C0B4 8025D7D4 844208C6 */ lh $v0, 0x8c6($v0)
/* 18C0B8 8025D7D8 3C0142C8 */ lui $at, 0x42c8
/* 18C0BC 8025D7DC 44811000 */ mtc1 $at, $f2
/* 18C0C0 8025D7E0 44820000 */ mtc1 $v0, $f0
/* 18C0C4 8025D7E4 00000000 */ nop
/* 18C0C8 8025D7E8 46800020 */ cvt.s.w $f0, $f0
/* 18C0CC 8025D7EC 8C62000C */ lw $v0, 0xc($v1)
/* 18C0D0 8025D7F0 46020003 */ div.s $f0, $f0, $f2
/* 18C0D4 8025D7F4 E4400034 */ swc1 $f0, 0x34($v0)
.L8025D7F8:
/* 18C0D8 8025D7F8 8FBF0024 */ lw $ra, 0x24($sp)
/* 18C0DC 8025D7FC 8FB20020 */ lw $s2, 0x20($sp)
/* 18C0E0 8025D800 8FB1001C */ lw $s1, 0x1c($sp)
/* 18C0E4 8025D804 8FB00018 */ lw $s0, 0x18($sp)
/* 18C0E8 8025D808 03E00008 */ jr $ra
/* 18C0EC 8025D80C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,54 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8025D830
/* 18C110 8025D830 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 18C114 8025D834 AFBF0024 */ sw $ra, 0x24($sp)
/* 18C118 8025D838 AFB20020 */ sw $s2, 0x20($sp)
/* 18C11C 8025D83C AFB1001C */ sw $s1, 0x1c($sp)
/* 18C120 8025D840 AFB00018 */ sw $s0, 0x18($sp)
/* 18C124 8025D844 8C9000C0 */ lw $s0, 0xc0($a0)
/* 18C128 8025D848 00A0882D */ daddu $s1, $a1, $zero
/* 18C12C 8025D84C 02119021 */ addu $s2, $s0, $s1
/* 18C130 8025D850 824308BC */ lb $v1, 0x8bc($s2)
/* 18C134 8025D854 10600005 */ beqz $v1, .L8025D86C
/* 18C138 8025D858 24020001 */ addiu $v0, $zero, 1
/* 18C13C 8025D85C 10620012 */ beq $v1, $v0, .L8025D8A8
/* 18C140 8025D860 00111080 */ sll $v0, $s1, 2
/* 18C144 8025D864 08097635 */ j .L8025D8D4
/* 18C148 8025D868 00000000 */ nop
.L8025D86C:
/* 18C14C 8025D86C 3C013F80 */ lui $at, 0x3f80
/* 18C150 8025D870 44810000 */ mtc1 $at, $f0
/* 18C154 8025D874 AFA00014 */ sw $zero, 0x14($sp)
/* 18C158 8025D878 E7A00010 */ swc1 $f0, 0x10($sp)
/* 18C15C 8025D87C 8C850058 */ lw $a1, 0x58($a0)
/* 18C160 8025D880 8C86005C */ lw $a2, 0x5c($a0)
/* 18C164 8025D884 8C870060 */ lw $a3, 0x60($a0)
/* 18C168 8025D888 0C01C7CC */ jal fx_whirlwind
/* 18C16C 8025D88C 24040002 */ addiu $a0, $zero, 2
/* 18C170 8025D890 00111880 */ sll $v1, $s1, 2
/* 18C174 8025D894 02031821 */ addu $v1, $s0, $v1
/* 18C178 8025D898 AC6208B0 */ sw $v0, 0x8b0($v1)
/* 18C17C 8025D89C 24020001 */ addiu $v0, $zero, 1
/* 18C180 8025D8A0 08097635 */ j .L8025D8D4
/* 18C184 8025D8A4 A24208BC */ sb $v0, 0x8bc($s2)
.L8025D8A8:
/* 18C188 8025D8A8 02021021 */ addu $v0, $s0, $v0
/* 18C18C 8025D8AC 8C4208B0 */ lw $v0, 0x8b0($v0)
/* 18C190 8025D8B0 C4800058 */ lwc1 $f0, 0x58($a0)
/* 18C194 8025D8B4 8C43000C */ lw $v1, 0xc($v0)
/* 18C198 8025D8B8 E4600004 */ swc1 $f0, 4($v1)
/* 18C19C 8025D8BC 8C43000C */ lw $v1, 0xc($v0)
/* 18C1A0 8025D8C0 C480005C */ lwc1 $f0, 0x5c($a0)
/* 18C1A4 8025D8C4 E4600008 */ swc1 $f0, 8($v1)
/* 18C1A8 8025D8C8 8C42000C */ lw $v0, 0xc($v0)
/* 18C1AC 8025D8CC C4800060 */ lwc1 $f0, 0x60($a0)
/* 18C1B0 8025D8D0 E440000C */ swc1 $f0, 0xc($v0)
.L8025D8D4:
/* 18C1B4 8025D8D4 8FBF0024 */ lw $ra, 0x24($sp)
/* 18C1B8 8025D8D8 8FB20020 */ lw $s2, 0x20($sp)
/* 18C1BC 8025D8DC 8FB1001C */ lw $s1, 0x1c($sp)
/* 18C1C0 8025D8E0 8FB00018 */ lw $s0, 0x18($sp)
/* 18C1C4 8025D8E4 03E00008 */ jr $ra
/* 18C1C8 8025D8E8 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,92 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8025D90C
/* 18C1EC 8025D90C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 18C1F0 8025D910 AFB00018 */ sw $s0, 0x18($sp)
/* 18C1F4 8025D914 0080802D */ daddu $s0, $a0, $zero
/* 18C1F8 8025D918 AFBF001C */ sw $ra, 0x1c($sp)
/* 18C1FC 8025D91C F7B40020 */ sdc1 $f20, 0x20($sp)
/* 18C200 8025D920 8E0400C0 */ lw $a0, 0xc0($s0)
/* 18C204 8025D924 00853021 */ addu $a2, $a0, $a1
/* 18C208 8025D928 80C308BC */ lb $v1, 0x8bc($a2)
/* 18C20C 8025D92C 10600005 */ beqz $v1, .L8025D944
/* 18C210 8025D930 24020001 */ addiu $v0, $zero, 1
/* 18C214 8025D934 10620009 */ beq $v1, $v0, .L8025D95C
/* 18C218 8025D938 00051040 */ sll $v0, $a1, 1
/* 18C21C 8025D93C 08097693 */ j .L8025DA4C
/* 18C220 8025D940 00000000 */ nop
.L8025D944:
/* 18C224 8025D944 00051040 */ sll $v0, $a1, 1
/* 18C228 8025D948 00821021 */ addu $v0, $a0, $v0
/* 18C22C 8025D94C A44008BE */ sh $zero, 0x8be($v0)
/* 18C230 8025D950 24020001 */ addiu $v0, $zero, 1
/* 18C234 8025D954 A0C208BC */ sb $v0, 0x8bc($a2)
/* 18C238 8025D958 00051040 */ sll $v0, $a1, 1
.L8025D95C:
/* 18C23C 8025D95C 00821821 */ addu $v1, $a0, $v0
/* 18C240 8025D960 946208BE */ lhu $v0, 0x8be($v1)
/* 18C244 8025D964 24420001 */ addiu $v0, $v0, 1
/* 18C248 8025D968 A46208BE */ sh $v0, 0x8be($v1)
/* 18C24C 8025D96C 00021400 */ sll $v0, $v0, 0x10
/* 18C250 8025D970 00021403 */ sra $v0, $v0, 0x10
/* 18C254 8025D974 28420004 */ slti $v0, $v0, 4
/* 18C258 8025D978 14400034 */ bnez $v0, .L8025DA4C
/* 18C25C 8025D97C 00000000 */ nop
/* 18C260 8025D980 A46008BE */ sh $zero, 0x8be($v1)
/* 18C264 8025D984 C60C0064 */ lwc1 $f12, 0x64($s0)
/* 18C268 8025D988 0C00A6C9 */ jal clamp_angle
/* 18C26C 8025D98C 46006307 */ neg.s $f12, $f12
/* 18C270 8025D990 3C0140C9 */ lui $at, 0x40c9
/* 18C274 8025D994 34210FD0 */ ori $at, $at, 0xfd0
/* 18C278 8025D998 44811000 */ mtc1 $at, $f2
/* 18C27C 8025D99C 00000000 */ nop
/* 18C280 8025D9A0 46020502 */ mul.s $f20, $f0, $f2
/* 18C284 8025D9A4 00000000 */ nop
/* 18C288 8025D9A8 3C0143B4 */ lui $at, 0x43b4
/* 18C28C 8025D9AC 44810000 */ mtc1 $at, $f0
/* 18C290 8025D9B0 00000000 */ nop
/* 18C294 8025D9B4 4600A503 */ div.s $f20, $f20, $f0
/* 18C298 8025D9B8 0C00A85B */ jal sin_rad
/* 18C29C 8025D9BC 4600A306 */ mov.s $f12, $f20
/* 18C2A0 8025D9C0 4600A306 */ mov.s $f12, $f20
/* 18C2A4 8025D9C4 0C00A874 */ jal cos_rad
/* 18C2A8 8025D9C8 46000506 */ mov.s $f20, $f0
/* 18C2AC 8025D9CC 92020072 */ lbu $v0, 0x72($s0)
/* 18C2B0 8025D9D0 44822000 */ mtc1 $v0, $f4
/* 18C2B4 8025D9D4 00000000 */ nop
/* 18C2B8 8025D9D8 46802120 */ cvt.s.w $f4, $f4
/* 18C2BC 8025D9DC 46142182 */ mul.s $f6, $f4, $f20
/* 18C2C0 8025D9E0 00000000 */ nop
/* 18C2C4 8025D9E4 46002102 */ mul.s $f4, $f4, $f0
/* 18C2C8 8025D9E8 00000000 */ nop
/* 18C2CC 8025D9EC 3C013E4C */ lui $at, 0x3e4c
/* 18C2D0 8025D9F0 3421CCCD */ ori $at, $at, 0xcccd
/* 18C2D4 8025D9F4 44811000 */ mtc1 $at, $f2
/* 18C2D8 8025D9F8 00000000 */ nop
/* 18C2DC 8025D9FC 46023182 */ mul.s $f6, $f6, $f2
/* 18C2E0 8025DA00 00000000 */ nop
/* 18C2E4 8025DA04 46022102 */ mul.s $f4, $f4, $f2
/* 18C2E8 8025DA08 00000000 */ nop
/* 18C2EC 8025DA0C C6020058 */ lwc1 $f2, 0x58($s0)
/* 18C2F0 8025DA10 46061080 */ add.s $f2, $f2, $f6
/* 18C2F4 8025DA14 C6060060 */ lwc1 $f6, 0x60($s0)
/* 18C2F8 8025DA18 C608005C */ lwc1 $f8, 0x5c($s0)
/* 18C2FC 8025DA1C 46043180 */ add.s $f6, $f6, $f4
/* 18C300 8025DA20 44051000 */ mfc1 $a1, $f2
/* 18C304 8025DA24 3C013FC0 */ lui $at, 0x3fc0
/* 18C308 8025DA28 44811000 */ mtc1 $at, $f2
/* 18C30C 8025DA2C 00000000 */ nop
/* 18C310 8025DA30 46024200 */ add.s $f8, $f8, $f2
/* 18C314 8025DA34 44073000 */ mfc1 $a3, $f6
/* 18C318 8025DA38 44064000 */ mfc1 $a2, $f8
/* 18C31C 8025DA3C 0000202D */ daddu $a0, $zero, $zero
/* 18C320 8025DA40 E7B40010 */ swc1 $f20, 0x10($sp)
/* 18C324 8025DA44 0C01BECC */ jal fx_walking_dust
/* 18C328 8025DA48 E7A00014 */ swc1 $f0, 0x14($sp)
.L8025DA4C:
/* 18C32C 8025DA4C 8FBF001C */ lw $ra, 0x1c($sp)
/* 18C330 8025DA50 8FB00018 */ lw $s0, 0x18($sp)
/* 18C334 8025DA54 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 18C338 8025DA58 03E00008 */ jr $ra
/* 18C33C 8025DA5C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,96 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8025DA68
/* 18C348 8025DA68 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 18C34C 8025DA6C AFB1001C */ sw $s1, 0x1c($sp)
/* 18C350 8025DA70 00A0882D */ daddu $s1, $a1, $zero
/* 18C354 8025DA74 AFBF0020 */ sw $ra, 0x20($sp)
/* 18C358 8025DA78 AFB00018 */ sw $s0, 0x18($sp)
/* 18C35C 8025DA7C F7B80038 */ sdc1 $f24, 0x38($sp)
/* 18C360 8025DA80 F7B60030 */ sdc1 $f22, 0x30($sp)
/* 18C364 8025DA84 F7B40028 */ sdc1 $f20, 0x28($sp)
/* 18C368 8025DA88 8C9000C0 */ lw $s0, 0xc0($a0)
/* 18C36C 8025DA8C 00111100 */ sll $v0, $s1, 4
/* 18C370 8025DA90 02021021 */ addu $v0, $s0, $v0
/* 18C374 8025DA94 844208C6 */ lh $v0, 0x8c6($v0)
/* 18C378 8025DA98 00021040 */ sll $v0, $v0, 1
/* 18C37C 8025DA9C 3C018028 */ lui $at, %hi(D_80284134)
/* 18C380 8025DAA0 00220821 */ addu $at, $at, $v0
/* 18C384 8025DAA4 84224134 */ lh $v0, %lo(D_80284134)($at)
/* 18C388 8025DAA8 0440003F */ bltz $v0, .L8025DBA8
/* 18C38C 8025DAAC 02112821 */ addu $a1, $s0, $s1
/* 18C390 8025DAB0 80A308BC */ lb $v1, 0x8bc($a1)
/* 18C394 8025DAB4 10600005 */ beqz $v1, .L8025DACC
/* 18C398 8025DAB8 24020001 */ addiu $v0, $zero, 1
/* 18C39C 8025DABC 10620008 */ beq $v1, $v0, .L8025DAE0
/* 18C3A0 8025DAC0 00000000 */ nop
/* 18C3A4 8025DAC4 080976EA */ j .L8025DBA8
/* 18C3A8 8025DAC8 00000000 */ nop
.L8025DACC:
/* 18C3AC 8025DACC 00111040 */ sll $v0, $s1, 1
/* 18C3B0 8025DAD0 02021021 */ addu $v0, $s0, $v0
/* 18C3B4 8025DAD4 A44008BE */ sh $zero, 0x8be($v0)
/* 18C3B8 8025DAD8 24020001 */ addiu $v0, $zero, 1
/* 18C3BC 8025DADC A0A208BC */ sb $v0, 0x8bc($a1)
.L8025DAE0:
/* 18C3C0 8025DAE0 90820073 */ lbu $v0, 0x73($a0)
/* 18C3C4 8025DAE4 C482005C */ lwc1 $f2, 0x5c($a0)
/* 18C3C8 8025DAE8 C4940058 */ lwc1 $f20, 0x58($a0)
/* 18C3CC 8025DAEC 00021042 */ srl $v0, $v0, 1
/* 18C3D0 8025DAF0 44820000 */ mtc1 $v0, $f0
/* 18C3D4 8025DAF4 00000000 */ nop
/* 18C3D8 8025DAF8 46800020 */ cvt.s.w $f0, $f0
/* 18C3DC 8025DAFC 46001600 */ add.s $f24, $f2, $f0
/* 18C3E0 8025DB00 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 18C3E4 8025DB04 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 18C3E8 8025DB08 C4820060 */ lwc1 $f2, 0x60($a0)
/* 18C3EC 8025DB0C 3C0140A0 */ lui $at, 0x40a0
/* 18C3F0 8025DB10 44810000 */ mtc1 $at, $f0
/* 18C3F4 8025DB14 94420134 */ lhu $v0, 0x134($v0)
/* 18C3F8 8025DB18 00021082 */ srl $v0, $v0, 2
/* 18C3FC 8025DB1C 14400009 */ bnez $v0, .L8025DB44
/* 18C400 8025DB20 46001581 */ sub.s $f22, $f2, $f0
/* 18C404 8025DB24 4405A000 */ mfc1 $a1, $f20
/* 18C408 8025DB28 4406C000 */ mfc1 $a2, $f24
/* 18C40C 8025DB2C 4407B000 */ mfc1 $a3, $f22
/* 18C410 8025DB30 3C014120 */ lui $at, 0x4120
/* 18C414 8025DB34 44810000 */ mtc1 $at, $f0
/* 18C418 8025DB38 24040001 */ addiu $a0, $zero, 1
/* 18C41C 8025DB3C 0C01BFBC */ jal fx_sparkles
/* 18C420 8025DB40 E7A00010 */ swc1 $f0, 0x10($sp)
.L8025DB44:
/* 18C424 8025DB44 00111040 */ sll $v0, $s1, 1
/* 18C428 8025DB48 02024021 */ addu $t0, $s0, $v0
/* 18C42C 8025DB4C 00111100 */ sll $v0, $s1, 4
/* 18C430 8025DB50 950308BE */ lhu $v1, 0x8be($t0)
/* 18C434 8025DB54 02021021 */ addu $v0, $s0, $v0
/* 18C438 8025DB58 24630001 */ addiu $v1, $v1, 1
/* 18C43C 8025DB5C A50308BE */ sh $v1, 0x8be($t0)
/* 18C440 8025DB60 844208C6 */ lh $v0, 0x8c6($v0)
/* 18C444 8025DB64 00031C00 */ sll $v1, $v1, 0x10
/* 18C448 8025DB68 00021040 */ sll $v0, $v0, 1
/* 18C44C 8025DB6C 3C018028 */ lui $at, %hi(D_80284134)
/* 18C450 8025DB70 00220821 */ addu $at, $at, $v0
/* 18C454 8025DB74 84224134 */ lh $v0, %lo(D_80284134)($at)
/* 18C458 8025DB78 00031C03 */ sra $v1, $v1, 0x10
/* 18C45C 8025DB7C 0043102A */ slt $v0, $v0, $v1
/* 18C460 8025DB80 10400009 */ beqz $v0, .L8025DBA8
/* 18C464 8025DB84 24040001 */ addiu $a0, $zero, 1
/* 18C468 8025DB88 4405A000 */ mfc1 $a1, $f20
/* 18C46C 8025DB8C 4406C000 */ mfc1 $a2, $f24
/* 18C470 8025DB90 4407B000 */ mfc1 $a3, $f22
/* 18C474 8025DB94 3C0141A0 */ lui $at, 0x41a0
/* 18C478 8025DB98 44810000 */ mtc1 $at, $f0
/* 18C47C 8025DB9C A50008BE */ sh $zero, 0x8be($t0)
/* 18C480 8025DBA0 0C01BFBC */ jal fx_sparkles
/* 18C484 8025DBA4 E7A00010 */ swc1 $f0, 0x10($sp)
.L8025DBA8:
/* 18C488 8025DBA8 8FBF0020 */ lw $ra, 0x20($sp)
/* 18C48C 8025DBAC 8FB1001C */ lw $s1, 0x1c($sp)
/* 18C490 8025DBB0 8FB00018 */ lw $s0, 0x18($sp)
/* 18C494 8025DBB4 D7B80038 */ ldc1 $f24, 0x38($sp)
/* 18C498 8025DBB8 D7B60030 */ ldc1 $f22, 0x30($sp)
/* 18C49C 8025DBBC D7B40028 */ ldc1 $f20, 0x28($sp)
/* 18C4A0 8025DBC0 03E00008 */ jr $ra
/* 18C4A4 8025DBC4 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,106 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_8029D4E8
.double 0.7999999999999999
.section .text
glabel func_8025DBD0
/* 18C4B0 8025DBD0 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 18C4B4 8025DBD4 AFB1001C */ sw $s1, 0x1c($sp)
/* 18C4B8 8025DBD8 0080882D */ daddu $s1, $a0, $zero
/* 18C4BC 8025DBDC AFBF0028 */ sw $ra, 0x28($sp)
/* 18C4C0 8025DBE0 AFB30024 */ sw $s3, 0x24($sp)
/* 18C4C4 8025DBE4 AFB20020 */ sw $s2, 0x20($sp)
/* 18C4C8 8025DBE8 AFB00018 */ sw $s0, 0x18($sp)
/* 18C4CC 8025DBEC 8E3000C0 */ lw $s0, 0xc0($s1)
/* 18C4D0 8025DBF0 00A0982D */ daddu $s3, $a1, $zero
/* 18C4D4 8025DBF4 02139021 */ addu $s2, $s0, $s3
/* 18C4D8 8025DBF8 824308BC */ lb $v1, 0x8bc($s2)
/* 18C4DC 8025DBFC 10600005 */ beqz $v1, .L8025DC14
/* 18C4E0 8025DC00 24020001 */ addiu $v0, $zero, 1
/* 18C4E4 8025DC04 1062001B */ beq $v1, $v0, .L8025DC74
/* 18C4E8 8025DC08 00131080 */ sll $v0, $s3, 2
/* 18C4EC 8025DC0C 08097749 */ j .L8025DD24
/* 18C4F0 8025DC10 00000000 */ nop
.L8025DC14:
/* 18C4F4 8025DC14 00131080 */ sll $v0, $s3, 2
/* 18C4F8 8025DC18 244208B0 */ addiu $v0, $v0, 0x8b0
/* 18C4FC 8025DC1C 3C013F99 */ lui $at, 0x3f99
/* 18C500 8025DC20 3421999A */ ori $at, $at, 0x999a
/* 18C504 8025DC24 44810000 */ mtc1 $at, $f0
/* 18C508 8025DC28 02021021 */ addu $v0, $s0, $v0
/* 18C50C 8025DC2C AFA20014 */ sw $v0, 0x14($sp)
/* 18C510 8025DC30 E7A00010 */ swc1 $f0, 0x10($sp)
/* 18C514 8025DC34 8E250058 */ lw $a1, 0x58($s1)
/* 18C518 8025DC38 8E26005C */ lw $a2, 0x5c($s1)
/* 18C51C 8025DC3C 8E270060 */ lw $a3, 0x60($s1)
/* 18C520 8025DC40 0C01C3AC */ jal fx_aura
/* 18C524 8025DC44 24040002 */ addiu $a0, $zero, 2
/* 18C528 8025DC48 24020001 */ addiu $v0, $zero, 1
/* 18C52C 8025DC4C A24208BC */ sb $v0, 0x8bc($s2)
/* 18C530 8025DC50 00131100 */ sll $v0, $s3, 4
/* 18C534 8025DC54 02021021 */ addu $v0, $s0, $v0
/* 18C538 8025DC58 24030096 */ addiu $v1, $zero, 0x96
/* 18C53C 8025DC5C A44308C6 */ sh $v1, 0x8c6($v0)
/* 18C540 8025DC60 A44308C8 */ sh $v1, 0x8c8($v0)
/* 18C544 8025DC64 240300FF */ addiu $v1, $zero, 0xff
/* 18C548 8025DC68 A44308CA */ sh $v1, 0x8ca($v0)
/* 18C54C 8025DC6C A44008CC */ sh $zero, 0x8cc($v0)
/* 18C550 8025DC70 00131080 */ sll $v0, $s3, 2
.L8025DC74:
/* 18C554 8025DC74 02021021 */ addu $v0, $s0, $v0
/* 18C558 8025DC78 8C4508B0 */ lw $a1, 0x8b0($v0)
/* 18C55C 8025DC7C C6200058 */ lwc1 $f0, 0x58($s1)
/* 18C560 8025DC80 8CA3000C */ lw $v1, 0xc($a1)
/* 18C564 8025DC84 00132100 */ sll $a0, $s3, 4
/* 18C568 8025DC88 E4600004 */ swc1 $f0, 4($v1)
/* 18C56C 8025DC8C C620005C */ lwc1 $f0, 0x5c($s1)
/* 18C570 8025DC90 02042021 */ addu $a0, $s0, $a0
/* 18C574 8025DC94 E4600008 */ swc1 $f0, 8($v1)
/* 18C578 8025DC98 848208CC */ lh $v0, 0x8cc($a0)
/* 18C57C 8025DC9C C6200060 */ lwc1 $f0, 0x60($s1)
/* 18C580 8025DCA0 44821000 */ mtc1 $v0, $f2
/* 18C584 8025DCA4 00000000 */ nop
/* 18C588 8025DCA8 468010A0 */ cvt.s.w $f2, $f2
/* 18C58C 8025DCAC 46020000 */ add.s $f0, $f0, $f2
/* 18C590 8025DCB0 E460000C */ swc1 $f0, 0xc($v1)
/* 18C594 8025DCB4 848208C6 */ lh $v0, 0x8c6($a0)
/* 18C598 8025DCB8 3C0142C8 */ lui $at, 0x42c8
/* 18C59C 8025DCBC 44810000 */ mtc1 $at, $f0
/* 18C5A0 8025DCC0 44822000 */ mtc1 $v0, $f4
/* 18C5A4 8025DCC4 00000000 */ nop
/* 18C5A8 8025DCC8 46802120 */ cvt.s.w $f4, $f4
/* 18C5AC 8025DCCC 8CA2000C */ lw $v0, 0xc($a1)
/* 18C5B0 8025DCD0 46002103 */ div.s $f4, $f4, $f0
/* 18C5B4 8025DCD4 E444001C */ swc1 $f4, 0x1c($v0)
/* 18C5B8 8025DCD8 848208C8 */ lh $v0, 0x8c8($a0)
/* 18C5BC 8025DCDC 3C01802A */ lui $at, %hi(D_8029D4E8)
/* 18C5C0 8025DCE0 D422D4E8 */ ldc1 $f2, %lo(D_8029D4E8)($at)
/* 18C5C4 8025DCE4 44822000 */ mtc1 $v0, $f4
/* 18C5C8 8025DCE8 00000000 */ nop
/* 18C5CC 8025DCEC 46802120 */ cvt.s.w $f4, $f4
/* 18C5D0 8025DCF0 46002103 */ div.s $f4, $f4, $f0
/* 18C5D4 8025DCF4 46002021 */ cvt.d.s $f0, $f4
/* 18C5D8 8025DCF8 46220002 */ mul.d $f0, $f0, $f2
/* 18C5DC 8025DCFC 00000000 */ nop
/* 18C5E0 8025DD00 8CA2000C */ lw $v0, 0xc($a1)
/* 18C5E4 8025DD04 46200020 */ cvt.s.d $f0, $f0
/* 18C5E8 8025DD08 E4400020 */ swc1 $f0, 0x20($v0)
/* 18C5EC 8025DD0C 8CA3000C */ lw $v1, 0xc($a1)
/* 18C5F0 8025DD10 848208CA */ lh $v0, 0x8ca($a0)
/* 18C5F4 8025DD14 AC620028 */ sw $v0, 0x28($v1)
/* 18C5F8 8025DD18 8CA2000C */ lw $v0, 0xc($a1)
/* 18C5FC 8025DD1C C6200064 */ lwc1 $f0, 0x64($s1)
/* 18C600 8025DD20 E4400064 */ swc1 $f0, 0x64($v0)
.L8025DD24:
/* 18C604 8025DD24 8FBF0028 */ lw $ra, 0x28($sp)
/* 18C608 8025DD28 8FB30024 */ lw $s3, 0x24($sp)
/* 18C60C 8025DD2C 8FB20020 */ lw $s2, 0x20($sp)
/* 18C610 8025DD30 8FB1001C */ lw $s1, 0x1c($sp)
/* 18C614 8025DD34 8FB00018 */ lw $s0, 0x18($sp)
/* 18C618 8025DD38 03E00008 */ jr $ra
/* 18C61C 8025DD3C 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,81 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8025DD60
/* 18C640 8025DD60 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 18C644 8025DD64 AFB1001C */ sw $s1, 0x1c($sp)
/* 18C648 8025DD68 0080882D */ daddu $s1, $a0, $zero
/* 18C64C 8025DD6C AFBF0028 */ sw $ra, 0x28($sp)
/* 18C650 8025DD70 AFB30024 */ sw $s3, 0x24($sp)
/* 18C654 8025DD74 AFB20020 */ sw $s2, 0x20($sp)
/* 18C658 8025DD78 AFB00018 */ sw $s0, 0x18($sp)
/* 18C65C 8025DD7C 8E3000C0 */ lw $s0, 0xc0($s1)
/* 18C660 8025DD80 00A0902D */ daddu $s2, $a1, $zero
/* 18C664 8025DD84 02129821 */ addu $s3, $s0, $s2
/* 18C668 8025DD88 826308BC */ lb $v1, 0x8bc($s3)
/* 18C66C 8025DD8C 10600005 */ beqz $v1, .L8025DDA4
/* 18C670 8025DD90 24020001 */ addiu $v0, $zero, 1
/* 18C674 8025DD94 10620018 */ beq $v1, $v0, .L8025DDF8
/* 18C678 8025DD98 00121080 */ sll $v0, $s2, 2
/* 18C67C 8025DD9C 0809779B */ j .L8025DE6C
/* 18C680 8025DDA0 00000000 */ nop
.L8025DDA4:
/* 18C684 8025DDA4 3C013F99 */ lui $at, 0x3f99
/* 18C688 8025DDA8 3421999A */ ori $at, $at, 0x999a
/* 18C68C 8025DDAC 44810000 */ mtc1 $at, $f0
/* 18C690 8025DDB0 AFA00014 */ sw $zero, 0x14($sp)
/* 18C694 8025DDB4 E7A00010 */ swc1 $f0, 0x10($sp)
/* 18C698 8025DDB8 8E250058 */ lw $a1, 0x58($s1)
/* 18C69C 8025DDBC 8E26005C */ lw $a2, 0x5c($s1)
/* 18C6A0 8025DDC0 8E270060 */ lw $a3, 0x60($s1)
/* 18C6A4 8025DDC4 0C01C82C */ jal fx_energy_in_out
/* 18C6A8 8025DDC8 24040004 */ addiu $a0, $zero, 4
/* 18C6AC 8025DDCC 00121880 */ sll $v1, $s2, 2
/* 18C6B0 8025DDD0 02031821 */ addu $v1, $s0, $v1
/* 18C6B4 8025DDD4 AC6208B0 */ sw $v0, 0x8b0($v1)
/* 18C6B8 8025DDD8 24020001 */ addiu $v0, $zero, 1
/* 18C6BC 8025DDDC A26208BC */ sb $v0, 0x8bc($s3)
/* 18C6C0 8025DDE0 00121100 */ sll $v0, $s2, 4
/* 18C6C4 8025DDE4 02021021 */ addu $v0, $s0, $v0
/* 18C6C8 8025DDE8 24030078 */ addiu $v1, $zero, 0x78
/* 18C6CC 8025DDEC A44308C6 */ sh $v1, 0x8c6($v0)
/* 18C6D0 8025DDF0 A44008C8 */ sh $zero, 0x8c8($v0)
/* 18C6D4 8025DDF4 00121080 */ sll $v0, $s2, 2
.L8025DDF8:
/* 18C6D8 8025DDF8 02021021 */ addu $v0, $s0, $v0
/* 18C6DC 8025DDFC 00122100 */ sll $a0, $s2, 4
/* 18C6E0 8025DE00 02042021 */ addu $a0, $s0, $a0
/* 18C6E4 8025DE04 848308C6 */ lh $v1, 0x8c6($a0)
/* 18C6E8 8025DE08 8C4208B0 */ lw $v0, 0x8b0($v0)
/* 18C6EC 8025DE0C 3C0142C8 */ lui $at, 0x42c8
/* 18C6F0 8025DE10 44810000 */ mtc1 $at, $f0
/* 18C6F4 8025DE14 3C014224 */ lui $at, 0x4224
/* 18C6F8 8025DE18 44812000 */ mtc1 $at, $f4
/* 18C6FC 8025DE1C 44831000 */ mtc1 $v1, $f2
/* 18C700 8025DE20 00000000 */ nop
/* 18C704 8025DE24 468010A0 */ cvt.s.w $f2, $f2
/* 18C708 8025DE28 8C43000C */ lw $v1, 0xc($v0)
/* 18C70C 8025DE2C 46001083 */ div.s $f2, $f2, $f0
/* 18C710 8025DE30 E4620044 */ swc1 $f2, 0x44($v1)
/* 18C714 8025DE34 46041082 */ mul.s $f2, $f2, $f4
/* 18C718 8025DE38 00000000 */ nop
/* 18C71C 8025DE3C C6200058 */ lwc1 $f0, 0x58($s1)
/* 18C720 8025DE40 E4600004 */ swc1 $f0, 4($v1)
/* 18C724 8025DE44 C620005C */ lwc1 $f0, 0x5c($s1)
/* 18C728 8025DE48 46020000 */ add.s $f0, $f0, $f2
/* 18C72C 8025DE4C E4600008 */ swc1 $f0, 8($v1)
/* 18C730 8025DE50 848208C8 */ lh $v0, 0x8c8($a0)
/* 18C734 8025DE54 C6200060 */ lwc1 $f0, 0x60($s1)
/* 18C738 8025DE58 44821000 */ mtc1 $v0, $f2
/* 18C73C 8025DE5C 00000000 */ nop
/* 18C740 8025DE60 468010A0 */ cvt.s.w $f2, $f2
/* 18C744 8025DE64 46020000 */ add.s $f0, $f0, $f2
/* 18C748 8025DE68 E460000C */ swc1 $f0, 0xc($v1)
.L8025DE6C:
/* 18C74C 8025DE6C 8FBF0028 */ lw $ra, 0x28($sp)
/* 18C750 8025DE70 8FB30024 */ lw $s3, 0x24($sp)
/* 18C754 8025DE74 8FB20020 */ lw $s2, 0x20($sp)
/* 18C758 8025DE78 8FB1001C */ lw $s1, 0x1c($sp)
/* 18C75C 8025DE7C 8FB00018 */ lw $s0, 0x18($sp)
/* 18C760 8025DE80 03E00008 */ jr $ra
/* 18C764 8025DE84 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,86 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel sun_main
/* 40B3F0 E0120000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 40B3F4 E0120004 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 40B3F8 E0120008 4485A000 */ mtc1 $a1, $f20
/* 40B3FC E012000C F7B60040 */ sdc1 $f22, 0x40($sp)
/* 40B400 E0120010 4486B000 */ mtc1 $a2, $f22
/* 40B404 E0120014 AFB20030 */ sw $s2, 0x30($sp)
/* 40B408 E0120018 0080902D */ daddu $s2, $a0, $zero
/* 40B40C E012001C F7B80048 */ sdc1 $f24, 0x48($sp)
/* 40B410 E0120020 4487C000 */ mtc1 $a3, $f24
/* 40B414 E0120024 27A40010 */ addiu $a0, $sp, 0x10
/* 40B418 E0120028 AFB1002C */ sw $s1, 0x2c($sp)
/* 40B41C E012002C 8FB10064 */ lw $s1, 0x64($sp)
/* 40B420 E0120030 3C02E012 */ lui $v0, %hi(sun_init)
/* 40B424 E0120034 24420134 */ addiu $v0, $v0, %lo(sun_init)
/* 40B428 E0120038 AFA20018 */ sw $v0, 0x18($sp)
/* 40B42C E012003C 3C02E012 */ lui $v0, %hi(sun_update)
/* 40B430 E0120040 2442013C */ addiu $v0, $v0, %lo(sun_update)
/* 40B434 E0120044 AFA2001C */ sw $v0, 0x1c($sp)
/* 40B438 E0120048 3C02E012 */ lui $v0, %hi(sun_render)
/* 40B43C E012004C 2442039C */ addiu $v0, $v0, %lo(sun_render)
/* 40B440 E0120050 AFA20020 */ sw $v0, 0x20($sp)
/* 40B444 E0120054 24020082 */ addiu $v0, $zero, 0x82
/* 40B448 E0120058 AFBF0034 */ sw $ra, 0x34($sp)
/* 40B44C E012005C AFB00028 */ sw $s0, 0x28($sp)
/* 40B450 E0120060 AFA00010 */ sw $zero, 0x10($sp)
/* 40B454 E0120064 AFA00024 */ sw $zero, 0x24($sp)
/* 40B458 E0120068 0C080124 */ jal shim_create_effect_instance
/* 40B45C E012006C AFA20014 */ sw $v0, 0x14($sp)
/* 40B460 E0120070 24040040 */ addiu $a0, $zero, 0x40
/* 40B464 E0120074 24030001 */ addiu $v1, $zero, 1
/* 40B468 E0120078 0040802D */ daddu $s0, $v0, $zero
/* 40B46C E012007C 0C08012C */ jal shim_general_heap_malloc
/* 40B470 E0120080 AE030008 */ sw $v1, 8($s0)
/* 40B474 E0120084 0040202D */ daddu $a0, $v0, $zero
/* 40B478 E0120088 14800003 */ bnez $a0, .LE0120098
/* 40B47C E012008C AE02000C */ sw $v0, 0xc($s0)
.LE0120090:
/* 40B480 E0120090 08048024 */ j .LE0120090
/* 40B484 E0120094 00000000 */ nop
.LE0120098:
/* 40B488 E0120098 AC920000 */ sw $s2, ($a0)
/* 40B48C E012009C 1E200004 */ bgtz $s1, .LE01200B0
/* 40B490 E01200A0 AC800014 */ sw $zero, 0x14($a0)
/* 40B494 E01200A4 240203E8 */ addiu $v0, $zero, 0x3e8
/* 40B498 E01200A8 0804802D */ j .LE01200B4
/* 40B49C E01200AC AC820010 */ sw $v0, 0x10($a0)
.LE01200B0:
/* 40B4A0 E01200B0 AC910010 */ sw $s1, 0x10($a0)
.LE01200B4:
/* 40B4A4 E01200B4 24050004 */ addiu $a1, $zero, 4
/* 40B4A8 E01200B8 24830010 */ addiu $v1, $a0, 0x10
/* 40B4AC E01200BC E4940004 */ swc1 $f20, 4($a0)
/* 40B4B0 E01200C0 E4960008 */ swc1 $f22, 8($a0)
/* 40B4B4 E01200C4 E498000C */ swc1 $f24, 0xc($a0)
/* 40B4B8 E01200C8 C7A00060 */ lwc1 $f0, 0x60($sp)
/* 40B4BC E01200CC 240200FF */ addiu $v0, $zero, 0xff
/* 40B4C0 E01200D0 A0820018 */ sb $v0, 0x18($a0)
/* 40B4C4 E01200D4 A0820019 */ sb $v0, 0x19($a0)
/* 40B4C8 E01200D8 A082001A */ sb $v0, 0x1a($a0)
/* 40B4CC E01200DC A082001B */ sb $v0, 0x1b($a0)
/* 40B4D0 E01200E0 A082001C */ sb $v0, 0x1c($a0)
/* 40B4D4 E01200E4 A082001D */ sb $v0, 0x1d($a0)
/* 40B4D8 E01200E8 A082001E */ sb $v0, 0x1e($a0)
/* 40B4DC E01200EC E4800034 */ swc1 $f0, 0x34($a0)
.LE01200F0:
/* 40B4E0 E01200F0 AC600020 */ sw $zero, 0x20($v1)
/* 40B4E4 E01200F4 24A5FFFF */ addiu $a1, $a1, -1
/* 40B4E8 E01200F8 04A1FFFD */ bgez $a1, .LE01200F0
/* 40B4EC E01200FC 2463FFFC */ addiu $v1, $v1, -4
/* 40B4F0 E0120100 0200102D */ daddu $v0, $s0, $zero
/* 40B4F4 E0120104 240300FF */ addiu $v1, $zero, 0xff
/* 40B4F8 E0120108 AC83003C */ sw $v1, 0x3c($a0)
/* 40B4FC E012010C AC800038 */ sw $zero, 0x38($a0)
/* 40B500 E0120110 8FBF0034 */ lw $ra, 0x34($sp)
/* 40B504 E0120114 8FB20030 */ lw $s2, 0x30($sp)
/* 40B508 E0120118 8FB1002C */ lw $s1, 0x2c($sp)
/* 40B50C E012011C 8FB00028 */ lw $s0, 0x28($sp)
/* 40B510 E0120120 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 40B514 E0120124 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 40B518 E0120128 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 40B51C E012012C 03E00008 */ jr $ra
/* 40B520 E0120130 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242B10_DF9510
/* DF9510 80242B10 27BDFFE8 */ addiu $sp, $sp, -0x18
/* DF9514 80242B14 AFBF0010 */ sw $ra, 0x10($sp)
/* DF9518 80242B18 8C82000C */ lw $v0, 0xc($a0)
/* DF951C 80242B1C 0C0B1EAF */ jal evt_get_variable
/* DF9520 80242B20 8C450000 */ lw $a1, ($v0)
/* DF9524 80242B24 8FBF0010 */ lw $ra, 0x10($sp)
/* DF9528 80242B28 3C018025 */ lui $at, %hi(D_80249D60_E00760)
/* DF952C 80242B2C AC229D60 */ sw $v0, %lo(D_80249D60_E00760)($at)
/* DF9530 80242B30 24020002 */ addiu $v0, $zero, 2
/* DF9534 80242B34 03E00008 */ jr $ra
/* DF9538 80242B38 27BD0018 */ addiu $sp, $sp, 0x18
/* DF953C 80242B3C 00000000 */ nop

View File

@ -1,254 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802411F8_97ECC8
/* 97ECC8 802411F8 27BDFF98 */ addiu $sp, $sp, -0x68
/* 97ECCC 802411FC AFBF0034 */ sw $ra, 0x34($sp)
/* 97ECD0 80241200 AFB40030 */ sw $s4, 0x30($sp)
/* 97ECD4 80241204 AFB3002C */ sw $s3, 0x2c($sp)
/* 97ECD8 80241208 AFB20028 */ sw $s2, 0x28($sp)
/* 97ECDC 8024120C AFB10024 */ sw $s1, 0x24($sp)
/* 97ECE0 80241210 AFB00020 */ sw $s0, 0x20($sp)
/* 97ECE4 80241214 F7BE0060 */ sdc1 $f30, 0x60($sp)
/* 97ECE8 80241218 F7BC0058 */ sdc1 $f28, 0x58($sp)
/* 97ECEC 8024121C F7BA0050 */ sdc1 $f26, 0x50($sp)
/* 97ECF0 80241220 F7B80048 */ sdc1 $f24, 0x48($sp)
/* 97ECF4 80241224 F7B60040 */ sdc1 $f22, 0x40($sp)
/* 97ECF8 80241228 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 97ECFC 8024122C 8C820148 */ lw $v0, 0x148($a0)
/* 97ED00 80241230 8C84014C */ lw $a0, 0x14c($a0)
/* 97ED04 80241234 C45A006C */ lwc1 $f26, 0x6c($v0)
/* 97ED08 80241238 0C00EAD2 */ jal get_npc_safe
/* 97ED0C 8024123C 4680D6A0 */ cvt.s.w $f26, $f26
/* 97ED10 80241240 0040A02D */ daddu $s4, $v0, $zero
/* 97ED14 80241244 8E930020 */ lw $s3, 0x20($s4)
/* 97ED18 80241248 868200A8 */ lh $v0, 0xa8($s4)
/* 97ED1C 8024124C 3C013E4C */ lui $at, 0x3e4c
/* 97ED20 80241250 3421CCCD */ ori $at, $at, 0xcccd
/* 97ED24 80241254 44810000 */ mtc1 $at, $f0
/* 97ED28 80241258 C6860038 */ lwc1 $f6, 0x38($s4)
/* 97ED2C 8024125C 44821000 */ mtc1 $v0, $f2
/* 97ED30 80241260 00000000 */ nop
/* 97ED34 80241264 468010A0 */ cvt.s.w $f2, $f2
/* 97ED38 80241268 46001082 */ mul.s $f2, $f2, $f0
/* 97ED3C 8024126C 00000000 */ nop
/* 97ED40 80241270 C688003C */ lwc1 $f8, 0x3c($s4)
/* 97ED44 80241274 3C014334 */ lui $at, 0x4334
/* 97ED48 80241278 44816000 */ mtc1 $at, $f12
/* 97ED4C 8024127C C6800034 */ lwc1 $f0, 0x34($s4)
/* 97ED50 80241280 C6840040 */ lwc1 $f4, 0x40($s4)
/* 97ED54 80241284 460C0300 */ add.s $f12, $f0, $f12
/* 97ED58 80241288 E7A60018 */ swc1 $f6, 0x18($sp)
/* 97ED5C 8024128C E7A4001C */ swc1 $f4, 0x1c($sp)
/* 97ED60 80241290 0C00A6C9 */ jal clamp_angle
/* 97ED64 80241294 46024500 */ add.s $f20, $f8, $f2
/* 97ED68 80241298 868200A6 */ lh $v0, 0xa6($s4)
/* 97ED6C 8024129C 3C013E99 */ lui $at, 0x3e99
/* 97ED70 802412A0 3421999A */ ori $at, $at, 0x999a
/* 97ED74 802412A4 44812000 */ mtc1 $at, $f4
/* 97ED78 802412A8 44821000 */ mtc1 $v0, $f2
/* 97ED7C 802412AC 00000000 */ nop
/* 97ED80 802412B0 468010A0 */ cvt.s.w $f2, $f2
/* 97ED84 802412B4 46041082 */ mul.s $f2, $f2, $f4
/* 97ED88 802412B8 00000000 */ nop
/* 97ED8C 802412BC 27A40018 */ addiu $a0, $sp, 0x18
/* 97ED90 802412C0 44070000 */ mfc1 $a3, $f0
/* 97ED94 802412C4 44061000 */ mfc1 $a2, $f2
/* 97ED98 802412C8 0C00A7E7 */ jal add_vec2D_polar
/* 97ED9C 802412CC 27A5001C */ addiu $a1, $sp, 0x1c
/* 97EDA0 802412D0 8E820000 */ lw $v0, ($s4)
/* 97EDA4 802412D4 30420002 */ andi $v0, $v0, 2
/* 97EDA8 802412D8 1040000D */ beqz $v0, .L80241310
/* 97EDAC 802412DC 0000902D */ daddu $s2, $zero, $zero
/* 97EDB0 802412E0 C7A20018 */ lwc1 $f2, 0x18($sp)
/* 97EDB4 802412E4 C7A0001C */ lwc1 $f0, 0x1c($sp)
.L802412E8:
/* 97EDB8 802412E8 26520001 */ addiu $s2, $s2, 1
/* 97EDBC 802412EC 8E700000 */ lw $s0, ($s3)
/* 97EDC0 802412F0 26730010 */ addiu $s3, $s3, 0x10
/* 97EDC4 802412F4 2A420008 */ slti $v0, $s2, 8
/* 97EDC8 802412F8 E6020038 */ swc1 $f2, 0x38($s0)
/* 97EDCC 802412FC E614003C */ swc1 $f20, 0x3c($s0)
/* 97EDD0 80241300 1440FFF9 */ bnez $v0, .L802412E8
/* 97EDD4 80241304 E6000040 */ swc1 $f0, 0x40($s0)
/* 97EDD8 80241308 08090562 */ j .L80241588
/* 97EDDC 8024130C 0000102D */ daddu $v0, $zero, $zero
.L80241310:
/* 97EDE0 80241310 26710008 */ addiu $s1, $s3, 8
/* 97EDE4 80241314 3C014024 */ lui $at, 0x4024
/* 97EDE8 80241318 4481C800 */ mtc1 $at, $f25
/* 97EDEC 8024131C 4480C000 */ mtc1 $zero, $f24
/* 97EDF0 80241320 3C013F4C */ lui $at, 0x3f4c
/* 97EDF4 80241324 3421CCCD */ ori $at, $at, 0xcccd
/* 97EDF8 80241328 4481B000 */ mtc1 $at, $f22
/* 97EDFC 8024132C 3C013F33 */ lui $at, 0x3f33
/* 97EE00 80241330 34213333 */ ori $at, $at, 0x3333
/* 97EE04 80241334 4481E000 */ mtc1 $at, $f28
/* 97EE08 80241338 3C01C120 */ lui $at, 0xc120
/* 97EE0C 8024133C 4481F000 */ mtc1 $at, $f30
.L80241340:
/* 97EE10 80241340 8E700000 */ lw $s0, ($s3)
/* 97EE14 80241344 C7A20018 */ lwc1 $f2, 0x18($sp)
/* 97EE18 80241348 E7B40010 */ swc1 $f20, 0x10($sp)
/* 97EE1C 8024134C C7A0001C */ lwc1 $f0, 0x1c($sp)
/* 97EE20 80241350 E7A00014 */ swc1 $f0, 0x14($sp)
/* 97EE24 80241354 C60C0038 */ lwc1 $f12, 0x38($s0)
/* 97EE28 80241358 C60E003C */ lwc1 $f14, 0x3c($s0)
/* 97EE2C 8024135C 8E060040 */ lw $a2, 0x40($s0)
/* 97EE30 80241360 44071000 */ mfc1 $a3, $f2
/* 97EE34 80241364 0C00A7CB */ jal dist3D
/* 97EE38 80241368 00000000 */ nop
/* 97EE3C 8024136C 46000021 */ cvt.d.s $f0, $f0
/* 97EE40 80241370 4620C03E */ c.le.d $f24, $f0
/* 97EE44 80241374 00000000 */ nop
/* 97EE48 80241378 45000047 */ bc1f .L80241498
/* 97EE4C 8024137C 00000000 */ nop
/* 97EE50 80241380 C60C0038 */ lwc1 $f12, 0x38($s0)
/* 97EE54 80241384 C7A40018 */ lwc1 $f4, 0x18($sp)
/* 97EE58 80241388 46046301 */ sub.s $f12, $f12, $f4
/* 97EE5C 8024138C 46166302 */ mul.s $f12, $f12, $f22
/* 97EE60 80241390 00000000 */ nop
/* 97EE64 80241394 C6000040 */ lwc1 $f0, 0x40($s0)
/* 97EE68 80241398 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* 97EE6C 8024139C 46020001 */ sub.s $f0, $f0, $f2
/* 97EE70 802413A0 46160002 */ mul.s $f0, $f0, $f22
/* 97EE74 802413A4 00000000 */ nop
/* 97EE78 802413A8 E7B40010 */ swc1 $f20, 0x10($sp)
/* 97EE7C 802413AC E7A20014 */ swc1 $f2, 0x14($sp)
/* 97EE80 802413B0 46020000 */ add.s $f0, $f0, $f2
/* 97EE84 802413B4 C60E003C */ lwc1 $f14, 0x3c($s0)
/* 97EE88 802413B8 44072000 */ mfc1 $a3, $f4
/* 97EE8C 802413BC 44060000 */ mfc1 $a2, $f0
/* 97EE90 802413C0 0C00A7CB */ jal dist3D
/* 97EE94 802413C4 46046300 */ add.s $f12, $f12, $f4
/* 97EE98 802413C8 C6080038 */ lwc1 $f8, 0x38($s0)
/* 97EE9C 802413CC C7A20018 */ lwc1 $f2, 0x18($sp)
/* 97EEA0 802413D0 46024201 */ sub.s $f8, $f8, $f2
/* 97EEA4 802413D4 46164202 */ mul.s $f8, $f8, $f22
/* 97EEA8 802413D8 00000000 */ nop
/* 97EEAC 802413DC C606003C */ lwc1 $f6, 0x3c($s0)
/* 97EEB0 802413E0 46000021 */ cvt.d.s $f0, $f0
/* 97EEB4 802413E4 46143181 */ sub.s $f6, $f6, $f20
/* 97EEB8 802413E8 4620C003 */ div.d $f0, $f24, $f0
/* 97EEBC 802413EC 46200020 */ cvt.s.d $f0, $f0
/* 97EEC0 802413F0 46003182 */ mul.s $f6, $f6, $f0
/* 97EEC4 802413F4 00000000 */ nop
/* 97EEC8 802413F8 C6040040 */ lwc1 $f4, 0x40($s0)
/* 97EECC 802413FC C7AA001C */ lwc1 $f10, 0x1c($sp)
/* 97EED0 80241400 460A2101 */ sub.s $f4, $f4, $f10
/* 97EED4 80241404 46162102 */ mul.s $f4, $f4, $f22
/* 97EED8 80241408 00000000 */ nop
/* 97EEDC 8024140C 46004202 */ mul.s $f8, $f8, $f0
/* 97EEE0 80241410 00000000 */ nop
/* 97EEE4 80241414 46002102 */ mul.s $f4, $f4, $f0
/* 97EEE8 80241418 00000000 */ nop
/* 97EEEC 8024141C 46024200 */ add.s $f8, $f8, $f2
/* 97EEF0 80241420 C6020038 */ lwc1 $f2, 0x38($s0)
/* 97EEF4 80241424 46024081 */ sub.s $f2, $f8, $f2
/* 97EEF8 80241428 461C1082 */ mul.s $f2, $f2, $f28
/* 97EEFC 8024142C 00000000 */ nop
/* 97EF00 80241430 4606A500 */ add.s $f20, $f20, $f6
/* 97EF04 80241434 E622FFFC */ swc1 $f2, -4($s1)
/* 97EF08 80241438 C602003C */ lwc1 $f2, 0x3c($s0)
/* 97EF0C 8024143C 4602A081 */ sub.s $f2, $f20, $f2
/* 97EF10 80241440 461C1082 */ mul.s $f2, $f2, $f28
/* 97EF14 80241444 00000000 */ nop
/* 97EF18 80241448 460A2100 */ add.s $f4, $f4, $f10
/* 97EF1C 8024144C E6220000 */ swc1 $f2, ($s1)
/* 97EF20 80241450 C6000040 */ lwc1 $f0, 0x40($s0)
/* 97EF24 80241454 46002001 */ sub.s $f0, $f4, $f0
/* 97EF28 80241458 461C0002 */ mul.s $f0, $f0, $f28
/* 97EF2C 8024145C 00000000 */ nop
/* 97EF30 80241460 3C014120 */ lui $at, 0x4120
/* 97EF34 80241464 44818000 */ mtc1 $at, $f16
/* 97EF38 80241468 E6200004 */ swc1 $f0, 4($s1)
/* 97EF3C 8024146C E6080038 */ swc1 $f8, 0x38($s0)
/* 97EF40 80241470 E614003C */ swc1 $f20, 0x3c($s0)
/* 97EF44 80241474 E6040040 */ swc1 $f4, 0x40($s0)
/* 97EF48 80241478 C6200000 */ lwc1 $f0, ($s1)
/* 97EF4C 8024147C E7A80018 */ swc1 $f8, 0x18($sp)
/* 97EF50 80241480 4600803C */ c.lt.s $f16, $f0
/* 97EF54 80241484 00000000 */ nop
/* 97EF58 80241488 45000016 */ bc1f .L802414E4
/* 97EF5C 8024148C E7A4001C */ swc1 $f4, 0x1c($sp)
/* 97EF60 80241490 08090539 */ j .L802414E4
/* 97EF64 80241494 E6300000 */ swc1 $f16, ($s1)
.L80241498:
/* 97EF68 80241498 C622FFFC */ lwc1 $f2, -4($s1)
/* 97EF6C 8024149C 3C013F66 */ lui $at, 0x3f66
/* 97EF70 802414A0 34216666 */ ori $at, $at, 0x6666
/* 97EF74 802414A4 44818000 */ mtc1 $at, $f16
/* 97EF78 802414A8 00000000 */ nop
/* 97EF7C 802414AC 46101082 */ mul.s $f2, $f2, $f16
/* 97EF80 802414B0 00000000 */ nop
/* 97EF84 802414B4 C6200004 */ lwc1 $f0, 4($s1)
/* 97EF88 802414B8 46100002 */ mul.s $f0, $f0, $f16
/* 97EF8C 802414BC 00000000 */ nop
/* 97EF90 802414C0 E622FFFC */ swc1 $f2, -4($s1)
/* 97EF94 802414C4 E6200004 */ swc1 $f0, 4($s1)
/* 97EF98 802414C8 C6000038 */ lwc1 $f0, 0x38($s0)
/* 97EF9C 802414CC 46020000 */ add.s $f0, $f0, $f2
/* 97EFA0 802414D0 E6000038 */ swc1 $f0, 0x38($s0)
/* 97EFA4 802414D4 C6000040 */ lwc1 $f0, 0x40($s0)
/* 97EFA8 802414D8 C6220004 */ lwc1 $f2, 4($s1)
/* 97EFAC 802414DC 46020000 */ add.s $f0, $f0, $f2
/* 97EFB0 802414E0 E6000040 */ swc1 $f0, 0x40($s0)
.L802414E4:
/* 97EFB4 802414E4 C6220000 */ lwc1 $f2, ($s1)
/* 97EFB8 802414E8 3C013F80 */ lui $at, 0x3f80
/* 97EFBC 802414EC 44810000 */ mtc1 $at, $f0
/* 97EFC0 802414F0 00000000 */ nop
/* 97EFC4 802414F4 46001081 */ sub.s $f2, $f2, $f0
/* 97EFC8 802414F8 461E103C */ c.lt.s $f2, $f30
/* 97EFCC 802414FC 00000000 */ nop
/* 97EFD0 80241500 45000002 */ bc1f .L8024150C
/* 97EFD4 80241504 E6220000 */ swc1 $f2, ($s1)
/* 97EFD8 80241508 E63E0000 */ swc1 $f30, ($s1)
.L8024150C:
/* 97EFDC 8024150C C602003C */ lwc1 $f2, 0x3c($s0)
/* 97EFE0 80241510 C6200000 */ lwc1 $f0, ($s1)
/* 97EFE4 80241514 46001080 */ add.s $f2, $f2, $f0
/* 97EFE8 80241518 461A103E */ c.le.s $f2, $f26
/* 97EFEC 8024151C 00000000 */ nop
/* 97EFF0 80241520 4500000C */ bc1f .L80241554
/* 97EFF4 80241524 E602003C */ swc1 $f2, 0x3c($s0)
/* 97EFF8 80241528 E61A003C */ swc1 $f26, 0x3c($s0)
/* 97EFFC 8024152C C6200000 */ lwc1 $f0, ($s1)
/* 97F000 80241530 3C013FE0 */ lui $at, 0x3fe0
/* 97F004 80241534 44811800 */ mtc1 $at, $f3
/* 97F008 80241538 44801000 */ mtc1 $zero, $f2
/* 97F00C 8024153C 46000007 */ neg.s $f0, $f0
/* 97F010 80241540 46000021 */ cvt.d.s $f0, $f0
/* 97F014 80241544 46220002 */ mul.d $f0, $f0, $f2
/* 97F018 80241548 00000000 */ nop
/* 97F01C 8024154C 46200020 */ cvt.s.d $f0, $f0
/* 97F020 80241550 E6200000 */ swc1 $f0, ($s1)
.L80241554:
/* 97F024 80241554 26520001 */ addiu $s2, $s2, 1
/* 97F028 80241558 26310010 */ addiu $s1, $s1, 0x10
/* 97F02C 8024155C C614003C */ lwc1 $f20, 0x3c($s0)
/* 97F030 80241560 C6000038 */ lwc1 $f0, 0x38($s0)
/* 97F034 80241564 C6020040 */ lwc1 $f2, 0x40($s0)
/* 97F038 80241568 8E820000 */ lw $v0, ($s4)
/* 97F03C 8024156C E7A00018 */ swc1 $f0, 0x18($sp)
/* 97F040 80241570 E7A2001C */ swc1 $f2, 0x1c($sp)
/* 97F044 80241574 AE020000 */ sw $v0, ($s0)
/* 97F048 80241578 2A420008 */ slti $v0, $s2, 8
/* 97F04C 8024157C 1440FF70 */ bnez $v0, .L80241340
/* 97F050 80241580 26730010 */ addiu $s3, $s3, 0x10
/* 97F054 80241584 0000102D */ daddu $v0, $zero, $zero
.L80241588:
/* 97F058 80241588 8FBF0034 */ lw $ra, 0x34($sp)
/* 97F05C 8024158C 8FB40030 */ lw $s4, 0x30($sp)
/* 97F060 80241590 8FB3002C */ lw $s3, 0x2c($sp)
/* 97F064 80241594 8FB20028 */ lw $s2, 0x28($sp)
/* 97F068 80241598 8FB10024 */ lw $s1, 0x24($sp)
/* 97F06C 8024159C 8FB00020 */ lw $s0, 0x20($sp)
/* 97F070 802415A0 D7BE0060 */ ldc1 $f30, 0x60($sp)
/* 97F074 802415A4 D7BC0058 */ ldc1 $f28, 0x58($sp)
/* 97F078 802415A8 D7BA0050 */ ldc1 $f26, 0x50($sp)
/* 97F07C 802415AC D7B80048 */ ldc1 $f24, 0x48($sp)
/* 97F080 802415B0 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 97F084 802415B4 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 97F088 802415B8 03E00008 */ jr $ra
/* 97F08C 802415BC 27BD0068 */ addiu $sp, $sp, 0x68

View File

@ -1,25 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802415C0_97F090
/* 97F090 802415C0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 97F094 802415C4 AFBF0018 */ sw $ra, 0x18($sp)
/* 97F098 802415C8 AFB10014 */ sw $s1, 0x14($sp)
/* 97F09C 802415CC AFB00010 */ sw $s0, 0x10($sp)
/* 97F0A0 802415D0 8C84014C */ lw $a0, 0x14c($a0)
/* 97F0A4 802415D4 0C00EAD2 */ jal get_npc_safe
/* 97F0A8 802415D8 0000882D */ daddu $s1, $zero, $zero
/* 97F0AC 802415DC 8C500020 */ lw $s0, 0x20($v0)
.L802415E0:
/* 97F0B0 802415E0 8E040000 */ lw $a0, ($s0)
/* 97F0B4 802415E4 26310001 */ addiu $s1, $s1, 1
/* 97F0B8 802415E8 0C00E273 */ jal free_npc
/* 97F0BC 802415EC 26100010 */ addiu $s0, $s0, 0x10
/* 97F0C0 802415F0 2A220008 */ slti $v0, $s1, 8
/* 97F0C4 802415F4 1440FFFA */ bnez $v0, .L802415E0
/* 97F0C8 802415F8 24020002 */ addiu $v0, $zero, 2
/* 97F0CC 802415FC 8FBF0018 */ lw $ra, 0x18($sp)
/* 97F0D0 80241600 8FB10014 */ lw $s1, 0x14($sp)
/* 97F0D4 80241604 8FB00010 */ lw $s0, 0x10($sp)
/* 97F0D8 80241608 03E00008 */ jr $ra
/* 97F0DC 8024160C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,331 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241610_97F0E0
/* 97F0E0 80241610 27BDFEF8 */ addiu $sp, $sp, -0x108
/* 97F0E4 80241614 3C02DC08 */ lui $v0, 0xdc08
/* 97F0E8 80241618 AFB700EC */ sw $s7, 0xec($sp)
/* 97F0EC 8024161C 3C17800A */ lui $s7, %hi(gMasterGfxPos)
/* 97F0F0 80241620 26F7A66C */ addiu $s7, $s7, %lo(gMasterGfxPos)
/* 97F0F4 80241624 34420008 */ ori $v0, $v0, 8
/* 97F0F8 80241628 AFBF00F4 */ sw $ra, 0xf4($sp)
/* 97F0FC 8024162C AFBE00F0 */ sw $fp, 0xf0($sp)
/* 97F100 80241630 AFB600E8 */ sw $s6, 0xe8($sp)
/* 97F104 80241634 AFB500E4 */ sw $s5, 0xe4($sp)
/* 97F108 80241638 AFB400E0 */ sw $s4, 0xe0($sp)
/* 97F10C 8024163C AFB300DC */ sw $s3, 0xdc($sp)
/* 97F110 80241640 AFB200D8 */ sw $s2, 0xd8($sp)
/* 97F114 80241644 AFB100D4 */ sw $s1, 0xd4($sp)
/* 97F118 80241648 AFB000D0 */ sw $s0, 0xd0($sp)
/* 97F11C 8024164C F7B60100 */ sdc1 $f22, 0x100($sp)
/* 97F120 80241650 F7B400F8 */ sdc1 $f20, 0xf8($sp)
/* 97F124 80241654 8EE50000 */ lw $a1, ($s7)
/* 97F128 80241658 3C168007 */ lui $s6, %hi(gCurrentCameraID)
/* 97F12C 8024165C 26D67410 */ addiu $s6, $s6, %lo(gCurrentCameraID)
/* 97F130 80241660 00A0202D */ daddu $a0, $a1, $zero
/* 97F134 80241664 24A50008 */ addiu $a1, $a1, 8
/* 97F138 80241668 AEE50000 */ sw $a1, ($s7)
/* 97F13C 8024166C AC820000 */ sw $v0, ($a0)
/* 97F140 80241670 8EC30000 */ lw $v1, ($s6)
/* 97F144 80241674 3C18800B */ lui $t8, %hi(gCameras)
/* 97F148 80241678 27181D80 */ addiu $t8, $t8, %lo(gCameras)
/* 97F14C 8024167C 00031080 */ sll $v0, $v1, 2
/* 97F150 80241680 00431021 */ addu $v0, $v0, $v1
/* 97F154 80241684 00021080 */ sll $v0, $v0, 2
/* 97F158 80241688 00431023 */ subu $v0, $v0, $v1
/* 97F15C 8024168C 000218C0 */ sll $v1, $v0, 3
/* 97F160 80241690 00431021 */ addu $v0, $v0, $v1
/* 97F164 80241694 000210C0 */ sll $v0, $v0, 3
/* 97F168 80241698 00583021 */ addu $a2, $v0, $t8
/* 97F16C 8024169C 24C200A0 */ addiu $v0, $a2, 0xa0
/* 97F170 802416A0 AC820004 */ sw $v0, 4($a0)
/* 97F174 802416A4 94C20000 */ lhu $v0, ($a2)
/* 97F178 802416A8 3C1E8024 */ lui $fp, %hi(D_80242614_9800E4)
/* 97F17C 802416AC 27DE2614 */ addiu $fp, $fp, %lo(D_80242614_9800E4)
/* 97F180 802416B0 30420010 */ andi $v0, $v0, 0x10
/* 97F184 802416B4 14400007 */ bnez $v0, .L802416D4
/* 97F188 802416B8 24C400D4 */ addiu $a0, $a2, 0xd4
/* 97F18C 802416BC 3C02DB0E */ lui $v0, 0xdb0e
/* 97F190 802416C0 ACA20000 */ sw $v0, ($a1)
/* 97F194 802416C4 94C30038 */ lhu $v1, 0x38($a2)
/* 97F198 802416C8 24A20008 */ addiu $v0, $a1, 8
/* 97F19C 802416CC AEE20000 */ sw $v0, ($s7)
/* 97F1A0 802416D0 ACA30004 */ sw $v1, 4($a1)
.L802416D4:
/* 97F1A4 802416D4 3C180001 */ lui $t8, 1
/* 97F1A8 802416D8 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 97F1AC 802416DC 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 97F1B0 802416E0 AFB800C8 */ sw $t8, 0xc8($sp)
/* 97F1B4 802416E4 8EC50000 */ lw $a1, ($s6)
/* 97F1B8 802416E8 8E420000 */ lw $v0, ($s2)
/* 97F1BC 802416EC 00052980 */ sll $a1, $a1, 6
/* 97F1C0 802416F0 24A50030 */ addiu $a1, $a1, 0x30
/* 97F1C4 802416F4 0C019D40 */ jal guMtxF2L
/* 97F1C8 802416F8 00452821 */ addu $a1, $v0, $a1
/* 97F1CC 802416FC 3C03DA38 */ lui $v1, 0xda38
/* 97F1D0 80241700 34630007 */ ori $v1, $v1, 7
/* 97F1D4 80241704 3C07E300 */ lui $a3, 0xe300
/* 97F1D8 80241708 34E70A01 */ ori $a3, $a3, 0xa01
/* 97F1DC 8024170C 3C08D9C0 */ lui $t0, 0xd9c0
/* 97F1E0 80241710 3508F9FB */ ori $t0, $t0, 0xf9fb
/* 97F1E4 80241714 3C0AD9FF */ lui $t2, 0xd9ff
/* 97F1E8 80241718 354AFFFF */ ori $t2, $t2, 0xffff
/* 97F1EC 8024171C 3C090020 */ lui $t1, 0x20
/* 97F1F0 80241720 35290005 */ ori $t1, $t1, 5
/* 97F1F4 80241724 3C0BD700 */ lui $t3, 0xd700
/* 97F1F8 80241728 356B0002 */ ori $t3, $t3, 2
/* 97F1FC 8024172C 3C0CE300 */ lui $t4, 0xe300
/* 97F200 80241730 358C0F00 */ ori $t4, $t4, 0xf00
/* 97F204 80241734 3C0DE300 */ lui $t5, 0xe300
/* 97F208 80241738 35AD0C00 */ ori $t5, $t5, 0xc00
/* 97F20C 8024173C 3C0EE300 */ lui $t6, 0xe300
/* 97F210 80241740 35CE1201 */ ori $t6, $t6, 0x1201
/* 97F214 80241744 3C0FE300 */ lui $t7, 0xe300
/* 97F218 80241748 35EF1801 */ ori $t7, $t7, 0x1801
/* 97F21C 8024174C 3C10E300 */ lui $s0, 0xe300
/* 97F220 80241750 36100D01 */ ori $s0, $s0, 0xd01
/* 97F224 80241754 3C13E300 */ lui $s3, 0xe300
/* 97F228 80241758 36731402 */ ori $s3, $s3, 0x1402
/* 97F22C 8024175C 3C14E300 */ lui $s4, 0xe300
/* 97F230 80241760 36941700 */ ori $s4, $s4, 0x1700
/* 97F234 80241764 3C15E200 */ lui $s5, 0xe200
/* 97F238 80241768 36B51E01 */ ori $s5, $s5, 0x1e01
/* 97F23C 8024176C 27B10048 */ addiu $s1, $sp, 0x48
/* 97F240 80241770 0220202D */ daddu $a0, $s1, $zero
/* 97F244 80241774 8EE20000 */ lw $v0, ($s7)
/* 97F248 80241778 8EC50000 */ lw $a1, ($s6)
/* 97F24C 8024177C 0040302D */ daddu $a2, $v0, $zero
/* 97F250 80241780 24420008 */ addiu $v0, $v0, 8
/* 97F254 80241784 00052980 */ sll $a1, $a1, 6
/* 97F258 80241788 AEE20000 */ sw $v0, ($s7)
/* 97F25C 8024178C ACC30000 */ sw $v1, ($a2)
/* 97F260 80241790 8E430000 */ lw $v1, ($s2)
/* 97F264 80241794 24A50030 */ addiu $a1, $a1, 0x30
/* 97F268 80241798 00651821 */ addu $v1, $v1, $a1
/* 97F26C 8024179C ACC30004 */ sw $v1, 4($a2)
/* 97F270 802417A0 24430008 */ addiu $v1, $v0, 8
/* 97F274 802417A4 AEE30000 */ sw $v1, ($s7)
/* 97F278 802417A8 3C03E700 */ lui $v1, 0xe700
/* 97F27C 802417AC AC430000 */ sw $v1, ($v0)
/* 97F280 802417B0 24430010 */ addiu $v1, $v0, 0x10
/* 97F284 802417B4 AC400004 */ sw $zero, 4($v0)
/* 97F288 802417B8 AEE30000 */ sw $v1, ($s7)
/* 97F28C 802417BC 24430018 */ addiu $v1, $v0, 0x18
/* 97F290 802417C0 AC470008 */ sw $a3, 8($v0)
/* 97F294 802417C4 AC40000C */ sw $zero, 0xc($v0)
/* 97F298 802417C8 AEE30000 */ sw $v1, ($s7)
/* 97F29C 802417CC 24430020 */ addiu $v1, $v0, 0x20
/* 97F2A0 802417D0 AC480010 */ sw $t0, 0x10($v0)
/* 97F2A4 802417D4 AC400014 */ sw $zero, 0x14($v0)
/* 97F2A8 802417D8 AEE30000 */ sw $v1, ($s7)
/* 97F2AC 802417DC 24430028 */ addiu $v1, $v0, 0x28
/* 97F2B0 802417E0 AC4A0018 */ sw $t2, 0x18($v0)
/* 97F2B4 802417E4 AC49001C */ sw $t1, 0x1c($v0)
/* 97F2B8 802417E8 AEE30000 */ sw $v1, ($s7)
/* 97F2BC 802417EC 2403FFFF */ addiu $v1, $zero, -1
/* 97F2C0 802417F0 AC430024 */ sw $v1, 0x24($v0)
/* 97F2C4 802417F4 24430030 */ addiu $v1, $v0, 0x30
/* 97F2C8 802417F8 AC4B0020 */ sw $t3, 0x20($v0)
/* 97F2CC 802417FC AEE30000 */ sw $v1, ($s7)
/* 97F2D0 80241800 24430038 */ addiu $v1, $v0, 0x38
/* 97F2D4 80241804 AC4C0028 */ sw $t4, 0x28($v0)
/* 97F2D8 80241808 AC40002C */ sw $zero, 0x2c($v0)
/* 97F2DC 8024180C AEE30000 */ sw $v1, ($s7)
/* 97F2E0 80241810 3C030008 */ lui $v1, 8
/* 97F2E4 80241814 AC430034 */ sw $v1, 0x34($v0)
/* 97F2E8 80241818 24430040 */ addiu $v1, $v0, 0x40
/* 97F2EC 8024181C AC4D0030 */ sw $t5, 0x30($v0)
/* 97F2F0 80241820 AEE30000 */ sw $v1, ($s7)
/* 97F2F4 80241824 24032000 */ addiu $v1, $zero, 0x2000
/* 97F2F8 80241828 AC43003C */ sw $v1, 0x3c($v0)
/* 97F2FC 8024182C 24430048 */ addiu $v1, $v0, 0x48
/* 97F300 80241830 AC4E0038 */ sw $t6, 0x38($v0)
/* 97F304 80241834 AEE30000 */ sw $v1, ($s7)
/* 97F308 80241838 240300C0 */ addiu $v1, $zero, 0xc0
/* 97F30C 8024183C AC430044 */ sw $v1, 0x44($v0)
/* 97F310 80241840 24430050 */ addiu $v1, $v0, 0x50
/* 97F314 80241844 AC4F0040 */ sw $t7, 0x40($v0)
/* 97F318 80241848 AEE30000 */ sw $v1, ($s7)
/* 97F31C 8024184C 24030C00 */ addiu $v1, $zero, 0xc00
/* 97F320 80241850 AC500048 */ sw $s0, 0x48($v0)
/* 97F324 80241854 AC40004C */ sw $zero, 0x4c($v0)
/* 97F328 80241858 AC530050 */ sw $s3, 0x50($v0)
/* 97F32C 8024185C AC430054 */ sw $v1, 0x54($v0)
/* 97F330 80241860 AC540058 */ sw $s4, 0x58($v0)
/* 97F334 80241864 AC40005C */ sw $zero, 0x5c($v0)
/* 97F338 80241868 AC550060 */ sw $s5, 0x60($v0)
/* 97F33C 8024186C AC400064 */ sw $zero, 0x64($v0)
/* 97F340 80241870 8FC50010 */ lw $a1, 0x10($fp)
/* 97F344 80241874 8FC60014 */ lw $a2, 0x14($fp)
/* 97F348 80241878 8FC70018 */ lw $a3, 0x18($fp)
/* 97F34C 8024187C 24430058 */ addiu $v1, $v0, 0x58
/* 97F350 80241880 AEE30000 */ sw $v1, ($s7)
/* 97F354 80241884 24430060 */ addiu $v1, $v0, 0x60
/* 97F358 80241888 24420068 */ addiu $v0, $v0, 0x68
/* 97F35C 8024188C AEE30000 */ sw $v1, ($s7)
/* 97F360 80241890 0C019E40 */ jal guTranslateF
/* 97F364 80241894 AEE20000 */ sw $v0, ($s7)
/* 97F368 80241898 27B00088 */ addiu $s0, $sp, 0x88
/* 97F36C 8024189C 8FB800C8 */ lw $t8, 0xc8($sp)
/* 97F370 802418A0 8EC30000 */ lw $v1, ($s6)
/* 97F374 802418A4 37181630 */ ori $t8, $t8, 0x1630
/* 97F378 802418A8 00031080 */ sll $v0, $v1, 2
/* 97F37C 802418AC 00431021 */ addu $v0, $v0, $v1
/* 97F380 802418B0 00021080 */ sll $v0, $v0, 2
/* 97F384 802418B4 00431023 */ subu $v0, $v0, $v1
/* 97F388 802418B8 000218C0 */ sll $v1, $v0, 3
/* 97F38C 802418BC 00431021 */ addu $v0, $v0, $v1
/* 97F390 802418C0 000210C0 */ sll $v0, $v0, 3
/* 97F394 802418C4 AFB800C8 */ sw $t8, 0xc8($sp)
/* 97F398 802418C8 3C18800B */ lui $t8, %hi(gCameras)
/* 97F39C 802418CC 27181D80 */ addiu $t8, $t8, %lo(gCameras)
/* 97F3A0 802418D0 00581021 */ addu $v0, $v0, $t8
/* 97F3A4 802418D4 C7C00020 */ lwc1 $f0, 0x20($fp)
/* 97F3A8 802418D8 C442006C */ lwc1 $f2, 0x6c($v0)
/* 97F3AC 802418DC 4480A000 */ mtc1 $zero, $f20
/* 97F3B0 802418E0 46020000 */ add.s $f0, $f0, $f2
/* 97F3B4 802418E4 C7C20034 */ lwc1 $f2, 0x34($fp)
/* 97F3B8 802418E8 3C013F80 */ lui $at, 0x3f80
/* 97F3BC 802418EC 4481B000 */ mtc1 $at, $f22
/* 97F3C0 802418F0 46020000 */ add.s $f0, $f0, $f2
/* 97F3C4 802418F4 4406A000 */ mfc1 $a2, $f20
/* 97F3C8 802418F8 4407B000 */ mfc1 $a3, $f22
/* 97F3CC 802418FC 44050000 */ mfc1 $a1, $f0
/* 97F3D0 80241900 0200202D */ daddu $a0, $s0, $zero
/* 97F3D4 80241904 0C019EC8 */ jal guRotateF
/* 97F3D8 80241908 E7B40010 */ swc1 $f20, 0x10($sp)
/* 97F3DC 8024190C 0200202D */ daddu $a0, $s0, $zero
/* 97F3E0 80241910 0220282D */ daddu $a1, $s1, $zero
/* 97F3E4 80241914 0C019D80 */ jal guMtxCatF
/* 97F3E8 80241918 0220302D */ daddu $a2, $s1, $zero
/* 97F3EC 8024191C 8FC50024 */ lw $a1, 0x24($fp)
/* 97F3F0 80241920 4406A000 */ mfc1 $a2, $f20
/* 97F3F4 80241924 4407A000 */ mfc1 $a3, $f20
/* 97F3F8 80241928 0200202D */ daddu $a0, $s0, $zero
/* 97F3FC 8024192C 0C019EC8 */ jal guRotateF
/* 97F400 80241930 E7B60010 */ swc1 $f22, 0x10($sp)
/* 97F404 80241934 0200202D */ daddu $a0, $s0, $zero
/* 97F408 80241938 0220282D */ daddu $a1, $s1, $zero
/* 97F40C 8024193C 0C019D80 */ jal guMtxCatF
/* 97F410 80241940 0220302D */ daddu $a2, $s1, $zero
/* 97F414 80241944 8FC5001C */ lw $a1, 0x1c($fp)
/* 97F418 80241948 4406B000 */ mfc1 $a2, $f22
/* 97F41C 8024194C 4407A000 */ mfc1 $a3, $f20
/* 97F420 80241950 0200202D */ daddu $a0, $s0, $zero
/* 97F424 80241954 0C019EC8 */ jal guRotateF
/* 97F428 80241958 AFA70010 */ sw $a3, 0x10($sp)
/* 97F42C 8024195C 0200202D */ daddu $a0, $s0, $zero
/* 97F430 80241960 0220282D */ daddu $a1, $s1, $zero
/* 97F434 80241964 0C019D80 */ jal guMtxCatF
/* 97F438 80241968 0220302D */ daddu $a2, $s1, $zero
/* 97F43C 8024196C 8FC50028 */ lw $a1, 0x28($fp)
/* 97F440 80241970 8FC6002C */ lw $a2, 0x2c($fp)
/* 97F444 80241974 8FC70030 */ lw $a3, 0x30($fp)
/* 97F448 80241978 0C019DF0 */ jal guScaleF
/* 97F44C 8024197C 0200202D */ daddu $a0, $s0, $zero
/* 97F450 80241980 0200202D */ daddu $a0, $s0, $zero
/* 97F454 80241984 0220282D */ daddu $a1, $s1, $zero
/* 97F458 80241988 0C019D80 */ jal guMtxCatF
/* 97F45C 8024198C 0220302D */ daddu $a2, $s1, $zero
/* 97F460 80241990 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 97F464 80241994 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 97F468 80241998 0220202D */ daddu $a0, $s1, $zero
/* 97F46C 8024199C 96050000 */ lhu $a1, ($s0)
/* 97F470 802419A0 8E420000 */ lw $v0, ($s2)
/* 97F474 802419A4 8FB800C8 */ lw $t8, 0xc8($sp)
/* 97F478 802419A8 00052980 */ sll $a1, $a1, 6
/* 97F47C 802419AC 00B82821 */ addu $a1, $a1, $t8
/* 97F480 802419B0 0C019D40 */ jal guMtxF2L
/* 97F484 802419B4 00452821 */ addu $a1, $v0, $a1
/* 97F488 802419B8 3C02DA38 */ lui $v0, 0xda38
/* 97F48C 802419BC 34420002 */ ori $v0, $v0, 2
/* 97F490 802419C0 27A40038 */ addiu $a0, $sp, 0x38
/* 97F494 802419C4 8EE70000 */ lw $a3, ($s7)
/* 97F498 802419C8 96080000 */ lhu $t0, ($s0)
/* 97F49C 802419CC 00E0282D */ daddu $a1, $a3, $zero
/* 97F4A0 802419D0 ACA20000 */ sw $v0, ($a1)
/* 97F4A4 802419D4 3102FFFF */ andi $v0, $t0, 0xffff
/* 97F4A8 802419D8 00021180 */ sll $v0, $v0, 6
/* 97F4AC 802419DC 24E70008 */ addiu $a3, $a3, 8
/* 97F4B0 802419E0 8FB800C8 */ lw $t8, 0xc8($sp)
/* 97F4B4 802419E4 8E430000 */ lw $v1, ($s2)
/* 97F4B8 802419E8 00581021 */ addu $v0, $v0, $t8
/* 97F4BC 802419EC 00621821 */ addu $v1, $v1, $v0
/* 97F4C0 802419F0 3C028000 */ lui $v0, 0x8000
/* 97F4C4 802419F4 00621821 */ addu $v1, $v1, $v0
/* 97F4C8 802419F8 ACA30004 */ sw $v1, 4($a1)
/* 97F4CC 802419FC 8FC50008 */ lw $a1, 8($fp)
/* 97F4D0 80241A00 8FC6000C */ lw $a2, 0xc($fp)
/* 97F4D4 80241A04 25080001 */ addiu $t0, $t0, 1
/* 97F4D8 80241A08 AEE70000 */ sw $a3, ($s7)
/* 97F4DC 80241A0C 0C0B7A76 */ jal spr_get_npc_raster_info
/* 97F4E0 80241A10 A6080000 */ sh $t0, ($s0)
/* 97F4E4 80241A14 24050007 */ addiu $a1, $zero, 7
/* 97F4E8 80241A18 240600FF */ addiu $a2, $zero, 0xff
/* 97F4EC 80241A1C 8FC40000 */ lw $a0, ($fp)
/* 97F4F0 80241A20 8FA30038 */ lw $v1, 0x38($sp)
/* 97F4F4 80241A24 8FA9003C */ lw $t1, 0x3c($sp)
/* 97F4F8 80241A28 97A80042 */ lhu $t0, 0x42($sp)
/* 97F4FC 80241A2C 00C0102D */ daddu $v0, $a2, $zero
/* 97F500 80241A30 A3A20030 */ sb $v0, 0x30($sp)
/* 97F504 80241A34 A7A80028 */ sh $t0, 0x28($sp)
/* 97F508 80241A38 3108FFFF */ andi $t0, $t0, 0xffff
/* 97F50C 80241A3C AFA30020 */ sw $v1, 0x20($sp)
/* 97F510 80241A40 97A30046 */ lhu $v1, 0x46($sp)
/* 97F514 80241A44 44880000 */ mtc1 $t0, $f0
/* 97F518 80241A48 00000000 */ nop
/* 97F51C 80241A4C 46800020 */ cvt.s.w $f0, $f0
/* 97F520 80241A50 AFA90024 */ sw $t1, 0x24($sp)
/* 97F524 80241A54 E7C0003C */ swc1 $f0, 0x3c($fp)
/* 97F528 80241A58 8FA20040 */ lw $v0, 0x40($sp)
/* 97F52C 80241A5C 00C0382D */ daddu $a3, $a2, $zero
/* 97F530 80241A60 A7A3002A */ sh $v1, 0x2a($sp)
/* 97F534 80241A64 3063FFFF */ andi $v1, $v1, 0xffff
/* 97F538 80241A68 44830000 */ mtc1 $v1, $f0
/* 97F53C 80241A6C 00000000 */ nop
/* 97F540 80241A70 46800020 */ cvt.s.w $f0, $f0
/* 97F544 80241A74 00021FC2 */ srl $v1, $v0, 0x1f
/* 97F548 80241A78 00431021 */ addu $v0, $v0, $v1
/* 97F54C 80241A7C 00021043 */ sra $v0, $v0, 1
/* 97F550 80241A80 E7C00040 */ swc1 $f0, 0x40($fp)
/* 97F554 80241A84 8FA30044 */ lw $v1, 0x44($sp)
/* 97F558 80241A88 00021023 */ negu $v0, $v0
/* 97F55C 80241A8C A7A2002C */ sh $v0, 0x2c($sp)
/* 97F560 80241A90 000317C2 */ srl $v0, $v1, 0x1f
/* 97F564 80241A94 00621821 */ addu $v1, $v1, $v0
/* 97F568 80241A98 00031843 */ sra $v1, $v1, 1
/* 97F56C 80241A9C A7A3002E */ sh $v1, 0x2e($sp)
/* 97F570 80241AA0 8FC30038 */ lw $v1, 0x38($fp)
/* 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 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 fold_appendGfx_component
/* 97F598 80241AC8 0220382D */ daddu $a3, $s1, $zero
/* 97F59C 80241ACC 3C04D838 */ lui $a0, 0xd838
/* 97F5A0 80241AD0 8EE20000 */ lw $v0, ($s7)
/* 97F5A4 80241AD4 34840002 */ ori $a0, $a0, 2
/* 97F5A8 80241AD8 0040182D */ daddu $v1, $v0, $zero
/* 97F5AC 80241ADC 24420008 */ addiu $v0, $v0, 8
/* 97F5B0 80241AE0 AEE20000 */ sw $v0, ($s7)
/* 97F5B4 80241AE4 24020040 */ addiu $v0, $zero, 0x40
/* 97F5B8 80241AE8 AC640000 */ sw $a0, ($v1)
/* 97F5BC 80241AEC AC620004 */ sw $v0, 4($v1)
/* 97F5C0 80241AF0 8FBF00F4 */ lw $ra, 0xf4($sp)
/* 97F5C4 80241AF4 8FBE00F0 */ lw $fp, 0xf0($sp)
/* 97F5C8 80241AF8 8FB700EC */ lw $s7, 0xec($sp)
/* 97F5CC 80241AFC 8FB600E8 */ lw $s6, 0xe8($sp)
/* 97F5D0 80241B00 8FB500E4 */ lw $s5, 0xe4($sp)
/* 97F5D4 80241B04 8FB400E0 */ lw $s4, 0xe0($sp)
/* 97F5D8 80241B08 8FB300DC */ lw $s3, 0xdc($sp)
/* 97F5DC 80241B0C 8FB200D8 */ lw $s2, 0xd8($sp)
/* 97F5E0 80241B10 8FB100D4 */ lw $s1, 0xd4($sp)
/* 97F5E4 80241B14 8FB000D0 */ lw $s0, 0xd0($sp)
/* 97F5E8 80241B18 D7B60100 */ ldc1 $f22, 0x100($sp)
/* 97F5EC 80241B1C D7B400F8 */ ldc1 $f20, 0xf8($sp)
/* 97F5F0 80241B20 03E00008 */ jr $ra
/* 97F5F4 80241B24 27BD0108 */ addiu $sp, $sp, 0x108

View File

@ -1,14 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241C34_97F704
/* 97F704 80241C34 3C048024 */ lui $a0, %hi(D_80242618_9800E8)
/* 97F708 80241C38 8C842618 */ lw $a0, %lo(D_80242618_9800E8)($a0)
/* 97F70C 80241C3C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 97F710 80241C40 AFBF0010 */ sw $ra, 0x10($sp)
/* 97F714 80241C44 0C048D70 */ jal free_generic_entity
/* 97F718 80241C48 00000000 */ nop
/* 97F71C 80241C4C 8FBF0010 */ lw $ra, 0x10($sp)
/* 97F720 80241C50 24020002 */ addiu $v0, $zero, 2
/* 97F724 80241C54 03E00008 */ jr $ra
/* 97F728 80241C58 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,69 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80242F40_980A10
.double 0.7142857142857143, 0.0
.section .text
glabel func_80241C5C_97F72C
/* 97F72C 80241C5C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 97F730 80241C60 AFB10014 */ sw $s1, 0x14($sp)
/* 97F734 80241C64 0080882D */ daddu $s1, $a0, $zero
/* 97F738 80241C68 AFBF001C */ sw $ra, 0x1c($sp)
/* 97F73C 80241C6C AFB20018 */ sw $s2, 0x18($sp)
/* 97F740 80241C70 AFB00010 */ sw $s0, 0x10($sp)
/* 97F744 80241C74 8E30000C */ lw $s0, 0xc($s1)
/* 97F748 80241C78 8E050000 */ lw $a1, ($s0)
/* 97F74C 80241C7C 0C0B210B */ jal evt_get_float_variable
/* 97F750 80241C80 26100004 */ addiu $s0, $s0, 4
/* 97F754 80241C84 8E050000 */ lw $a1, ($s0)
/* 97F758 80241C88 26100004 */ addiu $s0, $s0, 4
/* 97F75C 80241C8C 4600018D */ trunc.w.s $f6, $f0
/* 97F760 80241C90 44123000 */ mfc1 $s2, $f6
/* 97F764 80241C94 0C0B210B */ jal evt_get_float_variable
/* 97F768 80241C98 0220202D */ daddu $a0, $s1, $zero
/* 97F76C 80241C9C 8E050000 */ lw $a1, ($s0)
/* 97F770 80241CA0 4600018D */ trunc.w.s $f6, $f0
/* 97F774 80241CA4 44103000 */ mfc1 $s0, $f6
/* 97F778 80241CA8 0C0B210B */ jal evt_get_float_variable
/* 97F77C 80241CAC 0220202D */ daddu $a0, $s1, $zero
/* 97F780 80241CB0 3C028024 */ lui $v0, %hi(D_80242614_9800E4)
/* 97F784 80241CB4 24422614 */ addiu $v0, $v0, %lo(D_80242614_9800E4)
/* 97F788 80241CB8 C4420040 */ lwc1 $f2, 0x40($v0)
/* 97F78C 80241CBC 3C018024 */ lui $at, %hi(D_80242F40_980A10)
/* 97F790 80241CC0 D4242F40 */ ldc1 $f4, %lo(D_80242F40_980A10)($at)
/* 97F794 80241CC4 460010A1 */ cvt.d.s $f2, $f2
/* 97F798 80241CC8 46241082 */ mul.d $f2, $f2, $f4
/* 97F79C 80241CCC 00000000 */ nop
/* 97F7A0 80241CD0 3C013FE0 */ lui $at, 0x3fe0
/* 97F7A4 80241CD4 44812800 */ mtc1 $at, $f5
/* 97F7A8 80241CD8 44802000 */ mtc1 $zero, $f4
/* 97F7AC 80241CDC 00000000 */ nop
/* 97F7B0 80241CE0 46241082 */ mul.d $f2, $f2, $f4
/* 97F7B4 80241CE4 00000000 */ nop
/* 97F7B8 80241CE8 4600018D */ trunc.w.s $f6, $f0
/* 97F7BC 80241CEC 44033000 */ mfc1 $v1, $f6
/* 97F7C0 80241CF0 44900000 */ mtc1 $s0, $f0
/* 97F7C4 80241CF4 00000000 */ nop
/* 97F7C8 80241CF8 46800021 */ cvt.d.w $f0, $f0
/* 97F7CC 80241CFC 44922000 */ mtc1 $s2, $f4
/* 97F7D0 80241D00 00000000 */ nop
/* 97F7D4 80241D04 46802120 */ cvt.s.w $f4, $f4
/* 97F7D8 80241D08 E4440010 */ swc1 $f4, 0x10($v0)
/* 97F7DC 80241D0C 46220000 */ add.d $f0, $f0, $f2
/* 97F7E0 80241D10 44831000 */ mtc1 $v1, $f2
/* 97F7E4 80241D14 00000000 */ nop
/* 97F7E8 80241D18 468010A0 */ cvt.s.w $f2, $f2
/* 97F7EC 80241D1C E4420018 */ swc1 $f2, 0x18($v0)
/* 97F7F0 80241D20 46200020 */ cvt.s.d $f0, $f0
/* 97F7F4 80241D24 E4400014 */ swc1 $f0, 0x14($v0)
/* 97F7F8 80241D28 8FBF001C */ lw $ra, 0x1c($sp)
/* 97F7FC 80241D2C 8FB20018 */ lw $s2, 0x18($sp)
/* 97F800 80241D30 8FB10014 */ lw $s1, 0x14($sp)
/* 97F804 80241D34 8FB00010 */ lw $s0, 0x10($sp)
/* 97F808 80241D38 24020002 */ addiu $v0, $zero, 2
/* 97F80C 80241D3C 03E00008 */ jr $ra
/* 97F810 80241D40 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,49 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241D44_97F814
/* 97F814 80241D44 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 97F818 80241D48 AFB10014 */ sw $s1, 0x14($sp)
/* 97F81C 80241D4C 0080882D */ daddu $s1, $a0, $zero
/* 97F820 80241D50 AFBF001C */ sw $ra, 0x1c($sp)
/* 97F824 80241D54 AFB20018 */ sw $s2, 0x18($sp)
/* 97F828 80241D58 AFB00010 */ sw $s0, 0x10($sp)
/* 97F82C 80241D5C 8E30000C */ lw $s0, 0xc($s1)
/* 97F830 80241D60 8E050000 */ lw $a1, ($s0)
/* 97F834 80241D64 0C0B210B */ jal evt_get_float_variable
/* 97F838 80241D68 26100004 */ addiu $s0, $s0, 4
/* 97F83C 80241D6C 8E050000 */ lw $a1, ($s0)
/* 97F840 80241D70 26100004 */ addiu $s0, $s0, 4
/* 97F844 80241D74 4600010D */ trunc.w.s $f4, $f0
/* 97F848 80241D78 44122000 */ mfc1 $s2, $f4
/* 97F84C 80241D7C 0C0B210B */ jal evt_get_float_variable
/* 97F850 80241D80 0220202D */ daddu $a0, $s1, $zero
/* 97F854 80241D84 8E050000 */ lw $a1, ($s0)
/* 97F858 80241D88 4600010D */ trunc.w.s $f4, $f0
/* 97F85C 80241D8C 44102000 */ mfc1 $s0, $f4
/* 97F860 80241D90 0C0B210B */ jal evt_get_float_variable
/* 97F864 80241D94 0220202D */ daddu $a0, $s1, $zero
/* 97F868 80241D98 3C038024 */ lui $v1, %hi(D_80242614_9800E4)
/* 97F86C 80241D9C 24632614 */ addiu $v1, $v1, %lo(D_80242614_9800E4)
/* 97F870 80241DA0 44921000 */ mtc1 $s2, $f2
/* 97F874 80241DA4 00000000 */ nop
/* 97F878 80241DA8 468010A0 */ cvt.s.w $f2, $f2
/* 97F87C 80241DAC E462001C */ swc1 $f2, 0x1c($v1)
/* 97F880 80241DB0 44901000 */ mtc1 $s0, $f2
/* 97F884 80241DB4 00000000 */ nop
/* 97F888 80241DB8 468010A0 */ cvt.s.w $f2, $f2
/* 97F88C 80241DBC 4600010D */ trunc.w.s $f4, $f0
/* 97F890 80241DC0 44022000 */ mfc1 $v0, $f4
/* 97F894 80241DC4 00000000 */ nop
/* 97F898 80241DC8 44820000 */ mtc1 $v0, $f0
/* 97F89C 80241DCC 00000000 */ nop
/* 97F8A0 80241DD0 46800020 */ cvt.s.w $f0, $f0
/* 97F8A4 80241DD4 E4620020 */ swc1 $f2, 0x20($v1)
/* 97F8A8 80241DD8 E4600024 */ swc1 $f0, 0x24($v1)
/* 97F8AC 80241DDC 8FBF001C */ lw $ra, 0x1c($sp)
/* 97F8B0 80241DE0 8FB20018 */ lw $s2, 0x18($sp)
/* 97F8B4 80241DE4 8FB10014 */ lw $s1, 0x14($sp)
/* 97F8B8 80241DE8 8FB00010 */ lw $s0, 0x10($sp)
/* 97F8BC 80241DEC 24020002 */ addiu $v0, $zero, 2
/* 97F8C0 80241DF0 03E00008 */ jr $ra
/* 97F8C4 80241DF4 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241DF8_97F8C8
/* 97F8C8 80241DF8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 97F8CC 80241DFC AFBF0010 */ sw $ra, 0x10($sp)
/* 97F8D0 80241E00 8C82000C */ lw $v0, 0xc($a0)
/* 97F8D4 80241E04 0C0B1EAF */ jal evt_get_variable
/* 97F8D8 80241E08 8C450000 */ lw $a1, ($v0)
/* 97F8DC 80241E0C 8FBF0010 */ lw $ra, 0x10($sp)
/* 97F8E0 80241E10 3C018024 */ lui $at, %hi(D_8024264C_98011C)
/* 97F8E4 80241E14 AC22264C */ sw $v0, %lo(D_8024264C_98011C)($at)
/* 97F8E8 80241E18 24020002 */ addiu $v0, $zero, 2
/* 97F8EC 80241E1C 03E00008 */ jr $ra
/* 97F8F0 80241E20 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,43 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241E24_97F8F4
/* 97F8F4 80241E24 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 97F8F8 80241E28 AFB00018 */ sw $s0, 0x18($sp)
/* 97F8FC 80241E2C 0080802D */ daddu $s0, $a0, $zero
/* 97F900 80241E30 3C05FE36 */ lui $a1, 0xfe36
/* 97F904 80241E34 AFBF001C */ sw $ra, 0x1c($sp)
/* 97F908 80241E38 F7B60028 */ sdc1 $f22, 0x28($sp)
/* 97F90C 80241E3C F7B40020 */ sdc1 $f20, 0x20($sp)
/* 97F910 80241E40 0C0B1EAF */ jal evt_get_variable
/* 97F914 80241E44 34A53C82 */ ori $a1, $a1, 0x3c82
/* 97F918 80241E48 0200202D */ daddu $a0, $s0, $zero
/* 97F91C 80241E4C 3C05FE36 */ lui $a1, 0xfe36
/* 97F920 80241E50 4482B000 */ mtc1 $v0, $f22
/* 97F924 80241E54 00000000 */ nop
/* 97F928 80241E58 4680B5A0 */ cvt.s.w $f22, $f22
/* 97F92C 80241E5C 0C0B1EAF */ jal evt_get_variable
/* 97F930 80241E60 34A53C80 */ ori $a1, $a1, 0x3c80
/* 97F934 80241E64 0200202D */ daddu $a0, $s0, $zero
/* 97F938 80241E68 3C05FE36 */ lui $a1, 0xfe36
/* 97F93C 80241E6C 4482A000 */ mtc1 $v0, $f20
/* 97F940 80241E70 00000000 */ nop
/* 97F944 80241E74 4680A520 */ cvt.s.w $f20, $f20
/* 97F948 80241E78 0C0B1EAF */ jal evt_get_variable
/* 97F94C 80241E7C 34A53C84 */ ori $a1, $a1, 0x3c84
/* 97F950 80241E80 44820000 */ mtc1 $v0, $f0
/* 97F954 80241E84 00000000 */ nop
/* 97F958 80241E88 46800020 */ cvt.s.w $f0, $f0
/* 97F95C 80241E8C 4405B000 */ mfc1 $a1, $f22
/* 97F960 80241E90 4406A000 */ mfc1 $a2, $f20
/* 97F964 80241E94 44070000 */ mfc1 $a3, $f0
/* 97F968 80241E98 0000202D */ daddu $a0, $zero, $zero
/* 97F96C 80241E9C 0C01BEB4 */ jal fx_landing_dust
/* 97F970 80241EA0 AFA00010 */ sw $zero, 0x10($sp)
/* 97F974 80241EA4 8FBF001C */ lw $ra, 0x1c($sp)
/* 97F978 80241EA8 8FB00018 */ lw $s0, 0x18($sp)
/* 97F97C 80241EAC D7B60028 */ ldc1 $f22, 0x28($sp)
/* 97F980 80241EB0 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 97F984 80241EB4 24020002 */ addiu $v0, $zero, 2
/* 97F988 80241EB8 03E00008 */ jr $ra
/* 97F98C 80241EBC 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,254 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802411F8_9909D8
/* 9909D8 802411F8 27BDFF98 */ addiu $sp, $sp, -0x68
/* 9909DC 802411FC AFBF0034 */ sw $ra, 0x34($sp)
/* 9909E0 80241200 AFB40030 */ sw $s4, 0x30($sp)
/* 9909E4 80241204 AFB3002C */ sw $s3, 0x2c($sp)
/* 9909E8 80241208 AFB20028 */ sw $s2, 0x28($sp)
/* 9909EC 8024120C AFB10024 */ sw $s1, 0x24($sp)
/* 9909F0 80241210 AFB00020 */ sw $s0, 0x20($sp)
/* 9909F4 80241214 F7BE0060 */ sdc1 $f30, 0x60($sp)
/* 9909F8 80241218 F7BC0058 */ sdc1 $f28, 0x58($sp)
/* 9909FC 8024121C F7BA0050 */ sdc1 $f26, 0x50($sp)
/* 990A00 80241220 F7B80048 */ sdc1 $f24, 0x48($sp)
/* 990A04 80241224 F7B60040 */ sdc1 $f22, 0x40($sp)
/* 990A08 80241228 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 990A0C 8024122C 8C820148 */ lw $v0, 0x148($a0)
/* 990A10 80241230 8C84014C */ lw $a0, 0x14c($a0)
/* 990A14 80241234 C45A006C */ lwc1 $f26, 0x6c($v0)
/* 990A18 80241238 0C00EAD2 */ jal get_npc_safe
/* 990A1C 8024123C 4680D6A0 */ cvt.s.w $f26, $f26
/* 990A20 80241240 0040A02D */ daddu $s4, $v0, $zero
/* 990A24 80241244 8E930020 */ lw $s3, 0x20($s4)
/* 990A28 80241248 868200A8 */ lh $v0, 0xa8($s4)
/* 990A2C 8024124C 3C013E4C */ lui $at, 0x3e4c
/* 990A30 80241250 3421CCCD */ ori $at, $at, 0xcccd
/* 990A34 80241254 44810000 */ mtc1 $at, $f0
/* 990A38 80241258 C6860038 */ lwc1 $f6, 0x38($s4)
/* 990A3C 8024125C 44821000 */ mtc1 $v0, $f2
/* 990A40 80241260 00000000 */ nop
/* 990A44 80241264 468010A0 */ cvt.s.w $f2, $f2
/* 990A48 80241268 46001082 */ mul.s $f2, $f2, $f0
/* 990A4C 8024126C 00000000 */ nop
/* 990A50 80241270 C688003C */ lwc1 $f8, 0x3c($s4)
/* 990A54 80241274 3C014334 */ lui $at, 0x4334
/* 990A58 80241278 44816000 */ mtc1 $at, $f12
/* 990A5C 8024127C C6800034 */ lwc1 $f0, 0x34($s4)
/* 990A60 80241280 C6840040 */ lwc1 $f4, 0x40($s4)
/* 990A64 80241284 460C0300 */ add.s $f12, $f0, $f12
/* 990A68 80241288 E7A60018 */ swc1 $f6, 0x18($sp)
/* 990A6C 8024128C E7A4001C */ swc1 $f4, 0x1c($sp)
/* 990A70 80241290 0C00A6C9 */ jal clamp_angle
/* 990A74 80241294 46024500 */ add.s $f20, $f8, $f2
/* 990A78 80241298 868200A6 */ lh $v0, 0xa6($s4)
/* 990A7C 8024129C 3C013E99 */ lui $at, 0x3e99
/* 990A80 802412A0 3421999A */ ori $at, $at, 0x999a
/* 990A84 802412A4 44812000 */ mtc1 $at, $f4
/* 990A88 802412A8 44821000 */ mtc1 $v0, $f2
/* 990A8C 802412AC 00000000 */ nop
/* 990A90 802412B0 468010A0 */ cvt.s.w $f2, $f2
/* 990A94 802412B4 46041082 */ mul.s $f2, $f2, $f4
/* 990A98 802412B8 00000000 */ nop
/* 990A9C 802412BC 27A40018 */ addiu $a0, $sp, 0x18
/* 990AA0 802412C0 44070000 */ mfc1 $a3, $f0
/* 990AA4 802412C4 44061000 */ mfc1 $a2, $f2
/* 990AA8 802412C8 0C00A7E7 */ jal add_vec2D_polar
/* 990AAC 802412CC 27A5001C */ addiu $a1, $sp, 0x1c
/* 990AB0 802412D0 8E820000 */ lw $v0, ($s4)
/* 990AB4 802412D4 30420002 */ andi $v0, $v0, 2
/* 990AB8 802412D8 1040000D */ beqz $v0, .L80241310
/* 990ABC 802412DC 0000902D */ daddu $s2, $zero, $zero
/* 990AC0 802412E0 C7A20018 */ lwc1 $f2, 0x18($sp)
/* 990AC4 802412E4 C7A0001C */ lwc1 $f0, 0x1c($sp)
.L802412E8:
/* 990AC8 802412E8 26520001 */ addiu $s2, $s2, 1
/* 990ACC 802412EC 8E700000 */ lw $s0, ($s3)
/* 990AD0 802412F0 26730010 */ addiu $s3, $s3, 0x10
/* 990AD4 802412F4 2A420008 */ slti $v0, $s2, 8
/* 990AD8 802412F8 E6020038 */ swc1 $f2, 0x38($s0)
/* 990ADC 802412FC E614003C */ swc1 $f20, 0x3c($s0)
/* 990AE0 80241300 1440FFF9 */ bnez $v0, .L802412E8
/* 990AE4 80241304 E6000040 */ swc1 $f0, 0x40($s0)
/* 990AE8 80241308 08090562 */ j .L80241588
/* 990AEC 8024130C 0000102D */ daddu $v0, $zero, $zero
.L80241310:
/* 990AF0 80241310 26710008 */ addiu $s1, $s3, 8
/* 990AF4 80241314 3C014024 */ lui $at, 0x4024
/* 990AF8 80241318 4481C800 */ mtc1 $at, $f25
/* 990AFC 8024131C 4480C000 */ mtc1 $zero, $f24
/* 990B00 80241320 3C013F4C */ lui $at, 0x3f4c
/* 990B04 80241324 3421CCCD */ ori $at, $at, 0xcccd
/* 990B08 80241328 4481B000 */ mtc1 $at, $f22
/* 990B0C 8024132C 3C013F33 */ lui $at, 0x3f33
/* 990B10 80241330 34213333 */ ori $at, $at, 0x3333
/* 990B14 80241334 4481E000 */ mtc1 $at, $f28
/* 990B18 80241338 3C01C120 */ lui $at, 0xc120
/* 990B1C 8024133C 4481F000 */ mtc1 $at, $f30
.L80241340:
/* 990B20 80241340 8E700000 */ lw $s0, ($s3)
/* 990B24 80241344 C7A20018 */ lwc1 $f2, 0x18($sp)
/* 990B28 80241348 E7B40010 */ swc1 $f20, 0x10($sp)
/* 990B2C 8024134C C7A0001C */ lwc1 $f0, 0x1c($sp)
/* 990B30 80241350 E7A00014 */ swc1 $f0, 0x14($sp)
/* 990B34 80241354 C60C0038 */ lwc1 $f12, 0x38($s0)
/* 990B38 80241358 C60E003C */ lwc1 $f14, 0x3c($s0)
/* 990B3C 8024135C 8E060040 */ lw $a2, 0x40($s0)
/* 990B40 80241360 44071000 */ mfc1 $a3, $f2
/* 990B44 80241364 0C00A7CB */ jal dist3D
/* 990B48 80241368 00000000 */ nop
/* 990B4C 8024136C 46000021 */ cvt.d.s $f0, $f0
/* 990B50 80241370 4620C03E */ c.le.d $f24, $f0
/* 990B54 80241374 00000000 */ nop
/* 990B58 80241378 45000047 */ bc1f .L80241498
/* 990B5C 8024137C 00000000 */ nop
/* 990B60 80241380 C60C0038 */ lwc1 $f12, 0x38($s0)
/* 990B64 80241384 C7A40018 */ lwc1 $f4, 0x18($sp)
/* 990B68 80241388 46046301 */ sub.s $f12, $f12, $f4
/* 990B6C 8024138C 46166302 */ mul.s $f12, $f12, $f22
/* 990B70 80241390 00000000 */ nop
/* 990B74 80241394 C6000040 */ lwc1 $f0, 0x40($s0)
/* 990B78 80241398 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* 990B7C 8024139C 46020001 */ sub.s $f0, $f0, $f2
/* 990B80 802413A0 46160002 */ mul.s $f0, $f0, $f22
/* 990B84 802413A4 00000000 */ nop
/* 990B88 802413A8 E7B40010 */ swc1 $f20, 0x10($sp)
/* 990B8C 802413AC E7A20014 */ swc1 $f2, 0x14($sp)
/* 990B90 802413B0 46020000 */ add.s $f0, $f0, $f2
/* 990B94 802413B4 C60E003C */ lwc1 $f14, 0x3c($s0)
/* 990B98 802413B8 44072000 */ mfc1 $a3, $f4
/* 990B9C 802413BC 44060000 */ mfc1 $a2, $f0
/* 990BA0 802413C0 0C00A7CB */ jal dist3D
/* 990BA4 802413C4 46046300 */ add.s $f12, $f12, $f4
/* 990BA8 802413C8 C6080038 */ lwc1 $f8, 0x38($s0)
/* 990BAC 802413CC C7A20018 */ lwc1 $f2, 0x18($sp)
/* 990BB0 802413D0 46024201 */ sub.s $f8, $f8, $f2
/* 990BB4 802413D4 46164202 */ mul.s $f8, $f8, $f22
/* 990BB8 802413D8 00000000 */ nop
/* 990BBC 802413DC C606003C */ lwc1 $f6, 0x3c($s0)
/* 990BC0 802413E0 46000021 */ cvt.d.s $f0, $f0
/* 990BC4 802413E4 46143181 */ sub.s $f6, $f6, $f20
/* 990BC8 802413E8 4620C003 */ div.d $f0, $f24, $f0
/* 990BCC 802413EC 46200020 */ cvt.s.d $f0, $f0
/* 990BD0 802413F0 46003182 */ mul.s $f6, $f6, $f0
/* 990BD4 802413F4 00000000 */ nop
/* 990BD8 802413F8 C6040040 */ lwc1 $f4, 0x40($s0)
/* 990BDC 802413FC C7AA001C */ lwc1 $f10, 0x1c($sp)
/* 990BE0 80241400 460A2101 */ sub.s $f4, $f4, $f10
/* 990BE4 80241404 46162102 */ mul.s $f4, $f4, $f22
/* 990BE8 80241408 00000000 */ nop
/* 990BEC 8024140C 46004202 */ mul.s $f8, $f8, $f0
/* 990BF0 80241410 00000000 */ nop
/* 990BF4 80241414 46002102 */ mul.s $f4, $f4, $f0
/* 990BF8 80241418 00000000 */ nop
/* 990BFC 8024141C 46024200 */ add.s $f8, $f8, $f2
/* 990C00 80241420 C6020038 */ lwc1 $f2, 0x38($s0)
/* 990C04 80241424 46024081 */ sub.s $f2, $f8, $f2
/* 990C08 80241428 461C1082 */ mul.s $f2, $f2, $f28
/* 990C0C 8024142C 00000000 */ nop
/* 990C10 80241430 4606A500 */ add.s $f20, $f20, $f6
/* 990C14 80241434 E622FFFC */ swc1 $f2, -4($s1)
/* 990C18 80241438 C602003C */ lwc1 $f2, 0x3c($s0)
/* 990C1C 8024143C 4602A081 */ sub.s $f2, $f20, $f2
/* 990C20 80241440 461C1082 */ mul.s $f2, $f2, $f28
/* 990C24 80241444 00000000 */ nop
/* 990C28 80241448 460A2100 */ add.s $f4, $f4, $f10
/* 990C2C 8024144C E6220000 */ swc1 $f2, ($s1)
/* 990C30 80241450 C6000040 */ lwc1 $f0, 0x40($s0)
/* 990C34 80241454 46002001 */ sub.s $f0, $f4, $f0
/* 990C38 80241458 461C0002 */ mul.s $f0, $f0, $f28
/* 990C3C 8024145C 00000000 */ nop
/* 990C40 80241460 3C014120 */ lui $at, 0x4120
/* 990C44 80241464 44818000 */ mtc1 $at, $f16
/* 990C48 80241468 E6200004 */ swc1 $f0, 4($s1)
/* 990C4C 8024146C E6080038 */ swc1 $f8, 0x38($s0)
/* 990C50 80241470 E614003C */ swc1 $f20, 0x3c($s0)
/* 990C54 80241474 E6040040 */ swc1 $f4, 0x40($s0)
/* 990C58 80241478 C6200000 */ lwc1 $f0, ($s1)
/* 990C5C 8024147C E7A80018 */ swc1 $f8, 0x18($sp)
/* 990C60 80241480 4600803C */ c.lt.s $f16, $f0
/* 990C64 80241484 00000000 */ nop
/* 990C68 80241488 45000016 */ bc1f .L802414E4
/* 990C6C 8024148C E7A4001C */ swc1 $f4, 0x1c($sp)
/* 990C70 80241490 08090539 */ j .L802414E4
/* 990C74 80241494 E6300000 */ swc1 $f16, ($s1)
.L80241498:
/* 990C78 80241498 C622FFFC */ lwc1 $f2, -4($s1)
/* 990C7C 8024149C 3C013F66 */ lui $at, 0x3f66
/* 990C80 802414A0 34216666 */ ori $at, $at, 0x6666
/* 990C84 802414A4 44818000 */ mtc1 $at, $f16
/* 990C88 802414A8 00000000 */ nop
/* 990C8C 802414AC 46101082 */ mul.s $f2, $f2, $f16
/* 990C90 802414B0 00000000 */ nop
/* 990C94 802414B4 C6200004 */ lwc1 $f0, 4($s1)
/* 990C98 802414B8 46100002 */ mul.s $f0, $f0, $f16
/* 990C9C 802414BC 00000000 */ nop
/* 990CA0 802414C0 E622FFFC */ swc1 $f2, -4($s1)
/* 990CA4 802414C4 E6200004 */ swc1 $f0, 4($s1)
/* 990CA8 802414C8 C6000038 */ lwc1 $f0, 0x38($s0)
/* 990CAC 802414CC 46020000 */ add.s $f0, $f0, $f2
/* 990CB0 802414D0 E6000038 */ swc1 $f0, 0x38($s0)
/* 990CB4 802414D4 C6000040 */ lwc1 $f0, 0x40($s0)
/* 990CB8 802414D8 C6220004 */ lwc1 $f2, 4($s1)
/* 990CBC 802414DC 46020000 */ add.s $f0, $f0, $f2
/* 990CC0 802414E0 E6000040 */ swc1 $f0, 0x40($s0)
.L802414E4:
/* 990CC4 802414E4 C6220000 */ lwc1 $f2, ($s1)
/* 990CC8 802414E8 3C013F80 */ lui $at, 0x3f80
/* 990CCC 802414EC 44810000 */ mtc1 $at, $f0
/* 990CD0 802414F0 00000000 */ nop
/* 990CD4 802414F4 46001081 */ sub.s $f2, $f2, $f0
/* 990CD8 802414F8 461E103C */ c.lt.s $f2, $f30
/* 990CDC 802414FC 00000000 */ nop
/* 990CE0 80241500 45000002 */ bc1f .L8024150C
/* 990CE4 80241504 E6220000 */ swc1 $f2, ($s1)
/* 990CE8 80241508 E63E0000 */ swc1 $f30, ($s1)
.L8024150C:
/* 990CEC 8024150C C602003C */ lwc1 $f2, 0x3c($s0)
/* 990CF0 80241510 C6200000 */ lwc1 $f0, ($s1)
/* 990CF4 80241514 46001080 */ add.s $f2, $f2, $f0
/* 990CF8 80241518 461A103E */ c.le.s $f2, $f26
/* 990CFC 8024151C 00000000 */ nop
/* 990D00 80241520 4500000C */ bc1f .L80241554
/* 990D04 80241524 E602003C */ swc1 $f2, 0x3c($s0)
/* 990D08 80241528 E61A003C */ swc1 $f26, 0x3c($s0)
/* 990D0C 8024152C C6200000 */ lwc1 $f0, ($s1)
/* 990D10 80241530 3C013FE0 */ lui $at, 0x3fe0
/* 990D14 80241534 44811800 */ mtc1 $at, $f3
/* 990D18 80241538 44801000 */ mtc1 $zero, $f2
/* 990D1C 8024153C 46000007 */ neg.s $f0, $f0
/* 990D20 80241540 46000021 */ cvt.d.s $f0, $f0
/* 990D24 80241544 46220002 */ mul.d $f0, $f0, $f2
/* 990D28 80241548 00000000 */ nop
/* 990D2C 8024154C 46200020 */ cvt.s.d $f0, $f0
/* 990D30 80241550 E6200000 */ swc1 $f0, ($s1)
.L80241554:
/* 990D34 80241554 26520001 */ addiu $s2, $s2, 1
/* 990D38 80241558 26310010 */ addiu $s1, $s1, 0x10
/* 990D3C 8024155C C614003C */ lwc1 $f20, 0x3c($s0)
/* 990D40 80241560 C6000038 */ lwc1 $f0, 0x38($s0)
/* 990D44 80241564 C6020040 */ lwc1 $f2, 0x40($s0)
/* 990D48 80241568 8E820000 */ lw $v0, ($s4)
/* 990D4C 8024156C E7A00018 */ swc1 $f0, 0x18($sp)
/* 990D50 80241570 E7A2001C */ swc1 $f2, 0x1c($sp)
/* 990D54 80241574 AE020000 */ sw $v0, ($s0)
/* 990D58 80241578 2A420008 */ slti $v0, $s2, 8
/* 990D5C 8024157C 1440FF70 */ bnez $v0, .L80241340
/* 990D60 80241580 26730010 */ addiu $s3, $s3, 0x10
/* 990D64 80241584 0000102D */ daddu $v0, $zero, $zero
.L80241588:
/* 990D68 80241588 8FBF0034 */ lw $ra, 0x34($sp)
/* 990D6C 8024158C 8FB40030 */ lw $s4, 0x30($sp)
/* 990D70 80241590 8FB3002C */ lw $s3, 0x2c($sp)
/* 990D74 80241594 8FB20028 */ lw $s2, 0x28($sp)
/* 990D78 80241598 8FB10024 */ lw $s1, 0x24($sp)
/* 990D7C 8024159C 8FB00020 */ lw $s0, 0x20($sp)
/* 990D80 802415A0 D7BE0060 */ ldc1 $f30, 0x60($sp)
/* 990D84 802415A4 D7BC0058 */ ldc1 $f28, 0x58($sp)
/* 990D88 802415A8 D7BA0050 */ ldc1 $f26, 0x50($sp)
/* 990D8C 802415AC D7B80048 */ ldc1 $f24, 0x48($sp)
/* 990D90 802415B0 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 990D94 802415B4 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 990D98 802415B8 03E00008 */ jr $ra
/* 990D9C 802415BC 27BD0068 */ addiu $sp, $sp, 0x68

View File

@ -1,25 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802415C0_990DA0
/* 990DA0 802415C0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 990DA4 802415C4 AFBF0018 */ sw $ra, 0x18($sp)
/* 990DA8 802415C8 AFB10014 */ sw $s1, 0x14($sp)
/* 990DAC 802415CC AFB00010 */ sw $s0, 0x10($sp)
/* 990DB0 802415D0 8C84014C */ lw $a0, 0x14c($a0)
/* 990DB4 802415D4 0C00EAD2 */ jal get_npc_safe
/* 990DB8 802415D8 0000882D */ daddu $s1, $zero, $zero
/* 990DBC 802415DC 8C500020 */ lw $s0, 0x20($v0)
.L802415E0:
/* 990DC0 802415E0 8E040000 */ lw $a0, ($s0)
/* 990DC4 802415E4 26310001 */ addiu $s1, $s1, 1
/* 990DC8 802415E8 0C00E273 */ jal free_npc
/* 990DCC 802415EC 26100010 */ addiu $s0, $s0, 0x10
/* 990DD0 802415F0 2A220008 */ slti $v0, $s1, 8
/* 990DD4 802415F4 1440FFFA */ bnez $v0, .L802415E0
/* 990DD8 802415F8 24020002 */ addiu $v0, $zero, 2
/* 990DDC 802415FC 8FBF0018 */ lw $ra, 0x18($sp)
/* 990DE0 80241600 8FB10014 */ lw $s1, 0x14($sp)
/* 990DE4 80241604 8FB00010 */ lw $s0, 0x10($sp)
/* 990DE8 80241608 03E00008 */ jr $ra
/* 990DEC 8024160C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,365 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241610_990DF0
/* 990DF0 80241610 27BDFEF8 */ addiu $sp, $sp, -0x108
/* 990DF4 80241614 0000202D */ daddu $a0, $zero, $zero
/* 990DF8 80241618 3C05FD05 */ lui $a1, 0xfd05
/* 990DFC 8024161C AFBF00F4 */ sw $ra, 0xf4($sp)
/* 990E00 80241620 AFBE00F0 */ sw $fp, 0xf0($sp)
/* 990E04 80241624 AFB700EC */ sw $s7, 0xec($sp)
/* 990E08 80241628 AFB600E8 */ sw $s6, 0xe8($sp)
/* 990E0C 8024162C AFB500E4 */ sw $s5, 0xe4($sp)
/* 990E10 80241630 AFB400E0 */ sw $s4, 0xe0($sp)
/* 990E14 80241634 AFB300DC */ sw $s3, 0xdc($sp)
/* 990E18 80241638 AFB200D8 */ sw $s2, 0xd8($sp)
/* 990E1C 8024163C AFB100D4 */ sw $s1, 0xd4($sp)
/* 990E20 80241640 AFB000D0 */ sw $s0, 0xd0($sp)
/* 990E24 80241644 F7B60100 */ sdc1 $f22, 0x100($sp)
/* 990E28 80241648 F7B400F8 */ sdc1 $f20, 0xf8($sp)
/* 990E2C 8024164C 0C0B1EAF */ jal evt_get_variable
/* 990E30 80241650 34A50F8A */ ori $a1, $a1, 0xf8a
/* 990E34 80241654 3C03DC08 */ lui $v1, 0xdc08
/* 990E38 80241658 3C1E800A */ lui $fp, %hi(gMasterGfxPos)
/* 990E3C 8024165C 27DEA66C */ addiu $fp, $fp, %lo(gMasterGfxPos)
/* 990E40 80241660 34630008 */ ori $v1, $v1, 8
/* 990E44 80241664 8FC60000 */ lw $a2, ($fp)
/* 990E48 80241668 3C168007 */ lui $s6, %hi(gCurrentCameraID)
/* 990E4C 8024166C 26D67410 */ addiu $s6, $s6, %lo(gCurrentCameraID)
/* 990E50 80241670 00C0282D */ daddu $a1, $a2, $zero
/* 990E54 80241674 24C60008 */ addiu $a2, $a2, 8
/* 990E58 80241678 AFC60000 */ sw $a2, ($fp)
/* 990E5C 8024167C ACA30000 */ sw $v1, ($a1)
/* 990E60 80241680 8EC40000 */ lw $a0, ($s6)
/* 990E64 80241684 3C18800B */ lui $t8, %hi(gCameras)
/* 990E68 80241688 27181D80 */ addiu $t8, $t8, %lo(gCameras)
/* 990E6C 8024168C 00041880 */ sll $v1, $a0, 2
/* 990E70 80241690 00641821 */ addu $v1, $v1, $a0
/* 990E74 80241694 00031880 */ sll $v1, $v1, 2
/* 990E78 80241698 00641823 */ subu $v1, $v1, $a0
/* 990E7C 8024169C 000320C0 */ sll $a0, $v1, 3
/* 990E80 802416A0 00641821 */ addu $v1, $v1, $a0
/* 990E84 802416A4 000318C0 */ sll $v1, $v1, 3
/* 990E88 802416A8 00782021 */ addu $a0, $v1, $t8
/* 990E8C 802416AC 248300A0 */ addiu $v1, $a0, 0xa0
/* 990E90 802416B0 ACA30004 */ sw $v1, 4($a1)
/* 990E94 802416B4 94830000 */ lhu $v1, ($a0)
/* 990E98 802416B8 30630010 */ andi $v1, $v1, 0x10
/* 990E9C 802416BC 14600007 */ bnez $v1, .L802416DC
/* 990EA0 802416C0 0040B82D */ daddu $s7, $v0, $zero
/* 990EA4 802416C4 3C02DB0E */ lui $v0, 0xdb0e
/* 990EA8 802416C8 ACC20000 */ sw $v0, ($a2)
/* 990EAC 802416CC 94830038 */ lhu $v1, 0x38($a0)
/* 990EB0 802416D0 24C20008 */ addiu $v0, $a2, 8
/* 990EB4 802416D4 AFC20000 */ sw $v0, ($fp)
/* 990EB8 802416D8 ACC30004 */ sw $v1, 4($a2)
.L802416DC:
/* 990EBC 802416DC 248400D4 */ addiu $a0, $a0, 0xd4
/* 990EC0 802416E0 3C180001 */ lui $t8, 1
/* 990EC4 802416E4 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 990EC8 802416E8 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 990ECC 802416EC AFB800C8 */ sw $t8, 0xc8($sp)
/* 990ED0 802416F0 8EC50000 */ lw $a1, ($s6)
/* 990ED4 802416F4 8E420000 */ lw $v0, ($s2)
/* 990ED8 802416F8 00052980 */ sll $a1, $a1, 6
/* 990EDC 802416FC 24A50030 */ addiu $a1, $a1, 0x30
/* 990EE0 80241700 0C019D40 */ jal guMtxF2L
/* 990EE4 80241704 00452821 */ addu $a1, $v0, $a1
/* 990EE8 80241708 3C03DA38 */ lui $v1, 0xda38
/* 990EEC 8024170C 34630007 */ ori $v1, $v1, 7
/* 990EF0 80241710 3C07E300 */ lui $a3, 0xe300
/* 990EF4 80241714 34E70A01 */ ori $a3, $a3, 0xa01
/* 990EF8 80241718 3C08D9C0 */ lui $t0, 0xd9c0
/* 990EFC 8024171C 3508F9FB */ ori $t0, $t0, 0xf9fb
/* 990F00 80241720 3C0AD9FF */ lui $t2, 0xd9ff
/* 990F04 80241724 354AFFFF */ ori $t2, $t2, 0xffff
/* 990F08 80241728 3C090020 */ lui $t1, 0x20
/* 990F0C 8024172C 35290005 */ ori $t1, $t1, 5
/* 990F10 80241730 3C0BD700 */ lui $t3, 0xd700
/* 990F14 80241734 356B0002 */ ori $t3, $t3, 2
/* 990F18 80241738 3C0CE300 */ lui $t4, 0xe300
/* 990F1C 8024173C 358C0F00 */ ori $t4, $t4, 0xf00
/* 990F20 80241740 3C0DE300 */ lui $t5, 0xe300
/* 990F24 80241744 35AD0C00 */ ori $t5, $t5, 0xc00
/* 990F28 80241748 3C0EE300 */ lui $t6, 0xe300
/* 990F2C 8024174C 35CE1201 */ ori $t6, $t6, 0x1201
/* 990F30 80241750 3C0FE300 */ lui $t7, 0xe300
/* 990F34 80241754 35EF1801 */ ori $t7, $t7, 0x1801
/* 990F38 80241758 3C10E300 */ lui $s0, 0xe300
/* 990F3C 8024175C 36100D01 */ ori $s0, $s0, 0xd01
/* 990F40 80241760 3C13E300 */ lui $s3, 0xe300
/* 990F44 80241764 36731402 */ ori $s3, $s3, 0x1402
/* 990F48 80241768 3C14E300 */ lui $s4, 0xe300
/* 990F4C 8024176C 36941700 */ ori $s4, $s4, 0x1700
/* 990F50 80241770 3C15E200 */ lui $s5, 0xe200
/* 990F54 80241774 36B51E01 */ ori $s5, $s5, 0x1e01
/* 990F58 80241778 27B10048 */ addiu $s1, $sp, 0x48
/* 990F5C 8024177C 0220202D */ daddu $a0, $s1, $zero
/* 990F60 80241780 8FC20000 */ lw $v0, ($fp)
/* 990F64 80241784 8EC50000 */ lw $a1, ($s6)
/* 990F68 80241788 0040302D */ daddu $a2, $v0, $zero
/* 990F6C 8024178C 24420008 */ addiu $v0, $v0, 8
/* 990F70 80241790 00052980 */ sll $a1, $a1, 6
/* 990F74 80241794 AFC20000 */ sw $v0, ($fp)
/* 990F78 80241798 ACC30000 */ sw $v1, ($a2)
/* 990F7C 8024179C 8E430000 */ lw $v1, ($s2)
/* 990F80 802417A0 24A50030 */ addiu $a1, $a1, 0x30
/* 990F84 802417A4 00651821 */ addu $v1, $v1, $a1
/* 990F88 802417A8 ACC30004 */ sw $v1, 4($a2)
/* 990F8C 802417AC 24430008 */ addiu $v1, $v0, 8
/* 990F90 802417B0 AFC30000 */ sw $v1, ($fp)
/* 990F94 802417B4 3C03E700 */ lui $v1, 0xe700
/* 990F98 802417B8 AC430000 */ sw $v1, ($v0)
/* 990F9C 802417BC 24430010 */ addiu $v1, $v0, 0x10
/* 990FA0 802417C0 AC400004 */ sw $zero, 4($v0)
/* 990FA4 802417C4 AFC30000 */ sw $v1, ($fp)
/* 990FA8 802417C8 24430018 */ addiu $v1, $v0, 0x18
/* 990FAC 802417CC AC470008 */ sw $a3, 8($v0)
/* 990FB0 802417D0 AC40000C */ sw $zero, 0xc($v0)
/* 990FB4 802417D4 AFC30000 */ sw $v1, ($fp)
/* 990FB8 802417D8 24430020 */ addiu $v1, $v0, 0x20
/* 990FBC 802417DC AC480010 */ sw $t0, 0x10($v0)
/* 990FC0 802417E0 AC400014 */ sw $zero, 0x14($v0)
/* 990FC4 802417E4 AFC30000 */ sw $v1, ($fp)
/* 990FC8 802417E8 24430028 */ addiu $v1, $v0, 0x28
/* 990FCC 802417EC AC4A0018 */ sw $t2, 0x18($v0)
/* 990FD0 802417F0 AC49001C */ sw $t1, 0x1c($v0)
/* 990FD4 802417F4 AFC30000 */ sw $v1, ($fp)
/* 990FD8 802417F8 2403FFFF */ addiu $v1, $zero, -1
/* 990FDC 802417FC AC430024 */ sw $v1, 0x24($v0)
/* 990FE0 80241800 24430030 */ addiu $v1, $v0, 0x30
/* 990FE4 80241804 AC4B0020 */ sw $t3, 0x20($v0)
/* 990FE8 80241808 AFC30000 */ sw $v1, ($fp)
/* 990FEC 8024180C 24430038 */ addiu $v1, $v0, 0x38
/* 990FF0 80241810 AC4C0028 */ sw $t4, 0x28($v0)
/* 990FF4 80241814 AC40002C */ sw $zero, 0x2c($v0)
/* 990FF8 80241818 AFC30000 */ sw $v1, ($fp)
/* 990FFC 8024181C 3C030008 */ lui $v1, 8
/* 991000 80241820 AC430034 */ sw $v1, 0x34($v0)
/* 991004 80241824 24430040 */ addiu $v1, $v0, 0x40
/* 991008 80241828 AC4D0030 */ sw $t5, 0x30($v0)
/* 99100C 8024182C AFC30000 */ sw $v1, ($fp)
/* 991010 80241830 24032000 */ addiu $v1, $zero, 0x2000
/* 991014 80241834 AC43003C */ sw $v1, 0x3c($v0)
/* 991018 80241838 24430048 */ addiu $v1, $v0, 0x48
/* 99101C 8024183C AC4E0038 */ sw $t6, 0x38($v0)
/* 991020 80241840 AFC30000 */ sw $v1, ($fp)
/* 991024 80241844 240300C0 */ addiu $v1, $zero, 0xc0
/* 991028 80241848 AC430044 */ sw $v1, 0x44($v0)
/* 99102C 8024184C 24430050 */ addiu $v1, $v0, 0x50
/* 991030 80241850 AC4F0040 */ sw $t7, 0x40($v0)
/* 991034 80241854 AFC30000 */ sw $v1, ($fp)
/* 991038 80241858 24030C00 */ addiu $v1, $zero, 0xc00
/* 99103C 8024185C AC500048 */ sw $s0, 0x48($v0)
/* 991040 80241860 AC40004C */ sw $zero, 0x4c($v0)
/* 991044 80241864 AC530050 */ sw $s3, 0x50($v0)
/* 991048 80241868 AC430054 */ sw $v1, 0x54($v0)
/* 99104C 8024186C AC540058 */ sw $s4, 0x58($v0)
/* 991050 80241870 AC40005C */ sw $zero, 0x5c($v0)
/* 991054 80241874 AC550060 */ sw $s5, 0x60($v0)
/* 991058 80241878 AC400064 */ sw $zero, 0x64($v0)
/* 99105C 8024187C 8EE50014 */ lw $a1, 0x14($s7)
/* 991060 80241880 8EE60018 */ lw $a2, 0x18($s7)
/* 991064 80241884 8EE7001C */ lw $a3, 0x1c($s7)
/* 991068 80241888 24430058 */ addiu $v1, $v0, 0x58
/* 99106C 8024188C AFC30000 */ sw $v1, ($fp)
/* 991070 80241890 24430060 */ addiu $v1, $v0, 0x60
/* 991074 80241894 24420068 */ addiu $v0, $v0, 0x68
/* 991078 80241898 AFC30000 */ sw $v1, ($fp)
/* 99107C 8024189C 0C019E40 */ jal guTranslateF
/* 991080 802418A0 AFC20000 */ sw $v0, ($fp)
/* 991084 802418A4 27B00088 */ addiu $s0, $sp, 0x88
/* 991088 802418A8 8FB800C8 */ lw $t8, 0xc8($sp)
/* 99108C 802418AC 8EC30000 */ lw $v1, ($s6)
/* 991090 802418B0 37181630 */ ori $t8, $t8, 0x1630
/* 991094 802418B4 00031080 */ sll $v0, $v1, 2
/* 991098 802418B8 00431021 */ addu $v0, $v0, $v1
/* 99109C 802418BC 00021080 */ sll $v0, $v0, 2
/* 9910A0 802418C0 00431023 */ subu $v0, $v0, $v1
/* 9910A4 802418C4 000218C0 */ sll $v1, $v0, 3
/* 9910A8 802418C8 00431021 */ addu $v0, $v0, $v1
/* 9910AC 802418CC 000210C0 */ sll $v0, $v0, 3
/* 9910B0 802418D0 AFB800C8 */ sw $t8, 0xc8($sp)
/* 9910B4 802418D4 3C18800B */ lui $t8, %hi(gCameras)
/* 9910B8 802418D8 27181D80 */ addiu $t8, $t8, %lo(gCameras)
/* 9910BC 802418DC 00581021 */ addu $v0, $v0, $t8
/* 9910C0 802418E0 C6E00024 */ lwc1 $f0, 0x24($s7)
/* 9910C4 802418E4 C442006C */ lwc1 $f2, 0x6c($v0)
/* 9910C8 802418E8 4480A000 */ mtc1 $zero, $f20
/* 9910CC 802418EC 46020000 */ add.s $f0, $f0, $f2
/* 9910D0 802418F0 C6E20038 */ lwc1 $f2, 0x38($s7)
/* 9910D4 802418F4 3C013F80 */ lui $at, 0x3f80
/* 9910D8 802418F8 4481B000 */ mtc1 $at, $f22
/* 9910DC 802418FC 46020000 */ add.s $f0, $f0, $f2
/* 9910E0 80241900 4406A000 */ mfc1 $a2, $f20
/* 9910E4 80241904 4407B000 */ mfc1 $a3, $f22
/* 9910E8 80241908 44050000 */ mfc1 $a1, $f0
/* 9910EC 8024190C 0200202D */ daddu $a0, $s0, $zero
/* 9910F0 80241910 0C019EC8 */ jal guRotateF
/* 9910F4 80241914 E7B40010 */ swc1 $f20, 0x10($sp)
/* 9910F8 80241918 0200202D */ daddu $a0, $s0, $zero
/* 9910FC 8024191C 0220282D */ daddu $a1, $s1, $zero
/* 991100 80241920 0C019D80 */ jal guMtxCatF
/* 991104 80241924 0220302D */ daddu $a2, $s1, $zero
/* 991108 80241928 E7B60010 */ swc1 $f22, 0x10($sp)
/* 99110C 8024192C 8EE50028 */ lw $a1, 0x28($s7)
/* 991110 80241930 4406A000 */ mfc1 $a2, $f20
/* 991114 80241934 4407A000 */ mfc1 $a3, $f20
/* 991118 80241938 0C019EC8 */ jal guRotateF
/* 99111C 8024193C 0200202D */ daddu $a0, $s0, $zero
/* 991120 80241940 0200202D */ daddu $a0, $s0, $zero
/* 991124 80241944 0220282D */ daddu $a1, $s1, $zero
/* 991128 80241948 0C019D80 */ jal guMtxCatF
/* 99112C 8024194C 0220302D */ daddu $a2, $s1, $zero
/* 991130 80241950 E7B40010 */ swc1 $f20, 0x10($sp)
/* 991134 80241954 8EE50020 */ lw $a1, 0x20($s7)
/* 991138 80241958 4406B000 */ mfc1 $a2, $f22
/* 99113C 8024195C 4407A000 */ mfc1 $a3, $f20
/* 991140 80241960 0C019EC8 */ jal guRotateF
/* 991144 80241964 0200202D */ daddu $a0, $s0, $zero
/* 991148 80241968 0200202D */ daddu $a0, $s0, $zero
/* 99114C 8024196C 0220282D */ daddu $a1, $s1, $zero
/* 991150 80241970 0C019D80 */ jal guMtxCatF
/* 991154 80241974 0220302D */ daddu $a2, $s1, $zero
/* 991158 80241978 8EE5002C */ lw $a1, 0x2c($s7)
/* 99115C 8024197C 8EE60030 */ lw $a2, 0x30($s7)
/* 991160 80241980 8EE70034 */ lw $a3, 0x34($s7)
/* 991164 80241984 0C019DF0 */ jal guScaleF
/* 991168 80241988 0200202D */ daddu $a0, $s0, $zero
/* 99116C 8024198C 0200202D */ daddu $a0, $s0, $zero
/* 991170 80241990 0220282D */ daddu $a1, $s1, $zero
/* 991174 80241994 0C019D80 */ jal guMtxCatF
/* 991178 80241998 0220302D */ daddu $a2, $s1, $zero
/* 99117C 8024199C 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 991180 802419A0 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 991184 802419A4 0220202D */ daddu $a0, $s1, $zero
/* 991188 802419A8 96050000 */ lhu $a1, ($s0)
/* 99118C 802419AC 8E420000 */ lw $v0, ($s2)
/* 991190 802419B0 8FB800C8 */ lw $t8, 0xc8($sp)
/* 991194 802419B4 00052980 */ sll $a1, $a1, 6
/* 991198 802419B8 00B82821 */ addu $a1, $a1, $t8
/* 99119C 802419BC 0C019D40 */ jal guMtxF2L
/* 9911A0 802419C0 00452821 */ addu $a1, $v0, $a1
/* 9911A4 802419C4 3C03DA38 */ lui $v1, 0xda38
/* 9911A8 802419C8 34630002 */ ori $v1, $v1, 2
/* 9911AC 802419CC 8FC20000 */ lw $v0, ($fp)
/* 9911B0 802419D0 96040000 */ lhu $a0, ($s0)
/* 9911B4 802419D4 0040282D */ daddu $a1, $v0, $zero
/* 9911B8 802419D8 24420008 */ addiu $v0, $v0, 8
/* 9911BC 802419DC AFC20000 */ sw $v0, ($fp)
/* 9911C0 802419E0 3082FFFF */ andi $v0, $a0, 0xffff
/* 9911C4 802419E4 00021180 */ sll $v0, $v0, 6
/* 9911C8 802419E8 ACA30000 */ sw $v1, ($a1)
/* 9911CC 802419EC 8FB800C8 */ lw $t8, 0xc8($sp)
/* 9911D0 802419F0 8E430000 */ lw $v1, ($s2)
/* 9911D4 802419F4 00581021 */ addu $v0, $v0, $t8
/* 9911D8 802419F8 00621821 */ addu $v1, $v1, $v0
/* 9911DC 802419FC 3C028000 */ lui $v0, 0x8000
/* 9911E0 80241A00 00621821 */ addu $v1, $v1, $v0
/* 9911E4 80241A04 ACA30004 */ sw $v1, 4($a1)
/* 9911E8 80241A08 8EE20000 */ lw $v0, ($s7)
/* 9911EC 80241A0C 24840001 */ addiu $a0, $a0, 1
/* 9911F0 80241A10 10400014 */ beqz $v0, .L80241A64
/* 9911F4 80241A14 A6040000 */ sh $a0, ($s0)
/* 9911F8 80241A18 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 9911FC 80241A1C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 991200 80241A20 94430134 */ lhu $v1, 0x134($v0)
/* 991204 80241A24 3C02CCCC */ lui $v0, 0xcccc
/* 991208 80241A28 3442CCCD */ ori $v0, $v0, 0xcccd
/* 99120C 80241A2C 00620019 */ multu $v1, $v0
/* 991210 80241A30 0000C010 */ mfhi $t8
/* 991214 80241A34 001820C2 */ srl $a0, $t8, 3
/* 991218 80241A38 00041080 */ sll $v0, $a0, 2
/* 99121C 80241A3C 00441021 */ addu $v0, $v0, $a0
/* 991220 80241A40 00021040 */ sll $v0, $v0, 1
/* 991224 80241A44 00621823 */ subu $v1, $v1, $v0
/* 991228 80241A48 3063FFFF */ andi $v1, $v1, 0xffff
/* 99122C 80241A4C 2C630005 */ sltiu $v1, $v1, 5
/* 991230 80241A50 10600003 */ beqz $v1, .L80241A60
/* 991234 80241A54 24020002 */ addiu $v0, $zero, 2
/* 991238 80241A58 08090699 */ j .L80241A64
/* 99123C 80241A5C AEE00010 */ sw $zero, 0x10($s7)
.L80241A60:
/* 991240 80241A60 AEE20010 */ sw $v0, 0x10($s7)
.L80241A64:
/* 991244 80241A64 8EE5000C */ lw $a1, 0xc($s7)
/* 991248 80241A68 8EE60010 */ lw $a2, 0x10($s7)
/* 99124C 80241A6C 0C0B7A76 */ jal spr_get_npc_raster_info
/* 991250 80241A70 27A40038 */ addiu $a0, $sp, 0x38
/* 991254 80241A74 97A20042 */ lhu $v0, 0x42($sp)
/* 991258 80241A78 8FA30038 */ lw $v1, 0x38($sp)
/* 99125C 80241A7C 8FA4003C */ lw $a0, 0x3c($sp)
/* 991260 80241A80 A7A20028 */ sh $v0, 0x28($sp)
/* 991264 80241A84 3042FFFF */ andi $v0, $v0, 0xffff
/* 991268 80241A88 44820000 */ mtc1 $v0, $f0
/* 99126C 80241A8C 00000000 */ nop
/* 991270 80241A90 46800020 */ cvt.s.w $f0, $f0
/* 991274 80241A94 AFA30020 */ sw $v1, 0x20($sp)
/* 991278 80241A98 AFA40024 */ sw $a0, 0x24($sp)
/* 99127C 80241A9C E6E0004C */ swc1 $f0, 0x4c($s7)
/* 991280 80241AA0 97A20046 */ lhu $v0, 0x46($sp)
/* 991284 80241AA4 A7A2002A */ sh $v0, 0x2a($sp)
/* 991288 80241AA8 3042FFFF */ andi $v0, $v0, 0xffff
/* 99128C 80241AAC 44820000 */ mtc1 $v0, $f0
/* 991290 80241AB0 00000000 */ nop
/* 991294 80241AB4 46800020 */ cvt.s.w $f0, $f0
/* 991298 80241AB8 E6E00050 */ swc1 $f0, 0x50($s7)
/* 99129C 80241ABC 8FA20040 */ lw $v0, 0x40($sp)
/* 9912A0 80241AC0 240300FF */ addiu $v1, $zero, 0xff
/* 9912A4 80241AC4 A3A30030 */ sb $v1, 0x30($sp)
/* 9912A8 80241AC8 00021FC2 */ srl $v1, $v0, 0x1f
/* 9912AC 80241ACC 00431021 */ addu $v0, $v0, $v1
/* 9912B0 80241AD0 00021043 */ sra $v0, $v0, 1
/* 9912B4 80241AD4 8FA30044 */ lw $v1, 0x44($sp)
/* 9912B8 80241AD8 00021023 */ negu $v0, $v0
/* 9912BC 80241ADC A7A2002C */ sh $v0, 0x2c($sp)
/* 9912C0 80241AE0 000317C2 */ srl $v0, $v1, 0x1f
/* 9912C4 80241AE4 00621821 */ addu $v1, $v1, $v0
/* 9912C8 80241AE8 00031843 */ sra $v1, $v1, 1
/* 9912CC 80241AEC A7A3002E */ sh $v1, 0x2e($sp)
/* 9912D0 80241AF0 C6E2003C */ lwc1 $f2, 0x3c($s7)
/* 9912D4 80241AF4 C6E00044 */ lwc1 $f0, 0x44($s7)
/* 9912D8 80241AF8 C6E40040 */ lwc1 $f4, 0x40($s7)
/* 9912DC 80241AFC 4600018D */ trunc.w.s $f6, $f0
/* 9912E0 80241B00 E7A60010 */ swc1 $f6, 0x10($sp)
/* 9912E4 80241B04 C6E00048 */ lwc1 $f0, 0x48($s7)
/* 9912E8 80241B08 4600118D */ trunc.w.s $f6, $f2
/* 9912EC 80241B0C 44063000 */ mfc1 $a2, $f6
/* 9912F0 80241B10 AFA00018 */ sw $zero, 0x18($sp)
/* 9912F4 80241B14 4600018D */ trunc.w.s $f6, $f0
/* 9912F8 80241B18 E7A60014 */ swc1 $f6, 0x14($sp)
/* 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 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 fold_appendGfx_component
/* 991320 80241B40 27A70048 */ addiu $a3, $sp, 0x48
/* 991324 80241B44 3C05D838 */ lui $a1, 0xd838
/* 991328 80241B48 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 99132C 80241B4C 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 991330 80241B50 8C620000 */ lw $v0, ($v1)
/* 991334 80241B54 34A50002 */ ori $a1, $a1, 2
/* 991338 80241B58 0040202D */ daddu $a0, $v0, $zero
/* 99133C 80241B5C 24420008 */ addiu $v0, $v0, 8
/* 991340 80241B60 AC620000 */ sw $v0, ($v1)
/* 991344 80241B64 24020040 */ addiu $v0, $zero, 0x40
/* 991348 80241B68 AC850000 */ sw $a1, ($a0)
/* 99134C 80241B6C AC820004 */ sw $v0, 4($a0)
/* 991350 80241B70 8FBF00F4 */ lw $ra, 0xf4($sp)
/* 991354 80241B74 8FBE00F0 */ lw $fp, 0xf0($sp)
/* 991358 80241B78 8FB700EC */ lw $s7, 0xec($sp)
/* 99135C 80241B7C 8FB600E8 */ lw $s6, 0xe8($sp)
/* 991360 80241B80 8FB500E4 */ lw $s5, 0xe4($sp)
/* 991364 80241B84 8FB400E0 */ lw $s4, 0xe0($sp)
/* 991368 80241B88 8FB300DC */ lw $s3, 0xdc($sp)
/* 99136C 80241B8C 8FB200D8 */ lw $s2, 0xd8($sp)
/* 991370 80241B90 8FB100D4 */ lw $s1, 0xd4($sp)
/* 991374 80241B94 8FB000D0 */ lw $s0, 0xd0($sp)
/* 991378 80241B98 D7B60100 */ ldc1 $f22, 0x100($sp)
/* 99137C 80241B9C D7B400F8 */ ldc1 $f20, 0xf8($sp)
/* 991380 80241BA0 03E00008 */ jr $ra
/* 991384 80241BA4 27BD0108 */ addiu $sp, $sp, 0x108

View File

@ -1,99 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80242F38_992718
.double 0.7142857142857143
.section .text
glabel func_80241BA8_991388
/* 991388 80241BA8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 99138C 80241BAC AFB20028 */ sw $s2, 0x28($sp)
/* 991390 80241BB0 0080902D */ daddu $s2, $a0, $zero
/* 991394 80241BB4 AFBF002C */ sw $ra, 0x2c($sp)
/* 991398 80241BB8 AFB10024 */ sw $s1, 0x24($sp)
/* 99139C 80241BBC AFB00020 */ sw $s0, 0x20($sp)
/* 9913A0 80241BC0 8E420148 */ lw $v0, 0x148($s2)
/* 9913A4 80241BC4 0C00EABB */ jal get_npc_unsafe
/* 9913A8 80241BC8 84440008 */ lh $a0, 8($v0)
/* 9913AC 80241BCC 24040054 */ addiu $a0, $zero, 0x54
/* 9913B0 80241BD0 0C00AB39 */ jal heap_malloc
/* 9913B4 80241BD4 0040882D */ daddu $s1, $v0, $zero
/* 9913B8 80241BD8 27A40010 */ addiu $a0, $sp, 0x10
/* 9913BC 80241BDC 0040802D */ daddu $s0, $v0, $zero
/* 9913C0 80241BE0 24020035 */ addiu $v0, $zero, 0x35
/* 9913C4 80241BE4 AE02000C */ sw $v0, 0xc($s0)
/* 9913C8 80241BE8 0040282D */ daddu $a1, $v0, $zero
/* 9913CC 80241BEC 0000302D */ daddu $a2, $zero, $zero
/* 9913D0 80241BF0 AE000000 */ sw $zero, ($s0)
/* 9913D4 80241BF4 0C0B7A76 */ jal spr_get_npc_raster_info
/* 9913D8 80241BF8 AE000010 */ sw $zero, 0x10($s0)
/* 9913DC 80241BFC C7A00018 */ lwc1 $f0, 0x18($sp)
/* 9913E0 80241C00 46800020 */ cvt.s.w $f0, $f0
/* 9913E4 80241C04 E600004C */ swc1 $f0, 0x4c($s0)
/* 9913E8 80241C08 C7A0001C */ lwc1 $f0, 0x1c($sp)
/* 9913EC 80241C0C 46800020 */ cvt.s.w $f0, $f0
/* 9913F0 80241C10 E6000050 */ swc1 $f0, 0x50($s0)
/* 9913F4 80241C14 46000086 */ mov.s $f2, $f0
/* 9913F8 80241C18 3C018024 */ lui $at, %hi(D_80242F38_992718)
/* 9913FC 80241C1C D4202F38 */ ldc1 $f0, %lo(D_80242F38_992718)($at)
/* 991400 80241C20 460010A1 */ cvt.d.s $f2, $f2
/* 991404 80241C24 46201082 */ mul.d $f2, $f2, $f0
/* 991408 80241C28 00000000 */ nop
/* 99140C 80241C2C 3C013FE0 */ lui $at, 0x3fe0
/* 991410 80241C30 44810800 */ mtc1 $at, $f1
/* 991414 80241C34 44800000 */ mtc1 $zero, $f0
/* 991418 80241C38 00000000 */ nop
/* 99141C 80241C3C 46201082 */ mul.d $f2, $f2, $f0
/* 991420 80241C40 00000000 */ nop
/* 991424 80241C44 3C014270 */ lui $at, 0x4270
/* 991428 80241C48 44813000 */ mtc1 $at, $f6
/* 99142C 80241C4C C6200038 */ lwc1 $f0, 0x38($s1)
/* 991430 80241C50 0000202D */ daddu $a0, $zero, $zero
/* 991434 80241C54 E6000014 */ swc1 $f0, 0x14($s0)
/* 991438 80241C58 C620003C */ lwc1 $f0, 0x3c($s1)
/* 99143C 80241C5C 3C01437F */ lui $at, 0x437f
/* 991440 80241C60 44812000 */ mtc1 $at, $f4
/* 991444 80241C64 46000021 */ cvt.d.s $f0, $f0
/* 991448 80241C68 46220000 */ add.d $f0, $f0, $f2
/* 99144C 80241C6C 3C014300 */ lui $at, 0x4300
/* 991450 80241C70 44814000 */ mtc1 $at, $f8
/* 991454 80241C74 3C0142B4 */ lui $at, 0x42b4
/* 991458 80241C78 44811000 */ mtc1 $at, $f2
/* 99145C 80241C7C 46200020 */ cvt.s.d $f0, $f0
/* 991460 80241C80 E6000018 */ swc1 $f0, 0x18($s0)
/* 991464 80241C84 C62A0040 */ lwc1 $f10, 0x40($s1)
/* 991468 80241C88 3C013F36 */ lui $at, 0x3f36
/* 99146C 80241C8C 3421DB6E */ ori $at, $at, 0xdb6e
/* 991470 80241C90 44810000 */ mtc1 $at, $f0
/* 991474 80241C94 3C058024 */ lui $a1, %hi(func_80241610_990DF0)
/* 991478 80241C98 24A51610 */ addiu $a1, $a1, %lo(func_80241610_990DF0)
/* 99147C 80241C9C AE000020 */ sw $zero, 0x20($s0)
/* 991480 80241CA0 AE000024 */ sw $zero, 0x24($s0)
/* 991484 80241CA4 E6020028 */ swc1 $f2, 0x28($s0)
/* 991488 80241CA8 E6060038 */ swc1 $f6, 0x38($s0)
/* 99148C 80241CAC E604003C */ swc1 $f4, 0x3c($s0)
/* 991490 80241CB0 E6080040 */ swc1 $f8, 0x40($s0)
/* 991494 80241CB4 E6040044 */ swc1 $f4, 0x44($s0)
/* 991498 80241CB8 AE000048 */ sw $zero, 0x48($s0)
/* 99149C 80241CBC AE000004 */ sw $zero, 4($s0)
/* 9914A0 80241CC0 E600002C */ swc1 $f0, 0x2c($s0)
/* 9914A4 80241CC4 E6000030 */ swc1 $f0, 0x30($s0)
/* 9914A8 80241CC8 E6000034 */ swc1 $f0, 0x34($s0)
/* 9914AC 80241CCC 0C048C8F */ jal create_generic_entity_frontUI
/* 9914B0 80241CD0 E60A001C */ swc1 $f10, 0x1c($s0)
/* 9914B4 80241CD4 0240202D */ daddu $a0, $s2, $zero
/* 9914B8 80241CD8 3C05FD05 */ lui $a1, 0xfd05
/* 9914BC 80241CDC 34A50F8A */ ori $a1, $a1, 0xf8a
/* 9914C0 80241CE0 0200302D */ daddu $a2, $s0, $zero
/* 9914C4 80241CE4 0C0B2026 */ jal evt_set_variable
/* 9914C8 80241CE8 ACC20008 */ sw $v0, 8($a2)
/* 9914CC 80241CEC 8FBF002C */ lw $ra, 0x2c($sp)
/* 9914D0 80241CF0 8FB20028 */ lw $s2, 0x28($sp)
/* 9914D4 80241CF4 8FB10024 */ lw $s1, 0x24($sp)
/* 9914D8 80241CF8 8FB00020 */ lw $s0, 0x20($sp)
/* 9914DC 80241CFC 24020002 */ addiu $v0, $zero, 2
/* 9914E0 80241D00 03E00008 */ jr $ra
/* 9914E4 80241D04 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241D08_9914E8
/* 9914E8 80241D08 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 9914EC 80241D0C 3C05FD05 */ lui $a1, 0xfd05
/* 9914F0 80241D10 AFBF0010 */ sw $ra, 0x10($sp)
/* 9914F4 80241D14 0C0B1EAF */ jal evt_get_variable
/* 9914F8 80241D18 34A50F8A */ ori $a1, $a1, 0xf8a
/* 9914FC 80241D1C 8C440008 */ lw $a0, 8($v0)
/* 991500 80241D20 0C048D70 */ jal free_generic_entity
/* 991504 80241D24 00000000 */ nop
/* 991508 80241D28 8FBF0010 */ lw $ra, 0x10($sp)
/* 99150C 80241D2C 24020002 */ addiu $v0, $zero, 2
/* 991510 80241D30 03E00008 */ jr $ra
/* 991514 80241D34 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,74 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80242F40_992720
.double 0.7142857142857143, 0.0
.section .text
glabel func_80241D38_991518
/* 991518 80241D38 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 99151C 80241D3C AFB10014 */ sw $s1, 0x14($sp)
/* 991520 80241D40 0080882D */ daddu $s1, $a0, $zero
/* 991524 80241D44 AFBF0020 */ sw $ra, 0x20($sp)
/* 991528 80241D48 AFB3001C */ sw $s3, 0x1c($sp)
/* 99152C 80241D4C AFB20018 */ sw $s2, 0x18($sp)
/* 991530 80241D50 AFB00010 */ sw $s0, 0x10($sp)
/* 991534 80241D54 8E30000C */ lw $s0, 0xc($s1)
/* 991538 80241D58 8E050000 */ lw $a1, ($s0)
/* 99153C 80241D5C 0C0B210B */ jal evt_get_float_variable
/* 991540 80241D60 26100004 */ addiu $s0, $s0, 4
/* 991544 80241D64 8E050000 */ lw $a1, ($s0)
/* 991548 80241D68 26100004 */ addiu $s0, $s0, 4
/* 99154C 80241D6C 4600010D */ trunc.w.s $f4, $f0
/* 991550 80241D70 44132000 */ mfc1 $s3, $f4
/* 991554 80241D74 0C0B210B */ jal evt_get_float_variable
/* 991558 80241D78 0220202D */ daddu $a0, $s1, $zero
/* 99155C 80241D7C 8E050000 */ lw $a1, ($s0)
/* 991560 80241D80 4600010D */ trunc.w.s $f4, $f0
/* 991564 80241D84 44122000 */ mfc1 $s2, $f4
/* 991568 80241D88 0C0B210B */ jal evt_get_float_variable
/* 99156C 80241D8C 0220202D */ daddu $a0, $s1, $zero
/* 991570 80241D90 0220202D */ daddu $a0, $s1, $zero
/* 991574 80241D94 3C05FD05 */ lui $a1, 0xfd05
/* 991578 80241D98 4600010D */ trunc.w.s $f4, $f0
/* 99157C 80241D9C 44102000 */ mfc1 $s0, $f4
/* 991580 80241DA0 0C0B1EAF */ jal evt_get_variable
/* 991584 80241DA4 34A50F8A */ ori $a1, $a1, 0xf8a
/* 991588 80241DA8 0040182D */ daddu $v1, $v0, $zero
/* 99158C 80241DAC C4600050 */ lwc1 $f0, 0x50($v1)
/* 991590 80241DB0 3C018024 */ lui $at, %hi(D_80242F40_992720)
/* 991594 80241DB4 D4222F40 */ ldc1 $f2, %lo(D_80242F40_992720)($at)
/* 991598 80241DB8 46000021 */ cvt.d.s $f0, $f0
/* 99159C 80241DBC 46220002 */ mul.d $f0, $f0, $f2
/* 9915A0 80241DC0 00000000 */ nop
/* 9915A4 80241DC4 3C013FE0 */ lui $at, 0x3fe0
/* 9915A8 80241DC8 44811800 */ mtc1 $at, $f3
/* 9915AC 80241DCC 44801000 */ mtc1 $zero, $f2
/* 9915B0 80241DD0 00000000 */ nop
/* 9915B4 80241DD4 46220002 */ mul.d $f0, $f0, $f2
/* 9915B8 80241DD8 00000000 */ nop
/* 9915BC 80241DDC 44931000 */ mtc1 $s3, $f2
/* 9915C0 80241DE0 00000000 */ nop
/* 9915C4 80241DE4 468010A0 */ cvt.s.w $f2, $f2
/* 9915C8 80241DE8 E4620014 */ swc1 $f2, 0x14($v1)
/* 9915CC 80241DEC 44921000 */ mtc1 $s2, $f2
/* 9915D0 80241DF0 00000000 */ nop
/* 9915D4 80241DF4 468010A1 */ cvt.d.w $f2, $f2
/* 9915D8 80241DF8 46201080 */ add.d $f2, $f2, $f0
/* 9915DC 80241DFC 44900000 */ mtc1 $s0, $f0
/* 9915E0 80241E00 00000000 */ nop
/* 9915E4 80241E04 46800020 */ cvt.s.w $f0, $f0
/* 9915E8 80241E08 E460001C */ swc1 $f0, 0x1c($v1)
/* 9915EC 80241E0C 462010A0 */ cvt.s.d $f2, $f2
/* 9915F0 80241E10 E4620018 */ swc1 $f2, 0x18($v1)
/* 9915F4 80241E14 8FBF0020 */ lw $ra, 0x20($sp)
/* 9915F8 80241E18 8FB3001C */ lw $s3, 0x1c($sp)
/* 9915FC 80241E1C 8FB20018 */ lw $s2, 0x18($sp)
/* 991600 80241E20 8FB10014 */ lw $s1, 0x14($sp)
/* 991604 80241E24 8FB00010 */ lw $s0, 0x10($sp)
/* 991608 80241E28 24020002 */ addiu $v0, $zero, 2
/* 99160C 80241E2C 03E00008 */ jr $ra
/* 991610 80241E30 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,53 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241E34_991614
/* 991614 80241E34 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 991618 80241E38 AFB10014 */ sw $s1, 0x14($sp)
/* 99161C 80241E3C 0080882D */ daddu $s1, $a0, $zero
/* 991620 80241E40 AFBF0020 */ sw $ra, 0x20($sp)
/* 991624 80241E44 AFB3001C */ sw $s3, 0x1c($sp)
/* 991628 80241E48 AFB20018 */ sw $s2, 0x18($sp)
/* 99162C 80241E4C AFB00010 */ sw $s0, 0x10($sp)
/* 991630 80241E50 8E30000C */ lw $s0, 0xc($s1)
/* 991634 80241E54 8E050000 */ lw $a1, ($s0)
/* 991638 80241E58 0C0B210B */ jal evt_get_float_variable
/* 99163C 80241E5C 26100004 */ addiu $s0, $s0, 4
/* 991640 80241E60 8E050000 */ lw $a1, ($s0)
/* 991644 80241E64 26100004 */ addiu $s0, $s0, 4
/* 991648 80241E68 4600008D */ trunc.w.s $f2, $f0
/* 99164C 80241E6C 44131000 */ mfc1 $s3, $f2
/* 991650 80241E70 0C0B210B */ jal evt_get_float_variable
/* 991654 80241E74 0220202D */ daddu $a0, $s1, $zero
/* 991658 80241E78 8E050000 */ lw $a1, ($s0)
/* 99165C 80241E7C 4600008D */ trunc.w.s $f2, $f0
/* 991660 80241E80 44121000 */ mfc1 $s2, $f2
/* 991664 80241E84 0C0B210B */ jal evt_get_float_variable
/* 991668 80241E88 0220202D */ daddu $a0, $s1, $zero
/* 99166C 80241E8C 0220202D */ daddu $a0, $s1, $zero
/* 991670 80241E90 3C05FD05 */ lui $a1, 0xfd05
/* 991674 80241E94 4600008D */ trunc.w.s $f2, $f0
/* 991678 80241E98 44101000 */ mfc1 $s0, $f2
/* 99167C 80241E9C 0C0B1EAF */ jal evt_get_variable
/* 991680 80241EA0 34A50F8A */ ori $a1, $a1, 0xf8a
/* 991684 80241EA4 0040182D */ daddu $v1, $v0, $zero
/* 991688 80241EA8 44930000 */ mtc1 $s3, $f0
/* 99168C 80241EAC 00000000 */ nop
/* 991690 80241EB0 46800020 */ cvt.s.w $f0, $f0
/* 991694 80241EB4 E4600020 */ swc1 $f0, 0x20($v1)
/* 991698 80241EB8 44920000 */ mtc1 $s2, $f0
/* 99169C 80241EBC 00000000 */ nop
/* 9916A0 80241EC0 46800020 */ cvt.s.w $f0, $f0
/* 9916A4 80241EC4 E4600024 */ swc1 $f0, 0x24($v1)
/* 9916A8 80241EC8 44900000 */ mtc1 $s0, $f0
/* 9916AC 80241ECC 00000000 */ nop
/* 9916B0 80241ED0 46800020 */ cvt.s.w $f0, $f0
/* 9916B4 80241ED4 E4600028 */ swc1 $f0, 0x28($v1)
/* 9916B8 80241ED8 8FBF0020 */ lw $ra, 0x20($sp)
/* 9916BC 80241EDC 8FB3001C */ lw $s3, 0x1c($sp)
/* 9916C0 80241EE0 8FB20018 */ lw $s2, 0x18($sp)
/* 9916C4 80241EE4 8FB10014 */ lw $s1, 0x14($sp)
/* 9916C8 80241EE8 8FB00010 */ lw $s0, 0x10($sp)
/* 9916CC 80241EEC 24020002 */ addiu $v0, $zero, 2
/* 9916D0 80241EF0 03E00008 */ jr $ra
/* 9916D4 80241EF4 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,95 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241EF8_9916D8
/* 9916D8 80241EF8 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 9916DC 80241EFC AFB10014 */ sw $s1, 0x14($sp)
/* 9916E0 80241F00 0080882D */ daddu $s1, $a0, $zero
/* 9916E4 80241F04 3C05FD05 */ lui $a1, 0xfd05
/* 9916E8 80241F08 AFBF001C */ sw $ra, 0x1c($sp)
/* 9916EC 80241F0C AFB20018 */ sw $s2, 0x18($sp)
/* 9916F0 80241F10 AFB00010 */ sw $s0, 0x10($sp)
/* 9916F4 80241F14 F7B80030 */ sdc1 $f24, 0x30($sp)
/* 9916F8 80241F18 F7B60028 */ sdc1 $f22, 0x28($sp)
/* 9916FC 80241F1C F7B40020 */ sdc1 $f20, 0x20($sp)
/* 991700 80241F20 8E30000C */ lw $s0, 0xc($s1)
/* 991704 80241F24 0C0B1EAF */ jal evt_get_variable
/* 991708 80241F28 34A50F8A */ ori $a1, $a1, 0xf8a
/* 99170C 80241F2C 0220202D */ daddu $a0, $s1, $zero
/* 991710 80241F30 0040902D */ daddu $s2, $v0, $zero
/* 991714 80241F34 8E050000 */ lw $a1, ($s0)
/* 991718 80241F38 0C0B210B */ jal evt_get_float_variable
/* 99171C 80241F3C 26100004 */ addiu $s0, $s0, 4
/* 991720 80241F40 46000606 */ mov.s $f24, $f0
/* 991724 80241F44 8E050000 */ lw $a1, ($s0)
/* 991728 80241F48 26100004 */ addiu $s0, $s0, 4
/* 99172C 80241F4C 0C0B210B */ jal evt_get_float_variable
/* 991730 80241F50 0220202D */ daddu $a0, $s1, $zero
/* 991734 80241F54 46000586 */ mov.s $f22, $f0
/* 991738 80241F58 8E050000 */ lw $a1, ($s0)
/* 99173C 80241F5C 26100004 */ addiu $s0, $s0, 4
/* 991740 80241F60 0C0B210B */ jal evt_get_float_variable
/* 991744 80241F64 0220202D */ daddu $a0, $s1, $zero
/* 991748 80241F68 46000506 */ mov.s $f20, $f0
/* 99174C 80241F6C 8E050000 */ lw $a1, ($s0)
/* 991750 80241F70 0C0B210B */ jal evt_get_float_variable
/* 991754 80241F74 0220202D */ daddu $a0, $s1, $zero
/* 991758 80241F78 44801000 */ mtc1 $zero, $f2
/* 99175C 80241F7C 00000000 */ nop
/* 991760 80241F80 4602C03C */ c.lt.s $f24, $f2
/* 991764 80241F84 00000000 */ nop
/* 991768 80241F88 45030001 */ bc1tl .L80241F90
/* 99176C 80241F8C 46001606 */ mov.s $f24, $f2
.L80241F90:
/* 991770 80241F90 4602B03C */ c.lt.s $f22, $f2
/* 991774 80241F94 00000000 */ nop
/* 991778 80241F98 45030001 */ bc1tl .L80241FA0
/* 99177C 80241F9C 46001586 */ mov.s $f22, $f2
.L80241FA0:
/* 991780 80241FA0 4602A03C */ c.lt.s $f20, $f2
/* 991784 80241FA4 00000000 */ nop
/* 991788 80241FA8 45030001 */ bc1tl .L80241FB0
/* 99178C 80241FAC 46001506 */ mov.s $f20, $f2
.L80241FB0:
/* 991790 80241FB0 4602003C */ c.lt.s $f0, $f2
/* 991794 80241FB4 00000000 */ nop
/* 991798 80241FB8 45030001 */ bc1tl .L80241FC0
/* 99179C 80241FBC 46001006 */ mov.s $f0, $f2
.L80241FC0:
/* 9917A0 80241FC0 3C01437F */ lui $at, 0x437f
/* 9917A4 80241FC4 44811000 */ mtc1 $at, $f2
/* 9917A8 80241FC8 00000000 */ nop
/* 9917AC 80241FCC 4618103C */ c.lt.s $f2, $f24
/* 9917B0 80241FD0 00000000 */ nop
/* 9917B4 80241FD4 45030001 */ bc1tl .L80241FDC
/* 9917B8 80241FD8 46001606 */ mov.s $f24, $f2
.L80241FDC:
/* 9917BC 80241FDC 4616103C */ c.lt.s $f2, $f22
/* 9917C0 80241FE0 00000000 */ nop
/* 9917C4 80241FE4 45030001 */ bc1tl .L80241FEC
/* 9917C8 80241FE8 46001586 */ mov.s $f22, $f2
.L80241FEC:
/* 9917CC 80241FEC 4614103C */ c.lt.s $f2, $f20
/* 9917D0 80241FF0 00000000 */ nop
/* 9917D4 80241FF4 45030001 */ bc1tl .L80241FFC
/* 9917D8 80241FF8 46001506 */ mov.s $f20, $f2
.L80241FFC:
/* 9917DC 80241FFC 4600103C */ c.lt.s $f2, $f0
/* 9917E0 80242000 00000000 */ nop
/* 9917E4 80242004 45030001 */ bc1tl .L8024200C
/* 9917E8 80242008 46001006 */ mov.s $f0, $f2
.L8024200C:
/* 9917EC 8024200C E658003C */ swc1 $f24, 0x3c($s2)
/* 9917F0 80242010 E6560040 */ swc1 $f22, 0x40($s2)
/* 9917F4 80242014 E6540044 */ swc1 $f20, 0x44($s2)
/* 9917F8 80242018 E6400048 */ swc1 $f0, 0x48($s2)
/* 9917FC 8024201C 8FBF001C */ lw $ra, 0x1c($sp)
/* 991800 80242020 8FB20018 */ lw $s2, 0x18($sp)
/* 991804 80242024 8FB10014 */ lw $s1, 0x14($sp)
/* 991808 80242028 8FB00010 */ lw $s0, 0x10($sp)
/* 99180C 8024202C D7B80030 */ ldc1 $f24, 0x30($sp)
/* 991810 80242030 D7B60028 */ ldc1 $f22, 0x28($sp)
/* 991814 80242034 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 991818 80242038 24020002 */ addiu $v0, $zero, 2
/* 99181C 8024203C 03E00008 */ jr $ra
/* 991820 80242040 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242044_991824
/* 991824 80242044 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 991828 80242048 3C05FD05 */ lui $a1, 0xfd05
/* 99182C 8024204C AFBF0010 */ sw $ra, 0x10($sp)
/* 991830 80242050 0C0B1EAF */ jal evt_get_variable
/* 991834 80242054 34A50F8A */ ori $a1, $a1, 0xf8a
/* 991838 80242058 24030001 */ addiu $v1, $zero, 1
/* 99183C 8024205C AC430000 */ sw $v1, ($v0)
/* 991840 80242060 8FBF0010 */ lw $ra, 0x10($sp)
/* 991844 80242064 24020002 */ addiu $v0, $zero, 2
/* 991848 80242068 03E00008 */ jr $ra
/* 99184C 8024206C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,254 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802411F8_993928
/* 993928 802411F8 27BDFF98 */ addiu $sp, $sp, -0x68
/* 99392C 802411FC AFBF0034 */ sw $ra, 0x34($sp)
/* 993930 80241200 AFB40030 */ sw $s4, 0x30($sp)
/* 993934 80241204 AFB3002C */ sw $s3, 0x2c($sp)
/* 993938 80241208 AFB20028 */ sw $s2, 0x28($sp)
/* 99393C 8024120C AFB10024 */ sw $s1, 0x24($sp)
/* 993940 80241210 AFB00020 */ sw $s0, 0x20($sp)
/* 993944 80241214 F7BE0060 */ sdc1 $f30, 0x60($sp)
/* 993948 80241218 F7BC0058 */ sdc1 $f28, 0x58($sp)
/* 99394C 8024121C F7BA0050 */ sdc1 $f26, 0x50($sp)
/* 993950 80241220 F7B80048 */ sdc1 $f24, 0x48($sp)
/* 993954 80241224 F7B60040 */ sdc1 $f22, 0x40($sp)
/* 993958 80241228 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 99395C 8024122C 8C820148 */ lw $v0, 0x148($a0)
/* 993960 80241230 8C84014C */ lw $a0, 0x14c($a0)
/* 993964 80241234 C45A006C */ lwc1 $f26, 0x6c($v0)
/* 993968 80241238 0C00EAD2 */ jal get_npc_safe
/* 99396C 8024123C 4680D6A0 */ cvt.s.w $f26, $f26
/* 993970 80241240 0040A02D */ daddu $s4, $v0, $zero
/* 993974 80241244 8E930020 */ lw $s3, 0x20($s4)
/* 993978 80241248 868200A8 */ lh $v0, 0xa8($s4)
/* 99397C 8024124C 3C013E4C */ lui $at, 0x3e4c
/* 993980 80241250 3421CCCD */ ori $at, $at, 0xcccd
/* 993984 80241254 44810000 */ mtc1 $at, $f0
/* 993988 80241258 C6860038 */ lwc1 $f6, 0x38($s4)
/* 99398C 8024125C 44821000 */ mtc1 $v0, $f2
/* 993990 80241260 00000000 */ nop
/* 993994 80241264 468010A0 */ cvt.s.w $f2, $f2
/* 993998 80241268 46001082 */ mul.s $f2, $f2, $f0
/* 99399C 8024126C 00000000 */ nop
/* 9939A0 80241270 C688003C */ lwc1 $f8, 0x3c($s4)
/* 9939A4 80241274 3C014334 */ lui $at, 0x4334
/* 9939A8 80241278 44816000 */ mtc1 $at, $f12
/* 9939AC 8024127C C6800034 */ lwc1 $f0, 0x34($s4)
/* 9939B0 80241280 C6840040 */ lwc1 $f4, 0x40($s4)
/* 9939B4 80241284 460C0300 */ add.s $f12, $f0, $f12
/* 9939B8 80241288 E7A60018 */ swc1 $f6, 0x18($sp)
/* 9939BC 8024128C E7A4001C */ swc1 $f4, 0x1c($sp)
/* 9939C0 80241290 0C00A6C9 */ jal clamp_angle
/* 9939C4 80241294 46024500 */ add.s $f20, $f8, $f2
/* 9939C8 80241298 868200A6 */ lh $v0, 0xa6($s4)
/* 9939CC 8024129C 3C013E99 */ lui $at, 0x3e99
/* 9939D0 802412A0 3421999A */ ori $at, $at, 0x999a
/* 9939D4 802412A4 44812000 */ mtc1 $at, $f4
/* 9939D8 802412A8 44821000 */ mtc1 $v0, $f2
/* 9939DC 802412AC 00000000 */ nop
/* 9939E0 802412B0 468010A0 */ cvt.s.w $f2, $f2
/* 9939E4 802412B4 46041082 */ mul.s $f2, $f2, $f4
/* 9939E8 802412B8 00000000 */ nop
/* 9939EC 802412BC 27A40018 */ addiu $a0, $sp, 0x18
/* 9939F0 802412C0 44070000 */ mfc1 $a3, $f0
/* 9939F4 802412C4 44061000 */ mfc1 $a2, $f2
/* 9939F8 802412C8 0C00A7E7 */ jal add_vec2D_polar
/* 9939FC 802412CC 27A5001C */ addiu $a1, $sp, 0x1c
/* 993A00 802412D0 8E820000 */ lw $v0, ($s4)
/* 993A04 802412D4 30420002 */ andi $v0, $v0, 2
/* 993A08 802412D8 1040000D */ beqz $v0, .L80241310
/* 993A0C 802412DC 0000902D */ daddu $s2, $zero, $zero
/* 993A10 802412E0 C7A20018 */ lwc1 $f2, 0x18($sp)
/* 993A14 802412E4 C7A0001C */ lwc1 $f0, 0x1c($sp)
.L802412E8:
/* 993A18 802412E8 26520001 */ addiu $s2, $s2, 1
/* 993A1C 802412EC 8E700000 */ lw $s0, ($s3)
/* 993A20 802412F0 26730010 */ addiu $s3, $s3, 0x10
/* 993A24 802412F4 2A420008 */ slti $v0, $s2, 8
/* 993A28 802412F8 E6020038 */ swc1 $f2, 0x38($s0)
/* 993A2C 802412FC E614003C */ swc1 $f20, 0x3c($s0)
/* 993A30 80241300 1440FFF9 */ bnez $v0, .L802412E8
/* 993A34 80241304 E6000040 */ swc1 $f0, 0x40($s0)
/* 993A38 80241308 08090562 */ j .L80241588
/* 993A3C 8024130C 0000102D */ daddu $v0, $zero, $zero
.L80241310:
/* 993A40 80241310 26710008 */ addiu $s1, $s3, 8
/* 993A44 80241314 3C014024 */ lui $at, 0x4024
/* 993A48 80241318 4481C800 */ mtc1 $at, $f25
/* 993A4C 8024131C 4480C000 */ mtc1 $zero, $f24
/* 993A50 80241320 3C013F4C */ lui $at, 0x3f4c
/* 993A54 80241324 3421CCCD */ ori $at, $at, 0xcccd
/* 993A58 80241328 4481B000 */ mtc1 $at, $f22
/* 993A5C 8024132C 3C013F33 */ lui $at, 0x3f33
/* 993A60 80241330 34213333 */ ori $at, $at, 0x3333
/* 993A64 80241334 4481E000 */ mtc1 $at, $f28
/* 993A68 80241338 3C01C120 */ lui $at, 0xc120
/* 993A6C 8024133C 4481F000 */ mtc1 $at, $f30
.L80241340:
/* 993A70 80241340 8E700000 */ lw $s0, ($s3)
/* 993A74 80241344 C7A20018 */ lwc1 $f2, 0x18($sp)
/* 993A78 80241348 E7B40010 */ swc1 $f20, 0x10($sp)
/* 993A7C 8024134C C7A0001C */ lwc1 $f0, 0x1c($sp)
/* 993A80 80241350 E7A00014 */ swc1 $f0, 0x14($sp)
/* 993A84 80241354 C60C0038 */ lwc1 $f12, 0x38($s0)
/* 993A88 80241358 C60E003C */ lwc1 $f14, 0x3c($s0)
/* 993A8C 8024135C 8E060040 */ lw $a2, 0x40($s0)
/* 993A90 80241360 44071000 */ mfc1 $a3, $f2
/* 993A94 80241364 0C00A7CB */ jal dist3D
/* 993A98 80241368 00000000 */ nop
/* 993A9C 8024136C 46000021 */ cvt.d.s $f0, $f0
/* 993AA0 80241370 4620C03E */ c.le.d $f24, $f0
/* 993AA4 80241374 00000000 */ nop
/* 993AA8 80241378 45000047 */ bc1f .L80241498
/* 993AAC 8024137C 00000000 */ nop
/* 993AB0 80241380 C60C0038 */ lwc1 $f12, 0x38($s0)
/* 993AB4 80241384 C7A40018 */ lwc1 $f4, 0x18($sp)
/* 993AB8 80241388 46046301 */ sub.s $f12, $f12, $f4
/* 993ABC 8024138C 46166302 */ mul.s $f12, $f12, $f22
/* 993AC0 80241390 00000000 */ nop
/* 993AC4 80241394 C6000040 */ lwc1 $f0, 0x40($s0)
/* 993AC8 80241398 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* 993ACC 8024139C 46020001 */ sub.s $f0, $f0, $f2
/* 993AD0 802413A0 46160002 */ mul.s $f0, $f0, $f22
/* 993AD4 802413A4 00000000 */ nop
/* 993AD8 802413A8 E7B40010 */ swc1 $f20, 0x10($sp)
/* 993ADC 802413AC E7A20014 */ swc1 $f2, 0x14($sp)
/* 993AE0 802413B0 46020000 */ add.s $f0, $f0, $f2
/* 993AE4 802413B4 C60E003C */ lwc1 $f14, 0x3c($s0)
/* 993AE8 802413B8 44072000 */ mfc1 $a3, $f4
/* 993AEC 802413BC 44060000 */ mfc1 $a2, $f0
/* 993AF0 802413C0 0C00A7CB */ jal dist3D
/* 993AF4 802413C4 46046300 */ add.s $f12, $f12, $f4
/* 993AF8 802413C8 C6080038 */ lwc1 $f8, 0x38($s0)
/* 993AFC 802413CC C7A20018 */ lwc1 $f2, 0x18($sp)
/* 993B00 802413D0 46024201 */ sub.s $f8, $f8, $f2
/* 993B04 802413D4 46164202 */ mul.s $f8, $f8, $f22
/* 993B08 802413D8 00000000 */ nop
/* 993B0C 802413DC C606003C */ lwc1 $f6, 0x3c($s0)
/* 993B10 802413E0 46000021 */ cvt.d.s $f0, $f0
/* 993B14 802413E4 46143181 */ sub.s $f6, $f6, $f20
/* 993B18 802413E8 4620C003 */ div.d $f0, $f24, $f0
/* 993B1C 802413EC 46200020 */ cvt.s.d $f0, $f0
/* 993B20 802413F0 46003182 */ mul.s $f6, $f6, $f0
/* 993B24 802413F4 00000000 */ nop
/* 993B28 802413F8 C6040040 */ lwc1 $f4, 0x40($s0)
/* 993B2C 802413FC C7AA001C */ lwc1 $f10, 0x1c($sp)
/* 993B30 80241400 460A2101 */ sub.s $f4, $f4, $f10
/* 993B34 80241404 46162102 */ mul.s $f4, $f4, $f22
/* 993B38 80241408 00000000 */ nop
/* 993B3C 8024140C 46004202 */ mul.s $f8, $f8, $f0
/* 993B40 80241410 00000000 */ nop
/* 993B44 80241414 46002102 */ mul.s $f4, $f4, $f0
/* 993B48 80241418 00000000 */ nop
/* 993B4C 8024141C 46024200 */ add.s $f8, $f8, $f2
/* 993B50 80241420 C6020038 */ lwc1 $f2, 0x38($s0)
/* 993B54 80241424 46024081 */ sub.s $f2, $f8, $f2
/* 993B58 80241428 461C1082 */ mul.s $f2, $f2, $f28
/* 993B5C 8024142C 00000000 */ nop
/* 993B60 80241430 4606A500 */ add.s $f20, $f20, $f6
/* 993B64 80241434 E622FFFC */ swc1 $f2, -4($s1)
/* 993B68 80241438 C602003C */ lwc1 $f2, 0x3c($s0)
/* 993B6C 8024143C 4602A081 */ sub.s $f2, $f20, $f2
/* 993B70 80241440 461C1082 */ mul.s $f2, $f2, $f28
/* 993B74 80241444 00000000 */ nop
/* 993B78 80241448 460A2100 */ add.s $f4, $f4, $f10
/* 993B7C 8024144C E6220000 */ swc1 $f2, ($s1)
/* 993B80 80241450 C6000040 */ lwc1 $f0, 0x40($s0)
/* 993B84 80241454 46002001 */ sub.s $f0, $f4, $f0
/* 993B88 80241458 461C0002 */ mul.s $f0, $f0, $f28
/* 993B8C 8024145C 00000000 */ nop
/* 993B90 80241460 3C014120 */ lui $at, 0x4120
/* 993B94 80241464 44818000 */ mtc1 $at, $f16
/* 993B98 80241468 E6200004 */ swc1 $f0, 4($s1)
/* 993B9C 8024146C E6080038 */ swc1 $f8, 0x38($s0)
/* 993BA0 80241470 E614003C */ swc1 $f20, 0x3c($s0)
/* 993BA4 80241474 E6040040 */ swc1 $f4, 0x40($s0)
/* 993BA8 80241478 C6200000 */ lwc1 $f0, ($s1)
/* 993BAC 8024147C E7A80018 */ swc1 $f8, 0x18($sp)
/* 993BB0 80241480 4600803C */ c.lt.s $f16, $f0
/* 993BB4 80241484 00000000 */ nop
/* 993BB8 80241488 45000016 */ bc1f .L802414E4
/* 993BBC 8024148C E7A4001C */ swc1 $f4, 0x1c($sp)
/* 993BC0 80241490 08090539 */ j .L802414E4
/* 993BC4 80241494 E6300000 */ swc1 $f16, ($s1)
.L80241498:
/* 993BC8 80241498 C622FFFC */ lwc1 $f2, -4($s1)
/* 993BCC 8024149C 3C013F66 */ lui $at, 0x3f66
/* 993BD0 802414A0 34216666 */ ori $at, $at, 0x6666
/* 993BD4 802414A4 44818000 */ mtc1 $at, $f16
/* 993BD8 802414A8 00000000 */ nop
/* 993BDC 802414AC 46101082 */ mul.s $f2, $f2, $f16
/* 993BE0 802414B0 00000000 */ nop
/* 993BE4 802414B4 C6200004 */ lwc1 $f0, 4($s1)
/* 993BE8 802414B8 46100002 */ mul.s $f0, $f0, $f16
/* 993BEC 802414BC 00000000 */ nop
/* 993BF0 802414C0 E622FFFC */ swc1 $f2, -4($s1)
/* 993BF4 802414C4 E6200004 */ swc1 $f0, 4($s1)
/* 993BF8 802414C8 C6000038 */ lwc1 $f0, 0x38($s0)
/* 993BFC 802414CC 46020000 */ add.s $f0, $f0, $f2
/* 993C00 802414D0 E6000038 */ swc1 $f0, 0x38($s0)
/* 993C04 802414D4 C6000040 */ lwc1 $f0, 0x40($s0)
/* 993C08 802414D8 C6220004 */ lwc1 $f2, 4($s1)
/* 993C0C 802414DC 46020000 */ add.s $f0, $f0, $f2
/* 993C10 802414E0 E6000040 */ swc1 $f0, 0x40($s0)
.L802414E4:
/* 993C14 802414E4 C6220000 */ lwc1 $f2, ($s1)
/* 993C18 802414E8 3C013F80 */ lui $at, 0x3f80
/* 993C1C 802414EC 44810000 */ mtc1 $at, $f0
/* 993C20 802414F0 00000000 */ nop
/* 993C24 802414F4 46001081 */ sub.s $f2, $f2, $f0
/* 993C28 802414F8 461E103C */ c.lt.s $f2, $f30
/* 993C2C 802414FC 00000000 */ nop
/* 993C30 80241500 45000002 */ bc1f .L8024150C
/* 993C34 80241504 E6220000 */ swc1 $f2, ($s1)
/* 993C38 80241508 E63E0000 */ swc1 $f30, ($s1)
.L8024150C:
/* 993C3C 8024150C C602003C */ lwc1 $f2, 0x3c($s0)
/* 993C40 80241510 C6200000 */ lwc1 $f0, ($s1)
/* 993C44 80241514 46001080 */ add.s $f2, $f2, $f0
/* 993C48 80241518 461A103E */ c.le.s $f2, $f26
/* 993C4C 8024151C 00000000 */ nop
/* 993C50 80241520 4500000C */ bc1f .L80241554
/* 993C54 80241524 E602003C */ swc1 $f2, 0x3c($s0)
/* 993C58 80241528 E61A003C */ swc1 $f26, 0x3c($s0)
/* 993C5C 8024152C C6200000 */ lwc1 $f0, ($s1)
/* 993C60 80241530 3C013FE0 */ lui $at, 0x3fe0
/* 993C64 80241534 44811800 */ mtc1 $at, $f3
/* 993C68 80241538 44801000 */ mtc1 $zero, $f2
/* 993C6C 8024153C 46000007 */ neg.s $f0, $f0
/* 993C70 80241540 46000021 */ cvt.d.s $f0, $f0
/* 993C74 80241544 46220002 */ mul.d $f0, $f0, $f2
/* 993C78 80241548 00000000 */ nop
/* 993C7C 8024154C 46200020 */ cvt.s.d $f0, $f0
/* 993C80 80241550 E6200000 */ swc1 $f0, ($s1)
.L80241554:
/* 993C84 80241554 26520001 */ addiu $s2, $s2, 1
/* 993C88 80241558 26310010 */ addiu $s1, $s1, 0x10
/* 993C8C 8024155C C614003C */ lwc1 $f20, 0x3c($s0)
/* 993C90 80241560 C6000038 */ lwc1 $f0, 0x38($s0)
/* 993C94 80241564 C6020040 */ lwc1 $f2, 0x40($s0)
/* 993C98 80241568 8E820000 */ lw $v0, ($s4)
/* 993C9C 8024156C E7A00018 */ swc1 $f0, 0x18($sp)
/* 993CA0 80241570 E7A2001C */ swc1 $f2, 0x1c($sp)
/* 993CA4 80241574 AE020000 */ sw $v0, ($s0)
/* 993CA8 80241578 2A420008 */ slti $v0, $s2, 8
/* 993CAC 8024157C 1440FF70 */ bnez $v0, .L80241340
/* 993CB0 80241580 26730010 */ addiu $s3, $s3, 0x10
/* 993CB4 80241584 0000102D */ daddu $v0, $zero, $zero
.L80241588:
/* 993CB8 80241588 8FBF0034 */ lw $ra, 0x34($sp)
/* 993CBC 8024158C 8FB40030 */ lw $s4, 0x30($sp)
/* 993CC0 80241590 8FB3002C */ lw $s3, 0x2c($sp)
/* 993CC4 80241594 8FB20028 */ lw $s2, 0x28($sp)
/* 993CC8 80241598 8FB10024 */ lw $s1, 0x24($sp)
/* 993CCC 8024159C 8FB00020 */ lw $s0, 0x20($sp)
/* 993CD0 802415A0 D7BE0060 */ ldc1 $f30, 0x60($sp)
/* 993CD4 802415A4 D7BC0058 */ ldc1 $f28, 0x58($sp)
/* 993CD8 802415A8 D7BA0050 */ ldc1 $f26, 0x50($sp)
/* 993CDC 802415AC D7B80048 */ ldc1 $f24, 0x48($sp)
/* 993CE0 802415B0 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 993CE4 802415B4 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 993CE8 802415B8 03E00008 */ jr $ra
/* 993CEC 802415BC 27BD0068 */ addiu $sp, $sp, 0x68

View File

@ -1,25 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802415C0_993CF0
/* 993CF0 802415C0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 993CF4 802415C4 AFBF0018 */ sw $ra, 0x18($sp)
/* 993CF8 802415C8 AFB10014 */ sw $s1, 0x14($sp)
/* 993CFC 802415CC AFB00010 */ sw $s0, 0x10($sp)
/* 993D00 802415D0 8C84014C */ lw $a0, 0x14c($a0)
/* 993D04 802415D4 0C00EAD2 */ jal get_npc_safe
/* 993D08 802415D8 0000882D */ daddu $s1, $zero, $zero
/* 993D0C 802415DC 8C500020 */ lw $s0, 0x20($v0)
.L802415E0:
/* 993D10 802415E0 8E040000 */ lw $a0, ($s0)
/* 993D14 802415E4 26310001 */ addiu $s1, $s1, 1
/* 993D18 802415E8 0C00E273 */ jal free_npc
/* 993D1C 802415EC 26100010 */ addiu $s0, $s0, 0x10
/* 993D20 802415F0 2A220008 */ slti $v0, $s1, 8
/* 993D24 802415F4 1440FFFA */ bnez $v0, .L802415E0
/* 993D28 802415F8 24020002 */ addiu $v0, $zero, 2
/* 993D2C 802415FC 8FBF0018 */ lw $ra, 0x18($sp)
/* 993D30 80241600 8FB10014 */ lw $s1, 0x14($sp)
/* 993D34 80241604 8FB00010 */ lw $s0, 0x10($sp)
/* 993D38 80241608 03E00008 */ jr $ra
/* 993D3C 8024160C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,317 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241610_993D40
/* 993D40 80241610 27BDFF00 */ addiu $sp, $sp, -0x100
/* 993D44 80241614 3C02DC08 */ lui $v0, 0xdc08
/* 993D48 80241618 AFB700E4 */ sw $s7, 0xe4($sp)
/* 993D4C 8024161C 3C17800A */ lui $s7, %hi(gMasterGfxPos)
/* 993D50 80241620 26F7A66C */ addiu $s7, $s7, %lo(gMasterGfxPos)
/* 993D54 80241624 34420008 */ ori $v0, $v0, 8
/* 993D58 80241628 AFBF00EC */ sw $ra, 0xec($sp)
/* 993D5C 8024162C AFBE00E8 */ sw $fp, 0xe8($sp)
/* 993D60 80241630 AFB600E0 */ sw $s6, 0xe0($sp)
/* 993D64 80241634 AFB500DC */ sw $s5, 0xdc($sp)
/* 993D68 80241638 AFB400D8 */ sw $s4, 0xd8($sp)
/* 993D6C 8024163C AFB300D4 */ sw $s3, 0xd4($sp)
/* 993D70 80241640 AFB200D0 */ sw $s2, 0xd0($sp)
/* 993D74 80241644 AFB100CC */ sw $s1, 0xcc($sp)
/* 993D78 80241648 AFB000C8 */ sw $s0, 0xc8($sp)
/* 993D7C 8024164C F7B600F8 */ sdc1 $f22, 0xf8($sp)
/* 993D80 80241650 F7B400F0 */ sdc1 $f20, 0xf0($sp)
/* 993D84 80241654 8EE50000 */ lw $a1, ($s7)
/* 993D88 80241658 3C168007 */ lui $s6, %hi(gCurrentCameraID)
/* 993D8C 8024165C 26D67410 */ addiu $s6, $s6, %lo(gCurrentCameraID)
/* 993D90 80241660 00A0202D */ daddu $a0, $a1, $zero
/* 993D94 80241664 24A50008 */ addiu $a1, $a1, 8
/* 993D98 80241668 AEE50000 */ sw $a1, ($s7)
/* 993D9C 8024166C AC820000 */ sw $v0, ($a0)
/* 993DA0 80241670 8EC30000 */ lw $v1, ($s6)
/* 993DA4 80241674 3C18800B */ lui $t8, %hi(gCameras)
/* 993DA8 80241678 27181D80 */ addiu $t8, $t8, %lo(gCameras)
/* 993DAC 8024167C 00031080 */ sll $v0, $v1, 2
/* 993DB0 80241680 00431021 */ addu $v0, $v0, $v1
/* 993DB4 80241684 00021080 */ sll $v0, $v0, 2
/* 993DB8 80241688 00431023 */ subu $v0, $v0, $v1
/* 993DBC 8024168C 000218C0 */ sll $v1, $v0, 3
/* 993DC0 80241690 00431021 */ addu $v0, $v0, $v1
/* 993DC4 80241694 000210C0 */ sll $v0, $v0, 3
/* 993DC8 80241698 00583021 */ addu $a2, $v0, $t8
/* 993DCC 8024169C 24C200A0 */ addiu $v0, $a2, 0xa0
/* 993DD0 802416A0 AC820004 */ sw $v0, 4($a0)
/* 993DD4 802416A4 94C20000 */ lhu $v0, ($a2)
/* 993DD8 802416A8 3C1E8024 */ lui $fp, %hi(btl_state_draw_begin_player_turn)
/* 993DDC 802416AC 27DE2AC0 */ addiu $fp, $fp, %lo(btl_state_draw_begin_player_turn)
/* 993DE0 802416B0 30420010 */ andi $v0, $v0, 0x10
/* 993DE4 802416B4 14400007 */ bnez $v0, .L802416D4
/* 993DE8 802416B8 24C400D4 */ addiu $a0, $a2, 0xd4
/* 993DEC 802416BC 3C02DB0E */ lui $v0, 0xdb0e
/* 993DF0 802416C0 ACA20000 */ sw $v0, ($a1)
/* 993DF4 802416C4 94C30038 */ lhu $v1, 0x38($a2)
/* 993DF8 802416C8 24A20008 */ addiu $v0, $a1, 8
/* 993DFC 802416CC AEE20000 */ sw $v0, ($s7)
/* 993E00 802416D0 ACA30004 */ sw $v1, 4($a1)
.L802416D4:
/* 993E04 802416D4 3C180001 */ lui $t8, 1
/* 993E08 802416D8 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 993E0C 802416DC 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 993E10 802416E0 AFB800C0 */ sw $t8, 0xc0($sp)
/* 993E14 802416E4 8EC50000 */ lw $a1, ($s6)
/* 993E18 802416E8 8E420000 */ lw $v0, ($s2)
/* 993E1C 802416EC 00052980 */ sll $a1, $a1, 6
/* 993E20 802416F0 24A50030 */ addiu $a1, $a1, 0x30
/* 993E24 802416F4 0C019D40 */ jal guMtxF2L
/* 993E28 802416F8 00452821 */ addu $a1, $v0, $a1
/* 993E2C 802416FC 3C03DA38 */ lui $v1, 0xda38
/* 993E30 80241700 34630007 */ ori $v1, $v1, 7
/* 993E34 80241704 3C07E300 */ lui $a3, 0xe300
/* 993E38 80241708 34E70A01 */ ori $a3, $a3, 0xa01
/* 993E3C 8024170C 3C08D9C0 */ lui $t0, 0xd9c0
/* 993E40 80241710 3508F9FB */ ori $t0, $t0, 0xf9fb
/* 993E44 80241714 3C0AD9FF */ lui $t2, 0xd9ff
/* 993E48 80241718 354AFFFF */ ori $t2, $t2, 0xffff
/* 993E4C 8024171C 3C090020 */ lui $t1, 0x20
/* 993E50 80241720 35290005 */ ori $t1, $t1, 5
/* 993E54 80241724 3C0BD700 */ lui $t3, 0xd700
/* 993E58 80241728 356B0002 */ ori $t3, $t3, 2
/* 993E5C 8024172C 3C0CE300 */ lui $t4, 0xe300
/* 993E60 80241730 358C0F00 */ ori $t4, $t4, 0xf00
/* 993E64 80241734 3C0DE300 */ lui $t5, 0xe300
/* 993E68 80241738 35AD0C00 */ ori $t5, $t5, 0xc00
/* 993E6C 8024173C 3C0EE300 */ lui $t6, 0xe300
/* 993E70 80241740 35CE1201 */ ori $t6, $t6, 0x1201
/* 993E74 80241744 3C0FE300 */ lui $t7, 0xe300
/* 993E78 80241748 35EF1801 */ ori $t7, $t7, 0x1801
/* 993E7C 8024174C 3C10E300 */ lui $s0, 0xe300
/* 993E80 80241750 36100D01 */ ori $s0, $s0, 0xd01
/* 993E84 80241754 3C13E300 */ lui $s3, 0xe300
/* 993E88 80241758 36731402 */ ori $s3, $s3, 0x1402
/* 993E8C 8024175C 3C14E300 */ lui $s4, 0xe300
/* 993E90 80241760 36941700 */ ori $s4, $s4, 0x1700
/* 993E94 80241764 3C15E200 */ lui $s5, 0xe200
/* 993E98 80241768 36B51E01 */ ori $s5, $s5, 0x1e01
/* 993E9C 8024176C 27B10040 */ addiu $s1, $sp, 0x40
/* 993EA0 80241770 0220202D */ daddu $a0, $s1, $zero
/* 993EA4 80241774 8EE20000 */ lw $v0, ($s7)
/* 993EA8 80241778 8EC50000 */ lw $a1, ($s6)
/* 993EAC 8024177C 0040302D */ daddu $a2, $v0, $zero
/* 993EB0 80241780 24420008 */ addiu $v0, $v0, 8
/* 993EB4 80241784 00052980 */ sll $a1, $a1, 6
/* 993EB8 80241788 AEE20000 */ sw $v0, ($s7)
/* 993EBC 8024178C ACC30000 */ sw $v1, ($a2)
/* 993EC0 80241790 8E430000 */ lw $v1, ($s2)
/* 993EC4 80241794 24A50030 */ addiu $a1, $a1, 0x30
/* 993EC8 80241798 00651821 */ addu $v1, $v1, $a1
/* 993ECC 8024179C ACC30004 */ sw $v1, 4($a2)
/* 993ED0 802417A0 24430008 */ addiu $v1, $v0, 8
/* 993ED4 802417A4 AEE30000 */ sw $v1, ($s7)
/* 993ED8 802417A8 3C03E700 */ lui $v1, 0xe700
/* 993EDC 802417AC AC430000 */ sw $v1, ($v0)
/* 993EE0 802417B0 24430010 */ addiu $v1, $v0, 0x10
/* 993EE4 802417B4 AC400004 */ sw $zero, 4($v0)
/* 993EE8 802417B8 AEE30000 */ sw $v1, ($s7)
/* 993EEC 802417BC 24430018 */ addiu $v1, $v0, 0x18
/* 993EF0 802417C0 AC470008 */ sw $a3, 8($v0)
/* 993EF4 802417C4 AC40000C */ sw $zero, 0xc($v0)
/* 993EF8 802417C8 AEE30000 */ sw $v1, ($s7)
/* 993EFC 802417CC 24430020 */ addiu $v1, $v0, 0x20
/* 993F00 802417D0 AC480010 */ sw $t0, 0x10($v0)
/* 993F04 802417D4 AC400014 */ sw $zero, 0x14($v0)
/* 993F08 802417D8 AEE30000 */ sw $v1, ($s7)
/* 993F0C 802417DC 24430028 */ addiu $v1, $v0, 0x28
/* 993F10 802417E0 AC4A0018 */ sw $t2, 0x18($v0)
/* 993F14 802417E4 AC49001C */ sw $t1, 0x1c($v0)
/* 993F18 802417E8 AEE30000 */ sw $v1, ($s7)
/* 993F1C 802417EC 2403FFFF */ addiu $v1, $zero, -1
/* 993F20 802417F0 AC430024 */ sw $v1, 0x24($v0)
/* 993F24 802417F4 24430030 */ addiu $v1, $v0, 0x30
/* 993F28 802417F8 AC4B0020 */ sw $t3, 0x20($v0)
/* 993F2C 802417FC AEE30000 */ sw $v1, ($s7)
/* 993F30 80241800 24430038 */ addiu $v1, $v0, 0x38
/* 993F34 80241804 AC4C0028 */ sw $t4, 0x28($v0)
/* 993F38 80241808 AC40002C */ sw $zero, 0x2c($v0)
/* 993F3C 8024180C AEE30000 */ sw $v1, ($s7)
/* 993F40 80241810 3C030008 */ lui $v1, 8
/* 993F44 80241814 AC430034 */ sw $v1, 0x34($v0)
/* 993F48 80241818 24430040 */ addiu $v1, $v0, 0x40
/* 993F4C 8024181C AC4D0030 */ sw $t5, 0x30($v0)
/* 993F50 80241820 AEE30000 */ sw $v1, ($s7)
/* 993F54 80241824 24032000 */ addiu $v1, $zero, 0x2000
/* 993F58 80241828 AC43003C */ sw $v1, 0x3c($v0)
/* 993F5C 8024182C 24430048 */ addiu $v1, $v0, 0x48
/* 993F60 80241830 AC4E0038 */ sw $t6, 0x38($v0)
/* 993F64 80241834 AEE30000 */ sw $v1, ($s7)
/* 993F68 80241838 240300C0 */ addiu $v1, $zero, 0xc0
/* 993F6C 8024183C AC430044 */ sw $v1, 0x44($v0)
/* 993F70 80241840 24430050 */ addiu $v1, $v0, 0x50
/* 993F74 80241844 AC4F0040 */ sw $t7, 0x40($v0)
/* 993F78 80241848 AEE30000 */ sw $v1, ($s7)
/* 993F7C 8024184C 24030C00 */ addiu $v1, $zero, 0xc00
/* 993F80 80241850 AC500048 */ sw $s0, 0x48($v0)
/* 993F84 80241854 AC40004C */ sw $zero, 0x4c($v0)
/* 993F88 80241858 AC530050 */ sw $s3, 0x50($v0)
/* 993F8C 8024185C AC430054 */ sw $v1, 0x54($v0)
/* 993F90 80241860 AC540058 */ sw $s4, 0x58($v0)
/* 993F94 80241864 AC40005C */ sw $zero, 0x5c($v0)
/* 993F98 80241868 AC550060 */ sw $s5, 0x60($v0)
/* 993F9C 8024186C AC400064 */ sw $zero, 0x64($v0)
/* 993FA0 80241870 8FC50010 */ lw $a1, 0x10($fp)
/* 993FA4 80241874 8FC60014 */ lw $a2, 0x14($fp)
/* 993FA8 80241878 8FC70018 */ lw $a3, 0x18($fp)
/* 993FAC 8024187C 24430058 */ addiu $v1, $v0, 0x58
/* 993FB0 80241880 AEE30000 */ sw $v1, ($s7)
/* 993FB4 80241884 24430060 */ addiu $v1, $v0, 0x60
/* 993FB8 80241888 24420068 */ addiu $v0, $v0, 0x68
/* 993FBC 8024188C AEE30000 */ sw $v1, ($s7)
/* 993FC0 80241890 0C019E40 */ jal guTranslateF
/* 993FC4 80241894 AEE20000 */ sw $v0, ($s7)
/* 993FC8 80241898 27B00080 */ addiu $s0, $sp, 0x80
/* 993FCC 8024189C 8FB800C0 */ lw $t8, 0xc0($sp)
/* 993FD0 802418A0 8EC30000 */ lw $v1, ($s6)
/* 993FD4 802418A4 37181630 */ ori $t8, $t8, 0x1630
/* 993FD8 802418A8 00031080 */ sll $v0, $v1, 2
/* 993FDC 802418AC 00431021 */ addu $v0, $v0, $v1
/* 993FE0 802418B0 00021080 */ sll $v0, $v0, 2
/* 993FE4 802418B4 00431023 */ subu $v0, $v0, $v1
/* 993FE8 802418B8 000218C0 */ sll $v1, $v0, 3
/* 993FEC 802418BC 00431021 */ addu $v0, $v0, $v1
/* 993FF0 802418C0 000210C0 */ sll $v0, $v0, 3
/* 993FF4 802418C4 AFB800C0 */ sw $t8, 0xc0($sp)
/* 993FF8 802418C8 3C18800B */ lui $t8, %hi(gCameras)
/* 993FFC 802418CC 27181D80 */ addiu $t8, $t8, %lo(gCameras)
/* 994000 802418D0 00581021 */ addu $v0, $v0, $t8
/* 994004 802418D4 C7C00020 */ lwc1 $f0, 0x20($fp)
/* 994008 802418D8 C442006C */ lwc1 $f2, 0x6c($v0)
/* 99400C 802418DC 4480A000 */ mtc1 $zero, $f20
/* 994010 802418E0 46020000 */ add.s $f0, $f0, $f2
/* 994014 802418E4 C7C20034 */ lwc1 $f2, 0x34($fp)
/* 994018 802418E8 3C013F80 */ lui $at, 0x3f80
/* 99401C 802418EC 4481B000 */ mtc1 $at, $f22
/* 994020 802418F0 46020000 */ add.s $f0, $f0, $f2
/* 994024 802418F4 4406A000 */ mfc1 $a2, $f20
/* 994028 802418F8 4407B000 */ mfc1 $a3, $f22
/* 99402C 802418FC 44050000 */ mfc1 $a1, $f0
/* 994030 80241900 0200202D */ daddu $a0, $s0, $zero
/* 994034 80241904 0C019EC8 */ jal guRotateF
/* 994038 80241908 E7B40010 */ swc1 $f20, 0x10($sp)
/* 99403C 8024190C 0200202D */ daddu $a0, $s0, $zero
/* 994040 80241910 0220282D */ daddu $a1, $s1, $zero
/* 994044 80241914 0C019D80 */ jal guMtxCatF
/* 994048 80241918 0220302D */ daddu $a2, $s1, $zero
/* 99404C 8024191C 8FC50024 */ lw $a1, 0x24($fp)
/* 994050 80241920 4406A000 */ mfc1 $a2, $f20
/* 994054 80241924 4407A000 */ mfc1 $a3, $f20
/* 994058 80241928 0200202D */ daddu $a0, $s0, $zero
/* 99405C 8024192C 0C019EC8 */ jal guRotateF
/* 994060 80241930 E7B60010 */ swc1 $f22, 0x10($sp)
/* 994064 80241934 0200202D */ daddu $a0, $s0, $zero
/* 994068 80241938 0220282D */ daddu $a1, $s1, $zero
/* 99406C 8024193C 0C019D80 */ jal guMtxCatF
/* 994070 80241940 0220302D */ daddu $a2, $s1, $zero
/* 994074 80241944 8FC5001C */ lw $a1, 0x1c($fp)
/* 994078 80241948 4406B000 */ mfc1 $a2, $f22
/* 99407C 8024194C 4407A000 */ mfc1 $a3, $f20
/* 994080 80241950 0200202D */ daddu $a0, $s0, $zero
/* 994084 80241954 0C019EC8 */ jal guRotateF
/* 994088 80241958 AFA70010 */ sw $a3, 0x10($sp)
/* 99408C 8024195C 0200202D */ daddu $a0, $s0, $zero
/* 994090 80241960 0220282D */ daddu $a1, $s1, $zero
/* 994094 80241964 0C019D80 */ jal guMtxCatF
/* 994098 80241968 0220302D */ daddu $a2, $s1, $zero
/* 99409C 8024196C 8FC50028 */ lw $a1, 0x28($fp)
/* 9940A0 80241970 8FC6002C */ lw $a2, 0x2c($fp)
/* 9940A4 80241974 8FC70030 */ lw $a3, 0x30($fp)
/* 9940A8 80241978 0C019DF0 */ jal guScaleF
/* 9940AC 8024197C 0200202D */ daddu $a0, $s0, $zero
/* 9940B0 80241980 0200202D */ daddu $a0, $s0, $zero
/* 9940B4 80241984 0220282D */ daddu $a1, $s1, $zero
/* 9940B8 80241988 0C019D80 */ jal guMtxCatF
/* 9940BC 8024198C 0220302D */ daddu $a2, $s1, $zero
/* 9940C0 80241990 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 9940C4 80241994 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 9940C8 80241998 0220202D */ daddu $a0, $s1, $zero
/* 9940CC 8024199C 96050000 */ lhu $a1, ($s0)
/* 9940D0 802419A0 8E420000 */ lw $v0, ($s2)
/* 9940D4 802419A4 8FB800C0 */ lw $t8, 0xc0($sp)
/* 9940D8 802419A8 00052980 */ sll $a1, $a1, 6
/* 9940DC 802419AC 00B82821 */ addu $a1, $a1, $t8
/* 9940E0 802419B0 0C019D40 */ jal guMtxF2L
/* 9940E4 802419B4 00452821 */ addu $a1, $v0, $a1
/* 9940E8 802419B8 3C02DA38 */ lui $v0, 0xda38
/* 9940EC 802419BC 34420002 */ ori $v0, $v0, 2
/* 9940F0 802419C0 27A40030 */ addiu $a0, $sp, 0x30
/* 9940F4 802419C4 8EE70000 */ lw $a3, ($s7)
/* 9940F8 802419C8 96080000 */ lhu $t0, ($s0)
/* 9940FC 802419CC 00E0282D */ daddu $a1, $a3, $zero
/* 994100 802419D0 ACA20000 */ sw $v0, ($a1)
/* 994104 802419D4 3102FFFF */ andi $v0, $t0, 0xffff
/* 994108 802419D8 00021180 */ sll $v0, $v0, 6
/* 99410C 802419DC 24E70008 */ addiu $a3, $a3, 8
/* 994110 802419E0 8FB800C0 */ lw $t8, 0xc0($sp)
/* 994114 802419E4 8E430000 */ lw $v1, ($s2)
/* 994118 802419E8 00581021 */ addu $v0, $v0, $t8
/* 99411C 802419EC 00621821 */ addu $v1, $v1, $v0
/* 994120 802419F0 3C028000 */ lui $v0, 0x8000
/* 994124 802419F4 00621821 */ addu $v1, $v1, $v0
/* 994128 802419F8 ACA30004 */ sw $v1, 4($a1)
/* 99412C 802419FC 8FC50008 */ lw $a1, 8($fp)
/* 994130 80241A00 8FC6000C */ lw $a2, 0xc($fp)
/* 994134 80241A04 25080001 */ addiu $t0, $t0, 1
/* 994138 80241A08 AEE70000 */ sw $a3, ($s7)
/* 99413C 80241A0C 0C0B7A76 */ jal spr_get_npc_raster_info
/* 994140 80241A10 A6080000 */ sh $t0, ($s0)
/* 994144 80241A14 27A50018 */ addiu $a1, $sp, 0x18
/* 994148 80241A18 0000302D */ daddu $a2, $zero, $zero
/* 99414C 80241A1C 0220382D */ daddu $a3, $s1, $zero
/* 994150 80241A20 8FC40000 */ lw $a0, ($fp)
/* 994154 80241A24 8FA80030 */ lw $t0, 0x30($sp)
/* 994158 80241A28 8FA90034 */ lw $t1, 0x34($sp)
/* 99415C 80241A2C 97A3003A */ lhu $v1, 0x3a($sp)
/* 994160 80241A30 240200FF */ addiu $v0, $zero, 0xff
/* 994164 80241A34 A3A20028 */ sb $v0, 0x28($sp)
/* 994168 80241A38 A7A30020 */ sh $v1, 0x20($sp)
/* 99416C 80241A3C 3063FFFF */ andi $v1, $v1, 0xffff
/* 994170 80241A40 AFA80018 */ sw $t0, 0x18($sp)
/* 994174 80241A44 97A8003E */ lhu $t0, 0x3e($sp)
/* 994178 80241A48 44830000 */ mtc1 $v1, $f0
/* 99417C 80241A4C 00000000 */ nop
/* 994180 80241A50 46800020 */ cvt.s.w $f0, $f0
/* 994184 80241A54 AFA9001C */ sw $t1, 0x1c($sp)
/* 994188 80241A58 E7C00038 */ swc1 $f0, 0x38($fp)
/* 99418C 80241A5C 8FA20038 */ lw $v0, 0x38($sp)
/* 994190 80241A60 3103FFFF */ andi $v1, $t0, 0xffff
/* 994194 80241A64 44830000 */ mtc1 $v1, $f0
/* 994198 80241A68 00000000 */ nop
/* 99419C 80241A6C 46800020 */ cvt.s.w $f0, $f0
/* 9941A0 80241A70 00021FC2 */ srl $v1, $v0, 0x1f
/* 9941A4 80241A74 00431021 */ addu $v0, $v0, $v1
/* 9941A8 80241A78 00021043 */ sra $v0, $v0, 1
/* 9941AC 80241A7C 00021023 */ negu $v0, $v0
/* 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 fold_appendGfx_component
/* 9941C0 80241A90 A7A80026 */ sh $t0, 0x26($sp)
/* 9941C4 80241A94 3C04D838 */ lui $a0, 0xd838
/* 9941C8 80241A98 8EE20000 */ lw $v0, ($s7)
/* 9941CC 80241A9C 34840002 */ ori $a0, $a0, 2
/* 9941D0 80241AA0 0040182D */ daddu $v1, $v0, $zero
/* 9941D4 80241AA4 24420008 */ addiu $v0, $v0, 8
/* 9941D8 80241AA8 AEE20000 */ sw $v0, ($s7)
/* 9941DC 80241AAC 24020040 */ addiu $v0, $zero, 0x40
/* 9941E0 80241AB0 AC640000 */ sw $a0, ($v1)
/* 9941E4 80241AB4 AC620004 */ sw $v0, 4($v1)
/* 9941E8 80241AB8 8FBF00EC */ lw $ra, 0xec($sp)
/* 9941EC 80241ABC 8FBE00E8 */ lw $fp, 0xe8($sp)
/* 9941F0 80241AC0 8FB700E4 */ lw $s7, 0xe4($sp)
/* 9941F4 80241AC4 8FB600E0 */ lw $s6, 0xe0($sp)
/* 9941F8 80241AC8 8FB500DC */ lw $s5, 0xdc($sp)
/* 9941FC 80241ACC 8FB400D8 */ lw $s4, 0xd8($sp)
/* 994200 80241AD0 8FB300D4 */ lw $s3, 0xd4($sp)
/* 994204 80241AD4 8FB200D0 */ lw $s2, 0xd0($sp)
/* 994208 80241AD8 8FB100CC */ lw $s1, 0xcc($sp)
/* 99420C 80241ADC 8FB000C8 */ lw $s0, 0xc8($sp)
/* 994210 80241AE0 D7B600F8 */ ldc1 $f22, 0xf8($sp)
/* 994214 80241AE4 D7B400F0 */ ldc1 $f20, 0xf0($sp)
/* 994218 80241AE8 03E00008 */ jr $ra
/* 99421C 80241AEC 27BD0100 */ addiu $sp, $sp, 0x100

View File

@ -1,57 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241AF0_994220
/* 994220 80241AF0 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 994224 80241AF4 AFBF0028 */ sw $ra, 0x28($sp)
/* 994228 80241AF8 AFB10024 */ sw $s1, 0x24($sp)
/* 99422C 80241AFC AFB00020 */ sw $s0, 0x20($sp)
/* 994230 80241B00 8C820148 */ lw $v0, 0x148($a0)
/* 994234 80241B04 0C00EABB */ jal get_npc_unsafe
/* 994238 80241B08 84440008 */ lh $a0, 8($v0)
/* 99423C 80241B0C 27A40010 */ addiu $a0, $sp, 0x10
/* 994240 80241B10 24050035 */ addiu $a1, $zero, 0x35
/* 994244 80241B14 3C108024 */ lui $s0, %hi(btl_state_draw_begin_player_turn)
/* 994248 80241B18 26102AC0 */ addiu $s0, $s0, %lo(btl_state_draw_begin_player_turn)
/* 99424C 80241B1C 00A0182D */ daddu $v1, $a1, $zero
/* 994250 80241B20 0040882D */ daddu $s1, $v0, $zero
/* 994254 80241B24 0000302D */ daddu $a2, $zero, $zero
/* 994258 80241B28 AE030008 */ sw $v1, 8($s0)
/* 99425C 80241B2C 0C0B7A76 */ jal spr_get_npc_raster_info
/* 994260 80241B30 AE00000C */ sw $zero, 0xc($s0)
/* 994264 80241B34 C7A00018 */ lwc1 $f0, 0x18($sp)
/* 994268 80241B38 46800020 */ cvt.s.w $f0, $f0
/* 99426C 80241B3C E6000038 */ swc1 $f0, 0x38($s0)
/* 994270 80241B40 C7A0001C */ lwc1 $f0, 0x1c($sp)
/* 994274 80241B44 46800020 */ cvt.s.w $f0, $f0
/* 994278 80241B48 E600003C */ swc1 $f0, 0x3c($s0)
/* 99427C 80241B4C C6200038 */ lwc1 $f0, 0x38($s1)
/* 994280 80241B50 3C014387 */ lui $at, 0x4387
/* 994284 80241B54 44811000 */ mtc1 $at, $f2
/* 994288 80241B58 E6000010 */ swc1 $f0, 0x10($s0)
/* 99428C 80241B5C C620003C */ lwc1 $f0, 0x3c($s1)
/* 994290 80241B60 0000202D */ daddu $a0, $zero, $zero
/* 994294 80241B64 E6000014 */ swc1 $f0, 0x14($s0)
/* 994298 80241B68 C6240040 */ lwc1 $f4, 0x40($s1)
/* 99429C 80241B6C 3C013F36 */ lui $at, 0x3f36
/* 9942A0 80241B70 3421DB6E */ ori $at, $at, 0xdb6e
/* 9942A4 80241B74 44810000 */ mtc1 $at, $f0
/* 9942A8 80241B78 3C058024 */ lui $a1, %hi(func_80241610_993D40)
/* 9942AC 80241B7C 24A51610 */ addiu $a1, $a1, %lo(func_80241610_993D40)
/* 9942B0 80241B80 AE00001C */ sw $zero, 0x1c($s0)
/* 9942B4 80241B84 AE000020 */ sw $zero, 0x20($s0)
/* 9942B8 80241B88 AE000024 */ sw $zero, 0x24($s0)
/* 9942BC 80241B8C E6020034 */ swc1 $f2, 0x34($s0)
/* 9942C0 80241B90 AE000000 */ sw $zero, ($s0)
/* 9942C4 80241B94 E6000028 */ swc1 $f0, 0x28($s0)
/* 9942C8 80241B98 E600002C */ swc1 $f0, 0x2c($s0)
/* 9942CC 80241B9C E6000030 */ swc1 $f0, 0x30($s0)
/* 9942D0 80241BA0 0C048C8F */ jal create_generic_entity_frontUI
/* 9942D4 80241BA4 E6040018 */ swc1 $f4, 0x18($s0)
/* 9942D8 80241BA8 AE020004 */ sw $v0, 4($s0)
/* 9942DC 80241BAC 8FBF0028 */ lw $ra, 0x28($sp)
/* 9942E0 80241BB0 8FB10024 */ lw $s1, 0x24($sp)
/* 9942E4 80241BB4 8FB00020 */ lw $s0, 0x20($sp)
/* 9942E8 80241BB8 24020002 */ addiu $v0, $zero, 2
/* 9942EC 80241BBC 03E00008 */ jr $ra
/* 9942F0 80241BC0 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,14 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241BC4_9942F4
/* 9942F4 80241BC4 3C048024 */ lui $a0, %hi(flo_11_defeat_80242AC4)
/* 9942F8 80241BC8 8C842AC4 */ lw $a0, %lo(flo_11_defeat_80242AC4)($a0)
/* 9942FC 80241BCC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 994300 80241BD0 AFBF0010 */ sw $ra, 0x10($sp)
/* 994304 80241BD4 0C048D70 */ jal free_generic_entity
/* 994308 80241BD8 00000000 */ nop
/* 99430C 80241BDC 8FBF0010 */ lw $ra, 0x10($sp)
/* 994310 80241BE0 24020002 */ addiu $v0, $zero, 2
/* 994314 80241BE4 03E00008 */ jr $ra
/* 994318 80241BE8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,49 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241BEC_99431C
/* 99431C 80241BEC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 994320 80241BF0 AFB10014 */ sw $s1, 0x14($sp)
/* 994324 80241BF4 0080882D */ daddu $s1, $a0, $zero
/* 994328 80241BF8 AFBF001C */ sw $ra, 0x1c($sp)
/* 99432C 80241BFC AFB20018 */ sw $s2, 0x18($sp)
/* 994330 80241C00 AFB00010 */ sw $s0, 0x10($sp)
/* 994334 80241C04 8E30000C */ lw $s0, 0xc($s1)
/* 994338 80241C08 8E050000 */ lw $a1, ($s0)
/* 99433C 80241C0C 0C0B210B */ jal evt_get_float_variable
/* 994340 80241C10 26100004 */ addiu $s0, $s0, 4
/* 994344 80241C14 8E050000 */ lw $a1, ($s0)
/* 994348 80241C18 26100004 */ addiu $s0, $s0, 4
/* 99434C 80241C1C 4600010D */ trunc.w.s $f4, $f0
/* 994350 80241C20 44122000 */ mfc1 $s2, $f4
/* 994354 80241C24 0C0B210B */ jal evt_get_float_variable
/* 994358 80241C28 0220202D */ daddu $a0, $s1, $zero
/* 99435C 80241C2C 8E050000 */ lw $a1, ($s0)
/* 994360 80241C30 4600010D */ trunc.w.s $f4, $f0
/* 994364 80241C34 44102000 */ mfc1 $s0, $f4
/* 994368 80241C38 0C0B210B */ jal evt_get_float_variable
/* 99436C 80241C3C 0220202D */ daddu $a0, $s1, $zero
/* 994370 80241C40 3C038024 */ lui $v1, %hi(btl_state_draw_begin_player_turn)
/* 994374 80241C44 24632AC0 */ addiu $v1, $v1, %lo(btl_state_draw_begin_player_turn)
/* 994378 80241C48 44921000 */ mtc1 $s2, $f2
/* 99437C 80241C4C 00000000 */ nop
/* 994380 80241C50 468010A0 */ cvt.s.w $f2, $f2
/* 994384 80241C54 E4620010 */ swc1 $f2, 0x10($v1)
/* 994388 80241C58 44901000 */ mtc1 $s0, $f2
/* 99438C 80241C5C 00000000 */ nop
/* 994390 80241C60 468010A0 */ cvt.s.w $f2, $f2
/* 994394 80241C64 4600010D */ trunc.w.s $f4, $f0
/* 994398 80241C68 44022000 */ mfc1 $v0, $f4
/* 99439C 80241C6C 00000000 */ nop
/* 9943A0 80241C70 44820000 */ mtc1 $v0, $f0
/* 9943A4 80241C74 00000000 */ nop
/* 9943A8 80241C78 46800020 */ cvt.s.w $f0, $f0
/* 9943AC 80241C7C E4620014 */ swc1 $f2, 0x14($v1)
/* 9943B0 80241C80 E4600018 */ swc1 $f0, 0x18($v1)
/* 9943B4 80241C84 8FBF001C */ lw $ra, 0x1c($sp)
/* 9943B8 80241C88 8FB20018 */ lw $s2, 0x18($sp)
/* 9943BC 80241C8C 8FB10014 */ lw $s1, 0x14($sp)
/* 9943C0 80241C90 8FB00010 */ lw $s0, 0x10($sp)
/* 9943C4 80241C94 24020002 */ addiu $v0, $zero, 2
/* 9943C8 80241C98 03E00008 */ jr $ra
/* 9943CC 80241C9C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,52 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241CA0_9943D0
/* 9943D0 80241CA0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 9943D4 80241CA4 AFB10014 */ sw $s1, 0x14($sp)
/* 9943D8 80241CA8 0080882D */ daddu $s1, $a0, $zero
/* 9943DC 80241CAC AFBF001C */ sw $ra, 0x1c($sp)
/* 9943E0 80241CB0 AFB20018 */ sw $s2, 0x18($sp)
/* 9943E4 80241CB4 AFB00010 */ sw $s0, 0x10($sp)
/* 9943E8 80241CB8 8E30000C */ lw $s0, 0xc($s1)
/* 9943EC 80241CBC 8E050000 */ lw $a1, ($s0)
/* 9943F0 80241CC0 0C0B210B */ jal evt_get_float_variable
/* 9943F4 80241CC4 26100004 */ addiu $s0, $s0, 4
/* 9943F8 80241CC8 8E050000 */ lw $a1, ($s0)
/* 9943FC 80241CCC 26100004 */ addiu $s0, $s0, 4
/* 994400 80241CD0 4600010D */ trunc.w.s $f4, $f0
/* 994404 80241CD4 44122000 */ mfc1 $s2, $f4
/* 994408 80241CD8 0C0B210B */ jal evt_get_float_variable
/* 99440C 80241CDC 0220202D */ daddu $a0, $s1, $zero
/* 994410 80241CE0 8E050000 */ lw $a1, ($s0)
/* 994414 80241CE4 4600010D */ trunc.w.s $f4, $f0
/* 994418 80241CE8 44102000 */ mfc1 $s0, $f4
/* 99441C 80241CEC 0C0B210B */ jal evt_get_float_variable
/* 994420 80241CF0 0220202D */ daddu $a0, $s1, $zero
/* 994424 80241CF4 3C038024 */ lui $v1, %hi(btl_state_draw_begin_player_turn)
/* 994428 80241CF8 24632AC0 */ addiu $v1, $v1, %lo(btl_state_draw_begin_player_turn)
/* 99442C 80241CFC 44921000 */ mtc1 $s2, $f2
/* 994430 80241D00 00000000 */ nop
/* 994434 80241D04 468010A0 */ cvt.s.w $f2, $f2
/* 994438 80241D08 E462001C */ swc1 $f2, 0x1c($v1)
/* 99443C 80241D0C 44901000 */ mtc1 $s0, $f2
/* 994440 80241D10 00000000 */ nop
/* 994444 80241D14 468010A0 */ cvt.s.w $f2, $f2
/* 994448 80241D18 4600010D */ trunc.w.s $f4, $f0
/* 99444C 80241D1C 44022000 */ mfc1 $v0, $f4
/* 994450 80241D20 00000000 */ nop
/* 994454 80241D24 44820000 */ mtc1 $v0, $f0
/* 994458 80241D28 00000000 */ nop
/* 99445C 80241D2C 46800020 */ cvt.s.w $f0, $f0
/* 994460 80241D30 E4620020 */ swc1 $f2, 0x20($v1)
/* 994464 80241D34 E4600024 */ swc1 $f0, 0x24($v1)
/* 994468 80241D38 8FBF001C */ lw $ra, 0x1c($sp)
/* 99446C 80241D3C 8FB20018 */ lw $s2, 0x18($sp)
/* 994470 80241D40 8FB10014 */ lw $s1, 0x14($sp)
/* 994474 80241D44 8FB00010 */ lw $s0, 0x10($sp)
/* 994478 80241D48 24020002 */ addiu $v0, $zero, 2
/* 99447C 80241D4C 03E00008 */ jr $ra
/* 994480 80241D50 27BD0020 */ addiu $sp, $sp, 0x20
/* 994484 80241D54 00000000 */ nop
/* 994488 80241D58 00000000 */ nop
/* 99448C 80241D5C 00000000 */ nop

View File

@ -2,8 +2,8 @@
.set noreorder # don't insert nops after branches
glabel func_802BD1AC_31CD1C
/* 31CD1C 802BD1AC 3C02802C */ lui $v0, %hi(D_802BE310)
/* 31CD20 802BD1B0 8C42E310 */ lw $v0, %lo(D_802BE310)($v0)
/* 31CD1C 802BD1AC 3C02802C */ lui $v0, %hi(WattStaticEffect)
/* 31CD20 802BD1B0 8C42E310 */ lw $v0, %lo(WattStaticEffect)($v0)
/* 31CD24 802BD1B4 3C013F00 */ lui $at, 0x3f00
/* 31CD28 802BD1B8 44810000 */ mtc1 $at, $f0
/* 31CD2C 802BD1BC 8C45000C */ lw $a1, 0xc($v0)

View File

@ -362,8 +362,8 @@ glabel WattUseAbility
/* 31D80C 802BDC9C 080AF73A */ j .L802BDCE8
/* 31D810 802BDCA0 24020001 */ addiu $v0, $zero, 1
.L802BDCA4:
/* 31D814 802BDCA4 3C03802C */ lui $v1, %hi(D_802BE310)
/* 31D818 802BDCA8 8C63E310 */ lw $v1, %lo(D_802BE310)($v1)
/* 31D814 802BDCA4 3C03802C */ lui $v1, %hi(WattStaticEffect)
/* 31D818 802BDCA8 8C63E310 */ lw $v1, %lo(WattStaticEffect)($v1)
/* 31D81C 802BDCAC 1060000E */ beqz $v1, .L802BDCE8
/* 31D820 802BDCB0 0000102D */ daddu $v0, $zero, $zero
/* 31D824 802BDCB4 8C62000C */ lw $v0, 0xc($v1)

View File

@ -6706,7 +6706,7 @@ func_8025C918 = 0x8025C918; // type:func rom:0x18B1F8
func_8025CCC8 = 0x8025CCC8; // type:func rom:0x18B5A8
func_8025CD28 = 0x8025CD28; // type:func rom:0x18B608
func_8025CD40 = 0x8025CD40; // type:func rom:0x18B620
func_8025CEC8 = 0x8025CEC8; // type:func rom:0x18B7A8
_add_part_decoration = 0x8025CEC8; // type:func rom:0x18B7A8
_remove_part_decoration = 0x8025D03C; // type:func rom:0x18B91C
func_8025D150 = 0x8025D150; // type:func rom:0x18BA30
func_8025D158 = 0x8025D158; // type:func rom:0x18BA38
@ -7754,7 +7754,7 @@ D_802BEC74 = 0x802BEC74; // type:data rom:0x31CC94
D_802BEC78 = 0x802BEC78; // type:data rom:0x31CC98
D_802BEC7C = 0x802BEC7C; // type:data rom:0x31CC9C
KooperTweesterPhysics = 0x802BEC80; // type:data rom:0x31CCA0
func_802BD180_31CCF0 = 0x802BD180; // type:func rom:0x31CCF0
world_watt_dispose_static_effect = 0x802BD180; // type:func rom:0x31CCF0
func_802BD1AC_31CD1C = 0x802BD1AC; // type:func rom:0x31CD1C
world_watt_init = 0x802BD23C; // type:func rom:0x31CDAC
func_802BD27C_31CDEC = 0x802BD27C; // type:func rom:0x31CDEC
@ -7780,7 +7780,7 @@ func_802BD100_31DE70 = 0x802BD100; // type:func rom:0x31DE70
D_802BE304 = 0x802BE304; // type:data rom:0x31DE74
D_802BE308 = 0x802BE308; // type:data rom:0x31DE78
D_802BE30C = 0x802BE30C; // type:data rom:0x31DE7C
D_802BE310 = 0x802BE310; // type:data rom:0x31DE80
WattStaticEffect = 0x802BE310; // type:data rom:0x31DE80
D_802BE314 = 0x802BE314; // type:data rom:0x31DE84
WattTweesterPhysics = 0x802BE318; // type:data rom:0x31DE88
func_802BD20C_31DF7C = 0x802BD20C; // type:func rom:0x31DF7C
@ -8013,13 +8013,13 @@ walking_dust_appendGfx = 0xE000E288; // type:func rom:0x32C398
D_E000E660 = 0xE000E660; // type:data rom:0x32C770
D_E000E670 = 0xE000E670; // type:data rom:0x32C780
D_E000E684 = 0xE000E684; // type:data rom:0x32C794
func_E0010000 = 0xE0010000; // type:func rom:0x32C7A0
func_E0010104 = 0xE0010104; // type:func rom:0x32C8A4
flower_splash_update_part_transform = 0xE0010000; // type:func rom:0x32C7A0
flower_splash_update_part = 0xE0010104; // type:func rom:0x32C8A4
flower_splash_main = 0xE00101E8; // type:func rom:0x32C988
flower_splash_init = 0xE00103EC; // type:func rom:0x32CB8C
flower_splash_update = 0xE00103F4; // type:func rom:0x32CB94
flower_splash_render = 0xE00104B0; // type:func rom:0x32CC50
func_E00104F4 = 0xE00104F4; // type:func rom:0x32CC94
flower_splash_dispose = 0xE00104F4; // type:func rom:0x32CC94
flower_splash_appendGfx = 0xE0010510; // type:func rom:0x32CCB0
D_09000000_32CEC0 = 0x9000000; // type:data rom:0x32CEC0
D_09000080_32CF40 = 0x9000080; // type:data rom:0x32CF40
@ -8040,13 +8040,13 @@ D_09000D90_32DC50 = 0x9000D90; // type:data rom:0x32DC50
D_09000E08_32DCC8 = 0x9000E08; // type:data rom:0x32DCC8
D_09000E20_32DCE0 = 0x9000E20; // type:data rom:0x32DCE0
D_09000E38_32DCF8 = 0x9000E38; // type:data rom:0x32DCF8
func_E0012000 = 0xE0012000; // type:func rom:0x32DD10
func_E0012104 = 0xE0012104; // type:func rom:0x32DE14
flower_trail_update_part_transform = 0xE0012000; // type:func rom:0x32DD10
flower_trail_update_part = 0xE0012104; // type:func rom:0x32DE14
flower_trail_main = 0xE0012204; // type:func rom:0x32DF14
flower_trail_init = 0xE0012440; // type:func rom:0x32E150
flower_trail_update = 0xE0012448; // type:func rom:0x32E158
flower_trail_render = 0xE0012504; // type:func rom:0x32E214
func_E0012548 = 0xE0012548; // type:func rom:0x32E258
flower_trail_dispose = 0xE0012548; // type:func rom:0x32E258
flower_trail_appendGfx = 0xE0012564; // type:func rom:0x32E274
cloud_puff_main = 0xE0014000; // type:func rom:0x32E490
cloud_puff_init = 0xE0014258; // type:func rom:0x32E6E8
@ -12657,7 +12657,7 @@ b_area_flo2_UnkFloatFunc = 0x80218114; // type:func rom:0x5CE7A4
func_802182A4_5CE934 = 0x802182A4; // type:func rom:0x5CE934
func_80218440_5CEAD0 = 0x80218440; // type:func rom:0x5CEAD0
func_802185D4_5CEC64 = 0x802185D4; // type:func rom:0x5CEC64
func_80218620_5CECB0 = 0x80218620; // type:func rom:0x5CECB0
b_area_flo2_MakeSuctionPath = 0x80218620; // type:func rom:0x5CECB0
func_80218774_5CEE04 = 0x80218774; // type:func rom:0x5CEE04
b_area_flo2_UnkBackgroundFunc3 = 0x802188A8; // type:func rom:0x5CEF38
b_area_flo2_SetBackgroundAlpha = 0x802188EC; // type:func rom:0x5CEF7C
@ -17188,9 +17188,9 @@ isk_05_HoppingAI_Main = 0x80240BF0; // type:func rom:0x97E6C0
isk_05_StoneChompAI_HopInit = 0x80240E14; // type:func rom:0x97E8E4
isk_05_StoneChompAI_ChaseInit = 0x80240EA8; // type:func rom:0x97E978
isk_05_StoneChompAI_Main = 0x80240F3C; // type:func rom:0x97EA0C
isk_05_UnkFunc53 = 0x80241108; // type:func rom:0x97EBD8
func_802411F8_97ECC8 = 0x802411F8; // type:func rom:0x97ECC8
func_802415C0_97F090 = 0x802415C0; // type:func rom:0x97F090
isk_05_StoneChompFXA = 0x80241108; // type:func rom:0x97EBD8
isk_05_StoneChompFXB = 0x802411F8; // type:func rom:0x97ECC8
isk_05_StoneChompFXC = 0x802415C0; // type:func rom:0x97F090
func_80241610_97F0E0 = 0x80241610; // type:func rom:0x97F0E0
func_80241B28_97F5F8 = 0x80241B28; // type:func rom:0x97F5F8
func_80241C34_97F704 = 0x80241C34; // type:func rom:0x97F704
@ -17198,7 +17198,7 @@ func_80241C5C_97F72C = 0x80241C5C; // type:func rom:0x97F72C
func_80241D44_97F814 = 0x80241D44; // type:func rom:0x97F814
func_80241DF8_97F8C8 = 0x80241DF8; // type:func rom:0x97F8C8
func_80241E24_97F8F4 = 0x80241E24; // type:func rom:0x97F8F4
D_80242614_9800E4 = 0x80242614; // type:data rom:0x9800E4
isk_05_ChompAmbush = 0x80242614; // type:data rom:0x9800E4
D_80242618_9800E8 = 0x80242618; // type:data rom:0x9800E8
D_8024264C_98011C = 0x8024264C; // type:data rom:0x98011C
D_80242EB0_980980 = 0x80242EB0; // type:data rom:0x980980
@ -17263,9 +17263,9 @@ isk_13_HoppingAI_Main = 0x80240BF0; // type:func rom:0x9903D0
isk_13_StoneChompAI_HopInit = 0x80240E14; // type:func rom:0x9905F4
isk_13_StoneChompAI_ChaseInit = 0x80240EA8; // type:func rom:0x990688
isk_13_StoneChompAI_Main = 0x80240F3C; // type:func rom:0x99071C
isk_13_UnkFunc53 = 0x80241108; // type:func rom:0x9908E8
func_802411F8_9909D8 = 0x802411F8; // type:func rom:0x9909D8
func_802415C0_990DA0 = 0x802415C0; // type:func rom:0x990DA0
isk_13_StoneChompFXA = 0x80241108; // type:func rom:0x9908E8
isk_13_StoneChompFXB = 0x802411F8; // type:func rom:0x9909D8
isk_13_StoneChompFXC = 0x802415C0; // type:func rom:0x990DA0
func_80241610_990DF0 = 0x80241610; // type:func rom:0x990DF0
func_80241BA8_991388 = 0x80241BA8; // type:func rom:0x991388
func_80241D08_9914E8 = 0x80241D08; // type:func rom:0x9914E8
@ -17287,9 +17287,9 @@ isk_14_HoppingAI_Main = 0x80240BF0; // type:func rom:0x993320
isk_14_StoneChompAI_HopInit = 0x80240E14; // type:func rom:0x993544
isk_14_StoneChompAI_ChaseInit = 0x80240EA8; // type:func rom:0x9935D8
isk_14_StoneChompAI_Main = 0x80240F3C; // type:func rom:0x99366C
isk_14_UnkFunc53 = 0x80241108; // type:func rom:0x993838
func_802411F8_993928 = 0x802411F8; // type:func rom:0x993928
func_802415C0_993CF0 = 0x802415C0; // type:func rom:0x993CF0
isk_14_StoneChompFXA = 0x80241108; // type:func rom:0x993838
isk_14_StoneChompFXB = 0x802411F8; // type:func rom:0x993928
isk_14_StoneChompFXC = 0x802415C0; // type:func rom:0x993CF0
func_80241610_993D40 = 0x80241610; // type:func rom:0x993D40
func_80241AF0_994220 = 0x80241AF0; // type:func rom:0x994220
func_80241BC4_9942F4 = 0x80241BC4; // type:func rom:0x9942F4
@ -27299,19 +27299,19 @@ D_802DFEA0 = 0x802DFEA0; // type:data
D_802DFEAC = 0x802DFEAC; // type:data
D_802DFEB0 = 0x802DFEB0; // type:data
D_802DFEB8 = 0x802DFEB8; // type:data
D_802E004C = 0x802E004C; // type:data
D_802E0050 = 0x802E0050; // type:data
PlayerRasterSetsLoaded = 0x802E004C; // type:data
PlayerRasterBufferSetOffsets = 0x802E0050; // type:data
D_802E0080 = 0x802E0080; // type:data
D_802E0090 = 0x802E0090; // type:data
D_802E0C10 = 0x802E0C10; // type:data
PlayerRasterHeader = 0x802E0C10; // type:data
D_802E0C14 = 0x802E0C14; // type:data
D_802E0C20 = 0x802E0C20; // type:data
D_802E0C58 = 0x802E0C58; // type:data
D_802E0C5C = 0x802E0C5C; // type:data
D_802E0C60 = 0x802E0C60; // type:data
PlayerRasterCacheSize = 0x802E0C58; // type:data
PlayerRasterMaxSize = 0x802E0C5C; // type:data
SpriteDataHeader = 0x802E0C60; // type:data
D_802E0C64 = 0x802E0C64; // type:data
D_802E0C68 = 0x802E0C68; // type:data
D_802E0C70 = 0x802E0C70; // type:data
PlayerRasterCache = 0x802E0C70; // type:data
D_802E9170 = 0x802E9170; // type:data
D_802E91F0 = 0x802E91F0; // type:data
D_802E9270 = 0x802E9270; // type:data

View File

@ -1128,19 +1128,19 @@ D_802DFEA0 = 0x802DFEA0;
D_802DFEAC = 0x802DFEAC;
D_802DFEB0 = 0x802DFEB0;
D_802DFEB8 = 0x802DFEB8;
D_802E004C = 0x802E004C;
D_802E0050 = 0x802E0050;
PlayerRasterSetsLoaded = 0x802E004C;
PlayerRasterBufferSetOffsets = 0x802E0050;
D_802E0080 = 0x802E0080;
D_802E0090 = 0x802E0090;
D_802E0C10 = 0x802E0C10;
PlayerRasterHeader = 0x802E0C10;
D_802E0C14 = 0x802E0C14;
D_802E0C20 = 0x802E0C20;
D_802E0C58 = 0x802E0C58;
D_802E0C5C = 0x802E0C5C;
D_802E0C60 = 0x802E0C60;
PlayerRasterCacheSize = 0x802E0C58;
PlayerRasterMaxSize = 0x802E0C5C;
SpriteDataHeader = 0x802E0C60;
D_802E0C64 = 0x802E0C64;
D_802E0C68 = 0x802E0C68;
D_802E0C70 = 0x802E0C70;
PlayerRasterCache = 0x802E0C70;
SaveBlockTutorialPrinterClosed = 0x802EB390;
SaveBlockResultPrinterClosed = 0x802EB394;
SaveBlockTutorialPrinter = 0x802EB398;