summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorengineer124 <47598039+engineer124@users.noreply.github.com>2024-11-12 11:46:21 +1100
committerGitHub <noreply@github.com>2024-11-11 16:46:21 -0800
commit4663beda1a3e22788ea4e9218c40147022fd3936 (patch)
tree19a4fd815a35b82ac7ee25f8c63e86f9ca917fd4 /include
parent4337c2a4f29034a576c5fbcef00f27e468df9579 (diff)
Document Room Type (#1740)
* roomType * cleanup
Diffstat (limited to 'include')
-rw-r--r--include/z64scene.h52
1 files changed, 24 insertions, 28 deletions
diff --git a/include/z64scene.h b/include/z64scene.h
index 5816ab054..89dc8ad4e 100644
--- a/include/z64scene.h
+++ b/include/z64scene.h
@@ -311,31 +311,30 @@ typedef union {
RoomShapeCullable cullable;
} RoomShape; // "Ground Shape"
-// TODO: Check which ones don't exist
-typedef enum {
- /* 0 */ ROOM_BEHAVIOR_TYPE1_0,
- /* 1 */ ROOM_BEHAVIOR_TYPE1_1,
- /* 2 */ ROOM_BEHAVIOR_TYPE1_2,
- /* 3 */ ROOM_BEHAVIOR_TYPE1_3, // unused
- /* 4 */ ROOM_BEHAVIOR_TYPE1_4,
- /* 5 */ ROOM_BEHAVIOR_TYPE1_5
-} RoomBehaviorType1;
-
-typedef enum {
- /* 0 */ ROOM_BEHAVIOR_TYPE2_0,
- /* 1 */ ROOM_BEHAVIOR_TYPE2_1,
- /* 2 */ ROOM_BEHAVIOR_TYPE2_2,
- /* 3 */ ROOM_BEHAVIOR_TYPE2_HOT,
- /* 4 */ ROOM_BEHAVIOR_TYPE2_4,
- /* 5 */ ROOM_BEHAVIOR_TYPE2_5,
- /* 6 */ ROOM_BEHAVIOR_TYPE2_6
-} RoomBehaviorType2;
+typedef enum RoomType {
+ /* 0 */ ROOM_TYPE_NORMAL,
+ /* 1 */ ROOM_TYPE_DUNGEON,
+ /* 2 */ ROOM_TYPE_INDOORS, // Reduces player run speed and blocks player from attacking or jumping.
+ /* 3 */ ROOM_TYPE_3,
+ /* 4 */ ROOM_TYPE_4, // Prevents switching to CAM_SET_HORSE when mounting a horse.
+ /* 5 */ ROOM_TYPE_BOSS // Disables Environment_AdjustLights
+} RoomType;
+
+typedef enum RoomEnvironmentType {
+ /* 0 */ ROOM_ENV_DEFAULT,
+ /* 1 */ ROOM_ENV_COLD,
+ /* 2 */ ROOM_ENV_WARM, // Unused.
+ /* 3 */ ROOM_ENV_HOT, // Unused.
+ /* 4 */ ROOM_ENV_UNK_STRETCH_1,
+ /* 5 */ ROOM_ENV_UNK_STRETCH_2, // Unused.
+ /* 6 */ ROOM_ENV_UNK_STRETCH_3
+} RoomEnvironmentType;
typedef struct {
/* 0x00 */ s8 num; // -1 is invalid room
/* 0x01 */ u8 unk1;
- /* 0x02 */ u8 behaviorType2;
- /* 0x03 */ u8 behaviorType1;
+ /* 0x02 */ u8 environmentType;
+ /* 0x03 */ u8 type;
/* 0x04 */ s8 echo;
/* 0x05 */ u8 lensMode;
/* 0x06 */ u8 enablePosLights;
@@ -802,13 +801,10 @@ typedef enum {
#define SCENE_CMD_SPECIAL_FILES(naviQuestHintFileId, keepObjectId) \
{ SCENE_CMD_ID_SPECIAL_FILES, naviQuestHintFileId, CMD_W(keepObjectId) }
-#define SCENE_CMD_ROOM_BEHAVIOR(curRoomUnk3, curRoomUnk2, curRoomUnk5, msgCtxunk12044, enablePosLights, \
- kankyoContextUnkE2) \
- { \
- SCENE_CMD_ID_ROOM_BEHAVIOR, curRoomUnk3, \
- curRoomUnk2 | _SHIFTL(curRoomUnk5, 8, 1) | _SHIFTL(msgCtxunk12044, 10, 1) | \
- _SHIFTL(enablePosLights, 11, 1) | _SHIFTL(kankyoContextUnkE2, 12, 1) \
- }
+#define SCENE_CMD_ROOM_BEHAVIOR(type, environment, lensMode, msgCtxunk12044, enablePosLights, stormState) \
+ { SCENE_CMD_ID_ROOM_BEHAVIOR, type, \
+ environment | _SHIFTL(lensMode, 8, 1) | _SHIFTL(msgCtxunk12044, 10, 1) | _SHIFTL(enablePosLights, 11, 1) | \
+ _SHIFTL(stormState, 12, 1) }
#define SCENE_CMD_UNK_09() \
{ SCENE_CMD_ID_UNK_09, 0, CMD_W(0) }