- nvar=0 is meant to return the calculated result.
- Missing references resolve to NULL and got identified with the default result.
- Missing 'break' broke overlapping cases.
- Splitting into non-overlapping cases could result in more than 256 cases.
-Fix: [NewGRF] Reset used random triggers only after all A123 chains have been resolved, so that all RA2 in all chains can test the shard triggers. This also includes multiple RA2 in the same A123 chain.
-Fix: [NewGRF] Industry random triggers are stored per tile, even when randomising the shared random bits of the parent industry.
FreeTrainTrackReservation is always called with INVALID_TILE
and INVALID_TRACKDIR as second and third arguments, so remove
them and just use those constants instead. (cirdan)
Code dealing with freeing and restoring track reservations is
duplicated in CmdBuildRailStation and RemoveFromRailBaseStation;
make separate functions for it. (cirdan)
ShipGetNewDirection has no side effects and its return value
is ignored by its only caller, so do away with it.
Also remove now unused _new_vehicle_direction_table. (cirdan)
Industry-sets that have no stockpiling get better control over the displayed accepted cargo information.
- result 0401 only prints the accepted cargo
- results 0800-0BFF prints the accepted cargo and a string (but not the amount)
openttd.grf is now always loaded and provides all extra graphics in case the (possibly outdated) baseset does not.
orig_extra.grf contains graphics specific to the original baseset only.
-Codechange: Remove LAST_GRF_SLOT and MAX_NEWGRFS. Now NETWORK_MAX_GRF_COUNT is the only constant to specify the maximum number of non-static NewGRF.
-Codechange: Increase the number of file slots, effectively increasing the maximum number of static NewGRF and baseset GRFs.
serbian: 86 changes by stravagante
catalan: 77 changes by juanjo
german: 1 change by mini1025
russian: 1 change by Lone_Wolf
latin: 1 change by Supercheese
german: 8 changes by translators, 2 changes by frosch
arabic (egypt): 36 changes by translators
afrikaans: 4 changes by translators
hungarian: 1 change by translators
english (us): 1 change by translators
frisian: 2 changes by translators
norwegian (bokmal): 5 changes by translators
norwegian (nynorsk): 1 change by translators
lithuanian: 5 changes by translators
slovenian: 4 changes by translators
russian: 1 change by translators
ukrainian: 2 changes by translators
welsh: 3 changes by translators
french: 5 changes by glx
english (au): 1 change by translators
irish: 1 change by translators
tamil: 1 change by translators
belarusian: 2 changes by translators
bulgarian: 1 change by translators
italian: 1 change by translators
scottish gaelic: 1 change by translators
romanian: 2 changes by translators
urdu: 5 changes by translators
turkish: 11 changes by translators
portuguese: 1 change by translators
latvian: 2 changes by translators
esperanto: 1 change by translators
dutch: 3 changes by translators
serbian: 1 change by translators
spanish: 1 change by translators
czech: 4 changes by translators
indonesian: 2 changes by translators
latin: 1 change by translators
catalan: 2 changes by translators
hebrew: 9 changes by translators
greek: 5 changes by translators
polish: 1 change by translators
chinese (traditional): 1 change by translators
slovak: 1 change by translators
icelandic: 2 changes by translators
portuguese (brazilian): 4 changes by translators
danish: 2 changes by translators
vietnamese: 6 changes by translators
malay: 2 changes by translators
galician: 4 changes by translators
croatian: 1 change by translators
korean: 4 changes by translators
finnish: 1 change by translators
chinese (simplified): 1 change by translators
estonian: 3 changes by translators
persian: 4 changes by translators
thai: 6 changes by translators
swedish: 1 change by translators
luxembourgish: 3 changes by translators
japanese: 5 changes by translators
basque: 2 changes by translators
afrikaans - 10 changes by telanus
croatian - 4 changes by VoyagerOne
finnish - 4 changes by jpx_
hebrew - 9 changes by oofnik
italian - 3 changes by lorenzodv
korean - 11 changes by Gimel3830, telk5093
lithuanian - 4 changes by Stabilitronas
polish - 4 changes by wojteks86
romanian - 29 changes by kneekoo
gaelic - 4 changes by GunChleoc
slovak - 17 changes by Milsa
spanish - 4 changes by SilverSurferZzZ
- Instead of hardcoding the .txt extension in a printf string, it is
now stored in an array of possible extensions. This array still only
contains .txt, so behaviour is unchanged, but this makes it easier
to add other extensions later.
catalan - 2 changes by juanjo
dutch - 2 changes by habell
finnish - 45 changes by jpx_
irish - 58 changes by tem
spanish - 2 changes by SilverSurferZzZ
catalan - 3 changes by juanjo
croatian - 1 changes by VoyagerOne
romanian - 19 changes by kitguyy
russian - 6 changes by Lone_Wolf
spanish - 2 changes by SilverSurferZzZ
catalan - 11 changes by juanjo
english_US - 1 changes by Supercheese
german - 6 changes by planetmaker
hungarian - 14 changes by Brumi
italian - 1 changes by lorenzodv
latin - 6 changes by Supercheese
spanish - 3 changes by SilverSurferZzZ
welsh - 8 changes by kazzie
catalan - 1 changes by juanjo
croatian - 15 changes by VoyagerOne
dutch - 28 changes by habell
latin - 5 changes by Supercheese
latvian - 50 changes by Olby
gaelic - 34 changes by GunChleoc
spanish - 2 changes by SilverSurferZzZ
afrikaans - 4 changes by telanus
catalan - 16 changes by juanjo
english_US - 6 changes by Supercheese
french - 5 changes by glx
hungarian - 66 changes by IPG
italian - 5 changes by lorenzodv
korean - 5 changes by telk5093
russian - 5 changes by Lone_Wolf
spanish - 4 changes by SilverSurferZzZ
basque - 60 changes by Thadah
french - 10 changes by glx
italian - 8 changes by lorenzodv
norwegian_bokmal - 4 changes by cuthbert
swedish - 3 changes by Zuu
czech - 21 changes by argoneus
korean - 2 changes by telk5093
lithuanian - 18 changes by Stabilitronas
spanish - 3 changes by SilverSurferZzZ
welsh - 14 changes by kazzie
belarusian - 13 changes by KorneySan
catalan - 1 changes by juanjo
english_US - 15 changes by Supercheese
german - 13 changes by planetmaker
italian - 14 changes by lorenzodv
korean - 17 changes by telk5093
polish - 13 changes by wojteks86
russian - 13 changes by Lone_Wolf
finnish - 19 changes by jpx_
persian - 65 changes by Garga
polish - 4 changes by wojteks86
russian - 2 changes by Lone_Wolf
swedish - 31 changes by spacejens
urdu - 80 changes by siphr
welsh - 42 changes by kazzie
croatian - 4 changes by VoyagerOne
greek - 2 changes by Jubilee
italian - 4 changes by lorenzodv
korean - 32 changes by telk5093
persian - 34 changes by farazfaraji
urdu - 9 changes by siphr
afrikaans - 9 changes by telanus
polish - 30 changes by McZapkie
slovak - 4 changes by Milsa
slovenian - 1 changes by ntadej
spanish - 4 changes by SilverSurferZzZ
croatian - 47 changes by VoyagerOne
english_AU - 50 changes by mrtux
finnish - 25 changes by jpx_
korean - 1 changes by telk5093
polish - 50 changes by wojteks86
afrikaans - 6 changes by telanus
belarusian - 3 changes by KorneySan
catalan - 5 changes by juanjo
korean - 2 changes by telk5093
russian - 2 changes by Lone_Wolf
afrikaans - 6 changes by telanus
croatian - 2 changes by VoyagerOne
dutch - 2 changes by habell
finnish - 2 changes by jpx_
german - 3 changes by planetmaker
lithuanian - 2 changes by Stabilitronas
swedish - 1 changes by spacejens
esperanto - 5 changes by polluks
indonesian - 51 changes by redout9122
malay - 9 changes by TheITChap
norwegian_bokmal - 6 changes by hafting
polish - 1 changes by nitro2012
italian - 15 changes by lorenzodv
korean - 1 changes by telk5093
lithuanian - 19 changes by Stabilitronas
brazilian_portuguese - 4 changes by Tucalipe
slovak - 1 changes by Milsa
catalan - 57 changes by juanjo
english_AU - 1 changes by mrtux
german - 1 changes by planetmaker
hebrew - 24 changes by oofnik
italian - 1 changes by lorenzodv
russian - 1 changes by Lone_Wolf
catalan - 8 changes by juanjo
croatian - 12 changes by VoyagerOne
french - 2 changes by glx
german - 2 changes by planetmaker
italian - 12 changes by lorenzodv
russian - 2 changes by Lone_Wolf
catalan - 42 changes by juanjo
english_AU - 10 changes by mrtux
finnish - 10 changes by jpx_
french - 10 changes by glx
korean - 11 changes by telk5093
russian - 4 changes by Lone_Wolf
spanish - 3 changes by juanjo
dutch - 16 changes by habell
english_AU - 17 changes by mrtux
french - 17 changes by glx
german - 20 changes by planetmaker
italian - 17 changes by lorenzodv
korean - 22 changes by telk5093
russian - 1 changes by Lone_Wolf
slovak - 11 changes by Milsa
english_AU - 1 changes by mrtux
english_US - 1 changes by Supercheese
french - 57 changes by glx
german - 5 changes by planetmaker
korean - 1 changes by telk5093
lithuanian - 3 changes by
luxembourgish - 51 changes by Phreeze
russian - 1 changes by KorneySan
czech - 14 changes by djst
finnish - 1 changes by jpx_
italian - 5 changes by lorenzodv
brazilian_portuguese - 49 changes by Tucalipe
russian - 32 changes by Lone_Wolf
catalan - 24 changes by juanjo
english_US - 25 changes by Supercheese
finnish - 31 changes by jpx_
german - 32 changes by planetmaker
korean - 43 changes by telk5093
luxembourgish - 39 changes by Phreeze
russian - 17 changes by Lone_Wolf
-Remove: [win32] fullscreen_bpp setting, which is replaced by above setting.
-Change: Disable usage of 8bpp blitters and video modes by default. Many modern OS and hardware cause issues with those.
catalan - 2 changes by juanjo
croatian - 1 changes by VoyagerOne
estonian - 2 changes by KSiimson
lithuanian - 3 changes by Stabilitronas
spanish - 1 changes by juanjo
catalan - 4 changes by juanjo
simplified_chinese - 79 changes by xiangyigao
english_US - 8 changes by Supercheese
indonesian - 7 changes by Yoursnotmine
italian - 1 changes by lorenzodv
german - 3 changes by planetmaker
hungarian - 5 changes by Brumi
italian - 3 changes by lorenzodv
turkish - 4 changes by wakeup
welsh - 6 changes by kazzie
basque - 35 changes by laxkax
simplified_chinese - 2 changes by Gavin
finnish - 2 changes by jpx_
italian - 1 changes by lorenzodv
korean - 2 changes by telk5093
gaelic - 1 changes by GunChleoc
simplified_chinese - 5 changes by siu238X, xiangyigao
traditional_chinese - 2 changes by siu238X
czech - 1 changes by marek995
german - 1 changes by Jogio
english_AU - 2 changes by mrtux
italian - 1 changes by lorenzodv
japanese - 10 changes by guppy
lithuanian - 1 changes by Stabilitronas
polish - 21 changes by Kilian
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# 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/>.
#
# Building requires GRFCodec and NFORenum. Older versions of GRFCodec are
# known to miscompile the graphics.
# Building requires GRFCodec.
#
# Recent nightlies (including sources) of both can be found at:
# Recent versions (including sources) can be found at:
# http://www.openttd.org/download-grfcodec
# http://www.openttd.org/download-nforenum
#
# The mercurial repository of both can be found at:
* 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/>.
*/
AILog.Info("0.7 API compatability in effect:");
AILog.Info("0.7 API compatibility in effect:");
AILog.Info(" - AITown::GetLastMonthProduction's behaviour has slightly changed.");
AILog.Info(" - AISubsidy::GetDestination returns STATION_INVALID for awarded subsidies.");
AILog.Info(" - AISubsidy::GetSource returns STATION_INVALID for awarded subsidies.");
* 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/>.
* 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/>.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* 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/>.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* 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/>.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* 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/>.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* 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/>.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* 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/>.
* 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/>.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* 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/>.
*/
GSLog.Info("1.4 API compatibility in effect.");
/* 1.5 adds a game element reference to the news. */
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* 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/>.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* 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/>.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* 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/>.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* 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/>.
- Feature: Add option to close windows with right click [FS#4950] (r27826, r27825)
- Feature: Vehicle Group Info: Add profits and occupancy display to group vehicle list (r27822)
- Feature: Display aircraft type in vehicle preview/purchase/detail windows (r27802, r27799, r27797)
- Change: [NewGRF] Various performance improvements to resolving VA2 (r27989, r27985, r27984, r27983, r27982)
- Change: [NewGRF] Increase maximum allowed vehicle sprite size to reduce clipping of ships (r27987)
- Change: Check companies for bankruptcy before subtracting reoccuring monthly costs [FS#6679] (r27981)
- Change: [GFX] Replace the office building sprite on various toyland airports with a better fitting sprite [FS#6664] (r27977)
- Change: [GFX] The switch-toolbar icon contained pixels from the fire cycle. Replace the whole icon with a new version [FS#6654] (r27961)
- Change: Reword texts in industry view, when stockpiling is used (r27952)
- Change: Remove the gap between windows when positioning them after opening [FS#6568] (r27934, r27900)
- Change: [Build] Enable usage of static_assert for MSVC (r27916)
- Change: [Build] Preserve PKG_CONFIG_PATH and PKG_CONFIG_LIBDIR environment variables in config.cache file [FS#6614] (r27902)
- Change: Do not cancel headquarter construction and engine-preview-query when shift-clicking (r27889)
- Change: Parse extmidi command string for parameters to pass on (r27834)
- Change: Draw images in centre of buttons (r27829, r27821)
- Fix: Store the map variety setting in the savegame like the other mapgen settings, so restarting maps considers it [FS#6673] (r27978)
- Fix: Hair selection was missing one option [FS#6642] (r27975)
- Fix: Avoid tile operations outside map border when building lock [FS#6662] (r27973)
- Fix: Catenary sprites got mixed up for depots [FS#6670] (r27972)
- Fix: Make automatic window-positioning RTL-aware (r27934, r27900)
- Fix: Automatic window-positioning now uses GUI-scale/style dependent sizes/distances instead of fixed pixel values (r27934, r27900)
- Fix: [NewGRF] While executing random triggers, var 5F should include the new triggers (r27928)
- Fix: [NewGRF] Reset used random triggers only after all A123 chains have been resolved, so that all RA2 in all chains can test the shared triggers (r27928)
- Fix: [NewGRF] Industry random triggers are stored per tile, even when randomising the shared random bits of the parent industry (r27928)
- Fix: [NPF] Reserved track bits were not accounted for when trying to find any safe position (r27912)
- Fix: Do not modify argv[0] [FS#6575] (r27886)
- Fix: Do not search directories when opening ini files as we already have their full path [FS#6421] (r27816)
- Fix: Road tunnel/bridge heads have no trackbits wrt. catenary drawing (r27812)
- Change: When train depots have a horizontal scrollbar, allow scrolling 1 tile beyond the longest train, so you can actually attach a wagon at the end (r27937)
- Fix: When moving wagons in the depot, the drag highlight did not exactly match the length of the dragged wagon chain (r27936)
- Fix: [Win32] Right mouse scrolling didn't work properly with the Windows 10 Fall Creators Update [FS#6629] (r27935)
- Fix: Forest, candyfloss forest and battery farm skipped the first animation frame [FS#6639] (r27932)
- Fix: Glyphs in range U+0020 to U+00FF may only be defined in orig_extra.grf, not in openttd.grf [FS#6620] (r27915)
- Fix: 'unban' console command was not handling IPv6 adresses properly (r27914, r27913)
- Fix: Keep the 'link' between industry chain and smallmap windows whenever possible [FS#6585] (r27905)
- Fix: When the last vehicle is removed from a shared orders group, hide the 'Stop sharing' button in the vehicle orders window [FS#6593] (r27904)
- Fix: Tooltip of 'increase service interval' said 'decrease' [FS#6606] (r27895)
- Fix: Console command parser passed invalid strings to the debug output, if command lines had many parameters [FS#6576] (r27884, r27883)
- Change: List railtype of rail tiles explicitly in the tile info window (r27686)
- Change: Re-arrange the autoreplace GUI for trains, and do not filter it by railtype by default (r27683)
- Change: Various performance improvements to CargoDist and LinkGraphs (r27682, r27681, r27614, r27613, r27612, r27611)
- Change: Improve randomisation of rough land appearance (r27657)
- Change: [Build] Enable C++11 for clang 3.3 (r27654)
- Fix: Insufficient thread synchronisation when switching blitters lead to crashes [FS#6510] (r27775)
- Fix: Enabling palette animation for 32bpp blitters while paused skipped initialisation of the palette and resulted in black windows [FS#5889] (r27774)
- Fix: Intro games other than the traditional nightly one would cause townname NewGRFs to not get activated in the game options [FS#5819] (r27772)
- Fix: Some variables were not reset between loading old savegames, which made loading them fail [FS#6540] (r27770)
- Fix: Removing secondary roadtypes from bridges was factor 2 too cheap [FS#6538] (r27746)
- Fix: Extra viewports did not center on the selected tile [FS#6537] (r27743)
- Fix: [Build] Building on newer OSX versions with newer SDKs [FS#6295, FS#6502] (r27727, r27675)
- Fix: Improve error message when trying to build rail track over a depot (r27726)
- Fix: Rescanning NewGRF in-game could break the loaded NewGRF, if very many NewGRF were in use (r27721)
- Fix: Text could overflow various GUI elements [FS#6527] (r27713)
- Fix: Memory leak when reloading NewGRF (r27690, r27688, r27687)
- Fix: When removing objects of bankrupt companies the tiles may revert to canal. In that case also check the ownership of the canal [FS#6511] (r27656)
- Fix: Make the console file commands operate independent of the save/load GUI (r27645)
- Fix: When dragging vehicles in group or depot GUI, draw the complete articulated vehicle (r27632)
- Fix: When dragging multiple vehicles in the depot, make the destination gap as long as the chain instead of just considering the first vehicle (r27629)
- Fix: [Build] Change the GCC version detection so that it works with two-digit and truncated versions [FS#6487] (r27623, r27616)
- Fix: Do not hide filtered and highlighted industries by overlapping tiles in the zoomed-out smallmap (r27622, r27621, r27620)
- Fix: [Script] Kill scripts, when a non-suspendable valuator call takes way too long [FS#6473] (r27594)
- Change: Performance improvement for dedicated servers by skipping drawing calls earlier in the process [FS#6402] (r27579)
- Fix: Automatic servicing of road vehicles compared path finder costs with tile distances, thus vehicles went to depots which were factor 100 too far away [FS#6410] (r27586)
- Fix: Enforce a non-zero load amount for all vehicles, so that vehicles can process their cargo reservations [FS#6437] (r27585, r27584)
- Fix: Do not decrease the column width of depot windows when vehicles with high unitnumbers leave [FS#6415] (r27583)
- Fix: [NewGRF] Set date of last service on construction also for wagons and articulated parts [FS#6395] (r27580)
- Fix: Vehicles could not be hidden from the purchase list when they were in exclusive preview [FS#6454] (r27578)
- Fix: Dock and roadstop picker, client list and town authority window did not auto-resize according to their content when they were positioned at the bottom of the screen [FS#6386] (r27577)
- Fix: Various incorrect but uncritical size computations in the content client [FS#6449] (r27576, r27570)
- Fix: Memory leak when disabling palette animation [FS#6404] (r27575)
- Fix: [NewGRF] The house id as returned by house variable 66 was incorrect when querying neighboured tiles [FS#6432] (r27574)
- Fix: [Build] Compilation failure with gcc 6.1 due to headers included after safeguards.h [FS#6467] (r27573)
- Fix: Convenience savegame bump to distinguish 1.6 savegames from 1.5 savegames [FS#6442] (r27572)
- Fix: [Build] Force sorting to be locale independent, so files are always ordered the same and by that token better diff-able (r27562, r27558)
- Fix: Typos in comments and string (r27561, r27560)
- Fix: [Build] bashism that caused different CFLAGS with bash vs dash (r27557)
- Fix: Use a more appropiate sound effect for convert-rail (r27547)
- Fix: Remove SetFill from vehicle GUI buttons, so that the viewport is resized instead of them in case of long window titles (r27546)
- Fix: [Script] Generation of API wrappers (r27545, r27544, r27543)
- Fix: [Windows] ICU got disabled for Windows builds, breaking RTL support [FS#6427] (r27542)
- Fix: [NewGRF] Station spritelayouts did not accept the var10 flag for the palette [FS#6435] (r27534)
- Feature: [NewGRF] Allow custom sound IDs in RV property 0x12, ship property 0x10 and aircraft property 0x12 (r27507)
- Feature: When viewing online content of a particular type, hide content of other types unless they have been (auto)selected for download (r27469, r27468, r27444)
- Feature: [NewGRF] Move sprite 8 positions in sprite aligner with ctrl+click [FS#6241] (r27451)
- Feature: Lower the sell-vehicle and sell-chain buttons in the train depot GUI while dragging a vehicle over it [FS#6391] (r27450, r27446)
- Feature: Make the object placement GUI an independent window (r27438, r27397, r27346)
- Feature: [Build] Project files and compilation with MSVC2015 (r27385, r27382, r27381, r27380, r27379)
- Feature: [NewGRF] Allow railtype NewGRF to define separate sprites for the fences on either track side [FS#6315] (r27354, r27343)
- Feature: [NewGRF] Increase the maximum amount of industry types to 128 per NewGRF and 240 in total (r27279)
- Feature: Make Ctrl+Remove-Roadstop also remove the road, just like for rail stations [FS#6252] (r27251)
- Change: [NewGRF] Allow static NewGRF to enable the second rocky tile set (r27497)
- Change: Round loading percentage in loading indicators and conditional orders towards 50%, so that 0% and 100% mean completely empty or full (r27426)
- Change: [Build] Rework the configure system to make more use of pkg-config (r27377:r27366, r27361, r27360)
- Fix: When selecting a refit cargo for orders, do not check whether the vehicle is in a depot or station, and do not ask whether the vehicle currently allows station-refitting. Also hide the refit cost for orders, it is not predictable (r27428)
- Fix: Use the NewGRF railtype sorting order in the infrastructure window (r27427)
- Fix: Crash when switching to or taking over companies, when an order window of a vehicle of the new company was opened. Now close those windows [FS#5842] (r27425)
- Fix: Towns did not connect roads to existing roads, unless they had only a single roadbit. Otoh, towns also tried to connect to single roadbit tiles such as tunnels and depots, even though they were not connectable in the direction of interest [FS#6374] (r27424)
- Fix: When towns expanded single-bit roadtiles using a grid-layout, they used the layout position of the neighbouring tile (r27423)
- Fix: Aircraft picked the wrong airport entry point, if airports were rotated by 180 degree [FS#6341] (r27422)
- Fix: Consider text and icon sizes when drawing the client list [FS#6265] (r27421)
- Fix: GrowTownAtRoad sometimes returned false, even when a house was built [FS#6362] (r27420)
- Fix: CmdSellRailWagon did not revert all actions properly when no orderlist could be allocated [FS#6369] (r27419)
- Fix: Desync due to incorrect storage of segments with different railtype in the YAPF cache [FS#6329] [FS#6379] (r27418)
- Fix: When a dedicated server was paused with no clients, the master server advertisement interval was slowed, causing deadvertisement of the server [FS#6368] (r27400)
- Fix: [Makefile] Game script directory and compat*.nut were never installed on *nix (r27399)
- Fix: There are two different availability conditions for fdatasync in the manpage. Use them both, since at least on some MinGW versions one is not enough (r27389)
- Fix: win32 sound driver failed to report errors (r27383)
- Fix: Clickareas in settings tree were misaligned when the filter warning was displayed, if the setting height was defined by the icons instead of the font [FS#6358] (r27366)
- Fix: Center settings filter warning also vertically, and also in case of multiple lines (r27365)
- Fix: Do not consider road junctions with trivial dead ends as branch points during town growth [FS#6245] (r27260, r27259, r27244)
- Fix: ScriptList::RemoveList failed to remove a list from itself [FS#6287] (r27258)
- Fix: Combined button+dropdown widgets in order and autoreplace GUI had incorrect hitbox when using GUI zoom [FS#6270] (r27255)
- Fix: When building a lock on DC_AUTO-removable water-based objects, the water class was always set to canal [FS#6264] (r27254)
- Fix: When crossing tram tracks with railroads, cost of extra roads was not being counted [FS#6282] (r27253)
- Fix: Invalid infrastructure counting when crossing tram tracks with railroads [FS#6281] (r27252)
- Fix: Broken error message in configure [FS#6286] (r27250)
- Fix: In some cases town growth failure was considered as success [FS#6240] (r27249, r27247)
- Fix: Town labels on smallmap and zoomed-out viewports were not centered [FS#6257] (r27248)
- Fix: Removing a rail waypoint used the remove-rail-station cost [FS#6251] (r27245)
- Fix: Duplicate frees due to pool item classes not having copy constructors [FS#6285] (r27243)
- Fix: Crash when no AIs were installed due to improper handling of non-ASCII characters by the string pointer lexer [FS#6272] (r27233)
- Fix: Compilation on DragonflyBSD [FS#6274] (r27224, r27223)
- Fix: Use the current maximum speed as limited by bridges, orders etc. for all vehicle types alike when considering increased smoke emissions of vehicles [FS#6278] (r27222)
- Fix: Multi-value keys in the desktop entry shall end with a trailing separator (r27221)
- Fix: Draw path reservation on the whole bridge, not only on the bridge heads (r27209)
- Fix: Draw correct overlay sprites for path reservations on bridges and tunnels (r27208)
- Feature: [NoGo] Game scripts can point to a location, station, industry, or town when publishing news (r27164)
- Feature: Allow changing max heightlevel in scenario editor (r27151)
- Feature: Make use of both rocky tile sets from the base graphics (r27117)
- Change: Scale (non-custom) default window sizes according to GUI zoom (r27147)
- Change: Make statusbar and chat-entry window use the same width as the toolbar (r27146)
- Change: The chatbox-width setting now uses percent of screen width instead of pixels (r27144)
- Change: [NewGRF] Interpret negative positions in industry layouts depending on GRF version (r27138)
- Fix: [SDL, Windows] Right-mouse-button scrolling scrolled/jumped too far, when OpenTTD lagged during mouse event processing (r27167)
- Fix: Toolbars were not invalidated when changing max-vehicles settings [FS#6204] (r27163)
- Fix: Tile selection was drawn outside of map in some cases [FS#6208] (r27162)
- Fix: Reimplement the viewport drawing algorithm [FS#6156] [FS#6206] (r27161)
- Fix: Issues with smallmap and viewport coordinates and transformations (r27160, r27159, r27158)
- Fix: Mark bridge middle tiles dirty when building/removing/changing bridges (r27157)
- Fix: Rounding and unit-conversion inconsistencies in calls to MarkAllViewportsDirty (r27148)
- Fix: Oilrig empty-tile checks were incorrect due to wrong TileIndexDiff->TileIndexDiffC conversion (r27137)
- Fix: Misalignment in generate world window in case of small fonts (r27135)
- Fix: Dragging of free wagons in depot failed with GUI zoom (r27133)
- Fix: Reduce memory footprint of map array by shuffling its members [FS#6218] (r27132, r27126)
- Fix: Dropdown- and tooltip-windows should not steal the focus (r27131)
- Fix: [NewGRF] Action 7/9 condition 0A failed for present, but disabled, NewGRF (r27119)
- Fix: Road vehicles could not reverse to be sent to depots when the following tile has the right type to run on, but could not be entered [FS#6183] (r27107)
- Fix: Use the actual max speed of the vehicle in front when determining if a RV can overtake [FS#6176] (r27106)
- Fix: grow_counter was not properly bounded by growth_rate, but by some other value used to calculate growth_rate [FS#6195] (r27105)
- Fix: [Script] Support 64 bits integers in ScriptLists [FS#6194] (r27104)
- Fix: [Script] Money values would end up wrong in strings when outside the bounds of a 32 bits integer [FS#6194] (r27102)
- Change: Improvements to the man page (r27091, r27012)
- Change: Allow to set the granularity of the tooltip hover time in milliseconds instead of seconds. New default value is 250ms (r26815)
- Change: Follow SI recommendation about spaces between numbers and units [FS#6086] (r26733)
- Change: [CargoDist] Save locations instead of distances in link graphs to reduce size (r26646)
- Change: [Squirrel] Make the internal integer for scripts always 64 bits, so scripts behave the same on 32 and 64 bit architectures and money can be represented properly (r26585, r26584)
- Change: Reshuffle advanced settings tree (r26614, r26536)
- Change: Add backend-independent config-file setting to disable 8bpp video modes, and disable 8bpp by default (r26522)
- Fix: [OS/2] Compile again [FS#6186] (r27092)
- Fix: Compilation with freetype2 version 2.5.4 and newer [FS#6185] (r27079)
- Fix: Variable 47 used the carge translation table of the wrong GRF in case of callback 1D [FS#6182] (r27075)
- Fix: Some lists did not use natural string sorting [FS#6172] (r27063)
- Fix: Mercurial version detection failed if personal presets were configured (r27059)
- Fix: Crash when having the vehicle list opened from a buoy or oil rig when the buoy/oil rig is removed (r27030)
- Fix: Unit number was not always fully shown in depots [FS#6102] (r27014)
- Fix: [CargoDist] Reserve cargo only after unloading finished or if the vehicle has the desired cargo already [FS#6110] (r26918)
- Fix: [Squirrel] Loading a value saved as boolean caused it to be of type integer instead of boolean (r26785)
- Fix: [Squirrel] Harden string handling (r26777)
- Fix: [OSX] Implement more of the text editing API to prevent crashes and improve IME support [FS#5972] (r26758)
- Fix: Incorrect saving of order backups [FS#6066] (r26700)
- Fix: Ordering a vehicle to a competitor's rail waypoint displayed an error message. Ignore the click as is done for the other order types to competitor's stuff [FS#6059] (r26692)
- Fix: [Script] Loading/parsing of info .nuts was done in the same VM, causing e.g. constants to break the loading of info of other scripts [FS#5973] (r26617)
- Fix: [CargoDist] Improve estimation of link capacitites (r26549)
- Remove: A bunch of archaic settings from the GUI (r26528, r26526, r26525)
- Fix: CargoPacket::SourceStation() returns a StationID (r26660)
- Fix: Days in dates are not represented by ordinal numbers in all languages [FS#6047] (r26657)
- Fix: Production cheat cannot be allowed to be active in multiplayer for desync reasons, even when activated in singleplayer previously [FS#6044] (r26656)
- Fix: Make sure an 'abs' is used that supports int64 when using 'abs' on those variables (r26651)
- Fix: Support save/load chunk lengths of up to (1 << 32) - 1 [FS#6041] (r26650)
- Fix: Incorrect usage of string commands in the base language [FS#6037] (r26642, r26640, r26639, r26632)
- Fix: Segmentation fault when encountering a .obg/.obs/.obm with empty string/zero length MD5 checksums [FS#6038] (r26637)
- Fix: The 'Load' button was not properly enabled/disabled for old savegames without NewGRF information (r26634)
- Fix: If the video driver fails to supply a list of resolutions, display an error message [FS#6012] (r26629)
<spanstyle="font-weight: bold;"></span>Six attributes hold the information about a tile.
<spanstyle="font-weight: bold;"></span>Nine attributes hold the information about a tile.
This can be seen in the <ahref="landscape.html">Landscape</a> document. This page tries to give an overview of used and free bits of
the array so you can quickly see what is used and what is not.
<ul>
@@ -28,13 +28,14 @@ the array so you can quickly see what is used and what is not.
</ul>
<p>
<ul>
<li><spanstyle="font-weight: bold;">type_height</span> - 8 bits in size, stores tile height (lower 4 bits) and tile class (upper 4 bits)</li>
<li><spanstyle="font-weight: bold;">type</span> - 8 bits in size, tile class (bits 4..7), bridge (bits 2..3) tropic zone (bits 0..1, only valid in tropic climate)</li>
<li><spanstyle="font-weight: bold;">height</span> - 8 bits in size, stores tile height</li>
<li><spanstyle="font-weight: bold;">m1</span> - 8 bits in size, used to identify the owner of that tile (eg piece of rail, bridge, etc.)</li>
<li><spanstyle="font-weight: bold;">m2</span> - 16 bits in size, used to identify the index of the given tile (object) in the (object-)array</li>
<li><spanstyle="font-weight: bold;">m3</span> - 8 bits in size, is used for general storage</li>
<li><spanstyle="font-weight: bold;">m4</span> - 8 bits in size, is used for general storage</li>
<li><spanstyle="font-weight: bold;">m5</span> - 8 bits in size, is used for general storage</li>
<li><spanstyle="font-weight: bold;">m6</span> - 8 bits in size, special meaning : lower 2 bits only valid in tropic climate, upper 2 bits for bridges</li>
<li><spanstyle="font-weight: bold;">m6</span> - 8 bits in size, is used for general storage</li>
<li><spanstyle="font-weight: bold;">m7</span> - 8 bits in size, is used for general storage</li>
</ul>
@@ -42,7 +43,8 @@ the array so you can quickly see what is used and what is not.
<tbody>
<tr>
<thcolspan=2>class</th>
<th>type_height (8)</th>
<th>type (8)</th>
<th>height (8)</th>
<th>m1 (8)</th>
<th>m2 (16)</th>
<th>m3 (8)</th>
@@ -55,6 +57,7 @@ the array so you can quickly see what is used and what is not.
<tdcolspan=2class="caption">bits</td>
<tdclass="bits">7654 3210</td>
<tdclass="bits">7654 3210</td>
<tdclass="bits">7654 3210</td>
<tdclass="bits">FEDC BA98 7654 3210</td>
<tdclass="bits">7654 3210</td>
<tdclass="bits">7654 3210</td>
@@ -66,69 +69,75 @@ the array so you can quickly see what is used and what is not.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// 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/>.
//
-1 * 0 0C "Climate specific airport sprite by PaulC"
-1 * 0 07 83 01 \7! 03 02
-1 * 0 0A 01 01 2F 08
-1 sprites/airports.png 8bpp 20 170 42 39 -19 -21 normal
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# 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/>.
BEGIN{
# Very basic variant function; barely any error checking.
# Just use the first argument as the file to start from when assembling everything
path=ARGV[1];
gsub("[^/\\\\]*$","",path);
assemble(ARGV[1]);
}
# Recursive function for assembling by means of resolving the #includes.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// 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/>.
//
-1 * 0 0C "Canal graphics by George / PaulC"
-1 * 0 0C "Canal graphics by George"
-1 * 3 05 08 41
// Canal slopes
-1 sprites/canal_locks.png 8bpp 66 8 64 23 -31 0 normal
@@ -77,95 +77,3 @@
-1 sprites/canals.png 8bpp 446 10 24 16 -11 -6 normal
// Canal icon
-1 sprites/canal_locks.png 8bpp 50 232 20 20 0 0 normal
// Differentiation for the climates starts here
// Canal edges (arctic snowy)
-1 * 4 01 05 01 \b12
-1 sprites/canals.png 8bpp 30 40 45 22 -11 -1 normal
-1 sprites/canals.png 8bpp 94 40 41 21 -8 10 normal
-1 sprites/canals.png 8bpp 142 40 42 21 -31 10 normal
-1 sprites/canals.png 8bpp 190 40 43 22 -31 -1 normal
-1 sprites/canals.png 8bpp 238 40 22 22 11 4 normal
-1 sprites/canals.png 8bpp 270 40 24 16 -11 15 normal
-1 sprites/canals.png 8bpp 302 40 23 23 -31 4 normal
-1 sprites/canals.png 8bpp 334 40 24 18 -11 -1 normal
-1 sprites/canals.png 8bpp 366 40 12 11 21 10 normal
-1 sprites/canals.png 8bpp 398 40 19 10 -8 21 normal
-1 sprites/canals.png 8bpp 430 40 11 10 -31 10 normal
-1 sprites/canals.png 8bpp 446 40 24 16 -11 -6 normal
-1 * 7 02 05 10 01 00 00 00
// Canal edges (arctic normal)
-1 * 4 01 05 01 \b12
-1 sprites/canals.png 8bpp 30 70 45 22 -11 -1 normal
-1 sprites/canals.png 8bpp 94 70 41 21 -8 10 normal
-1 sprites/canals.png 8bpp 142 70 42 21 -31 10 normal
-1 sprites/canals.png 8bpp 190 70 43 22 -31 -1 normal
-1 sprites/canals.png 8bpp 238 70 22 22 11 4 normal
-1 sprites/canals.png 8bpp 270 70 24 16 -11 15 normal
-1 sprites/canals.png 8bpp 302 70 23 23 -31 4 normal
-1 sprites/canals.png 8bpp 334 70 24 18 -11 -1 normal
-1 sprites/canals.png 8bpp 366 70 12 11 21 10 normal
-1 sprites/canals.png 8bpp 398 70 19 10 -8 21 normal
-1 sprites/canals.png 8bpp 430 70 11 10 -31 10 normal
-1 sprites/canals.png 8bpp 446 70 24 16 -11 -6 normal
-1 * 7 02 05 11 01 00 00 00
// Choose the right arctic canal edges
-1 * 14 02 05 12 81 81 00 FF 01 10 00 04 04 11 00
-1 * 6 07 83 01 \7! 01 01
-1 * 7 03 05 01 02 00 12 00
// Canal edges (tropic desert)
-1 * 4 01 05 01 \b12
-1 sprites/canals.png 8bpp 30 100 45 22 -11 -1 normal
-1 sprites/canals.png 8bpp 94 100 41 21 -8 10 normal
-1 sprites/canals.png 8bpp 142 100 42 21 -31 10 normal
-1 sprites/canals.png 8bpp 190 100 43 22 -31 -1 normal
-1 sprites/canals.png 8bpp 238 100 22 22 11 4 normal
-1 sprites/canals.png 8bpp 270 100 24 16 -11 15 normal
-1 sprites/canals.png 8bpp 302 100 23 23 -31 4 normal
-1 sprites/canals.png 8bpp 334 100 24 18 -11 -1 normal
-1 sprites/canals.png 8bpp 366 100 12 11 21 10 normal
-1 sprites/canals.png 8bpp 398 100 19 10 -8 21 normal
-1 sprites/canals.png 8bpp 430 100 11 10 -31 10 normal
-1 sprites/canals.png 8bpp 446 100 24 16 -11 -6 normal
-1 * 7 02 05 13 01 00 00 00
// Canal edges (tropic rainforest)
-1 * 4 01 05 01 \b12
-1 sprites/canals.png 8bpp 30 130 45 22 -11 -1 normal
-1 sprites/canals.png 8bpp 94 130 41 21 -8 10 normal
-1 sprites/canals.png 8bpp 142 130 42 21 -31 10 normal
-1 sprites/canals.png 8bpp 190 130 43 22 -31 -1 normal
-1 sprites/canals.png 8bpp 238 130 22 22 11 4 normal
-1 sprites/canals.png 8bpp 270 130 24 16 -11 15 normal
-1 sprites/canals.png 8bpp 302 130 23 23 -31 4 normal
-1 sprites/canals.png 8bpp 334 130 24 18 -11 -1 normal
-1 sprites/canals.png 8bpp 366 130 12 11 21 10 normal
-1 sprites/canals.png 8bpp 398 130 19 10 -8 21 normal
-1 sprites/canals.png 8bpp 430 130 11 10 -31 10 normal
-1 sprites/canals.png 8bpp 446 130 24 16 -11 -6 normal
-1 * 7 02 05 14 01 00 00 00
// Choose the right tropic canal edges
-1 * 14 02 05 15 81 81 00 FF 01 13 00 01 01 14 00
-1 * 6 07 83 01 \7! 02 01
-1 * 7 03 05 01 02 00 15 00
// Canal edges (toyland)
-1 * 4 01 05 01 \b12
-1 sprites/canals.png 8bpp 30 160 45 22 -11 -1 normal
-1 sprites/canals.png 8bpp 94 160 41 21 -8 10 normal
-1 sprites/canals.png 8bpp 142 160 42 21 -31 10 normal
-1 sprites/canals.png 8bpp 190 160 43 22 -31 -1 normal
-1 sprites/canals.png 8bpp 238 160 22 22 11 4 normal
-1 sprites/canals.png 8bpp 270 160 24 16 -11 15 normal
-1 sprites/canals.png 8bpp 302 160 23 23 -31 4 normal
-1 sprites/canals.png 8bpp 334 160 24 18 -11 -1 normal
-1 sprites/canals.png 8bpp 366 160 12 11 21 10 normal
-1 sprites/canals.png 8bpp 398 160 19 10 -8 21 normal
-1 sprites/canals.png 8bpp 430 160 11 10 -31 10 normal
-1 sprites/canals.png 8bpp 446 160 24 16 -11 -6 normal
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// 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/>.
//
-1 * 0 0C "Extra canal graphics by PaulC"
// Differentiation for the climates starts here
// Canal edges (arctic snowy)
-1 * 4 01 05 01 \b12
-1 sprites/canals.png 8bpp 30 40 45 22 -11 -1 normal
-1 sprites/canals.png 8bpp 94 40 41 21 -8 10 normal
-1 sprites/canals.png 8bpp 142 40 42 21 -31 10 normal
-1 sprites/canals.png 8bpp 190 40 43 22 -31 -1 normal
-1 sprites/canals.png 8bpp 238 40 22 22 11 4 normal
-1 sprites/canals.png 8bpp 270 40 24 16 -11 15 normal
-1 sprites/canals.png 8bpp 302 40 23 23 -31 4 normal
-1 sprites/canals.png 8bpp 334 40 24 18 -11 -1 normal
-1 sprites/canals.png 8bpp 366 40 12 11 21 10 normal
-1 sprites/canals.png 8bpp 398 40 19 10 -8 21 normal
-1 sprites/canals.png 8bpp 430 40 11 10 -31 10 normal
-1 sprites/canals.png 8bpp 446 40 24 16 -11 -6 normal
-1 * 7 02 05 10 01 00 00 00
// Canal edges (arctic normal)
-1 * 4 01 05 01 \b12
-1 sprites/canals.png 8bpp 30 70 45 22 -11 -1 normal
-1 sprites/canals.png 8bpp 94 70 41 21 -8 10 normal
-1 sprites/canals.png 8bpp 142 70 42 21 -31 10 normal
-1 sprites/canals.png 8bpp 190 70 43 22 -31 -1 normal
-1 sprites/canals.png 8bpp 238 70 22 22 11 4 normal
-1 sprites/canals.png 8bpp 270 70 24 16 -11 15 normal
-1 sprites/canals.png 8bpp 302 70 23 23 -31 4 normal
-1 sprites/canals.png 8bpp 334 70 24 18 -11 -1 normal
-1 sprites/canals.png 8bpp 366 70 12 11 21 10 normal
-1 sprites/canals.png 8bpp 398 70 19 10 -8 21 normal
-1 sprites/canals.png 8bpp 430 70 11 10 -31 10 normal
-1 sprites/canals.png 8bpp 446 70 24 16 -11 -6 normal
-1 * 7 02 05 11 01 00 00 00
// Choose the right arctic canal edges
-1 * 14 02 05 12 81 81 00 FF 01 10 00 04 04 11 00
-1 * 6 07 83 01 \7! 01 01
-1 * 7 03 05 01 02 00 12 00
// Canal edges (tropic desert)
-1 * 4 01 05 01 \b12
-1 sprites/canals.png 8bpp 30 100 45 22 -11 -1 normal
-1 sprites/canals.png 8bpp 94 100 41 21 -8 10 normal
-1 sprites/canals.png 8bpp 142 100 42 21 -31 10 normal
-1 sprites/canals.png 8bpp 190 100 43 22 -31 -1 normal
-1 sprites/canals.png 8bpp 238 100 22 22 11 4 normal
-1 sprites/canals.png 8bpp 270 100 24 16 -11 15 normal
-1 sprites/canals.png 8bpp 302 100 23 23 -31 4 normal
-1 sprites/canals.png 8bpp 334 100 24 18 -11 -1 normal
-1 sprites/canals.png 8bpp 366 100 12 11 21 10 normal
-1 sprites/canals.png 8bpp 398 100 19 10 -8 21 normal
-1 sprites/canals.png 8bpp 430 100 11 10 -31 10 normal
-1 sprites/canals.png 8bpp 446 100 24 16 -11 -6 normal
-1 * 7 02 05 13 01 00 00 00
// Canal edges (tropic rainforest)
-1 * 4 01 05 01 \b12
-1 sprites/canals.png 8bpp 30 130 45 22 -11 -1 normal
-1 sprites/canals.png 8bpp 94 130 41 21 -8 10 normal
-1 sprites/canals.png 8bpp 142 130 42 21 -31 10 normal
-1 sprites/canals.png 8bpp 190 130 43 22 -31 -1 normal
-1 sprites/canals.png 8bpp 238 130 22 22 11 4 normal
-1 sprites/canals.png 8bpp 270 130 24 16 -11 15 normal
-1 sprites/canals.png 8bpp 302 130 23 23 -31 4 normal
-1 sprites/canals.png 8bpp 334 130 24 18 -11 -1 normal
-1 sprites/canals.png 8bpp 366 130 12 11 21 10 normal
-1 sprites/canals.png 8bpp 398 130 19 10 -8 21 normal
-1 sprites/canals.png 8bpp 430 130 11 10 -31 10 normal
-1 sprites/canals.png 8bpp 446 130 24 16 -11 -6 normal
-1 * 7 02 05 14 01 00 00 00
// Choose the right tropic canal edges
-1 * 14 02 05 15 81 81 00 FF 01 13 00 01 01 14 00
-1 * 6 07 83 01 \7! 02 01
-1 * 7 03 05 01 02 00 15 00
// Canal edges (toyland)
-1 * 4 01 05 01 \b12
-1 sprites/canals.png 8bpp 30 160 45 22 -11 -1 normal
-1 sprites/canals.png 8bpp 94 160 41 21 -8 10 normal
-1 sprites/canals.png 8bpp 142 160 42 21 -31 10 normal
-1 sprites/canals.png 8bpp 190 160 43 22 -31 -1 normal
-1 sprites/canals.png 8bpp 238 160 22 22 11 4 normal
-1 sprites/canals.png 8bpp 270 160 24 16 -11 15 normal
-1 sprites/canals.png 8bpp 302 160 23 23 -31 4 normal
-1 sprites/canals.png 8bpp 334 160 24 18 -11 -1 normal
-1 sprites/canals.png 8bpp 366 160 12 11 21 10 normal
-1 sprites/canals.png 8bpp 398 160 19 10 -8 21 normal
-1 sprites/canals.png 8bpp 430 160 11 10 -31 10 normal
-1 sprites/canals.png 8bpp 446 160 24 16 -11 -6 normal
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// 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/>.
//
-1 * 0 0C "Font characters by PaulC, Bilbo and Jasper Vries"
// Replace original characters
-1 * 5 0A 01 02 41 00
-1 sprites/chars.png 8bpp 10 10 6 12 0 -1 normal
-1 sprites/chars.png 8bpp 20 10 4 12 0 -1 normal
-1 * 5 0A 01 02 86 00
-1 sprites/chars.png 8bpp 50 10 8 12 0 -1 normal
-1 sprites/chars.png 8bpp 70 10 9 12 0 -1 normal
-1 * 5 0A 01 01 8A 00
-1 sprites/chars.png 8bpp 120 10 6 12 0 -1 normal
-1 * 5 0A 01 01 A0 00
-1 sprites/chars.png 8bpp 230 10 10 12 0 -1 normal
-1 * 5 0A 01 04 A2 00
-1 sprites/chars.png 8bpp 260 10 8 12 0 -1 normal
-1 sprites/chars.png 8bpp 290 10 8 12 0 -1 normal
-1 sprites/chars.png 8bpp 320 10 8 12 0 -1 normal
-1 sprites/chars.png 8bpp 350 10 8 12 0 -1 normal
-1 * 5 0A 01 06 A7 00
-1 sprites/chars.png 8bpp 410 10 8 12 0 -1 normal
-1 sprites/chars.png 8bpp 440 10 12 12 0 -1 normal
-1 sprites/chars.png 8bpp 470 10 8 12 0 -1 normal
-1 sprites/chars.png 8bpp 480 10 7 12 0 -1 normal
-1 sprites/chars.png 8bpp 500 10 7 12 0 -1 normal
-1 sprites/chars.png 8bpp 520 10 7 12 0 -1 normal
-1 * 5 0A 01 03 AE 00
-1 sprites/chars.png 8bpp 560 10 4 12 0 -1 normal
-1 sprites/chars.png 8bpp 570 10 4 12 0 -1 normal
-1 sprites/chars.png 8bpp 580 10 5 12 0 -1 normal
-1 * 5 0A 01 05 B3 00
-1 sprites/chars.png 8bpp 620 10 8 12 0 -1 normal
-1 sprites/chars.png 8bpp 640 10 9 12 0 -1 normal
-1 sprites/chars.png 8bpp 660 10 9 12 0 -1 normal
-1 sprites/chars.png 8bpp 680 10 9 12 0 -1 normal
-1 sprites/chars.png 8bpp 700 10 9 12 0 -1 normal
-1 * 5 0A 01 03 BB 00
-1 sprites/chars.png 8bpp 770 10 8 12 0 -1 normal
-1 sprites/chars.png 8bpp 10 70 8 12 0 -1 normal
-1 sprites/chars.png 8bpp 30 70 8 12 0 -1 normal
-1 * 5 0A 01 01 BF 00
-1 sprites/chars.png 8bpp 70 70 9 12 0 -1 normal
-1 * 5 0A 01 05 C1 00
-1 sprites/chars.png 8bpp 450 70 8 12 0 -1 normal
-1 sprites/chars.png 8bpp 110 70 6 12 0 -1 normal
-1 sprites/chars.png 8bpp 120 70 6 12 0 -1 normal
-1 sprites/chars.png 8bpp 130 70 6 12 0 -1 normal
-1 sprites/chars.png 8bpp 140 70 6 12 0 -1 normal
-1 * 5 0A 01 01 C7 00
-1 sprites/chars.png 8bpp 160 70 6 12 0 -1 normal
-1 * 5 0A 01 03 CA 00
-1 sprites/chars.png 8bpp 200 70 6 12 0 -1 normal
-1 sprites/chars.png 8bpp 210 70 6 12 0 -1 normal
-1 sprites/chars.png 8bpp 220 70 6 12 0 -1 normal
-1 * 5 0A 01 04 CE 00
-1 sprites/chars.png 8bpp 230 70 4 12 0 -1 normal
-1 sprites/chars.png 8bpp 240 70 4 12 0 -1 normal
-1 sprites/chars.png 8bpp 250 70 5 12 0 -1 normal
-1 sprites/chars.png 8bpp 260 70 5 12 0 -1 normal
-1 * 5 0A 01 05 D3 00
-1 sprites/chars.png 8bpp 290 70 6 12 0 -1 normal
-1 sprites/chars.png 8bpp 310 70 6 12 0 -1 normal
-1 sprites/chars.png 8bpp 320 70 6 12 0 -1 normal
-1 sprites/chars.png 8bpp 330 70 6 12 0 -1 normal
-1 sprites/chars.png 8bpp 340 70 6 12 0 -1 normal
-1 * 5 0A 01 03 DB 00
-1 sprites/chars.png 8bpp 390 70 6 12 0 -1 normal
-1 sprites/chars.png 8bpp 400 70 6 12 0 -1 normal
-1 sprites/chars.png 8bpp 410 70 6 12 0 -1 normal
-1 * 5 0A 01 02 DF 00
-1 sprites/chars.png 8bpp 420 70 7 12 0 -1 normal
-1 sprites/chars.png 8bpp 430 70 6 12 0 -1 normal
-1 * 5 0A 01 01 22 01
-1 sprites/chars.png 8bpp 20 30 2 7 0 0 normal
-1 * 5 0A 01 01 7D 01
-1 sprites/chars.png 8bpp 220 30 4 7 0 0 normal
-1 * 5 0A 01 02 80 01
-1 sprites/chars.png 8bpp 230 30 9 7 0 0 normal
-1 sprites/chars.png 8bpp 250 30 3 7 0 0 normal
-1 * 5 0A 01 01 89 01
-1 sprites/chars.png 8bpp 470 30 3 7 0 0 normal
-1 * 5 0A 01 01 9F 01
-1 sprites/chars.png 8bpp 70 90 3 7 0 0 normal
-1 * 5 0A 01 01 A9 01
-1 sprites/chars.png 8bpp 190 90 3 7 0 0 normal
-1 * 5 0A 01 02 BF 01
-1 sprites/chars.png 8bpp 420 90 3 7 0 0 normal
-1 sprites/chars.png 8bpp 430 90 3 7 0 0 normal
-1 * 5 0A 01 01 02 02
-1 sprites/chars.png 8bpp 20 40 4 21 0 -2 normal
-1 * 5 0A 01 01 41 02
-1 sprites/chars.png 8bpp 30 40 14 21 0 -2 normal
-1 * 5 0A 01 06 46 02
-1 sprites/chars.png 8bpp 50 40 10 21 0 -2 normal
-1 sprites/chars.png 8bpp 70 40 14 21 0 -2 normal
-1 sprites/chars.png 8bpp 90 40 3 21 0 -2 normal
-1 sprites/chars.png 8bpp 100 40 13 21 0 -2 normal
-1 sprites/chars.png 8bpp 120 40 7 21 0 -2 normal
-1 sprites/chars.png 8bpp 130 40 16 21 0 -2 normal
-1 * 5 0A 01 01 50 02
-1 sprites/chars.png 8bpp 150 40 16 21 0 -2 normal
-1 * 5 0A 01 04 52 02
-1 sprites/chars.png 8bpp 170 40 8 21 0 -2 normal
-1 sprites/chars.png 8bpp 180 40 9 21 0 -2 normal
-1 sprites/chars.png 8bpp 190 40 6 21 0 -2 normal
-1 sprites/chars.png 8bpp 200 40 6 21 0 -2 normal
-1 * 5 0A 01 01 5C 02
-1 sprites/chars.png 8bpp 210 40 7 21 0 -2 normal
-1 * 5 0A 01 01 60 02
-1 sprites/chars.png 8bpp 230 40 16 21 0 -2 normal
-1 * 5 0A 01 07 62 02
-1 sprites/chars.png 8bpp 260 40 20 21 0 -2 normal
-1 sprites/chars.png 8bpp 290 40 20 21 0 -2 normal
-1 sprites/chars.png 8bpp 320 40 20 21 0 -2 normal
-1 sprites/chars.png 8bpp 350 40 20 21 0 -2 normal
-1 sprites/chars.png 8bpp 380 40 20 21 0 -2 normal
-1 sprites/chars.png 8bpp 410 40 20 21 0 -2 normal
-1 sprites/chars.png 8bpp 440 40 24 21 0 -2 normal
-1 * 5 0A 01 18 6A 02
-1 sprites/chars.png 8bpp 480 40 14 21 0 -2 normal
-1 sprites/chars.png 8bpp 500 40 14 21 0 -2 normal
-1 sprites/chars.png 8bpp 520 40 14 21 0 -2 normal
-1 sprites/chars.png 8bpp 540 40 14 21 0 -2 normal
-1 sprites/chars.png 8bpp 560 40 9 21 0 -2 normal
-1 sprites/chars.png 8bpp 570 40 9 21 0 -2 normal
-1 sprites/chars.png 8bpp 580 40 9 21 0 -2 normal
-1 sprites/chars.png 8bpp 590 40 9 21 0 -2 normal
-1 sprites/chars.png 8bpp 600 40 17 21 0 -2 normal
-1 sprites/chars.png 8bpp 620 40 18 21 0 -2 normal
-1 sprites/chars.png 8bpp 640 40 15 21 0 -2 normal
-1 sprites/chars.png 8bpp 660 40 15 21 0 -2 normal
-1 sprites/chars.png 8bpp 680 40 15 21 0 -2 normal
-1 sprites/chars.png 8bpp 700 40 15 21 0 -2 normal
-1 sprites/chars.png 8bpp 720 40 15 21 0 -2 normal
-1 sprites/chars.png 8bpp 740 40 9 21 0 -2 normal
-1 sprites/chars.png 8bpp 750 40 16 21 0 -2 normal
-1 sprites/chars.png 8bpp 770 40 17 21 0 -2 normal
-1 sprites/chars.png 8bpp 10 100 17 21 0 -2 normal
-1 sprites/chars.png 8bpp 30 100 17 21 0 -2 normal
-1 sprites/chars.png 8bpp 50 100 17 21 0 -2 normal
-1 sprites/chars.png 8bpp 70 100 14 21 0 -2 normal
-1 sprites/chars.png 8bpp 90 100 14 21 0 -2 normal
-1 sprites/chars.png 8bpp 450 100 14 21 0 -2 normal
-1 * 5 0A 01 01 85 02
-1 sprites/chars.png 8bpp 140 100 12 21 0 -2 normal
-1 * 5 0A 01 01 88 02
-1 sprites/chars.png 8bpp 170 100 19 21 0 -2 normal
-1 * 5 0A 01 02 92 02
-1 sprites/chars.png 8bpp 270 100 11 21 0 -2 normal
-1 sprites/chars.png 8bpp 290 100 15 21 0 -2 normal
-1 * 5 0A 01 01 97 02
-1 sprites/chars.png 8bpp 340 100 11 21 0 -2 normal
-1 * 5 0A 01 02 99 02
-1 sprites/chars.png 8bpp 360 100 9 21 0 -2 normal
-1 sprites/chars.png 8bpp 370 100 11 21 0 -2 normal
-1 * 5 0A 01 01 A0 02
-1 sprites/chars.png 8bpp 430 100 14 21 0 -2 normal
// New characters, all fonts except monospaced
// U+007B: Left Curly Bracket
// U+007C: Vertical Line
// U+007D: Right Curly Bracket
// U+007E: Tilde
-1 * 14 12 03 00 04 7B 00 01 04 7B 00 02 04 7B 00
-1 sprites/chars.png 8bpp 10 130 5 12 0 -1 normal
-1 sprites/chars.png 8bpp 20 130 3 12 0 -1 normal
-1 sprites/chars.png 8bpp 30 130 5 12 0 -1 normal
-1 sprites/chars.png 8bpp 50 130 7 12 0 -1 normal
-1 sprites/chars.png 8bpp 10 150 3 7 0 0 normal
-1 sprites/chars.png 8bpp 20 150 1 7 0 0 normal
-1 sprites/chars.png 8bpp 30 150 3 7 0 0 normal
-1 sprites/chars.png 8bpp 50 150 4 7 0 0 normal
-1 sprites/chars.png 8bpp 10 160 9 21 0 -2 normal
-1 sprites/chars.png 8bpp 20 160 3 21 0 -2 normal
-1 sprites/chars.png 8bpp 30 160 9 21 0 -2 normal
-1 sprites/chars.png 8bpp 50 160 10 21 0 -2 normal
// U+007F: No-Break Space
-1 * 14 12 03 00 01 7F 00 01 01 7F 00 02 01 7F 00
-1 sprites/chars.png 8bpp 70 130 2 12 0 -1 normal
-1 sprites/chars.png 8bpp 70 150 1 7 0 0 normal
-1 sprites/chars.png 8bpp 70 160 5 21 0 -2 normal
// U+00AA: Feminine Ordinal Indicator
-1 * 14 12 03 00 01 AA 00 01 01 AA 00 02 01 AA 00
-1 sprites/chars.png 8bpp 80 130 6 12 0 -1 normal
-1 sprites/chars.png 8bpp 80 150 3 7 0 0 normal
-1 sprites/chars.png 8bpp 80 160 7 21 0 -2 normal
// U+00AC: Not Sign
// U+00AD: Soft Hyphen
-1 * 14 12 03 00 02 AC 00 01 02 AC 00 02 02 AC 00
-1 sprites/chars.png 8bpp 90 130 8 12 0 -1 normal
-1 sprites/chars.png 8bpp 110 130 6 12 0 -1 normal
-1 sprites/chars.png 8bpp 90 150 4 7 0 0 normal
-1 sprites/chars.png 8bpp 110 150 3 7 0 0 normal
-1 sprites/chars.png 8bpp 90 160 12 21 0 -2 normal
-1 sprites/chars.png 8bpp 110 160 9 21 0 -2 normal
// U+00AF: Macron
-1 * 14 12 03 00 01 AF 00 01 01 AF 00 02 01 AF 00
-1 sprites/chars.png 8bpp 130 130 6 12 0 -1 normal
-1 sprites/chars.png 8bpp 130 150 3 7 0 0 normal
-1 sprites/chars.png 8bpp 130 160 12 21 0 -2 normal
// U+00B4: Acute Accent
// U+00B5: Micro Sign
// U+00B6: Pilcrow Sign
// U+00B7: Middle Dot
// U+00B8: Cedilla
// U+00B9: Superscript One
-1 * 14 12 03 00 06 B4 00 01 06 B4 00 02 06 B4 00
-1 sprites/chars.png 8bpp 150 130 4 12 0 -1 normal
-1 sprites/chars.png 8bpp 160 130 6 12 0 -1 normal
-1 sprites/chars.png 8bpp 180 130 8 12 0 -1 normal
-1 sprites/chars.png 8bpp 200 130 3 12 0 -1 normal
-1 sprites/chars.png 8bpp 210 130 4 12 0 -1 normal
-1 sprites/chars.png 8bpp 220 130 5 12 0 -1 normal
-1 sprites/chars.png 8bpp 150 150 2 7 0 0 normal
-1 sprites/chars.png 8bpp 160 150 3 7 0 0 normal
-1 sprites/chars.png 8bpp 180 150 6 7 0 0 normal
-1 sprites/chars.png 8bpp 200 150 1 7 0 0 normal
-1 sprites/chars.png 8bpp 210 150 2 7 0 0 normal
-1 sprites/chars.png 8bpp 220 150 2 7 0 0 normal
-1 sprites/chars.png 8bpp 150 160 4 21 0 -2 normal
-1 sprites/chars.png 8bpp 160 160 15 21 0 -2 normal
-1 sprites/chars.png 8bpp 180 160 13 21 0 -2 normal
-1 sprites/chars.png 8bpp 200 160 3 21 0 -2 normal
-1 sprites/chars.png 8bpp 210 160 5 21 0 -2 normal
-1 sprites/chars.png 8bpp 220 160 6 21 0 -2 normal
// U+00BC: Vulgar Fraction One Quarter
// U+00BD: Vulgar Fraction One Half
-1 * 14 12 03 00 02 BC 00 01 02 BC 00 02 02 BC 00
-1 sprites/chars.png 8bpp 230 130 10 12 0 -1 normal
-1 sprites/chars.png 8bpp 250 130 10 12 0 -1 normal
-1 sprites/chars.png 8bpp 230 150 9 7 0 0 normal
-1 sprites/chars.png 8bpp 250 150 9 7 0 0 normal
-1 sprites/chars.png 8bpp 230 160 16 21 0 -2 normal
-1 sprites/chars.png 8bpp 250 160 16 21 0 -2 normal
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// 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/>.
//
// Sources for extra graphics to complement the original graphics.
// Checks whether the correct version of OpenTTD is used before
// allowing it to be used.
//
//
// Number of sprites, it is wrong, but GRFcodec automagically gets it right.
//
0 * 4 00 00 00 00
//
// Check whether we are running OTTD or not.
//
-1 * 0 07 9D 04 \7= 01 00 00 00 01
-1 * 0 0B 03 7F FF 80 " is not for TTDPatch. Use ttdpatch(w).grf." 00
//
// Check for OTTD's version number
//
// First step... Variable A1 might not exist. If that's the case it always
// skips. As we do not want to skip out of the whole testing, we skip over
// the real version check.
-1 * 0 07 A1 04 \7= FF FF FF FF 02
// Real version check.
-1 * 0 07 A1 04 \7> \w20304 01 01 03
// If the version check is supported, the string is translateable via OpenTTD
// itself. Use it!.
-1 * 0 0B 03 7F 06 "1.1 (or trunk r20304)" 00
// Some OTTD versions before r11130 did support Action B, so use the English
// phrase there
-1 * 0 0B 03 7F FF "Requires OpenTTD version 1.1 (or trunk r20304) or better." 00
// Final fallback. No Action B support, just skip to the end of the file.
-1 * 0 07 A1 04 \7= FF FF FF FF 00
// We are a DOS paletted NewGRF, so tell OpenTTD that. Then it can actually
// do the right thing. Yay for that feature as that means no duplicate NewGRF!
-1 * 0 14
"C" "INFO"
"B" "PALS" \w1 "D"
00
00
// GRF ID, must start with FF so it gets ignored
//@@WARNING DISABLE 101
-1 * 0 08 08 FF "OTT"
// Name of the GRF
"Original baseset extra graphics" 00
// Description of the GRF.
"License: GNU General Public License version 2" 0D
"Andrew Parkhouse: rivers" 0D
"Addi and PaulC: original graphics fixes" 0D
"OpenTTD developers: other graphics" 00
//
// The real data of the GRF is acquired from several subfiles.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// 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/>.
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# 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/>.
# echo without interpretation of backslash escapes and without
# adding newline at the end - just the string as it is
rawprint()
{
printf'%s'"$@"
}
encode_dword()
{
printf'\x%02x'\
`expr $1 / 16777216 % 256`\
`expr $1 / 65536 % 256`\
`expr $1 / 256 % 256`\
`expr $1 % 256`
}
encode_string()
{
# turn string into UTF-16 and hexdump it
hex_utf16=`rawprint "$1"| iconv -t UTF-16BE | od -t x1 -A n | tr -d -c '[:xdigit:]'`;
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.