Dutch Road Furniture 0.2.0 ----------------------------------- Contents: 1 About 2 Requirements, installation and usage 3 Background information 3.1 Fingerposts 3.2 Hard shoulders 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.2.0 MD5Hash: 27d8a702f850eac9b466f1df6936253e dutchroadfurniture.grf Version: 23 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. ------------------------ 3 Background information ------------------------ Currently, only Dutch fingerposts and plain hard shoulders are included. 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. ----------------- 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) - Hard shoulder tarmac use parts of OpenGFX road graphics. 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 at http://dev.openttdcoop.org/projects/dutchroadfurniture or via mercurial checkout hg clone http://hg.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