mirror of
https://github.com/celisej567/mcpe.git
synced 2025-12-31 17:49:17 +03:00
* Output/Logging Overhaul * Added StandardOut class * Renamed LOGX macros to LOG_X * Removed LogMsg macros in favor of LOG_X * Added console window for debug Windows builds * Options Refactor * Moved options loading code from AppPlatform classes to Options class * Added AppPlatform::singleton() * Minecraft::m_options is now only accessible via Minecraft::getOptions() (as it should be) * Making this work with SDL2 next * Options Cleanup for SDL2 * Added AppPlatform::hasFileSystemAccess() * Options won't try to load if hasFileSystemAccess returns false. Emscripten build will be happy. --------- Co-authored-by: Brent Da Mage <BrentDaMage@users.noreply.github.com>
38 lines
876 B
C++
38 lines
876 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
|
|
class StandardOut
|
|
{
|
|
public:
|
|
static StandardOut* const singleton();
|
|
|
|
void print(const char* const str);
|
|
void print(std::string str);
|
|
void vprintf(const char* const fmt, va_list argPtr);
|
|
void printf(const char* const fmt, ...);
|
|
};
|
|
|
|
#ifdef _DEBUG
|
|
|
|
#define LOG(...) StandardOut::singleton()->printf(__VA_ARGS__)
|
|
|
|
#ifdef PLATFORM_ANDROID
|
|
#define LOG_I(...) __android_log_print(ANDROID_LOG_INFO, "MinecraftPE", __VA_ARGS__)
|
|
#define LOG_W(...) __android_log_print(ANDROID_LOG_WARN, "MinecraftPE", __VA_ARGS__)
|
|
#define LOG_E(...) __android_log_print(ANDROID_LOG_ERROR, "MinecraftPE", __VA_ARGS__)
|
|
#else
|
|
#define LOG_I(...) LOG("[Info]: " __VA_ARGS__)
|
|
#define LOG_W(...) LOG("[WARN]: " __VA_ARGS__)
|
|
#define LOG_E(...) LOG("[ERROR]: " __VA_ARGS__)
|
|
#endif
|
|
|
|
#else
|
|
|
|
#define LOG(...)
|
|
#define LOG_I(...)
|
|
#define LOG_W(...)
|
|
#define LOG_E(...)
|
|
|
|
#endif
|