Marco Cawthorne
bab74ba6fd
Change the inheritance graph of NSBot, NSClient etc.
2024-04-22 22:47:54 -07:00
Marco Cawthorne
822a7221b2
WIP pmove, AI, etc. changes
2024-04-22 15:11:12 -07: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
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
9847f3828e
NSGameRules: send a newly joined player to the intermission screen gently
2024-02-21 13:41:18 -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
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
73bec53034
PropData: read info from Source Engine .phy files
2023-10-22 23:30:31 -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
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
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
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
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
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
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
49d44bb21f
Server: remove rogue DOS newline characters that managed to get inside entry.qc
2023-05-01 07:15:22 -07:00
Marco Cawthorne
b3b22045f3
Server: force set sv_nqplayerphysics to 0, so the engine shuts up about its prediction not working on map start
2023-05-01 06:58:54 -07:00
Marco Cawthorne
d45d2f1dc4
Introducing a copy of the id Tech 4 EntityDef system into Nuclide.
2023-04-30 18:01:26 -07:00
Marco Cawthorne
cd3023eeba
Server: add MapTweaks. A new feature that allows tinkerers to rewrite entity classnames under certain conditions (RFC)
2023-04-22 02:45:58 -07:00
Marco Cawthorne
e482cb0103
Server: add missing precache for soundDef step_swim.left/right
2023-04-16 01:25:00 -07:00
Marco Cawthorne
f4cadc74a8
Shared: CLASSEXPORT macro will now behaver nicer with non-class spawn functions.
2023-04-15 18:11:43 -07:00
Marco Cawthorne
338e89c06a
Add functions all about handling Message of the Day server info. Adds the `motd` console command, as well as `motdfile`.
2023-03-25 17:32:58 -07:00
Marco Cawthorne
8ec3d00e93
Save/load system stability improvements.
2023-03-23 17:04:34 -07:00
Marco Cawthorne
7b42befcb3
Networked versions of func_conveyor, trigger_push. Bounce pads should be much nicer.
2023-03-18 17:49:12 -07:00
Marco Cawthorne
495b661b47
NSMoverEntity: Improvements so transformation and rotation is easier at the same time.
2023-03-14 00:06:19 -07:00
Marco Cawthorne
86dfb3ff1a
Fix various compiler warnings.
2023-02-14 12:54:06 -08:00
Marco Cawthorne
6aa3206d2b
Server: skip SV_RunClientCommand when our clients aren't fully initialized yet.
2023-01-23 00:12:35 -08:00
Marco Cawthorne
0ac1bc4b68
NSEntity: Add method CanSpawn(bool) which will be used to determine mainly if an entity is to be spawned on the client or server module (but it can also let a class handle under which other conditions it spawns)
...
NSEntity: move RestoreComplete() into NSIO because NSGameRules needs this.
2023-01-06 13:23:48 -08:00
Marco Cawthorne
2c5bf43c58
Fixed spectator inputs getting stuck and physics being run twice, due to the recent changes to SV_RunClientCommand.
2023-01-02 18:10:20 -08:00
Marco Cawthorne
4322f1fd93
GS-EntBase: prevent light entities from overriding the first built-in lightstyles.
...
worldspawn: Assign two more lightstyles that Half-Life registers.
2022-12-30 13:53:42 -08:00
Marco Cawthorne
633046d28e
NSClient: Rename ClientInput() method in NSClient to ProcessInput(), as well as add SharedInputFrame() that can be overriden by the game.
2022-12-28 16:47:44 -08:00
Marco Cawthorne
ce7cf4519f
Server: Set cvar s_nominaldistance to 1000 upon init. Dedicated server needs this to play sounds properly.
2022-12-28 15:15:30 -08:00
Marco Cawthorne
142d69b66a
Remove Game_RunClientCommand() entirely, as it will be replaced by a game-mode equivalent.
2022-12-22 16:54:11 -08:00
Marco Cawthorne
ff7ce15399
SV_ParseClientCommand: Forgot to pass the default case over to clientcommand(). That is now fixed.
2022-12-22 16:29:02 -08:00
Marco Cawthorne
1acbd8a34d
Remove calls to Game_ParseClientCommand with per-gamemode overridable ClientCommand() method within NSGameRules.
...
Also redo the way chat messages are handled, so mods don't have to implement it themselves all the time.
2022-12-22 11:53:15 -08:00
Marco Cawthorne
2d911109cc
trigger_relay: Set m_iValue so that multisources will work properly that get targetted by them
...
trigger_auto: Delay the trigger of them in singleplayer until 1 player has joined
Misc cleanups. The 'Janitor Simulator' on TWHL should work now.
2022-12-14 16:51:16 -08:00
Marco Cawthorne
56ec44700a
Lots of cleanup related to many entity classes to aid doxygen with generating documentation.
2022-12-06 15:04:07 -08:00
Marco Cawthorne
2945e1f65d
Add support for Source Engine decal groups (scripts/decals.txt).
2022-10-27 20:04:11 -07:00