Mapbase v6.1

- Added postprocess_controller entity from later versions of Source
- Added env_dof_controller entity from later versions of Source
- Added SDK_Engine_Post and DepthOfField shaders from the Momentum repo/Alien Swarm SDK
- Fixed auto-breaking game_text/choreo text not null terminating
- Fixed console groups showing up at the wrong developer levels
- Added more mesages to console groups, including a new "NPC AI" console group
- Fixed typos and added elaboration in various cvars, console messages, etc.
- Fixed npc_metropolice not using frag grenades correctly when allowed to use them
- Fixed npc_metropolice not registering stitching squad slots in AI
- Fixed SetModel input late precache warning
- Fixed env_global_light angles resetting upon loading a save
- Fixed an issue with ScriptKeyValuesRead using the wrong name and having a memory leak
- Allowed VScript functions which return null strings to actually return null instead of empty strings
- Added VScript member variable documentation
- Fixed VScript documentation lines sometimes mixing together
- Fixed VScript singletons having a ! at the beginning of descriptions
- Added Color struct to VScript and allowed color-related inputs to use it
- Added more VScript functions for weapons, ammo, ragdolling, and response contexts
- Added GameRules singleton for VScript
- Exposed AI interaction system to VScript
- Recovered some lost documentation from older revisions of the Mapbase wiki
- Added a way to get the current game's load type in VScript
- Fixed Precache/SpawnEntityFromTable not accounting for a few important field types
- Added VScript functions for getting a player's eye vectors
- Fixed a crash caused by removing the active weapon of a Combine soldier while it's firing
- Changed the way metrocops deploy their manhacks so they could use their manhack death response properly
- Fixed "Use Server" keyvalue on game_convar_mod not working
- Adjusted CAI_Expresser in VScript
This commit is contained in:
Blixibon
2020-12-17 03:38:23 +00:00
parent 6d45d9591e
commit 87cd9b24bb
82 changed files with 4596 additions and 337 deletions

View File

@@ -470,7 +470,7 @@ CAI_Schedule *CAI_BaseNPC::GetNewSchedule( void )
// You may not be in combat state with no enemy!!! (sjb) 11/4/03
if( m_NPCState == NPC_STATE_COMBAT && !GetEnemy() )
{
DevMsg("**ERROR: Combat State with no enemy! slamming to ALERT\n");
CGMsg( 1, CON_GROUP_NPC_AI, "**ERROR: Combat State with no enemy! slamming to ALERT\n" );
SetState( NPC_STATE_ALERT );
}
@@ -693,7 +693,7 @@ void CAI_BaseNPC::MaintainSchedule ( void )
if ( !GetCurSchedule() || GetCurSchedule()->NumTasks() == 0 )
{
DevMsg("ERROR: Missing or invalid schedule!\n");
CGMsg( 1, CON_GROUP_NPC_AI, "ERROR: Missing or invalid schedule!\n" );
SetActivity ( ACT_IDLE );
return;
}
@@ -1007,7 +1007,7 @@ bool CAI_BaseNPC::FindCoverFromBestSound( Vector *pCoverPos )
}
else
{
DevMsg( 2, "Attempting to find cover from best sound, but best sound not founc.\n" );
CGMsg( 2, CON_GROUP_NPC_AI, "Attempting to find cover from best sound, but best sound not founc.\n" );
}
return false;
@@ -2743,7 +2743,7 @@ void CAI_BaseNPC::StartTask( const Task_t *pTask )
case TASK_SOUND_ANGRY:
{
// sounds are complete as soon as we get here, cause we've already played them.
DevMsg( 2, "SOUND\n" );
CGMsg( 2, CON_GROUP_NPC_AI, "SOUND\n" );
TaskComplete();
break;
}
@@ -2785,11 +2785,7 @@ void CAI_BaseNPC::StartTask( const Task_t *pTask )
{
if ( !m_hCine )
{
#ifdef MAPBASE
CGMsg( 1, CON_GROUP_NPC_SCRIPTS, "Scripted sequence destroyed while in use\n" );
#else
DevMsg( "Scripted sequence destroyed while in use\n" );
#endif
TaskFail( FAIL_SCHEDULE_NOT_FOUND );
break;
}
@@ -2800,11 +2796,7 @@ void CAI_BaseNPC::StartTask( const Task_t *pTask )
{
if ( !m_hCine )
{
#ifdef MAPBASE
CGMsg( 1, CON_GROUP_NPC_SCRIPTS, "Scripted sequence destroyed while in use\n" );
#else
DevMsg( "Scripted sequence destroyed while in use\n" );
#endif
TaskFail( FAIL_SCHEDULE_NOT_FOUND );
break;
}
@@ -3151,7 +3143,7 @@ void CAI_BaseNPC::StartTask( const Task_t *pTask )
default:
{
DevMsg( "No StartTask entry for %s\n", TaskName( task ) );
CGMsg( 1, CON_GROUP_NPC_AI, "No StartTask entry for %s\n", TaskName( task ) );
}
break;
}
@@ -3298,7 +3290,7 @@ void CAI_BaseNPC::RunTask( const Task_t *pTask )
// Put a debugging check in here
if (GetHintNode()->User() != this)
{
DevMsg("Hint node (%s) being used by non-owner!\n",GetHintNode()->GetDebugName());
CGMsg( 1, CON_GROUP_NPC_AI, "Hint node (%s) being used by non-owner!\n", GetHintNode()->GetDebugName() );
}
if ( IsActivityFinished() )
@@ -4005,11 +3997,7 @@ void CAI_BaseNPC::RunTask( const Task_t *pTask )
}
else if (!m_hCine)
{
#ifdef MAPBASE
CGMsg( 1, CON_GROUP_NPC_SCRIPTS, "Cine died!\n" );
#else
DevMsg( "Cine died!\n");
#endif
TaskComplete();
}
else if ( IsRunningDynamicInteraction() )
@@ -4065,11 +4053,7 @@ void CAI_BaseNPC::RunTask( const Task_t *pTask )
{
if ( !m_hCine )
{
#ifdef MAPBASE
CGMsg( 1, CON_GROUP_NPC_SCRIPTS, "Scripted sequence destroyed while in use\n" );
#else
DevMsg( "Scripted sequence destroyed while in use\n" );
#endif
TaskFail( FAIL_SCHEDULE_NOT_FOUND );
break;
}
@@ -4088,11 +4072,7 @@ void CAI_BaseNPC::RunTask( const Task_t *pTask )
{
if ( !m_hCine )
{
#ifdef MAPBASE
CGMsg( 1, CON_GROUP_NPC_SCRIPTS, "Scripted sequence destroyed while in use\n" );
#else
DevMsg( "Scripted sequence destroyed while in use\n" );
#endif
TaskFail( FAIL_SCHEDULE_NOT_FOUND );
break;
}
@@ -4249,7 +4229,7 @@ void CAI_BaseNPC::RunTask( const Task_t *pTask )
default:
{
DevMsg( "No RunTask entry for %s\n", TaskName( pTask->iTask ) );
CGMsg( 1, CON_GROUP_NPC_AI, "No RunTask entry for %s\n", TaskName( pTask->iTask ) );
TaskComplete();
}
break;
@@ -4421,11 +4401,7 @@ int CAI_BaseNPC::GetScriptCustomMoveSequence( void )
iSequence = LookupSequence( STRING( m_hCine->m_iszCustomMove ) );
if ( iSequence == ACTIVITY_NOT_AVAILABLE )
{
#ifdef MAPBASE
CGMsg( 1, CON_GROUP_NPC_SCRIPTS, "SCRIPT_CUSTOM_MOVE: %s has no sequence:%s\n", GetClassname(), STRING(m_hCine->m_iszCustomMove) );
#else
DevMsg( "SCRIPT_CUSTOM_MOVE: %s has no sequence:%s\n", GetClassname(), STRING(m_hCine->m_iszCustomMove) );
#endif
}
}
else if ( m_iszSceneCustomMoveSeq != NULL_STRING )