Commit Graph

176 Commits

Author SHA1 Message Date
Blixibon
3b5b3a9ccb
Merge pull request #60 from RoyaleNoir/shadow-fix
Fix hardware shadow filtering
2020-11-22 16:28:26 -06:00
ToothpasteVixen
0b5a0c8e2f
Fixed Shadow filtering
Using MATERIAL_RT_DEPTH_ONLY disables hardware filtering, which causes shadows to be pixelated, even with pcf. changing it back to MATERIAL_RT_DEPTH_NONE re-enables hardware filtering, while still working as a depth texture.
2020-11-17 12:03:22 +13:00
Blixibon
dbd583b07c
Merge pull request #59 from samisalreadytaken/pr18
vscript additions and fixes
2020-10-31 21:01:30 -05:00
samisalreadytaken
599a93e7bc vscript additions and fixes:
baseanimating.h
baseanimating.cpp
   - Added CBaseAnimating::SequenceDuration (ScriptSequenceDuration)
   - Added CBaseAnimating::GetPlaybackRate
   - Added CBaseAnimating::SetPlaybackRate
   - Added CBaseAnimating::GetCycle
   - Added CBaseAnimating::SetCycle

triggers.h
triggers.cpp
   - Fixed CTriggerCamera::ScriptSetFov setting player FOV while disabled
   - Added CBaseTrigger::Enable
   - Added CBaseTrigger::Disable
   - Added CBaseTrigger::TouchTest
   - Added CBaseTrigger::IsTouching (ScriptIsTouching)

vscript_server.nut
vscript_server.cpp
   - Added CEntities::FindByClassnameWithinBox
   - Added ::SendToConsoleServer
   - Added ::CancelEntityIOEvent
   - Added ::GetEntityIOEventTimeLeft
   - Moved ScriptDispatchParticleEffect to shared code

eventqueue.h
cbase.h
cbase.cpp
   - Set entity I/O con output colour
   - Added (CEventQueue::CancelEventsByInput)
   - Added (CEventQueue::RemoveEvent)
   - Added (CEventQueue::GetTimeLeft)

baseentity.h
baseentity.cpp
   - Added CBaseEntity::SetTransmitState
   - Added CBaseEntity::GetTransmitState
   - Added CBaseEntity::AcceptInput (ScriptAcceptInput)
   - Added CBaseEntity::FireOutput (ScriptFireOutput)
   - Added CBaseEntity::GetMaxOutputDelay
   - Added CBaseEntity::CancelEventsByInput
   - Added player_use event on InputUse
   - Fixed InputKill on players

ivscript.h
vscript_squirrel.cpp
   - Added IScriptVM::ArrayAppend
   - Fixed buffer overflow crash
   - Increased print buffer to 2048 from 256
   - Set vscript print output colour

vscript_funcs_shared.cpp
   - Added CNetMsgScriptHelper
     (CScriptGameEventListener)
   - Added ::ListenToGameEvent
   - Added ::StopListeningToGameEvent
   - Added ::StopListeningToAllGameEvents
   - Added ::FireGameEvent
   - Added ::FireGameEventLocal
     (CScriptSaveRestoreUtil)
   - Added ::SaveTable
   - Added ::RestoreTable
   - Added ::ClearSavedTable
   - Added callbacks ::OnSave, ::OnRestore
     (CScriptReadWriteFile)
   - Added ::StringToFile
   - Added ::FileToString
   - Added GlobalSys::GetCommandLine
   - Added GlobalSys::CommandLineCheck
   - Added GlobalSys::CommandLineCheckStr
   - Added GlobalSys::CommandLineCheckFloat
   - Added GlobalSys::CommandLineCheckInt
   - Added ::GetCPUUsage
   - Added ::NXPrint
   - Added ::Msg (ScriptMsg)
   - Removed misplaced condition checks
   - Fixed ScriptEntitiesInBox, *AtPoint, *InSphere

logic_eventlistener.cpp
   - Removed redundant dev msg

gamestringpool.cpp
   - Fixed string pool dump sort
2020-10-27 02:22:18 +03:00
Blixibon
add157197f Mapbase v5.1
- Fixed a major oversight in Source 2013 which was causing some code to think all logic entities were worldspawn
- Added WIP background nodraw for point_cameras set to not draw skybox at all
- Fixed map-specific talker not flushing on restore
- Added optional HUD hint to code-based game instructor hints
- Added workaround for suspicious crashes in HL2 NPC rappelling code (reported by 1upD)
- Made antlions summoned by npc_antlionguard report as dead when removed with the "Kill" input
- Fixed math_mod not saving mod value (reported by Klems)
- Added SDK_WindowImposter, which uses the SteamPipe cubemap bug workaround and includes support for parallax corrected cubemaps
- Updated thirdpartylegalnotices.txt to mention the Squirrel API
- Fixed incorrect type checking for script instances in VScript
- Added a bunch of new misc. VScript constants
- Added a few new base VScript functions
- Added a separate "Clientside Script Language" keyvalue to worldspawn for VScript, allowing client scripts to use a different language from server scripts
- Fixed worldspawn crashing the game when running entity scripts (reported by krassell)
- Fixed manifests creating a second worldspawn, allowing them to function properly in HL2
- Added tons of remapping-related fixes for instances and manifests, including node IDs and overlay remapping
- Added a keyvalue to func_instance which allows vector axis lines to be remapped properly
- Added support for manifest root path instances in VBSP
- Added missing PrintBrushContents() contents to VBSP
- Added -nohiddenmaps parameter
- Made manifest cordon somewhat functional
2020-09-23 05:03:47 +00:00
Blixibon
5c2051864a
Merge pull request #47 from samisalreadytaken/pr16
VScript changes
2020-09-22 23:30:24 -05:00
samisalreadytaken
5e21095851 Move sqstdtime.h 2020-09-02 02:55:06 +03:00
samisalreadytaken
80822cdc11 Add back deprecated function names 2020-09-01 20:31:22 +03:00
samisalreadytaken
f8f47e4791 Add debugoverlay descriptions 2020-09-01 20:19:08 +03:00
samisalreadytaken
88cebe3eac Minor improvement in CDebugOverlayScriptHelper 2020-08-31 22:01:58 +03:00
samisalreadytaken
d13f2a3e71 Fix CBaseEntity::SetMass 2020-08-31 17:27:54 +03:00
samisalreadytaken
8672b7bb3f vscript changes:
c_baseentity.h
c_baseentity.cpp
   - Renamed GetLeftVector to GetRightVector
   - Renamed GetTeamNumber to GetTeam

baseentity.h
baseentity.cpp
   - Renamed GetLeftVector to GetRightVector
   - Renamed Get/SetRender functions (GetAlpha -> GetRenderAlpha)
   - Fixed CBaseEntity::GetScriptId
   - Added hook CBaseEntity::UpdateOnRemove
   - Added CBaseEntity::GetOrCreatePrivateScriptScope
   - Added CBaseEntity::GetDebugName
   - Added CBaseEntity::GetGravity
   - Added CBaseEntity::SetGravity
   - Added CBaseEntity::GetFriction
   - Added CBaseEntity::SetFriction
   - Added CBaseEntity::GetMass
   - Added CBaseEntity::SetMass
   - Added CBaseEntity::SetName (SetNameAsCStr)
   - Added CBaseEntity::SetParent (ScriptSetParent)
   - Added CBaseEntity::SetThink (ScriptSetThink)
   - Added CBaseEntity::StopThink (ScriptStopThink)
   - Added CBaseEntity::SetThinkFunction (ScriptSetThinkFunction)
   - Added CBaseEntity::StopThinkFunction (ScriptStopThinkFunction)
   - Added CBaseEntity::ApplyAbsVelocityImpulse
   - Added CBaseEntity::ApplyLocalAngularVelocityImpulse

player.h
player.cpp
   - Renamed GetPlayerUserId to GetUserID
   - Added CBasePlayer::GetFOV
   - Added CBasePlayer::GetFOVOwner (ScriptGetFOVOwner)
   - Added CBasePlayer::SetFOV (ScriptSetFOV)

vscript_consts_shared.cpp
   -Added RAD2DEG, DEG2RAD, MAX_COORD_FLOAT, MAX_TRACE_LENGTH

vscript_funcs_shared.cpp
   - Renamed IsClientScript,IsServerScript to IsClient,IsServer
   - Added IsDedicatedServer
   - Added NPrint (Con_NPrintf)
   - Removed DebugDrawBoxDirection (debugoverlay.BoxDirection)
   - Removed DebugDrawText (debugoverlay.Text)

vscript_server.cpp
   - Added CDebugOverlayScriptHelper (debugoverlay)
   - Added CEntities::GetLocalPlayer
   - Added DispatchParticleEffect (ScriptDispatchParticleEffect)
   - Removed DebugDrawBox (debugoverlay.Box)
   - Removed DebugDrawLine (debugoverlay.Line)

vscript_squirrel.cpp
   - Changed stub error messages for consistency and clarity
   - Changed errorfunc output to Warning instead of Msg
   - Added Msg, Warning
   - Added clamp, min, max, RemapVal, RemapValClamped
   - Added sqstdtime.h
   - Added clock, time, date
2020-08-30 15:58:34 +03:00
samisalreadytaken
0087e6d734 Fix string pool dump 2020-08-30 15:58:07 +03:00
Blixibon
c448f194ae Mapbase v5.0
- Added keyvalue to hl2_gamerules which allows respawning in singleplayer
- Added the game instructor system (including env_instructor_hint) from later Valve games using a VDC tutorial which adjusts the version from the Alien Swarm SDK to FPS rules and a Source 2013 environment; Also added new KV and icons for further control from mappers (tutorial mentioned by Maestra Fenix)
- Added L4D/TF2 glows + point_glow entity as an all-purpose SDK-based off-shoot of tf_glow
- Fixed weapon pickup sound not playing (reported by Sl0th and later Cvoxulary)
- Fixed env_projectedtextures not updating on save/load
- Added func_fake_worldportal, a spatial point_camera inspired by linked_portal_door based on SDK code alone (WIP, may be changed a lot in future updates)
- Added option for point_camera and func_reflective_glass to use different render targets, therefore allowing multiple cameras and mirrors to be active at the same time
- Added additional RT camera textures to choose from with a default of 3, but also controllable through a -numcameratextures command line param
- Added adjustable convars for main view NearZ and skybox NearZ (suggested by someone recently, also suggested by Klems over a year ago)
- Fixed map-specific localization files, cleaned up map-specific file code
- Added a new block to gameinfo.txt which allows mods to automatically append their own command line parameters
- Fixed math_lightpattern corruption when setting pattern/style while active
- Fixed the "Touch" input crashing when given no entity
- Added a way to add EFlags via keyvalue (suggested by Niker107)
- Fixed ai_script_conditions not working without a NPC actor (reported by MetroHam)
- Fixed point_radiation_source causing huge problems when intensity is 0, even though it was already advised against (reported by beefbacon)
- Added "Mapbase" header to Mapbase-specific code files
- Fixed an issue with updating sky_camera not obtaining area correctly, causing some entities to not draw in the skybox
- Added "CopyFogController" and "CopyFogControllerWithScale" inputs to sky_camera, which copy fog parameters directly from a fog controller
- Added "SetScale" input to sky_camera for live scale changing
- Added convar to control player crouch speed multiplier (suggested by ArtyIF)
- Added a ton of fixes for people running the Debug configuration of the codebase (partial credit to stepa2)
- Added support for pre-defined enums and constants in VScript, starting with various values from the SDK code (damage types, trace masks, etc.)
- Added limited support for Valve's Quaternion class in VScript
- Added new instance helper capabilities, destructible game instances, and other misc. changes to VScript library
- Replaced most of the VScript "accessor" classes with direct references to the original classes, as they were getting complicated fast and adding new VScript-only functions to the original classes might not be as bad as previously thought
- Added base NPC hooks for AI sensing in VScript (allows control over sight and hearing), also exposed CSound for it
- Added various functions and hooks for VPhysics integration in VScript
- Added VScript-based custom suit devices
- Expanded trace info exposed to VScript to allow plane and surface access (suggested by krassell)
- Added ability to insert localization strings through VScript
- Added various misc. VScript functions with various purposes, including reading/writing EFlags, movetypes, collision groups, etc.
- Fixed VBSP not being able to correctly parse parallax corrected cubemaps in maps with instances
2020-08-14 21:21:25 +00:00
Blixibon
f9ba141a31 Merge branch 'master' of https://github.com/mapbase-source/source-sdk-2013 2020-07-16 10:47:03 -05:00
Blixibon
63323222fe Mapbase v4.3
- Fixed a crash with multiple trigger_look targets
- Fixed an issue where some zombie submodel server ragdolls are not solid to the world
- Fixed a crash with certain instance classes being loaded in a savegame before the class is registered
- Added some of Tony Sergi's missing Source 2007 fixes (contributed by Kris)
- Added "ClientCommand" hook for VScript to allow handling of unknown console commands
- Added "PlayerRunCommand" hook for VScript to control player movement
- Added new button-related script functions for players (GetButtons, DisableButtons, etc.)
- Added CUserCmd accessor in VScript for the "PlayerRunCommand" hook
- Added "GetWaterLevel" function for VScript
- Exposed "Ignite" to VScript for controlling how a fire starts
- Fixed NPCs being unable to unholster weapons
- Fixed Mapbase crashing when Steam isn't running
- Fixed issues with angled/updating sky_camera save/restore
- Added VBSP "-skyboxcubemap" parameter to enable skybox default cubemaps + "-defaultcubemapres" to control their resolution
- Added ability to disable VScript in a map (and fixed a few potential complications from disabling VScript)
- Made clientside VScript only initialize after world is spawned in order to receive serverside script language in time
- Added tons of VScript functions to CBaseAnimating related to bodygroups, sequences, etc.
- Added VScript functions to players for getting user ID and player name, similar to logic_playerinfo
- Added a few L4D2 script functions missing from the ASW SDK
- Added "Localize" singleton with a single "GetTokenAsUTF8" function for getting localization strings
- Disabled r_hunkalloclightmaps by the request of various users (apparently this completely removes the "Engine hunk overflow" error and allows for really high-res lightmaps)
- Fixed npc_antlionguard NPC_TranslateActivity not hooking into base class (allows for VScript manipulation)
- Added various unused antlion guard activities to npc_antlionguard AI, allowing for usage as registered activities
- Added keyvalue to set LOS mask on combine_mine
- Added +USE bounding box limiter to prop_interactable
2020-07-16 15:43:30 +00:00
Blixibon
b0739b8296
Merge pull request #33 from ReDucTor/vscript/register-all-classes
Making vscript register all classes
2020-07-16 10:40:45 -05:00
James Mitchell
57848d7e3b Making vscript register all classes 2020-07-12 11:46:43 +10:00
Blixibon
f636089003 Mapbase v4.2
- Added keyvalue to use random bounds on logic_timer to limit AddToTimer/SubtractFromTimer inputs (suggested by White_Red_Dragons)
- Fixed inconsistent env_projectedtexture state on save/load
- Added code to allow skybox to use a direct entity handle instead of a stored origin and angles in order to take advantage of entity interpolation while moving (less jittering)
- Moved map-specific file manifest parsing to happen after other entities are created (highly experimental)
- Added various misc. code improvements related to debug build and MP branch
- Fixed some VScript ammo type-related code forgotten in the previous update
- Added more VScript functions to CBaseAnimating, including pose parameter functions and the ability to look up bones and get bone position
- Added more origin and angles functions for VScript (suggested by krassell)
2020-07-01 19:32:49 +00:00
Blixibon
bc6a35a99c
Merge pull request #30 from ReDucTor/vscript-fixes
Various vscript fixes
2020-07-01 14:13:25 -05:00
James Mitchell
dfa67fb9de Making Vector.Norm in VScript act like NormalizeInPlace 2020-06-25 17:35:14 +10:00
James Mitchell
faf4928ba5 Fixing issue with default values not being saved with vscript 2020-06-25 17:30:19 +10:00
Blixibon
f219b14420 Merge branch 'master' of https://github.com/mapbase-source/source-sdk-2013 2020-06-21 10:13:29 -05:00
Blixibon
418a9dcccc Mapbase v4.1
- Exposed CAmmoDef to VScript and changed ammo type functions accordingly
- Added TakeHealth and IsAlive to CBaseEntity
- Added $treeSway
- Added several inputs to control env_wind keyvalues + a new $treeSway scale keyvalue
- Added "Expanded name fixup" keyvalue to point_template which allows name fixup to fix up output parameters
- Fixed the rope on rappelling NPCs causing graphical issues
- Fixed prop_vehicle_prisoner_pod missing "EnterVehicle", "EnterVehicleImmediate", and "ExitVehicle" inputs
- Fixed hostile citizens not damaging player
- Fixed an uncommon npc_metropolice crash from when it's not in a squad
- Made SetTarget input update target handling on NPCs
- Changed ammo type functions to be more organized, added AmmoDef singleton
- Added more precache functions
- Added various misc. entity functions, like GetAllWeapons or AddOutput
- Added more utility functions
2020-06-21 15:10:56 +00:00
Blixibon
d2ef54f1aa
Merge pull request #24 from ReDucTor/vscript/isvalid
Adding IsValid to vscript
2020-06-21 10:08:59 -05:00
Blixibon
1f69727efc
Merge pull request #21 from z33ky/mapbase/gcc-linux
gcc/Linux fixes
2020-06-21 10:08:41 -05:00
James
1d4dfe7d4c
Fixing IsValid outputting the opposite of being valid 2020-06-20 14:10:10 +10:00
James Mitchell
e9cbcd173d Adding IsValid to vscript 2020-06-20 13:10:37 +10:00
Alexander 'z33ky' Hirsch
ae1162d907 Fix compilation without MAPBASE_RPC 2020-06-19 18:02:21 +02:00
Alexander 'z33ky' Hirsch
eca6fd8864 Fix shadow render target
Caused cut off shadows on Linux.
Taken from Entropy : Zero.
2020-06-19 18:02:21 +02:00
Alexander 'z33ky' Hirsch
5ba311b9e6 Fix stdshaders #includes casing
This is important for case-sensitive filesystems/operating systems (i.e.
Linux).
2020-06-19 18:02:06 +02:00
Alexander 'z33ky' Hirsch
9d0f5197bd Fix gcc 9/10 & mapbase build errors 2020-06-19 18:02:06 +02:00
Alexander 'z33ky' Hirsch
4d45c32be9 Switch to malloc() for C_SceneEntity::LoadScene()
It used new char[] before, but it seems when the buffer is allocated
using filesystem->ReadFileEx() we should free() the buffer, not delete[]
it. CUtlBuffer also free()s the buffer, so malloc() should be the saner
choice here.
2020-06-14 11:29:54 +02:00
Alexander 'z33ky' Hirsch
77fada1ca2 Fix gcc 8.2 build errors 2020-06-14 11:29:54 +02:00
Alexander 'z33ky' Hirsch
2c60bd368d Get rid of some unnecessary temporary buffers 2020-06-14 11:15:58 +02:00
Alexander 'z33ky' Hirsch
d72d817eac Fix #includes casing
This is important for case-sensitive filesystems/operating systems (i.e.
Linux).
2020-06-14 11:14:18 +02:00
Alexander 'z33ky' Hirsch
48fb4ab56c Fix crash on startup
This crashes on Linux as pKeyValuesData is NULL when deleteThis() is
invoked. This likely is caused by another issue, but fixing this here
seems good regardless.
2020-06-14 11:14:18 +02:00
Blixibon
5b2547a6ff Merge branch 'master' of https://github.com/mapbase-source/source-sdk-2013 2020-06-13 16:06:41 -05:00
Blixibon
0c0a26dea6
Mapbase v4.0; VScript support
VScript support in Mapbase
2020-06-13 16:06:05 -05:00
Blixibon
49b7b92e28 Added line crediting reductor for VScript library in README 2020-06-13 15:48:04 -05:00
Blixibon
a7e23e46e9 Mapbase v4.0
- Fixed SDK_Refract and SDK_Water not using new cubemap method
- Added missing .inc files for SDK_ShatteredGlass
- Updated gitignore
- Fixed parallax corrected cubemaps sometimes causing VBSP to crash
- Added spawnflag to npc_headcrab which can prevent a headcrab from drowning
- Added spawnflag to npc_headcrab which can prevent a headcrab from instantly dying to a melee weapon
2020-06-13 20:45:37 +00:00
Blixibon
ea0c830a62 Added VScript utility functions + loosened VScript EntFire(ByHandle) restrictions 2020-06-13 12:44:40 -05:00
Blixibon
03632df565 Fixed matrix3x4_t constructor not working before instantiated by other means 2020-06-12 11:12:41 -05:00
Blixibon
0094d707b9 Created a limited clientside CScriptEntityIterator 2020-06-11 23:48:59 -05:00
Blixibon
7d2c6315b5 Added more VScript functions for player classes 2020-06-11 23:47:28 -05:00
Blixibon
66a44d0739 Exposed matrix3x4_t and FireBulletsInfo_t to VScript, expanded available math functions 2020-06-11 23:30:22 -05:00
Blixibon
05303c9e66
Merge pull request #19 from ReDucTor/feature/vscript
Fixing load/restore issue with classes that existed before
2020-06-11 09:59:15 -05:00
James Mitchell
07eb28ffe8 Fixing issue with restored vscript classes that are not registered being unable to be instantiated 2020-06-09 19:51:20 +10:00
Blixibon
b0549a894d
Merge pull request #17 from ReDucTor/feature/vscript
Hiding squirrel compiler warnings when building vscript
2020-06-07 10:28:54 -05:00
James Mitchell
859447ee69 Hiding squirrel compiler warnings when building vscript (fixes #14) 2020-06-07 14:47:49 +10:00