Difference between revisions of "Scripting"
Line 59: | Line 59: | ||
#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") |
Revision as of 19:42, 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 }