Rip out the Pak folder feature. We organize using pk3dirs anyway
This commit is contained in:
parent
13aa866ef3
commit
5985704a2c
6 changed files with 0 additions and 251 deletions
|
@ -353,62 +353,6 @@ void paths_init()
|
||||||
g_strGameToolsPath = g_strAppPath;
|
g_strGameToolsPath = g_strAppPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool check_version_file(const char *filename, const char *version)
|
|
||||||
{
|
|
||||||
TextFileInputStream file(filename);
|
|
||||||
if (!file.failed()) {
|
|
||||||
char buf[10];
|
|
||||||
buf[file.read(buf, 9)] = '\0';
|
|
||||||
|
|
||||||
// chomp it (the hard way)
|
|
||||||
int chomp = 0;
|
|
||||||
while (buf[chomp] >= '0' && buf[chomp] <= '9') {
|
|
||||||
chomp++;
|
|
||||||
}
|
|
||||||
buf[chomp] = '\0';
|
|
||||||
|
|
||||||
return string_equal(buf, version);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool check_version()
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
#if 0
|
|
||||||
// a safe check to avoid people running broken installations
|
|
||||||
// (otherwise, they run it, crash it, and blame us for not forcing them hard enough to pay attention while installing)
|
|
||||||
// make something idiot proof and someone will make better idiots, this may be overkill
|
|
||||||
// let's leave it disabled in debug mode in any case
|
|
||||||
// http://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=431
|
|
||||||
if (GDEF_DEBUG) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
// locate and open WorldSpawn_MAJOR and WorldSpawn_MINOR
|
|
||||||
bool bVerIsGood = true;
|
|
||||||
{
|
|
||||||
StringOutputStream ver_file_name(256);
|
|
||||||
ver_file_name << AppPath_get() << "WorldSpawn_MAJOR";
|
|
||||||
bVerIsGood = check_version_file(ver_file_name.c_str(), WorldSpawn_MAJOR_VERSION);
|
|
||||||
}
|
|
||||||
{
|
|
||||||
StringOutputStream ver_file_name(256);
|
|
||||||
ver_file_name << AppPath_get() << "WorldSpawn_MINOR";
|
|
||||||
bVerIsGood = check_version_file(ver_file_name.c_str(), WorldSpawn_MINOR_VERSION);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!bVerIsGood) {
|
|
||||||
StringOutputStream msg(256);
|
|
||||||
msg
|
|
||||||
<< "This editor binary (" WorldSpawn_VERSION ") doesn't match what the latest setup has configured in this directory\n"
|
|
||||||
"Make sure you run the right/latest editor binary you installed\n"
|
|
||||||
<< AppPath_get();
|
|
||||||
ui::alert(ui::root, msg.c_str(), "Radiant", ui::alert_type::OK, ui::alert_icon::Default);
|
|
||||||
}
|
|
||||||
return bVerIsGood;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void create_global_pid()
|
void create_global_pid()
|
||||||
{
|
{
|
||||||
/*!
|
/*!
|
||||||
|
@ -611,12 +555,6 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
paths_init();
|
paths_init();
|
||||||
|
|
||||||
if (!check_version()) {
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
create_global_pid();
|
create_global_pid();
|
||||||
|
|
||||||
GlobalPreferences_Init();
|
GlobalPreferences_Init();
|
||||||
|
|
|
@ -331,66 +331,6 @@ void setEnginePath(const char *path)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pak Path
|
|
||||||
|
|
||||||
CopiedString g_strPakPath[g_pakPathCount] = {"", "", "", "", ""};
|
|
||||||
ModuleObservers g_pakPathObservers[g_pakPathCount];
|
|
||||||
std::size_t g_pakpath_unrealised[g_pakPathCount] = {1, 1, 1, 1, 1};
|
|
||||||
|
|
||||||
void Radiant_attachPakPathObserver(int num, ModuleObserver &observer)
|
|
||||||
{
|
|
||||||
g_pakPathObservers[num].attach(observer);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Radiant_detachPakPathObserver(int num, ModuleObserver &observer)
|
|
||||||
{
|
|
||||||
g_pakPathObservers[num].detach(observer);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void PakPath_Realise(int num)
|
|
||||||
{
|
|
||||||
if (--g_pakpath_unrealised[num] == 0) {
|
|
||||||
g_pakPathObservers[num].realise();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const char *PakPath_get(int num)
|
|
||||||
{
|
|
||||||
std::string message = "PakPath_get: pak path " + std::to_string(num) + " not realised";
|
|
||||||
ASSERT_MESSAGE(g_pakpath_unrealised[num] == 0, message.c_str());
|
|
||||||
return g_strPakPath[num].c_str();
|
|
||||||
}
|
|
||||||
|
|
||||||
void PakPath_Unrealise(int num)
|
|
||||||
{
|
|
||||||
if (++g_pakpath_unrealised[num] == 1) {
|
|
||||||
g_pakPathObservers[num].unrealise();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void setPakPath(int num, const char *path)
|
|
||||||
{
|
|
||||||
if (!g_strcmp0(path, "")) {
|
|
||||||
g_strPakPath[num] = "";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
StringOutputStream buffer(256);
|
|
||||||
buffer << DirectoryCleaned(path);
|
|
||||||
if (!path_equal(buffer.c_str(), g_strPakPath[num].c_str())) {
|
|
||||||
std::string message = "Changing Pak Path " + std::to_string(num);
|
|
||||||
ScopeDisableScreenUpdates disableScreenUpdates("Processing...", message.c_str());
|
|
||||||
|
|
||||||
PakPath_Unrealise(num);
|
|
||||||
|
|
||||||
g_strPakPath[num] = buffer.c_str();
|
|
||||||
|
|
||||||
PakPath_Realise(num);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// App Path
|
// App Path
|
||||||
|
|
||||||
CopiedString g_strAppPath; ///< holds the full path of the executable
|
CopiedString g_strAppPath; ///< holds the full path of the executable
|
||||||
|
@ -428,7 +368,6 @@ const char *SettingsPath_get()
|
||||||
(or other games)
|
(or other games)
|
||||||
this is one of the main variables that are configured by the game selection on startup
|
this is one of the main variables that are configured by the game selection on startup
|
||||||
[GameToolsPath]/plugins
|
[GameToolsPath]/plugins
|
||||||
[GameToolsPath]/modules
|
|
||||||
and also q3map, bspc
|
and also q3map, bspc
|
||||||
*/
|
*/
|
||||||
CopiedString g_strGameToolsPath; ///< this is set by g_GamesDialog
|
CopiedString g_strGameToolsPath; ///< this is set by g_GamesDialog
|
||||||
|
@ -450,66 +389,6 @@ struct EnginePath {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PakPath0 {
|
|
||||||
static void Export(const CopiedString &self, const Callback<void(const char *)> &returnz)
|
|
||||||
{
|
|
||||||
returnz(self.c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
static void Import(CopiedString &self, const char *value)
|
|
||||||
{
|
|
||||||
setPakPath(0, value);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
struct PakPath1 {
|
|
||||||
static void Export(const CopiedString &self, const Callback<void(const char *)> &returnz)
|
|
||||||
{
|
|
||||||
returnz(self.c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
static void Import(CopiedString &self, const char *value)
|
|
||||||
{
|
|
||||||
setPakPath(1, value);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
struct PakPath2 {
|
|
||||||
static void Export(const CopiedString &self, const Callback<void(const char *)> &returnz)
|
|
||||||
{
|
|
||||||
returnz(self.c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
static void Import(CopiedString &self, const char *value)
|
|
||||||
{
|
|
||||||
setPakPath(2, value);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
struct PakPath3 {
|
|
||||||
static void Export(const CopiedString &self, const Callback<void(const char *)> &returnz)
|
|
||||||
{
|
|
||||||
returnz(self.c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
static void Import(CopiedString &self, const char *value)
|
|
||||||
{
|
|
||||||
setPakPath(3, value);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
struct PakPath4 {
|
|
||||||
static void Export(const CopiedString &self, const Callback<void(const char *)> &returnz)
|
|
||||||
{
|
|
||||||
returnz(self.c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
static void Import(CopiedString &self, const char *value)
|
|
||||||
{
|
|
||||||
setPakPath(4, value);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
bool g_disableEnginePath = false;
|
bool g_disableEnginePath = false;
|
||||||
bool g_disableHomePath = false;
|
bool g_disableHomePath = false;
|
||||||
|
|
||||||
|
@ -526,27 +405,6 @@ void Paths_constructPreferences(PreferencesPage &page)
|
||||||
"", "Do not use Home Path",
|
"", "Do not use Home Path",
|
||||||
g_disableHomePath
|
g_disableHomePath
|
||||||
);
|
);
|
||||||
|
|
||||||
for (int i = 0; i < g_pakPathCount; i++) {
|
|
||||||
std::string label = "Pak Path " + std::to_string(i);
|
|
||||||
switch (i) {
|
|
||||||
case 0:
|
|
||||||
page.appendPathEntry(label.c_str(), true, make_property<PakPath0>(g_strPakPath[i]));
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
page.appendPathEntry(label.c_str(), true, make_property<PakPath1>(g_strPakPath[i]));
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
page.appendPathEntry(label.c_str(), true, make_property<PakPath2>(g_strPakPath[i]));
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
page.appendPathEntry(label.c_str(), true, make_property<PakPath3>(g_strPakPath[i]));
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
page.appendPathEntry(label.c_str(), true, make_property<PakPath4>(g_strPakPath[i]));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Paths_constructPage(PreferenceGroup &group)
|
void Paths_constructPage(PreferenceGroup &group)
|
||||||
|
@ -688,12 +546,6 @@ void Radiant_loadModulesFromRoot(const char *directory)
|
||||||
path << directory << g_pluginsDir;
|
path << directory << g_pluginsDir;
|
||||||
Radiant_loadModules(path.c_str());
|
Radiant_loadModules(path.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!string_equal(g_pluginsDir, g_modulesDir)) {
|
|
||||||
StringOutputStream path(256);
|
|
||||||
path << directory << g_modulesDir;
|
|
||||||
Radiant_loadModules(path.c_str());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Make COLOR_BRUSHES override worldspawn eclass colour.
|
//! Make COLOR_BRUSHES override worldspawn eclass colour.
|
||||||
|
@ -3586,11 +3438,6 @@ void MainFrame_Construct()
|
||||||
GlobalPreferenceSystem().registerPreference("DisableEnginePath", make_property_string(g_disableEnginePath));
|
GlobalPreferenceSystem().registerPreference("DisableEnginePath", make_property_string(g_disableEnginePath));
|
||||||
GlobalPreferenceSystem().registerPreference("DisableHomePath", make_property_string(g_disableHomePath));
|
GlobalPreferenceSystem().registerPreference("DisableHomePath", make_property_string(g_disableHomePath));
|
||||||
|
|
||||||
for (int i = 0; i < g_pakPathCount; i++) {
|
|
||||||
std::string label = "PakPath" + std::to_string(i);
|
|
||||||
GlobalPreferenceSystem().registerPreference(label.c_str(), make_property_string(g_strPakPath[i]));
|
|
||||||
}
|
|
||||||
|
|
||||||
g_Layout_enablePluginToolbar.useLatched();
|
g_Layout_enablePluginToolbar.useLatched();
|
||||||
|
|
||||||
Layout_registerPreferencesPage();
|
Layout_registerPreferencesPage();
|
||||||
|
|
|
@ -231,11 +231,6 @@ const char *QERApp_GetGamePath();
|
||||||
extern bool g_disableEnginePath;
|
extern bool g_disableEnginePath;
|
||||||
extern bool g_disableHomePath;
|
extern bool g_disableHomePath;
|
||||||
|
|
||||||
const int g_pakPathCount = 5;
|
|
||||||
extern CopiedString g_strPakPath[g_pakPathCount];
|
|
||||||
|
|
||||||
const char *PakPath_get(int num);
|
|
||||||
|
|
||||||
extern CopiedString g_strAppPath;
|
extern CopiedString g_strAppPath;
|
||||||
|
|
||||||
const char *AppPath_get();
|
const char *AppPath_get();
|
||||||
|
@ -247,7 +242,6 @@ const char *SettingsPath_get();
|
||||||
const char *LocalRcPath_get(void);
|
const char *LocalRcPath_get(void);
|
||||||
|
|
||||||
const char *const g_pluginsDir = "plugins/"; ///< name of plugins directory, always sub-directory of toolspath
|
const char *const g_pluginsDir = "plugins/"; ///< name of plugins directory, always sub-directory of toolspath
|
||||||
const char *const g_modulesDir = "modules/"; ///< name of modules directory, always sub-directory of toolspath
|
|
||||||
|
|
||||||
extern CopiedString g_strGameToolsPath;
|
extern CopiedString g_strGameToolsPath;
|
||||||
|
|
||||||
|
|
|
@ -1649,15 +1649,6 @@ bool Map_ImportFile(const char *filename)
|
||||||
output.push_string(g_qeglobals.m_userEnginePath.c_str());
|
output.push_string(g_qeglobals.m_userEnginePath.c_str());
|
||||||
output.push_string("\"");
|
output.push_string("\"");
|
||||||
|
|
||||||
// extra pakpaths
|
|
||||||
for (int i = 0; i < g_pakPathCount; i++) {
|
|
||||||
if (g_strcmp0(g_strPakPath[i].c_str(), "")) {
|
|
||||||
output.push_string(" -fs_pakpath \"");
|
|
||||||
output.push_string(g_strPakPath[i].c_str());
|
|
||||||
output.push_string("\"");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// extra switches
|
// extra switches
|
||||||
if (g_disableEnginePath) {
|
if (g_disableEnginePath) {
|
||||||
output.push_string(" -fs_nobasepath ");
|
output.push_string(" -fs_nobasepath ");
|
||||||
|
|
|
@ -47,12 +47,6 @@ ui::Image new_plugin_image(const char *filename)
|
||||||
if (auto image = image_new_from_file_with_mask(fullpath.c_str())) { return image; }
|
if (auto image = image_new_from_file_with_mask(fullpath.c_str())) { return image; }
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
|
||||||
StringOutputStream fullpath(256);
|
|
||||||
fullpath << AppPath_get() << g_modulesDir << "bitmaps/" << filename;
|
|
||||||
if (auto image = image_new_from_file_with_mask(fullpath.c_str())) { return image; }
|
|
||||||
}
|
|
||||||
|
|
||||||
return image_new_missing();
|
return image_new_missing();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -100,13 +100,6 @@ void QE_InitVFS()
|
||||||
globalBasePath << globalRoot << basegame << '/';
|
globalBasePath << globalRoot << basegame << '/';
|
||||||
GlobalFileSystem().initDirectory(globalBasePath.c_str());
|
GlobalFileSystem().initDirectory(globalBasePath.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
// extra pakpaths
|
|
||||||
for (int i = 0; i < g_pakPathCount; i++) {
|
|
||||||
if (g_strcmp0(g_strPakPath[i].c_str(), "")) {
|
|
||||||
GlobalFileSystem().initDirectory(g_strPakPath[i].c_str());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int g_numbrushes = 0;
|
int g_numbrushes = 0;
|
||||||
|
@ -166,14 +159,6 @@ void bsp_init()
|
||||||
build_set_variable("GameName", gamename_get());
|
build_set_variable("GameName", gamename_get());
|
||||||
|
|
||||||
StringBuffer ExtraQ3map2Args;
|
StringBuffer ExtraQ3map2Args;
|
||||||
// extra pakpaths
|
|
||||||
for (int i = 0; i < g_pakPathCount; i++) {
|
|
||||||
if (g_strcmp0(g_strPakPath[i].c_str(), "")) {
|
|
||||||
ExtraQ3map2Args.push_string(" -fs_pakpath \"");
|
|
||||||
ExtraQ3map2Args.push_string(g_strPakPath[i].c_str());
|
|
||||||
ExtraQ3map2Args.push_string("\"");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// extra switches
|
// extra switches
|
||||||
if (g_disableEnginePath) {
|
if (g_disableEnginePath) {
|
||||||
|
|
Loading…
Reference in a new issue