Commit Graph

80 Commits

Author SHA1 Message Date
matthijs
e6ade36de1 (svn r7372) - CodeChange: Rename all GetXXXArraySize() functions to GetNumXXX() and add GetMaxXXXIndex() functions. This prepares for the new pool interface. 2006-12-05 13:58:20 +00:00
peter1138
a387b09fc9 (svn r7073) -Feature: Add cargo refit support to both AIs for road vehicles 2006-11-05 22:49:34 +00:00
peter1138
6aa0c247c8 (svn r7070) -Codechange: Make the AI choose road vehicles based on a rating (currently max speed * capacity) instead of either the cost or the index of the vheicle. 2006-11-05 21:50:08 +00:00
KUDr
d7a56088a5 (svn r7069) -Fix: AI tried to build road from the back or side of road stop/depot (peter1138) 2006-11-05 18:42:25 +00:00
peter1138
e10ba5fdc5 (svn r7057) -Codechange: Remove hardcoded lists of road vehicles for each cargo type in favour of just checking the cargo type of each vehicle. 2006-11-03 23:06:54 +00:00
glx
b2c7a408ed (svn r7020) -Fix r6047: AI tries to delete stations that are 'in use' because FOR_ALL_STATIONS skips invalid stations 2006-10-31 17:13:12 +00:00
Darkvater
68c0320be6 (svn r6771) -Codechange: Replace two macros with functions. IS_HUMAN_PLAYER and
IS_INTERACTIVE_PLAYER
2006-10-14 15:15:56 +00:00
Darkvater
544ff2aaf9 (svn r6407) -Fix: Check return values of DoCommand() with CmdFailed and that of DoCommandP
with a boolean type.
2006-09-05 23:43:42 +00:00
Darkvater
7e4d0f112e (svn r6406) -Codechange: Rename TileOffsByDir to TileOffsByDiagDir because it accepts
DiagDirections, and add TileOffsByDir that handles Directions.
-Codechange: Make the treeloop use TileOffsByDir().
2006-09-05 23:21:41 +00:00
tron
d5e5a78cf4 (svn r6353) -Codechange: Make DestinationID a typedef of uin16, which is as large as any type of destinataion (StationID, DepotID, WaypointID) it can hold
DestinationID being a union of these types is just hassle without benefit and cannot be handled correctly everywhere because of local lack of information
2006-09-03 08:25:27 +00:00
Darkvater
6919e7f8ea (svn r6280) -Codechange: Use the same naming for trains as for other vehicles:
CMD_SEND_TRAIN_TO_DEPOT instead of CMD_TRAIN_GOTO_DEPOT
2006-08-31 15:57:38 +00:00
rubidium
86dc219b4b (svn r6204) -Cleanup: replace non-indentation with spaces; like '}<TAB>else {' -> '} else {', tabs between code and comment, etc. 2006-08-28 18:53:03 +00:00
truelight
65f5ec13f6 (svn r6142) -Codechange: added WaypointID (sorry DV, couldn't splits it anymore)
-Codechange: introduced DestinationID, which is in fact an union of several types
  Used in Order struct, so no longer StationID is abused for all targets.
  Hangars are a big exception, as they use a station-id with GOTO_DEPOT (go figure)
2006-08-26 16:34:03 +00:00
truelight
a21b2750bd (svn r6057) -Codechange: made a function GetRandomXXX, that _always_ returns a valid XXX, unless there are none to pick from. Then NULL is returned. 2006-08-22 21:14:45 +00:00
truelight
15aff22c96 (svn r6055) -Codechange: added GetXXXArraySize, which returns HighestID + 1 (or, will do that).
It isn't the best name, but we couldn't find any better.
  This unifies the pool-system even more.
2006-08-22 20:41:26 +00:00
truelight
505566da5c (svn r6047) -Codechange: FOR_ALL now _only_ loops valid items, and skips invalid ones
-Codechange: use IsValidXXX where ever possible
  Note: both changes to prepare for new pool system, which needs those changes.
  For every pool there are 2 ugly lines, which will be removed when done
  implementing new pool system.
  Based on FS#13 by blathijs, partly implemented.
2006-08-22 15:33:35 +00:00
rubidium
908d3bcfe6 (svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct. 2006-08-22 14:38:37 +00:00
truelight
447f67ca6f (svn r6043) -Codechange: use wrapper if they are available 2006-08-22 12:15:51 +00:00
rubidium
b7a3352009 (svn r5975) -Cleanup: use ORIGINAL_BASE_YEAR & ORIGINAL_MAX_YEAR where the functions really depend on the original date format.
-Cleanup: use DAYS_TILL_ORIGINAL_BASE_YEAR where the date variables are in the old date format and conversions are needed.
-Cleanup: replace one (forgotten) instance of uint16 with Date.
2006-08-20 12:39:17 +00:00
rubidium
9fc837ad85 (svn r5887) -Cleanup: move date related functions, defines and variables to date.[ch]
-Cleanup: fix whitespace related coding style issues in date.[ch]
-Cleanup: make original comments doxygen compatible and remove/change outdated comments
2006-08-14 14:21:15 +00:00
tron
772fbda3e3 (svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular 2006-06-27 21:25:53 +00:00
tron
aedb7f0112 (svn r5263) Use the flag which denotes if it's a plane or helicopter instead of magical engine numbers 2006-06-14 11:26:56 +00:00
KUDr
b84494d7f0 (svn r5228) Suppress MSVC warnings about signed/unsigned comparison 2006-06-11 21:19:51 +00:00
tron
4ab56f465c (svn r5222) Misc. smaller changes, mostly const, variable scope and replacing some magic numbers by enums 2006-06-11 07:17:43 +00:00
tron
a2362674e3 (svn r5210) Many small changes which piled up: const, unsigned, variable scope, CSE for readability, DeMorgan, if cascades -> switch, whitespace, parentheses, bracing, misc. 2006-06-10 08:37:41 +00:00
tron
7fd88e5798 (svn r5155) - Remove the bridge branch merge (revision r5070) 2006-06-07 19:35:21 +00:00
tron
3e696786bb (svn r5129) Accommodate the default AI for the new railtype: It used hard coded numbers instead of enums to calculate prices 2006-06-05 15:47:08 +00:00
tron
edfd4e63e1 (svn r5128) Remove the global variable _cur_ai_player 2006-06-05 15:29:47 +00:00
tron
028e5ad512 (svn r5127) Use IsRoadVehInDepotStopped() and IsAircraftInHangarStopped() 2006-06-05 14:54:23 +00:00
tron
9ee944cabb (svn r5094) Remove _new_{aircraft,roadveh,ship,train,wagon}_id. _new_vehicle_id is enough. 2006-06-04 09:28:33 +00:00
celestar
b618b75c9b (svn r5070) Merged the bridge branch
-Feature: Bridges can now be placed above:
	Any railway track combination (excluding depots and waypoints)
	Any road combination (excluding depots)
	Clear tiles (duh), including fields
	Tunnel entrances
	Bridge heads

Thanks to Tron for idea and implementation, KUDr for the yapf synchronization and many others for hours of testing

There are still a number of visual problems remaining, especially when electric railways are on or under the bridge.
DO NOT REPORT THOSE BUGS FOR THE TIME BEING please.
2006-06-02 13:05:41 +00:00
tron
b5f433bf4c (svn r4918) Move the information about the size of airports from an global array into the struct which describes an airport 2006-05-20 15:13:27 +00:00
celestar
586336dfa7 (svn r4911) -Fix (FS#156): The Ai no longer attempts to build signals under bridges.
NOTE 1: Remove/revert this for the bridge branch
			   NOTE 2: Bug displays fundamental flaw in command system:
			           If two commands, where command 2 depends on command 1, have
			           to be checked, all those checks need to be manual.
			           (like in this example, first build rail then build signal.
			            BuildSignal cannot be checked without DC_EXEC as the rail
			            isn't there yet)
2006-05-19 12:08:01 +00:00
rubidium
2a337ab009 (svn r4789) - Codechange: rename RoadType to RoadTileType and ROAD_{NORMAL,CROSSING,DEPOT} to ROAD_TILE_* for consistency 2006-05-09 08:25:31 +00:00
rubidium
3dae1a9bba (svn r4788) - Codechange: RAILTYPE_{NORMAL,ELECTRIC,...} and RAIL_TYPE_{NORMAL,SIGNAL,...} have nearly the same name, rename RAIL_TYPE_* to RAIL_TILE_* of extra clarity 2006-05-09 08:17:33 +00:00
tron
aac74778c5 (svn r4553) int and magic numbers -> Slope and DiagDirection 2006-04-23 19:08:33 +00:00
celestar
e3fb01a350 (svn r4502) -Cleanup: Remove code unused since rev1. (Rubidium) 2006-04-21 17:51:01 +00:00
tron
35e93e451f (svn r4342) Change the first two parameters of commands - virtual pixel coordinates of the tile to operate on - to a TileIndex
Remove DoCommandByTile(), because now it does the same as DoCommand()
2006-04-10 07:15:58 +00:00
belugas
c146c8b667 (svn r4318) CodeChange : Remove last direct map access on ai/default/default.c 2006-04-08 01:07:32 +00:00
celestar
c442586676 (svn r4154) -Moved MAX_BRIDGES in bridge.h and made it an enum. This makes two drops ... 2006-03-29 19:03:47 +00:00
celestar
6c44bf5012 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas. 2006-03-29 16:30:26 +00:00
Darkvater
f77bb24d93 (svn r4132) - Missed 3 CargoID's 2006-03-26 22:56:58 +00:00
Darkvater
e91fa54a15 (svn r4128) - CodeChange: Add proper semantics for CargoID for such variables instead of using the general byte-type. 2006-03-26 22:23:32 +00:00
tron
c40740e058 (svn r4120) Use the new station functions where appropriate 2006-03-26 19:20:15 +00:00
tron
369cba3230 (svn r4116) -Fix: The AI should send a plane into a hangar if it's not in a hangar _or_ not stopped, not when it's not in a hangar _and_ not stopped 2006-03-26 18:48:23 +00:00
tron
f6285a659c (svn r4079) Add GetSation{Index,ByTile}() to get the station index resp. the station from a tile 2006-03-24 08:55:08 +00:00
tron
a90e46bf03 (svn r3981) More work for the rail accessing functions and enums 2006-03-19 13:48:08 +00:00
tron
6e988259a4 (svn r3907) Replace many bridge related direct map accesses with calls to shiny new functions and mark some strange constructs with XXX 2006-03-16 15:16:27 +00:00
tron
626109f3f9 (svn r3887) Add a function to get the other bridge end when you're at a bridge ramp 2006-03-15 16:44:50 +00:00
tron
273533d4c7 (svn r3857) Add and use GetBridgeRampDirection()
Note: This slightly changes the behavior of GetAnyRoadBits() to only return a road piece for the start of the bridge ramp instead of a full ROAD_[XY]
2006-03-14 12:00:11 +00:00