summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2012-05-21Merge branch '0.6'Erik Schilling2-3/+3
2012-05-21Made pickup notifications to appear as particle instead of text by default0.6Erik Schilling1-2/+2
Reviewed-by: bjorn.
2012-05-10Corrected coordinates of window menujurkan1-1/+1
The window menu (the row of buttons at the top right in game) was displayed 3 pixels left of where it should be, which makes the setup button jump 3 pixels left when logging in. Reviewed-by: Ablu
2012-05-07Merge branch '0.6'Thorbjørn Lindeijer1-9/+9
2012-05-07Fixed wrong offset values for tab widget drawingjurkan1-9/+9
Mantis-Issue: 423 Reviewed-by: Thorbjørn Lindeijer
2012-05-06Small protocol fix for NPC messagesThorbjørn Lindeijer1-1/+1
They are no longer sent as fixed-length string since this doesn't work when the new protocol debugging mode is used. Reviewed-by: Ben Longbons
2012-05-05Merge branch '0.6'Thorbjørn Lindeijer6-6/+12
2012-05-05Added debugging mode to the protocolThorbjørn Lindeijer5-21/+119
This makes the client able to send and receive messages sent in debugging mode, where the contents of the messages are annotated. For messages sent from the client the debugging mode is currently always enabled. Later on this could be an internal option or controlled from the server side. Reviewed-by: Erik Schilling
2012-05-05Removed the shared base classes of MessageIn and MessageOutThorbjørn Lindeijer84-660/+612
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
2012-05-05Fixed compilation errors and warnings with GCC 4.7Thorbjørn Lindeijer5-5/+11
Also, since GCC 4.7 there is a binary compatibility issue when linking with a Guichan that was not compiled in C++11 mode. This commit also allows compiling with GCC 4.7 with C++11 mode turned off. Reviewed-by: Erik Schilling
2012-04-19Client side fix for manaserv guild systemErik Schilling3-8/+39
- kick code untested because no kick button exists yet Reviewed-by: bjorn.
2012-04-04Fixed compiler warning because of uninitialized variableErik Schilling1-1/+1
2012-04-04Synced specials to latest manaserv changesErik Schilling5-44/+38
Reviewed-by: bjorn.
2012-04-04Enabled whispers in tabs by defaultErik Schilling1-1/+1
Reviewed-by: bjorn.
2012-04-02Merge branch '0.6'Thorbjørn Lindeijer13-32/+58
2012-04-02Fixed problems with using the last emotev0.6.1Thorbjørn Lindeijer6-15/+10
The tmwa/BeingHandler was adjusting the effect id rather than the emote id, causing it to not find the last emote (and the rest of the emotes only worked correctly because the effect ids were consecutive in the same order as the emote ids). Furthermore, the EmoteShortcutContainer refused to draw the icon for the last emote due to an off-by-one error in dealing with the 1-adjusted emote ids used by the EmoteShortcut class. Also cleaned up some old remains of a player ignore strategy that used to use the two balloon emotes (this had been their original purpose). Reviewed-by: Erik Schilling
2012-04-02Potentially fixed problems with user agent in Windows buildsThorbjørn Lindeijer1-3/+5
The Windows releases have not been properly identifying themselves, and it seems to be due to a compiler issue, as discovered by Stefan Dombrowski (@cody). He did a similar change but didn't push it anywhere so I've redone it. The line that is now split up was very preprocessor-heavy, which may have been part of the problem, but we'll probably never know what it was exactly.
2012-04-02Bumped version and updated news in preparation of 0.6.1 releaseThorbjørn Lindeijer2-3/+3
2012-04-01Update version for Mac OSXDavid Athay1-1/+1
Reviewed-by: Thorbjørn Lindeijer
2012-04-01Made changes to compile on Mac OSX 10.6 and laterDavid Athay4-11/+40
Also added Xcode project for others to compile for Mac OSX. Reviewed-by: Thorbjørn Lindeijer
2012-03-24Merge branch '0.6'Thorbjørn Lindeijer6-28/+58
2012-03-24Introduced compile-time option to disable use of C++0xThorbjørn Lindeijer5-4/+20
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
2012-03-21Added default ports when connecting to a custom server.jurkan3-19/+20
When creating a custom server entry, the default port is used if no other port is specified. Reviewed-by: Thorbjørn Lindeijer Mantis-issue: 464
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-03-18Merge branch '0.6'Thorbjørn Lindeijer2-0/+8
2012-03-18Removed some 'const' keywords from value returnsThorbjørn Lindeijer11-22/+22
It makes no sense to mark a return value as const when it is returned by value. This only makes sense if the return value is passed by reference, in order to prevent the receiver from modifying the value. Also made some other small adjustments. A std::string does not need to be initialized to "" explicitly and getSafeUtf8String could take its parameter by reference. Reviewed-by: Yohann Ferreira
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-18Added notification sound on receiving whisperThorbjørn Lindeijer13-21/+125
One of the sound channels is reserved for notification sounds, of which the volume can be configured separately. Currently, the only notification sound that is played is for receiving whispers. That can be extended later. The newmessage.ogg sound used currently is the one for receiving a message with the Psi instant messenger. Parts of this patch are based on the new message notification in ManaPlus. 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