123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- #include "TCrowdMember.h"
- #include "XSYS.h"
- #include "CGfxPlayer.h"
- #include "CGfxCharacter.h"
- #include "CFTTTextureManager.h"
- #include "CFTTMaterialManager.h"
- #include "CPlayerShader.h"
- #include "CGfxCrowd.h"
- #include "CPBRLighting.h"
- #include "CFTTModel.h"
- #include "CGraphicsTexLoadOptions.h"
- #include "CFTTBatchModelManager.h"
- #include "CFTTBatchModelBin.h"
- #include "CFTTModel.h"
- #include "Matrix.h"
- #include "SAT.h"
- #include "TAABB.h"
- #include "global_func.h"
- static const char* SkinWhite[] = {"skin_white", "skin_white_tan", "skin_black_light", "skin_black_med", "skin_black_dark", "skin_asian"};
- bool bBoneBody[44] = {0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0}; // 0033F954
- static int dword_2FF20C[17] = {0x2, 0xB, 0x1E, 0x8, 0x1B, 0x22, 0xF, 0x12, 0xA, 0x25, 0x1D, 0x1C, 0x9, 0x6, 0x19, 0x1A, 0x7}; // 002FF20C
- //-------------------------------------------------------------------------------------------------------
- // 0019EB18 ^_- BUG
- //单元测试等级: 游戏运行正常
- //单元测试内容: 启动游戏到第1关,会被多次调用
- //单元测试结果: 正常
- //编译无栈保护选项
- void TCrowdMember::Setup(ECrowdMemberType e_r1, uchar uc_r2) {
- #if 0
- #endif
- LOGE("%x",this);
- LOGE("%x",e_r1);
- LOGE("%x",uc_r2);
- }
- //-------------------------------------------------------------------------------------------------------
- // 001A40C8 ^_-
- //单元测试等级: 游戏运行正常
- //单元测试内容: 启动游戏到第1关,会被多次调用
- //单元测试结果: 正常
- //编译无栈保护选项
- TCrowdMember::TCrowdMember() {
- LOGE("TCrowdMember::TCrowdMember%x",this);
- }
- //-------------------------------------------------------------------------------------------------------
- // 001A46C8 ^_^
- //单元测试等级: 游戏运行正常
- //单元测试内容: 启动游戏到第1关,会被多次调用
- //单元测试结果: 正常
- //编译无栈保护选项
- //偏移地址不同导致代码二进制不同,但汇编代码相同
- TCrowdMember::~TCrowdMember() {
- }
- //-------------------------------------------------------------------------------------------------------
- // 0019EE90 ^_-
- //单元测试等级: 游戏运行正常
- //单元测试内容: 启动游戏到第1关,会被多次调用
- //单元测试结果: 正常
- //编译无栈保护选项
- CFTTMatrix32 TCrowdMember::Animate(TSATAnim_TSX* pAnim_r2, TSATAnim_TSX* pAnim_r3, unsigned int iArg_r4) {
-
- CFTTMatrix32 cTAABB_sp_4;
- LOGE("%x",this);
- LOGE("%x",pAnim_r2);
- LOGE("%x",pAnim_r3);
- LOGE("%x",iArg_r4);
- cTAABB_sp_4.d[0][0] =rand() ;
- cTAABB_sp_4.d[0][1] =rand() ;
- cTAABB_sp_4.d[0][2] =rand() ;
- cTAABB_sp_4.d[0][3] =rand() ;
- cTAABB_sp_4.d[1][0] =rand() ;
- cTAABB_sp_4.d[1][1] =rand() ;
- cTAABB_sp_4.d[1][2] =rand() ;
- cTAABB_sp_4.d[1][3] =rand() ;
- cTAABB_sp_4.d[2][0] =rand() ;
- cTAABB_sp_4.d[2][1] =rand() ;
- cTAABB_sp_4.d[2][2] =rand() ;
- cTAABB_sp_4.d[2][3] =rand() ;
- cTAABB_sp_4.d[3][0] =rand() ;
- cTAABB_sp_4.d[3][1] =rand() ;
- cTAABB_sp_4.d[3][2] =rand() ;
- cTAABB_sp_4.d[3][3] =rand() ;
- return cTAABB_sp_4;
- }
- //-------------------------------------------------------------------------------------------------------
- // 001A4704 ^_-
- //单元测试等级: 游戏运行正常
- //单元测试内容: 启动游戏到第1关,会被多次调用
- //单元测试结果: 正常
- // 这个函数在原始so中是没有栈保护的,但是其他函数是有栈保护的,模块化编译?
- void TCrowdMember::swap(TCrowdMember& cCrowdMember_r0, TCrowdMember& cCrowdMember_r1) {
- }
- //-------------------------------------------------------------------------------------------------------
- // 0019F240 ^_-
- //单元测试等级: 游戏运行正常
- //单元测试内容: 启动游戏到第1关,会被多次调用
- //单元测试结果: 正常
- //编译无栈保护选项
- void TCrowdMember::Render(CFTTMatrix32* viewmatrix) {
- LOGE("%x%x%x%x", viewmatrix->d[0][0]);
- LOGE("%x%x%x%x", viewmatrix->d[0][1]);
- LOGE("%x%x%x%x", viewmatrix->d[0][2]);
- LOGE("%x%x%x%x", viewmatrix->d[0][3]);
-
- LOGE("%x%x%x%x", viewmatrix->d[1][0]);
- LOGE("%x%x%x%x", viewmatrix->d[1][1]);
- LOGE("%x%x%x%x", viewmatrix->d[1][2]);
- LOGE("%x%x%x%x", viewmatrix->d[1][3]);
-
- LOGE("%x%x%x%x", viewmatrix->d[2][0]);
- LOGE("%x%x%x%x", viewmatrix->d[2][1]);
- LOGE("%x%x%x%x", viewmatrix->d[2][2]);
- LOGE("%x%x%x%x", viewmatrix->d[2][3]);
-
- LOGE("%x%x%x%x", viewmatrix->d[3][0]);
- LOGE("%x%x%x%x", viewmatrix->d[3][1]);
- LOGE("%x%x%x%x", viewmatrix->d[3][2]);
- LOGE("%x%x%x%x", viewmatrix->d[3][3]);
- }
|