Language…
5 users online: ezdeez85, GRIMMKIN,  Nanako,  Segment1Zone2, toady - Guests: 237 - Bots: 299
Users: 64,795 (2,375 active)
Latest user: mathew

Using Version Control for SMW Hacking?

I still remember when I make my SMW Hack in early days, I always fear about my ROM will be corrupted unexpectly. So, I made countless backups, and that's pretty inefficient.

Nowadays, when I using version controlling programs (like Git) frequently in my coding projects, I think it should be possible to do the same thing in SMW Hacking.

I already noticed SMWCP2 already using Git to manage versions of the project, but it seems not that perfect:

1. Lots of files are in binary format. For example, Git is mostly designed for projects with mostly text files, and it makes Git works inefficiently, and cause .git folder unnecessary huge. Here is a bad example. Git-LFS seems to be a better solution, though.

2. We need a standard directory structure. You see, C++, Java, Node.js, etc. already have conventional convention of project directory structure, but SMW Hacking dosen't. Though it doesn't seems a big deal for private SMW Hacking projects, conventional convention of directory structure would make other people works with you easier (especially for collab hacks).

3. It would be better if we have fully automated way for building ROMs. For example, we can use a script file to insert everything (.mwl, .map16, ExGFXxx.bin, .asm, etc.) into the ROM just like what Makefile or webpack.conf.js does, then get a fully-working ROM file. Projects like SMWCP2 can even setup a CI for generating latest BPS patch automatically. Though Lunar Magic 3.0+ supports a limited number of command line functions, it seems not really enough for that. Since Lunar Magic is not open-source and acts like a black box, it seems not that possible at all and can be considered at very last.
Using version control seems to be a good idea, though. Whenever I'm using other hacking tools than Lunar Magic, I make several backups by copy-pasting the hacked ROMs I was using. That's why!

And about Git Large File Storage (LFS): Really?! Is it possible to host large files (1GB+, I mean) to Git--oh, it does versioning large files, my bad.
The Hacking of PuyoPuyo. Come join the fun, friends. 『いけいけ団長、頑張れ頑張れ団長!』
Help us raise funds for the Armed Forces of Ukraine. #ДопомагаємоРазом / #HelpTogether
“Even if you personally are so dissatisfied with life that you want the world to end, surely the cruel reality is that it will continue on, unchanging. All the better for someone perfectly content, like me.”
Aya Shameimaru, Touhou Suzunaan ~ Forbidden Scrollery