summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2012-08-12Removed manual calling of glFlush and made glFinish optionalThorbjørn Lindeijer2-3/+31
Actually neither glFlush nor glFinish need to be called manually [1]. However, the rendering pipeline is then free to queue up future frames which can cause a lag which is especially noticable with mouse movement. To avoid this lag, we call glFinish after SDL_GL_SwapBuffers. This makes sure processing of the next frame does not start before the current frame is being displayed. [1] http://www.opengl.org/wiki/Common_Mistakes#glFinish_and_glFlush Reviewed-by: Yohann Ferreira Sounded-fine-to: Erik Schilling
2012-08-11Removed two unused variablesThorbjørn Lindeijer1-3/+0
Reviewed-by: Erik Schilling
2012-08-11Fixed handling of --chat-log-dir command line optionThorbjørn Lindeijer1-1/+2
It was also setting the screenshot directory. Reviewed-by: Erik Schilling
2012-08-08Changed to using delete_all instead of a loopTom Leese1-8/+2
Reviewed-by: Erik Schilling.
2012-08-07Fixed issue where previous special entries were drawn underneathTom Leese1-0/+7
Reviewed-by: Erik Schilling.
2012-08-05Fixed drawing issues with tiles that don't match the gridThorbjørn Lindeijer2-2/+7
An optimization in the tile layer rendering code meant for drawing repeated tiles faster was not taking into account the case where the tile width does not match the width of the tile grid. Reviewed-by: Stefan Beller
2012-08-05Enable OpenGL by default on all platformsThorbjørn Lindeijer2-6/+2
Before it was only enabled by default for Mac. Reviewed-by: Erik Schilling
2012-08-05Removed 'virtual' from methods of ImageThorbjørn Lindeijer4-26/+15
Maybe it used to be necessary for these methods to be virtual, but this is no longer the case. Hence we can avoid wasting CPU ticks searching through virtual function tables, especially for frequently used methods like getWidth, getHeight and setAlpha. MapLayer::getTile was inlined. Reviewed-by: Erik Schilling
2012-08-05Removed all the hardcoded sizes of the various setup tabsThorbjørn Lindeijer19-81/+66
Instead, support for dynamically adjusting layout was added to the Container class. Various other places were also adapted to use the new layout support in Container. Reviewed-by: Erik Schilling
2012-08-05Avoid copying surfaces unnecessarily for upload to textureThorbjørn Lindeijer2-26/+36
When uploading an SDL surface to an OpenGL texture, it was always making a copy that had the desired size and pixel format. Now this copy is no longer being made when the existing surface already has the target size and pixel format. In fact most images are already in 32-bit RGBA format after loading them. Reviewed-by: Erik Schilling
2012-08-05Specify a more specific image format when uploading texturesThorbjørn Lindeijer1-1/+1
While simply specifying "4 components" works, it is preferred to specify the actual image format like GL_RGBA8 in our case. http://www.opengl.org/wiki/Common_Mistakes#Image_precision Reviewed-by: Erik Schilling
2012-08-05Added support for ARB_texture_non_power_of_two extensionThorbjørn Lindeijer3-2/+7
If the graphics driver supports this, there is no need to create textures with power-of-two dimensions. It is then also preferred to use regular textures than relying on the older GL_ARB_texture_rectangle extension. Reviewed-by: Erik Schilling
2012-08-05Some cleanups in OpenGL codeThorbjørn Lindeijer2-49/+1
* Removed empty and unused function `setTargetPlane` * Removed duplicated enabling of `GL_VERTEX_ARRAY` * Removed strange smoothing code from `drawRescaledImage` Reviewed-by: Erik Schilling
2012-08-05Fixed mixup of parameter types in OpenGL codeThorbjørn Lindeijer1-4/+4
Textures were not rendering correctly on cards that did not support the GL_ARB_texture_rectangle extension, since the alternative code path was passing ints as floats and floats as ints to OpenGL. Reviewed-by: Erik Schilling
2012-08-05Fixed indentation of Image::_GLloadThorbjørn Lindeijer1-75/+75
Reviewed-by: Stefan Beller
2012-08-05Revert "Graphics: take only const pointers to images."Thorbjørn Lindeijer2-6/+6
This reverts commit 4eea727b7649726670d8963d11ab4fd429624b3e. It broke the overrides of the virtual functions and leaves the Graphics API in inconsistent state with some Image* being const and others not.
2012-08-05Graphics: take only const pointers to images.Stefan Beller2-6/+6
Acked-by: Erik Schilling
2012-08-02Removing constructor of DebugSwitches.Stefan Beller1-15/+0
The class DebugSwitches is a derived class from Container, 'which automatically deletes its child widgets, so there is no need for such fragile cleanup code.' acked-by: bjorn
2012-08-02Add a checkbox to the debugging window to show being ids.Stefan Beller3-4/+46
Reviewed-by: Ablu
2012-07-25Revert "Leave the default values for OpenGL texture filters"Thorbjørn Lindeijer1-0/+2
This reverts commit 137ade7226af37d073a5755b90181275664dd65c. Turns out that when leaving the default values, the textures won't actually work since they are incomplete unless the mipmaps are generated (since GL_TEXTURE_MIN_FILTER is GL_NEAREST_MIPMAP_LINEAR by default). For now we don't want to generate mipmaps anyway since we're going for a pixely look, so revert the filters back to GL_NEAREST. The reason this had worked for me is because on my system the texture type GL_TEXTURE_RECTANGLE_ARB is used instead of GL_TEXTURE_2D and this texture type does not support mipmaps.
2012-07-25Prevented crash with nonexisting particle sprite.Erik Schilling1-2/+10
2012-07-25Added handler to display text particles sent by serverErik Schilling3-0/+14
Change is tested. Reviewed-by: bjorn.
2012-06-26don't overwrite system/environment CXXFLAGShasufell1-1/+1
Reviewed-by: Ablu.
2012-06-08Made error on imageset loading a bit more informativeErik Schilling1-1/+2
Reviewed-by: bjorn.
2012-05-25Fixed skill display for manaservErik Schilling3-5/+12
- shows manaserv skills at all - shows the progress bar for manaserv skills again - shows the level for this skills (server side patch needed) TODO: URGENT: Fix attributes and skills getting stored in same list. Reviewed-by: Bertram.
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