Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Reviewed-by: Thorbjørn Lindeijer
|
|
Also added Xcode project for others to compile for Mac OSX.
Reviewed-by: Thorbjørn Lindeijer
|
|
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
|
|
Added a black background for maps that are smaller than the screen resolution
and centered them on screen.
Reviewed-by: Thorbjørn Lindeijer
Mantis-issue: 193
|
|
Reviewed-by: bjorn.
|
|
Mix_LoadMUS_RW was added with SDL_mixer 1.2.9.
Reviewed-by: Erik Schilling
|
|
Wrong define was used in the code.
|
|
Before it was a bit tricky to select the a being if there are two others around.
I fixed this by going through all sprites and looking for the closest one to the
mouse.
Reviewed-by: bjorn.
|
|
I tested it with the Towel and the Wedding Ring
on the testing server.
Spotted-by: Jenalya, cody.
Reviewed-by: Erik Schilling
|
|
Reviewed-by: Ablu and Bjorn
|
|
The thanks messages got removed, because they are useless and when
selling many items they completely trashed the chat.
In Mana 0.5 this was already fixed, see commit
13c4a1131854887ac9ec83f80c7964f6b2949c87.
Reviewed-by: Ablu
|
|
This getDrawOrder hack is no longer necessary. It basically moved to
the ActorSprite, in the other direction.
Reviewed-by: Erik Schilling
|
|
This was improperly done because of possible differences
in the actual victim position, due to server lag.
Spotted-by: cody
Reviewed-by: Thorbjørn Lindeijer
|
|
On the fringe layer, actors are drawn 'sorted' together with the tiles. When
the sorting order was separated from the actual Y position of the actor, the
tile drawing loop was not adapted to take this drawOrder into account rather
than the plain Y position.
Also, ActorSprite::draw was applying a half-tile offset to position the sprite
at the bottom while the logical position of the actor is at the center of the
tile. However, it failed to override getDrawOrder to account for this offset,
causing actors to get drawn earlier than they should (and thus being overlapped
by fringe layer tiles when they actually shouldn't).
This fixes drawing glitches with the paths around Hurnscald and reduces the
glitches when walking up/down through grass.
Reviewed-by: Erik Schilling
|
|
The filter system added while ago used to override the item slot
true order, even when being empty.
I now made the draw ordering change only when the filter is in use.
Reviewed-by: Thorbjørn Lindeijer
|
|
I made sure the manaserv based custom server don't get deleted
when running a manaserv-less client session.
Reviewed-by: Thorbjørn Lindeijer
|
|
The scaled wallpaper looks quite a bit better when linear texture
smoothing is applied, and I could not measure a significant difference
in framerate from setting the texture filter to GL_NEAREST. Hence it
seems not necessary to me to introduce the smoothing as an option.
The default value for GL_TEXTURE_MIN_FILTER is GL_NEAREST_MIPMAP_LINEAR
and the default for GL_TEXTURE_MAG_FILTER is GL_LINEAR. These make sure
that the texture is reasonably smoothed by using the weighted average of
the nearest four pixels.
Reviewed-by: Erik Schilling
|
|
This shopping mechanism is not supported by this client at the moment,
and it's annoying to have these turn up in whispers.
Reviewed-by: Stefan Beller
Reviewed-by: Erik Schilling
|
|
Now it searches for the smallest wallpaper that is at least as large as
the screen, since downscaling is preferred to upscaling. When not found,
it will go with the largest available wallpaper.
Previously, the algorithm preferred upscaling, but didn't bother
searching for the largest available one, but would pick a random image.
It would also revert to the default Mana wallpaper when no image was
small enough to fit on the screen.
Reviewed-by: Erik Schilling
Reviewed-by: Yohann Ferreira
|
|
+ Fixed disabling of use button when possible
Reviewed-by: bjorn.
|
|
* Changes were made to the way BrowserBox does colors that the help files
were not adapted to. For example, there is no more ##P for choosing the
previous color and applying a color changes it persistently rather than
returning to default text color after each line wrap. Rather than changing
the behavior of BrowserBox back I've just adapted the help files.
* Set a monospace font on the Help window because this was originally the
case and the text still relies on that for its layout.
* zlib and CSV support was already cherry-picked into 0.5.1 so it is removed
from the 0.6.0 changelog.
Reviewed-by: Erik Schilling
|
|
Reviewed-by: Erik Schilling
|
|
Reviewed-by: Erik Schilling
|
|
Image::SDLgetScaledImage was changed so that it tries to find an existing
scaled version of the image first, and generates it when none exists.
When it needs to generate one, this resource is added to the resource
manager, partly to avoid duplicating the work later but mainly to keep
memory management straightforward.
This function also used to leak the scaled SDL_Surface since it wrongly
assumed that Image::load would free it.
To avoid filling up the memory with scaled wallpapers that are waiting
30 seconds until they will be deleted, the Resource::decRef function was
extended with a parameter that allows telling it what to do with orphans.
Calling decRef with Resource::DeleteImmediately will delete the resource
immediately in case the resource is orphaned.
Reviewed-by: Yohann Ferreira
|
|
Unified Graphics:setFullscreen and Graphics:resize into a single
Graphics:changeVideoMode function that tries to restore the existing mode when
changing to the new mode didn't work, and exists with an error when that also
fails.
Split up handling of SDL_VIDEORESIZE and the adapting to new resolution in the
Client class, so that the second part could also be called when changing
resolution fullscreen mode.
The Video tab in the Setup window now also filters out any modes smaller than
640x480 since the game won't properly adapt to that resolution anyway.
Reviewed-by: Yohann Ferreira
|
|
This is broken with current TMW client-data, so it has to be fixed there.
|
|
This happened when the emote shortcut config has got too high ids
in it, i.e. when testing different client version on the same host.
Reviewed-by: Erik Schilling
|
|
The icon for #betsanc is still shown too high.
Reviewed-by: Ablu, Bertram
|
|
I think it also looks a bit more organized overall.
Reviewed-by: Erik Schilling
|
|
SDL_ttf provides a separate function for getting the recommended line skip, or
the spacing between two lines of text. When rendering multiple lines of text
this should be used rather than the visual height of the font.
Since the information is only available for TrueTypeFont, a dynamic_cast was
used with a fallback on gcn::Font::getHeight.
Also made some small tweaks but nothing that really affects performance.
Reviewed-by: Yohann Ferreira
|
|
Spotted-by: cody.
Reviewed-by: bjorn.
|
|
Resolves: Mana-Mantis #457.
Reviewed-by: Bertram.
|
|
Reviewed-by: Erik Schilling
|
|
Reviewed-by: Erik Schilling
|
|
- Fixed the player attacking when clicking on a monster,
and then walking near using the keyboard.
- Fixed the walking glitch seen in tile path mode by letting
the character reach its nearest tile path node.
Reviewed-by: Thorbjørn Lindeijer
|
|
The 'paths' configuration in client-data now overrides any configuration
in 'branding', so that it will apply after the updates for a certain
server have been downloaded.
Also, some isDirectory checks have been removed. When the configuration
is wrong, it's probably better to see that there is a problem.
Reviewed-by: Yohann Ferreira
|
|
The check whether a filename contains any '%' character was failing because
the 'unsigned int separator' was too small to hold std::string::npos.
Reviewed-by: Yohann Ferreira
|
|
Now announcements will only get displayed on the current tab + on the local tab
Reviewed-by: Thorbjørn Lindeijer
|
|
One pixel of the scroll bar wasn't visible since the mWidgetContainer
is shifted by one pixel by gcn::TabbedArea::adjustSize, which wasn't
being taken into account by our custom mWidgetContainer sizing code.
Fixed that by just letting Guichan handle it.
Another issue was that the tab scroll arrows were appearing before they
were needed, since they took into account their own size when checking
whether the tabs had enough space.
Finally, a Layout has a default padding of 6 pixels but this is a little
much for the chat window. I reduced it to 3 pixels now.
Reviewed-by: Erik Schilling
|
|
Ignore LocalPlayer::setDestination calls in this case, because it relies on the
tile size of the current map.
Reviewed-by: Erik Schilling
|
|
This reverts commit 92fd074aa85e2357bfe1ab642209dd5a0d87e4d5.
Reverting because these checks should be done server-side and because having
them in the client would currently require wrapping them up in checks if
there is even a current map due to the reliance on tile size (we need to
handle the case where the current map didn't load properly without crashing).
Conflicts:
src/map.cpp
src/net/manaserv/beinghandler.cpp
Reviewed-by: Erik Schilling
|
|
If the player switches login, then the password field in the
login window should be empty. This was not the case after
registering or password change.
Reviewed-by: Ablu, Bertram
|
|
Better to show non-rotated/flipped tiles than no tile at all. This also
fixes interpretation of collision tiles that happen to be flipped.
Also interpret the gid as an unsigned number, since that's how they are
written in the TMX file since the introduction of these flags.
Reviewed-by: Yohann Ferreira
|
|
I first removed the keep attacking and pickup targetting unset
statements in the setdestination() function
since it was messing with all the rest of the logic,
and put those targetting logic where they belonged more.
I also changed the gotoTarget function to properly call the setTarget
function which permitted to properly unset the previous target
in that case.
I also finished the logic built around the mGoingToTarget member
(until then actually unused) to make it all work again.
At last, I also removed a now false comment
in the startWalking() function.
Reviewed-by: Erik Schilling
|
|
The direction is updated in those case only when the engine knows
it's the mouse requesting the destination.
Reviewed-by: Erik Schilling
|
|
I also made the range be taken from the server type
as for the pickup and npc talk ranges.
Last but no least, I fixed the parameters sent with
PGMSG_PICKUP to send the (item) position where to pickup at
as described in the manaserv protocol.
The pickup is still not 100% functional due certainly
to two problems:
1. The client item coordinates might not be the exact same as in the server.
2. The client seems to try to pick up the item a bit too soon,
probably for the reason given in 1.
I'll investigate this in another patch.
Reviewed-by: Thorbjørn Lindeijer, Erik Schilling.
|
|
I also made the button not readjust its size when deleted
to avoid a crash.
Reviewed-by: Erik Schilling
|
|
Made the player's character look at where it is going
even when using the keyboard, by setting its direction
after getting the actual destination, and not before.
I also used the lookAt() function to avoid yet another
custom way of setting the direction.
Reviewed-by: Erik Schilling
|
|
The character used to stick to both corners of an obstacle it
encountered when walking diagonally.
Now it simply go back to the straight moving mode when
encountering an obstacle in one of the two direction used.
This also simplifies the function logic.
The character direction bug left is still there,
and will be dealt in a separate patch with.
Reviewed-by: Erik Schilling
|