summaryrefslogtreecommitdiff
path: root/spritecache.c
AgeCommit message (Collapse)Author
2006-12-26(svn r7565) -Codechange: Rework DEBUG functionality. Look for appropiate ↵Darkvater
debugging levels to use in debug.h. grfmsg() is now used as a specific debug-function for grf.
2006-11-23(svn r7242) -Fix: Don't load 1-byte pseudo sprites, as used in some NewGRF ↵peter1138
sets. If the sprite is ever drawn this will result in a "missing sprite" error instead of undefined misbehaviour leading to segmentation faults...
2006-09-02(svn r6347) Undotron
2006-09-02(svn r6346) -Codechange: Remove redundant assignmenttron
2006-08-22(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. ↵rubidium
whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
2006-08-20(svn r5974) -Codechange: added casts all around the place to make Windows ↵truelight
64bit happy (michi_cc)
2006-04-20(svn r4481) - Fix: Validate the given sprite ID when loading a sprite.peter1138
2006-04-16(svn r4446) - Add function to determine if a Sprite ID exists.peter1138
2005-10-22(svn r3077) static, const, bracing, indentation, 0 -> '\0'/NULL, typos in ↵tron
comments, excess empty lines, minor other changes nothing spectacular, just some stuff, which piled up
2005-09-10(svn r2933) Implement the non-breaking spacetron
2005-08-15(svn r2868) Change the way NewGRFs are loaded: The loading process i no ↵tron
longer bolted onto the normal graphics loading. This has two major advantages: - Removal of a maze of global variables and distinction of cases from the sprite loading routines, which weren't directly related to the loading process in the first place - NewGRF actions no longer occupy sprite slots - for example when using DBSetXL this saves about 2000 slots! (you could regard this as a bug fix) If i didn't make a major mistake this change should have no negative effect on NewGRF support, please test!
2005-08-14(svn r2866) Move all functions and tables which aren't directly involved in ↵tron
managing the sprite heap to a new file gfxinit.c. This doesn't ease the global variable mess, but makes the distinction between sprite heap and gfx loading routines easier.
2005-08-13(svn r2865) Push the responsibility for allocating the sprite heap into ↵tron
GfxInitSpriteMem()
2005-08-11(svn r2855) Make ReadSpriteHeaderSkipData() responsible for detecting the ↵tron
end of a grf file instead of its callers - this simplifies the code a bit
2005-08-09(svn r2847) Don't remember the size of sprites during initialisation. Since ↵tron
the sprite loading was altered this is no longer necessary. While here remove another write-only variable (_spritecache_size) and fix a comment (sprite replaces a lowercase letter instead of uppercase)
2005-08-08(svn r2845) Remove sprite size caching, it was unusedtron
This makes GetSpriteDimension() superflous, because now it's just a thin wrapper around GetSprite() returning only part of the information, therefore remove it too
2005-08-08(svn r2839) Remove stuff missed in r2833, properly calculate the size of two ↵tron
arrays and simplify GetSpriteDimension() a bit
2005-08-07(svn r2833) Remove saving of sprite cache data:tron
the benefits are questionable, it's error prone, undocumented and hasn't been widely used for ages, if ever
2005-08-07(svn r2829) Remove sprite locking, it was never used anywaytron
2005-07-31(svn r2764) -Feature: Clone vehiclesbjarni
-This allows a player to clone an excisting vehicle of his own -[fix]: this uncovered an excisting bug in CmdBuildRailVehicle() where depots could build trains of the wrong track type. This is fixed -Thanks to Celestar for drawing the sprites and _luca_ for including them in openttd.grf
2005-07-24(svn r2702) -Codechange: Cleaned up the sprite code and replaced many magic ↵celestar
numbers by enums. There remains work in gfx.c to move the "transparency" and "recolor" bits around to make space for more sprites. However, 2800 additional sprites can now be loaded. There also remains cleanup and Doxygen work on many of the header files.
2005-07-24(svn r2701) Insert Id tags into all source filestron
2005-07-22(svn r2673) Include functions.h directly, not globally via openttd.htron
2005-07-21(svn r2669) Shuffle some more stuff around to reduce dependenciestron
2005-07-20(svn r2652) - CodeChange: show 'too many sprites' in hex value; Patch signed ↵Darkvater
off by Tron
2005-07-19(svn r2633) Move spritecache related variable from variables.h to ↵tron
spritecache.[ch]
2005-07-09(svn r2537) Small changes, especially use fprintf to stderr for warnings and ↵tron
errors instead of plain printf
2005-07-09(svn r2536) - Fix: [ 1215999 ] Segmentation fault in main menu - corrupted ↵Darkvater
sample.cat. Flush the output buffer to print the error message before the game crashes. (mcmohr)
2005-07-08(svn r2535) Tabstron
2005-07-06(svn r2523) Readd a comment which got lost in r2522tron
2005-07-05(svn r2522) Reorganize sprite load and decompression in order to remove a ↵tron
special case from the sprite blitter, which decompressed certain sprites every time when blitting them
2005-06-02(svn r2397) - CodeChange: rename all "ttd" files to "openttd" files.Darkvater
2005-05-18(svn r2349) - Fix: remove warning from release build when assertions are no ↵Darkvater
longer active
2005-04-24(svn r2229) - Fix: [ 1188777 ] Non-existing sprite #5125 (presignal). The ↵Darkvater
DOS grf file trgi.grf has 6 less sprites than the windows one. This results in some segfaults for certain sprites. Fixed it by added a dummy grf file consisting ofr 6 sprites and loaded when using DOS gfx at the appropiate place.
2005-03-06(svn r1941) Report missing NewGRF file as a fatal error.pasky
2005-02-20(svn r1893) If -i was specified respect ittron
2005-02-18(svn r1885) Fix typo in r1884tron
2005-02-18(svn r1884) Change palette detection algorithm: Use the DOS palette if there ↵tron
are no Windows .grfs but at least one DOS .grf
2005-02-17(svn r1882) Add a basic check if a non-existent sprite gets accessed.tron
Now ottd bails out with an error message instead of segfaulting. This is far from perfect, some checks after loading a savegame should be added.
2005-02-13(svn r1867) Include tables/sprites.h only in files which need ittron
2005-02-13(svn r1865) Fix some warningstron
2005-02-11(svn r1861) Constify Get(Non)Sprite()tron
2005-02-11(svn r1859) Miscellaneous style changestron
2005-02-11(svn r1858) Let ReadSprite() handle the subtleties of loading a sprite, not ↵tron
its caller
2005-02-11(svn r1857) Rewrite parts of the sprite heap. It's functionally equivalent ↵tron
but should be easier to read and maintain.
2005-02-10(svn r1856) Make GfxInitSpriteMem() static, because it's only used withing ↵tron
spritecache.c
2005-02-10(svn r1855) Handle endianness of sprite headers when loading a sprite, not ↵tron
everytime when accessing it
2005-02-10(svn r1854) Split GetSpritePtr() into GetSprite() for regular sprites ↵tron
(returning a Sprite*) and GetNonSprite() for "sprites" of type 0xFF (returning byte*)
2005-02-10(svn r1853) Move spritecache function declarations into a header of their ↵tron
own and use SpriteID as parameter type where appropriate
2005-02-08(svn r1852) Start cleaning up sprite handling:tron
- Complement the sprite header struct with a variable sized array for the sprite data and rename it to Sprite. - Use the correct type Sprite* instead of casting all the time (this causes some "assignment from incompatible pointer type" warnings, nothing serious, will be resolved soon)