|
@@ -13,8 +13,12 @@
|
|
|
#include "fpoint.h"
|
|
|
#include "memctrl.h"
|
|
|
#include "sub.h"
|
|
|
+#include "CBallProj.h"
|
|
|
+#include "XSYS.h"
|
|
|
+#include "SNDGAME.h"
|
|
|
// FREE_tInfo 0x1D20
|
|
|
// FREE_tGoal 0x7634
|
|
|
+int FREE_iTeam ;
|
|
|
TFreeGoal FREE_tGoal;
|
|
|
TFreeInfo FREE_tInfo;
|
|
|
CFTTModel *FREE_pStarModel;
|
|
@@ -657,10 +661,62 @@ void FREE_RenderPreSelectedPlayer() {}
|
|
|
void FREE_RenderProcess() {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
// 001DC0E4
|
|
|
-void FREE_AddVisualFeedback(int, EVFEffect, int) {}
|
|
|
+void FREE_AddVisualFeedback(int a1, EVFEffect a2, int a3) {
|
|
|
+ LOGE("FREE_AddVisualFeedback%x%x%x",a1,a2,a3);
|
|
|
+}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
// 001DC290
|
|
|
-void FREE_AddVisualFeedback_Pass() {}
|
|
|
+void FREE_AddVisualFeedback_Pass() {
|
|
|
+
|
|
|
+ TPoint var_1C = cBallProj.field_E8[((cBallProj.field_E4 + 1) % 512)].point3D_0.point_0;
|
|
|
+ CPlayer* r7_pplayer = tGame.mTMath_6734.pPlayer_134[FREE_iTeam];
|
|
|
+ int r0_i = XMATH_Distance(&tGame.mTLogic_6678.field_64, &var_1C);
|
|
|
+ // 3A2278 - 0x39BB88 = 66F0
|
|
|
+ int r2_i = tGame.mTLogic_6678.field_78; //[2]
|
|
|
+ TAnimData* anims = CAnimManager::s_tAnimData;
|
|
|
+ int r1_i = (ushort)anims[r2_i].u_C.filed_C;
|
|
|
+ r1_i = r1_i & 1032u;
|
|
|
+ int r4_i;
|
|
|
+ EVFEffect r5_i;
|
|
|
+ /*
|
|
|
+ * 描述: 原汇编r5= 1有归并,自己汇编分成了两处, 寄存嚣分配有出入
|
|
|
+ * 原始汇编: loc_1DC30A
|
|
|
+ * MOVS R5, #1
|
|
|
+ B loc_1DC31A
|
|
|
+ * 自已汇编: BLE loc_E2EC
|
|
|
+ MOVS R4, #1
|
|
|
+ */
|
|
|
+ // bool bC30A = false;
|
|
|
+ // 001DC2FC
|
|
|
+ if (r1_i == 0) {
|
|
|
+ // loc_1DC302
|
|
|
+ if (r0_i > 819200) {
|
|
|
+ // 001DC308
|
|
|
+ r4_i = 8;
|
|
|
+ r5_i = EVFEffect_1;
|
|
|
+ } else {
|
|
|
+ // loc_1DC30E
|
|
|
+ r4_i = 9;
|
|
|
+ if (r0_i < 327680) {
|
|
|
+ // 001DC316
|
|
|
+ r4_i = 10;
|
|
|
+ }
|
|
|
+ r5_i = EVFEffect_2;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ r4_i = 11;
|
|
|
+ r5_i = EVFEffect_1;
|
|
|
+ }
|
|
|
+
|
|
|
+ // loc_1DC30A
|
|
|
+ // loc_1DC31A
|
|
|
+ CPlayer* r0_pplayer = &tGame.CPlayer_3050[0];
|
|
|
+ r2_i = r7_pplayer - r0_pplayer;
|
|
|
+ FREE_AddVisualFeedback(r4_i, r5_i, r2_i);
|
|
|
+ r0_i = XSYS_Random(2);
|
|
|
+ r0_i = r0_i + 3;
|
|
|
+ SNDGAME_Crowd_PlayReaction(r0_i);
|
|
|
+}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
// 001DC354
|
|
|
void FREE_AddVisualFeedback_Goal() {}
|