Commit Graph

1807 Commits

Author SHA1 Message Date
Marco Cawthorne a90296864b
scripted_sequence: Call .ReleaseThink() before moving monster within InitIdle() 2023-09-22 14:37:43 -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 f5308f6e08
env_beam/env_laser: Add ::RendererRestarted to fix textures upon video memory refreshes 2023-09-20 20:53:13 -07:00
Marco Cawthorne a1500166be
NSEntity: add method ::Relink() 2023-09-20 20:50:54 -07:00
Marco Cawthorne 65400fea2c
scripted_sequence: DropToFloor() after teleporting, and also only teleport in ::InitIdle when move mode is not 0 2023-09-20 20:08:08 -07:00
Marco Cawthorne c314e880fd
Client: Fix the parameter order on a few classes' ReceiveEntity methods 2023-09-20 15:40:13 -07:00
Marco Cawthorne 724523ce2c
Server: Increase ENTITYDEF_MAX to 256 2023-09-20 15:10:49 -07:00
Marco Cawthorne 4a8df93395
PropData: debris/gibs can now create decals upon impact with a surface 2023-09-20 15:10:29 -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 e44f56a56d
func_areaportal: Make work on Source Engine BSP by shoving the "portalnumber" key into .style 2023-09-18 19:37:36 -07:00
Marco Cawthorne c3f5e7a1c2
NSPhysicsEntity: move .geomtype into ODE ifdef 2023-09-18 19:36:15 -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 c71daa033e
NSTalkMonster: add detailed class documentation 2023-09-18 15:35:05 -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 9d29ad6635
point_spotlight: Optimize viewing angle alpha code a little bit 2023-09-13 12:32:51 -07:00
Marco Cawthorne 8150f0c080
env_steam: fix typo 2023-09-13 10:40:01 -07:00
Marco Cawthorne 5db3db539a
Client/Server: Handle 'skyname' universally and guess on the client whether we're using a Source Engine style skybox path 2023-09-13 07:56:11 -07:00
Marco Cawthorne b77ec906f6
env_steam: initial implementation of this Half-Life 2 entity. 2023-09-13 00:29:31 -07:00
Marco Cawthorne 5f070fa8c9
point_spotlight: give it a better texture (thanks Maxwell) and optimize some bits 2023-09-12 19:39:51 -07:00
Marco Cawthorne 54b73b3386
func_wall: add small alias to make func_reflective_glass entities show up 2023-09-12 15:59:04 -07:00
Marco Cawthorne 6957ff67b7
func_monitor: Network code cleanup 2023-09-12 15:58:40 -07:00
Marco Cawthorne 62426ba5d3
point_servercommand: initial implementation of this Half-Life 2 entity 2023-09-12 15:03:41 -07:00
Marco Cawthorne 59748adf86
point_spotlight: initial implementation of this Half-Life 2 entity; also fix env_projectedtexture, func_dustmotes and func_smokevolume not rendering 2023-09-12 15:00:56 -07:00
Marco Cawthorne f1141d3b11
Menu-FN: Throw up a panel for when you get disconnect from a server for one reason or another 2023-09-01 12:34:20 -07:00
Marco Cawthorne b7346e6593
Menu-FN: main buttons are now cut-up into different segments, using fallback text when using shorter btns_main files (like in older releases) 2023-08-31 15:40:05 -07:00
Marco Cawthorne 0dc3f19b1a
Menu-FN: Added the slightly buggy 'View game info' function. I now need to write a cache for the server entries, because the engine might clear its own cache by the time we want to display entries. 2023-08-23 08:21:53 -07:00
Marco Cawthorne ae8c2f16ba
Platform: refresh update strings more often while they're pending state changes. 2023-08-21 08:53:01 -07:00
Marco Cawthorne 9871e93a10
Platform: Documentation improvements. 2023-08-21 08:39:54 -07:00
Marco Cawthorne 061cdbd257
Platform/Menu-FN: Move map library loading into platform/ to keep things simple for menu modules 2023-08-19 10:28:36 -07:00
Marco Cawthorne 412c8f984e
Platform/Menu-FN: Overhaul of game update handling. New Nuclide specific API to query update package states that avoids string comparisons and much more. 2023-08-18 17:49:10 -07:00
Marco Cawthorne 8422ddd26b
Menu-FN: Avoid poking the games[] struct directly 2023-08-16 21:27:37 -07:00
Marco Cawthorne 2576f803cd
Menu-FN/Platform: Move all the custom game parsing/install code into platform/, also clean up a bunch of routines in there 2023-08-16 15:28:41 -07:00
Marco Cawthorne 050db32a81
Platform: Improve the recommended package selection code 2023-08-15 15:00:48 -07:00
Marco Cawthorne 410e3fc34e
Menu-FN: Adjustments to the Updates menu, move code into platform/updates.{h,qc} 2023-08-15 14:24:46 -07:00
Marco Cawthorne 60128c6b1e
Server: add "Cheaters Lament", a proof of concept detection mechanism for suspicious player behaviour 2023-08-07 13:14:49 -07:00
Marco Cawthorne 0ea41d9304
Platform: functions Master_GetInternetServers() and Master_GetLANServers() return cached values now to avoid the engine touching the cache which may drop servers. 2023-08-07 12:54:55 -07:00
Marco Cawthorne 0bf9374016
SoundDef: implement `pointparticle` key, so that particle calls can happen within sound defs (lowering networking footprint further) 2023-08-07 12:53:47 -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 571ef536a1
NSProjectile: add spawn key "decal_detonate" which can spawn a DecalGroup definition upon detonation. 2023-07-29 18:45:36 -07:00
Marco Cawthorne 35b427b84d
NSTalkMonster: bone controller for head turning is handled server-side now, so remove this code in predraw. 2023-07-29 18:20:19 -07:00
Marco Cawthorne 762d1667d0
NSProjectile: Fix how fuseOffset was applied in Launch() 2023-07-29 18:16:57 -07:00
Marco Cawthorne c9bd1eb514
NSRenderableEntity: Fix frame1time not being evaluated for networking 2023-07-29 18:00:42 -07:00
Marco Cawthorne f93f79e18c
NSProjectile: Respond to Trigger() 2023-07-27 23:47:22 -07:00
Marco Cawthorne 9a1f5e3af1
NSProjectile: Respect 'offset' spawn key. 2023-07-27 23:19:48 -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 183d343701
NSProjectile: respect 'frame' and add new boolean spawn key 'inherit_velocity' 2023-07-27 14:14:30 -07:00
Marco Cawthorne f1e47f9ea4
NSProjectile: SpawnDef/SpawnDefAtPosition/SpawnDefAttachment will now return the resulting NSProjectile 2023-07-27 13:44:28 -07:00
Marco Cawthorne dea5168998
NSProjectile: Implement "thrust", "thrust_start" and "thrust_end" spawn keys, as well as "thrust_homing"
NSTimer: Destroy when receiver becomes invalidated.
2023-07-27 13:29:58 -07:00
Marco Cawthorne bd470605a3
Exterminate FX_Explosion, FX_Spark and FX_Impact references. 2023-07-24 14:14:20 -07:00
Marco Cawthorne 159756889f
New PropData API function: BreakModel_Entity(NSSurfacePropEntity target, vector dir, float speed); 2023-07-17 11:33:44 -07:00
Marco Cawthorne a8f454dd2c
Clean up some warnings 2023-07-16 22:46:26 -07:00
Marco Cawthorne 7400694e81
Add new cvar: r_drawGLQuakeShadow 2023-07-16 13:28:41 -07:00
Marco Cawthorne d84ef55b78
Get rid of a debug print 2023-07-16 13:06:38 -07:00
Marco Cawthorne fc3884ee9b
NSEntity: involve animation frames in the EntityDef event lookup, add new Input 'AddVelocity' (which applies velocity to the entity according to forward,right,up) 2023-07-16 13:05:15 -07:00
Marco Cawthorne c65c33ef13
Client: add new command 'listFramegroups [model path]' 2023-07-16 13:04:23 -07:00
Marco Cawthorne f877b1620f
Add the constants loader, to allow entityDefs and other scripts to reference constants defined within scripts/constants.txt 2023-07-15 11:34:58 -07:00
Marco Cawthorne b847316ec0
DecalGroups: precache decal groups up front to avoid loading and frames where decals are white/invisible. 2023-07-14 18:08:29 -07:00
Marco Cawthorne f2c41e3def
NSRenderableEntity: Respect the .traileffectnum field 2023-07-10 08:55:30 -07:00
Marco Cawthorne 775e210a06
Menu-FN: Fix includes as a result from an unfinished commit (startup videos) 2023-07-10 08:54:40 -07:00
Marco Cawthorne e27518b672
NSSurfacePropEntity: network 'axialscale' rendering tweak 2023-07-08 23:37:34 -07:00
Marco Cawthorne 9fd087d7bc
NSProjectile: add spawn keys for projectile_debris, stick_to_world, stick_to_actor, mins/maxs (override) 2023-07-08 18:56:23 -07:00
Marco Cawthorne 4104c3e16f
NSRenderableEntity: add SpawnKey 'modelstretch'/'axialscale'. 2023-07-08 00:16:20 -07:00
Marco Cawthorne a8c4075ff9
Server: Handle savegames restoring with entityDef awareness 2023-07-07 23:43:12 -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 dd492c7822
Add new cvar `com_showTracers` to aid in debugging tracelines. 2023-07-04 08:42:32 -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 3cda024a33
NSTrigger: change team touch filter to new field team_no 2023-06-28 14:18:51 -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 34e722a012
Add and track new player entity field '.score'. Used to trag score points separate from frags. 2023-06-15 11:42:01 -07:00
Marco Cawthorne 373e844305
Client: add new Util_ functons Util_GetTime, Util_GetTimeLeft and Util_GetAddress for the current server. 2023-06-15 11:40:46 -07:00
Marco Cawthorne 3b99cf7419
XR: rename cvar debug_fakevr to xr_debug_fakeinputs 2023-06-15 11:39:55 -07:00
Marco Cawthorne 0dc8f4ec75
entityDef: add support for condition based tweaks 2023-06-14 06:44:37 -07:00
Marco Cawthorne 3eb2ec1b37
entityDef: call spawn() in case an empty entity ref was passed 2023-06-07 16:50:40 -07:00
Marco Cawthorne 66745985d4
Initial implementation of NSSquadMonster, squad management for NSTalkMonster based classes 2023-06-02 19:27:16 -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 1bb1fe705d
NSSurfacePropEntity: add SetBloodColor/GetBloodColor methods 2023-06-01 10:30:51 -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 41465b7c9e
NSTalkMonster: network view_ofs[2] to fix r_showViewCone 2023-05-31 11:24:23 -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 9e4bba1f0e
NSEntity: new method DistanceFromYaw 2023-05-31 10:08:00 -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 12bb472abc
add class NSPortal (initial work, plus custom pmove changes).
Work on NSProjectile expansion has begun.
Support for skill cvar referencing within entityDef values.
2023-05-27 11:58:34 -07:00
Marco Cawthorne 6078d31f12
NSMonster: add methods SetEyePos, and cvar r_showViewCone. 2023-05-17 08:59:26 -07:00
Marco Cawthorne dad5071379
trigger_push: Support for the 'target' spawn key. 2023-05-10 16:13:28 -07:00
Marco Cawthorne ff78e34c16
Move Route_GetJumpVelocity() into shared/defs.h for now. 2023-05-10 16:12:59 -07:00
Marco Cawthorne f8a3e227d4
NSItem: new entity class, designed to use with entityDefs. Subject to change (a lot). 2023-05-08 11:17:03 -07:00
Marco Cawthorne 20415c7ebc
NSClientPlayer: Inherit player rendermode/fx/color/amt before calling UpdatePlayerAttachments() 2023-05-04 08:25:46 -07:00
Marco Cawthorne 40c4d95a2b
entityDef: Fix 'spawnclass' not working when referencing other entitydefs 2023-05-04 08:23:24 -07:00
Marco Cawthorne 49d44bb21f
Server: remove rogue DOS newline characters that managed to get inside entry.qc 2023-05-01 07:15:22 -07:00
Marco Cawthorne b3b22045f3
Server: force set sv_nqplayerphysics to 0, so the engine shuts up about its prediction not working on map start 2023-05-01 06:58:54 -07:00
Marco Cawthorne aa573ebec5
func_breakable: will now alert when a `break` or `bulletimpact` is not set on a used surfaceproperty 2023-05-01 06:48:25 -07:00
Marco Cawthorne 09a0e2de52
func_breakable: Fix entities not playing break sounds/models when no 'material' key is set. 2023-05-01 06:16:28 -07:00
Marco Cawthorne 3419c0df31
func_breakable: ensure the 'break' sound is played when present. also ensure we precache the break sound ahead of time. 2023-05-01 05:52:20 -07:00
Marco Cawthorne d45d2f1dc4
Introducing a copy of the id Tech 4 EntityDef system into Nuclide. 2023-04-30 18:01:26 -07:00
Marco Cawthorne 054e703177
env_fog: default color values should be 255,255,255 and not normalized. 2023-04-30 18:00:11 -07:00
Marco Cawthorne 89e3b961e8
trigger_teleport: more sound customization options 2023-04-30 17:59:49 -07:00
Marco Cawthorne f606efcbf7
NSClientPlayer: start networking rendermodes (needs to be optimised for network transfer) 2023-04-30 11:23:56 -07:00
Marco Cawthorne cd3023eeba
Server: add MapTweaks. A new feature that allows tinkerers to rewrite entity classnames under certain conditions (RFC) 2023-04-22 02:45:58 -07:00
Marco Cawthorne c5626ce347
NSEntity: DropToFloor() should return a boolean akin to the original builtin. 2023-04-22 01:05:56 -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 f00d49e6ca
Client: when an unknown network event is received, error out with a message. 2023-04-19 15:21:04 -07:00
Marco Cawthorne cbf78aa26a
Menu-FN: fix the player model preview frames showing up when they shouldn't. 2023-04-19 13:36:27 -07:00
Marco Cawthorne a1d8f17164
VGUIButton: in CLASSIC_VGUI mode, the alternate button frame happens on hover now instead of click. 2023-04-18 20:10:13 -07:00
Marco Cawthorne a34fd9c0e8
VGUIButton: only adjust button size on SetTitle() when button has no size 2023-04-18 19:37:46 -07:00
Marco Cawthorne 60bbe417ab
Client-Font: actually set con_textsize for the console font as well, because that makes sense to do. 2023-04-18 15:05:45 -07:00
Marco Cawthorne e1b024e345
Client-Font: when loading fonts/fontcon.font, apply it to gl_font. 2023-04-18 15:02:12 -07:00
Marco Cawthorne 97a5d9d2cd
NSClient: add new method Transport(vector newPos, vector newAngles) and null out .customphysics when an NSEntity gets Destroy()d 2023-04-18 14:47:39 -07:00
Marco Cawthorne 7f55f1c868
Client - Titles: add new function Titles_GetTextBody() to grab the body portion of a titles.txt entry 2023-04-18 14:46:51 -07:00
Marco Cawthorne ed2d73106f
trigger_teleport: if we're running fs_game "dmc", then force a teleportation sound to play. 2023-04-17 12:22:56 -07:00
Marco Cawthorne a8144ce6c1
Unbreak base/src from not compiling. 2023-04-16 23:16:15 -07:00
Marco Cawthorne 60e681a6c9
ambient_generic: Precache sound inside ::Spawned() and not ::SpawnKey() 2023-04-16 16:25:07 -07:00
Marco Cawthorne 2d3ea1ba20
trigger_teleport: fix typo that picked the wrong angles. 2023-04-16 11:55:11 -07:00
Marco Cawthorne 4a11c91d7d
trigger_teleport: change teleported entity's angles while maintaining the same velocity. 2023-04-16 11:53:03 -07:00
Marco Cawthorne 89bf3e436a
Client: ensure renderflags are being set after calling RenderFXPass() on the view models 2023-04-16 11:31:44 -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 e482cb0103
Server: add missing precache for soundDef step_swim.left/right 2023-04-16 01:25:00 -07:00
Marco Cawthorne de388f0464
Remove now unnecessary debug prints. 2023-04-16 01:03:00 -07:00
Marco Cawthorne 4a330ef3ce
PMove: improvements to liquid/waterlevel testing 2023-04-16 01:01:29 -07:00
Marco Cawthorne 5c4d693c0e
func_button: Fix buttons not being able to be shot more than once. 2023-04-16 01:00:10 -07:00
Marco Cawthorne 6d6e0cc6a6
func_door: deal with different content overrides better 2023-04-16 00:46:10 -07:00
Marco Cawthorne 2e3c547838
func_button: Fix SF_BTT_TOUCH_ONLY not being respected because the entity does not spawn being touchable 2023-04-15 23:06:35 -07:00
Marco Cawthorne f4cadc74a8
Shared: CLASSEXPORT macro will now behaver nicer with non-class spawn functions. 2023-04-15 18:11:43 -07:00
Marco Cawthorne 7f79fc46a1
Add client-side stub for function Weapons_SwitchBest. 2023-04-15 17:24:49 -07:00
Marco Cawthorne a4aa5e578c
trigger_teleport: When teleporting, use setorigin_safe() to guarantee our target pos is not inside the floor (fixes some teleporters in DMC) 2023-04-15 17:24:29 -07:00
Marco Cawthorne d213ec110f
NSRenderableEntity: respect the MF_ROTATE .modelflag field. 2023-04-15 16:58:25 -07:00
Marco Cawthorne 0c5c714b79
GS-Entbase: Implementation of CS/DMC's env_fog entity. 2023-04-14 10:21:07 -07:00
Marco Cawthorne 405fe1cfa9
NSView: Mark certain methods as virtual (where it currently makes sense) 2023-04-09 11:34:50 -07:00
Marco Cawthorne 66945575ae
PMove: Fix not working when not setting #ifdef CUSTOMPLAYERPHYSICS 2023-04-08 11:21:35 -07:00
Marco Cawthorne 90685f2495
Introducing VGUITheme, so we can start removing the CLASSIC_VGUI ifdef and start overriding visual appearance on any widget or group of widgets. 2023-04-05 10:58:12 -07:00
Marco Cawthorne 9fc3503652
VGUIButton: add method SetKeyEquivalent() to handle hotkeys. 2023-04-03 12:59:33 -07:00
Marco Cawthorne 8c58d635d3
VGUI: Stability improvements, start allowing overrides for VGUIButton and VGUIWindow based classes. 2023-04-03 11:13:55 -07:00
Marco Cawthorne 41c20663a8
Client: text channel 0 now contains a message queue, so that multiple messages can stack without overriding one another 2023-03-28 16:36:21 -07:00
Marco Cawthorne c475ee4afc
Menu-VGUI: Class VGUIWindow should not be resizable by default 2023-03-27 01:55:53 -07:00
Marco Cawthorne 5843fa3ef1
Menu-VGUI: Knew I forgot something. Thanks @Fix 2023-03-27 01:53:53 -07:00
Marco Cawthorne 338e89c06a
Add functions all about handling Message of the Day server info. Adds the `motd` console command, as well as `motdfile`. 2023-03-25 17:32:58 -07:00
Marco Cawthorne 6c0256782f
NSNavAI: Hack to fix navigation for monster_barney in c1a0d 2023-03-24 14:19:36 -07:00
Marco Cawthorne 84db9ea404
Menu-FN: Should use SEARCH_ALLOWDUPES to allow iterating over multiple files in a game dir 2023-03-24 13:22:12 -07:00
Marco Cawthorne 109e9418b3
Implement helper function NSAssert from OPENSTEP 2023-03-24 13:21:16 -07:00
Marco Cawthorne 2c72d358ce
Sentences: Speed up the word search using hashtables 2023-03-24 10:48:04 -07:00
Marco Cawthorne 8ec3d00e93
Save/load system stability improvements. 2023-03-23 17:04:34 -07:00
Marco Cawthorne 039d9937e9
ambient_generic: Add support for most Source Engine input triggers. Also fix a minor mistake in the QUAKED comment for level editors. 2023-03-22 00:24:12 -07:00
Marco Cawthorne aed306cbd1
NSMoverEntity: call MoverStartsMoving() and MoverFinishesMoving() around arrival callbacks for entities that don't travel any distance. Fixing func_button entities from not toggling frames. 2023-03-22 00:22:47 -07:00
Marco Cawthorne 9463e2b6e3
info_waypoint: should probably set pvsflags to something encompassing. 2023-03-21 22:16:51 -07:00
Marco Cawthorne a45591134c
info_waypoint: Initial implementation. This has nothing to do with AI (don't get any ideas just yet), but rather HUD information displays. 2023-03-21 22:03:27 -07:00
Marco Cawthorne 8e14d3707d
NSClientPlayer: roll back .basevelocity in Predict{Pre,Post}Frame 2023-03-18 20:01:02 -07:00
Marco Cawthorne 7b42befcb3
Networked versions of func_conveyor, trigger_push. Bounce pads should be much nicer. 2023-03-18 17:49:12 -07:00
Marco Cawthorne c1a098b493
Impacts against models will now be tested against their materials. No more bitfield surfaceparm lookups in compiled models - simply set the surfaceprop inside the used material file.
However, since we don't get the full material path currently, the material has to be in the same dir as the model.
This may change if FTEQW exposes the full impact material path.
2023-03-17 11:35:27 -07:00
Marco Cawthorne 01be71e451
Client: 'buildcubemaps' will toggle r_skipEnvmap, which is now also defaulting to a black clear color (akin to Source) 2023-03-16 16:04:47 -07:00
Marco Cawthorne 64cb526943
env_cubemap: save to .ktx by default when issuing 'buildcubemaps' again. 2023-03-16 15:46:38 -07:00
Marco Cawthorne 9e6d6ee7f1
Client: Fix for `buildcubemaps` angles being overriden by some entity in the map or other. 2023-03-16 15:35:59 -07:00
Marco Cawthorne 8950666c69
Menu-FN: use the menutint material instead of a bland drawfill. 2023-03-15 15:16:34 -07:00
Marco Cawthorne e2c4144a9c
point_trigger: Initial implementation of this entity. Requested as an alternative to make map entity hacking easier. 2023-03-14 16:19:07 -07:00
Marco Cawthorne 495b661b47
NSMoverEntity: Improvements so transformation and rotation is easier at the same time. 2023-03-14 00:06:19 -07:00
Marco Cawthorne f92de15ca5
func_plat: Implementation using NSMoverEntity 2023-03-13 19:13:12 -07:00
Marco Cawthorne c7709bb2d5
Add NSMoverEntity, a class that handles moving, pushing entity classes such as func_door and the like. 2023-03-13 19:12:54 -07:00
Marco Cawthorne 719f85210d
NSEntity: Fix SetNextThink doing occasional bogus fixups 2023-03-13 15:25:37 -07:00
Marco Cawthorne 7709c579c3
Minor documentation enhancements, QuakeEd entity comment color changes 2023-03-13 02:04:31 -07:00
Marco Cawthorne 8a9823a207
logic_auto: fix typo in docs that causes doxygen's markdown parser to burst 2023-03-12 16:07:14 -07:00
Marco Cawthorne faaf67762f
Platform: minor cleanup, updated fonts/ 2023-03-12 16:00:31 -07:00
Marco Cawthorne e4b5d5158a
Client: increase textmenu refresh 2023-03-01 23:15:41 -08:00
Marco Cawthorne a36694d1f8
Client: Add shader precache fix for dlights/rtlights, this should eliminate the first shot of any game causing any stuttering 2023-02-24 12:24:24 -08:00
Marco Cawthorne f0dcdc28c5
NSView: mark most methods as nonvirtual for the time being, until everything else is set in stone 2023-02-24 12:23:45 -08:00
Marco Cawthorne 5ad3931241
Remove platform/base_sound.pk3dir/ 2023-02-16 18:19:32 -08:00
Marco Cawthorne 27105fc996
Menu-FN: treat 'ftehl' the same as 'valve' when indexing MP levels 2023-02-16 17:55:16 -08: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 95db9c7924
env_glow: Fix some typo and register a missing nonvirtual method as such 2023-02-15 09:42:22 -08:00
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 23b671956f
Weapons_AddItem: Only count NSGameRules' MaxItemPerSlot() when we're adding a new weapon 2023-02-14 22:02:47 -08:00
Marco Cawthorne 86dfb3ff1a
Fix various compiler warnings. 2023-02-14 12:54:06 -08:00
Marco Cawthorne c939e790e8
Menu-FN: ifdef the reference to g_ePreviewModel out in cz_cxHQModelChanged 2023-02-12 13:02:35 -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 7518e743b9
Menu-FN: further work to make the Multiplayer > Customize menu more accurate 2023-02-10 13:50:36 -08:00
Marco Cawthorne 943897e5ba
Menu-FN: add options in the Multiplayer > Customize menu for HQ models (with preview) and voice chat settings 2023-02-09 19:08:47 -08:00
Marco Cawthorne 53c8665b11
Menu-FN: update spray related infokeys upon init 2023-02-09 17:12:31 -08:00
Marco Cawthorne 8761b73e4a
NSGameRules: add some debug info for damage applications 2023-02-09 17:11:39 -08:00
Marco Cawthorne 0bf0fd42d1
Crosshair: terrible hack to deal with vid_conautoscale being inconsiderate 2023-02-09 17:11:00 -08:00
Marco Cawthorne 855daac7e7
Menu-FN: ensure g_iModInstallCache is set to -1 upon init to avoid Custom Game from being glitchy from a fresh install. 2023-02-08 15:55:13 -08:00
Marco Cawthorne f0d77627ea
NSClientPlayer: Ensure .scale is reset upon spawning 2023-02-07 16:21:33 -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
Marco Cawthorne fb4e08c2bf
NSClientPlayer: fix the view_ofs check in EvaluateEntity() 2023-02-07 14:01:25 -08: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 099dba11f6
Client: some titles/text messages have an uppercase newline character. so handle those as well. 2023-01-23 16:44:18 -08:00
Marco Cawthorne 6aa3206d2b
Server: skip SV_RunClientCommand when our clients aren't fully initialized yet. 2023-01-23 00:12:35 -08:00
Marco Cawthorne 993c2a6ebc
Shared: Expose INPUT_BUTTON6 and INPUT_BUTTON7 so mods can define some extra movement/weapon inputs for clients. 2023-01-22 20:06:06 -08:00
Marco Cawthorne 46f6bfc1d3
Client: add r_showTexts to aid debugging of env_message and game_text entities 2023-01-22 20:03:22 -08:00
Marco Cawthorne 66b773508d
Client: add console command 'listTitles' to aid debugging of titles.txt entries 2023-01-22 20:02:46 -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 638825af56
NSEntity: add GetSpawnAge() and GetSpawnTime() methods, which communicate when an instance of an entity was brought into the world. 2023-01-22 20:01:24 -08:00
Marco Cawthorne baadd35ffd
NSTimer: add method StopTimer() and invalidate any thinks during OnRemoveEntity() 2023-01-22 20:00:36 -08:00
Marco Cawthorne 5617000f77
NSClientPlayer: allow player to hold down Secondary attack after holding down Primary. 2023-01-18 21:31:36 -08:00
Xylemon 9accdcb68a func_physbox: Use Disappear API call 2023-01-18 19:37:10 -08:00
Marco Cawthorne 655b5fa33e
NSEntity: add method IsFacing() which should make some common sneakish tasks easier. 2023-01-18 19:01:56 -08:00
Marco Cawthorne fae4bc09e5
NSProjectile: some touchups in regards to the Spawned() method. 2023-01-18 17:33:09 -08:00
Marco Cawthorne d562533111
NSProjectile: add AnimateOnce() method 2023-01-17 20:23:18 -08:00
Marco Cawthorne fea5ed574f
Shared: add crandom() implementation into defs.h 2023-01-17 16:39:57 -08:00
Xylemon 19d7f30cc4 Replace some Hide calls with Disappear and we don't need this check in TalkMonster anymore 2023-01-17 13:37:03 -08:00
Marco Cawthorne 5f011a28dd
Shared: Removal of Game_Input(). 2023-01-11 17:41:49 -08:00
Marco Cawthorne 179a95088f
NSGameRules: Add overridable methods ImpulseCommand(NSClient, float) and PlayerRequestRespawn(NSClientPlayer).
Game_Input, the game specific function every game had to implement will be
deprecated to streamline the overall codebase. Migrate custom impulses into your gamerule overrides.
This will make it much easier to separate cheat impulse from the multiplayer game too.
2023-01-11 17:12:20 -08:00
Marco Cawthorne 1069468be1
Client: add cvar net_debugUpdates, to show which entity updates.
NSSurfacePropEntity: Add method: TimeSinceDeath()
Also further improvements to consistency of cvars, etc.
2023-01-08 13:18:57 -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 6ee21bc0ea
NSEntity: add attribute m_bIsBrush, which will be set if the entity is using a brush model. 2023-01-05 22:30:49 -08:00
Marco Cawthorne dbf511dfb9
NSClientPlayer: add extrapolation of other clients, should be a lot smoother players all around now. 2023-01-05 15:31:25 -08:00
Marco Cawthorne d7012bff5b
Remove debug print that is no longer needed. 2023-01-05 11:36:31 -08:00
Marco Cawthorne 2c5bf43c58
Fixed spectator inputs getting stuck and physics being run twice, due to the recent changes to SV_RunClientCommand. 2023-01-02 18:10:20 -08:00
Marco Cawthorne 534b249ac4
Client: Call Weapons_PreDraw() inside NSClientPlayer's predraw. 2022-12-31 17:49:15 -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 b356994beb
NSTrigger: SetTeam() will now assign an InfoKey to the target, if it's a client. 2022-12-30 13:54:28 -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 1bd9a5ea01
Menu-FN: Respect gameinfo_chatroom if it was set from a manifest override. 2022-12-30 12:09:23 -08:00
Marco Cawthorne 7fe51a3fa5
Platform: Fix missing return value change for Achievement_RequestStarts 2022-12-30 11:54:07 -08:00
Marco Cawthorne 27b0c26a12
Documentation improvements for platform, vgui etc. headers and files. 2022-12-30 00:15:10 -08:00
Marco Cawthorne 88131dbb9a
NSClient: add {Set,Get}InfoKey() methods. 2022-12-30 00:12:36 -08:00
Marco Cawthorne 3c71b49b49
Client: Add Cross_ helper functions. This will take care of common crosshair specific rendering tasks, as well as handle third-person and XR versions of crosshairs. 2022-12-28 16:48:57 -08:00
Marco Cawthorne 633046d28e
NSClient: Rename ClientInput() method in NSClient to ProcessInput(), as well as add SharedInputFrame() that can be overriden by the game. 2022-12-28 16:47:44 -08:00
Marco Cawthorne ce7cf4519f
Server: Set cvar s_nominaldistance to 1000 upon init. Dedicated server needs this to play sounds properly. 2022-12-28 15:15:30 -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 4f37e31677
Client: Fix /n to \n replacement mapping in fun-strings, used by game_text
and titles.txt type text overlays.
2022-12-22 17:29:05 -08:00
Marco Cawthorne 142d69b66a
Remove Game_RunClientCommand() entirely, as it will be replaced by a game-mode equivalent. 2022-12-22 16:54:11 -08:00
Marco Cawthorne 466787b3ff
env_shooter: set skin on the gib entity. 2022-12-22 16:53:41 -08:00
Marco Cawthorne ff7ce15399
SV_ParseClientCommand: Forgot to pass the default case over to clientcommand(). That is now fixed. 2022-12-22 16:29:02 -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 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 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 30bbede463
Client: Fix network error when receiving shake event as spectator. 2022-12-21 13:46:55 -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 dfcf0d183d
NSMonster: Gib properly using Disappear() instead of Hide() 2022-12-13 17:45:33 -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 0891d9ea65
Platform: Set net_masterextra1 to broadcast. 2022-11-30 22:25:08 -08:00
Marco Cawthorne 82653683ba
Client: add the following console commands for debugging: listModels, listSounds, listParticles 2022-11-30 17:51:07 -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