Age | Commit message (Collapse) | Author | Files | Lines |
|
MSYS2 builds cURL 8.8 with CMake, which installs a CURLConfig.cmake
file. Since CMake 3.17, the FindCURL module will prefer to return the
values from the config file. However, CURLConfig.cmake does not set
CURL_LIBRARIES.
While a fix for this is pending release (see
https://github.com/curl/curl/commit/1dec702c8676fef3a7b5850e5350102876067680),
we can rather update to modern CMake by relying on the IMPORTED target
CURL::libcurl, which is set since CMake 3.12 (our current minimum
required version).
|
|
This also updates ENet from 1.3.2 to 1.3.18.
The previously supported WITH_BUNDLEDHEADERS option that affected which
ENet was being used has now been reversed and renamed to
USE_SYSTEM_ENET, which defaults to OFF for now.
|
|
FindIntl was added with CMake 3.2 and can be used to find the Gettext
libintl headers and libraries.
I've removed special handling of Solaris, which explicitly added linking
to 'intl' and added '/usr/local/lib' include path. It can be easily
restored if necessary, once somebody tries to compile Mana on Solaris.
|
|
This is supported since CMake 3.12 (current minimum) and simplifies the
whole quoting business.
Also used a generator expression to set the DEBUG define conditionally.
At the same time, DEBUG is no longer defined in RelWithDebInfo builds,
but it shouldn't be.
|
|
More consistent formatting and no longer everything in uppercase, yay!
|
|
A leftover from 86522166e082b2defaea541747ecdce0f1149fe5.
|
|
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.
|
|
This should make CMake options a little more standardized. The Windows
part could potentially still be unified further.
Absolute paths are now only used for the defines and not for values
going to install() commands.
|
|
Works without in MSYS2, at least.
|
|
The configured file wasn't actually being used, because it was not in
the include path. Instead, a checked in version was used.
In addition, winver.h is an existing Windows header, which was
conflicting with the generated file. Instead, now mana.rc itself is
configured. We didn't actually need winver.h anywhere else, anyway.
|
|
So that one can choose to build with the Guichan submodule also on
other systems than macOS.
|
|
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
|