Anarchid wrote:Anyway, what does work as per saves atm? I've heard conflicting things about that ('never worked' 'worked but got broken' 'never worked by doable with lua' 'worked with lua but that lua got broken' 'there is working lua for saves')?
I don't recall exactly if it was 'never worked' or 'worked but got broken', but if savegames done by the engine worked, it was so many many years ago it's irrelevant now. If it ever worked, the engine evolved so much by then that it would have made completly saving the entire game state a huge complicated mess. Not sure you noticed, but almost all Spring engine-dev and Spring game/mod-dev are mainly interested in the multiplayer aspect, but not much in the single player aspect. So there's no engine dev willing to spend monthes working on the tough problem that implementing a savegame would be.
But there were a couple people that realised that anyway we don't have to store every single shots in mid-air or every unit script variables, that a crude system that only restore units, at their positions, with their health and their orders (ok, a couple more things too), would be largely enough, and this could be done in Lua! So about ten month ago, Argh, for P.U.R.E., and me, for Kernel Panic independantly released a gadget, or rather a bundle of Lua files, to implement some sort of savegames. It's not perfect, it's a little hacky on the side, but it more or less get the job done. However, since it is implemented by Lua gadgets & widgets, it is part of a mod (/game), not of the engine!
I offered to port it to other mod, but the interested was generally low. I got my savegame system in Kernel Panic, (because I stole Kernel Panic from KDR_11k), in Gundam RTS and Evolution RTS (because Smoth and Forboding Angel carelessly left me access to their game SVN), but that's about it. My attempts at giving away save/load mutators to other games were mostly left as scorned attachment in this forum.
Then some lead engine dev realised this was the best way to go anyway, and cleansed the engine save/game of most of its (non working anway) broken code. So nowaday, when you use the engine command or hotkey to save/load, it handles heighmap deformation, it calls a couple Lua callins, and it handles the zipping and writing into a file. But what ought to be saved is defered to these new Lua callins. Except, no one ever made use of these new Lua callins. I had already written my solution before they were added, and, beside using the way dev meant to be used, it would add nothing of value to me, worse I'll lose having my nice savegames filenames and menus. As for Argh, he left shortly after and we haven't heard of him much since.