Scripting: Difference between revisions
From Wolfire Games Wiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
| Line 58: | Line 58: | ||
'''Generic Key References''' | '''Generic Key References''' | ||
<pre> | |||
#include "keyTranslator.h" | #include "keyTranslator.h" | ||
3 | 3 | ||
4 SDLKey keyToSDL(const std::string &s) | 4 SDLKey keyToSDL(const std::string &s) | ||
5 { | 5 { | ||
6 if (s == "backspace") | 6 if (s == "backspace") | ||
7 return SDLK_BACKSPACE; | 7 return SDLK_BACKSPACE; | ||
8 if (s == "tab") | 8 if (s == "tab") | ||
9 return SDLK_TAB; | 9 return SDLK_TAB; | ||
10 if (s == "clear") | 10 if (s == "clear") | ||
11 return SDLK_CLEAR; | 11 return SDLK_CLEAR; | ||
12 if (s == "return") | 12 if (s == "return") | ||
13 return SDLK_RETURN; | 13 return SDLK_RETURN; | ||
14 if (s == "pause") | 14 if (s == "pause") | ||
15 return SDLK_PAUSE; | 15 return SDLK_PAUSE; | ||
16 if (s == "esc") | 16 if (s == "esc") | ||
17 return SDLK_ESCAPE; | 17 return SDLK_ESCAPE; | ||
18 if (s == "space") | 18 if (s == "space") | ||
19 return SDLK_SPACE; | 19 return SDLK_SPACE; | ||
20 if (s == "!") | 20 if (s == "!") | ||
21 return SDLK_EXCLAIM; | 21 return SDLK_EXCLAIM; | ||
22 if (s == "\"") | 22 if (s == "\"") | ||
23 return SDLK_QUOTEDBL; | 23 return SDLK_QUOTEDBL; | ||
24 if (s == "#") | 24 if (s == "#") | ||
25 return SDLK_HASH; | 25 return SDLK_HASH; | ||
26 if (s == "$") | 26 if (s == "$") | ||
27 return SDLK_DOLLAR; | 27 return SDLK_DOLLAR; | ||
28 if (s == "&") | 28 if (s == "&") | ||
29 return SDLK_AMPERSAND; | 29 return SDLK_AMPERSAND; | ||
30 if (s == "\'") | 30 if (s == "\'") | ||
31 return SDLK_QUOTE; | 31 return SDLK_QUOTE; | ||
32 if (s == "(") | 32 if (s == "(") | ||
33 return SDLK_LEFTPAREN; | 33 return SDLK_LEFTPAREN; | ||
34 if (s == ")") | 34 if (s == ")") | ||
35 return SDLK_RIGHTPAREN; | 35 return SDLK_RIGHTPAREN; | ||
36 if (s == "*") | 36 if (s == "*") | ||
37 return SDLK_ASTERISK; | 37 return SDLK_ASTERISK; | ||
38 if (s == "+") | 38 if (s == "+") | ||
39 return SDLK_PLUS; | 39 return SDLK_PLUS; | ||
40 if (s == ",") | 40 if (s == ",") | ||
41 return SDLK_COMMA; | 41 return SDLK_COMMA; | ||
42 if (s == "-") | 42 if (s == "-") | ||
43 return SDLK_MINUS; | 43 return SDLK_MINUS; | ||
44 if (s == ".") | 44 if (s == ".") | ||
45 return SDLK_PERIOD; | 45 return SDLK_PERIOD; | ||
46 if (s == "/") | 46 if (s == "/") | ||
47 return SDLK_SLASH; | 47 return SDLK_SLASH; | ||
48 if (s == "0") | 48 if (s == "0") | ||
49 return SDLK_0; | 49 return SDLK_0; | ||
50 if (s == "1") | 50 if (s == "1") | ||
51 return SDLK_1; | 51 return SDLK_1; | ||
52 if (s == "2") | 52 if (s == "2") | ||
53 return SDLK_2; | 53 return SDLK_2; | ||
54 if (s == "3") | 54 if (s == "3") | ||
55 return SDLK_3; | 55 return SDLK_3; | ||
56 if (s == "4") | 56 if (s == "4") | ||
57 return SDLK_4; | 57 return SDLK_4; | ||
58 if (s == "5") | 58 if (s == "5") | ||
59 return SDLK_5; | 59 return SDLK_5; | ||
60 if (s == "6") | 60 if (s == "6") | ||
61 return SDLK_6; | 61 return SDLK_6; | ||
62 if (s == "7") | 62 if (s == "7") | ||
63 return SDLK_7; | 63 return SDLK_7; | ||
64 if (s == "8") | 64 if (s == "8") | ||
65 return SDLK_8; | 65 return SDLK_8; | ||
66 if (s == "9") | 66 if (s == "9") | ||
67 return SDLK_9; | 67 return SDLK_9; | ||
68 if (s == ":") | 68 if (s == ":") | ||
69 return SDLK_COLON; | 69 return SDLK_COLON; | ||
70 if (s == ";") | 70 if (s == ";") | ||
71 return SDLK_SEMICOLON; | 71 return SDLK_SEMICOLON; | ||
72 if (s == "<") | 72 if (s == "<") | ||
73 return SDLK_LESS; | 73 return SDLK_LESS; | ||
74 if (s == "=") | 74 if (s == "=") | ||
75 return SDLK_EQUALS; | 75 return SDLK_EQUALS; | ||
76 if (s == ">") | 76 if (s == ">") | ||
77 return SDLK_GREATER; | 77 return SDLK_GREATER; | ||
78 if (s == "?") | 78 if (s == "?") | ||
79 return SDLK_QUESTION; | 79 return SDLK_QUESTION; | ||
80 if (s == "@") | 80 if (s == "@") | ||
81 return SDLK_AT; | 81 return SDLK_AT; | ||
82 if (s == "[") | 82 if (s == "[") | ||
83 return SDLK_LEFTBRACKET; | 83 return SDLK_LEFTBRACKET; | ||
84 if (s == "\\") | 84 if (s == "\\") | ||
85 return SDLK_BACKSLASH; | 85 return SDLK_BACKSLASH; | ||
86 if (s == "]") | 86 if (s == "]") | ||
87 return SDLK_RIGHTBRACKET; | 87 return SDLK_RIGHTBRACKET; | ||
88 if (s == "^") | 88 if (s == "^") | ||
89 return SDLK_CARET; | 89 return SDLK_CARET; | ||
90 if (s == "_") | 90 if (s == "_") | ||
91 return SDLK_UNDERSCORE; | 91 return SDLK_UNDERSCORE; | ||
92 if (s == "`") | 92 if (s == "`") | ||
93 return SDLK_BACKQUOTE; | 93 return SDLK_BACKQUOTE; | ||
94 if (s == "a") | 94 if (s == "a") | ||
95 return SDLK_a; | 95 return SDLK_a; | ||
96 if (s == "b") | 96 if (s == "b") | ||
97 return SDLK_b; | 97 return SDLK_b; | ||
98 if (s == "c") | 98 if (s == "c") | ||
99 return SDLK_c; | 99 return SDLK_c; | ||
100 if (s == "d") | 100 if (s == "d") | ||
101 return SDLK_d; | 101 return SDLK_d; | ||
102 if (s == "e") | 102 if (s == "e") | ||
103 return SDLK_e; | 103 return SDLK_e; | ||
104 if (s == "f") | 104 if (s == "f") | ||
105 return SDLK_f; | 105 return SDLK_f; | ||
106 if (s == "g") | 106 if (s == "g") | ||
107 return SDLK_g; | 107 return SDLK_g; | ||
108 if (s == "h") | 108 if (s == "h") | ||
109 return SDLK_h; | 109 return SDLK_h; | ||
110 if (s == "i") | 110 if (s == "i") | ||
111 return SDLK_i; | 111 return SDLK_i; | ||
112 if (s == "j") | 112 if (s == "j") | ||
113 return SDLK_j; | 113 return SDLK_j; | ||
114 if (s == "k") | 114 if (s == "k") | ||
115 return SDLK_k; | 115 return SDLK_k; | ||
116 if (s == "l") | 116 if (s == "l") | ||
117 return SDLK_l; | 117 return SDLK_l; | ||
118 if (s == "m") | 118 if (s == "m") | ||
119 return SDLK_m; | 119 return SDLK_m; | ||
120 if (s == "n") | 120 if (s == "n") | ||
| Line 450: | Line 334: | ||
275 return (SDLKey)SDLK_SYSREQ; | 275 return (SDLKey)SDLK_SYSREQ; | ||
276 } | 276 } | ||
</pre> | |||
[[Category:Overgrowth]] | [[Category:Overgrowth]] | ||
Revision as of 12:52, 25 February 2010
Overgrowth is using AngelScript as its core scripting language. The best AngelScript reference is here: [1]
Checking for Keypresses:
You can check for keypresses by using the boolean check function GetInputDown():
Syntax examples:
| GetInputDown("a") | returns true if the 'a' key is being pressed, returns false if not |
| GetInputDown("attack") | returns true if the left mouse button is being pressed, returns false if not |
| GetInputDown("move_left") | returns true if the "left key" is being pressed, returns false if not (by default this key is defined in the config.txt to be the 'a' key) |
The following controls are designed to be relative to the player's preferences and are given a binding in the config.txt file.
Config.txt Dependent References
| Predefined Term | Default binding in Config.txt | Scripting Reference Name |
|---|---|---|
| Left Key | a | move_left |
| Right Key | d | move_right |
| Up Key | w | move_up |
| Down Key | s | move_down |
| Crouch Key | left shift | crouch |
| Jump Key | space | jump |
Generic Key References
#include "keyTranslator.h"
3
4 SDLKey keyToSDL(const std::string &s)
5 {
6 if (s == "backspace")
7 return SDLK_BACKSPACE;
8 if (s == "tab")
9 return SDLK_TAB;
10 if (s == "clear")
11 return SDLK_CLEAR;
12 if (s == "return")
13 return SDLK_RETURN;
14 if (s == "pause")
15 return SDLK_PAUSE;
16 if (s == "esc")
17 return SDLK_ESCAPE;
18 if (s == "space")
19 return SDLK_SPACE;
20 if (s == "!")
21 return SDLK_EXCLAIM;
22 if (s == "\"")
23 return SDLK_QUOTEDBL;
24 if (s == "#")
25 return SDLK_HASH;
26 if (s == "$")
27 return SDLK_DOLLAR;
28 if (s == "&")
29 return SDLK_AMPERSAND;
30 if (s == "\'")
31 return SDLK_QUOTE;
32 if (s == "(")
33 return SDLK_LEFTPAREN;
34 if (s == ")")
35 return SDLK_RIGHTPAREN;
36 if (s == "*")
37 return SDLK_ASTERISK;
38 if (s == "+")
39 return SDLK_PLUS;
40 if (s == ",")
41 return SDLK_COMMA;
42 if (s == "-")
43 return SDLK_MINUS;
44 if (s == ".")
45 return SDLK_PERIOD;
46 if (s == "/")
47 return SDLK_SLASH;
48 if (s == "0")
49 return SDLK_0;
50 if (s == "1")
51 return SDLK_1;
52 if (s == "2")
53 return SDLK_2;
54 if (s == "3")
55 return SDLK_3;
56 if (s == "4")
57 return SDLK_4;
58 if (s == "5")
59 return SDLK_5;
60 if (s == "6")
61 return SDLK_6;
62 if (s == "7")
63 return SDLK_7;
64 if (s == "8")
65 return SDLK_8;
66 if (s == "9")
67 return SDLK_9;
68 if (s == ":")
69 return SDLK_COLON;
70 if (s == ";")
71 return SDLK_SEMICOLON;
72 if (s == "<")
73 return SDLK_LESS;
74 if (s == "=")
75 return SDLK_EQUALS;
76 if (s == ">")
77 return SDLK_GREATER;
78 if (s == "?")
79 return SDLK_QUESTION;
80 if (s == "@")
81 return SDLK_AT;
82 if (s == "[")
83 return SDLK_LEFTBRACKET;
84 if (s == "\\")
85 return SDLK_BACKSLASH;
86 if (s == "]")
87 return SDLK_RIGHTBRACKET;
88 if (s == "^")
89 return SDLK_CARET;
90 if (s == "_")
91 return SDLK_UNDERSCORE;
92 if (s == "`")
93 return SDLK_BACKQUOTE;
94 if (s == "a")
95 return SDLK_a;
96 if (s == "b")
97 return SDLK_b;
98 if (s == "c")
99 return SDLK_c;
100 if (s == "d")
101 return SDLK_d;
102 if (s == "e")
103 return SDLK_e;
104 if (s == "f")
105 return SDLK_f;
106 if (s == "g")
107 return SDLK_g;
108 if (s == "h")
109 return SDLK_h;
110 if (s == "i")
111 return SDLK_i;
112 if (s == "j")
113 return SDLK_j;
114 if (s == "k")
115 return SDLK_k;
116 if (s == "l")
117 return SDLK_l;
118 if (s == "m")
119 return SDLK_m;
120 if (s == "n")
121 return SDLK_n;
122 if (s == "o")
123 return SDLK_o;
124 if (s == "p")
125 return SDLK_p;
126 if (s == "q")
127 return SDLK_q;
128 if (s == "r")
129 return SDLK_r;
130 if (s == "s")
131 return SDLK_s;
132 if (s == "t")
133 return SDLK_t;
134 if (s == "u")
135 return SDLK_u;
136 if (s == "v")
137 return SDLK_v;
138 if (s == "w")
139 return SDLK_w;
140 if (s == "x")
141 return SDLK_x;
142 if (s == "y")
143 return SDLK_y;
144 if (s == "z")
145 return SDLK_z;
146 if (s == "delete")
147 return SDLK_DELETE;
148 if (s == "keypad0")
149 return SDLK_KP0;
150 if (s == "keypad1")
151 return SDLK_KP1;
152 if (s == "keypad2")
153 return SDLK_KP2;
154 if (s == "keypad3")
155 return SDLK_KP3;
156 if (s == "keypad4")
157 return SDLK_KP4;
158 if (s == "keypad5")
159 return SDLK_KP5;
160 if (s == "keypad6")
161 return SDLK_KP6;
162 if (s == "keypad7")
163 return SDLK_KP7;
164 if (s == "keypad8")
165 return SDLK_KP8;
166 if (s == "keypad9")
167 return SDLK_KP9;
168 if (s == "keypad.")
169 return SDLK_KP_PERIOD;
170 if (s == "keypad/")
171 return SDLK_KP_DIVIDE;
172 if (s == "keypad*")
173 return SDLK_KP_MULTIPLY;
174 if (s == "keypad-")
175 return SDLK_KP_MINUS;
176 if (s == "keypad+")
177 return SDLK_KP_PLUS;
178 if (s == "keypadenter")
179 return SDLK_KP_ENTER;
180 if (s == "keypad=")
181 return SDLK_KP_EQUALS;
182 if (s == "up")
183 return SDLK_UP;
184 if (s == "down")
185 return SDLK_DOWN;
186 if (s == "right")
187 return SDLK_RIGHT;
188 if (s == "left")
189 return SDLK_LEFT;
190 if (s == "insert")
191 return SDLK_INSERT;
192 if (s == "home")
193 return SDLK_HOME;
194 if (s == "end")
195 return SDLK_END;
196 if (s == "pageup")
197 return SDLK_PAGEUP;
198 if (s == "pagedown")
199 return SDLK_PAGEDOWN;
200 if (s == "f1")
201 return SDLK_F1;
202 if (s == "f2")
203 return SDLK_F2;
204 if (s == "f3")
205 return SDLK_F3;
206 if (s == "f4")
207 return SDLK_F4;
208 if (s == "f5")
209 return SDLK_F5;
210 if (s == "f6")
211 return SDLK_F6;
212 if (s == "f7")
213 return SDLK_F7;
214 if (s == "f8")
215 return SDLK_F8;
216 if (s == "f9")
217 return SDLK_F9;
218 if (s == "f10")
219 return SDLK_F10;
220 if (s == "f11")
221 return SDLK_F11;
222 if (s == "f12")
223 return SDLK_F12;
224 if (s == "f13")
225 return SDLK_F13;
226 if (s == "f14")
227 return SDLK_F14;
228 if (s == "f15")
229 return SDLK_F15;
230 if (s == "numlock")
231 return SDLK_NUMLOCK;
232 if (s == "capslock")
233 return SDLK_CAPSLOCK;
234 if (s == "scrollock")
235 return SDLK_SCROLLOCK;
236 if (s == "rshift")
237 return SDLK_RSHIFT;
238 if (s == "lshift")
239 return SDLK_LSHIFT;
240 if (s == "rctrl")
241 return SDLK_RCTRL;
242 if (s == "lctrl")
243 return SDLK_LCTRL;
244 if (s == "ralt")
245 return SDLK_RALT;
246 if (s == "lalt")
247 return SDLK_LALT;
248 if (s == "rmeta")
249 return SDLK_RMETA;
250 if (s == "lmeta")
251 return SDLK_LMETA;
252 if (s == "lsuper")
253 return SDLK_LSUPER;
254 if (s == "rsuper")
255 return SDLK_RSUPER;
256 if (s == "mode")
257 return SDLK_MODE;
258 if (s == "compose")
259 return SDLK_COMPOSE;
260 if (s == "help")
261 return SDLK_HELP;
262 if (s == "print")
263 return SDLK_PRINT;
264 if (s == "sysreq")
265 return SDLK_SYSREQ;
266 if (s == "break")
267 return SDLK_BREAK;
268 if (s == "menu")
269 return SDLK_MENU;
270 if (s == "power")
271 return SDLK_POWER;
272 if (s == "euro")
273 return SDLK_EURO;
274
275 return (SDLKey)SDLK_SYSREQ;
276 }