mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-08-27 08:29:11 +00:00
Compare commits
1 Commits
1.1.0-RC3
...
1.1.0-beta
Author | SHA1 | Date | |
---|---|---|---|
|
41e8be2835 |
@@ -319,5 +319,3 @@ AIIndustry.IsCargoAccepted <- function(industry_id, cargo_id)
|
|||||||
AIAbstractList <- AIList;
|
AIAbstractList <- AIList;
|
||||||
|
|
||||||
AIList.ChangeItem <- AIList.SetValue;
|
AIList.ChangeItem <- AIList.SetValue;
|
||||||
|
|
||||||
AIRail.ERR_NONUNIFORM_STATIONS_DISABLED <- 0xFFFF;
|
|
||||||
|
@@ -70,5 +70,3 @@ AIIndustry.IsCargoAccepted <- function(industry_id, cargo_id)
|
|||||||
AIAbstractList <- AIList;
|
AIAbstractList <- AIList;
|
||||||
|
|
||||||
AIList.ChangeItem <- AIList.SetValue;
|
AIList.ChangeItem <- AIList.SetValue;
|
||||||
|
|
||||||
AIRail.ERR_NONUNIFORM_STATIONS_DISABLED <- 0xFFFF;
|
|
||||||
|
@@ -15,6 +15,3 @@ regression =
|
|||||||
[vehicle]
|
[vehicle]
|
||||||
road_side = right
|
road_side = right
|
||||||
plane_speed = 2
|
plane_speed = 2
|
||||||
|
|
||||||
[construction]
|
|
||||||
max_bridge_length = 100
|
|
||||||
|
@@ -7108,7 +7108,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
|||||||
IsBuoyTile(): true
|
IsBuoyTile(): true
|
||||||
IsLockTile(): true
|
IsLockTile(): true
|
||||||
IsCanalTile(): true
|
IsCanalTile(): true
|
||||||
GetBankBalance(): 465257
|
GetBankBalance(): 461507
|
||||||
|
|
||||||
--AIWaypointList(BUOY)--
|
--AIWaypointList(BUOY)--
|
||||||
Count(): 1
|
Count(): 1
|
||||||
@@ -7127,7 +7127,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
|||||||
IsBuoyTile(): false
|
IsBuoyTile(): false
|
||||||
IsLockTile(): false
|
IsLockTile(): false
|
||||||
IsCanalTile(): false
|
IsCanalTile(): false
|
||||||
GetBankBalance(): 459862
|
GetBankBalance(): 456112
|
||||||
BuildWaterDepot(): true
|
BuildWaterDepot(): true
|
||||||
BuildDock(): true
|
BuildDock(): true
|
||||||
|
|
||||||
|
Binary file not shown.
128
changelog.txt
128
changelog.txt
@@ -1,131 +1,3 @@
|
|||||||
1.1.0-RC3 (2011-03-18)
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
- Fix: New game settings were applied to early when starting a game via a heightmap. [FS#4557] (r22259)
|
|
||||||
- Fix: Do not resort town, industry and signs list directly in OnInvalidateData(). There might be a scheduled rebuild which needs execution first. So, only set a trigger for resorting [FS#4546] (r22249, r22248, r22247, r22246, r22245, r22244, r22243, r22242, r22241, r22236, r22228, r22227, r22226)
|
|
||||||
- Fix: [NewGRF] Object variable 0x48 was not available in callback 0x15C (r22231)
|
|
||||||
- Fix: Compilation when compiling with --disable-ai (r22222)
|
|
||||||
- Fix: When downloading a file via HTTP failed mid-way and OpenTTD fell back to the old system the partial downloaded amount would be counted twice [FS#4543] (r22208)
|
|
||||||
- Fix: The 'center' (for movement) of vehicles is (currently still) always at 4/8th original vehicle length from the front, so trains should stop at the same location regardless of the length of the front engine [FS#4545] (r22206)
|
|
||||||
- Fix: Make the base costs for building and demolishing NewObjects also local to the individual NewGRFs (r22204)
|
|
||||||
- Fix: Removing a station order could stop when removing first automatic order (r22200)
|
|
||||||
- Fix: Invalidate the object build window when using the date cheat (r22193)
|
|
||||||
|
|
||||||
|
|
||||||
1.1.0-RC2 (2011-03-04)
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
- Fix: Following a vehicle with a very high VehicleID was impossible (r22181)
|
|
||||||
- Fix: [NewGRF] Memory leak if an industry NewGRF had more than one prop A or 15, or a station NewGRF had more than one prop 09 (r22175, r22165)
|
|
||||||
- Fix: [NewGRF] Disable a station NewGRF when it contains an unterminated spritelayout in action0 prop 08 instead of crashing (r22164)
|
|
||||||
- Fix: Building a station part adjacent to both an existing station and a rail waypoint failed [FS#4541] (r22163)
|
|
||||||
- Fix: No update of NewGRF window when unknown GRF name becomes available [FS#4533] (r22162)
|
|
||||||
- Fix: [NewGRF] Industry prop 0x11 is 4-bytes long, not 3 bytes (r22157)
|
|
||||||
- Fix: Stations/infrastructure were not properly sold on some clients during bankruptcy [FS#4529] (r22154)
|
|
||||||
- Fix: The Greek translation did not work as it breached the 200.000 bytes 'limit' for loading language files [FS#4536] (r22153)
|
|
||||||
- Fix: Windows video driver crashed when it could not go to full screen at the resolution of the configuration file when starting OpenTTD [FS#4521] (r22149)
|
|
||||||
- Fix: Do not run savegame conversion during SlNullPointers; the pointer might not be converted or be NULL at that point (r22146)
|
|
||||||
- Fix: Some valid keycodes were ignored along with the invalid ones (r22142)
|
|
||||||
- Fix: When commands need to invalidate windows, process these events asynchronously before the next redraw. Calling window code directly from command scope uses wrong _current_company and might issue nested DoCommands() which interfer with the running command [FS#4523] (r22141, r22140, r22135, r22134)
|
|
||||||
- Fix: [NewGRF] Skipping only the invalid part of an action14 failed, the rest of the action was skipped instead (r22138)
|
|
||||||
- Fix: Spectators had crashes when closing buoy windows (r22131)
|
|
||||||
- Fix: Build-station-window showed wrong selection when reopening [FS#4530] (r22128)
|
|
||||||
- Fix: Canals would get drawn as land in the smallmap when using the owner window (r22127)
|
|
||||||
- Fix: The animation-ness of two goldmine tiles were swapped, causing the wheeltower to not work properly, and the bottom corner to show the wrong sprite [FS#4528] (r22125)
|
|
||||||
- Fix: CommandQueue::Pop() did not update 'last'; popping the last item caused the queue to disconnect unless there was only one item [FS#4522] (r22123)
|
|
||||||
- Fix: When a NOT_REACHED in saveload can be reached due to an invalid savegame, use SlErrorCorrupt instead. In other words, do not crash but show an error message (r22122)
|
|
||||||
- Fix: In case of high frame_freq one could get commands executed after a new network game was started (r22121)
|
|
||||||
- Fix: [NoAI] Prevent AIs from getting consistently over their allowed amount of operations by subtracting the amount they went over 'budget' from the budget for the next 'tick' (r22120)
|
|
||||||
- Fix: The refit window was not correctly updated after selecting with Ctrl+Click [FS#4525] (r22118)
|
|
||||||
- Fix: CanRemoveRoadWithStop() failed for _current_company = OWNER_TOWN, and for OWNER_NONE-owned road (r22117)
|
|
||||||
|
|
||||||
|
|
||||||
1.1.0-RC1 (2011-02-18)
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
- Feature: [NewGRF] Test all possible industry layouts during construction and prospecting [FS#4131] (r22012, r22010)
|
|
||||||
- Feature: Wheel scrolling in the console (r21982)
|
|
||||||
- Feature: Console command to reset the engine pool. It removes the traces of engines which are no longer associated to a NewGRF, and can be used to e.g. 'fix' scenarios which were screwed up by the author. You can only use it when there are no vehicles in the game though (r21975)
|
|
||||||
- Feature: Add a setting to enable/disable funding local road reconstruction (r21974)
|
|
||||||
- Feature: Introduce 'minimal' number of industries as a replacment for the old 'none' setting in the new game window (r21969)
|
|
||||||
- Change: When loading old savegames with long trains set the maximum train length to the length of the longest train (r22061)
|
|
||||||
- Change: Always report mammoth trains are disabled to NewGRFs, and allow the maximum train length to be modified in multiplayer as well [FS#4471] (r22004)
|
|
||||||
- Fix: Remove invalid keycodes when reading hotkeys.cfg [FS#4510] (r22094)
|
|
||||||
- Fix: The server list did not get sorted with one item in it, so the 'position in the list' variable was never updated causing problems when using the keyboard shortcuts for scrolling [FS#4514] (r22093)
|
|
||||||
- Fix: When deleting towns, only relocate objects during DC_EXEC (r22087)
|
|
||||||
- Fix: [Windows] If fullscreen fails with current resolution, use desktop resolution [FS#4489] (r22081)
|
|
||||||
- Fix: The owner view of the smallmap was not updated after a company colour change (r22079)
|
|
||||||
- Fix: Maximum train length interfered with wagon replacement when wagon removal was turned on [FS#4499] (r22078)
|
|
||||||
- Fix: NewGRFs with invalid multi-tile houses could cause a valid 1x1 house following it to be seen as multi-tile, causing crashes [FS#4501] (r22075)
|
|
||||||
- Fix: Immediately update the train weight when you change the multiplier for train cargo weight (r22073)
|
|
||||||
- Fix: Some hotkey names in hotkey.cfg for the scenario editor toolbar were completely bogus (r22071)
|
|
||||||
- Fix: Crashes when disconnecting after requesting the map [FS#4503] (r22070)
|
|
||||||
- Fix: Delete all savegame packets, not just the first one (r22069)
|
|
||||||
- Fix: Return 'connection lost' instead of 'okay' when SendPackets closed the connection, so we do not try to do anything else with the closed socket (r22068)
|
|
||||||
- Fix: Do not hold a mutex when sending packets and thus possibly closing the connection as that wants to acquire the mutex again (r22067)
|
|
||||||
- Fix: Verify we can allocate an Order, OrderList, CargoPacket, CargoPayment, and others before we actually try to do so (all corner cases) [FS#4468] (r22066, r22057, r22047, r22042, r22040, r22033, r22031, r22026, r22025, r22024, r22023, r22022)
|
|
||||||
- Fix: Crash when disconnecting and reconnecting while the server is still saving the savegame [FS#4497] (r22064)
|
|
||||||
- Fix: Memory leak when saving with LZMA or zlib fails mid-way (r22062)
|
|
||||||
- Fix: Make the send chat message window follow the position of the status bar (r22059)
|
|
||||||
- Fix: Metric and imperial HP are not the same. As imperial HP are used internally, set a conversion rate for metric HP [FS#4408] (r22056)
|
|
||||||
- Fix: [Squirrel] Some invalid squirrel code caused the squirrel compiler to crash [FS#4490] (r22055)
|
|
||||||
- Fix: The land area information window was not updated after a language change (r22053)
|
|
||||||
- Fix: Roads under road stops would get a wrong owner after overbuilding (r22051)
|
|
||||||
- Fix: In ancient savegames, e.g. TTO savegames, non primary vehicles (wagons and such) could have unitnumbers or even orders. However, these orders would not be updated when a station is removed. As such some savegames have wagons with current orders to invalid stations which triggers trouble in the load conversion. So, trash any orders/unitnumbers a non-primary vehicle has [FS#4496] (r22050)
|
|
||||||
- Fix: [NewGRF] Company 0 does not always exist, so put temporary vehicles in a valid company (r22048)
|
|
||||||
- Fix: Make sure order indices stay in range when copying, sharing, unsharing or deleting all orders [FS#4487] (r22046)
|
|
||||||
- Fix: Update the consist cache when a part of a train is flipped in the depot [FS#4493] (r22044)
|
|
||||||
- Fix: Invalidate the right windows when a part of a train is flipped in the depot (r22043)
|
|
||||||
- Fix: Tab completion in chat did not cycle through all possible options (r22038)
|
|
||||||
- Fix: Crash when watching the vehicle view of a vehicle that has multiple sequential nearest depot orders (or consists of a single nearest depot order) when there is no depot with index 0 [FS#4488] (r22034)
|
|
||||||
- Fix: The server list got not resorted/redrawn after NewGRFs were downloaded [FS#4482] (r22029)
|
|
||||||
- Fix: When paused and having the allowed actions while paused setting on 'no actions' cheating money would fail [FS#4479] (r22016)
|
|
||||||
- Fix: Only show one AI per unique ID instead of all versions in the output of 'openttd -h' (r22007)
|
|
||||||
- Fix: Smoke/sparks of trains would be shown under bridges, or rather through bridges [FS#4480] (r22006)
|
|
||||||
- Fix: When the difference between force and resistance is smaller than the mass(*4) there would be no acceleration anymore, even when at higher (or lower) speed the force and resistance balance out better [FS#4473] (r21997)
|
|
||||||
- Fix: [YAPF] Under some circumstances vehicles could be lost [FS#4472] (r21996)
|
|
||||||
- Fix: [NewGRF] Make computations of closest-land/water-distances handle waterish tiles more correctly (r21994)
|
|
||||||
- Fix: When building a lock on dry land costs for clearing water were deducted rather than for building canals (r21993)
|
|
||||||
- Fix: AIs trying to change the AIOF_GOTO_NEAREST_DEPOT flag for existing orders triggered an assert. Explicitly forbid this as precondition for SetOrderFlags [FS#4467] (r21992)
|
|
||||||
- Fix: The share/copy-orders-cursor was not updated to refer to the new vehicle when it got autoreplaced/-renewed [FS#4466] (r21991)
|
|
||||||
- Fix: Vehicle status bar glitches on speed changes (r21989)
|
|
||||||
- Fix: Scrolling of the console in pages used wrong line height and scrolled too much (r21979)
|
|
||||||
- Fix: Redraw the town authority window after modifying town authority settings (r21973)
|
|
||||||
- Fix: Crash when a multiplayer company goes bankrupt with 'you' in it [FS#4464] (r21970)
|
|
||||||
|
|
||||||
|
|
||||||
1.1.0-beta5 (2011-02-04)
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
- Feature: GUI setting to disable reversing at signals (r21962)
|
|
||||||
- Feature: Not loading and not unloading is now possible (r21961)
|
|
||||||
- Change: [NewGRF] Disable the flipping of train engines/wagons in the depot by default for NewGRFs [FS#4462] (r21966)
|
|
||||||
- Change: Show the length of vehicles in tiles, instead of half tiles in the depot (r21960)
|
|
||||||
- Change: Replace longbridges settings with custom maximum bridge and tunnel length setting (r21959)
|
|
||||||
- Change: Randomize the vehicle a small UFO targets, do not use the one with lowest index (r21949)
|
|
||||||
- Fix: Do not count the number of vehicles but the length of vehicles to (configurably) limit train length [FS#4461] (r21960)
|
|
||||||
- Fix: [NewGRF] Reset the carry flag every 4 bytes in Action 6 when adding more than one variable (r21951)
|
|
||||||
- Fix: Road vehicle was moved under the bridge when it was destroyed by an UFO while on a bridge (r21948)
|
|
||||||
- Fix: Crash when converting a savegame with vehicles crashed in a tunnel entry, or with vehicles reversing there (r21947)
|
|
||||||
- Fix: Funny behaviour when a road vehicle reverses while overtaking, so abort the overtake attempt when reversing the road vehicle [FS#4447] (r21946)
|
|
||||||
- Fix: Not all vehicles should be tested to be inside a tunnel upon savegame load [FS#4460] (r21940)
|
|
||||||
- Fix: Do not remove existing road/tram bits when overbuilding stops of the opposite road type [FS#4457] (r21936)
|
|
||||||
- Fix: Allow to overbuild road stops which are built over trams (r21935)
|
|
||||||
- Fix: Automatic orders behave now stable wrt. service orders and are not added or removed depending on the need of servicing [FS#4440] (r21933)
|
|
||||||
- Fix: The town window would not be invalidated in the scenario editor if the ground changed and thus the required cargos for town growth [FS#4554] (r21929)
|
|
||||||
- Fix: Converting an expensive rail type to a cheap one could give more money than removing and rebuilding cost (r21919)
|
|
||||||
- Fix: Languages improperly sorted in the 'start server' window [FS#4443] (r21918)
|
|
||||||
- Fix: The minimum speed needed for (realistic) acceleration to work properly can sometimes be more than the (temporary) maximum speed causing Clamp to 'fail'. Make sure that the minimum speed always overrules the maximum speed [FS#4442] (r21916)
|
|
||||||
- Fix: Include the capacity of non-refittable vehicles in the refitted-capacity, if their cargo matches (r21904)
|
|
||||||
- Fix: Do not count articulated parts when passing the number of vehicles to refit to the command. That may exceed 8 bits (r21902)
|
|
||||||
- Fix: [NoAI] Hide automatic orders from AIs as they have no way of dealing with them (r21900)
|
|
||||||
- Fix: Do not show a vehicle selection in the RefitWindow for refit orders. You cannot select anything anyway (r21899)
|
|
||||||
- Fix: Using a pointer-iterator and adding things (thus reallocating) to the iterated array caused OpenTTD to crash on invalid pointers [FS#4438] (r21898)
|
|
||||||
- Fix: Only some scenarios from the main scenario folder and no heightmaps could be started in the 'start server' window [FS#4421] (r21892)
|
|
||||||
- Fix: Crash when scrolling outside of the main window (with some video backends) [FS#4434] (r21889)
|
|
||||||
- Fix: [NewGRF] String codes 0x80 and 0x81 were broken since the typechecking of string parameters [FS#4422] (r21885)
|
|
||||||
- Fix: When a train after reversing ended at the last bit of a bridge ramp and directed outside the bridge, it could still have track set to TRACK_BIT_WORMHOLE (r21880)
|
|
||||||
- Fix: When a single-vehicle train was reversed while on a slope, its GOINGUP/DOWN were not swapped (r21874)
|
|
||||||
- Remove: Settings for vehicle speed in the vehicle view, long date in status bar, drawing of bridge pillars, support for depot orders, time tabling and joining of stations upon building (r21958, r21957, r21956, r21955, r21954)
|
|
||||||
- Remove: The non-uniform stations setting; it has been broken for over a year, and thus not used [FS#4456] (r21953)
|
|
||||||
|
|
||||||
|
|
||||||
1.1.0-beta4 (2011-01-21)
|
1.1.0-beta4 (2011-01-21)
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
- Feature: [NewGRF] Rail type property to influence sorting of rail types in the drop down list [FS#4394] (r21866)
|
- Feature: [NewGRF] Rail type property to influence sorting of rail types in the drop down list [FS#4394] (r21866)
|
||||||
|
18
config.lib
18
config.lib
@@ -6,13 +6,8 @@
|
|||||||
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
log() {
|
log() {
|
||||||
if [ $1 = "1" ]; then
|
if [ $1 = "1" ]; then echo "$2"; fi
|
||||||
shift
|
echo "$2" >> $config_log
|
||||||
echo "$@"
|
|
||||||
else
|
|
||||||
shift
|
|
||||||
fi
|
|
||||||
echo "$@" >> $config_log
|
|
||||||
}
|
}
|
||||||
|
|
||||||
set_default() {
|
set_default() {
|
||||||
@@ -460,7 +455,6 @@ detect_params() {
|
|||||||
|
|
||||||
# Clean the logfile
|
# Clean the logfile
|
||||||
echo "" > $config_log
|
echo "" > $config_log
|
||||||
log 2 "Invocation: $0 $*"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
save_params() {
|
save_params() {
|
||||||
@@ -537,7 +531,7 @@ check_params() {
|
|||||||
check_build
|
check_build
|
||||||
check_host
|
check_host
|
||||||
|
|
||||||
# Check for universal builds; they only make sense for OSX, so fail if enabled for another OS
|
# Check for universal builds; they only make sense for OSX, so fail if enabled for another OS
|
||||||
if [ "$enable_universal" = "0" ]; then
|
if [ "$enable_universal" = "0" ]; then
|
||||||
log 1 "checking universal build... no"
|
log 1 "checking universal build... no"
|
||||||
else
|
else
|
||||||
@@ -2271,12 +2265,6 @@ detect_sdl() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$os" = "OSX" ]; then
|
|
||||||
log 1 "WARNING: sdl is known to fail on some versions of Mac OS X"
|
|
||||||
log 1 "WARNING: with some hardware configurations. Use at own risk!"
|
|
||||||
sleep 5
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$with_sdl" = "1" ] || [ "$with_sdl" = "" ] || [ "$with_sdl" = "2" ]; then
|
if [ "$with_sdl" = "1" ] || [ "$with_sdl" = "" ] || [ "$with_sdl" = "2" ]; then
|
||||||
sdl_config="sdl-config"
|
sdl_config="sdl-config"
|
||||||
else
|
else
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
Multiplayer manual for OpenTTD
|
Multiplayer manual for OpenTTD
|
||||||
Last updated: 2011-02-16
|
Last updated: 2011-01-20
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
@@ -17,12 +17,6 @@ Table of contents
|
|||||||
|
|
||||||
1.0) Starting a server
|
1.0) Starting a server
|
||||||
---- -----------------
|
---- -----------------
|
||||||
- Make sure that you have your firewall of the computer as well as possible
|
|
||||||
routers or modems of the server configured such that:
|
|
||||||
* port 3979 is free for both UDP and TCP connections in- and outgoing
|
|
||||||
* port 3978 is free outbound for UDP in order to advertise with the master
|
|
||||||
server (if desired). Otherwise you'll have to tell players your IP.
|
|
||||||
* port 3977 if use of the admin interface is desired (see admin_network.txt)
|
|
||||||
- Click "multiplayer" on the startup screen
|
- Click "multiplayer" on the startup screen
|
||||||
- Click "start server"
|
- Click "start server"
|
||||||
- Type in a game name
|
- Type in a game name
|
||||||
@@ -212,8 +206,7 @@ Table of contents
|
|||||||
6.0) Troubleshooting
|
6.0) Troubleshooting
|
||||||
---- ---------------
|
---- ---------------
|
||||||
- My advertising server does not show up in list at servers.openttd.org
|
- My advertising server does not show up in list at servers.openttd.org
|
||||||
Run openttd with the '-d net=2' parameter. That will show which incoming
|
Run openttd with the '-d net=2' parameter, as this will show whether it
|
||||||
communication is received, whether the replies from the master server or
|
receives replies from the master server. If it does not receive replies it
|
||||||
communication from an admin tool reach the programme. See section 1
|
is most likely that you need to configure your router to forward ports
|
||||||
'Starting a server' further up for the ports and protocols used by OpenTTD.
|
3979 (both TCP and UDP) to the computer that is hosting the game.
|
||||||
The ports can be configured in the config file.
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
OpenTTD's known bugs
|
OpenTTD's known bugs
|
||||||
Last updated: 2011-03-18
|
Last updated: 2011-01-21
|
||||||
Release version: 1.1.0-RC3
|
Release version: 1.1.0-beta4
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ officially supporting Mac OS X again. For now it remains unsupported and
|
|||||||
we only apply bug fixes provided by the community but we are unable to fix
|
we only apply bug fixes provided by the community but we are unable to fix
|
||||||
these bugs ourselves.
|
these bugs ourselves.
|
||||||
|
|
||||||
- 4420 [OSX] OS' mouse pointer still shows
|
- 3447 [OSX] SDL port is unuseable
|
||||||
- 2484 [OSX] Cannot enter CJK characters
|
- 2484 [OSX] Cannot enter CJK characters
|
||||||
|
|
||||||
2.1) Known bugs that will not be solved
|
2.1) Known bugs that will not be solved
|
||||||
@@ -212,15 +212,6 @@ OpenTTD not properly resizing with SDL on X [FS#3305]
|
|||||||
and GNOME's. With the XFCE's and LXDE's window managers the resize
|
and GNOME's. With the XFCE's and LXDE's window managers the resize
|
||||||
event is sent when the user releases the mouse.
|
event is sent when the user releases the mouse.
|
||||||
|
|
||||||
Incorrect colours, crashes upon exit, debug warnings and smears upon
|
|
||||||
window resizing with SDL on Mac OS X [FS#3447]
|
|
||||||
Video handling with (lib)SDL under Mac OS X is known to fail on some
|
|
||||||
versions of Mac OS X with some hardware configurations. Some of the
|
|
||||||
problems happen only under some circumstances whereas others are
|
|
||||||
always present.
|
|
||||||
We suggest that the SDL video/sound backend is not used for OpenTTD
|
|
||||||
in combinations with Mac OS X.
|
|
||||||
|
|
||||||
Train crashes entering same junction from block and path signals [FS#3928]
|
Train crashes entering same junction from block and path signals [FS#3928]
|
||||||
When a train has reserved a path from a path signal to a two way
|
When a train has reserved a path from a path signal to a two way
|
||||||
block signal and the reservation passes a path signal through the
|
block signal and the reservation passes a path signal through the
|
||||||
|
@@ -1,27 +1,3 @@
|
|||||||
openttd (1.1.0~RC3) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release 1.1.0-RC3
|
|
||||||
|
|
||||||
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 18 Mar 2011 22:00:00 +0100
|
|
||||||
|
|
||||||
openttd (1.1.0~RC2) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release 1.1.0-RC2
|
|
||||||
|
|
||||||
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 04 Mar 2011 22:00:00 +0100
|
|
||||||
|
|
||||||
openttd (1.1.0~RC1) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release 1.1.0-RC1
|
|
||||||
|
|
||||||
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 18 Feb 2011 22:00:00 +0100
|
|
||||||
|
|
||||||
openttd (1.1.0~beta5) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release 1.1.0-beta5
|
|
||||||
|
|
||||||
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 04 Feb 2011 22:00:00 +0100
|
|
||||||
|
|
||||||
openttd (1.1.0~beta4) unstable; urgency=low
|
openttd (1.1.0~beta4) unstable; urgency=low
|
||||||
|
|
||||||
* New upstream release 1.1.0-beta4
|
* New upstream release 1.1.0-beta4
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
set OPENTTD_VERSION=1.1.0-RC3
|
set OPENTTD_VERSION=1.1.0-beta4
|
||||||
set OPENSFX_VERSION=0.8.0
|
set OPENSFX_VERSION=0.8.0
|
||||||
set NOSOUND_VERSION=0.8.0
|
set NOSOUND_VERSION=0.8.0
|
||||||
set OPENGFX_VERSION=0.7.0
|
set OPENGFX_VERSION=0.7.0
|
||||||
|
@@ -1,6 +0,0 @@
|
|||||||
# the man page is in the subpackage data
|
|
||||||
addFilter("openttd.*: W: no-manual-page-for-binary openttd")
|
|
||||||
# no other package depends on this package, so this should not matter
|
|
||||||
addFilter("openttd.*: W: file-contains-date-and-time /usr/bin/openttd")
|
|
||||||
addFilter("openttd.*: W: file-contains-current-date /usr/bin/openttd")
|
|
||||||
|
|
@@ -1,100 +0,0 @@
|
|||||||
-------------------------------------------------------------------
|
|
||||||
Sun Mar 6 09:36:55 UTC 2011 - ammler@openttdcoop.org
|
|
||||||
|
|
||||||
- upstream update 1.1.0-RC2
|
|
||||||
* Feature: XZ/LZMA2 savegame support. New default reduces
|
|
||||||
savegame size by 10 to 30% with slightly more CPU usage.
|
|
||||||
(requires xz-devel)
|
|
||||||
* Feature: Remote administration
|
|
||||||
* Feature: a lot improvements with GUI
|
|
||||||
* Feature: Customizable hotkeys
|
|
||||||
* Sources for openttd.grf are pngs (requires grfcodec >= 5.1)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Sun Nov 21 11:11:38 UTC 2010 - ammler@openttdcoop.org
|
|
||||||
|
|
||||||
- upstream update 1.0.5
|
|
||||||
* Fix: Reading (very) recently freed memory [CVE-2010-4168]
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Sun Oct 31 17:53:41 UTC 2010 - ammler@openttdcoop.org
|
|
||||||
|
|
||||||
- upstream update 1.0.4
|
|
||||||
* build openttd.grf from source
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Aug 10 20:16:03 UTC 2010 - ammler@openttdcoop.org
|
|
||||||
|
|
||||||
- upstream update 1.0.3
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Jun 23 11:42:59 UTC 2010 - Marcel Gmür <ammler@openttdcoop.org>
|
|
||||||
|
|
||||||
- upstream update 1.0.2
|
|
||||||
* Feature: Translated desktop shortcut comments (r19884)
|
|
||||||
* many minor Bugfixes
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Sat May 1 15:59:32 UTC 2010 - Marcel Gmür <ammler@openttdcoop.org>
|
|
||||||
|
|
||||||
- upstream update 1.0.1
|
|
||||||
* Fix: Leaking a file descriptor
|
|
||||||
* Fix a lot small bugs, like minor desync issues on Mulitplayer
|
|
||||||
- no strip on make
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Apr 1 08:53:54 UTC 2010 - Marcel Gmür <ammler@openttdcoop.org>
|
|
||||||
|
|
||||||
- upstream update 1.0.0 (finally!)
|
|
||||||
* completely independend game but still working also
|
|
||||||
with ttd original gaphics, sounds and music
|
|
||||||
- Add: Recommends openmsx
|
|
||||||
- requires lzo2
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Dec 18 2009 Marcel Gmür <ammler@openttdcoop.org> - 0.7.4
|
|
||||||
|
|
||||||
- support for differen branches
|
|
||||||
- easy support for dedicated branch
|
|
||||||
- let openttd build system make the dektop file
|
|
||||||
- split the package to data and gui
|
|
||||||
- disable requires
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Oct 01 2009 Marcel Gmür <ammler@openttdcoop.org> - 0.7.3
|
|
||||||
|
|
||||||
- disable libicu for RHEL4
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Sat Sep 26 2009 Marcel Gmür <ammler@openttdcoop.org> - 0.7.2
|
|
||||||
|
|
||||||
- no subfolder games for datadir
|
|
||||||
- cleanup: no post and postun anymore
|
|
||||||
- Recommends: opengfx (for suse and mandriva)
|
|
||||||
- add SUSE support
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Mon Oct 20 2008 Benedikt Brüggemeier <skidd13@openttd.org>
|
|
||||||
|
|
||||||
- Added libicu dependency
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Sep 23 2008 Benedikt Brüggemeier <skidd13@openttd.org>
|
|
||||||
|
|
||||||
- Merged both versions of the spec file
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Aug 29 2008 Jonathan Coome <maedhros@openttd.org>
|
|
||||||
|
|
||||||
- Rewrite spec file from scratch.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Sat Aug 02 2008 Benedikt Brüggemeier <skidd13@openttd.org>
|
|
||||||
|
|
||||||
- Updated spec file
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Mar 27 2008 Denis Burlaka <burlaka@yandex.ru>
|
|
||||||
|
|
||||||
- Universal spec file
|
|
||||||
|
|
@@ -1,199 +1,202 @@
|
|||||||
%define dedicated 0
|
# $Id$
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
# spec file for the openttd rpm package
|
||||||
|
#
|
||||||
|
# Copyright (c) 2007-2011 The OpenTTD developers
|
||||||
|
#
|
||||||
|
# This file and all modifications and additions to the pristine
|
||||||
|
# package are under the same license as the package itself
|
||||||
|
#
|
||||||
|
# Note: for (at least) CentOS '#' comments end '\' continue command on new line.
|
||||||
|
# So place all '#' commented parameters of e.g. configure to the end.
|
||||||
|
#
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
%define binname openttd
|
Name: openttd
|
||||||
|
Version: 1.1.0
|
||||||
|
Release: 1%{?dist}
|
||||||
|
|
||||||
%define srcver 1.1.0
|
Group: Amusements/Games
|
||||||
|
License: GPLv2
|
||||||
|
URL: http://www.openttd.org
|
||||||
|
Summary: OpenTTD is an Open Source clone of Chris Sawyer's Transport Tycoon Deluxe
|
||||||
|
|
||||||
%if %{dedicated}
|
Source: %{name}-%{version}-source.tar.bz2
|
||||||
Name: %{binname}-dedicated
|
|
||||||
%else
|
|
||||||
Name: %{binname}
|
|
||||||
%endif
|
|
||||||
Version: %{srcver}
|
|
||||||
Release: 1%{?dist}
|
|
||||||
Group: Amusements/Games/Strategy/Other
|
|
||||||
License: GPLv2
|
|
||||||
URL: http://www.openttd.org
|
|
||||||
Summary: An open source clone of Chris Sawyer's Transport Tycoon Deluxe
|
|
||||||
|
|
||||||
Source: openttd%{?branch:-%{branch}}-%{srcver}-source.tar.bz2
|
|
||||||
|
|
||||||
# the main package works with the exact same data package version only
|
|
||||||
Requires: %{binname}-data = %{version}
|
|
||||||
|
|
||||||
BuildRequires: gcc-c++
|
|
||||||
BuildRequires: libpng-devel
|
|
||||||
BuildRequires: zlib-devel
|
|
||||||
|
|
||||||
%if 0%{?mdkversion}
|
|
||||||
BuildRequires: liblzo-devel
|
|
||||||
BuildRequires: liblzma-devel
|
|
||||||
%else
|
|
||||||
BuildRequires: lzo-devel
|
|
||||||
BuildRequires: xz-devel
|
|
||||||
%endif
|
|
||||||
|
|
||||||
#needed by libdrm
|
|
||||||
%if 0%{?rhel_version} >= 600
|
|
||||||
BuildRequires: kernel
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# for lzma detection
|
|
||||||
%if 0%{?suse_version}
|
|
||||||
BuildRequires: pkg-config
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Desktop specific tags, not needed for dedicated
|
|
||||||
%if !%{dedicated}
|
|
||||||
BuildRequires: fontconfig-devel
|
|
||||||
BuildRequires: SDL-devel
|
|
||||||
|
|
||||||
BuildRequires: grfcodec
|
|
||||||
|
|
||||||
|
Requires: fontconfig
|
||||||
|
Requires: SDL
|
||||||
|
Requires: zlib
|
||||||
|
Requires: xz-devel
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: fontconfig-devel
|
||||||
|
BuildRequires: libpng-devel
|
||||||
|
BuildRequires: libicu-devel
|
||||||
|
BuildRequires: SDL-devel
|
||||||
|
BuildRequires: zlib-devel
|
||||||
# vendor specific dependencies
|
# vendor specific dependencies
|
||||||
%if !0%{?rhel_version}
|
%if %{_vendor}=="alt"
|
||||||
BuildRequires: libicu-devel
|
Requires: freetype
|
||||||
%endif
|
BuildRequires: freetype-devel
|
||||||
%if 0%{?rhel_version} || 0%{?fedora}
|
%endif
|
||||||
BuildRequires: freetype-devel
|
%if %{_vendor}=="redhat" || %{_vendor}=="fedora"
|
||||||
%endif
|
Requires: freetype
|
||||||
%if 0%{?suse_version} || 0%{?mdkversion}
|
BuildRequires: freetype-devel
|
||||||
BuildRequires: freetype2-devel
|
BuildRequires: desktop-file-utils
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?suse_version}
|
%if %{_vendor}=="suse" || %{_vendor}=="mandriva"
|
||||||
BuildRequires: update-desktop-files
|
Requires: freetype2
|
||||||
%endif
|
BuildRequires: freetype2-devel
|
||||||
|
%endif
|
||||||
|
%if %{_vendor}=="suse"
|
||||||
|
BuildRequires: update-desktop-files
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{dedicated}
|
|
||||||
Conflicts: %{binname} %{binname}-gui
|
|
||||||
%else
|
|
||||||
Provides: %{binname}-gui
|
|
||||||
Conflicts: %{binname}-dedicated
|
|
||||||
Requires: openttd-opensfx
|
|
||||||
# recommends works for suse (not sles9) and mandriva, only
|
# recommends works for suse (not sles9) and mandriva, only
|
||||||
%if 0%{?suse_version} || 0%{?mdkversion}
|
%if 0%{?suse_version} > 910 || %{_vendor}=="mandriva"
|
||||||
# require timidity is part of openmsx
|
Recommends: opengfx
|
||||||
Recommends: openttd-openmsx
|
# for 0.8.0
|
||||||
%endif
|
#Recommends: opensfx
|
||||||
%endif
|
%endif
|
||||||
# Recommends would fit better but not well supported...
|
|
||||||
Requires: openttd-opengfx >= 0.3.2
|
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
|
||||||
|
|
||||||
%description
|
%description
|
||||||
OpenTTD is a reimplementation of the Microprose game "Transport Tycoon Deluxe"
|
OpenTTD is a reimplementation of the Microprose game "Transport Tycoon Deluxe"
|
||||||
with lots of new features and enhancements. To play the game you need either
|
with lots of new features and enhancements. To play the game you need either
|
||||||
the original data from the game or install the recommend subackages OpenGFX for
|
the original data from the game or install the recommend package OpenGFX.
|
||||||
free graphics, OpenSFX for free sounds and OpenMSX for free music.
|
|
||||||
|
|
||||||
OpenTTD is licensed under the GNU General Public License version 2.0. For more
|
OpenTTD is licensed under the GNU General Public License version 2.0. For more
|
||||||
information, see the file 'COPYING' included with every release and source
|
information, see the file 'COPYING' included with every release and source
|
||||||
download of the game.
|
download of the game.
|
||||||
|
|
||||||
# the subpackage data needs only to build once, the dedicated version
|
|
||||||
# can reuse the data package of the gui package
|
|
||||||
%if !%{dedicated}
|
|
||||||
%package data
|
|
||||||
Summary: Data package for OpenTTD
|
|
||||||
Group: Amusements/Games/Strategy/Other
|
|
||||||
%if 0%{?suse_version} >= 1120 || 0%{?fedora} || 0%{?mdkversion}
|
|
||||||
BuildArch: noarch
|
|
||||||
%endif
|
|
||||||
BuildRequires: grfcodec
|
|
||||||
|
|
||||||
%description data
|
|
||||||
OpenTTD is a reimplementation of the Microprose game "Transport Tycoon Deluxe"
|
|
||||||
with lots of new features and enhancements. To play the game you need either
|
|
||||||
the original data from the game or the required package OpenGFX and OpenSFX.
|
|
||||||
|
|
||||||
This package is required by openttd gui and openttd dedicated package. This
|
|
||||||
way it is possible to install a openttd version without SDL requirement.
|
|
||||||
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -qn openttd%{?branch:-%{branch}}-%{srcver}
|
%setup -q
|
||||||
|
|
||||||
# we build the grfs from sources but validate the result with the existing data
|
|
||||||
md5sum bin/data/* > validate.data
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
# suse sle <10 has no support for makedepend
|
||||||
|
%if 0%{?sles_version} == 9 || 0%{?sles_version} == 10
|
||||||
|
%define do_makedepend 0
|
||||||
|
%else
|
||||||
|
%define do_makedepend 1
|
||||||
|
%endif
|
||||||
./configure \
|
./configure \
|
||||||
--prefix-dir="%{_prefix}" \
|
--prefix-dir="%{_prefix}" \
|
||||||
--binary-name="%{binname}" \
|
--binary-name="%{name}" \
|
||||||
--binary-dir="bin" \
|
--enable-strip \
|
||||||
--data-dir="share/%{binname}" \
|
--binary-dir="bin" \
|
||||||
--doc-dir="share/doc/%{binname}" \
|
--data-dir="share/%{name}" \
|
||||||
--menu-name="OpenTTD%{?branch: %{branch}}" \
|
--with-makedepend="%{do_makedepend}" \
|
||||||
--menu-group="Game;StrategyGame;" \
|
# --revision="%{ver}%{?prever:-%{prever}}" \
|
||||||
--enable-dedicated="%{dedicated}" \
|
# --enable-debug=0 \
|
||||||
|
# --with-sdl \
|
||||||
|
# --with-zlib \
|
||||||
|
# --with-png \
|
||||||
|
# --with-freetype \
|
||||||
|
# --with-fontconfig \
|
||||||
|
# --with-icu \
|
||||||
|
# --menu_group="Game;" \
|
||||||
|
# --menu-name="OpenTTD" \
|
||||||
|
# --doc-dir="share\doc\%{name}" \
|
||||||
|
# --icon-dir="share/pixmaps" \
|
||||||
|
# --icon-theme-dir="share/icons/hicolor" \
|
||||||
|
# --man-dir="share/man/man6" \
|
||||||
|
# --menu-dir="share/applications"
|
||||||
|
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%if %{dedicated}
|
|
||||||
# dedicated package needs binary only
|
|
||||||
install -D -m0755 bin/openttd %{buildroot}/%{_bindir}/%{binname}
|
|
||||||
%else
|
|
||||||
make install INSTALL_DIR="%{buildroot}"
|
make install INSTALL_DIR="%{buildroot}"
|
||||||
%if 0%{?suse_version}
|
|
||||||
%suse_update_desktop_file -r %{binname} Game StrategyGame
|
# Validate menu entrys (vendor specific)
|
||||||
%endif
|
%if %{_vendor} == "redhat" || %{_vendor}=="fedora"
|
||||||
|
desktop-file-install \
|
||||||
|
--vendor="%{_vendor}" \
|
||||||
|
--remove-key Version \
|
||||||
|
--dir="%{buildroot}/%{_datadir}/applications/" \
|
||||||
|
"%{buildroot}/%{_datadir}/applications/%{name}.desktop" \
|
||||||
|
# --delete-original
|
||||||
|
%endif
|
||||||
|
%if %{_vendor}=="suse"
|
||||||
|
%__cat > %{name}.desktop << EOF
|
||||||
|
[Desktop Entry]
|
||||||
|
Encoding=UTF-8
|
||||||
|
Name=OpenTTD
|
||||||
|
Comment=OpenTTD - A clone of the Microprose game 'Transport Tycoon Deluxe'
|
||||||
|
GenericName=OpenTTD
|
||||||
|
Type=Application
|
||||||
|
Terminal=false
|
||||||
|
Exec=%{name}
|
||||||
|
Icon=%{name}
|
||||||
|
Categories=Game;StrategyGame;
|
||||||
|
EOF
|
||||||
|
%suse_update_desktop_file -i %{name} Game StrategyGame
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf "%{buildroot}"
|
#rm -rf "%{buildroot}"
|
||||||
|
|
||||||
%check
|
%post
|
||||||
md5sum -c validate.data
|
# Update the icon cache (vendor specific)
|
||||||
|
%if %{_vendor}=="mandriva"
|
||||||
%files
|
%update_icon_cache hicolor
|
||||||
%attr(755, root, root) %{_bindir}/%{binname}
|
|
||||||
|
|
||||||
# all other files are for the gui version only, also no
|
|
||||||
# subpackage needed for the dedicated version
|
|
||||||
%if !%{dedicated}
|
|
||||||
%defattr(-, root, root)
|
|
||||||
%dir %{_datadir}/icons/hicolor
|
|
||||||
%dir %{_datadir}/icons/hicolor/16x16
|
|
||||||
%dir %{_datadir}/icons/hicolor/16x16/apps
|
|
||||||
%dir %{_datadir}/icons/hicolor/32x32
|
|
||||||
%dir %{_datadir}/icons/hicolor/32x32/apps
|
|
||||||
%dir %{_datadir}/icons/hicolor/48x48
|
|
||||||
%dir %{_datadir}/icons/hicolor/48x48/apps
|
|
||||||
%dir %{_datadir}/icons/hicolor/64x64
|
|
||||||
%dir %{_datadir}/icons/hicolor/64x64/apps
|
|
||||||
%dir %{_datadir}/icons/hicolor/128x128
|
|
||||||
%dir %{_datadir}/icons/hicolor/128x128/apps
|
|
||||||
%dir %{_datadir}/icons/hicolor/256x256
|
|
||||||
%dir %{_datadir}/icons/hicolor/256x256/apps
|
|
||||||
%{_datadir}/applications/%{binname}.desktop
|
|
||||||
%{_datadir}/icons/hicolor/16x16/apps/%{binname}.png
|
|
||||||
%{_datadir}/icons/hicolor/32x32/apps/%{binname}.png
|
|
||||||
%{_datadir}/icons/hicolor/48x48/apps/%{binname}.png
|
|
||||||
%{_datadir}/icons/hicolor/64x64/apps/%{binname}.png
|
|
||||||
%{_datadir}/icons/hicolor/128x128/apps/%{binname}.png
|
|
||||||
%{_datadir}/icons/hicolor/256x256/apps/%{binname}.png
|
|
||||||
%{_datadir}/pixmaps/%{binname}.32.xpm
|
|
||||||
|
|
||||||
%files data
|
|
||||||
%defattr(-, root, root)
|
|
||||||
%dir %{_datadir}/doc/%{binname}
|
|
||||||
%dir %{_datadir}/%{binname}
|
|
||||||
%dir %{_datadir}/%{binname}/lang
|
|
||||||
%dir %{_datadir}/%{binname}/data
|
|
||||||
%dir %{_datadir}/%{binname}/gm
|
|
||||||
%dir %{_datadir}/%{binname}/scripts
|
|
||||||
%dir %{_datadir}/%{binname}/ai
|
|
||||||
%{_datadir}/doc/%{binname}/*
|
|
||||||
%{_datadir}/%{binname}/lang/*
|
|
||||||
%{_datadir}/%{binname}/data/*
|
|
||||||
%{_datadir}/%{binname}/scripts/*
|
|
||||||
%{_datadir}/%{binname}/ai/*
|
|
||||||
%{_datadir}/%{binname}/gm/*
|
|
||||||
%doc %{_mandir}/man6/%{binname}.6.*
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{_vendor} == "redhat" || %{_vendor}=="fedora"
|
||||||
|
touch --no-create %{_datadir}/icons/hicolor
|
||||||
|
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
|
||||||
|
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
|
||||||
|
fi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%postun
|
||||||
|
# Update the icon cache (vendor specific)
|
||||||
|
%if %{_vendor}=="mandriva"
|
||||||
|
%update_icon_cache hicolor
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{_vendor} == "redhat" || %{_vendor}=="fedora"
|
||||||
|
touch --no-create %{_datadir}/icons/hicolor
|
||||||
|
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
|
||||||
|
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
|
||||||
|
fi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-, root, games, -)
|
||||||
|
%dir %{_datadir}/doc/%{name}
|
||||||
|
%dir %{_datadir}/%{name}
|
||||||
|
%dir %{_datadir}/%{name}/lang
|
||||||
|
%dir %{_datadir}/%{name}/data
|
||||||
|
%dir %{_datadir}/%{name}/gm
|
||||||
|
%dir %{_datadir}/%{name}/scripts
|
||||||
|
%attr(755, root, games) %{_bindir}/%{name}
|
||||||
|
%{_datadir}/doc/%{name}/*
|
||||||
|
%{_datadir}/%{name}/lang/*
|
||||||
|
%{_datadir}/%{name}/data/*
|
||||||
|
%{_datadir}/%{name}/scripts/*
|
||||||
|
%{_datadir}/applications/*%{name}.desktop
|
||||||
|
%{_datadir}/pixmaps/*
|
||||||
|
%{_datadir}/icons/*
|
||||||
|
%doc %{_mandir}/man6/%{name}.6.*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Sep 26 2009 Marcel Gmür <ammler@openttdcoop.org> - 0.7.2
|
||||||
|
- no subfolder games for datadir
|
||||||
|
- cleanup: no post and postun anymore
|
||||||
|
- Recommends: opengfx (for suse and mandriva)
|
||||||
|
- add SUSE support
|
||||||
|
|
||||||
|
* Mon Oct 20 2008 Benedikt Brüggemeier <skidd13@openttd.org>
|
||||||
|
- Added libicu dependency
|
||||||
|
|
||||||
|
* Thu Sep 23 2008 Benedikt Brüggemeier <skidd13@openttd.org>
|
||||||
|
- Merged both versions of the spec file
|
||||||
|
|
||||||
|
* Fri Aug 29 2008 Jonathan Coome <maedhros@openttd.org>
|
||||||
|
- Rewrite spec file from scratch.
|
||||||
|
|
||||||
|
* Sat Aug 02 2008 Benedikt Brüggemeier <skidd13@openttd.org>
|
||||||
|
- Updated spec file
|
||||||
|
|
||||||
|
* Thu Mar 27 2008 Denis Burlaka <burlaka@yandex.ru>
|
||||||
|
- Universal spec file
|
||||||
|
@@ -2,8 +2,8 @@
|
|||||||
!define APPV_MAJOR 1
|
!define APPV_MAJOR 1
|
||||||
!define APPV_MINOR 1
|
!define APPV_MINOR 1
|
||||||
!define APPV_MAINT 0
|
!define APPV_MAINT 0
|
||||||
!define APPV_BUILD 7
|
!define APPV_BUILD 3
|
||||||
!define APPV_EXTRA "-RC3"
|
!define APPV_EXTRA "-beta4"
|
||||||
|
|
||||||
!define APPNAME "OpenTTD" ; Define application name
|
!define APPNAME "OpenTTD" ; Define application name
|
||||||
!define APPVERSION "${APPV_MAJOR}.${APPV_MINOR}.${APPV_MAINT}${APPV_EXTRA}" ; Define application version
|
!define APPVERSION "${APPV_MAJOR}.${APPV_MINOR}.${APPV_MAINT}${APPV_EXTRA}" ; Define application version
|
||||||
|
@@ -388,7 +388,6 @@
|
|||||||
<ClInclude Include="..\src\cargotype.h" />
|
<ClInclude Include="..\src\cargotype.h" />
|
||||||
<ClInclude Include="..\src\cheat_func.h" />
|
<ClInclude Include="..\src\cheat_func.h" />
|
||||||
<ClInclude Include="..\src\cheat_type.h" />
|
<ClInclude Include="..\src\cheat_type.h" />
|
||||||
<ClInclude Include="..\src\clear_func.h" />
|
|
||||||
<ClInclude Include="..\src\cmd_helper.h" />
|
<ClInclude Include="..\src\cmd_helper.h" />
|
||||||
<ClInclude Include="..\src\command_func.h" />
|
<ClInclude Include="..\src\command_func.h" />
|
||||||
<ClInclude Include="..\src\command_type.h" />
|
<ClInclude Include="..\src\command_type.h" />
|
||||||
@@ -430,6 +429,7 @@
|
|||||||
<ClInclude Include="..\src\fileio_type.h" />
|
<ClInclude Include="..\src\fileio_type.h" />
|
||||||
<ClInclude Include="..\src\fios.h" />
|
<ClInclude Include="..\src\fios.h" />
|
||||||
<ClInclude Include="..\src\fontcache.h" />
|
<ClInclude Include="..\src\fontcache.h" />
|
||||||
|
<ClInclude Include="..\src\functions.h" />
|
||||||
<ClInclude Include="..\src\gamelog.h" />
|
<ClInclude Include="..\src\gamelog.h" />
|
||||||
<ClInclude Include="..\src\gamelog_internal.h" />
|
<ClInclude Include="..\src\gamelog_internal.h" />
|
||||||
<ClInclude Include="..\src\genworld.h" />
|
<ClInclude Include="..\src\genworld.h" />
|
||||||
|
@@ -384,9 +384,6 @@
|
|||||||
<ClInclude Include="..\src\cheat_type.h">
|
<ClInclude Include="..\src\cheat_type.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\src\clear_func.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\src\cmd_helper.h">
|
<ClInclude Include="..\src\cmd_helper.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
@@ -510,6 +507,9 @@
|
|||||||
<ClInclude Include="..\src\fontcache.h">
|
<ClInclude Include="..\src\fontcache.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\src\functions.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="..\src\gamelog.h">
|
<ClInclude Include="..\src\gamelog.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
@@ -826,10 +826,6 @@
|
|||||||
RelativePath=".\..\src\cheat_type.h"
|
RelativePath=".\..\src\cheat_type.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath=".\..\src\clear_func.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\src\cmd_helper.h"
|
RelativePath=".\..\src\cmd_helper.h"
|
||||||
>
|
>
|
||||||
@@ -994,6 +990,10 @@
|
|||||||
RelativePath=".\..\src\fontcache.h"
|
RelativePath=".\..\src\fontcache.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\..\src\functions.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\src\gamelog.h"
|
RelativePath=".\..\src\gamelog.h"
|
||||||
>
|
>
|
||||||
|
@@ -823,10 +823,6 @@
|
|||||||
RelativePath=".\..\src\cheat_type.h"
|
RelativePath=".\..\src\cheat_type.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath=".\..\src\clear_func.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\src\cmd_helper.h"
|
RelativePath=".\..\src\cmd_helper.h"
|
||||||
>
|
>
|
||||||
@@ -991,6 +987,10 @@
|
|||||||
RelativePath=".\..\src\fontcache.h"
|
RelativePath=".\..\src\fontcache.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\..\src\functions.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\src\gamelog.h"
|
RelativePath=".\..\src\gamelog.h"
|
||||||
>
|
>
|
||||||
|
10
readme.txt
10
readme.txt
@@ -1,6 +1,6 @@
|
|||||||
OpenTTD readme
|
OpenTTD readme
|
||||||
Last updated: 2011-03-18
|
Last updated: 2011-01-21
|
||||||
Release version: 1.1.0-RC3
|
Release version: 1.1.0-beta4
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
@@ -534,9 +534,9 @@ look at http://wiki.openttd.org/index.php/Command_line.
|
|||||||
The most frequent problem is missing data files. Please install OpenGFX and
|
The most frequent problem is missing data files. Please install OpenGFX and
|
||||||
possibly OpenSFX and OpenMSX. See section 4.1.1 for more information.
|
possibly OpenSFX and OpenMSX. See section 4.1.1 for more information.
|
||||||
|
|
||||||
Under certain circumstance, especially on Ubuntu OpenTTD can be extremely slow
|
Under, especially, Ubuntu OpenTTD can be extremely slow and freeze/hand under
|
||||||
and/or freeze. See known-bugs.txt for more information and how to solve this
|
certain circumstance. See known-bugs.txt for more information and how to
|
||||||
problem on your computer.
|
solve this problem on your computer.
|
||||||
|
|
||||||
Under Windows 98 and lower it is impossible to use a dedicated server; it will
|
Under Windows 98 and lower it is impossible to use a dedicated server; it will
|
||||||
fail to start. Perhaps this is for the better because those OSes are not known
|
fail to start. Perhaps this is for the better because those OSes are not known
|
||||||
|
@@ -121,7 +121,6 @@ cargopacket.h
|
|||||||
cargotype.h
|
cargotype.h
|
||||||
cheat_func.h
|
cheat_func.h
|
||||||
cheat_type.h
|
cheat_type.h
|
||||||
clear_func.h
|
|
||||||
cmd_helper.h
|
cmd_helper.h
|
||||||
command_func.h
|
command_func.h
|
||||||
command_type.h
|
command_type.h
|
||||||
@@ -163,6 +162,7 @@ fileio_func.h
|
|||||||
fileio_type.h
|
fileio_type.h
|
||||||
fios.h
|
fios.h
|
||||||
fontcache.h
|
fontcache.h
|
||||||
|
functions.h
|
||||||
gamelog.h
|
gamelog.h
|
||||||
gamelog_internal.h
|
gamelog_internal.h
|
||||||
genworld.h
|
genworld.h
|
||||||
|
@@ -597,7 +597,6 @@ public:
|
|||||||
}
|
}
|
||||||
SQInteger Factor()
|
SQInteger Factor()
|
||||||
{
|
{
|
||||||
_exst._deref = DEREF_NO_DEREF;
|
|
||||||
switch(_token)
|
switch(_token)
|
||||||
{
|
{
|
||||||
case TK_STRING_LITERAL: {
|
case TK_STRING_LITERAL: {
|
||||||
|
@@ -125,7 +125,7 @@ public:
|
|||||||
static int GetStartNextTime();
|
static int GetStartNextTime();
|
||||||
|
|
||||||
/** Wrapper function for AIScanner::GetAIConsoleList */
|
/** Wrapper function for AIScanner::GetAIConsoleList */
|
||||||
static char *GetConsoleList(char *p, const char *last, bool newest_only = false);
|
static char *GetConsoleList(char *p, const char *last);
|
||||||
/** Wrapper function for AIScanner::GetAIConsoleLibraryList */
|
/** Wrapper function for AIScanner::GetAIConsoleLibraryList */
|
||||||
static char *GetConsoleLibraryList(char *p, const char *last);
|
static char *GetConsoleLibraryList(char *p, const char *last);
|
||||||
/** Wrapper function for AIScanner::GetAIInfoList */
|
/** Wrapper function for AIScanner::GetAIInfoList */
|
||||||
@@ -168,7 +168,7 @@ public:
|
|||||||
static void GameLoop() {}
|
static void GameLoop() {}
|
||||||
static bool HasAI(const struct ContentInfo *ci, bool md5sum) { return false; }
|
static bool HasAI(const struct ContentInfo *ci, bool md5sum) { return false; }
|
||||||
static void Rescan() {}
|
static void Rescan() {}
|
||||||
static char *GetConsoleList(char *p, const char *last, bool newest_only = false) { return p; }
|
static char *GetConsoleList(char *p, const char *last) { return p; }
|
||||||
static void nop() { }
|
static void nop() { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -10,6 +10,7 @@
|
|||||||
/** @file ai_config.cpp Implementation of AIConfig. */
|
/** @file ai_config.cpp Implementation of AIConfig. */
|
||||||
|
|
||||||
#include "../stdafx.h"
|
#include "../stdafx.h"
|
||||||
|
#include "../openttd.h"
|
||||||
#include "../settings_type.h"
|
#include "../settings_type.h"
|
||||||
#include "../core/random_func.hpp"
|
#include "../core/random_func.hpp"
|
||||||
#include "ai.hpp"
|
#include "ai.hpp"
|
||||||
|
@@ -289,9 +289,9 @@ void CcAI(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
|||||||
return DAYS_IN_YEAR;
|
return DAYS_IN_YEAR;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* static */ char *AI::GetConsoleList(char *p, const char *last, bool newest_only)
|
/* static */ char *AI::GetConsoleList(char *p, const char *last)
|
||||||
{
|
{
|
||||||
return AI::ai_scanner->GetAIConsoleList(p, last, newest_only);
|
return AI::ai_scanner->GetAIConsoleList(p, last);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* static */ char *AI::GetConsoleLibraryList(char *p, const char *last)
|
/* static */ char *AI::GetConsoleLibraryList(char *p, const char *last)
|
||||||
|
@@ -10,6 +10,7 @@
|
|||||||
/** @file ai_gui.cpp Window for configuring the AIs */
|
/** @file ai_gui.cpp Window for configuring the AIs */
|
||||||
|
|
||||||
#include "../stdafx.h"
|
#include "../stdafx.h"
|
||||||
|
#include "../openttd.h"
|
||||||
#include "../table/sprites.h"
|
#include "../table/sprites.h"
|
||||||
#include "../gui.h"
|
#include "../gui.h"
|
||||||
#include "../querystring_gui.h"
|
#include "../querystring_gui.h"
|
||||||
@@ -182,20 +183,13 @@ struct AIListWindow : public Window {
|
|||||||
nwi->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
|
nwi->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
virtual void OnInvalidateData(int data)
|
||||||
* Some data on this window has become invalid.
|
|
||||||
* @param data Information about the changed data.
|
|
||||||
* @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
|
|
||||||
*/
|
|
||||||
virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
|
|
||||||
{
|
{
|
||||||
if (_game_mode == GM_NORMAL && Company::IsValidID(this->slot)) {
|
if (_game_mode == GM_NORMAL && Company::IsValidID(this->slot)) {
|
||||||
delete this;
|
delete this;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!gui_scope) return;
|
|
||||||
|
|
||||||
this->vscroll->SetCount((int)this->ai_info_list->size() + 1);
|
this->vscroll->SetCount((int)this->ai_info_list->size() + 1);
|
||||||
|
|
||||||
/* selected goes from -1 .. length of ai list - 1. */
|
/* selected goes from -1 .. length of ai list - 1. */
|
||||||
@@ -444,12 +438,7 @@ struct AISettingsWindow : public Window {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
virtual void OnInvalidateData(int data)
|
||||||
* Some data on this window has become invalid.
|
|
||||||
* @param data Information about the changed data.
|
|
||||||
* @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
|
|
||||||
*/
|
|
||||||
virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
|
|
||||||
{
|
{
|
||||||
if (_game_mode == GM_NORMAL && Company::IsValidID(this->slot)) delete this;
|
if (_game_mode == GM_NORMAL && Company::IsValidID(this->slot)) delete this;
|
||||||
}
|
}
|
||||||
@@ -704,19 +693,12 @@ struct AIConfigWindow : public Window {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
virtual void OnInvalidateData(int data)
|
||||||
* Some data on this window has become invalid.
|
|
||||||
* @param data Information about the changed data.
|
|
||||||
* @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
|
|
||||||
*/
|
|
||||||
virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
|
|
||||||
{
|
{
|
||||||
if (!IsEditable(this->selected_slot)) {
|
if (!IsEditable(this->selected_slot)) {
|
||||||
this->selected_slot = INVALID_COMPANY;
|
this->selected_slot = INVALID_COMPANY;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!gui_scope) return;
|
|
||||||
|
|
||||||
this->SetWidgetDisabledState(AIC_WIDGET_DECREASE, GetGameSettings().difficulty.max_no_competitors == 0);
|
this->SetWidgetDisabledState(AIC_WIDGET_DECREASE, GetGameSettings().difficulty.max_no_competitors == 0);
|
||||||
this->SetWidgetDisabledState(AIC_WIDGET_INCREASE, GetGameSettings().difficulty.max_no_competitors == MAX_COMPANIES - 1);
|
this->SetWidgetDisabledState(AIC_WIDGET_INCREASE, GetGameSettings().difficulty.max_no_competitors == MAX_COMPANIES - 1);
|
||||||
this->SetWidgetDisabledState(AIC_WIDGET_CHANGE, this->selected_slot == INVALID_COMPANY);
|
this->SetWidgetDisabledState(AIC_WIDGET_CHANGE, this->selected_slot == INVALID_COMPANY);
|
||||||
@@ -1051,16 +1033,11 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
virtual void OnInvalidateData(int data = 0)
|
||||||
* Some data on this window has become invalid.
|
|
||||||
* @param data Information about the changed data.
|
|
||||||
* @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
|
|
||||||
*/
|
|
||||||
virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
|
|
||||||
{
|
{
|
||||||
if (data == -1 || ai_debug_company == data) this->SetDirty();
|
if (data == -1 || ai_debug_company == data) this->SetDirty();
|
||||||
|
|
||||||
if (gui_scope && data == -2) {
|
if (data == -2) {
|
||||||
/* The continue button should be disabled when the game is unpaused and
|
/* The continue button should be disabled when the game is unpaused and
|
||||||
* it was previously paused by the break string ( = a line in the log
|
* it was previously paused by the break string ( = a line in the log
|
||||||
* was highlighted )*/
|
* was highlighted )*/
|
||||||
@@ -1072,9 +1049,8 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If the log message is related to the active company tab, check the break string.
|
/* If the log message is related to the active company tab, check the break string */
|
||||||
* This needs to be done in gameloop-scope, so the AI is suspended immediately. */
|
if (data == ai_debug_company && this->break_check_enabled && !StrEmpty(this->edit_str_buf)) {
|
||||||
if (!gui_scope && data == ai_debug_company && this->break_check_enabled && !StrEmpty(this->edit_str_buf)) {
|
|
||||||
/* Get the log instance of the active company */
|
/* Get the log instance of the active company */
|
||||||
Backup<CompanyByte> cur_company(_current_company, ai_debug_company, FILE_LINE);
|
Backup<CompanyByte> cur_company(_current_company, ai_debug_company, FILE_LINE);
|
||||||
AILog::LogData *log = (AILog::LogData *)AIObject::GetLogPointer();
|
AILog::LogData *log = (AILog::LogData *)AIObject::GetLogPointer();
|
||||||
|
@@ -15,6 +15,7 @@
|
|||||||
#include "ai_info.hpp"
|
#include "ai_info.hpp"
|
||||||
#include "ai_scanner.hpp"
|
#include "ai_scanner.hpp"
|
||||||
#include "../settings_type.h"
|
#include "../settings_type.h"
|
||||||
|
#include "../openttd.h"
|
||||||
#include "../debug.h"
|
#include "../debug.h"
|
||||||
#include "../rev.h"
|
#include "../rev.h"
|
||||||
|
|
||||||
|
@@ -74,7 +74,6 @@
|
|||||||
#include "api/ai_waypointlist.hpp.sq"
|
#include "api/ai_waypointlist.hpp.sq"
|
||||||
|
|
||||||
#include "../company_base.h"
|
#include "../company_base.h"
|
||||||
#include "../company_func.h"
|
|
||||||
#include "../fileio_func.h"
|
#include "../fileio_func.h"
|
||||||
|
|
||||||
/** The maximum number of operations for saving or loading the data of an AI. */
|
/** The maximum number of operations for saving or loading the data of an AI. */
|
||||||
|
@@ -330,12 +330,11 @@ AIInfo *AIScanner::FindInfo(const char *nameParam, int versionParam, bool force_
|
|||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *AIScanner::GetAIConsoleList(char *p, const char *last, bool newest_only) const
|
char *AIScanner::GetAIConsoleList(char *p, const char *last) const
|
||||||
{
|
{
|
||||||
p += seprintf(p, last, "List of AIs:\n");
|
p += seprintf(p, last, "List of AIs:\n");
|
||||||
const AIInfoList &list = newest_only ? this->info_single_list : this->info_list;
|
AIInfoList::const_iterator it = this->info_list.begin();
|
||||||
AIInfoList::const_iterator it = list.begin();
|
for (; it != this->info_list.end(); it++) {
|
||||||
for (; it != list.end(); it++) {
|
|
||||||
AIInfo *i = (*it).second;
|
AIInfo *i = (*it).second;
|
||||||
p += seprintf(p, last, "%10s (v%d): %s\n", i->GetName(), i->GetVersion(), i->GetDescription());
|
p += seprintf(p, last, "%10s (v%d): %s\n", i->GetName(), i->GetVersion(), i->GetDescription());
|
||||||
}
|
}
|
||||||
|
@@ -12,8 +12,11 @@
|
|||||||
#ifndef AI_SCANNER_HPP
|
#ifndef AI_SCANNER_HPP
|
||||||
#define AI_SCANNER_HPP
|
#define AI_SCANNER_HPP
|
||||||
|
|
||||||
|
#include <squirrel.h>
|
||||||
#include "../script/script_scanner.hpp"
|
#include "../script/script_scanner.hpp"
|
||||||
|
#include "../core/string_compare_type.hpp"
|
||||||
#include "ai.hpp"
|
#include "ai.hpp"
|
||||||
|
#include <map>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class that scans for available AIs.
|
* Class that scans for available AIs.
|
||||||
@@ -53,7 +56,7 @@ public:
|
|||||||
/**
|
/**
|
||||||
* Get the list of available AIs for the console.
|
* Get the list of available AIs for the console.
|
||||||
*/
|
*/
|
||||||
char *GetAIConsoleList(char *p, const char *last, bool newest_only) const;
|
char *GetAIConsoleList(char *p, const char *last) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the list of available AI Libraries for the console.
|
* Get the list of available AI Libraries for the console.
|
||||||
|
@@ -12,7 +12,12 @@
|
|||||||
#ifndef AI_STORAGE_HPP
|
#ifndef AI_STORAGE_HPP
|
||||||
#define AI_STORAGE_HPP
|
#define AI_STORAGE_HPP
|
||||||
|
|
||||||
|
#include "../command_func.h"
|
||||||
|
#include "../map_func.h"
|
||||||
|
#include "../network/network.h"
|
||||||
|
#include "../company_func.h"
|
||||||
#include "../signs_func.h"
|
#include "../signs_func.h"
|
||||||
|
#include "../tunnelbridge.h"
|
||||||
#include "../vehicle_func.h"
|
#include "../vehicle_func.h"
|
||||||
#include "../road_type.h"
|
#include "../road_type.h"
|
||||||
#include "../group.h"
|
#include "../group.h"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_accounting.cpp Implementation of AIAccounting. */
|
/** @file ai_accounting.cpp Implementation of AIAccounting. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_accounting.hpp"
|
#include "ai_accounting.hpp"
|
||||||
|
|
||||||
Money AIAccounting::GetCosts()
|
Money AIAccounting::GetCosts()
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_airport.cpp Implementation of AIAirport. */
|
/** @file ai_airport.cpp Implementation of AIAirport. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_airport.hpp"
|
#include "ai_airport.hpp"
|
||||||
#include "ai_station.hpp"
|
#include "ai_station.hpp"
|
||||||
#include "../../station_base.h"
|
#include "../../station_base.h"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_base.cpp Implementation of AIBase. */
|
/** @file ai_base.cpp Implementation of AIBase. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_base.hpp"
|
#include "ai_base.hpp"
|
||||||
#include "../../network/network.h"
|
#include "../../network/network.h"
|
||||||
#include "../../core/random_func.hpp"
|
#include "../../core/random_func.hpp"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_basestation.cpp Implementation of AIBaseStation. */
|
/** @file ai_basestation.cpp Implementation of AIBaseStation. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_basestation.hpp"
|
#include "ai_basestation.hpp"
|
||||||
#include "../../station_base.h"
|
#include "../../station_base.h"
|
||||||
#include "../../string_func.h"
|
#include "../../string_func.h"
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
#ifndef AI_BASESTATION_HPP
|
#ifndef AI_BASESTATION_HPP
|
||||||
#define AI_BASESTATION_HPP
|
#define AI_BASESTATION_HPP
|
||||||
|
|
||||||
|
#include "ai_object.hpp"
|
||||||
#include "ai_error.hpp"
|
#include "ai_error.hpp"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_bridge.cpp Implementation of AIBridge. */
|
/** @file ai_bridge.cpp Implementation of AIBridge. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_bridge.hpp"
|
#include "ai_bridge.hpp"
|
||||||
#include "ai_rail.hpp"
|
#include "ai_rail.hpp"
|
||||||
#include "../ai_instance.hpp"
|
#include "../ai_instance.hpp"
|
||||||
@@ -152,7 +151,9 @@ static void _DoCommandReturnBuildBridge1(class AIInstance *instance)
|
|||||||
{
|
{
|
||||||
if (!IsValidBridge(bridge_id)) return -1;
|
if (!IsValidBridge(bridge_id)) return -1;
|
||||||
|
|
||||||
return min(::GetBridgeSpec(bridge_id)->max_length, _settings_game.construction.max_bridge_length) + 2;
|
uint max = ::GetBridgeSpec(bridge_id)->max_length;
|
||||||
|
if (max >= MAX_BRIDGE_LENGTH && _settings_game.construction.longbridges) max = MAX_BRIDGE_LENGTH_LONGBRIDGES;
|
||||||
|
return max + 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* static */ int32 AIBridge::GetMinLength(BridgeID bridge_id)
|
/* static */ int32 AIBridge::GetMinLength(BridgeID bridge_id)
|
||||||
|
@@ -12,7 +12,9 @@
|
|||||||
#ifndef AI_BRIDGE_HPP
|
#ifndef AI_BRIDGE_HPP
|
||||||
#define AI_BRIDGE_HPP
|
#define AI_BRIDGE_HPP
|
||||||
|
|
||||||
|
#include "ai_object.hpp"
|
||||||
#include "ai_vehicle.hpp"
|
#include "ai_vehicle.hpp"
|
||||||
|
#include "ai_error.hpp"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class that handles all bridge related functions.
|
* Class that handles all bridge related functions.
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_bridgelist.cpp Implementation of AIBridgeList and friends. */
|
/** @file ai_bridgelist.cpp Implementation of AIBridgeList and friends. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_bridgelist.hpp"
|
#include "ai_bridgelist.hpp"
|
||||||
#include "ai_bridge.hpp"
|
#include "ai_bridge.hpp"
|
||||||
#include "../../bridge.h"
|
#include "../../bridge.h"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_cargo.cpp Implementation of AICargo. */
|
/** @file ai_cargo.cpp Implementation of AICargo. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_cargo.hpp"
|
#include "ai_cargo.hpp"
|
||||||
#include "../../cargotype.h"
|
#include "../../cargotype.h"
|
||||||
#include "../../economy_func.h"
|
#include "../../economy_func.h"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_cargolist.cpp Implementation of AICargoList and friends. */
|
/** @file ai_cargolist.cpp Implementation of AICargoList and friends. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_cargolist.hpp"
|
#include "ai_cargolist.hpp"
|
||||||
#include "ai_industry.hpp"
|
#include "ai_industry.hpp"
|
||||||
#include "../../cargotype.h"
|
#include "../../cargotype.h"
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
*
|
*
|
||||||
* \b 1.1.0
|
* \b 1.1.0
|
||||||
*
|
*
|
||||||
|
* 1.1.0 is not yet released. The following changes are not set in stone yet.
|
||||||
|
*
|
||||||
* API additions:
|
* API additions:
|
||||||
* \li IsEnd for all lists.
|
* \li IsEnd for all lists.
|
||||||
* \li AIEventTownFounded
|
* \li AIEventTownFounded
|
||||||
@@ -31,7 +33,6 @@
|
|||||||
* \li HasNext for all lists.
|
* \li HasNext for all lists.
|
||||||
* \li AIAbstractList, use AIList instead.
|
* \li AIAbstractList, use AIList instead.
|
||||||
* \li AIList::ChangeItem, use AIList::SetValue instead.
|
* \li AIList::ChangeItem, use AIList::SetValue instead.
|
||||||
* \li AIRail::ERR_NONUNIFORM_STATIONS_DISABLED, that error is never returned anymore.
|
|
||||||
*
|
*
|
||||||
* Other changes:
|
* Other changes:
|
||||||
* \li AIEngine::GetMaxTractiveEffort can be used for road vehicles.
|
* \li AIEngine::GetMaxTractiveEffort can be used for road vehicles.
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_company.cpp Implementation of AICompany. */
|
/** @file ai_company.cpp Implementation of AICompany. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_company.hpp"
|
#include "ai_company.hpp"
|
||||||
#include "ai_error.hpp"
|
#include "ai_error.hpp"
|
||||||
#include "../../command_func.h"
|
#include "../../command_func.h"
|
||||||
|
@@ -12,10 +12,10 @@
|
|||||||
#include "../../stdafx.h"
|
#include "../../stdafx.h"
|
||||||
#include "../../string_func.h"
|
#include "../../string_func.h"
|
||||||
#include "../../company_base.h"
|
#include "../../company_base.h"
|
||||||
#include "../../company_func.h"
|
|
||||||
#include "../../rev.h"
|
#include "../../rev.h"
|
||||||
|
|
||||||
#include "ai_controller.hpp"
|
#include "ai_controller.hpp"
|
||||||
|
#include "../ai_storage.hpp"
|
||||||
#include "../ai_instance.hpp"
|
#include "../ai_instance.hpp"
|
||||||
#include "../ai_config.hpp"
|
#include "../ai_config.hpp"
|
||||||
#include "ai_log.hpp"
|
#include "ai_log.hpp"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_date.cpp Implementation of AIDate. */
|
/** @file ai_date.cpp Implementation of AIDate. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_date.hpp"
|
#include "ai_date.hpp"
|
||||||
#include "../../date_func.h"
|
#include "../../date_func.h"
|
||||||
|
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_depotlist.cpp Implementation of AIDepotList and friends. */
|
/** @file ai_depotlist.cpp Implementation of AIDepotList and friends. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_depotlist.hpp"
|
#include "ai_depotlist.hpp"
|
||||||
#include "../../company_func.h"
|
#include "../../company_func.h"
|
||||||
#include "../../depot_base.h"
|
#include "../../depot_base.h"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_engine.cpp Implementation of AIEngine. */
|
/** @file ai_engine.cpp Implementation of AIEngine. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_engine.hpp"
|
#include "ai_engine.hpp"
|
||||||
#include "ai_cargo.hpp"
|
#include "ai_cargo.hpp"
|
||||||
#include "../../company_func.h"
|
#include "../../company_func.h"
|
||||||
|
@@ -12,7 +12,9 @@
|
|||||||
#ifndef AI_ENGINE_HPP
|
#ifndef AI_ENGINE_HPP
|
||||||
#define AI_ENGINE_HPP
|
#define AI_ENGINE_HPP
|
||||||
|
|
||||||
|
#include "ai_object.hpp"
|
||||||
#include "ai_vehicle.hpp"
|
#include "ai_vehicle.hpp"
|
||||||
|
#include "ai_road.hpp"
|
||||||
#include "ai_rail.hpp"
|
#include "ai_rail.hpp"
|
||||||
#include "ai_airport.hpp"
|
#include "ai_airport.hpp"
|
||||||
|
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_enginelist.cpp Implementation of AIEngineList and friends. */
|
/** @file ai_enginelist.cpp Implementation of AIEngineList and friends. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_enginelist.hpp"
|
#include "ai_enginelist.hpp"
|
||||||
#include "../../company_func.h"
|
#include "../../company_func.h"
|
||||||
#include "../../engine_base.h"
|
#include "../../engine_base.h"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_error.cpp Implementation of AIError. */
|
/** @file ai_error.cpp Implementation of AIError. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_error.hpp"
|
#include "ai_error.hpp"
|
||||||
#include "../../core/bitmath_func.hpp"
|
#include "../../core/bitmath_func.hpp"
|
||||||
|
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_event.cpp Implementation of AIEvent. */
|
/** @file ai_event.cpp Implementation of AIEvent. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_event_types.hpp"
|
#include "ai_event_types.hpp"
|
||||||
|
|
||||||
#include <queue>
|
#include <queue>
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_event_types.cpp Implementation of all EventTypes. */
|
/** @file ai_event_types.cpp Implementation of all EventTypes. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_event_types.hpp"
|
#include "ai_event_types.hpp"
|
||||||
#include "ai_vehicle.hpp"
|
#include "ai_vehicle.hpp"
|
||||||
#include "../../command_type.h"
|
#include "../../command_type.h"
|
||||||
@@ -19,15 +18,8 @@
|
|||||||
#include "../../articulated_vehicles.h"
|
#include "../../articulated_vehicles.h"
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
|
|
||||||
bool AIEventEnginePreview::IsEngineValid() const
|
|
||||||
{
|
|
||||||
const Engine *e = ::Engine::GetIfValid(this->engine);
|
|
||||||
return e != NULL && e->IsEnabled();
|
|
||||||
}
|
|
||||||
|
|
||||||
char *AIEventEnginePreview::GetName()
|
char *AIEventEnginePreview::GetName()
|
||||||
{
|
{
|
||||||
if (!this->IsEngineValid()) return NULL;
|
|
||||||
static const int len = 64;
|
static const int len = 64;
|
||||||
char *engine_name = MallocT<char>(len);
|
char *engine_name = MallocT<char>(len);
|
||||||
|
|
||||||
@@ -38,7 +30,6 @@ char *AIEventEnginePreview::GetName()
|
|||||||
|
|
||||||
CargoID AIEventEnginePreview::GetCargoType()
|
CargoID AIEventEnginePreview::GetCargoType()
|
||||||
{
|
{
|
||||||
if (!this->IsEngineValid()) return CT_INVALID;
|
|
||||||
CargoArray cap = ::GetCapacityOfArticulatedParts(this->engine);
|
CargoArray cap = ::GetCapacityOfArticulatedParts(this->engine);
|
||||||
|
|
||||||
CargoID most_cargo = CT_INVALID;
|
CargoID most_cargo = CT_INVALID;
|
||||||
@@ -55,7 +46,6 @@ CargoID AIEventEnginePreview::GetCargoType()
|
|||||||
|
|
||||||
int32 AIEventEnginePreview::GetCapacity()
|
int32 AIEventEnginePreview::GetCapacity()
|
||||||
{
|
{
|
||||||
if (!this->IsEngineValid()) return -1;
|
|
||||||
const Engine *e = ::Engine::Get(this->engine);
|
const Engine *e = ::Engine::Get(this->engine);
|
||||||
switch (e->type) {
|
switch (e->type) {
|
||||||
case VEH_ROAD:
|
case VEH_ROAD:
|
||||||
@@ -78,7 +68,6 @@ int32 AIEventEnginePreview::GetCapacity()
|
|||||||
|
|
||||||
int32 AIEventEnginePreview::GetMaxSpeed()
|
int32 AIEventEnginePreview::GetMaxSpeed()
|
||||||
{
|
{
|
||||||
if (!this->IsEngineValid()) return -1;
|
|
||||||
const Engine *e = ::Engine::Get(this->engine);
|
const Engine *e = ::Engine::Get(this->engine);
|
||||||
int32 max_speed = e->GetDisplayMaxSpeed(); // km-ish/h
|
int32 max_speed = e->GetDisplayMaxSpeed(); // km-ish/h
|
||||||
if (e->type == VEH_AIRCRAFT) max_speed /= _settings_game.vehicle.plane_speed;
|
if (e->type == VEH_AIRCRAFT) max_speed /= _settings_game.vehicle.plane_speed;
|
||||||
@@ -87,19 +76,16 @@ int32 AIEventEnginePreview::GetMaxSpeed()
|
|||||||
|
|
||||||
Money AIEventEnginePreview::GetPrice()
|
Money AIEventEnginePreview::GetPrice()
|
||||||
{
|
{
|
||||||
if (!this->IsEngineValid()) return -1;
|
|
||||||
return ::Engine::Get(this->engine)->GetCost();
|
return ::Engine::Get(this->engine)->GetCost();
|
||||||
}
|
}
|
||||||
|
|
||||||
Money AIEventEnginePreview::GetRunningCost()
|
Money AIEventEnginePreview::GetRunningCost()
|
||||||
{
|
{
|
||||||
if (!this->IsEngineValid()) return -1;
|
|
||||||
return ::Engine::Get(this->engine)->GetRunningCost();
|
return ::Engine::Get(this->engine)->GetRunningCost();
|
||||||
}
|
}
|
||||||
|
|
||||||
int32 AIEventEnginePreview::GetVehicleType()
|
int32 AIEventEnginePreview::GetVehicleType()
|
||||||
{
|
{
|
||||||
if (!this->IsEngineValid()) return AIVehicle::VT_INVALID;
|
|
||||||
switch (::Engine::Get(this->engine)->type) {
|
switch (::Engine::Get(this->engine)->type) {
|
||||||
case VEH_ROAD: return AIVehicle::VT_ROAD;
|
case VEH_ROAD: return AIVehicle::VT_ROAD;
|
||||||
case VEH_TRAIN: return AIVehicle::VT_RAIL;
|
case VEH_TRAIN: return AIVehicle::VT_RAIL;
|
||||||
@@ -111,7 +97,6 @@ int32 AIEventEnginePreview::GetVehicleType()
|
|||||||
|
|
||||||
bool AIEventEnginePreview::AcceptPreview()
|
bool AIEventEnginePreview::AcceptPreview()
|
||||||
{
|
{
|
||||||
if (!this->IsEngineValid()) return false;
|
|
||||||
return AIObject::DoCommand(0, this->engine, 0, CMD_WANT_ENGINE_PREVIEW);
|
return AIObject::DoCommand(0, this->engine, 0, CMD_WANT_ENGINE_PREVIEW);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
#ifndef AI_EVENT_TYPES_HPP
|
#ifndef AI_EVENT_TYPES_HPP
|
||||||
#define AI_EVENT_TYPES_HPP
|
#define AI_EVENT_TYPES_HPP
|
||||||
|
|
||||||
|
#include "ai_object.hpp"
|
||||||
#include "ai_event.hpp"
|
#include "ai_event.hpp"
|
||||||
#include "ai_company.hpp"
|
#include "ai_company.hpp"
|
||||||
|
|
||||||
@@ -296,7 +297,6 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
EngineID engine;
|
EngineID engine;
|
||||||
bool IsEngineValid() const;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_execmode.cpp Implementation of AIExecMode. */
|
/** @file ai_execmode.cpp Implementation of AIExecMode. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_execmode.hpp"
|
#include "ai_execmode.hpp"
|
||||||
#include "../../company_base.h"
|
#include "../../company_base.h"
|
||||||
#include "../../company_func.h"
|
#include "../../company_func.h"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_gamesettings.cpp Implementation of AIGameSettings. */
|
/** @file ai_gamesettings.cpp Implementation of AIGameSettings. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_gamesettings.hpp"
|
#include "ai_gamesettings.hpp"
|
||||||
#include "../../settings_internal.h"
|
#include "../../settings_internal.h"
|
||||||
|
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
#ifndef AI_GAMESETTINGS_HPP
|
#ifndef AI_GAMESETTINGS_HPP
|
||||||
#define AI_GAMESETTINGS_HPP
|
#define AI_GAMESETTINGS_HPP
|
||||||
|
|
||||||
|
#include "ai_object.hpp"
|
||||||
#include "ai_vehicle.hpp"
|
#include "ai_vehicle.hpp"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_group.cpp Implementation of AIGroup. */
|
/** @file ai_group.cpp Implementation of AIGroup. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_group.hpp"
|
#include "ai_group.hpp"
|
||||||
#include "ai_engine.hpp"
|
#include "ai_engine.hpp"
|
||||||
#include "../ai_instance.hpp"
|
#include "../ai_instance.hpp"
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
#ifndef AI_GROUP_HPP
|
#ifndef AI_GROUP_HPP
|
||||||
#define AI_GROUP_HPP
|
#define AI_GROUP_HPP
|
||||||
|
|
||||||
|
#include "ai_object.hpp"
|
||||||
#include "ai_vehicle.hpp"
|
#include "ai_vehicle.hpp"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_grouplist.cpp Implementation of AIGroupList and friends. */
|
/** @file ai_grouplist.cpp Implementation of AIGroupList and friends. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_grouplist.hpp"
|
#include "ai_grouplist.hpp"
|
||||||
#include "../../company_func.h"
|
#include "../../company_func.h"
|
||||||
#include "../../group.h"
|
#include "../../group.h"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_industry.cpp Implementation of AIIndustry. */
|
/** @file ai_industry.cpp Implementation of AIIndustry. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_industry.hpp"
|
#include "ai_industry.hpp"
|
||||||
#include "ai_cargo.hpp"
|
#include "ai_cargo.hpp"
|
||||||
#include "ai_map.hpp"
|
#include "ai_map.hpp"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_industrylist.cpp Implementation of AIIndustryList and friends. */
|
/** @file ai_industrylist.cpp Implementation of AIIndustryList and friends. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_industrylist.hpp"
|
#include "ai_industrylist.hpp"
|
||||||
#include "../../industry.h"
|
#include "../../industry.h"
|
||||||
|
|
||||||
|
@@ -9,10 +9,8 @@
|
|||||||
|
|
||||||
/** @file ai_industrytype.cpp Implementation of AIIndustryType. */
|
/** @file ai_industrytype.cpp Implementation of AIIndustryType. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_industrytype.hpp"
|
#include "ai_industrytype.hpp"
|
||||||
#include "ai_map.hpp"
|
#include "ai_map.hpp"
|
||||||
#include "ai_error.hpp"
|
|
||||||
#include "../../strings_func.h"
|
#include "../../strings_func.h"
|
||||||
#include "../../industry.h"
|
#include "../../industry.h"
|
||||||
#include "../../newgrf_industries.h"
|
#include "../../newgrf_industries.h"
|
||||||
|
@@ -12,6 +12,8 @@
|
|||||||
#ifndef AI_INDUSTRYTYPE_HPP
|
#ifndef AI_INDUSTRYTYPE_HPP
|
||||||
#define AI_INDUSTRYTYPE_HPP
|
#define AI_INDUSTRYTYPE_HPP
|
||||||
|
|
||||||
|
#include "ai_object.hpp"
|
||||||
|
#include "ai_error.hpp"
|
||||||
#include "ai_list.hpp"
|
#include "ai_list.hpp"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_industrytypelist.cpp Implementation of AIIndustryTypeList. */
|
/** @file ai_industrytypelist.cpp Implementation of AIIndustryTypeList. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_industrytypelist.hpp"
|
#include "ai_industrytypelist.hpp"
|
||||||
#include "../../industry.h"
|
#include "../../industry.h"
|
||||||
|
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
#ifndef AI_INDUSTRYTYPELIST_HPP
|
#ifndef AI_INDUSTRYTYPELIST_HPP
|
||||||
#define AI_INDUSTRYTYPELIST_HPP
|
#define AI_INDUSTRYTYPELIST_HPP
|
||||||
|
|
||||||
|
#include "ai_list.hpp"
|
||||||
#include "ai_industrytype.hpp"
|
#include "ai_industrytype.hpp"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_list.cpp Implementation of AIList. */
|
/** @file ai_list.cpp Implementation of AIList. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_list.hpp"
|
#include "ai_list.hpp"
|
||||||
#include "../../debug.h"
|
#include "../../debug.h"
|
||||||
#include "../../script/squirrel.hpp"
|
#include "../../script/squirrel.hpp"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_log.cpp Implementation of AILog. */
|
/** @file ai_log.cpp Implementation of AILog. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_log.hpp"
|
#include "ai_log.hpp"
|
||||||
#include "../../core/alloc_func.hpp"
|
#include "../../core/alloc_func.hpp"
|
||||||
#include "../../company_func.h"
|
#include "../../company_func.h"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_map.cpp Implementation of AIMap. */
|
/** @file ai_map.cpp Implementation of AIMap. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_map.hpp"
|
#include "ai_map.hpp"
|
||||||
#include "../../tile_map.h"
|
#include "../../tile_map.h"
|
||||||
|
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_marine.cpp Implementation of AIMarine. */
|
/** @file ai_marine.cpp Implementation of AIMarine. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_marine.hpp"
|
#include "ai_marine.hpp"
|
||||||
#include "ai_station.hpp"
|
#include "ai_station.hpp"
|
||||||
#include "../../station_base.h"
|
#include "../../station_base.h"
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
#ifndef AI_MARINE_HPP
|
#ifndef AI_MARINE_HPP
|
||||||
#define AI_MARINE_HPP
|
#define AI_MARINE_HPP
|
||||||
|
|
||||||
|
#include "ai_object.hpp"
|
||||||
#include "ai_error.hpp"
|
#include "ai_error.hpp"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -11,11 +11,7 @@
|
|||||||
|
|
||||||
#include "../../stdafx.h"
|
#include "../../stdafx.h"
|
||||||
#include "../../script/squirrel.hpp"
|
#include "../../script/squirrel.hpp"
|
||||||
#include "../../command_func.h"
|
|
||||||
#include "../../company_base.h"
|
#include "../../company_base.h"
|
||||||
#include "../../company_func.h"
|
|
||||||
#include "../../network/network.h"
|
|
||||||
#include "../../tunnelbridge.h"
|
|
||||||
|
|
||||||
#include "../ai_storage.hpp"
|
#include "../ai_storage.hpp"
|
||||||
#include "../ai_instance.hpp"
|
#include "../ai_instance.hpp"
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
#ifndef AI_OBJECT_HPP
|
#ifndef AI_OBJECT_HPP
|
||||||
#define AI_OBJECT_HPP
|
#define AI_OBJECT_HPP
|
||||||
|
|
||||||
|
#include "../../stdafx.h"
|
||||||
#include "../../misc/countedptr.hpp"
|
#include "../../misc/countedptr.hpp"
|
||||||
#include "../../road_type.h"
|
#include "../../road_type.h"
|
||||||
#include "../../rail_type.h"
|
#include "../../rail_type.h"
|
||||||
|
@@ -9,8 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_order.cpp Implementation of AIOrder. */
|
/** @file ai_order.cpp Implementation of AIOrder. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_order.hpp"
|
|
||||||
#include "ai_vehicle.hpp"
|
#include "ai_vehicle.hpp"
|
||||||
#include "../ai_instance.hpp"
|
#include "../ai_instance.hpp"
|
||||||
#include "../../debug.h"
|
#include "../../debug.h"
|
||||||
@@ -48,7 +46,7 @@ static OrderType GetOrderTypeByTile(TileIndex t)
|
|||||||
|
|
||||||
/* static */ bool AIOrder::IsValidVehicleOrder(VehicleID vehicle_id, OrderPosition order_position)
|
/* static */ bool AIOrder::IsValidVehicleOrder(VehicleID vehicle_id, OrderPosition order_position)
|
||||||
{
|
{
|
||||||
return AIVehicle::IsValidVehicle(vehicle_id) && order_position >= 0 && (order_position < ::Vehicle::Get(vehicle_id)->GetNumManualOrders() || order_position == ORDER_CURRENT);
|
return AIVehicle::IsValidVehicle(vehicle_id) && order_position >= 0 && (order_position < ::Vehicle::Get(vehicle_id)->GetNumOrders() || order_position == ORDER_CURRENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -65,14 +63,7 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
|
|||||||
order_position = AIOrder::ResolveOrderPosition(vehicle_id, order_position);
|
order_position = AIOrder::ResolveOrderPosition(vehicle_id, order_position);
|
||||||
if (order_position == AIOrder::ORDER_INVALID) return NULL;
|
if (order_position == AIOrder::ORDER_INVALID) return NULL;
|
||||||
}
|
}
|
||||||
const Order *order = v->orders.list->GetFirstOrder();
|
return v->GetOrder(order_position);
|
||||||
while (order->GetType() == OT_AUTOMATIC) order = order->next;
|
|
||||||
while (order_position > 0) {
|
|
||||||
order_position = (AIOrder::OrderPosition)(order_position - 1);
|
|
||||||
order = order->next;
|
|
||||||
while (order->GetType() == OT_AUTOMATIC) order = order->next;
|
|
||||||
}
|
|
||||||
return order;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* static */ bool AIOrder::IsGotoStationOrder(VehicleID vehicle_id, OrderPosition order_position)
|
/* static */ bool AIOrder::IsGotoStationOrder(VehicleID vehicle_id, OrderPosition order_position)
|
||||||
@@ -131,18 +122,8 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
|
|||||||
{
|
{
|
||||||
if (!AIVehicle::IsValidVehicle(vehicle_id)) return ORDER_INVALID;
|
if (!AIVehicle::IsValidVehicle(vehicle_id)) return ORDER_INVALID;
|
||||||
|
|
||||||
if (order_position == ORDER_CURRENT) {
|
if (order_position == ORDER_CURRENT) return (AIOrder::OrderPosition)::Vehicle::Get(vehicle_id)->cur_order_index;
|
||||||
int cur_order_pos = ::Vehicle::Get(vehicle_id)->cur_real_order_index;
|
return (order_position >= 0 && order_position < ::Vehicle::Get(vehicle_id)->GetNumOrders()) ? order_position : ORDER_INVALID;
|
||||||
const Order *order = ::Vehicle::Get(vehicle_id)->GetOrder(0);
|
|
||||||
if (order == NULL) return ORDER_INVALID;
|
|
||||||
int num_automatic_orders = 0;
|
|
||||||
for (int i = 0; i < cur_order_pos; i++) {
|
|
||||||
if (order->GetType() == OT_AUTOMATIC) num_automatic_orders++;
|
|
||||||
order = order->next;
|
|
||||||
}
|
|
||||||
return (AIOrder::OrderPosition)(cur_order_pos - num_automatic_orders);
|
|
||||||
}
|
|
||||||
return (order_position >= 0 && order_position < ::Vehicle::Get(vehicle_id)->GetNumManualOrders()) ? order_position : ORDER_INVALID;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -279,7 +260,7 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
|
|||||||
if (!IsValidVehicleOrder(vehicle_id, order_position)) return ORDER_INVALID;
|
if (!IsValidVehicleOrder(vehicle_id, order_position)) return ORDER_INVALID;
|
||||||
if (order_position == ORDER_CURRENT || !IsConditionalOrder(vehicle_id, order_position)) return ORDER_INVALID;
|
if (order_position == ORDER_CURRENT || !IsConditionalOrder(vehicle_id, order_position)) return ORDER_INVALID;
|
||||||
|
|
||||||
const Order *order = ::ResolveOrder(vehicle_id, order_position);
|
const Order *order = Vehicle::Get(vehicle_id)->GetOrder(order_position);
|
||||||
return (OrderPosition)order->GetConditionSkipToOrder();
|
return (OrderPosition)order->GetConditionSkipToOrder();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -288,7 +269,7 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
|
|||||||
if (!IsValidVehicleOrder(vehicle_id, order_position)) return OC_INVALID;
|
if (!IsValidVehicleOrder(vehicle_id, order_position)) return OC_INVALID;
|
||||||
if (order_position == ORDER_CURRENT || !IsConditionalOrder(vehicle_id, order_position)) return OC_INVALID;
|
if (order_position == ORDER_CURRENT || !IsConditionalOrder(vehicle_id, order_position)) return OC_INVALID;
|
||||||
|
|
||||||
const Order *order = ::ResolveOrder(vehicle_id, order_position);
|
const Order *order = Vehicle::Get(vehicle_id)->GetOrder(order_position);
|
||||||
return (OrderCondition)order->GetConditionVariable();
|
return (OrderCondition)order->GetConditionVariable();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -297,7 +278,7 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
|
|||||||
if (!IsValidVehicleOrder(vehicle_id, order_position)) return CF_INVALID;
|
if (!IsValidVehicleOrder(vehicle_id, order_position)) return CF_INVALID;
|
||||||
if (order_position == ORDER_CURRENT || !IsConditionalOrder(vehicle_id, order_position)) return CF_INVALID;
|
if (order_position == ORDER_CURRENT || !IsConditionalOrder(vehicle_id, order_position)) return CF_INVALID;
|
||||||
|
|
||||||
const Order *order = ::ResolveOrder(vehicle_id, order_position);
|
const Order *order = Vehicle::Get(vehicle_id)->GetOrder(order_position);
|
||||||
return (CompareFunction)order->GetConditionComparator();
|
return (CompareFunction)order->GetConditionComparator();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -306,7 +287,7 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
|
|||||||
if (!IsValidVehicleOrder(vehicle_id, order_position)) return -1;
|
if (!IsValidVehicleOrder(vehicle_id, order_position)) return -1;
|
||||||
if (order_position == ORDER_CURRENT || !IsConditionalOrder(vehicle_id, order_position)) return -1;
|
if (order_position == ORDER_CURRENT || !IsConditionalOrder(vehicle_id, order_position)) return -1;
|
||||||
|
|
||||||
const Order *order = ::ResolveOrder(vehicle_id, order_position);
|
const Order *order = Vehicle::Get(vehicle_id)->GetOrder(order_position);
|
||||||
int32 value = order->GetConditionValue();
|
int32 value = order->GetConditionValue();
|
||||||
if (order->GetConditionVariable() == OCV_MAX_SPEED) value = value * 16 / 10;
|
if (order->GetConditionVariable() == OCV_MAX_SPEED) value = value * 16 / 10;
|
||||||
return value;
|
return value;
|
||||||
@@ -318,7 +299,7 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
|
|||||||
if (AIVehicle::GetVehicleType(vehicle_id) != AIVehicle::VT_RAIL) return STOPLOCATION_INVALID;
|
if (AIVehicle::GetVehicleType(vehicle_id) != AIVehicle::VT_RAIL) return STOPLOCATION_INVALID;
|
||||||
if (!IsGotoStationOrder(vehicle_id, order_position)) return STOPLOCATION_INVALID;
|
if (!IsGotoStationOrder(vehicle_id, order_position)) return STOPLOCATION_INVALID;
|
||||||
|
|
||||||
const Order *order = ::ResolveOrder(vehicle_id, order_position);
|
const Order *order = Vehicle::Get(vehicle_id)->GetOrder(order_position);
|
||||||
return (AIOrder::StopLocation)order->GetStopLocation();
|
return (AIOrder::StopLocation)order->GetStopLocation();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -505,12 +486,10 @@ static void _DoCommandReturnSetOrderFlags(class AIInstance *instance)
|
|||||||
EnforcePrecondition(false, IsValidVehicleOrder(vehicle_id, order_position));
|
EnforcePrecondition(false, IsValidVehicleOrder(vehicle_id, order_position));
|
||||||
EnforcePrecondition(false, AreOrderFlagsValid(GetOrderDestination(vehicle_id, order_position), order_flags));
|
EnforcePrecondition(false, AreOrderFlagsValid(GetOrderDestination(vehicle_id, order_position), order_flags));
|
||||||
|
|
||||||
const Order *order = ::ResolveOrder(vehicle_id, order_position);
|
const Order *order = Vehicle::Get(vehicle_id)->GetOrder(order_position);
|
||||||
|
|
||||||
AIOrderFlags current = GetOrderFlags(vehicle_id, order_position);
|
AIOrderFlags current = GetOrderFlags(vehicle_id, order_position);
|
||||||
|
|
||||||
EnforcePrecondition(false, (order_flags & AIOF_GOTO_NEAREST_DEPOT) == (current & AIOF_GOTO_NEAREST_DEPOT));
|
|
||||||
|
|
||||||
if ((current & AIOF_NON_STOP_FLAGS) != (order_flags & AIOF_NON_STOP_FLAGS)) {
|
if ((current & AIOF_NON_STOP_FLAGS) != (order_flags & AIOF_NON_STOP_FLAGS)) {
|
||||||
return AIObject::DoCommand(0, vehicle_id | (order_position << 20), (order_flags & AIOF_NON_STOP_FLAGS) << 4 | MOF_NON_STOP, CMD_MODIFY_ORDER, NULL, &_DoCommandReturnSetOrderFlags);
|
return AIObject::DoCommand(0, vehicle_id | (order_position << 20), (order_flags & AIOF_NON_STOP_FLAGS) << 4 | MOF_NON_STOP, CMD_MODIFY_ORDER, NULL, &_DoCommandReturnSetOrderFlags);
|
||||||
}
|
}
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
#ifndef AI_ORDER_HPP
|
#ifndef AI_ORDER_HPP
|
||||||
#define AI_ORDER_HPP
|
#define AI_ORDER_HPP
|
||||||
|
|
||||||
|
#include "ai_object.hpp"
|
||||||
#include "ai_error.hpp"
|
#include "ai_error.hpp"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -112,13 +113,7 @@ public:
|
|||||||
CF_INVALID = -1, ///< Invalid compare function, do not use.
|
CF_INVALID = -1, ///< Invalid compare function, do not use.
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/** Different constants related to the OrderPosition */
|
||||||
* Index in the list of orders for a vehicle. The first order has index 0, the second
|
|
||||||
* order index 1, etc. The current order can be queried by using ORDER_CURRENT. Do not
|
|
||||||
* use ORDER_INVALID yourself, it's used as return value by for example ResolveOrderPosition.
|
|
||||||
* @note Automatic orders are hidden from AIs, so OrderPosition 0 will always be the first
|
|
||||||
* manual order.
|
|
||||||
*/
|
|
||||||
enum OrderPosition {
|
enum OrderPosition {
|
||||||
ORDER_CURRENT = 0xFF, ///< Constant that gets resolved to the current order.
|
ORDER_CURRENT = 0xFF, ///< Constant that gets resolved to the current order.
|
||||||
ORDER_INVALID = -1, ///< An invalid order.
|
ORDER_INVALID = -1, ///< An invalid order.
|
||||||
@@ -457,7 +452,6 @@ public:
|
|||||||
* @param order_flags The new flags given to the order.
|
* @param order_flags The new flags given to the order.
|
||||||
* @pre IsValidVehicleOrder(vehicle_id, order_position).
|
* @pre IsValidVehicleOrder(vehicle_id, order_position).
|
||||||
* @pre AreOrderFlagsValid(GetOrderDestination(vehicle_id, order_position), order_flags).
|
* @pre AreOrderFlagsValid(GetOrderDestination(vehicle_id, order_position), order_flags).
|
||||||
* @pre (order_flags & AIOF_GOTO_NEAREST_DEPOT) == (GetOrderFlags(vehicle_id, order_position) & AIOF_GOTO_NEAREST_DEPOT).
|
|
||||||
* @exception AIError::ERR_OWNED_BY_ANOTHER_COMPANY
|
* @exception AIError::ERR_OWNED_BY_ANOTHER_COMPANY
|
||||||
* @return True if and only if the order was changed.
|
* @return True if and only if the order was changed.
|
||||||
*/
|
*/
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_rail.cpp Implementation of AIRail. */
|
/** @file ai_rail.cpp Implementation of AIRail. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_rail.hpp"
|
#include "ai_rail.hpp"
|
||||||
#include "ai_map.hpp"
|
#include "ai_map.hpp"
|
||||||
#include "ai_station.hpp"
|
#include "ai_station.hpp"
|
||||||
|
@@ -12,6 +12,8 @@
|
|||||||
#ifndef AI_RAIL_HPP
|
#ifndef AI_RAIL_HPP
|
||||||
#define AI_RAIL_HPP
|
#define AI_RAIL_HPP
|
||||||
|
|
||||||
|
#include "ai_object.hpp"
|
||||||
|
#include "ai_error.hpp"
|
||||||
#include "ai_tile.hpp"
|
#include "ai_tile.hpp"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -35,6 +37,9 @@ public:
|
|||||||
/** Track not suitable for signals */
|
/** Track not suitable for signals */
|
||||||
ERR_UNSUITABLE_TRACK, // [STR_ERROR_NO_SUITABLE_RAILROAD_TRACK]
|
ERR_UNSUITABLE_TRACK, // [STR_ERROR_NO_SUITABLE_RAILROAD_TRACK]
|
||||||
|
|
||||||
|
/** Non-uniform stations is diabled */
|
||||||
|
ERR_NONUNIFORM_STATIONS_DISABLED, // [STR_ERROR_NONUNIFORM_STATIONS_DISALLOWED]
|
||||||
|
|
||||||
/** This railtype cannot have crossings */
|
/** This railtype cannot have crossings */
|
||||||
ERR_RAILTYPE_DISALLOWS_CROSSING, // [STR_ERROR_CROSSING_DISALLOWED]
|
ERR_RAILTYPE_DISALLOWS_CROSSING, // [STR_ERROR_CROSSING_DISALLOWED]
|
||||||
};
|
};
|
||||||
|
@@ -38,43 +38,46 @@ void SQAIRail_Register(Squirrel *engine)
|
|||||||
SQAIRail.PreRegister(engine);
|
SQAIRail.PreRegister(engine);
|
||||||
SQAIRail.AddConstructor<void (AIRail::*)(), 1>(engine, "x");
|
SQAIRail.AddConstructor<void (AIRail::*)(), 1>(engine, "x");
|
||||||
|
|
||||||
SQAIRail.DefSQConst(engine, AIRail::ERR_RAIL_BASE, "ERR_RAIL_BASE");
|
SQAIRail.DefSQConst(engine, AIRail::ERR_RAIL_BASE, "ERR_RAIL_BASE");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::ERR_CROSSING_ON_ONEWAY_ROAD, "ERR_CROSSING_ON_ONEWAY_ROAD");
|
SQAIRail.DefSQConst(engine, AIRail::ERR_CROSSING_ON_ONEWAY_ROAD, "ERR_CROSSING_ON_ONEWAY_ROAD");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::ERR_UNSUITABLE_TRACK, "ERR_UNSUITABLE_TRACK");
|
SQAIRail.DefSQConst(engine, AIRail::ERR_UNSUITABLE_TRACK, "ERR_UNSUITABLE_TRACK");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::ERR_RAILTYPE_DISALLOWS_CROSSING, "ERR_RAILTYPE_DISALLOWS_CROSSING");
|
SQAIRail.DefSQConst(engine, AIRail::ERR_NONUNIFORM_STATIONS_DISABLED, "ERR_NONUNIFORM_STATIONS_DISABLED");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::RAILTYPE_INVALID, "RAILTYPE_INVALID");
|
SQAIRail.DefSQConst(engine, AIRail::ERR_RAILTYPE_DISALLOWS_CROSSING, "ERR_RAILTYPE_DISALLOWS_CROSSING");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::RAILTRACK_NE_SW, "RAILTRACK_NE_SW");
|
SQAIRail.DefSQConst(engine, AIRail::RAILTYPE_INVALID, "RAILTYPE_INVALID");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::RAILTRACK_NW_SE, "RAILTRACK_NW_SE");
|
SQAIRail.DefSQConst(engine, AIRail::RAILTRACK_NE_SW, "RAILTRACK_NE_SW");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::RAILTRACK_NW_NE, "RAILTRACK_NW_NE");
|
SQAIRail.DefSQConst(engine, AIRail::RAILTRACK_NW_SE, "RAILTRACK_NW_SE");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::RAILTRACK_SW_SE, "RAILTRACK_SW_SE");
|
SQAIRail.DefSQConst(engine, AIRail::RAILTRACK_NW_NE, "RAILTRACK_NW_NE");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::RAILTRACK_NW_SW, "RAILTRACK_NW_SW");
|
SQAIRail.DefSQConst(engine, AIRail::RAILTRACK_SW_SE, "RAILTRACK_SW_SE");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::RAILTRACK_NE_SE, "RAILTRACK_NE_SE");
|
SQAIRail.DefSQConst(engine, AIRail::RAILTRACK_NW_SW, "RAILTRACK_NW_SW");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::RAILTRACK_INVALID, "RAILTRACK_INVALID");
|
SQAIRail.DefSQConst(engine, AIRail::RAILTRACK_NE_SE, "RAILTRACK_NE_SE");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_NORMAL, "SIGNALTYPE_NORMAL");
|
SQAIRail.DefSQConst(engine, AIRail::RAILTRACK_INVALID, "RAILTRACK_INVALID");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_ENTRY, "SIGNALTYPE_ENTRY");
|
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_NORMAL, "SIGNALTYPE_NORMAL");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_EXIT, "SIGNALTYPE_EXIT");
|
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_ENTRY, "SIGNALTYPE_ENTRY");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_COMBO, "SIGNALTYPE_COMBO");
|
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_EXIT, "SIGNALTYPE_EXIT");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_PBS, "SIGNALTYPE_PBS");
|
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_COMBO, "SIGNALTYPE_COMBO");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_PBS_ONEWAY, "SIGNALTYPE_PBS_ONEWAY");
|
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_PBS, "SIGNALTYPE_PBS");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_TWOWAY, "SIGNALTYPE_TWOWAY");
|
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_PBS_ONEWAY, "SIGNALTYPE_PBS_ONEWAY");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_NORMAL_TWOWAY, "SIGNALTYPE_NORMAL_TWOWAY");
|
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_TWOWAY, "SIGNALTYPE_TWOWAY");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_ENTRY_TWOWAY, "SIGNALTYPE_ENTRY_TWOWAY");
|
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_NORMAL_TWOWAY, "SIGNALTYPE_NORMAL_TWOWAY");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_EXIT_TWOWAY, "SIGNALTYPE_EXIT_TWOWAY");
|
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_ENTRY_TWOWAY, "SIGNALTYPE_ENTRY_TWOWAY");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_COMBO_TWOWAY, "SIGNALTYPE_COMBO_TWOWAY");
|
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_EXIT_TWOWAY, "SIGNALTYPE_EXIT_TWOWAY");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_NONE, "SIGNALTYPE_NONE");
|
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_COMBO_TWOWAY, "SIGNALTYPE_COMBO_TWOWAY");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::BT_TRACK, "BT_TRACK");
|
SQAIRail.DefSQConst(engine, AIRail::SIGNALTYPE_NONE, "SIGNALTYPE_NONE");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::BT_SIGNAL, "BT_SIGNAL");
|
SQAIRail.DefSQConst(engine, AIRail::BT_TRACK, "BT_TRACK");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::BT_DEPOT, "BT_DEPOT");
|
SQAIRail.DefSQConst(engine, AIRail::BT_SIGNAL, "BT_SIGNAL");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::BT_STATION, "BT_STATION");
|
SQAIRail.DefSQConst(engine, AIRail::BT_DEPOT, "BT_DEPOT");
|
||||||
SQAIRail.DefSQConst(engine, AIRail::BT_WAYPOINT, "BT_WAYPOINT");
|
SQAIRail.DefSQConst(engine, AIRail::BT_STATION, "BT_STATION");
|
||||||
|
SQAIRail.DefSQConst(engine, AIRail::BT_WAYPOINT, "BT_WAYPOINT");
|
||||||
|
|
||||||
AIError::RegisterErrorMap(STR_ERROR_CROSSING_ON_ONEWAY_ROAD, AIRail::ERR_CROSSING_ON_ONEWAY_ROAD);
|
AIError::RegisterErrorMap(STR_ERROR_CROSSING_ON_ONEWAY_ROAD, AIRail::ERR_CROSSING_ON_ONEWAY_ROAD);
|
||||||
AIError::RegisterErrorMap(STR_ERROR_NO_SUITABLE_RAILROAD_TRACK, AIRail::ERR_UNSUITABLE_TRACK);
|
AIError::RegisterErrorMap(STR_ERROR_NO_SUITABLE_RAILROAD_TRACK, AIRail::ERR_UNSUITABLE_TRACK);
|
||||||
AIError::RegisterErrorMap(STR_ERROR_CROSSING_DISALLOWED, AIRail::ERR_RAILTYPE_DISALLOWS_CROSSING);
|
AIError::RegisterErrorMap(STR_ERROR_NONUNIFORM_STATIONS_DISALLOWED, AIRail::ERR_NONUNIFORM_STATIONS_DISABLED);
|
||||||
|
AIError::RegisterErrorMap(STR_ERROR_CROSSING_DISALLOWED, AIRail::ERR_RAILTYPE_DISALLOWS_CROSSING);
|
||||||
|
|
||||||
AIError::RegisterErrorMapString(AIRail::ERR_CROSSING_ON_ONEWAY_ROAD, "ERR_CROSSING_ON_ONEWAY_ROAD");
|
AIError::RegisterErrorMapString(AIRail::ERR_CROSSING_ON_ONEWAY_ROAD, "ERR_CROSSING_ON_ONEWAY_ROAD");
|
||||||
AIError::RegisterErrorMapString(AIRail::ERR_UNSUITABLE_TRACK, "ERR_UNSUITABLE_TRACK");
|
AIError::RegisterErrorMapString(AIRail::ERR_UNSUITABLE_TRACK, "ERR_UNSUITABLE_TRACK");
|
||||||
AIError::RegisterErrorMapString(AIRail::ERR_RAILTYPE_DISALLOWS_CROSSING, "ERR_RAILTYPE_DISALLOWS_CROSSING");
|
AIError::RegisterErrorMapString(AIRail::ERR_NONUNIFORM_STATIONS_DISABLED, "ERR_NONUNIFORM_STATIONS_DISABLED");
|
||||||
|
AIError::RegisterErrorMapString(AIRail::ERR_RAILTYPE_DISALLOWS_CROSSING, "ERR_RAILTYPE_DISALLOWS_CROSSING");
|
||||||
|
|
||||||
SQAIRail.DefSQStaticMethod(engine, &AIRail::GetName, "GetName", 2, ".i");
|
SQAIRail.DefSQStaticMethod(engine, &AIRail::GetName, "GetName", 2, ".i");
|
||||||
SQAIRail.DefSQStaticMethod(engine, &AIRail::IsRailTile, "IsRailTile", 2, ".i");
|
SQAIRail.DefSQStaticMethod(engine, &AIRail::IsRailTile, "IsRailTile", 2, ".i");
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_railtypelist.cpp Implementation of AIRailTypeList and friends. */
|
/** @file ai_railtypelist.cpp Implementation of AIRailTypeList and friends. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_railtypelist.hpp"
|
#include "ai_railtypelist.hpp"
|
||||||
#include "../../rail.h"
|
#include "../../rail.h"
|
||||||
#include "../../company_func.h"
|
#include "../../company_func.h"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_road.cpp Implementation of AIRoad. */
|
/** @file ai_road.cpp Implementation of AIRoad. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_map.hpp"
|
#include "ai_map.hpp"
|
||||||
#include "ai_station.hpp"
|
#include "ai_station.hpp"
|
||||||
#include "ai_cargo.hpp"
|
#include "ai_cargo.hpp"
|
||||||
|
@@ -12,6 +12,8 @@
|
|||||||
#ifndef AI_ROAD_HPP
|
#ifndef AI_ROAD_HPP
|
||||||
#define AI_ROAD_HPP
|
#define AI_ROAD_HPP
|
||||||
|
|
||||||
|
#include "ai_object.hpp"
|
||||||
|
#include "ai_error.hpp"
|
||||||
#include "ai_tile.hpp"
|
#include "ai_tile.hpp"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_sign.cpp Implementation of AISign. */
|
/** @file ai_sign.cpp Implementation of AISign. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_sign.hpp"
|
#include "ai_sign.hpp"
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
#include "../ai_instance.hpp"
|
#include "../ai_instance.hpp"
|
||||||
|
@@ -12,7 +12,9 @@
|
|||||||
#ifndef AI_SIGN_HPP
|
#ifndef AI_SIGN_HPP
|
||||||
#define AI_SIGN_HPP
|
#define AI_SIGN_HPP
|
||||||
|
|
||||||
|
#include "ai_object.hpp"
|
||||||
#include "ai_error.hpp"
|
#include "ai_error.hpp"
|
||||||
|
#include "ai_company.hpp"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class that handles all sign related functions.
|
* Class that handles all sign related functions.
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_signlist.cpp Implementation of AISignList and friends. */
|
/** @file ai_signlist.cpp Implementation of AISignList and friends. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_signlist.hpp"
|
#include "ai_signlist.hpp"
|
||||||
#include "ai_sign.hpp"
|
#include "ai_sign.hpp"
|
||||||
#include "../../signs_base.h"
|
#include "../../signs_base.h"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_station.cpp Implementation of AIStation. */
|
/** @file ai_station.cpp Implementation of AIStation. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_station.hpp"
|
#include "ai_station.hpp"
|
||||||
#include "ai_cargo.hpp"
|
#include "ai_cargo.hpp"
|
||||||
#include "ai_map.hpp"
|
#include "ai_map.hpp"
|
||||||
|
@@ -12,6 +12,8 @@
|
|||||||
#ifndef AI_STATION_HPP
|
#ifndef AI_STATION_HPP
|
||||||
#define AI_STATION_HPP
|
#define AI_STATION_HPP
|
||||||
|
|
||||||
|
#include "ai_object.hpp"
|
||||||
|
#include "ai_error.hpp"
|
||||||
#include "ai_road.hpp"
|
#include "ai_road.hpp"
|
||||||
#include "ai_basestation.hpp"
|
#include "ai_basestation.hpp"
|
||||||
|
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_stationlist.cpp Implementation of AIStationList and friends. */
|
/** @file ai_stationlist.cpp Implementation of AIStationList and friends. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_stationlist.hpp"
|
#include "ai_stationlist.hpp"
|
||||||
#include "ai_vehicle.hpp"
|
#include "ai_vehicle.hpp"
|
||||||
#include "../../company_func.h"
|
#include "../../company_func.h"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_subsidy.cpp Implementation of AISubsidy. */
|
/** @file ai_subsidy.cpp Implementation of AISubsidy. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_subsidy.hpp"
|
#include "ai_subsidy.hpp"
|
||||||
#include "ai_date.hpp"
|
#include "ai_date.hpp"
|
||||||
#include "../../subsidy_base.h"
|
#include "../../subsidy_base.h"
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
#ifndef AI_SUBSIDY_HPP
|
#ifndef AI_SUBSIDY_HPP
|
||||||
#define AI_SUBSIDY_HPP
|
#define AI_SUBSIDY_HPP
|
||||||
|
|
||||||
|
#include "ai_object.hpp"
|
||||||
#include "ai_company.hpp"
|
#include "ai_company.hpp"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_subsidylist.cpp Implementation of AISubsidyList. */
|
/** @file ai_subsidylist.cpp Implementation of AISubsidyList. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_subsidylist.hpp"
|
#include "ai_subsidylist.hpp"
|
||||||
#include "../../subsidy_base.h"
|
#include "../../subsidy_base.h"
|
||||||
|
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_testmode.cpp Implementation of AITestMode. */
|
/** @file ai_testmode.cpp Implementation of AITestMode. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_testmode.hpp"
|
#include "ai_testmode.hpp"
|
||||||
#include "../../company_base.h"
|
#include "../../company_base.h"
|
||||||
#include "../../company_func.h"
|
#include "../../company_func.h"
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_tile.cpp Implementation of AITile. */
|
/** @file ai_tile.cpp Implementation of AITile. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_tile.hpp"
|
#include "ai_tile.hpp"
|
||||||
#include "ai_map.hpp"
|
#include "ai_map.hpp"
|
||||||
#include "ai_town.hpp"
|
#include "ai_town.hpp"
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
#ifndef AI_TILE_HPP
|
#ifndef AI_TILE_HPP
|
||||||
#define AI_TILE_HPP
|
#define AI_TILE_HPP
|
||||||
|
|
||||||
|
#include "ai_list.hpp"
|
||||||
#include "ai_error.hpp"
|
#include "ai_error.hpp"
|
||||||
#include "ai_company.hpp"
|
#include "ai_company.hpp"
|
||||||
|
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_tilelist.cpp Implementation of AITileList and friends. */
|
/** @file ai_tilelist.cpp Implementation of AITileList and friends. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_tilelist.hpp"
|
#include "ai_tilelist.hpp"
|
||||||
#include "ai_industry.hpp"
|
#include "ai_industry.hpp"
|
||||||
#include "../../industry.h"
|
#include "../../industry.h"
|
||||||
|
@@ -12,8 +12,8 @@
|
|||||||
#ifndef AI_TILELIST_HPP
|
#ifndef AI_TILELIST_HPP
|
||||||
#define AI_TILELIST_HPP
|
#define AI_TILELIST_HPP
|
||||||
|
|
||||||
#include "ai_station.hpp"
|
|
||||||
#include "ai_list.hpp"
|
#include "ai_list.hpp"
|
||||||
|
#include "ai_station.hpp"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an empty list, in which you can add tiles.
|
* Creates an empty list, in which you can add tiles.
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_town.cpp Implementation of AITown. */
|
/** @file ai_town.cpp Implementation of AITown. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_town.hpp"
|
#include "ai_town.hpp"
|
||||||
#include "ai_map.hpp"
|
#include "ai_map.hpp"
|
||||||
#include "ai_cargo.hpp"
|
#include "ai_cargo.hpp"
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
#ifndef AI_TOWN_HPP
|
#ifndef AI_TOWN_HPP
|
||||||
#define AI_TOWN_HPP
|
#define AI_TOWN_HPP
|
||||||
|
|
||||||
|
#include "ai_object.hpp"
|
||||||
#include "ai_company.hpp"
|
#include "ai_company.hpp"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_townlist.cpp Implementation of AITownList and friends. */
|
/** @file ai_townlist.cpp Implementation of AITownList and friends. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_townlist.hpp"
|
#include "ai_townlist.hpp"
|
||||||
#include "../../town.h"
|
#include "../../town.h"
|
||||||
|
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_tunnel.cpp Implementation of AITunnel. */
|
/** @file ai_tunnel.cpp Implementation of AITunnel. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_tunnel.hpp"
|
#include "ai_tunnel.hpp"
|
||||||
#include "ai_rail.hpp"
|
#include "ai_rail.hpp"
|
||||||
#include "../ai_instance.hpp"
|
#include "../ai_instance.hpp"
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
#ifndef AI_TUNNEL_HPP
|
#ifndef AI_TUNNEL_HPP
|
||||||
#define AI_TUNNEL_HPP
|
#define AI_TUNNEL_HPP
|
||||||
|
|
||||||
|
#include "ai_object.hpp"
|
||||||
#include "ai_vehicle.hpp"
|
#include "ai_vehicle.hpp"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
/** @file ai_vehicle.cpp Implementation of AIVehicle. */
|
/** @file ai_vehicle.cpp Implementation of AIVehicle. */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
|
||||||
#include "ai_engine.hpp"
|
#include "ai_engine.hpp"
|
||||||
#include "ai_cargo.hpp"
|
#include "ai_cargo.hpp"
|
||||||
#include "ai_gamesettings.hpp"
|
#include "ai_gamesettings.hpp"
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user