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)
------------------------------------------------------------------------
- Update: Documentation about bug reporting and known bugs (r17554)

View File

@ -1,6 +1,6 @@
OpenTTD's known bugs
Last updated: 2009-08-18
Release version: 0.7.2
Last updated: 2009-10-01
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
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
- 3040 Not all alternatives are always shown in the "Join station" list
- 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
- 2769 No offer for buying bankrupt AIs
- 2737 Self-crossing trains ignore "forbid 90 degree turn" setting
- 2616 Cloning creates vehicles with invalid subcargos
- 2616 [NewGRF] Cloning creates vehicles with invalid subcargos
- 2613 [NewGRF] House property 15 does not work
- 2585 [OSX] OS' mouse pointer showing
- 2484 [OSX] Cannot enter CJK characters
- 2427 Vehicle owner gets paid for whole cargo feeder share
- 1944 Road vehicles not picking empty drivethrough platform
- 1762 Strange Autoreplace behaviour
- 1495 Long vehicles might block multistop drivethrough stations
- 1473 Lost trains ignore exit signals
- 1140 [OSX] Not smooth moving map with touchpad
- 1072 Text overflows in several windows
- 119 Clipping problems with vehicles on slopes
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
* 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
Requires: fontconfig
Requires: libicu
Requires: libpng
Requires: SDL
Requires: zlib
BuildRequires: gcc-c++
BuildRequires: fontconfig-devel
BuildRequires: libpng-devel
BuildRequires: libicu-devel
@ -38,33 +37,32 @@ BuildRequires: zlib-devel
Requires: freetype
BuildRequires: freetype-devel
%endif
%if %{_vendor}=="MandrakeSoft" || %{_vendor}=="mandriva"
Requires: freetype2
BuildRequires: libfreetype6-devel
%endif
%if %{_vendor}=="redhat" || %{_vendor}=="fedora"
Requires: freetype
BuildRequires: freetype-devel
BuildRequires: desktop-file-utils
%endif
%if %{_vendor}=="suse"
%if %{_vendor}=="suse" || %{_vendor}=="mandriva"
Requires: freetype2
BuildRequires: freetype2-devel
%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
%description
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
the following 6 data files from your Transport Tycoon Deluxe CD to the game
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
with lots of new features and enhancements. To play the game you need either
the original data from the game or install the recommend package OpenGFX.
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
@ -74,22 +72,29 @@ download of the game.
%setup -q
%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 \
--revision=%{version} \
--prefix-dir="%{_prefix}" \
--binary-dir="bin" \
--binary-name="%{name}" \
--enable-debug=0 \
--with-sdl \
--with-zlib \
--with-png \
--with-freetype \
--with-fontconfig \
--with-icu \
--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-name="OpenTTD" \
# --data-dir="share\games\%{name}" \
# --doc-dir="share\doc\%{name}" \
# --icon-dir="share/pixmaps" \
# --icon-theme-dir="share/icons/hicolor" \
@ -99,7 +104,6 @@ download of the game.
make %{?_smp_mflags}
%install
rm -rf "%{buildroot}"
make install INSTALL_DIR="%{buildroot}"
# Validate menu entrys (vendor specific)
@ -111,13 +115,28 @@ desktop-file-install \
"%{buildroot}/%{_datadir}/applications/%{name}.desktop" \
# --delete-original
%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
rm -rf "%{buildroot}"
#rm -rf "%{buildroot}"
%post
# Update the icon cache (vendor specific)
%if %{_vendor}=="MandrakeSoft" || %{_vendor}=="mandriva"
%if %{_vendor}=="mandriva"
%update_icon_cache hicolor
%endif
@ -130,7 +149,7 @@ fi
%postun
# Update the icon cache (vendor specific)
%if %{_vendor}=="MandrakeSoft" || %{_vendor}=="mandriva"
%if %{_vendor}=="mandriva"
%update_icon_cache hicolor
%endif
@ -144,38 +163,39 @@ fi
%files
%defattr(-, root, games, -)
%dir %{_datadir}/doc/%{name}
%dir %{_datadir}/games/%{name}
%dir %{_datadir}/games/%{name}/lang
%dir %{_datadir}/games/%{name}/data
%dir %{_datadir}/games/%{name}/gm
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/lang
%dir %{_datadir}/%{name}/data
%dir %{_datadir}/%{name}/gm
%dir %{_datadir}/%{name}/scripts
%attr(755, root, games) %{_bindir}/%{name}
%{_datadir}/doc/%{name}/*
%{_datadir}/games/%{name}/lang/*
%{_datadir}/games/%{name}/data/*
%{_datadir}/games/%{name}/scripts/*
%{_datadir}/%{name}/lang/*
%{_datadir}/%{name}/data/*
%{_datadir}/%{name}/scripts/*
%{_datadir}/applications/*%{name}.desktop
%{_datadir}/pixmaps/*
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%doc %{_mandir}/man6/%{name}.6.gz
%{_datadir}/icons/*
%doc %{_mandir}/man6/%{name}.6.*
%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
* Thu Sep 23 2008 Benedikt Brüggemeier <skidd13@openttd.org>
- Merged both versions of the spec file
* Fri Aug 29 2008 Jonathan Coome <maedhros@openttd.org>
- Rewrite spec file from scratch.
* Sat Aug 02 2008 Benedikt Brüggemeier <skidd13@openttd.org>
- Updated spec file
* Thu Mar 27 2008 Denis Burlaka <burlaka@yandex.ru>
- Universal spec file

View File

@ -1,7 +1,7 @@
!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 INSTALLERVERSION 67 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
!define INSTALLERVERSION 68 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
!include ${VERSION_INCLUDE}
!define APPURLLINK "http://www.openttd.org"

View File

@ -1,6 +1,6 @@
OpenTTD README
Last updated: 2009-08-18
Release version: 0.7.2
Last updated: 2009-10-01
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)
{
assert(itspec_index < indspec->num_table);
const IndustryTileTable *it = indspec->table[itspec_index];
bool custom_shape_check = false;
@ -1649,9 +1650,7 @@ CommandCost CmdBuildIndustry(TileIndex tile, DoCommandFlag flags, uint32 p1, uin
const Industry *ind = NULL;
/* Check if the to-be built/founded industry is available for this climate. */
if (!indspec->enabled) {
return CMD_ERROR;
}
if (!indspec->enabled || indspec->num_table == 0) return CMD_ERROR;
/* 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) */
@ -1788,7 +1787,7 @@ void GenerateIndustries()
}
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
* the difficulty level. The "chance" in question is more an index into
* 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
* processed that scaling above? No, don't think so. Will find a way. */
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];
if (chance > 0) PlaceInitialIndustry(it, chance);
}
@ -1868,7 +1867,7 @@ static void MaybeNewIndustry(void)
ind_spc = GetIndustrySpec(j);
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,
* and if appearing chance for this landscape is above 0, this industry can be chosen */