1
0
Fork 0

(svn r17677) [0.7] -Backport from trunk:

- Fix: [NewGRF] Crash when trying to build an industry that has no industry layout defined [FS#3233] (r17638, r17633)
[0.7] -Prepare for 0.7.3
release/0.7
rubidium 2009-10-01 10:55:05 +00:00
parent 9443dea1f1
commit 9360409b4e
7 changed files with 93 additions and 61 deletions

View File

@ -1,3 +1,8 @@
0.7.3 (2009-10-01)
------------------------------------------------------------------------
- Fix: [NewGRF] Crash when trying to build an industry that has no industry layout defined [FS#3233] (r17638, r17633)
0.7.3-RC2 (2009-09-24) 0.7.3-RC2 (2009-09-24)
------------------------------------------------------------------------ ------------------------------------------------------------------------
- Update: Documentation about bug reporting and known bugs (r17554) - Update: Documentation about bug reporting and known bugs (r17554)

View File

@ -1,6 +1,6 @@
OpenTTD's known bugs OpenTTD's known bugs
Last updated: 2009-08-18 Last updated: 2009-10-01
Release version: 0.7.2 Release version: 0.7.3
------------------------------------------------------------------------ ------------------------------------------------------------------------
@ -34,23 +34,25 @@ that you can find at: http://bugs.openttd.org
If the bugs are closed but still listed here it means that the bug is fixed If the bugs are closed but still listed here it means that the bug is fixed
and that the nightlies and next major release will not have that bug. and that the nightlies and next major release will not have that bug.
- 3198 [OSX] "Could not get system colour space" error on some Mac OS X 10.6
- 3194 [OSX] Full screen 'strobing' on some Mac OS X 10.6
- 3190 [OSX] Compiling fails on some Mac OS X 10.6
- 3159 [NewGRF] Autoreplace resets (or does not keep) value of variable F2
- 3057 Road vehicle sometimes 'forget' the need for servicing - 3057 Road vehicle sometimes 'forget' the need for servicing
- 3040 Not all alternatives are always shown in the "Join station" list - 3040 Not all alternatives are always shown in the "Join station" list
- 2955 With path signals depots are less likely to be visited - 2955 With path signals depots are less likely to be visited
- 2891 Ignore signal does not keep the train running when in path signalled block till the next signal - 2891 Ignore signal does not keep the train running when in path signalled block till the next signal
- 2769 No offer for buying bankrupt AIs - 2769 No offer for buying bankrupt AIs
- 2737 Self-crossing trains ignore "forbid 90 degree turn" setting - 2616 [NewGRF] Cloning creates vehicles with invalid subcargos
- 2616 Cloning creates vehicles with invalid subcargos - 2613 [NewGRF] House property 15 does not work
- 2585 [OSX] OS' mouse pointer showing - 2585 [OSX] OS' mouse pointer showing
- 2484 [OSX] Cannot enter CJK characters - 2484 [OSX] Cannot enter CJK characters
- 2427 Vehicle owner gets paid for whole cargo feeder share - 2427 Vehicle owner gets paid for whole cargo feeder share
- 1944 Road vehicles not picking empty drivethrough platform - 1944 Road vehicles not picking empty drivethrough platform
- 1762 Strange Autoreplace behaviour - 1762 Strange Autoreplace behaviour
- 1495 Long vehicles might block multistop drivethrough stations - 1495 Long vehicles might block multistop drivethrough stations
- 1473 Lost trains ignore exit signals
- 1140 [OSX] Not smooth moving map with touchpad - 1140 [OSX] Not smooth moving map with touchpad
- 1072 Text overflows in several windows - 1072 Text overflows in several windows
- 119 Clipping problems with vehicles on slopes
3) Known bugs that will not be solved: 3) Known bugs that will not be solved:

View File

@ -1,3 +1,9 @@
openttd (0.7.3) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 01 Oct 2009 12:35:47 +0200
openttd (0.7.3~RC2) unstable; urgency=low openttd (0.7.3~RC2) unstable; urgency=low
* New upstream release. * New upstream release.

View File

@ -24,10 +24,9 @@ Summary: OpenTTD is an Open Source clone of Chris Sawyer's Transport Tycoo
Source: %{name}-%{version}-source.tar.bz2 Source: %{name}-%{version}-source.tar.bz2
Requires: fontconfig Requires: fontconfig
Requires: libicu
Requires: libpng
Requires: SDL Requires: SDL
Requires: zlib Requires: zlib
BuildRequires: gcc-c++
BuildRequires: fontconfig-devel BuildRequires: fontconfig-devel
BuildRequires: libpng-devel BuildRequires: libpng-devel
BuildRequires: libicu-devel BuildRequires: libicu-devel
@ -38,33 +37,32 @@ BuildRequires: zlib-devel
Requires: freetype Requires: freetype
BuildRequires: freetype-devel BuildRequires: freetype-devel
%endif %endif
%if %{_vendor}=="MandrakeSoft" || %{_vendor}=="mandriva"
Requires: freetype2
BuildRequires: libfreetype6-devel
%endif
%if %{_vendor}=="redhat" || %{_vendor}=="fedora" %if %{_vendor}=="redhat" || %{_vendor}=="fedora"
Requires: freetype Requires: freetype
BuildRequires: freetype-devel BuildRequires: freetype-devel
BuildRequires: desktop-file-utils BuildRequires: desktop-file-utils
%endif %endif
%if %{_vendor}=="suse" %if %{_vendor}=="suse" || %{_vendor}=="mandriva"
Requires: freetype2 Requires: freetype2
BuildRequires: freetype2-devel BuildRequires: freetype2-devel
%endif %endif
%if %{_vendor}=="suse"
BuildRequires: update-desktop-files
%endif
# recommends works for suse (not sles9) and mandriva, only
%if 0%{?suse_version} > 910 || %{_vendor}=="mandriva"
Recommends: opengfx
# for 0.8.0
#Recommends: opensfx
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
%description %description
OpenTTD is a reimplementation of the Microprose game "Transport Tycoon Deluxe" OpenTTD is a reimplementation of the Microprose game "Transport Tycoon Deluxe"
with lots of new features and enhancements. To play the game you need to copy with lots of new features and enhancements. To play the game you need either
the following 6 data files from your Transport Tycoon Deluxe CD to the game the original data from the game or install the recommend package OpenGFX.
data directory in %{_datadir}/games/%{name}/data:
From the Windows version of TTD you need:
sample.cat trg1r.grf trgcr.grf trghr.grf trgir.grf trgtr.grf
Or if you have the DOS version you need:
sample.cat TRG1.GRF TRGC.GRF TRGH.GRF TRGI.GRF TRGT.GRF
OpenTTD is licensed under the GNU General Public License version 2.0. For more OpenTTD is licensed under the GNU General Public License version 2.0. For more
information, see the file 'COPYING' included with every release and source information, see the file 'COPYING' included with every release and source
@ -74,22 +72,29 @@ download of the game.
%setup -q %setup -q
%build %build
# suse sle <10 has no support for makedepend
%if 0%{?sles_version} == 9 || 0%{?sles_version} == 10
%define do_makedepend 0
%else
%define do_makedepend 1
%endif
./configure \ ./configure \
--revision=%{version} \
--prefix-dir="%{_prefix}" \ --prefix-dir="%{_prefix}" \
--binary-dir="bin" \
--binary-name="%{name}" \ --binary-name="%{name}" \
--enable-debug=0 \
--with-sdl \
--with-zlib \
--with-png \
--with-freetype \
--with-fontconfig \
--with-icu \
--enable-strip \ --enable-strip \
--binary-dir="bin" \
--data-dir="share/%{name}" \
--with-makedepend="%{do_makedepend}" \
# --revision="%{ver}%{?prever:-%{prever}}" \
# --enable-debug=0 \
# --with-sdl \
# --with-zlib \
# --with-png \
# --with-freetype \
# --with-fontconfig \
# --with-icu \
# --menu_group="Game;" \ # --menu_group="Game;" \
# --menu-name="OpenTTD" \ # --menu-name="OpenTTD" \
# --data-dir="share\games\%{name}" \
# --doc-dir="share\doc\%{name}" \ # --doc-dir="share\doc\%{name}" \
# --icon-dir="share/pixmaps" \ # --icon-dir="share/pixmaps" \
# --icon-theme-dir="share/icons/hicolor" \ # --icon-theme-dir="share/icons/hicolor" \
@ -99,7 +104,6 @@ download of the game.
make %{?_smp_mflags} make %{?_smp_mflags}
%install %install
rm -rf "%{buildroot}"
make install INSTALL_DIR="%{buildroot}" make install INSTALL_DIR="%{buildroot}"
# Validate menu entrys (vendor specific) # Validate menu entrys (vendor specific)
@ -111,13 +115,28 @@ desktop-file-install \
"%{buildroot}/%{_datadir}/applications/%{name}.desktop" \ "%{buildroot}/%{_datadir}/applications/%{name}.desktop" \
# --delete-original # --delete-original
%endif %endif
%if %{_vendor}=="suse"
%__cat > %{name}.desktop << EOF
[Desktop Entry]
Encoding=UTF-8
Name=OpenTTD
Comment=OpenTTD - A clone of the Microprose game 'Transport Tycoon Deluxe'
GenericName=OpenTTD
Type=Application
Terminal=false
Exec=%{name}
Icon=%{name}
Categories=Game;StrategyGame;
EOF
%suse_update_desktop_file -i %{name} Game StrategyGame
%endif
%clean %clean
rm -rf "%{buildroot}" #rm -rf "%{buildroot}"
%post %post
# Update the icon cache (vendor specific) # Update the icon cache (vendor specific)
%if %{_vendor}=="MandrakeSoft" || %{_vendor}=="mandriva" %if %{_vendor}=="mandriva"
%update_icon_cache hicolor %update_icon_cache hicolor
%endif %endif
@ -130,7 +149,7 @@ fi
%postun %postun
# Update the icon cache (vendor specific) # Update the icon cache (vendor specific)
%if %{_vendor}=="MandrakeSoft" || %{_vendor}=="mandriva" %if %{_vendor}=="mandriva"
%update_icon_cache hicolor %update_icon_cache hicolor
%endif %endif
@ -144,38 +163,39 @@ fi
%files %files
%defattr(-, root, games, -) %defattr(-, root, games, -)
%dir %{_datadir}/doc/%{name} %dir %{_datadir}/doc/%{name}
%dir %{_datadir}/games/%{name} %dir %{_datadir}/%{name}
%dir %{_datadir}/games/%{name}/lang %dir %{_datadir}/%{name}/lang
%dir %{_datadir}/games/%{name}/data %dir %{_datadir}/%{name}/data
%dir %{_datadir}/games/%{name}/gm %dir %{_datadir}/%{name}/gm
%dir %{_datadir}/%{name}/scripts
%attr(755, root, games) %{_bindir}/%{name} %attr(755, root, games) %{_bindir}/%{name}
%{_datadir}/doc/%{name}/* %{_datadir}/doc/%{name}/*
%{_datadir}/games/%{name}/lang/* %{_datadir}/%{name}/lang/*
%{_datadir}/games/%{name}/data/* %{_datadir}/%{name}/data/*
%{_datadir}/games/%{name}/scripts/* %{_datadir}/%{name}/scripts/*
%{_datadir}/applications/*%{name}.desktop %{_datadir}/applications/*%{name}.desktop
%{_datadir}/pixmaps/* %{_datadir}/pixmaps/*
%{_datadir}/icons/hicolor/*/apps/%{name}.png %{_datadir}/icons/*
%doc %{_mandir}/man6/%{name}.6.gz %doc %{_mandir}/man6/%{name}.6.*
%changelog %changelog
* Mon Oct 20 2008 Benedikt Brüggemeier <skidd13@openttd.org> * Sat Sep 26 2009 Marcel Gmür <ammler@openttdcoop.org> - 0.7.2
- no subfolder games for datadir
- cleanup: no post and postun anymore
- Recommends: opengfx (for suse and mandriva)
- add SUSE support
* Mon Oct 20 2008 Benedikt Brüggemeier <skidd13@openttd.org>
- Added libicu dependency - Added libicu dependency
* Thu Sep 23 2008 Benedikt Brüggemeier <skidd13@openttd.org> * Thu Sep 23 2008 Benedikt Brüggemeier <skidd13@openttd.org>
- Merged both versions of the spec file - Merged both versions of the spec file
* Fri Aug 29 2008 Jonathan Coome <maedhros@openttd.org> * Fri Aug 29 2008 Jonathan Coome <maedhros@openttd.org>
- Rewrite spec file from scratch. - Rewrite spec file from scratch.
* Sat Aug 02 2008 Benedikt Brüggemeier <skidd13@openttd.org> * Sat Aug 02 2008 Benedikt Brüggemeier <skidd13@openttd.org>
- Updated spec file - Updated spec file
* Thu Mar 27 2008 Denis Burlaka <burlaka@yandex.ru> * Thu Mar 27 2008 Denis Burlaka <burlaka@yandex.ru>
- Universal spec file - Universal spec file

View File

@ -1,7 +1,7 @@
!define APPNAME "OpenTTD" ; Define application name !define APPNAME "OpenTTD" ; Define application name
!define APPVERSION "0.7.3-RC2" ; Define application version !define APPVERSION "0.7.3" ; Define application version
!define APPVERSIONINTERNAL "0.7.3.0" ; Define application version in X.X.X.X !define APPVERSIONINTERNAL "0.7.3.0" ; Define application version in X.X.X.X
!define INSTALLERVERSION 67 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!! !define INSTALLERVERSION 68 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
!include ${VERSION_INCLUDE} !include ${VERSION_INCLUDE}
!define APPURLLINK "http://www.openttd.org" !define APPURLLINK "http://www.openttd.org"

View File

@ -1,6 +1,6 @@
OpenTTD README OpenTTD README
Last updated: 2009-08-18 Last updated: 2009-10-01
Release version: 0.7.2 Release version: 0.7.3
------------------------------------------------------------------------ ------------------------------------------------------------------------

View File

@ -1597,6 +1597,7 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, int type, const Ind
*/ */
static Industry *CreateNewIndustryHelper(TileIndex tile, IndustryType type, DoCommandFlag flags, const IndustrySpec *indspec, uint itspec_index, uint32 seed, Owner founder) static Industry *CreateNewIndustryHelper(TileIndex tile, IndustryType type, DoCommandFlag flags, const IndustrySpec *indspec, uint itspec_index, uint32 seed, Owner founder)
{ {
assert(itspec_index < indspec->num_table);
const IndustryTileTable *it = indspec->table[itspec_index]; const IndustryTileTable *it = indspec->table[itspec_index];
bool custom_shape_check = false; bool custom_shape_check = false;
@ -1649,9 +1650,7 @@ CommandCost CmdBuildIndustry(TileIndex tile, DoCommandFlag flags, uint32 p1, uin
const Industry *ind = NULL; const Industry *ind = NULL;
/* Check if the to-be built/founded industry is available for this climate. */ /* Check if the to-be built/founded industry is available for this climate. */
if (!indspec->enabled) { if (!indspec->enabled || indspec->num_table == 0) return CMD_ERROR;
return CMD_ERROR;
}
/* If the setting for raw-material industries is not on, you cannot build raw-material industries. /* If the setting for raw-material industries is not on, you cannot build raw-material industries.
* Raw material industries are industries that do not accept cargo (at least for now) */ * Raw material industries are industries that do not accept cargo (at least for now) */
@ -1788,7 +1787,7 @@ void GenerateIndustries()
} }
chance = ind_spc->appear_creation[_settings_game.game_creation.landscape]; chance = ind_spc->appear_creation[_settings_game.game_creation.landscape];
if (ind_spc->enabled && chance > 0) { if (ind_spc->enabled && chance > 0 && ind_spc->num_table > 0) {
/* once the chance of appearance is determind, it have to be scaled by /* once the chance of appearance is determind, it have to be scaled by
* the difficulty level. The "chance" in question is more an index into * the difficulty level. The "chance" in question is more an index into
* the _numof_industry_table,in fact */ * the _numof_industry_table,in fact */
@ -1811,7 +1810,7 @@ void GenerateIndustries()
* @todo : Do we really have to pass chance as un-scaled value, since we've already * @todo : Do we really have to pass chance as un-scaled value, since we've already
* processed that scaling above? No, don't think so. Will find a way. */ * processed that scaling above? No, don't think so. Will find a way. */
ind_spc = GetIndustrySpec(it); ind_spc = GetIndustrySpec(it);
if (ind_spc->enabled) { if (ind_spc->enabled && ind_spc->num_table > 0) {
chance = ind_spc->appear_creation[_settings_game.game_creation.landscape]; chance = ind_spc->appear_creation[_settings_game.game_creation.landscape];
if (chance > 0) PlaceInitialIndustry(it, chance); if (chance > 0) PlaceInitialIndustry(it, chance);
} }
@ -1868,7 +1867,7 @@ static void MaybeNewIndustry(void)
ind_spc = GetIndustrySpec(j); ind_spc = GetIndustrySpec(j);
byte chance = ind_spc->appear_ingame[_settings_game.game_creation.landscape]; byte chance = ind_spc->appear_ingame[_settings_game.game_creation.landscape];
if (!ind_spc->enabled || chance == 0) continue; if (!ind_spc->enabled || chance == 0 || ind_spc->num_table == 0) continue;
/* If there is no Callback CBID_INDUSTRY_AVAILABLE or if this one did anot failed, /* If there is no Callback CBID_INDUSTRY_AVAILABLE or if this one did anot failed,
* and if appearing chance for this landscape is above 0, this industry can be chosen */ * and if appearing chance for this landscape is above 0, this industry can be chosen */