Age | Commit message (Collapse) | Author | Files | Lines |
|
Doing some cleanups before working towards optimizing this code.
Removed needless additional wrapping code in BrowserBox::addRow, since
the text will be relayouted anyway.
Simplified layouting code a little. For example, there's no need to keep
track of the number of wrapped lines.
Use more optimal data structures, like an std::deque for the text rows
and a plain std::vector for the line parts. Both have less fragmentation
than an std::list.
|
|
This patch is not exhaustive.
|
|
This just checks that the client compiles on Ubuntu for now.
Also fixed a PhysicsFS linker issue introduced in
ffa8ea13fbf50ad59d9fc4cea71b9aec4aca8bac...
|
|
It is used for writing screenshots.
|
|
Wrong format was passed to SDL_RenderReadPixels. Issue introduced in
2c51c98625b225cecfb9628c30d62d4e30f7e3e1.
Closes #52
|
|
|
|
C++17 should be universal enough by now.
This raises the minimum CMake to 3.8, which should also pose no problem since
Ubuntu 18.04 already shipped with CMake 3.10.
C++17's 'if' initialization statement is now used in an efficient
implementation of 'join' for vector<string>, found on StackOverflow.
|
|
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).
|
|
Closes #51
|
|
Apparently this was supported before, but support for that was lost in
bd1fdd87eed48ba3ffcc413936d6a6a60a429a97.
Fixes #46
|
|
Hadn't expected 87470d984cc8f6fe12a354aec7bf93ee4fcb95eb to break the
build, heh.
|
|
These checks are unnecessary as deleting a null pointer has no effect.
|
|
|
|
|
|
|
|
|
|
Continuation of 2c51c98625b225cecfb9628c30d62d4e30f7e3e1, which had
already removed most of the alpha cache in Image.
|
|
Using the latest implementation from ManaPlus. Previous version was
introduced with 844e9a7a72faca6a212e788a3adc45e17f41dca6 and failed to
"secure" the name due to broken conditions.
|
|
modernize-loop-convert
modernize-deprecated-headers
|
|
Fixes compatibility with SDL2. The old version compiled for whatever
reason, but it would crash when the client tried to play a sound.
|
|
SDL_GetKeyboardState array needs to be indexed by scan codes.
|
|
SDL_GetKeyState used to return an array that is indexed by SDLKey, but
its equivalant, SDL_GetKeyboardState, returns an array that is supposed
to be indexed using SDL_Scancode.
|
|
A custom "Mask" property on a layer or a "foregroundXmask" property on a
map can now be used in combination with the SMSG_MAP_MASK to dynamically
disable certain map layers from the server.
Feature previously seen on ManaPlus and implemented for Mana client for
compatibility.
Also added a ResourceRef class for automating the Resource reference
counting.
Closes #44
|
|
For compatibility with TMW, which has not yet adopted a central
"settings.xml" that includes all the other files.
Also, a "name" attribute with an absolute path is now supported in
addition to the relative "file" attribute, since that is what ManaPlus
supported.
This resolves most of issue #43.
|
|
modernize-use-auto
modernize-use-nullptr
modernize-use-override
modernize-use-using
|
|
This option was added in ManaPlus and support for it is required to
connect to The Mana World as it is currently set up, since the server
sends 127.0.0.1 for the character server and map server IP.
Can't play yet, because of an unknown packet 0x226 being received once
connecting to the map server.
|
|
Since we now use SDL2, OpenGL is used through the SDL2 API. This appears
to work very well and handles resizing better (with less flicker). Our
manual OpenGL rendering code is probably obsolete.
The "hwaccel" option referred to hardware accelerations supported by
SDL1 and is no longer relevant.
|
|
|
|
It was only used for the clipboard, which is now interacted with through
SDL 2.
|
|
|
|
|
|
|
|
|
|
It is unclear whether there are any protocol differences that should be
dealt with at this point, but without this the login fails with "Client
too old." error.
|
|
|
|
Qt Creator can just open the CMakeLists.txt these days.
|
|
|
|
There should be no need to export the functions explicitly, given that
they are compiled as part of the executable.
|
|
|
|
* Fixed compiler errors due to dynamic exception specifications
* Replace std::auto_ptr with std::unique_ptr
* Replace std::mem_fun with std::mem_fn
* Prefix for_each with std:: (apparently not needed before)
* Just use lambda instead of std::bind2nd
* Removed usages of std::unary_function
|
|
|
|
The CMSG_NPC_STR_RESPONSE packet transmits a string
of variable length.
|
|
|
|
|
|
|
|
It should not return large numbers after reading past the end of a
message. This can cause infinite loops in several places in the client
when a message happened to be shorter than expected.
|
|
|
|
Previously the redirect was from www.manasource.org to manasource.org.
|