rubidium
042a99e328
(svn r17366) -Codechange: make the AI GUIs use the scrollbar wrappers
2009-09-02 07:01:25 +00:00
rubidium
62e990823d
(svn r17345) -Fix [FS#2769]: one wasn't offered to take over bankrupt companies anymore; caused by the introduction NoAI, although NewAI had the same problem too.
2009-09-01 12:57:04 +00:00
rubidium
eba9b2f779
(svn r17344) -Codechange: splash of coding style over ai_event_types.*
2009-09-01 12:33:17 +00:00
smatz
09e1ecc8ac
(svn r17316) -Codechange: use Industry::GetByTile() instead of GetIndustryByTile()
2009-08-30 11:47:41 +00:00
yexo
a80bb35ffe
(svn r17307) -Fix [NoAI]: AIRail::RemoveRailTrack returned ERR_PRECONDITION_ERROR for road/rail-crossings
2009-08-29 17:01:39 +00:00
yexo
8a2e1011b2
(svn r17298) -Fix [FS#3153]: reloading an AI started a new AI in the first available company slot causing other AIs to be started
2009-08-28 15:23:11 +00:00
smatz
e126e1e9c6
(svn r17294) -Add [NoAI]: AITown::GetLastMonthTransportedPercentage and AIIndustry::GetLastMonthTransportedPercentage
2009-08-27 13:50:07 +00:00
smatz
15242b3ac8
(svn r17293) -Fix [NoAI]: AITown::GetLastMonthTransported didn't work as documented at all, make it return what AITown::GetLastMonthProduction did
...
-Change [NoAI]: mark AITown::GetMaxProduction as deprecated, AITown::GetLastMonthProduction returns now the value GetMaxProduction did
2009-08-27 13:47:03 +00:00
smatz
a0d0206f2d
(svn r17292) -Codechange: use unified ToPercent() function to convert fract numbers to percents
2009-08-27 13:31:26 +00:00
rubidium
d4a98be94a
(svn r17271) -Fix: SetFill sometimes used 1/0 when it should be using true/false
2009-08-23 19:03:09 +00:00
rubidium
99d46e0ad7
(svn r17248) -Fix: add GPL license notice where appropriate
2009-08-21 20:21:05 +00:00
rubidium
be9033295e
(svn r17247) -Change: move '3rd party' MD5 implementation also to the 3rdparty directory.
2009-08-21 20:15:17 +00:00
yexo
dcf67bcd39
(svn r17237) -Update: AI changelog
2009-08-20 13:36:48 +00:00
yexo
d6a3178646
(svn r17233) -Fix (r17232): typo
2009-08-20 11:02:35 +00:00
yexo
172d4dd23e
(svn r17232) -Fix (r17223): Kill an AI when it tries to Sleep / execute a DoCommand during Save() instead of failing to save
2009-08-20 10:58:22 +00:00
yexo
48f70be5f8
(svn r17231) -Fix [FS#3134]: AIs that crashed during Save() weren't killed as they should
2009-08-20 10:45:57 +00:00
yexo
6b0520b3b4
(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
c096e3d54c
(svn r17228) -Codechange: some coding style fixes
2009-08-20 10:23:39 +00:00
yexo
c22f60c812
(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
74e5f16bc2
(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
46d5fc5565
(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
418c88f94d
(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
d349bf7ec3
(svn r17203) -Change [NoAI]: Add IsRoadTypeAvailable(GetCurrentRoadType()) as precondition for several AIRoad::* functions
2009-08-16 10:33:36 +00:00
rubidium
7b55bbbc6d
(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
702da7d8ef
(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
073e163b7f
(svn r17131) -Codechange: apply coding style to some switch statements
2009-08-09 14:40:34 +00:00
alberth
c85bd040c5
(svn r17130) -Fix [FS#3099]: Last line of output in the AI debug window did not fit entirely.
2009-08-09 10:42:01 +00:00
yexo
ee384495b9
(svn r17125) -Cleanup: remove an unused variable
2009-08-08 22:09:53 +00:00
smatz
d59b687f65
(svn r17124) -Codechange: store subsidies in a pool (instead of an array)
2009-08-08 20:53:36 +00:00
smatz
2d39a2bb85
(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
0502a6df42
(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
eb5039f81e
(svn r17112) -Change [NoAI]: AIVehicleList_Station now also works for waypoints
2009-08-08 16:36:06 +00:00
yexo
b8b20245bd
(svn r17111) -Fix (r17110): forgot to include ai_log.hpp
2009-08-08 14:44:17 +00:00
yexo
183b7e0ed5
(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
3777a590f9
(svn r17109) -Fix (r15027): squirrel_export.sh failed for some locales
2009-08-08 12:26:03 +00:00
smatz
738d7fde53
(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
d5931df4b4
(svn r17094) -Update: AI changelog
2009-08-06 19:35:58 +00:00
rubidium
d61be2637e
(svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives
2009-08-05 17:59:21 +00:00
rubidium
8b743d3a69
(svn r17072) -Fix: don't let squirrel export make a 'stub' for ai_changelog.hpp
2009-08-05 15:10:37 +00:00
rubidium
5bb7b8ad35
(svn r17062) -Change: unify the naming of some 125 strings
2009-08-04 18:04:33 +00:00
yexo
9742d839e8
(svn r17049) -Fix [NoAI]: documentation of AITile::LevelTiles was wrong
2009-08-02 21:07:30 +00:00
alberth
baa5dac8a4
(svn r17044) -Codechange: ai windows use nested widget tree.
2009-08-02 18:54:49 +00:00
yexo
127ceaf828
(svn r17043) -Change [NoAI]: Load the API before compiling an AI script so AIs can subclass API classes and use API constants as part of their own constants
2009-08-02 18:26:32 +00:00
rubidium
911027d6c7
(svn r17028) -Fix (r17019): a function and class were not mentioned in the changelog
2009-08-01 16:59:53 +00:00
yexo
a8794fd833
(svn r17019) -Doc: add AI API changelog
2009-08-01 10:48:22 +00:00
yexo
641e80798f
(svn r17016) -Add [NoAI]: AICompany::Get/Set PresidentGender
2009-08-01 00:28:21 +00:00
yexo
ef4ecc4cc3
(svn r17014) -Add [NoAI]: AIEngine::GetDesignDate
2009-07-31 23:22:49 +00:00
yexo
1ae6096e3b
(svn r17012) -Add [NoAI]: AIBaseStation::GetConstructionDate
2009-07-31 22:38:09 +00:00
yexo
86b89fda98
(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
cb5a0369f8
(svn r17006) -Fix (r17005): gcc compile failure
2009-07-31 19:57:21 +00:00
yexo
f35d7f210f
(svn r17005) -Add [NoAI]: AIAbstractList::SORT_ASCENDING / SORT_DESCENDING
2009-07-31 19:50:01 +00:00
rubidium
7bb48f437e
(svn r16999) -Fix (r16993): AIs couldn't build waypoints anymore
2009-07-30 22:05:57 +00:00
rubidium
e035054ab6
(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
b3f3ba36db
(svn r16990) -Codechange: unify some (command) naming w.r.t. stations/waypoints.
2009-07-29 22:32:20 +00:00
yexo
42adfc055e
(svn r16986) -Fix [NoAI]: AIBridge::GetPrice returned incorrect values
2009-07-29 21:48:19 +00:00
rubidium
edf7b21e18
(svn r16976) -Codechange: remove WaypointID and MAX_LENGTH constants in favour of their Station variants
2009-07-28 21:06:38 +00:00
rubidium
30d9e54279
(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
def31de3c1
(svn r16948) -Codechange: some code reductions and usage of wrapper functions
2009-07-25 10:39:58 +00:00
rubidium
58563eafa7
(svn r16947) -Codechange: use TileArea instead of train_tile, trainst_w and trainst_h.
2009-07-25 08:54:19 +00:00
rubidium
196856f54e
(svn r16939) -Codechange: s/RailwayStation/RailStation/ to unify the way it's written.
2009-07-24 11:47:12 +00:00
rubidium
00a9b2fd3d
(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
4874578e79
(svn r16930) -Codechange: more StringID name unification and grouping
2009-07-23 19:31:50 +00:00
rubidium
11f61f8a14
(svn r16927) -Change: make the 'there is no AI' error message translatable
2009-07-23 15:39:21 +00:00
rubidium
01eabc5f4c
(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
49fcb20a91
(svn r16919) -Codechange: unify some more StringID w.r.t. their naming
2009-07-22 19:12:20 +00:00
rubidium
c252e18421
(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
6435dc89fe
(svn r16912) -Codechange: split waypoint.h in waypoint_base.h and waypoint_func.h
2009-07-22 10:18:19 +00:00
rubidium
100cb17fa8
(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
39e6dbd5e3
(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
3564579dc4
(svn r16877) -Codechange: use Subsidy::IsAwarded() instead of testing subsidy's age
2009-07-18 19:54:35 +00:00
yexo
58b3260c48
(svn r16866) -Fix (r16865): forgot to run squirrel_export.sh
2009-07-17 21:45:57 +00:00
yexo
b0441f6c8c
(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
cb13cf2543
(svn r16852) -Codechange: use FOR_ALL_CARGOSPECS for iterating over all valid CargoSpecs
2009-07-16 20:40:06 +00:00
smatz
8718babe90
(svn r16849) -Codechange: replace GetCargo() by CargoSpec::Get()
2009-07-16 19:00:13 +00:00
alberth
fe9f5cbc46
(svn r16845) -Codechange: Introduction of constants for describing the bits in a WWT_MATRIX data field.
2009-07-16 16:22:23 +00:00
yexo
6e467e8ae0
(svn r16834) -Fix [FS#3034]: call the AI Save() function only once so AIs can't crash OpenTTD
2009-07-15 19:47:06 +00:00
yexo
f8844424cc
(svn r16790) -Add [NoAI]: AIVehicle::GetReliability to get the current reliability of vehicles
2009-07-10 22:30:38 +00:00
rubidium
026f3c8feb
(svn r16785) -Codechange: make ships going to buoys use OT_GOTO_WAYPOINT too
2009-07-10 18:30:02 +00:00
rubidium
8a8731b3f0
(svn r16783) -Change: make it more clear that the squirrel_export script needs gawk.
2009-07-10 18:21:14 +00:00
alberth
4f78ef88b0
(svn r16780) -Add [FS#3015]: Allow the AI Debug Window to become sticky.
2009-07-09 20:23:13 +00:00
rubidium
74f56861e9
(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
f8c0926c1a
(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
484bda00de
(svn r16767) -Fix [NoAI] (r16524): AITile::GetCargoProduction/Acceptance didn't accept a radius of 0 anymore
2009-07-08 17:42:58 +00:00
alberth
8f727713d6
(svn r16738) -Codechange: Remove casting away constness by changing the text before storing.
2009-07-04 13:55:28 +00:00
yexo
bed99fdaec
(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
fd48f3cc5c
(svn r16724) -Fix (r16714): MSVC 64bit warnings (Rubidium)
2009-07-02 12:47:52 +00:00
smatz
32bf91aa41
(svn r16723) -Codechange: make GetNextArticPart(), GetLastEnginePart(), GetNextVehicle(), GetPrevVehicle(), GetNextUnit(), GetPrevUnit() members of Train
2009-07-02 12:10:39 +00:00
rubidium
18fbe0aac4
(svn r16722) -Codechange: unify the naming of the Is/Set/HasArticulatedPart functions
2009-07-02 09:06:15 +00:00
rubidium
f97bd41ed4
(svn r16721) -Codechange: make Is/SetRoadVehicleFront, Is/Set/HasArticulatedPart member of RoadVehicle.
2009-07-02 08:59:27 +00:00
smatz
1e1f0ab2cf
(svn r16719) -Codechange: make IsArticulatedPart(), IsTrainEngine(), IsTrainWagon(), IsMultiheaded(), EngineHasArticPart() and IsRearDualheaded() members of Train
2009-07-01 23:57:20 +00:00
smatz
378d01f2f4
(svn r16718) -Codechange: make IsFreeWagon() member of Train
2009-07-01 23:49:13 +00:00
smatz
93557ba4e9
(svn r16714) -Codechange: use pool-like accessors for Subsidy
2009-07-01 18:45:05 +00:00
smatz
d04750ff87
(svn r16711) -Codechange: use FOR_ALL_SUBSIDIES macro when iterating over all subsidies
2009-07-01 17:43:26 +00:00
frosch
ce55eda3e1
(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
523cde0798
(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
4c3f480f92
(svn r16676) -Codechange: Rename AcceptedCargo to CargoArray and its instances to more meaningful names.
2009-06-27 18:26:50 +00:00
yexo
b424962e57
(svn r16650) -Fix (r16649): missing ()
2009-06-24 23:24:01 +00:00
yexo
f225163e60
(svn r16649) -Fix: When the exact AI version a game was saved with is no longer available and the latest version of the AI can't load data from that AI version, use the latest available version of the AI that can load the data instead of the first found version that can load the data.
2009-06-24 23:23:08 +00:00
smatz
a9602401f0
(svn r16646) -Codechange: rename GetDepotByTile() to Depot::GetByTile()
2009-06-24 19:26:41 +00:00
smatz
f6a4d61cca
(svn r16643) -Codechange: replace GetStationByTile() by Station::GetByTile()
2009-06-24 17:39:54 +00:00
smatz
61a42f42c1
(svn r16640) -Codechange: move roadstop stuff to separate files
2009-06-23 21:44:48 +00:00
frosch
4ff924862d
(svn r16618) -Fix (r16614): Silence a warning.
2009-06-21 20:59:30 +00:00
yexo
679ffee940
(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
4c227b6b78
(svn r16585) -Add [NoAI]: AIBuoyList to get a list of all buoys
2009-06-17 13:12:08 +00:00
rubidium
8ca2ccc456
(svn r16581) -Codechange: unify the access to Engine::lifelength.
2009-06-16 13:52:18 +00:00
yexo
148559ff5e
(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
e624d96282
(svn r16562) -Revert (r16561)
2009-06-11 14:17:26 +00:00
yexo
c5c15fcbd9
(svn r16561) -Fix [NoAI]: AIMarine::AreWaterTilesConnected didn't return true for bridge head<>neighbouring water tile
2009-06-11 14:15:18 +00:00
smatz
a2567c84a0
(svn r16559) -Codechange: introduce Company::IsValidAiID() and Company::IsValidHumanID(), don't use IsHumanCompany() where possible
2009-06-10 22:05:01 +00:00
smatz
0ae854650a
(svn r16557) -Feature(tte) [NoAI][FS#2892]: mark dead AIs by red background in the AIDebug window
2009-06-10 19:26:04 +00:00
smatz
f67ea11992
(svn r16556) -Codechange [NoAI]: use accessor for AIInstance::is_dead
2009-06-10 19:23:25 +00:00
yexo
338f75b3b2
(svn r16529) -Fix [NoAI]: StationIDs from oilrigs were not considered valid by the API.
2009-06-07 13:29:09 +00:00
smatz
af85994f7f
(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
8d6dec5e72
(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
8dba8371e3
(svn r16522) -Fix [FS#2962]: possible assert in ai debug window when an AI was stopped an a human company took it's CompanyID
2009-06-06 01:53:17 +00:00
yexo
a2c5c2651a
(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
bb854f2b97
(svn r16510) -Doc: silence some (AI) doxygen warnings by adding comments about the appropriate things.
2009-06-03 18:47:08 +00:00
yexo
62a698df32
(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
rubidium
f163217dbb
(svn r16493) -Fix: missing/wrong @file doxygen 'headers'
2009-06-01 12:56:18 +00:00
alberth
580e478e4e
(svn r16491) -Codechange: Added parentheses around bitwise operators for code style.
2009-06-01 11:43:36 +00:00
smatz
0c53f04c07
(svn r16441) -Codechange: new class SpecializedVehicle used as superclass for all vehicle types
2009-05-26 22:10:13 +00:00
yexo
c04e5a9aa3
(svn r16440) -Fix [NoAI]: AIRail::GetRailStationDirection returned incorrect information
2009-05-26 22:03:16 +00:00
yexo
68042a6dde
(svn r16433) -Codechange: Remove most of CmdSetAutoreplace and replace it with calls to CmdChangeCompanySetting
2009-05-26 13:29:01 +00:00
yexo
de04ae2cda
(svn r16425) -Change [FS#2869]: Stop an AI when it takes too long to initialize or load
2009-05-25 21:55:47 +00:00
rubidium
c496a3e014
(svn r16421) -Codechange: do not unnecessarily remove constness or unnecessarily add it.
2009-05-24 20:29:04 +00:00
smatz
1eb48cdded
(svn r16403) -Codechange: move code related to subsidies to separate file
2009-05-23 15:46:00 +00:00
yexo
2d8609080f
(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
6cfc38b97c
(svn r16397) -Codechange: move GetVehicleOrder/GetLastVehicleOrder into Vehicle
2009-05-23 12:27:42 +00:00
smatz
329407e9bc
(svn r16395) -Fix (r16379): max sign ID can be higher than total number of signs
2009-05-23 11:13:43 +00:00
rubidium
cd382b28a3
(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
4c0542c17f
(svn r16393) -Codechange: move VehicleRail to Train.
2009-05-22 22:55:41 +00:00
rubidium
1324100d69
(svn r16391) -Codechange: use Train instead of Vehicle where appropriate.
2009-05-22 22:22:46 +00:00
rubidium
489253b630
(svn r16390) -Codechange: move u.road to RoadVehicle.
2009-05-22 20:22:20 +00:00
smatz
d6e203ebe2
(svn r16379) -Codechange: remove GetNumTowns(), GetNumIndustries() and GetActiveCompanyCount(), use PoolItem::GetNumItems() instead
2009-05-22 15:23:47 +00:00
smatz
6636ed7589
(svn r16354) -Codechange: use 'new' pool accessors and methods for Engine too
2009-05-18 19:32:16 +00:00
smatz
512db5248e
(svn r16352) -Codechange: use PoolItem::GetIfValid() instead of PoolItem::IsValidID() and PoolItem::Get()
2009-05-18 16:21:28 +00:00
smatz
05db91dc65
(svn r16349) -Codechange: rename IsPlainRailTile() to IsPlainRail(), introduce shiny new IsPlainRailTile()
2009-05-18 01:26:23 +00:00
rubidium
f1955333c9
(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
0c10daa243
(svn r16327) -Codechange: replace IsValidPoolItemID(index) by PoolItem::IsValidID(index)
2009-05-17 01:00:56 +00:00
smatz
cf986c3099
(svn r16326) -Codechange: replace GetPoolItemPoolSize() by PoolItem::GetPoolSize()
2009-05-16 23:44:36 +00:00
smatz
d495dc5dbc
(svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index)
2009-05-16 23:34:14 +00:00
yexo
d489f93473
(svn r16315) -Codechange: move the autorenew settings to a new CompanySettings struct
2009-05-15 23:55:06 +00:00
frosch
1205f02b43
(svn r16311) -Fix: (Get|Set)TrackBits() is only valid for RAIL_TILE_NORMAL and _SIGNALS.
2009-05-15 16:07:36 +00:00
frosch
41aec3d3c7
(svn r16267) -Documentation: [NoAI] Explain how to deal with IDs of various objects.
2009-05-10 15:23:55 +00:00
frosch
074569ca80
(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
cb66ca57c1
(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
2060b0b29a
(svn r16262) -Fix [NoAI]: Check slopes passed to the API better for validity
2009-05-09 19:45:02 +00:00
yexo
6ced713033
(svn r16253) -Add [NoAI]: AIController::GetVersion, this returns the newgrf-version of OpenTTD
2009-05-07 21:33:38 +00:00
yexo
0ad4f31658
(svn r16252) -Add [NoAI]: AIAirport::GetPrice, returning the building cost of an airport
2009-05-07 21:30:18 +00:00
yexo
f51d764fbd
(svn r16249) -Fix [NoAI]: Enable parameter checking for AIController::* functions again
2009-05-07 12:13:58 +00:00
yexo
cac5b8bf79
(svn r16244) -Fix [NoAI]: Make sure AITunnel::BuildTunnel returns what the documentation says it does
2009-05-06 21:40:51 +00:00
yexo
eb162ef55d
(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
d0c22e5f46
(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
ac1b753f9a
(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
d1ab79a902
(svn r16174) -Fix (r16093) [FS#2863]: crash when starting a game/loading a game with no AIs available.
2009-04-26 19:30:31 +00:00
yexo
59a9d1eade
(svn r16172) -Fix (r16171): typo (thanks SmatZ)
2009-04-26 17:16:30 +00:00
yexo
406e231634
(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
4f45dce1b5
(svn r16166) -Add [NoAI]: AITile::Get(Min|Max|Corner)Height
2009-04-26 16:26:41 +00:00
yexo
e03736b304
(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
rubidium
3bd4eeb178
(svn r16162) -Codechange: remove needless TC_ colours from DrawString when they are part of strings and add some colours to a few strings.
2009-04-26 15:26:19 +00:00
rubidium
650cb3694e
(svn r16160) -Codechange: remove the need for explicit TC_FROMSTRING for DrawString.
2009-04-26 14:52:56 +00:00
yexo
65633e1a50
(svn r16158) -Codechange: fix the string alignment in all .hpp.sq files
2009-04-26 12:22:09 +00:00
yexo
46ba81964b
(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
4444e48566
(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
27b831935f
(svn r16149) -Fix [FS#2860]: when there's no AI and an AI is started... *boom*
2009-04-25 22:40:24 +00:00
rubidium
5c5b357043
(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
e0e9a1b02e
(svn r16114) -Cleanup: unify some more strings and remove some more unused strings
2009-04-21 20:20:53 +00:00
yexo
a127ed11e1
(svn r16113) -Feature [NoAI]: Add UseAsRandomAI as function in info.nut. When an AI returns false, it'll never be chosen as random AI.
2009-04-21 19:13:32 +00:00
yexo
cdfdd87286
(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
66d95f6a66
(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
cf6adbfe4f
(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
7d9549ffd3
(svn r16106) -Fix [NoAI]: AIOrder::SetOrderFlags always removed "Service if needed" from goto-depot orders.
2009-04-20 23:12:32 +00:00
frosch
ff8e25a748
(svn r16094) -Fix: AIDebug window profiled the blitters by invalidating itself unconditionally on repaint. OTOH it was not invalidated in other cases when needed.
2009-04-19 16:04:44 +00:00
yexo
f96429a494
(svn r16093) -Feature [FS#2808]: Add GetURL() as possible function to info.nut. If AIs implement it, that url is shown when the AI crashes and also in the AI selection window.
2009-04-19 15:14:23 +00:00
yexo
a1af08f4d3
(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
8501c74b94
(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
rubidium
11e2ca71e6
(svn r16024) -Codechange: harden string copying on places where it's possible
2009-04-10 20:37:05 +00:00
yexo
058477ed89
(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
c1fec40b1a
(svn r15901) -Add: AIIndustryType::IsBuiltOnWater(), HasHeliport() and HasDock(). Just like AIIndustry.
2009-03-30 20:48:10 +00:00
alberth
bbd546b792
(svn r15885) -Codechange: Removed new_size parameter of Window::OnResize() callback
2009-03-29 09:49:11 +00:00
yexo
9fd6956496
(svn r15881) -Fix (r15875): add an explicit cast so some compilers stop complaining.
2009-03-28 16:19:04 +00:00
yexo
a0388f85a3
(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
779a9f4e24
(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
6f15901769
(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
yexo
3659cd168e
(svn r15852) -Codechange: New widgets for the AI windows.
2009-03-25 21:35:53 +00:00
rubidium
e1ca9bbeed
(svn r15844) -Codechange: allow text alignment to be forced so the console and ai debug output don't get swapped (those are untranslateable anyways)
2009-03-25 01:10:24 +00:00
yexo
8b873859ba
(svn r15835) -Codechange: Prevent using the return value of DrawString as much as possible.
2009-03-24 20:03:02 +00:00
rubidium
44e2b242cd
(svn r15811) -Fix: left != right and as a result of that the ai debug window was kinda empty.
2009-03-22 14:08:53 +00:00
rubidium
0cae096d2d
(svn r15806) -Codechange: pass both left and right to the vehicle details drawing functions instead of only the left.
2009-03-22 10:37:51 +00:00
rubidium
dcd5ad8b19
(svn r15797) -Codechange: make users of the old DrawStringMultiLine use the new one.
2009-03-21 23:45:34 +00:00
frosch
25b70e8c0d
(svn r15789) -Codechange: Add DiagdirBetweenTiles() and use it.
2009-03-21 21:43:23 +00:00
rubidium
c1aabd9842
(svn r15785) -Codechange: remove the *Truncated part of the old text drawing API.
2009-03-21 20:12:12 +00:00
yexo
be3d672d3a
(svn r15781) -Fix [NoAI]: Missing "AIs" in the information the debug AI prints.
2009-03-21 19:08:04 +00:00
yexo
4b8d1a58a2
(svn r15774) -Fix (r15708): Don't show the message about reporting an AI crash for the dummy AI.
2009-03-19 23:38:51 +00:00
frosch
c297a99eff
(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
cd73406b9c
(svn r15743) -Codechange: move the definitions of some fake squirrel types to their own file.
2009-03-16 17:30:49 +00:00
yexo
b4fb14693a
(svn r15742) -Fix (r15736): AIs with an invalid info.nut weren't ignored anymore.
2009-03-16 14:40:32 +00:00
yexo
d02548b204
(svn r15736) -Codechange: Split AIScanner/AIFileInfo to the more generic classes ScriptScanner/ScriptFileInfo.
2009-03-15 22:41:57 +00:00
rubidium
7f468dc142
(svn r15723) -Codechange: use a constructor for WindowDescs as that makes expanding them much easier (Alberth)
2009-03-15 15:12:06 +00:00
rubidium
51b285233f
(svn r15721) -Change: give a more useful (for 'normal' users) error message when there's no AI and they want to play with an AI
2009-03-15 14:33:40 +00:00
rubidium
c3e87f345d
(svn r15718) -Cleanup: apply some comment coding style on the rest of the sources too
2009-03-15 00:32:18 +00:00
yexo
6fe181ae64
(svn r15716) -Change [NoAI]: AI libraries should now be stored in ai/library/<library_name>/ instead of ai/library/<category_name>/<library_name>/. Libraries inside tar files are not affected.
2009-03-14 23:57:37 +00:00
rubidium
f3e0fd7416
(svn r15711) -Codechange: lots of whitespace cleanup/fixes
2009-03-14 18:16:29 +00:00
yexo
473cc5076a
(svn r15708) -Feature [FS#2728]: Pop up the AI Debug Window if one of the AIs crashed and show a message that the user should report the crash.
2009-03-14 01:32:04 +00:00
frosch
f35e00844c
(svn r15705) -Fix: Do not show passenger-/mail-capacity if the aircraft carries only cargo.
2009-03-13 23:49:12 +00:00
yexo
21daa3fbc9
(svn r15684) -Add [NoAI]: AIOrder::SkipToOrder().
2009-03-12 11:43:40 +00:00
yexo
28c49b694a
(svn r15668) -Fix: a few typos.
2009-03-11 07:32:31 +00:00
yexo
4a6a30cc52
(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
truebrain
6f9cb26000
(svn r15638) -Fix: there is a time in your life you should stop coding for a project. You know that time is there when you make two huge mistakes in just 10 lines of code. I wish you all the best of luck :) (ps: HUGE mistakes!)
2009-03-07 20:55:24 +00:00
yexo
76c0f51cf5
(svn r15630) -Fix (r15027): Make sure OpenTTD loads the dummy AI script when no other AI is available instead of a non-existing file.
2009-03-06 15:20:18 +00:00
yexo
0860685417
(svn r15616) -Change [API CHANGE]: Rename AIOrder::ChangeOrder() to AIOrder::SetOrderFlags().
2009-03-04 23:12:48 +00:00
yexo
89fc2b2b08
(svn r15614) -Add [NoAI]: AIVehicleList_Group(group_id) and AIVehicleList_DefaultGroup(vehicle_type).
2009-03-04 22:37:25 +00:00
yexo
1362d2c16b
(svn r15587) -Fix (r15345): I should really test even those simple api functions better.
2009-02-26 07:30:13 +00:00
yexo
11ce4538b4
(svn r15563) -Change [API CHANGE]: Remove AIIndustry::GetMaxIndustryID().
2009-02-23 21:07:01 +00:00
yexo
c144d8fa90
(svn r15562) -Change: Use GetName() to determine the unique AI name instead of GetInstanceName() to make branching of AIs easier.
2009-02-23 20:57:55 +00:00
yexo
301dcb6dc4
(svn r15558) -Cleanup: Remove some unnecessary friend declarations.
2009-02-23 19:35:19 +00:00
frosch
abe4692da2
(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
yexo
598d20eedc
(svn r15538) -Fix (r15334): The difficulty level wasn't set to custom when changing the amount of towns/industries from the newgame gui.
2009-02-21 02:34:53 +00:00
glx
85ea21a5d0
(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
d9caae1635
(svn r15530) -Fix (r15519): The AIWaypoint classes were not exported to squirrel.
2009-02-20 10:03:16 +00:00
yexo
14f6bd6ce1
(svn r15527) -Fix (r15526): A ')' too much.
2009-02-19 23:22:31 +00:00
yexo
05856bf05f
(svn r15526) -Add [NoAI]: Support for conditional orders.
2009-02-19 23:12:57 +00:00
yexo
157bf66b01
(svn r15524) -Add [NoAI]: AIEngine::GetPower, AIEngine::GetWeight and AIEngine::GetMaxTractiveEffort.
2009-02-19 19:44:19 +00:00
yexo
9a507acf37
(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
69df9f2787
(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
a6350c0287
(svn r15494) -Change [API CHANGE]: Split AIRoad::BuildRoadStation in BuildRoadStation and BuildDriveThroughRoadStation.
2009-02-14 22:06:11 +00:00
yexo
fa0cf4bbd1
(svn r15492) -Change [API CHANGE]: Split AIVehicle::MoveWagon in MoveWagon and MoveWagonChain (frosch).
2009-02-14 21:22:42 +00:00
yexo
c59caa45b7
(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
d8de2d1413
(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
e7eb6d05a0
(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
8583274f18
(svn r15488) -Change [API CHANGE]: Add support for distant-join stations.
2009-02-14 21:15:23 +00:00
yexo
a79524c805
(svn r15487) -Change [API CHANGE]: Remove the never implemented function AIEventVehicleCrashed::CloneCrashedVehicle.
2009-02-14 21:13:45 +00:00
yexo
320018aac1
(svn r15486) -Change [API CHANGE]: Remove AITown::GetMaxTownID.
2009-02-14 21:13:15 +00:00
yexo
f20378dcf7
(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
efc8a034b1
(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
8bb601f8ae
(svn r15483) -Change [API CHANGE]: Remove AIIndustry::GetProduction, use AIIndustry::GetLastMonthProduction instead.
2009-02-14 21:05:57 +00:00
yexo
d0895a65ce
(svn r15482) -Fix [NoAI]: Typos in api docs.
2009-02-14 20:07:05 +00:00
yexo
8e75f5244c
(svn r15481) -Fix [NoAI]: Make sure AIs can't call functions they shouldn't call.
2009-02-14 20:03:06 +00:00
frosch
de9c91ecee
(svn r15479) -Fix: Documentation of AIIndustryType::CanBuildIndustry().
2009-02-14 18:40:31 +00:00
yexo
6f163ad8c9
(svn r15470) -Fix [NoAI]: Check the types of the parameters passed to AddSetting, AddLabels and RegisterAI.
2009-02-13 18:43:56 +00:00
yexo
3e53890348
(svn r15467) -Fix [NoAI]: AIs with an error in their info.nut are no longer available in-game.
2009-02-13 17:17:34 +00:00
yexo
8370da7a33
(svn r15466) -Fix (r15330): The squirrel instance object was freed twice if an info.nut failed to compile.
2009-02-13 16:25:53 +00:00
smatz
232d21df13
(svn r15465) -Codechange: constify most of AIInfo/AIFileInfo methods, move definition of very simple getters to header file
2009-02-13 02:11:54 +00:00
yexo
312e57df5f
(svn r15464) -Codechange [NoAI]: Call all info.nut functions exactly once and only during initialization.
2009-02-13 01:44:56 +00:00
yexo
8eecd774ff
(svn r15463) -Change [API CHANGE]: Replace AIInfo::CanLoadFromVersion(version) with AIInfo::MinVersionToLoad() which should return a single integer, the minimum version the AI is able to load data from.
2009-02-13 01:24:30 +00:00
yexo
526edf35a5
(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
0111a10d7a
(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
ec9d949434
(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
8ef2024b96
(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
4b1728079c
(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
89e1afdaa0
(svn r15428) -Codechange: consistently use colour instead of having both color and colour.
2009-02-09 02:57:15 +00:00
rubidium
a7693c6059
(svn r15425) -Codechange: some color->colour changes and type safety.
2009-02-09 02:09:47 +00:00
rubidium
283b3d16ab
(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
1fbb8d3ac3
(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
2a66e934b8
(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
smatz
487b0ed95e
(svn r15401) -Fix [FS#2619](r15027): AI::Stop changed _current_company, but didn't restore its original value
2009-02-07 17:01:44 +00:00
frosch
f1240daed6
(svn r15400) -Fix: Typos in comments.
2009-02-07 16:23:42 +00:00
rubidium
5b74baa9be
(svn r15368) -Fix: some typos in comments
2009-02-06 10:31:05 +00:00
Yexo
72643f2090
(svn r15366) -Add [NoAI]: Add AddLabels() where you can define labels for the values of the settings in info.nut
2009-02-06 00:25:37 +00:00
frosch
d526d1f70d
(svn r15360) -Fix: Flooding vehicles did not trigger an AI event.
2009-02-05 17:48:08 +00:00
frosch
d5a6fcce54
(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
f6fa77d5f9
(svn r15358) -Add [NoAI]: AIEventVehicleCrashed::GetCrashReason()
2009-02-05 17:28:37 +00:00
rubidium
580f6fcbab
(svn r15355) -Codechange: simplify some stuff now ->FirstShared returns non-NULL again.
2009-02-05 15:59:23 +00:00
Yexo
96f279608b
(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
8f51ee50c1
(svn r15345) -Add [NoAI]: Add AIVehicle::HasSharedOrders() and AIVehicleList_SharedOrders.
2009-02-05 01:12:49 +00:00
Yexo
70a38e8a60
(svn r15343) -Add [NoAI]: Add AITown::GetRoadLayout so AIs can get the road layout per town.
2009-02-04 23:26:21 +00:00
rubidium
2eebb52592
(svn r15330) -Fix [FS#2597]: leaking of Squirrel when using circular references (by enabling the GC).
2009-02-03 22:42:42 +00:00
Yexo
e628c5360d
(svn r15328) -Fix (r15327): Load(data, version) was called instead of Load(version, data).
2009-02-03 21:05:32 +00:00
Yexo
9569bb12f3
(svn r15327) -Fix (r15027): AIs could access the map and other data in their constructor and Load() function while the savegame was not completely loaded.
2009-02-03 20:49:08 +00:00
smatz
16d1904e70
(svn r15324) -Codechange: unify the class used for comparing of strings for std::map
2009-02-03 18:08:07 +00:00
Yexo
ef320e3f0c
(svn r15322) -Fix (r15175): The AI list window didn't display information about the selected AI if it wasn't visible.
2009-02-02 22:57:22 +00:00
frosch
61a893d6fd
(svn r15308) -Codechange: Deduplicate km-ish/h -> mph conversions.
2009-02-01 17:14:39 +00:00
frosch
be395d0f3d
(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
9c2ba4f96a
(svn r15306) -Codechange: Deduplicate code by adding Engine::GetDisplayMaxSpeed(), GetPower() and GetDisplayWeight(). (and using them)
2009-02-01 16:10:06 +00:00
smatz
9021c20b5e
(svn r15299) -Cleanup: remove many redundant includes
2009-01-31 20:16:06 +00:00
Yexo
283a265d8a
(svn r15284) -Fix [FS#2582] (r15045): Parameters were popped from the squirrel stack twice.
2009-01-27 13:11:11 +00:00
smatz
4eff39a54c
(svn r15278) -Fix [FS#2332]: test noise limit of nearest town instead of st->town
2009-01-26 21:09:17 +00:00
Yexo
c8a4bf862b
(svn r15277) -Fix (r15027): Building bridges in AITestMode always returned false.
2009-01-26 20:18:50 +00:00
glx
53fe1afa1f
(svn r15270) -Change [API CHANGE]: remove AIEventTest
2009-01-25 19:06:00 +00:00
glx
470da22ac3
(svn r15263) -Codechange: added Engine::GetCost() to remove some code duplication.
2009-01-25 00:57:03 +00:00
frosch
512cc98b35
(svn r15262) -Fix: AIEvents were not freed, when they were not queued for any AI.
2009-01-24 21:38:30 +00:00
glx
9b73303b4d
(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
7120b2455a
(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
8be4bc3d1e
(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
2eb5af3bb8
(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
ac7883fe93
(svn r15241) -Fix (r15027): NoAI API was not aware of certain newindustries 'features'.
2009-01-23 22:09:31 +00:00
glx
205289cf9d
(svn r15228) -Fix [FS#2571]: possible crash when an AI/Library doesn't have a required function
2009-01-23 15:38:13 +00:00
glx
6301d1cc0a
(svn r15226) -Fix (r15214): broken AI content download
2009-01-23 15:10:13 +00:00
rubidium
80e59f375f
(svn r15215) -Fix: various MSVC x64 compiler warnings
2009-01-23 02:01:05 +00:00
glx
7809b7ef0e
(svn r15214) -Fix [NoAI]: ignore case for ai/library main script path on windows
2009-01-23 01:29:13 +00:00
glx
e30d391345
(svn r15191) -Fix (r15188): -1 is not a bool (MSVC warning)
2009-01-21 03:47:04 +00:00
Yexo
e3c69b7c4e
(svn r15190) -Feature: Allow terraforming of the tiles at the edges of the map.
2009-01-21 02:31:55 +00:00
Yexo
7b009c3586
(svn r15188) -Feature: You can now change the number of AIs from the AI config window.
2009-01-21 01:56:42 +00:00
Yexo
dcdb771c40
(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
Yexo
9fd38d1022
(svn r15186) -Fix: Select the currently selected AI instead of the second on in the list.
...
-Feature: Double clicking on a slot in the AI config window results in opening the list of AIs.
2009-01-21 00:36:22 +00:00
Yexo
78c857422b
(svn r15185) -Fix (r15175): It was impossible to select AIs that had a different instance name then their name.
2009-01-21 00:19:21 +00:00
glx
11fe4bcc56
(svn r15184) -Cleanup: remove extra spaces
2009-01-21 00:18:30 +00:00
Yexo
aaa8be9a3f
(svn r15182) -Fix: After updating an AI select the latest version for the next game.
2009-01-21 00:09:36 +00:00
Yexo
593f380462
(svn r15175) -Feature: Add the option to select the AIs to start in a new game and configure them via the gui.
2009-01-20 16:49:10 +00:00
Yexo
1f5b8c97df
(svn r15171) -Fix (r15027): Buffer underflow in case there are no settings to save for an AI.
2009-01-20 15:58:40 +00:00
peter1138
b85389dca5
(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
a0e24cc6c9
(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
peter1138
6644fa86ee
(svn r15133) -Fix: Crash if no NoAIs are present.
2009-01-17 22:22:53 +00:00
rubidium
72b0341ed0
(svn r15126) -Feature: downloading content from a central server (content.openttd.org) where authors can upload they NewGRFS/AI etc. This should make joining servers that use only NewGRFs that are distributed via this system easier as the players can download the NewGRFs from in the game. It should also make it easier to see whether there are updates for NewGRFs and make the necessary updates.
2009-01-17 16:53:32 +00:00
truebrain
fac5cee3d3
(svn r15124) -Fix: last memory leak related to NoAI
2009-01-17 15:38:37 +00:00
truebrain
eb0d82ada0
(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
ef75a7af90
(svn r15122) -Codechange: add a security assert, to make sure something never happens
2009-01-17 15:14:13 +00:00
truebrain
002427eab9
(svn r15121) -Fix: more mem-leak fixes (this should make SmatZ so happy ;) :p)
2009-01-17 15:07:35 +00:00
truebrain
8cbf156252
(svn r15120) -Fix: more mem-leak fixes
2009-01-17 14:54:24 +00:00
truebrain
d790884ee6
(svn r15118) -Fix: fix a minor mem-leak
2009-01-17 14:45:44 +00:00
truebrain
dec721ca6f
(svn r15109) -Add [NoAI]: add AITile::LevelTiles (Yexo)
2009-01-16 15:01:54 +00:00
truebrain
f5e0590c09
(svn r15107) -Fix [NoAI]: don't use so much explicit string copies if it is not required
2009-01-16 14:56:13 +00:00
rubidium
65ae906940
(svn r15106) -Fix [NoAI]: printf-ing of garbage.
2009-01-16 14:37:53 +00:00
truebrain
cafff6eb60
(svn r15102) -Fix (r15101): somehow makedepend fucked up (patch by Yexo)
2009-01-16 00:27:22 +00:00
truebrain
bd520ca562
(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
b9ebab0e5d
(svn r15100) -Add [NoAI]: introduce TILE_INVALID as const
2009-01-15 21:20:12 +00:00
truebrain
1cd56af6da
(svn r15099) -Fix (r15078): GetTileIndex(0, -1) is perfectly fine
2009-01-15 20:59:22 +00:00
truebrain
91c7cba05b
(svn r15096) -Fix [NoAI]: free memory when no longer needed
...
-Fix [NoAI]: when there are multiple versions of one AI, never randonly pick an older one, but always the latest
2009-01-15 18:24:49 +00:00
truebrain
e436f0218f
(svn r15095) -Add [NoAI]: allow AI Libraries to be in .tar files (subdir required, as with AIs
...
-Add [NoAI]: allow multiple versions of the same AI co-exist
-Change [NoAI]: updated the whole method of AI (Library) finding and loading; it is now much more clear and transparent
-Change [NoAI]: the name of the AI is now the name used by CreateInstance()
-Change [NoAI]: make the AI finder a bit more clever, mostly related to version finding
2009-01-15 18:15:12 +00:00
truebrain
fe7997e95f
(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
ae5c8a8b35
(svn r15091) -Add [NoAI] [API CHANGE]: introduce GetCategory() as a requirement for every library.nut, to indicate in which category it belongs. Currently the directory indicates the category, but this doesn't allow planned future additions
2009-01-15 15:56:10 +00:00
truebrain
e84138af22
(svn r15090) -Add [NoAI] [API CHANGE]: info.nut/library.nut now requires a function GetShortName(), which should return a 4 (four) character string, unique throughout the world. This id is simular to a GRFid.
2009-01-15 14:37:44 +00:00
truebrain
1e1cdd01b4
(svn r15086) -Fix: start AIs after 6 months on hard, 12 months on medium, and 24 months on easy. The current values were a bit .. too long waiting period ;)
2009-01-14 21:32:06 +00:00
truebrain
61093eb211
(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
rubidium
eb19b0abf9
(svn r15082) -Codechange: make the AI library path also a searchdir instead of manually manufacturing it into a searchdir.
2009-01-14 15:20:06 +00:00
truebrain
9724a986c8
(svn r15078) -Fix [NoAI]: AIMap didn't filter its input (Yexo)
2009-01-13 23:50:12 +00:00
smatz
ca45774160
(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
truebrain
5b4da28594
(svn r15076) -Fix: a start_date of 0 would never start an AI .. so don't allow it (Yexo)
2009-01-13 22:36:44 +00:00
truebrain
d5a599f5e5
(svn r15074) -Fix: make Rubidium happy
2009-01-13 21:11:02 +00:00
peter1138
4585d9785d
(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
truebrain
ec4bdfe611
(svn r15068) -Add [NoAI]: introducing 'step_size' for AIConfig, for future AIGUI (Yexo)
2009-01-13 18:26:58 +00:00
peter1138
afb94c252d
(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
truebrain
f293bff01b
(svn r15066) -Change: start_date is now in days, instead of in months (Yexo)
2009-01-13 18:04:12 +00:00
truebrain
39cec4c65f
(svn r15063) -Fix [NoAI]: starting companies now listen correctly to 'start_date' set to the AI slot (Yexo)
...
-Add [NoAI]: add a 'deviation' value for all settings, giving a slight deviation of the value of a setting (Yexo)
2009-01-13 16:53:03 +00:00
smatz
638411c087
(svn r15062) -Fix: further forgotten svn properties and headers
2009-01-13 16:30:24 +00:00
smatz
c30ce23866
(svn r15061) -Fix (r15027): three files were missing the Id header
2009-01-13 15:49:32 +00:00
truebrain
ee17e1e7b8
(svn r15059) -Add [NoAI]: use 'start_date' from the AI configure to see when an AI should start next
2009-01-13 14:00:26 +00:00
truebrain
bf1acb6772
(svn r15057) -Fix [NoAI]: clamp the values of a setting between the ones allowed by info.nut
2009-01-13 13:09:49 +00:00
truebrain
f29941a043
(svn r15056) -Add [NoAI]: when starting a game, give a random value to the setting marked with AICONFIG_RANDOM (Yexo)
2009-01-13 12:52:09 +00:00
truebrain
53d28d24b5
(svn r15055) -Add [NoAI]: add the AICONFIG_RANDOM and AICONFIG_BOOLEAN consts (Yexo)
2009-01-13 12:51:46 +00:00
glx
55db451a32
(svn r15049) -Fix (r15045): MSVC performance warning
2009-01-13 02:03:03 +00:00
truebrain
81157e3d91
(svn r15048) -Fix (r15047): the one time you don't compile a patch of someone, it contains a warning .. ;)
2009-01-13 01:52:32 +00:00
truebrain
08591d8643
(svn r15047) -Fix [NoAI]: AICONFIG_BOOLEAN (in AddSetting) doesn't require (or even allow) a min/max setting .. it is always 0/1 (Yexo)
2009-01-13 01:51:39 +00:00
truebrain
75b8afc136
(svn r15046) -Fix (r15045): in case CanLoadFromRevision does not exist, only allow savedata from the same version as we are now
2009-01-13 01:50:51 +00:00
truebrain
5573d9a459
(svn r15045) -Add [NoAI API CHANGE]: in info.nut you can now have (optional) a CanLoadFromVersion(version), which should return true/false, to indicate if you can load a savegame made with your AI of version 'version'
...
-Add [NoAI API CHANGE]: in main.nut the Load() function now should be Load(version, data), where 'version' is the version of your AI which made the savegame
-Codechange [NoAI]: various of function renames to make things more sane
-Add [NoAI]: push the 'version' of the AI through various of layers
-Codechange [NoAI]: various of code cleanups
-Add [NoAI]: store the version of the AI in the savegame too
2009-01-13 01:46:46 +00:00
truebrain
27c0a4c801
(svn r15044) -Add [NoAI]: AIConfig::GetVersion(), to get the version of the current AI
2009-01-13 00:10:58 +00:00
truebrain
c8f9cbca53
(svn r15042) -Fix (r15027): don't leak memory in AIInfo (Yexo)
2009-01-12 21:40:00 +00:00
truebrain
03725c057f
(svn r15036) -Fix: use the same value for 'random' through-out the code for PlantTree
2009-01-12 18:15:18 +00:00
truebrain
dcae208dfe
(svn r15033) -Fix (r15027): silent a warning when compiling without network
2009-01-12 17:40:13 +00:00
truebrain
c2406cd42d
(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