Commit graph

1386 commits

Author SHA1 Message Date
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
Ivan Kukush
ac0e739170 PMove: swap heavy and light gasping sounds with each other 2022-07-16 00:14:06 +03:00
b06544aacc
PMove: crouching will no longer affect your movement underwater. noclip and crouching will no longer adjust the camera view and player bbox. 2022-07-14 21:38:54 -07:00
2f8b36c499
Get rid of pmove_water.qc and all that. 2022-07-14 21:29:53 -07:00
5ad849697e
Forgot to remove this define in pmove 2022-07-14 21:09:18 -07:00
93ba8c6cc9
Shared: Clean up some of the player_pmove code. Games can now via macros define some properties without overriding a method. 2022-07-14 21:02:31 -07:00
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
98afd5fa28
NSRenderableEntity: add SetBoneControl methods. 2022-07-10 16:39:15 -07:00
2735bd26f6
Server: Add cvar 'mp_foosteps', which only works in multiplayer. Hence the name. 2022-07-09 19:47:44 -07:00
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
4dc1dc1143
prop_rope: adjust multiplier to match the original sag strength 2022-06-27 19:57:15 -07:00
5691fe518f
prop_rope: Minor performance boost. Add cvar rope_maxsegments. 2022-06-27 12:16:11 -07:00
c994a9ebaf
Client: Add cvar cl_crouch_toggle (Default: 0) 2022-06-27 09:30:12 -07:00
e7339b124e
NSRenderableEntity: Use the new addlight for RFX_Q2PULSE. Needs engine version bump. 2022-06-27 08:31:41 -07:00
08706fcacb
BotLib: Basic respect for bot_skill cvar. 2022-06-22 15:25:08 -07:00