Garry's Mod Wiki

Revision Difference

Update_Preview_Changelog#551034

<cat>Play</cat> <title>Update Preview Changelog</title> This page contains upcoming changes to the game in the next update. The update date is available on the Steam News section for Garry's Mod. The update is already accessible on the `prerelease` and `dev` [beta branches](Dev_Branch). # Game Changes ## Additions * Added ability to invert colors in `Colour Modify` in spawnmenu ## Fixes * Create a world entity for naughty maps that are engineered to crash on load by not spawning the `worldspawn` entity * Fixed a crash when deleting `npc_manhack` too early * Batch server Workshop download queries to 50 addons at a time, which should fix addons past 100 not loading when joining servers * Fixed "Join Game" feature not working due to recent Steam update ## Changes * Experimental: Completely removed Lua file limit for singleplayer * Game binaries are now code signed on windows * Better names for Texturize shader options in spawnmenu (Community Contribution) * Delete `materials/temp/` and `sounds/temp/` folders on game launch and shutdown * Added `gmod_delete_temp_files`, defaults to 1, which controls the behavior above * Refresh main menu subscription lists (addons, dupes, etc) if they are open when subscriptions change ## TTT Changes * Nothing so far. # Technical Changes ## Additions * Added Half-Life: Source difficulty configuration files * Added `filter_activator_context` and `filter_activator_model` entities * Changing skill level with Lua or the convar also runs/loads the appropriate skill config files * Added full support for Static Prop Lightmaps * Added `$phong`, `$envmapLightScale` and `$envmapLightScaleMinMax` parameter support for `LightmappedGeneric` shader * Added `$phongAlbedoBoost` parameter to `VertexLitGeneric` shader * Added `$phongDisableHalfLambert` parameter to `VertexLitGeneric` shader * Added `$pp_colour_inv` to `g_colourmodify` shader * Added `$envmapsphere` parameter to `VertexLitGeneric`, which restores how Half-Life: Source chrome materials render * Added input/output descriptions to "Entity Properties" window in Hammer * Added `prop_sphere` to Hammer and added `radius` keyvalue to it * Added `func_friction` to Hammer ⤶ * Added 6 new inputs to all entities * SetLocalOrigin * SetLocalAngles * DisableDraw * EnableDraw * DisableReceivingFlashlight * EnableReceivingFlashlight * Added "Disable flashlight" keyvalue to all entities in Hammer * Added new inputs/outputs to `func_tracktrain` * SetMaxSpeed * MoveToPathNode * TeleportToPathNode * LockOrientation * UnlockOrientation * OnArrivedAtDestinationNode (Output) * Added the following particle initializers * Position Along Ring * Position Along Epitrochoid * Position Modify Place On Ground * Position From Chaotic Attractor * Scalar Random * Vector Random * Vector Component Random * Set Hitbox to Closest Hitbox * Set Hitbox Position on Model * Velocity Set from Control Point * Remap Particle Count to Scalar * Added the following particle operators * Remap Direction to CP to Vector * Added the following global particle attributes * screen space effect * normal * Visibility input dot min/max * Visibility input distance min/max * Added `"render models"` particle renderer * Added "hitbox" and "hitbox set" parameters to: * Position on Model Random (initializer) - also `hitbox scale` is now `model hitbox scale` * Movement Lock to Bone (operator) * Cull relative to model (operator) ## Fixes * Fixed "last known <page>CNavArea</page>" not updating for players, which is used by some internal nextbot functionality, and some <page>navmesh</page> editing functionality * Potential fix for `sv_parallel_sendsnapshot` and `sv_parallel_packentities` crashing the server randomly * Spawnmenu search properly invalid input from addons, instead of erroring * Workaround fix for `"../data/whatever"` <page>Global.Material</page> paths not working on Linux when `garrysmod/materials/` folder is missing * Fixed `gmpublish` on Linux not working out of the box * Fixed Particle Editor Model Picker not applying picked model * Fixed certain NPCs that create entities crashing when the server is at the entity limit * Prevent Lua errors in Sandbox tools & constraint library when the server is at the entity limit * `removeid` concommand now works as expected with <page>Global.RunConsoleCommand</page> * Fixed `toggle_duck` console command in multiplayer⤶ ## Changes * Do not set PANEL.ClassName in <page>vgui.CreateFromTable</page> to a missing variable (Community Contribution) * Do not set `PANEL.ClassName` in <page>vgui.CreateFromTable</page> to a missing variable (Community Contribution) * Minor tweaks to <page>cvars</page> library internals (Community Contribution) * Increased view model networking limitations, notably bodygroup combinations⤶ * <page>Editable Entities</page> editing now uses <page>net.WriteEntity</page>, not a 32bit <page>net.WriteUInt</page> (Community Contribution)⤶ * Doubled particle precache limit⤶ ## Deletions * Nothing so far. # Lua API Changes ## Additions * Added <page>ProjectedTexture:SetLightWorld</page> and <page>ProjectedTexture:GetLightWorld</page> * Added <page>Global.CreateParticleSystemNoEntity</page> * Added <page>CNavArea:GetSpotEncounters</page> * Added <page>CNavArea:GetVisibleAreas</page> * Added <page>surface.GetTextPos</page> * Added <page>engine.AbsoluteFrameTime</page> * Added <page>render.RenderFlashlights</page> * Added flags of the world to <page>DIconBrowser</page> (Community Contribution) * Added <page text="EF_NOFLASHLIGHT">Enums/EF</page> * Added <page>Weapon:GetDeploySpeed</page> to all weapons * Added <page>Weapon:SetDeploySpeed</page> to all weapons ## Fixes * Fixed <page>file.Find</page> ignoring `"Copy ("` files * Fixed <page>game.SetSkillLevel</page> always being forced to the value of `'skill'` convar * Apply cyclic parent hierarchy stack overflow fix to clientside <page>Entity:SetParent</page> * Reset value of <page>render.SetLightingMode</page> on map shutdown * Reset <page>render.EnableClipping</page> to `false` on map shutdown * Make <page>file.Exists</page> return correct values for folders in Lua paths * <page>util.DecalEx</page> now also affects static props * Increased networked bits for player flags so <page>Player:HasGodMode</page> is now networked to clients properly⤶ ## Changes * Made <page>util.IsOBBIntersectingOBB</page> shared * <page>game.CleanUpMap</page> now respects the `EFL_KEEP_ON_RECREATE_ENTITIES` flag * Made <page>Entity:SetHealth</page> have an effect clientside for prediction purposes * <page>Entity:FireBullets</page> calls <page>WEAPON:DoImpactEffect</page> on active weapon serverside to mimic clientside behavior * Added safeguards against not popping <page>render.PushCustomClipPlane</page>s * <page>util.GetModelMeshes</page> now accepts "00000000" format bodygroups * <page>CNewParticleEffect:SetControlPointOrientation</page> can now accept an <page>Angle</page> instead of 3 directional <page>Vector</page>s * Made <page>Global.FrameNumber</page> shared * <page>DGrid</page> now works correctly with <page>Panel:Clear</page>, and ignores invisible items (Community Contribution) * <page>DListView_Column:SetFixedWidth</page> sets the column width immediately (Community Contribution) * <page>Player:IsWorldClickingDisabled</page> is now properly networked to client⤶ * Removed networking limits for <page>Player:SetFrags</page> and <page>Player:SetDeaths</page>⤶ * Reduced <page>net.WriteEntity</page>/<page>net.ReadEntity</page> from 16 bits to 13 bits (Community Contribution)⤶ * Made <page>Entity:CreatedByMap</page>, <page>Entity:MapCreationID</page> and <page>Entity:GetCreationID</page> networked and shared⤶ * <page>Entity:SetFriction</page> now affects players⤶ * Following functions will no longer return <page>nil</page> **when used on invalid entities**, and will return `0` instead: * <page>Entity:GetNumPoseParameters</page> * <page>Entity:GetHitBoxGroupCount</page> * <page>Entity:GetHitBoxCount</page> * <page>Entity:GetBodygroupCount</page> * <page>Entity:GetSkin</page> * <page>Entity:GetSequence</page> * <page>Entity:GetNumBodyGroups</page> * <page>Entity:GetSequenceGroundSpeed</page> * <page>Entity:GetSequenceMoveDist</page> * <page>Entity:GetModelContents</page> * <page>Entity:GetLayerDuration</page> * <page>Entity:GetLayerWeight</page> * Special Cases: * <page>Entity:GetBoneCount</page> - used to return `-1`, now returns `0` * <page>Entity:GetPlaybackRate</page> - returns `1` * <page>Entity:GetBoneName</page> - returns `__INVALIDBONE__` * <page>Entity:GetSequenceActivity</page> - returns `-1` * <page>Entity:GetSequenceVelocity</page> - returns `vector_origin` * <page>Entity:GetLayerPlaybackRate</page> - returns `1` * Return empty string on failure: * <page>Entity:GetPoseParameterName</page> * <page>Entity:GetSequenceName</page> * <page>Entity:GetSequenceActivityName</page> * Reverted "Allowed weapons and entities to set their own classname" as it was causing issues⤶ ## Deletions * Nothing so far.