2 stories

5 stories

nighty on LuaJIT versions, a lua_shared fork and Jolt physics

In #developer-talk, nighty said the main branch uses LuaJIT 2.0.4 and the x86-64 beta uses LuaJIT 2.1 beta 3. Zaurzo added that 64-bit main uses the same LuaJIT as x86-64. nighty described his lua_shared fork: it targets a custom language but should run existing GMod Lua exactly like stock, and isn't public yet. Its threading is worker-based, with message passing between separate Lua states. He also showed Jolt physics experiments.

DrawTexturedRectUV change breaks RNDX-based UIs on dev

In #next-update, Zaurzo reported his UI broken on dev. Rubat said it's likely the surface.DrawTexturedRectUV change, and Zaurzo confirmed that was the cause, since RNDX uses the function. He will fix his copy of RNDX, and suggested the new behaviour may need to go behind an argument since it's "already starting to break shit".

Details

The thread turned to RNDX's author: puffy asked whether Srlion still works on his GMod projects, Nykez said "no, he quit", and Astralcircle noted he left the GMod Discord too.

Artemking4 argues Mesh:DrawSkinned should allow bone 0

In #next-update, Artemking4 said IMesh:DrawSkinned can't use all 53 matrices: it's off by one and wrongly errors on the last bone. Rubat replied that matrix 0 is reserved by the engine as far as he remembers, so DrawSkinned gets 1–52. In his tests, setting matrix 0 did nothing or caused issues. Artemking4 disagreed: bone 0 is a normal bone that also serves as the model matrix for unskinned vertices, and his patched client.dll renders models almost perfectly with it.

4 stories

Autorefresh reworked on dev; Rubat explains how to debug it

In #next-update, Gonzo Pipi said Lua autorefresh stopped working for him on 64-bit dev (Windows 11 26H2) and asked how to debug it. Rubat said he added a console print for when autorefresh will certainly not work. On Windows there may be debug output, visible by attaching a debugger such as Visual Studio or WinDbg. Autorefresh changed in the previous day's dev update; he isn't having issues himself.

InitPostEntity hooks not running traced to an addon returning a value

In #next-update, DMatter04 reported that some addons' InitPostEntity hooks added with hook.Add never run, breaking addons such as Custom FOV. homonovus suggested an addon returns a non-nil value from its hook, and Zaurzo posted a lua_run snippet to find it. On 22 Oct DMatter04 found the culprit, lua/autorun/ultrakill_test_soulorbs.lua from "[DrGBase] ULTRAKILL - Enemies - Act II & Act III", using Zaurzo's whereis tip, and Zaurzo suggested asking the author to fix it.

A whole game ported into GMod; TankNut eyes the original Ace of Spades

In #developer-talk, Redox shared a project "made in gmod" that ran smoothly with a group of players. TankNut, after looking at it, said "they've decompiled the game and ported it wholesale". A1steaksa said he isn't impressed if it's AI-made, while Redox said it's too polished to be pure slop. TankNut added he is more interested in the original Ace of Spades than "the Jagex abomination".

7 stories

Rubat: BASS can move a playing sound; the engine's sound system can't

In #lua-help, A1steaksa asked how to move a sound while it plays without attaching it to an entity, since CSoundPatch has no SetPos and needs an entity. homonovus thought it impossible without an entity. Rubat said the BASS audio system can do it but the engine sound system cannot.

Details

A1steaksa is also decoding old WAVE files by hand; Rubat asked for a sample, saying the only common format he hadn't tested with "my thing" is ADPCM, and A1steaksa's file was IMA ADPCM (format 0x11).

Nak explains his navigation system's pathfinding

In #developer-talk, Nak explained his navigation system to Zemen. It runs a double A* search from start to goal and from goal to start, meeting in the middle ("a trick GPS use"). The search tracks polygon entry points, and the system reads the map's AIN info_nodes. NPCs such as the 200 antlions in his video run a "dumb" AI while waiting for a path, so they seem to react immediately.

2 stories

Evgeny Akabenko asks Facepunch to publish the source of its own shaders

In #next-update, Evgeny Akabenko asked Rubat to publish on GitHub the source of GMod's own, non-Valve shaders: g_bloom, g_blurx, g_blury, g_bokehblur, g_colormodify, g_downsample, g_morph, g_premultiplied, g_refract, g_screenspace, g_sharpen, g_sky, g_sobel, g_sunbeams and g_texturize. not.ejay noted they could already be decompiled half decently with vcs-decompiler, but saw no reason not to publish them.