Skip to content

September 17th 2021 Changelog

Vuthakral edited this page Jan 13, 2022 · 1 revision
  • Global: Added global table "Draconic", for other addons to be able to properly detect if the Draconic Base is enabled or not.
  • Glboal: Added DRC lua library basis. Started conversion of old global functions into DRC() functions.
  • Global: New lua function: DRC:AddText(player ply, table table) -- serverside/networkable version of https://wiki.facepunch.com/gmod/chat.AddText -- usage example: DRC:AddText(<player>, {Color(200, 200, 200), "This colour is ", Color(255, 0, 0), "red", Color(200, 200, 200), "!")
  • Global: New lua function: DRC:GetColours(entity ent, bool rgb) -- Returns a table of the specified entity's set Draconic colours. If bool "rgb" is true it will return in a 0-255, if false it will return in 0-1 decimal.
  • Global: Lua function change, DRCSound() -> DRC:EmitSound(). DRCSound still exists, but redirects to DRC:EmitSound(). May remove the former in the future.
  • Global: DRC:EmitSound() should work in all contexts. (Fix of previous function DRCSound)
  • Debug: Added simple "drc_debug_dropweapon" debug command. Only works with sv_drc_allowdebug set to 1. Currently does not work in multiplayer.
  • Debug: Changed "found attachment value" debug print to only print if cl_drc_debugmode is set to 2 or higher, instead of 1.
  • Weapon Base: Added Firing mode option SWEP.FiringModes_CustomScripted = true/false (default: false). Intended to be used for weapons that may need custom-scripted firing modes & effects. Unblocks all firing mode switches regardless of true/false status to allow for full developmental control though the newly added function:
  • Weapon Base: Added function: SWEP:DoCustomFireMode(mode). Example usage to add to a weapon: function SWEP:DoCustomFireMode(mode). This function will allow you to define any kind of functionality you want with the firing mode system. The base cycles through from "Semi" -> "Auto" -> "Burst" -> (repeat). These are the three strings that will pop up in the mode argument of this function.
  • Weapon Base: Added code for weapons to play "initial" draw animations via activity ACT_VM_DRAW_EMPTY.
  • Weapon Base: Added code for Draconic weapons to reset their "readied" status when dropped, making the next player to pick them up play an initial draw animation.
  • Weapon Base: Added support for unique overcharge fire animation on guns, utilizes act ACT_SPECIAL_ATTACK1 -- It falls back to ACT_VM_PRIMARYATTACK if it doesn't exist.
  • Weapon Base: Added experimental nZombies support for pack a punch functionality. Unfinished. Check shared.lua near the bottom of the script to see how it's used. May or may not work. Just contact me if you run into issues & I'll work on fixing any issues.
  • Weapon Base: Fixed weapons that utilize dualaction or dualheld overcharge types being able to fire as fast as the user can click.
  • Weapon Base: Added SWEP.Secondary.ScopeYOffset -- Used to raise/lower the upper half of the scope if the image itself is not uniform & is uncentered.
  • Weapon Base: Added SWEP.Secondary.ScopePitch -- Used to raise/lower the crosshair/aim while using sights.
  • Weapon Base/Global: Fixed bullet profile damage scaling not applying proeprly in all contexts.
  • Weapon Base: "CallShoot(mode)" is now "CallShoot(mode, ignoreimpossibility)"; ignoreimpossibility is a bool value which will tell the base to fire regardless of if CanPrimary/SecondaryAttack dictates true or false. This also fixes the issue with inconsistent burst-fire amounts.
  • Weapon Base: Added function: SWEP:DoCustomFireMode(mode). Example usage to add to a weapon: function SWEP:DoCustomFireMode(mode). This function will allow you to define any kind of functionality you want with the firing mode system. The base cycles through from "Semi" -> "Auto" -> "Burst" -> (repeat). These are the three strings that will pop up in the mode argument of this function.
  • Weapon Base: Added code for weapons to play "initial" draw animations via activity ACT_VM_DRAW_EMPTY.
  • Weapon Base: Added code for Draconic weapons to reset their "readied" status when dropped, making the next player to pick them up play an initial draw animation.
  • Weapon Base: Added support for unique overcharge fire animation on guns, utilizes act ACT_SPECIAL_ATTACK1 -- It falls back to ACT_VM_PRIMARYATTACK if it doesn't exist.
  • Weapon Base: Added experimental nZombies support for pack a punch functionality. Unfinished. Check shared.lua near the bottom of the script to see how it's used. May or may not work. Just contact me if you run into issues & I'll work on fixing any issues.
  • Weapon Base: Fixed weapons that utilize dualaction or dualheld overcharge types being able to fire as fast as the user can click.
  • Weapon Base: Added SWEP.Secondary.ScopeYOffset -- Used to raise/lower the upper half of the scope if the image itself is not uniform & is uncentered.
  • Weapon Base: Added SWEP.Secondary.ScopePitch -- Used to raise/lower the crosshair/aim while using sights.
  • Weapon Base/Global: Fixed bullet profile damage scaling not applying proeprly in all contexts.
  • Weapon Base: "CallShoot(mode)" is now "CallShoot(mode, ignoreimpossibility)"; ignoreimpossibility is a bool value which will tell the base to fire regardless of if CanPrimary/SecondaryAttack dictates true or false. This also fixes the issue with inconsistent burst-fire amounts.
  • Weapon Base: Fixed an issue where NPCs could not fire weapons with only one round per magazine/reload.
  • Weapon Base: Applied "Iron Cooldown" to exiting sights, was previously only applied to entering sights. This prevents the abuse of the "infinite zoom" glitch.
  • Weapon Base: Testing an experimental band-aid to the sight desync issue.
  • Weapon Base: Made weapons automatically switch out of passive AKA safety mode when equipping them, to make them less annoying in combat. This will later be updated with a client-setting system for choice of preference for "unholster", "holster", "do nothing".
  • Weapon Base: Made weapons play their fp zoom out sound when starting a reload while sights are down.
  • Material Proxies: Added material proxy "drc_CurBloom"; effectively a lerped version of drc_CurCharge, but it pulls the weapon's bloom from 0-1.
  • Material Proxies/Global: Added a hook which checks if the cubemap samples are valid or not, and if it is not it will run the function again. If it is valid, the hook self-terminates. This is used to fix the rare & unpredictable problem where the base fails to collect cubemap information during the game initialization phase.
  • Material Proxies: Testing new method for envmap scaling with the ReflectionTint material proxies which should produce more accurate results primarily in LDR, but also provide a better range of luminosity scaling in HDR. For player/draconic colour reflection tint proxies, these currently do not apply to ragdolls. After I've seen the new method in action long enough without issue I will update the render code for ragdolls.
  • Material Proxies/Global: Made weapons given to/spawned by a player inherit the player's draconic colours. This makes develoeprs able to use all the extended colours on weapons, as well as have them apply even when the weapon is dropped & picked up by another player.
  • Material Proxies/Global: Un-f*@$ed the player colour values so they all scale from 0-255 now instead of varying with 0-1 or 0-255.
  • Material Proxies: Added specific check for viewmodels in all ReflectionTint proxies, which ties in with the above note, allowing those colour channels to work seamlessly with their respective reflection tints.
  • Material Proxies/Global: Fixed assignment of energy colour to players/ragdolls, they're no longer overbright.
  • Material Proxies: Made preview models in the Draconic Playermodel menu scale their cubemap display with the map's ambient average colour, to give a more accurate preview.
  • Material Proxies: Entities which utilize Draconic colours that do not have them defined will now pull colour values from the local player's colours until they are applied to them. This change is done so that mods such as Gmod Legs 3 & View Extension do not just result in a set of fully black textures.
  • Draconic Menu: Made the menu draw at a fixed size of 1200x720. Sorry for anyone playing lower than 720p, but honestly? Get with the times.
  • Draconic Menu: Playermodel preview's lighting colour & directional lighting are now based on the map's ambient lighting colour.
  • Draconic Menu: Rewrote panel scaling to use docks & relative sizing to help with low & ultra-high resolution scaling. Maybe not be prfect. Please report any oddness to me.
  • Draconic Menu: Made the player colour menu use a more traditional gmod-like UI colour scheme to make it easier on the eyes by adding more contrast.
  • Draconic Menu: Made the player colour menu's colour mixers scale more uniform-like, giving a much more clean presentation.
  • Draconic Menu: Added a preview box to the left of each colour mixer to see an exact colour preview.
  • Draconic Menu: Added a tab for saving / loading playermodel presets, named "Saved Avatars". This was very much outside my "coding comfort zone". Please report any issues to me.
  • Addendum note to previous: These saves are stored in garrysmod\garrysmod\data\draconic\avatars\, in the event you want or need to share these with anyone.
  • Projectile Base: Fixed an issue where "point" projectile entity types were often registering one hit twice, resulting in 2x damage than what was intended.
  • Projectile Base: Made projectile explosions just use traditional sound methods in singleplayer, since there's no range limit on them in SP.
  • Projectile Base: Projectile base entities are now part of the projectile collision group, fixing several collision-related issues with multiple-shot projectiles.
  • Projectile Base: Added a time check for the angle update of physical gravity-affected projectiles so the angles only update once per tick, to prevent velocity-set failure.
  • Projectile Base/Global: Fixed projectiles not scaling with bullet profile settings (Syntax change? idk, just stopped working out of nowhere. Fixed now.)
  • Attachment Base: Bullet Profile: Added missing material types: MAT_CHAINLINK, MAT_RUBBERTIRE, MAT_METALVENT, MAT_COMBINE_GLASS, MAT_CARPET
Clone this wiki locally