summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client.cpp9
-rw-r--r--src/client.h5
-rw-r--r--src/dragdrop.h22
-rw-r--r--src/gui/windows/updaterwindow.cpp20
-rw-r--r--src/gui/windows/updaterwindow.h50
-rw-r--r--src/net/download.cpp4
-rw-r--r--src/net/download.h2
-rw-r--r--src/net/serverinfo.h7
8 files changed, 62 insertions, 57 deletions
diff --git a/src/client.cpp b/src/client.cpp
index 00da29af0..d8cd1f6f2 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -76,6 +76,7 @@
#include "gui/widgets/desktop.h"
#include "net/chathandler.h"
+#include "net/download.h"
#include "net/gamehandler.h"
#include "net/generalhandler.h"
#include "net/guildhandler.h"
@@ -186,6 +187,7 @@ int serverVersion = 0;
unsigned int tmwServerVersion = 0;
int start_time;
unsigned int mLastHost = 0;
+unsigned long mSearchHash = 0;
int textures_count = 0;
#ifdef WIN32
@@ -244,13 +246,13 @@ Client::Client(const Options &options) :
mOldState(STATE_START),
mIcon(nullptr),
mCaption(),
+ mOldUpdates(),
mFpsManager(),
mSkin(nullptr),
+ mGuiAlpha(1.0F),
mButtonPadding(1),
mButtonSpacing(3),
mKeyboardHeight(0),
- mOldUpdates(),
- mGuiAlpha(1.0F),
mLimitFps(false),
mConfigAutoSaved(false),
mIsMinimized(false),
@@ -1301,6 +1303,9 @@ int Client::gameExec()
loginData.updateType
= serverConfig.getValue("updateType", 1);
+ mSearchHash = Net::Download::adlerBuffer(
+ const_cast<char*>(mCurrentServer.hostname.c_str()),
+ mCurrentServer.hostname.size());
if (mOptions.username.empty()
|| mOptions.password.empty())
{
diff --git a/src/client.h b/src/client.h
index fd1942684..0d7749e3f 100644
--- a/src/client.h
+++ b/src/client.h
@@ -438,13 +438,13 @@ private:
SDL_Surface *mIcon;
std::string mCaption;
+ std::string mOldUpdates;
FPSmanager mFpsManager;
Skin *mSkin;
+ float mGuiAlpha;
int mButtonPadding;
int mButtonSpacing;
int mKeyboardHeight;
- std::string mOldUpdates;
- float mGuiAlpha;
bool mLimitFps;
bool mConfigAutoSaved;
bool mIsMinimized;
@@ -455,5 +455,6 @@ private:
extern Client *client;
extern unsigned int mLastHost;
+extern unsigned long mSearchHash;
#endif // CLIENT_H
diff --git a/src/dragdrop.h b/src/dragdrop.h
index 99cfb1ee7..3623d548c 100644
--- a/src/dragdrop.h
+++ b/src/dragdrop.h
@@ -54,14 +54,14 @@ class DragDrop final
{
public:
DragDrop(Item *const item, const DragDropSource source) :
- mItem(item ? item->getId() : 0),
- mItemColor(item ? item->getColor() : 1),
mItemImage(item ? item->getImage() : nullptr),
- mSelItem(0),
- mSelItemColor(1),
- mSource(source),
mText(),
- mTag(-1)
+ mSource(source),
+ mItem(item ? item->getId() : 0),
+ mSelItem(0),
+ mTag(-1),
+ mItemColor(item ? item->getColor() : 1),
+ mSelItemColor(1)
{
if (mItemImage)
mItemImage->incRef();
@@ -250,14 +250,14 @@ class DragDrop final
}
private:
- int mItem;
- uint8_t mItemColor;
Image *mItemImage;
- int mSelItem;
- uint8_t mSelItemColor;
- DragDropSource mSource;
std::string mText;
+ DragDropSource mSource;
+ int mItem;
+ int mSelItem;
int mTag;
+ uint8_t mItemColor;
+ uint8_t mSelItemColor;
};
extern DragDrop dragDrop;
diff --git a/src/gui/windows/updaterwindow.cpp b/src/gui/windows/updaterwindow.cpp
index e72308da7..507cdfd16 100644
--- a/src/gui/windows/updaterwindow.cpp
+++ b/src/gui/windows/updaterwindow.cpp
@@ -159,27 +159,19 @@ UpdaterWindow::UpdaterWindow(const std::string &restrict updateHost,
Window(_("Updating..."), false, nullptr, "update.xml"),
ActionListener(),
KeyListener(),
+ mDownloadProgress(0.0F),
mDownloadStatus(UPDATE_NEWS),
mUpdateHost(updateHost),
mUpdatesDir(updatesDir),
mUpdatesDirReal(updatesDir),
mCurrentFile("news.txt"),
mNewLabelCaption(),
- mDownloadProgress(0.0F),
mDownloadMutex(),
mCurrentChecksum(0),
- mStoreInMemory(true),
- mDownloadComplete(true),
- mUserCancel(false),
- mDownloadedBytes(0),
mMemoryBuffer(nullptr),
mDownload(nullptr),
mUpdateFiles(),
mTempUpdateFiles(),
- mUpdateIndex(0),
- mUpdateIndexOffset(0),
- mLoadUpdates(applyUpdates),
- mUpdateType(updateType),
// TRANSLATORS: updater window label
mLabel(new Label(this, _("Connecting..."))),
// TRANSLATORS: updater window button
@@ -192,7 +184,15 @@ UpdaterWindow::UpdaterWindow(const std::string &restrict updateHost,
"browserbox.xml")),
mScrollArea(new ScrollArea(this, mBrowserBox,
true, "update_background.xml")),
- mUpdateServerPath(mUpdateHost)
+ mUpdateServerPath(mUpdateHost),
+ mDownloadedBytes(0),
+ mUpdateIndex(0),
+ mUpdateIndexOffset(0),
+ mUpdateType(updateType),
+ mStoreInMemory(true),
+ mDownloadComplete(true),
+ mUserCancel(false),
+ mLoadUpdates(applyUpdates)
{
setWindowName("UpdaterWindow");
setResizable(true);
diff --git a/src/gui/windows/updaterwindow.h b/src/gui/windows/updaterwindow.h
index 79d764752..638f88faf 100644
--- a/src/gui/windows/updaterwindow.h
+++ b/src/gui/windows/updaterwindow.h
@@ -198,6 +198,9 @@ private:
UPDATE_RESOURCES2
};
+ /** The new progress value to be set in the logic method. */
+ float mDownloadProgress;
+
/** Status of the current download. */
UpdateDownloadStatus mDownloadStatus;
@@ -215,9 +218,6 @@ private:
/** The new label caption to be set in the logic method. */
std::string mNewLabelCaption;
- /** The new progress value to be set in the logic method. */
- float mDownloadProgress;
-
// The mutex used to guard access to mNewLabelCaption
// and mDownloadProgress.
Mutex mDownloadMutex;
@@ -225,18 +225,6 @@ private:
/** The Adler32 checksum of the file currently downloading. */
unsigned long mCurrentChecksum;
- /** A flag to indicate whether to use a memory buffer or a regular file. */
- bool mStoreInMemory;
-
- /** Flag that show if current download is complete. */
- bool mDownloadComplete;
-
- /** Flag that show if the user has canceled the update. */
- bool mUserCancel;
-
- /** Byte count currently downloaded in mMemoryBuffer. */
- int mDownloadedBytes;
-
/** Buffer for files downloaded to memory. */
char *mMemoryBuffer;
@@ -249,24 +237,36 @@ private:
/** List of temp files to download. */
std::vector<UpdateFile> mTempUpdateFiles;
+ Label *mLabel; /**< Progress bar caption. */
+ Button *mCancelButton; /**< Button to stop the update process. */
+ Button *mPlayButton; /**< Button to start playing. */
+ ProgressBar *mProgressBar; /**< Update progress bar. */
+ BrowserBox *mBrowserBox; /**< Box to display news. */
+ ScrollArea *mScrollArea; /**< Used to scroll news box. */
+ std::string mUpdateServerPath;
+
+ /** Byte count currently downloaded in mMemoryBuffer. */
+ int mDownloadedBytes;
+
/** Index of the file to be downloaded. */
unsigned int mUpdateIndex;
/** Index offset for disaplay downloaded file. */
unsigned int mUpdateIndexOffset;
- /** Tells ~UpdaterWindow() if it should load updates */
- bool mLoadUpdates;
-
int mUpdateType;
- Label *mLabel; /**< Progress bar caption. */
- Button *mCancelButton; /**< Button to stop the update process. */
- Button *mPlayButton; /**< Button to start playing. */
- ProgressBar *mProgressBar; /**< Update progress bar. */
- BrowserBox *mBrowserBox; /**< Box to display news. */
- ScrollArea *mScrollArea; /**< Used to scroll news box. */
- std::string mUpdateServerPath;
+ /** A flag to indicate whether to use a memory buffer or a regular file. */
+ bool mStoreInMemory;
+
+ /** Flag that show if current download is complete. */
+ bool mDownloadComplete;
+
+ /** Flag that show if the user has canceled the update. */
+ bool mUserCancel;
+
+ /** Tells ~UpdaterWindow() if it should load updates */
+ bool mLoadUpdates;
};
#endif // GUI_WINDOWS_UPDATERWINDOW_H
diff --git a/src/net/download.cpp b/src/net/download.cpp
index 141a7772f..6d127d0a4 100644
--- a/src/net/download.cpp
+++ b/src/net/download.cpp
@@ -148,11 +148,11 @@ unsigned long Download::fadler32(FILE *const file)
return adler;
}
-unsigned long Download::adlerBuffer(char *buffer, int size)
+unsigned long Download::adlerBuffer(char *const buffer, int size)
{
unsigned long adler = adler32(0L, Z_NULL, 0);
return adler32(static_cast<uInt>(adler),
- reinterpret_cast<Bytef*>(buffer), size);
+ reinterpret_cast<const Bytef*>(buffer), size);
}
void Download::addHeader(const std::string &header)
diff --git a/src/net/download.h b/src/net/download.h
index bc06f1974..7dae8913f 100644
--- a/src/net/download.h
+++ b/src/net/download.h
@@ -104,7 +104,7 @@ class Download final
static void secureCurl(CURL *const curl);
- static unsigned long adlerBuffer(char *buffer, int size);
+ static unsigned long adlerBuffer(char *const buffer, int size);
static std::string getUploadResponse()
{ return mUploadResponse; }
diff --git a/src/net/serverinfo.h b/src/net/serverinfo.h
index 48f216855..899400598 100644
--- a/src/net/serverinfo.h
+++ b/src/net/serverinfo.h
@@ -49,12 +49,11 @@ public:
std::string name;
std::string hostname;
std::string althostname;
- uint16_t port;
-
std::string description;
std::string registerUrl;
std::string onlineListUrl;
std::string supportUrl;
+ uint16_t port;
VersionString version;
bool save;
@@ -64,11 +63,11 @@ public:
name(),
hostname(),
althostname(),
- port(6901),
description(),
registerUrl(),
onlineListUrl(),
supportUrl(),
+ port(6901),
version(),
save(false)
{
@@ -80,11 +79,11 @@ public:
name(info.name),
hostname(info.hostname),
althostname(info.althostname),
- port(info.port),
description(info.description),
registerUrl(info.registerUrl),
onlineListUrl(info.onlineListUrl),
supportUrl(info.supportUrl),
+ port(info.port),
version(),
save(info.save)
{