OpenTTD
Macros | Functions | Variables
gfxinit.cpp File Reference

Initializing of the (GRF) graphics. More...

#include "stdafx.h"
#include "fios.h"
#include "newgrf.h"
#include "3rdparty/md5/md5.h"
#include "fontcache.h"
#include "gfx_func.h"
#include "transparency.h"
#include "blitter/factory.hpp"
#include "video/video_driver.hpp"
#include "window_func.h"
#include "base_media_func.h"
#include "table/sprites.h"
#include "safeguards.h"
#include "table/landscape_sprite.h"

Go to the source code of this file.

Macros

#define SET_TYPE   "graphics"

Functions

static uint LoadGrfFile (const char *filename, uint load_index, int file_index)
 Load an old fashioned GRF file.
static void LoadGrfFileIndexed (const char *filename, const SpriteID *index_tbl, int file_index)
 Load an old fashioned GRF file to replace already loaded sprites.
void CheckExternalFiles ()
 Checks whether the MD5 checksums of the files are correct.
static void LoadSpriteTables ()
 Actually load the sprite tables.
static bool SwitchNewGRFBlitter ()
 Check blitter needed by NewGRF config and switch if needed.
void CheckBlitter ()
 Check whether we still use the right blitter, or use another (better) one.
void GfxLoadSprites ()
 Initialise and load all the sprites.

Variables

bool _palette_remap_grf [MAX_FILE_SLOTS]
 Whether the given NewGRFs must get a palette remap from windows to DOS or not.
static const SpriteID *const _landscape_spriteindexes []
 Offsets for loading the different "replacement" sprites in the files.
static const char *const _graphics_file_names [] = { "base", "logos", "arctic", "tropical", "toyland", "extra" }
 Names corresponding to the GraphicsFileType.

Detailed Description

Initializing of the (GRF) graphics.

Definition in file gfxinit.cpp.

Function Documentation

void CheckBlitter ( )

Check whether we still use the right blitter, or use another (better) one.

Definition at line 302 of file gfxinit.cpp.

References GfxClearSpriteCache(), ReInitAllWindows(), and SwitchNewGRFBlitter().

Referenced by MenuClickSettings().

void CheckExternalFiles ( )
void GfxLoadSprites ( )
static uint LoadGrfFile ( const char *  filename,
uint  load_index,
int  file_index 
)
static

Load an old fashioned GRF file.

Parameters
filenameThe name of the file to open.
load_indexThe offset of the first sprite.
file_indexThe Fio offset to load the file in.
Returns
The number of loaded sprites.

Definition at line 50 of file gfxinit.cpp.

References BASESET_DIR, DEBUG, FioOpenFile(), FioReadByte(), GetGRFContainerVersion(), LoadNextSprite(), MAX_SPRITES, ReadGRFSpriteOffsets(), and usererror().

Referenced by LoadSpriteTables().

static void LoadGrfFileIndexed ( const char *  filename,
const SpriteID index_tbl,
int  file_index 
)
static

Load an old fashioned GRF file to replace already loaded sprites.

Parameters
filenameThe name of the file to open.
index_tlbThe offsets of each of the sprites.
file_indexThe Fio offset to load the file in.
Returns
The number of loaded sprites.

Definition at line 87 of file gfxinit.cpp.

References BASESET_DIR, DEBUG, FioOpenFile(), FioReadByte(), GetGRFContainerVersion(), LoadNextSprite(), ReadGRFSpriteOffsets(), and usererror().

Referenced by LoadSpriteTables().

static void LoadSpriteTables ( )
static
static bool SwitchNewGRFBlitter ( )
static

Variable Documentation

const SpriteID* const _landscape_spriteindexes[]
static
Initial value:
{
_landscape_spriteindexes_arctic,
_landscape_spriteindexes_tropic,
_landscape_spriteindexes_toyland,
}

Offsets for loading the different "replacement" sprites in the files.

Definition at line 37 of file gfxinit.cpp.

Referenced by LoadSpriteTables().

bool _palette_remap_grf[MAX_FILE_SLOTS]

Whether the given NewGRFs must get a palette remap from windows to DOS or not.

Definition at line 32 of file gfxinit.cpp.

Referenced by DecodeSingleSprite(), LoadNewGRFFile(), LoadSpriteTables(), and ReadRecolourSprite().