Commit Graph

56 Commits

Author SHA1 Message Date
Marco Cawthorne 578da4a779
Add VGUI_Active() which returns whether or not we're drawing VGUI elements,
add SNDFL_ALERTS to sound shaders, which will alert enemy AI of suspicious
behaviour, fix a health-setting bug in NSSurfacePropEntity and remove
playerslot check in item_pickup from base/
2022-01-28 16:02:00 -08:00
Marco Cawthorne f0a8fa0889
Client: Games can now override base-Nuclide commands. 2022-01-25 20:06:40 -08:00
Marco Cawthorne 06d07738b6
Clean up the base classes, get rid of having to manually include the entbase
defs.h for the respective progs.
2022-01-20 16:23:29 -08:00
Marco Cawthorne 30e0ca9ad5
Client: Auto-load waypoints for current map when first opening way_menu.
Add cvar: way_autoload
2021-12-18 16:27:28 -08:00
Marco Cawthorne c2e4050bae
Replace CSQC_Parse_Damage with our own, add EV_DAMAGE. Make sure trigger_hurt
respects the 'damagetype' field. Add CSQC_UpdateSeat to make querying of
the current player seat easier (splitscreen).
2021-12-17 18:20:30 -08:00
Marco Cawthorne c8a6b1f123
Added support for _detail.txt definitions, allowing maps to specify detail
textures. New cvars: r_detailtextures, r_detailtexture_xscale, r_detailtexture_yscale.
2021-12-15 11:17:25 -08:00
Marco Cawthorne a8e4cd5748
NSEntity: Make sure .scale affects SetSize() calls and is updated with
SetModel() calls. Also keep track of original .mins/.maxs in case scale
changes.
2021-11-10 02:33:31 +01:00
Marco Cawthorne b670c994c1
build_engine.sh: Support building of HL2/SRC2004 content via the new plugin
that you can enable in build.cfg...
base_player: Add MakeTempSpectator() and MakePlayer(), so gamemodes have it
easier to handle in-game status changes...
NSRenderableEntity: Add support for 'modelscale' key
2021-11-09 17:33:16 +01:00
Marco Cawthorne 24070f9e37
Client: Secondary attack will now hide the weapon selection HUD overlay. 2021-11-06 08:24:12 +01:00
Marco Cawthorne c22b001f60
Cleanup: get rid of the ancient Font_LoadFont() wrapper, pipe _all_ text
font info through our internal font_s data structure.
2021-11-04 22:48:19 +01:00
Marco Cawthorne aa0ccf4413
Add test_grenadeclip.
Add helper functions to convert RGB255 to ^x color codes.
Small fixes for fonts in vguilib.
2021-11-03 21:54:43 +01:00
Marco Cawthorne 0a4b0ea795
Client: Move Damage_Draw() and Damage_Precache() out of here, into the
game-specific realm
2021-10-21 23:30:42 +02:00
Marco Cawthorne 249e4bc612
Massive revamp of the Nuclide system classes, more efficient networking
and memory usage thanks to intelligent boxing of fields.
Added Util_TimeToString, removed old VOX code, added lots of new helper
classes...
2021-10-20 01:19:10 +02:00
Marco Cawthorne 3bceff6a2c
Implement and parse the propdata system from Source 2004 and make our
func_breakable entity aware of it.
2021-09-17 19:31:22 +02:00
Marco Cawthorne f884b3d35d
Separate networking between CBaseEntity and CBaseMonster, needs
cleaning.
2021-09-12 00:13:24 +02:00
Marco Cawthorne d94a5f33eb
GS-EntBase: Add prop_vehicle_driveable, for model based 4-wheel
vehicles.
2021-09-11 22:43:14 +02:00
Marco Cawthorne bc2fbb4a69
Implement setpos() and setang(). The engine provides setpos, but
we may want to declare it for possible future overrides.
2021-09-09 19:03:26 +02:00
Marco Cawthorne 5578b0e602
GS-EntBase: Add client-side prediction for func_tankmortar. 2021-09-08 20:17:13 +02:00
Marco Cawthorne 527318bd65
Deprecate CBaseFX, introduce .predraw for weapon functions. 2021-09-02 09:39:37 +02:00
Marco Cawthorne 9fa091db43
Reserve 3 SRC'04 rendermodes, implement RM_DONTRENDER. 2021-09-01 22:41:11 +02:00
Marco Cawthorne 57f1408b8c Add UpdateView() to CBaseVehicle, to let vehicles override the
camera properties in CSQC_UpdateView before rendering.
2021-09-01 15:19:50 +02:00
Marco Cawthorne 34505bcacf GS-EntBase: Fix crash with vehicles by networking them separately
from CBaseEntity, which will assign the needed client-side input
method for prediction
2021-08-28 21:25:38 +02:00
Marco Cawthorne e28de86415 Call DSP_UpdateSoundscape(), seems I forgot all about it! 2021-08-27 11:35:59 +02:00
Marco Cawthorne d4fccac03f Work towards making vehicles predicted, this is ongoing. 2021-08-19 17:54:08 +02:00
Marco Cawthorne ca9e42a49c Add 'testPointLight' command. 2021-08-06 08:46:12 +02:00
Marco Cawthorne 0ca3d03927 Remove some debug stuff. 2021-08-01 11:21:24 +02:00
Marco Cawthorne 1ec3cf2e8e Decouple Camera/Viewmodel effects from src/ into base/src/ 2021-08-01 08:53:21 +02:00
Marco Cawthorne 3ef55c5e48 build_engine.sh: iqm has been renamed to iqmtool, so adjust those basenames 2021-07-20 12:19:27 +02:00
Marco Cawthorne e13323e07d Client: when 'buildcubemaps' is running, make sure the views are centered
at all times to avoid FTE dumping weird projections
2021-07-09 22:18:25 +02:00
Marco Cawthorne 3d236a64ed Client: console command 'dev_sunpos' will now also report the sunangle and
pitch values for a light_environment entity.
2021-07-02 13:43:58 +02:00
Marco Cawthorne 88e5084f38 Client: Added Entities_RendererRestarted, giving entity classes a chance
to reload their assets. env_glow and prop_rope support in this commit.
2021-06-27 09:55:48 +02:00
Marco Cawthorne e42b714458 Client: Added Font_LoadFont() as a wrapper for loadfont(), which will
parse definitions located in the filesystem instead of hardcoding font
paths and sizes.
2021-06-26 21:45:46 +02:00
Marco Cawthorne 243c875a3f CBaseTrigger: Add support for Source Engine's FireUser/OnUser 1-4 trigger
inputs/outputs.
2021-05-29 10:52:47 +02:00
Marco Cawthorne 2082f1355a Menu-FN: Parse liblist.gam files instead of relying on manifests outright. 2021-05-28 10:26:42 +02:00
Marco Cawthorne 448b9bd20d Client: MakeStatic func_wall ents where we can do it on.
Shared: Bench PMove_Run using the engines builtin runstandardplayerphysics
2021-05-16 23:08:08 +02:00
Marco Cawthorne 1485544b91 Base: Get rid of g_eAttacker, which had been replaced by g_dmg_eAttacker.
Go over TraceAttack and make it combine multiple Damage_Apply calls into
one.
2021-05-10 11:33:31 +02:00
Marco Cawthorne a3ecd78f17 CBaseMonster: support for spawnflag MSF_IGNOREPLAYER (64). 2021-05-10 08:14:10 +02:00
Marco Cawthorne e0a2f47f4d Dereference pSeat and pSeatLocal to __NULL__ instead, it's not like we ever
caught an error with the previous assignment anyway.
2021-05-08 23:06:11 +02:00
Marco Cawthorne 64745eb23c Overhaul prediction routines by boxing the generic client attributes away
from the game specific code. Add some helper macros... clean a whole bunch
up.
2021-05-08 17:44:16 +02:00
Marco Cawthorne 76507b3e9e Client: Handle EFX_Shutdown() for OpenAL Environmental FX 2021-05-07 16:29:24 +02:00
Marco Cawthorne eaff488dc2 Client: Add an OSD for various EFX debug info when s_al_debug is enabled. 2021-04-27 12:53:21 +02:00
Marco Cawthorne f09f5833e0 Introduced the new OpenAL EFX handling subsystem. It's fully user-definable
via plain-text definitions and allows even legacy/GoldSrc content to take
advantage of it.
2021-04-22 11:33:48 +02:00
Marco Cawthorne 44ab18793c Rearrange how we execute and time our player animation logic 2021-04-06 09:18:17 +02:00
Marco Cawthorne eeda69f6d2 Client: Damage indicators now use the spriteframe() builtin for precaches 2021-04-02 08:35:54 +02:00
Marco Cawthorne e5ba0406fd Added pSeatLocal, which is like pSeat but games no longer break if upstream
Nuclide expects new fields. You might have to migrate some fields over.
2021-03-31 13:40:27 +02:00
Marco Cawthorne b043b57ed5 Get rid of the View_EjectShell* functions I added last week and replace it
with the much cooler View_AddEvent() which allows for much more.
2021-03-29 21:52:53 +02:00
Marco Cawthorne 95739c7a20 Basic spectator implementation for all games. 2021-03-24 07:50:30 +01:00
Marco Cawthorne 69b087c7e4 Client: add View_EjectShell(); and integrate it. 2021-03-17 13:24:00 +01:00
Marco Cawthorne 00141d5ab0 Add View_PreDraw() and move View_Stairsmooth() into that. 2021-03-17 06:12:50 +01:00
Marco Cawthorne 46f9e1be0f Client: Add force parameter to Sky_Update() and make sure Sky_Update() is
called upon CSQC_RendererRestarted.
2021-03-08 01:45:15 +01:00