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
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
e482cb0103
Server: add missing precache for soundDef step_swim.left/right
2023-04-16 01:25:00 -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
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
8ec3d00e93
Save/load system stability improvements.
2023-03-23 17:04:34 -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
495b661b47
NSMoverEntity: Improvements so transformation and rotation is easier at the same time.
2023-03-14 00:06:19 -07:00
Marco Cawthorne
86dfb3ff1a
Fix various compiler warnings.
2023-02-14 12:54:06 -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
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
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
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
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
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
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
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
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