_________ __ __ / _____// |_____________ _/ |______ ____ __ __ ______ \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/ / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \ /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ > \/ \/ \//_____/ \/ ______________________ ______________________ T H E W A R B E G I N S Stratagus - A free fantasy real time strategy game engine
#include <signal.h>
#include "stratagus.h"
#include "script.h"
#include "animation/animation_setplayervar.h"
#include "font.h"
#include "game.h"
#include "iocompat.h"
#include "iolib.h"
#include "map.h"
#include "parameters.h"
#include "translate.h"
#include "trigger.h"
#include "ui.h"
#include "unit.h"
Classes | |
struct | UStrInt |
script.cpp - The configuration language. | |
enum | UStrIntType { USTRINT_STR, USTRINT_INT, USTRINT_STR, USTRINT_INT, USTRINT_STR, USTRINT_INT } |
Counter for lua function. More... | |
error Missing the< filesystem > header lua_State * | Lua |
int | CclInConfigFile |
Structure to work with lua files. More... | |
NumberDesc * | Damage |
True while config file parsing. More... | |
static int | NumberCounter = 0 |
Damage calculation for missile. More... | |
static int | StringCounter = 0 |
Counter for lua function. More... | |
UStrInt | GetComponent (const CUnit &unit, int index, EnumVariable e, int t) |
Get component for unit variable. More... | |
UStrInt | GetComponent (const CUnitType &type, int index, EnumVariable e, int t) |
Get component for unit type variable. More... | |
static void | lstop (lua_State *l, lua_Debug *ar) |
static void | laction (int i) |
static int | report (int status, bool exitOnError) |
static int | luatraceback (lua_State *L) |
int | LuaCall (int narg, int clear, bool exitOnError) |
int | LuaCall (lua_State *L, int narg, int nresults, int base, bool exitOnError) |
static bool | GetFileContent (const std::string &file, std::string &content) |
int | LuaLoadFile (const std::string &file, const std::string &strArg, bool exitOnError) |
static int | CclSavePreferences (lua_State *l) |
static int | CclLoad (lua_State *l) |
static int | CclLoadBuffer (lua_State *l) |
const char * | LuaToString (lua_State *l, int narg) |
True while config file parsing. More... | |
int | LuaToNumber (lua_State *l, int narg) |
float | LuaToFloat (lua_State *l, int narg) |
unsigned int | LuaToUnsignedNumber (lua_State *l, int narg) |
bool | LuaToBoolean (lua_State *l, int narg) |
const char * | LuaToString (lua_State *l, int index, int subIndex) |
int | LuaToNumber (lua_State *l, int index, int subIndex) |
unsigned int | LuaToUnsignedNumber (lua_State *l, int index, int subIndex) |
bool | LuaToBoolean (lua_State *l, int index, int subIndex) |
void | LuaGarbageCollect () |
static void | ParseBinOp (lua_State *l, BinOp *binop) |
static CUnit ** | Str2UnitRef (lua_State *l, const char *s) |
static CUnitType ** | Str2TypeRef (lua_State *l, const char *s) |
UnitDesc * | CclParseUnitDesc (lua_State *l) |
Parse a number description. More... | |
CUnitType ** | CclParseTypeDesc (lua_State *l) |
Parse a unit description. More... | |
static int | ParseLuaFunction (lua_State *l, const char *tablename, int *counter) |
static int | CallLuaNumberFunction (unsigned int handler) |
static std::string | CallLuaStringFunction (unsigned int handler) |
NumberDesc * | CclParseNumberDesc (lua_State *l) |
StringDesc * | CclParseStringDesc (lua_State *l) |
Parse a unit type description. More... | |
CUnit * | EvalUnit (const UnitDesc *unitdesc) |
Evaluate the number. More... | |
int | EvalNumber (const NumberDesc *number) |
Parse a string description. More... | |
std::string | EvalString (const StringDesc *s) |
Evaluate the unit. More... | |
void | FreeUnitDesc (UnitDesc *) |
Free number description content. (no pointer itself). More... | |
void | FreeNumberDesc (NumberDesc *number) |
Evaluate the string. More... | |
void | FreeStringDesc (StringDesc *s) |
Free unit description content. (no pointer itself). More... | |
static int | AliasTypeVar (lua_State *l, const char *s) |
static int | AliasUnitVar (lua_State *l, const char *s) |
static int | CclUnitAttackerVar (lua_State *l) |
static int | CclUnitDefenderVar (lua_State *l) |
static int | CclActiveUnitVar (lua_State *l) |
static int | CclActiveTypeVar (lua_State *l) |
static int | Alias (lua_State *l, const char *s) |
static int | CclAdd (lua_State *l) |
static int | CclSub (lua_State *l) |
static int | CclMul (lua_State *l) |
static int | CclDiv (lua_State *l) |
static int | CclMin (lua_State *l) |
static int | CclMax (lua_State *l) |
static int | CclRand (lua_State *l) |
static int | CclGreaterThan (lua_State *l) |
static int | CclGreaterThanOrEq (lua_State *l) |
static int | CclLessThan (lua_State *l) |
static int | CclLessThanOrEq (lua_State *l) |
static int | CclEqual (lua_State *l) |
static int | CclNotEqual (lua_State *l) |
static int | CclConcat (lua_State *l) |
static int | CclString (lua_State *l) |
static int | CclInverseVideo (lua_State *l) |
static int | CclUnitName (lua_State *l) |
static int | CclIf (lua_State *l) |
static int | CclSubString (lua_State *l) |
static int | CclLine (lua_State *l) |
static int | CclGameInfo (lua_State *l) |
static int | CclVideoTextLength (lua_State *l) |
static int | CclStringFind (lua_State *l) |
static int | CclNumIf (lua_State *l) |
static int | CclPlayerData (lua_State *l) |
static int | CclPlayerName (lua_State *l) |
static void | AliasRegister () |
static int | CclStratagusLibraryPath (lua_State *l) |
static int | CclFilteredListDirectory (lua_State *l, int type, int mask) |
static int | CclListDirectory (lua_State *l) |
static int | CclListFilesInDirectory (lua_State *l) |
static int | CclListDirsInDirectory (lua_State *l) |
static int | CclSetDamageFormula (lua_State *l) |
static int | CclDebugPrint (lua_State *l) |
static int | CclRestartStratagus (lua_State *l) |
int | CclCommand (const std::string &command, bool exitOnError) |
Save user preferences. More... | |
int | tolua_stratagus_open (lua_State *tolua_S) |
void | InitLua () |
Perform garbage collection. More... | |
static std::string | ConcatTableString (const std::vector< std::string > &blockTableNames) |
static bool | IsAValidTableName (const std::string &key) |
static bool | ShouldGlobalTableBeSaved (const std::string &key) |
static bool | ShouldLocalTableBeSaved (const std::string &key) |
static bool | LuaValueToString (lua_State *l, std::string &value) |
enum UStrIntType |
|
static |
Make alias for some function.
l | lua State. |
s | FIXME: docu |
|
static |
|
static |
Make alias for some unit type Variable function.
l | lua State. |
s | FIXME: docu |
|
static |
Make alias for some unit Variable function.
l | lua State. |
s | FIXME: docu |
|
static |
Call a Lua handler
handler | handler of the lua function to call. |
|
static |
Call a Lua handler
handler | handler of the lua function to call. |
|
static |
Return equivalent lua table for . {"Type", {Type = "Active", Variable = arg1, Component = "Value" or arg2}}
l | Lua state. |
|
static |
Return equivalent lua table for . {"Unit", {Unit = "Active", Variable = arg1, Component = "Value" or arg2}}
l | Lua state. |
|
static |
Return equivalent lua table for add. {"Add", {arg1, arg2}}
l | Lua state. |
int CclCommand | ( | const std::string & | command, |
bool | exitOnError | ||
) |
Save user preferences.
Send command to ccl.
command | Zero terminated command string. |
|
static |
Return equivalent lua table for Concat. {"Concat", {arg1}}
l | Lua state. |
|
static |
Print debug message with info about current script name, line number and function.
l | Lua state. |
|
static |
Return equivalent lua table for add. {"Div", {arg1, arg2}}
l | Lua state. |
|
static |
Return equivalent lua table for Equal. {"Equal", {arg1, arg2}}
l | Lua state. |
|
static |
Return a table with the filtered items found in the subdirectory.
|
static |
Return equivalent lua table for Line. {"Line", "arg1"}
l | Lua state. |
|
static |
Return equivalent lua table for GreaterThan. {"GreaterThan", {arg1, arg2}}
l | Lua state. |
|
static |
Return equivalent lua table for GreaterThanOrEq. {"GreaterThanOrEq", {arg1, arg2}}
l | Lua state. |
|
static |
Return equivalent lua table for If. {"If", {arg1}}
l | Lua state. |
|
static |
Return equivalent lua table for InverseVideo. {"InverseVideo", {arg1}}
l | Lua state. |
|
static |
Return equivalent lua table for LessThan. {"LessThan", {arg1, arg2}}
l | Lua state. |
|
static |
Return equivalent lua table for LessThanOrEq. {"LessThanOrEq", {arg1, arg2}}
l | Lua state. |
|
static |
Return equivalent lua table for Line. {"Line", {arg1, arg2[, arg3]}}
l | Lua state. |
|
static |
Return a table with the files or directories found in the subdirectory.
|
static |
Return a table with the files found in the subdirectory.
|
static |
Return a table with the files found in the subdirectory.
|
static |
Load a file and execute it.
l | Lua state. |
|
static |
Load a file into a buffer and return it.
l | Lua state. |
|
static |
Return equivalent lua table for add. {"Max", {arg1, arg2, argn}}
l | Lua state. |
|
static |
Return equivalent lua table for add. {"Min", {arg1, arg2}}
l | Lua state. |
|
static |
Return equivalent lua table for add. {"Mul", {arg1, arg2}}
l | Lua state. |
|
static |
Return equivalent lua table for NotEqual. {"NotEqual", {arg1, arg2}}
l | Lua state. |
|
static |
Return equivalent lua table for NumIf. {"NumIf", {arg1}}
l | Lua state. |
NumberDesc* CclParseNumberDesc | ( | lua_State * | l | ) |
Return number.
l | lua state. |
StringDesc* CclParseStringDesc | ( | lua_State * | l | ) |
Parse a unit type description.
Return String description.
l | lua state. |
CUnitType** CclParseTypeDesc | ( | lua_State * | l | ) |
Parse a unit description.
Return unit type referernce definition.
l | lua state. |
UnitDesc* CclParseUnitDesc | ( | lua_State * | l | ) |
Parse a number description.
Return unit referernce definition.
l | lua state. |
|
static |
Return equivalent lua table for PlayerData. {"PlayerData", {arg1}}
l | Lua state. |
|
static |
Return equivalent lua table for PlayerName. {"PlayerName", {arg1}}
l | Lua state. |
|
static |
Return equivalent lua table for add. {"Rand", {arg1}}
l | Lua state. |
|
static |
Restart the entire game. This function only returns when an error happens.
|
static |
Save preferences
l | Lua state. |
|
static |
Set damage computation method.
l | Lua state. |
|
static |
Return the stratagus library path.
l | Lua state. |
|
static |
Return equivalent lua table for String. {"String", {arg1}}
l | Lua state. |
|
static |
Return equivalent lua table for StringFind. {"StringFind", {arg1, arg2}}
l | Lua state. |
|
static |
Return equivalent lua table for add. {"Div", {arg1, arg2}}
l | Lua state. |
|
static |
Return equivalent lua table for SubString. {"SubString", {arg1, arg2, arg3}}
l | Lua state. |
|
static |
Return equivalent lua table for . {"Unit", {Unit = "Attacker", Variable = arg1, Component = "Value" or arg2}}
l | Lua state. |
|
static |
Return equivalent lua table for . {"Unit", {Unit = "Defender", Variable = arg1, Component = "Value" or arg2}}
l | Lua state. |
|
static |
Return equivalent lua table for UnitName. {"UnitName", {arg1}}
l | Lua state. |
Example:
u_data = UnitType("unit-footman")
|
static |
Return equivalent lua table for VideoTextLength. {"VideoTextLength", {Text = arg1, Font = arg2}}
l | Lua state. |
|
static |
int EvalNumber | ( | const NumberDesc * | number | ) |
Parse a string description.
compute the number expression
number | struct with definition of the calculation. |
std::string EvalString | ( | const StringDesc * | s | ) |
Evaluate the unit.
compute the string expression
s | struct with definition of the calculation. |
Evaluate the number.
compute the Unit expression
unitdesc | struct with definition of the calculation. |
void FreeNumberDesc | ( | NumberDesc * | number | ) |
Evaluate the string.
Free the number expression content. (not the pointer itself).
number | struct to free |
void FreeStringDesc | ( | StringDesc * | s | ) |
Free unit description content. (no pointer itself).
Free the String expression content. (not the pointer itself).
s | struct to free |
Free number description content. (no pointer itself).
Free the unit expression content. (not the pointer itself).
unitdesc | struct to free |
UStrInt GetComponent | ( | const CUnit & | unit, |
int | index, | ||
EnumVariable | e, | ||
int | t | ||
) |
Get component for unit variable.
Return the value corresponding.
unit | Unit. |
index | Index of the variable. |
e | Component of the variable. |
t | Which var use (0:unit, 1:Type, 2:Stats) |
UStrInt GetComponent | ( | const CUnitType & | type, |
int | index, | ||
EnumVariable | e, | ||
int | t | ||
) |
Get component for unit type variable.
|
static |
Get the (uncompressed) content of the file into a string
void InitLua | ( | ) |
Perform garbage collection.
Initialize Lua
|
static |
|
static |
FIXME: docu
|
static |
FIXME: docu
int LuaCall | ( | int | narg, |
int | clear, | ||
bool | exitOnError | ||
) |
Call a lua function
narg | Number of arguments |
clear | Clear the return value(s) |
exitOnError | Exit the program when an error occurs |
int LuaCall | ( | lua_State * | L, |
int | narg, | ||
int | nresults, | ||
int | base, | ||
bool | exitOnError | ||
) |
Call a lua function
L | Pointer to Lua state |
narg | Number of arguments |
nresults | Number of return values |
base | Stack index of the function to call |
exitOnError | Exit the program when an error occurs |
void LuaGarbageCollect | ( | ) |
Perform lua garbage collection
int LuaLoadFile | ( | const std::string & | file, |
const std::string & | strArg, | ||
bool | exitOnError | ||
) |
Load a file and execute it
file | File to load and execute |
nargs | Number of arguments that caller has put on the stack |
bool LuaToBoolean | ( | lua_State * | l, |
int | index, | ||
int | subIndex | ||
) |
bool LuaToBoolean | ( | lua_State * | l, |
int | narg | ||
) |
Convert lua boolean to bool. It also checks type and exits in case of error.
l | Lua state. |
narg | Argument number. |
float LuaToFloat | ( | lua_State * | l, |
int | narg | ||
) |
Convert lua number in C float. It checks also type and exit in case of error.
l | Lua state. |
narg | Argument number. |
int LuaToNumber | ( | lua_State * | l, |
int | index, | ||
int | subIndex | ||
) |
int LuaToNumber | ( | lua_State * | l, |
int | narg | ||
) |
Convert lua number in C number. It checks also type and exit in case of error.
l | Lua state. |
narg | Argument number. |
const char* LuaToString | ( | lua_State * | l, |
int | index, | ||
int | subIndex | ||
) |
const char* LuaToString | ( | lua_State * | l, |
int | narg | ||
) |
True while config file parsing.
Convert lua string in char*. It checks also type and exit in case of error.
l | Lua state. |
narg | Argument number. |
unsigned int LuaToUnsignedNumber | ( | lua_State * | l, |
int | index, | ||
int | subIndex | ||
) |
unsigned int LuaToUnsignedNumber | ( | lua_State * | l, |
int | narg | ||
) |
Convert lua number in C unsigned int. It checks also type and exit in case of error.
l | Lua state. |
narg | Argument number. |
|
static |
|
static |
Parse binary operation with number.
l | lua state. |
binop | Where to stock info (must be malloced) |
|
static |
Add a Lua handler
l | lua state. |
tablename | name of the lua table. |
counter | Counter for the handler |
|
static |
Check error status, and print error message and exit if status is different of 0.
status | status of the last lua call. (0: success) |
exitOnError | exit the program on error |
|
static |
|
static |
|
static |
Convert the string to the corresponding data (which is a unit type).
l | lua state. |
s | Ident. |
|
static |
Convert the string to the corresponding data (which is a unit).
l | lua state. |
s | Ident. |
TOLUA_API int tolua_stratagus_open | ( | lua_State * | tolua_S | ) |
int CclInConfigFile |
Structure to work with lua files.
NumberDesc* Damage |
True while config file parsing.
Burning building frames.
error Missing the<filesystem> header lua_State* Lua |
|
static |
Damage calculation for missile.
|
static |
Counter for lua function.