a75c4a11 [nfde] Address CMake warning, remove unwanted logging 347a1657 [sample_project] Update type descriptors fd64bfae [keel] Fix a use after free, cleanup aaeec20a [nostalgia/player] Fix build 37030f9c [keel] Cleanup pack tool 462f2bca [nostalgia,olympic] Change macro names to comply with broader conventions dc72500b [glutils] Change macro names to comply with broader conventions 962fe8bc [ox] Change macro names to comply with broader conventions 305eb626 [studio] Fix build 4754359a [ox/std] Cleanup Vec2 dc07f3d5 [studio] Change FilePicker consturctor to take StringParams fcdcfd10 [ox/std] Run liccor b74f6a7a [studio,turbine] Run liccor ac7e5be1 [ox] Remove OxException ed910c0b [nostalgia/core/studio/tilesheeteditor] Fix access overflow on out of bounds Fill command 345fb038 [ox] Remove OxError 9881253f [glutils] Cleanup OxError 96d27eec [nostalgia,olympic] Cleanup 28ebe93b [ox/std] Make source_location::current only init if valid e849e7a3 [ox/std] Add source_location e6777b0a [cityhash] Add install rule c488c336 [turbine/glfw] Fix mandatoryRefreshPeriodEnd tracking 003f9720 [turbine/glfw] Move MandatoryRefreshPeriod to config.hpp d85a10af [nostalgia/core/studio] Cleanup ff05d860 [turbine/glfw] Replace uninterruptedRefreshes with mandatoryRefreshPeriodEnd 76794037 [turbine] Add init wrapper that takes FS path c51a45e1 [olympic] Cleanup a6e24ff2 [ox/std] Add CString type alias e0ec9e0c [nostalgia,olympic] Move olympic::run to global namespace 9a42a9b9 [nfde] Fix Windows warnings 03a05c51 Merge commit '4ccdfc3a6e5bd501968903a01f7d8141b6f88375' bd91137d [nostalgia,olympic] Fix pack tool build for Windows 2b7d1294 [nostalgia/core/studio] Fix MSVC build git-subtree-dir: deps/nostalgia git-subtree-split: a75c4a11d3c555f4d3bed1ea1f70bb29fe49e99c
80 lines
1.8 KiB
C++
80 lines
1.8 KiB
C++
/*
|
|
* Copyright 2016 - 2024 Gary Talent (gary@drinkingtea.net). All rights reserved.
|
|
*/
|
|
|
|
#include <ox/logconn/def.hpp>
|
|
#include <ox/logconn/logconn.hpp>
|
|
|
|
#ifndef OLYMPIC_PROJECT_NAME
|
|
#define OLYMPIC_PROJECT_NAME "OlympicProject"
|
|
#endif
|
|
|
|
#ifndef OLYMPIC_APP_NAME
|
|
#define OLYMPIC_APP_NAME "App"
|
|
#endif
|
|
|
|
#ifndef OLYMPIC_APP_VERSION
|
|
#define OLYMPIC_APP_VERSION "dev build"
|
|
#endif
|
|
|
|
#ifndef OLYMPIC_GUI_APP
|
|
#define OLYMPIC_GUI_APP 0
|
|
#endif
|
|
|
|
#ifndef OLYMPIC_PROJECT_NAMESPACE
|
|
#define OLYMPIC_PROJECT_NAMESPACE project
|
|
#endif
|
|
|
|
#ifndef OLYMPIC_PROJECT_DATADIR
|
|
#define OLYMPIC_PROJECT_DATADIR ".keel"
|
|
#endif
|
|
|
|
#ifndef OLYMPIC_LOAD_KEEL_MODULES
|
|
#define OLYMPIC_LOAD_KEEL_MODULES 1
|
|
#endif
|
|
|
|
#ifndef OLYMPIC_LOAD_STUDIO_MODULES
|
|
#define OLYMPIC_LOAD_STUDIO_MODULES 0
|
|
#endif
|
|
|
|
namespace olympic {
|
|
ox::String appVersion = ox::String(OLYMPIC_APP_VERSION);
|
|
}
|
|
|
|
ox::Error run(
|
|
ox::StringView project,
|
|
ox::StringView appName,
|
|
ox::StringView projectDataDir,
|
|
ox::SpanView<ox::CString> argv) noexcept;
|
|
|
|
namespace OLYMPIC_PROJECT_NAMESPACE {
|
|
void registerKeelModules() noexcept;
|
|
void registerStudioModules() noexcept;
|
|
}
|
|
|
|
#if defined(_WIN32) && OLYMPIC_GUI_APP
|
|
int WinMain() {
|
|
auto const argc = __argc;
|
|
auto const argv = const_cast<const char**>(__argv);
|
|
#else
|
|
int main(int argc, char const**argv) {
|
|
#endif
|
|
OX_INIT_DEBUG_LOGGER(loggerConn, OLYMPIC_PROJECT_NAME " " OLYMPIC_APP_NAME)
|
|
#if OLYMPIC_LOAD_KEEL_MODULES
|
|
OLYMPIC_PROJECT_NAMESPACE::registerKeelModules();
|
|
#endif
|
|
#if OLYMPIC_LOAD_STUDIO_MODULES
|
|
OLYMPIC_PROJECT_NAMESPACE::registerStudioModules();
|
|
#endif
|
|
auto const err = run(
|
|
OLYMPIC_PROJECT_NAME,
|
|
OLYMPIC_APP_NAME,
|
|
OLYMPIC_PROJECT_DATADIR,
|
|
{argv, static_cast<size_t>(argc)});
|
|
oxAssert(err, "Something went wrong...");
|
|
if (err) {
|
|
oxErrf("Failure: {}\n", toStr(err));
|
|
}
|
|
return static_cast<int>(err);
|
|
}
|