(svn r22828) -Codechange: give some variables a better name and clean up the code of loading old style GRFs

This commit is contained in:
rubidium 2011-08-24 14:31:18 +00:00
parent b4edc30c64
commit 49d8852f3f
2 changed files with 32 additions and 23 deletions

View File

@ -27,18 +27,26 @@ bool _palette_remap_grf[MAX_FILE_SLOTS];
#include "table/landscape_sprite.h" #include "table/landscape_sprite.h"
/** Offsets for loading the different "replacement" sprites in the files. */
static const SpriteID * const _landscape_spriteindexes[] = { static const SpriteID * const _landscape_spriteindexes[] = {
_landscape_spriteindexes_1, _landscape_spriteindexes_arctic,
_landscape_spriteindexes_2, _landscape_spriteindexes_tropic,
_landscape_spriteindexes_3, _landscape_spriteindexes_toyland,
}; };
/**
* Load an old fashioned GRF file.
* @param filename The name of the file to open.
* @param load_index The offset of the first sprite.
* @param file_index The Fio offset to load the file in.
* @return The number of loaded sprites.
*/
static uint LoadGrfFile(const char *filename, uint load_index, int file_index) static uint LoadGrfFile(const char *filename, uint load_index, int file_index)
{ {
uint load_index_org = load_index; uint load_index_org = load_index;
uint sprite_id = 0; uint sprite_id = 0;
FioOpenFile(file_index, filename, NEWGRF_DIR); FioOpenFile(file_index, filename, BASESET_DIR);
DEBUG(sprite, 2, "Reading grf-file '%s'", filename); DEBUG(sprite, 2, "Reading grf-file '%s'", filename);
@ -54,32 +62,33 @@ static uint LoadGrfFile(const char *filename, uint load_index, int file_index)
return load_index - load_index_org; return load_index - load_index_org;
} }
/**
static void LoadSpritesIndexed(int file_index, uint *sprite_id, const SpriteID *index_tbl) * Load an old fashioned GRF file to replace already loaded sprites.
* @param filename The name of the file to open.
* @param index_tlb The offsets of each of the sprites.
* @param file_index The Fio offset to load the file in.
* @return The number of loaded sprites.
*/
static void LoadGrfFileIndexed(const char *filename, const SpriteID *index_tbl, int file_index)
{ {
uint start; uint start;
uint sprite_id = 0;
FioOpenFile(file_index, filename, BASESET_DIR);
DEBUG(sprite, 2, "Reading indexed grf-file '%s'", filename);
while ((start = *index_tbl++) != END) { while ((start = *index_tbl++) != END) {
uint end = *index_tbl++; uint end = *index_tbl++;
do { do {
bool b = LoadNextSprite(start, file_index, *sprite_id); bool b = LoadNextSprite(start, file_index, sprite_id);
assert(b); assert(b);
(*sprite_id)++; sprite_id++;
} while (++start <= end); } while (++start <= end);
} }
} }
static void LoadGrfIndexed(const char *filename, const SpriteID *index_tbl, int file_index)
{
uint sprite_id = 0;
FioOpenFile(file_index, filename, NEWGRF_DIR);
DEBUG(sprite, 2, "Reading indexed grf-file '%s'", filename);
LoadSpritesIndexed(file_index, &sprite_id, index_tbl);
}
/** /**
* Checks whether the MD5 checksums of the files are correct. * Checks whether the MD5 checksums of the files are correct.
* *
@ -153,7 +162,7 @@ static void LoadSpriteTables()
*/ */
if (_settings_game.game_creation.landscape != LT_TEMPERATE) { if (_settings_game.game_creation.landscape != LT_TEMPERATE) {
_palette_remap_grf[i] = (PAL_DOS != used_set->palette); _palette_remap_grf[i] = (PAL_DOS != used_set->palette);
LoadGrfIndexed( LoadGrfFileIndexed(
used_set->files[GFT_ARCTIC + _settings_game.game_creation.landscape - 1].filename, used_set->files[GFT_ARCTIC + _settings_game.game_creation.landscape - 1].filename,
_landscape_spriteindexes[_settings_game.game_creation.landscape - 1], _landscape_spriteindexes[_settings_game.game_creation.landscape - 1],
i++ i++

View File

@ -11,7 +11,7 @@
static const SpriteID END = 0xFFFF; static const SpriteID END = 0xFFFF;
static const SpriteID _landscape_spriteindexes_1[] = { static const SpriteID _landscape_spriteindexes_arctic[] = {
0xF67, 0xF9F, 0xF67, 0xF9F,
0xAAD, 0xAB0, 0xAAD, 0xAB0,
0x83A, 0x845, 0x83A, 0x845,
@ -37,7 +37,7 @@ static const SpriteID _landscape_spriteindexes_1[] = {
END END
}; };
static const SpriteID _landscape_spriteindexes_2[] = { static const SpriteID _landscape_spriteindexes_tropic[] = {
0xF67, 0xF9F, 0xF67, 0xF9F,
0xAAD, 0xAB0, 0xAAD, 0xAB0,
0xFA0, 0xFC9, 0xFA0, 0xFC9,
@ -74,7 +74,7 @@ static const SpriteID _landscape_spriteindexes_2[] = {
END END
}; };
static const SpriteID _landscape_spriteindexes_3[] = { static const SpriteID _landscape_spriteindexes_toyland[] = {
0xF54, 0xF9F, 0xF54, 0xF9F,
0xFDD, 0xFE5, 0xFDD, 0xFE5,
0xFEC, 0xFEC, 0xFEC, 0xFEC,