diff --git a/src/scriptengine/haybail-activate.as b/src/scriptengine/haybail-activate.as
new file mode 100644
index 000000000..808709e97
--- /dev/null
+++ b/src/scriptengine/haybail-activate.as
@@ -0,0 +1,11 @@
+void onTrigger()
+{
+/*to activate this add the following line to stk-assets/farm/scene.xml
+
+
+
+*/
+ displayMessage("Haybail reactivated");
+ enableAnimation("hayBail.b3d");
+ squashKart(0,35.0); //id of kart,time to squash
+}
diff --git a/src/scriptengine/haybail.as b/src/scriptengine/haybail.as
index 22f45a158..7a6ad51bf 100644
--- a/src/scriptengine/haybail.as
+++ b/src/scriptengine/haybail.as
@@ -5,7 +5,7 @@ void onTrigger()
*/
- displayMessage("Wow! Such Message. Very Script... wow");
+ displayMessage("Haybail deactivated");
disableAnimation("hayBail.b3d");
- //squashKart(0,35.0); //id of kart,time to squash
+ squashKart(0,35.0); //id of kart,time to squash
}
diff --git a/src/scriptengine/script_engine.cpp b/src/scriptengine/script_engine.cpp
index 635e3c538..56ebb12f3 100644
--- a/src/scriptengine/script_engine.cpp
+++ b/src/scriptengine/script_engine.cpp
@@ -36,6 +36,7 @@ using namespace irr;
// Function prototypes for binding.
void displayMessage(asIScriptGeneric *gen);
void disableAnimation(asIScriptGeneric *gen);
+ void enableAnimation(asIScriptGeneric *gen);
void squashKart(asIScriptGeneric *gen);
ScriptEngine::ScriptEngine(){
@@ -67,7 +68,10 @@ void disableAnimation(asIScriptGeneric *gen){
std::string *str = (std::string*)gen->GetArgAddress(0);
World::getWorld()->getTrack()->getTrackObjectManager()->disable(*str);
}
-
+void enableAnimation(asIScriptGeneric *gen){
+ std::string *str = (std::string*)gen->GetArgAddress(0);
+ World::getWorld()->getTrack()->getTrackObjectManager()->enable(*str);
+}
void squashKart(asIScriptGeneric *gen){
int id = (int)gen->GetArgDWord(0);
float time = gen->GetArgFloat(1);
@@ -182,6 +186,7 @@ void ScriptEngine::configureEngine(asIScriptEngine *engine)
r = engine->RegisterGlobalFunction("void displayMessage(string &in)", asFUNCTION(displayMessage), asCALL_GENERIC); assert(r>=0);
r = engine->RegisterGlobalFunction("void disableAnimation(string &in)", asFUNCTION(disableAnimation), asCALL_GENERIC); assert(r>=0);
+ r = engine->RegisterGlobalFunction("void enableAnimation(string &in)", asFUNCTION(enableAnimation), asCALL_GENERIC); assert(r>=0);
r = engine->RegisterGlobalFunction("void squashKart(int id, float time)", asFUNCTION(squashKart), asCALL_GENERIC); assert(r>=0);
// It is possible to register the functions, properties, and types in
@@ -217,9 +222,6 @@ int ScriptEngine::compileScript(asIScriptEngine *engine, std::string scriptName)
int len = ftell(f);
fseek(f, 0, SEEK_SET);
- // On Win32 it is possible to do the following instead
- // int len = _filelength(_fileno(f));
-
// Read the entire file
std::string script;
script.resize(len);
@@ -230,9 +232,7 @@ int ScriptEngine::compileScript(asIScriptEngine *engine, std::string scriptName)
std::cout << "Failed to load script file." << std::endl;
return -1;
}
- //std::cout<