Commit Graph

459 Commits

Author SHA1 Message Date
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 1b6cb974ed
PropData: Add Nuclide specific extension that allows developers to specify which submodels to use when spawning 'BreakModel' gibs. 2022-11-11 15:03:17 -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 841e89e2c5
Physics_WaterMove: Fix the mistake of changing watertype to WaterLevel() which were two different things. 2022-11-02 14:44:26 -07:00
Marco Cawthorne e9f735adc5
NSVehicle: Remove any velocity from the driver when they're attached to a vehicle. 2022-11-01 20:16:25 -07: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 2945e1f65d
Add support for Source Engine decal groups (scripts/decals.txt). 2022-10-27 20:04:11 -07:00
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 dcfdf531ce
Move the duties of hlmaterials.txt into surfaceproperties.txt, since Source has a 'gamematerial' keyword we should use instead. 2022-10-16 00:36:18 -07:00
Marco Cawthorne f01e90ad2e
Merge material property definitions into the surfaceproperties system to streamline
everything more and to allow level designers custom properties without recompiling
the game-logic. This will also make it more Source Engine compatible.
2022-10-15 22:43:32 -07:00
Marco Cawthorne db2d3b1730
Get rid of hlmaterials.qc by making the look-up happen fully within NSMaterial.qc as part of the newly unified material routines.
There's also a new file (hlmaterials.txt) that is subject to change which will allow you
to add many custom material definitions without hard-coding a thing. Which fixes conflicts between different GoldSrc games.
2022-10-15 20:32:40 -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 e499a7d484
Documented the Nuclide System (NS) classes. 2022-10-14 13:08:47 -07:00
Marco Cawthorne 45d58a8742
leave comment in base/mapcycle.txt 2022-10-03 14:43:52 -07:00
Marco Cawthorne b92a3a9da5
PMove_Custom: Go over some checks, one trace_fraction check was wrong and caused us to not slide along rotating brushes (doors) properly. 2022-09-12 23:07:33 -07:00
Marco Cawthorne 3117042eef
NSRenderableEntity: give glowmod more precision over the network for shader enhancements... 2022-09-12 22:32:02 -07:00
Marco Cawthorne 2838984603
NSRenderableEntity: Network .frame1time whenever .frame changes. 2022-09-12 14:06:31 -07:00
Marco Cawthorne 30195592ce
PMove_Custom: add LADDERFACING define so mods can decide whether clients have to face a ladder brush in order to climb it.
PMoveCustom_AccelLadder: calculate jump velocity depending on the direction facing the ladder.
2022-09-12 08:17:20 -07:00
Marco Cawthorne 843ef32908
PMove_Custom: unset the FL_ONLADDER flag when not directly facing a ladder 2022-09-11 14:14:40 -07:00
Marco Cawthorne 2aa6917026
Get rid of this debug line in NSTalkMonster 2022-09-10 11:21:13 -07:00
Marco Cawthorne 6c7e3e8c06
NSRenderableEntity: add new overridable method (void) HandleAnimEvent(float, int string)
Also fix the mouth-flapping on NSTalkMonster.
2022-09-10 09:56:15 -07:00
Marco Cawthorne 30a482e80e
NSVehicle: add two new overridable methods. (bool)PreventPlayerMovement and (bool)PreventPlayerFire 2022-09-08 13:59:18 -07:00
Marco Cawthorne 04fe295035
NSVehicle: don't change the drivers' movetype 2022-09-08 13:38:02 -07:00
Marco Cawthorne 5a7d082af7
Move touch handlers into NSTrigger, remove trigger_multiple's own version of the team check. 2022-08-31 15:18:06 -07:00
Marco Cawthorne 31bb9b4042
Abstract timers to make sure MOVETYPE_PUSH entities are handled without game/mod developers having to think much about them.
Also change rechargers to MOVETYPE_NONE instead of PUSH, as it won't be moving anyway.
2022-08-31 13:24:55 -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 9e675c212d
Implement 'cleardecals' client command, as well as an SVC_CGAMEPACKET for servers to request clients' clear their decal cache. 2022-08-27 22:05:31 -07:00
Marco Cawthorne 27529eb3a6
NSTimer: Add SetupTimer(entity, void(), float, bool) and RunTimer() methods. 2022-08-27 11:21:11 -07:00
Marco Cawthorne 267a956ec9
NSEntity: add Disappear() method. Mods that used Hide() to remove an entity from the active game will have to switch to this instead. 2022-08-27 11:20:38 -07:00
Marco Cawthorne 7a252ad213
NSEntity: new methods to simplify a lot of common tasks added. ScheduleThink(void(), float) and WithinBounds(entity) will surely be helpful.
Went over gs-entbase/server and made sure to use the new Think handlers to safely deal with MOVETYPE_PUSH
and handle any fun edge cases where time may be 0.0f.
func_breakable has also been fixed, since the changed Show/Hide behaviour prevented
them from getting destroyed fully.
2022-08-26 15:39:00 -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 146051dd67
Proper nonvirtual declarations for class methods. 2022-08-24 15:11:04 -07:00
Marco Cawthorne a6da238e53
effects.h: Document EF_GREEN, which I missed. 2022-08-24 14:44:16 -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 fcf846dee0
NSIO: Check is entity was freed before calling Respawn() 2022-08-12 12:58:26 -07:00
Marco Cawthorne 7228c0d43a
NS{Entity,RenderableEntity,SurfacePropEntity}: network avelocity in a separate check 2022-08-11 14:19:10 -07:00
Marco Cawthorne bc2f56b6d1
NSView: Don't run stair smoothing code when we're going up on elevators/platforms.
Change some type names around for consistency.
2022-08-10 16:51:26 -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 db74cf6ffa
NSRenderableEntity: Network .skin as a float for now for better precision for special cases. 2022-08-10 14:38:16 -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 dd86e5a583
NSIO: Add SaveEntity/ReadEntity methods to help Save/Restore operations 2022-08-05 21:36:47 -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 81b4bc042f
func_illusionary/wall: Only makestatic() when our rendermode is RM_NORMAL 2022-08-05 20:02:24 -07:00
Marco Cawthorne 8729e973ad
PMove: Define waterlevels more appropriately. Add WATERLEVEL_{OUTSIDE,KNEE,CHEST,SUBMERGED} types. 2022-08-05 14:44:42 -07:00
Marco Cawthorne baab5c931c
NSView: Take over some duties 2022-07-29 16:25:02 -07:00
Marco Cawthorne 9183958893
Update README.md, suppress some warnings 2022-07-25 13:10:40 -07:00