diff --git a/Makefile.grf.in b/Makefile.grf.in
index 81089efb11..c2d058d597 100644
--- a/Makefile.grf.in
+++ b/Makefile.grf.in
@@ -75,10 +75,10 @@ $(BIN_DIR)/%.obm: $(BASESET_DIR)/%.obm $(OBJS_DIR)/langfiles.tmp $(BASESET_DIR)/
$(Q) awk -v langfiles='$(OBJS_DIR)/langfiles.tmp' -f $(BASESET_DIR)/translations.awk $< >$@
# Compile extra grf
-$(BIN_DIR)/openttd.grf: $(PNG_FILES) $(NFO_FILES) $(OBJS_DIR)/sprites
+$(BIN_DIR)/openttd.grf: $(PNG_FILES) $(NFO_FILES) $(OBJS_DIR)/sprites $(GRF_DIR)/assemble_nfo.awk
$(E) '$(STAGE) Assembling openttd.nfo'
$(Q)-cp $(PNG_FILES) $(OBJS_DIR)/sprites 2> /dev/null
- $(Q) $(CC_BUILD) -nostdinc -I$(GRF_DIR) -C -E - < "$(GRF_DIR)/openttd.nfo" | sed -e '/^#/d' -e '/^$$/d' > $(OBJS_DIR)/sprites/openttd.nfo
+ $(Q) awk -f $(GRF_DIR)/assemble_nfo.awk $(GRF_DIR)/openttd.nfo > $(OBJS_DIR)/sprites/openttd.nfo
$(Q) $(NFORENUM) -s $(OBJS_DIR)/sprites/openttd.nfo
$(E) '$(STAGE) Compiling openttd.grf'
$(Q) $(GRFCODEC) -n -s -e -p1 $(OBJS_DIR)/openttd.grf
diff --git a/media/extra_grf/assemble_nfo.awk b/media/extra_grf/assemble_nfo.awk
new file mode 100644
index 0000000000..cf6b425c1d
--- /dev/null
+++ b/media/extra_grf/assemble_nfo.awk
@@ -0,0 +1,32 @@
+# $Id$
+
+# This file is part of OpenTTD.
+# 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 .
+
+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.
+function assemble(filename) {
+ while ((getline < filename) > 0) {
+ if (NF == 2 && $1 == "#include" ) {
+ # Remove the quotes.
+ gsub("[\"'<>]", "", $2);
+ assemble(path $2);
+ } else {
+ print $0;
+ }
+ }
+
+ if (close(filename) < 0) {
+ print "Could not open " filename > "/dev/stderr";
+ exit -1;
+ }
+}
diff --git a/readme.txt b/readme.txt
index 024abc2884..2ca33d9bd0 100644
--- a/readme.txt
+++ b/readme.txt
@@ -674,46 +674,47 @@ http://homer.rice.edu/~sandmann/cwsdpmi/csdpmi5s.zip
X.X) Credits
---- -------
The OpenTTD team (in alphabetical order):
- Albert Hofkamp (Alberth) - GUI expert
- Jean-François Claeys (Belugas) - GUI, newindustries and more
- Matthijs Kooijman (blathijs) - Pathfinder-guru, pool rework
- Ulf Hermann (fonsinchen) - Cargo Distribution
- Christoph Elsenhans (frosch) - General coding
- Loïc Guilloux (glx) - Windows Expert
- Michael Lutz (michi_cc) - Path based signals
- Owen Rudge (orudge) - Forum host, OS/2 port
- Peter Nelson (peter1138) - Spiritual descendant from newGRF gods
- Ingo von Borstel (planetmaker) - Support
- Remko Bijker (Rubidium) - Lead coder and way more
- Zdeněk Sojka (SmatZ) - Bug finder and fixer
- José Soler (Terkhen) - General coding
- Thijs Marinussen (Yexo) - AI Framework
- Leif Linse (Zuu) - AI/Game Script
+ Albert Hofkamp (Alberth) - GUI expert (since 0.7)
+ Matthijs Kooijman (blathijs) - Pathfinder-guru, Debian port (since 0.3)
+ Ulf Hermann (fonsinchen) - Cargo Distribution (since 1.3)
+ Christoph Elsenhans (frosch) - General coding (since 0.6)
+ Loïc Guilloux (glx) - Windows Expert (since 0.4.5)
+ Michael Lutz (michi_cc) - Path based signals (since 0.7)
+ Owen Rudge (orudge) - Forum host, OS/2 port (since 0.1)
+ Peter Nelson (peter1138) - Spiritual descendant from newGRF gods (since 0.4.5)
+ Ingo von Borstel (planetmaker) - General coding, Support (since 1.1)
+ Remko Bijker (Rubidium) - Lead coder and way more (since 0.4.5)
+ José Soler (Terkhen) - General coding (since 1.0)
+ Leif Linse (Zuu) - AI/Game Script (since 1.2)
Inactive Developers:
- Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles
- Victor Fischer (Celestar) - Programming everywhere you need him to
- Tamás Faragó (Darkvater) - Ex-Lead coder
- Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;)
- Jonathan Coome (Maedhros) - High priest of the NewGRF Temple
- Attila Bán (MiHaMiX) - WebTranslator 1 and 2
- Christoph Mallon (Tron) - Programmer, code correctness police
+ Jean-François Claeys (Belugas) - GUI, newindustries and more (0.4.5 - 1.0)
+ Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles (0.3 - 0.7)
+ Victor Fischer (Celestar) - Programming everywhere you need him to (0.3 - 0.6)
+ Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;) (0.4.5 - 0.6)
+ Jonathan Coome (Maedhros) - High priest of the NewGRF Temple (0.5 - 0.6)
+ Attila Bán (MiHaMiX) - WebTranslator 1 and 2 (0.3 - 0.5)
+ Zdeněk Sojka (SmatZ) - Bug finder and fixer (0.6 - 1.3)
+ Christoph Mallon (Tron) - Programmer, code correctness police (0.3 - 0.5)
+ Patric Stout (TrueBrain) - NoProgrammer (0.3 - 1.2), sys op (active)
+ Thijs Marinussen (Yexo) - AI Framework, General (0.6 - 1.3)
Retired Developers:
- Ludvig Strigeus (ludde) - OpenTTD author, main coder (0.1 - 0.3.3)
- Serge Paquet (vurlix) - Assistant project manager, coder (0.1 - 0.3.3)
- Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3.0 - 0.3.6)
- Benedikt Brüggemeier (skidd13) - Bug fixer and code reworker
- Patric Stout (TrueBrain) - NoProgrammer (0.3 - 1.2), sys op (active)
+ Tamás Faragó (Darkvater) - Ex-Lead coder (0.3 - 0.5)
+ Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3 - 0.3)
+ Emil Djupfeld (egladil) - MacOSX port (0.4 - 0.6)
+ Simon Sasburg (HackyKid) - Bug fixer (0.4 - 0.4.5)
+ Ludvig Strigeus (ludde) - Original author of OpenTTD, main coder (0.1 - 0.3)
+ Cian Duffy (MYOB) - BeOS port / manual writing (0.1 - 0.3)
+ Petr Baudiš (pasky) - Many patches, newgrf support, etc. (0.3 - 0.3)
+ Benedikt Brüggemeier (skidd13) - Bug fixer and code reworker (0.6 - 0.7)
+ Serge Paquet (vurlix) - 2nd contributor after ludde (0.1 - 0.3)
Thanks to:
Josef Drexler - For his great work on TTDPatch.
Marcin Grzegorczyk - For his TTDPatch work and documentation of Transport Tycoon Deluxe internals and track foundations
- Petr Baudiš (pasky) - Many patches, newgrf support, etc.
- Simon Sasburg (HackyKid) - For the many bugfixes he has blessed us with
Stefan Meißner (sign_de) - For his work on the console
Mike Ragsdale - OpenTTD installer
- Cian Duffy (MYOB) - BeOS port / manual writing
Christian Rosentreter (tokai) - MorphOS / AmigaOS port
Richard Kempton (RichK67) - Additional airports, initial TGP implementation
Alberto Demichelis - Squirrel scripting language
diff --git a/src/fontdetection.cpp b/src/fontdetection.cpp
index 82c4f354f6..605a8b94a1 100644
--- a/src/fontdetection.cpp
+++ b/src/fontdetection.cpp
@@ -392,7 +392,7 @@ FT_Error GetFontByFaceName(const char *font_name, FT_Face *face)
} else
#endif
{
-#if (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5) && !__LP64__
+#if (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5) && !defined(__LP64__)
/* This type was introduced with the 10.5 SDK. */
#if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5)
#define ATSFSSpec FSSpec
diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp
index 5d1048e894..e01ecbb1ef 100644
--- a/src/misc_gui.cpp
+++ b/src/misc_gui.cpp
@@ -385,46 +385,47 @@ static const char * const _credits[] = {
"Original graphics by Simon Foster",
"",
"The OpenTTD team (in alphabetical order):",
- " Albert Hofkamp (Alberth) - GUI expert",
- " Jean-Fran\xC3\xA7ois Claeys (Belugas) - GUI, newindustries and more",
- " Matthijs Kooijman (blathijs) - Pathfinder-guru, pool rework",
- " Christoph Elsenhans (frosch) - General coding",
- " Ulf Hermann (fonsinchen) - Cargo Distribution",
- " Lo\xC3\xAF""c Guilloux (glx) - Windows Expert",
- " Michael Lutz (michi_cc) - Path based signals",
- " Owen Rudge (orudge) - Forum host, OS/2 port",
- " Peter Nelson (peter1138) - Spiritual descendant from NewGRF gods",
- " Ingo von Borstel (planetmaker) - Support",
- " Remko Bijker (Rubidium) - Lead coder and way more",
- " Zden\xC4\x9Bk Sojka (SmatZ) - Bug finder and fixer",
- " Jos\xC3\xA9 Soler (Terkhen) - General coding",
- " Thijs Marinussen (Yexo) - AI Framework",
- " Leif Linse (Zuu) - AI/Game Script",
+ " Albert Hofkamp (Alberth) - GUI expert (since 0.7)",
+ " Matthijs Kooijman (blathijs) - Pathfinder-guru, Debian port (since 0.3)",
+ " Ulf Hermann (fonsinchen) - Cargo Distribution (since 1.3)",
+ " Christoph Elsenhans (frosch) - General coding (since 0.6)",
+ " Lo\xC3\xAF""c Guilloux (glx) - General / Windows Expert (since 0.4.5)",
+ " Michael Lutz (michi_cc) - Path based signals (since 0.7)",
+ " Owen Rudge (orudge) - Forum host, OS/2 port (since 0.1)",
+ " Peter Nelson (peter1138) - Spiritual descendant from NewGRF gods (since 0.4.5)",
+ " Ingo von Borstel (planetmaker) - General, Support (since 1.1)",
+ " Remko Bijker (Rubidium) - Lead coder and way more (since 0.4.5)",
+ " Jos\xC3\xA9 Soler (Terkhen) - General coding (since 1.0)",
+ " Leif Linse (Zuu) - AI/Game Script (since 1.2)",
"",
"Inactive Developers:",
- " Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles",
- " Victor Fischer (Celestar) - Programming everywhere you need him to",
- " Tam\xC3\xA1s Farag\xC3\xB3 (Darkvater) - Ex-Lead coder",
- " Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;)",
- " Jonathan Coome (Maedhros) - High priest of the NewGRF Temple",
- " Attila B\xC3\xA1n (MiHaMiX) - Developer WebTranslator 1 and 2",
- " Christoph Mallon (Tron) - Programmer, code correctness police",
+ " Jean-Fran\xC3\xA7ois Claeys (Belugas) - GUI, NewGRF and more (0.4.5 - 1.0)",
+ " Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles (0.3 - 0.7)",
+ " Victor Fischer (Celestar) - Programming everywhere you need him to (0.3 - 0.6)",
+ " Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;) (0.4.5 - 0.6)",
+ " Jonathan Coome (Maedhros) - High priest of the NewGRF Temple (0.5 - 0.6)",
+ " Attila B\xC3\xA1n (MiHaMiX) - Developer WebTranslator 1 and 2 (0.3 - 0.5)",
+ " Zden\xC4\x9Bk Sojka (SmatZ) - Bug finder and fixer (0.6 - 1.3)",
+ " Christoph Mallon (Tron) - Programmer, code correctness police (0.3 - 0.5)",
+ " Patric Stout (TrueBrain) - NoAI, NoGo, Network (0.3 - 1.2), sys op (active)",
+ " Thijs Marinussen (Yexo) - AI Framework, General (0.6 - 1.3)",
"",
"Retired Developers:",
- " Ludvig Strigeus (ludde) - OpenTTD author, main coder (0.1 - 0.3.3)",
- " Serge Paquet (vurlix) - Assistant project manager, coder (0.1 - 0.3.3)",
- " Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3.0 - 0.3.6)",
- " Benedikt Br\xC3\xBCggemeier (skidd13) - Bug fixer and code reworker",
- " Patric Stout (TrueBrain) - NoProgrammer (0.3 - 1.2), sys op (active)",
+ " Tam\xC3\xA1s Farag\xC3\xB3 (Darkvater) - Ex-Lead coder (0.3 - 0.5)",
+ " Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3 - 0.3)",
+ " Emil Djupfeld (egladil) - MacOSX (0.4.5 - 0.6)",
+ " Simon Sasburg (HackyKid) - Many bugfixes (0.4 - 0.4.5)",
+ " Ludvig Strigeus (ludde) - Original author of OpenTTD, main coder (0.1 - 0.3)",
+ " Cian Duffy (MYOB) - BeOS port / manual writing (0.1 - 0.3)",
+ " Petr Baudi\xC5\xA1 (pasky) - Many patches, NewGRF support (0.3 - 0.3)",
+ " Benedikt Br\xC3\xBCggemeier (skidd13) - Bug fixer and code reworker (0.6 - 0.7)",
+ " Serge Paquet (vurlix) - 2nd contributor after ludde (0.1 - 0.3)",
"",
"Special thanks go out to:",
" Josef Drexler - For his great work on TTDPatch",
" Marcin Grzegorczyk - Track foundations and for describing TTD internals",
- " Petr Baudi\xC5\xA1 (pasky) - Many patches, newGRF support",
- " Simon Sasburg (HackyKid) - Many bugfixes he has blessed us with",
" Stefan Mei\xC3\x9Fner (sign_de) - For his work on the console",
" Mike Ragsdale - OpenTTD installer",
- " Cian Duffy (MYOB) - BeOS port / manual writing",
" Christian Rosentreter (tokai) - MorphOS / AmigaOS port",
" Richard Kempton (richK) - additional airports, initial TGP implementation",
" Fleashosio - titlegame",
diff --git a/src/newgrf_text.cpp b/src/newgrf_text.cpp
index 439a8d57fd..46ac04e236 100644
--- a/src/newgrf_text.cpp
+++ b/src/newgrf_text.cpp
@@ -1058,6 +1058,16 @@ uint RemapNewGRFStringControlCode(uint scc, char *buf_start, char **buff, const
*argv = MapGRFStringID(_newgrf_textrefstack.grffile->grfid, _newgrf_textrefstack.PopUnsignedWord());
break;
}
+ } else {
+ /* Consume additional parameter characters */
+ switch (scc) {
+ default: break;
+
+ case SCC_NEWGRF_PUSH_WORD:
+ case SCC_NEWGRF_UNPRINT:
+ Utf8Consume(str);
+ break;
+ }
}
switch (scc) {
diff --git a/src/os/macosx/crashlog_osx.cpp b/src/os/macosx/crashlog_osx.cpp
index 109b3e5fe2..cdadbc3331 100644
--- a/src/os/macosx/crashlog_osx.cpp
+++ b/src/os/macosx/crashlog_osx.cpp
@@ -31,7 +31,7 @@
#endif
/* printf format specification for 32/64-bit addresses. */
-#if __LP64__
+#ifdef __LP64__
#define PRINTF_PTR "0x%016lx"
#else
#define PRINTF_PTR "0x%08lx"
diff --git a/src/os/macosx/osx_stdafx.h b/src/os/macosx/osx_stdafx.h
index cd30f372ea..35b3f434a1 100644
--- a/src/os/macosx/osx_stdafx.h
+++ b/src/os/macosx/osx_stdafx.h
@@ -46,24 +46,14 @@
#define __STDC_LIMIT_MACROS
#include
-/* We need to include this first as that "depends" on the compiler's setting
- * of __LP64__. So before we define __LP64__ so it can be used. */
-#include
-#include
-
/* Some gcc versions include assert.h via this header. As this would interfere
* with our own assert redefinition, include this header first. */
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))
# include
#endif
-/* __LP64__ only exists in 10.5 and higher */
-#if defined(__APPLE__) && !defined(__LP64__)
-# define __LP64__ 0
-#endif
-
/* Check for mismatching 'architectures' */
-#if !defined(STRGEN) && !defined(SETTINGSGEN) && ((__LP64__ && !defined(_SQ64)) || (!__LP64__ && defined(_SQ64)))
+#if !defined(STRGEN) && !defined(SETTINGSGEN) && ((defined(__LP64__) && !defined(_SQ64)) || (!defined(__LP64__) && defined(_SQ64)))
# error "Compiling 64 bits without _SQ64 set! (or vice versa)"
#endif
@@ -99,7 +89,7 @@
/* NSInteger and NSUInteger are part of 10.5 and higher. */
#ifndef NSInteger
-#if __LP64__
+#ifdef __LP64__
typedef long NSInteger;
typedef unsigned long NSUInteger;
#else
@@ -109,7 +99,7 @@ typedef unsigned int NSUInteger;
#endif /* NSInteger */
#ifndef CGFLOAT_DEFINED
-#if __LP64__
+#ifdef __LP64__
typedef double CGFloat;
#else
typedef float CGFloat;
diff --git a/src/vehicle.cpp b/src/vehicle.cpp
index f7fc9f306e..1c9dc1c3f4 100644
--- a/src/vehicle.cpp
+++ b/src/vehicle.cpp
@@ -1204,9 +1204,10 @@ bool Vehicle::HandleBreakdown()
this->cur_speed = 0;
if (!PlayVehicleSound(this, VSE_BREAKDOWN)) {
+ bool train_or_ship = this->type == VEH_TRAIN || this->type == VEH_SHIP;
SndPlayVehicleFx((_settings_game.game_creation.landscape != LT_TOYLAND) ?
- (this->type == VEH_TRAIN ? SND_10_TRAIN_BREAKDOWN : SND_0F_VEHICLE_BREAKDOWN) :
- (this->type == VEH_TRAIN ? SND_3A_COMEDY_BREAKDOWN_2 : SND_35_COMEDY_BREAKDOWN), this);
+ (train_or_ship ? SND_10_TRAIN_BREAKDOWN : SND_0F_VEHICLE_BREAKDOWN) :
+ (train_or_ship ? SND_3A_COMEDY_BREAKDOWN_2 : SND_35_COMEDY_BREAKDOWN), this);
}
if (!(this->vehstatus & VS_HIDDEN) && !HasBit(EngInfo(this->engine_type)->misc_flags, EF_NO_BREAKDOWN_SMOKE)) {
diff --git a/src/video/cocoa/fullscreen.mm b/src/video/cocoa/fullscreen.mm
index 4d2b1c5884..860866b336 100644
--- a/src/video/cocoa/fullscreen.mm
+++ b/src/video/cocoa/fullscreen.mm
@@ -70,7 +70,7 @@ struct OTTD_QuartzGammaTable {
- (void) setFrame:(NSRect)frame
{
/* The 64 bits libraries don't seem to know about _frame, so this hack won't work. */
-#if !__LP64__
+#ifndef __LP64__
_frame = frame;
#endif
}