view LayingItem.h @ 492:0e27362ac1d9

guild
author Gloval
date Thu, 28 Feb 2013 01:38:46 +0400
parents 58b71c1af7d8
children
line wrap: on
line source

#pragma once
#include "VectorTypes.h"
#include "Items.h"

enum
{
  OBJECT_ATTACHED_TO_ACTOR = 0x80,
};


/*   72 */
#pragma pack(push, 1)
struct LayingItem
{
  inline bool AttachedToActor() const {return uAttributes & OBJECT_ATTACHED_TO_ACTOR;}

  LayingItem();
  int Create(int yaw, int pitch, int a4, int a5);
  void _46BEF1_apply_spells();
  void _438E35();

  static void UpdateObject_fn0_BLV(unsigned int uLayingItemID);
  static void UpdateObject_fn0_ODM(unsigned int uLayingItemID);
  static void OnItemPickup(unsigned int uLayingItemID);


  unsigned __int16 uItemType;
  unsigned __int16 uObjectDescID;
  struct Vec3_int_ vPosition;
  struct Vec3_short_ vVelocity;
  unsigned __int16 uFacing;
  unsigned __int16 uSoundID;
  unsigned __int16 uAttributes;
  __int16 uSectorID;
  unsigned __int16 uSpriteFrameID;
  __int16 field_20;
  __int16 field_22_glow_radius_multiplier;
  struct ItemGen stru_24;
  int field_48;
  int field_4C;
  int field_50;
  int field_54;
  int field_58_pid;
  int field_5C;
  char field_60_distance_related_prolly_lod;
  char field_61;
  char field_62[14];
};
#pragma pack(pop)



extern size_t uNumLayingItems;
extern LayingItem pLayingItems[1000];