summaryrefslogtreecommitdiff
path: root/src/resources
AgeCommit message (Collapse)AuthorFilesLines
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-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 Schilling1-0/+1
+ Fixed disabling of use button when possible Reviewed-by: bjorn.
2012-02-09Fixed wallpaper prescaling issuesThorbjørn Lindeijer7-56/+115
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-06Some cleanups in the initialization of wallpaper pathsThorbjørn Lindeijer1-26/+31
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-03Clear tile flags from the gid before further processingThorbjørn Lindeijer1-5/+16
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-02Fix to the hair colors and styles handling.Yohann Ferreira3-56/+167
- 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 Ferreira1-4/+5
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-31Added missing copyright notices.Yohann Ferreira2-0/+2
Reviewed-by: Erik Schilling
2012-01-30Add default offsets in imageset tag for all animations.Andrei Karas3-3/+24
Reviewed-by: Bjorn.
2012-01-26Updated copyrights to 2012Thorbjørn Lindeijer46-46/+46
2012-01-26Removed 'inline' keyword where it's not of any valueThorbjørn Lindeijer1-5/+5
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
2012-01-24Fixed the crash in setupSpriteDisplayThorbjørn Lindeijer6-18/+18
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
2012-01-24Stream music files directly from the archivesThorbjørn Lindeijer2-50/+17
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
2012-01-24Removed unused function Image::SDLmergeThorbjørn Lindeijer2-87/+0
Reviewed-by: Yohann Ferreira
2012-01-24Use SDL_RWops directly on top of PhysFSThorbjørn Lindeijer8-52/+31
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
2012-01-18ColorDB -> HairDB.Yohann Ferreira2-11/+13
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
2012-01-09Spotted some more hard-coded files and paths definitions.Yohann Ferreira2-5/+5
Conflicts: src/actorsprite.cpp
2011-12-02Mac: Change to local SDL inclues.David Athay2-2/+2
2011-11-25Prevented circular include in sprite definitionsErik Schilling1-4/+15
When including a file that already is included the client won't try to load it again and end in an endless loop but stops parsing and logs and warning. Reviewed-by: bjorn.
2011-10-23Fixed a certain class of Doxygen warningsThorbjørn Lindeijer3-9/+6
All cases of documentation for non-existing parameters are now fixed. Also marked a few getters as 'const', removed some superfluous 'inline' keywords and removed the unused 'forceQuantity' option from ItemContainer. Reviewed-by: Yohann Ferreira
2011-09-30Remove goto from dye.cppAndrei Karas1-2/+11
2011-06-23Made the being death sequence better handled.Yohann Ferreira2-2/+4
Now the death animation is set to the minimum of 1.5 seconds just as in the older versions, but permit longer sequences as well. I didn't put a maximum hard cap on it as it may be a burden for the maintainers whatever the hard cap would be, and as it isn't vital to set one anyway. Resolves: Mana-Mantis #364. Reviewed-by: bjorn, Jaxad0127.
2011-06-17Removed dehardcoded values from the Map and MapLayer classes.Yohann Ferreira1-1/+1
2011-06-07Merged the unknown item definition loadingYohann Ferreira2-11/+19
and added the default hit effects on it. Reviewed-by: Jaxad0127.
2011-06-07Added defaults to empty attacks.Yohann Ferreira1-1/+5
Reviewed-by: Jaxad0127.
2011-06-07Added hit effects on victims from monsters attacks.Yohann Ferreira3-7/+22
Resolves: Mana-Mantis #336. Reviewed-by: Jaxad0127.
2011-06-03Replace SDL_types.h with cstdintJared Adams2-17/+1
This required moving to C++0x, so it does that too, and fixes a few errors with that. Reviewed-by: Thorbjørn Lindeijer <thorbjorn@lindeijer.nl>
2011-06-02Arbitrary code cleanupsThorbjørn Lindeijer4-14/+22
Just some stuff that piles up while "looking" at the code, which eventually gets annoying to ignore while staging real changes. * Replaced a few NULL occurrences with 0 * Rely on default parameter for std::vector::resize. * Replaced a few "" with std::string() * Prefer .empty() to == "" * Removed a few comparisons with NULL * Don't check pointers before deleting them * Removed a bunch of redundant semicolons * Made some global variables static (local to their compilation unit) * Prefer prefix ++/-- operators to postfix versions when possible * Corrected location of a comment
2011-05-26Added effects support in monsters attacks.Yohann Ferreira3-25/+22
This is provided through the use of the 'effect-id' property of the <attack> tag. Note that the 'particle-effect' support has been removed as it was redundant, but can be kept for backward compatibility. Now, on both Manaserv and tA, only the attack id 1 is supported, i.e: <monster> ... <attack id="1" effect-id="11" action="attack" /> </monster> More to come with re-enabling of the attack type support. I had to fix a crash in the Being::takeDamage() function when there were no attacker (in Manaserv), and add rotation support to the effectManager to achieve this. Reviwed-by: Jaxad0127.
2011-05-17Fix sprite buffering size issuesJared Adams1-2/+0
Reviewed-by: Yohann Ferreira
2011-04-30Merge branch '0.5'Yohann Ferreira1-1/+1
Conflicts: CMakeLists.txt po/fi.po po/fr.po src/gui/skilldialog.cpp src/localplayer.cpp src/net/manaserv/generalhandler.cpp src/net/tmwa/buysellhandler.cpp src/net/tmwa/generalhandler.cpp src/net/tmwa/playerhandler.cpp src/net/tmwa/specialhandler.cpp src/winver.h
2011-04-30Added customizable on-hit effects for characters.Yohann Ferreira2-9/+31
This patch adds support for the following two parameters in weapon items: hit-effect-id: Effect triggered on the victim on normal hit. critical-hit-effect-id: Triggered on the victim on critical hit. (Specified in effects.xml) The patch also permits the use of custom defaults set in paths.xml by setting the following keys: (Paths are relative to the 'particles' key value, here.) hitEffectId: defaulted to effect id 26. criticalHitEffectId: defaulted to effect id 28. Resolves: Mana-mantis #337. Reviewed-by: bcs86
2011-04-29Remove default assignment of an attack action to non-weaponsStefan Dombrowski3-12/+3
This avoids log warnings for missing weapon range. Reviewed-by: thorbjorn, bcs86
2011-04-29Making the check for the node name earlier while reading items.xmlStefan Dombrowski1-3/+6
Reviewed-by: Jaxad0127
2011-04-28Fixing endless loop if the xml promises too many imagesStefan Dombrowski1-1/+1
Reviewed-by: Bertram
2011-04-26Made the client use a unique kind of movement code.Yohann Ferreira1-1/+3
This is fixng many issues and (hopefully) will make the movement rendering much smoother. Merge branch 'master' of gitorious.org:~bertram/mana/mana-movement-code-merge Conflicts: src/being.cpp src/net/manaserv/beinghandler.cpp Resolves: TMW-Mantis #946. Reviewed-by: Thorbjorn.
2011-04-09Removed a lot of useless "documentation"Thorbjørn Lindeijer8-55/+4
I have to admit I contributed a large part of these. Sorry for that. Less empty space, more attention to the code. Acked-by: Jared Adams
2011-04-09Renamed Listener to EventListenerThorbjørn Lindeijer1-2/+2
Makes it clear what kind of listener it is, since there are other listener classes as well. Acked-by: Jared Adams
2011-04-09Removed the Mana namespaceThorbjørn Lindeijer2-6/+6
It's just an annoyance when it's only applied to a few classes. Either we place everything in this namespace or nothing, and at the moment I don't see any rationale for placing everything in a Mana namespace. Acked-by: Jared Adams
2011-04-09Moved Channels to Mana::Event::ChannelThorbjørn Lindeijer2-4/+4
Acked-by: Jared Adams
2011-04-09Moved Events to Mana::Event::TypeThorbjørn Lindeijer1-1/+1
Acked-by: Jared Adams
2011-04-07Fix compiler warning about incorrect use of the logger's log memberChuck Miller1-1/+1
Reviewed-By: Jared Adams
2011-03-17Simplified the get/setAttackRange() functions as requested.Yohann Ferreira1-1/+3
The attack range is still hardcoded for Manaserv as long as generic equipment handling hasn't been implemented.
2011-03-16Fixed the attack range handling for both servers.Yohann Ferreira1-1/+1
The attack range is always the default for manaserv, as proper equipment handling is to be added. Anyway, now the proper attack range is handled in tmwAthena and is always set a proper minimum for both protocols.
2011-03-04Empty std::string don't need to be constructed from ""Thorbjørn Lindeijer1-3/+3
2011-02-21Merge branch '0.5'Thorbjørn Lindeijer1-2/+4
Translation file updates ignored. Conflicts: src/client.cpp src/commandhandler.cpp src/gui/popupmenu.cpp src/localplayer.cpp
2011-02-20Add support for CSV map dataJared Adams1-1/+34
Reviewed-by: Freeyorp
2011-02-19Minor code formatting and fixed a comment.Yohann Ferreira1-2/+4
Trivial fix.