Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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.
|
|
Thanks to https://github.com/cgmb/guardonce and a follow-up replace to
remove duplicated newlines at end of file:
find src -type f -name '*.h' -exec \
sed --in-place -e :a -e '/^\n*$/{$d;N;};/\n$/ba' {} \;
Source: https://unix.stackexchange.com/questions/81685/how-to-remove-multiple-newlines-at-eof
Fixes compile on macOS, which appears to have been due to the EVENT_H
include guard.
|
|
Maybe it once had a use, but a change in the "Show own name" setting is
already handled by LocalPlayer::event.
|
|
* Added "Scale" user option, which can either by "Auto" or an explicit
scaling factor. Its maximum value depends on the current resolution.
The "Auto" factor is based on keeping the logical resolution on at
least 800x600, wheres the maximum scale is based on keeping the
logical resolution on at least 640x480.
* Enabled support for High DPI. This means the rendering target can now
have a different resolution than the window size, which can happen on
macOS, Windows and Wayland. The resulting scale is multiplied by the
above user-controlled scale.
Currently, this looks ugly for non-integer scales, which are not used
on macOS and can only be configured on some Wayland compositors.
Has not been tested on Windows.
* Simplified OpenGL initialization (moved out of _beginDraw).
* Made sure _beginDraw/_endDraw sets a clip area also for SDLGraphics.
|
|
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-use-auto
modernize-use-nullptr
modernize-use-override
modernize-use-using
|
|
|
|
Added an 'Interface' tab for the items that seemed to fit better
there than in 'Video'.
Signed-off-by: Jared Adams <jaxad0127@gmail.com>
|
|
This reverts commits e35b3bdd0a74464e4b4d3b931ca416f0c7864ba6
and e35b3bdd0a74464e4b4d3b931ca416f0c7864ba6.
Sometimes the text fields and the list show different server
selected, so you don't see to what server you connect. It is
a big security risk sending your user name and password to
the wrong server.
Reviewed-by: Freeyorp, Bertram
|
|
|
|
transparency'.
That name is more explicit about what it actually does.
Reviewed-by: CodyMartin.
|
|
This disables the Image::setAlpha() function, which
uses 60% of the client's CPU cycles.
When enabled, visual quality is slightly decreased,
especially with the particle system.
Toggling this setting On from an Off state requires
a client restart or the graphics look quite funny.
Bertram's addition:
- Renamed 'Low CPU' to 'Disable transparency (Low CPU)' in the gui
for better understanding.
- Removed the sprite display with 30% opacity when disabling
transparency since it made monsters and drops be drawn above all layers
at full opacity.
- Made the OpenGL mode disable the 'low CPU mode'.
- Fixed the GUI logic as much as possible. Please note that the GUI opacity
slider stays enabled when transparency is disabled even if told to be disabled
in that case.
Reviewed-by: CodyMartin, 4144, MadCamel.
|
|
Reviewed-by: Bertram
|
|
|
|
|
|
Not really useful to be able to edit it by hand.
|
|
It is more clear in the end. Also fixed deleting of the mode list model.
|
|
Also added the update copyright tool from the Wormux Team.
( And not forgetting credit's due. :P )
|
|
Moved remaining widgets into widgets folder, standardized include order, moved TextRenderer out.
|
|
Disabled by default.
|
|
|
|
partially broken, and my experience has been that players have been
frustrated more by accidentally setting them than actually wanting them.
They'll still be settable in the configuration file for anyone who needs
them, but they seem more like a programmer's debugger than a useful
option.
Signed-off-by: Tametomo <irarice@gmail.com>
Signed-off-by: Bjørn Lindeijer <bjorn@lindeijer.nl>
|
|
Based on a similar change Tametomo made in Aethyra.
|
|
Added support for change font size in the setup menu (video tab).
You can select small (11), normal (12), large (13), very large (14).
You need to restart the client for it takes effect.
|
|
In an attempt to make the GUI code a little more structured, basic
widgets are now put in gui/widgets. Many includes were also cleaned up.
|
|
|
|
Conflicts:
A lot of files.
|
|
This merge involved major changes on both sides, and as such took
several weeks. Lots of things are expected to be broken now, however, we
now have a single code base to improve and extend, which can be compiled
to support either eAthena or tmwserv.
In the coming months, the plan is to work towards a client that supports
both eAthena and tmwserv, without needing to be recompiled.
Conflicts:
Everywhere!
|
|
enable/disable this effect (default is off) and another option to disable the pickup notification in the chat log (default is on).
|
|
|
|
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Conflicts:
CMakeLists.txt
configure.ac
data/help/header.txt
packaging/windows/setup.nsi
po/POTFILES.in
src/being.cpp
src/being.h
src/game.cpp
src/gui/color.cpp
src/gui/color.h
src/gui/equipmentwindow.h
src/gui/popupmenu.cpp
src/gui/recorder.cpp
src/gui/setup_colors.h
src/gui/setup_keyboard.cpp
src/gui/setup_keyboard.h
src/gui/skill.cpp
src/gui/speechbubble.cpp
src/gui/speechbubble.h
src/gui/table.cpp
src/keyboardconfig.cpp
src/keyboardconfig.h
src/localplayer.cpp
src/main.cpp
src/main.h
src/map.cpp
src/resources/colordb.cpp
src/resources/colordb.h
src/resources/emotedb.cpp
src/resources/emotedb.h
src/text.cpp
src/text.h
src/tmw.rc
src/winver.h
|
|
useful since buddy lists are tracked through the player relation
interface instead)
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Setup_Video tab.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
all and show speech bubbles without names). Since a checkbox won't work
any more for all of these modes, it's now a slider.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
include anything not needed by that specific widget or window. This
appears to have cleaned up system performance a bit on my current setup,
where it went from idling on 45% in game with opengl down to 30% now.
Also moved iptostring to the tostring header, as importing all of
network.h is a little overkill to use that function, and it goes along
with the basic functions that are in that header file anyways. TODO:
find out a way to get rid of warnings when a class doesn't use this
function.
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.
|
|
Introduced a LayoutHelper class which can be used for any non-Window
container where you want to use a layout to place child widgets.
|
|
the function names should no longer be around.
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
Signed-off-by: Ira Rice <irarice@gmail.com>
|
|
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?
|
|
|
|
change this in the future to update instantaneously.
|
|
|
|
places.
|
|
particle effects) to video setup menu.
|
|
|