Commit graph

1101 commits

Author SHA1 Message Date
3726139eda
func_guntarget: Add Save/Restore, as well as a fix for Respawn() and health
being reset.
2022-01-03 19:08:30 -08:00
a0cec88f3b
Merge pull request #2 from cyber-bridge/master
Honor weapon .pickup return value.
2022-01-04 01:30:07 +01:00
6dcf76ac5d
func_breakable: Be more paranoid about checking health and propdata overrides 2022-01-03 13:02:56 -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
d3dcb3a12b
GS-EntBase: Cleanup and fixes regarding which func_ entities support the
'angles' key for visuals. trigger_hurt damagetype tweaks (needs more tests)
as well as monstermaker fixes and SF_ROT_TOGGLE func_door_rotatings no
longer auto-return...
2022-01-03 00:23:20 -08:00
758b28346d
Client: Add fade.h and add definition in worldspawn's QUAKED comment for
startdark.
2022-01-02 21:21:06 -08:00
d375ec5f93
Client: Implement "startdark" key from worldspawn. Which is responsible for
the fade-in effect in c0a0 for example.
2022-01-02 21:04:55 -08:00
c920e4c3e8
NSRenderableEntity: Support for scrolling textures (requires shader
overrides for now, stay tuned) with variable speeds. Improvements to
func_conveyor, other rendering fix involving alphamasking textures.
2022-01-02 20:50:50 -08:00
623754ec5a
GLSL, NSRenderableEntity: Added hack to prevent alphatesting against world
surfaces utilizing the default lightmapped shader.
2021-12-31 01:47:47 -08:00
3ca728e1d0
func_conveyor: Add Save/Restore methods for save-games. 2021-12-29 15:54:51 -08:00
6ca3900b4d
NSSurfacePropEntity: Handle health more appropriately to avoid conflicts,
unbreaks func_button's health behaviour.
2021-12-29 14:13:08 -08:00
cad1dfbcfe
Waypoint-system: You can now unlink waypoints (either one or two way...) 2021-12-18 17:50:43 -08:00
043c6878d6
Server: Waypoint flagging will now link two nodes if they weren't linked
already.
2021-12-18 17:20:25 -08:00
e45c41610c
Client: Flip the first two entries under the link sub-menu in way_menu. 2021-12-18 16:38:35 -08:00
5637d49189
Waypoint-system: Add 'sv way addnear' which will create a node auto-linked
to the nearest node to the player.
2021-12-18 16:36:51 -08:00
30e0ca9ad5
Client: Auto-load waypoints for current map when first opening way_menu.
Add cvar: way_autoload
2021-12-18 16:27:28 -08:00
f2e44b24fb
Add platform/base_sound.pk3, move base sound shaders in there. Add misc/null
and misc/missing PCM samples for fallback.
2021-12-18 15:06:37 -08:00
6ec29e9985
SurfData_IDtoImpact: Fix IMPACT_METAL lookup 2021-12-17 21:23:30 -08:00
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
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
8075616d6d
SurfaceProperties: We were missing a few material ID lookups for GoldSrc
regarding impacts.
2021-12-16 13:12:44 -08:00
00e9eec764
Menu-FN: To make standard load faster, the parsing of game-info now happens
whenever try to enter 'Custom Game'.
2021-12-15 22:33:30 -08:00
c8a6b1f123
Added support for _detail.txt definitions, allowing maps to specify detail
textures. New cvars: r_detailtextures, r_detailtexture_xscale, r_detailtexture_yscale.
2021-12-15 11:17:25 -08:00
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
7bfea15dd0
Add base/shared/fx_corpse.qc, change set to seta in masters.lst 2021-12-13 11:47:55 -08:00
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
bfad97f6eb
prop_dynamic: Remove redundant .health set code that's now handled in the
parent class.
PropData: Fix a bug that fails to check our cache properly, resulting in
the first entry being returned when no data is properly defined.
2021-11-21 04:23:33 +01:00
a2f8fd0a5d
NSSurfacePropEntity: Keep track if .health is ever set manually, take that
and PropData info into account for determining if any child classes will
'break' by default
2021-11-21 03:57:18 +01:00
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
1e31ab2955
Following last commit, we allocate EFX data statically up-front too. 2021-11-15 03:59:39 +01:00
58734ec4d2
Improve VM memory usage by avoiding fragmentation in sound shaders and prop
data. Games can enable dynamic memory allocation by setting SOUNDSHADER_DYNAMIC
and PROPDATA_DYNAMIC in their progs.src
2021-11-15 03:46:59 +01:00
0085403c95
NSSurfacePropEntity: Save/Restore for its attributes, OnBreak output etc. 2021-11-13 07:55:33 +01:00
08c3a4a576
SurfData: Goodbye to DAMAGE_MATERIAL. We streamline that process now so
that all entities will use surfaceParm defined info by default unless
overriden by an entity. + Set up sane defaults for surface properties.
2021-11-13 01:38:20 +01:00
40da8b09f9
NSPhysicsEntity: Filter out the various damage types when applying force upon
the ent taking damage.
2021-11-10 13:06:57 +01:00
c7845fd694
NSRenderableEntity: m_iBody should be applied to the first two geomset groups (for now)
to deal with funky GS model behaviour.
2021-11-10 10:42:52 +01:00
7d717779b3
NSRenderableEntity: Fix "body" key not being read in SpawnKey() 2021-11-10 09:50:59 +01:00
568716ca78
NSEntity: Check .scale before applying setsize() in case someone's funny 2021-11-10 03:00:09 +01:00
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
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
3bb88216c8
Add DAMAGE_MATERIAL as a possible .takedamage value, this may just be a
temp way for model based entities to communicate whether or not they use
that in-model surfaceflags.
2021-11-06 07:15:13 +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
2484f6c283
func_rotating: Set think and nextthink to something in order for an infinite
avelocity to work. Great.
2021-11-04 00:01:38 +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
0a8dbd0edb
Menu-FN: Skip intro page if we're playing with steambg in the liblist.gam. 2021-11-01 21:43:01 +01:00
69d58edbb6
trigger_multiple: Implement the output "OnEndTouchAll". Needs stress-testing. 2021-11-01 02:38:24 +01:00
2a23eebc79
NSRenderableEntity: Render RM_SOLID rendermode ents invisible when m_flRenderAmt is 0. 2021-10-31 20:07:56 +01:00
908a9fd524
GS-EntBase: Add initial implementation of func_areaportal. 2021-10-31 19:52:55 +01:00
fe15241b2d
GS-EntBase: add PortalOpen/Close methods to func_door and func_door_rotating
which keeps track of our areaportal state more reliably.
2021-10-31 19:15:32 +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
5bf3545e69
GS-EntBase: Added a ton more Save/Restore functions for many core entities.
Player entity is also getting save/restored now.
2021-10-28 04:29:11 +02:00
98c234da48
SurfaceData: Non NSSurfacePropEntity class ents will just use the generic world check for impact effect lookup. 2021-10-27 03:06:29 +02:00
98d9f8f618
Sound: Convert legacy attenuations to Q unit radii upon parsing. 2021-10-23 13:45:59 +02:00
090edf53ff
NSTrigger: Make sure SpawnKey sets 'target' on the client progs too.
prop_rope: Fix the ropes not looking towards the right direction.
2021-10-23 12:40:35 +02:00
f5a8ec8ef3
Added support for the triggers/think states across Save/Restore functionality 2021-10-23 01:00:15 +02:00
4c2b37c34d
NSEntity: Save/Restore behaviour for some more fields. 2021-10-22 21:20:22 +02:00
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
0a4b0ea795
Client: Move Damage_Draw() and Damage_Precache() out of here, into the
game-specific realm
2021-10-21 23:30:42 +02:00
64eb0cc11d
PMove: Be more aggressive with our unstuck function. 2021-10-21 21:27:58 +02:00
ac8eefc313
NSEntity: Fix a very bad bug that caused Client entities to not parse
any fields through SpawnKey.
2021-10-21 00:36:15 +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
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
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
736ecb61f8
TraceAttack: check surfaceflags on world traces, m_iMaterial on anything
else.
2021-10-15 09:37:51 +02:00
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
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
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
dd94d7d75f
View: Move muzzleflash precaches out to be game specific. 2021-10-06 22:00:23 +02:00
3d7e132699
CBaseEntity: add SetParent and ClearParent Inputs for level designers. 2021-10-04 13:56:18 +02:00
726332c78e
CBaseEntity: Add Ignite(), Exinguish(), IsOnFire() methods according to the
Source 2004 spec (controllable lifetimes etc.)
2021-10-04 13:22:40 +02:00
12753616df
Remove some left-over junk code that no longer runs 2021-09-30 23:32:47 +02:00
59ee0bd359
PMove: Pressing jump will now make you jump off the ladder, like in HL and
some other games.
2021-09-30 23:19:01 +02:00
2b377fdd79
Document the various CONTENTBITS that are relevant to us and reserve
a GRENADECLIP content bit, so levels can be optimised for nade throws.
2021-09-24 10:48:05 +02:00
565d8ad7e7
PMove: Add flag FL_ONUSABLE, which will tell us if we're looking/hovering
over something that we can +use on.
2021-09-23 01:01:59 +02:00
5439bfb59b
CBaseEntity: Mark some methods as nonvirtual, fix some regressions with
func_healthcharger/recharger, trigger_gravity
2021-09-22 20:56:20 +02:00
451beedb0c
CBasePhysics: add support for explosions upon destruction, provided via
propdata.
2021-09-21 21:11:02 +02:00
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
f34b78b11c
CBaseMonster: Fix being able to push monsters around when you're standing on them 2021-09-17 20:41:48 +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
3cc01ca512
CBaseMonster/NPC: Tweak what qu/s speed is considered falling 2021-09-17 01:24:47 +02:00
211a28692b
CBaseMonster: Add FALLING flag, and FallNoise() method so monsters/npcs can
specify what to do/play when they start falling.
2021-09-17 00:41:58 +02:00
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
1764677394
Add hacks to func_door(_rotating) that deal with 'wait' being 0. 2021-09-16 20:26:03 +02:00
2cebd560c3
multi_manager: Remove old debug prints 2021-09-16 19:19:22 +02:00
56a616ec8b
CBaseEntity: Add reliable methods to query what certain attributes where
when the entity first spawned. (e.g. GetSpawnOrigin())
2021-09-16 17:34:56 +02:00
cba54d3e2b
Added crossprint, changed input_sequence from int to float as
it's now integrated into the engine, however as a float (blame DP)
2021-09-15 22:44:31 +02:00
034575ac87
Plugins: chatsounds.dat will now look for any definitions
file named chatsounds_*.txt.
2021-09-12 12:19:28 +02:00
81116646e4
Sound_Distance: Use pointsound, because the engine may do a funny
with channels and whatnot in the OpenAL backend. It works when
no entities are involved.
2021-09-12 01:17:26 +02:00
ab34230016
GS-EntBase: func_door_rotating gets the 'locked_sound' too. That's
it for today.
2021-09-12 01:11:36 +02:00
eda2e3e751
GS-EntBase: Implement 'locked_sound' in func_door. 2021-09-12 01:06:45 +02:00
c9d502f364
GS-EntBase: env_shooter's Respawn should set .think to __NULL__
to avoid potential Respawn() calls not working as expected.
2021-09-12 00:30:37 +02:00
dfa7e32eca
CBaseNPC: Don't allow us to 'Speak' or 'Sentence' when we're dead. 2021-09-12 00:21:28 +02:00
f884b3d35d
Separate networking between CBaseEntity and CBaseMonster, needs
cleaning.
2021-09-12 00:13:24 +02:00
10b2ff1fca
Add setorigin_safe(), which is just like setorigin but pushes
entities upwards out of the ground.
2021-09-12 00:12:55 +02:00
b8de87d45c
func_pushable: Mark collision-helper as non-solid upon breaking. 2021-09-12 00:11:12 +02:00
d4fe258d62
prop_vehicle_driveable: Fix QUAKED definition classifying it as
a brush entity, oops.
2021-09-11 22:46:29 +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
8ba5bc56d2
Sound: Added 'distshader' keyword support... which will play a
another sound definition at global attenuation (explosions like this)
2021-09-02 10:10:27 +02:00
4a2cde56cc
Clean up pseudorandom() a bit. 2021-09-02 09:47:48 +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
fd05c2419c
Minor cleanup of SendFlags assignments, fix for 'sv respawn_ents' affecting players. 2021-09-01 22:11:30 +02:00
f0957141cc
CBaseEntity: Add inputs for 'Kill' and 'KillHierarchy' 2021-09-01 21:39:21 +02:00
1657ff3e29
GS-EntBase: Move I/O system into CBaseEntity, add Skin, Disable/EnableShadow inputs... 2021-09-01 21:30:10 +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
0bc83d289d Menu-FN: Add r_pixelscale, to be used in combination with r_autoscale 2021-08-29 21:41:31 +02:00
2377734e60 Client: Remove drawpic and drawsubpic wrappers. 2021-08-29 19:42:45 +02:00
6cea322f6a base_player: Network v_angle[1] along with angles[1] 2021-08-29 18:28:11 +02:00
42b1abf668 Menu-FN/FS: Only parse sprays from logos/, not root of mod-dir
anymore. Users with giant BMP screenshots will rejoice
2021-08-29 09:53:36 +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
4952e7fbe0 Menu-FN & GLSL: Hack to allow for .colormap style top/bottom color
onto vertexlit entities. Requires .colormod[2] to be 2.
Used by the menu with MODEL_PREVIEW.
2021-08-27 21:52:41 +02:00
6de82ca18c Menu-FN: if a menu.dat is compiled with MODEL_PREVIEW defined,
we'll use a 3D player-model previews instead of the image based one
2021-08-27 21:15:57 +02:00
e28de86415 Call DSP_UpdateSoundscape(), seems I forgot all about it! 2021-08-27 11:35:59 +02:00
be0df99c8d Menu-FN: Add WEBMENU define, to get rid of all the filesystem
searches related to mods and packages for potential web builds
2021-08-23 11:04:56 +02:00
76b26fd3af func_brush: Clarify default state in the QUAKED description 2021-08-19 19:11:46 +02:00
d4fccac03f Work towards making vehicles predicted, this is ongoing. 2021-08-19 17:54:08 +02:00
62b5e300d7 Set default physics cvars up on init, as the engine has some set to "" and
thus renders our autocvar definitions useless.
2021-08-14 09:13:27 +02:00
f562991ada Clean-up defines for physics vars. Those are handled elsewhere... 2021-08-14 08:49:40 +02:00
a3e0cceba0 GS-Entbase: Add detailed QUAKED definition for light_environment! 2021-08-12 21:34:32 +02:00
0d759c724c Menu-FN: Support for mIRC color codes in the Chat-Room function (fg only) 2021-08-12 12:36:48 +02:00
fbf6ee7367 Switch from iqmtool to vvmtool. 2021-08-10 12:07:09 +02:00
c7004625ae Menu-FN: Add LOGO_STATIC, rename LOGO to LOGO_AVI. Allowing mods to have
non video menu headers
2021-08-08 14:06:26 +02:00
844c29bf23 Menu-FN: Off-load font definitions into external .font files, like cgame 2021-08-08 13:54:05 +02:00
0cd6694c32 Menu-FN: Parse locale file info, then gfx/shell definition overrides to
allow for proper translations of the menu system.
2021-08-08 12:12:17 +02:00
fb63b4f774 GS-EntBase: Fix rendermodes for more complicated entities, ts_bikini will
now display properly.
2021-08-08 07:47:20 +02:00
1230a6d636 prop_rope: Fix PVS culling. It may be more aggressive now, so fix your maps. 2021-08-08 06:51:57 +02:00
ca9e42a49c Add 'testPointLight' command. 2021-08-06 08:46:12 +02:00
9fb574d920 CBaseEntity: Fix error for when games are not compiled with GS_RENDERFX 2021-08-03 07:15:25 +02:00
0709688f9f Add base/default.cfg, some fallback menu assets. 2021-08-02 22:36:36 +02:00
3ca7b5451c Menu-FN: set create-server maxplayers to 8 when cvar is at 1, search pak
archives in reverse for liblist etc. files to ensure we read the latest +
more fixes
2021-08-01 11:49:00 +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
3b0ad9468a Menu-FN: Fix broken training map button. 2021-07-19 08:37:08 +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
37c5c6efdd GS-Entbase: Make sure we use Set*() functions for networked fields all the
time to notify clients of any changes
2021-07-19 08:34:46 +02:00
50c3f27a69 GS-Entbase: Document spawnflags throughly in QUAKED comments. 2021-07-17 21:04:34 +02:00
d744bf2272 GS-Entbase: QUAKED comment improvements for level editors 2021-07-14 11:49:30 +02:00
9798e0c91b QUAKED light_surface, a new vmap-only entity that enables you to
quickly add map-specific material overrides for the purpose of lighting.
It's similar to the "_surfname" key in tyrutils_ericw, but it is more
advanced than that.
2021-07-12 10:17:10 +02:00
8a2820f15b func_brush: Ironed out most of the behaviour, thanks Xylemon for creating
a great test map documenting how this entity should behave in Source.
2021-07-12 10:15:00 +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
60313aa3ce GS-Entbase: env_particle needed setorigin() and setsize(), since that's
how FTE will now set a pvs sample in CSQC
2021-07-09 22:16:36 +02:00
3f3e61689d GS-Entbase: Move client/worldspawn to shared/worldspawn, defined QUAKED
comments that we encourage using for new maps
2021-07-03 12:42:33 +02:00
03ecfbabfb Menu-FN: Don't push the updater into anyones face right now until this is
rock-solid under the hood
2021-07-02 23:42:03 +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