Merge branch 'naming_actor_properties' into 'master'

Renaming functions

See merge request banjo.decomp/banjo-kazooie!68
This commit is contained in:
Banjo Kazooie
2024-09-13 23:37:12 +00:00
173 changed files with 752 additions and 753 deletions

View File

@@ -238,8 +238,8 @@ void particleEmitter_setDrawMode(ParticleEmitter *, s32);
void particleEmitter_setStartingFrameRange(ParticleEmitter *this, s32 arg1, s32 arg2); void particleEmitter_setStartingFrameRange(ParticleEmitter *this, s32 arg1, s32 arg2);
void particleEmitter_setParticleFramerateRange(ParticleEmitter *, f32, f32); void particleEmitter_setParticleFramerateRange(ParticleEmitter *, f32, f32);
void particleEmitter_setParticleSpawnPositionRange(ParticleEmitter *, f32, f32, f32, f32, f32, f32); void particleEmitter_setParticleSpawnPositionRange(ParticleEmitter *, f32, f32, f32, f32, f32, f32);
void func_802EFB70(ParticleEmitter *, f32, f32); void particleEmitter_setStartingScaleRange(ParticleEmitter *, f32, f32);
void func_802EFB84(ParticleEmitter *, f32, f32); void particleEmitter_setFinalScaleRange(ParticleEmitter *, f32, f32);
void particleEmitter_setScaleAndLifetimeRanges(ParticleEmitter *, ParticleScaleAndLifetimeRanges *); void particleEmitter_setScaleAndLifetimeRanges(ParticleEmitter *, ParticleScaleAndLifetimeRanges *);
void particleEmitter_setVelocityAndAccelerationRanges(ParticleEmitter *, struct41s *); void particleEmitter_setVelocityAndAccelerationRanges(ParticleEmitter *, struct41s *);
void particleEmitter_setPositionAndVelocityRanges(ParticleEmitter *this, struct42s *arg1); void particleEmitter_setPositionAndVelocityRanges(ParticleEmitter *this, struct42s *arg1);
@@ -384,7 +384,7 @@ extern s32 func_802F9AA8(enum sfx_e);
Actor * func_803055E0(enum actor_e id, s32 pos[3], s32 arg2, s32 arg3, s32 arg4); Actor * func_803055E0(enum actor_e id, s32 pos[3], s32 arg2, s32 arg3, s32 arg4);
Actor * spawn_actor(enum actor_e id, s32 pos[3], s32 yaw); Actor * spawn_actor(enum actor_e id, s32 pos[3], s32 yaw);
f32 func_80309724(f32[3]); f32 mapModel_getFloorY(f32[3]);
BKModelBin *func_8030A428(s32); BKModelBin *func_8030A428(s32);
u8 func_8030D90C(void); u8 func_8030D90C(void);
void sfxsource_setSfxId(u8 indx, enum sfx_e uid); void sfxsource_setSfxId(u8 indx, enum sfx_e uid);
@@ -429,7 +429,7 @@ void func_80326244(Actor *);
void func_8032728C(f32[3], f32, s32, int(*)(Actor *)); void func_8032728C(f32[3], f32, s32, int(*)(Actor *));
Actor *func_8032813C(enum actor_e actor_id, f32 position[3], s32 yaw); Actor *spawn_actor_f32(enum actor_e actor_id, f32 position[3], s32 yaw);
int func_8032863C(AnimCtrl *, f32, f32); int func_8032863C(AnimCtrl *, f32, f32);
int func_80328A2C(Actor *, f32, s32, f32); int func_80328A2C(Actor *, f32, s32, f32);
void subaddie_set_state(Actor *, u32); void subaddie_set_state(Actor *, u32);

View File

@@ -192,7 +192,7 @@ typedef struct actor_s{
u32 unk58_1: 1; u32 unk58_1: 1;
u32 unk58_0: 1; u32 unk58_0: 1;
f32 unk5C; f32 unk5C;
f32 unk60; // actor lifetime? f32 lifetime_value; // actor lifetime?
f32 yaw_ideal; //0x64 f32 yaw_ideal; //0x64
f32 pitch;//0x68 f32 pitch;//0x68
f32 unk6C; f32 unk6C;
@@ -260,7 +260,7 @@ typedef struct actor_s{
u32 unk138_28:1; u32 unk138_28:1;
u32 unk138_27:2; u32 unk138_27:2;
u32 unk138_25:1; u32 unk138_25:1;
u32 unk138_24:1; u32 is_first_encounter:TRUE;
u32 unk138_23:1; u32 unk138_23:1;
u32 unk138_22:1; u32 unk138_22:1;
u32 unk138_21:1; u32 unk138_21:1;

View File

@@ -20,5 +20,5 @@ void func_8038FCB0(Actor *this){
return; return;
this->marker->propPtr->unk8_3 = 1; this->marker->propPtr->unk8_3 = 1;
actor_collisionOff(this); actor_collisionOff(this);
this->initialized = 1; this->initialized = TRUE;
} }

View File

@@ -142,8 +142,8 @@ void BGS_func_803888E4(Actor *this, s32 arg1){
if(this->state == 2){ if(this->state == 2){
skeletalAnim_set(this->unk148, ASSET_12B_ANIM_TIPTUP_IDLE, 1.0f, 9.0f); skeletalAnim_set(this->unk148, ASSET_12B_ANIM_TIPTUP_IDLE, 1.0f, 9.0f);
unqPtr->unkC = randf2(5.0f, 15.0f); unqPtr->unkC = randf2(5.0f, 15.0f);
if(!this->unk138_24){ if(!this->is_first_encounter){
this->unk138_24 = 1; this->is_first_encounter = TRUE;
if(unqPtr->unkA == 0){ if(unqPtr->unkA == 0){
func_80311480(0xc72, 0xe, this->position, this->marker, func_80388784, 0); func_80311480(0xc72, 0xe, this->position, this->marker, func_80388784, 0);
}else{ }else{

View File

@@ -48,7 +48,7 @@ void func_80387D18(ActorMarker * arg0, u32 arg1){
nextActPtr = spawn_child_actor(0x6A, &this); nextActPtr = spawn_child_actor(0x6A, &this);
nextActPtr->state = 2; nextActPtr->state = 2;
nextActPtr->unkF4_8 = 0x8C; nextActPtr->unkF4_8 = 0x8C;
nextActPtr->unk60 = 3.0f; nextActPtr->lifetime_value = 3.0f;
nextActPtr->unk38_31 = arg1; nextActPtr->unk38_31 = arg1;
if(arg0); if(arg0);
} }
@@ -134,7 +134,7 @@ void func_80387FD4(Actor *this){
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
}//L80388144 }//L80388144
func_803289EC(this, 0.0f, 1); func_803289EC(this, 0.0f, 1);
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
return; return;
}//L80388160 }//L80388160
@@ -170,11 +170,11 @@ void func_80387FD4(Actor *this){
switch(this->state){ switch(this->state){
case 1:// L80388370 case 1:// L80388370
this->unk60 += time_getDelta(); this->lifetime_value += time_getDelta();
if(0.7 <= this->unk60){ if(0.7 <= this->lifetime_value){
subaddie_set_state_with_direction(this, 2, 0.0f, 1); subaddie_set_state_with_direction(this, 2, 0.0f, 1);
func_80387C90(this); func_80387C90(this);
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
func_80324D54(0.1f, SFX_D0_GRIMLET_SQUEAK, 1.0f, 0x7530, this->position, 0.0f, 1800.0f); func_80324D54(0.1f, SFX_D0_GRIMLET_SQUEAK, 1.0f, 0x7530, this->position, 0.0f, 1800.0f);
} }
break; break;
@@ -186,11 +186,11 @@ void func_80387FD4(Actor *this){
break; break;
case 3:// L80388434 case 3:// L80388434
this->unk60 += time_getDelta(); this->lifetime_value += time_getDelta();
if( this->unk60 >= 0.13 + 0.7/4 * (5 - this->unkF4_8)){ if( this->lifetime_value >= 0.13 + 0.7/4 * (5 - this->unkF4_8)){
subaddie_set_state_with_direction(this, 4, 0.62f, 1); subaddie_set_state_with_direction(this, 4, 0.62f, 1);
func_80387C90(this); func_80387C90(this);
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
func_80324D54(0.3f, 0x406, 1.0f, 0x55f0, this->position, 0.0f, 1800.0f); func_80324D54(0.3f, 0x406, 1.0f, 0x55f0, this->position, 0.0f, 1800.0f);
} }
break; break;

View File

@@ -16,7 +16,7 @@ typedef struct{
}ActorLocal_Flibbit; }ActorLocal_Flibbit;
extern f32 func_80309724(f32 *); extern f32 mapModel_getFloorY(f32 *);
extern void func_80256E24(f32 [3], f32, f32, f32, f32, f32); extern void func_80256E24(f32 [3], f32, f32, f32, f32, f32);
void chflibbit_update(Actor *this); void chflibbit_update(Actor *this);
@@ -46,7 +46,7 @@ bool BGS_func_803863F0(Actor *this, f32 arg1[3], s32 arg2){
local->unk8[1] = arg1[1]; local->unk8[1] = arg1[1];
local->unk8[2] = arg1[2]; local->unk8[2] = arg1[2];
local->unk8[1] = func_80309724(arg1); local->unk8[1] = mapModel_getFloorY(arg1);
skeletalAnim_set(this->unk148, 0xdb, 0.2f,(arg2) ? randf2(0.7f, 0.8f) : randf2(0.75f, 0.85f)); skeletalAnim_set(this->unk148, 0xdb, 0.2f,(arg2) ? randf2(0.7f, 0.8f) : randf2(0.75f, 0.85f));
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
func_80324D54(0.2f, 0x3f2, randf2(0.7f, 1.3f), randi2(0x61A8, 0x6978), this->position, 500.0f, 2500.0f); func_80324D54(0.2f, 0x3f2, randf2(0.7f, 1.3f), randi2(0x61A8, 0x6978), this->position, 500.0f, 2500.0f);
@@ -211,7 +211,7 @@ void func_80386AEC(Actor *this, s32 next_state) {
skeletalAnim_set(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f)); skeletalAnim_set(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f));
skeletalAnim_setProgress(this->unk148, randf2(0.0f, 0.9f)); skeletalAnim_setProgress(this->unk148, randf2(0.0f, 0.9f));
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
this->position[1] = func_80309724(this->position); this->position[1] = mapModel_getFloorY(this->position);
local->unk18 = 1.0f; local->unk18 = 1.0f;
} }
@@ -219,7 +219,7 @@ void func_80386AEC(Actor *this, s32 next_state) {
FUNC_8030E8B4(SFX_8E_GRUNTLING_DAMAGE, 1.5f, 32200, this->position, 500, 2500); FUNC_8030E8B4(SFX_8E_GRUNTLING_DAMAGE, 1.5f, 32200, this->position, 500, 2500);
skeletalAnim_set(this->unk148, ASSET_288_ANIM_FLIBBIT_OW, 0.1f, 0.65f); skeletalAnim_set(this->unk148, ASSET_288_ANIM_FLIBBIT_OW, 0.1f, 0.65f);
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
this->position[1] = func_80309724(this->position); this->position[1] = mapModel_getFloorY(this->position);
local->unk18 = 1.0f; local->unk18 = 1.0f;
} }
@@ -333,7 +333,7 @@ void chflibbit_update(Actor *this){
local->unkE[1] = (s16) this->position_y; local->unkE[1] = (s16) this->position_y;
local->unkE[2] = (s16) this->position_z; local->unkE[2] = (s16) this->position_z;
local->unkE[1] = func_80309724(this->position); local->unkE[1] = mapModel_getFloorY(this->position);
func_80386AEC(this, 1); func_80386AEC(this, 1);
} }
player_getPosition(player_position); player_getPosition(player_position);
@@ -439,8 +439,8 @@ void chflibbit_update(Actor *this){
this->position_y += local->unk14*spA4; this->position_y += local->unk14*spA4;
local->unk14 -= 3000.0f*spA4; local->unk14 -= 3000.0f*spA4;
if(this->position_y < func_80309724(this->position)){ if(this->position_y < mapModel_getFloorY(this->position)){
this->position_y = func_80309724(this->position); this->position_y = mapModel_getFloorY(this->position);
func_80386AEC(this, 7); func_80386AEC(this, 7);
} }
} }

View File

@@ -74,7 +74,7 @@ void func_8038FD9C(Actor *this){
local->unk60[0] = this->pitch; local->unk60[0] = this->pitch;
local->unk60[1] = this->yaw; local->unk60[1] = this->yaw;
local->unk60[2] = this->roll; local->unk60[2] = this->roll;
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
this->velocity_x = 0.0f; this->velocity_x = 0.0f;
this->unk10_12 = 0; this->unk10_12 = 0;
} }
@@ -151,7 +151,7 @@ void func_8038FD9C(Actor *this){
local->unk60[0] = this->pitch; local->unk60[0] = this->pitch;
local->unk60[1] = this->yaw; local->unk60[1] = this->yaw;
local->unk60[2] = this->roll; local->unk60[2] = this->roll;
this->unk60 += time_getDelta(); this->lifetime_value += time_getDelta();
_player_getPosition(player_position); _player_getPosition(player_position);
if( func_80294660() == 0x100 if( func_80294660() == 0x100
&& func_8028F20C() && func_8028F20C()
@@ -186,9 +186,9 @@ void func_8038FD9C(Actor *this){
} }
this->marker->unk3E_1 = 0; this->marker->unk3E_1 = 0;
local->unk18[1] = 10 * sinf((((this->unk60 * local->unk6C) / 180.0) * BAD_PI)); local->unk18[1] = 10 * sinf((((this->lifetime_value * local->unk6C) / 180.0) * BAD_PI));
this->unk1C[0] = 4.5 * cosf((((this->unk60 * local->unk6C) / 180.0) * BAD_PI)); this->unk1C[0] = 4.5 * cosf((((this->lifetime_value * local->unk6C) / 180.0) * BAD_PI));
this->unk1C[1] = 2*sinf((((this->unk60 * local->unk6C) / 180.0) * BAD_PI)); this->unk1C[1] = 2*sinf((((this->lifetime_value * local->unk6C) / 180.0) * BAD_PI));
sp64[0] = local->unk3C[0] + local->unk24[0]; sp64[0] = local->unk3C[0] + local->unk24[0];
sp64[1] = local->unk3C[1] + local->unk24[1]; sp64[1] = local->unk3C[1] + local->unk24[1];
sp64[2] = local->unk3C[2] + local->unk24[2]; sp64[2] = local->unk3C[2] + local->unk24[2];

View File

@@ -179,7 +179,7 @@ void func_8038BDD4(Actor *this) {
: local->unk24; : local->unk24;
skeletalAnim_setDuration(this->unk148, (200.0f / local->unk24) * 0.5); skeletalAnim_setDuration(this->unk148, (200.0f / local->unk24) * 0.5);
local->unk28[1] = sp50 * 200.0f; local->unk28[1] = sp50 * 200.0f;
temp_f0_3 = func_80309724(this->position); temp_f0_3 = mapModel_getFloorY(this->position);
if (temp_f0_3 > 125.0f) { if (temp_f0_3 > 125.0f) {
this->position[1] = 125.0f; this->position[1] = 125.0f;
} else if (temp_f0_3 > 80.0f) { } else if (temp_f0_3 > 80.0f) {

View File

@@ -61,8 +61,8 @@ void func_8038EB4C(ActorMarker *this){
Actor *thisActor; Actor *thisActor;
thisActor = marker_getActor(this); thisActor = marker_getActor(this);
thisActor = func_8032813C(ACTOR_D_WOOD_DEMOLISHED, thisActor->position, NULL); thisActor = spawn_actor_f32(ACTOR_D_WOOD_DEMOLISHED, thisActor->position, NULL);
thisActor = func_8032813C(ACTOR_4D_STEAM_2, thisActor->position, NULL); thisActor = spawn_actor_f32(ACTOR_4D_STEAM_2, thisActor->position, NULL);
if(this); if(this);
} }
@@ -75,7 +75,7 @@ void chmudhut_update(Actor *this){
if(func_80334904() == 2){ if(func_80334904() == 2){
if(!this->initialized){ if(!this->initialized){
this->marker->collidable = 0; this->marker->collidable = 0;
this->initialized = 1; this->initialized = TRUE;
} }
switch(this->state){ switch(this->state){

View File

@@ -101,7 +101,7 @@ void chpinkegg_update(Actor *this){
if(!this->initialized){ if(!this->initialized){
this->marker->propPtr->unk8_3 = 1; this->marker->propPtr->unk8_3 = 1;
marker_setCollisionScripts(this->marker, NULL, NULL, chpinkegg_collision); marker_setCollisionScripts(this->marker, NULL, NULL, chpinkegg_collision);
this->initialized = 1; this->initialized = TRUE;
} }
switch(this->state){ switch(this->state){

View File

@@ -46,7 +46,7 @@ void func_8038F470(ActorMarker *this, s32 arg1, enum chtanktup_leg_e leg_id){
sp18[2] = thisActor->position_z; sp18[2] = thisActor->position_z;
sp18[1] += 50.0f; sp18[1] += 50.0f;
leg = func_8032813C(leg_id + ACTOR_E9_TANKTUP_LEG_FL, sp18, (s32)thisActor->yaw); leg = spawn_actor_f32(leg_id + ACTOR_E9_TANKTUP_LEG_FL, sp18, (s32)thisActor->yaw);
subaddie_set_state_with_direction(leg, arg1 + 1, 0, -1); subaddie_set_state_with_direction(leg, arg1 + 1, 0, -1);
leg->unk10_12 = leg_id; leg->unk10_12 = leg_id;
} }
@@ -111,8 +111,8 @@ void func_8038F6A4(Actor *this)
{ {
nodeprop_getPosition(temp_v0, local->unk18); nodeprop_getPosition(temp_v0, local->unk18);
} }
this->unk138_24 = 0; this->is_first_encounter = FALSE;
this->initialized = 1; this->initialized = TRUE;
} }
if (!this->unk16C_4) if (!this->unk16C_4)
{ {
@@ -138,12 +138,12 @@ void func_8038F6A4(Actor *this)
case 1: case 1:
func_8038F610(this); func_8038F610(this);
player_getPosition(sp48); player_getPosition(sp48);
if (!this->unk138_24) if (!this->is_first_encounter)
{ {
if ((((ml_distance_vec3f(local->unk18, sp48) < 250.0f) && (ml_distance_vec3f(local->unk18, sp48) > 80.0f)) && (!func_8028ECAC())) && (player_getTransformation() == TRANSFORM_1_BANJO)) if ((((ml_distance_vec3f(local->unk18, sp48) < 250.0f) && (ml_distance_vec3f(local->unk18, sp48) > 80.0f)) && (!func_8028ECAC())) && (player_getTransformation() == TRANSFORM_1_BANJO))
{ {
func_80311480(0xC7E, 0, 0, 0, 0, 0); func_80311480(0xC7E, 0, 0, 0, 0, 0);
this->unk138_24 = 1; this->is_first_encounter = TRUE;
} }
} }
if (local->unk10) if (local->unk10)

View File

@@ -40,8 +40,8 @@ void func_8038D1E0(Actor *this) {
particleEmitter_setStartingFrameRange(temp_s0, 0, 7); particleEmitter_setStartingFrameRange(temp_s0, 0, 7);
particleEmitter_setPosition(temp_s0, this->position); particleEmitter_setPosition(temp_s0, this->position);
particleEmitter_setRGB(temp_s0, D_80390B04); particleEmitter_setRGB(temp_s0, D_80390B04);
func_802EFB70(temp_s0, 1.0f, 1.5f); particleEmitter_setStartingScaleRange(temp_s0, 1.0f, 1.5f);
func_802EFB84(temp_s0, 2.5f, 3.0f); particleEmitter_setFinalScaleRange(temp_s0, 2.5f, 3.0f);
particleEmitter_setParticleVelocityRange(temp_s0, -70.0f, 50.0f, -70.0f, 70.0f, 100.0f, 70.0f); particleEmitter_setParticleVelocityRange(temp_s0, -70.0f, 50.0f, -70.0f, 70.0f, 100.0f, 70.0f);
particleEmitter_setParticleLifeTimeRange(temp_s0, 3.0f, 4.0f); particleEmitter_setParticleLifeTimeRange(temp_s0, 3.0f, 4.0f);
particleEmitter_emitN(temp_s0, 4); particleEmitter_emitN(temp_s0, 4);
@@ -60,7 +60,7 @@ s32 func_8038D2F4(Actor *this, f32 *arg1, bool arg2) {
local->unkA[0] = (s16) arg1[0]; local->unkA[0] = (s16) arg1[0];
local->unkA[1] = (s16) arg1[1]; local->unkA[1] = (s16) arg1[1];
local->unkA[2] = (s16) arg1[2]; local->unkA[2] = (s16) arg1[2];
local->unkA[1] = (s16) (s32) func_80309724(arg1); local->unkA[1] = (s16) (s32) mapModel_getFloorY(arg1);
skeletalAnim_set(this->unk148, ASSET_DB_ANIM_FLIBBIT_HOP, 0.2f, (arg2) ? randf2(0.7f, 0.8f) : randf2(0.7f, 0.8f)); skeletalAnim_set(this->unk148, ASSET_DB_ANIM_FLIBBIT_HOP, 0.2f, (arg2) ? randf2(0.7f, 0.8f) : randf2(0.7f, 0.8f));
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
func_80324D54(0.2f, SFX_3F2_UNKNOWN, randf2(0.7f, 1.3f), randi2(25000, 27000), this->position, 500.0f, 2500.0f); func_80324D54(0.2f, SFX_3F2_UNKNOWN, randf2(0.7f, 1.3f), randi2(25000, 27000), this->position, 500.0f, 2500.0f);
@@ -235,14 +235,14 @@ void func_8038D9D0(Actor *this, s32 next_state) {
skeletalAnim_set(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f)); skeletalAnim_set(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f));
skeletalAnim_setProgress(this->unk148, randf2(0.0f, 0.9)); skeletalAnim_setProgress(this->unk148, randf2(0.0f, 0.9));
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
this->position[1] = func_80309724(this->position); this->position[1] = mapModel_getFloorY(this->position);
local->unk1C = 1.0f; local->unk1C = 1.0f;
} }
if (next_state == 8) { if (next_state == 8) {
FUNC_8030E8B4(SFX_8E_GRUNTLING_DAMAGE, 1.5f, 32200, this->position, 500, 2500); FUNC_8030E8B4(SFX_8E_GRUNTLING_DAMAGE, 1.5f, 32200, this->position, 500, 2500);
skeletalAnim_set(this->unk148, ASSET_288_ANIM_FLIBBIT_OW, 0.1f, 0.65f); skeletalAnim_set(this->unk148, ASSET_288_ANIM_FLIBBIT_OW, 0.1f, 0.65f);
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE); skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
this->position[1] = func_80309724(this->position); this->position[1] = mapModel_getFloorY(this->position);
local->unk1C = 1.0f; local->unk1C = 1.0f;
} }
if (next_state == 9) { if (next_state == 9) {
@@ -482,8 +482,8 @@ void BGS_func_8038E034(Actor *this) {
this->position_y += local->unk18*sp9C; this->position_y += local->unk18*sp9C;
local->unk18 -= 3000.0f*sp9C; local->unk18 -= 3000.0f*sp9C;
if(this->position_y < func_80309724(this->position)){ if(this->position_y < mapModel_getFloorY(this->position)){
this->position_y = func_80309724(this->position); this->position_y = mapModel_getFloorY(this->position);
func_8038D9D0(this, 10); func_8038D9D0(this, 10);
} }
} }

View File

@@ -79,7 +79,7 @@ void BGS_func_8038FB84(ActorMarker *this, ActorMarker *other_marker){
void func_8038FBF8(Actor *this){ void func_8038FBF8(Actor *this){
if(!this->initialized){ if(!this->initialized){
this->initialized = 1; this->initialized = TRUE;
this->marker->propPtr->unk8_3 = 1; this->marker->propPtr->unk8_3 = 1;
marker_setCollisionScripts(this->marker, NULL, NULL, BGS_func_8038FB84); marker_setCollisionScripts(this->marker, NULL, NULL, BGS_func_8038FB84);
} }

View File

@@ -89,7 +89,7 @@ void __chgrublinhood_die(ActorMarker* marker, s32 arg1) {
__chgrublinhood_emitHat(pCtrl, actor, ASSET_52D_MODEL_GRUBLIN_HOOD_HAT); __chgrublinhood_emitHat(pCtrl, actor, ASSET_52D_MODEL_GRUBLIN_HOOD_HAT);
__spawnQueue_add_4((GenFunction_4)func_802C4140, ACTOR_4C_STEAM, reinterpret_cast(s32,actor->position_x), reinterpret_cast(s32,actor->position_y), reinterpret_cast(s32,actor->position_z)); __spawnQueue_add_4((GenFunction_4)func_802C4140, ACTOR_4C_STEAM, reinterpret_cast(s32,actor->position_x), reinterpret_cast(s32,actor->position_y), reinterpret_cast(s32,actor->position_z));
actor_collisionOff(actor); actor_collisionOff(actor);
actor->unk138_24 = 1; actor->is_first_encounter = TRUE;
} }
Actor *chgrublinhood_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ Actor *chgrublinhood_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
@@ -109,7 +109,7 @@ Actor *chgrublinhood_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
func_8033A45C(11, (local->season < AUTUMN) ? 0 : (local->season == AUTUMN) ? 1 : 2); func_8033A45C(11, (local->season < AUTUMN) ? 0 : (local->season == AUTUMN) ? 1 : 2);
func_8033A45C(12, (local->season == WINTER) ? 2 : 1); func_8033A45C(12, (local->season == WINTER) ? 2 : 1);
func_8033A45C(13, (local->season == WINTER) ? 1 : 0); func_8033A45C(13, (local->season == WINTER) ? 1 : 0);
func_8033A45C(14, (this->unk138_24)? 0 : 1); func_8033A45C(14, (this->is_first_encounter)? FALSE : TRUE);
return actor_draw(marker, gfx, mtx, vtx); return actor_draw(marker, gfx, mtx, vtx);
} }

View File

@@ -137,7 +137,7 @@ void chGobiCCW_update(Actor *this) {
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
this->marker->actorFreeFunc = chGobiCCW_free; this->marker->actorFreeFunc = chGobiCCW_free;
this->unk138_24 = FALSE; this->is_first_encounter = FALSE;
local->unk4 = skeletalAnim_new(); local->unk4 = skeletalAnim_new();
local->spit_model = assetcache_get(ASSET_3F3_MODEL_GOBI_SPIT); local->spit_model = assetcache_get(ASSET_3F3_MODEL_GOBI_SPIT);
marker_setCollisionScripts(this->marker, 0, func_8038894C, 0); marker_setCollisionScripts(this->marker, 0, func_8038894C, 0);
@@ -159,13 +159,13 @@ void chGobiCCW_update(Actor *this) {
return; return;
} }
if(this->state == 1){ if(this->state == 1){
if (!this->unk138_24) { if (!this->is_first_encounter) {
player_getPosition(sp48); player_getPosition(sp48);
if (ml_distance_vec3f(this->position, sp48) < 600.0f) { if (ml_distance_vec3f(this->position, sp48) < 600.0f) {
if (local->unk0->unk2 != 0) { if (local->unk0->unk2 != 0) {
func_80311480((s32) local->unk0->unk2, 4, NULL, NULL, NULL, NULL); func_80311480((s32) local->unk0->unk2, 4, NULL, NULL, NULL, NULL);
} }
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
} }
} }
} }

View File

@@ -214,7 +214,7 @@ void CCW_func_80389BFC(Actor *this) {
if (!this->unk16C_4) { if (!this->unk16C_4) {
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
this->unk138_24 = FALSE; this->is_first_encounter = FALSE;
this->position[0] = -4900.0f; this->position[0] = -4900.0f;
this->position[1] = 4619.0f; this->position[1] = 4619.0f;
this->position[2] = 0.0f; this->position[2] = 0.0f;
@@ -253,12 +253,12 @@ void CCW_func_80389BFC(Actor *this) {
} }
if (this->state == 1) { if (this->state == 1) {
player_getPosition(sp4C); player_getPosition(sp4C);
if( !this->unk138_24 if( !this->is_first_encounter
&& (local->unkC[2] >= 6500) && (local->unkC[2] >= 6500)
&& (sp4C[2] < 6500.0f) && (sp4C[2] < 6500.0f)
&& (local->unk0->unk28 != 0) && (local->unk0->unk28 != 0)
){ ){
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timed_setStaticCameraToNode(0.0f, local->unk0->unk24); timed_setStaticCameraToNode(0.0f, local->unk0->unk24);
func_80324DBC(0.0f, local->unk0->unk28, 6, NULL, this->marker, func_80389700, NULL); func_80324DBC(0.0f, local->unk0->unk28, 6, NULL, this->marker, func_80389700, NULL);

View File

@@ -28,7 +28,7 @@ f32 func_8038A190(Actor *this, f32 *arg1) {
f32 temp_f0; f32 temp_f0;
f32 temp_f2; f32 temp_f2;
temp_f0 = func_80309724(arg1); temp_f0 = mapModel_getFloorY(arg1);
temp_f2 = this->position[1]; temp_f2 = this->position[1];
if (((temp_f2 + 50.0f) < temp_f0) || (temp_f0 < (temp_f2 - 50.0f))) { if (((temp_f2 + 50.0f) < temp_f0) || (temp_f0 < (temp_f2 - 50.0f))) {
return temp_f2; return temp_f2;

View File

@@ -61,7 +61,7 @@ void func_8038B19C(Actor *this) {
if (!this->unk16C_4) { if (!this->unk16C_4) {
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->unk138_24 = FALSE; this->is_first_encounter = FALSE;
func_8038B0F0(this, 1); func_8038B0F0(this, 1);
} }
@@ -88,8 +88,8 @@ void func_8038B19C(Actor *this) {
func_8038B0F0(this, 1); func_8038B0F0(this, 1);
} }
} }
if (!this->unk138_24 && func_803292E0(this)) { if (!this->is_first_encounter && func_803292E0(this)) {
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
func_80311480(0xCC8, 0, NULL, NULL, NULL, NULL); func_80311480(0xCC8, 0, NULL, NULL, NULL, NULL);
} }
func_8028E668(this->position, 300.0f, -50.0f, 120.0f); func_8028E668(this->position, 300.0f, -50.0f, 120.0f);

View File

@@ -87,11 +87,11 @@ void func_8038B814(Actor *this, s32 next_state) {
void func_8038B87C(Actor *this) { void func_8038B87C(Actor *this) {
if (!this->unk16C_4) { if (!this->unk16C_4) {
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->unk138_24 = FALSE; this->is_first_encounter = FALSE;
func_8038B814(this, 1); func_8038B814(this, 1);
} }
if (!this->unk138_24 && func_803292E0(this)) { if (!this->is_first_encounter && func_803292E0(this)) {
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
func_80311480(0xCC9, 0, NULL, NULL, NULL, NULL); func_80311480(0xCC9, 0, NULL, NULL, NULL, NULL);
} }
func_8028E668(this->position, 300.0f, -50.0f, 120.0f); func_8028E668(this->position, 300.0f, -50.0f, 120.0f);

View File

@@ -121,7 +121,7 @@ void chnabnut_update(Actor *this) {
D_8038F350[1] = this->position[1]; D_8038F350[1] = this->position[1];
D_8038F350[2] = this->position[2]; D_8038F350[2] = this->position[2];
if (this->state == 0) { if (this->state == 0) {
this->unk138_24 = FALSE; this->is_first_encounter = FALSE;
local->returned_acorn_count = NULL; local->returned_acorn_count = NULL;
} }
chnabnut_setState(this, 1); chnabnut_setState(this, 1);
@@ -133,15 +133,15 @@ void chnabnut_update(Actor *this) {
if (this->state == NABNUT_STATE_1_SAD) { if (this->state == NABNUT_STATE_1_SAD) {
player_getPosition(sp30); player_getPosition(sp30);
if (!this->unk138_24 && (ml_distance_vec3f(this->position, sp30) < 400.0f)) { if (!this->is_first_encounter && (ml_distance_vec3f(this->position, sp30) < 400.0f)) {
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
func_80311480(0xCCA, 0xE, this->position, NULL, NULL, NULL); func_80311480(0xCCA, 0xE, this->position, NULL, NULL, NULL);
} }
if (item_getCount(ITEM_23_ACORNS) > 0) { if (item_getCount(ITEM_23_ACORNS) > 0) {
func_80258A4C(this->position, this->yaw - 90.0f, sp30, &sp2C, &sp28, &sp24); func_80258A4C(this->position, this->yaw - 90.0f, sp30, &sp2C, &sp28, &sp24);
this->yaw += sp24 * 10.0f; this->yaw += sp24 * 10.0f;
} }
if (this->unk138_24 && !func_803114B0()) { if (this->is_first_encounter && !func_803114B0()) {
func_8028F364(this->position, 500.0f, 200.0f, ACTOR_2A9_ACORN, &this); func_8028F364(this->position, 500.0f, 200.0f, ACTOR_2A9_ACORN, &this);
if ((carriedObj_getActorId() == ACTOR_2A9_ACORN) && (ml_distance_vec3f(this->position, sp30) < 300.0f) && func_8028FC34()) { if ((carriedObj_getActorId() == ACTOR_2A9_ACORN) && (ml_distance_vec3f(this->position, sp30) < 300.0f) && func_8028FC34()) {
func_8028FA54(D_8038F350); func_8028FA54(D_8038F350);

View File

@@ -93,7 +93,7 @@ void func_8038C41C(Actor *this) {
if (!this->unk16C_4) { if (!this->unk16C_4) {
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->unk138_24 = FALSE; this->is_first_encounter = FALSE;
return; return;
} }
@@ -114,8 +114,8 @@ void func_8038C41C(Actor *this) {
if ((this->marker->id == 0x1CB) && (this->state == 2)) { if ((this->marker->id == 0x1CB) && (this->state == 2)) {
player_getPosition(sp2C); player_getPosition(sp2C);
if (!this->unk138_24 && (ml_distance_vec3f(this->position, sp2C) < 400.0f)) { if (!this->is_first_encounter && (ml_distance_vec3f(this->position, sp2C) < 400.0f)) {
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
func_80311480(0xCCD, 0, NULL, NULL, NULL, NULL); func_80311480(0xCCD, 0, NULL, NULL, NULL, NULL);
} }
} }

View File

@@ -45,8 +45,8 @@ void func_8038CA10(ActorMarker *marker) {
if (this->marker->unk14_21) { if (this->marker->unk14_21) {
if (0.65 < (f64) randf()) { if (0.65 < (f64) randf()) {
pCtrl = func_802EDD8C(local->unk4, 0.0f, this->position[1] + 500.0f); pCtrl = func_802EDD8C(local->unk4, 0.0f, this->position[1] + 500.0f);
func_802EFB70(pCtrl, 0.04f, 0.05f); particleEmitter_setStartingScaleRange(pCtrl, 0.04f, 0.05f);
func_802EFB84(pCtrl, 0.18f, 0.2f); particleEmitter_setFinalScaleRange(pCtrl, 0.18f, 0.2f);
particleEmitter_setParticleSpawnPositionRange(pCtrl, -10.0f, 0.0f, -10.0f, 10.0f, 20.0f, 10.0f); particleEmitter_setParticleSpawnPositionRange(pCtrl, -10.0f, 0.0f, -10.0f, 10.0f, 20.0f, 10.0f);
particleEmitter_setParticleVelocityRange(pCtrl, 0.0f, 31.0f, 0.0f, 0.0f, 37.0f, 0.0f); particleEmitter_setParticleVelocityRange(pCtrl, 0.0f, 31.0f, 0.0f, 0.0f, 37.0f, 0.0f);
particleEmitter_emitN(pCtrl, 1); particleEmitter_emitN(pCtrl, 1);
@@ -91,7 +91,7 @@ void func_8038CC4C(Actor *this) {
if (!this->unk16C_4) { if (!this->unk16C_4) {
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->unk138_24 = FALSE; this->is_first_encounter = FALSE;
local->unk0 = &D_8038F490[0]; local->unk0 = &D_8038F490[0];
while(local->unk0->map_id != 0 && map_get() != local->unk0->map_id){ while(local->unk0->map_id != 0 && map_get() != local->unk0->map_id){
local->unk0++; local->unk0++;
@@ -113,12 +113,12 @@ void func_8038CC4C(Actor *this) {
this->yaw += 30.0f * sp44; this->yaw += 30.0f * sp44;
} }
} }
if (!this->unk138_24) { if (!this->is_first_encounter) {
player_getPosition(sp38); player_getPosition(sp38);
if (ml_distance_vec3f(this->position, sp38) < 900.0f) { if (ml_distance_vec3f(this->position, sp38) < 900.0f) {
if (local->unk0->map_id != MAP_46_CCW_WINTER || func_8028F2FC()) { if (local->unk0->map_id != MAP_46_CCW_WINTER || func_8028F2FC()) {
func_80311480(local->unk0->unk4, 4, NULL, NULL, NULL, NULL); func_80311480(local->unk0->unk4, 4, NULL, NULL, NULL, NULL);
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
} }
} }
} }

View File

@@ -82,7 +82,7 @@ void func_8038CFB4(Actor *this) {
if (!this->unk16C_4) { if (!this->unk16C_4) {
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->unk138_24 = FALSE; this->is_first_encounter = FALSE;
func_8038CEB0(this, 1); func_8038CEB0(this, 1);
if (jiggyscore_isCollected(JIGGY_4B_CCW_GNAWTY) != 0) { if (jiggyscore_isCollected(JIGGY_4B_CCW_GNAWTY) != 0) {
levelSpecificFlags_set(0x25, 1); levelSpecificFlags_set(0x25, 1);
@@ -114,11 +114,11 @@ void func_8038CFB4(Actor *this) {
} }
if (this->state == 1) { if (this->state == 1) {
if (!this->unk138_24) { if (!this->is_first_encounter) {
player_getPosition(sp60); player_getPosition(sp60);
if (ml_distance_vec3f(this->position, sp60) < 900.0f) { if (ml_distance_vec3f(this->position, sp60) < 900.0f) {
func_80311480(0xCCF, 4, NULL, NULL, NULL, NULL); func_80311480(0xCCF, 4, NULL, NULL, NULL, NULL);
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
} }
} }
if (levelSpecificFlags_get(0x25) != 0) { if (levelSpecificFlags_get(0x25) != 0) {

View File

@@ -53,7 +53,7 @@ void func_8038D368(Actor *this) {
if (!this->unk16C_4) { if (!this->unk16C_4) {
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->unk138_24 = FALSE; this->is_first_encounter = FALSE;
local->unk0 = D_8038F600; local->unk0 = D_8038F600;
while (local->unk0->map != 0 && map_get() != local->unk0->map) { while (local->unk0->map != 0 && map_get() != local->unk0->map) {
local->unk0++; local->unk0++;
@@ -66,7 +66,7 @@ void func_8038D368(Actor *this) {
return; return;
} }
if(!this->unk138_24){ if(!this->is_first_encounter){
player_getPosition(plyr_pos); player_getPosition(plyr_pos);
if (ml_distance_vec3f(this->position, plyr_pos) < 600.0f) { if (ml_distance_vec3f(this->position, plyr_pos) < 600.0f) {
if (!jiggyscore_isCollected(JIGGY_4B_CCW_GNAWTY)) { if (!jiggyscore_isCollected(JIGGY_4B_CCW_GNAWTY)) {
@@ -76,7 +76,7 @@ void func_8038D368(Actor *this) {
func_80311480(local->unk0->unk4, 4, NULL, NULL, NULL, NULL); func_80311480(local->unk0->unk4, 4, NULL, NULL, NULL, NULL);
} }
} }
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
} }
} }

View File

@@ -30,8 +30,8 @@ void CCW_func_8038D510(Actor *this) {
particleEmitter_setFade(pCtrl, 0.01f, 0.5f); particleEmitter_setFade(pCtrl, 0.01f, 0.5f);
particleEmitter_setStartingFrameRange(pCtrl, 0, 7); particleEmitter_setStartingFrameRange(pCtrl, 0, 7);
particleEmitter_setPosition(pCtrl, this->position); particleEmitter_setPosition(pCtrl, this->position);
func_802EFB70(pCtrl, 1.0f, 2.0f); particleEmitter_setStartingScaleRange(pCtrl, 1.0f, 2.0f);
func_802EFB84(pCtrl, 3.0f, 4.0f); particleEmitter_setFinalScaleRange(pCtrl, 3.0f, 4.0f);
particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038F670); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038F670);
particleEmitter_setRGB(pCtrl, D_8038F664); particleEmitter_setRGB(pCtrl, D_8038F664);
particleEmitter_setParticleLifeTimeRange(pCtrl, 3.0f, 4.0f); particleEmitter_setParticleLifeTimeRange(pCtrl, 3.0f, 4.0f);
@@ -52,7 +52,7 @@ void func_8038D5DC(Actor *this) {
func_802EFA18(pCtrl, 3); func_802EFA18(pCtrl, 3);
particleEmitter_setModel(pCtrl, 0x896); particleEmitter_setModel(pCtrl, 0x896);
particleEmitter_setPosition(pCtrl, this->position); particleEmitter_setPosition(pCtrl, this->position);
func_802EFB70(pCtrl, 0.05f, 0.3f); particleEmitter_setStartingScaleRange(pCtrl, 0.05f, 0.3f);
particleEmitter_setAngularVelocityRange(pCtrl, particleEmitter_setAngularVelocityRange(pCtrl,
-600.0f, -600.0f, -600.0f, -600.0f, -600.0f, -600.0f,
600.0f, 600.0f, 600.0f 600.0f, 600.0f, 600.0f

View File

@@ -137,7 +137,7 @@ void func_8038794C(Actor *this){
switch(this->state){ switch(this->state){
case 1://L80387AB0 case 1://L80387AB0
if(mapSpecificFlags_get(0xb)) if(mapSpecificFlags_get(0xb))
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
if(mapSpecificFlags_get(0x1)){ if(mapSpecificFlags_get(0x1)){
func_8028F94C(1, this->position); func_8028F94C(1, this->position);
@@ -147,13 +147,13 @@ void func_8038794C(Actor *this){
break; break;
}//L80387B38 }//L80387B38
if(!this->unk138_24 && func_80329530(this, 0x1f4)){ if(!this->is_first_encounter && func_80329530(this, 0x1f4)){
if(!func_8028ECAC() || func_8028ECAC() == BSGROUP_8_TROT){ if(!func_8028ECAC() || func_8028ECAC() == BSGROUP_8_TROT){
if(func_80311480(0xbff, 0x2a, this->position, NULL, NULL, NULL)){ if(func_80311480(0xbff, 0x2a, this->position, NULL, NULL, NULL)){
for(i = 0; i <5; i++ ){ for(i = 0; i <5; i++ ){
timedFunc_set_1(D_80391BEC[i], (GenFunction_1)func_8038787C, (s32)this->marker); timedFunc_set_1(D_80391BEC[i], (GenFunction_1)func_8038787C, (s32)this->marker);
} }
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
} }
} }
} }

View File

@@ -390,7 +390,7 @@ void func_803895E0(void){
f20 = (f32)func_80304DA8(s0); f20 = (f32)func_80304DA8(s0);
f8 = (f32)func_80304DB8(s0); f8 = (f32)func_80304DB8(s0);
f22 = f8*0.01; f22 = f8*0.01;
actor = func_8032813C(D_80391DB8[i].actor_id, sp64, (s32)f20); actor = spawn_actor_f32(D_80391DB8[i].actor_id, sp64, (s32)f20);
actor->scale = f22; actor->scale = f22;
} }
} }

View File

@@ -69,7 +69,7 @@ void func_80390388(Actor *this){
|| jiggyscore_isCollected(JIGGY_2E_FP_PRESENTS) || jiggyscore_isCollected(JIGGY_2E_FP_PRESENTS)
|| func_80390334() || func_80390334()
){ ){
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
} }
if( func_80329530(this, 0xFA) if( func_80329530(this, 0xFA)
@@ -77,14 +77,14 @@ void func_80390388(Actor *this){
){ ){
if(0.0f == this->unk1C[0] && func_80390334()){ if(0.0f == this->unk1C[0] && func_80390334()){
if(func_80311480(0xc1f, 0xb, this->position, NULL, NULL, NULL)){ if(func_80311480(0xc1f, 0xb, this->position, NULL, NULL, NULL)){
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
this->unk1C[0] = 1.0f; this->unk1C[0] = 1.0f;
} }
} }
else{ else{
if( !this->unk138_24 ){ if( !this->is_first_encounter ){
if(func_80311480(0xc1e, 0x2b, this->position, NULL, NULL, NULL)){ if(func_80311480(0xc1e, 0x2b, this->position, NULL, NULL, NULL)){
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
} }
} }
} }

View File

@@ -141,7 +141,7 @@ void chScarfSled_update(Actor *this){
} }
this->velocity_x = this->position_x; this->velocity_x = this->position_x;
this->velocity_y = func_80309724(this->position); this->velocity_y = mapModel_getFloorY(this->position);
this->velocity_z = this->position_z; this->velocity_z = this->position_z;
if(this->state == 2){ if(this->state == 2){
__chScarfSled_func_80386630(this); __chScarfSled_func_80386630(this);

View File

@@ -71,7 +71,7 @@ Actor *func_8038C0B0(ActorMarker *marker, UNK_TYPE(s32) arg1, f32 arg2, UNK_TYPE
sp4C[2] = (f32)marker->propPtr->z; sp4C[2] = (f32)marker->propPtr->z;
sp40[0] = (f32)marker->pitch; sp40[0] = (f32)marker->pitch;
sp40[1] = this->unk60; sp40[1] = this->lifetime_value;
sp40[2] = (f32)marker->roll; sp40[2] = (f32)marker->roll;
sp3C = this->scale; sp3C = this->scale;
if(animMtxList_len(marker->unk20)){ if(animMtxList_len(marker->unk20)){
@@ -100,7 +100,7 @@ void func_8038C260(f32 position[3], s32 count, enum asset_e model_id){
400.0f, 400.0f, 400.0f, 400.0f, 400.0f, 400.0f,
800.0f, 800.0f, 800.0f 800.0f, 800.0f, 800.0f
); );
func_802EFB70(pCtrl, 0.1f, 0.2f); particleEmitter_setStartingScaleRange(pCtrl, 0.1f, 0.2f);
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.02f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.02f);
particleEmitter_setParticleLifeTimeRange(pCtrl, 1.5f, 1.5f); particleEmitter_setParticleLifeTimeRange(pCtrl, 1.5f, 1.5f);
particleEmitter_setFade(pCtrl, 0.0f, 0.3f); particleEmitter_setFade(pCtrl, 0.0f, 0.3f);
@@ -167,7 +167,7 @@ void func_8038C428(Actor *arg0, f32 arg1[3], f32 arg2)
sp5C[0] = arg0->position[0] + var_f22; sp5C[0] = arg0->position[0] + var_f22;
sp5C[1] = arg0->position[1]; sp5C[1] = arg0->position[1];
sp5C[2] = arg0->position[2] + var_f24; sp5C[2] = arg0->position[2] + var_f24;
temp_f14 = func_80309724(sp5C); temp_f14 = mapModel_getFloorY(sp5C);
if (sp7F) { if (sp7F) {
do { do {
sp78 += 1; sp78 += 1;
@@ -206,7 +206,7 @@ bool func_8038C718(Actor *this, f32 arg1){
animctrl_setAnimTimer(this->animctrl, tmp); animctrl_setAnimTimer(this->animctrl, tmp);
if(arg1 == 0.0f) if(arg1 == 0.0f)
arg1 = func_80309724(this->position); arg1 = mapModel_getFloorY(this->position);
if(this->position_y <= arg1){ if(this->position_y <= arg1){
this->position_y = arg1; this->position_y = arg1;
@@ -233,7 +233,7 @@ void func_8038C8F0(ActorMarker *marker){
this = marker_getActor(reinterpret_cast(ActorMarker *, marker)); this = marker_getActor(reinterpret_cast(ActorMarker *, marker));
other = marker_getActor(this->unk100); other = marker_getActor(this->unk100);
muncher = func_8032813C(ACTOR_337_TWINKLY_MUNCHER, D_80392070, 170); muncher = spawn_actor_f32(ACTOR_337_TWINKLY_MUNCHER, D_80392070, 170);
muncher->unk100 = other->marker; muncher->unk100 = other->marker;
muncher->unkF4_8 = 1; muncher->unkF4_8 = 1;
@@ -289,7 +289,7 @@ void func_8038C9A0(Actor *this){
if(!func_8038C718(this, 0)){ if(!func_8038C718(this, 0)){
subaddie_set_state_with_direction(this, 2, 0.001f, 1); subaddie_set_state_with_direction(this, 2, 0.001f, 1);
func_8038C428(this, D_80392088, randf2(20.0f, 24.0f)); func_8038C428(this, D_80392088, randf2(20.0f, 24.0f));
this->unk60 = this->yaw; this->lifetime_value = this->yaw;
} }
break; break;

View File

@@ -3,7 +3,7 @@
#include "variables.h" #include "variables.h"
extern void func_80324CD8(f32); extern void func_80324CD8(f32);
extern Actor *func_8032813C(enum actor_e, f32[3], s32); extern Actor *spawn_actor_f32(enum actor_e, f32[3], s32);
Actor *FP_func_8038CED0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *FP_func_8038CED0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void func_8038D6C8(Actor *this); void func_8038D6C8(Actor *this);
@@ -209,9 +209,9 @@ void func_8038D41C(ActorMarker *marker){
ActorMarker *_marker = reinterpret_cast(ActorMarker *, marker); ActorMarker *_marker = reinterpret_cast(ActorMarker *, marker);
Actor *actor; Actor *actor;
actor = func_8032813C(ACTOR_337_TWINKLY_MUNCHER, D_80392354, 170); actor = spawn_actor_f32(ACTOR_337_TWINKLY_MUNCHER, D_80392354, 170);
actor->unk100 = _marker; actor->unk100 = _marker;
actor = func_8032813C(ACTOR_337_TWINKLY_MUNCHER, D_80392360, 170); actor = spawn_actor_f32(ACTOR_337_TWINKLY_MUNCHER, D_80392360, 170);
actor->unk100 = _marker; actor->unk100 = _marker;
if(pad[0]); if(pad[0]);
} }
@@ -369,7 +369,7 @@ void func_8038D6C8(Actor *this){
this->unk38_31 = 0xA; this->unk38_31 = 0xA;
item_set(ITEM_24_TWINKLY_SCORE, this->unk38_31); item_set(ITEM_24_TWINKLY_SCORE, this->unk38_31);
__spawnQueue_add_1((GenFunction_1)func_8038D41C, (s32)this->marker); __spawnQueue_add_1((GenFunction_1)func_8038D41C, (s32)this->marker);
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
func_80347A14(0); func_80347A14(0);
func_802FAD64(ITEM_14_HEALTH); func_802FAD64(ITEM_14_HEALTH);
break; break;
@@ -407,12 +407,12 @@ void func_8038D6C8(Actor *this){
if(0.96 < animctrl_getAnimTimer(this->animctrl)){ if(0.96 < animctrl_getAnimTimer(this->animctrl)){
if(this->unk60 <= 0.0){ if(this->lifetime_value <= 0.0){
__spawnQueue_add_1((GenFunction_1)func_8038D474, (s32)this->marker); __spawnQueue_add_1((GenFunction_1)func_8038D474, (s32)this->marker);
this->unk60 = 2.9f; this->lifetime_value = 2.9f;
} }
else{ else{
this->unk60 -= sp24; this->lifetime_value -= sp24;
} }
item_set(ITEM_24_TWINKLY_SCORE, this->unk38_31); item_set(ITEM_24_TWINKLY_SCORE, this->unk38_31);
} }

View File

@@ -107,7 +107,7 @@ void func_8038E094(Actor *this){
marker_setCollisionScripts(this->marker, NULL, func_8038DEB8, NULL); marker_setCollisionScripts(this->marker, NULL, func_8038DEB8, NULL);
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
animctrl_setAnimTimer(this->animctrl, 0.99999f); animctrl_setAnimTimer(this->animctrl, 0.99999f);
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
if(this->unkF4_8 == 1){ if(this->unkF4_8 == 1){
func_8038DDC8(this); func_8038DDC8(this);
} }
@@ -148,18 +148,18 @@ void func_8038E094(Actor *this){
case 1: //L8038E2DC case 1: //L8038E2DC
this->marker->propPtr->unk8_3 = FALSE; this->marker->propPtr->unk8_3 = FALSE;
animctrl_setAnimTimer(this->animctrl, 0.99f); animctrl_setAnimTimer(this->animctrl, 0.99f);
if(this->unk60 < 5.0){ if(this->lifetime_value < 5.0){
this->unk60 += sp34; this->lifetime_value += sp34;
} }
else{ else{
if(10.0 <= this->unk60 || randf() < this->unk60/10.0){ if(10.0 <= this->lifetime_value || randf() < this->lifetime_value/10.0){
if(!func_8038DF34(this)){ if(!func_8038DF34(this)){
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
func_8038DDC8(this); func_8038DDC8(this);
break; break;
} }
} }
this->unk60 += sp34; this->lifetime_value += sp34;
} }
break; break;
@@ -216,7 +216,7 @@ void func_8038E094(Actor *this){
if(actor_animationIsAt(this, 0.97f)){ if(actor_animationIsAt(this, 0.97f)){
subaddie_set_state_with_direction(this, 1, 0.97f, 0); subaddie_set_state_with_direction(this, 1, 0.97f, 0);
actor_playAnimationOnce(this); actor_playAnimationOnce(this);
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
} }
break; break;

View File

@@ -299,10 +299,10 @@ void FP_func_8038F7AC(Actor *this){
break; break;
} }
if(func_80329530(this, 500) && !this->unk138_24){ if(func_80329530(this, 500) && !this->is_first_encounter){
if(func_80311480(0xc1c, 0xAA, this->position, this->marker, func_8038F330, func_8038F3C4)){ if(func_80311480(0xc1c, 0xAA, this->position, this->marker, func_8038F330, func_8038F3C4)){
timed_setStaticCameraToNode(0.0f, 0x2E); timed_setStaticCameraToNode(0.0f, 0x2E);
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
} }
break; break;
}//L8038FD40 }//L8038FD40

View File

@@ -124,18 +124,18 @@ void chXmasTree_update(Actor *this){
if(!mapSpecificFlags_get(2)) break; if(!mapSpecificFlags_get(2)) break;
subaddie_set_state(this, 3); subaddie_set_state(this, 3);
this->unk60 = 2.0f; this->lifetime_value = 2.0f;
func_8025A6EC(COMUSIC_61_XMAS_TREE_LIGHTS_UP, 28000); func_8025A6EC(COMUSIC_61_XMAS_TREE_LIGHTS_UP, 28000);
func_802BAFE4(0x1A); func_802BAFE4(0x1A);
func_80311480(0xC14, 0, NULL, NULL, NULL, NULL); func_80311480(0xC14, 0, NULL, NULL, NULL, NULL);
break; break;
case 3: // L803872F0 case 3: // L803872F0
if(0.0 <= this->unk60){ if(0.0 <= this->lifetime_value){
if( 1.8 < this->unk60){ if( 1.8 < this->lifetime_value){
__chXmasTree_80386EF4(this, 0); __chXmasTree_80386EF4(this, 0);
} }
else if(this->unk60 < 0.2){//L80387340 else if(this->lifetime_value < 0.2){//L80387340
__chXmasTree_80386EF4(this, 1); __chXmasTree_80386EF4(this, 1);
} }
else{ else{
@@ -144,7 +144,7 @@ void chXmasTree_update(Actor *this){
__chXmasTree_8038709C(this); __chXmasTree_8038709C(this);
} }
}//L803873AC }//L803873AC
this->unk60 -= sp2C; this->lifetime_value -= sp2C;
} }
else{//L803873BC else{//L803873BC
if(func_802BB270()){ if(func_802BB270()){
@@ -174,12 +174,12 @@ void chXmasTree_update(Actor *this){
if(item_empty(ITEM_6_HOURGLASS)){ if(item_empty(ITEM_6_HOURGLASS)){
subaddie_set_state(this, 5); subaddie_set_state(this, 5);
mapSpecificFlags_set(2, FALSE); mapSpecificFlags_set(2, FALSE);
this->unk60 = 0.1f; this->lifetime_value = 0.1f;
if(!func_8038BFA0()){ if(!func_8038BFA0()){
if(!mapSpecificFlags_get(9) || mapSpecificFlags_get(1)){ if(!mapSpecificFlags_get(9) || mapSpecificFlags_get(1)){
func_8025A6EC(COMUSIC_3C_MINIGAME_LOSS, 28000); func_8025A6EC(COMUSIC_3C_MINIGAME_LOSS, 28000);
func_802BAFE4(0x1a); func_802BAFE4(0x1a);
this->unk60 = 2.0f; this->lifetime_value = 2.0f;
} }
} }
} }
@@ -187,11 +187,11 @@ void chXmasTree_update(Actor *this){
break; break;
case 5: // L803874EC case 5: // L803874EC
if(0.0 <= this->unk60){ if(0.0 <= this->lifetime_value){
if( 1.8 < this->unk60){ if( 1.8 < this->lifetime_value){
__chXmasTree_80386EF4(this, 1); __chXmasTree_80386EF4(this, 1);
} }
else if(this->unk60 < 0.2){ else if(this->lifetime_value < 0.2){
__chXmasTree_80386EF4(this, 0); __chXmasTree_80386EF4(this, 0);
} }
else{ else{
@@ -200,7 +200,7 @@ void chXmasTree_update(Actor *this){
__chXmasTree_8038709C(this); __chXmasTree_8038709C(this);
} }
} }
this->unk60 -= sp2C; this->lifetime_value -= sp2C;
} }
else{ else{
__chXmasTree_80386F84(this); __chXmasTree_80386F84(this);

View File

@@ -38,9 +38,9 @@ void func_8038EC34(ActorMarker *this_marker, ActorMarker *other_marker){
} }
void func_8038EC5C(Actor *this){ void func_8038EC5C(Actor *this){
if(0.0f == this->unk60){ if(0.0f == this->lifetime_value){
this->unk38_31++; this->unk38_31++;
this->unk60 = 0.33f; this->lifetime_value = 0.33f;
if(this->unk38_31 < 4){ if(this->unk38_31 < 4){
func_8025A6EC(COMUSIC_2B_DING_B, 28000); func_8025A6EC(COMUSIC_2B_DING_B, 28000);
} }
@@ -91,11 +91,11 @@ void func_8038ECD8(Actor *this){
local->unk1A = TRUE; local->unk1A = TRUE;
}//L8038EE98 }//L8038EE98
if(0.0f != this->unk60){ if(0.0f != this->lifetime_value){
if(time_getDelta() < this->unk60){ if(time_getDelta() < this->lifetime_value){
this->unk60 -= time_getDelta(); this->lifetime_value -= time_getDelta();
}else{ }else{
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
} }
}//L8038EEF0 }//L8038EEF0
switch(this->state){ switch(this->state){

View File

@@ -81,7 +81,7 @@ void func_8038E940(Actor *this){
marker_setCollisionScripts(this->marker, NULL, func_8038E7CC, NULL); marker_setCollisionScripts(this->marker, NULL, func_8038E7CC, NULL);
subaddie_set_state_with_direction(this, 1, 0.05f, 1); subaddie_set_state_with_direction(this, 1, 0.05f, 1);
this->unk38_31 = 0; this->unk38_31 = 0;
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
}//L8038EA3C }//L8038EA3C
this->unk58_0 = (this->state == 1) ? FALSE : TRUE; this->unk58_0 = (this->state == 1) ? FALSE : TRUE;
@@ -102,16 +102,16 @@ void func_8038E940(Actor *this){
actor_playAnimationOnce(this); actor_playAnimationOnce(this);
FUNC_8030E624(SFX_416, 0.8f, 32000); FUNC_8030E624(SFX_416, 0.8f, 32000);
this->marker->collidable = FALSE; this->marker->collidable = FALSE;
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
break; break;
case 3: //L8038EB44 case 3: //L8038EB44
if(this->unk60 == 0.0f && actor_animationIsAt(this, 0.95f)){ if(this->lifetime_value == 0.0f && actor_animationIsAt(this, 0.95f)){
this->unk60 = 1.0f; this->lifetime_value = 1.0f;
mapSpecificFlags_set(2, TRUE); mapSpecificFlags_set(2, TRUE);
break; break;
} }
if(this->unk60 != 0.0f && !mapSpecificFlags_get(2)){ if(this->lifetime_value != 0.0f && !mapSpecificFlags_get(2)){
func_8038E774(this); func_8038E774(this);
} }
break; break;

View File

@@ -90,8 +90,8 @@ void func_8038AC90(s32 indx, s32 arg1){
Actor *a1; Actor *a1;
Actor *a2; Actor *a2;
m1 = func_8032813C(0x161, D_80392F70[indx].position, 0)->marker; m1 = spawn_actor_f32(0x161, D_80392F70[indx].position, 0)->marker;
m2 = func_8032813C(0x162, D_80393280[indx].position, 0)->marker; m2 = spawn_actor_f32(0x162, D_80393280[indx].position, 0)->marker;
a1 = marker_getActor(m1); a1 = marker_getActor(m1);
a2 = marker_getActor(m2); a2 = marker_getActor(m2);
@@ -143,23 +143,23 @@ void func_8038AEE0(s32 indx){
Actor *sp1C; Actor *sp1C;
switch(indx){ switch(indx){
case 0:// L8038AF0C case 0:// L8038AF0C
sp1C = func_8032813C(0x22d, D_80391ED0, D_80391EDC); sp1C = spawn_actor_f32(0x22d, D_80391ED0, D_80391EDC);
break; break;
case 1:// L8038AF38 case 1:// L8038AF38
sp1C = func_8032813C(0x22e, D_80391EE0, D_80391EEC); sp1C = spawn_actor_f32(0x22e, D_80391EE0, D_80391EEC);
break; break;
case 2:// L8038AF64 case 2:// L8038AF64
sp1C = func_8032813C(0x22d, D_80391EF0, FP_D_80391EFC); sp1C = spawn_actor_f32(0x22d, D_80391EF0, FP_D_80391EFC);
break; break;
case 3:// L8038AF90 case 3:// L8038AF90
sp1C = func_8032813C(0x22d, D_80391F00, D_80391F0C); sp1C = spawn_actor_f32(0x22d, D_80391F00, D_80391F0C);
break; break;
case 4:// L8038AFBC case 4:// L8038AFBC
sp1C = func_8032813C(0x22d, D_80391F10, D_80391F1C); sp1C = spawn_actor_f32(0x22d, D_80391F10, D_80391F1C);
break; break;
} }
D_80393590[indx] = sp1C->marker; D_80393590[indx] = sp1C->marker;
@@ -191,7 +191,7 @@ void FP_func_8038B0B8(void){
} }
void func_8038B0F8(void){ void func_8038B0F8(void){
Actor *trainers = func_8032813C(ACTOR_2C_TURBO_TALON_TRAINERS, D_80391F20, 100); Actor *trainers = spawn_actor_f32(ACTOR_2C_TURBO_TALON_TRAINERS, D_80391F20, 100);
trainers->unk10_1 = FALSE; trainers->unk10_1 = FALSE;
} }

View File

@@ -176,13 +176,13 @@ void chGobi1_update(Actor *this){
} }
if(this->state == 1 || this->state == 2){ if(this->state == 1 || this->state == 2){
if( !this->unk138_24 if( !this->is_first_encounter
&& func_80329530(this, 250) && func_80329530(this, 250)
&& !func_80329530(this, 80) && !func_80329530(this, 80)
&& func_8028F2A0() && func_8028F2A0()
&& func_80311480(0xa73, 0, NULL, NULL, NULL, NULL) && func_80311480(0xa73, 0, NULL, NULL, NULL, NULL)
){ ){
this->unk138_24 = 1; this->is_first_encounter = TRUE;
} }
}//L803877A4 }//L803877A4

View File

@@ -200,11 +200,11 @@ void chGobi2_update(Actor *this){
}//L80388114 }//L80388114
if(this->state == 2){ if(this->state == 2){
if(!this->unk138_24){ if(!this->is_first_encounter){
if(func_80329530(this, 0xFA) && !func_80329530(this, 0x50)){ if(func_80329530(this, 0xFA) && !func_80329530(this, 0x50)){
if(func_8028F2A0()){ if(func_8028F2A0()){
if(func_80311480(ASSET_A75_TEXT_GOBI2_MEET, 0, this->position, NULL, NULL, NULL)) if(func_80311480(ASSET_A75_TEXT_GOBI2_MEET, 0, this->position, NULL, NULL, NULL))
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
} }
} }
} }

View File

@@ -119,15 +119,15 @@ void func_8038DBDC(Actor *this){
this->unk1C[0] = 0.0f; this->unk1C[0] = 0.0f;
}//L8038DC90 }//L8038DC90
if(func_8038E178() != (s32)this->unk1C[0] || volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)){ if(func_8038E178() != (s32)this->unk1C[0] || volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE)){
if(15.0f <= this->unk60){ if(15.0f <= this->lifetime_value){
subaddie_set_state_with_direction(this, 2, 0.01f, 1); subaddie_set_state_with_direction(this, 2, 0.01f, 1);
animctrl_setPlaybackType(this->animctrl, ANIMCTRL_ONCE); animctrl_setPlaybackType(this->animctrl, ANIMCTRL_ONCE);
animctrl_setDuration(this->animctrl, 2.0f); animctrl_setDuration(this->animctrl, 2.0f);
this->unk1C[0] = (f32)func_8038E178(); this->unk1C[0] = (f32)func_8038E178();
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
} }
else{//L8038DD2C else{//L8038DD2C
this->unk60 += 1.0f; this->lifetime_value += 1.0f;
} }
} }
break; break;

View File

@@ -69,13 +69,13 @@ void chTrucker_update(Actor *this){
} }
}//L803891D8 }//L803891D8
if( this->state == 1 if( this->state == 1
&& !this->unk138_24 && !this->is_first_encounter
&& func_80329530(this, 250) && func_80329530(this, 250)
&& !func_80329530(this, 80) && !func_80329530(this, 80)
&& func_8028F2A0() && func_8028F2A0()
){ ){
func_80311480(ASSET_A71_TEXT_TRUNKER_MEET, 0xe, this->position, NULL, NULL, NULL); func_80311480(ASSET_A71_TEXT_TRUNKER_MEET, 0xe, this->position, NULL, NULL, NULL);
this->unk138_24 = 1; this->is_first_encounter = TRUE;
}//L80389254 }//L80389254
if(this->state == 1 && mapSpecificFlags_get(0xC)){ if(this->state == 1 && mapSpecificFlags_get(0xC)){

View File

@@ -30,7 +30,7 @@ void func_80389A20(ActorMarker *caller, enum asset_e text_id, s32 arg2){
void func_80389A60(Actor *this){ void func_80389A60(Actor *this){
func_80311480(ASSET_A70_TEXT_CHARMER_HELPED, 4, NULL, this->marker, func_80389A20, NULL); func_80311480(ASSET_A70_TEXT_CHARMER_HELPED, 4, NULL, this->marker, func_80389A20, NULL);
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
subaddie_set_state(this, 5); subaddie_set_state(this, 5);
} }
@@ -47,8 +47,8 @@ void func_80389ABC(Actor *this){
void func_80389B1C(Actor *this){ void func_80389B1C(Actor *this){
if(!this->unk16C_4){ if(!this->unk16C_4){
this->unk60 = (f32) func_8038E184(); this->lifetime_value = (f32) func_8038E184();
this->unk138_24 = jiggyscore_isCollected(JIGGY_43_GV_HISTUP) || mapSpecificFlags_get(0); this->is_first_encounter = jiggyscore_isCollected(JIGGY_43_GV_HISTUP) || mapSpecificFlags_get(0);
this->unk138_23 = jiggyscore_isCollected(JIGGY_43_GV_HISTUP) || mapSpecificFlags_get(2); this->unk138_23 = jiggyscore_isCollected(JIGGY_43_GV_HISTUP) || mapSpecificFlags_get(2);
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
} }
@@ -62,16 +62,16 @@ void func_80389B1C(Actor *this){
animctrl_setTransitionDuration(this->animctrl, 0.15f); animctrl_setTransitionDuration(this->animctrl, 0.15f);
if(this->state == 1 || this->state == 2){ if(this->state == 1 || this->state == 2){
if(! this->unk138_24 && func_80329530(this, 250) && !func_80329530(this, 0x50)){ if(! this->is_first_encounter && func_80329530(this, 250) && !func_80329530(this, 0x50)){
func_80311480(ASSET_A6F_TEXT_CHARMER_MEET, 0xe, this->position, NULL, NULL, NULL); func_80311480(ASSET_A6F_TEXT_CHARMER_MEET, 0xe, this->position, NULL, NULL, NULL);
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
mapSpecificFlags_set(0, TRUE); mapSpecificFlags_set(0, TRUE);
} }
} }
switch(this->state){ switch(this->state){
case 1://L80389CC4 case 1://L80389CC4
if(this->unk60 <= (f32)func_8038E178()){ if(this->lifetime_value <= (f32)func_8038E178()){
func_80389ABC(this); func_80389ABC(this);
} }
else if(actor_animationIsAt(this, 0.99f)){ else if(actor_animationIsAt(this, 0.99f)){
@@ -92,7 +92,7 @@ void func_80389B1C(Actor *this){
break; break;
case 2: //L80389DB0 case 2: //L80389DB0
if(this->unk60 <= (f32)func_8038E178()){ if(this->lifetime_value <= (f32)func_8038E178()){
func_80389ABC(this); func_80389ABC(this);
} }
else if(actor_animationIsAt(this, 0.99f)){ else if(actor_animationIsAt(this, 0.99f)){

View File

@@ -2,7 +2,7 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
extern f32 func_80309724(f32[3]); extern f32 mapModel_getFloorY(f32[3]);
void func_80329904(ActorMarker *, s32, void *); void func_80329904(ActorMarker *, s32, void *);
void func_8038A314(Actor *this); void func_8038A314(Actor *this);
@@ -143,7 +143,7 @@ void func_8038A31C(Actor *this){
this->pitch = 0.0f; this->pitch = 0.0f;
if(this->unk100 && sp24 && this->unk100->id == MARKER_AF_MAGIC_CARPET_SHADOW){ if(this->unk100 && sp24 && this->unk100->id == MARKER_AF_MAGIC_CARPET_SHADOW){
sp24->position_x = this->position_x; sp24->position_x = this->position_x;
sp24->position_y = func_80309724(this->position) + 60.0f; sp24->position_y = mapModel_getFloorY(this->position) + 60.0f;
sp24->position_z = this->position_z; sp24->position_z = this->position_z;
sp24->unk1C[0] = func_8038A264(sp24, this); sp24->unk1C[0] = func_8038A264(sp24, this);
sp24->yaw = this->yaw; sp24->yaw = this->yaw;

View File

@@ -2,7 +2,7 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
extern f32 func_80309724(f32[3]); extern f32 mapModel_getFloorY(f32[3]);
void func_80329904(ActorMarker *, s32, void *); void func_80329904(ActorMarker *, s32, void *);
@@ -57,7 +57,7 @@ void func_8038A8CC(ActorMarker *this_marker){
s32 pad; s32 pad;
this->unk100 = shadow->marker; this->unk100 = shadow->marker;
shadow->position_y = func_80309724(this->position); shadow->position_y = mapModel_getFloorY(this->position);
shadow->unk1C[0] = func_8038A860(shadow, this); shadow->unk1C[0] = func_8038A860(shadow, this);
shadow->yaw = this->yaw; shadow->yaw = this->yaw;
func_8032AA58(shadow, this->scale); func_8032AA58(shadow, this->scale);

View File

@@ -61,8 +61,8 @@ void func_8038ABD8(f32 position[3], s32 cnt){
-100.0f, 10.0f, -100.0f, -100.0f, 10.0f, -100.0f,
100.0f, 60.0f, 100.0f 100.0f, 60.0f, 100.0f
); );
func_802EFB70(pCtrl, 0.1f, 0.5f); particleEmitter_setStartingScaleRange(pCtrl, 0.1f, 0.5f);
func_802EFB84(pCtrl, 1.2f, 2.6f); particleEmitter_setFinalScaleRange(pCtrl, 1.2f, 2.6f);
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f);
particleEmitter_setParticleLifeTimeRange(pCtrl, 0.5f, 1.4f); particleEmitter_setParticleLifeTimeRange(pCtrl, 0.5f, 1.4f);
particleEmitter_emitN(pCtrl, cnt); particleEmitter_emitN(pCtrl, cnt);
@@ -79,8 +79,8 @@ void func_8038ACEC(f32 pos[3], s32 cnt){
-200.0f, 20.0f, -200.0f, -200.0f, 20.0f, -200.0f,
300.0f, 120.0f, 200.0f 300.0f, 120.0f, 200.0f
); );
func_802EFB70(pCtrl, 1.0f, 2.6f); particleEmitter_setStartingScaleRange(pCtrl, 1.0f, 2.6f);
func_802EFB84(pCtrl, 3.0f, 5.5f); particleEmitter_setFinalScaleRange(pCtrl, 3.0f, 5.5f);
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f);
particleEmitter_setParticleLifeTimeRange(pCtrl, 1.2f, 3.2f); particleEmitter_setParticleLifeTimeRange(pCtrl, 1.2f, 3.2f);
particleEmitter_emitN(pCtrl, cnt); particleEmitter_emitN(pCtrl, cnt);
@@ -94,7 +94,7 @@ void func_8038ADFC(f32 pos[3], s32 cnt){
particleEmitter_setAngularVelocityRange(pCtrl, -500.0f, -500.0f, -500.0f, 500.0f, 500.0f, 500.0f); particleEmitter_setAngularVelocityRange(pCtrl, -500.0f, -500.0f, -500.0f, 500.0f, 500.0f, 500.0f);
func_802EF9F8(pCtrl, 0.6f); func_802EF9F8(pCtrl, 0.6f);
func_802EFA18(pCtrl, 2); func_802EFA18(pCtrl, 2);
func_802EFB70(pCtrl, 1.0f, 1.0f); particleEmitter_setStartingScaleRange(pCtrl, 1.0f, 1.0f);
particleEmitter_setDrawMode(pCtrl, 2); particleEmitter_setDrawMode(pCtrl, 2);
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f);
particleEmitter_setParticleLifeTimeRange(pCtrl, 4.0f, 6.0f); particleEmitter_setParticleLifeTimeRange(pCtrl, 4.0f, 6.0f);
@@ -271,19 +271,19 @@ void func_8038B124(Actor *this){
if(0.98 < animctrl_getAnimTimer(this->animctrl)){ if(0.98 < animctrl_getAnimTimer(this->animctrl)){
subaddie_set_state_with_direction(this, 6, 0.99f, 0); subaddie_set_state_with_direction(this, 6, 0.99f, 0);
actor_playAnimationOnce(this); actor_playAnimationOnce(this);
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
this->unk1C[0] = 1.0f; this->unk1C[0] = 1.0f;
} }
break; break;
case 6: //L8038B78C case 6: //L8038B78C
if(75.0f <= this->unk60){ if(75.0f <= this->lifetime_value){
subaddie_set_state_with_direction(this, 7, 0.00001f, 1); subaddie_set_state_with_direction(this, 7, 0.00001f, 1);
actor_playAnimationOnce(this); actor_playAnimationOnce(this);
this->unk1C[0] = 1.0f; this->unk1C[0] = 1.0f;
} }
else{ else{
this->unk60 += 1.0f; this->lifetime_value += 1.0f;
} }
break; break;

View File

@@ -130,8 +130,8 @@ void func_8038BC7C(f32 position[3], s32 cnt){
-250.0f, 10.0f, -250.0f, -250.0f, 10.0f, -250.0f,
250.0f, 110.0f, 250.0f 250.0f, 110.0f, 250.0f
); );
func_802EFB70(pCtrl, 0.1f, 0.5f); particleEmitter_setStartingScaleRange(pCtrl, 0.1f, 0.5f);
func_802EFB84(pCtrl, 2.0f, 2.6f); particleEmitter_setFinalScaleRange(pCtrl, 2.0f, 2.6f);
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f);
particleEmitter_setParticleLifeTimeRange(pCtrl, 0.5f, 1.4f); particleEmitter_setParticleLifeTimeRange(pCtrl, 0.5f, 1.4f);
particleEmitter_emitN(pCtrl, cnt); particleEmitter_emitN(pCtrl, cnt);
@@ -148,8 +148,8 @@ void func_8038BD8C(f32 position[3], s32 cnt){
-100.0f, 20.0f, -100.0f, -100.0f, 20.0f, -100.0f,
100.0f, 60.0f, 100.0f 100.0f, 60.0f, 100.0f
); );
func_802EFB70(pCtrl, 0.1f, 0.5f); particleEmitter_setStartingScaleRange(pCtrl, 0.1f, 0.5f);
func_802EFB84(pCtrl, 1.2, 1.6f); particleEmitter_setFinalScaleRange(pCtrl, 1.2, 1.6f);
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f);
particleEmitter_setParticleLifeTimeRange(pCtrl, 0.5f, 1.4f); particleEmitter_setParticleLifeTimeRange(pCtrl, 0.5f, 1.4f);
particleEmitter_emitN(pCtrl, cnt); particleEmitter_emitN(pCtrl, cnt);
@@ -244,9 +244,9 @@ void GV_func_8038BEA0(Actor *this){
} }
} }
else{ else{
if(!this->unk138_24){ if(!this->is_first_encounter){
if(func_80311480(ASSET_A78_TEXT_GRABBA_MEET, 0, NULL, NULL, NULL, NULL)){ if(func_80311480(ASSET_A78_TEXT_GRABBA_MEET, 0, NULL, NULL, NULL, NULL)){
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
} }
} }
} }

View File

@@ -35,7 +35,7 @@ void _chchimpystump_80386CA0(Actor *this){
void chchimpystump_update(Actor *this){ void chchimpystump_update(Actor *this){
if(!this->initialized){ if(!this->initialized){
actor_collisionOff(this); actor_collisionOff(this);
this->initialized = 1; this->initialized = TRUE;
this->unk28 = this->position_y; this->unk28 = this->position_y;
this->position_y -= 134.0f; this->position_y -= 134.0f;
this->marker->propPtr->unk8_3 = 1; this->marker->propPtr->unk8_3 = 1;

View File

@@ -222,12 +222,12 @@ void func_803876D0(Actor *this){
if(!this->initialized){ if(!this->initialized){
((ActorLocal_Conga *)&this->local)->unkC = 1; ((ActorLocal_Conga *)&this->local)->unkC = 1;
this->unk16C_0 = 1; this->unk16C_0 = 1;
this->initialized = 1; this->initialized = TRUE;
this->velocity_x = 0.0f; this->velocity_x = 0.0f;
this->unk28 = 0.0f; this->unk28 = 0.0f;
node_prop = func_80304C38(0x150, this); node_prop = func_80304C38(0x150, this);
((ActorLocal_Conga *)&this->local)->unk1C = nodeprop_getRadius(node_prop); ((ActorLocal_Conga *)&this->local)->unk1C = nodeprop_getRadius(node_prop);
func_80304D4C(node_prop, &((ActorLocal_Conga *)&this->local)->unk10); nodeprop_getPosition_s32(node_prop, &((ActorLocal_Conga *)&this->local)->unk10);
} }
if(0.0f == this->unk28){ if(0.0f == this->unk28){
this->unk28 = (actorArray_findActorFromMarkerId(MARKER_36_ORANGE_COLLECTIBLE) != NULL)? 2.0f: 1.0f; this->unk28 = (actorArray_findActorFromMarkerId(MARKER_36_ORANGE_COLLECTIBLE) != NULL)? 2.0f: 1.0f;
@@ -259,9 +259,9 @@ void func_803876D0(Actor *this){
mapSpecificFlags_set(0xA, 1); mapSpecificFlags_set(0xA, 1);
}//L803878F8 }//L803878F8
if( sp3C && !this->unk138_24){ if( sp3C && !this->is_first_encounter){
if(func_80311480((player_getTransformation()== TRANSFORM_2_TERMITE) ? ASSET_B3E_TEXT_CONGA_MEET_AS_TERMITE : ASSET_B3C_TEXT_CONGA_MEET, 0, this->position, 0,0,0)){ if(func_80311480((player_getTransformation()== TRANSFORM_2_TERMITE) ? ASSET_B3E_TEXT_CONGA_MEET_AS_TERMITE : ASSET_B3C_TEXT_CONGA_MEET, 0, this->position, 0,0,0)){
this->unk138_24 = 1; this->is_first_encounter = TRUE;
} }
} //L80387968 } //L80387968

View File

@@ -58,8 +58,8 @@ void func_803869EC(ActorMarker *this){
f32 *pos; f32 *pos;
actorPtr = marker_getActor(this); actorPtr = marker_getActor(this);
actorPtr = func_8032813C(0x4B, actorPtr->position, 0); actorPtr = spawn_actor_f32(0x4B, actorPtr->position, 0);
func_8032813C(ACTOR_4D_STEAM_2, actorPtr->position, 0); spawn_actor_f32(ACTOR_4D_STEAM_2, actorPtr->position, 0);
if(this); if(this);
} }
@@ -74,7 +74,7 @@ void chhut_update(Actor *this){
if(!this->initialized){ if(!this->initialized){
this->marker->collidable = 0; this->marker->collidable = 0;
this->initialized = 1; this->initialized = TRUE;
} }
switch(this->state){ switch(this->state){
case HUT_STATE_INTACT: case HUT_STATE_INTACT:

View File

@@ -70,7 +70,7 @@ void func_803890A0(ActorMarker *marker, s32 arg1){
position[1] = actorPtr->position_y; position[1] = actorPtr->position_y;
position[2] = actorPtr->position_z; position[2] = actorPtr->position_z;
for(i = 0; i < 4; i++){ for(i = 0; i < 4; i++){
jujuPtr = func_8032813C(ACTOR_59_JUJU, actorPtr->position, actorPtr->yaw); jujuPtr = spawn_actor_f32(ACTOR_59_JUJU, actorPtr->position, actorPtr->yaw);
jujuPtr->marker->collidable = 0; jujuPtr->marker->collidable = 0;
actorPtr = marker_getActor(marker); actorPtr = marker_getActor(marker);
func_80388DE8(actorPtr, i, jujuPtr); func_80388DE8(actorPtr, i, jujuPtr);

View File

@@ -120,8 +120,8 @@ void func_80388E20(Actor *this){
jujuCtlPtr = (ActorLocal_JujuHitbox *)&this->local; jujuCtlPtr = (ActorLocal_JujuHitbox *)&this->local;
if(!this->initialized){ if(!this->initialized){
this->initialized = 1; this->initialized = TRUE;
this->unk138_24 = 0; this->is_first_encounter = FALSE;
jujuCtlPtr->unk18 = 0.5f; jujuCtlPtr->unk18 = 0.5f;
} }
if(!this->unk16C_4){ if(!this->unk16C_4){
@@ -133,9 +133,9 @@ void func_80388E20(Actor *this){
&& !func_80329530(this, 0x50) && !func_80329530(this, 0x50)
&& !func_8028ECAC() && !func_8028ECAC()
){ ){
if( !this->unk138_24 ){ if( !this->is_first_encounter ){
if(func_80311480(ASSET_B44_TEXT_JUJU_MEET, 0, 0, 0, NULL, NULL)){ if(func_80311480(ASSET_B44_TEXT_JUJU_MEET, 0, 0, 0, NULL, NULL)){
this->unk138_24 = 1; this->is_first_encounter = TRUE;
} }
} }
} }

View File

@@ -37,7 +37,7 @@ void func_80388300(Actor **arg0){
&& func_8028FC34() && func_8028FC34()
){ ){
func_8028FA34(0xc6, *arg0); func_8028FA34(0xc6, *arg0);
(*arg0)->unk138_24 = 1; (*arg0)->is_first_encounter = TRUE;
timed_setStaticCameraToNode(1.2f, 0xF); timed_setStaticCameraToNode(1.2f, 0xF);
func_80324E38(1.2f, 3); func_80324E38(1.2f, 3);
} }
@@ -101,10 +101,10 @@ void chLMonkey_update(Actor *this){
if( func_80329530(this, 345) if( func_80329530(this, 345)
&& !func_80329530(this, 150) && !func_80329530(this, 150)
&& !item_getCount(ITEM_19_ORANGE) && !item_getCount(ITEM_19_ORANGE)
&& !this->unk138_24 && !this->is_first_encounter
){ ){
func_80311480(ASSET_B3F_DIALOG_CHIMPY_MEET, 0xe, this->position, NULL, NULL, NULL); func_80311480(ASSET_B3F_DIALOG_CHIMPY_MEET, 0xe, this->position, NULL, NULL, NULL);
this->unk138_24 = 1; this->is_first_encounter = TRUE;
}//L80388774 }//L80388774
actor_loopAnimation(this); actor_loopAnimation(this);
subaddie_maybe_set_state_position_direction(this, 2, 0.0f, -1, 0.02f); subaddie_maybe_set_state_position_direction(this, 2, 0.0f, -1, 0.02f);

View File

@@ -16,7 +16,7 @@
#endif #endif
/* extern functions */ /* extern functions */
f32 func_80309724(f32*); f32 mapModel_getFloorY(f32*);
/* public functions */ /* public functions */
void MM_func_80387FF4(Actor *this); void MM_func_80387FF4(Actor *this);
@@ -59,7 +59,7 @@ void MM_func_80387FF4(Actor * this){
this->position_y += velocity_y; this->position_y += velocity_y;
this->position_z += this->velocity_z; this->position_z += this->velocity_z;
ground_position_y = func_80309724(this->position); ground_position_y = mapModel_getFloorY(this->position);
if(this->position_y < ground_position_y){ if(this->position_y < ground_position_y){
this->position_y = ground_position_y; this->position_y = ground_position_y;
@@ -67,16 +67,16 @@ void MM_func_80387FF4(Actor * this){
func_8030E6D4(SFX_2F_ORANGE_SPLAT); func_8030E6D4(SFX_2F_ORANGE_SPLAT);
this->unk28 = 1.0f; this->unk28 = 1.0f;
this->unk60 = 340.0f; this->lifetime_value = 340.0f;
this->state = 2; this->state = 2;
} }
break; break;
case ORANGE_LANDED_STATE: case ORANGE_LANDED_STATE:
if(this->unk60 < 324.0){ if(this->lifetime_value < 324.0){
this->marker->collidable = 0; this->marker->collidable = 0;
} }
this->unk60 -= 4.0; this->lifetime_value -= 4.0;
if(this->unk60 < 4.0){ if(this->lifetime_value < 4.0){
marker_despawn(this->marker); marker_despawn(this->marker);
} }
break; break;
@@ -93,7 +93,7 @@ Actor *func_80388188(ActorMarker *this, Gfx **dl, Mtx **mptr, Vtx **vtx){
position[0] = actorPtr->position_x; position[0] = actorPtr->position_x;
position[1] = actorPtr->unk1C_y + 3.0f; position[1] = actorPtr->unk1C_y + 3.0f;
position[2] = actorPtr->position_z; position[2] = actorPtr->position_z;
modelRender_setAlpha( (s32) MIN(255.0f, actorPtr->unk60) ); modelRender_setAlpha( (s32) MIN(255.0f, actorPtr->lifetime_value) );
modelRender_setDepthMode(MODEL_RENDER_DEPTH_FULL); modelRender_setDepthMode(MODEL_RENDER_DEPTH_FULL);
modelRender_draw(dl, mptr, position, rotation, actorPtr->unk28, sp60, func_8030A428(0x18)); modelRender_draw(dl, mptr, position, rotation, actorPtr->unk28, sp60, func_8030A428(0x18));
actorPtr->position_y -= 1.9; actorPtr->position_y -= 1.9;

View File

@@ -65,8 +65,8 @@ void func_80386444(ActorMarker *marker){
p_ctrl = partEmitMgr_newEmitter(30); p_ctrl = partEmitMgr_newEmitter(30);
particleEmitter_setPosition(p_ctrl, closest_orange_pad->position); particleEmitter_setPosition(p_ctrl, closest_orange_pad->position);
particleEmitter_setModel(p_ctrl, 0x89f); particleEmitter_setModel(p_ctrl, 0x89f);
func_802EFB70(p_ctrl, 0.09f, 0.19f); particleEmitter_setStartingScaleRange(p_ctrl, 0.09f, 0.19f);
func_802EFB84(p_ctrl, 0.0f, 0.0f); particleEmitter_setFinalScaleRange(p_ctrl, 0.0f, 0.0f);
particleEmitter_setParticleVelocityRange(p_ctrl, particleEmitter_setParticleVelocityRange(p_ctrl,
-200.0f, 500.0f, -200.0f, -200.0f, 500.0f, -200.0f,
@@ -104,7 +104,7 @@ void func_80386768(Actor * this){
if(!this->initialized){ if(!this->initialized){
this->marker->propPtr->unk8_3 = 1; this->marker->propPtr->unk8_3 = 1;
actor_collisionOff(this); actor_collisionOff(this);
this->initialized = 1; this->initialized = TRUE;
}//L803867B0 }//L803867B0
if(!this->unk16C_4){ if(!this->unk16C_4){
@@ -127,17 +127,17 @@ void func_80386768(Actor * this){
} }
if(this->state == 1){ if(this->state == 1){
if(this->unk60 < 72.0f){ if(this->lifetime_value < 72.0f){
func_8033E73C(this->marker, 5, func_80329904); func_8033E73C(this->marker, 5, func_80329904);
func_8033E3F0(9, this->marker->unk14_21); func_8033E3F0(9, this->marker->unk14_21);
} }
this->unk60 = MIN(255.0, this->unk60 + 7.0); this->lifetime_value = MIN(255.0, this->lifetime_value + 7.0);
if(255.0 == this->unk60){ if(255.0 == this->lifetime_value){
marker_despawn(this->marker); marker_despawn(this->marker);
} }
}else{ }else{
}//L80386928 }//L80386928
actor_setOpacity(this, 0xFF - (s32)this->unk60); actor_setOpacity(this, 0xFF - (s32)this->lifetime_value);
}//*/ }//*/

View File

@@ -22,11 +22,11 @@ ActorInfo chLoggo = {
/* .code */ /* .code */
void __chLoggo_flush(ActorMarker* marker) { void __chLoggo_flush(ActorMarker* marker) {
Actor* sp1C = marker_getActor(marker); Actor* actor = marker_getActor(marker);
func_8028F918(2); func_8028F918(2);
subaddie_set_state_with_direction(sp1C, 2, 0.01, 1); subaddie_set_state_with_direction(actor, 2, 0.01, 1);
actor_playAnimationOnce(sp1C); actor_playAnimationOnce(actor);
sp1C->unk60 = 3.2f; actor->lifetime_value = 3.2f;
} }
void __chLoggo_textCallback(ActorMarker* caller, enum asset_e text_id, s32 arg3) { void __chLoggo_textCallback(ActorMarker* caller, enum asset_e text_id, s32 arg3) {
@@ -69,7 +69,7 @@ void chLoggo_update(Actor *this){
marker_setCollisionScripts(this->marker, __chLoggo_collide, NULL, NULL); marker_setCollisionScripts(this->marker, __chLoggo_collide, NULL, NULL);
subaddie_set_state_with_direction(this, 1, 0.01f, 1); subaddie_set_state_with_direction(this, 1, 0.01f, 1);
actor_loopAnimation(this); actor_loopAnimation(this);
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
if(!fileProgressFlag_get(FILEPROG_8A_EXITED_LOGGO) && levelSpecificFlags_get(0x33)){ if(!fileProgressFlag_get(FILEPROG_8A_EXITED_LOGGO) && levelSpecificFlags_get(0x33)){
if(func_80311480(ASSET_AE0_TEXT_EXIT_LOGGO, 4, NULL, NULL, NULL, NULL)){ if(func_80311480(ASSET_AE0_TEXT_EXIT_LOGGO, 4, NULL, NULL, NULL, NULL)){
fileProgressFlag_set(FILEPROG_8A_EXITED_LOGGO, TRUE); fileProgressFlag_set(FILEPROG_8A_EXITED_LOGGO, TRUE);
@@ -112,8 +112,8 @@ void chLoggo_update(Actor *this){
func_8028F6E4(BS_INTR_2F_LOGGO, sp38); func_8028F6E4(BS_INTR_2F_LOGGO, sp38);
} }
if(0.0 < this->unk60){ if(0.0 < this->lifetime_value){
this->unk60 -= sp44; this->lifetime_value -= sp44;
} }
else{ else{
warp_mmmEnterLoggo(0, 0); warp_mmmEnterLoggo(0, 0);

View File

@@ -61,9 +61,9 @@ void __chnapper_setState(Actor *this, s32 next_state){
void func_80386ACC(ActorMarker *this_marker, ActorMarker *other_marker){ void func_80386ACC(ActorMarker *this_marker, ActorMarker *other_marker){
Actor *this = marker_getActor(this_marker); Actor *this = marker_getActor(this_marker);
if(!this->unk138_24){ if(!this->is_first_encounter){
if(func_80311480(0xad8, 0, NULL, NULL, NULL, NULL)){ if(func_80311480(0xad8, 0, NULL, NULL, NULL, NULL)){
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
} }
} }
} }

View File

@@ -196,7 +196,7 @@ f32 MMM_func_80388430(Actor *this, s32 arg1, s32 arg2, f32 arg3) {
break; break;
} }
func_8030E878(SFX_82_METAL_BREAK, randf2(0.93f, 1.07f), 0x7FF8, this->position, 100.0f, 900.0f); func_8030E878(SFX_82_METAL_BREAK, randf2(0.93f, 1.07f), 0x7FF8, this->position, 100.0f, 900.0f);
this->unk60 = 1.0f; this->lifetime_value = 1.0f;
} }
} }
arg3 += 4.5; arg3 += 4.5;
@@ -226,7 +226,7 @@ bool func_80388670(ActorMarker * this_marker, ActorMarker * other_marker){
void func_803888B8(Actor *this){ void func_803888B8(Actor *this){
func_803300C0(this->marker, func_80388670); func_803300C0(this->marker, func_80388670);
func_802D3CE8(this); func_802D3CE8(this);
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
switch(this->state){ switch(this->state){
case 4: case 4:
switch(this->marker->id){ switch(this->marker->id){
@@ -255,7 +255,7 @@ Actor *func_80388994(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
f32 sp6C[3]; f32 sp6C[3];
this = actor_drawFullDepth(marker, gfx, mtx, vtx); this = actor_drawFullDepth(marker, gfx, mtx, vtx);
if (marker->unk14_21 && (this->unk60 != 0.0f)) { if (marker->unk14_21 && (this->lifetime_value != 0.0f)) {
func_8034A174((struct5Bs *) marker->unk44, 5, &sp84); func_8034A174((struct5Bs *) marker->unk44, 5, &sp84);
func_8034A174((struct5Bs *) marker->unk44, 6, &sp78); func_8034A174((struct5Bs *) marker->unk44, 6, &sp78);
for(i = 0; i < 8; i++){ for(i = 0; i < 8; i++){
@@ -290,13 +290,13 @@ void func_80388BDC(Actor *this) {
mapSpecificFlags_set(1, ((this->yaw > 260.0f) && (this->yaw < 330.0f)) ? TRUE : FALSE); mapSpecificFlags_set(1, ((this->yaw > 260.0f) && (this->yaw < 330.0f)) ? TRUE : FALSE);
if (!this->unk16C_4) { if (!this->unk16C_4) {
if (this->yaw != 0.0f) { if (this->yaw != 0.0f) {
this->unk60 = 0.5f; this->lifetime_value = 0.5f;
subaddie_set_state(this, 7); subaddie_set_state(this, 7);
this->unk38_31 = 1; this->unk38_31 = 1;
this->yaw = 270.0f; this->yaw = 270.0f;
} else { } else {
this->unk38_31 = 0; this->unk38_31 = 0;
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
} }
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
} }
@@ -327,13 +327,13 @@ void func_80388BDC(Actor *this) {
break; break;
case 7: case 7:
if (this->unk38_31) { if (this->unk38_31) {
this->unk60 -= time_getDelta(); this->lifetime_value -= time_getDelta();
if (this->unk60 < 0.0f) { if (this->lifetime_value < 0.0f) {
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
} }
} }
if( (!this->unk38_31 && item_empty(ITEM_0_HOURGLASS_TIMER)) if( (!this->unk38_31 && item_empty(ITEM_0_HOURGLASS_TIMER))
|| ((this->unk38_31) && (this->unk60 == 0.0f)) || ((this->unk38_31) && (this->lifetime_value == 0.0f))
) { ) {
if (!this->unk38_31) { if (!this->unk38_31) {
func_802BAFE4(0x22); func_802BAFE4(0x22);
@@ -357,7 +357,7 @@ void func_80388BDC(Actor *this) {
func_8025AE0C(0x7D0, 2.5f); func_8025AE0C(0x7D0, 2.5f);
} }
this->unk38_31 = 0; this->unk38_31 = 0;
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
volatileFlag_setAndTriggerDialog_0(VOLATILE_FLAG_AD_MMM_CHURCH_DOOR_MISSED); volatileFlag_setAndTriggerDialog_0(VOLATILE_FLAG_AD_MMM_CHURCH_DOOR_MISSED);
} }
break; break;

View File

@@ -78,8 +78,8 @@ void func_8038E998(Actor *this){
particleEmitter_setFade(other, 0.0f, 0.1f); particleEmitter_setFade(other, 0.0f, 0.1f);
particleEmitter_setStartingFrameRange(other, 0, 7); particleEmitter_setStartingFrameRange(other, 0, 7);
particleEmitter_setPosition(other, this->position); particleEmitter_setPosition(other, this->position);
func_802EFB70(other, 0.25f, 0.75f); particleEmitter_setStartingScaleRange(other, 0.25f, 0.75f);
func_802EFB84(other, 0.75f, 1.75f); particleEmitter_setFinalScaleRange(other, 0.75f, 1.75f);
particleEmitter_setParticleSpawnPositionRange(other, -50.0f, 25.0f, -50.0f, 50.0f, 25.0f, 50.0f); particleEmitter_setParticleSpawnPositionRange(other, -50.0f, 25.0f, -50.0f, 50.0f, 25.0f, 50.0f);
particleEmitter_setParticleVelocityRange(other, -50.0f, 100.0f, -50.0f, 50.0f, 200.0f, 50.0f); particleEmitter_setParticleVelocityRange(other, -50.0f, 100.0f, -50.0f, 50.0f, 200.0f, 50.0f);
particleEmitter_setParticleLifeTimeRange(other, 0.5f, 1.0f); particleEmitter_setParticleLifeTimeRange(other, 0.5f, 1.0f);
@@ -97,8 +97,8 @@ void func_8038EAB4(Actor *this){
particleEmitter_setParticleFramerateRange(other, 4.0f, 4.0f); particleEmitter_setParticleFramerateRange(other, 4.0f, 4.0f);
particleEmitter_setParticleSpawnPositionRange(other, 0.0f, 200.0f, 0.0f, 0.0f, 200.0f, 0.0f); particleEmitter_setParticleSpawnPositionRange(other, 0.0f, 200.0f, 0.0f, 0.0f, 200.0f, 0.0f);
particleEmitter_setPosition(other, this->position); particleEmitter_setPosition(other, this->position);
func_802EFB70(other, 3.0f, 3.0f); particleEmitter_setStartingScaleRange(other, 3.0f, 3.0f);
func_802EFB84(other, 8.0f, 8.0f); particleEmitter_setFinalScaleRange(other, 8.0f, 8.0f);
particleEmitter_setParticleLifeTimeRange(other, 0.5f, 0.5f); particleEmitter_setParticleLifeTimeRange(other, 0.5f, 0.5f);
particleEmitter_setParticleVelocityRange(other, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); particleEmitter_setParticleVelocityRange(other, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
particleEmitter_emitN(other, 1); particleEmitter_emitN(other, 1);
@@ -111,8 +111,8 @@ void func_8038EC14(Actor *this){
particleEmitter_setFade(other, 0.05f, 0.1f); particleEmitter_setFade(other, 0.05f, 0.1f);
particleEmitter_setStartingFrameRange(other, 0, 7); particleEmitter_setStartingFrameRange(other, 0, 7);
particleEmitter_setPosition(other, this->position); particleEmitter_setPosition(other, this->position);
func_802EFB70(other, 1.0f, 1.5f); particleEmitter_setStartingScaleRange(other, 1.0f, 1.5f);
func_802EFB84(other, 2.0f, 3.0f); particleEmitter_setFinalScaleRange(other, 2.0f, 3.0f);
particleEmitter_setParticleSpawnPositionRange(other, -75.0f, 25.0f, -75.0f, 75.0f, 75.0f, 75.0f); particleEmitter_setParticleSpawnPositionRange(other, -75.0f, 25.0f, -75.0f, 75.0f, 75.0f, 75.0f);
particleEmitter_setParticleVelocityRange(other, -70.0f, 50.0f, -70.0f, 70.0f, 100.0f, 70.0f); particleEmitter_setParticleVelocityRange(other, -70.0f, 50.0f, -70.0f, 70.0f, 100.0f, 70.0f);
particleEmitter_setRGB(other, &RBB_D_80390DD0); particleEmitter_setRGB(other, &RBB_D_80390DD0);
@@ -127,7 +127,7 @@ void func_8038ED3C(Actor * actor, s32 arg1){
func_802EFA18(other, 3); func_802EFA18(other, 3);
particleEmitter_setModel(other, arg1); particleEmitter_setModel(other, arg1);
particleEmitter_setPosition(other, actor->position); particleEmitter_setPosition(other, actor->position);
func_802EFB70(other, 0.05f, 0.4f); particleEmitter_setStartingScaleRange(other, 0.05f, 0.4f);
particleEmitter_setAngularVelocityRange(other, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setAngularVelocityRange(other, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
particleEmitter_setSpawnIntervalRange(other, 0.0f, 0.01f); particleEmitter_setSpawnIntervalRange(other, 0.0f, 0.01f);
particleEmitter_setParticleLifeTimeRange(other, 10.0f, 10.0f); particleEmitter_setParticleLifeTimeRange(other, 10.0f, 10.0f);
@@ -172,7 +172,7 @@ int func_8038EF08(Actor *this, f32 (*position)[3], f32 arg2){
local->unk20[1] = sp54[1] + this->position_y; local->unk20[1] = sp54[1] + this->position_y;
local->unk20[2] = sp54[2] + this->position_z; local->unk20[2] = sp54[2] + this->position_z;
local->unk20[1] = func_80309724(&local->unk20); local->unk20[1] = mapModel_getFloorY(&local->unk20);
sp40[0] = local->unk20[0]; sp40[0] = local->unk20[0];
sp40[1] = local->unk20[1] + this->scale*100.0f; sp40[1] = local->unk20[1] + this->scale*100.0f;
@@ -336,7 +336,7 @@ void func_8038F618(Actor *this){
local->unk38 = 0; local->unk38 = 0;
local->unk39 = 0; local->unk39 = 0;
local->unk0 = &D_80390D80[(this->modelCacheIndex == 0x30d)? 1 : 0]; local->unk0 = &D_80390D80[(this->modelCacheIndex == 0x30d)? 1 : 0];
local->unk2C = func_80309724(&this->position); local->unk2C = mapModel_getFloorY(&this->position);
local->unk34 = 0; local->unk34 = 0;
local->unk4 = 0.5f; local->unk4 = 0.5f;
local->unk30 = 0.0f; local->unk30 = 0.0f;

View File

@@ -104,8 +104,8 @@ void func_8038C39C(Actor *this){
particleEmitter_setStartingFrameRange(other, 0, 7); particleEmitter_setStartingFrameRange(other, 0, 7);
particleEmitter_setDrawMode(other, 4); particleEmitter_setDrawMode(other, 4);
particleEmitter_setPosition(other, this->position); particleEmitter_setPosition(other, this->position);
func_802EFB70(other, local->unk0->unk4*1, local->unk0->unk4*3.0f); particleEmitter_setStartingScaleRange(other, local->unk0->unk4*1, local->unk0->unk4*3.0f);
func_802EFB84(other, 3.0f*local->unk0->unk4, local->unk0->unk4*7.0f); particleEmitter_setFinalScaleRange(other, 3.0f*local->unk0->unk4, local->unk0->unk4*7.0f);
particleEmitter_setParticleSpawnPositionRange(other, particleEmitter_setParticleSpawnPositionRange(other,
local->unk0->unk4*-200.0f, local->unk0->unk4*100.0f, local->unk0->unk4*-200.0f, local->unk0->unk4*-200.0f, local->unk0->unk4*100.0f, local->unk0->unk4*-200.0f,
local->unk0->unk4*200.0f, local->unk0->unk4*100.0f, local->unk0->unk4*200.0f local->unk0->unk4*200.0f, local->unk0->unk4*100.0f, local->unk0->unk4*200.0f
@@ -126,8 +126,8 @@ void RBB_func_8038C538(Actor *this){
particleEmitter_setDrawMode(other, 4); particleEmitter_setDrawMode(other, 4);
particleEmitter_setStartingFrameRange(other, 0, 7); particleEmitter_setStartingFrameRange(other, 0, 7);
particleEmitter_setPosition(other, this->position); particleEmitter_setPosition(other, this->position);
func_802EFB70(other, local->unk0->unk4*1, local->unk0->unk4*6.0f); particleEmitter_setStartingScaleRange(other, local->unk0->unk4*1, local->unk0->unk4*6.0f);
func_802EFB84(other, 0.5*local->unk0->unk4, local->unk0->unk4*3.0f); particleEmitter_setFinalScaleRange(other, 0.5*local->unk0->unk4, local->unk0->unk4*3.0f);
particleEmitter_setParticleSpawnPositionRange(other, particleEmitter_setParticleSpawnPositionRange(other,
local->unk0->unk4*-300.0f, local->unk0->unk4*100.0f, local->unk0->unk4*-300.0f, local->unk0->unk4*-300.0f, local->unk0->unk4*100.0f, local->unk0->unk4*-300.0f,
local->unk0->unk4*300.0f, local->unk0->unk4*300.0f, local->unk0->unk4*300.0f local->unk0->unk4*300.0f, local->unk0->unk4*300.0f, local->unk0->unk4*300.0f
@@ -155,7 +155,7 @@ void RBB_func_8038C70C(Actor *this){
local->unk0->unk4 * 300.0f, local->unk0->unk4 * 200.0f, local->unk0->unk4 * 300.0f local->unk0->unk4 * 300.0f, local->unk0->unk4 * 200.0f, local->unk0->unk4 * 300.0f
); );
particleEmitter_setPosition(other, this->position); particleEmitter_setPosition(other, this->position);
func_802EFB70(other, local->unk0->unk4*0.3, local->unk0->unk4*0.8); particleEmitter_setStartingScaleRange(other, local->unk0->unk4*0.3, local->unk0->unk4*0.8);
particleEmitter_setAngularVelocityRange(other, particleEmitter_setAngularVelocityRange(other,
-600.0f, -600.0f, -600.0f, -600.0f, -600.0f, -600.0f,
600.0f, 600.0f, 600.0f 600.0f, 600.0f, 600.0f
@@ -181,8 +181,8 @@ void func_8038C8A8(Actor * this){
particleEmitter_setDrawMode(other, 4); particleEmitter_setDrawMode(other, 4);
particleEmitter_setStartingFrameRange(other, 0, 7); particleEmitter_setStartingFrameRange(other, 0, 7);
particleEmitter_setPosition(other, sp24); particleEmitter_setPosition(other, sp24);
func_802EFB70(other, local->unk0->unk4*1, local->unk0->unk4*3.0f); particleEmitter_setStartingScaleRange(other, local->unk0->unk4*1, local->unk0->unk4*3.0f);
func_802EFB84(other, local->unk0->unk4*3.0f, local->unk0->unk4*6.0f); particleEmitter_setFinalScaleRange(other, local->unk0->unk4*3.0f, local->unk0->unk4*6.0f);
particleEmitter_setPositionVelocityAndAccelerationRanges(other, &D_80390CA8); particleEmitter_setPositionVelocityAndAccelerationRanges(other, &D_80390CA8);
particleEmitter_setParticleLifeTimeRange(other, 1.0f, 2.0f); particleEmitter_setParticleLifeTimeRange(other, 1.0f, 2.0f);
particleEmitter_setRGB(other, &D_80390C9C); particleEmitter_setRGB(other, &D_80390C9C);

View File

@@ -54,8 +54,8 @@ void func_8038B900(Actor *this){
){//L8038BB24 ){//L8038BB24
func_8034A174(this->marker->unk44, 5, sp48); func_8034A174(this->marker->unk44, 5, sp48);
other = func_802EDD8C(&sp48, 0.0f, -1300.0f); other = func_802EDD8C(&sp48, 0.0f, -1300.0f);
func_802EFB70(other, 0.04f, 0.04f); particleEmitter_setStartingScaleRange(other, 0.04f, 0.04f);
func_802EFB84(other, 0.18f, 0.18f); particleEmitter_setFinalScaleRange(other, 0.18f, 0.18f);
particleEmitter_setParticleSpawnPositionRange(other, -10.0f, 0.0f, -10.0f, 10.0f, 20.0f, 10.0f); particleEmitter_setParticleSpawnPositionRange(other, -10.0f, 0.0f, -10.0f, 10.0f, 20.0f, 10.0f);
particleEmitter_setParticleVelocityRange(other, 0.0f, 31.0f, 0.0f, 0.0f, 37.0f, 0.0f); particleEmitter_setParticleVelocityRange(other, 0.0f, 31.0f, 0.0f, 0.0f, 37.0f, 0.0f);
particleEmitter_emitN(other, 1); particleEmitter_emitN(other, 1);
@@ -85,12 +85,12 @@ void func_8038B900(Actor *this){
} }
if(this->state == 1){ if(this->state == 1){
if( !this->unk138_24 if( !this->is_first_encounter
&& func_80329530(this, 0x258) && func_80329530(this, 0x258)
&& !func_8028ECAC() && !func_8028ECAC()
){ ){
func_80311480(0xb9b, 4, 0, 0, 0, 0); func_80311480(0xb9b, 4, 0, 0, 0, 0);
this->unk138_24 = 1; this->is_first_encounter = TRUE;
} }
} }

View File

@@ -131,8 +131,8 @@ void func_80387C5C(void){
particleEmitter_setDrawMode(actor, PART_EMIT_NO_LOOP); particleEmitter_setDrawMode(actor, PART_EMIT_NO_LOOP);
particleEmitter_setStartingFrameRange(actor, 0, 0); particleEmitter_setStartingFrameRange(actor, 0, 0);
particleEmitter_setParticleFramerateRange(actor, 4.0f, 4.0f); particleEmitter_setParticleFramerateRange(actor, 4.0f, 4.0f);
func_802EFB70(actor, 10.0f, 10.0f); particleEmitter_setStartingScaleRange(actor, 10.0f, 10.0f);
func_802EFB84(actor, 15.0f, 20.0f); particleEmitter_setFinalScaleRange(actor, 15.0f, 20.0f);
particleEmitter_setParticleLifeTimeRange(actor, 4.0f, 4.0f); particleEmitter_setParticleLifeTimeRange(actor, 4.0f, 4.0f);
particleEmitter_setParticleVelocityRange(actor, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); particleEmitter_setParticleVelocityRange(actor, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
particleEmitter_emitInVolume(actor, &D_803902D4, &D_803902E0, 1); particleEmitter_emitInVolume(actor, &D_803902D4, &D_803902E0, 1);
@@ -152,7 +152,7 @@ void func_80387E20(void){
func_802EF9F8(actor, 0.6f); func_802EF9F8(actor, 0.6f);
func_802EFA18(actor, 3); func_802EFA18(actor, 3);
particleEmitter_setModel(actor, 0x427); particleEmitter_setModel(actor, 0x427);
func_802EFB70(actor, 0.05f, 0.4f); particleEmitter_setStartingScaleRange(actor, 0.05f, 0.4f);
particleEmitter_setAngularVelocityRange(actor, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setAngularVelocityRange(actor, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
particleEmitter_setSpawnIntervalRange(actor, 0.0f, 0.01f); particleEmitter_setSpawnIntervalRange(actor, 0.0f, 0.01f);
particleEmitter_setParticleLifeTimeRange(actor, 10.0f, 10.0f); particleEmitter_setParticleLifeTimeRange(actor, 10.0f, 10.0f);

View File

@@ -124,7 +124,7 @@ void chAttackTutorial_update(Actor *this){
this->unk1C_z = this->position_z;} this->unk1C_z = this->position_z;}
} }
this->unk10_12 = (ability_isUnlocked(ABILITY_C_ROLL))? 2 : (ability_isUnlocked(ABILITY_4_CLAW_SWIPE)? 1:0); this->unk10_12 = (ability_isUnlocked(ABILITY_C_ROLL))? 2 : (ability_isUnlocked(ABILITY_4_CLAW_SWIPE)? 1:0);
this->initialized = 1; this->initialized = TRUE;
} }
switch(this->state){ switch(this->state){

View File

@@ -5,7 +5,7 @@
//external //external
f32 func_80309724(f32*); f32 mapModel_getFloorY(f32*);
void func_802C4218(s32, f32, f32, f32); void func_802C4218(s32, f32, f32, f32);
void func_803252D0(f32, s32); void func_803252D0(f32, s32);
void subaddie_set_state_with_direction(Actor *, s32, f32, s32); void subaddie_set_state_with_direction(Actor *, s32, f32, s32);
@@ -223,7 +223,7 @@ void func_80387DCC(ActorMarker *marker, ActorMarker *other_marker){
Actor *func_80387DF4(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vtx **arg3){ Actor *func_80387DF4(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vtx **arg3){
Actor *actor = marker_getActor(marker); Actor *actor = marker_getActor(marker);
if(actor->unk138_24) if(actor->is_first_encounter)
func_8033A470(3, 7); func_8033A470(3, 7);
else else
func_8033A45C(3, 0); func_8033A45C(3, 0);
@@ -320,10 +320,10 @@ void func_80388080(Actor *this){
this->velocity_x = temp_velX; this->velocity_x = temp_velX;
this->velocity_y = (local->unkC == 3) ? 90.0f : 70.0f; this->velocity_y = (local->unkC == 3) ? 90.0f : 70.0f;
this->velocity_z = temp_velZ; this->velocity_z = temp_velZ;
this->unk138_24 = 1; this->is_first_encounter = TRUE;
this->unk138_23 = 0; this->unk138_23 = 0;
this->unk38_0 = 0; this->unk38_0 = 0;
this->initialized = 1; this->initialized = TRUE;
this->scale = 0.5; this->scale = 0.5;
}//L80388278 }//L80388278
switch (this->state) switch (this->state)
@@ -347,7 +347,7 @@ void func_80388080(Actor *this){
this->velocity_y -= 5.0f; this->velocity_y -= 5.0f;
this->scale = MIN(this->scale + 0.05, 1.0); this->scale = MIN(this->scale + 0.05, 1.0);
if(this->velocity_y < 0.0f && this->position_y < this->unk1C_y){ if(this->velocity_y < 0.0f && this->position_y < this->unk1C_y){
this->position_y = func_80309724(this->position); this->position_y = mapModel_getFloorY(this->position);
if(local->unkC == 3) if(local->unkC == 3)
func_80387F00(this); func_80387F00(this);
@@ -483,7 +483,7 @@ void func_80388080(Actor *this){
sp54[2] = this->position_z; sp54[2] = this->position_z;
if(local->unkC == 1) if(local->unkC == 1)
sp54[1] += 150.0f; sp54[1] += 150.0f;
this->unk138_24 = 0; this->is_first_encounter = FALSE;
func_80387A80(partEmitMgr_newEmitter(3), sp54, 3, (local->unkC == 1)? 0x4f0: 0x4f1); func_80387A80(partEmitMgr_newEmitter(3), sp54, 3, (local->unkC == 1)? 0x4f0: 0x4f1);
}//L80388CC4 }//L80388CC4

View File

@@ -233,8 +233,8 @@ void func_803892C8(ActorMarker *marker, enum asset_e text_id, s32 arg2){
break; break;
case ASSET_E1D_TEXT_BOTTLES_TUTORIAL_OFFER_WAIT: /* 2FFC 803893EC 920B0138 */ case ASSET_E1D_TEXT_BOTTLES_TUTORIAL_OFFER_WAIT: /* 2FFC 803893EC 920B0138 */
actor->unk138_24 = 0; actor->is_first_encounter = FALSE;
actor->unk60 = 0.0f; actor->lifetime_value = 0.0f;
break; break;
case ASSET_DF6_TEXT_BOTTLES_HIGH_JUMP_LEARN: /* 3014 80389404 0C0A3E46 */ case ASSET_DF6_TEXT_BOTTLES_HIGH_JUMP_LEARN: /* 3014 80389404 0C0A3E46 */
@@ -406,7 +406,7 @@ void chsmmole_Update(Actor * this){
if(!this->initialized){ if(!this->initialized){
this->marker->propPtr->unk8_3 = 0; this->marker->propPtr->unk8_3 = 0;
actor_collisionOff(this); actor_collisionOff(this);
this->initialized = 1; this->initialized = TRUE;
marker_setFreeMethod(this->marker, func_80389984); marker_setFreeMethod(this->marker, func_80389984);
if(this->unkF4_8 == 1 || this->unkF4_8 == 8){//L80389A30 if(this->unkF4_8 == 1 || this->unkF4_8 == 8){//L80389A30
sp40 = func_80304C38(0x349, this); sp40 = func_80304C38(0x349, this);
@@ -557,7 +557,7 @@ void chsmmole_Update(Actor * this){
}//L8038A1B8 }//L8038A1B8
user_input = -1; user_input = -1;
if(this->unk38_0){ if(this->unk38_0){
this->unk60 += time_getDelta(); this->lifetime_value += time_getDelta();
if(func_803114C4() != 0xe1d){ if(func_803114C4() != 0xe1d){
if(sp50[FACE_BUTTON(BUTTON_A)] == 1) if(sp50[FACE_BUTTON(BUTTON_A)] == 1)
user_input = 1; //A button pressed user_input = 1; //A button pressed
@@ -572,9 +572,9 @@ void chsmmole_Update(Actor * this){
chsmmole_skipIntroTutorial(); //give all SM moves chsmmole_skipIntroTutorial(); //give all SM moves
} }
this->unk38_0 = 0; this->unk38_0 = 0;
}else if(!this->unk138_24 && 5.0 < this->unk60){ }else if(!this->is_first_encounter && 5.0 < this->lifetime_value){
func_80311480(0xe1d, 0x86, this->position, this->marker, func_803892C8, NULL); func_80311480(0xe1d, 0x86, this->position, this->marker, func_803892C8, NULL);
this->unk138_24 = 1; this->is_first_encounter = TRUE;
} }
} }
break; break;

View File

@@ -74,7 +74,7 @@ void SM_func_8038A5D8(Actor *this){
this->unk1C_y = this->position_y; this->unk1C_y = this->position_y;
this->unk1C_z = this->position_z; this->unk1C_z = this->position_z;
}//L8038A644 }//L8038A644
this->initialized = 1; this->initialized = TRUE;
}//L8038A650 }//L8038A650
func_8024E55C(0, sp44); func_8024E55C(0, sp44);

View File

@@ -76,8 +76,8 @@ void func_80386B04(ParticleEmitter *p_ctrl, f32 *arg1, s32 arg2, f32 arg3) {
particleEmitter_setModel(p_ctrl, 0x42E); particleEmitter_setModel(p_ctrl, 0x42E);
particleEmitter_setPosition(p_ctrl, arg1); particleEmitter_setPosition(p_ctrl, arg1);
particleEmitter_setDrawMode(p_ctrl, 2); particleEmitter_setDrawMode(p_ctrl, 2);
func_802EFB70(p_ctrl, arg3, arg3); particleEmitter_setStartingScaleRange(p_ctrl, arg3, arg3);
func_802EFB84(p_ctrl, arg3, arg3); particleEmitter_setFinalScaleRange(p_ctrl, arg3, arg3);
particleEmitter_setAngularVelocityRange(p_ctrl, -100.0f, -100.0f, -100.0f, 100.0f, 100.0f, 100.0f); particleEmitter_setAngularVelocityRange(p_ctrl, -100.0f, -100.0f, -100.0f, 100.0f, 100.0f, 100.0f);
particleEmitter_setSpawnIntervalRange(p_ctrl, 0.00f, 0.01f); particleEmitter_setSpawnIntervalRange(p_ctrl, 0.00f, 0.01f);
particleEmitter_setParticleLifeTimeRange(p_ctrl, 2.0f, 2.0f); particleEmitter_setParticleLifeTimeRange(p_ctrl, 2.0f, 2.0f);
@@ -91,8 +91,8 @@ void func_80386C2C(ParticleEmitter *p_ctrl, f32 *arg1, s32 arg2, f32 arg3) {
particleEmitter_setFade(p_ctrl, 0.00f, 0.01f); particleEmitter_setFade(p_ctrl, 0.00f, 0.01f);
particleEmitter_setStartingFrameRange(p_ctrl, 0, 7); particleEmitter_setStartingFrameRange(p_ctrl, 0, 7);
particleEmitter_setPosition(p_ctrl, arg1); particleEmitter_setPosition(p_ctrl, arg1);
func_802EFB70(p_ctrl, (arg3 * 0.1), (arg3 * 0.5)); particleEmitter_setStartingScaleRange(p_ctrl, (arg3 * 0.1), (arg3 * 0.5));
func_802EFB84(p_ctrl, (arg3 * 1.5), (arg3 * 3.0)); particleEmitter_setFinalScaleRange(p_ctrl, (arg3 * 1.5), (arg3 * 3.0));
particleEmitter_setSpawnIntervalRange(p_ctrl, 0.0f, 0.01f); particleEmitter_setSpawnIntervalRange(p_ctrl, 0.0f, 0.01f);
particleEmitter_setParticleLifeTimeRange(p_ctrl, 1.5f, 2.0f); particleEmitter_setParticleLifeTimeRange(p_ctrl, 1.5f, 2.0f);
particleEmitter_setPositionVelocityAndAccelerationRanges(p_ctrl, &D_8038AB9C); particleEmitter_setPositionVelocityAndAccelerationRanges(p_ctrl, &D_8038AB9C);

View File

@@ -117,7 +117,7 @@ void func_80387774(Actor **this_ptr){
&& func_8028FC34() && func_8028FC34()
){ ){
func_8028FA34(!mapSpecificFlags_get(0)? 0x149 : 0x14a, *this_ptr); func_8028FA34(!mapSpecificFlags_get(0)? 0x149 : 0x14a, *this_ptr);
(*this_ptr)->unk138_24 = TRUE; (*this_ptr)->is_first_encounter = TRUE;
} }
} }
@@ -146,11 +146,11 @@ void func_803878CC(Actor * this){
}//L80387970 }//L80387970
if(func_80329530(this, 250) && !func_80329530(this, 80) if(func_80329530(this, 250) && !func_80329530(this, 80)
&& !this->unk138_24 && !this->is_first_encounter
&& item_getCount(ITEM_18_GOLD_BULLIONS) == 0 && item_getCount(ITEM_18_GOLD_BULLIONS) == 0
){ ){
func_80311480(0xa0b, 0xe, this->position, this->marker, func_80387520, NULL); func_80311480(0xa0b, 0xe, this->position, this->marker, func_80387520, NULL);
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
subaddie_set_state_forward(this, 3); subaddie_set_state_forward(this, 3);
} }
@@ -161,7 +161,7 @@ void func_803878CC(Actor * this){
func_80311480(0xa0c, 4, NULL, NULL, NULL, NULL); func_80311480(0xa0c, 4, NULL, NULL, NULL, NULL);
this->unk138_23 = TRUE; this->unk138_23 = TRUE;
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
}//L80387A54 }//L80387A54

View File

@@ -160,7 +160,7 @@ void __chClam_emitLargeShellParticles(f32 position[3], s32 count){
particleEmitter_setModel(pCtrl, ASSET_37C_MODEL_CLAM_LARGE_SHELL_PIECE); particleEmitter_setModel(pCtrl, ASSET_37C_MODEL_CLAM_LARGE_SHELL_PIECE);
particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038C3F4); particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038C3F4);
particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
func_802EFB70(pCtrl, 1.0f, 1.0f); particleEmitter_setStartingScaleRange(pCtrl, 1.0f, 1.0f);
particleEmitter_emitN(pCtrl, count); particleEmitter_emitN(pCtrl, count);
} }
@@ -176,7 +176,7 @@ void __chClam_emitEyeParticles(f32 position[3], s32 count){
particleEmitter_setModel(pCtrl, ASSET_37D_MODEL_CLAM_EYE); particleEmitter_setModel(pCtrl, ASSET_37D_MODEL_CLAM_EYE);
particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038C424); particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038C424);
particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f);
func_802EFB70(pCtrl, 1.0f, 1.0f); particleEmitter_setStartingScaleRange(pCtrl, 1.0f, 1.0f);
particleEmitter_emitN(pCtrl, count); particleEmitter_emitN(pCtrl, count);
} }
@@ -192,7 +192,7 @@ void __chClam_emitSmallShellParticles(f32 position[3], s32 count){
particleEmitter_setModel(pCtrl, ASSET_37E_MODEL_CLAM_SMALL_SHELL_PIECE); particleEmitter_setModel(pCtrl, ASSET_37E_MODEL_CLAM_SMALL_SHELL_PIECE);
particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038C454); particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038C454);
particleEmitter_setAngularVelocityRange(pCtrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); particleEmitter_setAngularVelocityRange(pCtrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f);
func_802EFB70(pCtrl, 0.5f, 0.8f); particleEmitter_setStartingScaleRange(pCtrl, 0.5f, 0.8f);
particleEmitter_emitN(pCtrl, count); particleEmitter_emitN(pCtrl, count);
} }
@@ -277,7 +277,7 @@ void chClam_update(Actor *this){
} }
if(this->state != 3){ if(this->state != 3){
sp48 = func_80309724(this->position); sp48 = mapModel_getFloorY(this->position);
if(sp4C != NULL){ if(sp4C != NULL){
sp44 = sp4C->marker->id; sp44 = sp4C->marker->id;
} }

View File

@@ -54,12 +54,12 @@ void chLeaky_update(Actor *this) {
} }
} }
if( this->state == 1 if( this->state == 1
&& !this->unk138_24 && !this->is_first_encounter
&& func_80329530(this, 250) && !func_80329530(this, 160) && func_80329530(this, 250) && !func_80329530(this, 160)
&& !func_8028ECAC() && !func_8028ECAC()
&& func_80311480(0xA1A, 0, NULL, NULL, NULL, NULL) && func_80311480(0xA1A, 0, NULL, NULL, NULL, NULL)
){ ){
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
} }
if (func_803114B0() == 0) { if (func_803114B0() == 0) {
if (actor_animationIsAt(this, 0.83f)) { if (actor_animationIsAt(this, 0.83f)) {

View File

@@ -75,7 +75,7 @@ void func_80389600(Actor *this){
s32 tmp_v1; s32 tmp_v1;
int i; int i;
if( !this->unk138_24 if( !this->is_first_encounter
&& this->unkF4_8 == 0xA && this->unkF4_8 == 0xA
&& !jiggyscore_isCollected(JIGGY_13_TTC_LOCKUP) && !jiggyscore_isCollected(JIGGY_13_TTC_LOCKUP)
&& func_80329530(this, 320) && func_80329530(this, 320)
@@ -83,7 +83,7 @@ void func_80389600(Actor *this){
&& !func_8028ECAC() && !func_8028ECAC()
&& func_80311480(0xA15, 0, NULL, NULL, NULL, NULL) && func_80311480(0xA15, 0, NULL, NULL, NULL, NULL)
){ ){
this->unk138_24 = 1; this->is_first_encounter = TRUE;
}//L803896AC }//L803896AC
if(!this->unk16C_4){ if(!this->unk16C_4){

View File

@@ -68,7 +68,7 @@ Actor *func_80387EB0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
void TTC_func_80387F18(Actor *this) { void TTC_func_80387F18(Actor *this) {
subaddie_set_state_looped(this, 3); subaddie_set_state_looped(this, 3);
this->unk1C[0] = 0.0f; this->unk1C[0] = 0.0f;
switch((s32)this->unk60){ switch((s32)this->lifetime_value){
case 0x78: case 0x78:
animctrl_setDuration(this->animctrl, 1.2f); animctrl_setDuration(this->animctrl, 1.2f);
break; break;
@@ -126,7 +126,7 @@ void func_80388178(ActorMarker *this_marker, ActorMarker *other_marker) {
this = marker_getActor(this_marker); this = marker_getActor(this_marker);
func_8032B4DC(this, other_marker, 7); func_8032B4DC(this, other_marker, 7);
if (this->unk60 == 40.0f) { if (this->lifetime_value == 40.0f) {
subaddie_set_state_with_direction(this, 6, 0.01f, 1); subaddie_set_state_with_direction(this, 6, 0.01f, 1);
actor_playAnimationOnce(this); actor_playAnimationOnce(this);
for(i = 0; i < 3; i++){ for(i = 0; i < 3; i++){
@@ -139,14 +139,14 @@ void func_80388178(ActorMarker *this_marker, ActorMarker *other_marker) {
return; return;
} }
if (this->unk60 == 80.0f) { if (this->lifetime_value == 80.0f) {
TTC_func_80387FF4(this); TTC_func_80387FF4(this);
this->unk60 = 40.0f; this->lifetime_value = 40.0f;
return; return;
} }
TTC_func_80387FF4(this); TTC_func_80387FF4(this);
this->unk60 = 80.0f; this->lifetime_value = 80.0f;
func_80311480(0xA10, 4, NULL, NULL, NULL, NULL); func_80311480(0xA10, 4, NULL, NULL, NULL, NULL);
return; return;
} }
@@ -167,7 +167,7 @@ void func_80388344(ActorMarker * this_marker, ActorMarker *other_marker){
if(other_marker->id == 1){ if(other_marker->id == 1){
this = marker_getActor(this_marker); this = marker_getActor(this_marker);
if( !mapSpecificFlags_get(7) if( !mapSpecificFlags_get(7)
&& this->unk138_24 && this->is_first_encounter
&& func_80311480(0xa0f, 0, NULL, NULL, NULL, NULL) && func_80311480(0xa0f, 0, NULL, NULL, NULL, NULL)
){ ){
mapSpecificFlags_set(7, TRUE); mapSpecificFlags_set(7, TRUE);
@@ -178,7 +178,7 @@ void func_80388344(ActorMarker * this_marker, ActorMarker *other_marker){
void func_803883C8(ActorMarker * this_marker, ActorMarker *other_marker){ void func_803883C8(ActorMarker * this_marker, ActorMarker *other_marker){
Actor *this = marker_getActor(this_marker); Actor *this = marker_getActor(this_marker);
if( !this->unk138_23 if( !this->unk138_23
&& this->unk138_24 && this->is_first_encounter
&& func_80311480(0xa11, 0, NULL, NULL, NULL, NULL) && func_80311480(0xa11, 0, NULL, NULL, NULL, NULL)
){ ){
this->unk138_23 = TRUE; this->unk138_23 = TRUE;
@@ -221,7 +221,7 @@ void func_80388434(Actor *this){
if(!this->initialized){ if(!this->initialized){
animctrl_setTransitionDuration(this->animctrl, 0.35f); animctrl_setTransitionDuration(this->animctrl, 0.35f);
subaddie_set_state_with_direction(this, 1, 0.01f, 1); subaddie_set_state_with_direction(this, 1, 0.01f, 1);
this->unk60 = 120.0f; this->lifetime_value = 120.0f;
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
marker_setCollisionScripts(this->marker, func_803883C8, func_80388344, func_80388178); marker_setCollisionScripts(this->marker, func_803883C8, func_80388344, func_80388178);
func_803300C0(this->marker, func_803882E4); func_803300C0(this->marker, func_803882E4);
@@ -229,13 +229,13 @@ void func_80388434(Actor *this){
}//L8038860C }//L8038860C
if(func_8038812C(this)){ if(func_8038812C(this)){
temp_v0 = func_8028ECAC(); temp_v0 = func_8028ECAC();
if( !this->unk138_24 if( !this->is_first_encounter
&& temp_v0 != 1 && temp_v0 != 1
&& temp_v0 != 10 && temp_v0 != 10
){ ){
subaddie_set_state_with_direction(this, 5, 0.01f, 1); subaddie_set_state_with_direction(this, 5, 0.01f, 1);
if(func_80311480(0xa0e, 0xf, this->position, this->marker, TTC_func_80387FB0, NULL)){ if(func_80311480(0xa0e, 0xf, this->position, this->marker, TTC_func_80387FB0, NULL)){
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
} }
comusic_8025AB44(COMUSIC_12_TTC_NIPPER, 5000, 300); comusic_8025AB44(COMUSIC_12_TTC_NIPPER, 5000, 300);
ncStaticCamera_setToNode(11); ncStaticCamera_setToNode(11);
@@ -262,7 +262,7 @@ void func_80388434(Actor *this){
break; break;
} }
if(this->unk60 <= this->unk38_31){ if(this->lifetime_value <= this->unk38_31){
TTC_func_80387F18(this); TTC_func_80387F18(this);
break; break;
} }

View File

@@ -34,12 +34,12 @@ void __chtreasure_updatePosition(Actor *this){
this->position[1] = this->unk1C[1];\ this->position[1] = this->unk1C[1];\
this->position[2] = this->unk1C[2]; this->position[2] = this->unk1C[2];
this->position[0] += this->unk5C*cosf(this->unk60); this->position[0] += this->unk5C*cosf(this->lifetime_value);
this->position[2] += this->unk5C*sinf(this->unk60); this->position[2] += this->unk5C*sinf(this->lifetime_value);
this->unk60 += 2.0*time_getDelta()*this->unk5C/300.0; this->lifetime_value += 2.0*time_getDelta()*this->unk5C/300.0;
if(2*M_PI <= this->unk60) if(2*M_PI <= this->lifetime_value)
this->unk60 -= 2*M_PI; this->lifetime_value -= 2*M_PI;
this->yaw = this->unk60*180.0/M_PI; this->yaw = this->lifetime_value*180.0/M_PI;
} }
void chtreasure_update(Actor *this){ void chtreasure_update(Actor *this){
@@ -54,7 +54,7 @@ void chtreasure_update(Actor *this){
} }
actor_collisionOff(this); actor_collisionOff(this);
this->scale = 0.5f; this->scale = 0.5f;
this->unk60 = M_PI/2; this->lifetime_value = M_PI/2;
this->unk5C = 0.0f; this->unk5C = 0.0f;
this->unk1C[0] = this->position[0]; this->unk1C[0] = this->position[0];
this->unk1C[1] = this->position[1]; this->unk1C[1] = this->position[1];

View File

@@ -2,7 +2,7 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
extern f32 func_80309724(f32[3]); extern f32 mapModel_getFloorY(f32[3]);
extern void func_8028F45C(s32, f32[3]); extern void func_8028F45C(s32, f32[3]);
typedef struct { typedef struct {
@@ -92,11 +92,11 @@ void func_80389A1C(void) {
Actor *actor; Actor *actor;
ActorLocal_TreasureHunt *local; ActorLocal_TreasureHunt *local;
actor = func_8032813C(0x55, D_8038C820[D_8037DCB4], 0); actor = spawn_actor_f32(0x55, D_8038C820[D_8037DCB4], 0);
local = (ActorLocal_TreasureHunt *)&actor->local; local = (ActorLocal_TreasureHunt *)&actor->local;
actor->yaw = D_8038C868[D_8037DCB4]; actor->yaw = D_8038C868[D_8037DCB4];
local->unk0 = D_8037DCB4; local->unk0 = D_8037DCB4;
actor->unk60 = 0.0f; actor->lifetime_value = 0.0f;
actor->state = 0; actor->state = 0;
} }
@@ -105,11 +105,11 @@ void func_80389A9C(void) {
ActorLocal_TreasureHunt *local; ActorLocal_TreasureHunt *local;
s32 actor_id; s32 actor_id;
actor = func_8032813C((D_8038C898 - 1)[D_8037DCB4], D_8038C820[D_8037DCB4 - 1], 0); actor = spawn_actor_f32((D_8038C898 - 1)[D_8037DCB4], D_8038C820[D_8037DCB4 - 1], 0);
local = (ActorLocal_TreasureHunt *)&actor->local; local = (ActorLocal_TreasureHunt *)&actor->local;
actor->yaw = D_8038C880[D_8037DCB4 - 1]; actor->yaw = D_8038C880[D_8037DCB4 - 1];
local->unk0 = D_8037DCB4; local->unk0 = D_8037DCB4;
actor->unk60 = 0.0f; actor->lifetime_value = 0.0f;
actor->state = 0; actor->state = 0;
} }
@@ -156,7 +156,7 @@ void func_80389CC4(s16 arg0[3], s32 arg1){
D_8038D708[0] = (f32)arg0[0]; D_8038D708[0] = (f32)arg0[0];
D_8038D708[1] = (f32)arg0[1]; D_8038D708[1] = (f32)arg0[1];
D_8038D708[2] = (f32)arg0[2]; D_8038D708[2] = (f32)arg0[2];
D_8038D708[1] = func_80309724(D_8038D708); D_8038D708[1] = mapModel_getFloorY(D_8038D708);
__spawnQueue_add_4((GenFunction_4)func_802C4140, 0xF4, reinterpret_cast(s32, D_8038D708[0]), reinterpret_cast(s32, D_8038D708[1]), reinterpret_cast(s32, D_8038D708[2])); __spawnQueue_add_4((GenFunction_4)func_802C4140, 0xF4, reinterpret_cast(s32, D_8038D708[0]), reinterpret_cast(s32, D_8038D708[1]), reinterpret_cast(s32, D_8038D708[2]));
D_8038D700 = partEmitMgr_newEmitter(3); D_8038D700 = partEmitMgr_newEmitter(3);
particleEmitter_setRGB(D_8038D700, D_8038C91C); particleEmitter_setRGB(D_8038D700, D_8038C91C);
@@ -192,8 +192,8 @@ void TTC_func_80389E90(Actor *this){
switch(this->state){ switch(this->state){
case 0://L80389F20 case 0://L80389F20
this->unk60 = MIN(255.0, this->unk60 + tick*150.0); this->lifetime_value = MIN(255.0, this->lifetime_value + tick*150.0);
if(255.0 == this->unk60){ if(255.0 == this->lifetime_value){
this->state = 1; this->state = 1;
} }
break; break;
@@ -203,12 +203,12 @@ void TTC_func_80389E90(Actor *this){
} }
break; break;
case 2://L80389FC4 case 2://L80389FC4
this->unk60 = MAX(0.0, this->unk60 - tick*((this->marker->modelId == ASSET_3EA_MODEL_RED_X)? 200.0 : 150.0)); this->lifetime_value = MAX(0.0, this->lifetime_value - tick*((this->marker->modelId == ASSET_3EA_MODEL_RED_X)? 200.0 : 150.0));
if(0.0 == this->unk60) if(0.0 == this->lifetime_value)
marker_despawn(this->marker); marker_despawn(this->marker);
break; break;
}//L8038A094 }//L8038A094
actor_setOpacity(this, (s32)this->unk60); actor_setOpacity(this, (s32)this->lifetime_value);
this->depth_mode = 2; this->depth_mode = 2;
} }

View File

@@ -366,12 +366,12 @@ void func_8025A58C(s32 arg0, s32 arg1){
} }
void func_8025A5AC(enum comusic_e comusic_id, s32 arg1, s32 arg2){ void func_8025A5AC(enum comusic_e comusic_id, s32 volume, s32 arg2){
CoMusic *tmp_a2; CoMusic *tmp_a2;
s32 sp20; s32 sp20;
if(arg1 == -1){ if(volume == -1){
arg1 = func_80250034(comusic_id); volume = func_80250034(comusic_id);
} }
tmp_a2 = __find_track(comusic_id); tmp_a2 = __find_track(comusic_id);
@@ -393,20 +393,20 @@ void func_8025A5AC(enum comusic_e comusic_id, s32 arg1, s32 arg2){
tmp_a2->unk12 = 0; tmp_a2->unk12 = 0;
tmp_a2->unk15 = 0; tmp_a2->unk15 = 0;
tmp_a2->unk4 = 0.0f; tmp_a2->unk4 = 0.0f;
func_80259994(tmp_a2, arg1); func_80259994(tmp_a2, volume);
func_8024FC1C(sp20, comusic_id); func_8024FC1C(sp20, comusic_id);
} }
func_8024FD28(sp20, (s16) arg1); func_8024FD28(sp20, (s16) volume);
tmp_a2->unk8 = arg1; tmp_a2->unk8 = volume;
} }
void func_8025A6CC(enum comusic_e arg0, s32 arg1){ void func_8025A6CC(enum comusic_e track_id, s32 volume){
func_8025A5AC(arg0, arg1, 0); func_8025A5AC(track_id, volume, 0);
} }
void func_8025A6EC(enum comusic_e track_id, s32 arg1){ void func_8025A6EC(enum comusic_e track_id, s32 volume){
func_8025A5AC(track_id, arg1, 1); func_8025A5AC(track_id, volume, 1);
} }
//comusic_queueTrack //comusic_queueTrack

View File

@@ -159,7 +159,7 @@ void __baMarker_8028B9A8(s32 arg0){
s32 ideal_yaw[3]; s32 ideal_yaw[3];
tmp_v0 = cubeList_findNodePropByActorId(0x1F6, 0); tmp_v0 = cubeList_findNodePropByActorId(0x1F6, 0);
func_80304D4C(tmp_v0, &ideal_yaw); nodeprop_getPosition_s32(tmp_v0, &ideal_yaw);
func_802CA1CC(arg0); func_802CA1CC(arg0);
func_8032811C(ACTOR_47_EMPTY_HONEYCOMB, &ideal_yaw, 0); func_8032811C(ACTOR_47_EMPTY_HONEYCOMB, &ideal_yaw, 0);
func_8025A6EC(COMUSIC_2B_DING_B, 28000); func_8025A6EC(COMUSIC_2B_DING_B, 28000);

View File

@@ -74,8 +74,8 @@ void __bsDroneEnter_initParticleTypes(ParticleEmitter *p_ctrl, enum asset_e spri
particleEmitter_manualFree(p_ctrl); particleEmitter_manualFree(p_ctrl);
particleEmitter_setSprite(p_ctrl, sprite_id); particleEmitter_setSprite(p_ctrl, sprite_id);
particleEmitter_setFade(p_ctrl, 0.3f, 0.8f); particleEmitter_setFade(p_ctrl, 0.3f, 0.8f);
func_802EFB70(p_ctrl, 0.15f, 0.22f); particleEmitter_setStartingScaleRange(p_ctrl, 0.15f, 0.22f);
func_802EFB84(p_ctrl, 0.03f, 0.05f); particleEmitter_setFinalScaleRange(p_ctrl, 0.03f, 0.05f);
particleEmitter_setAngularVelocityRange(p_ctrl, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); particleEmitter_setAngularVelocityRange(p_ctrl, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f);
particleEmitter_setParticleLifeTimeRange(p_ctrl, 0.55f, 0.55f); particleEmitter_setParticleLifeTimeRange(p_ctrl, 0.55f, 0.55f);
} }

View File

@@ -60,8 +60,8 @@ void __bsDroneVanish_particleEmitInit(ParticleEmitter *p_ctrl, enum asset_e spri
particleEmitter_setSprite(p_ctrl, sprite_id); particleEmitter_setSprite(p_ctrl, sprite_id);
particleEmitter_setFade(p_ctrl, 0.3f, 0.8f); particleEmitter_setFade(p_ctrl, 0.3f, 0.8f);
particleEmitter_setParticleSpawnPositionRange(p_ctrl, -45.0f, 0.0f, -45.0f, 45.0f, 0.0f, 45.0f); particleEmitter_setParticleSpawnPositionRange(p_ctrl, -45.0f, 0.0f, -45.0f, 45.0f, 0.0f, 45.0f);
func_802EFB70(p_ctrl, 0.15f, 0.22f); particleEmitter_setStartingScaleRange(p_ctrl, 0.15f, 0.22f);
func_802EFB84(p_ctrl, 0.03f, 0.05f); particleEmitter_setFinalScaleRange(p_ctrl, 0.03f, 0.05f);
particleEmitter_setAngularVelocityRange(p_ctrl, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); particleEmitter_setAngularVelocityRange(p_ctrl, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f);
particleEmitter_setParticleLifeTimeRange(p_ctrl, 0.55f, 0.55f); particleEmitter_setParticleLifeTimeRange(p_ctrl, 0.55f, 0.55f);
} }

View File

@@ -37,7 +37,7 @@ void func_802AF7A0(ParticleEmitter *arg0, enum asset_e arg1){
particleEmitter_setSprite(arg0, arg1); particleEmitter_setSprite(arg0, arg1);
particleEmitter_setParticleAccelerationRange(arg0, 0.0f, -50.0f, 0.0f, 0.0f, -50.0f, 0.0f); particleEmitter_setParticleAccelerationRange(arg0, 0.0f, -50.0f, 0.0f, 0.0f, -50.0f, 0.0f);
particleEmitter_setFade(arg0, 0.4f, 0.8f); particleEmitter_setFade(arg0, 0.4f, 0.8f);
func_802EFB84(arg0, 0.03f, 0.03f); particleEmitter_setFinalScaleRange(arg0, 0.03f, 0.03f);
particleEmitter_setAngularVelocityRange(arg0, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); particleEmitter_setAngularVelocityRange(arg0, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f);
particleEmitter_setParticleLifeTimeRange(arg0, 0.65f, 0.65f); particleEmitter_setParticleLifeTimeRange(arg0, 0.65f, 0.65f);
func_802EFF50(arg0, 1.0f); func_802EFF50(arg0, 1.0f);
@@ -48,7 +48,7 @@ void func_802AF88C(ParticleEmitter * arg0, f32 arg1, f32 arg2){
arg1*30.0f, 10.0f, arg2*30.0f, arg1*30.0f, 10.0f, arg2*30.0f,
arg1*30.0f, 10.0f, arg2*30.0f arg1*30.0f, 10.0f, arg2*30.0f
); );
func_802EFB70(arg0, D_8037D470.unk14, D_8037D470.unk14); particleEmitter_setStartingScaleRange(arg0, D_8037D470.unk14, D_8037D470.unk14);
} }
void func_802AF900(void){ void func_802AF900(void){
@@ -148,8 +148,8 @@ void func_802AFBB8(f32 arg0[3]){
particleEmitter_setFade(s0, 0.7f, 0.8f); particleEmitter_setFade(s0, 0.7f, 0.8f);
particleEmitter_setParticleFramerateRange(s0, 12.0f, 12.0f); particleEmitter_setParticleFramerateRange(s0, 12.0f, 12.0f);
particleEmitter_setPosition(s0, arg0); particleEmitter_setPosition(s0, arg0);
func_802EFB70(s0, 3.2f, 3.2f); particleEmitter_setStartingScaleRange(s0, 3.2f, 3.2f);
func_802EFB84(s0, 3.2f, 3.2f); particleEmitter_setFinalScaleRange(s0, 3.2f, 3.2f);
particleEmitter_setParticleLifeTimeRange(s0, 0.8f, 0.8f); particleEmitter_setParticleLifeTimeRange(s0, 0.8f, 0.8f);
particleEmitter_emitN(s0, 1); particleEmitter_emitN(s0, 1);
@@ -158,8 +158,8 @@ void func_802AFBB8(f32 arg0[3]){
particleEmitter_setFade(s0, 0.1f, 0.8f); particleEmitter_setFade(s0, 0.1f, 0.8f);
particleEmitter_setParticleFramerateRange(s0, 15.0f, 15.0f); particleEmitter_setParticleFramerateRange(s0, 15.0f, 15.0f);
particleEmitter_setPosition(s0, arg0); particleEmitter_setPosition(s0, arg0);
func_802EFB70(s0, 3.0f, 3.0f); particleEmitter_setStartingScaleRange(s0, 3.0f, 3.0f);
func_802EFB84(s0, 3.0f, 3.0f); particleEmitter_setFinalScaleRange(s0, 3.0f, 3.0f);
particleEmitter_setParticleLifeTimeRange(s0, 0.65f, 0.65f); particleEmitter_setParticleLifeTimeRange(s0, 0.65f, 0.65f);
particleEmitter_emitN(s0, 1); particleEmitter_emitN(s0, 1);
@@ -167,8 +167,8 @@ void func_802AFBB8(f32 arg0[3]){
particleEmitter_setSprite(s0, ASSET_713_SPRITE_SPARKLE_YELLOW); //sparkle particleEmitter_setSprite(s0, ASSET_713_SPRITE_SPARKLE_YELLOW); //sparkle
particleEmitter_setVelocityAndAccelerationRanges(s0, &D_80364BB0); particleEmitter_setVelocityAndAccelerationRanges(s0, &D_80364BB0);
particleEmitter_setFade(s0, 0.0f, 0.6f); particleEmitter_setFade(s0, 0.0f, 0.6f);
func_802EFB70(s0, 0.28f, 0.32f); particleEmitter_setStartingScaleRange(s0, 0.28f, 0.32f);
func_802EFB84(s0, 0.03f, 0.03f); particleEmitter_setFinalScaleRange(s0, 0.03f, 0.03f);
particleEmitter_setAngularVelocityRange(s0, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); particleEmitter_setAngularVelocityRange(s0, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f);
particleEmitter_setParticleLifeTimeRange(s0, 2.0f, 2.0f); particleEmitter_setParticleLifeTimeRange(s0, 2.0f, 2.0f);
func_802EFF50(s0, 1.0f); func_802EFF50(s0, 1.0f);
@@ -187,8 +187,8 @@ void func_802AFBB8(f32 arg0[3]){
particleEmitter_setSprite(s0, ASSET_716_SPRITE_SPARKLE_WHITE); //sparkle particleEmitter_setSprite(s0, ASSET_716_SPRITE_SPARKLE_WHITE); //sparkle
particleEmitter_setVelocityAndAccelerationRanges(s0, &D_80364C40); particleEmitter_setVelocityAndAccelerationRanges(s0, &D_80364C40);
particleEmitter_setFade(s0, 0.0f, 0.6f); particleEmitter_setFade(s0, 0.0f, 0.6f);
func_802EFB70(s0, 0.28f, 0.32f); particleEmitter_setStartingScaleRange(s0, 0.28f, 0.32f);
func_802EFB84(s0, 0.03f, 0.03f); particleEmitter_setFinalScaleRange(s0, 0.03f, 0.03f);
particleEmitter_setAngularVelocityRange(s0, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); particleEmitter_setAngularVelocityRange(s0, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f);
particleEmitter_setParticleLifeTimeRange(s0, 2.0f, 2.0f); particleEmitter_setParticleLifeTimeRange(s0, 2.0f, 2.0f);
func_802EFF50(s0, 1.0f); func_802EFF50(s0, 1.0f);

View File

@@ -24,7 +24,7 @@ f32 D_8037DE20[3];
void chBadShad_update(Actor *this){ void chBadShad_update(Actor *this){
s32 iVar1; s32 iVar1;
if(!this->initialized){ if(!this->initialized){
this->initialized = 1; this->initialized = TRUE;
this->marker->collidable = 0; this->marker->collidable = 0;
} }
if(!this->despawn_flag && this->unk1C_x < (f32)(globalTimer_getTime() - 1) ){ if(!this->despawn_flag && this->unk1C_x < (f32)(globalTimer_getTime() - 1) ){

View File

@@ -121,7 +121,7 @@ void func_802C6240(Actor *this){
this->marker->dieFunc = func_802C61C0; this->marker->dieFunc = func_802C61C0;
this->marker->collisionFunc = func_802C60AC; this->marker->collisionFunc = func_802C60AC;
this->marker->collision2Func = func_802C6150; this->marker->collision2Func = func_802C6150;
this->unk138_24 = 0; this->is_first_encounter = FALSE;
this->unk16C_0 = 1; this->unk16C_0 = 1;
this->initialized = TRUE; this->initialized = TRUE;
return; return;
@@ -291,14 +291,14 @@ void func_802C6240(Actor *this){
actor_playAnimationOnce(this); actor_playAnimationOnce(this);
if(actor_animationIsAt(this, 0.95f)){ if(actor_animationIsAt(this, 0.95f)){
subaddie_set_state_with_direction(this, 0xe, 0.99f, 1); subaddie_set_state_with_direction(this, 0xe, 0.99f, 1);
this->unk60 = 4.0f; this->lifetime_value = 4.0f;
} }
break; break;
case 0xe: //L802C6C7C case 0xe: //L802C6C7C
actor_playAnimationOnce(this); actor_playAnimationOnce(this);
this->unk60 -= time_getDelta(); this->lifetime_value -= time_getDelta();
if(this->unk60 <= 0.0f){ if(this->lifetime_value <= 0.0f){
this->unk166 = 0x63; this->unk166 = 0x63;
subaddie_set_state_forward(this, 0xF); subaddie_set_state_forward(this, 0xF);
} }

View File

@@ -436,7 +436,7 @@ void chBottlesBonus_startTimer(s32 arg0, s32 arg1, s32 arg2) {
actor = marker_getActor(chBottlesBonusMarker); actor = marker_getActor(chBottlesBonusMarker);
actor->state = 4; actor->state = 4;
actor->unk60 = 0.0f; actor->lifetime_value = 0.0f;
timedFunc_set_2(0.25f, item_set, ITEM_6_HOURGLASS, TRUE); timedFunc_set_2(0.25f, item_set, ITEM_6_HOURGLASS, TRUE);
timedFunc_set_2(0.25f, item_set, ITEM_0_HOURGLASS_TIMER, D_803681A0[chBottleBonusPuzzleIndex + 1].time_seconds * 60 - 1); timedFunc_set_2(0.25f, item_set, ITEM_0_HOURGLASS_TIMER, D_803681A0[chBottleBonusPuzzleIndex + 1].time_seconds * 60 - 1);
} }
@@ -456,7 +456,7 @@ void chBottlesBonus_update(Actor *this) {
if (!this->unk16C_4) { if (!this->unk16C_4) {
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
actor_collisionOff(this); actor_collisionOff(this);
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
D_8037DEB4 = D_8037DEB0 = 0; D_8037DEB4 = D_8037DEB0 = 0;
marker_setFreeMethod(this->marker, chBottlesBonus_free); marker_setFreeMethod(this->marker, chBottlesBonus_free);
if (chBottleBonusBookselfModelBin == 0) { if (chBottleBonusBookselfModelBin == 0) {
@@ -502,11 +502,11 @@ void chBottlesBonus_update(Actor *this) {
} }
} }
} }
this->unk60 += sp50; this->lifetime_value += sp50;
switch(this->state){ switch(this->state){
case 1: case 1:
if ((this->unk60 > 2.0) && gctransition_done()) { if ((this->lifetime_value > 2.0) && gctransition_done()) {
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
func_8025A6EC(COMUSIC_98_BBONUS_PIECES_SHUFFLE, -1); func_8025A6EC(COMUSIC_98_BBONUS_PIECES_SHUFFLE, -1);
comusic_8025AB44(COMUSIC_95_BBONUS_A, 0, 2000); comusic_8025AB44(COMUSIC_95_BBONUS_A, 0, 2000);
func_8025AABC(COMUSIC_95_BBONUS_A); func_8025AABC(COMUSIC_95_BBONUS_A);
@@ -532,7 +532,7 @@ void chBottlesBonus_update(Actor *this) {
case 3: case 3:
break; break;
case 4: case 4:
if (this->unk60 > 2.0) { if (this->lifetime_value > 2.0) {
func_8025AEA0(COMUSIC_94_BBONUS, ((item_getCount(ITEM_0_HOURGLASS_TIMER) * 0x201D2) / (s32) ((D_803681A0[chBottleBonusPuzzleIndex + 1].time_seconds * 60) - 1)) + 330000); func_8025AEA0(COMUSIC_94_BBONUS, ((item_getCount(ITEM_0_HOURGLASS_TIMER) * 0x201D2) / (s32) ((D_803681A0[chBottleBonusPuzzleIndex + 1].time_seconds * 60) - 1)) + 330000);
if ((item_getCount(ITEM_6_HOURGLASS) == 0) && (chBottlesBonusCursor_isPuzzleCompleted() == 0)) { if ((item_getCount(ITEM_6_HOURGLASS) == 0) && (chBottlesBonusCursor_isPuzzleCompleted() == 0)) {
chBottlesBonus_lose(&D_8037DCC9, 0xE26); chBottlesBonus_lose(&D_8037DCC9, 0xE26);
@@ -547,7 +547,7 @@ void chBottlesBonus_update(Actor *this) {
void __chBottlesBonus_spawn(void){ void __chBottlesBonus_spawn(void){
Actor *actor; Actor *actor;
if(chBottlesBonusMarker == NULL){ if(chBottlesBonusMarker == NULL){
actor = func_8032813C(0x1E0, D_803682C4, 0); actor = spawn_actor_f32(0x1E0, D_803682C4, 0);
chBottlesBonusMarker = actor->marker; chBottlesBonusMarker = actor->marker;
chBottlesBonusCursor_spawn(); chBottlesBonusCursor_spawn();
func_802DF270(); func_802DF270();

View File

@@ -168,7 +168,7 @@ void chBottlesBonusCursor_draw(Gfx **gfx, Mtx **mtx, Vtx **vtx) {
} }
ActorMarker *chBottlesBonusCursor_spawn(void){ ActorMarker *chBottlesBonusCursor_spawn(void){
Actor *this = func_8032813C(0x2B4, D_80368400, 0); Actor *this = spawn_actor_f32(0x2B4, D_80368400, 0);
chBottlesBonusCursorMarker = this->marker; chBottlesBonusCursorMarker = this->marker;
return chBottlesBonusCursorMarker; return chBottlesBonusCursorMarker;
} }

View File

@@ -29,8 +29,8 @@ s32 __chBubble_func_802C5C70(f32 arg0[3], f32 arg1, ActorMarker *marker){
this->position_y = arg0[1] - arg1/2; this->position_y = arg0[1] - arg1/2;
this->position_z = arg0[2]; this->position_z = arg0[2];
func_8032AA58(this, arg1/200.0); func_8032AA58(this, arg1/200.0);
this->unk60 -= time_getDelta(); this->lifetime_value -= time_getDelta();
if(this->unk60 < 0.0f){ if(this->lifetime_value < 0.0f){
sp1C = 1; sp1C = 1;
} }
if(sp1C) if(sp1C)
@@ -56,6 +56,6 @@ void chBubble_update(Actor *this){
marker_setCollisionScripts(this->marker, __chBubble_collisionCallback, NULL, NULL); marker_setCollisionScripts(this->marker, __chBubble_collisionCallback, NULL, NULL);
marker_setFreeMethod(this->marker, __chBubble_freeCallback); marker_setFreeMethod(this->marker, __chBubble_freeCallback);
func_802F32C4(func_8032994C(), this->position, 200.0f, this->marker, __chBubble_func_802C5C70); func_802F32C4(func_8032994C(), this->position, 200.0f, this->marker, __chBubble_func_802C5C70);
this->unk60 = 10.0f; this->lifetime_value = 10.0f;
} }
} }

View File

@@ -88,7 +88,7 @@ bool chCollectible_collectItem(Actor* actor, enum file_progress_e arg1, enum ass
if(!actor || !actor->unk38_0) if(!actor || !actor->unk38_0)
return TRUE; return TRUE;
actor->unk60 = arg5; actor->lifetime_value = arg5;
chCollectible_setState(actor, 1); chCollectible_setState(actor, 1);
return FALSE; return FALSE;
} }
@@ -160,8 +160,8 @@ void chCollectible_update(Actor *this) {
switch (this->state) { switch (this->state) {
case 1: case 1:
if (this->unk60 > 0.0) { if (this->lifetime_value > 0.0) {
this->unk60 -= time_getDelta(); this->lifetime_value -= time_getDelta();
} else { } else {
chCollectible_setState(this, 2); chCollectible_setState(this, 2);
} }

View File

@@ -78,7 +78,7 @@ void __chCrab_ow(ActorMarker *marker, ActorMarker *other) {
Actor *this; Actor *this;
this = marker_getActor(marker); this = marker_getActor(marker);
this->unk60 = 3.0f; this->lifetime_value = 3.0f;
subaddie_set_state(this, 6); subaddie_set_state(this, 6);
actor_playAnimationOnce(this); actor_playAnimationOnce(this);
if (marker->id == MARKER_13_SNIPPET) { if (marker->id == MARKER_13_SNIPPET) {
@@ -108,7 +108,7 @@ void __chCrab_emitClawPiece(ParticleEmitter *p_ctrl, f32 position[3], enum asset
__chCrab_particleEmitterSetup(p_ctrl, position); __chCrab_particleEmitterSetup(p_ctrl, position);
particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
particleEmitter_setModel(p_ctrl, model_id); particleEmitter_setModel(p_ctrl, model_id);
func_802EFB70(p_ctrl, 0.5f, 0.8f); particleEmitter_setStartingScaleRange(p_ctrl, 0.5f, 0.8f);
particleEmitter_setAngularVelocityRange(p_ctrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); particleEmitter_setAngularVelocityRange(p_ctrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f);
particleEmitter_setParticleVelocityRange(p_ctrl, -200.0f, 850.0f, -200.0f, 400.0f, 1000.0f, 400.0f); particleEmitter_setParticleVelocityRange(p_ctrl, -200.0f, 850.0f, -200.0f, 400.0f, 1000.0f, 400.0f);
particleEmitter_emitN(p_ctrl, 2); particleEmitter_emitN(p_ctrl, 2);
@@ -118,7 +118,7 @@ void __chCrab_emitLegPiece(ParticleEmitter *p_ctrl, f32 position[3], enum asset_
__chCrab_particleEmitterSetup(p_ctrl, position); __chCrab_particleEmitterSetup(p_ctrl, position);
particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
particleEmitter_setModel(p_ctrl, model_id); particleEmitter_setModel(p_ctrl, model_id);
func_802EFB70(p_ctrl, 0.5f, 0.8f); particleEmitter_setStartingScaleRange(p_ctrl, 0.5f, 0.8f);
particleEmitter_setAngularVelocityRange(p_ctrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); particleEmitter_setAngularVelocityRange(p_ctrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f);
particleEmitter_setParticleVelocityRange(p_ctrl, -200.0f, 850.0f, -200.0f, 400.0f, 1000.0f, 400.0f); particleEmitter_setParticleVelocityRange(p_ctrl, -200.0f, 850.0f, -200.0f, 400.0f, 1000.0f, 400.0f);
particleEmitter_emitN(p_ctrl, 6); particleEmitter_emitN(p_ctrl, 6);
@@ -128,7 +128,7 @@ void __chCrab_emitHeadPiece(ParticleEmitter *p_ctrl, f32 position[3], enum asset
__chCrab_particleEmitterSetup(p_ctrl, position); __chCrab_particleEmitterSetup(p_ctrl, position);
particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
particleEmitter_setModel(p_ctrl, model_id); particleEmitter_setModel(p_ctrl, model_id);
func_802EFB70(p_ctrl, 1.0f, 1.0f); particleEmitter_setStartingScaleRange(p_ctrl, 1.0f, 1.0f);
particleEmitter_setAngularVelocityRange(p_ctrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setAngularVelocityRange(p_ctrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
particleEmitter_setParticleVelocityRange(p_ctrl, -50.0f, 750.0f, -50.0f, 120.0f, 900.0f, 120.0f); particleEmitter_setParticleVelocityRange(p_ctrl, -50.0f, 750.0f, -50.0f, 120.0f, 900.0f, 120.0f);
particleEmitter_emitN(p_ctrl, 1); particleEmitter_emitN(p_ctrl, 1);
@@ -180,7 +180,7 @@ void __chCrab_die(ActorMarker *marker, ActorMarker *other){
FUNC_8030E8B4(SFX_79_TICKER_DEATH, 1.0f, 32750, this->position, 950, 1900); FUNC_8030E8B4(SFX_79_TICKER_DEATH, 1.0f, 32750, this->position, 950, 1900);
FUNC_8030E8B4(SFX_79_TICKER_DEATH, 1.0f, 28000, this->position, 950, 1900); FUNC_8030E8B4(SFX_79_TICKER_DEATH, 1.0f, 28000, this->position, 950, 1900);
__spawnQueue_add_4((GenFunction_4)func_802C4140, ACTOR_4C_STEAM, reinterpret_cast(s32, this->position[0]), reinterpret_cast(s32, this->position[1]), reinterpret_cast(s32, this->position[2])); __spawnQueue_add_4((GenFunction_4)func_802C4140, ACTOR_4C_STEAM, reinterpret_cast(s32, this->position[0]), reinterpret_cast(s32, this->position[1]), reinterpret_cast(s32, this->position[2]));
this->unk60 = 5.0f; this->lifetime_value = 5.0f;
marker->collidable = FALSE; marker->collidable = FALSE;
this->unk138_27 = 1; this->unk138_27 = 1;
marker_despawn(marker); marker_despawn(marker);
@@ -239,7 +239,7 @@ void chCrab_update(Actor *this) {
marker_setCollisionScripts(this->marker, __chCrab_touch, __chCrab_ow, __chCrab_die); marker_setCollisionScripts(this->marker, __chCrab_touch, __chCrab_ow, __chCrab_die);
func_803300C0(this->marker, &__chCrab_802CB76C); func_803300C0(this->marker, &__chCrab_802CB76C);
this->unk124_0 = this->unk138_31 = FALSE; this->unk124_0 = this->unk138_31 = FALSE;
this->unk138_24 = FALSE; this->is_first_encounter = FALSE;
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
animctrl_setTransitionDuration(this->animctrl, 0.25f); animctrl_setTransitionDuration(this->animctrl, 0.25f);
if (map_get() == MAP_A_TTC_SANDCASTLE) { if (map_get() == MAP_A_TTC_SANDCASTLE) {
@@ -273,7 +273,7 @@ void chCrab_update(Actor *this) {
func_80311480(ASSET_D32_DIALOG_MUTANT_CRAB_MEET, 0xF, this->position, NULL, __chCrab_mutantTextCallback, NULL); func_80311480(ASSET_D32_DIALOG_MUTANT_CRAB_MEET, 0xF, this->position, NULL, __chCrab_mutantTextCallback, NULL);
mapSpecificFlags_set(0, TRUE); mapSpecificFlags_set(0, TRUE);
levelSpecificFlags_set(0xE, TRUE); levelSpecificFlags_set(0xE, TRUE);
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
} }
} }
if (map_get() == MAP_A_TTC_SANDCASTLE) { if (map_get() == MAP_A_TTC_SANDCASTLE) {
@@ -292,8 +292,8 @@ void chCrab_update(Actor *this) {
} }
if (levelSpecificFlags_get(0xE)) { if (levelSpecificFlags_get(0xE)) {
if ((this->state != 8) && (this->state != 9)) { if ((this->state != 8) && (this->state != 9)) {
subaddie_set_state_with_direction(this, (this->unk138_24) ? 8 : 9, 0.0f, 1); subaddie_set_state_with_direction(this, (this->is_first_encounter) ? 8 : 9, 0.0f, 1);
this->unk138_24 = FALSE; this->is_first_encounter = FALSE;
} }
} }
@@ -353,8 +353,8 @@ void chCrab_update(Actor *this) {
break; break;
case 5: //L802CC0AC case 5: //L802CC0AC
this->unk60 = MAX(0.0, this->unk60 - sp30); this->lifetime_value = MAX(0.0, this->lifetime_value - sp30);
if (this->unk60 == 0.0f) { if (this->lifetime_value == 0.0f) {
subaddie_set_state(this, 7); subaddie_set_state(this, 7);
actor_playAnimationOnce(this); actor_playAnimationOnce(this);
if (this->marker->id == 0x16B) { if (this->marker->id == 0x16B) {
@@ -368,7 +368,7 @@ void chCrab_update(Actor *this) {
case 6: //L802CC18C case 6: //L802CC18C
if (animctrl_isStopped(this->animctrl)) { if (animctrl_isStopped(this->animctrl)) {
if (this->unk60 == 0.0f) { if (this->lifetime_value == 0.0f) {
func_80326310(this); func_80326310(this);
} else { } else {
subaddie_set_state(this, 5); subaddie_set_state(this, 5);

View File

@@ -41,8 +41,8 @@ void func_80359A40(f32 position[3], struct_core2_D2AB0 *arg1, s32 cnt){
particleEmitter_setDrawMode(pCtrl, PART_EMIT_ROTATABLE); particleEmitter_setDrawMode(pCtrl, PART_EMIT_ROTATABLE);
particleEmitter_setRGB(pCtrl, D_80372AE4); particleEmitter_setRGB(pCtrl, D_80372AE4);
particleEmitter_setPosition(pCtrl, position); particleEmitter_setPosition(pCtrl, position);
func_802EFB70(pCtrl, 0.1f, 0.1f); particleEmitter_setStartingScaleRange(pCtrl, 0.1f, 0.1f);
func_802EFB84(pCtrl, 1.0f, 1.4f); particleEmitter_setFinalScaleRange(pCtrl, 1.0f, 1.4f);
particleEmitter_setSpawnIntervalRange(pCtrl, arg1->unk0, arg1->unk4); particleEmitter_setSpawnIntervalRange(pCtrl, arg1->unk0, arg1->unk4);
particleEmitter_setParticleLifeTimeRange(pCtrl, arg1->unk8, arg1->unkC); particleEmitter_setParticleLifeTimeRange(pCtrl, arg1->unk8, arg1->unkC);
particleEmitter_setFade(pCtrl, 0.0f, 0.5f); particleEmitter_setFade(pCtrl, 0.0f, 0.5f);
@@ -72,9 +72,9 @@ void chdrips_update(Actor *this){
if(!this->unk16C_4){ if(!this->unk16C_4){
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
actor_collisionOff(this); actor_collisionOff(this);
this->unk60 = this->yaw/360.0; this->lifetime_value = this->yaw/360.0;
} }
if(__chdrips_playerWithinDist(this, 5000) && randf() < this->unk60){ if(__chdrips_playerWithinDist(this, 5000) && randf() < this->lifetime_value){
pCtrl = partEmitMgr_newEmitter(1); pCtrl = partEmitMgr_newEmitter(1);
particleEmitter_setModel(pCtrl, ASSET_8A0_SPRITE_WATER_DROP); particleEmitter_setModel(pCtrl, ASSET_8A0_SPRITE_WATER_DROP);
particleEmitter_setPosition(pCtrl, this->position); particleEmitter_setPosition(pCtrl, this->position);
@@ -83,8 +83,8 @@ void chdrips_update(Actor *this){
particleEmitter_setParticleCallback(pCtrl, __chdrips_particleCallback); particleEmitter_setParticleCallback(pCtrl, __chdrips_particleCallback);
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f);
particleEmitter_setParticleLifeTimeRange(pCtrl, 7.0f, 7.0f); particleEmitter_setParticleLifeTimeRange(pCtrl, 7.0f, 7.0f);
func_802EFB70(pCtrl, 0.1f, 0.1f); particleEmitter_setStartingScaleRange(pCtrl, 0.1f, 0.1f);
func_802EFB84(pCtrl, 0.1f, 0.1f); particleEmitter_setFinalScaleRange(pCtrl, 0.1f, 0.1f);
particleEmitter_emitN(pCtrl, 1); particleEmitter_emitN(pCtrl, 1);
} }
} }

View File

@@ -25,8 +25,8 @@ void __chfirefx_spawnSmoke(f32 position[3], f32 scale){
particleEmitter_setPosition(pCtrl, position); particleEmitter_setPosition(pCtrl, position);
particleEmitter_setParticleSpawnPositionRange(pCtrl, 0.0f, 110.0f*scale, 0.0f, 0.0f, 110.0f*scale, 0.0f); particleEmitter_setParticleSpawnPositionRange(pCtrl, 0.0f, 110.0f*scale, 0.0f, 0.0f, 110.0f*scale, 0.0f);
particleEmitter_setParticleVelocityRange(pCtrl, 0.0f, 40.0f*scale, 0.0f, 0.0f, 90.0f*scale, 0.0f); particleEmitter_setParticleVelocityRange(pCtrl, 0.0f, 40.0f*scale, 0.0f, 0.0f, 90.0f*scale, 0.0f);
func_802EFB70(pCtrl, 2.6*scale, 3.2*scale); particleEmitter_setStartingScaleRange(pCtrl, 2.6*scale, 3.2*scale);
func_802EFB84(pCtrl, 5.0*scale, 6.0*scale); particleEmitter_setFinalScaleRange(pCtrl, 5.0*scale, 6.0*scale);
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f);
particleEmitter_setParticleLifeTimeRange(pCtrl, 4.0f, 7.0f); particleEmitter_setParticleLifeTimeRange(pCtrl, 4.0f, 7.0f);
particleEmitter_setFade(pCtrl, 0.3f, 0.7f); particleEmitter_setFade(pCtrl, 0.3f, 0.7f);
@@ -44,8 +44,8 @@ void __chfirefx_spawnSpark(f32 position[3], f32 scale){
particleEmitter_setParticleSpawnPositionRange(pCtrl, 0.0f, 20.0f*scale, 0.0f, 0.0f, 20.0f*scale, 0.0f); particleEmitter_setParticleSpawnPositionRange(pCtrl, 0.0f, 20.0f*scale, 0.0f, 0.0f, 20.0f*scale, 0.0f);
particleEmitter_setParticleVelocityRange(pCtrl, -30.0f*scale, 120.0f*scale, -30.0f*scale, 60.0f*scale, 360.0f*scale, 60.0f*scale); particleEmitter_setParticleVelocityRange(pCtrl, -30.0f*scale, 120.0f*scale, -30.0f*scale, 60.0f*scale, 360.0f*scale, 60.0f*scale);
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -50.0f, 0.0f, 0.0f, -90.0f, 0.0f); particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -50.0f, 0.0f, 0.0f, -90.0f, 0.0f);
func_802EFB70(pCtrl, 0.1*scale, 0.2*scale); particleEmitter_setStartingScaleRange(pCtrl, 0.1*scale, 0.2*scale);
func_802EFB84(pCtrl, 0.2*scale, 0.4*scale); particleEmitter_setFinalScaleRange(pCtrl, 0.2*scale, 0.4*scale);
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f);
particleEmitter_setParticleLifeTimeRange(pCtrl, 0.9f, 1.3f); particleEmitter_setParticleLifeTimeRange(pCtrl, 0.9f, 1.3f);
particleEmitter_setFade(pCtrl, 0.3f, 0.7f); particleEmitter_setFade(pCtrl, 0.3f, 0.7f);

View File

@@ -2,7 +2,7 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
extern f32 func_80309724(f32[3]); extern f32 mapModel_getFloorY(f32[3]);
typedef struct { typedef struct {
f32 unk0; f32 unk0;
@@ -261,7 +261,7 @@ void func_8035C8F4(Actor *this){
this->marker->unk14_21 = FALSE; this->marker->unk14_21 = FALSE;
this->marker->actorFreeFunc = func_8035C8C8; this->marker->actorFreeFunc = func_8035C8C8;
marker_setCollisionScripts(this->marker, func_8035C6C4, func_8035C6C4, func_8035C6F0); marker_setCollisionScripts(this->marker, func_8035C6C4, func_8035C6C4, func_8035C6F0);
local->unk4 = func_80309724(this->position); local->unk4 = mapModel_getFloorY(this->position);
local->pCtrl_8 = NULL; local->pCtrl_8 = NULL;
local->unk34[0] = this->yaw; local->unk34[0] = this->yaw;
local->unk34[2] = local->unk34[1] = local->unk34[0]; local->unk34[2] = local->unk34[1] = local->unk34[0];

View File

@@ -287,7 +287,7 @@ void func_802C4BB4(ActorMarker *marker){
sp20 = marker->id - 0xe4; sp20 = marker->id - 0xe4;
this = marker_getActor(marker); this = marker_getActor(marker);
sp18 = this->scale; sp18 = this->scale;
other = func_8032813C(sp20 + 0x198, this->position, (s32)this->yaw); other = spawn_actor_f32(sp20 + 0x198, this->position, (s32)this->yaw);
other->scale = sp18; other->scale = sp18;
} }

View File

@@ -60,8 +60,8 @@ void func_8035AFE0(f32 scale, f32 pos[3], s32 cnt, enum asset_e sprite_id, s32 a
-100.0f*scale, -20.0f*scale, -100.0f*scale, -100.0f*scale, -20.0f*scale, -100.0f*scale,
100.0f*scale, 100.0f*scale, 100.0f*scale 100.0f*scale, 100.0f*scale, 100.0f*scale
); );
func_802EFB70(pCtrl, scale*0.4, scale*0.6); particleEmitter_setStartingScaleRange(pCtrl, scale*0.4, scale*0.6);
func_802EFB84(pCtrl, scale*1.0, scale*1.4); particleEmitter_setFinalScaleRange(pCtrl, scale*1.0, scale*1.4);
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f);
particleEmitter_setParticleLifeTimeRange(pCtrl, 1.0f, 1.4f); particleEmitter_setParticleLifeTimeRange(pCtrl, 1.0f, 1.4f);
particleEmitter_setFade(pCtrl, 0.0f, 0.01f); particleEmitter_setFade(pCtrl, 0.0f, 0.01f);
@@ -96,7 +96,7 @@ void func_8035B2C4(ActorMarker *this_marker, ActorMarker *other_marker){
void func_8035B3B4(ActorMarker *this_marker, ActorMarker *other_marker){ void func_8035B3B4(ActorMarker *this_marker, ActorMarker *other_marker){
Actor *this = marker_getActor(this_marker); Actor *this = marker_getActor(this_marker);
this->unk60 = 1.0f; this->lifetime_value = 1.0f;
} }
int func_8035B3E4(Actor *this){ int func_8035B3E4(Actor *this){
@@ -208,7 +208,7 @@ void func_8035B900(Actor *this){
this->marker->propPtr->unk8_3 = FALSE; this->marker->propPtr->unk8_3 = FALSE;
actor_collisionOn(this); actor_collisionOn(this);
this->velocity_z = 0.0f; this->velocity_z = 0.0f;
this->unk60 = 0.0f; this->lifetime_value = 0.0f;
this->unk1C[0] = this->position_y + this->scale*100.0f; this->unk1C[0] = this->position_y + this->scale*100.0f;
this->velocity_y = this->scale*2.0; this->velocity_y = this->scale*2.0;
this->velocity_x = this->unk1C[0]; this->velocity_x = this->unk1C[0];
@@ -216,8 +216,8 @@ void func_8035B900(Actor *this){
animctrl_setTransitionDuration(this->animctrl, 0.8f); animctrl_setTransitionDuration(this->animctrl, 0.8f);
}//L8035B9D4 }//L8035B9D4
if(0.0 < this->unk60 - sp2C){ if(0.0 < this->lifetime_value - sp2C){
this->unk60 -= sp2C; this->lifetime_value -= sp2C;
} }
else{//L8035BA08 else{//L8035BA08
switch(this->state){ switch(this->state){

View File

@@ -38,7 +38,7 @@ void chgloop_spawnBubble(s32 arg0, s32 arg1, s32 arg2, s32 arg3){
sp1C[0] = reinterpret_cast(f32, arg0); sp1C[0] = reinterpret_cast(f32, arg0);
sp1C[1] = reinterpret_cast(f32, arg1); sp1C[1] = reinterpret_cast(f32, arg1);
sp1C[2] = reinterpret_cast(f32, arg2); sp1C[2] = reinterpret_cast(f32, arg2);
func_8032813C(ACTOR_E7_GLOOP_BUBBLE, sp1C, (s32)reinterpret_cast(f32, arg3)); spawn_actor_f32(ACTOR_E7_GLOOP_BUBBLE, sp1C, (s32)reinterpret_cast(f32, arg3));
} }
void chgloop_update(Actor *this){ void chgloop_update(Actor *this){

View File

@@ -114,7 +114,7 @@ void func_8035A04C(f32 position[3], s32 cnt, enum asset_e model_id, f32 scale){
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1000.0f, 0.0f, 0.0f, -1000.0f, 0.0f); particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1000.0f, 0.0f, 0.0f, -1000.0f, 0.0f);
particleEmitter_setParticleVelocityRange(pCtrl, -400.0f*scale, 450.0f*scale, -400.0f*scale, 400.0f*scale, 600.0f*scale, 400.0f*scale); particleEmitter_setParticleVelocityRange(pCtrl, -400.0f*scale, 450.0f*scale, -400.0f*scale, 400.0f*scale, 600.0f*scale, 400.0f*scale);
particleEmitter_setAngularVelocityRange(pCtrl, 100.0f*scale, 100.0f*scale, 100.0f*scale, 250.0f*scale, 250.0f*scale, 250.0f*scale); particleEmitter_setAngularVelocityRange(pCtrl, 100.0f*scale, 100.0f*scale, 100.0f*scale, 250.0f*scale, 250.0f*scale, 250.0f*scale);
func_802EFB70(pCtrl, scale*0.2, scale*0.4); particleEmitter_setStartingScaleRange(pCtrl, scale*0.2, scale*0.4);
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.02f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.02f);
particleEmitter_setParticleLifeTimeRange(pCtrl, 2.2f, 2.2f); particleEmitter_setParticleLifeTimeRange(pCtrl, 2.2f, 2.2f);
particleEmitter_setFade(pCtrl, 0.0f, 0.3f); particleEmitter_setFade(pCtrl, 0.0f, 0.3f);
@@ -130,8 +130,8 @@ void func_8035A228(f32 position[3], s32 cnt, enum asset_e sprite_id, f32 scale){
particleEmitter_setParticleSpawnPositionRange(pCtrl, -50.0f*scale, 0.0f, -50.0f*scale, 50.0f*scale, 200.0f*scale, 50.0f*scale); particleEmitter_setParticleSpawnPositionRange(pCtrl, -50.0f*scale, 0.0f, -50.0f*scale, 50.0f*scale, 200.0f*scale, 50.0f*scale);
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -10.0f, 0.0f, 0.0f, -10.0f, 0.0f); particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -10.0f, 0.0f, 0.0f, -10.0f, 0.0f);
particleEmitter_setParticleVelocityRange(pCtrl, -280.0f*scale, 0.0f, -280.0f*scale, 280.0f*scale, 280.0f*scale, 280.0f*scale); particleEmitter_setParticleVelocityRange(pCtrl, -280.0f*scale, 0.0f, -280.0f*scale, 280.0f*scale, 280.0f*scale, 280.0f*scale);
func_802EFB70(pCtrl, scale*0.6, scale*0.8); particleEmitter_setStartingScaleRange(pCtrl, scale*0.6, scale*0.8);
func_802EFB84(pCtrl, scale*1.0, scale*1.4); particleEmitter_setFinalScaleRange(pCtrl, scale*1.0, scale*1.4);
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f);
particleEmitter_setParticleLifeTimeRange(pCtrl, 1.2f, 1.8f); particleEmitter_setParticleLifeTimeRange(pCtrl, 1.2f, 1.8f);
particleEmitter_setFade(pCtrl, 0.0f, 0.01f); particleEmitter_setFade(pCtrl, 0.0f, 0.01f);
@@ -146,8 +146,8 @@ void func_8035A3F8(f32 position[3], s32 cnt, enum asset_e sprite_id, f32 scale){
particleEmitter_setPosition(pCtrl, position); particleEmitter_setPosition(pCtrl, position);
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -10.0f, 0.0f, 0.0f, -10.0f, 0.0f); particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -10.0f, 0.0f, 0.0f, -10.0f, 0.0f);
particleEmitter_setParticleVelocityRange(pCtrl, -60.0f*scale, 0.0f, -60.0f*scale, 60.0f*scale, 60.0f*scale, 60.0f*scale); particleEmitter_setParticleVelocityRange(pCtrl, -60.0f*scale, 0.0f, -60.0f*scale, 60.0f*scale, 60.0f*scale, 60.0f*scale);
func_802EFB70(pCtrl, scale*0.4, scale*0.6); particleEmitter_setStartingScaleRange(pCtrl, scale*0.4, scale*0.6);
func_802EFB84(pCtrl, scale*0.8, scale*1.2); particleEmitter_setFinalScaleRange(pCtrl, scale*0.8, scale*1.2);
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f);
particleEmitter_setParticleLifeTimeRange(pCtrl, 0.5f, 0.7f); particleEmitter_setParticleLifeTimeRange(pCtrl, 0.5f, 0.7f);
particleEmitter_setFade(pCtrl, 0.0f, 0.3f); particleEmitter_setFade(pCtrl, 0.0f, 0.3f);
@@ -276,11 +276,11 @@ void chicecube_update(Actor *this){
this->alpha_124_19 = 0x50; this->alpha_124_19 = 0x50;
actor_setOpacity(this, this->alpha_124_19); actor_setOpacity(this, this->alpha_124_19);
this->unk38_31 = 0; this->unk38_31 = 0;
this->unk60 = 1.0f; this->lifetime_value = 1.0f;
}//L8035ABC0 }//L8035ABC0
if(this->unk60 <= 0.0){ if(this->lifetime_value <= 0.0){
if(-99999.0 != this->unk60){ if(-99999.0 != this->lifetime_value){
this->unk60 = -99999.0f; this->lifetime_value = -99999.0f;
actor_collisionOn(this); actor_collisionOn(this);
this->unk1C[0] =this->position[0]; this->unk1C[0] =this->position[0];
this->unk1C[1] =this->position[1]; this->unk1C[1] =this->position[1];
@@ -289,7 +289,7 @@ void chicecube_update(Actor *this){
} }
} }
else{//L8035AC3C else{//L8035AC3C
this->unk60 -= sp3C; this->lifetime_value -= sp3C;
} }
if(0.0 >= this->velocity[1]){ if(0.0 >= this->velocity[1]){

View File

@@ -30,7 +30,7 @@ Actor *__chJigsawDance_draw(ActorMarker *this, Gfx **gdl, Mtx **mptr, Vtx **arg3
Actor *thisActor = marker_getActor(this); Actor *thisActor = marker_getActor(this);
if(!thisActor->initialized){ if(!thisActor->initialized){
thisActor->initialized = 1; thisActor->initialized = TRUE;
return thisActor; return thisActor;
} }
else{ else{

View File

@@ -104,7 +104,7 @@ void chJinjo_update(Actor * this){
local = &this->jinjo; local = &this->jinjo;
if(!this->initialized){ if(!this->initialized){
this->initialized = 1; this->initialized = TRUE;
local->unk0 = 1; local->unk0 = 1;
local->unk4 = 0; local->unk4 = 0;
local->unk8 = (this->position_y < func_80309B24(this->position)); local->unk8 = (this->position_y < func_80309B24(this->position));

View File

@@ -163,9 +163,9 @@ void chmole_healthRefill(ActorMarker *marker, enum asset_e arg1, s32 arg2){
func_80311480(chmole_learnedAllGameAbilities()? 0xa87 : chmole_learnedAllLevelAbilitiesDialog(), 7, 0, actor->marker, chmole_healthRefill, NULL); func_80311480(chmole_learnedAllGameAbilities()? 0xa87 : chmole_learnedAllLevelAbilitiesDialog(), 7, 0, actor->marker, chmole_healthRefill, NULL);
} }
else{//L802D97BC else{//L802D97BC
if(actor->unk138_24){ if(actor->is_first_encounter){
func_80347A14(1); func_80347A14(1);
actor->unk138_24 = FALSE; actor->is_first_encounter = FALSE;
} }
timed_exitStaticCamera(0.0f); timed_exitStaticCamera(0.0f);
if(actor->state == 5){ if(actor->state == 5){
@@ -229,7 +229,7 @@ int chmole_learnAbility(Actor *this){
// New Ability: Learn Dialog & Misc Actions // New Ability: Learn Dialog & Misc Actions
else{ else{
func_80347A14(0); func_80347A14(0);
this->unk138_24 = 1; this->is_first_encounter = TRUE;
sp2C = moleTable[this->unkF4_8-9].learn_text; sp2C = moleTable[this->unkF4_8-9].learn_text;
ability_unlock(moleTable[this->unkF4_8-9].ability); ability_unlock(moleTable[this->unkF4_8-9].ability);
switch(moleTable[this->unkF4_8-9].ability){ switch(moleTable[this->unkF4_8-9].ability){

View File

@@ -34,7 +34,7 @@ void chOverlayCopyright_update(Actor *this){
void __chOverlayCopyright_spawn(void) { void __chOverlayCopyright_spawn(void) {
Actor *actor; Actor *actor;
if (chOverlayCopyrightMarker == 0) { if (chOverlayCopyrightMarker == 0) {
actor = func_8032813C(ACTOR_1DD_COPYRIGHT_OVERLAY, D_803680D0, 0); actor = spawn_actor_f32(ACTOR_1DD_COPYRIGHT_OVERLAY, D_803680D0, 0);
chOverlayCopyrightMarker = actor->marker; chOverlayCopyrightMarker = actor->marker;
} }
} }

View File

@@ -2,7 +2,7 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
extern Actor *func_8032813C(enum actor_e, f32[3], s32); extern Actor *spawn_actor_f32(enum actor_e, f32[3], s32);
extern void actor_postdrawMethod(ActorMarker *marker); extern void actor_postdrawMethod(ActorMarker *marker);
Actor *chOverlayNoController_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *chOverlayNoController_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
@@ -73,7 +73,7 @@ void chOverlayNoController_update(Actor *this) {
void __chOverlayNoController_spawn(void){ void __chOverlayNoController_spawn(void){
if(chOverlayNoController_marker == NULL){ if(chOverlayNoController_marker == NULL){
chOverlayNoController_marker = func_8032813C(ACTOR_1DF_NO_CONTROLLER_OVERLAY, D_80368168, 0)->marker; chOverlayNoController_marker = spawn_actor_f32(ACTOR_1DF_NO_CONTROLLER_OVERLAY, D_80368168, 0)->marker;
} }
} }

View File

@@ -5,7 +5,7 @@
extern void subaddie_set_state_with_direction(Actor *, s32, f32, s32); extern void subaddie_set_state_with_direction(Actor *, s32, f32, s32);
extern void actor_predrawMethod(Actor *); extern void actor_predrawMethod(Actor *);
extern void actor_postdrawMethod(ActorMarker *); extern void actor_postdrawMethod(ActorMarker *);
extern Actor *func_8032813C(enum actor_e id, f32[3], s32); extern Actor *spawn_actor_f32(enum actor_e id, f32[3], s32);
Actor *chOverlayPressStart_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *chOverlayPressStart_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
@@ -69,7 +69,7 @@ void chOverlayPressStart_func_802DCC78(ActorMarker *this){
void chOverlayPressStart_update(Actor *this){ void chOverlayPressStart_update(Actor *this){
if(!this->initialized){ if(!this->initialized){
this->initialized = 1; this->initialized = TRUE;
this->depth_mode = MODEL_RENDER_DEPTH_NONE; this->depth_mode = MODEL_RENDER_DEPTH_NONE;
actor_collisionOff(this); actor_collisionOff(this);
subaddie_set_state_with_direction(this, 1, 0.0f, 1); subaddie_set_state_with_direction(this, 1, 0.0f, 1);
@@ -85,7 +85,7 @@ void chOverlayPressStart_update(Actor *this){
void __chOverlayPressStart_spawn(void){ void __chOverlayPressStart_spawn(void){
if(D_8037DE80 == NULL){ if(D_8037DE80 == NULL){
D_8037DE80 = func_8032813C(ACTOR_1DE_PRESS_START_OVERLAY, D_80368118, 0)->marker; D_8037DE80 = spawn_actor_f32(ACTOR_1DE_PRESS_START_OVERLAY, D_80368118, 0)->marker;
} }
} }

View File

@@ -50,7 +50,7 @@ void chShrapnel_func_802D0AB8(Actor *this) {
void chShrapnel_spawnExplodeActor(s32 arg0){ void chShrapnel_spawnExplodeActor(s32 arg0){
Actor *this = reinterpret_cast(Actor *, arg0); Actor *this = reinterpret_cast(Actor *, arg0);
func_8032813C(0xF3, this->unk1C, 0); spawn_actor_f32(0xF3, this->unk1C, 0);
} }
void chShrapnel_emitExplosion(Actor *this) { void chShrapnel_emitExplosion(Actor *this) {
@@ -65,8 +65,8 @@ void chShrapnel_emitExplosion(Actor *this) {
particleEmitter_setParticleFramerateRange(temp_v0, 4.0f, 4.0f); particleEmitter_setParticleFramerateRange(temp_v0, 4.0f, 4.0f);
particleEmitter_setParticleSpawnPositionRange(temp_v0, 0.0f, 200.0f, 0.0f, 0.0f, 200.0f, 0.0f); particleEmitter_setParticleSpawnPositionRange(temp_v0, 0.0f, 200.0f, 0.0f, 0.0f, 200.0f, 0.0f);
particleEmitter_setPosition(temp_v0, this->position); particleEmitter_setPosition(temp_v0, this->position);
func_802EFB70(temp_v0, 3.0f, 3.0f); particleEmitter_setStartingScaleRange(temp_v0, 3.0f, 3.0f);
func_802EFB84(temp_v0, 8.0f, 8.0f); particleEmitter_setFinalScaleRange(temp_v0, 8.0f, 8.0f);
particleEmitter_setParticleLifeTimeRange(temp_v0, 0.5f, 0.5f); particleEmitter_setParticleLifeTimeRange(temp_v0, 0.5f, 0.5f);
particleEmitter_setParticleVelocityRange(temp_v0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); particleEmitter_setParticleVelocityRange(temp_v0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
particleEmitter_emitN(temp_v0, 1); particleEmitter_emitN(temp_v0, 1);
@@ -81,8 +81,8 @@ void chShrapnel_emitSmoke(Actor *this) {
particleEmitter_setFade(temp_v0, 0.05f, 0.1f); particleEmitter_setFade(temp_v0, 0.05f, 0.1f);
particleEmitter_setStartingFrameRange(temp_v0, 0, 7); particleEmitter_setStartingFrameRange(temp_v0, 0, 7);
particleEmitter_setPosition(temp_v0, this->position); particleEmitter_setPosition(temp_v0, this->position);
func_802EFB70(temp_v0, 1.0f, 1.5f); particleEmitter_setStartingScaleRange(temp_v0, 1.0f, 1.5f);
func_802EFB84(temp_v0, 2.0f, 3.0f); particleEmitter_setFinalScaleRange(temp_v0, 2.0f, 3.0f);
particleEmitter_setParticleSpawnPositionRange(temp_v0, -75.0f, 25.0f, -75.0f, 75.0f, 75.0f, 75.0f); particleEmitter_setParticleSpawnPositionRange(temp_v0, -75.0f, 25.0f, -75.0f, 75.0f, 75.0f, 75.0f);
particleEmitter_setParticleVelocityRange(temp_v0, -70.0f, 50.0f, -70.0f, 70.0f, 100.0f, 70.0f); particleEmitter_setParticleVelocityRange(temp_v0, -70.0f, 50.0f, -70.0f, 70.0f, 100.0f, 70.0f);
particleEmitter_setRGB(temp_v0, D_803673F8); particleEmitter_setRGB(temp_v0, D_803673F8);
@@ -99,7 +99,7 @@ void chShrapnel_emitBodyParts(Actor *this, enum asset_e model_id, s32 n) {
func_802EFA18(temp_v0, 1); func_802EFA18(temp_v0, 1);
particleEmitter_setModel(temp_v0, model_id); particleEmitter_setModel(temp_v0, model_id);
particleEmitter_setPosition(temp_v0, this->position); particleEmitter_setPosition(temp_v0, this->position);
func_802EFB70(temp_v0, 0.05f, 2.0f); particleEmitter_setStartingScaleRange(temp_v0, 0.05f, 2.0f);
particleEmitter_setAngularVelocityRange(temp_v0, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setAngularVelocityRange(temp_v0, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
particleEmitter_setSpawnIntervalRange(temp_v0, 0.0f, 0.01f); particleEmitter_setSpawnIntervalRange(temp_v0, 0.0f, 0.01f);
particleEmitter_setParticleLifeTimeRange(temp_v0, 10.0f, 10.0f); particleEmitter_setParticleLifeTimeRange(temp_v0, 10.0f, 10.0f);
@@ -147,15 +147,15 @@ void chshrapnel_update(Actor *this) {
this->unk4C = 0.0f; this->unk4C = 0.0f;
} }
chShrapnel_func_802D0FC8(this); chShrapnel_func_802D0FC8(this);
this->unk60 += tick; this->lifetime_value += tick;
if (M_PI <= this->unk60) { if (M_PI <= this->lifetime_value) {
this->unk60 -= M_PI; this->lifetime_value -= M_PI;
} }
this->unk1C[0] = this->position[0]; this->unk1C[0] = this->position[0];
this->unk1C[1] = this->position[1]; this->unk1C[1] = this->position[1];
this->unk1C[2] = this->position[2]; this->unk1C[2] = this->position[2];
this->unk1C[1] = func_80309B24(this->position) - 15.0f; this->unk1C[1] = func_80309B24(this->position) - 15.0f;
this->position[1] = this->unk1C[1] - (sinf(this->unk60 * 4.0f) * 10.0f); this->position[1] = this->unk1C[1] - (sinf(this->lifetime_value * 4.0f) * 10.0f);
_player_getPosition(player_position); _player_getPosition(player_position);
switch (this->state) { switch (this->state) {
case 1: case 1:

View File

@@ -79,12 +79,12 @@ static void __chsnacker_start_dialog(Actor *this) {
this->unk28 = 0.0f; this->unk28 = 0.0f;
if (level_get() == LEVEL_2_TREASURE_TROVE_COVE) { if (level_get() == LEVEL_2_TREASURE_TROVE_COVE) {
text_index = mapSpecificFlags_getN(8, 3); text_index = mapSpecificFlags_getN(8, 3);
if( !this->unk138_24 ) { if( !this->is_first_encounter ) {
if(text_index < 4) { if(text_index < 4) {
if(func_80311480(0xA1B + text_index, 0, NULL, NULL, NULL, NULL)){ if(func_80311480(0xA1B + text_index, 0, NULL, NULL, NULL, NULL)){
text_index++; text_index++;
mapSpecificFlags_setN(8, text_index, 3); mapSpecificFlags_setN(8, text_index, 3);
this->unk138_24 = TRUE; this->is_first_encounter = TRUE;
} }
} }
} }
@@ -99,7 +99,7 @@ bool func_802E0DC0(f32 snacker_position[3]){
player_getPosition(player_position); player_getPosition(player_position);
return (4000000.0f < ml_distanceSquared_vec3f(player_position, snacker_position)) return (4000000.0f < ml_distanceSquared_vec3f(player_position, snacker_position))
|| ( (snacker_position[1] - func_80309724(snacker_position) < 70.0f) && (func_80309B24(snacker_position) - snacker_position[1] < 70.0f)); || ( (snacker_position[1] - mapModel_getFloorY(snacker_position) < 70.0f) && (func_80309B24(snacker_position) - snacker_position[1] < 70.0f));
} }
void func_802E0E88(Actor *this){ void func_802E0E88(Actor *this){
@@ -359,7 +359,7 @@ void chSnacker_spawn(void) {
} }
} }
snacker = func_8032813C(ACTOR_68_SNACKER, spawn_position, 0); snacker = spawn_actor_f32(ACTOR_68_SNACKER, spawn_position, 0);
s_chSnacker_marker = snacker->marker; s_chSnacker_marker = snacker->marker;
local = (ChSnackerLocal *)&snacker->local; local = (ChSnackerLocal *)&snacker->local;

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