123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271 |
- #include "CStoryProfile.h"
- #include "CFTTTime.h"
- #include "CMyProfile.h"
- #include "XSYS.h"
- #include "memctrl.h"
- #include "CStoryProfile.h"
- #include "CStoryCore.h"
- TStoryProfileData CStoryProfile::m_tData;
- void TMoveClubs::Serialize(CFTTSerialize &pCFTTSerializer1) {}
- // 001E7384
- void TStoryProfileData::Serialize(CFTTSerialize &pCFTTSerializer1) {}
- //-------------------------------------------------------------------------------------------------
- // 001E356A
- void CStoryProfile::SetStageStars(int dr1, int dr2) {
- filed_0->SetStageStars(dr1, dr2);
- }
- //-------------------------------------------------------------------------------------------------
- // 001E35BA
- void CStoryProfile::SetStageComplete(int dr1, int dr2, bool br3) {
- filed_0->SetStageComplete(dr1, dr2, br3, true, true);
- }
- //-------------------------------------------------------------------------------------------------
- // 001E75B0 经过单元测试,功能正常
- //???汇编不一样,而且还去除了一些不必要的代码
- void CStoryProfile::Init() {}
- //-------------------------------------------------------------------------------------------------
- // 001E7688 经过单元测试,功能正常
- //???2个short赋值被优化成了一个str。
- void CStoryProfile::SetTrialsClub() {}
- //-------------------------------------------------------------------------------------------------
- // 001E76B8
- void CStoryProfile::Exit() {}
- //-------------------------------------------------------------------------------------------------
- // 001E76D0
- void CStoryProfile::Serialize(CFTTSerialize &a2, bool a3) {}
- //-------------------------------------------------------------------------------------------------
- // 001E7700 ^_-
- //单元测试等级: 游戏运行正常
- //单元测试内容: 选择俱乐部调用
- //单元测试结果: 正常
- ELeague CStoryProfile::GetRandomLeague(ELeague r1_league, ELeague r2_league) {
- int r0_i = 4;
- ELeague r4_league=r1_league;
- ELeague r5_league=r2_league;
- if (r1_league < ELeague_0) {
- r0_i = 5;
- }
- if (r2_league >= ELeague_0) {
- r0_i -= 1;
- }
- r0_i = XSYS_Random(r0_i);
- ELeague r12_eleague = ELeague_neg1;
- if (r5_league != ELeague_5) r12_eleague = ELeague_5;
- if (r4_league == ELeague_5) r12_eleague = ELeague_neg1;
- ELeague lr_league = ELeague_neg1;
- if (r5_league != ELeague_3) lr_league = ELeague_3;
- // 001E7738
- if (r4_league == ELeague_3) lr_league = ELeague_neg1;
- // 001E773E
- r2_league = ELeague_neg1;
- ELeague r3_league = ELeague_neg1;
- if (r5_league != ELeague_4) r2_league = ELeague_4;
- // 001E774C
- if (r4_league == ELeague_4) r2_league = ELeague_neg1;
- // 001E7752
- if (r5_league != ELeague_2) r3_league = ELeague_2;
- if (r4_league == ELeague_2) r3_league = ELeague_neg1;
- if (r5_league == ELeague_0)
- r5_league=ELeague_1;
- if(r4_league==ELeague_0)
- r4_league=ELeague_1;
- r4_league=(ELeague)(-(r4_league|r5_league));
- // r2_league=ELeague_0;
- int r5_i = 0;
- r1_league = ELeague_neg1;
- // loc_1E7770
- // check 符号
- while (r1_league == ELeague_neg1 && r5_i < 5) {
- // check 符号
- if (r0_i > r5_i) {
- // 001E777C
- r1_league = ELeague_neg1;
- // loc_1E7780
- r5_i++;
- } else {
- //loc_1E7784
- switch (r5_i & 0x7FFFFFFF) {
- case 0:{
- //loc_1E7796
- r1_league=r4_league;
- // loc_1E7780
- r5_i++;
- break;
- }
- case 1:{
- //loc_1E779A
- r1_league=r3_league;
- // loc_1E7780
- r5_i++;
- break;
- }
- case 2:{
- //loc_1E779E
- r1_league=r2_league;
- // loc_1E7780
- r5_i++;
- break;
- }
- case 3:{
- //loc_1E77A2
- r1_league=lr_league;
- // loc_1E7780
- r5_i++;
- break;
- }
- case 4:{
- //loc_1E77A6
- r1_league=r12_eleague;
- // loc_1E7780
- r5_i++;
- break;
- }
- default: {
- // 001E777C
- r1_league = ELeague_neg1;
- // loc_1E7780
- r5_i++;
- break;
- }
- }
- }
- }
- // loc_1E77AA
- return r1_league;
-
- }
- //-------------------------------------------------------------------------------------------------
- // 001E77B0
- int CStoryProfile::GetStartingCountry() { return 0; }
- //-------------------------------------------------------------------------------------------------
- // 001E782C
- int CStoryProfile::GetPossibleStartingClubs(int, int *, int) { return 0; }
- //-------------------------------------------------------------------------------------------------
- // 001E78F4
- int CStoryProfile::GetPossibleNewClubs(int, bool, int, int *, int, ELeague,
- bool, bool) {
- return 0;
- }
- //-------------------------------------------------------------------------------------------------
- // 001E7A00
- int CStoryProfile::GetHaveChangedTeamOnStage(int) {
- float v = sinf(23.0);
- if (v > 120.0) {
- printf("ddfffddd");
- return 0;
- }
- return 1;
- }
- //-------------------------------------------------------------------------------------------------
- // 001E7A2C
- void CStoryProfile::SetStageClubTeam(int, int) {}
- //-------------------------------------------------------------------------------------------------
- // 001E7A8C
- void CStoryProfile::SetOppoClubTeams(bool) {}
- //-------------------------------------------------------------------------------------------------
- // 001E7BE0
- ushort CStoryProfile::GetStageClubTeam(int) { return 0; }
- //-------------------------------------------------------------------------------------------------
- // 001E7C10
- ushort CStoryProfile::GetClubTeam() { return 0; }
- //-------------------------------------------------------------------------------------------------
- // 001E7C28
- void CStoryProfile::SetOppoNationalTeams() {}
- //-------------------------------------------------------------------------------------------------
- // 001E7D04
- int CStoryProfile::GetNumOppoTeams(int, int) { return 0; }
- //-------------------------------------------------------------------------------------------------
- // 001E7D64
- bool CStoryProfile::SetupNextStage() {
- CStoryProfileStages* pSPS = filed_0;
- TStorySeason* pTSS_R1 = CStoryCore::m_tStages.list_C + CStoryProfile::m_tData.field_16.filed_2;
- int i_R6 = 0;
- // 001E7DE6
- for (; i_R6 < pTSS_R1->StageCount_d0; i_R6++) { // 001E7D96
- // 001E7D9E 001E7D9A
- if (!pSPS->GetStagesComplete(pTSS_R1->TStage_d4[i_R6].ID_0)) { // 001E7DAA
- break;
- } // 001E7DA0
- } // 001E7DAA
- // 001E7DB8 LDR R0, [R7] 此条指令提到当前块前面,
- CStoryCore::m_tStageManager.uc_5DA9 = 0;
- bool bRet;
- // 001E7DBA
- if (i_R6 < pTSS_R1->StageCount_d0) { // 001E7DBE
- bRet = true;
- // 001E7DC4
- if (i_R6 > CStoryProfile::m_tData.field_16.filed_0) { // 001E7DC8
- CStoryCore::m_tStageManager.uc_5DA9 = bRet;
- } // 001E7DCC
- CStoryProfile::m_tData.field_16.filed_0 = i_R6;
- } else { // 001E7DD0
- bRet = true;
- CStoryCore::m_tStageManager.uc_5DA9 = bRet;
- CStoryProfile::m_tData.field_16.filed_0 = 0;
- CStoryProfile::m_tData.field_16.filed_2++;
- CStoryProfile::m_tData.field_2.field_10++;
- // 001E7DF2
- if (CStoryCore::m_tStages.dCount_8 <= CStoryProfile::m_tData.field_16.filed_2) {
- bRet = false;
- CStoryProfile::m_tData.field_16.filed_2 = CStoryCore::m_tStages.dCount_8 - 1;
- CStoryProfile::m_tData.field_16.filed_0 = pTSS_R1->StageCount_d0;
- } // 001E7E04
- } // 001E7E04
- return bRet;
- }
- //-------------------------------------------------------------------------------------------------
- // 001E7E18
- void CStoryProfile::SetSeason(int dr1) {
- // CStoryProfile::m_tData.field_18 = dr1;
- }
- //-------------------------------------------------------------------------------------------------
- // 001E7E28
- int CStoryProfile::GetOppoTeam(int, int, int, int, TTeamInfo *) { return 0; }
- //-------------------------------------------------------------------------------------------------
- // 001E7F64
- void CStoryProfile::ApplyUserPlayer(TPlayerInfo *) {}
- //-------------------------------------------------------------------------------------------------
- // 001E7F9C
- void CStoryProfile::UseGoldenBoot() {}
- //-------------------------------------------------------------------------------------------------
- // 001E7FB4
- void CStoryProfile::UseRewind() {}
- //-------------------------------------------------------------------------------------------------
- // 001E7FD8
- void CStoryProfile::EnergyUse(int) {}
- //-------------------------------------------------------------------------------------------------
- // 001E8090
- void CStoryProfile::EnergyIncrease(int, bool) {}
- //-------------------------------------------------------------------------------------------------
- // 001E80C4
- void CStoryProfile::SetTimeSinceReboot() {}
- //-------------------------------------------------------------------------------------------------
- // 001E80DC ^_^
- void CStoryProfile::CheckEnergyFallback() { return; }
- //-------------------------------------------------------------------------------------------------
- // 001E8114
- void CStoryProfile::EnergyCheckRestore() {
- LOGE("%pStoryProfile::EnergyCheckRestore",this);
- }
- //-------------------------------------------------------------------------------------------------
- // 001E82C4
- int CStoryProfile::EnergyGetRestoreSecs() { return 0; }
- //-------------------------------------------------------------------------------------------------
- // 001E830C
- int CStoryProfile::SecondsToFullEnergy(int a1, int a2) {
- LOGE("CStoryProfile::SecondsToFullEnergy%x%x",a1,a2);
- return rand(); }
- //-------------------------------------------------------------------------------------------------
- // 001E8360
- void CStoryProfile::GetDescription(wchar_t *, int) {}
- //-------------------------------------------------------------------------------------------------
|