several actor funcs (#748)

* no sun :(

* livin in the sunshine

* misc

* small fix

* splat fix

* comments + sparkles enum

Co-authored-by: HailSanta <Hail2Santa@gmail.com>
This commit is contained in:
HailSanta 2022-08-16 21:04:23 -04:00 committed by GitHub
parent ded1be2b17
commit d11054b41a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
83 changed files with 943 additions and 2193 deletions

View File

@ -23,6 +23,8 @@ typedef void NoArgCallback(void*);
#define IMG_BIN u8
#define PAL_BIN u16
typedef u32 AnimID;
typedef struct {
u8 r, g, b, a;
} Color_RGBA8;
@ -1644,7 +1646,11 @@ typedef struct DecorationTable {
/* 0x750 */ s8 unk_750;
/* 0x751 */ s8 unk_751;
/* 0x752 */ s8 unk_752;
/* 0x753 */ char unk_753[17];
/* 0x753 */ char pad753[5];
/* 0x758 */ s16 unk758;
/* 0x75A */ s16 unk75A;
/* 0x75C */ s16 unk75C;
/* 0x75E */ char pad75E[6];
/* 0x764 */ s8 unk_764;
/* 0x765 */ s8 unk_765;
/* 0x766 */ s8 unk_766;
@ -1668,7 +1674,7 @@ typedef struct DecorationTable {
/* 0x89C */ u8 rotZ[16];
/* 0x8AC */ s8 effectType; /* 0 = blur, 14 = none? */
/* 0x8AD */ char unk_8AD[3];
/* 0x8B0 */ struct EffectInstance* unk_8B0[2];
/* 0x8B0 */ struct EffectInstance* effects[2];
/* 0x8B8 */ s8 decorationType[2];
/* 0x8BA */ u8 unk_8BA[2];
/* 0x8BC */ s8 unk_8BC[2];

View File

@ -390,6 +390,14 @@ typedef struct SparklesFXData {
/* 0x00 */ char todo[0];
} SparklesFXData; // size = unknown
enum SparkesFXTypes {
FX_SPARKLES_0 = 0,
FX_SPARKLES_1 = 1,
FX_SPARKLES_2 = 2,
FX_SPARKLES_3 = 3,
FX_SPARKLES_4 = 4
};
typedef struct ShapeSpellFXData {
/* 0x00 */ s32 isChild;
/* 0x04 */ Vec3f pos;
@ -1281,23 +1289,22 @@ typedef struct QuizmoAssistantFXData {
} QuizmoAssistantFXData; // size = 0x20
typedef struct IcePillarFXData {
/* 0x00 */ char todo[0];
/* 0x00 */ char unk_00[0x4];
/* 0x04 */ Vec3f position;
/* 0x10 */ char unk_10[0x10];
/* 0x20 */ f32 unk_20;
/* 0x24 */ char todo[0];
} IcePillarFXData; // size = unknown
typedef struct SunFXData {
/* 0x00 */ s32 unk_00;
/* 0x04 */ Vec3f unk_04;
/* 0x00 */ s32 shineFromRight;
/* 0x04 */ Vec3f pos; // does nothing
/* 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;
/* 0x18 */ Color_RGB8 primColor;
/* 0x1B */ Color_RGBA8 envColor;
/* 0x1F */ char unk_1F[0x1];
/* 0x20 */ f32 unk_20[5];
/* 0x20 */ f32 texScrollAmt[5];
/* 0x34 */ f32 unk_34;
/* 0x38 */ s32 alpha;
/* 0x3C */ s32 targetAlpha;

View File

@ -25,6 +25,7 @@ void shim_guRotateF(float mf[4][4], float a, float x, float y, float z);
void shim_guTranslate(Mtx *m, float x, float y, float z);
void shim_guTranslateF(float mf[4][4], float x, float y, float z);
void shim_guPositionF(float mf[4][4], float r, float p, float h, float s, float x, float y, float z);
void shim_guOrthoF(float mf[4][4], float l, float r, float b, float t, float n, float f, float scale);
void shim_mem_clear(void* data, s32 numBytes);
void shim_transform_point(Matrix4f mtx, f32 inX, f32 inY, f32 inZ, f32 inS, f32* outX, f32* outY, f32* outZ, f32* outS);
s32 shim_npc_raycast_down_sides(s32, f32*, f32*, f32*, f32*);

View File

@ -1610,7 +1610,7 @@ enum Statuses {
STATUS_STATIC = 0x0000000B,
STATUS_STONE = 0x0000000C,
STATUS_DAZE = 0x0000000D,
STATUS_E = 0x0000000E,
STATUS_TRANSPARENT = 0x0000000E,
STATUS_KO = 0x0000000F,
STATUS_BERSERK = 0x00000010,
STATUS_11 = 0x00000011,
@ -2376,38 +2376,38 @@ enum ActorFlags {
};
enum ActorPartFlags {
ACTOR_PART_FLAG_INVISIBLE = 0x00000001,
ACTOR_PART_FLAG_2 = 0x00000002,
ACTOR_PART_FLAG_4 = 0x00000004,
ACTOR_PART_FLAG_8 = 0x00000008,
ACTOR_PART_FLAG_10 = 0x00000010,
ACTOR_PART_FLAG_20 = 0x00000020,
ACTOR_PART_FLAG_40 = 0x00000040,
ACTOR_PART_FLAG_80 = 0x00000080,
ACTOR_PART_FLAG_100 = 0x00000100,
ACTOR_PART_FLAG_200 = 0x00000200,
ACTOR_PART_FLAG_400 = 0x00000400,
ACTOR_PART_FLAG_800 = 0x00000800,
ACTOR_PART_FLAG_1000 = 0x00001000,
ACTOR_PART_FLAG_2000 = 0x00002000, ///< Plays extra hurt SFX?
ACTOR_PART_FLAG_4000 = 0x00004000,
ACTOR_PART_FLAG_8000 = 0x00008000,
ACTOR_PART_FLAG_10000 = 0x00010000,
ACTOR_PART_FLAG_NO_TARGET = 0x00020000, ///< Cannot be targeted.
ACTOR_PART_FLAG_40000 = 0x00040000,
ACTOR_PART_FLAG_80000 = 0x00080000,
ACTOR_PART_FLAG_100000 = 0x00100000,
ACTOR_PART_FLAG_200000 = 0x00200000,
ACTOR_PART_FLAG_400000 = 0x00400000,
ACTOR_PART_FLAG_MULTI_TARGET = 0x00800000, ///< Can be targeted with multi-target attacks (e.g. Star Storm).
ACTOR_PART_FLAG_1000000 = 0x01000000,
ACTOR_PART_FLAG_2000000 = 0x02000000,
ACTOR_PART_FLAG_4000000 = 0x04000000,
ACTOR_PART_FLAG_8000000 = 0x08000000,
ACTOR_PART_FLAG_10000000 = 0x10000000,
ACTOR_PART_FLAG_20000000 = 0x20000000,
ACTOR_PART_FLAG_40000000 = 0x40000000,
ACTOR_PART_FLAG_80000000 = 0x80000000,
ACTOR_PART_FLAG_INVISIBLE = 0x00000001,
ACTOR_PART_FLAG_2 = 0x00000002,
ACTOR_PART_FLAG_4 = 0x00000004,
ACTOR_PART_FLAG_8 = 0x00000008,
ACTOR_PART_FLAG_10 = 0x00000010,
ACTOR_PART_FLAG_20 = 0x00000020,
ACTOR_PART_FLAG_40 = 0x00000040,
ACTOR_PART_FLAG_80 = 0x00000080,
ACTOR_PART_FLAG_100 = 0x00000100,
ACTOR_PART_FLAG_200 = 0x00000200,
ACTOR_PART_FLAG_400 = 0x00000400,
ACTOR_PART_FLAG_800 = 0x00000800,
ACTOR_PART_FLAG_1000 = 0x00001000,
ACTOR_PART_FLAG_2000 = 0x00002000, ///< Plays extra hurt SFX?
ACTOR_PART_FLAG_4000 = 0x00004000,
ACTOR_PART_FLAG_8000 = 0x00008000,
ACTOR_PART_FLAG_10000 = 0x00010000,
ACTOR_PART_FLAG_NO_TARGET = 0x00020000, ///< Cannot be targeted.
ACTOR_PART_FLAG_40000 = 0x00040000,
ACTOR_PART_FLAG_80000 = 0x00080000,
ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION = 0x00100000,
ACTOR_PART_FLAG_200000 = 0x00200000,
ACTOR_PART_FLAG_400000 = 0x00400000,
ACTOR_PART_FLAG_MULTI_TARGET = 0x00800000, ///< Can be targeted with multi-target attacks (e.g. Star Storm).
ACTOR_PART_FLAG_1000000 = 0x01000000,
ACTOR_PART_FLAG_2000000 = 0x02000000,
ACTOR_PART_FLAG_4000000 = 0x04000000,
ACTOR_PART_FLAG_8000000 = 0x08000000,
ACTOR_PART_FLAG_10000000 = 0x10000000,
ACTOR_PART_FLAG_20000000 = 0x20000000,
ACTOR_PART_FLAG_40000000 = 0x40000000,
ACTOR_PART_FLAG_80000000 = 0x80000000,
};
enum ActorEventFlags {

View File

@ -917,8 +917,8 @@ void disable_actor_blur(Actor*);
void reset_actor_blur(Actor*);
void enable_actor_blur(Actor*);
void func_80251474(Actor*);
void func_8025C8A0(s32, ActorPart*);
void func_8025CD28(s32, ActorPart*);
void func_8025C8A0(s32, ActorPart*, s32 yaw, s32 arg3);
void func_8025CD28(s32, ActorPart*, s32 yaw, s32 arg3);
void _add_part_decoration(ActorPart*);
void _remove_part_decoration(ActorPart* part, s32 decorationIndex);
void func_8025D158(ActorPart*, s32);

View File

@ -1075,12 +1075,14 @@ s16 bMsgHeights[] = { 28, 40 }; // keyed by number of lines in the message (1 or
s16 D_802835D4[] = { 0, -2 };
s16 D_802835D8[] = { 0, -12 };
//TODO Vec3f[]
f32 D_802835DC[] = {
0.0f, 4.5, 0.0f, 1.0f, 4.0f, 0.0f, 2.0f, 3.0f, 0.0f, 3.0f, 2.0f, 0.0f, 3.5f, 1.0f, 0.0f, 4.0f, 0.0f, 0.0f, 4.5,
0.0f, 0.0f, 5.0f, 0.0f, 0.0f, 4.5, 0.0f, 0.0f, 4.0f, 0.0f, 0.0f, 3.5f, -1.0f, 0.0f, 3.0f, -2.0f, 0.0f, 2.0f, -3.0f,
0.0f, 1.0f, -4.0f, 0.0f, 0.0f, -4.5f, 0.0f,
};
//TODO Vec3f[]
f32 D_80283690[] = {
1.0f, 1.0f, 1.0f, 0.8f, 0.8f, 0.8f, 0.9f, 0.9f, 0.9f, 1.1f, 1.1f, 1.1f, 1.0f, 1.0f, 1.0f, 0.8f, 0.8f, 0.8f, 0.9f,
0.9f, 0.9f, 1.1f, 1.1f, 1.1f, 1.0f, 1.0f, 1.0f, 0.8f, 0.8f, 0.8f, 0.9f, 0.9f, 0.9f, 1.1f, 1.1f, 1.1f, 1.0f, 1.0f,

View File

@ -22,7 +22,7 @@ s32 calc_item_check_hit(void) {
ASSERT(actorPart != NULL);
if (!(actorPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY)) {
if (actor->transStatus == 0xE) {
if (actor->transStatus == STATUS_TRANSPARENT) {
return HIT_RESULT_MISS;
}
if (actor->stoneStatus == STATUS_STONE) {
@ -107,7 +107,7 @@ s32 calc_item_damage_enemy(void) {
if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_REMOVE_BUFFS)) {
if ((targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) ||
((target->transStatus == STATUS_E) || ((targetPart->eventFlags & ACTOR_EVENT_FLAG_800) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE))))
((target->transStatus == STATUS_TRANSPARENT) || ((targetPart->eventFlags & ACTOR_EVENT_FLAG_800) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE))))
{
return 6;
}

View File

@ -11,7 +11,8 @@ extern u8 D_80284120[];
extern s16 D_80284134[];
void update_player_actor_shadow(void);
void func_80255FE0(s32, void*);
void func_80255FE0(s32 isPartner, s32 actorIndex);
void func_802571F0(s32, Actor*);
void func_80259494(ActorPart*);
void func_8025950C(ActorPart*, s32, Matrix4f);
@ -19,7 +20,7 @@ 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, s32 arg3);
void func_8025CD40(s32, ActorPart*);
void func_8025CD40(s32 arg0, ActorPart* part, s32 yaw, s32 arg3);
void func_8025D150(ActorPart*, s32);
void func_8025D160(ActorPart*, s32);
@ -46,8 +47,11 @@ void func_8025B1A8(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4);
void func_8025B5C0(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4, s32 arg5);
void func_8025BAA0(s32 arg0, ActorPart* part, s32 yaw, s32 arg3, Matrix4f mtx, s32 arg5);
void func_8025C120(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4);
s32 func_8025C840(s32 arg0, ActorPart* part, s32 yaw, s32);
s32 func_8025CCC8(s32 arg0, ActorPart* part, s32 yaw, s32);
void func_8026709C(ActorPart* part);
s32 func_80254250(void) {
s32 func_80254250(ActorPart* part) {
s32 ret;
if (gBattleStatus.lastAttackDamage < 3) {
@ -460,7 +464,7 @@ void func_802552EC(s32 arg0, Actor* actor) {
continue;
}
if (partTable->flags & ACTOR_PART_FLAG_100000) {
if (partTable->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) {
guScaleF(sp2D8, actor->scale.x * SPRITE_PIXEL_SCALE, actor->scale.y * SPRITE_PIXEL_SCALE, actor->scale.z * SPRITE_PIXEL_SCALE);
}
@ -538,7 +542,7 @@ void func_802552EC(s32 arg0, Actor* actor) {
guMtxCatF(sp1D8, spD8, sp198);
guMtxCatF(sp198, sp258, sp1D8);
if (!(partTable->flags & ACTOR_PART_FLAG_100000)) {
if (!(partTable->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) {
guMtxCatF(sp1D8, sp298, sp198);
} else {
guMtxCatF(sp1D8, sp2D8, sp198);
@ -619,7 +623,7 @@ void update_actor_shadow(s32 arg0, Actor* actor) {
actorPart->unk_8C = func_802DE5C8(actorPart->unk_84);
}
if (!(actorPart->flags & ACTOR_PART_FLAG_100000)) {
if (!(actorPart->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) {
x2 = x1 + actorPart->partOffset.x + actorPart->visualOffset.x;
if (!(actor->flags & ACTOR_FLAG_HP_OFFSET_BELOW)) {
y2 = y1 + actorPart->partOffset.y + actorPart->visualOffset.y;
@ -715,16 +719,169 @@ void update_hero_shadows(void) {
void func_80255FD8(void) {
}
void create_status_chill_out(s32 iconID);
void enable_status_2(s32 iconID);
void enable_status_chill_out(s32 iconID);
void enable_status_debuff(s16);
void enable_status_transparent(s16);
s32 func_80265CE8(u32*, s32);
void func_80266DAC(Actor* actor, s32 arg1);
void set_status_icons_offset(s32 iconID, s32 offsetY, s32 arg2);
void set_status_icons_properties(s32 iconID, f32 x, f32 y, f32 z, s32 arg, s32 arg2, s32 radius, s32 offsetY);
INCLUDE_ASM(s32, "182B30", func_80255FE0);
INCLUDE_ASM(s32, "182B30", func_802571F0);
void func_802571F0(s32 flipYaw, Actor* actor) {
Matrix4f mtxRotX, mtxRotY, mtxRotZ, mtxRotation, mtxScale;
Matrix4f mtxPivotOn, mtxPivotOff, mtxTranslate;
Matrix4f mtxTemp, mtxTransform, mtxMirror;
Matrix4f mtxActor, mtxPartScale;
ActorPart* part;
f32 actorPosX, actorPosY, actorPosZ;
f32 partPosX, partPosY, partPosZ;
f32 partYaw;
s32 numParts;
s32 i;
actorPosX = actor->currentPos.x + actor->headOffset.x;
if (!(actor->flags & ACTOR_FLAG_HP_OFFSET_BELOW)) {
actorPosY = actor->currentPos.y + actor->headOffset.y;
} else {
actorPosY = actor->currentPos.y - actor->headOffset.y;
}
actorPosZ = actor->currentPos.z + actor->headOffset.z - 5.0f;
if (!(actor->flags & ACTOR_FLAG_HP_OFFSET_BELOW)) {
guTranslateF(mtxPivotOn,
-actor->rotationPivotOffset.x * actor->scalingFactor,
-actor->rotationPivotOffset.y * actor->scalingFactor,
-actor->rotationPivotOffset.z * actor->scalingFactor);
guTranslateF(mtxPivotOff,
actor->rotationPivotOffset.x * actor->scalingFactor,
actor->rotationPivotOffset.y * actor->scalingFactor,
actor->rotationPivotOffset.z * actor->scalingFactor);
} else {
guTranslateF(mtxPivotOn,
-actor->rotationPivotOffset.x * actor->scalingFactor,
actor->rotationPivotOffset.y * actor->scalingFactor,
-actor->rotationPivotOffset.z * actor->scalingFactor);
guTranslateF(mtxPivotOff,
actor->rotationPivotOffset.x * actor->scalingFactor,
-actor->rotationPivotOffset.y * actor->scalingFactor,
actor->rotationPivotOffset.z * actor->scalingFactor);
}
guRotateF(mtxRotX, actor->rotation.x, 1.0f, 0.0f, 0.0f);
guRotateF(mtxRotY, actor->rotation.y, 0.0f, 1.0f, 0.0f);
guRotateF(mtxRotZ, actor->rotation.z, 0.0f, 0.0f, 1.0f);
guMtxCatF(mtxRotY, mtxRotX, mtxTemp);
guMtxCatF(mtxTemp, mtxRotZ, mtxRotation);
guScaleF(mtxScale,
actor->scale.x * SPRITE_WORLD_SCALE_D * actor->scalingFactor,
actor->scale.y * SPRITE_WORLD_SCALE_D * actor->scalingFactor,
actor->scale.z * SPRITE_WORLD_SCALE_D);
guMtxCatF(mtxPivotOn, mtxScale, mtxTemp);
guMtxCatF(mtxTemp, mtxRotation, mtxTransform);
guMtxCatF(mtxTransform, mtxPivotOff, mtxActor);
part = actor->partsTable;
numParts = actor->numParts;
for (i = 0; i < numParts; i++) {
// determine part position
if (!(part->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) {
partPosX = actorPosX + part->partOffset.x + part->visualOffset.x;
if (!(actor->flags & ACTOR_FLAG_HP_OFFSET_BELOW)) {
partPosY = actorPosY + part->partOffset.y + part->visualOffset.y;
} else {
partPosY = actorPosY - part->partOffset.y - part->visualOffset.y;
}
partPosZ = actorPosZ + part->partOffset.z + part->visualOffset.z;
partYaw = part->yaw = actor->yaw;
} else {
partPosX = part->absolutePosition.x + part->visualOffset.x;
partPosY = part->absolutePosition.y + part->visualOffset.y;
partPosZ = part->absolutePosition.z + part->visualOffset.z;
guScaleF(mtxPartScale,
actor->scale.x * SPRITE_WORLD_SCALE_D,
actor->scale.y * SPRITE_WORLD_SCALE_D,
actor->scale.z * SPRITE_WORLD_SCALE_D);
partYaw = part->yaw;
}
if (part->flags & ACTOR_PART_FLAG_INVISIBLE) {
part = part->nextPart;
continue;
}
if (part->idleAnimations == NULL) {
part = part->nextPart;
continue;
}
if (!(actor->flags & ACTOR_FLAG_HP_OFFSET_BELOW)) {
guTranslateF(mtxPivotOn,
-part->rotationPivotOffset.x * actor->scalingFactor,
-part->rotationPivotOffset.y * actor->scalingFactor,
-part->rotationPivotOffset.z * actor->scalingFactor);
guTranslateF(mtxPivotOff,
part->rotationPivotOffset.x * actor->scalingFactor,
part->rotationPivotOffset.y * actor->scalingFactor,
part->rotationPivotOffset.z * actor->scalingFactor);
} else {
guTranslateF(mtxPivotOn,
-part->rotationPivotOffset.x * actor->scalingFactor,
part->rotationPivotOffset.y * actor->scalingFactor,
-part->rotationPivotOffset.z * actor->scalingFactor);
guTranslateF(mtxPivotOff,
part->rotationPivotOffset.x * actor->scalingFactor,
-part->rotationPivotOffset.y * actor->scalingFactor,
part->rotationPivotOffset.z * actor->scalingFactor);
}
guTranslateF(mtxTranslate,
partPosX + part->unkOffset[0],
partPosY + part->unkOffset[1],
partPosZ - 1.0f);
guRotateF(mtxRotX, part->rotation.x, 1.0f, 0.0f, 0.0f);
guRotateF(mtxRotY, part->rotation.y, 0.0f, 1.0f, 0.0f);
guRotateF(mtxRotZ, part->rotation.z, 0.0f, 0.0f, 1.0f);
guMtxCatF(mtxRotY, mtxRotX, mtxTemp);
guMtxCatF(mtxTemp, mtxRotZ, mtxRotation);
guScaleF(mtxScale, part->scale.x, part->scale.y * part->verticalStretch, part->scale.z);
mtx_mirror_y(mtxMirror);
guMtxCatF(mtxScale, mtxPivotOn, mtxTemp);
guMtxCatF(mtxTemp, mtxRotation, mtxTransform);
guMtxCatF(mtxTransform, mtxPivotOff, mtxTemp);
if (!(part->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) {
guMtxCatF(mtxTemp, mtxActor, mtxTransform);
} else {
guMtxCatF(mtxTemp, mtxPartScale, mtxTransform);
}
guMtxCatF(mtxTransform, mtxTranslate, mtxTemp);
guMtxCatF(mtxTemp, mtxMirror, mtxTransform);
if (flipYaw == 0) {
func_8025C840(1, part, partYaw, 1);
func_8025CCC8(1, part, partYaw, 1);
func_802591EC(1, part, partYaw, mtxTransform, 1);
} else {
func_8025C840(1, part, clamp_angle(partYaw + 180.0f), 1);
func_8025CCC8(1, part, clamp_angle(partYaw + 180.0f), 1);
func_802591EC(1, part, clamp_angle(partYaw + 180.0f), mtxTransform, 1);
}
part = part->nextPart;
}
}
void func_80257B28(void* data) {
func_80255FE0(0, data);
func_80255FE0(0, (s32) data);
}
void func_80257B48(void* data) {
func_80255FE0(1, data);
func_80255FE0(1, (s32) data);
}
void func_80257B68(void* data) {
@ -785,7 +942,54 @@ void update_player_actor_shadow(void) {
INCLUDE_ASM(void, "182B30", func_80257DA4);
INCLUDE_ASM(void, "182B30", func_80258E14);
void func_80258E14(void* arg0) {
Matrix4f mtxRotX, mtxRotY, mtxRotZ, mtxRotation, mtxScale;
Matrix4f mtxPivotOn, mtxPivotOff, mtxTranslate;
Matrix4f mtxTemp, mtxTransform, mtxMirror;
Actor* player = gBattleStatus.playerActor;
ActorPart* part = &player->partsTable[0];
f32 playerYaw = player->yaw;
f32 dx, dy, dz;
dx = player->currentPos.x + player->headOffset.x;
dx += part->unkOffset[0];
dy = player->currentPos.y + player->headOffset.y;
dy += part->unkOffset[1];
dz = player->currentPos.z + player->headOffset.z - 5.0f;
part->yaw = playerYaw;
guTranslateF(mtxTranslate, dx, dy, dz - 1.0f);
guTranslateF(mtxPivotOn,
-player->rotationPivotOffset.x * player->scalingFactor,
-player->rotationPivotOffset.y * player->scalingFactor,
-player->rotationPivotOffset.z * player->scalingFactor);
guTranslateF(mtxPivotOff,
player->rotationPivotOffset.x * player->scalingFactor,
player->rotationPivotOffset.y * player->scalingFactor,
player->rotationPivotOffset.z * player->scalingFactor);
guRotateF(mtxRotX, player->rotation.x, 1.0f, 0.0f, 0.0f);
guRotateF(mtxRotY, player->rotation.y, 0.0f, 1.0f, 0.0f);
guRotateF(mtxRotZ, player->rotation.z, 0.0f, 0.0f, 1.0f);
guMtxCatF(mtxRotY, mtxRotX, mtxTemp);
guMtxCatF(mtxTemp, mtxRotZ, mtxRotation);
guScaleF(mtxScale,
player->scale.x * SPRITE_WORLD_SCALE_D * player->scalingFactor,
player->scale.y * SPRITE_WORLD_SCALE_D * player->scalingFactor * part->verticalStretch,
player->scale.z * SPRITE_WORLD_SCALE_D);
mtx_mirror_y(mtxMirror);
guMtxCatF(mtxScale, mtxPivotOn, mtxTemp);
guMtxCatF(mtxTemp, mtxRotation, mtxTemp);
guMtxCatF(mtxTemp, mtxPivotOff, mtxTemp);
guMtxCatF(mtxTemp, mtxTranslate, mtxTransform);
guMtxCatF(mtxTransform, mtxMirror, mtxTransform);
func_8025C840(0, part, clamp_angle(playerYaw + 180.0f), 1);
func_8025CCC8(0, part, clamp_angle(playerYaw + 180.0f), 1);
func_802591EC(0, part, clamp_angle(playerYaw + 180.0f), mtxTransform, 1);
}
s32 func_802591EC(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, s32 arg4) {
s32 opacity;
@ -1812,6 +2016,8 @@ void func_8025BAA0(s32 arg0, ActorPart* part, s32 yaw, s32 arg3, Matrix4f mtx, s
r1 = (r + r1 * alpha) / 255;
g1 = (g * (255 - alpha) + g1 * alpha) / 255;
b1 = (b * (255 - alpha) + b1 * alpha) / 255;
*palOut++ = ((r1 & 0xFF) << 11) | ((g1 & 0xFF) << 6) | ((b1 & 0xFF) << 1) | a;
}
if (alpha == 255) {
decorationTable->unk_6C2 = 2;
@ -1891,7 +2097,7 @@ 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);
func_8025C8A0(arg0, part, yaw, arg3);
return 0;
case 11:
func_8025C918(arg0, part, yaw, arg3);
@ -1901,35 +2107,90 @@ s32 func_8025C840(s32 arg0, ActorPart* part, s32 yaw, s32 arg3) {
return 0;
}
void func_8025C8A0(s32 arg0, ActorPart* arg1) {
if (arg1->decorationTable->unk_751 != 0) {
arg1->decorationTable->unk_751 = 0;
void func_8025C8A0(s32 arg0, ActorPart* part, s32 yaw, s32 arg3) {
if (part->decorationTable->unk_751 != 0) {
part->decorationTable->unk_751 = 0;
if (arg0 == 0) {
func_802DDFF8(0, 0, 0, 0, 0, 0, 0);
} else {
func_802DE894(arg1->unk_84, 0, 0, 0, 0, 0, 0);
func_802DE894(part->unk_84, 0, 0, 0, 0, 0, 0);
}
}
}
INCLUDE_ASM(s32, "182B30", func_8025C918);
void func_8025C918(s32 arg0, ActorPart* part, s32 yaw, s32 arg3) {
DecorationTable* decor = part->decorationTable;
u8 rbuf[20];
u8 gbuf[20];
u8 bbuf[20];
s32 alpha;
s32 color;
s32 i;
s32 baseAngle;
if (decor->unk_751 != 0) {
decor->unk_752 = -2;
decor->unk75A = 0;
decor->unk_751 = 0;
decor->unk758 = 0;
if (arg0 == 0) {
func_802DDFF8(0, 0x11, 0x14, 0, 0, 0xFF, 0);
} else {
func_802DE894(part->unk_84, 0x11, 0x14, 0, 0, 0xFF, 0);
}
}
decor->unk75C += 7;
baseAngle = decor->unk75C;
if (decor->unk75C >= 360) {
decor->unk75C = baseAngle - ((baseAngle / 360) * 360);
}
for (i = 0; i < ARRAY_COUNT(rbuf); i++) {
rbuf[i] = (cosine(decor->unk75C + (25 * i)) + 1.0) * 112.0;
gbuf[i] = (cosine(decor->unk75C + (25 * i) + 45) + 1.0) * 112.0;
bbuf[i] = (cosine(decor->unk75C + (25 * i) + 90) + 1.0) * 112.0;
}
alpha = 255;
if (part->opacity < 255) {
alpha = part->opacity;
}
if (part->flags & 0x100) {
alpha = (alpha * 120) / 255;
}
for (i = 0; i < ARRAY_COUNT(rbuf); i++) {
color = (rbuf[i] << 0x18) | (gbuf[i] << 0x10) | (bbuf[i] << 8) | alpha;
if (arg0 == 0) {
func_802DDFF8(0, 0xC, i, color, 0, 0xFF, 0);
} else {
func_802DE894(part->unk_84, 0xC, i, color, 0, 0xFF, 0);
}
}
if (arg3 == 0) {
decor->unk75A -= 1;
}
}
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:
func_8025CD28(arg0, part);
func_8025CD28(arg0, part, yaw, arg3);
return 0;
case 1:
func_8025CD40(arg0, part);
func_8025CD40(arg0, part, yaw, arg3);
return 0;
}
}
return 0;
}
void func_8025CD28(s32 arg0, ActorPart* arg1) {
DecorationTable* decorationTable = arg1->decorationTable;
void func_8025CD28(s32 arg0, ActorPart* part, s32 yaw, s32 arg3) {
DecorationTable* decorationTable = part->decorationTable;
if (decorationTable->unk_765 != 0) {
decorationTable->unk_765 = 0;
@ -1937,7 +2198,101 @@ void func_8025CD28(s32 arg0, ActorPart* arg1) {
decorationTable->unk_768 = 0;
}
INCLUDE_ASM(s32, "182B30", func_8025CD40);
void func_8025CD40(s32 arg0, ActorPart* part, s32 yaw, s32 arg3) {
DecorationTable* decor = part->decorationTable;
if (decor->unk_765 != 0) {
switch (func_80254250(part)) {
case 0:
decor->unk_767 = 1;
decor->unk_766 = 0;
break;
case 1:
decor->unk_767 = 8;
decor->unk_766 = 1;
break;
case 2:
default:
decor->unk_767 = 0xE;
decor->unk_766 = 2;
break;
}
decor->unk_768 = 0;
decor->unk_765 = 0;
}
if (decor->unk_766 == 3) {
decor->unk_768 = 0;
func_8026709C(part);
}
switch (decor->unk_766) {
case 0:
switch (decor->unk_767) {
case 0:
decor->unk_768 = -1;
decor->unk_766 = 3;
break;
default:
decor->unk_768 = 0;
if (arg3 == 0) {
decor->unk_767--;
}
break;
}
break;
case 1:
switch (decor->unk_767) {
case 1:
case 2:
case 5:
case 6:
decor->unk_768 = -1;
break;
case 3:
case 4:
case 7:
case 8:
decor->unk_768 = 0;
break;
case 0:
decor->unk_766 = 3;
break;
}
if (arg3 == 0) {
decor->unk_767--;
}
break;
case 2:
switch (decor->unk_767) {
case 1:
case 2:
case 5:
case 6:
case 9:
case 10:
case 13:
case 14:
decor->unk_768 = 0;
break;
case 3:
case 4:
case 7:
case 8:
case 11:
case 12:
decor->unk_768 = -1;
break;
case 0:
decor->unk_766 = 3;
break;
}
if (arg3 == 0) {
decor->unk_767--;
}
break;
}
}
void _add_part_decoration(ActorPart* actorPart) {
DecorationTable* decorationTable;
@ -2047,14 +2402,14 @@ void func_8025D160(ActorPart* arg0, s32 arg1) {
switch (table->unk_8BC[arg1]) {
case 0:
fx_aura(3, arg0->currentPos.x, arg0->currentPos.y, arg0->currentPos.z, 0.4f, &table->unk_8B0[arg1]);
fx_aura(3, arg0->currentPos.x, arg0->currentPos.y, arg0->currentPos.z, 0.4f, &table->effects[arg1]);
table->unk_8BC[arg1] = 1;
table->unk_8C6[arg1].unk00 = 0x28;
table->unk_8C6[arg1].unk02 = 0x28;
table->unk_8C6[arg1].unk04 = 0;
break;
case 1:
effect = table->unk_8B0[arg1];
effect = table->effects[arg1];
data = effect->data.aura;
data->posA.x = arg0->currentPos.x + table->unk_8C6[arg1].unk04;
data->posA.y = arg0->currentPos.y;
@ -2070,7 +2425,7 @@ void func_8025D160(ActorPart* arg0, s32 arg1) {
}
void func_8025D290(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->data.aura->fadeTime = 5;
part->decorationTable->effects[decorationIndex]->data.aura->fadeTime = 5;
}
void func_8025D2B0(ActorPart* part, s32 decorationIndex) {
@ -2108,11 +2463,11 @@ void func_8025D3CC(ActorPart* part, s32 decorationIndex) {
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]);
20.0f, 3, &decor->effects[decorationIndex]);
decor->unk_8BC[decorationIndex] = 1;
break;
case 1:
data = decor->unk_8B0[decorationIndex]->data.starsOrbiting;
data = decor->effects[decorationIndex]->data.starsOrbiting;
data->pos.x = part->currentPos.x;
data->pos.y = part->currentPos.y + part->size.y;
data->pos.z = part->currentPos.z;
@ -2121,7 +2476,7 @@ void func_8025D3CC(ActorPart* part, s32 decorationIndex) {
}
void func_8025D4A0(ActorPart* part, s32 decorationIndex) {
remove_effect(part->decorationTable->unk_8B0[decorationIndex]);
remove_effect(part->decorationTable->effects[decorationIndex]);
}
void func_8025D4C8(ActorPart* part, s32 decorationIndex) {
@ -2132,18 +2487,18 @@ void func_8025D4C8(ActorPart* part, s32 decorationIndex) {
switch (decor->unk_8BC[decorationIndex]) {
case 0:
fx_aura(1, part->currentPos.x, part->currentPos.y, part->currentPos.z, 0.4f, &decor->unk_8B0[decorationIndex]);
fx_aura(1, part->currentPos.x, part->currentPos.y, part->currentPos.z, 0.4f, &decor->effects[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].unk00 = 40;
decor->unk_8C6[decorationIndex].unk02 = 40;
decor->unk_8C6[decorationIndex].unk04 = 255;
decor->unk_8C6[decorationIndex].unk06 = 0;
decor->unk_8C6[decorationIndex].unk08 = 0xFF;
decor->unk_8C6[decorationIndex].unk08 = 255;
decor->unk_8C6[decorationIndex].unk0A = 0;
decor->unk_8C6[decorationIndex].unk0C = 0;
// fall through
// fallthrough
case 1:
effect = decor->unk_8B0[decorationIndex];
effect = decor->effects[decorationIndex];
data = effect->data.aura;
data->posA.x = part->currentPos.x;
data->posA.y = part->currentPos.y;
@ -2161,7 +2516,7 @@ void func_8025D4C8(ActorPart* part, s32 decorationIndex) {
}
void func_8025D620(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->data.aura->fadeTime = 5;
part->decorationTable->effects[decorationIndex]->data.aura->fadeTime = 5;
}
void func_8025D640(ActorPart* part, s32 decorationIndex) {
@ -2170,11 +2525,11 @@ void func_8025D640(ActorPart* part, s32 decorationIndex) {
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->effects[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 = decor->effects[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;
@ -2183,7 +2538,7 @@ void func_8025D640(ActorPart* part, s32 decorationIndex) {
}
void func_8025D6FC(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->flags |= 0x10;
part->decorationTable->effects[decorationIndex]->flags |= 0x10;
}
void func_8025D71C(ActorPart* part, s32 decorationIndex) {
@ -2192,12 +2547,12 @@ void func_8025D71C(ActorPart* part, s32 decorationIndex) {
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->effects[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 = decor->effects[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;
@ -2207,7 +2562,7 @@ void func_8025D71C(ActorPart* part, s32 decorationIndex) {
}
void func_8025D810(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->flags |= 0x10;
part->decorationTable->effects[decorationIndex]->flags |= 0x10;
}
void func_8025D830(ActorPart* part, s32 decorationIndex) {
@ -2216,11 +2571,11 @@ void func_8025D830(ActorPart* part, s32 decorationIndex) {
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->effects[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 = decor->effects[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;
@ -2229,7 +2584,7 @@ void func_8025D830(ActorPart* part, s32 decorationIndex) {
}
void func_8025D8EC(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->flags |= 0x10;
part->decorationTable->effects[decorationIndex]->flags |= EFFECT_INSTANCE_FLAGS_10;
}
void func_8025D90C(ActorPart* part, s32 decorationIndex) {
@ -2240,7 +2595,7 @@ void func_8025D90C(ActorPart* part, s32 decorationIndex) {
case 0:
decor->unk_8BE[decorationIndex] = 0;
decor->unk_8BC[decorationIndex] = 1;
// fall through
// fallthrough
case 1:
decor->unk_8BE[decorationIndex]++;
if (decor->unk_8BE[decorationIndex] >= 4) {
@ -2270,19 +2625,19 @@ void func_8025DA68(ActorPart* part, s32 decorationIndex) {
case 0:
decor->unk_8BE[decorationIndex] = 0;
decor->unk_8BC[decorationIndex] = 1;
/* fallthrough */
// 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);
fx_sparkles(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);
fx_sparkles(FX_SPARKLES_1, x, y, z, 20.0f);
}
break;
}
@ -2300,15 +2655,15 @@ void func_8025DBD0(ActorPart* part, s32 decorationIndex) {
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]);
fx_aura(2, part->currentPos.x, part->currentPos.y, part->currentPos.z, 1.2f, &decor->effects[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].unk00 = 150;
decor->unk_8C6[decorationIndex].unk02 = 150;
decor->unk_8C6[decorationIndex].unk04 = 255;
decor->unk_8C6[decorationIndex].unk06 = 0;
// fall through
// fallthrough
case 1:
effect = decor->unk_8B0[decorationIndex];
effect = decor->effects[decorationIndex];
data = effect->data.aura;
data->posA.x = part->currentPos.x;
data->posA.y = part->currentPos.y;
@ -2327,7 +2682,7 @@ void func_8025DBD0(ActorPart* part, s32 decorationIndex) {
}
void func_8025DD40(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->data.aura->fadeTime = 5;
part->decorationTable->effects[decorationIndex]->data.aura->fadeTime = 5;
}
void func_8025DD60(ActorPart* part, s32 decorationIndex) {
@ -2337,13 +2692,13 @@ void func_8025DD60(ActorPart* part, s32 decorationIndex) {
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->effects[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
// fallthrough
case 1:
data = decor->unk_8B0[decorationIndex]->data.energyInOut;
data = decor->effects[decorationIndex]->data.energyInOut;
scale = decor->unk_8C6[decorationIndex].unk00;
scale /= 100.0f;
data->unk_44 = scale;
@ -2355,5 +2710,5 @@ void func_8025DD60(ActorPart* part, s32 decorationIndex) {
}
void func_8025DE88(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->flags |= 0x10;
part->decorationTable->effects[decorationIndex]->flags |= 0x10;
}

View File

@ -972,15 +972,13 @@ void load_player_actor(void) {
decorationTable->unk_7DB = 0;
decorationTable->effectType = 0;
for (j = 0; j < ARRAY_COUNT(decorationTable->unk_8B0); j++) {
decorationTable->unk_8B0[j] = NULL;
for (j = 0; j < ARRAY_COUNT(decorationTable->effects); j++) {
decorationTable->effects[j] = NULL;
decorationTable->decorationType[j] = 0;
}
}
partMovement = heap_malloc(sizeof(*partMovement));
part->movement = partMovement;
partMovement = part->movement = heap_malloc(sizeof(*partMovement));
ASSERT(partMovement != NULL);
player->shadow.id = create_shadow_type(0, player->currentPos.x, player->currentPos.y, player->currentPos.z);
@ -1203,8 +1201,8 @@ void load_partner_actor(void) {
decorationTable->unk_7DB = 0;
decorationTable->effectType = 0;
for (j = 0; j < ARRAY_COUNT(decorationTable->unk_8B0); j++) {
decorationTable->unk_8B0[j] = NULL;
for (j = 0; j < ARRAY_COUNT(decorationTable->effects); j++) {
decorationTable->effects[j] = NULL;
decorationTable->decorationType[j] = 0;
}
}
@ -1280,8 +1278,8 @@ Actor* create_actor(Formation formation) {
}
}
battleStatus->enemyActors[i] = heap_malloc(sizeof(*actor));
actor = battleStatus->enemyActors[i];
actor = battleStatus->enemyActors[i] = heap_malloc(sizeof(*actor));
ASSERT(actor != NULL);
actor->unk_134 = battleStatus->unk_93++;
@ -1465,8 +1463,8 @@ Actor* create_actor(Formation formation) {
decorationTable->unk_7DB = 0;
decorationTable->effectType = 0;
for (k = 0; k < ARRAY_COUNT(decorationTable->unk_8B0); k++) {
decorationTable->unk_8B0[k] = NULL;
for (k = 0; k < ARRAY_COUNT(decorationTable->effects); k++) {
decorationTable->effects[k] = NULL;
decorationTable->decorationType[k] = 0;
}
@ -1517,25 +1515,25 @@ Actor* create_actor(Formation formation) {
return actor;
}
s32 func_80265CE8(u32* anim, s32 arg1) {
s32 ret;
s32 func_80265CE8(AnimID* animations, s32 statusKey) {
AnimID foundAnim;
if (anim == 0) {
if (animations == NULL) {
return 0;
}
ret = 0;
while (*anim != NULL) {
if (*anim == 1) {
ret = anim[1];
foundAnim = 0;
while (animations[DICTIONARY_KEY] != NULL) {
if (animations[DICTIONARY_KEY] == STATUS_NORMAL) {
foundAnim = animations[DICTIONARY_VALUE];
}
if (*anim == arg1) {
ret = anim[1];
if (animations[DICTIONARY_KEY] == statusKey) {
foundAnim = animations[DICTIONARY_VALUE];
break;
}
anim += 2;
animations += DICTIONARY_SIZE;
}
return ret;
return foundAnim;
}
s32 func_80265D44(s32 animID) {
@ -1756,15 +1754,15 @@ s32 inflict_status(Actor* target, s32 statusTypeKey, s32 duration) {
target->status = STATUS_DAZE;
}
return TRUE;
case STATUS_E:
case STATUS_TRANSPARENT:
if (target->actorID != ACTOR_PARTNER) {
target->transStatus = STATUS_E;
target->transStatus = STATUS_TRANSPARENT;
target->transDuration = duration;
if ((s8)duration > 9) {
target->transDuration = 9;
}
target->status = STATUS_E;
create_status_transparent(target->hudElementDataIndex, STATUS_E);
target->status = STATUS_TRANSPARENT;
create_status_transparent(target->hudElementDataIndex, STATUS_TRANSPARENT);
}
return TRUE;
case STATUS_END:
@ -1981,7 +1979,7 @@ void func_802667F0(s32 arg0, Actor* actor, f32 x, f32 y, f32 z) {
Actor* player = gBattleStatus.playerActor;
s32 type;
if (actor->unk_200 == NULL) {
if (actor->attackResultEffect == NULL) {
type = 0;
switch (arg0) {
case 0:
@ -2012,10 +2010,10 @@ void func_802667F0(s32 arg0, Actor* actor, f32 x, f32 y, f32 z) {
}
break;
}
actor->unk_200 = fx_attack_result_text(type, x, y, z - 10.0f, 12.0f, 90);
actor->attackResultEffect = fx_attack_result_text(type, x, y, z - 10.0f, 12.0f, 90);
actor->unk_205 = 80;
} else {
((AttackResultTextFXData*)actor->unk_200->data)->unk_18 = 0;
actor->attackResultEffect->data.attackResultText->unk_18 = 0;
type = actor->unk_204;
switch (arg0) {
case 0:
@ -2044,7 +2042,7 @@ void func_802667F0(s32 arg0, Actor* actor, f32 x, f32 y, f32 z) {
}
break;
}
actor->unk_200 = fx_attack_result_text(type, x, y, z - 10.0f, 12.0f, 90);
actor->attackResultEffect = fx_attack_result_text(type, x, y, z - 10.0f, 12.0f, 90);
actor->unk_205 = 80;
}
}
@ -2255,7 +2253,7 @@ void func_80266E40(Actor* actor) {
DecorationTable* decorationTable = partIt->decorationTable;
do {
if (!(partIt->flags & (ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_INVISIBLE)) &&
if (!(partIt->flags & (ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_INVISIBLE)) &&
(partIt->idleAnimations != NULL) &&
!(partIt->flags & ACTOR_PART_FLAG_2))
{
@ -2284,7 +2282,7 @@ void func_80266EE8(Actor* actor, s32 arg1) {
ActorPart* partIt = &actor->partsTable[0];
while (partIt != NULL) {
if (!(partIt->flags & (ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_INVISIBLE)) &&
if (!(partIt->flags & (ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_INVISIBLE)) &&
(partIt->idleAnimations != NULL) &&
!(partIt->flags & ACTOR_PART_FLAG_2))
{
@ -2307,7 +2305,7 @@ void func_80266F8C(Actor* actor) {
DecorationTable* decorationTable = actorPart->decorationTable;
do {
if (!(actorPart->flags & (ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_INVISIBLE)) &&
if (!(actorPart->flags & (ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_INVISIBLE)) &&
actorPart->idleAnimations != NULL &&
!(actorPart->flags & ACTOR_PART_FLAG_2))
{
@ -2334,7 +2332,7 @@ void func_80267018(Actor* actor, s32 arg1) {
ActorPart* actorPart = &actor->partsTable[0];
while (actorPart != NULL) {
if (!(actorPart->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_100000)) &&
if (!(actorPart->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) &&
actorPart->decorationTable != NULL && !(actorPart->flags & ACTOR_PART_FLAG_2) &&
actorPart->idleAnimations != NULL)
{
@ -2357,7 +2355,7 @@ void func_802670C8(Actor* actor) {
DecorationTable* decorationTable = partIt->decorationTable;
do {
if (!(partIt->flags & (ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_INVISIBLE)) &&
if (!(partIt->flags & (ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_INVISIBLE)) &&
(partIt->idleAnimations != NULL) &&
!(partIt->flags & ACTOR_PART_FLAG_2))
{
@ -2382,7 +2380,7 @@ void add_part_decoration(ActorPart* part, s32 decorationIndex, s32 decorationTyp
void add_actor_decoration(Actor* actor, s32 decorationIndex, s32 decorationType) {
ActorPart* part;
for (part = actor->partsTable; part != NULL; part = part->nextPart) {
if (!(part->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_100000)) && part->idleAnimations &&
if (!(part->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) && part->idleAnimations &&
!(part->flags & ACTOR_PART_FLAG_2))
{
add_part_decoration(part, decorationIndex, decorationType);
@ -2398,7 +2396,7 @@ void remove_actor_decoration(Actor* actor, s32 decorationIndex) {
ActorPart* part;
for (part = actor->partsTable; part != NULL; part = part->nextPart) {
if (!(part->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_100000)) && part->idleAnimations &&
if (!(part->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) && part->idleAnimations &&
!(part->flags & ACTOR_PART_FLAG_2))
{
remove_part_decoration(part, decorationIndex);

View File

@ -189,26 +189,26 @@ s32 calc_player_test_enemy(void) {
target = get_actor(currentTargetID);
if (target == NULL) {
return 0;
return HIT_RESULT_HIT;
}
part = get_actor_part(target, targetPart);
ASSERT(part != NULL);
if (part->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) {
return 6;
} else if (target->transStatus == STATUS_E || ((part->eventFlags & ACTOR_EVENT_FLAG_800) &&
return HIT_RESULT_MISS;
} else if (target->transStatus == STATUS_TRANSPARENT || ((part->eventFlags & ACTOR_EVENT_FLAG_800) &&
!(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE)))
{
return 6;
return HIT_RESULT_MISS;
} else if (target->stoneStatus == STATUS_STONE) {
sfx_play_sound_at_position(SOUND_IMMUNE, 0, state->goalPos.x, state->goalPos.y, state->goalPos.z);
return 8;
return HIT_RESULT_IMMUNE;
} else if ((battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP) && (part->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP) &&
!player_team_is_ability_active(player, ABILITY_SPIKE_SHIELD))
{
sfx_play_sound_at_position(SOUND_108, 0, state->goalPos.x, state->goalPos.y, state->goalPos.z);
return 4;
return HIT_RESULT_LANDED_ON_SPIKE;
} else if (!(battleStatus->currentAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_JUMP)) &&
(part->eventFlags & ACTOR_EVENT_FLAG_SPIKY_FRONT) &&
(!(battleStatus->currentAttackEventSuppression & 4) &&
@ -217,12 +217,12 @@ s32 calc_player_test_enemy(void) {
sfx_play_sound_at_position(SOUND_108, 0, state->goalPos.x, state->goalPos.y, state->goalPos.z);
dispatch_damage_event_player_1(1, EVENT_SPIKE_CONTACT);
dispatch_event_actor(target, EVENT_SPIKE_TAUNT);
return -1;
return HIT_RESULT_TRIGGERED_EXPLODE;
} else if (player->staticStatus != STATUS_STATIC && target->staticStatus == STATUS_STATIC) {
return 7;
return HIT_RESULT_HIT_STATIC;
}
return 0;
return HIT_RESULT_HIT;
}
s32 calc_player_damage_enemy(void) {
@ -243,6 +243,7 @@ s32 calc_player_damage_enemy(void) {
s32 sp24;
s32 isFireDamage;
s32 isElectricDamage;
s32 isWaterDamage;
s32 isIceDamage;
s32 tempBinary;
s32 wasStatusInflicted;
@ -285,7 +286,7 @@ s32 calc_player_damage_enemy(void) {
}
}
if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY || (target->transStatus == STATUS_E ||
if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY || (target->transStatus == STATUS_TRANSPARENT ||
targetPart->eventFlags & ACTOR_EVENT_FLAG_800 && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE))) {
return 6;
}
@ -343,7 +344,7 @@ s32 calc_player_damage_enemy(void) {
}
if (battleStatus->currentAttackElement & DAMAGE_TYPE_FIRE) {
fx_ring_blast(0, state->goalPos.x, state->goalPos.y, state->goalPos.z * 5.0f, 1.0f, 0x18);
fx_ring_blast(0, state->goalPos.x, state->goalPos.y, state->goalPos.z * 5.0f, 1.0f, 24);
isFireDamage = TRUE;
}
@ -353,7 +354,8 @@ s32 calc_player_damage_enemy(void) {
}
if (battleStatus->currentAttackElement & DAMAGE_TYPE_WATER) {
fx_water_splash(0, state->goalPos.x, state->goalPos.y, state->goalPos.z + 5.0f, 1.0f, 0x18);
fx_water_splash(0, state->goalPos.x, state->goalPos.y, state->goalPos.z + 5.0f, 1.0f, 24);
isWaterDamage = TRUE;
}
if (battleStatus->currentAttackElement & DAMAGE_TYPE_ICE) {
@ -364,7 +366,7 @@ s32 calc_player_damage_enemy(void) {
attackFxType = player_team_is_ability_active(player, ABILITY_ATTACK_FX);
if (attackFxType) {
fx_breaking_junk(0, state->goalPos.x, state->goalPos.y, state->goalPos.z + 5.0f, 1.0f, 0x1E);
fx_breaking_junk(0, state->goalPos.x, state->goalPos.y, state->goalPos.z + 5.0f, 1.0f, 30);
switch (attackFxType) {
case 1:
@ -483,14 +485,14 @@ s32 calc_player_damage_enemy(void) {
if (gBattleStatus.flags2 & BS_FLAGS2_8000000 && (gBattleStatus.flags1 & BS_FLAGS1_10 ||
battleStatus->currentAttackElement & DAMAGE_TYPE_JUMP)) {
if (battleStatus->rushFlags & 2) {
currentAttackDamage = currentAttackDamage + 2;
if (battleStatus->rushFlags & RUSH_FLAG_POWER) {
currentAttackDamage += 2;
}
if (battleStatus->rushFlags & 1) {
currentAttackDamage = currentAttackDamage + 4;
if (battleStatus->rushFlags & RUSH_FLAG_MEGA) {
currentAttackDamage += 4;
}
fx_radial_shimmer(9, state->goalPos.x, state->goalPos.y, state->goalPos.z, 0.5f, 0x14);
fx_radial_shimmer(9, state->goalPos.x, state->goalPos.y, state->goalPos.z, 0.5f, 20);
}
if (!(gBattleStatus.flags2 & BS_FLAGS2_1000000) && player_team_is_ability_active(player, ABILITY_ALL_OR_NOTHING)) {
@ -636,7 +638,6 @@ s32 calc_player_damage_enemy(void) {
dispatchEvent = EVENT_HIT_COMBO;
}
if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE ||
(func_80266E14(targetPart), gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)) { // TODO remove func_80266E14 from conditional
if (battleStatus->currentAttackElement & DAMAGE_TYPE_SPIN_SMASH) {

View File

@ -168,7 +168,7 @@ s32 calc_enemy_test_target(Actor* actor) {
hitResult = HIT_RESULT_HIT;
target2 = target;
if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY || battleStatus->outtaSightActive || target2->transStatus == STATUS_E) {
if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY || battleStatus->outtaSightActive || target2->transStatus == STATUS_TRANSPARENT) {
if (!(battleStatus->currentAttackElement & DAMAGE_TYPE_MAGIC)) {
hitResult = HIT_RESULT_MISS;
}
@ -285,7 +285,7 @@ s32 calc_enemy_damage_target(Actor* attacker) {
return HIT_RESULT_MISS;
}
if (target->transStatus == STATUS_E || targetPart->eventFlags & ACTOR_EVENT_FLAG_800 && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE)) {
if (target->transStatus == STATUS_TRANSPARENT || targetPart->eventFlags & ACTOR_EVENT_FLAG_800 && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE)) {
return HIT_RESULT_MISS;
}
@ -781,7 +781,7 @@ s32 calc_enemy_damage_target(Actor* attacker) {
)
&& !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT)
&& !(battleStatus->currentAttackEventSuppression & 8)
&& (attacker->transStatus != STATUS_E)
&& (attacker->transStatus != STATUS_TRANSPARENT)
&& !has_enchanted_part(attacker)
) {
// enum mismatch? shock vs explode :raised_eyebrow:

View File

@ -188,7 +188,7 @@ s32 calc_partner_damage_enemy(void) {
dispatchEvent = EVENT_UNKNOWN_TRIGGER;
sfx_play_sound_at_position(SOUND_IMMUNE, 0, state->goalPos.x, state->goalPos.y, state->goalPos.z);
} else {
if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY || target->transStatus == STATUS_E ||
if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY || target->transStatus == STATUS_TRANSPARENT ||
targetPart->eventFlags & ACTOR_EVENT_FLAG_800 && !(battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE)) {
return 6;
}

View File

@ -8,7 +8,7 @@ ApiStatus func_802C0000(Evt* script, s32 isInitialCall) {
s32 b = evt_get_variable(script, *args++);
s32 c = evt_get_variable(script, *args++);
fx_sparkles(0, a, b, c, 60.0f);
fx_sparkles(FX_SPARKLES_0, a, b, c, 60.0f);
return ApiStatus_DONE2;
}

View File

@ -58,7 +58,7 @@ void set_goal_pos_to_part(ActorState* state, s32 actorID, s32 partIndex) {
case ACTOR_CLASS_PARTNER:
case ACTOR_CLASS_ENEMY:
part = get_actor_part(actor, partIndex);
if (!(part->flags & ACTOR_PART_FLAG_100000)) {
if (!(part->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) {
state->goalPos.x = actor->currentPos.x + (part->partOffset.x + part->targetOffset.x) * actor->scalingFactor;
if (!(actor->flags & ACTOR_PART_FLAG_800)) {
state->goalPos.y = actor->currentPos.y + (part->partOffset.y + part->targetOffset.y) * actor->scalingFactor;
@ -94,7 +94,7 @@ void set_part_goal_to_actor_part(ActorPartMovement* movement, s32 actorID, s32 p
case ACTOR_CLASS_PARTNER:
case ACTOR_CLASS_ENEMY:
part = get_actor_part(actor, partIndex);
if (!(part->flags & ACTOR_PART_FLAG_100000)) {
if (!(part->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) {
part->movement->goalPos.x = actor->currentPos.x + (part->partOffset.x + part->targetOffset.x) * actor->scalingFactor;
if (!(actor->flags & ACTOR_PART_FLAG_800)) {
part->movement->goalPos.y = actor->currentPos.y + (part->partOffset.y + part->targetOffset.y) * actor->scalingFactor;
@ -632,7 +632,7 @@ ApiStatus GetPartOffset(Evt* script, s32 isInitialCall) {
outY = *args++;
outZ = *args++;
if (!(actorPart->flags & ACTOR_PART_FLAG_100000)) {
if (!(actorPart->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) {
x = actorPart->partOffset.x;
y = actorPart->partOffset.y;
z = actorPart->partOffset.z;
@ -758,7 +758,7 @@ ApiStatus SetPartPos(Evt* script, s32 isInitialCall) {
case ACTOR_CLASS_ENEMY:
actorPart = get_actor_part(actor, partIndex);
if (!(actorPart->flags & ACTOR_PART_FLAG_100000)) {
if (!(actorPart->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) {
actorPart->partOffset.x = x;
actorPart->partOffset.y = y;
actorPart->partOffset.z = z;
@ -1091,7 +1091,7 @@ ApiStatus GetPartDispOffset(Evt* script, s32 isInitialCall) {
actorPart = get_actor_part(get_actor(actorID), partIndex);
if (!(actorPart->flags & ACTOR_PART_FLAG_100000)) {
if (!(actorPart->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) {
x = actorPart->partOffset.x;
y = actorPart->partOffset.y;
z = actorPart->partOffset.z;
@ -1126,7 +1126,7 @@ ApiStatus SetPartDispOffset(Evt* script, s32 isInitialCall) {
z = evt_get_float_variable(script, *args++);
actorPart = get_actor_part(get_actor(actorID), partIndex);
if (!(actorPart->flags & ACTOR_PART_FLAG_100000)) {
if (!(actorPart->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) {
actorPart->partOffset.x = x;
actorPart->partOffset.y = y;
actorPart->partOffset.z = z;
@ -1157,7 +1157,7 @@ ApiStatus AddPartDispOffset(Evt* script, s32 isInitialCall) {
z = evt_get_float_variable(script, *args++);
actorPart = get_actor_part(get_actor(actorID), partIndex);
if (!(actorPart->flags & ACTOR_PART_FLAG_100000)) {
if (!(actorPart->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) {
actorPart->partOffset.x += x;
actorPart->partOffset.y += y;
actorPart->partOffset.z += z;
@ -2819,7 +2819,7 @@ ApiStatus GetStatusFlags(Evt* script, s32 isInitialCall) {
switch (actor->transStatus) {
case STATUS_END:
break;
case STATUS_E:
case STATUS_TRANSPARENT:
flags |= STATUS_FLAG_TRANSPARENT;
break;
}

View File

@ -766,8 +766,8 @@ EvtScript N(takeTurn_8021D1DC) = {
EvtScript N(8021D9F4) = {
EVT_CALL(func_8027D32C, ACTOR_SELF)
EVT_CALL(SetPartFlags, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET)
EVT_CALL(SetPartFlags, ACTOR_SELF, 3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000)
EVT_CALL(SetPartFlags, ACTOR_SELF, 4, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000)
EVT_CALL(SetPartFlags, ACTOR_SELF, 3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)
EVT_CALL(SetPartFlags, ACTOR_SELF, 4, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)
EVT_CALL(SetPartFlags, ACTOR_SELF, 1, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET)
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
EVT_CALL(SetPartPos, ACTOR_SELF, 3, LW(0), LW(1), LW(2))

View File

@ -56,7 +56,7 @@ ActorPartBlueprint N(partsTable_8021AD80)[] = {
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 2,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -69,7 +69,7 @@ ActorPartBlueprint N(partsTable_8021AD80)[] = {
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -82,7 +82,7 @@ ActorPartBlueprint N(partsTable_8021AD80)[] = {
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 4,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -95,7 +95,7 @@ ActorPartBlueprint N(partsTable_8021AD80)[] = {
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 5,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },

View File

@ -111,7 +111,7 @@ ActorPartBlueprint N(partsTable_80218CC8)[] = {
.unk_1D = 248,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 6,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },

View File

@ -105,7 +105,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_MULTI_TARGET,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_MULTI_TARGET,
.index = 2,
.posOffset = { 0, 0, 0 },
.targetOffset = { -13, 40 },
@ -117,7 +117,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.unk_1D = 242,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 12 },
@ -129,7 +129,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 4,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 12 },
@ -141,7 +141,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 5,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 12 },
@ -153,7 +153,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 6,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 12 },
@ -165,7 +165,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 7,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 12 },
@ -177,7 +177,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 8,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 12 },
@ -189,7 +189,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 9,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 12 },
@ -201,7 +201,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 10,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 12 },

View File

@ -116,7 +116,7 @@ ActorPartBlueprint N(partsTable_80218D34)[] = {
.unk_1C = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_MULTI_TARGET,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_MULTI_TARGET,
.index = 2,
.posOffset = { 0, 0, 0 },
.targetOffset = { -13, 40 },
@ -128,7 +128,7 @@ ActorPartBlueprint N(partsTable_80218D34)[] = {
.unk_1D = 240,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 12 },
@ -140,7 +140,7 @@ ActorPartBlueprint N(partsTable_80218D34)[] = {
.unk_1C = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 4,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 12 },
@ -152,7 +152,7 @@ ActorPartBlueprint N(partsTable_80218D34)[] = {
.unk_1C = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 5,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 12 },
@ -164,7 +164,7 @@ ActorPartBlueprint N(partsTable_80218D34)[] = {
.unk_1C = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 6,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 12 },
@ -176,7 +176,7 @@ ActorPartBlueprint N(partsTable_80218D34)[] = {
.unk_1C = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 7,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 12 },
@ -188,7 +188,7 @@ ActorPartBlueprint N(partsTable_80218D34)[] = {
.unk_1C = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 8,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 12 },
@ -200,7 +200,7 @@ ActorPartBlueprint N(partsTable_80218D34)[] = {
.unk_1C = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 9,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 12 },
@ -212,7 +212,7 @@ ActorPartBlueprint N(partsTable_80218D34)[] = {
.unk_1C = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 10,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 12 },

View File

@ -124,7 +124,7 @@ ActorPartBlueprint N(partsTable_8021BAD4)[] = {
.unk_1D = 0xF1,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_40000000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_40000000,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -136,7 +136,7 @@ ActorPartBlueprint N(partsTable_8021BAD4)[] = {
.unk_1C = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_40000000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_40000000,
.index = 4,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -148,7 +148,7 @@ ActorPartBlueprint N(partsTable_8021BAD4)[] = {
.unk_1C = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_40000000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_40000000,
.index = 5,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -160,7 +160,7 @@ ActorPartBlueprint N(partsTable_8021BAD4)[] = {
.unk_1C = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 6,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -172,7 +172,7 @@ ActorPartBlueprint N(partsTable_8021BAD4)[] = {
.unk_1C = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 7,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -184,7 +184,7 @@ ActorPartBlueprint N(partsTable_8021BAD4)[] = {
.unk_1C = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 8,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },

View File

@ -97,7 +97,7 @@ ActorPartBlueprint N(partsTable_8021B708)[] = {
.unk_1D = 242,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -109,7 +109,7 @@ ActorPartBlueprint N(partsTable_8021B708)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 4,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -121,7 +121,7 @@ ActorPartBlueprint N(partsTable_8021B708)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 5,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },

View File

@ -68,7 +68,7 @@ ActorPartBlueprint N(partsTable_8021A508)[] = {
.unk_1D = 249,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },

View File

@ -146,7 +146,7 @@ ActorPartBlueprint N(partsTable_802187F0)[] = {
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -158,7 +158,7 @@ ActorPartBlueprint N(partsTable_802187F0)[] = {
.unk_1C = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 4,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },

View File

@ -62,7 +62,7 @@ ActorPartBlueprint N(partsTable_8022339C)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 2,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 10 },
@ -74,7 +74,7 @@ ActorPartBlueprint N(partsTable_8022339C)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 10 },
@ -86,7 +86,7 @@ ActorPartBlueprint N(partsTable_8022339C)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 4,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 10 },
@ -98,7 +98,7 @@ ActorPartBlueprint N(partsTable_8022339C)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 5,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 10 },

View File

@ -61,7 +61,7 @@ ActorPartBlueprint N(partsTable_80218EE8)[] = {
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 2,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -74,7 +74,7 @@ ActorPartBlueprint N(partsTable_80218EE8)[] = {
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -87,7 +87,7 @@ ActorPartBlueprint N(partsTable_80218EE8)[] = {
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 4,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -100,7 +100,7 @@ ActorPartBlueprint N(partsTable_80218EE8)[] = {
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 5,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },

View File

@ -3643,7 +3643,7 @@ ActorPartBlueprint N(partsTable_8022851C)[] = {
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },

View File

@ -76,7 +76,7 @@ ActorPartBlueprint N(partsTable_8022DAF0)[] = {
.unk_1D = 0xF9,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 2,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },

View File

@ -68,7 +68,7 @@ ActorPartBlueprint N(partsTable_8021A924)[] = {
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 2,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -81,7 +81,7 @@ ActorPartBlueprint N(partsTable_8021A924)[] = {
.unk_1D = -5,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -94,7 +94,7 @@ ActorPartBlueprint N(partsTable_8021A924)[] = {
.unk_1D = -5,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 4,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -107,7 +107,7 @@ ActorPartBlueprint N(partsTable_8021A924)[] = {
.unk_1D = -5,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 5,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -120,7 +120,7 @@ ActorPartBlueprint N(partsTable_8021A924)[] = {
.unk_1D = -5,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 6,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },

View File

@ -116,7 +116,7 @@ ActorPartBlueprint N(partsTable_80227AB4)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 4,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -128,7 +128,7 @@ ActorPartBlueprint N(partsTable_80227AB4)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 5,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -140,7 +140,7 @@ ActorPartBlueprint N(partsTable_80227AB4)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 6,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -152,7 +152,7 @@ ActorPartBlueprint N(partsTable_80227AB4)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 7,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -164,7 +164,7 @@ ActorPartBlueprint N(partsTable_80227AB4)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 8,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -176,7 +176,7 @@ ActorPartBlueprint N(partsTable_80227AB4)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 9,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },

View File

@ -162,7 +162,7 @@ ActorPartBlueprint N(partsTable_8022977C)[] = {
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 2, 50 },
@ -176,7 +176,7 @@ ActorPartBlueprint N(partsTable_8022977C)[] = {
.unk_20 = 0x29007E,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 4,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -189,7 +189,7 @@ ActorPartBlueprint N(partsTable_8022977C)[] = {
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 5,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -202,7 +202,7 @@ ActorPartBlueprint N(partsTable_8022977C)[] = {
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 6,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -248,9 +248,9 @@ EvtScript N(init_8022987C) = {
EVT_CALL(SetPartPos, ACTOR_SELF, 3, LW(0), LW(1), LW(2))
EVT_CALL(SetPartPos, ACTOR_SELF, 4, LW(0), LW(1), LW(2))
EVT_CALL(SetPartPos, ACTOR_SELF, 5, LW(0), LW(1), LW(2))
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_100000, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_100000, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_100000, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 0)
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
EVT_SUB(LW(1), 5)
EVT_CALL(ForceHomePos, ACTOR_SELF, LW(0), LW(1), LW(2))
@ -476,9 +476,9 @@ EvtScript N(handleEvent_8022A398) = {
EVT_SET_CONST(LW(1), NPC_ANIM_sky_guy_Palette_00_Anim_1)
EVT_EXEC_WAIT(DoRecover)
EVT_CASE_EQ(EVENT_SCARE_AWAY)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_100000, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_100000, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_100000, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 0)
EVT_CALL(SetAnimation, ACTOR_SELF, 3, NPC_ANIM_sky_guy_Palette_00_Anim_1F)
EVT_CALL(SetAnimation, ACTOR_SELF, 4, NPC_ANIM_sky_guy_Palette_00_Anim_1E)
EVT_CALL(SetAnimation, ACTOR_SELF, 5, NPC_ANIM_sky_guy_Palette_00_Anim_20)

View File

@ -88,7 +88,7 @@ ActorPartBlueprint N(partsTable_80227564)[] = {
.unk_1D = 0xF3,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 2,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },

View File

@ -71,7 +71,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = -10,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_20000000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_20000000,
.index = 2,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },

View File

@ -109,7 +109,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_MULTI_TARGET,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_MULTI_TARGET,
.index = 2,
.posOffset = { 0, 30, 0 },
.targetOffset = { 0, 50 },
@ -123,7 +123,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_20 = MSG_actor_general_guy_dup,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { -5, 0, 0 },
.targetOffset = { -10, 20 },

View File

@ -92,7 +92,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 2,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -105,7 +105,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -118,7 +118,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 4,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -131,7 +131,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 5,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -144,7 +144,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 6,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -157,7 +157,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 7,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -170,7 +170,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 8,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -183,7 +183,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 9,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -196,7 +196,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 10,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -209,7 +209,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 11,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -222,7 +222,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 12,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -235,7 +235,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 13,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -248,7 +248,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 14,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -261,7 +261,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 15,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -274,7 +274,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 16,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },

View File

@ -167,7 +167,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 5,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_20000000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_20000000,
.index = 5,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -180,7 +180,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_20000000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_20000000,
.index = 6,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -193,7 +193,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_20000000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_20000000,
.index = 7,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -206,7 +206,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_20000000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_20000000,
.index = 8,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },

View File

@ -131,7 +131,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = -8,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 6,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -144,7 +144,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 7,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -157,7 +157,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 8,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -170,7 +170,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 9,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -183,7 +183,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 10,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -196,7 +196,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 11,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -209,7 +209,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 12,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -222,7 +222,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 13,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -235,7 +235,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 14,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },

View File

@ -68,7 +68,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 2,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -81,7 +81,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -94,7 +94,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 4,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -107,7 +107,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 5,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -120,7 +120,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 6,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -133,7 +133,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 7,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -146,7 +146,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 8,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -159,7 +159,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 9,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -172,7 +172,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 10,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -185,7 +185,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 11,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -198,7 +198,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 12,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -211,7 +211,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 13,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -224,7 +224,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 14,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -237,7 +237,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 15,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -250,7 +250,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 16,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },

View File

@ -57,7 +57,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 2,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -70,7 +70,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -83,7 +83,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 4,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -96,7 +96,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 5,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -109,7 +109,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 6,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -122,7 +122,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 7,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -135,7 +135,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 8,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },
@ -148,7 +148,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 9,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 24 },

View File

@ -79,7 +79,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = -23,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 2,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },
@ -92,7 +92,7 @@ ActorPartBlueprint N(parts)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },

View File

@ -204,7 +204,7 @@ EvtScript N(8021D820) = {
EVT_CASE_EQ(1)
EVT_CALL(SetActorVar, ACTOR_SELF, 0, 0)
EVT_CALL(SetIdleAnimations, ACTOR_SELF, 1, EVT_ADDR(N(idleAnimations_8021D510)))
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_100000, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 0)
EVT_CALL(SummonEnemy, EVT_ADDR(N(specialFormation_8021D734)), 0)
EVT_SET(LW(10), LW(0))
EVT_CALL(GetPartOffset, ACTOR_SELF, 2, LW(1), LW(2), LW(3))
@ -642,14 +642,14 @@ EvtScript N(takeTurn_8021E900) = {
EVT_MUL(LW(0), -1)
EVT_CALL(AddCoin, LW(0))
EVT_THREAD
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_100000, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE, 0)
EVT_CALL(GetActorPos, ACTOR_PLAYER, LW(0), LW(1), LW(2))
EVT_CALL(SetPartPos, ACTOR_SELF, 2, LW(0), LW(1), LW(2))
EVT_CALL(SetPartJumpGravity, ACTOR_SELF, 2, EVT_FLOAT(1.0))
EVT_ADD(LW(11), 30)
EVT_CALL(JumpPartTo, ACTOR_SELF, 2, LW(10), LW(11), LW(12), 22, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_100000, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 0)
EVT_END_THREAD
EVT_THREAD
EVT_CALL(GetActorVar, ACTOR_SELF, 1, LW(0))

View File

@ -113,7 +113,7 @@ ActorPartBlueprint N(partsTable_80218338)[] = {
.unk_1D = 248,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 6,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },

View File

@ -160,7 +160,7 @@ ActorPartBlueprint N(partsTable_8021A748)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 8,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 10 },
@ -172,7 +172,7 @@ ActorPartBlueprint N(partsTable_8021A748)[] = {
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 9,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 10 },
@ -406,7 +406,7 @@ EvtScript N(8021B0E4) = {
EVT_SET_GROUP(EVT_GROUP_00)
EVT_CALL(ShakeCam, 1, 0, 20, EVT_FLOAT(3.0))
EVT_END_THREAD
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_100000, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 5, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1)
EVT_CALL(GetPartPos, ACTOR_SELF, 5, LW(0), LW(1), LW(2))
EVT_CALL(SetPartDispOffset, ACTOR_SELF, 5, 0, -60, 0)
EVT_SET(LW(1), 60)
@ -659,7 +659,7 @@ EvtScript N(8021BC88) = {
EvtScript N(8021BD6C) = {
EVT_USE_ARRAY(D_80235FC0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_100000, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1)
EVT_CALL(GetPartPos, ACTOR_SELF, 3, LW(0), LW(1), LW(2))
EVT_CALL(SetPartDispOffset, ACTOR_SELF, 3, 0, -30, 0)
EVT_SET(LW(1), 30)
@ -685,7 +685,7 @@ EvtScript N(8021BD6C) = {
EvtScript N(8021BF14) = {
EVT_USE_ARRAY(D_80235FC0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_100000, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 4, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1)
EVT_CALL(GetPartPos, ACTOR_SELF, 4, LW(0), LW(1), LW(2))
EVT_CALL(SetPartDispOffset, ACTOR_SELF, 4, 0, -24, 0)
EVT_SET(LW(1), 24)
@ -845,7 +845,7 @@ EvtScript N(8021C594) = {
EvtScript N(8021C67C) = {
EVT_USE_ARRAY(D_80235FC0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 10, ACTOR_PART_FLAG_100000, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 10, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1)
EVT_CALL(GetPartPos, ACTOR_SELF, 10, LW(0), LW(1), LW(2))
EVT_CALL(SetPartPos, ACTOR_SELF, 10, LW(0), LW(1), LW(2))
EVT_THREAD
@ -948,7 +948,7 @@ EvtScript N(8021CAE4) = {
EvtScript N(8021CB98) = {
EVT_USE_ARRAY(D_80235FC0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_100000, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 6, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1)
EVT_CALL(GetPartPos, ACTOR_SELF, 6, LW(0), LW(1), LW(2))
EVT_CALL(SetPartDispOffset, ACTOR_SELF, 6, 0, -60, 0)
EVT_SET(LW(1), 60)
@ -975,7 +975,7 @@ EvtScript N(8021CB98) = {
EvtScript N(8021CD50) = {
EVT_USE_ARRAY(D_80235FC0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 11, ACTOR_PART_FLAG_100000, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 11, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1)
EVT_CALL(GetPartPos, ACTOR_SELF, 11, LW(0), LW(1), LW(2))
EVT_CALL(SetPartDispOffset, ACTOR_SELF, 11, 0, -60, 0)
EVT_SET(LW(1), 60)
@ -1034,7 +1034,7 @@ EvtScript N(8021CF4C) = {
EvtScript N(8021D054) = {
EVT_USE_ARRAY(D_80235FC0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 8, ACTOR_PART_FLAG_100000, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 8, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1)
EVT_CALL(GetPartPos, ACTOR_SELF, 8, LW(0), LW(1), LW(2))
EVT_CALL(SetPartPos, ACTOR_SELF, 8, LW(0), LW(1), LW(2))
EVT_THREAD
@ -1058,7 +1058,7 @@ EvtScript N(8021D054) = {
EvtScript N(8021D1CC) = {
EVT_USE_ARRAY(D_80235FC0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 9, ACTOR_PART_FLAG_100000, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 9, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1)
EVT_CALL(GetPartPos, ACTOR_SELF, 9, LW(0), LW(1), LW(2))
EVT_CALL(SetPartPos, ACTOR_SELF, 9, LW(0), LW(1), LW(2))
EVT_THREAD
@ -1083,7 +1083,7 @@ EvtScript N(8021D1CC) = {
EvtScript N(8021D350) = {
EVT_USE_ARRAY(D_80235FC0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 7, ACTOR_PART_FLAG_100000, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 7, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1)
EVT_CALL(GetPartPos, ACTOR_SELF, 7, LW(0), LW(1), LW(2))
EVT_CALL(SetPartDispOffset, ACTOR_SELF, 7, 0, -30, 0)
EVT_SET(LW(1), 30)

View File

@ -68,7 +68,7 @@ ActorPartBlueprint N(lakilester_parts)[] = {
.unk_1D = -10,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION,
.index = 3,
.posOffset = { 0, 0, 0 },
.targetOffset = { 0, 0 },

View File

@ -359,7 +359,7 @@ EvtScript N(knockOff) = {
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_100000, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 0)
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
EVT_SUB(LW(2), 1)

View File

@ -484,8 +484,8 @@ extern EvtScript N(8021CB94);
EvtScript N(8021C574) = {
EVT_CALL(func_8027D32C, ACTOR_SELF)
EVT_CALL(SetPartFlags, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET)
EVT_CALL(SetPartFlags, ACTOR_SELF, 3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000)
EVT_CALL(SetPartFlags, ACTOR_SELF, 4, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000)
EVT_CALL(SetPartFlags, ACTOR_SELF, 3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)
EVT_CALL(SetPartFlags, ACTOR_SELF, 4, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)
EVT_CALL(SetPartFlags, ACTOR_SELF, 1, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET)
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
EVT_CALL(SetPartPos, ACTOR_SELF, 3, LW(0), LW(1), LW(2))

View File

@ -567,7 +567,7 @@ EvtScript N(802204DC) = {
EVT_CALL(SetPartDispOffset, ACTOR_SELF, 2, 0, 0, 0)
EVT_CALL(func_8027D32C, ACTOR_SELF)
EVT_CALL(SetPartFlags, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET)
EVT_CALL(SetPartFlags, ACTOR_SELF, 3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000)
EVT_CALL(SetPartFlags, ACTOR_SELF, 3, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)
EVT_CALL(SetPartFlags, ACTOR_SELF, 1, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET)
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
EVT_ADD(LW(1), 8)

View File

@ -359,7 +359,7 @@ EvtScript N(8022CA48) = {
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_100000, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 0)
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
EVT_SUB(LW(2), 1)

View File

@ -362,7 +362,7 @@ EvtScript N(80224448) = {
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 1, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 2, ACTOR_PART_FLAG_MULTI_TARGET, 0)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_100000, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, 1)
EVT_CALL(SetPartFlagBits, ACTOR_SELF, 3, ACTOR_PART_FLAG_INVISIBLE, 0)
EVT_CALL(GetActorPos, ACTOR_SELF, LW(0), LW(1), LW(2))
EVT_SUB(LW(2), 1)

View File

@ -7,7 +7,7 @@ ApiStatus N(func_802A123C_72DDAC)(Evt* script, s32 isInitialCall) {
Actor* player = battleStatus->playerActor;
ActorPart* part = player->partsTable;
inflict_status(player, STATUS_E, script->varTable[0]);
inflict_status(player, STATUS_TRANSPARENT, script->varTable[0]);
player->status = 0;
part->flags |= ACTOR_PART_FLAG_100;

View File

@ -9,8 +9,8 @@ ApiStatus N(func_802A123C_71C06C)(Evt* script, s32 isInitialCall) {
s32 b = evt_get_variable(script, *args++);
s32 c = evt_get_variable(script, *args++);
fx_sparkles(2, a, b, c, 30.0f);
fx_sparkles(2, a, b, c, 30.0f);
fx_sparkles(FX_SPARKLES_2, a, b, c, 30.0f);
fx_sparkles(FX_SPARKLES_2, a, b, c, 30.0f);
return ApiStatus_DONE2;
}

View File

@ -223,7 +223,7 @@ ApiStatus N(func_802A1B14_731E14)(Evt* script, s32 isInitialCall) {
Actor* player = battleStatus->playerActor;
ActorPart* part = player->partsTable;
inflict_status(player, STATUS_E, 3);
inflict_status(player, STATUS_TRANSPARENT, 3);
player->status = 0;
part->flags |= ACTOR_PART_FLAG_100;

View File

@ -32,7 +32,7 @@ ApiStatus func_8023808C_710F7C(Evt* script, s32 isInitialCall) {
gBattleStatus.outtaSightActive = -1;
}
playerActorPartTable->idleAnimations = &bMarioHideAnims;
playerActorPartTable->idleAnimations = bMarioHideAnims;
gBattleStatus.hustleTurns = 0;
gBattleStatus.flags1 &= ~0x04000000;
@ -67,7 +67,7 @@ ApiStatus N(IsPartnerImmobile)(Evt* script, s32 isInitialCall) {
|| playerActor->debuff == STATUS_FROZEN
|| playerActor->debuff == STATUS_STOP;
if (playerActor->stoneStatus == 12) {
if (playerActor->stoneStatus == STATUS_STONE) {
isImmobile = TRUE;
}
@ -79,7 +79,7 @@ ApiStatus func_802381C8_7110B8(Evt* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
Actor* playerActor = battleStatus->playerActor;
ActorPart* playerActorPartTable = battleStatus->playerActor->partsTable;
playerActorPartTable->idleAnimations = &bMarioIdleAnims;
playerActorPartTable->idleAnimations = bMarioIdleAnims;
return ApiStatus_DONE2;
}
@ -102,7 +102,7 @@ ApiStatus N(AverageTargetStatusChance)(Evt* script, s32 isInitialCall) {
targetActorBlueprint = targetActor->actorBlueprint;
targetActorBlueprintBaseStatusChance = targetActorBlueprint->baseStatusChance;
if (targetActor->transStatus == 14) {
if (targetActor->transStatus == STATUS_TRANSPARENT) {
targetActorBlueprintBaseStatusChance = 0;
}

View File

@ -126,7 +126,7 @@ ApiStatus N(AverageTargetDizzyChance)(Evt* script, s32 isInitialCall) {
targetActorPart = get_actor_part(targetActor, partnerActor->targetData[i].partID);
targetActorBlueprintBaseStatusChance = lookup_status_chance(targetActor->statusTable, STATUS_DIZZY);
if (targetActor->transStatus == 14) {
if (targetActor->transStatus == STATUS_TRANSPARENT) {
targetActorBlueprintBaseStatusChance = 0;
}

View File

@ -347,9 +347,9 @@ ApiStatus func_80238CE0_700A60(Evt* script, s32 isInitialCall) {
Actor* targetActor = get_actor(partnerActor->targetActorID);
ActorPart* targetActorPart = get_actor_part(targetActor, partnerActor->targetPartIndex);
s32 airLiftChance = targetActor->actorBlueprint->airLiftChance;
s32 temp = 100 - (targetActor->currentHP * 100) / targetActor->maxHP;
s32 hpPercentLost = 100 - (targetActor->currentHP * 100) / targetActor->maxHP;
if (targetActor->transStatus == 14) {
if (targetActor->transStatus == STATUS_TRANSPARENT) {
airLiftChance = 0;
}
@ -358,7 +358,7 @@ ApiStatus func_80238CE0_700A60(Evt* script, s32 isInitialCall) {
}
if (airLiftChance > 0) {
airLiftChance = airLiftChance + ((airLiftChance * temp) / 100);
airLiftChance = airLiftChance + ((airLiftChance * hpPercentLost) / 100);
if (airLiftChance > 100) {
airLiftChance = 100;

View File

@ -120,7 +120,7 @@ ApiStatus func_80238784_704274(Evt* script, s32 isInitialCall) {
ActorPart* targetActorPart = get_actor_part(targetActor, partnerActor->targetPartIndex);
s32 statusChance = lookup_status_chance(targetActor->statusTable, 5);
if (targetActor->transStatus == 14) {
if (targetActor->transStatus == STATUS_TRANSPARENT) {
statusChance = 0;
}
if (targetActorPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) {
@ -190,7 +190,7 @@ ApiStatus N(AverageTargetParalyzeChance)(Evt* script, s32 isInitialCall) {
targetActorPart = get_actor_part(targetActor, partnerActor->targetData[i].partID);
targetActorBlueprintBaseStatusChance = lookup_status_chance(targetActor->statusTable, STATUS_PARALYZE);
if (targetActor->transStatus == 14) {
if (targetActor->transStatus == STATUS_TRANSPARENT) {
targetActorBlueprintBaseStatusChance = 0;
}

View File

@ -29,7 +29,7 @@ ApiStatus func_802A153C_79060C(Evt* script, s32 isInitialCall) {
b = rand_int(120) + 7;
c = rand_int(50) - 25;
fx_sparkles(4, a, b, c, 40.0f);
fx_sparkles(FX_SPARKLES_4, a, b, c, 40.0f);
return ApiStatus_DONE2;
}

View File

@ -7,7 +7,7 @@ ApiStatus N(UnkStarFunc1)(Evt* script, s32 isInitialCall) {
s32 b = evt_get_variable(script, *args++);
s32 c = evt_get_variable(script, *args++);
fx_sparkles(0, a, b, c, 40.0f);
fx_sparkles(FX_SPARKLES_0, a, b, c, 40.0f);
return ApiStatus_DONE2;
}
@ -27,7 +27,7 @@ ApiStatus N(UnkStarFunc3)(Evt* script, s32 isInitialCall) {
s32 b = evt_get_variable(script, *args++);
s32 c = evt_get_variable(script, *args++);
fx_sparkles(0, a, b, c, 30.0f);
fx_sparkles(FX_SPARKLES_0, a, b, c, 30.0f);
return ApiStatus_DONE2;
}

View File

@ -87,7 +87,7 @@ void debuff_update(EffectInstance* effect) {
s32 temp;
s32 i;
data->unk_28 += 1;
data->unk_28++;
data->unk_24--;
if (data->unk_24 < 0) {
shim_remove_effect(effect);

View File

@ -6,47 +6,50 @@ void sun_update(EffectInstance* effect);
void sun_render(EffectInstance* effect);
void sun_appendGfx(void* effect);
EffectInstance* sun_main(s32 arg0, f32 offsetX, f32 offsetY, f32 offsetZ, f32 arg4, s32 duration) {
EffectBlueprint sp10;
Gfx* D_E0120780[] = { (Gfx*) 0x09000980, (Gfx*) 0x09000998, (Gfx*) 0x090009B0, (Gfx*) 0x090009C8, (Gfx*) 0x090009E0 };
Gfx* D_E0120794[] = { (Gfx*) 0x09000898 };
EffectInstance* sun_main(s32 shineFromRight, f32 offsetX, f32 offsetY, f32 offsetZ, f32 arg4, s32 duration) {
EffectBlueprint bp;
EffectInstance* effect;
SunFXData* data;
s32 numParts = 1;
s32 i;
sp10.init = sun_init;
sp10.update = sun_update;
sp10.renderWorld = sun_render;
sp10.unk_00 = 0;
sp10.unk_14 = NULL;
sp10.effectID = EFFECT_SUN;
bp.init = sun_init;
bp.update = sun_update;
bp.renderWorld = sun_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_SUN;
effect = shim_create_effect_instance(&sp10);
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.sun = shim_general_heap_malloc(sizeof(*data));
ASSERT(data != NULL);
data->unk_00 = arg0;
data->shineFromRight = shineFromRight;
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->pos.x = offsetX;
data->pos.y = offsetY;
data->pos.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;
data->primColor.r = 255;
data->primColor.g = 255;
data->primColor.b = 255;
data->envColor.r = 255;
data->envColor.g = 255;
data->envColor.b = 255;
data->envColor.a = 255;
for (i = 0; i < ARRAY_COUNT(data->unk_20); i++) {
data->unk_20[i] = 0.0f;
for (i = 0; i < ARRAY_COUNT(data->texScrollAmt); i++) {
data->texScrollAmt[i] = 0.0f;
}
data->targetAlpha = 255;
data->alpha = 0;
@ -57,7 +60,66 @@ EffectInstance* sun_main(s32 arg0, f32 offsetX, f32 offsetY, f32 offsetZ, f32 ar
void sun_init(EffectInstance* effect) {
}
INCLUDE_ASM(s32, "effects/sun", sun_update);
void sun_update(EffectInstance* effect) {
SunFXData* data = effect->data.sun;
s32 time;
s32 i;
if (effect->flags & EFFECT_INSTANCE_FLAGS_10) {
effect->flags &= ~EFFECT_INSTANCE_FLAGS_10;
data->timeLeft = 16;
}
if (data->timeLeft < 1000) {
data->timeLeft--;
}
data->lifeTime++;
if (data->lifeTime > 90*60*60) {
data->lifeTime = 256;
}
if (data->timeLeft < 0) {
shim_remove_effect(effect);
return;
}
time = data->lifeTime;
if (data->timeLeft < 16) {
data->alpha -= 16;
if (data->alpha < 0) {
data->alpha = 0;
}
}
if (data->targetAlpha < 0) {
data->targetAlpha = 0;
} else if (data->targetAlpha > 255) {
data->targetAlpha = 255;
}
if (data->alpha > data->targetAlpha) {
data->alpha -= 8;
if (data->alpha < data->targetAlpha) {
data->alpha = data->targetAlpha;
}
} else if (data->alpha < data->targetAlpha) {
data->alpha += 8;
if (data->targetAlpha < data->alpha) {
data->alpha = data->targetAlpha;
}
}
for (i = 0; i < 5; i++) {
data->texScrollAmt[i] -= 4.0
* ((shim_sin_deg((time * 2 + (20 * i))) * 0.01) + 0.05)
* shim_sin_deg(((f32) time * 0.25) + (SQ(i) * 20));
if (data->texScrollAmt[i] < 0.0f) {
data->texScrollAmt[i] += 256.0f;
}
if (data->texScrollAmt[i] > 256.0f) {
data->texScrollAmt[i] -= 256.0f;
}
}
}
void sun_render(EffectInstance* effect) {
RenderTask renderTask;
@ -72,4 +134,50 @@ void sun_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/sun", sun_appendGfx);
void sun_appendGfx(void* argEffect) {
EffectInstance* effect = (EffectInstance*) argEffect;
SunFXData* data;
Matrix4f mtx;
Matrix4f mtxUnused;
s32 alpha;
s32 offsetS;
s32 fromRight;
s32 i;
data = effect->data.sun;
alpha = data->alpha;
fromRight = data->shineFromRight;
if (alpha != 0) {
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x9, VIRTUAL_TO_PHYSICAL(effect->graphics->data));
if (!fromRight) {
shim_guOrthoF(mtx, -1600.0f, 1600.0f, -1200.0f, 1200.0f, -100.0f, 100.0f, 1.0f);
} else {
shim_guOrthoF(mtx, 1600.0f, -1600.0f, -1200.0f, 1200.0f, -100.0f, 100.0f, 1.0f);
}
shim_guMtxF2L(mtx, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++],
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
shim_guTranslateF(mtx, 0.0f, 0.0f, 0.0f);
shim_guMtxF2L(mtx, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++],
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->primColor.r, data->primColor.g, data->primColor.b, alpha >> 1);
gDPSetEnvColor(gMasterGfxPos++, data->envColor.r, data->envColor.g, data->envColor.b, data->envColor.a);
gSPDisplayList(gMasterGfxPos++, D_E0120794[0]);
for (i = 0; i < ARRAY_COUNT(data->texScrollAmt); i++) {
offsetS = data->texScrollAmt[i] * 4.0f;
gDPSetTileSize(gMasterGfxPos++, 1, offsetS + (44 * i), 0, offsetS + (44 * i) + 252, 124);
gSPDisplayList(gMasterGfxPos++, D_E0120780[i]);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCameraID],
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gDPPipeSync(gMasterGfxPos++);
}
}

View File

@ -180,7 +180,7 @@ void entity_HeartBlockContent__anim_heal(Entity* entity, s32 arg1) {
switch (data->state) {
case 0:
fx_sparkles(0, entity->position.x, entity->position.y, entity->position.z, 2.0f);
fx_sparkles(FX_SPARKLES_0, entity->position.x, entity->position.y, entity->position.z, 2.0f);
data->bouncePhase = 0.0f;
data->state++;
data->riseVelocity = 6.0f;
@ -236,7 +236,7 @@ void entity_HeartBlockContent__anim_heal(Entity* entity, s32 arg1) {
data->sparkleTrailPosY -= 0.7;
if ((data->sparkleTrailTimer++ & 1) != 0) {
fx_sparkles(3, playerStatus->position.x + offsetX,
fx_sparkles(FX_SPARKLES_3, playerStatus->position.x + offsetX,
playerStatus->position.y + offsetY,
playerStatus->position.z - offsetZ,
8.0f

View File

@ -112,7 +112,7 @@ void entity_Padlock_idle(Entity* entity) {
data->fallSpeed = 5.0f;
data->rotationSpeed = 3.0f;
data->state++;
fx_sparkles(0, entity->position.x, entity->position.y + 25.0f, entity->position.z, 10.0f);
fx_sparkles(FX_SPARKLES_0, entity->position.x, entity->position.y + 25.0f, entity->position.z, 10.0f);
entity->flags |= ENTITY_FLAGS_DISABLE_COLLISION;
}
break;

View File

@ -482,7 +482,7 @@ void gfx_draw_background(void) {
gPauseBackgroundFade = 0;
gGameStatusPtr->backgroundFlags &= ~0xF0;
gGameStatusPtr->backgroundFlags |= 0x30;
// fall through
// fallthrough
case 0x30:
// Draw the saved framebuffer to the background, fading in at a rate of 16 opacity per frame until reaching 128 opacity
gPauseBackgroundFade += 16;

View File

@ -54,7 +54,7 @@ typedef struct HudStatusIcon {
/* 0x28 */ s32 status4Radius;
/* 0x2C */ s32 status4OffsetY;
/* 0x30 */ s32 offsetY;
/* 0x34 */ f32 unk_34;
/* 0x34 */ f32 offsetX;
/* 0x38 */ HudComplexStatusIcon status1;
/* 0x48 */ HudComplexStatusIcon status2;
/* 0x58 */ HudComplexStatusIcon status3;
@ -438,7 +438,7 @@ void update_all_status_icons(void* data) {
if (icon->status3.activeTask == STATUS_ICON_TASK_LOAD) {
switch (icon->status3.active) {
case STATUS_E:
case STATUS_TRANSPARENT:
elementID = icon->status3.activeElementID = hud_element_create(&HES_TransparentBegin);
break;
default:
@ -456,7 +456,7 @@ void update_all_status_icons(void* data) {
break;
case STATUS_ICON_TASK_LOAD:
switch (icon->status3.removing) {
case STATUS_E:
case STATUS_TRANSPARENT:
hud_element_set_script(icon->status3.removingElementID, &HES_TransparentEnd);
break;
default:
@ -983,11 +983,11 @@ void set_status_icons_properties(s32 iconID, f32 x, f32 y, f32 z, s32 arg, s32 a
icon->status4OffsetY = offsetY + 51;
}
void set_status_icons_offset(s32 iconID, s32 offsetY, f32 arg2) {
void set_status_icons_offset(s32 iconID, s32 offsetY, f32 offsetX) {
HudStatusIcon* statusIcon = &D_800A0F44[iconID];
statusIcon->offsetY = offsetY;
statusIcon->unk_34 = arg2;
statusIcon->offsetX = offsetX;
}
void create_status_debuff(s32 iconID, s32 statusID) {

View File

@ -333,7 +333,7 @@ void func_802B6120_E2A7D0(void) {
parasolStruct->position.y = playerStatus->position.y - 20;
}
if (parasolStruct->unk_08 < 0xB && parasolStruct->unk_08 & 1) {
fx_sparkles(3, parasolStruct->position.x - 8, parasolStruct->position.y + 50, parasolStruct->position.z, 2);
fx_sparkles(FX_SPARKLES_3, parasolStruct->position.x - 8, parasolStruct->position.y + 50, parasolStruct->position.z, 2);
temp_f22 = parasolStruct->position.x;
tempX = (((cam->currentYaw + playerStatus->spriteFacingAngle) - 90) * TAU) / 360;

View File

@ -83,7 +83,7 @@ ApiStatus func_80240530_8AC4C0(Evt* script, s32 isInitialCall) {
s32 npcID = evt_get_variable(script, *args++);
Npc* npc = get_npc_unsafe(npcID);
fx_sparkles(3, npc->pos.x, npc->pos.y + 10.0f, npc->pos.z, 10.0f);
fx_sparkles(FX_SPARKLES_3, npc->pos.x, npc->pos.y + 10.0f, npc->pos.z, 10.0f);
return ApiStatus_DONE2;
}
@ -135,7 +135,7 @@ ApiStatus func_802405F0_8AC580(Evt* script, s32 isInitialCall) {
add_vec2D_polar(&npc->pos.x, &npc->pos.z, 70.0f, npc->moveToPos.x + (script->functionTemp[2] * 51) + 153.0f);
npc->pos.y += (-npc->pos.z + -50.0f + 70.0f) * 0.15f;
sfx_play_sound_at_position(0xB000001E, 0, npc->pos.x, npc->pos.y, npc->pos.z);
fx_sparkles(0, npc->pos.x, npc->pos.y + 20.0f, npc->pos.z, 20.0f);
fx_sparkles(FX_SPARKLES_0, npc->pos.x, npc->pos.y + 20.0f, npc->pos.z, 20.0f);
script->functionTemp[0] = FUNC_STATE_1;
}
break;
@ -147,7 +147,7 @@ ApiStatus func_802405F0_8AC580(Evt* script, s32 isInitialCall) {
npc->pos.y += (-npc->pos.z + -50.0f + 70.0f) * 0.15f;
if ((script->functionTemp[3] + script->functionTemp[2]) ==
(((script->functionTemp[3] + script->functionTemp[2]) / 13) * 13)) {
fx_sparkles(3, npc->pos.x, npc->pos.y + 10.0f, npc->pos.z, 10.0f);
fx_sparkles(FX_SPARKLES_3, npc->pos.x, npc->pos.y + 10.0f, npc->pos.z, 10.0f);
}
if (script->functionTemp[3] > 256) {
script->functionTemp[0] = FUNC_STATE_2;
@ -162,7 +162,7 @@ ApiStatus func_802405F0_8AC580(Evt* script, s32 isInitialCall) {
npc->pos.y += (-npc->pos.z + -50.0f + 70.0f) * 0.15f;
if ((script->functionTemp[3] + script->functionTemp[2]) ==
(((script->functionTemp[3] + script->functionTemp[2]) / 13) * 13)) {
fx_sparkles(3, npc->pos.x, npc->pos.y + 10.0f, npc->pos.z, 10.0f);
fx_sparkles(FX_SPARKLES_3, npc->pos.x, npc->pos.y + 10.0f, npc->pos.z, 10.0f);
}
if (script->varTable[14]++ > 180) {
script->functionTemp[0] = FUNC_STATE_3;
@ -178,7 +178,7 @@ ApiStatus func_802405F0_8AC580(Evt* script, s32 isInitialCall) {
npc->pos.y += (-npc->pos.z + -50.0f + 70.0f) * 0.15f;
if ((script->functionTemp[3] + script->functionTemp[2]) ==
(((script->functionTemp[3] + script->functionTemp[2]) / 13) * 13)) {
fx_sparkles(3, npc->pos.x, npc->pos.y + 10.0f, npc->pos.z, 10.0f);
fx_sparkles(FX_SPARKLES_3, npc->pos.x, npc->pos.y + 10.0f, npc->pos.z, 10.0f);
}
if (npc->moveToPos.y < 0.0f) {
retVal = ApiStatus_DONE2;
@ -198,7 +198,7 @@ ApiStatus func_80240BD8_8ACB68(Evt* script, s32 isInitialCall) {
script->functionTemp[1] = evt_get_variable(script, *args);
npc = get_npc_unsafe(script->functionTemp[1]);
sfx_play_sound_at_position(SOUND_B000001E, 0, npc->pos.x, npc->pos.y, npc->pos.z);
fx_sparkles(0, npc->pos.x, npc->pos.y + 20.0f, npc->pos.z, 10.0f);
fx_sparkles(FX_SPARKLES_0, npc->pos.x, npc->pos.y + 20.0f, npc->pos.z, 10.0f);
script->functionTemp[0] = 3;
}

View File

@ -579,7 +579,7 @@ ApiStatus N(CreateBlockEntities)(Evt* script, s32 isInitialCall) {
0, 0, 0, 0, MAKE_ENTITY_END);
data->panels[curBlockIdx].entityIndex = entityIndex;
get_entity_by_index(entityIndex)->boundScriptBytecode = scriptArray[curBlockIdx];
fx_sparkles(3,
fx_sparkles(FX_SPARKLES_3,
N(BlockPosX)[curBlockIdx],
N(BlockPosY)[curBlockIdx] + 13,
N(BlockPosZ)[curBlockIdx] + 5,

View File

@ -31,44 +31,43 @@ ApiStatus func_80240338_92A5E8(Evt* script, s32 isInitialCall) {
}
ApiStatus func_80240364_92A614(Evt* script, s32 isInitialCall) {
static u8 savedPrimR, savedPrimG, savedPrimB;
static u8 savedEnvR, savedEnvG, savedEnvB;
static s32 targetPrimR, targetPrimG, targetPrimB;
static s32 targetEnvR, targetEnvG, targetEnvB;
static s32 duration, elapsed;
Bytecode* args = script->ptrReadPos;
s32 blendPrimR, blendPrimG, blendPrimB;
s32 blendEnvR, blendEnvG, blendEnvB;
if (isInitialCall) {
get_model_env_color_parameters(&D_80245600, &D_80245601, &D_80245602, &D_80245603, &D_80245604, &D_80245605);
D_80245608 = evt_get_variable(script, *args++);
D_8024560C = evt_get_variable(script, *args++);
D_80245610 = evt_get_variable(script, *args++);
D_80245614 = evt_get_variable(script, *args++);
D_80245618 = evt_get_variable(script, *args++);
D_8024561C = evt_get_variable(script, *args++);
D_80245620 = evt_get_variable(script, *args++);
flo_18_80245624 = 0;
get_model_env_color_parameters(&savedPrimR, &savedPrimG, &savedPrimB, &savedEnvR, &savedEnvG, &savedEnvB);
targetPrimR = evt_get_variable(script, *args++);
targetPrimG = evt_get_variable(script, *args++);
targetPrimB = evt_get_variable(script, *args++);
targetEnvR = evt_get_variable(script, *args++);
targetEnvG = evt_get_variable(script, *args++);
targetEnvB = evt_get_variable(script, *args++);
duration = evt_get_variable(script, *args++);
elapsed = 0;
}
if (D_80245620 > 0) {
s32 temp_v1 = flo_18_80245624 + 1;
u8 temp_a0 = D_80245600;
u8 temp_a1 = D_80245601;
u8 temp_a2 = D_80245602;
u8 temp_a3 = D_80245603;
u8 temp_t1 = D_80245604;
u8 temp_t0 = D_80245605;
s32 temp_t6 = ((D_80245608 - temp_a0) * temp_v1) / D_80245620;
s32 temp_t5 = ((D_8024560C - temp_a1) * temp_v1) / D_80245620;
s32 temp_t4 = ((D_80245610 - temp_a2) * temp_v1) / D_80245620;
s32 temp_t3 = ((D_80245614 - temp_a3) * temp_v1) / D_80245620;
s32 temp_t2 = ((D_80245618 - temp_t1) * temp_v1) / D_80245620;
s32 temp_v0 = ((D_8024561C - temp_t0) * temp_v1) / D_80245620;
if (duration > 0) {
elapsed++;
blendPrimR = savedPrimR + ((targetPrimR - savedPrimR) * elapsed) / duration;
blendPrimG = savedPrimG + ((targetPrimG - savedPrimG) * elapsed) / duration;
blendPrimB = savedPrimB + ((targetPrimB - savedPrimB) * elapsed) / duration;
blendEnvR = savedEnvR + ((targetEnvR - savedEnvR) * elapsed) / duration;
blendEnvG = savedEnvG + ((targetEnvG - savedEnvG) * elapsed) / duration;
blendEnvB = savedEnvB + ((targetEnvB - savedEnvB) * elapsed) / duration;
flo_18_80245624++;
set_model_env_color_parameters(temp_a0 + temp_t6, temp_a1 + temp_t5, temp_a2 + temp_t4, temp_a3 + temp_t3,
temp_t1 + temp_t2, temp_t0 + temp_v0);
if (flo_18_80245624 >= D_80245620) {
set_model_env_color_parameters(blendPrimR, blendPrimG, blendPrimB, blendEnvR, blendEnvG, blendEnvB);
if (elapsed >= duration) {
return ApiStatus_DONE2;
}
} else {
set_model_env_color_parameters(D_80245608, D_8024560C, D_80245610, D_80245614, D_80245618, D_8024561C);
set_model_env_color_parameters(targetPrimR, targetPrimG, targetPrimB, targetEnvR, targetEnvG, targetEnvB);
return ApiStatus_DONE2;
}

View File

@ -4,11 +4,55 @@
#include "world/common/AddPlayerHandsOffset.inc.c"
// needs data
#ifdef NON_MATCHING
ApiStatus func_8024091C_92ABCC(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
if (isInitialCall) {
D_8024404C_92E2FC = FALSE;
}
if (D_8024404C_92E2FC) {
D_8024404C_92E2FC = FALSE;
evt_set_variable(script, *args++, D_80244050_92E300);
return ApiStatus_DONE2;
} else {
return ApiStatus_BLOCK;
}
}
#else
INCLUDE_ASM(s32, "world/area_sbk/sbk_02/92A9A0", func_8024091C_92ABCC);
#endif
INCLUDE_ASM(s32, "world/area_sbk/sbk_02/92A9A0", func_80240970_92AC20);
static s32 D_80245630[91];
extern s32 D_8024404C_92E2FC;
extern s32 D_80244050_92E300;
INCLUDE_ASM(s32, "world/area_sbk/sbk_02/92A9A0", func_802409A8_92AC58);
ApiStatus func_80240970_92AC20(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
D_80244050_92E300 = evt_get_variable(script, *args++);
D_8024404C_92E2FC = TRUE;
return ApiStatus_DONE2;
}
ApiStatus func_802409A8_92AC58(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32* buf = (s32*) evt_get_variable(script, *args++);
s32 i;
if (buf != NULL) {
for (i = 0; *buf != NULL; i++) {
D_80245630[i] = *buf++;
}
D_80245630[i] = 0;
} else {
for (i = 0; i <= 90; i++) {
D_80245630[i] = i + 0x80;
D_80245630[91] = 0;
}
}
return ApiStatus_DONE2;
}
#include "world/common/StashVars.inc.c"

View File

@ -5,22 +5,3 @@
#include "map.h"
#define NAMESPACE sbk_02
extern s32 D_80245608;
extern s32 D_8024560C;
extern s32 D_80245610;
extern s32 D_80245614;
extern s32 D_80245618;
extern s32 D_8024561C;
extern s32 D_80245620;
extern u8 D_80245600;
extern u8 D_80245601;
extern u8 D_80245602;
extern u8 D_80245603;
extern u8 D_80245604;
extern u8 D_80245605;
extern s32 flo_18_80245624;

View File

@ -55,7 +55,7 @@ ApiStatus N(UnkFunc56)(Evt* script, s32 isInitialCall) {
for (part = actor->partsTable; part != NULL; part = part->nextPart) {
if (!(part->flags & ACTOR_PART_FLAG_INVISIBLE)) {
if (part->flags & ACTOR_PART_FLAG_100000) {
if (part->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) {
xDiff = part->currentPos.x - model->center.x;
yDiff = part->currentPos.y + part->size.y - 1.5f - model->center.y;
zDiff = part->currentPos.z - model->center.z;

View File

@ -3,13 +3,13 @@
ApiStatus N(SuperBlock_PartnerSparkles2)(Evt* script, s32 isInitialCall) {
Npc* partner = get_npc_safe(NPC_PARTNER);
fx_sparkles(2, partner->pos.x, partner->pos.y + 30.0f, partner->pos.z, 30.0f);
fx_sparkles(FX_SPARKLES_2, partner->pos.x, partner->pos.y + 30.0f, partner->pos.z, 30.0f);
return ApiStatus_DONE2;
}
ApiStatus N(SuperBlock_PartnerSparkles4)(Evt* script, s32 isInitialCall) {
Npc* partner = get_npc_safe(NPC_PARTNER);
fx_sparkles(4, partner->pos.x, partner->pos.y + 30.0f, partner->pos.z, 30.0f);
fx_sparkles(FX_SPARKLES_4, partner->pos.x, partner->pos.y + 30.0f, partner->pos.z, 30.0f);
return ApiStatus_DONE2;
}

View File

@ -112,7 +112,7 @@ ApiStatus N(ShowCreditList)(Evt* script, s32 isInitialCall) {
}
}
script->varTable[0] = 1;
// fall through
// fallthrough
case 1:
script->varTable[1]--;
if (script->varTable[1] <= 0) {

View File

@ -359,13 +359,13 @@ s32 N(SuperBlock_WhiteScreenFlash)(Evt* script, s32 isInitialCall) {
ApiStatus N(SuperBlock_PartnerSparkles2)(Evt* script, s32 isInitialCall) {
Npc* partner = get_npc_safe(NPC_PARTNER);
fx_sparkles(2, partner->pos.x, partner->pos.y + 30.0f, partner->pos.z, 30.0f);
fx_sparkles(FX_SPARKLES_2, partner->pos.x, partner->pos.y + 30.0f, partner->pos.z, 30.0f);
return ApiStatus_DONE2;
}
ApiStatus N(SuperBlock_PartnerSparkles4)(Evt* script, s32 isInitialCall) {
Npc* partner = get_npc_safe(NPC_PARTNER);
fx_sparkles(4, partner->pos.x, partner->pos.y + 30.0f, partner->pos.z, 30.0f);
fx_sparkles(FX_SPARKLES_4, partner->pos.x, partner->pos.y + 30.0f, partner->pos.z, 30.0f);
return ApiStatus_DONE2;
}

View File

@ -1,9 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E0120780
.word 0x09000980, 0x09000998, 0x090009B0, 0x090009C8, 0x090009E0
dlabel D_E0120794
.word 0x09000898, 0x00000000, 0x00000000

View File

@ -1,618 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_8029D380
.double 0.7142857142857143
.section .text
glabel func_802571F0
/* 185AD0 802571F0 27BDFC38 */ addiu $sp, $sp, -0x3c8
/* 185AD4 802571F4 AFB20378 */ sw $s2, 0x378($sp)
/* 185AD8 802571F8 00A0902D */ daddu $s2, $a1, $zero
/* 185ADC 802571FC AFBF0394 */ sw $ra, 0x394($sp)
/* 185AE0 80257200 AFBE0390 */ sw $fp, 0x390($sp)
/* 185AE4 80257204 AFB7038C */ sw $s7, 0x38c($sp)
/* 185AE8 80257208 AFB60388 */ sw $s6, 0x388($sp)
/* 185AEC 8025720C AFB50384 */ sw $s5, 0x384($sp)
/* 185AF0 80257210 AFB40380 */ sw $s4, 0x380($sp)
/* 185AF4 80257214 AFB3037C */ sw $s3, 0x37c($sp)
/* 185AF8 80257218 AFB10374 */ sw $s1, 0x374($sp)
/* 185AFC 8025721C AFB00370 */ sw $s0, 0x370($sp)
/* 185B00 80257220 F7BE03C0 */ sdc1 $f30, 0x3c0($sp)
/* 185B04 80257224 F7BC03B8 */ sdc1 $f28, 0x3b8($sp)
/* 185B08 80257228 F7BA03B0 */ sdc1 $f26, 0x3b0($sp)
/* 185B0C 8025722C F7B803A8 */ sdc1 $f24, 0x3a8($sp)
/* 185B10 80257230 F7B603A0 */ sdc1 $f22, 0x3a0($sp)
/* 185B14 80257234 F7B40398 */ sdc1 $f20, 0x398($sp)
/* 185B18 80257238 AFA403C8 */ sw $a0, 0x3c8($sp)
/* 185B1C 8025723C 86420150 */ lh $v0, 0x150($s2)
/* 185B20 80257240 C6400144 */ lwc1 $f0, 0x144($s2)
/* 185B24 80257244 44821000 */ mtc1 $v0, $f2
/* 185B28 80257248 00000000 */ nop
/* 185B2C 8025724C 468010A0 */ cvt.s.w $f2, $f2
/* 185B30 80257250 46020000 */ add.s $f0, $f0, $f2
/* 185B34 80257254 8E420000 */ lw $v0, ($s2)
/* 185B38 80257258 30420800 */ andi $v0, $v0, 0x800
/* 185B3C 8025725C 14400008 */ bnez $v0, .L80257280
/* 185B40 80257260 E7A00358 */ swc1 $f0, 0x358($sp)
/* 185B44 80257264 86420152 */ lh $v0, 0x152($s2)
/* 185B48 80257268 C6420148 */ lwc1 $f2, 0x148($s2)
/* 185B4C 8025726C 44820000 */ mtc1 $v0, $f0
/* 185B50 80257270 00000000 */ nop
/* 185B54 80257274 46800020 */ cvt.s.w $f0, $f0
/* 185B58 80257278 08095CA6 */ j .L80257298
/* 185B5C 8025727C 46001080 */ add.s $f2, $f2, $f0
.L80257280:
/* 185B60 80257280 86420152 */ lh $v0, 0x152($s2)
/* 185B64 80257284 C6420148 */ lwc1 $f2, 0x148($s2)
/* 185B68 80257288 44820000 */ mtc1 $v0, $f0
/* 185B6C 8025728C 00000000 */ nop
/* 185B70 80257290 46800020 */ cvt.s.w $f0, $f0
/* 185B74 80257294 46001081 */ sub.s $f2, $f2, $f0
.L80257298:
/* 185B78 80257298 E7A2035C */ swc1 $f2, 0x35c($sp)
/* 185B7C 8025729C 86420154 */ lh $v0, 0x154($s2)
/* 185B80 802572A0 C642014C */ lwc1 $f2, 0x14c($s2)
/* 185B84 802572A4 44820000 */ mtc1 $v0, $f0
/* 185B88 802572A8 00000000 */ nop
/* 185B8C 802572AC 46800020 */ cvt.s.w $f0, $f0
/* 185B90 802572B0 46001080 */ add.s $f2, $f2, $f0
/* 185B94 802572B4 3C0140A0 */ lui $at, 0x40a0
/* 185B98 802572B8 44810000 */ mtc1 $at, $f0
/* 185B9C 802572BC 8E420000 */ lw $v0, ($s2)
/* 185BA0 802572C0 46001081 */ sub.s $f2, $f2, $f0
/* 185BA4 802572C4 30420800 */ andi $v0, $v0, 0x800
/* 185BA8 802572C8 14400025 */ bnez $v0, .L80257360
/* 185BAC 802572CC E7A20360 */ swc1 $f2, 0x360($sp)
/* 185BB0 802572D0 86420168 */ lh $v0, 0x168($s2)
/* 185BB4 802572D4 C6420188 */ lwc1 $f2, 0x188($s2)
/* 185BB8 802572D8 00021023 */ negu $v0, $v0
/* 185BBC 802572DC 44820000 */ mtc1 $v0, $f0
/* 185BC0 802572E0 00000000 */ nop
/* 185BC4 802572E4 46800020 */ cvt.s.w $f0, $f0
/* 185BC8 802572E8 46020002 */ mul.s $f0, $f0, $f2
/* 185BCC 802572EC 00000000 */ nop
/* 185BD0 802572F0 8642016A */ lh $v0, 0x16a($s2)
/* 185BD4 802572F4 00021023 */ negu $v0, $v0
/* 185BD8 802572F8 44050000 */ mfc1 $a1, $f0
/* 185BDC 802572FC 44820000 */ mtc1 $v0, $f0
/* 185BE0 80257300 00000000 */ nop
/* 185BE4 80257304 46800020 */ cvt.s.w $f0, $f0
/* 185BE8 80257308 46020002 */ mul.s $f0, $f0, $f2
/* 185BEC 8025730C 00000000 */ nop
/* 185BF0 80257310 8642016C */ lh $v0, 0x16c($s2)
/* 185BF4 80257314 00021023 */ negu $v0, $v0
/* 185BF8 80257318 44060000 */ mfc1 $a2, $f0
/* 185BFC 8025731C 44820000 */ mtc1 $v0, $f0
/* 185C00 80257320 00000000 */ nop
/* 185C04 80257324 46800020 */ cvt.s.w $f0, $f0
/* 185C08 80257328 46020002 */ mul.s $f0, $f0, $f2
/* 185C0C 8025732C 00000000 */ nop
/* 185C10 80257330 44070000 */ mfc1 $a3, $f0
/* 185C14 80257334 0C019E40 */ jal guTranslateF
/* 185C18 80257338 27A40158 */ addiu $a0, $sp, 0x158
/* 185C1C 8025733C 86420168 */ lh $v0, 0x168($s2)
/* 185C20 80257340 C6420188 */ lwc1 $f2, 0x188($s2)
/* 185C24 80257344 44820000 */ mtc1 $v0, $f0
/* 185C28 80257348 00000000 */ nop
/* 185C2C 8025734C 46800020 */ cvt.s.w $f0, $f0
/* 185C30 80257350 46020002 */ mul.s $f0, $f0, $f2
/* 185C34 80257354 00000000 */ nop
/* 185C38 80257358 08095CFB */ j .L802573EC
/* 185C3C 8025735C 8642016A */ lh $v0, 0x16a($s2)
.L80257360:
/* 185C40 80257360 86420168 */ lh $v0, 0x168($s2)
/* 185C44 80257364 C6420188 */ lwc1 $f2, 0x188($s2)
/* 185C48 80257368 00021023 */ negu $v0, $v0
/* 185C4C 8025736C 44820000 */ mtc1 $v0, $f0
/* 185C50 80257370 00000000 */ nop
/* 185C54 80257374 46800020 */ cvt.s.w $f0, $f0
/* 185C58 80257378 46020002 */ mul.s $f0, $f0, $f2
/* 185C5C 8025737C 00000000 */ nop
/* 185C60 80257380 8642016A */ lh $v0, 0x16a($s2)
/* 185C64 80257384 44050000 */ mfc1 $a1, $f0
/* 185C68 80257388 44820000 */ mtc1 $v0, $f0
/* 185C6C 8025738C 00000000 */ nop
/* 185C70 80257390 46800020 */ cvt.s.w $f0, $f0
/* 185C74 80257394 46020002 */ mul.s $f0, $f0, $f2
/* 185C78 80257398 00000000 */ nop
/* 185C7C 8025739C 8642016C */ lh $v0, 0x16c($s2)
/* 185C80 802573A0 00021023 */ negu $v0, $v0
/* 185C84 802573A4 44060000 */ mfc1 $a2, $f0
/* 185C88 802573A8 44820000 */ mtc1 $v0, $f0
/* 185C8C 802573AC 00000000 */ nop
/* 185C90 802573B0 46800020 */ cvt.s.w $f0, $f0
/* 185C94 802573B4 46020002 */ mul.s $f0, $f0, $f2
/* 185C98 802573B8 00000000 */ nop
/* 185C9C 802573BC 44070000 */ mfc1 $a3, $f0
/* 185CA0 802573C0 0C019E40 */ jal guTranslateF
/* 185CA4 802573C4 27A40158 */ addiu $a0, $sp, 0x158
/* 185CA8 802573C8 86420168 */ lh $v0, 0x168($s2)
/* 185CAC 802573CC C6420188 */ lwc1 $f2, 0x188($s2)
/* 185CB0 802573D0 44820000 */ mtc1 $v0, $f0
/* 185CB4 802573D4 00000000 */ nop
/* 185CB8 802573D8 46800020 */ cvt.s.w $f0, $f0
/* 185CBC 802573DC 46020002 */ mul.s $f0, $f0, $f2
/* 185CC0 802573E0 00000000 */ nop
/* 185CC4 802573E4 8642016A */ lh $v0, 0x16a($s2)
/* 185CC8 802573E8 00021023 */ negu $v0, $v0
.L802573EC:
/* 185CCC 802573EC 44050000 */ mfc1 $a1, $f0
/* 185CD0 802573F0 44820000 */ mtc1 $v0, $f0
/* 185CD4 802573F4 00000000 */ nop
/* 185CD8 802573F8 46800020 */ cvt.s.w $f0, $f0
/* 185CDC 802573FC 46020002 */ mul.s $f0, $f0, $f2
/* 185CE0 80257400 00000000 */ nop
/* 185CE4 80257404 8642016C */ lh $v0, 0x16c($s2)
/* 185CE8 80257408 44060000 */ mfc1 $a2, $f0
/* 185CEC 8025740C 44820000 */ mtc1 $v0, $f0
/* 185CF0 80257410 00000000 */ nop
/* 185CF4 80257414 46800020 */ cvt.s.w $f0, $f0
/* 185CF8 80257418 46020002 */ mul.s $f0, $f0, $f2
/* 185CFC 8025741C 00000000 */ nop
/* 185D00 80257420 44070000 */ mfc1 $a3, $f0
/* 185D04 80257424 0C019E40 */ jal guTranslateF
/* 185D08 80257428 27A40198 */ addiu $a0, $sp, 0x198
/* 185D0C 8025742C 4480B000 */ mtc1 $zero, $f22
/* 185D10 80257430 3C013F80 */ lui $at, 0x3f80
/* 185D14 80257434 4481C000 */ mtc1 $at, $f24
/* 185D18 80257438 E7B60010 */ swc1 $f22, 0x10($sp)
/* 185D1C 8025743C 8E45015C */ lw $a1, 0x15c($s2)
/* 185D20 80257440 4406C000 */ mfc1 $a2, $f24
/* 185D24 80257444 4407B000 */ mfc1 $a3, $f22
/* 185D28 80257448 0C019EC8 */ jal guRotateF
/* 185D2C 8025744C 27A40018 */ addiu $a0, $sp, 0x18
/* 185D30 80257450 27B70058 */ addiu $s7, $sp, 0x58
/* 185D34 80257454 E7B60010 */ swc1 $f22, 0x10($sp)
/* 185D38 80257458 8E450160 */ lw $a1, 0x160($s2)
/* 185D3C 8025745C 4406B000 */ mfc1 $a2, $f22
/* 185D40 80257460 4407C000 */ mfc1 $a3, $f24
/* 185D44 80257464 0C019EC8 */ jal guRotateF
/* 185D48 80257468 02E0202D */ daddu $a0, $s7, $zero
/* 185D4C 8025746C 27B60098 */ addiu $s6, $sp, 0x98
/* 185D50 80257470 E7B80010 */ swc1 $f24, 0x10($sp)
/* 185D54 80257474 8E450164 */ lw $a1, 0x164($s2)
/* 185D58 80257478 4406B000 */ mfc1 $a2, $f22
/* 185D5C 8025747C 4407B000 */ mfc1 $a3, $f22
/* 185D60 80257480 0C019EC8 */ jal guRotateF
/* 185D64 80257484 02C0202D */ daddu $a0, $s6, $zero
/* 185D68 80257488 02E0202D */ daddu $a0, $s7, $zero
/* 185D6C 8025748C 27A50018 */ addiu $a1, $sp, 0x18
/* 185D70 80257490 27B30218 */ addiu $s3, $sp, 0x218
/* 185D74 80257494 0C019D80 */ jal guMtxCatF
/* 185D78 80257498 0260302D */ daddu $a2, $s3, $zero
/* 185D7C 8025749C 0260202D */ daddu $a0, $s3, $zero
/* 185D80 802574A0 02C0282D */ daddu $a1, $s6, $zero
/* 185D84 802574A4 27B500D8 */ addiu $s5, $sp, 0xd8
/* 185D88 802574A8 0C019D80 */ jal guMtxCatF
/* 185D8C 802574AC 02A0302D */ daddu $a2, $s5, $zero
/* 185D90 802574B0 C6440170 */ lwc1 $f4, 0x170($s2)
/* 185D94 802574B4 3C01802A */ lui $at, %hi(D_8029D380)
/* 185D98 802574B8 D434D380 */ ldc1 $f20, %lo(D_8029D380)($at)
/* 185D9C 802574BC 46002121 */ cvt.d.s $f4, $f4
/* 185DA0 802574C0 46342102 */ mul.d $f4, $f4, $f20
/* 185DA4 802574C4 00000000 */ nop
/* 185DA8 802574C8 C6400174 */ lwc1 $f0, 0x174($s2)
/* 185DAC 802574CC 46000021 */ cvt.d.s $f0, $f0
/* 185DB0 802574D0 46340002 */ mul.d $f0, $f0, $f20
/* 185DB4 802574D4 00000000 */ nop
/* 185DB8 802574D8 C6420178 */ lwc1 $f2, 0x178($s2)
/* 185DBC 802574DC 460010A1 */ cvt.d.s $f2, $f2
/* 185DC0 802574E0 46341082 */ mul.d $f2, $f2, $f20
/* 185DC4 802574E4 00000000 */ nop
/* 185DC8 802574E8 C6460188 */ lwc1 $f6, 0x188($s2)
/* 185DCC 802574EC 460031A1 */ cvt.d.s $f6, $f6
/* 185DD0 802574F0 46262102 */ mul.d $f4, $f4, $f6
/* 185DD4 802574F4 00000000 */ nop
/* 185DD8 802574F8 46260002 */ mul.d $f0, $f0, $f6
/* 185DDC 802574FC 00000000 */ nop
/* 185DE0 80257500 27B40118 */ addiu $s4, $sp, 0x118
/* 185DE4 80257504 462010A0 */ cvt.s.d $f2, $f2
/* 185DE8 80257508 44071000 */ mfc1 $a3, $f2
/* 185DEC 8025750C 46202120 */ cvt.s.d $f4, $f4
/* 185DF0 80257510 46200020 */ cvt.s.d $f0, $f0
/* 185DF4 80257514 44052000 */ mfc1 $a1, $f4
/* 185DF8 80257518 44060000 */ mfc1 $a2, $f0
/* 185DFC 8025751C 0C019DF0 */ jal guScaleF
/* 185E00 80257520 0280202D */ daddu $a0, $s4, $zero
/* 185E04 80257524 27A40158 */ addiu $a0, $sp, 0x158
/* 185E08 80257528 0280282D */ daddu $a1, $s4, $zero
/* 185E0C 8025752C 0C019D80 */ jal guMtxCatF
/* 185E10 80257530 0260302D */ daddu $a2, $s3, $zero
/* 185E14 80257534 0260202D */ daddu $a0, $s3, $zero
/* 185E18 80257538 02A0282D */ daddu $a1, $s5, $zero
/* 185E1C 8025753C 27B00258 */ addiu $s0, $sp, 0x258
/* 185E20 80257540 0C019D80 */ jal guMtxCatF
/* 185E24 80257544 0200302D */ daddu $a2, $s0, $zero
/* 185E28 80257548 0200202D */ daddu $a0, $s0, $zero
/* 185E2C 8025754C 27A50198 */ addiu $a1, $sp, 0x198
/* 185E30 80257550 0C019D80 */ jal guMtxCatF
/* 185E34 80257554 27A602D8 */ addiu $a2, $sp, 0x2d8
/* 185E38 80257558 824801F3 */ lb $t0, 0x1f3($s2)
/* 185E3C 8025755C AFA80364 */ sw $t0, 0x364($sp)
/* 185E40 80257560 8E5101F4 */ lw $s1, 0x1f4($s2)
/* 185E44 80257564 1900015E */ blez $t0, .L80257AE0
/* 185E48 80257568 0000F02D */ daddu $fp, $zero, $zero
/* 185E4C 8025756C 4620A786 */ mov.d $f30, $f20
/* 185E50 80257570 4600B706 */ mov.s $f28, $f22
/* 185E54 80257574 AFB70368 */ sw $s7, 0x368($sp)
/* 185E58 80257578 02C0B82D */ daddu $s7, $s6, $zero
/* 185E5C 8025757C 02A0B02D */ daddu $s6, $s5, $zero
/* 185E60 80257580 0280A82D */ daddu $s5, $s4, $zero
/* 185E64 80257584 0200A02D */ daddu $s4, $s0, $zero
.L80257588:
/* 185E68 80257588 8E220000 */ lw $v0, ($s1)
/* 185E6C 8025758C 3C030010 */ lui $v1, 0x10
/* 185E70 80257590 00431024 */ and $v0, $v0, $v1
/* 185E74 80257594 14400035 */ bnez $v0, .L8025766C
/* 185E78 80257598 27A40318 */ addiu $a0, $sp, 0x318
/* 185E7C 8025759C 86220014 */ lh $v0, 0x14($s1)
/* 185E80 802575A0 C7AA0358 */ lwc1 $f10, 0x358($sp)
/* 185E84 802575A4 44820000 */ mtc1 $v0, $f0
/* 185E88 802575A8 00000000 */ nop
/* 185E8C 802575AC 46800020 */ cvt.s.w $f0, $f0
/* 185E90 802575B0 8622001A */ lh $v0, 0x1a($s1)
/* 185E94 802575B4 46005000 */ add.s $f0, $f10, $f0
/* 185E98 802575B8 44821000 */ mtc1 $v0, $f2
/* 185E9C 802575BC 00000000 */ nop
/* 185EA0 802575C0 468010A0 */ cvt.s.w $f2, $f2
/* 185EA4 802575C4 8E420000 */ lw $v0, ($s2)
/* 185EA8 802575C8 30420800 */ andi $v0, $v0, 0x800
/* 185EAC 802575CC 1440000D */ bnez $v0, .L80257604
/* 185EB0 802575D0 46020680 */ add.s $f26, $f0, $f2
/* 185EB4 802575D4 86220016 */ lh $v0, 0x16($s1)
/* 185EB8 802575D8 C7AA035C */ lwc1 $f10, 0x35c($sp)
/* 185EBC 802575DC 44821000 */ mtc1 $v0, $f2
/* 185EC0 802575E0 00000000 */ nop
/* 185EC4 802575E4 468010A0 */ cvt.s.w $f2, $f2
/* 185EC8 802575E8 8622001C */ lh $v0, 0x1c($s1)
/* 185ECC 802575EC 46025080 */ add.s $f2, $f10, $f2
/* 185ED0 802575F0 44820000 */ mtc1 $v0, $f0
/* 185ED4 802575F4 00000000 */ nop
/* 185ED8 802575F8 46800020 */ cvt.s.w $f0, $f0
/* 185EDC 802575FC 08095D8C */ j .L80257630
/* 185EE0 80257600 46001500 */ add.s $f20, $f2, $f0
.L80257604:
/* 185EE4 80257604 86220016 */ lh $v0, 0x16($s1)
/* 185EE8 80257608 C7AA035C */ lwc1 $f10, 0x35c($sp)
/* 185EEC 8025760C 44821000 */ mtc1 $v0, $f2
/* 185EF0 80257610 00000000 */ nop
/* 185EF4 80257614 468010A0 */ cvt.s.w $f2, $f2
/* 185EF8 80257618 8622001C */ lh $v0, 0x1c($s1)
/* 185EFC 8025761C 46025081 */ sub.s $f2, $f10, $f2
/* 185F00 80257620 44820000 */ mtc1 $v0, $f0
/* 185F04 80257624 00000000 */ nop
/* 185F08 80257628 46800020 */ cvt.s.w $f0, $f0
/* 185F0C 8025762C 46001501 */ sub.s $f20, $f2, $f0
.L80257630:
/* 185F10 80257630 C640018C */ lwc1 $f0, 0x18c($s2)
/* 185F14 80257634 86220018 */ lh $v0, 0x18($s1)
/* 185F18 80257638 C7AA0360 */ lwc1 $f10, 0x360($sp)
/* 185F1C 8025763C 46000586 */ mov.s $f22, $f0
/* 185F20 80257640 44821000 */ mtc1 $v0, $f2
/* 185F24 80257644 00000000 */ nop
/* 185F28 80257648 468010A0 */ cvt.s.w $f2, $f2
/* 185F2C 8025764C 8622001E */ lh $v0, 0x1e($s1)
/* 185F30 80257650 46025080 */ add.s $f2, $f10, $f2
/* 185F34 80257654 E6360064 */ swc1 $f22, 0x64($s1)
/* 185F38 80257658 44820000 */ mtc1 $v0, $f0
/* 185F3C 8025765C 00000000 */ nop
/* 185F40 80257660 46800020 */ cvt.s.w $f0, $f0
/* 185F44 80257664 08095DC1 */ j .L80257704
/* 185F48 80257668 46001600 */ add.s $f24, $f2, $f0
.L8025766C:
/* 185F4C 8025766C C6480170 */ lwc1 $f8, 0x170($s2)
/* 185F50 80257670 46004221 */ cvt.d.s $f8, $f8
/* 185F54 80257674 463E4202 */ mul.d $f8, $f8, $f30
/* 185F58 80257678 00000000 */ nop
/* 185F5C 8025767C C6460174 */ lwc1 $f6, 0x174($s2)
/* 185F60 80257680 460031A1 */ cvt.d.s $f6, $f6
/* 185F64 80257684 463E3182 */ mul.d $f6, $f6, $f30
/* 185F68 80257688 00000000 */ nop
/* 185F6C 8025768C C6420178 */ lwc1 $f2, 0x178($s2)
/* 185F70 80257690 460010A1 */ cvt.d.s $f2, $f2
/* 185F74 80257694 463E1082 */ mul.d $f2, $f2, $f30
/* 185F78 80257698 00000000 */ nop
/* 185F7C 8025769C 8622001A */ lh $v0, 0x1a($s1)
/* 185F80 802576A0 C624002C */ lwc1 $f4, 0x2c($s1)
/* 185F84 802576A4 44820000 */ mtc1 $v0, $f0
/* 185F88 802576A8 00000000 */ nop
/* 185F8C 802576AC 46800020 */ cvt.s.w $f0, $f0
/* 185F90 802576B0 46002680 */ add.s $f26, $f4, $f0
/* 185F94 802576B4 8622001C */ lh $v0, 0x1c($s1)
/* 185F98 802576B8 C6240030 */ lwc1 $f4, 0x30($s1)
/* 185F9C 802576BC 44820000 */ mtc1 $v0, $f0
/* 185FA0 802576C0 00000000 */ nop
/* 185FA4 802576C4 46800020 */ cvt.s.w $f0, $f0
/* 185FA8 802576C8 46002500 */ add.s $f20, $f4, $f0
/* 185FAC 802576CC 8622001E */ lh $v0, 0x1e($s1)
/* 185FB0 802576D0 C6240034 */ lwc1 $f4, 0x34($s1)
/* 185FB4 802576D4 44820000 */ mtc1 $v0, $f0
/* 185FB8 802576D8 00000000 */ nop
/* 185FBC 802576DC 46800020 */ cvt.s.w $f0, $f0
/* 185FC0 802576E0 46204220 */ cvt.s.d $f8, $f8
/* 185FC4 802576E4 462031A0 */ cvt.s.d $f6, $f6
/* 185FC8 802576E8 462010A0 */ cvt.s.d $f2, $f2
/* 185FCC 802576EC 44054000 */ mfc1 $a1, $f8
/* 185FD0 802576F0 44063000 */ mfc1 $a2, $f6
/* 185FD4 802576F4 44071000 */ mfc1 $a3, $f2
/* 185FD8 802576F8 0C019DF0 */ jal guScaleF
/* 185FDC 802576FC 46002600 */ add.s $f24, $f4, $f0
/* 185FE0 80257700 C6360064 */ lwc1 $f22, 0x64($s1)
.L80257704:
/* 185FE4 80257704 8E220000 */ lw $v0, ($s1)
/* 185FE8 80257708 30420001 */ andi $v0, $v0, 1
/* 185FEC 8025770C 144000EE */ bnez $v0, .L80257AC8
/* 185FF0 80257710 00000000 */ nop
/* 185FF4 80257714 8E220094 */ lw $v0, 0x94($s1)
/* 185FF8 80257718 104000EB */ beqz $v0, .L80257AC8
/* 185FFC 8025771C 00000000 */ nop
/* 186000 80257720 8E420000 */ lw $v0, ($s2)
/* 186004 80257724 30420800 */ andi $v0, $v0, 0x800
/* 186008 80257728 14400025 */ bnez $v0, .L802577C0
/* 18600C 8025772C 00000000 */ nop
/* 186010 80257730 86220044 */ lh $v0, 0x44($s1)
/* 186014 80257734 C6420188 */ lwc1 $f2, 0x188($s2)
/* 186018 80257738 00021023 */ negu $v0, $v0
/* 18601C 8025773C 44820000 */ mtc1 $v0, $f0
/* 186020 80257740 00000000 */ nop
/* 186024 80257744 46800020 */ cvt.s.w $f0, $f0
/* 186028 80257748 46020002 */ mul.s $f0, $f0, $f2
/* 18602C 8025774C 00000000 */ nop
/* 186030 80257750 86220046 */ lh $v0, 0x46($s1)
/* 186034 80257754 00021023 */ negu $v0, $v0
/* 186038 80257758 44050000 */ mfc1 $a1, $f0
/* 18603C 8025775C 44820000 */ mtc1 $v0, $f0
/* 186040 80257760 00000000 */ nop
/* 186044 80257764 46800020 */ cvt.s.w $f0, $f0
/* 186048 80257768 46020002 */ mul.s $f0, $f0, $f2
/* 18604C 8025776C 00000000 */ nop
/* 186050 80257770 86220048 */ lh $v0, 0x48($s1)
/* 186054 80257774 00021023 */ negu $v0, $v0
/* 186058 80257778 44060000 */ mfc1 $a2, $f0
/* 18605C 8025777C 44820000 */ mtc1 $v0, $f0
/* 186060 80257780 00000000 */ nop
/* 186064 80257784 46800020 */ cvt.s.w $f0, $f0
/* 186068 80257788 46020002 */ mul.s $f0, $f0, $f2
/* 18606C 8025778C 00000000 */ nop
/* 186070 80257790 44070000 */ mfc1 $a3, $f0
/* 186074 80257794 0C019E40 */ jal guTranslateF
/* 186078 80257798 27A40158 */ addiu $a0, $sp, 0x158
/* 18607C 8025779C 86220044 */ lh $v0, 0x44($s1)
/* 186080 802577A0 C6420188 */ lwc1 $f2, 0x188($s2)
/* 186084 802577A4 44820000 */ mtc1 $v0, $f0
/* 186088 802577A8 00000000 */ nop
/* 18608C 802577AC 46800020 */ cvt.s.w $f0, $f0
/* 186090 802577B0 46020002 */ mul.s $f0, $f0, $f2
/* 186094 802577B4 00000000 */ nop
/* 186098 802577B8 08095E13 */ j .L8025784C
/* 18609C 802577BC 86220046 */ lh $v0, 0x46($s1)
.L802577C0:
/* 1860A0 802577C0 86220044 */ lh $v0, 0x44($s1)
/* 1860A4 802577C4 C6420188 */ lwc1 $f2, 0x188($s2)
/* 1860A8 802577C8 00021023 */ negu $v0, $v0
/* 1860AC 802577CC 44820000 */ mtc1 $v0, $f0
/* 1860B0 802577D0 00000000 */ nop
/* 1860B4 802577D4 46800020 */ cvt.s.w $f0, $f0
/* 1860B8 802577D8 46020002 */ mul.s $f0, $f0, $f2
/* 1860BC 802577DC 00000000 */ nop
/* 1860C0 802577E0 86220046 */ lh $v0, 0x46($s1)
/* 1860C4 802577E4 44050000 */ mfc1 $a1, $f0
/* 1860C8 802577E8 44820000 */ mtc1 $v0, $f0
/* 1860CC 802577EC 00000000 */ nop
/* 1860D0 802577F0 46800020 */ cvt.s.w $f0, $f0
/* 1860D4 802577F4 46020002 */ mul.s $f0, $f0, $f2
/* 1860D8 802577F8 00000000 */ nop
/* 1860DC 802577FC 86220048 */ lh $v0, 0x48($s1)
/* 1860E0 80257800 00021023 */ negu $v0, $v0
/* 1860E4 80257804 44060000 */ mfc1 $a2, $f0
/* 1860E8 80257808 44820000 */ mtc1 $v0, $f0
/* 1860EC 8025780C 00000000 */ nop
/* 1860F0 80257810 46800020 */ cvt.s.w $f0, $f0
/* 1860F4 80257814 46020002 */ mul.s $f0, $f0, $f2
/* 1860F8 80257818 00000000 */ nop
/* 1860FC 8025781C 44070000 */ mfc1 $a3, $f0
/* 186100 80257820 0C019E40 */ jal guTranslateF
/* 186104 80257824 27A40158 */ addiu $a0, $sp, 0x158
/* 186108 80257828 86220044 */ lh $v0, 0x44($s1)
/* 18610C 8025782C C6420188 */ lwc1 $f2, 0x188($s2)
/* 186110 80257830 44820000 */ mtc1 $v0, $f0
/* 186114 80257834 00000000 */ nop
/* 186118 80257838 46800020 */ cvt.s.w $f0, $f0
/* 18611C 8025783C 46020002 */ mul.s $f0, $f0, $f2
/* 186120 80257840 00000000 */ nop
/* 186124 80257844 86220046 */ lh $v0, 0x46($s1)
/* 186128 80257848 00021023 */ negu $v0, $v0
.L8025784C:
/* 18612C 8025784C 44050000 */ mfc1 $a1, $f0
/* 186130 80257850 44820000 */ mtc1 $v0, $f0
/* 186134 80257854 00000000 */ nop
/* 186138 80257858 46800020 */ cvt.s.w $f0, $f0
/* 18613C 8025785C 46020002 */ mul.s $f0, $f0, $f2
/* 186140 80257860 00000000 */ nop
/* 186144 80257864 86220048 */ lh $v0, 0x48($s1)
/* 186148 80257868 44060000 */ mfc1 $a2, $f0
/* 18614C 8025786C 44820000 */ mtc1 $v0, $f0
/* 186150 80257870 00000000 */ nop
/* 186154 80257874 46800020 */ cvt.s.w $f0, $f0
/* 186158 80257878 46020002 */ mul.s $f0, $f0, $f2
/* 18615C 8025787C 00000000 */ nop
/* 186160 80257880 44070000 */ mfc1 $a3, $f0
/* 186164 80257884 0C019E40 */ jal guTranslateF
/* 186168 80257888 27A40198 */ addiu $a0, $sp, 0x198
/* 18616C 8025788C 3C013F80 */ lui $at, 0x3f80
/* 186170 80257890 44815000 */ mtc1 $at, $f10
/* 186174 80257894 86220068 */ lh $v0, 0x68($s1)
/* 186178 80257898 460AC281 */ sub.s $f10, $f24, $f10
/* 18617C 8025789C 44820000 */ mtc1 $v0, $f0
/* 186180 802578A0 00000000 */ nop
/* 186184 802578A4 46800020 */ cvt.s.w $f0, $f0
/* 186188 802578A8 4600D680 */ add.s $f26, $f26, $f0
/* 18618C 802578AC 8622006A */ lh $v0, 0x6a($s1)
/* 186190 802578B0 44820000 */ mtc1 $v0, $f0
/* 186194 802578B4 00000000 */ nop
/* 186198 802578B8 46800020 */ cvt.s.w $f0, $f0
/* 18619C 802578BC 4600A500 */ add.s $f20, $f20, $f0
/* 1861A0 802578C0 44075000 */ mfc1 $a3, $f10
/* 1861A4 802578C4 4405D000 */ mfc1 $a1, $f26
/* 1861A8 802578C8 4406A000 */ mfc1 $a2, $f20
/* 1861AC 802578CC 0C019E40 */ jal guTranslateF
/* 1861B0 802578D0 27A401D8 */ addiu $a0, $sp, 0x1d8
/* 1861B4 802578D4 E7BC0010 */ swc1 $f28, 0x10($sp)
/* 1861B8 802578D8 8E250038 */ lw $a1, 0x38($s1)
/* 1861BC 802578DC 3C063F80 */ lui $a2, 0x3f80
/* 1861C0 802578E0 4407E000 */ mfc1 $a3, $f28
/* 1861C4 802578E4 0C019EC8 */ jal guRotateF
/* 1861C8 802578E8 27A40018 */ addiu $a0, $sp, 0x18
/* 1861CC 802578EC E7BC0010 */ swc1 $f28, 0x10($sp)
/* 1861D0 802578F0 8E25003C */ lw $a1, 0x3c($s1)
/* 1861D4 802578F4 4406E000 */ mfc1 $a2, $f28
/* 1861D8 802578F8 3C073F80 */ lui $a3, 0x3f80
/* 1861DC 802578FC 0C019EC8 */ jal guRotateF
/* 1861E0 80257900 8FA40368 */ lw $a0, 0x368($sp)
/* 1861E4 80257904 3C013F80 */ lui $at, 0x3f80
/* 1861E8 80257908 44815000 */ mtc1 $at, $f10
/* 1861EC 8025790C 4406E000 */ mfc1 $a2, $f28
/* 1861F0 80257910 4407E000 */ mfc1 $a3, $f28
/* 1861F4 80257914 E7AA0010 */ swc1 $f10, 0x10($sp)
/* 1861F8 80257918 8E250040 */ lw $a1, 0x40($s1)
/* 1861FC 8025791C 0C019EC8 */ jal guRotateF
/* 186200 80257920 02E0202D */ daddu $a0, $s7, $zero
/* 186204 80257924 27A50018 */ addiu $a1, $sp, 0x18
/* 186208 80257928 8FA40368 */ lw $a0, 0x368($sp)
/* 18620C 8025792C 0C019D80 */ jal guMtxCatF
/* 186210 80257930 0260302D */ daddu $a2, $s3, $zero
/* 186214 80257934 0260202D */ daddu $a0, $s3, $zero
/* 186218 80257938 02E0282D */ daddu $a1, $s7, $zero
/* 18621C 8025793C 0C019D80 */ jal guMtxCatF
/* 186220 80257940 02C0302D */ daddu $a2, $s6, $zero
/* 186224 80257944 82220074 */ lb $v0, 0x74($s1)
/* 186228 80257948 C6220050 */ lwc1 $f2, 0x50($s1)
/* 18622C 8025794C 44820000 */ mtc1 $v0, $f0
/* 186230 80257950 00000000 */ nop
/* 186234 80257954 46800020 */ cvt.s.w $f0, $f0
/* 186238 80257958 46001082 */ mul.s $f2, $f2, $f0
/* 18623C 8025795C 00000000 */ nop
/* 186240 80257960 8E25004C */ lw $a1, 0x4c($s1)
/* 186244 80257964 8E270054 */ lw $a3, 0x54($s1)
/* 186248 80257968 44061000 */ mfc1 $a2, $f2
/* 18624C 8025796C 0C019DF0 */ jal guScaleF
/* 186250 80257970 02A0202D */ daddu $a0, $s5, $zero
/* 186254 80257974 0C0950A2 */ jal mtx_mirror_y
/* 186258 80257978 27A40298 */ addiu $a0, $sp, 0x298
/* 18625C 8025797C 02A0202D */ daddu $a0, $s5, $zero
/* 186260 80257980 27A50158 */ addiu $a1, $sp, 0x158
/* 186264 80257984 0C019D80 */ jal guMtxCatF
/* 186268 80257988 0260302D */ daddu $a2, $s3, $zero
/* 18626C 8025798C 0260202D */ daddu $a0, $s3, $zero
/* 186270 80257990 02C0282D */ daddu $a1, $s6, $zero
/* 186274 80257994 0C019D80 */ jal guMtxCatF
/* 186278 80257998 0280302D */ daddu $a2, $s4, $zero
/* 18627C 8025799C 0280202D */ daddu $a0, $s4, $zero
/* 186280 802579A0 27A50198 */ addiu $a1, $sp, 0x198
/* 186284 802579A4 0C019D80 */ jal guMtxCatF
/* 186288 802579A8 0260302D */ daddu $a2, $s3, $zero
/* 18628C 802579AC 8E220000 */ lw $v0, ($s1)
/* 186290 802579B0 3C030010 */ lui $v1, 0x10
/* 186294 802579B4 00431024 */ and $v0, $v0, $v1
/* 186298 802579B8 14400003 */ bnez $v0, .L802579C8
/* 18629C 802579BC 0260202D */ daddu $a0, $s3, $zero
/* 1862A0 802579C0 08095E73 */ j .L802579CC
/* 1862A4 802579C4 27A502D8 */ addiu $a1, $sp, 0x2d8
.L802579C8:
/* 1862A8 802579C8 27A50318 */ addiu $a1, $sp, 0x318
.L802579CC:
/* 1862AC 802579CC 0C019D80 */ jal guMtxCatF
/* 1862B0 802579D0 0280302D */ daddu $a2, $s4, $zero
/* 1862B4 802579D4 0280202D */ daddu $a0, $s4, $zero
/* 1862B8 802579D8 27A501D8 */ addiu $a1, $sp, 0x1d8
/* 1862BC 802579DC 0C019D80 */ jal guMtxCatF
/* 1862C0 802579E0 0260302D */ daddu $a2, $s3, $zero
/* 1862C4 802579E4 0260202D */ daddu $a0, $s3, $zero
/* 1862C8 802579E8 27A50298 */ addiu $a1, $sp, 0x298
/* 1862CC 802579EC 0C019D80 */ jal guMtxCatF
/* 1862D0 802579F0 0280302D */ daddu $a2, $s4, $zero
/* 1862D4 802579F4 8FA803C8 */ lw $t0, 0x3c8($sp)
/* 1862D8 802579F8 15000014 */ bnez $t0, .L80257A4C
/* 1862DC 802579FC 24040001 */ addiu $a0, $zero, 1
/* 1862E0 80257A00 0220282D */ daddu $a1, $s1, $zero
/* 1862E4 80257A04 4600B28D */ trunc.w.s $f10, $f22
/* 1862E8 80257A08 44105000 */ mfc1 $s0, $f10
/* 1862EC 80257A0C 00000000 */ nop
/* 1862F0 80257A10 0200302D */ daddu $a2, $s0, $zero
/* 1862F4 80257A14 0C097210 */ jal func_8025C840
/* 1862F8 80257A18 0080382D */ daddu $a3, $a0, $zero
/* 1862FC 80257A1C 24040001 */ addiu $a0, $zero, 1
/* 186300 80257A20 0220282D */ daddu $a1, $s1, $zero
/* 186304 80257A24 0200302D */ daddu $a2, $s0, $zero
/* 186308 80257A28 0C097332 */ jal func_8025CCC8
/* 18630C 80257A2C 0080382D */ daddu $a3, $a0, $zero
/* 186310 80257A30 24020001 */ addiu $v0, $zero, 1
/* 186314 80257A34 AFA20010 */ sw $v0, 0x10($sp)
/* 186318 80257A38 0040202D */ daddu $a0, $v0, $zero
/* 18631C 80257A3C 0220282D */ daddu $a1, $s1, $zero
/* 186320 80257A40 0200302D */ daddu $a2, $s0, $zero
/* 186324 80257A44 08095EB0 */ j .L80257AC0
/* 186328 80257A48 0280382D */ daddu $a3, $s4, $zero
.L80257A4C:
/* 18632C 80257A4C 3C014334 */ lui $at, 0x4334
/* 186330 80257A50 4481A000 */ mtc1 $at, $f20
/* 186334 80257A54 00000000 */ nop
/* 186338 80257A58 4614B500 */ add.s $f20, $f22, $f20
/* 18633C 80257A5C 0C00A6C9 */ jal clamp_angle
/* 186340 80257A60 4600A306 */ mov.s $f12, $f20
/* 186344 80257A64 24040001 */ addiu $a0, $zero, 1
/* 186348 80257A68 0220282D */ daddu $a1, $s1, $zero
/* 18634C 80257A6C 4600028D */ trunc.w.s $f10, $f0
/* 186350 80257A70 44065000 */ mfc1 $a2, $f10
/* 186354 80257A74 0C097210 */ jal func_8025C840
/* 186358 80257A78 0080382D */ daddu $a3, $a0, $zero
/* 18635C 80257A7C 0C00A6C9 */ jal clamp_angle
/* 186360 80257A80 4600A306 */ mov.s $f12, $f20
/* 186364 80257A84 24040001 */ addiu $a0, $zero, 1
/* 186368 80257A88 0220282D */ daddu $a1, $s1, $zero
/* 18636C 80257A8C 4600028D */ trunc.w.s $f10, $f0
/* 186370 80257A90 44065000 */ mfc1 $a2, $f10
/* 186374 80257A94 0C097332 */ jal func_8025CCC8
/* 186378 80257A98 0080382D */ daddu $a3, $a0, $zero
/* 18637C 80257A9C 0C00A6C9 */ jal clamp_angle
/* 186380 80257AA0 4600A306 */ mov.s $f12, $f20
/* 186384 80257AA4 24040001 */ addiu $a0, $zero, 1
/* 186388 80257AA8 0220282D */ daddu $a1, $s1, $zero
/* 18638C 80257AAC 4600028D */ trunc.w.s $f10, $f0
/* 186390 80257AB0 44065000 */ mfc1 $a2, $f10
/* 186394 80257AB4 0280382D */ daddu $a3, $s4, $zero
/* 186398 80257AB8 0080102D */ daddu $v0, $a0, $zero
/* 18639C 80257ABC AFA20010 */ sw $v0, 0x10($sp)
.L80257AC0:
/* 1863A0 80257AC0 0C09647B */ jal func_802591EC
/* 1863A4 80257AC4 00000000 */ nop
.L80257AC8:
/* 1863A8 80257AC8 8E31000C */ lw $s1, 0xc($s1)
/* 1863AC 80257ACC 8FA80364 */ lw $t0, 0x364($sp)
/* 1863B0 80257AD0 27DE0001 */ addiu $fp, $fp, 1
/* 1863B4 80257AD4 03C8102A */ slt $v0, $fp, $t0
/* 1863B8 80257AD8 1440FEAB */ bnez $v0, .L80257588
/* 1863BC 80257ADC 00000000 */ nop
.L80257AE0:
/* 1863C0 80257AE0 8FBF0394 */ lw $ra, 0x394($sp)
/* 1863C4 80257AE4 8FBE0390 */ lw $fp, 0x390($sp)
/* 1863C8 80257AE8 8FB7038C */ lw $s7, 0x38c($sp)
/* 1863CC 80257AEC 8FB60388 */ lw $s6, 0x388($sp)
/* 1863D0 80257AF0 8FB50384 */ lw $s5, 0x384($sp)
/* 1863D4 80257AF4 8FB40380 */ lw $s4, 0x380($sp)
/* 1863D8 80257AF8 8FB3037C */ lw $s3, 0x37c($sp)
/* 1863DC 80257AFC 8FB20378 */ lw $s2, 0x378($sp)
/* 1863E0 80257B00 8FB10374 */ lw $s1, 0x374($sp)
/* 1863E4 80257B04 8FB00370 */ lw $s0, 0x370($sp)
/* 1863E8 80257B08 D7BE03C0 */ ldc1 $f30, 0x3c0($sp)
/* 1863EC 80257B0C D7BC03B8 */ ldc1 $f28, 0x3b8($sp)
/* 1863F0 80257B10 D7BA03B0 */ ldc1 $f26, 0x3b0($sp)
/* 1863F4 80257B14 D7B803A8 */ ldc1 $f24, 0x3a8($sp)
/* 1863F8 80257B18 D7B603A0 */ ldc1 $f22, 0x3a0($sp)
/* 1863FC 80257B1C D7B40398 */ ldc1 $f20, 0x398($sp)
/* 186400 80257B20 03E00008 */ jr $ra
/* 186404 80257B24 27BD03C8 */ addiu $sp, $sp, 0x3c8

View File

@ -1,257 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_8029D398
.double 0.7142857142857143
.section .text
glabel func_80258E14
/* 1876F4 80258E14 27BDFCE8 */ addiu $sp, $sp, -0x318
/* 1876F8 80258E18 AFB002D8 */ sw $s0, 0x2d8($sp)
/* 1876FC 80258E1C 3C10800E */ lui $s0, %hi(gBattleStatus+0xD8)
/* 187700 80258E20 8E10C148 */ lw $s0, %lo(gBattleStatus+0xD8)($s0)
/* 187704 80258E24 AFBF02F8 */ sw $ra, 0x2f8($sp)
/* 187708 80258E28 AFB702F4 */ sw $s7, 0x2f4($sp)
/* 18770C 80258E2C AFB602F0 */ sw $s6, 0x2f0($sp)
/* 187710 80258E30 AFB502EC */ sw $s5, 0x2ec($sp)
/* 187714 80258E34 AFB402E8 */ sw $s4, 0x2e8($sp)
/* 187718 80258E38 AFB302E4 */ sw $s3, 0x2e4($sp)
/* 18771C 80258E3C AFB202E0 */ sw $s2, 0x2e0($sp)
/* 187720 80258E40 AFB102DC */ sw $s1, 0x2dc($sp)
/* 187724 80258E44 F7B80310 */ sdc1 $f24, 0x310($sp)
/* 187728 80258E48 F7B60308 */ sdc1 $f22, 0x308($sp)
/* 18772C 80258E4C F7B40300 */ sdc1 $f20, 0x300($sp)
/* 187730 80258E50 86020150 */ lh $v0, 0x150($s0)
/* 187734 80258E54 C6040144 */ lwc1 $f4, 0x144($s0)
/* 187738 80258E58 C6020148 */ lwc1 $f2, 0x148($s0)
/* 18773C 80258E5C 44820000 */ mtc1 $v0, $f0
/* 187740 80258E60 00000000 */ nop
/* 187744 80258E64 46800020 */ cvt.s.w $f0, $f0
/* 187748 80258E68 46002100 */ add.s $f4, $f4, $f0
/* 18774C 80258E6C 86020152 */ lh $v0, 0x152($s0)
/* 187750 80258E70 8E1301F4 */ lw $s3, 0x1f4($s0)
/* 187754 80258E74 44820000 */ mtc1 $v0, $f0
/* 187758 80258E78 00000000 */ nop
/* 18775C 80258E7C 46800020 */ cvt.s.w $f0, $f0
/* 187760 80258E80 46001080 */ add.s $f2, $f2, $f0
/* 187764 80258E84 86620068 */ lh $v0, 0x68($s3)
/* 187768 80258E88 44820000 */ mtc1 $v0, $f0
/* 18776C 80258E8C 00000000 */ nop
/* 187770 80258E90 46800020 */ cvt.s.w $f0, $f0
/* 187774 80258E94 46002100 */ add.s $f4, $f4, $f0
/* 187778 80258E98 8662006A */ lh $v0, 0x6a($s3)
/* 18777C 80258E9C 44820000 */ mtc1 $v0, $f0
/* 187780 80258EA0 00000000 */ nop
/* 187784 80258EA4 46800020 */ cvt.s.w $f0, $f0
/* 187788 80258EA8 46001080 */ add.s $f2, $f2, $f0
/* 18778C 80258EAC 86020154 */ lh $v0, 0x154($s0)
/* 187790 80258EB0 C600014C */ lwc1 $f0, 0x14c($s0)
/* 187794 80258EB4 44061000 */ mfc1 $a2, $f2
/* 187798 80258EB8 44821000 */ mtc1 $v0, $f2
/* 18779C 80258EBC 00000000 */ nop
/* 1877A0 80258EC0 468010A0 */ cvt.s.w $f2, $f2
/* 1877A4 80258EC4 46020000 */ add.s $f0, $f0, $f2
/* 1877A8 80258EC8 3C0140A0 */ lui $at, 0x40a0
/* 1877AC 80258ECC 44811000 */ mtc1 $at, $f2
/* 1877B0 80258ED0 00000000 */ nop
/* 1877B4 80258ED4 46020001 */ sub.s $f0, $f0, $f2
/* 1877B8 80258ED8 3C013F80 */ lui $at, 0x3f80
/* 1877BC 80258EDC 4481B000 */ mtc1 $at, $f22
/* 1877C0 80258EE0 27B701D8 */ addiu $s7, $sp, 0x1d8
/* 1877C4 80258EE4 46160001 */ sub.s $f0, $f0, $f22
/* 1877C8 80258EE8 C618018C */ lwc1 $f24, 0x18c($s0)
/* 1877CC 80258EEC 44052000 */ mfc1 $a1, $f4
/* 1877D0 80258EF0 44070000 */ mfc1 $a3, $f0
/* 1877D4 80258EF4 02E0202D */ daddu $a0, $s7, $zero
/* 1877D8 80258EF8 0C019E40 */ jal guTranslateF
/* 1877DC 80258EFC E6780064 */ swc1 $f24, 0x64($s3)
/* 1877E0 80258F00 86020168 */ lh $v0, 0x168($s0)
/* 1877E4 80258F04 C6020188 */ lwc1 $f2, 0x188($s0)
/* 1877E8 80258F08 00021023 */ negu $v0, $v0
/* 1877EC 80258F0C 44820000 */ mtc1 $v0, $f0
/* 1877F0 80258F10 00000000 */ nop
/* 1877F4 80258F14 46800020 */ cvt.s.w $f0, $f0
/* 1877F8 80258F18 46020002 */ mul.s $f0, $f0, $f2
/* 1877FC 80258F1C 00000000 */ nop
/* 187800 80258F20 8602016A */ lh $v0, 0x16a($s0)
/* 187804 80258F24 00021023 */ negu $v0, $v0
/* 187808 80258F28 44050000 */ mfc1 $a1, $f0
/* 18780C 80258F2C 44820000 */ mtc1 $v0, $f0
/* 187810 80258F30 00000000 */ nop
/* 187814 80258F34 46800020 */ cvt.s.w $f0, $f0
/* 187818 80258F38 46020002 */ mul.s $f0, $f0, $f2
/* 18781C 80258F3C 00000000 */ nop
/* 187820 80258F40 8602016C */ lh $v0, 0x16c($s0)
/* 187824 80258F44 00021023 */ negu $v0, $v0
/* 187828 80258F48 44060000 */ mfc1 $a2, $f0
/* 18782C 80258F4C 44820000 */ mtc1 $v0, $f0
/* 187830 80258F50 00000000 */ nop
/* 187834 80258F54 46800020 */ cvt.s.w $f0, $f0
/* 187838 80258F58 46020002 */ mul.s $f0, $f0, $f2
/* 18783C 80258F5C 00000000 */ nop
/* 187840 80258F60 27B60158 */ addiu $s6, $sp, 0x158
/* 187844 80258F64 44070000 */ mfc1 $a3, $f0
/* 187848 80258F68 0C019E40 */ jal guTranslateF
/* 18784C 80258F6C 02C0202D */ daddu $a0, $s6, $zero
/* 187850 80258F70 86020168 */ lh $v0, 0x168($s0)
/* 187854 80258F74 C6020188 */ lwc1 $f2, 0x188($s0)
/* 187858 80258F78 44820000 */ mtc1 $v0, $f0
/* 18785C 80258F7C 00000000 */ nop
/* 187860 80258F80 46800020 */ cvt.s.w $f0, $f0
/* 187864 80258F84 46020002 */ mul.s $f0, $f0, $f2
/* 187868 80258F88 00000000 */ nop
/* 18786C 80258F8C 8602016A */ lh $v0, 0x16a($s0)
/* 187870 80258F90 44050000 */ mfc1 $a1, $f0
/* 187874 80258F94 44820000 */ mtc1 $v0, $f0
/* 187878 80258F98 00000000 */ nop
/* 18787C 80258F9C 46800020 */ cvt.s.w $f0, $f0
/* 187880 80258FA0 46020002 */ mul.s $f0, $f0, $f2
/* 187884 80258FA4 00000000 */ nop
/* 187888 80258FA8 8602016C */ lh $v0, 0x16c($s0)
/* 18788C 80258FAC 44060000 */ mfc1 $a2, $f0
/* 187890 80258FB0 44820000 */ mtc1 $v0, $f0
/* 187894 80258FB4 00000000 */ nop
/* 187898 80258FB8 46800020 */ cvt.s.w $f0, $f0
/* 18789C 80258FBC 46020002 */ mul.s $f0, $f0, $f2
/* 1878A0 80258FC0 00000000 */ nop
/* 1878A4 80258FC4 27B50198 */ addiu $s5, $sp, 0x198
/* 1878A8 80258FC8 44070000 */ mfc1 $a3, $f0
/* 1878AC 80258FCC 4480A000 */ mtc1 $zero, $f20
/* 1878B0 80258FD0 0C019E40 */ jal guTranslateF
/* 1878B4 80258FD4 02A0202D */ daddu $a0, $s5, $zero
/* 1878B8 80258FD8 E7B40010 */ swc1 $f20, 0x10($sp)
/* 1878BC 80258FDC 8E05015C */ lw $a1, 0x15c($s0)
/* 1878C0 80258FE0 4406B000 */ mfc1 $a2, $f22
/* 1878C4 80258FE4 4407A000 */ mfc1 $a3, $f20
/* 1878C8 80258FE8 0C019EC8 */ jal guRotateF
/* 1878CC 80258FEC 27A40018 */ addiu $a0, $sp, 0x18
/* 1878D0 80258FF0 27B10058 */ addiu $s1, $sp, 0x58
/* 1878D4 80258FF4 E7B40010 */ swc1 $f20, 0x10($sp)
/* 1878D8 80258FF8 8E050160 */ lw $a1, 0x160($s0)
/* 1878DC 80258FFC 4406A000 */ mfc1 $a2, $f20
/* 1878E0 80259000 4407B000 */ mfc1 $a3, $f22
/* 1878E4 80259004 0C019EC8 */ jal guRotateF
/* 1878E8 80259008 0220202D */ daddu $a0, $s1, $zero
/* 1878EC 8025900C 27B20098 */ addiu $s2, $sp, 0x98
/* 1878F0 80259010 4406A000 */ mfc1 $a2, $f20
/* 1878F4 80259014 0240202D */ daddu $a0, $s2, $zero
/* 1878F8 80259018 E7B60010 */ swc1 $f22, 0x10($sp)
/* 1878FC 8025901C 8E050164 */ lw $a1, 0x164($s0)
/* 187900 80259020 0C019EC8 */ jal guRotateF
/* 187904 80259024 00C0382D */ daddu $a3, $a2, $zero
/* 187908 80259028 0220202D */ daddu $a0, $s1, $zero
/* 18790C 8025902C 27A50018 */ addiu $a1, $sp, 0x18
/* 187910 80259030 27B10218 */ addiu $s1, $sp, 0x218
/* 187914 80259034 0C019D80 */ jal guMtxCatF
/* 187918 80259038 0220302D */ daddu $a2, $s1, $zero
/* 18791C 8025903C 0220202D */ daddu $a0, $s1, $zero
/* 187920 80259040 0240282D */ daddu $a1, $s2, $zero
/* 187924 80259044 27B400D8 */ addiu $s4, $sp, 0xd8
/* 187928 80259048 0C019D80 */ jal guMtxCatF
/* 18792C 8025904C 0280302D */ daddu $a2, $s4, $zero
/* 187930 80259050 C6060170 */ lwc1 $f6, 0x170($s0)
/* 187934 80259054 3C01802A */ lui $at, %hi(D_8029D398)
/* 187938 80259058 D428D398 */ ldc1 $f8, %lo(D_8029D398)($at)
/* 18793C 8025905C 460031A1 */ cvt.d.s $f6, $f6
/* 187940 80259060 46283182 */ mul.d $f6, $f6, $f8
/* 187944 80259064 00000000 */ nop
/* 187948 80259068 C6020174 */ lwc1 $f2, 0x174($s0)
/* 18794C 8025906C 460010A1 */ cvt.d.s $f2, $f2
/* 187950 80259070 46281082 */ mul.d $f2, $f2, $f8
/* 187954 80259074 00000000 */ nop
/* 187958 80259078 C6040178 */ lwc1 $f4, 0x178($s0)
/* 18795C 8025907C 46002121 */ cvt.d.s $f4, $f4
/* 187960 80259080 46282102 */ mul.d $f4, $f4, $f8
/* 187964 80259084 00000000 */ nop
/* 187968 80259088 C6000188 */ lwc1 $f0, 0x188($s0)
/* 18796C 8025908C 46000021 */ cvt.d.s $f0, $f0
/* 187970 80259090 46203182 */ mul.d $f6, $f6, $f0
/* 187974 80259094 00000000 */ nop
/* 187978 80259098 46201082 */ mul.d $f2, $f2, $f0
/* 18797C 8025909C 00000000 */ nop
/* 187980 802590A0 82620074 */ lb $v0, 0x74($s3)
/* 187984 802590A4 44820000 */ mtc1 $v0, $f0
/* 187988 802590A8 00000000 */ nop
/* 18798C 802590AC 46800021 */ cvt.d.w $f0, $f0
/* 187990 802590B0 46201082 */ mul.d $f2, $f2, $f0
/* 187994 802590B4 00000000 */ nop
/* 187998 802590B8 27B00118 */ addiu $s0, $sp, 0x118
/* 18799C 802590BC 46202120 */ cvt.s.d $f4, $f4
/* 1879A0 802590C0 44072000 */ mfc1 $a3, $f4
/* 1879A4 802590C4 462031A0 */ cvt.s.d $f6, $f6
/* 1879A8 802590C8 44053000 */ mfc1 $a1, $f6
/* 1879AC 802590CC 462010A0 */ cvt.s.d $f2, $f2
/* 1879B0 802590D0 44061000 */ mfc1 $a2, $f2
/* 1879B4 802590D4 0C019DF0 */ jal guScaleF
/* 1879B8 802590D8 0200202D */ daddu $a0, $s0, $zero
/* 1879BC 802590DC 27B20298 */ addiu $s2, $sp, 0x298
/* 1879C0 802590E0 0C0950A2 */ jal mtx_mirror_y
/* 1879C4 802590E4 0240202D */ daddu $a0, $s2, $zero
/* 1879C8 802590E8 0200202D */ daddu $a0, $s0, $zero
/* 1879CC 802590EC 02C0282D */ daddu $a1, $s6, $zero
/* 1879D0 802590F0 0C019D80 */ jal guMtxCatF
/* 1879D4 802590F4 0220302D */ daddu $a2, $s1, $zero
/* 1879D8 802590F8 0220202D */ daddu $a0, $s1, $zero
/* 1879DC 802590FC 0280282D */ daddu $a1, $s4, $zero
/* 1879E0 80259100 0C019D80 */ jal guMtxCatF
/* 1879E4 80259104 0220302D */ daddu $a2, $s1, $zero
/* 1879E8 80259108 0220202D */ daddu $a0, $s1, $zero
/* 1879EC 8025910C 02A0282D */ daddu $a1, $s5, $zero
/* 1879F0 80259110 0C019D80 */ jal guMtxCatF
/* 1879F4 80259114 0220302D */ daddu $a2, $s1, $zero
/* 1879F8 80259118 0220202D */ daddu $a0, $s1, $zero
/* 1879FC 8025911C 02E0282D */ daddu $a1, $s7, $zero
/* 187A00 80259120 27B00258 */ addiu $s0, $sp, 0x258
/* 187A04 80259124 0C019D80 */ jal guMtxCatF
/* 187A08 80259128 0200302D */ daddu $a2, $s0, $zero
/* 187A0C 8025912C 0200202D */ daddu $a0, $s0, $zero
/* 187A10 80259130 0240282D */ daddu $a1, $s2, $zero
/* 187A14 80259134 0C019D80 */ jal guMtxCatF
/* 187A18 80259138 0200302D */ daddu $a2, $s0, $zero
/* 187A1C 8025913C 3C014334 */ lui $at, 0x4334
/* 187A20 80259140 44810000 */ mtc1 $at, $f0
/* 187A24 80259144 00000000 */ nop
/* 187A28 80259148 4600C600 */ add.s $f24, $f24, $f0
/* 187A2C 8025914C 0C00A6C9 */ jal clamp_angle
/* 187A30 80259150 4600C306 */ mov.s $f12, $f24
/* 187A34 80259154 0000202D */ daddu $a0, $zero, $zero
/* 187A38 80259158 0260282D */ daddu $a1, $s3, $zero
/* 187A3C 8025915C 4600028D */ trunc.w.s $f10, $f0
/* 187A40 80259160 44065000 */ mfc1 $a2, $f10
/* 187A44 80259164 0C097210 */ jal func_8025C840
/* 187A48 80259168 24070001 */ addiu $a3, $zero, 1
/* 187A4C 8025916C 0C00A6C9 */ jal clamp_angle
/* 187A50 80259170 4600C306 */ mov.s $f12, $f24
/* 187A54 80259174 0000202D */ daddu $a0, $zero, $zero
/* 187A58 80259178 0260282D */ daddu $a1, $s3, $zero
/* 187A5C 8025917C 4600028D */ trunc.w.s $f10, $f0
/* 187A60 80259180 44065000 */ mfc1 $a2, $f10
/* 187A64 80259184 0C097332 */ jal func_8025CCC8
/* 187A68 80259188 24070001 */ addiu $a3, $zero, 1
/* 187A6C 8025918C 0C00A6C9 */ jal clamp_angle
/* 187A70 80259190 4600C306 */ mov.s $f12, $f24
/* 187A74 80259194 0000202D */ daddu $a0, $zero, $zero
/* 187A78 80259198 0260282D */ daddu $a1, $s3, $zero
/* 187A7C 8025919C 4600028D */ trunc.w.s $f10, $f0
/* 187A80 802591A0 44065000 */ mfc1 $a2, $f10
/* 187A84 802591A4 0200382D */ daddu $a3, $s0, $zero
/* 187A88 802591A8 24020001 */ addiu $v0, $zero, 1
/* 187A8C 802591AC 0C09647B */ jal func_802591EC
/* 187A90 802591B0 AFA20010 */ sw $v0, 0x10($sp)
/* 187A94 802591B4 8FBF02F8 */ lw $ra, 0x2f8($sp)
/* 187A98 802591B8 8FB702F4 */ lw $s7, 0x2f4($sp)
/* 187A9C 802591BC 8FB602F0 */ lw $s6, 0x2f0($sp)
/* 187AA0 802591C0 8FB502EC */ lw $s5, 0x2ec($sp)
/* 187AA4 802591C4 8FB402E8 */ lw $s4, 0x2e8($sp)
/* 187AA8 802591C8 8FB302E4 */ lw $s3, 0x2e4($sp)
/* 187AAC 802591CC 8FB202E0 */ lw $s2, 0x2e0($sp)
/* 187AB0 802591D0 8FB102DC */ lw $s1, 0x2dc($sp)
/* 187AB4 802591D4 8FB002D8 */ lw $s0, 0x2d8($sp)
/* 187AB8 802591D8 D7B80310 */ ldc1 $f24, 0x310($sp)
/* 187ABC 802591DC D7B60308 */ ldc1 $f22, 0x308($sp)
/* 187AC0 802591E0 D7B40300 */ ldc1 $f20, 0x300($sp)
/* 187AC4 802591E4 03E00008 */ jr $ra
/* 187AC8 802591E8 27BD0318 */ addiu $sp, $sp, 0x318

View File

@ -1,256 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8025C918
/* 18B1F8 8025C918 27BDFF58 */ addiu $sp, $sp, -0xa8
/* 18B1FC 8025C91C AFB70084 */ sw $s7, 0x84($sp)
/* 18B200 8025C920 00A0B82D */ daddu $s7, $a1, $zero
/* 18B204 8025C924 AFBF008C */ sw $ra, 0x8c($sp)
/* 18B208 8025C928 AFBE0088 */ sw $fp, 0x88($sp)
/* 18B20C 8025C92C AFB60080 */ sw $s6, 0x80($sp)
/* 18B210 8025C930 AFB5007C */ sw $s5, 0x7c($sp)
/* 18B214 8025C934 AFB40078 */ sw $s4, 0x78($sp)
/* 18B218 8025C938 AFB30074 */ sw $s3, 0x74($sp)
/* 18B21C 8025C93C AFB20070 */ sw $s2, 0x70($sp)
/* 18B220 8025C940 AFB1006C */ sw $s1, 0x6c($sp)
/* 18B224 8025C944 AFB00068 */ sw $s0, 0x68($sp)
/* 18B228 8025C948 F7B800A0 */ sdc1 $f24, 0xa0($sp)
/* 18B22C 8025C94C F7B60098 */ sdc1 $f22, 0x98($sp)
/* 18B230 8025C950 F7B40090 */ sdc1 $f20, 0x90($sp)
/* 18B234 8025C954 AFA700B4 */ sw $a3, 0xb4($sp)
/* 18B238 8025C958 8EF200C0 */ lw $s2, 0xc0($s7)
/* 18B23C 8025C95C 82420751 */ lb $v0, 0x751($s2)
/* 18B240 8025C960 1040001B */ beqz $v0, .L8025C9D0
/* 18B244 8025C964 0080F02D */ daddu $fp, $a0, $zero
/* 18B248 8025C968 2402FFFE */ addiu $v0, $zero, -2
/* 18B24C 8025C96C A2420752 */ sb $v0, 0x752($s2)
/* 18B250 8025C970 A640075A */ sh $zero, 0x75a($s2)
/* 18B254 8025C974 A2400751 */ sb $zero, 0x751($s2)
/* 18B258 8025C978 17C0000C */ bnez $fp, .L8025C9AC
/* 18B25C 8025C97C A6400758 */ sh $zero, 0x758($s2)
/* 18B260 8025C980 0000202D */ daddu $a0, $zero, $zero
/* 18B264 8025C984 24050011 */ addiu $a1, $zero, 0x11
/* 18B268 8025C988 24060014 */ addiu $a2, $zero, 0x14
/* 18B26C 8025C98C 0080382D */ daddu $a3, $a0, $zero
/* 18B270 8025C990 240200FF */ addiu $v0, $zero, 0xff
/* 18B274 8025C994 AFA00010 */ sw $zero, 0x10($sp)
/* 18B278 8025C998 AFA20014 */ sw $v0, 0x14($sp)
/* 18B27C 8025C99C 0C0B77FE */ jal func_802DDFF8
/* 18B280 8025C9A0 AFA00018 */ sw $zero, 0x18($sp)
/* 18B284 8025C9A4 08097274 */ j .L8025C9D0
/* 18B288 8025C9A8 00000000 */ nop
.L8025C9AC:
/* 18B28C 8025C9AC 24050011 */ addiu $a1, $zero, 0x11
/* 18B290 8025C9B0 24060014 */ addiu $a2, $zero, 0x14
/* 18B294 8025C9B4 240200FF */ addiu $v0, $zero, 0xff
/* 18B298 8025C9B8 AFA00010 */ sw $zero, 0x10($sp)
/* 18B29C 8025C9BC AFA20014 */ sw $v0, 0x14($sp)
/* 18B2A0 8025C9C0 AFA00018 */ sw $zero, 0x18($sp)
/* 18B2A4 8025C9C4 8EE40084 */ lw $a0, 0x84($s7)
/* 18B2A8 8025C9C8 0C0B7A25 */ jal func_802DE894
/* 18B2AC 8025C9CC 0000382D */ daddu $a3, $zero, $zero
.L8025C9D0:
/* 18B2B0 8025C9D0 9642075C */ lhu $v0, 0x75c($s2)
/* 18B2B4 8025C9D4 24420007 */ addiu $v0, $v0, 7
/* 18B2B8 8025C9D8 00021C00 */ sll $v1, $v0, 0x10
/* 18B2BC 8025C9DC 00032403 */ sra $a0, $v1, 0x10
/* 18B2C0 8025C9E0 A642075C */ sh $v0, 0x75c($s2)
/* 18B2C4 8025C9E4 28820168 */ slti $v0, $a0, 0x168
/* 18B2C8 8025C9E8 14400010 */ bnez $v0, .L8025CA2C
/* 18B2CC 8025C9EC 0000802D */ daddu $s0, $zero, $zero
/* 18B2D0 8025C9F0 3C02B60B */ lui $v0, 0xb60b
/* 18B2D4 8025C9F4 344260B7 */ ori $v0, $v0, 0x60b7
/* 18B2D8 8025C9F8 00820018 */ mult $a0, $v0
/* 18B2DC 8025C9FC 00031FC3 */ sra $v1, $v1, 0x1f
/* 18B2E0 8025CA00 00004010 */ mfhi $t0
/* 18B2E4 8025CA04 01041021 */ addu $v0, $t0, $a0
/* 18B2E8 8025CA08 00021203 */ sra $v0, $v0, 8
/* 18B2EC 8025CA0C 00431023 */ subu $v0, $v0, $v1
/* 18B2F0 8025CA10 00021840 */ sll $v1, $v0, 1
/* 18B2F4 8025CA14 00621821 */ addu $v1, $v1, $v0
/* 18B2F8 8025CA18 00031100 */ sll $v0, $v1, 4
/* 18B2FC 8025CA1C 00431023 */ subu $v0, $v0, $v1
/* 18B300 8025CA20 000210C0 */ sll $v0, $v0, 3
/* 18B304 8025CA24 00821023 */ subu $v0, $a0, $v0
/* 18B308 8025CA28 A642075C */ sh $v0, 0x75c($s2)
.L8025CA2C:
/* 18B30C 8025CA2C 3C138000 */ lui $s3, 0x8000
/* 18B310 8025CA30 0200882D */ daddu $s1, $s0, $zero
/* 18B314 8025CA34 3C013FF0 */ lui $at, 0x3ff0
/* 18B318 8025CA38 4481C800 */ mtc1 $at, $f25
/* 18B31C 8025CA3C 4480C000 */ mtc1 $zero, $f24
/* 18B320 8025CA40 3C01405C */ lui $at, 0x405c
/* 18B324 8025CA44 4481B800 */ mtc1 $at, $f23
/* 18B328 8025CA48 4480B000 */ mtc1 $zero, $f22
/* 18B32C 8025CA4C 3C0141E0 */ lui $at, 0x41e0
/* 18B330 8025CA50 4481A800 */ mtc1 $at, $f21
/* 18B334 8025CA54 4480A000 */ mtc1 $zero, $f20
.L8025CA58:
/* 18B338 8025CA58 9644075C */ lhu $a0, 0x75c($s2)
/* 18B33C 8025CA5C 00912021 */ addu $a0, $a0, $s1
/* 18B340 8025CA60 00042400 */ sll $a0, $a0, 0x10
/* 18B344 8025CA64 0C00A4F5 */ jal cosine
/* 18B348 8025CA68 00042403 */ sra $a0, $a0, 0x10
/* 18B34C 8025CA6C 46000021 */ cvt.d.s $f0, $f0
/* 18B350 8025CA70 46380000 */ add.d $f0, $f0, $f24
/* 18B354 8025CA74 46360002 */ mul.d $f0, $f0, $f22
/* 18B358 8025CA78 00000000 */ nop
/* 18B35C 8025CA7C 27A20020 */ addiu $v0, $sp, 0x20
/* 18B360 8025CA80 4620A03E */ c.le.d $f20, $f0
/* 18B364 8025CA84 00000000 */ nop
/* 18B368 8025CA88 45010005 */ bc1t .L8025CAA0
/* 18B36C 8025CA8C 00501021 */ addu $v0, $v0, $s0
/* 18B370 8025CA90 4620008D */ trunc.w.d $f2, $f0
/* 18B374 8025CA94 44031000 */ mfc1 $v1, $f2
/* 18B378 8025CA98 080972AE */ j .L8025CAB8
/* 18B37C 8025CA9C A0430000 */ sb $v1, ($v0)
.L8025CAA0:
/* 18B380 8025CAA0 46340001 */ sub.d $f0, $f0, $f20
/* 18B384 8025CAA4 4620008D */ trunc.w.d $f2, $f0
/* 18B388 8025CAA8 44031000 */ mfc1 $v1, $f2
/* 18B38C 8025CAAC 00000000 */ nop
/* 18B390 8025CAB0 00731825 */ or $v1, $v1, $s3
/* 18B394 8025CAB4 A0430000 */ sb $v1, ($v0)
.L8025CAB8:
/* 18B398 8025CAB8 9644075C */ lhu $a0, 0x75c($s2)
/* 18B39C 8025CABC 00912021 */ addu $a0, $a0, $s1
/* 18B3A0 8025CAC0 2484002D */ addiu $a0, $a0, 0x2d
/* 18B3A4 8025CAC4 00042400 */ sll $a0, $a0, 0x10
/* 18B3A8 8025CAC8 0C00A4F5 */ jal cosine
/* 18B3AC 8025CACC 00042403 */ sra $a0, $a0, 0x10
/* 18B3B0 8025CAD0 46000021 */ cvt.d.s $f0, $f0
/* 18B3B4 8025CAD4 46380000 */ add.d $f0, $f0, $f24
/* 18B3B8 8025CAD8 46360002 */ mul.d $f0, $f0, $f22
/* 18B3BC 8025CADC 00000000 */ nop
/* 18B3C0 8025CAE0 27A20038 */ addiu $v0, $sp, 0x38
/* 18B3C4 8025CAE4 4620A03E */ c.le.d $f20, $f0
/* 18B3C8 8025CAE8 00000000 */ nop
/* 18B3CC 8025CAEC 45010005 */ bc1t .L8025CB04
/* 18B3D0 8025CAF0 00501021 */ addu $v0, $v0, $s0
/* 18B3D4 8025CAF4 4620008D */ trunc.w.d $f2, $f0
/* 18B3D8 8025CAF8 44031000 */ mfc1 $v1, $f2
/* 18B3DC 8025CAFC 080972C7 */ j .L8025CB1C
/* 18B3E0 8025CB00 A0430000 */ sb $v1, ($v0)
.L8025CB04:
/* 18B3E4 8025CB04 46340001 */ sub.d $f0, $f0, $f20
/* 18B3E8 8025CB08 4620008D */ trunc.w.d $f2, $f0
/* 18B3EC 8025CB0C 44031000 */ mfc1 $v1, $f2
/* 18B3F0 8025CB10 00000000 */ nop
/* 18B3F4 8025CB14 00731825 */ or $v1, $v1, $s3
/* 18B3F8 8025CB18 A0430000 */ sb $v1, ($v0)
.L8025CB1C:
/* 18B3FC 8025CB1C 9644075C */ lhu $a0, 0x75c($s2)
/* 18B400 8025CB20 00912021 */ addu $a0, $a0, $s1
/* 18B404 8025CB24 2484005A */ addiu $a0, $a0, 0x5a
/* 18B408 8025CB28 00042400 */ sll $a0, $a0, 0x10
/* 18B40C 8025CB2C 0C00A4F5 */ jal cosine
/* 18B410 8025CB30 00042403 */ sra $a0, $a0, 0x10
/* 18B414 8025CB34 46000021 */ cvt.d.s $f0, $f0
/* 18B418 8025CB38 46380000 */ add.d $f0, $f0, $f24
/* 18B41C 8025CB3C 46360002 */ mul.d $f0, $f0, $f22
/* 18B420 8025CB40 00000000 */ nop
/* 18B424 8025CB44 27A20050 */ addiu $v0, $sp, 0x50
/* 18B428 8025CB48 4620A03E */ c.le.d $f20, $f0
/* 18B42C 8025CB4C 00000000 */ nop
/* 18B430 8025CB50 45010005 */ bc1t .L8025CB68
/* 18B434 8025CB54 00501021 */ addu $v0, $v0, $s0
/* 18B438 8025CB58 4620008D */ trunc.w.d $f2, $f0
/* 18B43C 8025CB5C 44031000 */ mfc1 $v1, $f2
/* 18B440 8025CB60 080972E0 */ j .L8025CB80
/* 18B444 8025CB64 A0430000 */ sb $v1, ($v0)
.L8025CB68:
/* 18B448 8025CB68 46340001 */ sub.d $f0, $f0, $f20
/* 18B44C 8025CB6C 4620008D */ trunc.w.d $f2, $f0
/* 18B450 8025CB70 44031000 */ mfc1 $v1, $f2
/* 18B454 8025CB74 00000000 */ nop
/* 18B458 8025CB78 00731825 */ or $v1, $v1, $s3
/* 18B45C 8025CB7C A0430000 */ sb $v1, ($v0)
.L8025CB80:
/* 18B460 8025CB80 26100001 */ addiu $s0, $s0, 1
/* 18B464 8025CB84 2A020014 */ slti $v0, $s0, 0x14
/* 18B468 8025CB88 1440FFB3 */ bnez $v0, .L8025CA58
/* 18B46C 8025CB8C 26310019 */ addiu $s1, $s1, 0x19
/* 18B470 8025CB90 86E30098 */ lh $v1, 0x98($s7)
/* 18B474 8025CB94 241100FF */ addiu $s1, $zero, 0xff
/* 18B478 8025CB98 0071102A */ slt $v0, $v1, $s1
/* 18B47C 8025CB9C 54400001 */ bnel $v0, $zero, .L8025CBA4
/* 18B480 8025CBA0 0060882D */ daddu $s1, $v1, $zero
.L8025CBA4:
/* 18B484 8025CBA4 8EE20000 */ lw $v0, ($s7)
/* 18B488 8025CBA8 30420100 */ andi $v0, $v0, 0x100
/* 18B48C 8025CBAC 1040000B */ beqz $v0, .L8025CBDC
/* 18B490 8025CBB0 3C038080 */ lui $v1, 0x8080
/* 18B494 8025CBB4 34638081 */ ori $v1, $v1, 0x8081
/* 18B498 8025CBB8 00111100 */ sll $v0, $s1, 4
/* 18B49C 8025CBBC 00511023 */ subu $v0, $v0, $s1
/* 18B4A0 8025CBC0 000210C0 */ sll $v0, $v0, 3
/* 18B4A4 8025CBC4 00430018 */ mult $v0, $v1
/* 18B4A8 8025CBC8 00004010 */ mfhi $t0
/* 18B4AC 8025CBCC 01021821 */ addu $v1, $t0, $v0
/* 18B4B0 8025CBD0 000319C3 */ sra $v1, $v1, 7
/* 18B4B4 8025CBD4 000217C3 */ sra $v0, $v0, 0x1f
/* 18B4B8 8025CBD8 00628823 */ subu $s1, $v1, $v0
.L8025CBDC:
/* 18B4BC 8025CBDC 0000802D */ daddu $s0, $zero, $zero
/* 18B4C0 8025CBE0 27B60020 */ addiu $s6, $sp, 0x20
/* 18B4C4 8025CBE4 27B50038 */ addiu $s5, $sp, 0x38
/* 18B4C8 8025CBE8 27B40050 */ addiu $s4, $sp, 0x50
/* 18B4CC 8025CBEC 241300FF */ addiu $s3, $zero, 0xff
/* 18B4D0 8025CBF0 02D01021 */ addu $v0, $s6, $s0
.L8025CBF4:
/* 18B4D4 8025CBF4 02B02021 */ addu $a0, $s5, $s0
/* 18B4D8 8025CBF8 90430000 */ lbu $v1, ($v0)
/* 18B4DC 8025CBFC 02901021 */ addu $v0, $s4, $s0
/* 18B4E0 8025CC00 90840000 */ lbu $a0, ($a0)
/* 18B4E4 8025CC04 90420000 */ lbu $v0, ($v0)
/* 18B4E8 8025CC08 00031E00 */ sll $v1, $v1, 0x18
/* 18B4EC 8025CC0C 00042400 */ sll $a0, $a0, 0x10
/* 18B4F0 8025CC10 00641825 */ or $v1, $v1, $a0
/* 18B4F4 8025CC14 00021200 */ sll $v0, $v0, 8
/* 18B4F8 8025CC18 00621825 */ or $v1, $v1, $v0
/* 18B4FC 8025CC1C 17C0000A */ bnez $fp, .L8025CC48
/* 18B500 8025CC20 00713825 */ or $a3, $v1, $s1
/* 18B504 8025CC24 0000202D */ daddu $a0, $zero, $zero
/* 18B508 8025CC28 2405000C */ addiu $a1, $zero, 0xc
/* 18B50C 8025CC2C 0200302D */ daddu $a2, $s0, $zero
/* 18B510 8025CC30 AFA00010 */ sw $zero, 0x10($sp)
/* 18B514 8025CC34 AFB30014 */ sw $s3, 0x14($sp)
/* 18B518 8025CC38 0C0B77FE */ jal func_802DDFF8
/* 18B51C 8025CC3C AFA00018 */ sw $zero, 0x18($sp)
/* 18B520 8025CC40 0809731A */ j .L8025CC68
/* 18B524 8025CC44 26100001 */ addiu $s0, $s0, 1
.L8025CC48:
/* 18B528 8025CC48 2405000C */ addiu $a1, $zero, 0xc
/* 18B52C 8025CC4C AFA00010 */ sw $zero, 0x10($sp)
/* 18B530 8025CC50 AFB30014 */ sw $s3, 0x14($sp)
/* 18B534 8025CC54 AFA00018 */ sw $zero, 0x18($sp)
/* 18B538 8025CC58 8EE40084 */ lw $a0, 0x84($s7)
/* 18B53C 8025CC5C 0C0B7A25 */ jal func_802DE894
/* 18B540 8025CC60 0200302D */ daddu $a2, $s0, $zero
/* 18B544 8025CC64 26100001 */ addiu $s0, $s0, 1
.L8025CC68:
/* 18B548 8025CC68 2A020014 */ slti $v0, $s0, 0x14
/* 18B54C 8025CC6C 1440FFE1 */ bnez $v0, .L8025CBF4
/* 18B550 8025CC70 02D01021 */ addu $v0, $s6, $s0
/* 18B554 8025CC74 8FA800B4 */ lw $t0, 0xb4($sp)
/* 18B558 8025CC78 15000004 */ bnez $t0, .L8025CC8C
/* 18B55C 8025CC7C 00000000 */ nop
/* 18B560 8025CC80 9642075A */ lhu $v0, 0x75a($s2)
/* 18B564 8025CC84 2442FFFF */ addiu $v0, $v0, -1
/* 18B568 8025CC88 A642075A */ sh $v0, 0x75a($s2)
.L8025CC8C:
/* 18B56C 8025CC8C 8FBF008C */ lw $ra, 0x8c($sp)
/* 18B570 8025CC90 8FBE0088 */ lw $fp, 0x88($sp)
/* 18B574 8025CC94 8FB70084 */ lw $s7, 0x84($sp)
/* 18B578 8025CC98 8FB60080 */ lw $s6, 0x80($sp)
/* 18B57C 8025CC9C 8FB5007C */ lw $s5, 0x7c($sp)
/* 18B580 8025CCA0 8FB40078 */ lw $s4, 0x78($sp)
/* 18B584 8025CCA4 8FB30074 */ lw $s3, 0x74($sp)
/* 18B588 8025CCA8 8FB20070 */ lw $s2, 0x70($sp)
/* 18B58C 8025CCAC 8FB1006C */ lw $s1, 0x6c($sp)
/* 18B590 8025CCB0 8FB00068 */ lw $s0, 0x68($sp)
/* 18B594 8025CCB4 D7B800A0 */ ldc1 $f24, 0xa0($sp)
/* 18B598 8025CCB8 D7B60098 */ ldc1 $f22, 0x98($sp)
/* 18B59C 8025CCBC D7B40090 */ ldc1 $f20, 0x90($sp)
/* 18B5A0 8025CCC0 03E00008 */ jr $ra
/* 18B5A4 8025CCC4 27BD00A8 */ addiu $sp, $sp, 0xa8

View File

@ -1,127 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_8029D420
.word .L8025CE90_18B770, .L8025CE84_18B764, .L8025CE84_18B764, .L8025CE7C_18B75C, .L8025CE7C_18B75C, .L8025CE84_18B764, .L8025CE84_18B764, .L8025CE7C_18B75C, .L8025CE7C_18B75C, 0
dlabel jtbl_8029D448
.word .L8025CE90_18B770, .L8025CE7C_18B75C, .L8025CE7C_18B75C, .L8025CE84_18B764, .L8025CE84_18B764, .L8025CE7C_18B75C, .L8025CE7C_18B75C, .L8025CE84_18B764, .L8025CE84_18B764, .L8025CE7C_18B75C, .L8025CE7C_18B75C, .L8025CE84_18B764, .L8025CE84_18B764, .L8025CE7C_18B75C, .L8025CE7C_18B75C, 0
.section .text
glabel func_8025CD40
/* 18B620 8025CD40 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 18B624 8025CD44 AFB10014 */ sw $s1, 0x14($sp)
/* 18B628 8025CD48 00A0882D */ daddu $s1, $a1, $zero
/* 18B62C 8025CD4C AFBF0020 */ sw $ra, 0x20($sp)
/* 18B630 8025CD50 AFB3001C */ sw $s3, 0x1c($sp)
/* 18B634 8025CD54 AFB20018 */ sw $s2, 0x18($sp)
/* 18B638 8025CD58 AFB00010 */ sw $s0, 0x10($sp)
/* 18B63C 8025CD5C 8E3000C0 */ lw $s0, 0xc0($s1)
/* 18B640 8025CD60 82020765 */ lb $v0, 0x765($s0)
/* 18B644 8025CD64 10400017 */ beqz $v0, .L8025CDC4
/* 18B648 8025CD68 00E0982D */ daddu $s3, $a3, $zero
/* 18B64C 8025CD6C 0C095094 */ jal func_80254250
/* 18B650 8025CD70 0220202D */ daddu $a0, $s1, $zero
/* 18B654 8025CD74 0040182D */ daddu $v1, $v0, $zero
/* 18B658 8025CD78 24040001 */ addiu $a0, $zero, 1
/* 18B65C 8025CD7C 10640008 */ beq $v1, $a0, .L8025CDA0
/* 18B660 8025CD80 28620002 */ slti $v0, $v1, 2
/* 18B664 8025CD84 1040000A */ beqz $v0, .L8025CDB0
/* 18B668 8025CD88 2402000E */ addiu $v0, $zero, 0xe
/* 18B66C 8025CD8C 54600009 */ bnel $v1, $zero, .L8025CDB4
/* 18B670 8025CD90 A2020767 */ sb $v0, 0x767($s0)
/* 18B674 8025CD94 A2040767 */ sb $a0, 0x767($s0)
/* 18B678 8025CD98 0809736F */ j .L8025CDBC
/* 18B67C 8025CD9C A2000766 */ sb $zero, 0x766($s0)
.L8025CDA0:
/* 18B680 8025CDA0 24020008 */ addiu $v0, $zero, 8
/* 18B684 8025CDA4 A2020767 */ sb $v0, 0x767($s0)
/* 18B688 8025CDA8 0809736F */ j .L8025CDBC
/* 18B68C 8025CDAC A2030766 */ sb $v1, 0x766($s0)
.L8025CDB0:
/* 18B690 8025CDB0 A2020767 */ sb $v0, 0x767($s0)
.L8025CDB4:
/* 18B694 8025CDB4 24020002 */ addiu $v0, $zero, 2
/* 18B698 8025CDB8 A2020766 */ sb $v0, 0x766($s0)
.L8025CDBC:
/* 18B69C 8025CDBC A2000768 */ sb $zero, 0x768($s0)
/* 18B6A0 8025CDC0 A2000765 */ sb $zero, 0x765($s0)
.L8025CDC4:
/* 18B6A4 8025CDC4 82020766 */ lb $v0, 0x766($s0)
/* 18B6A8 8025CDC8 24120003 */ addiu $s2, $zero, 3
/* 18B6AC 8025CDCC 14520004 */ bne $v0, $s2, .L8025CDE0
/* 18B6B0 8025CDD0 00000000 */ nop
/* 18B6B4 8025CDD4 A2000768 */ sb $zero, 0x768($s0)
/* 18B6B8 8025CDD8 0C099C27 */ jal func_8026709C
/* 18B6BC 8025CDDC 0220202D */ daddu $a0, $s1, $zero
.L8025CDE0:
/* 18B6C0 8025CDE0 82030766 */ lb $v1, 0x766($s0)
/* 18B6C4 8025CDE4 24020001 */ addiu $v0, $zero, 1
/* 18B6C8 8025CDE8 10620012 */ beq $v1, $v0, .L8025CE34
/* 18B6CC 8025CDEC 28620002 */ slti $v0, $v1, 2
/* 18B6D0 8025CDF0 50400005 */ beql $v0, $zero, .L8025CE08
/* 18B6D4 8025CDF4 24020002 */ addiu $v0, $zero, 2
/* 18B6D8 8025CDF8 10600007 */ beqz $v1, .L8025CE18
/* 18B6DC 8025CDFC 00000000 */ nop
/* 18B6E0 8025CE00 080973AB */ j .L8025CEAC
/* 18B6E4 8025CE04 00000000 */ nop
.L8025CE08:
/* 18B6E8 8025CE08 10620013 */ beq $v1, $v0, .L8025CE58
/* 18B6EC 8025CE0C 00000000 */ nop
/* 18B6F0 8025CE10 080973AB */ j .L8025CEAC
/* 18B6F4 8025CE14 00000000 */ nop
.L8025CE18:
/* 18B6F8 8025CE18 82020767 */ lb $v0, 0x767($s0)
/* 18B6FC 8025CE1C 5440001E */ bnel $v0, $zero, .L8025CE98
/* 18B700 8025CE20 A2000768 */ sb $zero, 0x768($s0)
/* 18B704 8025CE24 240200FF */ addiu $v0, $zero, 0xff
/* 18B708 8025CE28 A2020768 */ sb $v0, 0x768($s0)
/* 18B70C 8025CE2C 080973AB */ j .L8025CEAC
/* 18B710 8025CE30 A2120766 */ sb $s2, 0x766($s0)
.L8025CE34:
/* 18B714 8025CE34 82030767 */ lb $v1, 0x767($s0)
/* 18B718 8025CE38 2C620009 */ sltiu $v0, $v1, 9
/* 18B71C 8025CE3C 10400016 */ beqz $v0, .L8025CE98
/* 18B720 8025CE40 00031080 */ sll $v0, $v1, 2
/* 18B724 8025CE44 3C01802A */ lui $at, %hi(jtbl_8029D420)
/* 18B728 8025CE48 00220821 */ addu $at, $at, $v0
/* 18B72C 8025CE4C 8C22D420 */ lw $v0, %lo(jtbl_8029D420)($at)
/* 18B730 8025CE50 00400008 */ jr $v0
/* 18B734 8025CE54 00000000 */ nop
.L8025CE58:
/* 18B738 8025CE58 82030767 */ lb $v1, 0x767($s0)
/* 18B73C 8025CE5C 2C62000F */ sltiu $v0, $v1, 0xf
/* 18B740 8025CE60 1040000D */ beqz $v0, .L8025CE98
/* 18B744 8025CE64 00031080 */ sll $v0, $v1, 2
/* 18B748 8025CE68 3C01802A */ lui $at, %hi(jtbl_8029D448)
/* 18B74C 8025CE6C 00220821 */ addu $at, $at, $v0
/* 18B750 8025CE70 8C22D448 */ lw $v0, %lo(jtbl_8029D448)($at)
/* 18B754 8025CE74 00400008 */ jr $v0
/* 18B758 8025CE78 00000000 */ nop
.L8025CE7C_18B75C:
/* 18B75C 8025CE7C 080973A6 */ j .L8025CE98
/* 18B760 8025CE80 A2000768 */ sb $zero, 0x768($s0)
.L8025CE84_18B764:
/* 18B764 8025CE84 240200FF */ addiu $v0, $zero, 0xff
/* 18B768 8025CE88 080973A6 */ j .L8025CE98
/* 18B76C 8025CE8C A2020768 */ sb $v0, 0x768($s0)
.L8025CE90_18B770:
/* 18B770 8025CE90 24020003 */ addiu $v0, $zero, 3
/* 18B774 8025CE94 A2020766 */ sb $v0, 0x766($s0)
.L8025CE98:
/* 18B778 8025CE98 16600004 */ bnez $s3, .L8025CEAC
/* 18B77C 8025CE9C 00000000 */ nop
/* 18B780 8025CEA0 92020767 */ lbu $v0, 0x767($s0)
/* 18B784 8025CEA4 2442FFFF */ addiu $v0, $v0, -1
/* 18B788 8025CEA8 A2020767 */ sb $v0, 0x767($s0)
.L8025CEAC:
/* 18B78C 8025CEAC 8FBF0020 */ lw $ra, 0x20($sp)
/* 18B790 8025CEB0 8FB3001C */ lw $s3, 0x1c($sp)
/* 18B794 8025CEB4 8FB20018 */ lw $s2, 0x18($sp)
/* 18B798 8025CEB8 8FB10014 */ lw $s1, 0x14($sp)
/* 18B79C 8025CEBC 8FB00010 */ lw $s0, 0x10($sp)
/* 18B7A0 8025CEC0 03E00008 */ jr $ra
/* 18B7A4 8025CEC4 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,239 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel sun_appendGfx
/* 40B7D4 E01203E4 27BDFF40 */ addiu $sp, $sp, -0xc0
/* 40B7D8 E01203E8 0080402D */ daddu $t0, $a0, $zero
/* 40B7DC E01203EC AFBF00B8 */ sw $ra, 0xb8($sp)
/* 40B7E0 E01203F0 AFB500B4 */ sw $s5, 0xb4($sp)
/* 40B7E4 E01203F4 AFB400B0 */ sw $s4, 0xb0($sp)
/* 40B7E8 E01203F8 AFB300AC */ sw $s3, 0xac($sp)
/* 40B7EC E01203FC AFB200A8 */ sw $s2, 0xa8($sp)
/* 40B7F0 E0120400 AFB100A4 */ sw $s1, 0xa4($sp)
/* 40B7F4 E0120404 AFB000A0 */ sw $s0, 0xa0($sp)
/* 40B7F8 E0120408 8D14000C */ lw $s4, 0xc($t0)
/* 40B7FC E012040C 8E950038 */ lw $s5, 0x38($s4)
/* 40B800 E0120410 8E870000 */ lw $a3, ($s4)
/* 40B804 E0120414 12A000D1 */ beqz $s5, .LE012075C
/* 40B808 E0120418 3C06DB06 */ lui $a2, 0xdb06
/* 40B80C E012041C 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 40B810 E0120420 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 40B814 E0120424 34C60024 */ ori $a2, $a2, 0x24
/* 40B818 E0120428 8C640000 */ lw $a0, ($v1)
/* 40B81C E012042C 3C02E700 */ lui $v0, 0xe700
/* 40B820 E0120430 0080282D */ daddu $a1, $a0, $zero
/* 40B824 E0120434 24840008 */ addiu $a0, $a0, 8
/* 40B828 E0120438 AC640000 */ sw $a0, ($v1)
/* 40B82C E012043C ACA20000 */ sw $v0, ($a1)
/* 40B830 E0120440 ACA00004 */ sw $zero, 4($a1)
/* 40B834 E0120444 AC860000 */ sw $a2, ($a0)
/* 40B838 E0120448 8D050010 */ lw $a1, 0x10($t0)
/* 40B83C E012044C 24820008 */ addiu $v0, $a0, 8
/* 40B840 E0120450 AC620000 */ sw $v0, ($v1)
/* 40B844 E0120454 8CA2001C */ lw $v0, 0x1c($a1)
/* 40B848 E0120458 3C038000 */ lui $v1, 0x8000
/* 40B84C E012045C 00431021 */ addu $v0, $v0, $v1
/* 40B850 E0120460 14E00004 */ bnez $a3, .LE0120474
/* 40B854 E0120464 AC820004 */ sw $v0, 4($a0)
/* 40B858 E0120468 3C05C4C8 */ lui $a1, 0xc4c8
/* 40B85C E012046C 0804811F */ j .LE012047C
/* 40B860 E0120470 3C0644C8 */ lui $a2, 0x44c8
.LE0120474:
/* 40B864 E0120474 3C0544C8 */ lui $a1, 0x44c8
/* 40B868 E0120478 3C06C4C8 */ lui $a2, 0xc4c8
.LE012047C:
/* 40B86C E012047C 3C07C496 */ lui $a3, 0xc496
/* 40B870 E0120480 3C014496 */ lui $at, 0x4496
/* 40B874 E0120484 44810000 */ mtc1 $at, $f0
/* 40B878 E0120488 3C01C2C8 */ lui $at, 0xc2c8
/* 40B87C E012048C 44811000 */ mtc1 $at, $f2
/* 40B880 E0120490 3C0142C8 */ lui $at, 0x42c8
/* 40B884 E0120494 44812000 */ mtc1 $at, $f4
/* 40B888 E0120498 3C013F80 */ lui $at, 0x3f80
/* 40B88C E012049C 44813000 */ mtc1 $at, $f6
/* 40B890 E01204A0 27A40020 */ addiu $a0, $sp, 0x20
/* 40B894 E01204A4 E7A00010 */ swc1 $f0, 0x10($sp)
/* 40B898 E01204A8 E7A20014 */ swc1 $f2, 0x14($sp)
/* 40B89C E01204AC E7A40018 */ swc1 $f4, 0x18($sp)
/* 40B8A0 E01204B0 0C080184 */ jal shim_guOrthoF
/* 40B8A4 E01204B4 E7A6001C */ swc1 $f6, 0x1c($sp)
/* 40B8A8 E01204B8 3C130001 */ lui $s3, 1
/* 40B8AC E01204BC 36731630 */ ori $s3, $s3, 0x1630
/* 40B8B0 E01204C0 27A40020 */ addiu $a0, $sp, 0x20
/* 40B8B4 E01204C4 3C118007 */ lui $s1, %hi(gMatrixListPos)
/* 40B8B8 E01204C8 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos)
/* 40B8BC E01204CC 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 40B8C0 E01204D0 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 40B8C4 E01204D4 96250000 */ lhu $a1, ($s1)
/* 40B8C8 E01204D8 8E420000 */ lw $v0, ($s2)
/* 40B8CC E01204DC 00052980 */ sll $a1, $a1, 6
/* 40B8D0 E01204E0 00B32821 */ addu $a1, $a1, $s3
/* 40B8D4 E01204E4 0C080118 */ jal shim_guMtxF2L
/* 40B8D8 E01204E8 00452821 */ addu $a1, $v0, $a1
/* 40B8DC E01204EC 3C09DA38 */ lui $t1, 0xda38
/* 40B8E0 E01204F0 35290007 */ ori $t1, $t1, 7
/* 40B8E4 E01204F4 27A40020 */ addiu $a0, $sp, 0x20
/* 40B8E8 E01204F8 3C10800A */ lui $s0, %hi(gMasterGfxPos)
/* 40B8EC E01204FC 2610A66C */ addiu $s0, $s0, %lo(gMasterGfxPos)
/* 40B8F0 E0120500 44800000 */ mtc1 $zero, $f0
/* 40B8F4 E0120504 8E030000 */ lw $v1, ($s0)
/* 40B8F8 E0120508 96220000 */ lhu $v0, ($s1)
/* 40B8FC E012050C 0060402D */ daddu $t0, $v1, $zero
/* 40B900 E0120510 24630008 */ addiu $v1, $v1, 8
/* 40B904 E0120514 AE030000 */ sw $v1, ($s0)
/* 40B908 E0120518 24430001 */ addiu $v1, $v0, 1
/* 40B90C E012051C 3042FFFF */ andi $v0, $v0, 0xffff
/* 40B910 E0120520 00021180 */ sll $v0, $v0, 6
/* 40B914 E0120524 44050000 */ mfc1 $a1, $f0
/* 40B918 E0120528 00531021 */ addu $v0, $v0, $s3
/* 40B91C E012052C AD090000 */ sw $t1, ($t0)
/* 40B920 E0120530 A6230000 */ sh $v1, ($s1)
/* 40B924 E0120534 8E430000 */ lw $v1, ($s2)
/* 40B928 E0120538 00A0302D */ daddu $a2, $a1, $zero
/* 40B92C E012053C 00A0382D */ daddu $a3, $a1, $zero
/* 40B930 E0120540 00621821 */ addu $v1, $v1, $v0
/* 40B934 E0120544 0C080108 */ jal shim_guTranslateF
/* 40B938 E0120548 AD030004 */ sw $v1, 4($t0)
/* 40B93C E012054C 27A40020 */ addiu $a0, $sp, 0x20
/* 40B940 E0120550 96250000 */ lhu $a1, ($s1)
/* 40B944 E0120554 8E420000 */ lw $v0, ($s2)
/* 40B948 E0120558 00052980 */ sll $a1, $a1, 6
/* 40B94C E012055C 00B32821 */ addu $a1, $a1, $s3
/* 40B950 E0120560 0C080118 */ jal shim_guMtxF2L
/* 40B954 E0120564 00452821 */ addu $a1, $v0, $a1
/* 40B958 E0120568 3C03DA38 */ lui $v1, 0xda38
/* 40B95C E012056C 34630002 */ ori $v1, $v1, 2
/* 40B960 E0120570 0000582D */ daddu $t3, $zero, $zero
/* 40B964 E0120574 3C0EF200 */ lui $t6, 0xf200
/* 40B968 E0120578 3C0C0100 */ lui $t4, 0x100
/* 40B96C E012057C 358C007C */ ori $t4, $t4, 0x7c
/* 40B970 E0120580 3C0DDE00 */ lui $t5, 0xde00
/* 40B974 E0120584 3C0AE012 */ lui $t2, %hi(D_E0120780)
/* 40B978 E0120588 254A0780 */ addiu $t2, $t2, %lo(D_E0120780)
/* 40B97C E012058C 0160482D */ daddu $t1, $t3, $zero
/* 40B980 E0120590 0280402D */ daddu $t0, $s4, $zero
/* 40B984 E0120594 8E060000 */ lw $a2, ($s0)
/* 40B988 E0120598 3C014080 */ lui $at, 0x4080
/* 40B98C E012059C 44811000 */ mtc1 $at, $f2
/* 40B990 E01205A0 96220000 */ lhu $v0, ($s1)
/* 40B994 E01205A4 00C0202D */ daddu $a0, $a2, $zero
/* 40B998 E01205A8 24C60008 */ addiu $a2, $a2, 8
/* 40B99C E01205AC AE060000 */ sw $a2, ($s0)
/* 40B9A0 E01205B0 AC830000 */ sw $v1, ($a0)
/* 40B9A4 E01205B4 24430001 */ addiu $v1, $v0, 1
/* 40B9A8 E01205B8 3042FFFF */ andi $v0, $v0, 0xffff
/* 40B9AC E01205BC 00021180 */ sll $v0, $v0, 6
/* 40B9B0 E01205C0 A6230000 */ sh $v1, ($s1)
/* 40B9B4 E01205C4 8E430000 */ lw $v1, ($s2)
/* 40B9B8 E01205C8 00531021 */ addu $v0, $v0, $s3
/* 40B9BC E01205CC 00621821 */ addu $v1, $v1, $v0
/* 40B9C0 E01205D0 24C20008 */ addiu $v0, $a2, 8
/* 40B9C4 E01205D4 AC830004 */ sw $v1, 4($a0)
/* 40B9C8 E01205D8 AE020000 */ sw $v0, ($s0)
/* 40B9CC E01205DC 3C02FA00 */ lui $v0, 0xfa00
/* 40B9D0 E01205E0 ACC20000 */ sw $v0, ($a2)
/* 40B9D4 E01205E4 91030018 */ lbu $v1, 0x18($t0)
/* 40B9D8 E01205E8 91040019 */ lbu $a0, 0x19($t0)
/* 40B9DC E01205EC 9105001A */ lbu $a1, 0x1a($t0)
/* 40B9E0 E01205F0 24C20010 */ addiu $v0, $a2, 0x10
/* 40B9E4 E01205F4 AE020000 */ sw $v0, ($s0)
/* 40B9E8 E01205F8 3C02FB00 */ lui $v0, 0xfb00
/* 40B9EC E01205FC ACC20008 */ sw $v0, 8($a2)
/* 40B9F0 E0120600 00151043 */ sra $v0, $s5, 1
/* 40B9F4 E0120604 304200FF */ andi $v0, $v0, 0xff
/* 40B9F8 E0120608 00031E00 */ sll $v1, $v1, 0x18
/* 40B9FC E012060C 00042400 */ sll $a0, $a0, 0x10
/* 40BA00 E0120610 00641825 */ or $v1, $v1, $a0
/* 40BA04 E0120614 00052A00 */ sll $a1, $a1, 8
/* 40BA08 E0120618 00651825 */ or $v1, $v1, $a1
/* 40BA0C E012061C 00621825 */ or $v1, $v1, $v0
/* 40BA10 E0120620 ACC30004 */ sw $v1, 4($a2)
/* 40BA14 E0120624 9102001B */ lbu $v0, 0x1b($t0)
/* 40BA18 E0120628 9104001C */ lbu $a0, 0x1c($t0)
/* 40BA1C E012062C 9105001D */ lbu $a1, 0x1d($t0)
/* 40BA20 E0120630 9107001E */ lbu $a3, 0x1e($t0)
/* 40BA24 E0120634 01A0182D */ daddu $v1, $t5, $zero
/* 40BA28 E0120638 ACC30010 */ sw $v1, 0x10($a2)
/* 40BA2C E012063C 00021600 */ sll $v0, $v0, 0x18
/* 40BA30 E0120640 00042400 */ sll $a0, $a0, 0x10
/* 40BA34 E0120644 00441025 */ or $v0, $v0, $a0
/* 40BA38 E0120648 00052A00 */ sll $a1, $a1, 8
/* 40BA3C E012064C 00451025 */ or $v0, $v0, $a1
/* 40BA40 E0120650 00471025 */ or $v0, $v0, $a3
/* 40BA44 E0120654 ACC2000C */ sw $v0, 0xc($a2)
/* 40BA48 E0120658 3C03E012 */ lui $v1, %hi(D_E0120794)
/* 40BA4C E012065C 8C630794 */ lw $v1, %lo(D_E0120794)($v1)
/* 40BA50 E0120660 24C20018 */ addiu $v0, $a2, 0x18
/* 40BA54 E0120664 AE020000 */ sw $v0, ($s0)
/* 40BA58 E0120668 ACC30014 */ sw $v1, 0x14($a2)
.LE012066C:
/* 40BA5C E012066C C5000020 */ lwc1 $f0, 0x20($t0)
/* 40BA60 E0120670 25080004 */ addiu $t0, $t0, 4
/* 40BA64 E0120674 8E040000 */ lw $a0, ($s0)
/* 40BA68 E0120678 256B0001 */ addiu $t3, $t3, 1
/* 40BA6C E012067C 0080282D */ daddu $a1, $a0, $zero
/* 40BA70 E0120680 46020002 */ mul.s $f0, $f0, $f2
/* 40BA74 E0120684 00000000 */ nop
/* 40BA78 E0120688 24840008 */ addiu $a0, $a0, 8
/* 40BA7C E012068C 24820008 */ addiu $v0, $a0, 8
/* 40BA80 E0120690 AE040000 */ sw $a0, ($s0)
/* 40BA84 E0120694 AE020000 */ sw $v0, ($s0)
/* 40BA88 E0120698 4600020D */ trunc.w.s $f8, $f0
/* 40BA8C E012069C 44034000 */ mfc1 $v1, $f8
/* 40BA90 E01206A0 00000000 */ nop
/* 40BA94 E01206A4 00691821 */ addu $v1, $v1, $t1
/* 40BA98 E01206A8 30620FFF */ andi $v0, $v1, 0xfff
/* 40BA9C E01206AC 00021300 */ sll $v0, $v0, 0xc
/* 40BAA0 E01206B0 004E1025 */ or $v0, $v0, $t6
/* 40BAA4 E01206B4 246300FC */ addiu $v1, $v1, 0xfc
/* 40BAA8 E01206B8 30630FFF */ andi $v1, $v1, 0xfff
/* 40BAAC E01206BC 00031B00 */ sll $v1, $v1, 0xc
/* 40BAB0 E01206C0 006C1825 */ or $v1, $v1, $t4
/* 40BAB4 E01206C4 ACA20000 */ sw $v0, ($a1)
/* 40BAB8 E01206C8 ACA30004 */ sw $v1, 4($a1)
/* 40BABC E01206CC AC8D0000 */ sw $t5, ($a0)
/* 40BAC0 E01206D0 8D420000 */ lw $v0, ($t2)
/* 40BAC4 E01206D4 254A0004 */ addiu $t2, $t2, 4
/* 40BAC8 E01206D8 AC820004 */ sw $v0, 4($a0)
/* 40BACC E01206DC 29620005 */ slti $v0, $t3, 5
/* 40BAD0 E01206E0 1440FFE2 */ bnez $v0, .LE012066C
/* 40BAD4 E01206E4 2529002C */ addiu $t1, $t1, 0x2c
/* 40BAD8 E01206E8 3C02D838 */ lui $v0, 0xd838
/* 40BADC E01206EC 34420002 */ ori $v0, $v0, 2
/* 40BAE0 E01206F0 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* 40BAE4 E01206F4 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* 40BAE8 E01206F8 8CA40000 */ lw $a0, ($a1)
/* 40BAEC E01206FC 3C06DA38 */ lui $a2, 0xda38
/* 40BAF0 E0120700 0080182D */ daddu $v1, $a0, $zero
/* 40BAF4 E0120704 24840008 */ addiu $a0, $a0, 8
/* 40BAF8 E0120708 ACA40000 */ sw $a0, ($a1)
/* 40BAFC E012070C AC620000 */ sw $v0, ($v1)
/* 40BB00 E0120710 24020040 */ addiu $v0, $zero, 0x40
/* 40BB04 E0120714 AC620004 */ sw $v0, 4($v1)
/* 40BB08 E0120718 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 40BB0C E012071C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 40BB10 E0120720 24820008 */ addiu $v0, $a0, 8
/* 40BB14 E0120724 ACA20000 */ sw $v0, ($a1)
/* 40BB18 E0120728 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 40BB1C E012072C 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 40BB20 E0120730 34C60007 */ ori $a2, $a2, 7
/* 40BB24 E0120734 AC860000 */ sw $a2, ($a0)
/* 40BB28 E0120738 00031980 */ sll $v1, $v1, 6
/* 40BB2C E012073C 24630030 */ addiu $v1, $v1, 0x30
/* 40BB30 E0120740 00431021 */ addu $v0, $v0, $v1
/* 40BB34 E0120744 AC820004 */ sw $v0, 4($a0)
/* 40BB38 E0120748 24820010 */ addiu $v0, $a0, 0x10
/* 40BB3C E012074C ACA20000 */ sw $v0, ($a1)
/* 40BB40 E0120750 3C02E700 */ lui $v0, 0xe700
/* 40BB44 E0120754 AC820008 */ sw $v0, 8($a0)
/* 40BB48 E0120758 AC80000C */ sw $zero, 0xc($a0)
.LE012075C:
/* 40BB4C E012075C 8FBF00B8 */ lw $ra, 0xb8($sp)
/* 40BB50 E0120760 8FB500B4 */ lw $s5, 0xb4($sp)
/* 40BB54 E0120764 8FB400B0 */ lw $s4, 0xb0($sp)
/* 40BB58 E0120768 8FB300AC */ lw $s3, 0xac($sp)
/* 40BB5C E012076C 8FB200A8 */ lw $s2, 0xa8($sp)
/* 40BB60 E0120770 8FB100A4 */ lw $s1, 0xa4($sp)
/* 40BB64 E0120774 8FB000A0 */ lw $s0, 0xa0($sp)
/* 40BB68 E0120778 03E00008 */ jr $ra
/* 40BB6C E012077C 27BD00C0 */ addiu $sp, $sp, 0xc0

View File

@ -1,180 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E01207A0
.double 0.01
dlabel D_E01207A8
.double 0.05
.section .text
glabel sun_update
/* 40B52C E012013C 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 40B530 E0120140 AFBF0020 */ sw $ra, 0x20($sp)
/* 40B534 E0120144 AFB3001C */ sw $s3, 0x1c($sp)
/* 40B538 E0120148 AFB20018 */ sw $s2, 0x18($sp)
/* 40B53C E012014C AFB10014 */ sw $s1, 0x14($sp)
/* 40B540 E0120150 AFB00010 */ sw $s0, 0x10($sp)
/* 40B544 E0120154 F7BA0040 */ sdc1 $f26, 0x40($sp)
/* 40B548 E0120158 F7B80038 */ sdc1 $f24, 0x38($sp)
/* 40B54C E012015C F7B60030 */ sdc1 $f22, 0x30($sp)
/* 40B550 E0120160 F7B40028 */ sdc1 $f20, 0x28($sp)
/* 40B554 E0120164 8C830000 */ lw $v1, ($a0)
/* 40B558 E0120168 8C85000C */ lw $a1, 0xc($a0)
/* 40B55C E012016C 30620010 */ andi $v0, $v1, 0x10
/* 40B560 E0120170 10400005 */ beqz $v0, .LE0120188
/* 40B564 E0120174 2402FFEF */ addiu $v0, $zero, -0x11
/* 40B568 E0120178 00621024 */ and $v0, $v1, $v0
/* 40B56C E012017C AC820000 */ sw $v0, ($a0)
/* 40B570 E0120180 24020010 */ addiu $v0, $zero, 0x10
/* 40B574 E0120184 ACA20010 */ sw $v0, 0x10($a1)
.LE0120188:
/* 40B578 E0120188 8CA30010 */ lw $v1, 0x10($a1)
/* 40B57C E012018C 286203E8 */ slti $v0, $v1, 0x3e8
/* 40B580 E0120190 10400002 */ beqz $v0, .LE012019C
/* 40B584 E0120194 2462FFFF */ addiu $v0, $v1, -1
/* 40B588 E0120198 ACA20010 */ sw $v0, 0x10($a1)
.LE012019C:
/* 40B58C E012019C 3C030004 */ lui $v1, 4
/* 40B590 E01201A0 8CA20014 */ lw $v0, 0x14($a1)
/* 40B594 E01201A4 3463F1A0 */ ori $v1, $v1, 0xf1a0
/* 40B598 E01201A8 24420001 */ addiu $v0, $v0, 1
/* 40B59C E01201AC 0062182A */ slt $v1, $v1, $v0
/* 40B5A0 E01201B0 10600003 */ beqz $v1, .LE01201C0
/* 40B5A4 E01201B4 ACA20014 */ sw $v0, 0x14($a1)
/* 40B5A8 E01201B8 24020100 */ addiu $v0, $zero, 0x100
/* 40B5AC E01201BC ACA20014 */ sw $v0, 0x14($a1)
.LE01201C0:
/* 40B5B0 E01201C0 8CA20010 */ lw $v0, 0x10($a1)
/* 40B5B4 E01201C4 04410005 */ bgez $v0, .LE01201DC
/* 40B5B8 E01201C8 28420010 */ slti $v0, $v0, 0x10
/* 40B5BC E01201CC 0C080128 */ jal shim_remove_effect
/* 40B5C0 E01201D0 00000000 */ nop
/* 40B5C4 E01201D4 080480DC */ j .LE0120370
/* 40B5C8 E01201D8 00000000 */ nop
.LE01201DC:
/* 40B5CC E01201DC 10400006 */ beqz $v0, .LE01201F8
/* 40B5D0 E01201E0 8CB30014 */ lw $s3, 0x14($a1)
/* 40B5D4 E01201E4 8CA20038 */ lw $v0, 0x38($a1)
/* 40B5D8 E01201E8 2442FFF0 */ addiu $v0, $v0, -0x10
/* 40B5DC E01201EC 04410002 */ bgez $v0, .LE01201F8
/* 40B5E0 E01201F0 ACA20038 */ sw $v0, 0x38($a1)
/* 40B5E4 E01201F4 ACA00038 */ sw $zero, 0x38($a1)
.LE01201F8:
/* 40B5E8 E01201F8 8CA2003C */ lw $v0, 0x3c($a1)
/* 40B5EC E01201FC 04410003 */ bgez $v0, .LE012020C
/* 40B5F0 E0120200 28420100 */ slti $v0, $v0, 0x100
/* 40B5F4 E0120204 08048086 */ j .LE0120218
/* 40B5F8 E0120208 ACA0003C */ sw $zero, 0x3c($a1)
.LE012020C:
/* 40B5FC E012020C 14400002 */ bnez $v0, .LE0120218
/* 40B600 E0120210 240200FF */ addiu $v0, $zero, 0xff
/* 40B604 E0120214 ACA2003C */ sw $v0, 0x3c($a1)
.LE0120218:
/* 40B608 E0120218 8CA30038 */ lw $v1, 0x38($a1)
/* 40B60C E012021C 8CA4003C */ lw $a0, 0x3c($a1)
/* 40B610 E0120220 0083102A */ slt $v0, $a0, $v1
/* 40B614 E0120224 10400004 */ beqz $v0, .LE0120238
/* 40B618 E0120228 2462FFF8 */ addiu $v0, $v1, -8
/* 40B61C E012022C ACA20038 */ sw $v0, 0x38($a1)
/* 40B620 E0120230 08048094 */ j .LE0120250
/* 40B624 E0120234 0044102A */ slt $v0, $v0, $a0
.LE0120238:
/* 40B628 E0120238 0064102A */ slt $v0, $v1, $a0
/* 40B62C E012023C 10400006 */ beqz $v0, .LE0120258
/* 40B630 E0120240 24620008 */ addiu $v0, $v1, 8
/* 40B634 E0120244 8CA4003C */ lw $a0, 0x3c($a1)
/* 40B638 E0120248 ACA20038 */ sw $v0, 0x38($a1)
/* 40B63C E012024C 0082102A */ slt $v0, $a0, $v0
.LE0120250:
/* 40B640 E0120250 54400001 */ bnel $v0, $zero, .LE0120258
/* 40B644 E0120254 ACA40038 */ sw $a0, 0x38($a1)
.LE0120258:
/* 40B648 E0120258 0000882D */ daddu $s1, $zero, $zero
/* 40B64C E012025C 00A0802D */ daddu $s0, $a1, $zero
/* 40B650 E0120260 00139040 */ sll $s2, $s3, 1
/* 40B654 E0120264 3C013FD0 */ lui $at, 0x3fd0
/* 40B658 E0120268 4481D800 */ mtc1 $at, $f27
/* 40B65C E012026C 4480D000 */ mtc1 $zero, $f26
/* 40B660 E0120270 3C01E012 */ lui $at, %hi(D_E01207A0)
/* 40B664 E0120274 D43807A0 */ ldc1 $f24, %lo(D_E01207A0)($at)
/* 40B668 E0120278 3C014380 */ lui $at, 0x4380
/* 40B66C E012027C 4481B000 */ mtc1 $at, $f22
.LE0120280:
/* 40B670 E0120280 44926000 */ mtc1 $s2, $f12
/* 40B674 E0120284 00000000 */ nop
/* 40B678 E0120288 0C080140 */ jal shim_sin_deg
/* 40B67C E012028C 46806320 */ cvt.s.w $f12, $f12
/* 40B680 E0120290 44936000 */ mtc1 $s3, $f12
/* 40B684 E0120294 00000000 */ nop
/* 40B688 E0120298 46806320 */ cvt.s.w $f12, $f12
/* 40B68C E012029C 46006321 */ cvt.d.s $f12, $f12
/* 40B690 E01202A0 463A6302 */ mul.d $f12, $f12, $f26
/* 40B694 E01202A4 00000000 */ nop
/* 40B698 E01202A8 02310018 */ mult $s1, $s1
/* 40B69C E01202AC 00001812 */ mflo $v1
/* 40B6A0 E01202B0 00031080 */ sll $v0, $v1, 2
/* 40B6A4 E01202B4 00431021 */ addu $v0, $v0, $v1
/* 40B6A8 E01202B8 00021080 */ sll $v0, $v0, 2
/* 40B6AC E01202BC 44821000 */ mtc1 $v0, $f2
/* 40B6B0 E01202C0 00000000 */ nop
/* 40B6B4 E01202C4 468010A1 */ cvt.d.w $f2, $f2
/* 40B6B8 E01202C8 46226300 */ add.d $f12, $f12, $f2
/* 40B6BC E01202CC 46000506 */ mov.s $f20, $f0
/* 40B6C0 E01202D0 0C080140 */ jal shim_sin_deg
/* 40B6C4 E01202D4 46206320 */ cvt.s.d $f12, $f12
/* 40B6C8 E01202D8 4600A521 */ cvt.d.s $f20, $f20
/* 40B6CC E01202DC 4638A502 */ mul.d $f20, $f20, $f24
/* 40B6D0 E01202E0 00000000 */ nop
/* 40B6D4 E01202E4 3C01E012 */ lui $at, %hi(D_E01207A8)
/* 40B6D8 E01202E8 D42207A8 */ ldc1 $f2, %lo(D_E01207A8)($at)
/* 40B6DC E01202EC 4622A500 */ add.d $f20, $f20, $f2
/* 40B6E0 E01202F0 3C014010 */ lui $at, 0x4010
/* 40B6E4 E01202F4 44811800 */ mtc1 $at, $f3
/* 40B6E8 E01202F8 44801000 */ mtc1 $zero, $f2
/* 40B6EC E01202FC 00000000 */ nop
/* 40B6F0 E0120300 4622A502 */ mul.d $f20, $f20, $f2
/* 40B6F4 E0120304 00000000 */ nop
/* 40B6F8 E0120308 46000021 */ cvt.d.s $f0, $f0
/* 40B6FC E012030C 4620A502 */ mul.d $f20, $f20, $f0
/* 40B700 E0120310 00000000 */ nop
/* 40B704 E0120314 C6000020 */ lwc1 $f0, 0x20($s0)
/* 40B708 E0120318 46000021 */ cvt.d.s $f0, $f0
/* 40B70C E012031C 46340001 */ sub.d $f0, $f0, $f20
/* 40B710 E0120320 44801000 */ mtc1 $zero, $f2
/* 40B714 E0120324 46200020 */ cvt.s.d $f0, $f0
/* 40B718 E0120328 4602003C */ c.lt.s $f0, $f2
/* 40B71C E012032C 00000000 */ nop
/* 40B720 E0120330 45000003 */ bc1f .LE0120340
/* 40B724 E0120334 E6000020 */ swc1 $f0, 0x20($s0)
/* 40B728 E0120338 46160000 */ add.s $f0, $f0, $f22
/* 40B72C E012033C E6000020 */ swc1 $f0, 0x20($s0)
.LE0120340:
/* 40B730 E0120340 C6000020 */ lwc1 $f0, 0x20($s0)
/* 40B734 E0120344 4600B03C */ c.lt.s $f22, $f0
/* 40B738 E0120348 00000000 */ nop
/* 40B73C E012034C 45020004 */ bc1fl .LE0120360
/* 40B740 E0120350 26100004 */ addiu $s0, $s0, 4
/* 40B744 E0120354 46160001 */ sub.s $f0, $f0, $f22
/* 40B748 E0120358 E6000020 */ swc1 $f0, 0x20($s0)
/* 40B74C E012035C 26100004 */ addiu $s0, $s0, 4
.LE0120360:
/* 40B750 E0120360 26310001 */ addiu $s1, $s1, 1
/* 40B754 E0120364 2A220005 */ slti $v0, $s1, 5
/* 40B758 E0120368 1440FFC5 */ bnez $v0, .LE0120280
/* 40B75C E012036C 26520014 */ addiu $s2, $s2, 0x14
.LE0120370:
/* 40B760 E0120370 8FBF0020 */ lw $ra, 0x20($sp)
/* 40B764 E0120374 8FB3001C */ lw $s3, 0x1c($sp)
/* 40B768 E0120378 8FB20018 */ lw $s2, 0x18($sp)
/* 40B76C E012037C 8FB10014 */ lw $s1, 0x14($sp)
/* 40B770 E0120380 8FB00010 */ lw $s0, 0x10($sp)
/* 40B774 E0120384 D7BA0040 */ ldc1 $f26, 0x40($sp)
/* 40B778 E0120388 D7B80038 */ ldc1 $f24, 0x38($sp)
/* 40B77C E012038C D7B60030 */ ldc1 $f22, 0x30($sp)
/* 40B780 E0120390 D7B40028 */ ldc1 $f20, 0x28($sp)
/* 40B784 E0120394 03E00008 */ jr $ra
/* 40B788 E0120398 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -1,18 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240970_92AC20
/* 92AC20 80240970 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 92AC24 80240974 AFBF0010 */ sw $ra, 0x10($sp)
/* 92AC28 80240978 8C82000C */ lw $v0, 0xc($a0)
/* 92AC2C 8024097C 0C0B1EAF */ jal evt_get_variable
/* 92AC30 80240980 8C450000 */ lw $a1, ($v0)
/* 92AC34 80240984 3C018024 */ lui $at, %hi(D_80244050_92E300)
/* 92AC38 80240988 AC224050 */ sw $v0, %lo(D_80244050_92E300)($at)
/* 92AC3C 8024098C 24020002 */ addiu $v0, $zero, 2
/* 92AC40 80240990 8FBF0010 */ lw $ra, 0x10($sp)
/* 92AC44 80240994 24030001 */ addiu $v1, $zero, 1
/* 92AC48 80240998 3C018024 */ lui $at, %hi(D_8024404C_92E2FC)
/* 92AC4C 8024099C AC23404C */ sw $v1, %lo(D_8024404C_92E2FC)($at)
/* 92AC50 802409A0 03E00008 */ jr $ra
/* 92AC54 802409A4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,48 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802409A8_92AC58
/* 92AC58 802409A8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 92AC5C 802409AC AFBF0010 */ sw $ra, 0x10($sp)
/* 92AC60 802409B0 8C82000C */ lw $v0, 0xc($a0)
/* 92AC64 802409B4 0C0B1EAF */ jal evt_get_variable
/* 92AC68 802409B8 8C450000 */ lw $a1, ($v0)
/* 92AC6C 802409BC 0040182D */ daddu $v1, $v0, $zero
/* 92AC70 802409C0 10600012 */ beqz $v1, .L80240A0C
/* 92AC74 802409C4 0000202D */ daddu $a0, $zero, $zero
/* 92AC78 802409C8 8C620000 */ lw $v0, ($v1)
/* 92AC7C 802409CC 5040000A */ beql $v0, $zero, .L802409F8
/* 92AC80 802409D0 00041080 */ sll $v0, $a0, 2
/* 92AC84 802409D4 3C058024 */ lui $a1, %hi(D_80245630)
/* 92AC88 802409D8 24A55630 */ addiu $a1, $a1, %lo(D_80245630)
.L802409DC:
/* 92AC8C 802409DC 24630004 */ addiu $v1, $v1, 4
/* 92AC90 802409E0 24840001 */ addiu $a0, $a0, 1
/* 92AC94 802409E4 ACA20000 */ sw $v0, ($a1)
/* 92AC98 802409E8 8C620000 */ lw $v0, ($v1)
/* 92AC9C 802409EC 1440FFFB */ bnez $v0, .L802409DC
/* 92ACA0 802409F0 24A50004 */ addiu $a1, $a1, 4
/* 92ACA4 802409F4 00041080 */ sll $v0, $a0, 2
.L802409F8:
/* 92ACA8 802409F8 3C018024 */ lui $at, %hi(D_80245630)
/* 92ACAC 802409FC 00220821 */ addu $at, $at, $v0
/* 92ACB0 80240A00 AC205630 */ sw $zero, %lo(D_80245630)($at)
/* 92ACB4 80240A04 0809028D */ j .L80240A34
/* 92ACB8 80240A08 00000000 */ nop
.L80240A0C:
/* 92ACBC 80240A0C 3C038024 */ lui $v1, %hi(D_80245630)
/* 92ACC0 80240A10 24635630 */ addiu $v1, $v1, %lo(D_80245630)
/* 92ACC4 80240A14 0060282D */ daddu $a1, $v1, $zero
.L80240A18:
/* 92ACC8 80240A18 24820080 */ addiu $v0, $a0, 0x80
/* 92ACCC 80240A1C AC620000 */ sw $v0, ($v1)
/* 92ACD0 80240A20 24630004 */ addiu $v1, $v1, 4
/* 92ACD4 80240A24 24840001 */ addiu $a0, $a0, 1
/* 92ACD8 80240A28 2882005B */ slti $v0, $a0, 0x5b
/* 92ACDC 80240A2C 1440FFFA */ bnez $v0, .L80240A18
/* 92ACE0 80240A30 ACA0016C */ sw $zero, 0x16c($a1)
.L80240A34:
/* 92ACE4 80240A34 8FBF0010 */ lw $ra, 0x10($sp)
/* 92ACE8 80240A38 24020002 */ addiu $v0, $zero, 2
/* 92ACEC 80240A3C 03E00008 */ jr $ra
/* 92ACF0 80240A40 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -4163,7 +4163,7 @@ segments:
vram: 0xE0120000
subsegments:
- [0x40B3F0, c, sun]
- [0x40BB70, data]
- [0x40BB70]
- [0x40BBA0, bin] # sun gfx
- name: effect_star_spirits_energy
dir: effects