|
@@ -1,388 +1,479 @@
|
|
|
#include "CPlayer.h"
|
|
|
-#include "XMATH.h"
|
|
|
-#include "XSYS.h"
|
|
|
-#include "GU.h"
|
|
|
-#include "GL.h"
|
|
|
-#include "GM.h"
|
|
|
+
|
|
|
+#include "ACT.h"
|
|
|
+#include "CAnimManager.h"
|
|
|
#include "CBall.h"
|
|
|
#include "CBallProj.h"
|
|
|
+#include "CPlayerManager.h"
|
|
|
+#include "GL.h"
|
|
|
+#include "GM.h"
|
|
|
#include "GPA.h"
|
|
|
-#include "TGame.h"
|
|
|
+#include "GU.h"
|
|
|
#include "SNDGAME.h"
|
|
|
-#include "ACT.h"
|
|
|
-#include "CAnimManager.h"
|
|
|
-#include "CPlayerManager.h"
|
|
|
+#include "TGame.h"
|
|
|
+#include "XMATH.h"
|
|
|
+#include "XSYS.h"
|
|
|
|
|
|
-int LOCO_SPEED_WALK_MIN = 0x321; //0033E988
|
|
|
-int LOCO_SPEED_WALK_MAX = 0x321; //0033E98C
|
|
|
-int LOCO_SPEED_WALK_AVG = 0x321; //0033E990
|
|
|
-int LOCO_SPEED_JOG_MIN = 0xC84; //0033E994
|
|
|
-int LOCO_SPEED_JOG_MAX = 0xE9A; //0033E998
|
|
|
-int LOCO_SPEED_JOG_AVG = 0xD8F; //0033E99C
|
|
|
-int LOCO_SPEED_SPRINT_MIN = 0xE9A; //0033E9A0
|
|
|
-int LOCO_SPEED_SPRINT_MAX = 0x11BB; //0033E9A4
|
|
|
-int LOCO_SPEED_SPRINT_AVG = 0x102A; //0033E9A8
|
|
|
+int LOCO_SPEED_WALK_MIN = 0x321; // 0033E988
|
|
|
+int LOCO_SPEED_WALK_MAX = 0x321; // 0033E98C
|
|
|
+int LOCO_SPEED_WALK_AVG = 0x321; // 0033E990
|
|
|
+int LOCO_SPEED_JOG_MIN = 0xC84; // 0033E994
|
|
|
+int LOCO_SPEED_JOG_MAX = 0xE9A; // 0033E998
|
|
|
+int LOCO_SPEED_JOG_AVG = 0xD8F; // 0033E99C
|
|
|
+int LOCO_SPEED_SPRINT_MIN = 0xE9A; // 0033E9A0
|
|
|
+int LOCO_SPEED_SPRINT_MAX = 0x11BB; // 0033E9A4
|
|
|
+int LOCO_SPEED_SPRINT_AVG = 0x102A; // 0033E9A8
|
|
|
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0011DE8C
|
|
|
-void CPlayer::SetPos(int i1, int i2) {
|
|
|
-}
|
|
|
+// 0011DE8C
|
|
|
+void CPlayer::SetPos(int i1, int i2) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00125D8C
|
|
|
-void CPlayer::SetPos(TPoint3D r1) {
|
|
|
-}
|
|
|
+// 00125D8C
|
|
|
+void CPlayer::SetPos(TPoint3D r1) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00154314 ^_^
|
|
|
-uint64_t CPlayer::GetDistance(TPoint point1) {
|
|
|
- return 0;
|
|
|
-}
|
|
|
+// 00154314 ^_^
|
|
|
+uint64_t CPlayer::GetDistance(TPoint point1) { return 0; }
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0015432C ^_^
|
|
|
-int CPlayer::GetDistanceSq(TPoint point1) {
|
|
|
- return 0;
|
|
|
-}
|
|
|
+// 0015432C ^_^
|
|
|
+int CPlayer::GetDistanceSq(TPoint point1) { return 0; }
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0015CBD0
|
|
|
-void CPlayer::SetPos(TPoint point1) {
|
|
|
-}
|
|
|
+// 0015CBD0
|
|
|
+void CPlayer::SetPos(TPoint point1) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016E630
|
|
|
-void CPlayer::UpdateFE() {
|
|
|
-}
|
|
|
+// 0016E630
|
|
|
+void CPlayer::UpdateFE() {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016E64E ^_- 经过单元测试,功能正常
|
|
|
+// 0016E64E ^_- 经过单元测试,功能正常
|
|
|
void CPlayer::UpdateRot() {
|
|
|
- //locret_16E6AC
|
|
|
+ // locret_16E6AC
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016E6B0 ^_- 经过单元测试,功能正常
|
|
|
+// 0016E6B0 ^_- 经过单元测试,功能正常
|
|
|
void CPlayer::UpdateHeadRot() {
|
|
|
- //LOGI("CPlayer::UpdateHeadRot %p", this);
|
|
|
- //locret_16E798
|
|
|
+ // LOGI("CPlayer::UpdateHeadRot %p", this);
|
|
|
+ // locret_16E798
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016E7A4 ^_^
|
|
|
-void CPlayer::UpdateFinalise() {
|
|
|
-}
|
|
|
+// 0016E7A4 ^_^
|
|
|
+void CPlayer::UpdateFinalise() {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016E7C2 ^_^
|
|
|
-void CPlayer::Update() {
|
|
|
-}
|
|
|
+// 0016E7C2 ^_^
|
|
|
+void CPlayer::Update() {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016E81A ^_^
|
|
|
+// 0016E81A ^_^
|
|
|
void CPlayer::UpdateSprint() {
|
|
|
- //locret_16E870
|
|
|
-}
|
|
|
-//-------------------------------------------------------------------------------------------------
|
|
|
-//0016E874
|
|
|
-void CPlayer::UpdateFace() {
|
|
|
- LOGI("CPlayer::UpdateFace %p", this);
|
|
|
-}
|
|
|
-//-------------------------------------------------------------------------------------------------
|
|
|
-//0016E9BC
|
|
|
-__attribute__((noinline)) void CPlayer::UpdatePosVel() {
|
|
|
- LOGI("CPlayer::UpdatePosVel %p", this);
|
|
|
+ // locret_16E870
|
|
|
+}
|
|
|
+//-------------------------------------------------------------------------------------------------
|
|
|
+// 0016E874
|
|
|
+void CPlayer::UpdateFace() { LOGI("CPlayer::UpdateFace %p", this); }
|
|
|
+//-------------------------------------------------------------------------------------------------
|
|
|
+int UNITROT_X(int x) { return xsin(x) / 16; }
|
|
|
+int UNITROT_Y(int x) { return 0 - xcos(x) / 16; }
|
|
|
+// 0016E9BC
|
|
|
+// 0016E9BC 经过更衣室和游戏第一关测试正常
|
|
|
+void CPlayer::UpdatePosVel() {
|
|
|
+ TAnimData *r6_pAnimData = GetAnimData();
|
|
|
+ int r5_i;
|
|
|
+ if ((r6_pAnimData->u_C.s_C.uc_d & 0x20) == 0 ||
|
|
|
+ tStr32_44.field_14 < r6_pAnimData->filed_20[0].filed_0) {
|
|
|
+ // loc_16E9D6
|
|
|
+ r5_i = GetRunSpeed();
|
|
|
+ } else {
|
|
|
+ r5_i = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ // loc_16E9E2
|
|
|
+ int r0_i, r1_i;
|
|
|
+ if (s_158 == 0 && ballPosPrev_4.dz_8 == 0 && Point3D_14.dz_8 == 0) {
|
|
|
+ // 0016E9FC
|
|
|
+ if (tStr32_44.field_8 != 3) {
|
|
|
+ // 0016EA02
|
|
|
+ if (tStr32_44.field_8 || tStr32_44.u_2C.s_2C.sBlend_2E) {
|
|
|
+ // loc_16EA0C
|
|
|
+ int r7_i = u_0.s_2_0.s_0;
|
|
|
+ if (u_0.s_2_0.s_0 != -1) {
|
|
|
+ // 0016EA14
|
|
|
+ if (tStr32_44.field_8 == 4) {
|
|
|
+ // 0016EA18
|
|
|
+ TAnimData *r2_pAnimData =
|
|
|
+ &CAnimManager::s_tAnimData[tStr32_44.field_20];
|
|
|
+ if (tStr32_44.u_2C.s_2C.sBlend_2E &&
|
|
|
+ r2_pAnimData->filed_8 == 4) { // 0016EA34
|
|
|
+ // 0016EA38
|
|
|
+ // sint32 r3_si = (sint32)tStr32_44.u_2C.s_2C.uBlend_2E;
|
|
|
+ // r3_si=((r3_si>>26)&0x1f)+tStr32_44.u_2C.s_2C.uBlend_2E;
|
|
|
+ // uint r3_ui = UBFX(r3_si, 26, 5);
|
|
|
+ short r3_si = tStr32_44.u_2C.s_2C.sBlend_2E;
|
|
|
+ r0_i = GM_BlendAngle(r6_pAnimData->s_64, r2_pAnimData->s_64,
|
|
|
+ r3_si / 32);
|
|
|
+
|
|
|
+ } else {
|
|
|
+ // loc_16EAC2
|
|
|
+ //!!!!!!!修改
|
|
|
+ r0_i = r6_pAnimData->s_64;
|
|
|
+ }
|
|
|
+
|
|
|
+ // loc_16EAC6
|
|
|
+ int r6_i = r0_i + r7_i;
|
|
|
+ r7_i = xsin(r6_i) / 4 * r5_i;
|
|
|
+ r0_i = xcos(r6_i);
|
|
|
+ // r1_i = 0 - (r0_i * 4096);
|
|
|
+ if(r1_i<0)
|
|
|
+ r1_i=0x3FFF;
|
|
|
+ else
|
|
|
+ r1_i=0;
|
|
|
+ r0_i = r1_i - (r0_i * 4096);
|
|
|
+
|
|
|
+ r0_i = (r0_i >> 14) * r5_i / 4096;
|
|
|
+
|
|
|
+ // loc_16EAF8
|
|
|
+ r1_i = r7_i / 4096;
|
|
|
+
|
|
|
+ } else {
|
|
|
+ // loc_16EA86
|
|
|
+ r0_i = xsin(r7_i);
|
|
|
+ r0_i = r0_i / 4;
|
|
|
+ int r6_i = r0_i * r5_i;
|
|
|
+ r0_i = xcos(r7_i); // 0016EA9E
|
|
|
+ //r1_i = 0 - ((uint)r0_i << 12);
|
|
|
+ // r1_i = r1_i >> 31;
|
|
|
+ // r1_i = (uint)r1_i >> 18;
|
|
|
+ if (r1_i < 0)
|
|
|
+ r1_i = 0x3fff;
|
|
|
+ else
|
|
|
+ r1_i = 0;
|
|
|
+ r0_i = r1_i - ((uint)r0_i << 12);
|
|
|
+ // //FF003FFF
|
|
|
+ r0_i = r0_i >> 14;
|
|
|
+ //FFFFFC00
|
|
|
+ // loc_16EAF8
|
|
|
+ r1_i = r6_i / 4096;
|
|
|
+ r0_i = r0_i * r5_i / 4096;
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ // loc_16EA80
|
|
|
+ r0_i = 0;
|
|
|
+ r1_i = 0;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // loc_16EAB8
|
|
|
+ r0_i = 0;
|
|
|
+ r1_i = 0;
|
|
|
+ Point3D_14.point_0.dx_0 = 0;
|
|
|
+ Point3D_14.point_0.dy_4 = 0;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // loc_16EA52
|
|
|
+ int r6_i = GU_GetRot(ballPosPrev_4.point_0, point_78);
|
|
|
+ int r7_i = UNITROT_X(r6_i) * r5_i;
|
|
|
+ r0_i = UNITROT_Y(r6_i) * r5_i;
|
|
|
+ r1_i = r7_i / 1024;
|
|
|
+ r0_i = r0_i / 1024;
|
|
|
+ }
|
|
|
+
|
|
|
+ // loc_16EB04
|
|
|
+ int r2_i = Point3D_14.point_0.dx_0;
|
|
|
+ int r3_i = Point3D_14.point_0.dy_4;
|
|
|
+ Point3D_14.point_0.dx_0 = ((r2_i * 96) + (r1_i * 32)) / 128;
|
|
|
+ Point3D_14.point_0.dy_4 = ((r3_i * 96) + (r0_i * 32)) / 128;
|
|
|
+ }
|
|
|
+ // loc_16EB30
|
|
|
+
|
|
|
+ ballPosPrev_4.point_0.dx_0 += Point3D_14.point_0.dx_0;
|
|
|
+ ballPosPrev_4.point_0.dy_4 += Point3D_14.point_0.dy_4;
|
|
|
+ if (Point3D_14.dz_8 || ballPosPrev_4.dz_8 >= 1) {
|
|
|
+ // loc_16EB4A
|
|
|
+ ballPosPrev_4.dz_8 += Point3D_14.dz_8;
|
|
|
+ Point3D_14.dz_8 -= 98;
|
|
|
+ if (ballPosPrev_4.dz_8 > -1) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // loc_16EB5E
|
|
|
+ Point3D_14.dz_8 = 0;
|
|
|
+ ballPosPrev_4.dz_8 = 0;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EB6C ^_^
|
|
|
-void CPlayer::UpdateFuturePos() {
|
|
|
-}
|
|
|
+// 0016EB6C ^_^
|
|
|
+void CPlayer::UpdateFuturePos() {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EB86
|
|
|
+// 0016EB86
|
|
|
__attribute__((noinline)) void CPlayer::UpdateBallInHands() {
|
|
|
LOGI("CPlayer::UpdateBallInHands %p", this);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EB88
|
|
|
+// 0016EB88
|
|
|
void CPlayer::SetPos(int i1, int i2, int i3) {
|
|
|
- //LOGI("CPlayer::SetPos %d %d %d", i1, i2, i3);
|
|
|
+ // LOGI("CPlayer::SetPos %d %d %d", i1, i2, i3);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EBDE
|
|
|
-void CPlayer::SetPosDest() {
|
|
|
-}
|
|
|
+// 0016EBDE
|
|
|
+void CPlayer::SetPosDest() {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EBE6
|
|
|
+// 0016EBE6
|
|
|
__attribute__((noinline)) void CPlayer::SetMoveDest(int i1, int i2) {
|
|
|
LOGI("CPlayer::SetPosDest %p %d %d", this, i1, i2);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EBF2
|
|
|
-void CPlayer::SetMoveDest(TPoint point1) {
|
|
|
-}
|
|
|
+// 0016EBF2
|
|
|
+void CPlayer::SetMoveDest(TPoint point1) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EBFE
|
|
|
-void CPlayer::SetRotExplicit(int i1) {
|
|
|
-}
|
|
|
+// 0016EBFE
|
|
|
+void CPlayer::SetRotExplicit(int i1) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EC02
|
|
|
+// 0016EC02
|
|
|
__attribute__((noinline)) void CPlayer::SetRot(int r1, bool r2) {
|
|
|
- //locret_16EC0A
|
|
|
+ // locret_16EC0A
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EC0C
|
|
|
+// 0016EC0C
|
|
|
__attribute__((noinline)) void CPlayer::SetRot(TPoint point1, bool b2) {
|
|
|
LOGI("CPlayer::SetPosDest %p %d %d %d", this, point1.dx_0, point1.dy_4, b2);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EC20
|
|
|
+// 0016EC20
|
|
|
__attribute__((noinline)) ushort CPlayer::GetRotPoint(TPoint point1) {
|
|
|
return 0;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EC34
|
|
|
-__attribute__((noinline)) void CPlayer::SetFace(int i1) {
|
|
|
-}
|
|
|
+// 0016EC34
|
|
|
+__attribute__((noinline)) void CPlayer::SetFace(int i1) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EC3A
|
|
|
+// 0016EC3A
|
|
|
__attribute__((noinline)) void CPlayer::SetFace(int i1, int i2) {
|
|
|
LOGI("CPlayer::SetFace %p %d %d", this, i1, i2);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EC48
|
|
|
-void CPlayer::SetFace(TPoint point1) {
|
|
|
-}
|
|
|
+// 0016EC48
|
|
|
+void CPlayer::SetFace(TPoint point1) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EC56
|
|
|
-void CPlayer::SetFaceDest() {
|
|
|
-}
|
|
|
+// 0016EC56
|
|
|
+void CPlayer::SetFaceDest() {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EC7A
|
|
|
-void CPlayer::Stop(int i1) {
|
|
|
-}
|
|
|
+// 0016EC7A
|
|
|
+void CPlayer::Stop(int i1) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EC8E ^_^
|
|
|
+// 0016EC8E ^_^
|
|
|
int CPlayer::GetRotDest() {
|
|
|
- //0016EC9E
|
|
|
+ // 0016EC9E
|
|
|
return 0;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016ECB6
|
|
|
+// 0016ECB6
|
|
|
__attribute__((noinline)) ushort CPlayer::GetRotPoint(TPoint3D point1) {
|
|
|
return 0;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016ECCC ^_^
|
|
|
-int CPlayer::GetRotBall() {
|
|
|
- return 0;
|
|
|
-}
|
|
|
+// 0016ECCC ^_^
|
|
|
+int CPlayer::GetRotBall() { return 0; }
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016ECF0
|
|
|
+// 0016ECF0
|
|
|
__attribute__((noinline)) void CPlayer::GetDistance(CPlayer *pPlayer1) {
|
|
|
LOGI("CPlayer::GetDistance %p %p", this, pPlayer1);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016ED1C
|
|
|
+// 0016ED1C
|
|
|
__attribute__((noinline)) void CPlayer::GetDistanceSq(CPlayer *pPlayer1) {
|
|
|
LOGI("CPlayer::GetDistanceSq %p %p", this, pPlayer1);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016ED40 ^_^
|
|
|
-void CPlayer::SetSpaceRot(int i1, int i2) {
|
|
|
-}
|
|
|
+// 0016ED40 ^_^
|
|
|
+void CPlayer::SetSpaceRot(int i1, int i2) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016ED8A
|
|
|
+// 0016ED8A
|
|
|
__attribute__((noinline)) void CPlayer::GetMoveDistance() {
|
|
|
LOGI("CPlayer::GetMoveDistance %p", this);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016ED96 ^_^
|
|
|
-void CPlayer::Init() {
|
|
|
-}
|
|
|
+// 0016ED96 ^_^
|
|
|
+void CPlayer::Init() {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EDD0 经过单元测试功能正常
|
|
|
+// 0016EDD0 经过单元测试功能正常
|
|
|
void CPlayer::SetupGoally(int i1, TPlayerInfo *pPlayerInfo2) {
|
|
|
- //LOGI("CPlayer::SetupGoally %p %d %p", this, i1, pPlayerInfo2);
|
|
|
+ // LOGI("CPlayer::SetupGoally %p %d %p", this, i1, pPlayerInfo2);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EEC6 经过单元测试,功能正常
|
|
|
+// 0016EEC6 经过单元测试,功能正常
|
|
|
void CPlayer::SetupPlayer(int i1, int i2, TPlayerInfo *pPlayerInfo3) {
|
|
|
LOGI("CPlayer::SetupPlayer %p %d %d %p", this, i1, i2, pPlayerInfo3);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016EFBC ^_^
|
|
|
-void CPlayer::SetupStandard() {
|
|
|
-}
|
|
|
+// 0016EFBC ^_^
|
|
|
+void CPlayer::SetupStandard() {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016F008 ^_^
|
|
|
-void CPlayer::SetupOfficial() {
|
|
|
-}
|
|
|
+// 0016F008 ^_^
|
|
|
+void CPlayer::SetupOfficial() {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016F044 经过单元测试同,功能正常
|
|
|
+// 0016F044 经过单元测试同,功能正常
|
|
|
void CPlayer::Reset() {
|
|
|
- //LOGI("CPlayer::Reset %p", this);
|
|
|
+ // LOGI("CPlayer::Reset %p", this);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016F114
|
|
|
-void CPlayer::CancelHeadInputControl() {
|
|
|
-}
|
|
|
+// 0016F114
|
|
|
+void CPlayer::CancelHeadInputControl() {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016F11C
|
|
|
+// 0016F11C
|
|
|
void CPlayer::SetHeadRotRel(int r1, bool r2) {
|
|
|
- //locret_16F12A
|
|
|
+ // locret_16F12A
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016F12C
|
|
|
+// 0016F12C
|
|
|
TPoint3D CPlayer::GetBonePos(int i2) {
|
|
|
TPoint3D ret;
|
|
|
return ret;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016F13C 经过单元测试,功能正常
|
|
|
+// 0016F13C 经过单元测试,功能正常
|
|
|
TPoint CPlayer::GetTimePos(int i2) {
|
|
|
- //LOGI("CPlayer::GetTimePos %p %d", this, i2);
|
|
|
+ // LOGI("CPlayer::GetTimePos %p %d", this, i2);
|
|
|
TPoint retPos;
|
|
|
return retPos;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016F280 ^_^
|
|
|
-int CPlayer::AttributeInterpolate_Internal(EPlayerAttribute eAttr1, int i2, int i3, int i4, int i5, int i6) {
|
|
|
- //LOGI("CPlayer::AttributeInterpolate_Internal %p %d %d %d %d %d %d", this, eAttr1, i2, i3, i4, i5, i6);
|
|
|
+// 0016F280 ^_^
|
|
|
+int CPlayer::AttributeInterpolate_Internal(EPlayerAttribute eAttr1, int i2,
|
|
|
+ int i3, int i4, int i5, int i6) {
|
|
|
+ // LOGI("CPlayer::AttributeInterpolate_Internal %p %d %d %d %d %d %d", this,
|
|
|
+ // eAttr1, i2, i3, i4, i5, i6);
|
|
|
return 0;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016F324 ^_- 经过单元测试,功能正常
|
|
|
+// 0016F324 ^_- 经过单元测试,功能正常
|
|
|
void CPlayer::UpdateAction() {
|
|
|
- //LOGI("CPlayer::UpdateAction %p", this);
|
|
|
+ // LOGI("CPlayer::UpdateAction %p", this);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016F3D4
|
|
|
+// 0016F3D4
|
|
|
__attribute__((noinline)) int CPlayer::ActionTend(int i1, TPoint3D *pPoint3D2) {
|
|
|
LOGI("CPlayer::UpdateAction %p %d", this, i1, pPoint3D2);
|
|
|
- return rand() % 4;
|
|
|
+ return rand() % 4;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016F734
|
|
|
+// 0016F734
|
|
|
__attribute__((noinline)) void CPlayer::UpdateActionSlideTackleX(int i1) {
|
|
|
LOGI("CPlayer::UpdateActionSlideTackleX %p %d", this, i1);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016FA40
|
|
|
-void CPlayer::UpdateActionSlideTackle(int i1) {
|
|
|
-}
|
|
|
+// 0016FA40
|
|
|
+void CPlayer::UpdateActionSlideTackle(int i1) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016FAAC ^_^
|
|
|
+// 0016FAAC ^_^
|
|
|
void CPlayer::UpdateActionConservativeTackle(int i1) {
|
|
|
- //LOGI("CPlayer::UpdateActionConservativeTackle entry %d", i1);
|
|
|
- //locret_16FB1A
|
|
|
+ // LOGI("CPlayer::UpdateActionConservativeTackle entry %d", i1);
|
|
|
+ // locret_16FB1A
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016FB24 ^_-
|
|
|
-void CPlayer::UpdateActionGKSave(int i1) {
|
|
|
-}
|
|
|
+// 0016FB24 ^_-
|
|
|
+void CPlayer::UpdateActionGKSave(int i1) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016FB94
|
|
|
+// 0016FB94
|
|
|
__attribute__((noinline)) void CPlayer::UpdateActionDeek(int i1) {
|
|
|
LOGI("CPlayer::UpdateActionDeek %p %d", this, i1);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016FE80 ^_^
|
|
|
+// 0016FE80 ^_^
|
|
|
void CPlayer::UpdateActionControl(int i1) {
|
|
|
- //LOGI("CPlayer::UpdateActionControl %p %d", this, i1);
|
|
|
+ // LOGI("CPlayer::UpdateActionControl %p %d", this, i1);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016FF24 ^_^
|
|
|
-void CPlayer::UpdateActionKick(int i1) {
|
|
|
-}
|
|
|
+// 0016FF24 ^_^
|
|
|
+void CPlayer::UpdateActionKick(int i1) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016FF78 ^_-
|
|
|
-void CPlayer::UpdateActionGKKick(int i1) {
|
|
|
-}
|
|
|
+// 0016FF78 ^_-
|
|
|
+void CPlayer::UpdateActionGKKick(int i1) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016FFC8
|
|
|
+// 0016FFC8
|
|
|
__attribute__((noinline)) void CPlayer::ClearAction() {
|
|
|
LOGI("CPlayer::ClearAction %p", this);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0016FFD4 经过单元测试,功能正常
|
|
|
+// 0016FFD4 经过单元测试,功能正常
|
|
|
bool CPlayer::ActionCheckIsStillValidRange(int i1, int i2, int i3) {
|
|
|
- //LOGI("CPlayer::ActionCheckIsStillValidRange %p %d %d %d", this, i1, i2, i3);
|
|
|
+ // LOGI("CPlayer::ActionCheckIsStillValidRange %p %d %d %d", this, i1, i2,
|
|
|
+ // i3);
|
|
|
return true;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001700C0 ^_^
|
|
|
-void CPlayer::KickFail() {
|
|
|
-}
|
|
|
+// 001700C0 ^_^
|
|
|
+void CPlayer::KickFail() {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001700E4 ^_^
|
|
|
+// 001700E4 ^_^
|
|
|
void CPlayer::ActionUpdateDynamic() {
|
|
|
- //locret_170126
|
|
|
+ // locret_170126
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0017012C //???
|
|
|
+// 0017012C //???
|
|
|
void CPlayer::ActionTendSetupDest(TPoint3D point3D1) {
|
|
|
- //LOGI("CPlayer::ActionTendSetupDest %p %d %d %d", this, point3D1.point_0.dx_0, point3D1.point_0.dy_4, point3D1.dz_8);
|
|
|
- //TAnimData * r10_pAnimData = GetAnimData();
|
|
|
+ // LOGI("CPlayer::ActionTendSetupDest %p %d %d %d", this,
|
|
|
+ // point3D1.point_0.dx_0, point3D1.point_0.dy_4, point3D1.dz_8); TAnimData *
|
|
|
+ // r10_pAnimData = GetAnimData();
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001701D0 ^_^
|
|
|
-void CPlayer::ActionTendSetup(TActionSetup *pActionSetup01, EACTION eAction2) {
|
|
|
-}
|
|
|
+// 001701D0 ^_^
|
|
|
+void CPlayer::ActionTendSetup(TActionSetup *pActionSetup01, EACTION eAction2) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00170242
|
|
|
+// 00170242
|
|
|
TPoint3D CPlayer::ActionGetPosFromDest() {
|
|
|
TPoint3D ret_p3D;
|
|
|
return ret_p3D;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001702B0 经过单元测试,功能正常
|
|
|
+// 001702B0 经过单元测试,功能正常
|
|
|
void CPlayer::Animate(int i1) {
|
|
|
- //LOGI("CPlayer::Animate %d", i1);
|
|
|
+ // LOGI("CPlayer::Animate %d", i1);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0017039C ^_- 经过单元测试,功能正常
|
|
|
+// 0017039C ^_- 经过单元测试,功能正常
|
|
|
void CPlayer::ApplyRootBoneOfs(TAnimData *pAniData1, int i2) {
|
|
|
- //LOGI("CPlayer::ApplyRootBoneOfs %d", i2);
|
|
|
+ // LOGI("CPlayer::ApplyRootBoneOfs %d", i2);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00170440 ^_-
|
|
|
+// 00170440 ^_-
|
|
|
void CPlayer::SetNextState(TAnimData *pAnimData1) {
|
|
|
- //LOGI("CPlayer::SetNextState %p %p", this, pAnimData1);
|
|
|
+ // LOGI("CPlayer::SetNextState %p %p", this, pAnimData1);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001704DC ^_^
|
|
|
+// 001704DC ^_^
|
|
|
__attribute__((noinline)) TAnimData *CPlayer::GetAnimData() {
|
|
|
- return nullptr;
|
|
|
+ LOGE("TAnimData *CPlayer::GetAnimData");
|
|
|
+ return (TAnimData *)rand();
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001704F4 经过单元测试,功能正常
|
|
|
+// 001704F4 经过单元测试,功能正常
|
|
|
void CPlayer::SetAnim(int i1) {
|
|
|
- //LOGI("CPlayer::SetAnim %p %d", this, i1);
|
|
|
+ // LOGI("CPlayer::SetAnim %p %d", this, i1);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00170694 ^_- 经过单元测试,功能正常
|
|
|
+// 00170694 ^_- 经过单元测试,功能正常
|
|
|
void CPlayer::GetRootBoneMove(TPoint *pPoint1) {
|
|
|
LOGI("CPlayer::GetRootBoneMove %p %p", this, pPoint1);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0017077C ^_- 经过单元测试,功能正常
|
|
|
-int CPlayer::GetTrueRot() {
|
|
|
- return 0;
|
|
|
-}
|
|
|
+// 0017077C ^_- 经过单元测试,功能正常
|
|
|
+int CPlayer::GetTrueRot() { return 0; }
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00170820
|
|
|
-__attribute__((noinline)) bool CPlayer::AnimBlendNeeded() {
|
|
|
- return false;
|
|
|
-}
|
|
|
+// 00170820
|
|
|
+__attribute__((noinline)) bool CPlayer::AnimBlendNeeded() { return false; }
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0017082C ^_- 经过单元测试,功能正常
|
|
|
+// 0017082C ^_- 经过单元测试,功能正常
|
|
|
void CPlayer::UpdateAnimCalcs() {
|
|
|
- //LOGI("CPlayer::UpdateAnimCalcs entry");
|
|
|
- //loc_1708C8
|
|
|
+ // LOGI("CPlayer::UpdateAnimCalcs entry");
|
|
|
+ // loc_1708C8
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001708D0
|
|
|
-void CPlayer::SetTrophyData(ETrophyPos e1, ushort us2, ushort us3) {
|
|
|
-}
|
|
|
+// 001708D0
|
|
|
+void CPlayer::SetTrophyData(ETrophyPos e1, ushort us2, ushort us3) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001708DE
|
|
|
-__attribute__((noinline)) void CPlayer::ClearBlend() {
|
|
|
-}
|
|
|
+// 001708DE
|
|
|
+__attribute__((noinline)) void CPlayer::ClearBlend() {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001708E8 后面的代码好像与 NIS的测试环境,通过单元测试,发现后面的代码不写,不影响逻辑
|
|
|
+// 001708E8 后面的代码好像与
|
|
|
+// NIS的测试环境,通过单元测试,发现后面的代码不写,不影响逻辑
|
|
|
void CPlayer::UpdateJostlePoint() {
|
|
|
- if (!tStr32_44.uc_1)
|
|
|
- return;
|
|
|
+ if (!tStr32_44.uc_1) return;
|
|
|
|
|
|
// 001708F4
|
|
|
if (tStr32_44.field_8 != 4) {
|
|
@@ -395,130 +486,123 @@ void CPlayer::UpdateJostlePoint() {
|
|
|
return;
|
|
|
}
|
|
|
// loc_170926
|
|
|
- if (tStr32_44.s_C != 40)
|
|
|
- return;
|
|
|
+ if (tStr32_44.s_C != 40) return;
|
|
|
|
|
|
// 0017092E
|
|
|
TAnimData *r6_pAnimData = &CAnimManager::s_tAnimData[tStr32_44.field_10];
|
|
|
|
|
|
// 00170944
|
|
|
- if (r6_pAnimData->filed_64)
|
|
|
- return;
|
|
|
+ if (r6_pAnimData->s_64) return;
|
|
|
|
|
|
- //??? 后面的代码好像与 NIS的测试环境,通过单元测试,发现后面的代码不写,不影响逻辑
|
|
|
+ //??? 后面的代码好像与
|
|
|
+ //NIS的测试环境,通过单元测试,发现后面的代码不写,不影响逻辑
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00170A14 ^_^
|
|
|
-bool CPlayer::SetReaction(int i1, int i2, int i3) {
|
|
|
- return true;
|
|
|
-}
|
|
|
+// 00170A14 ^_^
|
|
|
+bool CPlayer::SetReaction(int i1, int i2, int i3) { return true; }
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00170A50 经过单元测试,功能正常
|
|
|
+// 00170A50 经过单元测试,功能正常
|
|
|
void CPlayer::UpdateAnimation() {
|
|
|
- //LOGI("CPlayer::UpdateAnimation %p", this);
|
|
|
+ // LOGI("CPlayer::UpdateAnimation %p", this);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00170BD0 ^_^
|
|
|
-void CPlayer::OverrideAnimFrame(int i1) {
|
|
|
-}
|
|
|
+// 00170BD0 ^_^
|
|
|
+void CPlayer::OverrideAnimFrame(int i1) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00170C0C
|
|
|
-__attribute__((noinline)) void CPlayer::EnableIdleAnims(bool b1) {
|
|
|
-}
|
|
|
+// 00170C0C
|
|
|
+__attribute__((noinline)) void CPlayer::EnableIdleAnims(bool b1) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00170C14 经过单元测试,功能正常
|
|
|
+// 00170C14 经过单元测试,功能正常
|
|
|
void CPlayer::SetAnimFromStateGen(int i1, int i2, int i3) {
|
|
|
- //LOGI("CPlayer::SetAnimFromStateGen %p %d %d %d", this, i1, i2, i3);
|
|
|
+ // LOGI("CPlayer::SetAnimFromStateGen %p %d %d %d", this, i1, i2, i3);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00170D10 经过单元测试,功能正常
|
|
|
+// 00170D10 经过单元测试,功能正常
|
|
|
void CPlayer::SetAnimFromStateI() {
|
|
|
- //LOGI("CPlayer::SetAnimFromStateI %p", this);
|
|
|
- //00170D16
|
|
|
+ // LOGI("CPlayer::SetAnimFromStateI %p", this);
|
|
|
+ // 00170D16
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00170DD4 ^_^
|
|
|
-void CPlayer::GetRootBoneOfs(TPoint *pPoint1, TAnimData *pAnimData2) {
|
|
|
-}
|
|
|
+// 00170DD4 ^_^
|
|
|
+void CPlayer::GetRootBoneOfs(TPoint *pPoint1, TAnimData *pAnimData2) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00170E50 ^_^
|
|
|
-void CPlayer::UpdateActOKTime() {
|
|
|
-}
|
|
|
+// 00170E50 ^_^
|
|
|
+void CPlayer::UpdateActOKTime() {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00170E98 ^_^
|
|
|
-int CPlayer::GetActionTime() {
|
|
|
- return 0;
|
|
|
-}
|
|
|
+// 00170E98 ^_^
|
|
|
+int CPlayer::GetActionTime() { return 0; }
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00170EC8
|
|
|
+// 00170EC8
|
|
|
__attribute__((noinline)) void CPlayer::GetAnimTime() {
|
|
|
LOGI("CPlayer::GetAnimTime %p", this);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00170EE0
|
|
|
-__attribute__((noinline)) int CPlayer::SetAnimFromStateAction(int i1, int i2, int i3, int i4, int i5, int i6, TActionSetup *pActionSetup7, int i8, int i9) {
|
|
|
- LOGI("CPlayer::SetAnimFromStateAction %p %d %d %d %d %d %d %p %d %d", this, i1, i2, i3, i4, i5, i6, pActionSetup7, i8, i9);
|
|
|
+// 00170EE0
|
|
|
+__attribute__((noinline)) int CPlayer::SetAnimFromStateAction(
|
|
|
+ int i1, int i2, int i3, int i4, int i5, int i6, TActionSetup *pActionSetup7,
|
|
|
+ int i8, int i9) {
|
|
|
+ LOGI("CPlayer::SetAnimFromStateAction %p %d %d %d %d %d %d %p %d %d", this,
|
|
|
+ i1, i2, i3, i4, i5, i6, pActionSetup7, i8, i9);
|
|
|
return 0;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001714E4
|
|
|
-__attribute__((noinline)) void CPlayer::GetAnimActionPoint(TPoint *pPoint1, TAnimData *pAnimData2, int i3, int i4) {
|
|
|
- LOGI("CPlayer::GetAnimTime %p %p %p %d %d", this, pPoint1, pAnimData2, i3, i4);
|
|
|
+// 001714E4
|
|
|
+__attribute__((noinline)) void CPlayer::GetAnimActionPoint(
|
|
|
+ TPoint *pPoint1, TAnimData *pAnimData2, int i3, int i4) {
|
|
|
+ LOGI("CPlayer::GetAnimTime %p %p %p %d %d", this, pPoint1, pAnimData2, i3,
|
|
|
+ i4);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00171534 没有测试到
|
|
|
+// 00171534 没有测试到
|
|
|
void CPlayer::GetActionPoint(TPoint3D *pPoint3D1) {
|
|
|
LOGI("CPlayer::GetActionPoint %p %p", this, pPoint3D1);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001715EC 经过单元测试,功能正常
|
|
|
+// 001715EC 经过单元测试,功能正常
|
|
|
void CPlayer::GetBonePosition(int i1, TPoint3D *pPoint3D2) {
|
|
|
- //LOGI("CPlayer::GetBonePosition %p %p", this, pPoint3D2);
|
|
|
+ // LOGI("CPlayer::GetBonePosition %p %p", this, pPoint3D2);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00171798
|
|
|
-__attribute__((noinline)) void CPlayer::GetHandPosition(TPoint3D *pPoint3D1, bool b2) {
|
|
|
+// 00171798
|
|
|
+__attribute__((noinline)) void CPlayer::GetHandPosition(TPoint3D *pPoint3D1,
|
|
|
+ bool b2) {
|
|
|
LOGI("CPlayer::GetAnimTime %p %p %d", this, pPoint3D1, b2);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001717A8 ^_^ 经过单元测试,功能正常
|
|
|
+// 001717A8 ^_^ 经过单元测试,功能正常
|
|
|
TPoint3D CPlayer::GetHandsPosition(int i1) {
|
|
|
TPoint3D ret;
|
|
|
return ret;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00171868
|
|
|
-__attribute__((noinline)) void CPlayer::GetBoneOrientation(int i1, TPoint3D *pPoint3D2) {
|
|
|
+// 00171868
|
|
|
+__attribute__((noinline)) void CPlayer::GetBoneOrientation(
|
|
|
+ int i1, TPoint3D *pPoint3D2) {
|
|
|
LOGI("CPlayer::GetAnimTime %p %d %p", this, i1, pPoint3D2);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00172634 ^_^
|
|
|
-int CPlayer::GetDistanceSq(TPoint3D point3D1) {
|
|
|
- return 0;
|
|
|
-}
|
|
|
+// 00172634 ^_^
|
|
|
+int CPlayer::GetDistanceSq(TPoint3D point3D1) { return 0; }
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00172EB2 ^_^
|
|
|
-bool CPlayer::Fell(TPoint point1, bool b3) {
|
|
|
- return true;
|
|
|
-}
|
|
|
+// 00172EB2 ^_^
|
|
|
+bool CPlayer::Fell(TPoint point1, bool b3) { return true; }
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00172EE4
|
|
|
+// 00172EE4
|
|
|
bool CPlayer::Fell(int i1, bool b2) {
|
|
|
LOGI("CPlayer::Fell 00172EE4");
|
|
|
return true;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00172F78 ^_-
|
|
|
+// 00172F78 ^_-
|
|
|
bool CPlayer::Trip(int i1, int i2) {
|
|
|
bool r4_bret = false;
|
|
|
- //loc_172FEE
|
|
|
+ // loc_172FEE
|
|
|
return r4_bret;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00172FF8 ^_^
|
|
|
+// 00172FF8 ^_^
|
|
|
void CPlayer::UpdateLogic() {
|
|
|
- if (NIS_Active())
|
|
|
- return;
|
|
|
+ if (NIS_Active()) return;
|
|
|
|
|
|
// 00173002
|
|
|
UpdateJostlePoint();
|
|
@@ -527,11 +611,11 @@ void CPlayer::UpdateLogic() {
|
|
|
UpdateBallReactions();
|
|
|
UpdateFall();
|
|
|
|
|
|
- if (!uc_88)
|
|
|
- return;
|
|
|
+ if (!uc_88) return;
|
|
|
|
|
|
// 00173026
|
|
|
- if (cBall.ballPosPrev_4.dz_8 <= s_122 * 72 && tStr58_A0.u_50.ui_50 <= 0x28000) {
|
|
|
+ if (cBall.ballPosPrev_4.dz_8 <= s_122 * 72 &&
|
|
|
+ tStr58_A0.u_50.ui_50 <= 0x28000) {
|
|
|
// 00173046
|
|
|
if (tGame.field_6C38 <= 4 && cBall.speedXY_28 > 0x14DC) {
|
|
|
uc_88 = 0;
|
|
@@ -544,19 +628,16 @@ void CPlayer::UpdateLogic() {
|
|
|
// loc_17306E
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00173080 ^_^
|
|
|
+// 00173080 ^_^
|
|
|
void CPlayer::UpdateIdle() {
|
|
|
// LOGI("CPlayer::UpdateIdle %p", this);
|
|
|
- if (b_30)
|
|
|
- return;
|
|
|
+ if (b_30) return;
|
|
|
|
|
|
// 0017308C
|
|
|
if (tGame.field_6C38 >= 6 && !tStr32_44.field_8) {
|
|
|
// 001730A0
|
|
|
// tStr32_44.s_C > 6 ||
|
|
|
- if ((tStr32_44.s_C != 6 &&
|
|
|
- tStr32_44.s_C != 3 &&
|
|
|
- tStr32_44.s_C != 2)) {
|
|
|
+ if ((tStr32_44.s_C != 6 && tStr32_44.s_C != 3 && tStr32_44.s_C != 2)) {
|
|
|
// loc_1730B4
|
|
|
field_120++;
|
|
|
if ((int)field_120 >= 241) {
|
|
@@ -593,13 +674,11 @@ void CPlayer::UpdateIdle() {
|
|
|
// loc_173104
|
|
|
if (tGame.mTLogic_6678.field_8 == 1 && tGame.mTLogic_6678.field_10 == 1) {
|
|
|
// loc_17311A
|
|
|
- if (tGame.mTLogic_6678.field_38 <= 29 &&
|
|
|
- tStr32_44.field_8 == 14 &&
|
|
|
+ if (tGame.mTLogic_6678.field_38 <= 29 && tStr32_44.field_8 == 14 &&
|
|
|
tStr32_44.field_14 > (tStr32_44.field_1C * 30)) {
|
|
|
// 00173138
|
|
|
NewPlayerStateX(0, -1, 0);
|
|
|
- if (tGame.mTLogic_6678.field_38 >= 61 &&
|
|
|
- tStr32_44.field_8 == 0 &&
|
|
|
+ if (tGame.mTLogic_6678.field_38 >= 61 && tStr32_44.field_8 == 0 &&
|
|
|
tStr32_44.s_C == 2) {
|
|
|
// 0017315E
|
|
|
NewPlayerStateX(0, -1, 0);
|
|
@@ -611,7 +690,7 @@ void CPlayer::UpdateIdle() {
|
|
|
return;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00173188 ^_^
|
|
|
+// 00173188 ^_^
|
|
|
void CPlayer::UpdateReactions() {
|
|
|
if (field_8C) {
|
|
|
// 00173192
|
|
@@ -628,16 +707,15 @@ void CPlayer::UpdateReactions() {
|
|
|
// locret_1731B6
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001731B8
|
|
|
+// 001731B8
|
|
|
__attribute__((noinline)) void CPlayer::UpdateBallReactions() {
|
|
|
UpdateTake();
|
|
|
UpdateAvoid();
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001731CA ^_-
|
|
|
+// 001731CA ^_-
|
|
|
void CPlayer::UpdateFall() {
|
|
|
- if (tStr32_44.field_8 != 10)
|
|
|
- return;
|
|
|
+ if (tStr32_44.field_8 != 10) return;
|
|
|
|
|
|
// 001731D6
|
|
|
TAnimData *r1_data = GetAnimData();
|
|
@@ -649,7 +727,8 @@ void CPlayer::UpdateFall() {
|
|
|
} else {
|
|
|
// 001731F0
|
|
|
if (tStr32_44.field_14 >= r1_data->filed_20[0].filed_0 &&
|
|
|
- tStr32_44.field_14 < (r1_data->filed_20[0].filed_0 + tStr32_44.field_1C)) {
|
|
|
+ tStr32_44.field_14 <
|
|
|
+ (r1_data->filed_20[0].filed_0 + tStr32_44.field_1C)) {
|
|
|
tStr32_44.s_18 = 1;
|
|
|
}
|
|
|
}
|
|
@@ -657,222 +736,215 @@ void CPlayer::UpdateFall() {
|
|
|
// locret_173206
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00173208
|
|
|
+// 00173208
|
|
|
__attribute__((noinline)) void CPlayer::UpdateAvoid() {
|
|
|
LOGI("CPlayer::UpdateAvoid %p", this);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001733C4
|
|
|
+// 001733C4
|
|
|
__attribute__((noinline)) void CPlayer::IsWalking() {
|
|
|
LOGI("CPlayer::IsWalking %p", this);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001733EC
|
|
|
+// 001733EC
|
|
|
bool CPlayer::IsSprinting() {
|
|
|
- //locret_173412
|
|
|
+ // locret_173412
|
|
|
return false;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00173414
|
|
|
+// 00173414
|
|
|
__attribute__((noinline)) void CPlayer::IsStanding() {
|
|
|
LOGI("CPlayer::IsStanding %p", this);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0017341E
|
|
|
+// 0017341E
|
|
|
__attribute__((noinline)) void CPlayer::IsFacing(int i1, int i2) {
|
|
|
LOGI("CPlayer::IsFacing %p %d %d", this, i1, i2);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00173442
|
|
|
+// 00173442
|
|
|
__attribute__((noinline)) void CPlayer::IsAtDest(TPoint *pPoint1, int i2) {
|
|
|
LOGI("CPlayer::IsAtDest %p %d %d", this, pPoint1, i2);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0017346C
|
|
|
+// 0017346C
|
|
|
__attribute__((noinline)) void CPlayer::UpdateMovement() {
|
|
|
LOGI("CPlayer::UpdateMovement %p", this);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00173DBA ^_^
|
|
|
-void CPlayer::SetStateStand(bool b1) {
|
|
|
-}
|
|
|
+// 00173DBA ^_^
|
|
|
+void CPlayer::SetStateStand(bool b1) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00173DD4 ^_^
|
|
|
-void CPlayer::SetStateLoco() {
|
|
|
-}
|
|
|
+// 00173DD4 ^_^
|
|
|
+void CPlayer::SetStateLoco() {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00173E58
|
|
|
-__attribute__((noinline)) void CPlayer::SetAnimFromStateLoco(int i1, int i2, int i3) {
|
|
|
+// 00173E58
|
|
|
+__attribute__((noinline)) void CPlayer::SetAnimFromStateLoco(int i1, int i2,
|
|
|
+ int i3) {
|
|
|
LOGI("CPlayer::SetAnimFromStateLoco %p %d %d %d", this, i1, i2, i3);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00174074
|
|
|
+// 00174074
|
|
|
void CPlayer::CheckAvoid(TPoint *pPoint1, int i2, int i3) {
|
|
|
- //LOGI("CPlayer::CheckAvoid %p %p %d %d", this, pPoint1, i2, i3);
|
|
|
- //tStr32_44.uc_1
|
|
|
+ // LOGI("CPlayer::CheckAvoid %p %p %d %d", this, pPoint1, i2, i3);
|
|
|
+ // tStr32_44.uc_1
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001741FC
|
|
|
+// 001741FC
|
|
|
__attribute__((noinline)) void CPlayer::SetConstantSpeed(bool b1) {
|
|
|
LOGI("CPlayer::SetConstantSpeed %p %d", this, b1);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00174204 ^_^
|
|
|
-int CPlayer::GetAverageRunSpeed() {
|
|
|
- return 0;
|
|
|
-}
|
|
|
+// 00174204 ^_^
|
|
|
+int CPlayer::GetAverageRunSpeed() { return 0; }
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00174260 ^_^
|
|
|
-void CPlayer::SetAverageRunSpeed(int i1) {
|
|
|
-}
|
|
|
+// 00174260 ^_^
|
|
|
+void CPlayer::SetAverageRunSpeed(int i1) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00174290
|
|
|
-void CPlayer::GetInterceptRunSpeed() {
|
|
|
-}
|
|
|
+// 00174290
|
|
|
+void CPlayer::GetInterceptRunSpeed() {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00174294
|
|
|
+// 00174294
|
|
|
__attribute__((noinline)) void CPlayer::GetWalkSpeed() {
|
|
|
LOGI("CPlayer::GetWalkSpeed %p", this);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001742B4 ^_^
|
|
|
-int CPlayer::GetSprintSpeed() {
|
|
|
- return 0;
|
|
|
-}
|
|
|
+// 001742B4 ^_^
|
|
|
+int CPlayer::GetSprintSpeed() { return 0; }
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00174310 ^_^
|
|
|
-int CPlayer::GetTargetRunSpeed() {
|
|
|
- return 0;
|
|
|
-}
|
|
|
+// 00174310 ^_^
|
|
|
+int CPlayer::GetTargetRunSpeed() { return 0; }
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0017432C //^_^
|
|
|
+// 0017432C //^_^
|
|
|
int CPlayer::GetCurrentRunSpeed() {
|
|
|
- //LOGI("CPlayer::GetCurrentRunSpeed %p", this);
|
|
|
+ // LOGI("CPlayer::GetCurrentRunSpeed %p", this);
|
|
|
return 0;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00174458 ^_-
|
|
|
+// 00174458 ^_-
|
|
|
int CPlayer::GetRunSpeed() {
|
|
|
int dret = 0;
|
|
|
- //loc_1744BA
|
|
|
- return dret;
|
|
|
+ // loc_1744BA
|
|
|
+ LOGE("this=%xCPlayer::GetRunSpeed", this);
|
|
|
+ return rand()+0x409360;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001744CC
|
|
|
+// 001744CC
|
|
|
int CPlayer::AttributeInterpolate(EPlayerAttribute eAttr1, int i2, int i3) {
|
|
|
return 0;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001744E2
|
|
|
-float CPlayer::GetMoveSpeed() {
|
|
|
- return 0.1f;
|
|
|
-}
|
|
|
+// 001744E2
|
|
|
+float CPlayer::GetMoveSpeed() { return 0.1f; }
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001744E8 ^_^
|
|
|
-int CPlayer::GetInterceptMaxHeight() {
|
|
|
- return 0;
|
|
|
-}
|
|
|
+// 001744E8 ^_^
|
|
|
+int CPlayer::GetInterceptMaxHeight() { return 0; }
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00174530 ^_^
|
|
|
+// 00174530 ^_^
|
|
|
void CPlayer::SetUrgency(int i1) {
|
|
|
LOGI("CPlayer::SetUrgency %d %d", i1, s_82);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00174550 经过单元测试,功能正常
|
|
|
+// 00174550 经过单元测试,功能正常
|
|
|
void CPlayer::SetUrgencyTime(int i1, bool b2) {
|
|
|
- //LOGI("CPlayer::SetUrgencyTime %p %d", this, i1);
|
|
|
+ // LOGI("CPlayer::SetUrgencyTime %p %d", this, i1);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0017464C ^_- 经过单元测试,功能正常
|
|
|
+// 0017464C ^_- 经过单元测试,功能正常
|
|
|
void CPlayer::UpdateUrgency() {
|
|
|
- //LOGI("CPlayer::UpdateUrgency %p", this);
|
|
|
- //00174652
|
|
|
+ // LOGI("CPlayer::UpdateUrgency %p", this);
|
|
|
+ // 00174652
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001746EE
|
|
|
+// 001746EE
|
|
|
__attribute__((noinline)) void CPlayer::GetDirMoveX() {
|
|
|
LOGI("CPlayer::GetCurrentRunSpeed %p", this);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00174702
|
|
|
+// 00174702
|
|
|
__attribute__((noinline)) void CPlayer::GetDirMoveY() {
|
|
|
LOGI("CPlayer::GetCurrentRunSpeed %p", this);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0017471E
|
|
|
-void CPlayer::NewPlayerStateX(int i1, int i2, int i3) {
|
|
|
-}
|
|
|
+// 0017471E
|
|
|
+void CPlayer::NewPlayerStateX(int i1, int i2, int i3) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0017472E ^_^
|
|
|
-void CPlayer::NewPlayerStateXF(int i1, int i2, int i3, int i4) {
|
|
|
-}
|
|
|
+// 0017472E ^_^
|
|
|
+void CPlayer::NewPlayerStateXF(int i1, int i2, int i3, int i4) {}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00174778
|
|
|
+// 00174778
|
|
|
__attribute__((noinline)) void CPlayer::NewPlayerStateGen(int i1) {
|
|
|
LOGI("CPlayer::NewPlayerStateGen %p %d", this, i1);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001747A8
|
|
|
-__attribute__((noinline)) void CPlayer::NewPlayerStateData(int i1, int i2, int i3, int i4) {
|
|
|
+// 001747A8
|
|
|
+__attribute__((noinline)) void CPlayer::NewPlayerStateData(int i1, int i2,
|
|
|
+ int i3, int i4) {
|
|
|
LOGI("CPlayer::NewPlayerStateData %p %d %d %d %d", this, i1, i2, i3, i4);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001748A8 初步测试调用不到
|
|
|
+// 001748A8 初步测试调用不到
|
|
|
void CPlayer::NewPlayerStateDataNIS(int i1, int i2, int i3, int i4) {
|
|
|
- LOGI("CPlayer::NewPlayerStateDataNIS %p %d %d %d %d %d", this, i1, i2, i3, i4, tStr32_44.uc_2);
|
|
|
+ LOGI("CPlayer::NewPlayerStateDataNIS %p %d %d %d %d %d", this, i1, i2, i3, i4,
|
|
|
+ tStr32_44.uc_2);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//001749A0 ^_^
|
|
|
+// 001749A0 ^_^
|
|
|
__attribute__((noinline)) bool CPlayer::CheckBlockedOff(int i1) {
|
|
|
- //00174A0E
|
|
|
+ // 00174A0E
|
|
|
return false;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00174A24 没有测试到
|
|
|
-__attribute__((noinline)) bool CPlayer::NewPlayerStateXFKick(TPoint3D point3D1,
|
|
|
- int i2,
|
|
|
- int i3,
|
|
|
- TActionSetup *pActionSetup4,
|
|
|
- int i5,
|
|
|
- int i6) {
|
|
|
- //LOGI("CPlayer::NewPlayerStateXFKick %p poiint %d %d %d", this, point3D1.point_0.dx_0, point3D1.point_0.dy_4, point3D1.dz_8);
|
|
|
- LOGI("CPlayer::NewPlayerStateXFKick %d %d %p %d %d", i2, i3, pActionSetup4, i5, i6);
|
|
|
- //loc_174ACE
|
|
|
+// 00174A24 没有测试到
|
|
|
+__attribute__((noinline)) bool CPlayer::NewPlayerStateXFKick(
|
|
|
+ TPoint3D point3D1, int i2, int i3, TActionSetup *pActionSetup4, int i5,
|
|
|
+ int i6) {
|
|
|
+ // LOGI("CPlayer::NewPlayerStateXFKick %p poiint %d %d %d", this,
|
|
|
+ // point3D1.point_0.dx_0, point3D1.point_0.dy_4, point3D1.dz_8);
|
|
|
+ LOGI("CPlayer::NewPlayerStateXFKick %d %d %p %d %d", i2, i3, pActionSetup4,
|
|
|
+ i5, i6);
|
|
|
+ // loc_174ACE
|
|
|
return false;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00174ADC
|
|
|
+// 00174ADC
|
|
|
__attribute__((noinline)) void CPlayer::UpdateTake() {
|
|
|
LOGI("CPlayer::UpdateTake %p", this);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00174C9C
|
|
|
+// 00174C9C
|
|
|
__attribute__((noinline)) void CPlayer::ControlTakeBall(int i1) {
|
|
|
LOGI("CPlayer::ControlTakeBall %p %d", this, i1);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00174FBC
|
|
|
-__attribute__((noinline)) void CPlayer::SetAnimControl(int i1, int i2, int i3, int i4, int i5, int i6, int i7, TActionSetup *pActionSetup) {
|
|
|
- LOGI("CPlayer::SetAnimControl %p %d %d %d %d %d %d %d %p", this, i1, i2, i3, i4, i5, i6, i7, pActionSetup);
|
|
|
+// 00174FBC
|
|
|
+__attribute__((noinline)) void CPlayer::SetAnimControl(
|
|
|
+ int i1, int i2, int i3, int i4, int i5, int i6, int i7,
|
|
|
+ TActionSetup *pActionSetup) {
|
|
|
+ LOGI("CPlayer::SetAnimControl %p %d %d %d %d %d %d %d %p", this, i1, i2, i3,
|
|
|
+ i4, i5, i6, i7, pActionSetup);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//0017555C
|
|
|
+// 0017555C
|
|
|
__attribute__((noinline)) void CPlayer::ControlFinish(int i1, int i2, int i3) {
|
|
|
LOGI("CPlayer::ControlTakeBall %p %d %d %d", this, i1, i2, i3);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00175968
|
|
|
-__attribute__((noinline)) void CPlayer::SetAnimTurn(int i1, int i2, int i3, int i4, int i5, int i6, int i7, TActionSetup *pActionSetup) {
|
|
|
- LOGI("CPlayer::ControlTakeBall %p %d %d %d %d %d %d %d %p", this, i1, i2, i3, i4, i5, i6, i7, pActionSetup);
|
|
|
+// 00175968
|
|
|
+__attribute__((noinline)) void CPlayer::SetAnimTurn(
|
|
|
+ int i1, int i2, int i3, int i4, int i5, int i6, int i7,
|
|
|
+ TActionSetup *pActionSetup) {
|
|
|
+ LOGI("CPlayer::ControlTakeBall %p %d %d %d %d %d %d %d %p", this, i1, i2, i3,
|
|
|
+ i4, i5, i6, i7, pActionSetup);
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00175B2C
|
|
|
+// 00175B2C
|
|
|
__attribute__((noinline)) bool CPlayer::Turn(int i1, int i2, bool b3) {
|
|
|
LOGI("CPlayer::ControlTakeBall %p %d %d %d", this, i1, i2, b3);
|
|
|
return true;
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
-//00178AAC 经过单元测试,功能正常
|
|
|
+// 00178AAC 经过单元测试,功能正常
|
|
|
__attribute__((noinline)) CPlayer &CPlayer::operator=(CPlayer const &other) {
|
|
|
return *this;
|
|
|
}
|