Marco Cawthorne
822a7221b2
WIP pmove, AI, etc. changes
2024-04-22 15:11:12 -07:00
Marco Cawthorne
33d7c3cc50
NSMonster: change error() to NSError() to aid debugging.
2024-03-21 18:57:31 -07: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
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
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
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
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
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
a623b1e301
NSTalkMonster: pathfinding fixes that benefit following players around the maps. More failsafes.
2023-10-11 01:05:28 -07:00
Marco Cawthorne
818a1a2155
scripted_sequence: support for 'killtarget' key
2023-10-04 14:55:02 -07:00
Marco Cawthorne
07e70aa4c4
NSMonster: disable yaw interpolation for now.
2023-10-04 08:55:53 -07:00
Marco Cawthorne
3f0f6b2d0f
NSMonster: add new alliance type: MAL_NEUTRAL
2023-10-03 20:18:10 -07:00
Marco Cawthorne
c59a76a53d
NSMonster: add the ability to chase path_corners and things.
2023-10-03 11:05:14 -07:00
Marco Cawthorne
3d92491e54
NSMonster/NSTalkMonster: update bone count on the client whenever the modelindex changed.
2023-09-27 13:08:39 -07:00
Marco Cawthorne
d749241081
func_monsterclip: Initial implementation
2023-09-22 17:08:02 -07:00
Marco Cawthorne
0be11bd948
NSMonster: call setorigin_safe after DropToFloor to get entities out the ground, if they're stuck in it (of1a1)
2023-09-22 16:34:08 -07:00
Marco Cawthorne
4f699aae6e
Monster spawning position and scripted sequence fixes. Also leave movetype of LEAVECORPSE scripted sequence entities alone or else it breaks of1a1's G-Man
2023-09-20 22:42:11 -07:00
Marco Cawthorne
5f7ea594b8
scripted_sequence & NSMonster: support for spawnflags LEAVECORPSE. Also safely position monsters upon spawning to avoid them getting stuck in the floor.
2023-09-20 20:54:13 -07:00
Marco Cawthorne
d9d3220833
NSRenderableEntity: various tweaks to networking, env_glow
2023-09-20 15:09:23 -07:00
Marco Cawthorne
b7126fbadb
env_glow: from client-side only entity to shared. also support other rendermodes (accurate to GoldSrc)
2023-09-19 23:01:59 -07:00
Marco Cawthorne
c920dc2df0
NSMonster: add spawn key 'reserve_ammo', which should be self explanatory. See docs otherwise.
2023-09-18 17:57:47 -07:00
Marco Cawthorne
c8d29078da
NSMonster: Add 'dead' boolean spawn key. Will decide if the monster starts 'dead'
2023-09-18 15:51:35 -07:00
Marco Cawthorne
4f35c7b6bf
NSMonster: Explicitly reset animation time before attack acts happen, add class documentation
2023-09-18 15:34:44 -07:00
Marco Cawthorne
83202a6174
NSMonster: add spawn key "leap_damage", to define the sort of damage the monster can apply when leaping towards you.
2023-07-30 08:12:56 -07:00
Marco Cawthorne
bd470605a3
Exterminate FX_Explosion, FX_Spark and FX_Impact references.
2023-07-24 14:14:20 -07:00
Marco Cawthorne
9e6a203a02
Shared: Go over the various base classes and bring Save/Restore methods up to date.
2023-07-07 23:34:58 -07:00
Marco Cawthorne
bc67e0ab47
NSRenderableEntity: add new methods SetAxialScale() and GetAxialScale(). These can be used in combination with the isotropic scaler which uses SetScale().
2023-07-07 17:05:30 -07:00
Marco Cawthorne
a79ffd77b0
NSMonster: change entity spawn key 'body_on_draw' to support a group prefix (e.g. 1:2 for group 1, model 2)
2023-06-28 14:29:33 -07:00
Marco Cawthorne
d5bb5f933d
NSRenderableEntity: Increase network precision of body field, add new methods 'SetBodyInGroup(int, int)' and 'GetBodyInGroup(int)'
2023-06-28 14:19:47 -07:00
Marco Cawthorne
31774ce3f1
EntityDef work on NSMonster, NSTalkMonster, NSProjectile etc.
2023-06-20 21:19:00 -07:00
Marco Cawthorne
40dc1267fa
NSMonster: Add FramegroupForAct() and ActPlay() methods, deprecate Anim* methods.
2023-06-02 19:25:49 -07:00
Marco Cawthorne
d0838eab60
NSMonster: turning animation support, with new overridable methods AnimTurnLeft/AnimTurnRight
2023-06-01 16:17:11 -07:00
Marco Cawthorne
b4fbab80c5
NSMonster: cache idle animation in case it differs (between ACT events, in case of HL MDL)
2023-05-31 11:57:01 -07:00
Marco Cawthorne
055988da77
fix typo in NSMonster.
2023-05-31 11:47:19 -07:00
Marco Cawthorne
e880bf764a
NSMonster: get movement speed from animations by default, add cvar ai_stepSize to configure distance
2023-05-31 11:44:31 -07:00
Marco Cawthorne
7ad89b9cb2
NSMonster: new method: GetYawSpeed, which controls the turning speed in eueler angles per second.
2023-05-31 11:18:34 -07:00
Marco Cawthorne
5eae288cb9
NSMonster: Four new callback methods that developers can hook into. HasBeenKilled(), HasBeenHit(), HasBeenGibbed() and HasBeenAlerted()
2023-05-31 10:09:21 -07:00
Marco Cawthorne
bd7cb44784
AI: add ai_debugNav, and ai_debugLogic cvars. Add cooldown timer for targets
2023-05-30 12:06:16 -07:00
Marco Cawthorne
6078d31f12
NSMonster: add methods SetEyePos, and cvar r_showViewCone.
2023-05-17 08:59:26 -07:00
Marco Cawthorne
3a755aaba7
NSSurfacePropEntity: add SetCanBleed() and CanBleed() methods to abstract the old iBleeds field.
2023-04-22 01:05:27 -07:00
Marco Cawthorne
daf8512aa2
NSTalkMonster: Don't greet non-friendly players.
...
NSMonster: Improvements to alerting, turning and what to do when they lose their target.
NSInteractiveSurface: Unbreak it by allowing it to spawn in CSQC
Server: Spawn AI nodes for info_player_{start,deathmatch} when no real nodes are present
2023-02-06 16:41:19 -08:00
Marco Cawthorne
dfcf0d183d
NSMonster: Gib properly using Disappear() instead of Hide()
2022-12-13 17:45:33 -08:00
Marco Cawthorne
56ec44700a
Lots of cleanup related to many entity classes to aid doxygen with generating documentation.
2022-12-06 15:04:07 -08:00
Marco Cawthorne
2265047bfe
Fix a bunch of nonvirtual/virtual mismatching going on that's been caught by the new compiler.
2022-11-16 14:04:10 -08:00
Marco Cawthorne
e499a7d484
Documented the Nuclide System (NS) classes.
2022-10-14 13:08:47 -07:00
Marco Cawthorne
6c7e3e8c06
NSRenderableEntity: add new overridable method (void) HandleAnimEvent(float, int string)
...
Also fix the mouth-flapping on NSTalkMonster.
2022-09-10 09:56:15 -07:00
Marco Cawthorne
146051dd67
Proper nonvirtual declarations for class methods.
2022-08-24 15:11:04 -07:00
Marco Cawthorne
7c40100e46
Cleanup time for some of our base classes. Go over Show/Hide methods, and document
...
the EFFECTS fields we have available. Since we do our own networking mostly we can reuse
some that are only available via CSQC (or NQSSQC)
2022-08-24 14:05:59 -07:00