Age | Commit message (Collapse) | Author | Files | Lines |
|
By using SDL logging, we can rely on SDL to filter the log messages by
their priority before they get sent to our custom output function. For
example, we now no longer get entries for created and destroyed Window
instances by default, since these have only "debug" priority whereas the
default priority for the "app" category is "info".
We can also get log messages raised by SDL itself in our log now. Log
levels can be controlled per category through the "SDL_LOGGING"
environment variable.
Many existing log messages have been assigned a category based on their
existing prefix.
|
|
This window gives an overview over completed and currently active
quests. A persistent checkbox toggles whether completed quests are
shown. Item links are supported in quest texts.
New window icon by meway. Completed quest icon for Mana theme copied
from ManaPlus.
The Quests window has no shortcut for now.
|
|
This was broken by 79e4325192f3260ed4ded264e43da8429650bf72 due to there
being a case difference between the serverTypeToString and parseType
functions, causing loaded servers to be invalid due to unknown server
type.
Closes #105
|
|
Sometimes I've used CamelCase and sometimes SNAKE_CASE for these values.
Since "enum class" values are always prefixed with the enum name, which
uses CamelCase, I find it more fitting to use it for the values as well.
Also fixes compilation on Windows where 'ERROR' was conflicting with a
define.
|
|
This makes accessing the config values much faster, since it no longer
needs to do a lookup nor string conversion, which means we could remove
some needless copying of the values.
Overall it makes it easier to find out where settings are used and it
puts the defaults along with the declaration.
Options with default values are no longer saved to the config file. This
does not include unrecognized options, which are kept around to provide
some compatibility with older clients.
While most basic options have kept the same name, more complicated
settings like window geometry, shortcuts, outfits, etc. now have their
own XML elements. Older clients will ignore these and erase them when
saving the configuration.
|
|
Slightly more ergonomic and this eliminates direct libxml2 usage from
many places.
|
|
Might not seem worth it right now, but it will be if we write out more
XML structures.
|
|
There were some inconsistencies between the values set up in
`Client::initConfiguration` and those in `getConfigDefaults`. These
duplicates have now been removed.
For some of these settings the code getting the values had to be
adjusted to use getBoolValue, to actually rely on the provided default
instead of one provided as a parameter.
|
|
The new XML::Children class enables using a C++11 range-based for loop
to iterate over the children of an xmlNodePtr.
|
|
* Use default member initializers
* Use range-based for loops
* Avoid needless pointer references for ShopItem::mDuplicates
* Removed type aliases that are only used once or twice
* Removed more unused includes
* Removed some unused functions
* Removed superfluous .c_str()
* Rely on default copy and assignment operators for Vector class
* Use std::unique_ptr in some places
* Removed duplicated mPlayerMoney updating in SellDialog
* Removed duplicated Game::handleInput call
* Removed unused SDLInput::mMouseInWindow
* Removed remnant of manual widget positioning in HelpWindow
* Removed superfluous initialization of static pointers
|
|
* Don't needlessly store or return raw pointers in BeingInfo
* Less copying, more moving
* Less else after return
* Make AddDEF a template instead of a macro
* Removed some unused includes
* Use range-based for loops
|
|
The configuration and setup UI were adjusted to the new options.
This also fixes issues in applying new video settings.
Default resolution was changed from 800x600 to 1280x720. VSync is
enabled by default while FPS limit was disabled.
Display aspect ratio for the resolution options.
I had to work around some macOS issues:
* Don't change window size when it appears to be "maximized", since it
just changes the rendering area while leaving the window maximized.
* Unset fullscreen display mode temporarily to allow changing resolutions,
otherwise the rendering area no longer matches the screen and mouse
input is also off.
* Removed SDL_WINDOW_ALLOW_HIGHDPI for now because it causes issues on
macOS, since we're not actually handling the scaling factor.
A Video class and an SDLGraphics subclass were split off from Graphics.
This setup has Less duplication and leaves the OpenGLGraphics and
SDLGraphics better separated.
Fixes #57
Fixes #58
|
|
* Use default member initializers
* Use range-based loops
* Don't use 'else' after 'return'
* Removed some unused includes
* Construct empty strings with std::string() instead of ""
* Clear strings with .clear() instead of assigning ""
* Check whether strings are empty with .empty() instead of comparing to ""
* Removed redundant initializations
|
|
modernize-loop-convert
modernize-deprecated-headers
|
|
modernize-use-auto
modernize-use-nullptr
modernize-use-override
modernize-use-using
|
|
|
|
This was already done by ManaPlus. It's a good idea anyway and it makes
comparing the code a little easier.
Reviewed-by: Yohann Ferreira
|
|
It's just an annoyance when it's only applied to a few classes. Either
we place everything in this namespace or nothing, and at the moment I
don't see any rationale for placing everything in a Mana namespace.
Acked-by: Jared Adams
|
|
Acked-by: Jared Adams
|
|
Acked-by: Jared Adams
|
|
Reviewed-by: Jared Adams
|
|
The former XML::getBoolProperty() had a potential memleak
and was unsafe when dealing with unknown values.
Reviewed-by: CodyMartin.
Resolves: Mana-Mantis #213.
|
|
Small code style changes
Reviewed-by: Bertram.
Resolves: Mana-Mantis #227.
|
|
Please note that I didn't turned all the getValue() call into new ones,
simply because I have to have config object initiated which is not
forcefully the case the branding file.
Resolves: Manasource Mantis #170.
|
|
Reviewed-by: trapdoor
|
|
data/paths.xml configuration file.
Also added default gui theme path in branding and default wallpaper path
and file searched respectively in the branding and paths.xml files.
Hard-coded values are still used as fallbacks.
Resolves: Manasource Mantis #148.
Reviewed-by: jaxad0127.
|
|
Reviewed-by: Bernd Wachter
|
|
|
|
|
|
Also added the update copyright tool from the Wormux Team.
( And not forgetting credit's due. :P )
|
|
Also remove some extra new lines and fix eAthena's PartyTab define guards.
|
|
|
|
Mainly avoid all the convertions from integer to float and then to
string and also back from string to float and then to integer.
|
|
The string utility methods are now grouped together in the stringutils.h
header. Also, a toLower method was added for convenience.
|
|
When not passing any parameters to constructors, there is no reason for
using parenthesis.
|
|
Conflicts:
A lot of files...
|
|
Conflicts:
Almost everywhere.
|
|
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
This dates back to the old days of TMW, but the usage instructions of
GPLv2 don't mention this being necessary. Since it doesn't add anything,
avoid the branding in these sections.
|
|
This dates back to the old days of TMW, but the usage instructions of
GPLv2 don't mention this being necessary. Since it doesn't add anything,
avoid the branding in these sections.
|
|
the function names should no longer be around.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Got rid of "void" in functions that take no arguments and removed the
newline after the return type of a method in many places.
|
|
statements, as well as removing the new skill dialog, which we do not,
nor will we use (if we do, it'd be a new one that we'd make).
WARNING!!! This, and all other previous builds have a linker error for
the Gnome libraries version 4.3.2 on my setup. It's assumed that this is
also the case for other users of this library as well. I'm currently
assuming that there's a bug in the compiler itself, and will look into
reporting this, but in the mean time, it doesn't build for these users,
unfortunately. Sorry about this.
|
|
I don't know why we dealt with these things for so long. Did we ever get
anything out of it?
|
|
|
|
configure whether trading is allowed. Based on new popup code, configuration
improvements to store hierarchical data and a table model.
|
|
0.0. Mostly memory leak fixes by Guillaume.
|
|
|
|
|