Commit Graph

50 Commits

Author SHA1 Message Date
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 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 2945e1f65d
Add support for Source Engine decal groups (scripts/decals.txt). 2022-10-27 20:04:11 -07:00
Marco Cawthorne f01e90ad2e
Merge material property definitions into the surfaceproperties system to streamline
everything more and to allow level designers custom properties without recompiling
the game-logic. This will also make it more Source Engine compatible.
2022-10-15 22:43:32 -07:00
Marco Cawthorne db2d3b1730
Get rid of hlmaterials.qc by making the look-up happen fully within NSMaterial.qc as part of the newly unified material routines.
There's also a new file (hlmaterials.txt) that is subject to change which will allow you
to add many custom material definitions without hard-coding a thing. Which fixes conflicts between different GoldSrc games.
2022-10-15 20:32:40 -07:00
Marco Cawthorne d4ce7cb8c2
Documentation: started documenting all the functions in src/server/entry.qc 2022-10-10 12:30:31 -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 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 0ae901f5e1
NSMonster: Add InAnimation() method. Also prohibit movement when in an animation. 2022-07-18 09:22:18 -07:00
Marco Cawthorne 0d2e0627d4
Server: Added quick-and-dirty 'spawn' command. E.g. 'sv spawn monster_laidlaw' 2022-07-17 20:45:50 -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 25c54af62c
Spring cleaning part one. 2022-05-11 12:49:04 -07:00
Marco Cawthorne c5b2107abf
ambient_generic: Implement support for playing back Sentences. 2022-05-04 21:31:37 -07:00
Marco Cawthorne 94679f3a3f
SprayLogo: Add "player.spraylogo" soundDef call instead of sound(). 2022-04-28 12:34:28 -07:00
Marco Cawthorne 9030ad82d9
Base_Player: Make sure disconnected clients get removed from other clients.
Menu-FN: Clear Rich-presence when no longer in a game.
2022-04-26 11:22:12 -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 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 6fb067eed3
My name has changed, so an update to the copyright to reflect it. 2022-03-11 11:40:43 -08:00
Marco Cawthorne 3882611087
Server: Make sure we forceinfokey the '*team' field to 0 upon ClientConnect
to avoid having players show up in teams after map-change.
2022-03-02 09:19:05 -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 33795822a9
Rework env_global, entities communicating with it as well as support for
changetarget/changedelay in trigger_changelevel, which will make Hazard
Course its last level work in terms of elevator shenanigans.
2022-01-10 23:48:14 -08:00
Marco Cawthorne 749424aa84
NSMonster: Add support for actions (used in e.g. HLMDL) to query which seq
to play. This will be expanded shortly in-engine to support more formats...
2022-01-06 19:27:08 -08:00
Marco Cawthorne b670c994c1
build_engine.sh: Support building of HL2/SRC2004 content via the new plugin
that you can enable in build.cfg...
base_player: Add MakeTempSpectator() and MakePlayer(), so gamemodes have it
easier to handle in-game status changes...
NSRenderableEntity: Add support for 'modelscale' key
2021-11-09 17:33:16 +01:00
Marco Cawthorne f5a8ec8ef3
Added support for the triggers/think states across Save/Restore functionality 2021-10-23 01:00:15 +02:00
Marco Cawthorne 4c2b37c34d
NSEntity: Save/Restore behaviour for some more fields. 2021-10-22 21:20:22 +02:00
Marco Cawthorne fa5cdd5a80
Initial commit of the Save/Restore system, this is the first reference
implementation of QuakeC controlled save-files and SV_PerformLoad() and
SV_PerformSave that Spoike added into FTEQW for Nuclide.
2021-10-22 20:51:51 +02:00
Marco Cawthorne 0a4b0ea795
Client: Move Damage_Draw() and Damage_Precache() out of here, into the
game-specific realm
2021-10-21 23:30:42 +02:00
Marco Cawthorne 249e4bc612
Massive revamp of the Nuclide system classes, more efficient networking
and memory usage thanks to intelligent boxing of fields.
Added Util_TimeToString, removed old VOX code, added lots of new helper
classes...
2021-10-20 01:19:10 +02:00
Marco Cawthorne 70fe95e5a7
Add support for Source styled surfaceproperties.txt definitions, which
is incorporated into func_breakable/pushable already. Mods can now control
material/surface properties without code.
2021-10-15 19:01:36 +02:00
Marco Cawthorne 251713121c
PropData: Add support for the BreakModel info parsing. Any CBaseEntity can
now be augmented. prop_physics entities can already make use of them.
2021-09-21 20:33:09 +02:00
Marco Cawthorne 3bceff6a2c
Implement and parse the propdata system from Source 2004 and make our
func_breakable entity aware of it.
2021-09-17 19:31:22 +02:00
Marco Cawthorne bc2fbb4a69
Implement setpos() and setang(). The engine provides setpos, but
we may want to declare it for possible future overrides.
2021-09-09 19:03:26 +02:00
Marco Cawthorne de63f37a52 Call Math_FixDelta before networking a bunch of different entity angles. 2021-06-16 11:56:28 +02:00
Marco Cawthorne ef66642c7f Server: Prevent the engine from handling spawnflags or else it'll remove
entities depending on mode/difficulty
2021-06-16 11:52:36 +02:00
Marco Cawthorne af139751e0 setmodel(): verify if model exists in PATH and set it to an error one if
it's not present.
2021-06-01 12:40:53 +02:00
Marco Cawthorne 2082f1355a Menu-FN: Parse liblist.gam files instead of relying on manifests outright. 2021-05-28 10:26:42 +02:00
Marco Cawthorne 1485544b91 Base: Get rid of g_eAttacker, which had been replaced by g_dmg_eAttacker.
Go over TraceAttack and make it combine multiple Damage_Apply calls into
one.
2021-05-10 11:33:31 +02:00
Marco Cawthorne 96a748f189 Server: Flush 'skyname' serverinfo before setting the .bsp one, to prevent
it from bleeding to maps that don't define 'skyname' from old configs.
2021-04-22 12:14:56 +02:00
Marco Cawthorne fca8620cba Server: Physics variables are now controlled via sv_ cvars like they
usually are in idTech, however we're now checking them every frame and
updating the networked infokeys in question
2021-04-06 12:22:32 +02:00
Marco Cawthorne 6e38bac564 Server: add support for more ways of loading HLBSP material definitions.
Explanation is provided under docs/hlmaterials, about the ways you can go
about this and which methods provided by the community are supported
2021-04-06 10:43:38 +02:00
Marco Cawthorne 5b07ee41a9 Add damage_bullet sound shader definitions. Those are played when a bullet
successfully hits a hurtable body.
2021-03-27 09:09:10 +01:00
Marco Cawthorne 95739c7a20 Basic spectator implementation for all games. 2021-03-24 07:50:30 +01:00
Marco Cawthorne b49815872c Sound Shaders: Exit out when we attempt to play a shader that hasn't been
precached.
2021-03-13 04:24:53 +01:00
Marco Cawthorne fc75a1be11 Base, Half-Life, Counter-Strike, Opposing Force and Scientist Hunt have
now been reworked to have fully networked ammo that's also fully affected
by rollback netcode. Big diff, mods WILL break. Beware.
2021-02-28 02:31:27 +01:00
Marco Cawthorne 71f7e024c9 Server: Add serverinfo set for skyname into worldspawn... I must have been on drugs or something 2021-02-23 05:55:57 +01:00
Marco Cawthorne 20a67bf418 Client/Server: Make the server control the sky. 2021-02-22 17:29:34 +01:00
Marco Cawthorne ce2185ff02 Plugins: Added a callback for when a client is done connecting to a server 2021-02-14 21:05:10 +01:00
Marco Cawthorne 086e8e5a37 Server: We forgot to call Vote_Init(), which clears a bunch of serverinfo keys. 2021-02-13 23:08:58 +01:00
Marco Cawthorne 02efa21e3d Move game-specific sources into their respective mod-dirs. This was planned
for a while and was inevitable. Latest fteqcc required that fixes a limit
with paths. Also added src/server/mapcycle.qc
2021-02-08 13:35:15 +01:00
Renamed from src/server/entry.c (Browse further)