document: Leaky from TTC
This commit is contained in:
@@ -6,33 +6,33 @@ extern void func_8028E668(f32 [3], f32, f32, f32);
|
||||
extern void func_8028F9DC(s32);
|
||||
extern void func_803272D0(f32 arg0[3], f32 arg1, s32 arg2, int (*arg3)(Actor *));
|
||||
|
||||
void chLeaky_update(Actor *this);
|
||||
void chLeaky_updateFunc(Actor *this);
|
||||
|
||||
/* .data */
|
||||
ActorAnimationInfo D_8038C700[] = {
|
||||
ActorAnimationInfo gChLeakyAnimations[3] = {
|
||||
{0x000, 0.0f},
|
||||
{0x239, 2.5f},
|
||||
{0x239, 2.5f}
|
||||
{ASSET_239_ANIM_LEAKY_IDLE, 2.5f},
|
||||
{ASSET_239_ANIM_LEAKY_IDLE, 2.5f}
|
||||
};
|
||||
|
||||
ActorInfo D_8038C718 = {
|
||||
ActorInfo gChLeaky = {
|
||||
MARKER_33_LEAKY, ACTOR_1E_LEAKY, ASSET_51A_MODEL_LEAKY,
|
||||
0x1, D_8038C700,
|
||||
chLeaky_update, func_80326224, actor_draw,
|
||||
0x1, gChLeakyAnimations,
|
||||
chLeaky_updateFunc, func_80326224, actor_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
/* .code */
|
||||
bool TTC_func_80388F70(Actor *this){
|
||||
bool chLeaky_isCurrentModelShrapnel(Actor *this){
|
||||
return this->modelCacheIndex == ACTOR_56_SHRAPNEL;
|
||||
}
|
||||
|
||||
void func_80388F88(void){
|
||||
static f32 D_8038C73C[3] = {2500.0f, 250.0f, 4600.0f};
|
||||
func_803272D0(D_8038C73C, 2000.0f, 2, TTC_func_80388F70);
|
||||
func_803272D0(D_8038C73C, 2000.0f, 2, chLeaky_isCurrentModelShrapnel);
|
||||
}
|
||||
|
||||
void chLeaky_update(Actor *this) {
|
||||
void chLeaky_updateFunc(Actor *this) {
|
||||
void *temp_v0_2;
|
||||
|
||||
func_8028E668(this->position, 100.0f, -20.0f, 100.0f);
|
||||
@@ -53,21 +53,23 @@ void chLeaky_update(Actor *this) {
|
||||
this->state = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if( this->state == 1
|
||||
&& !this->has_met_before
|
||||
&& func_80329530(this, 250) && !func_80329530(this, 160)
|
||||
&& !func_8028ECAC()
|
||||
&& gcdialog_showText(0xA1A, 0, NULL, NULL, NULL, NULL)
|
||||
&& gcdialog_showText(ASSET_A1A_TEXT_LEAKY_FIRST_MEET, 0, NULL, NULL, NULL, NULL)
|
||||
){
|
||||
this->has_met_before = TRUE;
|
||||
}
|
||||
|
||||
if (func_803114B0() == 0) {
|
||||
if (actor_animationIsAt(this, 0.83f)) {
|
||||
func_8030E878(0x109, randf2(0.775f, 0.825f), 22000, this->position, 400.0f, 1000.0f);
|
||||
func_8030E878(SFX_109_LOGGO_LID_CLAP, randf2(0.775f, 0.825f), 22000, this->position, 400.0f, 1000.0f);
|
||||
return;
|
||||
}
|
||||
if (actor_animationIsAt(this, 0.01f)) {
|
||||
func_8030E878(0x109, randf2(1.025f, 1.075f), 18000, this->position, 400.0f, 1000.0f);
|
||||
func_8030E878(SFX_109_LOGGO_LID_CLAP, randf2(1.025f, 1.075f), 18000, this->position, 400.0f, 1000.0f);
|
||||
return;
|
||||
}
|
||||
if( actor_animationIsAt(this, 0.15f)
|
||||
@@ -75,12 +77,12 @@ void chLeaky_update(Actor *this) {
|
||||
|| actor_animationIsAt(this, 0.53f)
|
||||
|| actor_animationIsAt(this, 0.66f)
|
||||
){
|
||||
func_8030E878(0x109, randf2(1.225f, 1.275f), 14000, this->position, 400.0f, 1000.0f);
|
||||
func_8030E878(SFX_109_LOGGO_LID_CLAP, randf2(1.225f, 1.275f), 14000, this->position, 400.0f, 1000.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void __chLeaky_startCutscene(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
void chLeaky_showDoneText(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
Actor *this = marker_getActor(caller);
|
||||
Struct73s *temp_v0;
|
||||
subaddie_set_state(this, 2);
|
||||
@@ -111,6 +113,6 @@ bool chLeaky_eggCollision(ActorMarker *marker){
|
||||
|
||||
levelSpecificFlags_set(2, TRUE);
|
||||
levelSpecificFlags_set(5, TRUE);
|
||||
gcdialog_showText(ASSET_A28_TEXT_LEAKY_DONE, 0x2a, this->position, this->marker, __chLeaky_startCutscene, NULL);
|
||||
gcdialog_showText(ASSET_A28_TEXT_LEAKY_DONE, 0x2a, this->position, this->marker, chLeaky_showDoneText, NULL);
|
||||
return TRUE;
|
||||
}
|
||||
|
Reference in New Issue
Block a user