CFTTTexParam.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. // CFTTTexParam - [2020-04-13 11:57:47]
  2. #ifndef _CFTTTEXPARAM_H_
  3. #define _CFTTTEXPARAM_H_
  4. #include "common.h"
  5. class CFTTTexture;
  6. class CFTTTexParam {
  7. public:
  8. CFTTTexParam() __attribute__((always_inline)) {
  9. texpara_0.s_0.u_0.uFlag_0 = 0;
  10. texpara_0.s_0.uFlag_4 = 0;
  11. };
  12. CFTTTexParam(CFTTTexture *pTexture) __attribute__((always_inline)) {
  13. texpara_0.s_0.u_0.pTexture_0 = pTexture;
  14. texpara_0.s_0.uFlag_4 = 0;
  15. };
  16. CFTTTexParam(int64_t ul) __attribute__((always_inline)) {
  17. texpara_0.ulData = ul;
  18. };
  19. CFTTTexParam(int al) __attribute__((always_inline)) {
  20. texpara_0.ulData = (int64_t)al;
  21. };
  22. void setTexture(CFTTTexture *pTexture) __attribute__((always_inline)) {
  23. texpara_0.s_0.u_0.pTexture_0 = pTexture;
  24. texpara_0.s_0.uFlag_4 = 0;
  25. };
  26. void setFlag(uint uFlag) __attribute__((always_inline)) {
  27. texpara_0.s_0.uFlag_4 = uFlag;
  28. };
  29. void setData64(int64_t ul) __attribute__((always_inline)) {
  30. texpara_0.ulData = ul;
  31. };
  32. void setDataEx(int d1) __attribute__((always_inline)) {
  33. int64_t t1 = d1 + 1;
  34. texpara_0.ulData = t1 * 2 + 1;
  35. };
  36. // void setData(int a1) __attribute__((always_inline)) {
  37. // texpara_0.ulData = (int64_t)a1;
  38. // };
  39. CFTTTexture *GetTexture() __attribute__((always_inline)) {
  40. return texpara_0.s_0.u_0.pTexture_0;
  41. };
  42. uint GetFlag0() __attribute__((always_inline)) {
  43. return texpara_0.s_0.u_0.uFlag_0;
  44. };
  45. uint GetFlag4() __attribute__((always_inline)) {
  46. return texpara_0.s_0.uFlag_4;
  47. };
  48. int64_t GetData() __attribute__((always_inline)) {
  49. return texpara_0.ulData;
  50. };
  51. public:
  52. union {
  53. struct {
  54. union UTexData {
  55. CFTTTexture *pTexture_0;
  56. uint uFlag_0;
  57. } u_0;
  58. uint uFlag_4;
  59. } s_0;
  60. int64_t ulData;
  61. } texpara_0;
  62. };
  63. #endif //_CFTTTEXPARAM_H_