summaryrefslogtreecommitdiff
path: root/src/ai/api
AgeCommit message (Collapse)Author
2009-06-01(svn r16502) -Fix [FS#2935]: when an AI was suspended while in a function ↵yexo
called (indirectly) via call/acall/pcall OpenTTD crashed. Fix this by disallowing AIs to be suspended while called via call/acall/pcall. IMPORTANT FOR AI WRITERS: AIs can no longer call any DoCommand functions (change anything, build vehicles, etc.) in a function called (indirectly) via call/acall/pcall. Where possible, please rewrite your code so it doesn't use call/acall/pcall
2009-06-01(svn r16491) -Codechange: Added parentheses around bitwise operators for ↵alberth
code style.
2009-05-26(svn r16441) -Codechange: new class SpecializedVehicle used as superclass ↵smatz
for all vehicle types
2009-05-26(svn r16440) -Fix [NoAI]: AIRail::GetRailStationDirection returned incorrect ↵yexo
information
2009-05-26(svn r16433) -Codechange: Remove most of CmdSetAutoreplace and replace it ↵yexo
with calls to CmdChangeCompanySetting
2009-05-24(svn r16421) -Codechange: do not unnecessarily remove constness or ↵rubidium
unnecessarily add it.
2009-05-23(svn r16403) -Codechange: move code related to subsidies to separate filesmatz
2009-05-23(svn r16400) -Add [NoAI]: add AISignList that can be used to get a list of ↵yexo
valid signs. This makes AISign::GetMaxSignID obsolete.
2009-05-23(svn r16397) -Codechange: move GetVehicleOrder/GetLastVehicleOrder into Vehiclerubidium
2009-05-23(svn r16395) -Fix (r16379): max sign ID can be higher than total number of signssmatz
2009-05-23(svn r16394) -Codechange: move (NewGRF) cache variables into a separate ↵rubidium
struct so (some vehicle related) NewGRF cache 'desyncs' can be tested easier.
2009-05-22(svn r16393) -Codechange: move VehicleRail to Train.rubidium
2009-05-22(svn r16391) -Codechange: use Train instead of Vehicle where appropriate.rubidium
2009-05-22(svn r16390) -Codechange: move u.road to RoadVehicle.rubidium
2009-05-22(svn r16379) -Codechange: remove GetNumTowns(), GetNumIndustries() and ↵smatz
GetActiveCompanyCount(), use PoolItem::GetNumItems() instead
2009-05-18(svn r16354) -Codechange: use 'new' pool accessors and methods for Engine toosmatz
2009-05-18(svn r16352) -Codechange: use PoolItem::GetIfValid() instead of ↵smatz
PoolItem::IsValidID() and PoolItem::Get()
2009-05-18(svn r16349) -Codechange: rename IsPlainRailTile() to IsPlainRail(), ↵smatz
introduce shiny new IsPlainRailTile()
2009-05-17(svn r16332) -Codechange: replace some -1 + 1 with 'nothing' or <= .. - 1 ↵rubidium
with < .. - 1 (both caused due to wrapper functions)
2009-05-17(svn r16327) -Codechange: replace IsValidPoolItemID(index) by ↵smatz
PoolItem::IsValidID(index)
2009-05-16(svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index)smatz
2009-05-15(svn r16315) -Codechange: move the autorenew settings to a new ↵yexo
CompanySettings struct
2009-05-15(svn r16311) -Fix: (Get|Set)TrackBits() is only valid for RAIL_TILE_NORMAL ↵frosch
and _SIGNALS.
2009-05-10(svn r16267) -Documentation: [NoAI] Explain how to deal with IDs of various ↵frosch
objects.
2009-05-10(svn r16266) -Documentation: [NoAI] Add details to AITile::(Raise|Lower)Tile ↵frosch
wrt. modifiing multiple corners at once.
2009-05-10(svn r16264) -Change/Fix (r16262): [NoAI] Change SLOPE_INVALID to 0xFFFF so ↵frosch
that SLOPE_INVALID != (SLOPE_ELEVATED | SLOPE_STEEP | SLOPE_HALFTILE_MASK).
2009-05-09(svn r16262) -Fix [NoAI]: Check slopes passed to the API better for validityyexo
2009-05-07(svn r16253) -Add [NoAI]: AIController::GetVersion, this returns the ↵yexo
newgrf-version of OpenTTD
2009-05-07(svn r16252) -Add [NoAI]: AIAirport::GetPrice, returning the building cost ↵yexo
of an airport
2009-05-07(svn r16249) -Fix [NoAI]: Enable parameter checking for AIController::* ↵yexo
functions again
2009-05-06(svn r16244) -Fix [NoAI]: Make sure AITunnel::BuildTunnel returns what the ↵yexo
documentation says it does
2009-05-06(svn r16243) -Fix [FS#2875]: CmdBuildTunnel could be called with invalid ↵yexo
parameters from the api code, causing crashes later
2009-05-06(svn r16239) -Fix (r16199): Use the stop/non-stop intermediate orderflags ↵yexo
AIs can give for goto-depot orders
2009-05-02(svn r16199) -Codechange: Pass OrderNonStopFlags also to MakeGoToDepotOrder().frosch
-Fix: 'Go non-stop to nearest depot'-orders did not work wrt. the 'non-stop' part. -Fix: Adding 'Go to nearest depot'-orders did not respect the default setting for 'non-stop'.
2009-04-26(svn r16172) -Fix (r16171): typo (thanks SmatZ)yexo
2009-04-26(svn r16171) -Add [NoAI]: two new error codes to AITile: ↵yexo
ERR_AREA_ALREADY_FLAT and ERR_ESCAVATION_WOULD_DAMAGE.
2009-04-26(svn r16166) -Add [NoAI]: AITile::Get(Min|Max|Corner)Heightfrosch
2009-04-26(svn r16165) -Add [FS#2801] [NoAI]: several functions to AIOrder to check ↵yexo
the what kind of order an order is. -Fix: AIOrder::GetOrderDestination and AIOrder::GetOrderFlags didn't work on ORDER_CURRENT when the vehicle was loading/leaving in a station.
2009-04-26(svn r16158) -Codechange: fix the string alignment in all .hpp.sq filesyexo
2009-04-25(svn r16151) -Codechange: move some includes around to prevent including ↵yexo
half the AI api in non-noai related code.
2009-04-25(svn r16150) -Fix [NoAI]: Change WAYPOINT_INVALID to 0xFFFF from -1 as ↵yexo
that's the value the AIs got (due to casting). Clarify some api documentation.
2009-04-21(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had ↵rubidium
this ID' from 'some' strings and replace the string name with something more sensible.
2009-04-21(svn r16114) -Cleanup: unify some more strings and remove some more unused ↵rubidium
strings
2009-04-21(svn r16109) -Fix [NoAI]: Make sure AIOrder::GetDestination always returns a ↵yexo
tile belonging to the station
2009-04-21(svn r16108) -Fix [NoAI]: When giving an aircraft a goto-hangar order don't ↵yexo
let it be a normal goto-station order. Note to AI writers: AIOrder.AppendOrder(vehicle_id, AIStation.GetLocation(station_id)) will give a goto-hangar order for helistations (assuming the station sign is at it's default location).
2009-04-20(svn r16107) -Add [NoAI]: AIOF_STOP_IN_DEPOT to the orderflags in AIOrder to ↵yexo
allow stop-in-depot orders
2009-04-20(svn r16106) -Fix [NoAI]: AIOrder::SetOrderFlags always removed "Service if ↵yexo
needed" from goto-depot orders.
2009-04-19(svn r16091) -Change [FS#2778]: Reverse the order of the lines in the AI ↵yexo
debug window
2009-04-15(svn r16062) -Fix (r16037): AIOrder::InsertOrder was broken. Default all AI ↵frosch
orders to 'stop at far end'.
2009-04-01(svn r15910) -Fix [FS#2777]: Clarify that TILE_INVALID is part of AIMap make ↵yexo
doxygen output some documentation for it.