]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_sandboxtools.qc
Header police
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_sandboxtools.qc
1 #include "dialog_sandboxtools.qh"
2 #ifndef DIALOG_SANDBOXTOOLS_H
3 #define DIALOG_SANDBOXTOOLS_H
4 #include "rootdialog.qc"
5 CLASS(XonoticSandboxToolsDialog, XonoticRootDialog)
6         METHOD(XonoticSandboxToolsDialog, fill, void(entity));
7         ATTRIB(XonoticSandboxToolsDialog, title, string, _("Sandbox Tools"))
8         ATTRIB(XonoticSandboxToolsDialog, color, vector, SKINCOLOR_DIALOG_SANDBOXTOOLS)
9         ATTRIB(XonoticSandboxToolsDialog, intendedWidth, float, 0.8)
10         ATTRIB(XonoticSandboxToolsDialog, rows, float, 16)
11         ATTRIB(XonoticSandboxToolsDialog, columns, float, 4)
12         ATTRIB(XonoticSandboxToolsDialog, name, string, "SandboxTools")
13         ATTRIB(XonoticSandboxToolsDialog, requiresConnection, float, true)
14 ENDCLASS(XonoticSandboxToolsDialog)
15 #endif
16
17 #ifdef IMPLEMENTATION
18 void XonoticSandboxToolsDialog_fill(entity me)
19 {
20         entity e, box;
21
22         me.TR(me);
23                 me.TD(me, 1, 0.25, e = makeXonoticTextLabel(0, _("Model:")));
24                 me.TD(me, 1, 1.5, box = makeXonoticInputBox(1, "menu_sandbox_spawn_model"));
25                         box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
26                         box.maxLength = -127; // negative means encoded length in bytes
27                         box.saveImmediately = 1;
28                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Spawn"), '0 0 0', "sandbox object_spawn \"$menu_sandbox_spawn_model\"", 0));
29                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Remove *"), '0 0 0', "sandbox object_remove", 0));
30         me.TDempty(me, 0.1);
31                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Copy *"), '0 0 0', "sandbox object_duplicate copy cl_sandbox_clipboard", 0));
32                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Paste"), '0 0 0', "sandbox object_duplicate paste \"$cl_sandbox_clipboard\"", 0));
33         me.TR(me);
34                 me.TD(me, 1, 0.25, e = makeXonoticTextLabel(0, _("Bone:")));
35                 me.TD(me, 1, 1.5, box = makeXonoticInputBox(1, "menu_sandbox_attach_bone"));
36                         box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
37                         box.maxLength = -127; // negative means encoded length in bytes
38                         box.saveImmediately = 1;
39                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set * as child"), '0 0 0', "sandbox object_attach get", 0));
40                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Attach to *"), '0 0 0', "sandbox object_attach set \"$menu_sandbox_attach_bone\"", 0));
41         me.TDempty(me, 0.1);
42                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Detach from *"), '0 0 0', "sandbox object_attach remove", 0));
43         me.TR(me);
44         me.TR(me);
45         me.TD(me, 1, 1.5, e = makeXonoticTextLabel(0, _("Visual object properties for *:")));
46         me.TR(me);
47                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set skin:"), '0 0 0', "sandbox object_edit skin $menu_sandbox_edit_skin", 0));
48                 me.TD(me, 1, 1.5, e = makeXonoticSlider(0, 99, 1, "menu_sandbox_edit_skin"));
49                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set alpha:"), '0 0 0', "sandbox object_edit alpha $menu_sandbox_edit_alpha", 0));
50                 me.TD(me, 1, 1.5, e = makeXonoticSlider(0.1, 1, 0.05, "menu_sandbox_edit_alpha"));
51         me.TR(me);
52                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set color main:"), '0 0 0', "sandbox object_edit color_main \"$menu_sandbox_edit_color_main\"", 0));
53                 me.TD(me, 2, 1.5, e = makeXonoticColorpickerString("menu_sandbox_edit_color_main", "menu_sandbox_edit_color_main"));
54                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set color glow:"), '0 0 0', "sandbox object_edit color_glow \"$menu_sandbox_edit_color_glow\"", 0));
55                 me.TD(me, 2, 1.5, e = makeXonoticColorpickerString("menu_sandbox_edit_color_glow", "menu_sandbox_edit_color_glow"));
56         me.TR(me);
57         me.TR(me);
58                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set frame:"), '0 0 0', "sandbox object_edit frame $menu_sandbox_edit_frame", 0));
59                 me.TD(me, 1, 1.5, e = makeXonoticSlider(0, 99, 1, "menu_sandbox_edit_frame"));
60         me.TR(me);
61         me.TR(me);
62         me.TD(me, 1, 1.5, e = makeXonoticTextLabel(0, _("Physical object properties for *:")));
63         me.TR(me);
64                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set material:"), '0 0 0', "sandbox object_edit material \"$menu_sandbox_edit_material\"", 0));
65                 me.TD(me, 1, 1.5, box = makeXonoticInputBox(1, "menu_sandbox_edit_material"));
66                         box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
67                         box.maxLength = -127; // negative means encoded length in bytes
68                         box.saveImmediately = 1;
69         me.TR(me);
70                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set solidity:"), '0 0 0', "sandbox object_edit solidity $menu_sandbox_edit_solidity", 0));
71                 me.TD(me, 1, 0.75, e = makeXonoticRadioButton(1, "menu_sandbox_edit_solidity", "0", _("Non-solid")));
72                 me.TD(me, 1, 0.75, e = makeXonoticRadioButton(1, "menu_sandbox_edit_solidity", "1", _("Solid")));
73                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set physics:"), '0 0 0', "sandbox object_edit physics $menu_sandbox_edit_physics", 0));
74                 me.TD(me, 1, 0.5, e = makeXonoticRadioButton(2, "menu_sandbox_edit_physics", "0", _("Static")));
75                 me.TD(me, 1, 0.5, e = makeXonoticRadioButton(2, "menu_sandbox_edit_physics", "1", _("Movable")));
76                 me.TD(me, 1, 0.5, e = makeXonoticRadioButton(2, "menu_sandbox_edit_physics", "2", _("Physical")));
77         me.TR(me);
78                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set scale:"), '0 0 0', "sandbox object_edit scale $menu_sandbox_edit_scale", 0));
79                 me.TD(me, 1, 1.5, e = makeXonoticSlider(0.25, 2, 0.05, "menu_sandbox_edit_scale"));
80                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Set force:"), '0 0 0', "sandbox object_edit force $menu_sandbox_edit_force", 0));
81                 me.TD(me, 1, 1.5, e = makeXonoticSlider(0, 10, 0.5, "menu_sandbox_edit_force"));
82         me.TR(me);
83         me.TR(me);
84                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Claim *"), '0 0 0', "sandbox object_claim", 0));
85                 me.TDempty(me, 0.5);
86                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("* object info"), '1 1 0.5', "sandbox object_info object; toggleconsole", 0));
87                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("* mesh info"), '1 1 0.5', "sandbox object_info mesh; toggleconsole", 0));
88                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("* attachment info"), '1 1 0.5', "sandbox object_info attachments; toggleconsole", 0));
89                 me.TD(me, 1, 0.5, e = makeXonoticCommandButton(_("Show help"), '1 0.5 0.5', "sandbox help; toggleconsole", 0));
90                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("* is the object you are facing")));
91
92         me.gotoRC(me, me.rows - 1, 0);
93                 me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
94                         e.onClick = Dialog_Close;
95                         e.onClickEntity = me;
96 }
97 #endif
98
99 /* Click. The c-word is here so you can grep for it :-) */