forked from metin-server/m2dev-client-src
client sources moved to C++20
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
project(m2dev-client-src)
|
project(m2dev-client-src)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
set(CMAKE_MODULE_PATH
|
set(CMAKE_MODULE_PATH
|
||||||
|
|||||||
@@ -48,6 +48,8 @@
|
|||||||
#include "SpeedTreeWrapper.h"
|
#include "SpeedTreeWrapper.h"
|
||||||
#include "VertexShaders.h"
|
#include "VertexShaders.h"
|
||||||
|
|
||||||
|
#include <filesystem>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
LPDIRECT3DVERTEXDECLARATION9 CSpeedTreeWrapper::ms_dwBranchVertexShader = nullptr;
|
LPDIRECT3DVERTEXDECLARATION9 CSpeedTreeWrapper::ms_dwBranchVertexShader = nullptr;
|
||||||
@@ -429,15 +431,28 @@ bool CSpeedTreeWrapper::LoadTree(const char * pszSptFile, const BYTE * c_pbBlock
|
|||||||
m_pTextureInfo = new CSpeedTreeRT::STextures;
|
m_pTextureInfo = new CSpeedTreeRT::STextures;
|
||||||
m_pSpeedTree->GetTextures(*m_pTextureInfo);
|
m_pSpeedTree->GetTextures(*m_pTextureInfo);
|
||||||
|
|
||||||
|
std::filesystem::path path = pszSptFile;
|
||||||
|
path = path.parent_path();
|
||||||
|
|
||||||
|
auto branchTexture = path / m_pTextureInfo->m_pBranchTextureFilename;
|
||||||
|
branchTexture.replace_extension(".dds");
|
||||||
|
|
||||||
// load branch textures
|
// load branch textures
|
||||||
LoadTexture((CFileNameHelper::GetPath(string(pszSptFile)) + CFileNameHelper::NoExtension(string(m_pTextureInfo->m_pBranchTextureFilename)) + ".dds").c_str(), m_BranchImageInstance);
|
LoadTexture(branchTexture.generic_string().c_str(), m_BranchImageInstance);
|
||||||
|
|
||||||
#ifdef WRAPPER_RENDER_SELF_SHADOWS
|
#ifdef WRAPPER_RENDER_SELF_SHADOWS
|
||||||
|
auto selfShadowTexture = path / m_pTextureInfo->m_pSelfShadowFilename;
|
||||||
|
selfShadowTexture.replace_extension(".dds");
|
||||||
|
|
||||||
if (m_pTextureInfo->m_pSelfShadowFilename != NULL)
|
if (m_pTextureInfo->m_pSelfShadowFilename != NULL)
|
||||||
LoadTexture((CFileNameHelper::GetPath(string(pszSptFile)) + CFileNameHelper::NoExtension(string(m_pTextureInfo->m_pSelfShadowFilename)) + ".dds").c_str(), m_ShadowImageInstance);
|
LoadTexture(selfShadowTexture.generic_string().c_str(), m_ShadowImageInstance);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
auto compositeTexture = path / m_pTextureInfo->m_pCompositeFilename;
|
||||||
|
compositeTexture.replace_extension(".dds");
|
||||||
|
|
||||||
if (m_pTextureInfo->m_pCompositeFilename)
|
if (m_pTextureInfo->m_pCompositeFilename)
|
||||||
LoadTexture((CFileNameHelper::GetPath(string(pszSptFile)) + CFileNameHelper::NoExtension(string(m_pTextureInfo->m_pCompositeFilename)) + ".dds").c_str(), m_CompositeImageInstance);
|
LoadTexture(compositeTexture.generic_string().c_str(), m_CompositeImageInstance);
|
||||||
|
|
||||||
// setup the index and vertex buffers
|
// setup the index and vertex buffers
|
||||||
SetupBuffers();
|
SetupBuffers();
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
#include "PackLib/PackManager.h"
|
#include "PackLib/PackManager.h"
|
||||||
#include <filesystem>
|
#include <filesystem>
|
||||||
|
#include <format>
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
extern int _fltused;
|
extern int _fltused;
|
||||||
@@ -250,11 +251,9 @@ bool PackInitialize(const char * c_pszFolder)
|
|||||||
"uiloading",
|
"uiloading",
|
||||||
};
|
};
|
||||||
|
|
||||||
std::filesystem::path folderPath = c_pszFolder;
|
CPackManager::instance().AddPack(std::format("{}/root.pck", c_pszFolder));
|
||||||
|
|
||||||
CPackManager::instance().AddPack((folderPath / "root.pck").generic_string());
|
|
||||||
for (const std::string& packFileName : packFiles) {
|
for (const std::string& packFileName : packFiles) {
|
||||||
CPackManager::instance().AddPack((folderPath / (packFileName + ".pck")).generic_string());
|
CPackManager::instance().AddPack(std::format("{}/{}.pck", c_pszFolder, packFileName));
|
||||||
}
|
}
|
||||||
|
|
||||||
NANOEND
|
NANOEND
|
||||||
|
|||||||
Reference in New Issue
Block a user