1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-13 09:39:10 +00:00

Compare commits

..

1 Commits

Author SHA1 Message Date
rubidium
ebeb4115e9 (svn r18735) -Release: 1.0.0-beta2 2010-01-05 21:00:14 +00:00
1016 changed files with 76058 additions and 140209 deletions

49
.gitignore vendored
View File

@@ -1,45 +1,12 @@
Makefile*
bin/*
!bin/ai
bin/ai/*
!bin/ai/compat*.nut
!bin/ai/regression
!bin/data
bin/data/*
!bin/data/openttd.grf
!bin/data/opntitle.dat
!bin/data/orig_*.obg
!bin/data/orig_*.obs
!bin/data/no_sound.obs
!bin/gm
bin/gm/*
!bin/gm/no_music.obm
!bin/gm/orig_*.obm
!bin/scripts
bin/scripts/*
!bin/scripts/*.example
!bin/scripts/readme.txt
bundle/*
bundles/*
docs/aidocs/*
docs/source/*
media/openttd.desktop
media/openttd.desktop.install
!bin/data/chars.grf
!bin/data/openttdd.grf
!bin/data/openttdw.grf
!bin/data/opntitle.grf
!bin/scenario/README
!bin/scripts*
config.*
objs/*
projects/Debug
projects/Release
projects/*.ncb
projects/*.suo
projects/*.sdf
projects/*.opensdf
projects/*.vcproj.*.user
projects/*.vcxproj.user
src/rev.cpp
src/os/windows/ottdres.rc
/Makefile*
!/Makefile.msvc
/config.*
!/config.lib
!*.in
*.tmp

View File

@@ -1,26 +1,11 @@
syntax: glob
bin/lang/*
bin/openttd*
bin/*.cfg
bin/opentd*
bundle/*
bundles/*
config.cache*
config.cache.*
config.log
config.pwd
docs/aidocs/*
docs/source/*
Makefile
Makefile.am
Makefile.bundle
media/openttd.desktop
media/openttd.desktop.install
media/openttd.desktop*
objs/*
projects/*.ncb
projects/*.suo
projects/*.sdf
projects/*.opensdf
projects/*.vcproj.*.user
projects/*.vcxproj.user
src/rev.cpp
src/os/windows/ottdres.rc

View File

@@ -89,7 +89,8 @@ FILE_PATTERNS = *.c \
*.cpp \
*.c++ \
*.h \
*.hpp
*.hpp \
table/*.h
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
@@ -195,8 +196,8 @@ EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = ENABLE_NETWORK ENABLE_AI WITH_ZLIB WITH_LZO WITH_PNG WITH_FONTCONFIG WITH_FREETYPE WITH_ICU UNICODE _UNICODE
EXPAND_AS_DEFINED =
PREDEFINED =
EXPAND_AS_DEFINED = DEF_COMMAND
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references

View File

@@ -72,6 +72,9 @@ endif
$(Q)cp "$(ROOT_DIR)/readme.txt" "$(BUNDLE_DIR)/"
$(Q)cp "$(ROOT_DIR)/COPYING" "$(BUNDLE_DIR)/"
$(Q)cp "$(ROOT_DIR)/known-bugs.txt" "$(BUNDLE_DIR)/"
$(Q)cp "$(ROOT_DIR)/docs/obg_format.txt" "$(BUNDLE_DIR)/docs/"
$(Q)cp "$(ROOT_DIR)/docs/obm_format.txt" "$(BUNDLE_DIR)/docs/"
$(Q)cp "$(ROOT_DIR)/docs/obs_format.txt" "$(BUNDLE_DIR)/docs/"
$(Q)cp "$(ROOT_DIR)/docs/multiplayer.txt" "$(BUNDLE_DIR)/docs/"
$(Q)cp "$(ROOT_DIR)/docs/32bpp.txt" "$(BUNDLE_DIR)/docs/"
$(Q)cp "$(ROOT_DIR)/changelog.txt" "$(BUNDLE_DIR)/"
@@ -85,8 +88,7 @@ endif
$(Q)cp "$(BIN_DIR)/scripts/"* "$(BUNDLE_DIR)/scripts/"
ifdef MENU_DIR
$(Q)cp "$(ROOT_DIR)/media/openttd.desktop" "$(BUNDLE_DIR)/media/"
$(Q)$(AWK) -f "$(ROOT_DIR)/media/openttd.desktop.translation.awk" "$(SRC_DIR)/lang/"*.txt | $(SORT) >> "$(BUNDLE_DIR)/media/openttd.desktop"
$(Q)sed s/=openttd/=$(BINARY_NAME)/g "$(BUNDLE_DIR)/media/openttd.desktop" > "$(ROOT_DIR)/media/openttd.desktop.install"
$(Q)cat "$(ROOT_DIR)/media/openttd.desktop" | sed s/=openttd/=$(BINARY_NAME)/g > "$(ROOT_DIR)/media/openttd.desktop.install"
endif
ifeq ($(TTD), openttd.exe)
$(Q)unix2dos "$(BUNDLE_DIR)/docs/"* "$(BUNDLE_DIR)/readme.txt" "$(BUNDLE_DIR)/COPYING" "$(BUNDLE_DIR)/changelog.txt" "$(BUNDLE_DIR)/known-bugs.txt"
@@ -136,13 +138,6 @@ bundle_lzma: bundle
$(Q)cd "$(BUNDLES_DIR)/.lzma" && tar --lzma -c$(shell if test -n "$(VERBOSE)"; then echo 'v'; fi)f "$(BUNDLES_DIR)/$(BUNDLE_NAME).tar.lzma" "$(BUNDLE_NAME)"
$(Q)rm -rf "$(BUNDLES_DIR)/.lzma"
bundle_xz: bundle
@echo '[BUNDLE] Creating $(BUNDLE_NAME).tar.xz'
$(Q)mkdir -p "$(BUNDLES_DIR)/.xz/$(BUNDLE_NAME)"
$(Q)cp -R "$(BUNDLE_DIR)/"* "$(BUNDLES_DIR)/.xz/$(BUNDLE_NAME)/"
$(Q)cd "$(BUNDLES_DIR)/.xz" && tar --xz -c$(shell if test -n "$(VERBOSE)"; then echo 'v'; fi)f "$(BUNDLES_DIR)/$(BUNDLE_NAME).tar.xz" "$(BUNDLE_NAME)"
$(Q)rm -rf "$(BUNDLES_DIR)/.xz"
bundle_lha: bundle
@echo '[BUNDLE] Creating $(BUNDLE_NAME).lha'
$(Q)mkdir -p "$(BUNDLES_DIR)/.lha/$(BUNDLE_NAME)"
@@ -160,7 +155,7 @@ bundle_dmg: bundle
bundle_exe: all
@echo '[BUNDLE] Creating $(BUNDLE_NAME).exe'
$(Q)mkdir -p "$(BUNDLES_DIR)"
$(Q)unix2dos "$(ROOT_DIR)/docs/"*.txt "$(ROOT_DIR)/readme.txt" "$(ROOT_DIR)/COPYING" "$(ROOT_DIR)/changelog.txt" "$(ROOT_DIR)/known-bugs.txt"
$(Q)unix2dos "$(ROOT_DIR)/docs/"* "$(ROOT_DIR)/readme.txt" "$(ROOT_DIR)/COPYING" "$(ROOT_DIR)/changelog.txt" "$(ROOT_DIR)/known-bugs.txt"
$(Q)cd $(ROOT_DIR)/os/windows/installer && makensis.exe //DVERSION_INCLUDE=version_$(PLATFORM).txt install.nsi
$(Q)mv $(ROOT_DIR)/os/windows/installer/*$(PLATFORM).exe "$(BUNDLES_DIR)/$(BUNDLE_NAME).exe"
@@ -178,6 +173,7 @@ install: bundle
$(Q)install -d "$(INSTALL_DATA_DIR)/lang"
$(Q)install -d "$(INSTALL_DATA_DIR)/gm"
$(Q)install -d "$(INSTALL_DATA_DIR)/scripts"
$(Q)install -d "$(INSTALL_DOC_DIR)"
ifeq ($(TTD), openttd.exe)
$(Q)install -m 755 "$(BUNDLE_DIR)/$(TTD)" "$(INSTALL_BINARY_DIR)/${BINARY_NAME}.exe"
else
@@ -188,18 +184,9 @@ endif
$(Q)install -m 644 "$(BUNDLE_DIR)/data/"* "$(INSTALL_DATA_DIR)/data"
$(Q)install -m 644 "$(BUNDLE_DIR)/gm/"* "$(INSTALL_DATA_DIR)/gm"
$(Q)install -m 644 "$(BUNDLE_DIR)/scripts/"* "$(INSTALL_DATA_DIR)/scripts"
ifndef DO_NOT_INSTALL_DOCS
$(Q)install -d "$(INSTALL_DOC_DIR)"
$(Q)install -m 644 "$(BUNDLE_DIR)/docs/"* "$(BUNDLE_DIR)/readme.txt" "$(BUNDLE_DIR)/known-bugs.txt" "$(INSTALL_DOC_DIR)"
endif
ifndef DO_NOT_INSTALL_CHANGELOG
$(Q)install -d "$(INSTALL_DOC_DIR)"
$(Q)install -m 644 "$(BUNDLE_DIR)/changelog.txt" "$(INSTALL_DOC_DIR)"
endif
ifndef DO_NOT_INSTALL_LICENSE
$(Q)install -d "$(INSTALL_DOC_DIR)"
$(Q)install -m 644 "$(BUNDLE_DIR)/docs/"* "$(INSTALL_DOC_DIR)"
$(Q)install -m 644 "$(BUNDLE_DIR)/"*.txt "$(INSTALL_DOC_DIR)"
$(Q)install -m 644 "$(BUNDLE_DIR)/COPYING" "$(INSTALL_DOC_DIR)"
endif
$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.32.xpm" "$(INSTALL_ICON_DIR)/${BINARY_NAME}.32.xpm"
ifdef ICON_THEME_DIR
$(Q)install -d "$(INSTALL_ICON_THEME_DIR)"
@@ -219,11 +206,9 @@ else
$(Q)install -m 644 "$(BUNDLE_DIR)/media/"*.png "$(INSTALL_ICON_DIR)"
endif
ifdef MAN_DIR
ifndef DO_NOT_INSTALL_MAN
$(Q)install -d "$(INSTALL_MAN_DIR)"
$(Q)install -m 644 "$(BUNDLE_DIR)/man/openttd.6.gz" "$(INSTALL_MAN_DIR)/${BINARY_NAME}.6.gz"
endif
endif
ifdef MENU_DIR
$(Q)install -d "$(INSTALL_MENU_DIR)"
$(Q)install -m 644 "$(ROOT_DIR)/media/openttd.desktop.install" "$(INSTALL_MENU_DIR)/${BINARY_NAME}.desktop"

View File

@@ -1,80 +0,0 @@
# $Id$
# This file is part of OpenTTD.
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
#
# Building requires GRFCodec and NFORenum. Older versions of GRFCodec are
# known to miscompile the graphics.
#
# Recent nightlies (including sources) of both can be found at:
# http://www.openttd.org/download-grfcodec
# http://www.openttd.org/download-nforenum
#
# The mercurial repository of both can be found at:
# http://hg.openttdcoop.org/grfcodec
# http://hg.openttdcoop.org/nforenum
#
ROOT_DIR = !!ROOT_DIR!!
GRF_DIR = $(ROOT_DIR)/media/extra_grf
BIN_DIR = !!BIN_DIR!!/data
OBJS_DIR = !!GRF_OBJS_DIR!!
OS = !!OS!!
STAGE = !!STAGE!!
# Check if we want to show what we are doing
ifdef VERBOSE
Q =
E = @true
else
Q = @
E = @echo
endif
# Some configurational settings for your environment.
# If GRFCodec doesn't know a command, it'll exit with a non-zero exit code.
GRFCODEC := $(shell grfcodec -s -v >/dev/null 2>/dev/null && echo "grfcodec -s" || echo "grfcodec")
# Old NFORenums don't give an error code when a parameter isn't known, so we have to work around that.
NFORENUM := $(shell [ `nforenum -s -v 2>/dev/null | wc -l ` -eq 1 ] && echo "nforenum -s" || echo "nforenum")
MD5SUM := $(shell [ "$(OS)" = "OSX" ] && echo "md5 -r" || echo "md5sum")
# Some "should not be changed" settings.
NFO_FILES := $(GRF_DIR)/*.nfo
PNG_FILES := $(GRF_DIR)/*.png
# Build the GRF.
all: $(BIN_DIR)/openttd.grf
# Make sure the sprites directory exists.
$(OBJS_DIR)/sprites:
$(Q)-mkdir "$@"
# Generic
$(BIN_DIR)/openttd.grf: $(PNG_FILES) $(NFO_FILES) $(OBJS_DIR)/sprites
@# Only try; if nforenum isn't available, just retouch the file as they likely didn't need it anyway.
$(Q) ($(NFORENUM) --help > /dev/null 2>&1 && $(MAKE) $(OBJS_DIR)/openttd.grf && cp $(OBJS_DIR)/openttd.grf $(BIN_DIR)/openttd.grf) || ([ -e $(BIN_DIR)/openttd.grf ] && touch $(BIN_DIR)/openttd.grf && echo "no NFORenum and GRFCodec found, skipping rebuild of openttd.grf...") || (echo "no NFORenum and GRFCodec found, but no openttd.grf either. Install NFORenum and GRFCodec." && exit 1)
# Yeah, we'd like to use -i in the sed, but Mac OS X's sed and GNU sed just can't agree on the usage of -i. In any case either one of them fails.
$(OBJS_DIR)/openttd.grf: $(PNG_FILES) $(NFO_FILES) $(OBJS_DIR)/sprites
$(E) '$(STAGE) Assembling openttd.nfo'
$(Q)-cp $(PNG_FILES) $(OBJS_DIR)/sprites 2> /dev/null
$(Q) gcc -I$(GRF_DIR) -C -E - < "$(GRF_DIR)/openttd.nfo" | sed -e '/^#/d' -e '/^$$/d' > $(OBJS_DIR)/sprites/openttd.nfo
$(Q) $(NFORENUM) $(OBJS_DIR)/sprites/openttd.nfo
$(E) '$(STAGE) Compiling openttd.grf'
$(Q) $(GRFCODEC) -e -p1 $(OBJS_DIR)/openttd.grf
$(Q) cp $(OBJS_DIR)/openttd.grf $(BIN_DIR)/openttd.grf
$(E) '$(STAGE) Updating base graphics sets'
$(Q) for grf in $(BIN_DIR)/orig*.obg; do sed 's/^OPENTTD.GRF = [0-9a-f]*$$/OPENTTD.GRF = '`$(MD5SUM) $(BIN_DIR)/openttd.grf | sed 's@ .*@@'`'/' $$grf > $$grf.tmp && mv $$grf.tmp $$grf; done
# Clean up temporary files.
clean:
$(Q)rm -f *.bak *.grf
# Clean up temporary files
mrproper: clean
$(Q)rm -fr sprites
.PHONY: all mrproper depend clean

View File

@@ -43,7 +43,6 @@ OSXAPP = !!OSXAPP!!
LIPO = !!LIPO!!
REVISION = !!REVISION!!
AWK = !!AWK!!
SORT = !!SORT!!
DISTCC = !!DISTCC!!
RES := $(shell if [ ! -f $(CONFIG_CACHE_PWD) ] || [ "`pwd`" != "`cat $(CONFIG_CACHE_PWD)`" ]; then echo "`pwd`" > $(CONFIG_CACHE_PWD); fi )
@@ -54,7 +53,7 @@ ifdef DISTCC
@if [ -z "`echo '$(MFLAGS)' | grep '\-j'`" ]; then echo; echo "WARNING: you enabled distcc support, but you don't seem to be using the -jN paramter"; echo; fi
endif
@for dir in $(DIRS); do \
$(MAKE) -C $$dir all || exit 1; \
$(MAKE) -C $$dir all; \
done
ifdef LIPO
# Lipo is an OSX thing. If it is defined, it means we are building for universal,
@@ -130,25 +129,10 @@ mrproper:
done
$(Q)rm -rf objs
$(Q)rm -f Makefile Makefile.am Makefile.bundle
$(Q)rm -f media/openttd.desktop media/openttd.desktop.install
$(Q)rm -f media/openttd.desktop
$(Q)rm -f $(CONFIG_CACHE_SOURCE_LIST) config.cache config.pwd config.log $(CONFIG_CACHE_PWD)
# directories for bundle generation
$(Q)rm -rf $(BUNDLE_DIR)
$(Q)rm -rf $(BUNDLES_DIR)
# output of profiling
$(Q)rm -f $(BIN_DIR)/gmon.out
# output of generating 'API' documentation
$(Q)rm -f $(ROOT_DIR)/openttd.tag
$(Q)rm -rf $(ROOT_DIR)/docs/source
# output of generating AI API documentation
$(Q)rm -f $(SRC_DIR)/ai/api/openttd.tag
$(Q)rm -rf $(ROOT_DIR)/docs/aidocs
# directories created by OpenTTD on regression testing
$(Q)rm -rf $(BIN_DIR)/ai/regression/content_download $(BIN_DIR)/ai/regression/save $(BIN_DIR)/ai/regression/scenario
distclean: mrproper
maintainer-clean: distclean
$(Q)rm -f $(BIN_DIR)/data/openttd.grf
depend:
@for dir in $(SRC_DIRS); do \
@@ -166,7 +150,6 @@ run-prof: all
regression: all
$(Q)cd !!BIN_DIR!! && sh ai/regression/run.sh
test: regression
%.o:
@for dir in $(SRC_DIRS); do \
@@ -178,6 +161,4 @@ test: regression
$(MAKE) -C $$dir $@; \
done
.PHONY: test distclean mrproper clean
include Makefile.bundle

View File

@@ -88,7 +88,6 @@ clean:
$(Q)rm -f strgen.o string.o table/strings.h $(STRGEN) $(LANGS) $(LANGS:%=$(BIN_DIR)/lang/%) lang/english.* $(ENDIAN_TARGETS)
mrproper: clean
$(Q)rm -rf $(BIN_DIR)/lang
%.lng:
@echo '$(STAGE) No such language: $(@:%.lng=%)'

View File

@@ -27,21 +27,9 @@ SRC_DIR = "$(ROOT_DIR)/src"
BUNDLE_DIR = "$(ROOT_DIR)/bundle"
BUNDLES_DIR = "$(ROOT_DIR)/bundles"
TTD = openttd.exe
PDB = openttd.pdb
MODE = Release
TARGET := $(shell echo $(PLATFORM) | sed "s@win64@x64@;s@win32@Win32@")
all:
$(Q)cp objs/$(TARGET)/$(MODE)/$(TTD) $(BIN_DIR)/$(TTD)
$(Q)cp objs/$(TARGET)/Release/$(TTD) $(BIN_DIR)/$(TTD)
include Makefile.bundle.in
bundle_pdb:
@echo '[BUNDLE] Creating $(BUNDLE_NAME).pdb.xz'
$(Q)mkdir -p "$(BUNDLES_DIR)"
$(Q)cp objs/$(TARGET)/Release/$(PDB) $(BUNDLES_DIR)/$(BUNDLE_NAME).pdb
$(Q)xz -9 $(BUNDLES_DIR)/$(BUNDLE_NAME).pdb
regression: all
$(Q)cp bin/$(TTD) bin/openttd
$(Q)cd bin && sh ai/regression/run.sh

View File

@@ -58,10 +58,7 @@ RES := $(shell mkdir -p $(BIN_DIR) $(sort $(dir $(OBJS))))
# Make sure endian_target.h is reasable as if it was in the src/ dir
CFLAGS += -I $(SRC_OBJS_DIR) -I $(LANG_OBJS_DIR)
CFLAGS_MAKEDEP += -I $(SRC_OBJS_DIR) -I $(LANG_OBJS_DIR)
ifdef SCRIPT_SRC_DIR
CFLAGS_MAKEDEP += -I $(SCRIPT_SRC_DIR)
endif
CFLAGS_MAKEDEP += -I $(SRC_OBJS_DIR) -I $(LANG_OBJS_DIR) -I $(SCRIPT_SRC_DIR)
ENDIAN_TARGETS := endian_target.h $(ENDIAN_CHECK)
@@ -256,17 +253,17 @@ ifeq ($(OS), PSP)
# Because of a bug in the PSP GCC tools, linking via CXX results
# in total chaos and more problems then you can handle. So we need
# CC to link OpenTTD for PSP
$(Q)+$(CC_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
$(Q)$(CC_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
else
$(Q)+$(CXX_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
$(Q)$(CXX_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
endif
ifdef STRIP
$(Q)$(STRIP) $@
endif
ifeq ($(OS), DOS)
$(E) '$(STAGE) Adding CWSDPMI stub to $@'
$(Q)$(ROOT_DIR)/os/dos/make_dos_binary_selfcontained.sh $(SRC_OBJS_DIR)/$@
endif
endif
# The targets to compile the endian-code

View File

@@ -258,66 +258,3 @@ class AIWaypointList extends _AIWaypointList {
::_AIWaypointList.constructor(AIWaypoint.WAYPOINT_RAIL);
}
}
AIRoad._BuildRoadStation <- AIRoad.BuildRoadStation;
AIRoad.BuildRoadStation <- function(tile, front, road_veh_type, station_id)
{
if (AIRoad.IsRoadStationTile(tile) && AICompany.IsMine(AITile.GetOwner(tile))) return false;
return AIRoad._BuildRoadStation(tile, front, road_veh_type, station_id);
}
AIRoad._BuildDriveThroughRoadStation <- AIRoad.BuildDriveThroughRoadStation;
AIRoad.BuildDriveThroughRoadStation <- function(tile, front, road_veh_type, station_id)
{
if (AIRoad.IsRoadStationTile(tile) && AICompany.IsMine(AITile.GetOwner(tile))) return false;
return AIRoad._BuildDriveThroughRoadStation(tile, front, road_veh_type, station_id);
}
AIBridgeList.HasNext <-
AIBridgeList_Length.HasNext <-
AICargoList.HasNext <-
AICargoList_IndustryAccepting.HasNext <-
AICargoList_IndustryProducing.HasNext <-
AIDepotList.HasNext <-
AIEngineList.HasNext <-
AIGroupList.HasNext <-
AIIndustryList.HasNext <-
AIIndustryList_CargoAccepting.HasNext <-
AIIndustryList_CargoProducing.HasNext <-
AIIndustryTypeList.HasNext <-
AIList.HasNext <-
AIRailTypeList.HasNext <-
AISignList.HasNext <-
AIStationList.HasNext <-
AIStationList_Vehicle.HasNext <-
AISubsidyList.HasNext <-
AITileList.HasNext <-
AITileList_IndustryAccepting.HasNext <-
AITileList_IndustryProducing.HasNext <-
AITileList_StationType.HasNext <-
AITownList.HasNext <-
AIVehicleList.HasNext <-
AIVehicleList_DefaultGroup.HasNext <-
AIVehicleList_Group.HasNext <-
AIVehicleList_SharedOrders.HasNext <-
AIVehicleList_Station.HasNext <-
AIWaypointList.HasNext <-
AIWaypointList_Vehicle.HasNext <-
function()
{
return !this.IsEnd();
}
AIIndustry._IsCargoAccepted <- AIIndustry.IsCargoAccepted;
AIIndustry.IsCargoAccepted <- function(industry_id, cargo_id)
{
return AIIndustry._IsCargoAccepted(industry_id, cargo_id) != AIIndustry.CAS_NOT_ACCEPTED;
}
AIAbstractList <- AIList;
AIList.ChangeItem <- AIList.SetValue;
AIRail.ERR_NONUNIFORM_STATIONS_DISABLED <- 0xFFFF;

View File

@@ -6,69 +6,3 @@
* 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/>.
*/
AILog.Info("1.0 API compatability in effect.");
AIRoad._BuildRoadStation <- AIRoad.BuildRoadStation;
AIRoad.BuildRoadStation <- function(tile, front, road_veh_type, station_id)
{
if (AIRoad.IsRoadStationTile(tile) && AICompany.IsMine(AITile.GetOwner(tile))) return false;
return AIRoad._BuildRoadStation(tile, front, road_veh_type, station_id);
}
AIRoad._BuildDriveThroughRoadStation <- AIRoad.BuildDriveThroughRoadStation;
AIRoad.BuildDriveThroughRoadStation <- function(tile, front, road_veh_type, station_id)
{
if (AIRoad.IsRoadStationTile(tile) && AICompany.IsMine(AITile.GetOwner(tile))) return false;
return AIRoad._BuildDriveThroughRoadStation(tile, front, road_veh_type, station_id);
}
AIBridgeList.HasNext <-
AIBridgeList_Length.HasNext <-
AICargoList.HasNext <-
AICargoList_IndustryAccepting.HasNext <-
AICargoList_IndustryProducing.HasNext <-
AIDepotList.HasNext <-
AIEngineList.HasNext <-
AIGroupList.HasNext <-
AIIndustryList.HasNext <-
AIIndustryList_CargoAccepting.HasNext <-
AIIndustryList_CargoProducing.HasNext <-
AIIndustryTypeList.HasNext <-
AIList.HasNext <-
AIRailTypeList.HasNext <-
AISignList.HasNext <-
AIStationList.HasNext <-
AIStationList_Vehicle.HasNext <-
AISubsidyList.HasNext <-
AITileList.HasNext <-
AITileList_IndustryAccepting.HasNext <-
AITileList_IndustryProducing.HasNext <-
AITileList_StationType.HasNext <-
AITownList.HasNext <-
AIVehicleList.HasNext <-
AIVehicleList_DefaultGroup.HasNext <-
AIVehicleList_Depot.HasNext <-
AIVehicleList_Group.HasNext <-
AIVehicleList_SharedOrders.HasNext <-
AIVehicleList_Station.HasNext <-
AIWaypointList.HasNext <-
AIWaypointList_Vehicle.HasNext <-
function()
{
return !this.IsEnd();
}
AIIndustry._IsCargoAccepted <- AIIndustry.IsCargoAccepted;
AIIndustry.IsCargoAccepted <- function(industry_id, cargo_id)
{
return AIIndustry._IsCargoAccepted(industry_id, cargo_id) != AIIndustry.CAS_NOT_ACCEPTED;
}
AIAbstractList <- AIList;
AIList.ChangeItem <- AIList.SetValue;
AIRail.ERR_NONUNIFORM_STATIONS_DISABLED <- 0xFFFF;

View File

@@ -1,8 +0,0 @@
/* $Id$ */
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/

View File

@@ -15,6 +15,3 @@ regression =
[vehicle]
road_side = right
plane_speed = 2
[construction]
max_bridge_length = 100

View File

@@ -35,7 +35,7 @@ function Regression::TestInit()
list.AddItem(35, 40);
list.AddItem(40, 40);
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
list.RemoveItem(i - 10);
list.RemoveItem(i - 5);
list.RemoveItem(i);
@@ -48,17 +48,17 @@ function Regression::TestInit()
list.AddItem(40, 40);
print("");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
list.SetValue(i, 2);
print(" " + i);
}
print("");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i);
}
list = AIList();
list.Sort(AIList.SORT_BY_VALUE, AIList.SORT_ASCENDING);
list.Sort(AIAbstractList.SORT_BY_VALUE, AIAbstractList.SORT_ASCENDING);
print("");
print(" Value Ascending");
list.AddItem( 5, 10);
@@ -70,7 +70,7 @@ function Regression::TestInit()
list.AddItem(35, 40);
list.AddItem(40, 40);
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
list.RemoveItem(i + 10);
list.RemoveItem(i + 5);
list.RemoveItem(i);
@@ -83,17 +83,17 @@ function Regression::TestInit()
list.AddItem(40, 40);
print("");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
list.SetValue(i, 50);
print(" " + i);
}
print("");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i);
}
list = AIList();
list.Sort(AIList.SORT_BY_ITEM, AIList.SORT_DESCENDING);
list.Sort(AIAbstractList.SORT_BY_ITEM, AIAbstractList.SORT_DESCENDING);
print("");
print(" Item Descending");
list.AddItem( 5, 10);
@@ -105,7 +105,7 @@ function Regression::TestInit()
list.AddItem(35, 40);
list.AddItem(40, 40);
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
list.RemoveItem(i - 10);
list.RemoveItem(i - 5);
list.RemoveItem(i);
@@ -118,17 +118,17 @@ function Regression::TestInit()
list.AddItem(40, 40);
print("");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
list.SetValue(i, 2);
print(" " + i);
}
print("");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i);
}
list = AIList();
list.Sort(AIList.SORT_BY_ITEM, AIList.SORT_ASCENDING);
list.Sort(AIAbstractList.SORT_BY_ITEM, AIAbstractList.SORT_ASCENDING);
print("");
print(" Item Ascending");
list.AddItem( 5, 10);
@@ -140,7 +140,7 @@ function Regression::TestInit()
list.AddItem(35, 40);
list.AddItem(40, 40);
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
list.RemoveItem(i + 10);
list.RemoveItem(i + 5);
list.RemoveItem(i);
@@ -153,12 +153,12 @@ function Regression::TestInit()
list.AddItem(40, 40);
print("");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
list.SetValue(i, 50);
print(" " + i);
}
print("");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i);
}
@@ -192,9 +192,9 @@ function Regression::Base()
print(" RandRange(2): " + AIBase.RandRange(2));
print(" RandRange(2): " + AIBase.RandRange(2));
print(" RandRange(2): " + AIBase.RandRange(2));
print(" RandRange(1000000): " + AIBase.RandRange(1000000)); // 32 bit tests
print(" RandRange(1000000): " + AIBase.RandRange(1000000));
print(" RandRange(1000000): " + AIBase.RandRange(1000000));
print(" RandRange(9): " + AIBase.RandRange(9));
print(" RandRange(9): " + AIBase.RandRange(9));
print(" RandRange(9): " + AIBase.RandRange(9));
print(" Chance(1, 2): " + AIBase.Chance(1, 2));
print(" Chance(1, 2): " + AIBase.Chance(1, 2));
print(" Chance(1, 2): " + AIBase.Chance(1, 2));
@@ -283,22 +283,22 @@ function Regression::BridgeList()
print(" Count(): " + list.Count());
list.Valuate(AIBridge.GetMaxSpeed);
print(" MaxSpeed ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIBridge.GetPrice, 5);
print(" Price ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIBridge.GetMaxLength);
print(" MaxLength ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIBridge.GetMinLength);
print(" MinLength ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -309,12 +309,12 @@ function Regression::BridgeList()
print(" Count(): " + list.Count());
list.Valuate(AIBridge.GetMaxSpeed);
print(" MaxSpeed ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIBridge.GetPrice, 14);
print(" Price ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
}
@@ -347,13 +347,13 @@ function Regression::CargoList()
print(" Count(): " + list.Count());
list.Valuate(AICargo.IsFreight);
print(" IsFreight ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AICargo.GetCargoIncome, 100, 100);
print(" CargoIncomes(100, 100) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -362,7 +362,7 @@ function Regression::CargoList()
print("--CargoList_IndustryAccepting--");
print(" Count(): " + list.Count());
print(" ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i);
}
@@ -371,7 +371,7 @@ function Regression::CargoList()
print("--CargoList_IndustryProducing--");
print(" Count(): " + list.Count());
print(" ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i);
}
}
@@ -479,70 +479,31 @@ function Regression::EngineList()
print(" Count(): " + list.Count());
list.Valuate(AIEngine.GetCargoType);
print(" CargoType ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIEngine.GetCapacity);
print(" Capacity ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIEngine.GetReliability);
print(" Reliability ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIEngine.GetMaxSpeed);
print(" MaxSpeed ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIEngine.GetPrice);
print(" Price ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
}
function Regression::Prices()
{
print("");
print("--Prices--");
print(" -Rail-");
print(" 0,BT_TRACK: " + AIRail.GetBuildCost(0, AIRail.BT_TRACK));
print(" 0,BT_SIGNAL: " + AIRail.GetBuildCost(0, AIRail.BT_SIGNAL));
print(" 0,BT_DEPOT: " + AIRail.GetBuildCost(0, AIRail.BT_DEPOT));
print(" 0,BT_STATION: " + AIRail.GetBuildCost(0, AIRail.BT_STATION));
print(" 0,BT_WAYPOINT: " + AIRail.GetBuildCost(0, AIRail.BT_WAYPOINT));
print(" 1,BT_TRACK: " + AIRail.GetBuildCost(1, AIRail.BT_TRACK));
print(" 1,BT_SIGNAL: " + AIRail.GetBuildCost(1, AIRail.BT_SIGNAL));
print(" 1,BT_DEPOT: " + AIRail.GetBuildCost(1, AIRail.BT_DEPOT));
print(" 1,BT_STATION: " + AIRail.GetBuildCost(1, AIRail.BT_STATION));
print(" 1,BT_WAYPOINT: " + AIRail.GetBuildCost(1, AIRail.BT_WAYPOINT));
print(" -Road-");
print(" ROADTYPE_ROAD,BT_ROAD: " + AIRoad.GetBuildCost(AIRoad.ROADTYPE_ROAD, AIRoad.BT_ROAD));
print(" ROADTYPE_ROAD,BT_DEPOT: " + AIRoad.GetBuildCost(AIRoad.ROADTYPE_ROAD, AIRoad.BT_DEPOT));
print(" ROADTYPE_ROAD,BT_BUS_STOP: " + AIRoad.GetBuildCost(AIRoad.ROADTYPE_ROAD, AIRoad.BT_BUS_STOP));
print(" ROADTYPE_ROAD,BT_TRUCK_STOP: " + AIRoad.GetBuildCost(AIRoad.ROADTYPE_ROAD, AIRoad.BT_TRUCK_STOP));
print(" ROADTYPE_TRAM,BT_ROAD: " + AIRoad.GetBuildCost(AIRoad.ROADTYPE_TRAM, AIRoad.BT_ROAD));
print(" ROADTYPE_TRAM,BT_DEPOT: " + AIRoad.GetBuildCost(AIRoad.ROADTYPE_TRAM, AIRoad.BT_DEPOT));
print(" ROADTYPE_TRAM,BT_BUS_STOP: " + AIRoad.GetBuildCost(AIRoad.ROADTYPE_TRAM, AIRoad.BT_BUS_STOP));
print(" ROADTYPE_TRAM,BT_TRUCK_STOP: " + AIRoad.GetBuildCost(AIRoad.ROADTYPE_TRAM, AIRoad.BT_TRUCK_STOP));
print(" -Water-");
print(" BT_DOCK: " + AIMarine.GetBuildCost(AIMarine.BT_DOCK));
print(" BT_DEPOT: " + AIMarine.GetBuildCost(AIMarine.BT_DEPOT));
print(" BT_BUOY: " + AIMarine.GetBuildCost(AIMarine.BT_BUOY));
print(" -Tile-");
print(" BT_FOUNDATION: " + AITile.GetBuildCost(AITile.BT_FOUNDATION));
print(" BT_TERRAFORM: " + AITile.GetBuildCost(AITile.BT_TERRAFORM));
print(" BT_BUILD_TREES: " + AITile.GetBuildCost(AITile.BT_BUILD_TREES));
print(" BT_CLEAR_GRASS: " + AITile.GetBuildCost(AITile.BT_CLEAR_GRASS));
print(" BT_CLEAR_ROUGH: " + AITile.GetBuildCost(AITile.BT_CLEAR_ROUGH));
print(" BT_CLEAR_ROCKY: " + AITile.GetBuildCost(AITile.BT_CLEAR_ROCKY));
print(" BT_CLEAR_FIELDS: " + AITile.GetBuildCost(AITile.BT_CLEAR_FIELDS));
print(" BT_CLEAR_HOUSE: " + AITile.GetBuildCost(AITile.BT_CLEAR_HOUSE));
}
function cost_callback(old_path, new_tile, new_direction, self) { if (old_path == null) return 0; return old_path.GetCost() + 1; }
function estimate_callback(tile, direction, goals, self) { return goals[0] - tile; }
function neighbours_callback(path, cur_tile, self) { return [[cur_tile + 1, 1]]; }
@@ -585,8 +546,8 @@ function Regression::Industry()
print("--Industry--");
print(" GetIndustryCount(): " + AIIndustry.GetIndustryCount());
local list = AIIndustryList();
list.Sort(AIList.SORT_BY_ITEM, AIList.SORT_ASCENDING);
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
list.Sort(AIAbstractList.SORT_BY_ITEM, AIAbstractList.SORT_ASCENDING);
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
if (AIIndustry.IsValidIndustry(i)) j++;
print(" Industry " + i);
print(" IsValidIndustry(): " + AIIndustry.IsValidIndustry(i));
@@ -595,7 +556,7 @@ function Regression::Industry()
print(" IsCargoAccepted(): " + AIIndustry.IsCargoAccepted(i, 1));
local cargo_list = AICargoList();
for (local j = cargo_list.Begin(); !cargo_list.IsEnd(); j = cargo_list.Next()) {
for (local j = cargo_list.Begin(); cargo_list.HasNext(); j = cargo_list.Next()) {
if (AIIndustry.IsCargoAccepted(i, j) || AIIndustry.GetLastMonthProduction(i,j) >= 0) {
print(" GetLastMonthProduction(): " + AIIndustry.GetLastMonthProduction(i, j));
print(" GetLastMonthTransported(): " + AIIndustry.GetLastMonthTransported(i, j));
@@ -605,8 +566,6 @@ function Regression::Industry()
}
print(" Valid Industries: " + j);
print(" GetIndustryCount(): " + AIIndustry.GetIndustryCount());
print(" GetIndustryID(): " + AIIndustry.GetIndustryID(19694));
print(" GetIndustryID(): " + AIIndustry.GetIndustryID(19695));
}
function Regression::IndustryList()
@@ -618,27 +577,27 @@ function Regression::IndustryList()
print(" Count(): " + list.Count());
list.Valuate(AIIndustry.GetLocation);
print(" Location ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIIndustry.GetDistanceManhattanToTile, 30000);
print(" DistanceManhattanToTile(30000) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIIndustry.GetDistanceSquareToTile, 30000);
print(" DistanceSquareToTile(30000) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIIndustry.GetAmountOfStationsAround);
print(" GetAmountOfStationsAround(30000) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIIndustry.IsCargoAccepted, 1);
print(" CargoAccepted(1) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -647,7 +606,7 @@ function Regression::IndustryList()
print(" Count(): " + list.Count());
list.Valuate(AIIndustry.GetLocation);
print(" Location ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -656,7 +615,7 @@ function Regression::IndustryList()
print(" Count(): " + list.Count());
list.Valuate(AIIndustry.GetLocation);
print(" Location ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
}
@@ -670,7 +629,7 @@ function Regression::IndustryTypeList()
print(" Count(): " + list.Count());
list.Valuate(AIIndustry.GetLocation);
print(" Location ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" Id: " + i);
print(" IsRawIndustry(): " + AIIndustryType.IsRawIndustry(i));
print(" ProductionCanIncrease(): " + AIIndustryType.ProductionCanIncrease(i));
@@ -704,50 +663,50 @@ function Regression::List()
}
list.RemoveItem(1050);
list.RemoveItem(1150);
list.SetValue(1051, 12);
list.ChangeItem(1051, 12);
print(" Count(): " + list.Count());
print(" HasItem(1050): " + list.HasItem(1050));
print(" HasItem(1051): " + list.HasItem(1051));
print(" IsEmpty(): " + list.IsEmpty());
list.Sort(AIList.SORT_BY_ITEM, AIList.SORT_ASCENDING);
list.Sort(AIAbstractList.SORT_BY_ITEM, AIAbstractList.SORT_ASCENDING);
print(" List Dump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(CustomValuator);
print(" Custom ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(function (a) { return a * 42; });
print(" Custom ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIBase.RandItem);
print(" Randomize ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.KeepTop(10);
print(" KeepTop(10):");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.KeepBottom(8);
print(" KeepBottom(8):");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.RemoveBottom(2);
print(" RemoveBottom(2):");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.RemoveTop(2);
print(" RemoveTop(2):");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -756,13 +715,13 @@ function Regression::List()
list2.AddItem(1004, 0);
list.RemoveList(list2);
print(" RemoveList({1003, 1004}):");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list2.AddItem(1005, 0);
list.KeepList(list2);
print(" KeepList({1003, 1004, 1005}):");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list2.Clear();
@@ -772,7 +731,7 @@ function Regression::List()
list2.AddItem(1005, 1005);
list.AddList(list2);
print(" AddList({1005, 4000, 4001, 4002}):");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list[4000] = 50;
@@ -787,36 +746,6 @@ function Regression::List()
list.Clear();
print(" IsEmpty(): " + list.IsEmpty());
for (local i = 0; i < 10; i++) {
list.AddItem(i, 5 + i / 2);
}
local it = list.Begin();
print(" " + it + " => " + list.GetValue(it) + " (" + !list.IsEnd() + ")");
list.Sort(list.SORT_BY_VALUE, list.SORT_ASCENDING);
it = list.Next();
print(" " + it + " => " + list.GetValue(it) + " (" + !list.IsEnd() + ")");
it = list.Begin();
print(" " + it + " => " + list.GetValue(it) + " (" + !list.IsEnd() + ")");
list.SetValue(it + 1, -5);
it = list.Next();
print(" " + it + " => " + list.GetValue(it) + " (" + !list.IsEnd() + ")");
list.RemoveValue(list.GetValue(it) + 1);
it = list.Next();
print(" " + it + " => " + list.GetValue(it) + " (" + !list.IsEnd() + ")");
list.RemoveAboveValue(list.GetValue(it));
it = list.Next();
print(" " + it + " => " + list.GetValue(it) + " (" + !list.IsEnd() + ")");
while (!list.IsEnd()) {
it = list.Next();
print(" " + it + " => " + list.GetValue(it));
}
}
function Regression::Map()
@@ -881,11 +810,11 @@ function Regression::Marine()
print("--AIWaypointList(BUOY)--");
print(" Count(): " + list.Count());
print(" Location ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + AIWaypoint.GetLocation(i));
}
print(" HasWaypointType:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + AIWaypoint.HasWaypointType(i, AIWaypoint.WAYPOINT_RAIL) + " " + AIWaypoint.HasWaypointType(i, AIWaypoint.WAYPOINT_BUOY) + " " + AIWaypoint.HasWaypointType(i, AIWaypoint.WAYPOINT_ANY));
}
print("");
@@ -952,15 +881,6 @@ function Regression::Order()
print(" UnshareOrders(): " + AIOrder.UnshareOrders(13));
print(" AppendOrder(): " + AIOrder.AppendOrder(12, 33421, AIOrder.AIOF_NONE));
print(" GetStopLocation(): " + AIOrder.GetStopLocation(13, 0));
print(" BuildVehicle(): " + AIVehicle.BuildVehicle(23596, 8));
print(" BuildRailStation(): " + AIRail.BuildRailStation(7958, AIRail.RAILTRACK_NE_SW, 1, 1, AIStation.STATION_NEW));
print(" AppendOrder(): " + AIOrder.AppendOrder(20, 7958, AIOrder.AIOF_NONE));
print(" GetOrderCount(): " + AIOrder.GetOrderCount(20));
print(" GetStopLocation(): " + AIOrder.GetStopLocation(20, 0));
print(" SetStopLocation(): " + AIOrder.SetStopLocation(20, 0, AIOrder.STOPLOCATION_MIDDLE));
print(" GetStopLocation(): " + AIOrder.GetStopLocation(20, 0));
local list = AIStationList_Vehicle(12);
print("");
@@ -968,37 +888,37 @@ function Regression::Order()
print(" Count(): " + list.Count());
list.Valuate(AIStation.GetLocation);
print(" Location ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIStation.GetCargoWaiting, 0);
print(" CargoWaiting(0) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIStation.GetCargoWaiting, 1);
print(" CargoWaiting(1) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIStation.GetCargoRating, 1);
print(" CargoRating(1) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIStation.GetDistanceManhattanToTile, 30000);
print(" DistanceManhattanToTile(30000) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIStation.GetDistanceSquareToTile, 30000);
print(" DistanceSquareToTile(30000) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIStation.IsWithinTownInfluence, 0);
print(" IsWithinTownInfluence(0) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -1009,7 +929,7 @@ function Regression::Order()
print(" Count(): " + list.Count());
list.Valuate(AIVehicle.GetLocation);
print(" Location ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
print(" foreach():");
@@ -1026,11 +946,9 @@ function Regression::RailTypeList()
print("--RailTypeList--");
print(" Count(): " + list.Count());
print(" ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" RailType: " + i);
print(" GetName(): " + AIRail.GetName(i));
print(" IsRailTypeAvailable(): " + AIRail.IsRailTypeAvailable(i));
print(" GetMaxSpeed(): " + AIRail.GetMaxSpeed(i));
}
}
@@ -1063,11 +981,10 @@ function Regression::Rail()
print(" Count(): " + list.Count());
list.Valuate(AITile.GetDistanceManhattanToTile, 0);
print(" Depot distance from (0,0) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
print(" RemoveDepot(): " + AITile.DemolishTile(33411));
print(" BuildRailDepot(): " + AIRail.BuildRailDepot(23596, 23597));
print(" Station");
print(" BuildRailStation(): " + AIRail.BuildRailStation(0, AIRail.RAILTRACK_NE_SW, 1, 1, AIStation.STATION_NEW));
@@ -1141,7 +1058,7 @@ function Regression::Road()
print(" Count(): " + list.Count());
list.Valuate(AITile.GetDistanceManhattanToTile, 0);
print(" Depot distance from (0,0) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
print(" RemoveRoadDepot(): " + AIRoad.RemoveRoadDepot(33411));
@@ -1199,8 +1116,8 @@ function Regression::Sign()
print(" RemoveSign(" + sign_id + "): " + AISign.RemoveSign(sign_id));
print("");
local list = AISignList();
list.Sort(AIList.SORT_BY_ITEM, AIList.SORT_ASCENDING);
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
list.Sort(AIAbstractList.SORT_BY_ITEM, AIAbstractList.SORT_ASCENDING);
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
j++;
print(" Sign " + i);
print(" IsValidSign(): " + AISign.IsValidSign(i));
@@ -1250,17 +1167,17 @@ function Regression::Station()
print(" Count(): " + list.Count());
list.Valuate(AIStation.GetLocation);
print(" Location ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIStation.GetCargoWaiting, 0);
print(" CargoWaiting(0) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIStation.GetCargoWaiting, 1);
print(" CargoWaiting(1) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
}
@@ -1301,7 +1218,7 @@ function Regression::TileList()
print(" Slope(): done");
print(" Count(): " + list.Count());
print(" ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
print(" " + i + " => " + AITile.GetComplementSlope(list.GetValue(i)));
print(" " + i + " => " + AITile.IsSteepSlope(list.GetValue(i)));
@@ -1319,7 +1236,7 @@ function Regression::TileList()
print(" Height(): done");
print(" Count(): " + list.Count());
print(" ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -1327,7 +1244,7 @@ function Regression::TileList()
print(" CornerHeight(North): done");
print(" Count(): " + list.Count());
print(" ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -1335,7 +1252,7 @@ function Regression::TileList()
print(" MinHeight(): done");
print(" Count(): " + list.Count());
print(" ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -1343,7 +1260,7 @@ function Regression::TileList()
print(" MaxHeight(): done");
print(" Count(): " + list.Count());
print(" ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -1353,7 +1270,7 @@ function Regression::TileList()
print(" KeepValue(0): done");
print(" Count(): " + list.Count());
print(" ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -1367,27 +1284,27 @@ function Regression::TileList()
list.Valuate(AITile.IsBuildableRectangle, 3, 3);
print(" BuildableRectangle(3, 3) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AITile.GetDistanceManhattanToTile, 30000);
print(" DistanceManhattanToTile(30000) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AITile.GetDistanceSquareToTile, 30000);
print(" DistanceSquareToTile(30000) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AITile.GetOwner);
print(" GetOwner() ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AITile.GetClosestTown);
print(" GetClosestTown() ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -1397,7 +1314,7 @@ function Regression::TileList()
print(" KeepAboveValue(10): done");
print(" Count(): " + list.Count());
print(" ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -1407,7 +1324,7 @@ function Regression::TileList()
print(" KeepValue(1): done");
print(" Count(): " + list.Count());
print(" ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -1417,7 +1334,7 @@ function Regression::TileList()
print(" KeepValue(1): done");
print(" Count(): " + list.Count());
print(" ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -1426,7 +1343,7 @@ function Regression::TileList()
print(" Water(): done");
print(" Count(): " + list.Count());
print(" ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -1436,7 +1353,7 @@ function Regression::TileList()
print(" Count(): " + list.Count());
list.Valuate(AITile.GetCargoAcceptance, 3, 1, 1, 3);
print(" Location ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -1446,7 +1363,7 @@ function Regression::TileList()
print(" Count(): " + list.Count());
list.Valuate(AITile.GetCargoProduction, 7, 1, 1, 3);
print(" Location ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -1455,7 +1372,7 @@ function Regression::TileList()
print("--TileList_StationType--");
print(" Count(): " + list.Count());
print(" Location ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
}
@@ -1468,8 +1385,8 @@ function Regression::Town()
print("--Town--");
print(" GetTownCount(): " + AITown.GetTownCount());
local list = AITownList();
list.Sort(AIList.SORT_BY_ITEM, AIList.SORT_ASCENDING);
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
list.Sort(AIAbstractList.SORT_BY_ITEM, AIAbstractList.SORT_ASCENDING);
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
if (AITown.IsValidTown(i)) j++;
print(" Town " + i);
print(" IsValidTown(): " + AITown.IsValidTown(i));
@@ -1478,7 +1395,6 @@ function Regression::Town()
print(" GetLocation(): " + AITown.GetLocation(i));
print(" GetHouseCount(): " + AITown.GetHouseCount(i));
print(" GetRating(): " + AITown.GetRating(i, AICompany.COMPANY_SELF));
print(" IsCity(): " + AITown.IsCity(i));
}
print(" Valid Towns: " + j);
print(" GetTownCount(): " + AITown.GetTownCount());
@@ -1493,27 +1409,27 @@ function Regression::TownList()
print(" Count(): " + list.Count());
list.Valuate(AITown.GetLocation);
print(" Location ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AITown.GetDistanceManhattanToTile, 30000);
print(" DistanceManhattanToTile(30000) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AITown.GetDistanceSquareToTile, 30000);
print(" DistanceSquareToTile(30000) ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AITown.IsWithinTownInfluence, AITown.GetLocation(0));
print(" IsWithinTownInfluence(" + AITown.GetLocation(0) + ") ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AITown.GetAllowedNoise);
print(" GetAllowedNoise() ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AITown.GetPopulation);
@@ -1521,7 +1437,7 @@ function Regression::TownList()
print(" KeepAboveValue(500): done");
print(" Count(): " + list.Count());
print(" Population ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
@@ -1670,77 +1586,77 @@ function Regression::Vehicle()
print(" Count(): " + list.Count());
list.Valuate(AIVehicle.GetLocation);
print(" Location ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIVehicle.GetEngineType);
print(" EngineType ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIVehicle.GetUnitNumber);
print(" UnitNumber ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIVehicle.GetAge);
print(" Age ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIVehicle.GetMaxAge);
print(" MaxAge ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIVehicle.GetAgeLeft);
print(" AgeLeft ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIVehicle.GetCurrentSpeed);
print(" CurrentSpeed ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIVehicle.GetRunningCost);
print(" RunningCost ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIVehicle.GetProfitThisYear);
print(" ProfitThisYear ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIVehicle.GetProfitLastYear);
print(" ProfitLastYear ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIVehicle.GetCurrentValue);
print(" CurrentValue ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIVehicle.GetVehicleType);
print(" VehicleType ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIVehicle.GetRoadType);
print(" RoadType ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIVehicle.GetCapacity, 10);
print(" VehicleType ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AIVehicle.GetCargoLoad, 10);
print(" VehicleType ListDump:");
for (local i = list.Begin(); !list.IsEnd(); i = list.Next()) {
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
}
@@ -1759,48 +1675,6 @@ function Regression::PrintSubsidy(subsidy_id)
print(" GetCargoType(): " + AISubsidy.GetCargoType(subsidy_id));
}
function Regression::Math()
{
print("");
print("--Math--");
print(" -2147483648 < -2147483647: " + (-2147483648 < -2147483647));
print(" -2147483648 < -1 : " + (-2147483648 < -1 ));
print(" -2147483648 < 0 : " + (-2147483648 < 0 ));
print(" -2147483648 < 1 : " + (-2147483648 < 1 ));
print(" -2147483648 < 2147483647: " + (-2147483648 < 2147483647));
print(" -2147483647 < -2147483648: " + (-2147483647 < -2147483648));
print(" -1 < -2147483648: " + (-1 < -2147483648));
print(" 0 < -2147483648: " + ( 0 < -2147483648));
print(" 1 < -2147483648: " + ( 1 < -2147483648));
print(" 2147483647 < -2147483648: " + ( 2147483647 < -2147483648));
print(" -1 > 2147483647: " + (-1 > 2147483647));
print(" -1 > 1 : " + (-1 > 1 ));
print(" -1 > 0 : " + (-1 > 0 ));
print(" -1 > -1 : " + (-1 > -1 ));
print(" -1 > -2147483648: " + (-1 > -2147483648));
print(" 1 > 2147483647: " + ( 1 > 2147483647));
print(" 1 > 1 : " + ( 1 > 1 ));
print(" 1 > 0 : " + ( 1 > 0 ));
print(" 1 > -1 : " + ( 1 > -1 ));
print(" 1 > -2147483648: " + ( 1 > -2147483648));
print(" 2147483647 > 2147483646: " + ( 2147483647 > 2147483646));
print(" 2147483647 > 1 : " + ( 2147483647 > 1 ));
print(" 2147483647 > 0 : " + ( 2147483647 > 0 ));
print(" 2147483647 > -1 : " + ( 2147483647 > -1 ));
print(" 2147483647 > -2147483648: " + ( 2147483647 > -2147483648));
print(" 2147483646 > 2147483647: " + ( 2147483646 > 2147483647));
print(" 1 > 2147483647: " + ( 1 > 2147483647));
print(" 0 > 2147483647: " + ( 0 > 2147483647));
print(" -1 > 2147483647: " + (-1 > 2147483647));
print(" -2147483648 > 2147483647: " + (-2147483648 > 2147483647));
print(" 13725 > -2147483648: " + ( 13725 > -2147483648));
}
function Regression::Start()
{
@@ -1825,7 +1699,6 @@ function Regression::Start()
this.IndustryTypeList();
this.Map();
this.Marine();
this.Prices();
this.Rail();
this.RailTypeList();
this.Road();
@@ -1866,7 +1739,5 @@ function Regression::Start()
}
}
print(" IsEventWaiting: false");
this.Math();
}

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,7 @@ class Regression extends AIInfo {
function GetShortName() { return "REGR"; }
function GetDescription() { return "This runs regression-tests on all commands. On the same map the result should always be the same."; }
function GetVersion() { return 1; }
function GetAPIVersion() { return "1.1"; }
function GetAPIVersion() { return "1.0"; }
function GetDate() { return "2007-03-18"; }
function CreateInstance() { return "Regression"; }
}

View File

@@ -25,10 +25,9 @@ fi
if [ -n "$gdb" ]; then
$gdb ./openttd -x -c ai/regression/regression.cfg $params -g ai/regression/regression.sav
else
./openttd -x -c ai/regression/regression.cfg $params -g ai/regression/regression.sav -d ai=2 2>&1 | awk '{ gsub("0x(\\(nil\\)|0+)(x0)?", "0x00000000", $0); gsub("^dbg: \\[ai\\]", "", $0); gsub("^ ", "ERROR: ", $0); gsub("ERROR: \\[1\\] ", "", $0); gsub("\\[P\\] ", "", $0); print $0; }' > tmp.regression
./openttd -x -c ai/regression/regression.cfg $params -g ai/regression/regression.sav -d ai=2 2>&1 | awk '{ gsub("0x(\\(nil\\)|0+)", "0x00000000", $0); gsub("^dbg: \\[ai\\]", "", $0); gsub("^ ", "ERROR: ", $0); gsub("ERROR: \\[1\\] ", "", $0); gsub("\\[P\\] ", "", $0); print $0; }' > tmp.regression
fi
ret=0
if [ -z "$gdb" ]; then
res="`diff -ub ai/regression/regression.txt tmp.regression`"
if [ -z "$res" ]; then
@@ -36,7 +35,6 @@ if [ -z "$gdb" ]; then
else
echo "Regression test failed! Difference:"
echo "$res"
ret=1
fi
echo ""
echo "Regression test done"
@@ -51,5 +49,3 @@ fi
if [ "$1" != "-k" ]; then
rm -f tmp.regression
fi
exit $ret

View File

@@ -1,49 +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.bg_BG = Празен звуков пакет.
description.ca_ES = Un joc de sons sense cap so.
description.cs_CZ = Prázdná sada zvuků.
description.da_DA = En lydpakke uden lyde.
description.de_DE = Basissounds ohne Sound.
description.el_GR = Ένα πάκετο ήχων χώρις ήχους.
description.en_GB = 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.et_ET = Ilma häälteta helipakk.
description.fi_FI = Äänipaketti ilman ääniä.
description.fr_FR = Un pack de sons sans sons.
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 berisi suara.
description.it_IT = Un pacchetto sonoro non contenente alcun suono.
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_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_SL = Zvočni paket brez zvoka.
description.sr_RS = Prazan skup zvukova.
description.sv_SE = Ett ljudpaket utan några ljud.
description.tr_TR = Ses içermeyen boş bir ses kümesi.
description.zh_TW = 不含任何音效的音效集。
[files]
samples =
[md5s]
[origin]
default = This file was part of your OpenTTD installation.

BIN
bin/data/openttdw.grf Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -4,42 +4,11 @@
; 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.bg_BG = Оригинални графики на Transport Tycoon Deluxe за DOS.
description.ca_ES = Gràfics originals de Transport Tycoon Deluxe per a DOS.
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (verze pro DOS).
description.da_DA = 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_GB = 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.et_ET = Algse Transport Tycoon Deluxe DOSi versiooni graafika.
description.fi_FI = Alkuperäiset Transport Tycoon Deluxe DOS grafiikat.
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version 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.it_IT = Grafica originale di Transport Tycoon Deluxe, edizione DOS.
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_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_SL = 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.tr_TR = Orijinal Transport Tycoon Deluxe DOS sürümü grafikleri.
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版的圖形。
name = original_dos
shortname = TTDD
version = 1
description = Original Transport Tycoon Deluxe DOS edition graphics
palette = DOS
[files]
base = TRG1.GRF
@@ -47,7 +16,7 @@ logos = TRGI.GRF
arctic = TRGC.GRF
tropical = TRGH.GRF
toyland = TRGT.GRF
extra = OPENTTD.GRF
extra = OPENTTDD.GRF
[md5s]
TRG1.GRF = 9311676280e5b14077a8ee41c1b42192
@@ -55,8 +24,8 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
TRGC.GRF = ed446637e034104c5559b32c18afe78d
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6
OPENTTD.GRF = 768051d1eb451c682d6f4e936a89caa5
OPENTTDD.GRF = 356cf9663aacb212fdbff609d99090d6
[origin]
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
OPENTTD.GRF = This file was part of your OpenTTD installation.
OPENTTDD.GRF = This file was part of your installation.

View File

@@ -4,41 +4,10 @@
; 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.bg_BG = Оригинални звуци на Transport Tycoon Deluxe за DOS.
description.ca_ES = Sons originals de Transport Tycoon Deluxe per a DOS.
description.cs_CZ = Původní sada zvuků Transport Tycoon Deluxe (verze pro DOS).
description.da_DA = 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_GB = 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.et_ET = Algse Transport Tycoon Deluxe DOSi versiooni helid.
description.fi_FI = Alkuperäiset Transport Tycoon Deluxe DOS äänet.
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.fr_FR = Sons originaux de Transport Tycoon Deluxe (version DOS).
description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi DOS.
description.it_IT = Suoni originali di Transport Tycoon Deluxe, edizione DOS.
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_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_SL = 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.tr_TR = Orijinal Transport Tycoon Deluxe DOS sürümü sesleri.
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版的音效。
name = original_dos
shortname = TTDO
version = 0
description = Original Transport Tycoon Deluxe DOS edition sounds
[files]
samples = SAMPLE.CAT

View File

@@ -4,42 +4,11 @@
; 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.bg_BG = Оригинални графики на Transport Tycoon Deluxe за DOS (немски) .
description.ca_ES = Gràfics originals de Transport Tycoon Deluxe per a DOS (Alemany).
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (německá verze pro DOS).
description.da_DA = 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_GB = 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.et_ET = Algse Transport Tycoon Deluxe DOSi (Saksa) versiooni graafika.
description.fi_FI = Alkuperäiset Transport Tycoon Deluxe DOS (Saksalainen) grafiikat.
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS allemande).
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.it_IT = Grafica originale di Transport Tycoon Deluxe (tedesco), edizione DOS.
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_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_SL = 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.tr_TR = Orijinal Transport Tycoon Deluxe DOS (Almanca) sürümü grafikleri.
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版 (德國版) 的圖形。
name = original_dos_de
shortname = TTDD
version = 0
description = Original Transport Tycoon Deluxe DOS (German) edition graphics
palette = DOS
[files]
base = TRG1.GRF
@@ -47,7 +16,7 @@ logos = TRGI.GRF
arctic = TRGC.GRF
tropical = TRGH.GRF
toyland = TRGT.GRF
extra = OPENTTD.GRF
extra = OPENTTDD.GRF
[md5s]
TRG1.GRF = 9311676280e5b14077a8ee41c1b42192
@@ -55,8 +24,8 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
TRGC.GRF = ed446637e034104c5559b32c18afe78d
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
TRGT.GRF = fcde1d7e8a74197d72a62695884b909e
OPENTTD.GRF = 768051d1eb451c682d6f4e936a89caa5
OPENTTDD.GRF = 356cf9663aacb212fdbff609d99090d6
[origin]
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
OPENTTD.GRF = This file was part of your OpenTTD installation.
OPENTTDD.GRF = This file was part of your installation.

View File

@@ -4,42 +4,11 @@
; 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.bg_BG = Оригинални графики на Transport Tycoon Deluxe за Windows.
description.ca_ES = Gràfics originals de Transport Tycoon Deluxe per a Windows.
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (verze pro Windows).
description.da_DA = 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_GB = 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.et_ET = Algse Transport Tycoon Deluxe Windowsi versiooni graafika.
description.fi_FI = Alkuperäiset Transport Tycoon Deluxe Windows grafiikat.
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version 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.it_IT = Grafica originale di Transport Tycoon Deluxe, edizione 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_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_SL = 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.tr_TR = Orijinal Transport Tycoon Deluxe Windows sürümü grafikleri.
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的圖形。
name = original_windows
shortname = TTDW
version = 0
description = Original Transport Tycoon Deluxe Windows edition graphics
palette = Windows
[files]
base = TRG1R.GRF
@@ -47,7 +16,7 @@ logos = TRGIR.GRF
arctic = TRGCR.GRF
tropical = TRGHR.GRF
toyland = TRGTR.GRF
extra = OPENTTD.GRF
extra = OPENTTDW.GRF
[md5s]
TRG1R.GRF = b04ce593d8c5016e07473a743d7d3358
@@ -55,8 +24,8 @@ TRGIR.GRF = 0c2484ff6be49fc63a83be6ab5c38f32
TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b
TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1
TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8
OPENTTD.GRF = 768051d1eb451c682d6f4e936a89caa5
OPENTTDW.GRF = 80346ea80de167068cfb975f93963941
[origin]
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
OPENTTD.GRF = This file was part of your OpenTTD installation.
OPENTTDW.GRF = This file was part of your installation.

View File

@@ -4,41 +4,10 @@
; 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.bg_BG = Оригинални звуци на Transport Tycoon Deluxe за Windows.
description.ca_ES = Sons originals de Transport Tycoon Deluxe per a Windows.
description.cs_CZ = Původní sada zvuků Transport Tycoon Deluxe (verze pro Windows).
description.da_DA = 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_GB = 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.et_ET = Algse Transport Tycoon Deluxe Windowsi versiooni helid.
description.fi_FI = Alkuperäiset Transport Tycoon Deluxe Windows äänet.
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.fr_FR = Sons originaux de Transport Tycoon Deluxe (version Windows).
description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi Windows.
description.it_IT = Suoni originali di Transport Tycoon Deluxe, edizione Windows.
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_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_SL = 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.tr_TR = Orijinal Transport Tycoon Deluxe Windows sürümü sesleri.
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的音效。
name = original_windows
shortname = TTDO
version = 0
description = Original Transport Tycoon Deluxe Windows edition sounds
[files]
samples = SAMPLE.CAT

View File

@@ -3,42 +3,10 @@
; 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.bg_BG = Празен музикален пакет.
description.ca_ES = Un joc de música sense cap música.
description.cs_CZ = Prázná hudební sada.
description.da_DA = En musikpakke uden musik.
description.de_DE = Ein Musikset ohne Musik.
description.el_GR = Ένα πάκετο μουσικής χωρίς πραγματική μουσική.
description.en_GB = 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.et_ET = Muusikakomplekt ilma igasuguse muusikata.
description.fi_FI = Musiikkipaketti, jossa ei ole musiikkia.
description.fr_FR = Un pack de musiques sans musiques.
description.hr_HR = Muzički paket bez ikakve muzike.
description.hu_HU = Zenei alapcsomag zene nélkül.
description.id_ID = Paket musik tanpa berisi musik.
description.it_IT = Un pacchetto musicale non contenente alcuna musica.
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_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_SL = Glasbeni paket z vključeno glasbo.
description.sr_RS = Prazan skup muzičkih numera.
description.sv_SE = Ett musikpaket utan någon musik.
description.tr_TR = Müzik içermeyen boş bir müzik paketi.
description.zh_TW = 不含任何音樂的音樂集。
name = NoMusic
shortname = NOMU
version = 0
description = A music pack without actual music
[files]
theme =
@@ -78,4 +46,3 @@ ezy_9 =
[names]
[origin]
default = This file was part of your OpenTTD installation.

View File

@@ -4,41 +4,10 @@
; Tycoon Deluxe for Windows CD.
;
[metadata]
name = original_windows
shortname = TTDW
version = 1
description = Original Transport Tycoon Deluxe Windows edition music.
description.af_ZA = Oorspronklike Transport Tycoon Deluxe Windows uitgawe musiek.
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الموسيقية نسخة وندوز
description.bg_BG = Оригинална музика на Transport Tycoon Deluxe за Windows.
description.ca_ES = Música Original de Transport Tycoon Deluxe per a Windows.
description.cs_CZ = Původní hudba Transport Tycoon Deluxe (verze pro Windows).
description.da_DA = Originalmusik fra Transport Tycoon Deluxe Windows-version.
description.de_DE = Original Transport Tycoon Deluxe Windows Musikset.
description.el_GR = Αρχική μουσική από το Transport Tycoon Deluxe έκδοση Windows.
description.en_GB = Original Transport Tycoon Deluxe Windows edition music.
description.en_US = Original Transport Tycoon Deluxe Windows edition music.
description.es_ES = Música original de Transport Tycoon Deluxe versión Windows.
description.et_ET = Algse Transport Tycoon Deluxe Windowsi versiooni muusika.
description.fi_FI = Alkuperäinen Transport Tycoon Deluxe Windows musiikki.
description.fr_FR = Musiques originales de Transport Tycoon Deluxe (version Windows).
description.hr_HR = Originalna muzika za Transport Tycoon Deluxe Windows izdanje.
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának zenéje.
description.id_ID = Musik pengiring orisinil Transport Tycoon Deluxe versi Windows.
description.it_IT = Musica originale di Transport Tycoon Deluxe, edizione Windows.
description.nb_NO = Original musikk fra Transport Tycoon Deluxe for Windows.
description.nl_NL = Originele muziek van de Transport Tycoon Deluxe Windows-versie.
description.nn_NO = Original musikk frå Transport Tycoon Deluxe for Windows.
description.pl_PL = Oryginalna edycja utworów muzycznych w Transport Tycoon Deluxe Windows.
description.pt_PT = Música original da edição Windows de Transport Tycoon Deluxe.
description.ro_RO = Setul de muzică original al Transport Tycoon Deluxe pentru Windows.
description.ru_RU = Оригинальный набор музыкального оформления из игры Transport Tycoon Deluxe.
description.sk_SK = Pôvodná hudba z Transport Tycoon Deluxe (Windows).
description.sl_SL = Originalna glasba Transport Tycoon Deluxe različice oken(windows).
description.sr_RS = Originalni skup muzičkih numera Transport Tycoon Deluxe Windows izdanja.
description.sv_SE = Originalmusiken från Transport Tycoon Deluxe, Windows-utgåvan.
description.tr_TR = Orijinal Transport Tycoon Deluxe Windows sürümü müzikleri.
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的音樂。
name = original_windows
shortname = TTDW
version = 1
description = Original Transport Tycoon Deluxe Windows edition music
[files]
theme = GM_TT00.GM
@@ -49,7 +18,7 @@ old_3 = GM_TT12.GM
old_4 = GM_TT08.GM
old_5 = GM_TT13.GM
old_6 = GM_TT14.GM
old_7 = GM_TT10.GM
old_7 = GM_TT19.GM
old_8 =
old_9 =
new_0 = GM_TT04.GM
@@ -122,4 +91,4 @@ GM_TT20.GM = Jammit
GM_TT21.GM = Movin' On
[origin]
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
default = You can find it on your Transport Tycoon Deluxe CD-ROM.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5
configure vendored
View File

@@ -47,7 +47,6 @@ PREFIX="$PWD/bin"
OBJS_DIR="$PWD/objs"
BASE_SRC_OBJS_DIR="$OBJS_DIR"
LANG_OBJS_DIR="$OBJS_DIR/lang"
GRF_OBJS_DIR="$OBJS_DIR/extra_grf"
BIN_DIR="$PREFIX"
SRC_DIR="$ROOT_DIR/src"
LANG_DIR="$SRC_DIR/lang"
@@ -114,7 +113,6 @@ AWKCOMMAND='
if ($0 == "OS2" && "'$os'" != "OS2") { next; }
if ($0 == "PSP" && "'$os'" != "PSP") { next; }
if ($0 == "DEDICATED" && "'$enable_dedicated'" != "1") { next; }
if ($0 == "AI" && "'$enable_ai'" == "0") { next; }
if ($0 == "COCOA" && "'$with_cocoa'" == "0") { next; }
if ($0 == "DOS" && "'$os'" != "DOS") { next; }
if ($0 == "BEOS" && "'$os'" != "BEOS" &&
@@ -161,11 +159,10 @@ else
sort="$sort -u"
fi
CONFIGURE_FILES="$ROOT_DIR/configure $ROOT_DIR/config.lib $ROOT_DIR/Makefile.in $ROOT_DIR/Makefile.grf.in $ROOT_DIR/Makefile.lang.in $ROOT_DIR/Makefile.src.in $ROOT_DIR/Makefile.bundle.in"
CONFIGURE_FILES="$ROOT_DIR/configure $ROOT_DIR/config.lib $ROOT_DIR/Makefile.in $ROOT_DIR/Makefile.lang.in $ROOT_DIR/Makefile.src.in $ROOT_DIR/Makefile.bundle.in"
generate_main
generate_lang
generate_grf
generate_src
check_path_characters

View File

@@ -1,24 +1,15 @@
32bpp and OpenTTD
Last updated: 2007-06-13
------------------------------------------------------------------------
=================
Table of contents
-----------------
1.0) About
2.0) The format
1.0) About
---- -----
OpenTTD has 32bpp support. This means: OpenTTD still is 8bpp, but it has the
posibility to override the graphics with 32bpp. This means that it isn't a
replacement of grf or newgrf, but simply an addition. If you want to use 32bpp
graphics of a newgrf, you do need the newgrf itself too (with 8bpp graphics).
2.0) The format
---- ----------
The Format
----------
32bpp images are stored in PNG. They should go in:
data/sprites/<grfname>/<SpriteID>.png
@@ -42,3 +33,4 @@ to add this information. Sadly enough most graphical editors trashes those
chunks upon save, so you have to readd it every time you save your image.
Your images should be the same as the grf, in size.

View File

@@ -1,17 +1,5 @@
OpenTTD and strgen
Last updated: 2009-06-30
------------------------------------------------------------------------
Table of contents
-----------------
1.0) strgen usage
* 1.1) Examples
* 1.2) strgen command switches
1.0) strgen usage
---- ------------
STRGEN USAGE
------------
This guide is only interesting for people who want to alter something
themselves without access to translator.openttd.org. Please note that
your compiled language file will only be compatible with the OpenTTD version
@@ -26,8 +14,8 @@ strgen takes as argument a txt file and translates it to a lng file, allowing
it to be used inside OpenTTD. strgen needs the master language file
english.txt to work. Below are some examples of strgen usage.
1.1) Examples
---- --------
EXAMPLES
--------
Example 1:
if you are in the root of your working copy (svn code), you should type
strgen/strgen -s lang lang/english.txt
@@ -47,8 +35,8 @@ resulting language file to go to /tmp. Use
You can interchange english.txt to whichever language you want to generate a
.lng file for.
1.2) strgen command switches
---- -----------------------
STRGEN COMMAND SWITCHES
-----------------------
-v | --version
strgen will tell what svn revision it was last modified

View File

@@ -1,211 +0,0 @@
OpenTTD's admin network
Last updated: 2011-01-20
------------------------------------------------------------------------
Table of contents
-----------------
1.0) Preface
2.0) Joining the network
3.0) Asking for updates
* 3.1) Polling manually
4.0) Sending rcon commands
5.0) Sending chat
* 5.1) Receiving chat
6.0) Disconnecting
7.0) Certain packet information
1.0) Preface
---- -------
The admin network provides a dedicated network protocol designed for other
applications to communicate with OpenTTD. Connected applications can execute
console commands remotely (rcon commands) with no further authentication.
Furthermore information about clients and companies can be provided.
Admin applications remain connected when starting a new game or loading a saved
game in contrast to normal OpenTTD clients that get disconnected.
This document describes the admin network and its protocol.
Please refer to the mentioned enums in src/network/core/tcp_admin.h
Please also note that further improvements to the admin protocol can mean that
more packet types will be sent by the server. For forward compatibility it is
therefore wise to ignore unknown packets. Future improvements might also add
additional data to packets. This data should be ignored. Data will never be
removed from packets in later versions, except the possibility that complete
packets are dropped in favour of a new packet.
This though will be reflected in the protocol version as announced in the
ADMIN_PACKET_SERVER_PROTOCOL in section 2.0).
A reference implementation in Java for a client connecting to the admin interface
can be found at: http://dev.openttdcoop.org/projects/joan
2.0) Joining the network
---- -------------------
Create a TCP connection to the server on port 3977. The application is
expected to authenticate within 10 seconds.
To authenticate send a ADMIN_PACKET_ADMIN_JOIN packet.
The server will reply with ADMIN_PACKET_SERVER_PROTOCOL followed directly by
ADMIN_PACKET_SERVER_WELCOME.
ADMIN_PACKET_SERVER_PROTOCOL contains details about the protocol version.
It is the job of your application to check this number and decide whether
it will remain connected or not.
Furthermore, this packet holds details on every AdminUpdateType and the
supported AdminFrequencyTypes (bitwise representation).
ADMIN_PACKET_SERVER_WELCOME contains details on the server and the map,
e.g. if the server is dedicated, its NetworkLanguage, size of the Map, etc.
Once you have received ADMIN_PACKET_SERVER_WELCOME you are connected and
authorized to do your thing.
The server will not provide any game related updates unless you ask for them.
There are four packets the server will none the less send, if applicable:
- ADMIN_PACKET_SERVER_ERROR
- ADMIN_PACKET_SERVER_WELCOME
- ADMIN_PACKET_SERVER_NEWGAME
- ADMIN_PACKET_SERVER_SHUTDOWN
However, ADMIN_PACKET_SERVER_WELCOME only after a ADMIN_PACKET_SERVER_NEWGAME
3.0) Asking for updates
---- ------------------
Asking for updates is done with ADMIN_PACKET_ADMIN_UPDATE_FREQUENCY.
With this packet you define which update you wish to receive at which
frequency.
Note: not every update type supports every frequency. If in doubt, you can
verify against the data received in ADMIN_PACKET_SERVER_PROTOCOL.
The server will not confirm your registered update. However, asking for an
invalid AdminUpdateType or a not supported AdminUpdateFrequency you will be
disconnected from the server with NETWORK_ERROR_ILLEGAL_PACKET.
Additional debug information can be found with a debug level of net=3.
ADMIN_UPDATE_DATE results in the server sending:
- ADMIN_PACKET_SERVER_DATE
ADMIN_UPDATE_CLIENT_INFO results in the server sending:
- ADMIN_PACKET_SERVER_CLIENT_JOIN
- ADMIN_PACKET_SERVER_CLIENT_INFO
- ADMIN_PACKET_SERVER_CLIENT_UPDATE
- ADMIN_PACKET_SERVER_CLIENT_QUIT
- ADMIN_PACKET_SERVER_CLIENT_ERROR
ADMIN_UPDATE_COMPANY_INFO results in the server sending:
- ADMIN_PACKET_SERVER_COMPANY_NEW
- ADMIN_PACKET_SERVER_COMPANY_INFO
- ADMIN_PACKET_SERVER_COMPANY_UPDATE
- ADMIN_PACKET_SERVER_COMPANY_REMOVE
ADMIN_UPDATE_COMPANY_ECONOMY results in the server sending:
- ADMIN_PACKET_SERVER_COMPANY_ECONOMY
ADMIN_UPDATE_COMPANY_STATS results in the server sending:
- ADMIN_PACKET_SERVER_COMPANY_STATS
ADMIN_UPDATE_CHAT results in the server sending:
- ADMIN_PACKET_SERVER_CHAT
ADMIN_UPDATE_CONSOLE results in the server sending:
- ADMIN_PACKET_SERVER_CONSOLE
ADMIN_UPDATE_CMD_LOGGING results in the server sending:
- ADMIN_PACKET_SERVER_CMD_LOGGING
3.1) Polling manually
---- ----------------
Certain AdminUpdateTypes can also be polled:
- ADMIN_UPDATE_DATE
- ADMIN_UPDATE_CLIENT_INFO
- ADMIN_UPDATE_COMPANY_INFO
- ADMIN_UPDATE_COMPANY_ECONOMY
- ADMIN_UPDATE_COMPANY_STATS
- ADMIN_UPDATE_CMD_NAMES
ADMIN_UPDATE_CLIENT_INFO and ADMIN_UPDATE_COMPANY_INFO accept an additional
parameter. This parameter is used to specify a certain client or company.
Setting this parameter to UINT32_MAX (0xFFFFFFFF) will tell the server you
want to receive updates for all clients or companies.
Not supported AdminUpdateType in the poll will result in the server
disconnecting the application with NETWORK_ERROR_ILLEGAL_PACKET.
Additional debug information can be found with a debug level of net=3.
4.0) Sending rcon commands
---- ---------------------
Rcon runs separate from the ADMIN_UPDATE_CONSOLE AdminUpdateType. Requesting
the execution of a remote console command is done with the packet
ADMIN_PACKET_ADMIN_RCON.
Note: No additional authentication is required for rcon commands.
The server will reply with a ADMIN_PACKET_SERVER_RCON packet. Applications
will not receive the answer twice if they have asked for the AdminUpdateType
ADMIN_UPDATE_CONSOLE, as the result is not printed on the servers console
(just like clients rcon commands).
Furthermore, sending a 'say' command (or any similar command) will not
be sent back into the admin network.
Chat from the server itself will only be sent to the admin network when it
was not sent from the admin network.
5.0) Sending chat
---- ------------
Sending a ADMIN_PACKET_ADMIN_CHAT results in chat originating from the server.
Currently four types of chat are supported:
- NETWORK_ACTION_CHAT
- NETWORK_ACTION_CHAT_CLIENT
- NETWORK_ACTION_CHAT_COMPANY
- NETWORK_ACTION_SERVER_MESSAGE
NETWORK_ACTION_SERVER_MESSAGE can be sent to a single client or company
using the respective DestType and ID.
This is a message prefixed with the 3 stars, e.g. *** foo has joined the game
5.1) Receiving chat
---- -------------
Register ADMIN_UPDATE_CHAT at ADMIN_FREQUENCY_AUTOMATIC to receive chat.
The application will be able to receive all chat the server can see.
The configuration option network.server_admin_chat specifies whether
private chat for to the server is distributed into the admin network.
6.0) Disconnecting
---- -------------
It is a kind thing to say good bye before leaving. Do this by sending the
ADMIN_PACKET_ADMIN_QUIT packet.
7.0) Certain packet information
---- --------------------------
All ADMIN_PACKET_SERVER_* packets have an enum value greater 100.
ADMIN_PACKET_SERVER_WELCOME
Either directly follows ADMIN_PACKET_SERVER_PROTOCOL or is sent
after a new game has been started or a map loaded, i.e. also
after ADMIN_PACKET_SERVER_NEWGAME.
ADMIN_PACKET_SERVER_CLIENT_JOIN and ADMIN_PACKET_SERVER_COMPANY_NEW
These packets directly follow their respective INFO packets. If you receive
a CLIENT_JOIN / COMPANY_NEW packet without having received the INFO packet
it may be a good idea to POLL for the specific ID.
ADMIN_PACKET_SERVER_CMD_NAMES and ADMIN_PACKET_SERVER_CMD_LOGGING
Data provided with these packets is not stable and will not be
treated as such. Do not rely on IDs or names to be constant
across different versions / revisions of OpenTTD.
Data provided in this packet is for logging purposes only.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

@@ -4,90 +4,64 @@
<head>
<meta name="Author" content="Marcin Grzegorczyk">
<meta name="Description" content="Structure of OpenTTD (OTTD) landscape arrays">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>OpenTTD Landscape Internals</title>
</head>
<body>
<h3><a name="Landscape">Landscape</a></h3>
<p>
For a graphical representation of the tile-layout have a look at
<a href="landscape_grid.html">Landscape grid</a> page.
</p>
<p>Eight attributes (counting &quot;<span style="font-weight: bold;">type_height</span>&quot;) hold the informations about a tile.<BR>
These attributes are referred to as
&quot;<span style="font-weight: bold;">type_height</span>",
&quot;<span style="font-weight: bold;">m1</span>&quot;, &quot;<span style="font-weight: bold;">m2</span>&quot;,
&quot;<span style="font-weight: bold;">m3</span>&quot;, &quot;<span style="font-weight: bold;">m4</span>&quot;,
&quot;<span style="font-weight: bold;">m5</span>&quot;, &quot;<span style="font-weight: bold;">m6</span>&quot;
and "<span style="font-weight: bold;">m7</span>".<br>
"<span style="font-weight: bold;">type_height</span>",
"<span style="font-weight: bold;">m1</span>", "<span style="font-weight: bold;">m2</span>",
"<span style="font-weight: bold;">m3</span>", "<span style="font-weight: bold;">m4</span>",
"<span style="font-weight: bold;">m5</span>", "<span style="font-weight: bold;">m6</span>"
and "<span style="font-weight: bold;">m7</span>".<BR>
The most important value is the class of a tile, stored in the upper 4 bits
of the <span style="font-weight: bold;">type_height</span> attribute. The lower 4 bits are used to encode the height and
slope data.
</p>
Frequently repeating patterns:
Special Attribute : <span style="font-weight: bold;">m6</span>. There are 4 bits of it that are used accross multiple tile classes<br>
<ul>
<li><span style="font-weight: bold;">m1</span>
<ul>
<li>
<a name="WaterClass"></a>
Bits 6..5:
<table border="1" style="width: 30em;">
<tr bgcolor="#CCCCCC"><td colspan="2">The type of water that is on a tile.
<tr><td style="width: 5em;"><tt>00</tt></td><td align=left>Sea</td></tr>
<tr><td><tt>01</tt></td><td align=left>Canal</td></tr>
<tr><td><tt>02</tt></td><td align=left>River</td></tr>
<tr><td><tt>03</tt></td><td align=left>Invalid, i.e. no water on this tile</td></tr>
</table>
Some tiles, such as houses, reuse these bits of other purposes.
</li>
<li>
<a name="OwnershipInfo"></a>
Bits 4..0:
<table border="1" style="width: 30em;">
<tr bgcolor="#CCCCCC"><td colspan="2">The owner of a tile can be either companies (human or AI) or "Game entities".
<tr><td style="width: 5em;"><tt>00..0E</tt></td><td align=left>Normal companies</td></tr>
<tr><td><tt>0F</tt></td><td align=left>a town owns the tile</td></tr>
<tr><td><tt>10</tt></td><td align=left>nobody owns the tile</td></tr>
<tr><td><tt>11</tt></td><td align=left>"water" owns the tile</td></tr>
<tr><td><tt>FF</tt></td><td align=left>spectator in MP or in scenario editor</td></tr>
</table>
Some tiles, such as houses and industries, reuse these bits of other purposes.
</li>
</ul>
<li>
<a name = "bridge_direction">
Bits 7..6 :
<table border="1">
<tr bgcolor="#CCCCCC"><td colspan="2">Presence and direction of bridge above,<br>for tiles that support this.</td></tr>
<tr><td><tt>00</tt>&nbsp; </td><td>no bridge</td></tr>
<tr><td><tt>01</tt>&nbsp; </td><td>Axis X (North-East)</td></tr>
<tr><td><tt>02</tt>&nbsp; </td><td>Axis Y (South-West)</td></tr>
</table>
</li>
<li><span style="font-weight: bold;">m6</span>
<ul>
<li>
<a name="bridge_direction"></a>
Bits 7..6:
<table border="1" style="width: 30em;">
<tr bgcolor="#CCCCCC"><td colspan="2">Presence and direction of bridge above, for tiles that support this.</td></tr>
<tr><td style="width: 5em;"><tt>00</tt></td><td>no bridge</td></tr>
<tr><td><tt>01</tt></td><td>Axis X (North-East)</td></tr>
<tr><td><tt>02</tt></td><td>Axis Y (South-West)</td></tr>
</table>
Some tiles, such as houses do not support bridges over them and use these bits for other purposes.
</li>
<li>
<a name="tropic_zone"></a>
Bits 1..0:
<table border="1" style="width: 30em;">
<tr bgcolor="#CCCCCC"><td colspan="2">Only meaningfull in tropic climate. It contains the definition of the available zones</td></tr>
<tr><td style="width: 5em;"><tt>00</tt></td><td>normal</td></tr>
<tr><td><tt>01</tt></td><td>desert</td></tr>
<tr><td><tt>02</tt></td><td>rain forest</td></tr>
</table>
In any other climate these 2 bits are theoretically free of use, however using them does not seem useful.
</li>
</ul>
</li>
<li><span style="font-weight: bold;">m7:</span><br>
Animation frame/state. Used for houses, industries, objects and stations.
<li>
<a name = "tropic_zone">
Bits 1..0 :
<table border="1">
<tr bgcolor="#CCCCCC"><td colspan="2">Only meaningfull in tropic climate.<br>It contains the definition of the available zones</td></tr>
<tr><td><tt>00</tt>&nbsp; </td><td>normal</td></tr>
<tr><td><tt>01</tt>&nbsp; </td><td>desert</td></tr>
<tr><td><tt>02</tt>&nbsp; </td><td>rain forest</td></tr>
</table>
In any other climate, those 2 bits are free of use.
</li>
</ul>
<p>
For a graphical representation of the tile-layout have a look at
<a href="landscape_grid.html">Landscape grid</a> page.
</p>
The <a name="OwnershipInfo">owner of a tile</a>, as frequently associated with attribute m1,
can be either companies (human or AI) or "Game entities".
They are identified using:
<table border="1">
<tr><td><tt>00..0E</tt>&nbsp; </td><td align=left>Normal companies</td></tr>
<tr><td><tt>0F</tt>&nbsp; </td><td align=left>a town owns the tile</td></tr>
<tr><td><tt>10</tt>&nbsp; </td><td align=left>nobody owns the tile</td></tr>
<tr><td><tt>11</tt>&nbsp; </td><td align=left>"water" owns the tile</td></tr>
<tr><td><tt>FF</tt>&nbsp; </td><td align=left>spectator in MP or in scenario editor</td></tr>
</table>
<p>OTTD's class-specific periodic tile processing routine is called once every +256 ticks for each tile.</p>
@@ -104,7 +78,7 @@
<td valign=top nowrap>&nbsp;</td>
<td>
<ul>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> of the tile (normally <tt>10</tt>)</li>
<li>m1: <a href="#OwnershipInfo">owner</a> of the tile (normally <tt>10</tt>)</li>
<li>m2: see fields</li>
<li>m3 bits 3..0: see fields</li>
<li>m3 bit 4: set if the tile is covered with snow</li>
@@ -209,7 +183,7 @@
<td valign=top nowrap>&nbsp;</td>
<td>
<ul>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> of the tile</li>
<li>m1: <a href="#OwnershipInfo">owner</a> of the tile</li>
<li>m2: see signals</li>
<li>m3 bits 7..4: see signals</li>
<li>m3 bits 3..0 = <a name="TrackType">track type</a>:
@@ -574,7 +548,7 @@
<li>m3 bits 7..4: <a href="#OwnershipInfo">owner</a> of road type 1 (tram); OWNER_NONE (<tt>10</tt>) is stored as OWNER_TOWN (<tt>0F</tt>)
<li>m5 bit 6 clear: road
<ul>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> of the road type 0 (normal road)</li>
<li>m1: <a href="#OwnershipInfo">owner</a> of the road type 0 (normal road)</li>
<li>m7 bits 3..0: counter for the roadworks</li>
<li>m5 bits 3..0: road layout road type 0 (normal road): bit set = road piece present:
<table>
@@ -613,7 +587,7 @@
</li>
<li>m5 bit 6 set: level crossing
<ul>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> of the railway track</li>
<li>m1: <a href="#OwnershipInfo">owner</a> of the railway track</li>
<li>m3 bits 3..0: <a href="#TrackType">railway track type</a></li>
<li>m5 bit 0: direction
<table>
@@ -636,7 +610,7 @@
</li>
<li>m5 bit 7 set, bit 6 clear: road depot
<ul>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> of the depot</li>
<li>m1: <a href="#OwnershipInfo">owner</a> of the depot</li>
<li>m2: Depot index</li>
<li>m5 bits 3..0: exit towards:
<table>
@@ -695,7 +669,7 @@
</li>
</ul>
<li>m3 bit 6 : bit 8 of house type (m4), allowing 512 different types.</li>
<li>m3 bit 5 : free</li>
<li>m3 bit 5 : bit 6 of current animation frame (see m6)</li>
<li>m3 bits 4..0 : triggers activated <a href="#newhouses">(newhouses)</a></li>
<li>m4 : <a href="landscape_externals.html">town building type</a> (with m3[6] bit)</li>
<li>m5 : see m3 bit 7</li>
@@ -703,7 +677,7 @@
<ul>
<li>If <a href="#newhouses">newhouses</a> is activated
<ul>
<li>bits 7..2 : Periodic processing time remaining</li>
<li>bits 7..2 : Current animation frame (bits 5..0); bit 6 in m3</li>
</ul>
</li>
<li>Standard behaviour
@@ -718,7 +692,7 @@
<ul>
<li>If <a href="#newhouses">newhouses</a> is activated
<ul>
<li>Current animation frame</li>
<li>Periodic processing time remaining</li>
</ul>
</li>
<li>Standard behaviour (only for houses type 04 and 05)
@@ -734,7 +708,7 @@
</ul>
</li>
</ul>
<small><a name="newhouses"></a>Newhouses is the name englobing a newGRF feature developped by TTDPatch devs (mainly Csaboka).<br>
<small><a name="newhouses">Newhouses is the name englobing a newGRF feature developped by TTDPatch devs (mainly Csaboka).<br>
It allows the replacement of the properties as well as the graphics of houses in the game.<br>
To distinguish between the standard behaviour and the newGRF one, HouseID (m4 + m3[6]) is tested for anything above 110.<br>
110 is the count of standard houses. So above 110 means there is a new definition of at least one house</small>
@@ -749,7 +723,7 @@
<td valign=top nowrap>&nbsp;</td>
<td>
<ul>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> (normally <tt>10</tt>)</li>
<li>m1: <a href="#OwnershipInfo">owner</a> (normally <tt>10</tt>)</li>
<li>m2 bits 8..6: ground
<table>
@@ -848,12 +822,12 @@
<td valign=top nowrap>&nbsp;</td>
<td>
<ul>
<li>m1 bits 6..5: water class for buoys, water part of docks and for airport tiles</li>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> of the station</li>
<li>m1: <a href="#OwnershipInfo">owner</a> of the station</li>
<li>m2: index into the array of stations</li>
<li>m3 bits 7..4: persistent random data for railway stations/waypoints and airports)</li>
<li>m3 bits 7..4: persistent random data for newstations (railway stations/waypoints)</li>
<li>m3 bits 7..4: <a href="#OwnershipInfo">owner</a> of tram tracks (road stop)</li>
<li>m3 bits 3..0: <a href="#TrackType">track type</a> for railway stations/waypoints</li>
<li>m3 bits 1..0: water class for buoys and water part of docks</li>
<li>m4: custom station id; 0 means standard graphics</li>
<li>m5: graphics index (range from 0..255 for each station type):
<table>
@@ -897,7 +871,7 @@
</tr>
<tr>
<td nowrap valign=top><tt>00</tt>..<tt>FF</tt></td>
<td nowrap valign=top><tt>00</tt>..<tt>8F</tt></td>
<td align=left>all airports</td>
</tr>
@@ -972,7 +946,7 @@
<li>m6 bits 1..0 : <a href="#tropic_zone">Tropic zone definition</a></li>
<li>m7 bits 4..0: <a href="#OwnershipInfo">owner</a> of road (road stops)</li>
<li>m7 bits 7..6: present road types (road stops)</li>
<li>m7: animation frame (railway stations/waypoints, airports)</li>
<li>m7: animation frame (railway stations/waypoints)</li>
</ul>
</td>
</tr>
@@ -985,9 +959,9 @@
<td valign=top nowrap>&nbsp;</td>
<td>
<ul>
<li>m1 bits 6..5 : Water class (sea, canal or river)
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> (for sea, rivers, and coasts normally <tt>11</tt>)</li>
<li>m1: <a href="#OwnershipInfo">owner</a> (for sea, rivers, and coasts normally <tt>11</tt>)</li>
<li>m2: Depot index (for depots only)</li>
<li>m3 bits 1..0 : Water class (sea, canal or river)
<li>m4: Random data for canal or river tiles</li>
<li>m5: tile type:
<table>
@@ -1116,7 +1090,7 @@
</ul>
</li>
<li>m2: index into the array of industries</li>
<li>m3: random bits (NewGRF)</li>
<li>m3: animation state</li>
<li>m4: animation loop</li>
<li>m5: type (plus m6 bit 2):<br>
<small>(note: this is not the same as the industry type, which is stored in the array of industries)</small>
@@ -1133,7 +1107,7 @@
<tr>
<td nowrap valign=top><tt>01</tt>&nbsp; </td>
<td align=left>wheel tower when animated<br>
animation state in m7 bits 5..0; m7 bit 6 set = sound already generated</td>
animation state in m3 bits 5..0; m3 bit 6 set = sound already generated</td>
</tr>
</table>
</td>
@@ -1149,7 +1123,7 @@
</tr>
<tr>
<td nowrap valign=top><tt>0A</tt>&nbsp; </td>
<td align=left>transformer; animation progress in m7(valid range <tt>0</tt>..<tt>7</tt>)</td>
<td align=left>transformer; animation progress in m3(valid range <tt>0</tt>..<tt>7</tt>)</td>
</tr>
</table>
</td>
@@ -1192,7 +1166,7 @@
</tr>
<tr>
<td nowrap valign=top><tt>1E</tt>..<tt>20</tt>&nbsp; </td>
<td align=left>various stages of animation; progress of animation in m7</td>
<td align=left>various stages of animation; progress of animation in m3</td>
</tr>
</table>
</td>
@@ -1223,7 +1197,7 @@
</tr>
<tr>
<td nowrap valign=top><tt>30</tt>&nbsp; </td>
<td align=left>wheel tower when animated; animation state in m7 bits 5..0; m7 bit 6 set = sound already generated</td>
<td align=left>wheel tower when animated; animation state in m3 bits 5..0; m3 bit 6 set = sound already generated</td>
</tr>
<tr>
<td nowrap valign=top><tt>31</tt>&nbsp; </td>
@@ -1263,7 +1237,7 @@
</tr>
<tr>
<td nowrap valign=top><tt>58</tt>&nbsp; </td>
<td align=left>wheel tower when animated; animation state in m7 bits 5..0; m7 bit 6 set = sound already generated</td>
<td align=left>wheel tower when animated; animation state in m3 bits 5..0; m3 bit 6 set = sound already generated</td>
</tr>
</table></td>
</tr>
@@ -1358,7 +1332,7 @@
<table>
<tr>
<td nowrap valign=top><tt>8F</tt>&nbsp; </td>
<td align=left>Animated part; animation state in m7 (valid range <tt>00</tt>..<tt>31</tt>)<br>
<td align=left>Animated part; animation state in m3 (valid range <tt>00</tt>..<tt>31</tt>)<br>
Tile animation is started (m4 zeroed) on the periodic processing.<br>
While the animation is in progress, m4 holds the number
of animation cycles that have already taken place.<br>
@@ -1388,7 +1362,7 @@
</tr>
<tr>
<td nowrap valign=top><tt>A2</tt>&nbsp; </td>
<td align=left>bubble capture facility; animation state in m7 (valid range <tt>00</tt>..<tt>27</tt>)</td>
<td align=left>bubble capture facility; animation state in m3 (valid range <tt>00</tt>..<tt>27</tt>)</td>
</tr>
</table>
</td>
@@ -1426,7 +1400,7 @@
<li>m6 bits 5..3: random triggers (NewGRF)</li>
<li>m6 bit 2: bit 8 of type (see m5)</li>
<li>m6 bits 1..0 : <a href="#tropic_zone">Tropic zone definition</a></li>
<li>m7: animation frame</li>
<li>m7: random bits (NewGRF)</li>
</ul>
</td>
</tr>
@@ -1439,7 +1413,7 @@
<td valign=top nowrap>&nbsp;</td>
<td>
<ul>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a></li>
<li>m1: <a href="#OwnershipInfo">owner</a></li>
<li>m3 bits 7..4: <a href="#OwnershipInfo">owner</a> of tram</li>
<li>m3 bits 3..0: <a href="#TrackType">track type</a> for railway</li>
<li>m5 bit 4: pbs reservation state for railway</li>
@@ -1551,7 +1525,6 @@
<td><tt>2</tt>&nbsp;</td>
<td>water</td>
</tr>
</table>
</li>
<li>m5 bits 1..0: direction onto the bridge / out of the tunnel
<table>
@@ -1587,16 +1560,16 @@
<tr bgcolor="#CCCCCC">
<td valign=top nowrap><strong><a name="ClassA"><tt> A</tt></a></strong></td>
<td><strong><tt>Objects</tt></strong></td>
<td><strong><tt>Unmovables</tt></strong></td>
</tr>
<tr>
<td valign=top nowrap>&nbsp;</td>
<td>
<ul>
<li>m1 bits 6..5 : Water class (sea, canal, river or land)
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> of the object (for lighthouses and transmitters normally <tt>10</tt>)</li>
<li>m2: index into the array of objects
<li>m3: random bits
<li>m1: <a href="#OwnershipInfo">owner</a> of the object (for lighthouses and transmitters normally <tt>10</tt>)</li>
<li>m2: see company statue
<li>m3 bits 4..2: size of HQ
<li>m3 bits 1..0: section identification of the HQ
<li>m5: tile type:
<table>
<tr>
@@ -1612,6 +1585,10 @@
<tr>
<td nowrap valign=top><tt>02</tt>&nbsp; </td>
<td align=left>company statue
<ul>
<li>m2: TownID on which the statue is built in</li>
</ul>
</td>
</tr>
<tr>
@@ -1627,7 +1604,6 @@
</li>
<li>m6 bits 7..6 : Possibility of a bridge above, in the <a href="#bridge_direction">direction specified</a></li>
<li>m6 bits 1..0 : <a href="#tropic_zone">Tropic zone definition</a></li>
<li>m7: animation counter
</ul>
</td>
</tr>

View File

@@ -4,7 +4,7 @@
<head>
<meta name="Author" content="Marcin Grzegorczyk">
<meta name="Description" content="Structure of OpenTTD (OTTD) landscape arrays">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>OpenTTD Landscape externals</title>
</head>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<meta name="Description" content="Structure of OpenTTD (OTTD) landscape arrays #2">
<title>OpenTTD Landscape Internals - #2</title>
<style type="text/css">
@@ -66,7 +66,7 @@ the array so you can quickly see what is used and what is not.
<td rowspan="2">0</td>
<td class="caption">ground</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOO</span><span class="option">~ ~~~~</span></td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOO</span>X <span class="free">OOOO</span></td>
<td class="bits">XXXX XX<span class="free">OO</span></td>
@@ -77,7 +77,7 @@ the array so you can quickly see what is used and what is not.
<tr>
<td class="caption">farmland</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits"><span class="free">OOO</span>X XXXX</td>
<td class="bits">-inherit-</td>
@@ -89,9 +89,9 @@ the array so you can quickly see what is used and what is not.
<td rowspan=3>1</td>
<td class="caption">rail</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOO</span>X XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits"><span class="free">OOOO</span> XXXX <span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits"><span class="free">OOOO</span> <span class="option">~~</span>XX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
@@ -102,7 +102,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO</span> XXXX XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX <span class="option">~~</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
@@ -113,7 +113,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits"><span class="free">OOOO</span> <span class="option">~~</span>XX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits">XX<span class="free">O</span>X <span class="free">O</span>XXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
@@ -123,7 +123,7 @@ the array so you can quickly see what is used and what is not.
<td rowspan=3>2</td>
<td class="caption">road</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOO</span>X XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
@@ -136,7 +136,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX <span class="option">~~</span>XX</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX<span class="free"> OOO</span>X</td>
<td class="bits">XXXX X<span class="free">O</span>XX</td>
@@ -146,7 +146,7 @@ the array so you can quickly see what is used and what is not.
<td class="caption">road depot</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
@@ -159,7 +159,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits">XX<span class="free">O</span><span class="option">~ ~~</span>XX</td>
<td class="bits">XXX<span class="option">~ ~~</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXX<span class="abuse">X XXXX</span></td>
<td class="bits"><span class="abuse">XXXX XX</span>XX</td>
@@ -169,7 +169,7 @@ the array so you can quickly see what is used and what is not.
<td>4</td>
<td class="caption">trees</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOO</span><span class="option">~ ~~~~</span></td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="free">OOOO OOO</span>X XXXX XXXX</td>
<td class="bits"><span class="option">~~</span>XX XXXX</td>
<td class="bits">XXXX XX<span class="free">OO</span></td>
@@ -181,9 +181,9 @@ the array so you can quickly see what is used and what is not.
<td rowspan=7>5</td>
<td class="caption">rail station</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">O</span>XXX XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX <span class="option">~~</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OO</span>XX XXXX</td>
@@ -206,7 +206,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX <span class="free">OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="option">~~~~ ~</span>XXX</td>
<td class="bits"><span class="free">OO</span>XX XXXX</td>
<td class="bits">XX<span class="free">O</span>X XXXX</td>
@@ -216,8 +216,8 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OO</span>XX</td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="option">~~~~ ~</span>XXX</td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
@@ -227,19 +227,19 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX <span class="free">OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">buoy</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OO</span>XX</td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
@@ -250,7 +250,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
@@ -259,9 +259,9 @@ the array so you can quickly see what is used and what is not.
<td rowspan=3>6</td>
<td class="caption">sea, shore</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">O</span>XXX XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">X<span class="option">~~</span>X XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
@@ -272,7 +272,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OO</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
@@ -283,7 +283,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
@@ -293,7 +293,8 @@ the array so you can quickly see what is used and what is not.
<td>8</td>
<td class="caption">industry</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXX<span class="free">O</span> <span class="abuse">XXXX</span></td>
<td class="bits">XXX<span class="free">O</span> <span class="abuse">
XXXX</span></td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
@@ -305,9 +306,9 @@ the array so you can quickly see what is used and what is not.
<td rowspan=2>9</td>
<td class="caption">tunnel entrance</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOO</span>X XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX <span class="option">~~</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">X<span class="free">OO</span>X XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
@@ -326,15 +327,26 @@ the array so you can quickly see what is used and what is not.
</tr>
<tr>
<td rowspan=2>A</td>
<td class="caption">objects</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">O</span>XXX XXXX</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="caption">unmovables</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOO</span>X XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">company statue</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
</tbody>
</table>

View File

@@ -1,219 +1,121 @@
Multiplayer manual for OpenTTD
Last updated: 2011-02-16
------------------------------------------------------------------------
Multiplayer Manual for OpenTTD (0.3.5)
=======================================
1. Starting a Server
---------------------
Table of contents
-----------------
1.0) Starting a server
2.0) Connecting to a server
* 2.1) Connecting to a server over the console
3.0) Playing internet games
4.0) Tips for servers
* 4.1) Imposing landscaping limits
5.0) Some useful things
6.0) Troubleshooting
1.0) Starting a server
---- -----------------
- Make sure that you have your firewall of the computer as well as possible
routers or modems of the server configured such that:
* port 3979 is free for both UDP and TCP connections in- and outgoing
* port 3978 is free outbound for UDP in order to advertise with the master
server (if desired). Otherwise you'll have to tell players your IP.
* port 3977 if use of the admin interface is desired (see admin_network.txt)
- Click "multiplayer" on the startup screen
- Click "start server"
- Type in a game name
- Select the type of game ('LAN/Internet' or 'Internet (advertise)'. With the
last one other people are able to see you online. Else they need your IP and
port to join)
- Select the type of game ('LAN/Internet' or 'Internet (advertise)'. With the last one
other people are able to see you online. Else they need your IP and port to join)
- Click "start game", "load game" or "load scenario"
- Start playing
2.0) Connecting to a server
---- ----------------------
2. Connecting to a Server
--------------------------
- Click "multiplayer" on the startup screen
- If you want to connect to any network game in your LAN click on 'LAN', then
on 'Find Server'
- If you want to see which servers all online on the Internet, click on
'Internet' and 'Find Server'
- If you want to connect to any network game in your LAN click on 'LAN', then on
'Find Server'
- If you want to see which servers all online on the Internet, click on 'Internet'
and 'Find Server'
- If there were more than one server
- If there were more then one server
- select one in the list below the buttons
- click on 'join game'
- If you want to play and you have the ip or hostname of the game server you
want connect to.
- If you want to play and you have the ip or hostname of the game server you want connect to.
- click add server
- type in the ip address or hostname
- if you want to add a port use :<port>
- Now you can select a company and press: "Join company", to help that company
- Or you can press "Spectate game", to spectate the game
- Or you can press "New company", and start your own company (if there are
slots free)
- Or you can press "New company", and start your own company (if there are slots free)
- You see a progressbar how far you are with joining the server.
- Happy playing
2.1) Connecting to a server over the console
---- ---------------------------------------
3. Connecting to a Server over the Console
-------------------------------------------
- Open the console and type in the following command:
connect <ip/host>:<port>#<company-no>
connect <ip/host>:<port>#<player-no>
3.0) Playing internet games
---- ----------------------
- Servers with a red dot behind it have a different version then you have. You
will not be able to join those servers.
4. Playing Internet-Games
--------------------------
- Servers with a yellow dot behind it have NewGRFs that you do not have. You
will not be able to join those servers. However, via "NewGRF Settings" and
"Find missing content online" you might be able to download the needed
NewGRFs after which you can join the server.
- Since OpenTTD 0.3.5 the network protocol has been rewritten and is very stable, even over slow connections.
- It can happen that a connection is that slow, or you have that many clients
connected to your server, that your clients start to loose their connection.
Some things you can do about it:
- [network] frame_freq:
change it in console with: 'set network.frame_freq <number>'
the number should be between the 0 and 10, not much higher. It indicates
the delay between clicking and showing up. The higher, the more you notice
it, but the less bandwidth you use.
- Servers with a red dot behind it have a different version then you have. You will not be able to join those servers.
- Servers with a yellow dot behind it have NewGRFs that you do not have. You will not be able to join those servers.
- It can happen that a connection is that slow, or you have that many clients connected to your server, that your clients start to loose their connection. Some things you can do about it:
- net_frame_freq:
change it in console with: net_frame_freq = <number>
the number should be between the 0 and 10, not much higher. It indicates the delay between clicking and showing up. The higher, the more you notice it, but the less bandwidth you use.
A good value for Internet-games is 2 or 3.
- [network] sync_freq:
change it in console with: 'set network.sync_freq <number>'
the number should be between the 50 and 1000, not much lower, not much
higer. It indicates the time between sync-frames. A sync-frame is a frame
which checks if all clients are still in sync. When the value it too high,
clients can desync in 1960, but the server detects it in 1970. Not really
handy. The lower the value, the more bandwidth it uses.
- net_sync_freq:
change it in console with: net_sync_freq = <number>
the number should be between the 50 and 1000, not much lower, not much higer. It indicates the time between sync-frames. A sync-frame is a frame which checks if all clients are still in sync. When the value it too high, clients can desync in 1960, but the server detects it in 1970. Not really handy. The lower the value, the more bandwidth it uses.
NB: changing frame_freq has more effect on the bandwidth then sync_freq.
NB: changing net_frame_freq has more effect on the bandwidth then net_sync_freq. You should never change net_sync_freq!
4.0) Tips for servers
---- ----------------
- You can launch a dedicated server by adding -D as parameter.
- In UNIX like systems, you can fork your dedicated server by adding -f as
parameter.
5. Tips for servers
--------------------
- You can automaticly clean companies that do not have a client connected to
them, for, let's say, 3 years. You can do this via: 'set autoclean_companies'
and 'set autoclean_protected' and 'set autoclean_unprotected'. Unprotected
removes a password from a company when it is not used for more then the
defined amount of months. 'set autoclean_novehicles' can be used to remove
companies without any vehicles quickly.
- You can launch a dedicated server by adding -D as parameter
- In UNIX like systems, you can fork your dedicated server by adding -f as parameter
- You can automaticly clean companies that do not have a client connected to them, for, let's say,
3 years. You can do this via: 'set autoclean_companies' and 'set autoclean_protected' and
'set autoclean_unprotected'. Unprotected removes a password from a company when it is
not used for more then the defined amount of months.
- You can also do this manually via the console: 'reset_company'.
Both ways, the company will go bankrupt.
- You can let your server automaticly restart a map when, let's say, year 2030
is reached. See 'set restart_game_date' for detail.
- You can let your server automaticly restart a map when, let's say, year 2030 is reached.
See 'set restart_game_date' for detail.
- If you want to be on the server-list, enable Advertising. To do this, select 'Internet (advertise)'
in the Start Server menu, or type in console: 'set server_advertise 1'.
- If you want to be on the server-list, enable Advertising. To do this, select
'Internet (advertise)' in the Start Server menu, or type in console:
'set server_advertise 1'.
- You can protect your server with a password via the console: 'set server_pw', or via the
Start Server menu.
- You can protect your server with a password via the console: 'set server_pw',
or via the Start Server menu.
- When you have many clients connected to your server via Internet, watch your
bandwidth (if you have any limit on it, set by your ISP). One client uses
about 1.5 kilobytes per second up and down. To decrease this amount, setting
'frame_freq' to 1 will reduce it to roughly 1 kilobyte per second per client.
- OpenTTD's default settings for maximum number of clients, and amount of data
from clients to process are chosen to not influence the normal playing of
people, but to prevent or at least make it less likely that someone can
perform a (distributed) denial-of-service attack on your server by causing
an out-of-memory event by flooding the server with data to send to all
clients. The major factor in this is the maximum number of clients; with
32 clients "only" sending one chat message causes 1024 messages to be
distributed in total, with 64 clients that already quadruples to 4096. Given
that upstream bandwidth is usually the limiting factor, a queue of packets
that need to be sent will be created.
To prevent clients from exploiting this "explosion" of packets to send we
limit the number of incoming data, resulting in effectively limiting the
amount of data that OpenTTD will send to the clients. Even with the default
limits it is possible to generate about 70.000 packets per second, or about
7 megabit per second of traffic.
Given that OpenTTD kicks clients after they have not reacted within about 9
seconds from sending a frame update packet it would be possible that OpenTTD
keeps about 600.000 packets in memory, using about 50 megabytes of memory.
Given that OpenTTD allows short bursts of packets, you can have slightly
more packets in memory in case of a distributed denial of service attack.
When increasing the amount of incoming data, or the maximum number of
clients the amount of memory OpenTTD needs in case of a distributed denial
of service attack is linearly related to the amount of incoming data and
quadratic to the amount of clients. In short, a rule of thumb for, the
maximum memory usage for packets is:
#max_clients * #max_clients * bytes_per_frame * 10 KiB.
4.1) Imposing landscaping limits
---- ---------------------------
- You can impose limits on companies by the following 4 settings:
- terraform_per_64k_frames
- terraform_frame_burst
- clear_per_64k_frames
- clear_frame_burst
- Explaining 'per_64K_frames' and 'burst'
- 'burst' defines 3 things, the maximum limit, the limit of a single action,
and the initial value for the limit assigned to a new company.
This setting is fairly simple and requires no math.
A value of 1 means a single tile can be affected by a single action.
This results in having to click 400 times when wanting to cover an area
of 20 x 20 tiles.
The default value 4096 covers an area of 64 x 64 tiles.
- 'per_64k_frames' defines the number of tiles added to each companies limit
per frame (however not past the possible maximum value,the 'burst').
64k rather resembles the exact number of 65536 frames. So setting this
variable to 65536 means: 65536 / 65536 = 1 tile per frame.
As a day consists of 74 frames, a company's limit is increased by 74
tiles during the course of a single day (2.22 seconds).
To achieve a 1 tile per day increase the following calculation is needed:
1 / 74 (frames per day) * 65536 (per_64k_frames) = 885.62...
after rounding: a value of 886 means adding a bit over 1 tile per day.
There is still enough space to scale this value downwards:
decreasing this value to 127 results in a bit over 1 tile added to the
allowance per week (7 days).
To create a setup in which a company gets an initial allowance only,
set the value to 0 - no increase of the allowance per frame.
- Even though construction actions include a clear tile action, they are not
affected by the above settings.
- When you have many clients connected to your server via Internet, watch your bandwidth (if
you have any limit on it, set by your ISP). 1 client uses +/- 3 kb/s up and down. To decrease
this amount, set 'net_frame_freq' to 1 for example. This will reduce it to 1.5 kb/s per client.
5.0) Some useful things
---- ------------------
- You can protect your company so nobody else can join uninvited. To do this,
set a password in your Company Screen
6. Some useful things
----------------------
- You can give other players some money via the ClientList (under the 'head'
in the mainbar).
- You can protect your company so nobody else can join uninvited. To do this, check your Company Screen
- You can give other players some money via the ClientList (under the 'head' in the mainbar).
- You can chat with other players via ENTER or via SHIFT+T or via the ClientList
- Servers can now kick players, so don't make them use it!
- From 0.3.5, desyncs should not happen anymore
6.0) Troubleshooting
---- ---------------
- My advertising server does not show up in list at servers.openttd.org
Run openttd with the '-d net=2' parameter. That will show which incoming
communication is received, whether the replies from the master server or
communication from an admin tool reach the programme. See section 1
'Starting a server' further up for the ports and protocols used by OpenTTD.
The ports can be configured in the config file.
- From 0.3.5, patch-settings are also synced. You can now play without deleting openttd.cfg, and with, for example, extra large trains enabled.
7. Troubleshooting
------------------
- My advertised server does not show up in the 'advertised server list' (servers.openttd.org)
Run openttd with the '-d net=2' parameter, as this will show whether it receives replies from the master server.
If it does not receive replies it is most likely that you need to configure your router to forward the OpenTTD ports 3979 (both TCP and UDP) to the computer that is hosting the game.

View File

@@ -1,6 +1,6 @@
.\" Hey, EMACS: -*- nroff -*-
.\" Please adjust this date whenever revising the manpage.
.Dd Dec 31, 2010
.Dd Jun 10, 2009
.Dt OPENTTD 6
.Sh NAME
.Nm openttd
@@ -8,6 +8,7 @@
.Sh SYNOPSIS
.Nm
.Op Fl efhx
.Op Fl a Ar ai
.Op Fl b Ar blitter
.Op Fl c Ar config_file
.Op Fl d Ar [level | cat=lvl[,...]]
@@ -18,7 +19,6 @@
.Op Fl I Ar graphicsset
.Op Fl l Ar host[:port]
.Op Fl m Ar driver
.Op Fl M Ar musicset
.Op Fl n Ar host[:port][#player]
.Op Fl p Ar password
.Op Fl P Ar password
@@ -29,6 +29,10 @@
.Op Fl v Ar driver
.Sh OPTIONS
.Bl -tag -width ".Fl n Ar host[:port][#player]"
.It Fl a Ar ai
Set the AI, see
.Fl h
for a full list
.It Fl b Ar blitter
Set the blitter, see
.Fl h
@@ -76,10 +80,6 @@ Redirect DEBUG(), See
Set the music driver, see
.Fl h
for a full list
.It Fl M Ar musicset
Set the music set, see
.Fl h
for a full list
.It Fl n Ar host[:port][#player]
Join a network game, optionally specify a port to connect to and player to play as
.It Fl p Ar password

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1,260 +0,0 @@
GIMP Palette
Name: openttd
Columns: 16
#
0 0 255 unnamed
238 0 238 unnamed
239 0 239 unnamed
240 0 240 unnamed
241 0 241 unnamed
242 0 242 unnamed
243 0 243 unnamed
244 0 244 unnamed
245 0 245 unnamed
246 0 246 unnamed
168 168 168 unnamed
184 184 184 unnamed
200 200 200 unnamed
216 216 216 unnamed
232 232 232 unnamed
252 252 252 unnamed
52 60 72 unnamed
68 76 92 unnamed
88 96 112 unnamed
108 116 132 unnamed
132 140 152 unnamed
156 160 172 unnamed
176 184 196 unnamed
204 208 220 unnamed
48 44 4 unnamed
64 60 12 unnamed
80 76 20 unnamed
96 92 28 unnamed
120 120 64 unnamed
148 148 100 unnamed
176 176 132 unnamed
204 204 168 unnamed
100 100 100 unnamed
116 116 116 unnamed
104 80 44 unnamed
124 104 72 unnamed
152 132 92 unnamed
184 160 120 unnamed
212 188 148 unnamed
244 220 176 unnamed
132 132 132 unnamed
88 4 16 unnamed
112 16 32 unnamed
136 32 52 unnamed
160 56 76 unnamed
188 84 108 unnamed
204 104 124 unnamed
220 132 144 unnamed
236 156 164 unnamed
252 188 192 unnamed
252 208 0 unnamed
252 232 60 unnamed
252 252 128 unnamed
76 40 0 unnamed
96 60 8 unnamed
116 88 28 unnamed
136 116 56 unnamed
156 136 80 unnamed
176 156 108 unnamed
196 180 136 unnamed
68 24 0 unnamed
96 44 4 unnamed
128 68 8 unnamed
156 96 16 unnamed
184 120 24 unnamed
212 156 32 unnamed
232 184 16 unnamed
252 212 0 unnamed
252 248 128 unnamed
252 252 192 unnamed
32 4 0 unnamed
64 20 8 unnamed
84 28 16 unnamed
108 44 28 unnamed
128 56 40 unnamed
148 72 56 unnamed
168 92 76 unnamed
184 108 88 unnamed
196 128 108 unnamed
212 148 128 unnamed
8 52 0 unnamed
16 64 0 unnamed
32 80 4 unnamed
48 96 4 unnamed
64 112 12 unnamed
84 132 20 unnamed
104 148 28 unnamed
128 168 44 unnamed
64 64 64 unnamed
44 68 32 unnamed
60 88 48 unnamed
80 104 60 unnamed
104 124 76 unnamed
128 148 92 unnamed
152 176 108 unnamed
180 204 124 unnamed
16 52 24 unnamed
32 72 44 unnamed
56 96 72 unnamed
76 116 88 unnamed
96 136 108 unnamed
120 164 136 unnamed
152 192 168 unnamed
184 220 200 unnamed
32 24 0 unnamed
56 28 0 unnamed
80 80 80 unnamed
88 52 12 unnamed
104 64 24 unnamed
124 84 44 unnamed
140 108 64 unnamed
160 128 88 unnamed
76 40 16 unnamed
96 52 24 unnamed
116 68 40 unnamed
136 84 56 unnamed
164 96 64 unnamed
184 112 80 unnamed
204 128 96 unnamed
212 148 112 unnamed
224 168 128 unnamed
236 188 148 unnamed
80 28 4 unnamed
100 40 20 unnamed
120 56 40 unnamed
140 76 64 unnamed
160 100 96 unnamed
184 136 136 unnamed
36 40 68 unnamed
48 52 84 unnamed
64 64 100 unnamed
80 80 116 unnamed
100 100 136 unnamed
132 132 164 unnamed
172 172 192 unnamed
212 212 224 unnamed
48 48 48 unnamed
64 44 144 unnamed
88 64 172 unnamed
104 76 196 unnamed
120 88 224 unnamed
140 104 252 unnamed
160 136 252 unnamed
188 168 252 unnamed
0 24 108 unnamed
0 36 132 unnamed
0 52 160 unnamed
0 72 184 unnamed
0 96 212 unnamed
24 120 220 unnamed
56 144 232 unnamed
88 168 240 unnamed
128 196 252 unnamed
188 224 252 unnamed
16 64 96 unnamed
24 80 108 unnamed
40 96 120 unnamed
52 112 132 unnamed
80 140 160 unnamed
116 172 192 unnamed
156 204 220 unnamed
204 240 252 unnamed
172 52 52 unnamed
212 52 52 unnamed
252 52 52 unnamed
252 100 88 unnamed
252 144 124 unnamed
252 184 160 unnamed
252 216 200 unnamed
252 244 236 unnamed
72 20 112 unnamed
92 44 140 unnamed
112 68 168 unnamed
140 100 196 unnamed
168 136 224 unnamed
200 176 248 unnamed
208 184 255 unnamed
232 208 252 unnamed
60 0 0 unnamed
92 0 0 unnamed
128 0 0 unnamed
160 0 0 unnamed
196 0 0 unnamed
224 0 0 unnamed
252 0 0 unnamed
252 80 0 unnamed
252 108 0 unnamed
252 136 0 unnamed
252 164 0 unnamed
252 192 0 unnamed
252 220 0 unnamed
252 252 0 unnamed
204 136 8 unnamed
228 144 4 unnamed
252 156 0 unnamed
252 176 48 unnamed
252 196 100 unnamed
252 216 152 unnamed
8 24 88 unnamed
12 36 104 unnamed
20 52 124 unnamed
28 68 140 unnamed
40 92 164 unnamed
56 120 188 unnamed
72 152 216 unnamed
100 172 224 unnamed
92 156 52 unnamed
108 176 64 unnamed
124 200 76 unnamed
144 224 92 unnamed
224 244 252 unnamed
200 236 248 unnamed
180 220 236 unnamed
132 188 216 unnamed
88 152 172 unnamed
16 16 16 unnamed
32 32 32 unnamed
32 68 112 unnamed
36 72 116 unnamed
40 76 120 unnamed
44 80 124 unnamed
48 84 128 unnamed
72 100 144 unnamed
100 132 168 unnamed
216 244 252 unnamed
96 128 164 unnamed
68 96 140 unnamed
76 24 8 unnamed
108 44 24 unnamed
144 72 52 unnamed
176 108 84 unnamed
210 146 126 unnamed
252 60 0 unnamed
252 84 0 unnamed
252 104 0 unnamed
252 124 0 unnamed
252 148 0 unnamed
252 172 0 unnamed
252 196 0 unnamed
64 0 0 unnamed
255 0 0 unnamed
48 48 0 unnamed
64 64 0 unnamed
80 80 0 unnamed
255 255 0 unnamed
148 148 148 unnamed
247 0 247 unnamed
248 0 248 unnamed
249 0 249 unnamed
250 0 250 unnamed
251 0 251 unnamed
252 0 252 unnamed
253 0 253 unnamed
254 0 254 unnamed
255 0 255 unnamed
255 255 255 unnamed

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View File

@@ -66,19 +66,20 @@ fi
# Find out some dirs
cd `dirname "$0"`
ROOT_DIR=`pwd`
SRC_DIR=src
# Determine if we are using a modified version
# Assume the dir is not modified
MODIFIED="0"
if [ -d "$ROOT_DIR/.svn" ]; then
# We are an svn checkout
if [ -n "`svnversion | grep 'M'`" ]; then
if [ -n "`svnversion \"$SRC_DIR\" | grep 'M'`" ]; then
MODIFIED="2"
fi
# Find the revision like: rXXXXM-branch
BRANCH=`LC_ALL=C svn info | "$AWK" '/^URL:.*branches/ { split($2, a, "/"); for(i in a) if (a[i]=="branches") { print a[i+1]; break } }'`
TAG=`LC_ALL=C svn info | "$AWK" '/^URL:.*tags/ { split($2, a, "/"); for(i in a) if (a[i]=="tags") { print a[i+1]; break } }'`
REV_NR=`LC_ALL=C svn info | "$AWK" '/^Last Changed Rev:/ { print $4 }'`
BRANCH=`LC_ALL=C svn info "$SRC_DIR" | "$AWK" '/^URL:.*branches/ { split($2, a, "/"); for(i in a) if (a[i]=="branches") { print a[i+1]; break } }'`
TAG=`LC_ALL=C svn info "$SRC_DIR" | "$AWK" '/^URL:.*tags/ { split($2, a, "/"); for(i in a) if (a[i]=="tags") { print a[i+1]; break } }'`
REV_NR=`LC_ALL=C svn info "$SRC_DIR" | "$AWK" '/^Last Changed Rev:/ { print $4 }'`
if [ -n "$TAG" ]; then
REV=$TAG
else
@@ -86,46 +87,22 @@ if [ -d "$ROOT_DIR/.svn" ]; then
fi
elif [ -d "$ROOT_DIR/.git" ]; then
# We are a git checkout
# Refresh the index to make sure file stat info is in sync, then look for modifications
git update-index --refresh >/dev/null
if [ -n "`git diff-index HEAD`" ]; then
if [ -n "`git diff-index HEAD \"$SRC_DIR\"`" ]; then
MODIFIED="2"
fi
HASH=`LC_ALL=C git rev-parse --verify HEAD 2>/dev/null`
REV="g`echo $HASH | cut -c1-8`"
BRANCH="`git symbolic-ref -q HEAD 2>/dev/null | sed 's@.*/@@;s@^master$@@'`"
REV_NR=`LC_ALL=C git log --pretty=format:%s --grep="^(svn r[0-9]*)" -1 | sed "s@.*(svn r\([0-9]*\)).*@\1@"`
if [ -z "$REV_NR" ]; then
# No rev? Maybe it is a custom git-svn clone
REV_NR=`LC_ALL=C git log --pretty=format:%b --grep="git-svn-id:.*@[0-9]*" -1 | sed "s@.*\@\([0-9]*\).*@\1@"`
fi
TAG="`git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null | sed 's@\^0$@@'`"
if [ -n "$TAG" ]; then
BRANCH=""
REV="$TAG"
fi
BRANCH=`git branch|grep '[*]' | sed 's@\* @@;s@^master$@@'`
REV_NR=`LC_ALL=C git log --pretty=format:%s "$SRC_DIR" | grep "^(svn r[0-9]*)" | head -n 1 | sed "s@.*(svn r\([0-9]*\)).*@\1@"`
elif [ -d "$ROOT_DIR/.hg" ]; then
# We are a hg checkout
if [ -n "`hg status | grep -v '^?'`" ]; then
if [ -n "`hg status \"$SRC_DIR\" | grep -v '^?'`" ]; then
MODIFIED="2"
fi
HASH=`LC_ALL=C hg id -i | cut -c1-12`
HASH=`LC_ALL=C hg parents --template="{node}"`
REV="h`echo $HASH | cut -c1-8`"
BRANCH="`hg branch | sed 's@^default$@@'`"
TAG="`hg id -t | grep -v 'tip$'`"
if [ -n "$TAG" ]; then
BRANCH=""
REV="$TAG"
fi
REV_NR=`LC_ALL=C hg log -f -k "(svn r" -l 1 --template "{desc|firstline}\n" | grep "^(svn r[0-9]*)" | sed "s@.*(svn r\([0-9]*\)).*@\1@"`
if [ -z "$REV_NR" ]; then
# No rev? Maybe it is a custom hgsubversion clone
REV_NR=`LC_ALL=C hg parent --template="{svnrev}"`
fi
elif [ -f "$ROOT_DIR/.ottdrev" ]; then
# We are an exported source bundle
cat $ROOT_DIR/.ottdrev
exit
BRANCH=`hg branch | sed 's@^default$@@'`
REV_NR=`LC_ALL=C hg log -r $HASH:0 -k "svn" -l 1 --template "{desc}\n" "$SRC_DIR" | grep "^(svn r[0-9]*)" | head -n 1 | sed "s@.*(svn r\([0-9]*\)).*@\1@"`
else
# We don't know
MODIFIED="1"

View File

@@ -1,18 +1,18 @@
OpenTTD's known bugs
Last updated: 2011-07-30
Release version: 1.1.2-RC2
Last updated: 2010-01-05
Release version: 1.0.0-beta2
------------------------------------------------------------------------
Table of contents
-----------------
1.0) About
2.0) Known bugs in this release
* 2.1) Known bugs that will not be solved
Table of Contents:
------------------
1) About
2) Known bugs in the this stable release
3) Known bugs that will not be solved
1.0) About
---- -----
1) About:
-- ------
All bugs listed below are marked as known. Please do not submit any bugs
that are the same as these. If you do, do not act surprised, because
we WILL flame you!!
@@ -22,32 +22,28 @@ specifics, we welcome you to report them. React to the given bug indicated
by the number below on http://bugs.openttd.org.
2.0) Known bugs in this release
---- --------------------------
The following bugs are known to exist in this release and we intend to
fix them. Some bugs are known but are not fixable or fixing them would
cause further problems. Those bugs can be found in the "Known bugs that
will not be solved" section.
2) Known bugs in the this stable release:
-- --------------------------------------
The following bugs are known to exist in this stable release and
we intend to fix them. Some bugs are known but are not fixable or
fixing them would cause further problems. Those bugs can be found
in the "Known bugs that will not be solved" section.
The bugs in this section all refer to a ticket in our bug tracking system
that you can find at: http://bugs.openttd.org
If the bugs are closed but still listed here it means that the bug is fixed
and that the nightlies and next major release will not have that bug.
Issues prefixed with [OSX] are required to be fixed before we consider
officially supporting Mac OS X again. For now it remains unsupported and
we only apply bug fixes provided by the community but we are unable to fix
these bugs ourselves.
- 3447 [OSX] SDL port is unuseable
- 3194 [OSX] Full screen strobing/flickering
- 2782 [OSX] Port hopelessly outdated
- 2585 [OSX] OS' mouse pointer showing
- 2484 [OSX] Cannot enter CJK characters
- 1140 [OSX] Not smooth moving map with touchpad
- 4695 [OSX] Crash when switching to full screen with OS X Lion
- 4689 [OSX] Crash when hiding window after coming from full screen
- 4594 [Windows] Minimizing the windows when a modal error message is
shown makes it difficult to exit the game
- 4420 [OSX] OS' mouse pointer still shows
- 2484 [OSX] Cannot enter CJK characters
2.1) Known bugs that will not be solved
---- ----------------------------------
3) Known bugs that will not be solved:
-- -----------------------------------
This section lists all known bugs that we do not intend to fix and the
reasons why we think that fixing them is infeasible. We might make some
minor improvements that reduce the scope of these bugs, but we will not
@@ -64,38 +60,6 @@ No suitable AI can be found
"AI Settings" -> "Select AI" -> "Check Online Content" which is also
accessed via the main menu.
After a while of playing, colours get corrupted
In Windows 7 the background slideshow corrupts the colour mapping of
OpenTTD's 8bpp screen modes. Workarounds for this are:
a) Switching to windowed mode, instead of fullscreen
b) Switching off background slideshow
c) Setting up the 32bpp-anim or 32bpp-optimized blitter
Long delay between switching songs/music
On Windows there is a delay of a (few) second(s) between switching of
songs for the "win32" driver. This delay is caused by the fact that
opening a MIDI file via MCI is extremely slow.
DirectMusic, known as "dmusic" in OpenTTD, has a much shorter delay.
However, under some circumstances DirectMusic does not reset its
state properly causing wrongly pitched/bad sounding songs. This
problem is in DirectMusic as it is reproducable with Microsoft's
DirectMusic Producer. DirectMusic has been deprecated since 2004
and as such has no support for 64 bits OpenTTD.
As a delay is favourable over bad sounding music the "win32" driver
is the default driver for OpenTTD. You can change this default by
setting the "musicdriver" in your openttd.cfg to "dmusic".
Custom vehicle type name is incorrectly aligned
Some NewGRFs use sprites that are bigger than normal in the "buy
vehicle" window. Due to this they have to encode an offset for the
vehicle type name. Upon renaming the vehicle type this encoded offset
is stripped from the name because the "edit box" cannot show this
encoding. As a result the custom vehicle type names will get the
default alignment. The only way to (partly) fix this is by adding
spaces to the custom name.
Clipping problems [FS#119]
In some cases sprites are not drawn as one would expect. Examples of
this are aircraft that might be hidden below the runway or trees that
@@ -114,14 +78,6 @@ Clipping problems [FS#119]
leave the Transport Tycoon graphics, which in effect means OpenTTD
will not be a Transport Tycoon clone anymore.
Mouse scrolling not possible at the edges of the screen [FS#383] [FS#3966]
Scrolling the viewport with the mouse cursor at the edges of the screen
in the same direction of the edge will fail. If the cursor is near the
edge the scrolling will be very slow.
OpenTTD only receives cursor position updates when the cursor is inside
OpenTTD's window. It is not told how far you have moved the cursor
outside of OpenTTD's window.
Lost trains ignore (block) exit signals [FS#1473]
If trains are lost they ignore block exit signals, blocking junctions
with presignals. This is caused because the path finders cannot tell
@@ -177,7 +133,6 @@ Duplicate (station) names after renaming [FS#3204]
to the automatically generated names.
Extreme CPU usage/hangs when using SDL and PulseAudio [FS#3294]
OpenTTD hangs/freezes when closing, OpenTTD is slow, OpenTTD uses a lot of CPU
OpenTTD can be extremely slow/use a lot of CPU when the sound is
played via SDL and then through PulseAudio's ALSA wrapper. Under the
same configuration OpenTTD, or rather SDL, might hang when exiting
@@ -189,7 +144,7 @@ OpenTTD hangs/freezes when closing, OpenTTD is slow, OpenTTD uses a lot of CPU
use of interrupt-based scheduling may resolve sound problems for
some users. Under recent versions of Ubuntu Linux (9.04 and higher)
this can be accomplished by changing the following line in the
/etc/pulse/default.pa file:
/etc/pulsa/default.pa file:
load-module module-udev-detect
to
load-module module-udev-detect tsched=0
@@ -215,113 +170,3 @@ OpenTTD not properly resizing with SDL on X [FS#3305]
Window managers that are known to exhibit this behaviour are KDE's
and GNOME's. With the XFCE's and LXDE's window managers the resize
event is sent when the user releases the mouse.
Incorrect colours, crashes upon exit, debug warnings and smears upon
window resizing with SDL on Mac OS X [FS#3447]
Video handling with (lib)SDL under Mac OS X is known to fail on some
versions of Mac OS X with some hardware configurations. Some of the
problems happen only under some circumstances whereas others are
always present.
We suggest that the SDL video/sound backend is not used for OpenTTD
in combinations with Mac OS X.
Train crashes entering same junction from block and path signals [FS#3928]
When a train has reserved a path from a path signal to a two way
block signal and the reservation passes a path signal through the
back another train can enter the reserved path (only) via that same
two way block signal.
The reason for this has to do with optimisation; to fix this issue
the signal update has to pass all path signals until it finds either
a train or a backwards facing signal. This is a very expensive task.
The (signal) setups that allow these crashes can furthermore be
considered incorrectly signalled; one extra safe waiting point for
the train entering from path signal just after the backwards facing
signal (from the path signal train) resolves the issue.
Crashes when playing music [FS#3941]
Mac OS X's QuickTime (default music driver) and Windows' MCI (win32
music driver) crash on some songs from OpenMSX. OpenTTD cannot do
anything about this. Please report these crashes to the authors of
OpenMSX so the crash causing songs can be removed or fixed.
Crashes when run in a VM using Parallels Desktop [FS#4003]
When the Windows version of OpenTTD is executed in a VM under
Parallels Desktop a privileged instruction exception may be thrown.
As OpenTTD works natively on OSX as well as natively on Windows and
these native builds both don't exhibit this behaviour this crash is
most likely due to a bug in the virtual machine, something out of
the scope of OpenTTD. Most likely this is due to Parallels Desktop
lacking support for RDTSC calls. The problem can be avoided by using
other VM-software, Wine, or running natively on OSX.
OpenTTD hangs when started on 32 bits Windows [FS#4083]
Under some circumstances OpenTTD might hang for hours on the
initialisation of the music driver. The exact circumstances are
unknown except that it is the "dmusic" music driver that has the
problem and that the "win32" music driver does not.
As a result using the "win32" music driver will work around this
issue.
As the exact circumstances are unknown, and the obvious
configuration settings related to the music driver are at their
default we are not able to detect this failure, except when Windows'
music initialisation function returns after several hours and then
there is no point in switching the music driver anymore.
The reason we do not use the "win32" music driver as default are
described in the "Long delay between switching music/song" section
of this document.
Pre- and exit signals are not dragged [FS#4378]
Unlike all other signal types, the entry- and exit signals are not
dragged but instead normal signals are placed on subsequent track
sections. This is done on purpose as this is the usually more con-
venient solution. There are little to no occasions where more than
one entry or exit signal in a row are useful. This is different
for all other signal types where several in a row can serve one
purpose or another.
Station build date is incorrect [FS#4415]
The tile query tool will show the date of the last (re)construction
at the station and not the date of the first construction. This is
due to compatability reasons with NewGRFs and the fact that it is
wrong to say that the station is built in a particular year when it
was completely destroyed/rebuilt later on.
The tile query tool can be fixed by changing the "Build date" text
to "Date at which the last (re)construction took place" but this is
deemed too specific and long for that window.
Can't change volume inside OpenTTD [FS#4416]
Some backends do not provide a means to change the volume of sound
effects or music. The mixing of music and sound is left to external
libraries/the operating system we can't handle the volume control
in OpenTTD. As a result you can't change the volume inside OpenTTD
for backends such as SDL; just use the volume control provided by
your operating system.
Can't run OpenTTD with the -d option from a MSYS console [FS#4587]
The MSYS console does not allow OpenTTD to open an extra console for
debugging output. Compiling OpenTTD with the --enable-console
configure option prevents this issue and allows the -d option to use
the MSYS console for its output.
Unreadable characters for non-latin locales [FS#4607]
OpenTTD does not ship a non-latin font in its graphics files. As a
result OpenTTD needs to acquire the font from somewhere else. What
OpenTTD does is ask the operating system, or a system library, for
the best font for a given language if the currently loaded font
does not provide all characters of the chosen translation. This
means that OpenTTD has no influence over the quality of the chosen
font; it just does the best it can do.
If the text is unreadable there are several steps that you can take
to improve this. The first step is finding a good font and configure
this in the configuration file. See section 9.0 of readme.txt for
more information. You can also increase the font size to make the
characters bigger and possible better readable.
If the problem is with the clarity of the font you might want to
enable anti-aliasing by setting the small_aa/medium_aa/large_aa
settings to "true". However, anti-aliasing only works when a 32 bits
blitter has been selected, e.g. blitter = "32bpp-anim", as with the
8 bits blitter there are not enough colours to properly perform the
anti-aliasing.

File diff suppressed because it is too large Load Diff

View File

@@ -1,19 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Airport previews"
-1 * 0 05 16 09
-1 sprites/airport_preview.png 50 8 09 140 230 0 0
-1 sprites/airport_preview.png 290 8 09 140 230 0 0
-1 sprites/airport_preview.png 530 8 09 140 230 0 0
-1 sprites/airport_preview.png 2 168 09 140 230 0 0
-1 sprites/airport_preview.png 242 168 09 140 230 0 0
-1 sprites/airport_preview.png 482 168 09 140 230 0 0
-1 sprites/airport_preview.png 2 328 09 140 230 0 0
-1 sprites/airport_preview.png 242 328 09 140 230 0 0
-1 sprites/airport_preview.png 482 328 09 140 230 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -1,25 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Extra airport graphics"
-1 * 3 05 10 0F
-1 sprites/airports.png 18 8 09 31 64 -31 0
-1 sprites/airports.png 98 8 09 31 64 -31 0
-1 sprites/airports.png 178 8 09 31 64 -31 0
-1 sprites/airports.png 258 8 09 31 64 -31 0
-1 sprites/airports.png 338 8 09 31 64 -31 0
-1 sprites/airports.png 418 8 09 31 64 -31 0
-1 sprites/airports.png 498 8 09 55 64 -2 -38
-1 sprites/airports.png 578 8 09 17 18 16 -1
-1 sprites/airports.png 610 8 09 55 64 -2 -38
-1 sprites/airports.png 690 8 09 17 18 -30 1
-1 sprites/airports.png 722 8 09 55 64 -2 -38
-1 sprites/airports.png 2 88 09 55 64 -2 -38
-1 sprites/airports.png 82 88 09 31 64 -31 0
-1 sprites/airports.png 162 88 09 31 64 -31 0
-1 sprites/airports.png 242 88 09 31 64 -31 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

View File

@@ -1,18 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Aqueduct graphics by Jonathan G. Rennison"
-1 * 3 05 12 08
-1 sprites/aqueduct.png 34 8 09 33 64 -34 -10
-1 sprites/aqueduct.png 114 8 09 33 66 -37 -9
-1 sprites/aqueduct.png 194 8 09 33 64 -34 -10
-1 sprites/aqueduct.png 274 8 09 33 66 -37 -9
-1 sprites/aqueduct.png 354 8 09 33 64 -34 -5
-1 sprites/aqueduct.png 434 8 09 33 66 -37 -4
-1 sprites/aqueduct.png 514 8 09 23 33 -31 0
-1 sprites/aqueduct.png 562 8 09 23 33 0 1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,65 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Autorail graphics"
-1 * 3 05 13 37
-1 sprites/autorail.png 18 8 09 31 64 -31 7
-1 sprites/autorail.png 98 8 09 31 64 -31 -1
-1 sprites/autorail.png 178 8 09 39 64 -31 -1
-1 sprites/autorail.png 258 8 09 47 64 -31 -9
-1 sprites/autorail.png 338 8 09 31 64 -31 -5
-1 sprites/autorail.png 418 8 09 23 64 -31 7
-1 sprites/autorail.png 498 8 09 18 64 -31 4
-1 sprites/autorail.png 578 8 09 31 64 -31 -1
-1 sprites/autorail.png 658 8 09 31 64 -31 7
-1 sprites/autorail.png 2 72 09 31 64 -31 -1
-1 sprites/autorail.png 82 72 09 23 64 -31 7
-1 sprites/autorail.png 162 72 09 18 64 -31 4
-1 sprites/autorail.png 242 72 09 31 64 -31 -1
-1 sprites/autorail.png 322 72 09 39 64 -31 -1
-1 sprites/autorail.png 402 72 09 47 64 -31 -9
-1 sprites/autorail.png 482 72 09 31 64 -31 -5
-1 sprites/autorail.png 562 72 09 31 64 -31 7
-1 sprites/autorail.png 642 72 09 31 64 -31 -1
-1 sprites/autorail.png 722 72 09 47 64 -31 -9
-1 sprites/autorail.png 2 136 09 26 64 -31 4
-1 sprites/autorail.png 82 136 09 23 64 -31 4
-1 sprites/autorail.png 162 136 09 31 64 -31 -3
-1 sprites/autorail.png 242 136 09 26 64 -31 4
-1 sprites/autorail.png 322 136 09 23 64 -31 4
-1 sprites/autorail.png 402 136 09 31 64 -31 -3
-1 sprites/autorail.png 482 136 09 31 64 -31 7
-1 sprites/autorail.png 562 136 09 31 64 -31 -1
-1 sprites/autorail.png 642 136 09 15 64 -31 7
-1 sprites/autorail.png 722 136 09 31 64 -31 7
-1 sprites/autorail.png 2 184 09 39 64 -31 -1
-1 sprites/autorail.png 82 184 09 31 64 -31 -1
-1 sprites/autorail.png 162 184 09 31 64 -31 7
-1 sprites/autorail.png 242 184 09 39 64 -31 -1
-1 sprites/autorail.png 322 184 09 31 64 -31 -1
-1 sprites/autorail.png 402 184 09 31 64 -31 7
-1 sprites/autorail.png 482 184 09 31 64 -31 -1
-1 sprites/autorail.png 562 184 09 31 64 -31 -1
-1 sprites/autorail.png 642 184 09 31 64 -31 -1
-1 sprites/autorail.png 722 184 09 23 64 -31 7
-1 sprites/autorail.png 2 248 09 15 64 -31 7
-1 sprites/autorail.png 82 248 09 39 64 -31 -1
-1 sprites/autorail.png 162 248 09 47 64 -31 -9
-1 sprites/autorail.png 242 248 09 31 64 -31 7
-1 sprites/autorail.png 322 248 09 31 64 -31 -1
-1 sprites/autorail.png 402 248 09 31 64 -31 -1
-1 sprites/autorail.png 482 248 09 31 64 -31 -1
-1 sprites/autorail.png 562 248 09 23 64 -31 7
-1 sprites/autorail.png 642 248 09 15 64 -31 7
-1 sprites/autorail.png 722 248 09 39 64 -31 -1
-1 sprites/autorail.png 2 312 09 47 64 -31 -9
-1 sprites/autorail.png 82 312 09 31 64 -31 -1
-1 sprites/autorail.png 162 312 09 31 64 -31 -1
-1 sprites/autorail.png 242 312 09 23 64 -31 7
-1 sprites/autorail.png 322 312 09 31 64 -31 7
-1 sprites/autorail.png 402 312 09 31 64 -31 7

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -1,75 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Canal graphics by George"
-1 * 3 05 08 41
-1 sprites/canals.png 66 8 09 23 64 -31 0
-1 sprites/canals.png 146 8 09 39 64 -31 -8
-1 sprites/canals.png 226 8 09 23 64 -31 0
-1 sprites/canals.png 306 8 09 39 64 -31 -8
-1 sprites/canals.png 386 8 09 59 64 -31 -36
-1 sprites/canals.png 466 8 09 65 64 -31 -34
-1 sprites/canals.png 546 8 09 59 64 -31 -36
-1 sprites/canals.png 626 8 09 59 64 -31 -28
-1 sprites/canals.png 706 8 09 62 64 -1 -51
-1 sprites/canals.png 2 88 09 62 64 -61 -43
-1 sprites/canals.png 82 88 09 62 64 -61 -51
-1 sprites/canals.png 162 88 09 62 64 -1 -43
-1 sprites/canals.png 242 88 09 59 64 -31 -28
-1 sprites/canals.png 322 88 09 65 66 -33 -34
-1 sprites/canals.png 402 88 09 59 64 -31 -28
-1 sprites/canals.png 482 88 09 59 64 -31 -28
-1 sprites/canals.png 562 88 09 62 64 -1 -43
-1 sprites/canals.png 642 88 09 60 64 -61 -43
-1 sprites/canals.png 722 88 09 62 66 -61 -43
-1 sprites/canals.png 2 168 09 60 64 -1 -43
-1 sprites/canals.png 82 168 09 59 64 -31 -28
-1 sprites/canals.png 162 168 09 59 64 -31 -28
-1 sprites/canals.png 242 168 09 59 64 -31 -28
-1 sprites/canals.png 322 168 09 59 64 -31 -28
-1 sprites/canals.png 402 168 09 60 64 -1 -43
-1 sprites/canals.png 482 168 09 62 68 -61 -43
-1 sprites/canals.png 562 168 09 60 64 -61 -43
-1 sprites/canals.png 642 168 09 62 64 -1 -43
-1 sprites/canals.png 722 168 09 59 64 -31 -36
-1 sprites/canals.png 2 248 09 65 64 -31 -34
-1 sprites/canals.png 82 248 09 59 64 -31 -36
-1 sprites/canals.png 162 248 09 59 64 -31 -28
-1 sprites/canals.png 242 248 09 62 64 -1 -51
-1 sprites/canals.png 322 248 09 62 64 -61 -43
-1 sprites/canals.png 402 248 09 62 64 -61 -51
-1 sprites/canals.png 482 248 09 62 64 -1 -43
-1 sprites/canals.png 562 248 09 59 64 -31 -28
-1 sprites/canals.png 642 248 09 65 66 -33 -34
-1 sprites/canals.png 722 248 09 59 64 -31 -28
-1 sprites/canals.png 2 328 09 59 64 -31 -28
-1 sprites/canals.png 82 328 09 62 64 -1 -43
-1 sprites/canals.png 162 328 09 60 64 -61 -43
-1 sprites/canals.png 242 328 09 62 66 -61 -43
-1 sprites/canals.png 322 328 09 60 64 -1 -43
-1 sprites/canals.png 402 328 09 59 64 -31 -28
-1 sprites/canals.png 482 328 09 59 64 -31 -28
-1 sprites/canals.png 562 328 09 59 64 -31 -28
-1 sprites/canals.png 642 328 09 59 64 -31 -28
-1 sprites/canals.png 722 328 09 60 64 -1 -43
-1 sprites/canals.png 2 408 09 62 68 -61 -43
-1 sprites/canals.png 82 408 09 60 64 -61 -43
-1 sprites/canals.png 162 408 09 62 64 -1 -43
-1 sprites/canals.png 242 408 09 37 70 -31 -6
-1 sprites/canals.png 322 408 09 37 70 -31 0
-1 sprites/canals.png 402 408 09 37 70 -37 0
-1 sprites/canals.png 482 408 09 37 70 -37 -6
-1 sprites/canals.png 562 408 09 31 64 -31 0
-1 sprites/canals.png 642 408 09 31 64 -31 0
-1 sprites/canals.png 722 408 09 31 64 -31 0
-1 sprites/canals.png 2 488 09 37 64 -31 -6
-1 sprites/canals.png 82 488 09 31 64 -31 0
-1 sprites/canals.png 162 488 09 31 64 -31 0
-1 sprites/canals.png 242 488 09 31 64 -31 0
-1 sprites/canals.png 322 488 09 37 64 -31 -6
-1 sprites/canals.png 402 488 09 20 20 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -1,630 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Characters, graphics by Bilbo and Jasper Vries"
//U+20AC Euro-sign
-1 * 0 12 03 00 01 AC 20 01 01 AC 20 02 01 AC 20
-1 sprites/chars.png 30 10 01 13 8 0 -2
-1 sprites/chars.png 30 30 01 6 5 0 0
-1 sprites/chars.png 30 40 01 21 15 0 -2
//U+0152 Latin Capital Ligature OE
//U+0153 Latin Small Ligature OE
-1 * 0 12 03 00 02 52 01 01 02 52 01 02 02 52 01
-1 sprites/chars.png 50 10 01 13 12 0 -2
-1 sprites/chars.png 300 10 01 13 9 0 -2
-1 sprites/chars.png 50 30 01 5 5 0 1
-1 sprites/chars.png 70 30 01 5 5 0 1
-1 sprites/chars.png 50 40 01 21 19 0 -2
-1 sprites/chars.png 70 40 01 21 13 0 -2
//U+0160 Latin Capital Letter S with caron
//U+0161 Latin Small Letter S with caron
-1 * 0 12 03 00 02 60 01 01 02 60 01 02 02 60 01
-1 sprites/chars.png 90 10 01 13 8 0 -2
-1 sprites/chars.png 110 10 01 13 6 0 -2
-1 sprites/chars.png 90 30 01 6 3 0 0
-1 sprites/chars.png 110 30 01 6 3 0 0
-1 sprites/chars.png 90 40 01 21 9 0 -2
-1 sprites/chars.png 110 40 01 21 6 0 -2
//U+017D Latin Capital Letter Z with caron
//U+017E Latin Small Letter Z with caron
-1 * 0 12 03 00 02 7D 01 01 02 7D 01 02 02 7D 01
-1 sprites/chars.png 120 10 01 13 8 0 -2
-1 sprites/chars.png 140 10 01 13 7 0 -2
-1 sprites/chars.png 120 30 01 6 3 0 0
-1 sprites/chars.png 140 30 01 6 3 0 0
-1 sprites/chars.png 120 40 01 21 12 0 -2
-1 sprites/chars.png 140 40 01 21 7 0 -2
//U+00B0 Degree symbol
-1 * 0 12 03 00 01 B0 00 01 01 B0 00 02 01 B0 00
-1 sprites/chars.png 150 10 01 13 6 0 -2
-1 sprites/chars.png 150 30 01 6 3 0 0
-1 sprites/chars.png 150 40 01 21 7 0 -2
//U+007B Left curly bracket
//U+007C Vertical bar
//U+007C Right Curly Bracket
//U+007D Tilde
-1 * 0 12 03 00 04 7B 00 01 04 7B 00 02 04 7B 00
-1 sprites/chars.png 160 10 01 13 5 0 -2
-1 sprites/chars.png 170 10 01 13 3 0 -2
-1 sprites/chars.png 180 10 01 13 5 0 -2
-1 sprites/chars.png 190 10 01 13 7 0 -2
-1 sprites/chars.png 160 30 01 5 3 0 1
-1 sprites/chars.png 170 30 01 5 1 0 1
-1 sprites/chars.png 180 30 01 5 3 0 1
-1 sprites/chars.png 190 30 01 5 4 0 1
-1 sprites/chars.png 160 40 01 21 6 0 -2
-1 sprites/chars.png 170 40 01 21 3 0 -2
-1 sprites/chars.png 180 40 01 21 6 0 -2
-1 sprites/chars.png 190 40 01 21 12 0 -2
//U+00B7 Middle dot
-1 * 0 12 03 00 01 B7 00 01 01 B7 00 02 01 B7 00
-1 sprites/chars.png 210 10 01 13 3 0 -2
-1 sprites/chars.png 210 30 01 5 1 0 1
-1 sprites/chars.png 210 40 01 21 2 0 -2
//U+0150 Latin Capital Letter O with double acute
//U+0151 Latin Small Letter O with double acute
-1 * 0 12 03 00 02 50 01 01 02 50 01 02 02 50 01
-1 sprites/chars.png 230 10 01 13 9 0 -2
-1 sprites/chars.png 320 10 01 13 6 0 -2
-1 sprites/chars.png 230 30 01 6 4 0 0
-1 sprites/chars.png 220 30 01 6 4 0 0
-1 sprites/chars.png 230 40 01 21 13 0 -2
-1 sprites/chars.png 220 40 01 21 9 0 -2
//U+0170 Latin Capital Letter U with double acute
//U+0171 Latin Small Letter U with double acute
-1 * 0 12 03 00 02 70 01 01 02 70 01 02 02 70 01
-1 sprites/chars.png 260 10 01 13 8 0 -2
-1 sprites/chars.png 250 10 01 13 7 0 -2
-1 sprites/chars.png 260 30 01 6 4 0 0
-1 sprites/chars.png 250 30 01 6 4 0 0
-1 sprites/chars.png 260 40 01 21 14 0 -2
-1 sprites/chars.png 250 40 01 21 9 0 -2
//U+010C Latin Capital Letter C with caron
//U+010D Latin Small Letter C with caron
-1 * 0 12 03 00 02 0C 01 01 02 0C 01 02 02 0C 01
-1 sprites/chars.png 30 70 01 13 9 0 -2
-1 sprites/chars.png 50 70 01 13 6 0 -2
-1 sprites/chars.png 30 90 01 6 3 0 0
-1 sprites/chars.png 50 90 01 6 3 0 0
-1 sprites/chars.png 30 100 01 21 12 0 -2
-1 sprites/chars.png 50 100 01 21 8 0 -2
//U+010E Latin Capital Letter D with caron
//U+010F Latin Small Letter D with caron
-1 * 0 12 03 00 02 0E 01 01 02 0E 01 02 02 0E 01
-1 sprites/chars.png 70 70 01 13 8 0 -2
-1 sprites/chars.png 90 70 01 13 9 0 -2
-1 sprites/chars.png 70 90 01 6 3 0 0
-1 sprites/chars.png 90 90 01 5 5 0 1
-1 sprites/chars.png 70 100 01 21 14 0 -2
-1 sprites/chars.png 90 100 01 21 12 0 -2
//U+011A Latin Capital Letter E with caron
//U+011B Latin Small Letter E with caron
-1 * 0 12 03 00 02 1A 01 01 02 1A 01 02 02 1A 01
-1 sprites/chars.png 110 70 01 13 8 0 -2
-1 sprites/chars.png 130 70 01 13 6 0 -2
-1 sprites/chars.png 110 90 01 6 3 0 0
-1 sprites/chars.png 130 90 01 6 3 0 0
-1 sprites/chars.png 110 100 01 21 13 0 -2
-1 sprites/chars.png 130 100 01 21 8 0 -2
//U+0147 Latin Capital Letter N with caron
//U+0148 Latin Small Letter N with caron
-1 * 0 12 03 00 02 47 01 01 02 47 01 02 02 47 01
-1 sprites/chars.png 150 70 01 13 8 0 -2
-1 sprites/chars.png 170 70 01 13 6 0 -2
-1 sprites/chars.png 150 90 01 6 4 0 0
-1 sprites/chars.png 170 90 01 6 3 0 0
-1 sprites/chars.png 150 100 01 21 16 0 -2
-1 sprites/chars.png 170 100 01 21 10 0 -2
//U+0158 Latin Capital Letter R with caron
//U+0159 Latin Small Letter R with caron
-1 * 0 12 03 00 02 58 01 01 02 58 01 02 02 58 01
-1 sprites/chars.png 190 70 01 13 8 0 -2
-1 sprites/chars.png 210 70 01 13 5 0 -2
-1 sprites/chars.png 190 90 01 6 3 0 0
-1 sprites/chars.png 210 90 01 6 3 0 0
-1 sprites/chars.png 190 100 01 21 12 0 -2
-1 sprites/chars.png 210 100 01 21 6 0 -2
//U+0164 Latin Capital Letter T with caron
//U+0165 Latin Small Letter T with caron
-1 * 0 12 03 00 02 64 01 01 02 64 01 02 02 64 01
-1 sprites/chars.png 230 70 01 13 9 0 -2
-1 sprites/chars.png 250 70 01 13 8 0 -2
-1 sprites/chars.png 230 90 01 6 3 0 0
-1 sprites/chars.png 250 90 01 5 4 0 1
-1 sprites/chars.png 230 100 01 21 13 0 -2
-1 sprites/chars.png 250 100 01 21 7 0 -2
//U+016E Latin Capital Letter U with ring above
//U+016F Latin Small Letter U with ring above
-1 * 0 12 03 00 02 6E 01 01 02 6E 01 02 02 6E 01
-1 sprites/chars.png 270 70 01 13 8 0 -2
-1 sprites/chars.png 290 70 01 13 6 0 -2
-1 sprites/chars.png 270 90 01 6 3 0 0
-1 sprites/chars.png 290 90 01 6 3 0 0
-1 sprites/chars.png 270 100 01 21 14 0 -2
-1 sprites/chars.png 290 100 01 21 8 0 -2
//U+0106 Latin Capital Letter C with acute
//U+0107 Latin Small Letter C with acute
-1 * 0 12 03 00 02 06 01 01 02 06 01 02 02 06 01
-1 sprites/chars.png 310 70 01 13 9 0 -2
-1 sprites/chars.png 330 70 01 13 6 0 -2
-1 sprites/chars.png 310 90 01 6 3 0 0
-1 sprites/chars.png 330 90 01 6 3 0 0
-1 sprites/chars.png 310 100 01 21 12 0 -2
-1 sprites/chars.png 330 100 01 21 8 0 -2
//U+0110 Latin Capital Letter D with stroke
//U+0111 Latin Small Letter D with stroke
-1 * 0 12 03 00 02 10 01 01 02 10 01 02 02 10 01
-1 sprites/chars.png 350 70 01 13 9 0 -2
-1 sprites/chars.png 370 70 01 13 7 0 -2
-1 sprites/chars.png 350 90 01 5 4 0 1
-1 sprites/chars.png 370 90 01 6 4 0 0
-1 sprites/chars.png 350 100 01 21 14 0 -2
-1 sprites/chars.png 370 100 01 21 9 0 -2
//U+013D Latin Capital Letter L with caron
//U+013E Latin Small Letter L with caron
-1 * 0 12 03 00 02 3D 01 01 02 3D 01 02 02 3D 01
-1 sprites/chars.png 390 70 01 13 7 0 -2
-1 sprites/chars.png 410 70 01 13 6 0 -2
-1 sprites/chars.png 390 90 01 5 5 0 1
-1 sprites/chars.png 410 90 01 5 3 0 1
-1 sprites/chars.png 390 100 01 21 12 0 -2
-1 sprites/chars.png 410 100 01 21 7 0 -2
//U+00B4 Acute accent
-1 * 0 12 03 00 01 B4 00 01 01 B4 00 02 01 B4 00
-1 sprites/chars.png 30 130 01 13 4 0 -2
-1 sprites/chars.png 30 150 01 5 1 0 1
-1 sprites/chars.png 30 160 01 21 3 0 -2
//U+00BD Vulgar fraction one half
-1 * 0 12 03 00 01 BD 00 01 01 BD 00 02 01 BD 00
-1 sprites/chars.png 40 130 01 13 11 0 -2
-1 sprites/chars.png 40 150 01 5 9 0 1
-1 sprites/chars.png 40 160 01 21 11 0 -2
//U+00B5 Micro sign
-1 * 0 12 03 00 01 B5 00 01 01 B5 00 02 01 B5 00
-1 sprites/chars.png 60 130 01 13 6 0 -2
-1 sprites/chars.png 60 150 01 5 3 0 1
-1 sprites/chars.png 60 160 01 21 10 0 -2
//U+00AA Feminine Ordinal Indicator
-1 * 0 12 03 00 01 AA 00 01 01 AA 00 02 01 AA 00
-1 sprites/chars.png 80 130 01 13 5 0 -2
-1 sprites/chars.png 80 150 01 5 1 0 1
-1 sprites/chars.png 80 160 01 21 6 0 -2
//U+2019 RIGHT SINGLE QUOTATION MARK
-1 * 0 12 03 00 01 19 20 01 01 19 20 02 01 19 20
-1 sprites/chars.png 90 130 01 13 3 0 -2
-1 sprites/chars.png 90 150 01 5 1 0 1
-1 sprites/chars.png 90 160 01 21 4 0 -2
//U+201E DOUBLE LOW-9 QUOTATION MARK
-1 * 0 12 03 00 01 1E 20 01 01 1E 20 02 01 1E 20
-1 sprites/chars.png 100 130 01 13 5 0 -2
-1 sprites/chars.png 100 150 01 5 3 0 1
-1 sprites/chars.png 100 160 01 21 8 0 -2
//U+201C LEFT DOUBLE QUOTATION MARK
-1 * 0 12 03 00 01 1C 20 01 01 1C 20 02 01 1C 20
-1 sprites/chars.png 110 130 01 13 5 0 -2
-1 sprites/chars.png 110 150 01 5 3 0 1
-1 sprites/chars.png 110 160 01 21 8 0 -2
//U+203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-1 * 0 12 03 00 01 3A 20 01 01 3A 20 02 01 3A 20
-1 sprites/chars.png 760 130 01 13 5 0 -2
-1 sprites/chars.png 760 150 01 5 2 0 1
-1 sprites/chars.png 760 160 01 21 4 0 -2
//U+2013 EN DASH
-1 * 0 12 03 00 01 13 20 01 01 13 20 02 01 13 20
-1 sprites/chars.png 120 130 01 13 7 0 -2
-1 sprites/chars.png 120 150 01 5 4 0 1
-1 sprites/chars.png 120 160 01 21 9 0 -2
//U+0174 Latin Capital Letter W with circumflex
//U+0175 Latin Small Letter W with circumflex
-1 * 0 12 03 00 02 74 01 01 02 74 01 02 02 74 01
-1 sprites/chars.png 420 70 01 13 12 0 -2
-1 sprites/chars.png 440 70 01 13 10 0 -2
-1 sprites/chars.png 420 90 01 6 5 0 0
-1 sprites/chars.png 440 90 01 6 5 0 0
-1 sprites/chars.png 420 100 01 21 18 0 -2
-1 sprites/chars.png 440 100 01 21 13 0 -2
//U+0176 Latin Capital Letter Y with circumflex
//U+0177 Latin Small Letter Y with circumflex
-1 * 0 12 03 00 02 76 01 01 02 76 01 02 02 76 01
-1 sprites/chars.png 460 70 01 13 9 0 -2
-1 sprites/chars.png 480 70 01 13 7 0 -2
-1 sprites/chars.png 460 90 01 6 3 0 0
-1 sprites/chars.png 480 90 01 6 3 0 0
-1 sprites/chars.png 460 100 01 21 13 0 -2
-1 sprites/chars.png 480 100 01 21 9 0 -2
//U+0108 Latin Capital Letter C with circumflex
//U+0109 Latin Small Letter C with circumflex
-1 * 0 12 03 00 02 08 01 01 02 08 01 02 02 08 01
-1 sprites/chars.png 500 70 01 13 9 0 -2
-1 sprites/chars.png 520 70 01 13 6 0 -2
-1 sprites/chars.png 500 90 01 6 3 0 0
-1 sprites/chars.png 520 90 01 6 3 0 0
-1 sprites/chars.png 500 100 01 21 12 0 -2
-1 sprites/chars.png 520 100 01 21 8 0 -2
//U+011C Latin Capital Letter G with circumflex
//U+011D Latin Small Letter G with circumflex
-1 * 0 12 03 00 02 1C 01 01 02 1C 01 02 02 1C 01
-1 sprites/chars.png 540 70 01 13 9 0 -2
-1 sprites/chars.png 560 70 01 13 6 0 -2
-1 sprites/chars.png 540 90 01 6 3 0 0
-1 sprites/chars.png 560 90 01 6 3 0 0
-1 sprites/chars.png 540 100 01 21 13 0 -2
-1 sprites/chars.png 560 100 01 21 10 0 -2
//U+0124 Latin Capital Letter H with circumflex
//U+0125 Latin Small Letter H with circumflex
-1 * 0 12 03 00 02 24 01 01 02 24 01 02 02 24 01
-1 sprites/chars.png 580 70 01 13 8 0 -2
-1 sprites/chars.png 600 70 01 13 8 0 -2
-1 sprites/chars.png 580 90 01 6 3 0 0
-1 sprites/chars.png 600 90 01 6 3 0 0
-1 sprites/chars.png 580 100 01 21 15 0 -2
-1 sprites/chars.png 600 100 01 21 10 0 -2
//U+0134 Latin Capital Letter J with circumflex
//U+0135 Latin Small Letter J with circumflex
-1 * 0 12 03 00 02 34 01 01 02 34 01 02 02 34 01
-1 sprites/chars.png 620 70 01 13 7 0 -2
-1 sprites/chars.png 640 70 01 13 6 0 -2
-1 sprites/chars.png 620 90 01 6 3 0 0
-1 sprites/chars.png 640 90 01 6 3 0 0
-1 sprites/chars.png 620 100 01 21 8 0 -2
-1 sprites/chars.png 640 100 01 21 5 0 -2
//U+016C Latin Capital Letter U with breve
//U+016D Latin Small Letter U with breve
-1 * 0 12 03 00 02 6C 01 01 02 6C 01 02 02 6C 01
-1 sprites/chars.png 650 70 01 13 8 0 -2
-1 sprites/chars.png 670 70 01 13 6 0 -2
-1 sprites/chars.png 650 90 01 6 3 0 0
-1 sprites/chars.png 670 90 01 6 3 0 0
-1 sprites/chars.png 650 100 01 21 14 0 -2
-1 sprites/chars.png 670 100 01 21 9 0 -2
//U+0102 Latin Capital Letter A with breve
//U+0103 Latin Small Letter A with breve
-1 * 0 12 03 00 02 02 01 01 02 02 01 02 02 02 01
-1 sprites/chars.png 690 70 01 13 9 0 -2
-1 sprites/chars.png 710 70 01 13 7 0 -2
-1 sprites/chars.png 690 90 01 6 3 0 0
-1 sprites/chars.png 710 90 01 6 3 0 0
-1 sprites/chars.png 690 100 01 21 14 0 -2
-1 sprites/chars.png 710 100 01 21 8 0 -2
//U+015E Latin Capital Letter S with cedilla
//U+015F Latin Small Letter S with cedilla
-1 * 0 12 03 00 02 5E 01 01 02 5E 01 02 02 5E 01
-1 sprites/chars.png 730 70 01 13 8 0 -2
-1 sprites/chars.png 740 70 01 13 6 0 -2
-1 sprites/chars.png 730 90 01 6 3 0 1
-1 sprites/chars.png 740 90 01 6 3 0 1
-1 sprites/chars.png 730 100 01 21 9 0 -2
-1 sprites/chars.png 740 100 01 21 6 0 -2
//U+0162 Latin Capital Letter T with cedilla
//U+0163 Latin Small Letter T with cedilla
-1 * 0 12 03 00 02 62 01 01 02 62 01 02 02 62 01
-1 sprites/chars.png 750 70 01 13 9 0 -2
-1 sprites/chars.png 770 70 01 13 6 0 -2
-1 sprites/chars.png 750 90 01 6 3 0 1
-1 sprites/chars.png 770 90 01 6 2 0 1
-1 sprites/chars.png 750 100 01 21 13 0 -2
-1 sprites/chars.png 770 100 01 21 5 0 -2
//U+011E Latin Capital Letter G with breve
//U+011F Latin Small Letter G with breve
-1 * 0 12 03 00 02 1E 01 01 02 1E 01 02 02 1E 01
-1 sprites/chars.png 140 130 01 13 9 0 -2
-1 sprites/chars.png 160 130 01 13 6 0 -2
-1 sprites/chars.png 140 150 01 6 3 0 0
-1 sprites/chars.png 160 150 01 6 3 0 0
-1 sprites/chars.png 140 160 01 21 13 0 -2
-1 sprites/chars.png 160 160 01 21 10 0 -2
//U+0130 Latin Capital Letter I with dot above
//U+0131 Latin Small Letter dotless I
-1 * 0 12 03 00 02 30 01 01 02 30 01 02 02 30 01
-1 sprites/chars.png 180 130 01 13 3 0 -2
-1 sprites/chars.png 190 130 01 13 3 0 -2
-1 sprites/chars.png 180 150 01 6 1 0 0
-1 sprites/chars.png 190 150 01 5 1 0 1
-1 sprites/chars.png 180 160 01 21 7 0 -2
-1 sprites/chars.png 190 160 01 21 4 0 -2
//U+0122 Latin Capital Letter G with cedilla
//U+0123 Latin Small Letter G with cedilla
-1 * 0 12 03 00 02 22 01 01 02 22 01 02 02 22 01
-1 sprites/chars.png 200 130 01 13 9 0 -2
-1 sprites/chars.png 220 130 01 13 6 0 -2
-1 sprites/chars.png 200 150 01 6 3 0 0
-1 sprites/chars.png 220 150 01 6 3 0 1
-1 sprites/chars.png 200 160 01 21 13 0 -2
-1 sprites/chars.png 220 160 01 21 10 0 -2
//U+0136 Latin Capital Letter K with cedilla
//U+0137 Latin Small Letter K with cedilla
-1 * 0 12 03 00 02 36 01 01 02 36 01 02 02 36 01
-1 sprites/chars.png 240 130 01 13 8 0 -2
-1 sprites/chars.png 260 130 01 13 7 0 -2
-1 sprites/chars.png 240 150 01 6 3 0 1
-1 sprites/chars.png 260 150 01 6 3 0 1
-1 sprites/chars.png 240 160 01 21 14 0 -2
-1 sprites/chars.png 260 160 01 21 10 0 -2
//U+013B Latin Capital Letter L with cedilla
//U+013C Latin Small Letter L with cedilla
-1 * 0 12 03 00 02 3B 01 01 02 3B 01 02 02 3B 01
-1 sprites/chars.png 280 130 01 13 7 0 -2
-1 sprites/chars.png 300 130 01 13 4 0 -2
-1 sprites/chars.png 280 150 01 6 3 0 1
-1 sprites/chars.png 300 150 01 6 2 0 1
-1 sprites/chars.png 280 160 01 21 12 0 -2
-1 sprites/chars.png 300 160 01 21 5 0 -2
//U+0145 Latin Capital Letter N with cedilla
//U+0146 Latin Small Letter N with cedilla
-1 * 0 12 03 00 02 45 01 01 02 45 01 02 02 45 01
-1 sprites/chars.png 310 130 01 13 8 0 -2
-1 sprites/chars.png 330 130 01 13 6 0 -2
-1 sprites/chars.png 310 150 01 6 4 0 1
-1 sprites/chars.png 330 150 01 6 3 0 1
-1 sprites/chars.png 310 160 01 21 16 0 -2
-1 sprites/chars.png 330 160 01 21 10 0 -2
//U+0100 Latin Capital Letter A with macron
//U+0101 Latin Small Letter A with macron
-1 * 0 12 03 00 02 00 01 01 02 00 01 02 02 00 01
-1 sprites/chars.png 350 130 01 13 9 0 -2
-1 sprites/chars.png 370 130 01 13 7 0 -2
-1 sprites/chars.png 350 150 01 6 3 0 0
-1 sprites/chars.png 370 150 01 6 3 0 0
-1 sprites/chars.png 350 160 01 21 14 0 -2
-1 sprites/chars.png 370 160 01 21 8 0 -2
//U+0112 Latin Capital Letter E with macron
//U+0113 Latin Small Letter E with macron
-1 * 0 12 03 00 02 12 01 01 02 12 01 02 02 12 01
-1 sprites/chars.png 380 130 01 13 8 0 -2
-1 sprites/chars.png 400 130 01 13 6 0 -2
-1 sprites/chars.png 380 150 01 6 3 0 0
-1 sprites/chars.png 400 150 01 6 3 0 0
-1 sprites/chars.png 380 160 01 21 13 0 -2
-1 sprites/chars.png 400 160 01 21 8 0 -2
//U+012A Latin Capital Letter I with macron
//U+012B Latin Small Letter I with macron
-1 * 0 12 03 00 02 2A 01 01 02 2A 01 02 02 2A 01
-1 sprites/chars.png 410 130 01 13 5 0 -2
-1 sprites/chars.png 420 130 01 13 5 0 -2
-1 sprites/chars.png 410 150 01 6 3 0 0
-1 sprites/chars.png 420 150 01 6 3 0 0
-1 sprites/chars.png 410 160 01 21 7 0 -2
-1 sprites/chars.png 420 160 01 21 4 0 -2
//U+016A Latin Capital Letter U with macron
//U+016B Latin Small Letter U with macron
-1 * 0 12 03 00 02 6A 01 01 02 6A 01 02 02 6A 01
-1 sprites/chars.png 430 130 01 13 8 0 -2
-1 sprites/chars.png 450 130 01 13 6 0 -2
-1 sprites/chars.png 430 150 01 6 3 0 0
-1 sprites/chars.png 450 150 01 6 3 0 0
-1 sprites/chars.png 430 160 01 21 14 0 -2
-1 sprites/chars.png 450 160 01 21 9 0 -2
//U+0143 Latin Capital Letter N with acute
//U+0144 Latin Small Letter N with acute
-1 * 0 12 03 00 02 43 01 01 02 43 01 02 02 43 01
-1 sprites/chars.png 470 130 01 13 8 0 -2
-1 sprites/chars.png 490 130 01 13 6 0 -2
-1 sprites/chars.png 470 150 01 6 4 0 0
-1 sprites/chars.png 490 150 01 6 3 0 0
-1 sprites/chars.png 470 160 01 21 16 0 -2
-1 sprites/chars.png 490 160 01 21 10 0 -2
//U+015A Latin Capital Letter S with acute
//U+015B Latin Small Letter S with acute
-1 * 0 12 03 00 02 5A 01 01 02 5A 01 02 02 5A 01
-1 sprites/chars.png 510 130 01 13 8 0 -2
-1 sprites/chars.png 520 130 01 13 6 0 -2
-1 sprites/chars.png 510 150 01 6 3 0 0
-1 sprites/chars.png 520 150 01 6 3 0 0
-1 sprites/chars.png 510 160 01 21 9 0 -2
-1 sprites/chars.png 520 160 01 21 6 0 -2
//U+017B Latin Capital Letter Z with dot above
//U+017C Latin Small Letter Z with dot above
-1 * 0 12 03 00 02 7B 01 01 02 7B 01 02 02 7B 01
-1 sprites/chars.png 530 130 01 13 8 0 -2
-1 sprites/chars.png 550 130 01 13 7 0 -2
-1 sprites/chars.png 530 150 01 6 3 0 0
-1 sprites/chars.png 550 150 01 6 3 0 0
-1 sprites/chars.png 530 160 01 21 12 0 -2
-1 sprites/chars.png 550 160 01 21 7 0 -2
//U+0179 Latin Capital Letter Z with acute
//U+017A Latin Small Letter Z with acute
-1 * 0 12 03 00 02 79 01 01 02 79 01 02 02 79 01
-1 sprites/chars.png 770 130 01 13 8 0 -2
-1 sprites/chars.png 790 130 01 13 7 0 -2
-1 sprites/chars.png 770 150 01 6 3 0 0
-1 sprites/chars.png 790 150 01 6 3 0 0
-1 sprites/chars.png 770 160 01 21 12 0 -2
-1 sprites/chars.png 790 160 01 21 7 0 -2
//U+0139 Latin Capital Letter L with acute
//U+013A Latin Small Letter L with acute
-1 * 0 12 03 00 02 39 01 01 02 39 01 02 02 39 01
-1 sprites/chars.png 30 190 01 13 7 0 -2
-1 sprites/chars.png 50 190 01 13 4 0 -2
-1 sprites/chars.png 30 210 01 6 3 0 0
-1 sprites/chars.png 50 210 01 6 2 0 0
-1 sprites/chars.png 30 220 01 21 12 0 -2
-1 sprites/chars.png 50 220 01 21 5 0 -2
//U+0141 Latin Capital Letter L with stroke
//U+0142 Latin Small Letter L with stroke
-1 * 0 12 03 00 02 41 01 01 02 41 01 02 02 41 01
-1 sprites/chars.png 560 130 01 13 8 0 -2
-1 sprites/chars.png 580 130 01 13 5 0 -2
-1 sprites/chars.png 560 150 01 5 4 0 1
-1 sprites/chars.png 580 150 01 5 3 0 1
-1 sprites/chars.png 560 160 01 21 12 0 -2
-1 sprites/chars.png 580 160 01 21 6 0 -2
//U+0104 Latin Capital Letter A with ogonek
//U+0105 Latin Small Letter A with ogonek
-1 * 0 12 03 00 02 04 01 01 02 04 01 02 02 04 01
-1 sprites/chars.png 590 130 01 13 9 0 -2
-1 sprites/chars.png 610 130 01 13 7 0 -2
-1 sprites/chars.png 590 150 01 6 3 0 1
-1 sprites/chars.png 610 150 01 6 3 0 1
-1 sprites/chars.png 590 160 01 21 14 0 -2
-1 sprites/chars.png 610 160 01 21 8 0 -2
//U+0118 Latin Capital Letter E with ogonek
//U+0119 Latin Small Letter E with ogonek
-1 * 0 12 03 00 02 18 01 01 02 18 01 02 02 18 01
-1 sprites/chars.png 620 130 01 13 8 0 -2
-1 sprites/chars.png 640 130 01 13 6 0 -2
-1 sprites/chars.png 620 150 01 6 3 0 1
-1 sprites/chars.png 640 150 01 6 3 0 1
-1 sprites/chars.png 620 160 01 21 13 0 -2
-1 sprites/chars.png 640 160 01 21 8 0 -2
//U+012E Latin Capital Letter I with ogonek
//U+012F Latin Small Letter I with ogonek
-1 * 0 12 03 00 02 2E 01 01 02 2E 01 02 02 2E 01
-1 sprites/chars.png 650 130 01 13 4 0 -2
-1 sprites/chars.png 660 130 01 13 4 0 -2
-1 sprites/chars.png 650 150 01 6 2 0 1
-1 sprites/chars.png 660 150 01 6 2 0 1
-1 sprites/chars.png 650 160 01 21 7 0 -2
-1 sprites/chars.png 660 160 01 21 4 0 -2
//U+0172 Latin Capital Letter U with ogonek
//U+0173 Latin Small Letter U with ogonek
-1 * 0 12 03 00 02 72 01 01 02 72 01 02 02 72 01
-1 sprites/chars.png 670 130 01 13 8 0 -2
-1 sprites/chars.png 690 130 01 13 7 0 -2
-1 sprites/chars.png 670 150 01 6 3 0 1
-1 sprites/chars.png 690 150 01 6 3 0 1
-1 sprites/chars.png 670 160 01 21 14 0 -2
-1 sprites/chars.png 690 160 01 21 9 0 -2
//U+0116 Latin Capital Letter E with dot above
//U+0117 Latin Small Letter E with dot above
-1 * 0 12 03 00 02 16 01 01 02 16 01 02 02 16 01
-1 sprites/chars.png 710 130 01 13 8 0 -2
-1 sprites/chars.png 730 130 01 13 6 0 -2
-1 sprites/chars.png 710 150 01 6 3 0 0
-1 sprites/chars.png 730 150 01 6 3 0 0
-1 sprites/chars.png 710 160 01 21 13 0 -2
-1 sprites/chars.png 730 160 01 21 8 0 -2
//U+015C Latin Capital Letter S with circumflex
//U+015D Latin Small Letter S with circumflex
-1 * 0 12 03 00 02 5C 01 01 02 5C 01 02 02 5C 01
-1 sprites/chars.png 740 130 01 13 8 0 -2
-1 sprites/chars.png 750 130 01 13 6 0 -2
-1 sprites/chars.png 740 150 01 6 3 0 0
-1 sprites/chars.png 750 150 01 6 3 0 0
-1 sprites/chars.png 740 160 01 21 9 0 -2
-1 sprites/chars.png 750 160 01 21 6 0 -2
// Large font only
//U+00C6 Latin Capital letter AE
-1 * 0 12 01 02 01 C6 00
-1 sprites/chars.png 300 40 01 21 19 0 -2
//U+00E6 Latin Small Letter AE
-1 * 0 12 01 02 01 E6 00
-1 sprites/chars.png 280 40 01 21 13 0 -2
//U+00D8 Latin Capital letter O with stroke
-1 * 0 12 01 02 01 D8 00
-1 sprites/chars.png 330 40 01 21 13 0 -2
//U+00F8 Latin Small Letter O with stroke
-1 * 0 12 01 02 01 F8 00
-1 sprites/chars.png 320 40 01 21 9 0 -2
//U+00D0 Latin Capital letter Eth
-1 * 0 12 01 02 01 D0 00
-1 sprites/chars.png 350 40 01 21 14 0 -2
//U+00F0 Latin Small Letter Eth
-1 * 0 12 01 02 01 F0 00
-1 sprites/chars.png 370 40 01 21 9 0 -2
//U+00DE Latin Capital Letter Thorn
-1 * 0 12 01 02 01 DE 00
-1 sprites/chars.png 380 40 01 21 14 0 -2
//U+00FE Latin Small Letter Thorn
-1 * 0 12 01 02 01 FE 00
-1 sprites/chars.png 400 40 01 21 14 0 -2
//U+00A7 Section sign
-1 * 0 12 01 02 01 A7 00
-1 sprites/chars.png 420 40 01 21 9 0 -2
//U+00A9 Copyright sign
-1 * 0 12 01 02 01 A9 00
-1 sprites/chars.png 430 40 01 21 16 0 -2
//U+00AE Registered sign
-1 * 0 12 01 02 01 AE 00
-1 sprites/chars.png 150 40 01 21 7 0 -2
//U+00B1 Plus-minus sign
//U+00B2 Superscript two
//U+00B3 Superscript three
-1 * 0 12 01 02 03 B1 00
-1 sprites/chars.png 480 40 01 21 9 0 -2
-1 sprites/chars.png 490 40 01 21 6 0 -2
-1 sprites/chars.png 500 40 01 21 5 0 -2
//U+00D7 Multiplication sign
-1 * 0 12 01 02 01 D7 00
-1 sprites/chars.png 510 40 01 21 8 0 -2
//U+00F7 Division sign
-1 * 0 12 01 02 01 F7 00
-1 sprites/chars.png 520 40 01 21 9 0 -2

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

View File

@@ -1,58 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Electrified rail by Michael Blunck"
-1 * 3 05 05 30
-1 sprites/elrails.png 66 8 01 16 32 -29 -2
-1 sprites/elrails.png 114 8 01 16 32 -1 -2
-1 sprites/elrails.png 162 8 01 1 32 -1 -2
-1 sprites/elrails.png 210 8 01 16 1 0 -3
-1 sprites/elrails.png 226 8 01 24 32 -29 -2
-1 sprites/elrails.png 274 8 01 9 32 -1 6
-1 sprites/elrails.png 322 8 01 9 32 -29 6
-1 sprites/elrails.png 370 8 01 24 32 -1 -2
-1 sprites/elrails.png 418 8 01 16 32 -29 -2
-1 sprites/elrails.png 466 8 01 16 32 -1 -2
-1 sprites/elrails.png 514 8 01 1 32 -1 -2
-1 sprites/elrails.png 562 8 01 16 1 0 -3
-1 sprites/elrails.png 578 8 01 24 32 -29 -2
-1 sprites/elrails.png 626 8 01 9 32 -1 6
-1 sprites/elrails.png 674 8 01 9 32 -29 6
-1 sprites/elrails.png 722 8 01 24 32 -1 -2
-1 sprites/elrails.png 2 56 01 16 32 -29 -2
-1 sprites/elrails.png 50 56 01 16 32 -1 -2
-1 sprites/elrails.png 98 56 01 1 32 -1 -2
-1 sprites/elrails.png 146 56 01 16 1 0 -3
-1 sprites/elrails.png 162 56 01 24 32 -29 -2
-1 sprites/elrails.png 210 56 01 9 32 -1 6
-1 sprites/elrails.png 258 56 01 9 32 -29 6
-1 sprites/elrails.png 306 56 01 24 32 -1 -2
-1 sprites/elrails.png 354 56 01 8 16 -29 6
-1 sprites/elrails.png 386 56 01 8 16 -1 -2
-1 sprites/elrails.png 418 56 01 8 16 -13 -2
-1 sprites/elrails.png 450 56 01 8 16 15 6
-1 sprites/elrails.png 482 56 01 16 8 -7 -14
-1 sprites/elrails.png 498 56 01 18 8 0 -17
-1 sprites/elrails.png 514 56 01 16 8 0 -14
-1 sprites/elrails.png 530 56 01 18 8 -7 -17
-1 sprites/elrails.png 546 56 01 16 2 0 -15
-1 sprites/elrails.png 562 56 01 18 2 0 -16
-1 sprites/elrails.png 578 56 01 16 8 0 -15
-1 sprites/elrails.png 594 56 01 16 8 -7 -15
-1 sprites/elrails.png 610 56 09 16 13 4 2
-1 sprites/elrails.png 642 56 09 16 20 0 2
-1 sprites/elrails.png 674 56 09 16 20 0 2
-1 sprites/elrails.png 706 56 09 16 20 0 2
-1 sprites/elrails.png 738 56 03 30 38 -3 -14
-1 sprites/elrails.png 2 104 03 44 72 -16 -8
-1 sprites/elrails.png 82 104 03 35 44 -21 -2
-1 sprites/elrails.png 146 104 03 44 72 -16 -35
-1 sprites/elrails.png 226 104 09 19 20 0 1
-1 sprites/elrails.png 258 104 03 32 32 0 0
-1 sprites/elrails.png 306 104 01 22 12 -9 -18
-1 sprites/elrails.png 338 104 01 22 12 -1 -18

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -1,200 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Fixing (alignment) bugs in the orignal graphics. By Addi."
-1 * 6 07 83 01 \7= 03 69
// Different graphics for same wood truck
-1 * 14 0A 04 01 87 0C 01 89 0C 01 07 0E 01 09 0E
-1 sprites/fix_graphics.png 82 8 09 16 22 -6 -7
-1 sprites/fix_graphics.png 114 8 09 16 22 -14 -7
-1 sprites/fix_graphics.png 146 8 09 16 22 -6 -7
-1 sprites/fix_graphics.png 178 8 09 16 22 -14 -7
// Different graphics for lots of trucks
-1 * 5 0A 01 28 C4 0D
-1 sprites/fix_graphics.png 226 8 01 18 8 -3 -10
-1 sprites/fix_graphics.png 242 8 09 16 20 -14 -7
-1 sprites/fix_graphics.png 274 8 01 12 28 -14 -6
-1 sprites/fix_graphics.png 322 8 09 16 20 -6 -7
-1 sprites/fix_graphics.png 354 8 01 18 8 -3 -10
-1 sprites/fix_graphics.png 370 8 09 16 20 -14 -7
-1 sprites/fix_graphics.png 402 8 01 12 28 -14 -6
-1 sprites/fix_graphics.png 450 8 09 16 20 -6 -7
-1 sprites/fix_graphics.png 482 8 01 18 8 -3 -10
-1 sprites/fix_graphics.png 498 8 09 16 20 -14 -7
-1 sprites/fix_graphics.png 530 8 01 12 28 -14 -6
-1 sprites/fix_graphics.png 578 8 09 16 20 -6 -7
-1 sprites/fix_graphics.png 610 8 01 18 8 -3 -10
-1 sprites/fix_graphics.png 626 8 09 16 20 -14 -7
-1 sprites/fix_graphics.png 658 8 01 12 28 -14 -6
-1 sprites/fix_graphics.png 706 8 09 16 20 -6 -7
-1 sprites/fix_graphics.png 738 8 01 18 8 -3 -10
-1 sprites/fix_graphics.png 754 8 09 16 22 -14 -7
-1 sprites/fix_graphics.png 2 40 01 12 28 -14 -6
-1 sprites/fix_graphics.png 50 40 09 16 22 -6 -7
-1 sprites/fix_graphics.png 82 40 01 18 8 -3 -10
-1 sprites/fix_graphics.png 98 40 09 16 22 -14 -7
-1 sprites/fix_graphics.png 130 40 01 12 28 -14 -6
-1 sprites/fix_graphics.png 178 40 09 16 22 -6 -7
-1 sprites/fix_graphics.png 210 40 01 18 8 -3 -10
-1 sprites/fix_graphics.png 226 40 09 16 22 -14 -7
-1 sprites/fix_graphics.png 258 40 01 12 28 -14 -6
-1 sprites/fix_graphics.png 306 40 09 16 22 -6 -7
-1 sprites/fix_graphics.png 338 40 01 18 8 -3 -10
-1 sprites/fix_graphics.png 354 40 09 16 22 -14 -7
-1 sprites/fix_graphics.png 386 40 01 12 28 -14 -6
-1 sprites/fix_graphics.png 434 40 09 16 22 -6 -7
-1 sprites/fix_graphics.png 466 40 01 18 8 -3 -10
-1 sprites/fix_graphics.png 482 40 09 16 20 -14 -7
-1 sprites/fix_graphics.png 514 40 01 12 28 -14 -6
-1 sprites/fix_graphics.png 562 40 09 16 20 -6 -7
-1 sprites/fix_graphics.png 594 40 01 18 8 -3 -10
-1 sprites/fix_graphics.png 610 40 09 16 20 -14 -7
-1 sprites/fix_graphics.png 642 40 01 12 28 -14 -6
-1 sprites/fix_graphics.png 690 40 09 16 20 -6 -7
// Different graphics for same truck
-1 * 14 0A 04 01 9D 0C 01 9F 0C 01 A1 0C 01 A3 0C
-1 sprites/fix_graphics.png 738 40 09 16 22 -14 -7
-1 sprites/fix_graphics.png 770 40 09 16 22 -6 -7
-1 sprites/fix_graphics.png 2 72 09 16 22 -14 -7
-1 sprites/fix_graphics.png 34 72 09 16 22 -6 -7
// Different graphics for same paper truck
-1 * 14 0A 04 01 5D 0D 01 5F 0D 01 61 0D 01 63 0D
-1 sprites/fix_graphics.png 82 72 09 16 22 -14 -7
-1 sprites/fix_graphics.png 114 72 09 17 22 -5 -7
-1 sprites/fix_graphics.png 146 72 09 17 22 -14 -8
-1 sprites/fix_graphics.png 178 72 09 16 22 -6 -7
// Different graphics for same paper truck (truck #2)
-1 * 14 0A 04 01 1D 0E 01 1F 0E 01 21 0E 01 23 0E
-1 sprites/fix_graphics.png 226 72 09 16 22 -14 -7
-1 sprites/fix_graphics.png 258 72 09 16 22 -6 -7
-1 sprites/fix_graphics.png 290 72 09 16 22 -14 -7
-1 sprites/fix_graphics.png 322 72 09 16 22 -6 -7
// Misaligned monorail bridge heads
-1 * 8 0A 02 01 EA 10 02 EC 10
-1 sprites/fix_graphics.png 370 72 09 35 48 -23 -7
-1 sprites/fix_graphics.png 434 72 09 35 48 -23 -7
-1 sprites/fix_graphics.png 498 72 09 21 49 -24 3
// Improperly cut cinema
-1 * 5 0A 01 02 34 11
-1 sprites/fix_graphics.png 578 72 09 31 64 -31 0
-1 sprites/fix_graphics.png 658 72 09 47 50 -28 -20
// Misaligned undergrounds for temperate monorail
-1 * 6 07 83 01 \7! 00 06
-1 * 5 0A 01 05 4C 04
-1 sprites/fix_graphics.png 2 136 09 31 64 -31 0
-1 sprites/fix_graphics.png 82 136 09 31 64 -31 0
-1 sprites/fix_graphics.png 162 136 09 31 64 -31 0
-1 sprites/fix_graphics.png 242 136 09 31 64 -31 0
-1 sprites/fix_graphics.png 322 136 09 31 64 -31 0
// Misaligned undergrounds for arctic monorail
-1 * 6 07 83 01 \7! 01 06
-1 * 5 0A 01 05 4C 04
-1 sprites/fix_graphics.png 434 136 09 31 64 -31 0
-1 sprites/fix_graphics.png 514 136 09 31 64 -31 0
-1 sprites/fix_graphics.png 594 136 09 31 64 -31 0
-1 sprites/fix_graphics.png 674 136 09 31 64 -31 0
-1 sprites/fix_graphics.png 2 184 09 31 64 -31 0
// Misaligned undergrounds for tropical/desert monorail/maglev
-1 * 6 07 83 01 \7! 02 10
-1 * 11 0A 03 05 4C 04 05 66 04 05 B8 04
-1 sprites/fix_graphics.png 114 184 09 31 64 -31 0
-1 sprites/fix_graphics.png 194 184 09 31 64 -31 0
-1 sprites/fix_graphics.png 274 184 09 31 64 -31 0
-1 sprites/fix_graphics.png 354 184 09 31 64 -31 0
-1 sprites/fix_graphics.png 434 184 09 31 64 -31 0
-1 sprites/fix_graphics.png 514 184 09 31 64 -31 0
-1 sprites/fix_graphics.png 594 184 09 31 64 -31 0
-1 sprites/fix_graphics.png 674 184 09 31 64 -31 0
-1 sprites/fix_graphics.png 2 232 09 31 64 -31 0
-1 sprites/fix_graphics.png 82 232 09 31 64 -31 0
-1 sprites/fix_graphics.png 162 232 09 31 64 -31 0
-1 sprites/fix_graphics.png 242 232 09 31 64 -31 0
-1 sprites/fix_graphics.png 322 232 09 31 64 -31 0
-1 sprites/fix_graphics.png 402 232 09 31 64 -31 0
-1 sprites/fix_graphics.png 482 232 09 31 64 -31 0
// Misaligned monorail snowed X crossing
-1 * 6 07 83 01 \7! 01 02
-1 * 5 0A 01 01 65 04
-1 sprites/fix_graphics.png 594 232 09 31 64 -31 0
// Floating tropical house
-1 * 6 07 83 01 \7! 02 02
-1 * 5 0A 01 01 FF 11
-1 sprites/fix_graphics.png 706 232 09 47 64 -31 -16
// Clipped vehicle in the original German DOS graphics
-1 * 6 07 83 01 \7! 03 02
-1 * 5 0A 01 01 5D 0C
-1 sprites/fix_graphics.png 18 296 09 16 20 -14 -7
// Graphics metadata pixel higher than actual graphics
-1 * 6 12 01 00 01 AC E2
-1 sprites/fix_graphics.png 66 296 01 10 9 0 0
// Non-toyland specific
-1 * 6 07 83 01 \7= 03 0A
// graphics for the tubular bridge pillars had incorrect offsets
-1 * 5 0A 01 04 05 0A
-1 sprites/fix_graphics.png 98 296 09 9 4 2 -1
-1 sprites/fix_graphics.png 114 296 09 9 4 2 -1
-1 sprites/fix_graphics.png 130 296 09 9 4 -4 0
-1 sprites/fix_graphics.png 146 296 09 9 4 -4 0
// graphics for the cantilever bridge pillars had incorrect offsets
-1 * 5 0A 01 04 DD 09
-1 sprites/fix_graphics.png 178 296 09 11 10 2 -3
-1 sprites/fix_graphics.png 194 296 09 12 10 2 -2
-1 sprites/fix_graphics.png 210 296 09 11 10 -10 -1
-1 sprites/fix_graphics.png 226 296 09 11 10 -10 -1
// Toyland specific
-1 * 6 07 83 01 \7! 03 0A
// Graphics for the toyland tubular bridge pillars had incorrect offsets
-1 * 5 0A 01 04 05 0A
-1 sprites/fix_graphics.png 248 296 09 9 4 2 -1
-1 sprites/fix_graphics.png 264 296 09 9 4 2 -1
-1 sprites/fix_graphics.png 280 296 09 9 4 -4 0
-1 sprites/fix_graphics.png 296 296 09 9 4 -4 0
// Graphics for the toyland cantilever bridge pillars had incorrect offsets
-1 * 5 0A 01 04 DD 09
-1 sprites/fix_graphics.png 328 296 09 11 10 2 -3
-1 sprites/fix_graphics.png 344 296 09 12 10 2 -2
-1 sprites/fix_graphics.png 360 296 09 11 10 -10 -1
-1 sprites/fix_graphics.png 376 296 09 11 10 -10 -1
// Wrong, non-translated colours in tubular bridge in 'normal' climates
// Toyland has separate sprites which are not colour translated, thus
// this does not apply there;
// Pillars are changed for all climates further up
-1 * 6 07 83 01 \7= 03 \b22
// Main tubular bridge sprites
-1 * 5 0A 01 \b6 \w2559
-1 sprites/fix_graphics.png 2 330 09 40 32 -30 -26
-1 sprites/fix_graphics.png 52 330 09 50 44 -42 -26
-1 sprites/fix_graphics.png 116 330 09 45 46 -42 -21
-1 sprites/fix_graphics.png 180 330 09 45 46 -2 -20
-1 sprites/fix_graphics.png 244 330 09 50 44 0 -25
-1 sprites/fix_graphics.png 308 330 09 41 32 0 -25
// start rail bridge
-1 * 5 0A 01 01 \w2569
-1 sprites/fix_graphics.png 350 330 09 29 52 -25 -4
// start rail + road bridge
-1 * 5 0A 01 02 \w2574
-1 sprites/fix_graphics.png 420 330 09 29 50 -25 -4
-1 sprites/fix_graphics.png 489 330 09 29 52 -25 -4
// start road + monorail bridge
-1 * 5 0A 01 02 \w2580
-1 sprites/fix_graphics.png 559 330 09 29 50 -25 -4
-1 sprites/fix_graphics.png 629 330 09 29 52 -25 -4
// start monrail + maglev bridge
-1 * 5 0A 01 02 \w2586
-1 sprites/fix_graphics.png 699 330 09 29 50 -25 -4
-1 sprites/fix_graphics.png 489 283 09 29 52 -25 -4
// start maglev bridge
-1 * 5 0A 01 01 \w2592
-1 sprites/fix_graphics.png 559 283 09 29 50 -25 -4
// GUI sprite
-1 * 5 0A 01 01 \w2600
-1 sprites/fix_graphics.png 433 298 09 15 40 0 5

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -1,46 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Flag graphics"
-1 * 3 05 14 24
-1 sprites/flags.png 34 8 09 8 11 0 0
-1 sprites/flags.png 50 8 09 8 11 0 0
-1 sprites/flags.png 66 8 09 8 11 0 0
-1 sprites/flags.png 82 8 09 8 11 0 0
-1 sprites/flags.png 98 8 09 8 11 0 0
-1 sprites/flags.png 114 8 09 8 11 0 0
-1 sprites/flags.png 130 8 09 8 11 0 0
-1 sprites/flags.png 146 8 09 8 11 0 0
-1 sprites/flags.png 162 8 09 8 11 0 0
-1 sprites/flags.png 178 8 09 8 11 0 0
-1 sprites/flags.png 194 8 09 8 11 0 0
-1 sprites/flags.png 210 8 09 8 11 0 0
-1 sprites/flags.png 226 8 09 8 11 0 0
-1 sprites/flags.png 242 8 09 8 11 0 0
-1 sprites/flags.png 258 8 09 8 11 0 0
-1 sprites/flags.png 274 8 09 8 11 0 0
-1 sprites/flags.png 290 8 09 8 11 0 0
-1 sprites/flags.png 306 8 09 8 11 0 0
-1 sprites/flags.png 322 8 09 8 11 0 0
-1 sprites/flags.png 338 8 09 8 11 0 0
-1 sprites/flags.png 354 8 09 8 11 0 0
-1 sprites/flags.png 370 8 09 8 11 0 0
-1 sprites/flags.png 386 8 09 8 11 0 0
-1 sprites/flags.png 402 8 09 8 11 0 0
-1 sprites/flags.png 418 8 09 8 11 0 0
-1 sprites/flags.png 434 8 09 8 11 0 0
-1 sprites/flags.png 450 8 09 8 11 0 0
-1 sprites/flags.png 466 8 09 8 11 0 0
-1 sprites/flags.png 482 8 09 8 11 0 0
-1 sprites/flags.png 498 8 09 8 11 0 0
-1 sprites/flags.png 514 8 09 8 11 0 0
-1 sprites/flags.png 530 8 09 8 11 0 0
-1 sprites/flags.png 546 8 09 8 11 0 0
-1 sprites/flags.png 562 8 09 8 11 0 0
-1 sprites/flags.png 578 8 09 8 11 0 0
-1 sprites/flags.png 594 8 09 8 11 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,377 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Foundations. Non-halftile ones by Marcin Grzegorczyk"
-1 * 6 07 83 01 \7! 00 5B
-1 * 3 05 06 5A
-1 sprites/foundations.png 82 8 09 40 64 -31 -9
-1 sprites/foundations.png 162 8 09 40 64 -31 -9
-1 sprites/foundations.png 242 8 09 32 64 -31 -9
-1 sprites/foundations.png 322 8 09 32 64 -31 -9
-1 sprites/foundations.png 402 8 09 40 64 -31 -9
-1 sprites/foundations.png 482 8 09 40 64 -31 -9
-1 sprites/foundations.png 562 8 09 40 64 -31 -9
-1 sprites/foundations.png 642 8 09 40 64 -31 -9
-1 sprites/foundations.png 722 8 09 40 64 -31 -9
-1 sprites/foundations.png 2 72 09 32 64 -31 -9
-1 sprites/foundations.png 82 72 09 32 64 -31 -9
-1 sprites/foundations.png 162 72 09 40 64 -31 -9
-1 sprites/foundations.png 242 72 09 40 64 -31 -9
-1 sprites/foundations.png 322 72 09 32 64 -31 -9
-1 sprites/foundations.png 402 72 09 32 64 -31 -9
-1 sprites/foundations.png 482 72 09 40 64 -31 -9
-1 sprites/foundations.png 562 72 09 40 64 -31 -9
-1 sprites/foundations.png 642 72 09 32 64 -31 -9
-1 sprites/foundations.png 722 72 09 32 64 -31 -9
-1 sprites/foundations.png 2 136 09 40 64 -31 -9
-1 sprites/foundations.png 82 136 09 40 64 -31 -9
-1 sprites/foundations.png 162 136 09 32 64 -31 -9
-1 sprites/foundations.png 242 136 09 40 64 -31 -9
-1 sprites/foundations.png 322 136 09 40 64 -31 -9
-1 sprites/foundations.png 402 136 09 32 64 -31 -9
-1 sprites/foundations.png 482 136 09 32 64 -31 -9
-1 sprites/foundations.png 562 136 09 40 64 -31 -9
-1 sprites/foundations.png 642 136 09 40 64 -31 -9
-1 sprites/foundations.png 722 136 09 40 64 -31 -9
-1 sprites/foundations.png 2 200 09 40 64 -31 -9
-1 sprites/foundations.png 82 200 09 40 64 -31 -9
-1 sprites/foundations.png 162 200 09 32 64 -31 -9
-1 sprites/foundations.png 242 200 09 32 64 -31 -9
-1 sprites/foundations.png 322 200 09 40 64 -31 -9
-1 sprites/foundations.png 402 200 09 40 64 -31 -9
-1 sprites/foundations.png 482 200 09 32 64 -31 -9
-1 sprites/foundations.png 562 200 09 32 64 -31 -9
-1 sprites/foundations.png 642 200 09 40 64 -31 -9
-1 sprites/foundations.png 722 200 09 40 64 -31 -9
-1 sprites/foundations.png 2 264 09 32 64 -31 -9
-1 sprites/foundations.png 82 264 09 32 64 -31 -9
-1 sprites/foundations.png 162 264 09 40 64 -31 -9
-1 sprites/foundations.png 242 264 09 40 64 -31 -9
-1 sprites/foundations.png 322 264 09 32 64 -31 -9
-1 sprites/foundations.png 402 264 09 40 64 -31 -9
-1 sprites/foundations.png 482 264 09 40 64 -31 -9
-1 sprites/foundations.png 562 264 09 32 64 -31 -9
-1 sprites/foundations.png 642 264 09 32 64 -31 -9
-1 sprites/foundations.png 722 264 09 40 64 -31 -9
-1 sprites/foundations.png 2 328 09 40 64 -31 -9
-1 sprites/foundations.png 82 328 09 40 64 -31 -9
-1 sprites/foundations.png 162 328 09 40 64 -31 -9
-1 sprites/foundations.png 242 328 09 40 64 -31 -9
-1 sprites/foundations.png 322 328 09 32 64 -31 -9
-1 sprites/foundations.png 402 328 09 32 64 -31 -9
-1 sprites/foundations.png 482 328 09 40 64 -31 -9
-1 sprites/foundations.png 562 328 09 40 64 -31 -9
-1 sprites/foundations.png 642 328 09 32 64 -31 -9
-1 sprites/foundations.png 722 328 09 32 64 -31 -9
-1 sprites/foundations.png 2 392 09 40 64 -31 -9
-1 sprites/foundations.png 82 392 09 40 64 -31 -9
-1 sprites/foundations.png 162 392 09 32 64 -31 -9
-1 sprites/foundations.png 242 392 09 32 64 -31 -9
-1 sprites/foundations.png 322 392 09 40 64 -31 -9
-1 sprites/foundations.png 402 392 09 40 64 -31 -9
-1 sprites/foundations.png 482 392 09 32 64 -31 -9
-1 sprites/foundations.png 562 392 09 40 64 -31 -9
-1 sprites/foundations.png 642 392 09 40 64 -31 -9
-1 sprites/foundations.png 722 392 09 32 64 -31 -9
-1 sprites/foundations.png 2 456 09 32 64 -31 -9
-1 sprites/foundations.png 82 456 09 40 64 -31 -9
-1 sprites/foundations.png 162 456 09 40 64 -31 -9
-1 sprites/foundations.png 242 456 09 40 64 -31 -9
-1 sprites/foundations.png 322 456 09 40 64 -31 -9
-1 sprites/foundations.png 402 456 09 40 64 -15 -17
-1 sprites/foundations.png 482 456 09 33 64 -31 -25
-1 sprites/foundations.png 562 456 09 40 64 -47 -17
-1 sprites/foundations.png 642 456 09 33 64 -31 -9
-1 sprites/foundations.png 722 456 09 40 64 -15 -17
-1 sprites/foundations.png 2 520 09 33 64 -31 -25
-1 sprites/foundations.png 82 520 09 40 64 -47 -17
-1 sprites/foundations.png 162 520 09 33 64 -31 -9
-1 sprites/foundations.png 242 520 09 40 64 -15 -17
-1 sprites/foundations.png 322 520 09 33 64 -31 -25
-1 sprites/foundations.png 402 520 09 40 64 -47 -17
-1 sprites/foundations.png 482 520 09 33 64 -31 -9
-1 sprites/foundations.png 562 520 09 40 64 -15 -17
-1 sprites/foundations.png 642 520 09 33 64 -31 -25
-1 sprites/foundations.png 722 520 09 40 64 -47 -17
-1 sprites/foundations.png 2 584 09 33 64 -31 -9
-1 * 6 07 83 01 \7! 01 5B
-1 * 3 05 06 5A
-1 sprites/foundations.png 114 584 09 40 64 -31 -9
-1 sprites/foundations.png 194 584 09 40 64 -31 -9
-1 sprites/foundations.png 274 584 09 32 64 -31 -9
-1 sprites/foundations.png 354 584 09 32 64 -31 -9
-1 sprites/foundations.png 434 584 09 40 64 -31 -9
-1 sprites/foundations.png 514 584 09 40 64 -31 -9
-1 sprites/foundations.png 594 584 09 40 64 -31 -9
-1 sprites/foundations.png 674 584 09 40 64 -31 -9
-1 sprites/foundations.png 2 648 09 40 64 -31 -9
-1 sprites/foundations.png 82 648 09 32 64 -31 -9
-1 sprites/foundations.png 162 648 09 32 64 -31 -9
-1 sprites/foundations.png 242 648 09 40 64 -31 -9
-1 sprites/foundations.png 322 648 09 40 64 -31 -9
-1 sprites/foundations.png 402 648 09 32 64 -31 -9
-1 sprites/foundations.png 482 648 09 32 64 -31 -9
-1 sprites/foundations.png 562 648 09 40 64 -31 -9
-1 sprites/foundations.png 642 648 09 40 64 -31 -9
-1 sprites/foundations.png 722 648 09 32 64 -31 -9
-1 sprites/foundations.png 2 712 09 32 64 -31 -9
-1 sprites/foundations.png 82 712 09 40 64 -31 -9
-1 sprites/foundations.png 162 712 09 40 64 -31 -9
-1 sprites/foundations.png 242 712 09 32 64 -31 -9
-1 sprites/foundations.png 322 712 09 40 64 -31 -9
-1 sprites/foundations.png 402 712 09 40 64 -31 -9
-1 sprites/foundations.png 482 712 09 32 64 -31 -9
-1 sprites/foundations.png 562 712 09 32 64 -31 -9
-1 sprites/foundations.png 642 712 09 40 64 -31 -9
-1 sprites/foundations.png 722 712 09 40 64 -31 -9
-1 sprites/foundations.png 2 776 09 40 64 -31 -9
-1 sprites/foundations.png 82 776 09 40 64 -31 -9
-1 sprites/foundations.png 162 776 09 40 64 -31 -9
-1 sprites/foundations.png 242 776 09 32 64 -31 -9
-1 sprites/foundations.png 322 776 09 32 64 -31 -9
-1 sprites/foundations.png 402 776 09 40 64 -31 -9
-1 sprites/foundations.png 482 776 09 40 64 -31 -9
-1 sprites/foundations.png 562 776 09 32 64 -31 -9
-1 sprites/foundations.png 642 776 09 32 64 -31 -9
-1 sprites/foundations.png 722 776 09 40 64 -31 -9
-1 sprites/foundations.png 2 840 09 40 64 -31 -9
-1 sprites/foundations.png 82 840 09 32 64 -31 -9
-1 sprites/foundations.png 162 840 09 32 64 -31 -9
-1 sprites/foundations.png 242 840 09 40 64 -31 -9
-1 sprites/foundations.png 322 840 09 40 64 -31 -9
-1 sprites/foundations.png 402 840 09 32 64 -31 -9
-1 sprites/foundations.png 482 840 09 40 64 -31 -9
-1 sprites/foundations.png 562 840 09 40 64 -31 -9
-1 sprites/foundations.png 642 840 09 32 64 -31 -9
-1 sprites/foundations.png 722 840 09 32 64 -31 -9
-1 sprites/foundations.png 2 904 09 40 64 -31 -9
-1 sprites/foundations.png 82 904 09 40 64 -31 -9
-1 sprites/foundations.png 162 904 09 40 64 -31 -9
-1 sprites/foundations.png 242 904 09 40 64 -31 -9
-1 sprites/foundations.png 322 904 09 40 64 -31 -9
-1 sprites/foundations.png 402 904 09 32 64 -31 -9
-1 sprites/foundations.png 482 904 09 32 64 -31 -9
-1 sprites/foundations.png 562 904 09 40 64 -31 -9
-1 sprites/foundations.png 642 904 09 40 64 -31 -9
-1 sprites/foundations.png 722 904 09 32 64 -31 -9
-1 sprites/foundations.png 2 968 09 32 64 -31 -9
-1 sprites/foundations.png 82 968 09 40 64 -31 -9
-1 sprites/foundations.png 162 968 09 40 64 -31 -9
-1 sprites/foundations.png 242 968 09 32 64 -31 -9
-1 sprites/foundations.png 322 968 09 32 64 -31 -9
-1 sprites/foundations.png 402 968 09 40 64 -31 -9
-1 sprites/foundations.png 482 968 09 40 64 -31 -9
-1 sprites/foundations.png 562 968 09 32 64 -31 -9
-1 sprites/foundations.png 642 968 09 40 64 -31 -9
-1 sprites/foundations.png 722 968 09 40 64 -31 -9
-1 sprites/foundations.png 2 1032 09 32 64 -31 -9
-1 sprites/foundations.png 82 1032 09 32 64 -31 -9
-1 sprites/foundations.png 162 1032 09 40 64 -31 -9
-1 sprites/foundations.png 242 1032 09 40 64 -31 -9
-1 sprites/foundations.png 322 1032 09 40 64 -31 -9
-1 sprites/foundations.png 402 1032 09 40 64 -31 -9
-1 sprites/foundations.png 482 1032 09 40 64 -15 -17
-1 sprites/foundations.png 562 1032 09 33 64 -31 -25
-1 sprites/foundations.png 642 1032 09 40 64 -47 -17
-1 sprites/foundations.png 722 1032 09 33 64 -31 -9
-1 sprites/foundations.png 2 1096 09 40 64 -15 -17
-1 sprites/foundations.png 82 1096 09 33 64 -31 -25
-1 sprites/foundations.png 162 1096 09 40 64 -47 -17
-1 sprites/foundations.png 242 1096 09 33 64 -31 -9
-1 sprites/foundations.png 322 1096 09 40 64 -15 -17
-1 sprites/foundations.png 402 1096 09 33 64 -31 -25
-1 sprites/foundations.png 482 1096 09 40 64 -47 -17
-1 sprites/foundations.png 562 1096 09 33 64 -31 -9
-1 sprites/foundations.png 642 1096 09 40 64 -15 -17
-1 sprites/foundations.png 722 1096 09 33 64 -31 -25
-1 sprites/foundations.png 2 1160 09 40 64 -47 -17
-1 sprites/foundations.png 82 1160 09 33 64 -31 -9
-1 * 6 07 83 01 \7! 02 5B
-1 * 3 05 06 5A
-1 sprites/foundations.png 194 1160 09 40 64 -31 -9
-1 sprites/foundations.png 274 1160 09 40 64 -31 -9
-1 sprites/foundations.png 354 1160 09 32 64 -31 -9
-1 sprites/foundations.png 434 1160 09 32 64 -31 -9
-1 sprites/foundations.png 514 1160 09 40 64 -31 -9
-1 sprites/foundations.png 594 1160 09 40 64 -31 -9
-1 sprites/foundations.png 674 1160 09 40 64 -31 -9
-1 sprites/foundations.png 2 1224 09 40 64 -31 -9
-1 sprites/foundations.png 82 1224 09 40 64 -31 -9
-1 sprites/foundations.png 162 1224 09 32 64 -31 -9
-1 sprites/foundations.png 242 1224 09 32 64 -31 -9
-1 sprites/foundations.png 322 1224 09 40 64 -31 -9
-1 sprites/foundations.png 402 1224 09 40 64 -31 -9
-1 sprites/foundations.png 482 1224 09 32 64 -31 -9
-1 sprites/foundations.png 562 1224 09 32 64 -31 -9
-1 sprites/foundations.png 642 1224 09 40 64 -31 -9
-1 sprites/foundations.png 722 1224 09 40 64 -31 -9
-1 sprites/foundations.png 2 1288 09 32 64 -31 -9
-1 sprites/foundations.png 82 1288 09 32 64 -31 -9
-1 sprites/foundations.png 162 1288 09 40 64 -31 -9
-1 sprites/foundations.png 242 1288 09 40 64 -31 -9
-1 sprites/foundations.png 322 1288 09 32 64 -31 -9
-1 sprites/foundations.png 402 1288 09 40 64 -31 -9
-1 sprites/foundations.png 482 1288 09 40 64 -31 -9
-1 sprites/foundations.png 562 1288 09 32 64 -31 -9
-1 sprites/foundations.png 642 1288 09 32 64 -31 -9
-1 sprites/foundations.png 722 1288 09 40 64 -31 -9
-1 sprites/foundations.png 2 1352 09 40 64 -31 -9
-1 sprites/foundations.png 82 1352 09 40 64 -31 -9
-1 sprites/foundations.png 162 1352 09 40 64 -31 -9
-1 sprites/foundations.png 242 1352 09 40 64 -31 -9
-1 sprites/foundations.png 322 1352 09 32 64 -31 -9
-1 sprites/foundations.png 402 1352 09 32 64 -31 -9
-1 sprites/foundations.png 482 1352 09 40 64 -31 -9
-1 sprites/foundations.png 562 1352 09 40 64 -31 -9
-1 sprites/foundations.png 642 1352 09 32 64 -31 -9
-1 sprites/foundations.png 722 1352 09 32 64 -31 -9
-1 sprites/foundations.png 2 1416 09 40 64 -31 -9
-1 sprites/foundations.png 82 1416 09 40 64 -31 -9
-1 sprites/foundations.png 162 1416 09 32 64 -31 -9
-1 sprites/foundations.png 242 1416 09 32 64 -31 -9
-1 sprites/foundations.png 322 1416 09 40 64 -31 -9
-1 sprites/foundations.png 402 1416 09 40 64 -31 -9
-1 sprites/foundations.png 482 1416 09 32 64 -31 -9
-1 sprites/foundations.png 562 1416 09 40 64 -31 -9
-1 sprites/foundations.png 642 1416 09 40 64 -31 -9
-1 sprites/foundations.png 722 1416 09 32 64 -31 -9
-1 sprites/foundations.png 2 1480 09 32 64 -31 -9
-1 sprites/foundations.png 82 1480 09 40 64 -31 -9
-1 sprites/foundations.png 162 1480 09 40 64 -31 -9
-1 sprites/foundations.png 242 1480 09 40 64 -31 -9
-1 sprites/foundations.png 322 1480 09 40 64 -31 -9
-1 sprites/foundations.png 402 1480 09 40 64 -31 -9
-1 sprites/foundations.png 482 1480 09 32 64 -31 -9
-1 sprites/foundations.png 562 1480 09 32 64 -31 -9
-1 sprites/foundations.png 642 1480 09 40 64 -31 -9
-1 sprites/foundations.png 722 1480 09 40 64 -31 -9
-1 sprites/foundations.png 2 1544 09 32 64 -31 -9
-1 sprites/foundations.png 82 1544 09 32 64 -31 -9
-1 sprites/foundations.png 162 1544 09 40 64 -31 -9
-1 sprites/foundations.png 242 1544 09 40 64 -31 -9
-1 sprites/foundations.png 322 1544 09 32 64 -31 -9
-1 sprites/foundations.png 402 1544 09 32 64 -31 -9
-1 sprites/foundations.png 482 1544 09 40 64 -31 -9
-1 sprites/foundations.png 562 1544 09 40 64 -31 -9
-1 sprites/foundations.png 642 1544 09 32 64 -31 -9
-1 sprites/foundations.png 722 1544 09 40 64 -31 -9
-1 sprites/foundations.png 2 1608 09 40 64 -31 -9
-1 sprites/foundations.png 82 1608 09 32 64 -31 -9
-1 sprites/foundations.png 162 1608 09 32 64 -31 -9
-1 sprites/foundations.png 242 1608 09 40 64 -31 -9
-1 sprites/foundations.png 322 1608 09 40 64 -31 -9
-1 sprites/foundations.png 402 1608 09 40 64 -31 -9
-1 sprites/foundations.png 482 1608 09 40 64 -31 -9
-1 sprites/foundations.png 562 1608 09 40 64 -15 -17
-1 sprites/foundations.png 642 1608 09 33 64 -31 -25
-1 sprites/foundations.png 722 1608 09 40 64 -47 -17
-1 sprites/foundations.png 2 1672 09 33 64 -31 -9
-1 sprites/foundations.png 82 1672 09 40 64 -15 -17
-1 sprites/foundations.png 162 1672 09 33 64 -31 -25
-1 sprites/foundations.png 242 1672 09 40 64 -47 -17
-1 sprites/foundations.png 322 1672 09 33 64 -31 -9
-1 sprites/foundations.png 402 1672 09 40 64 -15 -17
-1 sprites/foundations.png 482 1672 09 33 64 -31 -25
-1 sprites/foundations.png 562 1672 09 40 64 -47 -17
-1 sprites/foundations.png 642 1672 09 33 64 -31 -9
-1 sprites/foundations.png 722 1672 09 40 64 -15 -17
-1 sprites/foundations.png 2 1736 09 33 64 -31 -25
-1 sprites/foundations.png 82 1736 09 40 64 -47 -17
-1 sprites/foundations.png 162 1736 09 33 64 -31 -9
-1 * 6 07 83 01 \7! 03 5B
-1 * 3 05 06 5A
-1 sprites/foundations.png 274 1736 09 40 64 -31 -9
-1 sprites/foundations.png 354 1736 09 40 64 -31 -9
-1 sprites/foundations.png 434 1736 09 32 64 -31 -9
-1 sprites/foundations.png 514 1736 09 32 64 -31 -9
-1 sprites/foundations.png 594 1736 09 40 64 -31 -9
-1 sprites/foundations.png 674 1736 09 40 64 -31 -9
-1 sprites/foundations.png 2 1800 09 40 64 -31 -9
-1 sprites/foundations.png 82 1800 09 40 64 -31 -9
-1 sprites/foundations.png 162 1800 09 40 64 -31 -9
-1 sprites/foundations.png 242 1800 09 32 64 -31 -9
-1 sprites/foundations.png 322 1800 09 32 64 -31 -9
-1 sprites/foundations.png 402 1800 09 40 64 -31 -9
-1 sprites/foundations.png 482 1800 09 40 64 -31 -9
-1 sprites/foundations.png 562 1800 09 32 64 -31 -9
-1 sprites/foundations.png 642 1800 09 32 64 -31 -9
-1 sprites/foundations.png 722 1800 09 40 64 -31 -9
-1 sprites/foundations.png 2 1864 09 40 64 -31 -9
-1 sprites/foundations.png 82 1864 09 32 64 -31 -9
-1 sprites/foundations.png 162 1864 09 32 64 -31 -9
-1 sprites/foundations.png 242 1864 09 40 64 -31 -9
-1 sprites/foundations.png 322 1864 09 40 64 -31 -9
-1 sprites/foundations.png 402 1864 09 32 64 -31 -9
-1 sprites/foundations.png 482 1864 09 40 64 -31 -9
-1 sprites/foundations.png 562 1864 09 40 64 -31 -9
-1 sprites/foundations.png 642 1864 09 32 64 -31 -9
-1 sprites/foundations.png 722 1864 09 32 64 -31 -9
-1 sprites/foundations.png 2 1928 09 40 64 -31 -9
-1 sprites/foundations.png 82 1928 09 40 64 -31 -9
-1 sprites/foundations.png 162 1928 09 40 64 -31 -9
-1 sprites/foundations.png 242 1928 09 40 64 -31 -9
-1 sprites/foundations.png 322 1928 09 40 64 -31 -9
-1 sprites/foundations.png 402 1928 09 32 64 -31 -9
-1 sprites/foundations.png 482 1928 09 32 64 -31 -9
-1 sprites/foundations.png 562 1928 09 40 64 -31 -9
-1 sprites/foundations.png 642 1928 09 40 64 -31 -9
-1 sprites/foundations.png 722 1928 09 32 64 -31 -9
-1 sprites/foundations.png 2 1992 09 32 64 -31 -9
-1 sprites/foundations.png 82 1992 09 40 64 -31 -9
-1 sprites/foundations.png 162 1992 09 40 64 -31 -9
-1 sprites/foundations.png 242 1992 09 32 64 -31 -9
-1 sprites/foundations.png 322 1992 09 32 64 -31 -9
-1 sprites/foundations.png 402 1992 09 40 64 -31 -9
-1 sprites/foundations.png 482 1992 09 40 64 -31 -9
-1 sprites/foundations.png 562 1992 09 32 64 -31 -9
-1 sprites/foundations.png 642 1992 09 40 64 -31 -9
-1 sprites/foundations.png 722 1992 09 40 64 -31 -9
-1 sprites/foundations.png 2 2056 09 32 64 -31 -9
-1 sprites/foundations.png 82 2056 09 32 64 -31 -9
-1 sprites/foundations.png 162 2056 09 40 64 -31 -9
-1 sprites/foundations.png 242 2056 09 40 64 -31 -9
-1 sprites/foundations.png 322 2056 09 40 64 -31 -9
-1 sprites/foundations.png 402 2056 09 40 64 -31 -9
-1 sprites/foundations.png 482 2056 09 40 64 -31 -9
-1 sprites/foundations.png 562 2056 09 32 64 -31 -9
-1 sprites/foundations.png 642 2056 09 32 64 -31 -9
-1 sprites/foundations.png 722 2056 09 40 64 -31 -9
-1 sprites/foundations.png 2 2120 09 40 64 -31 -9
-1 sprites/foundations.png 82 2120 09 32 64 -31 -9
-1 sprites/foundations.png 162 2120 09 32 64 -31 -9
-1 sprites/foundations.png 242 2120 09 40 64 -31 -9
-1 sprites/foundations.png 322 2120 09 40 64 -31 -9
-1 sprites/foundations.png 402 2120 09 32 64 -31 -9
-1 sprites/foundations.png 482 2120 09 32 64 -31 -9
-1 sprites/foundations.png 562 2120 09 40 64 -31 -9
-1 sprites/foundations.png 642 2120 09 40 64 -31 -9
-1 sprites/foundations.png 722 2120 09 32 64 -31 -9
-1 sprites/foundations.png 2 2184 09 40 64 -31 -9
-1 sprites/foundations.png 82 2184 09 40 64 -31 -9
-1 sprites/foundations.png 162 2184 09 32 64 -31 -9
-1 sprites/foundations.png 242 2184 09 32 64 -31 -9
-1 sprites/foundations.png 322 2184 09 40 64 -31 -9
-1 sprites/foundations.png 402 2184 09 40 64 -31 -9
-1 sprites/foundations.png 482 2184 09 40 64 -31 -9
-1 sprites/foundations.png 562 2184 09 40 64 -31 -9
-1 sprites/foundations.png 642 2184 09 40 64 -15 -17
-1 sprites/foundations.png 722 2184 09 33 64 -31 -25
-1 sprites/foundations.png 2 2248 09 40 64 -47 -17
-1 sprites/foundations.png 82 2248 09 33 64 -31 -9
-1 sprites/foundations.png 162 2248 09 40 64 -15 -17
-1 sprites/foundations.png 242 2248 09 33 64 -31 -25
-1 sprites/foundations.png 322 2248 09 40 64 -47 -17
-1 sprites/foundations.png 402 2248 09 33 64 -31 -9
-1 sprites/foundations.png 482 2248 09 40 64 -15 -17
-1 sprites/foundations.png 562 2248 09 33 64 -31 -25
-1 sprites/foundations.png 642 2248 09 40 64 -47 -17
-1 sprites/foundations.png 722 2248 09 33 64 -31 -9
-1 sprites/foundations.png 2 2312 09 40 64 -15 -17
-1 sprites/foundations.png 82 2312 09 33 64 -31 -25
-1 sprites/foundations.png 162 2312 09 40 64 -47 -17
-1 sprites/foundations.png 242 2312 09 33 64 -31 -9

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

View File

@@ -1,16 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "One way road graphics"
-1 * 3 05 09 06
-1 sprites/oneway.png 34 8 01 16 24 -12 -8
-1 sprites/oneway.png 66 8 01 16 24 -12 -8
-1 sprites/oneway.png 98 8 01 16 24 -12 -8
-1 sprites/oneway.png 130 8 01 16 24 -12 -8
-1 sprites/oneway.png 162 8 01 16 24 -12 -8
-1 sprites/oneway.png 194 8 01 16 24 -12 -8

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,106 +0,0 @@
// Automatically generated by GRFCODEC. Do not modify!
// (Info version 7)
// Format: spritenum.pngfile xpos ypos compression ysize xsize xrel yrel
//
// $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/>.
//
// Sources for OpenTTD's required base graphics.
// Checks whether the correct version of OpenTTD is used before
// allowing it to be used.
//
//
// -- NFO Renum 'settings' --
// Do not make nforenum warn about the fact that we use a reserved GRF ID
// @@WARNING DISABLE 101
// -- End of NFO Renum 'settings' --
//
//
// Number of sprites, it is wrong, but GRFcodec automagically gets it right.
//
0 * 4 00 00 00 00
//
// Check whether we are running OTTD or not.
//
-1 * 0 07 9D 04 \7= 01 00 00 00 01
-1 * 0 0B 03 7F FF 80 " is not for TTDPatch. Use ttdpatch(w).grf." 00
//
// Check for OTTD's version number
//
// First step... Variable A1 might not exist. If that's the case it always
// skips. As we do not want to skip out of the whole testing, we skip over
// the real version check.
-1 * 0 07 A1 04 \7= FF FF FF FF 02
// Real version check.
-1 * 0 07 A1 04 \7> \w20304 01 01 03
// If the version check is supported, the string is translateable via OpenTTD
// itself. Use it!.
-1 * 0 0B 03 7F 06 "1.1 (or trunk r20304)" 00
// Some OTTD versions before r11130 did support Action B, so use the English
// phrase there
-1 * 0 0B 03 7F FF "Requires OpenTTD version 1.1 (or trunk r20304) or better." 00
// Final fallback. No Action B support, just skip to the end of the file.
-1 * 0 07 A1 04 \7= FF FF FF FF 00
// We are a DOS paletted NewGRF, so tell OpenTTD that. Then it can actually
// do the right thing. Yay for that feature as that means no duplicate NewGRF!
-1 * 0 14
"C" "INFO"
"B" "PALS" \w1 "D"
00
00
// GRF ID, must start with FF so it gets ignored
-1 * 0 08 07 FF "OTT"
// Name of the GRF
"OpenTTD's base graphics " 00
// Description of the GRF.
"License: GNU General Public License version 2" 0D
"Marcin Grzegorczyk: non-halftile foundations" 0D
"Michael Blunck: catenary, signals" 0D
"George: canals" 0D
"David Dallaston: tram tracks" 0D
"Jonathan G. Rennison: aqueducts" 0D
"Bilbo, Jasper Vries: font" 0D
"OpenTTD developers: other graphics" 00
//
// The real data of the GRF is acquired from several subfiles.
//
#include "2ccmap.nfo"
#include "signals.nfo"
#include "elrails.nfo"
#include "foundations.nfo"
#include "canals.nfo"
#include "oneway.nfo"
#include "tramtracks.nfo"
#include "shore.nfo"
#include "sloped_tracks.nfo"
#include "airports.nfo"
#include "roadstops.nfo"
#include "aqueduct.nfo"
#include "autorail.nfo"
#include "flags.nfo"
#include "openttdgui.nfo"
#include "airport_preview.nfo"
#include "chars.nfo"
#include "overrides.nfo"
#include "fix_graphics.nfo"

View File

@@ -1,181 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
// -- NFO Renum 'settings' --
// Do not make nforenum warn about the fact that we use more sprites.
// We are the 'authority' on how many sprites may be used.
// @@WARNING DISABLE 60
// -- End of NFO Renum 'settings' --
//
-1 * 0 0C "OpenTTD GUI graphics"
-1 * 3 05 15 A0
-1 sprites/openttdgui.png 66 8 09 31 64 -31 7
-1 sprites/openttdgui.png 146 8 09 31 64 -31 7
-1 sprites/openttdgui.png 226 8 09 31 64 -31 7
-1 sprites/openttdgui.png 306 8 09 31 64 -31 7
-1 sprites/openttdgui.png 386 8 09 31 64 -31 -1
-1 sprites/openttdgui.png 466 8 09 39 64 -31 -1
-1 sprites/openttdgui.png 546 8 09 31 64 -31 -1
-1 sprites/openttdgui.png 626 8 09 23 64 -31 7
-1 sprites/openttdgui.png 706 8 09 31 64 -31 7
-1 sprites/openttdgui.png 2 72 09 23 64 -31 7
-1 sprites/openttdgui.png 82 72 09 31 64 -31 7
-1 sprites/openttdgui.png 162 72 09 39 64 -31 -1
-1 sprites/openttdgui.png 242 72 01 26 23 0 0
-1 sprites/openttdgui.png 274 72 09 26 24 0 0
-1 sprites/openttdgui.png 306 72 01 8 4 28 16
-1 sprites/openttdgui.png 322 72 01 9 4 0 1
-1 sprites/openttdgui.png 338 72 09 23 32 0 1
-1 sprites/openttdgui.png 386 72 01 8 4 -31 15
-1 sprites/openttdgui.png 402 72 01 9 4 -3 0
-1 sprites/openttdgui.png 418 72 09 23 32 -31 0
-1 sprites/openttdgui.png 466 72 01 8 4 28 16
-1 sprites/openttdgui.png 482 72 01 9 4 0 1
-1 sprites/openttdgui.png 498 72 09 23 32 0 1
-1 sprites/openttdgui.png 546 72 01 8 4 -31 15
-1 sprites/openttdgui.png 562 72 01 9 4 -3 0
-1 sprites/openttdgui.png 578 72 09 23 32 -31 0
-1 sprites/openttdgui.png 626 72 01 8 4 28 16
-1 sprites/openttdgui.png 642 72 01 9 4 0 1
-1 sprites/openttdgui.png 658 72 09 23 32 0 1
-1 sprites/openttdgui.png 706 72 01 8 4 -31 15
-1 sprites/openttdgui.png 722 72 01 9 4 -3 0
-1 sprites/openttdgui.png 738 72 09 23 32 -31 0
-1 sprites/openttdgui.png 786 72 01 8 4 28 16
-1 sprites/openttdgui.png 2 136 01 9 4 0 1
-1 sprites/openttdgui.png 18 136 09 23 32 0 1
-1 sprites/openttdgui.png 66 136 01 8 4 -31 15
-1 sprites/openttdgui.png 82 136 01 9 4 -3 0
-1 sprites/openttdgui.png 98 136 09 23 32 -31 0
-1 sprites/openttdgui.png 146 136 09 10 10 0 0
-1 sprites/openttdgui.png 162 136 01 8 8 0 0
-1 sprites/openttdgui.png 178 136 09 9 7 0 0
-1 sprites/openttdgui.png 194 136 01 7 9 0 0
-1 sprites/openttdgui.png 210 136 01 7 9 0 0
-1 sprites/openttdgui.png 226 136 01 10 10 0 0
-1 sprites/openttdgui.png 242 136 09 7 7 0 0
-1 sprites/openttdgui.png 258 136 09 4 7 1 2
-1 sprites/openttdgui.png 274 136 09 4 7 1 2
-1 sprites/openttdgui.png 290 136 09 7 4 1 1
-1 sprites/openttdgui.png 306 136 09 7 4 2 1
-1 sprites/openttdgui.png 322 136 01 8 8 1 1
-1 sprites/openttdgui.png 338 136 01 9 9 0 0
-1 sprites/openttdgui.png 354 136 01 8 7 0 0
-1 sprites/openttdgui.png 370 136 01 8 8 0 0
-1 sprites/openttdgui.png 386 136 09 13 20 0 4
-1 sprites/openttdgui.png 418 136 03 36 56 0 0
-1 sprites/openttdgui.png 482 136 01 20 20 0 0
-1 sprites/openttdgui.png 514 136 01 32 32 0 0
-1 sprites/openttdgui.png 562 136 09 16 20 0 3
-1 sprites/openttdgui.png 594 136 03 43 56 0 0
-1 sprites/openttdgui.png 658 136 01 19 20 0 1
-1 sprites/openttdgui.png 690 136 01 32 32 0 0
-1 sprites/openttdgui.png 738 136 01 20 20 0 0
-1 sprites/openttdgui.png 2 200 01 31 31 1 1
-1 sprites/openttdgui.png 50 200 09 15 20 0 3
-1 sprites/openttdgui.png 82 200 03 36 56 0 0
-1 sprites/openttdgui.png 146 200 01 20 20 0 0
-1 sprites/openttdgui.png 178 200 01 32 32 0 0
-1 sprites/openttdgui.png 226 200 01 20 20 0 0
-1 sprites/openttdgui.png 258 200 01 32 32 0 0
-1 sprites/openttdgui.png 306 200 09 11 19 0 6
-1 sprites/openttdgui.png 338 200 03 36 56 0 0
-1 sprites/openttdgui.png 402 200 01 20 20 0 0
-1 sprites/openttdgui.png 434 200 01 32 32 0 0
-1 sprites/openttdgui.png 482 200 01 20 20 0 0
-1 sprites/openttdgui.png 514 200 01 32 32 0 0
-1 sprites/openttdgui.png 562 200 09 20 20 0 0
-1 sprites/openttdgui.png 594 200 09 20 20 0 0
-1 sprites/openttdgui.png 626 200 03 32 52 0 0
-1 sprites/openttdgui.png 690 200 09 33 29 -27 -16
-1 sprites/openttdgui.png 738 200 09 39 35 -29 -29
-1 sprites/openttdgui.png 2 264 09 34 29 1 -17
-1 sprites/openttdgui.png 50 264 09 39 34 -3 -28
-1 sprites/openttdgui.png 98 264 09 13 20 0 4
-1 sprites/openttdgui.png 130 264 03 36 56 0 0
-1 sprites/openttdgui.png 194 264 09 13 20 0 4
-1 sprites/openttdgui.png 226 264 03 36 56 0 0
-1 sprites/openttdgui.png 290 264 01 18 39 -9 -9
-1 sprites/openttdgui.png 338 264 01 44 72 -16 -35
-1 sprites/openttdgui.png 418 264 01 20 20 0 0
-1 sprites/openttdgui.png 450 264 01 44 72 -16 -35
-1 sprites/openttdgui.png 530 264 09 18 18 1 1
-1 sprites/openttdgui.png 562 264 01 20 20 0 0
-1 sprites/openttdgui.png 594 264 01 32 32 0 0
-1 sprites/openttdgui.png 642 264 01 18 18 0 0
-1 sprites/openttdgui.png 674 264 01 18 18 0 0
-1 sprites/openttdgui.png 706 264 01 18 18 0 0
-1 sprites/openttdgui.png 738 264 01 18 18 0 0
-1 sprites/openttdgui.png 770 264 01 18 18 0 0
-1 sprites/openttdgui.png 2 328 01 18 18 0 0
-1 sprites/openttdgui.png 34 328 01 18 18 0 0
-1 sprites/openttdgui.png 66 328 01 18 18 0 0
-1 sprites/openttdgui.png 98 328 01 18 18 0 0
-1 sprites/openttdgui.png 130 328 01 18 18 0 0
-1 sprites/openttdgui.png 162 328 01 18 18 0 0
-1 sprites/openttdgui.png 194 328 01 18 18 0 0
-1 sprites/openttdgui.png 226 328 01 18 18 0 0
-1 sprites/openttdgui.png 258 328 09 16 16 0 0
-1 sprites/openttdgui.png 290 328 01 16 16 0 0
-1 sprites/openttdgui.png 322 328 01 16 16 0 0
-1 sprites/openttdgui.png 354 328 01 16 16 0 0
-1 sprites/openttdgui.png 386 328 09 31 35 0 0
-1 sprites/openttdgui.png 434 328 01 30 33 0 0
-1 sprites/openttdgui.png 482 328 01 33 36 0 0
-1 sprites/openttdgui.png 530 328 01 33 37 0 0
-1 sprites/openttdgui.png 578 328 09 18 18 0 0
-1 sprites/openttdgui.png 610 328 09 18 18 0 0
-1 sprites/openttdgui.png 642 328 09 18 18 0 0
-1 sprites/openttdgui.png 674 328 09 18 18 0 0
-1 sprites/openttdgui.png 706 328 09 18 18 0 0
-1 sprites/openttdgui.png 738 328 09 18 18 0 0
-1 sprites/openttdgui.png 770 328 09 18 18 0 0
-1 sprites/openttdgui.png 2 376 09 18 18 0 0
-1 sprites/openttdgui.png 34 376 09 18 18 0 0
-1 sprites/openttdgui.png 66 376 09 18 18 0 0
-1 sprites/openttdgui.png 98 376 09 18 18 0 0
-1 sprites/openttdgui.png 130 376 09 18 18 0 0
-1 sprites/openttdgui.png 162 376 09 18 18 0 0
-1 sprites/openttdgui.png 194 376 09 18 18 0 0
-1 sprites/openttdgui.png 226 376 09 18 18 0 0
-1 sprites/openttdgui.png 258 376 09 18 18 0 0
-1 sprites/openttdgui.png 290 376 09 18 18 0 0
-1 sprites/openttdgui.png 322 376 09 18 18 0 0
-1 sprites/openttdgui.png 354 376 09 18 18 0 0
-1 sprites/openttdgui.png 386 376 09 18 18 0 0
-1 sprites/openttdgui.png 418 376 01 20 20 0 0
-1 sprites/openttdgui.png 450 376 01 22 19 0 0
-1 sprites/openttdgui.png 482 376 01 20 20 0 0
-1 sprites/openttdgui.png 514 376 01 44 54 -16 -35
-1 sprites/openttdgui.png 578 376 01 7 7 3 4
-1 sprites/openttdgui.png 594 376 01 7 7 3 4
-1 sprites/openttdgui.png 610 376 01 9 10 2 3
-1 sprites/openttdgui.png 626 376 01 9 10 2 3
-1 sprites/openttdgui.png 642 376 01 7 11 2 1
-1 sprites/openttdgui.png 658 376 01 9 9 3 3
-1 sprites/openttdgui.png 674 376 09 20 20 0 0
-1 sprites/openttdgui.png 706 376 09 20 20 0 0
-1 sprites/openttdgui.png 738 376 09 32 32 0 0
-1 sprites/openttdgui.png 786 376 09 10 10 0 0
-1 sprites/openttdgui.png 2 440 09 10 10 0 0
-1 sprites/openttdgui.png 18 440 09 7 7 0 0
-1 sprites/openttdgui.png 34 440 09 13 14 4 4
-1 sprites/openttdgui.png 66 440 09 8 7 0 0
-1 sprites/openttdgui.png 82 440 09 8 7 0 0
-1 sprites/openttdgui.png 98 440 09 8 7 0 0
-1 sprites/openttdgui.png 114 440 01 8 8 0 0
-1 sprites/openttdgui.png 130 440 01 8 8 0 0
-1 sprites/openttdgui.png 146 440 01 8 8 0 0
-1 sprites/openttdgui.png 162 440 01 8 8 0 0
-1 sprites/openttdgui.png 178 440 01 10 8 0 0
-1 sprites/openttdgui.png 194 440 09 10 13 0 -2
// -- NFO Renum 'settings' --
// Undo disabling the warning
// @@WARNING ENABLE 60
// -- End of NFO Renum 'settings' --

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -1,13 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "NewGRF overrides"
-1 * 30 00 08 01 03 00 11
44 44 22 02 44 44 01 11 // UKRS addons modifies UKRS
6D 62 04 02 6D 62 04 01 // DBSetXL ECS extension modifies DBSetXL
4D 65 6f 20 4D 65 6F 17 // LV4cut modifies LV4

View File

@@ -1,18 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Road stop graphics"
-1 * 3 05 11 08
-1 sprites/roadstops.png 34 8 09 23 13 5 -11
-1 sprites/roadstops.png 66 8 09 15 13 5 -2
-1 sprites/roadstops.png 98 8 09 19 21 -20 -7
-1 sprites/roadstops.png 130 8 09 17 22 -25 -4
-1 sprites/roadstops.png 162 8 09 25 32 -5 -9
-1 sprites/roadstops.png 210 8 09 26 28 -3 -12
-1 sprites/roadstops.png 258 8 09 25 29 -24 -12
-1 sprites/roadstops.png 306 8 09 25 32 -25 -9

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,75 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
//
// -- NFO Renum 'settings' --
// Do not make nforenum warn about the fact that we use an incorrect number of shores
// @@WARNING DISABLE 60
// -- End of NFO Renum 'settings' --
//
-1 * 6 07 83 01 \7! 00 0C
-1 * 54 0C "Missing shore tile graphics for the temperate climate"
-1 * 3 05 0D 0A
-1 sprites/shore.png 82 8 09 15 64 -31 0
-1 sprites/shore.png 162 8 09 31 64 -31 -8
-1 sprites/shore.png 242 8 09 23 64 -31 0
-1 sprites/shore.png 322 8 09 47 64 -31 -16
-1 sprites/shore.png 402 8 09 31 64 -31 -8
-1 sprites/shore.png 482 8 09 39 64 -31 -8
-1 sprites/shore.png 562 8 09 31 64 -31 -8
-1 sprites/shore.png 642 8 09 31 64 -31 -8
-1 sprites/shore.png 722 8 09 32 64 -31 -1
-1 sprites/shore.png 2 72 09 31 64 -31 -8
-1 * 6 07 83 01 \7! 01 0C
-1 * 55 0C "Missing shore tile graphics for the sub-arctic climate"
-1 * 3 05 0D 0A
-1 sprites/shore.png 130 72 09 15 64 -31 0
-1 sprites/shore.png 210 72 09 31 64 -31 -8
-1 sprites/shore.png 290 72 09 23 64 -31 0
-1 sprites/shore.png 370 72 09 47 64 -31 -16
-1 sprites/shore.png 450 72 09 31 64 -31 -8
-1 sprites/shore.png 530 72 09 39 64 -31 -8
-1 sprites/shore.png 610 72 09 31 64 -31 -8
-1 sprites/shore.png 690 72 09 31 64 -31 -8
-1 sprites/shore.png 2 136 09 32 64 -31 -1
-1 sprites/shore.png 82 136 09 31 64 -31 -8
-1 * 6 07 83 01 \7! 02 0C
-1 * 57 0C "Missing shore tile graphics for the sub-tropical climate"
-1 * 3 05 0D 0A
-1 sprites/shore.png 210 136 09 15 64 -31 0
-1 sprites/shore.png 290 136 09 31 64 -31 -8
-1 sprites/shore.png 370 136 09 23 64 -31 0
-1 sprites/shore.png 450 136 09 47 64 -31 -16
-1 sprites/shore.png 530 136 09 31 64 -31 -8
-1 sprites/shore.png 610 136 09 39 64 -31 -8
-1 sprites/shore.png 690 136 09 31 64 -31 -8
-1 sprites/shore.png 2 200 09 31 64 -31 -8
-1 sprites/shore.png 82 200 09 32 64 -31 -1
-1 sprites/shore.png 162 200 09 31 64 -31 -8
-1 * 6 07 83 01 \7! 03 0C
-1 * 44 0C "Missing shore tile graphics for the toyland climate"
-1 * 3 05 0D 0A
-1 sprites/shore.png 290 200 09 15 64 -31 0
-1 sprites/shore.png 370 200 09 31 64 -31 -8
-1 sprites/shore.png 450 200 09 23 64 -31 0
-1 sprites/shore.png 530 200 09 47 64 -31 -16
-1 sprites/shore.png 610 200 09 31 64 -31 -8
-1 sprites/shore.png 690 200 09 39 64 -31 -8
-1 sprites/shore.png 2 264 09 31 64 -31 -8
-1 sprites/shore.png 82 264 09 31 64 -31 -8
-1 sprites/shore.png 162 264 09 32 64 -31 -1
-1 sprites/shore.png 242 264 09 31 64 -31 -8
//
// -- NFO Renum 'settings' --
// Reset warning about incorrect number of shores
// @@WARNING ENABLE 60
// -- End of NFO Renum 'settings' --
//

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -1,493 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Pre-signal, semaphore, and PBS graphics by Michael Blunck"
-1 * 3 05 04 F0
-1 sprites/signals.png 66 8 01 21 6 -2 -19
-1 sprites/signals.png 82 8 01 21 6 -2 -19
-1 sprites/signals.png 98 8 01 21 6 -2 -19
-1 sprites/signals.png 114 8 01 21 6 -2 -19
-1 sprites/signals.png 130 8 01 21 6 -2 -19
-1 sprites/signals.png 146 8 01 21 6 -2 -19
-1 sprites/signals.png 162 8 01 21 6 -2 -19
-1 sprites/signals.png 178 8 01 21 6 -2 -19
-1 sprites/signals.png 194 8 01 21 6 -2 -19
-1 sprites/signals.png 210 8 01 21 6 -2 -19
-1 sprites/signals.png 226 8 01 21 6 -2 -19
-1 sprites/signals.png 242 8 01 21 6 -2 -19
-1 sprites/signals.png 258 8 01 21 6 -2 -19
-1 sprites/signals.png 274 8 01 21 6 -2 -19
-1 sprites/signals.png 290 8 01 21 6 -2 -19
-1 sprites/signals.png 306 8 01 21 6 -2 -19
-1 sprites/signals.png 322 8 01 21 6 -2 -19
-1 sprites/signals.png 338 8 01 21 6 -2 -19
-1 sprites/signals.png 354 8 01 21 6 -2 -19
-1 sprites/signals.png 370 8 01 21 6 -2 -19
-1 sprites/signals.png 386 8 01 21 6 -2 -19
-1 sprites/signals.png 402 8 01 21 6 -2 -19
-1 sprites/signals.png 418 8 01 21 6 -2 -19
-1 sprites/signals.png 434 8 01 21 6 -2 -19
-1 sprites/signals.png 450 8 01 21 6 -2 -19
-1 sprites/signals.png 466 8 01 21 6 -2 -19
-1 sprites/signals.png 482 8 01 21 6 -2 -19
-1 sprites/signals.png 498 8 01 21 6 -2 -19
-1 sprites/signals.png 514 8 01 21 6 -2 -19
-1 sprites/signals.png 530 8 01 21 6 -2 -19
-1 sprites/signals.png 546 8 01 21 6 -2 -19
-1 sprites/signals.png 562 8 01 21 6 -2 -19
-1 sprites/signals.png 578 8 01 21 6 -2 -19
-1 sprites/signals.png 594 8 01 21 6 -2 -19
-1 sprites/signals.png 610 8 01 21 6 -2 -19
-1 sprites/signals.png 626 8 01 21 6 -2 -19
-1 sprites/signals.png 642 8 01 21 6 -2 -19
-1 sprites/signals.png 658 8 01 21 6 -2 -19
-1 sprites/signals.png 674 8 01 21 6 -2 -19
-1 sprites/signals.png 690 8 01 21 6 -2 -19
-1 sprites/signals.png 706 8 01 21 6 -2 -19
-1 sprites/signals.png 722 8 01 21 6 -2 -19
-1 sprites/signals.png 738 8 01 21 6 -2 -19
-1 sprites/signals.png 754 8 01 21 6 -2 -19
-1 sprites/signals.png 770 8 01 21 6 -2 -19
-1 sprites/signals.png 786 8 01 21 6 -2 -19
-1 sprites/signals.png 2 40 01 21 6 -2 -19
-1 sprites/signals.png 18 40 01 21 6 -2 -19
-1 sprites/signals.png 34 40 01 21 10 -6 -19
-1 sprites/signals.png 50 40 01 23 7 -3 -21
-1 sprites/signals.png 66 40 01 21 10 1 -19
-1 sprites/signals.png 82 40 01 21 9 1 -19
-1 sprites/signals.png 98 40 01 21 9 1 -19
-1 sprites/signals.png 114 40 01 23 6 1 -21
-1 sprites/signals.png 130 40 01 21 10 -7 -19
-1 sprites/signals.png 146 40 01 21 10 -7 -19
-1 sprites/signals.png 162 40 01 21 2 1 -19
-1 sprites/signals.png 178 40 01 24 2 1 -22
-1 sprites/signals.png 194 40 01 23 2 1 -21
-1 sprites/signals.png 210 40 01 26 2 1 -24
-1 sprites/signals.png 226 40 01 21 11 -7 -19
-1 sprites/signals.png 242 40 01 21 8 -4 -19
-1 sprites/signals.png 258 40 01 21 11 1 -19
-1 sprites/signals.png 274 40 01 21 8 1 -19
-1 sprites/signals.png 290 40 01 21 12 -6 -19
-1 sprites/signals.png 322 40 01 23 9 -3 -21
-1 sprites/signals.png 338 40 01 21 12 -1 -19
-1 sprites/signals.png 370 40 01 21 11 -1 -19
-1 sprites/signals.png 386 40 01 21 11 -1 -19
-1 sprites/signals.png 402 40 01 23 8 -1 -21
-1 sprites/signals.png 418 40 01 21 12 -7 -19
-1 sprites/signals.png 450 40 01 21 12 -7 -19
-1 sprites/signals.png 482 40 01 21 4 1 -19
-1 sprites/signals.png 498 40 01 24 4 1 -22
-1 sprites/signals.png 514 40 01 23 4 -1 -21
-1 sprites/signals.png 530 40 01 26 4 -1 -24
-1 sprites/signals.png 546 40 01 21 13 -7 -19
-1 sprites/signals.png 578 40 01 21 10 -4 -19
-1 sprites/signals.png 594 40 01 21 13 -1 -19
-1 sprites/signals.png 626 40 01 21 10 -1 -19
-1 sprites/signals.png 642 40 01 21 11 -6 -19
-1 sprites/signals.png 658 40 01 23 8 -3 -21
-1 sprites/signals.png 674 40 01 21 11 0 -19
-1 sprites/signals.png 690 40 01 21 10 0 -19
-1 sprites/signals.png 706 40 01 21 10 0 -19
-1 sprites/signals.png 722 40 01 23 7 0 -21
-1 sprites/signals.png 738 40 01 21 11 -7 -19
-1 sprites/signals.png 754 40 01 21 11 -7 -19
-1 sprites/signals.png 770 40 01 21 4 1 -19
-1 sprites/signals.png 786 40 01 24 4 1 -22
-1 sprites/signals.png 2 88 01 23 4 -1 -21
-1 sprites/signals.png 18 88 01 26 4 -1 -24
-1 sprites/signals.png 34 88 01 21 12 -7 -19
-1 sprites/signals.png 66 88 01 21 9 -4 -19
-1 sprites/signals.png 82 88 01 21 12 0 -19
-1 sprites/signals.png 114 88 01 21 9 0 -19
-1 sprites/signals.png 130 88 01 21 11 -6 -19
-1 sprites/signals.png 146 88 01 23 8 -3 -21
-1 sprites/signals.png 162 88 01 21 11 0 -19
-1 sprites/signals.png 178 88 01 21 10 0 -19
-1 sprites/signals.png 194 88 01 21 10 0 -19
-1 sprites/signals.png 210 88 01 23 7 0 -21
-1 sprites/signals.png 226 88 01 21 11 -7 -19
-1 sprites/signals.png 242 88 01 21 11 -7 -19
-1 sprites/signals.png 258 88 01 21 4 1 -19
-1 sprites/signals.png 274 88 01 24 4 1 -22
-1 sprites/signals.png 290 88 01 23 4 -1 -21
-1 sprites/signals.png 306 88 01 26 4 -1 -24
-1 sprites/signals.png 322 88 01 21 12 -7 -19
-1 sprites/signals.png 354 88 01 21 9 -4 -19
-1 sprites/signals.png 370 88 01 21 12 0 -19
-1 sprites/signals.png 402 88 01 21 9 0 -19
-1 sprites/signals.png 418 88 01 19 6 -2 -17
-1 sprites/signals.png 434 88 01 19 6 -2 -17
-1 sprites/signals.png 450 88 01 19 6 -2 -17
-1 sprites/signals.png 466 88 01 19 6 -2 -17
-1 sprites/signals.png 482 88 01 19 6 -2 -17
-1 sprites/signals.png 498 88 01 19 6 -2 -17
-1 sprites/signals.png 514 88 01 19 6 -2 -17
-1 sprites/signals.png 530 88 01 19 6 -2 -17
-1 sprites/signals.png 546 88 01 19 6 -2 -17
-1 sprites/signals.png 562 88 01 19 6 -2 -17
-1 sprites/signals.png 578 88 01 19 6 -2 -17
-1 sprites/signals.png 594 88 01 19 6 -2 -17
-1 sprites/signals.png 610 88 01 19 6 -2 -17
-1 sprites/signals.png 626 88 01 19 6 -2 -17
-1 sprites/signals.png 642 88 01 19 6 -2 -17
-1 sprites/signals.png 658 88 01 19 6 -2 -17
-1 sprites/signals.png 674 88 01 19 6 -2 -17
-1 sprites/signals.png 690 88 01 19 6 -2 -17
-1 sprites/signals.png 706 88 01 19 6 -2 -17
-1 sprites/signals.png 722 88 01 19 6 -2 -17
-1 sprites/signals.png 738 88 01 19 6 -2 -17
-1 sprites/signals.png 754 88 01 19 6 -2 -17
-1 sprites/signals.png 770 88 01 19 6 -2 -17
-1 sprites/signals.png 786 88 01 19 6 -2 -17
-1 sprites/signals.png 2 136 01 19 6 -2 -17
-1 sprites/signals.png 18 136 01 19 6 -2 -17
-1 sprites/signals.png 34 136 01 19 6 -2 -17
-1 sprites/signals.png 50 136 01 19 6 -2 -17
-1 sprites/signals.png 66 136 01 19 6 -2 -17
-1 sprites/signals.png 82 136 01 19 6 -2 -17
-1 sprites/signals.png 98 136 01 19 6 -2 -17
-1 sprites/signals.png 114 136 01 19 6 -2 -17
-1 sprites/signals.png 130 136 01 21 6 -2 -19
-1 sprites/signals.png 146 136 01 21 6 -2 -19
-1 sprites/signals.png 162 136 01 21 6 -2 -19
-1 sprites/signals.png 178 136 01 21 6 -2 -19
-1 sprites/signals.png 194 136 01 21 6 -2 -19
-1 sprites/signals.png 210 136 01 21 6 -2 -19
-1 sprites/signals.png 226 136 01 21 6 -2 -19
-1 sprites/signals.png 242 136 01 21 6 -2 -19
-1 sprites/signals.png 258 136 01 21 6 -2 -19
-1 sprites/signals.png 274 136 01 21 6 -2 -19
-1 sprites/signals.png 290 136 01 21 6 -2 -19
-1 sprites/signals.png 306 136 01 21 6 -2 -19
-1 sprites/signals.png 322 136 01 21 6 -2 -19
-1 sprites/signals.png 338 136 01 21 6 -2 -19
-1 sprites/signals.png 354 136 01 21 6 -2 -19
-1 sprites/signals.png 370 136 01 21 6 -2 -19
-1 sprites/signals.png 386 136 01 21 6 -2 -19
-1 sprites/signals.png 402 136 01 21 6 -2 -19
-1 sprites/signals.png 418 136 01 21 6 -2 -19
-1 sprites/signals.png 434 136 01 21 6 -2 -19
-1 sprites/signals.png 450 136 01 21 6 -2 -19
-1 sprites/signals.png 466 136 01 21 6 -2 -19
-1 sprites/signals.png 482 136 01 21 6 -2 -19
-1 sprites/signals.png 498 136 01 21 6 -2 -19
-1 sprites/signals.png 514 136 01 21 6 -2 -19
-1 sprites/signals.png 530 136 01 21 6 -2 -19
-1 sprites/signals.png 546 136 01 21 6 -2 -19
-1 sprites/signals.png 562 136 01 21 6 -2 -19
-1 sprites/signals.png 578 136 01 21 6 -2 -19
-1 sprites/signals.png 594 136 01 21 6 -2 -19
-1 sprites/signals.png 610 136 01 21 6 -2 -19
-1 sprites/signals.png 626 136 01 21 6 -2 -19
-1 sprites/signals.png 642 136 01 21 10 -6 -19
-1 sprites/signals.png 658 136 01 23 7 -3 -21
-1 sprites/signals.png 674 136 01 21 10 1 -19
-1 sprites/signals.png 690 136 01 21 9 1 -19
-1 sprites/signals.png 706 136 01 21 9 1 -19
-1 sprites/signals.png 722 136 01 23 6 1 -21
-1 sprites/signals.png 738 136 01 21 10 -7 -19
-1 sprites/signals.png 754 136 01 21 10 -7 -19
-1 sprites/signals.png 770 136 01 21 2 1 -19
-1 sprites/signals.png 786 136 01 24 2 1 -22
-1 sprites/signals.png 2 184 01 23 2 1 -21
-1 sprites/signals.png 18 184 01 26 2 1 -24
-1 sprites/signals.png 34 184 01 21 11 -7 -19
-1 sprites/signals.png 50 184 01 21 8 -4 -19
-1 sprites/signals.png 66 184 01 21 11 1 -19
-1 sprites/signals.png 82 184 01 21 8 1 -19
-1 sprites/signals.png 98 184 01 21 12 -6 -19
-1 sprites/signals.png 130 184 01 23 9 -3 -21
-1 sprites/signals.png 146 184 01 21 12 -1 -19
-1 sprites/signals.png 178 184 01 21 11 -1 -19
-1 sprites/signals.png 194 184 01 21 11 -1 -19
-1 sprites/signals.png 210 184 01 23 8 -1 -21
-1 sprites/signals.png 226 184 01 21 12 -7 -19
-1 sprites/signals.png 258 184 01 21 12 -7 -19
-1 sprites/signals.png 290 184 01 21 4 -1 -19
-1 sprites/signals.png 306 184 01 24 4 -1 -22
-1 sprites/signals.png 322 184 01 23 4 1 -21
-1 sprites/signals.png 338 184 01 26 4 1 -24
-1 sprites/signals.png 354 184 01 21 13 -7 -19
-1 sprites/signals.png 386 184 01 21 10 -4 -19
-1 sprites/signals.png 402 184 01 21 13 -1 -19
-1 sprites/signals.png 434 184 01 21 10 -1 -19
-1 sprites/signals.png 450 184 01 21 11 -6 -19
-1 sprites/signals.png 466 184 01 23 8 -3 -21
-1 sprites/signals.png 482 184 01 21 11 0 -19
-1 sprites/signals.png 498 184 01 21 10 0 -19
-1 sprites/signals.png 514 184 01 21 10 0 -19
-1 sprites/signals.png 530 184 01 23 7 0 -21
-1 sprites/signals.png 546 184 01 21 11 -7 -19
-1 sprites/signals.png 562 184 01 21 11 -7 -19
-1 sprites/signals.png 578 184 01 21 4 1 -19
-1 sprites/signals.png 594 184 01 24 4 1 -22
-1 sprites/signals.png 610 184 01 23 4 -1 -21
-1 sprites/signals.png 626 184 01 26 4 -1 -24
-1 sprites/signals.png 642 184 01 21 12 -7 -19
-1 sprites/signals.png 674 184 01 21 9 -4 -19
-1 sprites/signals.png 690 184 01 21 12 0 -19
-1 sprites/signals.png 722 184 01 21 9 0 -19
-1 sprites/signals.png 738 184 01 21 11 -6 -19
-1 sprites/signals.png 754 184 01 23 8 -3 -21
-1 sprites/signals.png 770 184 01 21 11 0 -19
-1 sprites/signals.png 786 184 01 21 10 0 -19
-1 sprites/signals.png 2 232 01 21 10 0 -19
-1 sprites/signals.png 18 232 01 23 7 0 -21
-1 sprites/signals.png 34 232 01 21 11 -7 -19
-1 sprites/signals.png 50 232 01 21 11 -7 -19
-1 sprites/signals.png 66 232 01 21 4 1 -19
-1 sprites/signals.png 82 232 01 24 4 1 -22
-1 sprites/signals.png 98 232 01 23 4 -1 -21
-1 sprites/signals.png 114 232 01 26 4 -1 -24
-1 sprites/signals.png 130 232 01 21 12 -7 -19
-1 sprites/signals.png 162 232 01 21 9 -4 -19
-1 sprites/signals.png 178 232 01 21 12 0 -19
-1 sprites/signals.png 210 232 01 21 9 0 -19
-1 * 6 07 85 01 \70 3B F2
-1 * 6 07 86 01 \70 04 F1
-1 * 3 05 04 F0
-1 sprites/signals.png 274 232 01 21 6 -2 -19
-1 sprites/signals.png 290 232 01 21 6 -2 -19
-1 sprites/signals.png 306 232 01 21 6 -2 -19
-1 sprites/signals.png 322 232 01 21 6 -2 -19
-1 sprites/signals.png 338 232 01 21 6 -2 -19
-1 sprites/signals.png 354 232 01 21 6 -2 -19
-1 sprites/signals.png 370 232 01 21 6 -2 -19
-1 sprites/signals.png 386 232 01 21 6 -2 -19
-1 sprites/signals.png 402 232 01 21 6 -2 -19
-1 sprites/signals.png 418 232 01 21 6 -2 -19
-1 sprites/signals.png 434 232 01 21 6 -2 -19
-1 sprites/signals.png 450 232 01 21 6 -2 -19
-1 sprites/signals.png 466 232 01 21 6 -2 -19
-1 sprites/signals.png 482 232 01 21 6 -2 -19
-1 sprites/signals.png 498 232 01 21 6 -2 -19
-1 sprites/signals.png 514 232 01 21 6 -2 -19
-1 sprites/signals.png 530 232 01 21 6 -2 -19
-1 sprites/signals.png 546 232 01 21 6 -2 -19
-1 sprites/signals.png 562 232 01 21 6 -2 -19
-1 sprites/signals.png 578 232 01 21 6 -2 -19
-1 sprites/signals.png 594 232 01 21 6 -2 -19
-1 sprites/signals.png 610 232 01 21 6 -2 -19
-1 sprites/signals.png 626 232 01 21 6 -2 -19
-1 sprites/signals.png 642 232 01 21 6 -2 -19
-1 sprites/signals.png 658 232 01 21 6 -2 -19
-1 sprites/signals.png 674 232 01 21 6 -2 -19
-1 sprites/signals.png 690 232 01 21 6 -2 -19
-1 sprites/signals.png 706 232 01 21 6 -2 -19
-1 sprites/signals.png 722 232 01 21 6 -2 -19
-1 sprites/signals.png 738 232 01 21 6 -2 -19
-1 sprites/signals.png 754 232 01 21 6 -2 -19
-1 sprites/signals.png 770 232 01 21 6 -2 -19
-1 sprites/signals.png 786 232 01 21 6 -2 -19
-1 sprites/signals.png 2 280 01 21 6 -2 -19
-1 sprites/signals.png 18 280 01 21 6 -2 -19
-1 sprites/signals.png 34 280 01 21 6 -2 -19
-1 sprites/signals.png 50 280 01 21 6 -2 -19
-1 sprites/signals.png 66 280 01 21 6 -2 -19
-1 sprites/signals.png 82 280 01 21 6 -2 -19
-1 sprites/signals.png 98 280 01 21 6 -2 -19
-1 sprites/signals.png 114 280 01 21 6 -2 -19
-1 sprites/signals.png 130 280 01 21 6 -2 -19
-1 sprites/signals.png 146 280 01 21 6 -2 -19
-1 sprites/signals.png 162 280 01 21 6 -2 -19
-1 sprites/signals.png 178 280 01 21 6 -2 -19
-1 sprites/signals.png 194 280 01 21 6 -2 -19
-1 sprites/signals.png 210 280 01 21 6 -2 -19
-1 sprites/signals.png 226 280 01 21 6 -2 -19
-1 sprites/signals.png 242 280 01 21 10 -7 -19
-1 sprites/signals.png 258 280 01 23 10 -8 -21
-1 sprites/signals.png 274 280 01 23 10 -7 -21
-1 sprites/signals.png 290 280 01 26 7 -5 -24
-1 sprites/signals.png 306 280 01 21 10 -7 -19
-1 sprites/signals.png 322 280 01 23 10 -6 -21
-1 sprites/signals.png 338 280 01 23 10 1 -21
-1 sprites/signals.png 354 280 01 26 7 2 -24
-1 sprites/signals.png 370 280 01 23 3 0 -21
-1 sprites/signals.png 386 280 01 26 3 0 -24
-1 sprites/signals.png 402 280 01 21 3 0 -19
-1 sprites/signals.png 418 280 01 24 3 0 -22
-1 sprites/signals.png 434 280 01 21 12 0 -19
-1 sprites/signals.png 466 280 01 24 9 0 -22
-1 sprites/signals.png 482 280 01 21 12 -9 -19
-1 sprites/signals.png 514 280 01 24 9 -6 -22
-1 sprites/signals.png 530 280 01 21 12 -9 -19
-1 sprites/signals.png 562 280 01 23 11 -9 -21
-1 sprites/signals.png 578 280 01 23 11 -7 -21
-1 sprites/signals.png 594 280 01 26 9 -5 -24
-1 sprites/signals.png 610 280 01 21 12 -7 -19
-1 sprites/signals.png 642 280 01 23 11 -6 -21
-1 sprites/signals.png 658 280 01 23 11 0 -21
-1 sprites/signals.png 674 280 01 26 9 0 -24
-1 sprites/signals.png 690 280 01 23 5 0 -21
-1 sprites/signals.png 706 280 01 26 5 0 -24
-1 sprites/signals.png 722 280 01 21 5 -2 -19
-1 sprites/signals.png 738 280 01 24 5 -2 -22
-1 sprites/signals.png 754 280 01 21 13 -1 -19
-1 sprites/signals.png 786 280 01 24 10 -1 -22
-1 sprites/signals.png 2 328 01 21 13 -9 -19
-1 sprites/signals.png 34 328 01 24 10 -6 -22
-1 sprites/signals.png 50 328 01 21 11 -8 -19
-1 sprites/signals.png 66 328 01 23 10 -8 -21
-1 sprites/signals.png 82 328 01 23 10 -7 -21
-1 sprites/signals.png 98 328 01 26 8 -5 -24
-1 sprites/signals.png 114 328 01 21 11 -7 -19
-1 sprites/signals.png 130 328 01 23 10 -6 -21
-1 sprites/signals.png 146 328 01 23 10 1 -21
-1 sprites/signals.png 162 328 01 26 8 1 -24
-1 sprites/signals.png 178 328 01 23 5 0 -21
-1 sprites/signals.png 194 328 01 26 5 0 -24
-1 sprites/signals.png 210 328 01 21 5 -2 -19
-1 sprites/signals.png 226 328 01 24 5 -2 -22
-1 sprites/signals.png 242 328 01 21 12 0 -19
-1 sprites/signals.png 274 328 01 24 9 0 -22
-1 sprites/signals.png 290 328 01 21 12 -9 -19
-1 sprites/signals.png 322 328 01 24 9 -6 -22
-1 sprites/signals.png 338 328 01 21 11 -8 -19
-1 sprites/signals.png 354 328 01 23 10 -8 -21
-1 sprites/signals.png 370 328 01 23 10 -7 -21
-1 sprites/signals.png 386 328 01 26 8 -5 -24
-1 sprites/signals.png 402 328 01 21 11 -7 -19
-1 sprites/signals.png 418 328 01 23 10 -6 -21
-1 sprites/signals.png 434 328 01 23 10 1 -21
-1 sprites/signals.png 450 328 01 26 8 1 -24
-1 sprites/signals.png 466 328 01 23 5 0 -21
-1 sprites/signals.png 482 328 01 26 5 0 -24
-1 sprites/signals.png 498 328 01 21 5 -2 -19
-1 sprites/signals.png 514 328 01 24 5 -2 -22
-1 sprites/signals.png 530 328 01 21 12 0 -19
-1 sprites/signals.png 562 328 01 24 9 0 -22
-1 sprites/signals.png 578 328 01 21 12 -9 -19
-1 sprites/signals.png 610 328 01 24 9 -6 -22
-1 sprites/signals.png 626 328 01 19 6 -2 -17
-1 sprites/signals.png 642 328 01 19 6 -2 -17
-1 sprites/signals.png 658 328 01 19 6 -2 -17
-1 sprites/signals.png 674 328 01 19 6 -2 -17
-1 sprites/signals.png 690 328 01 19 6 -2 -17
-1 sprites/signals.png 706 328 01 19 6 -2 -17
-1 sprites/signals.png 722 328 01 19 6 -2 -17
-1 sprites/signals.png 738 328 01 19 6 -2 -17
-1 sprites/signals.png 754 328 01 19 6 -2 -17
-1 sprites/signals.png 770 328 01 19 6 -2 -17
-1 sprites/signals.png 786 328 01 19 6 -2 -17
-1 sprites/signals.png 2 376 01 19 6 -2 -17
-1 sprites/signals.png 18 376 01 19 6 -2 -17
-1 sprites/signals.png 34 376 01 19 6 -2 -17
-1 sprites/signals.png 50 376 01 19 6 -2 -17
-1 sprites/signals.png 66 376 01 19 6 -2 -17
-1 sprites/signals.png 82 376 01 19 6 -2 -17
-1 sprites/signals.png 98 376 01 19 6 -2 -17
-1 sprites/signals.png 114 376 01 19 6 -2 -17
-1 sprites/signals.png 130 376 01 19 6 -2 -17
-1 sprites/signals.png 146 376 01 19 6 -2 -17
-1 sprites/signals.png 162 376 01 19 6 -2 -17
-1 sprites/signals.png 178 376 01 19 6 -2 -17
-1 sprites/signals.png 194 376 01 19 6 -2 -17
-1 sprites/signals.png 210 376 01 19 6 -2 -17
-1 sprites/signals.png 226 376 01 19 6 -2 -17
-1 sprites/signals.png 242 376 01 19 6 -2 -17
-1 sprites/signals.png 258 376 01 19 6 -2 -17
-1 sprites/signals.png 274 376 01 19 6 -2 -17
-1 sprites/signals.png 290 376 01 19 6 -2 -17
-1 sprites/signals.png 306 376 01 19 6 -2 -17
-1 sprites/signals.png 322 376 01 19 6 -2 -17
-1 sprites/signals.png 338 376 01 21 6 -2 -19
-1 sprites/signals.png 354 376 01 21 6 -2 -19
-1 sprites/signals.png 370 376 01 21 6 -2 -19
-1 sprites/signals.png 386 376 01 21 6 -2 -19
-1 sprites/signals.png 402 376 01 21 6 -2 -19
-1 sprites/signals.png 418 376 01 21 6 -2 -19
-1 sprites/signals.png 434 376 01 21 6 -2 -19
-1 sprites/signals.png 450 376 01 21 6 -2 -19
-1 sprites/signals.png 466 376 01 21 6 -2 -19
-1 sprites/signals.png 482 376 01 21 6 -2 -19
-1 sprites/signals.png 498 376 01 21 6 -2 -19
-1 sprites/signals.png 514 376 01 21 6 -2 -19
-1 sprites/signals.png 530 376 01 21 6 -2 -19
-1 sprites/signals.png 546 376 01 21 6 -2 -19
-1 sprites/signals.png 562 376 01 21 6 -2 -19
-1 sprites/signals.png 578 376 01 21 6 -2 -19
-1 sprites/signals.png 594 376 01 21 6 -2 -19
-1 sprites/signals.png 610 376 01 21 6 -2 -19
-1 sprites/signals.png 626 376 01 21 6 -2 -19
-1 sprites/signals.png 642 376 01 21 6 -2 -19
-1 sprites/signals.png 658 376 01 21 6 -2 -19
-1 sprites/signals.png 674 376 01 21 6 -2 -19
-1 sprites/signals.png 690 376 01 21 6 -2 -19
-1 sprites/signals.png 706 376 01 21 6 -2 -19
-1 sprites/signals.png 722 376 01 21 6 -2 -19
-1 sprites/signals.png 738 376 01 21 6 -2 -19
-1 sprites/signals.png 754 376 01 21 6 -2 -19
-1 sprites/signals.png 770 376 01 21 6 -2 -19
-1 sprites/signals.png 786 376 01 21 6 -2 -19
-1 sprites/signals.png 2 408 01 21 6 -2 -19
-1 sprites/signals.png 18 408 01 21 6 -2 -19
-1 sprites/signals.png 34 408 01 21 6 -2 -19
-1 sprites/signals.png 50 408 01 21 10 -7 -19
-1 sprites/signals.png 66 408 01 23 10 -8 -21
-1 sprites/signals.png 82 408 01 23 10 -7 -21
-1 sprites/signals.png 98 408 01 26 7 -5 -24
-1 sprites/signals.png 114 408 01 21 10 -7 -19
-1 sprites/signals.png 130 408 01 23 10 -6 -21
-1 sprites/signals.png 146 408 01 23 10 1 -21
-1 sprites/signals.png 162 408 01 26 7 2 -24
-1 sprites/signals.png 178 408 01 23 3 0 -21
-1 sprites/signals.png 194 408 01 26 3 0 -24
-1 sprites/signals.png 210 408 01 21 3 0 -19
-1 sprites/signals.png 226 408 01 24 3 0 -22
-1 sprites/signals.png 242 408 01 21 12 0 -19
-1 sprites/signals.png 274 408 01 24 9 0 -22
-1 sprites/signals.png 290 408 01 21 12 -9 -19
-1 sprites/signals.png 322 408 01 24 9 -6 -22
-1 sprites/signals.png 338 408 01 21 12 -9 -19
-1 sprites/signals.png 370 408 01 23 11 -9 -21
-1 sprites/signals.png 386 408 01 23 11 -7 -21
-1 sprites/signals.png 402 408 01 26 9 -5 -24
-1 sprites/signals.png 418 408 01 21 12 -7 -19
-1 sprites/signals.png 450 408 01 23 11 -6 -21
-1 sprites/signals.png 466 408 01 23 11 0 -21
-1 sprites/signals.png 482 408 01 26 9 0 -24
-1 sprites/signals.png 498 408 01 23 5 -1 -21
-1 sprites/signals.png 514 408 01 26 5 -1 -24
-1 sprites/signals.png 530 408 01 21 5 -1 -19
-1 sprites/signals.png 546 408 01 24 5 -1 -22
-1 sprites/signals.png 562 408 01 21 13 -1 -19
-1 sprites/signals.png 594 408 01 24 10 -1 -22
-1 sprites/signals.png 610 408 01 21 13 -9 -19
-1 sprites/signals.png 642 408 01 24 10 -6 -22
-1 sprites/signals.png 658 408 01 21 11 -8 -19
-1 sprites/signals.png 674 408 01 23 10 -8 -21
-1 sprites/signals.png 690 408 01 23 10 -7 -21
-1 sprites/signals.png 706 408 01 26 8 -5 -24
-1 sprites/signals.png 722 408 01 21 11 -7 -19
-1 sprites/signals.png 738 408 01 23 10 -6 -21
-1 sprites/signals.png 754 408 01 23 10 1 -21
-1 sprites/signals.png 770 408 01 26 8 1 -24
-1 sprites/signals.png 786 408 01 23 5 0 -21
-1 sprites/signals.png 2 456 01 26 5 0 -24
-1 sprites/signals.png 18 456 01 21 5 -2 -19
-1 sprites/signals.png 34 456 01 24 5 -2 -22
-1 sprites/signals.png 50 456 01 21 12 0 -19
-1 sprites/signals.png 82 456 01 24 9 0 -22
-1 sprites/signals.png 98 456 01 21 12 -9 -19
-1 sprites/signals.png 130 456 01 24 9 -6 -22
-1 sprites/signals.png 146 456 01 21 11 -8 -19
-1 sprites/signals.png 162 456 01 23 10 -8 -21
-1 sprites/signals.png 178 456 01 23 10 -7 -21
-1 sprites/signals.png 194 456 01 26 8 -5 -24
-1 sprites/signals.png 210 456 01 21 11 -7 -19
-1 sprites/signals.png 226 456 01 23 10 -6 -21
-1 sprites/signals.png 242 456 01 23 10 1 -21
-1 sprites/signals.png 258 456 01 26 8 1 -24
-1 sprites/signals.png 274 456 01 23 5 0 -21
-1 sprites/signals.png 290 456 01 26 5 0 -24
-1 sprites/signals.png 306 456 01 21 5 -2 -19
-1 sprites/signals.png 322 456 01 24 5 -2 -22
-1 sprites/signals.png 338 456 01 21 12 0 -19
-1 sprites/signals.png 370 456 01 24 9 0 -22
-1 sprites/signals.png 386 456 01 21 12 -9 -19
-1 sprites/signals.png 418 456 01 24 9 -6 -22

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -1,22 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Sloped tracks"
-1 * 3 05 0F 0C
-1 sprites/sloped_tracks.png 50 8 09 29 42 -19 -3
-1 sprites/sloped_tracks.png 98 8 09 13 41 -20 5
-1 sprites/sloped_tracks.png 146 8 09 14 42 -19 5
-1 sprites/sloped_tracks.png 194 8 09 29 42 -21 -3
-1 sprites/sloped_tracks.png 242 8 09 25 33 -15 -1
-1 sprites/sloped_tracks.png 290 8 09 10 33 -15 7
-1 sprites/sloped_tracks.png 338 8 09 10 34 -15 7
-1 sprites/sloped_tracks.png 386 8 09 25 34 -15 -1
-1 sprites/sloped_tracks.png 434 8 09 23 31 -13 -1
-1 sprites/sloped_tracks.png 482 8 09 10 32 -15 7
-1 sprites/sloped_tracks.png 530 8 09 10 31 -15 7
-1 sprites/sloped_tracks.png 578 8 09 23 31 -16 -1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,123 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Tram track graphics by PikkaBird"
-1 * 3 05 0B 71
-1 sprites/tramtracks.png 18 8 09 13 20 0 4
-1 sprites/tramtracks.png 50 8 09 13 20 0 4
-1 sprites/tramtracks.png 82 8 03 36 64 -18 -8
-1 sprites/tramtracks.png 162 8 03 36 62 -16 -8
-1 sprites/tramtracks.png 242 8 09 31 64 -31 0
-1 sprites/tramtracks.png 322 8 09 31 64 -31 0
-1 sprites/tramtracks.png 402 8 09 31 64 -31 0
-1 sprites/tramtracks.png 482 8 09 31 64 -31 0
-1 sprites/tramtracks.png 562 8 09 31 64 -31 0
-1 sprites/tramtracks.png 642 8 09 31 64 -31 0
-1 sprites/tramtracks.png 722 8 09 31 64 -31 0
-1 sprites/tramtracks.png 2 56 09 31 64 -31 0
-1 sprites/tramtracks.png 82 56 09 31 64 -31 0
-1 sprites/tramtracks.png 162 56 09 31 64 -31 0
-1 sprites/tramtracks.png 242 56 09 31 64 -31 0
-1 sprites/tramtracks.png 322 56 09 39 64 -31 -8
-1 sprites/tramtracks.png 402 56 09 23 64 -31 0
-1 sprites/tramtracks.png 482 56 09 23 64 -31 0
-1 sprites/tramtracks.png 562 56 09 39 64 -31 -8
-1 sprites/tramtracks.png 642 56 09 31 64 -31 0
-1 sprites/tramtracks.png 722 56 09 31 64 -31 0
-1 sprites/tramtracks.png 2 120 09 31 64 -31 0
-1 sprites/tramtracks.png 82 120 09 31 64 -31 0
-1 sprites/tramtracks.png 162 120 09 31 64 -31 0
-1 sprites/tramtracks.png 242 120 09 31 64 -31 0
-1 sprites/tramtracks.png 322 120 09 31 64 -31 0
-1 sprites/tramtracks.png 402 120 09 31 64 -31 0
-1 sprites/tramtracks.png 482 120 09 31 64 -31 0
-1 sprites/tramtracks.png 562 120 09 31 64 -31 0
-1 sprites/tramtracks.png 642 120 09 31 64 -31 0
-1 sprites/tramtracks.png 722 120 09 31 64 -31 0
-1 sprites/tramtracks.png 2 168 09 31 64 -31 0
-1 sprites/tramtracks.png 82 168 09 31 64 -31 0
-1 sprites/tramtracks.png 162 168 09 31 64 -31 0
-1 sprites/tramtracks.png 242 168 09 31 64 -31 0
-1 sprites/tramtracks.png 322 168 09 31 64 -31 0
-1 sprites/tramtracks.png 402 168 09 31 64 -31 0
-1 sprites/tramtracks.png 482 168 09 31 64 -31 0
-1 sprites/tramtracks.png 562 168 09 39 64 -31 -8
-1 sprites/tramtracks.png 642 168 09 23 64 -31 0
-1 sprites/tramtracks.png 722 168 09 23 64 -31 0
-1 sprites/tramtracks.png 2 232 09 39 64 -31 -8
-1 sprites/tramtracks.png 82 232 09 31 64 -31 0
-1 sprites/tramtracks.png 162 232 09 31 64 -31 0
-1 sprites/tramtracks.png 242 232 09 31 64 -31 0
-1 sprites/tramtracks.png 322 232 09 31 64 -31 0
-1 sprites/tramtracks.png 402 232 09 31 64 -31 0
-1 sprites/tramtracks.png 482 232 09 31 64 -31 0
-1 sprites/tramtracks.png 562 232 09 20 20 0 0
-1 sprites/tramtracks.png 594 232 09 31 64 -31 0
-1 sprites/tramtracks.png 674 232 09 64 62 2 -49
-1 sprites/tramtracks.png 2 312 09 31 64 -31 0
-1 sprites/tramtracks.png 82 312 09 64 62 -62 -49
-1 sprites/tramtracks.png 162 312 09 64 62 -62 -49
-1 sprites/tramtracks.png 242 312 09 64 62 2 -49
-1 sprites/tramtracks.png 322 312 09 48 64 -31 -17
-1 sprites/tramtracks.png 402 312 09 48 64 -31 -17
-1 sprites/tramtracks.png 482 312 09 48 64 -31 -17
-1 sprites/tramtracks.png 562 312 09 48 64 -31 -17
-1 sprites/tramtracks.png 642 312 09 48 64 -31 -17
-1 sprites/tramtracks.png 722 312 09 48 64 -31 -17
-1 sprites/tramtracks.png 2 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 82 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 162 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 242 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 322 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 402 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 482 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 562 392 09 56 64 -31 -25
-1 sprites/tramtracks.png 642 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 722 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 2 472 09 56 64 -31 -25
-1 sprites/tramtracks.png 82 472 09 56 64 -31 -25
-1 sprites/tramtracks.png 162 472 09 48 64 -31 -17
-1 sprites/tramtracks.png 242 472 09 48 64 -31 -17
-1 sprites/tramtracks.png 322 472 09 56 64 -31 -25
-1 sprites/tramtracks.png 402 472 09 31 64 -31 0
-1 sprites/tramtracks.png 482 472 09 31 64 -31 0
-1 sprites/tramtracks.png 562 472 09 31 64 -31 0
-1 sprites/tramtracks.png 642 472 09 31 64 -31 0
-1 sprites/tramtracks.png 722 472 09 48 64 -31 -17
-1 sprites/tramtracks.png 2 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 82 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 162 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 242 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 322 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 402 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 482 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 562 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 642 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 722 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 2 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 82 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 162 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 242 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 322 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 402 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 482 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 562 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 642 616 09 56 64 -31 -25
-1 sprites/tramtracks.png 722 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 2 696 09 56 64 -31 -25
-1 sprites/tramtracks.png 82 696 09 48 64 -31 -17
-1 sprites/tramtracks.png 162 696 09 56 64 -31 -25
-1 sprites/tramtracks.png 242 696 09 48 64 -31 -17
-1 sprites/tramtracks.png 322 696 09 56 64 -31 -25
-1 sprites/tramtracks.png 402 696 09 48 64 -31 -17
-1 sprites/tramtracks.png 482 696 09 31 64 -31 0
-1 sprites/tramtracks.png 562 696 09 31 64 -31 0
-1 sprites/tramtracks.png 642 696 09 39 64 -31 -8
-1 sprites/tramtracks.png 722 696 09 23 64 -31 0
-1 sprites/tramtracks.png 2 776 09 23 64 -31 0
-1 sprites/tramtracks.png 82 776 09 39 64 -31 -8

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 894 B

After

Width:  |  Height:  |  Size: 941 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

View File

@@ -1,11 +1,11 @@
# $Id$
# http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.0.html
# http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.1.html
[Desktop Entry]
Type=Application
Version=1.0
Version=1.1
Name=!!MENU_NAME!!
Icon=!!TTD!!
Comment=A clone of Transport Tycoon Deluxe
Icon=openttd
Exec=!!TTD!!
Terminal=false
Categories=!!MENU_GROUP!!
Comment=A clone of Transport Tycoon Deluxe

View File

@@ -1,15 +0,0 @@
# $Id$
# This file is part of OpenTTD.
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
#
# Awk script to automatically generate a single comment line
# for a translated desktop shortcut. If it does not exist there
# is no output.
#
/##isocode/ { lang = $2; next }
/STR_DESKTOP_SHORTCUT_COMMENT/ { sub("^[^:]*:", "", $0); print "Comment[" lang "]=" $0; next}

View File

@@ -1,25 +0,0 @@
openttd (1.0.0~rc3-2) unstable; urgency=low
The openttd package has been moved from contrib into main. Since the
OpenGFX free graphics set has been packaged for Debian, one can now run
OpenTTD without needing any of the resources from the original game
(though the original resources are still supported).
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 18 Mar 2010 13:09:35 +0100
openttd (0.7.0-1) unstable; urgency=low
Handling of AI players has changed in 0.7.0. This package no longer
contains any AI players, so playing against the computer is not possible
out of the box any longer. However, you can easily download AI players
through the new "Content Downloading Service", after which playing with
computer players is possible.
Loading old savegames with computer players is supported (AI players will
be converted according to the current AI settings), but at this moment
there are no AIs that completely handle any existing infrastructure built
by the old AI, so starting a new game might be more fun (especially since
most of the new AIs are a lot less erratic).
-- Matthijs Kooijman <matthijs@stdin.nl> Mon, 13 Apr 2009 15:11:20 +0200

View File

@@ -1,41 +1,31 @@
OpenTTD for Debian
openttd for Debian
------------------
To properly play this game, you need a base graphics and sound set.
Currently, the graphics, sound and music files from the original
Transport Tycoon Deluxe game (Windows and DOS versions) are supported,
as well as the free graphics replacement set "OpenGFX", sound
replacement set "OpenSFX" (which is in non-free due to a restrictive
license) and the free music replacement set "OpenMSX".
To properly play this game, original data files are needed.
You should copy the data files from the original TTD into the data directory
(/usr/share/games/openttd/data). You should copy these files:
* trg1r.grf
* trgcr.grf
* trghr.grf
* trgir.grf
* trgtr.grf
* sample.cat
Normally, installing the openttd package should automatically install
openttd-opengfx as well, allowing OpenTTD to run out of the box. If you
want sound, you'll have to enable non-free sources and install the
openttd-opensfx package manually (or install the original Transport
Tyccon Deluxe sound files).
-Music
For in game music (optional), you should copy all files in the gm/
subdir of your ttd installation to /usr/share/games/openttd/gm. You
should also install timidity and a soundfont (freepats is packaged in
Debian and works out of the box).
The easiest way to install the OpenMSX music files is to use the in-game
content download system, which should offer the latest version of the
music files.
To find out how to install the original Transport Tycoon Deluxe graphics
sound files and music files, see readme.txt, section 4.1.
-Playing Music
In addition to installing a music set (see above), you'll also need
to install the timidity midi player, available in the timidity
package.
Remember that not all audio devices support multiple audiostreams
(music and sound), so you might have to use alsa software mixing or
pulseaudio.
Don't forget to use -m extmidi if you want music, and if you have
problems, remember that not all audio devices support multiple
audiostreams (music and sound), so you might have to use software
mixing. My VIA AC97 device cannot do hardware mixing, for example.
-Scenarios
There are no scenarios included in this release. Scenarios can be
downloaded using OpenTTD's content service, which is available from
OpenTTD's main menu. If you have obtained a scenario through other
means, you can place it either in your ~/.openttd/scenario directory
or in the system-wide /usr/share/games/openttd/scenario directory.
-- Matthijs Kooijman <matthijs@stdin.nl> Mon, 01 Feb 2010 10:42:11 +0100
downloaded separately from the OpenTTD website and all over the
internet. Place scenarios in your ~/.openttd/scenario directory to
use them.
-- Matthijs Kooijman <matthijs@stdin.nl>, Tue, 25 Jan 2004 14:11:01 +0200

View File

@@ -1,310 +1,129 @@
openttd (1.1.2~RC2) unstable; urgency=low
openttd (1.0.0~beta2) unstable; urgency=low
* New upstream release 1.1.2-RC2
-- Matthijs Kooijman <matthijs@stdin.nl> Sat, 30 Jul 2011 21:00:00 +0200
openttd (1.1.2~RC1) unstable; urgency=low
* New upstream release 1.1.2-RC1
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 24 Jul 2011 21:00:00 +0200
openttd (1.1.1) unstable; urgency=low
* New upstream release 1.1.1
-- Matthijs Kooijman <matthijs@stdin.nl> Wed, 01 Jun 2011 00:00:00 +0200
openttd (1.1.1~RC1) unstable; urgency=low
* New upstream release 1.1.1-RC1
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 15 May 2011 21:00:00 +0200
openttd (1.1.0) unstable; urgency=low
* New upstream release 1.1.0
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 01 Apr 2011 00:00:00 +0100
openttd (1.1.0~RC3) unstable; urgency=low
* New upstream release 1.1.0-RC3
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 18 Mar 2011 22:00:00 +0100
openttd (1.1.0~RC2) unstable; urgency=low
* New upstream release 1.1.0-RC2
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 04 Mar 2011 22:00:00 +0100
openttd (1.1.0~RC1) unstable; urgency=low
* New upstream release 1.1.0-RC1
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 18 Feb 2011 22:00:00 +0100
openttd (1.1.0~beta5) unstable; urgency=low
* New upstream release 1.1.0-beta5
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 04 Feb 2011 22:00:00 +0100
openttd (1.1.0~beta4) unstable; urgency=low
* New upstream release 1.1.0-beta4
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 21 Jan 2011 00:00:00 +0100
openttd (1.1.0~beta3) unstable; urgency=low
* New upstream release 1.1.0-beta3
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 09 Jan 2011 18:00:00 +0100
openttd (1.1.0~beta2) unstable; urgency=low
* New upstream release 1.1.0-beta2
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 31 Dec 2010 18:00:00 +0100
openttd (1.1.0~beta1) unstable; urgency=low
* New upstream release 1.1.0-beta1
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 24 Dec 2010 00:00:00 +0100
openttd (1.0.5-0) unstable; urgency=low
* New upstream release 1.0.5
-- Matthijs Kooijman <matthijs@stdin.nl> Sat, 20 Nov 2010 21:00:00 +0000
openttd (1.0.5~rc2-0) unstable; urgency=low
* New upstream release 1.0.5~rc2
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 14 Nov 2010 15:00:00 +0000
openttd (1.0.5~rc1-0) unstable; urgency=low
* New upstream release 1.0.5-RC1
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 31 Oct 2010 15:00:00 +0000
openttd (1.0.4-0) unstable; urgency=low
* New upstream release 1.0.4
-- Matthijs Kooijman <matthijs@stdin.nl> Tue, 14 Sep 2010 20:00:00 +0000
openttd (1.0.4~rc1-0) unstable; urgency=low
* New upstream release 1.0.4-RC1
-- Matthijs Kooijman <matthijs@stdin.nl> Mon, 30 Aug 2010 20:00:00 +0000
openttd (1.0.3-0) unstable; urgency=low
* New upstream release 1.0.3
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 01 Aug 2010 00:00:00 +0000
openttd (1.0.3~rc1-0) unstable; urgency=low
* New upstream release 1.0.3-RC1
-- Matthijs Kooijman <matthijs@stdin.nl> Sat, 05 Jul 2010 17:37:21 +0000
openttd (1.0.2-0) unstable; urgency=low
* New upstream release 1.0.2
-- Matthijs Kooijman <matthijs@stdin.nl> Sat, 19 Jun 2010 18:36:21 +0000
openttd (1.0.2~rc1-0) unstable; urgency=low
* New upstream release 1.0.2-RC1
-- Matthijs Kooijman <matthijs@stdin.nl> Sat, 05 Jun 2010 23:36:21 +0000
openttd (1.0.1-0) unstable; urgency=low
* New upstream release 1.0.1
-- Matthijs Kooijman <matthijs@stdin.nl> Sat, 01 May 2010 00:00:00 +0200
openttd (1.0.1~rc2-0) unstable; urgency=low
* New upstream release 1.0.1-RC2
-- Matthijs Kooijman <matthijs@stdin.nl> Wed, 21 Apr 2010 21:36:21 +0200
openttd (1.0.1~rc1-0) unstable; urgency=low
* New upstream release 1.0.1-RC1
-- Matthijs Kooijman <matthijs@stdin.nl> Sat, 17 Apr 2010 23:36:21 +0000
openttd (1.0.0-1) unstable; urgency=low
* [30a2162] New upstream release 1.0.0. (Closes: #570104)
* [102698a] Make openttd-wrapper work with older mktemp versions.
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 02 Apr 2010 23:36:21 +0200
openttd (1.0.0~rc3-2) unstable; urgency=low
* [279c5ef] Recommend openttd-opengfx and suggest openttd-opensfx.
* [9330ad7] Update README.Debian concerning music files.
* [07bde24] Move openttd from contrib to main. (Closes: #560810)
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 18 Mar 2010 13:16:32 +0100
openttd (1.0.0~rc3-1) unstable; urgency=low
* [412d153] New upstream release 1.0.0~rc3.
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 18 Mar 2010 10:09:33 +0100
openttd (1.0.0~rc2-1) unstable; urgency=low
* [9c99af4] New upstream release 1.0.0~rc2.
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 04 Mar 2010 12:22:28 +0100
openttd (1.0.0~rc1-1) unstable; urgency=low
* [fe4eb51] New upstream release 1.0.0~rc1.
* [6aa2be0] Note that the embedded md5 implementation has a different
license.
* [39eb336] Remove lintian override for empty gm directory.
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 19 Feb 2010 13:00:53 +0100
openttd (1.0.0~beta4-1) unstable; urgency=low
* [6718224] New upstream release 1.0.0~beta4.
* [7b0fa8d] Remove some more docs that we don't want in the package.
* [bb9d744] Use liblzo2 instead of an embedded minilzo version.
* [949c06b] Explicitly disable iconv support.
-- Matthijs Kooijman <matthijs@stdin.nl> Fri, 19 Feb 2010 12:59:27 +0100
openttd (0.7.5-4) unstable; urgency=low
* [174d0b1] Don't use deprecated < in Replaces.
-- Matthijs Kooijman <matthijs@stdin.nl> Mon, 15 Feb 2010 00:35:33 +0100
openttd (0.7.5-3) unstable; urgency=low
* [d12fc5a] Make openttd-data replace openttd (< 0.7.5-2).
(Closes: #569679)
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 14 Feb 2010 16:56:31 +0100
openttd (0.7.5-2) unstable; urgency=low
[ Matthijs Kooijman ]
* [fbab21d] Switch to source format 3.0 (quilt).
* [85c0c7d] No longer check for (and complain about missing) datafiles
on installation and upgrades. (Closes: #524651, 562574)
* [827eb61] Split the architecture independent data into openttd-data.
(Closes: #492462)
* [6fbd9c7] Update README.Debian.
* [76a5148] Support cross compilation. (Closes: #550951)
* [2005bf8] Simplify the rules file, make debhelper do more stuff.
* [fc0500e] Remove some configure arguments.
* [8ca38bb] Explicitly enable or disable all of the dependencies.
* [e38fb3e] Let the upstream Makefile install documentation.
* [5954fcf] Update the watch file to the new upstream url scheme.
* [7249594] Fix typo in copyright file.
* [660fb61] Bump the Standards-Version to 3.8.4, with no changes
required.
* [f94ab89] Move the packaging git repository to git.debian.org.
-- Jordi Mallach <jordi@debian.org> Tue, 09 Feb 2010 21:40:24 +0100
openttd (0.7.5-1) unstable; urgency=high
* [cdcb73a] Imported Upstream version 0.7.5. This release fixes
CVE-2009-4007.
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 24 Dec 2009 00:55:45 +0100
openttd (0.7.4-1) unstable; urgency=low
* [a2c297b0] Imported Upstream version 0.7.4
* [0232a645] Make Debian-specific patches executable.
* [76be04b] Switch the Debian packaging to git.
-- Matthijs Kooijman <matthijs@stdin.nl> Tue, 15 Dec 2009 22:11:52 +0100
openttd (0.7.3-1) unstable; urgency=low
[ Matthijs Kooijman ]
* New upstream release
* Use printf instead of echo -en in openttd-wrapper to make it POSIX
compatible (Closes: #547758).
* Remove three patches that are now included in upstream.
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 01 Oct 2009 22:52:59 +0200
openttd (0.7.2-1) unstable; urgency=low
[ Matthijs Kooijman ]
* New upstream release
* Bump Standards-Version to 3.8.3, with no changes required.
* Clean up the rules file a bit and add some lintian overrides.
* Explain why openttd is in contrib (Closes: #539381).
* Add the DM-Upload-Allowed control field.
* Re-add dpatch infrastructure.
* Fix the copyright file, since upstream only allows GPLv2, not later
versions.
* Add a section to the copyright file on the different license used by the
"Squirrel" programming language, which is shipped with OpenTTD since
0.7.0.
* Backport upstream r17226, which removes the deprecated Encoding entry from
the .desktop file.
* Add a wrapper script for openttd, which captures any stderr output and
displays it when openttd returns an error code (Closes: #533557).
* Recommend x11-utils, since we use xmessage for displaying errors. Don't
depend on it, since openttd will still run fine without it, you just won't
see any errors.
* Backport upstream r17227 and r17229, which prevents terminal escape codes
from ending up in the captured error output.
* Backport upstream r17240, which improves stderr output when files are
missing or corrupt.
-- Jordi Mallach <jordi@debian.org> Fri, 21 Aug 2009 15:27:26 +0200
openttd (0.7.1-1) unstable; urgency=low
[ Matthijs Kooijman ]
* New upstream release.
* Link against libicu to enable right-to-left language support.
-- Jordi Mallach <jordi@debian.org> Tue, 09 Jun 2009 21:46:28 +0200
-- Matthijs Kooijman <matthijs@stdin.nl> Tue, 05 Jan 2010 21:36:51 +0100
openttd (0.7.0-1) unstable; urgency=low
[ Matthijs Kooijman ]
openttd (1.0.0~beta1) unstable; urgency=low
* New upstream release.
* Remove Debian specific desktop file, upstream provides one now.
* Add debian/watch file.
[ Jordi Mallach ]
* Bump Standards-Version to 3.8.1, with no changes required.
* Move to debhelper compat 7. Bump Build-Depends accordingly.
* Use dh_prep.
* Add "set -e" to config script.
* Remove a few extra doc files that get installed by upstream Makefile.
* Add more complete copyright information.
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 24 Dec 2009 01:01:01 +0100
-- Jordi Mallach <jordi@debian.org> Wed, 15 Apr 2009 18:22:10 +0200
openttd (0.7.5) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Wed, 23 Dec 2009 20:52:34 +0100
openttd (0.7.5~RC1) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Mon, 14 Dec 2009 19:28:37 +0100
openttd (0.7.4) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Tue, 01 Dec 2009 01:23:45 +0100
openttd (0.7.4~RC1) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 15 Nov 2009 16:30:07 +0100
openttd (0.7.3) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 01 Oct 2009 12:35:47 +0200
openttd (0.7.3~RC2) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 24 Sep 2009 21:30:43 +0200
openttd (0.7.3~RC1) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 13 Sep 2009 10:25:56 +0200
openttd (0.7.2) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Sat, 01 Aug 2009 00:19:43 +0200
openttd (0.7.2~RC2) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Tue, 21 Jul 2009 20:25:56 +0200
openttd (0.7.2~RC1) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Wed, 15 Jul 2009 22:25:56 +0200
openttd (0.7.1) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Tue, 09 Jun 2009 01:34:56 +0200
openttd (0.7.1~RC3) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Wed, 03 Jun 2009 15:34:56 +0200
openttd (0.7.1~RC2) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 21 Mar 2009 14:34:56 +0200
openttd (0.7.1~RC1) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Mon, 11 Mar 2009 17:34:56 +0200
openttd (0.7.0) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Wed, 01 Apr 2009 13:37:42 +0000
openttd (0.7.0~RC2) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Mon, 23 Mar 2009 00:42:00 +0200
openttd (0.7.0~RC1) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Mon, 16 Mar 2009 00:07:00 +0200
openttd (0.7.0~beta2) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Tue, 10 Mar 2009 00:33:05 +0100
openttd (0.7.0~beta1) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Mon, 16 Feb 2009 23:07:05 +0100
openttd (0.6.3-1) unstable; urgency=low
@@ -313,7 +132,7 @@ openttd (0.6.3-1) unstable; urgency=low
[ Jordi Mallach ]
* Add Spanish Debconf template translation, after fixing its corrupted
encoding (thanks, Germana Oliveira, closes: #499214).
encoding.
-- Jordi Mallach <jordi@debian.org> Thu, 02 Oct 2008 16:59:03 +0200
@@ -359,7 +178,7 @@ openttd (0.6.0-2) unstable; urgency=low
[ Matthijs Kooijman ]
* Don't install anything into ~ during make install, this prevented
successful builds on some architectures. Fix imported from upstream.
* Put the homepage in its own Homepage field instead of in the description.
* Put the homepage in it's own Homepage field instead of in the description.
* Bump Standards-Version to 3.7.3
-- Jordi Mallach <jordi@debian.org> Thu, 03 Apr 2008 00:07:10 +0200

View File

@@ -1 +1 @@
7
4

21
os/debian/config Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/sh
# Source debconf library.
. /usr/share/debconf/confmodule
FILES="trg1r.grf trgcr.grf trghr.grf trgir.grf trgtr.grf sample.cat"
DATADIR=/usr/share/games/openttd/data
MISSING="No"
for FILE in $FILES; do
# Check if all the files needed are here.
if [ ! -e $DATADIR/$FILE ]; then
MISSING="Yes"
break
fi;
done
if [ $MISSING = "Yes" ]; then
db_input high openttd/datafiles || true
db_go
fi

View File

@@ -1,37 +1,21 @@
Source: openttd
Section: games
Section: contrib/games
Priority: optional
Maintainer: Matthijs Kooijman <matthijs@stdin.nl>
Uploaders: Jordi Mallach <jordi@debian.org>
DM-Upload-Allowed: yes
Build-Depends: debhelper (>= 7.0.50), libsdl-dev, zlib1g-dev, libpng-dev, libfreetype6-dev, libfontconfig-dev, libicu-dev, liblzma-dev, liblzo2-dev
Standards-Version: 3.8.4
Vcs-Browser: http://git.debian.org/?p=collab-maint/openttd.git
Vcs-Git: git://git.debian.org/collab-maint/openttd.git
Build-Depends: debhelper (>= 4.0.0), libsdl-dev, zlib1g-dev, libpng-dev, libfreetype6-dev, libfontconfig-dev
Standards-Version: 3.7.3
Vcs-Browser: http://svn.debian.org/wsvn/collab-maint/deb-maint/openttd/trunk/
Vcs-Svn: svn://svn.debian.org/svn/collab-maint/deb-maint/openttd/trunk
Homepage: http://www.openttd.org/
Package: openttd
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: openttd-opengfx, x11-utils
Replaces: openttd-data
Conflicts: openttd-data
Suggests: openttd-opensfx, timidity, freepats
Suggests: timidity, freepats
Description: reimplementation of Transport Tycoon Deluxe with enhancements
OpenTTD is a reimplementation of the Microprose game "Transport
Tycoon Deluxe" with lots of new features and enhancements.
.
OpenTTD is playable with the free graphics files from the openttd-opengfx
package and optional sound files from the openttd-opensfx package (which is in
non-free). Alternatively, OpenTTD can use the graphics files from the original
Transport Tycoon Deluxe game (See README.Debian on how to set this up).
Package: openttd-dbg
Architecture: any
Section: debug
Priority: extra
Depends: openttd (= ${binary:Version}), ${misc:Depends}
Description: debugging symbols for openttd
This package contains the debugging symbols for OpenTTD, the reimplementation
of the Micropose game "Transport Tycoon Deluxe" with lots of new features and
enhancements.
Tycoon Deluxe" with lots of new features and enhancements. The data
files of the original Transport Tycoon Deluxe for Windows are
mandatory to play the game. They must be manually copied to the game
data directory (see README.Debian for details).

View File

@@ -1,77 +1,25 @@
This package was debianized by Matthijs Kooijman <matthijs@stdin.nl>
This package was debianized by Matthijs Kooijman <m.kooijman@student.utwente.nl>
on Wed, 15 Sep 2004 00:24:01 +0200.
It was downloaded from http://sourceforge.net/projects/openttd
Upstream author: Ludvig Strigeus (ludde) and many others.
Upstream homepage: http://www.openttd.org
Copyright © 2004-2009 Ludvig Strigeous and others.
License:
OpenTTD License:
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2.0 as
published by the Free Software Foundation;
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this package; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
You should have received a copy of the GNU General Public License
along with this package; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
On Debian systems, the complete text of the GNU General Public License
version 2 can be found in `/usr/share/common-licenses/GPL-2'.
This package contains an embedded version of the "Squirrel" programming
language, which is shipped under the following license:
Copyright (c) 2003-2009 Alberto Demichelis
This software is provided 'as-is', without any
express or implied warranty. In no event will the
authors be held liable for any damages arising from
the use of this software.
Permission is granted to anyone to use this software
for any purpose, including commercial applications,
and to alter it and redistribute it freely, subject
to the following restrictions:
1. The origin of this software must not be
misrepresented; you must not claim that
you wrote the original software. If you
use this software in a product, an
acknowledgment in the product
documentation would be appreciated but is
not required.
2. Altered source versions must be plainly
marked as such, and must not be
misrepresented as being the original
software.
3. This notice may not be removed or
altered from any source distribution.
This package contains an implementation of the md5 hash algorithm, which
is shipped under the following license:
Copyright (C) 1999, 2000, 2002 Aladdin Enterprises. All rights reserved.
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
On Debian systems, the complete text of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL'.

Some files were not shown because too many files have changed in this diff Show More