summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2012-03-18Fixed issues with rendering very small mapsjurkan1-24/+38
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
2012-02-26Fixed display of server descriptionErik Schilling1-0/+1
Reviewed-by: bjorn.
2012-02-25Fixed compiling against SDL_mixer versions before 1.2.9Thorbjørn Lindeijer1-0/+7
Mix_LoadMUS_RW was added with SDL_mixer 1.2.9. Reviewed-by: Erik Schilling
2012-02-18Fixed manaserv-enabled buildsThorbjørn Lindeijer4-11/+11
Wrong define was used in the code.
2012-02-17Fixed selecting of beings that are flanked between two othersErik Schilling1-8/+19
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.
2012-02-15Deswapped the ring2 and necklace equip slots for tA.Yohann Ferreira1-2/+2
I tested it with the Towel and the Wedding Ring on the testing server. Spotted-by: Jenalya, cody. Reviewed-by: Erik Schilling
2012-02-14Omit equipping of non-existing itemsStefan Dombrowski1-7/+16
Reviewed-by: Ablu and Bjorn
2012-02-14Removing NPC trade messages from chatStefan Dombrowski1-8/+2
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
2012-02-13Fixed drawing order of particlesThorbjørn Lindeijer2-10/+0
This getDrawOrder hack is no longer necessary. It basically moved to the ActorSprite, in the other direction. Reviewed-by: Erik Schilling
2012-02-12Made the client not stop the target attack once in range.Yohann Ferreira1-1/+1
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
2012-02-12Fixes to actor drawing orderThorbjørn Lindeijer3-12/+22
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
2012-02-12Fixed inventory displayYohann Ferreira1-3/+6
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
2012-02-12Restored manaserv-less buildsYohann Ferreira5-6/+31
I made sure the manaserv based custom server don't get deleted when running a manaserv-less client session. Reviewed-by: Thorbjørn Lindeijer
2012-02-12Leave the default values for OpenGL texture filtersThorbjørn Lindeijer1-2/+0
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
2012-02-12Ignore ManaPlus shop commandsThorbjørn Lindeijer1-0/+13
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
2012-02-12Improved the wallpaper choosing algorithmThorbjørn Lindeijer1-24/+22
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
2012-02-11Made items equippable by double click in inventoryErik Schilling2-2/+10
+ Fixed disabling of use button when possible Reviewed-by: bjorn.
2012-02-11Fixed issues with the help texts and small NEWS file updatesThorbjørn Lindeijer2-6/+2
* 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
2012-02-10Arbitrary small code cleanupsThorbjørn Lindeijer5-9/+7
Reviewed-by: Erik Schilling
2012-02-10Corrected two spelling mistakesjurkan2-2/+2
Reviewed-by: Erik Schilling
2012-02-09Fixed wallpaper prescaling issuesThorbjørn Lindeijer9-90/+174
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
2012-02-09Allow changing fullscreen resolution without restartThorbjørn Lindeijer6-123/+145
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
2012-02-09Setting y-offset back to 3 for status effect iconsStefan Dombrowski1-1/+1
This is broken with current TMW client-data, so it has to be fixed there.
2012-02-09Avoid a crash after selecting one's character linked to emotes.Yohann Ferreira1-3/+3
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
2012-02-09Show status effect icons again and position adjustStefan Dombrowski1-2/+3
The icon for #betsanc is still shown too high. Reviewed-by: Ablu, Bertram
2012-02-08Reorganized Video settings so that labels have more spaceThorbjørn Lindeijer1-21/+22
I think it also looks a bit more organized overall. Reviewed-by: Erik Schilling
2012-02-07Made BrowserBox use the recommended line skip for its fontThorbjørn Lindeijer4-48/+73
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
2012-02-07Fixed debug window not saving its position and sizeErik Schilling1-2/+2
Spotted-by: cody. Reviewed-by: bjorn.
2012-02-07Fixed color updates of magic barErik Schilling3-0/+22
Resolves: Mana-Mantis #457. Reviewed-by: Bertram.
2012-02-07Added cmake status messages on compile options used.Yohann Ferreira1-0/+4
Reviewed-by: Erik Schilling
2012-02-07Fixed the server type selected when modifying a custom server.Yohann Ferreira1-2/+2
Reviewed-by: Erik Schilling
2012-02-07Hopefully fixed two issues in the go and attack playflowYohann Ferreira2-13/+34
- 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
2012-02-06Some cleanups in the initialization of wallpaper pathsThorbjørn Lindeijer3-28/+33
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
2012-02-06Fixed searching for wallpapers on 64-bit machinesThorbjørn Lindeijer1-4/+2
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
2012-02-05Fixed spreading over tabs not spamming too muchErik Schilling1-16/+4
Now announcements will only get displayed on the current tab + on the local tab Reviewed-by: Thorbjørn Lindeijer
2012-02-05Fixed some layout issues with the chat windowThorbjørn Lindeijer2-31/+22
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
2012-02-05Fixed crash when the map couldn't be loadedThorbjørn Lindeijer1-0/+3
Ignore LocalPlayer::setDestination calls in this case, because it relies on the tile size of the current map. Reviewed-by: Erik Schilling
2012-02-05Revert "Checking being positions send by the server"Thorbjørn Lindeijer3-36/+0
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
2012-02-04Removing password from memoryStefan Dombrowski1-1/+2
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
2012-02-03Clear tile flags from the gid before further processingThorbjørn Lindeijer5-11/+23
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
2012-02-03Fixed the go and attack mouse clickYohann Ferreira2-24/+51
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
2012-02-03Fixed the player character's direction update when clicking on a monster.Yohann Ferreira1-0/+1
The direction is updated in those case only when the engine knows it's the mouse requesting the destination. Reviewed-by: Erik Schilling
2012-02-03Simplified and made generic the way the pickup is handled.Yohann Ferreira11-32/+68
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.
2012-02-03Changed the setup button at login stage to use the icon.Yohann Ferreira3-5/+9
I also made the button not readjust its size when deleted to avoid a crash. Reviewed-by: Erik Schilling
2012-02-02Fixed player's character direction.Yohann Ferreira2-4/+4
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
2012-02-02Fixed diagonal walking to be much more smooth.Yohann Ferreira1-72/+65
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
2012-02-02Remove duplicate direction computation by a call to lookAt()Yohann Ferreira1-19/+1
It simply does the same thing, in better. Reviewed-by: Erik Schilling
2012-02-02Fix to the hair colors and styles handling.Yohann Ferreira15-126/+269
- I made the charCreatedialog handle a possible max permitted color Id and a minimum hair style id for tA. - Added a foundation to later load the styles and colors from the same file, to handle the Mana-issue #224 for manaserv. - Support for non-contiguous hair color and style ids has also been added. - I also replaced the < and > arrow signs with images. Reviewed-by: Ben Longbons, Thorbjørn Lindeijer
2012-02-02Fixed the use of custom particle effects for attacks.Yohann Ferreira2-7/+7
The tA beingmanager was wrongly using the attack type in the Being::handleAttack() function, which is in fact used to set the attack id. Thus, breaking the attack id given and all its attack parameters. I noticed that while updating the client data for TMW. Reviewed-by: Thorbjørn Lindeijer
2012-01-31Fixed saving the selected server at server connection level.Yohann Ferreira2-3/+5
I also change the serverInfo to use a deque to permit the use of the push_front function. Spotted and reviewed-by: Erik Schilling