From 02f0e586316ba9a24047800bd8ba178dff7a3ee7 Mon Sep 17 00:00:00 2001 From: ouczbs Date: Fri, 31 May 2024 00:36:23 +0800 Subject: [PATCH] bugfix --- src/engine/idk/script/ManagedType.cpp | 2 +- src/engine/launcher/game_main.cpp | 108 +++++++++++++------------- src/engine/vkn/VulkanHashes.h | 4 +- 3 files changed, 57 insertions(+), 57 deletions(-) diff --git a/src/engine/idk/script/ManagedType.cpp b/src/engine/idk/script/ManagedType.cpp index 15f5a10..55c37a5 100644 --- a/src/engine/idk/script/ManagedType.cpp +++ b/src/engine/idk/script/ManagedType.cpp @@ -70,7 +70,7 @@ namespace idk::mono auto klass = Raw(); auto end_klass = envi.Type("Object")->Raw(); - while (klass != end_klass) + while (klass && klass != end_klass) { for (void* itr = nullptr; auto method = mono_class_get_methods(klass, &itr);) { diff --git a/src/engine/launcher/game_main.cpp b/src/engine/launcher/game_main.cpp index 06fb7a1..2cf0408 100644 --- a/src/engine/launcher/game_main.cpp +++ b/src/engine/launcher/game_main.cpp @@ -68,8 +68,8 @@ std::optional GetArgValue(std::wstring_view arg, LPWSTR* args { std::wstring_view incoming = args[i]; auto val_start = incoming.find_first_of(':'); - if(val_start!=incoming.npos && incoming.substr(0,val_start)==arg) - result = incoming.substr(val_start+1); + if (val_start != incoming.npos && incoming.substr(0, val_start) == arg) + result = incoming.substr(val_start + 1); } return result; } @@ -90,9 +90,9 @@ LRESULT ProcessAltTab(idk::Windows& win)//, HWND hwnd, UINT msg, WPARAM wParam, void MinimizeOnAltTab(idk::Windows& windows) { static auto on_alt_tab = [&windows]()->LRESULT//HWND hwnd, UINT msg, WPARAM wParam, [[maybe_unused]] LPARAM lParam) -> LRESULT - { - return ProcessAltTab(windows);// , hwnd, msg, wParam, lParam); - }; + { + return ProcessAltTab(windows);// , hwnd, msg, wParam, lParam); + }; windows.OnFocusLost.Listen(on_alt_tab); } namespace idk::mt::hack @@ -107,7 +107,7 @@ struct ManagedErrorString { ManagedErrorString(DWORD NTStatusMessage, ...); ManagedErrorString(DWORD NTStatusMessage, int count = 0, DWORD_PTR* test = nullptr); - ManagedErrorString(const ManagedErrorString&) = delete; + ManagedErrorString(const ManagedErrorString&) = delete; ~ManagedErrorString() { @@ -156,7 +156,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE hInstance, auto& sys = c->AddSystem(); if (HasArg(L"--simulate", command_lines, num_args)) { - vkn::ExtraConfigs ec{ .enable_simulation=true }; + vkn::ExtraConfigs ec{ .enable_simulation = true }; sys.SetExtraConfigs(ec); } gSys = &sys; @@ -185,9 +185,9 @@ int APIENTRY wWinMain(_In_ HINSTANCE hInstance, Core::GetSystem().SetLogDir(idk_app_data.string()); c->Init(); - - auto project_dir = string{ Core::GetSystem().GetExeDir() } +"/project/hydeandseek.idk"; - auto data_dir = string{ Core::GetSystem().GetExeDir() }; + auto exedir = Core::GetSystem().GetExeDir(); + auto project_dir = string{ exedir } + "/testproj/testproj.idk"; + auto data_dir = string{ exedir }; auto arg_proj = GetArgValue(L"--project", command_lines, num_args); auto arg_data = GetArgValue(L"--engine", command_lines, num_args); if (arg_proj) @@ -209,7 +209,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE hInstance, data_dir = derp; } auto& filesys = Core::GetSystem(); - filesys.Mount(string{ data_dir } + "/engine_data", "/engine_data", false); + filesys.Mount(string{ data_dir } + "/engine/engine_data", "/engine_data", false); Core::GetSystem().LoadProject(project_dir); @@ -248,7 +248,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE hInstance, Core::GetResourceManager().RegisterLoader(shadergraph::Graph::ext); Core::GetResourceManager().RegisterFactory(); - filesys.Mount(string{ data_dir } +"/editor_data", "/editor_data", false); + filesys.Mount(string{ exedir } + "/engine/editor_data", "/editor_data", false); if (shadergraph::NodeTemplate::GetTable().empty()) shadergraph::NodeTemplate::LoadTable("/editor_data/nodes"); @@ -305,7 +305,7 @@ ManagedErrorString::ManagedErrorString(DWORD NTStatusMessage, ...) &list); } -ManagedErrorString::ManagedErrorString(DWORD NTStatusMessage, int count , DWORD_PTR* test ) +ManagedErrorString::ManagedErrorString(DWORD NTStatusMessage, int count, DWORD_PTR* test) { Hand = LoadLibrary(L"NTDLL.DLL"); @@ -330,7 +330,7 @@ std::wstring GetReadFlag(DWORD flag) } std::wstring AccessViolationDesc(const _EXCEPTION_RECORD& record) { - ManagedErrorString err{ record.ExceptionCode ,0}; + ManagedErrorString err{ record.ExceptionCode ,0 }; auto flag_msg = GetReadFlag(record.ExceptionInformation[0]); if (err.numChars) { @@ -338,22 +338,22 @@ std::wstring AccessViolationDesc(const _EXCEPTION_RECORD& record) do { - std::wstring result(estimated_size+1,L' '); + std::wstring result(estimated_size + 1, L' '); - int numCharsWritten = std::swprintf(result.data(), result.size(), err.lpMessageBuffer, record.ExceptionAddress, record.ExceptionInformation[1], flag_msg.c_str()); - if (numCharsWritten > 0) - { - result.resize(numCharsWritten); - return result; - } - else - { - auto lower_bound = estimated_size; - lower_bound = 1; - estimated_size = std::max(estimated_size, lower_bound); - estimated_size *= 2; - continue; - } + int numCharsWritten = std::swprintf(result.data(), result.size(), err.lpMessageBuffer, record.ExceptionAddress, record.ExceptionInformation[1], flag_msg.c_str()); + if (numCharsWritten > 0) + { + result.resize(numCharsWritten); + return result; + } + else + { + auto lower_bound = estimated_size; + lower_bound = 1; + estimated_size = std::max(estimated_size, lower_bound); + estimated_size *= 2; + continue; + } } while (true); } return L""; @@ -369,29 +369,29 @@ std::wstring GetErrorString(const _EXCEPTION_RECORD& record) codeName = L"Non-System Exception"; sdescription = ((std::exception*)record.ExceptionInformation[1])->what(); break; - case EXCEPTION_ACCESS_VIOLATION : codeName = L"EXCEPTION_ACCESS_VIOLATION "; description = AccessViolationDesc(record); break; - case EXCEPTION_DATATYPE_MISALIGNMENT : codeName = L"EXCEPTION_DATATYPE_MISALIGNMENT "; break; - case EXCEPTION_BREAKPOINT : codeName = L"EXCEPTION_BREAKPOINT "; break; - case EXCEPTION_SINGLE_STEP : codeName = L"EXCEPTION_SINGLE_STEP "; break; - case EXCEPTION_ARRAY_BOUNDS_EXCEEDED : codeName = L"EXCEPTION_ARRAY_BOUNDS_EXCEEDED "; break; - case EXCEPTION_FLT_DENORMAL_OPERAND : codeName = L"EXCEPTION_FLT_DENORMAL_OPERAND "; break; - case EXCEPTION_FLT_DIVIDE_BY_ZERO : codeName = L"EXCEPTION_FLT_DIVIDE_BY_ZERO "; break; - case EXCEPTION_FLT_INEXACT_RESULT : codeName = L"EXCEPTION_FLT_INEXACT_RESULT "; break; - case EXCEPTION_FLT_INVALID_OPERATION : codeName = L"EXCEPTION_FLT_INVALID_OPERATION "; break; - case EXCEPTION_FLT_OVERFLOW : codeName = L"EXCEPTION_FLT_OVERFLOW "; break; - case EXCEPTION_FLT_STACK_CHECK : codeName = L"EXCEPTION_FLT_STACK_CHECK "; break; - case EXCEPTION_FLT_UNDERFLOW : codeName = L"EXCEPTION_FLT_UNDERFLOW "; break; - case EXCEPTION_INT_DIVIDE_BY_ZERO : codeName = L"EXCEPTION_INT_DIVIDE_BY_ZERO "; break; - case EXCEPTION_INT_OVERFLOW : codeName = L"EXCEPTION_INT_OVERFLOW "; break; - case EXCEPTION_PRIV_INSTRUCTION : codeName = L"EXCEPTION_PRIV_INSTRUCTION "; break; - case EXCEPTION_IN_PAGE_ERROR : codeName = L"EXCEPTION_IN_PAGE_ERROR "; break; - case EXCEPTION_ILLEGAL_INSTRUCTION : codeName = L"EXCEPTION_ILLEGAL_INSTRUCTION "; break; - case EXCEPTION_NONCONTINUABLE_EXCEPTION : codeName = L"EXCEPTION_NONCONTINUABLE_EXCEPTION "; break; - case EXCEPTION_STACK_OVERFLOW : codeName = L"EXCEPTION_STACK_OVERFLOW "; break; - case EXCEPTION_INVALID_DISPOSITION : codeName = L"EXCEPTION_INVALID_DISPOSITION "; break; - case EXCEPTION_GUARD_PAGE : codeName = L"EXCEPTION_GUARD_PAGE "; break; - case EXCEPTION_INVALID_HANDLE : codeName = L"EXCEPTION_INVALID_HANDLE "; break; - case CONTROL_C_EXIT : codeName = L"CONTROL_C_EXIT "; break; + case EXCEPTION_ACCESS_VIOLATION: codeName = L"EXCEPTION_ACCESS_VIOLATION "; description = AccessViolationDesc(record); break; + case EXCEPTION_DATATYPE_MISALIGNMENT: codeName = L"EXCEPTION_DATATYPE_MISALIGNMENT "; break; + case EXCEPTION_BREAKPOINT: codeName = L"EXCEPTION_BREAKPOINT "; break; + case EXCEPTION_SINGLE_STEP: codeName = L"EXCEPTION_SINGLE_STEP "; break; + case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: codeName = L"EXCEPTION_ARRAY_BOUNDS_EXCEEDED "; break; + case EXCEPTION_FLT_DENORMAL_OPERAND: codeName = L"EXCEPTION_FLT_DENORMAL_OPERAND "; break; + case EXCEPTION_FLT_DIVIDE_BY_ZERO: codeName = L"EXCEPTION_FLT_DIVIDE_BY_ZERO "; break; + case EXCEPTION_FLT_INEXACT_RESULT: codeName = L"EXCEPTION_FLT_INEXACT_RESULT "; break; + case EXCEPTION_FLT_INVALID_OPERATION: codeName = L"EXCEPTION_FLT_INVALID_OPERATION "; break; + case EXCEPTION_FLT_OVERFLOW: codeName = L"EXCEPTION_FLT_OVERFLOW "; break; + case EXCEPTION_FLT_STACK_CHECK: codeName = L"EXCEPTION_FLT_STACK_CHECK "; break; + case EXCEPTION_FLT_UNDERFLOW: codeName = L"EXCEPTION_FLT_UNDERFLOW "; break; + case EXCEPTION_INT_DIVIDE_BY_ZERO: codeName = L"EXCEPTION_INT_DIVIDE_BY_ZERO "; break; + case EXCEPTION_INT_OVERFLOW: codeName = L"EXCEPTION_INT_OVERFLOW "; break; + case EXCEPTION_PRIV_INSTRUCTION: codeName = L"EXCEPTION_PRIV_INSTRUCTION "; break; + case EXCEPTION_IN_PAGE_ERROR: codeName = L"EXCEPTION_IN_PAGE_ERROR "; break; + case EXCEPTION_ILLEGAL_INSTRUCTION: codeName = L"EXCEPTION_ILLEGAL_INSTRUCTION "; break; + case EXCEPTION_NONCONTINUABLE_EXCEPTION: codeName = L"EXCEPTION_NONCONTINUABLE_EXCEPTION "; break; + case EXCEPTION_STACK_OVERFLOW: codeName = L"EXCEPTION_STACK_OVERFLOW "; break; + case EXCEPTION_INVALID_DISPOSITION: codeName = L"EXCEPTION_INVALID_DISPOSITION "; break; + case EXCEPTION_GUARD_PAGE: codeName = L"EXCEPTION_GUARD_PAGE "; break; + case EXCEPTION_INVALID_HANDLE: codeName = L"EXCEPTION_INVALID_HANDLE "; break; + case CONTROL_C_EXIT: codeName = L"CONTROL_C_EXIT "; break; default: codeName = L"Unknown Exception"; @@ -403,8 +403,8 @@ std::wstring GetErrorString(const _EXCEPTION_RECORD& record) stream << sdescription.c_str(); else stream << description; - stream<< L"\nArgument Values: "; - for (auto c = record.NumberParameters; c >0; --c) + stream << L"\nArgument Values: "; + for (auto c = record.NumberParameters; c > 0; --c) { auto i = record.NumberParameters - c; stream << L"[" << i << L"]: 0x" << std::hex << record.ExceptionInformation[i] << L","; diff --git a/src/engine/vkn/VulkanHashes.h b/src/engine/vkn/VulkanHashes.h index a274b8d..0762ae3 100644 --- a/src/engine/vkn/VulkanHashes.h +++ b/src/engine/vkn/VulkanHashes.h @@ -4,7 +4,7 @@ namespace std { - template<> + /*template<> struct hash { size_t operator()(const vk::DescriptorSetLayout& dsl)const @@ -27,5 +27,5 @@ namespace std { return reinterpret_cast(s.operator VkSemaphore()); } - }; + };*/ }