Commit Graph

1807 Commits

Author SHA1 Message Date
Marco Cawthorne ee58089a55
env_explosion: Get it up to Source Engine standards. 2024-02-23 13:23:19 -08:00
Marco Cawthorne 34884b68a3
ambient_generic: fix mix-up of small and medium radius.
also set s_nominaldistance to 1024.
2024-02-23 13:22:51 -08:00
Marco Cawthorne e2ee6987de
NSTraceAttack: save traceline endpos and plane_normal in case it gets set elsewhere 2024-02-23 13:21:44 -08:00
Marco Cawthorne 7d58b4a96a
NSRenderableEntity: Remove aggressive angle optimisation 2024-02-23 13:21:08 -08:00
Marco Cawthorne 8a18c2e992
PropData: gibs use a fixed angular velocity in fallback physics mode, and have a hitbox. 2024-02-23 13:20:53 -08:00
Marco Cawthorne 0f86ba61a1
DecalGroups_Place: cancel out if the group wasn't found. 2024-02-23 13:20:15 -08:00
Marco Cawthorne 5c90692873
SurfaceProperties: impacts now pass a proper dir vector to the particle system 2024-02-21 21:11:48 -08:00
Marco Cawthorne 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
Marco Cawthorne 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
Marco Cawthorne 29a997dbcf
Sound: add Sound_Stop() to make that task more slightly more accessible. 2024-02-21 16:11:14 -08:00
Marco Cawthorne 33e5038881
func_pushable: play the surfaceproperty specific scraping sound when being pushed around 2024-02-21 16:10:28 -08:00
Marco Cawthorne b2fc4d2918
env_muzzleflash: add cvar `cg_muzzleflashDLightColor` 2024-02-21 16:09:32 -08:00
Marco Cawthorne 3e182b3737
NSRenderableEntity: Ensure .skeletonindex is set to 0 after deleting the skeletal object 2024-02-21 14:50:44 -08:00
Marco Cawthorne 0e3eb491a6
NSClientPlayer: ensure pmodels have a shadow as well 2024-02-21 13:51:43 -08:00
Marco Cawthorne a9836563d1
trigger_teleport: add telefrag. 2024-02-21 13:43:43 -08:00
Marco Cawthorne 9847f3828e
NSGameRules: send a newly joined player to the intermission screen gently 2024-02-21 13:41:18 -08:00
Marco Cawthorne 08259f5652
make_mapdef.sh/trigger_changetarget: Minor fixes. 2024-02-19 13:23:46 -08:00
Marco Cawthorne 0df1e78cc3
Platform: Comment out debug strings. 2024-02-19 13:20:51 -08:00
Marco Cawthorne 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
Marco Cawthorne f950dcaabb
func_pushable: Respect 'size' and improve movement direction math a little. 2024-02-15 14:49:44 -08:00
Marco Cawthorne 9e68e24d2e
trigger_teleport: Add filter for func_pushable entities. Test chamber can now be triggered. 2024-02-15 13:35:42 -08:00
Marco Cawthorne 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
Marco Cawthorne 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
Marco Cawthorne 7e8d1aacdb
Fix various warnings. 2024-01-30 00:42:10 -08:00
Marco Cawthorne 31b88f63f2
Fixes for DAMAGE_AIM, so we can respect the `sv_aim` cvar. 2024-01-29 23:47:36 -08:00
Marco Cawthorne 08cac51d5f
NSClient: add `void SetInfoKeyFloat(string, float)` and `float GetInfoKeyFloat(string)` methods 2024-01-29 16:10:16 -08:00
Marco Cawthorne 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
Marco Cawthorne ba4ddbd3f6
Math_FixDelta: Make recursive. Rename pending... 2024-01-26 19:10:57 -08:00
Marco Cawthorne 30903f7683
VGUIView: add missing return 2024-01-15 16:34:09 -08:00
Marco Cawthorne da194e8eed
VGUIWindow: migrate non Window specific bits into its own class: VGUIView 2024-01-15 16:28:46 -08:00
Marco Cawthorne 05af28180e
Server: Fix typos in various sound precache calls. 2024-01-15 15:45:48 -08:00
Marco Cawthorne 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
Marco Cawthorne 7b09f7cbc4
Menu-FN: Init String-Table before most of the other inits. 2024-01-15 15:43:43 -08:00
Marco Cawthorne e9700b31b9
Sound_Init: Remove precaches for anything other than common/null.wav 2024-01-15 15:42:54 -08:00
Marco Cawthorne 5bdbe2cc47
NSNavAI: Add method RouteToPositionDenyFlags(). Same as RouteToPosition() but will accept a link-flag filter mask. 2024-01-11 15:56:41 -08:00
Marco Cawthorne 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
Marco Cawthorne 2891bc061e
func_breakable: precache particleeffectnum before first use 2024-01-04 14:34:37 -08:00
Marco Cawthorne 2034eb1d45
ambient_generic: better logging. 2024-01-04 14:33:25 -08:00
Marco Cawthorne 0c7fc9abc6
NSRadar: add method InitEmpty() 2024-01-02 15:41:25 -08:00
Marco Cawthorne 1b21a6cf46
ambient_generic/speaker: force spawnflag MSF_MULTIPLAYER within Spawned() instead of the constructor. 2024-01-02 15:26:29 -08:00
Xylemon dda946476f Add def for areaportalwindow 2024-01-02 12:40:40 -08:00
Marco Cawthorne 64a6a9007d
Add new cvar s_developer which prints sound related info from the game logic 2024-01-02 12:03:04 -08:00
Marco Cawthorne 21c27969f6
env_shooter: Correct the implementation of variance and repeatability. 2024-01-02 12:00:50 -08:00
Marco Cawthorne cca461effe
Platform/Menu: Migration of Server_IsLan() into the master-server related code 2024-01-02 11:59:16 -08:00
Marco Cawthorne 4600a03165
NSRadar: checking in initial work on the class 2024-01-01 21:23:09 -08:00
Marco Cawthorne bc05a07e50
NSRenderableEntity: rendermode RM_SOLID becomes invisible when renderamount is 0. 2024-01-01 21:21:31 -08:00
Marco Cawthorne d16e096306
Documentation improvements, cleaning up of misc files. 2024-01-01 21:20:02 -08:00
Marco Cawthorne 591d5821f9
NSMonster: document the various spawnflags more 2023-12-15 18:38:33 -08:00
Marco Cawthorne 6c1db1f4f6
Shared: add `bool FileExists(string filePath)` function 2023-12-15 17:00:13 -08:00
Marco Cawthorne 2530608b1f
NSInteractiveSurface: fix typo 2023-12-15 16:59:19 -08:00
Marco Cawthorne 4b69949385
Server: Ensure r_meshpitch gets set to 1 on init. 2023-11-18 21:16:52 -08:00
Marco Cawthorne 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
Marco Cawthorne 277b453c40
Server: when skill is invalid (0) then default to 2 (medium) 2023-11-18 19:58:29 -08:00
Marco Cawthorne 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
Marco Cawthorne 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
Marco Cawthorne 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
Marco Cawthorne 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
Marco Cawthorne 07173b3c7b
Platform: add menu debug command 'listGameLibrary' to output all the currently indexed games/mods 2023-11-18 13:31:33 -08:00
Marco Cawthorne 29e7b84e4b
NSMonster: handle the check for MSF_MULTIPLAYER inside Spawned() instead of the constructor 2023-11-18 12:09:49 -08:00
Marco Cawthorne 0cd5d0e5a7
MapCycle: Initialize g_mapCycle with mapcycle.txt, handle empty mapcycle slightly better. 2023-11-18 12:02:41 -08:00
Marco Cawthorne 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
Marco Cawthorne 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
Marco Cawthorne 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
Marco Cawthorne 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
Marco Cawthorne 038265dd64
trigger_teleport: Special offset rules for players when choosing their final teleport destination. 2023-11-14 23:45:43 -08:00
Marco Cawthorne 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
Marco Cawthorne e67d1b0da4
Server: add cvars mp_td_dmgToWarn and mp_td_dmgToKick 2023-11-06 08:46:22 -08:00
Marco Cawthorne 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
Marco Cawthorne d65ab07cf1
NSProjectile: revert the default setting for the various detonate modes 2023-10-29 23:25:40 -07:00
Marco Cawthorne 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
Marco Cawthorne 75d03f27fe
Add missing definitions for ENT_FUNNEL and ENT_SMOKER 2023-10-24 09:50:59 -07:00
Marco Cawthorne 97c2fdd778
env_smoker: Initial implementation. 2023-10-24 00:30:42 -07:00
Marco Cawthorne 01ebb973f2
env_funnel: Initial implementation. 2023-10-23 21:36:58 -07:00
Marco Cawthorne ca04a7d637
func_platrot: Cleanup and rewrite the essential parts. Now inherits most of func_plat. 2023-10-23 14:38:02 -07:00
Marco Cawthorne 29b6a200b8
NSProjectile: Quick support for light_color/light_radius 2023-10-23 00:17:02 -07:00
Marco Cawthorne 73bec53034
PropData: read info from Source Engine .phy files 2023-10-22 23:30:31 -07:00
Marco Cawthorne 8cd6d3967d
Shared: sanity check for when decalgroups are attempted to be placed, but not available. 2023-10-18 07:47:24 -07:00
Marco Cawthorne b7167a553e
Shared: don't mess with sound def names when precaching them. 2023-10-17 18:27:59 -07:00
Marco Cawthorne 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
Marco Cawthorne 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
Marco Cawthorne 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
Marco Cawthorne 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
Marco Cawthorne 05ed789f9a
trigger_camera: Hacks that'll make it work (for now) 2023-10-11 01:05:40 -07:00
Marco Cawthorne f96b41bc2e
NSSurfacePropEntity: Ignore view_ofs in GetEyePos() when we're a spectator. 2023-10-11 01:05:37 -07:00
Marco Cawthorne b37afb1362
BotLib: break func_breakable entities within their path. 2023-10-11 01:05:35 -07:00
Marco Cawthorne 1bf829920f
NSRenderableEntity: Simplify RM_SOLID in RenderFXPass() 2023-10-11 01:05:34 -07:00
Marco Cawthorne a623b1e301
NSTalkMonster: pathfinding fixes that benefit following players around the maps. More failsafes. 2023-10-11 01:05:28 -07:00
Marco Cawthorne 7d9de3a2cc
NSEntity: new method GetNearbySpot() which will return a free position close to the entity. 2023-10-11 01:05:26 -07:00
Marco Cawthorne 9602d5eac8
Client: add new cheat cvar: r_skipWorld 2023-10-11 01:05:19 -07:00
Marco Cawthorne 1d7b6fe25f
PMove: added pm_noclipSpeed and pm_noclipAccelerate cvars which serve an obvious purpose. 2023-10-11 00:39:31 -07:00
Marco Cawthorne f183bfc571
ambient_generic: fix regression in the old style sound mechanism 2023-10-06 21:19:46 -07:00
Marco Cawthorne a5ecd18047
env_model: Initial implementation of this SoHL entity 2023-10-06 00:21:17 -07:00
Marco Cawthorne 9896b652c8
env_shockwave: Initial implementation of this SoHL entity 2023-10-06 00:20:48 -07:00
Marco Cawthorne 818a1a2155
scripted_sequence: support for 'killtarget' key 2023-10-04 14:55:02 -07:00
Marco Cawthorne 662e01c84d
monster_generic: Set alliance to neutral. 2023-10-04 08:56:46 -07:00
Marco Cawthorne 6f3b07ed34
NSNavAI: ensure everything is properly nulled when an empty chase path target is set. 2023-10-04 08:56:21 -07:00
Marco Cawthorne 07e70aa4c4
NSMonster: disable yaw interpolation for now. 2023-10-04 08:55:53 -07:00
Marco Cawthorne 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
Marco Cawthorne 40adc77d66
scripted_sequence: Don't call FreeStateMoved() when SS_NO is set. 2023-10-04 08:53:07 -07:00
Marco Cawthorne 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