Dutch Road Furniture 0.3.0 ----------------------------------- Contents: 1 About 2 Requirements, installation and usage 3 Background information 3.1 Fingerposts 3.2 Hard shoulders 3.3 Motorway medians 4 Technical notes 5 License 6 Credits 7 Building from source 7.1 Obtaining the source 7.2 Dependencies 7.3 Makefile targets 7.4 Speed issues ------- 1 About ------- Dutch Road Furniture is an eyecandy object NewGRF that features road furniture which can be found alongside Dutch roads. Dutch Road Furniture 0.3.0 MD5Hash: 08a5403d94c299a3afdd007d3686a5e7 dutchroadfurniture.grf Version: 35 GRF ID: FB FB 05 01 -------------------------------------- 2 Requirements, installation and usage -------------------------------------- You need OpenTTD 1.2.0 or nightly r22723 (or newer) for this to work, as it uses some rather new stuff for defining sloped ground tiles. At the moment of release, this NewGRF was not known to be working with TTDPatch. Consult the manual of the game on how to install NewGRFs. OpenTTD users can also get this NewGRF via the ingame content download. The signs in this set are so-called objects. This means that they have no other purpose than just sit there and look nice. They don't help road vehicles find their destinations and they don't generate money. In fact, they only cost money when you purchase them. You get some of that back though when you remove them again. If you have any problems with this NewGRF, you can post in the topic at TT-Forums: http://www.tt-forums.net/viewtopic.php?f=67&t=56316 or add a ticket to the issue tracker at the DevZone: http://dev.openttdcoop.org/projects/dutchroadfurniture/issues ------------------------ 3 Background information ------------------------ This chapter has some background information or general usage information on the objects in this NewGRF. Plans have been made to include highway direction signs, barriers, guardrails, lamp posts, trees, fences and suchlike at a later stage. 3.1 Fingerposts --------------- In 1894 the ANWB (General Dutch Cyclists Association) installed the first fingerpost and systematically expanded directional signs since then. It is exceptional that a private organisation and not the government embarked on this task. The ANWB fingerposts have changed their appearance during the years. The classic wooden fingerposts didn't last very long. In the winter of 1894 people found them to be excellent firewood. In 1896 the ANWB started placing steel replacements. After WWII, the fingerposts were redesigned and installed from 1946. The blue fingerposts as we know them today were designed in 1961. These blue fingerposts were redesigned around the year 2000, but the differences are too small for TTD scale. 3.2 Hard shoulders ------------------ Hard shoulders are a common sight alongside Dutch motorways. Now they are also available in your OpenTTD games. These hard shoulders are designed to match the OpenGFX roads and 'connect' to them when built alongside. Corners are formed automatically by detecting adjacent hard shoulder tiles in case the shoulder doesn't continue straight on. Outside corners are preferred over inside corners. Because the hard shoulders "step outside their tiles" they may glitch slightly reveiling some corners of the underlaying terrain, but generally this isn't too bad. 3.3 Motorway medians -------------------- Like the hard shoulders the motorway medians are designed to match the OpenGFX roads. If you build the two carriageways of your motorway one tile apart, you can add the medians in the middle. These also add a third lane to each of the two carriageways. With these medians you must do your terraforming a little more carefully than with the hard shoulders. You will be warned by a symbol if you do something that isn't supported: * Traffic incident sign: this slope combination isn't possible graphically as this would lead to weird slopes in the road that vehicles impossibly can drive on safely. * Road works sign: you have some unnecessary slopes in the underlaying terrain. Do some digging as a more simple terrain is possible. Other remarks of the hard shoulder also apply here. ----------------- 4 Technical notes ----------------- This NewGRF uses a relatively new OpenTTD feature that allows register modifiers inside Action2 sprite layouts. This feature was completed in OpenTTD r22723. At the moment of writing, this feature is unavailable, however loading this NewGRF in TTDPatch has not been specifically denied in case this feature is added to TTDPatch in the future. The objects in this NewGRF are defined in their own object class NLRF (short for NL (Dutch) Road Furniture). It was chosen to not add the objects to the default INFR class in order to keep the Dutch things separate and to avoid very long object lists in case multiple INFR class object NewGRFs are loaded. At the time of creation, the NLRF class was not registered and not known to be used by other NewGRFs. Other NewGRFs are of course free to add things to the NLRF class, but if you see non- Dutch stuff in it, complain to the other NewGRF's author and not here. --------- 5 License --------- Dutch Road Furniture - Eyecandy for OpenTTD and TTDPatch Copyright (C) 2011 Jasper Vries (FooBar) This program 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; either version 2 of the License, or (at your option) any later version. This program 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 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------- 6 Credits --------- Graphics and code: Jasper Vries (FooBar) Contains parts of graphics by: Richard Wheeler (Zephyris) - Parts of OpenGFX road graphics are reused for the hard shoulders and third lanes. Makefile system: Ingo von Borstel (planetmaker) ---------------------- 7 Building from source ---------------------- Usually there's not much which needs to be changed when you obtain the source. Your friends will usually be make make install Both will build the grf from source, the latter will also try to copy the grf into your grf folder so that it is available for testing and use straight away. 7.1 Obtaining the source ------------------------ The source code can be obtained from the #openttdcoop DevZone via source browser: http://dev.openttdcoop.org/projects/dutchroadfurniture/repository or via mercurial checkout: hg clone http://hg.openttdcoop.org/dutchroadfurniture or via a source bundle download (releases and nightlies only): http://bundles.openttdcoop.org/dutchroadfurniture/ 7.2 Dependencies ---------------- Requirements for running the Makefile successfully: NML (at least r1625) gcc md5sum (or md5 on Mac) make mercurial (recommended) python (recommended) If you want to bundle the grf, you'll need additionally tar zip bzip2 unix2dos (optional) Windows only: On Windows systems this means that you'll need to install MinGW and MSys in order to obtain a posix compatible environment. Then the makefile can be called the very same way as it is on linux and mac systems. MinGW/MSys contain the above mentioned programmes (except NML of course) and can be obtained from http://www.mingw.org/ That site also features an excellent walk-through on how to install it. If you use for OpenTTD data folder a non-default path or Windows with a non-English localization make sure to copy Makefile.local.sample to Makefile.local and edit the line with INSTALLDIR = accordingly so that it shows the full path to your OpenTTD data directory. 7.3 Makefile targets -------------------- A brief overview over all Makefile targets is given here: all: This is the default target, if also no parameter is given to make. It will simply build the grf file, if it needs building depend: Re-run the dependency check. Usually not manually needed. docs: Build the documentation files bundle: This target will create a directory called "-nightly" and copy the grf file there and the documentation files, readme.txt, changelog.txt and license.txt bundle_zip This will zip the bundle directory into one zip for distribution bundle_tar This will tar the bundle directory into a tar archive for distribution or upload to bananas bundle_src Creates a source bundle install: This will create a tar archive (like bundle_tar) and copy it into the INSTALLDIR as specified in Makefile.local (or the default dir, if that isn't defined). Don't rely on a good detection of the default installation directory. It's especially bound to fail on windows machines. distclean: This phony target cleans everything from a source bundle which wasn't shipped. clean: This phony target will delete all files which this Makefile will create mrproper: This phony target will delete also all directories created by different Makefile targets remake: It's a shortcut for first cleaning the dir and then making the grf anew. addcheck: Check whether there are some files required but not part of the repository. check: Check the md5sum of the built newgrf against the supplied md5sum (Intended to be used when building from tar balls) 7.4 Speed issues ---------------- A note concerning the speed of the makefile: It seems that the required tools using MinGW and / or msys are thoroughly slow on Windows. A few example run times for OpenGFX, same processor type (both core 2 duo, 2.26GHz for the windows machine, 2.0 GHz for the OSX machine). Note that the values given are the 'real' time. Even though this varies more and is dependent on the processor load, that's what you have to wait for; the 'user' times are quite low on the Windows machine (~16s), but that by no means reflects the build time. Times are from OpenGFX r539 with makefile r199. DEP_CHECK_TYPE Windows bash native native in VM (OSX) none 1m23.360s - 0m32.781s mdep 1m54.484s 0m30.164s 0m33.807s normal 2m37.857s - 0m36.528s