Commit Graph

74 Commits

Author SHA1 Message Date
Marco Cawthorne 29a1bea943
Misc consistency cleanups 2022-11-22 22:37:07 -08:00
Marco Cawthorne 2945e1f65d
Add support for Source Engine decal groups (scripts/decals.txt). 2022-10-27 20:04:11 -07:00
Marco Cawthorne 7ad6d9c457
Make games buildable again, caused by renaming Spraylogo and GameRules classes/files. 2022-10-14 15:49:59 -07:00
Marco Cawthorne acaa918403
NSTimer: initial implementation of an object timer. Handles temporary (self garbgage collecting) timers as well. 2022-08-25 18:52: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 2526751db1
Clean up some areas where float logic happens to prepare for the compiler flag 'assumeint' 2022-08-10 16:15:44 -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 ff17dea01f
Initial work towards the NSWeapon class. Testing will happen in base/ under the NEW_INVENTORY define.
Comitting this early to ensure nothing breaks and it'll co-exist.
2022-07-25 09:31:37 -07:00
Marco Cawthorne df738da436
Get rid of src/gs-entbase/shared/{baseentity.h,env_sprite.h} 2022-07-20 16:38:12 -07:00
Marco Cawthorne 2a220fb331
Move base classes out of gs-entbase. This evolution only happened because classes such as CBaseMonster that once existed were replaced and it grew from there.
Tweak g_developer prints for scripted_sequences.
2022-07-19 15:22:15 -07:00
Marco Cawthorne d7418151f0
Client: Disable some expensive routines when paused. 2022-07-18 10:02:04 -07:00
Marco Cawthorne 878df0941e
Cleanup for some CGameRules method types. Moved some Util_ functions into their own file. 2022-07-16 15:11:33 -07:00
Marco Cawthorne 220b424e33
Fix some misc Damage_Apply calls in really old parts of the code. Add more useful PlayerConnect/PlayerDisconnect methods into the base gamerules. 2022-07-14 18:04:11 -07:00
Marco Cawthorne 2735bd26f6
Server: Add cvar 'mp_foosteps', which only works in multiplayer. Hence the name. 2022-07-09 19:47:44 -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 a463498f60
Huge cleanup. Add initial code for the revamped material definition system. 2022-06-01 17:38:52 -07:00
Marco Cawthorne db97db6820
Menu-VGUI: Fix up, change Input() method to block input from other widgets 2022-05-24 13:04:48 -07:00
Marco Cawthorne bb2b7dbddf
NSClient: add method UpdateAliveCam()
UITextbox: Misc polish regarding text entry
GLSL: Detail pass support for some materials
2022-05-15 13:32:53 -07:00
Marco Cawthorne 1e0534c922
NSSpraylogo: Handle vid_reload's gracefully 2022-05-13 11:41:33 -07:00
Marco Cawthorne 25c54af62c
Spring cleaning part one. 2022-05-11 12:49:04 -07:00
Marco Cawthorne a039a69dd3
Ultimately remove the deprecated old class names for base entities. 2022-05-10 15:01:40 -07:00
Marco Cawthorne 9e0f93c796
Initial support for OpenXR. Remember to side-load the openxr plugin and set _pext_vrinputs to 1. 2022-05-07 17:58:22 -07:00
Marco Cawthorne e64e72d155
env_bubbles: Implementation. Should be complete.
NSIO: Add methods ReadBool(), SaveBool(), and PREDICTED_BOOL macro.
2022-04-30 20:18:56 -07:00
Marco Cawthorne cdfae26413
ambient_generic: Restructure and network more efficiently.
Client: add support for modelevent 1008 (CHAN_VOICE sound) and 1005 (plays Sentence)
2022-04-30 14:02:25 -07:00
Marco Cawthorne 70f32c97a4
NSVehicle: Add method CanDriverCrouch() to deal with player physics restrictions. 2022-04-27 15:03:00 -07:00
Marco Cawthorne 8e15f04c38
prop_physics_multiplayer: Initial implementation. Developed with the ODE plugin in mind. 2022-04-20 10:44:59 -07:00
Marco Cawthorne 1b2f587599
Shared: Deprecate ClientRemove() over OnRemoveEntity, which will work on both Client and Server.
prop_vehicle_drivable: Add minor collision boxes to aid player physics
Fix some warnings.
2022-04-12 23:48:31 -07:00
Marco Cawthorne 143a00e94e
Fix light_dynamic (static) from not spawning in CSQC. Add r_skipDiffuse to rtlight.glsl,
add SURF_PENETRATE, which will make bullets pass right through them when
BULLETPENETRATION is set. Go over and refactor a lot of base_client, player
and spectator code to facilitate both permanent and temporary spectators
better. Add experimental env_glow lens flare code. Fix material ID detection
bug for Q3 based BSPs. A couple helper functions were added to src/client/utils.cpp
but they are not yet final.
2022-03-17 21:05:47 -07:00
Marco Cawthorne 6fb067eed3
My name has changed, so an update to the copyright to reflect it. 2022-03-11 11:40:43 -08:00
Marco Cawthorne a687d7b330
Various tweaks to documentation inside the codebase, more verbose general
information prints to console to aid non-devs in sending bug reports and
finding other issues. Updates to some of the GLSL. Minor material fixes.
2022-02-23 01:17:05 -08:00
Marco Cawthorne 8cb4c35e23
Remove SendFlags with constants from NSEntity and peers, make full use
of EvaluateEntity() to decide which attributes to send network updates of.
2022-02-18 00:30:24 -08:00
Marco Cawthorne a3a5f9d626
Client: Some fixes for handling player/spectator classes, both share now the
same parent class on both client and server. Fix crash with spectators and
input-frame overrides. Add 'additive' command to fontdefs.
2022-01-31 17:38:01 -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 eb85121716
Add BUILD_ODE build.cfg setting. Add stubs for platform specific functions
like achievements, rich presense. Minor GLSL adjustments.
2021-11-20 17:27:52 +01:00
Marco Cawthorne 08c3a4a576
SurfData: Goodbye to DAMAGE_MATERIAL. We streamline that process now so
that all entities will use surfaceParm defined info by default unless
overriden by an entity. + Set up sane defaults for surface properties.
2021-11-13 01:38:20 +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 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 70fe95e5a7
Add support for Source styled surfaceproperties.txt definitions, which
is incorporated into func_breakable/pushable already. Mods can now control
material/surface properties without code.
2021-10-15 19:01:36 +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 cba54d3e2b
Added crossprint, changed input_sequence from int to float as
it's now integrated into the engine, however as a float (blame DP)
2021-09-15 22:44:31 +02:00
Marco Cawthorne 10b2ff1fca
Add setorigin_safe(), which is just like setorigin but pushes
entities upwards out of the ground.
2021-09-12 00:12:55 +02:00
Marco Cawthorne 4a2cde56cc
Clean up pseudorandom() a bit. 2021-09-02 09:47:48 +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 d4fccac03f Work towards making vehicles predicted, this is ongoing. 2021-08-19 17:54:08 +02:00
Marco Cawthorne 883a64b744 Remove ftebug_checkpvs(), undefined behaviour was causing things to pop
in and out of existence. There was no fault with FTE's implementation after
all. Change func_dustmotes, prop_rope and env_glow to querying player pos
more reliably.
2021-06-29 10:47:51 +02:00
Marco Cawthorne 97bc849abe Add cvar ftebug_checkpvs, to see work around something that hasn't been
fixed yet.
2021-06-28 19:52:36 +02:00
Marco Cawthorne 7f00e9354d Add shared/platform.h which will send hints as to what target platform
we're dealing with (pc, touch, web, console etc.)
2021-06-18 09:26:24 +02:00
Marco Cawthorne af139751e0 setmodel(): verify if model exists in PATH and set it to an error one if
it's not present.
2021-06-01 12:40:53 +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 c5cea7a162 Base: Weapons now track weight (for Weapons_SwitchBest)
BotLib: Add CreateObjective() method that can be overridden
2021-05-12 15:42:20 +02:00