[jasper/player] Rename player from jasper to Jasper, add quit shortcut in debug builds
This commit is contained in:
parent
2cf6e48a73
commit
0ae3adc7c7
15
Makefile
15
Makefile
@ -5,28 +5,31 @@ GBABUILDCORE_PATH=deps/nostalgia/deps/gbabuildcore
|
|||||||
include ${BUILDCORE_PATH}/base.mk
|
include ${BUILDCORE_PATH}/base.mk
|
||||||
|
|
||||||
ifeq ($(BC_VAR_OS),darwin)
|
ifeq ($(BC_VAR_OS),darwin)
|
||||||
PROJECT_PLAYER=./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME}.app/Contents/MacOS/${BC_VAR_PROJECT_NAME}
|
PROJECT_PLAYER=./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME_CAP}.app/Contents/MacOS/${BC_VAR_PROJECT_NAME}
|
||||||
PROJECT_STUDIO=./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME}Studio.app/Contents/MacOS/${BC_VAR_PROJECT_NAME_CAP}Studio
|
PROJECT_STUDIO=./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME_CAP}Studio.app/Contents/MacOS/${BC_VAR_PROJECT_NAME_CAP}Studio
|
||||||
MGBA=/Applications/mGBA.app/Contents/MacOS/mGBA
|
MGBA=/Applications/mGBA.app/Contents/MacOS/mGBA
|
||||||
else
|
else
|
||||||
PROJECT_PLAYER=./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME}
|
PROJECT_PLAYER=./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME_CAP}
|
||||||
PROJECT_STUDIO=./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME_CAP}Studio
|
PROJECT_STUDIO=./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME_CAP}Studio
|
||||||
MGBA=mgba-qt
|
MGBA=mgba-qt
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.PHONY: pkg-gba
|
.PHONY: pkg-gba
|
||||||
pkg-gba: build
|
pkg-gba: build
|
||||||
${BC_CMD_ENVRUN} ${BC_PY3} ./deps/nostalgia/scripts/pkg-gba.py project ${BC_VAR_PROJECT_NAME}
|
${BC_CMD_ENVRUN} ${BC_PY3} ./deps/nostalgia/util/scripts/pkg-gba.py project ${BC_VAR_PROJECT_NAME_CAP}
|
||||||
|
|
||||||
|
.PHONY: build-player
|
||||||
|
build-player:
|
||||||
|
${BC_CMD_CMAKE_BUILD} ${BC_VAR_BUILD_PATH} ${BC_VAR_PROJECT_NAME_CAP}
|
||||||
.PHONY: run
|
.PHONY: run
|
||||||
run: build
|
run: build-player
|
||||||
${PROJECT_PLAYER} project
|
${PROJECT_PLAYER} project
|
||||||
.PHONY: run-studio
|
.PHONY: run-studio
|
||||||
run-studio: build
|
run-studio: build
|
||||||
${PROJECT_STUDIO}
|
${PROJECT_STUDIO}
|
||||||
.PHONY: gba-run
|
.PHONY: gba-run
|
||||||
gba-run: pkg-gba
|
gba-run: pkg-gba
|
||||||
${MGBA} ${BC_VAR_PROJECT_NAME}.gba
|
${MGBA} ${BC_VAR_PROJECT_NAME_CAP}.gba
|
||||||
.PHONY: debug
|
.PHONY: debug
|
||||||
debug: build
|
debug: build
|
||||||
${BC_CMD_HOST_DEBUGGER} ${PROJECT_PLAYER} project
|
${BC_CMD_HOST_DEBUGGER} ${PROJECT_PLAYER} project
|
||||||
|
@ -1,33 +1,33 @@
|
|||||||
add_executable(
|
add_executable(
|
||||||
jasper WIN32 MACOSX_BUNDLE
|
Jasper WIN32 MACOSX_BUNDLE
|
||||||
app.cpp
|
app.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
if(BUILDCORE_TARGET STREQUAL "gba")
|
if(BUILDCORE_TARGET STREQUAL "gba")
|
||||||
set(LOAD_KEEL_MODS FALSE)
|
set(LOAD_KEEL_MODS FALSE)
|
||||||
set_target_properties(jasper
|
set_target_properties(Jasper
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
LINK_FLAGS ${LINKER_FLAGS}
|
LINK_FLAGS ${LINKER_FLAGS}
|
||||||
COMPILER_FLAGS "-mthumb -mthumb-interwork"
|
COMPILER_FLAGS "-mthumb -mthumb-interwork"
|
||||||
)
|
)
|
||||||
OBJCOPY_FILE(jasper)
|
OBJCOPY_FILE(Jasper)
|
||||||
else()
|
else()
|
||||||
set(LOAD_KEEL_MODS TRUE)
|
set(LOAD_KEEL_MODS TRUE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_compile_definitions(
|
target_compile_definitions(
|
||||||
jasper PRIVATE
|
Jasper PRIVATE
|
||||||
OLYMPIC_LOAD_KEEL_MODULES=$<BOOL:${LOAD_KEEL_MODS}>
|
OLYMPIC_LOAD_KEEL_MODULES=$<BOOL:${LOAD_KEEL_MODS}>
|
||||||
OLYMPIC_GUI_APP=1
|
OLYMPIC_GUI_APP=1
|
||||||
)
|
)
|
||||||
|
|
||||||
# enable LTO
|
# enable LTO
|
||||||
if(NOT WIN32)
|
if(NOT WIN32)
|
||||||
set_property(TARGET jasper PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
|
set_property(TARGET Jasper PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(
|
target_link_libraries(
|
||||||
jasper PUBLIC
|
Jasper PUBLIC
|
||||||
JasperProfile
|
JasperProfile
|
||||||
JasperKeelModules
|
JasperKeelModules
|
||||||
OlympicApplib
|
OlympicApplib
|
||||||
|
@ -24,14 +24,23 @@ ox::Error run(
|
|||||||
ox::SpanView<ox::CString> args) noexcept {
|
ox::SpanView<ox::CString> args) noexcept {
|
||||||
auto const fsPath = args.size() > 1 ? args[1] : ".";
|
auto const fsPath = args.size() > 1 ? args[1] : ".";
|
||||||
OX_REQUIRE_M(tctx, turbine::init(fsPath, project));
|
OX_REQUIRE_M(tctx, turbine::init(fsPath, project));
|
||||||
OX_REQUIRE(bootfile, keel::readObj<jasper::core::Bootfile>(keelCtx(*tctx), "/Bootfile"));
|
auto &kctx = keelCtx(*tctx);
|
||||||
|
OX_REQUIRE(bootfile, keel::readObj<jasper::core::Bootfile>(kctx, "/Bootfile"));
|
||||||
oxOut("Jasper Player\n");
|
oxOut("Jasper Player\n");
|
||||||
OX_REQUIRE(nctx, ncore::init(*tctx));
|
OX_REQUIRE(nctx, ncore::init(*tctx));
|
||||||
auto const&worldPath = *bootfile->args.at(0).unwrap();
|
auto const&worldPath = *bootfile->args.at(0).unwrap();
|
||||||
OX_REQUIRE(worldStatic, readObj<world::WorldStatic>(keelCtx(*tctx), worldPath));
|
OX_REQUIRE(worldStatic, readObj<world::WorldStatic>(kctx, worldPath));
|
||||||
world::World world(*nctx, *worldStatic);
|
world::World world(*nctx, *worldStatic);
|
||||||
OX_RETURN_ERROR(world.setupDisplay());
|
OX_RETURN_ERROR(world.setupDisplay());
|
||||||
turbine::setApplicationData(*tctx, &world);
|
turbine::setApplicationData(*tctx, &world);
|
||||||
|
if constexpr(ox::defines::Debug) {
|
||||||
|
turbine::setKeyEventHandler(*tctx, [](
|
||||||
|
turbine::Context &tctx, turbine::Key const key, bool const down) {
|
||||||
|
if (down && key == turbine::Key::Alpha_Q) {
|
||||||
|
turbine::requestShutdown(tctx);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
setUpdateHandler(*tctx, [](turbine::Context &tctx) -> int {
|
setUpdateHandler(*tctx, [](turbine::Context &tctx) -> int {
|
||||||
auto &world = *applicationData<world::World>(tctx);
|
auto &world = *applicationData<world::World>(tctx);
|
||||||
auto [sleepTime, err] = world.update();
|
auto [sleepTime, err] = world.update();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user