Heya. I made a serious attempt before this version to create a mod that physically downsizes the textures in the game. The reduction in storage capacity I though might lead at least to quicker from-disk load times, and perhaps speedier atlasing during instantiation for the GPU. In the creation of this released version, the effect of downsizing is artificial: the same pixel width and height for each sprite has been carefully retained.
I wrote a blog post about that journey: https://gist.github.com/junelva/e17863599c3c0d524d958aced1680e59
There was an error I was running into when attempting the original hard-downsizing during the atlasing of animated sprites that seemed to reference hardcoded sprite dimensions, or otherwise reference sprite dimensions that are determined in the C++ and not changeable in the lua, where there are many squishycoded raw pixel dimensions. I did naively try to perform a lot of code generation at that time upon these sprite-related lua functions in these game, but it was all to no avail. I could not bypass the error.
However I have been thinking about it, and another issue I circumvented was done by fixing the sprite dimensions. Before that, I was aggressively altering the dimensions. The possible thing I have not tried is downsizing the many non-power-of-two-sized sprite textures by common denominators between the original width and height, and I have not had the energy or interest in trying to brute-force my way around this error anymore.