Commit Graph

102 Commits

Author SHA1 Message Date
Marco Cawthorne bd7e78ab94
NSNavAI: Inventory management functions. 2024-04-22 21:47:02 -07:00
Marco Cawthorne 822a7221b2
WIP pmove, AI, etc. changes 2024-04-22 15:11:12 -07:00
Marco Cawthorne 0bb88774a2
Add new class: NSSpawnPoint. 2024-03-06 19:11:37 -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 d16e096306
Documentation improvements, cleaning up of misc files. 2024-01-01 21:20:02 -08:00
Marco Cawthorne 6c1db1f4f6
Shared: add `bool FileExists(string filePath)` function 2023-12-15 17:00:13 -08:00
Marco Cawthorne 73bec53034
PropData: read info from Source Engine .phy files 2023-10-22 23:30:31 -07:00
Marco Cawthorne 11deea5b3d
Add the following physics entities from Source: phys_ballsocket, phys_constraint, phys_constraintsystem, phys_convert, phys_hinge, phys_keepupright, phys_slideconstraint & env_physexplosion
Add new class phys_rope, which will handle move_rope and keyframe_rope from Source.
2023-10-17 16:49:01 -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 a1500166be
NSEntity: add method ::Relink() 2023-09-20 20:50:54 -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 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 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 dd492c7822
Add new cvar `com_showTracers` to aid in debugging tracelines. 2023-07-04 08:42:32 -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 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 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 f4cadc74a8
Shared: CLASSEXPORT macro will now behaver nicer with non-class spawn functions. 2023-04-15 18:11:43 -07:00
Marco Cawthorne d213ec110f
NSRenderableEntity: respect the MF_ROTATE .modelflag field. 2023-04-15 16:58:25 -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 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 2c72d358ce
Sentences: Speed up the word search using hashtables 2023-03-24 10:48:04 -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 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 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 fea5ed574f
Shared: add crandom() implementation into defs.h 2023-01-17 16:39:57 -08:00
Marco Cawthorne 74b61f35ed
Print a warning + backtrace when we manually call remove() on an entity that hasn't been destroyed properly. 2022-11-30 16:47:24 -08:00
Marco Cawthorne 29a1bea943
Misc consistency cleanups 2022-11-22 22:37:07 -08:00
Marco Cawthorne 2945e1f65d
Add support for Source Engine decal groups (scripts/decals.txt). 2022-10-27 20:04:11 -07: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 acaa918403
NSTimer: initial implementation of an object timer. Handles temporary (self garbgage collecting) timers as well. 2022-08-25 18:52: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 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 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 df738da436
Get rid of src/gs-entbase/shared/{baseentity.h,env_sprite.h} 2022-07-20 16:38:12 -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 d7418151f0
Client: Disable some expensive routines when paused. 2022-07-18 10:02:04 -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 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 a463498f60
Huge cleanup. Add initial code for the revamped material definition system. 2022-06-01 17:38:52 -07:00
Marco Cawthorne db97db6820
Menu-VGUI: Fix up, change Input() method to block input from other widgets 2022-05-24 13:04:48 -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 1e0534c922
NSSpraylogo: Handle vid_reload's gracefully 2022-05-13 11:41:33 -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 9e0f93c796
Initial support for OpenXR. Remember to side-load the openxr plugin and set _pext_vrinputs to 1. 2022-05-07 17:58:22 -07:00