summaryrefslogtreecommitdiff
path: root/src/spritecache.cpp
AgeCommit message (Collapse)Author
2008-08-30(svn r14193) -Fix (r14191): don't put an unsigned 0x80 in a signed int8 as ↵rubidium
that's not what you want.
2008-08-30(svn r14191) -Codechange: unify the code to skip sprite payload (i.e. not ↵rubidium
the header). -Fix: sprite payload skipping wouldn't skip enough bytes in a very small subset of compressed sprites.
2008-07-29(svn r13869) -Fix [FS#2153] (r13674): in some cases the sprite cache could ↵rubidium
be filled with unremovable items.
2008-07-12(svn r13692) -Fix (r13674): loading PNG sprites could very quickly fill the ↵rubidium
sprite cache.
2008-07-04(svn r13674) -Fix [FS#2127]: crash when drawing a non-real sprite. The ↵rubidium
drawing of the non-real sprite is caused when two NewGRFs replace the same sprite and the first replaces it with a real sprite (and thus assumes it remains a real sprite) and the second replaces it with a non-real sprite. OpenTTD already looked at whether the sprite to load should be seen as a real or non-real sprite, but it failed to replace non-real sprites with a substitute real sprite when getting the sprite from the cache.
2008-06-05(svn r13390) -Codechange: introduce usererror() for fatal but not openttd ↵glx
related errors. Now all error() will 'crash' openttd after showing the message in win32 releases (MSVC), creating a crash.log and crash.dmp (like the '!' hack used before). On the other hand, usererror() will just close the game. So use error() only when it can be helpful to debugging, else use usererror().
2008-05-27(svn r13301) -Fix [FS#1997]: resolve more MSVC 9 x64 warnings.rubidium
2008-05-08(svn r13008) -Fix [FS#1997]: silence some MSVC x64 warningsglx
2008-05-06(svn r12971) -Documentation: add @file in files that missed them and add ↵rubidium
something more than whitespace as description of files that don't have a description.
2008-03-26(svn r12436) -Cleanup: minor coding stylepeter1138
2008-02-14(svn r12140) -Codechange: A bit of code style fixes(Geektoo).belugas
2008-01-29(svn r12005) -Fix [FS#1717]: possible reading from an invalid pointer. Patch ↵rubidium
by PhilSophus.
2008-01-28(svn r12002) -Cleanup (r11981): Remove obsolete code to skip sprites from ↵peter1138
indexed GRFs.
2008-01-22(svn r11940) -Codechange: Store short filename once per open file instead of ↵peter1138
once per sprite cache entry. Not all file types need this, but most of the time no sprite cache entry needed it either.
2008-01-21(svn r11939) -Codechange: some type fixes and very initial steps into ↵rubidium
supporting NDS by default. Based on work by Dominik.
2008-01-13(svn r11828) -Codechange: include table/* as the last includes and remove an ↵rubidium
unneeded include from openttd.h.
2008-01-07(svn r11777) -Codechange: split the string header and make do not include it ↵rubidium
when it's not necessary.
2007-12-25(svn r11692) -Codechange: move some functions from 'functions.h' to a more ↵rubidium
logical place and remove about 50% of the includes of 'functions.h'
2007-12-25(svn r11691) -Codechange: move+rename helpers.hpp and only include it when ↵rubidium
it is really needed.
2007-12-21(svn r11674) -Codechange: refactor some functions out of macros.h into more ↵rubidium
logical locations.
2007-12-08(svn r11600) -Cleanup: remove extra out-of-memory checks, since it's now ↵glx
done in *allocT functions.
2007-12-08(svn r11597) -Change: replace all remaining instances of (re|m|c)alloc with ↵rubidium
(Re|M|C)allocT and add a check for out-of-memory situations to the *allocT functions.
2007-11-19(svn r11480) -Codechange: Rename the function ALIGN fitting to the naming styleskidd13
This fixes also FS#1450
2007-09-13(svn r11101) -Fix r11099: the check: file_pos == 0, no longer works; adjust ↵truelight
the check with file_slot. This solves the ? sprites with autorail (nice catch Progman)
2007-09-13(svn r11095) -Codechange: don't abuse 'file_pos' by storing the file_slot in ↵truelight
it too, but use a nice seperate variable for it -Note: on a side-note, this allows files bigger than 16+ MiB, needed for tar-support
2007-06-27(svn r10356) -Fix (r10143): another memory leak eliminated.rubidium
2007-06-17(svn r10190) -Codechange: merged renderer and blitter to one single class ↵truelight
API: blitter -Codechange: introduced a hierachy of blitters to avoid a lot of code duplication Note: this allows much easier adding other types of video-drivers, like OpenGL
2007-06-14(svn r10157) -Fix: use as indentified for PNGs, the place of the image as it ↵truelight
was in the grf, not the internal SpriteID
2007-06-13(svn r10150) -Fix r10148: show a message to users when using 32bpp blitter ↵truelight
and no libpng available
2007-06-13(svn r10149) -Fix r10143: MSVC warnings... (tnx boekabart and glx)truelight
2007-06-13(svn r10148) -Fix r10143: make --without-png to compile againtruelight
2007-06-13(svn r10143) -Add: store the filename of the grfs opened and allow easy ↵truelight
access to the name -Codechange: store the SpriteID in the spritecache too -Add: add a PNG loader for graphical files -Documentation: added a document to explain the PNG format
2007-06-12(svn r10109) -Fix [FS#838]: some NewGRFs use the same (unused in the ↵rubidium
"current" climate) sprite IDs. Normally this gives some artefacts, but when one NewGRF expects it to be a sprite and another NewGRF overwrites it with a non-sprite nasty things happen (drawing a non-sprite crashes OTTD).
2007-06-11(svn r10105) -Fix r10092: fix sprite 4845 till 4881 (inclusive), so they ↵truelight
store the data as on the disk in the memory, as the old landscape generate assumes this. Talking about ugly hacks...
2007-06-11(svn r10096) -Fix r10092: freetype bypassed the Blitter::Encode, making ↵truelight
fonts look weird
2007-06-11(svn r10092) -Codechange: code-seperated the spriteloader and blitter from ↵truelight
the rest of the code -Add: make it possible to pick your own blitter (-b <blitter>, -h for overview) -Add: added a new optimized 8bpp blitter (default, caches sprites of all zoom-levels) -Add: added a debug 8bpp blitter and a very slow normal 8bpp blitter
2007-06-05(svn r10042) -Codechange: Replace hardcoded spritecache size with a ↵peter1138
configuration option, sprite_cache_size. The default size is 2MB and the value can range from 1 to 64MB. If you experience slow-downs when scrolling the map, try increasing this setting.
2007-06-04(svn r10038) -Fix (r8634): Sprite resulting from '?' substitution was ↵peter1138
reloaded into the cache entry for SPR_IMG_QUERY instead of the original sprite cache entry. This resulted in unaccounted missing sprite cache memory, and was exacerbated because the original missing sprite was not cached, so it did it again and again and again. Slowdowns and boom. Etc.
2007-04-17(svn r9662) -Documentation: Doxygen corrections and @file omissionsbelugas
2007-04-04(svn r9556) -Documentation: doxygen and comment-style changes. 'R', 'S'.. ↵belugas
The end of the preliminary work is near
2007-03-07(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};rubidium
2007-03-07(svn r9050) -Codechange: Foo(void) -> Foo()rubidium
2007-02-08(svn r8634) -Codechange: replace missing sprites with a red question mark.rubidium
2007-01-17(svn r8218) -Codechange: Increase spritecache size to 2MB. This will vastly ↵Darkvater
improve performance when using (lots of) grf files. You can change it yourself easily with the SPRITE_CACHE_SIZE compile flag. (peter1138).
2007-01-16(svn r8166) -Fix (r7797): Protect against out of bounds access to the sprite ↵peter1138
ptr list.
2007-01-11(svn r8066) - Codechange: MallocT(), CallocT(), ReallocT() now return the ↵KUDr
pointer to allocated memory instead of modifying the pointer given as parameter
2007-01-10(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, ↵rubidium
stillunknown and pv2b.
2007-01-10(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files ↵KUDr
renamed to .cpp)