Commit Graph

85 Commits

Author SHA1 Message Date
Marco Cawthorne f8a3e227d4
NSItem: new entity class, designed to use with entityDefs. Subject to change (a lot). 2023-05-08 11:17:03 -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 d213ec110f
NSRenderableEntity: respect the MF_ROTATE .modelflag field. 2023-04-15 16:58:25 -07:00
Marco Cawthorne 8c58d635d3
VGUI: Stability improvements, start allowing overrides for VGUIButton and VGUIWindow based classes. 2023-04-03 11:13:55 -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 2c72d358ce
Sentences: Speed up the word search using hashtables 2023-03-24 10:48:04 -07:00
Marco Cawthorne c1a098b493
Impacts against models will now be tested against their materials. No more bitfield surfaceparm lookups in compiled models - simply set the surfaceprop inside the used material file.
However, since we don't get the full material path currently, the material has to be in the same dir as the model.
This may change if FTEQW exposes the full impact material path.
2023-03-17 11:35:27 -07:00
Marco Cawthorne c7709bb2d5
Add NSMoverEntity, a class that handles moving, pushing entity classes such as func_door and the like. 2023-03-13 19:12:54 -07: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 fea5ed574f
Shared: add crandom() implementation into defs.h 2023-01-17 16:39:57 -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 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