summaryrefslogtreecommitdiff
path: root/src/spritecache.cpp
AgeCommit message (Collapse)Author
2008-11-23(svn r14610) -Fix [FS#2415]: possible stack corruption when reading ↵rubidium
corrupted sprites. -Change: harden the sprite reading routine against corrupt sprites.
2008-10-14(svn r14464) -Codechange: replace (uint)-1 with UINT_MAX (PhilSophus)rubidium
2008-09-02(svn r14229) -Feature: allow overriding the palette of the base GRFs. This ↵rubidium
way you can play with NewGRFs made for the Windows palette with the DOS palettes base GRFs (and vice versa). Note that for this to work correctly ALL NewGRFs must use the same palette; mix and match is not yet supported.
2008-09-02(svn r14223) -Codechange: make GetSprite aware of the 4 different types of ↵rubidium
sprites: fonts, recolour, mapgen and normal sprites.
2008-08-31(svn r14214) -Codechange: move another TTD graphics bug into the GRF; height ↵rubidium
problem of sprite #142.
2008-08-31(svn r14199) -Codechange: split fileio.h into fileio_type.h and ↵rubidium
fileio_func.h so not everything that includes saveload.h needs to include everything else too.
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).