SpringScriptEngine  1.0.0
A script engine
SpringScriptEngine.h
[詳解]
1 #pragma once
2 
3 #ifdef DECLARE_HANDLE
4 DECLARE_HANDLE(HSPRINGSCRIPT);
5 DECLARE_HANDLE(HSPRINGSCRIPTVAR);
6 DECLARE_HANDLE(HCOMMANDARG);
7 #else
8 typedef struct { int unused; } *HSPRINGSCRIPT;
9 typedef struct { int unused; } *HSPRINGSCRIPTVAR;
10 typedef struct { int unused; } *HCOMMANDARG;
11 #endif
12 
13 #ifndef _DLLEXPORT
14 
15 #ifndef BOOL
16 typedef int BOOL;
17 #endif
18 #ifndef HWND
19 typedef struct { int unused; } *HWND;
20 #endif
21 #ifndef UINT
22 typedef unsigned int UINT;
23 #endif
24 #ifndef FLOAT
25 typedef float FLOAT;
26 #endif
27 #ifndef INT
28 typedef int INT;
29 #endif
30 #ifndef PostionInfo
31 typedef struct tagPostionInfo {
32  size_t uPos;
33  size_t uLine;
34 } PostionInfo;
35 #endif
36 
37 #endif
38 
40 enum VarType {
49 };
50 
57 typedef int(*ErrorCallbk)(int, int, const char*, void*);
58 
63 typedef int(*CommandCallbk)(void *, HCOMMANDARG);
64 
65 #ifdef _DLLEXPORT
66 #define DLLFUNC extern "C" __declspec(dllexport)
67 #else
68 #define DLLFUNC extern "C" __declspec(dllimport)
69 #endif
70 
73 DLLFUNC BOOL SpringScript_SetErrorCallbk(HSPRINGSCRIPT hSpringScript, HWND hWnd, ErrorCallbk pFunc, void *pUserData);
74 DLLFUNC BOOL SpringScript_Load(HSPRINGSCRIPT hSpringScript, const char *pszFileName);
75 DLLFUNC BOOL SpringScript_LoadFromMem(HSPRINGSCRIPT hSpringScript, const char *buf);
79 DLLFUNC BOOL SpringScript_RegisterCommand(HSPRINGSCRIPT hSpringScript, const char *pszName, const char *pszPrm, CommandCallbk pFunc, void *pUserData);
80 DLLFUNC BOOL SpringScript_UnregisterCommand(HSPRINGSCRIPT hSpringScript, const char *pszName);
81 DLLFUNC BOOL SpringScript_GoTo(HSPRINGSCRIPT hSpringScript, const char *pszLabel);
82 DLLFUNC BOOL SpringScript_GoTo_Event(HSPRINGSCRIPT hSpringScript, const char *pszLabel);
87 DLLFUNC BOOL SpringScript_GetLineNum(HSPRINGSCRIPT hSpringScript, size_t *pVal);
88 DLLFUNC BOOL SpringScript_Eval(HSPRINGSCRIPT hSpringScript, const char *pszExpression, int *out);
89 DLLFUNC BOOL SpringScript_Evalf(HSPRINGSCRIPT hSpringScript, const char *pszExpression, float *out);
91 DLLFUNC BOOL SpringScript_GetCmdName(HCOMMANDARG hArg, char *lpString, int nMaxCount);
96 DLLFUNC BOOL SpringScript_GetVarValStr(HSPRINGSCRIPTVAR var, char *lpString, int nMaxCount);
101 DLLFUNC BOOL SpringScript_SetVarVal(HSPRINGSCRIPTVAR var, const void *val, VarType type);
DLLFUNC HSPRINGSCRIPTVAR SpringScript_GetCmdArgPtr(HCOMMANDARG hArg, int index)
命令の引数にアクセスるためのハンドルを取得 この関数を使用して、SpringScript_GetVarVal系とSpringScrip...
Definition: SpringScriptEngine.cpp:322
DLLFUNC BOOL SpringScript_Load(HSPRINGSCRIPT hSpringScript, const char *pszFileName)
スクリプトファイルを読み込む
Definition: SpringScriptEngine.cpp:55
DLLFUNC INT SpringScript_GetVarValHnd(HSPRINGSCRIPTVAR var)
Handle型の変数の値を取得 SpringScript_GetCmdArgPtr関数で取得した引数の操作にも使用できます。 ...
Definition: SpringScriptEngine.cpp:393
int INT
Definition: SpringScriptEngine.h:28
DLLFUNC UINT SpringScript_GetCmdArgCount(HCOMMANDARG hArg)
命令の引数の数を取得
Definition: SpringScriptEngine.cpp:269
DLLFUNC BOOL SpringScript_GoTo(HSPRINGSCRIPT hSpringScript, const char *pszLabel)
ラベルへジャンプ
Definition: SpringScriptEngine.cpp:147
Definition: SpringScriptEngine.h:10
DLLFUNC INT SpringScript_GetVarValStrLen(HSPRINGSCRIPTVAR var)
String型の変数の内容の長さを取得 SpringScript_GetCmdArgPtr関数で取得した引数の操作にも使用できます。...
Definition: SpringScriptEngine.cpp:366
size_t uPos
ファイルの先頭からの位置
Definition: CScriptEngine.h:26
VarType
変数の型
Definition: SpringScriptEngine.h:40
変数(参照)
Definition: SpringScriptEngine.h:45
unsigned int UINT
Definition: SpringScriptEngine.h:22
int unused
Definition: SpringScriptEngine.h:8
DLLFUNC BOOL SpringScript_GetPostion(HSPRINGSCRIPT hSpringScript, PostionInfo *pi)
解析中のスクリプトの位置を取得
Definition: SpringScriptEngine.cpp:174
DLLFUNC HSPRINGSCRIPT SpringScript_CreateInstance()
SpringScriptEngineのインスタンスを作成
Definition: SpringScriptEngine.cpp:17
整数
Definition: SpringScriptEngine.h:41
Definition: SpringScriptEngine.h:9
int(* ErrorCallbk)(int, int, const char *, void *)
エラー発生時に呼び出されるコールバック関数
Definition: SpringScriptEngine.h:57
DLLFUNC BOOL SpringScript_SetPostionForce(HSPRINGSCRIPT hSpringScript, const PostionInfo *pi)
解析中のスクリプトの位置を移動 SpringScript_SetPostion関数と違い、飛んだ先の行を無視して次の行から開...
Definition: SpringScriptEngine.cpp:214
不明
Definition: SpringScriptEngine.h:46
DLLFUNC INT SpringScript_GetVarValInt(HSPRINGSCRIPTVAR var)
Integer型の変数の値を取得 SpringScript_GetCmdArgPtr関数で取得した引数の操作にも使用できます。 ...
Definition: SpringScriptEngine.cpp:336
Definition: SpringScriptEngine.h:48
DLLFUNC BOOL SpringScript_RegisterCommand(HSPRINGSCRIPT hSpringScript, const char *pszName, const char *pszPrm, CommandCallbk pFunc, void *pUserData)
命令を登録
Definition: SpringScriptEngine.cpp:121
DLLFUNC BOOL SpringScript_SetPostion(HSPRINGSCRIPT hSpringScript, const PostionInfo *pi)
解析中のスクリプトの位置を移動 サブルーチンジャンプの復帰などに使用します。
Definition: SpringScriptEngine.cpp:200
int unused
Definition: SpringScriptEngine.h:9
Definition: SpringScriptEngine.h:19
size_t uLine
処理中の行
Definition: CScriptEngine.h:27
int BOOL
Definition: SpringScriptEngine.h:16
Definition: SpringScriptEngine.h:8
実数
Definition: SpringScriptEngine.h:43
DLLFUNC BOOL SpringScript_Break(HSPRINGSCRIPT hSpringScript)
スクリプトの実行を中止 スクリプト実行中にSpringScript_Run関数を呼び出した場合は、最後に呼び出したSpr...
Definition: SpringScriptEngine.cpp:92
DLLFUNC BOOL SpringScript_SetVarVal(HSPRINGSCRIPTVAR var, const void *val, VarType type)
変数の値を設定 SpringScript_GetCmdArgPtr関数で取得した引数の操作にも使用できます。 ...
Definition: SpringScriptEngine.cpp:421
DLLFUNC HSPRINGSCRIPTVAR SpringScript_GetVarValRef(HSPRINGSCRIPTVAR var)
Variable型(参照)の変数の値を取得 SpringScript_GetCmdArgPtr関数で取得した引数の操作にも使用できます。...
Definition: SpringScriptEngine.cpp:406
DLLFUNC BOOL SpringScript_GetPostionLH(HSPRINGSCRIPT hSpringScript, PostionInfo *pi)
解析中のスクリプトの位置を取得2 SpringScript_GetPostion関数と違い、先頭からのバッファ位置を示すPosti...
Definition: SpringScriptEngine.cpp:187
文字列
Definition: SpringScriptEngine.h:42
DLLFUNC BOOL SpringScript_GoTo_Event(HSPRINGSCRIPT hSpringScript, const char *pszLabel)
ラベルへジャンプ2 SpringScript_Run()を呼び出す前にラベルにジャンプしておきたい場合はこちらを使用しま...
Definition: SpringScriptEngine.cpp:161
DLLFUNC BOOL SpringScript_GetVarValStr(HSPRINGSCRIPTVAR var, char *lpString, int nMaxCount)
String型の変数の内容を取得 SpringScript_GetCmdArgPtr関数で取得した引数の操作にも使用できます。 ...
Definition: SpringScriptEngine.cpp:351
DLLFUNC BOOL SpringScript_Exit(HSPRINGSCRIPT hSpringScript)
スクリプトの実行をすべて中止 スクリプト実行中に呼び出したSpringScript_Run関数を含め、すべての実行を...
Definition: SpringScriptEngine.cpp:104
DLLFUNC BOOL SpringScript_UnregisterCommand(HSPRINGSCRIPT hSpringScript, const char *pszName)
命令を削除
Definition: SpringScriptEngine.cpp:134
int(* CommandCallbk)(void *, HCOMMANDARG)
命令実行時に呼び出されるコールバック関数
Definition: SpringScriptEngine.h:63
DLLFUNC BOOL SpringScript_GetLineNum(HSPRINGSCRIPT hSpringScript, size_t *pVal)
行位置を取得
Definition: SpringScriptEngine.cpp:226
DLLFUNC BOOL SpringScript_GetCmdName(HCOMMANDARG hArg, char *lpString, int nMaxCount)
呼び出された命令の名前を取得
Definition: SpringScriptEngine.cpp:282
DLLFUNC BOOL SpringScript_Eval(HSPRINGSCRIPT hSpringScript, const char *pszExpression, int *out)
数式を計算
Definition: SpringScriptEngine.cpp:240
#define DLLFUNC
Definition: SpringScriptEngine.h:68
DLLFUNC BOOL SpringScript_Run(HSPRINGSCRIPT hSpringScript)
スクリプトを実行
Definition: SpringScriptEngine.cpp:80
DLLFUNC FLOAT SpringScript_GetVarValFloat(HSPRINGSCRIPTVAR var)
Float型の変数の値を取得 SpringScript_GetCmdArgPtr関数で取得した引数の操作にも使用できます。 ...
Definition: SpringScriptEngine.cpp:380
int unused
Definition: SpringScriptEngine.h:10
DLLFUNC BOOL SpringScript_Evalf(HSPRINGSCRIPT hSpringScript, const char *pszExpression, float *out)
数式を計算(float) SpringScript_Eval関数と違い、結果をfloatで出力します。
Definition: SpringScriptEngine.cpp:256
DLLFUNC VarType SpringScript_GetCmdArgType(HCOMMANDARG hArg, int index)
命令の引数の型を取得
Definition: SpringScriptEngine.cpp:307
DLLFUNC BOOL SpringScript_LoadFromMem(HSPRINGSCRIPT hSpringScript, const char *buf)
スクリプトファイルをメモリから読み込む
Definition: SpringScriptEngine.cpp:68
DLLFUNC BOOL SpringScript_SetErrorCallbk(HSPRINGSCRIPT hSpringScript, HWND hWnd, ErrorCallbk pFunc, void *pUserData)
エラー発生の呼び出すコールバック関数を設定
Definition: SpringScriptEngine.cpp:42
float FLOAT
Definition: SpringScriptEngine.h:25
Definition: SpringScriptEngine.h:47
DLLFUNC INT SpringScript_GetCmdNameLen(HCOMMANDARG hArg)
呼び出された命令の名前の長さを取得 SpringScript_GetCmdArgPtr関数で取得した引数の操作にも使用できます...
Definition: SpringScriptEngine.cpp:295
DLLFUNC BOOL SpringScript_DestroyInstance(HSPRINGSCRIPT hSpringScript)
SpringScriptEngineのインスタンスを破棄
Definition: SpringScriptEngine.cpp:27
ハンドル
Definition: SpringScriptEngine.h:44
Definition: CScriptEngine.h:25
struct tagPostionInfo PostionInfo
int unused
Definition: SpringScriptEngine.h:19