summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2024-01-26Apply C++11 fixitsThorbjørn Lindeijer357-1948/+1946
modernize-use-auto modernize-use-nullptr modernize-use-override modernize-use-using
2024-01-26Added support for the "persistentIp" server info settingThorbjørn Lindeijer6-38/+38
This option was added in ManaPlus and support for it is required to connect to The Mana World as it is currently set up, since the server sends 127.0.0.1 for the character server and map server IP. Can't play yet, because of an unknown packet 0x226 being received once connecting to the map server.
2024-01-26Disable "opengl" by default and remove unused "hwaccel" optionThorbjørn Lindeijer2-5/+3
Since we now use SDL2, OpenGL is used through the SDL2 API. This appears to work very well and handles resizing better (with less flicker). Our manual OpenGL rendering code is probably obsolete. The "hwaccel" option referred to hardware accelerations supported by SDL1 and is no longer relevant.
2024-01-25Always use C++11 and remove related compatibility option/codeThorbjørn Lindeijer3-19/+0
2024-01-25Removed X11 dependencyThorbjørn Lindeijer1-6/+0
It was only used for the clipboard, which is now interacted with through SDL 2.
2024-01-25Fixed parent for OkDialog in social windowThorbjørn Lindeijer1-1/+1
2024-01-25Added assignment operator for VectorThorbjørn Lindeijer1-0/+8
2024-01-25Minor includes cleanupThorbjørn Lindeijer6-15/+0
2024-01-25Ported to SDL2Thorbjørn Lindeijer34-1098/+654
2024-01-24Increased client version to 20Thorbjørn Lindeijer1-1/+1
It is unclear whether there are any protocol differences that should be dealt with at this point, but without this the login fails with "Client too old." error.
2024-01-24Add error for non tradable items.Andrei Karas1-0/+5
2024-01-24Fixed potential crash on exitThorbjørn Lindeijer2-4/+3
2024-01-24Removed undefined '__EXPORT__'Thorbjørn Lindeijer1-5/+4
There should be no need to export the functions explicitly, given that they are compiled as part of the executable.
2024-01-24Fixed a few coding errors the compiler complained aboutThorbjørn Lindeijer3-3/+3
2024-01-24Fixed compilation issues and use of deprecated C++ featuresThorbjørn Lindeijer15-44/+44
* Fixed compiler errors due to dynamic exception specifications * Replace std::auto_ptr with std::unique_ptr * Replace std::mem_fun with std::mem_fn * Prefix for_each with std:: (apparently not needed before) * Just use lambda instead of std::bind2nd * Removed usages of std::unary_function
2013-09-08Fixing packet length of CMSG_NPC_STR_RESPONSEStefan Dombrowski1-1/+1
The CMSG_NPC_STR_RESPONSE packet transmits a string of variable length.
2013-06-08Fixed MessageIn::getUnreadLengthThorbjørn Lindeijer2-2/+8
It should not return large numbers after reading past the end of a message. This can cause infinite loops in several places in the client when a message happened to be shorter than expected.
2013-05-22paths.xml content is now read from settings.xmlPrzemysław Grzywacz3-11/+21
2013-05-09Changed default serverlist.xml URL to avoid redirectThorbjørn Lindeijer1-1/+1
Previously the redirect was from www.manasource.org to manasource.org.
2013-05-07items.xml can be used from settings.xmlPrzemysław Grzywacz4-187/+165
2013-05-04Client-side settings are now available from settings.xmlPrzemysław Grzywacz24-550/+904
2013-05-02Fixed network layer doing delayed actor deletionThorbjørn Lindeijer7-7/+19
The delayed actor deletion was meant to be used during the logic calls, to avoid modifying the container while it is being iterated. The deletions happening from the network layer are not done while iterating the set of actors, so it can delete immediately. This fixes an issue where an NPC would disappear when changing appearance on tmwAthena, because this was implemented as a remove + add, which broke due to the delayed deletion. Mantis-issue: 507 Reviewed-by: Jared Adams
2013-04-30Hide attribute sliders on character creation when appropriateThorbjørn Lindeijer2-53/+69
When the minimum and maximum values of the attributes are equal, then there is nothing for the player to customize and the sliders are not shown. At the same time the dialog has been fixed to resize properly to any number of modifiable attributes.
2013-04-30Bumped protocol version to 3Thorbjørn Lindeijer1-1/+1
This is so that master and lpc2012 use the same protocol again, where starting attributes are sent on character creation.
2013-04-29Single xml solution - compatibility with skill-set and special-setPrzemysław Grzywacz2-2/+4
Mana-mantis: #506.
2013-04-27Small cleanupThorbjørn Lindeijer2-5/+1
2013-04-27Added support for charcreation.xml settingsThorbjørn Lindeijer7-13/+218
This file was introduced by ManaPlus as a way of configuring the character creation process. It defines the number of hair styles and colors, how stat points should be divided and what the starting equipment of the player is. The minimum and maximum hair color/style IDs are not supported at the moment. This is mostly a backport of ManaPlus commits 10cf52b5 and dcc18eba, with some style changes. Mantis-issue: 501 Reviewed-by: Ablu
2013-04-27Always read the attributes.xml fileThorbjørn Lindeijer8-30/+43
This way it can also be used when connecting to a tmwAthena server for customizing the min/max of attributes and the amount of starting points. Mantis-issue: 501 Reviewed-by: Ablu
2013-04-13Removed unused IntMap typedefThorbjørn Lindeijer1-2/+0
2012-12-05Ignore unsupported messages in public chatAndrei Karas1-0/+5
Reviewed-by: Erik Schilling.
2012-10-11Client side patch for change of sending order of genderErik Schilling2-8/+13
Reviewed-by: Stefan Beller.
2012-10-11Give feedback when guild invite failedErik Schilling1-0/+4
Server was already sending a error message. But the client ignored it. Reviewed-by: Stefan Beller.
2012-08-14Can now build using cmake on OSXSocapex7-81/+75
Tested-by: Frost.
2012-08-12Fixed special keeping in list after serverside removeErik Schilling3-0/+11
Reviewed-by: Thorbjørn Lindeijer.
2012-08-12Fixed coding style in specialswindowErik Schilling1-16/+18
Reviewed-by: Thorbjørn Lindeijer.
2012-08-12Improved the layout of the specials windowThorbjørn Lindeijer2-25/+8
And removed the unused TabbedArea. Reviewed-by: Erik Schilling
2012-08-12Removed ImageLoader and ProxyImage classesThorbjørn Lindeijer6-190/+0
They allowed using gcn::Image, which in turns allows using gcn::Icon and gcn::ImageFont, but none of this is actually used anymore. Reviewed-by: Erik Schilling
2012-08-12Removed manual calling of glFlush and made glFinish optionalThorbjørn Lindeijer2-3/+31
Actually neither glFlush nor glFinish need to be called manually [1]. However, the rendering pipeline is then free to queue up future frames which can cause a lag which is especially noticable with mouse movement. To avoid this lag, we call glFinish after SDL_GL_SwapBuffers. This makes sure processing of the next frame does not start before the current frame is being displayed. [1] http://www.opengl.org/wiki/Common_Mistakes#glFinish_and_glFlush Reviewed-by: Yohann Ferreira Sounded-fine-to: Erik Schilling
2012-08-11Removed two unused variablesThorbjørn Lindeijer1-3/+0
Reviewed-by: Erik Schilling
2012-08-11Fixed handling of --chat-log-dir command line optionThorbjørn Lindeijer1-1/+2
It was also setting the screenshot directory. Reviewed-by: Erik Schilling
2012-08-08Changed to using delete_all instead of a loopTom Leese1-8/+2
Reviewed-by: Erik Schilling.
2012-08-07Fixed issue where previous special entries were drawn underneathTom Leese1-0/+7
Reviewed-by: Erik Schilling.
2012-08-05Fixed drawing issues with tiles that don't match the gridThorbjørn Lindeijer2-2/+7
An optimization in the tile layer rendering code meant for drawing repeated tiles faster was not taking into account the case where the tile width does not match the width of the tile grid. Reviewed-by: Stefan Beller
2012-08-05Enable OpenGL by default on all platformsThorbjørn Lindeijer2-6/+2
Before it was only enabled by default for Mac. Reviewed-by: Erik Schilling
2012-08-05Removed 'virtual' from methods of ImageThorbjørn Lindeijer4-26/+15
Maybe it used to be necessary for these methods to be virtual, but this is no longer the case. Hence we can avoid wasting CPU ticks searching through virtual function tables, especially for frequently used methods like getWidth, getHeight and setAlpha. MapLayer::getTile was inlined. Reviewed-by: Erik Schilling
2012-08-05Removed all the hardcoded sizes of the various setup tabsThorbjørn Lindeijer19-81/+66
Instead, support for dynamically adjusting layout was added to the Container class. Various other places were also adapted to use the new layout support in Container. Reviewed-by: Erik Schilling
2012-08-05Avoid copying surfaces unnecessarily for upload to textureThorbjørn Lindeijer2-26/+36
When uploading an SDL surface to an OpenGL texture, it was always making a copy that had the desired size and pixel format. Now this copy is no longer being made when the existing surface already has the target size and pixel format. In fact most images are already in 32-bit RGBA format after loading them. Reviewed-by: Erik Schilling
2012-08-05Specify a more specific image format when uploading texturesThorbjørn Lindeijer1-1/+1
While simply specifying "4 components" works, it is preferred to specify the actual image format like GL_RGBA8 in our case. http://www.opengl.org/wiki/Common_Mistakes#Image_precision Reviewed-by: Erik Schilling
2012-08-05Added support for ARB_texture_non_power_of_two extensionThorbjørn Lindeijer3-2/+7
If the graphics driver supports this, there is no need to create textures with power-of-two dimensions. It is then also preferred to use regular textures than relying on the older GL_ARB_texture_rectangle extension. Reviewed-by: Erik Schilling
2012-08-05Some cleanups in OpenGL codeThorbjørn Lindeijer2-49/+1
* Removed empty and unused function `setTargetPlane` * Removed duplicated enabling of `GL_VERTEX_ARRAY` * Removed strange smoothing code from `drawRescaledImage` Reviewed-by: Erik Schilling