.gear/rules | 2 + .../tags/fbe4788f3f3cc6693258e6c99e3da51aa7aa6e58 | 13 ++ .gear/tags/list | 1 + config.lib | 2 +- media/openttd.desktop.in | 2 +- openttd-installer | 32 +++ openttd.spec | 223 ++++++++++++++++++++ src/lang/english.txt | 1 + src/lang/russian.txt | 1 + src/strings_type.h | 3 +- src/table/townname.h | 178 ++++++++++++++++ src/townname.cpp | 13 ++ 12 files changed, 468 insertions(+), 3 deletions(-) diff --git a/.gear/rules b/.gear/rules new file mode 100644 index 0000000..70be9dd --- /dev/null +++ b/.gear/rules @@ -0,0 +1,2 @@ +tar: v@version@:. name=openttd-@version@-@release@ +diff: v@version@:. . diff --git a/.gear/tags/fbe4788f3f3cc6693258e6c99e3da51aa7aa6e58 b/.gear/tags/fbe4788f3f3cc6693258e6c99e3da51aa7aa6e58 new file mode 100644 index 0000000..038a23a --- /dev/null +++ b/.gear/tags/fbe4788f3f3cc6693258e6c99e3da51aa7aa6e58 @@ -0,0 +1,13 @@ +object e9cbb7a2f586ab06028b805383c14f55ee237be5 +type commit +tag v1.0.2 +tagger Anton Farygin 1277791188 +0400 + +new version +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.15 (GNU/Linux) + +iEYEABECAAYFAkwpi9oACgkQqohfd2vlwKtM0ACfcJnkmyNGwpfFRMnM4wyXhWAQ +jnYAn0V9bxxQ73ipUcGo1YzMBUUNG5kH +=TCCR +-----END PGP SIGNATURE----- diff --git a/.gear/tags/list b/.gear/tags/list new file mode 100644 index 0000000..c1d7109 --- /dev/null +++ b/.gear/tags/list @@ -0,0 +1 @@ +fbe4788f3f3cc6693258e6c99e3da51aa7aa6e58 v1.0.2 diff --git a/config.lib b/config.lib index b21cd7e..c2067c6 100644 --- a/config.lib +++ b/config.lib @@ -42,7 +42,7 @@ set_default() { install_dir="/" man_dir="1" menu_dir="1" - menu_group="Game;" + menu_group="Game;StrategyGame;" menu_name="OpenTTD" binary_name="openttd" enable_debug="0" diff --git a/media/openttd.desktop.in b/media/openttd.desktop.in index d1cd8c7..496d08a 100644 --- a/media/openttd.desktop.in +++ b/media/openttd.desktop.in @@ -2,7 +2,7 @@ # http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.1.html [Desktop Entry] Type=Application -Version=1.1 +Version=1.0 Name=!!MENU_NAME!! Icon=openttd Exec=!!TTD!! diff --git a/openttd-installer b/openttd-installer new file mode 100644 index 0000000..35a902b --- /dev/null +++ b/openttd-installer @@ -0,0 +1,32 @@ +#!/bin/sh +DIALOG=Xdialog +TTDPACK=ttd-graphics.rar +TTDURL="http://download.transporttycoon.net/files/$TTDPACK" +DL_PATH="$HOME/.openttd/content_download/data" +download_content() { + $DIALOG --screen-center --wrap --title "Download and Install Transport Tycoon Deluxe content" \ + --yesno "For start of game OpenTTD it is necessary to load from a Internet 3.2Mb \n with the original data from Transport Tycoon Deluxe. Download ?" 0 0 + + case $? in + 0) + [ -d $DL_PATH ] || mkdir -p $DL_PATH + eval "curl -# $TTDURL -o $DL_PATH/$TTDPACK" 2>&1 | tr "\r" "\n"|sed "s,# *,,gm"| $DIALOG --title "Progress" --no-close \ + --gauge "Downloading ...\n\n" 0 0 + pushd $DL_PATH + if unrar x "$TTDPACK";then + $DIALOG --screen-center --wrap --title "Download and Install Transport Tycoon Deluxe content" \ + --yesno "Complete. Start Game ?" 0 0 + [ $? -eq 0 ] || exit + else + $DIALOG --screen-center --wrap --title "Download and Install Transport Tycoon Deluxe content" \ + --msgbox "Unknown error !" 0 0 + fi + popd + ;; + esac +} + +openttd +if [ $? -eq 138 ];then +download_content && rm -f "$DL_PATH/$TTDPACK" && openttd +fi diff --git a/openttd.spec b/openttd.spec new file mode 100644 index 0000000..5dbe794 --- /dev/null +++ b/openttd.spec @@ -0,0 +1,223 @@ +Name: openttd +Version: 1.0.2 +Release: alt0.M51.1 + +Summary: An open source clone of the Microprose game "Transport Tycoon Deluxe". +License: GPL +Group: Games/Strategy +URL: http://www.openttd.com/ +Requires: TiMidity++ +Requires: fonts-ttf-dejavu Xdialog %name-data +Packager: Anton Farygin + +Source: %name-%version-%release.tar + +Patch0: %name-%version-%release.patch + +BuildRequires: libSDL-devel libpng-devel libfreetype-devel fontconfig-devel gcc-c++ liblzo2-devel + + +%description +An open source clone of the Microprose game "Transport Tycoon Deluxe". + +You need following files from TTD Win version: + - sample.cat + - trg1r.grf + - trgcr.grf + - trghr.grf + - trgir.grf + - trgtr.grf + +To play music tracks you need files from gm directory + +%package data +Buildarch: noarch +Summary: Data files for %name +Requires: %name +Group: Games/Strategy +Requires: %name-3rd-party + +%description data +Data files for %name + +%prep +%setup -q -n %name-%version-%release +%patch0 -p1 + +%build +./configure \ + --prefix-dir=%_prefix \ + --with-sdl \ + --with-png \ + --with-freetype \ + --with-fontconfig \ + --without-libtimidity \ + --revision=%version + +%make_build WITH_SDL=1 UNIX=1 RELEASE=%version INSTALL=1 WITH_NETWORK=1 \ + USE_HOMEDIR=1 VERBOSE=1 PERSONAL_DIR=.%name \ + PREFIX=%_prefix DATA_DIR=share/games/%name \ + +%install +%__mkdir_p %buildroot%_prefix/games +%__mkdir_p %buildroot%_datadir/games/%name/gm +%__mkdir_p %buildroot%_datadir/games/%name/lang +%__mkdir_p %buildroot%_man6dir + +%__install -m755 -s bin/%name %buildroot%_prefix/games/%name +%__install -m755 %name-installer %buildroot%_prefix/games/%name-installer +%__cp -a bin/data %buildroot%_datadir/games/%name +%__cp -a bin/lang/*.lng %buildroot%_datadir/games/%name/lang +%__chmod -x %buildroot%_datadir/games/%name/data/* + +#menu + +%__install -dm 755 %buildroot%_datadir/applications +%__install -m644 media/%name.desktop %buildroot%_datadir/applications/%name.desktop +%__subst "s,Exec=openttd,Exec=openttd-installer," %buildroot%_datadir/applications/%name.desktop + +# icons +%__install -pD -m644 media/%name.16.png %buildroot%_miconsdir/%name.png +%__install -pD -m644 media/%name.32.png %buildroot%_niconsdir/%name.png +%__install -pD -m644 media/%name.48.png %buildroot%_liconsdir/%name.png +%__install -pD -m644 docs/%name.6 %buildroot%_man6dir/ + + +%files +%_prefix/games/%name +%_prefix/games/%name-installer + +%files data +%doc docs/* bin/scripts readme.txt known-bugs.txt changelog.txt COPYING +%_datadir/games/%name +%_datadir/applications/%name.desktop +%_niconsdir/%name.png +%_miconsdir/%name.png +%_liconsdir/%name.png +%_man6dir/* + +%changelog +* Sun Aug 15 2010 Dmitriy Kulik 1.0.2-alt0.M51.1 +- Build for branch 5.1 + +* Tue Jun 29 2010 Anton Farygin 1.0.2-alt1 +- new version + +* Thu Jun 17 2010 Anton Farygin 1.0.1-alt1 +- new version + +* Wed Jan 27 2010 Anton Farygin 0.7.5-alt1 +- new version (CVE-2009-4007 fixed) + +* Fri Oct 09 2009 Anton Farygin 0.7.3-alt1 +- new version + +* Wed Sep 02 2009 Anton Farygin 0.7.2-alt2 +- use niconsdir instead of iconsdir +- fixed desktop file + +* Tue Sep 01 2009 Anton Farygin 0.7.2-alt1 +- new version + +* Tue Jun 30 2009 Anton Farygin 0.7.1-alt1 +- new version + +* Sat Apr 11 2009 Anton Farygin 0.7.0-alt2 +- 0.7.0 + +* Thu Mar 26 2009 Anton Farygin 0.7.0-alt1.r15828 +- 0.7.0-rc2 + +* Mon Mar 16 2009 Anton Farygin 0.7.0-alt1.r15737 +- 0.7.0-rc1 + +* Fri Mar 13 2009 Anton Farygin 0.7.0-alt1.r15697 +- updated snapshot (fixed some crash issues) + +* Thu Mar 12 2009 Anton Farygin 0.7.0-alt1.r15676 +- new snapshot (0.7.0-beta2) + +* Tue Mar 03 2009 Anton Farygin 0.7.0-alt1.r15601 +- new snapshot +- default fonts changed and warning about DejaVu removed + +* Sat Feb 28 2009 Anton Farygin 0.7.0-alt1.r15592 +- new snapshot + +* Thu Feb 26 2009 Anton Farygin 0.7.0-alt1.r15587 +- new snapshot (0.7.0-beta1) +- use official revision number (0.7.0-beta1) for playing over network + +* Wed Feb 25 2009 Anton Farygin 0.6.3-alt3.r15578 +- new snapshot +- squirrel included to maintree + +* Fri Feb 20 2009 Anton Farygin 0.6.3-alt2.r15529 +- new snapshot + +* Mon Feb 16 2009 Anton Farygin 0.6.3-alt2.r15495 +- fixed revision in game +- noarch content moved to %name-data subpackage + +* Sat Feb 14 2009 Anton Farygin 0.6.3-alt1.svn15476 +- new snapshot from svn +- added russian towns + +* Fri Feb 13 2009 Anton Farygin 0.6.3-alt1.svn15465 +- new snapshot from svn +- Xdialog added to requires + +* Wed Feb 11 2009 Anton Farygin 0.6.3-alt1.svn15447 +- new snapshot from svn +- added data downloader and installer +- menu file changed to desktop file + +* Tue Feb 03 2009 Anton Farygin 0.6.3-alt1 +- new version (from svn 15322) +- post-scripts removed + +* Fri Jun 06 2008 Andrew Kornilov 0.6.1-alt1 +- New release + +* Wed Apr 02 2008 Andrew Kornilov 0.6.0-alt1 +- New release +- Fonts patch updated (and enabled AA) + +* Wed Oct 03 2007 Andrew Kornilov 0.5.3-alt1 +- New release +- Fonts patch was reworked (fontconfig support seems to be fixed, so + hardcoded font paths were removed; uses font names now) +- Spec updates (to conform openttd's fs hier) + +* Wed Apr 25 2007 Andrew Kornilov 0.5.1-alt2 +- New release + +* Fri Mar 23 2007 Andrew Kornilov 0.5.1-alt1.RC2 +- Bugfix RC2 +- Spec cleanups + +* Thu Mar 01 2007 Andrew Kornilov 0.5.0-alt2 +- Release + +* Sun Feb 04 2007 Andrew Kornilov 0.5.0-alt1.svn8588 +- New version from SVN +- Updated buildreqs +- Spec cleanups +- Correct man placement +- New patch (use correct, but hardcoded fonts) +- Added missed docs + +* Fri Oct 06 2006 Damir Shayhutdinov 0.4.8-alt1 +- 0.4.8 +- Updated buildreqs. + +* Thu Jan 27 2005 Kachalov Anton 0.3.6-alt1 +- 0.3.6 + + some scenarios in docs/scenario + + scripts example in docs/scripts + +* Tue Dec 28 2004 Kachalov Anton 0.3.5-alt1 +- 0.3.5 + +* Wed Jun 09 2004 Kachalov Anton 0.3.2.1-alt1 +- first build for Sisyphus diff --git a/src/lang/english.txt b/src/lang/english.txt index 47b3818..bbf2583 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -911,6 +911,7 @@ STR_GAME_OPTIONS_TOWN_NAME_NORWEGIAN :Norwegian STR_GAME_OPTIONS_TOWN_NAME_HUNGARIAN :Hungarian STR_GAME_OPTIONS_TOWN_NAME_AUSTRIAN :Austrian STR_GAME_OPTIONS_TOWN_NAME_ROMANIAN :Romanian +STR_GAME_OPTIONS_TOWN_NAME_RUSSIAN :Romanian STR_GAME_OPTIONS_TOWN_NAME_CZECH :Czech STR_GAME_OPTIONS_TOWN_NAME_SWISS :Swiss STR_GAME_OPTIONS_TOWN_NAME_DANISH :Danish diff --git a/src/lang/russian.txt b/src/lang/russian.txt index 25f9e23..9e25076 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -1056,6 +1056,7 @@ STR_GAME_OPTIONS_TOWN_NAME_NORWEGIAN :Норвежс STR_GAME_OPTIONS_TOWN_NAME_HUNGARIAN :Венгерские STR_GAME_OPTIONS_TOWN_NAME_AUSTRIAN :Австрийские STR_GAME_OPTIONS_TOWN_NAME_ROMANIAN :Римские +STR_GAME_OPTIONS_TOWN_NAME_RUSSIAN :Русские STR_GAME_OPTIONS_TOWN_NAME_CZECH :Чешские STR_GAME_OPTIONS_TOWN_NAME_SWISS :Швейцарские STR_GAME_OPTIONS_TOWN_NAME_DANISH :Датские diff --git a/src/strings_type.h b/src/strings_type.h index cb355fb..35d318d 100644 --- a/src/strings_type.h +++ b/src/strings_type.h @@ -70,7 +70,8 @@ enum SpecialStrings { SPECSTR_TOWNNAME_TURKISH, SPECSTR_TOWNNAME_ITALIAN, SPECSTR_TOWNNAME_CATALAN, - SPECSTR_TOWNNAME_LAST = SPECSTR_TOWNNAME_CATALAN, + SPECSTR_TOWNNAME_RUSSIAN, + SPECSTR_TOWNNAME_LAST = SPECSTR_TOWNNAME_RUSSIAN, /* special strings for player names on the form "TownName transport". */ SPECSTR_PLAYERNAME_START = 0x70EA, diff --git a/src/table/townname.h b/src/table/townname.h index 3895300..6e1819d 100644 --- a/src/table/townname.h +++ b/src/table/townname.h @@ -3315,3 +3315,181 @@ static const char * const _name_catalan_river1[] = { " de Segre", " de Francol\xC3\xAD", }; + +static const char * const _name_russian_real[] = { + "Абакан", + "Альметьевск", + "Ангарск", + "Арзамас", + "Армавир", + "Артем", + "Архангельск", + "Астрахань", + "Ачинск", + "Балабаново", + "Балаково", + "Балашиха", + "Барнаул", + "Батайск", + "Белгород", + "Березники", + "Бийск", + "Благовещенск", + "Боровск", + "Братск", + "Брянск", + "Великие Луки", + "Великий Новгород", + "Владивосток", + "Владикавказ", + "Владимир", + "Волгоград", + "Волгодонск", + "Волжский", + "Вологда", + "Воронеж", + "Глазов", + "Грозный", + "Дербент", + "Дзержинск", + "Димитровград", + "Екатеринбург", + "Елец", + "Ермолино", + "Железнодорожный", + "Жуковский", + "Златоуст", + "Иваново", + "Ижевск", + "Иркутск", + "Йошкар-Ола", + "Казань", + "Калининград", + "Калуга", + "Каменск-Уральский", + "Камышин", + "Канск", + "Кемерово", + "Киров", + "Киселевск", + "Кисловодск", + "Ковров", + "Коломна", + "Комсомольск-на-Амуре", + "Копейск", + "Королёв", + "Кострома", + "Краснодар", + "Красноярск", + "Курган", + "Курск", + "Кызыл", + "Ленинск-Кузнецкий", + "Липецк", + "Люберцы", + "Магадан", + "Магнитогорск", + "Майкоп", + "Махачкала", + "Междуреченск", + "Миасс", + "Москва", + "Мурманск", + "Муром", + "Мытищи", + "Набережные Челны", + "Назрань", + "Нальчик", + "Находка", + "Невинномысск", + "Нефтекамск", + "Нефтеюганск", + "Нижневартовск", + "Нижнекамск", + "Нижний Новгород", + "Нижний Тагил", + "Новокузнецк", + "Новокуйбышевск", + "Новомосковск", + "Новороссийск", + "Новосибирск", + "Новотроицк", + "Новочебоксарск", + "Новочеркасск", + "Новошахтинск", + "Новый Уренгой", + "Ногинск", + "Норильск", + "Ноябрьск", + "Обнинск", + "Одинцово", + "Октябрьский", + "Омск", + "Оренбург", + "Орехово-Зуево", + "Орёл", + "Орск", + "Пенза", + "Переславль-Залесский", + "Первоуральск", + "Пермь", + "Петрозаводск", + "Петропавловск-Камчатский", + "Подольск", + "Прокопьевск", + "Псков", + "Пятигорск", + "Ростов-на-Дону", + "Рубцовск", + "Русиново", + "Рыбинск", + "Рязань", + "Салават", + "Самара", + "Санкт-Петербург", + "Саранск", + "Саратов", + "Северодвинск", + "Северск", + "Селятино", + "Сергиев Посад", + "Серпухов", + "Смоленск", + "Сочи", + "Ставрополь", + "Старый Оскол", + "Стерлитамак", + "Сургут", + "Сызрань", + "Сыктывкар", + "Таганрог", + "Тамбов", + "Тверь", + "Тобольск", + "Тольятти", + "Томск", + "Тула", + "Тюмень", + "Улан-Удэ", + "Ульяновск", + "Уссурийск", + "Уфа", + "Ухта", + "Хабаровск", + "Хасавюрт", + "Химки", + "Чебоксары", + "Челябинск", + "Череповец", + "Черкесск", + "Чита", + "Шахты", + "Щелково", + "Электросталь", + "Элиста", + "Энгельс", + "Южно-Сахалинск", + "Якутск", + "Ярославль" +}; + diff --git a/src/townname.cpp b/src/townname.cpp index f734f54..d025913 100644 --- a/src/townname.cpp +++ b/src/townname.cpp @@ -395,6 +395,18 @@ static char *MakeFrenchTownName(char *buf, const char *last, uint32 seed) return strecpy(buf, _name_french_real[SeedChance(0, lengthof(_name_french_real), seed)], last); } +/** + * Generates Russian town name from given seed. + * @param buf output buffer + * @param seed town name seed + * @param last end of buffer + */ + +static char *MakeRussianTownName(char *buf, const char *last, uint32 seed) +{ + return strecpy(buf, _name_russian_real[SeedChance(0, lengthof(_name_russian_real), seed)], last); +} + /** * Generates Silly town name from given seed. @@ -1012,6 +1024,7 @@ static const TownNameGeneratorParams _town_name_generators[] = { { 0, MakeHungarianTownName}, { 0, MakeAustrianTownName}, { 0, MakeRomanianTownName}, + { 0, MakeRussianTownName}, { 28, MakeCzechTownName}, // _name_czech_adj + _name_czech_patmod + 1 + _name_czech_subst_stem + _name_czech_subst_postfix { 0, MakeSwissTownName}, { 0, MakeDanishTownName},