22 Commits

Author SHA1 Message Date
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
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
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
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
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
James Mitchell
859447ee69 Hiding squirrel compiler warnings when building vscript (fixes #14) 2020-06-07 14:47:49 +10:00
James Mitchell
cd31f9db15 Fixing repeated save/restore where regexp would fail to serialize 2020-05-31 17:06:24 +10:00
James Mitchell
76db66f70a Adding script_help support 2020-05-31 15:37:54 +10:00
James Mitchell
30032b70c9 Fixing issue with vscript restore having issues with cached weak references 2020-05-31 12:22:31 +10:00
James Mitchell
3c6c5c1d81 Adding vscript GetKeyValue vscript
Intended usage:
```
int nIterator = -1;
ScriptVariant_t key, value;
while ((nIterator = pScriptVM->GetKeyValue(table, nIterator, &key, &value)) != -1)
{
    printVariant(key);
    Msg("=");
    printVariant(value);
    Msg("\n");

    pScriptVM->ReleaseValue(key);
    pScriptVM->ReleaseValue(value);
}
```
2020-05-24 14:54:46 +10:00
James Mitchell
2363a22e3e Cleaning up some TODO messages 2020-05-24 11:44:26 +10:00
James Mitchell
897534aec6 Making vscript print consistent, adding printl 2020-05-24 11:18:15 +10:00
James Mitchell
d657e2b713 Adding missing Vector vscript functions 2020-05-24 10:58:24 +10:00
James Mitchell
18012de594 Adding support for vscript support for _tostring 2020-05-24 10:05:15 +10:00
James Mitchell
1210dee374 Various vscript fixes
* Fixes scopes not being restored from a save
* Fixes closure environment not being restored from a save
* Fixes singletons not being properly restored from a save
* Fixes root table being incorrectly duplicated in a save
* Fixes various cases where duplicate objects could be created from a save
2020-05-21 21:24:10 +10:00
James Mitchell
33e7a45657 Removing the closure parameter for class constructor, as we now have the typetag 2020-05-20 22:23:02 +10:00
James Mitchell
e816832994 Making Vector and ClassInstanceData not be a separate heap allocation in vscript 2020-05-20 22:15:38 +10:00
James Mitchell
f3dbcaf480 Some fixes to save/restore vscript 2020-05-20 21:41:04 +10:00
James Mitchell
3bdbef4169 Initial support for vscript save/restore 2020-05-19 22:09:09 +10:00
James Mitchell
9223601321 Adding vscript implementation 2020-05-15 19:17:08 +10:00