Commit Graph

364 Commits

Author SHA1 Message Date
Marco Cawthorne 517614fd37
Major overhaul that'll make savegames a lot better. Every entity we implement should have a Save/Restore function.
AI noes recalculates their route in case of a loaded savegame... And much more.
2022-08-10 14:24:06 -07:00
Marco Cawthorne 5ca96bbcd9
Add helpers across the codebase to deal with networking ents. I tried prototyped a more elegant solution the compiler didn't like - the language should really deal with this. 2022-08-07 14:12:55 -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 2a220fb331
Move base classes out of gs-entbase. This evolution only happened because classes such as CBaseMonster that once existed were replaced and it grew from there.
Tweak g_developer prints for scripted_sequences.
2022-07-19 15:22:15 -07:00
Marco Cawthorne f6ecc97fca
Server: Ignore scripted_sequences when building nodes. This was a wrong assumption. 2022-07-18 11:39:57 -07:00
Marco Cawthorne 0ae901f5e1
NSMonster: Add InAnimation() method. Also prohibit movement when in an animation. 2022-07-18 09:22:18 -07:00
Marco Cawthorne 0d2e0627d4
Server: Added quick-and-dirty 'spawn' command. E.g. 'sv spawn monster_laidlaw' 2022-07-17 20:45:50 -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 c3be8002ad
add noref to g_mapcycle_override, to avoid an unnecessary compiler warning 2022-07-16 13:16:23 -07:00
Marco Cawthorne 220b424e33
Fix some misc Damage_Apply calls in really old parts of the code. Add more useful PlayerConnect/PlayerDisconnect methods into the base gamerules. 2022-07-14 18:04:11 -07:00
Marco Cawthorne 2735bd26f6
Server: Add cvar 'mp_foosteps', which only works in multiplayer. Hence the name. 2022-07-09 19:47:44 -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 8d16c58862
NSTraceAttack: Deal better with recursion by taking damage into account on whether or not we should continue 'penetrating' 2022-06-20 23:35:24 -07:00
Marco Cawthorne 7632d0debd
Mapcycle: add Mapcycle_Load(), which will allow modes to suggest their own mapcycle. Subject to change. 2022-06-20 11:46:29 -07:00
Marco Cawthorne 9ef275a2ac
NSTraceAttack: Fix typo 2022-06-17 07:35:25 -07:00
Marco Cawthorne b51541a3ae
NSTraceAttack: Check if we're a client before making the assumptions that our owner class has attributes related to bullet patterns 2022-06-16 14:39:08 -07:00
Marco Cawthorne 6982043380
Added NSInteractiveSurface. Make voting display which bindings to press for yes/no. 2022-06-04 14:09:50 -07:00
Marco Cawthorne a463498f60
Huge cleanup. Add initial code for the revamped material definition system. 2022-06-01 17:38:52 -07:00
Marco Cawthorne bb2b7dbddf
NSClient: add method UpdateAliveCam()
UITextbox: Misc polish regarding text entry
GLSL: Detail pass support for some materials
2022-05-15 13:32:53 -07:00
Marco Cawthorne 25c54af62c
Spring cleaning part one. 2022-05-11 12:49:04 -07:00
Marco Cawthorne c5b2107abf
ambient_generic: Implement support for playing back Sentences. 2022-05-04 21:31:37 -07:00
Marco Cawthorne cdfae26413
ambient_generic: Restructure and network more efficiently.
Client: add support for modelevent 1008 (CHAN_VOICE sound) and 1005 (plays Sentence)
2022-04-30 14:02:25 -07:00
Marco Cawthorne 59d46e1f63
New class: NSTraceAttack. Will make it much easier for games/mods to overrides parts of it. 2022-04-29 23:45:00 -07:00
Marco Cawthorne 0acdadefb0
GameRules: IntermissionEnd() will now unset itself to avoid multiple calls. 2022-04-29 15:19:31 -07:00
Marco Cawthorne 94679f3a3f
SprayLogo: Add "player.spraylogo" soundDef call instead of sound(). 2022-04-28 12:34:28 -07:00
Marco Cawthorne 9030ad82d9
Base_Player: Make sure disconnected clients get removed from other clients.
Menu-FN: Clear Rich-presence when no longer in a game.
2022-04-26 11:22:12 -07:00
Marco Cawthorne 2d403202b9
Avoid use of infokeys to communicate whether or not a client is spectating. 2022-04-25 15:25:35 -07:00
Marco Cawthorne 659be3db46
TraceAttack: Add case for when a weapon with a penetrationpower of 2 might have a fall-off. 2022-04-24 17:24:49 -07:00
Marco Cawthorne 27308ff1f4
env_sprite: Fix predraw for modelindex based entities.
TraceAttack: Add TraceAttack_SetRangeModifier(). This will enable CS-like bullet penetration behaviour.
2022-04-24 00:23:38 -07:00
Marco Cawthorne 6ec35387ae
TraceAttack: GoldSrc its blood color is a bit darker. 2022-04-23 22:34:10 -07:00
Marco Cawthorne 7395b8d421
Gamerules: exception for friendlyfire when it comes to self
point_message: make messages appear through entities, as they may be translucent.
Fixed a minor warning.
2022-04-21 18:50:21 -07:00
Marco Cawthorne 8814c66d1f
Merge pull request #3 from cyber-bridge/master
Fix bug where dropped items shouldn't be respawned.
2022-04-20 23:51:14 +02:00
Marco Cawthorne c24c8b2435
Fix a self assignment bug in Weapons_AddItem(), added userinfo spraycolor support, fix accidentally double-drawing p_ models and add cvar sv_friendlyFire 2022-04-19 21:58:13 -07:00
Marco Cawthorne 069c59628d
Mapcycle: Disable sanity check until the engine fixes whichpack
Gamerules: Intermission will now call 'nextmap' instead of 'restart'.
func_button: Basic support for 'message' field.
env_cubemap: default to saving .ktx
2022-04-17 13:50:14 -07:00
Marco Cawthorne a469c06fc8
Add 'surfaceparm projectile' support, so non-solid surfaces can
still react to tracelines and projectiles.
2022-04-13 16:58:42 -07:00
Marco Cawthorne 1b2f587599
Shared: Deprecate ClientRemove() over OnRemoveEntity, which will work on both Client and Server.
prop_vehicle_drivable: Add minor collision boxes to aid player physics
Fix some warnings.
2022-04-12 23:48:31 -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 350fc0d359
Server: Perform extra count check for Spawn_SelectRandom() to avoid recursion. 2022-04-08 22:52:37 -07:00
Marco Cawthorne 4e62e833a3
CGameRules: Add method bool PlayerCanAttack(base_player) 2022-04-08 12:37:45 -07:00
Marco Cawthorne a8c8938408
NSEntity: New method CreatedByMap(). Additional work towards more vehicle related
code in preparation for WASTES.
2022-04-06 16:21:07 -07:00
Marco Cawthorne 9a6897c433
Extend FX_GibHuman with a dir (euler) and force parameter. 2022-04-05 20:39:30 -07:00
Marco Cawthorne 60e4853549
Clean up some misc warnings, switch over to internal bool type for some methods
in NSSurfacePropEntity, added Get/Set functions for MaxHealth.
Also bump BUILD_ENGINEREVISION to 6224 (minor crash fix upstream)
2022-04-02 09:21:49 -07:00
Marco Cawthorne 1c102a7e76
NSEntity: Add RestoreComplete() method, so after loading/changelevel we can
interpret the data we just loaded better for each entity.
2022-03-31 00:30:15 -07:00
Marco Cawthorne 8c3804a1bc
Make Client_InIntermission() a shared (Client/Server) function, add method 'InIntermission()' to CGameRules.
Tone down the intermission view movement, also tweak Spawn_SelectRandom() to find more points.
2022-03-29 15:20:52 -07:00
Marco Cawthorne 143a00e94e
Fix light_dynamic (static) from not spawning in CSQC. Add r_skipDiffuse to rtlight.glsl,
add SURF_PENETRATE, which will make bullets pass right through them when
BULLETPENETRATION is set. Go over and refactor a lot of base_client, player
and spectator code to facilitate both permanent and temporary spectators
better. Add experimental env_glow lens flare code. Fix material ID detection
bug for Q3 based BSPs. A couple helper functions were added to src/client/utils.cpp
but they are not yet final.
2022-03-17 21:05:47 -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 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