Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggestion: add option to automatically reload changed resources #341

Open
9Morello opened this issue Jan 29, 2018 · 1 comment

Comments

Projects
None yet
2 participants
@9Morello
Copy link

commented Jan 29, 2018

If I'm using an external editor with LateralGM and make changes to my project, I need to close it and load it again for the changes to appear.

This completely breaks workflow with GMEdit, a fantastic code editor for Game Maker projects. So, I suggest an option similar to Game Maker: Studio's "Always reload changed files" feature.

@RobertBColton

This comment has been minimized.

Copy link
Collaborator

commented Feb 4, 2018

Ok, so I was going to close this as impossible with the LGM architecture, but it would actually be possible to achieve this. However, I think it would be a complete nightmare to do because of the threading and concurrency issues with LGM.

So, because LGM supports GMK, it loads the entire project up front. This behavior was copied for the GMX reader when I wrote it. This allows lossless conversion of GM projects using LGM, which is LGM's primary goal being a GM IDE, not an ENIGMA IDE. So, the way to do this with LGM would probably be a complete rewrite of the GMX reader, which I started with #334. However, you would need to go farther than that pull request and extend the GMX reader to not load the metadata or use a regular ResNode for the tree. It should make a custom FileNode that extends ResNode and will lazy load the resource as it is requested.

Using this strategy LGM would then load GMK files all at once at start and it would lazy load GMX files. But then saving the projects would get extremely more complicated as would loading one format and saving as another. That said, I have no plans to work on this, but the suggestion can remain.

RobertBColton added a commit that referenced this issue May 4, 2019

Cleanup GMX Tree Writing (#414)
When I first added the GMX writer, I had duplicated the recursive logic to each resource type. That's unnecessary and I've now refactored it into a single `writeTree` helper. Now that each resource has its own write method, it would be much easier to do #341 and similar export/import features.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.