v1.4.4
This commit is contained in:
commit
9c94d113d3
10260 changed files with 1237388 additions and 0 deletions
85
attic/launcher/Commands.cpp
Normal file
85
attic/launcher/Commands.cpp
Normal file
|
@ -0,0 +1,85 @@
|
|||
#include "Commands.hpp"
|
||||
|
||||
#include <QProcess>
|
||||
#include <QFileInfo>
|
||||
#include <QMessageBox>
|
||||
|
||||
#if defined Q_OS_WIN
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
void startClient(QStringList arguments) {
|
||||
auto startStarbound = [](QString const& program, QStringList const& arguments, QString const& workingDirectory = QString()) {
|
||||
if (!QProcess::startDetached(program, arguments, workingDirectory))
|
||||
QMessageBox::warning(nullptr, "", "Error starting starbound process");
|
||||
};
|
||||
|
||||
#if defined Q_OS_WIN
|
||||
SYSTEM_INFO systemInfo;
|
||||
GetNativeSystemInfo(&systemInfo);
|
||||
|
||||
if (systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
|
||||
startStarbound("..\\win64\\starbound.exe", arguments, "..\\win64\\");
|
||||
else
|
||||
startStarbound(".\\starbound.exe", arguments);
|
||||
|
||||
#elif defined Q_OS_MACX
|
||||
if (!arguments.empty())
|
||||
arguments.prepend("--args");
|
||||
arguments.prepend("./Starbound.app");
|
||||
|
||||
startStarbound("/usr/bin/open", arguments);
|
||||
|
||||
#else
|
||||
startStarbound("./starbound", arguments);
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
void startServer() {
|
||||
auto startStarboundServer = [](QString const& program, QStringList const& arguments = QStringList(), QString const& workingDirectory = QString()) {
|
||||
if (!QProcess::startDetached(program, arguments, workingDirectory))
|
||||
QMessageBox::warning(nullptr, "", "Error starting starbound server process");
|
||||
};
|
||||
|
||||
|
||||
#if defined Q_OS_WIN
|
||||
startStarboundServer("cmd.exe", {"/C", ".\\starbound_server.exe"});
|
||||
|
||||
#elif defined Q_OS_MACX
|
||||
startStarboundServer("/usr/bin/open", {"-a", "/Applications/Utilities/Terminal.app", "./run-server.sh"});
|
||||
|
||||
#else
|
||||
std::vector<QString> xTermCandidates({
|
||||
"/usr/bin/x-terminal-emulator",
|
||||
"/usr/bin/konsole",
|
||||
"/usr/bin/gnome-terminal.wrapper",
|
||||
"/usr/bin/xfce4-terminal.wrapper",
|
||||
"/usr/bin/koi8rxterm",
|
||||
"/usr/bin/lxterm",
|
||||
"/usr/bin/uxterm",
|
||||
"/usr/bin/xterm"});
|
||||
QString destinationXTerm = "";
|
||||
for (auto const& candidate : xTermCandidates) {
|
||||
QFileInfo fileInfo(candidate);
|
||||
if (fileInfo.exists()) {
|
||||
if (fileInfo.isSymLink())
|
||||
fileInfo.setFile(fileInfo.symLinkTarget());
|
||||
|
||||
if (fileInfo.isExecutable()) {
|
||||
destinationXTerm = candidate;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (destinationXTerm.empty()) {
|
||||
QMessageBox::warning(nullptr, "",
|
||||
"Could not find a valid graphical terminal emulator, starting in the background instead, executable name is "
|
||||
"starbound_server, to shut down the server, use killall starbound_server");
|
||||
startStarboundServer("./starbound_server");
|
||||
} else {
|
||||
startStarboundServer(destinationXTerm, {"-e", "./starbound_server"});
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue