annotate src/script/script_scanner.hpp @ 14753:3e27a2798ca0 draft

(svn r19341) -Codechange: Move GOINGUP/GOINGDOWN flags to GroundVehicle. -Codechange: Move GetSlopeResistance to GroundVehicle.
author terkhen <terkhen@openttd.org>
date Sat, 06 Mar 2010 12:50:55 +0000
parents 1c4c4ae8d716
children 41ea7460de25
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11385
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
1 /* $Id$ */
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
2
12778
bc7926153e19 (svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents: 11385
diff changeset
3 /*
bc7926153e19 (svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents: 11385
diff changeset
4 * This file is part of OpenTTD.
bc7926153e19 (svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents: 11385
diff changeset
5 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
bc7926153e19 (svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents: 11385
diff changeset
6 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
bc7926153e19 (svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents: 11385
diff changeset
7 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
bc7926153e19 (svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents: 11385
diff changeset
8 */
bc7926153e19 (svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents: 11385
diff changeset
9
11385
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
10 /** @file script_scanner.hpp Declarations of the class for the script scanner. */
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
11
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
12 #ifndef SCRIPT_SCANNER_HPP
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
13 #define SCRIPT_SCANNER_HPP
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
14
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
15 #include "../fileio_type.h"
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
16
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
17 class ScriptScanner {
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
18 public:
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
19 ScriptScanner();
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
20 ~ScriptScanner();
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
21
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
22 /**
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
23 * Get the engine of the main squirrel handler (it indexes all available scripts).
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
24 */
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
25 class Squirrel *GetEngine() { return this->engine; }
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
26
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
27 /**
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
28 * Get the current main script the ScanDir is currently tracking.
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
29 */
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
30 const char *GetMainScript() { return this->main_script; }
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
31
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
32 /**
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
33 * Rescan for scripts.
13070
1c4c4ae8d716 (svn r17570) -Fix: a number of Doxygen warnings about missing parameters, which were sometimes missing and sometimes just typos
rubidium <rubidium@openttd.org>
parents: 12778
diff changeset
34 * @param info_file_name The name of the 'info.nut' file.
11385
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
35 * @param search_dir The subdirecotry to search for scripts.
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
36 */
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
37 void ScanScriptDir(const char *info_file_name, Subdirectory search_dir);
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
38
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
39 private:
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
40 /**
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
41 * Scan a dir for scripts.
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
42 */
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
43 void ScanDir(const char *dirname, const char *info_file_name);
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
44
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
45 protected:
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
46 class Squirrel *engine;
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
47 char main_script[1024];
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
48 };
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
49
ea7a290c75a5 (svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
yexo <yexo@openttd.org>
parents:
diff changeset
50 #endif /* SCRIPT_SCANNER_HPP */