Commit Graph

55 Commits

Author SHA1 Message Date
Marco Cawthorne 822a7221b2
WIP pmove, AI, etc. changes 2024-04-22 15:11:12 -07:00
Marco Cawthorne 3d32e75e88
NSClientSpectator: add new method SpectatorDeathcam() 2024-03-06 19:13:11 -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 0e3eb491a6
NSClientPlayer: ensure pmodels have a shadow as well 2024-02-21 13:51:43 -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 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 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 c59a76a53d
NSMonster: add the ability to chase path_corners and things. 2023-10-03 11:05:14 -07:00
Marco Cawthorne bd470605a3
Exterminate FX_Explosion, FX_Spark and FX_Impact references. 2023-07-24 14:14:20 -07:00
Marco Cawthorne 20415c7ebc
NSClientPlayer: Inherit player rendermode/fx/color/amt before calling UpdatePlayerAttachments() 2023-05-04 08:25:46 -07:00
Marco Cawthorne 3419c0df31
func_breakable: ensure the 'break' sound is played when present. also ensure we precache the break sound ahead of time. 2023-05-01 05:52:20 -07:00
Marco Cawthorne f606efcbf7
NSClientPlayer: start networking rendermodes (needs to be optimised for network transfer) 2023-04-30 11:23:56 -07:00
Marco Cawthorne 3a755aaba7
NSSurfacePropEntity: add SetCanBleed() and CanBleed() methods to abstract the old iBleeds field. 2023-04-22 01:05:27 -07:00
Marco Cawthorne 706241a7b6
Client: viewmodel and player model weapon now inherit the rendermode of the player. 2023-04-16 10:43:40 -07:00
Marco Cawthorne 4a330ef3ce
PMove: improvements to liquid/waterlevel testing 2023-04-16 01:01:29 -07:00
Marco Cawthorne 8e14d3707d
NSClientPlayer: roll back .basevelocity in Predict{Pre,Post}Frame 2023-03-18 20:01:02 -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 86dfb3ff1a
Fix various compiler warnings. 2023-02-14 12:54:06 -08:00
Marco Cawthorne f0d77627ea
NSClientPlayer: Ensure .scale is reset upon spawning 2023-02-07 16:21:33 -08:00
Marco Cawthorne fb4e08c2bf
NSClientPlayer: fix the view_ofs check in EvaluateEntity() 2023-02-07 14:01:25 -08:00
Marco Cawthorne 993c2a6ebc
Shared: Expose INPUT_BUTTON6 and INPUT_BUTTON7 so mods can define some extra movement/weapon inputs for clients. 2023-01-22 20:06:06 -08:00
Marco Cawthorne 5617000f77
NSClientPlayer: allow player to hold down Secondary attack after holding down Primary. 2023-01-18 21:31:36 -08:00
Marco Cawthorne 5f011a28dd
Shared: Removal of Game_Input(). 2023-01-11 17:41:49 -08:00
Marco Cawthorne 1069468be1
Client: add cvar net_debugUpdates, to show which entity updates.
NSSurfacePropEntity: Add method: TimeSinceDeath()
Also further improvements to consistency of cvars, etc.
2023-01-08 13:18:57 -08:00
Marco Cawthorne b2925d46e4
Lots of small clean ups and microoptimisations. ambient_generic has also been fixed in multiplayer and made to save more bandwidth.
Rename a bunch of cvars to be more in a more consitent style similar to later id Tech games.
2023-01-05 23:41:48 -08:00
Marco Cawthorne dbf511dfb9
NSClientPlayer: add extrapolation of other clients, should be a lot smoother players all around now. 2023-01-05 15:31:25 -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 534b249ac4
Client: Call Weapons_PreDraw() inside NSClientPlayer's predraw. 2022-12-31 17:49:15 -08:00
Marco Cawthorne 27b0c26a12
Documentation improvements for platform, vgui etc. headers and files. 2022-12-30 00:15:10 -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 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 74b61f35ed
Print a warning + backtrace when we manually call remove() on an entity that hasn't been destroyed properly. 2022-11-30 16:47:24 -08:00
Marco Cawthorne 2c6da152ed
Clean up more and more warnings fteqcc yells about 2022-11-30 14:21:55 -08:00
Marco Cawthorne 5f126516c6
Server: Add new global g_dmg_vecLocation, which gives an approximate damage impact location. 2022-11-11 15:04:11 -08:00
Marco Cawthorne 39854c0740
NSClientPlayer: UpdatePlayerAnimation() is now calling when running player physics, and also run seperately for non predicted player entities during predraw. 2022-11-11 14:18:14 -08:00
Marco Cawthorne bb92aaf37f
NSClientPlayer: Fix ladder climbing sounds from not playing. 2022-11-10 15:41:42 -08:00
Marco Cawthorne 003bc5d88a
Removal of Footsteps_Update outside of NSClientPlayer. Mods now have the full ability to override steps within the player class. Method name subject to change. 2022-11-01 19:54:56 -07:00
Marco Cawthorne 843dcc8284
Kill src/client/player.qc. We now have overridable methods dedicated for updating player animations, attachments and more inside NSClientPlayer.
Some of these APIs are still subject to change but they're being deployed in TW 1.35 right now.
2022-11-01 19:12:40 -07:00
Marco Cawthorne e499a7d484
Documented the Nuclide System (NS) classes. 2022-10-14 13:08:47 -07:00
Marco Cawthorne 05eb10904e
func_vehicle: Make it shared/predicted. The smoothest it's ever been! 2022-08-28 09:20:34 -07:00
Marco Cawthorne 146051dd67
Proper nonvirtual declarations for class methods. 2022-08-24 15:11:04 -07:00
Marco Cawthorne 7c40100e46
Cleanup time for some of our base classes. Go over Show/Hide methods, and document
the EFFECTS fields we have available. Since we do our own networking mostly we can reuse
some that are only available via CSQC (or NQSSQC)
2022-08-24 14:05:59 -07:00
Marco Cawthorne 517614fd37
Major overhaul that'll make savegames a lot better. Every entity we implement should have a Save/Restore function.
AI noes recalculates their route in case of a loaded savegame... And much more.
2022-08-10 14:24:06 -07:00
Marco Cawthorne a4a0cc3c43
build.cfg: Bump BUILD_ENGINEREVISION to 6303, thus fixing FreeTS from not compiling.
Shared: Fix that colormap was evaluated as part of PLAYER_VELOCITY instead of PLAYER_MODELINDEX
This is a minor optimisation.
Add NSClientPlayer::OptimiseChangedFlags...
2022-08-09 09:05:31 -07:00
Marco Cawthorne 5ca96bbcd9
Add helpers across the codebase to deal with networking ents. I tried prototyped a more elegant solution the compiler didn't like - the language should really deal with this. 2022-08-07 14:12:55 -07:00
Marco Cawthorne 6d8273331a
Client: Replace rogue setproperty calls with ones talking to our g_view object 2022-08-05 21:15:19 -07:00
Marco Cawthorne d7418151f0
Client: Disable some expensive routines when paused. 2022-07-18 10:02:04 -07:00
Marco Cawthorne 66b09de431
Big commit fixing many regressions since crunch hit. env_sprite has been reworked.
multi_manager entities now behave correctly when calling themselves in MULTITHREADED mode.
Remove GS_RENDERFX option. Too many entities rely on its functionality anyway.
Fixed some rendermode behaviour - ladders will no longer be visible.
You can now see the playermodel (and no longer the viewmodel) in mirrors.
Fixed a lot of warnings.
2022-07-07 09:10:14 -07:00
Marco Cawthorne 5691fe518f
prop_rope: Minor performance boost. Add cvar rope_maxsegments. 2022-06-27 12:16:11 -07:00
Marco Cawthorne d1a90e9aa4
NSClientPlayer: Allow weapon input when in intermission & in vehicle, so the intermission end can get triggered. 2022-06-20 11:45:50 -07:00