Commit Graph

324 Commits

Author SHA1 Message Date
Marco Cawthorne 736ecb61f8
TraceAttack: check surfaceflags on world traces, m_iMaterial on anything
else.
2021-10-15 09:37:51 +02:00
Marco Cawthorne 5439bfb59b
CBaseEntity: Mark some methods as nonvirtual, fix some regressions with
func_healthcharger/recharger, trigger_gravity
2021-09-22 20:56:20 +02:00
Marco Cawthorne 451beedb0c
CBasePhysics: add support for explosions upon destruction, provided via
propdata.
2021-09-21 21:11:02 +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 f34b78b11c
CBaseMonster: Fix being able to push monsters around when you're standing on them 2021-09-17 20:41:48 +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 3cc01ca512
CBaseMonster/NPC: Tweak what qu/s speed is considered falling 2021-09-17 01:24:47 +02:00
Marco Cawthorne 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
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 1764677394
Add hacks to func_door(_rotating) that deal with 'wait' being 0. 2021-09-16 20:26:03 +02:00
Marco Cawthorne 2cebd560c3
multi_manager: Remove old debug prints 2021-09-16 19:19:22 +02:00
Marco Cawthorne 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
Marco Cawthorne ab34230016
GS-EntBase: func_door_rotating gets the 'locked_sound' too. That's
it for today.
2021-09-12 01:11:36 +02:00
Marco Cawthorne eda2e3e751
GS-EntBase: Implement 'locked_sound' in func_door. 2021-09-12 01:06:45 +02:00
Marco Cawthorne 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
Marco Cawthorne dfa7e32eca
CBaseNPC: Don't allow us to 'Speak' or 'Sentence' when we're dead. 2021-09-12 00:21:28 +02:00
Marco Cawthorne f884b3d35d
Separate networking between CBaseEntity and CBaseMonster, needs
cleaning.
2021-09-12 00:13:24 +02:00
Marco Cawthorne b8de87d45c
func_pushable: Mark collision-helper as non-solid upon breaking. 2021-09-12 00:11:12 +02:00
Marco Cawthorne d94a5f33eb
GS-EntBase: Add prop_vehicle_driveable, for model based 4-wheel
vehicles.
2021-09-11 22:43:14 +02:00
Marco Cawthorne fd05c2419c
Minor cleanup of SendFlags assignments, fix for 'sv respawn_ents' affecting players. 2021-09-01 22:11:30 +02:00
Marco Cawthorne 1657ff3e29
GS-EntBase: Move I/O system into CBaseEntity, add Skin, Disable/EnableShadow inputs... 2021-09-01 21:30:10 +02:00
Marco Cawthorne 76b26fd3af func_brush: Clarify default state in the QUAKED description 2021-08-19 19:11:46 +02:00
Marco Cawthorne d4fccac03f Work towards making vehicles predicted, this is ongoing. 2021-08-19 17:54:08 +02:00
Marco Cawthorne 1ec3cf2e8e Decouple Camera/Viewmodel effects from src/ into base/src/ 2021-08-01 08:53:21 +02:00
Marco Cawthorne 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
Marco Cawthorne 50c3f27a69 GS-Entbase: Document spawnflags throughly in QUAKED comments. 2021-07-17 21:04:34 +02:00
Marco Cawthorne d744bf2272 GS-Entbase: QUAKED comment improvements for level editors 2021-07-14 11:49:30 +02:00
Marco Cawthorne 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
Marco Cawthorne 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
Marco Cawthorne 3a69435a6b Platform: Update test_lightwarmth.bsp/map 2021-06-29 22:27:25 +02:00
Marco Cawthorne c0050b9798 prop_static: Only MakeStatic if avelocity isn't set. 2021-06-26 10:25:46 +02:00
Marco Cawthorne c55317711c trigger_hurt: Make damage timer relative to the entity, not relative to
the trigger itself.
2021-06-18 22:59:54 +02:00
Marco Cawthorne 75dfffaf4b func_pushable: only run physics routine when velocity is > 0 2021-06-18 09:24:58 +02:00
Marco Cawthorne 12e02bd019 multi_manager: clean up the way we trigger our sub-triggers, avoid string
tokenization
2021-06-16 11:53:29 +02:00
Marco Cawthorne dabe93a9ce func_wall_toggle: Fix networking bug, we weren't using SetModelindex() 2021-06-16 11:52:59 +02:00
Marco Cawthorne 3efae50481 GS-Entbase: Make use of setmodelindex() instead of directly assigning
modelindex.
PMove: Hack to get stop gravity=0 from breaking runstandardplayerphysics if
CUSTOMPHYSICS is not defined
2021-06-08 09:17:35 +02:00
Marco Cawthorne cc3a652119 GS-Entbase: Remove duplicate func_lod definition for QUAKED 2021-06-07 11:39:02 +02:00
Marco Cawthorne 243c875a3f CBaseTrigger: Add support for Source Engine's FireUser/OnUser 1-4 trigger
inputs/outputs.
2021-05-29 10:52:47 +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 42960cda05 GS-Entbase: Initial func_pushable implementation 2021-05-27 09:44:01 +02:00
Marco Cawthorne 03b16ff905 Add Vox_Sentence_Broadcast() and Vox_Sentence_Single 2021-05-25 10:25:20 +02:00
Marco Cawthorne eb3603335e GS-EntBase: func_ladder moved into shared/, will now avoid networking
entirely if it can be avoided.
2021-05-10 19:05:57 +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 a3ecd78f17 CBaseMonster: support for spawnflag MSF_IGNOREPLAYER (64). 2021-05-10 08:14:10 +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 ce8731079f func_door(_rotating): Support for separate sound shaders handling opening
and closing of doors. See QUAKED comment in WorldSpawn for details.
2021-04-21 10:03:18 +02:00
Marco Cawthorne 07094f1cb4 CBaseMonster: Cancel out of AttackThink if m_eEnemy is not set 2021-04-10 23:25:06 +02:00
Marco Cawthorne 6da1f3c4fa GS-Entbase: massive optimisation - any func_wall and illusionary without a
targetname will not be networked and handled 100% client-side.
2021-04-10 09:35:06 +02:00
Marco Cawthorne 075033e93c func_breakable: fix typo in sound shader name 2021-03-27 09:15:02 +01:00
Marco Cawthorne f553a79250 Util_FixModel: Add another hack to fix hostages spawning on cs_747. 2021-03-17 11:49:41 +01:00