|
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 |