#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
}

//-------------------------------------------------------------------------------------------------------
// 001A40C8 ^_-
//单元测试等级: 游戏运行正常
//单元测试内容: 启动游戏到第1关,会被多次调用
//单元测试结果: 正常
//编译无栈保护选项
TCrowdMember::TCrowdMember() {
 
}

//-------------------------------------------------------------------------------------------------------
// 001A46C8 ^_^
//单元测试等级: 游戏运行正常
//单元测试内容: 启动游戏到第1关,会被多次调用
//单元测试结果: 正常
//编译无栈保护选项
//偏移地址不同导致代码二进制不同，但汇编代码相同
TCrowdMember::~TCrowdMember() {

}
//-------------------------------------------------------------------------------------------------------
// 0019EE90 ^_-
//单元测试等级: 游戏运行正常
//单元测试内容: 启动游戏到第1关,会被多次调用
//单元测试结果: 正常
//编译无栈保护选项
TAABB TCrowdMember::Animate(TSATAnim_TSX* pAnim_r2, TSATAnim_TSX* pAnim_r3, unsigned int iArg_r4) {
  
  TAABB cTAABB_sp_4;

  return cTAABB_sp_4;
}
//-------------------------------------------------------------------------------------------------------
// 001A4704 ^_-
//单元测试等级: 游戏运行正常
//单元测试内容: 启动游戏到第1关,会被多次调用
//单元测试结果: 正常
// 这个函数在原始so中是没有栈保护的，但是其他函数是有栈保护的，模块化编译？
void TCrowdMember::swap(TCrowdMember& cCrowdMember_r0, TCrowdMember& cCrowdMember_r1) {

}

//-------------------------------------------------------------------------------------------------------
// 0019F240 ^_-
//单元测试等级: 游戏运行正常
//单元测试内容: 启动游戏到第1关,会被多次调用
//单元测试结果: 正常
//编译无栈保护选项
void TCrowdMember::Render(CFTTMatrix32* cFTTMatrix32_r0) {

}