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