add rom filename command line arg LoadFromFile
This commit is contained in:
@@ -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())
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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(); }
|
||||
|
||||
@@ -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())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user