documentations

- spawnableActorList_add: decode flags
- add some prototypes in functions.h
- ActorMarker: docu unk8 (drawFunc) and unk14_20 (id)
This commit is contained in:
mariob92
2024-09-07 21:51:24 +02:00
parent c8598c2677
commit f1dea250de
61 changed files with 738 additions and 728 deletions

View File

@@ -133,7 +133,7 @@ void chbossjinjo_spawnParticles(Actor *this, enum asset_e arg1, enum asset_e arg
void chbossjinjo_spawnAttackParticles(Actor *this){
s32 sparkle_sprite_id;
s32 smoke_sprite_id;
switch(this->marker->unk14_20){
switch(this->marker->id){
default:
sparkle_sprite_id = ASSET_718_SPRITE_SPARKLE_WHITE_2;
smoke_sprite_id = ASSET_6C2_SPRITE_SMOKE_WHITE;
@@ -374,7 +374,7 @@ void chBossJinjo_func_8038D014(Actor *this){
func_8030E6A4(0x3ee, randf2(1.0f, 1.15f), 32000);
timed_playSfx(0.1f, 0x416, 0.6f, 32000);
marker_despawn(this->marker);
switch (this->marker->unk14_20)
switch (this->marker->id)
{
case MARKER_27B_BOSS_JINJO_ORANGE:
temp_a1 = 0x557;

View File

@@ -1586,7 +1586,7 @@ ActorMarker *chfinalboss_findCollidingJinjo(Actor *this, f32 arg1) {
while(prop !=NULL){
if (prop->markerFlag){
jinjo = marker_getActor(prop->actorProp.marker);
jinjo_marker_id = jinjo->marker->unk14_20;
jinjo_marker_id = jinjo->marker->id;
if(
(jinjo_marker_id == MARKER_27B_BOSS_JINJO_ORANGE)
|| (jinjo_marker_id == MARKER_27C_BOSS_JINJO_GREEN)
@@ -1637,7 +1637,7 @@ void chfinalboss_phase4_update(ActorMarker *marker) {
chfinalboss_phase4_setState(this, 0x20);
}
else{
temp_t6 = marker_getActor(sp6C)->marker->unk14_20;
temp_t6 = marker_getActor(sp6C)->marker->id;
if ((temp_t6 == MARKER_27B_BOSS_JINJO_ORANGE) || (temp_t6 == MARKER_27E_BOSS_JINJO_YELLOW)) {
local->mirror_phase5 = FALSE;
} else {
@@ -1851,7 +1851,7 @@ void chfinalboss_phase5_update(ActorMarker *marker) {
sp38 = 0x14;
sp34 = animctrl_getAnimTimer(this->animctrl);
jinjonator_marker = chfinalboss_findCollidingJinjo(this, func_8033229C(this->marker) / 3.0f);
if ((jinjonator_marker != NULL) && (jinjonator_marker->unk14_20 == MARKER_285_JINJONATOR)) {
if ((jinjonator_marker != NULL) && (jinjonator_marker->id == MARKER_285_JINJONATOR)) {
if (chjinjonator_8039125C(jinjonator_marker)) {
__chFinalBossJinjonatorHits++;
if (local->mirror_phase5) {
@@ -2054,29 +2054,29 @@ bool func_8038B834(ActorMarker *marker, ActorMarker * arg1) {
switch (local->phase) {
case 1:
if ((this->state == 6) || (this->state == 7)) {
marker->unk14_20 = 0x260;
marker->id = 0x260;
} else {
marker->unk14_20 = 0x25E;
marker->id = 0x25E;
}
break;
case 2:
if (local->unkA == 0) {
marker->unk14_20 = 0x260;
marker->id = 0x260;
} else {
marker->unk14_20 = 0x281;
marker->id = 0x281;
}
break;
case 3:
marker->unk14_20 = 0x282;
marker->id = 0x282;
break;
case 4:
marker->unk14_20 = 0x283;
marker->id = 0x283;
break;
case 5:
marker->unk14_20 = 0x283;
marker->id = 0x283;
break;
default:
marker->unk14_20 = 0x25E;
marker->id = 0x25E;
break;
}
return TRUE;

View File

@@ -88,7 +88,7 @@ void chspellbarrier_update(Actor *this){
}//L8038E97C
jinjo_marker = chfinalboss_findCollidingJinjo(this, 600.0f);
if(jinjo_marker){
if(jinjo_marker->unk14_20 == MARKER_285_JINJONATOR){
if(jinjo_marker->id == MARKER_285_JINJONATOR){
marker_despawn(this->marker);
chfinalboss_spellBarrierInactive();
return;

View File

@@ -184,7 +184,7 @@ void func_8038F084(ActorMarker *marker){
timedFunc_set_0(0.3f, func_8038F050);
actor->unk58_0 = 0;
actor->scale *= 1.6;
if(actor->marker->unk14_20 != MARKER_280_GRUNTY_SPELL_GREEN_ATTACK){
if(actor->marker->id != MARKER_280_GRUNTY_SPELL_GREEN_ATTACK){
chSpellFireball_emitSparkles(actor->position, 4, ASSET_713_SPRITE_SPARKLE_YELLOW,
D_80391C0C, D_80391C24, D_80391C3C,
D_80391C54, D_80391C64, D_80391C74
@@ -220,9 +220,9 @@ void func_8038F084(ActorMarker *marker){
}
void func_8038F3B4(ActorMarker *marker, ActorMarker *other){
if( other->unk14_20 == 0x276
|| other->unk14_20 == 0x27A
|| other->unk14_20 == 0x27F
if( other->id == 0x276
|| other->id == 0x27A
|| other->id == 0x27F
) return;
func_8038F084(marker);
@@ -283,7 +283,7 @@ void func_8038F620(Actor *this){
actor_collisionOn(this);
this->unk60 = 8.0f;
this->scale = 0.1f;
if( this->marker->unk14_20 == MARKER_280_GRUNTY_SPELL_GREEN_ATTACK){
if( this->marker->id == MARKER_280_GRUNTY_SPELL_GREEN_ATTACK){
actor_collisionOff(this);
marker_setFreeMethod(this->marker, func_8038F5F8);
func_80324CFC(0.0f, COMUSIC_43_ENTER_LEVEL_GLITTER, 32000);
@@ -303,7 +303,7 @@ void func_8038F620(Actor *this){
);
}
}//L8038F79C
if(D_803928E5 && this->marker->unk14_20 == MARKER_280_GRUNTY_SPELL_GREEN_ATTACK){
if(D_803928E5 && this->marker->id == MARKER_280_GRUNTY_SPELL_GREEN_ATTACK){
ncStaticCamera_rotateToTarget(this->position);
}//L8038F7D4
@@ -312,7 +312,7 @@ void func_8038F620(Actor *this){
D_80392914 = sp40*1.4;
this->scale = (this->scale + D_80392914 < 1.0) ? this->scale + D_80392914 : 1.0f;
switch(this->marker->unk14_20){
switch(this->marker->id){
case MARKER_25C_GRUNTY_SPELL_FIREBALL://L8038F8AC
chSpellFireball_emitExplosion(this->position, ASSET_4A0_SPRITE_EXPLOSION, 1,
D_80391CEC, D_80391D34,
@@ -359,7 +359,7 @@ void func_8038F620(Actor *this){
}
}
// L8038FABC
if( this->marker->unk14_20 != MARKER_280_GRUNTY_SPELL_GREEN_ATTACK
if( this->marker->id != MARKER_280_GRUNTY_SPELL_GREEN_ATTACK
&& func_8028F25C()
){
func_8038F084(this->marker);

View File

@@ -3,24 +3,25 @@
#include "variables.h"
#include "prop.h"
#include "fight.h"
#include "actor.h"
u8 pad_fight_80392740[0x10];
void fight_func_803863F0(void)
{
spawnableActorList_add(&chSpellFireball, actor_new, 0X108444);
spawnableActorList_add(&chGreenBlast, actor_new, 0X108444);
spawnableActorList_add(&chFinalBoss, actor_new, 0X300468);
spawnableActorList_add(&chBossJinjoOrange, actor_new, 0X8464);
spawnableActorList_add(&chBossJinjoGreen, actor_new, 0X8464);
spawnableActorList_add(&chBossJinjoPink, actor_new, 0X8464);
spawnableActorList_add(&chBossJinjoYellow, actor_new, 0X8464);
spawnableActorList_add(&chStoneJinjo, actor_new, 0X20004);
spawnableActorList_add(&chBossJinjoBase, actor_new, 0X800100C);
spawnableActorList_add(&chJinjonatorBase, actor_new, 0X8009404);
spawnableActorList_add(&chSpellGreen, actor_new, 0X108444);
spawnableActorList_add(&chSpellBarrier, actor_new, 0X101404);
spawnableActorList_add(&chFightFlightPad, actor_new, 0X100404);
spawnableActorList_add(&chJinjonator, actor_new, 0X9464);
spawnableActorList_add(&chBossShadow, actor_new, 0X100404);
spawnableActorList_add(&chSpellFireball, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_15 | ACTOR_FLAG_UNKNOWN_20);
spawnableActorList_add(&chGreenBlast, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_15 | ACTOR_FLAG_UNKNOWN_20);
spawnableActorList_add(&chFinalBoss, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_20 | ACTOR_FLAG_UNKNOWN_21);
spawnableActorList_add(&chBossJinjoOrange, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_15);
spawnableActorList_add(&chBossJinjoGreen, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_15);
spawnableActorList_add(&chBossJinjoPink, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_15);
spawnableActorList_add(&chBossJinjoYellow, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_15);
spawnableActorList_add(&chStoneJinjo, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_17);
spawnableActorList_add(&chBossJinjoBase, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_12 | ACTOR_FLAG_UNKNOWN_27);
spawnableActorList_add(&chJinjonatorBase, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_12 | ACTOR_FLAG_UNKNOWN_15 | ACTOR_FLAG_UNKNOWN_27);
spawnableActorList_add(&chSpellGreen, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_15 | ACTOR_FLAG_UNKNOWN_20);
spawnableActorList_add(&chSpellBarrier, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_12 | ACTOR_FLAG_UNKNOWN_20);
spawnableActorList_add(&chFightFlightPad, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_20);
spawnableActorList_add(&chJinjonator, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_12 | ACTOR_FLAG_UNKNOWN_15);
spawnableActorList_add(&chBossShadow, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_20);
}