# :sort - sort hashes and instance variables for objects This modifies dump_coder to handle that situation. # 2) Psych also doesn't create references and anchors for classes that implement
# but there isn't a convenient way to patch that. # alive so incorrect references aren't generated. This monkey-patches the Registrar to keep the object # collected, Ruby might generate an object with the same object_id and try to generate a This doesn't keep the object alive, so if it gets garbage # 1) Psych has a bug where it stores an anchor to the YAML for an object, but indexes
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLEįOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, The above copyright notice and this permission notice shall be included in all copies or Persons to whom the Software is furnished to do so, subject to the following conditions: Publish, distribute, sublicense, and/or sell copies of the Software, and to permit Without restriction, including without limitation the rights to use, copy, modify, merge, Software and associated documentation files (the 'Software'), to deal in the Software Permission is hereby granted, free of charge, to any person obtaining a copy of this This file contains significant portions of Psych 2.0.0 to modify behavior and to fix And, of course, it can reverse all these operations. It can also convert save files to YAML which will be in the same directory as the project file.
Long story short, this code probably won't work with any version of Psych but 2.0.0.īasic functionality: you point the rialize function at the directory that contains the project file and it will read the contents of the Data/ directory and dump YAML for the data files in a new YAML/ directory and the scripts in a Scripts/ directory. However, Psych 2.0.0 has some bugs that impacted the generated YAML (one major and one minor) which I monkey patched, and since I was already rewriting the Psych code, I added some functionality to make the generated YAML prettier. I used cygwin's ruby 1.9.3 and the Psych 2.0.0 ruby gem, which appears to be the most recent version. (And as an exercise in masochism I tinkered with it until it would work with VX and XP.) Since I noticed some discussion about other people picking up RPG Maker during the Steam sale, I've decided to share it here. While there are scripts to convert the data to YAML for VX and XP I couldn't find one that worked with VX Ace, so I wrote my own. I picked up RPG Maker VX Ace in the Steam summer sale, and really my only complaint is that it stores the game data all in binary so using version control with it is highly annoying.