view stru6.h @ 208:af624eaf2fc5 tip

14.01.13
author Ritor1
date Mon, 14 Jan 2013 10:39:01 +0600
parents bcc051713d20
children
line wrap: on
line source

#pragma once
#include "Render.h"


/*  120 */
#pragma pack(push, 1)
struct stru6_stru1_indoor_sw_billboard
{
  //----- (004775B1) --------------------------------------------------------
  inline stru6_stru1_indoor_sw_billboard()
  {
    field_10 = 0;
    uNumVec4sInArray1 = 0;
    uNumVec3sInArray2 = 0;
    pArray1 = nullptr;
    pArray2 = nullptr;
  }

  //----- (004775C4) --------------------------------------------------------
  virtual ~stru6_stru1_indoor_sw_billboard()
  {
    if (pArray1)
      delete [] pArray1;
    pArray1 = nullptr;

    if (pArray2)
      delete [] pArray2;
    pArray2 = nullptr;
  }

  int _4775ED(float a2);
  int _477927(float a2);
  int sub_477C61();
  bool sub_477F63();
  int sub_47802A();
  void Initialize(int a2);
  void _47829F_fireball_collision(float arg0, float a3, float a4, float a5, int a2);


  unsigned int uNumVec4sInArray1;
  struct stru16x *pArray1;
  unsigned int uNumVec3sInArray2;
  struct stru160 *pArray2;
  int field_10;
  int field_14[80];
};
#pragma pack(pop)


/*  122 */
#pragma pack(push, 1)
struct PlayerBuffAnim
{
  __int16 bRender;
  __int16 field_2;
  int uSpellIconID;
  __int16 uSpellID;
  __int16 field_A;
  int uSpellIconID_;
};
#pragma pack(pop)


/*  307 */
#pragma pack(push, 1)
struct ProjectileAnim
{
  float srcX;
  float srcY;
  float srcZ;
  float dstX;
  float dstY;
  float dstZ;
  int uTextureID;
};
#pragma pack(pop)


/*  306 */
#pragma pack(push, 1)
struct stru6_stru2
{
  int uSpellAnimLength;
  float flt_4;
  float flt_8;
  float flt_C;
};
#pragma pack(pop)



/*  121 */
#pragma pack(push, 1)
struct stru6
{
  //----- (004A7155) --------------------------------------------------------
  stru6()
  {
    this->pPlayerBuffs[0].bRender = 0;
    this->pPlayerBuffs[1].bRender = 0;
    this->pPlayerBuffs[2].bRender = 0;
    this->pPlayerBuffs[3].bRender = 0;
    this->field_204 = 0;
    this->uFadeTime = 0;
    this->uNumProjectiles = 0;
    this->array_0[0].uSpellAnimLength = 0;

    pStru1 = new stru6_stru1_indoor_sw_billboard;
    pStru1->Initialize(0xFF3C1Eu);
  }
  //----- (004A71DC) --------------------------------------------------------
  ~stru6()
  {
    if (pStru1)
      delete pStru1;
    pStru1 = nullptr;
  }

  void DoAddProjectile(float srcX, float srcY, float srcZ, float dstX, float dstY, float dstZ, unsigned int uTextureID);
  void DrawProjectiles();
  void _4A73AA_hanging_trace_particles___like_fire_strike_ice_blast_etc(struct LayingItem *a2, unsigned int uDiffuse, unsigned int uTextureID);
  void _4A75CC_single_spell_collision_particle(struct LayingItem *a1, unsigned int uDiffuse, unsigned int uTextureID);
  void _4A7688_fireball_collision_particle(struct LayingItem *a2);
  void _4A77FD_some_stuff_d3d(struct LayingItem *a1);
  void _4A78AE_sparks_spell(struct LayingItem *a1);
  void _4A7948_mind_blast_after_effect(struct LayingItem *a1);
  bool AddMobileLight(struct LayingItem *a1, unsigned int uDiffuse, int uRadius);
  void _4A7A66_miltiple_spell_collision_partifles___like_after_sparks_or_lightning(LayingItem *a1, unsigned int uDiffuse, unsigned int uTextureID, float a4);
  void _4A7C07(struct LayingItem *a2);
  void AddProjectile(struct LayingItem *a2, int a3, unsigned int uTextureID);
  int _4A7E89_sparkles_on_actor_after_it_casts_buff(struct Actor *pActor, unsigned int uDiffuse);
  void _4A7F74(int x, int y, int z);
  int _4A806F(struct Actor *pActor);
  void _4A80DC_some_stuff_sw(struct LayingItem *a2);
  bool _4A81CA(struct LayingItem *a2);
  int SetPlayerBuffAnim(unsigned __int16 uSpellID, unsigned __int16 uPlayerID);
  void FadeScreen__like_Turn_Undead_and_mb_Armageddon(unsigned int uDiffuseColor, unsigned int uFadeTime);
  int _4A8BFC();
  void RenderSpecialEffects();
  void DrawPlayerBuffAnims();
  void LoadAnimations();


  stru6_stru2 array_0[32];
  int field_200;
  int field_204;
  PlayerBuffAnim pPlayerBuffs[4];
  ProjectileAnim pProjectiles[32];
  int uNumProjectiles;
  stru6_stru1_indoor_sw_billboard *pStru1;
  int field_5D0;
  int uAnimLength;
  int uFadeTime;
  int uFadeTime2;
  int uFadeColor;
  unsigned int uTextureID_effpar1;
  unsigned int uTextureID_effpar2;
  unsigned int uTextureID_effpar3;
  unsigned int uSpriteID_sp57c;
  int field_5F4;
};
#pragma pack(pop)