Releases: RaphaelIT7/gmod-holylib
Release 0.6.1 (HotFix)
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
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
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
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
[+] 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
[+] 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
First Release :D
If anything is broken, please open an issue for it, or if you have any suggestions.