Add entry point and debug texts
This commit is contained in:
parent
b48df32331
commit
0c0c46e23d
@ -1,12 +1,14 @@
|
|||||||
# NF library CMakeLists.txt
|
# 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
|
# Use C++20
|
||||||
set_property(TARGET NothinFancy PROPERTY CXX_STANDARD 20)
|
set_property(TARGET NothinFancy PROPERTY CXX_STANDARD 20)
|
||||||
|
|
||||||
|
# Additional include directories
|
||||||
|
target_include_directories(NothinFancy PUBLIC "src" "src/include")
|
||||||
|
|
||||||
# Use precompiled header
|
# Use precompiled header
|
||||||
target_precompile_headers(NothinFancy PUBLIC "src/pch.h")
|
target_precompile_headers(NothinFancy PUBLIC "src/pch.h")
|
||||||
target_include_directories(NothinFancy PUBLIC "src/")
|
|
||||||
|
|
||||||
# Generate version.h
|
# Generate version.h
|
||||||
find_package(Git)
|
find_package(Git)
|
||||||
|
@ -1,13 +1,22 @@
|
|||||||
// NF startup
|
// NF startup
|
||||||
#include "pch.h"
|
#include "pch.h"
|
||||||
|
|
||||||
|
#include "nf/EngineConfig.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
namespace nf {
|
namespace nf {
|
||||||
void startEngine() {
|
void runEngine(EngineConfig config) {
|
||||||
NFLog(std::format("Nothin' Fancy {}", NFVERSION));
|
std::string engineStr = std::format("Nothin' Fancy {}", NFVERSION);
|
||||||
NFError("Test error.");
|
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();
|
std::cin.get();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,28 @@
|
|||||||
// NF main public header
|
// NF main public header
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "nf/EngineConfig.h"
|
||||||
|
|
||||||
namespace nf {
|
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
|
// TestGame main file
|
||||||
|
#define NFENTRY
|
||||||
#include "nf.h"
|
#include "nf.h"
|
||||||
|
|
||||||
int main(int argc, char* argv[]) {
|
namespace nf {
|
||||||
nf::startEngine();
|
EngineConfig configureEngine(CommandLineArguments cmdArgs) {
|
||||||
return 0;
|
EngineConfig config;
|
||||||
|
return config;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user