Commit graph

1679 commits

Author SHA1 Message Date
4a330ef3ce
PMove: improvements to liquid/waterlevel testing 2023-04-16 01:01:29 -07:00
5c4d693c0e
func_button: Fix buttons not being able to be shot more than once. 2023-04-16 01:00:10 -07:00
6d6e0cc6a6
func_door: deal with different content overrides better 2023-04-16 00:46:10 -07:00
2e3c547838
func_button: Fix SF_BTT_TOUCH_ONLY not being respected because the entity does not spawn being touchable 2023-04-15 23:06:35 -07:00
f4cadc74a8
Shared: CLASSEXPORT macro will now behaver nicer with non-class spawn functions. 2023-04-15 18:11:43 -07:00
7f79fc46a1
Add client-side stub for function Weapons_SwitchBest. 2023-04-15 17:24:49 -07:00
a4aa5e578c
trigger_teleport: When teleporting, use setorigin_safe() to guarantee our target pos is not inside the floor (fixes some teleporters in DMC) 2023-04-15 17:24:29 -07:00
d213ec110f
NSRenderableEntity: respect the MF_ROTATE .modelflag field. 2023-04-15 16:58:25 -07:00
0c5c714b79
GS-Entbase: Implementation of CS/DMC's env_fog entity. 2023-04-14 10:21:07 -07:00
405fe1cfa9
NSView: Mark certain methods as virtual (where it currently makes sense) 2023-04-09 11:34:50 -07:00
66945575ae
PMove: Fix not working when not setting #ifdef CUSTOMPLAYERPHYSICS 2023-04-08 11:21:35 -07:00
90685f2495
Introducing VGUITheme, so we can start removing the CLASSIC_VGUI ifdef and start overriding visual appearance on any widget or group of widgets. 2023-04-05 10:58:12 -07:00
9fc3503652
VGUIButton: add method SetKeyEquivalent() to handle hotkeys. 2023-04-03 12:59:33 -07:00
8c58d635d3
VGUI: Stability improvements, start allowing overrides for VGUIButton and VGUIWindow based classes. 2023-04-03 11:13:55 -07:00
41c20663a8
Client: text channel 0 now contains a message queue, so that multiple messages can stack without overriding one another 2023-03-28 16:36:21 -07:00
c475ee4afc
Menu-VGUI: Class VGUIWindow should not be resizable by default 2023-03-27 01:55:53 -07:00
5843fa3ef1
Menu-VGUI: Knew I forgot something. Thanks @Fix 2023-03-27 01:53:53 -07:00
338e89c06a
Add functions all about handling Message of the Day server info. Adds the motd console command, as well as motdfile. 2023-03-25 17:32:58 -07:00
6c0256782f
NSNavAI: Hack to fix navigation for monster_barney in c1a0d 2023-03-24 14:19:36 -07:00
84db9ea404
Menu-FN: Should use SEARCH_ALLOWDUPES to allow iterating over multiple files in a game dir 2023-03-24 13:22:12 -07:00
109e9418b3
Implement helper function NSAssert from OPENSTEP 2023-03-24 13:21:16 -07:00
2c72d358ce
Sentences: Speed up the word search using hashtables 2023-03-24 10:48:04 -07:00
8ec3d00e93
Save/load system stability improvements. 2023-03-23 17:04:34 -07:00
039d9937e9
ambient_generic: Add support for most Source Engine input triggers. Also fix a minor mistake in the QUAKED comment for level editors. 2023-03-22 00:24:12 -07:00
aed306cbd1
NSMoverEntity: call MoverStartsMoving() and MoverFinishesMoving() around arrival callbacks for entities that don't travel any distance. Fixing func_button entities from not toggling frames. 2023-03-22 00:22:47 -07:00
9463e2b6e3
info_waypoint: should probably set pvsflags to something encompassing. 2023-03-21 22:16:51 -07:00
a45591134c
info_waypoint: Initial implementation. This has nothing to do with AI (don't get any ideas just yet), but rather HUD information displays. 2023-03-21 22:03:27 -07:00
8e14d3707d
NSClientPlayer: roll back .basevelocity in Predict{Pre,Post}Frame 2023-03-18 20:01:02 -07:00
7b42befcb3
Networked versions of func_conveyor, trigger_push. Bounce pads should be much nicer. 2023-03-18 17:49:12 -07:00
c1a098b493
Impacts against models will now be tested against their materials. No more bitfield surfaceparm lookups in compiled models - simply set the surfaceprop inside the used material file.
However, since we don't get the full material path currently, the material has to be in the same dir as the model.
This may change if FTEQW exposes the full impact material path.
2023-03-17 11:35:27 -07:00
01be71e451
Client: 'buildcubemaps' will toggle r_skipEnvmap, which is now also defaulting to a black clear color (akin to Source) 2023-03-16 16:04:47 -07:00
64cb526943
env_cubemap: save to .ktx by default when issuing 'buildcubemaps' again. 2023-03-16 15:46:38 -07:00
9e6d6ee7f1
Client: Fix for buildcubemaps angles being overriden by some entity in the map or other. 2023-03-16 15:35:59 -07:00
8950666c69
Menu-FN: use the menutint material instead of a bland drawfill. 2023-03-15 15:16:34 -07:00
e2c4144a9c
point_trigger: Initial implementation of this entity. Requested as an alternative to make map entity hacking easier. 2023-03-14 16:19:07 -07:00
495b661b47
NSMoverEntity: Improvements so transformation and rotation is easier at the same time. 2023-03-14 00:06:19 -07:00
f92de15ca5
func_plat: Implementation using NSMoverEntity 2023-03-13 19:13:12 -07:00
c7709bb2d5
Add NSMoverEntity, a class that handles moving, pushing entity classes such as func_door and the like. 2023-03-13 19:12:54 -07:00
719f85210d
NSEntity: Fix SetNextThink doing occasional bogus fixups 2023-03-13 15:25:37 -07:00
7709c579c3
Minor documentation enhancements, QuakeEd entity comment color changes 2023-03-13 02:04:31 -07:00
8a9823a207
logic_auto: fix typo in docs that causes doxygen's markdown parser to burst 2023-03-12 16:07:14 -07:00
faaf67762f
Platform: minor cleanup, updated fonts/ 2023-03-12 16:00:31 -07:00
e4b5d5158a
Client: increase textmenu refresh 2023-03-01 23:15:41 -08:00
a36694d1f8
Client: Add shader precache fix for dlights/rtlights, this should eliminate the first shot of any game causing any stuttering 2023-02-24 12:24:24 -08:00
f0dcdc28c5
NSView: mark most methods as nonvirtual for the time being, until everything else is set in stone 2023-02-24 12:23:45 -08:00
5ad3931241
Remove platform/base_sound.pk3dir/ 2023-02-16 18:19:32 -08:00
27105fc996
Menu-FN: treat 'ftehl' the same as 'valve' when indexing MP levels 2023-02-16 17:55:16 -08:00
1ff0b3f9ac
Menu-FN: Various improvements to the menu for when no menu assets are available at all. 2023-02-16 17:24:09 -08:00
95db9c7924
env_glow: Fix some typo and register a missing nonvirtual method as such 2023-02-15 09:42:22 -08:00
952ec87038
env_glow: split predraw into more sub-functions to make profiling easier 2023-02-15 09:39:53 -08:00
23b671956f
Weapons_AddItem: Only count NSGameRules' MaxItemPerSlot() when we're adding a new weapon 2023-02-14 22:02:47 -08:00
86dfb3ff1a
Fix various compiler warnings. 2023-02-14 12:54:06 -08:00
c939e790e8
Menu-FN: ifdef the reference to g_ePreviewModel out in cz_cxHQModelChanged 2023-02-12 13:02:35 -08:00
9738a6a525
prop_dynamic/static: support for 'sequence' key 2023-02-11 22:38:23 -08:00
370396a415
Menu-FN: Parsing user.scr and settings.scr in Advanced options is now mostly done. Still need to support LIST type layout elements. 2023-02-11 17:10:43 -08:00
7518e743b9
Menu-FN: further work to make the Multiplayer > Customize menu more accurate 2023-02-10 13:50:36 -08:00
943897e5ba
Menu-FN: add options in the Multiplayer > Customize menu for HQ models (with preview) and voice chat settings 2023-02-09 19:08:47 -08:00
53c8665b11
Menu-FN: update spray related infokeys upon init 2023-02-09 17:12:31 -08:00
8761b73e4a
NSGameRules: add some debug info for damage applications 2023-02-09 17:11:39 -08:00
0bf0fd42d1
Crosshair: terrible hack to deal with vid_conautoscale being inconsiderate 2023-02-09 17:11:00 -08:00
855daac7e7
Menu-FN: ensure g_iModInstallCache is set to -1 upon init to avoid Custom Game from being glitchy from a fresh install. 2023-02-08 15:55:13 -08:00
f0d77627ea
NSClientPlayer: Ensure .scale is reset upon spawning 2023-02-07 16:21:33 -08:00
65f21af405
env_beam, env_laser, prop_rope: Use GetEyePos() to assign the proper player view position 2023-02-07 16:21:01 -08:00
fb4e08c2bf
NSClientPlayer: fix the view_ofs check in EvaluateEntity() 2023-02-07 14:01:25 -08:00
daf8512aa2
NSTalkMonster: Don't greet non-friendly players.
NSMonster: Improvements to alerting, turning and what to do when they lose their target.
NSInteractiveSurface: Unbreak it by allowing it to spawn in CSQC
Server: Spawn AI nodes for info_player_{start,deathmatch} when no real nodes are present
2023-02-06 16:41:19 -08:00
099dba11f6
Client: some titles/text messages have an uppercase newline character. so handle those as well. 2023-01-23 16:44:18 -08:00
6aa3206d2b
Server: skip SV_RunClientCommand when our clients aren't fully initialized yet. 2023-01-23 00:12:35 -08:00
993c2a6ebc
Shared: Expose INPUT_BUTTON6 and INPUT_BUTTON7 so mods can define some extra movement/weapon inputs for clients. 2023-01-22 20:06:06 -08:00
46f6bfc1d3
Client: add r_showTexts to aid debugging of env_message and game_text entities 2023-01-22 20:03:22 -08:00
66b773508d
Client: add console command 'listTitles' to aid debugging of titles.txt entries 2023-01-22 20:02:46 -08:00
441079b30c
NSRenderableEntity: take RenderFX setting into account before culling some networked info 2023-01-22 20:01:52 -08:00
638825af56
NSEntity: add GetSpawnAge() and GetSpawnTime() methods, which communicate when an instance of an entity was brought into the world. 2023-01-22 20:01:24 -08:00
baadd35ffd
NSTimer: add method StopTimer() and invalidate any thinks during OnRemoveEntity() 2023-01-22 20:00:36 -08:00
5617000f77
NSClientPlayer: allow player to hold down Secondary attack after holding down Primary. 2023-01-18 21:31:36 -08:00
9accdcb68a func_physbox: Use Disappear API call 2023-01-18 19:37:10 -08:00
655b5fa33e
NSEntity: add method IsFacing() which should make some common sneakish tasks easier. 2023-01-18 19:01:56 -08:00
fae4bc09e5
NSProjectile: some touchups in regards to the Spawned() method. 2023-01-18 17:33:09 -08:00
d562533111
NSProjectile: add AnimateOnce() method 2023-01-17 20:23:18 -08:00
fea5ed574f
Shared: add crandom() implementation into defs.h 2023-01-17 16:39:57 -08:00
19d7f30cc4 Replace some Hide calls with Disappear and we don't need this check in TalkMonster anymore 2023-01-17 13:37:03 -08:00
5f011a28dd
Shared: Removal of Game_Input(). 2023-01-11 17:41:49 -08:00
179a95088f
NSGameRules: Add overridable methods ImpulseCommand(NSClient, float) and PlayerRequestRespawn(NSClientPlayer).
Game_Input, the game specific function every game had to implement will be
deprecated to streamline the overall codebase. Migrate custom impulses into your gamerule overrides.
This will make it much easier to separate cheat impulse from the multiplayer game too.
2023-01-11 17:12:20 -08:00
1069468be1
Client: add cvar net_debugUpdates, to show which entity updates.
NSSurfacePropEntity: Add method: TimeSinceDeath()
Also further improvements to consistency of cvars, etc.
2023-01-08 13:18:57 -08:00
0ac1bc4b68
NSEntity: Add method CanSpawn(bool) which will be used to determine mainly if an entity is to be spawned on the client or server module (but it can also let a class handle under which other conditions it spawns)
NSEntity: move RestoreComplete() into NSIO because NSGameRules needs this.
2023-01-06 13:23:48 -08:00
b2925d46e4
Lots of small clean ups and microoptimisations. ambient_generic has also been fixed in multiplayer and made to save more bandwidth.
Rename a bunch of cvars to be more in a more consitent style similar to later id Tech games.
2023-01-05 23:41:48 -08:00
6ee21bc0ea
NSEntity: add attribute m_bIsBrush, which will be set if the entity is using a brush model. 2023-01-05 22:30:49 -08:00
dbf511dfb9
NSClientPlayer: add extrapolation of other clients, should be a lot smoother players all around now. 2023-01-05 15:31:25 -08:00
d7012bff5b
Remove debug print that is no longer needed. 2023-01-05 11:36:31 -08:00
2c5bf43c58
Fixed spectator inputs getting stuck and physics being run twice, due to the recent changes to SV_RunClientCommand. 2023-01-02 18:10:20 -08:00
534b249ac4
Client: Call Weapons_PreDraw() inside NSClientPlayer's predraw. 2022-12-31 17:49:15 -08:00
46eae742cb
VGUI: Make sure defaults are filled into the attributes inside Spawned() for inherited ones. 2022-12-30 18:01:47 -08:00
b356994beb
NSTrigger: SetTeam() will now assign an InfoKey to the target, if it's a client. 2022-12-30 13:54:28 -08:00
4322f1fd93
GS-EntBase: prevent light entities from overriding the first built-in lightstyles.
worldspawn: Assign two more lightstyles that Half-Life registers.
2022-12-30 13:53:42 -08:00
1bd9a5ea01
Menu-FN: Respect gameinfo_chatroom if it was set from a manifest override. 2022-12-30 12:09:23 -08:00
7fe51a3fa5
Platform: Fix missing return value change for Achievement_RequestStarts 2022-12-30 11:54:07 -08:00
27b0c26a12
Documentation improvements for platform, vgui etc. headers and files. 2022-12-30 00:15:10 -08:00
88131dbb9a
NSClient: add {Set,Get}InfoKey() methods. 2022-12-30 00:12:36 -08:00
3c71b49b49
Client: Add Cross_ helper functions. This will take care of common crosshair specific rendering tasks, as well as handle third-person and XR versions of crosshairs. 2022-12-28 16:48:57 -08:00
633046d28e
NSClient: Rename ClientInput() method in NSClient to ProcessInput(), as well as add SharedInputFrame() that can be overriden by the game. 2022-12-28 16:47:44 -08:00
ce7cf4519f
Server: Set cvar s_nominaldistance to 1000 upon init. Dedicated server needs this to play sounds properly. 2022-12-28 15:15:30 -08:00
81ad389668
cycler: Set the bbox to be that of standing player 2022-12-22 22:48:52 -08:00
4f37e31677
Client: Fix /n to \n replacement mapping in fun-strings, used by game_text
and titles.txt type text overlays.
2022-12-22 17:29:05 -08:00
142d69b66a
Remove Game_RunClientCommand() entirely, as it will be replaced by a game-mode equivalent. 2022-12-22 16:54:11 -08:00
466787b3ff
env_shooter: set skin on the gib entity. 2022-12-22 16:53:41 -08:00
ff7ce15399
SV_ParseClientCommand: Forgot to pass the default case over to clientcommand(). That is now fixed. 2022-12-22 16:29:02 -08:00
6c8d785ce2
env_shooter: Respect rendering modes, also add support for the 'shootsounds' key. snark_pit will be more complete now. 2022-12-22 13:02:45 -08:00
1acbd8a34d
Remove calls to Game_ParseClientCommand with per-gamemode overridable ClientCommand() method within NSGameRules.
Also redo the way chat messages are handled, so mods don't have to implement it themselves all the time.
2022-12-22 11:53:15 -08:00
da4501a90d
multi_manager: m_iValue needs to be set TRUE on the multi_manager_sub. 2022-12-21 17:10:25 -08:00
3eb85ae400
Documentation improvements to various headers, also g_developer prints. 2022-12-21 17:09:35 -08:00
30bbede463
Client: Fix network error when receiving shake event as spectator. 2022-12-21 13:46:55 -08:00
2d911109cc
trigger_relay: Set m_iValue so that multisources will work properly that get targetted by them
trigger_auto: Delay the trigger of them in singleplayer until 1 player has joined
Misc cleanups. The 'Janitor Simulator' on TWHL should work now.
2022-12-14 16:51:16 -08:00
33295ff409
env_beverage/item_food: Fix item_food not rendering and or spawning. 2022-12-13 23:16:00 -08:00
94d5d5408c
GS-EntBase: Adjust QUAKED comments so they can be parsed by Doxygen. 2022-12-13 17:52:20 -08:00
dfcf0d183d
NSMonster: Gib properly using Disappear() instead of Hide() 2022-12-13 17:45:33 -08:00
711548465a
env_beam/env_laser: Visual overhaul of env_beam. env_laser now also rebased using my work on env_beam. 2022-12-08 14:58:30 -08:00
0f9439b956
env_beam: Initial implementation. Visual fluff still missing, but coming up! 2022-12-07 17:05:50 -08:00
67634bf6e5
env_beam: move from gs-entbase/server to gs-entbase/shared 2022-12-07 12:48:34 -08:00
56ec44700a
Lots of cleanup related to many entity classes to aid doxygen with generating documentation. 2022-12-06 15:04:07 -08:00
6f3a1d1d52
infodecal: set drawmask in the constructor, fixes decals not rendering. 2022-12-06 01:11:35 -08:00
0891d9ea65
Platform: Set net_masterextra1 to broadcast. 2022-11-30 22:25:08 -08:00
82653683ba
Client: add the following console commands for debugging: listModels, listSounds, listParticles 2022-11-30 17:51:07 -08:00
41ccbca2aa
GS-EntBase: Fix some more places where remove() was being called directly when it shouldn't be 2022-11-30 17:26:50 -08:00
b593c2694b
GS-EntBase: use Destroy() over remove() where applicable. 2022-11-30 16:55:17 -08:00
74b61f35ed
Print a warning + backtrace when we manually call remove() on an entity that hasn't been destroyed properly. 2022-11-30 16:47:24 -08:00
2c6da152ed
Clean up more and more warnings fteqcc yells about 2022-11-30 14:21:55 -08:00
29a1bea943
Misc consistency cleanups 2022-11-22 22:37:07 -08:00
2265047bfe
Fix a bunch of nonvirtual/virtual mismatching going on that's been caught by the new compiler. 2022-11-16 14:04:10 -08:00
ecf5988584
PropData: Breakmodels now spawn fully client-side! This will remove a lot of network overhead. 2022-11-14 19:50:23 -08:00
cbc8fda92a
PropData: Might as well extend the syntax to allow for more than just submodel specification. BreakModel text definition can now also override rendercolor, renderamt, rendermode and renderfx! 2022-11-11 17:06:35 -08:00
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
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
87c706ded7
NSEntity: Respect 'team_no' entity key in all team games to filter out which team can touch what 2022-06-22 14:58:45 -07:00
cf5a4da751
NSTrigger: respect the 'message' key with any UseTargets call 2022-06-22 13:08:37 -07:00
8d16c58862
NSTraceAttack: Deal better with recursion by taking damage into account on whether or not we should continue 'penetrating' 2022-06-20 23:35:24 -07:00
7632d0debd
Mapcycle: add Mapcycle_Load(), which will allow modes to suggest their own mapcycle. Subject to change. 2022-06-20 11:46:29 -07:00
d1a90e9aa4
NSClientPlayer: Allow weapon input when in intermission & in vehicle, so the intermission end can get triggered. 2022-06-20 11:45:50 -07:00
d633e80846
light_dynamic: Focus/optimise for the use of static rtlights. This _should_ provide a significant speedup. 2022-06-17 10:11:17 -07:00
9ef275a2ac
NSTraceAttack: Fix typo 2022-06-17 07:35:25 -07:00