Add entry point and debug texts
This commit is contained in:
parent
b48df32331
commit
0c0c46e23d
@ -1,12 +1,14 @@
|
||||
# NF library CMakeLists.txt
|
||||
add_library(NothinFancy STATIC "src/Engine.cpp" "src/include/nf.h" "src/pch.h" "src/util.h" "src/util/log.h" "src/util/log.cpp")
|
||||
add_library(NothinFancy STATIC "src/Engine.cpp" "src/include/nf.h" "src/pch.h" "src/util.h" "src/util/log.h" "src/util/log.cpp" "src/include/nf/EngineConfig.h")
|
||||
|
||||
# Use C++20
|
||||
set_property(TARGET NothinFancy PROPERTY CXX_STANDARD 20)
|
||||
|
||||
# Additional include directories
|
||||
target_include_directories(NothinFancy PUBLIC "src" "src/include")
|
||||
|
||||
# Use precompiled header
|
||||
target_precompile_headers(NothinFancy PUBLIC "src/pch.h")
|
||||
target_include_directories(NothinFancy PUBLIC "src/")
|
||||
|
||||
# Generate version.h
|
||||
find_package(Git)
|
||||
|
@ -1,13 +1,22 @@
|
||||
// NF startup
|
||||
#include "pch.h"
|
||||
|
||||
#include "nf/EngineConfig.h"
|
||||
#include "version.h"
|
||||
#include "util.h"
|
||||
|
||||
namespace nf {
|
||||
void startEngine() {
|
||||
NFLog(std::format("Nothin' Fancy {}", NFVERSION));
|
||||
NFError("Test error.");
|
||||
void runEngine(EngineConfig config) {
|
||||
std::string engineStr = std::format("Nothin' Fancy {}", NFVERSION);
|
||||
std::string gameStr = std::format("{} {}", config.appName, config.appVersion);
|
||||
NFLog(engineStr);
|
||||
NFLog(std::format("Starting {}", gameStr));
|
||||
|
||||
#ifdef _DEBUG
|
||||
SetThreadDescription(GetCurrentThread(), L"NF Main Thread");
|
||||
SetConsoleTitle(std::format("{} Debug Console - {}", engineStr, gameStr).c_str());
|
||||
#endif
|
||||
|
||||
std::cin.get();
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,28 @@
|
||||
// NF main public header
|
||||
#pragma once
|
||||
|
||||
#include "nf/EngineConfig.h"
|
||||
|
||||
namespace nf {
|
||||
void startEngine();
|
||||
struct CommandLineArguments {
|
||||
int argc;
|
||||
char** argv;
|
||||
};
|
||||
|
||||
EngineConfig configureEngine(CommandLineArguments cmdArgs);
|
||||
|
||||
void runEngine(EngineConfig config);
|
||||
}
|
||||
|
||||
// NF entry point
|
||||
#ifdef NFENTRY
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
nf::EngineConfig config = nf::configureEngine({ argc, argv });
|
||||
|
||||
nf::runEngine(config);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
14
NothinFancy/src/include/nf/EngineConfig.h
Normal file
14
NothinFancy/src/include/nf/EngineConfig.h
Normal file
@ -0,0 +1,14 @@
|
||||
// EngineConfig struct public header
|
||||
#pragma once
|
||||
|
||||
namespace nf {
|
||||
struct EngineConfig {
|
||||
const char* appName;
|
||||
const char* appVersion;
|
||||
|
||||
EngineConfig()
|
||||
: appName("Nothin' Fancy Game")
|
||||
, appVersion("v0.1.0")
|
||||
{}
|
||||
};
|
||||
}
|
@ -1,7 +1,10 @@
|
||||
// TestGame main file
|
||||
#define NFENTRY
|
||||
#include "nf.h"
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
nf::startEngine();
|
||||
return 0;
|
||||
namespace nf {
|
||||
EngineConfig configureEngine(CommandLineArguments cmdArgs) {
|
||||
EngineConfig config;
|
||||
return config;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user