diff options
| author | Michael <[email protected]> | 2017-02-19 13:47:51 -0500 |
|---|---|---|
| committer | Michael <[email protected]> | 2017-02-19 13:47:51 -0500 |
| commit | 762bd11cdf023e5340197b1a1438b5212f360a7d (patch) | |
| tree | 32ec50ece5f3279bd6c4672814e5de7a262ebb67 /ShiftOS_TheReturn/Scripting.cs | |
| parent | b5a9b4caf2ae6e9d1712c65cbc1017ecbdad9ce4 (diff) | |
| download | shiftos_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.cs | 18 |
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) |
