| |
1 /* |
| |
2 Copyright (c) 2013-2014, Santeri Piippo |
| |
3 All rights reserved. |
| |
4 |
| |
5 Redistribution and use in source and binary forms, with or without |
| |
6 modification, are permitted provided that the following conditions are met: |
| |
7 |
| |
8 * Redistributions of source code must retain the above copyright |
| |
9 notice, this list of conditions and the following disclaimer. |
| |
10 |
| |
11 * Redistributions in binary form must reproduce the above copyright |
| |
12 notice, this list of conditions and the following disclaimer in the |
| |
13 documentation and/or other materials provided with the distribution. |
| |
14 |
| |
15 * Neither the name of the <organization> nor the |
| |
16 names of its contributors may be used to endorse or promote products |
| |
17 derived from this software without specific prior written permission. |
| |
18 |
| |
19 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
| |
20 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| |
21 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
| |
22 DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY |
| |
23 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
| |
24 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
| |
25 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
| |
26 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| |
27 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
| |
28 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| |
29 */ |
| |
30 |
| 1 #ifndef BOTC_VARIABLES_H |
31 #ifndef BOTC_VARIABLES_H |
| 2 #define BOTC_VARIABLES_H |
32 #define BOTC_VARIABLES_H |
| 3 |
33 |
| 4 #include "str.h" |
34 #include "main.h" |
| 5 #include "scriptreader.h" |
|
| 6 |
35 |
| 7 struct ScriptVar { |
36 class botscript_parser; |
| |
37 |
| |
38 struct script_variable |
| |
39 { |
| 8 string name; |
40 string name; |
| 9 string statename; |
41 string statename; |
| 10 type_e type; |
42 type_e type; |
| 11 int value; |
43 int value; |
| 12 unsigned int index; |
44 int index; |
| 13 }; |
45 }; |
| 14 |
46 |
| 15 extern list<ScriptVar> g_GlobalVariables; |
47 extern list<script_variable> g_GlobalVariables; |
| 16 extern list<ScriptVar> g_LocalVariables; |
48 extern list<script_variable> g_LocalVariables; |
| 17 |
49 |
| 18 #define ITERATE_GLOBAL_VARS(u) \ |
50 #define ITERATE_GLOBAL_VARS(u) \ |
| 19 for (u = 0; u < MAX_SCRIPT_VARIABLES; u++) |
51 for (u = 0; u < MAX_SCRIPT_VARIABLES; u++) |
| 20 #define ITERATE_SCRIPT_VARS(g) \ |
52 #define ITERATE_SCRIPT_VARS(g) \ |
| 21 for (g = g_ScriptVariable; g != null; g = g->next) |
53 for (g = g_ScriptVariable; g != null; g = g->next) |
| 22 |
54 |
| 23 ScriptVar* DeclareGlobalVariable (ScriptReader* r, type_e type, string name); |
55 script_variable* DeclareGlobalVariable (botscript_parser* r, type_e type, string name); |
| 24 deprecated unsigned int CountGlobalVars (); |
56 deprecated int CountGlobalVars (); |
| 25 ScriptVar* FindGlobalVariable (string name); |
57 script_variable* FindGlobalVariable (string name); |
| 26 |
58 |
| 27 #endif // BOTC_VARIABLES_H |
59 #endif // BOTC_VARIABLES_H |