Commit graph

1800 commits

Author SHA1 Message Date
6319f6166e
Skill.qc: readcmd() builtin usage replaced with a tiny config parser.
Context:
localcmd/stuffcmd are delayed enough that we can't use it to load
difficulty settings from skill.cfg before the game objects have spawned.

readcmd worked around this, but its usage is buggy and discouraged.

loading config files from the root game directory is forbidden by the
engine for security reasons (being able to read passwords etc.)
but we're allowed to do so from sub-directories.

by emulating the source engine behaviour we become compatible with their
convention, while also working around said incompatibility.
2024-02-21 21:08:57 -08:00
2f56725160
func_plat: nudge the platform the way way when no height is defined and we make up a position 2024-02-21 16:41:52 -08:00
29a997dbcf
Sound: add Sound_Stop() to make that task more slightly more accessible. 2024-02-21 16:11:14 -08:00
33e5038881
func_pushable: play the surfaceproperty specific scraping sound when being pushed around 2024-02-21 16:10:28 -08:00
b2fc4d2918
env_muzzleflash: add cvar cg_muzzleflashDLightColor 2024-02-21 16:09:32 -08:00
3e182b3737
NSRenderableEntity: Ensure .skeletonindex is set to 0 after deleting the skeletal object 2024-02-21 14:50:44 -08:00
0e3eb491a6
NSClientPlayer: ensure pmodels have a shadow as well 2024-02-21 13:51:43 -08:00
a9836563d1
trigger_teleport: add telefrag. 2024-02-21 13:43:43 -08:00
9847f3828e
NSGameRules: send a newly joined player to the intermission screen gently 2024-02-21 13:41:18 -08:00
08259f5652
make_mapdef.sh/trigger_changetarget: Minor fixes. 2024-02-19 13:23:46 -08:00
0df1e78cc3
Platform: Comment out debug strings. 2024-02-19 13:20:51 -08:00
ea0b365037
SurfaceProperties: Insist on having a 'default' stage defined. Use that to initialize the various surface properties. 2024-02-19 13:20:08 -08:00
f950dcaabb
func_pushable: Respect 'size' and improve movement direction math a little. 2024-02-15 14:49:44 -08:00
9e68e24d2e
trigger_teleport: Add filter for func_pushable entities. Test chamber can now be triggered. 2024-02-15 13:35:42 -08:00
99f513efdb
func_pushable: Remove hitcontentsmaski override, else the cart won't move up in the test chamber. 2024-02-15 13:35:13 -08:00
06d959ef02
func_tracktrain: Lots of improvements across the board. Enjoy c0a0-c0a0e!
func_trackchange/autochange: Initial implementation.
2024-02-13 22:51:36 -08:00
7e8d1aacdb
Fix various warnings. 2024-01-30 00:42:10 -08:00
31b88f63f2
Fixes for DAMAGE_AIM, so we can respect the sv_aim cvar. 2024-01-29 23:47:36 -08:00
08cac51d5f
NSClient: add void SetInfoKeyFloat(string, float) and float GetInfoKeyFloat(string) methods 2024-01-29 16:10:16 -08:00
4a8f4a6082
Add a whole bunch of new bot features, including bot profiles.
Developers: the internal class `bot` is now `NSBot`, and an entityDef
of the old name will be instantiated instead.

Override defs/bot.def in your mod and make it use any custom spawnclass
you wish. Now games don't have to override `addbot` or `bot_add` inside
the multiplayer game rules.

There's also more console commands. Clients now have access to:
addBot, killAllBots, killClass [classname], killMovables, trigger [targetname], input [entnum] [input] [data], listBotProfiles, listTargets, teleport [targetname], teleportToClass [classname], respawnEntities, spawn
2024-01-26 19:27:50 -08:00
ba4ddbd3f6
Math_FixDelta: Make recursive. Rename pending... 2024-01-26 19:10:57 -08:00
30903f7683
VGUIView: add missing return 2024-01-15 16:34:09 -08:00
da194e8eed
VGUIWindow: migrate non Window specific bits into its own class: VGUIView 2024-01-15 16:28:46 -08:00
05af28180e
Server: Fix typos in various sound precache calls. 2024-01-15 15:45:48 -08:00
fea60cd435
Client: add return to exit early when skyPath isn't set, solely to avoid an unnecessary print. 2024-01-15 15:44:46 -08:00
7b09f7cbc4
Menu-FN: Init String-Table before most of the other inits. 2024-01-15 15:43:43 -08:00
e9700b31b9
Sound_Init: Remove precaches for anything other than common/null.wav 2024-01-15 15:42:54 -08:00
5bdbe2cc47
NSNavAI: Add method RouteToPositionDenyFlags(). Same as RouteToPosition() but will accept a link-flag filter mask. 2024-01-11 15:56:41 -08:00
40aee258ce
NSClientSpectator: new mode: overview which is work in progress.
Various misc fixes to code routines that negatively affect splitscreen.
We also set frametime/clframetime to 0.0 after the first player view has been drawn as to not run
predraw math more than once per frame. This should not cause any issues but if you are experiencing issues let us know.
2024-01-08 14:58:45 -08:00
2891bc061e
func_breakable: precache particleeffectnum before first use 2024-01-04 14:34:37 -08:00
2034eb1d45
ambient_generic: better logging. 2024-01-04 14:33:25 -08:00
0c7fc9abc6
NSRadar: add method InitEmpty() 2024-01-02 15:41:25 -08:00
1b21a6cf46
ambient_generic/speaker: force spawnflag MSF_MULTIPLAYER within Spawned() instead of the constructor. 2024-01-02 15:26:29 -08:00
dda946476f Add def for areaportalwindow 2024-01-02 12:40:40 -08:00
64a6a9007d
Add new cvar s_developer which prints sound related info from the game logic 2024-01-02 12:03:04 -08:00
21c27969f6
env_shooter: Correct the implementation of variance and repeatability. 2024-01-02 12:00:50 -08:00
cca461effe
Platform/Menu: Migration of Server_IsLan() into the master-server related code 2024-01-02 11:59:16 -08:00
4600a03165
NSRadar: checking in initial work on the class 2024-01-01 21:23:09 -08:00
bc05a07e50
NSRenderableEntity: rendermode RM_SOLID becomes invisible when renderamount is 0. 2024-01-01 21:21:31 -08:00
d16e096306
Documentation improvements, cleaning up of misc files. 2024-01-01 21:20:02 -08:00
591d5821f9
NSMonster: document the various spawnflags more 2023-12-15 18:38:33 -08:00
6c1db1f4f6
Shared: add bool FileExists(string filePath) function 2023-12-15 17:00:13 -08:00
2530608b1f
NSInteractiveSurface: fix typo 2023-12-15 16:59:19 -08:00
4b69949385
Server: Ensure r_meshpitch gets set to 1 on init. 2023-11-18 21:16:52 -08:00
fa4f77aae0
NSMonster: SetOrigin() during Respawn at least once so monsters don't die in the same spot during multiplayer respawns, inside hurt triggers or whatever. 2023-11-18 20:30:10 -08:00
277b453c40
Server: when skill is invalid (0) then default to 2 (medium) 2023-11-18 19:58:29 -08:00
faba64ad28
Menu-FN: Broadcast in Chat when a player is joining a server, and handle ACTION (/me) text output 2023-11-18 15:47:37 -08:00
af4212987f
Menu-FN: Make Chat Rooms and Controls accessible from other menus, keeping track of where we originated from 2023-11-18 14:34:16 -08:00
1ccb640ce6
Menu-FN: List ping for ICE servers correctly, View Game Info will now return to the appropriate menu 2023-11-18 14:10:24 -08:00
602fa9fd93
Menu-FN: Hide menu upon connecting to a server, and automatically refresh serverlist when opening the Internet Games menu 2023-11-18 14:00:42 -08:00
07173b3c7b
Platform: add menu debug command 'listGameLibrary' to output all the currently indexed games/mods 2023-11-18 13:31:33 -08:00
29e7b84e4b
NSMonster: handle the check for MSF_MULTIPLAYER inside Spawned() instead of the constructor 2023-11-18 12:09:49 -08:00
0cd5d0e5a7
MapCycle: Initialize g_mapCycle with mapcycle.txt, handle empty mapcycle slightly better. 2023-11-18 12:02:41 -08:00
22460c5aa0
BotLib: new commands - 'offset [vector]', 'flipx', 'flipy', 'flipz', 'merge [filename.way]', 'loadpb [podbotwaypoint.pwf]', 'loadrich [jumbot.jrf]', 'loadfb [foxbot.fwp]'
Also make the bots use the soundDef when pressing '+use'.
2023-11-17 18:58:24 -08:00
32f9d974bb
New commands: listClientSoundDef, listServerSoundDef
Merge various trigger fields from Source entities into NSTrigger
Rename default player related sounds to the Source Engine style for more parity with Half-Life 2 and later games
Various player physics code fixes, such as being unable to jump higher when pushing against solids and faster noclip speed
2023-11-17 18:54:46 -08:00
bf705a9e31
speaker: now shared between client/server game
NSTalkMonster: Remove game specific PREDISASTER flag from the code, implement GAG instead
New entities: env_cascade_light (wip), logic_achievement, env_instructor_hint (wip)
2023-11-15 09:52:11 -08:00
4790e9d230
NSItem: Position entity after everything else has spawned, to avoid entity lump ordering messing with droptofloor() calls 2023-11-15 00:14:06 -08:00
038265dd64
trigger_teleport: Special offset rules for players when choosing their final teleport destination. 2023-11-14 23:45:43 -08:00
801742dd4c
Platform: add MAPINFO_PREVIEW query type to MapLibrary_GetInfo() so interfaces can get a proper preview for levels. 2023-11-06 14:27:05 -08:00
e67d1b0da4
Server: add cvars mp_td_dmgToWarn and mp_td_dmgToKick 2023-11-06 08:46:22 -08:00
25cfc4938e
game_team_master/NSTrigger: GetValue() is now aware of who is querying for said information. Required for game_team_master. 2023-10-30 16:37:45 -07:00
d65ab07cf1
NSProjectile: revert the default setting for the various detonate modes 2023-10-29 23:25:40 -07:00
a6fb7767dc
Implement cycler_weapon, cycler_wreckage, game_end, game_player_hurt, game_score, game_team_master, game_team_set, game_player_team, game_zone_player 2023-10-25 00:46:04 -07:00
75d03f27fe
Add missing definitions for ENT_FUNNEL and ENT_SMOKER 2023-10-24 09:50:59 -07:00
97c2fdd778
env_smoker: Initial implementation. 2023-10-24 00:30:42 -07:00
01ebb973f2
env_funnel: Initial implementation. 2023-10-23 21:36:58 -07:00
ca04a7d637
func_platrot: Cleanup and rewrite the essential parts. Now inherits most of func_plat. 2023-10-23 14:38:02 -07:00
29b6a200b8
NSProjectile: Quick support for light_color/light_radius 2023-10-23 00:17:02 -07:00
73bec53034
PropData: read info from Source Engine .phy files 2023-10-22 23:30:31 -07:00
8cd6d3967d
Shared: sanity check for when decalgroups are attempted to be placed, but not available. 2023-10-18 07:47:24 -07:00
b7167a553e
Shared: don't mess with sound def names when precaching them. 2023-10-17 18:27:59 -07:00
11deea5b3d
Add the following physics entities from Source: phys_ballsocket, phys_constraint, phys_constraintsystem, phys_convert, phys_hinge, phys_keepupright, phys_slideconstraint & env_physexplosion
Add new class phys_rope, which will handle move_rope and keyframe_rope from Source.
2023-10-17 16:49:01 -07:00
81a498d49e
Client: update viewmodel bone count directly after switching models, needed for getting the right attachment positions 2023-10-13 08:23:12 -07:00
ab9d66b2e4
BotLib: for goals and goalitem route search, use WorldSpaceCenter() and not their origin to deal with brush triggers and non-existant origins properly 2023-10-13 08:22:31 -07:00
900cf43bd0
!!! Mods/games should now remove modelevent.qc and view.qc from their csprogs !!!
env_muzzleflash: Initial implementation of this Half-Life 2 entity
Client: model events are for viewmodels are now handled by NSRenderableEntity.
2023-10-12 14:45:27 -07:00
05ed789f9a
trigger_camera: Hacks that'll make it work (for now) 2023-10-11 01:05:40 -07:00
f96b41bc2e
NSSurfacePropEntity: Ignore view_ofs in GetEyePos() when we're a spectator. 2023-10-11 01:05:37 -07:00
b37afb1362
BotLib: break func_breakable entities within their path. 2023-10-11 01:05:35 -07:00
1bf829920f
NSRenderableEntity: Simplify RM_SOLID in RenderFXPass() 2023-10-11 01:05:34 -07:00
a623b1e301
NSTalkMonster: pathfinding fixes that benefit following players around the maps. More failsafes. 2023-10-11 01:05:28 -07:00
7d9de3a2cc
NSEntity: new method GetNearbySpot() which will return a free position close to the entity. 2023-10-11 01:05:26 -07:00
9602d5eac8
Client: add new cheat cvar: r_skipWorld 2023-10-11 01:05:19 -07:00
1d7b6fe25f
PMove: added pm_noclipSpeed and pm_noclipAccelerate cvars which serve an obvious purpose. 2023-10-11 00:39:31 -07:00
f183bfc571
ambient_generic: fix regression in the old style sound mechanism 2023-10-06 21:19:46 -07:00
a5ecd18047
env_model: Initial implementation of this SoHL entity 2023-10-06 00:21:17 -07:00
9896b652c8
env_shockwave: Initial implementation of this SoHL entity 2023-10-06 00:20:48 -07:00
818a1a2155
scripted_sequence: support for 'killtarget' key 2023-10-04 14:55:02 -07:00
662e01c84d
monster_generic: Set alliance to neutral. 2023-10-04 08:56:46 -07:00
6f3b07ed34
NSNavAI: ensure everything is properly nulled when an empty chase path target is set. 2023-10-04 08:56:21 -07:00
07e70aa4c4
NSMonster: disable yaw interpolation for now. 2023-10-04 08:55:53 -07:00
47eb4fb88f
func_tracktrain: fixes to the way the angle delta is calculated, and restore the train to a position relative to its last target post level transition. 2023-10-04 08:55:03 -07:00
40adc77d66
scripted_sequence: Don't call FreeStateMoved() when SS_NO is set. 2023-10-04 08:53:07 -07:00
b37893e660
Client: fix the typewriter text effect timing, where fadein controls the time for each character to fade in. 2023-10-04 07:55:55 -07:00
11797717ef
scripted_sentence: Use targets when triggered (fixes city2a in Gunman) 2023-10-04 07:55:18 -07:00
aadc23356d
trigger_transition: Call method TransitionComplete() onto entities when applicable. 2023-10-04 07:54:43 -07:00
31553d9b5c
scripted_sequence: Fix the angles being overriden when move mode NO is set. 2023-10-03 23:33:09 -07:00
3f0f6b2d0f
NSMonster: add new alliance type: MAL_NEUTRAL 2023-10-03 20:18:10 -07:00
a48498e5cf
env_glow: Fix warning. 2023-10-03 11:05:38 -07:00
c59a76a53d
NSMonster: add the ability to chase path_corners and things. 2023-10-03 11:05:14 -07:00
19d6f22dc4
NSIO: add TransitionComplete() method for easier handling of entities post level-transition.
NSRenderableEntity: Default renderamt to 0.
Also use Read*() methods within all of the base classes their SpawnKey() methods.
2023-10-03 11:02:47 -07:00