From e0ee9511a9549b85093eda437278e6282e8b9cf0 Mon Sep 17 00:00:00 2001 From: Andreas Drewke Date: Fri, 3 Jan 2025 04:46:47 +0100 Subject: [PATCH] updatelibs: yaaa, thats it, lets test --- Makefile | 17 +- .../minitscript/minitscript/MinitScript.cpp | 5 +- .../src/minitscript/minitscript/MinitScript.h | 4 +- .../minitscript/minitscript/ScriptMethods.cpp | 23 ++ .../src/minitscript/minitscript/Version.cpp | 2 +- resources/tests/scripts/advanced-test.tscript | 166 --------- resources/tests/scripts/base-test.tscript | 315 ------------------ resources/tests/scripts/class-test.tscript | 87 ----- resources/tests/scripts/emit-test.tscript | 77 ----- .../tests/scripts/functions-test.tscript | 62 ---- resources/tests/scripts/logic.tscript | 4 +- .../scripts/test_gui_popup_script.tscript | 9 +- .../tests/scripts/test_gui_script.tscript | 11 +- .../tests/scripts/test_gui_script2.tscript | 13 +- resources/tests/scripts/visual-test.tscript | 86 ----- src/tdme/engine/logics/LogicMinitScript.cpp | 3 - src/tdme/engine/logics/LogicMinitScript.h | 1 - src/tdme/gui/nodes/GUIScreenNode.cpp | 17 - src/tdme/gui/scripting/GUIMinitScript.cpp | 7 +- src/tdme/gui/scripting/GUIMinitScript.h | 1 - 20 files changed, 62 insertions(+), 848 deletions(-) delete mode 100644 resources/tests/scripts/advanced-test.tscript delete mode 100644 resources/tests/scripts/base-test.tscript delete mode 100644 resources/tests/scripts/class-test.tscript delete mode 100644 resources/tests/scripts/emit-test.tscript delete mode 100644 resources/tests/scripts/functions-test.tscript delete mode 100644 resources/tests/scripts/visual-test.tscript diff --git a/Makefile b/Makefile index 0bae189d9..7cef0c750 100644 --- a/Makefile +++ b/Makefile @@ -178,7 +178,7 @@ ifeq ($(GLES2), YES) endif # subdirs -LIBS:= $(LIBS) subdirs +LIBS:= $(LIBS) make-subdirs SRC = src TINYXML = tinyxml @@ -1054,11 +1054,18 @@ $(VULKAN_RENDERER_LIB_OBJS):$(OBJ)/%.o: $(SRC)/%.cpp | print-opts $(OPENGLES2_RENDERER_LIB_OBJS):$(OBJ)/%.o: $(SRC)/%.cpp | print-opts $(cpp-command) -subdirs: +clean-subdirs: @mkdir -p lib for dir in $(SUBDIRS); do \ cd ext/$$dir; \ $(MAKE) clean; \ + cd ../..; \ + done + +make-subdirs: + @mkdir -p lib + for dir in $(SUBDIRS); do \ + cd ext/$$dir; \ $(MAKE); \ cd ../..; \ cp ext/$$dir/lib/lib$$dir$(LIB_EXT) lib/; \ @@ -1155,7 +1162,7 @@ endif @echo Done $@ ifeq ($(OSSHORT), Msys) -$(MAINS):$(BIN)/%:$(SRC)/%-main.cpp $(LIBS) +$(MAINS):$(BIN)/%:$(SRC)/%-main.cpp @mkdir -p $(dir $@); @scripts/windows-mingw-create-executable-rc.sh "$<" $@.rc @windres $@.rc -o coff -o $@.rc.o @@ -1172,13 +1179,13 @@ mains: $(MAINS) all: mains -clean: +clean: clean-subdirs rm -rf obj obj-debug $(LIB_DIR) $(BIN) print-opts: @echo Building with \"$(CXX) $(CPPFLAGS) $(CXXFLAGS)\" -.PHONY: all mains clean print-opts +.PHONY: all $(LIBS) mains clean print-opts -include $(OBJS:%.o=%.d) -include $(OBJS_DEBUG:%.o=%.d) diff --git a/ext/minitscript/src/minitscript/minitscript/MinitScript.cpp b/ext/minitscript/src/minitscript/minitscript/MinitScript.cpp index a49885808..36475a8db 100644 --- a/ext/minitscript/src/minitscript/minitscript/MinitScript.cpp +++ b/ext/minitscript/src/minitscript/minitscript/MinitScript.cpp @@ -4798,7 +4798,7 @@ const MinitScript::Variable MinitScript::initializeMapSet(const string& scriptFi lc = lc == '\\' && c == '\\'?'\0':c; } // convert to set if no values given - if (hasValues == false) { + if (hasValues == false && variable.getMapSize() > 0) { Variable setVariable; setVariable.setType(TYPE_SET); const auto& mapValueReference = variable.getMapValueReference(); @@ -5086,8 +5086,8 @@ inline const MinitScript::Variable MinitScript::initializeVariable(const Variabl case TYPE_ARRAY: { Variable arrayVariable; - // arrayVariable.setType(TYPE_ARRAY); + // auto arrayPointer = variable.getArrayPointer(); if (arrayPointer == nullptr) break; for (const auto arrayEntry: *arrayPointer) { @@ -5099,6 +5099,7 @@ inline const MinitScript::Variable MinitScript::initializeVariable(const Variabl case TYPE_MAP: { Variable mapVariable; + mapVariable.setType(TYPE_MAP); // auto mapPointer = variable.getMapPointer(); if (mapPointer == nullptr) break; diff --git a/ext/minitscript/src/minitscript/minitscript/MinitScript.h b/ext/minitscript/src/minitscript/minitscript/MinitScript.h index 876951e82..de6fbb93c 100644 --- a/ext/minitscript/src/minitscript/minitscript/MinitScript.h +++ b/ext/minitscript/src/minitscript/minitscript/MinitScript.h @@ -2425,11 +2425,11 @@ class minitscript::minitscript::MinitScript { } else if (StringTools::viewStartsWith(value, "{") == true && StringTools::viewEndsWith(value, "}") == true) { - *this = initializeMapSet(scriptFileName, value, minitScript, scriptIdx, statement); + setValue(initializeMapSet(scriptFileName, value, minitScript, scriptIdx, statement)); } else if (StringTools::viewStartsWith(value, "[") == true && StringTools::viewEndsWith(value, "]") == true) { - *this = initializeArray(scriptFileName, value, minitScript, scriptIdx, statement); + setValue(initializeArray(scriptFileName, value, minitScript, scriptIdx, statement)); } else if (viewIsFunctionAssignment(value, functionOrStacklet) == true) { setFunctionAssignment(string(functionOrStacklet)); diff --git a/ext/minitscript/src/minitscript/minitscript/ScriptMethods.cpp b/ext/minitscript/src/minitscript/minitscript/ScriptMethods.cpp index d32a3a810..9dcba24a2 100644 --- a/ext/minitscript/src/minitscript/minitscript/ScriptMethods.cpp +++ b/ext/minitscript/src/minitscript/minitscript/ScriptMethods.cpp @@ -487,6 +487,29 @@ void ScriptMethods::registerMethods(MinitScript* minitScript) { }; minitScript->registerMethod(new MethodScriptStop(minitScript)); } + { + // + class MethodScriptGetGlobalVariables: public MinitScript::Method { + private: + MinitScript* minitScript { nullptr }; + public: + MethodScriptGetGlobalVariables(MinitScript* minitScript): MinitScript::Method({}, MinitScript::TYPE_MAP), minitScript(minitScript) {} + const string getMethodName() override { + return "script.getGlobalVariables"; + } + void executeMethod(span& arguments, MinitScript::Variable& returnValue, const MinitScript::SubStatement& subStatement) override { + if (arguments.size() == 0) { + returnValue.setType(MinitScript::TYPE_MAP); + for (const auto& [variableName, variableValue]: minitScript->getRootScriptState().variables) { + returnValue.setMapEntry(variableName, *variableValue); + } + } else { + MINITSCRIPT_METHODUSAGE_COMPLAIN(getMethodName()); + } + } + }; + minitScript->registerMethod(new MethodScriptGetGlobalVariables(minitScript)); + } { // class MethodScriptGetVariables: public MinitScript::Method { diff --git a/ext/minitscript/src/minitscript/minitscript/Version.cpp b/ext/minitscript/src/minitscript/minitscript/Version.cpp index 19abd1c29..b875d58f0 100644 --- a/ext/minitscript/src/minitscript/minitscript/Version.cpp +++ b/ext/minitscript/src/minitscript/minitscript/Version.cpp @@ -9,7 +9,7 @@ using std::string; using minitscript::minitscript::Version; string Version::getVersion() { - return "0.9.33 PRE-BETA"; + return "0.9.34 PRE-BETA"; } string Version::getCopyright() { diff --git a/resources/tests/scripts/advanced-test.tscript b/resources/tests/scripts/advanced-test.tscript deleted file mode 100644 index 69a168a24..000000000 --- a/resources/tests/scripts/advanced-test.tscript +++ /dev/null @@ -1,166 +0,0 @@ -# sort function for ascending order -function: sortFunctionDesc($a, $b) - return($a > $b) -end - -# sort function for descending order -function: sortFunctionAsc($a, $b) - return($a < $b) -end - -# initialize -on: initialize - console.printLine("---------------------------") - console.printLine("advanced-test: Initialize") - console.printLine("--------------------------") - console.printLine() -end - -# if no condition is met, nothing will be executed, lol :D -on: nothing - console.printLine("------------------------") - console.printLine("advanced-test: Nothing") - console.printLine("------------------------") - console.printLine() - console.printLine("---------") - console.printLine("Arrays") - console.printLine("---------") - $array = [1, 2, 3, [1, 2, 3], {a: xxx, b: yyy, c: zzz}, {a, b, c}] - console.printLine("array initialized with: $array = [1, 2, 3, [1, 2, 3], {a: xxx, b: yyy, c: zzz}, {a, b, c}]: " + $array) - $array = array(1, 2, 3) - console.printLine("array initialized with: $array = array(1, 2, 3): " + $array) - $array->push(8, 9, 10, 99, 10) - console.printLine("array pushed values with: $array->push(8, 9, 10, 99, 10)") - console.printLine("array now looks like: ", $array) - $array[] = 123 - $array[] = 1234 - $array[] = 12345 - $array[] = array(1,2,3) - console.printLine("array values added with [] operator: 123, 1234, 12345, array(1,2,3)") - console.printLine("array now looks like: ", $array) - console.printLine("array values added with [] operator to push to array of array: 50, 60") - $array[11][] = 50 - $array[11][] = 60 - $array[11][$array[11]->length() - 1] = 61 - console.printLine("array length: ", $array->length()) - console.printLine("array iteration with $array->get(): ") - $i = 0 - forCondition($i < $array->length()) - console.printLine($i + ": " + $array->get($i)) - ++$i - end - console.printLine("array iteration with [] operator: ") - $i = 0 - forCondition($i < $array->length()) - console.printLine($i + ": " + $array[$i]) - ++$i - end - console.printLine("array iteration with [] opertator and some index math: ") - $i = 0 - forCondition($i < $array->length() / 2) - console.printLine($i + "-a: " + $array[$i * 2 + 0]) - console.printLine($i + "-b: " + $array[$i * 2 + 1]) - ++$i - end - console.printLine("array removal of 123, 1234, 12345 using array.removeOf") - $array->removeOf(123) - $array->removeOf(1234) - $array->removeOf(12345) - console.printLine("array now looks like: ", $array) - console.printLine("array indexOf 10: ", $array->indexOf(10)) - console.printLine("array indexOf 10 beginning to search from 6: ", $array->indexOf(10, 6)) - console.printLine("sorting of array('abc', 'def', 'ghi', 'jkl', 'mno'): ", $array = array("abc", "def", "ghi", "jkl", "mno")) - $array->sort("sortFunctionDesc") - console.printLine("$array->sort('sortFunctionDesc'): ", $array) - $array->sort("sortFunctionAsc") - console.printLine("$array->sort('sortFunctionAsc'): ", $array) - $array->reverse() - console.printLine("array reverse: ", $array) - console.printLine("---------") - console.printLine("Maps") - console.printLine("----------") - $map = {test1: 123, test2: 456, test3: 789, test4: [1, 2, 3], test5: {a: xxx, b: yyy, c: zzz}, test6: {a, b, c}} - console.printLine("map initialized with: $map = {test1: 123, test2: 456, test3: 789, test4: [1, 2, 3], test5: {a: xxx, b: yyy, c: zzz}, test6: {a, b, c}}: " + $map) - $map = map() - console.printLine("map initialized with: $map = map(): " + $map) - console.printLine("put some key value pairs into map: map->set()") - $map->set("test1", 123) - $map->set("test2", 456) - $map->set("test3", 789) - $map->set("test4", array(1,2,3)) - $map->set("test5", "Yaaaa") - console.printLine("map now looks like: ", $map) - console.printLine("remove test2 via $map->remove: ") - $map->remove("test2") - console.printLine("map now looks like: ", $map) - $map->set("test2", 456) - console.printLine("reading map key(+value) pairs: ") - console.printLine("map does have test2 key using $map->has(): ", $map->has("test2")) - console.printLine("map does have test8 key using $map->has(): ", $map->has("test8")) - console.printLine("map value for test1 key using $map->get(): ", $map->get("test1")) - console.printLine("map value for test2 key using $map->get(): ", $map->get("test2")) - console.printLine("map value for test3 key using $map->get(): ", $map->get("test3")) - console.printLine("map value for test4 key using $map->get(): ", $map->get("test4")) - console.printLine("map value for test5 key using $map->get(): ", $map->get("test5")) - console.printLine("map value for test1 using map dot operator: ", $map.test1) - console.printLine("map value for test2 using map dot operator: ", $map.test2) - console.printLine("map value for test3 using map dot operator: ", $map.test3) - console.printLine("map value for test4 using map dot operator: ", $map.test4) - console.printLine("map value for test5 using map dot operator: ", $map.test5) - console.printLine("adding map values using map dot operator: ") - $map.test6 = 666 - $map.test7 = 770 - $map.test8 = 890 - console.printLine("map keys: ", $map->getKeys()) - console.printLine("map values: ", $map->getValues()) - console.printLine("iterating keys and values using $map->getKeys(): ") - $mapKeys = $map->getKeys() - $i = 0 - forCondition($i < $mapKeys->length()) - console.printLine($mapKeys[$i] + " = " + $map->get($mapKeys[$i])) - ++$i - end - console.printLine("---------") - console.printLine("Sets") - console.printLine("----------") - $set = {test1, test2, test3, test4, test5} - console.printLine("set initialized with: $set = {test1, test2, test3, test4, test5}: " + $set) - $set = set() - console.printLine("set initialized with: $set = set(): " + $set) - console.printLine("put some keys into set: $set->insert()") - $set->insert("test1") - $set->insert("test2") - $set->insert("test3") - $set->insert("test4") - $set->insert("test5") - console.printLine("set now looks like: ", $set) - console.printLine("remove test2 via $set->remove: ") - $set->remove("test2") - console.printLine("set now looks like: ", $set) - console.printLine("set does have test1 key using $set->has(): ", $set->has("test1")) - console.printLine("set does have test2 key using $set->has(): ", $set->has("test2")) - console.printLine("set does have test3 key using $set->has(): ", $set->has("test3")) - console.printLine("set does have test4 key using $set->has(): ", $set->has("test4")) - console.printLine("set does have test5 key using $set->has(): ", $set->has("test5")) - console.printLine("set key for test1 using set dot operator: ", $set.test1) - console.printLine("set key for test2 using set dot operator: ", $set.test2) - console.printLine("set key for test3 using set dot operator: ", $set.test3) - console.printLine("set key for test4 using set dot operator: ", $set.test4) - console.printLine("set key for test5 using set dot operator: ", $set.test5) - console.printLine("inserting set values using set dot operator: ") - $set.test6 = true - $set.test7 = true - $set.test8 = false - $set.test9 = true - console.printLine("set keys: ", $set->getKeys()) - script.stop() -end - -# an error has occurred -on: error - console.printLine("----------------------") - console.printLine("advanced-test: Error") - console.printLine("----------------------") - console.printLine("An error occurred") - script.wait(1000) -end \ No newline at end of file diff --git a/resources/tests/scripts/base-test.tscript b/resources/tests/scripts/base-test.tscript deleted file mode 100644 index 9711650fd..000000000 --- a/resources/tests/scripts/base-test.tscript +++ /dev/null @@ -1,315 +0,0 @@ -# initialize -on: initialize - console.printLine("-----------------------") - console.printLine("base-test: Initialize") - console.printLine("-----------------------") - console.printLine() -end - -# if no condition is met, nothing will be executed, lol :D -on: nothing - console.printLine("--------------------") - console.printLine("base-test: Nothing") - console.printLine("--------------------") - console.printLine() - console.printLine("-----------------------") - console.printLine("Check bool operations") - console.printLine("-----------------------") - console.printLine("MiniScript will do the job: and(or(equals(MiniScript will do the job, MiniScript will not do the job), equals(it will, it will)), true): ", and(or(equals(MiniScript will do the job, MiniScript will not do the job), equals(it will, it will)), true)) - console.printLine("-----------------------") - console.printLine("Check int computation") - console.printLine("-----------------------") - console.printLine("1 + 2 + 3 - 1: ", 1 + 2 + 3 - 1) - console.printLine("20 / 2: ", 20 / 2) - console.printLine("11 * 10: ", 11 * 10) - console.printLine("2 > 1: ", 2 > 1) - console.printLine("2 < 1: ", 2 < 1) - console.printLine("7 % 4: ", 7 % 4) - $i = 2 - console.printLine("$i = 2 && ++$i: ", ++$i) - $i = 2 - console.printLine("$i = 2 && --$i: ", --$i) - console.printLine("--------------------------") - console.printLine("Check int bit operations") - console.printLine("--------------------------") - console.printLine("~1 & 255: ", ~1 & 255) - console.printLine("~0 & 255: ", ~0 & 255) - console.printLine("128 | 64: ", 128 | 64) - console.printLine("128 ^ 64: ", 128 ^ 64) - console.printLine("64 ^ 64: ", 64 ^ 64) - console.printLine("-------------------------") - console.printLine("Check float computation") - console.printLine("-------------------------") - console.printLine("(1.1 + 2.2 + 3.3) - 1.2: ", (1.1 + 2.2 + 3.3) - 1.2) - console.printLine("20 / 1.5: ", 20 / 1.5) - console.printLine("11.5 * 10.5: ", 11.5 * 10.5) - console.printLine("2.2 > 1.3: ", 2.2 > 1.3) - console.printLine("2.5 < 1.2: ", 2.5 < 1.2) - console.printLine("7.1 % 4.0: ", 7.1 % 4.0) - console.printLine("-------------------------") - console.printLine("Check vector2 math") - console.printLine("-------------------------") - console.printLine("Vector2::computeLength(Vector2(20, 10)): ", Vector2::computeLength(Vector2(20, 10))) - console.printLine("Vector2::computeLengthSquared(Vector2(20, 10)): ", Vector2::computeLengthSquared(Vector2(20, 10))) - console.printLine("Vector2::computeDotProduct(Vector2(0, 1), Vector2(0, -1)): ", Vector2::computeDotProduct(Vector2(0, 1), Vector2(0, -1))) - console.printLine("Vector2::normalize(Vector2(1, 2)): ", Vector2::normalize(Vector2(1, 2))) - console.printLine("Vector2::getX(Vector2(1, 2)): ", Vector2::getX(Vector2(1, 2))) - console.printLine("Vector2::getY(Vector2(1, 2)): ", Vector2::getY(Vector2(1, 2))) - console.printLine("Vector2(1.1, 2.2) - Vector2(1.2, 1.0): ", Vector2(1.1, 2.2) - Vector2(1.2, 1.0)) - console.printLine("Vector2(20, 10) / Vector2(1.5, 2.5): ", Vector2(20, 10) / Vector2(1.5, 2.5)) - console.printLine("Vector2(20, 10) * Vector2(1.5, 2.5)): ", Vector2(20, 10) * Vector2(1.5, 2.5)) - console.printLine("Vector2(20, 10) / 2): ", Vector2(20, 10) / 2) - console.printLine("Vector2(20, 10) * 2): ", Vector2(20, 10) * 2) - console.printLine("-------------------------") - console.printLine("Check vector3 math") - console.printLine("-------------------------") - console.printLine("Vector3::computeLength(Vector3(20, 10, 5)): ", Vector3::computeLength(Vector3(20, 10, 5))) - console.printLine("Vector3::computeLengthSquared(Vector3(20, 10, 5)): ", Vector3::computeLengthSquared(Vector3(20, 10, 5))) - console.printLine("Vector3::computeDotProduct(Vector3(0, 0, 1), Vector3(0, 0, -1)): ", Vector3::computeDotProduct(Vector3(0, 0, 1), Vector3(0, 0, -1))) - console.printLine("Vector3::computeCrossProduct(Vector3(1, 0, 0), Vector3(0, 1, 0)): ", Vector3::computeCrossProduct(Vector3(1, 0, 0), Vector3(0, 1, 0))) - console.printLine("Vector3::normalize(Vector3(1, 2, 3)): ", Vector3::normalize(Vector3(1, 2, 3))) - console.printLine("Vector3::computeAngle(Vector3(0, 0, 1), Vector3(1, 0, 0), Vector3(0, 1, 0)): ", Vector3::computeAngle(Vector3(0, 0, 1), Vector3(1, 0, 0), Vector3(0, 1, 0))) - console.printLine("Vector3::getX(Vector3(1, 2, 3)): ", Vector3::getX(Vector3(1, 2, 3))) - console.printLine("Vector3::getY(Vector3(1, 2, 3)): ", Vector3::getY(Vector3(1, 2, 3))) - console.printLine("Vector3::getZ(Vector3(1, 2, 3)): ", Vector3::getZ(Vector3(1, 2, 3))) - console.printLine("Vector3(1.1, 2.2, 3.3) - Vector3(1.2, 1.0, 1.0): ", Vector3(1.1, 2.2, 3.3) - Vector3(1.2, 1.0, 1.0)) - console.printLine("Vector3(20, 10, 5) / Vector3(1.5, 2.5, 3.5): ", Vector3(20, 10, 5) / Vector3(1.5, 2.5, 3.5)) - console.printLine("Vector3(20, 10, 5) * Vector3(1.5, 2.5, 3.5)): ", Vector3(20, 10, 5) * Vector3(1.5, 2.5, 3.5)) - console.printLine("Vector3(20, 10, 5) / 2): ", Vector3(20, 10, 5) / 2) - console.printLine("Vector3(20, 10, 5) * 2): ", Vector3(20, 10, 5) * 2) - console.printLine("-------------------------") - console.printLine("Check vector4 math") - console.printLine("-------------------------") - console.printLine("Vector4::computeLength(Vector4(20, 10, 5, 2.5)): ", Vector4::computeLength(Vector4(20, 10, 5, 2.5))) - console.printLine("Vector4::computeLengthSquared(Vector3(20, 10, 5)): ", Vector4::computeLengthSquared(Vector4(20, 10, 5, 2.5))) - console.printLine("Vector4::computeDotProduct(Vector3(0, 0, 1), Vector3(0, 0, -1, 1)): ", Vector4::computeDotProduct(Vector4(0, 0, 1, 1), Vector4(0, 0, -1, 1))) - console.printLine("Vector4::normalize(Vector4(1, 2, 3, 4)): ", Vector4::normalize(Vector4(1, 2, 3, 4))) - console.printLine("Vector4::getX(Vector4(1, 2, 3, 4)): ", Vector4::getX(Vector4(1, 2, 3, 4))) - console.printLine("Vector4::getY(Vector4(1, 2, 3, 4)): ", Vector4::getY(Vector4(1, 2, 3, 4))) - console.printLine("Vector4::getZ(Vector4(1, 2, 3, 4)): ", Vector4::getZ(Vector4(1, 2, 3, 4))) - console.printLine("Vector4::getW(Vector4(1, 2, 3, 4)): ", Vector4::getZ(Vector4(1, 2, 3, 4))) - console.printLine("Vector4(1.1, 2.2, 3.3, 1.0) - Vector4(1.2, 1.0, 1.0, 1.0): ", Vector4(1.1, 2.2, 3.3, 1.0) - Vector4(1.2, 1.0, 1.0, 1.0)) - console.printLine("Vector4(20, 10, 5, 1) / Vector4(1.5, 2.5, 3.5, 1): ", Vector4(20, 10, 5, 1) / Vector4(1.5, 2.5, 3.5, 1)) - console.printLine("Vector4(20, 10, 5, 1) * Vector4(1.5, 2.5, 3.5, 1)): ", Vector4(20, 10, 5, 1) * Vector4(1.5, 2.5, 3.5, 1)) - console.printLine("Vector4(20, 10, 5, 1) / 2): ", Vector4(20, 10, 5, 1) / 2) - console.printLine("Vector4(20, 10, 5, 1) * 2): ", Vector4(20, 10, 5, 1) * 2) - console.printLine("-------------------------") - console.printLine("Check quaternion math") - console.printLine("-------------------------") - console.printLine("Quaternion::identity(): ", Quaternion::identity()) - console.printLine("Quaternion::rotate(Vector3(0.0, 1.0, 0.0), 90.0): ", Quaternion::rotate(Vector3(0.0, 1.0, 0.0), 90.0)) - console.printLine("Quaternion::normalize(Quaternion::rotate(Vector3(0.0, 1.0, 0.0), 90.0)): ", Quaternion::normalize(Quaternion::rotate(Vector3(0.0, 1.0, 0.0), 90.0))) - console.printLine("Quaternion::rotate(Vector3(0.0, 1.0, 0.0), 90.0) * Quaternion::rotate(Vector3(1.0, 0.0, 0.0), 90.0): ", Quaternion::rotate(Vector3(0.0, 1.0, 0.0), 90.0) * Quaternion::rotate(Vector3(1.0, 0.0, 0.0), 90.0)) - console.printLine("Quaternion::rotate(Vector3(0.0, 1.0, 0.0), 90.0) * Vector3(0.0, 0.0, 1.0)): ", Quaternion::rotate(Vector3(0.0, 1.0, 0.0), 90.0) * Vector3(0.0, 0.0, 1.0)) - console.printLine("Quaternion::computeMatrix(Quaternion::rotate(Vector3(0.0, 1.0, 0.0), 90.0)): ", Quaternion::computeMatrix(Quaternion::rotate(Vector3(0.0, 1.0, 0.0), 90.0))) - console.printLine("-------------------------") - console.printLine("Check matrix4x4 math") - console.printLine("-------------------------") - console.printLine("Matrix4x4::identity(): ", Matrix4x4::identity()) - console.printLine("Matrix4x4::translate(Vector3(1.0, 2.0, 3.0)): ", Matrix4x4::translate(Vector3(1.0, 2.0, 3.0))) - console.printLine("Matrix4x4::rotate(Vector3(0.0, 1.0, 0.0), 90.0): ", Matrix4x4::rotate(Vector3(0.0, 1.0, 0.0), 90.0)) - console.printLine("Matrix4x4::scale(Vector3(1.0, 2.0, 3.0)): ", Matrix4x4::scale(Vector3(1.0, 2.0, 3.0))) - console.printLine("Matrix4x4::scale(3.0): ", Matrix4x4::scale(3.0)) - console.printLine("Matrix4x4::invert(Matrix4x4::scale(3.0)): ", Matrix4x4::invert(Matrix4x4::scale(3.0))) - console.printLine("Matrix4x4::computeEulerAngles(Matrix4x4::rotate(Vector3(0.0, 1.0, 0.0), 90.0)): ", Matrix4x4::computeEulerAngles(Matrix4x4::rotate(Vector3(0.0, 1.0, 0.0), 90.0))) - console.printLine("Matrix4x4::rotate(Vector3(0.0, 1.0, 0.0), 90.0) * Matrix4x4::rotate(Vector3(1.0, 0.0, 0.0), 90.0): ", Matrix4x4::rotate(Vector3(0.0, 1.0, 0.0), 90.0) * Matrix4x4::rotate(Vector3(1.0, 0.0, 0.0), 90.0)) - console.printLine("Matrix4x4::rotate(Vector3(0.0, 1.0, 0.0), 90.0) * Vector3(0.0, 0.0, 1.0): ", Matrix4x4::rotate(Vector3(0.0, 1.0, 0.0), 90.0) * Vector3(0.0, 0.0, 1.0)) - console.printLine("Matrix4x4::rotate(Vector3(0.0, 1.0, 0.0), 90.0) * Matrix4x4::translate(Vector3(1.0, 2.0, 3.0)) * Vector4(0.0, 0.0, 1.0, 0.0)): ", (Matrix4x4::rotate(Vector3(0.0, 1.0, 0.0), 90.0) * Matrix4x4::translate(Vector3(1.0, 2.0, 3.0))) * Vector4(0.0, 0.0, 1.0, 0.0)) - console.printLine("-------------------------") - console.printLine("Check matrix3x3 math") - console.printLine("-------------------------") - console.printLine("Matrix3x3::identity(): ", Matrix3x3::identity()) - console.printLine("Matrix3x3::translate(Vector2(1.0, 2.0)): ", Matrix3x3::translate(Vector2(1.0, 2.0))) - console.printLine("Matrix3x3::rotate(90.0): ", Matrix3x3::rotate(90.0)) - console.printLine("Matrix3x3::rotateAroundTextureCenter(90.0): ", Matrix3x3::rotateAroundTextureCenter(90.0)) - console.printLine("Matrix3x3::rotateAroundPoint(Vector2(0.5, 0.5), 90.0): ", Matrix3x3::rotateAroundPoint(Vector2(0.5, 0.4), 90.0)) - console.printLine("Matrix3x3::scale(Vector2(1.0, 2.0)): ", Matrix3x3::scale(Vector2(1.0, 2.0))) - console.printLine("Matrix3x3::scale(3.0): ", Matrix3x3::scale(3.0)) - console.printLine("Matrix3x3::rotate(90.0) * Matrix3x3::translate(Vector2(1.0, 2.0)): ", Matrix3x3::rotate(90.0) * Matrix3x3::translate(Vector2(1.0, 2.0))) - console.printLine("Matrix3x3::rotate(90.0) * Vector2(1.0, 2.0): ", Matrix3x3::rotate(90.0) * Vector2(1.0, 2.0)) - console.printLine("-------------------------") - console.printLine("Check additional math") - console.printLine("-------------------------") - console.printLine("math.PI(): ", math.PI()) - console.printLine("math.EPSILON(): ", math.EPSILON()) - console.printLine("math.DEG2RAD(): ", math.DEG2RAD()) - console.printLine("math.G(): ", math.G()) - console.printLine("math.acos(0.0): ", math.acos(0.0)) - console.printLine("math.asin(1.0): ", math.asin(1.0)) - console.printLine("math.atan(1.0): ", math.atan(1.0)) - console.printLine("math.atan2(-1.0, -1.0): ", math.atan2(-1.0, -1.0)) - console.printLine("math.floor(2.87): ", math.floor(2.87)) - console.printLine("math.ceil(2.87): ", math.ceil(2.87)) - console.printLine("math.round(2.37): ", math.round(2.37)) - console.printLine("math.round(2.87): ", math.round(2.87)) - console.printLine("math.cos(0.0): ", math.cos(0.0)) - console.printLine("math.sin(0.0): ", math.sin(0.0)) - console.printLine("math.tan(1.0): ", math.tan(1.0)) - console.printLine("math.sqrt(9.0): ", math.sqrt(9)) - console.printLine("math.random(): ", math.random()) - console.printLine("math.random(): ", math.random()) - console.printLine("math.random(): ", math.random()) - console.printLine("math.exp(1.0): ", math.exp(1.0)) - console.printLine("math.log(2.0): ", math.log(2.0)) - console.printLine("math.sign(-2): ", math.sign(-2)) - console.printLine("math.sign(-2.0): ", math.sign(-2.0)) - console.printLine("math.square(3): ", math.square(3)) - console.printLine("math.square(3.0): ", math.square(3.0)) - console.printLine("math.min(4, 9): ", math.min(4, 9)) - console.printLine("math.min(4.1, 9.3): ", math.min(4.1, 9.3)) - console.printLine("math.max(4, 9): ", math.max(4, 9)) - console.printLine("math.max(4.1, 9.3): ", math.max(4.1, 9.3)) - console.printLine("math.abs(-9): ", math.abs(-9)) - console.printLine("math.abs(-9.3): ", math.abs(-9.3)) - console.printLine("math.clamp(-1, 4, 9): ", math.clamp(-1, 4, 9)) - console.printLine("math.clamp(10.0, 4.1, 9.3): ", math.clamp(10.0, 4.1, 9.3)) - console.printLine("math.pow(2, 16): ", math.pow(2, 16)) - console.printLine("math.pow(2.0, 16.0): ", math.pow(2.0, 16.0)) - console.printLine("math.mod(187, 180): ", math.mod(187, 180)) - console.printLine("math.mod(-187, 180): ", math.mod(-187, 180)) - console.printLine("math.absmod(187, 180): ", math.absmod(187, 180)) - console.printLine("math.absmod(-187, 180): ", math.absmod(-187, 180)) - console.printLine("-----------------------------------") - console.printLine("Check transform") - console.printLine("-----------------------------------") - console.printLine("$transform = Transform(Vector3(1,2,3), Vector3(2, 3, 4)") - $transform = Transform(Vector3(1,2,3), Vector3(2, 3, 4)) - console.printLine("$transform: ", $transform) - console.printLine("Transform::setRotationAngle($transform, 1, 90)") - Transform::setRotationAngle($transform, 1, 90) - console.printLine("Transform::getRotationAngle($transform, 1): ", Transform::getRotationAngle($transform, 1)) - console.printLine("Transform::getTranslation($transform): ", Transform::getTranslation($transform)) - console.printLine("Transform::setTranslation($transform, Vector3(-1,-2,-3))") - Transform::setTranslation($transform, Vector3(-1,-2,-3)) - console.printLine("Transform::getTranslation($transform): ", Transform::getTranslation($transform)) - console.printLine("Transform::getScale($transform): ", Transform::getScale($transform)) - console.printLine("Transform::setScale($transform, Vector3(-2,-3,-4))") - Transform::setScale($transform, Vector3(-2,-3,-4)) - console.printLine("Transform::getScale($transform): ", Transform::getScale($transform)) - console.printLine("Transform::getRotationAxis($transform, 0): ", Transform::getRotationAxis($transform, 0)) - console.printLine("$transform * Vector3(0,0,0): ", $transform * Vector3(0,0,0)) - console.printLine("Transform::rotate($transform, Vector3(0,0,1)): ", Transform::rotate($transform, Vector3(0,0,1))) - console.printLine("Transform::getTransformMatrix($transform): ", $transform->getTransformMatrix()) - console.printLine("Transform::getRotationsQuaternion($transform): ", $transform->getRotationsQuaternion()) - console.printLine("------------------------") - console.printLine("Check string methods") - console.printLine("------------------------") - console.printLine("String::isInteger(1234): " + String::isInteger(1234)) - console.printLine("String::isInteger(abcd): " + String::isInteger(abcd)) - console.printLine("String::isFloat(1234.1234): " + String::isFloat(1234.1234)) - console.printLine("String::isFloat(abcd.abcd): " + String::isFloat(abcd.abcd)) - console.printLine("String::generate(" ", 0): " + String::generate(" ", 0), "1") - console.printLine("String::generate(" ", 2): " + String::generate(" ", 2), "1.1") - console.printLine("String::generate(" ", 2): " + String::generate(" ", 2), "1.2") - console.printLine("String::generate(" ", 4): " + String::generate(" ", 4), "1.2.1") - console.printLine("String::toUpperCase('xxxyyyzzz'): ", String::toUpperCase("xxxyyyzzz")) - console.printLine("String::toLowerCase('XXXYYYZZZ'): ", String::toLowerCase("XXXYYYZZZ")) - console.printLine("String::concatenate('abc', 'def', 'ghi'): " + String::concatenate("abc", "def", "ghi")) - console.printLine("String::startsWith('abcdef', 'abc'): " + String::startsWith("abcdef", "abc")) - console.printLine("String::startsWith('abcdef', 'def'): " + String::startsWith("abcdef", "def")) - console.printLine("String::endsWith('abcdef', 'abc'): " + String::endsWith("abcdef", "abc")) - console.printLine("String::endsWith('abcdef', 'def'): " + String::endsWith("abcdef", "def")) - console.printLine("String::replace('abcdef', 'def', 'DEF'): " + String::replace("abcdef", "def", "DEF")) - console.printLine("String::indexOf('abcdef', 'def'): " + String::indexOf("abcdef", "def")) - console.printLine("String::firstIndexOf('abcdef', 'def'): " + String::firstIndexOf("abcdef", "def")) - console.printLine("String::lastIndexOf('abcdef', 'def'): " + String::lastIndexOf("abcdef", "def")) - console.printLine("String::substring('abcdef', 3): " + String::substring("abcdef", 3)) - console.printLine("String::substring('abcdef', 1, 5): " + String::substring("abcdef", 1, 5)) - console.printLine("String::equalsIgnoreCase('abcdef', 'ABCDEF'): " + String::equalsIgnoreCase('abcdef', 'ABCDEF')) - console.printLine("String::trim(' abcdef '): " + "'" + String::trim(" abcdef ") + "'") - console.printLine("String::regexMatch('abcdef', '[a-z]*'): " + String::regexMatch("abcdef", "[a-z]*")) - console.printLine("String::regexMatch('abcdef', '[0-9]*'): " + String::regexMatch("abcdef", "[0-9]*")) - console.printLine("String::regexReplace('abcdef', '[bcde]', '-'): " + String::regexReplace("abcdef", "[bcde]", "-")) - console.printLine("String::tokenize('Andreas is a very good boy', ' '): " + String::tokenize("Andreas is a very good boy <3", " ")) - console.printLine("String::length('abcdef'): " + String::length("abcdef")) - console.printLine("String::charAt('abcdef', 0): " + String::charAt("abcdef", 0)) - console.printLine("String::charAt('abcdef', 1): " + String::charAt("abcdef", 1)) - console.printLine("String::charAt('abcdef', 2): " + String::charAt("abcdef", 2)) - console.printLine("String::charAt('abcdef', 3): " + String::charAt("abcdef", 3)) - console.printLine("String::charAt('abcdef', 4): " + String::charAt("abcdef", 4)) - console.printLine("String::charAt('abcdef', 5): " + String::charAt("abcdef", 5)) - console.printLine("String::charAt('abcdef', 6): " + String::charAt("abcdef", 6)) - console.printLine("String::padLeft('1011', '0', 8): " + String::padLeft("1011", "0", 8)) - console.printLine("String::padRight('1011', '0', 8): " + String::padRight("1011", "0", 8)) - console.printLine("------------------------") - console.printLine("Check string operator (Operators)") - console.printLine("'abc' + 'def' + 'ghi': ", "abc" + "def" + "ghi") - console.printLine("abc == abc: ", "abc" == "abc") - console.printLine("abc == def: ", "abc" == "def") - console.printLine("abc != abc: ", "abc" != "abc") - console.printLine("abc != def: ", "abc" != "def") - console.printLine("abc < def: ", "abc" < "def") - console.printLine("def < abc: ", "def" < "abc") - console.printLine("abc <= abc: ", "abc" <= "abc") - console.printLine("abc <= def: ", "abc" <= "def") - console.printLine("def <= abc: ", "def" <= "abc") - console.printLine("abc > def: ", "abc" > "def") - console.printLine("def > abc: ", "def" > "abc") - console.printLine("abc >= abc: ", "abc" >= "abc") - console.printLine("abc >= def: ", "abc" >= "def") - console.printLine("def >= abc: ", "def" >= "abc") - console.printLine("------------------------") - console.printLine("------------------------") - console.printLine("Variable") - console.printLine("------------------------") - $variable = String("1234") - console.printLine(getVariable("$variable")) - console.printLine("--------------------") - console.printLine("Lets check forTime") - console.printLine("--------------------") - $i = 1 - forTime(2000) - console.printLine($i, ": Hello World") - script.wait(500) - ++$i - end - console.printLine("-------------------------") - console.printLine("Lets check forCondition") - console.printLine("-------------------------") - $i = 1 - forCondition($i != 6) - console.printLine($i, ": Hello World") - script.wait(500) - ++$i - end - console.printLine("i -> ", $i) - console.printLine("---------------------------------------------") - console.printLine("Lets check forCondition with if/elseif/else") - console.printLine("---------------------------------------------") - $i = 1 - forCondition($i < 5) - console.printLine($i, ":") - if ($i == 0) - console.printLine("i -> 0") - elseif ($i == 1) - console.printLine("i -> 1") - elseif ($i == 2) - console.printLine("i -> 2") - elseif ($i == 3) - console.printLine("i -> 3") - else - console.printLine("else: ", $i) - end - ++$i - end - $i = 1 - $j = 2 - $k = 3 - if (getVariable("$i") == $j || getVariable("$i") == $k) - console.printLine("This should not happen, but look ok in preprocessor processed output") - end - console.printLine("-------------------------------------------------------------------------------------") - console.printLine("Test: string concatenation with brackets in string literals: " + $i + "(" + $j + ")") - console.printLine("-------------------------------------------------------------------------------------") - console.printLine("(4.0 + 2.0) / 2.0 + (20.0 / 10.0 * (2.0 + 5)): ", (4.0 + 2.0) / 2.0 + (20.0 / 10.0 * (2.0 + 5)), " = 17") - script.stop() -end - -# an error has occurred -on: error - console.printLine("------------------") - console.printLine("base-test: Error") - console.printLine("------------------") - console.printLine("An error occurred") - script.wait(1000) -end \ No newline at end of file diff --git a/resources/tests/scripts/class-test.tscript b/resources/tests/scripts/class-test.tscript deleted file mode 100644 index 0773ac168..000000000 --- a/resources/tests/scripts/class-test.tscript +++ /dev/null @@ -1,87 +0,0 @@ -# initialize -on: initialize - console.printLine("------------------------") - console.printLine("class-test: Initialize") - console.printLine("------------------------") - console.printLine() -end - -# if no condition is met, nothing will be executed, lol :D -on: nothing - console.printLine("---------------------") - console.printLine("class-test: Nothing") - console.printLine("---------------------") - console.printLine() - # - $car = { - # member variables - wheelCount: 4, - color: "blue", - horsePower: 75, - # member methods - setWheelCount: ($wheelCount) -> - { - $this.wheelCount = $wheelCount - }, - setColor: ($color) -> - { - $this.color = $color - }, - setHorsePower: ($horsePower) -> - { - $this.horsePower = $horsePower - }, - showMeWhatYouGot: () -> - { - console.printLine( - "This amazing car has ", - $this.wheelCount, - " wheels, is colored ", - $this.color, - " with super nice ", - $this.horsePower, - " horses in it" - ) - }, - getProperties: (&$wheelCount, &$color, &$horsePower) -> - { - $wheelCount = $this.wheelCount - $color = $this.color - $horsePower = $this.horsePower - }, - } - # - console.dump($car) - # arrr, lets see what kind of car we got - $car->showMeWhatYouGot() - # i want it in red with 3 wheels and 25 mighty horse power - $car->setColor("red") - $car->setWheelCount(3) - $car->setHorsePower(25) - # arrr, lets see what kind of car we got now! - $car->showMeWhatYouGot() - # - $wheelCount = null - $color = null - $horsePower = null - $car->getProperties($wheelCount, $color, $horsePower) - console.printLine( - "Car properties, wheels: ", - $wheelCount, - ", color: ", - $color, - ", horse power: ", - $horsePower - ) - # - script.stop() -end - -# an error has occurred -on: error - console.printLine("------------------") - console.printLine("class-test: Error") - console.printLine("------------------") - console.printLine("An error occurred") - script.wait(1000) -end \ No newline at end of file diff --git a/resources/tests/scripts/emit-test.tscript b/resources/tests/scripts/emit-test.tscript deleted file mode 100644 index 8c6ad5059..000000000 --- a/resources/tests/scripts/emit-test.tscript +++ /dev/null @@ -1,77 +0,0 @@ -# initialize -on: initialize - console.printLine("-----------------------") - console.printLine("emit-test: Initialize") - console.printLine("-----------------------") - console.printLine() -end - -# if no condition is met, nothing will be executed, lol :D -on: nothing - console.printLine("--------------------") - console.printLine("emit-test: Nothing") - console.printLine("--------------------") - console.printLine() - console.printLine("--------------------------------------------------") - console.printLine("Test if enabled naming condition will be emitted") - console.printLine("--------------------------------------------------") - script.enableNamedCondition("named_condition_1") - script.wait(2000) - script.disableNamedCondition("named_condition_1") - console.printLine("---------------------------------------") - console.printLine("Naming condition has not been emitted") - console.printLine("---------------------------------------") - script.stop() -end - -# an error has occurred -on: error - console.printLine("------------------") - console.printLine("emit-test: Error") - console.printLine("------------------") - console.printLine("An error occurred") - script.wait(1000) -end - -# emit test -on: emittest - console.printLine("---------------------------------") - console.printLine("SCRIPT JUST EMITTED A CONDITION") - console.printLine("---------------------------------") - console.printLine() - console.printLine("----------") - console.printLine("Benchmark ") - console.printLine("----------") - $startTime = time.getCurrentMillis() - $i = 0 - $j = 0 - $k = 0 - forCondition($i < 500000) - $a = 123 + 456 * (25 / 12) + (7.5 * 12.25) - 8 - if ($j == 0) - ++$k - end - ++$i - ++$j - if ($j == 2) - $j = 0 - end - end - $endTime = time.getCurrentMillis() - console.printLine("Finished. Time: " + ($endTime - $startTime)) - script.stop() -end - -# on-enabled with named conditions -on-enabled: true == true := named_condition_1 - script.disableNamedCondition("named_condition_1") - console.printLine("------------------------------------") - console.printLine("named_condition_1 has been emitted") - console.printLine("------------------------------------") - console.printLine() - console.printLine("-----------") - console.printLine("Test emit") - console.printLine("-----------") - console.printLine() - script.emit(emittest) -end \ No newline at end of file diff --git a/resources/tests/scripts/functions-test.tscript b/resources/tests/scripts/functions-test.tscript deleted file mode 100644 index e61a8c522..000000000 --- a/resources/tests/scripts/functions-test.tscript +++ /dev/null @@ -1,62 +0,0 @@ -# initialize -on: initialize - console.printLine("----------------------------") - console.printLine("functions-test: Initialize") - console.printLine("----------------------------") - console.printLine() -end - -# user script function of recursive factorial computation -function: factorial($value) - if ($value == 0) - return(1) - end - return($value * factorial($value - 1)) -end - -# user script function to just display some hello world -function: helloWorldFunction() - console.printLine("helloWorldFunction(): Hello world") -end - -# user script function to test assign back in user functions -function: assignTest($a, &$b, &$c) - $a = "a" - $b = "b" - $c = "c" -end - -# user script function to test assign back in user functions -function: globalVariableTest() - console.printLine("globalVariableTest(): $GLOBAL.globalTest = " + $GLOBAL.globalTest) - $GLOBAL.globalTest = "Been there, done that, got the t-shirt" -end - -# if no condition is met, nothing will be executed, lol :D -on: nothing - console.printLine("-------------------------") - console.printLine("functions-test: Nothing") - console.printLine("-------------------------") - helloWorldFunction() - console.printLine("factorial(5) = " + factorial(5)) - $a = "0" - $b = "1" - $c = "2" - console.printLine("assignTest(): pre: $a = " + $a + ", $b = " + $b + ", $c = " + $c) - assignTest($a, $b, $c) - console.printLine("assignTest(): post: $a = " + $a + ", $b = " + $b + ", $c = " + $c) - $globalTest = "Global Test Variable" - console.printLine("globalVariableTest(): pre: $globalTest = " + $globalTest) - globalVariableTest() - console.printLine("globalVariableTest(): post: $globalTest = " + $globalTest) - script.stop() -end - -# an error has occurred -on: error - console.printLine("----------------------") - console.printLine("functions-test: Error") - console.printLine("----------------------") - console.printLine("An error occurred") - script.wait(1000) -end \ No newline at end of file diff --git a/resources/tests/scripts/logic.tscript b/resources/tests/scripts/logic.tscript index 84934e794..3e633d0ea 100644 --- a/resources/tests/scripts/logic.tscript +++ b/resources/tests/scripts/logic.tscript @@ -93,7 +93,7 @@ function: updateLogic() $$.velocity = getPathFindingMovementDirection() * $$.speed if ($$.velocity->computeLengthSquared() < math.square($$.math::EPSILON)) ++$$.pathFinding.pathIdx - if ($$.pathFinding.pathIdx >= $$.pathFinding.path->length()) + if ($$.pathFinding.pathIdx >= $$.pathFinding.path->getSize()) $$.pathFinding.pathIdx = -1 end $$.velocity = getPathFindingMovementDirection() * $$.speed @@ -204,7 +204,7 @@ on: error end function: getPathFindingMovementDirection() - if ($$.pathFinding.pathIdx == -1 || $$.pathFinding.pathIdx >= $$.pathFinding.path->length()) + if ($$.pathFinding.pathIdx == -1 || $$.pathFinding.pathIdx >= $$.pathFinding.path->getSize()) return(Vector3(0.0, 0.0, 0.0)) end $xDirection = 0.0 diff --git a/resources/tests/scripts/test_gui_popup_script.tscript b/resources/tests/scripts/test_gui_popup_script.tscript index 40f3bc958..6796a62b9 100644 --- a/resources/tests/scripts/test_gui_popup_script.tscript +++ b/resources/tests/scripts/test_gui_popup_script.tscript @@ -2,10 +2,11 @@ function: initialize($context) console.printLine("----------------------------------------------------------") console.printLine("initialize(): " + gui.screennode.getId()) console.printLine("----------------------------------------------------------") - console.printLine() - $GLOBAL.context = $context - $GLOBAL.context.screenIdx = 2 - console.printLine($GLOBAL.context) + console.printLine($context) + console.printLine("----------------------------------------------------------") + $$.context = $context + $$.context.screenIdx = 3 + console.printLine($$.context) end # on action diff --git a/resources/tests/scripts/test_gui_script.tscript b/resources/tests/scripts/test_gui_script.tscript index 2272886b8..ba47cceb6 100644 --- a/resources/tests/scripts/test_gui_script.tscript +++ b/resources/tests/scripts/test_gui_script.tscript @@ -1,11 +1,10 @@ -function: initialize($arguments) +function: initialize($context) console.printLine("----------------------------------------------------------") console.printLine("initialize(): " + gui.screennode.getId()) console.printLine("----------------------------------------------------------") - console.printLine() - $GLOBAL.context = {} - $GLOBAL.context.screenIdx = 1 - console.printLine($GLOBAL.context) + $$.context = {} + $$.context.screenIdx = 1 + console.printLine($$.context) end # on action @@ -28,7 +27,7 @@ function: onAction($actionType, $elementNodeId) elseif ($elementNodeId == "btn_evualuate") gui.textnode.setText("result_evualuate", script.evaluate("10 + 10")) elseif ($elementNodeId == "btn_nextscreen") - gui.screen.goto("resources/tests/screens/test_gui_script2.xml", {}, $GLOBAL.context) + gui.screen.goto("resources/tests/screens/test_gui_script2.xml", {}, $$.context) end end end diff --git a/resources/tests/scripts/test_gui_script2.tscript b/resources/tests/scripts/test_gui_script2.tscript index 261740660..f43efd315 100644 --- a/resources/tests/scripts/test_gui_script2.tscript +++ b/resources/tests/scripts/test_gui_script2.tscript @@ -2,10 +2,11 @@ function: initialize($context) console.printLine("----------------------------------------------------------") console.printLine("initialize(): " + gui.screennode.getId()) console.printLine("----------------------------------------------------------") - console.printLine() - $GLOBAL.context = $context - $GLOBAL.context.screenIdx = 2 - console.printLine($GLOBAL.context) + console.printLine($context) + console.printLine("----------------------------------------------------------") + $$.context = $context + $$.context.screenIdx = 2 + console.printLine($$.context) end # on action @@ -16,9 +17,9 @@ function: onAction($actionType, $elementNodeId) #console.printLine() if ($actionType == gui.event.ACTIONTYPE_PERFORMED()) if ($elementNodeId == "btn_popup") - gui.screen.push("resources/tests/screens/test_gui_popup.xml", {}, $GLOBAL.context) + gui.screen.push("resources/tests/screens/test_gui_popup.xml", {}, $$.context) elseif ($elementNodeId == "btn_backscreen") - gui.screen.goto("resources/tests/screens/test_gui_script.xml", {}, $GLOBAL.context) + gui.screen.goto("resources/tests/screens/test_gui_script.xml", {}, $$.context) end end end diff --git a/resources/tests/scripts/visual-test.tscript b/resources/tests/scripts/visual-test.tscript deleted file mode 100644 index a1da9f7ee..000000000 --- a/resources/tests/scripts/visual-test.tscript +++ /dev/null @@ -1,86 +0,0 @@ -# initialize -on: initialize - console.printLine("-----------------------") - #console.printLine("visual-test: Initialize") - #console.printLine("-----------------------") - #console.printLine() - console.printLine("11 * 10: ", 11 * 10) -# $i = 1 -# if ($i == 0) -# console.printLine("i -> 0") -# elseif ($i == 1) -# console.printLine("i -> 1") -# elseif ($i == 2) -# console.printLine("i -> 2") -# elseif ($i == 3) -# console.printLine("i -> 3") -# else -# console.printLine("else: ", $i) -# end -end - -# if no condition is met, nothing will be executed, lol :D -on: nothing - console.printLine("--------------------") - console.printLine("visual-test: Nothing") - console.printLine("--------------------") - console.printLine() - console.printLine("20 / 2: ", 20 / 2) - console.printLine("11 * 10: ", 11 * 10) - console.printLine("2 > 1: ", 2 > 1) - console.printLine("2 < 1: ", 2 < 1) - # if, elseif, else, end - $i = 1 - if ($i == 0) - console.printLine("i -> 0") - elseif ($i == 1) - console.printLine("i -> 1") - elseif ($i == 2) - console.printLine("i -> 2") - elseif ($i == 3) - console.printLine("i -> 3") - else - console.printLine("else: ", $i) - end - # loops - $i = 1 - forTime(2000) - console.printLine($i, ": Hello World") - script.wait(500) - ++$i - end - $i = 1 - forCondition($i != 6) - console.printLine($i, ": Hello World") - script.wait(500) - ++$i - end - # loops + if, elseif, else, end - $i = 1 - forCondition($i < 5) - console.printLine($i, ":") - if ($i == 0) - console.printLine("i -> 0") - elseif ($i == 1) - console.printLine("i -> 1") - elseif ($i == 2) - console.printLine("i -> 2") - elseif ($i == 3) - console.printLine("i -> 3") - else - console.printLine("else: ", $i) - end - ++$i - end - # - script.stop() -end - -# an error has occurred -on: error - console.printLine("------------------") - console.printLine("visual-test: Error") - console.printLine("------------------") - console.printLine("An error occurred") - script.wait(1000) -end diff --git a/src/tdme/engine/logics/LogicMinitScript.cpp b/src/tdme/engine/logics/LogicMinitScript.cpp index bbbe87f4f..627eab82d 100644 --- a/src/tdme/engine/logics/LogicMinitScript.cpp +++ b/src/tdme/engine/logics/LogicMinitScript.cpp @@ -5358,9 +5358,6 @@ void LogicMinitScript::registerMethods() { } } -void LogicMinitScript::registerVariables() { -} - void LogicMinitScript::collectHIDEvents(vector& mouseEvents, vector& keyEvents) { // keyboard events keyboardTypedChars.clear(); diff --git a/src/tdme/engine/logics/LogicMinitScript.h b/src/tdme/engine/logics/LogicMinitScript.h index 952a9b8ad..f535ea0c0 100644 --- a/src/tdme/engine/logics/LogicMinitScript.h +++ b/src/tdme/engine/logics/LogicMinitScript.h @@ -152,7 +152,6 @@ class tdme::engine::logics::LogicMinitScript: public EngineMinitScript { const vector getTranspilationUnits(); void registerStateMachineStates() override; void registerMethods() override; - void registerVariables() override; /** * Collect HID events diff --git a/src/tdme/gui/nodes/GUIScreenNode.cpp b/src/tdme/gui/nodes/GUIScreenNode.cpp index 6f4ff08c2..b393d81a9 100644 --- a/src/tdme/gui/nodes/GUIScreenNode.cpp +++ b/src/tdme/gui/nodes/GUIScreenNode.cpp @@ -192,8 +192,6 @@ GUIScreenNode::GUIScreenNode( // this->script = nullptr; } else { - // yup - Console::printLine(this->script->getInformation()); // this->scriptArguments = scriptArguments; // @@ -210,21 +208,6 @@ GUIScreenNode::GUIScreenNode( this->scriptOnDragRequestAvailable = this->script->hasFunction("onDragRequest"); this->scriptOnTickAvailable = this->script->hasFunction("onTick"); // - Console::printLine("Available event script handler functions:"); - Console::printLine("onAction: " + string(this->scriptOnActionAvailable == true?"YES":"NO")); - Console::printLine("onChange: " + string(this->scriptOnChangeAvailable == true?"YES":"NO")); - Console::printLine("onMouseOver: " + string(this->scriptOnMouseOverAvailable == true?"YES":"NO")); - Console::printLine("onContextMenuRequest: " + string(this->scriptOnContextMenuRequestAvailable == true?"YES":"NO")); - Console::printLine("onFocus: " + string(this->scriptOnFocusAvailable == true?"YES":"NO")); - Console::printLine("onUnfocus: " + string(this->scriptOnUnfocusAvailable == true?"YES":"NO")); - Console::printLine("onMove: " + string(this->scriptOnMoveAvailable == true?"YES":"NO")); - Console::printLine("onMoveRelease: " + string(this->scriptOnMoveReleaseAvailable == true?"YES":"NO")); - Console::printLine("onTooltipShowRequest: " + string(this->scriptOnTooltipShowRequestAvailable == true?"YES":"NO")); - Console::printLine("onTooltipCloseRequest: " + string(this->scriptOnTooltipCloseRequestAvailable == true?"YES":"NO")); - Console::printLine("onDragRequest: " + string(this->scriptOnDragRequestAvailable == true?"YES":"NO")); - Console::printLine("onTick: " + string(this->scriptOnTickAvailable == true?"YES":"NO")); - Console::printLine(); - // this->context = context; } } diff --git a/src/tdme/gui/scripting/GUIMinitScript.cpp b/src/tdme/gui/scripting/GUIMinitScript.cpp index e0e2cfa4c..f09137920 100644 --- a/src/tdme/gui/scripting/GUIMinitScript.cpp +++ b/src/tdme/gui/scripting/GUIMinitScript.cpp @@ -1240,7 +1240,7 @@ void GUIMinitScript::registerMethods() { screenFileName, variables, minitScript->getLibrary(), - arguments.size() == 3?arguments[2]:EngineMinitScript::Variable(), + arguments.size() == 3?MinitScript::Variable::createNonReferenceVariable(&arguments[2]):EngineMinitScript::Variable(), minitScript->screenNode->getContext() ) ); @@ -1303,7 +1303,7 @@ void GUIMinitScript::registerMethods() { screenFileName, variables, minitScript->getLibrary(), - arguments.size() == 3?arguments[2]:EngineMinitScript::Variable(), + arguments.size() == 3?MinitScript::Variable::createNonReferenceVariable(&arguments[2]):EngineMinitScript::Variable(), minitScript->screenNode->getContext() ); minitScript->screenNode->getGUI()->addScreen(screenNode->getId(), screenNode); @@ -2395,9 +2395,6 @@ void GUIMinitScript::registerMethods() { } } -void GUIMinitScript::registerVariables() { -} - void GUIMinitScript::collectHIDEvents(vector& mouseEvents, vector& keyEvents) { // keyboard events keyboardTypedChars.clear(); diff --git a/src/tdme/gui/scripting/GUIMinitScript.h b/src/tdme/gui/scripting/GUIMinitScript.h index a1f3e32e5..450baa15f 100644 --- a/src/tdme/gui/scripting/GUIMinitScript.h +++ b/src/tdme/gui/scripting/GUIMinitScript.h @@ -50,7 +50,6 @@ class tdme::gui::scripting::GUIMinitScript: public EngineMinitScript { const vector getTranspilationUnits(); void registerStateMachineStates() override; void registerMethods() override; - void registerVariables() override; /** * @return release next screen node