Merge branch 'cpp-11' into crashlog_improvements
# Conflicts: # Makefile.src.in # projects/determineversion.vbs # source.list # src/crashlog.cpp # src/misc.cpp # src/os/unix/crashlog_unix.cpp # src/os/windows/crashlog_win.cpp # src/rev.h # src/thread/thread.h # src/thread/thread_morphos.cpp # src/thread/thread_none.cpp # src/thread/thread_os2.cpp # src/thread/thread_pthread.cpp # src/thread/thread_win32.cpppull/88/head
commit
d5ee9d34da
@ -0,0 +1,13 @@
|
|||||||
|
notifications:
|
||||||
|
push:
|
||||||
|
irc:
|
||||||
|
- openttd
|
||||||
|
- openttd.notice
|
||||||
|
pull-request:
|
||||||
|
irc:
|
||||||
|
- openttd
|
||||||
|
- openttd.notice
|
||||||
|
issue:
|
||||||
|
irc:
|
||||||
|
- openttd
|
||||||
|
- openttd.notice
|
@ -0,0 +1,7 @@
|
|||||||
|
## Version of OpenTTD
|
||||||
|
|
||||||
|
## Expected result
|
||||||
|
|
||||||
|
## Actual result
|
||||||
|
|
||||||
|
## Steps to reproduce
|
@ -0,0 +1,34 @@
|
|||||||
|
daysUntilClose: 7
|
||||||
|
staleLabel: stale
|
||||||
|
closeComment: false
|
||||||
|
exemptMilestones: true
|
||||||
|
exemptAssignees: true
|
||||||
|
|
||||||
|
issues:
|
||||||
|
daysUntilStale: 60
|
||||||
|
exemptLabels:
|
||||||
|
- pinned
|
||||||
|
- security
|
||||||
|
- "good first issue"
|
||||||
|
- regression
|
||||||
|
markComment: >
|
||||||
|
This issue has been automatically marked as stale because it has not had any activity in the last two months.
|
||||||
|
|
||||||
|
If you believe the issue is still relevant, please test on the latest nightly and report back.
|
||||||
|
|
||||||
|
It will be closed if no further activity occurs within 7 days.
|
||||||
|
|
||||||
|
Thank you for your contributions.
|
||||||
|
|
||||||
|
pulls:
|
||||||
|
daysUntilStale: 30
|
||||||
|
exemptLabels:
|
||||||
|
- pinned
|
||||||
|
markComment: >
|
||||||
|
This pull request has been automatically marked as stale because it has not had any activity in the last month.
|
||||||
|
|
||||||
|
Please feel free to give a status update now, ping for review, or re-open when it's ready.
|
||||||
|
|
||||||
|
It will be closed if no further activity occurs within 7 days.
|
||||||
|
|
||||||
|
Thank you for your contributions.
|
@ -1,75 +0,0 @@
|
|||||||
#!/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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,69 @@
|
|||||||
|
trigger:
|
||||||
|
- master
|
||||||
|
- release/*
|
||||||
|
pr:
|
||||||
|
- master
|
||||||
|
- release/*
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: windows
|
||||||
|
displayName: 'Windows'
|
||||||
|
pool:
|
||||||
|
vmImage: 'VS2017-Win2016'
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
Win32:
|
||||||
|
BuildPlatform: 'Win32'
|
||||||
|
Win64:
|
||||||
|
BuildPlatform: 'x64'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- template: azure-pipelines/templates/ci-git-rebase.yml
|
||||||
|
- template: azure-pipelines/templates/windows-dependencies.yml
|
||||||
|
- template: azure-pipelines/templates/ci-opengfx.yml
|
||||||
|
- template: azure-pipelines/templates/windows-build.yml
|
||||||
|
parameters:
|
||||||
|
BuildPlatform: $(BuildPlatform)
|
||||||
|
- script: |
|
||||||
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
|
||||||
|
cd projects
|
||||||
|
call regression.bat
|
||||||
|
displayName: 'Test'
|
||||||
|
|
||||||
|
- job: linux
|
||||||
|
displayName: 'Linux'
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-16.04'
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
commit-checker: {}
|
||||||
|
linux-amd64-clang-3.8: {}
|
||||||
|
linux-amd64-gcc-6: {}
|
||||||
|
linux-i386-gcc-6: {}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- template: azure-pipelines/templates/ci-git-rebase.yml
|
||||||
|
# The dockers already have the dependencies installed
|
||||||
|
# The dockers already have OpenGFX installed
|
||||||
|
- template: azure-pipelines/templates/linux-build.yml
|
||||||
|
parameters:
|
||||||
|
Image: compile-farm-ci
|
||||||
|
Tag: $(Agent.JobName)
|
||||||
|
|
||||||
|
- job: macos
|
||||||
|
displayName: 'MacOS'
|
||||||
|
pool:
|
||||||
|
vmImage: 'macOS-10.13'
|
||||||
|
|
||||||
|
variables:
|
||||||
|
MACOSX_DEPLOYMENT_TARGET: 10.9
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- template: azure-pipelines/templates/ci-git-rebase.yml
|
||||||
|
- template: azure-pipelines/templates/osx-dependencies.yml
|
||||||
|
- template: azure-pipelines/templates/ci-opengfx.yml
|
||||||
|
- template: azure-pipelines/templates/osx-build.yml
|
||||||
|
- script: 'make regression'
|
||||||
|
displayName: 'Test'
|
@ -0,0 +1,10 @@
|
|||||||
|
trigger:
|
||||||
|
branches:
|
||||||
|
include:
|
||||||
|
- refs/tags/*
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: azure-pipelines/templates/release.yml
|
||||||
|
parameters:
|
||||||
|
IsStableRelease: true
|
@ -0,0 +1,7 @@
|
|||||||
|
trigger: none
|
||||||
|
pr: none
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: azure-pipelines/templates/release.yml
|
||||||
|
parameters:
|
||||||
|
IsStableRelease: false
|
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
tag=$(git describe --tags 2>/dev/null)
|
||||||
|
|
||||||
|
# If we are a tag, show the part of the changelog till (but excluding) the last stable
|
||||||
|
if [ -n "$tag" ]; then
|
||||||
|
grep='^[0-9]\.[0-9]\.[0-9][^-]'
|
||||||
|
next=$(cat changelog.txt | grep '^[0-9]' | awk 'BEGIN { show="false" } // { if (show=="true") print $0; if ($1=="'$tag'") show="true"} ' | grep "$grep" | head -n1 | sed 's/ .*//')
|
||||||
|
cat changelog.txt | awk 'BEGIN { show="false" } /^[0-9].[0-9].[0-9]/ { if ($1=="'$next'") show="false"; if ($1=="'$tag'") show="true";} // { if (show=="true") print $0 }'
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# In all other cases, show the git log of the last 7 days
|
||||||
|
revdate=$(git log -1 --pretty=format:"%ci")
|
||||||
|
last_week=$(date -u -d "$revdate -7days" +"%Y-%m-%d %H:%M")
|
||||||
|
git log --after="${last_week}" --pretty=fuller
|
@ -0,0 +1,60 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "Usage: $0 <folder-with-bundles>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
FOLDER=$1
|
||||||
|
|
||||||
|
if [ ! -e .version ] || [ ! -e .release_date ]; then
|
||||||
|
echo "This script should be executed in the root of an extracted source tarball"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Find the name based on the version
|
||||||
|
if [ -e .is_stable ]; then
|
||||||
|
isTesting=$(cat .version | grep "RC\|beta" || true)
|
||||||
|
if [ -z "${isTesting}" ]; then
|
||||||
|
NAME="stable"
|
||||||
|
else
|
||||||
|
NAME="testing"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
NAME=$(cat .version | cut -d- -f2 | cut -d- -f-2)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Convert the date to a YAML date
|
||||||
|
DATE=$(cat .release_date | tr ' ' T | sed 's/TUTC/:00-00:00/')
|
||||||
|
VERSION=$(cat .version)
|
||||||
|
BASE="openttd-${VERSION}"
|
||||||
|
|
||||||
|
echo "name: ${NAME}" >> manifest.yaml
|
||||||
|
echo "date: ${DATE}" >> manifest.yaml
|
||||||
|
echo "base: ${BASE}-" >> manifest.yaml
|
||||||
|
echo "files:" >> manifest.yaml
|
||||||
|
|
||||||
|
error=""
|
||||||
|
for i in $(ls ${FOLDER} | grep -v ".txt$\|.md$\|sum$" | sort); do
|
||||||
|
if [ -n "$(echo $i | grep pdb.xz)" ]; then continue; fi
|
||||||
|
if [ -n "$(echo $i | grep dbg.deb)" ]; then continue; fi
|
||||||
|
|
||||||
|
if [ ! -e ${FOLDER}/$i.md5sum ] || [ ! -e ${FOLDER}/$i.sha1sum ] || [ ! -e ${FOLDER}/$i.sha256sum ]; then
|
||||||
|
echo "ERROR: missing checksum file for ${i}" 1>&2
|
||||||
|
error="y"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "- id: $i" >> manifest.yaml
|
||||||
|
echo " size: $(stat -c"%s" ${FOLDER}/$i)" >> manifest.yaml
|
||||||
|
echo " md5sum: $(cat ${FOLDER}/$i.md5sum | cut -d\ -f1)" >> manifest.yaml
|
||||||
|
echo " sha1sum: $(cat ${FOLDER}/$i.sha1sum | cut -d\ -f1)" >> manifest.yaml
|
||||||
|
echo " sha256sum: $(cat ${FOLDER}/$i.sha256sum | cut -d\ -f1)" >> manifest.yaml
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -n "${error}" ]; then
|
||||||
|
echo "ERROR: exiting due to earlier errors" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
@ -0,0 +1,10 @@
|
|||||||
|
steps:
|
||||||
|
# Rebase to target branch for every PR. This means users don't have to
|
||||||
|
# rebase every time target branch changes. As long as the PR applies cleanly, we
|
||||||
|
# will validate it.
|
||||||
|
- bash: |
|
||||||
|
git config user.email 'info@openttd.org'
|
||||||
|
git config user.name 'OpenTTD CI'
|
||||||
|
git rebase origin/${SYSTEM_PULLREQUEST_TARGETBRANCH}
|
||||||
|
displayName: 'Rebase to target branch'
|
||||||
|
condition: and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'))
|
@ -0,0 +1,8 @@
|
|||||||
|
steps:
|
||||||
|
- bash: |
|
||||||
|
set -ex
|
||||||
|
cd bin/baseset
|
||||||
|
curl -L https://binaries.openttd.org/extra/opengfx/0.5.2/opengfx-0.5.2-all.zip > opengfx-0.5.2-all.zip
|
||||||
|
unzip opengfx-0.5.2-all.zip
|
||||||
|
rm -f opengfx-0.5.2-all.zip
|
||||||
|
displayName: 'Install OpenGFX'
|
@ -0,0 +1,36 @@
|
|||||||
|
parameters:
|
||||||
|
Image: ''
|
||||||
|
Tag: ''
|
||||||
|
ContainerCommand: ''
|
||||||
|
|
||||||
|
steps:
|
||||||
|
# 'envVars' in the 'Docker@1' task is a bit funky. When you want to use a
|
||||||
|
# variable, you have to quote it. But the quote is also sent directly to
|
||||||
|
# Docker and ends up in the variable, which you don't want. To work around
|
||||||
|
# this, we set the correct variable first (which becomes an env-variable), and
|
||||||
|
# pass that env-variable through to Docker. We cannot use the normal
|
||||||
|
# 'variables' entry, as we are a template. So that results in this bit of
|
||||||
|
# Bash code. Not because it is pretty, but it is the only way we found that
|
||||||
|
# works.
|
||||||
|
- bash: |
|
||||||
|
echo "##vso[task.setvariable variable=TARGET_BRANCH]${SYSTEM_PULLREQUEST_TARGETBRANCH}"
|
||||||
|
echo "Target branch is ${SYSTEM_PULLREQUEST_TARGETBRANCH}"
|
||||||
|
displayName: "Set target branch"
|
||||||
|
condition: and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'))
|
||||||
|
|
||||||
|
- task: Docker@1
|
||||||
|
${{ if eq(parameters.Image, 'compile-farm') }}:
|
||||||
|
displayName: 'Build'
|
||||||
|
${{ if eq(parameters.Image, 'compile-farm-ci') }}:
|
||||||
|
displayName: 'Build and test'
|
||||||
|
# Run the commit-checker only if it is a Pull Request
|
||||||
|
condition: and(succeeded(), or(ne(variables['Agent.JobName'], 'commit-checker'), eq(variables['Build.Reason'], 'PullRequest')))
|
||||||
|
inputs:
|
||||||
|
command: 'Run an image'
|
||||||
|
imageName: openttd/${{ parameters.Image }}:${{ parameters.Tag }}
|
||||||
|
volumes: '$(Build.SourcesDirectory):$(Build.SourcesDirectory)'
|
||||||
|
workingDirectory: '$(Build.SourcesDirectory)'
|
||||||
|
containerCommand: ${{ parameters.ContainerCommand }}
|
||||||
|
runInBackground: false
|
||||||
|
envVars: |
|
||||||
|
TARGET_BRANCH
|
@ -0,0 +1,5 @@
|
|||||||
|
steps:
|
||||||
|
# Because we run the compile in a docker (under root), we are not owner
|
||||||
|
# of the 'bundles' folder. Fix that by executing a chown on it.
|
||||||
|
- bash: sudo chown -R $(id -u):$(id -g) bundles
|
||||||
|
displayName: 'Claim bundles folder back'
|
@ -0,0 +1,5 @@
|
|||||||
|
steps:
|
||||||
|
- script: './configure PKG_CONFIG_PATH=/usr/local/lib/pkgconfig --enable-static'
|
||||||
|
displayName: 'Configure'
|
||||||
|
- script: 'make -j2'
|
||||||
|
displayName: 'Build'
|
@ -0,0 +1,12 @@
|
|||||||
|
steps:
|
||||||
|
- script: |
|
||||||
|
set -ex
|
||||||
|
HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config lzo xz libpng freetype
|
||||||
|
# Remove the dynamic libraries of these libraries, to ensure we use
|
||||||
|
# the static versions. That is important, as it is unlikely any
|
||||||
|
# end-user has these brew libraries installed.
|
||||||
|
rm /usr/local/Cellar/lzo/*/lib/*.dylib
|
||||||
|
rm /usr/local/Cellar/xz/*/lib/*.dylib
|
||||||
|
rm /usr/local/Cellar/libpng/*/lib/*.dylib
|
||||||
|
rm /usr/local/Cellar/freetype/*/lib/*.dylib
|
||||||
|
displayName: 'Install dependencies'
|
@ -0,0 +1,19 @@
|
|||||||
|
parameters:
|
||||||
|
CalculateChecksums: true
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- ${{ if eq(parameters.CalculateChecksums, true) }}:
|
||||||
|
- bash: |
|
||||||
|
set -ex
|
||||||
|
cd bundles
|
||||||
|
for i in $(ls); do
|
||||||
|
openssl dgst -r -md5 -hex $i > $i.md5sum
|
||||||
|
openssl dgst -r -sha1 -hex $i > $i.sha1sum
|
||||||
|
openssl dgst -r -sha256 -hex $i > $i.sha256sum
|
||||||
|
done
|
||||||
|
displayName: 'Calculate checksums'
|
||||||
|
- task: PublishBuildArtifacts@1
|
||||||
|
displayName: 'Publish bundles'
|
||||||
|
inputs:
|
||||||
|
PathtoPublish: bundles/
|
||||||
|
ArtifactName: bundles
|
@ -0,0 +1,20 @@
|
|||||||
|
# Fetch the source tarball as prepared by an earlier job. In there is the
|
||||||
|
# version predefined. This ensures we are all going to compile the same
|
||||||
|
# source with the same version.
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- checkout: none
|
||||||
|
- task: DownloadBuildArtifacts@0
|
||||||
|
displayName: 'Download source'
|
||||||
|
inputs:
|
||||||
|
downloadType: specific
|
||||||
|
itemPattern: 'bundles/openttd-*-source.tar.xz'
|
||||||
|
downloadPath: '$(Build.ArtifactStagingDirectory)'
|
||||||
|
- bash: tar --xz -xf ../a/bundles/openttd-*-source.tar.xz --strip-components=1
|
||||||
|
displayName: 'Extracting source'
|
||||||
|
- bash: |
|
||||||
|
set -e
|
||||||
|
VERSION=$(cat .version)
|
||||||
|
echo "${VERSION}"
|
||||||
|
echo "##vso[build.updatebuildnumber]${VERSION}"
|
||||||
|
displayName: 'Change BuildNumber to version'
|
@ -0,0 +1,20 @@
|
|||||||
|
parameters:
|
||||||
|
IsStableRelease: false
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- task: DownloadBuildArtifacts@0
|
||||||
|
displayName: 'Download all bundles'
|
||||||
|
inputs:
|
||||||
|
downloadType: specific
|
||||||
|
itemPattern: 'bundles/*'
|
||||||
|
downloadPath: '$(Build.ArtifactStagingDirectory)'
|
||||||
|
- ${{ if eq(parameters.IsStableRelease, true) }}:
|
||||||
|
- script: |
|
||||||
|
touch .is_stable
|
||||||
|
displayName: 'Mark as stable release'
|
||||||
|
- script: |
|
||||||
|
set -ex
|
||||||
|
./azure-pipelines/manifest.sh ../a/bundles/
|
||||||
|
mkdir -p bundles
|
||||||
|
mv manifest.yaml bundles/
|
||||||
|
displayName: 'Create manifest.yaml'
|
@ -0,0 +1,35 @@
|
|||||||
|
# Set the revisions, and remove the VCS files.
|
||||||
|
# This ensures everything else picks up on the predefined versions, and not
|
||||||
|
# that because of some build process the version all of a sudden changes.
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- script: |
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
if [ -n "${SYSTEM_PULLREQUEST_PULLREQUESTNUMBER}" ]; then
|
||||||
|
# We are triggered from a GitHub Pull Request
|
||||||
|
git checkout -B pr${SYSTEM_PULLREQUEST_PULLREQUESTNUMBER}
|
||||||
|
elif [ "${BUILD_SOURCEBRANCHNAME}" = "merge" ] || [ "${BUILD_SOURCEBRANCHNAME}" = "head" ]; then
|
||||||
|
# We are manually triggered based on a GitHub Pull Request
|
||||||
|
PULLREQUESTNUMBER=$(echo ${BUILD_SOURCEBRANCH} | cut -d/ -f3)
|
||||||
|
git checkout -B pr${PULLREQUESTNUMBER}
|
||||||
|
else
|
||||||
|
git checkout -B ${BUILD_SOURCEBRANCHNAME}
|
||||||
|
fi
|
||||||
|
|
||||||
|
./findversion.sh > .ottdrev
|
||||||
|
./azure-pipelines/changelog.sh > .changelog
|
||||||
|
TZ='UTC' date +"%Y-%m-%d %H:%M UTC" > .release_date
|
||||||
|
cat .ottdrev | cut -f 1 -d$'\t' > .version
|
||||||
|
echo "Release Date: $(cat .release_date)"
|
||||||
|
echo "Revision: $(cat .ottdrev)"
|
||||||
|
echo "Version: $(cat .version)"
|
||||||
|
displayName: 'Create version files'
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
VERSION=$(cat .version)
|
||||||
|
echo "${VERSION}"
|
||||||
|
echo "##vso[build.updatebuildnumber]${VERSION}"
|
||||||
|
displayName: 'Change BuildNumber to version'
|
||||||
|
- script: find . -iname .hg -or -iname .git -or -iname .svn | xargs rm -rf
|
||||||
|
displayName: 'Remove VCS information'
|
@ -0,0 +1,175 @@
|
|||||||
|
parameters:
|
||||||
|
# If this is false, not all targets are triggered. For example:
|
||||||
|
# The NSIS installer for Windows and the creation of debs only work for
|
||||||
|
# releases. Not for any other type of binary. So they are skilled if this
|
||||||
|
# is set to false.
|
||||||
|
IsStableRelease: false
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: source
|
||||||
|
displayName: 'Source'
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-16.04'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- template: release-prepare-source.yml
|
||||||
|
- script: |
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
# Rename the folder to openttd-NNN-source
|
||||||
|
mkdir openttd-$(Build.BuildNumber)
|
||||||
|
find . -maxdepth 1 -not -name . -not -name openttd-$(Build.BuildNumber) -exec mv {} openttd-$(Build.BuildNumber)/ \;
|
||||||
|
# Copy back release_date, as it is needed for the template 'release-bundles'
|
||||||
|
cp openttd-$(Build.BuildNumber)/.release_date .release_date
|
||||||
|
|
||||||
|
mkdir bundles
|
||||||
|
tar --xz -cf bundles/openttd-$(Build.BuildNumber)-source.tar.xz openttd-$(Build.BuildNumber)
|
||||||
|
zip -9 -r -q bundles/openttd-$(Build.BuildNumber)-source.zip openttd-$(Build.BuildNumber)
|
||||||
|
displayName: 'Create bundle'
|
||||||
|
- template: release-bundles.yml
|
||||||
|
|
||||||
|
- job: meta
|
||||||
|
displayName: 'Metadata'
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-16.04'
|
||||||
|
dependsOn: source
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- template: release-fetch-source.yml
|
||||||
|
- script: |
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
mkdir -p bundles
|
||||||
|
cp .changelog bundles/changelog.txt
|
||||||
|
cp .release_date bundles/released.txt
|
||||||
|
cp README.md bundles/README.md
|
||||||
|
displayName: 'Copy meta files'
|
||||||
|
- template: release-bundles.yml
|
||||||
|
parameters:
|
||||||
|
CalculateChecksums: false
|
||||||
|
|
||||||
|
- job: docs
|
||||||
|
displayName: 'Docs'
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-16.04'
|
||||||
|
dependsOn: source
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- template: release-fetch-source.yml
|
||||||
|
- template: linux-build.yml
|
||||||
|
parameters:
|
||||||
|
Image: compile-farm
|
||||||
|
ContainerCommand: '$(Build.BuildNumber)'
|
||||||
|
Tag: docs
|
||||||
|
- template: linux-claim-bundles.yml
|
||||||
|
- template: release-bundles.yml
|
||||||
|
|
||||||
|
- job: windows
|
||||||
|
displayName: 'Windows'
|
||||||
|
pool:
|
||||||
|
vmImage: 'VS2017-Win2016'
|
||||||
|
dependsOn: source
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
Win32:
|
||||||
|
BuildPlatform: 'Win32'
|
||||||
|
BundlePlatform: 'win32'
|
||||||
|
Win64:
|
||||||
|
BuildPlatform: 'x64'
|
||||||
|
BundlePlatform: 'win64'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- template: release-fetch-source.yml
|
||||||
|
- template: windows-dependencies.yml
|
||||||
|
- template: windows-dependency-zip.yml
|
||||||
|
- ${{ if eq(parameters.IsStableRelease, true) }}:
|
||||||
|
- template: windows-dependency-nsis.yml
|
||||||
|
- template: windows-build.yml
|
||||||
|
parameters:
|
||||||
|
BuildPlatform: $(BuildPlatform)
|
||||||
|
- bash: |
|
||||||
|
set -ex
|
||||||
|
make -f Makefile.msvc bundle_pdb bundle_zip PLATFORM=$(BundlePlatform) BUNDLE_NAME=openttd-$(Build.BuildNumber)-windows-$(BundlePlatform)
|
||||||
|
displayName: 'Create bundles'
|
||||||
|
- ${{ if eq(parameters.IsStableRelease, true) }}:
|
||||||
|
- bash: |
|
||||||
|
set -ex
|
||||||
|
# NSIS will be part of the Hosted image in the next update. Till then, we set the PATH ourself
|
||||||
|
export PATH="${PATH}:/c/Program Files (x86)/NSIS"
|
||||||
|
make -f Makefile.msvc bundle_exe PLATFORM=$(BundlePlatform) BUNDLE_NAME=openttd-$(Build.BuildNumber)-windows-$(BundlePlatform)
|
||||||
|
displayName: 'Create installer bundle'
|
||||||
|
- template: release-bundles.yml
|
||||||
|
|
||||||
|
- ${{ if eq(parameters.IsStableRelease, true) }}:
|
||||||
|
- job: linux_stable
|
||||||
|
displayName: 'Linux'
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-16.04'
|
||||||
|
dependsOn: source
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
linux-ubuntu-xenial-i386-gcc: {}
|
||||||
|
linux-ubuntu-xenial-amd64-gcc: {}
|
||||||
|
linux-ubuntu-bionic-i386-gcc: {}
|
||||||
|
linux-ubuntu-bionic-amd64-gcc: {}
|
||||||
|
linux-debian-jessie-i386-gcc: {}
|
||||||
|
linux-debian-jessie-amd64-gcc: {}
|
||||||
|
linux-debian-stretch-i386-gcc: {}
|
||||||
|
linux-debian-stretch-amd64-gcc: {}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- template: release-fetch-source.yml
|
||||||
|
- template: linux-build.yml
|
||||||
|
parameters:
|
||||||
|
Image: compile-farm
|
||||||
|
ContainerCommand: '$(Build.BuildNumber)'
|
||||||
|
Tag: $(Agent.JobName)
|
||||||
|
- template: linux-claim-bundles.yml
|
||||||
|
- template: release-bundles.yml
|
||||||
|
|
||||||
|
- job: macos
|
||||||
|
displayName: 'MacOS'
|
||||||
|
pool:
|
||||||
|
vmImage: 'macOS-10.13'
|
||||||
|
dependsOn: source
|
||||||
|
|
||||||
|
variables:
|
||||||
|
MACOSX_DEPLOYMENT_TARGET: 10.9
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- template: release-fetch-source.yml
|
||||||
|
- template: osx-dependencies.yml
|
||||||
|
- template: osx-build.yml
|
||||||
|
- script: 'make bundle_zip bundle_dmg BUNDLE_NAME=openttd-$(Build.BuildNumber)-macosx'
|
||||||
|
displayName: 'Create bundles'
|
||||||
|
- template: release-bundles.yml
|
||||||
|
|
||||||
|
- job: manifest
|
||||||
|
displayName: 'Manifest'
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-16.04'
|
||||||
|
dependsOn:
|
||||||
|
- source
|
||||||
|
- docs
|
||||||
|
- windows
|
||||||
|
- ${{ if eq(parameters.IsStableRelease, true) }}:
|
||||||
|
- linux_stable
|
||||||
|
- macos
|
||||||
|
# "Skipped" is not a status, and is not succeeded. So it seems to be
|
||||||
|
# considered failed. So we trigger if all the earlier jobs are done (which
|
||||||
|
# might be succeeded, failed, or skipped), and run this job. This is not
|
||||||
|
# optimal, but given the rules, it is the only way to get this to work (as
|
||||||
|
# some jobs might be skipped).
|
||||||
|
condition: succeededOrFailed()
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- template: release-fetch-source.yml
|
||||||
|
- template: release-manifest.yml
|
||||||
|
${{ if eq(parameters.IsStableRelease, true) }}:
|
||||||
|
parameters:
|
||||||
|
IsStableRelease: true
|
||||||
|
- template: release-bundles.yml
|
||||||
|
parameters:
|
||||||
|
CalculateChecksums: false
|
@ -0,0 +1,11 @@
|
|||||||
|
parameters:
|
||||||
|
BuildPlatform: ''
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- task: VSBuild@1
|
||||||
|
displayName: 'Build'
|
||||||
|
inputs:
|
||||||
|
solution: 'projects/openttd_vs141.sln'
|
||||||
|
platform: ${{ parameters.BuildPlatform }}
|
||||||
|
configuration: Release
|
||||||
|
maximumCpuCount: true
|
@ -0,0 +1,14 @@
|
|||||||
|
steps:
|
||||||
|
- bash: |
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
curl -L https://github.com/OpenTTD/CompileFarm/releases/download/latest/windows-dependencies.zip > windows-dependencies.zip
|
||||||
|
unzip windows-dependencies.zip
|
||||||
|
rm -f windows-dependencies.zip
|
||||||
|
|
||||||
|
mv windows-dependencies/installed /c/vcpkg/
|
||||||
|
rm -rf windows-dependencies
|
||||||
|
displayName: 'Install dependencies'
|
||||||
|
workingDirectory: $(Build.ArtifactStagingDirectory)
|
||||||
|
- script: c:\vcpkg\vcpkg.exe integrate install
|
||||||
|
displayName: 'Integrate vcpkg'
|
@ -0,0 +1,26 @@
|
|||||||
|
parameters:
|
||||||
|
condition: true
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- bash: |
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
mkdir nsis-plugin; cd nsis-plugin
|
||||||
|
curl -L https://devs.openttd.org/~truebrain/nsis-plugins/Nsis7z.zip > Nsis7z.zip
|
||||||
|
unzip Nsis7z.zip
|
||||||
|
cp -R Plugins/* "/c/Program Files (x86)/NSIS/Plugins/"
|
||||||
|
cd ..; rm -rf nsis-plugin
|
||||||
|
|
||||||
|
mkdir nsis-plugin; cd nsis-plugin
|
||||||
|
curl -L https://devs.openttd.org/~truebrain/nsis-plugins/NsisGetVersion.zip > NsisGetVersion.zip
|
||||||
|
unzip NsisGetVersion.zip
|
||||||
|
cp -R Plugins/* "/c/Program Files (x86)/NSIS/Plugins/x86-ansi/"
|
||||||
|
cd ..; rm -rf nsis-plugin
|
||||||
|
|
||||||
|
mkdir nsis-plugin; cd nsis-plugin
|
||||||
|
curl -L https://devs.openttd.org/~truebrain/nsis-plugins/NsisFindProc.zip > NsisFindProc.zip
|
||||||
|
unzip NsisFindProc.zip
|
||||||
|
cp -R *.dll "/c/Program Files (x86)/NSIS/Plugins/x86-ansi/"
|
||||||
|
cd ..; rm -rf nsis-plugin
|
||||||
|
displayName: 'Install NSIS with the 7z, GetVersion, and FindProc plugins'
|
||||||
|
condition: and(succeeded(), ${{ parameters.condition }})
|
@ -0,0 +1,5 @@
|
|||||||
|
steps:
|
||||||
|
- bash: |
|
||||||
|
set -ex
|
||||||
|
choco install zip
|
||||||
|
displayName: 'Install zip'
|
@ -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/>.
|
||||||
|
*/
|
@ -0,0 +1,154 @@
|
|||||||
|
Option Explicit
|
||||||
|
|
||||||
|
' $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/>.
|
||||||
|
|
||||||
|
Dim FSO
|
||||||
|
Set FSO = CreateObject("Scripting.FileSystemObject")
|
||||||
|
|
||||||
|
Function GetTestList()
|
||||||
|
Dim retests, i, tests, dir
|
||||||
|
Set retests = New RegExp
|
||||||
|
Set GetTestList = CreateObject("Scripting.Dictionary")
|
||||||
|
|
||||||
|
retests.Pattern = "ai/regression/tst_*"
|
||||||
|
retests.Global = True
|
||||||
|
For i = 0 To WScript.Arguments.Count - 1
|
||||||
|
Dim test
|
||||||
|
test = "ai/regression/tst_" & WScript.Arguments.Item(i)
|
||||||
|
If FSO.FolderExists(test) Then
|
||||||
|
retests.Pattern = test
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
For Each dir In FSO.GetFolder("ai/regression/").SubFolders
|
||||||
|
Dim name
|
||||||
|
name = "ai/regression/" & dir.Name
|
||||||
|
If retests.Test(name) Then
|
||||||
|
GetTestList.Add name, name
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Function GetParams()
|
||||||
|
GetParams = "-snull -mnull -vnull:ticks=30000"
|
||||||
|
If WScript.Arguments.Count = 0 Then Exit Function
|
||||||
|
If WScript.Arguments.Item(0) <> "-r" Then Exit Function
|
||||||
|
GetParams = ""
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Sub FilterFile(filename)
|
||||||
|
Dim lines, filter, file
|
||||||
|
|
||||||
|
Set file = FSO.OpenTextFile(filename, 1)
|
||||||
|
If Not file.AtEndOfStream Then
|
||||||
|
lines = file.ReadAll
|
||||||
|
End If
|
||||||
|
file.Close
|
||||||
|
|
||||||
|
Set filter = New RegExp
|
||||||
|
filter.Global = True
|
||||||
|
filter.Multiline = True
|
||||||
|
filter.Pattern = "0x(\(nil\)|0+)(x0)?"
|
||||||
|
lines = filter.Replace(lines, "0x00000000")
|
||||||
|
filter.Pattern = "^dbg: \[script\]"
|
||||||
|
lines = filter.Replace(lines, "")
|
||||||
|
filter.Pattern = "^ "
|
||||||
|
lines = filter.Replace(lines, "ERROR: ")
|
||||||
|
filter.Pattern = "ERROR: \[1\] \[P\] "
|
||||||
|
lines = filter.Replace(lines, "")
|
||||||
|
filter.Pattern = "^dbg: .*\r\n"
|
||||||
|
lines = filter.Replace(lines, "")
|
||||||
|
|
||||||
|
Set file = FSO.OpenTextFile(filename, 2)
|
||||||
|
file.Write lines
|
||||||
|
file.Close
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Function CompareFiles(filename1, filename2)
|
||||||
|
Dim file, lines1, lines2
|
||||||
|
Set file = FSO.OpenTextFile(filename1, 1)
|
||||||
|
If Not file.AtEndOfStream Then
|
||||||
|
lines1 = file.ReadAll
|
||||||
|
End IF
|
||||||
|
file.Close
|
||||||
|
Set file = FSO.OpenTextFile(filename2, 1)
|
||||||
|
If Not file.AtEndOfStream Then
|
||||||
|
lines2 = file.ReadAll
|
||||||
|
End IF
|
||||||
|
file.Close
|
||||||
|
CompareFiles = (lines1 = lines2)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Function RunTest(test, params, ret)
|
||||||
|
Dim WshShell, oExec, sav, command
|
||||||
|
Set WshShell = CreateObject("WScript.Shell")
|
||||||
|
|
||||||
|
' Make sure that only one info.nut is present for each test run. Otherwise openttd gets confused.
|
||||||
|
FSO.CopyFile "ai/regression/regression_info.nut", test & "/info.nut"
|
||||||
|
|
||||||
|
sav = test & "/test.sav"
|
||||||
|
If Not FSO.FileExists(sav) Then
|
||||||
|
sav = "ai/regression/empty.sav"
|
||||||
|
End If
|
||||||
|
|
||||||
|
command = ".\openttd -x -c ai/regression/regression.cfg " & params & " -g " & sav & " -d script=2 -d misc=9"
|
||||||
|
' 2>&1 must be after >tmp.regression, else stderr is not redirected to the file
|
||||||
|
WshShell.Run "cmd /c " & command & " >"& test & "/tmp.regression 2>&1", 0, True
|
||||||
|
|
||||||
|
FilterFile test & "/tmp.regression"
|
||||||
|
|
||||||
|
If CompareFiles(test & "/result.txt", test & "/tmp.regression") Then
|
||||||
|
RunTest = "passed!"
|
||||||
|
Else
|
||||||
|
RunTest = "failed!"
|
||||||
|
ret = 1
|
||||||
|
End If
|
||||||
|
|
||||||
|
FSO.DeleteFile test & "/info.nut"
|
||||||
|
|
||||||
|
If WScript.Arguments.Count > 0 Then
|
||||||
|
If WScript.Arguments.Item(0) = "-k" Then
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
FSO.DeleteFile test & "/tmp.regression"
|
||||||
|
End Function
|
||||||
|
|
||||||
|
On Error Resume Next
|
||||||
|
WScript.StdOut.WriteLine ""
|
||||||
|
If Err.Number <> 0 Then
|
||||||
|
WScript.Echo "This script must be started with cscript."
|
||||||
|
WScript.Quit 1
|
||||||
|
End If
|
||||||
|
On Error Goto 0
|
||||||
|
|
||||||
|
If Not FSO.FileExists("ai/regression/run.vbs") Then
|
||||||
|
WScript.Echo "Make sure you are in the root of OpenTTD before starting this script."
|
||||||
|
WScript.Quit 1
|
||||||
|
End If
|
||||||
|
|
||||||
|
If FSO.FileExists("scripts/game_start.scr") Then
|
||||||
|
FSO.MoveFile "scripts/game_start.scr", "scripts/game_start.scr.regression"
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim params, test, ret
|
||||||
|
params = GetParams()
|
||||||
|
ret = 0
|
||||||
|
|
||||||
|
For Each test in GetTestList()
|
||||||
|
WScript.StdOut.Write "Running " & test & "... "
|
||||||
|
WScript.StdOut.WriteLine RunTest(test, params, ret)
|
||||||
|
Next
|
||||||
|
|
||||||
|
If FSO.FileExists("scripts/game_start.scr.regression") Then
|
||||||
|
FSO.MoveFile "scripts/game_start.scr.regression", "scripts/game_start.scr"
|
||||||
|
End If
|
||||||
|
|
||||||
|
WScript.Quit ret
|
@ -1,103 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents more or less nothingness
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = NoMusic
|
|
||||||
shortname = NULL
|
|
||||||
version = 0
|
|
||||||
fallback = true
|
|
||||||
description = A music pack without actual music.
|
|
||||||
description.af_ZA = 'n Musiek stel sonder enige musiek.
|
|
||||||
description.ar_EG = مجموعة موسيقى بدون موسيقى
|
|
||||||
description.be_BY = "Пусты" набор музычнага афармлення, які не зьмяшчае ніякай музыкі.
|
|
||||||
description.bg_BG = Празен музикален пакет.
|
|
||||||
description.ca_ES = Una llista de música sense cap peça.
|
|
||||||
description.cs_CZ = Prázná hudební sada.
|
|
||||||
description.cy_GB = Pecyn cerddoriaeth heb unrhyw gerddoriaeth ynddo.
|
|
||||||
description.da_DK = En musikpakke uden musik.
|
|
||||||
description.de_DE = Ein Musikset ohne Musik.
|
|
||||||
description.el_GR = Ένα πάκετο μουσικής χωρίς πραγματική μουσική.
|
|
||||||
description.en_AU = A music pack without actual music.
|
|
||||||
description.en_US = A music pack without actual music.
|
|
||||||
description.es_ES = Un conjunto de música vacío.
|
|
||||||
description.es_MX = Paquete de música vacío
|
|
||||||
description.et_EE = Muusikakogu ilma muusikata.
|
|
||||||
description.eu_ES = Musika gabeko musika paketea.
|
|
||||||
description.fi_FI = Musiikkipaketti, jossa ei ole musiikkia.
|
|
||||||
description.fr_FR = Un pack de musiques sans musiques.
|
|
||||||
description.ga_IE = Pacáiste ceoil gan aon cheol iarbhír ann.
|
|
||||||
description.gd_GB = Pacaid ciùil anns nach eil fonn sam bith.
|
|
||||||
description.gl_ES = Un conxunto de músicas sen ningunha música.
|
|
||||||
description.he_IL = אוסף מנגינות ללא מנגינות.
|
|
||||||
description.hr_HR = Glazbeni paket bez ikakve glazbe.
|
|
||||||
description.hu_HU = Zenei alapcsomag zene nélkül.
|
|
||||||
description.id_ID = Paket musik tanpa musik sungguhan.
|
|
||||||
description.is_IS = Tónlistarpakki sem er í raun án tónlistar.
|
|
||||||
description.it_IT = Un pacchetto musicale non contenente alcuna musica.
|
|
||||||
description.ja_JP = 空の音楽パック
|
|
||||||
description.ko_KR = 실제 음악이 없는 음악 목록입니다.
|
|
||||||
description.la_VA = Sarcina musicae sine ulla musica.
|
|
||||||
description.lb_LU = E Musikpack ouni aktuell Musik.
|
|
||||||
description.lt_LT = Muzikos pakas be muzikos.
|
|
||||||
description.lv_LV = Mūzikas kopa bez mūzikas
|
|
||||||
description.ms_MY = Pek muzik tanpa muzik sebenar.
|
|
||||||
description.nb_NO = En musikkpakke uten noe musikk.
|
|
||||||
description.nl_NL = Een muziekset zonder muziek.
|
|
||||||
description.nn_NO = Ei musikkpakke utan noko musikk.
|
|
||||||
description.pl_PL = Zestaw utworów muzycznych nie zawierający żadnej muzyki.
|
|
||||||
description.pt_BR = Um pacote de músicas sem músicas.
|
|
||||||
description.pt_PT = Um conjunto de música vazio.
|
|
||||||
description.ro_RO = Un set de muzică fără muzică inclusă.
|
|
||||||
description.ru_RU = "Пустой" набор музыкального оформления, не содержащий никакой музыки.
|
|
||||||
description.sk_SK = Sada hudby neobsahujúca hudbu.
|
|
||||||
description.sl_SI = Glasbeni paket z vključeno glasbo.
|
|
||||||
description.sr_RS = Prazan skup muzičkih numera.
|
|
||||||
description.sv_SE = Ett musikpaket utan någon musik.
|
|
||||||
description.ta_IN = இசை இல்லாத இசைத்தொகுப்பு.
|
|
||||||
description.th_TH = ชุดเพลงประกอบแบบไม่มีเสียงเพลง
|
|
||||||
description.tr_TR = Müzik içermeyen boş bir müzik paketi.
|
|
||||||
description.uk_UA = Порожній набір музики.
|
|
||||||
description.vi_VN = Gói âm nhạc này không có nhạc nào.
|
|
||||||
description.zh_CN = 一个没有实际内容的音乐包.
|
|
||||||
description.zh_TW = 不含任何音樂的音樂集。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
theme =
|
|
||||||
old_0 =
|
|
||||||
old_1 =
|
|
||||||
old_2 =
|
|
||||||
old_3 =
|
|
||||||
old_4 =
|
|
||||||
old_5 =
|
|
||||||
old_6 =
|
|
||||||
old_7 =
|
|
||||||
old_8 =
|
|
||||||
old_9 =
|
|
||||||
new_0 =
|
|
||||||
new_1 =
|
|
||||||
new_2 =
|
|
||||||
new_3 =
|
|
||||||
new_4 =
|
|
||||||
new_5 =
|
|
||||||
new_6 =
|
|
||||||
new_7 =
|
|
||||||
new_8 =
|
|
||||||
new_9 =
|
|
||||||
ezy_0 =
|
|
||||||
ezy_1 =
|
|
||||||
ezy_2 =
|
|
||||||
ezy_3 =
|
|
||||||
ezy_4 =
|
|
||||||
ezy_5 =
|
|
||||||
ezy_6 =
|
|
||||||
ezy_7 =
|
|
||||||
ezy_8 =
|
|
||||||
ezy_9 =
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
|
|
||||||
[names]
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = This file was part of your OpenTTD installation.
|
|
@ -1,70 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents more or less nothingness
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = NoSound
|
|
||||||
shortname = NULL
|
|
||||||
version = 2
|
|
||||||
fallback = true
|
|
||||||
description = A sound pack without any sounds.
|
|
||||||
description.af_ZA = 'n Klank stel sonder enige klanke.
|
|
||||||
description.ar_EG = مجموعة صوت بدوت اصوات مضافة
|
|
||||||
description.be_BY = "Пусты" набор гукавога афармленьня, які не зьмяшчае ніякіх гукаў.
|
|
||||||
description.bg_BG = Празен звуков пакет.
|
|
||||||
description.ca_ES = Una llista de sons buida.
|
|
||||||
description.cs_CZ = Prázdná sada zvuků.
|
|
||||||
description.cy_GB = Pecyn sain heb unrhyw effeithiau sain ynddo.
|
|
||||||
description.da_DK = En lydpakke uden lyde.
|
|
||||||
description.de_DE = Basissounds ohne Sound.
|
|
||||||
description.el_GR = Ένα πάκετο ήχων χώρις ήχους.
|
|
||||||
description.en_AU = A sound pack without any sounds.
|
|
||||||
description.en_US = A sound pack without any sounds.
|
|
||||||
description.es_ES = Un conjunto de sonidos vacío.
|
|
||||||
description.es_MX = Paquete de sonidos vacío
|
|
||||||
description.et_EE = Helikogu ilma helideta.
|
|
||||||
description.eu_ES = Soinurik gabeko soinu pakete bat
|
|
||||||
description.fi_FI = Äänipaketti, jossa ei ole ääniä.
|
|
||||||
description.fr_FR = Un pack de sons sans sons.
|
|
||||||
description.ga_IE = Pacáiste fuaimeanna gan aon fhuaimeanna ann.
|
|
||||||
description.gd_GB = Pacaid fhuaimean anns nach eil fuaim sam bith.
|
|
||||||
description.gl_ES = Un conxunto de sons sen ningún son
|
|
||||||
description.he_IL = אוסף צלילים ללא צלילים.
|
|
||||||
description.hr_HR = Zvučni paket bez ikakvih zvukova.
|
|
||||||
description.hu_HU = Hang alapcsomag hangok nélkül.
|
|
||||||
description.id_ID = Paket efek suara tanpa suara apapun.
|
|
||||||
description.is_IS = Hljóðpakki án hljóðs.
|
|
||||||
description.it_IT = Un pacchetto sonoro non contenente alcun suono.
|
|
||||||
description.ja_JP = 空の効果音パック
|
|
||||||
description.ko_KR = 아무런 효과음도 없는 효과음 팩입니다.
|
|
||||||
description.la_VA = Sarcina sonorum sine ullis sonis.
|
|
||||||
description.lb_LU = E Soundpack ouni iergendee Sound.
|
|
||||||
description.lt_LT = Garsų pakas be jokių garsų.
|
|
||||||
description.lv_LV = Skaņu kopa bez skaņas.
|
|
||||||
description.nb_NO = En lydpakke uten noen lyder.
|
|
||||||
description.nl_NL = Een geluidset zonder geluid.
|
|
||||||
description.nn_NO = Ei lydpakke utan nokon lydar.
|
|
||||||
description.pl_PL = Zestaw dźwięków nie zawierający żadnych dźwięków.
|
|
||||||
description.pt_BR = Um pacote de sons sem sons.
|
|
||||||
description.pt_PT = Um conjunto de sons vazio.
|
|
||||||
description.ro_RO = Un set de sunete fără nici un sunet inclus.
|
|
||||||
description.ru_RU = "Пустой" набор звукового оформления, не содержащий никаких звуков.
|
|
||||||
description.sk_SK = Zvuková sada neobsahujúca zvuky.
|
|
||||||
description.sl_SI = Zvočni paket brez zvoka.
|
|
||||||
description.sr_RS = Prazan skup zvukova.
|
|
||||||
description.sv_SE = Ett ljudpaket utan några ljud.
|
|
||||||
description.ta_IN = ஒலிகள் இல்லாத ஒலி தொகுப்பு.
|
|
||||||
description.th_TH = ชุดเสียงแบบไร้เสียง
|
|
||||||
description.tr_TR = Ses içermeyen boş bir ses kümesi.
|
|
||||||
description.uk_UA = Порожній набір звуків.
|
|
||||||
description.vi_VN = Gói âm thanh này không có âm thanh nào.
|
|
||||||
description.zh_CN = 一个空的音效包.
|
|
||||||
description.zh_TW = 不含任何音效的音效集。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
samples =
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = This file was part of your OpenTTD installation.
|
|
Binary file not shown.
@ -1,84 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents the original graphics as on the non-German Transport
|
|
||||||
; Tycoon Deluxe DOS CD.
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = original_dos
|
|
||||||
shortname = TTDD
|
|
||||||
version = 1
|
|
||||||
palette = DOS
|
|
||||||
description = Original Transport Tycoon Deluxe DOS edition graphics.
|
|
||||||
description.af_ZA = Oorspronklike Transport Tycoon Deluxe DOS uitgawe grafieke.
|
|
||||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الرسومية نسخة الدوس
|
|
||||||
description.be_BY = Арыґінальная ґрафіка з Transport Tycoon Deluxe для DOS.
|
|
||||||
description.bg_BG = Оригинални графики на Transport Tycoon Deluxe за DOS.
|
|
||||||
description.ca_ES = Gràfics originals del Transport Tycoon Deluxe pel DOS.
|
|
||||||
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (verze pro DOS).
|
|
||||||
description.cy_GB = Graffeg gwreiddiol fersiwn DOS o Transport Tycoon Deluxe.
|
|
||||||
description.da_DK = Originalgrafik fra Transport Tycoon Deluxe DOS-version.
|
|
||||||
description.de_DE = Original Transport Tycoon Deluxe DOS Basisgrafiken.
|
|
||||||
description.el_GR = Αρχικά γραφικά από το Transport Tycoon Deluxe έκδοση DOS.
|
|
||||||
description.en_AU = Original Transport Tycoon Deluxe DOS edition graphics.
|
|
||||||
description.en_US = Original Transport Tycoon Deluxe DOS edition graphics.
|
|
||||||
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión DOS.
|
|
||||||
description.es_MX = Gráficos originales de Transport Tycoon Deluxe para DOS.
|
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni graafika.
|
|
||||||
description.eu_ES = Transport Tycoon Deluxe originaleko DOS edizioko grafikoak.
|
|
||||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen DOS-version grafiikat.
|
|
||||||
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS).
|
|
||||||
description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán DOS.
|
|
||||||
description.gd_GB = Grafaigeachd aig an deasachadh DOS tùsail aig Transport Tycoon Deluxe.
|
|
||||||
description.gl_ES = Graficos da edición orixinal de Transport Tycoon Deluxe para DOS.
|
|
||||||
description.he_IL = גרפיקות Transport Tycoon Deluxe המקורי בגרסת DOS.
|
|
||||||
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe DOS izdanje.
|
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS verziójának grafikája.
|
|
||||||
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi DOS.
|
|
||||||
description.is_IS = Upprunalega grafíkin úr Transport Tycoon Deluxe DOS útgáfunni.
|
|
||||||
description.it_IT = Grafica originale di Transport Tycoon Deluxe, edizione DOS.
|
|
||||||
description.ja_JP = Transport Tycoon Deluxe オリジナル版 グラフィック (DOS)
|
|
||||||
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 도스 에디션의 그래픽입니다.
|
|
||||||
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe DOS.
|
|
||||||
description.lb_LU = Original Transport Tycoon Deluxe DOS Editioun Grafik.
|
|
||||||
description.lt_LT = Originali Transport Tycoon Deluxe DOS leidimo grafika.
|
|
||||||
description.lv_LV = Oriģinālā Transport Tycoon Deluxe DOS izdevuma grafika.
|
|
||||||
description.ms_MY = Grafik asal Transport Tycoon Deluxe DOS edition.
|
|
||||||
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for DOS.
|
|
||||||
description.nl_NL = Originele graphics van de Transport Tycoon Deluxe DOS-versie.
|
|
||||||
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for DOS.
|
|
||||||
description.pl_PL = Oryginalna edycja grafik dla Transport Tycoon Deluxe DOS.
|
|
||||||
description.pt_BR = Gráficos Originais do Transport Tycoon Deluxe, Edição DOS.
|
|
||||||
description.pt_PT = Gráficos originais da edição DOS de Transport Tycoon Deluxe.
|
|
||||||
description.ro_RO = Setul grafic original al Transport Tycoon Deluxe pentru DOS.
|
|
||||||
description.ru_RU = Оригинальная графика из Transport Tycoon Deluxe для DOS.
|
|
||||||
description.sk_SK = Pôvodná grafika Transport Tycoon Deluxe (DOS).
|
|
||||||
description.sl_SI = Originalna grafika Transport Tycoon Deluxe za različico DOS.
|
|
||||||
description.sr_RS = Originalni skup grafika Transport Tycoon Deluxe DOS izdanja.
|
|
||||||
description.sv_SE = Originalgrafiken från Transport Tycoon Deluxe, DOS-utgåvan.
|
|
||||||
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் DOS பதிப்பு அசைவூட்டங்கள்.
|
|
||||||
description.th_TH = กราฟฟิกต้นตำหรับของ Transport Tycoon Deluxe DOS edition
|
|
||||||
description.tr_TR = Özgün Transport Tycoon Deluxe DOS sürümü grafikleri.
|
|
||||||
description.uk_UA = Оригінальна графіка з Transport Tycoon Deluxe DOS edition.
|
|
||||||
description.vi_VN = Đồ họa gốc từ phiên bản Transport Tycoon Deluxe trên DOS
|
|
||||||
description.zh_CN = 运输大亨DOS豪华版原版图形包.
|
|
||||||
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版的圖形。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
base = TRG1.GRF
|
|
||||||
logos = TRGI.GRF
|
|
||||||
arctic = TRGC.GRF
|
|
||||||
tropical = TRGH.GRF
|
|
||||||
toyland = TRGT.GRF
|
|
||||||
extra = ORIG_EXTRA.GRF
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
TRG1.GRF = 9311676280e5b14077a8ee41c1b42192
|
|
||||||
TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
|
||||||
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
|
||||||
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
|
||||||
TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6
|
|
||||||
ORIG_EXTRA.GRF = 67bcfac5911667309d86b7749ea8d08c
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
|
||||||
ORIG_EXTRA.GRF = This file was part of your OpenTTD installation.
|
|
@ -1,76 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents the original music as on the Transport
|
|
||||||
; Tycoon Deluxe for DOS CD.
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = original_dos
|
|
||||||
shortname = TTDD
|
|
||||||
version = 1
|
|
||||||
description = Original Transport Tycoon Deluxe DOS edition music.
|
|
||||||
|
|
||||||
[files]
|
|
||||||
theme = gm.cat
|
|
||||||
old_0 = gm.cat
|
|
||||||
old_1 = gm.cat
|
|
||||||
old_2 = gm.cat
|
|
||||||
old_3 = gm.cat
|
|
||||||
old_4 = gm.cat
|
|
||||||
old_5 = gm.cat
|
|
||||||
old_6 = gm.cat
|
|
||||||
old_7 = gm.cat
|
|
||||||
old_8 =
|
|
||||||
old_9 =
|
|
||||||
new_0 = gm.cat
|
|
||||||
new_1 = gm.cat
|
|
||||||
new_2 = gm.cat
|
|
||||||
new_3 = gm.cat
|
|
||||||
new_4 = gm.cat
|
|
||||||
new_5 = gm.cat
|
|
||||||
new_6 = gm.cat
|
|
||||||
new_7 =
|
|
||||||
new_8 =
|
|
||||||
new_9 =
|
|
||||||
ezy_0 = gm.cat
|
|
||||||
ezy_1 = gm.cat
|
|
||||||
ezy_2 = gm.cat
|
|
||||||
ezy_3 = gm.cat
|
|
||||||
ezy_4 = gm.cat
|
|
||||||
ezy_5 = gm.cat
|
|
||||||
ezy_6 =
|
|
||||||
ezy_7 =
|
|
||||||
ezy_8 =
|
|
||||||
ezy_9 =
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
gm.cat = 7a29d2d0c4f7d2e03091ffa9b2bdfffb
|
|
||||||
|
|
||||||
[catindex]
|
|
||||||
theme = 0
|
|
||||||
old_0 = 1
|
|
||||||
old_1 = 8
|
|
||||||
old_2 = 2
|
|
||||||
old_3 = 9
|
|
||||||
old_4 = 14
|
|
||||||
old_5 = 15
|
|
||||||
old_6 = 19
|
|
||||||
old_7 = 13
|
|
||||||
new_0 = 6
|
|
||||||
new_1 = 11
|
|
||||||
new_2 = 10
|
|
||||||
new_3 = 17
|
|
||||||
new_4 = 21
|
|
||||||
new_5 = 18
|
|
||||||
new_6 = 5
|
|
||||||
ezy_0 = 12
|
|
||||||
ezy_1 = 7
|
|
||||||
ezy_2 = 16
|
|
||||||
ezy_3 = 3
|
|
||||||
ezy_4 = 20
|
|
||||||
ezy_5 = 4
|
|
||||||
|
|
||||||
[names]
|
|
||||||
; Names get read from the CAT file
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
|
@ -1,70 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents the original sounds as on the Transport
|
|
||||||
; Tycoon Deluxe DOS CD.
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = original_dos
|
|
||||||
shortname = TTDO
|
|
||||||
version = 0
|
|
||||||
description = Original Transport Tycoon Deluxe DOS edition sounds.
|
|
||||||
description.af_ZA = Oorspronklike Transport Tycoon Deluxe DOS uitgawe klanke.
|
|
||||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الصوتية نسخة الدوس
|
|
||||||
description.be_BY = Арыґінальны набор гукавога афармленьня з гульні Transport Tycoon Deluxe для DOS.
|
|
||||||
description.bg_BG = Оригинални звуци на Transport Tycoon Deluxe за DOS.
|
|
||||||
description.ca_ES = Sons originals del Transport Tycoon Deluxe pel DOS.
|
|
||||||
description.cs_CZ = Původní sada zvuků Transport Tycoon Deluxe (verze pro DOS).
|
|
||||||
description.cy_GB = Effeithiau sain gwreiddiol fersiwn DOS o Transport Tycoon Deluxe.
|
|
||||||
description.da_DK = Originallyd fra Transport Tycoon Deluxe DOS-version.
|
|
||||||
description.de_DE = Original Transport Tycoon Deluxe DOS Basissounds.
|
|
||||||
description.el_GR = Αρχικοί ήχοι από το Transport Tycoon Deluxe έκδοση DOS.
|
|
||||||
description.en_AU = Original Transport Tycoon Deluxe DOS edition sounds.
|
|
||||||
description.en_US = Original Transport Tycoon Deluxe DOS edition sounds.
|
|
||||||
description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión DOS.
|
|
||||||
description.es_MX = Sonidos originales de Transport Tycoon Deluxe para DOS.
|
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe DOSi versiooni helid.
|
|
||||||
description.eu_ES = Transport Tycoon Deluxe originaleko DOS edizioko soinuak.
|
|
||||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen DOS-version äänet.
|
|
||||||
description.fr_FR = Sons originaux de Transport Tycoon Deluxe (version DOS).
|
|
||||||
description.ga_IE = Fuaimeanna bunaidh Transport Tycoon Deluxe, eagrán DOS.
|
|
||||||
description.gd_GB = Fuaimean aig an deasachadh DOS tùsail aig Transport Tycoon Deluxe.
|
|
||||||
description.gl_ES = Sons da edición orixinal de Transport Tycoon Deluxe para DOS.
|
|
||||||
description.he_IL = צלילי Transport Tycoon Deluxe המקורי בגרסת DOS.
|
|
||||||
description.hr_HR = Originalni zvukovi za Transport Tycoon Deluxe DOS izdanje.
|
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS verziójának hangjai.
|
|
||||||
description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi DOS.
|
|
||||||
description.is_IS = Upprunalega hljóðið úr Transport Tycoon Deluxe DOS útgáfunni.
|
|
||||||
description.it_IT = Suoni originali di Transport Tycoon Deluxe, edizione DOS.
|
|
||||||
description.ja_JP = Transport Tycoon Deluxe オリジナル版 効果音 (DOS)
|
|
||||||
description.ko_KR = 오리지널 트랜스포트 타이쿤 도스 에디션의 효과음입니다.
|
|
||||||
description.la_VA = Soni ex editione originale Transport Tycoon Deluxe DOS.
|
|
||||||
description.lb_LU = Original Transport Tycoon Deluxe DOS Editioun Sound.
|
|
||||||
description.lt_LT = Originalūs Transport Tycoon Deluxe DOS leidimo garsai.
|
|
||||||
description.nb_NO = Originale lyder fra Transport Tycoon Deluxe for DOS.
|
|
||||||
description.nl_NL = Originele geluiden van de Transport Tycoon Deluxe DOS-versie.
|
|
||||||
description.nn_NO = Originale lydar frå Transport Tycoon Deluxe for DOS.
|
|
||||||
description.pl_PL = Oryginalna edycja dźwięków dla Transport Tycoon Deluxe DOS.
|
|
||||||
description.pt_BR = Sons Originais do Transport Tycoon Deluxe, Edição DOS.
|
|
||||||
description.pt_PT = Sons originais da edição DOS de Transport Tycoon Deluxe.
|
|
||||||
description.ro_RO = Setul de sunete original al Transport Tycoon Deluxe pentru DOS.
|
|
||||||
description.ru_RU = Оригинальный набор звукового оформления из игры Transport Tycoon Deluxe для DOS.
|
|
||||||
description.sk_SK = Pôvodné zvuky Transport Tycoon Deluxe (DOS).
|
|
||||||
description.sl_SI = Originalni zvoki Transport Tycoon Deluxe različice DOS.
|
|
||||||
description.sr_RS = Originalni skup zvukova Transport Tycoon Deluxe DOS izdanja.
|
|
||||||
description.sv_SE = Originalljuden från Transport Tycoon Deluxe, DOS-utgåvan.
|
|
||||||
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் DOS பதிப்பு ஒலிகள்.
|
|
||||||
description.th_TH = เสียงต้นตำหรับของ Transport Tycoon Deluxe DOS edition
|
|
||||||
description.tr_TR = Özgün Transport Tycoon Deluxe DOS sürümü sesleri.
|
|
||||||
description.uk_UA = Оригінальний набір звуків з Transport Tycoon Deluxe DOS edition.
|
|
||||||
description.vi_VN = Âm thanh gốc từ phiên bản Transport Tycoon Deluxe trên DOS
|
|
||||||
description.zh_CN = 运输大亨DOS豪华版原版音效包.
|
|
||||||
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版的音效。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
samples = SAMPLE.CAT
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
SAMPLE.CAT = 422ea3dd074d2859bb51639a6e0e85da
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
|
@ -1,82 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents the original graphics as on the German Transport
|
|
||||||
; Tycoon Deluxe DOS CD. It contains one broken sprite.
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = original_dos_de
|
|
||||||
shortname = TTDD
|
|
||||||
version = 0
|
|
||||||
palette = DOS
|
|
||||||
description = Original Transport Tycoon Deluxe DOS (German) edition graphics.
|
|
||||||
description.af_ZA = Oorspronklike Transport Tycoon Deluxe DOS (German) uitgawe grafieke.
|
|
||||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الالمانية نسخة الدوس
|
|
||||||
description.be_BY = Арыґінальная ґрафіка зь нямецкай версіі Transport Tycoon Deluxe для DOS.
|
|
||||||
description.bg_BG = Оригинални графики на Transport Tycoon Deluxe за DOS (немски) .
|
|
||||||
description.ca_ES = Gràfics originals del Transport Tycoon Deluxe (alemany) pel DOS.
|
|
||||||
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (německá verze pro DOS).
|
|
||||||
description.cy_GB = Graffeg gwreiddiol fersiwn DOS (Almaenig) o Transport Tycoon Deluxe.
|
|
||||||
description.da_DK = Originalgrafik fra Transport Tycoon Deluxe DOS (Tysk) version.
|
|
||||||
description.de_DE = Original Transport Tycoon Deluxe DOS (Deutsch) Basisgrafiken.
|
|
||||||
description.el_GR = Αρχικά γραφικά από το Transport Tycoon Deluxe έκδοση DOS (Γερμανικό).
|
|
||||||
description.en_AU = Original Transport Tycoon Deluxe DOS (German) edition graphics.
|
|
||||||
description.en_US = Original Transport Tycoon Deluxe DOS (German) edition graphics.
|
|
||||||
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión DOS (Alemán).
|
|
||||||
description.es_MX = Gráficos originales de Transport Tycoon Deluxe para DOS (en alemán).
|
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe DOSi (Saksa) versiooni graafika.
|
|
||||||
description.fi_FI = Alkuperäiset Saksassa julkaistun Transport Tycoon Deluxen DOS-version grafiikat.
|
|
||||||
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS allemande).
|
|
||||||
description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán DOS (Gearmánach).
|
|
||||||
description.gd_GB = Grafaigeachd aig an deasachadh DOS (Gearmailteach) tùsail aig Transport Tycoon Deluxe.
|
|
||||||
description.gl_ES = Graficos da edición orixinal (alemá) de Transport Tycoon Deluxe para DOS.
|
|
||||||
description.he_IL = גרפיקות Transport Tycoon Deluxe המקורי בגרסת DOS (גרמנית).
|
|
||||||
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe DOS (Njemački) izdanje.
|
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS (német) verziójának grafikája.
|
|
||||||
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi DOS (Jerman).
|
|
||||||
description.is_IS = Upprunalega grafíkin úr Transport Tycoon Deluxe DOS (þýsku) útgáfunni.
|
|
||||||
description.it_IT = Grafica originale di Transport Tycoon Deluxe (tedesco), edizione DOS.
|
|
||||||
description.ja_JP = Transport Tycoon Deluxe オリジナル版 グラフィック (DOS・ドイツ版)
|
|
||||||
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 도스 에디션(독일)의 그래픽입니다.
|
|
||||||
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe DOS (Germanica).
|
|
||||||
description.lb_LU = Original Transport Tycoon Deluxe DOS (Däitsch) Editioun Grafik.
|
|
||||||
description.lt_LT = Originali Transport Tycoon Deluxe DOS (Vokiečių) leidimo grafika.
|
|
||||||
description.lv_LV = Oriģinālā Transport Tycoon Deluxe DOS (vācu) izdevuma grafika.
|
|
||||||
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for DOS (tysk).
|
|
||||||
description.nl_NL = Originele graphics van de Duitse Transport Tycoon Deluxe DOS-versie.
|
|
||||||
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for DOS (tysk).
|
|
||||||
description.pl_PL = Oryginalna edycja grafik dla Transport Tycoon Deluxe DOS (German).
|
|
||||||
description.pt_BR = Gráficos Originais do Transport Tycoon Deluxe, Edição DOS alemã.
|
|
||||||
description.pt_PT = Gráficos originais da edição DOS (Alemã) de Transport Tycoon Deluxe.
|
|
||||||
description.ro_RO = Setul grafic original al Transport Tycoon Deluxe pentru DOS (ediţia germană).
|
|
||||||
description.ru_RU = Оригинальная графика из немецкой версии Transport Tycoon Deluxe для DOS.
|
|
||||||
description.sk_SK = Pôvodná grafika Transport Tycoon Deluxe (DOS) (v jazyku nemčina).
|
|
||||||
description.sl_SI = Originalna grafika Transport Tycoon Deluxe za nemško različico DOS.
|
|
||||||
description.sr_RS = Originalni skup grafika nemačkog Transport Tycoon Deluxe DOS izdanja.
|
|
||||||
description.sv_SE = Originalgrafiken från Transport Tycoon Deluxe, DOS-utgåvan (tyska).
|
|
||||||
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் DOS (செருமன்) பதிப்பு அசைவூட்டங்கள்.
|
|
||||||
description.th_TH = กราฟฟิกต้นตำหรับของ Transport Tycoon Deluxe DOS (German) edition
|
|
||||||
description.tr_TR = Özgün Transport Tycoon Deluxe DOS (Almanca) sürümü grafikleri.
|
|
||||||
description.uk_UA = Оригінальна графіка з Transport Tycoon Deluxe DOS edition (німецького).
|
|
||||||
description.vi_VN = Đồ họa gốc từ phiên bản Transport Tycoon Deluxe trên DOS (tiếng Đức)
|
|
||||||
description.zh_CN = 运输大亨DOS豪华德语版原版图形包.
|
|
||||||
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版 (德國版) 的圖形。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
base = TRG1.GRF
|
|
||||||
logos = TRGI.GRF
|
|
||||||
arctic = TRGC.GRF
|
|
||||||
tropical = TRGH.GRF
|
|
||||||
toyland = TRGT.GRF
|
|
||||||
extra = ORIG_EXTRA.GRF
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
TRG1.GRF = 9311676280e5b14077a8ee41c1b42192
|
|
||||||
TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
|
||||||
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
|
||||||
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
|
||||||
TRGT.GRF = fcde1d7e8a74197d72a62695884b909e
|
|
||||||
ORIG_EXTRA.GRF = 67bcfac5911667309d86b7749ea8d08c
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
|
||||||
ORIG_EXTRA.GRF = This file was part of your OpenTTD installation.
|
|
@ -1,71 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents the original music as on the Transport
|
|
||||||
; Tycoon (with World Editor) for DOS CD.
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = original_tto
|
|
||||||
shortname = TTOD
|
|
||||||
version = 1
|
|
||||||
description = Original Transport Tycoon (Original/World Editor) music.
|
|
||||||
|
|
||||||
[files]
|
|
||||||
theme = gm-tto.cat
|
|
||||||
old_0 = gm-tto.cat
|
|
||||||
old_1 = gm-tto.cat
|
|
||||||
old_2 = gm-tto.cat
|
|
||||||
old_3 = gm-tto.cat
|
|
||||||
old_4 = gm-tto.cat
|
|
||||||
old_5 = gm-tto.cat
|
|
||||||
old_6 = gm-tto.cat
|
|
||||||
old_7 = gm-tto.cat
|
|
||||||
old_8 =
|
|
||||||
old_9 =
|
|
||||||
new_0 = gm-tto.cat
|
|
||||||
new_1 = gm-tto.cat
|
|
||||||
new_2 = gm-tto.cat
|
|
||||||
new_3 = gm-tto.cat
|
|
||||||
new_4 = gm-tto.cat
|
|
||||||
new_5 = gm-tto.cat
|
|
||||||
new_6 = gm-tto.cat
|
|
||||||
new_7 = gm-tto.cat
|
|
||||||
new_8 =
|
|
||||||
new_9 =
|
|
||||||
ezy_0 =
|
|
||||||
ezy_1 =
|
|
||||||
ezy_2 =
|
|
||||||
ezy_3 =
|
|
||||||
ezy_4 =
|
|
||||||
ezy_5 =
|
|
||||||
ezy_6 =
|
|
||||||
ezy_7 =
|
|
||||||
ezy_8 =
|
|
||||||
ezy_9 =
|
|
||||||
|
|
||||||
[catindex]
|
|
||||||
theme = 0
|
|
||||||
old_0 = 1
|
|
||||||
old_1 = 6
|
|
||||||
old_2 = 2
|
|
||||||
old_3 = 7
|
|
||||||
old_4 = 11
|
|
||||||
old_5 = 12
|
|
||||||
old_6 = 15
|
|
||||||
old_7 = 10
|
|
||||||
new_0 = 4
|
|
||||||
new_1 = 5
|
|
||||||
new_2 = 9
|
|
||||||
new_3 = 8
|
|
||||||
new_4 = 13
|
|
||||||
new_5 = 16
|
|
||||||
new_6 = 14
|
|
||||||
new_7 = 3
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
gm-tto.cat = 26e85ff84b0063aa5da05dd4698fc76e
|
|
||||||
|
|
||||||
[names]
|
|
||||||
; Names get read from the CAT file
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = You can find it on your Transport Tycoon CD-ROM.
|
|
@ -1,83 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents the original graphics as on the Transport
|
|
||||||
; Tycoon Deluxe for Windows CD.
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = original_windows
|
|
||||||
shortname = TTDW
|
|
||||||
version = 0
|
|
||||||
palette = Windows
|
|
||||||
description = Original Transport Tycoon Deluxe Windows edition graphics.
|
|
||||||
description.af_ZA = Oorspronklike Transport Tycoon Deluxe Windows uitgawe grafieke.
|
|
||||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الرسومية نسخة وندوز
|
|
||||||
description.be_BY = Арыґінальная ґрафіка з Transport Tycoon Deluxe для Windows.
|
|
||||||
description.bg_BG = Оригинални графики на Transport Tycoon Deluxe за Windows.
|
|
||||||
description.ca_ES = Gràfics originals del Transport Tycoon Deluxe pel Windows.
|
|
||||||
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (verze pro Windows).
|
|
||||||
description.cy_GB = Graffeg gwreiddiol fersiwn Windows o Transport Tycoon Deluxe.
|
|
||||||
description.da_DK = Originalgrafik fra Transport Tycoon Deluxe Windows-version.
|
|
||||||
description.de_DE = Original Transport Tycoon Deluxe Windows Basisgrafiken.
|
|
||||||
description.el_GR = Αρχικά γραφικά από το Transport Tycoon Deluxe έκδοση Windows.
|
|
||||||
description.en_AU = Original Transport Tycoon Deluxe Windows edition graphics.
|
|
||||||
description.en_US = Original Transport Tycoon Deluxe Windows edition graphics.
|
|
||||||
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión Windows.
|
|
||||||
description.es_MX = Gráficos originales de Transport Tycoon Deluxe para Windows.
|
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni graafika.
|
|
||||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen Windows-version grafiikat.
|
|
||||||
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version Windows).
|
|
||||||
description.ga_IE = Grafaicí bunaidhTransport Tycoon Deluxe, eagrán Windows.
|
|
||||||
description.gd_GB = Grafaigeachd aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
|
|
||||||
description.gl_ES = Graficos da edición orixinal de Transport Tycoon Deluxe para Windows.
|
|
||||||
description.he_IL = גרפיקות Transport Tycoon Deluxe המקורי בגרסת Windows.
|
|
||||||
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe Windows izdanje.
|
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának grafikája.
|
|
||||||
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi Windows.
|
|
||||||
description.is_IS = Upprunalega grafíkin úr Transport Tycoon Deluxe Windows útgáfunni.
|
|
||||||
description.it_IT = Grafica originale di Transport Tycoon Deluxe, edizione Windows.
|
|
||||||
description.ja_JP = Transport Tycoon Deluxe オリジナル版 グラフィック (Windows)
|
|
||||||
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 윈도 에디션의 그래픽입니다.
|
|
||||||
description.la_VA = Graphica ex editione originale Transport Tycoon Deluxe Windows.
|
|
||||||
description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Grafik.
|
|
||||||
description.lt_LT = Originali Transport Tycoon Deluxe Windows leidimo grafika.
|
|
||||||
description.lv_LV = Oriģinālā Transport Tycoon Deluxe Windows izdevuma grafika.
|
|
||||||
description.ms_MY = Grafik asal Transport Tycoon Deluxe edisi Windows.
|
|
||||||
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for Windows.
|
|
||||||
description.nl_NL = Originele graphics van de Transport Tycoon Deluxe Windows-versie.
|
|
||||||
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for Windows.
|
|
||||||
description.pl_PL = Oryginalna edycja grafik dla Transport Tycoon Deluxe Windows.
|
|
||||||
description.pt_BR = Gráficos Originais do Transport Tycoon, Edição Windows.
|
|
||||||
description.pt_PT = Gráficos originais da edição Windows de Transport Tycoon Deluxe.
|
|
||||||
description.ro_RO = Setul grafic original al Transport Tycoon Deluxe pentru Windows.
|
|
||||||
description.ru_RU = Оригинальная графика из Transport Tycoon Deluxe для Windows.
|
|
||||||
description.sk_SK = Pôvodná grafika Transport Tycoon Deluxe (Windows).
|
|
||||||
description.sl_SI = Originalna grafika Transport Tycoon Deluxe za različico oken(windows).
|
|
||||||
description.sr_RS = Originalni skup grafika Transport Tycoon Deluxe Windows izdanja.
|
|
||||||
description.sv_SE = Originalgrafiken från Transport Tycoon Deluxe, Windows-utgåvan.
|
|
||||||
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் விண்டோஸ் பதிப்பு அசைவூட்டங்கள்.
|
|
||||||
description.th_TH = กราฟฟิกต้ำตำหรับของ Transport Tycoon Deluxe Windows edition
|
|
||||||
description.tr_TR = Özgün Transport Tycoon Deluxe Windows sürümü grafikleri.
|
|
||||||
description.uk_UA = Оригінальна графіка з Transport Tycoon Deluxe Windows edition.
|
|
||||||
description.vi_VN = Đồ họa gốc từ phiên bản Transport Tycoon Deluxe trên Windows
|
|
||||||
description.zh_CN = 运输大亨Windows豪华版原版图形包.
|
|
||||||
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的圖形。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
base = TRG1R.GRF
|
|
||||||
logos = TRGIR.GRF
|
|
||||||
arctic = TRGCR.GRF
|
|
||||||
tropical = TRGHR.GRF
|
|
||||||
toyland = TRGTR.GRF
|
|
||||||
extra = ORIG_EXTRA.GRF
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
TRG1R.GRF = b04ce593d8c5016e07473a743d7d3358
|
|
||||||
TRGIR.GRF = 0c2484ff6be49fc63a83be6ab5c38f32
|
|
||||||
TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b
|
|
||||||
TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1
|
|
||||||
TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8
|
|
||||||
ORIG_EXTRA.GRF = 67bcfac5911667309d86b7749ea8d08c
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
|
||||||
ORIG_EXTRA.GRF = This file was part of your OpenTTD installation.
|
|
@ -1,70 +0,0 @@
|
|||||||
; $Id$
|
|
||||||
;
|
|
||||||
; This represents the original sounds as on the Transport
|
|
||||||
; Tycoon Deluxe for Windows CD.
|
|
||||||
;
|
|
||||||
[metadata]
|
|
||||||
name = original_windows
|
|
||||||
shortname = TTDO
|
|
||||||
version = 0
|
|
||||||
description = Original Transport Tycoon Deluxe Windows edition sounds.
|
|
||||||
description.af_ZA = Oorspronklike Transport Tycoon Deluxe Windows uitgawe klanke.
|
|
||||||
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الصوتية نسخة وندوز
|
|
||||||
description.be_BY = Арыґінальны набор гукавога афармленьня з гульні Transport Tycoon Deluxe для Windows.
|
|
||||||
description.bg_BG = Оригинални звуци на Transport Tycoon Deluxe за Windows.
|
|
||||||
description.ca_ES = Sons originals del Transport Tycoon Deluxe pel Windows.
|
|
||||||
description.cs_CZ = Původní sada zvuků Transport Tycoon Deluxe (verze pro Windows).
|
|
||||||
description.cy_GB = Effeithiau sain gwreiddiol fersiwn Windows o Transport Tycoon Deluxe.
|
|
||||||
description.da_DK = Originallyd fra Transport Tycoon Deluxe Windows-version.
|
|
||||||
description.de_DE = Original Transport Tycoon Deluxe Windows Basissounds.
|
|
||||||
description.el_GR = Αρχικοί ήχοι από το Transport Tycoon Deluxe έκδοση Windows.
|
|
||||||
description.en_AU = Original Transport Tycoon Deluxe Windows edition sounds.
|
|
||||||
description.en_US = Original Transport Tycoon Deluxe Windows edition sounds.
|
|
||||||
description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión Windows.
|
|
||||||
description.es_MX = Sonidos originales de Transport Tycoon Deluxe para Windows.
|
|
||||||
description.et_EE = Algse Transport Tycoon Deluxe Windowsi versiooni helid.
|
|
||||||
description.eu_ES = Transport Tycoon Deluxe originaleko Windows edizioko grafikoak.
|
|
||||||
description.fi_FI = Alkuperäiset Transport Tycoon Deluxen Windows-version äänet.
|
|
||||||
description.fr_FR = Sons originaux de Transport Tycoon Deluxe (version Windows).
|
|
||||||
description.ga_IE = Fuaimeanna bunaidh Transport Tycoon Deluxe, eagrán Windows.
|
|
||||||
description.gd_GB = Fuaimean aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
|
|
||||||
description.gl_ES = Sons da edición orixinal de Transport Tycoon Deluxe para Windows.
|
|
||||||
description.he_IL = צלילי Transport Tycoon Deluxe המקורי בגרסת Windows.
|
|
||||||
description.hr_HR = Originalni zvukovi za Transport Tycoon Deluxe Windows izdanje.
|
|
||||||
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának hangjai.
|
|
||||||
description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi Windows.
|
|
||||||
description.is_IS = Upprunalega hljóðið úr Transport Tycoon Deluxe Windows útgáfunni.
|
|
||||||
description.it_IT = Suoni originali di Transport Tycoon Deluxe, edizione Windows.
|
|
||||||
description.ja_JP = Transport Tycoon Deluxe オリジナル版 効果音 (Windows)
|
|
||||||
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 윈도 에디션의 효과음입니다.
|
|
||||||
description.la_VA = Soni ex editione originale Transport Tycoon Deluxe Windows.
|
|
||||||
description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Sound.
|
|
||||||
description.lt_LT = Originalūs Transport Tycoon Deluxe Windows leidimo garsai.
|
|
||||||
description.nb_NO = Originale lyder fra Transport Tycoon Deluxe for Windows.
|
|
||||||
description.nl_NL = Originele geluiden van de Transport Tycoon Deluxe Windows-versie.
|
|
||||||
description.nn_NO = Originale lydar frå Transport Tycoon Deluxe for Windows.
|
|
||||||
description.pl_PL = Oryginalna edycja dźwięków dla Transport Tycoon Deluxe Windows.
|
|
||||||
description.pt_BR = Sons Originais do Transport Tycoon Deluxe, Edição Windows.
|
|
||||||
description.pt_PT = Sons originais da edição Windows de Transport Tycoon Deluxe.
|
|
||||||
description.ro_RO = Setul de sunete original al Transport Tycoon Deluxe pentru Windows.
|
|
||||||
description.ru_RU = Оригинальный набор звукового оформления из игры Transport Tycoon Deluxe для Windows.
|
|
||||||
description.sk_SK = Pôvodné zvuky Transport Tycoon Deluxe (Windows).
|
|
||||||
description.sl_SI = Originalni zvoki Transport Tycoon Deluxe različice oken(windows).
|
|
||||||
description.sr_RS = Originalni skup zvukova Transport Tycoon Deluxe Windows izdanja.
|
|
||||||
description.sv_SE = Originalljuden från Transport Tycoon Deluxe, Windows-utgåvan.
|
|
||||||
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் விண்டோஸ் பதிப்பு ஒலிகள்.
|
|
||||||
description.th_TH = เสียงต้นตำหรับของ Transport Tycoon Deluxe Windows edition
|
|
||||||
description.tr_TR = Özgün Transport Tycoon Deluxe Windows sürümü sesleri.
|
|
||||||
description.uk_UA = Оригінальний набір звуків з Transport Tycoon Deluxe Windows edition.
|
|
||||||
description.vi_VN = Âm thanh gốc từ phiên bản Transport Tycoon Deluxe trên Windows
|
|
||||||
description.zh_CN = Transport Tycoon Deluxe Windows (运输大亨Windows豪华版)的原版音效包.
|
|
||||||
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的音效。
|
|
||||||
|
|
||||||
[files]
|
|
||||||
samples = SAMPLE.CAT
|
|
||||||
|
|
||||||
[md5s]
|
|
||||||
SAMPLE.CAT = 9212e81e72badd4bbe1eaeae66458e10
|
|
||||||
|
|
||||||
[origin]
|
|
||||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
|
@ -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/>.
|
||||||
|
*/
|
@ -0,0 +1,71 @@
|
|||||||
|
# Compiling OpenTTD using Microsoft Visual C++
|
||||||
|
|
||||||
|
Last updated: 2018-12-27
|
||||||
|
|
||||||
|
## Supported MSVC compilers
|
||||||
|
|
||||||
|
OpenTTD includes projects for Visual Studio 2015 Update 3 or more recent.
|
||||||
|
You can download the free Visual Studio Community Edition from Microsoft at
|
||||||
|
https://visualstudio.microsoft.com/vs/community/.
|
||||||
|
|
||||||
|
## Required files
|
||||||
|
|
||||||
|
### Microsoft platform files
|
||||||
|
|
||||||
|
OpenTTD needs the Platform SDK, if it isn't installed already. This can be
|
||||||
|
done during installing Visual Studio, by selecting
|
||||||
|
`Visual C++ MFC for x86 and x64` (and possibly
|
||||||
|
`Visual C++ ATL for x86 and x64` depending on your version). If not, you
|
||||||
|
can get it at this location:
|
||||||
|
|
||||||
|
- [MS Windows Platform SDK](https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk)
|
||||||
|
|
||||||
|
Install the SDK by following the instructions as given.
|
||||||
|
|
||||||
|
### OpenTTD dependencies
|
||||||
|
|
||||||
|
Dependencies for OpenTTD on Windows are handled via
|
||||||
|
[vcpkg](https://github.com/Microsoft/vcpkg/). First you need to install vcpkg
|
||||||
|
by following the `Quick Start` intructions of their
|
||||||
|
[README](https://github.com/Microsoft/vcpkg/blob/master/README.md).
|
||||||
|
|
||||||
|
After this, you can install the dependencies OpenTTD needs. We advise to use
|
||||||
|
the `static` versions, and OpenTTD currently needs the following dependencies:
|
||||||
|
|
||||||
|
- freetype
|
||||||
|
- liblzma
|
||||||
|
- libpng
|
||||||
|
- lzo
|
||||||
|
- zlib
|
||||||
|
|
||||||
|
To install both the x64 (64bit) and x86 (32bit) variants, you can use:
|
||||||
|
|
||||||
|
```ps
|
||||||
|
.\vcpkg install freetype:x64-windows-static liblzma:x64-windows-static libpng:x64-windows-static lzo:x64-windows-static zlib:x64-windows-static
|
||||||
|
.\vcpkg install freetype:x86-windows-static liblzma:x86-windows-static libpng:x86-windows-static lzo:x86-windows-static zlib:x86-windows-static
|
||||||
|
```
|
||||||
|
|
||||||
|
## TTD Graphics files
|
||||||
|
|
||||||
|
See section 4.1 of README.md for the required 3rdparty files and how to install them.
|
||||||
|
|
||||||
|
## Compiling
|
||||||
|
|
||||||
|
Open the appropriate `sln` (Solution) file for your version of Visual Studio:
|
||||||
|
|
||||||
|
- VS 2015: projects/openttd_vs140.sln
|
||||||
|
- VS 2017: projects/openttd_vs141.sln
|
||||||
|
- VS 2019: projects/openttd_vs142.sln
|
||||||
|
|
||||||
|
Set the build mode to `Release` in
|
||||||
|
`Build > Configuration manager > Active solution configuration`.
|
||||||
|
You can now compile.
|
||||||
|
|
||||||
|
If everything works well the binary should be in `objs\Win[32|64]\Release\openttd.exe`
|
||||||
|
and in `bin\openttd.exe`
|
||||||
|
|
||||||
|
## Problems
|
||||||
|
|
||||||
|
If compilation fails, double-check that you are using the latest github
|
||||||
|
source. If it still doesn't work, check in on IRC (irc://irc.oftc.net/openttd),
|
||||||
|
to ask for help.
|
@ -1,109 +0,0 @@
|
|||||||
Compiling OpenTTD using Microsoft Visual C++
|
|
||||||
Last updated: 2018-03-21
|
|
||||||
--------------------------------------------
|
|
||||||
PLEASE READ THE ENTIRE DOCUMENT BEFORE DOING ANY ACTUAL CHANGES!!
|
|
||||||
|
|
||||||
|
|
||||||
SUPPORTED MSVC COMPILERS
|
|
||||||
------------------------
|
|
||||||
OpenTTD includes projects for Microsoft Visual Studio 2005 and later.
|
|
||||||
This is the earliest compiler supported, Visual C++ 2003, Visual C++ 6.0,
|
|
||||||
or earlier, will not compile OpenTTD.
|
|
||||||
You can download the free Visual Studio Community Edition from Microsoft.
|
|
||||||
|
|
||||||
|
|
||||||
1) REQUIRED FILES
|
|
||||||
-----------------
|
|
||||||
You might already have some of the files already installed, so check before
|
|
||||||
downloading; mostly because the Platform SDK is about 500MB.
|
|
||||||
Download the following files:
|
|
||||||
|
|
||||||
* openttd-useful.zip (http://binaries.openttd.org/extra/openttd-useful/)
|
|
||||||
* MS Windows Platform SDK (http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en)
|
|
||||||
* afxres.h (http://www-d0.fnal.gov/d0dist/dist/packages/d0ve/devel/windows/AFXRES.H)
|
|
||||||
|
|
||||||
...and of course the newest source from svn://svn.openttd.org/trunk
|
|
||||||
|
|
||||||
You need an SVN-client to download the source from subversion:
|
|
||||||
|
|
||||||
* CLI Subversion (http://subversion.tigris.org/)
|
|
||||||
* GUI TortoiseSVN (http://tortoisesvn.tigris.org/)
|
|
||||||
|
|
||||||
|
|
||||||
2) INCLUDES AND LIBRARIES
|
|
||||||
-------------------------
|
|
||||||
Put the newly downloaded files in the VC lib\ and include\ directories; where
|
|
||||||
"C:\Program Files\Microsoft Visual Studio 9.0\VC" is your location of Visual C.
|
|
||||||
If you are compiling for an x64 system, use the include\ and lib\ directories
|
|
||||||
from the win64/ folder.
|
|
||||||
|
|
||||||
* openttd-useful.zip\include\*
|
|
||||||
* afxresh.h
|
|
||||||
to > C:\Program Files\Microsoft Visual Studio 9.0\VC\Include
|
|
||||||
|
|
||||||
* openttd-useful.zip\lib\*
|
|
||||||
to > C:\Program Files\Microsoft Visual Studio 9.0\VC\Lib
|
|
||||||
|
|
||||||
Custom directories might be recommended, check 2.2)
|
|
||||||
|
|
||||||
|
|
||||||
2.1) INCLUDES AND LIBRARIES - DIRECTX/PLATFORM SDK
|
|
||||||
--------------------------------------------------
|
|
||||||
Basically the same procedure as with the useful zip file, providing
|
|
||||||
you are not using the Microsoft installer. Put the include files in the
|
|
||||||
include\ directory and the library files to the Lib\ directory.
|
|
||||||
|
|
||||||
It is recommended to use custom directories so you don't overwrite any
|
|
||||||
default header or library files.
|
|
||||||
|
|
||||||
|
|
||||||
2.2) CUSTOM DIRECTORIES
|
|
||||||
-----------------------
|
|
||||||
If you have put the above include and/or library files into custom folders,
|
|
||||||
MSVC will not find them by default. You need to add these paths to VC through:
|
|
||||||
|
|
||||||
Tools > Options > Projects and Solutions > VC++ Directories > show directories for
|
|
||||||
|
|
||||||
* Include files: Add the DirectX/Platform SDK include dir you've created
|
|
||||||
* Library files: Add the path to the SDK custom lib dir
|
|
||||||
|
|
||||||
NOTE: make sure that the directory for the DirectX SDK is the first one in the
|
|
||||||
list, above all others, otherwise compilation will most likely fail!!
|
|
||||||
|
|
||||||
|
|
||||||
3) TTD GRAPHICS FILES
|
|
||||||
---------------------
|
|
||||||
See section 4.1 of README.md for the required 3rdparty files and how to install them.
|
|
||||||
|
|
||||||
|
|
||||||
4) COMPILING
|
|
||||||
------------
|
|
||||||
Open the appropriate "sln" (Solution) file for your version of Visual Studio:
|
|
||||||
- VS 2005: projects/openttd_vs80.sln
|
|
||||||
- VS 2008: projects/openttd_vs90.sln
|
|
||||||
- VS 2010: projects/openttd_vs100.sln
|
|
||||||
- VS 2015: projects/openttd_vs140.sln
|
|
||||||
Set the build mode to 'Release' in
|
|
||||||
Build > Configuration manager > Active solution configuration > select "Release"
|
|
||||||
Compile...
|
|
||||||
|
|
||||||
If everything works well the binary should be in objs/Win[32|64]/Release/openttd.exe
|
|
||||||
|
|
||||||
|
|
||||||
5) EDITING, CHANGING SOURCE CODE
|
|
||||||
--------------------------------
|
|
||||||
Set the build mode (back to) 'Debug'
|
|
||||||
Change the startup project to openttd by right-clicking the 'openttd' project
|
|
||||||
in the Solution Explorer and selecting 'Set as Startup Project'. The 'openttd'
|
|
||||||
project should now show up bold instead of 'strgen'.
|
|
||||||
|
|
||||||
|
|
||||||
6) PROBLEMS?
|
|
||||||
------------
|
|
||||||
If compilation fails, double-check that you are using the latest SVN (!)
|
|
||||||
source. If it still doesn't work, check in on IRC (irc://irc.oftc.net/openttd),
|
|
||||||
to ask about reasons; or just wait. The problem will most likely solve itself
|
|
||||||
within a few days as the problem is noticed and fixed.
|
|
||||||
|
|
||||||
An up-to-date version of this README can be found on the wiki:
|
|
||||||
http://wiki.openttd.org/Microsoft_Visual_C%2B%2B_2008_Express_Editions
|
|
@ -0,0 +1,123 @@
|
|||||||
|
Option Explicit
|
||||||
|
|
||||||
|
' 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/>.
|
||||||
|
|
||||||
|
Dim FSO
|
||||||
|
Set FSO = CreateObject("Scripting.FileSystemObject")
|
||||||
|
|
||||||
|
Dim inputfile, outputfile, langpath, extra_grf
|
||||||
|
inputfile = WScript.Arguments(0)
|
||||||
|
outputfile = WScript.Arguments(1)
|
||||||
|
langpath = WScript.Arguments(2)
|
||||||
|
|
||||||
|
If WScript.Arguments.Length > 3 Then
|
||||||
|
extra_grf = WScript.Arguments(3)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Function GetExtraGrfHash
|
||||||
|
Dim WSO, exe, line
|
||||||
|
|
||||||
|
Set WSO = WScript.CreateObject("WScript.Shell")
|
||||||
|
Set exe = WSO.Exec("certutil -hashfile " & extra_grf & " MD5")
|
||||||
|
|
||||||
|
Do Until exe.StdOut.AtEndOfStream
|
||||||
|
line = exe.StdOut.ReadLine
|
||||||
|
If Len(line) = 32 Then GetExtraGrfHash = line
|
||||||
|
Loop
|
||||||
|
|
||||||
|
Set WSO = Nothing
|
||||||
|
End Function
|
||||||
|
|
||||||
|
' Simple insertion sort, copied from translations.awk
|
||||||
|
Sub ISort(a)
|
||||||
|
Dim i, j, n, hold
|
||||||
|
n = UBound(a)
|
||||||
|
|
||||||
|
For i = 1 To n
|
||||||
|
j = i
|
||||||
|
hold = a(j)
|
||||||
|
Do While a(j - 1) > hold
|
||||||
|
j = j - 1
|
||||||
|
a(j + 1) = a(j)
|
||||||
|
|
||||||
|
If j = 0 Then Exit Do
|
||||||
|
Loop
|
||||||
|
a(j) = hold
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Lookup(ini_key, str_id, outfile)
|
||||||
|
Dim folder, file, line, p, lang, i
|
||||||
|
|
||||||
|
' Ensure only complete string matches
|
||||||
|
str_id = str_id & " "
|
||||||
|
|
||||||
|
Set folder = FSO.GetFolder(langpath)
|
||||||
|
|
||||||
|
Dim output()
|
||||||
|
ReDim output(folder.Files.Count)
|
||||||
|
|
||||||
|
For Each file In folder.Files
|
||||||
|
If UCase(FSO.GetExtensionName(file.Name)) = "TXT" Then
|
||||||
|
Dim f
|
||||||
|
Set f = FSO.OpenTextFile(file.Path)
|
||||||
|
|
||||||
|
Do Until f.atEndOfStream
|
||||||
|
line = f.ReadLine()
|
||||||
|
|
||||||
|
If InStr(1, line, "##isocode ") = 1 Then
|
||||||
|
p = Split(line)
|
||||||
|
lang = p(1)
|
||||||
|
ElseIf InStr(1, line, str_id) = 1 Then
|
||||||
|
p = Split(line, ":", 2)
|
||||||
|
If lang = "en_GB" Then
|
||||||
|
output(i) = ini_key & " = " & p(1)
|
||||||
|
Else
|
||||||
|
output(i) = ini_key & "." & lang & " = " & p(1)
|
||||||
|
End If
|
||||||
|
i = i + 1
|
||||||
|
End If
|
||||||
|
|
||||||
|
Loop
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
ReDim Preserve output(i - 1)
|
||||||
|
ISort output
|
||||||
|
|
||||||
|
For Each line In output
|
||||||
|
outfile.Write line & vbCrLf
|
||||||
|
Next
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Dim line, p
|
||||||
|
|
||||||
|
Dim infile
|
||||||
|
Set infile = FSO.OpenTextFile(inputfile)
|
||||||
|
|
||||||
|
Dim outfile
|
||||||
|
Set outfile = FSO.CreateTextFile(outputfile, True)
|
||||||
|
|
||||||
|
Do Until infile.atEndOfStream
|
||||||
|
|
||||||
|
line = infile.ReadLine()
|
||||||
|
|
||||||
|
If InStr(1, line, "ORIG_EXTRA.GRF ") = 1 Then
|
||||||
|
p = Split(line, "=")
|
||||||
|
If Trim(p(1)) = "" Then
|
||||||
|
outfile.Write("ORIG_EXTRA.GRF = " & GetExtraGrfHash() & vbCrLf)
|
||||||
|
Else
|
||||||
|
outfile.Write(line & vbCrLf)
|
||||||
|
End If
|
||||||
|
ElseIf InStr(1, line, "!! ") = 1 Then
|
||||||
|
p = Split(line)
|
||||||
|
Lookup p(1), p(2), outfile
|
||||||
|
Else
|
||||||
|
outfile.Write(line & vbCrLf)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Loop
|
Binary file not shown.
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
@ -1,3 +0,0 @@
|
|||||||
The files in this directory are not licensed under the same terms as the
|
|
||||||
rest of OpenTTD. Licensing details can be found in OpenTTD's readme.txt
|
|
||||||
and in this directory or subdirectories as well.
|
|
Binary file not shown.
@ -1,173 +0,0 @@
|
|||||||
CWSDPMI is Copyright (C) 1995-2000 Charles W Sandmann (sandmann@clio.rice.edu)
|
|
||||||
1206 Braelinn, Sugar Land, TX 77479
|
|
||||||
|
|
||||||
This is release 5. The files in this binary distribution may be redistributed
|
|
||||||
under the GPL (with source) or without the source code provided:
|
|
||||||
|
|
||||||
* CWSDPMI.EXE or CWSDPR0.EXE are not modified in any way except via CWSPARAM.
|
|
||||||
|
|
||||||
* CWSDSTUB.EXE internal contents are not modified in any way except via
|
|
||||||
CWSPARAM or STUBEDIT. It may have a COFF image plus data appended to it.
|
|
||||||
|
|
||||||
* Notice to users that they have the right to receive the source code and/or
|
|
||||||
binary updates for CWSDPMI. Distributors should indicate a site for the
|
|
||||||
source in their documentation.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
CWSDPMI was written to provide DPMI services for V2 of DJGPP. It currently
|
|
||||||
does not support 16-bit DPMI applications, or DPMI applications requiring a
|
|
||||||
built in extender. It does support virtual memory and hardware interrupt
|
|
||||||
reflection from real mode to protected mode. DJGPP V1.1x and RSX applications
|
|
||||||
will also run using this server, which can be used to provide enhanced control
|
|
||||||
over hardware interrupts. Some DPMI 1.0 extensions (0x506, 0x507, 0x508) have
|
|
||||||
been implemented.
|
|
||||||
|
|
||||||
CWSDPR0.EXE is an alternate version which runs at ring 0 with virtual memory
|
|
||||||
disabled. It may be used if access to ring-0 features are desired. It
|
|
||||||
currently does not switch stacks on HW interrupts, so some DJGPP features
|
|
||||||
such as SIGINT and SIGFPE are not supported and will generate a double fault
|
|
||||||
or stack fault error (to be fixed someday).
|
|
||||||
|
|
||||||
CWSDSTUB.EXE is a stub loader image for DJGPP which includes CWSDPMI. This
|
|
||||||
allows single executable image distributions. You can use the EXE2COFF
|
|
||||||
program and COPY /B CWSDSTUB.EXE+yourimage yourimage.exe to create a
|
|
||||||
standalone executable image.
|
|
||||||
|
|
||||||
Some of the internal tuning and configuration parameters may be modified
|
|
||||||
in the image using CWSPARAM.EXE (see CWSPARAM.DOC).
|
|
||||||
|
|
||||||
If you want to use CWSDPMI with DJGPP, you expand the distribution into the
|
|
||||||
DJGPP directory tree. CWSDPMI.EXE will be put in the BIN directory with your
|
|
||||||
DJGPP images and it will automatically be loaded when they run.
|
|
||||||
|
|
||||||
Directions for use (server can be used in either of two different ways):
|
|
||||||
|
|
||||||
1) "cwsdpmi" alone with no parameters will terminate and stay resident
|
|
||||||
FOR A SINGLE DPMI PROCESS. This means it unloads itself when your
|
|
||||||
DPMI application exits. This mode is useful in software which needs
|
|
||||||
DPMI services, since CWSDPMI can be exec'ed and then will unload on exit.
|
|
||||||
|
|
||||||
2) "cwsdpmi -p" will terminate and stay resident until you remove it.
|
|
||||||
It can be loaded into UMBs with LH. "cwsdpmi -u" will unload the TSR.
|
|
||||||
|
|
||||||
3) The file used for virtual memory swapping, if desired, is controlled
|
|
||||||
by the "-sc:\cwsdpmi.swp" syntax on the command line. You must specify
|
|
||||||
either a file with full disk/directory syntax, or "-s-" which disables
|
|
||||||
virtual memory.
|
|
||||||
|
|
||||||
4) The default swap file name is c:\cwsdpmi.swp, but this can be changed
|
|
||||||
with the CWSPARAM image, as can some other parameters.
|
|
||||||
|
|
||||||
5) You can disable the DPMI 1.0 extensions by starting the image with the
|
|
||||||
"cwsdpmi -x" syntax. This feature allows you to run programs developed
|
|
||||||
under other DPMI providers which do not behave properly with these
|
|
||||||
extensions enabled (typically use of NULL pointers).
|
|
||||||
|
|
||||||
I would like to give special thanks to DJ Delorie who wrote the original
|
|
||||||
GO32 code on which CWSDPMI is based. Morten Welinder also provided and
|
|
||||||
improved much of the code in this program.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
This section contains a list of the error messages you might see out of
|
|
||||||
CWSDPMI and some details on what they mean.
|
|
||||||
|
|
||||||
Exceptions are only handled by CWSDPMI if the application does not establish
|
|
||||||
an exception handler, exceptions nest 5 deep, or the error is particularly bad:
|
|
||||||
|
|
||||||
"Page fault" -
|
|
||||||
1) an illegal page fault happens in a RMCB or HW interrupt, (lock all pages!)
|
|
||||||
2) all available pages have been locked,
|
|
||||||
3) the application is using non-committed pages for null pointer protection.
|
|
||||||
"Double Fault" - multiple exceptions occurred
|
|
||||||
"Invalid TSS" - typically due to RMCB or HW interrupt being called after the
|
|
||||||
selectors/memory have been deallocated (remember to reset the mouse)
|
|
||||||
"General Protection Fault" - bad parameter sent to a DPMI call
|
|
||||||
|
|
||||||
"80386 required."
|
|
||||||
|
|
||||||
Since 80286 and lesser processors don't have the hardware necessary to
|
|
||||||
run CWSDPMI. No workaround, upgrade.
|
|
||||||
|
|
||||||
"DOS 3 required."
|
|
||||||
|
|
||||||
A few interrupts are used which need DOS 3.0 or higher. I don't expect to
|
|
||||||
ever see this message, since 80386 machines were introduced after DOS 3.0
|
|
||||||
and that check is made first.
|
|
||||||
|
|
||||||
"CWSDPMI V0.90+ (r5) Copyright (C) 2000 CW Sandmann ABSOLUTELY NO WARRANTY"
|
|
||||||
|
|
||||||
An informational message displayed if the program is not run in one-pass mode.
|
|
||||||
|
|
||||||
"Protected mode not accessible."
|
|
||||||
|
|
||||||
This message should only be displayed if running CWSDPMI in a protected
|
|
||||||
environment with no access to protected mode. In this case, DPMI should
|
|
||||||
already be available and CWSDPMI would not be needed. This might happen if
|
|
||||||
a 16-bit DPMI client is loaded and a DJGPP image attempts to load CWSDPMI
|
|
||||||
to provide 32-bit DPMI services under Windows.
|
|
||||||
|
|
||||||
"Warning: cannot open swap file c:\cwsdpmi.swp"
|
|
||||||
|
|
||||||
Maybe you are out of file handles, or the swap file name is incorrectly
|
|
||||||
specified in the image (change the name with cwsparam).
|
|
||||||
|
|
||||||
"No swap space!"
|
|
||||||
|
|
||||||
This message means you tried to use more paging file than CWSDPMI was
|
|
||||||
configured to handle. Since this is protected against in the memory
|
|
||||||
allocation code, you should never see this message.
|
|
||||||
|
|
||||||
"Swap disk full!"
|
|
||||||
|
|
||||||
This means the paging file could not be expanded when trying to page
|
|
||||||
memory out to disk. This would normally not be seen, unless you are
|
|
||||||
writing output to the same disk which holds the paging file. Decrease
|
|
||||||
the amount of memory your DPMI application is using or free up disk space.
|
|
||||||
|
|
||||||
"Interrupt 0x??"
|
|
||||||
|
|
||||||
Your application tried to call an interrupt from protected mode which
|
|
||||||
normally shouldn't be called (something like a data pointer). If the
|
|
||||||
request was allowed to continue it would likely hang your machine. If you
|
|
||||||
see this message and think the interrupt should be allowed to continue, let
|
|
||||||
me know.
|
|
||||||
|
|
||||||
"Error: Using XMS switched CPU into V86 mode."
|
|
||||||
|
|
||||||
This message might be seen if you have your memory manager in AUTO mode. The
|
|
||||||
only workaround in this case is to stop using AUTO mode.
|
|
||||||
|
|
||||||
"Error: could not allocate page table memory"
|
|
||||||
|
|
||||||
The page table memory (a minimum of 16Kb) is allocated from conventional
|
|
||||||
memory (either in the 640Kb region or UMBs). If CWSDPMI cannot allocate the
|
|
||||||
minimum necessary memory, you would see this message. Free up some
|
|
||||||
conventional memory. You may also see this message if a page directory needs
|
|
||||||
to be faulted in, and there are no available pages. This means too many pages
|
|
||||||
have been locked for the allocated page tables available. While CWSDPMI
|
|
||||||
tries to dynamically allocate these if needed, this effort failed. You need
|
|
||||||
to increase the number of page tables with CWSPARAM, or increase the amount
|
|
||||||
of free conventional memory if it is low. If the application which calls
|
|
||||||
CWSDPMI internally manages all the DOS memory, the page tables may need to
|
|
||||||
be pre-allocated at DPMI startup time (if this is needed, try using the
|
|
||||||
run option flag 2 in cwsparam).
|
|
||||||
|
|
||||||
"16-bit DPMI unsupported."
|
|
||||||
|
|
||||||
CWSDPMI is a 32-bit only DPMI server. Ideally, on the request to enter DPMI's
|
|
||||||
PM with a 16-bit request, we would just fail the call setting the carry bit
|
|
||||||
like the DPMI specification describes. Some buggy 16-bit compiler tools don't
|
|
||||||
check the return status and will hang the machine in this case. So, I issue
|
|
||||||
an error message and exit the image instead.
|
|
||||||
|
|
||||||
"Descriptors exhausted."
|
|
||||||
|
|
||||||
An attempt to nest a DPMI client failed in the setup phase due to insufficient
|
|
||||||
free selectors in the LDT.
|
|
||||||
|
|
||||||
"CWSDPMI not removed"
|
|
||||||
|
|
||||||
When the -u parameter is specified, if DPMI is not detected this message is
|
|
||||||
printed. Informational.
|
|
Binary file not shown.
@ -1,3 +0,0 @@
|
|||||||
The files in this directory are not licensed under the same terms as the
|
|
||||||
rest of OpenTTD. Licensing details can be found in OpenTTD's readme.txt
|
|
||||||
and in this directory or subdirectories as well.
|
|
@ -1,48 +0,0 @@
|
|||||||
This is the file "copying.dj". It does NOT apply to any sources or
|
|
||||||
binaries copyrighted by UCB Berkeley, the Free Software Foundation, or
|
|
||||||
any other agency besides DJ Delorie and others who have agreed to
|
|
||||||
allow their sources to be distributed under these terms.
|
|
||||||
|
|
||||||
Copyright Information for sources and executables that are marked
|
|
||||||
Copyright (C) DJ Delorie
|
|
||||||
7 Kim Lane
|
|
||||||
Rochester NH 03867-2954
|
|
||||||
|
|
||||||
This document is Copyright (C) DJ Delorie and may be distributed
|
|
||||||
verbatim, but changing it is not allowed.
|
|
||||||
|
|
||||||
Source code copyright DJ Delorie is distributed under the terms of the
|
|
||||||
GNU General Public Licence, with the following exceptions:
|
|
||||||
|
|
||||||
* Sources used to build crt0.o, gcrt0.o, libc.a, libdbg.a, and
|
|
||||||
libemu.a are distributed under the terms of the GNU Library General
|
|
||||||
Public License, rather than the GNU GPL.
|
|
||||||
|
|
||||||
* Any existing copyright or authorship information in any given source
|
|
||||||
file must remain intact. If you modify a source file, a notice to that
|
|
||||||
effect must be added to the authorship information in the source file.
|
|
||||||
|
|
||||||
* Runtime binaries, as provided by DJ in DJGPP, may be distributed
|
|
||||||
without sources ONLY if the recipient is given sufficient information
|
|
||||||
to obtain a copy of djgpp themselves. This primarily applies to
|
|
||||||
go32-v2.exe, emu387.dxe, and stubedit.exe.
|
|
||||||
|
|
||||||
* Runtime objects and libraries, as provided by DJ in DJGPP, when
|
|
||||||
linked into an application, may be distributed without sources ONLY
|
|
||||||
if the recipient is given sufficient information to obtain a copy of
|
|
||||||
djgpp themselves. This primarily applies to crt0.o and libc.a.
|
|
||||||
|
|
||||||
-----
|
|
||||||
|
|
||||||
Changes to source code copyright BSD, FSF, or others, by DJ Delorie
|
|
||||||
fall under the terms of the original copyright. Such files usually
|
|
||||||
have multiple copyright notices in them.
|
|
||||||
|
|
||||||
A copy of the files "COPYING" and "COPYING.LIB" are included with this
|
|
||||||
document. If you did not receive a copy of these files, you may
|
|
||||||
obtain one from whence this document was obtained, or by writing:
|
|
||||||
|
|
||||||
Free Software Foundation
|
|
||||||
59 Temple Place - Suite 330
|
|
||||||
Boston, MA 02111-1307
|
|
||||||
USA
|
|
@ -1,94 +0,0 @@
|
|||||||
/* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */
|
|
||||||
/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
|
|
||||||
/* Updated 2008 to use fread/fopen and friends instead of read/open so it compiles with GCC on Unix (Rubidium) */
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
exe2aout(char *fname)
|
|
||||||
{
|
|
||||||
unsigned short header[3];
|
|
||||||
FILE *ifile;
|
|
||||||
FILE *ofile;
|
|
||||||
char buf[4096];
|
|
||||||
int rbytes;
|
|
||||||
char *dot = strrchr(fname, '.');
|
|
||||||
if (!dot || strlen(dot) != 4
|
|
||||||
|| tolower(dot[1]) != 'e'
|
|
||||||
|| tolower(dot[2]) != 'x'
|
|
||||||
|| tolower(dot[3]) != 'e')
|
|
||||||
{
|
|
||||||
fprintf(stderr, "%s: Arguments MUST end with a .exe extension\n", fname);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ifile = fopen(fname, "rb");
|
|
||||||
if (!ifile)
|
|
||||||
{
|
|
||||||
perror(fname);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
fread(header, sizeof(header), 1, ifile);
|
|
||||||
if (header[0] == 0x5a4d)
|
|
||||||
{
|
|
||||||
long header_offset = (long)header[2]*512L;
|
|
||||||
if (header[1])
|
|
||||||
header_offset += (long)header[1] - 512L;
|
|
||||||
fseek(ifile, header_offset, SEEK_SET);
|
|
||||||
header[0] = 0;
|
|
||||||
fread(header, sizeof(header), 1, ifile);
|
|
||||||
if ((header[0] != 0x010b) && (header[0] != 0x014c))
|
|
||||||
{
|
|
||||||
fprintf(stderr, "`%s' does not have a COFF/AOUT program appended to it\n", fname);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
fseek(ifile, header_offset, SEEK_SET);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
fprintf(stderr, "`%s' is not an .EXE file\n", fname);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
*dot = 0;
|
|
||||||
ofile = fopen(fname, "w+b");
|
|
||||||
if (!ofile)
|
|
||||||
{
|
|
||||||
perror(fname);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
while ((rbytes=fread(buf, 1, 4096, ifile)) > 0)
|
|
||||||
{
|
|
||||||
int wb = fwrite(buf, 1, rbytes, ofile);
|
|
||||||
if (wb < 0)
|
|
||||||
{
|
|
||||||
perror(fname);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (wb < rbytes)
|
|
||||||
{
|
|
||||||
fprintf(stderr, "`%s': disk full\n", fname);
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fclose(ifile);
|
|
||||||
fclose(ofile);
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
if (argc == 1) printf("Usage: %s <exename>", argv[0]);
|
|
||||||
for (i=1; i<argc; i++)
|
|
||||||
exe2aout(argv[i]);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
cd `dirname $0`
|
|
||||||
cc -o exe2coff/exe2coff exe2coff/exe2coff.c || exit
|
|
||||||
cp $1 binary.exe || exit
|
|
||||||
./exe2coff/exe2coff binary.exe || exit
|
|
||||||
cat cwsdpmi/cwsdstub.exe binary > binary.exe || exit
|
|
||||||
mv binary.exe $1
|
|
||||||
rm binary exe2coff/exe2coff
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue