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

@@ -39,11 +39,13 @@ void chLeaky_update(Actor *this) {
if (!this->volatile_initialized) {
this->volatile_initialized = TRUE;
this->marker->propPtr->unk8_3 = FALSE;
if (levelSpecificFlags_get(5) != 0) {
levelSpecificFlags_set(5, FALSE);
if (levelSpecificFlags_get(LEVEL_FLAG_5_TTC_UNKNOWN) != FALSE) {
levelSpecificFlags_set(LEVEL_FLAG_5_TTC_UNKNOWN, FALSE);
timedFunc_set_1(0.5f, (GenFunction_1)comusic_playTrack, COMUSIC_2D_PUZZLE_SOLVED_FANFARE);
}
if (levelSpecificFlags_get(2) != 0) {
if (levelSpecificFlags_get(LEVEL_FLAG_2_TTC_UNKNOWN) != FALSE) {
temp_v0_2 = func_8034C5AC(300);
if (temp_v0_2 != 0) {
func_8034E71C(temp_v0_2, -600, 0.0f);
@@ -100,17 +102,20 @@ void __chLeaky_startCutscene(ActorMarker *caller, enum asset_e text_id, s32 arg2
bool chLeaky_eggCollision(ActorMarker *marker){
Actor *this = marker_getActor(marker);
if(levelSpecificFlags_get(2))
if (levelSpecificFlags_get(LEVEL_FLAG_2_TTC_UNKNOWN)) {
return TRUE;
}
comusic_playTrack(COMUSIC_2B_DING_B);
this->unk38_31++;
if(this->unk38_31 < 2)
return TRUE;
levelSpecificFlags_set(2, TRUE);
levelSpecificFlags_set(5, TRUE);
if (this->unk38_31 < 2) {
return TRUE;
}
levelSpecificFlags_set(LEVEL_FLAG_2_TTC_UNKNOWN, TRUE);
levelSpecificFlags_set(LEVEL_FLAG_5_TTC_UNKNOWN, TRUE);
gcdialog_showText(ASSET_A28_TEXT_LEAKY_DONE, 0x2a, this->position, this->marker, __chLeaky_startCutscene, NULL);
return TRUE;
}

View File

@@ -387,7 +387,7 @@ void func_8038B094(void){
void *sp28;
if( map_get() == MAP_7_TTC_TREASURE_TROVE_COVE
&& levelSpecificFlags_get(0x2)
&& levelSpecificFlags_get(LEVEL_FLAG_2_TTC_UNKNOWN)
){
sp2C = func_8034C5AC(0x12C);
if(sp2C){
@@ -401,7 +401,8 @@ void func_8038B094(void){
else{
sp2C = func_8034C5AC(0x131);
sp28 = func_8034C5AC(0x12C);
if(levelSpecificFlags_get(5)){
if (levelSpecificFlags_get(LEVEL_FLAG_5_TTC_UNKNOWN)) {
func_8034E71C(sp2C, -500, 10.0f);
func_80324E38(0.0f, 3);
timed_setStaticCameraToNode(0.0f, 1);
@@ -410,10 +411,10 @@ void func_8038B094(void){
func_803228D8();
timedFunc_set_3(2.0f, (GenFunction_3) func_802E4078, MAP_7_TTC_TREASURE_TROVE_COVE, 1, 0);
}
else if(levelSpecificFlags_get(2) || volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)){
else if (levelSpecificFlags_get(LEVEL_FLAG_2_TTC_UNKNOWN) || volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)) {
func_8034E71C(sp2C, -500, 0.0f);
}
else{
else {
func_8034E71C(sp28, -500, 0.0f);
}//L8038B1EC
@@ -474,7 +475,7 @@ void func_8038B2F0(void) {
}
}
if ((D_8038D720.unk8 == 0) || (D_8038D720.unk8 == 3)) {
if( (levelSpecificFlags_get(2) || volatileFlag_get(VOLATILE_FLAG_3))
if( (levelSpecificFlags_get(LEVEL_FLAG_2_TTC_UNKNOWN) || volatileFlag_get(VOLATILE_FLAG_3))
&& (player_getActiveHitbox(0) == HITBOX_1_BEAK_BUSTER)
&& func_8028F20C()
) {