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
|
||||
KillBowserFire = .text:0x8009A784; // type:function size:0x40 scope:local
|
||||
ExecMiniBowserEvent = .text:0x8009A7C4; // type:function size:0x188 scope:local
|
||||
MiniBowserTakeAll = .text:0x8009A94C; // type:function size:0x2C4 scope:local
|
||||
MiniBowserTake = .text:0x8009AC10; // type:function size:0x2B8 scope:local
|
||||
MiniBowserTake = .text:0x8009A94C; // type:function size:0x2C4 scope:local
|
||||
MiniBowserTakeAll = .text:0x8009AC10; // type:function size:0x2B8 scope:local
|
||||
MiniBowserBalloonStop = .text:0x8009AEC8; // type:function size:0x24 scope:local
|
||||
GetMiniBowserBalloonState = .text:0x8009AEEC; // type:function size:0xC 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
|
||||
booCamUp = .bss:0x801A4BD8; // type:object size:0xC scope:local data:float
|
||||
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
|
||||
camPosFortune = .bss:0x801A4C40; // type:object size:0xC scope:local data:4byte
|
||||
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/block.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/fortune.c"),
|
||||
Object(Matching, "game/board/boo.c"),
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ void BoardStatusGraySet(s32 arg0, s32 arg1);
|
|||
void BoardStatusShowSet(s32 arg0, s32 arg1);
|
||||
void BoardStatusItemHideSet(s32 arg0, s32 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 BoardStatusHammerCreate(s32 arg0);
|
||||
void BoardStatusHammerShowSet(s32 arg0, s32 arg1);
|
||||
|
|
|
|||
|
|
@ -6,6 +6,9 @@
|
|||
#include "game/sprite.h"
|
||||
|
||||
typedef struct model_data ModelData;
|
||||
typedef struct particle_data ParticleData;
|
||||
|
||||
typedef void (*ParticleHook)(ModelData *model, ParticleData *particle, Mtx matrix);
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ union {
|
||||
|
|
@ -49,7 +52,7 @@ typedef struct particle_data {
|
|||
/* 0x48 */ HsfanimStruct01 *unk_48;
|
||||
/* 0x4C */ Vec *unk_4C;
|
||||
/* 0x50 */ void *unk_50;
|
||||
/* 0x54 */ void *unk_54;
|
||||
/* 0x54 */ ParticleHook unk_54;
|
||||
} ParticleData; // Size 0x58
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -117,7 +120,7 @@ void Hu3DParticleZRotSet(s16 arg0, float arg1);
|
|||
void Hu3DParticleColSet(s16 arg0, u8 arg1, u8 arg2, u8 arg3);
|
||||
void Hu3DParticleTPLvlSet(s16 arg0, float 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 Hu3DParticleAttrReset(s16 arg0, u8 arg1);
|
||||
void Hu3DParticleAnimModeSet(s16 arg0, s16 arg1);
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ void Hu3DModelObjPosGet(s16 arg0, char *arg1, Vec *arg2);
|
|||
s16 Hu3DMotionShiftIDGet(s16 arg0);
|
||||
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_BC7C(s16 arg0);
|
||||
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;
|
||||
|
||||
f32 temp_f30;
|
||||
|
|
@ -900,27 +900,27 @@ void fn_1_BE30(s32 arg0, ParticleData* arg1) {
|
|||
HsfanimStruct01* var_r31;
|
||||
s32 i, j;
|
||||
|
||||
if (arg1->unk_34 == 0U) {
|
||||
var_r31 = arg1->unk_48;
|
||||
for (i = 0; i < arg1->unk_30; i++, var_r31++) {
|
||||
if (particle->unk_34 == 0U) {
|
||||
var_r31 = particle->unk_48;
|
||||
for (i = 0; i < particle->unk_30; i++, var_r31++) {
|
||||
var_r31->unk40.a = 0;
|
||||
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;
|
||||
BoardModelPosGet(arg1->unk_02, &sp8);
|
||||
BoardModelPosGet(particle->unk_02, &sp8);
|
||||
|
||||
for (i = 0; i < 0x16; i++) {
|
||||
var_r31 = arg1->unk_48;
|
||||
for (j = 0; j < arg1->unk_30; j++, var_r31++) {
|
||||
var_r31 = particle->unk_48;
|
||||
for (j = 0; j < particle->unk_30; j++, var_r31++) {
|
||||
if (0.0f == var_r31->unk2C) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (j != arg1->unk_30) {
|
||||
if (j != particle->unk_30) {
|
||||
temp_f30 = 360.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)));
|
||||
|
|
@ -932,9 +932,9 @@ void fn_1_BE30(s32 arg0, ParticleData* arg1) {
|
|||
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) {
|
||||
var_r31->unk34.y = (var_r31->unk34.y - var_r31->unk08.x);
|
||||
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 ExecItemBowser(void);
|
||||
static void ExecItemBooBall(void);
|
||||
static void LampParticleUpdate(s32 arg0, ParticleData *arg1);
|
||||
static void GenieParticleUpdate(s32 arg0, ParticleData *arg1);
|
||||
static void LampParticleUpdate(ModelData *model, ParticleData *particle, Mtx matrix);
|
||||
static void GenieParticleUpdate(ModelData *model, ParticleData *particle, Mtx matrix);
|
||||
static void GenieCameraProc(void);
|
||||
static void GenieCameraCalc(UnkGenieCameraStruct *arg0, s32 arg1, float arg2, Vec *arg3, Vec *arg4);
|
||||
static void GenieSceneExec(void);
|
||||
|
|
@ -1924,7 +1924,7 @@ static void ForceConsts(void)
|
|||
(void)125.0f;
|
||||
}
|
||||
|
||||
static void LampParticleUpdate(s32 arg0, ParticleData *arg1) {
|
||||
static void LampParticleUpdate(ModelData *model, ParticleData *particle, Mtx matrix) {
|
||||
HsfanimStruct01 *var_r31;
|
||||
Vec spC;
|
||||
float sp8;
|
||||
|
|
@ -1933,26 +1933,26 @@ static void LampParticleUpdate(s32 arg0, ParticleData *arg1) {
|
|||
s32 i;
|
||||
s32 j;
|
||||
|
||||
if (arg1->unk_34 == 0) {
|
||||
var_r31 = arg1->unk_48;
|
||||
for (i = 0; i < arg1->unk_30; i++, var_r31++) {
|
||||
if (particle->unk_34 == 0) {
|
||||
var_r31 = particle->unk_48;
|
||||
for (i = 0; i < particle->unk_30; i++, var_r31++) {
|
||||
var_r31->unk2C = 0.0f;
|
||||
var_r31->unk40.a = 0;
|
||||
}
|
||||
arg1->unk_04 = 0.0f;
|
||||
arg1->unk_00 = 0;
|
||||
particle->unk_04 = 0.0f;
|
||||
particle->unk_00 = 0;
|
||||
}
|
||||
if (arg1->unk_00 == 0) {
|
||||
arg1->unk_00 = 2;
|
||||
if (particle->unk_00 == 0) {
|
||||
particle->unk_00 = 2;
|
||||
BoardModelRotGet(suitMdl, &spC);
|
||||
for (i = 0; i < 2; i++) {
|
||||
var_r31 = arg1->unk_48;
|
||||
for (j = 0; j < arg1->unk_30; j++, var_r31++) {
|
||||
var_r31 = particle->unk_48;
|
||||
for (j = 0; j < particle->unk_30; j++, var_r31++) {
|
||||
if (var_r31->unk2C == 0.0f) {
|
||||
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.y = 30.0f;
|
||||
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 {
|
||||
arg1->unk_00--;
|
||||
particle->unk_00--;
|
||||
}
|
||||
var_r31 = arg1->unk_48;
|
||||
for (i = 0; i < arg1->unk_30; i++, var_r31++) {
|
||||
var_r31 = particle->unk_48;
|
||||
for (i = 0; i < particle->unk_30; i++, var_r31++) {
|
||||
if (var_r31->unk2C != 0.0f) {
|
||||
if (var_r31->unk00_s16 == 0) {
|
||||
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;
|
||||
float temp_f31;
|
||||
float temp_f30;
|
||||
s32 var_r28;
|
||||
s32 i;
|
||||
|
||||
if (arg1->unk_34 == 0) {
|
||||
var_r31 = arg1->unk_48;
|
||||
for (i = 0; i < arg1->unk_30; i++, var_r31++) {
|
||||
if (particle->unk_34 == 0) {
|
||||
var_r31 = particle->unk_48;
|
||||
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.y = -50.0f + (frand() & 0xFF) * 100.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 = arg1->unk_48;
|
||||
var_r31 = particle->unk_48;
|
||||
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) {
|
||||
var_r28++;
|
||||
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) {
|
||||
arg1->unk_02 = 0;
|
||||
particle->unk_02 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2235,7 +2235,7 @@ static void GenieSceneExec(void) {
|
|||
temp_r21 = HuPrcChildCreate(GenieCameraProc, 0x2005, 0x1000, 0, HuPrcCurrentGet());
|
||||
Hu3DBGColorSet(0xFF, 0xFF, 0xFF);
|
||||
temp_r27 = Hu3DParticleCreate(genieParticleAnim, 0x32);
|
||||
Hu3DParticleHookSet(temp_r27, &GenieParticleUpdate);
|
||||
Hu3DParticleHookSet(temp_r27, GenieParticleUpdate);
|
||||
Hu3DParticleBlendModeSet(temp_r27, 1);
|
||||
Hu3DParticleColSet(temp_r27, 0xFF, 0xFF, 0xFF);
|
||||
Hu3DParticleAnimModeSet(temp_r27, 0);
|
||||
|
|
@ -2409,7 +2409,7 @@ static void ExecItemGenie(void) {
|
|||
HuAudPlayerVoicePlay(currItemRestore, 0x125);
|
||||
temp_r25 = HuAudFXPlay(0x34D);
|
||||
temp_r31 = Hu3DParticleCreate(genieParticleAnim, 0x96);
|
||||
Hu3DParticleHookSet(temp_r31, &LampParticleUpdate);
|
||||
Hu3DParticleHookSet(temp_r31, LampParticleUpdate);
|
||||
Hu3DParticleBlendModeSet(temp_r31, 0);
|
||||
Hu3DParticleColSet(temp_r31, 0xFF, 0xFF, 0xFF);
|
||||
Hu3DParticleAnimModeSet(temp_r31, 0);
|
||||
|
|
|
|||
|
|
@ -749,7 +749,7 @@ static void SeparateStatus(bitcopy* arg0, omObjData* arg1) {
|
|||
switch (arg0->unk_02) {
|
||||
case 0:
|
||||
for (var_r28 = 0; var_r28 < 4; var_r28++) {
|
||||
BoardStatusPosGet(var_r28, &sp8.x);
|
||||
BoardStatusPosGet(var_r28, &sp8);
|
||||
if (sp8.x < 288.0f) {
|
||||
sp8.x = -98.0f;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -689,7 +689,7 @@ void BoardPlayerPostTurnHookSet(s32 arg0, s32 (*arg1)()) {
|
|||
void BoardPlayerTurnExec(s32 arg0) {
|
||||
BoardPauseDisableSet(1);
|
||||
BoardComUseItemSet(arg0, -1);
|
||||
GWSystem.field31_bit4 = 0xF;
|
||||
GWSystem.bowser_event = 0xF;
|
||||
_ClearFlag(0x10016);
|
||||
_ClearFlag(0x1000E);
|
||||
BoardCameraMoveSet(1);
|
||||
|
|
@ -853,11 +853,11 @@ block_14:
|
|||
BoardSpaceBlockExec(arg0, sp8);
|
||||
BoardSpaceLandExec(arg0, sp8);
|
||||
_SetFlag(0x1000E);
|
||||
if (GWSystem.field31_bit4 != 1) {
|
||||
if (GWSystem.bowser_event != 1) {
|
||||
BoardCameraViewSet(2);
|
||||
BoardCameraMotionWait();
|
||||
} else {
|
||||
GWSystem.field31_bit4 = 0xF;
|
||||
GWSystem.bowser_event = 0xF;
|
||||
}
|
||||
BoardPlayerZoomRestore(arg0);
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -402,11 +402,11 @@ void BoardStatusTargetPosSet(s32 arg0, Vec *arg1) {
|
|||
temp_r31->unk00_bit2 = 1;
|
||||
}
|
||||
|
||||
void BoardStatusPosGet(s32 arg0, float *arg1) {
|
||||
void BoardStatusPosGet(s32 arg0, Vec *arg1) {
|
||||
UnkUiStatusStruct *temp_r31 = &uiStatus[arg0];
|
||||
|
||||
arg1[0] = temp_r31->unk04.x;
|
||||
arg1[1] = temp_r31->unk04.y;
|
||||
arg1->x = temp_r31->unk04.x;
|
||||
arg1->y = temp_r31->unk04.y;
|
||||
}
|
||||
|
||||
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 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 void UpdateEffect(s32 arg0, ParticleData *arg1);
|
||||
static void UpdateEffect(ModelData *model, ParticleData *particle, Mtx matrix);
|
||||
static void RotateEffect(HsfanimStruct01 *arg0);
|
||||
static void PlayEffectSound(HsfanimStruct01 *arg0);
|
||||
static void UpdateItemHook(void);
|
||||
|
|
@ -887,21 +887,21 @@ static s16 CreateEffect(s16 arg0, s16 arg1, float arg2, float arg3, float arg4,
|
|||
return i;
|
||||
}
|
||||
|
||||
static void UpdateEffect(s32 arg0, ParticleData *arg1) {
|
||||
static void UpdateEffect(ModelData *model, ParticleData *particle, Mtx matrix) {
|
||||
EffectParamData *temp_r30;
|
||||
HsfanimStruct01 *var_r31;
|
||||
s16 var_r28;
|
||||
s16 i;
|
||||
|
||||
temp_r30 = arg1->unk_1C;
|
||||
if (arg1->unk_34 == 0) {
|
||||
var_r31 = arg1->unk_48;
|
||||
for (i = 0; i < arg1->unk_30; i++, var_r31++) {
|
||||
temp_r30 = particle->unk_1C;
|
||||
if (particle->unk_34 == 0) {
|
||||
var_r31 = particle->unk_48;
|
||||
for (i = 0; i < particle->unk_30; i++, var_r31++) {
|
||||
var_r31->unk2C = 0.0f;
|
||||
}
|
||||
}
|
||||
var_r31 = arg1->unk_48;
|
||||
for (i = 0; i < arg1->unk_30; i++, var_r31++) {
|
||||
var_r31 = particle->unk_48;
|
||||
for (i = 0; i < particle->unk_30; i++, var_r31++) {
|
||||
if (var_r31->unk2C) {
|
||||
if (var_r31->unk02 == -1) {
|
||||
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) {
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ typedef struct {
|
|||
|
||||
static void _Hu3DParticleAttrReset(ModelData *arg0, Mtx arg1);
|
||||
static void ParManFunc(void);
|
||||
static void ParManHook(ModelData *arg0, ParticleData *arg1);
|
||||
static void ParManHook(ModelData *arg0, ParticleData *arg1, Mtx matrix);
|
||||
|
||||
u32 frand(void);
|
||||
|
||||
|
|
@ -606,7 +606,7 @@ void Hu3DParticleBlendModeSet(s16 arg0, u8 arg1) {
|
|||
temp_r30->unk_2C = arg1;
|
||||
}
|
||||
|
||||
void Hu3DParticleHookSet(s16 arg0, void *arg1) {
|
||||
void Hu3DParticleHookSet(s16 arg0, ParticleHook arg1) {
|
||||
ModelData *temp_r31 = &Hu3DData[arg0];
|
||||
ParticleData *temp_r30 = temp_r31->unk_120;
|
||||
|
||||
|
|
@ -673,7 +673,7 @@ static void _Hu3DParticleAttrReset(ModelData *arg0, Mtx arg1) {
|
|||
AnimLayerData *temp_r27;
|
||||
ParticleData *temp_r31;
|
||||
HsfanimStruct01 *var_r29;
|
||||
void (*var_r17)(void*, void*, Mtx);
|
||||
ParticleHook var_r17;
|
||||
Mtx sp128;
|
||||
Mtx spF8;
|
||||
Mtx spC8;
|
||||
|
|
@ -872,7 +872,7 @@ s16 Hu3DParManCreate(AnimData *arg0, s16 arg1, HsfanimStruct00 *arg2) {
|
|||
return -1;
|
||||
}
|
||||
temp_r3 = Hu3DParticleCreate(arg0, arg1);
|
||||
Hu3DParticleHookSet(temp_r3, &ParManHook);
|
||||
Hu3DParticleHookSet(temp_r3, ParManHook);
|
||||
temp_r25 = &Hu3DData[temp_r3];
|
||||
temp_r29 = temp_r25->unk_120;
|
||||
temp_r29->unk_00 = var_r30;
|
||||
|
|
@ -1214,7 +1214,7 @@ static float jitterTbl[] = {
|
|||
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;
|
||||
ParManProcUserData *temp_r28;
|
||||
HsfanimStruct01 *var_r29;
|
||||
|
|
@ -1228,9 +1228,9 @@ static void ParManHook(ModelData *arg0, ParticleData *arg1) {
|
|||
s16 sp8;
|
||||
s16 i;
|
||||
|
||||
if (Hu3DPauseF == 0 || (arg0->attr & 0x200000)) {
|
||||
var_r29 = arg1->unk_48;
|
||||
for (i = 0; i < arg1->unk_30; i++, var_r29++) {
|
||||
if (Hu3DPauseF == 0 || (model->attr & 0x200000)) {
|
||||
var_r29 = particle->unk_48;
|
||||
for (i = 0; i < particle->unk_30; i++, var_r29++) {
|
||||
if (var_r29->unk2C) {
|
||||
temp_r28 = parManProc[var_r29->unk02]->user_data;
|
||||
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++;
|
||||
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