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

Variables

bool _palette_remap_grf [MAX_FILE_SLOTS]
 Whether the given NewGRFs must get a palette remap from windows to DOS or not. More...
 
static const SpriteID *const _landscape_spriteindexes []
 Offsets for loading the different "replacement" sprites in the files. More...
 
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

◆ CheckBlitter()

void CheckBlitter ( )

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

Definition at line 327 of file gfxinit.cpp.

References SwitchNewGRFBlitter().

◆ CheckExternalFiles()

void CheckExternalFiles ( )

◆ GfxLoadSprites()

void GfxLoadSprites ( )

Initialise and load all the sprites.

Definition at line 337 of file gfxinit.cpp.

References _settings_game, DEBUG, GameSettings::game_creation, GameCreationSettings::landscape, and SwitchNewGRFBlitter().

Referenced by ReloadNewGRFData().

◆ LoadGrfFile()

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().

◆ LoadGrfFileIndexed()

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(), ReadGRFSpriteOffsets(), and usererror().

◆ LoadSpriteTables()

static void LoadSpriteTables ( )
static

◆ SwitchNewGRFBlitter()

static bool SwitchNewGRFBlitter ( )
static

Check blitter needed by NewGRF config and switch if needed.

Returns
False when nothing changed, true otherwise.

< 0: no support, 1: do support, 2: both

Definition at line 252 of file gfxinit.cpp.

References _blitter_autodetected, GraphicsSet::blitter, BLT_32BPP, BlitterFactory::GetCurrentBlitter(), and BaseMedia< GraphicsSet >::GetUsedSet().

Referenced by CheckBlitter(), and GfxLoadSprites().

Variable Documentation

◆ _landscape_spriteindexes

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.

◆ _palette_remap_grf

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 LoadSpriteTables().