Age | Commit message (Collapse) | Author | Files | Lines |
|
Replaces the default login wallpaper. The wallpaper can still be set
either through branding or in the client data.
This also fixes the scaling of the Manasource logo when using the Mana
theme.
Closes #99
|
|
For customizing the text color used with HIGHLIGHT color as background.
|
|
Rather than hardcoded black.
|
|
Seems this color just wasn't copied over correctly due to being on a
different palette originally.
Also made Tab::draw use the correct outline color.
Addresses part of #98.
|
|
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.
|
|
* When hovering an empty box in the shortcut window, the tooltip of a
previously hovered non-empty box would stay visible.
* When hovering to the right of a row of inventory items, the tooltip
for the left-most item on the next row would be displayed.
Also added some padding to shift the text and item icon a little in the
shortcut window when using the Jewelry theme.
|
|
Allows more flexible customization as needed by Jewelry theme.
|
|
Instead of loading images directly, which is less flexible. In Jewelry
theme, these icons are embedded in the window.png image.
|
|
This enables customized outlines for each text color as well as adding
outlines for specific palettes, as done by the Jewelry theme.
Merged PARTY_CHAT_TAB and PARTY_SOCIAL_TAB into just PARTY_TAB since we
should probably be using the same color there anyway.
Split off WHISPER_TAB as separate color from WHISPER.
|
|
Each Skin can point to a different palette, which can be used to tweak text
colors where necessary. For now there is no generic solution for this, instead
a number of locations have been adjusted to take the palette into account:
* ChatWindow sets its palette on the BrowserBox used in its tabs.
* Popup sets its palette on child widgets when they are added (covering
BrowserBox, Label and TextBox).
* ItemPopup now uses its palette when looking up colors.
The BrowserBox now retrieves its numbered text colors from the theme. Also
added OLDCHAT, AWAYCHAT and GLOBAL theme colors, with ##g, ##o and ##a to
choose these colors respectively.
Fixed ImageRect move constructor.
TextPreview class was cleaned up from unused functionality.
Being name colors are no longer different between the name shown on the being
and the name shown in the SpeechDialog.
|
|
* Added Theme dropdown to Interface setup
* Added CARET theme color
* Fixed issue with logging errors in `check` function in `theme.cpp`
* Fixed XML::Children::Iterator to iterate only element nodes
* Changed default theme to "jewelry"
Changing the theme (or font size) shows a dialog that points out a restart is
required to apply these changes. This is necessary at the moment because many
things, like default or minimum window sizes, are only calculated once.
|
|
And made the Jewelry theme hide those buttons.
|
|
Due to getVerticalMarkerDimension and getHorizontalMarkerDimension not
being virtual, this unfortunately required copying a lot of code from
Guichan to make sure it calls our versions of these functions.
Also addressed a small issue where gcn::ScrollArea::checkPolicies was
not taking the frame size of the content into account.
|
|
Used "spacing" to store the additional space between the sticky button
and the edge of the window (or the close button).
Adjusted Popup and ToolWindow skins by one pixel to make the sticky
button align the same way as for the Window skin.
|
|
Now we can define icon names for each equipment box and then look up the
icon image through the theme, enabling some shared control over
equipment slot icons between the game data and GUI theme.
The icon for an equipment slot is also no longer rendered when the slot
has an item in it.
Removed the needless storing of equipment box positions and images in
the EquipmentWindow, because this information is readily available from
the InventoryHandler and the images are already loaded by the Theme.
|
|
* Added EquipmentBox and ItemSlot skin types.
* Allowed rectangles drawn by the theme to be not filled.
* Added width/height attributes to skin element since we needed a way to
specify the size of the item slots and equipment boxes.
|
|
Now different windows can use different skin types. This also introduces
a new ToolWindow skin type, which is generally a window without title
bar nor close button. Customized windows are:
* Chat -> Popup skin
* MiniMap -> Popup skin
* ShortcutWindow (items and emotes) -> ToolWindow skin
Even though the MiniMap now appears as a Popup, it does have a title, so
appropriate attributes have been added to this skin type.
|
|
This theme was created by Francesco Miglietta in 2012-2013 for ManaPlus
and is hereby ported to the new XML theme definition supported by the
Mana client.
A few things are still missing:
* Use of special window skins for some windows (minimap, chat, shortcuts)
* Control of text format in chat window and popups
* Theming the equipment box icons
* Support for fixed-size scroll bar handles
* Not all colors set by the theme are supported yet
There is also still no way for the user to choose the theme in the Setup
dialog. For now, the theme can be enabled by manually editing the config
file to contain:
<option name="theme" value="jewelry"/>
|
|
* Removed some unused includes and forward declarations.
* Use std::unique_ptr to automate cleanup.
* Use TextRenderer::renderText in BrowserBox to avoid code duplication.
* Removed unused STATE_NORMAL from StateFlags.
* Small layout fix in ServerDialog.
* Reduced rewrapping delay in BrowserBox to 33ms and disabled it
entirely when there are no more than 1000 lines to rewrap. The
rewrapping is usually fast enough.
|
|
Added handling of padding and text format and added new "spacing" skin
variable which is used for the space between the label and the control
in case of CheckBox and RadioButton.
Small tweaks to UI layout in various places.
|
|
The following widgets now support setting the font, text color, outline
color and shadow color through the theme:
* Button
* Tab
* Window (title)
* ProgressBar
The text format can be specified differently per skin state.
|
|
|
|
ImageRect now stretches the sides and center images by default because
this is more efficient these days. FilMode::Repeat can be specified when
repetition is desired.
Added 'fill' attribute to allow the fill mode to be specified for the
GUI theme images.
|
|
* Moved previously hardcoded values for frame size, padding and title bar
height to the Skin.
* Added support for rendering colored rectangles (used for scroll bar
background).
* Scroll bar width is now determined by its skin.
* Added separate skins for horizontal and vertical scroll bars and horizontal
and vertical scroll markers and added a skin for the shortcut box.
* Added support for hovered state on window close button.
|
|
Now all images used by the various UI widgets are defined in a
`theme.xml`, removing hardcoded requirements on the size of images,
borders and sub-images and their locations. The `colors.xml` file was
merged into this new file as well.
The `<img>` element defines either a plain image, or a 9-scale that is
automatically rendered at the size of the widget when any of the `left`,
`right`, `top` or `bottom` attributes are given.
The `x`, `y`, `width` and `height` attributes determine the
sub-rectangle within the image referenced by `src`. `x` and `y` default
to 0 and `width` and `height` default to the imge size.
The `<state>` element defines in which state its images are used by
setting its `selected`, `disabled`, `hovered` or `focused` attributes to
either `true` or `false`. Only the first matching state is rendered.
The `Text` and `SpeechBubble` classes now use the same skin to draw the
bubble, as well as using a newly introduced `BUBBLE_TEXT` color from the
theme palette.
|
|
To match mana/manaserv@9ff69160ea1c3c64ea7012cd70a3b50ff4373264.
|
|
InputEvent::mIsConsumed is used to tell the Window it should not change
the mouse cursor as well.
This change also adds a closed hand mouse cursor, though this is unused
for now (might be useful when dragging stuff around).
The new cursors are by meway.
|
|
And removed the manual space character at the start of each line...
|
|
Using a custom target which should otherwise not affect the build.
|
|
|
|
|
|
More consistent formatting and no longer everything in uppercase, yay!
|
|
Also enable using `cpack -G DragNDrop` to create a DMG to easily drag
Mana into the Applications folder.
The DMG is also available as a CI artifact.
The minimum deployment target has been set to 10.15, as required due to
usage of std::filesystem::create_directories.
|
|
Beats using a CMakeLists.txt in each directory and fixes a few missed
files (like music and equipment slot icons).
|
|
The new cursor types are not used yet for now.
|
|
|
|
|
|
The tmwa/BeingHandler was adjusting the effect id rather than the emote
id, causing it to not find the last emote (and the rest of the emotes
only worked correctly because the effect ids were consecutive in the same
order as the emote ids).
Furthermore, the EmoteShortcutContainer refused to draw the icon for the
last emote due to an off-by-one error in dealing with the 1-adjusted
emote ids used by the EmoteShortcut class.
Also cleaned up some old remains of a player ignore strategy that used
to use the two balloon emotes (this had been their original purpose).
Reviewed-by: Erik Schilling
|
|
|
|
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: Yohann Ferreira
|
|
* Changes were made to the way BrowserBox does colors that the help files
were not adapted to. For example, there is no more ##P for choosing the
previous color and applying a color changes it persistently rather than
returning to default text color after each line wrap. Rather than changing
the behavior of BrowserBox back I've just adapted the help files.
* Set a monospace font on the Help window because this was originally the
case and the text still relies on that for its layout.
* zlib and CSV support was already cherry-picked into 0.5.1 so it is removed
from the 0.6.0 changelog.
Reviewed-by: Erik Schilling
|
|
TODO: Update the date when actually releasing.
Reviewed-by: Bertram.
|
|
The pointer was in the wrong place after the positioning fixes done
in commit dc0097631ff092660e2249d7001ec339a090698d. Now it is restored
to where it was before, but keeping the relative offset changes from
that commit.
|
|
The background images are auto-centered.
Also, for Manaserv, a new background parameter has been
added in the box node of the equip.xml file
to specify the background image.
Note that the filename is relative to the gui theme
folder.
Reviewed-by: Thorbjorn Lindeijer
Resolves: TMW-Mantis #769.
|
|
|
|
Conflicts:
CMakeLists.txt
src/map.cpp
src/winver.h
|
|
|
|
|
|
This a good example of use for the new graphics and button
functionalities.
|