diff options
Diffstat (limited to 'gamemode/core/dataloader/cl_loadglobals.lua')
| -rw-r--r-- | gamemode/core/dataloader/cl_loadglobals.lua | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gamemode/core/dataloader/cl_loadglobals.lua b/gamemode/core/dataloader/cl_loadglobals.lua new file mode 100644 index 0000000..919ecb5 --- /dev/null +++ b/gamemode/core/dataloader/cl_loadglobals.lua @@ -0,0 +1,29 @@ + +net.Receive("artery_respondfile",function() + local filename = net.ReadString() + local filetext = net.ReadString() + local dirname = string.GetPathFromFilename(filename) + file.CreateDir("artery/client/files/" .. dirname) + file.Write("artery/client/files/" .. filename,filetext) + CompileString(filetext,filename)() +end) + +net.Receive("artery_loadfile",function() + local filename = net.ReadString() + local hash = net.ReadUInt(32) + local cache = file.Read("artery/client/files/" .. filename,"DATA") + if cache == nil then --We don't have this file downloaded! + net.Start("artery_requestcsfile") + net.WriteString(filename) + net.SendToServer() + return + end + local thash = tonumber(util.CRC(cache)) + if hash != thash then + net.Start("artery_requestcsfile") + net.WriteString(filename) + net.SendToServer() + else + CompileString(cache,filename)() + end +end) |
