Commit graph

467 commits

Author SHA1 Message Date
d936e57aa5
Rename NSNavAI to NSActor. 2024-07-26 14:32:49 -07:00
935c0fd543
NSItem: handle health/armor/ammo drops outside Touch.
New cmds: giveInventoryItem, removeInventoryItem, removeAllInventoryItems
2024-07-26 12:53:57 -07:00
f9dd7362b4
NSSurfacePropEntity: change string damageDef to NSDict damageDecl in Damage() 2024-07-18 16:32:05 -07:00
8b4b7f0a26
Reserve the id keyword, fix some struct members to comply 2024-07-18 13:44:52 -07:00
e9145091fd
Clear warnings. 2024-07-18 13:04:42 -07:00
8ace54224c
The mother of experimental commits. 2024-06-22 00:24:13 -07:00
bab74ba6fd
Change the inheritance graph of NSBot, NSClient etc. 2024-04-22 22:47:54 -07:00
822a7221b2
WIP pmove, AI, etc. changes 2024-04-22 15:11:12 -07:00
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
0c2db7a23a
SV_PerformLoad: Saner check for if we can call Destroy()... 2024-03-04 19:55:30 -08:00
32a36d8017
Server: show 'entered game' message once and only in MP. 2024-03-04 19:48:37 -08:00
f0034cb03a
SEND/READENTITY_ANGLE: use WriteAngle()/readangle() 2024-03-04 19:37:51 -08:00
c0b031ed9f
Nodes: Make the way nodes are generated a bit better. 2024-03-04 18:52:21 -08:00
e2239a236f
Minor cleanups to some point entities and replace various usage of whichpack(). 2024-03-04 18:51:07 -08:00
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
0792fbaee9
Server: add Skill_Init inside init() 2024-02-23 13:58:59 -08:00
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
e2ee6987de
NSTraceAttack: save traceline endpos and plane_normal in case it gets set elsewhere 2024-02-23 13:21:44 -08:00
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
9847f3828e
NSGameRules: send a newly joined player to the intermission screen gently 2024-02-21 13:41:18 -08:00
31b88f63f2
Fixes for DAMAGE_AIM, so we can respect the sv_aim cvar. 2024-01-29 23:47:36 -08:00
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
05af28180e
Server: Fix typos in various sound precache calls. 2024-01-15 15:45:48 -08:00
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
4b69949385
Server: Ensure r_meshpitch gets set to 1 on init. 2023-11-18 21:16:52 -08:00
277b453c40
Server: when skill is invalid (0) then default to 2 (medium) 2023-11-18 19:58:29 -08:00
07173b3c7b
Platform: add menu debug command 'listGameLibrary' to output all the currently indexed games/mods 2023-11-18 13:31:33 -08:00
0cd5d0e5a7
MapCycle: Initialize g_mapCycle with mapcycle.txt, handle empty mapcycle slightly better. 2023-11-18 12:02:41 -08:00
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
e67d1b0da4
Server: add cvars mp_td_dmgToWarn and mp_td_dmgToKick 2023-11-06 08:46:22 -08:00
73bec53034
PropData: read info from Source Engine .phy files 2023-10-22 23:30:31 -07:00
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
5c5eedb665
NSGameRules: add method 'Title' which returns the print name for a given gamerule. 2023-09-29 16:10:21 -07:00
4b36ec3bb0
trigger_transition: Handle the carrying-over of entity information based on 'globalname'. 2023-09-28 18:40:06 -07:00
4ec4877360
Server: add new server command 'spawndef'. 2023-09-27 13:01:30 -07:00
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
9518a23f03
NSIO: Prevent firing an output when no activator is set 2023-09-27 00:14:44 -07:00
33179a555d
Server: add sv input [INPUTNAME] [DATA] command to debug I/O system 2023-09-25 16:12:32 -07:00
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
724523ce2c
Server: Increase ENTITYDEF_MAX to 256 2023-09-20 15:10:49 -07:00
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
5f070fa8c9
point_spotlight: give it a better texture (thanks Maxwell) and optimize some bits 2023-09-12 19:39:51 -07:00
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
60128c6b1e
Server: add "Cheaters Lament", a proof of concept detection mechanism for suspicious player behaviour 2023-08-07 13:14:49 -07:00
bd470605a3
Exterminate FX_Explosion, FX_Spark and FX_Impact references. 2023-07-24 14:14:20 -07:00
159756889f
New PropData API function: BreakModel_Entity(NSSurfacePropEntity target, vector dir, float speed); 2023-07-17 11:33:44 -07:00
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
a8c4075ff9
Server: Handle savegames restoring with entityDef awareness 2023-07-07 23:43:12 -07:00
31774ce3f1
EntityDef work on NSMonster, NSTalkMonster, NSProjectile etc. 2023-06-20 21:19:00 -07:00
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