mirror of
https://github.com/mapbase-source/source-sdk-2013.git
synced 2024-12-27 15:25:30 +03:00
Added more VScript functions for CMapbaseSystem
This commit is contained in:
parent
15f4d582f2
commit
5fa7648693
@ -375,55 +375,6 @@ public:
|
|||||||
m_bInitializedRTs = false;
|
m_bInitializedRTs = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Custom scheme loading
|
|
||||||
void LoadCustomScheme( const char *pszFile )
|
|
||||||
{
|
|
||||||
g_iCustomClientSchemeOverride = vgui::scheme()->LoadSchemeFromFile( pszFile, "CustomClientScheme" );
|
|
||||||
|
|
||||||
// Reload scheme
|
|
||||||
ClientModeShared *mode = ( ClientModeShared * )GetClientModeNormal();
|
|
||||||
if ( mode )
|
|
||||||
{
|
|
||||||
mode->ReloadScheme();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void LoadCustomHudAnimations( const char *pszFile )
|
|
||||||
{
|
|
||||||
CBaseViewport *pViewport = dynamic_cast<CBaseViewport *>(g_pClientMode->GetViewport());
|
|
||||||
if (pViewport)
|
|
||||||
{
|
|
||||||
g_bUsingCustomHudAnimations = true;
|
|
||||||
if (!pViewport->LoadCustomHudAnimations( pszFile ))
|
|
||||||
{
|
|
||||||
g_bUsingCustomHudAnimations = false;
|
|
||||||
CGWarning( 0, CON_GROUP_MAPBASE_MISC, "Custom HUD animations file \"%s\" failed to load\n", pszFile );
|
|
||||||
pViewport->ReloadHudAnimations();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
CGMsg( 1, CON_GROUP_MAPBASE_MISC, "Loaded custom HUD animations file \"%s\"\n", pszFile );;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void LoadCustomHudLayout( const char *pszFile )
|
|
||||||
{
|
|
||||||
CBaseViewport *pViewport = dynamic_cast<CBaseViewport *>(g_pClientMode->GetViewport());
|
|
||||||
if (pViewport)
|
|
||||||
{
|
|
||||||
g_bUsingCustomHudLayout = true;
|
|
||||||
|
|
||||||
KeyValuesAD pConditions( "conditions" );
|
|
||||||
g_pClientMode->ComputeVguiResConditions( pConditions );
|
|
||||||
|
|
||||||
// reload the .res file from disk
|
|
||||||
pViewport->LoadControlSettings( pszFile, NULL, NULL, pConditions );
|
|
||||||
|
|
||||||
CGMsg( 1, CON_GROUP_MAPBASE_MISC, "Loaded custom HUD layout file \"%s\"\n", pszFile );;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Get a generic, hardcoded manifest with hardcoded names.
|
// Get a generic, hardcoded manifest with hardcoded names.
|
||||||
@ -477,14 +428,11 @@ public:
|
|||||||
case MANIFEST_LOCALIZATION: { g_pVGuiLocalize->AddFile( value, "MOD", true ); } break;
|
case MANIFEST_LOCALIZATION: { g_pVGuiLocalize->AddFile( value, "MOD", true ); } break;
|
||||||
case MANIFEST_SURFACEPROPS: { AddSurfacepropFile( value, physprops, filesystem ); } break;
|
case MANIFEST_SURFACEPROPS: { AddSurfacepropFile( value, physprops, filesystem ); } break;
|
||||||
#ifdef CLIENT_DLL
|
#ifdef CLIENT_DLL
|
||||||
case MANIFEST_CLOSECAPTION: {
|
case MANIFEST_CLOSECAPTION: { ManifestLoadCustomCloseCaption( value ); } break;
|
||||||
if ( GET_HUDELEMENT( CHudCloseCaption ) )
|
|
||||||
(GET_HUDELEMENT( CHudCloseCaption ))->AddCustomCaptionFile( value, m_CloseCaptionFileNames );
|
|
||||||
} break;
|
|
||||||
case MANIFEST_VGUI: { PanelMetaClassMgr()->LoadMetaClassDefinitionFile( value ); } break;
|
case MANIFEST_VGUI: { PanelMetaClassMgr()->LoadMetaClassDefinitionFile( value ); } break;
|
||||||
case MANIFEST_CLIENTSCHEME: { LoadCustomScheme( value ); } break;
|
case MANIFEST_CLIENTSCHEME: { ManifestLoadCustomScheme( value ); } break;
|
||||||
case MANIFEST_HUDANIMATIONS: { LoadCustomHudAnimations( value ); } break;
|
case MANIFEST_HUDANIMATIONS: { ManifestLoadCustomHudAnimations( value ); } break;
|
||||||
case MANIFEST_HUDLAYOUT: { LoadCustomHudLayout( value ); } break;
|
case MANIFEST_HUDLAYOUT: { ManifestLoadCustomHudLayout( value ); } break;
|
||||||
//case MANIFEST_SOUNDSCAPES: { Soundscape_AddFile(value); } break;
|
//case MANIFEST_SOUNDSCAPES: { Soundscape_AddFile(value); } break;
|
||||||
#else
|
#else
|
||||||
case MANIFEST_TALKER: {
|
case MANIFEST_TALKER: {
|
||||||
@ -561,18 +509,87 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef MAPBASE_VSCRIPT
|
private:
|
||||||
void ScriptAddManifestFile( const char *szScript ) { AddManifestFile( szScript ); }
|
|
||||||
|
|
||||||
void LoadSoundscriptFile( const char *szScript ) { LoadFromValue(szScript, MANIFEST_SOUNDSCRIPTS, false); }
|
#ifdef CLIENT_DLL
|
||||||
#ifndef CLIENT_DLL
|
void ManifestLoadCustomCloseCaption( const char *pszFile )
|
||||||
void LoadTalkerFile( const char *szScript ) { LoadFromValue( szScript, MANIFEST_TALKER, false ); }
|
{
|
||||||
void LoadActbusyFile( const char *szScript ) { LoadFromValue( szScript, MANIFEST_ACTBUSY, false ); }
|
if (GET_HUDELEMENT( CHudCloseCaption ))
|
||||||
|
(GET_HUDELEMENT( CHudCloseCaption ))->AddCustomCaptionFile( pszFile, m_CloseCaptionFileNames );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Custom scheme loading
|
||||||
|
void ManifestLoadCustomScheme( const char *pszFile )
|
||||||
|
{
|
||||||
|
g_iCustomClientSchemeOverride = vgui::scheme()->LoadSchemeFromFile( pszFile, "CustomClientScheme" );
|
||||||
|
|
||||||
|
// Reload scheme
|
||||||
|
ClientModeShared *mode = ( ClientModeShared * )GetClientModeNormal();
|
||||||
|
if ( mode )
|
||||||
|
{
|
||||||
|
mode->ReloadScheme();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ManifestLoadCustomHudAnimations( const char *pszFile )
|
||||||
|
{
|
||||||
|
CBaseViewport *pViewport = dynamic_cast<CBaseViewport *>(g_pClientMode->GetViewport());
|
||||||
|
if (pViewport)
|
||||||
|
{
|
||||||
|
g_bUsingCustomHudAnimations = true;
|
||||||
|
if (!pViewport->LoadCustomHudAnimations( pszFile ))
|
||||||
|
{
|
||||||
|
g_bUsingCustomHudAnimations = false;
|
||||||
|
CGWarning( 0, CON_GROUP_MAPBASE_MISC, "Custom HUD animations file \"%s\" failed to load\n", pszFile );
|
||||||
|
pViewport->ReloadHudAnimations();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CGMsg( 1, CON_GROUP_MAPBASE_MISC, "Loaded custom HUD animations file \"%s\"\n", pszFile );;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ManifestLoadCustomHudLayout( const char *pszFile )
|
||||||
|
{
|
||||||
|
CBaseViewport *pViewport = dynamic_cast<CBaseViewport *>(g_pClientMode->GetViewport());
|
||||||
|
if (pViewport)
|
||||||
|
{
|
||||||
|
g_bUsingCustomHudLayout = true;
|
||||||
|
|
||||||
|
KeyValuesAD pConditions( "conditions" );
|
||||||
|
g_pClientMode->ComputeVguiResConditions( pConditions );
|
||||||
|
|
||||||
|
// reload the .res file from disk
|
||||||
|
pViewport->LoadControlSettings( pszFile, NULL, NULL, pConditions );
|
||||||
|
|
||||||
|
CGMsg( 1, CON_GROUP_MAPBASE_MISC, "Loaded custom HUD layout file \"%s\"\n", pszFile );;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void LoadCustomSoundscriptFile( const char *szScript ) { LoadFromValue( szScript, MANIFEST_SOUNDSCRIPTS, false ); }
|
||||||
|
void LoadCustomLocalizationFile( const char *szScript ) { LoadFromValue( szScript, MANIFEST_LOCALIZATION, false ); }
|
||||||
|
void LoadCustomSurfacePropsFile( const char *szScript ) { LoadFromValue( szScript, MANIFEST_SURFACEPROPS, false ); }
|
||||||
|
#ifdef CLIENT_DLL
|
||||||
|
void LoadCustomCloseCaptionFile( const char *szScript ) { LoadFromValue( szScript, MANIFEST_CLOSECAPTION, false ); }
|
||||||
|
void LoadCustomVGUIFile( const char *szScript ) { LoadFromValue( szScript, MANIFEST_VGUI, false ); }
|
||||||
|
void LoadCustomClientSchemeFile( const char *szScript ) { LoadFromValue( szScript, MANIFEST_CLIENTSCHEME, false ); }
|
||||||
|
void LoadCustomHUDAnimationsFile( const char *szScript ) { LoadFromValue( szScript, MANIFEST_HUDANIMATIONS, false ); }
|
||||||
|
void LoadCustomHUDLayoutFile( const char *szScript ) { LoadFromValue( szScript, MANIFEST_HUDLAYOUT, false ); }
|
||||||
|
#else
|
||||||
|
void LoadCustomTalkerFile( const char *szScript ) { LoadFromValue( szScript, MANIFEST_TALKER, false ); }
|
||||||
|
void LoadCustomActbusyFile( const char *szScript ) { LoadFromValue( szScript, MANIFEST_ACTBUSY, false ); }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *GetModName() { return g_iszGameName; }
|
const char *GetModName() { return g_iszGameName; }
|
||||||
bool IsCoreMapbase() { return g_bMapbaseCore; }
|
bool IsCoreMapbase() { return g_bMapbaseCore; }
|
||||||
|
|
||||||
|
#ifdef MAPBASE_VSCRIPT
|
||||||
|
void ScriptAddManifestFile( const char *szScript ) { AddManifestFile( szScript ); }
|
||||||
|
|
||||||
virtual void RegisterVScript()
|
virtual void RegisterVScript()
|
||||||
{
|
{
|
||||||
g_pScriptVM->RegisterInstance( this, "Mapbase" );
|
g_pScriptVM->RegisterInstance( this, "Mapbase" );
|
||||||
@ -599,14 +616,32 @@ END_DATADESC()
|
|||||||
|
|
||||||
#ifdef MAPBASE_VSCRIPT
|
#ifdef MAPBASE_VSCRIPT
|
||||||
BEGIN_SCRIPTDESC_ROOT( CMapbaseSystem, SCRIPT_SINGLETON "All-purpose Mapbase system primarily used for map-specific files." )
|
BEGIN_SCRIPTDESC_ROOT( CMapbaseSystem, SCRIPT_SINGLETON "All-purpose Mapbase system primarily used for map-specific files." )
|
||||||
|
|
||||||
DEFINE_SCRIPTFUNC_NAMED( ScriptAddManifestFile, "AddManifestFile", "Loads a manifest file." )
|
DEFINE_SCRIPTFUNC_NAMED( ScriptAddManifestFile, "AddManifestFile", "Loads a manifest file." )
|
||||||
DEFINE_SCRIPTFUNC( LoadSoundscriptFile, "Loads a custom soundscript file." )
|
DEFINE_SCRIPTFUNC( LoadCustomSoundscriptFile, "Loads a custom soundscript file." )
|
||||||
#ifndef CLIENT_DLL
|
DEFINE_SCRIPTFUNC( LoadCustomLocalizationFile, "Loads a custom localization file." )
|
||||||
DEFINE_SCRIPTFUNC( LoadTalkerFile, "Loads a custom talker file." )
|
DEFINE_SCRIPTFUNC( LoadCustomSurfacePropsFile, "Loads a custom surface properties file." )
|
||||||
DEFINE_SCRIPTFUNC( LoadActbusyFile, "Loads a custom actbusy file." )
|
#ifdef CLIENT_DLL
|
||||||
|
DEFINE_SCRIPTFUNC( LoadCustomCloseCaptionFile, "Loads a custom closed captions file." )
|
||||||
|
DEFINE_SCRIPTFUNC( LoadCustomVGUIFile, "Loads a custom VGUI definitions file." )
|
||||||
|
DEFINE_SCRIPTFUNC( LoadCustomClientSchemeFile, "Loads a custom ClientScheme.res override file." )
|
||||||
|
DEFINE_SCRIPTFUNC( LoadCustomHUDAnimationsFile, "Loads a custom HUD animations override file." )
|
||||||
|
DEFINE_SCRIPTFUNC( LoadCustomHUDLayoutFile, "Loads a custom HUD layout override file." )
|
||||||
|
#else
|
||||||
|
DEFINE_SCRIPTFUNC( LoadCustomTalkerFile, "Loads a custom talker file." )
|
||||||
|
DEFINE_SCRIPTFUNC( LoadCustomActbusyFile, "Loads a custom actbusy file." )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DEFINE_SCRIPTFUNC( GetModName, "Gets the name of the mod. This is the name which shows up on Steam, RPC, etc." )
|
DEFINE_SCRIPTFUNC( GetModName, "Gets the name of the mod. This is the name which shows up on Steam, RPC, etc." )
|
||||||
DEFINE_SCRIPTFUNC( IsCoreMapbase, "Indicates whether this is one of the original Mapbase mods or just a separate mod using its code." )
|
DEFINE_SCRIPTFUNC( IsCoreMapbase, "Indicates whether this is one of the original Mapbase mods or just a separate mod using its code." )
|
||||||
|
|
||||||
|
// Legacy
|
||||||
|
DEFINE_SCRIPTFUNC_NAMED( LoadCustomSoundscriptFile, "LoadSoundscriptFile", SCRIPT_HIDE )
|
||||||
|
#ifndef CLIENT_DLL
|
||||||
|
DEFINE_SCRIPTFUNC_NAMED( LoadCustomTalkerFile, "LoadTalkerFile", SCRIPT_HIDE )
|
||||||
|
DEFINE_SCRIPTFUNC_NAMED( LoadCustomActbusyFile, "LoadActbusyFile", SCRIPT_HIDE )
|
||||||
|
#endif
|
||||||
|
|
||||||
END_SCRIPTDESC();
|
END_SCRIPTDESC();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user