mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-25 09:45:02 +00:00
Rename RoomBehaviorType2 (#2270)
* Rename RoomBehavior2 * fig proposal * fig comment
This commit is contained in:
parent
44460eeaec
commit
eee7ba9bd5
5 changed files with 24 additions and 23 deletions
|
@ -161,20 +161,20 @@ typedef enum RoomBehaviorType1 {
|
||||||
/* 5 */ ROOM_BEHAVIOR_TYPE1_5
|
/* 5 */ ROOM_BEHAVIOR_TYPE1_5
|
||||||
} RoomBehaviorType1;
|
} RoomBehaviorType1;
|
||||||
|
|
||||||
typedef enum RoomBehaviorType2 {
|
typedef enum RoomEnvironmentType {
|
||||||
/* 0 */ ROOM_BEHAVIOR_TYPE2_0,
|
/* 0 */ ROOM_ENV_DEFAULT,
|
||||||
/* 1 */ ROOM_BEHAVIOR_TYPE2_1,
|
/* 1 */ ROOM_ENV_COLD,
|
||||||
/* 2 */ ROOM_BEHAVIOR_TYPE2_2,
|
/* 2 */ ROOM_ENV_WARM,
|
||||||
/* 3 */ ROOM_BEHAVIOR_TYPE2_3,
|
/* 3 */ ROOM_ENV_HOT, // Enables hot room timer for the current room
|
||||||
/* 4 */ ROOM_BEHAVIOR_TYPE2_4,
|
/* 4 */ ROOM_ENV_UNK_STRETCH_1,
|
||||||
/* 5 */ ROOM_BEHAVIOR_TYPE2_5,
|
/* 5 */ ROOM_ENV_UNK_STRETCH_2,
|
||||||
/* 6 */ ROOM_BEHAVIOR_TYPE2_6
|
/* 6 */ ROOM_ENV_UNK_STRETCH_3
|
||||||
} RoomBehaviorType2;
|
} RoomEnvironmentType;
|
||||||
|
|
||||||
typedef struct Room {
|
typedef struct Room {
|
||||||
/* 0x00 */ s8 num; // -1 is invalid room
|
/* 0x00 */ s8 num; // -1 is invalid room
|
||||||
/* 0x01 */ u8 unk_01;
|
/* 0x01 */ u8 unk_01;
|
||||||
/* 0x02 */ u8 behaviorType2;
|
/* 0x02 */ u8 environmentType;
|
||||||
/* 0x03 */ u8 behaviorType1;
|
/* 0x03 */ u8 behaviorType1;
|
||||||
/* 0x04 */ s8 echo;
|
/* 0x04 */ s8 echo;
|
||||||
/* 0x05 */ u8 lensMode;
|
/* 0x05 */ u8 lensMode;
|
||||||
|
|
|
@ -7881,7 +7881,7 @@ s32 Camera_UpdateWater(Camera* camera) {
|
||||||
|
|
||||||
s32 Camera_UpdateHotRoom(Camera* camera) {
|
s32 Camera_UpdateHotRoom(Camera* camera) {
|
||||||
camera->distortionFlags &= ~DISTORTION_HOT_ROOM;
|
camera->distortionFlags &= ~DISTORTION_HOT_ROOM;
|
||||||
if (camera->play->roomCtx.curRoom.behaviorType2 == ROOM_BEHAVIOR_TYPE2_3) {
|
if (camera->play->roomCtx.curRoom.environmentType == ROOM_ENV_HOT) {
|
||||||
camera->distortionFlags |= DISTORTION_HOT_ROOM;
|
camera->distortionFlags |= DISTORTION_HOT_ROOM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -928,7 +928,7 @@ s32 Player_GetEnvironmentalHazard(PlayState* play) {
|
||||||
EnvHazardTextTriggerEntry* triggerEntry;
|
EnvHazardTextTriggerEntry* triggerEntry;
|
||||||
s32 envHazard;
|
s32 envHazard;
|
||||||
|
|
||||||
if (play->roomCtx.curRoom.behaviorType2 == ROOM_BEHAVIOR_TYPE2_3) { // Room is hot
|
if (play->roomCtx.curRoom.environmentType == ROOM_ENV_HOT) { // Room is hot
|
||||||
envHazard = PLAYER_ENV_HAZARD_HOTROOM - 1;
|
envHazard = PLAYER_ENV_HAZARD_HOTROOM - 1;
|
||||||
} else if ((this->underwaterTimer > 80) &&
|
} else if ((this->underwaterTimer > 80) &&
|
||||||
((this->currentBoots == PLAYER_BOOTS_IRON) || (this->underwaterTimer >= 300))) {
|
((this->currentBoots == PLAYER_BOOTS_IRON) || (this->underwaterTimer >= 300))) {
|
||||||
|
|
|
@ -262,7 +262,7 @@ BAD_RETURN(s32) Scene_CommandSpecialFiles(PlayState* play, SceneCmd* cmd) {
|
||||||
|
|
||||||
BAD_RETURN(s32) Scene_CommandRoomBehavior(PlayState* play, SceneCmd* cmd) {
|
BAD_RETURN(s32) Scene_CommandRoomBehavior(PlayState* play, SceneCmd* cmd) {
|
||||||
play->roomCtx.curRoom.behaviorType1 = cmd->roomBehavior.gpFlag1;
|
play->roomCtx.curRoom.behaviorType1 = cmd->roomBehavior.gpFlag1;
|
||||||
play->roomCtx.curRoom.behaviorType2 = cmd->roomBehavior.gpFlag2 & 0xFF;
|
play->roomCtx.curRoom.environmentType = cmd->roomBehavior.gpFlag2 & 0xFF;
|
||||||
play->roomCtx.curRoom.lensMode = (cmd->roomBehavior.gpFlag2 >> 8) & 1;
|
play->roomCtx.curRoom.lensMode = (cmd->roomBehavior.gpFlag2 >> 8) & 1;
|
||||||
play->msgCtx.disableWarpSongs = (cmd->roomBehavior.gpFlag2 >> 0xA) & 1;
|
play->msgCtx.disableWarpSongs = (cmd->roomBehavior.gpFlag2 >> 0xA) & 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1105,13 +1105,13 @@ static LinkAnimationHeader* D_80853D4C[][3] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef enum FidgetType {
|
typedef enum FidgetType {
|
||||||
/* 0x00 */ FIDGET_LOOK_AROUND,
|
/* 0x00 */ FIDGET_LOOK_AROUND, // ROOM_ENV_DEFAULT
|
||||||
/* 0x01 */ FIDGET_COLD,
|
/* 0x01 */ FIDGET_COLD, // ROOM_ENV_COLD
|
||||||
/* 0x02 */ FIDGET_WARM,
|
/* 0x02 */ FIDGET_WARM, // ROOM_ENV_WARM
|
||||||
/* 0x03 */ FIDGET_HOT, // same animations as FIDGET_WARM
|
/* 0x03 */ FIDGET_HOT, // ROOM_ENV_HOT (same animations as FIDGET_WARM)
|
||||||
/* 0x04 */ FIDGET_STRETCH_1,
|
/* 0x04 */ FIDGET_STRETCH_1, // ROOM_ENV_UNK_STRETCH_1
|
||||||
/* 0x05 */ FIDGET_STRETCH_2, // same animations as FIDGET_STRETCH_1
|
/* 0x05 */ FIDGET_STRETCH_2, // ROOM_ENV_UNK_STRETCH_1 (same animations as FIDGET_STRETCH_1)
|
||||||
/* 0x06 */ FIDGET_STRETCH_3, // same animations as FIDGET_STRETCH_1
|
/* 0x06 */ FIDGET_STRETCH_3, // ROOM_ENV_UNK_STRETCH_1 (same animations as FIDGET_STRETCH_1)
|
||||||
/* 0x07 */ FIDGET_CRIT_HEALTH_START,
|
/* 0x07 */ FIDGET_CRIT_HEALTH_START,
|
||||||
/* 0x08 */ FIDGET_CRIT_HEALTH_LOOP,
|
/* 0x08 */ FIDGET_CRIT_HEALTH_LOOP,
|
||||||
/* 0x09 */ FIDGET_SWORD_SWING,
|
/* 0x09 */ FIDGET_SWORD_SWING,
|
||||||
|
@ -8190,7 +8190,7 @@ void Player_ChooseNextIdleAnim(PlayState* play, Player* this) {
|
||||||
} else {
|
} else {
|
||||||
// Pick fidget type based on room behavior.
|
// Pick fidget type based on room behavior.
|
||||||
// This may be changed below.
|
// This may be changed below.
|
||||||
fidgetType = play->roomCtx.curRoom.behaviorType2;
|
fidgetType = play->roomCtx.curRoom.environmentType;
|
||||||
|
|
||||||
if (heathIsCritical) {
|
if (heathIsCritical) {
|
||||||
if (this->idleType >= PLAYER_IDLE_DEFAULT) {
|
if (this->idleType >= PLAYER_IDLE_DEFAULT) {
|
||||||
|
@ -8208,7 +8208,8 @@ void Player_ChooseNextIdleAnim(PlayState* play, Player* this) {
|
||||||
|
|
||||||
// There is a 4/5 chance that a common fidget type will be considered.
|
// There is a 4/5 chance that a common fidget type will be considered.
|
||||||
// However it may get rejected by the conditions below.
|
// However it may get rejected by the conditions below.
|
||||||
// The type determined by `curRoom.behaviorType2` will be used if a common type is rejected.
|
// The type determined by `curRoom.environmentType` will be used if a common type is
|
||||||
|
// rejected.
|
||||||
if (commonType < 4) {
|
if (commonType < 4) {
|
||||||
// `FIDGET_ADJUST_TUNIC` and `FIDGET_TAP_FEET` are accepted unconditionally.
|
// `FIDGET_ADJUST_TUNIC` and `FIDGET_TAP_FEET` are accepted unconditionally.
|
||||||
// The sword and shield related common types have extra restrictions.
|
// The sword and shield related common types have extra restrictions.
|
||||||
|
@ -9410,7 +9411,7 @@ static AnimSfxEntry D_808545F0[] = {
|
||||||
|
|
||||||
void Player_Action_80843CEC(Player* this, PlayState* play) {
|
void Player_Action_80843CEC(Player* this, PlayState* play) {
|
||||||
if (this->currentTunic != PLAYER_TUNIC_GORON) {
|
if (this->currentTunic != PLAYER_TUNIC_GORON) {
|
||||||
if ((play->roomCtx.curRoom.behaviorType2 == ROOM_BEHAVIOR_TYPE2_3) || (sFloorType == FLOOR_TYPE_9) ||
|
if ((play->roomCtx.curRoom.environmentType == ROOM_ENV_HOT) || (sFloorType == FLOOR_TYPE_9) ||
|
||||||
((func_80838144(sFloorType) >= 0) &&
|
((func_80838144(sFloorType) >= 0) &&
|
||||||
!func_80042108(&play->colCtx, this->actor.floorPoly, this->actor.floorBgId))) {
|
!func_80042108(&play->colCtx, this->actor.floorPoly, this->actor.floorBgId))) {
|
||||||
func_8083821C(this);
|
func_8083821C(this);
|
||||||
|
|
Loading…
Reference in a new issue