set g_sandbox_object_material_velocity_min 100 "velocity objects must have while colliding for material effects to be applied"
set g_sandbox_object_material_velocity_factor 0.002 "velocity range which decides the intensity of material effects"
-seta menu_sandbox_spawn_model "" // used to store the model in the input field
+seta menu_sandbox_spawn_model ""
+seta menu_sandbox_attach_bone ""
seta menu_sandbox_edit_skin 0
seta menu_sandbox_edit_alpha 1
seta menu_sandbox_edit_color_main "1 1 1"
me.TDempty(me, 0.1);
me.TD(me, 1, 0.5, makeXonoticCommandButton(_("Copy"), '0 0 0', "sandbox duplicate_object_copy", 0));
me.TD(me, 1, 0.5, makeXonoticCommandButton(_("Paste"), '0 0 0', "sandbox duplicate_object_paste", 0));
+ me.TR(me);
+ me.TD(me, 1, 0.25, e = makeXonoticTextLabel(0, _("Bone:")));
+ me.TD(me, 1, 1.5, box = makeXonoticInputBox(1, "menu_sandbox_attach_bone"));
+ box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
+ box.maxLength = -127; // negative means encoded length in bytes
+ box.saveImmediately = 1;
+ me.TD(me, 1, 0.5, makeXonoticCommandButton(_("Select"), '0 0 0', "sandbox attach_object get", 0));
+ me.TD(me, 1, 0.5, makeXonoticCommandButton(_("Attach"), '0 0 0', "sandbox attach_object set $menu_sandbox_edit_skin", 0));
+ me.TDempty(me, 0.1);
+ me.TD(me, 1, 0.5, makeXonoticCommandButton(_("Remove"), '0 0 0', "sandbox attach_object remove", 0));
me.TR(me);
me.TR(me);
me.TD(me, 1, 2, e = makeXonoticTextLabel(0, _("Visual object properties:")));