From b74c779c4b4837d79a30939ed69eff49f21d0359 Mon Sep 17 00:00:00 2001 From: James Lambert Date: Wed, 31 Aug 2022 22:02:58 -0600 Subject: [PATCH] Work on test_chamber_02 --- assets/sound/vo/aperture_ai/02_part2_success-1.sox | 1 + assets/sound/vo/aperture_ai/02_part2_success-2.sox | 1 + src/decor/decor_object.c | 5 +++++ src/scene/box_dropper.c | 5 +++++ src/scene/button.c | 5 +++++ src/scene/elevator.c | 5 +++++ 6 files changed, 22 insertions(+) create mode 100644 assets/sound/vo/aperture_ai/02_part2_success-1.sox create mode 100644 assets/sound/vo/aperture_ai/02_part2_success-2.sox diff --git a/assets/sound/vo/aperture_ai/02_part2_success-1.sox b/assets/sound/vo/aperture_ai/02_part2_success-1.sox new file mode 100644 index 0000000..5ad82e6 --- /dev/null +++ b/assets/sound/vo/aperture_ai/02_part2_success-1.sox @@ -0,0 +1 @@ +-c 1 -r 22050 diff --git a/assets/sound/vo/aperture_ai/02_part2_success-2.sox b/assets/sound/vo/aperture_ai/02_part2_success-2.sox new file mode 100644 index 0000000..5ad82e6 --- /dev/null +++ b/assets/sound/vo/aperture_ai/02_part2_success-2.sox @@ -0,0 +1 @@ +-c 1 -r 22050 diff --git a/src/decor/decor_object.c b/src/decor/decor_object.c index ee39c59..2c1f607 100644 --- a/src/decor/decor_object.c +++ b/src/decor/decor_object.c @@ -11,6 +11,11 @@ void decorObjectRender(void* data, struct RenderScene* renderScene) { struct DecorObject* object = (struct DecorObject*)data; + + if (!RENDER_SCENE_IS_ROOM_VISIBLE(renderScene, object->rigidBody.currentRoom)) { + return; + } + Mtx* matrix = renderStateRequestMatrices(renderScene->renderState, 1); transformToMatrixL(&object->rigidBody.transform, matrix, SCENE_SCALE); diff --git a/src/scene/box_dropper.c b/src/scene/box_dropper.c index 09fc236..91da105 100644 --- a/src/scene/box_dropper.c +++ b/src/scene/box_dropper.c @@ -30,6 +30,11 @@ void boxDropperFakePos(struct BoxDropper* dropper, struct Transform* result) { void boxDropperRender(void* data, struct RenderScene* renderScene) { struct BoxDropper* dropper = (struct BoxDropper*)data; + + if (!RENDER_SCENE_IS_ROOM_VISIBLE(renderScene, dropper->roomIndex)) { + return; + } + Mtx* matrix = renderStateRequestMatrices(renderScene->renderState, 1); transformToMatrixL(&dropper->transform, matrix, SCENE_SCALE); diff --git a/src/scene/button.c b/src/scene/button.c index e863d77..d492da9 100644 --- a/src/scene/button.c +++ b/src/scene/button.c @@ -44,6 +44,11 @@ struct ColliderTypeData gButtonCollider = { void buttonRender(void* data, struct RenderScene* renderScene) { struct Button* button = (struct Button*)data; + + if (!RENDER_SCENE_IS_ROOM_VISIBLE(renderScene, button->rigidBody.currentRoom)) { + return; + } + Mtx* matrix = renderStateRequestMatrices(renderScene->renderState, 1); guTranslate(matrix, button->originalPos.x * SCENE_SCALE, button->originalPos.y * SCENE_SCALE, button->originalPos.z * SCENE_SCALE); diff --git a/src/scene/elevator.c b/src/scene/elevator.c index 22a6a28..4295648 100644 --- a/src/scene/elevator.c +++ b/src/scene/elevator.c @@ -45,6 +45,11 @@ struct Vector3 gOpenPosition[] = { void elevatorRender(void* data, struct RenderScene* renderScene) { struct Elevator* elevator = (struct Elevator*)data; + + if (!RENDER_SCENE_IS_ROOM_VISIBLE(renderScene, elevator->roomIndex)) { + return; + } + Mtx* matrix = renderStateRequestMatrices(renderScene->renderState, 1); transformToMatrixL(&elevator->rigidBody.transform, matrix, SCENE_SCALE);