Commit Graph

125 Commits

Author SHA1 Message Date
tron
b8da06ddb1 (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
3d9c76d8b8 (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
42d1731cc1 (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
tron
12d252d9bd (svn r3831) Add and use GetRailDepotDirection() 2006-03-12 16:13:16 +00:00
tron
78083f0da7 (svn r3830) Move IsTunnelTile() from tile.h to tunnel_map.h and add IsTunnel(), which just checks for a tunnel, but not the tile type as IsTunnelTile() does 2006-03-12 15:04:03 +00:00
tron
929fae7b68 (svn r3816) Use existing accessors 2006-03-11 09:10:46 +00:00
peter1138
9c7f09322e (svn r3805) - [FS#62] Fix doxygen comments to refer to the correct parameter. (sulai) 2006-03-09 20:37:51 +00:00
tron
fbe939b31f (svn r3783) Replace further ints and magic numbers by Direction, DiagDirection and friends 2006-03-08 06:55:33 +00:00
tron
2d3c28f2b3 (svn r3776) Replace many ints and magic numbers by Direction, DiagDirection and friends 2006-03-06 20:28:28 +00:00
tron
cc4f5b4e6f (svn r3763) Adapt to the new 'map accessors go in foo_map.h'-scheme 2006-03-05 10:19:33 +00:00
tron
13041aa545 (svn r3677) Remove the FindLandscapeHeightByTile()s from the default AI.
The corresponding TileInfos look like global variables at the first glance, but always get written to before reading in each function they are used in.
2006-02-27 08:08:10 +00:00
tron
6a74cb2787 (svn r3660) Convert further road bits and type references to the functions/enums 2006-02-23 12:24:19 +00:00
tron
4b46883751 (svn r3644) Don't use FindLandscapeHeightByTile() when it's overkill - often it was just a complicated way of writing GetTileSlope(tile, NULL) 2006-02-21 07:41:54 +00:00
tron
b13ac1486c (svn r3614) turn 2 do-while-loop with 2 induction variables each into canocical for loops 2006-02-18 14:52:42 +00:00
tron
49c7eb934b (svn r3613) Some more const, indentation, whitespace and similar stuff 2006-02-18 14:41:24 +00:00
peter1138
601b226f04 (svn r3602) - Move _railveh_score data to _rail_vehicle_info->ai_rank and remove global variable to return data as we can now access this directly. 2006-02-13 22:13:02 +00:00
tron
453b30e387 (svn r3564) Several smaller changes:
- Don't treat non-booleans as booleans
- Reduce variable scope
- Bracing
- Use DeMorgan's law to make conditionals easier to read
- if cascade -> switch
- Replace some magic numbers by symbolic names
- Avoid assignments within other statements
2006-02-06 09:18:04 +00:00
tron
84fb96fe85 (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
Darkvater
f3b0de85bf (svn r3481) - Try and fix an svn discrepancy of trolly.h #2 2006-01-29 21:38:24 +00:00
Darkvater
b2fac2e99f (svn r3480) - Try and fix an svn discrepancy of trolly.h 2006-01-29 21:37:39 +00:00
Darkvater
4e09974975 (svn r3472) - [PBS] Remove from trunk. Anyone interested can still find it in branch/pbs. This reverts revisions r3158, r3140, r3075, r2977, r2674, r2625, r2621, r2529, r2528, r2525, r2524, r2519, r2517, r2516, r2507, r2499. (in conjunction with Tron)
- The only change is that the nsignalsw.grf file is kept and that existing nightlies with PBS signals get those signals converted to combo-signals.
2006-01-29 18:57:26 +00:00
tron
af70b49bf7 (svn r3367) Unify the 4 distinct CMD_CHANGE_{AIRCRAFT,ROADVEH,SHIP,TRAIN}_SERVICE_INT commands into one CMD_CHANGE_SERVICE_INT command.
As side effect this is a
-Fix: The default AI tried to change the service intervals of vehicles via the CMD_CHANGE_TRAIN_SERVICE_INT command - regardless of the type of the vehicle - which of course failed for non-trains
2006-01-05 21:35:54 +00:00
tron
e272b03fee (svn r3365) Staticise 36 functions 2006-01-05 12:40:50 +00:00
tron
b06b3e2ca2 (svn r3313) Remove GPMI related changes from trunk
Revisions in detail: 2542, 3226 (partial), 3229, 3231, 3232, 3238, 3242-3245, 3251, 3253, 3260, 3263, 3265, 3266, 3269, 3277, 3278, 3279, 3283 (partial), 3304, 3305, 3306
2005-12-18 12:10:46 +00:00
truelight
6884453b66 (svn r3306) -Fix: forgot sometimes to switch to the right current_player for AIs 2005-12-14 19:21:56 +00:00
truelight
531073bea0 (svn r3305) -Rename: Changed all instances of ottd_ related to the AI to ttai_ 2005-12-14 15:54:23 +00:00
truelight
f94da63a8d (svn r3304) -Add: allow AI-events to see the UID of the command
-Fix: improved the logic of the UID code for AIs
2005-12-14 14:38:23 +00:00
tron
bf98086de8 (svn r3298) Remove unused and write-only variables 2005-12-14 06:28:48 +00:00
tron
23bfc03054 (svn r3297) Staticise 2005-12-14 06:20:23 +00:00
Darkvater
56998926e7 (svn r3294) - Fix: use INVALID_STRING_ID instead of -1.
- Fix: savegames only give back one message, show this by ignoring the first argument. Perhaps make the message more verbose in the future by adding STR_ equivalents next to the already existing debug messages.
2005-12-13 21:21:57 +00:00
truelight
be65f908c8 (svn r3285) -Codechange: Tron was confused by a name, so let's make him happy,
prefixed it with 'tmp', so now we know it is a temp char* :)
2005-12-10 18:50:07 +00:00
truelight
0de260182b (svn r3284) -Fix: DoCommand always cleans up _cmd_text (tnx to Tron) 2005-12-10 18:47:40 +00:00
truelight
ba7cc8e190 (svn r3283) -Fix: decode_parameters was still used, while _cmd_text is the way
-Fix: _cmd_text is cleared after a command, so we need to store it 
  temporaray in order to first test the command, before executing
2005-12-10 18:43:49 +00:00
peter1138
809b03c81a (svn r3282) - Codechange: Replace tests against CMD_ERROR with CmdFailed() 2005-12-10 12:05:39 +00:00
truelight
b6ca90e021 (svn r3279) -Fix: do not try to execute something that is not set to execute
-Fix: do not increase an uid number if it isn't returned
2005-12-09 19:29:11 +00:00
truelight
c872ac4eb4 (svn r3278) -Fix: lets update the tail-pointer if we add a new item, else the linkedlist never grows ;) 2005-12-09 19:12:11 +00:00
truelight
e9e1c4de53 (svn r3277) -Fix: lets use the right DoCommand for testing a build (tnx to Igor2Code) 2005-12-09 17:42:56 +00:00
bjarni
05fbf0ada5 (svn r3272) -Fix: [AI] fixed issue in AI that prevented compilation without network support 2005-12-08 21:12:15 +00:00
truelight
54cb542e1d (svn r3269) -Fix: return CMD_ERROR instead of -1 if AI_DoCommandChecked fails 2005-12-07 14:56:42 +00:00
truelight
4f9bb11846 (svn r3266) -Codechange: added comments for why the revert of r3625 inside the code.
Also, I forgot to tnx GraphiteNL for his help with this problem. Tnx GraphiteNL :)
2005-12-06 17:12:19 +00:00
truelight
af87b2916a (svn r3265) -Fix: partly reverted back r3263, because MSVC, who else, doesn't support variadic macros............ 2005-12-06 17:05:14 +00:00
truelight
a3d142ed57 (svn r3263) -Fix: use () around 'variables' in macros, gives less crashes ;)
-Fix: va-args in macros are supported via __VA_ARGS__ in C99, so changed
       to that; now GCC 2.95 likes it too :)
2005-12-06 11:36:46 +00:00
truelight
0f2a0df165 (svn r3260) -Add: add events for AIs to check if a command execution failed or succeeded 2005-12-05 12:27:58 +00:00
truelight
214ed794a1 (svn r3253) -Add: add BuildRoad event for AIs 2005-12-02 19:21:38 +00:00
truelight
ea9cb3ee5b (svn r3251) -Fix: report errors from GPMI in a more detailed way (Igor2Code) 2005-12-01 09:34:40 +00:00
truelight
480b1575fe (svn r3250) -Fix: AIs weren't uninitialized when a new game was loaded 2005-11-30 16:10:19 +00:00
truelight
44c70c24d3 (svn r3246) -Fix: small glitch in ai_network_client code (network_client.c)
-Fix: make sure this glitch can never happen again (ai.c)
2005-11-29 16:06:06 +00:00
truelight
c963c59b67 (svn r3245) -Add: allow OpenTTD to give his GPMI-params to the GPMI modules 2005-11-29 15:53:15 +00:00
truelight
2eb1c8a215 (svn r3244) -Fix: [GPMI] Even more GPMI based AI-code cleanup, bug fixes, and you can now control the AI that is going to boot 2005-11-28 14:02:36 +00:00
truelight
a2ae8a707c (svn r3242) -Fix: small glitch in AllowAI control 2005-11-27 16:45:45 +00:00
truelight
9a381f4d5d (svn r3238) -Fix: always save if you want GPMI-based AIs, this on request by
Darkvater, so we can, in the future, save patch options in savegames 
without any problems.
2005-11-26 16:18:15 +00:00
Darkvater
728aba9d7c (svn r3236) - Fix: warnings about 'CDECL must be used with ...' on VS6 2005-11-26 12:57:42 +00:00
truelight
8733f49e88 (svn r3232) -Add: implemented the event-system for AIs
-Add: added several hooks (event-callbacks) for road-related-stuff
2005-11-23 15:08:29 +00:00
truelight
4927236912 (svn r3229) -Add: add more GPMI support. Now GPMI-based AIs can be loaded (doesn't change a thing if you didn't enable GPMI) 2005-11-22 22:32:42 +00:00
truelight
6a4ba84320 (svn r3226) -Fix: GPMI implementation had minor glitches
-Fix: the AI speed control is done by the AI-core, individual AIs don't have to do it (so, AIs were delayed twice ;)
-Add: Support for AI-network-clients (an AI, connecting to a remote server)
-Fix: minor AI-core problems
2005-11-22 15:55:38 +00:00
truelight
31f218fdf9 (svn r3224) -Add: Allow the NewAI to work in Multiplayer Games (switchable via patch
settings, off by defaut). An other step to AIScripts.
      WARNING: this is still highly experimental and has known bugs!
2005-11-21 14:28:31 +00:00
tron
3bf8d2ccbb (svn r3190) Turn some loops into canonical for loop form 2005-11-15 11:46:49 +00:00
tron
b9729fb72e (svn r3185) const 2005-11-15 09:00:02 +00:00
tron
f7abff5f96 (svn r3181) -Bracing
-Indentation
-Whitespace
-DeMorgan's Law
-Test with NULL or 0 for non-booleans
-'\0' instead of 0 for chars
-Remove redundantly redundant comments (like DoFoo(); // Do foo)
-Join multiple short lines with a single statement
-Split single lines with multiple statements
-Avoid assignments in if
2005-11-14 19:48:04 +00:00
tron
833032adc0 (svn r3177) GB, CLRBIT, HASBIT, TOGGLEBIT 2005-11-14 08:09:57 +00:00
tron
ee15e3de13 (svn r3172) static, const 2005-11-13 13:43:55 +00:00
tron
e0dd7efc82 (svn r3080) byte -> PlayerID, int -> EngineID, -1 -> INVALID_ENGINE 2005-10-24 05:51:23 +00:00
tron
47137cefb7 (svn r3078) Some more stuff, which piled up:
- const, whitespace, indentation, bracing, GB/SB, pointless casts
- use the trinary operator where appropriate
- data types (uint[] -> AcceptedCargo, ...)
- if cascade -> switch
- if (ptr) -> if (ptr != NULL)
- DeMorgan's Law
- Fix some comments
- 0 -> '\0', change magic numbers to symbolic constants
2005-10-23 13:04:44 +00:00
tron
2cc2154ad2 (svn r3077) static, const, bracing, indentation, 0 -> '\0'/NULL, typos in comments, excess empty lines, minor other changes
nothing spectacular, just some stuff, which piled up
2005-10-22 06:39:32 +00:00
tron
2b91f55b32 (svn r3073) int/byte -> EngineID/PlayerID/VehicleID
0/-1 -> INVALID_ENGINE
0x10 -> OWNER_NONE
2005-10-20 17:43:13 +00:00
tron
d4752ba0da (svn r3058) The default AI may not build dual headed trains under certain circumstances.
Simplify this check by testing the rail vehicle info flags instead of passing a global variable around.
Note: This is not exactly the original behaviour, because the Lev4 was always allowed to be built, but i guess that was a glitch.
2005-10-18 07:01:00 +00:00
tron
9314ea877f (svn r3052) Fix last commit *grml* 2005-10-16 14:12:21 +00:00
tron
0834a88a12 (svn r3051) Remove the unused function RemoteSubsidyAdd() 2005-10-16 14:07:11 +00:00
tron
313fcfbd83 (svn r2973) Move a function declaration somewhere where it belongs 2005-09-23 06:38:36 +00:00
tron
afcb9f0d60 (svn r2972) Fix the speed of the AI 2005-09-23 06:34:06 +00:00
Darkvater
2131f68ae2 (svn r2951) - Fix: [ 1259345 ] Changing engine in netgame opens train window for everyone
- Add IsLocalPlayer() which substitutes _local_player == _current_player
2005-09-14 18:03:38 +00:00
Darkvater
236abb6a6c (svn r2949) The AI no longer needs to 'cheat' to build aircraft; eg it builds them now from a hangar. Also, to query the price of a new aircraft tile information is not needed 2005-09-13 13:30:18 +00:00
truelight
2e87864d0b (svn r2948) -Fix: the old AI needs a special flag that triggers all kind of special
abilities you really don't want to know about (free bridges, etc..)
       I removed this flag some revisions ago, but the Aircraft part
       depends on it, so I re-enabled it again..
2005-09-13 12:19:27 +00:00
truelight
991d5c6234 (svn r2921) -Codechange: moved all AI-code to 1 central place (ai/ai.c)
-Fix: removed the ability for the oldAI to cheat (this will criple him somewhat)
-Add: base-code for many improvements to come in the AI-system
-Add: added base-code for multiplayer AIs (DOES NOT WORK YET!)
2005-09-07 15:10:11 +00:00
truelight
d05f504c01 (svn r2907) -Codechange: splitted the AIs to their own directory. AINew becomes 'trolly', AIOld becomes 'default', both in their own dir in the 'ai' dir. More AIs to come. 2005-09-02 19:10:45 +00:00