Commit Graph

74 Commits

Author SHA1 Message Date
tron 52c859cbe8 (svn r2868) Change the way NewGRFs are loaded: The loading process i no 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-15 11:39:13 +00:00
tron 19f5036c46 (svn r2866) Move all functions and tables which aren't directly involved in 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-14 18:10:18 +00:00
tron 26d24f64fc (svn r2865) Push the responsibility for allocating the sprite heap into GfxInitSpriteMem() 2005-08-13 21:40:22 +00:00
tron d1c5128c42 (svn r2855) Make ReadSpriteHeaderSkipData() responsible for detecting the end of a grf file instead of its callers - this simplifies the code a bit 2005-08-11 13:09:12 +00:00
tron 8f398f2f50 (svn r2847) Don't remember the size of sprites during initialisation. Since 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-09 12:58:22 +00:00
tron e42b560049 (svn r2845) Remove sprite size caching, it was unused
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 21:35:27 +00:00
tron 47e28d9152 (svn r2839) Remove stuff missed in r2833, properly calculate the size of two arrays and simplify GetSpriteDimension() a bit 2005-08-08 09:49:47 +00:00
tron b101846d3b (svn r2833) Remove saving of sprite cache data:
the benefits are questionable, it's error prone, undocumented and hasn't been widely used for ages, if ever
2005-08-07 17:52:41 +00:00
tron 59da8350c1 (svn r2829) Remove sprite locking, it was never used anyway 2005-08-07 11:01:31 +00:00
bjarni 546c34f2e5 (svn r2764) -Feature: Clone vehicles
-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-31 13:08:08 +00:00
celestar 238e47cd42 (svn r2702) -Codechange: Cleaned up the sprite code and replaced many magic 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 15:56:31 +00:00
tron a227065ab7 (svn r2701) Insert Id tags into all source files 2005-07-24 14:12:37 +00:00
tron 559babcdc9 (svn r2673) Include functions.h directly, not globally via openttd.h 2005-07-22 07:02:20 +00:00
tron 0762aa9ec9 (svn r2669) Shuffle some more stuff around to reduce dependencies 2005-07-21 22:15:02 +00:00
Darkvater 29b81f63fd (svn r2652) - CodeChange: show 'too many sprites' in hex value; Patch signed off by Tron 2005-07-20 15:38:11 +00:00
tron c1da382e9a (svn r2633) Move spritecache related variable from variables.h to spritecache.[ch] 2005-07-19 06:54:13 +00:00
tron 6cef71b1b2 (svn r2537) Small changes, especially use fprintf to stderr for warnings and errors instead of plain printf 2005-07-09 09:24:34 +00:00
Darkvater 6a645a3eb8 (svn r2536) - Fix: [ 1215999 ] Segmentation fault in main menu - corrupted sample.cat. Flush the output buffer to print the error message before the game crashes. (mcmohr) 2005-07-09 00:14:40 +00:00
tron 1b4a0897b6 (svn r2535) Tabs 2005-07-08 22:25:24 +00:00
tron 513dc78ebc (svn r2523) Readd a comment which got lost in r2522 2005-07-06 06:18:53 +00:00
tron a06b2fdc44 (svn r2522) Reorganize sprite load and decompression in order to remove a special case from the sprite blitter, which decompressed certain sprites every time when blitting them 2005-07-05 19:54:35 +00:00
Darkvater b438b1248c (svn r2397) - CodeChange: rename all "ttd" files to "openttd" files. 2005-06-02 19:30:21 +00:00
Darkvater 1b2b0d5b79 (svn r2349) - Fix: remove warning from release build when assertions are no longer active 2005-05-18 12:53:37 +00:00
Darkvater a1143a53f0 (svn r2229) - Fix: [ 1188777 ] Non-existing sprite #5125 (presignal). The 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-04-24 21:44:45 +00:00
pasky 7ee6d0fa62 (svn r1941) Report missing NewGRF file as a fatal error. 2005-03-06 13:57:19 +00:00
tron 0d8dcacee2 (svn r1893) If -i was specified respect it 2005-02-20 09:05:28 +00:00
tron 9f4e45d333 (svn r1885) Fix typo in r1884 2005-02-18 08:32:25 +00:00
tron 431447ef87 (svn r1884) Change palette detection algorithm: Use the DOS palette if there are no Windows .grfs but at least one DOS .grf 2005-02-18 08:29:17 +00:00
tron f7991303e8 (svn r1882) Add a basic check if a non-existent sprite gets accessed.
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-17 15:53:47 +00:00
tron 204d08140a (svn r1867) Include tables/sprites.h only in files which need it 2005-02-13 11:18:02 +00:00
tron 58c46bed40 (svn r1865) Fix some warnings 2005-02-13 08:12:03 +00:00
tron 9c99c7d11a (svn r1861) Constify Get(Non)Sprite() 2005-02-11 17:12:11 +00:00
tron f03b8859ed (svn r1859) Miscellaneous style changes 2005-02-11 14:33:43 +00:00
tron 5c946cdbd8 (svn r1858) Let ReadSprite() handle the subtleties of loading a sprite, not its caller 2005-02-11 13:46:25 +00:00
tron 1b617b28fc (svn r1857) Rewrite parts of the sprite heap. It's functionally equivalent but should be easier to read and maintain. 2005-02-11 13:35:27 +00:00
tron 33cf096b03 (svn r1856) Make GfxInitSpriteMem() static, because it's only used withing spritecache.c 2005-02-10 22:26:28 +00:00
tron 9031e0369e (svn r1855) Handle endianness of sprite headers when loading a sprite, not everytime when accessing it 2005-02-10 12:26:41 +00:00
tron 94c75f33bb (svn r1854) Split GetSpritePtr() into GetSprite() for regular sprites (returning a Sprite*) and GetNonSprite() for "sprites" of type 0xFF (returning byte*) 2005-02-10 12:14:38 +00:00
tron 2a151d9354 (svn r1853) Move spritecache function declarations into a header of their own and use SpriteID as parameter type where appropriate 2005-02-10 05:43:30 +00:00
tron 092e72d60d (svn r1852) Start cleaning up sprite handling:
- 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)
2005-02-08 22:22:42 +00:00
tron eed181245d (svn r1833) byte -> char transition: the rest 2005-02-06 22:25:27 +00:00
tron f0f85a7ef3 (svn r1803) Move debugging stuff into files of it's own 2005-02-05 15:58:59 +00:00
darkvater 35cb4fbf8c (svn r1754) - Fix: you can once again load newgrf files with lots of sprites. Index wasn't reset in second run, thus counting them double. 2005-01-31 12:04:40 +00:00
dominik c8d084a85e (svn r1702) - Fix: [ 1110407 ] Game does not crash any more when a newgrf file doesn't exist 2005-01-28 08:56:43 +00:00
tron 189ca73707 (svn r1594) Convert all undefined parameter lists to (void) and add the appropriate warning flags in the Makefile 2005-01-22 20:23:18 +00:00
dominik aaf09ceb26 (svn r1571) Feature: Visually enhanced autorail placing
When using the autorail tool, the rail pieces which are going to be build are highlighted.
If a piece is shown in red, this indicates that the slope/rail combination is impossible. It does not tell you if the rail line construction might not be possible because of other obstacles, e.g. houses or water.
2005-01-19 20:55:23 +00:00
tron 3279a7c9a2 (svn r1520) Trim 134 (!) lines with trailing whitespace ): 2005-01-15 08:58:31 +00:00
darkvater 53bd40ebaf (svn r1458) -Fix: remove byte *s again for windows. 2005-01-10 10:38:02 +00:00
miham aacb89ed53 (svn r1455) Fixed spritecache.c to compile 2005-01-10 07:26:19 +00:00
darkvater 52bfa90d5e (svn r1454) -Fix: small warnings in spritecache.c 2005-01-10 01:50:17 +00:00