mirror of
https://github.com/mapbase-source/source-sdk-2013.git
synced 2025-04-29 16:39:38 +03:00
Fix map-specific response system #include paths
This commit is contained in:
parent
511ad2e6ef
commit
dccd6974e5
@ -1494,23 +1494,35 @@ void CResponseSystem::ParseInclude()
|
|||||||
#ifdef MAPBASE
|
#ifdef MAPBASE
|
||||||
char scriptfile[256];
|
char scriptfile[256];
|
||||||
GetCurrentScript( scriptfile, sizeof( scriptfile ) );
|
GetCurrentScript( scriptfile, sizeof( scriptfile ) );
|
||||||
|
V_RemoveDotSlashes( scriptfile );
|
||||||
|
|
||||||
|
const char *pScriptFile = scriptfile;
|
||||||
|
if (pScriptFile[0] == CORRECT_PATH_SEPARATOR || pScriptFile[0] == INCORRECT_PATH_SEPARATOR)
|
||||||
|
pScriptFile++;
|
||||||
|
|
||||||
// Gets first path
|
// Gets first path
|
||||||
// (for example, an #include from a file in resource/script/resp will return resource)
|
// (for example, an #include from a file in resource/script/resp will return resource)
|
||||||
size_t len = strlen(scriptfile)-1;
|
size_t len = strlen( pScriptFile )-1;
|
||||||
for (size_t i = 0; i < len; i++)
|
for (size_t i = 0; i < len; i++)
|
||||||
{
|
{
|
||||||
if (scriptfile[i] == CORRECT_PATH_SEPARATOR || scriptfile[i] == INCORRECT_PATH_SEPARATOR)
|
if (pScriptFile[i] == CORRECT_PATH_SEPARATOR || pScriptFile[i] == INCORRECT_PATH_SEPARATOR)
|
||||||
{
|
{
|
||||||
len = i;
|
len = i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Q_strncpy(includefile, scriptfile, len+1);
|
Q_strncpy(includefile, pScriptFile, len+1);
|
||||||
|
|
||||||
if (len+1 != strlen(scriptfile))
|
if (len+1 != strlen( pScriptFile ))
|
||||||
{
|
{
|
||||||
Q_strncat( includefile, "/", sizeof( includefile ) );
|
if (!includefile[0])
|
||||||
Q_strncat( includefile, token, sizeof( includefile ) );
|
{
|
||||||
|
CGMsg( 1, CON_GROUP_RESPONSE_SYSTEM, "%s: Unable to parse first folder from parent script \"%s\", falling back to 'scripts/'\n", token, pScriptFile );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Q_strncat( includefile, CORRECT_PATH_SEPARATOR_S, sizeof( includefile ) );
|
||||||
|
Q_strncat( includefile, token, sizeof( includefile ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
includefile[0] = '\0';
|
includefile[0] = '\0';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user