Path: blob/master/RSDKv5/RSDK/Scene/Legacy/v3/ObjectLegacyv3.hpp
1182 views
1namespace Legacy2{34namespace v35{6#define LEGACY_v3_ENTITY_COUNT (0x4A0)7#define LEGACY_v3_TEMPENTITY_START (LEGACY_v3_ENTITY_COUNT - 0x80)8#define LEGACY_v3_OBJECT_COUNT (0x100)910struct Entity {11int32 XPos;12int32 YPos;13int32 values[8];14int32 scale;15int32 rotation;16int32 animationTimer;17int32 animationSpeed;18uint8 type;19uint8 propertyValue;20uint8 state;21uint8 priority;22uint8 drawOrder;23uint8 direction;24uint8 inkEffect;25uint8 alpha;26uint8 animation;27uint8 prevAnimation;28uint8 frame;29};3031enum ObjectTypes {32OBJ_TYPE_BLANKOBJECT = 0 // 0 is always blank obj33};3435enum ObjectPriority {36// The entity is active if the entity is on screen or within 128 pixels of the screen borders on any axis37PRIORITY_BOUNDS,38// The entity is always active, unless the stage state is PAUSED or FROZEN39PRIORITY_ACTIVE,40// Same as PRIORITY_ACTIVE, the entity even runs when the stage state is PAUSED or FROZEN41PRIORITY_ALWAYS,42// Same as PRIORITY_BOUNDS, however it only does checks on the x-axis, so when in bounds on the x-axis, the y position doesn't matter43PRIORITY_XBOUNDS,44// Same as PRIORITY_BOUNDS, however the entity's type will be set to BLANK OBJECT when it becomes inactive45PRIORITY_BOUNDS_DESTROY,46// Never Active.47PRIORITY_INACTIVE,48};4950extern int32 objectLoop;51extern int32 curObjectType;52extern Entity objectEntityList[LEGACY_v3_ENTITY_COUNT];5354extern char typeNames[LEGACY_v3_OBJECT_COUNT][0x40];5556void ProcessStartupObjects();57void ProcessObjects();58void ProcessPausedObjects();5960void SetObjectTypeName(const char *objectName, int32 objectID);61} // namespace v36263} // namespace Legacy6465