|
@@ -1,5 +1,12 @@
|
|
|
#include "CUIMsgRewind.h"
|
|
|
-
|
|
|
+#include "FETU.h"
|
|
|
+#include "FESU.h"
|
|
|
+#include "LOCstring.h"
|
|
|
+#include "FREE.h"
|
|
|
+#include "FE2D.h"
|
|
|
+#include "CStoryCore.h"
|
|
|
+#include "FEU.h"
|
|
|
+#include "TStoryConfig.h"
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
//001354C0
|
|
|
CUIMsgRewind::CUIMsgRewind() {
|
|
@@ -7,10 +14,221 @@ CUIMsgRewind::CUIMsgRewind() {
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
//00135554
|
|
|
void CUIMsgRewind::Render() {
|
|
|
+ // 00135554
|
|
|
+ wchar_t var_D8_sp228[64];
|
|
|
+ TImage var_2D8_sp28;
|
|
|
+ TRect rc_2E8;
|
|
|
+ float s0_f = 24.0;
|
|
|
+ float s22_f = 0.5;
|
|
|
+ float s28_f = this->field_14;
|
|
|
+ // 47AEA8 - 0x477E90 =3018
|
|
|
+ float s26_f = this->field_10;
|
|
|
+ float s30_f = this->field_8;
|
|
|
+ float r5_f = s26_f;
|
|
|
+ float s17_f = this->field_C;
|
|
|
+ s0_f = s28_f + s0_f;
|
|
|
+ int r8_i = MP_cMyProfile.m_TProfileData.m_CGameSettings_2b80.filed_0.filed_0;
|
|
|
+ float s20_f = s26_f * s22_f;
|
|
|
+ // 00135596
|
|
|
+ if (r8_i == 11) {
|
|
|
+ // 0013559C
|
|
|
+ s28_f = s0_f;
|
|
|
+ }
|
|
|
+ // 001355A0
|
|
|
+ float s19_f = this->field_24;
|
|
|
+ float s18_f = s28_f * s22_f;
|
|
|
+ float s21_f = this->field_28;
|
|
|
+ float s16_f = s30_f - s20_f;
|
|
|
+ float s23_f = this->field_1C;
|
|
|
+ float s24_f = s17_f - s18_f;
|
|
|
+ RenderBox(s16_f, s24_f, s26_f, s28_f);
|
|
|
+ RenderBorder(s16_f, s24_f, s26_f, s28_f);
|
|
|
+ RenderOptions();
|
|
|
+ int r5_i = 1;
|
|
|
+ FESU_SetFont(1);
|
|
|
+ int r7_i = -1;
|
|
|
+ int r6_i = 0;
|
|
|
+ FTTFont_SetColour(0xFFFFFFFF, 0);
|
|
|
+ int r0_i = FREE_tInfo.filed_0.b_8;
|
|
|
+ float r1_f;
|
|
|
+ // 00135604
|
|
|
+ if (r0_i != 0) {
|
|
|
+ // 00135608
|
|
|
+ wchar_t *r2_pwc = LOCstring(193);
|
|
|
+ xsnprintf(var_D8_sp228, 64, r2_pwc);
|
|
|
+ FESU_Capitalize(var_D8_sp228, var_D8_sp228, -1);
|
|
|
+ FESU_SetFontScale(0.699999988079071, -1);
|
|
|
+ // 0013562E
|
|
|
+ if (r8_i == 11) {
|
|
|
+ // 00135634
|
|
|
+ FESU_SetFontScale(0.5, -1);
|
|
|
+ }
|
|
|
+ // loc_13563E
|
|
|
+ FTTFont_SetAlign(EFontAlign_2);
|
|
|
+ s0_f = s26_f * 0.300000012f;
|
|
|
+ FESU_SetFontScaleForWidth(var_D8_sp228, s0_f);
|
|
|
+ s0_f = -25.0f;
|
|
|
+ float s4_f = 82;
|
|
|
+ float s2_f = 4;
|
|
|
+ float r6_f = -0.5235987901687622;
|
|
|
+ s4_f = s16_f + s4_f;
|
|
|
+ s0_f = s17_f + s0_f;
|
|
|
+ float s25_f = s0_f + s2_f;
|
|
|
+ FTTFont_PrintRotUnicode(s4_f, s25_f, r6_f, s4_f, s25_f, var_D8_sp228);
|
|
|
+ s0_f = s30_f + s20_f + (float)(-50.0) + (float)(-44.0);
|
|
|
+ // loc_13576E
|
|
|
+ FTTFont_PrintRotUnicode(s0_f, s25_f, r6_f, s0_f, s25_f, var_D8_sp228);
|
|
|
+ } else {
|
|
|
+ // loc_1356AE
|
|
|
+ FETU_GetImage(&var_2D8_sp28, "credits.png",
|
|
|
+ 0, EFTTTexFormat_19,
|
|
|
+ 0, 0, 1);
|
|
|
+ s0_f = -25.0;
|
|
|
+ float s6_f = -50.0;
|
|
|
+ float s2_f = s30_f + s20_f;
|
|
|
+ float r3_f = 50;
|
|
|
+ float s4_f = -8.0;
|
|
|
+ float s25_f = s17_f + s0_f;
|
|
|
+ s0_f = -20.0;
|
|
|
+ s2_f = s2_f + s6_f;
|
|
|
+ s4_f = s25_f + s4_f;
|
|
|
+ s0_f = s2_f + s0_f;
|
|
|
+ float r5_f = s0_f;
|
|
|
+ FE2D_DrawTexScaleColRot(&var_2D8_sp28, s0_f, s4_f, r3_f, r3_f, 0xFFFFFFFF, s23_f, s19_f, s21_f);
|
|
|
+ FESU_SetFontScale(0.699999988079071, -1);
|
|
|
+ FTTFont_SetAlign(EFontAlign_1);
|
|
|
+ // 4B0E28 - 0x4AB140
|
|
|
+ r0_i = CStoryCore::m_tStageManager.GetPlayableIndex(
|
|
|
+ CStoryCore::m_tStageManager.filed_5ce8);
|
|
|
+ // 0013572A
|
|
|
+ if (r0_i >= 9) {
|
|
|
+ // 0013572E
|
|
|
+ r0_i = 9;
|
|
|
+ }
|
|
|
+ // 00135730
|
|
|
+ wchar_t *r3_pwc = FESU_GetCommaSeperatedString(STY_tConfig.RewindCosts_5c8[r0_i],
|
|
|
+ 3);
|
|
|
+
|
|
|
+ xsnprintf(var_D8_sp228, 64, L"%s", r3_pwc);
|
|
|
+ s0_f = -2.0;
|
|
|
+ s0_f = s25_f + s0_f;
|
|
|
+ // loc_13576E
|
|
|
+ FTTFont_PrintRotUnicode(r5_f, s0_f, s23_f, r5_f, s0_f, var_D8_sp228);
|
|
|
+ }
|
|
|
+ // 00135772
|
|
|
+ FTTFont_SetAlign(EFontAlign_2);
|
|
|
+ FESU_SetFont(1);
|
|
|
+ float r0_f;
|
|
|
+ switch (r8_i) {
|
|
|
+ case 1:
|
|
|
+ case 6: {
|
|
|
+ // loc_135796
|
|
|
+ r0_f = 0.4000000059604645;
|
|
|
+ r1_f = -1;
|
|
|
+ FESU_SetFontScale(r0_f, r1_f);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case 4:
|
|
|
+ case 5: {
|
|
|
+ // loc_13579A
|
|
|
+ r0_f = 0.47999998927116394;
|
|
|
+ r1_f = -1;
|
|
|
+ FESU_SetFontScale(r0_f, r1_f);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case 2: {
|
|
|
+ // loc_13579E
|
|
|
+ r0_f = 0.4099999964237213;
|
|
|
+ r1_f = -1;
|
|
|
+ FESU_SetFontScale(r0_f, r1_f);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case 3:
|
|
|
+ case 7:
|
|
|
+ case 8:
|
|
|
+ case 10:
|
|
|
+ default: {
|
|
|
+ // def_135786
|
|
|
+ r1_f = -1;
|
|
|
+ r0_f = 0.5f;
|
|
|
+ FESU_SetFontScale(r0_f, r1_f);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case 9: {
|
|
|
+ // loc_1357AA
|
|
|
+ r0_f = 0.41999998688697815;
|
|
|
+ r1_f = -1;
|
|
|
+ FESU_SetFontScale(r0_f, r1_f);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case 11: {
|
|
|
+ // loc_1357AE
|
|
|
+ r0_f = 0.44999998807907104;
|
|
|
+ r1_f = -1;
|
|
|
+ FESU_SetFontScale(r0_f, r1_f);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // loc_1357B2
|
|
|
+ wchar_t *r2_pwc = LOCstring(6167);
|
|
|
+ wchar_t buf_sp28[0x100];
|
|
|
+ xsnprintf(buf_sp28, 256, r2_pwc);
|
|
|
+ s0_f = 0.800000012f;
|
|
|
+ s0_f = s26_f * s0_f;
|
|
|
+ float r6_f = FESU_BalanceWithWrapWidth(buf_sp28, s0_f, 50);
|
|
|
+ /*
|
|
|
+ * 此处返回类型很可能是TRect的,但为了不影响其它函数,暂时保留TextDimensions类型
|
|
|
+ */
|
|
|
+ TextDimensions var_2E8_sp18 =
|
|
|
+ FTTFont_GetUnicodeTextDimensionsWrap(EFontWrapType_2,
|
|
|
+ r6_f, buf_sp28);
|
|
|
+ s0_f = s17_f + s18_f;
|
|
|
+ float s2_f = var_2E8_sp18.field_4;
|
|
|
+ float s4_f = -12.0;
|
|
|
+ s0_f = s0_f - s2_f;
|
|
|
+ s0_f = s0_f + s4_f;
|
|
|
+ FTTFont_PrintWrapRotUnicode(s30_f, s0_f, EFontWrapType_2,
|
|
|
+ r6_f, s28_f, s23_f, s19_f, s21_f, buf_sp28);
|
|
|
+
|
|
|
+ rc_2E8.fy_4 = s24_f;
|
|
|
+ rc_2E8.fx_0 = s16_f;
|
|
|
+ rc_2E8.fWidth_8 = s26_f;
|
|
|
+ rc_2E8.fHeight_C = s28_f;
|
|
|
+ r0_i = this->filed_84;
|
|
|
+ // 00135838
|
|
|
+ if (r0_i != 0) {
|
|
|
+ // 0013583A
|
|
|
+ s0_f = r0_i;
|
|
|
+ s2_f = 0.015625;
|
|
|
+ s0_f = s0_f * s2_f;
|
|
|
+ r0_f = FEU_UpdateHighlightRect(&rc_2E8, s0_f);
|
|
|
+ s0_f = rc_2E8.fWidth_8;
|
|
|
+ s2_f = rc_2E8.fHeight_C;
|
|
|
+ s20_f = s0_f * s22_f;
|
|
|
+ s16_f = rc_2E8.fx_0;
|
|
|
+ s18_f = s2_f * s22_f;
|
|
|
+ s24_f = rc_2E8.fy_4;
|
|
|
+ s0_f = r0_f;
|
|
|
+ } else {
|
|
|
+ // loc_135872
|
|
|
+ s0_f = 1.0;
|
|
|
+ }
|
|
|
+ // loc_135876
|
|
|
+ s2_f = s24_f + s18_f;
|
|
|
+ s4_f = 160.0;
|
|
|
+ float s6_f = -0.5;
|
|
|
+ float s10_f = 66.0;
|
|
|
+ s4_f = s0_f * s4_f;
|
|
|
+ float s8_f = s16_f + s20_f;
|
|
|
+ s2_f = s2_f - s18_f;
|
|
|
+ s8_f = s8_f + s4_f * s6_f;
|
|
|
+ s2_f = s2_f + s0_f * s10_f;
|
|
|
+ RenderRewindIcon(s8_f, s2_f, s4_f, s4_f);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
//00135918
|
|
|
-void CUIMsgRewind::RenderRewindIcon(float, float, float, float) {
|
|
|
+void CUIMsgRewind::RenderRewindIcon(float f1, float f2, float f3, float f4) {
|
|
|
+ LOGE("CUIMsgRewind::RenderRewindIcon%p%f%f%f%f",this,f1,f2,f3,f4);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
//00135B78
|