Commit Graph

64 Commits

Author SHA1 Message Date
Marco Cawthorne 48b76b8786
Bot_ExistsInServer: ddecolorize names before comparing. 2024-03-09 19:22:26 -08:00
Marco Cawthorne 0bb88774a2
Add new class: NSSpawnPoint. 2024-03-06 19:11:37 -08:00
Marco Cawthorne c0b031ed9f
Nodes: Make the way nodes are generated a bit better. 2024-03-04 18:52:21 -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 7e8d1aacdb
Fix various warnings. 2024-01-30 00:42:10 -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 d16e096306
Documentation improvements, cleaning up of misc files. 2024-01-01 21:20:02 -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 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 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 b37afb1362
BotLib: break func_breakable entities within their path. 2023-10-11 01:05:35 -07:00
Marco Cawthorne ff78e34c16
Move Route_GetJumpVelocity() into shared/defs.h for now. 2023-05-10 16:12:59 -07:00
Marco Cawthorne 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
Marco Cawthorne 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
Marco Cawthorne 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
Marco Cawthorne 2526751db1
Clean up some areas where float logic happens to prepare for the compiler flag 'assumeint' 2022-08-10 16:15:44 -07:00
Marco Cawthorne 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
Marco Cawthorne 197ce20c31
BotLib: Start making use of some of NSNavAI 2022-07-20 16:27:24 -07:00
Marco Cawthorne 878df0941e
Cleanup for some CGameRules method types. Moved some Util_ functions into their own file. 2022-07-16 15:11:33 -07:00
Marco Cawthorne 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
Marco Cawthorne 08706fcacb
BotLib: Basic respect for bot_skill cvar. 2022-06-22 15:25:08 -07:00
Marco Cawthorne ad093548b5
Clean up some misc building stuff. Based on input by BartoCH, many thanks!
I'd like to make the gmake check nicer when I have more time.
2022-06-06 19:58:29 -07:00
Marco Cawthorne 68974053f4
BotLib: add cvar bot_prefix, add method SetName() which respects it. 2022-05-24 15:32:37 -07:00
Marco Cawthorne 25c54af62c
Spring cleaning part one. 2022-05-11 12:49:04 -07:00
Marco Cawthorne df589de04c
BotLib: Will now set a protected *bot infokey to signal clients as to who is a bot. 2022-04-29 15:20:04 -07:00
Marco Cawthorne e79a2e9c2e
NSMonster: Add method bool CanCrouch(). Monsters will then attempt to crouch.
SoundDefs: Add support for distshader on Sound_PlayAt() calls.
2022-04-10 07:01:14 -07:00
Marco Cawthorne 96f3a1224a
This is a massive change. Check the full msg here:
https://icculus.org/~marco/txt/nuclide_may2022.txt
2022-03-15 19:33:11 -07:00
Marco Cawthorne dca95b5c45
Fix some warnings across the board. 2022-03-14 11:18:59 -07:00
Marco Cawthorne bbfc8c945c
BotLib: Prematurely commit all this new nav-stuff because some people like
to compile their games.
2022-03-13 17:10:12 -07:00
Marco Cawthorne e437550c73
BotLib: Add definitions for BOTINFO_AMMO and BOTINFO_ARMOR. 2022-03-13 17:09:12 -07:00
Marco Cawthorne 0fc52f726d
BotLib now responds to 'alert' flagged sounds as well. Also added a cooldown
timer so we don't call alerts too often.
2022-03-11 14:00:44 -08:00
Marco Cawthorne 6fb067eed3
My name has changed, so an update to the copyright to reflect it. 2022-03-11 11:40:43 -08:00
Marco Cawthorne d885e2e643
BotLib: lot of work done on recognizing weapon types, making proper use of
Weapons_IsEmpty() checks - more fixes for pathfinding; the ability to set
walk and movespeed externally via method overrides; several bugfixes in
relation to firing (and getting stuck on pressing other keys.
2022-03-08 21:50:30 -08:00
Marco Cawthorne 6db98c88aa
BotLib: Add support for goalitems. These may include objectives for things
like CTF - flag your game-mode entities as either .botinfo BOTINFO_TEAM_GOALITEM
or BOTINFO_TEAM_GOALCAPTURE and BotLib will try to figure out what to do.
2022-03-02 09:17:57 -08:00
Marco Cawthorne 47a37af545
Client: Allow mods to override entity updates of gs-entbase.
prop_vehicle_drivable: Initial work towards suspension.
2022-02-11 17:09:08 -08:00
Marco Cawthorne f118e34792
Client: Verify our pSeat player entity directly, don't assume 'self' is the
player in CSQC_Parse_Event and CSQC_Input_Frame.
2022-02-10 13:31:57 -08:00
Marco Cawthorne bef8dfb117
Base: Some minor edits to facilitate the TW akimbo weapons (clean this later...) 2022-02-04 15:24:43 -08:00
Marco Cawthorne 5a3f59a24c
BotLib: Add checks to validate the result of Way_FintClosestNode() 2022-01-31 16:07:04 -08:00
Marco Cawthorne cad1dfbcfe
Waypoint-system: You can now unlink waypoints (either one or two way...) 2021-12-18 17:50:43 -08:00
Marco Cawthorne 043c6878d6
Server: Waypoint flagging will now link two nodes if they weren't linked
already.
2021-12-18 17:20:25 -08:00
Marco Cawthorne 5637d49189
Waypoint-system: Add 'sv way addnear' which will create a node auto-linked
to the nearest node to the player.
2021-12-18 16:36:51 -08:00
Marco Cawthorne 249e4bc612
Massive revamp of the Nuclide system classes, more efficient networking
and memory usage thanks to intelligent boxing of fields.
Added Util_TimeToString, removed old VOX code, added lots of new helper
classes...
2021-10-20 01:19:10 +02:00
Marco Cawthorne fbbcfd5d5f BotLib: Attempt to duck when we're between 512 and 1024 units 2021-05-16 23:08:41 +02:00
Marco Cawthorne c5cea7a162 Base: Weapons now track weight (for Weapons_SwitchBest)
BotLib: Add CreateObjective() method that can be overridden
2021-05-12 15:42:20 +02:00
Marco Cawthorne 1485544b91 Base: Get rid of g_eAttacker, which had been replaced by g_dmg_eAttacker.
Go over TraceAttack and make it combine multiple Damage_Apply calls into
one.
2021-05-10 11:33:31 +02:00
Marco Cawthorne 27b5b59f0d Server: Precache step_sand.left/right, add to footsteps.sndshd.
Fix some botlib waypointing strings.
2021-04-18 08:24:55 +02:00
Marco Cawthorne 2c7f540787 botlib: add USER linkflag. When a bot passes that link, he'll USE the
closest func_button nearby.
2021-03-27 07:48:46 +01:00
Marco Cawthorne 95739c7a20 Basic spectator implementation for all games. 2021-03-24 07:50:30 +01:00
Marco Cawthorne 02efa21e3d Move game-specific sources into their respective mod-dirs. This was planned
for a while and was inevitable. Latest fteqcc required that fixes a limit
with paths. Also added src/server/mapcycle.qc
2021-02-08 13:35:15 +01:00
Marco Cawthorne 6a48c18171 BotLib: Add support for the AIM linkflag, to control when a bot is forced
to look ahead to the current waypoint node.
2021-01-16 17:34:04 +01:00