mirror of
https://github.com/zeldaret/mm.git
synced 2026-07-07 13:03:29 -04:00
+22
-9
@@ -131,9 +131,9 @@ typedef struct Actor {
|
||||
/* 0x0BC */ ActorShape shape; // Variables related to the physical shape of the actor
|
||||
/* 0x0EC */ Vec3f projectedPos; // Position of the actor in projected space
|
||||
/* 0x0F8 */ f32 projectedW; // w component of the projected actor position
|
||||
/* 0x0FC */ f32 uncullZoneForward; // Amount to increase the uncull zone forward by (in projected space)
|
||||
/* 0x100 */ f32 uncullZoneScale; // Amount to increase the uncull zone scale by (in projected space)
|
||||
/* 0x104 */ f32 uncullZoneDownward; // Amount to increase uncull zone downward by (in projected space)
|
||||
/* 0x0FC */ f32 cullingVolumeDistance; // Forward distance of the culling volume (in projected space). See `Actor_CullingCheck` and `Actor_CullingVolumeTest` for more information.
|
||||
/* 0x100 */ f32 cullingVolumeScale; // Scale of the culling volume (in projected space). See `Actor_CullingCheck` and `Actor_CullingVolumeTest` for more information.
|
||||
/* 0x104 */ f32 cullingVolumeDownward; // Downward height of the culling volume (in projected space). See `Actor_CullingCheck` and `Actor_CullingVolumeTest` for more information.
|
||||
/* 0x108 */ Vec3f prevPos; // World position from the previous update cycle
|
||||
/* 0x114 */ u8 isLockedOn; // Set to true if the actor is currently being targeted by the player
|
||||
/* 0x115 */ u8 targetPriority; // Lower values have higher priority. Resets to 0 when player stops targeting
|
||||
@@ -480,12 +480,25 @@ typedef enum DoorLockType {
|
||||
// What actually matters is the presence or lack of `ACTOR_FLAG_HOSTILE`.
|
||||
#define ACTOR_FLAG_FRIENDLY (1 << 3)
|
||||
|
||||
//
|
||||
#define ACTOR_FLAG_10 (1 << 4)
|
||||
//
|
||||
#define ACTOR_FLAG_20 (1 << 5)
|
||||
//
|
||||
#define ACTOR_FLAG_40 (1 << 6)
|
||||
// Culling of the actor's update process is disabled.
|
||||
// In other words, the actor will keep updating even if the actor is outside its own culling volume.
|
||||
// See `Actor_CullingCheck` for more information about culling.
|
||||
// See `Actor_CullingVolumeTest` for more information on the test used to determine if an actor should be culled.
|
||||
#define ACTOR_FLAG_UPDATE_CULLING_DISABLED (1 << 4)
|
||||
|
||||
// Culling of the actor's draw process is disabled.
|
||||
// In other words, the actor will keep drawing even if the actor is outside its own culling volume.
|
||||
// See `Actor_CullingCheck` for more information about culling.
|
||||
// See `Actor_CullingVolumeTest` for more information on the test used to determine if an actor should be culled.
|
||||
// (The original name for this flag is `NO_CULL_DRAW`, known from the Majora's Mask Debug ROM)
|
||||
#define ACTOR_FLAG_DRAW_CULLING_DISABLED (1 << 5)
|
||||
|
||||
// Set if the actor is currently within the bounds of its culling volume.
|
||||
// In most cases, this flag can be used to determine whether or not an actor is currently culled.
|
||||
// However this flag still updates even if `ACTOR_FLAG_UPDATE_CULLING_DISABLED` or `ACTOR_FLAG_DRAW_CULLING_DISABLED`
|
||||
// are set. Meaning, the flag can still have a value of "false" even if it is not actually culled.
|
||||
// (The original name for this flag is `NO_CULL_FLAG`, known from the Majora's Mask Debug ROM)
|
||||
#define ACTOR_FLAG_INSIDE_CULLING_VOLUME (1 << 6)
|
||||
|
||||
// hidden or revealed by Lens of Truth (depending on room lensMode)
|
||||
#define ACTOR_FLAG_REACT_TO_LENS (1 << 7)
|
||||
|
||||
Reference in New Issue
Block a user