Commit graph

1542 commits

Author SHA1 Message Date
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