summaryrefslogtreecommitdiff
path: root/ai/default/default.c
AgeCommit message (Collapse)Author
2006-12-27(svn r7575) -Codechange: Allow the AI to build signals under bridges (revert ↵celestar
r4911)
2006-12-27(svn r7573) -Merged the bridge branch. Allows to build bridges of arbitrary ↵celestar
rail/road combinations (including signals)
2006-12-05(svn r7372) - CodeChange: Rename all GetXXXArraySize() functions to ↵matthijs
GetNumXXX() and add GetMaxXXXIndex() functions. This prepares for the new pool interface.
2006-11-05(svn r7073) -Feature: Add cargo refit support to both AIs for road vehiclespeter1138
2006-11-05(svn r7070) -Codechange: Make the AI choose road vehicles based on a rating ↵peter1138
(currently max speed * capacity) instead of either the cost or the index of the vheicle.
2006-11-05(svn r7069) -Fix: AI tried to build road from the back or side of road ↵KUDr
stop/depot (peter1138)
2006-11-03(svn r7057) -Codechange: Remove hardcoded lists of road vehicles for each ↵peter1138
cargo type in favour of just checking the cargo type of each vehicle.
2006-10-31(svn r7020) -Fix r6047: AI tries to delete stations that are 'in use' ↵glx
because FOR_ALL_STATIONS skips invalid stations
2006-10-14(svn r6771) -Codechange: Replace two macros with functions. IS_HUMAN_PLAYER andDarkvater
IS_INTERACTIVE_PLAYER
2006-09-05(svn r6407) -Fix: Check return values of DoCommand() with CmdFailed and that ↵Darkvater
of DoCommandP with a boolean type.
2006-09-05(svn r6406) -Codechange: Rename TileOffsByDir to TileOffsByDiagDir because ↵Darkvater
it accepts DiagDirections, and add TileOffsByDir that handles Directions. -Codechange: Make the treeloop use TileOffsByDir().
2006-09-03(svn r6353) -Codechange: Make DestinationID a typedef of uin16, which is as ↵tron
large as any type of destinataion (StationID, DepotID, WaypointID) it can hold DestinationID being a union of these types is just hassle without benefit and cannot be handled correctly everywhere because of local lack of information
2006-08-31(svn r6280) -Codechange: Use the same naming for trains as for other vehicles:Darkvater
CMD_SEND_TRAIN_TO_DEPOT instead of CMD_TRAIN_GOTO_DEPOT
2006-08-28(svn r6204) -Cleanup: replace non-indentation with spaces; like '}<TAB>else ↵rubidium
{' -> '} else {', tabs between code and comment, etc.
2006-08-26(svn r6142) -Codechange: added WaypointID (sorry DV, couldn't splits it anymore)truelight
-Codechange: introduced DestinationID, which is in fact an union of several types Used in Order struct, so no longer StationID is abused for all targets. Hangars are a big exception, as they use a station-id with GOTO_DEPOT (go figure)
2006-08-22(svn r6057) -Codechange: made a function GetRandomXXX, that _always_ returns ↵truelight
a valid XXX, unless there are none to pick from. Then NULL is returned.
2006-08-22(svn r6055) -Codechange: added GetXXXArraySize, which returns HighestID + 1 ↵truelight
(or, will do that). It isn't the best name, but we couldn't find any better. This unifies the pool-system even more.
2006-08-22(svn r6047) -Codechange: FOR_ALL now _only_ loops valid items, and skips ↵truelight
invalid ones -Codechange: use IsValidXXX where ever possible Note: both changes to prepare for new pool system, which needs those changes. For every pool there are 2 ugly lines, which will be removed when done implementing new pool system. Based on FS#13 by blathijs, partly implemented.
2006-08-22(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. ↵rubidium
whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
2006-08-22(svn r6043) -Codechange: use wrapper if they are availabletruelight
2006-08-20(svn r5975) -Cleanup: use ORIGINAL_BASE_YEAR & ORIGINAL_MAX_YEAR where the ↵rubidium
functions really depend on the original date format. -Cleanup: use DAYS_TILL_ORIGINAL_BASE_YEAR where the date variables are in the old date format and conversions are needed. -Cleanup: replace one (forgotten) instance of uint16 with Date.
2006-08-14(svn r5887) -Cleanup: move date related functions, defines and variables to ↵rubidium
date.[ch] -Cleanup: fix whitespace related coding style issues in date.[ch] -Cleanup: make original comments doxygen compatible and remove/change outdated comments
2006-06-27(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectaculartron
2006-06-14(svn r5263) Use the flag which denotes if it's a plane or helicopter instead ↵tron
of magical engine numbers
2006-06-11(svn r5228) Suppress MSVC warnings about signed/unsigned comparisonKUDr
2006-06-11(svn r5222) Misc. smaller changes, mostly const, variable scope and ↵tron
replacing some magic numbers by enums
2006-06-10(svn r5210) Many small changes which piled up: const, unsigned, variable ↵tron
scope, CSE for readability, DeMorgan, if cascades -> switch, whitespace, parentheses, bracing, misc.
2006-06-07(svn r5155) - Remove the bridge branch merge (revision r5070)tron
2006-06-05(svn r5129) Accommodate the default AI for the new railtype: It used hard ↵tron
coded numbers instead of enums to calculate prices
2006-06-05(svn r5128) Remove the global variable _cur_ai_playertron
2006-06-05(svn r5127) Use IsRoadVehInDepotStopped() and IsAircraftInHangarStopped()tron
2006-06-04(svn r5094) Remove _new_{aircraft,roadveh,ship,train,wagon}_id. ↵tron
_new_vehicle_id is enough.
2006-06-02(svn r5070) Merged the bridge branchcelestar
-Feature: Bridges can now be placed above: Any railway track combination (excluding depots and waypoints) Any road combination (excluding depots) Clear tiles (duh), including fields Tunnel entrances Bridge heads Thanks to Tron for idea and implementation, KUDr for the yapf synchronization and many others for hours of testing There are still a number of visual problems remaining, especially when electric railways are on or under the bridge. DO NOT REPORT THOSE BUGS FOR THE TIME BEING please.
2006-05-20(svn r4918) Move the information about the size of airports from an global ↵tron
array into the struct which describes an airport
2006-05-19(svn r4911) -Fix (FS#156): The Ai no longer attempts to build signals under ↵celestar
bridges. NOTE 1: Remove/revert this for the bridge branch NOTE 2: Bug displays fundamental flaw in command system: If two commands, where command 2 depends on command 1, have to be checked, all those checks need to be manual. (like in this example, first build rail then build signal. BuildSignal cannot be checked without DC_EXEC as the rail isn't there yet)
2006-05-09(svn r4789) - Codechange: rename RoadType to RoadTileType and ↵rubidium
ROAD_{NORMAL,CROSSING,DEPOT} to ROAD_TILE_* for consistency
2006-05-09(svn r4788) - Codechange: RAILTYPE_{NORMAL,ELECTRIC,...} and ↵rubidium
RAIL_TYPE_{NORMAL,SIGNAL,...} have nearly the same name, rename RAIL_TYPE_* to RAIL_TILE_* of extra clarity
2006-04-23(svn r4553) int and magic numbers -> Slope and DiagDirectiontron
2006-04-21(svn r4502) -Cleanup: Remove code unused since rev1. (Rubidium)celestar
2006-04-10(svn r4342) Change the first two parameters of commands - virtual pixel ↵tron
coordinates of the tile to operate on - to a TileIndex Remove DoCommandByTile(), because now it does the same as DoCommand()
2006-04-08(svn r4318) CodeChange : Remove last direct map access on ai/default/default.cbelugas
2006-03-29(svn r4154) -Moved MAX_BRIDGES in bridge.h and made it an enum. This makes ↵celestar
two drops ...
2006-03-29(svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of ↵celestar
code and proofreading, thanks to peter1138 for another lot of code and ideas.
2006-03-26(svn r4132) - Missed 3 CargoID'sDarkvater
2006-03-26(svn r4128) - CodeChange: Add proper semantics for CargoID for such ↵Darkvater
variables instead of using the general byte-type.
2006-03-26(svn r4120) Use the new station functions where appropriatetron
2006-03-26(svn r4116) -Fix: The AI should send a plane into a hangar if it's not in a ↵tron
hangar _or_ not stopped, not when it's not in a hangar _and_ not stopped
2006-03-24(svn r4079) Add GetSation{Index,ByTile}() to get the station index resp. the ↵tron
station from a tile
2006-03-19(svn r3981) More work for the rail accessing functions and enumstron
2006-03-16(svn r3907) Replace many bridge related direct map accesses with calls to ↵tron
shiny new functions and mark some strange constructs with XXX