From 1e362b0c6eb5afe93583e3e030ba73c6c8203a6e Mon Sep 17 00:00:00 2001 From: fallenoak Date: Wed, 8 Oct 2025 16:47:13 -0500 Subject: [PATCH] feat(world): add CMap::Load --- src/world/CMakeLists.txt | 5 ++++- src/world/Map.hpp | 6 ++++++ src/world/map/CMap.cpp | 19 +++++++++++++++++++ src/world/map/CMap.hpp | 17 +++++++++++++++++ 4 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 src/world/Map.hpp create mode 100644 src/world/map/CMap.cpp create mode 100644 src/world/map/CMap.hpp diff --git a/src/world/CMakeLists.txt b/src/world/CMakeLists.txt index 78928e9..b5298cc 100644 --- a/src/world/CMakeLists.txt +++ b/src/world/CMakeLists.txt @@ -1,4 +1,7 @@ -file(GLOB PRIVATE_SOURCES "*.cpp") +file(GLOB PRIVATE_SOURCES + "*.cpp" + "map/*.cpp" +) add_library(world STATIC ${PRIVATE_SOURCES} diff --git a/src/world/Map.hpp b/src/world/Map.hpp new file mode 100644 index 0000000..84a9dd1 --- /dev/null +++ b/src/world/Map.hpp @@ -0,0 +1,6 @@ +#ifndef WORLD_MAP_HPP +#define WORLD_MAP_HPP + +#include "world/map/CMap.hpp" + +#endif diff --git a/src/world/map/CMap.cpp b/src/world/map/CMap.cpp new file mode 100644 index 0000000..32b9dd4 --- /dev/null +++ b/src/world/map/CMap.cpp @@ -0,0 +1,19 @@ +#include "world/map/CMap.hpp" +#include + +char CMap::s_mapName[256]; +char CMap::s_mapPath[256]; +char CMap::s_wdtFilename[256]; + +void CMap::Load(const char* mapName, int32_t zoneID) { + // TODO + + auto nameOfs = SStrCopy(CMap::s_mapPath, "World\\Maps\\"); + SStrCopy(&CMap::s_mapPath[nameOfs], mapName); + + SStrCopy(CMap::s_mapName, mapName); + + SStrPrintf(CMap::s_wdtFilename, sizeof(CMap::s_wdtFilename), "%s\\%s.wdt", CMap::s_mapPath, CMap::s_mapName); + + // TODO +} diff --git a/src/world/map/CMap.hpp b/src/world/map/CMap.hpp new file mode 100644 index 0000000..a1a14a0 --- /dev/null +++ b/src/world/map/CMap.hpp @@ -0,0 +1,17 @@ +#ifndef WORLD_MAP_C_MAP_HPP +#define WORLD_MAP_C_MAP_HPP + +#include + +class CMap { + public: + // Static variables + static char s_mapName[]; + static char s_mapPath[]; + static char s_wdtFilename[]; + + // Static functions + static void Load(const char* mapName, int32_t zoneID); +}; + +#endif