When calling the
timestamp field is a very large number. All the arguments can be passed in to a registered Lua function just fine and then
"radiant:client:save_game" can be called from there, but that function treats the
timestamp value differently when it comes from Lua, and the resulting savefile has the wrong number saved in it, resulting in incorrect sorting.
I think it’s an overflow issue because the original value is ~1.5 trillion, and an unsigned 32-bit int maxes out at ~4.3 billion, and the value it ends up saving is ~1.4 billion.
This specific issue is simple enough for me to work around, I just have to override a few more functions and change the way I’m calling things, but it feels like something that could potentially be a sneaky issue elsewhere.