newgrf_generic.cpp File Reference

Handling of generic feature callbacks. More...

#include "stdafx.h"
#include "debug.h"
#include "newgrf.h"
#include "newgrf_spritegroup.h"
#include "industrytype.h"
#include "core/bitmath_func.hpp"
#include <list>

Go to the source code of this file.

Data Structures

struct  GenericCallback

Typedefs

typedef std::list
< GenericCallback
GenericCallbackList

Functions

void ResetGenericCallbacks ()
 Reset all generic feature callback sprite groups.
void AddGenericCallback (uint8 feature, const GRFFile *file, const SpriteGroup *group)
 Add a generic feature callback sprite group to the appropriate feature list.
static uint32 GenericCallbackGetRandomBits (const ResolverObject *object)
static uint32 GenericCallbackGetTriggers (const ResolverObject *object)
static void GenericCallbackSetTriggers (const ResolverObject *object, int triggers)
static uint32 GenericCallbackGetVariable (const ResolverObject *object, byte variable, byte parameter, bool *available)
static const SpriteGroupGenericCallbackResolveReal (const ResolverObject *object, const RealSpriteGroup *group)
static void NewGenericResolver (ResolverObject *res, const GRFFile *grffile)
static uint16 GetGenericCallbackResult (uint8 feature, ResolverObject *object, const GRFFile **file)
 Follow a generic feature callback list and return the first successful answer.
uint16 GetAiPurchaseCallbackResult (uint8 feature, CargoID cargo_type, uint8 default_selection, IndustryType src_industry, IndustryType dst_industry, uint8 distance, AIConstructionEvent event, uint8 count, uint8 station_size, const GRFFile **file)
 'Execute' an AI purchase selection callback

Variables

static GenericCallbackList _gcl [GSF_END]

Detailed Description

Handling of generic feature callbacks.

Definition in file newgrf_generic.cpp.


Function Documentation

void AddGenericCallback ( uint8  feature,
const GRFFile file,
const SpriteGroup group 
)

Add a generic feature callback sprite group to the appropriate feature list.

Parameters:
feature 
file 
group 

Definition at line 53 of file newgrf_generic.cpp.

References grfmsg(), and lengthof.

static uint16 GetGenericCallbackResult ( uint8  feature,
ResolverObject object,
const GRFFile **  file 
) [static]

Follow a generic feature callback list and return the first successful answer.

Parameters:
feature GRF Feature of callback
object pre-populated resolver object
file address of GRFFile object if file reference is needed, NULL is valid
Returns:
callback value if successful or CALLBACK_FAILED

Definition at line 145 of file newgrf_generic.cpp.

References CALLBACK_FAILED, lengthof, and SpriteGroup::Resolve().

Referenced by GetAiPurchaseCallbackResult().


Generated on Sun Jan 23 01:49:17 2011 for OpenTTD by  doxygen 1.6.1