|
@@ -2,12 +2,22 @@
|
|
|
#include "FTTUPtr.h"
|
|
|
#include "CFTTRenderHelper.h"
|
|
|
#include "CFTTShaderBuiltInConstants.h"
|
|
|
-
|
|
|
+#include "CFTTMaterialManager.h"
|
|
|
static float g_f309C50[6] = {1.0, 1.0, 1.0, 0.0, 0.0, 0.0};
|
|
|
|
|
|
//---------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
-//0021B304
|
|
|
-void PlatformMesh_Free(CFTTPlatformMesh *) {
|
|
|
+//0021B304 //^_^
|
|
|
+//单元测试等级: 游戏运行正常
|
|
|
+//单元测试内容: 1-5关
|
|
|
+//单元测试结果: 正常
|
|
|
+void PlatformMesh_Free(CFTTPlatformMesh *r0_pmesh) {
|
|
|
+ r0_pmesh->pCFTTRenderHelper_94=NULL;
|
|
|
+ //loc_21B32A
|
|
|
+ for(int r5_i=0;r5_i<r0_pmesh->count_40;r5_i++){
|
|
|
+ // /loc_21B31C
|
|
|
+ FTT_pMtlL->ReleaseMaterial(r0_pmesh->uOPData_44.list_model[r5_i].tStr12_2.us_materialIndex_0);
|
|
|
+ }
|
|
|
+ delete[] ((char*)r0_pmesh);
|
|
|
}
|
|
|
//---------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
//0021B340 //^_^
|
|
@@ -19,7 +29,7 @@ void PlatformMesh_Render(CFTTPlatformMesh* r0_pPlatformMesh1, int r1_i, unsigned
|
|
|
{
|
|
|
CFTTModel_struct_14* r12_list_model = r0_pPlatformMesh1->uOPData_44.list_model;
|
|
|
if (r2_us ==0xFFFF )
|
|
|
- r2_us = r12_list_model[r1_i].tStr12_2.us_0;
|
|
|
+ r2_us = r12_list_model[r1_i].tStr12_2.us_materialIndex_0;
|
|
|
if (r3_u == 0xFFFFFFFF)
|
|
|
r3_u = r12_list_model[r1_i].tStr12_2.field_6;
|
|
|
if (sp10_u == 0xFFFFFFFF)
|
|
@@ -127,7 +137,7 @@ void PlatformMesh_ToModel(CFTTPlatformMesh* pfTTPlatformMesh1, TFTTModel* pfTTMo
|
|
|
//loc_21B596
|
|
|
CFTTModel_struct_14* pCFTTModel_struct_14_r3 = pfTTPlatformMesh1->uOPData_44.list_model;
|
|
|
pus_r1 = pfTTModel2->u_34.pdat;
|
|
|
- pfTTModel2->u_34.pdat[b_lr] = pCFTTModel_struct_14_r3[b_lr].tStr12_2.us_0;
|
|
|
+ pfTTModel2->u_34.pdat[b_lr] = pCFTTModel_struct_14_r3[b_lr].tStr12_2.us_materialIndex_0;
|
|
|
b_lr++;
|
|
|
}
|
|
|
}
|