Advertisement
Kiosani

w_ObjectInfo.h S5 src main

Apr 10th, 2022
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.48 KB | None | 0 0
  1. // w_ObjectInfo.h: interface for the ObjectInfo class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4.  
  5. #if !defined(AFX_W_OBJECT_H__4FAC8EFA_AAC5_490A_B4A1_FD61801D8AE0__INCLUDED_)
  6. #define AFX_W_OBJECT_H__4FAC8EFA_AAC5_490A_B4A1_FD61801D8AE0__INCLUDED_
  7.  
  8. #if _MSC_VER > 1000
  9. #pragma once
  10. #endif // _MSC_VER > 1000
  11.  
  12.  
  13.  
  14. #ifdef LDS_ADD_EG_4_MONSTER_WORLDBOSS_GAIONKALEIN
  15. #include <vector>
  16. #include "./Math/ZzzMathLib.h"
  17.  
  18. class CInterpolateContainer
  19. {
  20. public:
  21. struct INTERPOLATE_FACTOR
  22. {
  23. float fRateStart;
  24. float fRateEnd;
  25.  
  26. vec3_t v3Start;
  27. vec3_t v3End;
  28. INTERPOLATE_FACTOR( float fRateStart_, float fRateEnd_,
  29. vec3_t& v3Start_, vec3_t& v3End_ )
  30. {
  31. fRateStart = fRateStart_;
  32. fRateEnd = fRateEnd_;
  33.  
  34. VectorCopy(v3Start_, v3Start);
  35. VectorCopy(v3End_, v3End);
  36. };
  37.  
  38. INTERPOLATE_FACTOR()
  39. {
  40.  
  41. };
  42. };
  43.  
  44. struct INTERPOLATE_FACTOR_F
  45. {
  46. float fRateStart;
  47. float fRateEnd;
  48.  
  49. float fStart;
  50. float fEnd;
  51. INTERPOLATE_FACTOR_F( float fRateStart_, float fRateEnd_,
  52. float& fStart_, float& fEnd_ )
  53. {
  54. fRateStart = fRateStart_;
  55. fRateEnd = fRateEnd_;
  56.  
  57. fStart = fStart_;
  58. fEnd = fEnd_;
  59. };
  60.  
  61. INTERPOLATE_FACTOR_F()
  62. {
  63.  
  64. };
  65. };
  66.  
  67.  
  68. public:
  69. typedef vector<INTERPOLATE_FACTOR> VEC_INTERPOLATES;
  70. typedef vector<INTERPOLATE_FACTOR_F> VEC_INTERPOLATES_F;
  71. VEC_INTERPOLATES m_vecInterpolatesAngle;
  72. VEC_INTERPOLATES m_vecInterpolatesPos;
  73. VEC_INTERPOLATES_F m_vecInterpolatesScale;
  74. VEC_INTERPOLATES_F m_vecInterpolatesAlpha;
  75.  
  76. public:
  77. void GetCurrentValue(vec3_t& v3Out, float fCurrentRate, VEC_INTERPOLATES& vecInterpolates );
  78. void GetAngleCurrent(vec3_t& v3Out, float fCurrentRate )
  79. {
  80. GetCurrentValue( v3Out, fCurrentRate, m_vecInterpolatesAngle );
  81. }
  82. void GetPosCurrent(vec3_t& v3Out, float fCurrentRate )
  83. {
  84. GetCurrentValue( v3Out, fCurrentRate, m_vecInterpolatesPos );
  85. }
  86.  
  87. void GetCurrentValueF(float& fOut, float fCurrentRate, VEC_INTERPOLATES_F& vecInterpolates );
  88. void GetScaleCurrent(float& fOut, float fCurrentRate )
  89. {
  90. GetCurrentValueF( fOut, fCurrentRate, m_vecInterpolatesScale );
  91. }
  92.  
  93. void GetAlphaCurrent(float& fOut, float fCurrentRate )
  94. {
  95. GetCurrentValueF( fOut, fCurrentRate, m_vecInterpolatesAlpha );
  96. }
  97.  
  98. public:
  99. void ClearContainer();
  100.  
  101. CInterpolateContainer(){};
  102. ~CInterpolateContainer(){};
  103. };
  104.  
  105.  
  106.  
  107. #endif // LDS_ADD_EG_4_MONSTER_WORLDBOSS_GAIONKALEIN
  108.  
  109.  
  110. #ifdef _VS2008PORTING
  111. typedef struct tagMU_POINTF
  112. {
  113. float x;
  114. float y;
  115. } MU_POINTF;
  116. #else // _VS2008PORTING
  117. typedef struct tagPOINTF
  118. {
  119. float x;
  120. float y;
  121. } POINTF;
  122. #endif // _VS2008PORTING
  123.  
  124. typedef struct tagSIZEF
  125. {
  126. float cx;
  127. float cy;
  128. } SIZEF;
  129.  
  130. typedef struct
  131. {
  132. vec3_t StartPos;
  133. vec3_t XAxis;
  134. vec3_t YAxis;
  135. vec3_t ZAxis;
  136. } OBB_t;
  137.  
  138. class OBJECT
  139. {
  140. public:
  141. OBJECT();
  142. virtual ~OBJECT();
  143.  
  144. public:
  145. void Initialize();
  146. void Destroy();
  147.  
  148. public:
  149. bool Live;
  150. bool bBillBoard;
  151. bool m_bCollisionCheck; // Ãæµ¹ üũ ÇÒ±î?
  152. bool m_bRenderShadow; // ±×¸²ÀÚ¸¦ ÂïÀ»±î? ¸»±î?
  153. bool EnableShadow;
  154. bool LightEnable;
  155. bool m_bActionStart;
  156. bool m_bRenderAfterCharacter;
  157. bool Visible;
  158. bool AlphaEnable;
  159. bool EnableBoneMatrix;
  160. bool ContrastEnable;
  161. bool ChromeEnable;
  162.  
  163. public:
  164. unsigned char AI;
  165. #ifdef PBG_ADD_NEWCHAR_MONK_ANI
  166. //¾Ö´Ï¸ÞÀ̼Ç255°³ ÀÌ»ó Ãß°¡·ÎÀÎÇÑ È®Àå
  167. unsigned short CurrentAction;
  168. unsigned short PriorAction;
  169. #else //PBG_ADD_NEWCHAR_MONK_ANI
  170. unsigned char CurrentAction;
  171. unsigned char PriorAction;
  172. #endif //PBG_ADD_NEWCHAR_MONK_ANI
  173.  
  174. public:
  175. BYTE ExtState;
  176. BYTE Teleport;
  177. BYTE Kind;
  178. WORD Skill;
  179. BYTE m_byNumCloth; // õ °³¼ö
  180. BYTE m_byHurtByOneToOne;
  181. BYTE WeaponLevel;
  182. BYTE DamageTime; // °ø°ÝÀ» ¹ÞÀº Ãæ°Ý ½Ã°£.
  183. BYTE m_byBuildTime;
  184. BYTE m_bySkillCount;
  185. BYTE m_bySkillSerialNum;
  186. BYTE Block;
  187. void* m_pCloth; // õ ºÙÀ̱â
  188.  
  189. public:
  190. short ScreenX;
  191. short ScreenY;
  192. short PKKey;
  193. short Weapon;
  194.  
  195. public:
  196. int Type;
  197. int SubType;
  198. int m_iAnimation; // Æ渱 ¹ß¹Ù´Ú °ü·Ã ¿¡´Ï¸ÞÀÌ¼Ç Å°°ª
  199. int HiddenMesh;
  200. int LifeTime;
  201. int BlendMesh;
  202. int AttackPoint[2];
  203. int RenderType;
  204. int InitialSceneFrame;
  205. int LinkBone;
  206.  
  207. public:
  208. DWORD m_dwTime; // Æ渱 °ü·Ã ½Ã°£Àç´Â º¯¼ö·Î »ç¿ë
  209.  
  210. public:
  211. float Scale;
  212. float BlendMeshLight;
  213. float BlendMeshTexCoordU;
  214. float BlendMeshTexCoordV;
  215. float Timer;
  216. float m_fEdgeScale; // ¿Ü°û¼± ½ºÄÉÀÏ.
  217. float Velocity;
  218. float CollisionRange;
  219. float ShadowScale;
  220. float Gravity;
  221. float Distance;
  222. float AnimationFrame;
  223. float PriorAnimationFrame;
  224. float AlphaTarget;
  225. float Alpha;
  226.  
  227. public:
  228. vec3_t Light;
  229. vec3_t Direction;
  230. vec3_t m_vPosSword; // Ä®³¡ À§Ä¡
  231. vec3_t StartPosition; // bullet
  232. vec3_t BoundingBoxMin;
  233. vec3_t BoundingBoxMax;
  234. vec3_t m_vDownAngle;
  235. vec3_t m_vDeadPosition;
  236. vec3_t Position;
  237. vec3_t Angle;
  238. vec3_t HeadAngle;
  239. vec3_t HeadTargetAngle;
  240. vec3_t EyeLeft;
  241. vec3_t EyeRight;
  242. vec3_t EyeLeft2;
  243. vec3_t EyeRight2;
  244. vec3_t EyeLeft3;
  245. vec3_t EyeRight3;
  246. public:
  247. vec34_t Matrix;
  248. vec34_t *BoneTransform;
  249.  
  250. public:
  251. OBB_t OBB;
  252.  
  253. public:
  254. OBJECT *Owner;
  255. OBJECT *Prior;
  256. OBJECT *Next;
  257.  
  258. public:
  259. Buff m_BuffMap;
  260.  
  261. public:
  262. short int m_sTargetIndex; // üÀζóÀÌÆ®´× ½ºÅ³¿¡¼­, ´ÙÀ½ Ÿ°Ù ¿ÀºêÁ§Æ®ÀÇ À妽º¸¦ ÀúÀå (Effect ¿¡¼­ »ç¿ë)
  263.  
  264. #if defined PCROOM_EVENT
  265. public:
  266. BOOL m_bpcroom; // ÇǾ¾¹æ °ü·Ã À̺¥Æ® Àü¿ë NPC üũ º¯¼ö
  267. #endif //PCROOM_EVENT
  268.  
  269. #if defined MR0 || defined OBJECT_ID
  270. public:
  271. unsigned int m_iID;
  272. #endif //MR0
  273.  
  274. vec3_t m_v3PrePos1;
  275. vec3_t m_v3PrePos2;
  276.  
  277. #ifdef LDS_ADD_EG_4_MONSTER_WORLDBOSS_GAIONKALEIN
  278. CInterpolateContainer m_Interpolates;
  279. #endif // LDS_ADD_EG_4_MONSTER_WORLDBOSS_GAIONKALEIN
  280. };
  281.  
  282. #endif // !defined(AFX_W_OBJECT_H__4FAC8EFA_AAC5_490A_B4A1_FD61801D8AE0__INCLUDED_)
  283.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement