1
This commit is contained in:
parent
7aaa8ece0e
commit
2182706b3a
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
#include <a8/xobject.h>
|
#include <a8/xobject.h>
|
||||||
|
|
||||||
|
#include <f8/udplog.h>
|
||||||
|
|
||||||
#include "mt/MapCollider.h"
|
#include "mt/MapCollider.h"
|
||||||
#include "mt/MetaMgr.h"
|
#include "mt/MetaMgr.h"
|
||||||
|
|
||||||
@ -56,17 +58,32 @@ namespace mt
|
|||||||
|
|
||||||
void MapCollider::LoadTerrain(const std::string& filename)
|
void MapCollider::LoadTerrain(const std::string& filename)
|
||||||
{
|
{
|
||||||
|
navmesh::vertex verts_pb;
|
||||||
|
long long begin_tick = a8::XGetTickCount();
|
||||||
FILE *fp = fopen((mt::MetaMgr::Instance()->GetResDir() + filename).c_str(), "rb");
|
FILE *fp = fopen((mt::MetaMgr::Instance()->GetResDir() + filename).c_str(), "rb");
|
||||||
if (fp) {
|
if (fp) {
|
||||||
fseek(fp, 0, SEEK_END);
|
fseek(fp, 0, SEEK_END);
|
||||||
int file_size = ftell(fp);
|
int file_size = ftell(fp);
|
||||||
if (file_size > 0) {
|
if (file_size > 0) {
|
||||||
|
fseek(fp, 0, SEEK_SET);
|
||||||
char* data = (char*)malloc(file_size);
|
char* data = (char*)malloc(file_size);
|
||||||
size_t read_len = fread(data, file_size, 1, fp);
|
size_t read_len = fread(data, file_size, 1, fp);
|
||||||
|
bool ok = verts_pb.ParseFromArray(data, file_size);
|
||||||
|
if (!ok) {
|
||||||
|
abort();
|
||||||
|
}
|
||||||
free(data);
|
free(data);
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
}
|
}
|
||||||
|
long long end_tick = a8::XGetTickCount();
|
||||||
|
f8::UdpLog::Instance()->Info("load terrain file_name:%s triangles:%d vectors:%d cost_time:%d",
|
||||||
|
{
|
||||||
|
filename,
|
||||||
|
verts_pb.triangles().size(),
|
||||||
|
verts_pb.vectors().size(),
|
||||||
|
end_tick - begin_tick
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
mc::ColliderNode* MapCollider::GetNode(const std::string& name)
|
mc::ColliderNode* MapCollider::GetNode(const std::string& name)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user