--- a/src/player.h Tue Mar 13 12:21:13 2007 +0000
+++ b/src/player.h Tue Mar 13 13:07:17 2007 +0000
@@ -17,136 +17,6 @@
int64 company_value;
};
-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 PlayerAI {
- 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;
-
- CargoID cargo_type;
- byte num_wagons;
- byte build_kind;
- byte num_build_rec;
- byte num_loco_to_build;
- byte num_want_fullload;
-
- byte route_type_mask;
-
- TileIndex start_tile_a;
- TileIndex cur_tile_a;
- byte cur_dir_a;
- byte start_dir_a;
-
- TileIndex start_tile_b;
- TileIndex cur_tile_b;
- byte cur_dir_b;
- byte start_dir_b;
-
- Vehicle *cur_veh; /* only used by some states */
-
- AiBuildRec src, dst, mid1, mid2;
-
- VehicleID wagon_list[9];
- byte order_list_blocks[20];
-
- TileIndex banned_tiles[16];
- byte banned_val[16];
-};
-
-struct Ai_PathFinderInfo {
- TileIndex start_tile_tl; // tl = top-left
- TileIndex start_tile_br; // br = bottom-right
- TileIndex end_tile_tl; // tl = top-left
- TileIndex end_tile_br; // br = bottom-right
- byte start_direction; // 0 to 3 or AI_PATHFINDER_NO_DIRECTION
- byte end_direction; // 0 to 3 or AI_PATHFINDER_NO_DIRECTION
-
- TileIndex route[500];
- byte route_extra[500]; // Some extra information about the route like bridge/tunnel
- int route_length;
- int position; // Current position in the build-path, needed to build the path
-
- bool rail_or_road; // true = rail, false = road
-};
-
-// The amount of memory reserved for the AI-special-vehicles
-#define AI_MAX_SPECIAL_VEHICLES 100
-
-struct Ai_SpecialVehicle {
- VehicleID veh_id;
- uint32 flag;
-};
-
-struct PlayerAiNew {
- uint8 state;
- uint tick;
- uint idle;
-
- int temp; // A value used in more than one function, but it just temporary
- // The use is pretty simple: with this we can 'think' about stuff
- // in more than one tick, and more than one AI. A static will not
- // do, because they are not saved. This way, the AI is almost human ;)
- int counter; // For the same reason as temp, we have counter. It can count how
- // long we are trying something, and just abort if it takes too long
-
- // Pathfinder stuff
- Ai_PathFinderInfo path_info;
- AyStar *pathfinder;
-
- // Route stuff
-
- CargoID cargo;
- byte tbt; // train/bus/truck 0/1/2 AI_TRAIN/AI_BUS/AI_TRUCK
- int new_cost;
-
- byte action;
-
- int last_id; // here is stored the last id of the searched city/industry
- Date last_vehiclecheck_date; // Used in CheckVehicle
- Ai_SpecialVehicle special_vehicles[AI_MAX_SPECIAL_VEHICLES]; // Some vehicles have some special flags
-
- TileIndex from_tile;
- TileIndex to_tile;
-
- byte from_direction;
- byte to_direction;
-
- bool from_deliver; // True if this is the station that GIVES cargo
- bool to_deliver;
-
- TileIndex depot_tile;
- DiagDirectionByte depot_direction;
-
- byte amount_veh; // How many vehicles we are going to build in this route
- byte cur_veh; // How many vehicles did we bought?
- VehicleID veh_id; // Used when bought a vehicle
- VehicleID veh_main_id; // The ID of the first vehicle, for shared copy
-
- int from_ic; // ic = industry/city. This is the ID of them
- byte from_type; // AI_NO_TYPE/AI_CITY/AI_INDUSTRY
- int to_ic;
- byte to_type;
-
-};
-
-
typedef uint32 PlayerFace;
struct Player {
@@ -186,8 +56,6 @@
bool is_active;
bool is_ai;
- PlayerAI ai;
- PlayerAiNew ainew;
int64 yearly_expenses[3][13];
PlayerEconomyEntry cur_economy;