|
|
/* $Id$ */
|
|
|
|
|
|
/** @file default.h The original AI. */
|
|
|
|
|
|
#ifndef DEFAULT_H
|
|
|
#define DEFAULT_H
|
|
|
|
|
|
#include "../../direction_type.h"
|
|
|
#include "../../vehicle_type.h"
|
|
|
#include "../../rail_type.h"
|
|
|
|
|
|
void AiDoGameLoop(Company *c);
|
|
|
void SaveLoad_AI(CompanyID company);
|
|
|
|
|
|
struct AiBuildRec {
|
|
|
TileIndex spec_tile;
|
|
|
TileIndex use_tile;
|
|
|
byte rand_rng;
|
|
|
byte cur_building_rule;
|
|
|
byte unk6;
|
|
|
byte unk7;
|
|
|
byte buildcmd_a;
|
|
|
byte buildcmd_b;
|
|
|
byte direction;
|
|
|
CargoID cargo;
|
|
|
};
|
|
|
|
|
|
struct CompanyAI {
|
|
|
byte state;
|
|
|
byte tick; ///< Used to determine how often to move
|
|
|
uint32 state_counter; ///< Can hold tile index!
|
|
|
uint16 timeout_counter;
|
|
|
|
|
|
byte state_mode;
|
|
|
byte banned_tile_count;
|
|
|
RailTypeByte railtype_to_use;
|
|
|
|