mirror of
https://github.com/ioquake/ioq3.git
synced 2024-11-10 07:11:46 +00:00
Show fs_homepath in Flatpak missing pk3 error
Tell users to copy pk3 files to fs_homepath as fs_basepath is not user writable.
This commit is contained in:
parent
118a533cbf
commit
a1fe522d3d
1 changed files with 45 additions and 10 deletions
|
@ -3529,6 +3529,8 @@ static void FS_CheckPak0( void )
|
||||||
const char *pakBasename;
|
const char *pakBasename;
|
||||||
qboolean founddemo = qfalse;
|
qboolean founddemo = qfalse;
|
||||||
unsigned int foundPak = 0, foundTA = 0;
|
unsigned int foundPak = 0, foundTA = 0;
|
||||||
|
qboolean installHome = qfalse;
|
||||||
|
char *installPath;
|
||||||
|
|
||||||
for( path = fs_searchpaths; path; path = path->next )
|
for( path = fs_searchpaths; path; path = path->next )
|
||||||
{
|
{
|
||||||
|
@ -3658,6 +3660,21 @@ static void FS_CheckPak0( void )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
{
|
||||||
|
const char *p;
|
||||||
|
|
||||||
|
// Users can't write to the default Flatpak fs_basepath
|
||||||
|
if( ( p = getenv( "FLATPAK_ID" ) ) != NULL && *p != '\0' )
|
||||||
|
installHome = qtrue;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if(installHome)
|
||||||
|
installPath = fs_homepath->string;
|
||||||
|
else
|
||||||
|
installPath = fs_basepath->string;
|
||||||
|
|
||||||
if(!com_standalone->integer && (foundPak & ((1<<NUM_ID_PAKS)-1)) != ((1<<NUM_ID_PAKS)-1))
|
if(!com_standalone->integer && (foundPak & ((1<<NUM_ID_PAKS)-1)) != ((1<<NUM_ID_PAKS)-1))
|
||||||
{
|
{
|
||||||
char errorText[MAX_STRING_CHARS] = "";
|
char errorText[MAX_STRING_CHARS] = "";
|
||||||
|
@ -3669,7 +3686,7 @@ static void FS_CheckPak0( void )
|
||||||
|
|
||||||
Q_strcat(errorText, sizeof(errorText),
|
Q_strcat(errorText, sizeof(errorText),
|
||||||
va(" from the \"%s\" directory in your Quake 3 install or CD-ROM to:\n\n"
|
va(" from the \"%s\" directory in your Quake 3 install or CD-ROM to:\n\n"
|
||||||
"%s%c%s%c\n\n", BASEGAME, fs_basepath->string, PATH_SEP, BASEGAME, PATH_SEP));
|
"%s%c%s%c\n\n", BASEGAME, installPath, PATH_SEP, BASEGAME, PATH_SEP));
|
||||||
|
|
||||||
Q_strcat(errorText, sizeof(errorText),
|
Q_strcat(errorText, sizeof(errorText),
|
||||||
"Quake 3 must be purchased to legitimately obtain pak0. "
|
"Quake 3 must be purchased to legitimately obtain pak0. "
|
||||||
|
@ -3677,10 +3694,19 @@ static void FS_CheckPak0( void )
|
||||||
"are freely available at:\n\n"
|
"are freely available at:\n\n"
|
||||||
"https://ioquake3.org/extras/patch-data/\n\n");
|
"https://ioquake3.org/extras/patch-data/\n\n");
|
||||||
|
|
||||||
|
if(installHome)
|
||||||
|
{
|
||||||
|
Q_strcat(errorText, sizeof(errorText),
|
||||||
|
va("Also check that every file "
|
||||||
|
"in the \"%s\" directory is present and readable", BASEGAME));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
Q_strcat(errorText, sizeof(errorText),
|
Q_strcat(errorText, sizeof(errorText),
|
||||||
va("Also check that your ioq3 executable is in "
|
va("Also check that your ioq3 executable is in "
|
||||||
"the correct place and that every file "
|
"the correct place and that every file "
|
||||||
"in the \"%s\" directory is present and readable", BASEGAME));
|
"in the \"%s\" directory is present and readable", BASEGAME));
|
||||||
|
}
|
||||||
|
|
||||||
Com_Error(ERR_FATAL, "%s", errorText);
|
Com_Error(ERR_FATAL, "%s", errorText);
|
||||||
}
|
}
|
||||||
|
@ -3697,7 +3723,7 @@ static void FS_CheckPak0( void )
|
||||||
|
|
||||||
Q_strcat(errorText, sizeof(errorText),
|
Q_strcat(errorText, sizeof(errorText),
|
||||||
va(" from the \"%s\" directory in your Quake 3 Team Arena install or CD-ROM to:\n\n"
|
va(" from the \"%s\" directory in your Quake 3 Team Arena install or CD-ROM to:\n\n"
|
||||||
"%s%c%s%c\n\n", BASETA, fs_basepath->string, PATH_SEP, BASETA, PATH_SEP));
|
"%s%c%s%c\n\n", BASETA, installPath, PATH_SEP, BASETA, PATH_SEP));
|
||||||
|
|
||||||
Q_strcat(errorText, sizeof(errorText),
|
Q_strcat(errorText, sizeof(errorText),
|
||||||
"Quake 3 Team Arena must be purchased to legitimately obtain pak0. "
|
"Quake 3 Team Arena must be purchased to legitimately obtain pak0. "
|
||||||
|
@ -3705,10 +3731,19 @@ static void FS_CheckPak0( void )
|
||||||
"are freely available at:\n\n"
|
"are freely available at:\n\n"
|
||||||
"https://ioquake3.org/extras/patch-data/\n\n");
|
"https://ioquake3.org/extras/patch-data/\n\n");
|
||||||
|
|
||||||
|
if(installHome)
|
||||||
|
{
|
||||||
|
Q_strcat(errorText, sizeof(errorText),
|
||||||
|
va("Also check that every file "
|
||||||
|
"in the \"%s\" directory is present and readable", BASETA));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
Q_strcat(errorText, sizeof(errorText),
|
Q_strcat(errorText, sizeof(errorText),
|
||||||
va("Also check that your ioq3 executable is in "
|
va("Also check that your ioq3 executable is in "
|
||||||
"the correct place and that every file "
|
"the correct place and that every file "
|
||||||
"in the \"%s\" directory is present and readable", BASETA));
|
"in the \"%s\" directory is present and readable", BASETA));
|
||||||
|
}
|
||||||
|
|
||||||
Com_Error(ERR_FATAL, "%s", errorText);
|
Com_Error(ERR_FATAL, "%s", errorText);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue