Age | Commit message (Collapse) | Author | Files | Lines |
|
With the statically typed config we no longer get an event for each
changed config value. Where relevant, this is now done through
`setConfigValue`.
The `Event` now uses a `std::any`, which for `ConfigOptionChanged`
events is set to the changed `Config` member. This allows for a
type-safe check on which config value was changed.
|
|
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.
|
|
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.
|
|
|
|
Made the class and the code in general more readable by removing all
the needless getters and setters.
|
|
* Apply indentation after wrapping only in NPC dialogs and chat window,
since we don't want this in the updater window / news.
* Added some margin around the text in the updater window and NPC
dialogs, using gcn::Widget::setFrameSize.
* Cosmetic changes to BrowserBox implementation.
|
|
This reverts part of 087babc2525ddb89e5b31f240a08739d9a3029a9.
It's unclear to me why big words should be split (chat window
force-wraps when necessary anyway) and it's causing issues by adding
spaces in the middle of links, for example.
|
|
* 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
|
|
* Removing unused includes
* Use member initialization
* Use range-based for loops
* Use nullptr
* Removed no longer used aliases
* Use override
* Don't use else after return
* Use '= delete' to remove implicit members
* Use std::string::empty instead of comparing to ""
|
|
* Introduced a LayoutContext that conveniently allows for relayouting
all rows, or just a single one when it is added. BrowserBox::addRow
no longer relayouts all the rows.
* BrowserLink and LinePart are now merged into a new TextRow struct,
so they can be conveniently dropped when the row limit has been
reached.
* Removed "opaque" option, which was enabled by default but disabled
for all BrowserBox instances.
* Removed "always update" option, and instead start delaying relayouting
automatically when there are a lot of rows (> 100 currently).
* Update window now also has text wrapping enabled.
Closes #50
|
|
One of the sound channels is reserved for notification sounds, of which the
volume can be configured separately. Currently, the only notification sound
that is played is for receiving whispers. That can be extended later.
The newmessage.ogg sound used currently is the one for receiving a message
with the Psi instant messenger.
Parts of this patch are based on the new message notification in ManaPlus.
Reviewed-by: Erik Schilling
|
|
|
|
Reviewed-by: Bjorn.
|
|
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
|
|
Reviewed-by: Ablu
|
|
I added text shadow and outline support to the browserbox,
and made it adapt the text for the chattabs depending on the
GUI opacity.
Reviewed-by: Ablu.
|
|
Conflicts:
src/being.cpp
src/client.cpp
src/commandhandler.cpp
src/gui/setup_video.cpp
src/gui/socialwindow.cpp
src/gui/viewport.cpp
src/gui/widgets/browserbox.cpp
src/gui/widgets/itemcontainer.cpp
src/imageparticle.cpp
src/localplayer.cpp
src/localplayer.h
src/map.cpp
src/net/tmwa/beinghandler.cpp
src/particle.cpp
src/particle.h
src/player.cpp
src/player.h
|
|
Parse chat lines in BrowserBox once after changes.
Reviewed-by: Thorbjorn
|
|
Conflicts:
src/actorspritemanager.h
src/beingmanager.cpp
src/game.cpp
src/gui/beingpopup.cpp
src/gui/chat.cpp
src/gui/chat.h
src/gui/inventorywindow.h
src/gui/itempopup.cpp
src/gui/socialwindow.cpp
src/gui/statuswindow.cpp
src/gui/widgets/chattab.cpp
src/gui/widgets/chattab.h
src/net/tmwa/inventoryhandler.cpp
src/net/tmwa/partyhandler.cpp
src/party.cpp
src/sound.cpp
src/utils/stringutils.cpp
src/utils/stringutils.h
|
|
Reviewed-by: Freeyorp
|
|
|
|
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: Bertram
|
|
Add option in players setup page.
Add command line option.
Signed-off-by: Jared Adams <jaxad0127@gmail.com>
|
|
Themes can now control the colors they use. Colors in the Viewport (being
names, particles, etc) can still be changed by the user. Also make
ProgressBars more easily colored. DyePalette was made more flexible in the
process.
Also fixes comparing strings of different lengths insensitively.
Reviewed-by: Thorbjørn Lindeijer
|
|
Reviewed-by: Chuck Miller
|
|
When the ChannelTab gets deleted by the Channel, the ChatWindow may have
already been removed. So before telling it that the tab got deleted,
check whether it's still there.
Reviewed-by: Jared Adams
|
|
|
|
|
|
Also added the update copyright tool from the Wormux Team.
( And not forgetting credit's due. :P )
|
|
For improve chat speed this patch add some hacks to
BrowserBox class, split big words in ChatTab.
Also fix DoS in chat.
|
|
Moved remaining widgets into widgets folder, standardized include order, moved TextRenderer out.
|
|
|
|
And a Swedish translation of the desktop file.
|
|
|
|
The crash was due to an assertion which shouldn't have been there, so I
removed the assertion instead. I've also made sure the unknown item has
its id initialized to 0, so that it can be used to check against instead
of the item name.
Normalization of item names was moved within the item database.
|
|
The client crashed when entering [] inside an item link, for example
the string [[]].
(cherry picked from commit 86a055d46df5a262fce0f76697cc3d54e75b19e1)
|
|
Very hackish and would require altering eAthena. It also isn't very
portable; if you use the same character name on multiple servers and are
a GM on one of them, the client will try to make you a GM on the other.
|
|
|
|
|
|
|
|
|
|
|
|
Nothing in particular worth mentioning.
|
|
* std::string arguments to 'const std::string &'
* findMember2 renamed to findOrCreateMember
* Made some functions const
|
|
|
|
|
|
|
|
Unused variable, compiler suggested braces to disambiguate an else
statement and another comparision between signed and unsigned integers.
|
|
|