Commit Graph

364 Commits

Author SHA1 Message Date
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 169bd80fc8
GameRules: Add 'IsTeamPlay()' method to the gamerules class. Use this
instead of the soon to be removed Rules_IsTeamPlay()!
2022-03-02 09:14:58 -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 22ab20a7b4
Server: TraceAttack will now track range across bullet penetration, as well
as handle water volume impacts.
2022-02-10 16:17:24 -08:00
Marco Cawthorne bcf9e2e758
Cleaning up some warnings. 2022-02-01 13:37:21 -08:00
Marco Cawthorne 709f0a2297
scripted_sequence: More work to make c1a3 and t0a0a work properly 2022-01-21 17:24:39 -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
CYBERDEViL 7607c249f6 Fix bug where dropped items shouldn't be respawned.
`spawn()` will cast it's params to floats, so when `m_iWasDropped: TRUE`
was given it would set `m_iWasDropped` to `1065353216`; and conditions like
`m_iWasDropped == TRUE` where never met. Which would cause
`valve/src/server/items.qc:item_pickup::touch` to set `think` to `Respawn`.
2022-01-05 23:41:13 +01:00
Marco Cawthorne 9d4d7afdcd
Big overhaul of momentary_door, momentary_rot_button... now onto the last
entity until Hazard Course is fully functional from beginning to end.
2022-01-04 21:54:42 -08:00
CYBERDEViL f6b0b5c348 Honor weapon .pickup return value.
For FreeCS this means CT-team wil no longer be able to pickup the bomb.
2022-01-03 19:12:26 +01:00
Marco Cawthorne 60fefa8c94
Server: Fix bug where clients would not receive damage notifications when
armor is the only affected attribute.
2021-12-17 20:27:36 -08:00
Marco Cawthorne c2e4050bae
Replace CSQC_Parse_Damage with our own, add EV_DAMAGE. Make sure trigger_hurt
respects the 'damagetype' field. Add CSQC_UpdateSeat to make querying of
the current player seat easier (splitscreen).
2021-12-17 18:20:30 -08:00
Marco Cawthorne 094e87f957
Server: Add support for maps/$MAPNAME_skl.cfg to support Sven Coop's map
specific skill overrides.
2021-12-14 10:25:32 -08:00
Marco Cawthorne a80def1d12
Server: Fix that you're unable to pick up weapons when you've hit the ammo
cap of said weapon.
2021-12-12 20:36:11 -08:00
Marco Cawthorne eb85121716
Add BUILD_ODE build.cfg setting. Add stubs for platform specific functions
like achievements, rich presense. Minor GLSL adjustments.
2021-11-20 17:27:52 +01: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 93d46022fa
HLMaterials_Load: Fix typo that prevented us from adding an processed
texture name to our hash table
2021-11-06 07:31:51 +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 e53a7a33e2
TraceAttack: Accumulate trace_surface_id's into g_multiDamage_HitBod
so we keep track of which body types we hit
2021-10-16 21:28:03 +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 736ecb61f8
TraceAttack: check surfaceflags on world traces, m_iMaterial on anything
else.
2021-10-15 09:37:51 +02:00
Marco Cawthorne d283c309cd
Add missing material/impact definition for sand. Document some other ids
of interest that are used in L4D and GO.
2021-10-11 23:29:26 +02:00
Marco Cawthorne 574980bb1d
CGameRules: Now incorporates DamageApply and DamageRadius, thus making you
able to have gamerule specific logic for inflicting damage to entities.
2021-10-07 23:30:21 +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 56e07c3f06
CGameRules: Add MonstersSpawn(), now game-modes can be queried for whether
or not monster entities spawn on init.
2021-09-16 21:16:37 +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 d4fccac03f Work towards making vehicles predicted, this is ongoing. 2021-08-19 17:54:08 +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 03b16ff905 Add Vox_Sentence_Broadcast() and Vox_Sentence_Single 2021-05-25 10:25:20 +02:00
Marco Cawthorne 448b9bd20d Client: MakeStatic func_wall ents where we can do it on.
Shared: Bench PMove_Run using the engines builtin runstandardplayerphysics
2021-05-16 23:08:08 +02:00
Marco Cawthorne c5cea7a162 Base: Weapons now track weight (for Weapons_SwitchBest)
BotLib: Add CreateObjective() method that can be overridden
2021-05-12 15:42:20 +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 64745eb23c Overhaul prediction routines by boxing the generic client attributes away
from the game specific code. Add some helper macros... clean a whole bunch
up.
2021-05-08 17:44:16 +02:00
Marco Cawthorne 31ae020cba Plugins: Add example plugins.txt config, add support for inline comments,
move searchpath to gamedir/plugins/
2021-05-07 14:15:08 +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 8ec9960264 Revert "Materials: Support for Opposing Force its SNOW identifer for surfaces in"
This reverts commit b0bc59a49c.
2021-04-19 11:30:50 +02:00
Marco Cawthorne b0bc59a49c Materials: Support for Opposing Force its SNOW identifer for surfaces in
materials.txt
2021-04-19 11:23:30 +02:00
Marco Cawthorne 27b5b59f0d Server: Precache step_sand.left/right, add to footsteps.sndshd.
Fix some botlib waypointing strings.
2021-04-18 08:24:55 +02:00
Marco Cawthorne 25f657532c Server: Limit hitbody sound in traceattacks to entities that can actually bleed, not just take damage 2021-04-10 22:49:30 +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 b043b57ed5 Get rid of the View_EjectShell* functions I added last week and replace it
with the much cooler View_AddEvent() which allows for much more.
2021-03-29 21:52:53 +02:00
Marco Cawthorne 9c4487b2e9 Weapons_AddItem: Don't assign bitflag to inventory if pickup() returns 0 2021-03-28 12:16:31 +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 0fe863aabc Server: Add water stepping, wading and swimming sounds + script definitions 2021-02-13 23:06:06 +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
Marco Cawthorne 1952c05890 materials.txt support: Make sure we convert the material identifer to upper-case. 2021-01-25 15:01:26 +01:00
Marco Cawthorne baaa68069d Plugins: Fixed InitEnts not being called, added another example plugin (Server Banner) 2021-01-24 20:26:10 +01:00
Marco Cawthorne dbb53d151a Let the menu progs know when we're actually in a single/multi-player game.
It seems that the maxclients serverinfo key lies to the client, so we work
around that by setting our own
2021-01-23 12:56:22 +01:00
Marco Cawthorne 93728d283c Added Materials_FixName() for preparing materials.txt lookups 2021-01-22 15:54:06 +01:00
Marco Cawthorne f8606ae7e7 Extend impacts to the full spectrum of material definitions, sound shaders
and all. Still needs patch for Counter-Strike.
2021-01-19 10:37:28 +01:00
Marco Cawthorne 6a48c18171 BotLib: Add support for the AIM linkflag, to control when a bot is forced
to look ahead to the current waypoint node.
2021-01-16 17:34:04 +01:00
Marco Cawthorne 3662565879 Unscrew player animation and fix a bug involving botlib overriding
important playermethods on bot-clients with CBaseEntity ones.
2021-01-06 15:54:17 +01:00
Marco Cawthorne ae6f3ebdfb Lots more documentation in server/*.c, minor fixes for some mod guns like
They Hunger, Gearbox, SciHunt and Poke646. Also cvar support for 'pausable'
2021-01-06 13:58:37 +01:00
Marco Cawthorne ae70642f14 Server: Disallow the 'pause' command to any game with more than 1 client-slot. 2021-01-06 12:38:35 +01:00
Marco Cawthorne 58be8e2170 BotLib/Nodes: Add support for variable link radius. If you need to fill
your old waypoint data... try 'sv way radiushack'. Sorry!
2021-01-02 11:17:14 +01:00
Marco Cawthorne d1b1431b8a BotLib: Bots ought to switch weapons now when they pick an item up!
Also moved the way_menu cmd into its own file...
2020-12-28 19:59:37 +01:00
Marco Cawthorne 5edcdb892c BotLib: My last commit before weekend hits. More pathfinding work, added
a temporary interface for in-game waypointing... Bots will combat you too.
2020-12-26 07:27:34 +01:00
Marco Cawthorne c76cdc5903 BotLib: Added basic waypointing and pathfinding system. They'll go about
their business but not do much else just yet.
2020-12-23 07:53:43 +01:00
Marco Cawthorne 86daed3eec Added a stripped down base game tree, which should pose as a decent
entry-point for starters into the SDK
2020-12-22 01:56:44 +01:00
Marco Cawthorne d04d2a83ef Nodes: Only bother saving a node .way file when we've got nodes to dump. 2020-12-22 01:15:22 +01:00
Marco Cawthorne 6583a42a87 Change magic numbers of BSP version checks to macro defines. 2020-12-13 00:56:11 +01:00
Marco Cawthorne 74192c2f78 Implement basic EV_SHAKE event & adding 'shakes' key multiplier to sound
shaders. Client-side sound shaders will get proper shake duration matching
the sound sample length too. Fancy stuff you can try.
2020-12-12 06:24:48 +01:00
Marco Cawthorne f38bf28b9e Go over the default.cfg's of all the example games. Make it so that
Skill_GetValue() requires a default value set.
2020-12-12 01:54:00 +01:00
Marco Cawthorne fbc2aaeeec light: Make sure we're overriding patterns if switch_style is above 0 and
below 11. You also want to go update worldspawn/vmap...
2020-12-09 16:47:43 +01:00
Marco Cawthorne 2fa4fd159c Move CLASSEXPORT from server/defs.h to shared/defs.h 2020-12-01 12:32:42 +01:00
Marco Cawthorne a6b192a2c7 Update doc file for building the source tree, as that's now changed. 2020-11-25 13:12:39 +01:00
Marco Cawthorne 6073f73979 Working around a compiler bug in fteqcc (presumably) where for some reason
it allows me to override some fields inside a class, but not PlayerUse().
2020-11-25 10:32:42 +01:00
Marco Cawthorne a9d87aa590 Server: Minor scripted_sequence pathfinding improvements, add support
for m_flChaseSpeed for CBaseMonster...
2020-11-23 21:39:40 +01:00
Marco Cawthorne 11d52abec3 Server: Disable 'best-weapon' switch when sv_forceweapondraw is 1. 2020-11-19 10:46:09 +01:00
Marco Cawthorne df1388f9fc Server: Add sv_forceweapondraw 0/1, which lets mods override whether or not
the first weapon the player picks up will be deployed automatically.
2020-11-18 13:17:43 +01:00
Marco Cawthorne 1cbd41f66b Documentation: Comment some of the prediction code more, as some may be
reading it as we speak
2020-11-08 04:45:52 +01:00
Marco Cawthorne 678d7bf124 Plugins: Change Plugin_ParseClientCommand to manipulate command strings
and passing them onto the next plugin. Also added a chatfilter plugin!
2020-11-06 13:04:22 +01:00
Marco Cawthorne 422741a295 GS-Entbase: Add Input/Output methods for func_conveyor, func_guntarget,
func_wall_toggle
2020-10-31 14:32:23 +01:00
Marco Cawthorne 69fa528822 Server: Move footstep precaches into Footsteps_Init 2020-10-30 13:29:37 +01:00
Marco Cawthorne 97d19c1b37 Add shared/include.src, so we touch gamename/include.src less for global
changes.
2020-10-30 12:21:00 +01:00
Marco Cawthorne c100554dcc Gamerules: Make sure player is always passed as type 'base_player' via
parameters instead of just 'entity'.
2020-10-30 11:28:59 +01:00
Marco Cawthorne 6502eeddc0 Server: Added sv_levelexec, which when enabled reads a map-specific config
on boot.
2020-10-28 08:29:24 +01:00
Marco Cawthorne 8cbbeaae24 Platform: Add gl_stipplealpha support to models. 2020-10-25 11:50:15 +01:00
Marco Cawthorne d9dababe65 Moved all possibly game-specific flags (such as FL_FLASHLIGHT) into gflags,
this affects mods. Please check the diff to see what you'll need to adjust.
2020-10-22 16:30:37 +02:00
Marco Cawthorne 6038c04591 Fix preset lightstyles for Q3BSP, added examples to test_lightstyles. 2020-10-18 15:19:56 +02:00
Marco Cawthorne 2afba74a86 Added test_areaportal, to debug openportal() 2020-10-18 01:10:21 +02:00
Marco Cawthorne f4ade524fe Client: Fixed some warnings and some added some paranoid free() calls. 2020-10-16 02:26:45 +02:00
Marco Cawthorne 4208bd8c9a Server: added server command trigger_ent 2020-10-06 14:42:46 +02:00