Commit graph

377 commits

Author SHA1 Message Date
a8e4cd5748
NSEntity: Make sure .scale affects SetSize() calls and is updated with
SetModel() calls. Also keep track of original .mins/.maxs in case scale
changes.
2021-11-10 02:33:31 +01:00
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
a48baff2d1
Menu-FN: Add a hack around drawtextfield(), wasting QC asm instructions in
the process for something as simple as specifying character size.
2021-11-06 11:17:54 +01:00
24070f9e37
Client: Secondary attack will now hide the weapon selection HUD overlay. 2021-11-06 08:24:12 +01:00
c22b001f60
Cleanup: get rid of the ancient Font_LoadFont() wrapper, pipe _all_ text
font info through our internal font_s data structure.
2021-11-04 22:48:19 +01:00
aa0ccf4413
Add test_grenadeclip.
Add helper functions to convert RGB255 to ^x color codes.
Small fixes for fonts in vguilib.
2021-11-03 21:54:43 +01:00
d25a597d71
Player: SetSize() after the .flags field update in case their bbox changed
and we aren't running physics on their entity.
Viewmodels: Add cvar v_modellag (Default: 0)
2021-10-30 00:59:31 +02:00
0a4b0ea795
Client: Move Damage_Draw() and Damage_Precache() out of here, into the
game-specific realm
2021-10-21 23:30:42 +02:00
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
147969e8a8
Client: Add Weapons_EnableModel() and Weapons_DisableModel() so weapons can
manually control the visibility regardless of viewzoom setting
2021-10-08 21:50:04 +02:00
dd94d7d75f
View: Move muzzleflash precaches out to be game specific. 2021-10-06 22:00:23 +02:00
12753616df
Remove some left-over junk code that no longer runs 2021-09-30 23:32:47 +02:00
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
f884b3d35d
Separate networking between CBaseEntity and CBaseMonster, needs
cleaning.
2021-09-12 00:13:24 +02:00
d94a5f33eb
GS-EntBase: Add prop_vehicle_driveable, for model based 4-wheel
vehicles.
2021-09-11 22:43:14 +02:00
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
5578b0e602
GS-EntBase: Add client-side prediction for func_tankmortar. 2021-09-08 20:17:13 +02:00
2a86794d67
Add precache_cubemap() to src/client/defs.h 2021-09-02 21:11:54 +02:00
527318bd65
Deprecate CBaseFX, introduce .predraw for weapon functions. 2021-09-02 09:39:37 +02:00
9fa091db43
Reserve 3 SRC'04 rendermodes, implement RM_DONTRENDER. 2021-09-01 22:41:11 +02:00
57f1408b8c Add UpdateView() to CBaseVehicle, to let vehicles override the
camera properties in CSQC_UpdateView before rendering.
2021-09-01 15:19:50 +02:00
2377734e60 Client: Remove drawpic and drawsubpic wrappers. 2021-08-29 19:42:45 +02:00
34505bcacf GS-EntBase: Fix crash with vehicles by networking them separately
from CBaseEntity, which will assign the needed client-side input
method for prediction
2021-08-28 21:25:38 +02:00
e28de86415 Call DSP_UpdateSoundscape(), seems I forgot all about it! 2021-08-27 11:35:59 +02:00
d4fccac03f Work towards making vehicles predicted, this is ongoing. 2021-08-19 17:54:08 +02:00
ca9e42a49c Add 'testPointLight' command. 2021-08-06 08:46:12 +02:00
0ca3d03927 Remove some debug stuff. 2021-08-01 11:21:24 +02:00
1ec3cf2e8e Decouple Camera/Viewmodel effects from src/ into base/src/ 2021-08-01 08:53:21 +02:00
3ef55c5e48 build_engine.sh: iqm has been renamed to iqmtool, so adjust those basenames 2021-07-20 12:19:27 +02:00
affa7b4a0c Client: add camera.qc and viewmodel.qc, better restructure how we apply
effects to the view. Add CVARs v_cambob, v_camroll, v_bobstyle...
2021-07-19 08:36:19 +02:00
e13323e07d Client: when 'buildcubemaps' is running, make sure the views are centered
at all times to avoid FTE dumping weird projections
2021-07-09 22:18:25 +02:00
3d236a64ed Client: console command 'dev_sunpos' will now also report the sunangle and
pitch values for a light_environment entity.
2021-07-02 13:43:58 +02:00
dc592c1deb Client: Muzzleflash will now follow the viewmodel angle, in case it's
a 3D model (The Wastes)
2021-07-02 11:16:57 +02:00
97bc849abe Add cvar ftebug_checkpvs, to see work around something that hasn't been
fixed yet.
2021-06-28 19:52:36 +02:00
b0755d36cb Way-Menu: Move 'remove nearest' into the waypoint creation menu for
convenience
2021-06-27 22:13:07 +02:00
4d042ea062 Client: Font_LoadFont() will now have some credible defaults as a fallback. 2021-06-27 09:56:25 +02:00
88e5084f38 Client: Added Entities_RendererRestarted, giving entity classes a chance
to reload their assets. env_glow and prop_rope support in this commit.
2021-06-27 09:55:48 +02:00
e42b714458 Client: Added Font_LoadFont() as a wrapper for loadfont(), which will
parse definitions located in the filesystem instead of hardcoding font
paths and sizes.
2021-06-26 21:45:46 +02:00
971b76f938 Menu-FN: Added support for parsing gameinfo.txt from Source Engine games 2021-06-13 09:04:29 +02:00
17368be5e7 Moved the PMove code into the base_player class, so mods can override
sections at will
2021-06-08 15:30:47 +02:00
243c875a3f CBaseTrigger: Add support for Source Engine's FireUser/OnUser 1-4 trigger
inputs/outputs.
2021-05-29 10:52:47 +02:00
2082f1355a Menu-FN: Parse liblist.gam files instead of relying on manifests outright. 2021-05-28 10:26:42 +02:00
03b16ff905 Add Vox_Sentence_Broadcast() and Vox_Sentence_Single 2021-05-25 10:25:20 +02:00
09528c2944 Add support for top/bottom color on players and viewmodels.
Fix func_breakable's sound shader from precaching non existing sounds.
2021-05-20 16:01:07 +02:00
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
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
a3ecd78f17 CBaseMonster: support for spawnflag MSF_IGNOREPLAYER (64). 2021-05-10 08:14:10 +02:00
e0a2f47f4d Dereference pSeat and pSeatLocal to __NULL__ instead, it's not like we ever
caught an error with the previous assignment anyway.
2021-05-08 23:06:11 +02:00
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
76507b3e9e Client: Handle EFX_Shutdown() for OpenAL Environmental FX 2021-05-07 16:29:24 +02:00
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
eaff488dc2 Client: Add an OSD for various EFX debug info when s_al_debug is enabled. 2021-04-27 12:53:21 +02:00
69caffe91c Fix typo where flReflectionsPan isn't getting set in the EFX loader. 2021-04-23 11:43:40 +02:00
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
ead2ab6a6b EFX/env_sound: Add bound checks for legacy roomtypes. 2021-04-22 11:44:53 +02:00
f09f5833e0 Introduced the new OpenAL EFX handling subsystem. It's fully user-definable
via plain-text definitions and allows even legacy/GoldSrc content to take
advantage of it.
2021-04-22 11:33:48 +02:00
74f6d1a033 Client: Remove the last reference to g_iWorldInitialized 2021-04-22 01:59:37 +02:00
44ab18793c Rearrange how we execute and time our player animation logic 2021-04-06 09:18:17 +02:00
eeda69f6d2 Client: Damage indicators now use the spriteframe() builtin for precaches 2021-04-02 08:35:54 +02:00
e5ba0406fd Added pSeatLocal, which is like pSeat but games no longer break if upstream
Nuclide expects new fields. You might have to migrate some fields over.
2021-03-31 13:40:27 +02:00
9319e63619 View_AddEvent: Add hack to cache and verify we're playing the event only on our frame of choice 2021-03-30 07:30:33 +02:00
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
ab355d6a52 Add drawrect(), a simple helper for drawing rectangles with specified
thickness
2021-03-27 07:49:13 +01:00
2c7f540787 botlib: add USER linkflag. When a bot passes that link, he'll USE the
closest func_button nearby.
2021-03-27 07:48:46 +01:00
cec4872994 Add modelevent_shell sound shader definitions, so mods can set shell eject
sounds.
2021-03-27 07:47:56 +01:00
95739c7a20 Basic spectator implementation for all games. 2021-03-24 07:50:30 +01:00
48d1b1ad0d Client: View_EjectShell is now replaced by three different variations. 2021-03-17 14:34:26 +01:00
69b087c7e4 Client: add View_EjectShell(); and integrate it. 2021-03-17 13:24:00 +01:00
3d1041fcf6 Added ClientGame callbacks for PreDraw and PostDraw calls. 2021-03-17 06:24:38 +01:00
00141d5ab0 Add View_PreDraw() and move View_Stairsmooth() into that. 2021-03-17 06:12:50 +01:00
0645b98036 vmap script: Add check for the env vars VMAP_NOVIS/BSP/LIGHT 2021-03-09 14:25:59 +01:00
46f9e1be0f Client: Add force parameter to Sky_Update() and make sure Sky_Update() is
called upon CSQC_RendererRestarted.
2021-03-08 01:45:15 +01:00
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
c26d4d0c45 Client/Server: Add server controllable fogparms using serverinfo 2021-02-22 17:49:55 +01:00
20a67bf418 Client/Server: Make the server control the sky. 2021-02-22 17:29:34 +01:00
a902b702ae Small building adjustment to the mod progs.src and Makefiles.
Changed some client progs function names for readability, more to come
2021-02-17 00:44:40 +01:00
8d262c9eb2 Counter-Strike: Make the text-menu use the new Textmenu_Toggle call, so
players can exit e.g. the team choice menu.
2021-02-14 00:20:32 +01:00
2449fa492e Half-Life: Fix viewmodel still drawing when dead, player moving 2021-02-13 10:07:52 +01:00
97f90ae72c Scientist Hunt: Clean up w_cannon a little 2021-02-13 10:06:34 +01:00
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
42002128a3 Client: Add input fixes to make the game controllable with a SEGA Saturn
controller. Added cvar in_saturnmode 0/1
2021-01-30 01:45:28 +01:00
31cf4e5b10 Client: Fix double free properly for Vox_Shutdown 2021-01-24 03:03:36 +01:00
8b013035e3 trigger_camera: Support for 'wait' to be -1. 2021-01-23 21:20:19 +01:00
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
544da0ef15 env_shake: Fixed parameters being received wrong on the client-side. Stupid oversight. 2021-01-19 08:12:25 +01:00
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
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
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
507a10eec5 Client: Allow game-specific model event overrides. 2021-01-05 15:51:49 +01:00
6c3814a2b1 Routing: Added ability to nudge existing waypoints along an axis as well as
an option to move the nearest waypoint to the player's position.
2021-01-03 12:52:51 +01:00
6dc054f94b Client: Fixed a typo in the waypoint editor, added color coding... removed
some redundant newlines in the text
2021-01-02 21:52:35 +01:00
523b1df3de Client: Move text-menus into their own titles[] channel, so that they don't
overwrite other texts being printed and vice versa.
2021-01-02 21:22:56 +01:00
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
829757d415 Way-Editor: Move the 'Remove ALL' option down a bit to help mitigate accidental presses a bit more
Might even want to put it behind a confirmation window later.
2020-12-31 05:10:07 +01:00
53ed1962eb BotLib/Way/Routing: Go over and integrate the link-flags stuff properly,
as fixed in a recent FTE commit
2020-12-29 09:10:21 +01:00
1dd2547fe2 Client: Added improvements to the waypoint-editor, more options, features... etc. 2020-12-29 07:17:41 +01:00
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
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
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
3d700a4fd7 sky_camera: Fix not taking different camera position vectors into account,
this broke by accident a few commits ago. Apologies.
2020-12-20 02:19:52 +01:00
0e46b76042 Client: Tag viewmodels so they don't cast shadows when dynamic lights are around 2020-12-13 04:46:04 +01:00
daaf6a1974 Client: Move some skyroom setup routines into their own function, add
incomplete prop_door_rotating (needs engine fixes)
2020-12-13 03:50:35 +01:00
6583a42a87 Change magic numbers of BSP version checks to macro defines. 2020-12-13 00:56:11 +01:00
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
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
c130ab2c38 PMove: Added macros to let mods override a bunch of physics variables so
they keep their fingers out of pmove.c
2020-12-08 12:00:10 +01:00
23c5d14420 Added func_monitor and point_camera. Along with a test_monitor map to
showcases rendertargets working.
2020-12-01 20:43:25 +01:00
1d02dccbb5 trigger_camera: Misc improvements, plus added test map. 2020-11-28 22:52:56 +01:00
1a3dca71ec env_projectedtexture: Initial implementation, updated map test_dlights. 2020-11-27 19:23:21 +01:00
b6f9242752 info_particle_system: Initial implementation, along with example map test_particles. 2020-11-27 03:05:21 +01:00
2418480af4 func_button: Add support for the 'OnPressed' output. 2020-11-27 03:03:39 +01:00
31c7354dda env_sun: Make pitch/angles compatible with Source's way of handling them. 2020-11-24 02:24:30 +01:00
ba6824a602 Client: Added two developer commands, dev_measure and dev_sunpos. 2020-11-17 11:21:13 +01:00
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
97d19c1b37 Add shared/include.src, so we touch gamename/include.src less for global
changes.
2020-10-30 12:21:00 +01:00
4962f82f89 Move entity-update/event definitions for game-specific cases out of root
src/shared.
2020-10-24 13:11:02 +02:00
00a8ee2a00 env_hudhint: Initial basic implementation, plus a way for the game-logic to send hints. 2020-10-24 03:32:34 +02:00
0f50c46623 Platform: Added blood decal for non-Q3BSP.
GS-Entbase: Add mitigations for possible unwanted adddecal() calls, remove decals upon CSQC_Shutdown()
2020-10-23 05:15:59 +02:00
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
d0342b128c light_dynamic: Initial implementation. Q3BSP maps can use 'dynamic_light'
to avoid confusing the compiler (...).
Renamed ReadEntity() to ReceiveEntity().
2020-10-22 02:23:05 +02:00
6038c04591 Fix preset lightstyles for Q3BSP, added examples to test_lightstyles. 2020-10-18 15:19:56 +02:00
0bb06af381 Client: Move Vox specific code into vox.c and out of sound.c, add Shutdown entry 2020-10-17 13:17:34 +02:00
f4ade524fe Client: Fixed some warnings and some added some paranoid free() calls. 2020-10-16 02:26:45 +02:00
57cc661c86 Menu/Client/Server: Background map support for menus. This should be handled differently in that SV_ShouldPause ought to control Singleplayer as well. Engine hardcodes suck 2020-09-27 14:25:10 +02:00
340db972be Client: Move CSQC_Ent_Update into entry.c as it's an entry function. Move Entities_ParseLump into entities.c 2020-09-24 10:19:38 +02:00
5131f19c04 Fix client-side sentences filehandler from not being closed, other shenanigans. 2020-09-18 09:35:59 +02:00
44b6a3d10a Sentences: Force them to be read in uppercased. 2020-09-10 19:28:36 +02:00
50ccbf4b9a Add func_tank, func_tankmortar and generally faff about with input code. 2020-09-04 21:28:06 +02:00
641f68c6be Counter-Strike: Fix obituaries not rendering when spectating 2020-08-26 03:07:17 +02:00
108da90299 Counter-Strike: Moved spriteframe() cache around, because FTE doesn't seem to want to execute it in this particular function... compiler bug? 2020-08-17 05:48:14 +02:00
d61afb0b63 Counter-Strike: Added client-side LED glow to WEAPON_C4BOMB 2020-08-17 05:38:39 +02:00
0c1ba0978e Added drawpic hack so that the engine doesn't shoddily attempt to draw images with floating point coords 2020-08-14 23:18:47 +02:00
d3b488b7bf CBaseTrigger/s: Overhauled the system to keep proper track of its activators. This was important in some mods who'd e.g. call a trigger_camera over longer periods of time and expected to target the same player as before as part of a multi_manager. 2020-08-10 12:32:18 +02:00
e7f0c358eb Fix crash when EV_SHAKE is networked. EV_SHAKE is not yet implemented, however. 2020-08-08 02:36:18 +02:00
e8bafa044d scripted_sequence: Added support for the IDLE key. This means the setup for most sequence look and behave correct now. 2020-08-02 13:09:37 +02:00
4427529e51 Client: Put renderscene() into its own function to make profiling easier. 2020-07-22 23:03:10 +02:00
336c8adee1 Sentences: More parsing fixes, as some dialogue broke. 2020-07-10 12:13:20 +02:00
081d541e9e Menu: IRC based Chat is now completely implemented using QuakeC. It already works quite well but will need a lot more testing! 2020-06-30 17:14:06 +02:00
bca72fafc8 Sentences_ResetSample: Change return type. 2020-06-27 14:20:58 +02:00
aef3b2f8c1 Sentences: Minor improvement to parsing sentences.txt entries 2020-06-25 11:01:44 +02:00
9a4cc85366 speaker: Initial implementation; Misc improvements to the sentences processing. 2020-06-14 00:55:01 +02:00
bcc28c98ee Flashlight: Avoid using getproperty for the flashlight values. 2020-06-12 17:27:21 +02:00
66aef13819 Purge cstrike.old from the src tree. 2020-06-12 17:14:05 +02:00
4972156930 Client: Add basic interpolation for when camera triggers are active. This mimics HL's sloppy behaviour somewhat. Will see a lot of changes. 2020-06-12 12:09:53 +02:00
61983ec2d8 Counter-Strike: Add progress bar for defusal and other tasks. 2020-06-09 00:23:18 +02:00
8aa66987e5 Counter-Strike: Fix Defusal-Kit icon source offset on the HUD. 2020-06-08 23:50:25 +02:00
680725f050 Obituaries now use spriteframe() for caching. 2020-05-31 21:20:36 +02:00
cef8ba0443 Make cstrike use spriteframe() for HUD gfx 2020-05-31 13:20:04 +02:00
c709117209 Switch to using spriteframe() for HUD sprites in valve, scihunt 2020-05-31 12:54:04 +02:00
4d201c281b Fix armor indirection bug. The compiler ought to warn about name conflicts like these. 2020-05-28 19:53:24 +02:00