CDClient cleanup and optimization (#1023)

* CDClient cleanup and optimization

- Use static function to get table name
- Remove unused GetName function
- Replace above function with a static GetTableName function
- Remove verbose comments
- Remove verbose initializers
- Remove need to specify table name when getting a table by name
- Remove unused typedef for mac and linux

* Re-add unused table

Convert tables to singletons

- Convert all CDClient tables to singletons
- Move Singleton.h to dCommon
- Reduce header clutter in CDClientManager
This commit is contained in:
David Markowitz
2023-03-17 07:36:21 -07:00
committed by GitHub
parent bd79e9433c
commit 7671cc6865
121 changed files with 399 additions and 1584 deletions

19
dCommon/Singleton.h Normal file
View File

@@ -0,0 +1,19 @@
#pragma once
template <typename T>
class Singleton {
public:
static T& Instance() {
static T instance{};
return instance;
}
virtual ~Singleton() = default;
Singleton(const Singleton& other) = delete;
Singleton(Singleton&& other) = delete;
Singleton& operator=(const Singleton& other) = delete;
Singleton& operator=(Singleton&& other) = delete;
protected:
Singleton() = default;
};

View File

@@ -64,11 +64,6 @@ typedef std::set<LWOOBJID> TSetObjID;
const float PI = 3.14159f;
#if defined(__unix) || defined(__APPLE__)
//For Linux:
typedef __int64_t __int64;
#endif
//============ STRUCTS ==============
struct LWOSCENEID {