Mapbase v4.3

- Fixed a crash with multiple trigger_look targets
- Fixed an issue where some zombie submodel server ragdolls are not solid to the world
- Fixed a crash with certain instance classes being loaded in a savegame before the class is registered
- Added some of Tony Sergi's missing Source 2007 fixes (contributed by Kris)
- Added "ClientCommand" hook for VScript to allow handling of unknown console commands
- Added "PlayerRunCommand" hook for VScript to control player movement
- Added new button-related script functions for players (GetButtons, DisableButtons, etc.)
- Added CUserCmd accessor in VScript for the "PlayerRunCommand" hook
- Added "GetWaterLevel" function for VScript
- Exposed "Ignite" to VScript for controlling how a fire starts
- Fixed NPCs being unable to unholster weapons
- Fixed Mapbase crashing when Steam isn't running
- Fixed issues with angled/updating sky_camera save/restore
- Added VBSP "-skyboxcubemap" parameter to enable skybox default cubemaps + "-defaultcubemapres" to control their resolution
- Added ability to disable VScript in a map (and fixed a few potential complications from disabling VScript)
- Made clientside VScript only initialize after world is spawned in order to receive serverside script language in time
- Added tons of VScript functions to CBaseAnimating related to bodygroups, sequences, etc.
- Added VScript functions to players for getting user ID and player name, similar to logic_playerinfo
- Added a few L4D2 script functions missing from the ASW SDK
- Added "Localize" singleton with a single "GetTokenAsUTF8" function for getting localization strings
- Disabled r_hunkalloclightmaps by the request of various users (apparently this completely removes the "Engine hunk overflow" error and allows for really high-res lightmaps)
- Fixed npc_antlionguard NPC_TranslateActivity not hooking into base class (allows for VScript manipulation)
- Added various unused antlion guard activities to npc_antlionguard AI, allowing for usage as registered activities
- Added keyvalue to set LOS mask on combine_mine
- Added +USE bounding box limiter to prop_interactable
This commit is contained in:
Blixibon
2020-07-16 15:43:30 +00:00
parent f636089003
commit 63323222fe
76 changed files with 1575 additions and 359 deletions

View File

@@ -569,6 +569,8 @@ void CPhysConstraint::GetConstraintObjects( hl_constraint_info_t &info )
// Missing one object, assume the world instead
if ( info.pObjects[0] == NULL && info.pObjects[1] )
{
// This brokens hanging lamps in hl2mp
#if !defined ( HL2MP )
if ( Q_strlen(STRING(m_nameAttach1)) )
{
Warning("Bogus constraint %s (attaches ENTITY NOT FOUND:%s to %s)\n", GetDebugName(), STRING(m_nameAttach1), STRING(m_nameAttach2));
@@ -577,11 +579,15 @@ void CPhysConstraint::GetConstraintObjects( hl_constraint_info_t &info )
return;
#endif // HL2_EPISODIC
}
#endif
info.pObjects[0] = g_PhysWorldObject;
info.massScale[0] = info.massScale[1] = 1.0f; // no mass scale on world constraint
}
else if ( info.pObjects[0] && !info.pObjects[1] )
{
// This brokens hanging lamps in hl2mp
#if !defined ( HL2MP )
if ( Q_strlen(STRING(m_nameAttach2)) )
{
Warning("Bogus constraint %s (attaches %s to ENTITY NOT FOUND:%s)\n", GetDebugName(), STRING(m_nameAttach1), STRING(m_nameAttach2));
@@ -590,6 +596,7 @@ void CPhysConstraint::GetConstraintObjects( hl_constraint_info_t &info )
return;
#endif // HL2_EPISODIC
}
#endif
info.pObjects[1] = info.pObjects[0];
info.pObjects[0] = g_PhysWorldObject; // Try to make the world object consistently object0 for ease of implementation
info.massScale[0] = info.massScale[1] = 1.0f; // no mass scale on world constraint
@@ -1038,6 +1045,16 @@ public:
for ( int i = 0; i < 2; i++ )
{
info.pObjects[i]->WorldToLocal( &ballsocket.constraintPosition[i], GetAbsOrigin() );
// HACKHACK - the mapper forgot to put in some sane physics damping
float damping, adamping;
info.pObjects[i]->GetDamping(&damping, &adamping);
if (damping < .2f) {
damping = .2f;
}
if (adamping < .2f) {
adamping = .2f;
}
info.pObjects[i]->SetDamping(&damping, &adamping);
}
GetBreakParams( ballsocket.constraint, info );
ballsocket.constraint.torqueLimit = 0;