Compare commits
No commits in common. "6a579a0512a5514b4f05d2ccf00d41ae58576deb" and "5e76c8a38252d8ae563a808672fed55645c8a765" have entirely different histories.
6a579a0512
...
5e76c8a382
@ -1,37 +0,0 @@
|
|||||||
---
|
|
||||||
BasedOnStyle: "Chromium"
|
|
||||||
Standard: Cpp20
|
|
||||||
|
|
||||||
# I like K&R, fight me
|
|
||||||
IndentWidth: 4
|
|
||||||
TabWidth: 4
|
|
||||||
UseTab: Never
|
|
||||||
AllowShortIfStatementsOnASingleLine: false
|
|
||||||
BreakBeforeBraces: Attach
|
|
||||||
|
|
||||||
BraceWrapping:
|
|
||||||
AfterClass: false
|
|
||||||
AfterControlStatement: false
|
|
||||||
AfterEnum: false
|
|
||||||
AfterFunction: false
|
|
||||||
AfterNamespace: false
|
|
||||||
BeforeCatch: false
|
|
||||||
BeforeElse: false
|
|
||||||
IndentBraces: false
|
|
||||||
|
|
||||||
AllowShortEnumsOnASingleLine: false
|
|
||||||
AlignConsecutiveAssignments: false
|
|
||||||
AlignTrailingComments: true
|
|
||||||
AllowAllParametersOfDeclarationOnNextLine: false
|
|
||||||
AlignAfterOpenBracket: false
|
|
||||||
AllowShortFunctionsOnASingleLine: None
|
|
||||||
AlwaysBreakAfterDefinitionReturnType: None
|
|
||||||
AlwaysBreakBeforeMultilineStrings: false
|
|
||||||
BreakBeforeBinaryOperators: None
|
|
||||||
BreakBeforeTernaryOperators: true
|
|
||||||
PenaltyBreakBeforeFirstCallParameter: 19
|
|
||||||
PenaltyBreakComment: 300
|
|
||||||
PenaltyBreakString: 1000
|
|
||||||
PointerAlignment: Left
|
|
||||||
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
|
||||||
ConstructorInitializerIndentWidth: 4
|
|
32
.clang-tidy
32
.clang-tidy
@ -1,32 +0,0 @@
|
|||||||
---
|
|
||||||
Checks: >
|
|
||||||
-*,
|
|
||||||
readability-*,
|
|
||||||
modernize-*,
|
|
||||||
cppcoreguidelines-*,
|
|
||||||
performance-*,
|
|
||||||
bugprone-*,
|
|
||||||
clang-analyzer-*,
|
|
||||||
misc-*,
|
|
||||||
google-*,
|
|
||||||
cert-*,
|
|
||||||
portability-*,
|
|
||||||
cppcoreguidelines-pro-bounds-array-to-pointer-decay
|
|
||||||
|
|
||||||
WarningsAsErrors: ''
|
|
||||||
HeaderFilterRegex: '.*'
|
|
||||||
FormatStyle: none
|
|
||||||
User: ''
|
|
||||||
CheckOptions:
|
|
||||||
- key: readability-identifier-naming.VariableCase
|
|
||||||
value: lower_case
|
|
||||||
- key: readability-identifier-naming.FunctionCase
|
|
||||||
value: CamelCase
|
|
||||||
- key: modernize-use-auto
|
|
||||||
value: 0
|
|
||||||
- key: modernize-use-nullptr
|
|
||||||
value: 1
|
|
||||||
- key: cppcoreguidelines-non-private-member-variables-in-classes
|
|
||||||
value: 1
|
|
||||||
- key: modernize-use-override
|
|
||||||
value: 1
|
|
@ -1,22 +0,0 @@
|
|||||||
root = true
|
|
||||||
|
|
||||||
# Unix-style newlines with a newline ending every file
|
|
||||||
[*]
|
|
||||||
end_of_line = lf
|
|
||||||
insert_final_newline = true
|
|
||||||
|
|
||||||
[*.cpp]
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 4
|
|
||||||
|
|
||||||
[*.hpp]
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 4
|
|
||||||
|
|
||||||
charset = utf-8
|
|
||||||
|
|
||||||
[Makefile]
|
|
||||||
indent_style = tab
|
|
||||||
|
|
||||||
[*.bin]
|
|
||||||
binary = true
|
|
35
Doxygen
35
Doxygen
@ -1,35 +0,0 @@
|
|||||||
PROJECT_NAME = "ICEngine"
|
|
||||||
PROJECT_NUMBER = "ALPHA-2.0.0"
|
|
||||||
OUTPUT_DIRECTORY = docs-gen
|
|
||||||
EXTRACT_ALL = YES
|
|
||||||
EXTRACT_PRIVATE = NO
|
|
||||||
EXTRACT_STATIC = YES
|
|
||||||
|
|
||||||
INPUT = src/ include/
|
|
||||||
FILE_PATTERNS = *.cpp *.h *.hpp
|
|
||||||
RECURSIVE = YES
|
|
||||||
|
|
||||||
# Default to html
|
|
||||||
GENERATE_HTML = YES
|
|
||||||
GENERATE_LATEX = NO
|
|
||||||
GENERATE_MAN = NO
|
|
||||||
|
|
||||||
INLINE_INHERITED_MEMB = YES
|
|
||||||
FULL_PATH_NAMES = YES
|
|
||||||
|
|
||||||
EXTRACT_NAMESPACE = YES
|
|
||||||
EXTRACT_LOCAL_CLASSES = YES
|
|
||||||
EXTRACT_ANON_NSPACES = NO
|
|
||||||
SHOW_INCLUDE_FILES = YES
|
|
||||||
|
|
||||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
|
||||||
GENERATE_AUTOGEN_DEF = NO
|
|
||||||
|
|
||||||
WARNINGS = YES
|
|
||||||
WARN_IF_UNDOCUMENTED = YES
|
|
||||||
WARN_IF_DOC_ERROR = YES
|
|
||||||
|
|
||||||
SORT_MEMBER_DOCS = YES
|
|
||||||
SORT_GROUP_NAMES = YES
|
|
||||||
|
|
||||||
ENUM_VALUES_PER_LINE = 1
|
|
@ -16,7 +16,7 @@ namespace ICEngine {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ICEApplication::HandleFatalError(const std::string &message) {
|
void ICEApplication::HandleFatalError(const std::string& message) {
|
||||||
if (customHandler) {
|
if (customHandler) {
|
||||||
customHandler(message);
|
customHandler(message);
|
||||||
} else {
|
} else {
|
||||||
@ -24,7 +24,7 @@ namespace ICEngine {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ICEApplication::DefaultTerminationHandler(const std::string &message) {
|
void ICEApplication::DefaultTerminationHandler(const std::string& message) {
|
||||||
Log::GetCoreLogger()->Log(CRITICAL, __FILE__, __LINE__, __FUNCTION__, message);
|
Log::GetCoreLogger()->Log(CRITICAL, __FILE__, __LINE__, __FUNCTION__, message);
|
||||||
std::exit(EXIT_FAILURE);
|
std::exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
@ -33,7 +33,7 @@ namespace ICEngine {
|
|||||||
Log::Init();
|
Log::Init();
|
||||||
CORE_LOG_TRACE("Starting ICEngine");
|
CORE_LOG_TRACE("Starting ICEngine");
|
||||||
|
|
||||||
ICEApplication *app = CreateICEApplication();
|
ICEApplication* app = CreateICEApplication();
|
||||||
if (app) {
|
if (app) {
|
||||||
CORE_LOG_TRACE("Starting User Application");
|
CORE_LOG_TRACE("Starting User Application");
|
||||||
app->Run();
|
app->Run();
|
||||||
|
@ -10,28 +10,23 @@
|
|||||||
namespace ICEngine {
|
namespace ICEngine {
|
||||||
class ICEApplication {
|
class ICEApplication {
|
||||||
public:
|
public:
|
||||||
ICEApplication() {
|
ICEApplication() {}
|
||||||
}
|
virtual ~ICEApplication() {}
|
||||||
|
|
||||||
virtual ~ICEApplication() {
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void Run() = 0;
|
virtual void Run() = 0;
|
||||||
|
|
||||||
using TerminationHandler = std::function<void(const std::string &)>;
|
using TerminationHandler = std::function<void(const std::string&)>;
|
||||||
|
|
||||||
static void SetTerminationHandler(TerminationHandler handler);
|
static void SetTerminationHandler(TerminationHandler handler);
|
||||||
|
static void HandleFatalError(const std::string& message);
|
||||||
static void HandleFatalError(const std::string &message);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static TerminationHandler customHandler;
|
static TerminationHandler customHandler;
|
||||||
|
static void DefaultTerminationHandler(const std::string& message);
|
||||||
static void DefaultTerminationHandler(const std::string &message);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void StartApplication();
|
void StartApplication();
|
||||||
|
|
||||||
// Application-specific function that will be defined by the user
|
// Application-specific function that will be defined by the user
|
||||||
extern ICEApplication *CreateICEApplication();
|
extern ICEApplication* CreateICEApplication();
|
||||||
}
|
}
|
||||||
|
3
engine/src/core/test.cpp
Normal file
3
engine/src/core/test.cpp
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
//
|
||||||
|
// Created by illyum on 9/15/2024.
|
||||||
|
//
|
@ -8,10 +8,7 @@
|
|||||||
|
|
||||||
namespace Platform {
|
namespace Platform {
|
||||||
void ShowPopup(const char *message);
|
void ShowPopup(const char *message);
|
||||||
|
|
||||||
void ShowPopup(const char *title, const char *message);
|
void ShowPopup(const char *title, const char *message);
|
||||||
|
|
||||||
void ShowPopup(const std::string &message);
|
void ShowPopup(const std::string &message);
|
||||||
|
|
||||||
void ShowPopup(const std::string &title, const std::string &message);
|
void ShowPopup(const std::string &title, const std::string &message);
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,7 @@
|
|||||||
#include <src/platform/Platform.hpp>
|
#include <src/platform/Platform.hpp>
|
||||||
|
|
||||||
void ShowLogger();
|
void ShowLogger();
|
||||||
|
void CustomTermHandler(const std::string& message);
|
||||||
void CustomTermHandler(const std::string &message);
|
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
// You can set a custom termination handler/function.
|
// You can set a custom termination handler/function.
|
||||||
@ -45,14 +44,14 @@ void ShowLogger() {
|
|||||||
|
|
||||||
// You can have multiple log streams, ie console + file etc
|
// You can have multiple log streams, ie console + file etc
|
||||||
// You do not need to have the same streams for each logger
|
// You do not need to have the same streams for each logger
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
// Create file streams and transfer ownership to the logger
|
// Create file streams and transfer ownership to the logger
|
||||||
// You need to create a unique pointer, because the logger will
|
// You need to create a unique pointer, because the logger will
|
||||||
// take ownership of the streams and clean them up when the app
|
// take ownership of the streams and clean them up when the app
|
||||||
// is complete
|
// is complete
|
||||||
ICEngine::Log::GetCoreLogger()->AddSink(std::make_shared<ICEngine::FileSink>("core_logs.txt"));
|
ICEngine::Log::GetCoreLogger()->AddSink(std::make_shared<ICEngine::FileSink>("core_logs.txt"));
|
||||||
ICEngine::Log::GetCoreLogger()->AddSink(std::make_shared<ICEngine::ConsoleSink>());
|
ICEngine::Log::GetCoreLogger()->AddSink(std::make_shared<ICEngine::ConsoleSink>());
|
||||||
|
|
||||||
ICEngine::Log::GetAppLogger()->AddSink(std::make_shared<ICEngine::FileSink>("app_logs.txt"));
|
ICEngine::Log::GetAppLogger()->AddSink(std::make_shared<ICEngine::FileSink>("app_logs.txt"));
|
||||||
ICEngine::Log::GetAppLogger()->AddSink(std::make_shared<ICEngine::ConsoleSink>());
|
ICEngine::Log::GetAppLogger()->AddSink(std::make_shared<ICEngine::ConsoleSink>());
|
||||||
|
|
||||||
@ -63,16 +62,11 @@ void ShowLogger() {
|
|||||||
// CORE logger is intended for internal engine or core-level logging
|
// CORE logger is intended for internal engine or core-level logging
|
||||||
// In most cases, you won't need to use CORE logging in game/application code,
|
// In most cases, you won't need to use CORE logging in game/application code,
|
||||||
// but it's available for engine-level diagnostics if necessary
|
// but it's available for engine-level diagnostics if necessary
|
||||||
CORE_LOG_TRACE("Initializing {} with age {}", module, age);
|
CORE_LOG_TRACE("Initializing {} with age {}", module, age); // Logs a trace-level message, useful for very detailed information
|
||||||
// Logs a trace-level message, useful for very detailed information
|
CORE_LOG_DEBUG("This is an example of a debug message"); // Logs a debug message, typically used for debugging purposes
|
||||||
CORE_LOG_DEBUG("This is an example of a debug message");
|
CORE_LOG_WARN("This is an example of a warn message"); // Logs a warning, indicating a non-critical issue that should be investigated
|
||||||
// Logs a debug message, typically used for debugging purposes
|
CORE_LOG_ERROR("This is an example of an error message"); // Logs an error, signaling that something has gone wrong but the engine can still run
|
||||||
CORE_LOG_WARN("This is an example of a warn message");
|
CORE_LOG_CRITICAL("This is an example of a critical message"); // Logs a critical issue, often indicating a major problem in the core system that needs immediate attention.
|
||||||
// Logs a warning, indicating a non-critical issue that should be investigated
|
|
||||||
CORE_LOG_ERROR("This is an example of an error message");
|
|
||||||
// Logs an error, signaling that something has gone wrong but the engine can still run
|
|
||||||
CORE_LOG_CRITICAL("This is an example of a critical message");
|
|
||||||
// Logs a critical issue, often indicating a major problem in the core system that needs immediate attention.
|
|
||||||
// CORE_LOG_FATAL: Logs a fatal error that crashes the application. Fatal errors in the core usually lead to dumping information into crash logs
|
// CORE_LOG_FATAL: Logs a fatal error that crashes the application. Fatal errors in the core usually lead to dumping information into crash logs
|
||||||
// and stopping the program. Use with extreme caution and only in situations where the application can't recover
|
// and stopping the program. Use with extreme caution and only in situations where the application can't recover
|
||||||
// CORE_LOG_FATAL("This is an example of a fatal message");
|
// CORE_LOG_FATAL("This is an example of a fatal message");
|
||||||
@ -80,23 +74,18 @@ void ShowLogger() {
|
|||||||
|
|
||||||
// These macros are designed for logging from your game or application code
|
// These macros are designed for logging from your game or application code
|
||||||
// They allow you to monitor application flow, errors, and warnings from the perspective of the game logic or app layer
|
// They allow you to monitor application flow, errors, and warnings from the perspective of the game logic or app layer
|
||||||
LOG_TRACE("App took longer to respond than expected: {} seconds", 2.34);
|
LOG_TRACE("App took longer to respond than expected: {} seconds", 2.34); // Logs a trace message, ideal for fine-grained, verbose debugging details
|
||||||
// Logs a trace message, ideal for fine-grained, verbose debugging details
|
LOG_DEBUG("This is an example of a debug message"); // Logs a debug message, typically used to help trace the execution during development
|
||||||
LOG_DEBUG("This is an example of a debug message");
|
LOG_WARN("This is an example of a warn message"); // Logs a warning, indicating something unexpected happened, but the application can continue running
|
||||||
// Logs a debug message, typically used to help trace the execution during development
|
LOG_ERROR("This is an example of an error message"); // Logs an error, signaling that an issue occurred that may require attention but is not catastrophic
|
||||||
LOG_WARN("This is an example of a warn message");
|
LOG_CRITICAL("This is an example of a critical message"); // Logs a critical message, suggesting something very wrong happened, but the program may still attempt to run
|
||||||
// Logs a warning, indicating something unexpected happened, but the application can continue running
|
|
||||||
LOG_ERROR("This is an example of an error message");
|
|
||||||
// Logs an error, signaling that an issue occurred that may require attention but is not catastrophic
|
|
||||||
LOG_CRITICAL("This is an example of a critical message");
|
|
||||||
// Logs a critical message, suggesting something very wrong happened, but the program may still attempt to run
|
|
||||||
|
|
||||||
// LOG_FATAL: Logs a fatal error in the application layer. This will trigger the Fatal Handler, which you can override
|
// LOG_FATAL: Logs a fatal error in the application layer. This will trigger the Fatal Handler, which you can override
|
||||||
// The Fatal Handler provides a mechanism for handling unrecoverable errors gracefully, allowing you to define how the application reacts to fatal crashes
|
// The Fatal Handler provides a mechanism for handling unrecoverable errors gracefully, allowing you to define how the application reacts to fatal crashes
|
||||||
// LOG_FATAL("This is an example of log fatal crash!");
|
// LOG_FATAL("This is an example of log fatal crash!");
|
||||||
}
|
}
|
||||||
|
|
||||||
void CustomTermHandler(const std::string &message) {
|
void CustomTermHandler(const std::string& message) {
|
||||||
// Perform any other task here, like showing a popup warning indicating something crashed
|
// Perform any other task here, like showing a popup warning indicating something crashed
|
||||||
Platform::ShowPopup("Demo App", message);
|
Platform::ShowPopup("Demo App", message);
|
||||||
// You don't have to specify a title, it will default to ICEngine
|
// You don't have to specify a title, it will default to ICEngine
|
||||||
@ -114,6 +103,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
ICEngine::ICEApplication *ICEngine::CreateICEApplication() {
|
ICEngine::ICEApplication* ICEngine::CreateICEApplication() {
|
||||||
return new DemoApp();
|
return new DemoApp();
|
||||||
}
|
}
|
||||||
|
@ -5,4 +5,5 @@
|
|||||||
#include <ICEngine.hpp>
|
#include <ICEngine.hpp>
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
}
|
|
||||||
|
}
|
@ -1,3 +0,0 @@
|
|||||||
mkdir build-vs
|
|
||||||
cd build-vs
|
|
||||||
cmake -G "Visual Studio 17 2022" ..
|
|
Loading…
x
Reference in New Issue
Block a user