Merge branch 'level_specific_flags' into 'master'

Document level specific flags

See merge request banjo.decomp/banjo-kazooie!88
This commit is contained in:
Banjo Kazooie
2024-10-08 06:07:43 +00:00
47 changed files with 274 additions and 173 deletions

View File

@@ -90,10 +90,10 @@ void func_80357264(Actor *this, s32 next_state){
}
if(next_state == 5){
if(!levelSpecificFlags_get(0x14)
if(!levelSpecificFlags_get(LEVEL_FLAG_14_TTC_UNKNOWN)
&& !( actorArray_findClosestActorFromActorId(this->position, 0x318, -1, &sp38) && ( sp38 < 250.0f))
){
levelSpecificFlags_set(0x14, TRUE);
levelSpecificFlags_set(LEVEL_FLAG_14_TTC_UNKNOWN, TRUE);
func_80324E38(0.0f, 3);
__clucker_setDeathCutsceneCamera(this);
timed_exitStaticCamera(2.0f);

View File

@@ -152,7 +152,7 @@ void __chCrab_mutantTextCallback(ActorMarker *caller, enum asset_e text_id, s32
func_80324E38(3.0f, 0);
return;
}
levelSpecificFlags_set(0xE, FALSE);
levelSpecificFlags_set(LEVEL_FLAG_E_CC_UNKNOWN, FALSE);
}
bool __chCrab_802CB76C(ActorMarker *marker, ActorMarker *other) {
@@ -272,13 +272,13 @@ void chCrab_update(Actor *this) {
if ((this->state != 6) && (this->state != 5)) {
gcdialog_showText(ASSET_D32_DIALOG_MUTANT_CRAB_MEET, 0xF, this->position, NULL, __chCrab_mutantTextCallback, NULL);
mapSpecificFlags_set(0, TRUE);
levelSpecificFlags_set(0xE, TRUE);
levelSpecificFlags_set(LEVEL_FLAG_E_CC_UNKNOWN, TRUE);
this->has_met_before = TRUE;
}
}
if (map_get() == MAP_A_TTC_SANDCASTLE) {
if( !mapSpecificFlags_get(0)
&& levelSpecificFlags_get(2)
&& levelSpecificFlags_get(LEVEL_FLAG_2_TTC_UNKNOWN)
&& !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)
&& !jiggyscore_isCollected(JIGGY_10_TTC_SANDCASTLE)
&& func_80329530(this, 1600)
@@ -290,7 +290,7 @@ void chCrab_update(Actor *this) {
mapSpecificFlags_set(1, FALSE);
}
}
if (levelSpecificFlags_get(0xE)) {
if (levelSpecificFlags_get(LEVEL_FLAG_E_CC_UNKNOWN)) {
if ((this->state != 8) && (this->state != 9)) {
subaddie_set_state_with_direction(this, (this->has_met_before) ? 8 : 9, 0.0f, 1);
this->has_met_before = FALSE;
@@ -306,7 +306,7 @@ void chCrab_update(Actor *this) {
break;
case 9: //L802CBE6C
if (!levelSpecificFlags_get(0xE)) {
if (!levelSpecificFlags_get(LEVEL_FLAG_E_CC_UNKNOWN)) {
subaddie_set_state_with_direction(this, 3, 0.0f, 1);
}
break;
@@ -337,7 +337,7 @@ void chCrab_update(Actor *this) {
if (func_80329480(this)) {
subaddie_set_state(this, 9);
this->actor_specific_1_f = 12.0f;
} else if (!levelSpecificFlags_get(0xE)) {
} else if (!levelSpecificFlags_get(LEVEL_FLAG_E_CC_UNKNOWN)) {
subaddie_set_state_with_direction(this, 3, 0.0f, 1);
}
break;

View File

@@ -181,10 +181,12 @@ void chjiggy_update(Actor *this){
func_802C7B8C(this, 0xd, 0xc, 0x1e, 9, 0xb, VOLATILE_FLAG_AF_BGS_MAZE_JIGGY_MISSED);
break;
case JIGGY_2F_FP_XMAS_TREE://L802C8048
if(levelSpecificFlags_get(0x29))
if (levelSpecificFlags_get(LEVEL_FLAG_29_FP_UNKNOWN)) {
actor_collisionOn(this);
else
}
else {
actor_collisionOff(this);
}
break;
}
break;

View File

@@ -185,18 +185,18 @@ void chmole_additionalAbilityLearnActions(ActorMarker *marker, enum asset_e arg1
switch(arg2){
case 1: // Stilt Stride
timed_setStaticCameraToNode(0.0f, 0x11);
levelSpecificFlags_set(0x1A, 1);
levelSpecificFlags_set(LEVEL_FLAG_1A_UNKNOWN, TRUE);
break;
case 2:
levelSpecificFlags_set(0x1A, 0);
levelSpecificFlags_set(LEVEL_FLAG_1A_UNKNOWN, FALSE);
chmole_setStaticCamera(actor);
break;
case 3: // Turbo Talon Trainer
timed_setStaticCameraToNode(0.0f, 0x29);
levelSpecificFlags_set(0x1A, 1);
levelSpecificFlags_set(LEVEL_FLAG_1A_UNKNOWN, TRUE);
break;
case 4:
levelSpecificFlags_set(0x1A, 0);
levelSpecificFlags_set(LEVEL_FLAG_1A_UNKNOWN, FALSE);
chmole_setStaticCamera(actor);
break;
case 5: // Egg Firing

View File

@@ -142,12 +142,13 @@ void __chTermite_die(ActorMarker *marker, ActorMarker *other_marker){
FUNC_8030E624(SFX_D1_SNORKEL_WAH, 1.4f, 32750);
marker_despawn(marker);
}
void __chTermite_testCallback(ActorMarker *caller, enum asset_e text_id, s32 arg2){
void __chTermite_testCallback(ActorMarker *caller, enum asset_e text_id, s32 arg2) {
Actor *this;
this = marker_getActor(caller);
this->has_met_before = FALSE;
levelSpecificFlags_set(0xd, FALSE);
levelSpecificFlags_set(LEVEL_FLAG_D_MM_UNKNOWN, FALSE);
}
void chTermite_update(Actor *this) {
@@ -172,7 +173,7 @@ void chTermite_update(Actor *this) {
) {
gcdialog_showText(ASSET_B43_DIALOG_TERMITE_MEET_AS_BEAR, 7, this->position, this->marker, __chTermite_testCallback, NULL);
mapSpecificFlags_set(0, TRUE);
levelSpecificFlags_set(0xD, TRUE);
levelSpecificFlags_set(LEVEL_FLAG_D_MM_UNKNOWN, TRUE);
this->has_met_before = TRUE;
}
@@ -181,13 +182,14 @@ void chTermite_update(Actor *this) {
&& func_8028ECAC() == 0
&& player_getTransformation() == TRANSFORM_2_TERMITE
) {
if (!levelSpecificFlags_get(0xB)) {
if (!levelSpecificFlags_get(LEVEL_FLAG_B_MM_UNKNOWN)) {
if (gcdialog_showText(ASSET_B41_DIALOG_TERMITE_COOL_SHORTS, 0, NULL, NULL, NULL, NULL)) {
levelSpecificFlags_set(0xB, TRUE);
levelSpecificFlags_set(LEVEL_FLAG_B_MM_UNKNOWN, TRUE);
this->unk138_23 = TRUE;
}
} else if (!levelSpecificFlags_get(0xC) && !this->unk138_23 && (gcdialog_showText(ASSET_B42_DIALOG_TERMITE_COOL_BACKPACK, 0, NULL, NULL, NULL, NULL))) {
levelSpecificFlags_set(0xC, TRUE);
}
else if (!levelSpecificFlags_get(LEVEL_FLAG_C_MM_UNKNOWN) && !this->unk138_23 && (gcdialog_showText(ASSET_B42_DIALOG_TERMITE_COOL_BACKPACK, 0, NULL, NULL, NULL, NULL))) {
levelSpecificFlags_set(LEVEL_FLAG_C_MM_UNKNOWN, TRUE);
}
}
switch (this->state) {

View File

@@ -56,8 +56,9 @@ void _chtrainers_802CA378(Actor *this, bool arg1){
}
void chtrainers_update(Actor *this){
s32 sp2C = levelSpecificFlags_get(0x1a);
if(sp2C && this->unkF4_8 != 1){
s32 sp2C = levelSpecificFlags_get(LEVEL_FLAG_1A_UNKNOWN);
if (sp2C && this->unkF4_8 != 1) {
return;
}

View File

@@ -33,8 +33,9 @@ Actor *chwadingboots_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
}
void chwadingboots_update(Actor *this){
s32 sp2C = levelSpecificFlags_get(0x1a);
if(sp2C && this->unkF4_8 != 1){
s32 sp2C = levelSpecificFlags_get(LEVEL_FLAG_1A_UNKNOWN);
if (sp2C && this->unkF4_8 != 1) {
return;
}