Commit Graph

47 Commits

Author SHA1 Message Date
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 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 7d58b4a96a
NSRenderableEntity: Remove aggressive angle optimisation 2024-02-23 13:21:08 -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 9847f3828e
NSGameRules: send a newly joined player to the intermission screen gently 2024-02-21 13:41:18 -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 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 900cf43bd0
!!! Mods/games should now remove modelevent.qc and view.qc from their csprogs !!!
env_muzzleflash: Initial implementation of this Half-Life 2 entity
Client: model events are for viewmodels are now handled by NSRenderableEntity.
2023-10-12 14:45:27 -07:00
Marco Cawthorne 1bf829920f
NSRenderableEntity: Simplify RM_SOLID in RenderFXPass() 2023-10-11 01:05:34 -07:00
Marco Cawthorne 19d6f22dc4
NSIO: add TransitionComplete() method for easier handling of entities post level-transition.
NSRenderableEntity: Default renderamt to 0.
Also use Read*() methods within all of the base classes their SpawnKey() methods.
2023-10-03 11:02:47 -07:00
Marco Cawthorne 9d6133054c
NSRenderableEntity: add inputs SetAnimation and SetBodyInGroup 2023-09-27 13:07:53 -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 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 c9bd1eb514
NSRenderableEntity: Fix frame1time not being evaluated for networking 2023-07-29 18:00:42 -07:00
Marco Cawthorne 2656593203
NSRenderableEntity: Respect traileffectnum only when a previous position is known 2023-07-27 23:19:24 -07:00
Marco Cawthorne 7400694e81
Add new cvar: r_drawGLQuakeShadow 2023-07-16 13:28:41 -07:00
Marco Cawthorne f2c41e3def
NSRenderableEntity: Respect the .traileffectnum field 2023-07-10 08:55:30 -07:00
Marco Cawthorne 4104c3e16f
NSRenderableEntity: add SpawnKey 'modelstretch'/'axialscale'. 2023-07-08 00:16: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 69d1498c8b
EntityDef: support 'events' group, so developers can tie animation events to Inputs (Source Base I/O system) 2023-06-19 10:35:24 -07:00
Marco Cawthorne 277819b904
NSRenderableEntity: respect render amount on glowshell intensity 2023-04-16 11:06:51 -07:00
Marco Cawthorne 706241a7b6
Client: viewmodel and player model weapon now inherit the rendermode of the player. 2023-04-16 10:43:40 -07:00
Marco Cawthorne d213ec110f
NSRenderableEntity: respect the MF_ROTATE .modelflag field. 2023-04-15 16:58:25 -07:00
Marco Cawthorne 1ff0b3f9ac
Menu-FN: Various improvements to the menu for when no menu assets are available at all. 2023-02-16 17:24:09 -08:00
Marco Cawthorne 441079b30c
NSRenderableEntity: take RenderFX setting into account before culling some networked info 2023-01-22 20:01:52 -08:00
Marco Cawthorne 0ac1bc4b68
NSEntity: Add method CanSpawn(bool) which will be used to determine mainly if an entity is to be spawned on the client or server module (but it can also let a class handle under which other conditions it spawns)
NSEntity: move RestoreComplete() into NSIO because NSGameRules needs this.
2023-01-06 13:23:48 -08:00
Marco Cawthorne b2925d46e4
Lots of small clean ups and microoptimisations. ambient_generic has also been fixed in multiplayer and made to save more bandwidth.
Rename a bunch of cvars to be more in a more consitent style similar to later id Tech games.
2023-01-05 23:41:48 -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 ecf5988584
PropData: Breakmodels now spawn fully client-side! This will remove a lot of network overhead. 2022-11-14 19:50:23 -08:00
Marco Cawthorne 3117042eef
NSRenderableEntity: give glowmod more precision over the network for shader enhancements... 2022-09-12 22:32:02 -07:00
Marco Cawthorne 2838984603
NSRenderableEntity: Network .frame1time whenever .frame changes. 2022-09-12 14:06:31 -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
Marco Cawthorne 7228c0d43a
NS{Entity,RenderableEntity,SurfacePropEntity}: network avelocity in a separate check 2022-08-11 14:19:10 -07:00
Marco Cawthorne db74cf6ffa
NSRenderableEntity: Network .skin as a float for now for better precision for special cases. 2022-08-10 14:38:16 -07:00
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 6d8273331a
Client: Replace rogue setproperty calls with ones talking to our g_view object 2022-08-05 21:15:19 -07:00
Marco Cawthorne 81b4bc042f
func_illusionary/wall: Only makestatic() when our rendermode is RM_NORMAL 2022-08-05 20:02: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
Renamed from src/gs-entbase/shared/NSRenderableEntity.qc (Browse further)