summaryrefslogtreecommitdiff
path: root/src/resources/resourcemanager.h
AgeCommit message (Collapse)AuthorFilesLines
2024-03-26Use SDL2 support for color and system mouse cursorsThorbjørn Lindeijer1-12/+22
This way the cursor is not limited by the framerate nor affected by input lag. Also, when custom cursor is disabled, a few different system cursors are now used instead. It also avoids an issue on Wayland, where hiding the cursor (as done to render our own one) would cause the cursor to get locked within the window. On macOS it fixes two cursors being visible when hovering the window while it is in the background. The cursor can unfortunately no longer gently fade away.
2024-03-21Removed unused ResourceManager methodsThorbjørn Lindeijer1-19/+0
* ResourceManager::addResource * ResourceManager::get(const std::string &) These were once added in 32996cee607c52ecef9be4638df554dd89b39c24, but they are no longer necessary after the port to SDL2 (2c51c98625b225cecfb9628c30d62d4e30f7e3e1).
2024-03-21Use std::function in ResourceManagerThorbjørn Lindeijer1-2/+3
Simplifies the code a little. Also use ResourceRef in SubImage to avoid manual reference counting.
2024-03-12General code cleanupsThorbjørn Lindeijer1-4/+2
* Use default member initializers * Use range-based for loops * Avoid needless pointer references for ShopItem::mDuplicates * Removed type aliases that are only used once or twice * Removed more unused includes * Removed some unused functions * Removed superfluous .c_str() * Rely on default copy and assignment operators for Vector class * Use std::unique_ptr in some places * Removed duplicated mPlayerMoney updating in SellDialog * Removed duplicated Game::handleInput call * Removed unused SDLInput::mMouseInWindow * Removed remnant of manual widget positioning in HelpWindow * Removed superfluous initialization of static pointers
2024-01-29Removed remnants of alpha cache in ResourceManagerThorbjørn Lindeijer1-13/+0
Continuation of 2c51c98625b225cecfb9628c30d62d4e30f7e3e1, which had already removed most of the alpha cache in Image.
2024-01-26Apply C++11 fixitsThorbjørn Lindeijer1-4/+4
modernize-use-auto modernize-use-nullptr modernize-use-override modernize-use-using
2012-02-09Fixed wallpaper prescaling issuesThorbjørn Lindeijer1-5/+22
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-01-26Updated copyrights to 2012Thorbjørn Lindeijer1-1/+1
2012-01-24Use SDL_RWops directly on top of PhysFSThorbjørn Lindeijer1-1/+3
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
2011-10-23Fixed a certain class of Doxygen warningsThorbjørn Lindeijer1-4/+4
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
2010-10-16Implement opacity cache for SDL surfaces.Andrei Karas1-0/+6
Enabled by default. Can be disabled in configuration option "alphaCache" if set it to 0. Reviewed-by: Bertram
2010-08-13Simplify handling of compressed filesJared Adams1-3/+6
ResourceManager will now check for ".gz" and act appropriately (unless told not to). Compression handling functions are now in new utils/zlib files, along with a function to load a file from drive, uncompressing it if it ends in ".gz". Reviewed-by: Freeyorp
2010-02-22Modify copyright headersFreeyorp1-1/+2
2010-02-20License header update for The Mana ClientThorbjørn Lindeijer1-4/+3
2010-02-07Updated Copyright year to 2010!Bertram1-1/+1
Also added the update copyright tool from the Wormux Team. ( And not forgetting credit's due. :P )
2009-07-24Made the wallpaper be rescaled when necessary under SDL and OpenGL.Bertram1-0/+9
The SDL methods to rescale the wallpaper has been optimized to permit rescaling at load time while OpenGL draws directly rescaled. Does someone know how to smooth the rescaled image under OpenGL?
2009-04-16Renamed ResourceManager::moveFile to ResourceManager::copyFile and catched ↵Philipp Sehmisch1-1/+1
error when it fails.
2009-04-16Added support for playing music in zip files.Philipp Sehmisch1-0/+11
2009-04-10Introduced a Desktop widget to handle the wallpaperBjørn Lindeijer1-1/+0
Cleans up main.cpp a little.
2009-04-10Some tweaks to wallpaper loading codeBjørn Lindeijer1-4/+2
Mainly to conform better with coding conventions.
2009-03-25A host of code style fixesBjørn Lindeijer1-1/+1
Mostly putting & and * in the right place and making some getters const.
2009-02-09Mostly whitespace fixesBjørn Lindeijer1-1/+1
Removed tab characters and trailing spaces and added spaces between "if(", "for(", "while(" and "switch(".
2009-02-09Merged with Aethyra master as of 2009-01-27Bjørn Lindeijer1-2/+2
Conflicts: Almost everywhere.
2009-01-25Removed the TMW branding from header guardsBjørn Lindeijer1-2/+2
2009-01-25Removed the TMW branding from header guardsBjørn Lindeijer1-2/+2
2009-01-23Removed unnecessary references to The Mana World in code headersBjørn Lindeijer1-4/+4
This dates back to the old days of TMW, but the usage instructions of GPLv2 don't mention this being necessary. Since it doesn't add anything, avoid the branding in these sections.
2009-01-23Removed unnecessary references to The Mana World in code headersBjørn Lindeijer1-4/+4
This dates back to the old days of TMW, but the usage instructions of GPLv2 don't mention this being necessary. Since it doesn't add anything, avoid the branding in these sections.
2009-01-04Code reformattingBjørn Lindeijer1-4/+5
Mainly making sure 'const std::string &' is used everywhere instead of 'std::string const &'. The former has always been the preferred order in this project. (cherry picked from mainline)
2008-12-08Code reformattingBjørn Lindeijer1-35/+19
I wish I had never fallen for this weird style, and I hope removing it will prevent others from introducing new code like this. :-)
2008-12-08Code reformattingBjørn Lindeijer1-35/+19
I wish I had never fallen for this weird style, and I hope removing it will prevent others from introducing new code like this. :-)
2008-11-18Pedantic fixes to the client, where I alphabetized all of the include Ira Rice1-4/+2
statements, as well as removing the new skill dialog, which we do not, nor will we use (if we do, it'd be a new one that we'd make). WARNING!!! This, and all other previous builds have a linker error for the Gnome libraries version 4.3.2 on my setup. It's assumed that this is also the case for other users of this library as well. I'm currently assuming that there's a bug in the compiler itself, and will look into reporting this, but in the mean time, it doesn't build for these users, unfortunately. Sorry about this.
2008-11-16Got rid of CVS/Subversion $Id$ markersBjørn Lindeijer1-2/+0
I don't know why we dealt with these things for so long. Did we ever get anything out of it?
2008-07-18Import of client treeLloyd Bryant1-1/+1
2008-01-13Fixed non-default location music loadingDavid Athay1-0/+8
2007-12-22Merged revisions 3740 via svnmerge from Bjørn Lindeijer1-3/+11
https://themanaworld.svn.sourceforge.net/svnroot/themanaworld/tmw/trunk ........ r3740 | gmelquio | 2007-11-16 12:06:46 +0100 (vr, 16 nov 2007) | 1 line Delayed resource deletion by 30 seconds. ........
2007-12-21Added logging of error on PHYSFS_addToSearchPath.Bjørn Lindeijer1-1/+3
2007-11-21Merged revisions 3705-3711,3714,3718,3721-3722,3729-3731,3735,3742 via ↵Bjørn Lindeijer1-4/+3
svnmerge from https://themanaworld.svn.sourceforge.net/svnroot/themanaworld/tmw/trunk (dynamic recoloring of sprites and related changes) ........ r3705 | gmelquio | 2007-11-03 10:58:25 +0100 (Sat, 03 Nov 2007) | 1 line Fixed double load of hair graphics. ........ r3706 | gmelquio | 2007-11-03 22:04:51 +0100 (Sat, 03 Nov 2007) | 1 line Added automatic recoloring of images. Inspired by fungos' ideas (PR #41). ........ r3707 | gmelquio | 2007-11-03 22:08:21 +0100 (Sat, 03 Nov 2007) | 1 line Experimented recoloring on scorpions. ........ r3708 | gmelquio | 2007-11-04 12:52:44 +0100 (Sun, 04 Nov 2007) | 1 line Tightened palette handling. ........ r3709 | gmelquio | 2007-11-04 12:54:31 +0100 (Sun, 04 Nov 2007) | 1 line Experimented with scorpions again. ........ r3710 | gmelquio | 2007-11-04 16:40:37 +0100 (Sun, 04 Nov 2007) | 1 line Applied recoloring to hair styles. ........ r3711 | gmelquio | 2007-11-04 17:50:37 +0100 (Sun, 04 Nov 2007) | 1 line Converted slimes to recoloring. ........ r3742 | gmelquio | 2007-11-16 14:16:00 +0100 (Fri, 16 Nov 2007) | 1 line Sped up recoloring of transparent pixels. ........
2007-11-20Merged revisions 3642,3662-3664,3667 via svnmerge from Bjørn Lindeijer1-18/+16
https://themanaworld.svn.sourceforge.net/svnroot/themanaworld/tmw/trunk ........ r3642 | gmelquio | 2007-10-19 19:46:46 +0200 (Fri, 19 Oct 2007) | 1 line Factored code between resource handlers. Implemented failure-friendly sprite loader. ........ r3662 | gmelquio | 2007-10-21 21:01:16 +0200 (Sun, 21 Oct 2007) | 1 line Added persistent positioning. ........ r3663 | gmelquio | 2007-10-21 21:03:43 +0200 (Sun, 21 Oct 2007) | 1 line Fixed missing pixels at bottom and right. ........ r3664 | gmelquio | 2007-10-21 21:05:56 +0200 (Sun, 21 Oct 2007) | 1 line Changed to use default values when restoring missing settings. ........ r3667 | gmelquio | 2007-10-21 22:09:08 +0200 (Sun, 21 Oct 2007) | 1 line Fixed invisible text in dropboxes and shopboxes. ........
2007-03-21Renamed Spriteset to ImageSet.Bjørn Lindeijer1-4/+4
2007-02-20Added support for customdata directory.Philipp Sehmisch1-0/+8
2006-11-26Made Being::mDirection protected, forcing the use of setDirection. DefaultedBjørn Lindeijer1-1/+1
variant argument to 0 since this is the most common situation. Some SpriteDef refactoring, splitting up the loading into several methods, in preparation of adding support for including other sprites.
2006-11-19Separated sprite definition from playback.Bjørn Lindeijer1-4/+13
2006-08-13Merged Guichan 0.5.0 support from guichan-0.5.0 branch, plus several updatesBjørn Lindeijer1-0/+8
from the 0.1.0 branch.
2006-07-24Implemented caching of spritesets, including a lot of cleanups to the newBjørn Lindeijer1-1/+7
animation system. Action now refers to the Spriteset directly and AnimatedSprite refers to the current Action directly instead of using the std::map with a std::string constantly. Some methods and parameters are marked as const. The READ_PROP macro was replaced by static methods. Warnings are logged when unnamed actions are defined or when actions refer to undefined imagesets. Code is more tolerant towards missing actions.
2006-07-18Updated the updating system. It will now only load those updatesBjørn Lindeijer1-9/+3
specified in the downloaded resources.txt file, and in the order in which they are mentioned (the top one being the most significant).
2006-01-31Made ResourceManager a friend of Resource to avoid looping over decRef, ↵Björn Steinbrink1-1/+3
which returns void now.
2005-10-16Use the ResourceManager to get spritesets.Björn Steinbrink1-0/+7
2005-09-29Moved tileset management into the map class and made sure the tilesets areBjørn Lindeijer1-8/+15
cleaned up properly on switching maps.
2005-09-12Added SDLImageLoader class to make guichan support physfs.Björn Steinbrink1-5/+0
2005-08-13Huge header cleanup to reduce dependencies and compile time.Björn Steinbrink1-5/+6