Commit Graph

28 Commits

Author SHA1 Message Date
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 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 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 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 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 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 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 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 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 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 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 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
Renamed from src/botlib/bot.cpp (Browse further)