Embed Switch game assets in RomFS

This commit is contained in:
2026-06-09 01:00:20 +08:00
parent b78aaa5cad
commit e8b05e93b9
7 changed files with 72 additions and 73 deletions
+20
View File
@@ -3,7 +3,12 @@
#include <cstdio>
#ifndef __SWITCH__
#define SDL_MAIN_HANDLED
#else
#include <switch.h>
#endif
#include <frostbite2D/core/application.h>
#include <frostbite2D/scene/scene_manager.h>
@@ -11,12 +16,23 @@ int main(int argc, char** argv) {
(void)argc;
(void)argv;
#ifdef __SWITCH__
padConfigureInput(1, HidNpadStyleSet_NpadStandard);
#endif
auto config = frostbite2D::AppConfig::createDefault();
config.appName = "NS Unknown Game";
#ifdef __SWITCH__
config.windowConfig.title = "NS Unknown Game";
config.windowConfig.width = ns_game::config::kVirtualWidth;
config.windowConfig.height = ns_game::config::kVirtualHeight;
config.windowConfig.resizable = false;
#else
config.windowConfig.title = "NS Unknown Game - Whitebox";
config.windowConfig.width = 1280;
config.windowConfig.height = 720;
config.windowConfig.resizable = true;
#endif
config.windowConfig.vsync = true;
config.useVirtualResolution = true;
config.virtualWidth = ns_game::config::kVirtualWidth;
@@ -27,7 +43,11 @@ int main(int argc, char** argv) {
auto& app = frostbite2D::Application::get();
if (!app.init(config)) {
#ifdef __SWITCH__
std::puts("NS Unknown Game Switch init failed.");
#else
std::puts("NS Unknown Game init failed.");
#endif
return 1;
}
-43
View File
@@ -1,43 +0,0 @@
#include "core/game_config.h"
#include "scene/whitebox_scene.h"
#include <cstdio>
#include <frostbite2D/core/application.h>
#include <frostbite2D/scene/scene_manager.h>
#include <switch.h>
int main(int argc, char** argv) {
(void)argc;
(void)argv;
padConfigureInput(1, HidNpadStyleSet_NpadStandard);
auto config = frostbite2D::AppConfig::createDefault();
config.appName = "NS Unknown Game";
config.windowConfig.title = "NS Unknown Game";
config.windowConfig.width = ns_game::config::kVirtualWidth;
config.windowConfig.height = ns_game::config::kVirtualHeight;
config.windowConfig.resizable = false;
config.windowConfig.vsync = true;
config.useVirtualResolution = true;
config.virtualWidth = ns_game::config::kVirtualWidth;
config.virtualHeight = ns_game::config::kVirtualHeight;
config.resolutionMode = frostbite2D::ResolutionScaleMode::Fit;
config.renderStyleProfile = frostbite2D::RenderStyleProfileId::PixelArt2D;
config.maxFps = 60;
auto& app = frostbite2D::Application::get();
if (!app.init(config)) {
std::puts("NS Unknown Game Switch init failed.");
return 1;
}
app.run([]() {
frostbite2D::SceneManager::get().ReplaceScene(
frostbite2D::MakePtr<ns_game::WhiteboxScene>());
});
app.shutdown();
return 0;
}