Compare commits

...

23 Commits
12 ... 1.9.1.77

Author SHA1 Message Date
Sergii Pylypenko
5c5eebcd5c Increased video resolutions list size to 100 2019-04-26 22:40:24 +03:00
Sergii Pylypenko
bfab61057c Increased video resolutions list size to 100 2019-04-25 23:44:20 +03:00
Sergii Pylypenko
c1febca55f Increased video resolutions list size to 100 2019-04-25 19:08:16 +03:00
Sergii Pylypenko
9cec19dd4f Added Android OS type to configure script, to remove -lpthread from LDFLAGS 2019-04-24 23:42:14 +03:00
Sergii Pylypenko
a4d53d80e9 Close news window more easily 2019-04-24 20:38:22 +03:00
Sergii Pylypenko
edc3abcd88 Fixed compilaiton in window and widget code 2019-04-24 20:13:08 +03:00
Sergii Pylypenko
71fb27561b Renamed WID_TN_AIRCRAFTS to WID_TN_AIRCRAFT 2019-04-24 20:02:12 +03:00
Sergii Pylypenko
39d5c048e3 Updated revision number in .ottrev 2019-04-24 20:01:45 +03:00
Sergii Pylypenko
b067aee235 Fixed music GUI compilation 2019-04-24 20:01:32 +03:00
Sergii Pylypenko
28cd775717 Fixed 16bpp blitter 2019-04-24 18:21:22 +03:00
Sergii Pylypenko
f8d4bfb1b7 Fixed missing enum in music widget 2019-04-24 18:03:01 +03:00
Sergii Pylypenko
29a28f5c9c Updated Android translations 2019-04-23 18:26:31 +03:00
Sergii Pylypenko
6dc675ac3c Merge remote-tracking branch 'release/1.9' into 1.9 2019-04-23 18:25:14 +03:00
peter1138
b61ef7e0d2 Update: Changelog for 1.9.1 and prepare for release 2019-04-08 20:37:59 +01:00
PeterN
120d76c5c1 Fix #7478: Don't remove NewGRF objects on company take-over. (#7483) 2019-04-08 20:06:02 +01:00
Patric Stout
316ecb07ee Fix: update AI/Game changelog to indicate 1.9.0 is released 2019-04-08 20:06:02 +01:00
Patric Stout
2c21f52e1d Update: translations backported from master 2019-04-08 20:06:02 +01:00
kiwitreekor
0a8e9e9757 Fix #6222: Advanced sprite layout sometimes showed incorrect railtype ground tile 2019-04-08 20:06:02 +01:00
glx22
6bfec89fcf Fix #6564: enforce types of arguments for station name strings (#7419) 2019-04-08 20:06:02 +01:00
glx22
1f39a31eb7 Fix: [Windows] OpenTTD window may be inactive when an error happens (#7482) 2019-04-08 20:06:02 +01:00
glx22
abc0325ef1 Fix #7439: don't overwrite CompanyRemoveReason with ClientID (#7465) 2019-04-08 20:06:02 +01:00
frosch
54451a18c6 Fix #7447, 3357cac847: Action 4 has feature 48 'original strings'. (#7449) 2019-04-08 20:06:02 +01:00
glx22
d3e9e8c2ce Fix #7433: don't use AirportSpec substitute if it's not set (#7435) 2019-04-08 20:06:02 +01:00
42 changed files with 163 additions and 82 deletions

View File

@@ -1 +1 @@
1.8.0 28002 0 1.8.0
1.9.1 20190408 0 b61ef7e0d2e11e6f8fa963c9459e918b24afc8b5 1 1

View File

@@ -1,3 +1,13 @@
1.9.1 (2019-04-08)
------------------------------------------------------------------------
- Fix #6564: Enforce types of arguments for station name strings (#7419)
- Fix #7433: Don't use AirportSpec substitute if it's not enabled (#7435)
- Fix #7447, #7466, #7476: Missing NewGRF strings due to Action 4 feature check skipping pseudo-feature 48 (#7449)
- Fix #6222: Advanced sprite layout sometimes showed incorrect railtype ground tile. (#7460)
- Fix #7439: CompanyRemoveReason overwritten by ClientID (#7465)
- Fix: [Windows] Incorrect error handling could lead to cascading error windows (#7482)
- Fix #7478: Don't remove NewGRF objects on company take-over. (#7483)
1.9.0 (2019-04-01)
------------------------------------------------------------------------
- Fix #7411: Use industry production callback (if used) on initial industry cargo generation (#7412)

View File

@@ -560,9 +560,9 @@ check_params() {
# Check if all params have valid values
# OS only allows DETECT, UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, MORPHOS, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, and DOS
if [ -z "`echo $os | egrep '^(DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS)$'`" ]; then
if [ -z "`echo $os | egrep '^(DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS|ANDROID)$'`" ]; then
log 1 "configure: error: invalid option --os=$os"
log 1 " Available options are: --os=[DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS]"
log 1 " Available options are: --os=[DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS|ANDROID]"
exit 1
fi
# cpu_type can be either 32 or 64
@@ -1616,7 +1616,7 @@ make_cflags_and_ldflags() {
fi
fi
if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "OPENBSD" ] && [ "$os" != "MINGW" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ] && [ "$os" != "OS2" ]; then
if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "OPENBSD" ] && [ "$os" != "MINGW" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ] && [ "$os" != "OS2" ] && [ "$os" != "ANDROID" ]; then
LIBS="$LIBS -lpthread"
fi
@@ -1657,7 +1657,7 @@ make_cflags_and_ldflags() {
fi
# Most targets act like UNIX, just with some additions
if [ "$os" = "BEOS" ] || [ "$os" = "HAIKU" ] || [ "$os" = "OSX" ] || [ "$os" = "MORPHOS" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "DRAGONFLY" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ] || [ "$os" = "OS2" ]; then
if [ "$os" = "BEOS" ] || [ "$os" = "HAIKU" ] || [ "$os" = "OSX" ] || [ "$os" = "MORPHOS" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "DRAGONFLY" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ] || [ "$os" = "OS2" ] || [ "$os" = "ANDROID" ]; then
CFLAGS="$CFLAGS -DUNIX"
fi
# And others like Windows
@@ -3494,7 +3494,7 @@ showhelp() {
echo " --os=OS the OS we are compiling for [DETECT]"
echo " DETECT/UNIX/OSX/FREEBSD/DRAGONFLY/OPENBSD/"
echo " NETBSD/MORPHOS/HPUX/BEOS/SUNOS/CYGWIN/"
echo " MINGW/OS2/DOS/HAIKU"
echo " MINGW/OS2/DOS/HAIKU/ANDROID"
echo ""
echo "Paths:"
echo " --prefix-dir=dir specifies the prefix for all installed"

View File

@@ -1,6 +1,6 @@
OpenTTD's known bugs
Last updated: 2019-04-01
Release version: 1.9.0
Last updated: 2019-04-08
Release version: 1.9.1
------------------------------------------------------------------------

View File

@@ -1,3 +1,9 @@
openttd (1.9.1-0) unstable; urgency=low
* New upstream release 1.9.1
-- OpenTTD <info@openttd.org> Mon, 08 Apr 2019 20:00:00 +0100
openttd (1.9.0-0) unstable; urgency=low
* New upstream release 1.9.0

View File

@@ -1,6 +1,6 @@
@echo off
set OPENTTD_VERSION=1.9.0
set OPENTTD_VERSION=1.9.1
set OPENSFX_VERSION=0.8.0
set NOSOUND_VERSION=0.8.0
set OPENGFX_VERSION=1.2.0

View File

@@ -17,9 +17,9 @@
#
Name: openttd
Version: 1.9
Version: 1.9.1
Release: 0
%define srcver 1.9.0
%define srcver 1.9.1
Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe
License: GPL-2.0
Group: Amusements/Games/Strategy/Other

View File

@@ -1,8 +1,8 @@
# Version numbers to update
!define APPV_MAJOR 1
!define APPV_MINOR 9
!define APPV_MAINT 0
!define APPV_BUILD 5
!define APPV_MAINT 1
!define APPV_BUILD 0
!define APPV_EXTRA ""
!define APPNAME "OpenTTD" ; Define application name

View File

@@ -1287,7 +1287,7 @@ struct AIDebugWindow : public Window {
case WID_AID_RELOAD_TOGGLE:
if (ai_debug_company == OWNER_DEITY) break;
/* First kill the company of the AI, then start a new one. This should start the current AI again */
DoCommandP(0, CCA_DELETE | ai_debug_company << 16, CRR_MANUAL, CMD_COMPANY_CTRL);
DoCommandP(0, CCA_DELETE | ai_debug_company << 16 | CRR_MANUAL << 24, 0, CMD_COMPANY_CTRL);
DoCommandP(0, CCA_NEW_AI | ai_debug_company << 16, 0, CMD_COMPANY_CTRL);
break;

View File

@@ -7,7 +7,7 @@
* 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/>.
*/
/** @file 16bpp_anim.cpp Implementation of the optimized 32 bpp blitter with animation support. */
/** @file 16bpp_anim.cpp Implementation of the optimized 16 bpp blitter with animation support, currently broken. */
#include "../stdafx.h"
#include "../video/video_driver.hpp"

View File

@@ -7,10 +7,11 @@
* 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/>.
*/
/** @file 16bpp_base.cpp Implementation of base for 32 bpp blitters. */
/** @file 16bpp_base.cpp Implementation of base for 16 bpp blitters. */
#include "../stdafx.h"
#include "16bpp_base.hpp"
#include "common.hpp"
void *Blitter_16bppBase::MoveTo(void *video, int x, int y)
{
@@ -22,6 +23,14 @@ void Blitter_16bppBase::SetPixel(void *video, int x, int y, uint8 colour)
*((Colour16 *)video + x + y * _screen.pitch) = LookupColourInPalette(colour);
}
void Blitter_16bppBase::DrawLine(void *video, int x, int y, int x2, int y2, int screen_width, int screen_height, uint8 colour, int width, int dash)
{
const Colour16 c = LookupColourInPalette(colour);
this->DrawLineGeneric(x, y, x2, y2, screen_width, screen_height, width, dash, [=](int x, int y) {
*((Colour16 *)video + x + y * _screen.pitch) = c;
});
}
void Blitter_16bppBase::DrawRect(void *video, int width, int height, uint8 colour)
{
Colour16 target = LookupColourInPalette(colour);

View File

@@ -42,6 +42,7 @@ public:
/* virtual */ uint8 GetScreenDepth() { return 16; }
/* virtual */ void *MoveTo(void *video, int x, int y);
/* virtual */ void SetPixel(void *video, int x, int y, uint8 colour);
/* virtual */ void DrawLine(void *video, int x, int y, int x2, int y2, int screen_width, int screen_height, uint8 colour, int width, int dash);
/* virtual */ void DrawRect(void *video, int width, int height, uint8 colour);
/* virtual */ void CopyFromBuffer(void *video, const void *src, int width, int height);
/* virtual */ void CopyToBuffer(const void *video, void *dst, int width, int height);

View File

@@ -7,7 +7,7 @@
* 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/>.
*/
/** @file 32bpp_simple.cpp Implementation of the simple 32 bpp blitter. */
/** @file 32bpp_simple.cpp Implementation of the simple 16 bpp blitter. */
#include "../stdafx.h"
#include "../zoom_func.h"

View File

@@ -805,10 +805,9 @@ void CompanyAdminRemove(CompanyID company_id, CompanyRemoveReason reason)
* @param flags operation to perform
* @param p1 various functionality
* - bits 0..15: CompanyCtrlAction
* - bits 16..24: CompanyID
* @param p2 various depending on CompanyCtrlAction
* - bits 0..31: ClientID (with CCA_NEW)
* - bits 0..1: CompanyRemoveReason (with CCA_DELETE)
* - bits 16..23: CompanyID
* - bits 24..31: CompanyRemoveReason (with CCA_DELETE)
* @param p2 ClientID
* @param text unused
* @return the cost of this operation or an error
*/
@@ -882,7 +881,7 @@ CommandCost CmdCompanyCtrl(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
}
case CCA_DELETE: { // Delete a company
CompanyRemoveReason reason = (CompanyRemoveReason)GB(p2, 0, 2);
CompanyRemoveReason reason = (CompanyRemoveReason)GB(p1, 24, 8);
if (reason >= CRR_END) return CMD_ERROR;
Company *c = Company::GetIfValid(company_id);

View File

@@ -850,7 +850,7 @@ DEF_CONSOLE_CMD(ConResetCompany)
}
/* It is safe to remove this company */
DoCommandP(0, CCA_DELETE | index << 16, CRR_MANUAL, CMD_COMPANY_CTRL);
DoCommandP(0, CCA_DELETE | index << 16 | CRR_MANUAL << 24, 0, CMD_COMPANY_CTRL);
IConsolePrint(CC_DEFAULT, "Company deleted.");
return true;
@@ -1227,7 +1227,7 @@ DEF_CONSOLE_CMD(ConReloadAI)
}
/* First kill the company of the AI, then start a new one. This should start the current AI again */
DoCommandP(0, CCA_DELETE | company_id << 16, CRR_MANUAL, CMD_COMPANY_CTRL);
DoCommandP(0, CCA_DELETE | company_id << 16 | CRR_MANUAL << 24, 0,CMD_COMPANY_CTRL);
DoCommandP(0, CCA_NEW_AI | company_id << 16, 0, CMD_COMPANY_CTRL);
IConsolePrint(CC_DEFAULT, "AI reloaded.");
@@ -1264,7 +1264,7 @@ DEF_CONSOLE_CMD(ConStopAI)
}
/* Now kill the company of the AI. */
DoCommandP(0, CCA_DELETE | company_id << 16, CRR_MANUAL, CMD_COMPANY_CTRL);
DoCommandP(0, CCA_DELETE | company_id << 16 | CRR_MANUAL << 24, 0, CMD_COMPANY_CTRL);
IConsolePrint(CC_DEFAULT, "AI stopped, company deleted.");
return true;

View File

@@ -20,7 +20,7 @@
char *_ini_videodriver; ///< The video driver a stored in the configuration file.
int _num_resolutions; ///< The number of resolutions.
Dimension _resolutions[32]; ///< List of resolutions.
Dimension _resolutions[100]; ///< List of resolutions.
Dimension _cur_resolution; ///< The current resolution.
bool _rightclick_emulate; ///< Whether right clicking is emulated.

View File

@@ -642,7 +642,7 @@ static void CompanyCheckBankrupt(Company *c)
* that changing the current company is okay. In case of single
* player we are sure (the above check) that we are not the local
* company and thus we won't be moved. */
if (!_networking || _network_server) DoCommandP(0, CCA_DELETE | (c->index << 16), CRR_BANKRUPT, CMD_COMPANY_CTRL);
if (!_networking || _network_server) DoCommandP(0, CCA_DELETE | (c->index << 16) | (CRR_BANKRUPT << 24), 0, CMD_COMPANY_CTRL);
break;
}
}

View File

@@ -71,7 +71,7 @@ extern DrawPixelInfo _screen;
extern bool _screen_disable_anim; ///< Disable palette animation (important for 32bpp-anim blitter during giant screenshot)
extern int _num_resolutions;
extern Dimension _resolutions[32];
extern Dimension _resolutions[100];
extern Dimension _cur_resolution;
extern Palette _cur_palette; ///< Current palette

View File

@@ -3120,7 +3120,7 @@ STR_NEWGRF_LIST_MISSING :{RED}Nedostaju
STR_NEWGRF_BROKEN :{WHITE}Ponašanje NewGRF '{0:STRING}' će vjerojatno uzrokovati deharmonizaciju i/ili rušenje igre
STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Promijenjen status motoriziranog vagona za '{1:ENGINE}' kad vozilo nije u spremištu.
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ovo mijenja dužinu vozila za '{1:ENGINE}' kada vozilo nije unutar spremišta
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Promijenilo je kapacitet vozila za '{1:ENGINE}' kada nije u spremšta ili se remontira
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Promijenilo je kapacitet vozila za '{1:ENGINE}' kada nije u spremištu ili se prenamjenjuje
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Vlak'{VEHICLE}' koji pripada tvrtci '{COMPANY}' neispravne je dužine. Uzrok problema je vjerojatno u NewGRF datotekama. Igra će se možda deharmonizirati ili srušiti
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' daje netočne informacije
@@ -3903,9 +3903,9 @@ STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Nosivost
STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Prenamijeni)
STR_REFIT_TITLE :{GOLD}Odaberi vrstu tereta za prijevoz:
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nova nosivost: {GOLD}{CARGO_LONG}{}{BLACK}Cijena prenamjene: {RED}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Prihod od remonta: {GREEN}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Trošak remonta: {RED}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Prihod od remonta: {GREEN}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Prihod od prenamjene: {GREEN}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Cijena prenamjene: {RED}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Prihod od prenamjene: {GREEN}{CURRENCY_LONG}
STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Odaberi vozila za remont. Povlačenje mišem dopušta odabir više vozila. Klik na prazninu će označiti cijelo vozilo. Ctrl+Klik će označiti vozilo i niz koji slijedi.
STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Odaberi vrstu tereta koju će vlak prevoziti

View File

@@ -98,7 +98,7 @@ STR_QUANTITY_NOTHING :
STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passagier{P "" s}
STR_QUANTITY_COAL :{WEIGHT_LONG} kolen
STR_QUANTITY_MAIL :{COMMA}{NBSP}zak{P "" ken} post
STR_QUANTITY_OIL :{VOLUME_LONG} Vaten olie
STR_QUANTITY_OIL :{VOLUME_LONG} vaten olie
STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}stuk{P "" s} vee
STR_QUANTITY_GOODS :{COMMA}{NBSP}krat{P "" ten} goederen
STR_QUANTITY_GRAIN :{WEIGHT_LONG} graan
@@ -2856,7 +2856,7 @@ STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Verander
# Map generation progress
STR_GENERATION_WORLD :{WHITE}Bezig met wereldontwikkeling...
STR_GENERATION_ABORT :{BLACK}Stop
STR_GENERATION_ABORT_CAPTION :{WHITE}Stop Wereldontwikkeling
STR_GENERATION_ABORT_CAPTION :{WHITE}Wereldontwikkeling stoppen
STR_GENERATION_ABORT_MESSAGE :{YELLOW}Weet je zeker dat je de actie wilt stoppen?
STR_GENERATION_PROGRESS :{WHITE}{NUM}% compleet
STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM}
@@ -5070,3 +5070,39 @@ STR_SHIP :{BLACK}{SHIP}
STR_TOOLBAR_RAILTYPE_VELOCITY :{STRING} ({VELOCITY})
# Android strings
STR_ABOUT_MENU_TUTORIAL :{BLACK}Studieles
STR_SMALLMAP_TOOLTIP_SHOW_LEGEND :{BLACK}Kaartlegenda weergeven / beschrijving van kaartpictogrammen
STR_CONFIG_SETTING_VERTICAL_TOOLBAR :Verticale werkbalk: {STRING}
STR_CONFIG_SETTING_VERTICAL_TOOLBAR_HELPTEXT :De hoofdwerkbalk is onderverdeeld in twee verticale werkbalken aan de zijkanten van het scherm
STR_CONFIG_SETTING_COMPACT_VERTICAL_TOOLBAR :Compacte verticale werkblak: {STRING}
STR_CONFIG_SETTING_COMPACT_VERTICAL_TOOLBAR_HELPTEXT :Geen knop 'Werkbalk wisselen' in de verticale werkbalk, maar meer submenu's
STR_CONFIG_SETTING_BUTTON_SIZE :{BLACK}Knopgrootte
STR_CONFIG_SETTING_BUTTON_SIZE_TOOLTIP :{BLACK}Grootte van alle bedieningselementen
STR_CONFIG_SETTING_FONT_SIZE :{BLACK}Lettertypegrootte
STR_CONFIG_SETTING_FONT_SIZE_TOOLTIP :{BLACK}Grootte van alle spellettertypen
STR_CONFIG_SETTING_BUILD_CONFIRMATION :Handelingen bevestigen: {STRING}
STR_CONFIG_SETTING_BUILD_CONFIRMATION_HELPTEXT :Bevestigingsdialoogvenster weergeven bij het bouwen van wegen en stations
STR_CONFIG_SETTING_WINDOWS_TITLEBARS :{BLACK}Titelbalken
STR_CONFIG_SETTING_WINDOWS_TITLEBARS_HELPTEXT :{BLACK}Titelbalken op alle vensters weergeven of verbergen om ruimte te besparen
STR_CONFIG_SETTING_WINDOWS_DECORATIONS :Vensterdecoraties: {STRING}
STR_CONFIG_SETTING_WINDOWS_DECORATIONS_HELPTEXT :Versieringen op de vensterranden
STR_CONFIG_SETTING_VIDEO_8BPP :{BLACK}8 bits
STR_CONFIG_SETTING_VIDEO_8BPP_HELPTEXT :{BLACK}Stel de video-kleurdiepte in op 8 bits per pixel, deze videomodus ondersteunt bewegend water
STR_CONFIG_SETTING_VIDEO_16BPP :{BLACK}16 bits
STR_CONFIG_SETTING_VIDEO_16BPP_HELPTEXT :{BLACK}Stel de video-kleurdiepte in op 16 bits per pixel, herstart noodzakelijk, deze videomodus ondersteunt geen bewegend water
STR_CONFIG_SETTING_VIDEO_24BPP :{BLACK}24 bits
STR_CONFIG_SETTING_VIDEO_24BPP_HELPTEXT :{BLACK}Stel de video-kleurdiepte in op 24 bits per pixel, deze videomodus ondersteunt bewegend water
STR_TABLET_CLOSE_TOOLTIP :{BLACK}Alle open vensters sluiten (behalve vastgezette)
STR_TABLET_SHIFT_TOOLTIP :{BLACK}Druk hierop voor een schatting van de kosten van een handeling
STR_TABLET_CTRL_TOOLTIP :{BLACK}Gebruik dit voor handelingen waarvoor de toets 'CTRL' wordt gebruikt
STR_TUTORIAL_WINDOW_TITLE :{BLACK}Studievideo's
STR_TUTORIAL_WINDOW_TOOLTIP :{BLACK}Een videospeler openen om studievideo's te bekijken
STR_TUTORIAL_ROADS_AND_STATIONS :{BLACK}Wegen en stations bouwen, voertuigen kopen
STR_TUTORIAL_RAILWAYS :{BLACK}Spoorwegen en treinen
STR_TUTORIAL_ROAD_VEHICLES :{BLACK}Wegvoertuigen
STR_TUTORIAL_SHIPS :{BLACK}Schepen en dokken
STR_TUTORIAL_CARGO :{BLACK}Typen vracht
STR_SAVELOAD_LOAD_NETWORK_BUTTON :{BLACK}Laden vanaf netwerk
STR_SAVELOAD_LOAD_NETWORK_TOOLTIP :{BLACK}Een spel laden uit de netwerkopslag
STR_SAVELOAD_SAVE_NETWORK_BUTTON :{BLACK}Opslaan naar netwerk
STR_SAVELOAD_SAVE_NETWORK_TOOLTIP :{BLACK}Reservekopie van het spel maken op de netwerkopslag

View File

@@ -3025,13 +3025,14 @@ STR_NEWGRF_LIST_MISSING :{RED}Modules ma
STR_NEWGRF_BROKEN :{WHITE}Le comportement du NewGRF "{0:STRING}" peut provoquer des erreurs de synchronisation et/ou des plantages
STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Il a modifié l'état de wagon motorisé pour "{1:ENGINE}" en dehors du dépôt
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Il a modifié la longueur de véhicule pour "{1:ENGINE}" en dehors du dépôt
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Il a changé la capacité pour '{1:ENGINE}' hors d'un dépôt ou d'un réaménagement
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Il a changé la capacité pour "{1:ENGINE}" hors d'un dépôt ou d'un réaménagement
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Le train "{VEHICLE}" appartenant à "{COMPANY}" a une longueur invalide. Cela est probablement dû à des problèmes avec des NewGRFs, et peut provoquer des erreurs de synchronisation ou planter le jeu.
STR_NEWGRF_BUGGY :{WHITE}Le module NewGRF "{0:STRING}" fournit une information incorrecte
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Les informations de cargaison/réaménagement pour "{1:ENGINE}" après sa construction sont différentes de celles de la liste d'achat. Cela peut causer un échec de réaménagement lors de l'auto-renouvellement/remplacement.
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}"{1:STRING}" a causé une boucle infinie dans la fonction de rappel de production
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Callback {1:HEX} a retourné un résultat invalide {2:HEX}
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}La fonction de rappel {1:HEX} a retourné un résultat invalide {2:HEX}
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}"{1:STRING}" a renvoyé un type de cargaison invalide dans la fonction de rappel de production à {2:HEX}
# 'User removed essential NewGRFs'-placeholders for stuff without specs
STR_NEWGRF_INVALID_CARGO :<marchandise invalide>

View File

@@ -5084,7 +5084,7 @@ STR_CONFIG_SETTING_FONT_SIZE_TOOLTIP :{BLACK}모든
STR_CONFIG_SETTING_BUILD_CONFIRMATION :명령 확인: {STRING}
STR_CONFIG_SETTING_BUILD_CONFIRMATION_HELPTEXT :도로와 정류장을 건설시 확인 팝업을 보임
STR_CONFIG_SETTING_WINDOWS_TITLEBARS :이름 창
STR_CONFIG_SETTING_WINDOWS_TITLEBARS_HELPTEXT :모든 창에 대해 이름을 보여주거나, 화면 공간 절약을 위해 이름을 가리기
STR_CONFIG_SETTING_WINDOWS_TITLEBARS_HELPTEXT :{BLACK}모든 창에 대해 이름을 보여주거나, 화면 공간 절약을 위해 이름을 가리기
STR_CONFIG_SETTING_WINDOWS_DECORATIONS :창 꾸미기: {STRING}
STR_CONFIG_SETTING_WINDOWS_DECORATIONS_HELPTEXT :창 모서리에 꾸밈 효과
STR_CONFIG_SETTING_VIDEO_8BPP : {BLACK}8비트

View File

@@ -457,7 +457,7 @@ struct MusicTrackSelectionWindow : public Window {
uint GetNumberOfTracksOfTracklist() const
{
uint i = 0;
for (; _playlists[_settings_client.music.playlist][i] > 0; i++) {}
for (MusicSystem::Playlist::const_iterator song = _music.music_set.begin(); song != _music.music_set.end(); ++song, ++i) {}
return i;
}
@@ -549,8 +549,10 @@ struct MusicTrackSelectionWindow : public Window {
int y = r.top + WD_FRAMERECT_TOP;
uint vscroll_max = min(this->left_sb->GetPosition() + this->left_sb->GetCapacity(), NUM_SONGS_AVAILABLE);
for (uint i = this->left_sb->GetPosition(); i < vscroll_max; i++) {
uint i = 0;
for (MusicSystem::Playlist::const_iterator song = _music.music_set.begin(); song != _music.music_set.end(); ++song, i++) {
if (i < this->left_sb->GetPosition()) continue;
if (i >= vscroll_max) break;
SetDParam(0, song->tracknr);
SetDParam(1, 2);
SetDParamStr(2, song->songname);
@@ -565,9 +567,10 @@ struct MusicTrackSelectionWindow : public Window {
int y = r.top + WD_FRAMERECT_TOP;
uint vscroll_max = min(this->right_sb->GetPosition() + this->right_sb->GetCapacity(), this->GetNumberOfTracksOfTracklist());
for (uint i = this->right_sb->GetPosition(); i < vscroll_max; i++) {
uint j = _playlists[_settings_client.music.playlist][i] - 1;
uint i = 0;
for (MusicSystem::Playlist::const_iterator song = _music.music_set.begin(); song != _music.music_set.end(); ++song, i++) {
if (i < this->right_sb->GetPosition()) continue;
if (i >= vscroll_max) break;
SetDParam(0, song->tracknr);
SetDParam(1, 2);
SetDParamStr(2, song->songname);
@@ -843,11 +846,7 @@ struct MusicWindow : public Window {
if (new_vol < 3) new_vol = 0;
if (new_vol != *vol) {
*vol = new_vol;
<<<<<<< HEAD
if (widget == WID_M_MUSIC_VOL) MusicDriver::GetInstance()->SetVolume(new_vol);
=======
if (widget == WID_M_MUSIC_VOL) MusicVolumeChanged((new_vol * new_vol) / 127); // Kinda logarithmic scale
>>>>>>> origin/master
this->SetDirty();
}

View File

@@ -1675,7 +1675,7 @@ static void NetworkAutoCleanCompanies()
/* Is the company empty for autoclean_unprotected-months, and is there no protection? */
if (_settings_client.network.autoclean_unprotected != 0 && _network_company_states[c->index].months_empty > _settings_client.network.autoclean_unprotected && StrEmpty(_network_company_states[c->index].password)) {
/* Shut the company down */
DoCommandP(0, CCA_DELETE | c->index << 16, CRR_AUTOCLEAN, CMD_COMPANY_CTRL);
DoCommandP(0, CCA_DELETE | c->index << 16 | CRR_AUTOCLEAN << 24, 0, CMD_COMPANY_CTRL);
IConsolePrintF(CC_DEFAULT, "Auto-cleaned company #%d with no password", c->index + 1);
}
/* Is the company empty for autoclean_protected-months, and there is a protection? */
@@ -1689,7 +1689,7 @@ static void NetworkAutoCleanCompanies()
/* Is the company empty for autoclean_novehicles-months, and has no vehicles? */
if (_settings_client.network.autoclean_novehicles != 0 && _network_company_states[c->index].months_empty > _settings_client.network.autoclean_novehicles && vehicles_in_company[c->index] == 0) {
/* Shut the company down */
DoCommandP(0, CCA_DELETE | c->index << 16, CRR_AUTOCLEAN, CMD_COMPANY_CTRL);
DoCommandP(0, CCA_DELETE | c->index << 16 | CRR_AUTOCLEAN << 24, 0, CMD_COMPANY_CTRL);
IConsolePrintF(CC_DEFAULT, "Auto-cleaned company #%d with no vehicles", c->index + 1);
}
} else {

View File

@@ -5688,7 +5688,7 @@ static void FeatureNewName(ByteReader *buf)
bool new_scheme = _cur.grffile->grf_version >= 7;
uint8 feature = buf->ReadByte();
if (feature >= GSF_END) {
if (feature >= GSF_END && feature != 0x48) {
grfmsg(1, "FeatureNewName: Unsupported feature 0x%02X, skipping", feature);
return;
}

View File

@@ -100,6 +100,7 @@ AirportSpec AirportSpec::specs[NUM_AIRPORTS]; ///< Airport specifications.
assert(type < lengthof(AirportSpec::specs));
const AirportSpec *as = &AirportSpec::specs[type];
if (type >= NEW_AIRPORT_OFFSET && !as->enabled) {
if (_airport_mngr.GetGRFID(type) == 0) return as;
byte subst_id = _airport_mngr.GetSubstituteID(type);
if (subst_id == AT_INVALID) return as;
as = &AirportSpec::specs[subst_id];

View File

@@ -190,7 +190,7 @@ static const NWidgetPart _nested_small_news_widgets[] = {
NWidget(WWT_INSET, COLOUR_LIGHT_BLUE, WID_N_INSET), SetPadding(2, 2, 2, 2),
NWidget(NWID_VIEWPORT, INVALID_COLOUR, WID_N_VIEWPORT), SetSizingType(NWST_VIEWPORT), SetPadding(1, 1, 1, 1), SetMinimalSize(274, 47), SetFill(1, 0),
EndContainer(),
NWidget(WWT_EMPTY, COLOUR_WHITE, WID_N_MESSAGE), SetMinimalSize(275, 20), SetFill(1, 0), SetPadding(0, 5, 0, 5),
NWidget(WWT_EMPTY, COLOUR_WHITE, WID_N_MESSAGE), SetMinimalSize(275, 20), SetFill(1, 0), SetPadding(0, 5, 0, 5), SetSizingType(NWST_STEP),
EndContainer(),
};

View File

@@ -772,9 +772,10 @@ static void ChangeTileOwner_Object(TileIndex tile, Owner old_owner, Owner new_ow
bool do_clear = false;
if (IsObjectType(tile, OBJECT_OWNED_LAND) && new_owner != INVALID_OWNER) {
ObjectType type = GetObjectType(tile);
if ((type == OBJECT_OWNED_LAND || type >= NEW_OBJECT_OFFSET) && new_owner != INVALID_OWNER) {
SetTileOwner(tile, new_owner);
} else if (IsObjectType(tile, OBJECT_STATUE)) {
} else if (type == OBJECT_STATUE) {
Town *t = Object::GetByTile(tile)->town;
ClrBit(t->statues, old_owner);
if (new_owner != INVALID_OWNER && !HasBit(t->statues, new_owner)) {

View File

@@ -79,8 +79,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,9,0,!!ISODATE!!
PRODUCTVERSION 1,9,0,!!ISODATE!!
FILEVERSION 1,9,1,!!ISODATE!!
PRODUCTVERSION 1,9,1,!!ISODATE!!
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L

View File

@@ -78,7 +78,7 @@ bool LoadLibraryList(Function proc[], const char *dll)
void ShowOSErrorBox(const char *buf, bool system)
{
MyShowCursor(true);
MessageBox(GetActiveWindow(), OTTD2FS(buf), _T("Error!"), MB_ICONSTOP);
MessageBox(GetActiveWindow(), OTTD2FS(buf), _T("Error!"), MB_ICONSTOP | MB_TASKMODAL);
}
void OSOpenBrowser(const char *url)

View File

@@ -82,7 +82,7 @@ const byte _openttd_revision_tagged = !!ISTAG!!;
* final release will always have a lower version number than the released
* version, thus making comparisons on specific revisions easy.
*/
const uint32 _openttd_newgrf_version = 1 << 28 | 9 << 24 | 0 << 20 | !!ISSTABLETAG!! << 19 | 28004;
const uint32 _openttd_newgrf_version = 1 << 28 | 9 << 24 | 1 << 20 | !!ISSTABLETAG!! << 19 | 28004;
#ifdef __MORPHOS__
/**

View File

@@ -17,7 +17,6 @@
*
* \b 1.9.0
*
* 1.9.0 is not yet released. The following changes are not set in stone yet.
* API additions:
* \li AIAirport::GetMonthlyMaintenanceCost
* \li AIGroup::SetParent

View File

@@ -17,7 +17,6 @@
*
* \b 1.9.0
*
* 1.9.0 is not yet released. The following changes are not set in stone yet.
* API additions:
* \li GSAirport::GetMonthlyMaintenanceCost
* \li GSClient

View File

@@ -2639,21 +2639,29 @@ bool SplitGroundSpriteForOverlay(const TileInfo *ti, SpriteID *ground, RailTrack
bool snow_desert;
switch (*ground) {
case SPR_RAIL_TRACK_X:
case SPR_MONO_TRACK_X:
case SPR_MGLV_TRACK_X:
snow_desert = false;
*overlay_offset = RTO_X;
break;
case SPR_RAIL_TRACK_Y:
case SPR_MONO_TRACK_Y:
case SPR_MGLV_TRACK_Y:
snow_desert = false;
*overlay_offset = RTO_Y;
break;
case SPR_RAIL_TRACK_X_SNOW:
case SPR_MONO_TRACK_X_SNOW:
case SPR_MGLV_TRACK_X_SNOW:
snow_desert = true;
*overlay_offset = RTO_X;
break;
case SPR_RAIL_TRACK_Y_SNOW:
case SPR_MONO_TRACK_Y_SNOW:
case SPR_MGLV_TRACK_Y_SNOW:
snow_desert = true;
*overlay_offset = RTO_Y;
break;

View File

@@ -78,7 +78,10 @@ int64 StringParameters::GetInt64(WChar type)
return 0;
}
if (this->type != NULL) {
assert(this->type[this->offset] == 0 || this->type[this->offset] == type);
if (this->type[this->offset] != 0 && this->type[this->offset] != type) {
DEBUG(misc, 0, "Trying to read string parameter with wrong type");
return 0;
}
this->type[this->offset] = type;
}
return this->data[this->offset++];
@@ -1416,8 +1419,9 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
}
}
int64 args_array[] = {STR_TOWN_NAME, st->town->index, st->index};
StringParameters tmp_params(args_array);
uint64 args_array[] = {STR_TOWN_NAME, st->town->index, st->index};
WChar types_array[] = {0, SCC_TOWN_NAME, SCC_NUM};
StringParameters tmp_params(args_array, 3, types_array);
buff = GetStringWithArgs(buff, str, &tmp_params, last);
}
break;

View File

@@ -93,9 +93,9 @@ enum SpecialStrings {
SPECSTR_LANGUAGE_START = 0x7100,
SPECSTR_LANGUAGE_END = SPECSTR_LANGUAGE_START + MAX_LANG - 1,
/* reserve 32 strings for various screen resolutions */
/* reserve 100 strings for various screen resolutions */
SPECSTR_RESOLUTION_START = SPECSTR_LANGUAGE_END + 1,
SPECSTR_RESOLUTION_END = SPECSTR_RESOLUTION_START + 0x1F,
SPECSTR_RESOLUTION_END = SPECSTR_RESOLUTION_START + 99,
};
#endif /* STRINGS_TYPE_H */

View File

@@ -402,8 +402,11 @@ static const SpriteID SPR_MONO_SINGLE_SOUTH = 1090;
static const SpriteID SPR_MONO_SINGLE_EAST = 1091;
static const SpriteID SPR_MONO_SINGLE_WEST = 1092;
static const SpriteID SPR_MONO_TRACK_Y = 1093;
static const SpriteID SPR_MONO_TRACK_X = 1094;
static const SpriteID SPR_MONO_TRACK_BASE = 1100;
static const SpriteID SPR_MONO_TRACK_N_S = 1117;
static const SpriteID SPR_MONO_TRACK_Y_SNOW = 1119;
static const SpriteID SPR_MONO_TRACK_X_SNOW = 1120;
static const SpriteID SPR_MGLV_SINGLE_X = 1169;
static const SpriteID SPR_MGLV_SINGLE_Y = 1170;
static const SpriteID SPR_MGLV_SINGLE_NORTH = 1171;
@@ -411,7 +414,10 @@ static const SpriteID SPR_MGLV_SINGLE_SOUTH = 1172;
static const SpriteID SPR_MGLV_SINGLE_EAST = 1173;
static const SpriteID SPR_MGLV_SINGLE_WEST = 1174;
static const SpriteID SPR_MGLV_TRACK_Y = 1175;
static const SpriteID SPR_MGLV_TRACK_X = 1176;
static const SpriteID SPR_MGLV_TRACK_BASE = 1182;
static const SpriteID SPR_MGLV_TRACK_Y_SNOW = 1184;
static const SpriteID SPR_MGLV_TRACK_X_SNOW = 1185;
static const SpriteID SPR_MGLV_TRACK_N_S = 1199;
static const SpriteID SPR_WAYPOINT_X_1 = SPR_OPENTTD_BASE + 78;
static const SpriteID SPR_WAYPOINT_X_2 = SPR_OPENTTD_BASE + 79;

View File

@@ -1943,7 +1943,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
WID_TN_TRAINS,
WID_TN_ROADVEHS,
WID_TN_SHIPS,
WID_TN_AIRCRAFTS,
WID_TN_AIRCRAFT,
WID_TN_ZOOM_IN,
WID_TN_ZOOM_OUT,
WID_TN_RAILS,
@@ -1979,7 +1979,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
WID_TN_TRAINS,
WID_TN_ROADVEHS,
WID_TN_SHIPS,
WID_TN_AIRCRAFTS,
WID_TN_AIRCRAFT,
WID_TN_RAILS,
WID_TN_ROADS,
WID_TN_WATER,
@@ -2017,7 +2017,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
WID_TN_TRAINS,
WID_TN_ROADVEHS,
WID_TN_SHIPS,
WID_TN_AIRCRAFTS,
WID_TN_AIRCRAFT,
WID_TN_RAILS,
WID_TN_ROADS,
WID_TN_WATER,
@@ -2057,7 +2057,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
WID_TN_TRAINS,
WID_TN_ROADVEHS,
WID_TN_SHIPS,
WID_TN_AIRCRAFTS,
WID_TN_AIRCRAFT,
WID_TN_RAILS,
WID_TN_ROADS,
WID_TN_WATER,
@@ -2122,7 +2122,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
WID_TN_TRAINS,
WID_TN_ROADVEHS,
WID_TN_SHIPS,
WID_TN_AIRCRAFTS,
WID_TN_AIRCRAFT,
WID_TN_MUSIC_SOUND,
WID_TN_MESSAGES,
WID_TN_HELP,
@@ -2142,7 +2142,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
WID_TN_TRAINS,
WID_TN_ROADVEHS,
WID_TN_SHIPS,
WID_TN_AIRCRAFTS,
WID_TN_AIRCRAFT,
WID_TN_RAILS,
WID_TN_ROADS,
WID_TN_WATER,
@@ -2187,7 +2187,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
WID_TN_TRAINS,
WID_TN_ROADVEHS,
WID_TN_SHIPS,
WID_TN_AIRCRAFTS,
WID_TN_AIRCRAFT,
WID_TN_RAILS,
WID_TN_ROADS,
WID_TN_WATER,
@@ -2243,7 +2243,7 @@ class NWidgetMainToolbarContainer : public NWidgetToolbarContainer {
WID_TN_TRAINS,
WID_TN_ROADVEHS,
WID_TN_SHIPS,
WID_TN_AIRCRAFTS,
WID_TN_AIRCRAFT,
WID_TN_ZOOM_IN,
WID_TN_ZOOM_OUT,
WID_TN_RAILS,
@@ -2320,7 +2320,7 @@ class NWidgetVerticalToolbarContainer : public NWidgetToolbarContainer {
WID_TN_TRAINS,
WID_TN_ROADVEHS,
WID_TN_SHIPS,
WID_TN_AIRCRAFTS,
WID_TN_AIRCRAFT,
WID_TN_GRAPHS,
WID_TN_INDUSTRIES,
WID_TN_MUSIC_SOUND,
@@ -2332,7 +2332,7 @@ class NWidgetVerticalToolbarContainer : public NWidgetToolbarContainer {
WID_TN_TRAINS,
WID_TN_ROADVEHS,
WID_TN_SHIPS,
WID_TN_AIRCRAFTS,
WID_TN_AIRCRAFT,
WID_TN_FINANCES,
WID_TN_COMPANIES,
WID_TN_TOWNS,
@@ -2373,7 +2373,7 @@ class NWidgetVerticalToolbarContainer : public NWidgetToolbarContainer {
WID_TN_TRAINS,
WID_TN_ROADVEHS,
WID_TN_SHIPS,
WID_TN_AIRCRAFTS,
WID_TN_AIRCRAFT,
WID_TN_LEAGUE,
WID_TN_STATIONS,
WID_TN_STORY,
@@ -2387,7 +2387,7 @@ class NWidgetVerticalToolbarContainer : public NWidgetToolbarContainer {
WID_TN_TRAINS,
WID_TN_ROADVEHS,
WID_TN_SHIPS,
WID_TN_AIRCRAFTS,
WID_TN_AIRCRAFT,
WID_TN_STATIONS,
WID_TN_FINANCES,
WID_TN_COMPANIES,
@@ -2423,7 +2423,7 @@ class NWidgetVerticalToolbarContainer : public NWidgetToolbarContainer {
WID_TN_TRAINS,
WID_TN_ROADVEHS,
WID_TN_SHIPS,
WID_TN_AIRCRAFTS,
WID_TN_AIRCRAFT,
WID_TN_LANDSCAPE,
WID_TN_GRAPHS,
WID_TN_INDUSTRIES,
@@ -2459,7 +2459,7 @@ class NWidgetVerticalToolbarContainer : public NWidgetToolbarContainer {
WID_TN_TRAINS,
WID_TN_ROADVEHS,
WID_TN_SHIPS,
WID_TN_AIRCRAFTS,
WID_TN_AIRCRAFT,
WID_TN_LANDSCAPE,
WID_TN_GOAL,
WID_TN_GRAPHS,

View File

@@ -102,7 +102,7 @@ public:
extern char *_ini_videodriver;
extern int _num_resolutions;
extern Dimension _resolutions[32];
extern Dimension _resolutions[100];
extern Dimension _cur_resolution;
extern bool _rightclick_emulate;

View File

@@ -131,7 +131,6 @@ static void ScrollbarClickPositioning(Window *w, NWidgetScrollbar *sb, int x, in
if (_scrollbar_size > button_size * 2)
_scrollbar_size -= button_size;
w->mouse_capture_widget = sb->index;
w->scrolling_scrollbar = sb->index;
_cursorpos_drag_start = _cursor.pos;
}
}

View File

@@ -16,8 +16,10 @@
enum MusicTrackSelectionWidgets {
WID_MTS_CAPTION, ///< Window caption.
WID_MTS_LIST_LEFT, ///< Left button.
WID_MTS_LEFT_SCROLLBAR, ///< Scrollbar of left list.
WID_MTS_PLAYLIST, ///< Playlist.
WID_MTS_LIST_RIGHT, ///< Right button.
WID_MTS_RIGHT_SCROLLBAR, ///< Scrollbar of right list.
WID_MTS_MUSICSET, ///< Music set selection.
WID_MTS_ALL, ///< All button.
WID_MTS_OLD, ///< Old button.

View File

@@ -2354,6 +2354,7 @@ bool GetWindowDraggedOffScreen(const Window *w)
if (w->left + w->width > edge.right && w->left > visible.left) return true;
if (w->top < edge.top && w->top + w->height < visible.bottom) return true;
if (w->top + w->height > edge.bottom && w->top > visible.top) return true;
if (w->window_class == WC_NEWS_WINDOW && abs(w->left + w->width / 2 - _screen.width / 2) > 3) return true; // News window closes with a light flick to the side
return false;
}
@@ -2469,9 +2470,9 @@ static EventState HandleWindowDragging()
w->SetDirty();
if (GetWindowDraggedOffScreen(w)) {
GuiShowTooltips(w, STR_TOOLTIP_CLOSE_WINDOW, 0, NULL, TCC_LEFT_CLICK);
GuiShowTooltips(w, STR_TOOLTIP_CLOSE_WINDOW, 0, NULL, TCC_NONE);
} else {
GuiShowTooltips(w, STR_NULL, 0, NULL, TCC_LEFT_CLICK); // Hide tooltip
GuiShowTooltips(w, STR_NULL, 0, NULL, TCC_NONE); // Hide tooltip
}
return ES_HANDLED;