1
0
Fork 0

(svn r26715) [1.4] -Backport from trunk:

- Fix: [NewGRF] Parameters to SCC_NEWGRF_PUSH_WORD and SCC_NEWGRF_UNPRINT were not skipped during drawing (r26713)
- Fix: [OSX] Compilation fails with some lzo2 versions, if __LP64__ is defined to 0 instead of checking whether it is defined [FS#6069] (r26709)
- Codechange: Use awk instead of trying to convince cpp to preprocess nfo files (r26708)
- Fix: Wrong breakdown sound was played for ships [FS#6015] (r26706)
release/1.4
frosch 2014-08-03 14:06:04 +00:00
parent 3614c4447f
commit 48bd683010
10 changed files with 115 additions and 80 deletions

View File

@ -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 $< >$@ $(Q) awk -v langfiles='$(OBJS_DIR)/langfiles.tmp' -f $(BASESET_DIR)/translations.awk $< >$@
# Compile extra grf # 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' $(E) '$(STAGE) Assembling openttd.nfo'
$(Q)-cp $(PNG_FILES) $(OBJS_DIR)/sprites 2> /dev/null $(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 $(Q) $(NFORENUM) -s $(OBJS_DIR)/sprites/openttd.nfo
$(E) '$(STAGE) Compiling openttd.grf' $(E) '$(STAGE) Compiling openttd.grf'
$(Q) $(GRFCODEC) -n -s -e -p1 $(OBJS_DIR)/openttd.grf $(Q) $(GRFCODEC) -n -s -e -p1 $(OBJS_DIR)/openttd.grf

View File

@ -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 <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.
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;
}
}

View File

@ -674,46 +674,47 @@ http://homer.rice.edu/~sandmann/cwsdpmi/csdpmi5s.zip
X.X) Credits X.X) Credits
---- ------- ---- -------
The OpenTTD team (in alphabetical order): The OpenTTD team (in alphabetical order):
Albert Hofkamp (Alberth) - GUI expert Albert Hofkamp (Alberth) - GUI expert (since 0.7)
Jean-François Claeys (Belugas) - GUI, newindustries and more Matthijs Kooijman (blathijs) - Pathfinder-guru, Debian port (since 0.3)
Matthijs Kooijman (blathijs) - Pathfinder-guru, pool rework Ulf Hermann (fonsinchen) - Cargo Distribution (since 1.3)
Ulf Hermann (fonsinchen) - Cargo Distribution Christoph Elsenhans (frosch) - General coding (since 0.6)
Christoph Elsenhans (frosch) - General coding Loïc Guilloux (glx) - Windows Expert (since 0.4.5)
Loïc Guilloux (glx) - Windows Expert Michael Lutz (michi_cc) - Path based signals (since 0.7)
Michael Lutz (michi_cc) - Path based signals Owen Rudge (orudge) - Forum host, OS/2 port (since 0.1)
Owen Rudge (orudge) - Forum host, OS/2 port Peter Nelson (peter1138) - Spiritual descendant from newGRF gods (since 0.4.5)
Peter Nelson (peter1138) - Spiritual descendant from newGRF gods Ingo von Borstel (planetmaker) - General coding, Support (since 1.1)
Ingo von Borstel (planetmaker) - Support Remko Bijker (Rubidium) - Lead coder and way more (since 0.4.5)
Remko Bijker (Rubidium) - Lead coder and way more José Soler (Terkhen) - General coding (since 1.0)
Zdeněk Sojka (SmatZ) - Bug finder and fixer Leif Linse (Zuu) - AI/Game Script (since 1.2)
José Soler (Terkhen) - General coding
Thijs Marinussen (Yexo) - AI Framework
Leif Linse (Zuu) - AI/Game Script
Inactive Developers: Inactive Developers:
Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles Jean-François Claeys (Belugas) - GUI, newindustries and more (0.4.5 - 1.0)
Victor Fischer (Celestar) - Programming everywhere you need him to Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles (0.3 - 0.7)
Tamás Faragó (Darkvater) - Ex-Lead coder Victor Fischer (Celestar) - Programming everywhere you need him to (0.3 - 0.6)
Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;) Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;) (0.4.5 - 0.6)
Jonathan Coome (Maedhros) - High priest of the NewGRF Temple Jonathan Coome (Maedhros) - High priest of the NewGRF Temple (0.5 - 0.6)
Attila Bán (MiHaMiX) - WebTranslator 1 and 2 Attila Bán (MiHaMiX) - WebTranslator 1 and 2 (0.3 - 0.5)
Christoph Mallon (Tron) - Programmer, code correctness police 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: Retired Developers:
Ludvig Strigeus (ludde) - OpenTTD author, main coder (0.1 - 0.3.3) Tamás Faragó (Darkvater) - Ex-Lead coder (0.3 - 0.5)
Serge Paquet (vurlix) - Assistant project manager, coder (0.1 - 0.3.3) Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3 - 0.3)
Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3.0 - 0.3.6) Emil Djupfeld (egladil) - MacOSX port (0.4 - 0.6)
Benedikt Brüggemeier (skidd13) - Bug fixer and code reworker Simon Sasburg (HackyKid) - Bug fixer (0.4 - 0.4.5)
Patric Stout (TrueBrain) - NoProgrammer (0.3 - 1.2), sys op (active) 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: Thanks to:
Josef Drexler - For his great work on TTDPatch. Josef Drexler - For his great work on TTDPatch.
Marcin Grzegorczyk - For his TTDPatch work and documentation of Transport Tycoon Deluxe internals and track foundations 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 Stefan Meißner (sign_de) - For his work on the console
Mike Ragsdale - OpenTTD installer Mike Ragsdale - OpenTTD installer
Cian Duffy (MYOB) - BeOS port / manual writing
Christian Rosentreter (tokai) - MorphOS / AmigaOS port Christian Rosentreter (tokai) - MorphOS / AmigaOS port
Richard Kempton (RichK67) - Additional airports, initial TGP implementation Richard Kempton (RichK67) - Additional airports, initial TGP implementation
Alberto Demichelis - Squirrel scripting language Alberto Demichelis - Squirrel scripting language

View File

@ -392,7 +392,7 @@ FT_Error GetFontByFaceName(const char *font_name, FT_Face *face)
} else } else
#endif #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. */ /* This type was introduced with the 10.5 SDK. */
#if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5) #if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5)
#define ATSFSSpec FSSpec #define ATSFSSpec FSSpec

View File

@ -385,46 +385,47 @@ static const char * const _credits[] = {
"Original graphics by Simon Foster", "Original graphics by Simon Foster",
"", "",
"The OpenTTD team (in alphabetical order):", "The OpenTTD team (in alphabetical order):",
" Albert Hofkamp (Alberth) - GUI expert", " Albert Hofkamp (Alberth) - GUI expert (since 0.7)",
" Jean-Fran\xC3\xA7ois Claeys (Belugas) - GUI, newindustries and more", " Matthijs Kooijman (blathijs) - Pathfinder-guru, Debian port (since 0.3)",
" Matthijs Kooijman (blathijs) - Pathfinder-guru, pool rework", " Ulf Hermann (fonsinchen) - Cargo Distribution (since 1.3)",
" Christoph Elsenhans (frosch) - General coding", " Christoph Elsenhans (frosch) - General coding (since 0.6)",
" Ulf Hermann (fonsinchen) - Cargo Distribution", " Lo\xC3\xAF""c Guilloux (glx) - General / Windows Expert (since 0.4.5)",
" Lo\xC3\xAF""c Guilloux (glx) - Windows Expert", " Michael Lutz (michi_cc) - Path based signals (since 0.7)",
" Michael Lutz (michi_cc) - Path based signals", " Owen Rudge (orudge) - Forum host, OS/2 port (since 0.1)",
" Owen Rudge (orudge) - Forum host, OS/2 port", " Peter Nelson (peter1138) - Spiritual descendant from NewGRF gods (since 0.4.5)",
" Peter Nelson (peter1138) - Spiritual descendant from NewGRF gods", " Ingo von Borstel (planetmaker) - General, Support (since 1.1)",
" Ingo von Borstel (planetmaker) - Support", " Remko Bijker (Rubidium) - Lead coder and way more (since 0.4.5)",
" Remko Bijker (Rubidium) - Lead coder and way more", " Jos\xC3\xA9 Soler (Terkhen) - General coding (since 1.0)",
" Zden\xC4\x9Bk Sojka (SmatZ) - Bug finder and fixer", " Leif Linse (Zuu) - AI/Game Script (since 1.2)",
" Jos\xC3\xA9 Soler (Terkhen) - General coding",
" Thijs Marinussen (Yexo) - AI Framework",
" Leif Linse (Zuu) - AI/Game Script",
"", "",
"Inactive Developers:", "Inactive Developers:",
" Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles", " Jean-Fran\xC3\xA7ois Claeys (Belugas) - GUI, NewGRF and more (0.4.5 - 1.0)",
" Victor Fischer (Celestar) - Programming everywhere you need him to", " Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles (0.3 - 0.7)",
" Tam\xC3\xA1s Farag\xC3\xB3 (Darkvater) - Ex-Lead coder", " Victor Fischer (Celestar) - Programming everywhere you need him to (0.3 - 0.6)",
" Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;)", " Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;) (0.4.5 - 0.6)",
" Jonathan Coome (Maedhros) - High priest of the NewGRF Temple", " Jonathan Coome (Maedhros) - High priest of the NewGRF Temple (0.5 - 0.6)",
" Attila B\xC3\xA1n (MiHaMiX) - Developer WebTranslator 1 and 2", " Attila B\xC3\xA1n (MiHaMiX) - Developer WebTranslator 1 and 2 (0.3 - 0.5)",
" Christoph Mallon (Tron) - Programmer, code correctness police", " 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:", "Retired Developers:",
" Ludvig Strigeus (ludde) - OpenTTD author, main coder (0.1 - 0.3.3)", " Tam\xC3\xA1s Farag\xC3\xB3 (Darkvater) - Ex-Lead coder (0.3 - 0.5)",
" Serge Paquet (vurlix) - Assistant project manager, coder (0.1 - 0.3.3)", " Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3 - 0.3)",
" Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3.0 - 0.3.6)", " Emil Djupfeld (egladil) - MacOSX (0.4.5 - 0.6)",
" Benedikt Br\xC3\xBCggemeier (skidd13) - Bug fixer and code reworker", " Simon Sasburg (HackyKid) - Many bugfixes (0.4 - 0.4.5)",
" Patric Stout (TrueBrain) - NoProgrammer (0.3 - 1.2), sys op (active)", " 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:", "Special thanks go out to:",
" Josef Drexler - For his great work on TTDPatch", " Josef Drexler - For his great work on TTDPatch",
" Marcin Grzegorczyk - Track foundations and for describing TTD internals", " 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", " Stefan Mei\xC3\x9Fner (sign_de) - For his work on the console",
" Mike Ragsdale - OpenTTD installer", " Mike Ragsdale - OpenTTD installer",
" Cian Duffy (MYOB) - BeOS port / manual writing",
" Christian Rosentreter (tokai) - MorphOS / AmigaOS port", " Christian Rosentreter (tokai) - MorphOS / AmigaOS port",
" Richard Kempton (richK) - additional airports, initial TGP implementation", " Richard Kempton (richK) - additional airports, initial TGP implementation",
" Fleashosio - titlegame", " Fleashosio - titlegame",

View File

@ -1058,6 +1058,16 @@ uint RemapNewGRFStringControlCode(uint scc, char *buf_start, char **buff, const
*argv = MapGRFStringID(_newgrf_textrefstack.grffile->grfid, _newgrf_textrefstack.PopUnsignedWord()); *argv = MapGRFStringID(_newgrf_textrefstack.grffile->grfid, _newgrf_textrefstack.PopUnsignedWord());
break; break;
} }
} else {
/* Consume additional parameter characters */
switch (scc) {
default: break;
case SCC_NEWGRF_PUSH_WORD:
case SCC_NEWGRF_UNPRINT:
Utf8Consume(str);
break;
}
} }
switch (scc) { switch (scc) {

View File

@ -31,7 +31,7 @@
#endif #endif
/* printf format specification for 32/64-bit addresses. */ /* printf format specification for 32/64-bit addresses. */
#if __LP64__ #ifdef __LP64__
#define PRINTF_PTR "0x%016lx" #define PRINTF_PTR "0x%016lx"
#else #else
#define PRINTF_PTR "0x%08lx" #define PRINTF_PTR "0x%08lx"

View File

@ -46,24 +46,14 @@
#define __STDC_LIMIT_MACROS #define __STDC_LIMIT_MACROS
#include <stdint.h> #include <stdint.h>
/* 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 <sys/cdefs.h>
#include <unistd.h>
/* Some gcc versions include assert.h via this header. As this would interfere /* Some gcc versions include assert.h via this header. As this would interfere
* with our own assert redefinition, include this header first. */ * with our own assert redefinition, include this header first. */
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) #if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))
# include <debug/debug.h> # include <debug/debug.h>
#endif #endif
/* __LP64__ only exists in 10.5 and higher */
#if defined(__APPLE__) && !defined(__LP64__)
# define __LP64__ 0
#endif
/* Check for mismatching 'architectures' */ /* 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)" # error "Compiling 64 bits without _SQ64 set! (or vice versa)"
#endif #endif
@ -99,7 +89,7 @@
/* NSInteger and NSUInteger are part of 10.5 and higher. */ /* NSInteger and NSUInteger are part of 10.5 and higher. */
#ifndef NSInteger #ifndef NSInteger
#if __LP64__ #ifdef __LP64__
typedef long NSInteger; typedef long NSInteger;
typedef unsigned long NSUInteger; typedef unsigned long NSUInteger;
#else #else
@ -109,7 +99,7 @@ typedef unsigned int NSUInteger;
#endif /* NSInteger */ #endif /* NSInteger */
#ifndef CGFLOAT_DEFINED #ifndef CGFLOAT_DEFINED
#if __LP64__ #ifdef __LP64__
typedef double CGFloat; typedef double CGFloat;
#else #else
typedef float CGFloat; typedef float CGFloat;

View File

@ -1204,9 +1204,10 @@ bool Vehicle::HandleBreakdown()
this->cur_speed = 0; this->cur_speed = 0;
if (!PlayVehicleSound(this, VSE_BREAKDOWN)) { 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) ? SndPlayVehicleFx((_settings_game.game_creation.landscape != LT_TOYLAND) ?
(this->type == VEH_TRAIN ? SND_10_TRAIN_BREAKDOWN : SND_0F_VEHICLE_BREAKDOWN) : (train_or_ship ? 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_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)) { if (!(this->vehstatus & VS_HIDDEN) && !HasBit(EngInfo(this->engine_type)->misc_flags, EF_NO_BREAKDOWN_SMOKE)) {

View File

@ -70,7 +70,7 @@ struct OTTD_QuartzGammaTable {
- (void) setFrame:(NSRect)frame - (void) setFrame:(NSRect)frame
{ {
/* The 64 bits libraries don't seem to know about _frame, so this hack won't work. */ /* The 64 bits libraries don't seem to know about _frame, so this hack won't work. */
#if !__LP64__ #ifndef __LP64__
_frame = frame; _frame = frame;
#endif #endif
} }