Advertisement
YM_Industries

Untitled

Apr 6th, 2014
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.32 KB | None | 0 0
  1.         -- Load the new HUD.
  2.         function HSwitch:LoadHUD(new)
  3.        
  4.             local backup = {} --Values that need to be carried across between HUD changes.
  5.            
  6.             backup.RADAR = {}
  7.             backup.RADAR.targets = RADAR.targets
  8.             backup.RADAR.enable = RADAR.enable
  9.             backup.RADAR.duration = RADAR.duration
  10.             backup.RADAR.endtime = RADAR.endtime
  11.             backup.RADAR.bombs = RADAR.bombs
  12.             backup.RADAR.bombs_count = RADAR.bombs_count
  13.             backup.RADAR.repeating = RADAR.repeating
  14.             backup.RADAR.samples = RADAR.samples
  15.             backup.RADAR.samples_count = RADAR.samples_count
  16.             backup.RADAR.called_corpses = RADAR.called_corpses
  17.            
  18.             backup.MSTACK = {}
  19.             backup.MSTACK.msgs = MSTACK.msgs
  20.             backup.MSTACK.last = MSTACK.last
  21.            
  22.             backup.WSWITCH = {}
  23.             backup.WSWITCH.Show = WSWITCH.Show
  24.             backup.WSWITCH.Selected = WSWITCH.Selected
  25.             backup.WSWITCH.NextSwitch = WSWITCH.NextSwitch
  26.             backup.WSWITCH.WeaponCache = WSWITCH.WeaponCache
  27.            
  28.             backup.TBHUD = {}
  29.             backup.TBHUD.buttons = TBHUD.buttons
  30.             backup.TBHUD.buttons_count = TBHUD.buttons_count
  31.             backup.TBHUD.focus_ent = TBHUD.focus_ent
  32.             backup.TBHUD.focus_stick = TBHUD.focus_string
  33.            
  34.             backup.CLSCORE = {}
  35.             backup.CLSCORE.Events = CLSCORE.Events
  36.             backup.CLSCORE.Scores = CLSCORE.Scores
  37.             backup.CLSCORE.TraitorIDs = CLSCORE.TraitorIDs
  38.             backup.CLSCORE.DetectiveIDs = CLSCORE.DetectiveIDs
  39.             backup.CLSCORE.Players = CLSCORE.Players
  40.             backup.CLSCORE.StartTime = CLSCORE.StartTime
  41.             backup.CLSCORE.Panel = CLSCORE.Panel
  42.             backup.CLSCORE.EventDisplay = CLSCORE.EventDisplay
  43.            
  44.             backup.tipsenabled = GetConVar("ttt_tips_enable"):GetBool()
  45.            
  46.             hook.Call("HideScoreboard", GM or GAMEMODE) -- Protect against scoreboard becoming stuck open
  47.            
  48.            
  49.             if backup.tipsenabled then
  50.                 local callbacks = cvars.GetConVarCallbacks("ttt_tips_enable")
  51.                 if callbacks then
  52.                     for _,func in pairs(callbacks) do
  53.                         func("ttt_tips_enable", true, false)
  54.                     end
  55.                 end
  56.             end
  57.            
  58.             for _, fname in pairs(HSwitch.modifiedFiles) do --Reset modified files to defaults before loading a new HUD
  59.                 local path = "default/" .. fname
  60.                 if file.Exists(path, "LUA") then
  61.                     include(path)
  62.                     print("[HUDSWITCHER] Defaulted " .. fname)
  63.                 else
  64.                     print("[HUDSWITCHER] Failed to reset file " .. fname .. ", tell Phoenixf129")
  65.                 end
  66.             end
  67.             HSwitch.modifiedFiles = {}
  68.            
  69.  
  70.            
  71.             GAMEMODE.HUDPaint = function() end
  72.             GAMEMODE.HUDShouldDraw = function() return true end
  73.             GM = GAMEMODE
  74.            
  75.             HSwitch:FixHUDIssues()
  76.            
  77.             local files, _ = file.Find("huds/" .. new .. "/*.lua", "LUA")
  78.             for _, fname in pairs(files) do
  79.                 table.insert(HSwitch.modifiedFiles, fname)
  80.                 local path = "huds/" .. new .. "/" .. fname
  81.                 include(path)
  82.                 MsgN("[HUDSWITCHER] Loaded "..path)
  83.             end
  84.            
  85.             --Restore carried values
  86.             RADAR.targets = backup.RADAR.targets
  87.             RADAR.enable = backup.RADAR.enable
  88.             RADAR.duration = backup.RADAR.duration
  89.             RADAR.endtime = backup.RADAR.endtime
  90.             RADAR.bombs = backup.RADAR.bombs
  91.             RADAR.bombs_count = backup.RADAR.bombs_count
  92.             RADAR.repeating = backup.RADAR.repeating
  93.             RADAR.samples = backup.RADAR.samples
  94.             RADAR.samples_count = backup.RADAR.samples_count
  95.             RADAR.called_corpses = backup.RADAR.called_corpses
  96.            
  97.             MSTACK.msgs = backup.MSTACK.msgs
  98.             MSTACK.last = backup.MSTACK.last
  99.            
  100.             WSWITCH.Show = backup.WSWITCH.Show
  101.             WSWITCH.Selected = backup.WSWITCH.Selected
  102.             WSWITCH.NextSwitch = backup.WSWITCH.NextSwitch
  103.             WSWITCH.WeaponCache = backup.WSWITCH.WeaponCache
  104.            
  105.             TBHUD.buttons = backup.TBHUD.buttons
  106.             TBHUD.buttons_count = backup.TBHUD.buttons_count
  107.             TBHUD.focus_ent = backup.TBHUD.focus_ent
  108.             TBHUD.focus_string = backup.TBHUD.focus_stick
  109.            
  110.             CLSCORE.Events = backup.CLSCORE.Events
  111.             CLSCORE.Scores = backup.CLSCORE.Scores
  112.             CLSCORE.TraitorIDs = backup.CLSCORE.TraitorIDs
  113.             CLSCORE.DetectiveIDs = backup.CLSCORE.DetectiveIDs
  114.             CLSCORE.Players = backup.CLSCORE.Players
  115.             CLSCORE.StartTime = backup.CLSCORE.StartTime
  116.             CLSCORE.Panel = backup.CLSCORE.Panel
  117.             CLSCORE.EventDisplay = backup.CLSCORE.EventDisplay
  118.            
  119.             if backup.tipsenabled then
  120.                 local callbacks = cvars.GetConVarCallbacks("ttt_tips_enable")
  121.                 if callbacks then
  122.                     for _,func in pairs(callbacks) do
  123.                         func("ttt_tips_enable", false, true)
  124.                     end
  125.                 end
  126.             end
  127.            
  128.             hook.Call("HUDSwitched")
  129.         end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement