Commit Graph

684 Commits

Author SHA1 Message Date
Marco Cawthorne 33d7c3cc50
NSMonster: change error() to NSError() to aid debugging. 2024-03-21 18:57:31 -07:00
Marco Cawthorne 1514c977e9
NSNavAI: set _m_flRouteGiveUp to something valid, and change our pathskip tracebox to work like the nodegraph one. 2024-03-18 23:50:14 -07:00
Marco Cawthorne ee60a09eed
infodecal: fix client-side ones always rendering.
Add some more icons for various NSPointTrigger entities.
2024-03-06 20:27:54 -08:00
Marco Cawthorne e9f9ae5829
NSMonster: add support for `sequence` key, used by some sitting NPCs. 2024-03-06 19:30:38 -08:00
Marco Cawthorne dcb87039b1
NSPointTrigger: Save/Restore for the debug texture. 2024-03-06 19:13:48 -08:00
Marco Cawthorne 3d32e75e88
NSClientSpectator: add new method SpectatorDeathcam() 2024-03-06 19:13:11 -08:00
Marco Cawthorne bd2705eed6
NSTalkMonster: m_flFollowSpeedChanged should be 1.0 instead of 5.0 (as comment suggests) 2024-03-06 19:12:05 -08:00
Marco Cawthorne 0bb88774a2
Add new class: NSSpawnPoint. 2024-03-06 19:11:37 -08:00
Marco Cawthorne d9d579478a
monstermaker: Prevent monster DropToFloor().
NSMoverEntity: Remove eager MoveToPosition check that broke func_button's NOMOVE variants.
2024-03-05 23:27:26 -08:00
Marco Cawthorne 3a1a5d66f5
scripted_sentence: add support for `refire` key.
Add some more icons. Also NSPointTriggers should be SOLID_NOT now as to not
travel across levels.
2024-03-05 22:48:00 -08:00
Marco Cawthorne f11a10d343
func_tracktrain: Save/Restore more fields, keep track of when to play the movement sounds. 2024-03-05 08:19:56 -08:00
Marco Cawthorne e2239a236f
Minor cleanups to some point entities and replace various usage of whichpack(). 2024-03-04 18:51:07 -08:00
Marco Cawthorne 57b19425c1
NSIO: Give it an empty ParentUpdate() to work around StartFrame() calling a null function on them. 2024-03-04 18:45:06 -08:00
Marco Cawthorne 37ab385bcf
NSEntity: add empty DebugDraw method for listen servers. 2024-03-04 18:44:10 -08:00
Marco Cawthorne 0f96e635b0
NSTalkMonster: add anim event 1009. 2024-03-04 18:43:17 -08:00
Marco Cawthorne 86cfec6e6d
NSTrigger: ensure killtarget is transferred on delayed triggers. Also double check a target is specified before we attempt to search for entities to trigger. 2024-03-04 18:42:48 -08:00
Marco Cawthorne d405ff7e90
PropData: Change warning to a log. Not every model has to have PropData. 2024-03-04 18:42:05 -08:00
Marco Cawthorne 649ed825ad
Big commit, work over various triggers. Clean up debug prints and make
them more consistent. Warnings are in yellow, while errors are in red.

New cvar: g_developerTimestamp will display timestamps next to debug messages
originating from the game-logic. Set g_developer to 1 to see them.
A lot of useful into, such as which entity id messages originate from
should aid in debugging quite a bit.

SP level transitions should also be more reliable now in terms of
transferring entities and the like.

Some levels have awkward transition areas and you might find yourself
jumping between levels frequently. Workarounds are in the works.
2024-03-02 00:40:08 -08:00
Marco Cawthorne 02551ed71b
env_shooter: Apparently 'scale' only works on sprites. So let's add some systems to detect that. 2024-02-23 13:41:04 -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 29a997dbcf
Sound: add Sound_Stop() to make that task more slightly more accessible. 2024-02-21 16:11:14 -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 9847f3828e
NSGameRules: send a newly joined player to the intermission screen gently 2024-02-21 13:41:18 -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 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 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 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 2034eb1d45
ambient_generic: better logging. 2024-01-04 14:33:25 -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 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 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 29e7b84e4b
NSMonster: handle the check for MSF_MULTIPLAYER inside Spawned() instead of the constructor 2023-11-18 12:09:49 -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 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