Mercurial > mm7
view Engine/Objects/SpriteObject.h @ 2534:1bcadc6dd203
enum SOUND_
author | Ritor1 |
---|---|
date | Mon, 09 Feb 2015 19:17:12 +0600 |
parents | 92eeeb5200f2 |
children | 30eb6dcac768 |
line wrap: on
line source
#pragma once #include "Items.h" enum { OBJECT_40 = 0x40 , OBJECT_ATTACHED_TO_ACTOR = 0x80 }; #define MAX_SPRITE_OBJECTS 1000 /* 72 */ #pragma pack(push, 1) struct SpriteObject { inline bool AttachedToActor() const {return (uAttributes & OBJECT_ATTACHED_TO_ACTOR) != 0;} SpriteObject(); int Create(int yaw, int pitch, int a4, int a5); void _46BEF1_apply_spells_aoe(); void ExplosionTraps(); static void UpdateObject_fn0_BLV(unsigned int uLayingItemID); static void UpdateObject_fn0_ODM(unsigned int uLayingItemID); static void OnInteraction(unsigned int uLayingItemID); static bool sub_42F7EB_DropItemAt(unsigned int uSpriteID, int x, int y, int z, int a4, int count, int a7, unsigned __int16 attributes, ItemGen *a9); static void sub_42F960_create_object(int x, int y, int z); static void InitializeSpriteObjects(); 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 spell_id; int spell_level; int spell_skill; int field_54; int spell_caster_pid; int spell_target_pid; char field_60_distance_related_prolly_lod; char field_61; char field_62[2]; Vec3_int_ field_64; }; #pragma pack(pop) void CompactLayingItemsList(); extern size_t uNumSpriteObjects; extern std::array<SpriteObject, MAX_SPRITE_OBJECTS> pSpriteObjects; bool __fastcall _46BFFA_check_object_intercept(unsigned int uLayingItemID, signed int a2); void __fastcall sub_43A97E(unsigned int uLayingItemID, signed int a2); // idb