767 Commits over 2,710 Days - 0.01cph!
Fully remove timers when medkits are removed (#1942)
Simplify gmod_tool concommand code
Call TOOL:ReleaseGhostEntity on holster even when TOOL:Holster doesn't
Make string.ToTable work with numbers again
Fixes garrysmod-issues/issues/5399
base_gmodentity:GetPlayerName doesn't return nils
Fixed ipairs being nil and GetOverlayText erroring (#1937)
* Fixed ipairs being nil
* Fixed GetOverlayText erroring when nw string is nil
Fix eye poser slider going outside of its bounds
Minor changes to internals of Derma_Install_Convar_Functions
DSlider ConVar support, added OnValueChanged( x, y )
Fix race condition in eyeposer when resetting a selected entity
use table argument for string.Interpolate (#1933)
Using table argument is actually faster.
Here's the proof (Format - string.format; Interpolate is string.Interpolate in current version, and interpolate2 string.Interpolate in this pull request)
https://media.discordapp.net/attachments/1033513273548611705/1065740111842639983/image.png?width=175&height=67
[Localization] Fixed typo (#1931)
TTT: update Ukrainian translation (#1932)
Update cfg/ from main repo
Use string.format in other SendLua cases
Get rid of "Sorry! You can't spawn that NPC!" message
No other spawn command does this
Added ToolObj:RebuildControlPanel
Cache tool created cvars and use em
Use the cache in ToolObj:GetClientInfo/ToolObj:GetClientNumber/ToolObj:GetServerInfo in appropriate realms
Added ToolObj:GetClientBool
Improve TOOL.Information display
Should be tiny bit faster and doesn't modify TOOL.Information
Faceposer uses new function & clean up
New way to move EyePoser, click and drag panel (#1918)
* New way to move eyes, click and drag panel
When selecting the eyes of an entity by right clicking it is possible to:<br>
Set the position from where you are looking through a panel; <br>
Where it is also possible, I left a squint, in or out. <br>
<br>
Did not understand? See the <br>
Demo video: <br>
https://user-images.githubusercontent.com/28203966/197897650-18053b35-84e9-4527-974b-8068f7f0bc71.mp4
Toolgun bug fixes (#1739)
I noticed that there is a bug where the toolgun does not call Deploy on the first tool that is selected (both realms, so it's not a prediction thing), it's a simple fix. The bug is caused by SWEP:GetToolObject() being called before SWEP:Think(), which sets SWEP.Mode.
Also fixed Holster being called twice in the name of releasing ghost entities.
And finally, I have also re-enabled ToolObj:Allowed() on the client as FCVAR_REPLICATE now works for Lua ConVars.
Fix Pull Request #1728
Couldn't do it in the Pull Request itself sadly.
Improved DAdjustableModelPanel movement (#1728)
fix escapeables (#1930)
* Update player_extension.lua
* use string.format
Co-authored-by: Rubat <3299036+robotboy655@users.noreply.github.com>
Fixed a regression caused by PR #1609
Faster string path extension methods
Do not use string metatable methods in string extensions
Apparently its faster this way
A few string lib optimizations (#1812)
* A few string lib optimizations
* Undo problematic changes
StripExtension changes caused regressions with dots in folder names
string.GetPathFromFilename changes caused severe performance loss when given a file name over a file path.
Co-authored-by: Rubat <3299036+robotboy655@users.noreply.github.com>
Add string.Interpolate (#1480)
* Add string.Interpolate
* Throw error if lookup for key fails
* Get rid of the assert
* Simplify code
Co-authored-by: sanny <sannysc@users.noreply.github.com>
Co-authored-by: Rubat <3299036+robotboy655@users.noreply.github.com>
Simplify GM:OnUndo implentation
TTT: fix zoom keybind handling (#1929)
Call net.Receive "editvariable" once outside InstallDataTable (#1793)
Allow weapons and entities to set their own classname (#1299)
"How could this possibly be useful?" Some weapons and entities are made to override ones created in the map, or default engine entities. A CS:S weapon pack would do this to make weapons on CStrike maps usable, however, sometimes class names will conflict with other addons that attempt to do the same thing. I made a convar in my weapon/entity pack to let the server owner decide whether to override default entities with SENTs or SWEPs, and this setting is taken into account when creating the weapon. I currently have to use a nasty __newindex hack to get the ClassName overwritten since weapons/ents.Register will force the name of the file upon the weapon, and this simple change will remove the need for that while not breaking any addons. The engine does the same exact thing with LINK_ENTITY_TO_CLASS since it manually sends in what it wants the entity class name to be, which is almost always different than the file name.
Add Server Operator Rules to Legal in options tab (#1911)
* Add Server Operator Rules to Legal in options tab
Added modding guidelines, community server and hosting guidelines, as well as the server operator guidelines to the legal tab in options, which was previously not made aware before. It's important to note, the server operator guidelines are not linked anywhere on Facepunch's legal section of the Garry's Mod website.
* Add gmod_modding, gmod_servers, gmod_sor commands
These commands will open the appropriate legal content.
* Get rid of redundant "Server Guidelines" button
Co-authored-by: Rubat <3299036+robotboy655@users.noreply.github.com>
Add translations for Limit and Cleanup hints (#1761)
* Translations for Limit and Cleanup hints
Code copied from 6485daa50a2faf898a16e5e17a3f05ff7005884e
Related to Facepunch/garrysmod-issues#4781
* Fix mistake
Co-authored-by: Rubat <3299036+robotboy655@users.noreply.github.com>
Optimize some points (#1609)
* pairs -> ipairs
in places where the table is only a numeric orderly table
* new vector -> modify vector
Thanks ExtReMLapin
* micro oprimization
* string.Implode -> table.concat
* string.Implode to concatenate
* string.Implode -> table.concat
* micro optimize ScrW, ScrH calc
* a little better readability
Okay, it's gonna be like this.
* revert -> table.concat
* some changes
* resolving confict
* resolve confict
* resolve confict
* Fix unresolved
* Localized children table and little changes
One self.ChildNodes:GetChildren() call to locale
using a cheap method of calculating the length of a serial array
* Resolve confict
* Using the usual numerical for
There is no need to spend time on comparison every time, when you can just walk through the cycle to the penultimate element and say that it is not the last one, and then take the last element from the table and tell it that it is the last one.
* Let's not create new vectors to create a box.
* Added the math.ceil
that has been lost in past changes.
* A more readable MakeNiceName (#3)
* A more readable MakeNiceName
* Use string library instead of string methods
* Performance Enhancements
Co-authored-by: JarosLucky <snyashka@gmail.com>
* Fix extra "end" in outputs.lua
* Remove useless changes
* Fix usage of non existent function
Co-authored-by: CornerPin <cornerpinart@gmail.com>
Co-authored-by: Rubat <3299036+robotboy655@users.noreply.github.com>
Fix a crash with DListView fractional column width
Fixes garrysmod-issues/issues/5334
Added second argument to string.Comma (#1925)
added the option to convert any string inserted as second argument into a custom pattern
Improve string.JavascriptSafe
Update mainmenu.lua
If hud is disabled don't show lua error messages (#1917)
* If hud is disabled don't show lua error messages
Don't draw MenuDrawLuaErrors when hud is off in cl_drawhud
Fix word break for addon descriptions (#1916)
Fix markup alignment inconsistency (#1924)
Make markup text alignment respect the actual size of the object instead of the maximum size
Fix tooltip height position miscalculation with newlines. (#1912)
Removed useless varargs (#1921)
replace all usage of self.Owner with self:GetOwner (#1919)
Prop Spawn effect doesn't break other RenderOverrides
Remove extra unused arguments to prevent confusion
TTT: PT-BR minor translation updates (#1915)
TTT: tweak traitor button hint text (#1909)
Change "sec" to "seconds"
TTT: Add Ukrainian translation (#1910)
Add `util.IsBinaryModuleInstalled` (#1896)
Added support for Colors to table sanitization (#1885)
Also added 0's to the first argument of these, due to the fact that if the first argument of a vector/angle/? is set to NIL, then ALL the values will be 0.
This is probably due to the check where it tries to convert a string/function/? to a vector/angle/?
This is quite important because if you had Vector(0,1,2) and you sanitised it, the sanitisation replaces all 0's with nil, and your vector will break since the first value is 0 (nil now):
```lua
tbl[ k ] = Vector( v.x or 0, v.y, v.z )
```
and
```lua
tbl[ k ] = Angle( v.p or 0, v.y, v.r )
```
Have also made the nilled values of Color to 255 instead of 0, as 255 is going to be the most common number in a Color, especially in the alpha channel, and will save on data
Make NPC vs NPC killicon consistent with NPC vs Player
Add canvas IsValid check to dragndrop (#1902)
Prevent errors when the selection canvas is struggling before we call any functions on an invalid panel.
Added: Support for typing disable for text boxes (#1897)
* Added: Property read only to derma properties base
Co-authored-by: Rubat <3299036+robotboy655@users.noreply.github.com>
TTT: change comment (#1903)
Update language files
Fix vehicle collision group post dupe
Group NPC weapons by category
makes easier to see what's what
Added "Select Page" button to addons menu
Server Browser changes
Infinite scroll, "Outdated" now uses network version
Derma_Install_Convar_Functions no longer ties to set empty cvars
Fixed a visual bug with Lua error panel in Problems menu
Post PR cleanups
Add string.StartsWith (#1867)