Commit graph

1400 commits

Author SHA1 Message Date
440f4b047f
PropData: Rewrite how BreakModel entries are precached, now that the model line no longer is just a path to a model. 2022-11-11 15:31:38 -08:00
8b15c59ecd
func_breakable: use BreakModel_Spawn instead of FX_BreakModel. 2022-11-11 15:04:33 -08:00
5f126516c6
Server: Add new global g_dmg_vecLocation, which gives an approximate damage impact location. 2022-11-11 15:04:11 -08:00
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
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
298ba7a041
NSTraceAttack: offset decals a little when placing them near a wall so they don't count as inside of them on certain angles. 2022-11-10 17:21:56 -08:00
bb92aaf37f
NSClientPlayer: Fix ladder climbing sounds from not playing. 2022-11-10 15:41:42 -08:00
841e89e2c5
Physics_WaterMove: Fix the mistake of changing watertype to WaterLevel() which were two different things. 2022-11-02 14:44:26 -07:00
e9f735adc5
NSVehicle: Remove any velocity from the driver when they're attached to a vehicle. 2022-11-01 20:16:25 -07:00
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
606edfadcc
Get rid of unused functions inside src/client/predict.qc that were long deprecated. 2022-11-01 19:23:18 -07:00
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
2945e1f65d
Add support for Source Engine decal groups (scripts/decals.txt). 2022-10-27 20:04:11 -07:00
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
d4ce7cb8c2
Documentation: started documenting all the functions in src/server/entry.qc 2022-10-10 12:30:31 -07:00
3a280f70f9
Documentation: Start documented all entry functions in src/client/entry.qc 2022-10-10 11:45:23 -07:00
45d58a8742
leave comment in base/mapcycle.txt 2022-10-03 14:43:52 -07:00
0713c390b9
Menu-FN: Force _pext_vrinputs to 0 upon init, as the physics will otherwise break. (FTEQW issue) 2022-09-25 16:29:20 -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
b3755bf0a2
func_pushable: func_pushables shouldn't collide with anything but BODY type objects for now
to work around the collision issues on maps such as cs_estate
2022-09-12 14:01:51 -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
02a1218ee7
func_vehicle: unset any velocity applied to our driver, since they're sticking to us. 2022-09-11 13:56:11 -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
9deb12b68d
func_breakable: This still used Hide() for some reason, changed to Disappear()
Misc cleanup.
2022-09-02 22:02:54 -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
1bb1f03167
Tweak item_pickup/drop behaviour a little 2022-08-27 22:07:03 -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
c67e4b5276
NSView: move constructor and set the sensitivity defaults. 2022-08-25 18:35:20 -07:00
adecdb12f3
NSView: add get/set Sensitivity methods 2022-08-25 18:31:33 -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
3c673dcf6d
func_recharge: Only gives 30 armor points in multiplayer. 2022-08-24 10:26:20 -07:00
3ae65d41b7
func_plat: fix typo in ::Restore method, thanks heartologic for spotting 2022-08-22 08:32:12 -07:00
fcf846dee0
NSIO: Check is entity was freed before calling Respawn() 2022-08-12 12:58:26 -07:00
015eaa34fd
NSView: add cvar r_showView for debug information 2022-08-12 12:58:09 -07:00
7228c0d43a
NS{Entity,RenderableEntity,SurfacePropEntity}: network avelocity in a separate check 2022-08-11 14:19:10 -07:00
55427f718a
func_wall: Fix messup where the client game set it to SOLID_NOT 2022-08-11 14:18:28 -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
409ee3fa1f
Client: force set r_fullbrightSkins to 0 because otherwise the engine will mess with lighting on any entity with a colormap 2022-08-07 15:03:38 -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
41d3f3b520
func_water: Don't assign the toggle spawnflag. I don't know where that came from - this should fix sh_hdgibfactory 2022-08-07 13:24:55 -07:00
9e170795d5
func_tank/tankmortar: Make the smoke and flash sprites assume RM_ADDITIVE 2022-08-05 23:27:48 -07:00
6c09154f08
multi_manager: Clean up warnings 2022-08-05 22:21:21 -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
8a9c26daef
Client: Remove the game specific MUZZLE index definitions, as they're really only used in some of the sub-games. 2022-08-05 14:45:29 -07:00
8729e973ad
PMove: Define waterlevels more appropriately. Add WATERLEVEL_{OUTSIDE,KNEE,CHEST,SUBMERGED} types. 2022-08-05 14:44:42 -07:00
8532f1264f
Util_GetKeyString: Switch to findkeysforcommandex 2022-08-05 13:38:09 -07:00
0e77bad51d
Menu-FN: Initial implementation of CComboBox 2022-08-04 11:57:26 -07:00
6ce1961792
NSView: Document our header a bit more. 2022-08-03 18:41:11 -07:00
caefb77078
NSView: Move stair smoothing etc. into our class. 2022-08-03 10:50:44 -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
8fccdcbad1
build.cfg: Bump BUILD_ENGINEREVISION to include qqshka's FTEQW fix. 2022-07-19 18:09:40 -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
6ff42e4176
NSNavAI: Continously check whether we can already run to the next node, and target that if that's the case. 2022-07-18 11:51:48 -07:00
f6ecc97fca
Server: Ignore scripted_sequences when building nodes. This was a wrong assumption. 2022-07-18 11:39:57 -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
0ae901f5e1
NSMonster: Add InAnimation() method. Also prohibit movement when in an animation. 2022-07-18 09:22:18 -07:00
0d2e0627d4
Server: Added quick-and-dirty 'spawn' command. E.g. 'sv spawn monster_laidlaw' 2022-07-17 20:45:50 -07:00
4566d07313
NSMonster/NSTalkMonster: more reshuffling done. Started moving the pathfinding components over into a new class named NSNavAI 2022-07-17 20:34:19 -07:00
b275275652
GS-EntBase: Initial documentation for info_hint. 2022-07-17 09:04:16 -07:00
6c895d73b7
NSMonster: Initial work towards reworking states. 2022-07-17 00:04:01 -07:00
725a32a4d6
Menu-FN: Set up pkgname defaults for 'valve', so that the menu will go straight to the updater. 2022-07-16 16:51:37 -07:00
85cd67b798
Merge pull request #6 from dqus/monsters-clean-up
NSMonster: move enemy invalidation from AttackThink() to SeeThink()
2022-07-16 16:40:37 -07:00
Ivan Kukush
ea462ea8ac NSMonster: move enemy invalidation from AttackThink() to SeeThink()
During enemy invalidation reseting m_eEnemy to __NULL__ also set monster state to idle,
should be a task for NSMonster::SetEnemy() which is missed right now.

Add new NSMonster::IsValidEnemy(entity enemy) - returns TRUE if 'enemy' should be
considered a valid target for killing, visibility/reachability is not checked.

Add sanity checkes in NSMonster::WalkRoute() otherwise __NULL__ m_eEnemy could be used.

NSMonster_FindClosestPlayer() use IsValidEnemy() insead of health checking,
probably too strict and that changes its behaviour too much, probably.
2022-07-17 01:35:22 +03:00
878df0941e
Cleanup for some CGameRules method types. Moved some Util_ functions into their own file. 2022-07-16 15:11:33 -07:00
c3be8002ad
add noref to g_mapcycle_override, to avoid an unnecessary compiler warning 2022-07-16 13:16:23 -07:00
Ivan Kukush
e3fcc1f57f PMove: add a bunch of comments so peole would be aware of issues/limitations 2022-07-16 00:19:31 +03:00
Ivan Kukush
9455596a3a PMove: make sv_maxspeed actually controlls players speed 2022-07-16 00:17:54 +03:00