spritecache.h File Reference

Functions to cache sprites in memory. More...

#include "gfx_type.h"

Go to the source code of this file.

Data Structures

struct  Sprite
 Data structure describing a sprite. More...

Typedefs

typedef void * AllocatorProc (size_t size)

Functions

void * GetRawSprite (SpriteID sprite, SpriteType type, AllocatorProc *allocator=NULL)
 Reads a sprite (from disk or sprite cache).
bool SpriteExists (SpriteID sprite)
SpriteType GetSpriteType (SpriteID sprite)
 Get the sprite type of a given sprite.
uint GetOriginFileSlot (SpriteID sprite)
 Get the (FIOS) file slot of a given sprite.
uint GetMaxSpriteID ()
 Get a reasonable (upper bound) estimate of the maximum SpriteID used in OpenTTD; there will be no sprites with a higher SpriteID, although there might be up to roughly a thousand unused SpriteIDs below this number.
static const SpriteGetSprite (SpriteID sprite, SpriteType type)
static const byte * GetNonSprite (SpriteID sprite, SpriteType type)
void GfxInitSpriteMem ()
void IncreaseSpriteLRU ()
bool LoadNextSprite (int load_index, byte file_index, uint file_sprite_id)
bool SkipSpriteData (byte type, uint16 num)
 Skip the given amount of sprite graphics data.
void DupSprite (SpriteID old_spr, SpriteID new_spr)

Variables

uint _sprite_cache_size

Detailed Description

Functions to cache sprites in memory.

Definition in file spritecache.h.


Function Documentation

uint GetMaxSpriteID (  ) 

Get a reasonable (upper bound) estimate of the maximum SpriteID used in OpenTTD; there will be no sprites with a higher SpriteID, although there might be up to roughly a thousand unused SpriteIDs below this number.

Note:
It's actually the number of spritecache items.
Returns:
maximum SpriteID

Definition at line 174 of file spritecache.cpp.

Referenced by SpriteAlignerWindow::OnClick(), and SpriteAlignerWindow::OnQueryTextFinished().

uint GetOriginFileSlot ( SpriteID  sprite  ) 

Get the (FIOS) file slot of a given sprite.

Parameters:
sprite The sprite to look at.
Returns:
the FIOS file slot

Definition at line 160 of file spritecache.cpp.

Referenced by SpriteAlignerWindow::SetStringParameters().

void* GetRawSprite ( SpriteID  sprite,
SpriteType  type,
AllocatorProc *  allocator 
)

Reads a sprite (from disk or sprite cache).

If the sprite is not available or of wrong type, a fallback sprite is returned.

Parameters:
sprite Sprite to read.
type Expected sprite type.
allocator Allocator function to use. Set to NULL to use the usual sprite cache.
Returns:
Sprite raw data

Definition at line 578 of file spritecache.cpp.

References DEBUG, HandleInvalidSpriteRequest(), ReadSprite(), ST_INVALID, ST_MAPGEN, and SpriteCache::type.

Referenced by HandleInvalidSpriteRequest(), and ReadSprite().

SpriteType GetSpriteType ( SpriteID  sprite  ) 

Get the sprite type of a given sprite.

Parameters:
sprite The sprite to look at.
Returns:
the type of sprite.

Definition at line 149 of file spritecache.cpp.

References ST_INVALID, and SpriteCache::type.

Referenced by SpriteAlignerWindow::OnClick(), and SpriteAlignerWindow::OnQueryTextFinished().

bool SkipSpriteData ( byte  type,
uint16  num 
)

Skip the given amount of sprite graphics data.

Parameters:
type the type of sprite (compressed etc)
num the amount of sprites to skip
Returns:
true if the data could be correctly skipped.

Definition at line 91 of file spritecache.cpp.

Referenced by ReadSpriteHeaderSkipData().


Generated on Sun May 8 07:30:33 2011 for OpenTTD by  doxygen 1.6.1