Garry's Mod Logo
schedule 16 November 2012
Devblog

Garry's Mod - Update 152

I sent a new patch to Valve. It should be live within the next few hours and should address the majority of problems people have been experiencing since the linux code merge.

Fixed scene rendering twice

A huge, embarrassing, code merge related bug. This would explain multiple other bugs people were seeing, like low FPS, iron sights not working and halos sometimes not showing.

Fixed Ironsights

Some Scripted Weapon’s ironsights had stopped working. This was due to results from GetViewModelPosition being stumped by an engine call further down the line. This was another thing that slipped by in the code merge - and has now been fixed.

Fixed clientside entities getting confused

This is hard to explain. When you lag, or start recording a demo, you get a ‘full’ update from the server - and entities are re-created clientside. This is fine for C++ entities, but Lua entities have always counted on the entity table being consistent. But were were re-creating the entity table, and pushing a new reference for the entity. So weirdness happened, especially when comparing two entities to each other (or indexing a table using an entity). This should fix double entries in the scoreboard and voice boxes. It should also fix weapons showing with the wrong name and model (as seen a lot in TTT).

Fixed Faceposer

The faceposer wasn’t working on some models. This simply required the shaders to be re-compiled.

Fixed Bone Manipulator

There was a bug in the bone manipulator which caused your first interaction with it to stretch a bone massively in one direction. I found the bug, and fixed it!

Fixed detail sprites crash

Another weird one. Something has always been wrong with cs_militia. It’s been crashing people for as long as I can remember. This time it was detail sprites. Detail sprites are used commonly for grass in maps. My guess is that cs_militia’s detail sprites are using a different system to GMod’s - because they’re invalid - and were causing ‘failed to lock vertex buffer’ errors (because they were passing in a negative value of quads to render).

Added gui.OpenURL

This function was removed during the beta when we discovered it was possible to feed javascript commands to the steam overlay via it (this was a problem because people were automatically logged into steam related websites - so could do things like subscribe to addons, or add friends). This has been somewhat secured now - so it is once again available.

Version number on menu screen

The version number is now show discreetly on the menu screen. You can click on it to see the Garry’s Mod website and find out what’s new. Although the version number isn’t something that GMod players should generally be worried about - it is useful to have it in a universally accessible place that doesn’t require access to the console.

Updated to LuaJIT latest

If we’ve done this right, it really shouldn’t really affect anything. You might see a slight performance increase in some Lua heavy areas. We’ve got some Lua 5.2 features too.

util.TableToJSON handles recursion

If you passed this function a table, which ended up including itself - it would cause an infinite loop and a crash. This is now fixed.