Commit Graph

37 Commits

Author SHA1 Message Date
Marco Cawthorne 36fdd443d2
Change 'material' over to 'surfaceprop'. Implement new networked event EV_SURFIMPACT.
Surfaceproperty impacts are now fully done on the client. Server has no concept of
impacts beyond the point of announcing them.
The next step: NSTraceAttack should be fully shared between client/server so
that the local player doesn't need to be told about their own EV_SURFIMPACT events
by the server, thus saving a bit of bandwidth.
2022-10-26 12:50:08 -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 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 a7d7dcd9ee
Change the last commit by turning this into an NSMonster specific function instead. 2022-06-08 17:41:02 -07:00
Marco Cawthorne 80099317cb
Entity_FindClosest: Don't return any entity of class "player" if their health is equal or below 0. 2022-06-08 17:35:56 -07:00
Marco Cawthorne 643211efae
Add helper functions Entity_FindClosests(string classname) and Entity_SelectRandom(string classname) 2022-05-26 13:25:02 -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 af6412e283
Networking improvements to NSEntity, NSRenderableEntity and NSSurfacePropEntity 2022-04-20 14:29:37 -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 9e9d5b1832
env_fog_controller: Initial implementation. Fully shared entity, tested on
d2_coast_XX maps in Half-Life 2.
2022-03-23 11:05:35 -07:00
Marco Cawthorne 750bb413e9
prop_rope: Now a shared (client/server) entity instead of just client. Will
now respect parenting so you can have very dynamic rope attachments in
the world.
2022-03-22 16:38:31 -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 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 12753616df
Remove some left-over junk code that no longer runs 2021-09-30 23:32:47 +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 5578b0e602
GS-EntBase: Add client-side prediction for func_tankmortar. 2021-09-08 20:17:13 +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 95739c7a20 Basic spectator implementation for all games. 2021-03-24 07:50:30 +01:00
Marco Cawthorne fc75a1be11 Base, Half-Life, Counter-Strike, Opposing Force and Scientist Hunt have
now been reworked to have fully networked ammo that's also fully affected
by rollback netcode. Big diff, mods WILL break. Beware.
2021-02-28 02:31:27 +01:00
Marco Cawthorne 4b5125d97f CBaseEntity: Optimisation in SendEntity regarding predictable defaults. 2021-01-21 01:29:26 +01:00
Marco Cawthorne 23c5d14420 Added func_monitor and point_camera. Along with a test_monitor map to
showcases rendertargets working.
2020-12-01 20:43:25 +01:00
Marco Cawthorne 1d02dccbb5 trigger_camera: Misc improvements, plus added test map. 2020-11-28 22:52:56 +01:00
Marco Cawthorne 1a3dca71ec env_projectedtexture: Initial implementation, updated map test_dlights. 2020-11-27 19:23:21 +01:00
Marco Cawthorne b6f9242752 info_particle_system: Initial implementation, along with example map test_particles. 2020-11-27 03:05:21 +01:00
Marco Cawthorne 4962f82f89 Move entity-update/event definitions for game-specific cases out of root
src/shared.
2020-10-24 13:11:02 +02:00
Marco Cawthorne d0342b128c light_dynamic: Initial implementation. Q3BSP maps can use 'dynamic_light'
to avoid confusing the compiler (...).
Renamed ReadEntity() to ReceiveEntity().
2020-10-22 02:23:05 +02:00
Marco Cawthorne d61afb0b63 Counter-Strike: Added client-side LED glow to WEAPON_C4BOMB 2020-08-17 05:38:39 +02:00
Marco Cawthorne 324fadd668 Spring cleaning. Prepare for summer! Fixed lots of bugs too:
v_camroll is now working again.
Counter-Strike is finally getting somewhere again.
Counter-Strike has pseudo spray-patterns now! They're all the same.
func_button now can be programmed to use Sound-Shaders.
The menu handles the vid_conautoscale command autonomously. Set r_autoscale
to 0 if you don't like it.
The menu has an updater, requires a not-yet-pushed build of FTE.
Don't use it yet.
Moved a lot of globals into pSeat's structs to fix splitscreen with them.
Made explosion decals be handled client-side!
Added trigger_look, env_sun and light_environment entities.
2020-04-12 15:50:42 +02:00
Marco Cawthorne f43bc2cf32 update copyright dates because I've been forgetting all year. 2020-04-07 14:46:23 +02:00
Marco Cawthorne cf136dbd6c Cstrike: Finished most of the essential gun logic. 2020-04-07 02:47:21 +02:00
Marco Cawthorne e5a3f0880c Starting to clean up more RenderFX stuff, shoving most of it to CGame 2020-03-30 16:22:24 +02:00
Marco Cawthorne 4bdefa4cd7 Big commit, list of additions:
Added stubs for a variety of monsters for 'valve' which a few mods inherit.
Added support for the 'vote' and 'callvote' command.
Made env_laser network some info to the clients, kinda rough because
we're working around some engine iffyness with CSQC ents right now.
Updated the menu so that the server-lists for Internet and LAN games are
a bit more helpful.
Made the CBaseMonster class for useful for the future.
Fixed setting of transparency for all entities.
2020-03-25 13:58:19 +01:00
Marco Cawthorne 673cf9dbf8 Manual networking of all base-entities. This shouldn't be necessary,
but, as the engine-bug that's as old as time itself that has been
responsible for prediction being wonky has still not been fixed, I have
to do this. Maybe it'll be for worse, maybe it'll be for the better.
2020-01-16 05:43:12 +01:00
Marco Cawthorne 875dc52c96 Networking: Add keepalive packet for players, so that prediction doesn't break. 2019-09-08 12:17:46 +02:00
Marco Cawthorne 44479cd637 Networking improvements. Make player entities and NPC networking
conditional. Only changed fields are networked. This is because the overall
design seems mature enough.
2019-09-07 21:01:05 +02:00
Marco Cawthorne 27707e37b6 Move things from the root src/ dir into the src/shared folder, as that
makes the most sense.
2019-09-07 05:50:44 +02:00
Renamed from src/entities.h (Browse further)