comparison SpriteObject.h @ 515:cb0ad52d6a26

LayingItem -> SpriteObject (long-waited rename, old name was inaccurate and confused people) Some object-related subs moved to SpriteObject.cpp
author Nomad
date Fri, 01 Mar 2013 21:13:12 +0200
parents
children f5156b8c61ad
comparison
equal deleted inserted replaced
514:0bbc39457b25 515:cb0ad52d6a26
1 #pragma once
2 #include "VectorTypes.h"
3 #include "Items.h"
4
5 enum
6 {
7 OBJECT_ATTACHED_TO_ACTOR = 0x80,
8 };
9
10
11 /* 72 */
12 #pragma pack(push, 1)
13 struct SpriteObject
14 {
15 inline bool AttachedToActor() const {return uAttributes & OBJECT_ATTACHED_TO_ACTOR;}
16
17 SpriteObject();
18 int Create(int yaw, int pitch, int a4, int a5);
19 void _46BEF1_apply_spells();
20 void _438E35();
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
26
27 unsigned __int16 uType;
28 unsigned __int16 uObjectDescID;
29 struct Vec3_int_ vPosition;
30 struct Vec3_short_ vVelocity;
31 unsigned __int16 uFacing;
32 unsigned __int16 uSoundID;
33 unsigned __int16 uAttributes;
34 __int16 uSectorID;
35 unsigned __int16 uSpriteFrameID;
36 __int16 field_20;
37 __int16 field_22_glow_radius_multiplier;
38 struct ItemGen stru_24;
39 int field_48;
40 int field_4C;
41 int field_50;
42 int field_54;
43 int field_58_pid;
44 int field_5C;
45 char field_60_distance_related_prolly_lod;
46 char field_61;
47 char field_62[2];
48 Vec3_int_ field_64;
49 };
50 #pragma pack(pop)
51
52
53
54 extern size_t uNumSpriteObjects;
55 extern SpriteObject pSpriteObjects[1000];