A new update has been released! This update brings the following to Garry’s Mod: Peer-To-Peer friends only mode – Enable this to only allow friends to join your games Substantial updates & optimization to Sandbox and User Interface NPC networking optimizations Numerous crash & security fixes New main menu backgrounds created by the community Numerous Physics gun improvements The update will be automatically downloaded when you restart your game. All servers will need to be updated before you can play on them. Thanks to everybody who helped with testing the update and reported bugs/problems. Engine Changes NEW Mouse sensitivity can no longer be set greater than 10,000 FIX Trying to load a texture with an empty name no longer leaks memory FIX Vehicles no longer crash the server when attempting to disable their engines too soon after being spawned FIX Manhacks without a valid physics object will no longer crash the game FIX prop_dynamics entities no longer crash the game when created too early FIX func_precipitation no longer crashes when using an unsupported precipitation type (fixes issues on some L4D maps) FIX Multiple issues caused by weapons with having no owners no longer crash the game FIX menu_cleanupgmas console command no longer crashes when the game is launched with -noworkshop FIX menu_cleanupgmas console command no longer freaks out when the client has 0 subscriptions FIX Auto-Refresh will no longer crash the game when files with a strange include-pattern exist, such as two files that load each other FIX Fixed dumpstringtable* console commands being registered multiple times UPD Updated SQLite version from 3.6.23.1 to 3.12.2 UPD Updated FreeImage version from 3.15.3 to 3.17.0 UPD Updated BASS to version 2.4.12 UPD Client->Server bandwidth is no longer constantly increased whilst keys are being held down UPD SENT/SWEP render groups now default to the engine’s default instead of OPAQUE UPD Lua console commands are now removed on disconnection/level change UPD Receiving non-existant replicated ConVars no longer spams the console with warnings UPD VGUI panels created by the engine can no longer be removed by Lua UPD Entities now have the modelscale keyvalue and SetModelScale input from newer versions of Source UPD NPC IK calculations are no longer networked from clients to the server, this means having a bunch of NPCs won’t disconnect/lag clients horrifically UPD Clientside auto-refresh no longer depends on the placement of serverside AddCSLuaFile calls UPD Updated SourceSDK/HL2 content UPD g_sky shader can now display up to 3 star layers UPD env_skypaint positions star textures based on the client’s time instead of the server’s time (fixes some jittery movement for internet games) UPD ClientLeafSystem can now contain many more entries UPD PNG/JPEG textures/materials are now properly garbage collected and will be free’d on a level change UPD Certain addons will no longer cause water reflections/refraction to stop working properly UPD Sprites now render facing the correct direction in mirrors and water reflections/refraction DEL Removed auto generated files to fix the “1 file failed to pass validation” on Steam after starting the game DEL Removed FCVAR_ARCHIVE from npc_height_adjust ConVar DEL Removed the func_physbox hack for d1_trainstation_05 as it seems to work without it now Game Changes NEW Added new main menu backgrounds NEW env_skypaint now has an option to change the number of star layers rendered NEW Added reload_legacy_addons console command NEW Added gmod_drawtooleffects ConVar to hide certain tool UI and Effects NEW Added p2p_friendsonly ConVar NEW Added -noaddons command-line parameter which will disable legacy/folder addons when set FIX NPCs no longer become invisible when a player noclips in to them FIX Certain vehicles/NPCs are no longer silent when spawned outside of the client’s audible area FIX Fixed some PHX materials becoming completely invisible when they are rendered with an alpha less than 255 FIX Fixed physics mesh for models\props_phx\gears\bevel90_24.md, arm_base_b.mdl & metal_plate_pipe.mdll FIX RPG launcher no longer spams sounds on first equip in multiplayer FIX Fixed Model Viewer background for Hammer UPD Added missing TF2 & L4D1 map icons UPD Updated all default spawnicons UPD Updated seats/chair models – more accurate physics mesh and additional Hitboxes to allow getting damaged in those seats UPD Updated Crossbow materials to remove pixelated reflections from the scope DEL Removed the “VehicleTyperop_vehicle_jeep” console message when entering vehicles Physgun NEW Added physgun_maxrange ConVar FIX Physgun beams no longer lag behind when moving non-MOVETYPE_VPHYSICS entities FIX Physgun angle-snapping no longer jitters between snapped/unsnapped when releasing shift/use FIX The Physgun can now only rotate NPCs without physics objects around their yaw axis FIX The Physgun no longer encounters gimbal lock when rotating around pitch axis Tools NEW All tools now use the new help system NEW All tools (where applicable) are now using model whitelists to prevent abuse NEW The paint tool now clears decals on the target entity when the reload key is pressed NEW Added limit to the Camera tool (defaults to 10) NEW Added a new Hoverball model NEW Added Partial “Right Click > Edit Properties” support for Balloon, Button, Dynamite, Emitter, Hoverball, Lamp and Light tools FIX The inflator tool should no longer freak out on high latency servers FIX The paint tool no longer applies the decals twice on client and it no longer plays the sound twice in multiplayer FIX The muscle tool’s “Start On” option is now functional FIX Fixed being able to bypass the light tool’s multiplayer limit with Duplicator FIX Fixed being able to bypass the “Cleanup” menu with duplicator FIX Fixed the camera tool adding 1 extra undo when duplicated UPD The color tool copies the target entity’s color on right-click and resets the color on reload UPD The material tool now copies the target entity’s material on right-click and resets the material on reload UPD The inflator tool now scales adjacent bones properly UPD The faceposer tool can now be used on prop_effect entities UPD Increased the limit of lights created by the light tool UPD Dynamite damage is now clamped properly and cannot be bypassed UPD Duplicator will now transfer data in parts instead of failing when the dupe is too large Tool UI NEW Auto Stretch UI for Paint Tool NEW All prop select panels are now auto sizing in height UPD Changed the material tool’s context menu to show 4 materials per row UPD Lamp Tool – MatSelect is now 4 images tall UPD Rearranged some controls for tool settings to be more consistent UPD Many improvements to Spawnmenu UI to be less laggy, better scaling, ability to manually resize spawnmenu parts, etc Lua API Changes NEW Added PANEL:OnKeyCodeReleased() hook NEW Added CRecepientFilter support for net.Send NEW Added IGModAudioChannel:GetAverageBitRate() NEW Added Player.AccountID NEW Added Panel:GetDockMargin & Panel:GetDockPadding – both return 4 numbers NEW Added IMaterial:GetVector that returns proper ‘unclamped’ values NEW Added ProjectedTexture:SetOrthographic NEW Added ProjectedTexture:GetOrthographic NEW Added CNewParticleEffect.Render() NEW Added CNewParticleEffect.SetShouldDraw( bool ) NEW Added CNavArea.__eq NEW Added FFT_32768 FIX steamworks library will no longer cause crashes when called shortly before the Lua state is destroyed FIX Fixed timer library in menu state temporarily ceasing to work after starting a new map FIX Fixed Entity:SetEyeTarget() having no effect on “anim” type SENTs FIX Fixed ‘/**/’ being treated as ‘/*/’ in lua lexer (not closing the comment) FIX Fixed not being able to create more than one font with different scanline sizes but otherwise identical parameters FIX Entity.GibBreakClient will no longer crash when used on brush entities ( Can only be called on non BaseAnimating entities ) FIX cam.Start now supports “poster” console command in 3D mode UPD render.RedownloadAllLightmaps now updates lighting on static props as well UPD EffectData() now resets its member values UPD Vector() * nil will now error instead of returning empty vector UPD Proper NULL checks for most Vehicle class functions to prevent crashes UPD game.LoadNextMap, game.SetTimeScale, game.SetSkillLevel, game.GetTimeScale, game.GetSkillLevel no longer crash when g_pGameRules = null UPD Weapon.GetPrintName is now shared UPD Renamed IMaterial:GetVector to IMaterial:GetVectorLinear UPD Panel.Remove now causes parent to InvalidateLayout UPD Panel.SizeToChildren does not fail to resize to 0 values UPD Angle() global function now works the same way as Vector() global, i.e. Giving it an Angle object will return a copy of it, etc UPD gmod_tool:CheckLimit() is now shared User Interface Panels NEW DIconLayout – Added SetStretchWidth & SetStretchHeight to enable/disable auto stretch of the panel NEW DBinder – Added OnChange hook NEW DColorPalette – added ResetSavedColors & better Paint function to account for children & “networking” of the palette changes NEW DComboBox – Proper sorting and ability to disable it NEW DAlphaBar – better background grid code for super tall sizes NEW DColorMixer – DColorPalette got new right click menu with ability to reset the palette FIX DScrollPanel – Fixed up resizing putting scroll position too far down in some cases FIX MatSelect – Fixed the panel not rebuilding when needed and fixed child size calculation for child sizes less than 1 to take into account spacing and padding FIX DFileBrowser – Fixed Clear() leaving some variables to a chance of inheriting values of a global variable named “_” FIX DPanelSelect – Fixed the panel not restoring old PaintOver()s FIX DTree_Node – Fixed wildcard not properly applying to child elements FIX DListView – Fixed white line in the middle of a line when line height is set to high values FIX DTree_Node (DTree) first expansion will no longer try to expand to a size higher than necessary FIX DLabelEditable – You can no longer use translated strings with this panel (sort of) FIX PropSelect – Auto vertical height support UPD DHorizontalDivider – Many IsValid checks, better handling of resizing to prevent firing PerformLayout every frame UPD DNumSlider – SetDecimals now refreshes the displayed number GitHub changes NEW Added PrintNames to sandbox entities NEW Added snow with normal friction NEW Added derma_controls_menu ConCommand NEW Added Newline support for notification library NEW GWEN* functions now accept material override NEW New spawnmenu hover/selected graphics NEW Added support for mods to be able to add custom Thruster effects FIX Fixed thruster rendering FIX Fixed Sandbox hints being misplaced on low FPS FIX Fixed DTileLayout in derma_controls FIX Fixed spawnmenu dragndrop leaving cursor enabled FIX Fixed CtrlNumPad firing PerformLayout too often FIX Fixed spawnmenu_reload duplicating spawnlists FIX Fixed DTileLayouts SpaceX/Y & Border FIX Fixed OnRowSelected not being called for SHIFT selecting FIX Fixed PropSelect not restoring PaintOver functions FIX Fixed an issue with Browse section FIX Fixed Panel.DoModal breaking DComboBox functionality FIX Fixed main menu map names overflowing FIX Fixed Tool Ghosts being left behind in multiplayer FIX Fixed a stack overflow with DListView FIX Player.CheckLimit will no longer error clientside FIX Fixed string.ToColor with invalid string input FIX Fixed some problems with the cookie library UPD Moved Tool Gun’s PrintName Shared UPD Saves will now save vertical angles and noclip state UPD Improved NPC and ragdoll dupe support UPD Loading saves in singleplayer now restores position UPD Improved Inflator UPD Improved handling of horizontal divider in Q menu UPD Auto refresh now also reloads SWEP bases UPD Updated dragndrop library UPD Renamed DLabelEditable.OnTextChanged to DLabelEditable.OnLabelTextChanged UPD Do not allow editing of nodes that don’t save UPD Do not rebuild the search results so often UPD Prop search now auto updates the search results UPD Cleaned up DPropertySheet + PropSelect UPD Populate spawnmenu tabs as soon as possible UPD Cleaned up more vgui panels UPD Improvements to DCollapsibleCategory UPD Given DAdjustableModelPanel an example UPD Updated DCollapsibleCategory rendering UPD Improved Main Menu scaling for small screens UPD Improved the “bad model” filter for Sandbox UPD Updated color mixer alpha background UPD Improved default spawnicon generation angles UPD Remove prop_effect if its prop_dynamic is deleted UPD Clamped Rope tools’ addlength argument UPD Improved sandbox search UPD Alphabetized cleanup/max menus UPD Fixed some NPCs not being able to be duplicated UPD Better Enabled/Disabled support for DTextEntry UPD Updated Spawnicon generation for certain models UPD Updated Spawnicon Editor TTT Gamemode Changes NEW Added an option to mute all players if you are dead NEW Added missing translations for weapon menu NEW Added a ShouldScore() query at the point where deaths get added. (This helps some addons like the Power Round Addon.) NEW Added hook to set scoreboard row color per player (GM:TTTScoreboardRowColorForPlayer) UPD Bumped TTT version UPD Replaced deprecated function calls with non-deprecated alternatives UPD Major optimizations to start round and WEPS.ForcePrecache UPD Improved Autocomplete UPD Replaced most UniqueID usage with SteamID UPD Updated Traditional Chinese translation UPD Updated German translation UPD Improved some German translations UPD Switched some entities to use new Lua API UPD Corrected some strings in German translation FIX Fixed radio calling out dead players FIX Fixed spectators being able to own weapons FIX Fixed possible script error FIX Fixed rare cl_hudpick error FIX Fixed error when using “wepswitch” concommand FIX Fixed identation in some weapon files FIX Fixed up weapon base file FIX Fixed a small issue and remove some unused things FIX Fixed an issue with the Newton Launcher FIX Fixed hiding crosshair breaking Help UI FIX Fixed Beacon item DEL Removed some unused variables and fixed some smaller things DEL Removed old fretta leftovers DEL Removed unused things DEL Removed unused variable and fixed a small issue Community Contributions NEW Added Undone_Manhack and Undone_Rollermine language strings NEW Added duplicator support to the Eye Poser tool NEW Added large ammo entities to the spawnlist NEW Added alpha support for DModelPanel UPD Moved DTabs in DPropertySheet a bit to fix a visual glitch UPD Replaced deprecated function calls with non-deprecated alternatives UPD SBox+Base: Replaced deprecated function calls with non-deprecated alternatives UPD Refactored DTab height to its own method UPD Made DMenu.AddSpacer use the SKINaintMenuSpacer hook UPD Renamed table for entity outputs in base entity UPD Optimized string.Explode and string.Replace UPD Optimized math.Approach UPD Reversed math.Dist and math.Distance definitions UPD Reused CEffectData in selection_indicator effect FIX Fixed a typo in a comment FIX Fixed a tiny spelling mistake in a comment FIX Fixed backwards bunnyhopping FIX Fixed entity autoreload not updating children FIX Fixed DCollapsibleCategory animation sometimes not finishing FIX Fixed multiple issues with DCollapsibleCategory FIX Fixed SKINaintListView not respecting PaintBackground property FIX Fixed debug.Trace formatting FIX Fixed TOOL.GetClientNumber accepting strings as the default value FIX Fixed DImage erroring while being drag’n’dropped FIX Fixed info_player_deathmatch having a higher chance of being selected as a spawnpoint FIX Fixed a problem with Bodygroups property and its interaction with 3rd party mods DEL Removed SWEP.Precache DEL Removed unused variable DEL Removed useless nil check in DNumSlider Continue reading...