FESU.cpp 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. #include "FESU.h"
  2. #include "CGraphicsTexLoadOptions.h"
  3. #include "CMyProfile.h"
  4. #include "FE_Language.h"
  5. const int dword_2FE320[13] = {0, 0, 0, 1, 1, 1, 1, 2, 3, 4, 5, 6, 7};
  6. int FESU_iFont; //0035329C
  7. float g_fCurrentFontScaleX; //003532A0
  8. float g_fCurrentFontScaleY; //003532A4
  9. EFontMode FESU_eFontMode; //003532A8
  10. wchar_t sTmpCommaSeperated[256]; //003532AC
  11. //002FDE88
  12. const float flt_2FDE88[8] = {0.0277777779, 0.0277777779, 0.0277777779, 0.0199999996, 0.0199999996, 0.0199999996, 0.0199999996};
  13. //-------------------------------------------------------------------------------------------------
  14. //0014D16C //^_-
  15. //单元测试等级: 测试输入输出
  16. //单元测试结果: 0014D18A分支结果相同,其余分支结果未知
  17. int FESU_GetFontIndex(int d_r0_arg) {
  18. LOGI("FESU_GetFontIndex entry");
  19. //0014D194
  20. LOGI("FESU_GetFontIndex return 3");
  21. return 0;
  22. }
  23. //-------------------------------------------------------------------------------------------------
  24. //0014D1A0 //^_-
  25. //单元测试等级: 测试输入输出
  26. //单元测试结果: 能测试的分支输出都是相同的,没有数据的分支没有测试
  27. void FESU_GetFontDefaultScale(int d_r0_arg, float &f_r1_arg, float &f_r2_arg) {
  28. LOGI("FESU_GetFontDefaultScale entry");
  29. LOGI("FESU_GetFontDefaultScale end");
  30. }
  31. //-------------------------------------------------------------------------------------------------
  32. //0014D308 //^_-
  33. //单元测试等级: 测试输入输出
  34. //单元测试内容: 启动游戏到第2关(包括第2关)
  35. //单元测试结果: 能走到的分支,结果相同;未走到的分支在代码中已标注为"分支未测试"
  36. float FESU_SetFontScaleForWidth(wchar_t const *p_wc_r0_arg, float f_r1_arg) {
  37. LOGI("FESU_SetFontScaleForWidth entry");
  38. return 0;
  39. }
  40. //-------------------------------------------------------------------------------------------------
  41. //0014D38C
  42. void FESU_GetFontScale(float &, float &) {
  43. }
  44. //-------------------------------------------------------------------------------------------------
  45. //0014D3AC //^_^
  46. void FESU_SetFontScale(float f_r0_arg, float f_r1_arg) {
  47. }
  48. //-------------------------------------------------------------------------------------------------
  49. //0014D420 //^_- 自认为逻辑相同
  50. //单元测试等级: 无
  51. //单元测试结果: 无结果。玩了前两关游戏,函数并没有被调用到。查看IDA交叉引用,发现只有在FackBook相关的函数中被调用到
  52. float FESU_SetFontScaleForWidth(char const *pc_r0_arg, float f_r1_arg) {
  53. // LOGI("FESU_SetFontScaleForWidth entry");
  54. return 0;
  55. }
  56. //-------------------------------------------------------------------------------------------------
  57. //0014D498 //^_-
  58. //单元测试等级: 测试输入输出
  59. //单元测试内容: 启动游戏到第6关(包括第6关)
  60. //单元测试结果: 相同
  61. //注意: 未测试的分支已标注为"分支未测试",原因是环境不支持或者IDA没有交叉引用
  62. float FESU_BalanceWithWrapWidth(wchar_t const *p_wc_r0_arg, float f_r1_arg, float f_r2_arg) {
  63. LOGI("FESU_BalanceWithWrapWidth entry");
  64. return 0;
  65. }
  66. //-------------------------------------------------------------------------------------------------
  67. //0014D508 //^_-
  68. //单元测试等级: 测试输入输出
  69. //单元测试结果: 玩了前两关游戏,只产生一组数据,无法测试所有分支,这一组数据的测试结果相同
  70. wchar_t *FESU_GetCommaSeperatedString(long long ll_r0_r1_arg, int d_r2_arg) {
  71. LOGI("ZZFESU_GetCommaSeperatedString entry");
  72. return 0;
  73. }
  74. //-------------------------------------------------------------------------------------------------
  75. //0014D62C //^_^
  76. void FESU_SetFont(int d_r0_arg) {
  77. }
  78. //-------------------------------------------------------------------------------------------------
  79. //0014D658
  80. void FESU_GetFont() {
  81. }
  82. //-------------------------------------------------------------------------------------------------
  83. //0014D668 //^_^
  84. float FESU_GetFontScale() {
  85. return g_fCurrentFontScaleX;
  86. }
  87. //-------------------------------------------------------------------------------------------------
  88. //0014D678 //^_-
  89. //单元测试等级: 目测游戏表现(本可以测试输入输出的,但是进入我们的hook函数后,调用原始函数会崩溃,调用自己的函数就正常)
  90. //单元测试内容: 启动游戏到第2关(包括第2关)
  91. //单元测试结果: 正常
  92. void FESU_Capitalize(wchar_t *p_wc_r0_arg, wchar_t const *p_wc_r1_arg, int d_r2_arg) {
  93. LOGI("FESU_Capitalize entry%x%x%x",p_wc_r0_arg,p_wc_r1_arg,d_r2_arg);
  94. }
  95. //-------------------------------------------------------------------------------------------------
  96. //0014D6EC //^_-
  97. //单元测试等级: 目测游戏表现
  98. //单元测试内容: 启动游戏到第5关(包括第5关)
  99. //单元测试结果: 正常
  100. void FESU_WordsStartWithCapital(wchar_t *p_wc_r0_arg) {
  101. LOGI("FESU_WordsStartWithCapital entry");
  102. LOGI("FESU_WordsStartWithCapital end");
  103. }
  104. //-------------------------------------------------------------------------------------------------
  105. //0014D748
  106. void FESU_DrawTextDropShadowCol(wchar_t const *, float, float, uint, uint) {
  107. }
  108. //-------------------------------------------------------------------------------------------------
  109. //0014D75C
  110. void FESU_DrawTextDropShadowColOffset(wchar_t const *, float, float, uint, uint, float) {
  111. }
  112. //-------------------------------------------------------------------------------------------------
  113. //0014D7F8
  114. void FESU_ExtractInteger(wchar_t *) {
  115. }
  116. //-------------------------------------------------------------------------------------------------
  117. //0014D83C
  118. void FESU_IsAlNum(char) {
  119. }
  120. //-------------------------------------------------------------------------------------------------
  121. //0014D85C
  122. void FESU_PrintOutline(float, float, wchar_t const *, uint, uint) {
  123. }
  124. //-------------------------------------------------------------------------------------------------
  125. //0014D8E8 //^_^
  126. void FESU_FreeFonts() {
  127. }
  128. //-------------------------------------------------------------------------------------------------
  129. //0014D8F8 //^_^
  130. void FESU_LoadFonts() {
  131. }
  132. //-------------------------------------------------------------------------------------------------
  133. //0014DA58 //^_-
  134. //单元测试等级: 目测游戏表现
  135. //单元测试内容: 启动游戏到第2关(包括第2关)
  136. //单元测试结果: 正常
  137. TextDimensions FESU_DrawText(float f_r1_arg, float f_r2_arg, float f_r3_arg,
  138. float f_arg_0, wchar_t const *p_wc_arg_4, EFontAlign efontalign_arg_8,
  139. float f_arg_c, float f_arg_10) {
  140. LOGI("FESU_DrawText entry");
  141. TextDimensions textdimension_ret_value = {0};
  142. return textdimension_ret_value;
  143. }
  144. //-------------------------------------------------------------------------------------------------
  145. //0014DC2C
  146. void FESU_DrawCurveText(wchar_t const *, float, float, float) {
  147. }
  148. //-------------------------------------------------------------------------------------------------
  149. //0014DD18
  150. void FESU_RemoveSpecialCharacters(wchar_t *) {
  151. }
  152. //-------------------------------------------------------------------------------------------------
  153. //0014DE94 //^_^
  154. void FESU_PrintRotWood(float f_r0_arg, float f_r1_arg, wchar_t const *p_wc_r2_arg,
  155. float f_r3_arg, float f_arg_0, float f_arg_4) {
  156. }
  157. //-------------------------------------------------------------------------------------------------
  158. //0014DF3C //^_^
  159. void FESU_PrintRotWoodWhite(float f_r0_arg, float f_r1_arg, wchar_t const *p_wc_r2_arg, float f_r3_arg,
  160. float f_arg_0, float f_arg_4, bool b_arg_8) {
  161. }
  162. //-------------------------------------------------------------------------------------------------
  163. //0014DFE4 //^_^
  164. bool FESU_IsFontCJK() {
  165. return 0;
  166. }
  167. //-------------------------------------------------------------------------------------------------