summaryrefslogtreecommitdiff
path: root/gamemode
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2016-04-22 18:30:55 -0400
committerAlexander Pickering <alexandermpickering@gmail.com>2016-04-22 18:30:55 -0400
commit534ce8e8612da3ba6d610a782eeaf10c9135b947 (patch)
treeae9439ae6152e3cadb70f8a7d0a916ca4ddf9317 /gamemode
parent22eac37611121d7e6ed7027c1ede37928fea40c3 (diff)
downloadgmstranded-534ce8e8612da3ba6d610a782eeaf10c9135b947.tar.gz
gmstranded-534ce8e8612da3ba6d610a782eeaf10c9135b947.tar.bz2
gmstranded-534ce8e8612da3ba6d610a782eeaf10c9135b947.zip
Started split to expidition
Diffstat (limited to 'gamemode')
-rw-r--r--gamemode/cl_init.lua3
-rw-r--r--gamemode/cl_qmenu.lua132
-rw-r--r--gamemode/client/cl_inventory.lua43
-rw-r--r--gamemode/client/cl_quickmenu.lua19
-rw-r--r--gamemode/configure_me.lua12
-rw-r--r--gamemode/init.lua2
-rw-r--r--gamemode/itemsystem/items/berry.lua6
-rw-r--r--gamemode/itemsystem/loaditems.lua14
-rw-r--r--gamemode/resources.lua13
-rw-r--r--gamemode/server/entity_functions.lua2
-rw-r--r--gamemode/shared.lua12
-rw-r--r--gamemode/utility.lua12
12 files changed, 174 insertions, 96 deletions
diff --git a/gamemode/cl_init.lua b/gamemode/cl_init.lua
index 6a17abc..2d1cb98 100644
--- a/gamemode/cl_init.lua
+++ b/gamemode/cl_init.lua
@@ -1,10 +1,11 @@
include( "configure_me.lua")
include( "utility.lua")
includeFolder("craftablesystem",true)
+includeFolder("client",true)
include( "shared.lua" )
-include( "cl_qmenu.lua" )
+--include( "cl_qmenu.lua" )
include( "cl_scoreboard.lua" )
include( "cl_panels.lua" )
include( "cl_hud.lua" )
diff --git a/gamemode/cl_qmenu.lua b/gamemode/cl_qmenu.lua
index 2a6d248..f5e8740 100644
--- a/gamemode/cl_qmenu.lua
+++ b/gamemode/cl_qmenu.lua
@@ -6,7 +6,7 @@ AccessorFunc( PANEL, "m_bAlt", "Alt" )
AccessorFunc( PANEL, "m_bSelected", "Selected" )
function PANEL:Init()
- self:SetContentAlignment( 4 )
+ self:SetContentAlignment( 4 )
self:SetTextInset( 5, 0 )
self:SetTall( 15 )
end
@@ -48,7 +48,7 @@ function PANEL:PerformLayout()
end
function PANEL:AddCheckBox( strConVar )
- if ( !self.Checkbox ) then
+ if ( !self.Checkbox ) then
self.Checkbox = vgui.Create( "DCheckBox", self )
end
@@ -65,7 +65,7 @@ function PANEL:Init()
self:SetSpacing( 5 )
self:SetPadding( 5 )
self:EnableHorizontal( false )
- self:EnableVerticalScrollbar( true )
+ self:EnableVerticalScrollbar( true )
function self:Paint()
draw.RoundedBox( 4, 0, 0, self:GetWide(), self:GetTall(), Color( 75, 75, 75 ) )
end
@@ -76,8 +76,8 @@ function PANEL:Init()
cat:SetLabel( k )
local IconList = vgui.Create( "DPanelList", cat )
- IconList:EnableVerticalScrollbar( true )
- IconList:EnableHorizontal( true )
+ IconList:EnableVerticalScrollbar( true )
+ IconList:EnableHorizontal( true )
IconList:SetAutoSize( true )
IconList:SetSpacing( 5 )
IconList:SetPadding( 5 )
@@ -89,9 +89,9 @@ function PANEL:Init()
local Icon = vgui.Create( "SpawnIcon", IconList )
Icon:SetModel( value )
Icon.DoClick = function( Icon ) RunConsoleCommand( "gm_spawn", value, 0 ) end
- --Icon:SetIconSize( 64 )
- Icon:InvalidateLayout( true )
- Icon:SetToolTip( Format( "%s", value ) )
+ --Icon:SetIconSize( 64 )
+ Icon:InvalidateLayout( true )
+ Icon:SetToolTip( Format( "%s", value ) )
IconList:AddItem( Icon )
end
end
@@ -119,7 +119,7 @@ function PANEL:Init()
function self.ContextPanel:Paint()
draw.RoundedBox( 4, 0, 0, self:GetWide(), self:GetTall(), Color( 255, 255, 255, 150 ) )
end
-
+
if ( ToolsLoad == false || ToolsLoad == nil || ToolsLoad == NULL || ToolsLoad == "" ) then
AllTools = spawnmenu.GetTools()
local ToolsLoad = true
@@ -129,29 +129,29 @@ function PANEL:Init()
if ( !ToolTables ) then LocalPlayer():ChatPrint( "ERROR: Tools List could not be loaded." ) return end
- for k, v in pairs( ToolTables[1].Items ) do
+ for k, v in pairs( ToolTables[1].Items ) do
if ( type( v ) == "table" ) then
- local Name = v.ItemName
- local Label = v.Text
- v.ItemName = nil
- v.Text = nil
- self:AddCategory( Name, Label, v )
+ local Name = v.ItemName
+ local Label = v.Text
+ v.ItemName = nil
+ v.Text = nil
+ self:AddCategory( Name, Label, v )
end
end
end
function PANEL:AddCategory( Name, Label, ToolItems )
- self.Category = vgui.Create( "DCollapsibleCategory" )
+ self.Category = vgui.Create( "DCollapsibleCategory" )
self.Tools:AddItem( self.Category )
- self.Category:SetLabel( Label )
- self.Category:SetCookieName( "ToolMenu." .. tostring( Name ) )
+ self.Category:SetLabel( Label )
+ self.Category:SetCookieName( "ToolMenu." .. tostring( Name ) )
- self.CategoryContent = vgui.Create( "DPanelList" )
- self.CategoryContent:SetAutoSize( true )
- self.CategoryContent:SetDrawBackground( false )
- self.CategoryContent:SetSpacing( 0 )
- self.CategoryContent:SetPadding( 0 )
- self.Category:SetContents( self.CategoryContent )
+ self.CategoryContent = vgui.Create( "DPanelList" )
+ self.CategoryContent:SetAutoSize( true )
+ self.CategoryContent:SetDrawBackground( false )
+ self.CategoryContent:SetSpacing( 0 )
+ self.CategoryContent:SetPadding( 0 )
+ self.Category:SetContents( self.CategoryContent )
local bAlt = true
local NumTools = 0
@@ -160,23 +160,23 @@ function PANEL:AddCategory( Name, Label, ToolItems )
if ( table.HasValue( GMS.ProhibitedStools, v.ItemName ) && !LocalPlayer():IsAdmin() ) then continue end
NumTools = NumTools + 1
- local Item = vgui.Create( "ToolMenuButton", self )
- Item:SetText( v.Text )
- Item.OnSelect = function( button ) self:EnableControlPanel( button ) end
- concommand.Add( Format( "tool_%s", v.ItemName ), function() Item:OnSelect() end )
+ local Item = vgui.Create( "ToolMenuButton", self )
+ Item:SetText( v.Text )
+ Item.OnSelect = function( button ) self:EnableControlPanel( button ) end
+ concommand.Add( Format( "tool_%s", v.ItemName ), function() Item:OnSelect() end )
- if ( v.SwitchConVar ) then
- Item:AddCheckBox( v.SwitchConVar )
- end
+ if ( v.SwitchConVar ) then
+ Item:AddCheckBox( v.SwitchConVar )
+ end
- Item.ControlPanelBuildFunction = v.CPanelFunction
- Item.Command = v.Command
- Item.Name = v.ItemName
- Item.Controls = v.Controls
- Item.Text = v.Text
+ Item.ControlPanelBuildFunction = v.CPanelFunction
+ Item.Command = v.Command
+ Item.Name = v.ItemName
+ Item.Controls = v.Controls
+ Item.Text = v.Text
- Item:SetAlt( bAlt )
- bAlt = !bAlt
+ Item:SetAlt( bAlt )
+ bAlt = !bAlt
self.CategoryContent:AddItem( Item )
end
@@ -187,28 +187,28 @@ function PANEL:AddCategory( Name, Label, ToolItems )
end
end
-function PANEL:EnableControlPanel( button )
- if ( self.LastSelected ) then
+function PANEL:EnableControlPanel( button )
+ if ( self.LastSelected ) then
self.LastSelected:SetSelected( false )
- end
+ end
- button:SetSelected( true )
- self.LastSelected = button
+ button:SetSelected( true )
+ self.LastSelected = button
- local cp = controlpanel.Get( button.Name )
- if ( !cp:GetInitialized() ) then
- cp:FillViaTable( button )
- end
+ local cp = controlpanel.Get( button.Name )
+ if ( !cp:GetInitialized() ) then
+ cp:FillViaTable( button )
+ end
- self.ContextPanel:Clear()
- self.ContextPanel:AddItem( cp )
- self.ContextPanel:Rebuild()
+ self.ContextPanel:Clear()
+ self.ContextPanel:AddItem( cp )
+ self.ContextPanel:Rebuild()
- g_ActiveControlPanel = cp
+ g_ActiveControlPanel = cp
- if ( button.Command ) then
- LocalPlayer():ConCommand( button.Command )
- end
+ if ( button.Command ) then
+ LocalPlayer():ConCommand( button.Command )
+ end
end
function PANEL:Paint()
@@ -427,7 +427,7 @@ function PANEL:Init()
item:SetText( "Apply settings" )
item:SetTall( 26 )
self.Buddies:AddItem( item )
-
+
local item = vgui.Create( "DButton" )
item:SetConsoleCommand( "spp_clear_buddies" )
item:SetText( "Clear all buddies" )
@@ -443,7 +443,7 @@ function PANEL:Think()
self.LastThink = CurTime()
self.AdminCleanUp:Clear( true )
self.Buddies:Clear( true )
-
+
/* Admin cleanup */
if ( LocalPlayer():IsAdmin() ) then
for i, p in pairs( player.GetAll() ) do
@@ -459,18 +459,18 @@ function PANEL:Think()
item:SetTall( 26 )
item:SetText( "Cleanup disconnected players props" )
self.AdminCleanUp:AddItem( item )
-
+
self.AdminSettings:SetVisible( true )
self.AdminCleanUp:SetVisible( true )
else
local item = vgui.Create( "DLabel" )
item:SetText( "You are not an admin." )
self.AdminCleanUp:AddItem( item )
-
+
self.AdminSettings:SetVisible( false )
self.AdminCleanUp:SetVisible( false )
end
-
+
/* Client */
for i, p in pairs( player.GetAll() ) do
if ( p != LocalPlayer() ) then
@@ -483,13 +483,13 @@ function PANEL:Think()
self.Buddies:AddItem( item )
end
end
-
+
local item = vgui.Create( "DButton" )
item:SetConsoleCommand( "spp_apply_buddies" )
item:SetText( "Apply settings" )
item:SetTall( 26 )
self.Buddies:AddItem( item )
-
+
local item = vgui.Create( "DButton" )
item:SetConsoleCommand( "spp_clear_buddies" )
item:SetText( "Clear all buddies" )
@@ -773,7 +773,7 @@ function PANEL:PerformLayout()
// Save map
self.MapName:SetWide( self.MapSaving:GetWide() - 20 )
self.SaveMap:SetWide( self.MapSaving:GetWide() - 20 )
-
+
// Load/delete map
self.MapNameL:SetSize( self.MapSaving:GetWide() - 20, 24 )
self.LoadMap:SetWide( self.MapSaving:GetWide() / 2 - 20 )
@@ -880,14 +880,14 @@ end )
function GM:OnSpawnMenuOpen()
if ( LocalPlayer():GetNWBool( "AFK" ) ) then return end
-
+
if ( !IsValid( gSpawnMenu ) ) then
gSpawnMenu = vgui.Create( "gms_menu" )
gSpawnMenu:SetVisible( false )
-
+
UpdateSavegames()
end
-
+
gSpawnMenu.m_bHangOpen = false
gSpawnMenu:MakePopup()
@@ -911,7 +911,7 @@ function GM:OnSpawnMenuOpen()
end
function GM:OnSpawnMenuClose()
- if ( gSpawnMenu.m_bHangOpen ) then
+ if ( gSpawnMenu.m_bHangOpen ) then
gSpawnMenu.m_bHangOpen = false
return
end
diff --git a/gamemode/client/cl_inventory.lua b/gamemode/client/cl_inventory.lua
new file mode 100644
index 0000000..9e18040
--- /dev/null
+++ b/gamemode/client/cl_inventory.lua
@@ -0,0 +1,43 @@
+print("Custom inventory loaded")
+
+local function createPanel()
+ local frame = vgui.Create( "DFrame" )
+ frame:SetSize( 300, 300 )
+ frame:SetTitle( "Inventory" )
+ frame:MakePopup()
+ frame:Center()
+
+ local layout = vgui.Create( "DTileLayout", frame )
+ layout:SetBaseSize( 32 ) -- Tile size
+ layout:Dock( FILL )
+
+ //Draw a background so we can see what it's doing
+ --layout:SetDrawBackground( true )
+ --layout:SetBackgroundColor( Color( 0, 100, 100 ) )
+
+ layout:MakeDroppable( "unique_name" ) -- Allows us to rearrange children
+ for k, v in SortedPairs( Resources ) do
+ layout:Add( Label( v .. k) )
+ end
+ /*
+ for i = 1, 32 do
+ layout:Add( Label( " Label " .. i ) )
+ end
+ */
+end
+
+local invpanel = nil
+function GM:OnSpawnMenuOpen()
+ print("Spawn menu hooked correctly")
+ if(invpanel == nil) then
+ invpanel = createPanel()
+ end
+end
+
+function GM:OnSpawnMenuClose()
+
+end
+
+function GM:SpawnMenuEnabled()
+ return false
+end
diff --git a/gamemode/client/cl_quickmenu.lua b/gamemode/client/cl_quickmenu.lua
new file mode 100644
index 0000000..2ce0bbb
--- /dev/null
+++ b/gamemode/client/cl_quickmenu.lua
@@ -0,0 +1,19 @@
+function GM:OnContextMenuOpen()
+ print("Context menu hooked correctly")
+ local Menu = DermaMenu() -- Is the same as vgui.Create( "DMenu" )
+ Menu:AddOption( "Simple option" ) -- Add a simple option.
+
+ local btnWithIcon = Menu:AddOption( "Option with icon" ) -- Simple option, but we're going to add an icon
+ btnWithIcon:SetIcon( "icon16/bug.png" ) -- Icons are in materials/icon16 folder
+
+ Menu:AddSpacer() -- Adds a simple line spacer
+
+ local SubMenu = Menu:AddSubMenu( "A Sub Menu" ) -- Add a submenu
+ SubMenu:AddOption( "Sub Option #1" ):SetIcon( "icon16/group.png" ) -- SetIcon possible like this
+
+ Menu:Open()
+end
+
+function GM:OnContextMenuClose()
+
+end
diff --git a/gamemode/configure_me.lua b/gamemode/configure_me.lua
index 8b980fc..e52b961 100644
--- a/gamemode/configure_me.lua
+++ b/gamemode/configure_me.lua
@@ -1,3 +1,11 @@
-GMS = {}
-print("Hello from configure_me.lua!")
+/* Authors!
+
+ The Stranded Team!
+ jA_cOp, prop_dynamic, Chewgum, Wokkel, robotboy655
+
+ Additional content by
+ Djarex, Apickx
+*/
+
+//Make sure that this is the gamemode folder name
GM.GAMEMODE_FOLDER_NAME = "gmsurvival"
diff --git a/gamemode/init.lua b/gamemode/init.lua
index e8a8600..6441444 100644
--- a/gamemode/init.lua
+++ b/gamemode/init.lua
@@ -3,9 +3,11 @@ include( "utility.lua")
include( "init_static.lua")
AddCSLuaFolder("client",false)
AddCSLuaFolder("craftablesystem",true)
+AddCSLuaFolder("itemsystem",true)
includeFolder("server",false)
includeFolder("craftablesystem",true)
+includeFolder("itemsystem",true)
-- Send clientside files
diff --git a/gamemode/itemsystem/items/berry.lua b/gamemode/itemsystem/items/berry.lua
new file mode 100644
index 0000000..610147f
--- /dev/null
+++ b/gamemode/itemsystem/items/berry.lua
@@ -0,0 +1,6 @@
+ITEM = {}
+
+ITEM.Name = "Berry"
+ITEM.Description = "A delicious edible!"
+
+GMS.RegisterResource(ITEM)
diff --git a/gamemode/itemsystem/loaditems.lua b/gamemode/itemsystem/loaditems.lua
new file mode 100644
index 0000000..8f8313b
--- /dev/null
+++ b/gamemode/itemsystem/loaditems.lua
@@ -0,0 +1,14 @@
+GMS.Resources = {}
+function GMS.RegisterResource( tbl )
+ local sname = string.Replace(tbl.Name, " ", "_")
+ print("Registering " .. sname)
+ GMS.Resources[sname] = tbl
+end
+
+function GMS.GetItemByName(name)
+ if(GMS.Resources[name]) then
+ return GMS.Resources[name]
+ else
+ print("Resource " .. name .. " does not exist! This might be a bug!")
+ end
+end
diff --git a/gamemode/resources.lua b/gamemode/resources.lua
index 16ccfcb..00c4691 100644
--- a/gamemode/resources.lua
+++ b/gamemode/resources.lua
@@ -1,17 +1,4 @@
//Loads all the reources into cache.
-
-function addResourceFolder(folderpath,recursive)
- local files, directories = file.find(folderpath .. "*", "GAME")
- if(recursive) then
- for k,v in pairs(directories) do
- addResourceFolder(folderpath..v,recursive)
- end
- end
- for k,v in pairs(files) do
- resource.AddFile(v)
- end
-end
-
addResourceFolder("models/weapons/")
addResourceFolder("materials/models/weapons/")
addResourceFolder("materials/gm_forest/")
diff --git a/gamemode/server/entity_functions.lua b/gamemode/server/entity_functions.lua
index 8f18383..e5b91c1 100644
--- a/gamemode/server/entity_functions.lua
+++ b/gamemode/server/entity_functions.lua
@@ -85,8 +85,6 @@ end
GMS.FadingOutProps = {}
GMS.FadingInProps = {}
-print("GMS_FadingInProps initalized")
-
function EntityMeta:Fadeout( speed )
if ( !IsValid( self ) ) then return end
local speed = speed or 1
diff --git a/gamemode/shared.lua b/gamemode/shared.lua
index cf25565..adde491 100644
--- a/gamemode/shared.lua
+++ b/gamemode/shared.lua
@@ -1,15 +1,3 @@
-
-/*
- Authors! The Stranded Team!
- jA_cOp, prop_dynamic, Chewgum, Wokkel, robotboy655
-
- READ THIS:
- If you want to add custom content or edit anything in gamemode - DO NOT. Please read customcontent.lua!
-
- ������ ���:
- ���� �� ����������� ��� ��� ���� �������� - �� ����� �����. ������ ���� customcontent.lua!
-*/
-
DeriveGamemode( "sandbox" )
GM.Name = "Garry's Mod Stranded"
diff --git a/gamemode/utility.lua b/gamemode/utility.lua
index 24c59b0..ea3435e 100644
--- a/gamemode/utility.lua
+++ b/gamemode/utility.lua
@@ -26,3 +26,15 @@ end
function includeFolder(folderstring,recursive)
findRecursive(folderstring,recursive,function(string) include(string) end)
end
+
+function addResourceFolder(folderpath,recursive)
+ local files, directories = file.find(folderpath .. "*", "GAME")
+ if(recursive) then
+ for k,v in pairs(directories) do
+ addResourceFolder(folderpath..v,recursive)
+ end
+ end
+ for k,v in pairs(files) do
+ resource.AddFile(v)
+ end
+end