- Jul 11, 2020
- 52
- 46
I hate writing BBCode so go to
You must be registered to see the links
for more information.
Last edited:
Added aFirst, good job. I've been thinking about doing something like this and it just saves me time. I appreciate that.
Second, there's a few things that would be helpful:
If you could add these items, it would make other's life much easier. Guess I'm digging into cmake to figure out how to build this.
- How to build from source (I've loaded your project in VSCode, not sure how to build)
- Allow a config file (yes I can add it to a make file or similar, but that makes sharing things like the RPGMaker directory every project is using a copy and paste thing, rather than include a base config file.)
So I figured out CMake in VSCode finally. Thank you very much.I will create some more detailed docs about how to build from source but for now just check the GitHub Actions workflow I created:You must be registered to see the links. You basically just create a build directory, configure cmake with source and build output path and then just build the project. I also used VS Code when I started creating the project but have moved on to CLion. Check the VS Code docs for getting a C/C++ dev environment going:You must be registered to see the links.
As for the config file, what exactly do you want to configure? Only thing that comes to mind is using a config file instead of passing CLI arguments to the tool. I recommendYou must be registered to see the linksfor this so I can keep track of it.
#!/bin/bash
packer_options+=("--platforms" "linux,win")
packer_options+=("--rpgmaker" "${rpgmaker_tools}/RPG Maker MV")
packer_options+=("--cache" "--hardlinks")
packer_options+=("--threads" "8")
#!/bin/bash
rpgmaker_tools="<MY TOOLS DIRECTORY>"
packer_options=()
source "${rpgmaker_tools}/etc/packer_options_mv.bash"
packer_options+=("--encryptAudio" "--encryptImages" "--encryptionKey" "MYKEY")
packer_options+=("--input" "./<PROJECT_DIRECTORY>")
packer_options+=("--output" "<OUTPUT DIRECTORY>")
packer="${rpgmaker_tools}/bin/RPGMPacker"
"${packer}" "${packer_options[@]}"
Save directory in the project folder? So atYou copy the save directory to the output, rpgmaker mv doesn't do that.
/save
? Curious how it even ended up there but I can make an exception for it.Yes, you can get that if you run a playtest.Save directory in the project folder? So at/save
? Curious how it even ended up there but I can make an exception for it.
Builds take about 1/10th the time. Seriously this is good work. I just need power to use it again.Looks interesting and could save time. Thanks!
Thanks for the contribution.erri120
Found one issue, you're updating of the system.json may not work if there's an extra linefeed or something else.
Proper fix is the parse the json and update it.
At the same time, writing json files without spaces can save 40+MB for games, so I added a compress json function.
Here's a patch based on commit 8ee70a85dd
It does take more time to create the RPGMaker directories (1.5 s instead of 0.5 on my machine) so you might want to make compressing the json files optional. That said it seriously simplifies your code for updating system.json.
filelength-1
:
I tried using the library you had, but the data structure it built was immutable, so I had to bring in something else. (This actually took a while for me since I had to learn how CPM works with Cmake, and I'm still scratching my head as to why I had to explicitly define the library I added for the include directory, when the others appear to be added implicitly.) I thought that might be a sticking point.Thanks for the contribution.
The main problem I have with your patch is the use of another json library. The tool already usesYou must be registered to see the linksfor json parsing and adding another one is kinda overkill. What I ended up doing was simply searching for the closing bracket instead of assuming it's always atfilelength-1
:You must be registered to see the links
I thought about adding JSON minifier originally but did not do so because RPG Maker already saves the json files in a somewhat minified version. It is not 100% minified but it works. Maybe I'll add something like this later on but not at the moment.