Data Structures | Defines | Functions | Variables

# newgrf_debug_data.h File Reference

Data 'tables' for NewGRF debugging. More...

`#include "../newgrf_house.h"`
`#include "../newgrf_engine.h"`

Go to the source code of this file.

## Data Structures
class | NIHVehicle
class | NIHStation
class | NIHHouse
class | NIHIndustryTile
class | NIHIndustry
class | NIHObject
class | NIHRailType
class | NIHAirportTile
class | NIHTown
## Defines
#define | NIP(prop, base, variable, type, name) { name, cpp_offsetof(base, variable), cpp_sizeof(base, variable), prop, type }
#define | NIP_END() { NULL, 0, 0, 0, 0 }
#define | NIC(cb_id, base, variable, bit) { #cb_id, cpp_offsetof(base, variable), cpp_sizeof(base, variable), bit, cb_id }
#define | NIC_END() { NULL, 0, 0, 0, 0 }
#define | NIV(var, name) { name, var }
#define | NIV_END() { NULL, 0 }
#define | NICV(cb_id, bit) NIC(cb_id, Engine, info.callback_mask, bit)
#define | NICS(cb_id, bit) NIC(cb_id, StationSpec, callback_mask, bit)
#define | NICH(cb_id, bit) NIC(cb_id, HouseSpec, callback_mask, bit)
#define | NICIT(cb_id, bit) NIC(cb_id, IndustryTileSpec, callback_mask, bit)
#define | NICI(cb_id, bit) NIC(cb_id, IndustrySpec, callback_mask, bit)
#define | NICO(cb_id, bit) NIC(cb_id, ObjectSpec, callback_mask, bit)
#define | NICAT(cb_id, bit) NIC(cb_id, AirportTileSpec, callback_mask, bit)
## Functions
| assert_compile (lengthof(_nifeatures)==GSF_FAKE_END)
## Variables
static const NICallback | _nic_vehicles []
static const NIVariable | _niv_vehicles []
static const NIFeature | _nif_vehicle
static const NICallback | _nic_stations []
static const NIVariable | _niv_stations []
static const NIFeature | _nif_station
static const NICallback | _nic_house []
static const NIVariable | _niv_house []
static const NIFeature | _nif_house
static const NICallback | _nic_industrytiles []
static const NIVariable | _niv_industrytiles []
static const NIFeature | _nif_industrytile
static const NIProperty | _nip_industries []
static const NICallback | _nic_industries []
static const NIVariable | _niv_industries []
static const NIFeature | _nif_industry
static const NICallback | _nic_objects []
static const NIVariable | _niv_objects []
static const NIFeature | _nif_object
static const NIVariable | _niv_railtypes []
static const NIFeature | _nif_railtype
static const NICallback | _nic_airporttiles []
static const NIFeature | _nif_airporttile
static const NIVariable | _niv_towns []
static const NIFeature | _nif_town
static const NIFeature *const | _nifeatures []
| Table with all NIFeatures.

## Detailed Description

Data 'tables' for NewGRF debugging.

Definition in file newgrf_debug_data.h.

## Variable Documentation

const NICallback _nic_airporttiles[]`[static]`

Initial value:

     {
      NICAT(CBID_AIRPTILE_DRAW_FOUNDATIONS, CBM_AIRT_DRAW_FOUNDATIONS),
      NICAT(CBID_AIRPTILE_ANIM_START_STOP,  CBM_NO_BIT),
      NICAT(CBID_AIRPTILE_ANIM_NEXT_FRAME,  CBM_AIRT_ANIM_NEXT_FRAME),
      NICAT(CBID_AIRPTILE_ANIMATION_SPEED,  CBM_AIRT_ANIM_SPEED),

    }

Definition at line 448 of file newgrf_debug_data.h.

const NICallback _nic_house[]`[static]`

Initial value:

     {
      NICH(CBID_HOUSE_ALLOW_CONSTRUCTION,        CBM_HOUSE_ALLOW_CONSTRUCTION),
      NICH(CBID_HOUSE_ANIMATION_NEXT_FRAME,      CBM_HOUSE_ANIMATION_NEXT_FRAME),
      NICH(CBID_HOUSE_ANIMATION_START_STOP,      CBM_HOUSE_ANIMATION_START_STOP),
      NICH(CBID_HOUSE_CONSTRUCTION_STATE_CHANGE, CBM_HOUSE_CONSTRUCTION_STATE_CHANGE),
      NICH(CBID_HOUSE_COLOUR,                    CBM_HOUSE_COLOUR),
      NICH(CBID_HOUSE_CARGO_ACCEPTANCE,          CBM_HOUSE_CARGO_ACCEPTANCE),
      NICH(CBID_HOUSE_ANIMATION_SPEED,           CBM_HOUSE_ANIMATION_SPEED),
      NICH(CBID_HOUSE_DESTRUCTION,               CBM_HOUSE_DESTRUCTION),
      NICH(CBID_HOUSE_ACCEPT_CARGO,              CBM_HOUSE_ACCEPT_CARGO),
      NICH(CBID_HOUSE_PRODUCE_CARGO,             CBM_HOUSE_PRODUCE_CARGO),
      NICH(CBID_HOUSE_DENY_DESTRUCTION,          CBM_HOUSE_DENY_DESTRUCTION),
      NICH(CBID_HOUSE_WATCHED_CARGO_ACCEPTED,    CBM_NO_BIT),
      NICH(CBID_HOUSE_CUSTOM_NAME,               CBM_NO_BIT),
      NICH(CBID_HOUSE_DRAW_FOUNDATIONS,          CBM_HOUSE_DRAW_FOUNDATIONS),
      NICH(CBID_HOUSE_AUTOSLOPE,                 CBM_HOUSE_AUTOSLOPE),

    }

Definition at line 160 of file newgrf_debug_data.h.

const NICallback _nic_industries[]`[static]`

Initial value:

     {
      NICI(CBID_INDUSTRY_PROBABILITY,          CBM_IND_PROBABILITY),
      NICI(CBID_INDUSTRY_LOCATION,             CBM_IND_LOCATION),
      NICI(CBID_INDUSTRY_PRODUCTION_CHANGE,    CBM_IND_PRODUCTION_CHANGE),
      NICI(CBID_INDUSTRY_MONTHLYPROD_CHANGE,   CBM_IND_MONTHLYPROD_CHANGE),
      NICI(CBID_INDUSTRY_CARGO_SUFFIX,         CBM_IND_CARGO_SUFFIX),
      NICI(CBID_INDUSTRY_FUND_MORE_TEXT,       CBM_IND_FUND_MORE_TEXT),
      NICI(CBID_INDUSTRY_WINDOW_MORE_TEXT,     CBM_IND_WINDOW_MORE_TEXT),
      NICI(CBID_INDUSTRY_SPECIAL_EFFECT,       CBM_IND_SPECIAL_EFFECT),
      NICI(CBID_INDUSTRY_REFUSE_CARGO,         CBM_IND_REFUSE_CARGO),
      NICI(CBID_INDUSTRY_DECIDE_COLOUR,        CBM_IND_DECIDE_COLOUR),
      NICI(CBID_INDUSTRY_INPUT_CARGO_TYPES,    CBM_IND_INPUT_CARGO_TYPES),
      NICI(CBID_INDUSTRY_OUTPUT_CARGO_TYPES,   CBM_IND_OUTPUT_CARGO_TYPES),
      NICI(CBID_INDUSTRY_PROD_CHANGE_BUILD,    CBM_IND_PROD_CHANGE_BUILD),

    }

Definition at line 284 of file newgrf_debug_data.h.

const NICallback _nic_industrytiles[]`[static]`

Initial value:

     {
      NICIT(CBID_INDTILE_ANIM_START_STOP,  CBM_NO_BIT),
      NICIT(CBID_INDTILE_ANIM_NEXT_FRAME,  CBM_INDT_ANIM_NEXT_FRAME),
      NICIT(CBID_INDTILE_ANIMATION_SPEED,  CBM_INDT_ANIM_SPEED),
      NICIT(CBID_INDTILE_CARGO_ACCEPTANCE, CBM_INDT_CARGO_ACCEPTANCE),
      NICIT(CBID_INDTILE_ACCEPT_CARGO,     CBM_INDT_ACCEPT_CARGO),
      NICIT(CBID_INDTILE_SHAPE_CHECK,      CBM_INDT_SHAPE_CHECK),
      NICIT(CBID_INDTILE_DRAW_FOUNDATIONS, CBM_INDT_DRAW_FOUNDATIONS),
      NICIT(CBID_INDTILE_AUTOSLOPE,        CBM_INDT_AUTOSLOPE),

    }

Definition at line 225 of file newgrf_debug_data.h.

const NICallback _nic_objects[]`[static]`

Initial value:

     {
      NICO(CBID_OBJECT_LAND_SLOPE_CHECK,     CBM_OBJ_SLOPE_CHECK),
      NICO(CBID_OBJECT_ANIMATION_NEXT_FRAME, CBM_OBJ_ANIMATION_NEXT_FRAME),
      NICO(CBID_OBJECT_ANIMATION_START_STOP, CBM_NO_BIT),
      NICO(CBID_OBJECT_ANIMATION_SPEED,      CBM_OBJ_ANIMATION_SPEED),
      NICO(CBID_OBJECT_COLOUR,               CBM_OBJ_COLOUR),
      NICO(CBID_OBJECT_FUND_MORE_TEXT,       CBM_OBJ_FUND_MORE_TEXT),
      NICO(CBID_OBJECT_AUTOSLOPE,            CBM_OBJ_AUTOSLOPE),

    }

Definition at line 357 of file newgrf_debug_data.h.

const NICallback _nic_stations[]`[static]`

Initial value:

     {
      NICS(CBID_STATION_AVAILABILITY,     CBM_STATION_AVAIL),
      NICS(CBID_STATION_SPRITE_LAYOUT,    CBM_STATION_SPRITE_LAYOUT),
      NICS(CBID_STATION_TILE_LAYOUT,      CBM_NO_BIT),
      NICS(CBID_STATION_ANIM_START_STOP,  CBM_NO_BIT),
      NICS(CBID_STATION_ANIM_NEXT_FRAME,  CBM_STATION_ANIMATION_NEXT_FRAME),
      NICS(CBID_STATION_ANIMATION_SPEED,  CBM_STATION_ANIMATION_SPEED),
      NICS(CBID_STATION_LAND_SLOPE_CHECK, CBM_STATION_SLOPE_CHECK),

    }

Definition at line 98 of file newgrf_debug_data.h.

const NICallback _nic_vehicles[]`[static]`

Initial value:

     {
      NICV(CBID_VEHICLE_VISUAL_EFFECT,         CBM_VEHICLE_VISUAL_EFFECT),
      NICV(CBID_VEHICLE_LENGTH,                CBM_VEHICLE_LENGTH),
      NICV(CBID_VEHICLE_LOAD_AMOUNT,           CBM_VEHICLE_LOAD_AMOUNT),
      NICV(CBID_VEHICLE_REFIT_CAPACITY,        CBM_VEHICLE_REFIT_CAPACITY),
      NICV(CBID_VEHICLE_ARTIC_ENGINE,          CBM_VEHICLE_ARTIC_ENGINE),
      NICV(CBID_VEHICLE_CARGO_SUFFIX,          CBM_VEHICLE_CARGO_SUFFIX),
      NICV(CBID_TRAIN_ALLOW_WAGON_ATTACH,      CBM_NO_BIT),
      NICV(CBID_VEHICLE_ADDITIONAL_TEXT,       CBM_NO_BIT),
      NICV(CBID_VEHICLE_COLOUR_MAPPING,        CBM_VEHICLE_COLOUR_REMAP),
      NICV(CBID_VEHICLE_START_STOP_CHECK,      CBM_NO_BIT),
      NICV(CBID_VEHICLE_32DAY_CALLBACK,        CBM_NO_BIT),
      NICV(CBID_VEHICLE_SOUND_EFFECT,          CBM_VEHICLE_SOUND_EFFECT),
      NICV(CBID_VEHICLE_AUTOREPLACE_SELECTION, CBM_NO_BIT),
      NICV(CBID_VEHICLE_MODIFY_PROPERTY,       CBM_NO_BIT),

    }

Definition at line 31 of file newgrf_debug_data.h.

const NIFeature _nif_airporttile`[static]`

Initial value:

     {
      NULL,
      _nic_airporttiles,
      _niv_industrytiles,
      new NIHAirportTile(),
    }

Definition at line 471 of file newgrf_debug_data.h.

const NIFeature _nif_house`[static]`

Initial value:

     {
      NULL,
      _nic_house,
      _niv_house,
      new NIHHouse(),
    }

Definition at line 214 of file newgrf_debug_data.h.

const NIFeature _nif_industry`[static]`

Initial value:

     {
      _nip_industries,
      _nic_industries,
      _niv_industries,
      new NIHIndustry(),
    }

Definition at line 346 of file newgrf_debug_data.h.

const NIFeature _nif_industrytile`[static]`

Initial value:

     {
      NULL,
      _nic_industrytiles,
      _niv_industrytiles,
      new NIHIndustryTile(),
    }

Definition at line 264 of file newgrf_debug_data.h.

const NIFeature _nif_object`[static]`

Initial value:

     {
      NULL,
      _nic_objects,
      _niv_objects,
      new NIHObject(),
    }

Definition at line 401 of file newgrf_debug_data.h.

const NIFeature _nif_railtype`[static]`

Initial value:

     {
      NULL,
      NULL,
      _niv_railtypes,
      new NIHRailType(),
    }

Definition at line 437 of file newgrf_debug_data.h.

const NIFeature _nif_station`[static]`

Initial value:

     {
      NULL,
      _nic_stations,
      _niv_stations,
      new NIHStation(),
    }

Definition at line 149 of file newgrf_debug_data.h.

const NIFeature _nif_town`[static]`

Initial value:

     {
      NULL,
      NULL,
      _niv_towns,
      new NIHTown(),
    }

Definition at line 523 of file newgrf_debug_data.h.

const NIFeature _nif_vehicle`[static]`

Initial value:

     {
      NULL,
      _nic_vehicles,
      _niv_vehicles,
      new NIHVehicle(),
    }

Definition at line 87 of file newgrf_debug_data.h.

const NIFeature* const _nifeatures[]`[static]`

Initial value:

     {
      &_nif_vehicle,
      &_nif_vehicle,
      &_nif_vehicle,
      &_nif_vehicle,
      &_nif_station,
      NULL,
      NULL,
      &_nif_house,
      NULL,
      &_nif_industrytile,
      &_nif_industry,
      NULL,
      NULL,
      NULL,
      NULL,
      &_nif_object,
      &_nif_railtype,
      &_nif_airporttile,
      &_nif_town,
    }

Table with all NIFeatures.

Definition at line 531 of file newgrf_debug_data.h.

Referenced by GetFeature().

const NIProperty _nip_industries[]`[static]`

Initial value:

     {
      NIP(0x10, Industry, produced_cargo[0], NIT_CARGO, "produced cargo 0"),
      NIP(0x10, Industry, produced_cargo[1], NIT_CARGO, "produced cargo 1"),
      NIP(0x11, Industry, accepts_cargo[0],  NIT_CARGO, "accepted cargo 0"),
      NIP(0x11, Industry, accepts_cargo[1],  NIT_CARGO, "accepted cargo 1"),
      NIP(0x11, Industry, accepts_cargo[2],  NIT_CARGO, "accepted cargo 2"),

    }

Definition at line 274 of file newgrf_debug_data.h.

const NIVariable _niv_house[]`[static]`

Initial value:

     {
      NIV(0x40, "construction state of tile and pseudo-random value"),
      NIV(0x41, "age of building in years"),
      NIV(0x42, "town zone"),
      NIV(0x43, "terrain type"),
      NIV(0x44, "building counts"),
      NIV(0x45, "town expansion bits"),
      NIV(0x46, "current animation frame"),
      NIV(0x47, "xy coordinate of the building"),
      NIV(0x60, "other building counts (old house type)"),
      NIV(0x61, "other building counts (new house type)"),
      NIV(0x62, "land info of nearby tiles"),
      NIV(0x63, "current animation frame of nearby house tile"),
      NIV(0x64, "cargo acceptance history of nearby stations"),
      NIV(0x65, "distance of nearest house matching a given criterion"),
      NIV(0x66, "class and ID of nearby house tile"),
      NIV(0x67, "GRFID of nearby house tile"),

    }

Definition at line 179 of file newgrf_debug_data.h.

const NIVariable _niv_industries[]`[static]`

Initial value:

     {
      NIV(0x40, "waiting cargo 0"),
      NIV(0x41, "waiting cargo 1"),
      NIV(0x42, "waiting cargo 2"),
      NIV(0x43, "distance to closest dry/land tile"),
      NIV(0x44, "layout number"),
      NIV(0x45, "player info"),
      NIV(0x46, "industry construction date"),
      NIV(0x60, "get industry tile ID at offset"),
      NIV(0x61, "get random tile bits at offset"),
      NIV(0x62, "land info of nearby tiles"),
      NIV(0x63, "animation stage of nearby tiles"),
      NIV(0x64, "distance on nearest industry with given type"),
      NIV(0x65, "get town zone and Manhattan distance of closest town"),
      NIV(0x66, "get square of Euclidean distance of closes town"),
      NIV(0x67, "count of industry and distance of closest instance"),
      NIV(0x68, "count of industry and distance of closest instance with layout filter"),

    }

Definition at line 301 of file newgrf_debug_data.h.

const NIVariable _niv_industrytiles[]`[static]`

Initial value:

     {
      NIV(0x40, "construction state of tile"),
      NIV(0x41, "ground type"),
      NIV(0x42, "current town zone in nearest town"),
      NIV(0x43, "relative position"),
      NIV(0x44, "animation frame"),
      NIV(0x60, "land info of nearby tiles"),
      NIV(0x61, "animation stage of nearby tiles"),
      NIV(0x62, "get industry or airport tile ID at offset"),

    }

Definition at line 237 of file newgrf_debug_data.h.

const NIVariable _niv_objects[]`[static]`

Initial value:

     {
      NIV(0x40, "relative position"),
      NIV(0x41, "tile information"),
      NIV(0x42, "construction date"),
      NIV(0x43, "animation counter"),
      NIV(0x44, "object founder"),
      NIV(0x45, "get town zone and Manhattan distance of closest town"),
      NIV(0x46, "get square of Euclidean distance of closes town"),
      NIV(0x47, "colour"),
      NIV(0x48, "view"),
      NIV(0x60, "get object ID at offset"),
      NIV(0x61, "get random tile bits at offset"),
      NIV(0x62, "land info of nearby tiles"),
      NIV(0x63, "animation stage of nearby tiles"),
      NIV(0x64, "distance on nearest object with given type"),

    }

Definition at line 368 of file newgrf_debug_data.h.

const NIVariable _niv_railtypes[]`[static]`

Initial value:

     {
      NIV(0x40, "terrain type"),
      NIV(0x41, "enhanced tunnels"),
      NIV(0x42, "level crossing status"),
      NIV(0x43, "construction date"),
      NIV(0x44, "town zone"),

    }

Definition at line 411 of file newgrf_debug_data.h.

const NIVariable _niv_stations[]`[static]`

Initial value:

     {
      NIV(0x40, "platform info and relative position"),
      NIV(0x41, "platform info and relative position for individually built sections"),
      NIV(0x42, "terrain and track type"),
      NIV(0x43, "player info"),
      NIV(0x44, "path signalling info"),
      NIV(0x45, "rail continuation info"),
      NIV(0x46, "platform info and relative position from middle"),
      NIV(0x47, "platform info and relative position from middle for individually built sections"),
      NIV(0x48, "bitmask of accepted cargoes"),
      NIV(0x49, "platform info and relative position of same-direction section"),
      NIV(0x4A, "current animation frame"),
      NIV(0x60, "amount of cargo waiting"),
      NIV(0x61, "time since last cargo pickup"),
      NIV(0x62, "rating of cargo"),
      NIV(0x63, "time spent on route"),
      NIV(0x64, "information about last vehicle picking cargo up"),
      NIV(0x65, "amount of cargo acceptance"),
      NIV(0x66, "animation frame of nearby tile"),
      NIV(0x67, "land info of nearby tiles"),
      NIV(0x68, "station info of nearby tiles"),
      NIV(0x69, "information about cargo accepted in the past"),

    }

Definition at line 109 of file newgrf_debug_data.h.

const NIVariable _niv_towns[]`[static]`

Initial value:

     {
      NIV(0x40, "larger town effect on this town"),
      NIV(0x41, "town index"),
      NIV(0x82, "population"),
      NIV(0x94, "zone radius 0"),
      NIV(0x96, "zone radius 1"),
      NIV(0x98, "zone radius 2"),
      NIV(0x9A, "zone radius 3"),
      NIV(0x9C, "zone radius 4"),
      NIV(0xB6, "number of buildings"),

    }

Definition at line 481 of file newgrf_debug_data.h.

const NIVariable _niv_vehicles[]`[static]`

Initial value:

     {
      NIV(0x40, "position in consist and length"),
      NIV(0x41, "position and length of chain of same vehicles"),
      NIV(0x42, "transported cargo types"),
      NIV(0x43, "player info"),
      NIV(0x44, "aircraft info"),
      NIV(0x45, "curvature info"),
      NIV(0x46, "motion counter"),
      NIV(0x47, "vehicle cargo info"),
      NIV(0x48, "vehicle type info"),
      NIV(0x49, "year of construction"),
      NIV(0x4A, "current rail type info"),
      NIV(0x4B, "long date of last service"),
      NIV(0x4C, "current max speed"),
      NIV(0x4A, "position in articulated vehicle"),
      NIV(0x60, "count vehicle id occurrences"),

      NIV(0x62, "Curvature/position difference to other vehicle"),

    }

Definition at line 50 of file newgrf_debug_data.h.