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
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
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
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
7ad6d9c457
Make games buildable again, caused by renaming Spraylogo and GameRules classes/files.
2022-10-14 15:49:59 -07:00
e499a7d484
Documented the Nuclide System (NS) classes.
2022-10-14 13:08:47 -07:00
45d58a8742
leave comment in base/mapcycle.txt
2022-10-03 14:43:52 -07:00
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
3117042eef
NSRenderableEntity: give glowmod more precision over the network for shader enhancements...
2022-09-12 22:32:02 -07:00
2838984603
NSRenderableEntity: Network .frame1time whenever .frame changes.
2022-09-12 14:06:31 -07:00
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
843ef32908
PMove_Custom: unset the FL_ONLADDER flag when not directly facing a ladder
2022-09-11 14:14:40 -07:00
2aa6917026
Get rid of this debug line in NSTalkMonster
2022-09-10 11:21:13 -07:00
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
30a482e80e
NSVehicle: add two new overridable methods. (bool)PreventPlayerMovement and (bool)PreventPlayerFire
2022-09-08 13:59:18 -07:00
04fe295035
NSVehicle: don't change the drivers' movetype
2022-09-08 13:38:02 -07:00
5a7d082af7
Move touch handlers into NSTrigger, remove trigger_multiple's own version of the team check.
2022-08-31 15:18:06 -07:00
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
05eb10904e
func_vehicle: Make it shared/predicted. The smoothest it's ever been!
2022-08-28 09:20:34 -07:00
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
27529eb3a6
NSTimer: Add SetupTimer(entity, void(), float, bool) and RunTimer() methods.
2022-08-27 11:21:11 -07:00
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
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
acaa918403
NSTimer: initial implementation of an object timer. Handles temporary (self garbgage collecting) timers as well.
2022-08-25 18:52:04 -07:00
146051dd67
Proper nonvirtual declarations for class methods.
2022-08-24 15:11:04 -07:00
a6da238e53
effects.h: Document EF_GREEN, which I missed.
2022-08-24 14:44:16 -07:00
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
fcf846dee0
NSIO: Check is entity was freed before calling Respawn()
2022-08-12 12:58:26 -07:00
7228c0d43a
NS{Entity,RenderableEntity,SurfacePropEntity}: network avelocity in a separate check
2022-08-11 14:19:10 -07:00
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
2526751db1
Clean up some areas where float logic happens to prepare for the compiler flag 'assumeint'
2022-08-10 16:15:44 -07:00
db74cf6ffa
NSRenderableEntity: Network .skin as a float for now for better precision for special cases.
2022-08-10 14:38:16 -07:00
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
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
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
dd86e5a583
NSIO: Add SaveEntity/ReadEntity methods to help Save/Restore operations
2022-08-05 21:36:47 -07:00
6d8273331a
Client: Replace rogue setproperty calls with ones talking to our g_view object
2022-08-05 21:15:19 -07:00
81b4bc042f
func_illusionary/wall: Only makestatic() when our rendermode is RM_NORMAL
2022-08-05 20:02:24 -07:00
8729e973ad
PMove: Define waterlevels more appropriately. Add WATERLEVEL_{OUTSIDE,KNEE,CHEST,SUBMERGED} types.
2022-08-05 14:44:42 -07:00
baab5c931c
NSView: Take over some duties
2022-07-29 16:25:02 -07:00
9183958893
Update README.md, suppress some warnings
2022-07-25 13:10:40 -07:00
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
bda01e0f0f
Shared: NSLog should just take whatever N args
2022-07-20 16:48:41 -07:00
df738da436
Get rid of src/gs-entbase/shared/{baseentity.h,env_sprite.h}
2022-07-20 16:38:12 -07:00
30b4007894
Get rid of src/gs-entbase/baseentity.h
2022-07-20 16:33:52 -07:00
197ce20c31
BotLib: Start making use of some of NSNavAI
2022-07-20 16:27:24 -07:00
356319a7b7
NSVehicle, NSPhysicsEntity get Save/Restore methods
2022-07-19 15:49:35 -07:00
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
dc1cbc5da8
NSMonster: add InSequence() method. Fix scripted sequences.
...
PMove: use self.mins instead of PHY_HULL_MINS when testing friction.
disable friction for monsters for now, as it can break some scripted sequences.
2022-07-18 11:32:18 -07:00
d7418151f0
Client: Disable some expensive routines when paused.
2022-07-18 10:02:04 -07:00