Commit Graph

459 Commits

Author SHA1 Message Date
Marco Cawthorne 3a1a5d66f5
scripted_sentence: add support for `refire` key.
Add some more icons. Also NSPointTriggers should be SOLID_NOT now as to not
travel across levels.
2024-03-05 22:48:00 -08:00
Marco Cawthorne 0c2db7a23a
SV_PerformLoad: Saner check for if we can call Destroy()... 2024-03-04 19:55:30 -08:00
Marco Cawthorne 32a36d8017
Server: show 'entered game' message once and only in MP. 2024-03-04 19:48:37 -08:00
Marco Cawthorne f0034cb03a
SEND/READENTITY_ANGLE: use WriteAngle()/readangle() 2024-03-04 19:37:51 -08:00
Marco Cawthorne c0b031ed9f
Nodes: Make the way nodes are generated a bit better. 2024-03-04 18:52:21 -08:00
Marco Cawthorne e2239a236f
Minor cleanups to some point entities and replace various usage of whichpack(). 2024-03-04 18:51:07 -08:00
Marco Cawthorne 649ed825ad
Big commit, work over various triggers. Clean up debug prints and make
them more consistent. Warnings are in yellow, while errors are in red.

New cvar: g_developerTimestamp will display timestamps next to debug messages
originating from the game-logic. Set g_developer to 1 to see them.
A lot of useful into, such as which entity id messages originate from
should aid in debugging quite a bit.

SP level transitions should also be more reliable now in terms of
transferring entities and the like.

Some levels have awkward transition areas and you might find yourself
jumping between levels frequently. Workarounds are in the works.
2024-03-02 00:40:08 -08:00
Marco Cawthorne 0792fbaee9
Server: add Skill_Init inside init() 2024-02-23 13:58:59 -08:00
Marco Cawthorne 34884b68a3
ambient_generic: fix mix-up of small and medium radius.
also set s_nominaldistance to 1024.
2024-02-23 13:22:51 -08:00
Marco Cawthorne e2ee6987de
NSTraceAttack: save traceline endpos and plane_normal in case it gets set elsewhere 2024-02-23 13:21:44 -08:00
Marco Cawthorne 6319f6166e
Skill.qc: readcmd() builtin usage replaced with a tiny config parser.
Context:
localcmd/stuffcmd are delayed enough that we can't use it to load
difficulty settings from skill.cfg before the game objects have spawned.

readcmd worked around this, but its usage is buggy and discouraged.

loading config files from the root game directory is forbidden by the
engine for security reasons (being able to read passwords etc.)
but we're allowed to do so from sub-directories.

by emulating the source engine behaviour we become compatible with their
convention, while also working around said incompatibility.
2024-02-21 21:08:57 -08:00
Marco Cawthorne 9847f3828e
NSGameRules: send a newly joined player to the intermission screen gently 2024-02-21 13:41:18 -08:00
Marco Cawthorne 31b88f63f2
Fixes for DAMAGE_AIM, so we can respect the `sv_aim` cvar. 2024-01-29 23:47:36 -08:00
Marco Cawthorne 4a8f4a6082
Add a whole bunch of new bot features, including bot profiles.
Developers: the internal class `bot` is now `NSBot`, and an entityDef
of the old name will be instantiated instead.

Override defs/bot.def in your mod and make it use any custom spawnclass
you wish. Now games don't have to override `addbot` or `bot_add` inside
the multiplayer game rules.

There's also more console commands. Clients now have access to:
addBot, killAllBots, killClass [classname], killMovables, trigger [targetname], input [entnum] [input] [data], listBotProfiles, listTargets, teleport [targetname], teleportToClass [classname], respawnEntities, spawn
2024-01-26 19:27:50 -08:00
Marco Cawthorne 05af28180e
Server: Fix typos in various sound precache calls. 2024-01-15 15:45:48 -08:00
Marco Cawthorne 40aee258ce
NSClientSpectator: new mode: overview which is work in progress.
Various misc fixes to code routines that negatively affect splitscreen.
We also set frametime/clframetime to 0.0 after the first player view has been drawn as to not run
predraw math more than once per frame. This should not cause any issues but if you are experiencing issues let us know.
2024-01-08 14:58:45 -08:00
Marco Cawthorne 4b69949385
Server: Ensure r_meshpitch gets set to 1 on init. 2023-11-18 21:16:52 -08:00
Marco Cawthorne 277b453c40
Server: when skill is invalid (0) then default to 2 (medium) 2023-11-18 19:58:29 -08:00
Marco Cawthorne 07173b3c7b
Platform: add menu debug command 'listGameLibrary' to output all the currently indexed games/mods 2023-11-18 13:31:33 -08:00
Marco Cawthorne 0cd5d0e5a7
MapCycle: Initialize g_mapCycle with mapcycle.txt, handle empty mapcycle slightly better. 2023-11-18 12:02:41 -08:00
Marco Cawthorne 32f9d974bb
New commands: listClientSoundDef, listServerSoundDef
Merge various trigger fields from Source entities into NSTrigger
Rename default player related sounds to the Source Engine style for more parity with Half-Life 2 and later games
Various player physics code fixes, such as being unable to jump higher when pushing against solids and faster noclip speed
2023-11-17 18:54:46 -08:00
Marco Cawthorne e67d1b0da4
Server: add cvars mp_td_dmgToWarn and mp_td_dmgToKick 2023-11-06 08:46:22 -08:00
Marco Cawthorne 73bec53034
PropData: read info from Source Engine .phy files 2023-10-22 23:30:31 -07:00
Marco Cawthorne 11deea5b3d
Add the following physics entities from Source: phys_ballsocket, phys_constraint, phys_constraintsystem, phys_convert, phys_hinge, phys_keepupright, phys_slideconstraint & env_physexplosion
Add new class phys_rope, which will handle move_rope and keyframe_rope from Source.
2023-10-17 16:49:01 -07:00
Marco Cawthorne 5c5eedb665
NSGameRules: add method 'Title' which returns the print name for a given gamerule. 2023-09-29 16:10:21 -07:00
Marco Cawthorne 4b36ec3bb0
trigger_transition: Handle the carrying-over of entity information based on 'globalname'. 2023-09-28 18:40:06 -07:00
Marco Cawthorne 4ec4877360
Server: add new server command 'spawndef'. 2023-09-27 13:01:30 -07:00
Marco Cawthorne 5b52c57a56
NSIO: new method CheckOutput(string), which will see if a given Output is ready to fire again. 2023-09-27 00:25:25 -07:00
Marco Cawthorne 9518a23f03
NSIO: Prevent firing an output when no activator is set 2023-09-27 00:14:44 -07:00
Marco Cawthorne 33179a555d
Server: add `sv input [INPUTNAME] [DATA]` command to debug I/O system 2023-09-25 16:12:32 -07:00
Marco Cawthorne 6298688e05
worldspawn: Change the way worldspawn keys are read, and shared with the client.
Avoiding the need to read the world on the client-side altogether.
2023-09-22 14:39:45 -07:00
Marco Cawthorne 724523ce2c
Server: Increase ENTITYDEF_MAX to 256 2023-09-20 15:10:49 -07:00
Marco Cawthorne 5db3db539a
Client/Server: Handle 'skyname' universally and guess on the client whether we're using a Source Engine style skybox path 2023-09-13 07:56:11 -07:00
Marco Cawthorne 5f070fa8c9
point_spotlight: give it a better texture (thanks Maxwell) and optimize some bits 2023-09-12 19:39:51 -07:00
Marco Cawthorne 59748adf86
point_spotlight: initial implementation of this Half-Life 2 entity; also fix env_projectedtexture, func_dustmotes and func_smokevolume not rendering 2023-09-12 15:00:56 -07:00
Marco Cawthorne 60128c6b1e
Server: add "Cheaters Lament", a proof of concept detection mechanism for suspicious player behaviour 2023-08-07 13:14:49 -07:00
Marco Cawthorne bd470605a3
Exterminate FX_Explosion, FX_Spark and FX_Impact references. 2023-07-24 14:14:20 -07:00
Marco Cawthorne 159756889f
New PropData API function: BreakModel_Entity(NSSurfacePropEntity target, vector dir, float speed); 2023-07-17 11:33:44 -07:00
Marco Cawthorne f877b1620f
Add the constants loader, to allow entityDefs and other scripts to reference constants defined within scripts/constants.txt 2023-07-15 11:34:58 -07:00
Marco Cawthorne a8c4075ff9
Server: Handle savegames restoring with entityDef awareness 2023-07-07 23:43:12 -07:00
Marco Cawthorne 31774ce3f1
EntityDef work on NSMonster, NSTalkMonster, NSProjectile etc. 2023-06-20 21:19:00 -07:00
Marco Cawthorne 69d1498c8b
EntityDef: support 'events' group, so developers can tie animation events to Inputs (Source Base I/O system) 2023-06-19 10:35:24 -07:00
Marco Cawthorne 34e722a012
Add and track new player entity field '.score'. Used to trag score points separate from frags. 2023-06-15 11:42:01 -07:00
Marco Cawthorne 0dc8f4ec75
entityDef: add support for condition based tweaks 2023-06-14 06:44:37 -07:00
Marco Cawthorne 3eb2ec1b37
entityDef: call spawn() in case an empty entity ref was passed 2023-06-07 16:50:40 -07:00
Marco Cawthorne 1bb1fe705d
NSSurfacePropEntity: add SetBloodColor/GetBloodColor methods 2023-06-01 10:30:51 -07:00
Marco Cawthorne 12bb472abc
add class NSPortal (initial work, plus custom pmove changes).
Work on NSProjectile expansion has begun.
Support for skill cvar referencing within entityDef values.
2023-05-27 11:58:34 -07:00
Marco Cawthorne ff78e34c16
Move Route_GetJumpVelocity() into shared/defs.h for now. 2023-05-10 16:12:59 -07:00
Marco Cawthorne 40c4d95a2b
entityDef: Fix 'spawnclass' not working when referencing other entitydefs 2023-05-04 08:23:24 -07:00
Marco Cawthorne 49d44bb21f
Server: remove rogue DOS newline characters that managed to get inside entry.qc 2023-05-01 07:15:22 -07:00