Mercurial > mm7
diff SpriteObject.h @ 576:1bd8758f50b8
Слияние
author | Ritor1 |
---|---|
date | Mon, 04 Mar 2013 09:22:38 +0600 |
parents | cb0ad52d6a26 |
children | f5156b8c61ad |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SpriteObject.h Mon Mar 04 09:22:38 2013 +0600 @@ -0,0 +1,55 @@ +#pragma once +#include "VectorTypes.h" +#include "Items.h" + +enum +{ + OBJECT_ATTACHED_TO_ACTOR = 0x80, +}; + + +/* 72 */ +#pragma pack(push, 1) +struct SpriteObject +{ + inline bool AttachedToActor() const {return uAttributes & OBJECT_ATTACHED_TO_ACTOR;} + + SpriteObject(); + int Create(int yaw, int pitch, int a4, int a5); + void _46BEF1_apply_spells(); + void _438E35(); + + static void UpdateObject_fn0_BLV(unsigned int uLayingItemID); + static void UpdateObject_fn0_ODM(unsigned int uLayingItemID); + static void OnInteraction(unsigned int uLayingItemID); + + + unsigned __int16 uType; + unsigned __int16 uObjectDescID; + struct Vec3_int_ vPosition; + struct Vec3_short_ vVelocity; + unsigned __int16 uFacing; + unsigned __int16 uSoundID; + unsigned __int16 uAttributes; + __int16 uSectorID; + unsigned __int16 uSpriteFrameID; + __int16 field_20; + __int16 field_22_glow_radius_multiplier; + struct ItemGen stru_24; + int field_48; + int field_4C; + int field_50; + int field_54; + int field_58_pid; + int field_5C; + char field_60_distance_related_prolly_lod; + char field_61; + char field_62[2]; + Vec3_int_ field_64; +}; +#pragma pack(pop) + + + +extern size_t uNumSpriteObjects; +extern SpriteObject pSpriteObjects[1000]; \ No newline at end of file