Fixed Some bugs and added better deprication stuff
This commit is contained in:
parent
dbd0ad28d2
commit
818aa7cfee
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -80,6 +80,7 @@
|
||||
"future": "cpp",
|
||||
"any": "cpp",
|
||||
"ranges": "cpp",
|
||||
"unordered_set": "cpp"
|
||||
"unordered_set": "cpp",
|
||||
"source_location": "cpp"
|
||||
}
|
||||
}
|
88
imgui.ini
88
imgui.ini
@ -10,40 +10,40 @@ Collapsed=1
|
||||
|
||||
[Window][WindowOverViewport_11111111]
|
||||
Pos=0,19
|
||||
Size=1280,701
|
||||
Size=1920,1158
|
||||
Collapsed=0
|
||||
|
||||
[Window][Inspector]
|
||||
Pos=991,19
|
||||
Size=289,701
|
||||
Pos=1553,19
|
||||
Size=367,860
|
||||
Collapsed=0
|
||||
DockId=0x00000017,0
|
||||
DockId=0x00000018,0
|
||||
|
||||
[Window][Scene Tree]
|
||||
Pos=0,19
|
||||
Size=342,348
|
||||
Size=342,575
|
||||
Collapsed=0
|
||||
DockId=0x00000003,0
|
||||
|
||||
[Window][Viewport]
|
||||
Pos=344,19
|
||||
Size=645,390
|
||||
Size=1207,860
|
||||
Collapsed=0
|
||||
DockId=0x00000007,0
|
||||
DockId=0x00000017,0
|
||||
|
||||
[Window][##MainMenuBar]
|
||||
Size=1280,19
|
||||
Collapsed=0
|
||||
|
||||
[Window][Performance Info]
|
||||
Pos=978,592
|
||||
Size=302,128
|
||||
Pos=1430,881
|
||||
Size=490,296
|
||||
Collapsed=0
|
||||
DockId=0x00000011,0
|
||||
DockId=0x0000000F,0
|
||||
|
||||
[Window][Console]
|
||||
Pos=344,411
|
||||
Size=541,139
|
||||
Pos=344,881
|
||||
Size=1448,125
|
||||
Collapsed=0
|
||||
DockId=0x00000013,0
|
||||
|
||||
@ -51,11 +51,11 @@ DockId=0x00000013,0
|
||||
Pos=265,19
|
||||
Size=1263,674
|
||||
Collapsed=0
|
||||
DockId=0x00000007,1
|
||||
DockId=0x00000017,1
|
||||
|
||||
[Window][Profiler]
|
||||
Pos=344,552
|
||||
Size=541,168
|
||||
Pos=344,1008
|
||||
Size=1448,169
|
||||
Collapsed=0
|
||||
DockId=0x00000014,0
|
||||
|
||||
@ -63,29 +63,29 @@ DockId=0x00000014,0
|
||||
Pos=265,69
|
||||
Size=623,651
|
||||
Collapsed=0
|
||||
DockId=0x00000013,1
|
||||
DockId=0x00000015,1
|
||||
|
||||
[Window][Profiler (Unity Style)]
|
||||
Pos=265,430
|
||||
Size=623,290
|
||||
Collapsed=0
|
||||
DockId=0x00000013,1
|
||||
DockId=0x00000015,1
|
||||
|
||||
[Window][Profiler Timeline View]
|
||||
Pos=265,526
|
||||
Size=1263,651
|
||||
Collapsed=0
|
||||
DockId=0x00000013,1
|
||||
DockId=0x00000015,1
|
||||
|
||||
[Window][Color Correction]
|
||||
Pos=1131,592
|
||||
Size=149,128
|
||||
Pos=1669,881
|
||||
Size=251,296
|
||||
Collapsed=0
|
||||
DockId=0x00000012,0
|
||||
DockId=0x00000010,0
|
||||
|
||||
[Window][Asset Browser]
|
||||
Pos=0,369
|
||||
Size=342,351
|
||||
Pos=0,596
|
||||
Size=342,581
|
||||
Collapsed=0
|
||||
DockId=0x00000004,0
|
||||
|
||||
@ -110,44 +110,44 @@ DockId=0x0000000C,0
|
||||
Pos=978,460
|
||||
Size=302,260
|
||||
Collapsed=0
|
||||
DockId=0x0000000F,0
|
||||
DockId=0x0000000E,0
|
||||
|
||||
[Window][Audio Output]
|
||||
Pos=887,411
|
||||
Size=102,309
|
||||
Pos=1794,881
|
||||
Size=126,296
|
||||
Collapsed=0
|
||||
DockId=0x00000016,0
|
||||
DockId=0x00000012,0
|
||||
|
||||
[Window][Master Bus]
|
||||
Pos=1003,570
|
||||
Size=277,150
|
||||
Collapsed=0
|
||||
DockId=0x00000018,0
|
||||
DockId=0x0000000D,0
|
||||
|
||||
[Docking][Data]
|
||||
DockSpace ID=0x11111111 Window=0x1BBC0F80 Pos=0,19 Size=1280,701 Split=X
|
||||
DockSpace ID=0x11111111 Window=0x1BBC0F80 Pos=0,19 Size=1920,1158 Split=X
|
||||
DockNode ID=0x00000005 Parent=0x11111111 SizeRef=989,1158 Split=X
|
||||
DockNode ID=0x00000001 Parent=0x00000005 SizeRef=342,701 Split=Y Selected=0x12EF0F59
|
||||
DockNode ID=0x00000003 Parent=0x00000001 SizeRef=342,575 HiddenTabBar=1 Selected=0x12EF0F59
|
||||
DockNode ID=0x00000004 Parent=0x00000001 SizeRef=342,581 HiddenTabBar=1 Selected=0x36AF052B
|
||||
DockNode ID=0x00000002 Parent=0x00000005 SizeRef=645,701 Split=Y Selected=0xC450F867
|
||||
DockNode ID=0x00000007 Parent=0x00000002 SizeRef=606,847 CentralNode=1 HiddenTabBar=1 Selected=0xC450F867
|
||||
DockNode ID=0x00000008 Parent=0x00000002 SizeRef=606,309 Split=X Selected=0xEA83D666
|
||||
DockNode ID=0x00000015 Parent=0x00000008 SizeRef=541,172 Split=Y Selected=0xEA83D666
|
||||
DockNode ID=0x00000013 Parent=0x00000015 SizeRef=553,139 HiddenTabBar=1 Selected=0xEA83D666
|
||||
DockNode ID=0x00000014 Parent=0x00000015 SizeRef=553,168 HiddenTabBar=1 Selected=0x9B5D3198
|
||||
DockNode ID=0x00000016 Parent=0x00000008 SizeRef=102,172 HiddenTabBar=1 Selected=0x56009A08
|
||||
DockNode ID=0x00000002 Parent=0x00000005 SizeRef=1484,701 Split=Y Selected=0xC450F867
|
||||
DockNode ID=0x00000007 Parent=0x00000002 SizeRef=606,860 Split=X Selected=0xC450F867
|
||||
DockNode ID=0x00000017 Parent=0x00000007 SizeRef=1207,860 CentralNode=1 HiddenTabBar=1 Selected=0xC450F867
|
||||
DockNode ID=0x00000018 Parent=0x00000007 SizeRef=367,860 HiddenTabBar=1 Selected=0x36DC96AB
|
||||
DockNode ID=0x00000008 Parent=0x00000002 SizeRef=606,296 Split=X Selected=0xEA83D666
|
||||
DockNode ID=0x00000015 Parent=0x00000008 SizeRef=1291,172 Split=X Selected=0xEA83D666
|
||||
DockNode ID=0x00000011 Parent=0x00000015 SizeRef=1448,168 Split=Y Selected=0x9B5D3198
|
||||
DockNode ID=0x00000013 Parent=0x00000011 SizeRef=1449,125 HiddenTabBar=1 Selected=0xEA83D666
|
||||
DockNode ID=0x00000014 Parent=0x00000011 SizeRef=1449,169 HiddenTabBar=1 Selected=0x9B5D3198
|
||||
DockNode ID=0x00000012 Parent=0x00000015 SizeRef=126,168 HiddenTabBar=1 Selected=0x56009A08
|
||||
DockNode ID=0x00000016 Parent=0x00000008 SizeRef=283,172 Split=X Selected=0x56009A08
|
||||
DockNode ID=0x0000000F Parent=0x00000016 SizeRef=140,296 HiddenTabBar=1 Selected=0x3FC1A724
|
||||
DockNode ID=0x00000010 Parent=0x00000016 SizeRef=148,296 HiddenTabBar=1 Selected=0xA873C17F
|
||||
DockNode ID=0x00000006 Parent=0x11111111 SizeRef=289,1158 Split=Y Selected=0x36DC96AB
|
||||
DockNode ID=0x00000009 Parent=0x00000006 SizeRef=449,488 Split=Y Selected=0x36DC96AB
|
||||
DockNode ID=0x0000000B Parent=0x00000009 SizeRef=449,556 Split=Y Selected=0x36DC96AB
|
||||
DockNode ID=0x0000000D Parent=0x0000000B SizeRef=449,439 Split=Y Selected=0x36DC96AB
|
||||
DockNode ID=0x00000017 Parent=0x0000000D SizeRef=277,549 HiddenTabBar=1 Selected=0x36DC96AB
|
||||
DockNode ID=0x00000018 Parent=0x0000000D SizeRef=277,150 Selected=0x96A8354B
|
||||
DockNode ID=0x0000000E Parent=0x0000000B SizeRef=449,260 Split=Y Selected=0x9D7E7171
|
||||
DockNode ID=0x0000000F Parent=0x0000000E SizeRef=302,215 HiddenTabBar=1 Selected=0x9D7E7171
|
||||
DockNode ID=0x00000010 Parent=0x0000000E SizeRef=302,213 Split=X Selected=0x3FC1A724
|
||||
DockNode ID=0x00000011 Parent=0x00000010 SizeRef=151,213 HiddenTabBar=1 Selected=0x3FC1A724
|
||||
DockNode ID=0x00000012 Parent=0x00000010 SizeRef=149,213 HiddenTabBar=1 Selected=0xA873C17F
|
||||
DockNode ID=0x0000000D Parent=0x0000000B SizeRef=449,860 Selected=0x36DC96AB
|
||||
DockNode ID=0x0000000E Parent=0x0000000B SizeRef=449,296 HiddenTabBar=1 Selected=0x9D7E7171
|
||||
DockNode ID=0x0000000C Parent=0x00000009 SizeRef=449,143 HiddenTabBar=1 Selected=0xB6C74292
|
||||
DockNode ID=0x0000000A Parent=0x00000006 SizeRef=449,211 HiddenTabBar=1 Selected=0xD83E5DD3
|
||||
|
||||
|
@ -40,6 +40,7 @@ cc: gcc
|
||||
cflags:
|
||||
- -std=c99
|
||||
- -Wall
|
||||
- -g
|
||||
|
||||
# C++ compiler and flags
|
||||
cxx: g++
|
||||
@ -59,6 +60,7 @@ auto_libs:
|
||||
- comdlg32
|
||||
- ssl
|
||||
- crypto
|
||||
- dbghelp
|
||||
|
||||
auto_includes:
|
||||
- imgui
|
||||
|
@ -7,5 +7,6 @@
|
||||
"comdlg32": "C:\\msys64\\mingw64\\lib\\libcomdlg32.a",
|
||||
"ssl": "C:\\msys64\\mingw64\\lib\\libssl.a",
|
||||
"crypto": "C:\\msys64\\mingw64\\lib\\libcrypto.a",
|
||||
"dbghelp": "C:\\msys64\\mingw64\\lib\\libdbghelp.a",
|
||||
"imgui": "src\\vendor\\imgui"
|
||||
}
|
@ -1,3 +1,2 @@
|
||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -Isrc/vendor/miniaudio -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\editor\windows\AudioInfo.cpp -o src\build\editor\windows\AudioInfo.o
|
||||
[LINK] g++ src\build\Engine.o src\build\main.o src\build\Renderer.o src\build\Components\AnimationComponent.o src\build\Components\AudioPlayerComponent.o src\build\Components\CameraComponent.o src\build\Components\LightComponent.o src\build\Components\ParticleComponent.o src\build\Components\PhysicsComponent.o src\build\Components\ScriptComponent.o src\build\Components\SpriteComponent.o src\build\Components\TextComonent.o src\build\Components\TilemapComponent.o src\build\core\audio\AudioEngine.o src\build\core\utils\AssetManager.o src\build\core\utils\EngineConfig.o src\build\core\utils\ExceptionHandler.o src\build\core\utils\FileDialog.o src\build\core\utils\input.o src\build\core\utils\LoadingWindow.o src\build\core\utils\Logging.o src\build\core\utils\Profiler.o src\build\core\utils\Texture.o src\build\core\utils\utils.o src\build\editor\windows\AssetBrowser.o src\build\editor\windows\AudioInfo.o src\build\editor\windows\Inspector.o src\build\Entitys\Object.o src\build\utils\GameObjectsList.o src\build\utils\Shader.o src\build\utils\UID.o src\build\lapi.o src\build\lauxlib.o src\build\lbaselib.o src\build\lcode.o src\build\lcorolib.o src\build\lctype.o src\build\ldblib.o src\build\ldebug.o src\build\ldo.o src\build\ldump.o src\build\lfunc.o src\build\lgc.o src\build\linit.o src\build\liolib.o src\build\llex.o src\build\lmathlib.o src\build\lmem.o src\build\loadlib.o src\build\lobject.o src\build\lopcodes.o src\build\loslib.o src\build\lparser.o src\build\lstate.o src\build\lstring.o src\build\lstrlib.o src\build\ltable.o src\build\ltablib.o src\build\ltm.o src\build\lua.o src\build\luac.o src\build\lundump.o src\build\lutf8lib.o src\build\lvm.o src\build\lzio.o src\build\imgui.o src\build\imgui_demo.o src\build\imgui_draw.o src\build\imgui_impl_glfw.o src\build\imgui_impl_opengl3.o src\build\imgui_tables.o src\build\imgui_widgets.o src\build\aabb.o src\build\arena_allocator.o src\build\array.o src\build\bitset.o src\build\body.o src\build\broad_phase.o src\build\constraint_graph.o src\build\contact.o src\build\contact_solver.o src\build\core.o src\build\distance.o src\build\distance_joint.o src\build\dynamic_tree.o src\build\geometry.o src\build\hull.o src\build\id_pool.o src\build\island.o src\build\joint.o src\build\manifold.o src\build\math_functions.o src\build\motor_joint.o src\build\mouse_joint.o src\build\mover.o src\build\prismatic_joint.o src\build\revolute_joint.o src\build\sensor.o src\build\shape.o src\build\solver.o src\build\solver_set.o src\build\table.o src\build\timer.o src\build\types.o src\build\weld_joint.o src\build\wheel_joint.o src\build\world.o src\build\xxhash.o src\build\miniaudio.o -o src\build\app.exe -LC:\msys64\mingw64\lib -lglfw3 -lglew32 -lopengl32 -lgdi32 -lyaml-cpp -lcomdlg32 -lssl -lcrypto
|
||||
[LINK] g++ src\build\Engine.o src\build\main.o src\build\Renderer.o src\build\Components\AnimationComponent.o src\build\Components\AudioPlayerComponent.o src\build\Components\CameraComponent.o src\build\Components\LightComponent.o src\build\Components\ParticleComponent.o src\build\Components\PhysicsComponent.o src\build\Components\ScriptComponent.o src\build\Components\SpriteComponent.o src\build\Components\TextComonent.o src\build\Components\TilemapComponent.o src\build\core\audio\AudioEngine.o src\build\core\utils\AssetManager.o src\build\core\utils\EngineConfig.o src\build\core\utils\ExceptionHandler.o src\build\core\utils\FileDialog.o src\build\core\utils\input.o src\build\core\utils\LoadingWindow.o src\build\core\utils\Logging.o src\build\core\utils\Profiler.o src\build\core\utils\Texture.o src\build\core\utils\utils.o src\build\editor\windows\AssetBrowser.o src\build\editor\windows\AudioInfo.o src\build\editor\windows\Inspector.o src\build\Entitys\Object.o src\build\utils\GameObjectsList.o src\build\utils\Shader.o src\build\utils\UID.o src\build\lapi.o src\build\lauxlib.o src\build\lbaselib.o src\build\lcode.o src\build\lcorolib.o src\build\lctype.o src\build\ldblib.o src\build\ldebug.o src\build\ldo.o src\build\ldump.o src\build\lfunc.o src\build\lgc.o src\build\linit.o src\build\liolib.o src\build\llex.o src\build\lmathlib.o src\build\lmem.o src\build\loadlib.o src\build\lobject.o src\build\lopcodes.o src\build\loslib.o src\build\lparser.o src\build\lstate.o src\build\lstring.o src\build\lstrlib.o src\build\ltable.o src\build\ltablib.o src\build\ltm.o src\build\lua.o src\build\luac.o src\build\lundump.o src\build\lutf8lib.o src\build\lvm.o src\build\lzio.o src\build\imgui.o src\build\imgui_demo.o src\build\imgui_draw.o src\build\imgui_impl_glfw.o src\build\imgui_impl_opengl3.o src\build\imgui_tables.o src\build\imgui_widgets.o src\build\aabb.o src\build\arena_allocator.o src\build\array.o src\build\bitset.o src\build\body.o src\build\broad_phase.o src\build\constraint_graph.o src\build\contact.o src\build\contact_solver.o src\build\core.o src\build\distance.o src\build\distance_joint.o src\build\dynamic_tree.o src\build\geometry.o src\build\hull.o src\build\id_pool.o src\build\island.o src\build\joint.o src\build\manifold.o src\build\math_functions.o src\build\motor_joint.o src\build\mouse_joint.o src\build\mover.o src\build\prismatic_joint.o src\build\revolute_joint.o src\build\sensor.o src\build\shape.o src\build\solver.o src\build\solver_set.o src\build\table.o src\build\timer.o src\build\types.o src\build\weld_joint.o src\build\wheel_joint.o src\build\world.o src\build\xxhash.o src\build\miniaudio.o -o src\build\app.exe -LC:\msys64\mingw64\lib -lglfw3 -lglew32 -lopengl32 -lgdi32 -lyaml-cpp -lcomdlg32 -lssl -lcrypto -ldbghelp
|
||||
[RUN] Executed app.exe successfully.
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -27,17 +27,17 @@ void AudioPlayerComponent::Stop() {
|
||||
AudioEngine::Stop(m_UAID);
|
||||
}
|
||||
|
||||
void AudioPlayerComponent::Update() {
|
||||
// drive the engine’s per-frame update
|
||||
void AudioPlayerComponent::Update()
|
||||
{
|
||||
Logger::LogDepricatedWithStackTrace("AudioPlayerComponent::Update()");
|
||||
// This is never called. Its useless
|
||||
|
||||
AudioEngine::Update();
|
||||
|
||||
// now you can, if you like, pull back the current time or VU data
|
||||
// for your own logic/UI. E.g.:
|
||||
auto& map = AudioEngine::GetPlayingInfoMap();
|
||||
auto it = map.find(m_UAID);
|
||||
if (it != map.end()) {
|
||||
const auto& info = it->second;
|
||||
// info.currentTime, info.totalTime, info.vuLeft, info.vuRight ...
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -190,6 +190,8 @@ void Renderer::InitQuadBatch()
|
||||
|
||||
void Renderer::Init()
|
||||
{
|
||||
|
||||
|
||||
glGenFramebuffers(1, &fbo);
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, fbo);
|
||||
|
||||
|
@ -35,7 +35,8 @@ public:
|
||||
static void SetVolume(uint64_t uaid, float volume);
|
||||
static void SetLooping(uint64_t uaid, bool loop);
|
||||
|
||||
// Now returns a per-channel master peak vector
|
||||
static ma_engine* GetEngine() { return &s_Engine; }
|
||||
|
||||
static const std::vector<float> &GetMasterVU();
|
||||
|
||||
static const std::unordered_map<uint64_t, PlayingInfo> &GetPlayingInfoMap();
|
||||
|
@ -8,6 +8,8 @@
|
||||
#include <fstream>
|
||||
#include <filesystem>
|
||||
#include <windows.h>
|
||||
#include <mutex>
|
||||
#include <dbghelp.h>
|
||||
|
||||
class ScopedLogFileWriter
|
||||
{
|
||||
@ -153,6 +155,92 @@ void Logger::LogVerbose(const char *fmt, ...)
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
|
||||
void Logger::LogDepricated(const char* fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
|
||||
char buffer[1024];
|
||||
vsnprintf(buffer, sizeof(buffer), fmt, args);
|
||||
|
||||
std::string full = std::string("[DEPRECATED] ") + buffer;
|
||||
LogVA(Warning, full.c_str(), args);
|
||||
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
|
||||
void Logger::LogDepricatedWithCaller(const char* msg, const std::source_location location)
|
||||
{
|
||||
std::string formatted = std::string("[DEPRECATED] ") + msg +
|
||||
" (called from " + location.file_name() +
|
||||
":" + std::to_string(location.line()) +
|
||||
" in " + location.function_name() + ")";
|
||||
Log(Warning, "%s", formatted.c_str());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void Logger::LogDepricatedWithStackTrace(const char* msg)
|
||||
{
|
||||
static std::once_flag symInitFlag;
|
||||
std::call_once(symInitFlag, []() {
|
||||
SymSetOptions(SYMOPT_DEFERRED_LOADS | SYMOPT_LOAD_LINES | SYMOPT_UNDNAME);
|
||||
SymInitialize(GetCurrentProcess(), nullptr, TRUE);
|
||||
});
|
||||
|
||||
HANDLE process = GetCurrentProcess();
|
||||
void* stack[32];
|
||||
USHORT frames = CaptureStackBackTrace(0, 32, stack, nullptr);
|
||||
|
||||
std::string formatted = std::string("[DEPRECATED] ") + msg + "\n Call stack:";
|
||||
|
||||
for (USHORT i = 1; i < frames; ++i) // skip self
|
||||
{
|
||||
DWORD64 addr = (DWORD64)(stack[i]);
|
||||
|
||||
// Resolve function name
|
||||
char symbolBuffer[sizeof(SYMBOL_INFO) + MAX_SYM_NAME];
|
||||
PSYMBOL_INFO symbol = (PSYMBOL_INFO)symbolBuffer;
|
||||
symbol->SizeOfStruct = sizeof(SYMBOL_INFO);
|
||||
symbol->MaxNameLen = MAX_SYM_NAME;
|
||||
|
||||
std::string line;
|
||||
|
||||
if (SymFromAddr(process, addr, nullptr, symbol))
|
||||
{
|
||||
line = std::string(" -> ") + symbol->Name;
|
||||
}
|
||||
else
|
||||
{
|
||||
// fallback: raw address
|
||||
char addrStr[64];
|
||||
snprintf(addrStr, sizeof(addrStr), "0x%llx", (unsigned long long)addr);
|
||||
line = std::string(" -> [unresolved symbol] ") + addrStr;
|
||||
}
|
||||
|
||||
// Resolve file + line number
|
||||
IMAGEHLP_LINE64 lineInfo = {};
|
||||
lineInfo.SizeOfStruct = sizeof(IMAGEHLP_LINE64);
|
||||
DWORD lineDisp = 0;
|
||||
|
||||
if (SymGetLineFromAddr64(process, addr, &lineDisp, &lineInfo))
|
||||
{
|
||||
line += " (" + std::string(lineInfo.FileName) + ":" + std::to_string(lineInfo.LineNumber) + ")";
|
||||
}
|
||||
|
||||
formatted += "\n" + line;
|
||||
}
|
||||
|
||||
Log(Warning, "%s", formatted.c_str());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void Logger::Clear()
|
||||
{
|
||||
s_Messages.clear();
|
||||
|
@ -2,6 +2,14 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <ostream>
|
||||
#include <source_location>
|
||||
|
||||
#define LOG_DEPRECATED_USE(msg) \
|
||||
Logger::LogDepricated("%s (called from %s:%d in %s)", msg, __FILE__, __LINE__, __func__)
|
||||
|
||||
#define DEPRICATED(func, ...) \
|
||||
Logger::LogDepricatedWithCaller(#func " is deprecated", std::source_location::current()); \
|
||||
func(__VA_ARGS__)
|
||||
|
||||
class Logger
|
||||
{
|
||||
@ -14,18 +22,24 @@ public:
|
||||
Debug,
|
||||
Verbose
|
||||
};
|
||||
static void Log(Level level, const char* fmt, ...);
|
||||
static void LogVA(Level level, const char* fmt, va_list args);
|
||||
|
||||
static void LogInfo(const char* fmt, ...);
|
||||
static void LogWarning(const char* fmt, ...);
|
||||
static void LogError(const char* fmt, ...);
|
||||
static void LogDebug(const char* fmt, ...);
|
||||
static void LogVerbose(const char* fmt, ...);
|
||||
static void Log(Level level, const char *fmt, ...);
|
||||
static void LogVA(Level level, const char *fmt, va_list args);
|
||||
|
||||
static void LogInfo(const char *fmt, ...);
|
||||
static void LogWarning(const char *fmt, ...);
|
||||
static void LogError(const char *fmt, ...);
|
||||
static void LogDebug(const char *fmt, ...);
|
||||
static void LogVerbose(const char *fmt, ...);
|
||||
static void LogDepricated(const char *fmt, ...);
|
||||
|
||||
static void LogDepricatedWithCaller(
|
||||
const char *msg,
|
||||
const std::source_location location = std::source_location::current());
|
||||
|
||||
static void LogDepricatedWithStackTrace(const char *msg);
|
||||
|
||||
static void Clear();
|
||||
static void Draw(const char* title = "Console");
|
||||
static void Draw(const char *title = "Console");
|
||||
|
||||
private:
|
||||
struct LogMessage
|
||||
@ -42,7 +56,6 @@ private:
|
||||
static bool s_ShowDebug;
|
||||
static bool s_ShowVerbose;
|
||||
|
||||
|
||||
static const char* ToString(Level level);
|
||||
static const char* GetAnsiColor(Level level);
|
||||
static const char *ToString(Level level);
|
||||
static const char *GetAnsiColor(Level level);
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user