mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2026-07-20 17:49:46 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 633b054830 |
@@ -1,17 +1,3 @@
|
||||
0.6.2 (2008-08-01)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Custom vehicle names from TTD(Patch) games were lost (r13884)
|
||||
- Fix: NewGRF Callback 10 (visual effect and powered wagons setting) and powered wagons operation were not performed for articulated wagons [FS#2167] (r13870)
|
||||
- Fix: In some cases the sprite cache could be filled with unremovable items [FS#2153] (r13869)
|
||||
- Fix: Return of wrong parent scope of (NewGRF) industry variables (r13868)
|
||||
- Fix: Loading of TTD(Patch) savegames from the command line did not work (r13859)
|
||||
- Fix: Buffer overflow for too long filename supplied as '-g' parameter (r13858)
|
||||
- Fix: Cargo type lookup was incorrect for NewGRF version 7 files without a translation table [FS#2157] (r13855)
|
||||
- Fix: GetTownByTile() is only valid for houses and roads (r13851)
|
||||
- Fix: Power, running cost and capacity of multiheaded engines were (too often) doubled in newspaper resp. offer window (r13844)
|
||||
- Fix: FreeType may return a bitmap glyph even if a grey-scale glyph was requested [FS#2152] (r13832)
|
||||
|
||||
|
||||
0.6.2-RC2 (2008-07-25)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Building through the wrong side of a drive through station was allowed [FS#2166] (r13822)
|
||||
|
||||
+20
-31
@@ -5,7 +5,7 @@ log() {
|
||||
}
|
||||
|
||||
set_default() {
|
||||
released_version="0.6.2"
|
||||
released_version="0.6.2-RC2"
|
||||
|
||||
ignore_extra_parameters="0"
|
||||
# We set all kinds of defaults for params. Later on the user can override
|
||||
@@ -40,8 +40,8 @@ set_default() {
|
||||
enable_static="1"
|
||||
enable_translator="0"
|
||||
enable_unicode="1"
|
||||
enable_assert="0"
|
||||
enable_strip="1"
|
||||
enable_assert="1"
|
||||
enable_strip="0"
|
||||
enable_universal="1"
|
||||
enable_osx_g5="0"
|
||||
enable_cocoa_quartz="1"
|
||||
@@ -564,6 +564,7 @@ check_params() {
|
||||
detect_png
|
||||
detect_freetype
|
||||
detect_fontconfig
|
||||
detect_iconv
|
||||
detect_pspconfig
|
||||
detect_libtimidity
|
||||
|
||||
@@ -828,10 +829,6 @@ check_params() {
|
||||
fi
|
||||
fi
|
||||
|
||||
# "set_universal_binary_flags" needs to be before "detect_iconv"
|
||||
set_universal_binary_flags
|
||||
detect_iconv
|
||||
|
||||
if [ -n "$personal_dir" ]
|
||||
then
|
||||
log 1 "personal home directory... $personal_dir"
|
||||
@@ -1191,6 +1188,11 @@ make_cflags_and_ldflags() {
|
||||
CFLAGS="$CFLAGS -mtune=970 -mcpu=970 -mpowerpc-gpopt"
|
||||
fi
|
||||
|
||||
if [ "$with_osx_sysroot" != "0" ] && [ "$with_osx_sysroot" != "3" ]; then
|
||||
CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX$with_osx_sysroot.sdk"
|
||||
LDFLAGS="$LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX$with_osx_sysroot.sdk"
|
||||
fi
|
||||
|
||||
if [ -n "$personal_dir" ]; then
|
||||
CFLAGS="$CFLAGS -DWITH_PERSONAL_DIR -DPERSONAL_DIR=\\\\\"$personal_dir\\\\\""
|
||||
fi
|
||||
@@ -1407,26 +1409,6 @@ check_lipo() {
|
||||
fi
|
||||
}
|
||||
|
||||
set_universal_binary_flags() {
|
||||
if [ -z "$osx_target_version" ]; then
|
||||
# if we don't speficy a target version then we presume 10.4
|
||||
osx_target_version=10.4
|
||||
fi
|
||||
|
||||
if [ "$osx_target_version" = "10.4" ]; then
|
||||
# Apple added u to 10.4 to show that it's universal
|
||||
# There is a version without the u, but it's only in Xcode 2.0 and people should use the free update to 2.5
|
||||
osx_sysroot_version=10.4u
|
||||
else
|
||||
osx_sysroot_version="$osx_target_version"
|
||||
fi
|
||||
|
||||
if [ "$with_osx_sysroot" = "3" ]; then
|
||||
CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX$osx_sysroot_version.sdk -mmacosx-version-min=$osx_target_version"
|
||||
LDFLAGS="$LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX$osx_sysroot_version.sdk -mmacosx-version-min=$osx_target_version"
|
||||
fi
|
||||
}
|
||||
|
||||
check_direct_music() {
|
||||
echo "
|
||||
#include <windows.h>
|
||||
@@ -2147,9 +2129,6 @@ detect_cputype() {
|
||||
}
|
||||
|
||||
make_sed() {
|
||||
T_CFLAGS="$CFLAGS"
|
||||
T_LDFLAGS="$LDFLAGS"
|
||||
|
||||
# We check here if we are PPC, because then we need to enable FOUR_BYTE_BOOL
|
||||
# We do this here, and not sooner, so universal builds also have this
|
||||
# automatically correct
|
||||
@@ -2158,7 +2137,17 @@ make_sed() {
|
||||
# bytes too, but only for PPC.
|
||||
ppc=`$cc_host -dumpmachine | egrep "powerpc|ppc"`
|
||||
if [ -n "$ppc" ]; then
|
||||
T_CFLAGS="$T_CFLAGS -DFOUR_BYTE_BOOL"
|
||||
T_CFLAGS="$CFLAGS -DFOUR_BYTE_BOOL"
|
||||
osx_sysroot_version=10.4u
|
||||
else
|
||||
T_CFLAGS="$CFLAGS"
|
||||
osx_sysroot_version=10.4u
|
||||
fi
|
||||
|
||||
T_LDFLAGS="$LDFLAGS"
|
||||
if [ "$with_osx_sysroot" = "3" ]; then
|
||||
T_CFLAGS="$T_CFLAGS -isysroot /Developer/SDKs/MacOSX$osx_sysroot_version.sdk"
|
||||
T_LDFLAGS="$T_LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX$osx_sysroot_version.sdk"
|
||||
fi
|
||||
|
||||
SRC_OBJS_DIR="$BASE_SRC_OBJS_DIR/$OBJS_SUBDIR"
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ by the number below on http://bugs.openttd.org.
|
||||
If the bug report is closed, it has been fixed, which then can be verified
|
||||
in the latest SVN version of /trunk.
|
||||
|
||||
Bugs for 0.6.2
|
||||
Bugs for 0.6.2-RC2
|
||||
------------------------------------------------------------------------
|
||||
URL: http://bugs.openttd.org
|
||||
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
openttd (0.6.2-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matthijs Kooijman <m.kooijman@student.utwente.nl> Fri, 01 Aug 2008 21:25:00 +0200
|
||||
|
||||
openttd (0.6.2~RC2-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
!define APPNAME "OpenTTD" ; Define application name
|
||||
!define APPVERSION "0.6.2" ; Define application version
|
||||
!define INSTALLERVERSION 51 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
|
||||
!define INSTALLERVERSION 50 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
|
||||
|
||||
!define APPURLLINK "http://www.openttd.org"
|
||||
!define APPNAMEANDVERSION "${APPNAME} ${APPVERSION}"
|
||||
|
||||
@@ -239,7 +239,7 @@ Function IsCachedVersion(version)
|
||||
End Function
|
||||
|
||||
Dim version
|
||||
version = "0.6.2"
|
||||
version = "0.6.2-RC2"
|
||||
If Not (IsCachedVersion(version) And FSO.FileExists("../src/rev.cpp") And FSO.FileExists("../src/ottdres.rc")) Then
|
||||
UpdateFiles version
|
||||
End If
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -272,7 +272,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -272,7 +272,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -270,7 +270,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -270,7 +270,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
OpenTTD README
|
||||
Last updated: 2008-08-01
|
||||
Release version: 0.6.2
|
||||
Last updated: 2008-07-25
|
||||
Release version: 0.6.2-RC2
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
+15
-29
@@ -14,7 +14,6 @@
|
||||
#include "variables.h"
|
||||
#include "newgrf_engine.h"
|
||||
#include "strings_func.h"
|
||||
#include "articulated_vehicles.h"
|
||||
|
||||
#include "table/strings.h"
|
||||
#include "table/sprites.h"
|
||||
@@ -117,34 +116,21 @@ void ShowEnginePreviewWindow(EngineID engine)
|
||||
AllocateWindowDescFront(&_engine_preview_desc, engine);
|
||||
}
|
||||
|
||||
static uint GetTotalCapacityOfArticulatedParts(EngineID engine, VehicleType type)
|
||||
{
|
||||
uint total = 0;
|
||||
|
||||
uint16 *cap = GetCapacityOfArticulatedParts(engine, type);
|
||||
for (uint c = 0; c < NUM_CARGO; c++) {
|
||||
total += cap[c];
|
||||
}
|
||||
|
||||
return total;
|
||||
}
|
||||
|
||||
static void DrawTrainEngineInfo(EngineID engine, int x, int y, int maxw)
|
||||
{
|
||||
const RailVehicleInfo *rvi = RailVehInfo(engine);
|
||||
int multihead = (rvi->railveh_type == RAILVEH_MULTIHEAD) ? 1 : 0;
|
||||
|
||||
SetDParam(0, (_price.build_railvehicle >> 3) * GetEngineProperty(engine, 0x17, rvi->base_cost) >> 5);
|
||||
SetDParam(2, GetEngineProperty(engine, 0x09, rvi->max_speed) * 10 / 16);
|
||||
SetDParam(3, GetEngineProperty(engine, 0x0B, rvi->power));
|
||||
SetDParam(1, GetEngineProperty(engine, 0x16, rvi->weight) << multihead);
|
||||
SetDParam(0, (_price.build_railvehicle >> 3) * rvi->base_cost >> 5);
|
||||
SetDParam(2, rvi->max_speed * 10 / 16);
|
||||
SetDParam(3, rvi->power << multihead);
|
||||
SetDParam(1, rvi->weight << multihead);
|
||||
|
||||
SetDParam(4, GetEngineProperty(engine, 0x0D, rvi->running_cost) * GetPriceByIndex(rvi->running_cost_class) >> 8);
|
||||
SetDParam(4, rvi->running_cost * GetPriceByIndex(rvi->running_cost_class) >> 8 << multihead);
|
||||
|
||||
uint capacity = GetTotalCapacityOfArticulatedParts(engine, VEH_TRAIN);
|
||||
if (capacity != 0) {
|
||||
if (rvi->capacity != 0) {
|
||||
SetDParam(5, rvi->cargo_type);
|
||||
SetDParam(6, capacity);
|
||||
SetDParam(6, rvi->capacity << multihead);
|
||||
} else {
|
||||
SetDParam(5, CT_INVALID);
|
||||
}
|
||||
@@ -154,11 +140,11 @@ static void DrawTrainEngineInfo(EngineID engine, int x, int y, int maxw)
|
||||
static void DrawAircraftEngineInfo(EngineID engine, int x, int y, int maxw)
|
||||
{
|
||||
const AircraftVehicleInfo *avi = AircraftVehInfo(engine);
|
||||
SetDParam(0, (_price.aircraft_base >> 3) * GetEngineProperty(engine, 0x0B, avi->base_cost) >> 5);
|
||||
SetDParam(0, (_price.aircraft_base >> 3) * avi->base_cost >> 5);
|
||||
SetDParam(1, avi->max_speed * 10 / 16);
|
||||
SetDParam(2, avi->passenger_capacity);
|
||||
SetDParam(3, avi->mail_capacity);
|
||||
SetDParam(4, GetEngineProperty(engine, 0x0E, avi->running_cost) * _price.aircraft_running >> 8);
|
||||
SetDParam(4, avi->running_cost * _price.aircraft_running >> 8);
|
||||
|
||||
DrawStringMultiCenter(x, y, STR_A02E_COST_MAX_SPEED_CAPACITY, maxw);
|
||||
}
|
||||
@@ -167,11 +153,11 @@ static void DrawRoadVehEngineInfo(EngineID engine, int x, int y, int maxw)
|
||||
{
|
||||
const RoadVehicleInfo *rvi = RoadVehInfo(engine);
|
||||
|
||||
SetDParam(0, (_price.roadveh_base >> 3) * GetEngineProperty(engine, 0x11, rvi->base_cost) >> 5);
|
||||
SetDParam(0, (_price.roadveh_base >> 3) * rvi->base_cost >> 5);
|
||||
SetDParam(1, rvi->max_speed * 10 / 32);
|
||||
SetDParam(2, rvi->running_cost * GetPriceByIndex(rvi->running_cost_class) >> 8);
|
||||
SetDParam(3, rvi->cargo_type);
|
||||
SetDParam(4, GetTotalCapacityOfArticulatedParts(engine, VEH_ROAD));
|
||||
SetDParam(4, rvi->capacity);
|
||||
|
||||
DrawStringMultiCenter(x, y, STR_902A_COST_SPEED_RUNNING_COST, maxw);
|
||||
}
|
||||
@@ -179,11 +165,11 @@ static void DrawRoadVehEngineInfo(EngineID engine, int x, int y, int maxw)
|
||||
static void DrawShipEngineInfo(EngineID engine, int x, int y, int maxw)
|
||||
{
|
||||
const ShipVehicleInfo *svi = ShipVehInfo(engine);
|
||||
SetDParam(0, GetEngineProperty(engine, 0x0A, svi->base_cost) * (_price.ship_base >> 3) >> 5);
|
||||
SetDParam(1, GetEngineProperty(engine, 0x0B, svi->max_speed) * 10 / 32);
|
||||
SetDParam(0, svi->base_cost * (_price.ship_base >> 3) >> 5);
|
||||
SetDParam(1, svi->max_speed * 10 / 32);
|
||||
SetDParam(2, svi->cargo_type);
|
||||
SetDParam(3, GetEngineProperty(engine, 0x0D, svi->capacity));
|
||||
SetDParam(4, GetEngineProperty(engine, 0x0F, svi->running_cost) * _price.ship_running >> 8);
|
||||
SetDParam(3, svi->capacity);
|
||||
SetDParam(4, svi->running_cost * _price.ship_running >> 8);
|
||||
DrawStringMultiCenter(x, y, STR_982E_COST_MAX_SPEED_CAPACITY, maxw);
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -308,12 +308,12 @@ static FiosItem *FiosGetFileList(int mode, fios_getlist_callback_proc *callback_
|
||||
* @param mode Save/load mode.
|
||||
* @param file Name of the file to check.
|
||||
* @param ext A pointer to the extension identifier inside file
|
||||
* @param title Buffer if a callback wants to lookup the title of the file; NULL to skip the lookup
|
||||
* @param title Buffer if a callback wants to lookup the title of the file
|
||||
* @return a FIOS_TYPE_* type of the found file, FIOS_TYPE_INVALID if not a savegame
|
||||
* @see FiosGetFileList
|
||||
* @see FiosGetSavegameList
|
||||
*/
|
||||
byte FiosGetSavegameListCallback(int mode, const char *file, const char *ext, char *title)
|
||||
static byte FiosGetSavegameListCallback(int mode, const char *file, const char *ext, char *title)
|
||||
{
|
||||
/* Show savegame files
|
||||
* .SAV OpenTTD saved game
|
||||
@@ -325,7 +325,7 @@ byte FiosGetSavegameListCallback(int mode, const char *file, const char *ext, ch
|
||||
if (mode == SLD_LOAD_GAME || mode == SLD_LOAD_SCENARIO) {
|
||||
if (strcasecmp(ext, ".ss1") == 0 || strcasecmp(ext, ".sv1") == 0 ||
|
||||
strcasecmp(ext, ".sv2") == 0) {
|
||||
if (title != NULL) GetOldSaveGameName(title, _fios_path, file);
|
||||
GetOldSaveGameName(title, _fios_path, file);
|
||||
return FIOS_TYPE_OLDFILE;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-3
@@ -42,7 +42,7 @@ enum FileType {
|
||||
FT_HEIGHTMAP, ///< heightmap file
|
||||
};
|
||||
|
||||
enum FiosType {
|
||||
enum {
|
||||
FIOS_TYPE_DRIVE = 0,
|
||||
FIOS_TYPE_PARENT = 1,
|
||||
FIOS_TYPE_DIR = 2,
|
||||
@@ -99,8 +99,6 @@ bool FiosDelete(const char *name);
|
||||
void FiosMakeSavegameName(char *buf, const char *name, size_t size);
|
||||
/* Allocate a new FiosItem */
|
||||
FiosItem *FiosAlloc();
|
||||
/* Determines type of savegame (or tells it is not a savegame) */
|
||||
byte FiosGetSavegameListCallback(int mode, const char *file, const char *ext, char *title);
|
||||
|
||||
int CDECL compare_FiosItems(const void *a, const void *b);
|
||||
|
||||
|
||||
@@ -415,9 +415,6 @@ const Sprite *GetGlyph(FontSize size, WChar key)
|
||||
FT_Load_Char(face, key, FT_LOAD_DEFAULT);
|
||||
FT_Render_Glyph(face->glyph, aa ? FT_RENDER_MODE_NORMAL : FT_RENDER_MODE_MONO);
|
||||
|
||||
/* Despite requesting a normal glyph, FreeType may have returned a bitmap */
|
||||
aa = (slot->bitmap.palette_mode == FT_PIXEL_MODE_GRAY);
|
||||
|
||||
/* Add 1 pixel for the shadow on the medium font. Our sprite must be at least 1x1 pixel */
|
||||
width = max(1, slot->bitmap.width + (size == FS_NORMAL));
|
||||
height = max(1, slot->bitmap.rows + (size == FS_NORMAL));
|
||||
|
||||
@@ -3132,9 +3132,6 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Falta(m)
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Arquivo(s) GRF faltantes
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Despausar pode travar OpenTTD. Não envie relatórios de erros sobre travas subseqüentes.{}Você realmente quer despausar?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE} '{0:STRING}' tem altas chances de causar desincronias e/ou travamentos.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Muda o tamanho de um veículo para '{1:ENGINE}' apesar de não estar em um depósito.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Trem '{VEHICLE}' de '{COMPANY}' tem um tamanho inválido. Provavelmente causado por um NewGRF. O jogo pode travar ou sair de sincronia.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Jogo foi salvo numa versão sem suporte a bondes. Todos os bondes foram removidos.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Moeda Modificada
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Taxa de câmbio: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
|
||||
@@ -3130,9 +3130,6 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Er zijn
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Ontbrekende GRF bestand(en)
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Pauze uit zetten kan OpenTTD laten vastlopen. Geef geen fout rapporten bij herhaaldelijk vastlopen.{}Weet je zeker dat je pauze wilt uit zetten?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE}Gedrag van NewGRF '{0:STRING}' zal waarschijnlijk desyncs en/of crashes veroorzaken.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Het verandert de lengte van voertuig '{1:ENGINE}' wanneer niet in een depot.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Trein '{VEHICLE}' behorend bij '{COMPANY}' heeft een ongeldige lengte. Het is waarschijnlijk veroorzaakt door problemen metNewGRFs. Het spel kan desync krijgen of crash.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Spel was opgeslagen in een versie zonder tram ondersteuning. Alle trams zijn verwijderd.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Aangepaste valuta
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Wisselkoers: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
|
||||
@@ -3183,9 +3183,7 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Mängu l
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Puuduolevad GRF failid
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Pausi lõpetamine võib põhjustada OpenTTD krahhi. Ära teavita järgnevatest krahhidest.{}Oled sa tõepoolest veendunud, et sa soovid pausi lõpetada?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE}NewGRF '{STRING}' käitumine põhjustab tõenäoliselt sünkrooni katkemisi ja/või mängu kokkujooksmiseid.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Depoost väljas asudes muudab sõiduki '{1:ENGINE}' pikkust.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Ettevõtte '{1:COMPANY}' rongil '{0:VEHICLE}' on ebasobiv pikkus. See on tõenäoliselt põhjustatud problemaatilistest NewGRF-dest. Mäng võib kokku joosta või
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Mäng salvestati trammide toetuseta versioonis. Kõik trammid eemaldati.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Isiklik valuuta
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Vahetuskurss: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
|
||||
@@ -3131,7 +3131,6 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Fichier(
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Fichier(s) GRF manquant(s)
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Retirer la pause peut faire planter OpenTTD. Ne créez pas de rapport de bug pour ceux-ci.{}Voulez-vous vraiment retirer la pause?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE}Le comportement du NewGRF '{0:STRING}' peut causer des erreurs de synchronisation et/ou des plantages.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Il modifie la longueur de vehicule pour '{1:ENGINE}' en dehors du dépot.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Le train '{VEHICLE}' appartenant à '{COMPANY}' a une longueur invalide. Celà est probablement dû à des problèmes avec des NewGRFs. Le jeu peut avoir des erreurs de synchronisation ou planter.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Partie sauvegardée avec une version sans support des tramways. Tous les tramways ont été supprimés.
|
||||
|
||||
+197
-274
File diff suppressed because it is too large
Load Diff
@@ -3132,7 +3132,6 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Mancano
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}File GRF mancanti
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Uscire dalla pausa può causare un crash: nel caso, si prega di non inviare segnalazioni bug al riguardo.{}Uscire dalla pausa?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE}Le caratteristiche del NewGRF '{0:STRING}' possono causare errori di sincronizzazione e/o crash.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}La lunghezza dei veicoli '{1:ENGINE}' può cambiare al di fuori dei depositi.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Il treno '{VEHICLE}' della '{COMPANY}' ha una lunghezza non valida, probabilmente a causa di problemi con un NewGRF. È possibile che si verifichino errori di sincronizzazione o crash.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}La partita è stata salvata in una versione senza il supporto per i tram. Tutte le tranvie sono state rimosse.
|
||||
|
||||
@@ -3131,9 +3131,6 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}사라
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}GRF 파일 손실
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}일시정지를 해제하면 오류가 발생할 수도 있습니다. 차후에 나오는 오류를 위해 버그 리포트를 보관하지 마십시오.{}일시정지를 해제하시겠습니까?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE}NewGRF '{STRING}'는 비동기화 혹은 충돌을 일으킬 수 있습니다.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}'{1:ENGINE}'이/가 차고 안에 있지 않으면 차량 길이가 바뀝니다.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}'{1:COMPANY}'의 열차 '{0:VEHICLE}'은/는 유효하지 않은 길이를 가지고 있습니다. NewGRF에 의한 문제일 수 있으며 비동기화/충돌을 일으킬 수 있습니다.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}전차를 지원하지 않는 버전으로 게임이 저장되었습니다. 모든 전차는 제거되었습니다.
|
||||
STR_CURRENCY_WINDOW :{WHITE}사용자 화폐 단위
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}환율: {ORANGE}{CURRENCY} = {COMMA}파운드
|
||||
|
||||
+3393
-3393
File diff suppressed because it is too large
Load Diff
@@ -1715,7 +1715,6 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}O edifício deve ser demolido primeiro
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (Cidade)
|
||||
STR_2006_POPULATION :{BLACK}População: {ORANGE}{COMMA}{BLACK} Casas: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Renomear Cidade
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Não é possível renomear cidade...
|
||||
|
||||
@@ -1272,7 +1272,6 @@ STR_LANDINFO_LOCK :船闸
|
||||
|
||||
STR_BUOY_IS_IN_USE :{WHITE}浮标正在被使用……
|
||||
|
||||
STR_LANDINFO_COORDS :{BLACK}坐标: {LTBLUE}{NUM}x{NUM}x{NUM} ({STRING})
|
||||
|
||||
STR_CANT_REMOVE_PART_OF_STATION :{WHITE}不能拆除站台的一部分……
|
||||
STR_CANT_CONVERT_RAIL :{WHITE}不能转换铁路的类型……
|
||||
|
||||
@@ -3193,9 +3193,6 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Cýbajú
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Chýba(jú) GRF súbor(y)
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Odpauzovanie môže spôsobit pád OpenTTD. Nezaznamenávajte nasledujúce chyby.{}Naozaj chcete odpauzovat?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE}Správanie NewGRF '{STRING}' asi sposobí desynchronizáciu a/alebo pád hry.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Zmenilo dlžku vozidla '{1:ENGINE}' mimo depa.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Vlak '{VEHICLE}' patriaci '{COMPANY}' má neplatnu dlžku. Pravdeposobne to sposobil problém s NewGRF. Je možná desynchronizácia alebo pád hry.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Hra bola uložená vo verzii bez elektriciek. Vsetky elektricky boli odstránené.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Vlastná mena
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Kurz meny: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
|
||||
@@ -3131,8 +3131,6 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Fichero(
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Fichero(s) GRF que faltan
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Quitar la pausa puede hacer que se cierre OpenTTD. No notifique este error.{}¿Desea realmente quitar la pausa?
|
||||
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Cambia la longitud del vehículo para '{1:ENGINE}' cuando no está dentro de un depósito
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Tren '{VEHICLE}' perteneciente a '{COMPANY}' tiene una longitud incorrecta. Puede ser debido a problemas con los NewGRF. El juego puede fallar.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}El juego ha sido grabado en una versión sin soporte de tranvía. Todos los tranvías serán eliminados.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Moneda personalizada
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Tasa de cambio: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
|
||||
@@ -3292,9 +3292,6 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Відс
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Відсутній GRF файл(и)
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Зняття з паузи може привести до аварійної відмови OpenTTD. Не рапортуйте про наступні відмови.{}Ви дійсно хочете зняти з паузи?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE}Поведінка NewGRF '{0:STRING}' може спричинити розсинхронізацію та/або аварійне завершення.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Це змінить довжину транспорту для '{1:ENGINE}', якщо він не в депо.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Потяг '{VEHICLE}', який належить '{COMPANY}', має неправильну довжину. Можливо, це спричинено проблемами з NewGRFs. Гра може розсинхронізуватись або аварійно завершитись.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Гра була записана у версії без підтримки трамваїв. Усі трамваї були видалені.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Вибір грошової одиниці
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Валютний курс: {ORANGE}{CURRENCY} = Ј {COMMA}
|
||||
|
||||
@@ -106,15 +106,9 @@ CargoID GetCargoTranslation(uint8 cargo, const GRFFile *grffile, bool usebit)
|
||||
/* Else the cargo value is a 'climate independent' 'bitnum' */
|
||||
if (HasBit(_cargo_mask, cargo)) return GetCargoIDByBitnum(cargo);
|
||||
} else {
|
||||
/* If the GRF contains a translation table... */
|
||||
if (grffile->cargo_max > 0) {
|
||||
/* ...and the cargo is in bounds, then get the cargo ID for
|
||||
* the label */
|
||||
if (cargo < grffile->cargo_max) return GetCargoIDByLabel(grffile->cargo_list[cargo]);
|
||||
} else {
|
||||
/* Else the cargo value is a 'climate independent' 'bitnum' */
|
||||
if (HasBit(_cargo_mask, cargo)) return GetCargoIDByBitnum(cargo);
|
||||
}
|
||||
/* If the GRF contains a translation table (and the cargo is in bounds)
|
||||
* then get the cargo ID for the label */
|
||||
if (cargo < grffile->cargo_max) return GetCargoIDByLabel(grffile->cargo_list[cargo]);
|
||||
}
|
||||
return CT_INVALID;
|
||||
}
|
||||
|
||||
@@ -210,23 +210,6 @@ uint32 IndustryGetVariable(const ResolverObject *object, byte variable, byte par
|
||||
IndustryType type = object->u.industry.type;
|
||||
const IndustrySpec *indspec = GetIndustrySpec(type);
|
||||
|
||||
/* Shall the variable get resolved in parent scope and are we not yet in parent scope? */
|
||||
if (object->u.industry.gfx == INVALID_INDUSTRYTILE && object->scope == VSG_SCOPE_PARENT) {
|
||||
/* Pass the request on to the town of the industry */
|
||||
const Town *t;
|
||||
|
||||
if (industry != NULL) {
|
||||
t = industry->town;
|
||||
} else if (tile != INVALID_TILE) {
|
||||
t = ClosestTownFromTile(tile, UINT_MAX);
|
||||
} else {
|
||||
*available = false;
|
||||
return UINT_MAX;
|
||||
}
|
||||
|
||||
return TownGetVariable(variable, parameter, available, t);
|
||||
}
|
||||
|
||||
if (industry == NULL) {
|
||||
/* industry does not exist, only use those variables that are "safe" */
|
||||
switch (variable) {
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
#include "newgrf_station.h"
|
||||
#include "newgrf_spritegroup.h"
|
||||
#include "cargotype.h"
|
||||
#include "town.h"
|
||||
#include "town_map.h"
|
||||
#include "newgrf_town.h"
|
||||
#include "gfx_func.h"
|
||||
#include "date_func.h"
|
||||
@@ -358,12 +358,12 @@ static uint32 StationGetVariable(const ResolverObject *object, byte variable, by
|
||||
|
||||
if (object->scope == VSG_SCOPE_PARENT) {
|
||||
/* Pass the request on to the town of the station */
|
||||
const Town *t;
|
||||
Town *t;
|
||||
|
||||
if (st != NULL) {
|
||||
t = st->town;
|
||||
} else if (tile != INVALID_TILE) {
|
||||
t = ClosestTownFromTile(tile, UINT_MAX);
|
||||
t = GetTownByTile(tile);
|
||||
} else {
|
||||
*available = false;
|
||||
return UINT_MAX;
|
||||
|
||||
+2
-12
@@ -324,8 +324,6 @@ static void FixOldStations()
|
||||
}
|
||||
}
|
||||
|
||||
static StringID *_old_vehicle_names = NULL;
|
||||
|
||||
static void FixOldVehicles()
|
||||
{
|
||||
/* Check for shared orders, and link them correctly */
|
||||
@@ -334,8 +332,6 @@ static void FixOldVehicles()
|
||||
FOR_ALL_VEHICLES(v) {
|
||||
Vehicle *u;
|
||||
|
||||
v->name = CopyFromOldName(_old_vehicle_names[v->index]);
|
||||
|
||||
/* We haven't used this bit for stations for ages */
|
||||
if (v->type == VEH_ROAD &&
|
||||
v->u.road.state != RVSB_IN_DEPOT &&
|
||||
@@ -421,8 +417,6 @@ static void ReadTTDPatchFlags()
|
||||
and 1 becomes 2. The rest of the values are okay */
|
||||
if (_old_vehicle_multiplier < 2) _old_vehicle_multiplier++;
|
||||
|
||||
_old_vehicle_names = MallocT<StringID>(_old_vehicle_multiplier * 850);
|
||||
|
||||
/* TTDPatch increases the Vehicle-part in the middle of the game,
|
||||
so if the multipler is anything else but 1, the assert fails..
|
||||
bump the assert value so it doesn't!
|
||||
@@ -1271,8 +1265,8 @@ bool LoadOldVehicle(LoadgameState *ls, int num)
|
||||
|
||||
if (_old_next_ptr != 0xFFFF) v->next = GetVehiclePoolSize() <= _old_next_ptr ? new (_old_next_ptr) InvalidVehicle() : GetVehicle(_old_next_ptr);
|
||||
|
||||
_old_vehicle_names[_current_vehicle_id] = RemapOldStringID(_old_string_id);
|
||||
v->name = NULL;
|
||||
_old_string_id = RemapOldStringID(_old_string_id);
|
||||
v->name = CopyFromOldName(_old_string_id);
|
||||
|
||||
/* Vehicle-subtype is different in TTD(Patch) */
|
||||
if (v->type == VEH_SPECIAL) v->subtype = v->subtype >> 1;
|
||||
@@ -1612,10 +1606,8 @@ static bool LoadOldMain(LoadgameState *ls)
|
||||
|
||||
DEBUG(oldloader, 3, "Reading main chunk...");
|
||||
/* Load the biggest chunk */
|
||||
_old_vehicle_names = NULL;
|
||||
if (!LoadChunk(ls, NULL, main_chunk)) {
|
||||
DEBUG(oldloader, 0, "Loading failed");
|
||||
free(_old_vehicle_names);
|
||||
return false;
|
||||
}
|
||||
DEBUG(oldloader, 3, "Done, converting game data...");
|
||||
@@ -1688,8 +1680,6 @@ static bool LoadOldMain(LoadgameState *ls)
|
||||
DEBUG(oldloader, 3, "Finished converting game data");
|
||||
DEBUG(oldloader, 1, "TTD(Patch) savegame successfully converted");
|
||||
|
||||
free(_old_vehicle_names);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
+5
-15
@@ -410,23 +410,13 @@ int ttd_main(int argc, char *argv[])
|
||||
case 'i': _use_dos_palette = true; break;
|
||||
case 'g':
|
||||
if (mgo.opt != NULL) {
|
||||
ttd_strlcpy(_file_to_saveload.name, mgo.opt, sizeof(_file_to_saveload.name));
|
||||
strcpy(_file_to_saveload.name, mgo.opt);
|
||||
_switch_mode = SM_LOAD;
|
||||
_file_to_saveload.mode = SL_LOAD;
|
||||
|
||||
/* if the file doesn't exist or it is not a valid savegame, let the saveload code show an error */
|
||||
const char *t = strrchr(_file_to_saveload.name, '.');
|
||||
if (t != NULL) {
|
||||
FiosType ft = (FiosType)FiosGetSavegameListCallback(SLD_LOAD_GAME, _file_to_saveload.name, t, NULL);
|
||||
if (ft != FIOS_TYPE_INVALID) SetFiosType(ft);
|
||||
}
|
||||
|
||||
break;
|
||||
} else {
|
||||
_switch_mode = SM_NEWGAME;
|
||||
/* Give a random map */
|
||||
generation_seed = InteractiveRandom();
|
||||
}
|
||||
|
||||
_switch_mode = SM_NEWGAME;
|
||||
/* Give a random map */
|
||||
generation_seed = InteractiveRandom();
|
||||
break;
|
||||
case 'G': generation_seed = atoi(mgo.opt); break;
|
||||
case 'c': _config_file = strdup(mgo.opt); break;
|
||||
|
||||
+4
-4
@@ -66,8 +66,8 @@ END
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 0,6,2,13918
|
||||
PRODUCTVERSION 0,6,2,13918
|
||||
FILEVERSION 0,6,2,13829
|
||||
PRODUCTVERSION 0,6,2,13829
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@@ -85,14 +85,14 @@ BEGIN
|
||||
VALUE "Comments", "This program is licensed under the GNU General Public License.\0"
|
||||
VALUE "CompanyName", "OpenTTD Development Team\0"
|
||||
VALUE "FileDescription", "OpenTTD\0"
|
||||
VALUE "FileVersion", "0.6.2\0"
|
||||
VALUE "FileVersion", "0.6.2-RC2\0"
|
||||
VALUE "InternalName", "openttd\0"
|
||||
VALUE "LegalCopyright", "Copyright © OpenTTD Developers 2002-2008. All Rights Reserved.\0"
|
||||
VALUE "LegalTrademarks", "\0"
|
||||
VALUE "OriginalFilename", "openttd.exe\0"
|
||||
VALUE "PrivateBuild", "\0"
|
||||
VALUE "ProductName", "OpenTTD\0"
|
||||
VALUE "ProductVersion", "0.6.2\0"
|
||||
VALUE "ProductVersion", "0.6.2-RC2\0"
|
||||
VALUE "SpecialBuild", "-\0"
|
||||
END
|
||||
END
|
||||
|
||||
+3
-3
@@ -19,7 +19,7 @@
|
||||
* norev000 is for non-releases that are made on systems without
|
||||
* subversion or sources that are not a checkout of subversion.
|
||||
*/
|
||||
extern const char _openttd_revision[] = "0.6.2";
|
||||
extern const char _openttd_revision[] = "0.6.2-RC2";
|
||||
|
||||
/**
|
||||
* The NewGRF revision of OTTD:
|
||||
@@ -34,11 +34,11 @@ extern const char _openttd_revision[] = "0.6.2";
|
||||
* final release will always have a lower version number than the released
|
||||
* version, thus making comparisions on specific revisions easy.
|
||||
*/
|
||||
uint32 _openttd_newgrf_version = 0 << 28 | 6 << 24 | 2 << 20 | 1 << 19 | (13918 & ((1 << 19) - 1));
|
||||
uint32 _openttd_newgrf_version = 0 << 28 | 6 << 24 | 2 << 20 | 0 << 19 | (13829 & ((1 << 19) - 1));
|
||||
|
||||
#ifdef __MORPHOS__
|
||||
/**
|
||||
* Variable used by MorphOS to show the version.
|
||||
*/
|
||||
extern const char morphos_versions_tag[] = "\\0$VER: OpenTTD 0.6.2 (@@DATE@@) OpenTTD Team [MorphOS, PowerPC]";
|
||||
extern const char morphos_versions_tag[] = "\\0$VER: OpenTTD 0.6.2-RC2 (@@DATE@@) OpenTTD Team [MorphOS, PowerPC]";
|
||||
#endif
|
||||
|
||||
+7
-9
@@ -137,7 +137,7 @@ static void* ReadSprite(SpriteCache *sc, SpriteID id, bool real_sprite)
|
||||
file_pos = GetSpriteCache(SPR_IMG_QUERY)->file_pos;
|
||||
}
|
||||
|
||||
if (real_sprite && BlitterFactoryBase::GetCurrentBlitter()->GetScreenDepth() == 32) {
|
||||
if (BlitterFactoryBase::GetCurrentBlitter()->GetScreenDepth() == 32) {
|
||||
#ifdef WITH_PNG
|
||||
/* Try loading 32bpp graphics in case we are 32bpp output */
|
||||
SpriteLoaderPNG sprite_loader;
|
||||
@@ -147,7 +147,7 @@ static void* ReadSprite(SpriteCache *sc, SpriteID id, bool real_sprite)
|
||||
sc->ptr = BlitterFactoryBase::GetCurrentBlitter()->Encode(&sprite, &AllocSprite);
|
||||
free(sprite.data);
|
||||
|
||||
sc->real_sprite = real_sprite;
|
||||
sc->real_sprite = true;
|
||||
|
||||
return sc->ptr;
|
||||
}
|
||||
@@ -173,13 +173,13 @@ static void* ReadSprite(SpriteCache *sc, SpriteID id, bool real_sprite)
|
||||
DEBUG(sprite, warning_level, "Tried to load non sprite #%d as a real sprite. Probable cause: NewGRF interference", id);
|
||||
warning_level = 6;
|
||||
if (id == SPR_IMG_QUERY) error("Uhm, would you be so kind not to load a NewGRF that makes the 'query' sprite a non- sprite?");
|
||||
return (void*)GetRawSprite(SPR_IMG_QUERY, true);
|
||||
return (void*)GetSprite(SPR_IMG_QUERY);
|
||||
}
|
||||
|
||||
byte *dest = (byte *)AllocSprite(num);
|
||||
|
||||
sc->ptr = dest;
|
||||
sc->real_sprite = real_sprite;
|
||||
sc->real_sprite = false;
|
||||
FioReadBlock(dest, num);
|
||||
|
||||
return sc->ptr;
|
||||
@@ -194,7 +194,6 @@ static void* ReadSprite(SpriteCache *sc, SpriteID id, bool real_sprite)
|
||||
* something ;) The image should really have been a data-stream
|
||||
* (so type = 0xFF basicly). */
|
||||
if (id >= 4845 && id <= 4881) {
|
||||
assert(real_sprite);
|
||||
uint height = FioReadByte();
|
||||
uint width = FioReadWord();
|
||||
Sprite *sprite;
|
||||
@@ -222,23 +221,22 @@ static void* ReadSprite(SpriteCache *sc, SpriteID id, bool real_sprite)
|
||||
}
|
||||
}
|
||||
|
||||
sc->real_sprite = real_sprite;
|
||||
sc->real_sprite = false;
|
||||
|
||||
return sc->ptr;
|
||||
}
|
||||
|
||||
sc->real_sprite = true;
|
||||
|
||||
if (!real_sprite) {
|
||||
static byte warning_level = 0;
|
||||
DEBUG(sprite, warning_level, "Tried to load real sprite #%d as a non sprite. Probable cause: NewGRF interference", id);
|
||||
warning_level = 6;
|
||||
return (void*)GetRawSprite(id, true);
|
||||
}
|
||||
|
||||
SpriteLoaderGrf sprite_loader;
|
||||
SpriteLoader::Sprite sprite;
|
||||
|
||||
sc->real_sprite = real_sprite;
|
||||
|
||||
if (!sprite_loader.LoadSprite(&sprite, file_slot, file_pos)) return NULL;
|
||||
if (id == 142) sprite.height = 10; // Compensate for a TTD bug
|
||||
sc->ptr = BlitterFactoryBase::GetCurrentBlitter()->Encode(&sprite, &AllocSprite);
|
||||
|
||||
+2
-2
@@ -3107,8 +3107,8 @@ static void *CheckVehicleAtSignal(Vehicle *v, void *data)
|
||||
{
|
||||
DiagDirection exitdir = *(DiagDirection *)data;
|
||||
|
||||
/* front engine of a train, not inside wormhole or depot, not crashed */
|
||||
if (v->type == VEH_TRAIN && IsFrontEngine(v) && (v->u.rail.track & TRACK_BIT_MASK) != 0 && !(v->vehstatus & VS_CRASHED)) {
|
||||
/* front engine of a train, not inside wormhole or depot */
|
||||
if (v->type == VEH_TRAIN && IsFrontEngine(v) && (v->u.rail.track & TRACK_BIT_MASK) != 0) {
|
||||
if (v->cur_speed <= 5 && TrainExitDir(v->direction, v->u.rail.track) == exitdir) return v;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user