Commit Graph

850 Commits

Author SHA1 Message Date
Marco Cawthorne 952ec87038
env_glow: split predraw into more sub-functions to make profiling easier 2023-02-15 09:39:53 -08:00
Marco Cawthorne 86dfb3ff1a
Fix various compiler warnings. 2023-02-14 12:54:06 -08:00
Marco Cawthorne 9738a6a525
prop_dynamic/static: support for 'sequence' key 2023-02-11 22:38:23 -08:00
Marco Cawthorne 370396a415
Menu-FN: Parsing user.scr and settings.scr in Advanced options is now mostly done. Still need to support LIST type layout elements. 2023-02-11 17:10:43 -08:00
Marco Cawthorne 65f21af405
env_beam, env_laser, prop_rope: Use GetEyePos() to assign the proper player view position 2023-02-07 16:21:01 -08:00
Xylemon 9accdcb68a func_physbox: Use Disappear API call 2023-01-18 19:37:10 -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 46eae742cb
VGUI: Make sure defaults are filled into the attributes inside Spawned() for inherited ones. 2022-12-30 18:01:47 -08:00
Marco Cawthorne 4322f1fd93
GS-EntBase: prevent light entities from overriding the first built-in lightstyles.
worldspawn: Assign two more lightstyles that Half-Life registers.
2022-12-30 13:53:42 -08:00
Marco Cawthorne 81ad389668
cycler: Set the bbox to be that of standing player 2022-12-22 22:48:52 -08:00
Marco Cawthorne 466787b3ff
env_shooter: set skin on the gib entity. 2022-12-22 16:53:41 -08:00
Marco Cawthorne 6c8d785ce2
env_shooter: Respect rendering modes, also add support for the 'shootsounds' key. snark_pit will be more complete now. 2022-12-22 13:02:45 -08:00
Marco Cawthorne da4501a90d
multi_manager: m_iValue needs to be set TRUE on the multi_manager_sub. 2022-12-21 17:10:25 -08:00
Marco Cawthorne 3eb85ae400
Documentation improvements to various headers, also g_developer prints. 2022-12-21 17:09:35 -08:00
Marco Cawthorne 2d911109cc
trigger_relay: Set m_iValue so that multisources will work properly that get targetted by them
trigger_auto: Delay the trigger of them in singleplayer until 1 player has joined
Misc cleanups. The 'Janitor Simulator' on TWHL should work now.
2022-12-14 16:51:16 -08:00
Marco Cawthorne 33295ff409
env_beverage/item_food: Fix item_food not rendering and or spawning. 2022-12-13 23:16:00 -08:00
Marco Cawthorne 94d5d5408c
GS-EntBase: Adjust QUAKED comments so they can be parsed by Doxygen. 2022-12-13 17:52:20 -08:00
Marco Cawthorne 711548465a
env_beam/env_laser: Visual overhaul of env_beam. env_laser now also rebased using my work on env_beam. 2022-12-08 14:58:30 -08:00
Marco Cawthorne 0f9439b956
env_beam: Initial implementation. Visual fluff still missing, but coming up! 2022-12-07 17:05:50 -08:00
Marco Cawthorne 67634bf6e5
env_beam: move from gs-entbase/server to gs-entbase/shared 2022-12-07 12:48:34 -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 6f3a1d1d52
infodecal: set drawmask in the constructor, fixes decals not rendering. 2022-12-06 01:11:35 -08:00
Marco Cawthorne 41ccbca2aa
GS-EntBase: Fix some more places where remove() was being called directly when it shouldn't be 2022-11-30 17:26:50 -08:00
Marco Cawthorne b593c2694b
GS-EntBase: use Destroy() over remove() where applicable. 2022-11-30 16:55:17 -08:00
Marco Cawthorne 2c6da152ed
Clean up more and more warnings fteqcc yells about 2022-11-30 14:21:55 -08:00
Marco Cawthorne 29a1bea943
Misc consistency cleanups 2022-11-22 22:37: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 8b15c59ecd
func_breakable: use BreakModel_Spawn instead of FX_BreakModel. 2022-11-11 15:04:33 -08:00
Marco Cawthorne 7ad6d9c457
Make games buildable again, caused by renaming Spraylogo and GameRules classes/files. 2022-10-14 15:49:59 -07:00
Marco Cawthorne e499a7d484
Documented the Nuclide System (NS) classes. 2022-10-14 13:08:47 -07:00
Marco Cawthorne b92a3a9da5
PMove_Custom: Go over some checks, one trace_fraction check was wrong and caused us to not slide along rotating brushes (doors) properly. 2022-09-12 23:07:33 -07:00
Marco Cawthorne b3755bf0a2
func_pushable: func_pushables shouldn't collide with anything but BODY type objects for now
to work around the collision issues on maps such as cs_estate
2022-09-12 14:01:51 -07:00
Marco Cawthorne 02a1218ee7
func_vehicle: unset any velocity applied to our driver, since they're sticking to us. 2022-09-11 13:56:11 -07:00
Marco Cawthorne 9deb12b68d
func_breakable: This still used Hide() for some reason, changed to Disappear()
Misc cleanup.
2022-09-02 22:02:54 -07:00
Marco Cawthorne 5a7d082af7
Move touch handlers into NSTrigger, remove trigger_multiple's own version of the team check. 2022-08-31 15:18:06 -07:00
Marco Cawthorne 31bb9b4042
Abstract timers to make sure MOVETYPE_PUSH entities are handled without game/mod developers having to think much about them.
Also change rechargers to MOVETYPE_NONE instead of PUSH, as it won't be moving anyway.
2022-08-31 13:24:55 -07:00
Marco Cawthorne 05eb10904e
func_vehicle: Make it shared/predicted. The smoothest it's ever been! 2022-08-28 09:20:34 -07:00
Marco Cawthorne 7a252ad213
NSEntity: new methods to simplify a lot of common tasks added. ScheduleThink(void(), float) and WithinBounds(entity) will surely be helpful.
Went over gs-entbase/server and made sure to use the new Think handlers to safely deal with MOVETYPE_PUSH
and handle any fun edge cases where time may be 0.0f.
func_breakable has also been fixed, since the changed Show/Hide behaviour prevented
them from getting destroyed fully.
2022-08-26 15:39:00 -07:00
Marco Cawthorne 3c673dcf6d
func_recharge: Only gives 30 armor points in multiplayer. 2022-08-24 10:26:20 -07:00
Marco Cawthorne 3ae65d41b7
func_plat: fix typo in ::Restore method, thanks heartologic for spotting 2022-08-22 08:32:12 -07:00
Marco Cawthorne 55427f718a
func_wall: Fix messup where the client game set it to SOLID_NOT 2022-08-11 14:18:28 -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 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 41d3f3b520
func_water: Don't assign the toggle spawnflag. I don't know where that came from - this should fix sh_hdgibfactory 2022-08-07 13:24:55 -07:00
Marco Cawthorne 9e170795d5
func_tank/tankmortar: Make the smoke and flash sprites assume RM_ADDITIVE 2022-08-05 23:27:48 -07:00
Marco Cawthorne 6c09154f08
multi_manager: Clean up warnings 2022-08-05 22:21:21 -07:00
Marco Cawthorne dd86e5a583
NSIO: Add SaveEntity/ReadEntity methods to help Save/Restore operations 2022-08-05 21:36:47 -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 df738da436
Get rid of src/gs-entbase/shared/{baseentity.h,env_sprite.h} 2022-07-20 16:38:12 -07:00
Marco Cawthorne 30b4007894
Get rid of src/gs-entbase/baseentity.h 2022-07-20 16:33:52 -07:00
Marco Cawthorne 197ce20c31
BotLib: Start making use of some of NSNavAI 2022-07-20 16:27:24 -07:00
Marco Cawthorne 8fccdcbad1
build.cfg: Bump BUILD_ENGINEREVISION to include qqshka's FTEQW fix. 2022-07-19 18:09:40 -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 6ff42e4176
NSNavAI: Continously check whether we can already run to the next node, and target that if that's the case. 2022-07-18 11:51:48 -07:00
Marco Cawthorne dc1cbc5da8
NSMonster: add InSequence() method. Fix scripted sequences.
PMove: use self.mins instead of PHY_HULL_MINS when testing friction.
disable friction for monsters for now, as it can break some scripted sequences.
2022-07-18 11:32:18 -07:00
Marco Cawthorne d7418151f0
Client: Disable some expensive routines when paused. 2022-07-18 10:02:04 -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 4566d07313
NSMonster/NSTalkMonster: more reshuffling done. Started moving the pathfinding components over into a new class named NSNavAI 2022-07-17 20:34:19 -07:00
Marco Cawthorne b275275652
GS-EntBase: Initial documentation for info_hint. 2022-07-17 09:04:16 -07:00
Marco Cawthorne 6c895d73b7
NSMonster: Initial work towards reworking states. 2022-07-17 00:04:01 -07:00
Marco Cawthorne 85cd67b798
Merge pull request #6 from dqus/monsters-clean-up
NSMonster: move enemy invalidation from AttackThink() to SeeThink()
2022-07-16 16:40:37 -07:00
Ivan Kukush ea462ea8ac NSMonster: move enemy invalidation from AttackThink() to SeeThink()
During enemy invalidation reseting m_eEnemy to __NULL__ also set monster state to idle,
should be a task for NSMonster::SetEnemy() which is missed right now.

Add new NSMonster::IsValidEnemy(entity enemy) - returns TRUE if 'enemy' should be
considered a valid target for killing, visibility/reachability is not checked.

Add sanity checkes in NSMonster::WalkRoute() otherwise __NULL__ m_eEnemy could be used.

NSMonster_FindClosestPlayer() use IsValidEnemy() insead of health checking,
probably too strict and that changes its behaviour too much, probably.
2022-07-17 01:35:22 +03: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 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 98afd5fa28
NSRenderableEntity: add SetBoneControl methods. 2022-07-10 16:39:15 -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 4dc1dc1143
prop_rope: adjust multiplier to match the original sag strength 2022-06-27 19:57:15 -07:00
Marco Cawthorne 5691fe518f
prop_rope: Minor performance boost. Add cvar rope_maxsegments. 2022-06-27 12:16:11 -07:00
Marco Cawthorne e7339b124e
NSRenderableEntity: Use the new addlight for RFX_Q2PULSE. Needs engine version bump. 2022-06-27 08:31:41 -07:00
Marco Cawthorne 87c706ded7
NSEntity: Respect 'team_no' entity key in all team games to filter out which team can touch what 2022-06-22 14:58:45 -07:00
Marco Cawthorne cf5a4da751
NSTrigger: respect the 'message' key with any UseTargets call 2022-06-22 13:08:37 -07:00
Marco Cawthorne d633e80846
light_dynamic: Focus/optimise for the use of static rtlights. This _should_ provide a significant speedup. 2022-06-17 10:11:17 -07:00
Marco Cawthorne c996986631
prop_vehicle_driveable: respect clipvehicle 2022-06-16 23:04:26 -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 a7d7dcd9ee
Change the last commit by turning this into an NSMonster specific function instead. 2022-06-08 17:41:02 -07:00
Marco Cawthorne 5e9a65924a
NSRenderableEntity: add cvar rfx_q2pulse_intensity, rfx_q2pulse_speed 2022-06-08 14:08:13 -07:00
Marco Cawthorne 7f85a6f924
NSRenderableEntity: add render FX Q2PULSE. Which emulates the pulsing, fullbright
rendering of items/pickups in Quake II
2022-06-08 13:30:52 -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 14518aabf0
UI: Misc fixes... get 'base' building again 2022-06-05 11:56:23 -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 beb6f49620
Fixed dynamic lights not spawning properly, fix double init for CSQC ents. Be more specific about which ents can spawn and which won't on the client. Make sure __fullspawndata is wiped after every bsp ent init. 2022-06-03 15:22:33 -07:00
Marco Cawthorne 78d3942789
env_glow: Fix Spawned() not calling its prior self. 2022-06-02 20:01:06 -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 73c762e875
NSEntity: Fix for IsVisible(entity), where we wouldn't 'see' the target correctly, as the trace collides with them and isn't returning a fraction of 1.0. 2022-05-27 14:55:33 -07:00
Marco Cawthorne 0f7d4fd214
prop_vehicle_drivable: Add spawnflag VEHSF_NOFLIP, which will prevent the vehicle from flipping over 2022-05-26 17:42:35 -07:00
Marco Cawthorne 50070b031b
NSMonster: Add MSF_HORDE flag. That marks a monster as constantly being aware and finding the nearest player for attack. 2022-05-26 15:24:08 -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 06efd9495d
func_door: Add some useful inputs.
VGUI: Some misc changes related to classic mode.
2022-05-13 14:10:07 -07:00
Marco Cawthorne 1e0534c922
NSSpraylogo: Handle vid_reload's gracefully 2022-05-13 11:41:33 -07:00
Marco Cawthorne 128404d5d3
Spraylogo: Handle both monochrome (BMP) and colored spraylogos. 2022-05-12 20:34:18 -07:00
Marco Cawthorne 7048cea248
NSSurfacePropEntity: Ignite() calls will now apply additional damage upon contact. 2022-05-12 11:42:45 -07:00
Marco Cawthorne 25c54af62c
Spring cleaning part one. 2022-05-11 12:49:04 -07:00
Marco Cawthorne a039a69dd3
Ultimately remove the deprecated old class names for base entities. 2022-05-10 15:01:40 -07:00
Marco Cawthorne a474b820e2
momentary_rot_button: Fix DOORHACK, it's spawnflag is apparently set by the affected and not the ent controlling it. 2022-05-07 21:02:49 -07:00
Marco Cawthorne 5e70290017
ambient_generic: Make sure speech sentences use the attenuation as defined by the radius. 2022-05-05 19:18:26 -07:00
Marco Cawthorne 665572543f
prop_static: Support for the 'body' key. 2022-05-05 19:14:17 -07:00
Marco Cawthorne 10adaaff54
build scripts: shuffle things around so that we override FTE's makefile properly in regards to CC 2022-05-05 15:28:37 -07:00
Marco Cawthorne c5b2107abf
ambient_generic: Implement support for playing back Sentences. 2022-05-04 21:31:37 -07:00
Marco Cawthorne 4d33098716
prop_vehicle_driveable: change dmg and velocity calculation for when you collide with an object that feels pain. 2022-05-04 17:22:43 -07:00
Marco Cawthorne c4c84dbdf3
worldspawn: Unbreak client-side values not being read. 2022-05-04 15:47:25 -07:00
Marco Cawthorne 299b2eed72
scripted_sequence & multi_manager: Mark both their return values as positive once they've triggered their targets only. 2022-05-04 13:59:10 -07:00
Marco Cawthorne f9c7807c1f
NSTalkMonster: comment the last commit a bit more for prosperity. 2022-05-04 11:19:19 -07:00
Marco Cawthorne ef6c200751
NSTalkMonster: pause CHAN_VOICE and resume when unpaused. 2022-05-04 10:59:42 -07:00
Marco Cawthorne 7d780118ae
func_tracktrain: Implement support for TRAIN_NOPITCH 2022-05-02 11:04:26 -07:00
Marco Cawthorne 978cf8e1fc
env_message: When spawnflags EMF_ALLPLAYERS isn't set and our activator is NOT a client then broadcast to all players anyway.
This is a hack to make the credits in c0a0 etc. work. Hack.
2022-05-02 10:50:10 -07:00
Marco Cawthorne 66e982b901
NSMonster: Go over the animation code to add timers that handle ACT-based sequences better. 2022-05-01 22:45:30 -07:00
Marco Cawthorne 17611b7d38
PMove: Move some things around a bit. 2022-05-01 22:04:40 -07:00
Marco Cawthorne 32668196bc
Forgot to uncomment a line in the last commit. 2022-05-01 12:13:38 -07:00
Marco Cawthorne e64e72d155
env_bubbles: Implementation. Should be complete.
NSIO: Add methods ReadBool(), SaveBool(), and PREDICTED_BOOL macro.
2022-04-30 20:18:56 -07:00
Marco Cawthorne d562e4d742
func_tracktrain: Do avelocity rotation a bit better. Still need to figure out turning faster. 2022-04-30 15:26:46 -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 92826b3e5a
Deprecate FL_NOATTACK, replace it with FL_FAKESPEC. 2022-04-28 16:25:51 -07:00
Marco Cawthorne 94679f3a3f
SprayLogo: Add "player.spraylogo" soundDef call instead of sound(). 2022-04-28 12:34:28 -07:00
Marco Cawthorne 70f32c97a4
NSVehicle: Add method CanDriverCrouch() to deal with player physics restrictions. 2022-04-27 15:03:00 -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 1cd2f320dc
env_sprite: Fix clumsy return. 2022-04-25 10:51:29 -07:00
Marco Cawthorne 607194957e
Player: Move UseUp/Down into the base_player class. Should now universally handle un-presses for all games. 2022-04-25 10:19:17 -07:00
Marco Cawthorne 87d9614b23
GS-EntBase: Convert more entities to the new Touch() method. 2022-04-24 22:10:35 -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 a28caedf40
trigger_one: Fix it up to bring it up to standards.
func_pushable: Ditto, simplify Touch()
2022-04-23 22:03:51 -07:00
Marco Cawthorne 767fdd0913
func_door_rotating: Apparently spawnflags 32 (TOGGLE) does not remove player touch. Odd. 2022-04-23 21:35:49 -07:00
Marco Cawthorne 0c89cd31ec
func_door_rotating: Redid the way how one-way-doors swing. This should avoid them swinging into your face constantly 2022-04-23 18:32:29 -07:00
Marco Cawthorne f83b6b6725
func_door_rotating: Go over the code that handles touching. Stop assigning the .touch field as it's off-limits now. 2022-04-23 17:34:22 -07:00
Marco Cawthorne 1d216918e1
Client: added cvar cl_chat_enabled, which supresses chat notifications.
Spraylogos: Fix blendFunc
VGUI: Add method Visible() for CUIWindow
2022-04-22 12:00:04 -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 af6412e283
Networking improvements to NSEntity, NSRenderableEntity and NSSurfacePropEntity 2022-04-20 14:29:37 -07:00
Marco Cawthorne 8781494822
prop_physics_multiplayer: Actively check if players are clipping inside TouchThink() and apply some velocity to wake the entity up 2022-04-20 12:04:17 -07:00
Marco Cawthorne 8e15f04c38
prop_physics_multiplayer: Initial implementation. Developed with the ODE plugin in mind. 2022-04-20 10:44:59 -07: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 a34c9a8059
env_sprite: Hack to accept materials instead of models
func_breakable: Some minor fixes
prop_physics/func_physbox: Add PHYSICS_STATIC ifdef for when a game does not want fakephysics either
NSSurfacePropEntity: max_health will now be set along with health in SpawnKey()
2022-04-16 18:42:38 -07:00
Marco Cawthorne 9cdcb3a321
trigger_hurt: Fix broken touch(), regression with the overhaul of Touch recently. 2022-04-15 10:19:50 -07:00
Marco Cawthorne 6a658c5268
NSVehicle: Add the following methods - HidePlayermodel (for the self-driver) and DriverAnimation. The latter is a gentle request and the mod doesn't have to respect it, but should be used as a fallback. 2022-04-15 10:19:22 -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 00e8f8e7a9
prop_vehicle_driveable: Add WeaponInput() method to make this a bit cleaner for sub-classes. 2022-04-13 15:31:46 -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 05f6af510a
NSSurfacePropEntity: put rendering for when an entity is burning into the new
method RenderFire().
Also some minor non-ODE physics tweak.
2022-04-10 07:21:44 -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 6b1af093bb
NSMonster: use PMoveCustom_RunStandardPlayerPhysics instead of the engine, as it overrides
our hitcontentsmask. This is required for monster/bot clips.
Client: If an entity gets removed, ensure the .skeletonindex gets deleted.
2022-04-09 19:21:00 -07:00
Marco Cawthorne e827c51e4b
Client: Make sure glow effects are rendered after other entities and camera manipulation. 2022-04-08 18:15:18 -07:00
Marco Cawthorne 1dd3fe0eff
Client: Add cvar: v_muzzledlight 2022-04-08 14:20:49 -07:00
Marco Cawthorne f6032484e2
NSVehicle: Add new methods: GetExistPos(), HideViewWeapon() and HideCrosshair().
Fix networking bug for when you exist a vehicle.
2022-04-07 12:16:07 -07:00
Marco Cawthorne e08852284f
NSRenderableEntity: Add RenderFX RFX_GLOWSHELL2, which is the same as RFX_GLOWSHELL, but
the glow effect has a 'cull back' rendering flag.
2022-04-06 19:32:46 -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 af73a3a5b0
NSSurfacePropEntity: Fix bug that I recently introduced which prevents health
from propdata from getting assigned.
2022-04-05 19:05:00 -07:00
Marco Cawthorne 279e8a1cd5
Forgot to undo a debug setting. Tweaked glowshell material a little. 2022-04-05 18:59:43 -07:00
Marco Cawthorne 005c6b34ee
prop_rope: Clean up and rewrite of how segments are drawn. 2022-04-05 11:19:50 -07:00
Marco Cawthorne 0a75c64fb1
infodecal: Allow usage outside of HL BSP. Just not Quake 1/2 BSP. 2022-04-04 21:34:00 -07:00
Marco Cawthorne 542b1fe27f
func_smokevolume: Initial implementation 2022-04-04 10:16:49 -07:00
Marco Cawthorne 0d93a22b58
Clean up misc warnings. 2022-04-04 09:40:35 -07:00
Marco Cawthorne 75a1c8ce6c
NSEntity: .touch being assigned is being deprecated in favor of our internal Touch(entity).
This is so we can support StartTouch(entity) as well as EndTouch(entity) which are implemented
with this commit. Update your entities touch() function overrides for NSEntity sub-classes!
2022-04-03 14:04:34 -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 e45987d65c
NSEntity: Added new methods based on GMod's API. More to follow. 2022-04-02 00:10:25 -07:00
Marco Cawthorne 6802d907f7
NSPhysicsEntity: Handle collision with players differently when no physics simulator is present. 2022-04-01 12:16:14 -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 e8de2b32bb
NSIO: Fix sloppy code in our Restore() method. 2022-03-29 22:25:45 -07:00
Marco Cawthorne dd26664ac4
NSEntity: fix typo in ParentUpdate() preventing us from parenting things by offset 2022-03-28 20:20:29 -07:00
Marco Cawthorne 50312d500a
SurfaceProperties: Be more pedantic about what object can contain material
info in SurfData_Impact()
2022-03-28 19:01:29 -07:00
Marco Cawthorne e2073dfc43
env_glow: Quick hack to allow oriented sprites to rotate when pointing down. 2022-03-28 17:18:50 -07:00
Marco Cawthorne 95c2b8225a
func_door: Add 'snd_move' attribute.
Platform: Misc minor GLSL updates. You can use the #TINT parm on program fade materials now.
2022-03-28 03:32:02 -07:00
Marco Cawthorne 9252682c53
NSTrigger: Add 'Trigger' input, this will make interacting between GoldSrc and Source triggers easier. 2022-03-26 23:27:27 -07:00
Marco Cawthorne 1ca716d4fe
func_door: Add Save/Restore methods to aid save-games. 2022-03-26 18:15:43 -07:00
Marco Cawthorne 0e4aa015a7
NSEntity: Add 'Use' input from Source. 2022-03-26 18:04:06 -07:00
Marco Cawthorne c87837f583
func_door: Add 'forceclosed' key from Source 2022-03-26 18:03:22 -07:00
Marco Cawthorne ed3c821175
logic_auto: Initial implementation.
NSEntity: Add support for 'SetParentAttachment', which currently supports
the keyword 'origin'. Will be extended to look for model attachments in the future.
NSEntity: Attachments now take the spawn offset into account instead of
attaching to an entity's origin. Use SetParentAttachment to override this.
2022-03-24 17:59:30 -07:00
Marco Cawthorne 9e9d5b1832
env_fog_controller: Initial implementation. Fully shared entity, tested on
d2_coast_XX maps in Half-Life 2.
2022-03-23 11:05:35 -07:00
Marco Cawthorne 3dc0be8ff4
func_dustcloud: Fix 'Alpha' not being respected fully. 2022-03-23 00:35:30 -07:00
Marco Cawthorne 8df9b6db0e
func_dustcloud: Add separate material textures/sfx/dustcloud into platform/ 2022-03-23 00:26:46 -07:00
Marco Cawthorne 8fa85bd1e5
func_dustcloud: initial implementation. Currently fully client-side, so
Inputs and 'StartDisabled' don't work.
2022-03-22 22:57:15 -07:00
Marco Cawthorne f8963a12db
prop_static: Respect .skin... we do this because this to-be-makestatic'd
entity will not support the RenderFXPass() anyway.
2022-03-22 19:51:59 -07:00
Marco Cawthorne 750bb413e9
prop_rope: Now a shared (client/server) entity instead of just client. Will
now respect parenting so you can have very dynamic rope attachments in
the world.
2022-03-22 16:38:31 -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 88a1984d09
NSRenderableEntity: Add RFX_GLOWSHELL effect. Note that .fatness doesn't
currently work on HL MDL.
2022-03-15 00:01:20 -07:00
Marco Cawthorne dca95b5c45
Fix some warnings across the board. 2022-03-14 11:18:59 -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 d63f838a86
info_particle_system: Default .angles to point upward. 2022-03-10 13:50:53 -08:00
Marco Cawthorne f1f12623d1
Client: add r_skipFlares cvar. 2022-03-03 23:32:51 -08:00
Marco Cawthorne 7ba2bee8e2
light_dynamic: Add r_showDlights, which will visually highlight active
dynamic lights that are active in-game.
2022-03-03 14:16:46 -08:00
Marco Cawthorne 53f5780ac0
Improvements to console output to make debugging easier, simplified
entry.qc by pushing more code into external functions. Add support
for mods to override networked events (after we added support for
ent update overrides the other week).
2022-03-03 14:16:02 -08:00
Marco Cawthorne 390f127898
NSRenderableEntity: Run Math_FixDelta() on our angles before networking
anything to make sure we're within the network constraints of the protocol.
2022-03-02 09:15:41 -08:00
Marco Cawthorne a687d7b330
Various tweaks to documentation inside the codebase, more verbose general
information prints to console to aid non-devs in sending bug reports and
finding other issues. Updates to some of the GLSL. Minor material fixes.
2022-02-23 01:17:05 -08:00
Marco Cawthorne 084414db40
Client: Fix bug where muzzleflashes wouldn't show up in FreeHL. 2022-02-22 12:01:31 -08:00
Marco Cawthorne 8cb4c35e23
Remove SendFlags with constants from NSEntity and peers, make full use
of EvaluateEntity() to decide which attributes to send network updates of.
2022-02-18 00:30:24 -08:00
Marco Cawthorne 1d9ade7319
NSEntity: Add ClientRemove() method so sub-classes can control what happens
when a SSQC ent representation is removed from the client.
prop_vehicle_drivable: All sorts of tweaks, lots subject to change.
VGUI elements now get a callback when the resolution gets resized, so they
get a chance to reposition themselves.
Deprecate function ClientGame_EntityRemove().
2022-02-17 22:16:35 -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 bef8dfb117
Base: Some minor edits to facilitate the TW akimbo weapons (clean this later...) 2022-02-04 15:24:43 -08:00
Marco Cawthorne 82e1f2e044
GS-EntBase: Move prop_static fully to the client-side. 2022-02-04 10:52:37 -08:00
Marco Cawthorne c4a5070027
NSProjectile: Fix small compiler warning. 2022-02-04 10:22:01 -08:00
Marco Cawthorne 4c6800aa4f
Some fixes/checks for prop_dynamic that I forgot to revert while testing.
Also added some changes to NSVehicle/prop_vehicle_drivable.
2022-02-03 21:18:31 -08:00
Marco Cawthorne 54cf7f8273
GS-EntBase: Add SetScale(), SetOwner(), SetVelocity() and SetTouch() methods
to NSEntity.
2022-02-02 10:23:31 -08:00
Marco Cawthorne bcf9e2e758
Cleaning up some warnings. 2022-02-01 13:37:21 -08:00
Marco Cawthorne 419e89e861
Client: Some minor work towards making the textmenu/game_text code respect
actual font data handled by Nuclide via external fontdef files.
2022-01-31 13:57:30 -08:00
Marco Cawthorne 7ce222007c
NSMonster: Fix oversight where targets would get overriden by AlertNearby()
Make it so Pain() has a random chance to change targets.
2022-01-31 10:12:41 -08:00