I've been kind of irritated by the fact that GM has no real good support for merging / managing multiple modules in 1 project (see topic). The moment I really missed this, was when I tried to combine GMHydra and GMOculus.
Now, a few things I really wanted:
- Use version control
- Combine submodules using version control, or something like composer.
- Update a submodule idependently from the main project
- Remove / add submodules without hassle
- Use all the submodule assets in my project (constants, sprites, shaders, scripts) - WHILE maintaining the whole directory structure (you've ever exported / imported 1000 scripts? Yeah.)
- Make it recursive! (modules in modules in modules in modules in modules....)
- Make it portable. People shouldn't need the application to use the generated game files!
So, I've been working on my very own (open sourced) version of submodule support in game-maker that accomplishes all the above statements. I've tried VB first, but that was kinda crappy. I'm rather good with PHP, so decided to make a CLI app in PHP. This has a few advantages but also some disadvantages... But lets skip that for now, on to the features!
Combine all your projects';
- Time lines
- Included Files
While keeping the structure of your submodule, and the ability to install, uninstall, and synchronize your game.
PLEASE NOTE: This is an early development version. Allthough it works, there might be a lot of bugs involved. ALSO: This version only supports GM:S! Sorry.
Also check the warning at the bottom of the page!
Repository on GitHub (includes readme)
Installation of GMModular
How does this work?
I'll try to keep the todo list up to date in the github repository -> https://github.com/R...MModular/issues
Find an issue? Report it there. Want to fix an issue? Fork the software, try to fix it, and create a pull-request. Your help will be greatly appreciated!
As this script edits your main project, just be sure to ALWAYS HAVE A BACKUP. This software creates a backup once it writes to the project file, but may MESS UP AND/OR DELETE GAME ASSETS. Using version control software is the best way. The other way is to copy your project to DropBox, USB, DVD, CD, 3,5" floppies, Tape, ZIP-Drive... or whatever you'd like.
Just be aware that this script MAY NOT be fault-proof and MAY mess up your project. May this ever happen, please leave an issue in the issuetracker. Just for you americans out there: I can not be held responsible for any damage done to your project or PC or peripheral devices or your cat, maybe your mom or that one weird guy that you sometimes see at the mall, by this software.
Edited by blackhawkrobbo, 19 April 2014 - 04:12 PM.