2498
|
1 #pragma once
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6 /* 324 */
|
|
7 enum OBJECT_DESC_FLAGS
|
|
8 {
|
|
9 OBJECT_DESC_NO_SPRITE = 0x1,
|
|
10 OBJECT_DESC_NO_COLLISION = 0x2,
|
|
11 OBJECT_DESC_TEMPORARY = 0x4,
|
|
12 OBJECT_DESC_SFT_LIFETIME = 0x8,
|
|
13 OBJECT_DESC_UNPICKABLE = 0x10,
|
|
14 OBJECT_DESC_NO_GRAVITY = 0x20,
|
|
15 OBJECT_DESC_INTERACTABLE = 0x40,
|
|
16 OBJECT_DESC_BOUNCE = 0x80,
|
|
17 OBJECT_DESC_TRIAL_PARTICLE = 0x100,
|
|
18 OBJECT_DESC_TRIAL_FIRE = 0x200,
|
|
19 OBJECT_DESC_TRIAL_LINE = 0x400,
|
|
20 };
|
|
21
|
|
22
|
|
23
|
|
24
|
|
25 /* 56 */
|
|
26 #pragma pack(push, 1)
|
|
27 struct ObjectDesc_mm6
|
|
28 {
|
|
29 inline bool NoSprite() const {return uFlags & OBJECT_DESC_NO_SPRITE;}
|
|
30
|
|
31 char field_0[32];
|
|
32 __int16 uObjectID;
|
|
33 __int16 uRadius;
|
|
34 __int16 uHeight;
|
|
35 __int16 uFlags;
|
|
36 unsigned __int16 uSpriteID;
|
|
37 __int16 uLifetime;
|
|
38 unsigned short uParticleTrailColor;
|
|
39 __int16 uSpeed;
|
|
40 char uParticleTrailColorR;
|
|
41 char uParticleTrailColorG;
|
|
42 char uParticleTrailColorB;
|
|
43 char field_35_clr;
|
|
44 };
|
|
45
|
|
46 struct ObjectDesc
|
|
47 {
|
|
48 inline bool NoSprite() const {return uFlags & OBJECT_DESC_NO_SPRITE;}
|
|
49
|
|
50 char field_0[32];
|
|
51 __int16 uObjectID;
|
|
52 __int16 uRadius;
|
|
53 __int16 uHeight;
|
|
54 __int16 uFlags;
|
|
55 unsigned __int16 uSpriteID;
|
|
56 __int16 uLifetime;
|
|
57 unsigned int uParticleTrailColor;
|
|
58 __int16 uSpeed;
|
|
59 unsigned char uParticleTrailColorR;
|
|
60 unsigned char uParticleTrailColorG;
|
|
61 unsigned char uParticleTrailColorB;
|
|
62 char field_35_clr;
|
|
63 char field_36_clr;
|
|
64 char field_37_clr;
|
|
65 };
|
|
66 #pragma pack(pop)
|
|
67
|
|
68 /* 57 */
|
|
69 #pragma pack(push, 1)
|
|
70 struct ObjectList
|
|
71 {
|
|
72 inline ObjectList(): //----- (004583D5)
|
|
73 uNumObjects(0), pObjects(nullptr)
|
|
74 {}
|
|
75
|
|
76 void ToFile();
|
|
77 void FromFile(void *data_mm6, void *data_mm7, void *data_mm8);
|
|
78 bool FromFileTxt(const char *Args);
|
|
79 void InitializeSprites();
|
|
80 __int16 ObjectIDByItemID(unsigned __int16 uItemID);
|
|
81
|
|
82
|
|
83 unsigned int uNumObjects;
|
|
84 struct ObjectDesc *pObjects;
|
|
85 };
|
|
86 #pragma pack(pop)
|
|
87
|
|
88 extern struct ObjectList *pObjectList; |