Skip to content

Commit bd4952b

Browse files
committed
Major reorganization, code cleanup, and refactor
1 parent a908baa commit bd4952b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1379
-1144
lines changed

include/NavKit/GameConnection.h

Lines changed: 0 additions & 36 deletions
This file was deleted.

include/NavKit/InputHandler.h

Lines changed: 0 additions & 24 deletions
This file was deleted.

include/NavKit/Logger.h

Lines changed: 0 additions & 30 deletions
This file was deleted.

include/NavKit/NavKit.h

Lines changed: 5 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,111 +1,11 @@
11
#pragma once
22

3-
#include <iostream>
4-
#include <vector>
5-
#include <queue>
6-
#include <time.h>
7-
#include <stdlib.h>
8-
#include <chrono>
9-
10-
#include <SDL.h>
11-
#include <GL/glew.h>
12-
#include <SDL_opengl.h>
13-
#include <GL/glu.h>
14-
#include <GL/glut.h>
15-
16-
#include <SimpleIni.h>
17-
18-
#include <RecastDebugDraw.h>
19-
20-
#include "..\nativefiledialog-extended\nfd.h"
21-
22-
#include "..\..\extern\vcpkg\packages\recastnavigation_x64-windows\include\recastnavigation\RecastAlloc.h"
23-
#include "..\RecastDemo\ChunkyTriMesh.h"
24-
#include "..\RecastDemo\imgui.h"
25-
#include "..\RecastDemo\imguiRenderGL.h"
26-
#include "..\RecastDemo\InputGeom.h"
27-
#include "..\RecastDemo\MeshLoaderObj.h"
28-
#include "..\RecastDemo\SampleInterfaces.h"
29-
#include "..\RecastDemo\Sample.h"
30-
#include "..\RecastDemo\Sample_SoloMesh.h"
31-
32-
#include "..\NavWeakness\NavWeakness.h"
33-
#include "..\NavWeakness\NavPower.h"
34-
#include "..\ResourceLib_HM3\ResourceConverter.h"
35-
#include "..\ResourceLib_HM3\ResourceGenerator.h"
36-
#include "..\ResourceLib_HM3\ResourceLib.h"
37-
#include "..\ResourceLib_HM3\ResourceLibCommon.h"
38-
#include "..\ResourceLib_HM3\ResourceLib_HM3.h"
39-
#include "..\ResourceLib_HM3\Generated\ZHMGen.h"
40-
41-
#include "NavKitConfig.h"
42-
#include "GameConnection.h"
43-
#include "ReasoningGrid.h"
44-
#include "SceneExtract.h"
45-
#include "Navp.h"
46-
#include "Obj.h"
47-
#include "Airg.h"
48-
#include "FileUtil.h"
49-
#include "VisionData.h"
50-
#include "Renderer.h"
51-
#include "InputHandler.h"
52-
#include "Gui.h"
53-
#include <iomanip>
54-
#include <dbghelp.h>
55-
#include "Resource.h"
56-
#include <SDL_syswm.h>
57-
#include <cpptrace/from_current.hpp>
58-
#include <stdexcept>
59-
#pragma comment(lib, "dbghelp.lib")
60-
#undef main
61-
62-
class Navp;
63-
class Obj;
64-
class Airg;
65-
class SceneExtract;
66-
class Renderer;
67-
class InputHandler;
68-
class GameConnection;
69-
class Gui;
70-
713
class NavKit {
724
public:
73-
NavKit();
74-
75-
~NavKit();
76-
77-
SceneExtract *sceneExtract;
78-
Navp *navp;
79-
Obj *obj;
80-
Airg *airg;
81-
Renderer *renderer;
82-
InputHandler *inputHandler;
83-
Gui *gui;
84-
85-
GameConnection *gameConnection;
86-
Sample *sample;
87-
BuildContext ctx;
88-
89-
bool done;
90-
91-
float scrollZoom;
92-
bool rotate;
93-
bool movedDuringRotate;
94-
float keybSpeed = 22.0f;
95-
96-
InputGeom *geom;
97-
DebugDrawGL m_dd;
98-
99-
CSimpleIniA ini;
100-
101-
int runProgram(int argc, char **argv);
102-
103-
static INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
104-
105-
static std::string *errorMessage;
106-
107-
private:
108-
109-
void loadSettings();
5+
static NavKit& getInstance() {
6+
static NavKit instance;
7+
return instance;
8+
}
1109

10+
[[nodiscard]] static int runProgram();
11111
};
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
#pragma once
2+
#include <deque>
3+
#include <mutex>
4+
#include <string>
5+
6+
class Sample;
7+
class BuildContext;
8+
class InputGeom;
9+
class DebugDrawGL;
10+
11+
class RecastAdapter {
12+
RecastAdapter();
13+
14+
public:
15+
static RecastAdapter &getInstance() {
16+
static RecastAdapter instance;
17+
return instance;
18+
}
19+
20+
void log(int category, const std::string &message) const;
21+
22+
void drawInputGeom() const;
23+
24+
[[nodiscard]] bool loadInputGeom(const std::string & fileName);
25+
26+
void resetInputGeom();
27+
28+
void setMeshBBox(const float * bBoxMin, const float * bBoxMax) const;
29+
[[nodiscard]] const float* getBBoxMin() const;
30+
[[nodiscard]] const float* getBBoxMax() const;
31+
32+
[[nodiscard]] std::pair<int, int> getGridSize() const;
33+
34+
void handleMeshChanged() const;
35+
[[nodiscard]] bool handleBuild() const;
36+
37+
void handleCommonSettings() const;
38+
39+
void resetCommonSettings() const;
40+
41+
void save(const std::string &data) const;
42+
43+
[[nodiscard]] std::mutex &getLogMutex() const;
44+
45+
[[nodiscard]] int getVertCount() const;
46+
47+
[[nodiscard]] int getTriCount() const;
48+
49+
[[nodiscard]] int getLogCount() const;
50+
51+
std::deque<std::string> &getLogBuffer() const;
52+
53+
Sample *sample;
54+
BuildContext *buildContext;
55+
InputGeom *inputGeom;
56+
DebugDrawGL *debugDraw;
57+
};
Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@
22

33
#include <string>
44
#include <vector>
5-
#include <iostream>
65
#include <filesystem>
7-
#include <fstream>
8-
#include <stdlib.h>
9-
#include "..\..\extern\simdjson\simdjson.h"
6+
#include "../../../extern/simdjson/simdjson.h"
107

118
namespace PfBoxes {
129
class Vec3 {
@@ -94,12 +91,12 @@ namespace PfBoxes {
9491

9592
class PfBoxes {
9693
public:
97-
PfBoxes() : hashesAndEntities() {
94+
PfBoxes() {
9895
}
9996

10097
static inline const std::string INCLUDE_TYPE = "PFBT_INCLUDE_MESH_COLLISION";
10198

102-
PfBoxes(char *fileName);
99+
PfBoxes(const char *fileName);
103100

104101
PfBox getPathfindingBBox();
105102

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,8 @@
11
#pragma once
22

3-
#include <string>
43
#include <vector>
5-
#include <set>
6-
#include <iostream>
7-
#include <filesystem>
8-
#include <fstream>
9-
#include <stdlib.h>
10-
#include "..\NavWeakness\NavPower.h"
11-
#include "..\RecastDemo\SampleInterfaces.h"
12-
#include "..\..\extern\simdjson\simdjson.h"
13-
#include "NavKit.h"
14-
15-
class NavKit;
4+
#include "../../NavWeakness/NavPower.h"
5+
#include "../../../extern/simdjson/simdjson.h"
166

177
class Vec4 {
188
public:
@@ -51,8 +41,8 @@ class SizedArray {
5141

5242
class Waypoint {
5343
public:
54-
Waypoint() : vPos({}), nVisionDataOffset(0), nLayerIndex(0), xi(-1), yi(-1), zi(-1), cellBitmap{false},
55-
nNeighbors{65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535} {
44+
Waypoint() : nNeighbors{65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535}, vPos({}), nVisionDataOffset(0), nLayerIndex(0), cellBitmap{false}, xi(-1), yi(-1),
45+
zi(-1) {
5646
}
5747

5848
std::vector<uint16_t> nNeighbors;
@@ -89,8 +79,7 @@ class ReasoningGridBuilderHelper {
8979

9080
class ReasoningGrid {
9181
public:
92-
ReasoningGrid() : m_Properties(), m_HighVisibilityBits(), m_LowVisibilityBits(), m_deadEndData(), m_nNodeCount(),
93-
m_WaypointList(), m_pVisibilityData() {
82+
ReasoningGrid() : m_Properties(), m_HighVisibilityBits(), m_LowVisibilityBits(), m_deadEndData(), m_nNodeCount() {
9483
}
9584

9685
Properties m_Properties;
@@ -107,6 +96,6 @@ class ReasoningGrid {
10796

10897
std::vector<uint8_t> getWaypointVisionData(int waypointIndex);
10998

110-
static void build(ReasoningGrid *airg, NavPower::NavMesh *navMesh, NavKit *ctx, float spacing, float zSpacing,
99+
static void build(ReasoningGrid *airg, NavPower::NavMesh *navMesh, float spacing, float zSpacing,
111100
float tolerance, float zTolerance);
112101
};
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ class VisionData {
2020
public:
2121
VisionData() = default;
2222

23-
constexpr VisionData(VisionDataType type) : visionDataType(type) {
23+
explicit constexpr VisionData(const VisionDataType type) : visionDataType(type) {
2424
}
2525

26-
constexpr bool operator==(VisionData a) const { return visionDataType == a.visionDataType; }
27-
constexpr bool operator!=(VisionData a) const { return visionDataType != a.visionDataType; }
26+
constexpr bool operator==(const VisionData a) const { return visionDataType == a.visionDataType; }
27+
constexpr bool operator!=(const VisionData a) const { return visionDataType != a.visionDataType; }
2828

29-
std::string getName();
29+
std::string getName() const;
3030

31-
Vec4 getColor();
31+
Vec4 getColor() const;
3232

3333
static VisionData GetVisionDataType(int size);
3434

0 commit comments

Comments
 (0)