From 0727b9a1a8715ef422894da0b56069e3bdb93d03 Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Fri, 6 Dec 2024 23:19:30 -0600 Subject: [PATCH] [jasper/player] Cleanup --- src/jasper/player/app.cpp | 41 ++++++++++++++------------------------- 1 file changed, 15 insertions(+), 26 deletions(-) diff --git a/src/jasper/player/app.cpp b/src/jasper/player/app.cpp index bb81c87..fe96221 100644 --- a/src/jasper/player/app.cpp +++ b/src/jasper/player/app.cpp @@ -15,17 +15,24 @@ namespace ncore = nostalgia::core; -namespace jasper { +using namespace jasper; -ox::Error run(turbine::Context &tctx, ox::StringView, ox::SpanView args) noexcept { +ox::Error run( + ox::StringView project, + [[maybe_unused]] ox::StringView appName, + [[maybe_unused]] ox::StringView projectDataDir, + ox::SpanView args) noexcept { + auto const fsPath = args.size() > 1 ? args[1] : "."; + oxRequireM(tctx, turbine::init(fsPath, project)); + oxRequire(bootfile, keel::readObj(keelCtx(*tctx), "/Bootfile")); oxOut("Jasper Player\n"); - oxRequire(nctx, ncore::init(tctx)); - auto const&worldPath = args[0]; - oxRequire(worldStatic, readObj(keelCtx(tctx), worldPath)); + oxRequire(nctx, ncore::init(*tctx)); + auto const&worldPath = *bootfile->args.at(0).unwrap(); + oxRequire(worldStatic, readObj(keelCtx(*tctx), worldPath)); world::World world(*nctx, *worldStatic); oxReturnError(world.setupDisplay()); - turbine::setApplicationData(tctx, &world); - setUpdateHandler(tctx, [](turbine::Context &tctx) -> int { + turbine::setApplicationData(*tctx, &world); + setUpdateHandler(*tctx, [](turbine::Context &tctx) -> int { auto &world = *applicationData(tctx); auto [sleepTime, err] = world.update(); if (err) { @@ -33,25 +40,7 @@ ox::Error run(turbine::Context &tctx, ox::StringView, ox::SpanView a } return 0; }); - oxReturnError(turbine::run(tctx)); + oxReturnError(turbine::run(*tctx)); oxOut("Exiting...\n"); return {}; } - -} - -ox::Error run( - ox::StringView project, - [[maybe_unused]] ox::StringView appName, - [[maybe_unused]] ox::StringView projectDataDir, - ox::SpanView args) noexcept { - auto path = "."; - if (args.size() > 1) { - path = args[1]; - } - oxRequireM(fs, keel::loadRomFs(path)); - oxRequireM(tctx, turbine::init(std::move(fs), project)); - constexpr ox::FileAddress BootfileAddr = ox::StringLiteral{"/Bootfile"}; - oxRequire(bootfile, keel::readObj(keelCtx(*tctx), BootfileAddr)); - return jasper::run(*tctx, bootfile->app, bootfile->args); -}