add rom filename command line arg LoadFromFile
This commit is contained in:
@@ -190,7 +190,7 @@ void HandleMouseMovement(int &wheel) {
|
|||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
absl::Status Controller::OnEntry() {
|
absl::Status Controller::OnEntry(std::string filename) {
|
||||||
RETURN_IF_ERROR(CreateSDL_Window())
|
RETURN_IF_ERROR(CreateSDL_Window())
|
||||||
RETURN_IF_ERROR(CreateRenderer())
|
RETURN_IF_ERROR(CreateRenderer())
|
||||||
RETURN_IF_ERROR(CreateGuiContext())
|
RETURN_IF_ERROR(CreateGuiContext())
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ namespace core {
|
|||||||
class Controller : public ExperimentFlags {
|
class Controller : public ExperimentFlags {
|
||||||
public:
|
public:
|
||||||
bool IsActive() const { return active_; }
|
bool IsActive() const { return active_; }
|
||||||
absl::Status OnEntry();
|
absl::Status OnEntry(std::string filename = "");
|
||||||
void OnInput();
|
void OnInput();
|
||||||
void OnLoad();
|
void OnLoad();
|
||||||
void DoRender() const;
|
void DoRender() const;
|
||||||
|
|||||||
@@ -122,9 +122,13 @@ using ImGui::Checkbox;
|
|||||||
using ImGui::MenuItem;
|
using ImGui::MenuItem;
|
||||||
using ImGui::Text;
|
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;
|
sdl_renderer_ = renderer;
|
||||||
rom()->SetupRenderer(renderer);
|
rom()->SetupRenderer(renderer);
|
||||||
|
if (!filename.empty()) {
|
||||||
|
rom()->LoadFromFile(filename);
|
||||||
|
}
|
||||||
overworld_editor_.InitializeZeml();
|
overworld_editor_.InitializeZeml();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -58,7 +58,8 @@ class MasterEditor : public SharedRom,
|
|||||||
public:
|
public:
|
||||||
MasterEditor() { current_editor_ = &overworld_editor_; }
|
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();
|
absl::Status Update();
|
||||||
|
|
||||||
void Shutdown() { overworld_editor_.Shutdown(); }
|
void Shutdown() { overworld_editor_.Shutdown(); }
|
||||||
|
|||||||
@@ -25,6 +25,11 @@ int main(int argc, char** argv) {
|
|||||||
options.alarm_on_failure_secs = true;
|
options.alarm_on_failure_secs = true;
|
||||||
absl::InstallFailureSignalHandler(options);
|
absl::InstallFailureSignalHandler(options);
|
||||||
|
|
||||||
|
std::string rom_filename;
|
||||||
|
if (argc > 1) {
|
||||||
|
rom_filename = argv[1];
|
||||||
|
}
|
||||||
|
|
||||||
core::Controller controller;
|
core::Controller controller;
|
||||||
EXIT_IF_ERROR(controller.OnEntry())
|
EXIT_IF_ERROR(controller.OnEntry())
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user