aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS_TheReturn/Scripting.cs
diff options
context:
space:
mode:
authorMichael <[email protected]>2017-02-19 13:47:51 -0500
committerMichael <[email protected]>2017-02-19 13:47:51 -0500
commit762bd11cdf023e5340197b1a1438b5212f360a7d (patch)
tree32ec50ece5f3279bd6c4672814e5de7a262ebb67 /ShiftOS_TheReturn/Scripting.cs
parentb5a9b4caf2ae6e9d1712c65cbc1017ecbdad9ce4 (diff)
downloadshiftos_thereturn-762bd11cdf023e5340197b1a1438b5212f360a7d.tar.gz
shiftos_thereturn-762bd11cdf023e5340197b1a1438b5212f360a7d.tar.bz2
shiftos_thereturn-762bd11cdf023e5340197b1a1438b5212f360a7d.zip
Kill experience shifter.
Now all we need is a Lua->SFT compiler (not that hard) and then we can generate 0:/system/kernel.sft and have whatever's in there run at startup.
Diffstat (limited to 'ShiftOS_TheReturn/Scripting.cs')
-rw-r--r--ShiftOS_TheReturn/Scripting.cs18
1 files changed, 18 insertions, 0 deletions
diff --git a/ShiftOS_TheReturn/Scripting.cs b/ShiftOS_TheReturn/Scripting.cs
index 7215fbf..eca94fc 100644
--- a/ShiftOS_TheReturn/Scripting.cs
+++ b/ShiftOS_TheReturn/Scripting.cs
@@ -43,6 +43,24 @@ namespace ShiftOS.Engine.Scripting
public dynamic Lua = new DynamicLua.DynamicLua();
public bool Running = true;
+ public static void RunSft(string sft)
+ {
+ if (Utils.FileExists(sft))
+ {
+ try
+ {
+ string b64 = Utils.ReadAllText(sft);
+ byte[] bytes = Convert.FromBase64String(b64);
+ string lua = Encoding.UTF8.GetString(bytes);
+ new LuaInterpreter().Execute(lua);
+ }
+ catch
+ {
+ Infobox.Show("Invalid binary.", "This file is not a valid ShiftOS binary executable.");
+ }
+ }
+ }
+
public LuaInterpreter()
{
Lua(@"function totable(clrlist)