#include "CFTTPPrimitive.h" #include "sub.h" //------------------------------------------------------------------------------------------------- //0016D9D4 CFTTPPrimitive::CFTTPPrimitive(fpoint3 fpoint3_r1, fpointQ fpointQ_r2) : fpoint3_8(fpoint3_r1) , fpointQ_14(fpointQ_r2) { LOGE("CFTTPPrimitive::CFTTPPrimitive"); this->fpoint3_24.x_0=0; //0016DA14 24 this->fpoint3_24.y_4 = 0; this->fpoint3_24.z_8 = 0; this->fpointQQ_30.list_0[0] = 0; this->fpointQQ_30.list_0[1] = 0; //0016DA0C 34 this->fpointQQ_30.list_0[2] = 0; this->fpointQQ_30.list_0[3] = 0; this->fpointQQ_30.list_0[4] = 0; this->fpointQQ_30.list_0[5] = 0; //0016DA04 44 this->fpointQQ_30.list_0[6] = 0; this->fpointQQ_30.list_0[7] = 0; this->fpointQQ_30.list_0[8] = 0; //0016D9FA 50 this->fpointQQ_30.fpointQ_24.field_0=0; this->fpointQQ_30.fpointQ_24. field_4=0; this->fpointQQ_30.fpointQ_24. field_8=0; this->fpointQQ_30.fpointQ_24.field_C=0x40000; this->field_64 = 0; } //------------------------------------------------------------------------------------------------- //0016D96A 0016DA30 CFTTPPrimitive::~CFTTPPrimitive() { } //------------------------------------------------------------------------------------------------- //0016BE78 fpoint3 CFTTPPrimitive::Diff(CFTTPPrimitive const* a1 , CFTTPPrimitive const* a2) { fpoint3 d; // d.y_4 = a1->filed_24[1]-a2->filed_24[1]; // d.x_0 = a1->filed_24[0]-a2->filed_24[0]; // d.z_8 = a1->filed_24[2]-a2->filed_24[2]; return fpoint3(d); } //------------------------------------------------------------------------------------------------- //0016C240 void CFTTPPrimitive::Support(fpoint3) { } //------------------------------------------------------------------------------------------------- //0016C378 ^_- //单元测试等级: 游戏运行正常 //单元测试内容: 1-5关 //单元测试结果: 正常 void CFTTPPrimitive::Cache(fpoint a) { LOGE("CFTTPPrimitive::Cache"); fpointQ fpointQ_sp20; fpointQ fpointQ_sp10; sub_16C3E2(fpointQ_sp10,filed_4->fpointQQ_54.fpointQ_24,fpointQ_14); sub_16A88C(fpointQ_sp20,fpointQ_sp10); fpointQQ_30.fpointQ_24=fpointQ_sp20; fpointQQ_30.Cache(); fpoint3 fpoint3_sp4; fpoint3_sp4.x_0=fpoint3_8.x_0; fpoint3_sp4.y_4=fpoint3_8.y_4; fpoint3_sp4.z_8=fpoint3_8.z_8; fpoint3 fpoint3_sp20 = filed_4->fpointQQ_54.Multiply(fpoint3_sp4); fpoint3_24.x_0 = fpoint3_sp20.x_0+filed_4->fpoint3_48.x_0; fpoint3_24.y_4 = fpoint3_sp20.y_4+filed_4->fpoint3_48.y_4; fpoint3_24.z_8 = fpoint3_sp20.z_8+filed_4->fpoint3_48.z_8; return ; } //------------------------------------------------------------------------------------------------- //0016C55E CFTTPCapsule CFTTPPrimitive::GenerateSweptSphere() { CFTTPCapsule ret; ret.field_0=rand(); ret.field_14=rand(); ret.field_c=rand(); LOGE("CFTTPPrimitive::GenerateSweptSphere=%x",this); return ret; } //-------------------------------------------------------------------------------------------------