From 53c3ce4483345de4e148c358b282eeb2786d2859 Mon Sep 17 00:00:00 2001 From: n00b87 Date: Mon, 22 Apr 2024 17:26:52 -0500 Subject: [PATCH] ArrayDim now works with type members --- rcbasic_build/embedded_functions.bas | 7 + rcbasic_build/main.cpp | 12 +- rcbasic_build/parser.h | 187 +--- rcbasic_build/rcbasic_dev.txt | 1428 ++++++++++++++++++++++++++ rcbasic_build/rcbasic_dev2.txt | 1428 ++++++++++++++++++++++++++ rcbasic_build/rcbasic_dev3.txt | 950 +++++++++++++++++ rcbasic_runtime/main.cpp | 39 +- 7 files changed, 3883 insertions(+), 168 deletions(-) create mode 100644 rcbasic_build/rcbasic_dev.txt create mode 100644 rcbasic_build/rcbasic_dev2.txt create mode 100644 rcbasic_build/rcbasic_dev3.txt diff --git a/rcbasic_build/embedded_functions.bas b/rcbasic_build/embedded_functions.bas index 22c6eee..e921078 100644 --- a/rcbasic_build/embedded_functions.bas +++ b/rcbasic_build/embedded_functions.bas @@ -514,3 +514,10 @@ sub IncrementMatrixRows(mA, mB, r, num_rows, value) sub IncrementMatrixColumns(mA, mB, c, num_cols, value) sub JoinMatrixRows(mA, mB, mC) sub JoinMatrixColumns(mA, mB, mC) + +'v4.0 +function TypeArrayDim(Byref id$) +function TypeArraySize(Byref id, array_dim) +sub TypeArrayCopy(ByRef src, ByRef dst) +sub TypeArrayFill(ByRef src, fdata) + diff --git a/rcbasic_build/main.cpp b/rcbasic_build/main.cpp index 9f9dcb5..0930019 100644 --- a/rcbasic_build/main.cpp +++ b/rcbasic_build/main.cpp @@ -599,11 +599,11 @@ bool rc_eval(string line) //cout << "i = " << i << " tmp_token_size = " << tmp_token.size() << endl; if(tmp_token[i].compare("<:>")==0) break; - else if(!Array_Macros(i)) - { - //cout << "ERROR:" << rc_getError() << endl; - return false; - } + //else if(!Array_Macros(i)) + //{ + // cout << "ERROR:" << rc_getError() << endl; + // return false; + //} //cout << "### tmp_token[" << i << "] = "; //cout << tmp_token[i] << endl; token.push_back(tmp_token[i]); @@ -998,7 +998,7 @@ int main(int argc, char * argv[]) { string line = ""; - //rcbasic_dev("embedded_functions.bas"); return 0; + rcbasic_dev("embedded_functions.bas"); return 0; string rc_filename = "";// = "tst.bas"; diff --git a/rcbasic_build/parser.h b/rcbasic_build/parser.h index dd00be2..5b8b88e 100644 --- a/rcbasic_build/parser.h +++ b/rcbasic_build/parser.h @@ -1961,155 +1961,7 @@ bool pre_parse(int start_token = 0, int end_token = -1, int pp_flags, bool eval_ int resolve_id2 = -1; int arg_index = -1; - if(StringToLower(id[expr_id].name).compare("arraydim")==0) - { - //cout << "HERES JOHNNY" << endl; - resolve_index = getResolveReg(args[0]); - if(resolve_index < 0) - { - rc_setError("Expected Identifier in ArrayDim argument: " + args[0]); - return false; - } - switch(resolveID_id_type[resolve_index]) - { - case ID_TYPE_ARR_NUM: - case ID_TYPE_BYREF_NUM: - case ID_TYPE_NUM: - expr_id = getIDInScope_ByIndex("NumberArrayDim"); - break; - case ID_TYPE_ARR_STR: - case ID_TYPE_BYREF_STR: - case ID_TYPE_STR: - expr_id = getIDInScope_ByIndex("StringArrayDim"); - break; - } - if(expr_id < 0) - { - rc_setError("ArrayDim Syntax Error"); - return false; - } - } - else if(StringToLower(id[expr_id].name).compare("arraysize")==0) - { - //cout << "HERES JOHNNY" << endl; - resolve_index = getResolveReg(args[0]); - if(resolve_index < 0) - { - rc_setError("Expected Identifier in ArraySize argument: " +args[0]); - return false; - } - switch(resolveID_id_type[resolve_index]) - { - case ID_TYPE_ARR_NUM: - case ID_TYPE_BYREF_NUM: - case ID_TYPE_NUM: - expr_id = getIDInScope_ByIndex("NumberArraySize"); - break; - case ID_TYPE_ARR_STR: - case ID_TYPE_BYREF_STR: - case ID_TYPE_STR: - expr_id = getIDInScope_ByIndex("StringArraySize"); - break; - } - if(expr_id < 0) - { - rc_setError("ArraySize Syntax Error"); - return false; - } - } - else if(StringToLower(id[expr_id].name).compare("arraycopy")==0) - { - //cout << "HERES JOHNNY" << endl; - if(num_args != 2) - { - rc_setError("ArrayCopy expects 2 arguments"); - return false; - } - - resolve_index = getResolveReg(args[0]); - resolve_index2 = getResolveReg(args[1]); - - if(resolve_index < 0 || resolve_index2 < 0) - { - rc_setError("Expected Identifier in ArrayCopy argument: " +args[0]); - return false; - } - - resolve_id = resolveID_id_vec_pos[resolve_index]; - resolve_id2 = resolveID_id_vec_pos[resolve_index2]; - - switch(resolveID_id_type[resolve_index]) - { - case ID_TYPE_ARR_NUM: - case ID_TYPE_BYREF_NUM: - case ID_TYPE_NUM: - expr_id = getIDInScope_ByIndex("NumberArrayCopy"); - if(resolveID_id_type[resolve_index2] != ID_TYPE_ARR_NUM && - resolveID_id_type[resolve_index2] != ID_TYPE_BYREF_NUM && - resolveID_id_type[resolve_index2] != ID_TYPE_NUM) - { - rc_setError("ArrayCopy argument types don't match"); - return false; - } - - if(id[resolve_id].num_args != id[resolve_id2].num_args) - { - rc_setError("ArrayCopy dimensions don't match"); - return false; - } - break; - case ID_TYPE_ARR_STR: - case ID_TYPE_BYREF_STR: - case ID_TYPE_STR: - expr_id = getIDInScope_ByIndex("StringArrayCopy"); - if(resolveID_id_type[resolve_index2] != ID_TYPE_ARR_STR && - resolveID_id_type[resolve_index2] != ID_TYPE_BYREF_STR && - resolveID_id_type[resolve_index2] != ID_TYPE_STR) - { - rc_setError("ArrayCopy argument types don't match"); - return false; - } - if(id[resolve_id].num_args != id[resolve_id2].num_args) - { - rc_setError("ArrayCopy dimensions don't match"); - return false; - } - break; - } - if(expr_id < 0) - { - rc_setError("ArrayCopy Syntax Error"); - return false; - } - } - else if(StringToLower(id[expr_id].name).compare("arrayfill")==0) - { - //cout << "HERES JOHNNY" << endl; - resolve_index = getResolveReg(args[0]); - if(resolve_index < 0) - { - rc_setError("Expected Identifier in ArrayFill argument: " + args[0]); - return false; - } - switch(resolveID_id_type[resolve_index]) - { - case ID_TYPE_ARR_NUM: - case ID_TYPE_BYREF_NUM: - case ID_TYPE_NUM: - expr_id = getIDInScope_ByIndex("NumberArrayFill"); - break; - case ID_TYPE_ARR_STR: - case ID_TYPE_BYREF_STR: - case ID_TYPE_STR: - expr_id = getIDInScope_ByIndex("StringArrayFill"); - break; - } - if(expr_id < 0) - { - rc_setError("ArrayFill Syntax Error"); - return false; - } - } + bool local_state_is_pushed = false; //this variable checks will be set to true if the following function call is recursive if(block_state.size() > 0) @@ -2232,13 +2084,48 @@ bool pre_parse(int start_token = 0, int end_token = -1, int pp_flags, bool eval_ return false; }*/ + //Array Functions + string tmp_fn_name = StringToLower(id[expr_id].name); + if(tmp_fn_name.compare("arraydim")==0) + { + int tmp_id_type = -1; + + if(args[n].substr(0,4).compare("")==0) + { + int tmp_id = getIDInScope_ByIndex(args[n].substr(4)); + + if(tmp_id >= 0) + tmp_id_type = id[tmp_id].type; + } + + + if(args[n].substr(0,1).compare("n")==0 || tmp_id_type == ID_TYPE_NUM || tmp_id_type == ID_TYPE_ARR_NUM || tmp_id_type == ID_TYPE_BYREF_NUM) + expr_id = getIDInScope_ByIndex("numberarraydim"); + else if(args[n].substr(0,1).compare("s")==0 || tmp_id_type == ID_TYPE_STR || tmp_id_type == ID_TYPE_ARR_STR || tmp_id_type == ID_TYPE_BYREF_STR) + expr_id = getIDInScope_ByIndex("stringarraydim"); + else if(args[n].substr(0,1).compare("u")==0) + expr_id = getIDInScope_ByIndex("typearraydim"); + else + { + rc_setError("Expected valid array identifier: " + args[n]); + expr_id = -1; + } + + if(expr_id < 0) + { + rc_setError("ArrayDim macro function does not exists for variable type"); + return false; + } + } + //-------------------------------- + if(type_exception_found) switch(id[expr_id].fn_arg_type[n]) { case ID_TYPE_BYREF_NUM: if(args[n].substr(0,1).compare("n")!=0) { - rc_setError("Expected number identifier for argument"); + rc_setError("Expected number identifier for argument in " + id[expr_id].name); return false; } vm_asm.push_back("ptr !" + rc_intToString(id[expr_id].fn_arg_vec[n]) + " " + args[n]); diff --git a/rcbasic_build/rcbasic_dev.txt b/rcbasic_build/rcbasic_dev.txt new file mode 100644 index 0000000..f94fe85 --- /dev/null +++ b/rcbasic_build/rcbasic_dev.txt @@ -0,0 +1,1428 @@ +embed_function("FPrint", ID_TYPE_SUB); +add_embedded_arg("txt$", ID_TYPE_STR); +embed_function("Input$", ID_TYPE_FN_STR); +add_embedded_arg("prompt$", ID_TYPE_STR); +embed_function("ArrayDim", ID_TYPE_FN_NUM); +add_embedded_arg("id", ID_TYPE_BYREF_NUM); +embed_function("StringArrayDim", ID_TYPE_FN_NUM); +add_embedded_arg("id$", ID_TYPE_BYREF_STR); +embed_function("NumberArrayDim", ID_TYPE_FN_NUM); +add_embedded_arg("id", ID_TYPE_BYREF_NUM); +embed_function("ArraySize", ID_TYPE_FN_NUM); +add_embedded_arg("id", ID_TYPE_BYREF_NUM); +add_embedded_arg("array_dim", ID_TYPE_NUM); +embed_function("StringArraySize", ID_TYPE_FN_NUM); +add_embedded_arg("id$", ID_TYPE_BYREF_STR); +add_embedded_arg("array_dim", ID_TYPE_NUM); +embed_function("NumberArraySize", ID_TYPE_FN_NUM); +add_embedded_arg("id", ID_TYPE_BYREF_NUM); +add_embedded_arg("array_dim", ID_TYPE_NUM); +embed_function("Abs", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("ACos", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("AndBit", ID_TYPE_FN_NUM); +add_embedded_arg("a", ID_TYPE_NUM); +add_embedded_arg("b", ID_TYPE_NUM); +embed_function("ASin", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("ATan", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Bin$", ID_TYPE_FN_STR); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("CInt32", ID_TYPE_FN_NUM); +add_embedded_arg("i", ID_TYPE_NUM); +embed_function("CInt64", ID_TYPE_FN_NUM); +add_embedded_arg("i", ID_TYPE_NUM); +embed_function("Cos", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Degrees", ID_TYPE_FN_NUM); +add_embedded_arg("r", ID_TYPE_NUM); +embed_function("Exp", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Frac", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Hex$", ID_TYPE_FN_STR); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("HexVal", ID_TYPE_FN_NUM); +add_embedded_arg("n$", ID_TYPE_STR); +embed_function("Int", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Log", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Max", ID_TYPE_FN_NUM); +add_embedded_arg("a", ID_TYPE_NUM); +add_embedded_arg("b", ID_TYPE_NUM); +embed_function("Min", ID_TYPE_FN_NUM); +add_embedded_arg("a", ID_TYPE_NUM); +add_embedded_arg("b", ID_TYPE_NUM); +embed_function("OrBit", ID_TYPE_FN_NUM); +add_embedded_arg("a", ID_TYPE_NUM); +add_embedded_arg("b", ID_TYPE_NUM); +embed_function("Radians", ID_TYPE_FN_NUM); +add_embedded_arg("d", ID_TYPE_NUM); +embed_function("Randomize", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Rand", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Round", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Sign", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Sin", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Sqrt", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Tan", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("XOrBit", ID_TYPE_FN_NUM); +add_embedded_arg("a", ID_TYPE_NUM); +add_embedded_arg("b", ID_TYPE_NUM); +embed_function("Asc", ID_TYPE_FN_NUM); +add_embedded_arg("c$", ID_TYPE_STR); +embed_function("Chr$", ID_TYPE_FN_STR); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Insert$", ID_TYPE_FN_STR); +add_embedded_arg("src$", ID_TYPE_STR); +add_embedded_arg("tgt$", ID_TYPE_STR); +add_embedded_arg("pos", ID_TYPE_NUM); +embed_function("InStr", ID_TYPE_FN_NUM); +add_embedded_arg("src$", ID_TYPE_STR); +add_embedded_arg("substr$", ID_TYPE_STR); +embed_function("LCase$", ID_TYPE_FN_STR); +add_embedded_arg("src$", ID_TYPE_STR); +embed_function("Left$", ID_TYPE_FN_STR); +add_embedded_arg("src$", ID_TYPE_STR); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Length", ID_TYPE_FN_NUM); +add_embedded_arg("src$", ID_TYPE_STR); +embed_function("Len", ID_TYPE_FN_NUM); +add_embedded_arg("src$", ID_TYPE_STR); +embed_function("LTrim$", ID_TYPE_FN_STR); +add_embedded_arg("src$", ID_TYPE_STR); +embed_function("Mid$", ID_TYPE_FN_STR); +add_embedded_arg("src$", ID_TYPE_STR); +add_embedded_arg("start", ID_TYPE_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("ReplaceSubstr$", ID_TYPE_FN_STR); +add_embedded_arg("src$", ID_TYPE_STR); +add_embedded_arg("rpc$", ID_TYPE_STR); +add_embedded_arg("pos", ID_TYPE_NUM); +embed_function("Replace$", ID_TYPE_FN_STR); +add_embedded_arg("src$", ID_TYPE_STR); +add_embedded_arg("tgt$", ID_TYPE_STR); +add_embedded_arg("rpc$", ID_TYPE_STR); +embed_function("Reverse$", ID_TYPE_FN_STR); +add_embedded_arg("src$", ID_TYPE_STR); +embed_function("Right$", ID_TYPE_FN_STR); +add_embedded_arg("src$", ID_TYPE_STR); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("RTrim$", ID_TYPE_FN_STR); +add_embedded_arg("src$", ID_TYPE_STR); +embed_function("StringFill$", ID_TYPE_FN_STR); +add_embedded_arg("src$", ID_TYPE_STR); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Str$", ID_TYPE_FN_STR); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Str_F$", ID_TYPE_FN_STR); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Str_S$", ID_TYPE_FN_STR); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Tally", ID_TYPE_FN_NUM); +add_embedded_arg("src$", ID_TYPE_STR); +add_embedded_arg("substr$", ID_TYPE_STR); +embed_function("Trim$", ID_TYPE_FN_STR); +add_embedded_arg("src$", ID_TYPE_STR); +embed_function("UCase$", ID_TYPE_FN_STR); +add_embedded_arg("src$", ID_TYPE_STR); +embed_function("Val", ID_TYPE_FN_NUM); +add_embedded_arg("n$", ID_TYPE_STR); +embed_function("Stack_N", ID_TYPE_SUB); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Stack_S", ID_TYPE_SUB); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Push_N", ID_TYPE_SUB); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("Pop_N", ID_TYPE_FN_NUM); +embed_function("Push_S", ID_TYPE_SUB); +add_embedded_arg("s$", ID_TYPE_STR); +embed_function("Pop_S$", ID_TYPE_FN_STR); +embed_function("Stack_Size_N", ID_TYPE_FN_NUM); +embed_function("Stack_Size_S", ID_TYPE_FN_NUM); +embed_function("FileOpen", ID_TYPE_FN_NUM); +add_embedded_arg("stream", ID_TYPE_NUM); +add_embedded_arg("fileName$", ID_TYPE_STR); +add_embedded_arg("mode", ID_TYPE_NUM); +embed_function("FileClose", ID_TYPE_SUB); +add_embedded_arg("stream", ID_TYPE_NUM); +embed_function("ReadByte", ID_TYPE_FN_NUM); +add_embedded_arg("stream", ID_TYPE_NUM); +embed_function("WriteByte", ID_TYPE_SUB); +add_embedded_arg("stream", ID_TYPE_NUM); +add_embedded_arg("byte", ID_TYPE_NUM); +embed_function("ReadLine$", ID_TYPE_FN_STR); +add_embedded_arg("stream", ID_TYPE_NUM); +embed_function("Write", ID_TYPE_SUB); +add_embedded_arg("stream", ID_TYPE_NUM); +add_embedded_arg("txt$", ID_TYPE_STR); +embed_function("WriteLine", ID_TYPE_SUB); +add_embedded_arg("stream", ID_TYPE_NUM); +add_embedded_arg("txt$", ID_TYPE_STR); +embed_function("CopyFile", ID_TYPE_SUB); +add_embedded_arg("src$", ID_TYPE_STR); +add_embedded_arg("dst$", ID_TYPE_STR); +embed_function("RemoveFile", ID_TYPE_FN_NUM); +add_embedded_arg("fileName$", ID_TYPE_STR); +embed_function("FileExists", ID_TYPE_FN_NUM); +add_embedded_arg("fileName$", ID_TYPE_STR); +embed_function("MoveFile", ID_TYPE_FN_NUM); +add_embedded_arg("src$", ID_TYPE_STR); +add_embedded_arg("dst$", ID_TYPE_STR); +embed_function("RenameFile", ID_TYPE_FN_NUM); +add_embedded_arg("src$", ID_TYPE_STR); +add_embedded_arg("dst$", ID_TYPE_STR); +embed_function("FileLength", ID_TYPE_FN_NUM); +add_embedded_arg("fileName$", ID_TYPE_STR); +embed_function("Tell", ID_TYPE_FN_NUM); +add_embedded_arg("stream", ID_TYPE_NUM); +embed_function("Seek", ID_TYPE_FN_NUM); +add_embedded_arg("stream", ID_TYPE_NUM); +add_embedded_arg("pos", ID_TYPE_NUM); +embed_function("EOF", ID_TYPE_FN_NUM); +add_embedded_arg("stream", ID_TYPE_NUM); +embed_function("FreeFile", ID_TYPE_FN_NUM); +embed_function("ChangeDir", ID_TYPE_SUB); +add_embedded_arg("p$", ID_TYPE_STR); +embed_function("DirExists", ID_TYPE_FN_NUM); +add_embedded_arg("p$", ID_TYPE_STR); +embed_function("DirFirst$", ID_TYPE_FN_STR); +embed_function("Dir$", ID_TYPE_FN_STR); +embed_function("DirNext$", ID_TYPE_FN_STR); +embed_function("MakeDir", ID_TYPE_FN_NUM); +add_embedded_arg("p$", ID_TYPE_STR); +embed_function("RemoveDir", ID_TYPE_FN_NUM); +add_embedded_arg("p$", ID_TYPE_STR); +embed_function("Date$", ID_TYPE_FN_STR); +embed_function("Easter$", ID_TYPE_FN_STR); +add_embedded_arg("year", ID_TYPE_NUM); +embed_function("Ticks", ID_TYPE_FN_NUM); +embed_function("Time$", ID_TYPE_FN_STR); +embed_function("Timer", ID_TYPE_FN_NUM); +embed_function("Wait", ID_TYPE_SUB); +add_embedded_arg("m_sec", ID_TYPE_NUM); +embed_function("WindowOpen", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("title$", ID_TYPE_STR); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +add_embedded_arg("flag", ID_TYPE_NUM); +add_embedded_arg("vsync", ID_TYPE_NUM); +embed_function("WindowClose", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("RaiseWindow", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("Window", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("Update", ID_TYPE_SUB); +embed_function("Cls", ID_TYPE_SUB); +embed_function("SetClearColor", ID_TYPE_SUB); +add_embedded_arg("c", ID_TYPE_NUM); +embed_function("ShowWindow", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("HideWindow", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("SetWindowTitle", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("title$", ID_TYPE_STR); +embed_function("WindowTitle$", ID_TYPE_FN_STR); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("SetWindowPosition", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +embed_function("GetWindowPosition", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_BYREF_NUM); +add_embedded_arg("y", ID_TYPE_BYREF_NUM); +embed_function("SetWindowSize", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +embed_function("GetWindowSize", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_BYREF_NUM); +add_embedded_arg("h", ID_TYPE_BYREF_NUM); +embed_function("SetWindowMinSize", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +embed_function("GetWindowMinSize", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_BYREF_NUM); +add_embedded_arg("h", ID_TYPE_BYREF_NUM); +embed_function("SetWindowMaxSize", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +embed_function("GetWindowMaxSize", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_BYREF_NUM); +add_embedded_arg("h", ID_TYPE_BYREF_NUM); +embed_function("WindowIsFullscreen", ID_TYPE_FN_NUM); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("WindowIsVisible", ID_TYPE_FN_NUM); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("WindowIsBordered", ID_TYPE_FN_NUM); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("WindowIsResizable", ID_TYPE_FN_NUM); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("WindowIsMinimized", ID_TYPE_FN_NUM); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("WindowIsMaximized", ID_TYPE_FN_NUM); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("WindowHasInputFocus", ID_TYPE_FN_NUM); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("WindowHasMouseFocus", ID_TYPE_FN_NUM); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("SetWindowFullscreen", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("flag", ID_TYPE_NUM); +embed_function("MaximizeWindow", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("MinimizeWindow", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("SetWindowBorder", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("flag", ID_TYPE_NUM); +embed_function("WindowClip", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +embed_function("WindowExists", ID_TYPE_FN_NUM); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("NumWindows", ID_TYPE_FN_NUM); +embed_function("WindowEvent_Close", ID_TYPE_FN_NUM); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("WindowEvent_Maximize", ID_TYPE_FN_NUM); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("WindowEvent_Minimize", ID_TYPE_FN_NUM); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("ActiveWindow", ID_TYPE_FN_NUM); +embed_function("FPS", ID_TYPE_FN_NUM); +embed_function("SetWindowIcon", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("slot", ID_TYPE_NUM); +embed_function("CanvasOpen", ID_TYPE_SUB); +add_embedded_arg("c_num", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +add_embedded_arg("viewport_x", ID_TYPE_NUM); +add_embedded_arg("viewport_y", ID_TYPE_NUM); +add_embedded_arg("viewport_w", ID_TYPE_NUM); +add_embedded_arg("viewport_h", ID_TYPE_NUM); +add_embedded_arg("mode", ID_TYPE_NUM); +embed_function("CanvasClose", ID_TYPE_SUB); +add_embedded_arg("c_num", ID_TYPE_NUM); +embed_function("SetCanvasVisible", ID_TYPE_SUB); +add_embedded_arg("c_num", ID_TYPE_NUM); +add_embedded_arg("flag", ID_TYPE_NUM); +embed_function("CanvasIsVisible", ID_TYPE_FN_NUM); +add_embedded_arg("c_num", ID_TYPE_NUM); +embed_function("SetCanvasViewport", ID_TYPE_SUB); +add_embedded_arg("cnum", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +embed_function("GetCanvasViewport", ID_TYPE_SUB); +add_embedded_arg("c_num", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_BYREF_NUM); +add_embedded_arg("y", ID_TYPE_BYREF_NUM); +add_embedded_arg("w", ID_TYPE_BYREF_NUM); +add_embedded_arg("h", ID_TYPE_BYREF_NUM); +embed_function("Canvas", ID_TYPE_SUB); +add_embedded_arg("c_num", ID_TYPE_NUM); +embed_function("SetCanvasOffset", ID_TYPE_SUB); +add_embedded_arg("c_num", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +embed_function("GetCanvasOffset", ID_TYPE_SUB); +add_embedded_arg("c_num", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_BYREF_NUM); +add_embedded_arg("y", ID_TYPE_BYREF_NUM); +embed_function("GetCanvasSize", ID_TYPE_SUB); +add_embedded_arg("c_num", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_BYREF_NUM); +add_embedded_arg("h", ID_TYPE_BYREF_NUM); +embed_function("ClearCanvas", ID_TYPE_SUB); +embed_function("SetCanvasAlpha", ID_TYPE_SUB); +add_embedded_arg("c_num", ID_TYPE_NUM); +add_embedded_arg("a", ID_TYPE_NUM); +embed_function("CanvasAlpha", ID_TYPE_FN_NUM); +add_embedded_arg("c_num", ID_TYPE_NUM); +embed_function("SetCanvasBlendMode", ID_TYPE_FN_NUM); +add_embedded_arg("c_num", ID_TYPE_NUM); +add_embedded_arg("blend_mode", ID_TYPE_NUM); +embed_function("CanvasBlendMode", ID_TYPE_FN_NUM); +add_embedded_arg("c_num", ID_TYPE_NUM); +embed_function("SetCanvasColorMod", ID_TYPE_FN_NUM); +add_embedded_arg("c_num", ID_TYPE_NUM); +add_embedded_arg("c", ID_TYPE_NUM); +embed_function("CanvasColorMod", ID_TYPE_FN_NUM); +add_embedded_arg("c_num", ID_TYPE_NUM); +embed_function("CopyCanvas", ID_TYPE_SUB); +add_embedded_arg("src", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +add_embedded_arg("dst", ID_TYPE_NUM); +add_embedded_arg("dx", ID_TYPE_NUM); +add_embedded_arg("dy", ID_TYPE_NUM); +embed_function("CloneCanvas", ID_TYPE_SUB); +add_embedded_arg("src", ID_TYPE_NUM); +add_embedded_arg("dst", ID_TYPE_NUM); +embed_function("SetCanvasZ", ID_TYPE_SUB); +add_embedded_arg("c_num", ID_TYPE_NUM); +add_embedded_arg("z", ID_TYPE_NUM); +embed_function("CanvasZ", ID_TYPE_FN_NUM); +add_embedded_arg("c_num", ID_TYPE_NUM); +embed_function("CanvasClip", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +add_embedded_arg("flag", ID_TYPE_NUM); +embed_function("ActiveCanvas", ID_TYPE_FN_NUM); +embed_function("Box", ID_TYPE_SUB); +add_embedded_arg("x1", ID_TYPE_NUM); +add_embedded_arg("y1", ID_TYPE_NUM); +add_embedded_arg("x2", ID_TYPE_NUM); +add_embedded_arg("y2", ID_TYPE_NUM); +embed_function("BoxFill", ID_TYPE_SUB); +add_embedded_arg("x1", ID_TYPE_NUM); +add_embedded_arg("y1", ID_TYPE_NUM); +add_embedded_arg("x2", ID_TYPE_NUM); +add_embedded_arg("y2", ID_TYPE_NUM); +embed_function("Circle", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("radius", ID_TYPE_NUM); +embed_function("CircleFill", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("radius", ID_TYPE_NUM); +embed_function("Ellipse", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("rx", ID_TYPE_NUM); +add_embedded_arg("ry", ID_TYPE_NUM); +embed_function("EllipseFill", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("rx", ID_TYPE_NUM); +add_embedded_arg("ry", ID_TYPE_NUM); +embed_function("FloodFill", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +embed_function("GetPixel", ID_TYPE_FN_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +embed_function("SetColor", ID_TYPE_SUB); +add_embedded_arg("c", ID_TYPE_NUM); +embed_function("Line", ID_TYPE_SUB); +add_embedded_arg("x1", ID_TYPE_NUM); +add_embedded_arg("y1", ID_TYPE_NUM); +add_embedded_arg("x2", ID_TYPE_NUM); +add_embedded_arg("y2", ID_TYPE_NUM); +embed_function("Poly", ID_TYPE_SUB); +add_embedded_arg("n", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_BYREF_NUM); +add_embedded_arg("y", ID_TYPE_BYREF_NUM); +embed_function("PolyFill", ID_TYPE_SUB); +add_embedded_arg("n", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_BYREF_NUM); +add_embedded_arg("y", ID_TYPE_BYREF_NUM); +embed_function("Rect", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +embed_function("RectFill", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +embed_function("RoundRect", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +add_embedded_arg("r", ID_TYPE_NUM); +embed_function("RoundRectFill", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +add_embedded_arg("r", ID_TYPE_NUM); +embed_function("RGB", ID_TYPE_FN_NUM); +add_embedded_arg("r", ID_TYPE_NUM); +add_embedded_arg("g", ID_TYPE_NUM); +add_embedded_arg("b", ID_TYPE_NUM); +embed_function("RGBA", ID_TYPE_FN_NUM); +add_embedded_arg("r", ID_TYPE_NUM); +add_embedded_arg("g", ID_TYPE_NUM); +add_embedded_arg("b", ID_TYPE_NUM); +add_embedded_arg("a", ID_TYPE_NUM); +embed_function("PSet", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +embed_function("LoadImage", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("img$", ID_TYPE_STR); +embed_function("LoadImage_Ex", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("img$", ID_TYPE_STR); +add_embedded_arg("colkey", ID_TYPE_NUM); +embed_function("ImageFromBuffer", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +add_embedded_arg("buffer", ID_TYPE_BYREF_NUM); +embed_function("ImageFromBuffer_Ex", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +add_embedded_arg("buffer", ID_TYPE_BYREF_NUM); +add_embedded_arg("colkey", ID_TYPE_NUM); +embed_function("BufferFromImage", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("buffer", ID_TYPE_BYREF_NUM); +embed_function("ImageExists", ID_TYPE_FN_NUM); +add_embedded_arg("slot", ID_TYPE_NUM); +embed_function("ColorKey", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("c", ID_TYPE_NUM); +embed_function("CopyImage", ID_TYPE_SUB); +add_embedded_arg("src", ID_TYPE_NUM); +add_embedded_arg("dst", ID_TYPE_NUM); +embed_function("DeleteImage", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +embed_function("SetImageAlpha", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("a", ID_TYPE_NUM); +embed_function("ImageAlpha", ID_TYPE_FN_NUM); +add_embedded_arg("slot", ID_TYPE_NUM); +embed_function("GetImageSize", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_BYREF_NUM); +add_embedded_arg("h", ID_TYPE_BYREF_NUM); +embed_function("SetImageBlendMode", ID_TYPE_FN_NUM); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("blend_mode", ID_TYPE_NUM); +embed_function("ImageBlendMode", ID_TYPE_FN_NUM); +add_embedded_arg("slot", ID_TYPE_NUM); +embed_function("SetImageColorMod", ID_TYPE_FN_NUM); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("c", ID_TYPE_NUM); +embed_function("ImageColorMod", ID_TYPE_FN_NUM); +add_embedded_arg("slot", ID_TYPE_NUM); +embed_function("DrawImage", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +embed_function("DrawImage_Blit", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("src_x", ID_TYPE_NUM); +add_embedded_arg("src_y", ID_TYPE_NUM); +add_embedded_arg("src_w", ID_TYPE_NUM); +add_embedded_arg("src_h", ID_TYPE_NUM); +embed_function("DrawImage_Blit_Ex", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +add_embedded_arg("src_x", ID_TYPE_NUM); +add_embedded_arg("src_y", ID_TYPE_NUM); +add_embedded_arg("src_w", ID_TYPE_NUM); +add_embedded_arg("src_h", ID_TYPE_NUM); +embed_function("DrawImage_Rotate", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("angle", ID_TYPE_NUM); +embed_function("DrawImage_Rotate_Ex", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("src_x", ID_TYPE_NUM); +add_embedded_arg("src_y", ID_TYPE_NUM); +add_embedded_arg("src_w", ID_TYPE_NUM); +add_embedded_arg("src_h", ID_TYPE_NUM); +add_embedded_arg("angle", ID_TYPE_NUM); +embed_function("DrawImage_Zoom", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("zx", ID_TYPE_NUM); +add_embedded_arg("zy", ID_TYPE_NUM); +embed_function("DrawImage_Zoom_Ex", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("src_x", ID_TYPE_NUM); +add_embedded_arg("src_y", ID_TYPE_NUM); +add_embedded_arg("src_w", ID_TYPE_NUM); +add_embedded_arg("src_h", ID_TYPE_NUM); +add_embedded_arg("zx", ID_TYPE_NUM); +add_embedded_arg("zy", ID_TYPE_NUM); +embed_function("DrawImage_Rotozoom", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("angle", ID_TYPE_NUM); +add_embedded_arg("zx", ID_TYPE_NUM); +add_embedded_arg("zy", ID_TYPE_NUM); +embed_function("DrawImage_Rotozoom_Ex", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("src_x", ID_TYPE_NUM); +add_embedded_arg("src_y", ID_TYPE_NUM); +add_embedded_arg("src_w", ID_TYPE_NUM); +add_embedded_arg("src_h", ID_TYPE_NUM); +add_embedded_arg("angle", ID_TYPE_NUM); +add_embedded_arg("zx", ID_TYPE_NUM); +add_embedded_arg("zy", ID_TYPE_NUM); +embed_function("DrawImage_Flip", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +add_embedded_arg("v", ID_TYPE_NUM); +embed_function("DrawImage_Flip_Ex", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("src_x", ID_TYPE_NUM); +add_embedded_arg("src_y", ID_TYPE_NUM); +add_embedded_arg("src_w", ID_TYPE_NUM); +add_embedded_arg("src_h", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +add_embedded_arg("v", ID_TYPE_NUM); +embed_function("InKey", ID_TYPE_FN_NUM); +embed_function("Key", ID_TYPE_FN_NUM); +add_embedded_arg("key_code", ID_TYPE_NUM); +embed_function("WaitKey", ID_TYPE_FN_NUM); +embed_function("HideMouse", ID_TYPE_SUB); +embed_function("ShowMouse", ID_TYPE_SUB); +embed_function("MouseIsVisible", ID_TYPE_FN_NUM); +embed_function("GetMouse", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_BYREF_NUM); +add_embedded_arg("y", ID_TYPE_BYREF_NUM); +add_embedded_arg("mb1", ID_TYPE_BYREF_NUM); +add_embedded_arg("mb2", ID_TYPE_BYREF_NUM); +add_embedded_arg("mb3", ID_TYPE_BYREF_NUM); +embed_function("MouseX", ID_TYPE_FN_NUM); +embed_function("MouseY", ID_TYPE_FN_NUM); +embed_function("MouseButton", ID_TYPE_FN_NUM); +add_embedded_arg("mb", ID_TYPE_NUM); +embed_function("GetMouseWheel", ID_TYPE_SUB); +add_embedded_arg("x_axis", ID_TYPE_BYREF_NUM); +add_embedded_arg("y_axis", ID_TYPE_BYREF_NUM); +embed_function("MouseWheelX", ID_TYPE_FN_NUM); +embed_function("MouseWheelY", ID_TYPE_FN_NUM); +embed_function("SoundFromBuffer", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("buffer", ID_TYPE_BYREF_NUM); +add_embedded_arg("buffer_size", ID_TYPE_NUM); +add_embedded_arg("vol", ID_TYPE_NUM); +embed_function("LoadSound", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("snd_file$", ID_TYPE_STR); +embed_function("LoadMusic", ID_TYPE_SUB); +add_embedded_arg("music_file$", ID_TYPE_STR); +embed_function("PlaySound", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("channel", ID_TYPE_NUM); +add_embedded_arg("loops", ID_TYPE_NUM); +embed_function("PlaySoundTimed", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("channel", ID_TYPE_NUM); +add_embedded_arg("loops", ID_TYPE_NUM); +add_embedded_arg("ms", ID_TYPE_NUM); +embed_function("PlayMusic", ID_TYPE_SUB); +add_embedded_arg("mLoops", ID_TYPE_NUM); +embed_function("PauseSound", ID_TYPE_SUB); +add_embedded_arg("channel", ID_TYPE_NUM); +embed_function("ResumeSound", ID_TYPE_SUB); +add_embedded_arg("channel", ID_TYPE_NUM); +embed_function("PauseMusic", ID_TYPE_SUB); +embed_function("ResumeMusic", ID_TYPE_SUB); +embed_function("DeleteSound", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +embed_function("DeleteMusic", ID_TYPE_SUB); +embed_function("FadeMusicIn", ID_TYPE_SUB); +add_embedded_arg("fade_time", ID_TYPE_NUM); +add_embedded_arg("loops", ID_TYPE_NUM); +embed_function("FadeMusicOut", ID_TYPE_SUB); +add_embedded_arg("fade_time", ID_TYPE_NUM); +embed_function("MusicExists", ID_TYPE_FN_NUM); +embed_function("SetMusicVolume", ID_TYPE_SUB); +add_embedded_arg("vol", ID_TYPE_NUM); +embed_function("MusicVolume", ID_TYPE_FN_NUM); +embed_function("SetMusicPosition", ID_TYPE_SUB); +add_embedded_arg("pos", ID_TYPE_NUM); +embed_function("MusicPosition", ID_TYPE_FN_NUM); +embed_function("RewindMusic", ID_TYPE_SUB); +embed_function("SetSoundChannels", ID_TYPE_SUB); +add_embedded_arg("max_channels", ID_TYPE_NUM); +embed_function("NumSoundChannels", ID_TYPE_FN_NUM); +embed_function("SoundIsEnabled", ID_TYPE_FN_NUM); +embed_function("SoundExists", ID_TYPE_FN_NUM); +add_embedded_arg("slot", ID_TYPE_NUM); +embed_function("SetChannelVolume", ID_TYPE_SUB); +add_embedded_arg("channel", ID_TYPE_NUM); +add_embedded_arg("vol", ID_TYPE_NUM); +embed_function("ChannelVolume", ID_TYPE_FN_NUM); +add_embedded_arg("channel", ID_TYPE_NUM); +embed_function("SetSoundVolume", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("vol", ID_TYPE_NUM); +embed_function("SoundVolume", ID_TYPE_FN_NUM); +add_embedded_arg("slot", ID_TYPE_NUM); +embed_function("StopMusic", ID_TYPE_SUB); +embed_function("StopSound", ID_TYPE_SUB); +add_embedded_arg("channel", ID_TYPE_NUM); +embed_function("SetChannelPanning", ID_TYPE_FN_NUM); +add_embedded_arg("channel", ID_TYPE_NUM); +add_embedded_arg("left_value", ID_TYPE_NUM); +add_embedded_arg("right_value", ID_TYPE_NUM); +embed_function("SetChannelDistance", ID_TYPE_FN_NUM); +add_embedded_arg("channel", ID_TYPE_NUM); +add_embedded_arg("dist_value", ID_TYPE_NUM); +embed_function("ChannelIsPlaying", ID_TYPE_FN_NUM); +add_embedded_arg("channel", ID_TYPE_NUM); +embed_function("ChannelIsPaused", ID_TYPE_FN_NUM); +add_embedded_arg("channel", ID_TYPE_NUM); +embed_function("NumJoysticks", ID_TYPE_FN_NUM); +embed_function("NumJoyAxes", ID_TYPE_FN_NUM); +add_embedded_arg("joy_num", ID_TYPE_NUM); +embed_function("NumJoyButtons", ID_TYPE_FN_NUM); +add_embedded_arg("joy_num", ID_TYPE_NUM); +embed_function("NumJoyHats", ID_TYPE_FN_NUM); +add_embedded_arg("joy_num", ID_TYPE_NUM); +embed_function("NumJoyTrackBalls", ID_TYPE_FN_NUM); +add_embedded_arg("joy_num", ID_TYPE_NUM); +embed_function("JoyAxis", ID_TYPE_FN_NUM); +add_embedded_arg("joy_num", ID_TYPE_NUM); +add_embedded_arg("joy_axis", ID_TYPE_NUM); +embed_function("JoyButton", ID_TYPE_FN_NUM); +add_embedded_arg("joy_num", ID_TYPE_NUM); +add_embedded_arg("joy_button", ID_TYPE_NUM); +embed_function("JoyHat", ID_TYPE_FN_NUM); +add_embedded_arg("joy_num", ID_TYPE_NUM); +add_embedded_arg("joy_hat", ID_TYPE_NUM); +embed_function("GetJoyTrackBall", ID_TYPE_SUB); +add_embedded_arg("joy_num", ID_TYPE_NUM); +add_embedded_arg("ball", ID_TYPE_NUM); +add_embedded_arg("dx", ID_TYPE_BYREF_NUM); +add_embedded_arg("dy", ID_TYPE_BYREF_NUM); +embed_function("JoyName$", ID_TYPE_FN_STR); +add_embedded_arg("joy_num", ID_TYPE_NUM); +embed_function("JoystickIsConnected", ID_TYPE_FN_NUM); +add_embedded_arg("joy_num", ID_TYPE_NUM); +embed_function("GetCursor", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_BYREF_NUM); +add_embedded_arg("y", ID_TYPE_BYREF_NUM); +embed_function("PrintS", ID_TYPE_SUB); +add_embedded_arg("txt$", ID_TYPE_STR); +embed_function("InputS$", ID_TYPE_FN_STR); +add_embedded_arg("prompt$", ID_TYPE_STR); +embed_function("ZoneInputS$", ID_TYPE_FN_STR); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +embed_function("Locate", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +embed_function("ReadInput_Start", ID_TYPE_SUB); +embed_function("ReadInput_Stop", ID_TYPE_SUB); +embed_function("ReadInput_Text$", ID_TYPE_FN_STR); +embed_function("ReadInput_SetText", ID_TYPE_SUB); +add_embedded_arg("txt$", ID_TYPE_STR); +embed_function("ReadInput_ToggleBackspace", ID_TYPE_SUB); +add_embedded_arg("flag", ID_TYPE_NUM); +embed_function("LoadFont", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("fnt_file$", ID_TYPE_STR); +add_embedded_arg("size", ID_TYPE_NUM); +embed_function("DeleteFont", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +embed_function("FontIsLoaded", ID_TYPE_FN_NUM); +add_embedded_arg("slot", ID_TYPE_NUM); +embed_function("Font", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +embed_function("SetFontStyle", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("style", ID_TYPE_NUM); +embed_function("DrawText", ID_TYPE_SUB); +add_embedded_arg("txt$", ID_TYPE_STR); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +embed_function("DrawText_Shaded", ID_TYPE_SUB); +add_embedded_arg("txt$", ID_TYPE_STR); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("fg_color", ID_TYPE_NUM); +add_embedded_arg("bg_color", ID_TYPE_NUM); +embed_function("DrawText_Blended", ID_TYPE_SUB); +add_embedded_arg("txt$", ID_TYPE_STR); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +embed_function("RenderText", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("txt$", ID_TYPE_STR); +embed_function("GetTextSize", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("txt$", ID_TYPE_STR); +add_embedded_arg("w", ID_TYPE_BYREF_NUM); +add_embedded_arg("h", ID_TYPE_BYREF_NUM); +embed_function("TouchPressure", ID_TYPE_FN_NUM); +embed_function("GetTouch", ID_TYPE_SUB); +add_embedded_arg("status", ID_TYPE_BYREF_NUM); +add_embedded_arg("x", ID_TYPE_BYREF_NUM); +add_embedded_arg("y", ID_TYPE_BYREF_NUM); +add_embedded_arg("dx", ID_TYPE_BYREF_NUM); +add_embedded_arg("dy", ID_TYPE_BYREF_NUM); +embed_function("GetMultiTouch", ID_TYPE_SUB); +add_embedded_arg("status", ID_TYPE_BYREF_NUM); +add_embedded_arg("x", ID_TYPE_BYREF_NUM); +add_embedded_arg("y", ID_TYPE_BYREF_NUM); +add_embedded_arg("fingers", ID_TYPE_BYREF_NUM); +add_embedded_arg("dist", ID_TYPE_BYREF_NUM); +add_embedded_arg("theta", ID_TYPE_BYREF_NUM); +embed_function("GetTouchFinger", ID_TYPE_SUB); +add_embedded_arg("finger", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_BYREF_NUM); +add_embedded_arg("y", ID_TYPE_BYREF_NUM); +add_embedded_arg("pressure", ID_TYPE_BYREF_NUM); +embed_function("NumFingers", ID_TYPE_FN_NUM); +embed_function("CheckSockets", ID_TYPE_FN_NUM); +add_embedded_arg("timeout_ms", ID_TYPE_NUM); +embed_function("TCP_SocketReady", ID_TYPE_FN_NUM); +add_embedded_arg("socket", ID_TYPE_NUM); +embed_function("UDP_SocketReady", ID_TYPE_FN_NUM); +add_embedded_arg("socket", ID_TYPE_NUM); +embed_function("TCP_SocketOpen", ID_TYPE_FN_NUM); +add_embedded_arg("socket", ID_TYPE_NUM); +add_embedded_arg("host$", ID_TYPE_STR); +add_embedded_arg("port", ID_TYPE_NUM); +embed_function("TCP_SocketClose", ID_TYPE_SUB); +add_embedded_arg("socket", ID_TYPE_NUM); +embed_function("TCP_RemoteHost", ID_TYPE_FN_NUM); +add_embedded_arg("socket", ID_TYPE_NUM); +embed_function("TCP_RemotePort", ID_TYPE_FN_NUM); +add_embedded_arg("socket", ID_TYPE_NUM); +embed_function("TCP_GetData", ID_TYPE_FN_NUM); +add_embedded_arg("socket", ID_TYPE_NUM); +add_embedded_arg("sData$", ID_TYPE_BYREF_STR); +add_embedded_arg("numBytes", ID_TYPE_NUM); +embed_function("TCP_SendData", ID_TYPE_SUB); +add_embedded_arg("socket", ID_TYPE_NUM); +add_embedded_arg("sData$", ID_TYPE_STR); +embed_function("TCP_AcceptSocket", ID_TYPE_FN_NUM); +add_embedded_arg("server", ID_TYPE_NUM); +add_embedded_arg("client", ID_TYPE_NUM); +embed_function("UDP_SocketOpen", ID_TYPE_FN_NUM); +add_embedded_arg("socket", ID_TYPE_NUM); +add_embedded_arg("port", ID_TYPE_NUM); +embed_function("UDP_SocketClose", ID_TYPE_FN_NUM); +add_embedded_arg("socket", ID_TYPE_NUM); +embed_function("UDP_GetData", ID_TYPE_FN_NUM); +add_embedded_arg("socket", ID_TYPE_NUM); +add_embedded_arg("sData$", ID_TYPE_BYREF_STR); +add_embedded_arg("host$", ID_TYPE_BYREF_STR); +add_embedded_arg("port", ID_TYPE_BYREF_NUM); +embed_function("UDP_Length", ID_TYPE_FN_NUM); +embed_function("UDP_MaxLength", ID_TYPE_FN_NUM); +embed_function("UDP_RemoteHost$", ID_TYPE_FN_STR); +add_embedded_arg("socket", ID_TYPE_NUM); +embed_function("UDP_RemotePort", ID_TYPE_FN_NUM); +add_embedded_arg("socket", ID_TYPE_NUM); +embed_function("UDP_SendData", ID_TYPE_SUB); +add_embedded_arg("socket", ID_TYPE_NUM); +add_embedded_arg("sData$", ID_TYPE_STR); +add_embedded_arg("host$", ID_TYPE_STR); +add_embedded_arg("port", ID_TYPE_NUM); +embed_function("LoadVideo", ID_TYPE_SUB); +add_embedded_arg("vid$", ID_TYPE_STR); +embed_function("PlayVideo", ID_TYPE_SUB); +add_embedded_arg("vLoops", ID_TYPE_NUM); +embed_function("PauseVideo", ID_TYPE_SUB); +embed_function("StopVideo", ID_TYPE_SUB); +embed_function("SetVideoPosition", ID_TYPE_SUB); +add_embedded_arg("pos", ID_TYPE_NUM); +embed_function("ResumeVideo", ID_TYPE_SUB); +embed_function("VideoPosition", ID_TYPE_FN_NUM); +embed_function("DeleteVideo", ID_TYPE_SUB); +embed_function("VideoIsPlaying", ID_TYPE_FN_NUM); +embed_function("VideoEnd", ID_TYPE_FN_NUM); +embed_function("GetVideoStats", ID_TYPE_SUB); +add_embedded_arg("vFile$", ID_TYPE_STR); +add_embedded_arg("vLen", ID_TYPE_BYREF_NUM); +add_embedded_arg("vfps", ID_TYPE_BYREF_NUM); +add_embedded_arg("frame_w", ID_TYPE_BYREF_NUM); +add_embedded_arg("frame_h", ID_TYPE_BYREF_NUM); +embed_function("SetVideoDrawRect", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +embed_function("GetVideoDrawRect", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_BYREF_NUM); +add_embedded_arg("y", ID_TYPE_BYREF_NUM); +add_embedded_arg("w", ID_TYPE_BYREF_NUM); +add_embedded_arg("h", ID_TYPE_BYREF_NUM); +embed_function("GetVideoSize", ID_TYPE_SUB); +add_embedded_arg("w", ID_TYPE_BYREF_NUM); +add_embedded_arg("h", ID_TYPE_BYREF_NUM); +embed_function("VideoExists", ID_TYPE_FN_NUM); +embed_function("SetVideoAlpha", ID_TYPE_SUB); +add_embedded_arg("a", ID_TYPE_NUM); +embed_function("System", ID_TYPE_FN_NUM); +add_embedded_arg("cmd$", ID_TYPE_STR); +embed_function("OS$", ID_TYPE_FN_STR); +embed_function("Command$", ID_TYPE_FN_STR); +add_embedded_arg("arg", ID_TYPE_NUM); +embed_function("NumCommands", ID_TYPE_FN_NUM); +embed_function("Env$", ID_TYPE_FN_STR); +add_embedded_arg("v$", ID_TYPE_STR); +embed_function("SetEnv", ID_TYPE_SUB); +add_embedded_arg("var$", ID_TYPE_STR); +add_embedded_arg("value$", ID_TYPE_STR); +add_embedded_arg("overwrite", ID_TYPE_NUM); +embed_function("PrefPath$", ID_TYPE_FN_STR); +add_embedded_arg("org_name$", ID_TYPE_STR); +add_embedded_arg("app_name$", ID_TYPE_STR); +embed_function("Android_GetExternalStoragePath$", ID_TYPE_FN_STR); +embed_function("Android_GetExternalStorageState", ID_TYPE_FN_NUM); +embed_function("Android_GetInternalStoragePath$", ID_TYPE_FN_STR); +embed_function("Android_JNI_Message$", ID_TYPE_FN_STR); +add_embedded_arg("arg$", ID_TYPE_STR); +embed_function("Runtime_Utility_Message$", ID_TYPE_FN_STR); +add_embedded_arg("arg$", ID_TYPE_STR); +embed_function("ClipboardText$", ID_TYPE_FN_STR); +embed_function("SetClipboardText", ID_TYPE_SUB); +add_embedded_arg("txt$", ID_TYPE_STR); +embed_function("HasClipboardText", ID_TYPE_FN_NUM); +embed_function("GetDesktopDisplayMode", ID_TYPE_SUB); +add_embedded_arg("index", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_BYREF_NUM); +add_embedded_arg("h", ID_TYPE_BYREF_NUM); +add_embedded_arg("freq", ID_TYPE_BYREF_NUM); +embed_function("DrawImage_Transform", ID_TYPE_SUB); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +add_embedded_arg("src_x", ID_TYPE_NUM); +add_embedded_arg("src_y", ID_TYPE_NUM); +add_embedded_arg("src_w", ID_TYPE_NUM); +add_embedded_arg("src_h", ID_TYPE_NUM); +add_embedded_arg("angle", ID_TYPE_NUM); +add_embedded_arg("center_x", ID_TYPE_NUM); +add_embedded_arg("center_y", ID_TYPE_NUM); +add_embedded_arg("flip_h", ID_TYPE_NUM); +add_embedded_arg("flip_v", ID_TYPE_NUM); +embed_function("GetPowerInfo", ID_TYPE_SUB); +add_embedded_arg("status", ID_TYPE_BYREF_NUM); +add_embedded_arg("secs", ID_TYPE_BYREF_NUM); +add_embedded_arg("pct", ID_TYPE_BYREF_NUM); +embed_function("SystemRam", ID_TYPE_FN_NUM); +embed_function("SetRenderScaleQuality", ID_TYPE_FN_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("EvalJS$", ID_TYPE_FN_STR); +add_embedded_arg("js_code$", ID_TYPE_STR); +embed_function("GetRenderScaleQuality", ID_TYPE_FN_NUM); +embed_function("GetGlobalMouse", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_BYREF_NUM); +add_embedded_arg("y", ID_TYPE_BYREF_NUM); +add_embedded_arg("mb1", ID_TYPE_BYREF_NUM); +add_embedded_arg("mb2", ID_TYPE_BYREF_NUM); +add_embedded_arg("mb3", ID_TYPE_BYREF_NUM); +embed_function("GlobalMouseX", ID_TYPE_FN_NUM); +embed_function("GlobalMouseY", ID_TYPE_FN_NUM); +embed_function("GetAccel", ID_TYPE_SUB); +add_embedded_arg("accel_num", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_BYREF_NUM); +add_embedded_arg("y", ID_TYPE_BYREF_NUM); +add_embedded_arg("z", ID_TYPE_BYREF_NUM); +embed_function("AccelName$", ID_TYPE_FN_STR); +add_embedded_arg("accel_num", ID_TYPE_NUM); +embed_function("NumAccels", ID_TYPE_FN_NUM); +embed_function("GetGyro", ID_TYPE_SUB); +add_embedded_arg("gyro_num", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_BYREF_NUM); +add_embedded_arg("y", ID_TYPE_BYREF_NUM); +add_embedded_arg("z", ID_TYPE_BYREF_NUM); +embed_function("GyroName$", ID_TYPE_FN_STR); +add_embedded_arg("gyro_num", ID_TYPE_NUM); +embed_function("NumGyros", ID_TYPE_FN_NUM); +embed_function("JoyRumblePlay", ID_TYPE_SUB); +add_embedded_arg("joy_num", ID_TYPE_NUM); +add_embedded_arg("strength", ID_TYPE_NUM); +add_embedded_arg("duration", ID_TYPE_NUM); +embed_function("JoyRumbleStop", ID_TYPE_SUB); +add_embedded_arg("joy_num", ID_TYPE_NUM); +embed_function("JoystickIsHaptic", ID_TYPE_FN_NUM); +add_embedded_arg("joy_num", ID_TYPE_NUM); +embed_function("WriteByteBuffer", ID_TYPE_FN_NUM); +add_embedded_arg("stream", ID_TYPE_NUM); +add_embedded_arg("buf", ID_TYPE_BYREF_NUM); +add_embedded_arg("buf_size", ID_TYPE_NUM); +embed_function("ReadByteBuffer", ID_TYPE_FN_NUM); +add_embedded_arg("stream", ID_TYPE_NUM); +add_embedded_arg("buf", ID_TYPE_BYREF_NUM); +add_embedded_arg("buf_size", ID_TYPE_NUM); +embed_function("WindowEvent_Resize", ID_TYPE_FN_NUM); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("SetWindowAutoClose", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("exit_on_close", ID_TYPE_NUM); +embed_function("SetWindowResizable", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("flag", ID_TYPE_NUM); +embed_function("SystemReturnStdOut$", ID_TYPE_FN_STR); +add_embedded_arg("cmd$", ID_TYPE_STR); +embed_function("WindowMode", ID_TYPE_FN_NUM); +add_embedded_arg("visible", ID_TYPE_NUM); +add_embedded_arg("fullscreen", ID_TYPE_NUM); +add_embedded_arg("resizable", ID_TYPE_NUM); +add_embedded_arg("borderless", ID_TYPE_NUM); +add_embedded_arg("highDPI", ID_TYPE_NUM); +embed_function("WindowFlags", ID_TYPE_FN_NUM); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("RestoreWindow", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("UpdateAllWindows", ID_TYPE_SUB); +embed_function("QueryAudioSpec", ID_TYPE_FN_NUM); +add_embedded_arg("freq", ID_TYPE_BYREF_NUM); +add_embedded_arg("format", ID_TYPE_BYREF_NUM); +add_embedded_arg("channels", ID_TYPE_BYREF_NUM); +embed_function("MusicIsPlaying", ID_TYPE_FN_NUM); +embed_function("DrawGeometry", ID_TYPE_FN_NUM); +add_embedded_arg("slot", ID_TYPE_NUM); +add_embedded_arg("num_vertices", ID_TYPE_NUM); +add_embedded_arg("vertices", ID_TYPE_BYREF_NUM); +add_embedded_arg("num_indices", ID_TYPE_NUM); +add_embedded_arg("Indices", ID_TYPE_BYREF_NUM); +embed_function("Size", ID_TYPE_FN_NUM); +add_embedded_arg("s$", ID_TYPE_STR); +embed_function("BufferFromString", ID_TYPE_FN_NUM); +add_embedded_arg("s$", ID_TYPE_STR); +add_embedded_arg("buffer", ID_TYPE_BYREF_NUM); +embed_function("StringFromBuffer$", ID_TYPE_FN_STR); +add_embedded_arg("buffer", ID_TYPE_BYREF_NUM); +add_embedded_arg("buffer_size", ID_TYPE_NUM); +embed_function("GrabInput", ID_TYPE_SUB); +add_embedded_arg("flag", ID_TYPE_NUM); +embed_function("GrabbedWindow", ID_TYPE_FN_NUM); +embed_function("WarpMouse", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +embed_function("WarpMouseGlobal", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +embed_function("SetMouseZone", ID_TYPE_SUB); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("w", ID_TYPE_NUM); +add_embedded_arg("h", ID_TYPE_NUM); +embed_function("ClearMouseZone", ID_TYPE_SUB); +embed_function("SetWindowAlwaysOnTop", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("flag", ID_TYPE_NUM); +embed_function("SetMouseRelative", ID_TYPE_SUB); +add_embedded_arg("flag", ID_TYPE_NUM); +embed_function("SetWindowVSync", ID_TYPE_SUB); +add_embedded_arg("win", ID_TYPE_NUM); +add_embedded_arg("flag", ID_TYPE_NUM); +embed_function("OpenURL", ID_TYPE_FN_NUM); +add_embedded_arg("url$", ID_TYPE_STR); +embed_function("APIVersion$", ID_TYPE_FN_STR); +embed_function("FlashWindow", ID_TYPE_FN_NUM); +add_embedded_arg("win", ID_TYPE_NUM); +embed_function("MessageBox", ID_TYPE_FN_NUM); +add_embedded_arg("title$", ID_TYPE_STR); +add_embedded_arg("msg$", ID_TYPE_STR); +embed_function("NumberArrayCopy", ID_TYPE_SUB); +add_embedded_arg("src", ID_TYPE_BYREF_NUM); +add_embedded_arg("dst", ID_TYPE_BYREF_NUM); +embed_function("StringArrayCopy", ID_TYPE_SUB); +add_embedded_arg("src$", ID_TYPE_BYREF_STR); +add_embedded_arg("dst$", ID_TYPE_BYREF_STR); +embed_function("ArrayCopy", ID_TYPE_SUB); +add_embedded_arg("src", ID_TYPE_BYREF_NUM); +add_embedded_arg("dst", ID_TYPE_BYREF_NUM); +embed_function("NumberArrayFill", ID_TYPE_SUB); +add_embedded_arg("src", ID_TYPE_BYREF_NUM); +add_embedded_arg("fdata", ID_TYPE_NUM); +embed_function("StringArrayFill", ID_TYPE_SUB); +add_embedded_arg("src$", ID_TYPE_BYREF_STR); +add_embedded_arg("fdata$", ID_TYPE_STR); +embed_function("ArrayFill", ID_TYPE_SUB); +add_embedded_arg("src", ID_TYPE_BYREF_NUM); +add_embedded_arg("fdata", ID_TYPE_NUM); +embed_function("Runtime$", ID_TYPE_FN_STR); +embed_function("DimMatrix", ID_TYPE_SUB); +add_embedded_arg("m", ID_TYPE_NUM); +add_embedded_arg("m_rows", ID_TYPE_NUM); +add_embedded_arg("m_cols", ID_TYPE_NUM); +add_embedded_arg("preserve_flag", ID_TYPE_NUM); +embed_function("AddMatrix", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +add_embedded_arg("mC", ID_TYPE_NUM); +embed_function("AugmentMatrix", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +add_embedded_arg("mC", ID_TYPE_NUM); +embed_function("CopyMatrix", ID_TYPE_SUB); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +embed_function("InsertMatrixColumns", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("c", ID_TYPE_NUM); +add_embedded_arg("num_cols", ID_TYPE_NUM); +embed_function("InsertMatrixRows", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("r", ID_TYPE_NUM); +add_embedded_arg("num_rows", ID_TYPE_NUM); +embed_function("MultiplyMatrix", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +add_embedded_arg("mC", ID_TYPE_NUM); +embed_function("CubeMatrix", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +embed_function("DeleteMatrixColumns", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("c", ID_TYPE_NUM); +add_embedded_arg("num_cols", ID_TYPE_NUM); +embed_function("DeleteMatrixRows", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("r", ID_TYPE_NUM); +add_embedded_arg("num_rows", ID_TYPE_NUM); +embed_function("ClearMatrix", ID_TYPE_SUB); +add_embedded_arg("mA", ID_TYPE_NUM); +embed_function("ClearMatrixColumns", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("c", ID_TYPE_NUM); +add_embedded_arg("num_cols", ID_TYPE_NUM); +embed_function("ClearMatrixRows", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("r", ID_TYPE_NUM); +add_embedded_arg("num_rows", ID_TYPE_NUM); +embed_function("FillMatrix", ID_TYPE_SUB); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("v", ID_TYPE_NUM); +embed_function("FillMatrixColumns", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("c", ID_TYPE_NUM); +add_embedded_arg("num_cols", ID_TYPE_NUM); +add_embedded_arg("v", ID_TYPE_NUM); +embed_function("FillMatrixRows", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("r", ID_TYPE_NUM); +add_embedded_arg("num_rows", ID_TYPE_NUM); +add_embedded_arg("v", ID_TYPE_NUM); +embed_function("CopyMatrixColumns", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +add_embedded_arg("c", ID_TYPE_NUM); +add_embedded_arg("num_cols", ID_TYPE_NUM); +embed_function("CopyMatrixRows", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +add_embedded_arg("r", ID_TYPE_NUM); +add_embedded_arg("num_rows", ID_TYPE_NUM); +embed_function("IdentityMatrix", ID_TYPE_SUB); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("n", ID_TYPE_NUM); +embed_function("SolveMatrix", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +add_embedded_arg("mC", ID_TYPE_NUM); +embed_function("IsEqualMatrix", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +add_embedded_arg("tolerance", ID_TYPE_NUM); +embed_function("Determinant", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +embed_function("AdjointMatrix", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +embed_function("InvertMatrix", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +embed_function("MatrixFromBuffer", ID_TYPE_SUB); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("r", ID_TYPE_NUM); +add_embedded_arg("c", ID_TYPE_NUM); +add_embedded_arg("buffer", ID_TYPE_BYREF_NUM); +embed_function("GetMatrix", ID_TYPE_SUB); +add_embedded_arg("buffer", ID_TYPE_BYREF_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +embed_function("RandomizeMatrix", ID_TYPE_SUB); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("vmin", ID_TYPE_NUM); +add_embedded_arg("vmax", ID_TYPE_NUM); +embed_function("MatrixValue", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("r", ID_TYPE_NUM); +add_embedded_arg("c", ID_TYPE_NUM); +embed_function("SetMatrixValue", ID_TYPE_SUB); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("r", ID_TYPE_NUM); +add_embedded_arg("c", ID_TYPE_NUM); +add_embedded_arg("v", ID_TYPE_NUM); +embed_function("ScalarMatrix", ID_TYPE_SUB); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +add_embedded_arg("s_value", ID_TYPE_NUM); +embed_function("ScalarMatrixColumns", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +add_embedded_arg("c", ID_TYPE_NUM); +add_embedded_arg("num_cols", ID_TYPE_NUM); +add_embedded_arg("s_value", ID_TYPE_NUM); +embed_function("ScalarMatrixRows", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +add_embedded_arg("r", ID_TYPE_NUM); +add_embedded_arg("num_rows", ID_TYPE_NUM); +add_embedded_arg("s_value", ID_TYPE_NUM); +embed_function("SquareMatrix", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +embed_function("SubMatrix", ID_TYPE_SUB); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("r", ID_TYPE_NUM); +add_embedded_arg("c", ID_TYPE_NUM); +embed_function("SubtractMatrix", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +add_embedded_arg("mC", ID_TYPE_NUM); +embed_function("SwapMatrix", ID_TYPE_SUB); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +embed_function("SwapMatrixColumn", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("C1", ID_TYPE_NUM); +add_embedded_arg("C2", ID_TYPE_NUM); +embed_function("SwapMatrixRow", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("R1", ID_TYPE_NUM); +add_embedded_arg("R2", ID_TYPE_NUM); +embed_function("TransposeMatrix", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +embed_function("UnAugmentMatrix", ID_TYPE_FN_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +add_embedded_arg("mC", ID_TYPE_NUM); +embed_function("ZeroMatrix", ID_TYPE_SUB); +add_embedded_arg("mA", ID_TYPE_NUM); +embed_function("GetMatrixSize", ID_TYPE_SUB); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("r", ID_TYPE_BYREF_NUM); +add_embedded_arg("c", ID_TYPE_BYREF_NUM); +embed_function("SetMatrixProcess", ID_TYPE_FN_NUM); +add_embedded_arg("p_num", ID_TYPE_NUM); +embed_function("ProcessOpen", ID_TYPE_FN_NUM); +add_embedded_arg("p_num", ID_TYPE_NUM); +embed_function("SetProcessErrorMode", ID_TYPE_SUB); +add_embedded_arg("p_num", ID_TYPE_NUM); +add_embedded_arg("error_mode", ID_TYPE_NUM); +embed_function("ProcessError", ID_TYPE_FN_NUM); +add_embedded_arg("p_num", ID_TYPE_NUM); +embed_function("ProcessWait", ID_TYPE_SUB); +add_embedded_arg("p_num", ID_TYPE_NUM); +embed_function("ProcessWaitAll", ID_TYPE_SUB); +embed_function("ProcessContinue", ID_TYPE_SUB); +add_embedded_arg("p_num", ID_TYPE_NUM); +embed_function("ProcessStop", ID_TYPE_SUB); +add_embedded_arg("p_num", ID_TYPE_NUM); +embed_function("ProcessClear", ID_TYPE_SUB); +add_embedded_arg("p_num", ID_TYPE_NUM); +embed_function("ProcessClose", ID_TYPE_FN_NUM); +add_embedded_arg("p_num", ID_TYPE_NUM); +embed_function("ProcessErrorMode", ID_TYPE_FN_NUM); +add_embedded_arg("p_num", ID_TYPE_NUM); +embed_function("ProcessSleep", ID_TYPE_SUB); +add_embedded_arg("p_num", ID_TYPE_NUM); +add_embedded_arg("msec", ID_TYPE_NUM); +embed_function("ProcessExists", ID_TYPE_FN_NUM); +add_embedded_arg("p_num", ID_TYPE_NUM); +embed_function("ProcessStopAll", ID_TYPE_SUB); +embed_function("ProcessContinueAll", ID_TYPE_SUB); +embed_function("ProcessQueueSize", ID_TYPE_FN_NUM); +add_embedded_arg("p_num", ID_TYPE_NUM); +embed_function("NumCPUs", ID_TYPE_FN_NUM); +embed_function("GetProjectionGeometry", ID_TYPE_SUB); +add_embedded_arg("cam_dist", ID_TYPE_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("f_vertex_count", ID_TYPE_NUM); +add_embedded_arg("columns", ID_TYPE_BYREF_NUM); +add_embedded_arg("uv", ID_TYPE_BYREF_NUM); +add_embedded_arg("graph_offset_x", ID_TYPE_NUM); +add_embedded_arg("graph_offset_y", ID_TYPE_NUM); +add_embedded_arg("v_color", ID_TYPE_NUM); +add_embedded_arg("vertex_count", ID_TYPE_BYREF_NUM); +add_embedded_arg("vertex2D", ID_TYPE_BYREF_NUM); +add_embedded_arg("index_count", ID_TYPE_BYREF_NUM); +add_embedded_arg("index", ID_TYPE_BYREF_NUM); +add_embedded_arg("clip_dist", ID_TYPE_BYREF_NUM); +add_embedded_arg("min_x", ID_TYPE_BYREF_NUM); +add_embedded_arg("min_y", ID_TYPE_BYREF_NUM); +add_embedded_arg("max_x", ID_TYPE_BYREF_NUM); +add_embedded_arg("max_y", ID_TYPE_BYREF_NUM); +embed_function("CalculateFaceZ", ID_TYPE_FN_NUM); +add_embedded_arg("cam_dist", ID_TYPE_NUM); +add_embedded_arg("graph_offset_x", ID_TYPE_NUM); +add_embedded_arg("graph_offset_y", ID_TYPE_NUM); +add_embedded_arg("view_w", ID_TYPE_NUM); +add_embedded_arg("view_h", ID_TYPE_NUM); +add_embedded_arg("view_depth", ID_TYPE_NUM); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("f_vertex_count", ID_TYPE_NUM); +add_embedded_arg("columns", ID_TYPE_BYREF_NUM); +add_embedded_arg("face_min_z", ID_TYPE_BYREF_NUM); +add_embedded_arg("face_max_z", ID_TYPE_BYREF_NUM); +add_embedded_arg("z_avg", ID_TYPE_BYREF_NUM); +embed_function("SetChannelSpacePosition", ID_TYPE_FN_NUM); +add_embedded_arg("channel", ID_TYPE_NUM); +add_embedded_arg("angle", ID_TYPE_NUM); +add_embedded_arg("distance", ID_TYPE_NUM); +embed_function("SaveBMP", ID_TYPE_FN_NUM); +add_embedded_arg("img", ID_TYPE_NUM); +add_embedded_arg("file$", ID_TYPE_STR); +embed_function("SavePNG", ID_TYPE_FN_NUM); +add_embedded_arg("img", ID_TYPE_NUM); +add_embedded_arg("file$", ID_TYPE_STR); +embed_function("SaveJPG", ID_TYPE_FN_NUM); +add_embedded_arg("img", ID_TYPE_NUM); +add_embedded_arg("file$", ID_TYPE_STR); +embed_function("GetLineIntersection", ID_TYPE_FN_NUM); +add_embedded_arg("p0_x", ID_TYPE_NUM); +add_embedded_arg("p0_y", ID_TYPE_NUM); +add_embedded_arg("p1_x", ID_TYPE_NUM); +add_embedded_arg("p1_y", ID_TYPE_NUM); +add_embedded_arg("p2_x", ID_TYPE_NUM); +add_embedded_arg("p2_y", ID_TYPE_NUM); +add_embedded_arg("p3_x", ID_TYPE_NUM); +add_embedded_arg("p3_y", ID_TYPE_NUM); +add_embedded_arg("i_x", ID_TYPE_BYREF_NUM); +add_embedded_arg("i_y", ID_TYPE_BYREF_NUM); +embed_function("Interpolate", ID_TYPE_FN_NUM); +add_embedded_arg("min_a", ID_TYPE_NUM); +add_embedded_arg("max_a", ID_TYPE_NUM); +add_embedded_arg("mid_a", ID_TYPE_NUM); +add_embedded_arg("min_b", ID_TYPE_NUM); +add_embedded_arg("max_b", ID_TYPE_NUM); +embed_function("ATan2", ID_TYPE_FN_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +embed_function("PointInQuad", ID_TYPE_FN_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("x1", ID_TYPE_NUM); +add_embedded_arg("y1", ID_TYPE_NUM); +add_embedded_arg("x2", ID_TYPE_NUM); +add_embedded_arg("y2", ID_TYPE_NUM); +add_embedded_arg("x3", ID_TYPE_NUM); +add_embedded_arg("y3", ID_TYPE_NUM); +add_embedded_arg("x4", ID_TYPE_NUM); +add_embedded_arg("y4", ID_TYPE_NUM); +embed_function("PointInTri", ID_TYPE_FN_NUM); +add_embedded_arg("x", ID_TYPE_NUM); +add_embedded_arg("y", ID_TYPE_NUM); +add_embedded_arg("x1", ID_TYPE_NUM); +add_embedded_arg("y1", ID_TYPE_NUM); +add_embedded_arg("x2", ID_TYPE_NUM); +add_embedded_arg("y2", ID_TYPE_NUM); +add_embedded_arg("x3", ID_TYPE_NUM); +add_embedded_arg("y3", ID_TYPE_NUM); +embed_function("Distance2D", ID_TYPE_FN_NUM); +add_embedded_arg("x1", ID_TYPE_NUM); +add_embedded_arg("y1", ID_TYPE_NUM); +add_embedded_arg("x2", ID_TYPE_NUM); +add_embedded_arg("y2", ID_TYPE_NUM); +embed_function("Distance3D", ID_TYPE_FN_NUM); +add_embedded_arg("x1", ID_TYPE_NUM); +add_embedded_arg("y1", ID_TYPE_NUM); +add_embedded_arg("z1", ID_TYPE_NUM); +add_embedded_arg("x2", ID_TYPE_NUM); +add_embedded_arg("y2", ID_TYPE_NUM); +add_embedded_arg("z2", ID_TYPE_NUM); +embed_function("GetCircleLineIntersection", ID_TYPE_FN_NUM); +add_embedded_arg("circle_x", ID_TYPE_NUM); +add_embedded_arg("circle_y", ID_TYPE_NUM); +add_embedded_arg("radius", ID_TYPE_NUM); +add_embedded_arg("x1", ID_TYPE_NUM); +add_embedded_arg("y1", ID_TYPE_NUM); +add_embedded_arg("x2", ID_TYPE_NUM); +add_embedded_arg("y2", ID_TYPE_NUM); +add_embedded_arg("ix1", ID_TYPE_BYREF_NUM); +add_embedded_arg("iy1", ID_TYPE_BYREF_NUM); +add_embedded_arg("ix2", ID_TYPE_BYREF_NUM); +add_embedded_arg("iy2", ID_TYPE_BYREF_NUM); +embed_function("GetLinePlaneIntersection", ID_TYPE_FN_NUM); +add_embedded_arg("line_point", ID_TYPE_BYREF_NUM); +add_embedded_arg("line_direction", ID_TYPE_BYREF_NUM); +add_embedded_arg("plane_point_1", ID_TYPE_BYREF_NUM); +add_embedded_arg("plane_point_2", ID_TYPE_BYREF_NUM); +add_embedded_arg("plane_point_3", ID_TYPE_BYREF_NUM); +add_embedded_arg("intersection", ID_TYPE_BYREF_NUM); +embed_function("IncrementMatrixRows", ID_TYPE_SUB); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +add_embedded_arg("r", ID_TYPE_NUM); +add_embedded_arg("num_rows", ID_TYPE_NUM); +add_embedded_arg("value", ID_TYPE_NUM); +embed_function("IncrementMatrixColumns", ID_TYPE_SUB); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +add_embedded_arg("c", ID_TYPE_NUM); +add_embedded_arg("num_cols", ID_TYPE_NUM); +add_embedded_arg("value", ID_TYPE_NUM); +embed_function("JoinMatrixRows", ID_TYPE_SUB); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +add_embedded_arg("mC", ID_TYPE_NUM); +embed_function("JoinMatrixColumns", ID_TYPE_SUB); +add_embedded_arg("mA", ID_TYPE_NUM); +add_embedded_arg("mB", ID_TYPE_NUM); +add_embedded_arg("mC", ID_TYPE_NUM); +embed_function("TypeArrayDim", ID_TYPE_FN_NUM); +add_embedded_arg("id$", ID_TYPE_BYREF_STR); +embed_function("TypeArraySize", ID_TYPE_FN_NUM); +add_embedded_arg("id", ID_TYPE_BYREF_NUM); +add_embedded_arg("array_dim", ID_TYPE_NUM); +embed_function("TypeArrayCopy", ID_TYPE_SUB); +add_embedded_arg("src", ID_TYPE_BYREF_NUM); +add_embedded_arg("dst", ID_TYPE_BYREF_NUM); +embed_function("TypeArrayFill", ID_TYPE_SUB); +add_embedded_arg("src", ID_TYPE_BYREF_NUM); +add_embedded_arg("fdata", ID_TYPE_NUM); diff --git a/rcbasic_build/rcbasic_dev2.txt b/rcbasic_build/rcbasic_dev2.txt new file mode 100644 index 0000000..c6e83db --- /dev/null +++ b/rcbasic_build/rcbasic_dev2.txt @@ -0,0 +1,1428 @@ +#define FN_FPrint 0 +#define FPRINT_TXT$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_Input$ 1 +#define INPUT$_PROMPT$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_ArrayDim 2 +#define ARRAYDIM_ID num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_StringArrayDim 3 +#define STRINGARRAYDIM_ID$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_NumberArrayDim 4 +#define NUMBERARRAYDIM_ID num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ArraySize 5 +#define ARRAYSIZE_ID num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define ARRAYSIZE_ARRAY_DIM num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_StringArraySize 6 +#define STRINGARRAYSIZE_ID$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define STRINGARRAYSIZE_ARRAY_DIM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_NumberArraySize 7 +#define NUMBERARRAYSIZE_ID num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define NUMBERARRAYSIZE_ARRAY_DIM num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_Abs 8 +#define ABS_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ACos 9 +#define ACOS_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_AndBit 10 +#define ANDBIT_A num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define ANDBIT_B num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_ASin 11 +#define ASIN_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ATan 12 +#define ATAN_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Bin$ 13 +#define BIN$_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_CInt32 14 +#define CINT32_I num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_CInt64 15 +#define CINT64_I num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Cos 16 +#define COS_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Degrees 17 +#define DEGREES_R num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Exp 18 +#define EXP_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Frac 19 +#define FRAC_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Hex$ 20 +#define HEX$_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_HexVal 21 +#define HEXVAL_N$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_Int 22 +#define INT_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Log 23 +#define LOG_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Max 24 +#define MAX_A num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define MAX_B num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_Min 25 +#define MIN_A num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define MIN_B num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_OrBit 26 +#define ORBIT_A num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define ORBIT_B num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_Radians 27 +#define RADIANS_D num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Randomize 28 +#define RANDOMIZE_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Rand 29 +#define RAND_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Round 30 +#define ROUND_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Sign 31 +#define SIGN_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Sin 32 +#define SIN_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Sqrt 33 +#define SQRT_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Tan 34 +#define TAN_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_XOrBit 35 +#define XORBIT_A num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define XORBIT_B num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_Asc 36 +#define ASC_C$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_Chr$ 37 +#define CHR$_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Insert$ 38 +#define INSERT$_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define INSERT$_TGT$ str_var[1].sid_value[0].value[ str_var[1].byref_offset ] +#define INSERT$_POS num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_InStr 39 +#define INSTR_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define INSTR_SUBSTR$ str_var[1].sid_value[0].value[ str_var[1].byref_offset ] +#define FN_LCase$ 40 +#define LCASE$_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_Left$ 41 +#define LEFT$_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define LEFT$_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Length 42 +#define LENGTH_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_Len 43 +#define LEN_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_LTrim$ 44 +#define LTRIM$_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_Mid$ 45 +#define MID$_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define MID$_START num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define MID$_N num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_ReplaceSubstr$ 46 +#define REPLACESUBSTR$_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define REPLACESUBSTR$_RPC$ str_var[1].sid_value[0].value[ str_var[1].byref_offset ] +#define REPLACESUBSTR$_POS num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Replace$ 47 +#define REPLACE$_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define REPLACE$_TGT$ str_var[1].sid_value[0].value[ str_var[1].byref_offset ] +#define REPLACE$_RPC$ str_var[2].sid_value[0].value[ str_var[2].byref_offset ] +#define FN_Reverse$ 48 +#define REVERSE$_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_Right$ 49 +#define RIGHT$_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define RIGHT$_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_RTrim$ 50 +#define RTRIM$_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_StringFill$ 51 +#define STRINGFILL$_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define STRINGFILL$_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Str$ 52 +#define STR$_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Str_F$ 53 +#define STR_F$_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Str_S$ 54 +#define STR_S$_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Tally 55 +#define TALLY_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define TALLY_SUBSTR$ str_var[1].sid_value[0].value[ str_var[1].byref_offset ] +#define FN_Trim$ 56 +#define TRIM$_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_UCase$ 57 +#define UCASE$_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_Val 58 +#define VAL_N$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_Stack_N 59 +#define STACK_N_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Stack_S 60 +#define STACK_S_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Push_N 61 +#define PUSH_N_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Pop_N 62 +#define FN_Push_S 63 +#define PUSH_S_S$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_Pop_S$ 64 +#define FN_Stack_Size_N 65 +#define FN_Stack_Size_S 66 +#define FN_FileOpen 67 +#define FILEOPEN_STREAM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FILEOPEN_FILENAME$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FILEOPEN_MODE num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_FileClose 68 +#define FILECLOSE_STREAM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ReadByte 69 +#define READBYTE_STREAM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_WriteByte 70 +#define WRITEBYTE_STREAM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define WRITEBYTE_BYTE num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_ReadLine$ 71 +#define READLINE$_STREAM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Write 72 +#define WRITE_STREAM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define WRITE_TXT$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_WriteLine 73 +#define WRITELINE_STREAM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define WRITELINE_TXT$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_CopyFile 74 +#define COPYFILE_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define COPYFILE_DST$ str_var[1].sid_value[0].value[ str_var[1].byref_offset ] +#define FN_RemoveFile 75 +#define REMOVEFILE_FILENAME$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_FileExists 76 +#define FILEEXISTS_FILENAME$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_MoveFile 77 +#define MOVEFILE_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define MOVEFILE_DST$ str_var[1].sid_value[0].value[ str_var[1].byref_offset ] +#define FN_RenameFile 78 +#define RENAMEFILE_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define RENAMEFILE_DST$ str_var[1].sid_value[0].value[ str_var[1].byref_offset ] +#define FN_FileLength 79 +#define FILELENGTH_FILENAME$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_Tell 80 +#define TELL_STREAM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Seek 81 +#define SEEK_STREAM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SEEK_POS num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_EOF 82 +#define EOF_STREAM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_FreeFile 83 +#define FN_ChangeDir 84 +#define CHANGEDIR_P$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_DirExists 85 +#define DIREXISTS_P$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_DirFirst$ 86 +#define FN_Dir$ 87 +#define FN_DirNext$ 88 +#define FN_MakeDir 89 +#define MAKEDIR_P$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_RemoveDir 90 +#define REMOVEDIR_P$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_Date$ 91 +#define FN_Easter$ 92 +#define EASTER$_YEAR num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Ticks 93 +#define FN_Time$ 94 +#define FN_Timer 95 +#define FN_Wait 96 +#define WAIT_M_SEC num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_WindowOpen 97 +#define WINDOWOPEN_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define WINDOWOPEN_TITLE$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define WINDOWOPEN_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define WINDOWOPEN_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define WINDOWOPEN_W num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define WINDOWOPEN_H num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define WINDOWOPEN_FLAG num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define WINDOWOPEN_VSYNC num_var[6].nid_value[0].value[ num_var[6].byref_offset ] +#define FN_WindowClose 98 +#define WINDOWCLOSE_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_RaiseWindow 99 +#define RAISEWINDOW_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Window 100 +#define WINDOW_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Update 101 +#define FN_Cls 102 +#define FN_SetClearColor 103 +#define SETCLEARCOLOR_C num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ShowWindow 104 +#define SHOWWINDOW_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_HideWindow 105 +#define HIDEWINDOW_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetWindowTitle 106 +#define SETWINDOWTITLE_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETWINDOWTITLE_TITLE$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_WindowTitle$ 107 +#define WINDOWTITLE$_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetWindowPosition 108 +#define SETWINDOWPOSITION_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETWINDOWPOSITION_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SETWINDOWPOSITION_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_GetWindowPosition 109 +#define GETWINDOWPOSITION_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETWINDOWPOSITION_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETWINDOWPOSITION_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_SetWindowSize 110 +#define SETWINDOWSIZE_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETWINDOWSIZE_W num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SETWINDOWSIZE_H num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_GetWindowSize 111 +#define GETWINDOWSIZE_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETWINDOWSIZE_W num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETWINDOWSIZE_H num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_SetWindowMinSize 112 +#define SETWINDOWMINSIZE_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETWINDOWMINSIZE_W num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SETWINDOWMINSIZE_H num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_GetWindowMinSize 113 +#define GETWINDOWMINSIZE_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETWINDOWMINSIZE_W num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETWINDOWMINSIZE_H num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_SetWindowMaxSize 114 +#define SETWINDOWMAXSIZE_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETWINDOWMAXSIZE_W num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SETWINDOWMAXSIZE_H num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_GetWindowMaxSize 115 +#define GETWINDOWMAXSIZE_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETWINDOWMAXSIZE_W num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETWINDOWMAXSIZE_H num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_WindowIsFullscreen 116 +#define WINDOWISFULLSCREEN_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_WindowIsVisible 117 +#define WINDOWISVISIBLE_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_WindowIsBordered 118 +#define WINDOWISBORDERED_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_WindowIsResizable 119 +#define WINDOWISRESIZABLE_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_WindowIsMinimized 120 +#define WINDOWISMINIMIZED_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_WindowIsMaximized 121 +#define WINDOWISMAXIMIZED_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_WindowHasInputFocus 122 +#define WINDOWHASINPUTFOCUS_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_WindowHasMouseFocus 123 +#define WINDOWHASMOUSEFOCUS_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetWindowFullscreen 124 +#define SETWINDOWFULLSCREEN_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETWINDOWFULLSCREEN_FLAG num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_MaximizeWindow 125 +#define MAXIMIZEWINDOW_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_MinimizeWindow 126 +#define MINIMIZEWINDOW_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetWindowBorder 127 +#define SETWINDOWBORDER_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETWINDOWBORDER_FLAG num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_WindowClip 128 +#define WINDOWCLIP_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define WINDOWCLIP_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define WINDOWCLIP_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define WINDOWCLIP_W num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define WINDOWCLIP_H num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_WindowExists 129 +#define WINDOWEXISTS_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_NumWindows 130 +#define FN_WindowEvent_Close 131 +#define WINDOWEVENT_CLOSE_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_WindowEvent_Maximize 132 +#define WINDOWEVENT_MAXIMIZE_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_WindowEvent_Minimize 133 +#define WINDOWEVENT_MINIMIZE_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ActiveWindow 134 +#define FN_FPS 135 +#define FN_SetWindowIcon 136 +#define SETWINDOWICON_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETWINDOWICON_SLOT num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_CanvasOpen 137 +#define CANVASOPEN_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define CANVASOPEN_W num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define CANVASOPEN_H num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define CANVASOPEN_VIEWPORT_X num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define CANVASOPEN_VIEWPORT_Y num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define CANVASOPEN_VIEWPORT_W num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define CANVASOPEN_VIEWPORT_H num_var[6].nid_value[0].value[ num_var[6].byref_offset ] +#define CANVASOPEN_MODE num_var[7].nid_value[0].value[ num_var[7].byref_offset ] +#define FN_CanvasClose 138 +#define CANVASCLOSE_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetCanvasVisible 139 +#define SETCANVASVISIBLE_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETCANVASVISIBLE_FLAG num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_CanvasIsVisible 140 +#define CANVASISVISIBLE_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetCanvasViewport 141 +#define SETCANVASVIEWPORT_CNUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETCANVASVIEWPORT_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SETCANVASVIEWPORT_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define SETCANVASVIEWPORT_W num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define SETCANVASVIEWPORT_H num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_GetCanvasViewport 142 +#define GETCANVASVIEWPORT_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETCANVASVIEWPORT_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETCANVASVIEWPORT_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define GETCANVASVIEWPORT_W num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define GETCANVASVIEWPORT_H num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_Canvas 143 +#define CANVAS_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetCanvasOffset 144 +#define SETCANVASOFFSET_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETCANVASOFFSET_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SETCANVASOFFSET_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_GetCanvasOffset 145 +#define GETCANVASOFFSET_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETCANVASOFFSET_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETCANVASOFFSET_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_GetCanvasSize 146 +#define GETCANVASSIZE_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETCANVASSIZE_W num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETCANVASSIZE_H num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_ClearCanvas 147 +#define FN_SetCanvasAlpha 148 +#define SETCANVASALPHA_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETCANVASALPHA_A num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_CanvasAlpha 149 +#define CANVASALPHA_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetCanvasBlendMode 150 +#define SETCANVASBLENDMODE_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETCANVASBLENDMODE_BLEND_MODE num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_CanvasBlendMode 151 +#define CANVASBLENDMODE_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetCanvasColorMod 152 +#define SETCANVASCOLORMOD_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETCANVASCOLORMOD_C num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_CanvasColorMod 153 +#define CANVASCOLORMOD_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_CopyCanvas 154 +#define COPYCANVAS_SRC num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define COPYCANVAS_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define COPYCANVAS_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define COPYCANVAS_W num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define COPYCANVAS_H num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define COPYCANVAS_DST num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define COPYCANVAS_DX num_var[6].nid_value[0].value[ num_var[6].byref_offset ] +#define COPYCANVAS_DY num_var[7].nid_value[0].value[ num_var[7].byref_offset ] +#define FN_CloneCanvas 155 +#define CLONECANVAS_SRC num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define CLONECANVAS_DST num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_SetCanvasZ 156 +#define SETCANVASZ_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETCANVASZ_Z num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_CanvasZ 157 +#define CANVASZ_C_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_CanvasClip 158 +#define CANVASCLIP_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define CANVASCLIP_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define CANVASCLIP_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define CANVASCLIP_W num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define CANVASCLIP_H num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define CANVASCLIP_FLAG num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define FN_ActiveCanvas 159 +#define FN_Box 160 +#define BOX_X1 num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define BOX_Y1 num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define BOX_X2 num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define BOX_Y2 num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_BoxFill 161 +#define BOXFILL_X1 num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define BOXFILL_Y1 num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define BOXFILL_X2 num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define BOXFILL_Y2 num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_Circle 162 +#define CIRCLE_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define CIRCLE_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define CIRCLE_RADIUS num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_CircleFill 163 +#define CIRCLEFILL_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define CIRCLEFILL_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define CIRCLEFILL_RADIUS num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_Ellipse 164 +#define ELLIPSE_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define ELLIPSE_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define ELLIPSE_RX num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define ELLIPSE_RY num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_EllipseFill 165 +#define ELLIPSEFILL_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define ELLIPSEFILL_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define ELLIPSEFILL_RX num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define ELLIPSEFILL_RY num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_FloodFill 166 +#define FLOODFILL_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FLOODFILL_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_GetPixel 167 +#define GETPIXEL_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETPIXEL_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_SetColor 168 +#define SETCOLOR_C num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Line 169 +#define LINE_X1 num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define LINE_Y1 num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define LINE_X2 num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define LINE_Y2 num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_Poly 170 +#define POLY_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define POLY_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define POLY_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_PolyFill 171 +#define POLYFILL_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define POLYFILL_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define POLYFILL_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_Rect 172 +#define RECT_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define RECT_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define RECT_W num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define RECT_H num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_RectFill 173 +#define RECTFILL_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define RECTFILL_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define RECTFILL_W num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define RECTFILL_H num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_RoundRect 174 +#define ROUNDRECT_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define ROUNDRECT_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define ROUNDRECT_W num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define ROUNDRECT_H num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define ROUNDRECT_R num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_RoundRectFill 175 +#define ROUNDRECTFILL_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define ROUNDRECTFILL_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define ROUNDRECTFILL_W num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define ROUNDRECTFILL_H num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define ROUNDRECTFILL_R num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_RGB 176 +#define RGB_R num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define RGB_G num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define RGB_B num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_RGBA 177 +#define RGBA_R num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define RGBA_G num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define RGBA_B num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define RGBA_A num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_PSet 178 +#define PSET_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define PSET_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_LoadImage 179 +#define LOADIMAGE_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define LOADIMAGE_IMG$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_LoadImage_Ex 180 +#define LOADIMAGE_EX_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define LOADIMAGE_EX_IMG$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define LOADIMAGE_EX_COLKEY num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_ImageFromBuffer 181 +#define IMAGEFROMBUFFER_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define IMAGEFROMBUFFER_W num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define IMAGEFROMBUFFER_H num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define IMAGEFROMBUFFER_BUFFER num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_ImageFromBuffer_Ex 182 +#define IMAGEFROMBUFFER_EX_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define IMAGEFROMBUFFER_EX_W num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define IMAGEFROMBUFFER_EX_H num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define IMAGEFROMBUFFER_EX_BUFFER num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define IMAGEFROMBUFFER_EX_COLKEY num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_BufferFromImage 183 +#define BUFFERFROMIMAGE_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define BUFFERFROMIMAGE_BUFFER num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_ImageExists 184 +#define IMAGEEXISTS_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ColorKey 185 +#define COLORKEY_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define COLORKEY_C num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_CopyImage 186 +#define COPYIMAGE_SRC num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define COPYIMAGE_DST num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_DeleteImage 187 +#define DELETEIMAGE_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetImageAlpha 188 +#define SETIMAGEALPHA_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETIMAGEALPHA_A num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_ImageAlpha 189 +#define IMAGEALPHA_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_GetImageSize 190 +#define GETIMAGESIZE_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETIMAGESIZE_W num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETIMAGESIZE_H num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_SetImageBlendMode 191 +#define SETIMAGEBLENDMODE_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETIMAGEBLENDMODE_BLEND_MODE num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_ImageBlendMode 192 +#define IMAGEBLENDMODE_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetImageColorMod 193 +#define SETIMAGECOLORMOD_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETIMAGECOLORMOD_C num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_ImageColorMod 194 +#define IMAGECOLORMOD_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_DrawImage 195 +#define DRAWIMAGE_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DRAWIMAGE_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DRAWIMAGE_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_DrawImage_Blit 196 +#define DRAWIMAGE_BLIT_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DRAWIMAGE_BLIT_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DRAWIMAGE_BLIT_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define DRAWIMAGE_BLIT_SRC_X num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define DRAWIMAGE_BLIT_SRC_Y num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define DRAWIMAGE_BLIT_SRC_W num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define DRAWIMAGE_BLIT_SRC_H num_var[6].nid_value[0].value[ num_var[6].byref_offset ] +#define FN_DrawImage_Blit_Ex 197 +#define DRAWIMAGE_BLIT_EX_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DRAWIMAGE_BLIT_EX_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DRAWIMAGE_BLIT_EX_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define DRAWIMAGE_BLIT_EX_W num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define DRAWIMAGE_BLIT_EX_H num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define DRAWIMAGE_BLIT_EX_SRC_X num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define DRAWIMAGE_BLIT_EX_SRC_Y num_var[6].nid_value[0].value[ num_var[6].byref_offset ] +#define DRAWIMAGE_BLIT_EX_SRC_W num_var[7].nid_value[0].value[ num_var[7].byref_offset ] +#define DRAWIMAGE_BLIT_EX_SRC_H num_var[8].nid_value[0].value[ num_var[8].byref_offset ] +#define FN_DrawImage_Rotate 198 +#define DRAWIMAGE_ROTATE_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DRAWIMAGE_ROTATE_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DRAWIMAGE_ROTATE_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define DRAWIMAGE_ROTATE_ANGLE num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_DrawImage_Rotate_Ex 199 +#define DRAWIMAGE_ROTATE_EX_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DRAWIMAGE_ROTATE_EX_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DRAWIMAGE_ROTATE_EX_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define DRAWIMAGE_ROTATE_EX_SRC_X num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define DRAWIMAGE_ROTATE_EX_SRC_Y num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define DRAWIMAGE_ROTATE_EX_SRC_W num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define DRAWIMAGE_ROTATE_EX_SRC_H num_var[6].nid_value[0].value[ num_var[6].byref_offset ] +#define DRAWIMAGE_ROTATE_EX_ANGLE num_var[7].nid_value[0].value[ num_var[7].byref_offset ] +#define FN_DrawImage_Zoom 200 +#define DRAWIMAGE_ZOOM_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DRAWIMAGE_ZOOM_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DRAWIMAGE_ZOOM_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define DRAWIMAGE_ZOOM_ZX num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define DRAWIMAGE_ZOOM_ZY num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_DrawImage_Zoom_Ex 201 +#define DRAWIMAGE_ZOOM_EX_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DRAWIMAGE_ZOOM_EX_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DRAWIMAGE_ZOOM_EX_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define DRAWIMAGE_ZOOM_EX_SRC_X num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define DRAWIMAGE_ZOOM_EX_SRC_Y num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define DRAWIMAGE_ZOOM_EX_SRC_W num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define DRAWIMAGE_ZOOM_EX_SRC_H num_var[6].nid_value[0].value[ num_var[6].byref_offset ] +#define DRAWIMAGE_ZOOM_EX_ZX num_var[7].nid_value[0].value[ num_var[7].byref_offset ] +#define DRAWIMAGE_ZOOM_EX_ZY num_var[8].nid_value[0].value[ num_var[8].byref_offset ] +#define FN_DrawImage_Rotozoom 202 +#define DRAWIMAGE_ROTOZOOM_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DRAWIMAGE_ROTOZOOM_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DRAWIMAGE_ROTOZOOM_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define DRAWIMAGE_ROTOZOOM_ANGLE num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define DRAWIMAGE_ROTOZOOM_ZX num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define DRAWIMAGE_ROTOZOOM_ZY num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define FN_DrawImage_Rotozoom_Ex 203 +#define DRAWIMAGE_ROTOZOOM_EX_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DRAWIMAGE_ROTOZOOM_EX_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DRAWIMAGE_ROTOZOOM_EX_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define DRAWIMAGE_ROTOZOOM_EX_SRC_X num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define DRAWIMAGE_ROTOZOOM_EX_SRC_Y num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define DRAWIMAGE_ROTOZOOM_EX_SRC_W num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define DRAWIMAGE_ROTOZOOM_EX_SRC_H num_var[6].nid_value[0].value[ num_var[6].byref_offset ] +#define DRAWIMAGE_ROTOZOOM_EX_ANGLE num_var[7].nid_value[0].value[ num_var[7].byref_offset ] +#define DRAWIMAGE_ROTOZOOM_EX_ZX num_var[8].nid_value[0].value[ num_var[8].byref_offset ] +#define DRAWIMAGE_ROTOZOOM_EX_ZY num_var[9].nid_value[0].value[ num_var[9].byref_offset ] +#define FN_DrawImage_Flip 204 +#define DRAWIMAGE_FLIP_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DRAWIMAGE_FLIP_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DRAWIMAGE_FLIP_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define DRAWIMAGE_FLIP_H num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define DRAWIMAGE_FLIP_V num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_DrawImage_Flip_Ex 205 +#define DRAWIMAGE_FLIP_EX_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DRAWIMAGE_FLIP_EX_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DRAWIMAGE_FLIP_EX_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define DRAWIMAGE_FLIP_EX_SRC_X num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define DRAWIMAGE_FLIP_EX_SRC_Y num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define DRAWIMAGE_FLIP_EX_SRC_W num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define DRAWIMAGE_FLIP_EX_SRC_H num_var[6].nid_value[0].value[ num_var[6].byref_offset ] +#define DRAWIMAGE_FLIP_EX_H num_var[7].nid_value[0].value[ num_var[7].byref_offset ] +#define DRAWIMAGE_FLIP_EX_V num_var[8].nid_value[0].value[ num_var[8].byref_offset ] +#define FN_InKey 206 +#define FN_Key 207 +#define KEY_KEY_CODE num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_WaitKey 208 +#define FN_HideMouse 209 +#define FN_ShowMouse 210 +#define FN_MouseIsVisible 211 +#define FN_GetMouse 212 +#define GETMOUSE_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETMOUSE_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETMOUSE_MB1 num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define GETMOUSE_MB2 num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define GETMOUSE_MB3 num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_MouseX 213 +#define FN_MouseY 214 +#define FN_MouseButton 215 +#define MOUSEBUTTON_MB num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_GetMouseWheel 216 +#define GETMOUSEWHEEL_X_AXIS num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETMOUSEWHEEL_Y_AXIS num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_MouseWheelX 217 +#define FN_MouseWheelY 218 +#define FN_SoundFromBuffer 219 +#define SOUNDFROMBUFFER_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SOUNDFROMBUFFER_BUFFER num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SOUNDFROMBUFFER_BUFFER_SIZE num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define SOUNDFROMBUFFER_VOL num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_LoadSound 220 +#define LOADSOUND_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define LOADSOUND_SND_FILE$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_LoadMusic 221 +#define LOADMUSIC_MUSIC_FILE$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_PlaySound 222 +#define PLAYSOUND_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define PLAYSOUND_CHANNEL num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define PLAYSOUND_LOOPS num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_PlaySoundTimed 223 +#define PLAYSOUNDTIMED_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define PLAYSOUNDTIMED_CHANNEL num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define PLAYSOUNDTIMED_LOOPS num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define PLAYSOUNDTIMED_MS num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_PlayMusic 224 +#define PLAYMUSIC_MLOOPS num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_PauseSound 225 +#define PAUSESOUND_CHANNEL num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ResumeSound 226 +#define RESUMESOUND_CHANNEL num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_PauseMusic 227 +#define FN_ResumeMusic 228 +#define FN_DeleteSound 229 +#define DELETESOUND_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_DeleteMusic 230 +#define FN_FadeMusicIn 231 +#define FADEMUSICIN_FADE_TIME num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FADEMUSICIN_LOOPS num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_FadeMusicOut 232 +#define FADEMUSICOUT_FADE_TIME num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_MusicExists 233 +#define FN_SetMusicVolume 234 +#define SETMUSICVOLUME_VOL num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_MusicVolume 235 +#define FN_SetMusicPosition 236 +#define SETMUSICPOSITION_POS num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_MusicPosition 237 +#define FN_RewindMusic 238 +#define FN_SetSoundChannels 239 +#define SETSOUNDCHANNELS_MAX_CHANNELS num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_NumSoundChannels 240 +#define FN_SoundIsEnabled 241 +#define FN_SoundExists 242 +#define SOUNDEXISTS_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetChannelVolume 243 +#define SETCHANNELVOLUME_CHANNEL num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETCHANNELVOLUME_VOL num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_ChannelVolume 244 +#define CHANNELVOLUME_CHANNEL num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetSoundVolume 245 +#define SETSOUNDVOLUME_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETSOUNDVOLUME_VOL num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_SoundVolume 246 +#define SOUNDVOLUME_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_StopMusic 247 +#define FN_StopSound 248 +#define STOPSOUND_CHANNEL num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetChannelPanning 249 +#define SETCHANNELPANNING_CHANNEL num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETCHANNELPANNING_LEFT_VALUE num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SETCHANNELPANNING_RIGHT_VALUE num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_SetChannelDistance 250 +#define SETCHANNELDISTANCE_CHANNEL num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETCHANNELDISTANCE_DIST_VALUE num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_ChannelIsPlaying 251 +#define CHANNELISPLAYING_CHANNEL num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ChannelIsPaused 252 +#define CHANNELISPAUSED_CHANNEL num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_NumJoysticks 253 +#define FN_NumJoyAxes 254 +#define NUMJOYAXES_JOY_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_NumJoyButtons 255 +#define NUMJOYBUTTONS_JOY_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_NumJoyHats 256 +#define NUMJOYHATS_JOY_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_NumJoyTrackBalls 257 +#define NUMJOYTRACKBALLS_JOY_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_JoyAxis 258 +#define JOYAXIS_JOY_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define JOYAXIS_JOY_AXIS num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_JoyButton 259 +#define JOYBUTTON_JOY_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define JOYBUTTON_JOY_BUTTON num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_JoyHat 260 +#define JOYHAT_JOY_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define JOYHAT_JOY_HAT num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_GetJoyTrackBall 261 +#define GETJOYTRACKBALL_JOY_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETJOYTRACKBALL_BALL num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETJOYTRACKBALL_DX num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define GETJOYTRACKBALL_DY num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_JoyName$ 262 +#define JOYNAME$_JOY_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_JoystickIsConnected 263 +#define JOYSTICKISCONNECTED_JOY_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_GetCursor 264 +#define GETCURSOR_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETCURSOR_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_PrintS 265 +#define PRINTS_TXT$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_InputS$ 266 +#define INPUTS$_PROMPT$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_ZoneInputS$ 267 +#define ZONEINPUTS$_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define ZONEINPUTS$_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define ZONEINPUTS$_W num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define ZONEINPUTS$_H num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_Locate 268 +#define LOCATE_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define LOCATE_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_ReadInput_Start 269 +#define FN_ReadInput_Stop 270 +#define FN_ReadInput_Text$ 271 +#define FN_ReadInput_SetText 272 +#define READINPUT_SETTEXT_TXT$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_ReadInput_ToggleBackspace 273 +#define READINPUT_TOGGLEBACKSPACE_FLAG num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_LoadFont 274 +#define LOADFONT_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define LOADFONT_FNT_FILE$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define LOADFONT_SIZE num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_DeleteFont 275 +#define DELETEFONT_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_FontIsLoaded 276 +#define FONTISLOADED_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_Font 277 +#define FONT_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetFontStyle 278 +#define SETFONTSTYLE_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETFONTSTYLE_STYLE num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_DrawText 279 +#define DRAWTEXT_TXT$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define DRAWTEXT_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DRAWTEXT_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_DrawText_Shaded 280 +#define DRAWTEXT_SHADED_TXT$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define DRAWTEXT_SHADED_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DRAWTEXT_SHADED_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DRAWTEXT_SHADED_FG_COLOR num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define DRAWTEXT_SHADED_BG_COLOR num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_DrawText_Blended 281 +#define DRAWTEXT_BLENDED_TXT$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define DRAWTEXT_BLENDED_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DRAWTEXT_BLENDED_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_RenderText 282 +#define RENDERTEXT_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define RENDERTEXT_TXT$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_GetTextSize 283 +#define GETTEXTSIZE_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETTEXTSIZE_TXT$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define GETTEXTSIZE_W num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETTEXTSIZE_H num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_TouchPressure 284 +#define FN_GetTouch 285 +#define GETTOUCH_STATUS num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETTOUCH_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETTOUCH_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define GETTOUCH_DX num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define GETTOUCH_DY num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_GetMultiTouch 286 +#define GETMULTITOUCH_STATUS num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETMULTITOUCH_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETMULTITOUCH_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define GETMULTITOUCH_FINGERS num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define GETMULTITOUCH_DIST num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define GETMULTITOUCH_THETA num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define FN_GetTouchFinger 287 +#define GETTOUCHFINGER_FINGER num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETTOUCHFINGER_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETTOUCHFINGER_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define GETTOUCHFINGER_PRESSURE num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_NumFingers 288 +#define FN_CheckSockets 289 +#define CHECKSOCKETS_TIMEOUT_MS num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_TCP_SocketReady 290 +#define TCP_SOCKETREADY_SOCKET num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_UDP_SocketReady 291 +#define UDP_SOCKETREADY_SOCKET num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_TCP_SocketOpen 292 +#define TCP_SOCKETOPEN_SOCKET num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define TCP_SOCKETOPEN_HOST$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define TCP_SOCKETOPEN_PORT num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_TCP_SocketClose 293 +#define TCP_SOCKETCLOSE_SOCKET num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_TCP_RemoteHost 294 +#define TCP_REMOTEHOST_SOCKET num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_TCP_RemotePort 295 +#define TCP_REMOTEPORT_SOCKET num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_TCP_GetData 296 +#define TCP_GETDATA_SOCKET num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define TCP_GETDATA_SDATA$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define TCP_GETDATA_NUMBYTES num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_TCP_SendData 297 +#define TCP_SENDDATA_SOCKET num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define TCP_SENDDATA_SDATA$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_TCP_AcceptSocket 298 +#define TCP_ACCEPTSOCKET_SERVER num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define TCP_ACCEPTSOCKET_CLIENT num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_UDP_SocketOpen 299 +#define UDP_SOCKETOPEN_SOCKET num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define UDP_SOCKETOPEN_PORT num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_UDP_SocketClose 300 +#define UDP_SOCKETCLOSE_SOCKET num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_UDP_GetData 301 +#define UDP_GETDATA_SOCKET num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define UDP_GETDATA_SDATA$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define UDP_GETDATA_HOST$ str_var[1].sid_value[0].value[ str_var[1].byref_offset ] +#define UDP_GETDATA_PORT num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_UDP_Length 302 +#define FN_UDP_MaxLength 303 +#define FN_UDP_RemoteHost$ 304 +#define UDP_REMOTEHOST$_SOCKET num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_UDP_RemotePort 305 +#define UDP_REMOTEPORT_SOCKET num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_UDP_SendData 306 +#define UDP_SENDDATA_SOCKET num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define UDP_SENDDATA_SDATA$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define UDP_SENDDATA_HOST$ str_var[1].sid_value[0].value[ str_var[1].byref_offset ] +#define UDP_SENDDATA_PORT num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_LoadVideo 307 +#define LOADVIDEO_VID$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_PlayVideo 308 +#define PLAYVIDEO_VLOOPS num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_PauseVideo 309 +#define FN_StopVideo 310 +#define FN_SetVideoPosition 311 +#define SETVIDEOPOSITION_POS num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ResumeVideo 312 +#define FN_VideoPosition 313 +#define FN_DeleteVideo 314 +#define FN_VideoIsPlaying 315 +#define FN_VideoEnd 316 +#define FN_GetVideoStats 317 +#define GETVIDEOSTATS_VFILE$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define GETVIDEOSTATS_VLEN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETVIDEOSTATS_VFPS num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETVIDEOSTATS_FRAME_W num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define GETVIDEOSTATS_FRAME_H num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_SetVideoDrawRect 318 +#define SETVIDEODRAWRECT_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETVIDEODRAWRECT_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SETVIDEODRAWRECT_W num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define SETVIDEODRAWRECT_H num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_GetVideoDrawRect 319 +#define GETVIDEODRAWRECT_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETVIDEODRAWRECT_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETVIDEODRAWRECT_W num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define GETVIDEODRAWRECT_H num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_GetVideoSize 320 +#define GETVIDEOSIZE_W num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETVIDEOSIZE_H num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_VideoExists 321 +#define FN_SetVideoAlpha 322 +#define SETVIDEOALPHA_A num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_System 323 +#define SYSTEM_CMD$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_OS$ 324 +#define FN_Command$ 325 +#define COMMAND$_ARG num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_NumCommands 326 +#define FN_Env$ 327 +#define ENV$_V$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_SetEnv 328 +#define SETENV_VAR$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define SETENV_VALUE$ str_var[1].sid_value[0].value[ str_var[1].byref_offset ] +#define SETENV_OVERWRITE num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_PrefPath$ 329 +#define PREFPATH$_ORG_NAME$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define PREFPATH$_APP_NAME$ str_var[1].sid_value[0].value[ str_var[1].byref_offset ] +#define FN_Android_GetExternalStoragePath$ 330 +#define FN_Android_GetExternalStorageState 331 +#define FN_Android_GetInternalStoragePath$ 332 +#define FN_Android_JNI_Message$ 333 +#define ANDROID_JNI_MESSAGE$_ARG$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_Runtime_Utility_Message$ 334 +#define RUNTIME_UTILITY_MESSAGE$_ARG$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_ClipboardText$ 335 +#define FN_SetClipboardText 336 +#define SETCLIPBOARDTEXT_TXT$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_HasClipboardText 337 +#define FN_GetDesktopDisplayMode 338 +#define GETDESKTOPDISPLAYMODE_INDEX num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETDESKTOPDISPLAYMODE_W num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETDESKTOPDISPLAYMODE_H num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define GETDESKTOPDISPLAYMODE_FREQ num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_DrawImage_Transform 339 +#define DRAWIMAGE_TRANSFORM_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DRAWIMAGE_TRANSFORM_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DRAWIMAGE_TRANSFORM_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define DRAWIMAGE_TRANSFORM_W num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define DRAWIMAGE_TRANSFORM_H num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define DRAWIMAGE_TRANSFORM_SRC_X num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define DRAWIMAGE_TRANSFORM_SRC_Y num_var[6].nid_value[0].value[ num_var[6].byref_offset ] +#define DRAWIMAGE_TRANSFORM_SRC_W num_var[7].nid_value[0].value[ num_var[7].byref_offset ] +#define DRAWIMAGE_TRANSFORM_SRC_H num_var[8].nid_value[0].value[ num_var[8].byref_offset ] +#define DRAWIMAGE_TRANSFORM_ANGLE num_var[9].nid_value[0].value[ num_var[9].byref_offset ] +#define DRAWIMAGE_TRANSFORM_CENTER_X num_var[10].nid_value[0].value[ num_var[10].byref_offset ] +#define DRAWIMAGE_TRANSFORM_CENTER_Y num_var[11].nid_value[0].value[ num_var[11].byref_offset ] +#define DRAWIMAGE_TRANSFORM_FLIP_H num_var[12].nid_value[0].value[ num_var[12].byref_offset ] +#define DRAWIMAGE_TRANSFORM_FLIP_V num_var[13].nid_value[0].value[ num_var[13].byref_offset ] +#define FN_GetPowerInfo 340 +#define GETPOWERINFO_STATUS num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETPOWERINFO_SECS num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETPOWERINFO_PCT num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_SystemRam 341 +#define FN_SetRenderScaleQuality 342 +#define SETRENDERSCALEQUALITY_N num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_EvalJS$ 343 +#define EVALJS$_JS_CODE$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_GetRenderScaleQuality 344 +#define FN_GetGlobalMouse 345 +#define GETGLOBALMOUSE_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETGLOBALMOUSE_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETGLOBALMOUSE_MB1 num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define GETGLOBALMOUSE_MB2 num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define GETGLOBALMOUSE_MB3 num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_GlobalMouseX 346 +#define FN_GlobalMouseY 347 +#define FN_GetAccel 348 +#define GETACCEL_ACCEL_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETACCEL_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETACCEL_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define GETACCEL_Z num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_AccelName$ 349 +#define ACCELNAME$_ACCEL_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_NumAccels 350 +#define FN_GetGyro 351 +#define GETGYRO_GYRO_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETGYRO_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETGYRO_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define GETGYRO_Z num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_GyroName$ 352 +#define GYRONAME$_GYRO_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_NumGyros 353 +#define FN_JoyRumblePlay 354 +#define JOYRUMBLEPLAY_JOY_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define JOYRUMBLEPLAY_STRENGTH num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define JOYRUMBLEPLAY_DURATION num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_JoyRumbleStop 355 +#define JOYRUMBLESTOP_JOY_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_JoystickIsHaptic 356 +#define JOYSTICKISHAPTIC_JOY_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_WriteByteBuffer 357 +#define WRITEBYTEBUFFER_STREAM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define WRITEBYTEBUFFER_BUF num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define WRITEBYTEBUFFER_BUF_SIZE num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_ReadByteBuffer 358 +#define READBYTEBUFFER_STREAM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define READBYTEBUFFER_BUF num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define READBYTEBUFFER_BUF_SIZE num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_WindowEvent_Resize 359 +#define WINDOWEVENT_RESIZE_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetWindowAutoClose 360 +#define SETWINDOWAUTOCLOSE_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETWINDOWAUTOCLOSE_EXIT_ON_CLOSE num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_SetWindowResizable 361 +#define SETWINDOWRESIZABLE_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETWINDOWRESIZABLE_FLAG num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_SystemReturnStdOut$ 362 +#define SYSTEMRETURNSTDOUT$_CMD$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_WindowMode 363 +#define WINDOWMODE_VISIBLE num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define WINDOWMODE_FULLSCREEN num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define WINDOWMODE_RESIZABLE num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define WINDOWMODE_BORDERLESS num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define WINDOWMODE_HIGHDPI num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_WindowFlags 364 +#define WINDOWFLAGS_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_RestoreWindow 365 +#define RESTOREWINDOW_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_UpdateAllWindows 366 +#define FN_QueryAudioSpec 367 +#define QUERYAUDIOSPEC_FREQ num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define QUERYAUDIOSPEC_FORMAT num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define QUERYAUDIOSPEC_CHANNELS num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_MusicIsPlaying 368 +#define FN_DrawGeometry 369 +#define DRAWGEOMETRY_SLOT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DRAWGEOMETRY_NUM_VERTICES num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DRAWGEOMETRY_VERTICES num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define DRAWGEOMETRY_NUM_INDICES num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define DRAWGEOMETRY_INDICES num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_Size 370 +#define SIZE_S$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_BufferFromString 371 +#define BUFFERFROMSTRING_S$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define BUFFERFROMSTRING_BUFFER num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_StringFromBuffer$ 372 +#define STRINGFROMBUFFER$_BUFFER num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define STRINGFROMBUFFER$_BUFFER_SIZE num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_GrabInput 373 +#define GRABINPUT_FLAG num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_GrabbedWindow 374 +#define FN_WarpMouse 375 +#define WARPMOUSE_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define WARPMOUSE_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_WarpMouseGlobal 376 +#define WARPMOUSEGLOBAL_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define WARPMOUSEGLOBAL_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_SetMouseZone 377 +#define SETMOUSEZONE_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETMOUSEZONE_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SETMOUSEZONE_W num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define SETMOUSEZONE_H num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_ClearMouseZone 378 +#define FN_SetWindowAlwaysOnTop 379 +#define SETWINDOWALWAYSONTOP_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETWINDOWALWAYSONTOP_FLAG num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_SetMouseRelative 380 +#define SETMOUSERELATIVE_FLAG num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetWindowVSync 381 +#define SETWINDOWVSYNC_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETWINDOWVSYNC_FLAG num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_OpenURL 382 +#define OPENURL_URL$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_APIVersion$ 383 +#define FN_FlashWindow 384 +#define FLASHWINDOW_WIN num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_MessageBox 385 +#define MESSAGEBOX_TITLE$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define MESSAGEBOX_MSG$ str_var[1].sid_value[0].value[ str_var[1].byref_offset ] +#define FN_NumberArrayCopy 386 +#define NUMBERARRAYCOPY_SRC num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define NUMBERARRAYCOPY_DST num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_StringArrayCopy 387 +#define STRINGARRAYCOPY_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define STRINGARRAYCOPY_DST$ str_var[1].sid_value[0].value[ str_var[1].byref_offset ] +#define FN_ArrayCopy 388 +#define ARRAYCOPY_SRC num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define ARRAYCOPY_DST num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_NumberArrayFill 389 +#define NUMBERARRAYFILL_SRC num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define NUMBERARRAYFILL_FDATA num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_StringArrayFill 390 +#define STRINGARRAYFILL_SRC$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define STRINGARRAYFILL_FDATA$ str_var[1].sid_value[0].value[ str_var[1].byref_offset ] +#define FN_ArrayFill 391 +#define ARRAYFILL_SRC num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define ARRAYFILL_FDATA num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_Runtime$ 392 +#define FN_DimMatrix 393 +#define DIMMATRIX_M num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DIMMATRIX_M_ROWS num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DIMMATRIX_M_COLS num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define DIMMATRIX_PRESERVE_FLAG num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_AddMatrix 394 +#define ADDMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define ADDMATRIX_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define ADDMATRIX_MC num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_AugmentMatrix 395 +#define AUGMENTMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define AUGMENTMATRIX_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define AUGMENTMATRIX_MC num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_CopyMatrix 396 +#define COPYMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define COPYMATRIX_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_InsertMatrixColumns 397 +#define INSERTMATRIXCOLUMNS_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define INSERTMATRIXCOLUMNS_C num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define INSERTMATRIXCOLUMNS_NUM_COLS num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_InsertMatrixRows 398 +#define INSERTMATRIXROWS_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define INSERTMATRIXROWS_R num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define INSERTMATRIXROWS_NUM_ROWS num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_MultiplyMatrix 399 +#define MULTIPLYMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define MULTIPLYMATRIX_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define MULTIPLYMATRIX_MC num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_CubeMatrix 400 +#define CUBEMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define CUBEMATRIX_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_DeleteMatrixColumns 401 +#define DELETEMATRIXCOLUMNS_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DELETEMATRIXCOLUMNS_C num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DELETEMATRIXCOLUMNS_NUM_COLS num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_DeleteMatrixRows 402 +#define DELETEMATRIXROWS_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DELETEMATRIXROWS_R num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DELETEMATRIXROWS_NUM_ROWS num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_ClearMatrix 403 +#define CLEARMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ClearMatrixColumns 404 +#define CLEARMATRIXCOLUMNS_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define CLEARMATRIXCOLUMNS_C num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define CLEARMATRIXCOLUMNS_NUM_COLS num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_ClearMatrixRows 405 +#define CLEARMATRIXROWS_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define CLEARMATRIXROWS_R num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define CLEARMATRIXROWS_NUM_ROWS num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_FillMatrix 406 +#define FILLMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FILLMATRIX_V num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_FillMatrixColumns 407 +#define FILLMATRIXCOLUMNS_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FILLMATRIXCOLUMNS_C num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FILLMATRIXCOLUMNS_NUM_COLS num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FILLMATRIXCOLUMNS_V num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_FillMatrixRows 408 +#define FILLMATRIXROWS_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FILLMATRIXROWS_R num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FILLMATRIXROWS_NUM_ROWS num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FILLMATRIXROWS_V num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_CopyMatrixColumns 409 +#define COPYMATRIXCOLUMNS_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define COPYMATRIXCOLUMNS_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define COPYMATRIXCOLUMNS_C num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define COPYMATRIXCOLUMNS_NUM_COLS num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_CopyMatrixRows 410 +#define COPYMATRIXROWS_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define COPYMATRIXROWS_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define COPYMATRIXROWS_R num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define COPYMATRIXROWS_NUM_ROWS num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_IdentityMatrix 411 +#define IDENTITYMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define IDENTITYMATRIX_N num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_SolveMatrix 412 +#define SOLVEMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SOLVEMATRIX_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SOLVEMATRIX_MC num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_IsEqualMatrix 413 +#define ISEQUALMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define ISEQUALMATRIX_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define ISEQUALMATRIX_TOLERANCE num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_Determinant 414 +#define DETERMINANT_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_AdjointMatrix 415 +#define ADJOINTMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define ADJOINTMATRIX_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_InvertMatrix 416 +#define INVERTMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define INVERTMATRIX_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_MatrixFromBuffer 417 +#define MATRIXFROMBUFFER_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define MATRIXFROMBUFFER_R num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define MATRIXFROMBUFFER_C num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define MATRIXFROMBUFFER_BUFFER num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_GetMatrix 418 +#define GETMATRIX_BUFFER num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETMATRIX_MA num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_RandomizeMatrix 419 +#define RANDOMIZEMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define RANDOMIZEMATRIX_VMIN num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define RANDOMIZEMATRIX_VMAX num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_MatrixValue 420 +#define MATRIXVALUE_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define MATRIXVALUE_R num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define MATRIXVALUE_C num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_SetMatrixValue 421 +#define SETMATRIXVALUE_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETMATRIXVALUE_R num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SETMATRIXVALUE_C num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define SETMATRIXVALUE_V num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_ScalarMatrix 422 +#define SCALARMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SCALARMATRIX_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SCALARMATRIX_S_VALUE num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_ScalarMatrixColumns 423 +#define SCALARMATRIXCOLUMNS_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SCALARMATRIXCOLUMNS_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SCALARMATRIXCOLUMNS_C num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define SCALARMATRIXCOLUMNS_NUM_COLS num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define SCALARMATRIXCOLUMNS_S_VALUE num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_ScalarMatrixRows 424 +#define SCALARMATRIXROWS_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SCALARMATRIXROWS_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SCALARMATRIXROWS_R num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define SCALARMATRIXROWS_NUM_ROWS num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define SCALARMATRIXROWS_S_VALUE num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_SquareMatrix 425 +#define SQUAREMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SQUAREMATRIX_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_SubMatrix 426 +#define SUBMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SUBMATRIX_R num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SUBMATRIX_C num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_SubtractMatrix 427 +#define SUBTRACTMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SUBTRACTMATRIX_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SUBTRACTMATRIX_MC num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_SwapMatrix 428 +#define SWAPMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SWAPMATRIX_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_SwapMatrixColumn 429 +#define SWAPMATRIXCOLUMN_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SWAPMATRIXCOLUMN_C1 num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SWAPMATRIXCOLUMN_C2 num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_SwapMatrixRow 430 +#define SWAPMATRIXROW_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SWAPMATRIXROW_R1 num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SWAPMATRIXROW_R2 num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_TransposeMatrix 431 +#define TRANSPOSEMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define TRANSPOSEMATRIX_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_UnAugmentMatrix 432 +#define UNAUGMENTMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define UNAUGMENTMATRIX_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define UNAUGMENTMATRIX_MC num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_ZeroMatrix 433 +#define ZEROMATRIX_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_GetMatrixSize 434 +#define GETMATRIXSIZE_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETMATRIXSIZE_R num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETMATRIXSIZE_C num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_SetMatrixProcess 435 +#define SETMATRIXPROCESS_P_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ProcessOpen 436 +#define PROCESSOPEN_P_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_SetProcessErrorMode 437 +#define SETPROCESSERRORMODE_P_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETPROCESSERRORMODE_ERROR_MODE num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_ProcessError 438 +#define PROCESSERROR_P_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ProcessWait 439 +#define PROCESSWAIT_P_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ProcessWaitAll 440 +#define FN_ProcessContinue 441 +#define PROCESSCONTINUE_P_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ProcessStop 442 +#define PROCESSSTOP_P_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ProcessClear 443 +#define PROCESSCLEAR_P_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ProcessClose 444 +#define PROCESSCLOSE_P_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ProcessErrorMode 445 +#define PROCESSERRORMODE_P_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ProcessSleep 446 +#define PROCESSSLEEP_P_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define PROCESSSLEEP_MSEC num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_ProcessExists 447 +#define PROCESSEXISTS_P_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_ProcessStopAll 448 +#define FN_ProcessContinueAll 449 +#define FN_ProcessQueueSize 450 +#define PROCESSQUEUESIZE_P_NUM num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define FN_NumCPUs 451 +#define FN_GetProjectionGeometry 452 +#define GETPROJECTIONGEOMETRY_CAM_DIST num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETPROJECTIONGEOMETRY_MA num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETPROJECTIONGEOMETRY_F_VERTEX_COUNT num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define GETPROJECTIONGEOMETRY_COLUMNS num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define GETPROJECTIONGEOMETRY_UV num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define GETPROJECTIONGEOMETRY_GRAPH_OFFSET_X num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define GETPROJECTIONGEOMETRY_GRAPH_OFFSET_Y num_var[6].nid_value[0].value[ num_var[6].byref_offset ] +#define GETPROJECTIONGEOMETRY_V_COLOR num_var[7].nid_value[0].value[ num_var[7].byref_offset ] +#define GETPROJECTIONGEOMETRY_VERTEX_COUNT num_var[8].nid_value[0].value[ num_var[8].byref_offset ] +#define GETPROJECTIONGEOMETRY_VERTEX2D num_var[9].nid_value[0].value[ num_var[9].byref_offset ] +#define GETPROJECTIONGEOMETRY_INDEX_COUNT num_var[10].nid_value[0].value[ num_var[10].byref_offset ] +#define GETPROJECTIONGEOMETRY_INDEX num_var[11].nid_value[0].value[ num_var[11].byref_offset ] +#define GETPROJECTIONGEOMETRY_CLIP_DIST num_var[12].nid_value[0].value[ num_var[12].byref_offset ] +#define GETPROJECTIONGEOMETRY_MIN_X num_var[13].nid_value[0].value[ num_var[13].byref_offset ] +#define GETPROJECTIONGEOMETRY_MIN_Y num_var[14].nid_value[0].value[ num_var[14].byref_offset ] +#define GETPROJECTIONGEOMETRY_MAX_X num_var[15].nid_value[0].value[ num_var[15].byref_offset ] +#define GETPROJECTIONGEOMETRY_MAX_Y num_var[16].nid_value[0].value[ num_var[16].byref_offset ] +#define FN_CalculateFaceZ 453 +#define CALCULATEFACEZ_CAM_DIST num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define CALCULATEFACEZ_GRAPH_OFFSET_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define CALCULATEFACEZ_GRAPH_OFFSET_Y num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define CALCULATEFACEZ_VIEW_W num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define CALCULATEFACEZ_VIEW_H num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define CALCULATEFACEZ_VIEW_DEPTH num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define CALCULATEFACEZ_MA num_var[6].nid_value[0].value[ num_var[6].byref_offset ] +#define CALCULATEFACEZ_F_VERTEX_COUNT num_var[7].nid_value[0].value[ num_var[7].byref_offset ] +#define CALCULATEFACEZ_COLUMNS num_var[8].nid_value[0].value[ num_var[8].byref_offset ] +#define CALCULATEFACEZ_FACE_MIN_Z num_var[9].nid_value[0].value[ num_var[9].byref_offset ] +#define CALCULATEFACEZ_FACE_MAX_Z num_var[10].nid_value[0].value[ num_var[10].byref_offset ] +#define CALCULATEFACEZ_Z_AVG num_var[11].nid_value[0].value[ num_var[11].byref_offset ] +#define FN_SetChannelSpacePosition 454 +#define SETCHANNELSPACEPOSITION_CHANNEL num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SETCHANNELSPACEPOSITION_ANGLE num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define SETCHANNELSPACEPOSITION_DISTANCE num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_SaveBMP 455 +#define SAVEBMP_IMG num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SAVEBMP_FILE$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_SavePNG 456 +#define SAVEPNG_IMG num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SAVEPNG_FILE$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_SaveJPG 457 +#define SAVEJPG_IMG num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define SAVEJPG_FILE$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_GetLineIntersection 458 +#define GETLINEINTERSECTION_P0_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETLINEINTERSECTION_P0_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETLINEINTERSECTION_P1_X num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define GETLINEINTERSECTION_P1_Y num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define GETLINEINTERSECTION_P2_X num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define GETLINEINTERSECTION_P2_Y num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define GETLINEINTERSECTION_P3_X num_var[6].nid_value[0].value[ num_var[6].byref_offset ] +#define GETLINEINTERSECTION_P3_Y num_var[7].nid_value[0].value[ num_var[7].byref_offset ] +#define GETLINEINTERSECTION_I_X num_var[8].nid_value[0].value[ num_var[8].byref_offset ] +#define GETLINEINTERSECTION_I_Y num_var[9].nid_value[0].value[ num_var[9].byref_offset ] +#define FN_Interpolate 459 +#define INTERPOLATE_MIN_A num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define INTERPOLATE_MAX_A num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define INTERPOLATE_MID_A num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define INTERPOLATE_MIN_B num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define INTERPOLATE_MAX_B num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_ATan2 460 +#define ATAN2_Y num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define ATAN2_X num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_PointInQuad 461 +#define POINTINQUAD_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define POINTINQUAD_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define POINTINQUAD_X1 num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define POINTINQUAD_Y1 num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define POINTINQUAD_X2 num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define POINTINQUAD_Y2 num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define POINTINQUAD_X3 num_var[6].nid_value[0].value[ num_var[6].byref_offset ] +#define POINTINQUAD_Y3 num_var[7].nid_value[0].value[ num_var[7].byref_offset ] +#define POINTINQUAD_X4 num_var[8].nid_value[0].value[ num_var[8].byref_offset ] +#define POINTINQUAD_Y4 num_var[9].nid_value[0].value[ num_var[9].byref_offset ] +#define FN_PointInTri 462 +#define POINTINTRI_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define POINTINTRI_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define POINTINTRI_X1 num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define POINTINTRI_Y1 num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define POINTINTRI_X2 num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define POINTINTRI_Y2 num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define POINTINTRI_X3 num_var[6].nid_value[0].value[ num_var[6].byref_offset ] +#define POINTINTRI_Y3 num_var[7].nid_value[0].value[ num_var[7].byref_offset ] +#define FN_Distance2D 463 +#define DISTANCE2D_X1 num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DISTANCE2D_Y1 num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DISTANCE2D_X2 num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define DISTANCE2D_Y2 num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define FN_Distance3D 464 +#define DISTANCE3D_X1 num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define DISTANCE3D_Y1 num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define DISTANCE3D_Z1 num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define DISTANCE3D_X2 num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define DISTANCE3D_Y2 num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define DISTANCE3D_Z2 num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define FN_GetCircleLineIntersection 465 +#define GETCIRCLELINEINTERSECTION_CIRCLE_X num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETCIRCLELINEINTERSECTION_CIRCLE_Y num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETCIRCLELINEINTERSECTION_RADIUS num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define GETCIRCLELINEINTERSECTION_X1 num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define GETCIRCLELINEINTERSECTION_Y1 num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define GETCIRCLELINEINTERSECTION_X2 num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define GETCIRCLELINEINTERSECTION_Y2 num_var[6].nid_value[0].value[ num_var[6].byref_offset ] +#define GETCIRCLELINEINTERSECTION_IX1 num_var[7].nid_value[0].value[ num_var[7].byref_offset ] +#define GETCIRCLELINEINTERSECTION_IY1 num_var[8].nid_value[0].value[ num_var[8].byref_offset ] +#define GETCIRCLELINEINTERSECTION_IX2 num_var[9].nid_value[0].value[ num_var[9].byref_offset ] +#define GETCIRCLELINEINTERSECTION_IY2 num_var[10].nid_value[0].value[ num_var[10].byref_offset ] +#define FN_GetLinePlaneIntersection 466 +#define GETLINEPLANEINTERSECTION_LINE_POINT num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define GETLINEPLANEINTERSECTION_LINE_DIRECTION num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define GETLINEPLANEINTERSECTION_PLANE_POINT_1 num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define GETLINEPLANEINTERSECTION_PLANE_POINT_2 num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define GETLINEPLANEINTERSECTION_PLANE_POINT_3 num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define GETLINEPLANEINTERSECTION_INTERSECTION num_var[5].nid_value[0].value[ num_var[5].byref_offset ] +#define FN_IncrementMatrixRows 467 +#define INCREMENTMATRIXROWS_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define INCREMENTMATRIXROWS_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define INCREMENTMATRIXROWS_R num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define INCREMENTMATRIXROWS_NUM_ROWS num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define INCREMENTMATRIXROWS_VALUE num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_IncrementMatrixColumns 468 +#define INCREMENTMATRIXCOLUMNS_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define INCREMENTMATRIXCOLUMNS_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define INCREMENTMATRIXCOLUMNS_C num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define INCREMENTMATRIXCOLUMNS_NUM_COLS num_var[3].nid_value[0].value[ num_var[3].byref_offset ] +#define INCREMENTMATRIXCOLUMNS_VALUE num_var[4].nid_value[0].value[ num_var[4].byref_offset ] +#define FN_JoinMatrixRows 469 +#define JOINMATRIXROWS_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define JOINMATRIXROWS_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define JOINMATRIXROWS_MC num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_JoinMatrixColumns 470 +#define JOINMATRIXCOLUMNS_MA num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define JOINMATRIXCOLUMNS_MB num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define JOINMATRIXCOLUMNS_MC num_var[2].nid_value[0].value[ num_var[2].byref_offset ] +#define FN_TypeArrayDim 471 +#define TYPEARRAYDIM_ID$ str_var[0].sid_value[0].value[ str_var[0].byref_offset ] +#define FN_TypeArraySize 472 +#define TYPEARRAYSIZE_ID num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define TYPEARRAYSIZE_ARRAY_DIM num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_TypeArrayCopy 473 +#define TYPEARRAYCOPY_SRC num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define TYPEARRAYCOPY_DST num_var[1].nid_value[0].value[ num_var[1].byref_offset ] +#define FN_TypeArrayFill 474 +#define TYPEARRAYFILL_SRC num_var[0].nid_value[0].value[ num_var[0].byref_offset ] +#define TYPEARRAYFILL_FDATA num_var[1].nid_value[0].value[ num_var[1].byref_offset ] diff --git a/rcbasic_build/rcbasic_dev3.txt b/rcbasic_build/rcbasic_dev3.txt new file mode 100644 index 0000000..1389185 --- /dev/null +++ b/rcbasic_build/rcbasic_dev3.txt @@ -0,0 +1,950 @@ +case FN_FPrint: //Sub Procedure +break; +case FN_Input$: //String Function +break; +case FN_ArrayDim: //Number Function +break; +case FN_StringArrayDim: //Number Function +break; +case FN_NumberArrayDim: //Number Function +break; +case FN_ArraySize: //Number Function +break; +case FN_StringArraySize: //Number Function +break; +case FN_NumberArraySize: //Number Function +break; +case FN_Abs: //Number Function +break; +case FN_ACos: //Number Function +break; +case FN_AndBit: //Number Function +break; +case FN_ASin: //Number Function +break; +case FN_ATan: //Number Function +break; +case FN_Bin$: //String Function +break; +case FN_CInt32: //Number Function +break; +case FN_CInt64: //Number Function +break; +case FN_Cos: //Number Function +break; +case FN_Degrees: //Number Function +break; +case FN_Exp: //Number Function +break; +case FN_Frac: //Number Function +break; +case FN_Hex$: //String Function +break; +case FN_HexVal: //Number Function +break; +case FN_Int: //Number Function +break; +case FN_Log: //Number Function +break; +case FN_Max: //Number Function +break; +case FN_Min: //Number Function +break; +case FN_OrBit: //Number Function +break; +case FN_Radians: //Number Function +break; +case FN_Randomize: //Number Function +break; +case FN_Rand: //Number Function +break; +case FN_Round: //Number Function +break; +case FN_Sign: //Number Function +break; +case FN_Sin: //Number Function +break; +case FN_Sqrt: //Number Function +break; +case FN_Tan: //Number Function +break; +case FN_XOrBit: //Number Function +break; +case FN_Asc: //Number Function +break; +case FN_Chr$: //String Function +break; +case FN_Insert$: //String Function +break; +case FN_InStr: //Number Function +break; +case FN_LCase$: //String Function +break; +case FN_Left$: //String Function +break; +case FN_Length: //Number Function +break; +case FN_Len: //Number Function +break; +case FN_LTrim$: //String Function +break; +case FN_Mid$: //String Function +break; +case FN_ReplaceSubstr$: //String Function +break; +case FN_Replace$: //String Function +break; +case FN_Reverse$: //String Function +break; +case FN_Right$: //String Function +break; +case FN_RTrim$: //String Function +break; +case FN_StringFill$: //String Function +break; +case FN_Str$: //String Function +break; +case FN_Str_F$: //String Function +break; +case FN_Str_S$: //String Function +break; +case FN_Tally: //Number Function +break; +case FN_Trim$: //String Function +break; +case FN_UCase$: //String Function +break; +case FN_Val: //Number Function +break; +case FN_Stack_N: //Sub Procedure +break; +case FN_Stack_S: //Sub Procedure +break; +case FN_Push_N: //Sub Procedure +break; +case FN_Pop_N: //Number Function +break; +case FN_Push_S: //Sub Procedure +break; +case FN_Pop_S$: //String Function +break; +case FN_Stack_Size_N: //Number Function +break; +case FN_Stack_Size_S: //Number Function +break; +case FN_FileOpen: //Number Function +break; +case FN_FileClose: //Sub Procedure +break; +case FN_ReadByte: //Number Function +break; +case FN_WriteByte: //Sub Procedure +break; +case FN_ReadLine$: //String Function +break; +case FN_Write: //Sub Procedure +break; +case FN_WriteLine: //Sub Procedure +break; +case FN_CopyFile: //Sub Procedure +break; +case FN_RemoveFile: //Number Function +break; +case FN_FileExists: //Number Function +break; +case FN_MoveFile: //Number Function +break; +case FN_RenameFile: //Number Function +break; +case FN_FileLength: //Number Function +break; +case FN_Tell: //Number Function +break; +case FN_Seek: //Number Function +break; +case FN_EOF: //Number Function +break; +case FN_FreeFile: //Number Function +break; +case FN_ChangeDir: //Sub Procedure +break; +case FN_DirExists: //Number Function +break; +case FN_DirFirst$: //String Function +break; +case FN_Dir$: //String Function +break; +case FN_DirNext$: //String Function +break; +case FN_MakeDir: //Number Function +break; +case FN_RemoveDir: //Number Function +break; +case FN_Date$: //String Function +break; +case FN_Easter$: //String Function +break; +case FN_Ticks: //Number Function +break; +case FN_Time$: //String Function +break; +case FN_Timer: //Number Function +break; +case FN_Wait: //Sub Procedure +break; +case FN_WindowOpen: //Sub Procedure +break; +case FN_WindowClose: //Sub Procedure +break; +case FN_RaiseWindow: //Sub Procedure +break; +case FN_Window: //Sub Procedure +break; +case FN_Update: //Sub Procedure +break; +case FN_Cls: //Sub Procedure +break; +case FN_SetClearColor: //Sub Procedure +break; +case FN_ShowWindow: //Sub Procedure +break; +case FN_HideWindow: //Sub Procedure +break; +case FN_SetWindowTitle: //Sub Procedure +break; +case FN_WindowTitle$: //String Function +break; +case FN_SetWindowPosition: //Sub Procedure +break; +case FN_GetWindowPosition: //Sub Procedure +break; +case FN_SetWindowSize: //Sub Procedure +break; +case FN_GetWindowSize: //Sub Procedure +break; +case FN_SetWindowMinSize: //Sub Procedure +break; +case FN_GetWindowMinSize: //Sub Procedure +break; +case FN_SetWindowMaxSize: //Sub Procedure +break; +case FN_GetWindowMaxSize: //Sub Procedure +break; +case FN_WindowIsFullscreen: //Number Function +break; +case FN_WindowIsVisible: //Number Function +break; +case FN_WindowIsBordered: //Number Function +break; +case FN_WindowIsResizable: //Number Function +break; +case FN_WindowIsMinimized: //Number Function +break; +case FN_WindowIsMaximized: //Number Function +break; +case FN_WindowHasInputFocus: //Number Function +break; +case FN_WindowHasMouseFocus: //Number Function +break; +case FN_SetWindowFullscreen: //Sub Procedure +break; +case FN_MaximizeWindow: //Sub Procedure +break; +case FN_MinimizeWindow: //Sub Procedure +break; +case FN_SetWindowBorder: //Sub Procedure +break; +case FN_WindowClip: //Sub Procedure +break; +case FN_WindowExists: //Number Function +break; +case FN_NumWindows: //Number Function +break; +case FN_WindowEvent_Close: //Number Function +break; +case FN_WindowEvent_Maximize: //Number Function +break; +case FN_WindowEvent_Minimize: //Number Function +break; +case FN_ActiveWindow: //Number Function +break; +case FN_FPS: //Number Function +break; +case FN_SetWindowIcon: //Sub Procedure +break; +case FN_CanvasOpen: //Sub Procedure +break; +case FN_CanvasClose: //Sub Procedure +break; +case FN_SetCanvasVisible: //Sub Procedure +break; +case FN_CanvasIsVisible: //Number Function +break; +case FN_SetCanvasViewport: //Sub Procedure +break; +case FN_GetCanvasViewport: //Sub Procedure +break; +case FN_Canvas: //Sub Procedure +break; +case FN_SetCanvasOffset: //Sub Procedure +break; +case FN_GetCanvasOffset: //Sub Procedure +break; +case FN_GetCanvasSize: //Sub Procedure +break; +case FN_ClearCanvas: //Sub Procedure +break; +case FN_SetCanvasAlpha: //Sub Procedure +break; +case FN_CanvasAlpha: //Number Function +break; +case FN_SetCanvasBlendMode: //Number Function +break; +case FN_CanvasBlendMode: //Number Function +break; +case FN_SetCanvasColorMod: //Number Function +break; +case FN_CanvasColorMod: //Number Function +break; +case FN_CopyCanvas: //Sub Procedure +break; +case FN_CloneCanvas: //Sub Procedure +break; +case FN_SetCanvasZ: //Sub Procedure +break; +case FN_CanvasZ: //Number Function +break; +case FN_CanvasClip: //Sub Procedure +break; +case FN_ActiveCanvas: //Number Function +break; +case FN_Box: //Sub Procedure +break; +case FN_BoxFill: //Sub Procedure +break; +case FN_Circle: //Sub Procedure +break; +case FN_CircleFill: //Sub Procedure +break; +case FN_Ellipse: //Sub Procedure +break; +case FN_EllipseFill: //Sub Procedure +break; +case FN_FloodFill: //Sub Procedure +break; +case FN_GetPixel: //Number Function +break; +case FN_SetColor: //Sub Procedure +break; +case FN_Line: //Sub Procedure +break; +case FN_Poly: //Sub Procedure +break; +case FN_PolyFill: //Sub Procedure +break; +case FN_Rect: //Sub Procedure +break; +case FN_RectFill: //Sub Procedure +break; +case FN_RoundRect: //Sub Procedure +break; +case FN_RoundRectFill: //Sub Procedure +break; +case FN_RGB: //Number Function +break; +case FN_RGBA: //Number Function +break; +case FN_PSet: //Sub Procedure +break; +case FN_LoadImage: //Sub Procedure +break; +case FN_LoadImage_Ex: //Sub Procedure +break; +case FN_ImageFromBuffer: //Sub Procedure +break; +case FN_ImageFromBuffer_Ex: //Sub Procedure +break; +case FN_BufferFromImage: //Sub Procedure +break; +case FN_ImageExists: //Number Function +break; +case FN_ColorKey: //Sub Procedure +break; +case FN_CopyImage: //Sub Procedure +break; +case FN_DeleteImage: //Sub Procedure +break; +case FN_SetImageAlpha: //Sub Procedure +break; +case FN_ImageAlpha: //Number Function +break; +case FN_GetImageSize: //Sub Procedure +break; +case FN_SetImageBlendMode: //Number Function +break; +case FN_ImageBlendMode: //Number Function +break; +case FN_SetImageColorMod: //Number Function +break; +case FN_ImageColorMod: //Number Function +break; +case FN_DrawImage: //Sub Procedure +break; +case FN_DrawImage_Blit: //Sub Procedure +break; +case FN_DrawImage_Blit_Ex: //Sub Procedure +break; +case FN_DrawImage_Rotate: //Sub Procedure +break; +case FN_DrawImage_Rotate_Ex: //Sub Procedure +break; +case FN_DrawImage_Zoom: //Sub Procedure +break; +case FN_DrawImage_Zoom_Ex: //Sub Procedure +break; +case FN_DrawImage_Rotozoom: //Sub Procedure +break; +case FN_DrawImage_Rotozoom_Ex: //Sub Procedure +break; +case FN_DrawImage_Flip: //Sub Procedure +break; +case FN_DrawImage_Flip_Ex: //Sub Procedure +break; +case FN_InKey: //Number Function +break; +case FN_Key: //Number Function +break; +case FN_WaitKey: //Number Function +break; +case FN_HideMouse: //Sub Procedure +break; +case FN_ShowMouse: //Sub Procedure +break; +case FN_MouseIsVisible: //Number Function +break; +case FN_GetMouse: //Sub Procedure +break; +case FN_MouseX: //Number Function +break; +case FN_MouseY: //Number Function +break; +case FN_MouseButton: //Number Function +break; +case FN_GetMouseWheel: //Sub Procedure +break; +case FN_MouseWheelX: //Number Function +break; +case FN_MouseWheelY: //Number Function +break; +case FN_SoundFromBuffer: //Sub Procedure +break; +case FN_LoadSound: //Sub Procedure +break; +case FN_LoadMusic: //Sub Procedure +break; +case FN_PlaySound: //Sub Procedure +break; +case FN_PlaySoundTimed: //Sub Procedure +break; +case FN_PlayMusic: //Sub Procedure +break; +case FN_PauseSound: //Sub Procedure +break; +case FN_ResumeSound: //Sub Procedure +break; +case FN_PauseMusic: //Sub Procedure +break; +case FN_ResumeMusic: //Sub Procedure +break; +case FN_DeleteSound: //Sub Procedure +break; +case FN_DeleteMusic: //Sub Procedure +break; +case FN_FadeMusicIn: //Sub Procedure +break; +case FN_FadeMusicOut: //Sub Procedure +break; +case FN_MusicExists: //Number Function +break; +case FN_SetMusicVolume: //Sub Procedure +break; +case FN_MusicVolume: //Number Function +break; +case FN_SetMusicPosition: //Sub Procedure +break; +case FN_MusicPosition: //Number Function +break; +case FN_RewindMusic: //Sub Procedure +break; +case FN_SetSoundChannels: //Sub Procedure +break; +case FN_NumSoundChannels: //Number Function +break; +case FN_SoundIsEnabled: //Number Function +break; +case FN_SoundExists: //Number Function +break; +case FN_SetChannelVolume: //Sub Procedure +break; +case FN_ChannelVolume: //Number Function +break; +case FN_SetSoundVolume: //Sub Procedure +break; +case FN_SoundVolume: //Number Function +break; +case FN_StopMusic: //Sub Procedure +break; +case FN_StopSound: //Sub Procedure +break; +case FN_SetChannelPanning: //Number Function +break; +case FN_SetChannelDistance: //Number Function +break; +case FN_ChannelIsPlaying: //Number Function +break; +case FN_ChannelIsPaused: //Number Function +break; +case FN_NumJoysticks: //Number Function +break; +case FN_NumJoyAxes: //Number Function +break; +case FN_NumJoyButtons: //Number Function +break; +case FN_NumJoyHats: //Number Function +break; +case FN_NumJoyTrackBalls: //Number Function +break; +case FN_JoyAxis: //Number Function +break; +case FN_JoyButton: //Number Function +break; +case FN_JoyHat: //Number Function +break; +case FN_GetJoyTrackBall: //Sub Procedure +break; +case FN_JoyName$: //String Function +break; +case FN_JoystickIsConnected: //Number Function +break; +case FN_GetCursor: //Sub Procedure +break; +case FN_PrintS: //Sub Procedure +break; +case FN_InputS$: //String Function +break; +case FN_ZoneInputS$: //String Function +break; +case FN_Locate: //Sub Procedure +break; +case FN_ReadInput_Start: //Sub Procedure +break; +case FN_ReadInput_Stop: //Sub Procedure +break; +case FN_ReadInput_Text$: //String Function +break; +case FN_ReadInput_SetText: //Sub Procedure +break; +case FN_ReadInput_ToggleBackspace: //Sub Procedure +break; +case FN_LoadFont: //Sub Procedure +break; +case FN_DeleteFont: //Sub Procedure +break; +case FN_FontIsLoaded: //Number Function +break; +case FN_Font: //Sub Procedure +break; +case FN_SetFontStyle: //Sub Procedure +break; +case FN_DrawText: //Sub Procedure +break; +case FN_DrawText_Shaded: //Sub Procedure +break; +case FN_DrawText_Blended: //Sub Procedure +break; +case FN_RenderText: //Sub Procedure +break; +case FN_GetTextSize: //Sub Procedure +break; +case FN_TouchPressure: //Number Function +break; +case FN_GetTouch: //Sub Procedure +break; +case FN_GetMultiTouch: //Sub Procedure +break; +case FN_GetTouchFinger: //Sub Procedure +break; +case FN_NumFingers: //Number Function +break; +case FN_CheckSockets: //Number Function +break; +case FN_TCP_SocketReady: //Number Function +break; +case FN_UDP_SocketReady: //Number Function +break; +case FN_TCP_SocketOpen: //Number Function +break; +case FN_TCP_SocketClose: //Sub Procedure +break; +case FN_TCP_RemoteHost: //Number Function +break; +case FN_TCP_RemotePort: //Number Function +break; +case FN_TCP_GetData: //Number Function +break; +case FN_TCP_SendData: //Sub Procedure +break; +case FN_TCP_AcceptSocket: //Number Function +break; +case FN_UDP_SocketOpen: //Number Function +break; +case FN_UDP_SocketClose: //Number Function +break; +case FN_UDP_GetData: //Number Function +break; +case FN_UDP_Length: //Number Function +break; +case FN_UDP_MaxLength: //Number Function +break; +case FN_UDP_RemoteHost$: //String Function +break; +case FN_UDP_RemotePort: //Number Function +break; +case FN_UDP_SendData: //Sub Procedure +break; +case FN_LoadVideo: //Sub Procedure +break; +case FN_PlayVideo: //Sub Procedure +break; +case FN_PauseVideo: //Sub Procedure +break; +case FN_StopVideo: //Sub Procedure +break; +case FN_SetVideoPosition: //Sub Procedure +break; +case FN_ResumeVideo: //Sub Procedure +break; +case FN_VideoPosition: //Number Function +break; +case FN_DeleteVideo: //Sub Procedure +break; +case FN_VideoIsPlaying: //Number Function +break; +case FN_VideoEnd: //Number Function +break; +case FN_GetVideoStats: //Sub Procedure +break; +case FN_SetVideoDrawRect: //Sub Procedure +break; +case FN_GetVideoDrawRect: //Sub Procedure +break; +case FN_GetVideoSize: //Sub Procedure +break; +case FN_VideoExists: //Number Function +break; +case FN_SetVideoAlpha: //Sub Procedure +break; +case FN_System: //Number Function +break; +case FN_OS$: //String Function +break; +case FN_Command$: //String Function +break; +case FN_NumCommands: //Number Function +break; +case FN_Env$: //String Function +break; +case FN_SetEnv: //Sub Procedure +break; +case FN_PrefPath$: //String Function +break; +case FN_Android_GetExternalStoragePath$: //String Function +break; +case FN_Android_GetExternalStorageState: //Number Function +break; +case FN_Android_GetInternalStoragePath$: //String Function +break; +case FN_Android_JNI_Message$: //String Function +break; +case FN_Runtime_Utility_Message$: //String Function +break; +case FN_ClipboardText$: //String Function +break; +case FN_SetClipboardText: //Sub Procedure +break; +case FN_HasClipboardText: //Number Function +break; +case FN_GetDesktopDisplayMode: //Sub Procedure +break; +case FN_DrawImage_Transform: //Sub Procedure +break; +case FN_GetPowerInfo: //Sub Procedure +break; +case FN_SystemRam: //Number Function +break; +case FN_SetRenderScaleQuality: //Number Function +break; +case FN_EvalJS$: //String Function +break; +case FN_GetRenderScaleQuality: //Number Function +break; +case FN_GetGlobalMouse: //Sub Procedure +break; +case FN_GlobalMouseX: //Number Function +break; +case FN_GlobalMouseY: //Number Function +break; +case FN_GetAccel: //Sub Procedure +break; +case FN_AccelName$: //String Function +break; +case FN_NumAccels: //Number Function +break; +case FN_GetGyro: //Sub Procedure +break; +case FN_GyroName$: //String Function +break; +case FN_NumGyros: //Number Function +break; +case FN_JoyRumblePlay: //Sub Procedure +break; +case FN_JoyRumbleStop: //Sub Procedure +break; +case FN_JoystickIsHaptic: //Number Function +break; +case FN_WriteByteBuffer: //Number Function +break; +case FN_ReadByteBuffer: //Number Function +break; +case FN_WindowEvent_Resize: //Number Function +break; +case FN_SetWindowAutoClose: //Sub Procedure +break; +case FN_SetWindowResizable: //Sub Procedure +break; +case FN_SystemReturnStdOut$: //String Function +break; +case FN_WindowMode: //Number Function +break; +case FN_WindowFlags: //Number Function +break; +case FN_RestoreWindow: //Sub Procedure +break; +case FN_UpdateAllWindows: //Sub Procedure +break; +case FN_QueryAudioSpec: //Number Function +break; +case FN_MusicIsPlaying: //Number Function +break; +case FN_DrawGeometry: //Number Function +break; +case FN_Size: //Number Function +break; +case FN_BufferFromString: //Number Function +break; +case FN_StringFromBuffer$: //String Function +break; +case FN_GrabInput: //Sub Procedure +break; +case FN_GrabbedWindow: //Number Function +break; +case FN_WarpMouse: //Sub Procedure +break; +case FN_WarpMouseGlobal: //Sub Procedure +break; +case FN_SetMouseZone: //Sub Procedure +break; +case FN_ClearMouseZone: //Sub Procedure +break; +case FN_SetWindowAlwaysOnTop: //Sub Procedure +break; +case FN_SetMouseRelative: //Sub Procedure +break; +case FN_SetWindowVSync: //Sub Procedure +break; +case FN_OpenURL: //Number Function +break; +case FN_APIVersion$: //String Function +break; +case FN_FlashWindow: //Number Function +break; +case FN_MessageBox: //Number Function +break; +case FN_NumberArrayCopy: //Sub Procedure +break; +case FN_StringArrayCopy: //Sub Procedure +break; +case FN_ArrayCopy: //Sub Procedure +break; +case FN_NumberArrayFill: //Sub Procedure +break; +case FN_StringArrayFill: //Sub Procedure +break; +case FN_ArrayFill: //Sub Procedure +break; +case FN_Runtime$: //String Function +break; +case FN_DimMatrix: //Sub Procedure +break; +case FN_AddMatrix: //Number Function +break; +case FN_AugmentMatrix: //Number Function +break; +case FN_CopyMatrix: //Sub Procedure +break; +case FN_InsertMatrixColumns: //Number Function +break; +case FN_InsertMatrixRows: //Number Function +break; +case FN_MultiplyMatrix: //Number Function +break; +case FN_CubeMatrix: //Number Function +break; +case FN_DeleteMatrixColumns: //Number Function +break; +case FN_DeleteMatrixRows: //Number Function +break; +case FN_ClearMatrix: //Sub Procedure +break; +case FN_ClearMatrixColumns: //Number Function +break; +case FN_ClearMatrixRows: //Number Function +break; +case FN_FillMatrix: //Sub Procedure +break; +case FN_FillMatrixColumns: //Number Function +break; +case FN_FillMatrixRows: //Number Function +break; +case FN_CopyMatrixColumns: //Number Function +break; +case FN_CopyMatrixRows: //Number Function +break; +case FN_IdentityMatrix: //Sub Procedure +break; +case FN_SolveMatrix: //Number Function +break; +case FN_IsEqualMatrix: //Number Function +break; +case FN_Determinant: //Number Function +break; +case FN_AdjointMatrix: //Number Function +break; +case FN_InvertMatrix: //Number Function +break; +case FN_MatrixFromBuffer: //Sub Procedure +break; +case FN_GetMatrix: //Sub Procedure +break; +case FN_RandomizeMatrix: //Sub Procedure +break; +case FN_MatrixValue: //Number Function +break; +case FN_SetMatrixValue: //Sub Procedure +break; +case FN_ScalarMatrix: //Sub Procedure +break; +case FN_ScalarMatrixColumns: //Number Function +break; +case FN_ScalarMatrixRows: //Number Function +break; +case FN_SquareMatrix: //Number Function +break; +case FN_SubMatrix: //Sub Procedure +break; +case FN_SubtractMatrix: //Number Function +break; +case FN_SwapMatrix: //Sub Procedure +break; +case FN_SwapMatrixColumn: //Number Function +break; +case FN_SwapMatrixRow: //Number Function +break; +case FN_TransposeMatrix: //Number Function +break; +case FN_UnAugmentMatrix: //Number Function +break; +case FN_ZeroMatrix: //Sub Procedure +break; +case FN_GetMatrixSize: //Sub Procedure +break; +case FN_SetMatrixProcess: //Number Function +break; +case FN_ProcessOpen: //Number Function +break; +case FN_SetProcessErrorMode: //Sub Procedure +break; +case FN_ProcessError: //Number Function +break; +case FN_ProcessWait: //Sub Procedure +break; +case FN_ProcessWaitAll: //Sub Procedure +break; +case FN_ProcessContinue: //Sub Procedure +break; +case FN_ProcessStop: //Sub Procedure +break; +case FN_ProcessClear: //Sub Procedure +break; +case FN_ProcessClose: //Number Function +break; +case FN_ProcessErrorMode: //Number Function +break; +case FN_ProcessSleep: //Sub Procedure +break; +case FN_ProcessExists: //Number Function +break; +case FN_ProcessStopAll: //Sub Procedure +break; +case FN_ProcessContinueAll: //Sub Procedure +break; +case FN_ProcessQueueSize: //Number Function +break; +case FN_NumCPUs: //Number Function +break; +case FN_GetProjectionGeometry: //Sub Procedure +break; +case FN_CalculateFaceZ: //Number Function +break; +case FN_SetChannelSpacePosition: //Number Function +break; +case FN_SaveBMP: //Number Function +break; +case FN_SavePNG: //Number Function +break; +case FN_SaveJPG: //Number Function +break; +case FN_GetLineIntersection: //Number Function +break; +case FN_Interpolate: //Number Function +break; +case FN_ATan2: //Number Function +break; +case FN_PointInQuad: //Number Function +break; +case FN_PointInTri: //Number Function +break; +case FN_Distance2D: //Number Function +break; +case FN_Distance3D: //Number Function +break; +case FN_GetCircleLineIntersection: //Number Function +break; +case FN_GetLinePlaneIntersection: //Number Function +break; +case FN_IncrementMatrixRows: //Sub Procedure +break; +case FN_IncrementMatrixColumns: //Sub Procedure +break; +case FN_JoinMatrixRows: //Sub Procedure +break; +case FN_JoinMatrixColumns: //Sub Procedure +break; +case FN_TypeArrayDim: //Number Function +break; +case FN_TypeArraySize: //Number Function +break; +case FN_TypeArrayCopy: //Sub Procedure +break; +case FN_TypeArrayFill: //Sub Procedure +break; diff --git a/rcbasic_runtime/main.cpp b/rcbasic_runtime/main.cpp index ea05f45..6c80edd 100644 --- a/rcbasic_runtime/main.cpp +++ b/rcbasic_runtime/main.cpp @@ -81,12 +81,14 @@ string rcbasic_runtime_path = ""; struct n_value { - vector value; + vector value; + void * ref_parent; // This will be set by the obj_get instructions (ie. obj_get and obj_usr_get) }; struct s_value { - vector value; + vector value; + void * ref_parent; // This will be set by the obj_get instructions (ie. obj_get and obj_usr_get) }; struct rc_vm_n @@ -1411,7 +1413,9 @@ void obj_get_85(int n1) vm_n[n1].r = num_object.obj_val; //cout << "t2" << endl; vm_n[n1].r_index = num_object.index; - //cout << "t3" << endl; + //cout << "t3" << endl; + + num_object.obj_val->ref_parent = num_object.obj_val; #ifdef RCBASIC_DEBUG if(!num_var[num_object.nid].is_debug_var) @@ -1427,7 +1431,9 @@ void obj_getS_86(int s1) { vm_s[s1].value = str_object.obj_val[0].value[str_object.index]; vm_s[s1].r = str_object.obj_val; - vm_s[s1].r_index = str_object.index; + vm_s[s1].r_index = str_object.index; + + str_object.obj_val->ref_parent = str_object.obj_val; #ifdef RCBASIC_DEBUG if(!str_var[str_object.sid].is_debug_var) @@ -2107,7 +2113,8 @@ void ptr_126(uint64_t nid, int n1) byref_addr_table.push(byref_id); byref_var_byref_offset.push(num_var[nid].byref_offset); num_var[nid].nref = vm_n[n1].r; - num_var[nid].byref_offset = vm_n[n1].r_index; + num_var[nid].byref_offset = vm_n[n1].r_index; + num_var[nid].nid_value.ref_parent = vm_n[n1].r->ref_parent; } void ptrS_127(uint64_t sid, int s1) @@ -2118,7 +2125,8 @@ void ptrS_127(uint64_t sid, int s1) byref_addr_table.push(byref_id); byref_var_byref_offset.push(str_var[sid].byref_offset); str_var[sid].sref = vm_s[s1].r; - str_var[sid].byref_offset = vm_s[s1].r_index; + str_var[sid].byref_offset = vm_s[s1].r_index; + str_var[sid].sid_value.ref_parent = vm_s[s1].r->ref_parent; } void rc_print_num(double n) @@ -2170,7 +2178,8 @@ void rc_push_str(string s_val) uint64_t rc_string_array_dim(rc_strId s_var) { - return s_var.dimensions; + rc_strId* s = (rc_strId*)s_var.sid_value.ref_parent; + return s->dimensions; } uint64_t rc_string_array_size(rc_strId s_var, int d_num) @@ -2192,7 +2201,8 @@ uint64_t rc_string_array_size(rc_strId s_var, int d_num) uint64_t rc_number_array_dim(rc_numId n_var) { - return n_var.dimensions; + rc_numId* n = (rc_numId*)n_var.nid_value.ref_parent; + return n->dimensions; } uint64_t rc_number_array_size(rc_numId n_var, int d_num) @@ -2373,19 +2383,19 @@ void func_130(uint64_t fn) rc_push_str( rc_input(INPUT$_PROMPT$) ); break; case FN_StringArrayDim: - rc_push_num( rc_string_array_dim( str_var[arr_ref_id[0]] ) ); + rc_push_num( rc_string_array_dim( str_var[0] ) ); arr_ref_id.clear(); break; case FN_NumberArrayDim: - rc_push_num( rc_number_array_dim( num_var[arr_ref_id[0]] ) ); + rc_push_num( rc_number_array_dim( num_var[0] ) ); arr_ref_id.clear(); break; case FN_StringArraySize: - rc_push_num( rc_string_array_size( str_var[arr_ref_id[0]], STRINGARRAYSIZE_ARRAY_DIM)); + rc_push_num( rc_string_array_size( str_var[0], STRINGARRAYSIZE_ARRAY_DIM)); arr_ref_id.clear(); break; case FN_NumberArraySize: - rc_push_num( rc_number_array_size( num_var[arr_ref_id[0]], NUMBERARRAYSIZE_ARRAY_DIM)); + rc_push_num( rc_number_array_size( num_var[0], NUMBERARRAYSIZE_ARRAY_DIM)); arr_ref_id.clear(); break; case FN_Abs: @@ -4382,6 +4392,8 @@ void obj_usr_get_164(int n1) vm_n[n1].value = usr_object.num_ref->nref[0].value[usr_object.index]; vm_n[n1].r = usr_object.num_ref->nref; vm_n[n1].r_index = usr_object.index; + + usr_object.num_ref->nid_value.ref_parent = usr_object.num_ref; //cout << "obj_usr_get_N done: " << vm_n[n1].r[0].value[vm_n[n1].r_index] << endl; } @@ -4390,6 +4402,9 @@ void obj_usr_get_165(int s1) vm_s[s1].value = usr_object.str_ref->sref[0].value[usr_object.index]; vm_s[s1].r = usr_object.str_ref->sref; vm_s[s1].r_index = usr_object.index; + + usr_object.str_ref->sid_value.ref_parent = usr_object.str_ref; + //cout << "obj_usr_get -- " << usr_object.str_ref->dimensions << " --> " << usr_object.str_ref->dim[0] << ", " << usr_object.str_ref->dim[1] << endl; } void obj_usr_get_166(int u1)