CUITile.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. // CUITile - [2020-04-13 11:57:47]
  2. #ifndef _CUITILE_H_
  3. #define _CUITILE_H_
  4. #include "XMATH.h"
  5. #include "FTTFont.h"
  6. #include "CUITileActions.h"
  7. #include "FETU.h"
  8. /*
  9. 00137714 CUITile::CUITile()
  10. 001377B4 CUITile::~CUITile()
  11. 001377B6 CUITile::~CUITile()
  12. 001354BE CUITile::Init()
  13. 001354BC CUITile::Shutdown()
  14. 001377B8 CUITile::UpdatePos()
  15. 001378E4 CUITile::UpdatePosExplicit(float,float)
  16. 0013794C CUITile::ProcessInput(bool)
  17. 00137B70 CUITile::RenderBase()
  18. 00137CE4 CUITile::RenderStarburst()
  19. 00137D9C CUITile::TileDrawTexI(char const*,float,float,float,float,uint)
  20. 00137E5C CUITile::TileDrawShadowSmall(float,float,float,float)
  21. 00137EC2 CUITile::TileDrawTex(TImage *,float,float,float,float,uint)
  22. 00137F54 CUITile::RenderPost()
  23. 00137F58 CUITile::TileSetFont(int)
  24. 00137F78 CUITile::TileSetFontScale(float,float)
  25. 00137FAE CUITile::TileSetFontScaleForWidth(wchar_t const*,float)
  26. 00137FC6 CUITile::TileSetFontScaleForWidth(char const*,float)
  27. 00137FDE CUITile::TileGetTextWidth(wchar_t const*)
  28. 00137FFA CUITile::TileGetTextDims(wchar_t const*)
  29. 0013802A CUITile::TileGetTextDimsWrap(float,wchar_t const*)
  30. 0013806A CUITile::TilePrint(float,float,wchar_t const*)
  31. 001380AC CUITile::TilePrint(float,float,char const*)
  32. 001380EE CUITile::TilePrintRotWood(float,float,float,wchar_t const*)
  33. 00138140 CUITile::TilePrintRot(float,float,float,wchar_t const*)
  34. 00138192 CUITile::TilePrintRotBorder(float,float,float,float,uint,uint,wchar_t const*)
  35. 00138374 CUITile::TilePrintWrapRotBorder(float,float,float,float,float,uint,uint,wchar_t const*)
  36. 001385AC CUITile::TilePrintRot(float,float,float,char const*)
  37. 001385FE CUITile::TilePrintWrapf(float,float,EFontWrapType,float,float,wchar_t *)
  38. 0013866A CUITile::TilePrintWrapRotf(float,float,float,EFontWrapType,float,float,wchar_t *)
  39. 001386DE CUITile::TileDrawTex(TImage *,float,float,uint)
  40. 001386F6 CUITile::TileDrawTex(CFTTTexture *,float,float,uint)
  41. 0013870E CUITile::TileDrawTex(CFTTTexture *,float,float,float,float,uint)
  42. 001387A8 CUITile::TileDrawTexCrop(TImage *,float,float,float,float,float,float,float,float,uint)
  43. 0013885C CUITile::TileDrawTexCrop(CFTTTexture *,float,float,float,float,float,float,float,float,uint)
  44. 00138918 CUITile::TileDrawTexCrop(char const*,float,float,float,float,float,float,float,float,uint)
  45. 0013897C CUITile::TileDrawTex(char const*,float,float,uint)
  46. 001389BA CUITile::TileDrawShadow(float,float,float,float)
  47. 00138A20 CUITile::TileDrawShadowRounded(float,float,float,float,uint)
  48. 00138ABC CUITile::TileDrawShadowSmallRot(float,float,float,float,float)
  49. 00138B2C CUITile::TileDrawLineH(float,float,float,uint,bool)
  50. 00138B78 CUITile::TileDrawRect(float,float,float,float,uint)
  51. 00138BDE CUITile::TileDrawTex(char const*,float,float,float,float,uint)
  52. 00138C24 CUITile::TileDrawLineV(float,float,float,uint,bool)
  53. 00138C78 CUITile::TileDrawLine(float,float,float,float,uint)
  54. 00138CCC CUITile::TileDrawLineX(float,float,float,float,uint)
  55. 00138D36 CUITile::TileDrawRectRot(float,float,float,float,float,uint)
  56. 00138DA4 CUITile::TileDrawDottedLine(float,float,float,float,float,float,uint)
  57. 00138DFC CUITile::TileDrawDottedLineCurve(float,float,float,float,float,float,float,uint)
  58. 00138E5C CUITile::TileDrawDottedLineCurveXS(float,float,float,float,float,float,float,float,uint)
  59. 00138ECA CUITile::TileDrawLevelNumber(float,float,float,float,int,int,float,float,float,bool,uint,TRect)
  60. 00138F58 CUITile::TileDrawClock(float,float,float,bool,bool)
  61. 00138F9C CUITile::TileDrawTeamLogo(int,float,float,float,float)
  62. 00138FD4 CUITile::TileDrawRect(float,float,float,float,uint,uint,uint,uint)
  63. 0013904A CUITile::TileDrawTriangle(float,float,float,float,float,float,bool,uint)
  64. 001390C2 CUITile::TileDrawTexRot(TImage *,float,float,float,float,float,uint)
  65. 0013915C CUITile::TileDrawTexRot(CFTTTexture *,float,float,float,float,float,uint)
  66. 001391FE CUITile::TileDrawTexCropRot(TImage *,float,float,float,float,float,float,float,float,float,uint)
  67. 001392BA CUITile::TileDrawBoxRounded(float,float,float,float,int,int)
  68. 00139328 CUITile::TileDrawBoxShaded(float,float,float,float,int,int)
  69. 001394F4 CUITile::TileDrawBoxShadedOutline(float,float,float,float,int,int)
  70. 00139720 CUITile::TileDrawBoxShadedMsg(float,float,float,float,int,int,int)
  71. 001397A4 CUITile::TileGreenButton(float,float,float,float,int,int,int)
  72. 00139824 CUITile::TileOrangeButton(float,float,float,float,int,int,int)
  73. 001398A4 CUITile::TileButton(float,float,float,float,int,int,int)
  74. 00139924 CUITile::TileButtonCol(float,float,float,float,int,int,int)
  75. 00139B54 CUITile::TileDrawBoxRoundedOutline(float,float,float,float,int,int)
  76. 00139BC2 CUITile::TileDrawFlag(float,float,float,float,uint,uint,bool)
  77. 00139C18 CUITile::TileRenderTBText(TUITBText *)
  78. 00139D68 CUITile::TileIsTouched()
  79. 00139DEC CUITile::TileGetTouchPos()
  80. 00139E08 CUITile::TileIsReleased()
  81. 00139E8C CUITile::ScreenPosToTilePos(TPoint)
  82. 00139F32 CUITile::TileGetDownPos()
  83. 00139F50 CUITile::SetEffect(EUITileEffect,int,float,float)
  84. 00139FE0 CUITile::UpdateHighlightRect(TRect *)
  85. 0013A00C CUITile::UpdateEffect()
  86. 0013A260 CUITile::UpdateHighlight()
  87. 0013A2C4 CUITile::TilePulseImage(char const*,float,float,float,float,float,float)
  88. 0013A3F0 CUITile::TileDrawSingleMedal(float,float,float,EMedal_Type,bool,bool,uint,int,float)
  89. off_322564:
  90. CUITile::~CUITile()
  91. CUITile::~CUITileButton()
  92. CUITile::Process(void) = 0
  93. CUITile::Render(void) = 0
  94. CUITile::RenderPost(void)
  95. CUITile::Shutdown(void)
  96. CUITile::Init(void)
  97. CUITile::ProcessInput(bool)
  98. CUITile::RenderBase(void)
  99. 0x1AC
  100. */
  101. enum EHUDPosition {
  102. EHUDPosition_0,
  103. EHUDPosition_1,
  104. EHUDPosition_2,
  105. EHUDPosition_3,
  106. EHUDPosition_4,
  107. EHUDPosition_5,
  108. };
  109. enum EUITileEffect {
  110. EUITileEffect_0,
  111. EUITileEffect_1,
  112. EUITileEffect_2,
  113. EUITileEffect_3,
  114. EUITileEffect_4,
  115. EUITileEffect_5,
  116. };
  117. class TUITBText {
  118. public:
  119. // 001294B2
  120. TUITBText(wchar_t const *, uint, uint, float, EFontAlign, float, float, float, float, bool);
  121. TUITBText();
  122. wchar_t wbuf_0[0x80];
  123. uint colour_100;
  124. int field_104;
  125. float f_108;
  126. float f_10C;
  127. float f_110;
  128. float f_114;
  129. EFontAlign eAlign_118;
  130. float f_11C;
  131. bool field_120;
  132. bool field_121;
  133. bool field_122;
  134. bool field_123;
  135. int strId_124;
  136. };
  137. class CUITileManager;
  138. class CUITile {
  139. public:
  140. CUITile(); // 00137714
  141. virtual ~CUITile(); // 001377B4 001377B6
  142. virtual EUITileAction Process() = 0;
  143. virtual void Render() = 0;
  144. virtual void RenderPost(); // 00137F54
  145. virtual void Shutdown(); // 001354BC
  146. virtual void Init(); // 001354BE
  147. virtual EUITileAction ProcessInput(bool); // 0013794C
  148. virtual void RenderBase(); // 00137B70
  149. void UpdatePos(); // 001377B8
  150. void UpdatePosExplicit(float, float); // 001378E4
  151. void RenderStarburst(); // 00137CE4
  152. void TileDrawTexI(char const *, float, float, float, float, uint); // 00137D9C
  153. void TileDrawShadowSmall(float, float, float, float); // 00137E5C
  154. void TileDrawTex(TImage *, float, float, float, float, uint); // 00137EC2
  155. void TileSetFont(int); // 00137F58
  156. void TileSetFontScale(float, float); // 00137F78
  157. void TileSetFontScaleForWidth(wchar_t const *, float); // 00137FAE
  158. void TileSetFontScaleForWidth(char const *, float); // 00137FC6
  159. float TileGetTextWidth(wchar_t const *); // 00137FDE
  160. TextDimensions TileGetTextDims(wchar_t const *pWbuf1); // 00137FFA
  161. TextDimensions TileGetTextDimsWrap(float f2, wchar_t const *pWbuf3); // 0013802A
  162. void TilePrint(float, float, wchar_t const *); // 0013806A
  163. void TilePrint(float, float, char const *); // 001380AC
  164. void TilePrintRotWood(float, float, float, wchar_t const *); // 001380EE
  165. void TilePrintRot(float, float, float, wchar_t const *); // 00138140
  166. void TilePrintRotBorder(float, float, float, float, uint, uint, wchar_t const *); // 00138192
  167. void TilePrintWrapRotBorder(float, float, float, float, float, uint, uint, wchar_t const *); // 00138374
  168. void TilePrintRot(float, float, float, char const *); // 001385AC
  169. void TilePrintWrapf(float, float, EFontWrapType, float, float, wchar_t *); // 001385FE
  170. void TilePrintWrapRotf(float, float, float, EFontWrapType, float, float, wchar_t *); // 0013866A
  171. void TileDrawTex(TImage *, float, float, uint); // 001386DE
  172. void TileDrawTex(CFTTTexture *, float, float, uint); // 001386F6
  173. void TileDrawTex(CFTTTexture *, float, float, float, float, uint); // 0013870E
  174. void TileDrawTexCrop(TImage *, float, float, float, float, float, float, float, float, uint); // 001387A8
  175. void TileDrawTexCrop(CFTTTexture *, float, float, float, float, float, float, float, float, uint); // 0013885C
  176. void TileDrawTexCrop(char const *, float, float, float, float, float, float, float, float, uint); // 00138918
  177. void TileDrawTex(char const *, float, float, uint); // 0013897C
  178. void TileDrawShadow(float, float, float, float); // 001389BA
  179. void TileDrawShadowRounded(float, float, float, float, uint); // 00138A20
  180. void TileDrawShadowSmallRot(float, float, float, float, float); // 00138ABC
  181. void TileDrawLineH(float, float, float, uint, bool); // 00138B2C
  182. void TileDrawRect(float, float, float, float, uint); // 00138B78
  183. void TileDrawTex(char const *, float, float, float, float, uint); // 00138BDE
  184. void TileDrawLineV(float, float, float, uint, bool); // 00138C24
  185. void TileDrawLine(float, float, float, float, uint); // 00138C78
  186. void TileDrawLineX(float, float, float, float, uint); // 00138CCC
  187. void TileDrawRectRot(float, float, float, float, float, uint); // 00138D36
  188. void TileDrawDottedLine(float, float, float, float, float, float, uint); // 00138DA4
  189. void TileDrawDottedLineCurve(float, float, float, float, float, float, float, uint); // 00138DFC
  190. void TileDrawDottedLineCurveXS(float, float, float, float, float, float, float, float, uint); // 00138E5C
  191. void TileDrawLevelNumber(float, float, float, float, int, int, float, float, float, bool, uint, TRect); // 00138ECA
  192. void TileDrawClock(float, float, float, bool, bool); // 00138F58
  193. void TileDrawTeamLogo(int, float, float, float, float); // 00138F9C
  194. void TileDrawRect(float, float, float, float, uint, uint, uint, uint); // 00138FD4
  195. void TileDrawTriangle(float, float, float, float, float, float, bool, uint); // 0013904A
  196. void TileDrawTexRot(TImage *, float, float, float, float, float, uint); // 001390C2
  197. void TileDrawTexRot(CFTTTexture *, float, float, float, float, float, uint); // 0013915C
  198. void TileDrawTexCropRot(TImage *, float, float, float, float, float, float, float, float, float, uint); // 001391FE
  199. void TileDrawBoxRounded(float, float, float, float, int, int); // 001392BA
  200. void TileDrawBoxShaded(float, float, float, float, int, int); // 00139328
  201. void TileDrawBoxShadedOutline(float, float, float, float, int, int); // 001394F4
  202. void TileDrawBoxShadedMsg(float, float, float, float, int, int, int); // 00139720
  203. void TileGreenButton(float, float, float, float, int, int, int); // 001397A4
  204. void TileOrangeButton(float, float, float, float, int, int, int); // 00139824
  205. void TileButton(float, float, float, float, int, int, int); // 001398A4
  206. void TileButtonCol(float, float, float, float, int, int, int); // 00139924
  207. void TileDrawBoxRoundedOutline(float, float, float, float, int, int); // 00139B54
  208. void TileDrawFlag(float, float, float, float, uint, uint, bool); // 00139BC2
  209. void TileRenderTBText(TUITBText *); // 00139C18
  210. bool TileIsTouched(); // 00139D68
  211. TPoint TileGetTouchPos(); // 00139DEC
  212. bool TileIsReleased(); // 00139E08
  213. TPoint ScreenPosToTilePos(TPoint); // 00139E8C
  214. TPoint TileGetDownPos(); // 00139F32
  215. void SetEffect(EUITileEffect, int, float, float); // 00139F50
  216. float UpdateHighlightRect(TRect *); // 00139FE0
  217. void UpdateEffect(); // 0013A00C
  218. void UpdateHighlight(); // 0013A260
  219. void TilePulseImage(char const *, float, float, float, float, float, float); // 0013A2C4
  220. void TileDrawSingleMedal(float, float, float, EMedal_Type, bool, bool, uint, int, float); // 0013A3F0
  221. CUITileManager *pTileManage_4;
  222. bool bool_8;
  223. char buf_9[256];
  224. bool b_109;
  225. char field_10A;
  226. char field_10B;
  227. uint ui_10C;
  228. bool b_110;
  229. char byte_111;
  230. char byte_112;
  231. char byte_113;
  232. int i_114;
  233. bool b_118;
  234. uchar gap119[3];
  235. float f_11C;
  236. float f_120;
  237. float f_124;
  238. bool b_128;
  239. uchar gap129[3];
  240. EHUDPosition ePos_12C;
  241. float f_130;
  242. float f_134;
  243. float f_138;
  244. float f_13C;
  245. EUITileEffect eEffect_140;
  246. int field_144;
  247. int field_148;
  248. float f_14C;
  249. float f_150;
  250. float f_154;
  251. float f_158;
  252. float f_15C;
  253. float f_160;
  254. float f_164;
  255. float f_168;
  256. float f_16C;
  257. float f_170;
  258. float f_174;
  259. float f_178;
  260. float f_17C;
  261. float f_180;
  262. uchar uy_184;
  263. uchar uy_185;
  264. bool b_186;
  265. bool b_187;
  266. float f_188;
  267. // int i_188;
  268. float f_18C;
  269. float f_190;
  270. float f_194;
  271. float f_198;
  272. EUITileAction eAction_19C;
  273. int i_1A0;
  274. uchar uc_1A4;
  275. uchar uc_1A5;
  276. bool bool_1A6;
  277. uchar uc_1A7;
  278. int us_1A8;
  279. };
  280. #endif //_CUITILE_H_