refac: make nipper functions static where applicable
This commit is contained in:
@@ -4662,6 +4662,7 @@ enum marker_e{
|
|||||||
MARKER_169_SNS_EGG,
|
MARKER_169_SNS_EGG,
|
||||||
|
|
||||||
MARKER_16B_SNIPPET_UPSIDEDOWN = 0x16B,
|
MARKER_16B_SNIPPET_UPSIDEDOWN = 0x16B,
|
||||||
|
MARKER_16C_NIPPER,
|
||||||
|
|
||||||
MARKER_173_CHUMP_FISH_2 = 0x173,
|
MARKER_173_CHUMP_FISH_2 = 0x173,
|
||||||
MARKER_174_GAME_OVER = 0x174,
|
MARKER_174_GAME_OVER = 0x174,
|
||||||
|
@@ -2,40 +2,40 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
void chNipper_updateFunc(Actor *this);
|
static void __chNipper_updateFunc(Actor *this);
|
||||||
Actor *chNipper_animFunc(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
static Actor *__chNipper_animFunc(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
||||||
|
|
||||||
enum ch_nipper_states_e {
|
enum ch_nipper_states_e {
|
||||||
CH_NIPPER_STATE_1_UNKNOWN = 1, // L80388578
|
CH_NIPPER_STATE_1_UNKNOWN = 1, // L80388578
|
||||||
CH_NIPPER_STATE_2_UNKNOWN = 2, // L8038872C
|
CH_NIPPER_STATE_2_UNKNOWN, // L8038872C
|
||||||
CH_NIPPER_STATE_3_UNKNOWN = 3, // L803887B4
|
CH_NIPPER_STATE_3_UNKNOWN, // L803887B4
|
||||||
CH_NIPPER_STATE_DIEING = 4, // L80388910
|
CH_NIPPER_STATE_4_DIEING, // L80388910
|
||||||
CH_NIPPER_STATE_SPAWNED = 5, // L80388938
|
CH_NIPPER_STATE_5_SPAWNED, // L80388938
|
||||||
CH_NIPPER_STATE_DEAD = 6, // L803889A8
|
CH_NIPPER_STATE_6_DEAD, // L803889A8
|
||||||
CH_NIPPER_STATE_7_UNKNOWN = 7 // already dead? L80388A20
|
CH_NIPPER_STATE_7_UNKNOWN // already dead? L80388A20
|
||||||
};
|
};
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo gChNipperAnimations[8] = {
|
ActorAnimationInfo gChNipperAnimations[8] = {
|
||||||
{0x00, 0.0f},
|
{NULL, NULL},
|
||||||
{ASSET_C0_ANIM_NIPPER_IDLE, 2.0f},
|
{ASSET_C0_ANIM_NIPPER_IDLE, 2.0f},
|
||||||
{ASSET_BD_ANIM_NIPPER_VULNERABLE, 1.5f},
|
{ASSET_BD_ANIM_NIPPER_VULNERABLE, 1.5f},
|
||||||
{ASSET_BF_ANIM_NIPPER_ATTACK, 1.2f},
|
{ASSET_BF_ANIM_NIPPER_ATTACK, 1.2f},
|
||||||
{ASSET_BE_ANIM_NIPPER_OW, 1.3f},
|
{ASSET_BE_ANIM_NIPPER_OW, 1.3f},
|
||||||
{ASSET_C0_ANIM_NIPPER_IDLE, 2.0f},
|
{ASSET_C0_ANIM_NIPPER_IDLE, 2.0f},
|
||||||
{ASSET_133_ANIM_NIPPER_DIE, 3.0f},
|
{ASSET_133_ANIM_NIPPER_DIE, 3.0f},
|
||||||
{0x00, 0.0f}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo gChNipper = {
|
ActorInfo gChNipper = {
|
||||||
MARKER_A5_NIPPER, ACTOR_117_NIPPER, ASSET_3D5_MODEL_NIPPER,
|
MARKER_A5_NIPPER, ACTOR_117_NIPPER, ASSET_3D5_MODEL_NIPPER,
|
||||||
0x1, gChNipperAnimations,
|
0x1, gChNipperAnimations,
|
||||||
chNipper_updateFunc, func_80326224, chNipper_animFunc,
|
__chNipper_updateFunc, func_80326224, __chNipper_animFunc,
|
||||||
0, 0x299, 10.0f, 0
|
0, 0x299, 10.0f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void chNipper_drawParticlesAtPosition(f32 *position, s32 count) {
|
static void __chNipper_drawParticlesAtPosition(f32 *position, s32 count) {
|
||||||
static s32 D_8038C5A4[3] = {180, 180, 180};
|
static s32 D_8038C5A4[3] = {180, 180, 180};
|
||||||
static ParticleScaleAndLifetimeRanges D_8038C5B0 = {
|
static ParticleScaleAndLifetimeRanges D_8038C5B0 = {
|
||||||
{0.1f, 0.5f},
|
{0.1f, 0.5f},
|
||||||
@@ -64,7 +64,7 @@ void chNipper_drawParticlesAtPosition(f32 *position, s32 count) {
|
|||||||
particleEmitter_emitN(pCtrl, count);
|
particleEmitter_emitN(pCtrl, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
Actor *chNipper_animFunc(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
static Actor *__chNipper_animFunc(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
||||||
Actor *this;
|
Actor *this;
|
||||||
|
|
||||||
this = marker_getActor(marker);
|
this = marker_getActor(marker);
|
||||||
@@ -72,7 +72,7 @@ Actor *chNipper_animFunc(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
|||||||
return actor_draw(marker, gfx, mtx, vtx);
|
return actor_draw(marker, gfx, mtx, vtx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void chNipper_setAnimationDuration(Actor *this) {
|
static void __chNipper_setAnimationDuration(Actor *this) {
|
||||||
subaddie_set_state_looped(this, CH_NIPPER_STATE_3_UNKNOWN);
|
subaddie_set_state_looped(this, CH_NIPPER_STATE_3_UNKNOWN);
|
||||||
this->unk1C[0] = 0.0f;
|
this->unk1C[0] = 0.0f;
|
||||||
switch((s32)this->lifetime_value){
|
switch((s32)this->lifetime_value){
|
||||||
@@ -90,18 +90,18 @@ void chNipper_setAnimationDuration(Actor *this) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void chNipper_spawnedShowTextCallback(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
static void __chNipper_spawnedShowTextCallback(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||||
Actor *this;
|
Actor *this;
|
||||||
this = marker_getActor(caller);
|
this = marker_getActor(caller);
|
||||||
chNipper_setAnimationDuration(this);
|
__chNipper_setAnimationDuration(this);
|
||||||
ncStaticCamera_exit();
|
ncStaticCamera_exit();
|
||||||
comusic_8025AB44(COMUSIC_12_TTC_NIPPER, -1, 300);
|
comusic_8025AB44(COMUSIC_12_TTC_NIPPER, -1, 300);
|
||||||
}
|
}
|
||||||
|
|
||||||
void chNipper_playDeathAnimation(Actor *this) {
|
static void __chNipper_playDeathAnimation(Actor *this) {
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
subaddie_set_state_with_direction(this, CH_NIPPER_STATE_DIEING, 0.01f, 1);
|
subaddie_set_state_with_direction(this, CH_NIPPER_STATE_4_DIEING, 0.01f, 1);
|
||||||
actor_playAnimationOnce(this);
|
actor_playAnimationOnce(this);
|
||||||
for(i = 0; i < 3; i ++){
|
for(i = 0; i < 3; i ++){
|
||||||
FUNC_8030E8B4(SFX_79_TICKER_DEATH, 0.5f, 17000, this->position, 1500, 3000);
|
FUNC_8030E8B4(SFX_79_TICKER_DEATH, 0.5f, 17000, this->position, 1500, 3000);
|
||||||
@@ -110,7 +110,7 @@ void chNipper_playDeathAnimation(Actor *this) {
|
|||||||
|
|
||||||
// if player too far away -> false
|
// if player too far away -> false
|
||||||
// otherwise return whether sp2C is within -35 and 35?
|
// otherwise return whether sp2C is within -35 and 35?
|
||||||
bool func_80388088(Actor *this){
|
static bool __func_80388088(Actor *this){
|
||||||
f32 sp2C;
|
f32 sp2C;
|
||||||
f32 sp20[3];
|
f32 sp20[3];
|
||||||
bool out;
|
bool out;
|
||||||
@@ -124,11 +124,11 @@ bool func_80388088(Actor *this){
|
|||||||
return BOOL(-35.0f < sp2C && sp2C < 35.0f);
|
return BOOL(-35.0f < sp2C && sp2C < 35.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool chNipper_shouldShowActor(Actor *this){
|
static bool __chNipper_shouldShowActor(Actor *this){
|
||||||
return BOOL(func_80329530(this, 1300) && func_80388088(this));
|
return BOOL(func_80329530(this, 1300) && __func_80388088(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
void chNipper_dieFunc(ActorMarker *this_marker, ActorMarker *other_marker) {
|
static void __chNipper_dieFunc(ActorMarker *this_marker, ActorMarker *other_marker) {
|
||||||
Actor *this;
|
Actor *this;
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@ void chNipper_dieFunc(ActorMarker *this_marker, ActorMarker *other_marker) {
|
|||||||
func_8032B4DC(this, other_marker, 7);
|
func_8032B4DC(this, other_marker, 7);
|
||||||
|
|
||||||
if (this->lifetime_value == 40.0f) {
|
if (this->lifetime_value == 40.0f) {
|
||||||
subaddie_set_state_with_direction(this, CH_NIPPER_STATE_DEAD, 0.01f, 1);
|
subaddie_set_state_with_direction(this, CH_NIPPER_STATE_6_DEAD, 0.01f, 1);
|
||||||
actor_playAnimationOnce(this);
|
actor_playAnimationOnce(this);
|
||||||
for(i = 0; i < 3; i++){
|
for(i = 0; i < 3; i++){
|
||||||
FUNC_8030E8B4(SFX_78_EAGLECRY, 0.7f, 20000, this->position, 1500, 3000);
|
FUNC_8030E8B4(SFX_78_EAGLECRY, 0.7f, 20000, this->position, 1500, 3000);
|
||||||
@@ -149,20 +149,20 @@ void chNipper_dieFunc(ActorMarker *this_marker, ActorMarker *other_marker) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (this->lifetime_value == 80.0f) {
|
if (this->lifetime_value == 80.0f) {
|
||||||
chNipper_playDeathAnimation(this);
|
__chNipper_playDeathAnimation(this);
|
||||||
this->lifetime_value = 40.0f;
|
this->lifetime_value = 40.0f;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
chNipper_playDeathAnimation(this);
|
__chNipper_playDeathAnimation(this);
|
||||||
this->lifetime_value = 80.0f;
|
this->lifetime_value = 80.0f;
|
||||||
gcdialog_showText(ASSET_A10_TEXT_TTC_NIPPER_HURT, 4, NULL, NULL, NULL, NULL);
|
gcdialog_showText(ASSET_A10_TEXT_TTC_NIPPER_HURT, 4, NULL, NULL, NULL, NULL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool chNipper_determineMarkeId(ActorMarker * this_marker, ActorMarker * other_marker){
|
static bool __chNipper_determineMarkerId(ActorMarker * this_marker, ActorMarker * other_marker){
|
||||||
if(this_marker->unk40_31 == 1){
|
if(this_marker->unk40_31 == 1){
|
||||||
this_marker->id = 0x16C;
|
this_marker->id = MARKER_16C_NIPPER;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
this_marker->id = MARKER_A5_NIPPER;
|
this_marker->id = MARKER_A5_NIPPER;
|
||||||
@@ -170,7 +170,7 @@ bool chNipper_determineMarkeId(ActorMarker * this_marker, ActorMarker * other_ma
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void chNipper_ow2Func(ActorMarker * this_marker, ActorMarker *other_marker){
|
static void __chNipper_ow2Func(ActorMarker * this_marker, ActorMarker *other_marker){
|
||||||
Actor *this;
|
Actor *this;
|
||||||
|
|
||||||
if(other_marker->id == 1){
|
if(other_marker->id == 1){
|
||||||
@@ -184,7 +184,7 @@ void chNipper_ow2Func(ActorMarker * this_marker, ActorMarker *other_marker){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void chNipper_owFunc(ActorMarker * this_marker, ActorMarker *other_marker){
|
static void __chNipper_owFunc(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->has_met_before
|
&& this->has_met_before
|
||||||
@@ -194,7 +194,7 @@ void chNipper_owFunc(ActorMarker * this_marker, ActorMarker *other_marker){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void chNipper_updateFunc(Actor *this){
|
static void __chNipper_updateFunc(Actor *this){
|
||||||
f32 particlePosition[3];
|
f32 particlePosition[3];
|
||||||
s32 sp48;
|
s32 sp48;
|
||||||
s32 xVelocity;
|
s32 xVelocity;
|
||||||
@@ -231,26 +231,26 @@ void chNipper_updateFunc(Actor *this){
|
|||||||
subaddie_set_state_with_direction(this, CH_NIPPER_STATE_1_UNKNOWN, 0.01f, 1);
|
subaddie_set_state_with_direction(this, CH_NIPPER_STATE_1_UNKNOWN, 0.01f, 1);
|
||||||
this->lifetime_value = 120.0f;
|
this->lifetime_value = 120.0f;
|
||||||
this->marker->propPtr->unk8_3 = TRUE;
|
this->marker->propPtr->unk8_3 = TRUE;
|
||||||
marker_setCollisionScripts(this->marker, chNipper_owFunc, chNipper_ow2Func, chNipper_dieFunc);
|
marker_setCollisionScripts(this->marker, __chNipper_owFunc, __chNipper_ow2Func, __chNipper_dieFunc);
|
||||||
func_803300C0(this->marker, chNipper_determineMarkeId);
|
func_803300C0(this->marker, __chNipper_determineMarkerId);
|
||||||
this->initialized = TRUE;
|
this->initialized = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(chNipper_shouldShowActor(this)){
|
if(__chNipper_shouldShowActor(this)){
|
||||||
temp_v0 = func_8028ECAC();
|
temp_v0 = func_8028ECAC();
|
||||||
if( !this->has_met_before
|
if( !this->has_met_before
|
||||||
&& temp_v0 != 1
|
&& temp_v0 != 1
|
||||||
&& temp_v0 != 10
|
&& temp_v0 != 10
|
||||||
){
|
){
|
||||||
subaddie_set_state_with_direction(this, CH_NIPPER_STATE_SPAWNED, 0.01f, 1);
|
subaddie_set_state_with_direction(this, CH_NIPPER_STATE_5_SPAWNED, 0.01f, 1);
|
||||||
if(gcdialog_showText(ASSET_A0E_TEXT_NIPPER_SPAWNED, 0xf, this->position, this->marker, chNipper_spawnedShowTextCallback, NULL)){
|
if(gcdialog_showText(ASSET_A0E_TEXT_NIPPER_SPAWNED, 0xf, this->position, this->marker, __chNipper_spawnedShowTextCallback, NULL)){
|
||||||
this->has_met_before = TRUE;
|
this->has_met_before = TRUE;
|
||||||
}
|
}
|
||||||
comusic_8025AB44(COMUSIC_12_TTC_NIPPER, 5000, 300);
|
comusic_8025AB44(COMUSIC_12_TTC_NIPPER, 5000, 300);
|
||||||
ncStaticCamera_setToNode(11);
|
ncStaticCamera_setToNode(11);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
chNipper_setAnimationDuration(this);
|
__chNipper_setAnimationDuration(this);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -265,13 +265,13 @@ void chNipper_updateFunc(Actor *this){
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case CH_NIPPER_STATE_2_UNKNOWN:
|
case CH_NIPPER_STATE_2_UNKNOWN:
|
||||||
if(!chNipper_shouldShowActor(this)){
|
if(!__chNipper_shouldShowActor(this)){
|
||||||
subaddie_set_state_looped(this, CH_NIPPER_STATE_1_UNKNOWN);
|
subaddie_set_state_looped(this, CH_NIPPER_STATE_1_UNKNOWN);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this->lifetime_value <= this->unk38_31){
|
if(this->lifetime_value <= this->unk38_31){
|
||||||
chNipper_setAnimationDuration(this);
|
__chNipper_setAnimationDuration(this);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
this->unk38_31++;
|
this->unk38_31++;
|
||||||
@@ -280,11 +280,11 @@ void chNipper_updateFunc(Actor *this){
|
|||||||
case CH_NIPPER_STATE_3_UNKNOWN:
|
case CH_NIPPER_STATE_3_UNKNOWN:
|
||||||
if(actor_animationIsAt(this, 0.5f) && this->marker->unk14_21){
|
if(actor_animationIsAt(this, 0.5f) && this->marker->unk14_21){
|
||||||
func_8034A174(this->marker->unk44, 6, particlePosition);
|
func_8034A174(this->marker->unk44, 6, particlePosition);
|
||||||
chNipper_drawParticlesAtPosition(particlePosition, 2);
|
__chNipper_drawParticlesAtPosition(particlePosition, 2);
|
||||||
}
|
}
|
||||||
else if(actor_animationIsAt(this, 0.95f) && this->marker->unk14_21){//L80388800
|
else if(actor_animationIsAt(this, 0.95f) && this->marker->unk14_21){//L80388800
|
||||||
func_8034A174(this->marker->unk44, 5, particlePosition);
|
func_8034A174(this->marker->unk44, 5, particlePosition);
|
||||||
chNipper_drawParticlesAtPosition(particlePosition, 2);
|
__chNipper_drawParticlesAtPosition(particlePosition, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(actor_animationIsAt(this, 0.99f)){
|
if(actor_animationIsAt(this, 0.99f)){
|
||||||
@@ -306,13 +306,13 @@ void chNipper_updateFunc(Actor *this){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CH_NIPPER_STATE_DIEING:
|
case CH_NIPPER_STATE_4_DIEING:
|
||||||
if(actor_animationIsAt(this, 0.99f)){
|
if(actor_animationIsAt(this, 0.99f)){
|
||||||
chNipper_setAnimationDuration(this);
|
__chNipper_setAnimationDuration(this);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CH_NIPPER_STATE_SPAWNED:
|
case CH_NIPPER_STATE_5_SPAWNED:
|
||||||
if( actor_animationIsAt(this, 0.2f)
|
if( actor_animationIsAt(this, 0.2f)
|
||||||
|| actor_animationIsAt(this, 0.2f)
|
|| actor_animationIsAt(this, 0.2f)
|
||||||
|| actor_animationIsAt(this, 0.6f)
|
|| actor_animationIsAt(this, 0.6f)
|
||||||
@@ -322,7 +322,7 @@ void chNipper_updateFunc(Actor *this){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CH_NIPPER_STATE_DEAD:
|
case CH_NIPPER_STATE_6_DEAD:
|
||||||
this->marker->collidable = FALSE;
|
this->marker->collidable = FALSE;
|
||||||
if(actor_animationIsAt(this, 0.6f)){
|
if(actor_animationIsAt(this, 0.6f)){
|
||||||
FUNC_8030E8B4(SFX_7C_CHEBOOF, 0.9f, 20000, this->position, 1500, 3000);
|
FUNC_8030E8B4(SFX_7C_CHEBOOF, 0.9f, 20000, this->position, 1500, 3000);
|
||||||
@@ -340,7 +340,7 @@ void chNipper_updateFunc(Actor *this){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool func_80388A44(s16 arg0[3]){
|
bool chNipper_isInState7(s16 arg0[3]){
|
||||||
f32 sp1C[3];
|
f32 sp1C[3];
|
||||||
Actor *nipper;
|
Actor *nipper;
|
||||||
|
|
||||||
|
@@ -598,7 +598,7 @@ void warp_bgsEnterTanktupConditional(s32 arg0, s32 arg1) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void warp_ttcEnterNippersShell(s32 arg0, s32 arg1) {
|
void warp_ttcEnterNippersShell(s32 arg0, s32 arg1) {
|
||||||
if (func_80388A44() != 0) {
|
if (chNipper_isInState7() != 0) {
|
||||||
func_8031CC8C(arg0, 0x601);
|
func_8031CC8C(arg0, 0x601);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user