diff Engine/Objects/ObjectList.h @ 2498:92eeeb5200f2

.
author Ritor1
date Fri, 19 Sep 2014 00:03:04 +0600
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Engine/Objects/ObjectList.h	Fri Sep 19 00:03:04 2014 +0600
@@ -0,0 +1,88 @@
+#pragma once
+
+
+
+
+/*  324 */
+enum OBJECT_DESC_FLAGS
+{
+  OBJECT_DESC_NO_SPRITE = 0x1,
+  OBJECT_DESC_NO_COLLISION = 0x2,
+  OBJECT_DESC_TEMPORARY = 0x4,
+  OBJECT_DESC_SFT_LIFETIME = 0x8,
+  OBJECT_DESC_UNPICKABLE = 0x10,
+  OBJECT_DESC_NO_GRAVITY = 0x20,
+  OBJECT_DESC_INTERACTABLE = 0x40,
+  OBJECT_DESC_BOUNCE = 0x80,
+  OBJECT_DESC_TRIAL_PARTICLE = 0x100,
+  OBJECT_DESC_TRIAL_FIRE = 0x200,
+  OBJECT_DESC_TRIAL_LINE = 0x400,
+};
+
+
+
+
+/*   56 */
+#pragma pack(push, 1)
+struct ObjectDesc_mm6
+{
+  inline bool NoSprite() const {return uFlags & OBJECT_DESC_NO_SPRITE;}
+
+  char field_0[32];
+  __int16 uObjectID;
+  __int16 uRadius;
+  __int16 uHeight;
+  __int16 uFlags;
+  unsigned __int16 uSpriteID;
+  __int16 uLifetime;
+  unsigned short uParticleTrailColor;
+  __int16 uSpeed;
+  char uParticleTrailColorR;
+  char uParticleTrailColorG;
+  char uParticleTrailColorB;
+  char field_35_clr;
+};
+
+struct ObjectDesc
+{
+  inline bool NoSprite() const {return uFlags & OBJECT_DESC_NO_SPRITE;}
+
+  char field_0[32];
+  __int16 uObjectID;
+  __int16 uRadius;
+  __int16 uHeight;
+  __int16 uFlags;
+  unsigned __int16 uSpriteID;
+  __int16 uLifetime;
+  unsigned int uParticleTrailColor;
+  __int16 uSpeed;
+  unsigned char uParticleTrailColorR;
+  unsigned char uParticleTrailColorG;
+  unsigned char uParticleTrailColorB;
+  char field_35_clr;
+  char field_36_clr;
+  char field_37_clr;
+};
+#pragma pack(pop)
+
+/*   57 */
+#pragma pack(push, 1)
+struct ObjectList
+{
+  inline ObjectList():  //----- (004583D5)
+    uNumObjects(0), pObjects(nullptr)
+  {}
+
+  void ToFile();
+  void FromFile(void *data_mm6, void *data_mm7, void *data_mm8);
+  bool FromFileTxt(const char *Args);
+  void InitializeSprites();
+  __int16 ObjectIDByItemID(unsigned __int16 uItemID);
+
+
+  unsigned int uNumObjects;
+  struct ObjectDesc *pObjects;
+};
+#pragma pack(pop)
+
+extern struct ObjectList *pObjectList;
\ No newline at end of file