Mercurial > mm7
comparison Engine/Objects/SpriteObject.h @ 2498:92eeeb5200f2
.
author | Ritor1 |
---|---|
date | Fri, 19 Sep 2014 00:03:04 +0600 |
parents | |
children | 30eb6dcac768 |
comparison
equal
deleted
inserted
replaced
2497:82d5d92a097c | 2498:92eeeb5200f2 |
---|---|
1 #pragma once | |
2 #include "Items.h" | |
3 | |
4 enum | |
5 { | |
6 OBJECT_40 = 0x40 | |
7 , OBJECT_ATTACHED_TO_ACTOR = 0x80 | |
8 }; | |
9 | |
10 #define MAX_SPRITE_OBJECTS 1000 | |
11 /* 72 */ | |
12 #pragma pack(push, 1) | |
13 struct SpriteObject | |
14 { | |
15 inline bool AttachedToActor() const {return (uAttributes & OBJECT_ATTACHED_TO_ACTOR) != 0;} | |
16 | |
17 SpriteObject(); | |
18 int Create(int yaw, int pitch, int a4, int a5); | |
19 void _46BEF1_apply_spells_aoe(); | |
20 void ExplosionTraps(); | |
21 | |
22 static void UpdateObject_fn0_BLV(unsigned int uLayingItemID); | |
23 static void UpdateObject_fn0_ODM(unsigned int uLayingItemID); | |
24 static void OnInteraction(unsigned int uLayingItemID); | |
25 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); | |
26 static void sub_42F960_create_object(int x, int y, int z); | |
27 static void InitializeSpriteObjects(); | |
28 | |
29 | |
30 unsigned __int16 uType; | |
31 unsigned __int16 uObjectDescID; | |
32 struct Vec3_int_ vPosition; | |
33 struct Vec3_short_ vVelocity; | |
34 unsigned __int16 uFacing; | |
35 unsigned __int16 uSoundID; | |
36 unsigned __int16 uAttributes; | |
37 __int16 uSectorID; | |
38 unsigned __int16 uSpriteFrameID; | |
39 __int16 field_20; | |
40 __int16 field_22_glow_radius_multiplier; | |
41 struct ItemGen stru_24; | |
42 int spell_id; | |
43 int spell_level; | |
44 int spell_skill; | |
45 int field_54; | |
46 int spell_caster_pid; | |
47 int spell_target_pid; | |
48 char field_60_distance_related_prolly_lod; | |
49 char field_61; | |
50 char field_62[2]; | |
51 Vec3_int_ field_64; | |
52 }; | |
53 #pragma pack(pop) | |
54 | |
55 | |
56 void CompactLayingItemsList(); | |
57 | |
58 extern size_t uNumSpriteObjects; | |
59 extern std::array<SpriteObject, MAX_SPRITE_OBJECTS> pSpriteObjects; | |
60 | |
61 bool __fastcall _46BFFA_check_object_intercept(unsigned int uLayingItemID, signed int a2); | |
62 void __fastcall sub_43A97E(unsigned int uLayingItemID, signed int a2); // idb |