UPDATE:
Over
two years ago I promised a version 1.5.0 would be on its way. I am please to announce that 1.5.0 is functionally where I want it and is technically ready for people to try out.
What's changed?
-
No more third-party requirements. This is huge to me. Not only does it rid the requirements of Power Packs (an ancient library of obsolete objects), but it also remove the requirement of zlib.dll! The only reason that the dll was required was to achieve the maximum level of GZip compression. Until .NET Runtime 4.5 (which remains the only requirement) the GZip function had two settings of compression: compressed and not compressed. "Compressed" was just the fastest compression option that made it smaller. This was referred to as compression level 1 in the GZip document, but FF7 used compression level 9. Maybe back in 1997 there was a need for 9 different compression levels since it took a long time to compress large volumes at that rate, but not for a project of this size. The .NET 4.5 finally allows for compression level 9 without creating aliases in third-party dlls.
-
Better visuals with the stat curves. In a perhaps ironically related note, Power Packs was only a requirement because of the stat curve indicators. Now that the requirement is gone I've reworked the way the curves are functioning to be smoother. It's now based on cursor position (you can right-click to freeze it on a level) and the bounding indicator works a little better. There's even a little highlighted polygon around the stat indicator. Nothing too special, I just wanted to point it out.
The indicated stat label is now bound inside the preview window instead of to the side. I think it just looks cleaner that way. I've also added preview panels to the curves tab for stat, HP, MP and exp growth so you can compare them per curve entry. I might add a little bit of additional functionality to this, but don't count on it.
-
Fixed text glitch? I'm not really sure on this one. Looking at the old code it was clear to me that it was all wrong. Not the method of generating the files, but that the code itself was unreadable. I had no idea what line was doing what. I completely rewrote it and refactored it into smaller chunks. The PC compresses nicely and seems to work just fine with my copy. I reworked the PSX compression, but have no way of testing it. It might be fine, it might be completely wrong. PSX "compression" still takes a long time compared to PC compression and it's more basic. The progress bar at the bottom is virtually functionless right now. Still working on getting that to mean something.
-
XML-based labels and drop-downs. Here's where the technical changes stop and the cosmetic changes really weigh in. I've gotten numerous suggestions on how to display certain formulae/stat names over the years and my understanding on each of them keep changing. Instead of releasing a new revision each time an equation changes I'm releasing this version with an XML file that will allow you to change the equations yourself! If "(Power / 16) * (Stat + [(Level + Stat) / 32] * [(Level * Stat) / 32])" doesn't mean anything to you, you can change the entry in the XML to read something simpler like "Standard weapon damage". LOTS of labels and drop-down items can now be customized and I'm not through my list of changeable labels (which is why it's technically ready, but not cosmetically ready
).
-
XML-based labels and drop-downs. Loading XML files can take some time so I added a little splash-screen to it while loading. It needs some work and is just a placeholder for now (potential copyright infringement ATM), but it's a touch I always thought WM needed.
What's not changed?
Hopefully nothing functional. I refactored a few things and added some threaded code and rejiggered a few things here and there (changed method parameter types and such) that should hopefully make the program run smoother and/or be less memory intensive. Not like it was visually/computationally demanding before, but it's satisfying as a programmer to go back to old code and apply new optimizations to old code.
I kinda wanted to change the AI editor, but I think I'm just going to leave it as-is FOR THIS VERSION. I've tried to change it several times and I was never pleased with the results. I might try again in the future after this version is released and ruminates a while.
When can we expect this version/any new version in the future?
When I get enough motivation to actually tidy it up. Honestly, I'm extremely proud of WM and PrC. Not because they use good code, but because WM has become essentially exactly what I wanted it to be: The de facto modding tool for all things KERNEL.BIN (sans text). PrC has a ways to go (next up will be the PrCMDI that I've been putting off), but when I see that people use, or even mention that they want, WM I get a little giddy inside. However, I've lost about half my enthusiasm for FF7 throughout this journey. I still have extremely fond memories of playing it with my friend back in high school and still love reversing the code to find little mechanics that people want help with. Put into perspective, it's a 20 year old game and my preferences of what games to waste my time on have changed. I still love RPGs, but FF7 now feels like a girlfriend that I got to know a little too well. I was infatuated by what was on the surface, but after digging at it for years I've learned that she's got some major flaws that she didn't want anyone else to know about. I'm still committed because I'm a faithful guy like that. I just don't want to be smothered.
Well, THAT got awkward. The actual answer is "just be patient". I'm not good with deadlines or even dedicating consistent blocks of time to do anything with it. I'd like to say "within the next month" because I only have tiny changes to make, but I won't be bound to that.