Age | Commit message (Collapse) | Author | Files | Lines |
|
This is generally expected on Linux, where it feels annoying that the
initial click just focuses the window.
On macOS it's a little bit different, since applications can be specific
about which elements are directly clickable and which aren't, but in
general it feels better to me when the UI can be interacted with
directly.
|
|
Since the upgrade to SDL2 it was only used for framerate limiting, which
I've replicated in a small helper class.
Also reduced the framerate limit while minimized from 100 to 10 FPS.
|
|
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
|
|
Since Guichan is currently disabled on Homebrew, I've opted for adding
it as a submodule instead. It currently references the 0.8 branch of
Guichan, after I cherry-picked the CMake support from the master
branch.
When using SDL2 installed through Homebrew, it was necessary to use
SDL2_LINK_LIBRARIES, since the libraries occupy various different
directories.
It no longer seems necessary to include an SDLMain.m, so I deleted it.
Removed obsolete OS X instructions.
Also added instructions for installing dependencies on Fedora.
Removed mentioning of /announce and /who in the README, since they were
removed for tmwAthena.
|
|
Apparently, pkg-config files for physfs were not shipping yet in Ubuntu
18.04. Now it no longer checks that we have at least physfs 3.0, but
older versions should be pretty rare anyway.
This reverts part of ffa8ea13fbf50ad59d9fc4cea71b9aec4aca8bac.
|
|
This just checks that the client compiles on Ubuntu for now.
Also fixed a PhysicsFS linker issue introduced in
ffa8ea13fbf50ad59d9fc4cea71b9aec4aca8bac...
|
|
Replacing the various OS-specific ways implemented for macOS, Windows
and Linux (based on xmessage).
|
|
It seems the implementation of PhysicsFS RWops shipped requires a
somewhat up-to-date PhysFS (beyond just a missing PHYSFS_DECL macro).
Also simplified CMake files somewhat, enabling new behavior for some
policies that were triggering warnings. And removed the no longer used
FindSDL_gfx.cmake module (SDL_gfx is found using pkg-config since
2c51c98625b225cecfb9628c30d62d4e30f7e3e1).
|
|
|
|
It was only used for the clipboard, which is now interacted with through
SDL 2.
|
|
|
|
|
|
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
|
|
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
|
|
Tested-by: Frost.
|
|
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
|
|
Reviewed-by: Ablu.
|
|
There wasn't a whole lot gained by sharing a common base class, and it makes
extending the manaserv Message{In,Out} classes with a debugging mode
unnecessarily complicated.
Reviewed-by: Yohann Ferreira
|
|
This is in order to still support older compilers, in particular GCC 4.2.1,
so that Mana may be compiled for Maemo 5.
Reviewed-by: Yohann Ferreira
|
|
Reviewed-by: Erik Schilling
|
|
This avoids the creation of a temporary buffer containing a complete
file for the sole purpose of wrapping it up in an SDL_RWops.
The necessary wrapper is by Ryan C. Gordon and is included in the
PhysFS repository under 'extras'.
Reviewed-by: Yohann Ferreira
|
|
This will ease the reading of the next patch about hair handling
at character creation time in tAthena.
As requested by bjorn.
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
|
|
Now the first window the user can see is a list of servers
which can double-clicked, making it all less cluttered.
This commit also makes custom servers able to now have
their own titles and their own description,
just as the official ones.
I also fixed the add entry button being registered twice
to the action listener, and the fact that the description
wasn't updated properly at windows loading
and when adding/removing an entry.
Resolves: Mana-Mantis #237.
Reviewed-by: Ablu
|
|
|
|
|
|
This required moving to C++0x, so it does that too, and fixes a few errors with
that.
Reviewed-by: Thorbjørn Lindeijer <thorbjorn@lindeijer.nl>
|
|
Useful for making nicer layouts
Signed-off-by: Jared Adams <jaxad0127@gmail.com>
|
|
To make room for the interface tab
Signed-off-by: Jared Adams <jaxad0127@gmail.com>
|
|
Added an 'Interface' tab for the items that seemed to fit better
there than in 'Video'.
Signed-off-by: Jared Adams <jaxad0127@gmail.com>
|
|
Makes it clear what kind of listener it is, since there are other
listener classes as well.
Acked-by: Jared Adams
|
|
|
|
Conflicts:
po/de.po
src/game.cpp
src/resources/wallpaper.cpp
|
|
The rc and specialfolders files where included
with the manaserv specific files.
|
|
Only using cmake conditions and an ifdef. This will greatly help
packaging the mana 0.5 version on other distros.
|
|
I'll sync the two files as for the new enums in a separate commit.
Trivial fix.
Resolves: Mana-mantis #278.
|
|
|
|
It was renamed and duplicated to "ambientlayer"
|
|
Trivial fix
|
|
Trivial fix
|
|
|
|
Most of Net::InventoryHandler is now done through events. The
ActorSpriteManager was also replaced by events. A few odds and
ends were taken care of too.
Reviewed-by: Bertram
|
|
Conflicts:
mana.cbp
mana.files
src/CMakeLists.txt
src/Makefile.am
src/utils/xml.cpp
|
|
|
|
ResourceManager will now check for ".gz" and act appropriately (unless told
not to). Compression handling functions are now in new utils/zlib files,
along with a function to load a file from drive, uncompressing it if it ends
in ".gz".
Reviewed-by: Freeyorp
|
|
EventManager has been merged into Event, with some new convinience methods
added.
Reviewed-by: Chuck Miller
|
|
Reviewed-by: Yohann Ferreira
|
|
Conflicts:
src/net/tmwa/chathandler.cpp
|
|
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.
|
|
The syntax IF ((condition) OR (condition)) is not accepted by cmake
prior to 2.6.4.
The syntax IF (NOT (condition OR condition)) is also not accepted.
The patch should address this without affecting newer versions.
A newline character was also automatically added to the end of the file.
|