smatz
100ae8efcc
(svn r17292) -Codechange: use unified ToPercent() function to convert fract numbers to percents
2009-08-27 13:31:26 +00:00
rubidium
7fbc33dae1
(svn r17248) -Fix: add GPL license notice where appropriate
2009-08-21 20:21:05 +00:00
yexo
330c8d6a57
(svn r17237) -Update: AI changelog
2009-08-20 13:36:48 +00:00
yexo
14b5862c22
(svn r17230) -Fix (r15027): don't assert when an AI uses AI*Mode objects incorrectly but crash the AI instead
2009-08-20 10:39:39 +00:00
rubidium
7fb95e2c2b
(svn r17228) -Codechange: some coding style fixes
2009-08-20 10:23:39 +00:00
yexo
a4afa140f3
(svn r17223) -Change [NoAI] [FS#2980]: Crash an AI when it uses a DoCommand / Sleep instead of just printing an error message in the AI Debug Window
2009-08-19 16:14:15 +00:00
yexo
5a863925ee
(svn r17221) -Change [NoAI] [FS#3101]: when the API requests a string as parameter allow every squirrel type and convert to a string
2009-08-19 14:54:52 +00:00
rubidium
4423000225
(svn r17220) -Fix (r15027): don't ignore white space changes (e.g. alignment fixes) in the exporter
2009-08-19 14:48:51 +00:00
yexo
67106dc063
(svn r17214) -Add [NoAI]: GetAPIVersion() as optional function in info.nut. Return "0.7" to get an api compatible (as much as possible) with the 0.7 api or "0.8" to get the latest api.
...
-Change [NoAI]: move all deprecated functions to a separate squirrel script that is only loaded if an AI requests an old API version.
2009-08-18 18:51:42 +00:00
yexo
c89621540c
(svn r17203) -Change [NoAI]: Add IsRoadTypeAvailable(GetCurrentRoadType()) as precondition for several AIRoad::* functions
2009-08-16 10:33:36 +00:00
rubidium
cb8690d898
(svn r17201) -Fix [NoAI]: don't say you're building a depot when you're actually building a station (API docs typo)
2009-08-16 09:04:53 +00:00
rubidium
dc4deab88b
(svn r17193) -Fix [FS#3124]: guard the valuator against 'external' modifications of the valuated list which could cause it to go into an infinite loop.
2009-08-15 20:34:11 +00:00
smatz
e707c82412
(svn r17131) -Codechange: apply coding style to some switch statements
2009-08-09 14:40:34 +00:00
smatz
13e23141b4
(svn r17124) -Codechange: store subsidies in a pool (instead of an array)
2009-08-08 20:53:36 +00:00
smatz
b43fd7266e
(svn r17115) -Add [NoAI]: AISubsidy::SubsidyParticipantType, AISubsidy::GetSourceType, AISubsidy::GetSourceIndex, AISubsidy::GetDestinationType, AISubsidy::GetDestinationIndex for better subsidy management
...
-Change [NoAI]: mark AISubsidy::SourceIsTown, AISubsidy::GetSource, AISubsidy::GetDestinationType, AISubsidy::GetDestination as deprecated
2009-08-08 16:53:22 +00:00
smatz
2a430d981f
(svn r17113) -Change [FS#265][FS#2094][FS#2589]: apply the subsidy when subsidy's destination is in station's catchment area and cargo packets originate from subsidy's source
...
-Change [FS#1134]: subsidies aren't bound to stations after awarding anymore, they still apply to town or industry, no matter what station is used for loading and unloading. Awarded subsidies from older savegames are lost
-Change [NoAI]: due to these changes, AISubsidy::GetSource and AISubsidy::GetDestination now return STATION_INVALID for awarded subsidies
2009-08-08 16:42:55 +00:00
yexo
eff8cb8390
(svn r17112) -Change [NoAI]: AIVehicleList_Station now also works for waypoints
2009-08-08 16:36:06 +00:00
yexo
3dcc195dfa
(svn r17111) -Fix (r17110): forgot to include ai_log.hpp
2009-08-08 14:44:17 +00:00
yexo
2d1c64948a
(svn r17110) -Fix [NoAI]: Print a warning message in the AI console when a deprecated function is used
2009-08-08 13:50:18 +00:00
smatz
ba2f6f0a66
(svn r17109) -Fix (r15027): squirrel_export.sh failed for some locales
2009-08-08 12:26:03 +00:00
smatz
74d3382b94
(svn r17107) -Codechange: store type of subsidy source and destination in the Subsidy struct instead of determining it every time it's needed
2009-08-07 22:23:34 +00:00
rubidium
6ae880a40d
(svn r17094) -Update: AI changelog
2009-08-06 19:35:58 +00:00
rubidium
1fe3ad3288
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
2009-08-05 17:59:21 +00:00
rubidium
808254c488
(svn r17072) -Fix: don't let squirrel export make a 'stub' for ai_changelog.hpp
2009-08-05 15:10:37 +00:00
yexo
8112cb8aff
(svn r17049) -Fix [NoAI]: documentation of AITile::LevelTiles was wrong
2009-08-02 21:07:30 +00:00
rubidium
de877e783f
(svn r17028) -Fix (r17019): a function and class were not mentioned in the changelog
2009-08-01 16:59:53 +00:00
yexo
b4abe942cb
(svn r17019) -Doc: add AI API changelog
2009-08-01 10:48:22 +00:00
yexo
fc03fef4ae
(svn r17016) -Add [NoAI]: AICompany::Get/Set PresidentGender
2009-08-01 00:28:21 +00:00
yexo
3631f40637
(svn r17014) -Add [NoAI]: AIEngine::GetDesignDate
2009-07-31 23:22:49 +00:00
yexo
8d768f5b30
(svn r17012) -Add [NoAI]: AIBaseStation::GetConstructionDate
2009-07-31 22:38:09 +00:00
yexo
8c05194c02
(svn r17011) -Change [NoAI]: Add AIBaseStation as a parentclass for AIStation and AIWaypoint, and move GetName, SetName and GetLocation to AIBaseStation
...
Remove (nearly) all references to WaypointID and replace them with StationID
2009-07-31 22:30:54 +00:00
rubidium
3c06534286
(svn r17006) -Fix (r17005): gcc compile failure
2009-07-31 19:57:21 +00:00
yexo
c2ed884012
(svn r17005) -Add [NoAI]: AIAbstractList::SORT_ASCENDING / SORT_DESCENDING
2009-07-31 19:50:01 +00:00
rubidium
45c9a747db
(svn r16999) -Fix (r16993): AIs couldn't build waypoints anymore
2009-07-30 22:05:57 +00:00
rubidium
4a1f6547c6
(svn r16992) -Add [NoAI]: function to clear waypoint(s) in a certain rectangle on the map
2009-07-30 15:17:03 +00:00
rubidium
37e6f6a003
(svn r16990) -Codechange: unify some (command) naming w.r.t. stations/waypoints.
2009-07-29 22:32:20 +00:00
yexo
30a1f1416a
(svn r16986) -Fix [NoAI]: AIBridge::GetPrice returned incorrect values
2009-07-29 21:48:19 +00:00
rubidium
e473e69ba4
(svn r16976) -Codechange: remove WaypointID and MAX_LENGTH constants in favour of their Station variants
2009-07-28 21:06:38 +00:00
rubidium
2ec12a3f58
(svn r16966) -Codechange: BEGIN_TILE_LOOP and END_TILE_LOOP reworked into TILE_LOOP, which means no more duplication of parameters between BEGIN_TILE_LOOP and END_TILE_LOOP
2009-07-26 21:50:30 +00:00
rubidium
4017439c37
(svn r16948) -Codechange: some code reductions and usage of wrapper functions
2009-07-25 10:39:58 +00:00
rubidium
7440ec7a73
(svn r16947) -Codechange: use TileArea instead of train_tile, trainst_w and trainst_h.
2009-07-25 08:54:19 +00:00
rubidium
cf38a5bee6
(svn r16939) -Codechange: s/RailwayStation/RailStation/ to unify the way it's written.
2009-07-24 11:47:12 +00:00
rubidium
2c6b5237f6
(svn r16938) -Codechange: introduce helper function to tell whether a tile is either a rail station or rail waypoint tile
2009-07-24 11:15:11 +00:00
rubidium
9980af2898
(svn r16921) -Codechange: make it more clear what strings are related to road vehicles; only ROAD isn't always enough. Also unify the way of writing it.
2009-07-22 22:44:56 +00:00
rubidium
c17c31b5b6
(svn r16919) -Codechange: unify some more StringID w.r.t. their naming
2009-07-22 19:12:20 +00:00
rubidium
3bcfa7c52a
(svn r16917) -Codechange: fix some GCC 4.5 'case X is not in enum Y' warnings
2009-07-22 16:56:36 +00:00
rubidium
cb0409fe52
(svn r16912) -Codechange: split waypoint.h in waypoint_base.h and waypoint_func.h
2009-07-22 10:18:19 +00:00
rubidium
68ead6b84f
(svn r16909) -Fix [FS#2996]: NewGRF stations would be triggering assertions all over the place when using the more advanced station types.
...
-Change: make (rail) waypoints sub classes of 'base stations', make buoys waypoints and unify code between them where possible.
2009-07-22 08:59:57 +00:00
rubidium
e3053660c6
(svn r16886) -Codechange: unify naming of some string IDs related to string codes and group them logically
2009-07-20 11:21:57 +00:00
smatz
af13707e00
(svn r16877) -Codechange: use Subsidy::IsAwarded() instead of testing subsidy's age
2009-07-18 19:54:35 +00:00
yexo
82ac703e2d
(svn r16866) -Fix (r16865): forgot to run squirrel_export.sh
2009-07-17 21:45:57 +00:00
yexo
38768d0ca2
(svn r16865) -Doc [NoAI] [FS#3037]: replace old exception names with current ones and fix a type in the noai documentation (patch by Chruker)
2009-07-17 21:36:26 +00:00
smatz
77d13eae61
(svn r16852) -Codechange: use FOR_ALL_CARGOSPECS for iterating over all valid CargoSpecs
2009-07-16 20:40:06 +00:00
smatz
1f29e38b83
(svn r16849) -Codechange: replace GetCargo() by CargoSpec::Get()
2009-07-16 19:00:13 +00:00
yexo
b58001f695
(svn r16790) -Add [NoAI]: AIVehicle::GetReliability to get the current reliability of vehicles
2009-07-10 22:30:38 +00:00
rubidium
3b8d0621a2
(svn r16785) -Codechange: make ships going to buoys use OT_GOTO_WAYPOINT too
2009-07-10 18:30:02 +00:00
rubidium
1c1b6da4a3
(svn r16783) -Change: make it more clear that the squirrel_export script needs gawk.
2009-07-10 18:21:14 +00:00
rubidium
741a340b8b
(svn r16772) -Fix [FS#3019]: don't use the same error message for turning around road vehicles and flipping parts of trains in the depot
2009-07-08 22:11:55 +00:00
rubidium
16e207f78b
(svn r16771) -Fix: API export was forgotten causing API to think variables were uint; doesn't matter much as int was converted to uint and then back.
2009-07-08 20:49:29 +00:00
yexo
369d4ce179
(svn r16767) -Fix [NoAI] (r16524): AITile::GetCargoProduction/Acceptance didn't accept a radius of 0 anymore
2009-07-08 17:42:58 +00:00
yexo
a6b0f0b51a
(svn r16731) -Fix [NoAI]: AIDepotList contained wrong tiles for hangars when st->xy != st->airport_tile.
2009-07-03 19:55:07 +00:00
smatz
1e6a12b75b
(svn r16724) -Fix (r16714): MSVC 64bit warnings (Rubidium)
2009-07-02 12:47:52 +00:00
smatz
6a0855f0d1
(svn r16723) -Codechange: make GetNextArticPart(), GetLastEnginePart(), GetNextVehicle(), GetPrevVehicle(), GetNextUnit(), GetPrevUnit() members of Train
2009-07-02 12:10:39 +00:00
rubidium
4d14c1b534
(svn r16722) -Codechange: unify the naming of the Is/Set/HasArticulatedPart functions
2009-07-02 09:06:15 +00:00
rubidium
61e735ba4c
(svn r16721) -Codechange: make Is/SetRoadVehicleFront, Is/Set/HasArticulatedPart member of RoadVehicle.
2009-07-02 08:59:27 +00:00
smatz
d86e17d65a
(svn r16719) -Codechange: make IsArticulatedPart(), IsTrainEngine(), IsTrainWagon(), IsMultiheaded(), EngineHasArticPart() and IsRearDualheaded() members of Train
2009-07-01 23:57:20 +00:00
smatz
ecfaa0564d
(svn r16718) -Codechange: make IsFreeWagon() member of Train
2009-07-01 23:49:13 +00:00
smatz
76a50ce94d
(svn r16714) -Codechange: use pool-like accessors for Subsidy
2009-07-01 18:45:05 +00:00
smatz
f4d0d94184
(svn r16711) -Codechange: use FOR_ALL_SUBSIDIES macro when iterating over all subsidies
2009-07-01 17:43:26 +00:00
frosch
1e09854cb7
(svn r16679) -Codechange: Let GetCapacityOfArticulatedParts() return a CargoArray instead of a pointer to a static array.
2009-06-27 21:36:04 +00:00
frosch
a288e4d82f
(svn r16678) -Codechange: Turn CargoArray into a class, so one does not have to deal with sizeof() wrt. typedef-ed arrays.
2009-06-27 21:06:58 +00:00
frosch
812ad41f23
(svn r16676) -Codechange: Rename AcceptedCargo to CargoArray and its instances to more meaningful names.
2009-06-27 18:26:50 +00:00
smatz
05c695a647
(svn r16646) -Codechange: rename GetDepotByTile() to Depot::GetByTile()
2009-06-24 19:26:41 +00:00
smatz
8343340acb
(svn r16643) -Codechange: replace GetStationByTile() by Station::GetByTile()
2009-06-24 17:39:54 +00:00
smatz
0045096403
(svn r16640) -Codechange: move roadstop stuff to separate files
2009-06-23 21:44:48 +00:00
frosch
b07ef35f44
(svn r16618) -Fix (r16614): Silence a warning.
2009-06-21 20:59:30 +00:00
yexo
c7bd6c8d34
(svn r16614) -Codechange: Make the airport min/max available year a property of the Airport class.
...
-Change: rename station.always_small_airport to station.never_expire_airports to make it more future-proof
2009-06-21 13:26:30 +00:00
yexo
d09d3566dd
(svn r16585) -Add [NoAI]: AIBuoyList to get a list of all buoys
2009-06-17 13:12:08 +00:00
rubidium
512b021e26
(svn r16581) -Codechange: unify the access to Engine::lifelength.
2009-06-16 13:52:18 +00:00
yexo
b3c3cf6e6d
(svn r16563) -Fix [NoAI]: AIMarine::AreWaterTilesConnected didn't return true for bridge head<>neighbouring water tile
2009-06-11 14:29:03 +00:00
yexo
f92feb2a95
(svn r16562) -Revert (r16561)
2009-06-11 14:17:26 +00:00
yexo
176e55a8a3
(svn r16561) -Fix [NoAI]: AIMarine::AreWaterTilesConnected didn't return true for bridge head<>neighbouring water tile
2009-06-11 14:15:18 +00:00
yexo
726ba50868
(svn r16529) -Fix [NoAI]: StationIDs from oilrigs were not considered valid by the API.
2009-06-07 13:29:09 +00:00
smatz
0c10006907
(svn r16527) -Codechange: use static member functions instead of simple casts when converting Vehicle to specialised vehicle types. Includes safety check
2009-06-06 16:54:22 +00:00
rubidium
ec3ef70adb
(svn r16524) -Fix [FS#2963]: missing guards in the NoAI API making it possible to hit an assert in OpenTTD.
2009-06-06 11:47:21 +00:00
yexo
ad5f018195
(svn r16520) -Fix [NoAI]: Make sure AIBridge::BuildBridge returns what the documentation says it does (r16244 for AIBridge)
2009-06-05 17:36:39 +00:00
rubidium
caf98238e3
(svn r16510) -Doc: silence some (AI) doxygen warnings by adding comments about the appropriate things.
2009-06-03 18:47:08 +00:00
yexo
4ea3e511bd
(svn r16502) -Fix [FS#2935]: when an AI was suspended while in a function 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 22:00:47 +00:00
alberth
bab70a823d
(svn r16491) -Codechange: Added parentheses around bitwise operators for code style.
2009-06-01 11:43:36 +00:00
smatz
7ee882d03f
(svn r16441) -Codechange: new class SpecializedVehicle used as superclass for all vehicle types
2009-05-26 22:10:13 +00:00
yexo
aa546e513f
(svn r16440) -Fix [NoAI]: AIRail::GetRailStationDirection returned incorrect information
2009-05-26 22:03:16 +00:00
yexo
2a5a8f395c
(svn r16433) -Codechange: Remove most of CmdSetAutoreplace and replace it with calls to CmdChangeCompanySetting
2009-05-26 13:29:01 +00:00
rubidium
0d99b6c71c
(svn r16421) -Codechange: do not unnecessarily remove constness or unnecessarily add it.
2009-05-24 20:29:04 +00:00
smatz
b2aed51f8e
(svn r16403) -Codechange: move code related to subsidies to separate file
2009-05-23 15:46:00 +00:00
yexo
0b243d25cb
(svn r16400) -Add [NoAI]: add AISignList that can be used to get a list of valid signs. This makes AISign::GetMaxSignID obsolete.
2009-05-23 14:54:55 +00:00
rubidium
86710c5185
(svn r16397) -Codechange: move GetVehicleOrder/GetLastVehicleOrder into Vehicle
2009-05-23 12:27:42 +00:00
smatz
b270ca84ba
(svn r16395) -Fix (r16379): max sign ID can be higher than total number of signs
2009-05-23 11:13:43 +00:00
rubidium
6237fe1462
(svn r16394) -Codechange: move (NewGRF) cache variables into a separate struct so (some vehicle related) NewGRF cache 'desyncs' can be tested easier.
2009-05-23 09:10:56 +00:00
rubidium
da5661a0c8
(svn r16393) -Codechange: move VehicleRail to Train.
2009-05-22 22:55:41 +00:00
rubidium
80e94b9bb1
(svn r16391) -Codechange: use Train instead of Vehicle where appropriate.
2009-05-22 22:22:46 +00:00
rubidium
7a37220881
(svn r16390) -Codechange: move u.road to RoadVehicle.
2009-05-22 20:22:20 +00:00
smatz
10d1ef5447
(svn r16379) -Codechange: remove GetNumTowns(), GetNumIndustries() and GetActiveCompanyCount(), use PoolItem::GetNumItems() instead
2009-05-22 15:23:47 +00:00
smatz
70aab8bf04
(svn r16354) -Codechange: use 'new' pool accessors and methods for Engine too
2009-05-18 19:32:16 +00:00
smatz
8808f3beea
(svn r16352) -Codechange: use PoolItem::GetIfValid() instead of PoolItem::IsValidID() and PoolItem::Get()
2009-05-18 16:21:28 +00:00
smatz
0af27062c4
(svn r16349) -Codechange: rename IsPlainRailTile() to IsPlainRail(), introduce shiny new IsPlainRailTile()
2009-05-18 01:26:23 +00:00
rubidium
e7dedf4e1b
(svn r16332) -Codechange: replace some -1 + 1 with 'nothing' or <= .. - 1 with < .. - 1 (both caused due to wrapper functions)
2009-05-17 11:17:53 +00:00
smatz
871107f529
(svn r16327) -Codechange: replace IsValidPoolItemID(index) by PoolItem::IsValidID(index)
2009-05-17 01:00:56 +00:00
smatz
6221d74644
(svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index)
2009-05-16 23:34:14 +00:00
yexo
31eff1d4c3
(svn r16315) -Codechange: move the autorenew settings to a new CompanySettings struct
2009-05-15 23:55:06 +00:00
frosch
8ffb93c358
(svn r16311) -Fix: (Get|Set)TrackBits() is only valid for RAIL_TILE_NORMAL and _SIGNALS.
2009-05-15 16:07:36 +00:00
frosch
bdf0b9491d
(svn r16267) -Documentation: [NoAI] Explain how to deal with IDs of various objects.
2009-05-10 15:23:55 +00:00
frosch
c6f08e1247
(svn r16266) -Documentation: [NoAI] Add details to AITile::(Raise|Lower)Tile wrt. modifiing multiple corners at once.
2009-05-10 15:23:08 +00:00
frosch
96dace426b
(svn r16264) -Change/Fix (r16262): [NoAI] Change SLOPE_INVALID to 0xFFFF so that SLOPE_INVALID != (SLOPE_ELEVATED | SLOPE_STEEP | SLOPE_HALFTILE_MASK).
2009-05-10 12:26:55 +00:00
yexo
8d22e4bec3
(svn r16262) -Fix [NoAI]: Check slopes passed to the API better for validity
2009-05-09 19:45:02 +00:00
yexo
a00b22b1cd
(svn r16253) -Add [NoAI]: AIController::GetVersion, this returns the newgrf-version of OpenTTD
2009-05-07 21:33:38 +00:00
yexo
9b4a32deb4
(svn r16252) -Add [NoAI]: AIAirport::GetPrice, returning the building cost of an airport
2009-05-07 21:30:18 +00:00
yexo
73e1d18871
(svn r16249) -Fix [NoAI]: Enable parameter checking for AIController::* functions again
2009-05-07 12:13:58 +00:00
yexo
afc5c66386
(svn r16244) -Fix [NoAI]: Make sure AITunnel::BuildTunnel returns what the documentation says it does
2009-05-06 21:40:51 +00:00
yexo
ca435fcece
(svn r16243) -Fix [FS#2875]: CmdBuildTunnel could be called with invalid parameters from the api code, causing crashes later
2009-05-06 21:38:59 +00:00
yexo
fe5defbacc
(svn r16239) -Fix (r16199): Use the stop/non-stop intermediate orderflags AIs can give for goto-depot orders
2009-05-06 12:48:13 +00:00
frosch
d518b3d0ac
(svn r16199) -Codechange: Pass OrderNonStopFlags also to MakeGoToDepotOrder().
...
-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-05-02 00:10:24 +00:00
yexo
d63f01d78b
(svn r16172) -Fix (r16171): typo (thanks SmatZ)
2009-04-26 17:16:30 +00:00
yexo
3578f4408c
(svn r16171) -Add [NoAI]: two new error codes to AITile: ERR_AREA_ALREADY_FLAT and ERR_ESCAVATION_WOULD_DAMAGE.
2009-04-26 17:01:05 +00:00
frosch
e04ddbe0ac
(svn r16166) -Add [NoAI]: AITile::Get(Min|Max|Corner)Height
2009-04-26 16:26:41 +00:00
yexo
9101de49d8
(svn r16165) -Add [FS#2801] [NoAI]: several functions to AIOrder to check 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 16:14:53 +00:00
yexo
f0bc464b18
(svn r16158) -Codechange: fix the string alignment in all .hpp.sq files
2009-04-26 12:22:09 +00:00
yexo
660f90d37b
(svn r16151) -Codechange: move some includes around to prevent including half the AI api in non-noai related code.
2009-04-25 23:51:15 +00:00
yexo
486e5b4bfe
(svn r16150) -Fix [NoAI]: Change WAYPOINT_INVALID to 0xFFFF from -1 as that's the value the AIs got (due to casting).
...
Clarify some api documentation.
2009-04-25 22:57:15 +00:00
rubidium
59d45a04d6
(svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible.
2009-04-21 23:40:56 +00:00
rubidium
2ec09d95a1
(svn r16114) -Cleanup: unify some more strings and remove some more unused strings
2009-04-21 20:20:53 +00:00
yexo
10c98f7e0e
(svn r16109) -Fix [NoAI]: Make sure AIOrder::GetDestination always returns a tile belonging to the station
2009-04-21 16:49:53 +00:00
yexo
63db874050
(svn r16108) -Fix [NoAI]: When giving an aircraft a goto-hangar order don't 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-21 12:51:36 +00:00
yexo
61d883e7e5
(svn r16107) -Add [NoAI]: AIOF_STOP_IN_DEPOT to the orderflags in AIOrder to allow stop-in-depot orders
2009-04-20 23:49:27 +00:00
yexo
a664a2668c
(svn r16106) -Fix [NoAI]: AIOrder::SetOrderFlags always removed "Service if needed" from goto-depot orders.
2009-04-20 23:12:32 +00:00
yexo
3e2e5b097c
(svn r16091) -Change [FS#2778]: Reverse the order of the lines in the AI debug window
2009-04-19 14:42:03 +00:00
frosch
eb7414ea9e
(svn r16062) -Fix (r16037): AIOrder::InsertOrder was broken. Default all AI orders to 'stop at far end'.
2009-04-15 17:31:08 +00:00
yexo
57dab45e75
(svn r15910) -Fix [FS#2777]: Clarify that TILE_INVALID is part of AIMap make doxygen output some documentation for it.
2009-04-01 08:38:57 +00:00
frosch
f55be81e3c
(svn r15901) -Add: AIIndustryType::IsBuiltOnWater(), HasHeliport() and HasDock(). Just like AIIndustry.
2009-03-30 20:48:10 +00:00
yexo
50a6e589ed
(svn r15881) -Fix (r15875): add an explicit cast so some compilers stop complaining.
2009-03-28 16:19:04 +00:00
yexo
400208ee0a
(svn r15875) -Add: AIBridge::GetBridgeID() so AIs can get the type of bridge that are already build.
2009-03-28 12:04:38 +00:00
frosch
44351cdc57
(svn r15860) -Add: AIRoad::GetRoadVehicleTypeForCargo() to tell whether a certain cargo needs a bus- or a truckstop.
2009-03-26 19:45:45 +00:00
frosch
19b47c1e89
(svn r15859) -Documentation: Meaning of AICargo::CC_PASSENGERS wrt. bus- and truckstops, and meaning of AICargo::IsFreight() wrt. freight train weight multiplier.
2009-03-26 19:44:13 +00:00
frosch
d452a0a0ec
(svn r15789) -Codechange: Add DiagdirBetweenTiles() and use it.
2009-03-21 21:43:23 +00:00
frosch
6dd04a9a78
(svn r15763) -Codechange/Fix: Add Engine::GetDisplayDefaultCapacity() and use it everywhere, so CB 36 is also used everywhere.
2009-03-18 19:32:13 +00:00
yexo
384599ef2c
(svn r15743) -Codechange: move the definitions of some fake squirrel types to their own file.
2009-03-16 17:30:49 +00:00
rubidium
9d018723b7
(svn r15711) -Codechange: lots of whitespace cleanup/fixes
2009-03-14 18:16:29 +00:00
frosch
fa35dc10e5
(svn r15705) -Fix: Do not show passenger-/mail-capacity if the aircraft carries only cargo.
2009-03-13 23:49:12 +00:00
yexo
cef662825b
(svn r15684) -Add [NoAI]: AIOrder::SkipToOrder().
2009-03-12 11:43:40 +00:00
yexo
1ff06b3f9c
(svn r15658) -Fix [NoAI]: Rewrite AIAbstractList::Valuate to make it more readable and fix a crash if no parameters are given to that function.
2009-03-09 22:14:47 +00:00
yexo
890c5e3ae4
(svn r15616) -Change [API CHANGE]: Rename AIOrder::ChangeOrder() to AIOrder::SetOrderFlags().
2009-03-04 23:12:48 +00:00
yexo
ffe2caf20f
(svn r15614) -Add [NoAI]: AIVehicleList_Group(group_id) and AIVehicleList_DefaultGroup(vehicle_type).
2009-03-04 22:37:25 +00:00
yexo
a41b143e58
(svn r15587) -Fix (r15345): I should really test even those simple api functions better.
2009-02-26 07:30:13 +00:00
yexo
932b1c24b2
(svn r15563) -Change [API CHANGE]: Remove AIIndustry::GetMaxIndustryID().
2009-02-23 21:07:01 +00:00
yexo
cabfe35e54
(svn r15558) -Cleanup: Remove some unnecessary friend declarations.
2009-02-23 19:35:19 +00:00
frosch
d3850e101c
(svn r15541) -Revert (r15399): 'v->cargo_type' is also used in other places, which cannot accept CT_INVALID.
...
-Codechange: Add Engine::GetDefaultCargoType() and Engine::CanCarryCargo() and use them.
-Fix [FS#2617]: When articulated parts have no available default cargo, use the cargo type of the first part for livery selection.
-Change: To decide whether a vehicle is refittable do not test its current capacity for being zero, but always use the 'capacity property'.
Note: The property is used unmodifed without calling CB 15/36. By setting it to a non-zero value and returning zero in the callback vehicles can be refitted to/from zero capacity for e.g. livery effects.
Note: It is intentional that you cannot control refittability by CB 36.
2009-02-21 12:52:41 +00:00
glx
ab3fc1d437
(svn r15535) -Fix (r15460, pre noai merge): use '.' as 'any' for squirrel calls typechecking as stated in squirrel docs
2009-02-21 00:43:18 +00:00
yexo
a54061f840
(svn r15527) -Fix (r15526): A ')' too much.
2009-02-19 23:22:31 +00:00
yexo
b3fe664d90
(svn r15526) -Add [NoAI]: Support for conditional orders.
2009-02-19 23:12:57 +00:00
yexo
3491b0fab9
(svn r15524) -Add [NoAI]: AIEngine::GetPower, AIEngine::GetWeight and AIEngine::GetMaxTractiveEffort.
2009-02-19 19:44:19 +00:00
yexo
459a855e60
(svn r15520) -Cleanup [NoAI]: Fix some typos, unify the comment style and update some documentation since a few enums have been renamed.
2009-02-19 09:01:34 +00:00
yexo
c0e7ddeb9e
(svn r15519) -Add [NoAI]: support for waypoints by adding AIRail::Build/Remove RailWaypoint, AIWaypoint and AIWaypointList.
2009-02-19 07:40:08 +00:00
yexo
a0b57c849e
(svn r15494) -Change [API CHANGE]: Split AIRoad::BuildRoadStation in BuildRoadStation and BuildDriveThroughRoadStation.
2009-02-14 22:06:11 +00:00
yexo
2b221f5afc
(svn r15492) -Change [API CHANGE]: Split AIVehicle::MoveWagon in MoveWagon and MoveWagonChain (frosch).
2009-02-14 21:22:42 +00:00
yexo
336abd66a2
(svn r15491) -Change [API CHANGE]: AIMarine::BuildWaterDepot now accepts a front tile instead of a bool is_vertical (frosch).
2009-02-14 21:19:33 +00:00
yexo
7d88077add
(svn r15490) -Change [API CHANGE]: Remove AIBridge::GetYearAvailable. AIBridge::IsValidBridge now only returns true for available bridges.
2009-02-14 21:17:35 +00:00
yexo
16954ba378
(svn r15489) -Change [API CHANGE]: Remove AIAirport::AirportAvailable. AIAirport::IsValidAirportType now only returns true for available AirportTypes.
2009-02-14 21:16:21 +00:00
yexo
bce1bcb0f2
(svn r15488) -Change [API CHANGE]: Add support for distant-join stations.
2009-02-14 21:15:23 +00:00
yexo
5a5bc8ab52
(svn r15487) -Change [API CHANGE]: Remove the never implemented function AIEventVehicleCrashed::CloneCrashedVehicle.
2009-02-14 21:13:45 +00:00
yexo
8ceb92e699
(svn r15486) -Change [API CHANGE]: Remove AITown::GetMaxTownID.
2009-02-14 21:13:15 +00:00
yexo
cea470e687
(svn r15485) -Change [API CHANGE]: Split AIIndustry::HasHeliportAndDock and GetHeliportAndDockLocation in HasHeliport/HasDock and GetHeliportLocation/GetDockLocation.
2009-02-14 21:09:48 +00:00
yexo
58359b8d6e
(svn r15484) -Change [API CHANGE]: Remove AICompany::GetCompanyName and SetCompanyName. They've been replaced with GetName and SetName.
2009-02-14 21:06:58 +00:00
yexo
7fdde2fec0
(svn r15483) -Change [API CHANGE]: Remove AIIndustry::GetProduction, use AIIndustry::GetLastMonthProduction instead.
2009-02-14 21:05:57 +00:00
yexo
92fc2e692c
(svn r15482) -Fix [NoAI]: Typos in api docs.
2009-02-14 20:07:05 +00:00
yexo
37819fc8c5
(svn r15481) -Fix [NoAI]: Make sure AIs can't call functions they shouldn't call.
2009-02-14 20:03:06 +00:00
frosch
b123756c9f
(svn r15479) -Fix: Documentation of AIIndustryType::CanBuildIndustry().
2009-02-14 18:40:31 +00:00
yexo
4c7106dad7
(svn r15462) -Change [NoAI]: Make AIController::GetTick() and AIController::GetSetting() static functions.
...
-Fix (r15460): ai_controller.hpp.sq was forgotten.
2009-02-13 00:18:56 +00:00
rubidium
dea3490b2f
(svn r15460) -Fix [NoAI]: don't require an instance to exist in the scope for static functions and limit exposure of the internal function GetClassName.
2009-02-12 22:25:53 +00:00
yexo
8d25202067
(svn r15441) -Cleanup: Use a return value instead of passing a pointer to where the result should be stored.
2009-02-11 00:48:15 +00:00
yexo
1eeb0f6748
(svn r15440) -Fix: Backup AIObject::GetAllowDoCommand and restore the old value so AIs can't work around it.
2009-02-10 19:22:09 +00:00
peter1138
ad30a3c4ca
(svn r15436) -Codechange: Return index of station spec within station class as a return parameter of GetCustomStationSpecByGrf(), as the index is already known. Saves on an extra loop and an extern...
2009-02-09 22:49:28 +00:00
rubidium
377ce6c5bf
(svn r15410) -Cleanup: get rid of most of the references to the 'patches' except where it's used for backward compatability.
2009-02-08 12:25:13 +00:00
Yexo
5bcdcdd1d1
(svn r15408) -Fix (r15027): AIs could call AIController::Sleep() at times they're not allowed to sleep.
2009-02-08 11:34:51 +00:00
rubidium
e1b1fd18b5
(svn r15406) -Fix: make Valuate actually cost a few opcodes to not make it a single opcode method of doing lots of the same thing. This should resolve most of the hiccups caused by AIs.
2009-02-08 01:51:48 +00:00
frosch
4e8707b93f
(svn r15400) -Fix: Typos in comments.
2009-02-07 16:23:42 +00:00
frosch
324e92f879
(svn r15360) -Fix: Flooding vehicles did not trigger an AI event.
2009-02-05 17:48:08 +00:00
frosch
cb049e4e58
(svn r15359) -Add [NoAI]: AIEventVehicleCrashed::CRASH_RV_UFO, AIEventDisasterZeppelinerCrashed and AIEventDisasterZeppelinerCleared as aliens accepted NoAIs as competing life-form.
2009-02-05 17:38:47 +00:00
frosch
7f198507f7
(svn r15358) -Add [NoAI]: AIEventVehicleCrashed::GetCrashReason()
2009-02-05 17:28:37 +00:00
rubidium
8fb4962407
(svn r15355) -Codechange: simplify some stuff now ->FirstShared returns non-NULL again.
2009-02-05 15:59:23 +00:00
Yexo
f2907d816f
(svn r15346) -Add [NoAI]: Add AIAirport::GetNearestTown() so AIs can known in which town the noise level will increase.
2009-02-05 01:15:54 +00:00
Yexo
62a11eb5a9
(svn r15345) -Add [NoAI]: Add AIVehicle::HasSharedOrders() and AIVehicleList_SharedOrders.
2009-02-05 01:12:49 +00:00
Yexo
b321130d9a
(svn r15343) -Add [NoAI]: Add AITown::GetRoadLayout so AIs can get the road layout per town.
2009-02-04 23:26:21 +00:00
smatz
5ad1cd32b2
(svn r15324) -Codechange: unify the class used for comparing of strings for std::map
2009-02-03 18:08:07 +00:00
frosch
de9a6fc90b
(svn r15308) -Codechange: Deduplicate km-ish/h -> mph conversions.
2009-02-01 17:14:39 +00:00
frosch
317220c2e4
(svn r15307) -Fix: AIVehicle::GetCurrentSpeed() should also use km-ish/h instead of mph. (Documentation by Rubidium)
2009-02-01 16:21:18 +00:00
frosch
c28c4c1986
(svn r15306) -Codechange: Deduplicate code by adding Engine::GetDisplayMaxSpeed(), GetPower() and GetDisplayWeight(). (and using them)
2009-02-01 16:10:06 +00:00
smatz
0d3f5e6e74
(svn r15299) -Cleanup: remove many redundant includes
2009-01-31 20:16:06 +00:00
smatz
659989af45
(svn r15278) -Fix [FS#2332]: test noise limit of nearest town instead of st->town
2009-01-26 21:09:17 +00:00
Yexo
7f9c91901e
(svn r15277) -Fix (r15027): Building bridges in AITestMode always returned false.
2009-01-26 20:18:50 +00:00
glx
062f32a186
(svn r15270) -Change [API CHANGE]: remove AIEventTest
2009-01-25 19:06:00 +00:00
glx
c1cf3934fa
(svn r15263) -Codechange: added Engine::GetCost() to remove some code duplication.
2009-01-25 00:57:03 +00:00
glx
e8b5f49861
(svn r15261) -Add: added Engine::GetRunningCost() to remove some code duplication. Also stops AIs decrementing vehicle counter of first company
2009-01-24 20:14:15 +00:00
frosch
47cdbe4a20
(svn r15255) -Fix (r15027): AIVehicle::GetLength() returned only the length of the first part of articulated road vehicles.
2009-01-24 14:26:48 +00:00
frosch
7e6049ba02
(svn r15252) -Fix (r15027): AIMarine::AreWaterTilesConnected() reported aqueducts being connected with all surrounding tiles. Also add some type safety.
2009-01-24 13:05:04 +00:00
frosch
d05ab5a531
(svn r15244) -Fix (r15027): The station tile of an oilrig-like industry is not neccessarily the first industry tile.
2009-01-23 22:36:17 +00:00
frosch
a1d4b792e8
(svn r15241) -Fix (r15027): NoAI API was not aware of certain newindustries 'features'.
2009-01-23 22:09:31 +00:00
Yexo
db3ee34b44
(svn r15190) -Feature: Allow terraforming of the tiles at the edges of the map.
2009-01-21 02:31:55 +00:00
Yexo
2307adf8d2
(svn r15187) -Fix: assert when an AI called AIRoad::GetNeighbourRoadCount on a tile at the north edge (bug found by SmatZ).
2009-01-21 01:37:20 +00:00
peter1138
481c2164d0
(svn r15149) -Codechange: GetMaskOfTownActions() is used by a Cmd handler, therefore it does not belong in _gui.
2009-01-19 12:07:01 +00:00
rubidium
67ac7124b1
(svn r15139) -Fix [NoAI]: a wrong tile got returned for hangar tiles when the station sign isn't over st->airport_tile.
2009-01-18 17:03:57 +00:00
truebrain
3abb8abd07
(svn r15123) -Fix [NoAI]: 'const char *' implies that the return value should not be free'd, which is should .. so make them 'char *'
2009-01-17 15:31:30 +00:00
truebrain
8510afe233
(svn r15109) -Add [NoAI]: add AITile::LevelTiles (Yexo)
2009-01-16 15:01:54 +00:00
truebrain
b8d2049bc4
(svn r15102) -Fix (r15101): somehow makedepend fucked up (patch by Yexo)
2009-01-16 00:27:22 +00:00
truebrain
94dd36d1ec
(svn r15101) -Change [API CHANGE]: more consistant naming for consts:
...
INVALID_TOWN_RATING -> TOWN_RATING_INVALID
INVALID_TRANSPORT -> TRANSPORT_INVALID
INVALID_ORDER -> ORDER_INVALID
INVALID_GROUP -> GROUP_INVALID
GROUP_ALL/DEFAULT -> ALL/DEFAULT_GROUP
VEHICLE_RAIL/ROAD/.. -> VT_RAIL/ROAD/..
MY_COMPANY -> COMPANY_SELF
FIRST/LAST/INVALID_COMPANY -> COMPANY_FIRST/LAST/INVALID
2009-01-16 00:05:26 +00:00
truebrain
5119132dda
(svn r15100) -Add [NoAI]: introduce TILE_INVALID as const
2009-01-15 21:20:12 +00:00
truebrain
e9437c2b2b
(svn r15099) -Fix (r15078): GetTileIndex(0, -1) is perfectly fine
2009-01-15 20:59:22 +00:00
truebrain
3e7c2bbacc
(svn r15093) -Fix [NoAI]: check if a tile is valid before using IsTileType (bug found by Zuu, patch by Yexo)
2009-01-15 17:00:47 +00:00
truebrain
3cd6bf0ead
(svn r15084) -Fix [NoAI] (r15027): by removing the threads for NoAIs, it is no longer possible to use DoCommand (even indirect) in AIAbstractList::Valuator().
2009-01-14 18:25:48 +00:00
truebrain
6fe54a2d1a
(svn r15078) -Fix [NoAI]: AIMap didn't filter its input (Yexo)
2009-01-13 23:50:12 +00:00
smatz
e00cf92f47
(svn r15077) -Codechange: enumify DAYS_IN_YEAR and DAYS_IN_LEAP_YEAR
...
-Change: when computing daily running cost, divide by 365 (instead of 364). Since r12134, the rounding errors don't need this correction anymore
2009-01-13 22:58:03 +00:00
peter1138
792d1bd883
(svn r15073) -Fix (r15067) [FS#2532]: Default copy constructors don't necessarily do what you want. Instead of creating one, we now pass a pointer around as that avoids additional allocations.
2009-01-13 20:43:53 +00:00
peter1138
02bda12599
(svn r15067) -Fix [FS#2531]: Possible compiler bug, alleviated by using SmallVector instead of using std::set. SmallVector does everything needed anyway.
2009-01-13 18:18:53 +00:00
smatz
0a357c0ac1
(svn r15062) -Fix: further forgotten svn properties and headers
2009-01-13 16:30:24 +00:00
smatz
7cea618fcc
(svn r15061) -Fix (r15027): three files were missing the Id header
2009-01-13 15:49:32 +00:00
truebrain
c666cf5a49
(svn r15036) -Fix: use the same value for 'random' through-out the code for PlantTree
2009-01-12 18:15:18 +00:00
truebrain
b7b29d96de
(svn r15033) -Fix (r15027): silent a warning when compiling without network
2009-01-12 17:40:13 +00:00
truebrain
a3dd7506d3
(svn r15027) -Merge: tomatos and bananas left to be, here is NoAI for all to see.
...
NoAI is an API (a framework) to build your own AIs in. See:
http://wiki.openttd.org/wiki/index.php/AI:Main_Page
With many thanks to:
- glx and Rubidium for their syncing, feedback and hard work
- Yexo for his feedback, patches, and AIs which tested the system very deep
- Morloth for his feedback and patches
- TJIP for hosting a challenge which kept NoAI on track
- All AI authors for testing our AI API, and all other people who helped in one way or another
-Remove: all old AIs and their cheats/hacks
2009-01-12 17:11:45 +00:00