commit
c1fa0f8873
12 changed files with 1403 additions and 74 deletions
|
|
@ -1751,8 +1751,8 @@ SpawnBowserFire = .text:0x8009A5D4; // type:function size:0xE4 scope:local
|
||||||
CheckBowserFire = .text:0x8009A6B8; // type:function size:0xCC scope:local
|
CheckBowserFire = .text:0x8009A6B8; // type:function size:0xCC scope:local
|
||||||
KillBowserFire = .text:0x8009A784; // type:function size:0x40 scope:local
|
KillBowserFire = .text:0x8009A784; // type:function size:0x40 scope:local
|
||||||
ExecMiniBowserEvent = .text:0x8009A7C4; // type:function size:0x188 scope:local
|
ExecMiniBowserEvent = .text:0x8009A7C4; // type:function size:0x188 scope:local
|
||||||
MiniBowserTakeAll = .text:0x8009A94C; // type:function size:0x2C4 scope:local
|
MiniBowserTake = .text:0x8009A94C; // type:function size:0x2C4 scope:local
|
||||||
MiniBowserTake = .text:0x8009AC10; // type:function size:0x2B8 scope:local
|
MiniBowserTakeAll = .text:0x8009AC10; // type:function size:0x2B8 scope:local
|
||||||
MiniBowserBalloonStop = .text:0x8009AEC8; // type:function size:0x24 scope:local
|
MiniBowserBalloonStop = .text:0x8009AEC8; // type:function size:0x24 scope:local
|
||||||
GetMiniBowserBalloonState = .text:0x8009AEEC; // type:function size:0xC scope:local
|
GetMiniBowserBalloonState = .text:0x8009AEEC; // type:function size:0xC scope:local
|
||||||
SetMiniBowserBalloonState = .text:0x8009AEF8; // type:function size:0x10 scope:local
|
SetMiniBowserBalloonState = .text:0x8009AEF8; // type:function size:0x10 scope:local
|
||||||
|
|
@ -5608,7 +5608,7 @@ booCamPos = .bss:0x801A4BC0; // type:object size:0xC scope:local data:float
|
||||||
booCamTarget = .bss:0x801A4BCC; // type:object size:0xC scope:local data:float
|
booCamTarget = .bss:0x801A4BCC; // type:object size:0xC scope:local data:float
|
||||||
booCamUp = .bss:0x801A4BD8; // type:object size:0xC scope:local data:float
|
booCamUp = .bss:0x801A4BD8; // type:object size:0xC scope:local data:float
|
||||||
playerPosTemp = .bss:0x801A4BE8; // type:object size:0x30 scope:local
|
playerPosTemp = .bss:0x801A4BE8; // type:object size:0x30 scope:local
|
||||||
bowserSpr = .bss:0x801A4C18; // type:object size:0x16 scope:local
|
bowserEvent = .bss:0x801A4C18; // type:object size:0x16 scope:local
|
||||||
battleMGList = .bss:0x801A4C30; // type:object size:0x10 scope:local data:2byte
|
battleMGList = .bss:0x801A4C30; // type:object size:0x10 scope:local data:2byte
|
||||||
camPosFortune = .bss:0x801A4C40; // type:object size:0xC scope:local data:4byte
|
camPosFortune = .bss:0x801A4C40; // type:object size:0xC scope:local data:4byte
|
||||||
camTargetFortune = .bss:0x801A4C4C; // type:object size:0xC scope:local data:float
|
camTargetFortune = .bss:0x801A4C4C; // type:object size:0xC scope:local data:float
|
||||||
|
|
|
||||||
|
|
@ -386,7 +386,7 @@ config.libs = [
|
||||||
Object(Matching, "game/board/ui.c"),
|
Object(Matching, "game/board/ui.c"),
|
||||||
Object(Matching, "game/board/block.c"),
|
Object(Matching, "game/board/block.c"),
|
||||||
Object(Matching, "game/board/item.c"),
|
Object(Matching, "game/board/item.c"),
|
||||||
Object(NonMatching, "game/board/bowser.c"),
|
Object(Matching, "game/board/bowser.c"),
|
||||||
Object(Matching, "game/board/battle.c"),
|
Object(Matching, "game/board/battle.c"),
|
||||||
Object(Matching, "game/board/fortune.c"),
|
Object(Matching, "game/board/fortune.c"),
|
||||||
Object(Matching, "game/board/boo.c"),
|
Object(Matching, "game/board/boo.c"),
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ void BoardStatusGraySet(s32 arg0, s32 arg1);
|
||||||
void BoardStatusShowSet(s32 arg0, s32 arg1);
|
void BoardStatusShowSet(s32 arg0, s32 arg1);
|
||||||
void BoardStatusItemHideSet(s32 arg0, s32 arg1);
|
void BoardStatusItemHideSet(s32 arg0, s32 arg1);
|
||||||
void BoardStatusTargetPosSet(s32 arg0, Vec *arg1);
|
void BoardStatusTargetPosSet(s32 arg0, Vec *arg1);
|
||||||
void BoardStatusPosGet(s32 arg0, float *arg1);
|
void BoardStatusPosGet(s32 arg0, Vec *arg1);
|
||||||
void BoardStatusPosSet(s32 arg0, Vec *arg1);
|
void BoardStatusPosSet(s32 arg0, Vec *arg1);
|
||||||
void BoardStatusHammerCreate(s32 arg0);
|
void BoardStatusHammerCreate(s32 arg0);
|
||||||
void BoardStatusHammerShowSet(s32 arg0, s32 arg1);
|
void BoardStatusHammerShowSet(s32 arg0, s32 arg1);
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,9 @@
|
||||||
#include "game/sprite.h"
|
#include "game/sprite.h"
|
||||||
|
|
||||||
typedef struct model_data ModelData;
|
typedef struct model_data ModelData;
|
||||||
|
typedef struct particle_data ParticleData;
|
||||||
|
|
||||||
|
typedef void (*ParticleHook)(ModelData *model, ParticleData *particle, Mtx matrix);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x00 */ union {
|
/* 0x00 */ union {
|
||||||
|
|
@ -49,7 +52,7 @@ typedef struct particle_data {
|
||||||
/* 0x48 */ HsfanimStruct01 *unk_48;
|
/* 0x48 */ HsfanimStruct01 *unk_48;
|
||||||
/* 0x4C */ Vec *unk_4C;
|
/* 0x4C */ Vec *unk_4C;
|
||||||
/* 0x50 */ void *unk_50;
|
/* 0x50 */ void *unk_50;
|
||||||
/* 0x54 */ void *unk_54;
|
/* 0x54 */ ParticleHook unk_54;
|
||||||
} ParticleData; // Size 0x58
|
} ParticleData; // Size 0x58
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
@ -117,7 +120,7 @@ void Hu3DParticleZRotSet(s16 arg0, float arg1);
|
||||||
void Hu3DParticleColSet(s16 arg0, u8 arg1, u8 arg2, u8 arg3);
|
void Hu3DParticleColSet(s16 arg0, u8 arg1, u8 arg2, u8 arg3);
|
||||||
void Hu3DParticleTPLvlSet(s16 arg0, float arg1);
|
void Hu3DParticleTPLvlSet(s16 arg0, float arg1);
|
||||||
void Hu3DParticleBlendModeSet(s16 arg0, u8 arg1);
|
void Hu3DParticleBlendModeSet(s16 arg0, u8 arg1);
|
||||||
void Hu3DParticleHookSet(s16 arg0, void *arg1);
|
void Hu3DParticleHookSet(s16 arg0, ParticleHook arg1);
|
||||||
void Hu3DParticleAttrSet(s16 arg0, u8 arg1);
|
void Hu3DParticleAttrSet(s16 arg0, u8 arg1);
|
||||||
void Hu3DParticleAttrReset(s16 arg0, u8 arg1);
|
void Hu3DParticleAttrReset(s16 arg0, u8 arg1);
|
||||||
void Hu3DParticleAnimModeSet(s16 arg0, s16 arg1);
|
void Hu3DParticleAnimModeSet(s16 arg0, s16 arg1);
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ void Hu3DModelObjPosGet(s16 arg0, char *arg1, Vec *arg2);
|
||||||
s16 Hu3DMotionShiftIDGet(s16 arg0);
|
s16 Hu3DMotionShiftIDGet(s16 arg0);
|
||||||
s32 frand(void);
|
s32 frand(void);
|
||||||
|
|
||||||
void fn_1_BE30(s32 arg0, ParticleData* arg1);
|
void fn_1_BE30(ModelData *model, ParticleData *particle, Mtx matrix);
|
||||||
void fn_1_BDAC(void);
|
void fn_1_BDAC(void);
|
||||||
void fn_1_BC7C(s16 arg0);
|
void fn_1_BC7C(s16 arg0);
|
||||||
void fn_1_BBF8(void);
|
void fn_1_BBF8(void);
|
||||||
|
|
@ -891,7 +891,7 @@ void fn_1_BDAC(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_BE30(s32 arg0, ParticleData* arg1) {
|
void fn_1_BE30(ModelData *model, ParticleData *particle, Mtx matrix) {
|
||||||
Point3d sp8;
|
Point3d sp8;
|
||||||
|
|
||||||
f32 temp_f30;
|
f32 temp_f30;
|
||||||
|
|
@ -900,27 +900,27 @@ void fn_1_BE30(s32 arg0, ParticleData* arg1) {
|
||||||
HsfanimStruct01* var_r31;
|
HsfanimStruct01* var_r31;
|
||||||
s32 i, j;
|
s32 i, j;
|
||||||
|
|
||||||
if (arg1->unk_34 == 0U) {
|
if (particle->unk_34 == 0U) {
|
||||||
var_r31 = arg1->unk_48;
|
var_r31 = particle->unk_48;
|
||||||
for (i = 0; i < arg1->unk_30; i++, var_r31++) {
|
for (i = 0; i < particle->unk_30; i++, var_r31++) {
|
||||||
var_r31->unk40.a = 0;
|
var_r31->unk40.a = 0;
|
||||||
var_r31->unk2C = 0.0f;
|
var_r31->unk2C = 0.0f;
|
||||||
}
|
}
|
||||||
arg1->unk_00 = 0;
|
particle->unk_00 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
BoardModelScaleGet(arg1->unk_02, &sp8);
|
BoardModelScaleGet(particle->unk_02, &sp8);
|
||||||
temp_f31 = sp8.x;
|
temp_f31 = sp8.x;
|
||||||
BoardModelPosGet(arg1->unk_02, &sp8);
|
BoardModelPosGet(particle->unk_02, &sp8);
|
||||||
|
|
||||||
for (i = 0; i < 0x16; i++) {
|
for (i = 0; i < 0x16; i++) {
|
||||||
var_r31 = arg1->unk_48;
|
var_r31 = particle->unk_48;
|
||||||
for (j = 0; j < arg1->unk_30; j++, var_r31++) {
|
for (j = 0; j < particle->unk_30; j++, var_r31++) {
|
||||||
if (0.0f == var_r31->unk2C) {
|
if (0.0f == var_r31->unk2C) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (j != arg1->unk_30) {
|
if (j != particle->unk_30) {
|
||||||
temp_f30 = 360.0f * (0.003921569f * (frand() & 0xFF));
|
temp_f30 = 360.0f * (0.003921569f * (frand() & 0xFF));
|
||||||
temp_f29 = temp_f31 * (20.0f + (60.0f * (0.003921569f * (frand() & 0xFF))));
|
temp_f29 = temp_f31 * (20.0f + (60.0f * (0.003921569f * (frand() & 0xFF))));
|
||||||
var_r31->unk34.x = (sp8.x + (temp_f29 * sin((3.141592653589793 * temp_f30) / 180.0)));
|
var_r31->unk34.x = (sp8.x + (temp_f29 * sin((3.141592653589793 * temp_f30) / 180.0)));
|
||||||
|
|
@ -932,9 +932,9 @@ void fn_1_BE30(s32 arg0, ParticleData* arg1) {
|
||||||
var_r31->unk2C = (15.0f * temp_f31);
|
var_r31->unk2C = (15.0f * temp_f31);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var_r31 = arg1->unk_48;
|
var_r31 = particle->unk_48;
|
||||||
|
|
||||||
for (i = 0; i < arg1->unk_30; i++, var_r31++) {
|
for (i = 0; i < particle->unk_30; i++, var_r31++) {
|
||||||
if (0.0f != var_r31->unk2C) {
|
if (0.0f != var_r31->unk2C) {
|
||||||
var_r31->unk34.y = (var_r31->unk34.y - var_r31->unk08.x);
|
var_r31->unk34.y = (var_r31->unk34.y - var_r31->unk08.x);
|
||||||
var_r31->unk2C = (var_r31->unk2C - var_r31->unk08.y);
|
var_r31->unk2C = (var_r31->unk2C - var_r31->unk08.y);
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -75,8 +75,8 @@ static void ExecItemLight(void);
|
||||||
static void ExecItemWhistle(void);
|
static void ExecItemWhistle(void);
|
||||||
static void ExecItemBowser(void);
|
static void ExecItemBowser(void);
|
||||||
static void ExecItemBooBall(void);
|
static void ExecItemBooBall(void);
|
||||||
static void LampParticleUpdate(s32 arg0, ParticleData *arg1);
|
static void LampParticleUpdate(ModelData *model, ParticleData *particle, Mtx matrix);
|
||||||
static void GenieParticleUpdate(s32 arg0, ParticleData *arg1);
|
static void GenieParticleUpdate(ModelData *model, ParticleData *particle, Mtx matrix);
|
||||||
static void GenieCameraProc(void);
|
static void GenieCameraProc(void);
|
||||||
static void GenieCameraCalc(UnkGenieCameraStruct *arg0, s32 arg1, float arg2, Vec *arg3, Vec *arg4);
|
static void GenieCameraCalc(UnkGenieCameraStruct *arg0, s32 arg1, float arg2, Vec *arg3, Vec *arg4);
|
||||||
static void GenieSceneExec(void);
|
static void GenieSceneExec(void);
|
||||||
|
|
@ -1924,7 +1924,7 @@ static void ForceConsts(void)
|
||||||
(void)125.0f;
|
(void)125.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void LampParticleUpdate(s32 arg0, ParticleData *arg1) {
|
static void LampParticleUpdate(ModelData *model, ParticleData *particle, Mtx matrix) {
|
||||||
HsfanimStruct01 *var_r31;
|
HsfanimStruct01 *var_r31;
|
||||||
Vec spC;
|
Vec spC;
|
||||||
float sp8;
|
float sp8;
|
||||||
|
|
@ -1933,26 +1933,26 @@ static void LampParticleUpdate(s32 arg0, ParticleData *arg1) {
|
||||||
s32 i;
|
s32 i;
|
||||||
s32 j;
|
s32 j;
|
||||||
|
|
||||||
if (arg1->unk_34 == 0) {
|
if (particle->unk_34 == 0) {
|
||||||
var_r31 = arg1->unk_48;
|
var_r31 = particle->unk_48;
|
||||||
for (i = 0; i < arg1->unk_30; i++, var_r31++) {
|
for (i = 0; i < particle->unk_30; i++, var_r31++) {
|
||||||
var_r31->unk2C = 0.0f;
|
var_r31->unk2C = 0.0f;
|
||||||
var_r31->unk40.a = 0;
|
var_r31->unk40.a = 0;
|
||||||
}
|
}
|
||||||
arg1->unk_04 = 0.0f;
|
particle->unk_04 = 0.0f;
|
||||||
arg1->unk_00 = 0;
|
particle->unk_00 = 0;
|
||||||
}
|
}
|
||||||
if (arg1->unk_00 == 0) {
|
if (particle->unk_00 == 0) {
|
||||||
arg1->unk_00 = 2;
|
particle->unk_00 = 2;
|
||||||
BoardModelRotGet(suitMdl, &spC);
|
BoardModelRotGet(suitMdl, &spC);
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < 2; i++) {
|
||||||
var_r31 = arg1->unk_48;
|
var_r31 = particle->unk_48;
|
||||||
for (j = 0; j < arg1->unk_30; j++, var_r31++) {
|
for (j = 0; j < particle->unk_30; j++, var_r31++) {
|
||||||
if (var_r31->unk2C == 0.0f) {
|
if (var_r31->unk2C == 0.0f) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (j != arg1->unk_30) {
|
if (j != particle->unk_30) {
|
||||||
var_r31->unk34.x = 60.0 * sin((spC.y - 90.0f) * M_PI / 180.0);
|
var_r31->unk34.x = 60.0 * sin((spC.y - 90.0f) * M_PI / 180.0);
|
||||||
var_r31->unk34.y = 30.0f;
|
var_r31->unk34.y = 30.0f;
|
||||||
var_r31->unk34.z = 60.0 * cos((spC.y - 90.0f) * M_PI / 180.0);
|
var_r31->unk34.z = 60.0 * cos((spC.y - 90.0f) * M_PI / 180.0);
|
||||||
|
|
@ -1968,10 +1968,10 @@ static void LampParticleUpdate(s32 arg0, ParticleData *arg1) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
arg1->unk_00--;
|
particle->unk_00--;
|
||||||
}
|
}
|
||||||
var_r31 = arg1->unk_48;
|
var_r31 = particle->unk_48;
|
||||||
for (i = 0; i < arg1->unk_30; i++, var_r31++) {
|
for (i = 0; i < particle->unk_30; i++, var_r31++) {
|
||||||
if (var_r31->unk2C != 0.0f) {
|
if (var_r31->unk2C != 0.0f) {
|
||||||
if (var_r31->unk00_s16 == 0) {
|
if (var_r31->unk00_s16 == 0) {
|
||||||
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||||
|
|
@ -2001,16 +2001,16 @@ static void LampParticleUpdate(s32 arg0, ParticleData *arg1) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void GenieParticleUpdate(s32 arg0, ParticleData *arg1) {
|
static void GenieParticleUpdate(ModelData *model, ParticleData *particle, Mtx matrix) {
|
||||||
HsfanimStruct01* var_r31;
|
HsfanimStruct01* var_r31;
|
||||||
float temp_f31;
|
float temp_f31;
|
||||||
float temp_f30;
|
float temp_f30;
|
||||||
s32 var_r28;
|
s32 var_r28;
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
if (arg1->unk_34 == 0) {
|
if (particle->unk_34 == 0) {
|
||||||
var_r31 = arg1->unk_48;
|
var_r31 = particle->unk_48;
|
||||||
for (i = 0; i < arg1->unk_30; i++, var_r31++) {
|
for (i = 0; i < particle->unk_30; i++, var_r31++) {
|
||||||
var_r31->unk34.x = -50.0f + (frand() & 0xFF) * 100.0f * 0.003921569f;
|
var_r31->unk34.x = -50.0f + (frand() & 0xFF) * 100.0f * 0.003921569f;
|
||||||
var_r31->unk34.y = -50.0f + (frand() & 0xFF) * 100.0f * 0.003921569f;
|
var_r31->unk34.y = -50.0f + (frand() & 0xFF) * 100.0f * 0.003921569f;
|
||||||
var_r31->unk34.z = -10.0f + (frand() & 0xFF) * 20.0f * 0.003921569f;
|
var_r31->unk34.z = -10.0f + (frand() & 0xFF) * 20.0f * 0.003921569f;
|
||||||
|
|
@ -2025,9 +2025,9 @@ static void GenieParticleUpdate(s32 arg0, ParticleData *arg1) {
|
||||||
var_r31->unk2C = 80.0f + (frand() & 0xFF) * 60.0f * 0.003921569f;
|
var_r31->unk2C = 80.0f + (frand() & 0xFF) * 60.0f * 0.003921569f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var_r31 = arg1->unk_48;
|
var_r31 = particle->unk_48;
|
||||||
var_r28 = 0;
|
var_r28 = 0;
|
||||||
for (i = 0; i < arg1->unk_30; i++, var_r31++) {
|
for (i = 0; i < particle->unk_30; i++, var_r31++) {
|
||||||
if (var_r31->unk2C != 0.0f) {
|
if (var_r31->unk2C != 0.0f) {
|
||||||
var_r28++;
|
var_r28++;
|
||||||
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||||
|
|
@ -2042,7 +2042,7 @@ static void GenieParticleUpdate(s32 arg0, ParticleData *arg1) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (var_r28 == 0) {
|
if (var_r28 == 0) {
|
||||||
arg1->unk_02 = 0;
|
particle->unk_02 = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2235,7 +2235,7 @@ static void GenieSceneExec(void) {
|
||||||
temp_r21 = HuPrcChildCreate(GenieCameraProc, 0x2005, 0x1000, 0, HuPrcCurrentGet());
|
temp_r21 = HuPrcChildCreate(GenieCameraProc, 0x2005, 0x1000, 0, HuPrcCurrentGet());
|
||||||
Hu3DBGColorSet(0xFF, 0xFF, 0xFF);
|
Hu3DBGColorSet(0xFF, 0xFF, 0xFF);
|
||||||
temp_r27 = Hu3DParticleCreate(genieParticleAnim, 0x32);
|
temp_r27 = Hu3DParticleCreate(genieParticleAnim, 0x32);
|
||||||
Hu3DParticleHookSet(temp_r27, &GenieParticleUpdate);
|
Hu3DParticleHookSet(temp_r27, GenieParticleUpdate);
|
||||||
Hu3DParticleBlendModeSet(temp_r27, 1);
|
Hu3DParticleBlendModeSet(temp_r27, 1);
|
||||||
Hu3DParticleColSet(temp_r27, 0xFF, 0xFF, 0xFF);
|
Hu3DParticleColSet(temp_r27, 0xFF, 0xFF, 0xFF);
|
||||||
Hu3DParticleAnimModeSet(temp_r27, 0);
|
Hu3DParticleAnimModeSet(temp_r27, 0);
|
||||||
|
|
@ -2409,7 +2409,7 @@ static void ExecItemGenie(void) {
|
||||||
HuAudPlayerVoicePlay(currItemRestore, 0x125);
|
HuAudPlayerVoicePlay(currItemRestore, 0x125);
|
||||||
temp_r25 = HuAudFXPlay(0x34D);
|
temp_r25 = HuAudFXPlay(0x34D);
|
||||||
temp_r31 = Hu3DParticleCreate(genieParticleAnim, 0x96);
|
temp_r31 = Hu3DParticleCreate(genieParticleAnim, 0x96);
|
||||||
Hu3DParticleHookSet(temp_r31, &LampParticleUpdate);
|
Hu3DParticleHookSet(temp_r31, LampParticleUpdate);
|
||||||
Hu3DParticleBlendModeSet(temp_r31, 0);
|
Hu3DParticleBlendModeSet(temp_r31, 0);
|
||||||
Hu3DParticleColSet(temp_r31, 0xFF, 0xFF, 0xFF);
|
Hu3DParticleColSet(temp_r31, 0xFF, 0xFF, 0xFF);
|
||||||
Hu3DParticleAnimModeSet(temp_r31, 0);
|
Hu3DParticleAnimModeSet(temp_r31, 0);
|
||||||
|
|
|
||||||
|
|
@ -749,7 +749,7 @@ static void SeparateStatus(bitcopy* arg0, omObjData* arg1) {
|
||||||
switch (arg0->unk_02) {
|
switch (arg0->unk_02) {
|
||||||
case 0:
|
case 0:
|
||||||
for (var_r28 = 0; var_r28 < 4; var_r28++) {
|
for (var_r28 = 0; var_r28 < 4; var_r28++) {
|
||||||
BoardStatusPosGet(var_r28, &sp8.x);
|
BoardStatusPosGet(var_r28, &sp8);
|
||||||
if (sp8.x < 288.0f) {
|
if (sp8.x < 288.0f) {
|
||||||
sp8.x = -98.0f;
|
sp8.x = -98.0f;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -689,7 +689,7 @@ void BoardPlayerPostTurnHookSet(s32 arg0, s32 (*arg1)()) {
|
||||||
void BoardPlayerTurnExec(s32 arg0) {
|
void BoardPlayerTurnExec(s32 arg0) {
|
||||||
BoardPauseDisableSet(1);
|
BoardPauseDisableSet(1);
|
||||||
BoardComUseItemSet(arg0, -1);
|
BoardComUseItemSet(arg0, -1);
|
||||||
GWSystem.field31_bit4 = 0xF;
|
GWSystem.bowser_event = 0xF;
|
||||||
_ClearFlag(0x10016);
|
_ClearFlag(0x10016);
|
||||||
_ClearFlag(0x1000E);
|
_ClearFlag(0x1000E);
|
||||||
BoardCameraMoveSet(1);
|
BoardCameraMoveSet(1);
|
||||||
|
|
@ -853,11 +853,11 @@ block_14:
|
||||||
BoardSpaceBlockExec(arg0, sp8);
|
BoardSpaceBlockExec(arg0, sp8);
|
||||||
BoardSpaceLandExec(arg0, sp8);
|
BoardSpaceLandExec(arg0, sp8);
|
||||||
_SetFlag(0x1000E);
|
_SetFlag(0x1000E);
|
||||||
if (GWSystem.field31_bit4 != 1) {
|
if (GWSystem.bowser_event != 1) {
|
||||||
BoardCameraViewSet(2);
|
BoardCameraViewSet(2);
|
||||||
BoardCameraMotionWait();
|
BoardCameraMotionWait();
|
||||||
} else {
|
} else {
|
||||||
GWSystem.field31_bit4 = 0xF;
|
GWSystem.bowser_event = 0xF;
|
||||||
}
|
}
|
||||||
BoardPlayerZoomRestore(arg0);
|
BoardPlayerZoomRestore(arg0);
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -402,11 +402,11 @@ void BoardStatusTargetPosSet(s32 arg0, Vec *arg1) {
|
||||||
temp_r31->unk00_bit2 = 1;
|
temp_r31->unk00_bit2 = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BoardStatusPosGet(s32 arg0, float *arg1) {
|
void BoardStatusPosGet(s32 arg0, Vec *arg1) {
|
||||||
UnkUiStatusStruct *temp_r31 = &uiStatus[arg0];
|
UnkUiStatusStruct *temp_r31 = &uiStatus[arg0];
|
||||||
|
|
||||||
arg1[0] = temp_r31->unk04.x;
|
arg1->x = temp_r31->unk04.x;
|
||||||
arg1[1] = temp_r31->unk04.y;
|
arg1->y = temp_r31->unk04.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BoardStatusPosSet(s32 arg0, Vec *arg1) {
|
void BoardStatusPosSet(s32 arg0, Vec *arg1) {
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ static s16 CreateEffectStar(s16 arg0, float arg1, float arg2, float arg3, float
|
||||||
static s16 CreateEffectWarn(s16 arg0, float arg1, float arg2, float arg3, float arg4, EffectParamData *arg5);
|
static s16 CreateEffectWarn(s16 arg0, float arg1, float arg2, float arg3, float arg4, EffectParamData *arg5);
|
||||||
static s16 CreateEffectBird(s16 arg0, float arg1, float arg2, float arg3, float arg4, EffectParamData *arg5);
|
static s16 CreateEffectBird(s16 arg0, float arg1, float arg2, float arg3, float arg4, EffectParamData *arg5);
|
||||||
static s16 CreateEffect(s16 arg0, s16 arg1, float arg2, float arg3, float arg4, float arg5, EffectParamData *arg6);
|
static s16 CreateEffect(s16 arg0, s16 arg1, float arg2, float arg3, float arg4, float arg5, EffectParamData *arg6);
|
||||||
static void UpdateEffect(s32 arg0, ParticleData *arg1);
|
static void UpdateEffect(ModelData *model, ParticleData *particle, Mtx matrix);
|
||||||
static void RotateEffect(HsfanimStruct01 *arg0);
|
static void RotateEffect(HsfanimStruct01 *arg0);
|
||||||
static void PlayEffectSound(HsfanimStruct01 *arg0);
|
static void PlayEffectSound(HsfanimStruct01 *arg0);
|
||||||
static void UpdateItemHook(void);
|
static void UpdateItemHook(void);
|
||||||
|
|
@ -887,21 +887,21 @@ static s16 CreateEffect(s16 arg0, s16 arg1, float arg2, float arg3, float arg4,
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void UpdateEffect(s32 arg0, ParticleData *arg1) {
|
static void UpdateEffect(ModelData *model, ParticleData *particle, Mtx matrix) {
|
||||||
EffectParamData *temp_r30;
|
EffectParamData *temp_r30;
|
||||||
HsfanimStruct01 *var_r31;
|
HsfanimStruct01 *var_r31;
|
||||||
s16 var_r28;
|
s16 var_r28;
|
||||||
s16 i;
|
s16 i;
|
||||||
|
|
||||||
temp_r30 = arg1->unk_1C;
|
temp_r30 = particle->unk_1C;
|
||||||
if (arg1->unk_34 == 0) {
|
if (particle->unk_34 == 0) {
|
||||||
var_r31 = arg1->unk_48;
|
var_r31 = particle->unk_48;
|
||||||
for (i = 0; i < arg1->unk_30; i++, var_r31++) {
|
for (i = 0; i < particle->unk_30; i++, var_r31++) {
|
||||||
var_r31->unk2C = 0.0f;
|
var_r31->unk2C = 0.0f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var_r31 = arg1->unk_48;
|
var_r31 = particle->unk_48;
|
||||||
for (i = 0; i < arg1->unk_30; i++, var_r31++) {
|
for (i = 0; i < particle->unk_30; i++, var_r31++) {
|
||||||
if (var_r31->unk2C) {
|
if (var_r31->unk2C) {
|
||||||
if (var_r31->unk02 == -1) {
|
if (var_r31->unk02 == -1) {
|
||||||
var_r31->unk08.x *= temp_r30[i].unk18;
|
var_r31->unk08.x *= temp_r30[i].unk18;
|
||||||
|
|
@ -962,7 +962,7 @@ static void UpdateEffect(s32 arg0, ParticleData *arg1) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
DCStoreRangeNoSync(arg1->unk_48, arg1->unk_30 * sizeof(HsfanimStruct01));
|
DCStoreRangeNoSync(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void RotateEffect(HsfanimStruct01 *arg0) {
|
static void RotateEffect(HsfanimStruct01 *arg0) {
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ typedef struct {
|
||||||
|
|
||||||
static void _Hu3DParticleAttrReset(ModelData *arg0, Mtx arg1);
|
static void _Hu3DParticleAttrReset(ModelData *arg0, Mtx arg1);
|
||||||
static void ParManFunc(void);
|
static void ParManFunc(void);
|
||||||
static void ParManHook(ModelData *arg0, ParticleData *arg1);
|
static void ParManHook(ModelData *arg0, ParticleData *arg1, Mtx matrix);
|
||||||
|
|
||||||
u32 frand(void);
|
u32 frand(void);
|
||||||
|
|
||||||
|
|
@ -606,7 +606,7 @@ void Hu3DParticleBlendModeSet(s16 arg0, u8 arg1) {
|
||||||
temp_r30->unk_2C = arg1;
|
temp_r30->unk_2C = arg1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Hu3DParticleHookSet(s16 arg0, void *arg1) {
|
void Hu3DParticleHookSet(s16 arg0, ParticleHook arg1) {
|
||||||
ModelData *temp_r31 = &Hu3DData[arg0];
|
ModelData *temp_r31 = &Hu3DData[arg0];
|
||||||
ParticleData *temp_r30 = temp_r31->unk_120;
|
ParticleData *temp_r30 = temp_r31->unk_120;
|
||||||
|
|
||||||
|
|
@ -673,7 +673,7 @@ static void _Hu3DParticleAttrReset(ModelData *arg0, Mtx arg1) {
|
||||||
AnimLayerData *temp_r27;
|
AnimLayerData *temp_r27;
|
||||||
ParticleData *temp_r31;
|
ParticleData *temp_r31;
|
||||||
HsfanimStruct01 *var_r29;
|
HsfanimStruct01 *var_r29;
|
||||||
void (*var_r17)(void*, void*, Mtx);
|
ParticleHook var_r17;
|
||||||
Mtx sp128;
|
Mtx sp128;
|
||||||
Mtx spF8;
|
Mtx spF8;
|
||||||
Mtx spC8;
|
Mtx spC8;
|
||||||
|
|
@ -872,7 +872,7 @@ s16 Hu3DParManCreate(AnimData *arg0, s16 arg1, HsfanimStruct00 *arg2) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
temp_r3 = Hu3DParticleCreate(arg0, arg1);
|
temp_r3 = Hu3DParticleCreate(arg0, arg1);
|
||||||
Hu3DParticleHookSet(temp_r3, &ParManHook);
|
Hu3DParticleHookSet(temp_r3, ParManHook);
|
||||||
temp_r25 = &Hu3DData[temp_r3];
|
temp_r25 = &Hu3DData[temp_r3];
|
||||||
temp_r29 = temp_r25->unk_120;
|
temp_r29 = temp_r25->unk_120;
|
||||||
temp_r29->unk_00 = var_r30;
|
temp_r29->unk_00 = var_r30;
|
||||||
|
|
@ -1214,7 +1214,7 @@ static float jitterTbl[] = {
|
||||||
0.5f, 0.7f, 0.9f, 1.0f
|
0.5f, 0.7f, 0.9f, 1.0f
|
||||||
};
|
};
|
||||||
|
|
||||||
static void ParManHook(ModelData *arg0, ParticleData *arg1) {
|
static void ParManHook(ModelData *model, ParticleData *particle, Mtx matrix) {
|
||||||
HsfanimStruct00 *temp_r26;
|
HsfanimStruct00 *temp_r26;
|
||||||
ParManProcUserData *temp_r28;
|
ParManProcUserData *temp_r28;
|
||||||
HsfanimStruct01 *var_r29;
|
HsfanimStruct01 *var_r29;
|
||||||
|
|
@ -1228,9 +1228,9 @@ static void ParManHook(ModelData *arg0, ParticleData *arg1) {
|
||||||
s16 sp8;
|
s16 sp8;
|
||||||
s16 i;
|
s16 i;
|
||||||
|
|
||||||
if (Hu3DPauseF == 0 || (arg0->attr & 0x200000)) {
|
if (Hu3DPauseF == 0 || (model->attr & 0x200000)) {
|
||||||
var_r29 = arg1->unk_48;
|
var_r29 = particle->unk_48;
|
||||||
for (i = 0; i < arg1->unk_30; i++, var_r29++) {
|
for (i = 0; i < particle->unk_30; i++, var_r29++) {
|
||||||
if (var_r29->unk2C) {
|
if (var_r29->unk2C) {
|
||||||
temp_r28 = parManProc[var_r29->unk02]->user_data;
|
temp_r28 = parManProc[var_r29->unk02]->user_data;
|
||||||
temp_r26 = temp_r28->unk3C;
|
temp_r26 = temp_r28->unk3C;
|
||||||
|
|
@ -1278,8 +1278,8 @@ static void ParManHook(ModelData *arg0, ParticleData *arg1) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
temp_r28 = parManProc[arg1->unk_00]->user_data;
|
temp_r28 = parManProc[particle->unk_00]->user_data;
|
||||||
temp_r28->unk38++;
|
temp_r28->unk38++;
|
||||||
DCStoreRangeNoSync(arg1->unk_48, arg1->unk_30 * sizeof(HsfanimStruct01));
|
DCStoreRangeNoSync(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue