Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
Members that are implemented inline are already inline, there is no need
to mark them as such.
Made two inline members of OpenGLGraphics private since because they are
marked as inline, they can't be used from other classes.
Reviewed-by: Erik Schilling
|
|
Makes sure that the client starts up again in the same size.
Reviewed-by: Erik Schilling
|
|
Reviewed-by: Bjorn
|
|
This happened when an NPC, monster or item couldn't be found and it had
to fall back on Being::Unknown. This instance was bugged since it had a
0 pointer in its sprites list, because when the Being::Unknown was
created, the SpriteDef::Empty was not initialized yet (since both were
global static variables, the initialization order was not well
defined).
Fixed it by removing SpriteDef::Empty and instead creating it in the
BeingInfo constructor. I've also changed the SpriteReference instances
to be inline values rather than instances on the heap, since they're
quite small. That also fixed a leak since those instances were never
getting deleted.
Reviewed-by: Yohann Ferreira
|
|
Use Mix_LoadMUS_RW to stream music files directly from PhysFS. I kept
around ResourceManager:copyFile for now, since it may have other uses.
Also cleaned up some initialization of configuration defaults.
Reviewed-by: Yohann Ferreira
|
|
Reviewed-by: Yohann Ferreira
|
|
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
|
|
+ Fixes from Bjorns review.
Reviewed-by: Bjorn.
|
|
Window positions are semi-smartly corrected as a result of the resize.
Not supported when using OpenGL on Windows for now.
Reviewed-by: Yohann Ferreira
|
|
Reviewed-by: Bertram.
|
|
The #include "../config.h" no longer works since we're not using
configure anymore. Just define USE_OPENGL so that this part of the code
is parsed at least.
|
|
- Added support for senders of announcement
Reviewed-by: Bjorn.
|
|
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.
|
|
Also made it remember its size and position.
Reviewed-by: Erik Schilling
|
|
Reviewed-by: Bjorn.
|
|
The hurt sound volume was being played based on the distance in tiles,
even though Sound::playSfx was expecting pixels. This would cause
hurt sounds of other players to play too loud.
There were also several conversions between pixel and tile coordinates
that could be simplified.
Reviewed-by: Yohann Ferreira
|
|
This can always happen, either due to mismatching local data or a
server-side error. The client displays a pop-up in this case, but
it's not possible to read that when it crashes as well.
Reviewed-by: Yohann Ferreira
|
|
By taking into account that the sprite is drawn half a tile lower than
the position of the being (that is messy on its own, but hard to fix
while supporting both pixel and tile based movement).
It also makes sure that the click area is at least 32x32 pixels, no
matter how small the being. This fixes the lack of a clickable area
for NPCs without a sprite (like some chests or signs) and makes
small monsters like maggots easier to hit.
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
|
|
The patch also takes care of not spamming the different servers,
when the servers are setting the being speed correctly.
The most problems were coming from the keyboard movement functions
handling 1 tile paths. To void the issues seen in #405, #439,
and #440, I simply prevented to set a new path before reaching
the destination of the former one, when using the keyboard.
The mouse path system remains unchanged.
I also made some functions private (or here protected)
to show they shouldn't be called by something else than
the localplayer object.
And I removed the nextTile() function, since it was obsolete,
unused, and replaced by the nextTile(direction) function.
That patch was tested on both servers with mouse/keyboard
mixed use.
Resolves: Mana-Mantis #405, #439, #440.
Reviewed-by: bjorn
|
|
Reviewed-by: Thorbjørn Lindeijer
Reviewed-by: Yohann Ferreira
|
|
This fixes a segfault when trying to do /announce on manaserv servers.
Reviewed-by: Bertram, 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
|
|
Just to make everything a bit more readable on modern screen resolutions.
Reviewed-by: Yohann Ferreira
|
|
Reviewed-by: Thorbjørn Lindeijer
Reviewed-by: Yohann Ferreira
|
|
Reviewed-by: Bertram
|
|
Rather useful when selling items to quickly see what you have in abundance,
rather than only seeing the quantity of the selected item.
Reviewed-by: Yohann Ferreira
|
|
The XMLContext is only relevant while an XML file is being parsed. So
rather than allocating it on the heap and forgetting to delete it again,
it's now allocated on the stack and thrown away automatically.
Reviewed-by: Yohann Ferreira
|
|
The 'inflated' pointer wasn't initialized, but included in the if
check for some reason (caught by valgrind). This would have caused
support for .gz compressed maps to break sometimes, but since we
don't use such maps anymore, maybe support for it should actually
be dropped.
Reviewed-by: Yohann Ferreira
|
|
Also shortened the title of the Custom Server dialog to "Custom Server"
since it is also used for editing an existing custom server and not just
for adding a new one.
And used Window::center() in a bunch of places just to reduce code size.
Reviewed-by: Yohann Ferreira
|
|
This issue was much nastier than it first sounded.
The issue was happening when using a long weapon (like the scythe)
with the SDL backend.
The algorithm computing the sprite compound frames into one
would then update the sprite height to a high value
(127 in my case), leading to put the bubble too far away
from the player.
The algorithm not being in cause about the needed height,
I noticed that the simplest way to set a good Y position
of the text bubbles was to simply set a maximum.
A config option can be added later.
I also unified the way the position is computed in the being class.
+ Function description sentence removal requested by bjorn.
Resolves: Mana-Mantis #447.
Reviewed-by: bjorn.
|
|
Replaced the switch statements with static lookup arrays.
Reviewed-by: Yohann Ferreira
|
|
1st part of Mana-Mantis #441.
Reviewed-by: Bjorn
|
|
This was an annoyance in long lasting battles.
Resolves: Mana-Mantis #445.
Rewiewed-by: Ablu, bjorn
|
|
Reviewed-by: Yohann Ferreira
|
|
+ Fixe requested by Ablu.
Reviewed-by: Ablu
|
|
This was righteously requested by Ablu as missing
when dealing with one's own entries.
Reviewed-by: Ablu
|
|
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
|
|
Reviewed-by: Ablu
|
|
In fact, the bug was nastier and could also concern
many other beings, such as squirels, and some players.
The bug came from the distance odd check I added a while ago.
This (ugly) hack wasn't needed anymore since I made beings
finish their path before starting the new one also a while ago.
This also fixes some movement glitches I've seen in manaserv
at login time (Hurray).
Thanks for Ali-G for spotting this one.
Reviewed-by: Ablu
|
|
Resolves: Mana-Mantis #381.
Reviewed-by: Ablu.
|
|
The close button will only display when the window is waiting
for the server, so that crashed windows can be closed without
restarting the client.
Pushing the QUIT key (Escape by default) will also close
the crashed windows in that case.
I also fixed a memleak with the "next" button.
Resolves: Mana-Mantis #72, 93, 389.
Reviewed-by: Ablu.
|
|
The correct solution will be to make the buttons aware
of each others and it seems the placer can't do that atm.
But let's add that after the release.
|
|
default locale.
Spotted by Ali-G.
Reviewed-by: Ablu.
|
|
I also renamed the badly named members to clarify it all.
Part of Mana-Mantis #420.
Reviewed-by: Ablu.
|
|
Conflicts:
src/actorsprite.cpp
|
|
This was introduced since Crush updated his mana lib pack.
I simply changed the names to avoid a collision.
Reviewed-by: Ablu.
|
|
I removed all the misuse of std::map::operator[]
I could find, especially there:
if (!(*container)[name])
where the [] was creating the entry while checking
for its existence.
This should avoid the memory corruption problem
seen in the Mana-Mantis #400.
Patch tested in game by: Ablu.
Resolves: Mana Mantis #400
Reviewed-by: Ablu.
|