add mirror chamber access setting

This commit is contained in:
gymnast86
2026-06-23 09:16:39 -07:00
parent e57c952deb
commit 6592871fa2
10 changed files with 148 additions and 23 deletions
+12
View File
@@ -12,6 +12,11 @@
#include "d/d_com_inf_game.h"
#include <cstring>
#if TARGET_PC
#include "dusk/randomizer/game/stages.h"
#include "dusk/randomizer/game/tools.h"
#endif
static int daObj_Gb_Draw(obj_gb_class* i_this) {
g_env_light.settingTevStruct(0x10, &i_this->current.pos, &i_this->tevStr);
g_env_light.setLightTevColorType_MAJI(i_this->mModel, &i_this->tevStr);
@@ -169,6 +174,13 @@ static int useHeapInit(fopAc_ac_c* actor) {
static int daObj_Gb_Create(fopAc_ac_c* actor) {
fopAcM_ct(actor, obj_gb_class);
obj_gb_class* i_this = (obj_gb_class*)actor;
#if TARGET_PC
// Only spawn the added wall in randomizer if it should exist
if (randomizer_IsActive() && getStageID() == StageIDs::Mirror_Chamber &&
!randomizer_mirrorChamberWallShouldExist()) {
return cPhs_ERROR_e;
}
#endif
int rv = dComIfG_resLoad(&i_this->mPhase, "Obj_gb");
if (rv == cPhs_COMPLEATE_e) {
+7
View File
@@ -2013,6 +2013,13 @@ stage_arrow_class* dComIfGp_getRoomArrow(int i_roomNo) {
void dComIfGp_setNextStage(char const* i_stage, s16 i_point, s8 i_roomNo, s8 i_layer,
f32 i_lastSpeed, u32 i_lastMode, int i_setPoint, s8 i_wipe,
s16 i_lastAngle, int param_9, int i_wipeSpeedT) {
#if TARGET_PC
// In rando, override this entrance if applicable
if (randomizer_IsActive()) {
randomizer_checkAndOverrideEntranceData(i_stage, i_roomNo, i_point, i_layer);
}
#endif
if (i_layer >= 15) {
i_layer = -1;
}