annotate LayingItem.h @ 436:4a42c2f97aa2

some itemgen crashes fixed
author Gloval
date Sun, 24 Feb 2013 10:13:00 +0400
parents 58b71c1af7d8
children
rev   line source
0
Ritor1
parents:
diff changeset
1 #pragma once
Ritor1
parents:
diff changeset
2 #include "VectorTypes.h"
Ritor1
parents:
diff changeset
3 #include "Items.h"
Ritor1
parents:
diff changeset
4
430
58b71c1af7d8 Objects are drawn (items, spells sfx)
Nomad
parents: 303
diff changeset
5 enum
58b71c1af7d8 Objects are drawn (items, spells sfx)
Nomad
parents: 303
diff changeset
6 {
58b71c1af7d8 Objects are drawn (items, spells sfx)
Nomad
parents: 303
diff changeset
7 OBJECT_ATTACHED_TO_ACTOR = 0x80,
58b71c1af7d8 Objects are drawn (items, spells sfx)
Nomad
parents: 303
diff changeset
8 };
58b71c1af7d8 Objects are drawn (items, spells sfx)
Nomad
parents: 303
diff changeset
9
0
Ritor1
parents:
diff changeset
10
Ritor1
parents:
diff changeset
11 /* 72 */
Ritor1
parents:
diff changeset
12 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
13 struct LayingItem
Ritor1
parents:
diff changeset
14 {
430
58b71c1af7d8 Objects are drawn (items, spells sfx)
Nomad
parents: 303
diff changeset
15 inline bool AttachedToActor() const {return uAttributes & OBJECT_ATTACHED_TO_ACTOR;}
58b71c1af7d8 Objects are drawn (items, spells sfx)
Nomad
parents: 303
diff changeset
16
0
Ritor1
parents:
diff changeset
17 LayingItem();
Ritor1
parents:
diff changeset
18 int Create(int yaw, int pitch, int a4, int a5);
Ritor1
parents:
diff changeset
19 void _46BEF1_apply_spells();
187
49728858c35e On player voices
Nomad
parents: 0
diff changeset
20 void _438E35();
0
Ritor1
parents:
diff changeset
21
Ritor1
parents:
diff changeset
22 static void UpdateObject_fn0_BLV(unsigned int uLayingItemID);
Ritor1
parents:
diff changeset
23 static void UpdateObject_fn0_ODM(unsigned int uLayingItemID);
430
58b71c1af7d8 Objects are drawn (items, spells sfx)
Nomad
parents: 303
diff changeset
24 static void OnItemPickup(unsigned int uLayingItemID);
0
Ritor1
parents:
diff changeset
25
Ritor1
parents:
diff changeset
26
Ritor1
parents:
diff changeset
27 unsigned __int16 uItemType;
Ritor1
parents:
diff changeset
28 unsigned __int16 uObjectDescID;
Ritor1
parents:
diff changeset
29 struct Vec3_int_ vPosition;
Ritor1
parents:
diff changeset
30 struct Vec3_short_ vVelocity;
Ritor1
parents:
diff changeset
31 unsigned __int16 uFacing;
Ritor1
parents:
diff changeset
32 unsigned __int16 uSoundID;
Ritor1
parents:
diff changeset
33 unsigned __int16 uAttributes;
Ritor1
parents:
diff changeset
34 __int16 uSectorID;
Ritor1
parents:
diff changeset
35 unsigned __int16 uSpriteFrameID;
Ritor1
parents:
diff changeset
36 __int16 field_20;
430
58b71c1af7d8 Objects are drawn (items, spells sfx)
Nomad
parents: 303
diff changeset
37 __int16 field_22_glow_radius_multiplier;
0
Ritor1
parents:
diff changeset
38 struct ItemGen stru_24;
Ritor1
parents:
diff changeset
39 int field_48;
Ritor1
parents:
diff changeset
40 int field_4C;
Ritor1
parents:
diff changeset
41 int field_50;
Ritor1
parents:
diff changeset
42 int field_54;
303
3dcc9d945eeb DamageMonsterFromParty
Nomad
parents: 187
diff changeset
43 int field_58_pid;
0
Ritor1
parents:
diff changeset
44 int field_5C;
Ritor1
parents:
diff changeset
45 char field_60_distance_related_prolly_lod;
Ritor1
parents:
diff changeset
46 char field_61;
Ritor1
parents:
diff changeset
47 char field_62[14];
Ritor1
parents:
diff changeset
48 };
Ritor1
parents:
diff changeset
49 #pragma pack(pop)
Ritor1
parents:
diff changeset
50
Ritor1
parents:
diff changeset
51
Ritor1
parents:
diff changeset
52
Ritor1
parents:
diff changeset
53 extern size_t uNumLayingItems;
Ritor1
parents:
diff changeset
54 extern LayingItem pLayingItems[1000];