add rom filename command line arg LoadFromFile

This commit is contained in:
scawful
2024-05-28 13:04:39 -04:00
parent cc80e5e502
commit a9787b7055
5 changed files with 14 additions and 4 deletions

View File

@@ -190,7 +190,7 @@ void HandleMouseMovement(int &wheel) {
} // namespace
absl::Status Controller::OnEntry() {
absl::Status Controller::OnEntry(std::string filename) {
RETURN_IF_ERROR(CreateSDL_Window())
RETURN_IF_ERROR(CreateRenderer())
RETURN_IF_ERROR(CreateGuiContext())

View File

@@ -31,7 +31,7 @@ namespace core {
class Controller : public ExperimentFlags {
public:
bool IsActive() const { return active_; }
absl::Status OnEntry();
absl::Status OnEntry(std::string filename = "");
void OnInput();
void OnLoad();
void DoRender() const;

View File

@@ -122,9 +122,13 @@ using ImGui::Checkbox;
using ImGui::MenuItem;
using ImGui::Text;
void MasterEditor::SetupScreen(std::shared_ptr<SDL_Renderer> renderer) {
void MasterEditor::SetupScreen(std::shared_ptr<SDL_Renderer> renderer,
std::string filename) {
sdl_renderer_ = renderer;
rom()->SetupRenderer(renderer);
if (!filename.empty()) {
rom()->LoadFromFile(filename);
}
overworld_editor_.InitializeZeml();
}

View File

@@ -58,7 +58,8 @@ class MasterEditor : public SharedRom,
public:
MasterEditor() { current_editor_ = &overworld_editor_; }
void SetupScreen(std::shared_ptr<SDL_Renderer> renderer);
void SetupScreen(std::shared_ptr<SDL_Renderer> renderer,
std::string filename = "");
absl::Status Update();
void Shutdown() { overworld_editor_.Shutdown(); }

View File

@@ -25,6 +25,11 @@ int main(int argc, char** argv) {
options.alarm_on_failure_secs = true;
absl::InstallFailureSignalHandler(options);
std::string rom_filename;
if (argc > 1) {
rom_filename = argv[1];
}
core::Controller controller;
EXIT_IF_ERROR(controller.OnEntry())