Rewrite entire randomizer in C++
Summary
The time has finally come. I've been happy enough with my python
prototyping that I'm finally ready to conver this project to c++
and maintain it like that from here. The work to get it compiled and running in Windows ended up being a ton of trouble, but I've finally been able to deliver an installer executable with all bundled dependencies as well as set the icon correctly.
Slight UI Tweak
I reorganized the layout of the UI, and I'm much happier with this new layout over the previous one I used. Now, the left column has all the non-stat related randomization configuration, the middle column contains the randomization configurations, and the right column has the modification configurations.
New Seed Feature
Now you can specify a seed that guarantees the same outcome of randomization given the same UI configuration. For example, if you generate a rom titled foo-abcedfg.gba
using seed ffoobarr
, and then deselect randomization of "Playable" units, the outcome will be different because the total number of random numbers pulled from the string will be different.
Performance Improvements
- The final binary decreased from 69MB to 208KB
- Average Memory usage decreased from 37.6MB to 19.2MB
- Not really a "performance" improvement, but since it's statically linked to
Qt
, it uses the system default theme instead of the ugly default light theme.