Renaming Orange Pad

This commit is contained in:
Nabnut
2024-09-19 12:31:59 +02:00
parent 7883c762df
commit f0d53d6fcd
4 changed files with 71 additions and 78 deletions

View File

@@ -2291,7 +2291,7 @@ enum bs_e
};
enum mm_specific_flags {
MM_SPECIFIC_FLAG_0_UNKNOWN,
MM_SPECIFIC_FLAG_0_CHIMPY_STUMP_RAISED,
MM_SPECIFIC_FLAG_2_UNKNOWN = 0x2,
MM_SPECIFIC_FLAG_3_UNKNOWN,

View File

@@ -52,7 +52,7 @@ void chchimpystump_update(Actor *this) {
switch (this->state) {
case CHIMPY_STUMP_STATE_1_LOWERED:
if (mapSpecificFlags_get(MM_SPECIFIC_FLAG_0_UNKNOWN)) {
if (mapSpecificFlags_get(MM_SPECIFIC_FLAG_0_CHIMPY_STUMP_RAISED)) {
subaddie_set_state(this, CHIMPY_STUMP_STATE_2_RAISING);
}

View File

@@ -23,7 +23,8 @@ ActorAnimationInfo chlmonkeyAnimations[5] = {
{ASSET_5C_ANIM_CHIMPY_IDLE, 2.3f}
};
ActorInfo chlmonkeyInfo = { MARKER_A_CHIMPY, ACTOR_F_CHIMPY, ASSET_35D_MODEL_CHIMPY,
ActorInfo chlmonkeyInfo = {
MARKER_A_CHIMPY, ACTOR_F_CHIMPY, ASSET_35D_MODEL_CHIMPY,
1, chlmonkeyAnimations,
NULL, chLMonkey_update, actor_draw,
2500, 0, 0.8f, 0
@@ -32,15 +33,17 @@ ActorInfo chlmonkeyInfo = { MARKER_A_CHIMPY, ACTOR_F_CHIMPY, ASSET_35D_MODEL_CHI
/* .code */
void func_80388300(Actor **arg0) {
func_8028F31C((*arg0)->position, 800.0f, ACTOR_29_ORANGE_COLLECTIBLE, arg0);
if (func_80329530(*arg0, 345)
&& bacarry_get_markerId() == MARKER_36_ORANGE_COLLECTIBLE
&& func_8028FC34()
){
&& func_8028FC34()) {
func_8028FA34(0xc6, *arg0);
(*arg0)->is_first_encounter = TRUE;
timed_setStaticCameraToNode(1.2f, 0xF);
func_80324E38(1.2f, 3);
}
if (arg0);
}
@@ -83,7 +86,8 @@ void chLMonkey_update(Actor *this){
this->marker->propPtr->unk8_3 = 1;
if (map_get() != MAP_2_MM_MUMBOS_MOUNTAIN) {
func_80343DEC(this);
}else{//L80388630
}
else {//L80388630
if (func_80329530(this, 700) && !func_803114B0()) {
__chLMonkey_playRandomNoise(this);
}//L8038865C
@@ -93,10 +97,12 @@ void chLMonkey_update(Actor *this){
subaddie_set_state(this, 4);
if (!jiggyscore_isCollected(JIGGY_9_MM_CHIMPY)) {
func_80311480(ASSET_B40_DIALOG_CHIMPY_COMPLETE, 0xE, this->position, this->marker, __chLMonkey_complete, NULL);
}else{//L803886E8
}
else {//L803886E8
__chLMonkey_complete(this->marker, ASSET_B40_DIALOG_CHIMPY_COMPLETE, -1);
}//L80388898
}else{
}
else {
func_80388300(&this);
if (func_80329530(this, 345)
&& !func_80329530(this, 150)
@@ -124,7 +130,7 @@ void chLMonkey_update(Actor *this){
func_80343DEC(this);
actor_loopAnimation(this);
if (0.19 <= this->unk48) {
mapSpecificFlags_set(MM_SPECIFIC_FLAG_0_UNKNOWN, TRUE);
mapSpecificFlags_set(MM_SPECIFIC_FLAG_0_CHIMPY_STUMP_RAISED, TRUE);
}
if (0.24 <= this->unk48) {
mapSpecificFlags_set(MM_SPECIFIC_FLAG_3_UNKNOWN, TRUE);

View File

@@ -7,23 +7,21 @@ void func_80326224(Actor *);
void func_80329904(ActorMarker *, s32, void *);
extern void func_802EFA20(ParticleEmitter *, f32, f32);
/* public functions */
void func_80386768(Actor *);
void chorangepad_update(Actor *);
/* .data */
ActorInfo chorangepadInfo = { MARKER_66_ORANGE_PAD, ACTOR_57_ORANGE_PAD, ASSET_2EB_MODEL_ORANGE_PAD,
ActorInfo chorangepadInfo = {
MARKER_66_ORANGE_PAD, ACTOR_57_ORANGE_PAD, ASSET_2EB_MODEL_ORANGE_PAD,
0, NULL,
func_80386768, func_80326224, actor_draw,
chorangepad_update, func_80326224, actor_draw,
0, 0, 0.0f, 0
};
/*.code */
void MM_func_803863F0(s32 x, s32 y, s32 z){
void __chorangepad_spawnJiggy(s32 x, s32 y, s32 z) {
f32 pos[3];
TUPLE_ASSIGN(pos, x, y, z);
jiggy_spawn(JIGGY_8_MM_ORANGE_PADS, pos);
}
@@ -40,20 +38,20 @@ void func_80386444(ActorMarker *marker){
closest_orange_pad = actorArray_findClosestActorFromActorId(position, ACTOR_57_ORANGE_PAD, 1, &distance_to_orange_pad);
if (closest_orange_pad && !(500.0f < distance_to_orange_pad)) {
closest_orange_pad->state = 1;
if (actorArray_findClosestActorFromActorId(position, ACTOR_57_ORANGE_PAD, 1, &distance_to_orange_pad)) {
func_8025A6EC(COMUSIC_2B_DING_B, 22000);
}else{
}
else {
temp_a0 = (closest_orange_pad->unk78_13 == 0x106) ? 0x10
: (closest_orange_pad->unk78_13 == 0x76) ? 0xf
: 0xe;
func_802BAFE4(temp_a0);
position[1] += 50.0f;
timedFunc_set_3(0.6f, (GenFunction_3) MM_func_803863F0, (s32)position[0], (s32)position[1], (s32)position[2]);
timedFunc_set_3(0.6f, (GenFunction_3) __chorangepad_spawnJiggy, (s32) position[0], (s32) position[1], (s32) position[2]);
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
if (!jiggyscore_isCollected(JIGGY_8_MM_ORANGE_PADS)) {
@@ -67,21 +65,9 @@ void func_80386444(ActorMarker *marker){
particleEmitter_setModel(p_ctrl, 0x89f);
particleEmitter_setStartingScaleRange(p_ctrl, 0.09f, 0.19f);
particleEmitter_setFinalScaleRange(p_ctrl, 0.0f, 0.0f);
particleEmitter_setParticleVelocityRange(p_ctrl,
-200.0f, 500.0f, -200.0f,
200.0f, 700.0f, 200.0f
);
particleEmitter_setParticleAccelerationRange(p_ctrl,
0.0f, -1200.0f, 0.0f,
0.0f, -1200.0f, 0.0f
);
particleEmitter_setAngularVelocityRange(p_ctrl,
-600.0f, -600.0f, -600.0f,
600.0f, 600.0f, 600.0f
);
particleEmitter_setParticleVelocityRange(p_ctrl, -200.0f, 500.0f, -200.0f, 200.0f, 700.0f, 200.0f);
particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1200.0f, 0.0f, 0.0f, -1200.0f, 0.0f);
particleEmitter_setAngularVelocityRange(p_ctrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
particleEmitter_setSpawnIntervalRange(p_ctrl, 0.0f, 0.01f);
particleEmitter_setParticleLifeTimeRange(p_ctrl, 4.0f, 4.0f);
func_802EF9F8(p_ctrl, 0.01f);
@@ -95,12 +81,11 @@ void func_80386744(s32 arg0, ActorMarker *arg1) {
func_80386444(arg1);
}
void func_80386768(Actor * this){
void chorangepad_update(Actor *this) {
Actor *closest_actor;
f32 unused;
f32 min_distance;
if (!this->initialized) {
this->marker->propPtr->unk8_3 = 1;
actor_collisionOff(this);
@@ -116,11 +101,11 @@ void func_80386768(Actor * this){
closest_actor = marker_getActor(this->unk100);
}
if( func_80329530(this, 0x28)
&& !func_8028ECAC()
&& !mapSpecificFlags_get(MM_SPECIFIC_FLAG_6_UNKNOWN)
&& closest_actor->state != 3
){
if (func_80329530(this, 0x28) &&
!func_8028ECAC() &&
!mapSpecificFlags_get(MM_SPECIFIC_FLAG_6_UNKNOWN) &&
closest_actor->state != 3) {
if (func_80311480(0xb3d, 0, NULL, NULL, NULL, NULL)) {
mapSpecificFlags_set(MM_SPECIFIC_FLAG_6_UNKNOWN, TRUE);
}
@@ -131,12 +116,14 @@ void func_80386768(Actor * this){
func_8033E73C(this->marker, 5, func_80329904);
func_8033E3F0(9, this->marker->unk14_21);
}
this->lifetime_value = MIN(255.0, this->lifetime_value + 7.0);
if (255.0 == this->lifetime_value) {
marker_despawn(this->marker);
}
}else{
}
else {
}//L80386928
actor_setOpacity(this, 0xFF - (s32) this->lifetime_value);