Board Thread:The Last Sovereign Discussion/@comment-31763506-20190727041443

It's very possible that I'm reinventing the wheel on this one, and it would likely only interest Fulminato, Decanter and a few of the other hardcore decrypters, but this method let me turn around a spreadsheet update for the 0.44.5 content in about an hour as opposed to 4 or 5, so it's worth me looking silly on the chance that it helps Fulminato next time he takes point on an update's game logic.

Step 1: Use the Event Extractor script that's commented out in decrypted game files and generate an _EventContents.txt file for the previous version of the game. Rename it something like _EventContents_44_4.txt.

Step 2: Do the same thing with the new version of the game, giving this file still a different name. Since I'm not creative, I used _EventContents_44_5.txt.

Step 3: Open both files in a text editor that allows RegEx find and replaces. You want to replace the RegEx "^[^\^]+\^" with an empty string, "". This wipes out the Seq column that makes each row start with a unique line number. (Decanter would probably prefer just editing the Event Extractor script to remove the column and this is more sensible long term, I'm more comfortable with irresponsibly shooting RegExs at files and I needed a quick and dirty solution.)

Step 4: Open both files in a program like WinMerge and run a file diff on the two to zero in on the changes. WinMerge wasn't perfect for me, it has a tendency to get confused when entire lines of code have been added, but it will let you zero in on the exact maps and events that have changes. Once the files are displayed in the WinMerge interface, you can jump between differences using ALT+Up and ALT+Down. There may be better programs.

Issues:


 * Most maps have ID numbers rather than names, and these are assigned in the order SL creates the maps, not the order they appear in the RPGMaker project tree view. You can find a map's ID number by right clicking on it and selecting Map Properties.  In my case, I've been over these maps so often previously that I could recognize most of them from the dialogue or variable context.
 * If an event is moved or renamed, that changes every line of the extracted code associated with that event, and this can be a bit annoying.
 * This will also pick up spelling and grammar corrections or face changes that are irrelevant to the game logic.
 * It's going to be MUCH less effective for major updates like .0 versions, but those necessitate going through the maps by hand anyway. 