Merge branch 'master' into cpp-11
# Conflicts: # src/stdafx.h
This commit is contained in:
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
|
2
.gitignore
vendored
2
.gitignore
vendored
@@ -18,6 +18,7 @@ bin/scripts/*
|
|||||||
!bin/scripts/*.example
|
!bin/scripts/*.example
|
||||||
!bin/scripts/readme.txt
|
!bin/scripts/readme.txt
|
||||||
|
|
||||||
|
*.aps
|
||||||
bundle/*
|
bundle/*
|
||||||
bundles/*
|
bundles/*
|
||||||
docs/aidocs/*
|
docs/aidocs/*
|
||||||
@@ -29,6 +30,7 @@ docs/source/*
|
|||||||
media/openttd.desktop
|
media/openttd.desktop
|
||||||
media/openttd.desktop.install
|
media/openttd.desktop.install
|
||||||
objs/*
|
objs/*
|
||||||
|
projects/.vs
|
||||||
projects/Debug
|
projects/Debug
|
||||||
projects/Release
|
projects/Release
|
||||||
projects/*.ncb
|
projects/*.ncb
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
syntax: glob
|
syntax: glob
|
||||||
|
|
||||||
.svn
|
.svn
|
||||||
|
*.aps
|
||||||
bin/baseset/openttd.32.bmp
|
bin/baseset/openttd.32.bmp
|
||||||
bin/lang/*
|
bin/lang/*
|
||||||
bin/openttd*
|
bin/openttd*
|
||||||
@@ -22,6 +23,7 @@ Makefile.bundle
|
|||||||
media/openttd.desktop
|
media/openttd.desktop
|
||||||
media/openttd.desktop.install
|
media/openttd.desktop.install
|
||||||
objs/*
|
objs/*
|
||||||
|
projects/.vs
|
||||||
projects/*.ncb
|
projects/*.ncb
|
||||||
projects/*.suo
|
projects/*.suo
|
||||||
projects/*.sdf
|
projects/*.sdf
|
||||||
|
170
CONTRIBUTING.md
Normal file
170
CONTRIBUTING.md
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
|
||||||
|
# Contributing to OpenTTD
|
||||||
|
|
||||||
|
Looking to contribute something to OpenTTD? **Here's how you can help.**
|
||||||
|
|
||||||
|
Please take a moment to review this document in order to make the contribution process easy and effective for everyone involved.
|
||||||
|
|
||||||
|
Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue or assessing patches and features.
|
||||||
|
|
||||||
|
|
||||||
|
## Using the issue tracker
|
||||||
|
|
||||||
|
The [issue tracker](https://github.com/OpenTTD/OpenTTD/issues) is the preferred channel for [bug reports](#bug-reports), but please respect the following restrictions:
|
||||||
|
|
||||||
|
* Please **do not** use the issue tracker for help playing or using OpenTTD. Please try [irc](https://wiki.openttd.org/IRC_channel), or the [forums](https://www.tt-forums.net/)
|
||||||
|
|
||||||
|
* Please **do not** derail or troll issues. Keep the discussion on topic and respect the opinions of others.
|
||||||
|
|
||||||
|
* Please **do not** post comments consisting solely of "+1" or ":thumbsup:".
|
||||||
|
Use [GitHub's "reactions" feature](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments) instead. We reserve the right to delete comments which violate this rule.
|
||||||
|
|
||||||
|
* Please **do not** open issues or pull requests regarding add-on content in NewGRF, GameScripts, AIs, etc. These are created by third-parties. Please try [irc](https://wiki.openttd.org/IRC_channel) or the [forums](https://www.tt-forums.net/) to discuss these.
|
||||||
|
|
||||||
|
## Bug reports
|
||||||
|
|
||||||
|
A bug is a _demonstrable problem_ that is caused by the code in the repository.
|
||||||
|
Good bug reports are extremely helpful, so thanks!
|
||||||
|
|
||||||
|
Guidelines for bug reports:
|
||||||
|
|
||||||
|
0. Please don't report issues with games where you changed NewGRFs.
|
||||||
|
|
||||||
|
1. Please don't report issues with modified versions of OpenTTD (patchpacks and similar).
|
||||||
|
|
||||||
|
2. **Use the GitHub issue search** --- check if the issue has already been
|
||||||
|
reported.
|
||||||
|
|
||||||
|
3. **Check if the issue has been fixed** --- try to reproduce it using the latest `nightly` build of OpenTTD, available from https://www.openttd.org
|
||||||
|
|
||||||
|
4. **Isolate the problem** --- ideally create reproduceable steps with an attached savegame and screenshots. Try to use few or no NewGRFs, AIs etc if possible.
|
||||||
|
|
||||||
|
A good bug report shouldn't leave others needing to chase you up for more information.
|
||||||
|
Please try to be as detailed as possible in your report.
|
||||||
|
|
||||||
|
* What is your environment?
|
||||||
|
* What steps will reproduce the issue?
|
||||||
|
* Which operating system(s) experience the problem?
|
||||||
|
* What would you expect to be the outcome?
|
||||||
|
|
||||||
|
All these details will help people to fix any potential bugs.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
> Short and descriptive example bug report title
|
||||||
|
>
|
||||||
|
> A summary of the issue and the OS environment in which it occurs. If
|
||||||
|
> suitable, include the steps required to reproduce the bug.
|
||||||
|
>
|
||||||
|
> 1. This is the first step
|
||||||
|
> 2. This is the second step
|
||||||
|
> 3. Further steps, etc.
|
||||||
|
>
|
||||||
|
> Attached savegame
|
||||||
|
> Attached screenshots showing the issue
|
||||||
|
> Crashlogs if the bug causes a crash
|
||||||
|
>
|
||||||
|
> Any other information you want to share that is relevant to the issue being
|
||||||
|
> reported. This might include the lines of code that you have identified as
|
||||||
|
> causing the bug, and potential solutions (and your opinions on their
|
||||||
|
> merits).
|
||||||
|
|
||||||
|
## Feature requests
|
||||||
|
|
||||||
|
Before opening a feature request, please take a moment to find out whether your idea fits with the scope and aims of the project.
|
||||||
|
|
||||||
|
It's up to *you* to make a strong case to convince the project's developers of the merits of this feature.
|
||||||
|
|
||||||
|
Please provide as much detail and context as possible. This means don't request for a solution, but describe the problem you see and how/why you think it should be fixed.
|
||||||
|
|
||||||
|
For feature request we have a strict policy.
|
||||||
|
|
||||||
|
Keeping issues around with "a good idea" or "not really a bug but we should maybe fix it" turns out to have the reversed effect: nobody looks at it anymore.
|
||||||
|
|
||||||
|
Although we really appreciate feedback and ideas, we will close feature requests that we don't expect to fulfill in the next year.
|
||||||
|
|
||||||
|
Many of those ideas etc do have a place on the [forums](https://www.tt-forums.net); and if enough people like it, someone will stand up and make it.
|
||||||
|
|
||||||
|
It's usually best discuss in [irc](https://wiki.openttd.org/IRC_channel) before opening a feature request or working on a large feature in a fork.
|
||||||
|
Discussion in irc can take time, but it can be productive and avoid disappointment :)
|
||||||
|
|
||||||
|
## Pull requests
|
||||||
|
|
||||||
|
Good pull requests—patches, improvements, new features—are a fantastic help.
|
||||||
|
They should remain focused in scope and avoid containing unrelated commits.
|
||||||
|
|
||||||
|
**Please ask first** before embarking on any significant pull request (e.g. implementing features, refactoring code, porting to a different language), otherwise you risk spending a lot of time working on something that the project's developers might not want to merge into the project.
|
||||||
|
|
||||||
|
Please adhere to the [coding guidelines](#code-guidelines) used throughout the project (indentation, accurate comments, etc.) and any other requirements (such as test coverage).
|
||||||
|
|
||||||
|
Adhering to the following process is the best way to get your work included in the project:
|
||||||
|
|
||||||
|
1. [Fork](https://help.github.com/fork-a-repo/) the project, clone your fork, and configure the remotes:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/<your-username>/OpenTTD.git openttd
|
||||||
|
git clone https://github.com/OpenTTD/OpenTTD-git-hooks.git openttd_hooks
|
||||||
|
cd openttd
|
||||||
|
git remote add upstream https://github.com/OpenTTD/OpenTTD.git
|
||||||
|
cd .git/hooks
|
||||||
|
ln -s -t . ../../../openttd_hooks/hooks/*
|
||||||
|
```
|
||||||
|
|
||||||
|
2. If you cloned a while ago, get the latest changes from upstream:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git fetch upstream
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Create a new topic branch (off the main project development branch) to
|
||||||
|
contain your feature, change, or fix:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git checkout upstream/master -b <topic-branch-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Commit your changes in logical chunks. Please adhere to these [git commit message guidelines](https://wiki.openttd.org/Commit_style#Commit_message) or your code is unlikely to be merged into the main project.
|
||||||
|
Use Git's [interactive rebase](https://help.github.com/articles/interactive-rebase) feature to tidy up your commits before making them public.
|
||||||
|
|
||||||
|
5. Locally rebase the upstream development branch into your topic branch:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git fetch upstream
|
||||||
|
git rebase upstream/master
|
||||||
|
```
|
||||||
|
|
||||||
|
6. Push your topic branch up to your fork the first time:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git push --set-upstream origin <topic-branch-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
And any time after that:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git push
|
||||||
|
```
|
||||||
|
|
||||||
|
7. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/) with a clear title and description against the `master` branch.
|
||||||
|
|
||||||
|
**IMPORTANT**: By submitting a patch, you agree to the [License](#license).
|
||||||
|
|
||||||
|
### Pull request validation
|
||||||
|
|
||||||
|
Continuous integration (CI) tools monitor pull requests, and help us identify build and code quality issues.
|
||||||
|
|
||||||
|
The results of the CI tests will show on your pull request.
|
||||||
|
|
||||||
|
By clicking on Details you can further zoom in; in case of a failure it will show you why it failed. In case of success it will report how awesome you were.
|
||||||
|
|
||||||
|
## Code guidelines
|
||||||
|
|
||||||
|
[Code style](https://wiki.openttd.org/Coding_style) must be adhered to for pull requests to be accepted
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
By contributing your code, you agree to license your contribution under the [GPL v2](https://github.com/OpenTTD/OpenTTD/blob/master/COPYING).
|
||||||
|
|
||||||
|
### Attribution of this Contributing Guide
|
||||||
|
|
||||||
|
This contributing guide is adapted from [Bootstrap](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md) under the [Creative Commons Attribution 3.0 Unported License](https://github.com/twbs/bootstrap/blob/master/docs/LICENSE) terms for Bootstrap documentation.
|
2
COPYING
2
COPYING
@@ -1,5 +1,5 @@
|
|||||||
This is the license which applies to OpenTTD with the exception of some
|
This is the license which applies to OpenTTD with the exception of some
|
||||||
3rd party modules. See readme.txt for details
|
3rd party modules. See README.md for details
|
||||||
|
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
75
Jenkinsfile
vendored
Normal file
75
Jenkinsfile
vendored
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
#!/usr/bin/env groovy
|
||||||
|
|
||||||
|
// The stages we run one by one
|
||||||
|
// Please don't add more than 2 items in a single stage; this hurts performance
|
||||||
|
def ci_stages = [
|
||||||
|
"Checkers": [
|
||||||
|
"commit-checker": "openttd/compile-farm-ci:commit-checker",
|
||||||
|
],
|
||||||
|
"Compilers": [
|
||||||
|
"linux-amd64-gcc-6": "openttd/compile-farm-ci:linux-amd64-gcc-6",
|
||||||
|
"linux-amd64-clang-3.8": "openttd/compile-farm-ci:linux-amd64-clang-3.8",
|
||||||
|
],
|
||||||
|
"Archs": [
|
||||||
|
"linux-i386-gcc-6": "openttd/compile-farm-ci:linux-i386-gcc-6",
|
||||||
|
],
|
||||||
|
"OS": [
|
||||||
|
"osx-10.9": "openttd/compile-farm-ci:osx-10.9",
|
||||||
|
],
|
||||||
|
]
|
||||||
|
|
||||||
|
def generateStage(targets) {
|
||||||
|
return targets.collectEntries{ key, target ->
|
||||||
|
["${key}": generateCI(key, target)]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def generateCI(display_name, image_name) {
|
||||||
|
return {
|
||||||
|
githubNotify context: 'openttd/' + display_name, description: 'This commit is being built', status: 'PENDING'
|
||||||
|
|
||||||
|
try {
|
||||||
|
dir("${display_name}") {
|
||||||
|
unstash "source"
|
||||||
|
|
||||||
|
docker.image("${image_name}").pull()
|
||||||
|
docker.image("${image_name}").withRun("--volumes-from ${hostname} --workdir " + pwd()) { c ->
|
||||||
|
sh "docker logs --follow ${c.id}; exit `docker wait ${c.id}`"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
githubNotify context: 'openttd/' + display_name, description: 'The commit looks good', status: 'SUCCESS'
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
githubNotify context: 'openttd/' + display_name, description: 'The commit cannot be built', status: 'FAILURE'
|
||||||
|
throw error
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
node {
|
||||||
|
ansiColor('xterm') {
|
||||||
|
stage("Checkout") {
|
||||||
|
checkout scm
|
||||||
|
|
||||||
|
// Ensure user.email and user.name is set, otherwise rebase cannot work
|
||||||
|
sh "git config user.email 'info@openttd.org'"
|
||||||
|
sh "git config user.name 'OpenTTD CI'"
|
||||||
|
|
||||||
|
// Ensure we also have origin/master available
|
||||||
|
sh "git fetch --no-tags origin master:refs/remotes/origin/master"
|
||||||
|
|
||||||
|
// Try to rebase to origin/master; if this fails, fail the CI
|
||||||
|
sh "git rebase origin/master"
|
||||||
|
|
||||||
|
stash name: "source", useDefaultExcludes: false
|
||||||
|
}
|
||||||
|
|
||||||
|
ci_stages.each { ci_stage ->
|
||||||
|
stage(ci_stage.key) {
|
||||||
|
parallel generateStage(ci_stage.value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@@ -12,15 +12,15 @@
|
|||||||
# The revision is needed for the bundle name and creating an OSX application bundle.
|
# The revision is needed for the bundle name and creating an OSX application bundle.
|
||||||
# Detect the revision
|
# Detect the revision
|
||||||
VERSIONS := $(shell AWK="$(AWK)" "$(ROOT_DIR)/findversion.sh")
|
VERSIONS := $(shell AWK="$(AWK)" "$(ROOT_DIR)/findversion.sh")
|
||||||
REV := $(shell echo "$(VERSIONS)" | cut -f 1 -d' ')
|
VERSION := $(shell echo "$(VERSIONS)" | cut -f 1 -d' ')
|
||||||
|
|
||||||
# Make sure we have something in REV
|
# Make sure we have something in VERSION
|
||||||
ifeq ($(REV),)
|
ifeq ($(VERSION),)
|
||||||
REV := norev000
|
VERSION := norev000
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifndef BUNDLE_NAME
|
ifndef BUNDLE_NAME
|
||||||
BUNDLE_NAME = openttd-custom-$(REV)-$(OS)
|
BUNDLE_NAME = openttd-custom-$(VERSION)-$(OS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# An OSX application bundle needs the data files, lang files and openttd executable in a different location.
|
# An OSX application bundle needs the data files, lang files and openttd executable in a different location.
|
||||||
@@ -69,7 +69,7 @@ endif
|
|||||||
$(Q)cp "$(BIN_DIR)/baseset/opntitle.dat" "$(BASESET_DIR)/"
|
$(Q)cp "$(BIN_DIR)/baseset/opntitle.dat" "$(BASESET_DIR)/"
|
||||||
$(Q)cp "$(BIN_DIR)/baseset/"*.obm "$(BASESET_DIR)/"
|
$(Q)cp "$(BIN_DIR)/baseset/"*.obm "$(BASESET_DIR)/"
|
||||||
$(Q)cp "$(BIN_DIR)/lang/"*.lng "$(LANG_DIR)/"
|
$(Q)cp "$(BIN_DIR)/lang/"*.lng "$(LANG_DIR)/"
|
||||||
$(Q)cp "$(ROOT_DIR)/readme.txt" "$(BUNDLE_DIR)/"
|
$(Q)cp "$(ROOT_DIR)/README.md" "$(BUNDLE_DIR)/"
|
||||||
$(Q)cp "$(ROOT_DIR)/COPYING" "$(BUNDLE_DIR)/"
|
$(Q)cp "$(ROOT_DIR)/COPYING" "$(BUNDLE_DIR)/"
|
||||||
$(Q)cp "$(ROOT_DIR)/known-bugs.txt" "$(BUNDLE_DIR)/"
|
$(Q)cp "$(ROOT_DIR)/known-bugs.txt" "$(BUNDLE_DIR)/"
|
||||||
$(Q)cp "$(ROOT_DIR)/docs/multiplayer.txt" "$(BUNDLE_DIR)/docs/"
|
$(Q)cp "$(ROOT_DIR)/docs/multiplayer.txt" "$(BUNDLE_DIR)/docs/"
|
||||||
@@ -88,7 +88,7 @@ ifdef MENU_DIR
|
|||||||
$(Q)sed s/=openttd/=$(BINARY_NAME)/g "$(BUNDLE_DIR)/media/openttd.desktop" > "$(ROOT_DIR)/media/openttd.desktop.install"
|
$(Q)sed s/=openttd/=$(BINARY_NAME)/g "$(BUNDLE_DIR)/media/openttd.desktop" > "$(ROOT_DIR)/media/openttd.desktop.install"
|
||||||
endif
|
endif
|
||||||
ifeq ($(TTD), openttd.exe)
|
ifeq ($(TTD), openttd.exe)
|
||||||
$(Q)unix2dos "$(BUNDLE_DIR)/docs/"* "$(BUNDLE_DIR)/readme.txt" "$(BUNDLE_DIR)/COPYING" "$(BUNDLE_DIR)/changelog.txt" "$(BUNDLE_DIR)/known-bugs.txt"
|
$(Q)unix2dos "$(BUNDLE_DIR)/docs/"* "$(BUNDLE_DIR)/README.md" "$(BUNDLE_DIR)/COPYING" "$(BUNDLE_DIR)/changelog.txt" "$(BUNDLE_DIR)/known-bugs.txt"
|
||||||
ifeq ($(OS), DOS)
|
ifeq ($(OS), DOS)
|
||||||
$(Q)cp "$(ROOT_DIR)/os/dos/cwsdpmi/cwsdpmi.txt" "$(BUNDLE_DIR)/docs/"
|
$(Q)cp "$(ROOT_DIR)/os/dos/cwsdpmi/cwsdpmi.txt" "$(BUNDLE_DIR)/docs/"
|
||||||
ifndef STRIP
|
ifndef STRIP
|
||||||
@@ -159,7 +159,7 @@ bundle_dmg: bundle
|
|||||||
bundle_exe: all
|
bundle_exe: all
|
||||||
@echo '[BUNDLE] Creating $(BUNDLE_NAME).exe'
|
@echo '[BUNDLE] Creating $(BUNDLE_NAME).exe'
|
||||||
$(Q)mkdir -p "$(BUNDLES_DIR)"
|
$(Q)mkdir -p "$(BUNDLES_DIR)"
|
||||||
$(Q)unix2dos "$(ROOT_DIR)/docs/"*.txt "$(ROOT_DIR)/readme.txt" "$(ROOT_DIR)/COPYING" "$(ROOT_DIR)/changelog.txt" "$(ROOT_DIR)/known-bugs.txt"
|
$(Q)unix2dos "$(ROOT_DIR)/docs/"*.txt "$(ROOT_DIR)/README.md" "$(ROOT_DIR)/COPYING" "$(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)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"
|
$(Q)mv $(ROOT_DIR)/os/windows/installer/*$(PLATFORM).exe "$(BUNDLES_DIR)/$(BUNDLE_NAME).exe"
|
||||||
|
|
||||||
@@ -188,7 +188,7 @@ endif
|
|||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/scripts/"* "$(INSTALL_DATA_DIR)/scripts"
|
$(Q)install -m 644 "$(BUNDLE_DIR)/scripts/"* "$(INSTALL_DATA_DIR)/scripts"
|
||||||
ifndef DO_NOT_INSTALL_DOCS
|
ifndef DO_NOT_INSTALL_DOCS
|
||||||
$(Q)install -d "$(INSTALL_DOC_DIR)"
|
$(Q)install -d "$(INSTALL_DOC_DIR)"
|
||||||
$(Q)install -m 644 "$(BUNDLE_DIR)/docs/"* "$(BUNDLE_DIR)/readme.txt" "$(BUNDLE_DIR)/known-bugs.txt" "$(INSTALL_DOC_DIR)"
|
$(Q)install -m 644 "$(BUNDLE_DIR)/docs/"* "$(BUNDLE_DIR)/README.md" "$(BUNDLE_DIR)/known-bugs.txt" "$(INSTALL_DOC_DIR)"
|
||||||
endif
|
endif
|
||||||
ifndef DO_NOT_INSTALL_CHANGELOG
|
ifndef DO_NOT_INSTALL_CHANGELOG
|
||||||
$(Q)install -d "$(INSTALL_DOC_DIR)"
|
$(Q)install -d "$(INSTALL_DOC_DIR)"
|
||||||
|
@@ -94,15 +94,15 @@ VERSIONS := $(shell AWK="$(AWK)" "$(ROOT_DIR)/findversion.sh")
|
|||||||
MODIFIED := $(shell echo "$(VERSIONS)" | cut -f 3 -d' ')
|
MODIFIED := $(shell echo "$(VERSIONS)" | cut -f 3 -d' ')
|
||||||
|
|
||||||
# Use autodetected revisions
|
# Use autodetected revisions
|
||||||
REV := $(shell echo "$(VERSIONS)" | cut -f 1 -d' ')
|
VERSION := $(shell echo "$(VERSIONS)" | cut -f 1 -d' ')
|
||||||
REV_NR := $(shell echo "$(VERSIONS)" | cut -f 2 -d' ')
|
ISODATE := $(shell echo "$(VERSIONS)" | cut -f 2 -d' ')
|
||||||
|
|
||||||
# Make sure we have something in REV and REV_NR
|
# Make sure we have something in VERSION and ISODATE
|
||||||
ifeq ($(REV),)
|
ifeq ($(VERSION),)
|
||||||
REV := norev000
|
VERSION := norev000
|
||||||
endif
|
endif
|
||||||
ifeq ($(REV_NR),)
|
ifeq ($(ISODATE),)
|
||||||
REV_NR := 0
|
ISODATE := 00000000
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# This helps to recompile if flags change
|
# This helps to recompile if flags change
|
||||||
@@ -113,7 +113,7 @@ RES := $(shell if [ "`cat $(CONFIG_CACHE_ENDIAN) 2>/dev/null`" != "$(ENDIAN_FORC
|
|||||||
# If there is a change in the source-file-list, make sure we recheck the deps
|
# If there is a change in the source-file-list, make sure we recheck the deps
|
||||||
RES := $(shell if [ "`cat $(CONFIG_CACHE_SOURCE) 2>/dev/null`" != "$(SRCS)" ]; then echo "$(SRCS)" > $(CONFIG_CACHE_SOURCE); fi )
|
RES := $(shell if [ "`cat $(CONFIG_CACHE_SOURCE) 2>/dev/null`" != "$(SRCS)" ]; then echo "$(SRCS)" > $(CONFIG_CACHE_SOURCE); fi )
|
||||||
# If there is a change in the revision, make sure we recompile rev.cpp
|
# If there is a change in the revision, make sure we recompile rev.cpp
|
||||||
RES := $(shell if [ "`cat $(CONFIG_CACHE_VERSION) 2>/dev/null`" != "$(REV) $(MODIFIED)" ]; then echo "$(REV) $(MODIFIED)" > $(CONFIG_CACHE_VERSION); fi )
|
RES := $(shell if [ "`cat $(CONFIG_CACHE_VERSION) 2>/dev/null`" != "$(VERSION) $(MODIFIED)" ]; then echo "$(VERSION) $(MODIFIED)" > $(CONFIG_CACHE_VERSION); fi )
|
||||||
|
|
||||||
ifndef MAKEDEPEND
|
ifndef MAKEDEPEND
|
||||||
# The slow, but always correct, dep-check
|
# The slow, but always correct, dep-check
|
||||||
@@ -293,10 +293,10 @@ $(ENDIAN_CHECK): $(SRC_DIR)/endian_check.cpp
|
|||||||
# Revision files
|
# Revision files
|
||||||
|
|
||||||
$(SRC_DIR)/rev.cpp: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/rev.cpp.in
|
$(SRC_DIR)/rev.cpp: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/rev.cpp.in
|
||||||
$(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s@\!\!REVISION\!\!@$(REV_NR)@g;s@!!VERSION!!@$(REV)@g;s@!!MODIFIED!!@$(MODIFIED)@g;s@!!DATE!!@`date +%d.%m.%y`@g" > $(SRC_DIR)/rev.cpp
|
$(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!MODIFIED!!@$(MODIFIED)@g;s@!!DATE!!@`date +%d.%m.%y`@g" > $(SRC_DIR)/rev.cpp
|
||||||
|
|
||||||
$(SRC_DIR)/os/windows/ottdres.rc: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/os/windows/ottdres.rc.in
|
$(SRC_DIR)/os/windows/ottdres.rc: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/os/windows/ottdres.rc.in
|
||||||
$(Q)cat $(SRC_DIR)/os/windows/ottdres.rc.in | sed "s@\!\!REVISION\!\!@$(REV_NR)@g;s@!!VERSION!!@$(REV)@g;s@!!DATE!!@`date +%d.%m.%y`@g" > $(SRC_DIR)/os/windows/ottdres.rc
|
$(Q)cat $(SRC_DIR)/os/windows/ottdres.rc.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!DATE!!@`date +%d.%m.%y`@g" > $(SRC_DIR)/os/windows/ottdres.rc
|
||||||
|
|
||||||
FORCE:
|
FORCE:
|
||||||
|
|
||||||
|
@@ -1,37 +1,33 @@
|
|||||||
Last updated: 2016-07-01
|
# OpenTTD
|
||||||
Release version: 1.6.1
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
## Table of contents
|
||||||
|
|
||||||
Table of contents
|
- 1.0) [About](#10-about)
|
||||||
-----------------
|
- 2.0) [Contacting](#20-contacting)
|
||||||
1.0) About
|
- 2.1) [Reporting bugs](#21-reporting-bugs)
|
||||||
2.0) Contacting
|
- 2.2) [Reporting desyncs](#22-reporting-desyncs)
|
||||||
* 2.1) Reporting bugs
|
- 3.0) [Supported platforms](#30-supported-platforms)
|
||||||
* 2.2) Reporting desyncs
|
- 4.0) [Installing and running OpenTTD](#40-installing-and-running-openttd)
|
||||||
3.0) Supported platforms
|
- 4.1) [(Required) 3rd party files](#41-required-3rd-party-files)
|
||||||
4.0) Installing and running OpenTTD
|
- 4.2) [OpenTTD directories](#42-openttd-directories)
|
||||||
* 4.1) (Required) 3rd party files
|
- 4.3) [Portable installations (portable media)](#43-portable-installations-portable-media)
|
||||||
* 4.2) OpenTTD directories
|
- 4.4) [Files in tar (archives)](#44-files-in-tar-archives)
|
||||||
* 4.3) Portable installations (portable media)
|
- 5.0) [OpenTTD features](#50-openttd-features)
|
||||||
* 4.4) Files in tar (archives)
|
- 5.1) [Logging of potentially dangerous actions](#51-logging-of-potentially-dangerous-actions)
|
||||||
5.0) OpenTTD features
|
- 6.0) [Configuration file](#60-configuration-file)
|
||||||
* 5.1) Logging of potentially dangerous actions
|
- 7.0) [Compiling](#70-compiling)
|
||||||
6.0) Configuration file
|
- 7.1) [Required/optional libraries](#71-requiredoptional-libraries)
|
||||||
7.0) Compiling
|
- 7.2) [Supported compilers](#72-supported-compilers)
|
||||||
* 7.1) Required/optional libraries
|
- 7.3) [Compilation of base sets](#73-compilation-of-base-sets)
|
||||||
* 7.2) Supported compilers
|
- 8.0) [Translating](#80-translating)
|
||||||
* 7.3) Compilation of base sets
|
- 8.1) [Translation](#81-translation)
|
||||||
8.0) Translating
|
- 8.2) [Previewing](#82-previewing)
|
||||||
* 8.1) Translation
|
- 9.0) [Troubleshooting](#90-troubleshooting)
|
||||||
* 8.2) Previewing
|
- 10.0) [Licensing](#100-licensing)
|
||||||
9.0) Troubleshooting
|
- X.X) [Credits](#xx-credits)
|
||||||
10.0) Licensing
|
|
||||||
X.X) Credits
|
|
||||||
|
|
||||||
|
## 1.0) About
|
||||||
|
|
||||||
1.0) About
|
|
||||||
---- -----
|
|
||||||
OpenTTD is a transport simulation game based upon the popular game Transport
|
OpenTTD is a transport simulation game based upon the popular game Transport
|
||||||
Tycoon Deluxe, written by Chris Sawyer. It attempts to mimic the original
|
Tycoon Deluxe, written by Chris Sawyer. It attempts to mimic the original
|
||||||
game as closely as possible while extending it with new features.
|
game as closely as possible while extending it with new features.
|
||||||
@@ -40,60 +36,61 @@ OpenTTD is licensed under the GNU General Public License version 2.0,
|
|||||||
but includes some 3rd party software under different licenses. See the
|
but includes some 3rd party software under different licenses. See the
|
||||||
section "Licensing" below for details.
|
section "Licensing" below for details.
|
||||||
|
|
||||||
2.0) Contacting
|
## 2.0) Contacting
|
||||||
---- ----------
|
|
||||||
The easiest way to contact the OpenTTD team is by submitting bug reports or
|
The easiest way to contact the OpenTTD team is by submitting bug reports or
|
||||||
posting comments in our forums. You can also chat with us on IRC (#openttd
|
posting comments in our forums. You can also chat with us on IRC (#openttd
|
||||||
on irc.oftc.net).
|
on irc.oftc.net).
|
||||||
|
|
||||||
The OpenTTD homepage is http://www.openttd.org/.
|
The OpenTTD homepage is [http://www.openttd.org/](http://www.openttd.org/).
|
||||||
|
|
||||||
You can also find the OpenTTD forums at
|
You can also find the OpenTTD forums at [http://forum.openttd.org/](http://forum.openttd.org/).
|
||||||
http://forum.openttd.org/
|
|
||||||
|
### 2.1) Reporting bugs
|
||||||
|
|
||||||
2.1) Reporting bugs
|
|
||||||
---- --------------
|
|
||||||
First of all, check whether the bug is not already known. Do this by looking
|
First of all, check whether the bug is not already known. Do this by looking
|
||||||
through the file called 'known-bugs.txt' which is distributed with OpenTTD
|
through the file called 'known-bugs.txt' which is distributed with OpenTTD
|
||||||
like this readme.
|
like this readme.
|
||||||
|
|
||||||
For tracking our bugs we are using a bug tracker called Flyspray. You can find
|
For tracking our bugs we are using Githubs issue tracker. You can find
|
||||||
the tracker at http://bugs.openttd.org/. Before actually reporting take a look
|
the tracker at [https://github.com/OpenTTD/OpenTTD/issues](https://github.com/OpenTTD/OpenTTD/issues). Before actually reporting take a look
|
||||||
through the already reported bugs there to see if the bug is already known.
|
through the already reported bugs there to see if the bug is already known.
|
||||||
The 'known-bugs.txt' file might be a bit outdated at the moment you are
|
The 'known-bugs.txt' file might be a bit outdated at the moment you are
|
||||||
reading it as only bugs known before the release are documented there. Also
|
reading it as only bugs known before the release are documented there. Also
|
||||||
look through the recently closed bugs.
|
look through the recently closed bugs.
|
||||||
|
|
||||||
When you are sure it is not already reported you should:
|
When you are sure it is not already reported you should:
|
||||||
* Make sure you are running a recent version, i.e. run the latest stable or
|
|
||||||
|
- Make sure you are running a recent version, i.e. run the latest stable or
|
||||||
nightly based on where you found the bug.
|
nightly based on where you found the bug.
|
||||||
* Make sure you are not running a non-official binary, like a patch pack.
|
- Make sure you are not running a non-official binary, like a patch pack.
|
||||||
When you are playing with a patch pack you should report any bugs to the
|
When you are playing with a patch pack you should report any bugs to the
|
||||||
forum thread related to that patch pack.
|
forum thread related to that patch pack.
|
||||||
* Make it reproducible for the developers. In other words, create a savegame
|
- Make it reproducible for the developers. In other words, create a savegame
|
||||||
in which you can reproduce the issue once loaded. It is very useful to give
|
in which you can reproduce the issue once loaded. It is very useful to give
|
||||||
us the crash.dmp, crash.sav, crash.log and crash screenshot which are
|
us the crash.dmp, crash.sav, crash.log and crash screenshot which are
|
||||||
created on crashes.
|
created on crashes.
|
||||||
* Check whether the bug is already reported on our bug tracker. This includes
|
- Check whether the bug is already reported on our bug tracker. This includes
|
||||||
searching for recently closed bug reports as the bug might already be fixed.
|
searching for recently closed bug reports as the bug might already be fixed.
|
||||||
|
|
||||||
After you have done all that you can report the bug. Please include the
|
After you have done all that you can report the bug. Please include the
|
||||||
following information in your bug report:
|
following information in your bug report:
|
||||||
* OpenTTD version (PLEASE test the latest SVN/nightly build)
|
|
||||||
* Bug details, including instructions how to reproduce it
|
- OpenTTD version (PLEASE test the latest SVN/nightly build)
|
||||||
* Platform (Windows, Linux, FreeBSD, ...) and compiler (including version) if
|
- Bug details, including instructions how to reproduce it
|
||||||
|
- Platform (Windows, Linux, FreeBSD, …) and compiler (including version) if
|
||||||
you compiled OpenTTD yourself.
|
you compiled OpenTTD yourself.
|
||||||
* The processor architecture of your OS (32 bits Windows, 64 bits Windows,
|
- The processor architecture of your OS (32 bits Windows, 64 bits Windows,
|
||||||
Linux on an ARM, Mac OS X on a PowerPC, ...)
|
Linux on an ARM, Mac OS X on a PowerPC, …)
|
||||||
* Attach a saved game *and* a screenshot if possible
|
- Attach a saved game **and** a screenshot if possible
|
||||||
* If this bug only occurred recently please note the last version without
|
- If this bug only occurred recently please note the last version without
|
||||||
the bug and the first version including the bug. That way we can fix it
|
the bug and the first version including the bug. That way we can fix it
|
||||||
quicker by looking at the changes made.
|
quicker by looking at the changes made.
|
||||||
* Attach crash.dmp, crash.log and crash.sav. These files are usually created
|
- Attach crash.dmp, crash.log and crash.sav. These files are usually created
|
||||||
next to your openttd.cfg. The crash handler will tell you the location.
|
next to your openttd.cfg. The crash handler will tell you the location.
|
||||||
|
|
||||||
2.2) Reporting desyncs
|
### 2.2) Reporting desyncs
|
||||||
---- -----------------
|
|
||||||
As desyncs are hard to make reproducible OpenTTD has the ability to log all
|
As desyncs are hard to make reproducible OpenTTD has the ability to log all
|
||||||
actions done by clients so we can replay the whole game in an effort to make
|
actions done by clients so we can replay the whole game in an effort to make
|
||||||
desyncs better reproducible. You need to turn this ability on. When turned
|
desyncs better reproducible. You need to turn this ability on. When turned
|
||||||
@@ -103,15 +100,16 @@ this directory. Furthermore the log file 'commands-out.log' will be created
|
|||||||
and all actions will be written to there.
|
and all actions will be written to there.
|
||||||
|
|
||||||
To enable the desync debugging you need to set the debug level for 'desync'
|
To enable the desync debugging you need to set the debug level for 'desync'
|
||||||
to at least 1. You do this by starting OpenTTD with '-d desync=<level>' as
|
to at least 1. You do this by starting OpenTTD with '`-d desync=<level>`' as
|
||||||
parameter or by typing 'debug_level desync=<level>' in OpenTTD's internal
|
parameter or by typing '`debug_level desync=<level>`' in OpenTTD's internal
|
||||||
console.
|
console.
|
||||||
The desync debug levels are:
|
The desync debug levels are:
|
||||||
0: nothing.
|
|
||||||
1: dumping of commands to 'commands-out.log'.
|
- 0: nothing.
|
||||||
2: same as 1 plus checking vehicle caches and dumping that too.
|
- 1: dumping of commands to 'commands-out.log'.
|
||||||
3: same as 2 plus monthly saves in autosave.
|
- 2: same as 1 plus checking vehicle caches and dumping that too.
|
||||||
4 and higher: same as 3
|
- 3: same as 2 plus monthly saves in autosave.
|
||||||
|
- 4 and higher: same as 3
|
||||||
|
|
||||||
Restarting OpenTTD will overwrite 'commands-out.log'. OpenTTD will not remove
|
Restarting OpenTTD will overwrite 'commands-out.log'. OpenTTD will not remove
|
||||||
the savegames (dmp_cmds_*.sav) made by the desync debugging system, so you
|
the savegames (dmp_cmds_*.sav) made by the desync debugging system, so you
|
||||||
@@ -125,10 +123,11 @@ then by date making it easier to find the right savegames.
|
|||||||
|
|
||||||
When a desync has occurred with the desync debugging turned on you should file
|
When a desync has occurred with the desync debugging turned on you should file
|
||||||
a bug report with the following files attached:
|
a bug report with the following files attached:
|
||||||
|
|
||||||
- commands-out.log as it contains all the commands that were done
|
- commands-out.log as it contains all the commands that were done
|
||||||
- the last saved savegame (search for the last line beginning with
|
- the last saved savegame (search for the last line beginning with
|
||||||
'save: dmp_cmds_' in commands-out.log). We use this savegame to check
|
'save: dmp_cmds_' in commands-out.log). We use this savegame to check
|
||||||
whether we can quickly reproduce the desync. Otherwise we will need...
|
whether we can quickly reproduce the desync. Otherwise we will need …
|
||||||
- the first saved savegame (search for the first line beginning with 'save'
|
- the first saved savegame (search for the first line beginning with 'save'
|
||||||
where the first part, up to the last underscore '_', is the same). We need
|
where the first part, up to the last underscore '_', is the same). We need
|
||||||
this savegame to be able to reproduce the bug when the last savegame is not
|
this savegame to be able to reproduce the bug when the last savegame is not
|
||||||
@@ -145,26 +144,24 @@ Do NOT remove the dmp_cmds savegames of a desync you have reported until the
|
|||||||
desync has been fixed; if you, by accident, send us the wrong savegames we
|
desync has been fixed; if you, by accident, send us the wrong savegames we
|
||||||
will not be able to reproduce the desync and thus will be unable to fix it.
|
will not be able to reproduce the desync and thus will be unable to fix it.
|
||||||
|
|
||||||
|
## 3.0) Supported platforms
|
||||||
|
|
||||||
3.0) Supported platforms
|
|
||||||
---- -------------------
|
|
||||||
OpenTTD has been ported to several platforms and operating systems. It should
|
OpenTTD has been ported to several platforms and operating systems. It should
|
||||||
not be very difficult to port it to a new platform. The currently working
|
not be very difficult to port it to a new platform. The currently working
|
||||||
platforms are:
|
platforms are:
|
||||||
|
|
||||||
BeOS - SDL or Allegro
|
- BeOS (SDL or Allegro)
|
||||||
DOS - Allegro
|
- DOS (Allegro)
|
||||||
FreeBSD - SDL
|
- FreeBSD (SDL)
|
||||||
Linux - SDL or Allegro
|
- Linux (SDL or Allegro)
|
||||||
MacOS X (universal) - Cocoa video and sound drivers
|
- MacOS X (universal) (Cocoa video and sound drivers)
|
||||||
MorphOS - SDL
|
- MorphOS (SDL)
|
||||||
OpenBSD - SDL
|
- OpenBSD (SDL)
|
||||||
OS/2 - SDL
|
- OS/2 (SDL)
|
||||||
Windows - Win32 GDI (faster) or SDL or Allegro
|
- Windows (Win32 GDI (faster) or SDL or Allegro)
|
||||||
|
|
||||||
|
## 4.0) Installing and running OpenTTD
|
||||||
|
|
||||||
4.0) Installing and running OpenTTD
|
|
||||||
---- ------------------------------
|
|
||||||
Installing OpenTTD is fairly straightforward. Either you have downloaded an
|
Installing OpenTTD is fairly straightforward. Either you have downloaded an
|
||||||
archive which you have to extract to a directory where you want OpenTTD to
|
archive which you have to extract to a directory where you want OpenTTD to
|
||||||
be installed, or you have downloaded an installer, which will automatically
|
be installed, or you have downloaded an installer, which will automatically
|
||||||
@@ -174,10 +171,12 @@ OpenTTD looks in multiple locations to find the required data files (described
|
|||||||
in section 4.2). Installing any 3rd party files into a 'shared' location has
|
in section 4.2). Installing any 3rd party files into a 'shared' location has
|
||||||
the advantage that you only need to do this step once, rather than copying the
|
the advantage that you only need to do this step once, rather than copying the
|
||||||
data files into all OpenTTD versions you have.
|
data files into all OpenTTD versions you have.
|
||||||
|
|
||||||
Savegames, screenshots, etc are saved relative to the config file (openttd.cfg)
|
Savegames, screenshots, etc are saved relative to the config file (openttd.cfg)
|
||||||
currently being used. This means that if you use a config file in one of the
|
currently being used. This means that if you use a config file in one of the
|
||||||
shared directories, savegames will reside in the save/ directory next to the
|
shared directories, savegames will reside in the save/ directory next to the
|
||||||
openttd.cfg file there.
|
openttd.cfg file there.
|
||||||
|
|
||||||
If you want savegames and screenshots in the directory where the OpenTTD binary
|
If you want savegames and screenshots in the directory where the OpenTTD binary
|
||||||
resides, simply have your config file in that location. But if you remove this
|
resides, simply have your config file in that location. But if you remove this
|
||||||
config file, savegames will still be in this directory (see notes in
|
config file, savegames will still be in this directory (see notes in
|
||||||
@@ -192,8 +191,8 @@ automatically selected (and downloaded) if you get the AIs via the 'Check
|
|||||||
Online Content'. If you do not have an AI but have configured OpenTTD to start
|
Online Content'. If you do not have an AI but have configured OpenTTD to start
|
||||||
an AI a message will be shown that the 'dummy' AI has been started.
|
an AI a message will be shown that the 'dummy' AI has been started.
|
||||||
|
|
||||||
4.1) (Required) 3rd party files
|
### 4.1) (Required) 3rd party files
|
||||||
---- --------------------------
|
|
||||||
Before you run OpenTTD, you need to put the game's data files into a baseset/
|
Before you run OpenTTD, you need to put the game's data files into a baseset/
|
||||||
directory which can be located in various places addressed in the following
|
directory which can be located in various places addressed in the following
|
||||||
section.
|
section.
|
||||||
@@ -206,23 +205,26 @@ Do NOT copy files included with OpenTTD into 'shared' directories (explained in
|
|||||||
the following sections) as sooner or later you will run into graphical glitches
|
the following sections) as sooner or later you will run into graphical glitches
|
||||||
when using other versions of the game.
|
when using other versions of the game.
|
||||||
|
|
||||||
4.1.1) Free graphics and sound files
|
#### 4.1.1) Free graphics and sound files
|
||||||
------ -----------------------------
|
|
||||||
The free data files, split into OpenGFX for graphics, OpenSFX for sounds and
|
The free data files, split into OpenGFX for graphics, OpenSFX for sounds and
|
||||||
OpenMSX for music can be found at:
|
OpenMSX for music can be found at:
|
||||||
- http://www.openttd.org/download-opengfx for OpenGFX
|
|
||||||
- http://www.openttd.org/download-opensfx for OpenSFX
|
- [http://www.openttd.org/download-opengfx](http://www.openttd.org/download-opengfx) for OpenGFX
|
||||||
- http://www.openttd.org/download-openmsx for OpenMSX
|
- [http://www.openttd.org/download-opensfx](http://www.openttd.org/download-opensfx) for OpenSFX
|
||||||
|
- [http://www.openttd.org/download-openmsx](http://www.openttd.org/download-openmsx) for OpenMSX
|
||||||
|
|
||||||
Please follow the readme of these packages about the installation procedure.
|
Please follow the readme of these packages about the installation procedure.
|
||||||
The Windows installer can optionally download and install these packages.
|
The Windows installer can optionally download and install these packages.
|
||||||
|
|
||||||
4.1.2) Original Transport Tycoon Deluxe graphics and sound files
|
#### 4.1.2) Original Transport Tycoon Deluxe graphics and sound files
|
||||||
------ ---------------------------------------------------------
|
|
||||||
If you want to play with the original Transport Tycoon Deluxe data files you
|
If you want to play with the original Transport Tycoon Deluxe data files you
|
||||||
have to copy the data files from the CD-ROM into the baseset/ directory. It
|
have to copy the data files from the CD-ROM into the baseset/ directory. It
|
||||||
does not matter whether you copy them from the DOS or Windows version of
|
does not matter whether you copy them from the DOS or Windows version of
|
||||||
Transport Tycoon Deluxe. The Windows install can optionally copy these files.
|
Transport Tycoon Deluxe. The Windows install can optionally copy these files.
|
||||||
You need to copy the following files:
|
You need to copy the following files:
|
||||||
|
|
||||||
- sample.cat
|
- sample.cat
|
||||||
- trg1r.grf or TRG1.GRF
|
- trg1r.grf or TRG1.GRF
|
||||||
- trgcr.grf or TRGC.GRF
|
- trgcr.grf or TRGC.GRF
|
||||||
@@ -230,16 +232,16 @@ You need to copy the following files:
|
|||||||
- trgir.grf or TRGI.GRF
|
- trgir.grf or TRGI.GRF
|
||||||
- trgtr.grf or TRGT.GRF
|
- trgtr.grf or TRGT.GRF
|
||||||
|
|
||||||
4.1.3) Original Transport Tycoon Deluxe music
|
#### 4.1.3) Original Transport Tycoon Deluxe music
|
||||||
------ --------------------------------------
|
|
||||||
If you want the Transport Tycoon Deluxe music, copy the files from the gm/
|
If you want the Transport Tycoon Deluxe music, copy the files from the gm/
|
||||||
folder from the Windows version of Transport Tycoon Deluxe to the baseset
|
folder from the Windows version of Transport Tycoon Deluxe to the baseset
|
||||||
folder in your OpenTTD folder (also explained in the following sections).
|
folder in your OpenTTD folder (also explained in the following sections).
|
||||||
The music from the DOS version as well as the original Transport Tycoon does
|
The music from the DOS version as well as the original Transport Tycoon does
|
||||||
not work.
|
not work.
|
||||||
|
|
||||||
4.1.4) AIs
|
#### 4.1.4) AIs
|
||||||
------ ---
|
|
||||||
If you want AIs use the in-game content downloader. If for some reason that is
|
If you want AIs use the in-game content downloader. If for some reason that is
|
||||||
not possible or you want to use an AI that has not been uploaded to the content
|
not possible or you want to use an AI that has not been uploaded to the content
|
||||||
download system download the tar file and place it in the ai/ directory. If the
|
download system download the tar file and place it in the ai/ directory. If the
|
||||||
@@ -249,23 +251,24 @@ the content download system can be found at http://noai.openttd.org/downloads/
|
|||||||
The AIs and libraries can be found their in the form of .tar.gz packages.
|
The AIs and libraries can be found their in the form of .tar.gz packages.
|
||||||
OpenTTD can read inside tar files but it does not extract .tar.gz files by
|
OpenTTD can read inside tar files but it does not extract .tar.gz files by
|
||||||
itself.
|
itself.
|
||||||
|
|
||||||
To figure out which libraries you need for an AI you have to start the AI and
|
To figure out which libraries you need for an AI you have to start the AI and
|
||||||
wait for an error message to pop up. The error message will tell you
|
wait for an error message to pop up. The error message will tell you
|
||||||
'could not find library "lib-name"'. Download that library and try again.
|
'could not find library "lib-name"'. Download that library and try again.
|
||||||
|
|
||||||
4.1.5) Game scripts
|
#### 4.1.5) Game scripts
|
||||||
------ ------------
|
|
||||||
If you want an extra challenge in OpenTTD you can download so-called game
|
If you want an extra challenge in OpenTTD you can download so-called game
|
||||||
scripts via the in-game content downloader. These game scripts have varying
|
scripts via the in-game content downloader. These game scripts have varying
|
||||||
functionality, though they can generally influence town growth, subsidies, add
|
functionality, though they can generally influence town growth, subsidies, add
|
||||||
goals to reach or provide a different ranking system.
|
goals to reach or provide a different ranking system.
|
||||||
|
|
||||||
If you download a game script manually you have to follow the same rules as for
|
If you download a game script manually you have to follow the same rules as for
|
||||||
AIs, except that game scripts are placed in the game/ directory instead of the
|
AIs, except that game scripts are placed in the game/ directory instead of the
|
||||||
ai/ directory.
|
ai/ directory.
|
||||||
|
|
||||||
|
### 4.2) OpenTTD directories
|
||||||
|
|
||||||
4.2) OpenTTD directories
|
|
||||||
---- -------------------
|
|
||||||
OpenTTD uses its own directory to store its required 3rd party base set files
|
OpenTTD uses its own directory to store its required 3rd party base set files
|
||||||
(see section 4.1 'Required 3rd party files') and non-compulsory extension and
|
(see section 4.1 'Required 3rd party files') and non-compulsory extension and
|
||||||
configuration files. See below for their proper place within this OpenTTD main
|
configuration files. See below for their proper place within this OpenTTD main
|
||||||
@@ -273,52 +276,59 @@ data directory.
|
|||||||
|
|
||||||
The main OpenTTD directories can be found in various locations, depending on
|
The main OpenTTD directories can be found in various locations, depending on
|
||||||
your operating system:
|
your operating system:
|
||||||
|
|
||||||
1. The current working directory (from where you started OpenTTD)
|
1. The current working directory (from where you started OpenTTD)
|
||||||
For non-Windows operating systems OpenTTD will not scan for files in this
|
For non-Windows operating systems OpenTTD will not scan for files in this
|
||||||
directory if it is your personal directory, i.e. '~/', or when it is the
|
directory if it is your personal directory, i.e. '~/', or when it is the
|
||||||
root directory, i.e. '/'.
|
root directory, i.e. '/'.
|
||||||
2. Your personal directory
|
2. Your personal directory
|
||||||
Windows: C:\My Documents\OpenTTD (95, 98, ME)
|
- Windows:
|
||||||
C:\Documents and Settings\<username>\My Documents\OpenTTD (2000, XP)
|
- `C:\My Documents\OpenTTD` (95, 98, ME)
|
||||||
C:\Users\<username>\Documents\OpenTTD (Vista, 7)
|
- `C:\Documents and Settings\<username>\My Documents\OpenTTD` (2000, XP)
|
||||||
Mac OSX: ~/Documents/OpenTTD
|
- `C:\Users\<username>\Documents\OpenTTD` (Vista, 7)
|
||||||
Linux: $XDG_DATA_HOME/openttd which is usually ~/.local/share/openttd when
|
- Mac OSX: `~/Documents/OpenTTD`
|
||||||
built with XDG base directory support, otherwise ~/.openttd
|
- Linux: `$XDG_DATA_HOME/openttd` which is usually `~/.local/share/openttd`
|
||||||
|
when built with XDG base directory support, otherwise `~/.openttd`
|
||||||
3. The shared directory
|
3. The shared directory
|
||||||
Windows: C:\Documents and Settings\All Users\Shared Documents\OpenTTD (2000, XP)
|
- Windows:
|
||||||
C:\Users\Public\Documents\OpenTTD (Vista, 7)
|
- `C:\Documents and Settings\All Users\Shared Documents\OpenTTD` (2000, XP)
|
||||||
Mac OSX: /Library/Application Support/OpenTTD
|
- `C:\Users\Public\Documents\OpenTTD` (Vista, 7)
|
||||||
Linux: not available
|
- Mac OSX: `/Library/Application Support/OpenTTD`
|
||||||
|
- Linux: not available
|
||||||
4. The binary directory (where the OpenTTD executable is)
|
4. The binary directory (where the OpenTTD executable is)
|
||||||
Windows: C:\Program Files\OpenTTD
|
- Windows: `C:\Program Files\OpenTTD`
|
||||||
Linux: /usr/games
|
- Linux: `/usr/games`
|
||||||
5. The installation directory (Linux only)
|
5. The installation directory (Linux only)
|
||||||
Linux: /usr/share/games/openttd
|
- Linux: `/usr/share/games/openttd`
|
||||||
6. The application bundle (Mac OSX only)
|
6. The application bundle (Mac OSX only)
|
||||||
It includes the OpenTTD files (grf+lng) and it will work as long as they
|
It includes the OpenTTD files (grf+lng) and it will work as long as they
|
||||||
are not touched
|
are not touched
|
||||||
|
|
||||||
Different types of data or extensions go into different subdirectories of the
|
Different types of data or extensions go into different subdirectories of the
|
||||||
chosen main OpenTTD directory:
|
chosen main OpenTTD directory:
|
||||||
Config File: (no subdirectory)
|
|
||||||
Screenshots: screenshot
|
| data type | directory | additional info |
|
||||||
Base Graphics: baseset (or a subdirectory thereof)
|
| --- | --- | --- |
|
||||||
Sound Sets: baseset (or a subdirectory thereof)
|
| Config File | (no subdirectory) | |
|
||||||
NewGRFs: newgrf (or a subdirectory thereof)
|
| Screenshots | screenshot | |
|
||||||
32bpp Sets: newgrf (or a subdirectory thereof)
|
| Base Graphics | baseset| (or a subdirectory thereof) |
|
||||||
Music Sets: baseset (or a subdirectory thereof)
|
| Sound Sets | baseset| (or a subdirectory thereof) |
|
||||||
AIs: ai (or a subdirectory thereof)
|
| NewGRFs | newgrf| (or a subdirectory thereof) |
|
||||||
AI Libraries: ai/library (or a subdirectory thereof)
|
| 32bpp Sets | newgrf| (or a subdirectory thereof) |
|
||||||
Game Scripts (GS): game (or a subdirectory thereof)
|
| Music Sets | baseset| (or a subdirectory thereof) |
|
||||||
GS Libraries: game/library (or a subdirectory thereof)
|
| AIs | ai| (or a subdirectory thereof) |
|
||||||
Savegames: save
|
| AI Libraries | ai/library| (or a subdirectory thereof) |
|
||||||
Automatic Savegames: save/autosave
|
| Game Scripts (GS) | game| (or a subdirectory thereof) |
|
||||||
Scenarios: scenario
|
| GS Libraries | game/library | (or a subdirectory thereof) |
|
||||||
|
| Savegames | save | |
|
||||||
|
| Automatic Savegames | save/autosave | |
|
||||||
|
| Scenarios | scenario | |
|
||||||
|
|
||||||
The (automatically created) directory content_download is for OpenTTD's internal
|
The (automatically created) directory content_download is for OpenTTD's internal
|
||||||
use and no files should be added to it or its subdirectories manually.
|
use and no files should be added to it or its subdirectories manually.
|
||||||
|
|
||||||
Notes:
|
#### Notes:
|
||||||
|
|
||||||
- Linux in the previous list means .deb, but most paths should be similar for
|
- Linux in the previous list means .deb, but most paths should be similar for
|
||||||
others.
|
others.
|
||||||
- The previous search order is also used for NewGRFs and openttd.cfg.
|
- The previous search order is also used for NewGRFs and openttd.cfg.
|
||||||
@@ -331,14 +341,15 @@ Notes:
|
|||||||
Unless the configuration file is in $XDG_CONFIG_HOME/openttd, then all
|
Unless the configuration file is in $XDG_CONFIG_HOME/openttd, then all
|
||||||
other files will be saved under $XDG_DATA_HOME/openttd.
|
other files will be saved under $XDG_DATA_HOME/openttd.
|
||||||
|
|
||||||
The preferred setup:
|
#### The preferred setup:
|
||||||
|
|
||||||
Place 3rd party files in shared directory (or in personal directory if you do
|
Place 3rd party files in shared directory (or in personal directory if you do
|
||||||
not have write access on shared directory) and have your openttd.cfg config
|
not have write access on shared directory) and have your openttd.cfg config
|
||||||
file in personal directory (where the game will then also place savegames and
|
file in personal directory (where the game will then also place savegames and
|
||||||
screenshots).
|
screenshots).
|
||||||
|
|
||||||
4.3) Portable installations (portable media)
|
### 4.3) Portable installations (portable media)
|
||||||
---- ---------------------------------------
|
|
||||||
You can install OpenTTD on external media so you can take it with you, i.e.
|
You can install OpenTTD on external media so you can take it with you, i.e.
|
||||||
using a USB key, or a USB HDD, etc.
|
using a USB key, or a USB HDD, etc.
|
||||||
Create a directory where you shall store the game in (i.e. OpenTTD/).
|
Create a directory where you shall store the game in (i.e. OpenTTD/).
|
||||||
@@ -350,8 +361,8 @@ media to.
|
|||||||
As always - additional grf files are stored in the newgrf/ dir (for details,
|
As always - additional grf files are stored in the newgrf/ dir (for details,
|
||||||
again, see section 4.1).
|
again, see section 4.1).
|
||||||
|
|
||||||
4.4) Files in tar (archives)
|
### 4.4) Files in tar (archives)
|
||||||
---- -----------------------
|
|
||||||
OpenTTD can read files that are in an uncompressed tar (archive), which
|
OpenTTD can read files that are in an uncompressed tar (archive), which
|
||||||
makes it easy to bundle files belonging to the same script, NewGRF or base
|
makes it easy to bundle files belonging to the same script, NewGRF or base
|
||||||
set. Music sets are the only exception as they cannot be stored in a tar
|
set. Music sets are the only exception as they cannot be stored in a tar
|
||||||
@@ -372,33 +383,33 @@ same as the path in the tar file. Again it is advised to have an unique path
|
|||||||
to the normal file so they do not collide with the files from other tar
|
to the normal file so they do not collide with the files from other tar
|
||||||
files.
|
files.
|
||||||
|
|
||||||
|
## 5.0) OpenTTD features
|
||||||
|
|
||||||
5.0) OpenTTD features
|
|
||||||
---- ----------------
|
|
||||||
OpenTTD has a lot of features going beyond the original Transport Tycoon Deluxe
|
OpenTTD has a lot of features going beyond the original Transport Tycoon Deluxe
|
||||||
emulation. Unfortunately, there is currently no comprehensive list of features,
|
emulation. Unfortunately, there is currently no comprehensive list of features,
|
||||||
but there is a basic features list on the web, and some optional features can be
|
but there is a basic features list on the web, and some optional features can be
|
||||||
controlled through the Advanced Settings dialog. We also implement some
|
controlled through the Advanced Settings dialog. We also implement some
|
||||||
features known from TTDPatch (http://www.ttdpatch.net/).
|
features known from [TTDPatch](http://www.ttdpatch.net/).
|
||||||
|
|
||||||
Several important non-standard controls:
|
Several important non-standard controls:
|
||||||
|
|
||||||
* Ctrl modifies many commands and makes them more powerful. For example Ctrl
|
- Ctrl modifies many commands and makes them more powerful. For example Ctrl
|
||||||
clicking on signals with the build signal tool changes their behaviour, holding
|
clicking on signals with the build signal tool changes their behaviour, holding
|
||||||
Ctrl while the track build tool is activated changes it to the track removal
|
Ctrl while the track build tool is activated changes it to the track removal
|
||||||
tool, and so on. See http://wiki.openttd.org/Hidden_features for a non-
|
tool, and so on. See [http://wiki.openttd.org/Hidden_features](http://wiki.openttd.org/Hidden_features)
|
||||||
comprehensive list or look at the tooltips.
|
for a non-comprehensive list or look at the tooltips.
|
||||||
* Ingame console. More information at
|
- Ingame console. More information at
|
||||||
http://wiki.openttd.org/index.php/Console
|
[http://wiki.openttd.org/index.php/Console](http://wiki.openttd.org/index.php/Console)
|
||||||
* Hovering over a GUI element shows tooltips. This can be changed to right click
|
- Hovering over a GUI element shows tooltips. This can be changed to right click
|
||||||
via the advanced settings.
|
via the advanced settings.
|
||||||
|
|
||||||
5.1) Logging of potentially dangerous actions
|
### 5.1) Logging of potentially dangerous actions
|
||||||
---- ----------------------------------------
|
|
||||||
OpenTTD is a complex program, and together with NewGRF, it may show a buggy
|
OpenTTD is a complex program, and together with NewGRF, it may show a buggy
|
||||||
behaviour. But not only bugs in code can cause problems. There are several
|
behaviour. But not only bugs in code can cause problems. There are several
|
||||||
ways to affect game state possibly resulting in program crash or multiplayer
|
ways to affect game state possibly resulting in program crash or multiplayer
|
||||||
desyncs.
|
desyncs.
|
||||||
|
|
||||||
Easier way would be to forbid all these unsafe actions, but that would affect
|
Easier way would be to forbid all these unsafe actions, but that would affect
|
||||||
game usability for many players. We certainly do not want that.
|
game usability for many players. We certainly do not want that.
|
||||||
However, we receive bug reports because of this. To reduce time spent with
|
However, we receive bug reports because of this. To reduce time spent with
|
||||||
@@ -407,23 +418,22 @@ the savegame (including crash.sav). Log is stored in crash logs, too.
|
|||||||
|
|
||||||
Information logged:
|
Information logged:
|
||||||
|
|
||||||
* Adding / removing / changing order of NewGRFs
|
- Adding / removing / changing order of NewGRFs
|
||||||
* Changing NewGRF parameters, loading compatible NewGRF
|
- Changing NewGRF parameters, loading compatible NewGRF
|
||||||
* Changing game mode (scenario editor <-> normal game)
|
- Changing game mode (scenario editor <-> normal game)
|
||||||
* Loading game saved in a different OpenTTD / TTDPatch / Transport Tycoon Deluxe /
|
- Loading game saved in a different OpenTTD / TTDPatch / Transport Tycoon Deluxe /
|
||||||
original Transport Tycoon version
|
original Transport Tycoon version
|
||||||
* Running a modified OpenTTD build
|
- Running a modified OpenTTD build
|
||||||
* Changing settings affecting NewGRF behaviour (non-network-safe settings)
|
- Changing settings affecting NewGRF behaviour (non-network-safe settings)
|
||||||
* Triggering NewGRF bugs
|
- Triggering NewGRF bugs
|
||||||
|
|
||||||
No personal information is stored.
|
No personal information is stored.
|
||||||
|
|
||||||
You can show the game log by typing 'gamelog' in the console or by running
|
You can show the game log by typing 'gamelog' in the console or by running
|
||||||
OpenTTD in debug mode.
|
OpenTTD in debug mode.
|
||||||
|
|
||||||
|
## 6.0) Configuration file
|
||||||
|
|
||||||
6.0) Configuration file
|
|
||||||
---- ------------------
|
|
||||||
The configuration file for OpenTTD (openttd.cfg) is in a simple Windows-like
|
The configuration file for OpenTTD (openttd.cfg) is in a simple Windows-like
|
||||||
.INI format. It is mostly undocumented. Almost all settings can be changed
|
.INI format. It is mostly undocumented. Almost all settings can be changed
|
||||||
ingame by using the 'Advanced Settings' window.
|
ingame by using the 'Advanced Settings' window.
|
||||||
@@ -431,16 +441,17 @@ When you cannot find openttd.cfg you should look in the directories as
|
|||||||
described in section 4.2. If you do not have an openttd.cfg OpenTTD will
|
described in section 4.2. If you do not have an openttd.cfg OpenTTD will
|
||||||
create one after closing.
|
create one after closing.
|
||||||
|
|
||||||
|
## 7.0) Compiling
|
||||||
|
|
||||||
|
### Windows:
|
||||||
|
|
||||||
7.0) Compiling
|
|
||||||
---- ---------
|
|
||||||
Windows:
|
|
||||||
You need Microsoft Visual Studio .NET. Open the project file
|
You need Microsoft Visual Studio .NET. Open the project file
|
||||||
and it should build automatically. In case you want to build with SDL support
|
and it should build automatically. In case you want to build with SDL support
|
||||||
you need to add WITH_SDL to the project settings.
|
you need to add WITH_SDL to the project settings.
|
||||||
|
|
||||||
PNG (WITH_PNG) and ZLIB (WITH_ZLIB) support is enabled by default. For these
|
PNG (WITH_PNG) and ZLIB (WITH_ZLIB) support is enabled by default. For these
|
||||||
to work you need their development files. For best results, download the
|
to work you need their development files. For best results, download the
|
||||||
openttd-useful.zip file from http://www.openttd.org/download-openttd-useful
|
openttd-useful.zip file from [http://www.openttd.org/download-openttd-useful](http://www.openttd.org/download-openttd-useful)
|
||||||
Put the header files into your compiler's include/ directory and the
|
Put the header files into your compiler's include/ directory and the
|
||||||
library (.lib) files into the lib/ directory.
|
library (.lib) files into the lib/ directory.
|
||||||
For more help with VS see docs/Readme_Windows_MSVC.txt.
|
For more help with VS see docs/Readme_Windows_MSVC.txt.
|
||||||
@@ -448,46 +459,54 @@ Windows:
|
|||||||
You can also build it using the Makefile with MSYS/MinGW or Cygwin/MinGW.
|
You can also build it using the Makefile with MSYS/MinGW or Cygwin/MinGW.
|
||||||
Please read the Makefile for more information.
|
Please read the Makefile for more information.
|
||||||
|
|
||||||
Solaris, FreeBSD, OpenBSD:
|
### Solaris, FreeBSD, OpenBSD:
|
||||||
Use 'gmake', but do a './configure' before the first build.
|
|
||||||
|
|
||||||
Linux/Unix:
|
Use '`gmake`', but do a '`./configure`' before the first build.
|
||||||
OpenTTD can be built with GNU 'make'. On non-GNU systems it is called 'gmake'.
|
|
||||||
However, for the first build one has to do a './configure' first.
|
|
||||||
|
|
||||||
MacOS X:
|
### Linux/Unix:
|
||||||
Use 'make' or Xcode (which will then call make for you)
|
|
||||||
|
OpenTTD can be built with GNU '`make`'. On non-GNU systems it is called '`gmake`'.
|
||||||
|
However, for the first build one has to do a '`./configure`' first.
|
||||||
|
|
||||||
|
### MacOS X:
|
||||||
|
|
||||||
|
Use '`make`' or Xcode (which will then call make for you)
|
||||||
This will give you a binary for your CPU type (PPC/Intel)
|
This will give you a binary for your CPU type (PPC/Intel)
|
||||||
However, for the first build one has to do a './configure' first.
|
However, for the first build one has to do a '`./configure`' first.
|
||||||
To make a universal binary type './configure --enabled-universal'
|
To make a universal binary type '`./configure --enabled-universal`'
|
||||||
instead of './configure'.
|
instead of '`./configure`'.
|
||||||
|
|
||||||
BeOS:
|
### BeOS:
|
||||||
Use 'make', but do a './configure' before the first build.
|
|
||||||
|
|
||||||
MorphOS:
|
Use '`make`', but do a '`./configure`' before the first build.
|
||||||
Use 'make'. However, for the first build one has to do a './configure' first.
|
|
||||||
Note that you need the MorphOS SDK, latest libnix updates (else C++ parts of
|
### MorphOS:
|
||||||
OpenTTD will not build) and the powersdl.library SDK. Optionally libz,
|
|
||||||
|
Use '`make`'. However, for the first build one has to do a '`./configure`'
|
||||||
|
first. Note that you need the MorphOS SDK, latest libnix updates (else C++
|
||||||
|
parts of OpenTTD will not build) and the powersdl.library SDK. Optionally libz,
|
||||||
libpng and freetype2 developer files.
|
libpng and freetype2 developer files.
|
||||||
|
|
||||||
OS/2:
|
### OS/2:
|
||||||
|
|
||||||
A comprehensive GNU build environment is required to build the OS/2 version.
|
A comprehensive GNU build environment is required to build the OS/2 version.
|
||||||
See the docs/Readme_OS2.txt file for more information.
|
See the docs/Readme_OS2.txt file for more information.
|
||||||
|
|
||||||
DOS:
|
### DOS:
|
||||||
|
|
||||||
A build environment with DJGPP is needed as well as libraries such as
|
A build environment with DJGPP is needed as well as libraries such as
|
||||||
Allegro, zlib and libpng, which all can be downloaded from the DJGPP
|
Allegro, zlib and libpng, which all can be downloaded from the DJGPP
|
||||||
website. Compilation is straight forward: use make, but do a './configure'
|
website. Compilation is straight forward: use '`make`', but do a '`./configure`'
|
||||||
before the first build. The build binary will need cwsdpmi.exe to be in
|
before the first build. The build binary will need cwsdpmi.exe to be in
|
||||||
the same directory as the openttd executable. cwsdpmi.exe can be found in
|
the same directory as the openttd executable. cwsdpmi.exe can be found in
|
||||||
the os/dos/cwsdpmi subdirectory. If you compile with stripping turned on a
|
the os/dos/cwsdpmi subdirectory. If you compile with stripping turned on a
|
||||||
binary will be generated that does not need cwsdpmi.exe by adding the
|
binary will be generated that does not need cwsdpmi.exe by adding the
|
||||||
cswdstub.exe to the created OpenTTD binary.
|
cswdstub.exe to the created OpenTTD binary.
|
||||||
|
|
||||||
7.1) Required/optional libraries
|
### 7.1) Required/optional libraries
|
||||||
---- ---------------------------
|
|
||||||
The following libraries are used by OpenTTD for:
|
The following libraries are used by OpenTTD for:
|
||||||
|
|
||||||
- libSDL/liballegro: hardware access (video, sound, mouse)
|
- libSDL/liballegro: hardware access (video, sound, mouse)
|
||||||
- zlib: (de)compressing of old (0.3.0-1.0.5) savegames, content downloads,
|
- zlib: (de)compressing of old (0.3.0-1.0.5) savegames, content downloads,
|
||||||
heightmaps
|
heightmaps
|
||||||
@@ -505,69 +524,71 @@ open most older savegames or use the content downloading system.
|
|||||||
Without libSDL/liballegro on non-Windows and non-MacOS X machines you have
|
Without libSDL/liballegro on non-Windows and non-MacOS X machines you have
|
||||||
no graphical user interface; you would be building a dedicated server.
|
no graphical user interface; you would be building a dedicated server.
|
||||||
|
|
||||||
7.2) Supported compilers
|
### 7.2) Supported compilers
|
||||||
---- -------------------
|
|
||||||
The following compilers are known to compile OpenTTD:
|
The following compilers are known to compile OpenTTD:
|
||||||
|
|
||||||
- Microsoft Visual C++ (MSVC) 2005, 2008 and 2010.
|
- Microsoft Visual C++ (MSVC) 2005, 2008 and 2010.
|
||||||
Version 2005 gives bogus warnings about scoping issues.
|
Version 2005 gives bogus warnings about scoping issues.
|
||||||
- GNU Compiler Collection (GCC) 3.3 - 4.4, 4.6 - 4.8.
|
- GNU Compiler Collection (GCC) 3.3 - 4.4, 4.6 - 4.8.
|
||||||
Versions 4.1 and earlier give bogus warnings about uninitialised variables.
|
- Versions 4.1 and earlier give bogus warnings about uninitialised variables.
|
||||||
Versions 4.4, 4.6 give bogus warnings about freeing non-heap objects.
|
- Versions 4.4, 4.6 give bogus warnings about freeing non-heap objects.
|
||||||
Versions 4.6 and later give invalid warnings when lto is enabled.
|
- Versions 4.6 and later give invalid warnings when lto is enabled.
|
||||||
- Intel C++ Compiler (ICC) 12.0.
|
- Intel C++ Compiler (ICC) 12.0.
|
||||||
- Clang/LLVM 2.9 - 3.0
|
- Clang/LLVM 2.9 - 3.0
|
||||||
Version 2.9 gives bogus warnings about code nonconformity.
|
Version 2.9 gives bogus warnings about code nonconformity.
|
||||||
|
|
||||||
The following compilers are known not to compile OpenTTD:
|
The following compilers are known not to compile OpenTTD:
|
||||||
|
|
||||||
- Microsoft Visual C++ (MSVC) 2003 and earlier.
|
- Microsoft Visual C++ (MSVC) 2003 and earlier.
|
||||||
- GNU Compiler Collection (GCC) 3.2 and earlier.
|
- GNU Compiler Collection (GCC) 3.2 and earlier.
|
||||||
These old versions fail due to OpenTTD's template usage.
|
These old versions fail due to OpenTTD's template usage.
|
||||||
- GNU Compiler Collection (GCC) 4.5. It optimizes enums too aggressively.
|
- GNU Compiler Collection (GCC) 4.5. It optimizes enums too aggressively.
|
||||||
See http://bugs.openttd.org/task/5513 and references therein.
|
See http://bugs.openttd.org/task/5513 and references therein.
|
||||||
- Intel C++ Compiler (ICC) 11.1 and earlier.
|
- Intel C++ Compiler (ICC) 11.1 and earlier.
|
||||||
Version 10.0 and earlier fail a configure check and fail with recent system
|
- Version 10.0 and earlier fail a configure check and fail with recent
|
||||||
headers.
|
system headers.
|
||||||
Version 10.1 fails to compile station_gui.cpp.
|
- Version 10.1 fails to compile station_gui.cpp.
|
||||||
Version 11.1 fails with an internal error when compiling network.cpp.
|
- Version 11.1 fails with an internal error when compiling network.cpp.
|
||||||
- Clang/LLVM 2.8 and earlier.
|
- Clang/LLVM 2.8 and earlier.
|
||||||
- (Open) Watcom.
|
- (Open) Watcom.
|
||||||
|
|
||||||
If any of these compilers can compile OpenTTD again, please let us know.
|
If any of these compilers can compile OpenTTD again, please let us know.
|
||||||
Patches to support more compilers are welcome.
|
Patches to support more compilers are welcome.
|
||||||
|
|
||||||
7.3) Compilation of base sets
|
### 7.3) Compilation of base sets
|
||||||
-----------------------------
|
|
||||||
To recompile the extra graphics needed to play with the original Transport
|
To recompile the extra graphics needed to play with the original Transport
|
||||||
Tycoon Deluxe graphics you need GRFCodec (which includes NFORenum) as well.
|
Tycoon Deluxe graphics you need GRFCodec (which includes NFORenum) as well.
|
||||||
GRFCodec can be found at: http://www.openttd.org/download-grfcodec
|
GRFCodec can be found at: [http://www.openttd.org/download-grfcodec](http://www.openttd.org/download-grfcodec)
|
||||||
The compilation of these extra graphics does generally not happen, unless
|
The compilation of these extra graphics does generally not happen, unless
|
||||||
you remove the graphics file using 'make maintainer-clean'.
|
you remove the graphics file using '`make maintainer-clean`'.
|
||||||
|
|
||||||
Re-compilation of the base sets, thus also use of --maintainer-clean can
|
Re-compilation of the base sets, thus also use of '`--maintainer-clean`' can
|
||||||
leave the repository in a modified state as different grfcodec versions can
|
leave the repository in a modified state as different grfcodec versions can
|
||||||
cause binary differences in the resulting grf. Also translations might have
|
cause binary differences in the resulting grf. Also translations might have
|
||||||
been added for the base sets which are not yet included in the base set
|
been added for the base sets which are not yet included in the base set
|
||||||
information files. Use the configure option --without-grfcodec to avoid
|
information files. Use the configure option '`--without-grfcodec`' to avoid
|
||||||
modification of the base set files by the build process.
|
modification of the base set files by the build process.
|
||||||
|
|
||||||
|
## 8.0) Translating
|
||||||
|
|
||||||
8.0) Translating
|
See [http://www.openttd.org/development](http://www.openttd.org/development) for up-to-date information.
|
||||||
---- -----------
|
|
||||||
See http://www.openttd.org/development for up-to-date information.
|
|
||||||
|
|
||||||
The use of the online Translator service, located at
|
The use of the online Translator service, located at
|
||||||
http://translator.openttd.org/, is highly encouraged. For getting an account
|
[http://translator.openttd.org/](http://translator.openttd.org/), is highly
|
||||||
simply follow the guidelines in the FAQ of the translator website.
|
encouraged. For getting an account simply follow the guidelines in the FAQ of
|
||||||
|
the translator website.
|
||||||
|
|
||||||
If for some reason the website is down for a longer period of time, the
|
If for some reason the website is down for a longer period of time, the
|
||||||
information below might be of help.
|
information below might be of help.
|
||||||
|
|
||||||
Please contact the translations manager (http://www.openttd.org/contact)
|
Please contact the translations manager ([http://www.openttd.org/contact](http://www.openttd.org/contact))
|
||||||
before beginning the translation process! This avoids double work, as
|
before beginning the translation process! This avoids double work, as
|
||||||
someone else may have already started translating to the same language.
|
someone else may have already started translating to the same language.
|
||||||
|
|
||||||
8.1) Translation
|
### 8.1) Translation
|
||||||
---- -----------
|
|
||||||
So, now that you have notified the development team about your intention to
|
So, now that you have notified the development team about your intention to
|
||||||
translate (You did, right? Of course you did.) you can pick up english.txt
|
translate (You did, right? Of course you did.) you can pick up english.txt
|
||||||
(found in the SVN repository under /src/lang) and translate.
|
(found in the SVN repository under /src/lang) and translate.
|
||||||
@@ -579,19 +600,20 @@ You must change the first two lines of the file appropriately:
|
|||||||
|
|
||||||
Note: Do not alter the following parts of the file:
|
Note: Do not alter the following parts of the file:
|
||||||
|
|
||||||
* String identifiers (the first word on each line)
|
- String identifiers (the first word on each line)
|
||||||
* Parts of the strings which are in curly braces (such as {STRING})
|
- Parts of the strings which are in curly braces (such as {STRING})
|
||||||
* Lines beginning with ## (such as ##id), other than the first two lines of
|
- Lines beginning with ## (such as ##id), other than the first two lines of
|
||||||
the file
|
the file
|
||||||
|
|
||||||
8.2) Previewing
|
### 8.2) Previewing
|
||||||
---- ----------
|
|
||||||
In order to view the translation in the game, you need to compile your language
|
In order to view the translation in the game, you need to compile your language
|
||||||
file with the strgen utility. As this utility is tailored to a specific OpenTTD
|
file with the strgen utility. As this utility is tailored to a specific OpenTTD
|
||||||
version, you need to compile it yourself. Just take the normal OpenTTD sources
|
version, you need to compile it yourself. Just take the normal OpenTTD sources
|
||||||
and build that. During the build process the strgen utility will be made.
|
and build that. During the build process the strgen utility will be made.
|
||||||
|
|
||||||
strgen is a command-line utility. It takes the language filename as parameter.
|
strgen is a command-line utility. It takes the language filename as parameter.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
strgen lang/german.txt
|
strgen lang/german.txt
|
||||||
@@ -603,18 +625,17 @@ should also be.
|
|||||||
|
|
||||||
That is all! You should now be able to select the language in the game options.
|
That is all! You should now be able to select the language in the game options.
|
||||||
|
|
||||||
|
## 9.0) Troubleshooting
|
||||||
|
|
||||||
9.0) Troubleshooting
|
|
||||||
---- ---------------
|
|
||||||
To see all startup options available to you, start OpenTTD with the
|
To see all startup options available to you, start OpenTTD with the
|
||||||
'./openttd -h' option. This might help you tweak some of the settings.
|
'`./openttd -h`' option. This might help you tweak some of the settings.
|
||||||
|
|
||||||
If the game is acting strange and you feel adventurous you can try the
|
If the game is acting strange and you feel adventurous you can try the
|
||||||
'-d [[<name>=]<level>]' flag, where the higher levels will give you more
|
'`-d [[<name>=]<level>]`' flag, where the higher levels will give you more
|
||||||
debugging output. The 'name' variable can help you to display only some type of
|
debugging output. The 'name' variable can help you to display only some type of
|
||||||
debugging messages. This is mostly undocumented so best is to look in the
|
debugging messages. This is mostly undocumented so best is to look in the
|
||||||
source code file debug.c for the various debugging types. For more information
|
source code file debug.c for the various debugging types. For more information
|
||||||
look at http://wiki.openttd.org/index.php/Command_line.
|
look at [http://wiki.openttd.org/index.php/Command_line](http://wiki.openttd.org/index.php/Command_line).
|
||||||
|
|
||||||
The most frequent problem is missing data files. Please install OpenGFX and
|
The most frequent problem is missing data files. Please install OpenGFX and
|
||||||
possibly OpenSFX and OpenMSX. See section 4.1.1 for more information.
|
possibly OpenSFX and OpenMSX. See section 4.1.1 for more information.
|
||||||
@@ -631,24 +652,26 @@ With the added support for font-based text selecting a non-latin language can
|
|||||||
result in lots of question marks ('?') being shown on screen. Please open your
|
result in lots of question marks ('?') being shown on screen. Please open your
|
||||||
configuration file (openttd.cfg - see Section 4.2 for where to find it)
|
configuration file (openttd.cfg - see Section 4.2 for where to find it)
|
||||||
and add a suitable font for the small, medium and / or large font, e.g.:
|
and add a suitable font for the small, medium and / or large font, e.g.:
|
||||||
|
|
||||||
small_font = "Tahoma"
|
small_font = "Tahoma"
|
||||||
medium_font = "Tahoma"
|
medium_font = "Tahoma"
|
||||||
large_font = "Tahoma"
|
large_font = "Tahoma"
|
||||||
|
|
||||||
You should use a font name like 'Tahoma' or a path to the desired font.
|
You should use a font name like 'Tahoma' or a path to the desired font.
|
||||||
|
|
||||||
Any NewGRF file used in a game is stored inside the savegame and will refuse
|
Any NewGRF file used in a game is stored inside the savegame and will refuse
|
||||||
to load if you do not have that NewGRF file available. A list of missing files
|
to load if you do not have that NewGRF file available. A list of missing files
|
||||||
can be viewed in the NewGRF window accessible from the file load dialogue window.
|
can be viewed in the NewGRF window accessible from the file load dialogue window.
|
||||||
|
|
||||||
You can try to obtain the missing files from that NewGRF dialogue or - if they
|
You can try to obtain the missing files from that NewGRF dialogue or – if they
|
||||||
are not available online - you can search manually through our forum's graphics
|
are not available online – you can search manually through our [forum's graphics
|
||||||
development section (http://www.tt-forums.net/viewforum.php?f=66) or GrfCrawler
|
development section](http://www.tt-forums.net/viewforum.php?f=66) or GrfCrawler
|
||||||
(http://grfcrawler.tt-forums.net/). Put the NewGRF files in OpenTTD's newgrf folder
|
(http://grfcrawler.tt-forums.net/). Put the NewGRF files in OpenTTD's newgrf folder
|
||||||
(see section 4.2 'OpenTTD directories') and rescan the list of available NewGRFs.
|
(see section 4.2 'OpenTTD directories') and rescan the list of available NewGRFs.
|
||||||
Once you have all missing files, you are set to go.
|
Once you have all missing files, you are set to go.
|
||||||
|
|
||||||
10.0) Licensing
|
## 10.0) Licensing
|
||||||
----- ---------
|
|
||||||
OpenTTD is licensed under the GNU General Public License version 2.0. For
|
OpenTTD is licensed under the GNU General Public License version 2.0. For
|
||||||
the complete license text, see the file 'COPYING'. This license applies
|
the complete license text, see the file 'COPYING'. This license applies
|
||||||
to all files in this distribution, except as noted below.
|
to all files in this distribution, except as noted below.
|
||||||
@@ -675,60 +698,66 @@ The CWSDPMI implementation in os/dos/cwsdpmi is distributed under a
|
|||||||
custom binary-only license that prohibits modification. The exact
|
custom binary-only license that prohibits modification. The exact
|
||||||
licensing terms can be found in os/dos/cwsdpmi/cwsdpmi.txt. The sources
|
licensing terms can be found in os/dos/cwsdpmi/cwsdpmi.txt. The sources
|
||||||
for these files can be downloaded at its author site, at:
|
for these files can be downloaded at its author site, at:
|
||||||
http://homer.rice.edu/~sandmann/cwsdpmi/csdpmi5s.zip
|
[http://homer.rice.edu/~sandmann/cwsdpmi/csdpmi5s.zip](http://homer.rice.edu/~sandmann/cwsdpmi/csdpmi5s.zip)
|
||||||
|
|
||||||
X.X) Credits
|
## X.X) Credits
|
||||||
---- -------
|
|
||||||
The OpenTTD team (in alphabetical order):
|
|
||||||
Albert Hofkamp (Alberth) - GUI expert (since 0.7)
|
|
||||||
Matthijs Kooijman (blathijs) - Pathfinder-guru, Debian port (since 0.3)
|
|
||||||
Ulf Hermann (fonsinchen) - Cargo Distribution (since 1.3)
|
|
||||||
Christoph Elsenhans (frosch) - General coding (since 0.6)
|
|
||||||
Loïc Guilloux (glx) - Windows Expert (since 0.4.5)
|
|
||||||
Michael Lutz (michi_cc) - Path based signals (since 0.7)
|
|
||||||
Owen Rudge (orudge) - Forum host, OS/2 port (since 0.1)
|
|
||||||
Peter Nelson (peter1138) - Spiritual descendant from newGRF gods (since 0.4.5)
|
|
||||||
Ingo von Borstel (planetmaker) - General coding, Support (since 1.1)
|
|
||||||
Remko Bijker (Rubidium) - Lead coder and way more (since 0.4.5)
|
|
||||||
José Soler (Terkhen) - General coding (since 1.0)
|
|
||||||
Leif Linse (Zuu) - AI/Game Script (since 1.2)
|
|
||||||
|
|
||||||
Inactive Developers:
|
### The OpenTTD team (in alphabetical order):
|
||||||
Jean-François Claeys (Belugas) - GUI, newindustries and more (0.4.5 - 1.0)
|
|
||||||
Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles (0.3 - 0.7)
|
|
||||||
Victor Fischer (Celestar) - Programming everywhere you need him to (0.3 - 0.6)
|
|
||||||
Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;) (0.4.5 - 0.6)
|
|
||||||
Jonathan Coome (Maedhros) - High priest of the NewGRF Temple (0.5 - 0.6)
|
|
||||||
Attila Bán (MiHaMiX) - WebTranslator 1 and 2 (0.3 - 0.5)
|
|
||||||
Zdeněk Sojka (SmatZ) - Bug finder and fixer (0.6 - 1.3)
|
|
||||||
Christoph Mallon (Tron) - Programmer, code correctness police (0.3 - 0.5)
|
|
||||||
Patric Stout (TrueBrain) - NoProgrammer (0.3 - 1.2), sys op (active)
|
|
||||||
Thijs Marinussen (Yexo) - AI Framework, General (0.6 - 1.3)
|
|
||||||
|
|
||||||
Retired Developers:
|
- Grzegorz Duczyński (adf88) - General coding (since 1.7.2)
|
||||||
Tamás Faragó (Darkvater) - Ex-Lead coder (0.3 - 0.5)
|
- Albert Hofkamp (Alberth) - GUI expert (since 0.7)
|
||||||
Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3 - 0.3)
|
- Matthijs Kooijman (blathijs) - Pathfinder-guru, Debian port (since 0.3)
|
||||||
Emil Djupfeld (egladil) - MacOSX port (0.4 - 0.6)
|
- Ulf Hermann (fonsinchen) - Cargo Distribution (since 1.3)
|
||||||
Simon Sasburg (HackyKid) - Bug fixer (0.4 - 0.4.5)
|
- Christoph Elsenhans (frosch) - General coding (since 0.6)
|
||||||
Ludvig Strigeus (ludde) - Original author of OpenTTD, main coder (0.1 - 0.3)
|
- Loïc Guilloux (glx) - Windows Expert (since 0.4.5)
|
||||||
Cian Duffy (MYOB) - BeOS port / manual writing (0.1 - 0.3)
|
- Michael Lutz (michi_cc) - Path based signals (since 0.7)
|
||||||
Petr Baudiš (pasky) - Many patches, newgrf support, etc. (0.3 - 0.3)
|
- Owen Rudge (orudge) - Forum host, OS/2 port (since 0.1)
|
||||||
Benedikt Brüggemeier (skidd13) - Bug fixer and code reworker (0.6 - 0.7)
|
- Peter Nelson (peter1138) - Spiritual descendant from newGRF gods (since 0.4.5)
|
||||||
Serge Paquet (vurlix) - 2nd contributor after ludde (0.1 - 0.3)
|
- Ingo von Borstel (planetmaker) - General coding, Support (since 1.1)
|
||||||
|
- Remko Bijker (Rubidium) - Lead coder and way more (since 0.4.5)
|
||||||
|
- José Soler (Terkhen) - General coding (since 1.0)
|
||||||
|
- Leif Linse (Zuu) - AI/Game Script (since 1.2)
|
||||||
|
|
||||||
|
### Inactive Developers:
|
||||||
|
|
||||||
|
- Jean-François Claeys (Belugas) - GUI, newindustries and more (0.4.5 - 1.0)
|
||||||
|
- Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles (0.3 - 0.7)
|
||||||
|
- Victor Fischer (Celestar) - Programming everywhere you need him to (0.3 - 0.6)
|
||||||
|
- Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;) (0.4.5 - 0.6)
|
||||||
|
- Jonathan Coome (Maedhros) - High priest of the NewGRF Temple (0.5 - 0.6)
|
||||||
|
- Attila Bán (MiHaMiX) - WebTranslator 1 and 2 (0.3 - 0.5)
|
||||||
|
- Zdeněk Sojka (SmatZ) - Bug finder and fixer (0.6 - 1.3)
|
||||||
|
- Christoph Mallon (Tron) - Programmer, code correctness police (0.3 - 0.5)
|
||||||
|
- Patric Stout (TrueBrain) - NoProgrammer (0.3 - 1.2), sys op (active)
|
||||||
|
- Thijs Marinussen (Yexo) - AI Framework, General (0.6 - 1.3)
|
||||||
|
|
||||||
|
### Retired Developers:
|
||||||
|
|
||||||
|
- Tamás Faragó (Darkvater) - Ex-Lead coder (0.3 - 0.5)
|
||||||
|
- Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3 - 0.3)
|
||||||
|
- Emil Djupfeld (egladil) - MacOSX port (0.4 - 0.6)
|
||||||
|
- Simon Sasburg (HackyKid) - Bug fixer (0.4 - 0.4.5)
|
||||||
|
- Ludvig Strigeus (ludde) - Original author of OpenTTD, main coder (0.1 - 0.3)
|
||||||
|
- Cian Duffy (MYOB) - BeOS port / manual writing (0.1 - 0.3)
|
||||||
|
- Petr Baudiš (pasky) - Many patches, newgrf support, etc. (0.3 - 0.3)
|
||||||
|
- Benedikt Brüggemeier (skidd13) - Bug fixer and code reworker (0.6 - 0.7)
|
||||||
|
- Serge Paquet (vurlix) - 2nd contributor after ludde (0.1 - 0.3)
|
||||||
|
|
||||||
|
### Thanks to:
|
||||||
|
|
||||||
|
- Josef Drexler - For his great work on TTDPatch.
|
||||||
|
- Marcin Grzegorczyk - For his TTDPatch work and documentation of Transport Tycoon Deluxe internals and track foundations
|
||||||
|
- Stefan Meißner (sign_de) - For his work on the console
|
||||||
|
- Mike Ragsdale - OpenTTD installer
|
||||||
|
- Christian Rosentreter (tokai) - MorphOS / AmigaOS port
|
||||||
|
- Richard Kempton (RichK67) - Additional airports, initial TGP implementation
|
||||||
|
- Alberto Demichelis - Squirrel scripting language
|
||||||
|
- L. Peter Deutsch - MD5 implementation
|
||||||
|
- Michael Blunck - For revolutionizing TTD with awesome graphics
|
||||||
|
- George - Canal graphics
|
||||||
|
- Andrew Parkhouse (andythenorth) - River graphics
|
||||||
|
- David Dallaston (Pikka) - Tram tracks
|
||||||
|
- All Translators - For their support to make OpenTTD a truly international game
|
||||||
|
- Bug Reporters - Thanks for all bug reports
|
||||||
|
- Chris Sawyer - For an amazing game!
|
||||||
|
|
||||||
Thanks to:
|
|
||||||
Josef Drexler - For his great work on TTDPatch.
|
|
||||||
Marcin Grzegorczyk - For his TTDPatch work and documentation of Transport Tycoon Deluxe internals and track foundations
|
|
||||||
Stefan Meißner (sign_de) - For his work on the console
|
|
||||||
Mike Ragsdale - OpenTTD installer
|
|
||||||
Christian Rosentreter (tokai) - MorphOS / AmigaOS port
|
|
||||||
Richard Kempton (RichK67) - Additional airports, initial TGP implementation
|
|
||||||
Alberto Demichelis - Squirrel scripting language
|
|
||||||
L. Peter Deutsch - MD5 implementation
|
|
||||||
Michael Blunck - For revolutionizing TTD with awesome graphics
|
|
||||||
George - Canal graphics
|
|
||||||
Andrew Parkhouse (andythenorth) - River graphics
|
|
||||||
David Dallaston (Pikka) - Tram tracks
|
|
||||||
All Translators - For their support to make OpenTTD a truly international game
|
|
||||||
Bug Reporters - Thanks for all bug reports
|
|
||||||
Chris Sawyer - For an amazing game!
|
|
@@ -7,4 +7,4 @@
|
|||||||
* 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/>.
|
* 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/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
GSLog.Info("1.7 API compatibility in effect.");
|
AILog.Info("1.7 API compatibility in effect.");
|
||||||
|
@@ -6,3 +6,5 @@
|
|||||||
* 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.
|
* 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/>.
|
* 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/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
AILog.Info("1.8 API compatibility in effect.");
|
||||||
|
8
bin/ai/compat_1.9.nut
Normal file
8
bin/ai/compat_1.9.nut
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
/* $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/>.
|
||||||
|
*/
|
@@ -6,7 +6,7 @@ class Regression extends AIInfo {
|
|||||||
function GetShortName() { return "REGR"; }
|
function GetShortName() { return "REGR"; }
|
||||||
function GetDescription() { return "This runs regression-tests on some commands. On the same map the result should always be the same."; }
|
function GetDescription() { return "This runs regression-tests on some commands. On the same map the result should always be the same."; }
|
||||||
function GetVersion() { return 1; }
|
function GetVersion() { return 1; }
|
||||||
function GetAPIVersion() { return "1.8"; }
|
function GetAPIVersion() { return "1.9"; }
|
||||||
function GetDate() { return "2007-03-18"; }
|
function GetDate() { return "2007-03-18"; }
|
||||||
function CreateInstance() { return "Regression"; }
|
function CreateInstance() { return "Regression"; }
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
@@ -77,7 +77,7 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
|||||||
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
||||||
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
||||||
TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6
|
TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6
|
||||||
ORIG_EXTRA.GRF = 0b10a95c0adee710ecca9c3d676be4f3
|
ORIG_EXTRA.GRF = 67bcfac5911667309d86b7749ea8d08c
|
||||||
|
|
||||||
[origin]
|
[origin]
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||||
|
@@ -75,7 +75,7 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
|||||||
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
||||||
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
||||||
TRGT.GRF = fcde1d7e8a74197d72a62695884b909e
|
TRGT.GRF = fcde1d7e8a74197d72a62695884b909e
|
||||||
ORIG_EXTRA.GRF = 0b10a95c0adee710ecca9c3d676be4f3
|
ORIG_EXTRA.GRF = 67bcfac5911667309d86b7749ea8d08c
|
||||||
|
|
||||||
[origin]
|
[origin]
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||||
|
Binary file not shown.
@@ -76,7 +76,7 @@ TRGIR.GRF = 0c2484ff6be49fc63a83be6ab5c38f32
|
|||||||
TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b
|
TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b
|
||||||
TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1
|
TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1
|
||||||
TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8
|
TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8
|
||||||
ORIG_EXTRA.GRF = 0b10a95c0adee710ecca9c3d676be4f3
|
ORIG_EXTRA.GRF = 67bcfac5911667309d86b7749ea8d08c
|
||||||
|
|
||||||
[origin]
|
[origin]
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||||
|
@@ -6,3 +6,5 @@
|
|||||||
* 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.
|
* 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/>.
|
* 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/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
GSLog.Info("1.8 API compatibility in effect.");
|
||||||
|
8
bin/game/compat_1.9.nut
Normal file
8
bin/game/compat_1.9.nut
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
/* $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/>.
|
||||||
|
*/
|
@@ -1,3 +1,94 @@
|
|||||||
|
1.7.2 (2017-12-24)
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
(None)
|
||||||
|
|
||||||
|
|
||||||
|
1.7.2-RC1 (2017-12-11)
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
- Change: When train depots have a horizontal scrollbar, allow scrolling 1 tile beyond the longest train, so you can actually attach a wagon at the end (r27937)
|
||||||
|
- Fix: When moving wagons in the depot, the drag highlight did not exactly match the length of the dragged wagon chain (r27936)
|
||||||
|
- Fix: [Win32] Right mouse scrolling didn't work properly with the Windows 10 Fall Creators Update [FS#6629] (r27935)
|
||||||
|
- Fix: Forest, candyfloss forest and battery farm skipped the first animation frame [FS#6639] (r27932)
|
||||||
|
- Fix: Glyphs in range U+0020 to U+00FF may only be defined in orig_extra.grf, not in openttd.grf [FS#6620] (r27915)
|
||||||
|
- Fix: 'unban' console command was not handling IPv6 adresses properly (r27914, r27913)
|
||||||
|
- Fix: Keep the 'link' between industry chain and smallmap windows whenever possible [FS#6585] (r27905)
|
||||||
|
- Fix: When the last vehicle is removed from a shared orders group, hide the 'Stop sharing' button in the vehicle orders window [FS#6593] (r27904)
|
||||||
|
- Fix: Tooltip of 'increase service interval' said 'decrease' [FS#6606] (r27895)
|
||||||
|
- Fix: Console command parser passed invalid strings to the debug output, if command lines had many parameters [FS#6576] (r27884, r27883)
|
||||||
|
|
||||||
|
|
||||||
|
1.7.1 (2017-06-13)
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
(None)
|
||||||
|
|
||||||
|
|
||||||
|
1.7.1-RC1 (2017-05-04)
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
- Fix: Add missing game script event for ships arriving at a station [FS#6560] (r27859, r27858)
|
||||||
|
- Fix: StringID truncation to 16 bits broke string remapping test [FS#6555] (r27851)
|
||||||
|
- Fix: Infinite loop in pathfinder when checking safe waiting position from a waypoint [FS#5926] (r27846)
|
||||||
|
- Fix: [YAPF] Consider depot as destination before reversing path and applying penalty (r27843)
|
||||||
|
- Fix: Don't consider locks or ship depots as clear water when placing industries (r27841)
|
||||||
|
- Fix: Small news window's fake caption was not sized to fit its text (r27838)
|
||||||
|
- Fix: Black remap did nothing in 8bpp-simple blitter (r27837)
|
||||||
|
- Fix: Misaligned resize icon due to widget bounds being inclusive (r27831)
|
||||||
|
- Fix: Update viewport sign dimensions when changing GUI zoom level (r27827, r27819)
|
||||||
|
- Fix: Vehicle viewport is not user scrollable so flag window as such (r27823)
|
||||||
|
- Fix: Allow dropdown to be drawn above origin widget even with scrollbar (r27820)
|
||||||
|
- Fix: 32bpp-anim blitters assumed that pitch and width of the screen were equal [FS#6545] (r27796)
|
||||||
|
- Fix: Chat text background overflowed due to missing padding [FS#6526] (r27794)
|
||||||
|
- Fix: Failed to load lzo compressed savegames sometimes [FS#6450] (r27793)
|
||||||
|
- Fix: [Win32] Mark OpenTTD as DPI-aware to avoid OS window scaling that breaks mouse input [FS#6366] (r27791, r27790)
|
||||||
|
- Fix: [NewGRF] Get vehicle load amount after executing new cargo trigger [FS#6536] (r27788)
|
||||||
|
- Fix: AI configuration changed incorrect parameter when some parameters are hidden [FS#6479] (r27787, r27786)
|
||||||
|
- Fix: Buoys not always drawn after being placed depending on zoom level [FS#6508] (r27785)
|
||||||
|
- Fix: Allow rail conversion even if ship is on tile [FS#6505] (r27784)
|
||||||
|
|
||||||
|
|
||||||
|
1.7.0 (2017-04-01)
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
(None)
|
||||||
|
|
||||||
|
|
||||||
|
1.7.0-RC1 (2017-03-11)
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
- Feature: [NewGRF] Extend the DCxx range to D800-DFFF (r27769)
|
||||||
|
- Feature: [NewGRF, script] Increase the maximum number of GameScript texts to 64k, and NewGRF texts to 512k (r27758)
|
||||||
|
- Feature: [NewGRF] CB 37 results 0x0401 and 0x0800-0BFF for improved control of display of input cargos in the industry GUI (r27751)
|
||||||
|
- Feature: Sprites missing in outdated basesets are now provided by openttd.grf (r27732, r27731, r27730)
|
||||||
|
- Feature: [NewGRF] String command 9A 1E to print the name of a cargo type (r27707, r27706)
|
||||||
|
- Feature: [Debug] Assign descriptive names to threads [FS#6471] (r27674, r27673, r27670)
|
||||||
|
- Feature: [NewGRF] Allow composing vehicles from multiple sprites (r27668)
|
||||||
|
- Change: Enable realistic train and road vehicle acceleration by default (r27760)
|
||||||
|
- Change: Hide the drive-in stops from the tram station picker (r27734)
|
||||||
|
- Change: Do not count static NewGRF when checking for the maximum number of NewGRFs in a game (r27729)
|
||||||
|
- Change: Limit waypoint area by maximum station spread during dragging (r27710)
|
||||||
|
- Change: [Build] Re-enable Wnarrowing for gcc 4.9+ [FS#6532] (r27709, r27703)
|
||||||
|
- Change: List railtype of rail tiles explicitly in the tile info window (r27686)
|
||||||
|
- Change: Re-arrange the autoreplace GUI for trains, and do not filter it by railtype by default (r27683)
|
||||||
|
- Change: Various performance improvements to CargoDist and LinkGraphs (r27682, r27681, r27614, r27613, r27612, r27611)
|
||||||
|
- Change: Improve randomisation of rough land appearance (r27657)
|
||||||
|
- Change: [Build] Enable C++11 for clang 3.3 (r27654)
|
||||||
|
- Fix: Insufficient thread synchronisation when switching blitters lead to crashes [FS#6510] (r27775)
|
||||||
|
- Fix: Enabling palette animation for 32bpp blitters while paused skipped initialisation of the palette and resulted in black windows [FS#5889] (r27774)
|
||||||
|
- Fix: Intro games other than the traditional nightly one would cause townname NewGRFs to not get activated in the game options [FS#5819] (r27772)
|
||||||
|
- Fix: Some variables were not reset between loading old savegames, which made loading them fail [FS#6540] (r27770)
|
||||||
|
- Fix: Removing secondary roadtypes from bridges was factor 2 too cheap [FS#6538] (r27746)
|
||||||
|
- Fix: Extra viewports did not center on the selected tile [FS#6537] (r27743)
|
||||||
|
- Fix: [Build] Building on newer OSX versions with newer SDKs [FS#6295, FS#6502] (r27727, r27675)
|
||||||
|
- Fix: Improve error message when trying to build rail track over a depot (r27726)
|
||||||
|
- Fix: Rescanning NewGRF in-game could break the loaded NewGRF, if very many NewGRF were in use (r27721)
|
||||||
|
- Fix: Text could overflow various GUI elements [FS#6527] (r27713)
|
||||||
|
- Fix: Memory leak when reloading NewGRF (r27690, r27688, r27687)
|
||||||
|
- Fix: When removing objects of bankrupt companies the tiles may revert to canal. In that case also check the ownership of the canal [FS#6511] (r27656)
|
||||||
|
- Fix: Make the console file commands operate independent of the save/load GUI (r27645)
|
||||||
|
- Fix: When dragging vehicles in group or depot GUI, draw the complete articulated vehicle (r27632)
|
||||||
|
- Fix: When dragging multiple vehicles in the depot, make the destination gap as long as the chain instead of just considering the first vehicle (r27629)
|
||||||
|
- Fix: [Build] Change the GCC version detection so that it works with two-digit and truncated versions [FS#6487] (r27623, r27616)
|
||||||
|
- Fix: Do not hide filtered and highlighted industries by overlapping tiles in the zoomed-out smallmap (r27622, r27621, r27620)
|
||||||
|
- Fix: [Script] Kill scripts, when a non-suspendable valuator call takes way too long [FS#6473] (r27594)
|
||||||
|
|
||||||
|
|
||||||
1.6.1 (2016-07-01)
|
1.6.1 (2016-07-01)
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
- Fix: Compilation and optimisation issues with GCC6 (r27606, r27605, r27595)
|
- Fix: Compilation and optimisation issues with GCC6 (r27606, r27605, r27595)
|
||||||
|
80
config.lib
80
config.lib
@@ -1210,12 +1210,15 @@ make_compiler_cflags() {
|
|||||||
# $4 - name of the ldflags variable
|
# $4 - name of the ldflags variable
|
||||||
# $5 - name of the features variable
|
# $5 - name of the features variable
|
||||||
|
|
||||||
|
# Get the compiler to tell us who it is
|
||||||
|
compiler="`$1 --version | head -n1 | cut -d' ' -f1`"
|
||||||
|
|
||||||
eval eval "flags=\\\$$2"
|
eval eval "flags=\\\$$2"
|
||||||
eval eval "cxxflags=\\\$$3"
|
eval eval "cxxflags=\\\$$3"
|
||||||
eval eval "ldflags=\\\$$4"
|
eval eval "ldflags=\\\$$4"
|
||||||
eval eval "features=\\\$$5"
|
eval eval "features=\\\$$5"
|
||||||
|
|
||||||
if [ `basename $1 | cut -c 1-3` = "icc" ]; then
|
if [ "$compiler" = "icc" ]; then
|
||||||
# Enable some things only for certain ICC versions
|
# Enable some things only for certain ICC versions
|
||||||
cc_version=`$1 -dumpversion | cut -c 1-4 | sed s@\\\.@@g`
|
cc_version=`$1 -dumpversion | cut -c 1-4 | sed s@\\\.@@g`
|
||||||
|
|
||||||
@@ -1307,7 +1310,7 @@ make_compiler_cflags() {
|
|||||||
features="$features lto"
|
features="$features lto"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
elif [ `basename $1 | grep 'clang'` ]; then
|
elif [ "$compiler" = "clang" ]; then
|
||||||
# Enable some things only for certain clang versions
|
# Enable some things only for certain clang versions
|
||||||
cc_version="`$1 -v 2>&1 | head -n 1 | sed s@[^0-9]@@g | cut -c 1-2`"
|
cc_version="`$1 -v 2>&1 | head -n 1 | sed s@[^0-9]@@g | cut -c 1-2`"
|
||||||
|
|
||||||
@@ -1367,6 +1370,8 @@ make_compiler_cflags() {
|
|||||||
|
|
||||||
# rdynamic is used to get useful stack traces from crash reports.
|
# rdynamic is used to get useful stack traces from crash reports.
|
||||||
ldflags="$ldflags -rdynamic"
|
ldflags="$ldflags -rdynamic"
|
||||||
|
|
||||||
|
# Assume gcc, since it just uses argv[0] in its --version output
|
||||||
else
|
else
|
||||||
# Enable some things only for certain GCC versions
|
# Enable some things only for certain GCC versions
|
||||||
# cc_version = major_version * 100 + minor_version
|
# cc_version = major_version * 100 + minor_version
|
||||||
@@ -1485,21 +1490,27 @@ make_compiler_cflags() {
|
|||||||
|
|
||||||
make_cflags_and_ldflags() {
|
make_cflags_and_ldflags() {
|
||||||
# General CFlags for BUILD
|
# General CFlags for BUILD
|
||||||
CFLAGS_BUILD="$CFLAGS_BUILD"
|
CFLAGS_BUILD_ENV="$CFLAGS_BUILD"
|
||||||
|
CFLAGS_BUILD=""
|
||||||
# Special CXXFlags for BUILD
|
# Special CXXFlags for BUILD
|
||||||
CXXFLAGS_BUILD="$CXXFLAGS_BUILD"
|
CXXFLAGS_BUILD_ENV="$CXXFLAGS_BUILD"
|
||||||
|
CXXFLAGS_BUILD=""
|
||||||
# LDFLAGS for BUILD
|
# LDFLAGS for BUILD
|
||||||
LDFLAGS_BUILD="$LDFLAGS_BUILD"
|
LDFLAGS_BUILD_ENV="$LDFLAGS_BUILD"
|
||||||
|
LDFLAGS_BUILD=""
|
||||||
# FEATURES for BUILD (lto)
|
# FEATURES for BUILD (lto)
|
||||||
FEATURES_BUILD=""
|
FEATURES_BUILD=""
|
||||||
# General CFlags for HOST
|
# General CFlags for HOST
|
||||||
CFLAGS="$CFLAGS"
|
CFLAGS_ENV="$CFLAGS"
|
||||||
|
CFLAGS=""
|
||||||
# Special CXXFlags for HOST
|
# Special CXXFlags for HOST
|
||||||
CXXFLAGS="$CXXFLAGS"
|
CXXFLAGS_ENV="$CXXFLAGS"
|
||||||
|
CXXFLAGS=""
|
||||||
# Libs to compile. In fact this is just LDFLAGS
|
# Libs to compile. In fact this is just LDFLAGS
|
||||||
LIBS="-lstdc++"
|
LIBS="-lstdc++"
|
||||||
# LDFLAGS used for HOST
|
# LDFLAGS used for HOST
|
||||||
LDFLAGS="$LDFLAGS"
|
LDFLAGS_ENV="$LDFLAGS"
|
||||||
|
LDFLAGS=""
|
||||||
# FEATURES for HOST (lto)
|
# FEATURES for HOST (lto)
|
||||||
FEATURES=""
|
FEATURES=""
|
||||||
|
|
||||||
@@ -1920,6 +1931,14 @@ make_cflags_and_ldflags() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# All flags to be extended via the env
|
||||||
|
CFLAGS_BUILD="$CFLAGS_BUILD $CFLAGS_BUILD_ENV"
|
||||||
|
CXXFLAGS_BUILD="$CXXFLAGS_BUILD $CXXFLAGS_BUILD_ENV"
|
||||||
|
LDFLAGS_BUILD="$LDFLAGS_BUILD $LDFLAGS_BUILD_ENV"
|
||||||
|
CFLAGS="$CFLAGS $CFLAGS_ENV"
|
||||||
|
CXXFLAGS="$CXXFLAGS $CXXFLAGS_ENV"
|
||||||
|
LDFLAGS="$LDFLAGS $LDFLAGS_ENV"
|
||||||
|
|
||||||
log 1 "using CFLAGS_BUILD... $CFLAGS_BUILD"
|
log 1 "using CFLAGS_BUILD... $CFLAGS_BUILD"
|
||||||
log 1 "using CXXFLAGS_BUILD... $CXXFLAGS_BUILD"
|
log 1 "using CXXFLAGS_BUILD... $CXXFLAGS_BUILD"
|
||||||
log 1 "using LDFLAGS_BUILD... $LDFLAGS_BUILD"
|
log 1 "using LDFLAGS_BUILD... $LDFLAGS_BUILD"
|
||||||
@@ -1970,7 +1989,22 @@ check_compiler() {
|
|||||||
# $8 - "0" gcc, "1" g++, "2" windres, "3" strip, "4" lipo
|
# $8 - "0" gcc, "1" g++, "2" windres, "3" strip, "4" lipo
|
||||||
# $9 - What the command is to check for
|
# $9 - What the command is to check for
|
||||||
|
|
||||||
if [ -n "$3" ]; then
|
if [ -n "$4" ]; then
|
||||||
|
# Check for manual compiler
|
||||||
|
machine=`$4 $9 2>/dev/null`
|
||||||
|
ret=$?
|
||||||
|
eval "$2=\"$4\""
|
||||||
|
|
||||||
|
log 2 "executing $4 $9"
|
||||||
|
log 2 " returned $machine"
|
||||||
|
log 2 " exit code $ret"
|
||||||
|
|
||||||
|
if ( [ -z "$machine" ] && [ "$8" != "3" ] ) || [ "$ret" != "0" ]; then
|
||||||
|
log 1 "checking $1... $4 not found"
|
||||||
|
log 1 "the selected binary doesn't seem to be a $6 binary"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
elif [ -n "$3" ]; then
|
||||||
# Check for system
|
# Check for system
|
||||||
if [ -z "$6" ]; then
|
if [ -z "$6" ]; then
|
||||||
compiler="$3"
|
compiler="$3"
|
||||||
@@ -2013,21 +2047,6 @@ check_compiler() {
|
|||||||
log 1 "the compiler suggests it doesn't build code for the machine you specified"
|
log 1 "the compiler suggests it doesn't build code for the machine you specified"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
elif [ -n "$4" ]; then
|
|
||||||
# Check for manual compiler
|
|
||||||
machine=`$4 $9 2>/dev/null`
|
|
||||||
ret=$?
|
|
||||||
eval "$2=\"$4\""
|
|
||||||
|
|
||||||
log 2 "executing $4 $9"
|
|
||||||
log 2 " returned $machine"
|
|
||||||
log 2 " exit code $ret"
|
|
||||||
|
|
||||||
if ( [ -z "$machine" ] && [ "$8" != "3" ] ) || [ "$ret" != "0" ]; then
|
|
||||||
log 1 "checking $1... $4 not found"
|
|
||||||
log 1 "the selected binary doesn't seem to be a $6 binary"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
# Nothing given, autodetect
|
# Nothing given, autodetect
|
||||||
|
|
||||||
@@ -2090,26 +2109,13 @@ check_compiler() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
check_build() {
|
check_build() {
|
||||||
if [ "$os" = "FREEBSD" ]; then
|
|
||||||
# FreeBSD's C compiler does not support dump machine.
|
|
||||||
# However, removing C support is not possible because PSP must be linked with the C compiler.
|
|
||||||
check_compiler "build system type" "cc_build" "$build" "$cc_build" "$CXX" "g++" "c++" "0" "-dumpmachine"
|
|
||||||
else
|
|
||||||
check_compiler "build system type" "cc_build" "$build" "$cc_build" "$CC" "gcc" "cc" "0" "-dumpmachine"
|
check_compiler "build system type" "cc_build" "$build" "$cc_build" "$CC" "gcc" "cc" "0" "-dumpmachine"
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
check_host() {
|
check_host() {
|
||||||
# By default the host is the build
|
# By default the host is the build
|
||||||
if [ -z "$host" ]; then host="$build"; fi
|
if [ -z "$host" ]; then host="$build"; fi
|
||||||
|
|
||||||
if [ "$os" = "FREEBSD" ]; then
|
|
||||||
# FreeBSD's C compiler does not support dump machine.
|
|
||||||
# However, removing C support is not possible because PSP must be linked with the C compiler.
|
|
||||||
check_compiler "host system type" "cc_host" "$host" "$cc_host" "$CXX" "g++" "c++" "0" "-dumpmachine"
|
|
||||||
else
|
|
||||||
check_compiler "host system type" "cc_host" "$host" "$cc_host" "$CC" "gcc" "cc" "0" "-dumpmachine"
|
check_compiler "host system type" "cc_host" "$host" "$cc_host" "$CC" "gcc" "cc" "0" "-dumpmachine"
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
check_cxx_build() {
|
check_cxx_build() {
|
||||||
|
@@ -76,7 +76,7 @@ list, above all others, otherwise compilation will most likely fail!!
|
|||||||
|
|
||||||
3) TTD GRAPHICS FILES
|
3) TTD GRAPHICS FILES
|
||||||
---------------------
|
---------------------
|
||||||
See section 4.1 of readme.txt for the required 3rdparty files and how to install them.
|
See section 4.1 of README.md for the required 3rdparty files and how to install them.
|
||||||
|
|
||||||
|
|
||||||
4) COMPILING
|
4) COMPILING
|
||||||
|
110
findversion.sh
110
findversion.sh
@@ -14,42 +14,31 @@ if [ "$#" != "0" ]; then
|
|||||||
Usage: ./findversion.sh
|
Usage: ./findversion.sh
|
||||||
Finds the current revision and if the code is modified.
|
Finds the current revision and if the code is modified.
|
||||||
|
|
||||||
Output: <REV>\t<REV_NR>\t<MODIFIED>\t<CLEAN_REV>
|
Output: <VERSION>\t<ISODATE>\t<MODIFIED>\t<HASH>
|
||||||
REV
|
VERSION
|
||||||
a string describing what version of the code the current checkout is
|
a string describing what version of the code the current checkout is
|
||||||
based on. The exact format of this string depends on the version
|
based on.
|
||||||
control system in use, but it tries to identify the revision used as
|
This also includes the commit date, an indication of whether the checkout
|
||||||
close as possible (using the svn revision number or hg/git hash).
|
was modified and which branch was checked out. This value is not
|
||||||
This also includes an indication of whether the checkout was
|
|
||||||
modified and which branch was checked out. This value is not
|
|
||||||
guaranteed to be sortable, but is mainly meant for identifying the
|
guaranteed to be sortable, but is mainly meant for identifying the
|
||||||
revision and user display.
|
revision and user display.
|
||||||
|
|
||||||
If no revision identifier could be found, this is left empty.
|
If no revision identifier could be found, this is left empty.
|
||||||
REV_NR
|
ISODATE
|
||||||
the revision number of the svn revision this checkout is based on.
|
the commit date of the revision this checkout is based on.
|
||||||
This can be used to determine which functionality is present in this
|
The commit date may differ from the author date.
|
||||||
checkout. For trunk svn checkouts and hg/git branches based upon it,
|
This can be used to decide upon the age of the source.
|
||||||
this number should be accurate. For svn branch checkouts, this
|
|
||||||
number is mostly meaningless, at least when comparing with the
|
|
||||||
REV_NR from other branches or trunk.
|
|
||||||
|
|
||||||
This number should be sortable. Within a given branch or trunk, a
|
If no timestamp could be found, this is left empty.
|
||||||
higher number means a newer version. However, when using git or hg,
|
|
||||||
this number will not increase on new commits.
|
|
||||||
|
|
||||||
If no revision number could be found, this is left empty.
|
|
||||||
MODIFIED
|
MODIFIED
|
||||||
Whether (the src directory of) this checkout is modified or not. A
|
Whether (the src directory of) this checkout is modified or not. A
|
||||||
value of 0 means not modified, a value of 2 means it was modified.
|
value of 0 means not modified, a value of 2 means it was modified.
|
||||||
Modification is determined in relation to the commit identified by
|
|
||||||
REV, so not in relation to the svn revision identified by REV_NR.
|
|
||||||
|
|
||||||
A value of 1 means that the modified status is unknown, because this
|
A value of 1 means that the modified status is unknown, because this
|
||||||
is not an svn/git/hg checkout for example.
|
is not an git checkout for example.
|
||||||
|
|
||||||
CLEAN_REV
|
HASH
|
||||||
the same as REV but without branch name
|
the git revision hash
|
||||||
|
|
||||||
By setting the AWK environment variable, a caller can determine which
|
By setting the AWK environment variable, a caller can determine which
|
||||||
version of "awk" is used. If nothing is set, this script defaults to
|
version of "awk" is used. If nothing is set, this script defaults to
|
||||||
@@ -70,21 +59,7 @@ ROOT_DIR=`pwd`
|
|||||||
# Determine if we are using a modified version
|
# Determine if we are using a modified version
|
||||||
# Assume the dir is not modified
|
# Assume the dir is not modified
|
||||||
MODIFIED="0"
|
MODIFIED="0"
|
||||||
if [ -d "$ROOT_DIR/.svn" ] || [ -d "$ROOT_DIR/../.svn" ]; then
|
if [ -d "$ROOT_DIR/.git" ]; then
|
||||||
# We are an svn checkout
|
|
||||||
if [ -n "`svnversion | grep 'M'`" ]; then
|
|
||||||
MODIFIED="2"
|
|
||||||
fi
|
|
||||||
# Find the revision like: rXXXXM-branch
|
|
||||||
BRANCH=`LC_ALL=C svn info | "$AWK" '/^URL:.*branches/ { split($2, a, "/"); for(i in a) if (a[i]=="branches") { print a[i+1]; break } }'`
|
|
||||||
TAG=`LC_ALL=C svn info | "$AWK" '/^URL:.*tags/ { split($2, a, "/"); for(i in a) if (a[i]=="tags") { print a[i+1]; break } }'`
|
|
||||||
REV_NR=`LC_ALL=C svn info | "$AWK" '/^Last Changed Rev:/ { print $4 }'`
|
|
||||||
if [ -n "$TAG" ]; then
|
|
||||||
REV=$TAG
|
|
||||||
else
|
|
||||||
REV="r$REV_NR"
|
|
||||||
fi
|
|
||||||
elif [ -d "$ROOT_DIR/.git" ]; then
|
|
||||||
# We are a git checkout
|
# We are a git checkout
|
||||||
# Refresh the index to make sure file stat info is in sync, then look for modifications
|
# Refresh the index to make sure file stat info is in sync, then look for modifications
|
||||||
git update-index --refresh >/dev/null
|
git update-index --refresh >/dev/null
|
||||||
@@ -92,35 +67,21 @@ elif [ -d "$ROOT_DIR/.git" ]; then
|
|||||||
MODIFIED="2"
|
MODIFIED="2"
|
||||||
fi
|
fi
|
||||||
HASH=`LC_ALL=C git rev-parse --verify HEAD 2>/dev/null`
|
HASH=`LC_ALL=C git rev-parse --verify HEAD 2>/dev/null`
|
||||||
REV="g`echo $HASH | cut -c1-8`"
|
SHORTHASH=`echo ${HASH} | cut -c1-8`
|
||||||
BRANCH="`git symbolic-ref -q HEAD 2>/dev/null | sed 's@.*/@@;s@^master$@@'`"
|
ISODATE=`LC_ALL=C git show -s --pretty='format:%ci' HEAD | "$AWK" '{ gsub("-", "", $1); print $1 }'`
|
||||||
REV_NR=`LC_ALL=C git log --pretty=format:%s --grep="^(svn r[0-9]*)" -1 | sed "s@.*(svn r\([0-9]*\)).*@\1@"`
|
BRANCH="`git symbolic-ref -q HEAD 2>/dev/null | sed 's@.*/@@'`"
|
||||||
if [ -z "$REV_NR" ]; then
|
|
||||||
# No rev? Maybe it is a custom git-svn clone
|
|
||||||
REV_NR=`LC_ALL=C git log --pretty=format:%b --grep="git-svn-id:.*@[0-9]*" -1 | sed "s@.*\@\([0-9]*\).*@\1@"`
|
|
||||||
fi
|
|
||||||
TAG="`git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null | sed 's@\^0$@@'`"
|
TAG="`git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null | sed 's@\^0$@@'`"
|
||||||
|
|
||||||
if [ -n "$TAG" ]; then
|
if [ -n "$TAG" ]; then
|
||||||
BRANCH=""
|
VERSION="${TAG}"
|
||||||
REV="$TAG"
|
elif [ "${BRANCH}" = "master" ]; then
|
||||||
|
VERSION="${ISODATE}-g${SHORTHASH}"
|
||||||
|
else
|
||||||
|
VERSION="${ISODATE}-${BRANCH}-g${SHORTHASH}"
|
||||||
fi
|
fi
|
||||||
elif [ -d "$ROOT_DIR/.hg" ]; then
|
|
||||||
# We are a hg checkout
|
if [ "$MODIFIED" -eq "2" ]; then
|
||||||
if [ -n "`HGPLAIN= hg status | grep -v '^?'`" ]; then
|
VERSION="${VERSION}M"
|
||||||
MODIFIED="2"
|
|
||||||
fi
|
|
||||||
HASH=`LC_ALL=C HGPLAIN= hg id -i | cut -c1-12`
|
|
||||||
REV="h`echo $HASH | cut -c1-8`"
|
|
||||||
BRANCH="`HGPLAIN= hg branch | sed 's@^default$@@'`"
|
|
||||||
TAG="`HGPLAIN= hg id -t | grep -v 'tip$'`"
|
|
||||||
if [ -n "$TAG" ]; then
|
|
||||||
BRANCH=""
|
|
||||||
REV="$TAG"
|
|
||||||
fi
|
|
||||||
REV_NR=`LC_ALL=C HGPLAIN= hg log -f -k "(svn r" -l 1 --template "{desc|firstline}\n" | grep "^(svn r[0-9]*)" | sed "s@.*(svn r\([0-9]*\)).*@\1@"`
|
|
||||||
if [ -z "$REV_NR" ]; then
|
|
||||||
# No rev? Maybe it is a custom hgsubversion clone
|
|
||||||
REV_NR=`LC_ALL=C HGPLAIN= hg parent --template="{svnrev}"`
|
|
||||||
fi
|
fi
|
||||||
elif [ -f "$ROOT_DIR/.ottdrev" ]; then
|
elif [ -f "$ROOT_DIR/.ottdrev" ]; then
|
||||||
# We are an exported source bundle
|
# We are an exported source bundle
|
||||||
@@ -129,19 +90,12 @@ elif [ -f "$ROOT_DIR/.ottdrev" ]; then
|
|||||||
else
|
else
|
||||||
# We don't know
|
# We don't know
|
||||||
MODIFIED="1"
|
MODIFIED="1"
|
||||||
|
HASH=""
|
||||||
|
SHORTHASH=""
|
||||||
BRANCH=""
|
BRANCH=""
|
||||||
REV=""
|
ISODATE=""
|
||||||
REV_NR=""
|
TAG=""
|
||||||
|
VERSION=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$MODIFIED" -eq "2" ]; then
|
echo "$VERSION $ISODATE $MODIFIED $HASH"
|
||||||
REV="${REV}M"
|
|
||||||
fi
|
|
||||||
|
|
||||||
CLEAN_REV=${REV}
|
|
||||||
|
|
||||||
if [ -n "$BRANCH" ]; then
|
|
||||||
REV="${REV}-$BRANCH"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$REV $REV_NR $MODIFIED $CLEAN_REV"
|
|
||||||
|
@@ -453,3 +453,12 @@ Some houses and industries are not affected by transparency [FS#5817]:
|
|||||||
This is a bug of the original graphics, and unfortunately cannot be
|
This is a bug of the original graphics, and unfortunately cannot be
|
||||||
fixed with OpenGFX for the sake of maintaining compatibility with the
|
fixed with OpenGFX for the sake of maintaining compatibility with the
|
||||||
original graphics.
|
original graphics.
|
||||||
|
|
||||||
|
Involuntary cargo exchange with cargodist via neutral station [FS#6114]:
|
||||||
|
When two players serve a neutral station at an industry, a cross-company
|
||||||
|
chain for cargo flow can and will be established which can only be
|
||||||
|
interrupted if one of the players stops competing for the ressources of
|
||||||
|
that industry. There is an easy fix for this: If you are loading at the
|
||||||
|
shared station make the order "no unload" and if you're unloading make
|
||||||
|
it "no load". Cargodist will then figure out that it should not create
|
||||||
|
such a route.
|
||||||
|
@@ -23,3 +23,16 @@
|
|||||||
-1 sprites/airports.png 8bpp 82 88 64 31 -31 0 normal
|
-1 sprites/airports.png 8bpp 82 88 64 31 -31 0 normal
|
||||||
-1 sprites/airports.png 8bpp 162 88 64 31 -31 0 normal
|
-1 sprites/airports.png 8bpp 162 88 64 31 -31 0 normal
|
||||||
-1 sprites/airports.png 8bpp 242 88 64 31 -31 0 normal
|
-1 sprites/airports.png 8bpp 242 88 64 31 -31 0 normal
|
||||||
|
-1 * 0 0C "Climate specific sprites by PaulC"
|
||||||
|
-1 * 0 07 83 01 \7! 01 03
|
||||||
|
-1 * 0 05 90 02 0D
|
||||||
|
-1 sprites/airports.png 8bpp 320 88 64 31 -31 0 normal
|
||||||
|
-1 sprites/airports.png 8bpp 400 88 64 31 -31 0 normal
|
||||||
|
-1 * 0 07 83 01 \7! 02 03
|
||||||
|
-1 * 0 05 90 02 0D
|
||||||
|
-1 sprites/airports.png 8bpp 480 88 64 31 -31 0 normal
|
||||||
|
-1 sprites/airports.png 8bpp 560 88 64 31 -31 0 normal
|
||||||
|
-1 * 0 07 83 01 \7! 03 03
|
||||||
|
-1 * 0 05 90 02 0D
|
||||||
|
-1 sprites/airports.png 8bpp 640 88 64 31 -31 0 normal
|
||||||
|
-1 sprites/airports.png 8bpp 720 88 64 31 -31 0 normal
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 9.3 KiB |
12
media/extra_grf/airports_orig_extra.nfo
Normal file
12
media/extra_grf/airports_orig_extra.nfo
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
//
|
||||||
|
// $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/>.
|
||||||
|
//
|
||||||
|
-1 * 0 0C "Climate specific airport sprite by PaulC"
|
||||||
|
-1 * 0 07 83 01 \7! 03 02
|
||||||
|
-1 * 0 0A 01 01 2F 08
|
||||||
|
-1 sprites/airports.png 8bpp 20 170 42 39 -19 -21 normal
|
Binary file not shown.
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
@@ -78,6 +78,7 @@
|
|||||||
#include "chars_orig_extra.nfo"
|
#include "chars_orig_extra.nfo"
|
||||||
#include "shore.nfo"
|
#include "shore.nfo"
|
||||||
#include "fix_graphics.nfo"
|
#include "fix_graphics.nfo"
|
||||||
|
#include "airports_orig_extra.nfo"
|
||||||
#include "canals_extra.nfo"
|
#include "canals_extra.nfo"
|
||||||
#include "rivers/rapids.nfo"
|
#include "rivers/rapids.nfo"
|
||||||
#include "rivers/temperate.nfo"
|
#include "rivers/temperate.nfo"
|
||||||
|
@@ -1,3 +1,39 @@
|
|||||||
|
openttd (1.7.2-0) unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream release 1.7.2
|
||||||
|
|
||||||
|
-- OpenTTD <info@openttd.org> Sun, 24 Dec 2017 14:00:00 +0100
|
||||||
|
|
||||||
|
openttd (1.7.2~RC1-0) unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream release 1.7.2-RC1
|
||||||
|
|
||||||
|
-- OpenTTD <info@openttd.org> Mon, 11 Dec 2017 21:30:00 +0100
|
||||||
|
|
||||||
|
openttd (1.7.1-0) unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream release 1.7.1
|
||||||
|
|
||||||
|
-- OpenTTD <info@openttd.org> Tue, 13 Jun 2017 21:00:00 +0200
|
||||||
|
|
||||||
|
openttd (1.7.1~RC1-0) unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream release 1.7.1-RC1
|
||||||
|
|
||||||
|
-- OpenTTD <info@openttd.org> Thu, 04 Mai 2017 21:00:00 +0200
|
||||||
|
|
||||||
|
openttd (1.7.0-0) unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream release 1.7.0
|
||||||
|
|
||||||
|
-- OpenTTD <info@openttd.org> Sat, 01 Apr 2017 19:00:00 +0200
|
||||||
|
|
||||||
|
openttd (1.7.0~RC1-0) unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream release 1.7.0-RC1
|
||||||
|
|
||||||
|
-- OpenTTD <info@openttd.org> Sat, 11 Mar 2017 22:30:00 +0100
|
||||||
|
|
||||||
openttd (1.6.1-0) unstable; urgency=low
|
openttd (1.6.1-0) unstable; urgency=low
|
||||||
|
|
||||||
* New upstream release 1.6.1
|
* New upstream release 1.6.1
|
||||||
|
@@ -5,7 +5,7 @@ Source: http://www.openttd.org
|
|||||||
|
|
||||||
|
|
||||||
Files: *
|
Files: *
|
||||||
Copyright: © 2004-2017 Ludvig Strigeous and others.
|
Copyright: © 2004-2018 Ludvig Strigeous and others.
|
||||||
License: GPL-2.0
|
License: GPL-2.0
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License version 2.0 as
|
it under the terms of the GNU General Public License version 2.0 as
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
set OPENTTD_VERSION=1.8.0
|
set OPENTTD_VERSION=1.9.0
|
||||||
set OPENSFX_VERSION=0.8.0
|
set OPENSFX_VERSION=0.8.0
|
||||||
set NOSOUND_VERSION=0.8.0
|
set NOSOUND_VERSION=0.8.0
|
||||||
set OPENGFX_VERSION=1.2.0
|
set OPENGFX_VERSION=1.2.0
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
# spec file for package openttd
|
# spec file for package openttd
|
||||||
#
|
#
|
||||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
# Copyright (c) 2007-2017 The OpenTTD developers
|
# Copyright (c) 2007-2018 The OpenTTD developers
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -17,9 +17,9 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
Name: openttd
|
Name: openttd
|
||||||
Version: 1.8.beta1
|
Version: 1.9.beta1
|
||||||
Release: 0
|
Release: 0
|
||||||
%define srcver 1.8.0-beta1
|
%define srcver 1.9.0-beta1
|
||||||
Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe
|
Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe
|
||||||
License: GPL-2.0
|
License: GPL-2.0
|
||||||
Group: Amusements/Games/Strategy/Other
|
Group: Amusements/Games/Strategy/Other
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# Version numbers to update
|
# Version numbers to update
|
||||||
!define APPV_MAJOR 1
|
!define APPV_MAJOR 1
|
||||||
!define APPV_MINOR 8
|
!define APPV_MINOR 9
|
||||||
!define APPV_MAINT 0
|
!define APPV_MAINT 0
|
||||||
!define APPV_BUILD 0
|
!define APPV_BUILD 0
|
||||||
!define APPV_EXTRA "-beta1"
|
!define APPV_EXTRA "-beta1"
|
||||||
@@ -89,7 +89,7 @@ Page custom SelectCDEnter SelectCDExit ": TTD folder"
|
|||||||
!define MUI_FINISHPAGE_LINK "Visit the OpenTTD site for more information"
|
!define MUI_FINISHPAGE_LINK "Visit the OpenTTD site for more information"
|
||||||
!define MUI_FINISHPAGE_LINK_LOCATION "${APPURLLINK}"
|
!define MUI_FINISHPAGE_LINK_LOCATION "${APPURLLINK}"
|
||||||
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
|
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
|
||||||
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\readme.txt"
|
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.md"
|
||||||
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
|
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
|
||||||
!define MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT DisableBack
|
!define MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT DisableBack
|
||||||
|
|
||||||
@@ -139,7 +139,7 @@ Section "!OpenTTD" Section1
|
|||||||
; Copy the scripts
|
; Copy the scripts
|
||||||
SetOutPath "$INSTDIR\scripts\"
|
SetOutPath "$INSTDIR\scripts\"
|
||||||
File ${PATH_ROOT}bin\scripts\*.*
|
File ${PATH_ROOT}bin\scripts\*.*
|
||||||
Push "$INSTDIR\scripts\readme.txt"
|
Push "$INSTDIR\scripts\README.md"
|
||||||
Call unix2dos
|
Call unix2dos
|
||||||
|
|
||||||
; Copy some documention files
|
; Copy some documention files
|
||||||
@@ -158,8 +158,8 @@ Section "!OpenTTD" Section1
|
|||||||
File ${PATH_ROOT}COPYING
|
File ${PATH_ROOT}COPYING
|
||||||
Push "$INSTDIR\COPYING"
|
Push "$INSTDIR\COPYING"
|
||||||
Call unix2dos
|
Call unix2dos
|
||||||
File ${PATH_ROOT}readme.txt
|
File ${PATH_ROOT}README.md
|
||||||
Push "$INSTDIR\readme.txt"
|
Push "$INSTDIR\README.md"
|
||||||
Call unix2dos
|
Call unix2dos
|
||||||
File ${PATH_ROOT}known-bugs.txt
|
File ${PATH_ROOT}known-bugs.txt
|
||||||
Push "$INSTDIR\known-bugs.txt"
|
Push "$INSTDIR\known-bugs.txt"
|
||||||
@@ -213,13 +213,13 @@ Section "!OpenTTD" Section1
|
|||||||
CreateDirectory "$SMPROGRAMS\$SHORTCUTS"
|
CreateDirectory "$SMPROGRAMS\$SHORTCUTS"
|
||||||
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\OpenTTD.lnk" "$INSTDIR\openttd.exe"
|
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\OpenTTD.lnk" "$INSTDIR\openttd.exe"
|
||||||
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Uninstall.lnk" "$INSTDIR\uninstall.exe"
|
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Uninstall.lnk" "$INSTDIR\uninstall.exe"
|
||||||
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Readme.lnk" "$INSTDIR\Readme.txt"
|
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Readme.lnk" "$INSTDIR\README.md"
|
||||||
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Changelog.lnk" "$INSTDIR\Changelog.txt"
|
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Changelog.lnk" "$INSTDIR\Changelog.txt"
|
||||||
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Known-bugs.lnk" "$INSTDIR\known-bugs.txt"
|
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Known-bugs.lnk" "$INSTDIR\known-bugs.txt"
|
||||||
CreateDirectory "$SMPROGRAMS\$SHORTCUTS\Docs"
|
CreateDirectory "$SMPROGRAMS\$SHORTCUTS\Docs"
|
||||||
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Docs\Multiplayer.lnk" "$INSTDIR\docs\multiplayer.txt"
|
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Docs\Multiplayer.lnk" "$INSTDIR\docs\multiplayer.txt"
|
||||||
CreateDirectory "$SMPROGRAMS\$SHORTCUTS\Scripts"
|
CreateDirectory "$SMPROGRAMS\$SHORTCUTS\Scripts"
|
||||||
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Scripts\Readme.lnk" "$INSTDIR\scripts\readme.txt"
|
CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Scripts\Readme.lnk" "$INSTDIR\scripts\README.md"
|
||||||
!insertmacro MUI_STARTMENU_WRITE_END
|
!insertmacro MUI_STARTMENU_WRITE_END
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
@@ -387,7 +387,7 @@ Section "Uninstall"
|
|||||||
|
|
||||||
; Clean up OpenTTD dir
|
; Clean up OpenTTD dir
|
||||||
Delete "$INSTDIR\changelog.txt"
|
Delete "$INSTDIR\changelog.txt"
|
||||||
Delete "$INSTDIR\readme.txt"
|
Delete "$INSTDIR\README.md"
|
||||||
Delete "$INSTDIR\known-bugs.txt"
|
Delete "$INSTDIR\known-bugs.txt"
|
||||||
Delete "$INSTDIR\openttd.exe"
|
Delete "$INSTDIR\openttd.exe"
|
||||||
Delete "$INSTDIR\COPYING"
|
Delete "$INSTDIR\COPYING"
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
!define APPBITS 32 ; Define number of bits for the architecture
|
!define APPBITS 32 ; Define number of bits for the architecture
|
||||||
!define EXTRA_VERSION "95, 98, ME, 2000 and XP without SP3"
|
!define EXTRA_VERSION "95, 98, ME, 2000 and XP without SP3"
|
||||||
!define APPARCH "win9x" ; Define the application architecture
|
!define APPARCH "win9x" ; Define the application architecture
|
||||||
!define BINARY_DIR "${PATH_ROOT}bin"
|
!define BINARY_DIR "${PATH_ROOT}objs\release"
|
||||||
InstallDir "$PROGRAMFILES32\OpenTTD\"
|
InstallDir "$PROGRAMFILES32\OpenTTD\"
|
||||||
|
@@ -21,150 +21,48 @@ Sub FindReplaceInFile(filename, to_find, replacement)
|
|||||||
file.Close
|
file.Close
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub UpdateFile(modified, revision, version, cur_date, filename)
|
Sub UpdateFile(modified, isodate, version, cur_date, filename)
|
||||||
FSO.CopyFile filename & ".in", filename
|
FSO.CopyFile filename & ".in", filename
|
||||||
FindReplaceInFile filename, "!!MODIFIED!!", modified
|
FindReplaceInFile filename, "!!MODIFIED!!", modified
|
||||||
FindReplaceInFile filename, "!!REVISION!!", revision
|
FindReplaceInFile filename, "!!ISODATE!!", isodate
|
||||||
FindReplaceInFile filename, "!!VERSION!!", version
|
FindReplaceInFile filename, "!!VERSION!!", version
|
||||||
FindReplaceInFile filename, "!!DATE!!", cur_date
|
FindReplaceInFile filename, "!!DATE!!", cur_date
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub UpdateFiles(version)
|
Sub UpdateFiles(version)
|
||||||
Dim modified, revision, cur_date
|
Dim modified, isodate, cur_date
|
||||||
cur_date = DatePart("D", Date) & "." & DatePart("M", Date) & "." & DatePart("YYYY", Date)
|
cur_date = DatePart("D", Date) & "." & DatePart("M", Date) & "." & DatePart("YYYY", Date)
|
||||||
|
|
||||||
If InStr(version, Chr(9)) Then
|
If InStr(version, Chr(9)) Then
|
||||||
revision = Mid(version, InStr(version, Chr(9)) + 1)
|
isodate = Mid(version, InStr(version, Chr(9)) + 1)
|
||||||
modified = Mid(revision, InStr(revision, Chr(9)) + 1)
|
modified = Mid(isodate, InStr(isodate, Chr(9)) + 1)
|
||||||
revision = Mid(revision, 1, InStr(revision, Chr(9)) - 1)
|
isodate = Mid(isodate, 1, InStr(isodate, Chr(9)) - 1)
|
||||||
modified = Mid(modified, 1, InStr(modified, Chr(9)) - 1)
|
modified = Mid(modified, 1, InStr(modified, Chr(9)) - 1)
|
||||||
version = Mid(version, 1, InStr(version, Chr(9)) - 1)
|
version = Mid(version, 1, InStr(version, Chr(9)) - 1)
|
||||||
Else
|
Else
|
||||||
revision = 0
|
isodate = 0
|
||||||
modified = 1
|
modified = 1
|
||||||
End If
|
End If
|
||||||
|
|
||||||
UpdateFile modified, revision, version, cur_date, "../src/rev.cpp"
|
UpdateFile modified, isodate, version, cur_date, "../src/rev.cpp"
|
||||||
UpdateFile modified, revision, version, cur_date, "../src/os/windows/ottdres.rc"
|
UpdateFile modified, isodate, version, cur_date, "../src/os/windows/ottdres.rc"
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Function ReadRegistryKey(shive, subkey, valuename, architecture)
|
Function DetermineVersion()
|
||||||
Dim hiveKey, objCtx, objLocator, objServices, objReg, Inparams, Outparams
|
Dim WshShell, branch, tag, modified, isodate, oExec, line, hash, shorthash
|
||||||
|
|
||||||
' First, get the Registry Provider for the requested architecture
|
|
||||||
Set objCtx = CreateObject("WbemScripting.SWbemNamedValueSet")
|
|
||||||
objCtx.Add "__ProviderArchitecture", architecture ' Must be 64 of 32
|
|
||||||
Set objLocator = CreateObject("Wbemscripting.SWbemLocator")
|
|
||||||
Set objServices = objLocator.ConnectServer("","root\default","","",,,,objCtx)
|
|
||||||
Set objReg = objServices.Get("StdRegProv")
|
|
||||||
|
|
||||||
' Check the hive and give it the right value
|
|
||||||
Select Case shive
|
|
||||||
Case "HKCR", "HKEY_CLASSES_ROOT"
|
|
||||||
hiveKey = &h80000000
|
|
||||||
Case "HKCU", "HKEY_CURRENT_USER"
|
|
||||||
hiveKey = &H80000001
|
|
||||||
Case "HKLM", "HKEY_LOCAL_MACHINE"
|
|
||||||
hiveKey = &h80000002
|
|
||||||
Case "HKU", "HKEY_USERS"
|
|
||||||
hiveKey = &h80000003
|
|
||||||
Case "HKCC", "HKEY_CURRENT_CONFIG"
|
|
||||||
hiveKey = &h80000005
|
|
||||||
Case "HKDD", "HKEY_DYN_DATA" ' Only valid for Windows 95/98
|
|
||||||
hiveKey = &h80000006
|
|
||||||
Case Else
|
|
||||||
MsgBox "Hive not valid (ReadRegistryKey)"
|
|
||||||
End Select
|
|
||||||
|
|
||||||
Set Inparams = objReg.Methods_("GetStringValue").Inparameters
|
|
||||||
Inparams.Hdefkey = hiveKey
|
|
||||||
Inparams.Ssubkeyname = subkey
|
|
||||||
Inparams.Svaluename = valuename
|
|
||||||
Set Outparams = objReg.ExecMethod_("GetStringValue", Inparams,,objCtx)
|
|
||||||
|
|
||||||
ReadRegistryKey = Outparams.SValue
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Function DetermineSVNVersion()
|
|
||||||
Dim WshShell, version, branch, modified, revision, clean_rev, url, oExec, line, hash
|
|
||||||
Set WshShell = CreateObject("WScript.Shell")
|
Set WshShell = CreateObject("WScript.Shell")
|
||||||
On Error Resume Next
|
On Error Resume Next
|
||||||
|
|
||||||
revision = 0
|
modified = 1
|
||||||
|
hash = ""
|
||||||
' Try TortoiseSVN
|
shorthash = ""
|
||||||
' Get the directory where TortoiseSVN (should) reside(s)
|
branch = ""
|
||||||
Dim sTortoise
|
isodate = ""
|
||||||
' First, try with 32-bit architecture
|
tag = ""
|
||||||
sTortoise = ReadRegistryKey("HKLM", "SOFTWARE\TortoiseSVN", "Directory", 32)
|
|
||||||
If sTortoise = "" Or IsNull(sTortoise) Then
|
|
||||||
' No 32-bit version of TortoiseSVN installed, try 64-bit version (doesn't hurt on 32-bit machines, it returns nothing or is ignored)
|
|
||||||
sTortoise = ReadRegistryKey("HKLM", "SOFTWARE\TortoiseSVN", "Directory", 64)
|
|
||||||
End If
|
|
||||||
|
|
||||||
' If TortoiseSVN is installed, try to get the revision number
|
|
||||||
If sTortoise <> "" Then
|
|
||||||
Dim SubWCRev
|
|
||||||
Set SubWCRev = WScript.CreateObject("SubWCRev.object")
|
|
||||||
SubWCRev.GetWCInfo FSO.GetAbsolutePathName("../"), 0, 0
|
|
||||||
revision = SubWCRev.Revision
|
|
||||||
version = "r" & revision
|
|
||||||
modified = 0
|
|
||||||
if SubWCRev.HasModifications then modified = 2
|
|
||||||
url = SubWCRev.Url
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Looks like there is no TortoiseSVN installed either. Then we don't know it.
|
|
||||||
If revision = 0 Then
|
|
||||||
' Reset error and version
|
|
||||||
Err.Clear
|
|
||||||
version = "norev000"
|
|
||||||
modified = 0
|
|
||||||
|
|
||||||
' Set the environment to english
|
' Set the environment to english
|
||||||
WshShell.Environment("PROCESS")("LANG") = "en"
|
WshShell.Environment("PROCESS")("LANG") = "en"
|
||||||
|
|
||||||
' Do we have subversion installed? Check immediatelly whether we've got a modified WC.
|
|
||||||
Set oExec = WshShell.Exec("svnversion ../")
|
|
||||||
If Err.Number = 0 Then
|
|
||||||
' Wait till the application is finished ...
|
|
||||||
Do While oExec.Status = 0
|
|
||||||
Loop
|
|
||||||
|
|
||||||
line = OExec.StdOut.ReadLine()
|
|
||||||
If line <> "exported" Then
|
|
||||||
If InStr(line, "M") Then
|
|
||||||
modified = 2
|
|
||||||
End If
|
|
||||||
|
|
||||||
' And use svn info to get the correct revision and branch information.
|
|
||||||
Set oExec = WshShell.Exec("svn info ../")
|
|
||||||
If Err.Number = 0 Then
|
|
||||||
Do
|
|
||||||
line = OExec.StdOut.ReadLine()
|
|
||||||
If InStr(line, "URL") Then
|
|
||||||
url = line
|
|
||||||
End If
|
|
||||||
If InStr(line, "Last Changed Rev") Then
|
|
||||||
revision = Mid(line, 19)
|
|
||||||
version = "r" & revision
|
|
||||||
End If
|
|
||||||
Loop While Not OExec.StdOut.atEndOfStream
|
|
||||||
End If ' Err.Number = 0
|
|
||||||
End If ' line <> "exported"
|
|
||||||
End If ' Err.Number = 0
|
|
||||||
End If ' InStr(version, "$")
|
|
||||||
|
|
||||||
If version <> "norev000" Then
|
|
||||||
If InStr(url, "branches") Then
|
|
||||||
branch = Mid(url, InStr(url, "branches/") + 9)
|
|
||||||
End If
|
|
||||||
If InStr(url, "tags") Then
|
|
||||||
version = Mid(url, InStr(url, "tags/") + 5)
|
|
||||||
End If
|
|
||||||
Else ' version <> "norev000"
|
|
||||||
' svn detection failed, reset error and try git
|
|
||||||
Err.Clear
|
|
||||||
Set oExec = WshShell.Exec("git rev-parse --verify HEAD")
|
Set oExec = WshShell.Exec("git rev-parse --verify HEAD")
|
||||||
If Err.Number = 0 Then
|
If Err.Number = 0 Then
|
||||||
' Wait till the application is finished ...
|
' Wait till the application is finished ...
|
||||||
@@ -173,7 +71,7 @@ Function DetermineSVNVersion()
|
|||||||
|
|
||||||
If oExec.ExitCode = 0 Then
|
If oExec.ExitCode = 0 Then
|
||||||
hash = oExec.StdOut.ReadLine()
|
hash = oExec.StdOut.ReadLine()
|
||||||
version = "g" & Mid(hash, 1, 8)
|
shorthash = Mid(hash, 1, 8)
|
||||||
' Make sure index is in sync with disk
|
' Make sure index is in sync with disk
|
||||||
Set oExec = WshShell.Exec("git update-index --refresh")
|
Set oExec = WshShell.Exec("git update-index --refresh")
|
||||||
If Err.Number = 0 Then
|
If Err.Number = 0 Then
|
||||||
@@ -195,32 +93,20 @@ Function DetermineSVNVersion()
|
|||||||
modified = 2
|
modified = 2
|
||||||
End If ' oExec.ExitCode = 1
|
End If ' oExec.ExitCode = 1
|
||||||
|
|
||||||
|
Set oExec = WshShell.Exec("git show -s --pretty=format:%ci")
|
||||||
|
if Err.Number = 0 Then
|
||||||
|
isodate = Mid(oExec.StdOut.ReadLine(), 1, 10)
|
||||||
|
isodate = Replace(isodate, "-", "")
|
||||||
|
End If ' Err.Number = 0
|
||||||
|
|
||||||
|
' Check branch
|
||||||
|
Err.Clear
|
||||||
Set oExec = WshShell.Exec("git symbolic-ref HEAD")
|
Set oExec = WshShell.Exec("git symbolic-ref HEAD")
|
||||||
If Err.Number = 0 Then
|
If Err.Number = 0 Then
|
||||||
line = oExec.StdOut.ReadLine()
|
line = oExec.StdOut.ReadLine()
|
||||||
line = Mid(line, InStrRev(line, "/") + 1)
|
branch = Mid(line, InStrRev(line, "/") + 1)
|
||||||
If line <> "master" Then
|
|
||||||
branch = line
|
|
||||||
End If ' line <> "master"
|
|
||||||
End If ' Err.Number = 0
|
End If ' Err.Number = 0
|
||||||
|
|
||||||
Set oExec = WshShell.Exec("git log --pretty=format:%s --grep=" & Chr(34) & "^(svn r[0-9]*)" & Chr(34) & " -1")
|
|
||||||
if Err.Number = 0 Then
|
|
||||||
revision = Mid(oExec.StdOut.ReadLine(), 7)
|
|
||||||
revision = Mid(revision, 1, InStr(revision, ")") - 1)
|
|
||||||
End If ' Err.Number = 0
|
|
||||||
If revision = "" Then
|
|
||||||
' No revision? Maybe it is a custom git-svn clone
|
|
||||||
' Reset error number as WshShell.Exec will not do that on success
|
|
||||||
Err.Clear
|
|
||||||
Set oExec = WshShell.Exec("git log --pretty=format:%b --grep=" & Chr(34) & "git-svn-id:.*@[0-9]*" & Chr(34) & " -1")
|
|
||||||
If Err.Number = 0 Then
|
|
||||||
revision = oExec.StdOut.ReadLine()
|
|
||||||
revision = Mid(revision, InStr(revision, "@") + 1)
|
|
||||||
revision = Mid(revision, 1, InStr(revision, " ") - 1)
|
|
||||||
End If ' Err.Number = 0
|
|
||||||
End If ' revision = ""
|
|
||||||
|
|
||||||
' Check if a tag is currently checked out
|
' Check if a tag is currently checked out
|
||||||
Err.Clear
|
Err.Clear
|
||||||
Set oExec = WshShell.Exec("git name-rev --name-only --tags --no-undefined HEAD")
|
Set oExec = WshShell.Exec("git name-rev --name-only --tags --no-undefined HEAD")
|
||||||
@@ -229,104 +115,38 @@ Function DetermineSVNVersion()
|
|||||||
Do While oExec.Status = 0
|
Do While oExec.Status = 0
|
||||||
Loop
|
Loop
|
||||||
If oExec.ExitCode = 0 Then
|
If oExec.ExitCode = 0 Then
|
||||||
version = oExec.StdOut.ReadLine()
|
tag = oExec.StdOut.ReadLine()
|
||||||
If Right(version, 2) = "^0" Then
|
If Right(tag, 2) = "^0" Then
|
||||||
version = Left(version, Len(version) - 2)
|
tag = Left(tag, Len(tag) - 2)
|
||||||
End If
|
End If
|
||||||
branch = ""
|
|
||||||
End If ' oExec.ExitCode = 0
|
End If ' oExec.ExitCode = 0
|
||||||
End If ' Err.Number = 0
|
End If ' Err.Number = 0
|
||||||
End If ' Err.Number = 0
|
End If ' Err.Number = 0
|
||||||
End If ' oExec.ExitCode = 0
|
End If ' oExec.ExitCode = 0
|
||||||
End If ' Err.Number = 0
|
End If ' Err.Number = 0
|
||||||
|
|
||||||
If version = "norev000" Then
|
If hash = "" And FSO.FileExists("../.ottdrev") Then
|
||||||
' git detection failed, reset error and try mercurial (hg)
|
|
||||||
Err.Clear
|
|
||||||
Set oExec = WshShell.Exec("hg id -i")
|
|
||||||
If Err.Number = 0 Then
|
|
||||||
' Wait till the application is finished ...
|
|
||||||
Do While oExec.Status = 0
|
|
||||||
Loop
|
|
||||||
|
|
||||||
If oExec.ExitCode = 0 Then
|
|
||||||
line = OExec.StdOut.ReadLine()
|
|
||||||
hash = Left(line, 12)
|
|
||||||
version = "h" & Mid(hash, 1, 8)
|
|
||||||
|
|
||||||
' Check if a tag is currently checked out
|
|
||||||
Err.Clear
|
|
||||||
Set oExec = WshShell.Exec("hg id -t")
|
|
||||||
If Err.Number = 0 Then
|
|
||||||
line = oExec.StdOut.ReadLine()
|
|
||||||
If Len(line) > 0 And Right(line, 3) <> "tip" Then
|
|
||||||
version = line
|
|
||||||
branch = ""
|
|
||||||
End If ' Len(line) > 0 And Right(line, 3) <> "tip"
|
|
||||||
End If ' Err.Number = 0
|
|
||||||
|
|
||||||
Err.Clear
|
|
||||||
Set oExec = WshShell.Exec("hg status ../")
|
|
||||||
If Err.Number = 0 Then
|
|
||||||
Do
|
|
||||||
line = OExec.StdOut.ReadLine()
|
|
||||||
If Len(line) > 0 And Mid(line, 1, 1) <> "?" Then
|
|
||||||
modified = 2
|
|
||||||
Exit Do
|
|
||||||
End If ' Len(line) > 0 And Mid(line, 1, 1) <> "?"
|
|
||||||
Loop While Not OExec.StdOut.atEndOfStream
|
|
||||||
|
|
||||||
Set oExec = WshShell.Exec("hg branch")
|
|
||||||
If Err.Number = 0 Then
|
|
||||||
line = OExec.StdOut.ReadLine()
|
|
||||||
If line <> "default" Then
|
|
||||||
branch = line
|
|
||||||
End If ' line <> "default"
|
|
||||||
End If ' Err.Number = 0
|
|
||||||
|
|
||||||
Set oExec = WshShell.Exec("hg log -f -k " & Chr(34) & "(svn r" & Chr(34) & " -l 1 --template " & Chr(34) & "{desc|firstline}\n" & Chr(34) & " --cwd ../")
|
|
||||||
If Err.Number = 0 Then
|
|
||||||
line = oExec.StdOut.ReadLine()
|
|
||||||
If Left(line, 6) = "(svn r" Then
|
|
||||||
revision = Mid(line, 7)
|
|
||||||
revision = Mid(revision, 1, InStr(revision, ")") - 1)
|
|
||||||
End If 'Left(line, 6) = "(svn r"
|
|
||||||
End If ' Err.Number = 0
|
|
||||||
|
|
||||||
If revision = "" Then
|
|
||||||
' No rev? Maybe it is a custom hgsubversion clone
|
|
||||||
Err.Clear
|
|
||||||
Set oExec = WshShell.Exec("hg parent --template=" & Chr(34) & "{svnrev}" & Chr(34))
|
|
||||||
If Err.Number = 0 Then
|
|
||||||
revision = oExec.StdOut.ReadLine()
|
|
||||||
End If ' Err.Number = 0
|
|
||||||
End If ' revision = ""
|
|
||||||
End If ' Err.Number = 0
|
|
||||||
End If ' oExec.ExitCode = 0
|
|
||||||
End If ' Err.Number = 0
|
|
||||||
End If ' version = "norev000"
|
|
||||||
End If ' version <> "norev000"
|
|
||||||
|
|
||||||
If version = "norev000" And FSO.FileExists("../.ottdrev") Then
|
|
||||||
Dim rev_file
|
Dim rev_file
|
||||||
Set rev_file = FSO.OpenTextFile("../.ottdrev", 1, True, 0)
|
Set rev_file = FSO.OpenTextFile("../.ottdrev", 1, True, 0)
|
||||||
DetermineSVNVersion = rev_file.ReadLine()
|
DetermineVersion = rev_file.ReadLine()
|
||||||
rev_file.Close()
|
rev_file.Close()
|
||||||
|
ElseIf hash = "" Then
|
||||||
|
DetermineVersion = "norev000"
|
||||||
Else
|
Else
|
||||||
|
Dim version
|
||||||
|
If tag <> "" Then
|
||||||
|
version = tag
|
||||||
|
ElseIf branch = "master" Then
|
||||||
|
version = isodate & "-g" & shorthash
|
||||||
|
Else
|
||||||
|
version = isodate & "-" & branch & "-g" & shorthash
|
||||||
|
End If
|
||||||
|
|
||||||
If modified = 2 Then
|
If modified = 2 Then
|
||||||
version = version & "M"
|
version = version & "M"
|
||||||
End If
|
End If
|
||||||
|
|
||||||
clean_rev = version
|
DetermineVersion = version & Chr(9) & isodate & Chr(9) & modified & Chr(9) & hash
|
||||||
If branch <> "" Then
|
|
||||||
version = version & "-" & branch
|
|
||||||
End If
|
|
||||||
|
|
||||||
If version <> "norev000" Then
|
|
||||||
DetermineSVNVersion = version & Chr(9) & revision & Chr(9) & modified & Chr(9) & clean_rev
|
|
||||||
Else
|
|
||||||
DetermineSVNVersion = version
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@@ -359,7 +179,7 @@ Function CheckFile(filename)
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
Dim version
|
Dim version
|
||||||
version = DetermineSVNVersion
|
version = DetermineVersion
|
||||||
If Not (IsCachedVersion(version) And CheckFile("../src/rev.cpp") And CheckFile("../src/os/windows/ottdres.rc")) Then
|
If Not (IsCachedVersion(version) And CheckFile("../src/rev.cpp") And CheckFile("../src/os/windows/ottdres.rc")) Then
|
||||||
UpdateFiles version
|
UpdateFiles version
|
||||||
End If
|
End If
|
||||||
|
@@ -146,8 +146,11 @@
|
|||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
<AdditionalManifestFiles>dpi_aware.manifest</AdditionalManifestFiles>
|
<AdditionalManifestFiles>dpi_aware.manifest;os_versions.manifest</AdditionalManifestFiles>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -192,8 +195,11 @@
|
|||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
<AdditionalManifestFiles>dpi_aware.manifest</AdditionalManifestFiles>
|
<AdditionalManifestFiles>dpi_aware.manifest;os_versions.manifest</AdditionalManifestFiles>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -251,8 +257,11 @@
|
|||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
<AdditionalManifestFiles>dpi_aware.manifest</AdditionalManifestFiles>
|
<AdditionalManifestFiles>dpi_aware.manifest;os_versions.manifest</AdditionalManifestFiles>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -299,8 +308,11 @@
|
|||||||
<TargetMachine>MachineX64</TargetMachine>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
<AdditionalManifestFiles>dpi_aware.manifest</AdditionalManifestFiles>
|
<AdditionalManifestFiles>dpi_aware.manifest;os_versions.manifest</AdditionalManifestFiles>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\src\airport.cpp" />
|
<ClCompile Include="..\src\airport.cpp" />
|
||||||
@@ -1013,6 +1025,8 @@
|
|||||||
<ClInclude Include="..\src\script\api\script_cargo.hpp" />
|
<ClInclude Include="..\src\script\api\script_cargo.hpp" />
|
||||||
<ClInclude Include="..\src\script\api\script_cargolist.hpp" />
|
<ClInclude Include="..\src\script\api\script_cargolist.hpp" />
|
||||||
<ClInclude Include="..\src\script\api\script_cargomonitor.hpp" />
|
<ClInclude Include="..\src\script\api\script_cargomonitor.hpp" />
|
||||||
|
<ClInclude Include="..\src\script\api\script_client.hpp" />
|
||||||
|
<ClInclude Include="..\src\script\api\script_clientlist.hpp" />
|
||||||
<ClInclude Include="..\src\script\api\script_company.hpp" />
|
<ClInclude Include="..\src\script\api\script_company.hpp" />
|
||||||
<ClInclude Include="..\src\script\api\script_companymode.hpp" />
|
<ClInclude Include="..\src\script\api\script_companymode.hpp" />
|
||||||
<ClInclude Include="..\src\script\api\script_controller.hpp" />
|
<ClInclude Include="..\src\script\api\script_controller.hpp" />
|
||||||
@@ -1078,6 +1092,8 @@
|
|||||||
<ClCompile Include="..\src\script\api\script_cargo.cpp" />
|
<ClCompile Include="..\src\script\api\script_cargo.cpp" />
|
||||||
<ClCompile Include="..\src\script\api\script_cargolist.cpp" />
|
<ClCompile Include="..\src\script\api\script_cargolist.cpp" />
|
||||||
<ClCompile Include="..\src\script\api\script_cargomonitor.cpp" />
|
<ClCompile Include="..\src\script\api\script_cargomonitor.cpp" />
|
||||||
|
<ClCompile Include="..\src\script\api\script_client.cpp" />
|
||||||
|
<ClCompile Include="..\src\script\api\script_clientlist.cpp" />
|
||||||
<ClCompile Include="..\src\script\api\script_company.cpp" />
|
<ClCompile Include="..\src\script\api\script_company.cpp" />
|
||||||
<ClCompile Include="..\src\script\api\script_companymode.cpp" />
|
<ClCompile Include="..\src\script\api\script_companymode.cpp" />
|
||||||
<ClCompile Include="..\src\script\api\script_controller.cpp" />
|
<ClCompile Include="..\src\script\api\script_controller.cpp" />
|
||||||
@@ -1289,7 +1305,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\media\openttd.ico" />
|
<None Include="..\media\openttd.ico" />
|
||||||
<None Include="..\readme.txt" />
|
<None Include="..\README.md" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="langs_vs100.vcxproj">
|
<ProjectReference Include="langs_vs100.vcxproj">
|
||||||
|
@@ -2232,6 +2232,12 @@
|
|||||||
<ClInclude Include="..\src\script\api\script_cargomonitor.hpp">
|
<ClInclude Include="..\src\script\api\script_cargomonitor.hpp">
|
||||||
<Filter>Script API</Filter>
|
<Filter>Script API</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\src\script\api\script_client.hpp">
|
||||||
|
<Filter>Script API</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\src\script\api\script_clientlist.hpp">
|
||||||
|
<Filter>Script API</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="..\src\script\api\script_company.hpp">
|
<ClInclude Include="..\src\script\api\script_company.hpp">
|
||||||
<Filter>Script API</Filter>
|
<Filter>Script API</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
@@ -2427,6 +2433,12 @@
|
|||||||
<ClCompile Include="..\src\script\api\script_cargomonitor.cpp">
|
<ClCompile Include="..\src\script\api\script_cargomonitor.cpp">
|
||||||
<Filter>Script API Implementation</Filter>
|
<Filter>Script API Implementation</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\src\script\api\script_client.cpp">
|
||||||
|
<Filter>Script API Implementation</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\src\script\api\script_clientlist.cpp">
|
||||||
|
<Filter>Script API Implementation</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="..\src\script\api\script_company.cpp">
|
<ClCompile Include="..\src\script\api\script_company.cpp">
|
||||||
<Filter>Script API Implementation</Filter>
|
<Filter>Script API Implementation</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@@ -3054,6 +3066,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\media\openttd.ico" />
|
<None Include="..\media\openttd.ico" />
|
||||||
<None Include="..\readme.txt" />
|
<None Include="..\README.md" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
@@ -8,6 +8,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\media\openttd.ico" />
|
<None Include="..\media\openttd.ico" />
|
||||||
<None Include="..\readme.txt" />
|
<None Include="..\README.md" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
@@ -146,8 +146,11 @@
|
|||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
<AdditionalManifestFiles>dpi_aware.manifest</AdditionalManifestFiles>
|
<AdditionalManifestFiles>dpi_aware.manifest;os_versions.manifest</AdditionalManifestFiles>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -192,8 +195,11 @@
|
|||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
<AdditionalManifestFiles>dpi_aware.manifest</AdditionalManifestFiles>
|
<AdditionalManifestFiles>dpi_aware.manifest;os_versions.manifest</AdditionalManifestFiles>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -251,8 +257,11 @@
|
|||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
<AdditionalManifestFiles>dpi_aware.manifest</AdditionalManifestFiles>
|
<AdditionalManifestFiles>dpi_aware.manifest;os_versions.manifest</AdditionalManifestFiles>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -299,15 +308,18 @@
|
|||||||
<TargetMachine>MachineX64</TargetMachine>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
<AdditionalManifestFiles>dpi_aware.manifest</AdditionalManifestFiles>
|
<AdditionalManifestFiles>dpi_aware.manifest;os_versions.manifest</AdditionalManifestFiles>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
!!FILES!!
|
!!FILES!!
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\media\openttd.ico" />
|
<None Include="..\media\openttd.ico" />
|
||||||
<None Include="..\readme.txt" />
|
<None Include="..\README.md" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="langs_vs100.vcxproj">
|
<ProjectReference Include="langs_vs100.vcxproj">
|
||||||
|
@@ -152,8 +152,12 @@
|
|||||||
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>os_versions.manifest</AdditionalManifestFiles>
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -202,8 +206,12 @@
|
|||||||
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>os_versions.manifest</AdditionalManifestFiles>
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -264,8 +272,12 @@
|
|||||||
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>os_versions.manifest</AdditionalManifestFiles>
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -316,8 +328,12 @@
|
|||||||
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>os_versions.manifest</AdditionalManifestFiles>
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\src\airport.cpp" />
|
<ClCompile Include="..\src\airport.cpp" />
|
||||||
@@ -1030,6 +1046,8 @@
|
|||||||
<ClInclude Include="..\src\script\api\script_cargo.hpp" />
|
<ClInclude Include="..\src\script\api\script_cargo.hpp" />
|
||||||
<ClInclude Include="..\src\script\api\script_cargolist.hpp" />
|
<ClInclude Include="..\src\script\api\script_cargolist.hpp" />
|
||||||
<ClInclude Include="..\src\script\api\script_cargomonitor.hpp" />
|
<ClInclude Include="..\src\script\api\script_cargomonitor.hpp" />
|
||||||
|
<ClInclude Include="..\src\script\api\script_client.hpp" />
|
||||||
|
<ClInclude Include="..\src\script\api\script_clientlist.hpp" />
|
||||||
<ClInclude Include="..\src\script\api\script_company.hpp" />
|
<ClInclude Include="..\src\script\api\script_company.hpp" />
|
||||||
<ClInclude Include="..\src\script\api\script_companymode.hpp" />
|
<ClInclude Include="..\src\script\api\script_companymode.hpp" />
|
||||||
<ClInclude Include="..\src\script\api\script_controller.hpp" />
|
<ClInclude Include="..\src\script\api\script_controller.hpp" />
|
||||||
@@ -1095,6 +1113,8 @@
|
|||||||
<ClCompile Include="..\src\script\api\script_cargo.cpp" />
|
<ClCompile Include="..\src\script\api\script_cargo.cpp" />
|
||||||
<ClCompile Include="..\src\script\api\script_cargolist.cpp" />
|
<ClCompile Include="..\src\script\api\script_cargolist.cpp" />
|
||||||
<ClCompile Include="..\src\script\api\script_cargomonitor.cpp" />
|
<ClCompile Include="..\src\script\api\script_cargomonitor.cpp" />
|
||||||
|
<ClCompile Include="..\src\script\api\script_client.cpp" />
|
||||||
|
<ClCompile Include="..\src\script\api\script_clientlist.cpp" />
|
||||||
<ClCompile Include="..\src\script\api\script_company.cpp" />
|
<ClCompile Include="..\src\script\api\script_company.cpp" />
|
||||||
<ClCompile Include="..\src\script\api\script_companymode.cpp" />
|
<ClCompile Include="..\src\script\api\script_companymode.cpp" />
|
||||||
<ClCompile Include="..\src\script\api\script_controller.cpp" />
|
<ClCompile Include="..\src\script\api\script_controller.cpp" />
|
||||||
@@ -1306,7 +1326,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\media\openttd.ico" />
|
<None Include="..\media\openttd.ico" />
|
||||||
<None Include="..\readme.txt" />
|
<None Include="..\README.md" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="langs_vs140.vcxproj">
|
<ProjectReference Include="langs_vs140.vcxproj">
|
||||||
|
@@ -2232,6 +2232,12 @@
|
|||||||
<ClInclude Include="..\src\script\api\script_cargomonitor.hpp">
|
<ClInclude Include="..\src\script\api\script_cargomonitor.hpp">
|
||||||
<Filter>Script API</Filter>
|
<Filter>Script API</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\src\script\api\script_client.hpp">
|
||||||
|
<Filter>Script API</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\src\script\api\script_clientlist.hpp">
|
||||||
|
<Filter>Script API</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="..\src\script\api\script_company.hpp">
|
<ClInclude Include="..\src\script\api\script_company.hpp">
|
||||||
<Filter>Script API</Filter>
|
<Filter>Script API</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
@@ -2427,6 +2433,12 @@
|
|||||||
<ClCompile Include="..\src\script\api\script_cargomonitor.cpp">
|
<ClCompile Include="..\src\script\api\script_cargomonitor.cpp">
|
||||||
<Filter>Script API Implementation</Filter>
|
<Filter>Script API Implementation</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\src\script\api\script_client.cpp">
|
||||||
|
<Filter>Script API Implementation</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\src\script\api\script_clientlist.cpp">
|
||||||
|
<Filter>Script API Implementation</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="..\src\script\api\script_company.cpp">
|
<ClCompile Include="..\src\script\api\script_company.cpp">
|
||||||
<Filter>Script API Implementation</Filter>
|
<Filter>Script API Implementation</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@@ -3054,6 +3066,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\media\openttd.ico" />
|
<None Include="..\media\openttd.ico" />
|
||||||
<None Include="..\readme.txt" />
|
<None Include="..\README.md" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
@@ -8,6 +8,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\media\openttd.ico" />
|
<None Include="..\media\openttd.ico" />
|
||||||
<None Include="..\readme.txt" />
|
<None Include="..\README.md" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
@@ -152,8 +152,12 @@
|
|||||||
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>os_versions.manifest</AdditionalManifestFiles>
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -202,8 +206,12 @@
|
|||||||
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>os_versions.manifest</AdditionalManifestFiles>
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -264,8 +272,12 @@
|
|||||||
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>os_versions.manifest</AdditionalManifestFiles>
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -316,15 +328,19 @@
|
|||||||
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>os_versions.manifest</AdditionalManifestFiles>
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
!!FILES!!
|
!!FILES!!
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\media\openttd.ico" />
|
<None Include="..\media\openttd.ico" />
|
||||||
<None Include="..\readme.txt" />
|
<None Include="..\README.md" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="langs_vs140.vcxproj">
|
<ProjectReference Include="langs_vs140.vcxproj">
|
||||||
|
@@ -152,8 +152,12 @@
|
|||||||
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>os_versions.manifest</AdditionalManifestFiles>
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -202,8 +206,12 @@
|
|||||||
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>os_versions.manifest</AdditionalManifestFiles>
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -264,8 +272,12 @@
|
|||||||
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>os_versions.manifest</AdditionalManifestFiles>
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -316,8 +328,12 @@
|
|||||||
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>os_versions.manifest</AdditionalManifestFiles>
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\src\airport.cpp" />
|
<ClCompile Include="..\src\airport.cpp" />
|
||||||
@@ -1027,6 +1043,8 @@
|
|||||||
<ClInclude Include="..\src\script\api\script_cargo.hpp" />
|
<ClInclude Include="..\src\script\api\script_cargo.hpp" />
|
||||||
<ClInclude Include="..\src\script\api\script_cargolist.hpp" />
|
<ClInclude Include="..\src\script\api\script_cargolist.hpp" />
|
||||||
<ClInclude Include="..\src\script\api\script_cargomonitor.hpp" />
|
<ClInclude Include="..\src\script\api\script_cargomonitor.hpp" />
|
||||||
|
<ClInclude Include="..\src\script\api\script_client.hpp" />
|
||||||
|
<ClInclude Include="..\src\script\api\script_clientlist.hpp" />
|
||||||
<ClInclude Include="..\src\script\api\script_company.hpp" />
|
<ClInclude Include="..\src\script\api\script_company.hpp" />
|
||||||
<ClInclude Include="..\src\script\api\script_companymode.hpp" />
|
<ClInclude Include="..\src\script\api\script_companymode.hpp" />
|
||||||
<ClInclude Include="..\src\script\api\script_controller.hpp" />
|
<ClInclude Include="..\src\script\api\script_controller.hpp" />
|
||||||
@@ -1092,6 +1110,8 @@
|
|||||||
<ClCompile Include="..\src\script\api\script_cargo.cpp" />
|
<ClCompile Include="..\src\script\api\script_cargo.cpp" />
|
||||||
<ClCompile Include="..\src\script\api\script_cargolist.cpp" />
|
<ClCompile Include="..\src\script\api\script_cargolist.cpp" />
|
||||||
<ClCompile Include="..\src\script\api\script_cargomonitor.cpp" />
|
<ClCompile Include="..\src\script\api\script_cargomonitor.cpp" />
|
||||||
|
<ClCompile Include="..\src\script\api\script_client.cpp" />
|
||||||
|
<ClCompile Include="..\src\script\api\script_clientlist.cpp" />
|
||||||
<ClCompile Include="..\src\script\api\script_company.cpp" />
|
<ClCompile Include="..\src\script\api\script_company.cpp" />
|
||||||
<ClCompile Include="..\src\script\api\script_companymode.cpp" />
|
<ClCompile Include="..\src\script\api\script_companymode.cpp" />
|
||||||
<ClCompile Include="..\src\script\api\script_controller.cpp" />
|
<ClCompile Include="..\src\script\api\script_controller.cpp" />
|
||||||
@@ -1303,7 +1323,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\media\openttd.ico" />
|
<None Include="..\media\openttd.ico" />
|
||||||
<None Include="..\readme.txt" />
|
<None Include="..\README.md" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="langs_vs141.vcxproj">
|
<ProjectReference Include="langs_vs141.vcxproj">
|
||||||
|
@@ -2223,6 +2223,12 @@
|
|||||||
<ClInclude Include="..\src\script\api\script_cargomonitor.hpp">
|
<ClInclude Include="..\src\script\api\script_cargomonitor.hpp">
|
||||||
<Filter>Script API</Filter>
|
<Filter>Script API</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\src\script\api\script_client.hpp">
|
||||||
|
<Filter>Script API</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\src\script\api\script_clientlist.hpp">
|
||||||
|
<Filter>Script API</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="..\src\script\api\script_company.hpp">
|
<ClInclude Include="..\src\script\api\script_company.hpp">
|
||||||
<Filter>Script API</Filter>
|
<Filter>Script API</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
@@ -2418,6 +2424,12 @@
|
|||||||
<ClCompile Include="..\src\script\api\script_cargomonitor.cpp">
|
<ClCompile Include="..\src\script\api\script_cargomonitor.cpp">
|
||||||
<Filter>Script API Implementation</Filter>
|
<Filter>Script API Implementation</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\src\script\api\script_client.cpp">
|
||||||
|
<Filter>Script API Implementation</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\src\script\api\script_clientlist.cpp">
|
||||||
|
<Filter>Script API Implementation</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="..\src\script\api\script_company.cpp">
|
<ClCompile Include="..\src\script\api\script_company.cpp">
|
||||||
<Filter>Script API Implementation</Filter>
|
<Filter>Script API Implementation</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@@ -3045,6 +3057,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\media\openttd.ico" />
|
<None Include="..\media\openttd.ico" />
|
||||||
<None Include="..\readme.txt" />
|
<None Include="..\README.md" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
@@ -8,6 +8,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\media\openttd.ico" />
|
<None Include="..\media\openttd.ico" />
|
||||||
<None Include="..\readme.txt" />
|
<None Include="..\README.md" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
@@ -152,8 +152,12 @@
|
|||||||
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>os_versions.manifest</AdditionalManifestFiles>
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -202,8 +206,12 @@
|
|||||||
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>os_versions.manifest</AdditionalManifestFiles>
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -264,8 +272,12 @@
|
|||||||
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>os_versions.manifest</AdditionalManifestFiles>
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -316,15 +328,19 @@
|
|||||||
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>os_versions.manifest</AdditionalManifestFiles>
|
||||||
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
<EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
!!FILES!!
|
!!FILES!!
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\media\openttd.ico" />
|
<None Include="..\media\openttd.ico" />
|
||||||
<None Include="..\readme.txt" />
|
<None Include="..\README.md" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="langs_vs141.vcxproj">
|
<ProjectReference Include="langs_vs141.vcxproj">
|
||||||
|
@@ -122,6 +122,8 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
Description=""
|
||||||
|
CommandLine="copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
@@ -217,6 +219,8 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
Description=""
|
||||||
|
CommandLine="copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
@@ -327,6 +331,8 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
Description=""
|
||||||
|
CommandLine="copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
@@ -425,6 +431,8 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
Description=""
|
||||||
|
CommandLine="copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
@@ -3338,6 +3346,14 @@
|
|||||||
RelativePath=".\..\src\script\api\script_cargomonitor.hpp"
|
RelativePath=".\..\src\script\api\script_cargomonitor.hpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\..\src\script\api\script_client.hpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\..\src\script\api\script_clientlist.hpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\src\script\api\script_company.hpp"
|
RelativePath=".\..\src\script\api\script_company.hpp"
|
||||||
>
|
>
|
||||||
@@ -3602,6 +3618,14 @@
|
|||||||
RelativePath=".\..\src\script\api\script_cargomonitor.cpp"
|
RelativePath=".\..\src\script\api\script_cargomonitor.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\..\src\script\api\script_client.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\..\src\script\api\script_clientlist.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\src\script\api\script_company.cpp"
|
RelativePath=".\..\src\script\api\script_company.cpp"
|
||||||
>
|
>
|
||||||
@@ -4500,7 +4524,7 @@
|
|||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\readme.txt"
|
RelativePath=".\..\README.md"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
|
@@ -122,6 +122,8 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
Description=""
|
||||||
|
CommandLine="copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
@@ -217,6 +219,8 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
Description=""
|
||||||
|
CommandLine="copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
@@ -327,6 +331,8 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
Description=""
|
||||||
|
CommandLine="copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
@@ -425,6 +431,8 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
Description=""
|
||||||
|
CommandLine="copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
@@ -437,7 +445,7 @@
|
|||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\readme.txt"
|
RelativePath=".\..\README.md"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
|
@@ -121,6 +121,8 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
Description=""
|
||||||
|
CommandLine="copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
@@ -215,6 +217,8 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
Description=""
|
||||||
|
CommandLine="copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
@@ -324,6 +328,8 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
Description=""
|
||||||
|
CommandLine="copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
@@ -422,6 +428,8 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
Description=""
|
||||||
|
CommandLine="copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
@@ -3335,6 +3343,14 @@
|
|||||||
RelativePath=".\..\src\script\api\script_cargomonitor.hpp"
|
RelativePath=".\..\src\script\api\script_cargomonitor.hpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\..\src\script\api\script_client.hpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\..\src\script\api\script_clientlist.hpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\src\script\api\script_company.hpp"
|
RelativePath=".\..\src\script\api\script_company.hpp"
|
||||||
>
|
>
|
||||||
@@ -3599,6 +3615,14 @@
|
|||||||
RelativePath=".\..\src\script\api\script_cargomonitor.cpp"
|
RelativePath=".\..\src\script\api\script_cargomonitor.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\..\src\script\api\script_client.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\..\src\script\api\script_clientlist.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\src\script\api\script_company.cpp"
|
RelativePath=".\..\src\script\api\script_company.cpp"
|
||||||
>
|
>
|
||||||
@@ -4497,7 +4521,7 @@
|
|||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\readme.txt"
|
RelativePath=".\..\README.md"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
|
@@ -121,6 +121,8 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
Description=""
|
||||||
|
CommandLine="copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
@@ -215,6 +217,8 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
Description=""
|
||||||
|
CommandLine="copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
@@ -324,6 +328,8 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
Description=""
|
||||||
|
CommandLine="copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
@@ -422,6 +428,8 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
Description=""
|
||||||
|
CommandLine="copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SolutionDir)..\bin\$(TargetName)$(TargetExt)""
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
@@ -434,7 +442,7 @@
|
|||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\readme.txt"
|
RelativePath=".\..\README.md"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
|
17
projects/os_versions.manifest
Normal file
17
projects/os_versions.manifest
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" >
|
||||||
|
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||||
|
<application>
|
||||||
|
<!--This Id value indicates the application supports Windows Vista functionality -->
|
||||||
|
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
|
||||||
|
<!--This Id value indicates the application supports Windows 7 functionality-->
|
||||||
|
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
|
||||||
|
<!--This Id value indicates the application supports Windows 8 functionality-->
|
||||||
|
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
|
||||||
|
<!--This Id value indicates the application supports Windows 8.1 functionality-->
|
||||||
|
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
|
||||||
|
<!--This Id value indicates the application supports Windows 10 functionality-->
|
||||||
|
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
|
||||||
|
</application>
|
||||||
|
</compatibility>
|
||||||
|
</assembly>
|
@@ -785,6 +785,8 @@ script/api/script_bridgelist.hpp
|
|||||||
script/api/script_cargo.hpp
|
script/api/script_cargo.hpp
|
||||||
script/api/script_cargolist.hpp
|
script/api/script_cargolist.hpp
|
||||||
script/api/script_cargomonitor.hpp
|
script/api/script_cargomonitor.hpp
|
||||||
|
script/api/script_client.hpp
|
||||||
|
script/api/script_clientlist.hpp
|
||||||
script/api/script_company.hpp
|
script/api/script_company.hpp
|
||||||
script/api/script_companymode.hpp
|
script/api/script_companymode.hpp
|
||||||
script/api/script_controller.hpp
|
script/api/script_controller.hpp
|
||||||
@@ -852,6 +854,8 @@ script/api/script_bridgelist.cpp
|
|||||||
script/api/script_cargo.cpp
|
script/api/script_cargo.cpp
|
||||||
script/api/script_cargolist.cpp
|
script/api/script_cargolist.cpp
|
||||||
script/api/script_cargomonitor.cpp
|
script/api/script_cargomonitor.cpp
|
||||||
|
script/api/script_client.cpp
|
||||||
|
script/api/script_clientlist.cpp
|
||||||
script/api/script_company.cpp
|
script/api/script_company.cpp
|
||||||
script/api/script_companymode.cpp
|
script/api/script_companymode.cpp
|
||||||
script/api/script_controller.cpp
|
script/api/script_controller.cpp
|
||||||
|
@@ -29,7 +29,7 @@ static bool CheckAPIVersion(const char *api_version)
|
|||||||
return strcmp(api_version, "0.7") == 0 || strcmp(api_version, "1.0") == 0 || strcmp(api_version, "1.1") == 0 ||
|
return strcmp(api_version, "0.7") == 0 || strcmp(api_version, "1.0") == 0 || strcmp(api_version, "1.1") == 0 ||
|
||||||
strcmp(api_version, "1.2") == 0 || strcmp(api_version, "1.3") == 0 || strcmp(api_version, "1.4") == 0 ||
|
strcmp(api_version, "1.2") == 0 || strcmp(api_version, "1.3") == 0 || strcmp(api_version, "1.4") == 0 ||
|
||||||
strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0 || strcmp(api_version, "1.7") == 0 ||
|
strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0 || strcmp(api_version, "1.7") == 0 ||
|
||||||
strcmp(api_version, "1.8") == 0;
|
strcmp(api_version, "1.8") == 0 || strcmp(api_version, "1.9") == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(WIN32)
|
#if defined(WIN32)
|
||||||
|
@@ -11,17 +11,14 @@
|
|||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "core/alloc_func.hpp"
|
#include "core/alloc_func.hpp"
|
||||||
|
#include "core/smallvec_type.hpp"
|
||||||
#include "tile_cmd.h"
|
#include "tile_cmd.h"
|
||||||
#include "viewport_func.h"
|
#include "viewport_func.h"
|
||||||
|
|
||||||
#include "safeguards.h"
|
#include "safeguards.h"
|
||||||
|
|
||||||
/** The table/list with animated tiles. */
|
/** The table/list with animated tiles. */
|
||||||
TileIndex *_animated_tile_list = NULL;
|
SmallVector<TileIndex, 256> _animated_tiles;
|
||||||
/** The number of animated tiles in the current state. */
|
|
||||||
uint _animated_tile_count = 0;
|
|
||||||
/** The number of slots for animated tiles allocated currently. */
|
|
||||||
uint _animated_tile_allocated = 0;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes the given tile from the animated tile table.
|
* Removes the given tile from the animated tile table.
|
||||||
@@ -29,17 +26,11 @@ uint _animated_tile_allocated = 0;
|
|||||||
*/
|
*/
|
||||||
void DeleteAnimatedTile(TileIndex tile)
|
void DeleteAnimatedTile(TileIndex tile)
|
||||||
{
|
{
|
||||||
for (TileIndex *ti = _animated_tile_list; ti < _animated_tile_list + _animated_tile_count; ti++) {
|
TileIndex *to_remove = _animated_tiles.Find(tile);
|
||||||
if (tile == *ti) {
|
if (to_remove != _animated_tiles.End()) {
|
||||||
/* Remove the hole
|
/* The order of the remaining elements must stay the same, otherwise the animation loop may miss a tile. */
|
||||||
* The order of the remaining elements must stay the same, otherwise the animation loop
|
_animated_tiles.ErasePreservingOrder(to_remove);
|
||||||
* may miss a tile; that's why we must use memmove instead of just moving the last element.
|
|
||||||
*/
|
|
||||||
memmove(ti, ti + 1, (_animated_tile_list + _animated_tile_count - (ti + 1)) * sizeof(*ti));
|
|
||||||
_animated_tile_count--;
|
|
||||||
MarkTileDirtyByTile(tile);
|
MarkTileDirtyByTile(tile);
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,19 +42,7 @@ void DeleteAnimatedTile(TileIndex tile)
|
|||||||
void AddAnimatedTile(TileIndex tile)
|
void AddAnimatedTile(TileIndex tile)
|
||||||
{
|
{
|
||||||
MarkTileDirtyByTile(tile);
|
MarkTileDirtyByTile(tile);
|
||||||
|
_animated_tiles.Include(tile);
|
||||||
for (const TileIndex *ti = _animated_tile_list; ti < _animated_tile_list + _animated_tile_count; ti++) {
|
|
||||||
if (tile == *ti) return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Table not large enough, so make it larger */
|
|
||||||
if (_animated_tile_count == _animated_tile_allocated) {
|
|
||||||
_animated_tile_allocated *= 2;
|
|
||||||
_animated_tile_list = ReallocT<TileIndex>(_animated_tile_list, _animated_tile_allocated);
|
|
||||||
}
|
|
||||||
|
|
||||||
_animated_tile_list[_animated_tile_count] = tile;
|
|
||||||
_animated_tile_count++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -71,8 +50,8 @@ void AddAnimatedTile(TileIndex tile)
|
|||||||
*/
|
*/
|
||||||
void AnimateAnimatedTiles()
|
void AnimateAnimatedTiles()
|
||||||
{
|
{
|
||||||
const TileIndex *ti = _animated_tile_list;
|
const TileIndex *ti = _animated_tiles.Begin();
|
||||||
while (ti < _animated_tile_list + _animated_tile_count) {
|
while (ti < _animated_tiles.End()) {
|
||||||
const TileIndex curr = *ti;
|
const TileIndex curr = *ti;
|
||||||
AnimateTile(curr);
|
AnimateTile(curr);
|
||||||
/* During the AnimateTile call, DeleteAnimatedTile could have been called,
|
/* During the AnimateTile call, DeleteAnimatedTile could have been called,
|
||||||
@@ -93,7 +72,5 @@ void AnimateAnimatedTiles()
|
|||||||
*/
|
*/
|
||||||
void InitializeAnimatedTiles()
|
void InitializeAnimatedTiles()
|
||||||
{
|
{
|
||||||
_animated_tile_list = ReallocT<TileIndex>(_animated_tile_list, 256);
|
_animated_tiles.Clear();
|
||||||
_animated_tile_count = 0;
|
|
||||||
_animated_tile_allocated = 256;
|
|
||||||
}
|
}
|
||||||
|
@@ -219,6 +219,11 @@ public:
|
|||||||
static bool HasSet(const ContentInfo *ci, bool md5sum);
|
static bool HasSet(const ContentInfo *ci, bool md5sum);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template <class Tbase_set> /* static */ const char *BaseMedia<Tbase_set>::ini_set;
|
||||||
|
template <class Tbase_set> /* static */ const Tbase_set *BaseMedia<Tbase_set>::used_set;
|
||||||
|
template <class Tbase_set> /* static */ Tbase_set *BaseMedia<Tbase_set>::available_sets;
|
||||||
|
template <class Tbase_set> /* static */ Tbase_set *BaseMedia<Tbase_set>::duplicate_sets;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check whether there's a base set matching some information.
|
* Check whether there's a base set matching some information.
|
||||||
* @param ci The content info to compare it to.
|
* @param ci The content info to compare it to.
|
||||||
|
@@ -17,11 +17,6 @@
|
|||||||
#include "ini_type.h"
|
#include "ini_type.h"
|
||||||
#include "string_func.h"
|
#include "string_func.h"
|
||||||
|
|
||||||
template <class Tbase_set> /* static */ const char *BaseMedia<Tbase_set>::ini_set;
|
|
||||||
template <class Tbase_set> /* static */ const Tbase_set *BaseMedia<Tbase_set>::used_set;
|
|
||||||
template <class Tbase_set> /* static */ Tbase_set *BaseMedia<Tbase_set>::available_sets;
|
|
||||||
template <class Tbase_set> /* static */ Tbase_set *BaseMedia<Tbase_set>::duplicate_sets;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Try to read a single piece of metadata and return false if it doesn't exist.
|
* Try to read a single piece of metadata and return false if it doesn't exist.
|
||||||
* @param name the name of the item to fetch.
|
* @param name the name of the item to fetch.
|
||||||
|
@@ -27,6 +27,8 @@
|
|||||||
#define MARGIN_NORMAL_THRESHOLD (zoom == ZOOM_LVL_OUT_32X ? 8 : 4) ///< Minimum width to use margins with BM_NORMAL.
|
#define MARGIN_NORMAL_THRESHOLD (zoom == ZOOM_LVL_OUT_32X ? 8 : 4) ///< Minimum width to use margins with BM_NORMAL.
|
||||||
#define MARGIN_REMAP_THRESHOLD 4 ///< Minimum width to use margins with BM_COLOUR_REMAP.
|
#define MARGIN_REMAP_THRESHOLD 4 ///< Minimum width to use margins with BM_COLOUR_REMAP.
|
||||||
|
|
||||||
|
#undef ALIGN
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#define ALIGN(n) __declspec(align(n))
|
#define ALIGN(n) __declspec(align(n))
|
||||||
#else
|
#else
|
||||||
|
@@ -264,6 +264,6 @@ bool HandleBootstrap()
|
|||||||
|
|
||||||
/* Failure to get enough working to get a graphics set. */
|
/* Failure to get enough working to get a graphics set. */
|
||||||
failure:
|
failure:
|
||||||
usererror("Failed to find a graphics set. Please acquire a graphics set for OpenTTD. See section 4.1 of readme.txt.");
|
usererror("Failed to find a graphics set. Please acquire a graphics set for OpenTTD. See section 4.1 of README.md.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -167,6 +167,7 @@ CommandProc CmdSetStoryPageDate;
|
|||||||
CommandProc CmdShowStoryPage;
|
CommandProc CmdShowStoryPage;
|
||||||
CommandProc CmdRemoveStoryPage;
|
CommandProc CmdRemoveStoryPage;
|
||||||
CommandProc CmdRemoveStoryPageElement;
|
CommandProc CmdRemoveStoryPageElement;
|
||||||
|
CommandProc CmdScrollViewport;
|
||||||
|
|
||||||
CommandProc CmdLevelLand;
|
CommandProc CmdLevelLand;
|
||||||
|
|
||||||
@@ -322,6 +323,7 @@ static const Command _command_proc_table[] = {
|
|||||||
DEF_CMD(CmdShowStoryPage, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_SHOW_STORY_PAGE
|
DEF_CMD(CmdShowStoryPage, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_SHOW_STORY_PAGE
|
||||||
DEF_CMD(CmdRemoveStoryPage, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_REMOVE_STORY_PAGE
|
DEF_CMD(CmdRemoveStoryPage, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_REMOVE_STORY_PAGE
|
||||||
DEF_CMD(CmdRemoveStoryPageElement, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_REMOVE_STORY_ELEMENT_PAGE
|
DEF_CMD(CmdRemoveStoryPageElement, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_REMOVE_STORY_ELEMENT_PAGE
|
||||||
|
DEF_CMD(CmdScrollViewport, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_SCROLL_VIEWPORT
|
||||||
|
|
||||||
DEF_CMD(CmdLevelLand, CMD_ALL_TILES | CMD_NO_TEST | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_LEVEL_LAND; test run might clear tiles multiple times, in execution that only happens once
|
DEF_CMD(CmdLevelLand, CMD_ALL_TILES | CMD_NO_TEST | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_LEVEL_LAND; test run might clear tiles multiple times, in execution that only happens once
|
||||||
|
|
||||||
|
@@ -293,6 +293,8 @@ enum Commands {
|
|||||||
CMD_SHOW_STORY_PAGE, ///< show a story page
|
CMD_SHOW_STORY_PAGE, ///< show a story page
|
||||||
CMD_REMOVE_STORY_PAGE, ///< remove a story page
|
CMD_REMOVE_STORY_PAGE, ///< remove a story page
|
||||||
CMD_REMOVE_STORY_PAGE_ELEMENT, ///< remove a story page element
|
CMD_REMOVE_STORY_PAGE_ELEMENT, ///< remove a story page element
|
||||||
|
CMD_SCROLL_VIEWPORT, ///< scroll main viewport of players
|
||||||
|
|
||||||
CMD_LEVEL_LAND, ///< level land
|
CMD_LEVEL_LAND, ///< level land
|
||||||
|
|
||||||
CMD_BUILD_LOCK, ///< build a lock
|
CMD_BUILD_LOCK, ///< build a lock
|
||||||
|
@@ -78,7 +78,7 @@ static const CompanyManagerFaceBitsInfo _cmf_info[] = {
|
|||||||
/* CMFV_MOUSTACHE */ { 13, 2, { 3, 0, 3, 0 }, { 0x367, 0, 0x397, 0 } }, ///< Depends on CMFV_HAS_MOUSTACHE
|
/* CMFV_MOUSTACHE */ { 13, 2, { 3, 0, 3, 0 }, { 0x367, 0, 0x397, 0 } }, ///< Depends on CMFV_HAS_MOUSTACHE
|
||||||
/* CMFV_LIPS */ { 13, 4, { 12, 10, 9, 9 }, { 0x35B, 0x351, 0x3A5, 0x3C8 } }, ///< Depends on !CMFV_HAS_MOUSTACHE
|
/* CMFV_LIPS */ { 13, 4, { 12, 10, 9, 9 }, { 0x35B, 0x351, 0x3A5, 0x3C8 } }, ///< Depends on !CMFV_HAS_MOUSTACHE
|
||||||
/* CMFV_NOSE */ { 17, 3, { 8, 4, 4, 5 }, { 0x349, 0x34C, 0x393, 0x3B3 } }, ///< Depends on !CMFV_HAS_MOUSTACHE
|
/* CMFV_NOSE */ { 17, 3, { 8, 4, 4, 5 }, { 0x349, 0x34C, 0x393, 0x3B3 } }, ///< Depends on !CMFV_HAS_MOUSTACHE
|
||||||
/* CMFV_HAIR */ { 20, 4, { 9, 5, 5, 4 }, { 0x382, 0x38B, 0x3D4, 0x3D9 } },
|
/* CMFV_HAIR */ { 20, 4, { 9, 5, 5, 5 }, { 0x382, 0x38B, 0x3D4, 0x3D9 } },
|
||||||
/* CMFV_JACKET */ { 24, 2, { 3, 3, 3, 3 }, { 0x36B, 0x378, 0x36B, 0x378 } },
|
/* CMFV_JACKET */ { 24, 2, { 3, 3, 3, 3 }, { 0x36B, 0x378, 0x36B, 0x378 } },
|
||||||
/* CMFV_COLLAR */ { 26, 2, { 4, 4, 4, 4 }, { 0x36E, 0x37B, 0x36E, 0x37B } },
|
/* CMFV_COLLAR */ { 26, 2, { 4, 4, 4, 4 }, { 0x36E, 0x37B, 0x36E, 0x37B } },
|
||||||
/* CMFV_TIE_EARRING */ { 28, 3, { 6, 3, 6, 3 }, { 0x372, 0x37F, 0x372, 0x3D1 } }, ///< Depends on CMFV_HAS_TIE_EARRING
|
/* CMFV_TIE_EARRING */ { 28, 3, { 6, 3, 6, 3 }, { 0x372, 0x37F, 0x372, 0x3D1 } }, ///< Depends on CMFV_HAS_TIE_EARRING
|
||||||
|
@@ -195,10 +195,10 @@ public:
|
|||||||
inline void Push(const Titem &item)
|
inline void Push(const Titem &item)
|
||||||
{
|
{
|
||||||
if (this->value != Tinvalid) {
|
if (this->value != Tinvalid) {
|
||||||
ThreadMutexLocker lock(_pool.GetMutex());
|
ThreadMutexLocker lock(SmallStack::GetPool().GetMutex());
|
||||||
Tindex new_item = _pool.Create();
|
Tindex new_item = SmallStack::GetPool().Create();
|
||||||
if (new_item != Tmax_size) {
|
if (new_item != Tmax_size) {
|
||||||
PooledSmallStack &pushed = _pool.Get(new_item);
|
PooledSmallStack &pushed = SmallStack::GetPool().Get(new_item);
|
||||||
pushed.value = this->value;
|
pushed.value = this->value;
|
||||||
pushed.next = this->next;
|
pushed.next = this->next;
|
||||||
pushed.branch_count = 0;
|
pushed.branch_count = 0;
|
||||||
@@ -218,16 +218,16 @@ public:
|
|||||||
if (this->next == Tmax_size) {
|
if (this->next == Tmax_size) {
|
||||||
this->value = Tinvalid;
|
this->value = Tinvalid;
|
||||||
} else {
|
} else {
|
||||||
ThreadMutexLocker lock(_pool.GetMutex());
|
ThreadMutexLocker lock(SmallStack::GetPool().GetMutex());
|
||||||
PooledSmallStack &popped = _pool.Get(this->next);
|
PooledSmallStack &popped = SmallStack::GetPool().Get(this->next);
|
||||||
this->value = popped.value;
|
this->value = popped.value;
|
||||||
if (popped.branch_count == 0) {
|
if (popped.branch_count == 0) {
|
||||||
_pool.Destroy(this->next);
|
SmallStack::GetPool().Destroy(this->next);
|
||||||
} else {
|
} else {
|
||||||
--popped.branch_count;
|
--popped.branch_count;
|
||||||
/* We can't use Branch() here as we already have the mutex.*/
|
/* We can't use Branch() here as we already have the mutex.*/
|
||||||
if (popped.next != Tmax_size) {
|
if (popped.next != Tmax_size) {
|
||||||
++(_pool.Get(popped.next).branch_count);
|
++(SmallStack::GetPool().Get(popped.next).branch_count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Accessing popped here is no problem as the pool will only set
|
/* Accessing popped here is no problem as the pool will only set
|
||||||
@@ -257,11 +257,11 @@ public:
|
|||||||
{
|
{
|
||||||
if (item == Tinvalid || item == this->value) return true;
|
if (item == Tinvalid || item == this->value) return true;
|
||||||
if (this->next != Tmax_size) {
|
if (this->next != Tmax_size) {
|
||||||
ThreadMutexLocker lock(_pool.GetMutex());
|
ThreadMutexLocker lock(SmallStack::GetPool().GetMutex());
|
||||||
const SmallStack *in_list = this;
|
const SmallStack *in_list = this;
|
||||||
do {
|
do {
|
||||||
in_list = static_cast<const SmallStack *>(
|
in_list = static_cast<const SmallStack *>(
|
||||||
static_cast<const Item *>(&_pool.Get(in_list->next)));
|
static_cast<const Item *>(&SmallStack::GetPool().Get(in_list->next)));
|
||||||
if (in_list->value == item) return true;
|
if (in_list->value == item) return true;
|
||||||
} while (in_list->next != Tmax_size);
|
} while (in_list->next != Tmax_size);
|
||||||
}
|
}
|
||||||
@@ -269,7 +269,11 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
static SmallStackPool _pool;
|
static SmallStackPool &GetPool()
|
||||||
|
{
|
||||||
|
static SmallStackPool pool;
|
||||||
|
return pool;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a branch in the pool if necessary.
|
* Create a branch in the pool if necessary.
|
||||||
@@ -277,8 +281,8 @@ protected:
|
|||||||
inline void Branch()
|
inline void Branch()
|
||||||
{
|
{
|
||||||
if (this->next != Tmax_size) {
|
if (this->next != Tmax_size) {
|
||||||
ThreadMutexLocker lock(_pool.GetMutex());
|
ThreadMutexLocker lock(SmallStack::GetPool().GetMutex());
|
||||||
++(_pool.Get(this->next).branch_count);
|
++(SmallStack::GetPool().Get(this->next).branch_count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@@ -158,6 +158,23 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert a new item at a specific position into the vector, moving all following items.
|
||||||
|
* @param item Position at which the new item should be inserted
|
||||||
|
* @return pointer to the new item
|
||||||
|
*/
|
||||||
|
inline T *Insert(T *item)
|
||||||
|
{
|
||||||
|
assert(item >= this->Begin() && item <= this->End());
|
||||||
|
|
||||||
|
size_t to_move = this->End() - item;
|
||||||
|
size_t start = item - this->Begin();
|
||||||
|
|
||||||
|
this->Append();
|
||||||
|
if (to_move > 0) MemMoveT(this->Begin() + start + 1, this->Begin() + start, to_move);
|
||||||
|
return this->Begin() + start;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Search for the first occurrence of an item.
|
* Search for the first occurrence of an item.
|
||||||
* The '!=' operator of T is used for comparison.
|
* The '!=' operator of T is used for comparison.
|
||||||
@@ -232,13 +249,24 @@ public:
|
|||||||
* @param count Number of consecutive items to remove.
|
* @param count Number of consecutive items to remove.
|
||||||
*/
|
*/
|
||||||
void ErasePreservingOrder(uint pos, uint count = 1)
|
void ErasePreservingOrder(uint pos, uint count = 1)
|
||||||
|
{
|
||||||
|
ErasePreservingOrder(this->data + pos, count);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove items from the vector while preserving the order of other items.
|
||||||
|
* @param item First item to remove.
|
||||||
|
* @param count Number of consecutive items to remove.
|
||||||
|
*/
|
||||||
|
inline void ErasePreservingOrder(T *item, uint count = 1)
|
||||||
{
|
{
|
||||||
if (count == 0) return;
|
if (count == 0) return;
|
||||||
assert(pos < this->items);
|
assert(item >= this->Begin());
|
||||||
assert(pos + count <= this->items);
|
assert(item + count <= this->End());
|
||||||
|
|
||||||
this->items -= count;
|
this->items -= count;
|
||||||
uint to_move = this->items - pos;
|
ptrdiff_t to_move = this->End() - item;
|
||||||
if (to_move > 0) MemMoveT(this->data + pos, this->data + pos + count, to_move);
|
if (to_move > 0) MemMoveT(item, item + count, to_move);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -27,6 +27,7 @@
|
|||||||
#include "network/network.h"
|
#include "network/network.h"
|
||||||
#include "language.h"
|
#include "language.h"
|
||||||
#include "fontcache.h"
|
#include "fontcache.h"
|
||||||
|
#include "news_gui.h"
|
||||||
|
|
||||||
#include "ai/ai_info.hpp"
|
#include "ai/ai_info.hpp"
|
||||||
#include "game/game.hpp"
|
#include "game/game.hpp"
|
||||||
@@ -308,6 +309,27 @@ char *CrashLog::LogGamelog(char *buffer, const char *last) const
|
|||||||
return CrashLog::gamelog_buffer + seprintf(CrashLog::gamelog_buffer, last, "\n");
|
return CrashLog::gamelog_buffer + seprintf(CrashLog::gamelog_buffer, last, "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Writes any recent news messages to the buffer.
|
||||||
|
* @param buffer The begin where to write at.
|
||||||
|
* @param last The last position in the buffer to write to.
|
||||||
|
* @return the position of the \c '\0' character after the buffer.
|
||||||
|
*/
|
||||||
|
char *CrashLog::LogRecentNews(char *buffer, const char *last) const
|
||||||
|
{
|
||||||
|
buffer += seprintf(buffer, last, "Recent news messages:\n");
|
||||||
|
|
||||||
|
for (NewsItem *news = _oldest_news; news != NULL; news = news->next) {
|
||||||
|
YearMonthDay ymd;
|
||||||
|
ConvertDateToYMD(news->date, &ymd);
|
||||||
|
buffer += seprintf(buffer, last, "(%i-%02i-%02i) StringID: %u, Type: %u, Ref1: %u, %u, Ref2: %u, %u\n",
|
||||||
|
ymd.year, ymd.month + 1, ymd.day, news->string_id, news->type,
|
||||||
|
news->reftype1, news->ref1, news->reftype2, news->ref2);
|
||||||
|
}
|
||||||
|
buffer += seprintf(buffer, last, "\n");
|
||||||
|
return buffer;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fill the crash log buffer with all data of a crash log.
|
* Fill the crash log buffer with all data of a crash log.
|
||||||
* @param buffer The begin where to write at.
|
* @param buffer The begin where to write at.
|
||||||
@@ -334,6 +356,7 @@ char *CrashLog::FillCrashLog(char *buffer, const char *last) const
|
|||||||
buffer = this->LogLibraries(buffer, last);
|
buffer = this->LogLibraries(buffer, last);
|
||||||
buffer = this->LogModules(buffer, last);
|
buffer = this->LogModules(buffer, last);
|
||||||
buffer = this->LogGamelog(buffer, last);
|
buffer = this->LogGamelog(buffer, last);
|
||||||
|
buffer = this->LogRecentNews(buffer, last);
|
||||||
|
|
||||||
buffer += seprintf(buffer, last, "*** End of OpenTTD Crash Report ***\n");
|
buffer += seprintf(buffer, last, "*** End of OpenTTD Crash Report ***\n");
|
||||||
return buffer;
|
return buffer;
|
||||||
|
@@ -85,6 +85,7 @@ protected:
|
|||||||
char *LogConfiguration(char *buffer, const char *last) const;
|
char *LogConfiguration(char *buffer, const char *last) const;
|
||||||
char *LogLibraries(char *buffer, const char *last) const;
|
char *LogLibraries(char *buffer, const char *last) const;
|
||||||
char *LogGamelog(char *buffer, const char *last) const;
|
char *LogGamelog(char *buffer, const char *last) const;
|
||||||
|
char *LogRecentNews(char *buffer, const char *list) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/** Stub destructor to silence some compilers. */
|
/** Stub destructor to silence some compilers. */
|
||||||
|
@@ -100,8 +100,6 @@ char *DumpDebugFacilityNames(char *buf, char *last)
|
|||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(NO_DEBUG_MESSAGES)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Internal function for outputting the debug line.
|
* Internal function for outputting the debug line.
|
||||||
* @param dbg Debug category.
|
* @param dbg Debug category.
|
||||||
@@ -168,7 +166,6 @@ void CDECL debug(const char *dbg, const char *format, ...)
|
|||||||
|
|
||||||
debug_print(dbg, buf);
|
debug_print(dbg, buf);
|
||||||
}
|
}
|
||||||
#endif /* NO_DEBUG_MESSAGES */
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set debugging levels by parsing the text in \a s.
|
* Set debugging levels by parsing the text in \a s.
|
||||||
|
@@ -28,9 +28,6 @@
|
|||||||
* 6.. - extremely detailed spamming
|
* 6.. - extremely detailed spamming
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef NO_DEBUG_MESSAGES
|
|
||||||
#define DEBUG(name, level, ...) { }
|
|
||||||
#else /* NO_DEBUG_MESSAGES */
|
|
||||||
/**
|
/**
|
||||||
* Output a line of debugging information.
|
* Output a line of debugging information.
|
||||||
* @param name Category
|
* @param name Category
|
||||||
@@ -58,7 +55,6 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void CDECL debug(const char *dbg, const char *format, ...) WARN_FORMAT(2, 3);
|
void CDECL debug(const char *dbg, const char *format, ...) WARN_FORMAT(2, 3);
|
||||||
#endif /* NO_DEBUG_MESSAGES */
|
|
||||||
|
|
||||||
char *DumpDebugFacilityNames(char *buf, char *last);
|
char *DumpDebugFacilityNames(char *buf, char *last);
|
||||||
void SetDebugString(const char *s);
|
void SetDebugString(const char *s);
|
||||||
|
@@ -383,12 +383,13 @@ struct DepotWindow : Window {
|
|||||||
int col = _colour_gradient[wid->colour][4];
|
int col = _colour_gradient[wid->colour][4];
|
||||||
int image_left = rtl ? r.left + this->count_width : r.left + this->header_width;
|
int image_left = rtl ? r.left + this->count_width : r.left + this->header_width;
|
||||||
int image_right = rtl ? r.right - this->header_width : r.right - this->count_width;
|
int image_right = rtl ? r.right - this->header_width : r.right - this->count_width;
|
||||||
|
int first_line = w + (-this->hscroll->GetPosition()) % w;
|
||||||
if (rtl) {
|
if (rtl) {
|
||||||
for (int x = image_right - w; x > image_left; x -= w) {
|
for (int x = image_right - first_line; x >= image_left; x -= w) {
|
||||||
GfxDrawLine(x, r.top, x, r.bottom, col, 1, 3);
|
GfxDrawLine(x, r.top, x, r.bottom, col, 1, 3);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (int x = image_left + w; x < image_right; x += w) {
|
for (int x = image_left + first_line; x <= image_right; x += w) {
|
||||||
GfxDrawLine(x, r.top, x, r.bottom, col, 1, 3);
|
GfxDrawLine(x, r.top, x, r.bottom, col, 1, 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -734,7 +735,8 @@ struct DepotWindow : Window {
|
|||||||
}
|
}
|
||||||
/* Always have 1 empty row, so people can change the setting of the train */
|
/* Always have 1 empty row, so people can change the setting of the train */
|
||||||
this->vscroll->SetCount(this->vehicle_list.Length() + this->wagon_list.Length() + 1);
|
this->vscroll->SetCount(this->vehicle_list.Length() + this->wagon_list.Length() + 1);
|
||||||
this->hscroll->SetCount(max_width);
|
/* Always make it longer than the longest train, so you can attach vehicles at the end, and also see the next vertical tile separator line */
|
||||||
|
this->hscroll->SetCount(max_width + ScaleGUITrad(2 * VEHICLEINFO_FULL_VEHICLE_WIDTH + 1));
|
||||||
} else {
|
} else {
|
||||||
this->vscroll->SetCount(CeilDiv(this->vehicle_list.Length(), this->num_columns));
|
this->vscroll->SetCount(CeilDiv(this->vehicle_list.Length(), this->num_columns));
|
||||||
}
|
}
|
||||||
|
@@ -654,12 +654,16 @@ static void CompanyCheckBankrupt(Company *c)
|
|||||||
*/
|
*/
|
||||||
static void CompaniesGenStatistics()
|
static void CompaniesGenStatistics()
|
||||||
{
|
{
|
||||||
Station *st;
|
/* Check for bankruptcy each month */
|
||||||
|
Company *c;
|
||||||
|
FOR_ALL_COMPANIES(c) {
|
||||||
|
CompanyCheckBankrupt(c);
|
||||||
|
}
|
||||||
|
|
||||||
Backup<CompanyByte> cur_company(_current_company, FILE_LINE);
|
Backup<CompanyByte> cur_company(_current_company, FILE_LINE);
|
||||||
Company *c;
|
|
||||||
|
|
||||||
if (!_settings_game.economy.infrastructure_maintenance) {
|
if (!_settings_game.economy.infrastructure_maintenance) {
|
||||||
|
Station *st;
|
||||||
FOR_ALL_STATIONS(st) {
|
FOR_ALL_STATIONS(st) {
|
||||||
cur_company.Change(st->owner);
|
cur_company.Change(st->owner);
|
||||||
CommandCost cost(EXPENSES_PROPERTY, _price[PR_STATION_VALUE] >> 1);
|
CommandCost cost(EXPENSES_PROPERTY, _price[PR_STATION_VALUE] >> 1);
|
||||||
@@ -688,11 +692,6 @@ static void CompaniesGenStatistics()
|
|||||||
}
|
}
|
||||||
cur_company.Restore();
|
cur_company.Restore();
|
||||||
|
|
||||||
/* Check for bankruptcy each month */
|
|
||||||
FOR_ALL_COMPANIES(c) {
|
|
||||||
CompanyCheckBankrupt(c);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Only run the economic statics and update company stats every 3rd month (1st of quarter). */
|
/* Only run the economic statics and update company stats every 3rd month (1st of quarter). */
|
||||||
if (!HasBit(1 << 0 | 1 << 3 | 1 << 6 | 1 << 9, _cur_month)) return;
|
if (!HasBit(1 << 0 | 1 << 3 | 1 << 6 | 1 << 9, _cur_month)) return;
|
||||||
|
|
||||||
|
@@ -584,32 +584,6 @@ bool AppendPathSeparator(char *buf, const char *last)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Allocates and files a variable with the full path
|
|
||||||
* based on the given directory.
|
|
||||||
* @param dir the directory to base the path on
|
|
||||||
* @return the malloced full path
|
|
||||||
*/
|
|
||||||
char *BuildWithFullPath(const char *dir)
|
|
||||||
{
|
|
||||||
char *dest = MallocT<char>(MAX_PATH);
|
|
||||||
char *last = dest + MAX_PATH - 1;
|
|
||||||
strecpy(dest, dir, last);
|
|
||||||
|
|
||||||
/* Check if absolute or relative path */
|
|
||||||
const char *s = strchr(dest, PATHSEPCHAR);
|
|
||||||
|
|
||||||
/* Add absolute path */
|
|
||||||
if (s == NULL || dest != s) {
|
|
||||||
if (getcwd(dest, MAX_PATH) == NULL) *dest = '\0';
|
|
||||||
AppendPathSeparator(dest, last);
|
|
||||||
strecat(dest, dir, last);
|
|
||||||
}
|
|
||||||
AppendPathSeparator(dest, last);
|
|
||||||
|
|
||||||
return dest;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find the first directory in a tar archive.
|
* Find the first directory in a tar archive.
|
||||||
* @param tarname the name of the tar archive to look in.
|
* @param tarname the name of the tar archive to look in.
|
||||||
|
@@ -382,14 +382,42 @@ FT_Error GetFontByFaceName(const char *font_name, FT_Face *face)
|
|||||||
FT_Error err = FT_Err_Cannot_Open_Resource;
|
FT_Error err = FT_Err_Cannot_Open_Resource;
|
||||||
|
|
||||||
/* Get font reference from name. */
|
/* Get font reference from name. */
|
||||||
|
UInt8 file_path[PATH_MAX];
|
||||||
|
OSStatus os_err = -1;
|
||||||
CFStringRef name = CFStringCreateWithCString(kCFAllocatorDefault, font_name, kCFStringEncodingUTF8);
|
CFStringRef name = CFStringCreateWithCString(kCFAllocatorDefault, font_name, kCFStringEncodingUTF8);
|
||||||
|
|
||||||
|
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
|
||||||
|
if (MacOSVersionIsAtLeast(10, 6, 0)) {
|
||||||
|
/* Simply creating the font using CTFontCreateWithNameAndSize will *always* return
|
||||||
|
* something, no matter the name. As such, we can't use it to check for existance.
|
||||||
|
* We instead query the list of all font descriptors that match the given name which
|
||||||
|
* does not do this stupid name fallback. */
|
||||||
|
CTFontDescriptorRef name_desc = CTFontDescriptorCreateWithNameAndSize(name, 0.0);
|
||||||
|
CFSetRef mandatory_attribs = CFSetCreate(kCFAllocatorDefault, (const void **)&kCTFontNameAttribute, 1, &kCFTypeSetCallBacks);
|
||||||
|
CFArrayRef descs = CTFontDescriptorCreateMatchingFontDescriptors(name_desc, mandatory_attribs);
|
||||||
|
CFRelease(mandatory_attribs);
|
||||||
|
CFRelease(name_desc);
|
||||||
|
CFRelease(name);
|
||||||
|
|
||||||
|
/* Loop over all matches until we can get a path for one of them. */
|
||||||
|
for (CFIndex i = 0; descs != NULL && i < CFArrayGetCount(descs) && os_err != noErr; i++) {
|
||||||
|
CTFontRef font = CTFontCreateWithFontDescriptor((CTFontDescriptorRef)CFArrayGetValueAtIndex(descs, i), 0.0, NULL);
|
||||||
|
CFURLRef fontURL = (CFURLRef)CTFontCopyAttribute(font, kCTFontURLAttribute);
|
||||||
|
if (CFURLGetFileSystemRepresentation(fontURL, true, file_path, lengthof(file_path))) os_err = noErr;
|
||||||
|
CFRelease(font);
|
||||||
|
CFRelease(fontURL);
|
||||||
|
}
|
||||||
|
if (descs != NULL) CFRelease(descs);
|
||||||
|
} else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
#if (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6)
|
||||||
ATSFontRef font = ATSFontFindFromName(name, kATSOptionFlagsDefault);
|
ATSFontRef font = ATSFontFindFromName(name, kATSOptionFlagsDefault);
|
||||||
CFRelease(name);
|
CFRelease(name);
|
||||||
if (font == kInvalidFont) return err;
|
if (font == kInvalidFont) return err;
|
||||||
|
|
||||||
/* Get a file system reference for the font. */
|
/* Get a file system reference for the font. */
|
||||||
FSRef ref;
|
FSRef ref;
|
||||||
OSStatus os_err = -1;
|
|
||||||
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
|
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
|
||||||
if (MacOSVersionIsAtLeast(10, 5, 0)) {
|
if (MacOSVersionIsAtLeast(10, 5, 0)) {
|
||||||
os_err = ATSFontGetFileReference(font, &ref);
|
os_err = ATSFontGetFileReference(font, &ref);
|
||||||
@@ -407,14 +435,15 @@ FT_Error GetFontByFaceName(const char *font_name, FT_Face *face)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (os_err == noErr) {
|
|
||||||
/* Get unix path for file. */
|
/* Get unix path for file. */
|
||||||
UInt8 file_path[PATH_MAX];
|
if (os_err == noErr) os_err = FSRefMakePath(&ref, file_path, sizeof(file_path));
|
||||||
if (FSRefMakePath(&ref, file_path, sizeof(file_path)) == noErr) {
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
if (os_err == noErr) {
|
||||||
DEBUG(freetype, 3, "Font path for %s: %s", font_name, file_path);
|
DEBUG(freetype, 3, "Font path for %s: %s", font_name, file_path);
|
||||||
err = FT_New_Face(_library, (const char *)file_path, 0, face);
|
err = FT_New_Face(_library, (const char *)file_path, 0, face);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
@@ -496,6 +525,7 @@ bool SetFallbackFont(FreeTypeSettings *settings, const char *language_isocode, i
|
|||||||
} else
|
} else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
|
#if (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6)
|
||||||
/* Create a font iterator and iterate over all fonts that
|
/* Create a font iterator and iterate over all fonts that
|
||||||
* are available to the application. */
|
* are available to the application. */
|
||||||
ATSFontIterator itr;
|
ATSFontIterator itr;
|
||||||
@@ -529,6 +559,7 @@ bool SetFallbackFont(FreeTypeSettings *settings, const char *language_isocode, i
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
ATSFontIteratorRelease(&itr);
|
ATSFontIteratorRelease(&itr);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!result) {
|
if (!result) {
|
||||||
|
@@ -55,7 +55,7 @@ public:
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Resume execution of the Game Script. This function will not actually execute
|
* Resume execution of the Game Script. This function will not actually execute
|
||||||
* the script, but set a flag so that the script is executed my the usual
|
* the script, but set a flag so that the script is executed by the usual
|
||||||
* mechanism that executes the script.
|
* mechanism that executes the script.
|
||||||
*/
|
*/
|
||||||
static void Unpause();
|
static void Unpause();
|
||||||
|
@@ -26,7 +26,7 @@ static bool CheckAPIVersion(const char *api_version)
|
|||||||
{
|
{
|
||||||
return strcmp(api_version, "1.2") == 0 || strcmp(api_version, "1.3") == 0 || strcmp(api_version, "1.4") == 0 ||
|
return strcmp(api_version, "1.2") == 0 || strcmp(api_version, "1.3") == 0 || strcmp(api_version, "1.4") == 0 ||
|
||||||
strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0 || strcmp(api_version, "1.7") == 0 ||
|
strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0 || strcmp(api_version, "1.7") == 0 ||
|
||||||
strcmp(api_version, "1.8") == 0;
|
strcmp(api_version, "1.8") == 0 || strcmp(api_version, "1.9") == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(WIN32)
|
#if defined(WIN32)
|
||||||
|
@@ -34,6 +34,8 @@
|
|||||||
#include "../script/api/game/game_cargo.hpp.sq"
|
#include "../script/api/game/game_cargo.hpp.sq"
|
||||||
#include "../script/api/game/game_cargolist.hpp.sq"
|
#include "../script/api/game/game_cargolist.hpp.sq"
|
||||||
#include "../script/api/game/game_cargomonitor.hpp.sq"
|
#include "../script/api/game/game_cargomonitor.hpp.sq"
|
||||||
|
#include "../script/api/game/game_client.hpp.sq"
|
||||||
|
#include "../script/api/game/game_clientlist.hpp.sq"
|
||||||
#include "../script/api/game/game_company.hpp.sq"
|
#include "../script/api/game/game_company.hpp.sq"
|
||||||
#include "../script/api/game/game_companymode.hpp.sq"
|
#include "../script/api/game/game_companymode.hpp.sq"
|
||||||
#include "../script/api/game/game_controller.hpp.sq"
|
#include "../script/api/game/game_controller.hpp.sq"
|
||||||
@@ -122,6 +124,9 @@ void GameInstance::RegisterAPI()
|
|||||||
SQGSCargoList_IndustryProducing_Register(this->engine);
|
SQGSCargoList_IndustryProducing_Register(this->engine);
|
||||||
SQGSCargoList_StationAccepting_Register(this->engine);
|
SQGSCargoList_StationAccepting_Register(this->engine);
|
||||||
SQGSCargoMonitor_Register(this->engine);
|
SQGSCargoMonitor_Register(this->engine);
|
||||||
|
SQGSClient_Register(this->engine);
|
||||||
|
SQGSClientList_Register(this->engine);
|
||||||
|
SQGSClientList_Company_Register(this->engine);
|
||||||
SQGSCompany_Register(this->engine);
|
SQGSCompany_Register(this->engine);
|
||||||
SQGSCompanyMode_Register(this->engine);
|
SQGSCompanyMode_Register(this->engine);
|
||||||
SQGSDate_Register(this->engine);
|
SQGSDate_Register(this->engine);
|
||||||
|
@@ -594,12 +594,12 @@ static inline void GetLayouter(Layouter::LineCacheItem &line, const char *&str,
|
|||||||
break;
|
break;
|
||||||
} else if (c >= SCC_BLUE && c <= SCC_BLACK) {
|
} else if (c >= SCC_BLUE && c <= SCC_BLACK) {
|
||||||
state.SetColour((TextColour)(c - SCC_BLUE));
|
state.SetColour((TextColour)(c - SCC_BLUE));
|
||||||
} else if (c == SCC_PREVIOUS_COLOUR) { // Revert to the previous colour.
|
} else if (c == SCC_PUSH_COLOUR) {
|
||||||
state.SetPreviousColour();
|
state.PushColour();
|
||||||
} else if (c == SCC_TINYFONT) {
|
} else if (c == SCC_POP_COLOUR) {
|
||||||
state.SetFontSize(FS_SMALL);
|
state.PopColour();
|
||||||
} else if (c == SCC_BIGFONT) {
|
} else if (c >= SCC_FIRST_FONT && c <= SCC_LAST_FONT) {
|
||||||
state.SetFontSize(FS_LARGE);
|
state.SetFontSize((FontSize)(c - SCC_FIRST_FONT));
|
||||||
} else {
|
} else {
|
||||||
/* Filter out text direction characters that shouldn't be drawn, and
|
/* Filter out text direction characters that shouldn't be drawn, and
|
||||||
* will not be handled in the fallback non ICU case because they are
|
* will not be handled in the fallback non ICU case because they are
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <stack>
|
||||||
|
|
||||||
#ifdef WITH_ICU_LAYOUT
|
#ifdef WITH_ICU_LAYOUT
|
||||||
#include "layout/ParagraphLayout.h"
|
#include "layout/ParagraphLayout.h"
|
||||||
@@ -33,10 +34,11 @@
|
|||||||
struct FontState {
|
struct FontState {
|
||||||
FontSize fontsize; ///< Current font size.
|
FontSize fontsize; ///< Current font size.
|
||||||
TextColour cur_colour; ///< Current text colour.
|
TextColour cur_colour; ///< Current text colour.
|
||||||
TextColour prev_colour; ///< Text colour from before the last colour switch.
|
|
||||||
|
|
||||||
FontState() : fontsize(FS_END), cur_colour(TC_INVALID), prev_colour(TC_INVALID) {}
|
std::stack<TextColour> colour_stack; ///< Stack of colours to assist with colour switching.
|
||||||
FontState(TextColour colour, FontSize fontsize) : fontsize(fontsize), cur_colour(colour), prev_colour(colour) {}
|
|
||||||
|
FontState() : fontsize(FS_END), cur_colour(TC_INVALID) {}
|
||||||
|
FontState(TextColour colour, FontSize fontsize) : fontsize(fontsize), cur_colour(colour) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Switch to new colour \a c.
|
* Switch to new colour \a c.
|
||||||
@@ -45,14 +47,25 @@ struct FontState {
|
|||||||
inline void SetColour(TextColour c)
|
inline void SetColour(TextColour c)
|
||||||
{
|
{
|
||||||
assert(c >= TC_BLUE && c <= TC_BLACK);
|
assert(c >= TC_BLUE && c <= TC_BLACK);
|
||||||
this->prev_colour = this->cur_colour;
|
|
||||||
this->cur_colour = c;
|
this->cur_colour = c;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Switch to previous colour. */
|
/**
|
||||||
inline void SetPreviousColour()
|
* Switch to and pop the last saved colour on the stack.
|
||||||
|
*/
|
||||||
|
inline void PopColour()
|
||||||
{
|
{
|
||||||
Swap(this->cur_colour, this->prev_colour);
|
if (colour_stack.empty()) return;
|
||||||
|
SetColour(colour_stack.top());
|
||||||
|
colour_stack.pop();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Push the current colour on to the stack.
|
||||||
|
*/
|
||||||
|
inline void PushColour()
|
||||||
|
{
|
||||||
|
colour_stack.push(this->cur_colour);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -149,7 +162,7 @@ class Layouter : public AutoDeleteSmallVector<const ParagraphLayouter::Line *, 4
|
|||||||
{
|
{
|
||||||
if (this->state_before.fontsize != other.state_before.fontsize) return this->state_before.fontsize < other.state_before.fontsize;
|
if (this->state_before.fontsize != other.state_before.fontsize) return this->state_before.fontsize < other.state_before.fontsize;
|
||||||
if (this->state_before.cur_colour != other.state_before.cur_colour) return this->state_before.cur_colour < other.state_before.cur_colour;
|
if (this->state_before.cur_colour != other.state_before.cur_colour) return this->state_before.cur_colour < other.state_before.cur_colour;
|
||||||
if (this->state_before.prev_colour != other.state_before.prev_colour) return this->state_before.prev_colour < other.state_before.prev_colour;
|
if (this->state_before.colour_stack != other.state_before.colour_stack) return this->state_before.colour_stack < other.state_before.colour_stack;
|
||||||
return this->str < other.str;
|
return this->str < other.str;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@@ -139,7 +139,7 @@ void CheckExternalFiles()
|
|||||||
|
|
||||||
if (used_set->GetNumInvalid() != 0) {
|
if (used_set->GetNumInvalid() != 0) {
|
||||||
/* Not all files were loaded successfully, see which ones */
|
/* Not all files were loaded successfully, see which ones */
|
||||||
add_pos += seprintf(add_pos, last, "Trying to load graphics set '%s', but it is incomplete. The game will probably not run correctly until you properly install this set or select another one. See section 4.1 of readme.txt.\n\nThe following files are corrupted or missing:\n", used_set->name);
|
add_pos += seprintf(add_pos, last, "Trying to load graphics set '%s', but it is incomplete. The game will probably not run correctly until you properly install this set or select another one. See section 4.1 of README.md.\n\nThe following files are corrupted or missing:\n", used_set->name);
|
||||||
for (uint i = 0; i < GraphicsSet::NUM_FILES; i++) {
|
for (uint i = 0; i < GraphicsSet::NUM_FILES; i++) {
|
||||||
MD5File::ChecksumResult res = GraphicsSet::CheckMD5(&used_set->files[i], BASESET_DIR);
|
MD5File::ChecksumResult res = GraphicsSet::CheckMD5(&used_set->files[i], BASESET_DIR);
|
||||||
if (res != MD5File::CR_MATCH) add_pos += seprintf(add_pos, last, "\t%s is %s (%s)\n", used_set->files[i].filename, res == MD5File::CR_MISMATCH ? "corrupt" : "missing", used_set->files[i].missing_warning);
|
if (res != MD5File::CR_MATCH) add_pos += seprintf(add_pos, last, "\t%s is %s (%s)\n", used_set->files[i].filename, res == MD5File::CR_MISMATCH ? "corrupt" : "missing", used_set->files[i].missing_warning);
|
||||||
@@ -149,7 +149,7 @@ void CheckExternalFiles()
|
|||||||
|
|
||||||
const SoundsSet *sounds_set = BaseSounds::GetUsedSet();
|
const SoundsSet *sounds_set = BaseSounds::GetUsedSet();
|
||||||
if (sounds_set->GetNumInvalid() != 0) {
|
if (sounds_set->GetNumInvalid() != 0) {
|
||||||
add_pos += seprintf(add_pos, last, "Trying to load sound set '%s', but it is incomplete. The game will probably not run correctly until you properly install this set or select another one. See section 4.1 of readme.txt.\n\nThe following files are corrupted or missing:\n", sounds_set->name);
|
add_pos += seprintf(add_pos, last, "Trying to load sound set '%s', but it is incomplete. The game will probably not run correctly until you properly install this set or select another one. See section 4.1 of README.md.\n\nThe following files are corrupted or missing:\n", sounds_set->name);
|
||||||
|
|
||||||
assert_compile(SoundsSet::NUM_FILES == 1);
|
assert_compile(SoundsSet::NUM_FILES == 1);
|
||||||
/* No need to loop each file, as long as there is only a single
|
/* No need to loop each file, as long as there is only a single
|
||||||
|
@@ -66,7 +66,6 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> {
|
|||||||
Date last_cargo_accepted_at; ///< Last day cargo was accepted by this industry
|
Date last_cargo_accepted_at; ///< Last day cargo was accepted by this industry
|
||||||
byte selected_layout; ///< Which tile layout was used when creating the industry
|
byte selected_layout; ///< Which tile layout was used when creating the industry
|
||||||
|
|
||||||
byte random_triggers; ///< Triggers for the random
|
|
||||||
uint16 random; ///< Random value used for randomisation of all kinds of things
|
uint16 random; ///< Random value used for randomisation of all kinds of things
|
||||||
|
|
||||||
PersistentStorage *psa; ///< Persistent storage for NewGRF industries.
|
PersistentStorage *psa; ///< Persistent storage for NewGRF industries.
|
||||||
|
@@ -491,7 +491,12 @@ static CommandCost ClearTile_Industry(TileIndex tile, DoCommandFlag flags)
|
|||||||
return CommandCost(EXPENSES_CONSTRUCTION, indspec->GetRemovalCost());
|
return CommandCost(EXPENSES_CONSTRUCTION, indspec->GetRemovalCost());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void TransportIndustryGoods(TileIndex tile)
|
/**
|
||||||
|
* Move produced cargo from industry to nearby stations.
|
||||||
|
* @param tile Industry tile
|
||||||
|
* @return true if any cargo was moved.
|
||||||
|
*/
|
||||||
|
static bool TransportIndustryGoods(TileIndex tile)
|
||||||
{
|
{
|
||||||
Industry *i = Industry::GetByTile(tile);
|
Industry *i = Industry::GetByTile(tile);
|
||||||
const IndustrySpec *indspec = GetIndustrySpec(i->type);
|
const IndustrySpec *indspec = GetIndustrySpec(i->type);
|
||||||
@@ -516,16 +521,7 @@ static void TransportIndustryGoods(TileIndex tile)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (moved_cargo && !StartStopIndustryTileAnimation(i, IAT_INDUSTRY_DISTRIBUTES_CARGO)) {
|
return moved_cargo;
|
||||||
uint newgfx = GetIndustryTileSpec(GetIndustryGfx(tile))->anim_production;
|
|
||||||
|
|
||||||
if (newgfx != INDUSTRYTILE_NOANIM) {
|
|
||||||
ResetIndustryConstructionStage(tile);
|
|
||||||
SetIndustryCompleted(tile);
|
|
||||||
SetIndustryGfx(tile, newgfx);
|
|
||||||
MarkTileDirtyByTile(tile);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -810,7 +806,17 @@ static void TileLoop_Industry(TileIndex tile)
|
|||||||
|
|
||||||
if (_game_mode == GM_EDITOR) return;
|
if (_game_mode == GM_EDITOR) return;
|
||||||
|
|
||||||
TransportIndustryGoods(tile);
|
if (TransportIndustryGoods(tile) && !StartStopIndustryTileAnimation(Industry::GetByTile(tile), IAT_INDUSTRY_DISTRIBUTES_CARGO)) {
|
||||||
|
uint newgfx = GetIndustryTileSpec(GetIndustryGfx(tile))->anim_production;
|
||||||
|
|
||||||
|
if (newgfx != INDUSTRYTILE_NOANIM) {
|
||||||
|
ResetIndustryConstructionStage(tile);
|
||||||
|
SetIndustryCompleted(tile);
|
||||||
|
SetIndustryGfx(tile, newgfx);
|
||||||
|
MarkTileDirtyByTile(tile);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (StartStopIndustryTileAnimation(tile, IAT_TILELOOP)) return;
|
if (StartStopIndustryTileAnimation(tile, IAT_TILELOOP)) return;
|
||||||
|
|
||||||
|
@@ -777,37 +777,30 @@ public:
|
|||||||
y += FONT_HEIGHT_NORMAL;
|
y += FONT_HEIGHT_NORMAL;
|
||||||
first = false;
|
first = false;
|
||||||
}
|
}
|
||||||
switch (cargo_suffix[j].display) {
|
|
||||||
case CSD_CARGO_AMOUNT:
|
|
||||||
if (stockpiling) {
|
|
||||||
SetDParam(0, i->accepts_cargo[j]);
|
|
||||||
SetDParam(1, i->incoming_cargo_waiting[j]);
|
|
||||||
DrawString(left_side, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
FALLTHROUGH;
|
|
||||||
|
|
||||||
case CSD_CARGO:
|
|
||||||
SetDParam(0, CargoSpec::Get(i->accepts_cargo[j])->name);
|
SetDParam(0, CargoSpec::Get(i->accepts_cargo[j])->name);
|
||||||
DrawString(left_side, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_ACCEPT_CARGO);
|
SetDParam(1, i->accepts_cargo[j]);
|
||||||
|
SetDParam(2, i->incoming_cargo_waiting[j]);
|
||||||
|
SetDParamStr(3, "");
|
||||||
|
StringID str = STR_NULL;
|
||||||
|
switch (cargo_suffix[j].display) {
|
||||||
|
case CSD_CARGO_AMOUNT_TEXT:
|
||||||
|
SetDParamStr(3, cargo_suffix[j].text);
|
||||||
|
FALLTHROUGH;
|
||||||
|
case CSD_CARGO_AMOUNT:
|
||||||
|
str = stockpiling ? STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT : STR_INDUSTRY_VIEW_ACCEPT_CARGO;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CSD_CARGO_TEXT:
|
case CSD_CARGO_TEXT:
|
||||||
SetDParam(0, CargoSpec::Get(i->accepts_cargo[j])->name);
|
SetDParamStr(3, cargo_suffix[j].text);
|
||||||
SetDParamStr(1, cargo_suffix[j].text);
|
FALLTHROUGH;
|
||||||
DrawString(left_side, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT);
|
case CSD_CARGO:
|
||||||
break;
|
str = STR_INDUSTRY_VIEW_ACCEPT_CARGO;
|
||||||
|
|
||||||
case CSD_CARGO_AMOUNT_TEXT:
|
|
||||||
SetDParam(0, i->accepts_cargo[j]);
|
|
||||||
SetDParam(1, i->incoming_cargo_waiting[j]);
|
|
||||||
SetDParamStr(2, cargo_suffix[j].text);
|
|
||||||
DrawString(left_side, right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
NOT_REACHED();
|
NOT_REACHED();
|
||||||
}
|
}
|
||||||
|
DrawString(left_side, right - WD_FRAMERECT_RIGHT, y, str);
|
||||||
y += FONT_HEIGHT_NORMAL;
|
y += FONT_HEIGHT_NORMAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -2688,7 +2688,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Maatskappy-besi
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}Oor OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}Oor OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Oorspronklike kopiereg {COPYRIGHT} 1995 Chris Sawyer, Alle regte voorbehou
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Oorspronklike kopiereg {COPYRIGHT} 1995 Chris Sawyer, Alle regte voorbehou
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD uitgawe {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD uitgawe {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Die OpenTTD span
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Die OpenTTD span
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spaar Spel
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spaar Spel
|
||||||
|
@@ -2320,7 +2320,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :ارض مملو
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}حول النسخة المفتوحة
|
STR_ABOUT_OPENTTD :{WHITE}حول النسخة المفتوحة
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}الحقوق الاصلية {COPYRIGHT} كريس سوير 1995 , جميع الحقوق محفوظة
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}الحقوق الاصلية {COPYRIGHT} كريس سوير 1995 , جميع الحقوق محفوظة
|
||||||
STR_ABOUT_VERSION :{BLACK}النسخة المفتوحة رقم {REV}
|
STR_ABOUT_VERSION :{BLACK}النسخة المفتوحة رقم {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2017 فريق النسخة المفتوحة
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2018 فريق النسخة المفتوحة
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}حفظ اللعبة
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}حفظ اللعبة
|
||||||
|
@@ -2592,7 +2592,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Konpainia jabe
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD-ri buruz
|
STR_ABOUT_OPENTTD :{WHITE}OpenTTD-ri buruz
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD bertsioa {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD bertsioa {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gordetako jokoa
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gordetako jokoa
|
||||||
|
@@ -598,7 +598,7 @@ STR_SORT_BY_TYPE :Тып
|
|||||||
STR_SORT_BY_TRANSPORTED :Вывезена
|
STR_SORT_BY_TRANSPORTED :Вывезена
|
||||||
STR_SORT_BY_NUMBER :Нумар
|
STR_SORT_BY_NUMBER :Нумар
|
||||||
STR_SORT_BY_PROFIT_LAST_YEAR :Прыбытак летась
|
STR_SORT_BY_PROFIT_LAST_YEAR :Прыбытак летась
|
||||||
STR_SORT_BY_PROFIT_THIS_YEAR :Прыбытак у бягучым годзе
|
STR_SORT_BY_PROFIT_THIS_YEAR :Прыбытак сёлета
|
||||||
STR_SORT_BY_AGE :Узрост
|
STR_SORT_BY_AGE :Узрост
|
||||||
STR_SORT_BY_RELIABILITY :Надзейнасьць
|
STR_SORT_BY_RELIABILITY :Надзейнасьць
|
||||||
STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Умяшчальнасьць грузу
|
STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Умяшчальнасьць грузу
|
||||||
@@ -1685,6 +1685,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :выключа
|
|||||||
|
|
||||||
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Скролінг па кліку левай кнопкай мышы: {STRING}
|
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Скролінг па кліку левай кнопкай мышы: {STRING}
|
||||||
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Уключыць пракручваньне мапы цягненьнем з націснутай левай кнопкай мышы. Гэта асабліва зручна пры выкарыстоўваньні сэнсарнага экрана.
|
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Уключыць пракручваньне мапы цягненьнем з націснутай левай кнопкай мышы. Гэта асабліва зручна пры выкарыстоўваньні сэнсарнага экрана.
|
||||||
|
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Зачыняць вокны пстрычкай ПКМ: {STRING}
|
||||||
|
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Зачыняць акно пстрычкай правай кнопкай мышы ў яго межах. Пры гэтым адключаецца з'яўленне падказак па правай кнопцы.
|
||||||
|
|
||||||
STR_CONFIG_SETTING_AUTOSAVE :Аўтазахаваньні: {STRING}
|
STR_CONFIG_SETTING_AUTOSAVE :Аўтазахаваньні: {STRING}
|
||||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Азначце інтэрвал паміж аўтаматычнымі захаваньнямі
|
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Азначце інтэрвал паміж аўтаматычнымі захаваньнямі
|
||||||
@@ -2074,6 +2076,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Прав
|
|||||||
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Зьмяніць наладкі ШІ ды гульнёвага скрыпту
|
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Зьмяніць наладкі ШІ ды гульнёвага скрыпту
|
||||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Выйсьці з OpenTTD
|
STR_INTRO_TOOLTIP_QUIT :{BLACK}Выйсьці з OpenTTD
|
||||||
|
|
||||||
|
STR_INTRO_BASESET :{BLACK}У абраным наборы базавай графікі адсутнічае {NUM} спрайт{P "" а аў}. Калі ласка, абнавіце набор графікі.
|
||||||
STR_INTRO_TRANSLATION :{BLACK}На гэту мову не перакладзен{P 0 ы ы а} {NUM} рад{P ок кі коў}. Вы можаце дапамагчы праекту, калi зарэґіструецеся як перакладчык. Інструкцыі ў файле readme.txt.
|
STR_INTRO_TRANSLATION :{BLACK}На гэту мову не перакладзен{P 0 ы ы а} {NUM} рад{P ок кі коў}. Вы можаце дапамагчы праекту, калi зарэґіструецеся як перакладчык. Інструкцыі ў файле readme.txt.
|
||||||
|
|
||||||
# Quit window
|
# Quit window
|
||||||
@@ -2922,6 +2925,7 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Зона
|
|||||||
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Прымае: {LTBLUE}
|
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Прымае: {LTBLUE}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||||
|
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Тып чыгуначнага палатна: {LTBLUE}{STRING}
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Макс. хуткасьць чыгункi: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Макс. хуткасьць чыгункi: {LTBLUE}{VELOCITY}
|
||||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Макс. хуткасьць аўтамабіляў: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Макс. хуткасьць аўтамабіляў: {LTBLUE}{VELOCITY}
|
||||||
|
|
||||||
@@ -2934,29 +2938,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Палi
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Засьнежаная зямля
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Засьнежаная зямля
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Пустэльня
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Пустэльня
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :Чыгунка рэйкi
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Чыгуначны пуць
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Чыгунка рэйкi са звычайнымі сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Чыгуначны пуць з сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Чыгунка рэйкi з уваходнымі прэсыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Чыгуначны пуць з уваходнымі сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Чыгунка рэйкi з выхаднымi сыґналамi (прэсыґналамі)
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Чыгуначны пуць з выходнымі сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Чыгунка рэйкi з камбiнаванымi сыґналамi (прэсыґналамі)
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Чыгуначны пуць з камбінаванымі сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Чыгунка рэйкi з маршрутнымi (PMS) сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Чыгуначны пуць з маршрутнымі сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Чыгунка рэйкi з аднабаковымi маршрутнымi (PMS) сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Чыгуначны пуць з аднабаковымі маршрутнымі сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Чыгунка рэйкi са звычайнымi й уваходнымі прэсыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Чыгуначны пуць са звычайным і ўваходным сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Чыгунка рэйкi са звычайнымi й выхаднымi сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Чыгуначны пуць са звычайным і выходным сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Чыгунка рэйкi са звычайнымi й камбiнаванымi сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Чыгуначны пуць са звычайнымі й камбінаванымі сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Чыгунка рэйкi са звычайнымi й маршрутнымi (PMS) сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Чыгуначны пуць са звычайнымі і маршрутнымі сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Чыгунка рэйкi са звычайнымi й аднабаковымi маршрутнымi (PMS) сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Чыгуначны пуць са звычайным і аднабаковым маршрутным сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Чыгунка рэйкi з уваходнымi (прэcыгналамi) ды выхаднымi сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Чыгуначны пуць з уваходным і выходным сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Чыгунка рэйкi з уваходнымi (прэсыґналамi) ды камбiнаванымi сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Чыгуначны пуць з уваходным і камбінаваным сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Чыгунка рэйкi з уваходнымi (прэсыґналамi) ды маршрутнымi (PMS) сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Чыгуначны пуць з выходным і маршрутным сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Чыгунка рэйкi з уваходнымi (прэсыґналамi) ды аднабаковымi маршрутнымi (PMS) сыґналамi
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Чыгуначны пуць з уваходным і аднабаковым маршрутным сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Чыгунка рэйкi з выхаднымi й камбінаванымі прэсыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Чыгуначны пуць з выходнымі й камбінаванымі сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Чыгунка рэйкі з выхаднымі (прэсыґналамі) ды маршрутнымі (PMS) сыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Чыгуначны пуць з выходным і маршрутным сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Чыгунка рэйкі з выхаднымі (прэсыґналамі) ды аднабаковымі маршрутнымі (PMS) сыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Чыгуначны пуць з выходным і аднабаковым маршрутным сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Чыгунка рэйкі з камбінаванымі (прэсыґналамі) ды маршрутнымі (PMS) сыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Чыгуначны пуць з камбінаваным і маршрутным сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Чыгунка рэйкі з камбінаванымі (прэсыґналамі) ды аднабаковымі маршрутнымі (PMS) сыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Чыгуначны пуць з камбінаваным і аднабаковым маршрутным сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Чыгунка рэйкі з маршрутнымі (PMS) ды аднабаковымі маршрутнымі сыґналамі
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Чыгуначны пуць з маршрутным і аднабаковым маршрутным сігналамі
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Чыгунка чыгуначнае дэпо
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Чыгуначнае дэпо
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Дарога
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Дарога
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Дарога з вулічным асьвятленьнем
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Дарога з вулічным асьвятленьнем
|
||||||
@@ -3020,7 +3024,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Зямля на
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}Аб OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}Аб OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Арыґінальныя аўтарскія правы {COPYRIGHT} 1995 Chris Sawyer. Усе правы абароненыя.
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Арыґінальныя аўтарскія правы {COPYRIGHT} 1995 Chris Sawyer. Усе правы абароненыя.
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD вэрсія {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD вэрсія {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002–2017 Каманда распрацоўнікаў OpenTTD
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002–2018 Каманда распрацоўнікаў OpenTTD
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Захаваць гульню
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Захаваць гульню
|
||||||
@@ -3625,6 +3629,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Патр
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Патрабуецца: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Патрабуецца: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
|
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Патрабуецца:
|
||||||
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
|
||||||
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} чакае{STRING}
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Вырабляе: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Вырабляе: {YELLOW}{STRING}{STRING}
|
||||||
@@ -3645,7 +3652,7 @@ STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Аўта
|
|||||||
STR_VEHICLE_LIST_SHIP_TOOLTIP :{BLACK}Караблi: клікніце для атрыманьня даведкі
|
STR_VEHICLE_LIST_SHIP_TOOLTIP :{BLACK}Караблi: клікніце для атрыманьня даведкі
|
||||||
STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Самалёты: клікніце для атрыманьня даведкі
|
STR_VEHICLE_LIST_AIRCRAFT_TOOLTIP :{BLACK}Самалёты: клікніце для атрыманьня даведкі
|
||||||
|
|
||||||
STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Прыбытак у гэтым годзе: {CURRENCY_LONG} (летась: {CURRENCY_LONG})
|
STR_VEHICLE_LIST_PROFIT_THIS_YEAR_LAST_YEAR :{TINY_FONT}{BLACK}Прыбытак сёлета: {CURRENCY_LONG} (летась: {CURRENCY_LONG})
|
||||||
|
|
||||||
STR_VEHICLE_LIST_AVAILABLE_TRAINS :Даступныя цягнiкi
|
STR_VEHICLE_LIST_AVAILABLE_TRAINS :Даступныя цягнiкi
|
||||||
STR_VEHICLE_LIST_AVAILABLE_ROAD_VEHICLES :Даступныя аўтамабiлi
|
STR_VEHICLE_LIST_AVAILABLE_ROAD_VEHICLES :Даступныя аўтамабiлi
|
||||||
@@ -3693,6 +3700,10 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Выдаліц
|
|||||||
|
|
||||||
STR_GROUP_RENAME_CAPTION :{BLACK}Перайменаваць групу
|
STR_GROUP_RENAME_CAPTION :{BLACK}Перайменаваць групу
|
||||||
|
|
||||||
|
STR_GROUP_PROFIT_THIS_YEAR :Прыбытак сёлета:
|
||||||
|
STR_GROUP_PROFIT_LAST_YEAR :Прыбытак летась:
|
||||||
|
STR_GROUP_OCCUPANCY :Сярэдняя загрузка ТС:
|
||||||
|
STR_GROUP_OCCUPANCY_VALUE :{NUM}%
|
||||||
|
|
||||||
# Build vehicle window
|
# Build vehicle window
|
||||||
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Новы цягнік
|
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Новы цягнік
|
||||||
@@ -3725,6 +3736,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Усе тыпы
|
|||||||
STR_PURCHASE_INFO_ALL_BUT :Усё, акрамя {CARGO_LIST}
|
STR_PURCHASE_INFO_ALL_BUT :Усё, акрамя {CARGO_LIST}
|
||||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}Макс. цягавае намаганьне: {GOLD}{FORCE}
|
STR_PURCHASE_INFO_MAX_TE :{BLACK}Макс. цягавае намаганьне: {GOLD}{FORCE}
|
||||||
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Далёкасьць: {GOLD}{COMMA} клет{P ка кi ак}
|
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Далёкасьць: {GOLD}{COMMA} клет{P ка кi ак}
|
||||||
|
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Тып паветр. судна: {GOLD}{STRING}
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Сьпіс лакаматываў і вагонаў - пстрыкніце для атрыманьня інфармацыі. Ctrl+пстрычка схавае/пакажа ТС.
|
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Сьпіс лакаматываў і вагонаў - пстрыкніце для атрыманьня інфармацыі. Ctrl+пстрычка схавае/пакажа ТС.
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Сьпіс аўтатранспарту - пстрыкніце для атрыманьня інфармацыі. Ctrl+пстрычка схавае/пакажа выбраны аўтамабіль.
|
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Сьпіс аўтатранспарту - пстрыкніце для атрыманьня інфармацыі. Ctrl+пстрычка схавае/пакажа выбраны аўтамабіль.
|
||||||
@@ -3871,6 +3883,10 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE.acc :магніта
|
|||||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Кошт: {CURRENCY_LONG} Вага: {WEIGHT_SHORT}{}Хуткасьць: {VELOCITY} Магутнасьць: {POWER}{}Кошт абслуг.: {CURRENCY_LONG}/год{}Ёмістасьць: {CARGO_LONG}
|
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Кошт: {CURRENCY_LONG} Вага: {WEIGHT_SHORT}{}Хуткасьць: {VELOCITY} Магутнасьць: {POWER}{}Кошт абслуг.: {CURRENCY_LONG}/год{}Ёмістасьць: {CARGO_LONG}
|
||||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Кошт: {CURRENCY_LONG} Вага: {WEIGHT_SHORT}{}Хуткасьць: {VELOCITY} Магутнасьць: {POWER} Макс. ЦН: {6:FORCE}{}Кошт абслуг.: {4:CURRENCY_LONG}/год{}Ёмістасьць: {5:CARGO_LONG}
|
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Кошт: {CURRENCY_LONG} Вага: {WEIGHT_SHORT}{}Хуткасьць: {VELOCITY} Магутнасьць: {POWER} Макс. ЦН: {6:FORCE}{}Кошт абслуг.: {4:CURRENCY_LONG}/год{}Ёмістасьць: {5:CARGO_LONG}
|
||||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Кошт: {CURRENCY_LONG} Макс. хуткасьць: {VELOCITY}{}Ёмістасьць: {CARGO_LONG}{}Кошт абслуг.: {CURRENCY_LONG}/год
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Кошт: {CURRENCY_LONG} Макс. хуткасьць: {VELOCITY}{}Ёмістасьць: {CARGO_LONG}{}Кошт абслуг.: {CURRENCY_LONG}/год
|
||||||
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Кошт: {CURRENCY_LONG} Макс. хуткасць: {VELOCITY}{}Тып: {STRING}{}Ёмістасць: {CARGO_LONG}, {CARGO_LONG}{}Кошт абслуг.: {CURRENCY_LONG}/год
|
||||||
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Кошт: {CURRENCY_LONG} Макс. хуткасць: {VELOCITY}{}Тып: {STRING}{}Ёмістасць: {CARGO_LONG}{}Кошт абслуг.: {CURRENCY_LONG}/год
|
||||||
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Кошт: {CURRENCY_LONG} Макс. хуткасць: {VELOCITY}{}Тып: {STRING} Далёкасць: {COMMA} клетак{}Ёмістасць: {CARGO_LONG}, {CARGO_LONG}{}Кошт абслуг.: {CURRENCY_LONG}/год
|
||||||
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Кошт: {CURRENCY_LONG} Макс. хуткасць: {VELOCITY}{}Тып: {STRING} Далёкасць: {COMMA} клетак{}Ёмістасць: {CARGO_LONG}{}Кошт абслуг.: {CURRENCY_LONG}/год
|
||||||
|
|
||||||
# Autoreplace window
|
# Autoreplace window
|
||||||
STR_REPLACE_VEHICLES_WHITE :{WHITE}Замена {STRING.gen} — {STRING}
|
STR_REPLACE_VEHICLES_WHITE :{WHITE}Замена {STRING.gen} — {STRING}
|
||||||
@@ -3908,6 +3924,7 @@ STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Спын
|
|||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Пераключэньне паміж вокнамі замены лякаматываў і ваґонаў
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Пераключэньне паміж вокнамі замены лякаматываў і ваґонаў
|
||||||
STR_REPLACE_ENGINES :Лякаматывы
|
STR_REPLACE_ENGINES :Лякаматывы
|
||||||
STR_REPLACE_WAGONS :Ваґоны
|
STR_REPLACE_WAGONS :Ваґоны
|
||||||
|
STR_REPLACE_ALL_RAILTYPE :Увесь чыгуначны транспарт
|
||||||
|
|
||||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Выберыце тып чыгуначнага транспарту, цягнікі якога жадаеце замяніць
|
STR_REPLACE_HELP_RAILTYPE :{BLACK}Выберыце тып чыгуначнага транспарту, цягнікі якога жадаеце замяніць
|
||||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}На які транспарт адбываецца замена
|
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}На які транспарт адбываецца замена
|
||||||
@@ -4000,10 +4017,12 @@ STR_VEHICLE_INFO_AGE :{COMMA} г{P о
|
|||||||
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} г{P од ады адоў} ({COMMA})
|
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} г{P од ады адоў} ({COMMA})
|
||||||
|
|
||||||
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Макс. хуткасьць: {LTBLUE}{VELOCITY}
|
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Макс. хуткасьць: {LTBLUE}{VELOCITY}
|
||||||
|
STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Макс. хуткасць: {LTBLUE}{VELOCITY} {BLACK}Тып паветр. судна: {LTBLUE}{STRING}
|
||||||
|
STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Макс. хуткасць: {LTBLUE}{VELOCITY} {BLACK}Тып: {LTBLUE}{STRING} {BLACK}Далёкасць: {LTBLUE}{COMMA} клетак
|
||||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Вага: {LTBLUE}{WEIGHT_SHORT} {BLACK}Магутнасьць: {LTBLUE}{POWER}{BLACK} Макс. хуткасьць: {LTBLUE}{VELOCITY}
|
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Вага: {LTBLUE}{WEIGHT_SHORT} {BLACK}Магутнасьць: {LTBLUE}{POWER}{BLACK} Макс. хуткасьць: {LTBLUE}{VELOCITY}
|
||||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Вага: {LTBLUE}{WEIGHT_SHORT} {BLACK}Магутнасьць: {LTBLUE}{POWER}{BLACK} Макс. хуткасьць: {LTBLUE}{VELOCITY} {BLACK}Макс. ЦН: {LTBLUE}{FORCE}
|
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Вага: {LTBLUE}{WEIGHT_SHORT} {BLACK}Магутнасьць: {LTBLUE}{POWER}{BLACK} Макс. хуткасьць: {LTBLUE}{VELOCITY} {BLACK}Макс. ЦН: {LTBLUE}{FORCE}
|
||||||
|
|
||||||
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Прыбытак ў гэтым годзе: {LTBLUE}{CURRENCY_LONG} (летась: {CURRENCY_LONG})
|
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Прыбытак сёлета: {LTBLUE}{CURRENCY_LONG} (летась: {CURRENCY_LONG})
|
||||||
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Надзейнасьць: {LTBLUE}{COMMA}% {BLACK}Паломак з апошняга агляду: {LTBLUE}{COMMA}
|
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Надзейнасьць: {LTBLUE}{COMMA}% {BLACK}Паломак з апошняга агляду: {LTBLUE}{COMMA}
|
||||||
|
|
||||||
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Пабудаваны ў: {LTBLUE}{NUM} г.{BLACK} Кошт: {LTBLUE}{CURRENCY_LONG}
|
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Пабудаваны ў: {LTBLUE}{NUM} г.{BLACK} Кошт: {LTBLUE}{CURRENCY_LONG}
|
||||||
|
@@ -1286,8 +1286,8 @@ STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Aguardar {COMMA
|
|||||||
STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Botão direito
|
STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Botão direito
|
||||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL :Exibir população da cidade na janela da cidade: {STRING}
|
STR_CONFIG_SETTING_POPULATION_IN_LABEL :Exibir população da cidade na janela da cidade: {STRING}
|
||||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Exibe a população das cidades nos nomes, no mapa
|
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Exibe a população das cidades nos nomes, no mapa
|
||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Grossura das linhas nos gráficos: {STRING}
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Espessura das linhas nos gráficos: {STRING}
|
||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Grossura da linha nos gráficos. Linhas finas são mais precisas, enquanto linhas grossas são mais fáceis de distinguir.
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Espessura da linha nos gráficos. Linhas finas são mais precisas, enquanto linhas grossas são mais fáceis de distinguir.
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LANDSCAPE :Terreno: {STRING}
|
STR_CONFIG_SETTING_LANDSCAPE :Terreno: {STRING}
|
||||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :O terreno define a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das cidades. NewGRF's e Scripts de Jogo permitem um controle mais fino
|
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :O terreno define a jogabilidade básica com diferentes cargas e requerimentos para o crescimento das cidades. NewGRF's e Scripts de Jogo permitem um controle mais fino
|
||||||
@@ -1373,6 +1373,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Desligado
|
|||||||
|
|
||||||
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Mover a tela com o botão esquerdo: {STRING}
|
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Mover a tela com o botão esquerdo: {STRING}
|
||||||
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Ativa rolamento do mapa por clique e arraste com o botão esquerdo. Especialmente útil ao usar um touchscreen para o rolamento
|
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Ativa rolamento do mapa por clique e arraste com o botão esquerdo. Especialmente útil ao usar um touchscreen para o rolamento
|
||||||
|
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Fechar janela com botão direito do mouse: {STRING}
|
||||||
|
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Fecha uma janela ao clicar com o botão direito do mouse nela. Desativa o tooltip com o botão direito!
|
||||||
|
|
||||||
STR_CONFIG_SETTING_AUTOSAVE :Auto-salvar: {STRING}
|
STR_CONFIG_SETTING_AUTOSAVE :Auto-salvar: {STRING}
|
||||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selecione intervalo entre jogos salvos automaticamente
|
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Selecione intervalo entre jogos salvos automaticamente
|
||||||
@@ -1536,12 +1538,12 @@ STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Exibe uma janel
|
|||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Tipo de sinal a ser construído: {STRING}
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Tipo de sinal a ser construído: {STRING}
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Tipo padrão de sinal a se utilizar
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Tipo padrão de sinal a se utilizar
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Normal
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Normal
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :Avançado
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :De trajeto
|
||||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :Avançado de mão única
|
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :De trajeto de mão única
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Tipo de sinal a ser exibido: {STRING}
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Tipo de sinal a ser exibido: {STRING}
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Seleciona quais tipos de sinal a exibir, quando Ctrl+Clicar em Construir Sinais com a ferramenta Sinal
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Seleciona quais tipos de sinal a exibir, quando Ctrl+Clicar em Construir Sinais com a ferramenta Sinal
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :Normal apenas
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :Normal apenas
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :Avançados apenas
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :De trajeto apenas
|
||||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Todos
|
STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Todos
|
||||||
|
|
||||||
STR_CONFIG_SETTING_TOWN_LAYOUT :Disposição de ruas para novas cidades: {STRING}
|
STR_CONFIG_SETTING_TOWN_LAYOUT :Disposição de ruas para novas cidades: {STRING}
|
||||||
@@ -1762,6 +1764,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Checar p
|
|||||||
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Exibe configurações de IA e script do jogo
|
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Exibe configurações de IA e script do jogo
|
||||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Sair do 'OpenTTD'
|
STR_INTRO_TOOLTIP_QUIT :{BLACK}Sair do 'OpenTTD'
|
||||||
|
|
||||||
|
STR_INTRO_BASESET :{BLACK}Faltam {NUM} "sprite{P "" s}" no conjunto de gráficos base selecionado. Por favor verifique se há atualizações para ele.
|
||||||
STR_INTRO_TRANSLATION :{BLACK}Faltam {NUM} string{P "" s} nessa tradução. Por favor faça o OpenTTD melhor se inscrevendo como tradutor. Leia Readme.txt para mais detalhes.
|
STR_INTRO_TRANSLATION :{BLACK}Faltam {NUM} string{P "" s} nessa tradução. Por favor faça o OpenTTD melhor se inscrevendo como tradutor. Leia Readme.txt para mais detalhes.
|
||||||
|
|
||||||
# Quit window
|
# Quit window
|
||||||
@@ -2358,14 +2361,14 @@ STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Sinais p
|
|||||||
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (semáforo){}Verde enquanto haja um ou mais sinais de saída verdes na atual seção dos trilhos. Do contrário, mostra vermelho
|
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (semáforo){}Verde enquanto haja um ou mais sinais de saída verdes na atual seção dos trilhos. Do contrário, mostra vermelho
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Sinal de saída (semáforo){}Funciona como um sinal normal, porém é necessário para o funcionamento correto do sistema de pré-sinais combo ou de entrada
|
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Sinal de saída (semáforo){}Funciona como um sinal normal, porém é necessário para o funcionamento correto do sistema de pré-sinais combo ou de entrada
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Sinal combo (semáforo){}O sinal combo funciona tanto como um sinal de entrada quanto de saída. Permite construir várias ramificações
|
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Sinal combo (semáforo){}O sinal combo funciona tanto como um sinal de entrada quanto de saída. Permite construir várias ramificações
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Sinal avançado(Semáforo){}Um sinal avançado permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal avançado já permite a passada do próximo
|
STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Sinal de trajeto(Semáforo){}Um sinal de trajeto permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal de trajeto já permite a passada do próximo
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Sinal avançado de mão única(Semáforo){}Um sinal avançado permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal avançado já permite a passada do próximo, porém não permite a passagem na via contrária
|
STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Sinal de trajeto de mão única(Semáforo){}Um sinal de trajeto permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal de trajeto já permite a passada do próximo, porém não permite a passagem na via contrária
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Sinal Padrão (elétrico){}Sinais são necessários para impedir que trens batam em redes de ferrovias com mais de uma máquina
|
STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Sinal Padrão (elétrico){}Sinais são necessários para impedir que trens batam em redes de ferrovias com mais de uma máquina
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (elétrico){}Verde enquanto haja um ou mais sinais de saída verdes na atual seção dos trilhos. Do contrário, mostra vermelho
|
STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Sinal de Entrada (elétrico){}Verde enquanto haja um ou mais sinais de saída verdes na atual seção dos trilhos. Do contrário, mostra vermelho
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Sinal de saída(elétrico){}Funciona como um sinal normal, porém é necessário para o funcionamento correto do sistema de pré-sinais combo ou de entrada
|
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Sinal de saída(elétrico){}Funciona como um sinal normal, porém é necessário para o funcionamento correto do sistema de pré-sinais combo ou de entrada
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Sinal Combo (elétrico){}O sinal combo funciona tanto como um sinal de entrada quanto de saída. Permite construir várias ramificações de pré-sinais
|
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Sinal Combo (elétrico){}O sinal combo funciona tanto como um sinal de entrada quanto de saída. Permite construir várias ramificações de pré-sinais
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Sinal de trajeto (Elétrico){}Um sinal de trajeto permite mais de um trem entrar em um bloco de sinal ao mesmo tempo, se o trem puder reservar um trajeto para um ponto seguro de parada. Sinais de trajeto padrões podem ser passados pelo lado de trás
|
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Sinal de trajeto (Elétrico){}Um sinal de trajeto permite mais de um trem entrar em um bloco de sinal ao mesmo tempo, se o trem puder reservar um trajeto para um ponto seguro de parada. Sinais de trajeto padrões podem ser passados pelo lado de trás
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Sinal avançado de mão única(Elétrico){}Um sinal avançado permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal avançado já permite a passada do próximo, porém não permite a passagem na via contrária
|
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Sinal avançado de mão única(Elétrico){}Um sinal de trajeto permite mais de um trem em um bloco de ferrovia, Se o trem no bloco puder reservar um local seguro para parar, o sinal de trajeto já permite a passada do próximo, porém não permite a passagem na via contrária
|
||||||
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converter sinal{}Quando selecionado, clicar num sinal existente converte-o para o tipo selecionado e suas variantes. Ctrl+Clique muda a variante atual. Shift+Clique mostra o preço estimado da conversão
|
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Converter sinal{}Quando selecionado, clicar num sinal existente converte-o para o tipo selecionado e suas variantes. Ctrl+Clique muda a variante atual. Shift+Clique mostra o preço estimado da conversão
|
||||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Densidade dos sinais ao clicar e arrastar
|
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Densidade dos sinais ao clicar e arrastar
|
||||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Diminuir a densidade dos sinais
|
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Diminuir a densidade dos sinais
|
||||||
@@ -2590,6 +2593,7 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Nome da
|
|||||||
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Carga aceita: {LTBLUE}
|
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Carga aceita: {LTBLUE}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||||
|
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Tipo de ferrovia: {LTBLUE}{STRING}
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Velocidade limite do trilho: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Velocidade limite do trilho: {LTBLUE}{VELOCITY}
|
||||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Limite de velocidade da rua: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Limite de velocidade da rua: {LTBLUE}{VELOCITY}
|
||||||
|
|
||||||
@@ -2602,29 +2606,29 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Campos
|
|||||||
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Neve
|
STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Neve
|
||||||
STR_LAI_CLEAR_DESCRIPTION_DESERT :Deserto
|
STR_LAI_CLEAR_DESCRIPTION_DESERT :Deserto
|
||||||
|
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :Trilho de Ferrovia
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Trilho de ferrovia
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Trilho de Ferrovia com sinais normais
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Trilho de ferrovia com sinais normais
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Trilho de Ferrovia com pré-sinais
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Trilho de ferrovia com pré-sinais
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Trilho de Ferrovia com sinais de saída
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Trilho de ferrovia com sinais de saída
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Trilho de Ferrovia com sinais-combo
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Trilho de ferrovia com sinais-combo
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Trilho de Ferrovia com sinais avançados
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Trilho de ferrovia com sinais de trajeto
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Trilhos de Ferrovia com sinais avançados de mão única
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Trilhos de Ferrovia com sinais de trajeto de mão única
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Trilho de Ferrovia com sinais normais e pré-sinais
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Trilho de ferrovia com sinais normais e pré-sinais
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Trilho de Ferrovia com sinais normais e pré-sinais
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Trilho de ferrovia com sinais normais e pré-sinais
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Trilho de Ferrovia com sinais normais e sinais-combo
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Trilho de ferrovia com sinais normais e sinais-combo
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Trilho de Ferrovia com sinais normais e avançados
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Trilho de ferrovia com sinais normais e de trajeto
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Trilho de Ferrovia com sinais normais e avançados de mão única
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Trilho de ferrovia com sinais normais e de trajeto de mão única
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Trilho de Ferrovia com pré-sinais e de saída
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Trilho de ferrovia com pré-sinais e de saída
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Trilho de Ferrovia com pré-sinais e sinais-combo
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Trilho de ferrovia com pré-sinais e sinais-combo
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Trilho de Ferrovia com pré-sinais e sinais avançados
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Trilho de ferrovia com pré-sinais e sinais de trajeto
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Trilho de Ferrovia com pré-sinais e avançados de mão única
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Trilho de ferrovia com pré-sinais de trajeto e de mão única
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Trilho de Ferrovia com sinais de saída e sinais-combo
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Trilho de ferrovia com sinais de saída e sinais-combo
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Trilho de Ferrovia com sinais de saída e avançados
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Trilho de ferrovia com sinais de saída e de trajeto
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Trilho de Ferrovia com sinais de saída e avançados de mão única
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Trilho de ferrovia com sinais de saída de trajeto e de mão única
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Trilho de Ferrovia com sinais-combo e avançados
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Trilho de ferrovia com sinais-combo e de trajeto
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Trilho de Ferrovia com sinais-combo e avançados de mão única
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Trilho de ferrovia com sinais-combo de trajeto e de mão única
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Trilho de Ferrovia com sinais avançados e avançados de mão única
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Trilho de ferrovia com sinais de trajeto normais e de mão única
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Depósito de Ferrovia
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Depósito de ferrovia
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Rodovia
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Rodovia
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Rodovia iluminada
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Rodovia iluminada
|
||||||
@@ -2688,7 +2692,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :O terreno é pr
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD...
|
STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD...
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versão {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD versão {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 A equipe do OpenTTD
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 A equipe do OpenTTD
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvar Jogo
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvar Jogo
|
||||||
@@ -3293,6 +3297,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Requer:
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Requer: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Requer: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
|
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necessita:
|
||||||
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
|
||||||
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} aguardando{STRING}
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produz: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produz: {YELLOW}{STRING}{STRING}
|
||||||
@@ -3361,6 +3368,10 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Remover todos o
|
|||||||
|
|
||||||
STR_GROUP_RENAME_CAPTION :{BLACK}Renomear um grupo
|
STR_GROUP_RENAME_CAPTION :{BLACK}Renomear um grupo
|
||||||
|
|
||||||
|
STR_GROUP_PROFIT_THIS_YEAR :Lucros deste ano:
|
||||||
|
STR_GROUP_PROFIT_LAST_YEAR :Lucros do ano passado:
|
||||||
|
STR_GROUP_OCCUPANCY :Uso atual:
|
||||||
|
STR_GROUP_OCCUPANCY_VALUE :{NUM}%
|
||||||
|
|
||||||
# Build vehicle window
|
# Build vehicle window
|
||||||
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Novos Veículos Ferroviários
|
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Novos Veículos Ferroviários
|
||||||
@@ -3393,6 +3404,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Todos as cargas
|
|||||||
STR_PURCHASE_INFO_ALL_BUT :Todas menos {CARGO_LIST}
|
STR_PURCHASE_INFO_ALL_BUT :Todas menos {CARGO_LIST}
|
||||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}Tração máx : {GOLD}{FORCE}
|
STR_PURCHASE_INFO_MAX_TE :{BLACK}Tração máx : {GOLD}{FORCE}
|
||||||
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} quadrados
|
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} quadrados
|
||||||
|
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipo de aeronave: {GOLD}{STRING}
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de trens - clique num trem para informações. Cltr+Clique para alterar a visibilidade do tipo de trem
|
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de trens - clique num trem para informações. Cltr+Clique para alterar a visibilidade do tipo de trem
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de automóveis - clique num automóvel para informações. Cltr+Clique para alterar a visibilidade do tipo de automóvel
|
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de automóveis - clique num automóvel para informações. Cltr+Clique para alterar a visibilidade do tipo de automóvel
|
||||||
@@ -3527,6 +3539,10 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :locomotiva magl
|
|||||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Preço: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidade: {VELOCITY} Potência: {POWER}{}Custo de manutenção: {CURRENCY_LONG}/ano{}Capacidade: {CARGO_LONG}
|
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Preço: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidade: {VELOCITY} Potência: {POWER}{}Custo de manutenção: {CURRENCY_LONG}/ano{}Capacidade: {CARGO_LONG}
|
||||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Preço: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Vel.: {VELOCITY} Potência: {POWER} Tração Máx: {6:FORCE}{}Custo de manutenção: {4:CURRENCY_LONG}/yr{}Capacidade: {5:CARGO_LONG}
|
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Preço: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Vel.: {VELOCITY} Potência: {POWER} Tração Máx: {6:FORCE}{}Custo de manutenção: {4:CURRENCY_LONG}/yr{}Capacidade: {5:CARGO_LONG}
|
||||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Preço: {CURRENCY_LONG} Vel. Max.: {VELOCITY}{}Capacidade: {CARGO_LONG}{}Custo de manuteção: {CURRENCY_LONG}/ano
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Preço: {CURRENCY_LONG} Vel. Max.: {VELOCITY}{}Capacidade: {CARGO_LONG}{}Custo de manuteção: {CURRENCY_LONG}/ano
|
||||||
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel Máx.: {VELOCITY}{}Tipo de aeronave: {STRING}{}Capacidade: {CARGO_LONG}, {CARGO_LONG}{}Custo de oper.: {CURRENCY_LONG}/ano
|
||||||
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel Máx.: {VELOCITY}{}Tipo de aeronave: {STRING}{}Capacidade: {CARGO_LONG}{}Custo de oper.: {CURRENCY_LONG}/ano
|
||||||
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel. Máx.: {VELOCITY}{}Tipo de aeronave: {STRING} Alcance: {COMMA} quadrados{}Capacidade: {CARGO_LONG}, {CARGO_LONG}{}Custo de oper.: {CURRENCY_LONG}/ano
|
||||||
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Custo: {CURRENCY_LONG} Vel. Máx.: {VELOCITY}{}Tipo de aeronave: {STRING} Alcance: {COMMA} quadrados{}Capacidade: {CARGO_LONG}{}Custo de oper.: {CURRENCY_LONG}/ano
|
||||||
|
|
||||||
# Autoreplace window
|
# Autoreplace window
|
||||||
STR_REPLACE_VEHICLES_WHITE :{WHITE}Substituir {STRING} - {STRING}
|
STR_REPLACE_VEHICLES_WHITE :{WHITE}Substituir {STRING} - {STRING}
|
||||||
@@ -3556,6 +3572,7 @@ STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Pression
|
|||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Troca entre substituir máquinas e substituir vagões
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Troca entre substituir máquinas e substituir vagões
|
||||||
STR_REPLACE_ENGINES :Motores
|
STR_REPLACE_ENGINES :Motores
|
||||||
STR_REPLACE_WAGONS :Vagões
|
STR_REPLACE_WAGONS :Vagões
|
||||||
|
STR_REPLACE_ALL_RAILTYPE :Todos os veículos ferroviários
|
||||||
|
|
||||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Escolha o tipo de ferrovia para o qual deseja efetuar a substituição dos motores
|
STR_REPLACE_HELP_RAILTYPE :{BLACK}Escolha o tipo de ferrovia para o qual deseja efetuar a substituição dos motores
|
||||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Exibe o tipo de motor que substituirá o que está selecionado à esquerda, se algum
|
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Exibe o tipo de motor que substituirá o que está selecionado à esquerda, se algum
|
||||||
@@ -3648,6 +3665,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} ano{P "
|
|||||||
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ano{P "" s} ({COMMA})
|
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ano{P "" s} ({COMMA})
|
||||||
|
|
||||||
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocidade Max: {LTBLUE}{VELOCITY}
|
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Velocidade Max: {LTBLUE}{VELOCITY}
|
||||||
|
STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Vel. Máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING}
|
||||||
|
STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Vel. Máx.: {LTBLUE}{VELOCITY} {BLACK}Tipo de aeronave: {LTBLUE}{STRING} {BLACK}Alcance: {LTBLUE}{COMMA} quadrados
|
||||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Força: {LTBLUE}{POWER}{BLACK} Velocidade Max: {LTBLUE}{VELOCITY}
|
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Força: {LTBLUE}{POWER}{BLACK} Velocidade Max: {LTBLUE}{VELOCITY}
|
||||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Força: {LTBLUE}{POWER}{BLACK} Velocidade Max: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE}
|
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_SHORT} {BLACK}Força: {LTBLUE}{POWER}{BLACK} Velocidade Max: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE}
|
||||||
|
|
||||||
@@ -3778,7 +3797,7 @@ STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Percentual carr
|
|||||||
STR_ORDER_CONDITIONAL_RELIABILITY :Confiabilidade
|
STR_ORDER_CONDITIONAL_RELIABILITY :Confiabilidade
|
||||||
STR_ORDER_CONDITIONAL_MAX_SPEED :Velocidade máxima
|
STR_ORDER_CONDITIONAL_MAX_SPEED :Velocidade máxima
|
||||||
STR_ORDER_CONDITIONAL_AGE :Idade (anos)
|
STR_ORDER_CONDITIONAL_AGE :Idade (anos)
|
||||||
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Necessia de manutenção
|
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Necessita de manutenção
|
||||||
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Sempre
|
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Sempre
|
||||||
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Tempo de vida restante (anos)
|
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Tempo de vida restante (anos)
|
||||||
|
|
||||||
|
@@ -473,9 +473,9 @@ STR_ABOUT_MENU_SCREENSHOT :Screenshot
|
|||||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Напълно увеличен в кадъра.
|
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Напълно увеличен в кадъра.
|
||||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Увеличение по подразбиране
|
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Увеличение по подразбиране
|
||||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Огромен Screenshot
|
STR_ABOUT_MENU_GIANT_SCREENSHOT :Огромен Screenshot
|
||||||
STR_ABOUT_MENU_ABOUT_OPENTTD :За 'OpenTTD'
|
STR_ABOUT_MENU_ABOUT_OPENTTD :Относно 'OpenTTD'
|
||||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Подравнител на спрайтове
|
STR_ABOUT_MENU_SPRITE_ALIGNER :Подравнител на спрайтове
|
||||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Превключва слепване на прозците
|
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Активиране слепване на прозорците
|
||||||
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Превключва оцветяване на замърсените блокове
|
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Превключва оцветяване на замърсените блокове
|
||||||
############ range ends here
|
############ range ends here
|
||||||
|
|
||||||
@@ -755,6 +755,7 @@ STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Пока
|
|||||||
STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Показване/скриване на височинна карта
|
STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Показване/скриване на височинна карта
|
||||||
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Скриване на собствеността на компанията от картата
|
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Скриване на собствеността на компанията от картата
|
||||||
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Показване на цялата собственост на компанията на картата
|
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Показване на цялата собственост на компанията на картата
|
||||||
|
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Покажи всички товари на картата
|
||||||
|
|
||||||
# Status bar messages
|
# Status bar messages
|
||||||
STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Покажи последното съобщение или отчет на новините
|
STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Покажи последното съобщение или отчет на новините
|
||||||
@@ -1282,6 +1283,7 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Показва
|
|||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Дебелина на линиите в графиките: {STRING}
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Дебелина на линиите в графиките: {STRING}
|
||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Дебелина на линиите в графиките. Тънките линии са по-лесни за разчитане, но по-дебелите се забелязват и разграничават по-лесно.
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Дебелина на линиите в графиките. Тънките линии са по-лесни за разчитане, но по-дебелите се забелязват и разграничават по-лесно.
|
||||||
|
|
||||||
|
STR_CONFIG_SETTING_LANDSCAPE :Пейзаж: {STRING}
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR :Генератор на земя: {STRING}
|
STR_CONFIG_SETTING_LAND_GENERATOR :Генератор на земя: {STRING}
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :оригинален
|
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :оригинален
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :тера-генезис
|
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :тера-генезис
|
||||||
@@ -1293,6 +1295,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :много по
|
|||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :полегат
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :полегат
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :стръмен
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :стръмен
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :много стръмен
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :много стръмен
|
||||||
|
STR_CONFIG_SETTING_RIVER_AMOUNT :Количество на реките: {STRING}
|
||||||
STR_CONFIG_SETTING_TREE_PLACER :Алгоритъм за поставяне на дървета: {STRING}
|
STR_CONFIG_SETTING_TREE_PLACER :Алгоритъм за поставяне на дървета: {STRING}
|
||||||
STR_CONFIG_SETTING_TREE_PLACER_NONE :без дървета
|
STR_CONFIG_SETTING_TREE_PLACER_NONE :без дървета
|
||||||
STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :оригинален
|
STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :оригинален
|
||||||
@@ -1584,6 +1587,7 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Без
|
|||||||
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Множител за големината на града: {STRING}
|
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Множител за големината на града: {STRING}
|
||||||
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Относителен размер на мегаполисите в сравнение с градовете в началото на играта
|
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Относителен размер на мегаполисите в сравнение с градовете в началото на играта
|
||||||
|
|
||||||
|
STR_CONFIG_SETTING_DEMAND_SIZE :Количество на връщания товар при симетричнен режим: {STRING}
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Единици за скорост: {STRING}
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Единици за скорост: {STRING}
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Всеки път при показване на скорости, да бъдат изписвани в избраните мерни единици
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Всеки път при показване на скорости, да бъдат изписвани в избраните мерни единици
|
||||||
@@ -1624,9 +1628,11 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m)
|
|||||||
STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Позициониране
|
STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Позициониране
|
||||||
STR_CONFIG_SETTING_SOUND :{ORANGE}Звукови ефекти
|
STR_CONFIG_SETTING_SOUND :{ORANGE}Звукови ефекти
|
||||||
STR_CONFIG_SETTING_INTERFACE :{ORANGE}Интерфейс
|
STR_CONFIG_SETTING_INTERFACE :{ORANGE}Интерфейс
|
||||||
|
STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Основни
|
||||||
STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Строене
|
STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Строене
|
||||||
STR_CONFIG_SETTING_VEHICLES :{ORANGE}Автомобили
|
STR_CONFIG_SETTING_VEHICLES :{ORANGE}Автомобили
|
||||||
STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Маршрутизация
|
STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Маршрутизация
|
||||||
|
STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Права
|
||||||
STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Градове
|
STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Градове
|
||||||
STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Индустрии
|
STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Индустрии
|
||||||
STR_CONFIG_SETTING_AI :{ORANGE}Съперници
|
STR_CONFIG_SETTING_AI :{ORANGE}Съперници
|
||||||
@@ -2530,6 +2536,7 @@ STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF:
|
|||||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Приет товар: {LTBLUE}
|
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Приет товар: {LTBLUE}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Ограничение на скоростта на линията: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Ограничение на скоростта на линията: {LTBLUE}{VELOCITY}
|
||||||
|
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Макс. скорост на пътя: {LTBLUE}{VELOCITY}
|
||||||
|
|
||||||
# Description of land area of different tiles
|
# Description of land area of different tiles
|
||||||
STR_LAI_CLEAR_DESCRIPTION_ROCKS :Скали
|
STR_LAI_CLEAR_DESCRIPTION_ROCKS :Скали
|
||||||
@@ -2626,7 +2633,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Земя, пр
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}Относно OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}Относно OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Авторски права {COPYRIGHT} 1995 Крис Сойер (Chris Sawyer), Всички права са запазени
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Авторски права {COPYRIGHT} 1995 Крис Сойер (Chris Sawyer), Всички права са запазени
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD версия {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD версия {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 The OpenTTD team
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 The OpenTTD team
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Запази играта
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Запази играта
|
||||||
@@ -3010,6 +3017,7 @@ STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING
|
|||||||
STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Натисни върху услугата за да се фокусира върху индустрията/града. Ctrl отваря нов изглед към индустрията/града
|
STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Натисни върху услугата за да се фокусира върху индустрията/града. Ctrl отваря нов изглед към индустрията/града
|
||||||
|
|
||||||
# Story book window
|
# Story book window
|
||||||
|
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Прескочи до определена страница чрез избирането й в дроп-даун листата.
|
||||||
STR_STORY_BOOK_NEXT_PAGE :{BLACK}Следваща
|
STR_STORY_BOOK_NEXT_PAGE :{BLACK}Следваща
|
||||||
STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Отиди на следващата страница
|
STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Отиди на следващата страница
|
||||||
STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Невалидна цел
|
STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Невалидна цел
|
||||||
@@ -3214,6 +3222,7 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Нужд
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Нуждае се от: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Нуждае се от: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} чакащ{STRING}
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Произвежда: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Произвежда: {YELLOW}{STRING}{STRING}
|
||||||
@@ -3274,12 +3283,16 @@ STR_GROUP_DELETE_TOOLTIP :{BLACK}Изтр
|
|||||||
STR_GROUP_RENAME_TOOLTIP :{BLACK}Преименувай избраната група
|
STR_GROUP_RENAME_TOOLTIP :{BLACK}Преименувай избраната група
|
||||||
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Щракни да защитиш тази група от глобална автоматична замяна
|
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Щракни да защитиш тази група от глобална автоматична замяна
|
||||||
|
|
||||||
|
STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Изтрий група
|
||||||
|
STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Сигурен ли си, че искаш да изтриеш тази група и нейните производни?
|
||||||
|
|
||||||
STR_GROUP_ADD_SHARED_VEHICLE :Добави споделени превозни средства
|
STR_GROUP_ADD_SHARED_VEHICLE :Добави споделени превозни средства
|
||||||
STR_GROUP_REMOVE_ALL_VEHICLES :Премахни всички превозни средсва
|
STR_GROUP_REMOVE_ALL_VEHICLES :Премахни всички превозни средсва
|
||||||
|
|
||||||
STR_GROUP_RENAME_CAPTION :{BLACK}Преименовай група
|
STR_GROUP_RENAME_CAPTION :{BLACK}Преименовай група
|
||||||
|
|
||||||
|
STR_GROUP_OCCUPANCY :Използва се за:
|
||||||
|
STR_GROUP_OCCUPANCY_VALUE :{NUM}%
|
||||||
|
|
||||||
# Build vehicle window
|
# Build vehicle window
|
||||||
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Нови Машини за Двурелсов път
|
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Нови Машини за Двурелсов път
|
||||||
@@ -3446,6 +3459,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :локомот
|
|||||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Цена: {CURRENCY_LONG} Тегло: {WEIGHT_SHORT}{}Скорост: {VELOCITY} Мощност: {POWER}{}Разход: {CURRENCY_LONG}/г.{}Капацитет: {CARGO_LONG}
|
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Цена: {CURRENCY_LONG} Тегло: {WEIGHT_SHORT}{}Скорост: {VELOCITY} Мощност: {POWER}{}Разход: {CURRENCY_LONG}/г.{}Капацитет: {CARGO_LONG}
|
||||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Цена: {CURRENCY_LONG} Тегло: {WEIGHT_SHORT}{}Скорост: {VELOCITY} Мощност: {POWER} Макс. Т.С.: {6:FORCE}{}Експлоатационни разходи: {4:CURRENCY_LONG}/год.{}Вместимост: {5:CARGO_LONG}
|
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Цена: {CURRENCY_LONG} Тегло: {WEIGHT_SHORT}{}Скорост: {VELOCITY} Мощност: {POWER} Макс. Т.С.: {6:FORCE}{}Експлоатационни разходи: {4:CURRENCY_LONG}/год.{}Вместимост: {5:CARGO_LONG}
|
||||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Цена: {CURRENCY_LONG} Макс. Скорост: {VELOCITY}{}Вместимост: {CARGO_LONG}{}Експлоатационни разходи: {CURRENCY_LONG}/год.
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Цена: {CURRENCY_LONG} Макс. Скорост: {VELOCITY}{}Вместимост: {CARGO_LONG}{}Експлоатационни разходи: {CURRENCY_LONG}/год.
|
||||||
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Цена: {CURRENCY_LONG} Макс.скорост: {VELOCITY}{}Тип самолет: {STRING}{}Вместимост: {CARGO_LONG}{}Оперативни разходи: {CURRENCY_LONG}/yr
|
||||||
|
|
||||||
# Autoreplace window
|
# Autoreplace window
|
||||||
STR_REPLACE_VEHICLES_WHITE :{WHITE}Замяна {STRING} - {STRING}
|
STR_REPLACE_VEHICLES_WHITE :{WHITE}Замяна {STRING} - {STRING}
|
||||||
@@ -3475,6 +3489,7 @@ STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Нати
|
|||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Превключване между замяна на локомотиви и вагони
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Превключване между замяна на локомотиви и вагони
|
||||||
STR_REPLACE_ENGINES :Двигатели
|
STR_REPLACE_ENGINES :Двигатели
|
||||||
STR_REPLACE_WAGONS :Вагони
|
STR_REPLACE_WAGONS :Вагони
|
||||||
|
STR_REPLACE_ALL_RAILTYPE :Всички ЖП композиции
|
||||||
|
|
||||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Избор на ЖП линия с която да се заменят локомотивите
|
STR_REPLACE_HELP_RAILTYPE :{BLACK}Избор на ЖП линия с която да се заменят локомотивите
|
||||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Показване с кой двигател се заменя ляво избрания, ако има
|
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Показване с кой двигател се заменя ляво избрания, ако има
|
||||||
@@ -4268,6 +4283,7 @@ STR_ERROR_YOU_ALREADY_OWN_IT :{WHITE}... ви
|
|||||||
STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Групата неможе да бъде създадена...
|
STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Групата неможе да бъде създадена...
|
||||||
STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Тази група неможе да бъде изтрита...
|
STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Тази група неможе да бъде изтрита...
|
||||||
STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Групата неможе да бъде преименована...
|
STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Групата неможе да бъде преименована...
|
||||||
|
STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Не може да избере горна група....
|
||||||
STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Всички превозни средства немогат да бъдат премахнати от тази група...
|
STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Всички превозни средства немогат да бъдат премахнати от тази група...
|
||||||
STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Превозното средство неможе да се добави към тази група...
|
STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Превозното средство неможе да се добави към тази група...
|
||||||
STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Поделени превозни средсва немогат да бъдат добавени към групата...
|
STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Поделени превозни средсва немогат да бъдат добавени към групата...
|
||||||
|
@@ -2692,7 +2692,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :terreny propiet
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}Quant a l'OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}Quant a l'OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer. Tots els drets reservats.
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer. Tots els drets reservats.
|
||||||
STR_ABOUT_VERSION :{BLACK}Versió {REV} de l'OpenTTD
|
STR_ABOUT_VERSION :{BLACK}Versió {REV} de l'OpenTTD
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 L'equip de l'OpenTTD
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 L'equip de l'OpenTTD
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Desa la Partida
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Desa la Partida
|
||||||
@@ -3297,11 +3297,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Necessit
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Necessita: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Necessita: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necessita
|
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necessita:
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}esperant
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} esperant{STRING}
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING}
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produeix: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produeix: {YELLOW}{STRING}{STRING}
|
||||||
|
@@ -572,7 +572,7 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Zumirano do kra
|
|||||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Standardno zumiranje slike zaslona
|
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Standardno zumiranje slike zaslona
|
||||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Slika zaslona cijele karte
|
STR_ABOUT_MENU_GIANT_SCREENSHOT :Slika zaslona cijele karte
|
||||||
STR_ABOUT_MENU_ABOUT_OPENTTD :O 'OpenTTD'
|
STR_ABOUT_MENU_ABOUT_OPENTTD :O 'OpenTTD'
|
||||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Poravnjanje sprite-a
|
STR_ABOUT_MENU_SPRITE_ALIGNER :Poravnanje spritea
|
||||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Odaberi granične okvire
|
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Odaberi granične okvire
|
||||||
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Mijenjaj boju blatnih blokova
|
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Mijenjaj boju blatnih blokova
|
||||||
############ range ends here
|
############ range ends here
|
||||||
@@ -778,7 +778,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klikni n
|
|||||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klikni na glazbenu traku kako bi ju uklonio iz trenutnog programa (samo Proizvoljno 1 ili Proizvoljno 2)
|
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klikni na glazbenu traku kako bi ju uklonio iz trenutnog programa (samo Proizvoljno 1 ili Proizvoljno 2)
|
||||||
|
|
||||||
# Highscore window
|
# Highscore window
|
||||||
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Najbolje tvrtke koje su dosigle razinu {NUM}
|
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Najbolje tvrtke do {NUM}. godine
|
||||||
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Tablica tvrtki u {NUM}
|
STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Tablica tvrtki u {NUM}
|
||||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Privrednik
|
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Privrednik
|
||||||
@@ -962,13 +962,13 @@ STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION
|
|||||||
STR_NEWS_STATION_NOW_ACCEPTS_CARGO :{WHITE}{STATION} od sada prihvaća {STRING.aku}
|
STR_NEWS_STATION_NOW_ACCEPTS_CARGO :{WHITE}{STATION} od sada prihvaća {STRING.aku}
|
||||||
STR_NEWS_STATION_NOW_ACCEPTS_CARGO_AND_CARGO :{WHITE}{STATION} od sada prihvaća {STRING.aku} i {STRING.aku}
|
STR_NEWS_STATION_NOW_ACCEPTS_CARGO_AND_CARGO :{WHITE}{STATION} od sada prihvaća {STRING.aku} i {STRING.aku}
|
||||||
|
|
||||||
STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Istekla je ponuda subvencije:{}{}prijevoz {STRING.gen} od {STRING} do {STRING} više neće biti subvencioniran
|
STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Istekla je ponuda za poticaje:{}{}prijevoz {STRING.gen} od {STRING} do {STRING} više neće biti potican
|
||||||
STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subvencija je povučena:{}{}prijevoz {STRING.gen} od {STRING} do {STRING} više nije subvencioniran
|
STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Subvencija je povučena:{}{}prijevoz {STRING.gen} od {STRING} do {STRING} više nije subvencioniran
|
||||||
STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Ponuđena je subvencija:{}{}Prvi koji preveze {STRING.aku} od {STRING} do {STRING} primat će jednogodišnju subvenciju od lokalne samouprave!
|
STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Ponuđen je poticaj:{}{}Prvi koji preveze {STRING.aku} od {STRING} do {STRING} primat će jednogodišnji poticaj lokalne samouprave!
|
||||||
STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se 50% više sljedećih godinu dana!
|
STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se 50% više sljedećih godinu dana!
|
||||||
STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se dvostruko sljedećih godinu dana!
|
STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se dvostruko sljedećih godinu dana!
|
||||||
STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se trostruko sljedećih godinu dana!
|
STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Poticaj je dodijeljen tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se trostruko sljedećih godinu dana!
|
||||||
STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Subvencija je dodijeljena tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se četverostruko sljedećih godinu dana!
|
STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLACK}Poticaj je dodijeljen tvrtki {STRING}!{}{}Prijevoz {STRING.gen} od postaje {STRING} do postaje {STRING} plaćat će se četverostruko sljedećih godinu dana!
|
||||||
|
|
||||||
STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}Grad {TOWN} zahvatio je prometni kaos!{}{}Program rekonstrukcije cesta koji financira tvrtka {STRING} sljedećih će 6 mjeseci zadavati glavobolje motoriziranima!
|
STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}Grad {TOWN} zahvatio je prometni kaos!{}{}Program rekonstrukcije cesta koji financira tvrtka {STRING} sljedećih će 6 mjeseci zadavati glavobolje motoriziranima!
|
||||||
STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Monopol transporta!
|
STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Monopol transporta!
|
||||||
@@ -1245,7 +1245,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Brzina gradnje:
|
|||||||
STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limitiraj količinu građevinskih akcija za UI-je
|
STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limitiraj količinu građevinskih akcija za UI-je
|
||||||
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Kvarovi vozila: {STRING}
|
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Kvarovi vozila: {STRING}
|
||||||
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Kontroliraj kako često se mogu pokvariti loše servisirana vozila
|
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Kontroliraj kako često se mogu pokvariti loše servisirana vozila
|
||||||
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Množitelj za subvencije: {STRING}
|
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Množitelj za poticaje: {STRING}
|
||||||
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Postavi koliko se plaća za subvencionirane veze
|
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Postavi koliko se plaća za subvencionirane veze
|
||||||
STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Građevinski troškovi: {STRING}
|
STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Građevinski troškovi: {STRING}
|
||||||
STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Postavi razinu građevinskih troškova i troškova kupnje
|
STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Postavi razinu građevinskih troškova i troškova kupnje
|
||||||
@@ -1385,9 +1385,9 @@ STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Debljina linija
|
|||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Debljina linije u grafikonima. Tanja linija je preciznija za čitanje, deblja linija je lakša za vidjeti i boje su lakše za razabrati
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Debljina linije u grafikonima. Tanja linija je preciznija za čitanje, deblja linija je lakša za vidjeti i boje su lakše za razabrati
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LANDSCAPE :Krajolik: {STRING}
|
STR_CONFIG_SETTING_LANDSCAPE :Krajolik: {STRING}
|
||||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Tereni definiraju osnovne scenarije za igru sa različitim teretima i preduvjetima za rast gradova. NewGRF-ovi i Skripte Igre dozvoljavaju detaljnije kontrole i postavke.
|
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Tereni određuju osnovne scenarije za igru s različitim teretima i preduvjetima za rast gradova. NewGRF-ovi i Skripte Igre omogućavaju detaljnije kontrole i postavke.
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR :Generator zemlje: {STRING}
|
STR_CONFIG_SETTING_LAND_GENERATOR :Generator zemlje: {STRING}
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Originalni generator ovisi o baznom grafičkom setu i stvara fiksne oblike u terenu. TerraGenesis je generator baziran na Perlinu sa detaljnijim kontrolama i postavkama.
|
STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :Izvorni generator ovisi o osnovnom grafičkom setu i stvara fiksne oblike terena. TerraGenesis je generator temeljen na Perlinovom šumu s detaljnijim kontrolama i postavkama.
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Izvorni
|
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Izvorni
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
|
||||||
STR_CONFIG_SETTING_TERRAIN_TYPE :Vrsta terena: {STRING}
|
STR_CONFIG_SETTING_TERRAIN_TYPE :Vrsta terena: {STRING}
|
||||||
@@ -1580,17 +1580,17 @@ STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Uključivanjem
|
|||||||
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Dolazak prvog vozila na postaju igrača: {STRING}
|
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Dolazak prvog vozila na postaju igrača: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Prikaži novine kada prvo vozilo dođe na stanicu novog igrača
|
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Prikaži novine kada prvo vozilo dođe na stanicu novog igrača
|
||||||
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Dolazak prvog vozila na postaju suparnika: {STRING}
|
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Dolazak prvog vozila na postaju suparnika: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Prikaži novine kada prvo vozilo dođe na suparnikovu stanicu
|
STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Prikaži novosti kada prvo vozilo dođe na protivničku postaju
|
||||||
STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Nesreće / katastrofe: {STRING}
|
STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Nesreće / katastrofe: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Prikaži novine kod nesreća ili katastrofa
|
STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Prikaži novine kod nesreća ili katastrofa
|
||||||
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Podaci vezani za tvrtku: {STRING}
|
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Podaci vezani za tvrtku: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Prikaži novine kada se pojavi nova tvrtka ili kada tvrtke riskiraju bankrot
|
STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Prikaži novosti kada se pojavi nova tvrtka ili kada tvrtke riskiraju bankrot
|
||||||
STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Otvaranje industrije: {STRING}
|
STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Otvaranje industrije: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Prikaži novine kada se nove industrije otvaraju
|
STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Prikaži novine kada se nove industrije otvaraju
|
||||||
STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :Zatvaranje industrije: {STRING}
|
STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :Zatvaranje industrije: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Prikaži novine kada se industrije zatvaraju
|
STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Prikaži novosti kada se industrije zatvaraju
|
||||||
STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Promjene u gospodarstvu: {STRING}
|
STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Gospodarske promjene: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Prikaži novine vezano za globalne promjene u ekonomiji
|
STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Prikaži novosti vezane za globalne gospodarske promjene
|
||||||
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Promjene u proizvodnji industrija koje opslužuje tvrtka: {STRING}
|
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Promjene u proizvodnji industrija koje opslužuje tvrtka: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Prikaži novine kod promjene proizvodnih razina industrija koje tvrtka opslužuje
|
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Prikaži novine kod promjene proizvodnih razina industrija koje tvrtka opslužuje
|
||||||
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Promjene u proizvodnji industrija koje opslužuju suparnici: {STRING}
|
STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Promjene u proizvodnji industrija koje opslužuju suparnici: {STRING}
|
||||||
@@ -1602,11 +1602,11 @@ STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Prikaži poruke
|
|||||||
STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Nova vozila: {STRING}
|
STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Nova vozila: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Prikaži novine kada neki novi tip vozila postane dostupan
|
STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Prikaži novine kada neki novi tip vozila postane dostupan
|
||||||
STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Promjene u prihvaćanju tereta: {STRING}
|
STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Promjene u prihvaćanju tereta: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Prikaži poruke o stanicama koje mijenjaju prihvaćanje nekih tereta
|
STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Prikaži poruke o postajama koje mijenjaju prihvaćanje nekih tereta
|
||||||
STR_CONFIG_SETTING_NEWS_SUBSIDIES :Subvencije: {STRING}
|
STR_CONFIG_SETTING_NEWS_SUBSIDIES :Subvencije: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Prikaži novine vezano za događaje o subvencijama
|
STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Prikaži novosti vezane za poticaje
|
||||||
STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Opće informacije: {STRING}
|
STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Opće informacije: {STRING}
|
||||||
STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Prikaži novine vezano za opće događaje kao za kupnju ekskluzivnih prava ili financiranje rekonstrukcije cesta
|
STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Prikaži novosti vezane za opće događaje kao što su kupnja ekskluzivnih prava ili financiranje rekonstrukcije cesta
|
||||||
|
|
||||||
STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Isključeno
|
STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Isključeno
|
||||||
STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Sažetak
|
STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Sažetak
|
||||||
@@ -1615,7 +1615,7 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Sve
|
|||||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Vijesti u boji pojavljuju se: {STRING}
|
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Vijesti u boji pojavljuju se: {STRING}
|
||||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Godina u kojoj će se novine početi izdavati u boji. Prije ove godine, koriste se crno/bijele novine
|
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Godina u kojoj će se novine početi izdavati u boji. Prije ove godine, koriste se crno/bijele novine
|
||||||
STR_CONFIG_SETTING_STARTING_YEAR :Početna godina: {STRING}
|
STR_CONFIG_SETTING_STARTING_YEAR :Početna godina: {STRING}
|
||||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Uključi tečnu ekonomiju (više manjih izazova): {STRING}
|
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Uključi stabilno gospodarstvo (više manjih izazova): {STRING}
|
||||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Kada je uključeno, promjene u industrijskoj proizvodnji su češće ali u manjim rasponima. Ova postavka obično nema efekta ukoliko su industrije postavljene iz nekog NewGRF-a
|
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Kada je uključeno, promjene u industrijskoj proizvodnji su češće ali u manjim rasponima. Ova postavka obično nema efekta ukoliko su industrije postavljene iz nekog NewGRF-a
|
||||||
STR_CONFIG_SETTING_ALLOW_SHARES :Dopusti kupovanje udjela u drugim tvrtkama: {STRING}
|
STR_CONFIG_SETTING_ALLOW_SHARES :Dopusti kupovanje udjela u drugim tvrtkama: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Kada je uključeno, dopušta se kupnja i prodaja dionica tvrtki. Dionice će postati dostupne samo za tvrtke određene starosti
|
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Kada je uključeno, dopušta se kupnja i prodaja dionica tvrtki. Dionice će postati dostupne samo za tvrtke određene starosti
|
||||||
@@ -1651,11 +1651,11 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Nasumično
|
|||||||
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Gradovi mogu graditi ceste: {STRING}
|
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Gradovi mogu graditi ceste: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Dopusti gradovima građenje cesta u svrhu rasta. Isključi za sprečavanje gradskih vlasti u samostalnoj gradnji cesta
|
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Dopusti gradovima građenje cesta u svrhu rasta. Isključi za sprečavanje gradskih vlasti u samostalnoj gradnji cesta
|
||||||
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Gradovi smiju graditi pružne prijelaze: {STRING}
|
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Gradovi smiju graditi pružne prijelaze: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Uključivanje ove postavke dozvoljava se gradovima da grade cestovno-pružne prijelaze
|
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Uključivanje ove postavke dopušta gradovima izgradnju cestovno-pružnih prijelaza
|
||||||
STR_CONFIG_SETTING_NOISE_LEVEL :Omogući određivanje razine buke za zračne luke od strane gradova: {STRING}
|
STR_CONFIG_SETTING_NOISE_LEVEL :Omogući određivanje razine buke za zračne luke od strane gradova: {STRING}
|
||||||
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Kada je ova postavka isključena, mogu postojati dvije zračne luke u svakom gradu. Kada je ova postavka uključena, broj zračnih luka u nekom gradu je ograničen količinom dopuštene buke u gradu, koja ovisi o broju stanovnika i udaljenosti i veličini zračne luke
|
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Kada je ova postavka isključena, mogu postojati dvije zračne luke u svakom gradu. Kada je ova postavka uključena, broj zračnih luka u nekom gradu je ograničen količinom dopuštene buke u gradu, koja ovisi o broju stanovnika i udaljenosti i veličini zračne luke
|
||||||
STR_CONFIG_SETTING_TOWN_FOUNDING :Osnivanje gradova tijekom igre: {STRING}
|
STR_CONFIG_SETTING_TOWN_FOUNDING :Osnivanje gradova tijekom igre: {STRING}
|
||||||
STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Uklučivanje ove postavke dozvoljava igračima osnivanje novih gradova tijekom igre
|
STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Uklučivanje ove postavke dopušta igračima osnivanje novih gradova tijekom igre
|
||||||
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Zabranjeno
|
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Zabranjeno
|
||||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Dopušteno
|
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Dopušteno
|
||||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Dopušteno, proizvoljan raspored grada
|
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Dopušteno, proizvoljan raspored grada
|
||||||
@@ -1882,8 +1882,8 @@ STR_OSNAME_SUNOS :SunOS
|
|||||||
|
|
||||||
# Abandon game
|
# Abandon game
|
||||||
STR_ABANDON_GAME_CAPTION :{WHITE}Napusti igru
|
STR_ABANDON_GAME_CAPTION :{WHITE}Napusti igru
|
||||||
STR_ABANDON_GAME_QUERY :{YELLOW}Jesi li siguran da želiš napustiti ovu igru?
|
STR_ABANDON_GAME_QUERY :{YELLOW}Doista želiš napustiti ovu igru?
|
||||||
STR_ABANDON_SCENARIO_QUERY :{YELLOW}Jesi li siguran da želiš napustiti ovaj scenarij?
|
STR_ABANDON_SCENARIO_QUERY :{YELLOW}Doista želiš napustiti ovaj scenarij?
|
||||||
|
|
||||||
# Cheat window
|
# Cheat window
|
||||||
STR_CHEATS :{WHITE}Varanje
|
STR_CHEATS :{WHITE}Varanje
|
||||||
@@ -2377,7 +2377,7 @@ STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Namjesti
|
|||||||
STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Učini objekte nevidljivima umjesto prozirnima
|
STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Učini objekte nevidljivima umjesto prozirnima
|
||||||
|
|
||||||
# Linkgraph legend window
|
# Linkgraph legend window
|
||||||
STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Legenda protoka tereta
|
STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Kazalo protoka tereta
|
||||||
STR_LINKGRAPH_LEGEND_ALL :{BLACK}Sve
|
STR_LINKGRAPH_LEGEND_ALL :{BLACK}Sve
|
||||||
STR_LINKGRAPH_LEGEND_NONE :{BLACK}Ništa
|
STR_LINKGRAPH_LEGEND_NONE :{BLACK}Ništa
|
||||||
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Odaberi tvrtke koje će se prikazati
|
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Odaberi tvrtke koje će se prikazati
|
||||||
@@ -2452,13 +2452,13 @@ STR_STATION_CLASS_WAYP :Čvorišta
|
|||||||
|
|
||||||
# Signal window
|
# Signal window
|
||||||
STR_BUILD_SIGNAL_CAPTION :{WHITE}Izbornik signala
|
STR_BUILD_SIGNAL_CAPTION :{WHITE}Izbornik signala
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Standardni signal (semafor){}Ovo je najosnovnija vrsta signala, dozvoljava istovremeno samo jedan vlak u bloku
|
STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Standardni signal (semafor){}Ovo je najosnovnija vrsta signala, dopušta istovremeno samo jedan vlak u bloku
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Ulazni signal (semafor){}Zeleno sve dok je jedan ili više zelenih izlaznih signala na sljedećem dijelu pruge. U protivnom pokazuje crveno
|
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Ulazni signal (semafor){}Zeleno sve dok je jedan ili više zelenih izlaznih signala na sljedećem dijelu pruge. U protivnom pokazuje crveno
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Izlazni signal (semafor){}Ponaša se na isti način kao i normalni signali, ali je nužno pogoditi točnu boju na ulaznim i kombo pred-signalima
|
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Izlazni signal (semafor){}Ponaša se na isti način kao i normalni signali, ali je nužno pogoditi točnu boju na ulaznim i kombo pred-signalima
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Kombo signal (semafor){}Kombo signal jednostavno radi kao ulazni i izlazni signal. Ovo omogućava izgradnju velike "mreže" pred-signala.
|
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Kombo signal (semafor){}Kombo signal jednostavno radi kao ulazni i izlazni signal. Ovo omogućava izgradnju velike "mreže" pred-signala.
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Putni signal (semafor){}Putni signal omogućava da više od jednog vlaka uđe istovremeno u signalni blok, ako vlak može rezervirati putanju do sigurnog zaustavnog mjesta. Standardne putne signale moguće je proći iz suprotnog smjera.
|
STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Putni signal (semafor){}Putni signal omogućava da više od jednog vlaka uđe istovremeno u signalni blok, ako vlak može rezervirati putanju do sigurnog zaustavnog mjesta. Standardne putne signale moguće je proći iz suprotnog smjera.
|
||||||
STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Jednosmjerni putni signal (semafor){}Putni signal omogućava da više od jednog vlaka uđe istovremeno u signalni blok, ako vlak može rezervirati putanju do sigurnog zaustavnog mjesta. Jednosmjerne putne signale nije moguće proći iz suprotnog smjera
|
STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Jednosmjerni putni signal (semafor){}Putni signal omogućava da više od jednog vlaka uđe istovremeno u signalni blok, ako vlak može rezervirati putanju do sigurnog zaustavnog mjesta. Jednosmjerne putne signale nije moguće proći iz suprotnog smjera
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Standardni signal (električni){}Ovo je najosnovnija vrsta signala, dozvoljava istovremeno samo jedan vlak u bloku
|
STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Standardni signal (električni){}Ovo je najosnovnija vrsta signala, istovremeno dopušta samo jedan vlak u bloku
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Ulazni signal (električni){}Zeleno sve dok je jedan ili više zelenih izlaznih signala na sljedećem dijelu pruge. U protivnom pokazuje crveno
|
STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Ulazni signal (električni){}Zeleno sve dok je jedan ili više zelenih izlaznih signala na sljedećem dijelu pruge. U protivnom pokazuje crveno
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Izlazni signal (električni){}Ponaša se na isti način kao i normalni signali, ali je nužno pogoditi točnu boju na ulaznim i kombo pred-signalima.
|
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Izlazni signal (električni){}Ponaša se na isti način kao i normalni signali, ali je nužno pogoditi točnu boju na ulaznim i kombo pred-signalima.
|
||||||
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Kombo signal (električni){}Kombo signal jednostavno radi kao ulazni i izlazni signal. Ovo omogućava izgradnju velike "mreže" pred-signala.
|
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Kombo signal (električni){}Kombo signal jednostavno radi kao ulazni i izlazni signal. Ovo omogućava izgradnju velike "mreže" pred-signala.
|
||||||
@@ -2572,7 +2572,7 @@ STR_STATION_BUILD_NOISE :{BLACK}Proizved
|
|||||||
STR_LANDSCAPING_TOOLBAR :{WHITE}Uređivanje krajolika
|
STR_LANDSCAPING_TOOLBAR :{WHITE}Uređivanje krajolika
|
||||||
STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Snizi jedan kut zemlje. Povlačenje snižava prvi odabrani kut i poravnava selektirano područje na novu visinu prvog kuta. Ctrl selektira područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova.
|
STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Snizi jedan kut zemlje. Povlačenje snižava prvi odabrani kut i poravnava selektirano područje na novu visinu prvog kuta. Ctrl selektira područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova.
|
||||||
STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Podigni jedan kut zemlje. Povlačenje podiže prvi odabrani kut i poravnava selektirano područje na novu visinu prvog kuta. Ctrl selektira područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova.
|
STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Podigni jedan kut zemlje. Povlačenje podiže prvi odabrani kut i poravnava selektirano područje na novu visinu prvog kuta. Ctrl selektira područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova.
|
||||||
STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Poravnaj područje zemlje na visinu prvog odabranog kuta. Ctrl selektira područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova.
|
STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Izravnaj zemlju na visinu prvog odabranog kuta. Ctrl odabire područje dijagonalno. Shift mijenja prikaz građenje/procjena troškova.
|
||||||
STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Kupi zemlju za buduću uporabu. Shift mijenja prikaz građenje/procjena troškova.
|
STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Kupi zemlju za buduću uporabu. Shift mijenja prikaz građenje/procjena troškova.
|
||||||
|
|
||||||
# Object construction window
|
# Object construction window
|
||||||
@@ -2787,7 +2787,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Zemlja u posjed
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD-u
|
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD-u
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Izvorno autorsko pravo {COPYRIGHT} 1995 Chris Sawyer, sva prava pridržana
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Izvorno autorsko pravo {COPYRIGHT} 1995 Chris Sawyer, sva prava pridržana
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD verzija {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD verzija {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD tim
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD tim
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spremi igru
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spremi igru
|
||||||
@@ -3392,11 +3392,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Treba: {
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Treba: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Treba: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Treba
|
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Treba:
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}čeka
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} čeka{STRING}
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING}
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Proizvodi: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Proizvodi: {YELLOW}{STRING}{STRING}
|
||||||
|
@@ -2784,7 +2784,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Půda vlastněn
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Původní copyright: {COPYRIGHT} 1995 Chris Sawyer, všechna práva vyhrazena
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Původní copyright: {COPYRIGHT} 1995 Chris Sawyer, všechna práva vyhrazena
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD verze {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD verze {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Tým OpenTTD
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Tým OpenTTD
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Uložit hru
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Uložit hru
|
||||||
@@ -3389,11 +3389,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Vyžaduj
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Vyžaduje: {YELLOW}{STRING.acc}{STRING}, {STRING.acc}{STRING}, {STRING.acc}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Vyžaduje: {YELLOW}{STRING.acc}{STRING}, {STRING.acc}{STRING}, {STRING.acc}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Vyžaduje
|
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Vyžaduje:
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}ček{P á ají á}
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} ček{P á ají á}{STRING}
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING}
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produkuje: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produkuje: {YELLOW}{STRING}{STRING}
|
||||||
|
@@ -1372,6 +1372,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Fra
|
|||||||
|
|
||||||
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Venstreklik-scrolling: {STRING}
|
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :Venstreklik-scrolling: {STRING}
|
||||||
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Aktiver rulle kortet ved at trække den med venstre museknap. Dette er især nyttigt, når du bruger en touch-screen til at rulle
|
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT :Aktiver rulle kortet ved at trække den med venstre museknap. Dette er især nyttigt, når du bruger en touch-screen til at rulle
|
||||||
|
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Luk vindue ved højre-klik: {STRING}
|
||||||
|
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Lukker vinduet ved at højreklikke inde i det. Deaktiverer værktøjstip ved at højreklikke!
|
||||||
|
|
||||||
STR_CONFIG_SETTING_AUTOSAVE :Auto gem: {STRING}
|
STR_CONFIG_SETTING_AUTOSAVE :Auto gem: {STRING}
|
||||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Vælg interval mellem automatisk gemte spil
|
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Vælg interval mellem automatisk gemte spil
|
||||||
@@ -1761,6 +1763,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Tjek for
|
|||||||
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Vis computerspiller/spilscript indstillinger
|
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Vis computerspiller/spilscript indstillinger
|
||||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Afslut 'OpenTTD'
|
STR_INTRO_TOOLTIP_QUIT :{BLACK}Afslut 'OpenTTD'
|
||||||
|
|
||||||
|
STR_INTRO_BASESET :{BLACK} Det aktuelt valgte base grafiksæt mangler {NUM} sprite {P "" s}. Se venligst efter opdateringer til basesættet.
|
||||||
STR_INTRO_TRANSLATION :{BLACK}Denne oversættelse mangler {NUM} streng{P "" e}. Hjælp venligst med at gøre OpenTTD bedre ved at tilmelde dig som oversætter. Se readme.txt for detaljer.
|
STR_INTRO_TRANSLATION :{BLACK}Denne oversættelse mangler {NUM} streng{P "" e}. Hjælp venligst med at gøre OpenTTD bedre ved at tilmelde dig som oversætter. Se readme.txt for detaljer.
|
||||||
|
|
||||||
# Quit window
|
# Quit window
|
||||||
@@ -2589,6 +2592,7 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Lufthavn
|
|||||||
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Accepteret last: {LTBLUE}
|
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Accepteret last: {LTBLUE}
|
||||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||||
|
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Tog type: {LTBLUE}{STRING}
|
||||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Togspors hastighedsgrænse: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Togspors hastighedsgrænse: {LTBLUE}{VELOCITY}
|
||||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Vej hastighedsbegrænsning: {LTBLUE}{VELOCITY}
|
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Vej hastighedsbegrænsning: {LTBLUE}{VELOCITY}
|
||||||
|
|
||||||
@@ -2604,13 +2608,13 @@ STR_LAI_CLEAR_DESCRIPTION_DESERT :Ørken
|
|||||||
STR_LAI_RAIL_DESCRIPTION_TRACK :Jernbane spor
|
STR_LAI_RAIL_DESCRIPTION_TRACK :Jernbane spor
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Jernbane spor med bloksignaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Jernbane spor med bloksignaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Jernbane spor med with pre-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Jernbane spor med with pre-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Jernbane spor med udgangssignaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Jernbane spor med udgangs-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Jernbane spor med kombinerede signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Jernbane spor med kombinerede signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Jernbane spor med rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Jernbane spor med rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Jernbane spor med en-vejs-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Jernbane spor med en-vejs-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Jernbane spor med blok- og pre-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Jernbane spor med blok- og pre-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Jernbane spor med blok- og udgangs-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Jernbane spor med blok- og udgangs-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Jernbane spor med blok og kombinerede signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Jernbane spor med blok- og kombinerede signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Jernbane spor med blok- og rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Jernbane spor med blok- og rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Jernbane spor med blok og en-vejs rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Jernbane spor med blok og en-vejs rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Jernbane spor med pre- og udgangs-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Jernbane spor med pre- og udgangs-signaler
|
||||||
@@ -2621,7 +2625,7 @@ STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Jernbane spor m
|
|||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Jernbane spor med udgangs- og rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Jernbane spor med udgangs- og rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Jernbane spor med udgangs- og en-vejs rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Jernbane spor med udgangs- og en-vejs rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Jernbane spor med kombinerede og rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Jernbane spor med kombinerede og rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Jernbane spor med kombinerede og en-vejs rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Jernbane spor med kombinationede- og en-vejs rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Jernbane spor med rute- og en-vejs rute-signaler
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Jernbane spor med rute- og en-vejs rute-signaler
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Jernbane togdepot
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Jernbane togdepot
|
||||||
|
|
||||||
@@ -2687,7 +2691,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land ejet af se
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheder reserveret
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheder reserveret
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD teamet
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD teamet
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gem spil
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gem spil
|
||||||
@@ -3292,6 +3296,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Kræver:
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Kræver: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Kræver: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
|
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Kræver:
|
||||||
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
|
||||||
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} venter{STRING}
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Producerer: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Producerer: {YELLOW}{STRING}{STRING}
|
||||||
@@ -3360,6 +3367,10 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Fjern alle kør
|
|||||||
|
|
||||||
STR_GROUP_RENAME_CAPTION :{BLACK}Omdøb en gruppe
|
STR_GROUP_RENAME_CAPTION :{BLACK}Omdøb en gruppe
|
||||||
|
|
||||||
|
STR_GROUP_PROFIT_THIS_YEAR :Afkast i år:
|
||||||
|
STR_GROUP_PROFIT_LAST_YEAR :Afkast sidste år:
|
||||||
|
STR_GROUP_OCCUPANCY :Nuværende brug:
|
||||||
|
STR_GROUP_OCCUPANCY_VALUE :{NUM}%
|
||||||
|
|
||||||
# Build vehicle window
|
# Build vehicle window
|
||||||
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nye jernbanekøretøjer
|
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nye jernbanekøretøjer
|
||||||
@@ -3392,6 +3403,7 @@ STR_PURCHASE_INFO_ALL_TYPES :Alle lasttyper
|
|||||||
STR_PURCHASE_INFO_ALL_BUT :Alle undtagen {CARGO_LIST}
|
STR_PURCHASE_INFO_ALL_BUT :Alle undtagen {CARGO_LIST}
|
||||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}Maks. trækkraft: {GOLD}{FORCE}
|
STR_PURCHASE_INFO_MAX_TE :{BLACK}Maks. trækkraft: {GOLD}{FORCE}
|
||||||
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Rækkevidde: {GOLD}{COMMA} felter
|
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Rækkevidde: {GOLD}{COMMA} felter
|
||||||
|
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Fly type: {GOLD}{STRING}
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Togvalgsliste - klik på et køretøj for mere information
|
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Togvalgsliste - klik på et køretøj for mere information
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Liste over køretøjstyper - klik på køretøj for information
|
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Liste over køretøjstyper - klik på køretøj for information
|
||||||
@@ -3526,6 +3538,10 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :magnetskinnelok
|
|||||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Pris: {CURRENCY_LONG} Vægt: {WEIGHT_SHORT}{}Hastighed: {VELOCITY} Styrke: {POWER}{}Driftsomkostninger: {CURRENCY_LONG}/år{}Kapacitet: {CARGO_LONG}
|
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Pris: {CURRENCY_LONG} Vægt: {WEIGHT_SHORT}{}Hastighed: {VELOCITY} Styrke: {POWER}{}Driftsomkostninger: {CURRENCY_LONG}/år{}Kapacitet: {CARGO_LONG}
|
||||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Pris: {CURRENCY_LONG} Vægt: {WEIGHT_SHORT}{}Hastighed: {VELOCITY} Hestekræfter: {POWER} Maks. Trækkraft: {6:FORCE}{}Driftsomkostning: {4:CURRENCY_LONG}/år{}Kapacitet: {5:CARGO_LONG}
|
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Pris: {CURRENCY_LONG} Vægt: {WEIGHT_SHORT}{}Hastighed: {VELOCITY} Hestekræfter: {POWER} Maks. Trækkraft: {6:FORCE}{}Driftsomkostning: {4:CURRENCY_LONG}/år{}Kapacitet: {5:CARGO_LONG}
|
||||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Maks. hast.: {VELOCITY}{}Kapacitet: {CARGO_LONG}{}Driftsomkostninger: {CURRENCY_LONG}/år
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Maks. hast.: {VELOCITY}{}Kapacitet: {CARGO_LONG}{}Driftsomkostninger: {CURRENCY_LONG}/år
|
||||||
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Max. Hastighed: {VELOCITY}{}Aircraft type: {STRING}{}Kapacitet: {CARGO_LONG}, {CARGO_LONG}{}Omkostninger: {CURRENCY_LONG}/år
|
||||||
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Max. Hastighed: {VELOCITY}{}Fly type: {STRING}{}Kapacitet: {CARGO_LONG}{}Omkostninger: {CURRENCY_LONG}/år
|
||||||
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Max. Hastighed: {VELOCITY}{}Fly type: {STRING} Rækkevidde: {COMMA} felter{}Kapacitet: {CARGO_LONG}, {CARGO_LONG}{}Omkostninger: {CURRENCY_LONG}/år
|
||||||
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Pris: {CURRENCY_LONG} Max. Hastighed{VELOCITY}{}Fly type: {STRING} Rækkevidde: {COMMA} felter{}Kapacitet: {CARGO_LONG}{}Omkostninger: {CURRENCY_LONG}/år
|
||||||
|
|
||||||
# Autoreplace window
|
# Autoreplace window
|
||||||
STR_REPLACE_VEHICLES_WHITE :{WHITE}Udskift {STRING} - {STRING}
|
STR_REPLACE_VEHICLES_WHITE :{WHITE}Udskift {STRING} - {STRING}
|
||||||
@@ -3555,6 +3571,7 @@ STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Tryk for
|
|||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Skift imellem lokomotiv- og vognudskiftningsvindue
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Skift imellem lokomotiv- og vognudskiftningsvindue
|
||||||
STR_REPLACE_ENGINES :Lokomotiver
|
STR_REPLACE_ENGINES :Lokomotiver
|
||||||
STR_REPLACE_WAGONS :Vogne
|
STR_REPLACE_WAGONS :Vogne
|
||||||
|
STR_REPLACE_ALL_RAILTYPE :Alle jernbanevogne
|
||||||
|
|
||||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Vælg den skinne type, du ønsker at udskifte lokomotiver til
|
STR_REPLACE_HELP_RAILTYPE :{BLACK}Vælg den skinne type, du ønsker at udskifte lokomotiver til
|
||||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Viser hvilket køretøj det valgte køretøj til venstre bliver udskiftet med, hvis det udskiftes
|
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Viser hvilket køretøj det valgte køretøj til venstre bliver udskiftet med, hvis det udskiftes
|
||||||
@@ -3647,6 +3664,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} år ({C
|
|||||||
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} år ({COMMA})
|
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} år ({COMMA})
|
||||||
|
|
||||||
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Maks. hast.: {LTBLUE}{VELOCITY}
|
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Maks. hast.: {LTBLUE}{VELOCITY}
|
||||||
|
STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Max. hastighed: {LTBLUE}{VELOCITY} {BLACK}Fly type: {LTBLUE}{STRING}
|
||||||
|
STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Max. hastighed: {LTBLUE}{VELOCITY} {BLACK}Fly type: {LTBLUE}{STRING} {BLACK}Rækkevidde: {LTBLUE}{COMMA} felter
|
||||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Vægt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Effekt: {LTBLUE}{POWER}{BLACK} Maks. hast.: {LTBLUE}{VELOCITY}
|
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Vægt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Effekt: {LTBLUE}{POWER}{BLACK} Maks. hast.: {LTBLUE}{VELOCITY}
|
||||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vægt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Effekt: {LTBLUE}{POWER}{BLACK} Maks. hast.: {LTBLUE}{VELOCITY} {BLACK}Maks. trækkraft: {LTBLUE}{FORCE}
|
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vægt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Effekt: {LTBLUE}{POWER}{BLACK} Maks. hast.: {LTBLUE}{VELOCITY} {BLACK}Maks. trækkraft: {LTBLUE}{FORCE}
|
||||||
|
|
||||||
|
@@ -2691,7 +2691,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terrein in bedr
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}Over OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}Over OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Originele copyright {COPYRIGHT} 1995 Chris Sawyer, alle rechten voorbehouden
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Originele copyright {COPYRIGHT} 1995 Chris Sawyer, alle rechten voorbehouden
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versie {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD versie {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 Het OpenTTD-team
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 Het OpenTTD-team
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spel Opslaan
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spel Opslaan
|
||||||
@@ -3296,11 +3296,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Vereist:
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Vereist: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Vereist: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Vereist
|
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Vereist:
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}wachtend
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} wachtend{STRING}
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING}
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produceert: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produceert: {YELLOW}{STRING}{STRING}
|
||||||
|
@@ -2691,7 +2691,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game
|
||||||
@@ -3296,11 +3296,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Requires
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Requires: {YELLOW}{STRING}{RAW_STRING}, {STRING}{RAW_STRING}, {STRING}{RAW_STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Requires: {YELLOW}{STRING}{RAW_STRING}, {STRING}{RAW_STRING}, {STRING}{RAW_STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Requires
|
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Requires:
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:RAW_STRING}
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}waiting
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} waiting{RAW_STRING}
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{RAW_STRING}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{RAW_STRING}
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produces: {YELLOW}{STRING}{RAW_STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produces: {YELLOW}{STRING}{RAW_STRING}
|
||||||
|
@@ -2662,7 +2662,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game
|
||||||
|
@@ -2691,7 +2691,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 The OpenTTD team
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 The OpenTTD team
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game
|
||||||
@@ -3296,11 +3296,9 @@ STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO :{BLACK}Requires
|
|||||||
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Requires: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_CARGO_CARGO_CARGO :{BLACK}Requires: {YELLOW}{STRING}{STRING}, {STRING}{STRING}, {STRING}{STRING}
|
||||||
############ range for requires ends
|
############ range for requires ends
|
||||||
|
|
||||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Requires
|
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Requires:
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{CARGO_LONG} {BLACK}waiting
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} waiting{STRING}
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_TEXT :{YELLOW}{STRING}{STRING}
|
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT_TEXT :{YELLOW}{CARGO_LONG}{STRING}
|
|
||||||
|
|
||||||
############ range for produces starts
|
############ range for produces starts
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produces: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_CARGO :{BLACK}Produces: {YELLOW}{STRING}{STRING}
|
||||||
|
@@ -2265,7 +2265,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Kompanie poseda
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}Pri OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}Pri OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Origina kopirajto {COPYRIGHT} 1995 Chris Sawyer, Ĉiuj rajtoj rezervitaj
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Origina kopirajto {COPYRIGHT} 1995 Chris Sawyer, Ĉiuj rajtoj rezervitaj
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD-versio {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD-versio {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 La teamo de OpenTTD
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 La teamo de OpenTTD
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Konservu Ludon
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Konservu Ludon
|
||||||
|
@@ -2745,7 +2745,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ettevõtte maa
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD lisainfo
|
STR_ABOUT_OPENTTD :{WHITE}OpenTTD lisainfo
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Algne autorikaitse {COPYRIGHT} 1995 Chris Sawyer, kõik õigused kaitstud
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Algne autorikaitse {COPYRIGHT} 1995 Chris Sawyer, kõik õigused kaitstud
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD osa {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD osa {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2017 OpenTTD meeskond
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2018 OpenTTD meeskond
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Mängu salvestamine
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Mängu salvestamine
|
||||||
|
@@ -2427,7 +2427,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ogn hjá fyrit
|
|||||||
STR_ABOUT_OPENTTD :{WHITE}Um OpenTTD
|
STR_ABOUT_OPENTTD :{WHITE}Um OpenTTD
|
||||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Upprunalig upphavsrættindi {COPYRIGHT} 1995 Chris Sawyer, Øll rættindi umbiðin
|
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Upprunalig upphavsrættindi {COPYRIGHT} 1995 Chris Sawyer, Øll rættindi umbiðin
|
||||||
STR_ABOUT_VERSION :{BLACK}OpenTTD útgáva {REV}
|
STR_ABOUT_VERSION :{BLACK}OpenTTD útgáva {REV}
|
||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2017 OpenTTD toymi
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2018 OpenTTD toymi
|
||||||
|
|
||||||
# Save/load game/scenario
|
# Save/load game/scenario
|
||||||
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Goym spæl
|
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Goym spæl
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user