newgrf_canal.cpp File Reference

Implementation of NewGRF canals. More...

#include "stdafx.h"
#include "debug.h"
#include "newgrf_spritegroup.h"
#include "newgrf_canal.h"
#include "water_map.h"

Go to the source code of this file.

Functions

static uint32 CanalGetRandomBits (const ResolverObject *object)
static uint32 CanalGetTriggers (const ResolverObject *object)
static void CanalSetTriggers (const ResolverObject *object, int triggers)
static uint32 CanalGetVariable (const ResolverObject *object, byte variable, byte parameter, bool *available)
static const SpriteGroupCanalResolveReal (const ResolverObject *object, const RealSpriteGroup *group)
static void NewCanalResolver (ResolverObject *res, TileIndex tile, const GRFFile *grffile)
SpriteID GetCanalSprite (CanalFeature feature, TileIndex tile)
 Lookup the base sprite to use for a canal.
static uint16 GetCanalCallback (CallbackID callback, uint32 param1, uint32 param2, CanalFeature feature, TileIndex tile)
 Run a specific callback for canals.
uint GetCanalSpriteOffset (CanalFeature feature, TileIndex tile, uint cur_offset)
 Get the new sprite offset for a water tile.

Variables

WaterFeature _water_feature [CF_END]
 Table of canal 'feature' sprite groups.

Detailed Description

Implementation of NewGRF canals.

Definition in file newgrf_canal.cpp.


Function Documentation

static uint16 GetCanalCallback ( CallbackID  callback,
uint32  param1,
uint32  param2,
CanalFeature  feature,
TileIndex  tile 
) [static]

Run a specific callback for canals.

Parameters:
callback Callback ID.
param1 Callback parameter 1.
param2 Callback parameter 2.
feature For which feature to run the callback.
tile Tile index of canal.
Returns:
Callback result or CALLBACK_FAILED if the callback failed.

Definition at line 128 of file newgrf_canal.cpp.

References CALLBACK_FAILED, and SpriteGroup::Resolve().

Referenced by GetCanalSpriteOffset().

SpriteID GetCanalSprite ( CanalFeature  feature,
TileIndex  tile 
)

Lookup the base sprite to use for a canal.

Parameters:
feature Which canal feature we want.
tile Tile index of canal, if appropriate.
Returns:
Base sprite returned by GRF, or 0 if none.

Definition at line 106 of file newgrf_canal.cpp.

References SpriteGroup::Resolve().

Referenced by DrawCanalWater(), DrawWaterEdges(), and DrawWaterLock().

uint GetCanalSpriteOffset ( CanalFeature  feature,
TileIndex  tile,
uint  cur_offset 
)

Get the new sprite offset for a water tile.

Parameters:
tile Tile index of the canal/water tile.
feature For which feature to get the new sprite offset.
cur_offset Current sprite offset.
Returns:
New sprite offset.

Definition at line 152 of file newgrf_canal.cpp.

References CALLBACK_FAILED, CBID_CANALS_SPRITE_OFFSET, CBM_CANAL_SPRITE_OFFSET, GetCanalCallback(), and HasBit().

Referenced by DrawWaterSprite(), and DrawWaterTileStruct().


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