Skip to content

Commit

Permalink
Merge branch 'misc-pigg-fix' of https://github.com/miles200/Segs into…
Browse files Browse the repository at this point in the history
… miles200-misc-pigg-fix
  • Loading branch information
nemerle committed Mar 17, 2020
2 parents 8088a04 + 7023b35 commit 773d541
Show file tree
Hide file tree
Showing 12 changed files with 323 additions and 157 deletions.
2 changes: 1 addition & 1 deletion 3rd_party/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ if(BUILD_COX_MAP_VIEWER)
else()
endif()
include(ExternalProject_ACE.cmake)
if(MINGW) # ERICEDIT: If the OS is Windows:
if(MINGW OR MSVC) # ERICEDIT: If the OS is Windows:
add_custom_target( # ERICEDIT: Add a target that depends on authserver.
libace ALL
DEPENDS ace_IMP
Expand Down
5 changes: 0 additions & 5 deletions 3rd_party/ExternalProject_ACE.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,6 @@ add_dependencies(ace_IMP ACE_BUILD)
SET_PROPERTY(TARGET ace_IMP APPEND PROPERTY IMPORTED_LOCATION ${ace_LIBRARY_SHARED} )
SET_PROPERTY(TARGET ace_IMP APPEND PROPERTY IMPORTED_IMPLIB ${ace_LIBRARY_IMP} )

if(MSVC)
SET_PROPERTY(TARGET ace_IMP APPEND PROPERTY IMPORTED_LOCATION_DEBUG ${ace_LIBRARY_SHARED_D} )
SET_PROPERTY(TARGET ace_IMP APPEND PROPERTY IMPORTED_IMPLIB_DEBUG ${ace_LIBRARY_IMP_D} )
endif()

set_property(TARGET ace_IMP APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS ACE_HAS_DLL=1)
set_property(TARGET ace_IMP APPEND PROPERTY INTERFACE_LINK_LIBRARIES Threads::Threads)
message(${ace_LIBRARY_SHARED})
Expand Down
Binary file modified 3rd_party/naked_ace.tgz
Binary file not shown.
4 changes: 4 additions & 0 deletions Projects/CoX/Utilities/SEGSAdmin/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ set(SEGSADMIN_SOURCES
SelectScriptDialog.ui
SyntaxHighlighter.cpp
SyntaxHighlighter.h
Worker.cpp
Worker.h
Helpers.cpp
Helpers.h
)
add_executable(SEGSAdmin WIN32 ${SEGSADMIN_SOURCES})
target_link_libraries(SEGSAdmin PUBLIC SEGS_Components Qt5::Core Qt5::Widgets Qt5::Network)
Expand Down
23 changes: 23 additions & 0 deletions Projects/CoX/Utilities/SEGSAdmin/Helpers.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#include "Helpers.h"
#include "Settings.h"

#include <QSettings>
#include <QFileInfo>

Helpers::Helpers()
{

}

QString Helpers::getMapsDir()
{
// Get maps_dir from settings.cfg
QFileInfo config_file_info = Settings::getSettingsPath();
QString config_file_path = config_file_info.absoluteFilePath();
QSettings config_file(config_file_path, QSettings::IniFormat);
config_file.beginGroup("MapServer");
QString maps_dir = config_file.value("maps","").toString();
config_file.endGroup();

return maps_dir;
}
13 changes: 13 additions & 0 deletions Projects/CoX/Utilities/SEGSAdmin/Helpers.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#ifndef HELPERS_H
#define HELPERS_H

#include <QObject>

class Helpers
{
public:
Helpers();
static QString getMapsDir();
};

#endif // HELPERS_H
28 changes: 20 additions & 8 deletions Projects/CoX/Utilities/SEGSAdmin/SEGSAdminTool.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
#include "UpdateDetailDialog.h"
#include "AboutDialog.h"
#include "SelectScriptDialog.h"
#include "Helpers.h"
#include "Worker.h"

#include "Settings.h"
#include "Version.h"
Expand Down Expand Up @@ -84,14 +86,13 @@ SEGSAdminTool::SEGSAdminTool(QWidget *parent) :
connect(m_add_user_dialog,&AddNewUserDialog::sendInput,this,&SEGSAdminTool::commit_user);

// SetUpData Signals
connect(m_set_up_data,&SetUpData::dataSetupComplete,this,&SEGSAdminTool::check_data_and_dir);
connect(m_set_up_data,&SetUpData::dataSetupComplete,this,&SEGSAdminTool::checkDataAndDir);
connect(m_set_up_data,&SetUpData::getMapsDir,m_settings_dialog,&SettingsDialog::send_maps_dir);

// SettingsDialog Signals
connect(m_settings_dialog,&SettingsDialog::checkForConfigFile,this,&SEGSAdminTool::check_for_config_file);
connect(m_settings_dialog,&SettingsDialog::check_data_and_dir,this,&SEGSAdminTool::check_data_and_dir);
connect(m_settings_dialog,&SettingsDialog::sendMapsDirConfigCheck,this,&SEGSAdminTool::check_data_and_dir);
connect(m_settings_dialog,&SettingsDialog::sendMapsDir,m_set_up_data,&SetUpData::create_default_directory);
connect(m_settings_dialog,&SettingsDialog::check_data_and_dir,this,&SEGSAdminTool::checkDataAndDir);
connect(m_settings_dialog,&SettingsDialog::sendMapsDirConfigCheck,this,&SEGSAdminTool::checkDataAndDir);

// Network Manager Signals
connect(this,&SEGSAdminTool::getLatestReleases,m_network_manager,&NetworkManager::get_latest_releases);
Expand All @@ -110,16 +111,25 @@ SEGSAdminTool::~SEGSAdminTool()
delete ui;
}

void SEGSAdminTool::check_data_and_dir(QString maps_dir) // Checks for data sub dirs and maps dir
void SEGSAdminTool::checkDataAndDir() // Checks for data sub dirs and maps dir
{
QPixmap check_icon(":icons/Resources/check.svg");
QPixmap alert_triangle(":icons/Resources/alert-triangle.svg");
ui->output->appendPlainText("Checking for correct data and maps directories...");
QStringList data_dirs = {"data/bin","data/geobin","data/object_library"}; // Currently only checking for these 3 sub dirs, check for all files could be overkill
QStringList data_dirs = {
"data/bin",
"data/converted",
"data/ent_types",
"data/geobin",
"data/object_library",
"data/scenes",
"data/shaders",
"data/texts"
};
bool all_maps_exist = true;
for(const QString &map_name : g_map_names)
{
all_maps_exist &= QDir(maps_dir+"/"+map_name).exists();
all_maps_exist &= QDir(Helpers::getMapsDir()+"/"+map_name).exists();
if(!all_maps_exist)
break; // at least one map dir is missing, we can finish early
}
Expand All @@ -128,7 +138,10 @@ void SEGSAdminTool::check_data_and_dir(QString maps_dir) // Checks for data sub
{
all_data_dirs_exist &= QDir(data_dir).exists();
if(!all_data_dirs_exist)
{
ui->output->appendPlainText("Error: Data directory missing: " + data_dir);
break; // at least one map dir is missing, we can finish early
}
}
if(all_data_dirs_exist && all_maps_exist)
{
Expand All @@ -140,7 +153,6 @@ void SEGSAdminTool::check_data_and_dir(QString maps_dir) // Checks for data sub
ui->icon_status_data->setPixmap(alert_triangle);
ui->output->appendPlainText("WARNING: We couldn't find the correct data and/or maps directories. Please use the server setup to your left");
}

}

void SEGSAdminTool::commit_user(QString username, QString password, QString acclevel)
Expand Down
2 changes: 1 addition & 1 deletion Projects/CoX/Utilities/SEGSAdmin/SEGSAdminTool.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public slots:
void read_createDB();
void read_segsserver();
void check_for_config_file();
void check_data_and_dir(QString maps_dir);
void checkDataAndDir();
void read_release_info(const QString &error);
void check_config_version(QString filePath);

Expand Down
Loading

0 comments on commit 773d541

Please sign in to comment.