Skip to content

Changelog December 24th 2024

Vuthakral edited this page Dec 24, 2024 · 1 revision
  • Wiki: Updated some pages, fixed some mistaken info.
  • Draconic Menu: Made the menu follow more standard derma rules, enabling it to be more properly styled by installed gwenskins.
  • Playermodel Extensions: Added ability to use camoflauges from various weapon bases (with permission) on playermodels. An explanation on how to set up a playermodel for this to work will be on the wiki. Currently supported bases for camo are Draconic (obviously) and ARC9.
  • Weapon Base: Fixed muzzle flashes' standard light originating from the worldmodel position when in first person.
  • Weapon Base: Fixed crosshairs only fading out and not in with sights functionality.
  • Weapon Base: Small rewrite to mouse drag weapon sway.
  • Weapon Base: Added SWEP.CameraDrag = true -- set to false to disable Draconic SWEPs from having any scripted dynamic camera motion at all.
  • Weapon Base: Added SWEP.SwayStyle = 1 -- Read next note
  • Weapon Base: Added SWEP.BobStyle = 1 -- 0/1/2/3. 0: Disabled, 1: Default, 2: Half-Life 2, 3: Oldschool
    • 0: Disabled
    • 1: Default Draconic Base sway/bob system
    • 2: Half-Life 2/gmod standard sway/bob via SWEP.SS & SWEP.BS
    • 3: "Oldschool", how 90s & early 2000s games did viewbob & sway. Next values configure oldschool bob, and it is defaulted at parameters that animate like Half-Life 1.
  • Weapon Base: Added SWEP.OldschoolBobRate = 1
  • Weapon Base: Added SWEP.OldschoolBobScale = Vector(0,1,0)
  • Weapon Base: Added SWEP.OldschoolSwayScale = Vector(0,0,0) (The irony is not lost on me that you can use the oldschool style to remake Half-Life 2's bob & sway.)
  • Weapon Base: Added SWEP.ViewModelSightsFOV -- Inherits default Viewmodel FOV when left undefined, if defined it will lerp the viewmodel fov into this number when using sights.
  • Weapon Base: Added SWEP.ViewModelSightsFOVAlt -- Inherits SightsFOV when left undefined, if defined it will lerp the viewmodel fov into this number when using sights.
  • Weapon Base: Added SWEP.SightsSS = 0.25 -- in-sights sway scale, defaulted at 0.25 to match the old hardcode.
  • Weapon Base: Added SWEP.SightsBS = 0.1 in-sights bob scale, defaulted at 0.1 to match the old hardcode.
  • Weapon Base: Added SWEP.Secondary.IronsDrawCrosshair = false -- set to true to stop the crosshair from fading out when using ironsights.
  • Weapon Base: Added SWEP.Secondary.IronBlur = false -- set to true to enable forward blur from scopes in ironsights.
  • Weapon Base: Added SWEP.Secondary.SightsBlurMul = 1 -- multiplier for foward blur from sights.
  • Weapon Base: Added SWEP.Secondary.ScopedAlt = false -- when set to true alternate sights will use the the 2D scope.
  • Projectile Base: Added ENT.GravityArtificial = Vector() -- does nothing unless a vector is defined. Artificially adds a force of world-relative velocity to the entity.
  • Projectile Base: Added ENT.DoNotAffectSimilar = true -- Prevents explosive projectiles from physically launching other projectiles of the same class as the originating projectile. (i.e. a missile barrage will not force other incoming missiles of the same entity type to launch away.) Set to false if this is intended/expected behaviour.
  • Light Volumes/Internal: Added additional argument to DRC:LightVolume(ent, att, colour, length, width, quality, addang, mat, posoff) -- posoff is a vector position offset.
  • Light Volumes/Internal: Added additional argument to DRC:LightVolume(ent, att, colour, length, width, quality, addang, mat, posoff, useeyeang) -- useyeang is true by default to keep old behaviour. If the attachment defined is "eyes" it will use the entity's EyeAngles. Set this to false to prevent this.
  • Material Proxies: Added the following inputs to drc_FunctionA/B/C/D: lightlevel, lightlevelavg, lightlevelhitpos, lightlevelhitposavg`. The "hitpos" variants get the hit position of the eye angles of the entity being targeted.
  • Various: Tons of micro & major optimizations,
    • Ensure calcview code does not run when the player is dead.
    • Ensure shield rendering code aborts if the entity is a player & is dead.
    • Abort attempting to draw the shield model if it is attached to the local player & they are not in thirdperson.
    • Re-sort debug checks to abort quicker, instead of wasting time checking client debug values if the server does not allow debug mode.
    • Condense base game crosshair hide check for DRC thirdperson to a single line, re-order checks, abort if player is dead.
    • Only call DRC:GetVoiceSet() once in idling & breathing playertick hooks.
    • Add player:Alive() abort checks to barnacle grab detection checks, voiceset idles, and voiceset breathing.
    • Add player:Alive() abort check to CreateMove hook for Draconic thirdperson.
    • Re-order abort checks for VoiceSets HUD to abort immediately if the player is dead, and not perform extra checks.
    • Add player:Alive() check for drc_InteractionBlocks
    • Add validity & player:Alive() checks for drc_movementhook
    • Alter Draconic matproxy function GetPlayerColours() so it only runs every 1/4 of a second instead of every frame. This has no adverse effect on customization update intervals and takes the runtime cost polled over five seconds down from ~140ms to 0.7ms. These are internally cached per-channel and per-entity, so it shouldn't cause any colour oddities when used on non-players being spawned.
    • Remove redundant == true check in weapon Think function for primary/secondary charge.
Clone this wiki locally