# HG changeset patch # User unc0rr # Date 1401997366 -14400 # Node ID b07288b729c44728cd3af5fb662a6ca27a287cb8 # Parent fdc342ebdc316b6e818fd3646693e677e623cfd9 Some further work on map optimizer diff -r fdc342ebdc31 -r b07288b729c4 QTfrontend/net/hwmapoptimizer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QTfrontend/net/hwmapoptimizer.cpp Thu Jun 05 23:42:46 2014 +0400 @@ -0,0 +1,54 @@ +#include "hwmapoptimizer.h" +#include "hwconsts.h" + +HWMapOptimizer::HWMapOptimizer(QObject *parent) : + TCPBase(parent) +{ +} + +bool HWMapOptimizer::couldBeRemoved() +{ + return !m_hasStarted; +} + +void HWMapOptimizer::optimizeMap(const Paths &paths) +{ + m_paths = paths; + + Start(true); +} + +QStringList HWMapOptimizer::getArguments() +{ + QStringList arguments; + arguments << "--internal"; + arguments << "--port"; + arguments << QString("%1").arg(ipc_port); + arguments << "--user-prefix"; + arguments << cfgdir->absolutePath(); + arguments << "--prefix"; + arguments << datadir->absolutePath(); + arguments << "--landpreview"; + return arguments; +} + +void HWMapOptimizer::onClientDisconnect() +{ + +} + +void HWMapOptimizer::SendToClientFirst() +{ + SendIPC("e$mapgen 4"); + + /*QByteArray data = m_drawMapData; + while(data.size() > 0) + { + QByteArray tmp = data; + tmp.truncate(200); + SendIPC("edraw " + tmp); + data.remove(0, 200); + } + + SendIPC("!");*/ +} diff -r fdc342ebdc31 -r b07288b729c4 QTfrontend/net/hwmapoptimizer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QTfrontend/net/hwmapoptimizer.h Thu Jun 05 23:42:46 2014 +0400 @@ -0,0 +1,30 @@ +#ifndef HWMAPOPTIMIZER_H +#define HWMAPOPTIMIZER_H + +#include "tcpBase.h" +#include "drawmapscene.h" + +class HWMapOptimizer : public TCPBase +{ + Q_OBJECT +public: + explicit HWMapOptimizer(QObject *parent = 0); + + void optimizeMap(const Paths & paths); + bool couldBeRemoved(); + +signals: + void optimizedMap(const Paths & paths); + +public slots: + +protected: + QStringList getArguments(); + void onClientDisconnect(); + void SendToClientFirst(); + +private: + Paths m_paths; +}; + +#endif // HWMAPOPTIMIZER_H diff -r fdc342ebdc31 -r b07288b729c4 project_files/hedgewars.pro --- a/project_files/hedgewars.pro Wed Jun 04 19:39:54 2014 +0200 +++ b/project_files/hedgewars.pro Thu Jun 05 23:42:46 2014 +0400 @@ -116,7 +116,8 @@ ../QTfrontend/ui/widget/lineeditcursor.h \ ../QTfrontend/servermessages.h \ ../QTfrontend/ui/widget/roomnameprompt.h \ - ../QTfrontend/weapons.h + ../QTfrontend/weapons.h \ + ../QTfrontend/net/hwmapoptimizer.h SOURCES += ../QTfrontend/model/ammoSchemeModel.cpp \ @@ -214,7 +215,8 @@ ../QTfrontend/util/MessageDialog.cpp \ ../QTfrontend/ui/widget/feedbackdialog.cpp \ ../QTfrontend/ui/widget/lineeditcursor.cpp \ - ../QTfrontend/ui/widget/roomnameprompt.cpp + ../QTfrontend/ui/widget/roomnameprompt.cpp \ + ../QTfrontend/net/hwmapoptimizer.cpp TRANSLATIONS += ../share/hedgewars/Data/Locale/hedgewars_ar.ts \