#include "sv_sandbox.qh"
+#include <server/intermission.qh>
+
string autocvar_g_sandbox;
int autocvar_g_sandbox_info;
bool autocvar_g_sandbox_readonly;
float autocvar_g_sandbox_object_material_velocity_min;
float autocvar_g_sandbox_object_material_velocity_factor;
+IntrusiveList g_sandbox_objects;
float autosave_time;
void sandbox_Database_Load();
{
MUTATOR_ONADD
{
+ g_sandbox_objects = IL_NEW();
autosave_time = time + autocvar_g_sandbox_storage_autosave; // don't save the first server frame
if(autocvar_g_sandbox_storage_autoload)
sandbox_Database_Load();
{
e.scale = bound(autocvar_g_sandbox_object_scale_min, e.scale, autocvar_g_sandbox_object_scale_max);
_setmodel(e, e.model); // reset mins and maxs based on mesh
- setsize(e, e.mins * e.scale, e.maxs * e.scale); // adapt bounding box size to model size
+ // apply object scaling and prevent any float precision issues like #2742
+ setsize(e, RoundPerfectVector(e.mins * e.scale), RoundPerfectVector(e.maxs * e.scale));
}
}