Fix included files
This commit is contained in:
14
.dorpsgek.yml
Normal file
14
.dorpsgek.yml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
notifications:
|
||||||
|
global:
|
||||||
|
irc:
|
||||||
|
- openttd
|
||||||
|
- openttd.notice
|
||||||
|
|
||||||
|
push:
|
||||||
|
only:
|
||||||
|
- master
|
||||||
|
only-by:
|
||||||
|
- DorpsGek
|
||||||
|
commit-comment:
|
||||||
|
pull-request:
|
||||||
|
issue:
|
||||||
9
.editorconfig
Normal file
9
.editorconfig
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[*.{c,cpp,h,hpp}]
|
||||||
|
indent_style = tab
|
||||||
|
charset = utf-8
|
||||||
1
.github/FUNDING.yml
vendored
Normal file
1
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
custom: https://www.openttd.org/donate.html
|
||||||
7
.github/ISSUE_TEMPLATE.md
vendored
Normal file
7
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
## Version of OpenTTD
|
||||||
|
|
||||||
|
## Expected result
|
||||||
|
|
||||||
|
## Actual result
|
||||||
|
|
||||||
|
## Steps to reproduce
|
||||||
34
.github/stale.yml
vendored
Normal file
34
.github/stale.yml
vendored
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
daysUntilClose: 7
|
||||||
|
staleLabel: stale
|
||||||
|
closeComment: false
|
||||||
|
exemptMilestones: true
|
||||||
|
exemptAssignees: true
|
||||||
|
|
||||||
|
issues:
|
||||||
|
daysUntilStale: 60
|
||||||
|
exemptLabels:
|
||||||
|
- pinned
|
||||||
|
- security
|
||||||
|
- "good first issue"
|
||||||
|
- regression
|
||||||
|
markComment: >
|
||||||
|
This issue has been automatically marked as stale because it has not had any activity in the last two months.
|
||||||
|
|
||||||
|
If you believe the issue is still relevant, please test on the latest nightly and report back.
|
||||||
|
|
||||||
|
It will be closed if no further activity occurs within 7 days.
|
||||||
|
|
||||||
|
Thank you for your contributions.
|
||||||
|
|
||||||
|
pulls:
|
||||||
|
daysUntilStale: 30
|
||||||
|
exemptLabels:
|
||||||
|
- pinned
|
||||||
|
markComment: >
|
||||||
|
This pull request has been automatically marked as stale because it has not had any activity in the last month.
|
||||||
|
|
||||||
|
Please feel free to give a status update now, ping for review, or re-open when it's ready.
|
||||||
|
|
||||||
|
It will be closed if no further activity occurs within 7 days.
|
||||||
|
|
||||||
|
Thank you for your contributions.
|
||||||
55
.gitignore
vendored
Normal file
55
.gitignore
vendored
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
bin/*
|
||||||
|
!bin/ai
|
||||||
|
bin/ai/*
|
||||||
|
!bin/ai/compat*.nut
|
||||||
|
!bin/ai/regression
|
||||||
|
!bin/data
|
||||||
|
bin/baseset/*
|
||||||
|
!bin/baseset/openttd.grf
|
||||||
|
!bin/baseset/opntitle.dat
|
||||||
|
!bin/baseset/orig_extra.grf
|
||||||
|
!bin/baseset/orig_*.obg
|
||||||
|
!bin/baseset/orig_*.obs
|
||||||
|
!bin/baseset/no_sound.obs
|
||||||
|
!bin/baseset/no_music.obm
|
||||||
|
!bin/baseset/orig_*.obm
|
||||||
|
!bin/game
|
||||||
|
bin/game/*
|
||||||
|
!bin/game/compat*.nut
|
||||||
|
!bin/scripts
|
||||||
|
bin/scripts/*
|
||||||
|
!bin/scripts/*.example
|
||||||
|
!bin/scripts/readme.txt
|
||||||
|
|
||||||
|
*.aps
|
||||||
|
bundle/*
|
||||||
|
bundles/*
|
||||||
|
docs/aidocs/*
|
||||||
|
docs/gamedocs/*
|
||||||
|
docs/source/*
|
||||||
|
.kdev4
|
||||||
|
.kdev4/*
|
||||||
|
*.kdev4
|
||||||
|
media/openttd.desktop
|
||||||
|
media/openttd.desktop.install
|
||||||
|
objs/*
|
||||||
|
projects/.vs
|
||||||
|
projects/Debug
|
||||||
|
projects/Release
|
||||||
|
projects/*.ncb
|
||||||
|
projects/*.suo
|
||||||
|
projects/*.sdf
|
||||||
|
projects/*.opensdf
|
||||||
|
projects/*.vcproj.*.user
|
||||||
|
projects/*.vcxproj.user
|
||||||
|
projects/*.VC.db
|
||||||
|
projects/*.VC.opendb
|
||||||
|
src/rev.cpp
|
||||||
|
src/os/windows/ottdres.rc
|
||||||
|
|
||||||
|
/Makefile*
|
||||||
|
!/Makefile.msvc
|
||||||
|
/config.*
|
||||||
|
!/config.lib
|
||||||
|
!*.in
|
||||||
|
*.tmp
|
||||||
34
.hgignore
Normal file
34
.hgignore
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
syntax: glob
|
||||||
|
|
||||||
|
.svn
|
||||||
|
*.aps
|
||||||
|
bin/baseset/openttd.32.bmp
|
||||||
|
bin/lang/*
|
||||||
|
bin/openttd*
|
||||||
|
bin/*.cfg
|
||||||
|
bundle/*
|
||||||
|
bundles/*
|
||||||
|
config.cache*
|
||||||
|
config.log
|
||||||
|
config.pwd
|
||||||
|
docs/aidocs/*
|
||||||
|
docs/gamedocs/*
|
||||||
|
docs/source/*
|
||||||
|
.kdev4
|
||||||
|
.kdev4/*
|
||||||
|
*.kdev4
|
||||||
|
Makefile
|
||||||
|
Makefile.am
|
||||||
|
Makefile.bundle
|
||||||
|
media/openttd.desktop
|
||||||
|
media/openttd.desktop.install
|
||||||
|
objs/*
|
||||||
|
projects/.vs
|
||||||
|
projects/*.ncb
|
||||||
|
projects/*.suo
|
||||||
|
projects/*.sdf
|
||||||
|
projects/*.opensdf
|
||||||
|
projects/*.vcproj.*.user
|
||||||
|
projects/*.vcxproj.user
|
||||||
|
src/rev.cpp
|
||||||
|
src/os/windows/ottdres.rc
|
||||||
1
.ottdrev
Normal file
1
.ottdrev
Normal file
@@ -0,0 +1 @@
|
|||||||
|
1.10.0-beta1 20191030 0 9f50c754ffee52211e61d88e6d5fc296dfc585e0 1 0
|
||||||
1
.release_date
Normal file
1
.release_date
Normal file
@@ -0,0 +1 @@
|
|||||||
|
2019-10-30 17:46 UTC
|
||||||
343
COPYING
343
COPYING
@@ -1,343 +0,0 @@
|
|||||||
This is the license which applies to OpenTTD with the exception of some
|
|
||||||
3rd party modules. See README.md for details
|
|
||||||
|
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
Version 2, June 1991
|
|
||||||
|
|
||||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
of this license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
Preamble
|
|
||||||
|
|
||||||
The licenses for most software are designed to take away your
|
|
||||||
freedom to share and change it. By contrast, the GNU General Public
|
|
||||||
License is intended to guarantee your freedom to share and change free
|
|
||||||
software--to make sure the software is free for all its users. This
|
|
||||||
General Public License applies to most of the Free Software
|
|
||||||
Foundation's software and to any other program whose authors commit to
|
|
||||||
using it. (Some other Free Software Foundation software is covered by
|
|
||||||
the GNU Lesser General Public License instead.) You can apply it to
|
|
||||||
your programs, too.
|
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, not
|
|
||||||
price. Our General Public Licenses are designed to make sure that you
|
|
||||||
have the freedom to distribute copies of free software (and charge for
|
|
||||||
this service if you wish), that you receive source code or can get it
|
|
||||||
if you want it, that you can change the software or use pieces of it
|
|
||||||
in new free programs; and that you know you can do these things.
|
|
||||||
|
|
||||||
To protect your rights, we need to make restrictions that forbid
|
|
||||||
anyone to deny you these rights or to ask you to surrender the rights.
|
|
||||||
These restrictions translate to certain responsibilities for you if you
|
|
||||||
distribute copies of the software, or if you modify it.
|
|
||||||
|
|
||||||
For example, if you distribute copies of such a program, whether
|
|
||||||
gratis or for a fee, you must give the recipients all the rights that
|
|
||||||
you have. You must make sure that they, too, receive or can get the
|
|
||||||
source code. And you must show them these terms so they know their
|
|
||||||
rights.
|
|
||||||
|
|
||||||
We protect your rights with two steps: (1) copyright the software, and
|
|
||||||
(2) offer you this license which gives you legal permission to copy,
|
|
||||||
distribute and/or modify the software.
|
|
||||||
|
|
||||||
Also, for each author's protection and ours, we want to make certain
|
|
||||||
that everyone understands that there is no warranty for this free
|
|
||||||
software. If the software is modified by someone else and passed on, we
|
|
||||||
want its recipients to know that what they have is not the original, so
|
|
||||||
that any problems introduced by others will not reflect on the original
|
|
||||||
authors' reputations.
|
|
||||||
|
|
||||||
Finally, any free program is threatened constantly by software
|
|
||||||
patents. We wish to avoid the danger that redistributors of a free
|
|
||||||
program will individually obtain patent licenses, in effect making the
|
|
||||||
program proprietary. To prevent this, we have made it clear that any
|
|
||||||
patent must be licensed for everyone's free use or not licensed at all.
|
|
||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
|
||||||
modification follow.
|
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
||||||
|
|
||||||
0. This License applies to any program or other work which contains
|
|
||||||
a notice placed by the copyright holder saying it may be distributed
|
|
||||||
under the terms of this General Public License. The "Program", below,
|
|
||||||
refers to any such program or work, and a "work based on the Program"
|
|
||||||
means either the Program or any derivative work under copyright law:
|
|
||||||
that is to say, a work containing the Program or a portion of it,
|
|
||||||
either verbatim or with modifications and/or translated into another
|
|
||||||
language. (Hereinafter, translation is included without limitation in
|
|
||||||
the term "modification".) Each licensee is addressed as "you".
|
|
||||||
|
|
||||||
Activities other than copying, distribution and modification are not
|
|
||||||
covered by this License; they are outside its scope. The act of
|
|
||||||
running the Program is not restricted, and the output from the Program
|
|
||||||
is covered only if its contents constitute a work based on the
|
|
||||||
Program (independent of having been made by running the Program).
|
|
||||||
Whether that is true depends on what the Program does.
|
|
||||||
|
|
||||||
1. You may copy and distribute verbatim copies of the Program's
|
|
||||||
source code as you receive it, in any medium, provided that you
|
|
||||||
conspicuously and appropriately publish on each copy an appropriate
|
|
||||||
copyright notice and disclaimer of warranty; keep intact all the
|
|
||||||
notices that refer to this License and to the absence of any warranty;
|
|
||||||
and give any other recipients of the Program a copy of this License
|
|
||||||
along with the Program.
|
|
||||||
|
|
||||||
You may charge a fee for the physical act of transferring a copy, and
|
|
||||||
you may at your option offer warranty protection in exchange for a fee.
|
|
||||||
|
|
||||||
2. You may modify your copy or copies of the Program or any portion
|
|
||||||
of it, thus forming a work based on the Program, and copy and
|
|
||||||
distribute such modifications or work under the terms of Section 1
|
|
||||||
above, provided that you also meet all of these conditions:
|
|
||||||
|
|
||||||
a) You must cause the modified files to carry prominent notices
|
|
||||||
stating that you changed the files and the date of any change.
|
|
||||||
|
|
||||||
b) You must cause any work that you distribute or publish, that in
|
|
||||||
whole or in part contains or is derived from the Program or any
|
|
||||||
part thereof, to be licensed as a whole at no charge to all third
|
|
||||||
parties under the terms of this License.
|
|
||||||
|
|
||||||
c) If the modified program normally reads commands interactively
|
|
||||||
when run, you must cause it, when started running for such
|
|
||||||
interactive use in the most ordinary way, to print or display an
|
|
||||||
announcement including an appropriate copyright notice and a
|
|
||||||
notice that there is no warranty (or else, saying that you provide
|
|
||||||
a warranty) and that users may redistribute the program under
|
|
||||||
these conditions, and telling the user how to view a copy of this
|
|
||||||
License. (Exception: if the Program itself is interactive but
|
|
||||||
does not normally print such an announcement, your work based on
|
|
||||||
the Program is not required to print an announcement.)
|
|
||||||
|
|
||||||
These requirements apply to the modified work as a whole. If
|
|
||||||
identifiable sections of that work are not derived from the Program,
|
|
||||||
and can be reasonably considered independent and separate works in
|
|
||||||
themselves, then this License, and its terms, do not apply to those
|
|
||||||
sections when you distribute them as separate works. But when you
|
|
||||||
distribute the same sections as part of a whole which is a work based
|
|
||||||
on the Program, the distribution of the whole must be on the terms of
|
|
||||||
this License, whose permissions for other licensees extend to the
|
|
||||||
entire whole, and thus to each and every part regardless of who wrote it.
|
|
||||||
|
|
||||||
Thus, it is not the intent of this section to claim rights or contest
|
|
||||||
your rights to work written entirely by you; rather, the intent is to
|
|
||||||
exercise the right to control the distribution of derivative or
|
|
||||||
collective works based on the Program.
|
|
||||||
|
|
||||||
In addition, mere aggregation of another work not based on the Program
|
|
||||||
with the Program (or with a work based on the Program) on a volume of
|
|
||||||
a storage or distribution medium does not bring the other work under
|
|
||||||
the scope of this License.
|
|
||||||
|
|
||||||
3. You may copy and distribute the Program (or a work based on it,
|
|
||||||
under Section 2) in object code or executable form under the terms of
|
|
||||||
Sections 1 and 2 above provided that you also do one of the following:
|
|
||||||
|
|
||||||
a) Accompany it with the complete corresponding machine-readable
|
|
||||||
source code, which must be distributed under the terms of Sections
|
|
||||||
1 and 2 above on a medium customarily used for software interchange; or,
|
|
||||||
|
|
||||||
b) Accompany it with a written offer, valid for at least three
|
|
||||||
years, to give any third party, for a charge no more than your
|
|
||||||
cost of physically performing source distribution, a complete
|
|
||||||
machine-readable copy of the corresponding source code, to be
|
|
||||||
distributed under the terms of Sections 1 and 2 above on a medium
|
|
||||||
customarily used for software interchange; or,
|
|
||||||
|
|
||||||
c) Accompany it with the information you received as to the offer
|
|
||||||
to distribute corresponding source code. (This alternative is
|
|
||||||
allowed only for noncommercial distribution and only if you
|
|
||||||
received the program in object code or executable form with such
|
|
||||||
an offer, in accord with Subsection b above.)
|
|
||||||
|
|
||||||
The source code for a work means the preferred form of the work for
|
|
||||||
making modifications to it. For an executable work, complete source
|
|
||||||
code means all the source code for all modules it contains, plus any
|
|
||||||
associated interface definition files, plus the scripts used to
|
|
||||||
control compilation and installation of the executable. However, as a
|
|
||||||
special exception, the source code distributed need not include
|
|
||||||
anything that is normally distributed (in either source or binary
|
|
||||||
form) with the major components (compiler, kernel, and so on) of the
|
|
||||||
operating system on which the executable runs, unless that component
|
|
||||||
itself accompanies the executable.
|
|
||||||
|
|
||||||
If distribution of executable or object code is made by offering
|
|
||||||
access to copy from a designated place, then offering equivalent
|
|
||||||
access to copy the source code from the same place counts as
|
|
||||||
distribution of the source code, even though third parties are not
|
|
||||||
compelled to copy the source along with the object code.
|
|
||||||
|
|
||||||
4. You may not copy, modify, sublicense, or distribute the Program
|
|
||||||
except as expressly provided under this License. Any attempt
|
|
||||||
otherwise to copy, modify, sublicense or distribute the Program is
|
|
||||||
void, and will automatically terminate your rights under this License.
|
|
||||||
However, parties who have received copies, or rights, from you under
|
|
||||||
this License will not have their licenses terminated so long as such
|
|
||||||
parties remain in full compliance.
|
|
||||||
|
|
||||||
5. You are not required to accept this License, since you have not
|
|
||||||
signed it. However, nothing else grants you permission to modify or
|
|
||||||
distribute the Program or its derivative works. These actions are
|
|
||||||
prohibited by law if you do not accept this License. Therefore, by
|
|
||||||
modifying or distributing the Program (or any work based on the
|
|
||||||
Program), you indicate your acceptance of this License to do so, and
|
|
||||||
all its terms and conditions for copying, distributing or modifying
|
|
||||||
the Program or works based on it.
|
|
||||||
|
|
||||||
6. Each time you redistribute the Program (or any work based on the
|
|
||||||
Program), the recipient automatically receives a license from the
|
|
||||||
original licensor to copy, distribute or modify the Program subject to
|
|
||||||
these terms and conditions. You may not impose any further
|
|
||||||
restrictions on the recipients' exercise of the rights granted herein.
|
|
||||||
You are not responsible for enforcing compliance by third parties to
|
|
||||||
this License.
|
|
||||||
|
|
||||||
7. If, as a consequence of a court judgment or allegation of patent
|
|
||||||
infringement or for any other reason (not limited to patent issues),
|
|
||||||
conditions are imposed on you (whether by court order, agreement or
|
|
||||||
otherwise) that contradict the conditions of this License, they do not
|
|
||||||
excuse you from the conditions of this License. If you cannot
|
|
||||||
distribute so as to satisfy simultaneously your obligations under this
|
|
||||||
License and any other pertinent obligations, then as a consequence you
|
|
||||||
may not distribute the Program at all. For example, if a patent
|
|
||||||
license would not permit royalty-free redistribution of the Program by
|
|
||||||
all those who receive copies directly or indirectly through you, then
|
|
||||||
the only way you could satisfy both it and this License would be to
|
|
||||||
refrain entirely from distribution of the Program.
|
|
||||||
|
|
||||||
If any portion of this section is held invalid or unenforceable under
|
|
||||||
any particular circumstance, the balance of the section is intended to
|
|
||||||
apply and the section as a whole is intended to apply in other
|
|
||||||
circumstances.
|
|
||||||
|
|
||||||
It is not the purpose of this section to induce you to infringe any
|
|
||||||
patents or other property right claims or to contest validity of any
|
|
||||||
such claims; this section has the sole purpose of protecting the
|
|
||||||
integrity of the free software distribution system, which is
|
|
||||||
implemented by public license practices. Many people have made
|
|
||||||
generous contributions to the wide range of software distributed
|
|
||||||
through that system in reliance on consistent application of that
|
|
||||||
system; it is up to the author/donor to decide if he or she is willing
|
|
||||||
to distribute software through any other system and a licensee cannot
|
|
||||||
impose that choice.
|
|
||||||
|
|
||||||
This section is intended to make thoroughly clear what is believed to
|
|
||||||
be a consequence of the rest of this License.
|
|
||||||
|
|
||||||
8. If the distribution and/or use of the Program is restricted in
|
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
|
||||||
original copyright holder who places the Program under this License
|
|
||||||
may add an explicit geographical distribution limitation excluding
|
|
||||||
those countries, so that distribution is permitted only in or among
|
|
||||||
countries not thus excluded. In such case, this License incorporates
|
|
||||||
the limitation as if written in the body of this License.
|
|
||||||
|
|
||||||
9. The Free Software Foundation may publish revised and/or new versions
|
|
||||||
of the General Public License from time to time. Such new versions will
|
|
||||||
be similar in spirit to the present version, but may differ in detail to
|
|
||||||
address new problems or concerns.
|
|
||||||
|
|
||||||
Each version is given a distinguishing version number. If the Program
|
|
||||||
specifies a version number of this License which applies to it and "any
|
|
||||||
later version", you have the option of following the terms and conditions
|
|
||||||
either of that version or of any later version published by the Free
|
|
||||||
Software Foundation. If the Program does not specify a version number of
|
|
||||||
this License, you may choose any version ever published by the Free Software
|
|
||||||
Foundation.
|
|
||||||
|
|
||||||
10. If you wish to incorporate parts of the Program into other free
|
|
||||||
programs whose distribution conditions are different, write to the author
|
|
||||||
to ask for permission. For software which is copyrighted by the Free
|
|
||||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
|
||||||
make exceptions for this. Our decision will be guided by the two goals
|
|
||||||
of preserving the free status of all derivatives of our free software and
|
|
||||||
of promoting the sharing and reuse of software generally.
|
|
||||||
|
|
||||||
NO WARRANTY
|
|
||||||
|
|
||||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
|
||||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
|
||||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
|
||||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
|
||||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
|
||||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
|
||||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
|
||||||
REPAIR OR CORRECTION.
|
|
||||||
|
|
||||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
|
||||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
|
||||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
|
||||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
|
||||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
|
||||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
|
||||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
|
||||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGES.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
|
||||||
possible use to the public, the best way to achieve this is to make it
|
|
||||||
free software which everyone can redistribute and change under these terms.
|
|
||||||
|
|
||||||
To do so, attach the following notices to the program. It is safest
|
|
||||||
to attach them to the start of each source file to most effectively
|
|
||||||
convey the exclusion of warranty; and each file should have at least
|
|
||||||
the "copyright" line and a pointer to where the full notice is found.
|
|
||||||
|
|
||||||
<one line to give the program's name and a brief idea of what it does.>
|
|
||||||
Copyright (C) <year> <name of author>
|
|
||||||
|
|
||||||
This program 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; either version 2 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program 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 this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
|
||||||
|
|
||||||
If the program is interactive, make it output a short notice like this
|
|
||||||
when it starts in an interactive mode:
|
|
||||||
|
|
||||||
Gnomovision version 69, Copyright (C) year name of author
|
|
||||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
|
||||||
This is free software, and you are welcome to redistribute it
|
|
||||||
under certain conditions; type `show c' for details.
|
|
||||||
|
|
||||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
|
||||||
parts of the General Public License. Of course, the commands you use may
|
|
||||||
be called something other than `show w' and `show c'; they could even be
|
|
||||||
mouse-clicks or menu items--whatever suits your program.
|
|
||||||
|
|
||||||
You should also get your employer (if you work as a programmer) or your
|
|
||||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
|
||||||
necessary. Here is a sample; alter the names:
|
|
||||||
|
|
||||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
|
||||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
|
||||||
|
|
||||||
<signature of Ty Coon>, 1 April 1989
|
|
||||||
Ty Coon, President of Vice
|
|
||||||
|
|
||||||
This General Public License does not permit incorporating your program into
|
|
||||||
proprietary programs. If your program is a subroutine library, you may
|
|
||||||
consider it more useful to permit linking proprietary applications with the
|
|
||||||
library. If this is what you want to do, use the GNU Lesser General
|
|
||||||
Public License instead of this License.
|
|
||||||
188
Makefile
188
Makefile
@@ -1,188 +0,0 @@
|
|||||||
# Auto-generated file from 'Makefile.in' -- DO NOT EDIT
|
|
||||||
# $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/>.
|
|
||||||
|
|
||||||
# Check if we want to show what we are doing
|
|
||||||
ifdef VERBOSE
|
|
||||||
Q =
|
|
||||||
else
|
|
||||||
Q = @
|
|
||||||
endif
|
|
||||||
|
|
||||||
include Makefile.am
|
|
||||||
|
|
||||||
CONFIG_CACHE_PWD = config.cache.pwd
|
|
||||||
CONFIG_CACHE_SOURCE_LIST = config.cache.source.list
|
|
||||||
BIN_DIR = /home/pavels/Downloads/openttd-1.10.0-beta1/bin
|
|
||||||
ICON_THEME_DIR = /usr/local/share/icons/hicolor
|
|
||||||
MAN_DIR = /usr/local/share/man/man6
|
|
||||||
MENU_DIR = /usr/local/share/applications
|
|
||||||
SRC_DIR = /home/pavels/Downloads/openttd-1.10.0-beta1/src
|
|
||||||
ROOT_DIR = /home/pavels/Downloads/openttd-1.10.0-beta1
|
|
||||||
BUNDLE_DIR = "$(ROOT_DIR)/bundle"
|
|
||||||
BUNDLES_DIR = "$(ROOT_DIR)/bundles"
|
|
||||||
INSTALL_DIR = /
|
|
||||||
INSTALL_BINARY_DIR = "$(INSTALL_DIR)/"/usr/local/games
|
|
||||||
INSTALL_MAN_DIR = "$(INSTALL_DIR)/$(MAN_DIR)"
|
|
||||||
INSTALL_MENU_DIR = "$(INSTALL_DIR)/$(MENU_DIR)"
|
|
||||||
INSTALL_ICON_DIR = "$(INSTALL_DIR)/"/usr/local/share/pixmaps
|
|
||||||
INSTALL_ICON_THEME_DIR = "$(INSTALL_DIR)/$(ICON_THEME_DIR)"
|
|
||||||
INSTALL_DATA_DIR = "$(INSTALL_DIR)/"/usr/local/share/games/openttd
|
|
||||||
INSTALL_DOC_DIR = "$(INSTALL_DIR)/"/usr/local/share/doc/openttd
|
|
||||||
SOURCE_LIST = /home/pavels/Downloads/openttd-1.10.0-beta1/source.list
|
|
||||||
CONFIGURE_FILES = /home/pavels/Downloads/openttd-1.10.0-beta1/configure /home/pavels/Downloads/openttd-1.10.0-beta1/config.lib /home/pavels/Downloads/openttd-1.10.0-beta1/Makefile.in /home/pavels/Downloads/openttd-1.10.0-beta1/Makefile.grf.in /home/pavels/Downloads/openttd-1.10.0-beta1/Makefile.lang.in /home/pavels/Downloads/openttd-1.10.0-beta1/Makefile.src.in /home/pavels/Downloads/openttd-1.10.0-beta1/Makefile.bundle.in /home/pavels/Downloads/openttd-1.10.0-beta1/Makefile.setting.in
|
|
||||||
BINARY_NAME = openttd
|
|
||||||
STRIP =
|
|
||||||
TTD = openttd
|
|
||||||
TTDS = $(SRC_DIRS:%=%/$(TTD))
|
|
||||||
OS = UNIX
|
|
||||||
OSXAPP =
|
|
||||||
LIPO =
|
|
||||||
AWK = awk
|
|
||||||
SORT = sort -u
|
|
||||||
DISTCC =
|
|
||||||
|
|
||||||
RES := $(shell if [ ! -f $(CONFIG_CACHE_PWD) ] || [ "`pwd`" != "`cat $(CONFIG_CACHE_PWD)`" ]; then echo "`pwd`" > $(CONFIG_CACHE_PWD); fi )
|
|
||||||
RES := $(shell if [ ! -f $(CONFIG_CACHE_SOURCE_LIST) ] || [ -n "`cmp $(CONFIG_CACHE_SOURCE_LIST) $(SOURCE_LIST) 2>/dev/null`" ]; then cp $(SOURCE_LIST) $(CONFIG_CACHE_SOURCE_LIST); fi )
|
|
||||||
|
|
||||||
all: config.pwd config.cache
|
|
||||||
ifdef DISTCC
|
|
||||||
@if [ -z "`echo '$(MFLAGS)' | grep '\-j'`" ]; then echo; echo "WARNING: you enabled distcc support, but you don't seem to be using the -jN parameter"; echo; fi
|
|
||||||
endif
|
|
||||||
@for dir in $(DIRS); do \
|
|
||||||
$(MAKE) -C $$dir all || exit 1; \
|
|
||||||
done
|
|
||||||
ifdef LIPO
|
|
||||||
# Lipo is an OSX thing. If it is defined, it means we are building for universal,
|
|
||||||
# and so we have have to combine the binaries into one big binary
|
|
||||||
|
|
||||||
# Remove the last binary made by the last compiled target
|
|
||||||
$(Q)rm -f $(BIN_DIR)/$(TTD)
|
|
||||||
# Make all the binaries into one
|
|
||||||
$(Q)$(LIPO) -create -output $(BIN_DIR)/$(TTD) $(TTDS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
help:
|
|
||||||
@echo "Available make commands:"
|
|
||||||
@echo ""
|
|
||||||
@echo "Compilation:"
|
|
||||||
@echo " all compile the executable and the lang files"
|
|
||||||
@echo " lang compile the lang files only"
|
|
||||||
@echo "Clean up:"
|
|
||||||
@echo " clean remove the files generated during compilation"
|
|
||||||
@echo " mrproper remove the files generated during configuration and compilation"
|
|
||||||
@echo "Run after compilation:"
|
|
||||||
@echo " run execute openttd after the compilation"
|
|
||||||
@echo " run-gdb execute openttd in debug mode after the compilation"
|
|
||||||
@echo " run-prof execute openttd in profiling mode after the compilation"
|
|
||||||
@echo "Installation:"
|
|
||||||
@echo " install install the compiled files and the data-files after the compilation"
|
|
||||||
@echo " bundle create the base for an installation bundle"
|
|
||||||
@echo " bundle_zip create the zip installation bundle"
|
|
||||||
@echo " bundle_gzip create the gzip installation bundle"
|
|
||||||
@echo " bundle_bzip2 create the bzip2 installation bundle"
|
|
||||||
@echo " bundle_lha create the lha installation bundle"
|
|
||||||
@echo " bundle_dmg create the dmg installation bundle"
|
|
||||||
|
|
||||||
config.pwd: $(CONFIG_CACHE_PWD)
|
|
||||||
$(MAKE) reconfigure
|
|
||||||
|
|
||||||
config.cache: $(CONFIG_CACHE_SOURCE_LIST) $(CONFIGURE_FILES)
|
|
||||||
$(MAKE) reconfigure
|
|
||||||
|
|
||||||
reconfigure:
|
|
||||||
ifeq ($(shell if test -f config.cache; then echo 1; fi), 1)
|
|
||||||
@echo "----------------"
|
|
||||||
@echo "The system detected that source.list or any configure file is altered."
|
|
||||||
@echo " Going to reconfigure with last known settings..."
|
|
||||||
@echo "----------------"
|
|
||||||
# Make sure we don't lock config.cache
|
|
||||||
@$(shell cat config.cache | sed 's@\\ @\\\\ @g') || exit 1
|
|
||||||
@echo "----------------"
|
|
||||||
@echo "Reconfig done. Please re-execute make."
|
|
||||||
@echo "----------------"
|
|
||||||
else
|
|
||||||
@echo "----------------"
|
|
||||||
@echo "Have not found a configuration, please run configure first."
|
|
||||||
@echo "----------------"
|
|
||||||
@exit 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
clean:
|
|
||||||
@for dir in $(DIRS); do \
|
|
||||||
$(MAKE) -C $$dir clean; \
|
|
||||||
done
|
|
||||||
$(Q)rm -rf $(BUNDLE_TARGET)
|
|
||||||
|
|
||||||
lang:
|
|
||||||
@for dir in $(LANG_DIRS); do \
|
|
||||||
$(MAKE) -C $$dir all; \
|
|
||||||
done
|
|
||||||
|
|
||||||
mrproper:
|
|
||||||
@for dir in $(DIRS); do \
|
|
||||||
$(MAKE) -C $$dir mrproper; \
|
|
||||||
done
|
|
||||||
# Don't be tempted to merge these two for loops. Doing that breaks make
|
|
||||||
# --dry-run, since make has this "feature" that it always runs commands
|
|
||||||
# containing $(MAKE), even when --dry-run is passed. The objective is of
|
|
||||||
# course to also get a dry-run of submakes, but make is not smart enough
|
|
||||||
# to see that a for loop runs both a submake and an actual command.
|
|
||||||
@for dir in $(DIRS); do \
|
|
||||||
rm -f $$dir/Makefile; \
|
|
||||||
done
|
|
||||||
$(Q)rm -rf objs
|
|
||||||
$(Q)rm -f Makefile Makefile.am Makefile.bundle
|
|
||||||
$(Q)rm -f media/openttd.desktop media/openttd.desktop.install
|
|
||||||
$(Q)rm -f $(CONFIG_CACHE_SOURCE_LIST) config.cache config.pwd config.log $(CONFIG_CACHE_PWD)
|
|
||||||
# directories for bundle generation
|
|
||||||
$(Q)rm -rf $(BUNDLE_DIR)
|
|
||||||
$(Q)rm -rf $(BUNDLES_DIR)
|
|
||||||
# output of profiling
|
|
||||||
$(Q)rm -f $(BIN_DIR)/gmon.out
|
|
||||||
# output of generating 'API' documentation
|
|
||||||
$(Q)rm -rf $(ROOT_DIR)/docs/source
|
|
||||||
$(Q)rm -rf $(ROOT_DIR)/docs/aidocs
|
|
||||||
$(Q)rm -rf $(ROOT_DIR)/docs/gamedocs
|
|
||||||
# directories created by OpenTTD on regression testing
|
|
||||||
$(Q)rm -rf $(BIN_DIR)/ai/regression/content_download $(BIN_DIR)/ai/regression/save $(BIN_DIR)/ai/regression/scenario
|
|
||||||
distclean: mrproper
|
|
||||||
|
|
||||||
maintainer-clean: distclean
|
|
||||||
$(Q)rm -f $(BIN_DIR)/baseset/openttd.grf $(BIN_DIR)/baseset/orig_extra.grf $(BIN_DIR)/baseset/*.obg $(BIN_DIR)/baseset/*.obs $(BIN_DIR)/baseset/*.obm
|
|
||||||
|
|
||||||
depend:
|
|
||||||
@for dir in $(SRC_DIRS); do \
|
|
||||||
$(MAKE) -C $$dir depend; \
|
|
||||||
done
|
|
||||||
|
|
||||||
run: all
|
|
||||||
$(Q)cd /home/pavels/Downloads/openttd-1.10.0-beta1/bin && ./openttd $(OPENTTD_ARGS)
|
|
||||||
|
|
||||||
run-gdb: all
|
|
||||||
$(Q)cd /home/pavels/Downloads/openttd-1.10.0-beta1/bin && gdb --ex run --args ./openttd $(OPENTTD_ARGS)
|
|
||||||
|
|
||||||
run-prof: all
|
|
||||||
$(Q)cd /home/pavels/Downloads/openttd-1.10.0-beta1/bin && ./openttd $(OPENTTD_ARGS) && gprof openttd | less
|
|
||||||
|
|
||||||
regression: all
|
|
||||||
$(Q)cd /home/pavels/Downloads/openttd-1.10.0-beta1/bin && sh ai/regression/run.sh
|
|
||||||
test: regression
|
|
||||||
|
|
||||||
%.o:
|
|
||||||
@for dir in $(SRC_DIRS); do \
|
|
||||||
$(MAKE) -C $$dir $(@:src/%=%); \
|
|
||||||
done
|
|
||||||
|
|
||||||
%.lng:
|
|
||||||
@for dir in $(LANG_DIRS); do \
|
|
||||||
$(MAKE) -C $$dir $@; \
|
|
||||||
done
|
|
||||||
|
|
||||||
.PHONY: test distclean mrproper clean
|
|
||||||
|
|
||||||
include Makefile.bundle
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
# Auto-generated file -- DO NOT EDIT
|
|
||||||
|
|
||||||
DIRS += /home/pavels/Downloads/openttd-1.10.0-beta1/objs/lang
|
|
||||||
LANG_DIRS += /home/pavels/Downloads/openttd-1.10.0-beta1/objs/lang
|
|
||||||
DIRS += /home/pavels/Downloads/openttd-1.10.0-beta1/objs/setting
|
|
||||||
DIRS += /home/pavels/Downloads/openttd-1.10.0-beta1/objs/extra_grf
|
|
||||||
DIRS += /home/pavels/Downloads/openttd-1.10.0-beta1/objs/release
|
|
||||||
SRC_DIRS += /home/pavels/Downloads/openttd-1.10.0-beta1/objs/release
|
|
||||||
223
Makefile.bundle
223
Makefile.bundle
@@ -1,223 +0,0 @@
|
|||||||
# $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/>.
|
|
||||||
|
|
||||||
#
|
|
||||||
# Creation of bundles
|
|
||||||
#
|
|
||||||
|
|
||||||
# The revision is needed for the bundle name and creating an OSX application bundle.
|
|
||||||
# Detect the revision
|
|
||||||
VERSIONS := $(shell AWK="$(AWK)" "$(ROOT_DIR)/findversion.sh")
|
|
||||||
VERSION := $(shell echo "$(VERSIONS)" | cut -f 1 -d' ')
|
|
||||||
|
|
||||||
# Make sure we have something in VERSION
|
|
||||||
ifeq ($(VERSION),)
|
|
||||||
VERSION := norev000
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifndef BUNDLE_NAME
|
|
||||||
BUNDLE_NAME = openttd-custom-$(VERSION)-$(OS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# An OSX application bundle needs the data files, lang files and openttd executable in a different location.
|
|
||||||
ifdef OSXAPP
|
|
||||||
AI_DIR = $(BUNDLE_DIR)/$(OSXAPP)/Contents/Resources/ai
|
|
||||||
GAME_DIR = $(BUNDLE_DIR)/$(OSXAPP)/Contents/Resources/game
|
|
||||||
BASESET_DIR = $(BUNDLE_DIR)/$(OSXAPP)/Contents/Resources/baseset
|
|
||||||
LANG_DIR = $(BUNDLE_DIR)/$(OSXAPP)/Contents/Resources/lang
|
|
||||||
TTD_DIR = $(BUNDLE_DIR)/$(OSXAPP)/Contents/MacOS
|
|
||||||
else
|
|
||||||
AI_DIR = $(BUNDLE_DIR)/ai
|
|
||||||
GAME_DIR = $(BUNDLE_DIR)/game
|
|
||||||
BASESET_DIR = $(BUNDLE_DIR)/baseset
|
|
||||||
LANG_DIR = $(BUNDLE_DIR)/lang
|
|
||||||
TTD_DIR = $(BUNDLE_DIR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
bundle: all
|
|
||||||
@echo '[BUNDLE] Constructing bundle'
|
|
||||||
$(Q)rm -rf "$(BUNDLE_DIR)"
|
|
||||||
$(Q)mkdir -p "$(BUNDLE_DIR)"
|
|
||||||
$(Q)mkdir -p "$(BUNDLE_DIR)/docs"
|
|
||||||
$(Q)mkdir -p "$(BUNDLE_DIR)/media"
|
|
||||||
$(Q)mkdir -p "$(BUNDLE_DIR)/scripts"
|
|
||||||
$(Q)mkdir -p "$(TTD_DIR)"
|
|
||||||
$(Q)mkdir -p "$(AI_DIR)"
|
|
||||||
$(Q)mkdir -p "$(GAME_DIR)"
|
|
||||||
$(Q)mkdir -p "$(BASESET_DIR)"
|
|
||||||
$(Q)mkdir -p "$(LANG_DIR)"
|
|
||||||
ifdef OSXAPP
|
|
||||||
$(Q)mkdir -p "$(BUNDLE_DIR)/$(OSXAPP)/Contents/Resources"
|
|
||||||
$(Q)echo "APPL????" > "$(BUNDLE_DIR)/$(OSXAPP)/Contents/PkgInfo"
|
|
||||||
$(Q)cp "$(ROOT_DIR)/os/macosx/openttd.icns" "$(BUNDLE_DIR)/$(OSXAPP)/Contents/Resources/openttd.icns"
|
|
||||||
$(Q)$(ROOT_DIR)/os/macosx/plistgen.sh "$(BUNDLE_DIR)/$(OSXAPP)" "$(VERSION)"
|
|
||||||
$(Q)cp "$(ROOT_DIR)/os/macosx/splash.png" "$(BASESET_DIR)"
|
|
||||||
endif
|
|
||||||
ifeq ($(OS),UNIX)
|
|
||||||
$(Q)cp "$(ROOT_DIR)/media/openttd.32.bmp" "$(BASESET_DIR)/"
|
|
||||||
endif
|
|
||||||
$(Q)cp "$(BIN_DIR)/$(TTD)" "$(TTD_DIR)/"
|
|
||||||
$(Q)cp "$(BIN_DIR)/ai/"compat_*.nut "$(AI_DIR)/"
|
|
||||||
$(Q)cp "$(BIN_DIR)/game/"compat_*.nut "$(GAME_DIR)/"
|
|
||||||
$(Q)cp "$(BIN_DIR)/baseset/"*.grf "$(BASESET_DIR)/"
|
|
||||||
$(Q)cp "$(BIN_DIR)/baseset/"*.obg "$(BASESET_DIR)/"
|
|
||||||
$(Q)cp "$(BIN_DIR)/baseset/"*.obs "$(BASESET_DIR)/"
|
|
||||||
$(Q)cp "$(BIN_DIR)/baseset/opntitle.dat" "$(BASESET_DIR)/"
|
|
||||||
$(Q)cp "$(BIN_DIR)/baseset/"*.obm "$(BASESET_DIR)/"
|
|
||||||
$(Q)cp "$(BIN_DIR)/lang/"*.lng "$(LANG_DIR)/"
|
|
||||||
$(Q)cp "$(ROOT_DIR)/README.md" "$(BUNDLE_DIR)/"
|
|
||||||
$(Q)cp "$(ROOT_DIR)/COPYING.md" "$(BUNDLE_DIR)/"
|
|
||||||
$(Q)cp "$(ROOT_DIR)/known-bugs.txt" "$(BUNDLE_DIR)/"
|
|
||||||
$(Q)cp "$(ROOT_DIR)/docs/multiplayer.md" "$(BUNDLE_DIR)/docs/"
|
|
||||||
$(Q)cp "$(ROOT_DIR)/changelog.txt" "$(BUNDLE_DIR)/"
|
|
||||||
ifdef MAN_DIR
|
|
||||||
$(Q)mkdir -p "$(BUNDLE_DIR)/man/"
|
|
||||||
$(Q)cp "$(ROOT_DIR)/docs/openttd.6" "$(BUNDLE_DIR)/man/"
|
|
||||||
$(Q)gzip -9 "$(BUNDLE_DIR)/man/openttd.6"
|
|
||||||
endif
|
|
||||||
$(Q)cp "$(ROOT_DIR)/media/openttd.32.xpm" "$(BUNDLE_DIR)/media/"
|
|
||||||
$(Q)cp "$(ROOT_DIR)/media/openttd."*.png "$(BUNDLE_DIR)/media/"
|
|
||||||
$(Q)cp "$(BIN_DIR)/scripts/"* "$(BUNDLE_DIR)/scripts/"
|
|
||||||
ifdef MENU_DIR
|
|
||||||
$(Q)cp "$(ROOT_DIR)/media/openttd.desktop" "$(BUNDLE_DIR)/media/"
|
|
||||||
$(Q)$(AWK) -f "$(ROOT_DIR)/media/openttd.desktop.translation.awk" "$(SRC_DIR)/lang/"*.txt | LC_ALL=C $(SORT) | $(AWK) -f "$(ROOT_DIR)/media/openttd.desktop.filter.awk" >> "$(BUNDLE_DIR)/media/openttd.desktop"
|
|
||||||
$(Q)sed s/=openttd/=$(BINARY_NAME)/g "$(BUNDLE_DIR)/media/openttd.desktop" > "$(ROOT_DIR)/media/openttd.desktop.install"
|
|
||||||
endif
|
|
||||||
ifeq ($(TTD), openttd.exe)
|
|
||||||
$(Q)unix2dos "$(BUNDLE_DIR)/docs/"* "$(BUNDLE_DIR)/README.md" "$(BUNDLE_DIR)/COPYING.md" "$(BUNDLE_DIR)/changelog.txt" "$(BUNDLE_DIR)/known-bugs.txt"
|
|
||||||
endif
|
|
||||||
|
|
||||||
### Packing the current bundle into several compressed file formats ###
|
|
||||||
#
|
|
||||||
# Zips & dmgs do not contain a root folder, i.e. they have files in the root of the zip/dmg.
|
|
||||||
# gzip, bzip2 and lha archives have a root folder, with the same name as the bundle.
|
|
||||||
#
|
|
||||||
# One can supply a custom name by adding BUNDLE_NAME:=<name> to the make command.
|
|
||||||
#
|
|
||||||
bundle_zip: bundle
|
|
||||||
@echo '[BUNDLE] Creating $(BUNDLE_NAME).zip'
|
|
||||||
$(Q)mkdir -p "$(BUNDLES_DIR)"
|
|
||||||
$(Q)cd "$(BUNDLE_DIR)" && zip -r $(shell if test -z "$(VERBOSE)"; then echo '-q'; fi) "$(BUNDLES_DIR)/$(BUNDLE_NAME).zip" .
|
|
||||||
|
|
||||||
bundle_7z: bundle
|
|
||||||
@echo '[BUNDLE] Creating $(BUNDLE_NAME).7z'
|
|
||||||
$(Q)mkdir -p "$(BUNDLES_DIR)"
|
|
||||||
$(Q)cd "$(BUNDLE_DIR)" && 7z a "$(BUNDLES_DIR)/$(BUNDLE_NAME).7z" .
|
|
||||||
|
|
||||||
bundle_gzip: bundle
|
|
||||||
@echo '[BUNDLE] Creating $(BUNDLE_NAME).tar.gz'
|
|
||||||
$(Q)mkdir -p "$(BUNDLES_DIR)/.gzip/$(BUNDLE_NAME)"
|
|
||||||
$(Q)cp -R "$(BUNDLE_DIR)/"* "$(BUNDLES_DIR)/.gzip/$(BUNDLE_NAME)/"
|
|
||||||
$(Q)cd "$(BUNDLES_DIR)/.gzip" && tar -zc$(shell if test -n "$(VERBOSE)"; then echo 'v'; fi)f "$(BUNDLES_DIR)/$(BUNDLE_NAME).tar.gz" "$(BUNDLE_NAME)"
|
|
||||||
$(Q)rm -rf "$(BUNDLES_DIR)/.gzip"
|
|
||||||
|
|
||||||
bundle_bzip2: bundle
|
|
||||||
@echo '[BUNDLE] Creating $(BUNDLE_NAME).tar.bz2'
|
|
||||||
$(Q)mkdir -p "$(BUNDLES_DIR)/.bzip2/$(BUNDLE_NAME)"
|
|
||||||
$(Q)cp -R "$(BUNDLE_DIR)/"* "$(BUNDLES_DIR)/.bzip2/$(BUNDLE_NAME)/"
|
|
||||||
$(Q)cd "$(BUNDLES_DIR)/.bzip2" && tar -jc$(shell if test -n "$(VERBOSE)"; then echo 'v'; fi)f "$(BUNDLES_DIR)/$(BUNDLE_NAME).tar.bz2" "$(BUNDLE_NAME)"
|
|
||||||
$(Q)rm -rf "$(BUNDLES_DIR)/.bzip2"
|
|
||||||
|
|
||||||
bundle_lzma: bundle
|
|
||||||
@echo '[BUNDLE] Creating $(BUNDLE_NAME).tar.lzma'
|
|
||||||
$(Q)mkdir -p "$(BUNDLES_DIR)/.lzma/$(BUNDLE_NAME)"
|
|
||||||
$(Q)cp -R "$(BUNDLE_DIR)/"* "$(BUNDLES_DIR)/.lzma/$(BUNDLE_NAME)/"
|
|
||||||
$(Q)cd "$(BUNDLES_DIR)/.lzma" && tar --lzma -c$(shell if test -n "$(VERBOSE)"; then echo 'v'; fi)f "$(BUNDLES_DIR)/$(BUNDLE_NAME).tar.lzma" "$(BUNDLE_NAME)"
|
|
||||||
$(Q)rm -rf "$(BUNDLES_DIR)/.lzma"
|
|
||||||
|
|
||||||
bundle_xz: bundle
|
|
||||||
@echo '[BUNDLE] Creating $(BUNDLE_NAME).tar.xz'
|
|
||||||
$(Q)mkdir -p "$(BUNDLES_DIR)/.xz/$(BUNDLE_NAME)"
|
|
||||||
$(Q)cp -R "$(BUNDLE_DIR)/"* "$(BUNDLES_DIR)/.xz/$(BUNDLE_NAME)/"
|
|
||||||
$(Q)cd "$(BUNDLES_DIR)/.xz" && tar --xz -c$(shell if test -n "$(VERBOSE)"; then echo 'v'; fi)f "$(BUNDLES_DIR)/$(BUNDLE_NAME).tar.xz" "$(BUNDLE_NAME)"
|
|
||||||
$(Q)rm -rf "$(BUNDLES_DIR)/.xz"
|
|
||||||
|
|
||||||
bundle_lha: bundle
|
|
||||||
@echo '[BUNDLE] Creating $(BUNDLE_NAME).lha'
|
|
||||||
$(Q)mkdir -p "$(BUNDLES_DIR)/.lha/$(BUNDLE_NAME)"
|
|
||||||
$(Q)cp -R "$(BUNDLE_DIR)/"* "$(BUNDLES_DIR)/.lha/$(BUNDLE_NAME)/"
|
|
||||||
$(Q)cd "$(BUNDLES_DIR)/.lha" && lha ao6 "$(BUNDLES_DIR)/$(BUNDLE_NAME).lha" "$(BUNDLE_NAME)"
|
|
||||||
$(Q)rm -rf "$(BUNDLES_DIR)/.lha"
|
|
||||||
|
|
||||||
bundle_dmg: bundle
|
|
||||||
@echo '[BUNDLE] Creating $(BUNDLE_NAME).dmg'
|
|
||||||
$(Q)mkdir -p "$(BUNDLES_DIR)/OpenTTD $(VERSION)"
|
|
||||||
$(Q)cp -R "$(BUNDLE_DIR)/" "$(BUNDLES_DIR)/OpenTTD $(VERSION)"
|
|
||||||
$(Q)hdiutil create -ov -format UDZO -srcfolder "$(BUNDLES_DIR)/OpenTTD $(VERSION)" "$(BUNDLES_DIR)/$(BUNDLE_NAME).dmg"
|
|
||||||
$(Q)rm -fr "$(BUNDLES_DIR)/OpenTTD $(VERSION)"
|
|
||||||
|
|
||||||
bundle_exe: all
|
|
||||||
@echo '[BUNDLE] Creating $(BUNDLE_NAME).exe'
|
|
||||||
$(Q)mkdir -p "$(BUNDLES_DIR)"
|
|
||||||
$(Q)unix2dos "$(ROOT_DIR)/docs/"* "$(ROOT_DIR)/README.md" "$(ROOT_DIR)/COPYING.md" "$(ROOT_DIR)/changelog.txt" "$(ROOT_DIR)/known-bugs.txt"
|
|
||||||
$(Q)cd $(ROOT_DIR)/os/windows/installer && makensis.exe //DVERSION_INCLUDE=version_$(PLATFORM).txt install.nsi
|
|
||||||
$(Q)mv $(ROOT_DIR)/os/windows/installer/*$(PLATFORM).exe "$(BUNDLES_DIR)/$(BUNDLE_NAME).exe"
|
|
||||||
|
|
||||||
ifdef OSXAPP
|
|
||||||
install:
|
|
||||||
@echo '[INSTALL] Cannot install the OSX Application Bundle'
|
|
||||||
else
|
|
||||||
install: bundle
|
|
||||||
@echo '[INSTALL] Installing OpenTTD'
|
|
||||||
$(Q)install -d "$(INSTALL_BINARY_DIR)"
|
|
||||||
$(Q)install -d "$(INSTALL_ICON_DIR)"
|
|
||||||
$(Q)install -d "$(INSTALL_DATA_DIR)/ai"
|
|
||||||
$(Q)install -d "$(INSTALL_DATA_DIR)/game"
|
|
||||||
$(Q)install -d "$(INSTALL_DATA_DIR)/baseset"
|
|
||||||
$(Q)install -d "$(INSTALL_DATA_DIR)/lang"
|
|
||||||
$(Q)install -d "$(INSTALL_DATA_DIR)/scripts"
|
|
||||||
ifeq ($(TTD), openttd.exe)
|
|
||||||
$(Q)install -m 755 "$(BUNDLE_DIR)/$(TTD)" "$(INSTALL_BINARY_DIR)/${BINARY_NAME}.exe"
|
|
||||||
else
|
|
||||||
$(Q)install -m 755 "$(BUNDLE_DIR)/$(TTD)" "$(INSTALL_BINARY_DIR)/${BINARY_NAME}"
|
|
||||||
endif
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/lang/"* "$(INSTALL_DATA_DIR)/lang"
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/ai/"* "$(INSTALL_DATA_DIR)/ai"
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/game/"* "$(INSTALL_DATA_DIR)/game"
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/baseset/"* "$(INSTALL_DATA_DIR)/baseset"
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/scripts/"* "$(INSTALL_DATA_DIR)/scripts"
|
|
||||||
ifndef DO_NOT_INSTALL_DOCS
|
|
||||||
$(Q)install -d "$(INSTALL_DOC_DIR)"
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/docs/"* "$(BUNDLE_DIR)/README.md" "$(BUNDLE_DIR)/known-bugs.txt" "$(INSTALL_DOC_DIR)"
|
|
||||||
endif
|
|
||||||
ifndef DO_NOT_INSTALL_CHANGELOG
|
|
||||||
$(Q)install -d "$(INSTALL_DOC_DIR)"
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/changelog.txt" "$(INSTALL_DOC_DIR)"
|
|
||||||
endif
|
|
||||||
ifndef DO_NOT_INSTALL_LICENSE
|
|
||||||
$(Q)install -d "$(INSTALL_DOC_DIR)"
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/COPYING.md" "$(INSTALL_DOC_DIR)"
|
|
||||||
endif
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.32.xpm" "$(INSTALL_ICON_DIR)/${BINARY_NAME}.32.xpm"
|
|
||||||
ifdef ICON_THEME_DIR
|
|
||||||
$(Q)install -d "$(INSTALL_ICON_THEME_DIR)"
|
|
||||||
$(Q)install -d "$(INSTALL_ICON_THEME_DIR)/16x16/apps"
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.16.png" "$(INSTALL_ICON_THEME_DIR)/16x16/apps/${BINARY_NAME}.png"
|
|
||||||
$(Q)install -d "$(INSTALL_ICON_THEME_DIR)/32x32/apps"
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.32.png" "$(INSTALL_ICON_THEME_DIR)/32x32/apps/${BINARY_NAME}.png"
|
|
||||||
$(Q)install -d "$(INSTALL_ICON_THEME_DIR)/48x48/apps"
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.48.png" "$(INSTALL_ICON_THEME_DIR)/48x48/apps/${BINARY_NAME}.png"
|
|
||||||
$(Q)install -d "$(INSTALL_ICON_THEME_DIR)/64x64/apps"
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.64.png" "$(INSTALL_ICON_THEME_DIR)/64x64/apps/${BINARY_NAME}.png"
|
|
||||||
$(Q)install -d "$(INSTALL_ICON_THEME_DIR)/128x128/apps"
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.128.png" "$(INSTALL_ICON_THEME_DIR)/128x128/apps/${BINARY_NAME}.png"
|
|
||||||
$(Q)install -d "$(INSTALL_ICON_THEME_DIR)/256x256/apps"
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.256.png" "$(INSTALL_ICON_THEME_DIR)/256x256/apps/${BINARY_NAME}.png"
|
|
||||||
else
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/media/"*.png "$(INSTALL_ICON_DIR)"
|
|
||||||
endif
|
|
||||||
ifdef MAN_DIR
|
|
||||||
ifndef DO_NOT_INSTALL_MAN
|
|
||||||
$(Q)install -d "$(INSTALL_MAN_DIR)"
|
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/man/openttd.6.gz" "$(INSTALL_MAN_DIR)/${BINARY_NAME}.6.gz"
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
ifdef MENU_DIR
|
|
||||||
$(Q)install -d "$(INSTALL_MENU_DIR)"
|
|
||||||
$(Q)install -m 644 "$(ROOT_DIR)/media/openttd.desktop.install" "$(INSTALL_MENU_DIR)/${BINARY_NAME}.desktop"
|
|
||||||
endif
|
|
||||||
endif # OSXAPP
|
|
||||||
@@ -1,103 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents more or less nothingness
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = NoMusic
|
|
||||||
shortname = NULL
|
|
||||||
version = 0
|
|
||||||
fallback = true
|
|
||||||
description = A music pack without actual music.
|
|
||||||
description.af_ZA = 'n Musiek stel sonder enige musiek.
|
|
||||||
description.ar_EG = مجموعة موسيقى بدون موسيقى
|
|
||||||
description.be_BY = "Пусты" набор музычнага афармлення, які не зьмяшчае ніякай музыкі.
|
|
||||||
description.bg_BG = Празен музикален пакет.
|
|
||||||
description.ca_ES = Una llista de música sense cap peça.
|
|
||||||
description.cs_CZ = Prázná hudební sada.
|
|
||||||
description.cy_GB = Pecyn cerddoriaeth heb unrhyw gerddoriaeth ynddo.
|
|
||||||
description.da_DK = En musikpakke uden musik.
|
|
||||||
description.de_DE = Ein Musikset ohne Musik.
|
|
||||||
description.el_GR = Ένα πάκετο μουσικής χωρίς πραγματική μουσική.
|
|
||||||
description.en_AU = A music pack without actual music.
|
|
||||||
description.en_US = A music pack without actual music.
|
|
||||||
description.es_ES = Un conjunto de música vacío.
|
|
||||||
description.es_MX = Paquete de música vacío
|
|
||||||
description.et_EE = Muusikakogu ilma muusikata.
|
|
||||||
description.eu_ES = Musika gabeko musika paketea.
|
|
||||||
description.fi_FI = Musiikkipaketti, jossa ei ole musiikkia.
|
|
||||||
description.fr_FR = Un pack de musiques sans musiques.
|
|
||||||
description.ga_IE = Pacáiste ceoil gan aon cheol iarbhír ann.
|
|
||||||
description.gd_GB = Pacaid ciùil anns nach eil fonn sam bith.
|
|
||||||
description.gl_ES = Un conxunto de músicas sen ningunha música.
|
|
||||||
description.he_IL = אוסף מנגינות ללא מנגינות.
|
|
||||||
description.hr_HR = Glazbeni paket bez ikakve glazbe.
|
|
||||||
description.hu_HU = Zenei alapcsomag zene nélkül.
|
|
||||||
description.id_ID = Paket musik tanpa musik sungguhan.
|
|
||||||
description.is_IS = Tónlistarpakki sem er í raun án tónlistar.
|
|
||||||
description.it_IT = Un pacchetto musicale non contenente alcuna musica.
|
|
||||||
description.ja_JP = 空の音楽パック
|
|
||||||
description.ko_KR = 실제 음악이 없는 음악 팩입니다.
|
|
||||||
description.la_VA = Sarcina musicae sine ulla musica.
|
|
||||||
description.lb_LU = E Musikpack ouni aktuell Musik.
|
|
||||||
description.lt_LT = Muzikos pakas be muzikos.
|
|
||||||
description.lv_LV = Mūzikas kopa bez mūzikas
|
|
||||||
description.ms_MY = Pek muzik tanpa muzik sebenar.
|
|
||||||
description.nb_NO = En musikkpakke uten noe musikk.
|
|
||||||
description.nl_NL = Een muziekset zonder muziek.
|
|
||||||
description.nn_NO = Ei musikkpakke utan noko musikk.
|
|
||||||
description.pl_PL = Zestaw utworów muzycznych nie zawierający żadnej muzyki.
|
|
||||||
description.pt_BR = Um pacote de músicas sem músicas.
|
|
||||||
description.pt_PT = Um conjunto de música vazio.
|
|
||||||
description.ro_RO = Un set de muzică fără muzică inclusă.
|
|
||||||
description.ru_RU = "Пустой" набор музыкального оформления, не содержащий никакой музыки.
|
|
||||||
description.sk_SK = Sada hudby neobsahujúca hudbu.
|
|
||||||
description.sl_SI = Glasbeni paket z vključeno glasbo.
|
|
||||||
description.sr_RS = Prazan skup muzičkih numera.
|
|
||||||
description.sv_SE = Ett musikpaket utan någon musik.
|
|
||||||
description.ta_IN = இசை இல்லாத இசைத்தொகுப்பு.
|
|
||||||
description.th_TH = ชุดเพลงประกอบแบบไม่มีเสียงเพลง
|
|
||||||
description.tr_TR = Müzik içermeyen boş bir müzik paketi.
|
|
||||||
description.uk_UA = Порожній набір музики.
|
|
||||||
description.vi_VN = Gói âm nhạc này không có nhạc nào.
|
|
||||||
description.zh_CN = 一个没有实际内容的音乐包.
|
|
||||||
description.zh_TW = 不含任何音樂的音樂集。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
theme =
|
|
||||||
old_0 =
|
|
||||||
old_1 =
|
|
||||||
old_2 =
|
|
||||||
old_3 =
|
|
||||||
old_4 =
|
|
||||||
old_5 =
|
|
||||||
old_6 =
|
|
||||||
old_7 =
|
|
||||||
old_8 =
|
|
||||||
old_9 =
|
|
||||||
new_0 =
|
|
||||||
new_1 =
|
|
||||||
new_2 =
|
|
||||||
new_3 =
|
|
||||||
new_4 =
|
|
||||||
new_5 =
|
|
||||||
new_6 =
|
|
||||||
new_7 =
|
|
||||||
new_8 =
|
|
||||||
new_9 =
|
|
||||||
ezy_0 =
|
|
||||||
ezy_1 =
|
|
||||||
ezy_2 =
|
|
||||||
ezy_3 =
|
|
||||||
ezy_4 =
|
|
||||||
ezy_5 =
|
|
||||||
ezy_6 =
|
|
||||||
ezy_7 =
|
|
||||||
ezy_8 =
|
|
||||||
ezy_9 =
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
|
|
||||||
[names]
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = This file was part of your OpenTTD installation.
|
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents more or less nothingness
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = NoSound
|
|
||||||
shortname = NULL
|
|
||||||
version = 2
|
|
||||||
fallback = true
|
|
||||||
description = A sound pack without any sounds.
|
|
||||||
description.af_ZA = 'n Klank stel sonder enige klanke.
|
|
||||||
description.ar_EG = مجموعة صوت بدوت اصوات مضافة
|
|
||||||
description.be_BY = "Пусты" набор гукавога афармленьня, які не зьмяшчае ніякіх гукаў.
|
|
||||||
description.bg_BG = Празен звуков пакет.
|
|
||||||
description.ca_ES = Una llista de sons buida.
|
|
||||||
description.cs_CZ = Prázdná sada zvuků.
|
|
||||||
description.cy_GB = Pecyn sain heb unrhyw effeithiau sain ynddo.
|
|
||||||
description.da_DK = En lydpakke uden lyde.
|
|
||||||
description.de_DE = Basissounds ohne Sound.
|
|
||||||
description.el_GR = Ένα πάκετο ήχων χώρις ήχους.
|
|
||||||
description.en_AU = A sound pack without any sounds.
|
|
||||||
description.en_US = A sound pack without any sounds.
|
|
||||||
description.es_ES = Un conjunto de sonidos vacío.
|
|
||||||
description.es_MX = Paquete de sonidos vacío
|
|
||||||
description.et_EE = Helikogu ilma helideta.
|
|
||||||
description.eu_ES = Soinurik gabeko soinu pakete bat
|
|
||||||
description.fi_FI = Äänipaketti, jossa ei ole ääniä.
|
|
||||||
description.fr_FR = Un pack de sons sans sons.
|
|
||||||
description.ga_IE = Pacáiste fuaimeanna gan aon fhuaimeanna ann.
|
|
||||||
description.gd_GB = Pacaid fhuaimean anns nach eil fuaim sam bith.
|
|
||||||
description.gl_ES = Un conxunto de sons sen ningún son
|
|
||||||
description.he_IL = אוסף צלילים ללא צלילים.
|
|
||||||
description.hr_HR = Zvučni paket bez ikakvih zvukova.
|
|
||||||
description.hu_HU = Hang alapcsomag hangok nélkül.
|
|
||||||
description.id_ID = Paket efek suara tanpa suara apapun.
|
|
||||||
description.is_IS = Hljóðpakki án hljóðs.
|
|
||||||
description.it_IT = Un pacchetto sonoro non contenente alcun suono.
|
|
||||||
description.ja_JP = 空の効果音パック
|
|
||||||
description.ko_KR = 아무런 효과음도 없는 효과음 팩입니다.
|
|
||||||
description.la_VA = Sarcina sonorum sine ullis sonis.
|
|
||||||
description.lb_LU = E Soundpack ouni iergendee Sound.
|
|
||||||
description.lt_LT = Garsų pakas be jokių garsų.
|
|
||||||
description.lv_LV = Skaņu kopa bez skaņas.
|
|
||||||
description.ms_MY = Sebuah pek suara tanpa apa-apa suara
|
|
||||||
description.nb_NO = En lydpakke uten noen lyder.
|
|
||||||
description.nl_NL = Een geluidenset zonder geluid.
|
|
||||||
description.nn_NO = Ei lydpakke utan nokon lydar.
|
|
||||||
description.pl_PL = Zestaw dźwięków nie zawierający żadnych dźwięków.
|
|
||||||
description.pt_BR = Um pacote de sons sem sons.
|
|
||||||
description.pt_PT = Um conjunto de sons vazio.
|
|
||||||
description.ro_RO = Un set de sunete fără nici un sunet inclus.
|
|
||||||
description.ru_RU = "Пустой" набор звукового оформления, не содержащий никаких звуков.
|
|
||||||
description.sk_SK = Zvuková sada neobsahujúca zvuky.
|
|
||||||
description.sl_SI = Zvočni paket brez zvoka.
|
|
||||||
description.sr_RS = Prazan skup zvukova.
|
|
||||||
description.sv_SE = Ett ljudpaket utan några ljud.
|
|
||||||
description.ta_IN = ஒலிகள் இல்லாத ஒலி தொகுப்பு.
|
|
||||||
description.th_TH = ชุดเสียงแบบไร้เสียง
|
|
||||||
description.tr_TR = Ses içermeyen boş bir ses kümesi.
|
|
||||||
description.uk_UA = Порожній набір звуків.
|
|
||||||
description.vi_VN = Gói âm thanh này không có âm thanh nào.
|
|
||||||
description.zh_CN = 一个空的音效包.
|
|
||||||
description.zh_TW = 不含任何音效的音效集。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
samples =
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = This file was part of your OpenTTD installation.
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.1 KiB |
Binary file not shown.
Binary file not shown.
@@ -1,84 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents the original graphics as on the non-German Transport
|
|
||||||
; Tycoon Deluxe DOS CD.
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = original_dos
|
|
||||||
shortname = TTDD
|
|
||||||
version = 1
|
|
||||||
palette = DOS
|
|
||||||
description = Original Transport Tycoon Deluxe DOS edition graphics.
|
|
||||||
description.af_ZA = Oorspronklike Transport Tycoon Deluxe DOS uitgawe grafieke.
|
|
||||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الرسومية نسخة الدوس
|
|
||||||
description.be_BY = Арыґінальная ґрафіка з Transport Tycoon Deluxe для DOS.
|
|
||||||
description.bg_BG = Оригинални графики на Transport Tycoon Deluxe за DOS.
|
|
||||||
description.ca_ES = Gràfics originals del Transport Tycoon Deluxe pel DOS.
|
|
||||||
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (verze pro DOS).
|
|
||||||
description.cy_GB = Graffeg gwreiddiol fersiwn DOS o Transport Tycoon Deluxe.
|
|
||||||
description.da_DK = Originalgrafik fra Transport Tycoon Deluxe DOS-version.
|
|
||||||
description.de_DE = Original Transport Tycoon Deluxe DOS Basisgrafiken.
|
|
||||||
description.el_GR = Αρχικά γραφικά από το Transport Tycoon Deluxe έκδοση DOS.
|
|
||||||
description.en_AU = Original Transport Tycoon Deluxe DOS edition graphics.
|
|
||||||
description.en_US = Original Transport Tycoon Deluxe DOS edition graphics.
|
|
||||||
description.es_ES = Gráficos originales de Transport Tycoon Deluxe, versión DOS.
|
|
||||||
description.es_MX = Gráficos originales de Transport Tycoon Deluxe para DOS.
|
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni graafika.
|
|
||||||
description.eu_ES = Transport Tycoon Deluxe originaleko DOS edizioko grafikoak.
|
|
||||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen DOS-version grafiikat.
|
|
||||||
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS).
|
|
||||||
description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán DOS.
|
|
||||||
description.gd_GB = Grafaigeachd aig an deasachadh DOS tùsail aig Transport Tycoon Deluxe.
|
|
||||||
description.gl_ES = Graficos da edición orixinal de Transport Tycoon Deluxe para DOS.
|
|
||||||
description.he_IL = גרפיקות Transport Tycoon Deluxe המקורי בגרסת DOS.
|
|
||||||
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe DOS izdanje.
|
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS verziójának grafikája.
|
|
||||||
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi DOS.
|
|
||||||
description.is_IS = Upprunalega grafíkin úr Transport Tycoon Deluxe DOS útgáfunni.
|
|
||||||
description.it_IT = Grafica originale di Transport Tycoon Deluxe, edizione DOS.
|
|
||||||
description.ja_JP = Transport Tycoon Deluxe オリジナル版 グラフィック (DOS)
|
|
||||||
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 도스 에디션의 그래픽입니다.
|
|
||||||
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe DOS.
|
|
||||||
description.lb_LU = Original Transport Tycoon Deluxe DOS Editioun Grafik.
|
|
||||||
description.lt_LT = Originali Transport Tycoon Deluxe DOS leidimo grafika.
|
|
||||||
description.lv_LV = Oriģinālā Transport Tycoon Deluxe DOS izdevuma grafika.
|
|
||||||
description.ms_MY = Grafik asal Transport Tycoon Deluxe DOS edition.
|
|
||||||
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for DOS.
|
|
||||||
description.nl_NL = Originele grafische elementen van Transport Tycoon Deluxe voor DOS.
|
|
||||||
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for DOS.
|
|
||||||
description.pl_PL = Oryginalna edycja grafik dla Transport Tycoon Deluxe DOS.
|
|
||||||
description.pt_BR = Gráficos Originais do Transport Tycoon Deluxe, Edição DOS.
|
|
||||||
description.pt_PT = Gráficos originais da edição DOS de Transport Tycoon Deluxe.
|
|
||||||
description.ro_RO = Setul grafic original al Transport Tycoon Deluxe pentru DOS.
|
|
||||||
description.ru_RU = Графика из Transport Tycoon Deluxe для DOS.
|
|
||||||
description.sk_SK = Pôvodná grafika Transport Tycoon Deluxe (DOS).
|
|
||||||
description.sl_SI = Originalna grafika Transport Tycoon Deluxe za različico DOS.
|
|
||||||
description.sr_RS = Originalni skup grafika Transport Tycoon Deluxe DOS izdanja.
|
|
||||||
description.sv_SE = Originalgrafiken från DOS-utgåvan av Transport Tycoon Deluxe.
|
|
||||||
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் DOS பதிப்பு அசைவூட்டங்கள்.
|
|
||||||
description.th_TH = กราฟฟิกต้นตำหรับของ Transport Tycoon Deluxe DOS edition
|
|
||||||
description.tr_TR = Özgün Transport Tycoon Deluxe DOS sürümü grafikleri.
|
|
||||||
description.uk_UA = Оригінальна графіка з Transport Tycoon Deluxe DOS edition.
|
|
||||||
description.vi_VN = Đồ họa gốc từ phiên bản Transport Tycoon Deluxe trên DOS
|
|
||||||
description.zh_CN = 运输大亨DOS豪华版原版图形包.
|
|
||||||
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版的圖形。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
base = TRG1.GRF
|
|
||||||
logos = TRGI.GRF
|
|
||||||
arctic = TRGC.GRF
|
|
||||||
tropical = TRGH.GRF
|
|
||||||
toyland = TRGT.GRF
|
|
||||||
extra = ORIG_EXTRA.GRF
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
TRG1.GRF = 9311676280e5b14077a8ee41c1b42192
|
|
||||||
TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
|
||||||
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
|
||||||
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
|
||||||
TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6
|
|
||||||
ORIG_EXTRA.GRF = 67bcfac5911667309d86b7749ea8d08c
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
|
||||||
ORIG_EXTRA.GRF = This file was part of your OpenTTD installation.
|
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents the original music as on the Transport
|
|
||||||
; Tycoon Deluxe for DOS CD.
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = original_dos
|
|
||||||
shortname = TTDD
|
|
||||||
version = 1
|
|
||||||
description = Original Transport Tycoon Deluxe DOS edition music.
|
|
||||||
description.be_BY = Набор музычнага афармленьня з гульні Transport Tycoon Deluxe для DOS.
|
|
||||||
description.ca_ES = Música original del Transport Tycoon Deluxe pel DOS.
|
|
||||||
description.cs_CZ = Původní hudba Transport Tycoon Deluxe (verze pro DOS).
|
|
||||||
description.cy_GB = Cerddoriaeth gwreiddiol fersiwn DOS o Transport Tycoon Deluxe.
|
|
||||||
description.da_DK = Originalmusik fra Transport Tycoon Deluxe DOS-version.
|
|
||||||
description.de_DE = Original Transport Tycoon Deluxe DOS edition music.
|
|
||||||
description.el_GR = Αρχική μουσική από το Transport Tycoon Deluxe έκδοση DOS.
|
|
||||||
description.en_US = Original Transport Tycoon Deluxe DOS edition music.
|
|
||||||
description.es_ES = Música original de Transport Tycoon Deluxe, versión DOS.
|
|
||||||
description.es_MX = Música original de Transport Tycoon Deluxe para DOS.
|
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni muusika.
|
|
||||||
description.fi_FI = Alkuperäinen Transport Tycoon Deluxen DOS-version musiikki.
|
|
||||||
description.fr_FR = Musiques originales de Transport Tycoon Deluxe (version DOS).
|
|
||||||
description.gd_GB = Ceòl aig an deasachadh DOS tùsail aig Transport Tycoon Deluxe.
|
|
||||||
description.he_IL = מנגינות Transport Tycoon Deluxe המקורי בגרסת DOS.
|
|
||||||
description.hr_HR = Originalna glazba za Transport Tycoon Deluxe DOS izdanje.
|
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS verziójának zenéje.
|
|
||||||
description.id_ID = Musik orisinil Transport Tycoon Deluxe versi DOS.
|
|
||||||
description.it_IT = Musica originale di Transport Tycoon Deluxe, edizione DOS.
|
|
||||||
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 DOS 에디션의 음악입니다.
|
|
||||||
description.la_VA = Musica ex editione originale Transport Tycoon Deluxe DOS.
|
|
||||||
description.lb_LU = Original Transport Tycoon Deluxe DOS Editioun Musik.
|
|
||||||
description.ms_MY = Muzik asal Transport Tycoon Deluxe edisi DOS
|
|
||||||
description.nb_NO = Original Transport Tycoon Deluxe DOS edition music.
|
|
||||||
description.nl_NL = Originele muziek van Transport Tycoon Deluxe voor DOS.
|
|
||||||
description.pl_PL = Oryginalna edycja utworów muzycznych dla Transport Tycoon Deluxe DOS.
|
|
||||||
description.pt_BR = Música Original do Transport Tycoon Deluxe DOS.
|
|
||||||
description.pt_PT = Música original da edição DOS do Transport Tycoon Deluxe.
|
|
||||||
description.ro_RO = Setul de muzică original al Transport Tycoon Deluxe pentru DOS.
|
|
||||||
description.ru_RU = Набор музыкального оформления из игры Transport Tycoon Deluxe для DOS.
|
|
||||||
description.sl_SI = Originalna glasba Transport Tycoon Deluxe DOS različice
|
|
||||||
description.sr_RS = Originalna muzika za TTD za DOS izdanje.
|
|
||||||
description.sv_SE = Originalmusiken från DOS-utgåvan av Transport Tycoon Deluxe.
|
|
||||||
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் DOS பதிப்பு இசை.
|
|
||||||
description.tr_TR = Özgün Transport Tycoon Deluxe DOS sürüm müziği.
|
|
||||||
description.uk_UA = Оригінальна музика Transport Tycoon Deluxe(DOS)
|
|
||||||
description.vi_VN = Nhạc của nguyên bản Transport Tycoon Deluxe cho DOS.
|
|
||||||
description.zh_CN = 运输大亨DOS豪华版原版音乐。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
theme = gm.cat
|
|
||||||
old_0 = gm.cat
|
|
||||||
old_1 = gm.cat
|
|
||||||
old_2 = gm.cat
|
|
||||||
old_3 = gm.cat
|
|
||||||
old_4 = gm.cat
|
|
||||||
old_5 = gm.cat
|
|
||||||
old_6 = gm.cat
|
|
||||||
old_7 = gm.cat
|
|
||||||
old_8 =
|
|
||||||
old_9 =
|
|
||||||
new_0 = gm.cat
|
|
||||||
new_1 = gm.cat
|
|
||||||
new_2 = gm.cat
|
|
||||||
new_3 = gm.cat
|
|
||||||
new_4 = gm.cat
|
|
||||||
new_5 = gm.cat
|
|
||||||
new_6 = gm.cat
|
|
||||||
new_7 =
|
|
||||||
new_8 =
|
|
||||||
new_9 =
|
|
||||||
ezy_0 = gm.cat
|
|
||||||
ezy_1 = gm.cat
|
|
||||||
ezy_2 = gm.cat
|
|
||||||
ezy_3 = gm.cat
|
|
||||||
ezy_4 = gm.cat
|
|
||||||
ezy_5 = gm.cat
|
|
||||||
ezy_6 =
|
|
||||||
ezy_7 =
|
|
||||||
ezy_8 =
|
|
||||||
ezy_9 =
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
gm.cat = 7a29d2d0c4f7d2e03091ffa9b2bdfffb
|
|
||||||
|
|
||||||
[catindex]
|
|
||||||
theme = 0
|
|
||||||
old_0 = 1
|
|
||||||
old_1 = 8
|
|
||||||
old_2 = 2
|
|
||||||
old_3 = 9
|
|
||||||
old_4 = 14
|
|
||||||
old_5 = 15
|
|
||||||
old_6 = 19
|
|
||||||
old_7 = 13
|
|
||||||
new_0 = 6
|
|
||||||
new_1 = 11
|
|
||||||
new_2 = 10
|
|
||||||
new_3 = 17
|
|
||||||
new_4 = 21
|
|
||||||
new_5 = 18
|
|
||||||
new_6 = 5
|
|
||||||
ezy_0 = 12
|
|
||||||
ezy_1 = 7
|
|
||||||
ezy_2 = 16
|
|
||||||
ezy_3 = 3
|
|
||||||
ezy_4 = 20
|
|
||||||
ezy_5 = 4
|
|
||||||
|
|
||||||
[names]
|
|
||||||
; Names get read from the CAT file
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents the original sounds as on the Transport
|
|
||||||
; Tycoon Deluxe DOS CD.
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = original_dos
|
|
||||||
shortname = TTDO
|
|
||||||
version = 0
|
|
||||||
description = Original Transport Tycoon Deluxe DOS edition sounds.
|
|
||||||
description.af_ZA = Oorspronklike Transport Tycoon Deluxe DOS uitgawe klanke.
|
|
||||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الصوتية نسخة الدوس
|
|
||||||
description.be_BY = Арыґінальны набор гукавога афармленьня з гульні Transport Tycoon Deluxe для DOS.
|
|
||||||
description.bg_BG = Оригинални звуци на Transport Tycoon Deluxe за DOS.
|
|
||||||
description.ca_ES = Sons originals del Transport Tycoon Deluxe pel DOS.
|
|
||||||
description.cs_CZ = Původní sada zvuků Transport Tycoon Deluxe (verze pro DOS).
|
|
||||||
description.cy_GB = Effeithiau sain gwreiddiol fersiwn DOS o Transport Tycoon Deluxe.
|
|
||||||
description.da_DK = Originallyd fra Transport Tycoon Deluxe DOS-version.
|
|
||||||
description.de_DE = Original Transport Tycoon Deluxe DOS Basissounds.
|
|
||||||
description.el_GR = Αρχικοί ήχοι από το Transport Tycoon Deluxe έκδοση DOS.
|
|
||||||
description.en_AU = Original Transport Tycoon Deluxe DOS edition sounds.
|
|
||||||
description.en_US = Original Transport Tycoon Deluxe DOS edition sounds.
|
|
||||||
description.es_ES = Sonidos originales de Transport Tycoon Deluxe, versión DOS.
|
|
||||||
description.es_MX = Sonidos originales de Transport Tycoon Deluxe para DOS.
|
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni helid.
|
|
||||||
description.eu_ES = Transport Tycoon Deluxe originaleko DOS edizioko soinuak.
|
|
||||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen DOS-version äänet.
|
|
||||||
description.fr_FR = Sons originaux de Transport Tycoon Deluxe (version DOS).
|
|
||||||
description.ga_IE = Fuaimeanna bunaidh Transport Tycoon Deluxe, eagrán DOS.
|
|
||||||
description.gd_GB = Fuaimean aig an deasachadh DOS tùsail aig Transport Tycoon Deluxe.
|
|
||||||
description.gl_ES = Sons da edición orixinal de Transport Tycoon Deluxe para DOS.
|
|
||||||
description.he_IL = צלילי Transport Tycoon Deluxe המקורי בגרסת DOS.
|
|
||||||
description.hr_HR = Originalni zvukovi za Transport Tycoon Deluxe DOS izdanje.
|
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS verziójának hangjai.
|
|
||||||
description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi DOS.
|
|
||||||
description.is_IS = Upprunalega hljóðið úr Transport Tycoon Deluxe DOS útgáfunni.
|
|
||||||
description.it_IT = Suoni originali di Transport Tycoon Deluxe, edizione DOS.
|
|
||||||
description.ja_JP = Transport Tycoon Deluxe オリジナル版 効果音 (DOS)
|
|
||||||
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 도스 에디션의 효과음입니다.
|
|
||||||
description.la_VA = Soni ex editione originale Transport Tycoon Deluxe DOS.
|
|
||||||
description.lb_LU = Original Transport Tycoon Deluxe DOS Editioun Sound.
|
|
||||||
description.lt_LT = Originalūs Transport Tycoon Deluxe DOS leidimo garsai.
|
|
||||||
description.nb_NO = Originale lyder fra Transport Tycoon Deluxe for DOS.
|
|
||||||
description.nl_NL = Originele geluiden van Transport Tycoon Deluxe voor DOS.
|
|
||||||
description.nn_NO = Originale lydar frå Transport Tycoon Deluxe for DOS.
|
|
||||||
description.pl_PL = Oryginalna edycja dźwięków dla Transport Tycoon Deluxe DOS.
|
|
||||||
description.pt_BR = Sons Originais do Transport Tycoon Deluxe, Edição DOS.
|
|
||||||
description.pt_PT = Sons originais da edição DOS de Transport Tycoon Deluxe.
|
|
||||||
description.ro_RO = Setul de sunete original al Transport Tycoon Deluxe pentru DOS.
|
|
||||||
description.ru_RU = Набор звукового оформления из игры Transport Tycoon Deluxe для DOS.
|
|
||||||
description.sk_SK = Pôvodné zvuky Transport Tycoon Deluxe (DOS).
|
|
||||||
description.sl_SI = Originalni zvoki Transport Tycoon Deluxe različice DOS.
|
|
||||||
description.sr_RS = Originalni skup zvukova Transport Tycoon Deluxe DOS izdanja.
|
|
||||||
description.sv_SE = Originalljuden från DOS-utgåvan av Transport Tycoon Deluxe.
|
|
||||||
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் DOS பதிப்பு ஒலிகள்.
|
|
||||||
description.th_TH = เสียงต้นตำหรับของ Transport Tycoon Deluxe DOS edition
|
|
||||||
description.tr_TR = Özgün Transport Tycoon Deluxe DOS sürümü sesleri.
|
|
||||||
description.uk_UA = Оригінальний набір звуків з Transport Tycoon Deluxe DOS edition.
|
|
||||||
description.vi_VN = Âm thanh gốc từ phiên bản Transport Tycoon Deluxe trên DOS
|
|
||||||
description.zh_CN = 运输大亨DOS豪华版原版音效包.
|
|
||||||
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版的音效。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
samples = SAMPLE.CAT
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
SAMPLE.CAT = 422ea3dd074d2859bb51639a6e0e85da
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
|
||||||
@@ -1,83 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents the original graphics as on the German Transport
|
|
||||||
; Tycoon Deluxe DOS CD. It contains one broken sprite.
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = original_dos_de
|
|
||||||
shortname = TTDD
|
|
||||||
version = 0
|
|
||||||
palette = DOS
|
|
||||||
description = Original Transport Tycoon Deluxe DOS (German) edition graphics.
|
|
||||||
description.af_ZA = Oorspronklike Transport Tycoon Deluxe DOS (German) uitgawe grafieke.
|
|
||||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الالمانية نسخة الدوس
|
|
||||||
description.be_BY = Арыґінальная ґрафіка зь нямецкай версіі Transport Tycoon Deluxe для DOS.
|
|
||||||
description.bg_BG = Оригинални графики на Transport Tycoon Deluxe за DOS (немски) .
|
|
||||||
description.ca_ES = Gràfics originals del Transport Tycoon Deluxe (alemany) pel DOS.
|
|
||||||
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (německá verze pro DOS).
|
|
||||||
description.cy_GB = Graffeg gwreiddiol fersiwn DOS (Almaenig) o Transport Tycoon Deluxe.
|
|
||||||
description.da_DK = Originalgrafik fra Transport Tycoon Deluxe DOS (Tysk) version.
|
|
||||||
description.de_DE = Original Transport Tycoon Deluxe DOS (Deutsch) Basisgrafiken.
|
|
||||||
description.el_GR = Αρχικά γραφικά από το Transport Tycoon Deluxe έκδοση DOS (Γερμανικό).
|
|
||||||
description.en_AU = Original Transport Tycoon Deluxe DOS (German) edition graphics.
|
|
||||||
description.en_US = Original Transport Tycoon Deluxe DOS (German) edition graphics.
|
|
||||||
description.es_ES = Gráficos originales de Transport Tycoon Deluxe, versión DOS (Alemán).
|
|
||||||
description.es_MX = Gráficos originales de Transport Tycoon Deluxe para DOS (en alemán).
|
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe DOSi (Saksa) versiooni graafika.
|
|
||||||
description.fi_FI = Alkuperäiset Saksassa julkaistun Transport Tycoon Deluxen DOS-version grafiikat.
|
|
||||||
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS allemande).
|
|
||||||
description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán DOS (Gearmánach).
|
|
||||||
description.gd_GB = Grafaigeachd aig an deasachadh DOS (Gearmailteach) tùsail aig Transport Tycoon Deluxe.
|
|
||||||
description.gl_ES = Graficos da edición orixinal (alemá) de Transport Tycoon Deluxe para DOS.
|
|
||||||
description.he_IL = גרפיקות Transport Tycoon Deluxe המקורי בגרסת DOS (גרמנית).
|
|
||||||
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe DOS (Njemački) izdanje.
|
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS (német) verziójának grafikája.
|
|
||||||
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi DOS (Jerman).
|
|
||||||
description.is_IS = Upprunalega grafíkin úr Transport Tycoon Deluxe DOS (þýsku) útgáfunni.
|
|
||||||
description.it_IT = Grafica originale di Transport Tycoon Deluxe (tedesco), edizione DOS.
|
|
||||||
description.ja_JP = Transport Tycoon Deluxe オリジナル版 グラフィック (DOS・ドイツ版)
|
|
||||||
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 도스 에디션(독일)의 그래픽입니다.
|
|
||||||
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe DOS (Germanica).
|
|
||||||
description.lb_LU = Original Transport Tycoon Deluxe DOS (Däitsch) Editioun Grafik.
|
|
||||||
description.lt_LT = Originali Transport Tycoon Deluxe DOS (Vokiečių) leidimo grafika.
|
|
||||||
description.lv_LV = Oriģinālā Transport Tycoon Deluxe DOS (vācu) izdevuma grafika.
|
|
||||||
description.ms_MY = Grafik asal Transport Tycoon DOS (German) edition
|
|
||||||
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for DOS (tysk).
|
|
||||||
description.nl_NL = Originele grafische elementen van Transport Tycoon Deluxe voor DOS, Duitse versie.
|
|
||||||
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for DOS (tysk).
|
|
||||||
description.pl_PL = Oryginalna edycja grafik dla Transport Tycoon Deluxe DOS (German).
|
|
||||||
description.pt_BR = Gráficos Originais do Transport Tycoon Deluxe, Edição DOS alemã.
|
|
||||||
description.pt_PT = Gráficos originais da edição DOS (Alemã) de Transport Tycoon Deluxe.
|
|
||||||
description.ro_RO = Setul grafic original al Transport Tycoon Deluxe pentru DOS (ediţia germană).
|
|
||||||
description.ru_RU = Графика из немецкой версии Transport Tycoon Deluxe для DOS.
|
|
||||||
description.sk_SK = Pôvodná grafika Transport Tycoon Deluxe (DOS) (v jazyku nemčina).
|
|
||||||
description.sl_SI = Originalna grafika Transport Tycoon Deluxe za nemško različico DOS.
|
|
||||||
description.sr_RS = Originalni skup grafika nemačkog Transport Tycoon Deluxe DOS izdanja.
|
|
||||||
description.sv_SE = Originalgrafiken från den tyska DOS-utgåvan av Transport Tycoon Deluxe.
|
|
||||||
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் DOS (செருமன்) பதிப்பு அசைவூட்டங்கள்.
|
|
||||||
description.th_TH = กราฟฟิกต้นตำหรับของ Transport Tycoon Deluxe DOS (German) edition
|
|
||||||
description.tr_TR = Özgün Transport Tycoon Deluxe DOS (Almanca) sürümü grafikleri.
|
|
||||||
description.uk_UA = Оригінальна графіка з Transport Tycoon Deluxe DOS edition (німецького).
|
|
||||||
description.vi_VN = Đồ họa gốc từ phiên bản Transport Tycoon Deluxe trên DOS (tiếng Đức)
|
|
||||||
description.zh_CN = 运输大亨DOS豪华德语版原版图形包.
|
|
||||||
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版 (德國版) 的圖形。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
base = TRG1.GRF
|
|
||||||
logos = TRGI.GRF
|
|
||||||
arctic = TRGC.GRF
|
|
||||||
tropical = TRGH.GRF
|
|
||||||
toyland = TRGT.GRF
|
|
||||||
extra = ORIG_EXTRA.GRF
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
TRG1.GRF = 9311676280e5b14077a8ee41c1b42192
|
|
||||||
TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
|
||||||
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
|
||||||
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
|
||||||
TRGT.GRF = fcde1d7e8a74197d72a62695884b909e
|
|
||||||
ORIG_EXTRA.GRF = 67bcfac5911667309d86b7749ea8d08c
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
|
||||||
ORIG_EXTRA.GRF = This file was part of your OpenTTD installation.
|
|
||||||
Binary file not shown.
@@ -1,105 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents the original music as on the Transport
|
|
||||||
; Tycoon (with World Editor) for DOS CD.
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = original_tto
|
|
||||||
shortname = TTOD
|
|
||||||
version = 1
|
|
||||||
description = Original Transport Tycoon (Original/World Editor) DOS edition music.
|
|
||||||
description.be_BY = Набор музычнага афармлення з гульні Transport Tycoon (Original/World Editor) для DOS.
|
|
||||||
description.bg_BG = Оригинална Transport Tycoon (Original/World Editor) музика за DOS.
|
|
||||||
description.ca_ES = Música original del Transport Tycoon Deluxe (original/editor d'escenaris) pel DOS.
|
|
||||||
description.cs_CZ = Původní hudba Transport Tycoon (verze pro DOS).
|
|
||||||
description.cy_GB = Cerddoriaeth gwreiddiol fersion DOS o Transport Tycoon Deluxe (Gwreiddiol/Golygydd Byd).
|
|
||||||
description.da_DK = Originalmusik fra Transport Tycoon (Original/World Editor) DOS-version.
|
|
||||||
description.de_DE = Original Transport Tycoon (Original/World Editor) DOS edition music.
|
|
||||||
description.el_GR = Αρχική μουσική από το Transport Tycoon (Αρχικός Επεξεργαστής Κόσμου) έκδοση DOS.
|
|
||||||
description.en_US = Original Transport Tycoon (Original/World Editor) DOS edition music.
|
|
||||||
description.es_ES = Música original de Transport Tycoon (Original/Editor de Mundos), versión DOS.
|
|
||||||
description.es_MX = Música original de Transport Tycoon versión World Editor para DOS.
|
|
||||||
description.fi_FI = Alkuperäinen Transport Tycoonin (alkuperäinen / World Editor) DOS-version musiikki.
|
|
||||||
description.fr_FR = Musiques originales de Transport Tycoon (version Originale/World Editor).
|
|
||||||
description.gd_GB = Ceòl aig an deasachadh DOS tùsail aig Transport Tycoon Deluxe (Original/World Editor).
|
|
||||||
description.he_IL = מנגינות Transport Tycoon Deluxe (Original/World Editor) המקורי בגרסת DOS.
|
|
||||||
description.hr_HR = Originalna glazba za Transport Tycoon (original/editor svijeta) DOS izdanje.
|
|
||||||
description.hu_HU = Az eredeti Transport Tycoon (az első változat és a World Editor) DOS verziójának zenéje.
|
|
||||||
description.id_ID = Musik orisinil Transport Tycoon (Orisinil/Editor Dunia) versi DOS.
|
|
||||||
description.it_IT = Musica originale di Transport Tycoon (edizione Original/World).
|
|
||||||
description.ko_KR = 오리지널 트랜스포트 타이쿤 (오리지널/월드 에디터) DOS 에디션의 음악입니다.
|
|
||||||
description.la_VA = Musica ex editione originale Transport Tycoon (Originale/World Editor) DOS.
|
|
||||||
description.lb_LU = Original Transport Tycoon (Original/World Editor) DOS Editioun-Musik.
|
|
||||||
description.nb_NO = Original Transport Tycoon (Original/World Editor) DOS edition music.
|
|
||||||
description.nl_NL = Originele muziek van Transport Tycoon (Original/World Editor) voor DOS.
|
|
||||||
description.pl_PL = Oryginalna edycja utworów muzycznych dla Transport Tycoon DOS.
|
|
||||||
description.pt_BR = Música Original do Transport Tycoon DOS
|
|
||||||
description.pt_PT = Música original da edição DOS do Transport Tycoon (Original/Editor de Mundo)
|
|
||||||
description.ru_RU = Набор музыкального оформления из игры Transport Tycoon Deluxe для DOS.
|
|
||||||
description.sr_RS = Originalna muzika TTD (Original / World Editor) DOS izdanja.
|
|
||||||
description.sv_SE = Originalmusiken från DOS-utgåvan av Transport Tycoon (Original/World Editor).
|
|
||||||
description.tr_TR = Özgün Transport Tycoon Deluxe (Original/World Editor) DOS sürümü müzikleri.
|
|
||||||
description.uk_UA = Оригінальна музика Transport Tycoon Deluxe(DOS)
|
|
||||||
description.vi_VN = Nhạc của nguyên bản Transport Tycoon (Original/World Editor) cho DOS.
|
|
||||||
description.zh_CN = 原版运输大亨(DOS版及地图编辑器扩展)音乐。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
theme = gm-tto.cat
|
|
||||||
old_0 = gm-tto.cat
|
|
||||||
old_1 = gm-tto.cat
|
|
||||||
old_2 = gm-tto.cat
|
|
||||||
old_3 = gm-tto.cat
|
|
||||||
old_4 = gm-tto.cat
|
|
||||||
old_5 = gm-tto.cat
|
|
||||||
old_6 = gm-tto.cat
|
|
||||||
old_7 = gm-tto.cat
|
|
||||||
old_8 =
|
|
||||||
old_9 =
|
|
||||||
new_0 = gm-tto.cat
|
|
||||||
new_1 = gm-tto.cat
|
|
||||||
new_2 = gm-tto.cat
|
|
||||||
new_3 = gm-tto.cat
|
|
||||||
new_4 = gm-tto.cat
|
|
||||||
new_5 = gm-tto.cat
|
|
||||||
new_6 = gm-tto.cat
|
|
||||||
new_7 = gm-tto.cat
|
|
||||||
new_8 =
|
|
||||||
new_9 =
|
|
||||||
ezy_0 =
|
|
||||||
ezy_1 =
|
|
||||||
ezy_2 =
|
|
||||||
ezy_3 =
|
|
||||||
ezy_4 =
|
|
||||||
ezy_5 =
|
|
||||||
ezy_6 =
|
|
||||||
ezy_7 =
|
|
||||||
ezy_8 =
|
|
||||||
ezy_9 =
|
|
||||||
|
|
||||||
[catindex]
|
|
||||||
theme = 0
|
|
||||||
old_0 = 1
|
|
||||||
old_1 = 6
|
|
||||||
old_2 = 2
|
|
||||||
old_3 = 7
|
|
||||||
old_4 = 11
|
|
||||||
old_5 = 12
|
|
||||||
old_6 = 15
|
|
||||||
old_7 = 10
|
|
||||||
new_0 = 4
|
|
||||||
new_1 = 5
|
|
||||||
new_2 = 9
|
|
||||||
new_3 = 8
|
|
||||||
new_4 = 13
|
|
||||||
new_5 = 16
|
|
||||||
new_6 = 14
|
|
||||||
new_7 = 3
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
gm-tto.cat = 26e85ff84b0063aa5da05dd4698fc76e
|
|
||||||
|
|
||||||
[names]
|
|
||||||
; Names get read from the CAT file
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = You can find it on your Transport Tycoon CD-ROM.
|
|
||||||
@@ -1,83 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents the original graphics as on the Transport
|
|
||||||
; Tycoon Deluxe for Windows CD.
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = original_windows
|
|
||||||
shortname = TTDW
|
|
||||||
version = 0
|
|
||||||
palette = Windows
|
|
||||||
description = Original Transport Tycoon Deluxe Windows edition graphics.
|
|
||||||
description.af_ZA = Oorspronklike Transport Tycoon Deluxe Windows uitgawe grafieke.
|
|
||||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الرسومية نسخة وندوز
|
|
||||||
description.be_BY = Арыґінальная ґрафіка з Transport Tycoon Deluxe для Windows.
|
|
||||||
description.bg_BG = Оригинални графики на Transport Tycoon Deluxe за Windows.
|
|
||||||
description.ca_ES = Gràfics originals del Transport Tycoon Deluxe pel Windows.
|
|
||||||
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (verze pro Windows).
|
|
||||||
description.cy_GB = Graffeg gwreiddiol fersiwn Windows o Transport Tycoon Deluxe.
|
|
||||||
description.da_DK = Originalgrafik fra Transport Tycoon Deluxe Windows-version.
|
|
||||||
description.de_DE = Original Transport Tycoon Deluxe Windows Basisgrafiken.
|
|
||||||
description.el_GR = Αρχικά γραφικά από το Transport Tycoon Deluxe έκδοση Windows.
|
|
||||||
description.en_AU = Original Transport Tycoon Deluxe Windows edition graphics.
|
|
||||||
description.en_US = Original Transport Tycoon Deluxe Windows edition graphics.
|
|
||||||
description.es_ES = Gráficos originales de Transport Tycoon Deluxe, versión Windows.
|
|
||||||
description.es_MX = Gráficos originales de Transport Tycoon Deluxe para Windows.
|
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni graafika.
|
|
||||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen Windows-version grafiikat.
|
|
||||||
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version Windows).
|
|
||||||
description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán Windows.
|
|
||||||
description.gd_GB = Grafaigeachd aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
|
|
||||||
description.gl_ES = Graficos da edición orixinal de Transport Tycoon Deluxe para Windows.
|
|
||||||
description.he_IL = גרפיקות Transport Tycoon Deluxe המקורי בגרסת Windows.
|
|
||||||
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe Windows izdanje.
|
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának grafikája.
|
|
||||||
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi Windows.
|
|
||||||
description.is_IS = Upprunalega grafíkin úr Transport Tycoon Deluxe Windows útgáfunni.
|
|
||||||
description.it_IT = Grafica originale di Transport Tycoon Deluxe, edizione Windows.
|
|
||||||
description.ja_JP = Transport Tycoon Deluxe オリジナル版 グラフィック (Windows)
|
|
||||||
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 Windows 에디션의 그래픽입니다.
|
|
||||||
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe Windows.
|
|
||||||
description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Grafik.
|
|
||||||
description.lt_LT = Originali Transport Tycoon Deluxe Windows leidimo grafika.
|
|
||||||
description.lv_LV = Oriģinālā Transport Tycoon Deluxe Windows izdevuma grafika.
|
|
||||||
description.ms_MY = Grafik asal Transport Tycoon Deluxe edisi Windows.
|
|
||||||
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for Windows.
|
|
||||||
description.nl_NL = Originele grafische elementen van Transport Tycoon Deluxe voor Windows.
|
|
||||||
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for Windows.
|
|
||||||
description.pl_PL = Oryginalna edycja grafik dla Transport Tycoon Deluxe Windows.
|
|
||||||
description.pt_BR = Gráficos Originais do Transport Tycoon, Edição Windows.
|
|
||||||
description.pt_PT = Gráficos originais da edição Windows de Transport Tycoon Deluxe.
|
|
||||||
description.ro_RO = Setul grafic original al Transport Tycoon Deluxe pentru Windows.
|
|
||||||
description.ru_RU = Графика из Transport Tycoon Deluxe для Windows.
|
|
||||||
description.sk_SK = Pôvodná grafika Transport Tycoon Deluxe (Windows).
|
|
||||||
description.sl_SI = Originalna grafika Transport Tycoon Deluxe za različico oken(windows).
|
|
||||||
description.sr_RS = Originalni skup grafika Transport Tycoon Deluxe Windows izdanja.
|
|
||||||
description.sv_SE = Originalgrafiken från Windows-utgåvan av Transport Tycoon Deluxe.
|
|
||||||
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் விண்டோஸ் பதிப்பு அசைவூட்டங்கள்.
|
|
||||||
description.th_TH = กราฟฟิกต้ำตำหรับของ Transport Tycoon Deluxe Windows edition
|
|
||||||
description.tr_TR = Özgün Transport Tycoon Deluxe Windows sürümü grafikleri.
|
|
||||||
description.uk_UA = Оригінальна графіка з Transport Tycoon Deluxe Windows edition.
|
|
||||||
description.vi_VN = Đồ họa gốc từ phiên bản Transport Tycoon Deluxe trên Windows
|
|
||||||
description.zh_CN = 运输大亨Windows豪华版原版图形包.
|
|
||||||
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的圖形。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
base = TRG1R.GRF
|
|
||||||
logos = TRGIR.GRF
|
|
||||||
arctic = TRGCR.GRF
|
|
||||||
tropical = TRGHR.GRF
|
|
||||||
toyland = TRGTR.GRF
|
|
||||||
extra = ORIG_EXTRA.GRF
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
TRG1R.GRF = b04ce593d8c5016e07473a743d7d3358
|
|
||||||
TRGIR.GRF = 0c2484ff6be49fc63a83be6ab5c38f32
|
|
||||||
TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b
|
|
||||||
TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1
|
|
||||||
TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8
|
|
||||||
ORIG_EXTRA.GRF = 67bcfac5911667309d86b7749ea8d08c
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
|
||||||
ORIG_EXTRA.GRF = This file was part of your OpenTTD installation.
|
|
||||||
@@ -1,158 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents the original music as on the Transport
|
|
||||||
; Tycoon Deluxe for Windows CD.
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = original_windows
|
|
||||||
shortname = TTDW
|
|
||||||
version = 1
|
|
||||||
description = Original Transport Tycoon Deluxe Windows edition music.
|
|
||||||
description.af_ZA = Oorspronklike Transport Tycoon Deluxe Windows uitgawe musiek.
|
|
||||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الموسيقية نسخة وندوز
|
|
||||||
description.be_BY = Арыґінальны набор музычнага афармленьня з гульні Transport Tycoon Deluxe для Windows.
|
|
||||||
description.bg_BG = Оригинална музика на Transport Tycoon Deluxe за Windows.
|
|
||||||
description.ca_ES = Música original del Transport Tycoon Deluxe pel Windows.
|
|
||||||
description.cs_CZ = Původní hudba Transport Tycoon Deluxe (verze pro Windows).
|
|
||||||
description.cy_GB = Cerddoriaeth gwreiddiol fersion Windows o Transport Tycoon Deluxe.
|
|
||||||
description.da_DK = Originalmusik fra Transport Tycoon Deluxe Windows-version.
|
|
||||||
description.de_DE = Original Transport Tycoon Deluxe Windows Musikset.
|
|
||||||
description.el_GR = Αρχική μουσική από το Transport Tycoon Deluxe έκδοση Windows.
|
|
||||||
description.en_AU = Original Transport Tycoon Deluxe Windows edition music.
|
|
||||||
description.en_US = Original Transport Tycoon Deluxe Windows edition music.
|
|
||||||
description.es_ES = Música original de Transport Tycoon Deluxe, versión Windows.
|
|
||||||
description.es_MX = Música original de Transport Tycoon Deluxe para Windows.
|
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni muusika.
|
|
||||||
description.fi_FI = Alkuperäinen Transport Tycoon Deluxen Windows-version musiikki.
|
|
||||||
description.fr_FR = Musiques originales de Transport Tycoon Deluxe (version Windows).
|
|
||||||
description.ga_IE = Ceol bunaidh Transport Tycoon Deluxe, eagrán Windows.
|
|
||||||
description.gd_GB = Ceòl aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
|
|
||||||
description.gl_ES = Música da edición orixinal de Transport Tycoon Deluxe para Windows.
|
|
||||||
description.he_IL = מנגינות Transport Tycoon Deluxe המקורי בגרסת Windows.
|
|
||||||
description.hr_HR = Originalna glazba za Transport Tycoon Deluxe Windows izdanje.
|
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának zenéje.
|
|
||||||
description.id_ID = Musik pengiring orisinil Transport Tycoon Deluxe versi Windows.
|
|
||||||
description.is_IS = Upprunalega tónlistin úr Transport Tycoon Deluxe Windows útgáfunni.
|
|
||||||
description.it_IT = Musica originale di Transport Tycoon Deluxe, edizione Windows.
|
|
||||||
description.ja_JP = Transport Tycoon Deluxe オリジナル版 音楽 (Windows)
|
|
||||||
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 Windows 에디션의 음악입니다.
|
|
||||||
description.la_VA = Musica ex editione originale Transport Tycoon Deluxe Windows.
|
|
||||||
description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Musik.
|
|
||||||
description.lt_LT = Originali Transport Tycoon Deluxe Windows leidimo muzika.
|
|
||||||
description.lv_LV = Oriģinālā Transport Tycoon Deluxe Windows izdevuma mūzika.
|
|
||||||
description.ms_MY = Muzik asal Transport Tycoon Deluxe edisi Windows.
|
|
||||||
description.nb_NO = Original musikk fra Transport Tycoon Deluxe for Windows.
|
|
||||||
description.nl_NL = Originele muziek van de Transport Tycoon Deluxe Windows-versie.
|
|
||||||
description.nn_NO = Original musikk frå Transport Tycoon Deluxe for Windows.
|
|
||||||
description.pl_PL = Oryginalna edycja utworów muzycznych w Transport Tycoon Deluxe Windows.
|
|
||||||
description.pt_BR = Música Original do Transport Tycoon Deluxe, Edição Windows
|
|
||||||
description.pt_PT = Música original da edição Windows de Transport Tycoon Deluxe.
|
|
||||||
description.ro_RO = Setul de muzică original al Transport Tycoon Deluxe pentru Windows.
|
|
||||||
description.ru_RU = Набор музыкального оформления из игры Transport Tycoon Deluxe для Windows.
|
|
||||||
description.sk_SK = Pôvodná hudba z Transport Tycoon Deluxe (Windows).
|
|
||||||
description.sl_SI = Originalna glasba Transport Tycoon Deluxe različice oken(windows).
|
|
||||||
description.sr_RS = Originalni skup muzičkih numera Transport Tycoon Deluxe Windows izdanja.
|
|
||||||
description.sv_SE = Originalmusiken från Windows-utgåvan av Transport Tycoon Deluxe.
|
|
||||||
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் விண்டோஸ் பதிப்பு இசை.
|
|
||||||
description.th_TH = เพลงต้นตำหรับชอง Transport Tycoon Deluxe Windows edition
|
|
||||||
description.tr_TR = Özgün Transport Tycoon Deluxe Windows sürümü müzikleri.
|
|
||||||
description.uk_UA = Оригінальна музика з Transport Tycoon Deluxe Windows edition.
|
|
||||||
description.vi_VN = Nhạc gốc từ phiên bản Transport Tycoon Deluxe trên Windows
|
|
||||||
description.zh_CN = Transport Tycoon Deluxe(运输大亨Windows豪华版)的原版音乐包
|
|
||||||
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的音樂。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
theme = GM_TT00.GM
|
|
||||||
old_0 = GM_TT02.GM
|
|
||||||
old_1 = GM_TT06.GM
|
|
||||||
old_2 = GM_TT03.GM
|
|
||||||
old_3 = GM_TT12.GM
|
|
||||||
old_4 = GM_TT08.GM
|
|
||||||
old_5 = GM_TT13.GM
|
|
||||||
old_6 = GM_TT14.GM
|
|
||||||
old_7 = GM_TT10.GM
|
|
||||||
old_8 =
|
|
||||||
old_9 =
|
|
||||||
new_0 = GM_TT04.GM
|
|
||||||
new_1 = GM_TT01.GM
|
|
||||||
new_2 = GM_TT05.GM
|
|
||||||
new_3 = GM_TT15.GM
|
|
||||||
new_4 = GM_TT11.GM
|
|
||||||
new_5 = GM_TT16.GM
|
|
||||||
new_6 = GM_TT09.GM
|
|
||||||
new_7 =
|
|
||||||
new_8 =
|
|
||||||
new_9 =
|
|
||||||
ezy_0 = GM_TT18.GM
|
|
||||||
ezy_1 = GM_TT19.GM
|
|
||||||
ezy_2 = GM_TT21.GM
|
|
||||||
ezy_3 = GM_TT17.GM
|
|
||||||
ezy_4 = GM_TT20.GM
|
|
||||||
ezy_5 = GM_TT07.GM
|
|
||||||
ezy_6 =
|
|
||||||
ezy_7 =
|
|
||||||
ezy_8 =
|
|
||||||
ezy_9 =
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
GM_TT00.GM = 45cfec1b9d8c7a0ad45e755833cbf221
|
|
||||||
GM_TT01.GM = ab14ed3392d848abd2a2e90a9d75d121
|
|
||||||
GM_TT02.GM = dd4f696e4be5987ce738257b08b50171
|
|
||||||
GM_TT03.GM = a1bfde23343df9e4063419bf29c166b8
|
|
||||||
GM_TT04.GM = 4e6943aa0c455203d76c79389054747d
|
|
||||||
GM_TT05.GM = cee281cb85a2e2343552d97640545a47
|
|
||||||
GM_TT06.GM = 26d1de5efa8675f94065784e9d539e49
|
|
||||||
GM_TT07.GM = 6f2691e17558f552ec4c565e4ab7139c
|
|
||||||
GM_TT08.GM = a42bf2cb3340a822f1a69646fc7a487d
|
|
||||||
GM_TT09.GM = eb35761a58a8df3c59ed8929cce13916
|
|
||||||
GM_TT10.GM = 42fecd686720a785d20a78590c466a82
|
|
||||||
GM_TT11.GM = 50ef1ef02e49d2112786dd45e69dc3ee
|
|
||||||
GM_TT12.GM = 4ce707a0e0e72419f0681dd9bd95271b
|
|
||||||
GM_TT13.GM = e765753be29d889ec818f38009103619
|
|
||||||
GM_TT14.GM = 270e2d63bd32b95a4d007ce15a6ce45f
|
|
||||||
GM_TT15.GM = 89e116a1c0c69f1845cc903a9bfbe460
|
|
||||||
GM_TT16.GM = f824e2371b3bedfe61aad4b9c62dd6be
|
|
||||||
GM_TT17.GM = 1b23eebb0796c1ab99cd97fa7082cf7b
|
|
||||||
GM_TT18.GM = 15650de3bad645d0e88c4f5c7a2df92a
|
|
||||||
GM_TT19.GM = 7aec079e15bd09588660b85545ac4dfc
|
|
||||||
GM_TT20.GM = 1509097889dee617aa1e9a1738a5a930
|
|
||||||
GM_TT21.GM = a8d0aaad02e1a762d8d54cf81da56bab
|
|
||||||
|
|
||||||
[names]
|
|
||||||
GM_TT00.GM = Tycoon DELUXE Theme
|
|
||||||
GM_TT01.GM = Snarl Up
|
|
||||||
GM_TT02.GM = Easy Driver
|
|
||||||
GM_TT03.GM = Little Red Diesel
|
|
||||||
GM_TT04.GM = City Groove
|
|
||||||
GM_TT05.GM = Aliens Ate My Railway
|
|
||||||
GM_TT06.GM = Stoke It
|
|
||||||
GM_TT07.GM = Don't Walk!
|
|
||||||
GM_TT08.GM = Sawyer's Tune
|
|
||||||
GM_TT09.GM = Fell Apart On Me
|
|
||||||
GM_TT10.GM = Can't Get There From Here
|
|
||||||
GM_TT11.GM = Hard Drivin'
|
|
||||||
GM_TT12.GM = Road Hog
|
|
||||||
GM_TT13.GM = Hold That Train!
|
|
||||||
GM_TT14.GM = Broomer's Oil Rag
|
|
||||||
GM_TT15.GM = Goss Groove
|
|
||||||
GM_TT16.GM = Small Town
|
|
||||||
GM_TT17.GM = Cruise Control
|
|
||||||
GM_TT18.GM = Stroll On
|
|
||||||
GM_TT19.GM = Funk Central
|
|
||||||
GM_TT20.GM = Jammit
|
|
||||||
GM_TT21.GM = Movin' On
|
|
||||||
|
|
||||||
; MIDI timecodes where the playback should attempt to start and stop short.
|
|
||||||
; This is to allow fixing undesired silences in original MIDI files.
|
|
||||||
; However not all music drivers may support this.
|
|
||||||
[timingtrim]
|
|
||||||
; Theme has two beats silence at the beginning which prevents clean looping.
|
|
||||||
GM_TT00.GM = 768:53760
|
|
||||||
; Can't Get There From Here from the Windows version has a long silence at the end,
|
|
||||||
; followed by a solo repeat. This isn't in the original DOS version music and is likely
|
|
||||||
; unintentional from the people who converted the music from the DOS version.
|
|
||||||
; Actual song ends after measure 152.
|
|
||||||
GM_TT10.GM = 0:235008
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents the original sounds as on the Transport
|
|
||||||
; Tycoon Deluxe for Windows CD.
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = original_windows
|
|
||||||
shortname = TTDO
|
|
||||||
version = 0
|
|
||||||
description = Original Transport Tycoon Deluxe Windows edition sounds.
|
|
||||||
description.af_ZA = Oorspronklike Transport Tycoon Deluxe Windows uitgawe klanke.
|
|
||||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الصوتية نسخة وندوز
|
|
||||||
description.be_BY = Арыґінальны набор гукавога афармленьня з гульні Transport Tycoon Deluxe для Windows.
|
|
||||||
description.bg_BG = Оригинални звуци на Transport Tycoon Deluxe за Windows.
|
|
||||||
description.ca_ES = Sons originals del Transport Tycoon Deluxe pel Windows.
|
|
||||||
description.cs_CZ = Původní sada zvuků Transport Tycoon Deluxe (verze pro Windows).
|
|
||||||
description.cy_GB = Effeithiau sain gwreiddiol fersiwn Windows o Transport Tycoon Deluxe.
|
|
||||||
description.da_DK = Originallyd fra Transport Tycoon Deluxe Windows-version.
|
|
||||||
description.de_DE = Original Transport Tycoon Deluxe Windows Basissounds.
|
|
||||||
description.el_GR = Αρχικοί ήχοι από το Transport Tycoon Deluxe έκδοση Windows.
|
|
||||||
description.en_AU = Original Transport Tycoon Deluxe Windows edition sounds.
|
|
||||||
description.en_US = Original Transport Tycoon Deluxe Windows edition sounds.
|
|
||||||
description.es_ES = Sonidos originales de Transport Tycoon Deluxe, versión Windows.
|
|
||||||
description.es_MX = Sonidos originales de Transport Tycoon Deluxe para Windows.
|
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni helid.
|
|
||||||
description.eu_ES = Transport Tycoon Deluxe originaleko Windows edizioko grafikoak.
|
|
||||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen Windows-version äänet.
|
|
||||||
description.fr_FR = Sons originaux de Transport Tycoon Deluxe (version Windows).
|
|
||||||
description.ga_IE = Fuaimeanna bunaidh Transport Tycoon Deluxe, eagrán Windows.
|
|
||||||
description.gd_GB = Fuaimean aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
|
|
||||||
description.gl_ES = Sons da edición orixinal de Transport Tycoon Deluxe para Windows.
|
|
||||||
description.he_IL = צלילי Transport Tycoon Deluxe המקורי בגרסת Windows.
|
|
||||||
description.hr_HR = Originalni zvukovi za Transport Tycoon Deluxe Windows izdanje.
|
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának hangjai.
|
|
||||||
description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi Windows.
|
|
||||||
description.is_IS = Upprunalega hljóðið úr Transport Tycoon Deluxe Windows útgáfunni.
|
|
||||||
description.it_IT = Suoni originali di Transport Tycoon Deluxe, edizione Windows.
|
|
||||||
description.ja_JP = Transport Tycoon Deluxe オリジナル版 効果音 (Windows)
|
|
||||||
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 Windows 에디션의 효과음입니다.
|
|
||||||
description.la_VA = Soni ex editione originale Transport Tycoon Deluxe Windows.
|
|
||||||
description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Sound.
|
|
||||||
description.lt_LT = Originalūs Transport Tycoon Deluxe Windows leidimo garsai.
|
|
||||||
description.ms_MY = Bunyi asal Transport Tycoon Deluxe edisi Windows
|
|
||||||
description.nb_NO = Originale lyder fra Transport Tycoon Deluxe for Windows.
|
|
||||||
description.nl_NL = Originele geluiden van Transport Tycoon Deluxe voor Windows.
|
|
||||||
description.nn_NO = Originale lydar frå Transport Tycoon Deluxe for Windows.
|
|
||||||
description.pl_PL = Oryginalna edycja dźwięków dla Transport Tycoon Deluxe Windows.
|
|
||||||
description.pt_BR = Sons Originais do Transport Tycoon Deluxe, Edição Windows.
|
|
||||||
description.pt_PT = Sons originais da edição Windows de Transport Tycoon Deluxe.
|
|
||||||
description.ro_RO = Setul de sunete original al Transport Tycoon Deluxe pentru Windows.
|
|
||||||
description.ru_RU = Набор звукового оформления из игры Transport Tycoon Deluxe для Windows.
|
|
||||||
description.sk_SK = Pôvodné zvuky Transport Tycoon Deluxe (Windows).
|
|
||||||
description.sl_SI = Originalni zvoki Transport Tycoon Deluxe različice oken(windows).
|
|
||||||
description.sr_RS = Originalni skup zvukova Transport Tycoon Deluxe Windows izdanja.
|
|
||||||
description.sv_SE = Originalljuden från Windows-utgåvan av Transport Tycoon Deluxe.
|
|
||||||
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் விண்டோஸ் பதிப்பு ஒலிகள்.
|
|
||||||
description.th_TH = เสียงต้นตำหรับของ Transport Tycoon Deluxe Windows edition
|
|
||||||
description.tr_TR = Özgün Transport Tycoon Deluxe Windows sürümü sesleri.
|
|
||||||
description.uk_UA = Оригінальний набір звуків з Transport Tycoon Deluxe Windows edition.
|
|
||||||
description.vi_VN = Âm thanh gốc từ phiên bản Transport Tycoon Deluxe trên Windows
|
|
||||||
description.zh_CN = Transport Tycoon Deluxe Windows (运输大亨Windows豪华版)的原版音效包.
|
|
||||||
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的音效。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
samples = SAMPLE.CAT
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
SAMPLE.CAT = 9212e81e72badd4bbe1eaeae66458e10
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/openttd
BIN
bin/openttd
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
./configure --ignore-extra-parameters --build="" --host="" --cc-build="gcc" --cc-host="gcc" --cxx-build="g++" --cxx-host="g++" --windres="" --strip="" --lipo="" --awk="awk" --pkg-config="pkg-config" --os="UNIX" --cpu-type="64" --config-log="config.log" --prefix-dir="/usr/local" --binary-dir="games" --data-dir="share/games/openttd" --doc-dir="share/doc/openttd" --icon-dir="share/pixmaps" --icon-theme-dir="share/icons/hicolor" --man-dir="share/man/man6" --menu-dir="share/applications" --personal-dir=".openttd" --shared-dir="" --install-dir="/" --menu-group="Game;" --menu-name="OpenTTD" --binary-name="openttd" --enable-debug="0" --enable-desync-debug="0" --enable-profiling="0" --enable-lto="0" --enable-dedicated="0" --enable-static="0" --enable-translator="0" --enable-unicode="0" --enable-console="1" --enable-assert="1" --enable-strip="0" --enable-universal="0" --enable-osx-g5="0" --enable-cocoa-quartz="1" --enable-cocoa-quickdraw="1" --with-osx-sysroot="0" --with-application-bundle="0" --with-allegro="1" --with-sdl="1" --with-cocoa="0" --with-zlib="1" --with-lzma="1" --with-lzo2="1" --with-xdg-basedir="1" --with-png="1" --enable-builtin-depend="1" --with-makedepend="0" --with-direct-music="0" --with-xaudio2="0" --with-sort="1" --with-iconv="0" --with-midi="" --with-midi-arg="" --with-fluidsynth="0" --with-freetype="1" --with-fontconfig="1" --with-icu-layout="1" --with-icu-sort="1" --static-icu="0" --with-uniscribe="0" --with-threads="1" --with-distcc="0" --with-ccache="0" --with-grfcodec="1" --with-nforenum="1" --with-sse="1" --CC="" --CXX="" --CFLAGS="" --CXXFLAGS="" --LDFLAGS="" --CFLAGS-BUILD="" --CXXFLAGS-BUILD="" --LDFLAGS-BUILD="" --PKG-CONFIG-PATH="" --PKG-CONFIG-LIBDIR=""
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
/home/pavels/Downloads/openttd-1.10.0-beta1
|
|
||||||
File diff suppressed because it is too large
Load Diff
159
config.log
159
config.log
@@ -1,159 +0,0 @@
|
|||||||
|
|
||||||
Invocation: ./configure
|
|
||||||
not using PKG_CONFIG_PATH
|
|
||||||
not using PKG_CONFIG_LIBDIR
|
|
||||||
Detecing awk...
|
|
||||||
Trying: echo "a.c b.c c.c" | tr ' ' \n | awk ' { ORS = " " } /\.c$/ { gsub(".c$", ".o", $0); print $0; }' 2>/dev/null
|
|
||||||
Result: 'a.o b.o c.o '
|
|
||||||
checking awk... awk
|
|
||||||
detecting OS... UNIX
|
|
||||||
checking build system type... CC/CXX not set (skipping)
|
|
||||||
executing gcc -dumpmachine
|
|
||||||
returned x86_64-linux-gnu
|
|
||||||
exit code 0
|
|
||||||
checking build system type... x86_64-linux-gnu
|
|
||||||
checking host system type... CC/CXX not set (skipping)
|
|
||||||
executing gcc -dumpmachine
|
|
||||||
returned x86_64-linux-gnu
|
|
||||||
exit code 0
|
|
||||||
checking host system type... x86_64-linux-gnu
|
|
||||||
checking universal build... no
|
|
||||||
checking build cc... gcc
|
|
||||||
checking host cc... gcc
|
|
||||||
checking build c++... CC/CXX not set (skipping)
|
|
||||||
executing g++ -dumpmachine
|
|
||||||
returned x86_64-linux-gnu
|
|
||||||
exit code 0
|
|
||||||
checking build c++... g++
|
|
||||||
checking host c++... CC/CXX not set (skipping)
|
|
||||||
executing g++ -dumpmachine
|
|
||||||
returned x86_64-linux-gnu
|
|
||||||
exit code 0
|
|
||||||
checking host c++... g++
|
|
||||||
checking strip... disabled
|
|
||||||
checking builtin depend... yes
|
|
||||||
checking makedepend... disabled
|
|
||||||
executing g++ tmp.64bit.cpp -o tmp.64bit -DTESTING 2>&1
|
|
||||||
returned
|
|
||||||
exit code 0
|
|
||||||
detecting cpu-type... 64 bits
|
|
||||||
executing g++ -msse4.1 tmp.sse.cpp -o tmp.sse 2>&1
|
|
||||||
returned
|
|
||||||
exit code 0
|
|
||||||
detecting SSE... found
|
|
||||||
checking static... no
|
|
||||||
checking unicode... no
|
|
||||||
using debug level... no
|
|
||||||
using desync debug level... no
|
|
||||||
using link time optimization... no
|
|
||||||
checking OSX sysroot... not OSX, skipping
|
|
||||||
detecting allegro
|
|
||||||
executing pkg-config allegro --modversion
|
|
||||||
returned
|
|
||||||
exit code 1
|
|
||||||
checking allegro... not found
|
|
||||||
detecting sdl2
|
|
||||||
executing pkg-config sdl2 --modversion
|
|
||||||
returned 2.0.9
|
|
||||||
exit code 0
|
|
||||||
checking sdl2... found
|
|
||||||
checking COCOA... not OSX, skipping
|
|
||||||
checking GDI video driver... not Windows, skipping
|
|
||||||
checking dedicated... not selected
|
|
||||||
checking console application... not Windows, skipping
|
|
||||||
checking squirrel... found
|
|
||||||
checking translator... no
|
|
||||||
checking assert... enabled
|
|
||||||
detecting zlib
|
|
||||||
executing pkg-config zlib --modversion
|
|
||||||
returned 1.2.11
|
|
||||||
exit code 0
|
|
||||||
checking zlib... found
|
|
||||||
detecting liblzma
|
|
||||||
executing pkg-config liblzma --modversion
|
|
||||||
returned 5.2.4
|
|
||||||
exit code 0
|
|
||||||
checking liblzma... found
|
|
||||||
detecting lzo2
|
|
||||||
trying /usr/include/lzo/lzo1x.h... found
|
|
||||||
checking lzo2... found
|
|
||||||
checking Uniscribe text layout... not Windows, skipping
|
|
||||||
detecting libxdg-basedir
|
|
||||||
executing pkg-config libxdg-basedir --modversion
|
|
||||||
returned
|
|
||||||
exit code 1
|
|
||||||
checking libxdg-basedir... not found
|
|
||||||
detecting libpng
|
|
||||||
executing pkg-config libpng --modversion
|
|
||||||
returned 1.6.36
|
|
||||||
exit code 0
|
|
||||||
checking libpng... found
|
|
||||||
detecting freetype2
|
|
||||||
executing pkg-config freetype2 --modversion
|
|
||||||
returned 22.1.16
|
|
||||||
exit code 0
|
|
||||||
checking freetype2... found
|
|
||||||
detecting fontconfig
|
|
||||||
executing pkg-config fontconfig --modversion
|
|
||||||
returned 2.13.1
|
|
||||||
exit code 0
|
|
||||||
checking fontconfig... found
|
|
||||||
detecting icu-lx
|
|
||||||
executing pkg-config icu-lx --modversion
|
|
||||||
returned
|
|
||||||
exit code 1
|
|
||||||
checking icu-lx... not found
|
|
||||||
detecting icu-i18n
|
|
||||||
executing pkg-config icu-i18n --modversion
|
|
||||||
returned 63.1
|
|
||||||
exit code 0
|
|
||||||
checking icu-i18n... found
|
|
||||||
detecting fluidsynth
|
|
||||||
trying /usr/include/fluidsynth.h... no
|
|
||||||
trying /usr/local/include/fluidsynth.h... no
|
|
||||||
trying /mingw/include/fluidsynth.h... no
|
|
||||||
trying /mingw64/include/fluidsynth.h... no
|
|
||||||
trying /opt/local/include/fluidsynth.h... no
|
|
||||||
checking fluidsynth... not found
|
|
||||||
checking direct-music... not Windows, skipping
|
|
||||||
checking xaudio2... not Windows, skipping
|
|
||||||
running echo <array> | sort
|
|
||||||
result was valid
|
|
||||||
checking sort... sort
|
|
||||||
suppress language errors... no
|
|
||||||
checking stripping... skipped
|
|
||||||
checking distcc... no (only used when forced)
|
|
||||||
checking ccache... no (only used when forced)
|
|
||||||
executing grfcodec -v
|
|
||||||
returned
|
|
||||||
exit code 0
|
|
||||||
checking grfcodec... not found
|
|
||||||
executing nforenum -v
|
|
||||||
returned
|
|
||||||
exit code 0
|
|
||||||
checking nforenum... not found
|
|
||||||
checking OSX application bundle... not OSX, skipping
|
|
||||||
checking revision... source tarball
|
|
||||||
checking iconv... not OSX, skipping
|
|
||||||
personal home directory... .openttd
|
|
||||||
shared data directory... none
|
|
||||||
installation directory... /
|
|
||||||
icon theme directory... share/icons/hicolor
|
|
||||||
manual page directory... share/man/man6
|
|
||||||
menu item directory... share/applications
|
|
||||||
Running configure with following options:
|
|
||||||
|
|
||||||
./configure --ignore-extra-parameters --build="" --host="" --cc-build="gcc" --cc-host="gcc" --cxx-build="g++" --cxx-host="g++" --windres="" --strip="" --lipo="" --awk="awk" --pkg-config="pkg-config" --os="UNIX" --cpu-type="64" --config-log="config.log" --prefix-dir="/usr/local" --binary-dir="games" --data-dir="share/games/openttd" --doc-dir="share/doc/openttd" --icon-dir="share/pixmaps" --icon-theme-dir="share/icons/hicolor" --man-dir="share/man/man6" --menu-dir="share/applications" --personal-dir=".openttd" --shared-dir="" --install-dir="/" --menu-group="Game;" --menu-name="OpenTTD" --binary-name="openttd" --enable-debug="0" --enable-desync-debug="0" --enable-profiling="0" --enable-lto="0" --enable-dedicated="0" --enable-static="0" --enable-translator="0" --enable-unicode="0" --enable-console="1" --enable-assert="1" --enable-strip="0" --enable-universal="0" --enable-osx-g5="0" --enable-cocoa-quartz="1" --enable-cocoa-quickdraw="1" --with-osx-sysroot="0" --with-application-bundle="0" --with-allegro="1" --with-sdl="1" --with-cocoa="0" --with-zlib="1" --with-lzma="1" --with-lzo2="1" --with-xdg-basedir="1" --with-png="1" --enable-builtin-depend="1" --with-makedepend="0" --with-direct-music="0" --with-xaudio2="0" --with-sort="1" --with-iconv="0" --with-midi="" --with-midi-arg="" --with-fluidsynth="0" --with-freetype="1" --with-fontconfig="1" --with-icu-layout="1" --with-icu-sort="1" --static-icu="0" --with-uniscribe="0" --with-threads="1" --with-distcc="0" --with-ccache="0" --with-grfcodec="1" --with-nforenum="1" --with-sse="1" --CC="" --CXX="" --CFLAGS="" --CXXFLAGS="" --LDFLAGS="" --CFLAGS-BUILD="" --CXXFLAGS-BUILD="" --LDFLAGS-BUILD="" --PKG-CONFIG-PATH="" --PKG-CONFIG-LIBDIR=""
|
|
||||||
|
|
||||||
using CFLAGS_BUILD... -Wall -Wno-multichar -Wsign-compare -Wundef -Wwrite-strings -Wpointer-arith -W -Wno-unused-parameter -Wredundant-decls -Wformat=2 -Wformat-security -Winit-self -fno-strict-aliasing -Wcast-qual -fno-strict-overflow -Wnon-virtual-dtor -Wno-free-nonheap-object -rdynamic -DUNIX -D_FORTIFY_SOURCE=2 -O1
|
|
||||||
using CXXFLAGS_BUILD... -flifetime-dse=1 -std=c++11
|
|
||||||
using LDFLAGS_BUILD... -rdynamic
|
|
||||||
using CFLAGS... -O2 -fomit-frame-pointer -Wall -Wno-multichar -Wsign-compare -Wundef -Wwrite-strings -Wpointer-arith -W -Wno-unused-parameter -Wredundant-decls -Wformat=2 -Wformat-security -Winit-self -fno-strict-aliasing -Wcast-qual -fno-strict-overflow -Wnon-virtual-dtor -Wno-free-nonheap-object -rdynamic -DUNIX -D_FORTIFY_SOURCE=2 -DWITH_SSE -DWITH_SDL2 -D_REENTRANT -I/usr/include/SDL2 -DWITH_ZLIB -DWITH_LIBLZMA -DWITH_LZO -D_SQ64 -I/home/pavels/Downloads/openttd-1.10.0-beta1/src/3rdparty/squirrel/include -DWITH_PNG -I/usr/include/libpng16 -DWITH_FONTCONFIG -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -DWITH_FREETYPE -I/usr/include/freetype2 -I/usr/include/libpng16 -DWITH_ICU_I18N -DWITH_PERSONAL_DIR -DPERSONAL_DIR=\".openttd\" -DGLOBAL_DATA_DIR=\"/usr/local/share/games/openttd\"
|
|
||||||
using CXXFLAGS... -flifetime-dse=1 -std=c++11
|
|
||||||
using LDFLAGS... -lpthread -lc -lSDL2 -lz -llzma -llzo2 -lpng16 -lz -lfontconfig -lfreetype -lfreetype -licui18n -licuuc -licudata -rdynamic
|
|
||||||
Generating Makefile...
|
|
||||||
Generating menu item...
|
|
||||||
Generating lang/Makefile...
|
|
||||||
Generating setting/Makefile...
|
|
||||||
Generating grf/Makefile...
|
|
||||||
Generating objs/Makefile...
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
OpenTTD and strgen
|
|
||||||
Last updated: 2009-06-30
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
Table of contents
|
|
||||||
-----------------
|
|
||||||
1.0) strgen usage
|
|
||||||
* 1.1) Examples
|
|
||||||
* 1.2) strgen command switches
|
|
||||||
|
|
||||||
|
|
||||||
1.0) strgen usage
|
|
||||||
---- ------------
|
|
||||||
This guide is only interesting for people who want to alter something
|
|
||||||
themselves without access to translator.openttd.org. Please note that
|
|
||||||
your compiled language file will only be compatible with the OpenTTD version
|
|
||||||
you have downloaded english.txt, the master language file, for. While this is
|
|
||||||
not always true, namely when changes in the code have not touched language
|
|
||||||
files, your safest bet is to assume this 'limitation'.
|
|
||||||
As a first step you need to compile strgen. This is as easy as typing
|
|
||||||
'make strgen'. You can download the precompile strgen from:
|
|
||||||
http://www.openttd.org/download-strgen
|
|
||||||
|
|
||||||
strgen takes as argument a txt file and translates it to a lng file, allowing
|
|
||||||
it to be used inside OpenTTD. strgen needs the master language file
|
|
||||||
english.txt to work. Below are some examples of strgen usage.
|
|
||||||
|
|
||||||
1.1) Examples
|
|
||||||
---- --------
|
|
||||||
Example 1:
|
|
||||||
if you are in the root of your working copy (git repository), you should type
|
|
||||||
strgen/strgen -s lang lang/english.txt
|
|
||||||
to compile englist.txt into english.lng. It will be placed in the lang dir
|
|
||||||
|
|
||||||
Example 2:
|
|
||||||
you only have the strgen executable (no working copy) and you want to compile
|
|
||||||
a txt file in the same directory. You should type
|
|
||||||
./strgen english.txt
|
|
||||||
and you will get and english.lng in the same dir
|
|
||||||
|
|
||||||
Example 3:
|
|
||||||
you have strgen somewhere, english.txt in /usr/openttd/lang and you want the
|
|
||||||
resulting language file to go to /tmp. Use
|
|
||||||
./strgen -s /usr/openttd/lang -d /tmp english.txt
|
|
||||||
|
|
||||||
You can interchange english.txt to whichever language you want to generate a
|
|
||||||
.lng file for.
|
|
||||||
|
|
||||||
1.2) strgen command switches
|
|
||||||
---- -----------------------
|
|
||||||
-v | --version
|
|
||||||
strgen will tell what git revision it was last modified
|
|
||||||
|
|
||||||
-t | --todo
|
|
||||||
strgen will add <TODO> to any untranslated/missing strings and use the english
|
|
||||||
strings while compiling the language file
|
|
||||||
|
|
||||||
-w | --warning
|
|
||||||
strgen will print any missing strings or wrongly translated (bad format)
|
|
||||||
to standard error output(stderr)
|
|
||||||
|
|
||||||
-h | --help | -?
|
|
||||||
Print out a summarized help message explaining these switches
|
|
||||||
|
|
||||||
-s | --source_dir
|
|
||||||
strgen will search for the master file english.txt in the directory specified
|
|
||||||
by this switch instead of the current directory
|
|
||||||
|
|
||||||
-d | --dest_dir
|
|
||||||
strgen will put <language>.lng in the directory specified by this switch; if
|
|
||||||
no dest_dir is given, output is the same as source_dir
|
|
||||||
@@ -1,139 +0,0 @@
|
|||||||
OpenTTD: OS/2 version
|
|
||||||
=====================
|
|
||||||
|
|
||||||
OpenTTD has been ported to work on OS/2 4.x or later (including
|
|
||||||
eComStation). The game should work as well as it does on Windows
|
|
||||||
or other platforms: the main issues you may encounter are graphics
|
|
||||||
card problems, but that is really the fault of SDL.
|
|
||||||
|
|
||||||
=========================
|
|
||||||
USING OPENTTD FOR OS/2
|
|
||||||
=========================
|
|
||||||
|
|
||||||
LIBRARIES REQUIRED FOR END USERS
|
|
||||||
--------------------------------
|
|
||||||
|
|
||||||
SDL.DLL (SDL 1.2.7) and FSLib.dll are required to use this program:
|
|
||||||
these can be downloaded from the Files section at
|
|
||||||
http://sourceforge.net/projects/openttd/ - see "os2-useful-v1.1.zip".
|
|
||||||
Version 20051222 of SDL or later is required. This can be found at
|
|
||||||
http://sdl.netlabs.org/.
|
|
||||||
|
|
||||||
Please note that earlier SDL releases will probably NOT work with
|
|
||||||
OpenTTD. If you experience problems with OpenTTD, please check
|
|
||||||
your SDL and FSLib.dll versions (both must match).
|
|
||||||
|
|
||||||
Note that to actually play the game, I have found in my own
|
|
||||||
experience that a version of the Scitech Display Drivers or its later
|
|
||||||
incarnation (see www.scitech.com) are necessary for it to work. If
|
|
||||||
you have trouble with your native drivers, try the Scitech drivers
|
|
||||||
and see if they help the problem.
|
|
||||||
|
|
||||||
KNOWN ISSUES
|
|
||||||
------------
|
|
||||||
|
|
||||||
- If an error occurs during loading, the OS/2 error message window
|
|
||||||
is not always displayed.
|
|
||||||
|
|
||||||
A NOTE ABOUT MUSIC
|
|
||||||
------------------
|
|
||||||
|
|
||||||
OpenTTD includes a music driver which uses the MCI MIDI system. Unfortunately,
|
|
||||||
due to the lack of proper MIDI hardware myself, I have been unable to test it,
|
|
||||||
but during testing, I found that when MIDI was enabled, I got no sound
|
|
||||||
effects. I therefore decided to DISABLE music by default.
|
|
||||||
|
|
||||||
To enable music, start OpenTTD with the command line:
|
|
||||||
|
|
||||||
openttd -m os2
|
|
||||||
|
|
||||||
If I hear enough responses that both music and sound work together (it might
|
|
||||||
just be my system), I'll have the defaults changed.
|
|
||||||
|
|
||||||
Please note also that the GCC version does not currently support the MCI MIDI
|
|
||||||
system.
|
|
||||||
|
|
||||||
|
|
||||||
A NOTE ABOUT DEDICATED MULTIPLAYER SERVERS
|
|
||||||
------------------------------------------
|
|
||||||
|
|
||||||
To start a dedicated multiplayer server, you should run the dedicated.cmd
|
|
||||||
file. This enables OpenTTD to open up a VIO console window to display
|
|
||||||
its output and gather any necessary input. Running "openttd -D"
|
|
||||||
directly will result in the console not being displayed. You may
|
|
||||||
still pass any other parameters ('-D' is already passed) to
|
|
||||||
dedicated.cmd.
|
|
||||||
|
|
||||||
You can find the dedicated.cmd file in the os/os2 directory.
|
|
||||||
|
|
||||||
=========================
|
|
||||||
BUILDING THE OS/2 VERSION
|
|
||||||
=========================
|
|
||||||
|
|
||||||
Compiler
|
|
||||||
--------
|
|
||||||
|
|
||||||
Innotek GCC, an OS/2 port of the popular GCC compiler, was used to build OpenTTD.
|
|
||||||
See www.innotek.de for more information. You WILL need a reasonably UNIX-like
|
|
||||||
build environment in order to build OpenTTD successfully - the following link
|
|
||||||
may help to set one up (although some of the links from that page are broken):
|
|
||||||
|
|
||||||
http://www.mozilla.org/ports/os2/gccsetup.html
|
|
||||||
|
|
||||||
Alternatively, Paul Smedley's ready-to-go GCC build environment has been known to
|
|
||||||
successfully build the game:
|
|
||||||
|
|
||||||
http://www.smedley.info/os2ports/index.php?page=build-environment
|
|
||||||
|
|
||||||
To build, you should, if your environment is set up well enough, be able to just
|
|
||||||
type `./configure' (or `sh configure' if you're using the OS/2 shell) and `make'.
|
|
||||||
|
|
||||||
You may have to manually specify `--os OS2' on the configure command line, as
|
|
||||||
configure cannot always detect OS/2 correctly.
|
|
||||||
|
|
||||||
A note on Open Watcom
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
Open Watcom C/C++ was previously used to build OpenTTD (version 0.4.x and earlier).
|
|
||||||
However, due to advanced C++ features used in the YAPF portion of OpenTTD 0.5
|
|
||||||
in particular, the compiler is no longer able to build the game at the moment.
|
|
||||||
Hopefully one day Open Watcom will be able to catch up and we will be able to build
|
|
||||||
the game once again (it's easier than getting an OS/2 UNIX-like environment set up
|
|
||||||
in my opinion!), but until then, OpenTTD 0.5 and later can only be built with GCC.
|
|
||||||
|
|
||||||
Libraries Required
|
|
||||||
------------------
|
|
||||||
|
|
||||||
The following libraries are required. To build zlib and libpng, I
|
|
||||||
simply added the required files (watch out for sample programs, etc)
|
|
||||||
to an IDE project file and built a library. Do not use the makefiles
|
|
||||||
provided, they are not designed for Watcom (apart from SDL):
|
|
||||||
|
|
||||||
- zlib
|
|
||||||
http://www.zlib.org/
|
|
||||||
|
|
||||||
- libpng
|
|
||||||
http://www.libpng.org/
|
|
||||||
|
|
||||||
- SDL for OS/2
|
|
||||||
ftp://ftp.netlabs.org/pub/sdl/sdl-1.2.7-src-20051222.zip used for
|
|
||||||
0.4.7
|
|
||||||
|
|
||||||
- Freetype
|
|
||||||
http://freetype.sourceforge.net/
|
|
||||||
|
|
||||||
Currently, there are no pre-built libraries available for GCC. If you manage to get
|
|
||||||
OpenTTD working on Watcom though (do let us know if this is the case!), pre-built
|
|
||||||
versions can be downloaded from the Files section at
|
|
||||||
http://sourceforge.net/projects/openttd/ - see "os2-useful-v1.1.zip".
|
|
||||||
|
|
||||||
Contact Information
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
If you have any questions regarding OS/2 issues, please contact me
|
|
||||||
(owen@owenrudge.net) and I'll try to help you out. For general OpenTTD
|
|
||||||
issues, see the Contacting section of readme.txt.
|
|
||||||
|
|
||||||
Thanks to Paul Smedley for his help with getting OpenTTD to compile under GCC on OS/2.
|
|
||||||
|
|
||||||
- Owen Rudge, 24th June 2007
|
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
# Compiling OpenTTD using Microsoft Visual C++
|
|
||||||
|
|
||||||
Last updated: 2018-12-27
|
|
||||||
|
|
||||||
## Supported MSVC compilers
|
|
||||||
|
|
||||||
OpenTTD includes projects for Visual Studio 2015 Update 3 or more recent.
|
|
||||||
You can download the free Visual Studio Community Edition from Microsoft at
|
|
||||||
https://visualstudio.microsoft.com/vs/community/.
|
|
||||||
|
|
||||||
## Required files
|
|
||||||
|
|
||||||
### Microsoft platform files
|
|
||||||
|
|
||||||
OpenTTD needs the Platform SDK, if it isn't installed already. This can be
|
|
||||||
done during installing Visual Studio, by selecting
|
|
||||||
`Visual C++ MFC for x86 and x64` (and possibly
|
|
||||||
`Visual C++ ATL for x86 and x64` depending on your version). If not, you
|
|
||||||
can get it at this location:
|
|
||||||
|
|
||||||
- [MS Windows Platform SDK](https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk)
|
|
||||||
|
|
||||||
Install the SDK by following the instructions as given.
|
|
||||||
|
|
||||||
### OpenTTD dependencies
|
|
||||||
|
|
||||||
Dependencies for OpenTTD on Windows are handled via
|
|
||||||
[vcpkg](https://github.com/Microsoft/vcpkg/). First you need to install vcpkg
|
|
||||||
by following the `Quick Start` intructions of their
|
|
||||||
[README](https://github.com/Microsoft/vcpkg/blob/master/README.md).
|
|
||||||
|
|
||||||
After this, you can install the dependencies OpenTTD needs. We advise to use
|
|
||||||
the `static` versions, and OpenTTD currently needs the following dependencies:
|
|
||||||
|
|
||||||
- freetype
|
|
||||||
- liblzma
|
|
||||||
- libpng
|
|
||||||
- lzo
|
|
||||||
- zlib
|
|
||||||
|
|
||||||
To install both the x64 (64bit) and x86 (32bit) variants, you can use:
|
|
||||||
|
|
||||||
```ps
|
|
||||||
.\vcpkg install freetype:x64-windows-static liblzma:x64-windows-static libpng:x64-windows-static lzo:x64-windows-static zlib:x64-windows-static
|
|
||||||
.\vcpkg install freetype:x86-windows-static liblzma:x86-windows-static libpng:x86-windows-static lzo:x86-windows-static zlib:x86-windows-static
|
|
||||||
```
|
|
||||||
|
|
||||||
## TTD Graphics files
|
|
||||||
|
|
||||||
See section 4.1 of README.md for the required 3rdparty files and how to install them.
|
|
||||||
|
|
||||||
## Compiling
|
|
||||||
|
|
||||||
Open the appropriate `sln` (Solution) file for your version of Visual Studio:
|
|
||||||
|
|
||||||
- VS 2015: projects/openttd_vs140.sln
|
|
||||||
- VS 2017: projects/openttd_vs141.sln
|
|
||||||
- VS 2019: projects/openttd_vs142.sln
|
|
||||||
|
|
||||||
Set the build mode to `Release` in
|
|
||||||
`Build > Configuration manager > Active solution configuration`.
|
|
||||||
You can now compile.
|
|
||||||
|
|
||||||
If everything works well the binary should be in `objs\Win[32|64]\Release\openttd.exe`
|
|
||||||
and in `bin\openttd.exe`
|
|
||||||
|
|
||||||
## Problems
|
|
||||||
|
|
||||||
If compilation fails, double-check that you are using the latest github
|
|
||||||
source. If it still doesn't work, check in on IRC (irc://irc.oftc.net/openttd),
|
|
||||||
to ask for help.
|
|
||||||
@@ -1,219 +0,0 @@
|
|||||||
OpenTTD's admin network
|
|
||||||
Last updated: 2011-01-20
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
Table of contents
|
|
||||||
-----------------
|
|
||||||
1.0) Preface
|
|
||||||
2.0) Joining the network
|
|
||||||
3.0) Asking for updates
|
|
||||||
* 3.1) Polling manually
|
|
||||||
4.0) Sending rcon commands
|
|
||||||
5.0) Sending chat
|
|
||||||
* 5.1) Receiving chat
|
|
||||||
6.0) Disconnecting
|
|
||||||
7.0) Certain packet information
|
|
||||||
|
|
||||||
|
|
||||||
1.0) Preface
|
|
||||||
---- -------
|
|
||||||
The admin network provides a dedicated network protocol designed for other
|
|
||||||
applications to communicate with OpenTTD. Connected applications can execute
|
|
||||||
console commands remotely (rcon commands) with no further authentication.
|
|
||||||
Furthermore information about clients and companies can be provided.
|
|
||||||
|
|
||||||
Admin applications remain connected when starting a new game or loading a saved
|
|
||||||
game in contrast to normal OpenTTD clients that get disconnected.
|
|
||||||
|
|
||||||
This document describes the admin network and its protocol.
|
|
||||||
|
|
||||||
Please refer to the mentioned enums in src/network/core/tcp_admin.h
|
|
||||||
|
|
||||||
Please also note that further improvements to the admin protocol can mean that
|
|
||||||
more packet types will be sent by the server. For forward compatibility it is
|
|
||||||
therefore wise to ignore unknown packets. Future improvements might also add
|
|
||||||
additional data to packets. This data should be ignored. Data will never be
|
|
||||||
removed from packets in later versions, except the possibility that complete
|
|
||||||
packets are dropped in favour of a new packet.
|
|
||||||
This though will be reflected in the protocol version as announced in the
|
|
||||||
ADMIN_PACKET_SERVER_PROTOCOL in section 2.0).
|
|
||||||
|
|
||||||
A reference implementation in Java for a client connecting to the admin interface
|
|
||||||
can be found at: http://dev.openttdcoop.org/projects/joan
|
|
||||||
|
|
||||||
|
|
||||||
2.0) Joining the network
|
|
||||||
---- -------------------
|
|
||||||
Create a TCP connection to the server on port 3977. The application is
|
|
||||||
expected to authenticate within 10 seconds.
|
|
||||||
|
|
||||||
To authenticate send a ADMIN_PACKET_ADMIN_JOIN packet.
|
|
||||||
|
|
||||||
The server will reply with ADMIN_PACKET_SERVER_PROTOCOL followed directly by
|
|
||||||
ADMIN_PACKET_SERVER_WELCOME.
|
|
||||||
|
|
||||||
ADMIN_PACKET_SERVER_PROTOCOL contains details about the protocol version.
|
|
||||||
It is the job of your application to check this number and decide whether
|
|
||||||
it will remain connected or not.
|
|
||||||
Furthermore, this packet holds details on every AdminUpdateType and the
|
|
||||||
supported AdminFrequencyTypes (bitwise representation).
|
|
||||||
|
|
||||||
ADMIN_PACKET_SERVER_WELCOME contains details on the server and the map,
|
|
||||||
e.g. if the server is dedicated, its NetworkLanguage, size of the Map, etc.
|
|
||||||
|
|
||||||
Once you have received ADMIN_PACKET_SERVER_WELCOME you are connected and
|
|
||||||
authorized to do your thing.
|
|
||||||
The server will not provide any game related updates unless you ask for them.
|
|
||||||
There are four packets the server will none the less send, if applicable:
|
|
||||||
- ADMIN_PACKET_SERVER_ERROR
|
|
||||||
- ADMIN_PACKET_SERVER_WELCOME
|
|
||||||
- ADMIN_PACKET_SERVER_NEWGAME
|
|
||||||
- ADMIN_PACKET_SERVER_SHUTDOWN
|
|
||||||
|
|
||||||
However, ADMIN_PACKET_SERVER_WELCOME only after a ADMIN_PACKET_SERVER_NEWGAME
|
|
||||||
|
|
||||||
|
|
||||||
3.0) Asking for updates
|
|
||||||
---- ------------------
|
|
||||||
Asking for updates is done with ADMIN_PACKET_ADMIN_UPDATE_FREQUENCY.
|
|
||||||
With this packet you define which update you wish to receive at which
|
|
||||||
frequency.
|
|
||||||
|
|
||||||
Note: not every update type supports every frequency. If in doubt, you can
|
|
||||||
verify against the data received in ADMIN_PACKET_SERVER_PROTOCOL.
|
|
||||||
|
|
||||||
The server will not confirm your registered update. However, asking for an
|
|
||||||
invalid AdminUpdateType or a not supported AdminUpdateFrequency you will be
|
|
||||||
disconnected from the server with NETWORK_ERROR_ILLEGAL_PACKET.
|
|
||||||
|
|
||||||
Additional debug information can be found with a debug level of net=3.
|
|
||||||
|
|
||||||
ADMIN_UPDATE_DATE results in the server sending:
|
|
||||||
- ADMIN_PACKET_SERVER_DATE
|
|
||||||
|
|
||||||
ADMIN_UPDATE_CLIENT_INFO results in the server sending:
|
|
||||||
- ADMIN_PACKET_SERVER_CLIENT_JOIN
|
|
||||||
- ADMIN_PACKET_SERVER_CLIENT_INFO
|
|
||||||
- ADMIN_PACKET_SERVER_CLIENT_UPDATE
|
|
||||||
- ADMIN_PACKET_SERVER_CLIENT_QUIT
|
|
||||||
- ADMIN_PACKET_SERVER_CLIENT_ERROR
|
|
||||||
|
|
||||||
ADMIN_UPDATE_COMPANY_INFO results in the server sending:
|
|
||||||
- ADMIN_PACKET_SERVER_COMPANY_NEW
|
|
||||||
- ADMIN_PACKET_SERVER_COMPANY_INFO
|
|
||||||
- ADMIN_PACKET_SERVER_COMPANY_UPDATE
|
|
||||||
- ADMIN_PACKET_SERVER_COMPANY_REMOVE
|
|
||||||
|
|
||||||
ADMIN_UPDATE_COMPANY_ECONOMY results in the server sending:
|
|
||||||
- ADMIN_PACKET_SERVER_COMPANY_ECONOMY
|
|
||||||
|
|
||||||
ADMIN_UPDATE_COMPANY_STATS results in the server sending:
|
|
||||||
- ADMIN_PACKET_SERVER_COMPANY_STATS
|
|
||||||
|
|
||||||
ADMIN_UPDATE_CHAT results in the server sending:
|
|
||||||
- ADMIN_PACKET_SERVER_CHAT
|
|
||||||
|
|
||||||
ADMIN_UPDATE_CONSOLE results in the server sending:
|
|
||||||
- ADMIN_PACKET_SERVER_CONSOLE
|
|
||||||
|
|
||||||
|
|
||||||
ADMIN_UPDATE_CMD_LOGGING results in the server sending:
|
|
||||||
- ADMIN_PACKET_SERVER_CMD_LOGGING
|
|
||||||
|
|
||||||
3.1) Polling manually
|
|
||||||
---- ----------------
|
|
||||||
Certain AdminUpdateTypes can also be polled:
|
|
||||||
- ADMIN_UPDATE_DATE
|
|
||||||
- ADMIN_UPDATE_CLIENT_INFO
|
|
||||||
- ADMIN_UPDATE_COMPANY_INFO
|
|
||||||
- ADMIN_UPDATE_COMPANY_ECONOMY
|
|
||||||
- ADMIN_UPDATE_COMPANY_STATS
|
|
||||||
- ADMIN_UPDATE_CMD_NAMES
|
|
||||||
|
|
||||||
ADMIN_UPDATE_CLIENT_INFO and ADMIN_UPDATE_COMPANY_INFO accept an additional
|
|
||||||
parameter. This parameter is used to specify a certain client or company.
|
|
||||||
Setting this parameter to UINT32_MAX (0xFFFFFFFF) will tell the server you
|
|
||||||
want to receive updates for all clients or companies.
|
|
||||||
|
|
||||||
Not supported AdminUpdateType in the poll will result in the server
|
|
||||||
disconnecting the application with NETWORK_ERROR_ILLEGAL_PACKET.
|
|
||||||
|
|
||||||
Additional debug information can be found with a debug level of net=3.
|
|
||||||
|
|
||||||
|
|
||||||
4.0) Sending rcon commands
|
|
||||||
---- ---------------------
|
|
||||||
Rcon runs separate from the ADMIN_UPDATE_CONSOLE AdminUpdateType. Requesting
|
|
||||||
the execution of a remote console command is done with the packet
|
|
||||||
ADMIN_PACKET_ADMIN_RCON.
|
|
||||||
|
|
||||||
Note: No additional authentication is required for rcon commands.
|
|
||||||
|
|
||||||
The server will reply with one or more ADMIN_PACKET_SERVER_RCON packets.
|
|
||||||
Finally an ADMIN_PACKET_ADMIN_RCON_END packet will be sent. Applications
|
|
||||||
will not receive the answer twice if they have asked for the AdminUpdateType
|
|
||||||
ADMIN_UPDATE_CONSOLE, as the result is not printed on the servers console
|
|
||||||
(just like clients rcon commands).
|
|
||||||
|
|
||||||
Furthermore, sending a 'say' command (or any similar command) will not
|
|
||||||
be sent back into the admin network.
|
|
||||||
Chat from the server itself will only be sent to the admin network when it
|
|
||||||
was not sent from the admin network.
|
|
||||||
|
|
||||||
Note that when content is queried or updated via rcon, the processing
|
|
||||||
happens asynchronously. But the ADMIN_PACKET_ADMIN_RCON_END packet is sent
|
|
||||||
already right after the content is requested as there's no immediate output.
|
|
||||||
Thus other packages and the output of content rcon command may be sent at
|
|
||||||
an arbitrary later time, mixing into the output of other console activity,
|
|
||||||
e.g. also of possible subsequent other rcon commands sent.
|
|
||||||
|
|
||||||
|
|
||||||
5.0) Sending chat
|
|
||||||
---- ------------
|
|
||||||
Sending a ADMIN_PACKET_ADMIN_CHAT results in chat originating from the server.
|
|
||||||
|
|
||||||
Currently four types of chat are supported:
|
|
||||||
- NETWORK_ACTION_CHAT
|
|
||||||
- NETWORK_ACTION_CHAT_CLIENT
|
|
||||||
- NETWORK_ACTION_CHAT_COMPANY
|
|
||||||
- NETWORK_ACTION_SERVER_MESSAGE
|
|
||||||
|
|
||||||
NETWORK_ACTION_SERVER_MESSAGE can be sent to a single client or company
|
|
||||||
using the respective DestType and ID.
|
|
||||||
This is a message prefixed with the 3 stars, e.g. *** foo has joined the game
|
|
||||||
|
|
||||||
5.1) Receiving chat
|
|
||||||
---- -------------
|
|
||||||
Register ADMIN_UPDATE_CHAT at ADMIN_FREQUENCY_AUTOMATIC to receive chat.
|
|
||||||
The application will be able to receive all chat the server can see.
|
|
||||||
|
|
||||||
The configuration option network.server_admin_chat specifies whether
|
|
||||||
private chat for to the server is distributed into the admin network.
|
|
||||||
|
|
||||||
|
|
||||||
6.0) Disconnecting
|
|
||||||
---- -------------
|
|
||||||
It is a kind thing to say good bye before leaving. Do this by sending the
|
|
||||||
ADMIN_PACKET_ADMIN_QUIT packet.
|
|
||||||
|
|
||||||
|
|
||||||
7.0) Certain packet information
|
|
||||||
---- --------------------------
|
|
||||||
All ADMIN_PACKET_SERVER_* packets have an enum value greater 100.
|
|
||||||
|
|
||||||
ADMIN_PACKET_SERVER_WELCOME
|
|
||||||
Either directly follows ADMIN_PACKET_SERVER_PROTOCOL or is sent
|
|
||||||
after a new game has been started or a map loaded, i.e. also
|
|
||||||
after ADMIN_PACKET_SERVER_NEWGAME.
|
|
||||||
|
|
||||||
ADMIN_PACKET_SERVER_CLIENT_JOIN and ADMIN_PACKET_SERVER_COMPANY_NEW
|
|
||||||
These packets directly follow their respective INFO packets. If you receive
|
|
||||||
a CLIENT_JOIN / COMPANY_NEW packet without having received the INFO packet
|
|
||||||
it may be a good idea to POLL for the specific ID.
|
|
||||||
|
|
||||||
ADMIN_PACKET_SERVER_CMD_NAMES and ADMIN_PACKET_SERVER_CMD_LOGGING
|
|
||||||
Data provided with these packets is not stable and will not be
|
|
||||||
treated as such. Do not rely on IDs or names to be constant
|
|
||||||
across different versions / revisions of OpenTTD.
|
|
||||||
Data provided in this packet is for logging purposes only.
|
|
||||||
268
docs/desync.txt
268
docs/desync.txt
@@ -1,268 +0,0 @@
|
|||||||
Some explanations about Desyncs
|
|
||||||
Last updated: 2014-02-23
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
Table of contents
|
|
||||||
-----------------
|
|
||||||
1.0) Desync theory
|
|
||||||
* 1.1) OpenTTD multiplayer architecture
|
|
||||||
* 1.2) What is a Desync and how is it detected
|
|
||||||
* 1.3) Typical causes of Desyncs
|
|
||||||
2.0) What to do in case of a Desync
|
|
||||||
* 2.1) Cache debugging
|
|
||||||
* 2.2) Desync recording
|
|
||||||
3.0) Evaluating the Desync records
|
|
||||||
* 3.1) Replaying
|
|
||||||
* 3.2) Evaluation the replay
|
|
||||||
* 3.3) Comparing savegames
|
|
||||||
|
|
||||||
|
|
||||||
1.1) OpenTTD multiplayer architecture
|
|
||||||
---- --------------------------------
|
|
||||||
OpenTTD has a huge gamestate, which changes all of the time.
|
|
||||||
The savegame contains the complete gamestate at a specific point
|
|
||||||
in time. But this state changes completely each tick: Vehicles move
|
|
||||||
and trees grow.
|
|
||||||
|
|
||||||
However, most of these changes in the gamestate are deterministic:
|
|
||||||
Without a player interfering a vehicle follows its orders always
|
|
||||||
in the same way, and trees always grow the same.
|
|
||||||
|
|
||||||
In OpenTTD multiplayer synchronisation works by creating a savegame
|
|
||||||
when clients join, and then transfering that savegame to the client,
|
|
||||||
so it has the complete gamestate at a fixed point in time.
|
|
||||||
|
|
||||||
Afterwards clients only receive 'commands', that is: Stuff which is
|
|
||||||
not predictable, like
|
|
||||||
- player actions
|
|
||||||
- AI actions
|
|
||||||
- GameScript actions
|
|
||||||
- Admin Port command
|
|
||||||
- rcon commands
|
|
||||||
- ...
|
|
||||||
|
|
||||||
These commands contain the information on how to execute the command,
|
|
||||||
and when to execute it. Time is measured in 'network frames'.
|
|
||||||
Mind that network frames to not match ingame time. Network frames
|
|
||||||
also run while the game is paused, to give a defined behaviour to
|
|
||||||
stuff that is executing while the game is paused.
|
|
||||||
|
|
||||||
The deterministic part of the gamestate is run by the clients on
|
|
||||||
their own. All they get from the server is the instruction to
|
|
||||||
run the gamestate up to a certain network time, which basically
|
|
||||||
says that there are no commands scheduled in that time.
|
|
||||||
|
|
||||||
When a client (which includes the server itself) wants to execute
|
|
||||||
a command (i.e. a non-predictable action), it does this by
|
|
||||||
- calling DoCommandP resp. DoCommandPInternal
|
|
||||||
- These functions first do a local test-run of the command to
|
|
||||||
check simple preconditions. (Just to give the client an
|
|
||||||
immediate response without bothering the server and waiting for
|
|
||||||
the response.) The test-run may not actually change the
|
|
||||||
gamestate, all changes must be discarded.
|
|
||||||
- If the local test-run succeeds the command is sent to the server.
|
|
||||||
- The server inserts the command into the command queue, which
|
|
||||||
assigns a network frame to the commands, i.e. when it shall be
|
|
||||||
executed on all clients.
|
|
||||||
- Enhanced with this specific timestamp, the command is send to all
|
|
||||||
clients, which execute the command simultaneously in the same
|
|
||||||
network frame in the same order.
|
|
||||||
|
|
||||||
1.2) What is a Desync and how is it detected
|
|
||||||
---- ---------------------------------------
|
|
||||||
In the ideal case all clients have the same gamestate as the server
|
|
||||||
and run in sync. That is, vehicle movement is the same on all
|
|
||||||
clients, and commands are executed the same everywhere and
|
|
||||||
have the same results.
|
|
||||||
|
|
||||||
When a Desync happens, it means that the gamestates on the clients
|
|
||||||
(including the server) are no longer the same. Just imagine
|
|
||||||
that a vehicle picks the left line instead of the right line at
|
|
||||||
a junction on one client.
|
|
||||||
|
|
||||||
The important thing here is, that noone notices when a Desync
|
|
||||||
occurs. The desync client will continue to simulate the gamestate
|
|
||||||
and execute commands from the server. Once the gamestate differs
|
|
||||||
it will increasingly spiral out of control: If a vehicle picks a
|
|
||||||
different route, it will arrive at a different time at a station,
|
|
||||||
which will load different cargo, which causes other vehicles to
|
|
||||||
load other stuff, which causes industries to notice different
|
|
||||||
servicing, which causes industries to change production, ...
|
|
||||||
the client could run all day in a different universe.
|
|
||||||
|
|
||||||
To limit how long a Desync can remain unnoticed, the server
|
|
||||||
transfers some checksums every now and then for the gamestate.
|
|
||||||
Currently this checksum is the state of the random number
|
|
||||||
generator of the game logic. A lot of things in OpenTTD depend
|
|
||||||
on the RNG, and if the gamestate differs, it is likely that the
|
|
||||||
RNG is called at different times, and the state differs when
|
|
||||||
checked.
|
|
||||||
|
|
||||||
The clients compare this 'checksum' with the checksum of their
|
|
||||||
own gamestate at the specific network frame. If they differ,
|
|
||||||
the client disconnects with a Desync error.
|
|
||||||
|
|
||||||
The important thing here is: The detection of the Desync is
|
|
||||||
only an ultimate failure detection. It does not give any
|
|
||||||
indication on when the Desync happened. The Desync may after
|
|
||||||
all have occurred long ago, and just did not affect the checksum
|
|
||||||
up to now. The checksum may have matched 10 times or more
|
|
||||||
since the Desync happend, and only now the Desync has spiraled
|
|
||||||
enough to finally affect the checksum. (There was once a desync
|
|
||||||
which was only noticed by the checksum after 20 game years.)
|
|
||||||
|
|
||||||
1.3) Typical causes of Desyncs
|
|
||||||
---- -------------------------
|
|
||||||
Desyncs can be caused by the following scenarios:
|
|
||||||
- The savegame does not describe the complete gamestate.
|
|
||||||
- Some information which affects the progression of the
|
|
||||||
gamestate is not saved in the savegame.
|
|
||||||
- Some information which affects the progression of the
|
|
||||||
gamestate is not loaded from the savegame.
|
|
||||||
This includes the case that something is not completely
|
|
||||||
reset before loading the savegame, so data from the
|
|
||||||
previous game is carried over to the new one.
|
|
||||||
- The gamestate does not behave deterministic.
|
|
||||||
- Cache mismatch: The game logic depends on some cached
|
|
||||||
values, which are not invalidated properly. This is
|
|
||||||
the usual case for NewGRF-specific Desyncs.
|
|
||||||
- Undefined behaviour: The game logic performs multiple
|
|
||||||
things in an undefined order or with an undefined
|
|
||||||
result. E.g. when sorting something with a key while
|
|
||||||
some keys are equal. Or some computation that depends
|
|
||||||
on the CPU architecture (32/64 bit, little/big endian).
|
|
||||||
- The gamestate is modified when it shall not be modified.
|
|
||||||
- The test-run of a command alters the gamestate.
|
|
||||||
- The gamestate is altered by a player or script without
|
|
||||||
using commands.
|
|
||||||
|
|
||||||
|
|
||||||
2.1) Cache debugging
|
|
||||||
---- ---------------
|
|
||||||
Desyncs which are caused by inproper cache validation can
|
|
||||||
often be found by enabling cache validation:
|
|
||||||
- Start OpenTTD with '-d desync=2'.
|
|
||||||
- This will enable validation of caches every tick.
|
|
||||||
That is, cached values are recomputed every tick and compared
|
|
||||||
to the cached value.
|
|
||||||
- Differences are logged to 'commands-out.log' in the autosave
|
|
||||||
folder.
|
|
||||||
|
|
||||||
Mind that this type of debugging can also be done in singleplayer.
|
|
||||||
|
|
||||||
2.2) Desync recording
|
|
||||||
---- ----------------
|
|
||||||
If you have a server, which happens to encounter Desyncs often,
|
|
||||||
you can enable recording of the gamestate alterations. This
|
|
||||||
will later allow the replay the gamestate and locate the Desync
|
|
||||||
cause.
|
|
||||||
|
|
||||||
There are two levels of Desync recording, which are enabled
|
|
||||||
via '-d desync=2' resp. '-d desync=3'. Both will record all
|
|
||||||
commands to a file 'commands-out.log' in the autosave folder.
|
|
||||||
|
|
||||||
If you have the savegame from the start of the server, and
|
|
||||||
this command log you can replay the whole game. (see Section 3.1)
|
|
||||||
|
|
||||||
If you do not start the server from a savegame, there will
|
|
||||||
also be a savegame created just after a map has been generated.
|
|
||||||
The savegame will be named 'dmp_cmds_*.sav' and be put into
|
|
||||||
the autosave folder.
|
|
||||||
|
|
||||||
In addition to that '-d desync=3' also creates regular savegames
|
|
||||||
at defined spots in network time. (more defined than regular
|
|
||||||
autosaves). These will be created in the autosave folder
|
|
||||||
and will also be named 'dmp_cmds_*.sav'.
|
|
||||||
|
|
||||||
These saves allow comparing the gamestate with the original
|
|
||||||
gamestate during replaying, and thus greatly help debugging.
|
|
||||||
However, they also take a lot of disk space.
|
|
||||||
|
|
||||||
|
|
||||||
3.1) Replaying
|
|
||||||
---- ---------
|
|
||||||
To replay a Desync recording, you need these files:
|
|
||||||
- The savegame from when the server was started, resp.
|
|
||||||
the automatically created savegame from when the map
|
|
||||||
was generated.
|
|
||||||
- The 'commands-out.log' file.
|
|
||||||
- Optionally the 'dmp_cmds_*.sav'.
|
|
||||||
Put these files into a safe spot. (Not your autosave folder!)
|
|
||||||
|
|
||||||
Next, prepare your OpenTTD for replaying:
|
|
||||||
- Get the same version of OpenTTD as the original server was running.
|
|
||||||
- Uncomment/enable the define 'DEBUG_DUMP_COMMANDS' in
|
|
||||||
'src/network/network_func.h'.
|
|
||||||
(DEBUG_FAILED_DUMP_COMMANDS is explained later)
|
|
||||||
- Put the 'commands-out.log' into the root save folder, and rename
|
|
||||||
it to 'commands.log'.
|
|
||||||
- Run 'openttd -D -d desync=3 -g startsavegame.sav'.
|
|
||||||
This replays the server log and creates new 'commands-out.log'
|
|
||||||
and 'dmp_cmds_*.sav' in your autosave folder.
|
|
||||||
|
|
||||||
3.2) Evaluation the replay
|
|
||||||
---- ---------------------
|
|
||||||
The replaying will also compare the checksums which are part of
|
|
||||||
the 'commands-out.log' with the replayed gamestate.
|
|
||||||
If they differ, it will trigger a 'NOT_REACHED'.
|
|
||||||
|
|
||||||
If the replay succeeds without mismatch, that is the replay reproduces
|
|
||||||
the original server state:
|
|
||||||
- Repeat the replay starting from incrementally later 'dmp_cmds_*.sav'
|
|
||||||
while truncating the 'commands.log' at the beginning appropriately.
|
|
||||||
The 'dmp_cmds_*.sav' can be your own ones from the first reply, or
|
|
||||||
the ones from the original server (if you have them).
|
|
||||||
(This simulates the view of joining clients during the game.)
|
|
||||||
- If one of those replays fails, you have located the Desync between
|
|
||||||
the last dmp_cmds that reproduces the replay and the first one
|
|
||||||
that fails.
|
|
||||||
|
|
||||||
If the replay does not succeed without mismatch, you can check the logs
|
|
||||||
whether there were failed commands. Then you may try to replay with
|
|
||||||
DEBUG_FAILED_DUMP_COMMANDS enabled. If the replay then fails, the
|
|
||||||
command test-run of the failed command modified the game state.
|
|
||||||
|
|
||||||
If you have the original 'dmp_cmds_*.sav', you can also compare those
|
|
||||||
savegames with your own ones from the replay. You can also comment/disable
|
|
||||||
the 'NOT_REACHED' mentioned above, to get another 'dmp_cmds_*.sav' from
|
|
||||||
the replay after the mismatch has already been detected.
|
|
||||||
See Section 3.2 on how to compare savegames.
|
|
||||||
If the saves differ you have located the Desync between the last dmp_cmds
|
|
||||||
that match and the first one that does not. The difference of the saves
|
|
||||||
may point you in the direction of what causes it.
|
|
||||||
|
|
||||||
If the replay succeeds without mismatch, and you do not have any
|
|
||||||
'dmp_cmd_*.sav' from the original server, it is a lost case.
|
|
||||||
Enable creation of the 'dmp_cmd_*.sav' on the server, and wait for the
|
|
||||||
next Desync.
|
|
||||||
|
|
||||||
Finally, you can also compare the 'commands-out.log' from the original
|
|
||||||
server with the one from the replay. They will differ in stuff like
|
|
||||||
dates, and the original log will contain the chat, but otherwise they
|
|
||||||
should match.
|
|
||||||
|
|
||||||
3.2) Comparing savegames
|
|
||||||
---- -------------------
|
|
||||||
The binary form of the savegames from the original server and from
|
|
||||||
your replay will always differ:
|
|
||||||
- The savegame contains paths to used NewGRF files.
|
|
||||||
- The gamelog will log your loading of the savegame.
|
|
||||||
- The savegame data of AIs and the Gamescript will differ.
|
|
||||||
Scripts are not run during the replay, only their recorded commands
|
|
||||||
are replayed. Their internal state will thus not change in the
|
|
||||||
replay and will differ.
|
|
||||||
|
|
||||||
To compare savegame more semantically, there exist some ugly hackish
|
|
||||||
tools at:
|
|
||||||
http://devs.openttd.org/~frosch/texts/zpipe.c
|
|
||||||
http://devs.openttd.org/~frosch/texts/printhunk.c
|
|
||||||
|
|
||||||
The first one decompresses OpenTTD savegames. The second one creates
|
|
||||||
a textual representation of an uncompressed savegame, by parsing hunks
|
|
||||||
and arrays and such. With both tools you need to be a bit careful
|
|
||||||
since they work on stdin and stdout, which may not deal well with
|
|
||||||
binary data.
|
|
||||||
|
|
||||||
If you have the textual representation of the savegames, you can
|
|
||||||
compare them with regular diff tools.
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
Some clarifications about the link graph
|
|
||||||
----------------------------------------
|
|
||||||
|
|
||||||
InitializeLinkGraphs joins all threads, so if the game is abandoned
|
|
||||||
with some threads still running, they're joined as soon as the next game
|
|
||||||
(possibly the title game) is started. See also InitializeGame.
|
|
||||||
|
|
||||||
The MCF (multi-commodity flow) algorithm can be quite CPU-hungry as it's
|
|
||||||
NP-hard and takes exponential time (though with a very small constant
|
|
||||||
factor) in the number of nodes.
|
|
||||||
This is why it is run in a separate thread where possible. However after
|
|
||||||
some time the thread is joined and if it hasn't finished by then the game
|
|
||||||
will hang. This problem gets worse if we are running on a platform without
|
|
||||||
threads. However, as those are usually the ones with less CPU power I
|
|
||||||
assume the contention for the CPU would make the game hard to play even
|
|
||||||
with threads or even without cargodist (autosave ...). I might be wrong,
|
|
||||||
but I won't put any work into this before someone shows me some problem.
|
|
||||||
|
|
||||||
You can configure the link graph recalculation time. A link graph
|
|
||||||
recalculation time of X days means that each link graph job has X days
|
|
||||||
to run before it is joined. The downside is that the flow stats won't be
|
|
||||||
updated before the job is finished and thus a high value means less
|
|
||||||
updates and longer times until changes in capacities are accounted for.
|
|
||||||
If you play a very large map with a complicated link graph you may want to
|
|
||||||
raise the time setting to avoid lags. The same holds for systems with slow
|
|
||||||
CPUs.
|
|
||||||
|
|
||||||
Another option to avoid excessive lags is to reduce the accuracy of link
|
|
||||||
graph calculations. Generally the accuracy is inversely correlated to the
|
|
||||||
CPU requirements of the MCF algorithm.
|
|
||||||
@@ -1,219 +0,0 @@
|
|||||||
Multiplayer manual for OpenTTD
|
|
||||||
Last updated: 2011-02-16
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
Table of contents
|
|
||||||
-----------------
|
|
||||||
1.0) Starting a server
|
|
||||||
2.0) Connecting to a server
|
|
||||||
* 2.1) Connecting to a server over the console
|
|
||||||
3.0) Playing internet games
|
|
||||||
4.0) Tips for servers
|
|
||||||
* 4.1) Imposing landscaping limits
|
|
||||||
5.0) Some useful things
|
|
||||||
6.0) Troubleshooting
|
|
||||||
|
|
||||||
|
|
||||||
1.0) Starting a server
|
|
||||||
---- -----------------
|
|
||||||
- Make sure that you have your firewall of the computer as well as possible
|
|
||||||
routers or modems of the server configured such that:
|
|
||||||
* port 3979 is free for both UDP and TCP connections in- and outgoing
|
|
||||||
* port 3978 is free outbound for UDP in order to advertise with the master
|
|
||||||
server (if desired). Otherwise you'll have to tell players your IP.
|
|
||||||
* port 3977 if use of the admin interface is desired (see admin_network.txt)
|
|
||||||
- Click "multiplayer" on the startup screen
|
|
||||||
- Click "start server"
|
|
||||||
- Type in a game name
|
|
||||||
- Select the type of game ('LAN/Internet' or 'Internet (advertise)'. With the
|
|
||||||
last one other people are able to see you online. Else they need your IP and
|
|
||||||
port to join)
|
|
||||||
- Click "start game", "load game" or "load scenario"
|
|
||||||
- Start playing
|
|
||||||
|
|
||||||
|
|
||||||
2.0) Connecting to a server
|
|
||||||
---- ----------------------
|
|
||||||
- Click "multiplayer" on the startup screen
|
|
||||||
|
|
||||||
- If you want to connect to any network game in your LAN click on 'LAN', then
|
|
||||||
on 'Find Server'
|
|
||||||
- If you want to see which servers all online on the Internet, click on
|
|
||||||
'Internet' and 'Find Server'
|
|
||||||
|
|
||||||
- If there were more than one server
|
|
||||||
- select one in the list below the buttons
|
|
||||||
- click on 'join game'
|
|
||||||
|
|
||||||
- If you want to play and you have the ip or hostname of the game server you
|
|
||||||
want connect to.
|
|
||||||
- click add server
|
|
||||||
- type in the ip address or hostname
|
|
||||||
- if you want to add a port use :<port>
|
|
||||||
|
|
||||||
- Now you can select a company and press: "Join company", to help that company
|
|
||||||
- Or you can press "Spectate game", to spectate the game
|
|
||||||
- Or you can press "New company", and start your own company (if there are
|
|
||||||
slots free)
|
|
||||||
|
|
||||||
- You see a progressbar how far you are with joining the server.
|
|
||||||
|
|
||||||
- Happy playing
|
|
||||||
|
|
||||||
2.1) Connecting to a server over the console
|
|
||||||
---- ---------------------------------------
|
|
||||||
- Open the console and type in the following command:
|
|
||||||
connect <ip/host>:<port>#<company-no>
|
|
||||||
|
|
||||||
|
|
||||||
3.0) Playing internet games
|
|
||||||
---- ----------------------
|
|
||||||
- Servers with a red dot behind it have a different version then you have. You
|
|
||||||
will not be able to join those servers.
|
|
||||||
|
|
||||||
- Servers with a yellow dot behind it have NewGRFs that you do not have. You
|
|
||||||
will not be able to join those servers. However, via "NewGRF Settings" and
|
|
||||||
"Find missing content online" you might be able to download the needed
|
|
||||||
NewGRFs after which you can join the server.
|
|
||||||
|
|
||||||
- It can happen that a connection is that slow, or you have that many clients
|
|
||||||
connected to your server, that your clients start to loose their connection.
|
|
||||||
Some things you can do about it:
|
|
||||||
- [network] frame_freq:
|
|
||||||
change it in console with: 'set network.frame_freq <number>'
|
|
||||||
the number should be between the 0 and 10, not much higher. It indicates
|
|
||||||
the delay between clicking and showing up. The higher, the more you notice
|
|
||||||
it, but the less bandwidth you use.
|
|
||||||
A good value for Internet-games is 2 or 3.
|
|
||||||
|
|
||||||
- [network] sync_freq:
|
|
||||||
change it in console with: 'set network.sync_freq <number>'
|
|
||||||
the number should be between the 50 and 1000, not much lower, not much
|
|
||||||
higher. It indicates the time between sync-frames. A sync-frame is a frame
|
|
||||||
which checks if all clients are still in sync. When the value it too high,
|
|
||||||
clients can desync in 1960, but the server detects it in 1970. Not really
|
|
||||||
handy. The lower the value, the more bandwidth it uses.
|
|
||||||
|
|
||||||
NB: changing frame_freq has more effect on the bandwidth then sync_freq.
|
|
||||||
|
|
||||||
|
|
||||||
4.0) Tips for servers
|
|
||||||
---- ----------------
|
|
||||||
- You can launch a dedicated server by adding -D as parameter.
|
|
||||||
- In UNIX like systems, you can fork your dedicated server by adding -f as
|
|
||||||
parameter.
|
|
||||||
|
|
||||||
- You can automatically clean companies that do not have a client connected to
|
|
||||||
them, for, let's say, 3 years. You can do this via: 'set autoclean_companies'
|
|
||||||
and 'set autoclean_protected' and 'set autoclean_unprotected'. Unprotected
|
|
||||||
removes a password from a company when it is not used for more then the
|
|
||||||
defined amount of months. 'set autoclean_novehicles' can be used to remove
|
|
||||||
companies without any vehicles quickly.
|
|
||||||
|
|
||||||
- You can also do this manually via the console: 'reset_company'.
|
|
||||||
|
|
||||||
- You can let your server automatically restart a map when, let's say, year 2030
|
|
||||||
is reached. See 'set restart_game_date' for detail.
|
|
||||||
|
|
||||||
- If you want to be on the server-list, enable Advertising. To do this, select
|
|
||||||
'Internet (advertise)' in the Start Server menu, or type in console:
|
|
||||||
'set server_advertise 1'.
|
|
||||||
|
|
||||||
- You can protect your server with a password via the console: 'set server_pw',
|
|
||||||
or via the Start Server menu.
|
|
||||||
|
|
||||||
- When you have many clients connected to your server via Internet, watch your
|
|
||||||
bandwidth (if you have any limit on it, set by your ISP). One client uses
|
|
||||||
about 1.5 kilobytes per second up and down. To decrease this amount, setting
|
|
||||||
'frame_freq' to 1 will reduce it to roughly 1 kilobyte per second per client.
|
|
||||||
|
|
||||||
- OpenTTD's default settings for maximum number of clients, and amount of data
|
|
||||||
from clients to process are chosen to not influence the normal playing of
|
|
||||||
people, but to prevent or at least make it less likely that someone can
|
|
||||||
perform a (distributed) denial-of-service attack on your server by causing
|
|
||||||
an out-of-memory event by flooding the server with data to send to all
|
|
||||||
clients. The major factor in this is the maximum number of clients; with
|
|
||||||
32 clients "only" sending one chat message causes 1024 messages to be
|
|
||||||
distributed in total, with 64 clients that already quadruples to 4096. Given
|
|
||||||
that upstream bandwidth is usually the limiting factor, a queue of packets
|
|
||||||
that need to be sent will be created.
|
|
||||||
To prevent clients from exploiting this "explosion" of packets to send we
|
|
||||||
limit the number of incoming data, resulting in effectively limiting the
|
|
||||||
amount of data that OpenTTD will send to the clients. Even with the default
|
|
||||||
limits it is possible to generate about 70.000 packets per second, or about
|
|
||||||
7 megabit per second of traffic.
|
|
||||||
Given that OpenTTD kicks clients after they have not reacted within about 9
|
|
||||||
seconds from sending a frame update packet it would be possible that OpenTTD
|
|
||||||
keeps about 600.000 packets in memory, using about 50 megabytes of memory.
|
|
||||||
Given that OpenTTD allows short bursts of packets, you can have slightly
|
|
||||||
more packets in memory in case of a distributed denial of service attack.
|
|
||||||
When increasing the amount of incoming data, or the maximum number of
|
|
||||||
clients the amount of memory OpenTTD needs in case of a distributed denial
|
|
||||||
of service attack is linearly related to the amount of incoming data and
|
|
||||||
quadratic to the amount of clients. In short, a rule of thumb for, the
|
|
||||||
maximum memory usage for packets is:
|
|
||||||
#max_clients * #max_clients * bytes_per_frame * 10 KiB.
|
|
||||||
|
|
||||||
4.1) Imposing landscaping limits
|
|
||||||
---- ---------------------------
|
|
||||||
- You can impose limits on companies by the following 4 settings:
|
|
||||||
- terraform_per_64k_frames
|
|
||||||
- terraform_frame_burst
|
|
||||||
- clear_per_64k_frames
|
|
||||||
- clear_frame_burst
|
|
||||||
|
|
||||||
- Explaining 'per_64K_frames' and 'burst'
|
|
||||||
- 'burst' defines 3 things, the maximum limit, the limit of a single action,
|
|
||||||
and the initial value for the limit assigned to a new company.
|
|
||||||
This setting is fairly simple and requires no math.
|
|
||||||
|
|
||||||
A value of 1 means a single tile can be affected by a single action.
|
|
||||||
This results in having to click 400 times when wanting to cover an area
|
|
||||||
of 20 x 20 tiles.
|
|
||||||
|
|
||||||
The default value 4096 covers an area of 64 x 64 tiles.
|
|
||||||
|
|
||||||
- 'per_64k_frames' defines the number of tiles added to each companies limit
|
|
||||||
per frame (however not past the possible maximum value,the 'burst').
|
|
||||||
64k rather resembles the exact number of 65536 frames. So setting this
|
|
||||||
variable to 65536 means: 65536 / 65536 = 1 tile per frame.
|
|
||||||
As a day consists of 74 frames, a company's limit is increased by 74
|
|
||||||
tiles during the course of a single day (2.22 seconds).
|
|
||||||
|
|
||||||
To achieve a 1 tile per day increase the following calculation is needed:
|
|
||||||
1 / 74 (frames per day) * 65536 (per_64k_frames) = 885.62...
|
|
||||||
after rounding: a value of 886 means adding a bit over 1 tile per day.
|
|
||||||
|
|
||||||
There is still enough space to scale this value downwards:
|
|
||||||
decreasing this value to 127 results in a bit over 1 tile added to the
|
|
||||||
allowance per week (7 days).
|
|
||||||
|
|
||||||
To create a setup in which a company gets an initial allowance only,
|
|
||||||
set the value to 0 - no increase of the allowance per frame.
|
|
||||||
|
|
||||||
- Even though construction actions include a clear tile action, they are not
|
|
||||||
affected by the above settings.
|
|
||||||
|
|
||||||
|
|
||||||
5.0) Some useful things
|
|
||||||
---- ------------------
|
|
||||||
- You can protect your company so nobody else can join uninvited. To do this,
|
|
||||||
set a password in your Company Screen
|
|
||||||
|
|
||||||
- You can give other players some money via the ClientList (under the 'head'
|
|
||||||
in the mainbar).
|
|
||||||
|
|
||||||
- You can chat with other players via ENTER or via SHIFT+T or via the ClientList
|
|
||||||
|
|
||||||
- Servers can now kick players, so don't make them use it!
|
|
||||||
|
|
||||||
|
|
||||||
6.0) Troubleshooting
|
|
||||||
---- ---------------
|
|
||||||
- My advertising server does not show up in list at servers.openttd.org
|
|
||||||
Run openttd with the '-d net=2' parameter. That will show which incoming
|
|
||||||
communication is received, whether the replies from the master server or
|
|
||||||
communication from an admin tool reach the programme. See section 1
|
|
||||||
'Starting a server' further up for the ports and protocols used by OpenTTD.
|
|
||||||
The ports can be configured in the config file.
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# $Id$
|
|
||||||
# http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.0.html
|
|
||||||
[Desktop Entry]
|
|
||||||
Type=Application
|
|
||||||
Version=1.0
|
|
||||||
Name=OpenTTD
|
|
||||||
Icon=openttd
|
|
||||||
Exec=openttd
|
|
||||||
Terminal=false
|
|
||||||
Categories=Game;
|
|
||||||
Comment=A clone of Transport Tycoon Deluxe
|
|
||||||
Keywords=game;simulation;transport;tycoon;deluxe;economics;multiplayer;money;train;ship;bus;truck;aircraft;cargo;
|
|
||||||
@@ -1,119 +0,0 @@
|
|||||||
# Auto-generated file from 'Makefile.grf.in' -- DO NOT EDIT
|
|
||||||
# $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/>.
|
|
||||||
#
|
|
||||||
# Building requires GRFCodec.
|
|
||||||
#
|
|
||||||
# Recent versions (including sources) can be found at:
|
|
||||||
# http://www.openttd.org/download-grfcodec
|
|
||||||
#
|
|
||||||
# The mercurial repository can be found at:
|
|
||||||
# http://hg.openttdcoop.org/grfcodec
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
ROOT_DIR = /home/pavels/Downloads/openttd-1.10.0-beta1
|
|
||||||
GRF_DIR = $(ROOT_DIR)/media/extra_grf
|
|
||||||
BASESET_DIR = $(ROOT_DIR)/media/baseset
|
|
||||||
LANG_DIR = $(ROOT_DIR)/src/lang
|
|
||||||
BIN_DIR = /home/pavels/Downloads/openttd-1.10.0-beta1/bin/baseset
|
|
||||||
OBJS_DIR = /home/pavels/Downloads/openttd-1.10.0-beta1/objs/extra_grf
|
|
||||||
OS = UNIX
|
|
||||||
STAGE = [BASESET]
|
|
||||||
|
|
||||||
# Check if we want to show what we are doing
|
|
||||||
ifdef VERBOSE
|
|
||||||
Q =
|
|
||||||
E = @true
|
|
||||||
else
|
|
||||||
Q = @
|
|
||||||
E = @echo
|
|
||||||
endif
|
|
||||||
|
|
||||||
GRFCODEC :=
|
|
||||||
NFORENUM :=
|
|
||||||
CC_BUILD := gcc
|
|
||||||
MD5SUM := $(shell [ "$(OS)" = "OSX" ] && echo "md5 -r" || echo "md5sum")
|
|
||||||
|
|
||||||
# Some "should not be changed" settings.
|
|
||||||
NFO_FILES := $(GRF_DIR)/*.nfo $(GRF_DIR)/rivers/*.nfo
|
|
||||||
PNG_FILES := $(GRF_DIR)/*.png $(GRF_DIR)/rivers/*.png
|
|
||||||
|
|
||||||
# List of target files.
|
|
||||||
OBT_FILES := $(BIN_DIR)/orig_dos.obg
|
|
||||||
OBT_FILES += $(BIN_DIR)/orig_dos_de.obg
|
|
||||||
OBT_FILES += $(BIN_DIR)/orig_win.obg
|
|
||||||
OBT_FILES += $(BIN_DIR)/orig_dos.obs
|
|
||||||
OBT_FILES += $(BIN_DIR)/orig_win.obs
|
|
||||||
OBT_FILES += $(BIN_DIR)/no_sound.obs
|
|
||||||
OBT_FILES += $(BIN_DIR)/orig_dos.obm
|
|
||||||
OBT_FILES += $(BIN_DIR)/orig_win.obm
|
|
||||||
OBT_FILES += $(BIN_DIR)/no_music.obm
|
|
||||||
OBT_FILES += $(BIN_DIR)/orig_tto.obm
|
|
||||||
|
|
||||||
# Build the GRF.
|
|
||||||
all: $(OBT_FILES)
|
|
||||||
ifdef GRFCODEC
|
|
||||||
all: $(BIN_DIR)/openttd.grf $(BIN_DIR)/orig_extra.grf
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(OBJS_DIR)/langfiles.tmp: $(LANG_DIR)/*.txt
|
|
||||||
$(E) '$(STAGE) Collecting baseset translations'
|
|
||||||
$(Q) cat $^ > $@
|
|
||||||
|
|
||||||
$(BIN_DIR)/%.obg: $(BASESET_DIR)/%.obg $(BIN_DIR)/orig_extra.grf $(OBJS_DIR)/langfiles.tmp $(BASESET_DIR)/translations.awk
|
|
||||||
$(E) '$(STAGE) Updating $(notdir $@)'
|
|
||||||
$(Q) sed 's/^ORIG_EXTRA.GRF = *[0-9a-f]*$$/ORIG_EXTRA.GRF = '`$(MD5SUM) $(BIN_DIR)/orig_extra.grf | sed 's@ .*@@'`'/' $< > $@.tmp
|
|
||||||
$(Q) awk -v langfiles='$(OBJS_DIR)/langfiles.tmp' -f $(BASESET_DIR)/translations.awk $@.tmp >$@
|
|
||||||
$(Q) rm $@.tmp
|
|
||||||
|
|
||||||
$(BIN_DIR)/%.obs: $(BASESET_DIR)/%.obs $(OBJS_DIR)/langfiles.tmp $(BASESET_DIR)/translations.awk
|
|
||||||
$(E) '$(STAGE) Updating $(notdir $@)'
|
|
||||||
$(Q) awk -v langfiles='$(OBJS_DIR)/langfiles.tmp' -f $(BASESET_DIR)/translations.awk $< >$@
|
|
||||||
|
|
||||||
$(BIN_DIR)/%.obm: $(BASESET_DIR)/%.obm $(OBJS_DIR)/langfiles.tmp $(BASESET_DIR)/translations.awk
|
|
||||||
$(E) '$(STAGE) Updating $(notdir $@)'
|
|
||||||
$(Q) awk -v langfiles='$(OBJS_DIR)/langfiles.tmp' -f $(BASESET_DIR)/translations.awk $< >$@
|
|
||||||
|
|
||||||
# Guard against trying to run GRFCODEC/NFORENUM without either being set.
|
|
||||||
ifdef GRFCODEC
|
|
||||||
ifdef NFORENUM
|
|
||||||
|
|
||||||
# Compile extra grf
|
|
||||||
$(BIN_DIR)/openttd.grf: $(PNG_FILES) $(NFO_FILES) $(GRF_DIR)/assemble_nfo.awk
|
|
||||||
$(E) '$(STAGE) Assembling openttd.nfo'
|
|
||||||
$(Q)-mkdir -p $(OBJS_DIR)/sprites
|
|
||||||
$(Q)-cp $(PNG_FILES) $(OBJS_DIR)/sprites 2> /dev/null
|
|
||||||
$(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
|
|
||||||
$(Q)cp $(OBJS_DIR)/openttd.grf $(BIN_DIR)/openttd.grf
|
|
||||||
|
|
||||||
# The copy operation of PNG_FILES is duplicated from the target 'openttd.grf', thus those targets may not run in parallel.
|
|
||||||
$(BIN_DIR)/orig_extra.grf: $(PNG_FILES) $(NFO_FILES) $(GRF_DIR)/assemble_nfo.awk | $(BIN_DIR)/openttd.grf
|
|
||||||
$(E) '$(STAGE) Assembling orig_extra.nfo'
|
|
||||||
$(Q)-mkdir -p $(OBJS_DIR)/sprites
|
|
||||||
$(Q)-cp $(PNG_FILES) $(OBJS_DIR)/sprites 2> /dev/null
|
|
||||||
$(Q) awk -f $(GRF_DIR)/assemble_nfo.awk $(GRF_DIR)/orig_extra.nfo > $(OBJS_DIR)/sprites/orig_extra.nfo
|
|
||||||
$(Q) $(NFORENUM) -s $(OBJS_DIR)/sprites/orig_extra.nfo
|
|
||||||
$(E) '$(STAGE) Compiling orig_extra.grf'
|
|
||||||
$(Q) $(GRFCODEC) -n -s -e -p1 $(OBJS_DIR)/orig_extra.grf
|
|
||||||
$(Q)cp $(OBJS_DIR)/orig_extra.grf $(BIN_DIR)/orig_extra.grf
|
|
||||||
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Clean up temporary files.
|
|
||||||
clean:
|
|
||||||
$(Q)rm -f *.bak *.grf $(OBT_FILES)
|
|
||||||
|
|
||||||
# Clean up temporary files
|
|
||||||
mrproper: clean
|
|
||||||
$(Q)rm -fr sprites
|
|
||||||
|
|
||||||
.PHONY: all mrproper depend clean
|
|
||||||
282549
objs/extra_grf/langfiles.tmp
282549
objs/extra_grf/langfiles.tmp
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user