Skip to content

Releases: RaphaelIT7/gmod-holylib

Release 0.6.1 (HotFix)

29 Oct 19:54
Compare
Choose a tag to compare

Changes

  • [#] Fixed a bug with vprof that caused undefined behavior / made gameevent.Listen not work.
    The gameevents were fired but the lua callback failed to be called.

Release 0.6

29 Oct 15:11
Compare
Choose a tag to compare

Changes

- [+] vprof module now works on 64x
- - [#] Also fixed vprof itself on 64x / Solved Facepunch/garrysmod-issues#6019
- [+] Added HolyLib.SetSignonState, HolyLib.InvalidateBoneCache function and the HolyLib:PostEntityConstructor hook.
- [+] Added steamworks.ForceAuthenticate to steamworks module.
- [+] Added cvar.Unregister to cvars module.
- [+] Added physenv module.
- - [#] Implemented a fix for Facepunch/garrysmod-issues#642
- [+] Added vprof library to vprof module.
- [+] HolyLib:On[Generic/Model]PrecacheFail hooks now also allow you to change the fallback.
- [#] Model and Generic precache now fallsback to -1 instead of 0 by default.
- - [+] Added holylib_precache_[model/generic]fallback to change the fallback if wanted.
- - [#] Models now will be errors if they fail to precache.
- [#] util.AsyncCompress/Decompress now use two seperate threadpools(You can change their size with the new convars).
- [#] Fixed a small reference leak in util.AsyncCompress/Decompress. The function was leaked so it's not too big.
- [#] Extented vprof to include two more functions that call hooks.
- - gameevent.Listen callbacks and Gamemode startup hooks should now also show up.
- - Gamemode startup hooks that are now included are: GM:CreateTeams, GM:PreGamemodeLoaded, GM:OnGamemodeLoaded, GM:PostGamemodeLoaded and GM:Initialize.
- [#] Fixed a bug in vprof that caused CallWithArgs to show up.
- - shouldn't be a thing since CallFinish should always be called after it.
- [#] VoiceData:GetUncompressedData got the decompressSize argument.
- [#] Fixed VoiceData:GetUncompressedData always erroring (#11)
- [#] Fixed Steam3Server symbol.
- [#] Fixed ghostinj crashing on shutdown on 64x.
- [#] Implemented a fix for Facepunch/garrysmod-issues#6031

You can see all changes here:
Release0.5...Release0.6

QoL updates

  • [#] Cleaned up module code a bit.
  • [#] Replaced duplicate code with macros.
  • [#] Fixed many warnings.

Release 0.5

02 Oct 07:14
Compare
Choose a tag to compare

Changes

- [+] Added voicechat module
- [+] Made pas work on 64x
- [+] Added IGameEvent class and a few new functions to the gameevent library.
- - gameevent.Create
- - gameevent.FireEvent
- - gameevent.FireClient
- - gameevent.DuplicateEvent
- - gameevent.BlockCreation
- [+] Also added sourcetv.FireEvent and HLTVClient:FireEvent.
- [+] Added a few new functions to the holylib library.
- - HolyLib.FadeClientVolume
- - HolyLib.ServerExecute
- - HolyLib.IsMapValid
- - HolyLib.EntityMessageBegin
- - HolyLib.UserMessageBegin
- - HolyLib.MessageEnd
- - HolyLib.BroadcastCustomMessage
- - HolyLib.SendCustomMessage
- [+] Added two new functions to the stringtable library.
- - INetworkStringTable:SetPrecacheUserData
- - INetworkStringTable:GetPrecacheUserData
- [+] Added the HolyLib:GetGModTags hook.
- [+] Added util.FancyTableToJSON function.
- [#] Fixed my debug system not working as expected.
- [#] holylib_filesystem_predictexistance is now disabled by default.
(Enable it if you know that your content is managed properly)
- [#] Experimentally readded HLTVClient:SendLua (Doesn't crash anymore but also doesn't work clientside yet)
- [#] INetworkStringTable:SetStringUserData now has a length argument. Be careful if you should use it.
- [#] INetworkStringTable:GetStringUserData has a second return value. It now also returns the length.
- [#] pas.TestPAS now supports Entities as arguments.
- [#] stringtable.DeleteAllStrings now has a second argument.
- [#] The thread used for util.AsyncCompress/Decompress is now only started if thoes functions are actually called.
- [#] INetworkStringTable:DeleteString will now also delete the precache data if you use it on one of the precache tables.

You can see all changes here:
Release0.4...Release0.5

QoL updates

- [#] Fixed error handling being unstable in some cases
- [#] Fixed Custom Userdata having no proper arg errors.
- [#] Hid the Player will be stuck message from surffix behind debug mode.
- [-] Removed useless SDK files / small cleanup.

Release 0.4

12 Sep 07:47
Compare
Choose a tag to compare

Next Update

- [+] Added systimer module.
- [+] Added two new filesystem functions.
- - filesystem.Create
- - filesystem.Access
- [+] Added partial Linux 64x support.
- - bitbuf
- - concommand
- - cvars
- - holylib
- - networking
- - serverplugin
- - steamworks
- - stringtable
- - util
- - systimer

- [+] Added a compatibility system for all modules.
Modules that aren't compatible are disabled by default.

NOTE: If some of their functions work, you can still force enable them with their ConVar or with the commandline.

- [+] Added filesystem lua library.
- [+] Added INetworkStringTable:Set/GetNumberUserData.
- [+] Added steamworks.ForceActivate to mimic the engine.

- [#] Fixed surffix module not actually working
- [#] Fixed a crash in the surffix module when noclipping thru a player.
I forgot to pass the first argument to Gmod which caused this issue.

- [#] Future improved the filesystem my reducing the usage of std::string.
- [#] Fixed up the sourcesdk to not have all these file name differences and fixed a few things
-> (32x)keyvalues.h | (64x)KeyValues.h
- [#] Fixed serverplugins module not removing all detours on shutdown.
- [#] Fixed a few crashes with gameevent module when given invalid input.
- [#] Fixed a potential bug with util.AsyncCompress/util.AsyncDecompress not returning the expected output.
- [#] Fixed Filesystem prediction always failing.
- [#] Fixed Filesystem prediction predicing models like alyx and airboat as missing.
models like models/airboat.mdl and models/alyx.mdl were broken because they aren't organized unlike ANY other file.
They seem to be located in multiple search paths which causes this issue.
- [#] Fixed path command being broken by convars. (I's currently just a workaround)

You can see all changes here:
Release0.3...Release0.4

QoL updates

- [#] Extented vprof to also include calls from CScriptedEntity -> SWEPs, Entity, Nextbot and probably more.
- [#] Changed print formatting

Registered module holylib         (Enabled: true,  Compatible: true )
Registered module gameevent       (Enabled: true,  Compatible: true )
[...]

Release 0.3

31 Jul 19:23
Compare
Choose a tag to compare

[+] Allow one to disable modules on startup with -holylib_enable_[module name] 0
[+] Added a few new hooks

  • HolyLib:OnModelPrecache

  • HolyLib:OnGenericPrecache

  • HolyLib:OnStringTableCreation

  • HolyLib:CheckTransmit

  • HolyLib:OnSourceTVNetMessage

  • HolyLib:OnSourceTVCommand

  • HolyLib:OnSteamDisconnect

  • HolyLib:OnSteamConnect

[+] Added a few new functions

  • stringtable.IsCreationAllowed

  • stringtable.IsLocked

  • stringtable.AllowCreation

  • stringtable.RemoveTable

  • INetworkStringTable:DeleteAllStrings

  • INetworkStringTable:SetMaxEntries

  • INetworkStringTable:DeleteString

  • INetworkStringTable:IsValid

  • pvs.RemoveEntityFromTransmit

  • pvs.RemoveAllEntityFromTransmit

  • pvs.AddEntityToTransmit

  • pvs.SetPreventTransmitBulk

  • util.AsyncCompress

  • util.AsyncDecompress

  • cvars.GetAll

  • sourcetv.IsActive

  • sourcetv.IsRecording

  • sourcetv.IsMasterProxy

  • sourcetv.IsRelay

  • sourcetv.GetClientCount

  • sourcetv.GetHLTVSlot

  • sourcetv.StartRecord

  • sourcetv.GetRecordingFile

  • sourcetv.StopRecord

  • sourcetv.GetAll

  • sourcetv.GetClient

  • steamworks.Shutdown

  • steamworks.Activate

  • steamworks.IsConnected

[+] Added a few new convars

  • holylib_pvs_postchecktransmit

  • holylib_filesystem_optimizedfixpath

  • holylib_filesystem_earlysearchcache

  • holylib_filesystem_forcepath

  • holylib_filesystem_predictpath

  • holylib_filesystem_splitgamepath

  • holylib_filesystem_splitluapath

  • holylib_filesystem_splitfallback

  • holylib_filesystem_predictexistance

  • holylib_filesystem_fixgmodpath

  • holylib_filesystem_debug

  • holylib_concommand_disableblacklist

  • holylib_vprof_exportreport

  • holylib_sv_stressbots

  • holylib_sourcetv_allownetworking

  • holylib_sourcetv_allowcommands

[+] Added a few new commands

  • holylib_filesystem_dumpsearchcache
  • holylib_filesystem_getpathfromid
  • holylib_filesystem_nukesearchcache

[+] Added a few new classes

  • bf_read
  • HLTVClient

[+] Added a few new modules sourcetv, networking, steamworks, cvars, util, vprof and concommand
[#] pvs.AddEntityToPVS, pvs.OverrideStateFlags and pvs.SetStateFlags now also support a table of entities

Release 0.2

14 Jul 16:41
Compare
Choose a tag to compare

[+] holylib_enable_[module] convars now directly enable/disable modules without needing a restart
[+] Added filesystem and pvs module
[#] Fixed a crash on mapchange

Release 0.1

12 Jul 03:56
Compare
Choose a tag to compare

First Release :D

If anything is broken, please open an issue for it, or if you have any suggestions.