forked from mirror/OpenTTD
(svn r15027) -Merge: tomatos and bananas left to be, here is NoAI for all to see.
NoAI is an API (a framework) to build your own AIs in. See: http://wiki.openttd.org/wiki/index.php/AI:Main_Page With many thanks to: - glx and Rubidium for their syncing, feedback and hard work - Yexo for his feedback, patches, and AIs which tested the system very deep - Morloth for his feedback and patches - TJIP for hosting a challenge which kept NoAI on track - All AI authors for testing our AI API, and all other people who helped in one way or another -Remove: all old AIs and their cheats/hacks
This commit is contained in:
60
src/script/squirrel_std.hpp
Normal file
60
src/script/squirrel_std.hpp
Normal file
@@ -0,0 +1,60 @@
|
||||
/* $Id$ */
|
||||
|
||||
/** @file squirrel_std.hpp defines the Squirrel Standard Function class */
|
||||
|
||||
#ifndef SQUIRREL_STD_HPP
|
||||
#define SQUIRREL_STD_HPP
|
||||
|
||||
#if defined(__APPLE__)
|
||||
/* Which idiotic system makes 'require' a macro? :s Oh well.... */
|
||||
#undef require
|
||||
#endif /* __APPLE__ */
|
||||
|
||||
/**
|
||||
* By default we want to give a set of standard commands to a SQ script.
|
||||
* Most of them are easy wrappers around internal functions. Of course we
|
||||
* could just as easy include things like the stdmath of SQ, but of those
|
||||
* functions we are sure they work on all our supported targets.
|
||||
*/
|
||||
class SquirrelStd {
|
||||
public:
|
||||
/**
|
||||
* Make an integer absolute.
|
||||
*/
|
||||
static SQInteger abs(HSQUIRRELVM vm);
|
||||
|
||||
/**
|
||||
* Get the lowest of two integers.
|
||||
*/
|
||||
static SQInteger min(HSQUIRRELVM vm);
|
||||
|
||||
/**
|
||||
* Get the highest of two integers.
|
||||
*/
|
||||
static SQInteger max(HSQUIRRELVM vm);
|
||||
|
||||
/**
|
||||
* Load an other file on runtime.
|
||||
* @note This is always loaded on the root-level, no matter where you call this.
|
||||
* @note The filename is always relative from the script it is called from. Absolute calls are NOT allowed!
|
||||
*/
|
||||
static SQInteger require(HSQUIRRELVM vm);
|
||||
|
||||
/**
|
||||
* Enable/disable stack trace showing for handled exceptions.
|
||||
*/
|
||||
static SQInteger notifyallexceptions(HSQUIRRELVM vm);
|
||||
};
|
||||
|
||||
/**
|
||||
* Register all standard functions we want to give to a script.
|
||||
*/
|
||||
void squirrel_register_std(Squirrel *engine);
|
||||
|
||||
/**
|
||||
* Register all standard functions that are available on first startup.
|
||||
* @note this set is very limited, and is only ment to load other scripts and things like that.
|
||||
*/
|
||||
void squirrel_register_global_std(Squirrel *engine);
|
||||
|
||||
#endif /* SQUIRREL_STD_HPP */
|
Reference in New Issue
Block a user