//CFTTNavMesh - [2020-04-13 11:57:46]
#ifndef _CFTTNAVMESH_H_
#define _CFTTNAVMESH_H_

#include "common.h"
#include "TTList.h"
#include "TTVector.h"
#include "TTDList.h"
#include "TTSPtr.h"
#include "TNMVert.h"
/*
00167BD0 CFTTNavMesh::Init()
00168F60 CFTTNavMesh::Pathfind(fpoint2<14u>,fpoint2<14u>,TTList<fpoint2<14u>> &)

0x10
*/

void sub_16A818(int *r0_pi, int *r1_pi);
class TNMTri;
struct TNMNeighbour {
  TNMTri* field_0;
  int field_4;
};

//0x3c
class TNMTri{
public:
  TNMTri();
  TNMTri(TNMTri const&);
  TTVector<TNMNeighbour> vector_nmneighbour_0;
  int filed_C;
  fpoint2 < PointType_14> filed_10[3];
  int filed_28;
  int  filed_2C;
  int8 filed_30[4];
  
 
  int  filed_34;
  int8  filed_38;
  fpoint2<PointType_14> Inside(fpoint2<PointType_14>, bool);
};



class CFTTNavMesh {
public:
  void Init();  //00167BD0
  void Pathfind(fpoint2<PointType_14>,
                fpoint2<PointType_14>,
                TTList<fpoint2<PointType_14>> &);  //00168F60
 // int filed_C;
  TTVector<TNMTri> vector_nmtri_0;
  int field_C;
 
};

void ShutDownMesh();         //00169870
extern CFTTNavMesh* pNavMesh;                         //003A3C8C
extern const uint dword_2FED08[0xE];
#endif  //_CFTTNAVMESH_H_