Mercurial > might-and-magic-trilogy
diff stru6.h @ 0:8b8875f5b359
Initial commit
author | Nomad |
---|---|
date | Fri, 05 Oct 2012 16:07:14 +0200 |
parents | |
children | bcc051713d20 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/stru6.h Fri Oct 05 16:07:14 2012 +0200 @@ -0,0 +1,164 @@ +#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); + int 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(); + HRESULT 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) + +