Guest User

Stupid Gearfox Thing

a guest
Jun 26th, 2020
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.49 KB | None | 0 0
  1. --[[
  2.     The StormFox table and the StormFox.Msg function will still be there just incase of some retarded issue happening.
  3.     Simply put your map that you don't want the addon loading into this disabledmaps table and your good to go
  4. ]]
  5. local disabledmaps = {
  6.     ['my_map_name_here'] = true
  7. }
  8.  
  9. StormFox = {}
  10. StormFox.Version = 1.63
  11. StormFox.WorkShopVersion = false--game.IsDedicated()
  12. function StormFox.Msg(...)
  13.     local a = {...}
  14.     if StormFox.Language then
  15.         for id,var in pairs(a) do
  16.             if type(var) ~= "string" then continue end
  17.             a[id] = StormFox.Language.Translate(var) or var
  18.         end
  19.     end
  20.     MsgC(Color(155,155,255),"[StormFox] ",Color(255,255,255),unpack( a ),"\n")
  21. end
  22. StormFox.Msg("V " .. StormFox.Version .. ".")
  23. file.CreateDir("stormfox")
  24. --file.CreateDir("stormfox/temp")
  25. -- Clear temp files
  26.     --for i,v in ipairs(file.Find("stormfox/temp/*","DATA")) do
  27.     --  file.Delete("stormfox/temp/" .. v)
  28.     --end
  29.    
  30. if !disabledmaps[game.GetMap()] then
  31. if SERVER then
  32.     AddCSLuaFile()
  33.     file.CreateDir("stormfox/maps")
  34. end
  35. -- Skypaint creation fix. For some odd reason this has to be called ASAP.
  36.     local con = GetConVar("sf_skybox")
  37.     if not con or con:GetBool() then
  38.         RunConsoleCommand("sv_skyname", "painted")
  39.     end
  40. -- Local functions
  41.     local function HandleFile(str)
  42.         local path = str
  43.         if string.find(str,"/") then
  44.             path = string.GetFileFromFilename(str)
  45.         end
  46.         local _type = string.sub(path,0,3)
  47.         if SERVER then
  48.             if _type == "cl_" or _type == "sh_" then
  49.                 AddCSLuaFile(str)
  50.             end
  51.             if _type ~= "cl_" then
  52.                 return include(str)
  53.             end
  54.         elseif _type ~= "sv_" then
  55.             return include(str)
  56.         end
  57.     end
  58. -- Load lib
  59.     for _,fil in ipairs(file.Find("stormfox/lib/*.lua","LUA")) do
  60.         HandleFile("stormfox/lib/" .. fil)
  61.     end
  62.     assert(StormFox.Language,"Missing language functions!")
  63. -- Add resources
  64.     if SERVER then
  65.         if StormFox.WorkShopVersion then
  66.             resource.AddWorkshop("1132466603")
  67.         else
  68.         -- Add addon content
  69.             local i = 0
  70.             local function AddDir(dir,dirlen)
  71.                 if not dirlen then dirlen = dir:len() end
  72.                 local files, folders = file.Find(dir .. "/*", "GAME")
  73.                 for _, fdir in ipairs(folders) do
  74.                     if fdir ~= ".svn" then
  75.                         AddDir(dir .. "/" .. fdir)
  76.                     end
  77.                 end
  78.                 for k, v in ipairs(files) do
  79.                     local fil = dir .. "/" .. v --:sub(dirlen + 2)
  80.                     resource.AddFile(fil)
  81.                     i = i + 1
  82.                 end
  83.             end
  84.             AddDir("materials/stormfox")
  85.             AddDir("sound/stormfox")
  86.             AddDir("models/sf_models")
  87.  
  88.             StormFox.Msg(StormFox.Language.Format("sf_added_content",i))
  89.         end
  90.     end
  91. -- Launch Stormfox
  92.     HandleFile("stormfox/" .. "cl_mvgui.lua")
  93.     HandleFile("stormfox/" .. "sh_settings.lua")
  94.     for _,fil in ipairs(file.Find("stormfox/framework/*.lua","LUA")) do
  95.         HandleFile("stormfox/framework/" .. fil)
  96.     end
  97.     for _,fil in ipairs(file.Find("stormfox/functions/*.lua","LUA")) do
  98.         HandleFile("stormfox/functions/" .. fil)
  99.     end
  100.     HandleFile("stormfox/" .. "sh_debugcompatibility.lua")
  101.     HandleFile("stormfox/" .. "sh_weathertype_meta.lua")
  102.     HandleFile("stormfox/" .. "sh_weather_controller.lua")
  103.     HandleFile("stormfox/" .. "sv_map_lights.lua")
  104.     HandleFile("stormfox/" .. "sv_weather_generator.lua")
  105. -- Load weather types
  106.     for _,fil in ipairs(file.Find("stormfox/weather_types/*.lua","LUA")) do
  107.         if SERVER then
  108.             AddCSLuaFile("stormfox/weather_types/" .. fil)
  109.         end
  110.         include("stormfox/weather_types/" .. fil)
  111.     end
  112. -- Finish loading
  113.     HandleFile("stormfox/" .. "sh_options.lua")
  114.     HandleFile("stormfox/" .. "cl_wizard.lua")
  115.     HandleFile("stormfox/" .. "cl_mapbrowser.lua")
  116.     hook.Call("StormFox.PostInit")
  117. -- Reload support
  118.     hook.Add("LoadGModSave","StormFox.SandboxLoadSupport",function()
  119.         hook.Call( "StormFox.PostEntity" )
  120.     end)
  121.     hook.Add("InitPostEntity","StormFox.CallPostEntitiy",function()
  122.         _STORMFOX_POSTENTIY = true
  123.         hook.Run("StormFox.PostEntity")
  124.     end)
  125.     if _STORMFOX_POSTENTIY then
  126.         timer.Simple(1,function()
  127.             hook.Run("StormFox.PostEntity")
  128.         end)
  129.     end
  130. -- Hack to stop cleanupmap breaking SF
  131.     STORMFOX_CLEANUPMAP = STORMFOX_CLEANUPMAP or game.CleanUpMap
  132.     function game.CleanUpMap( dontSendToClients, ExtraFilters )
  133.         ExtraFilters = ExtraFilters or {}
  134.         table.insert(ExtraFilters,"light_environment")
  135.         table.insert(ExtraFilters,"env_fog_controller")
  136.         table.insert(ExtraFilters,"shadow_control")
  137.         table.insert(ExtraFilters,"env_tonemap_controller")
  138.         table.insert(ExtraFilters,"env_wind")
  139.         table.insert(ExtraFilters,"env_skypaint")
  140.         table.insert(ExtraFilters,"sf_soundscape")
  141.         STORMFOX_CLEANUPMAP(dontSendToClients,ExtraFilters)
  142.     end
  143. end
Add Comment
Please, Sign In to add comment