Merge branch 'master' into jgrpp
# Conflicts: # CMakeLists.txt # src/bootstrap_gui.cpp
This commit is contained in:
@@ -137,6 +137,9 @@ if(WIN32)
|
||||
list(APPEND GENERATED_SOURCE_FILES "${CMAKE_BINARY_DIR}/generated/ottdres.rc")
|
||||
endif()
|
||||
|
||||
# An empty target for the tools
|
||||
add_custom_target(tools)
|
||||
|
||||
include(SourceList)
|
||||
include(Endian)
|
||||
add_endian_definition()
|
||||
@@ -226,7 +229,7 @@ include(LinkPackage)
|
||||
link_package(PNG TARGET PNG::PNG ENCOURAGED)
|
||||
link_package(ZLIB TARGET ZLIB::ZLIB ENCOURAGED)
|
||||
link_package(LIBLZMA TARGET LibLZMA::LibLZMA ENCOURAGED)
|
||||
link_package(LZO ENCOURAGED)
|
||||
link_package(LZO)
|
||||
link_package(XDG_basedir)
|
||||
|
||||
if(NOT OPTION_DEDICATED)
|
||||
|
@@ -35,6 +35,8 @@ function(set_directory_options)
|
||||
set(GLOBAL_DIR "${DEFAULT_GLOBAL_DIR}" CACHE STRING "Global directory")
|
||||
message(STATUS "Detecting Global Data directory - ${GLOBAL_DIR}")
|
||||
endif()
|
||||
|
||||
set(HOST_BINARY_DIR "" CACHE PATH "Full path to native cmake build directory")
|
||||
endfunction()
|
||||
|
||||
# Set some generic options that influence what is being build.
|
||||
|
@@ -829,7 +829,7 @@
|
||||
|
||||
<tr>
|
||||
<td align=left><tt>4</tt> </td>
|
||||
<td>on snow with rough land underneed</td>
|
||||
<td>on snow with rough land underneath</td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
|
@@ -922,7 +922,11 @@ static bool AircraftController(Aircraft *v)
|
||||
v->cur_speed = 0;
|
||||
if (--u->cur_speed == 32) {
|
||||
if (!PlayVehicleSound(v, VSE_START)) {
|
||||
SndPlayVehicleFx(SND_18_HELICOPTER, v);
|
||||
SoundID sfx = AircraftVehInfo(v->engine_type)->sfx;
|
||||
/* For compatibility with old NewGRF we ignore the sfx property, unless a NewGRF-defined sound is used.
|
||||
* The baseset has only one helicopter sound, so this only limits using plane or cow sounds. */
|
||||
if (sfx < ORIGINAL_SAMPLE_COUNT) sfx = SND_18_HELICOPTER;
|
||||
SndPlayVehicleFx(sfx, v);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@@ -253,7 +253,7 @@ bool HandleBootstrap()
|
||||
if (_exit_game) return false;
|
||||
|
||||
/* Try to probe the graphics. Should work this time. */
|
||||
if (!BaseGraphics::SetSet("")) goto failure;
|
||||
if (!BaseGraphics::SetSet({})) goto failure;
|
||||
|
||||
/* Finally we can continue heading for the menu. */
|
||||
_game_mode = GM_MENU;
|
||||
|
@@ -1903,10 +1903,10 @@ DEF_CONSOLE_CMD(ConContent)
|
||||
}
|
||||
|
||||
if (argc <= 1) {
|
||||
IConsoleHelp("Query, select and download content. Usage: 'content update|upgrade|select [all|id]|unselect [all|id]|state [filter]|download'");
|
||||
IConsoleHelp("Query, select and download content. Usage: 'content update|upgrade|select [id]|unselect [all|id]|state [filter]|download'");
|
||||
IConsoleHelp(" update: get a new list of downloadable content; must be run first");
|
||||
IConsoleHelp(" upgrade: select all items that are upgrades");
|
||||
IConsoleHelp(" select: select a specific item given by its id or 'all' to select all. If no parameter is given, all selected content will be listed");
|
||||
IConsoleHelp(" select: select a specific item given by its id. If no parameter is given, all selected content will be listed");
|
||||
IConsoleHelp(" unselect: unselect a specific item given by its id or 'all' to unselect all");
|
||||
IConsoleHelp(" state: show the download/select state of all downloadable content. Optionally give a filter string");
|
||||
IConsoleHelp(" download: download all content you've selected");
|
||||
@@ -1932,7 +1932,13 @@ DEF_CONSOLE_CMD(ConContent)
|
||||
OutputContentState(*iter);
|
||||
}
|
||||
} else if (strcasecmp(argv[2], "all") == 0) {
|
||||
_network_content_client.SelectAll();
|
||||
/* The intention of this function was that you could download
|
||||
* everything after a filter was applied; but this never really
|
||||
* took off. Instead, a select few people used this functionality
|
||||
* to download every available package on BaNaNaS. This is not in
|
||||
* the spirit of this service. Additionally, these few people were
|
||||
* good for 70% of the consumed bandwidth of BaNaNaS. */
|
||||
IConsolePrintF(CC_ERROR, "'select all' is no longer supported since 1.11");
|
||||
} else {
|
||||
_network_content_client.Select((ContentID)atoi(argv[2]));
|
||||
}
|
||||
|
@@ -117,6 +117,7 @@ static void LoadGrfFileIndexed(const char *filename, const SpriteID *index_tbl,
|
||||
|
||||
do {
|
||||
bool b = LoadNextSprite(start, file_index, sprite_id, container_ver);
|
||||
(void)b; // Unused without asserts
|
||||
assert(b);
|
||||
sprite_id++;
|
||||
} while (++start <= end);
|
||||
|
@@ -59,6 +59,10 @@ set(LANG_SOURCE_FILES
|
||||
|
||||
set(LANG_BINARY_DIR ${CMAKE_BINARY_DIR}/lang)
|
||||
|
||||
if (HOST_BINARY_DIR)
|
||||
include(${HOST_BINARY_DIR}/strgen.cmake)
|
||||
endif()
|
||||
|
||||
# Walk over all the (finished) language files, and generate a command to compile them
|
||||
foreach(LANG_SOURCE_FILE IN LISTS LANG_SOURCE_FILES)
|
||||
get_filename_component(LANG_SOURCE_FILE_NAME_WE ${LANG_SOURCE_FILE} NAME_WE)
|
||||
|
@@ -837,6 +837,7 @@ STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLA
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
|
||||
STR_MUSIC_TITLE_NOMUSIC :{TINY_FONT}{DKGREEN}Nėra muzikos
|
||||
STR_MUSIC_TITLE_NAME :{TINY_FONT}{DKGREEN}„{STRING}“
|
||||
STR_MUSIC_TRACK :{TINY_FONT}{BLACK}Takelis
|
||||
STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Pavadinimas
|
||||
@@ -2790,6 +2791,7 @@ STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Krovinys
|
||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Geležinkelių greičio limitas: {LTBLUE}{VELOCITY}
|
||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Kelio greičio limitas: {LTBLUE}{VELOCITY}
|
||||
STR_LANG_AREA_INFORMATION_TRAM_SPEED_LIMIT :{BLACK}Tramvajaus greičio limitas: {LTBLUE}{VELOCITY}
|
||||
|
||||
# Description of land area of different tiles
|
||||
STR_LAI_CLEAR_DESCRIPTION_ROCKS :Akmenys
|
||||
@@ -2917,6 +2919,7 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Žaidimo
|
||||
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Nėra informacijos
|
||||
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
||||
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}Plėtiniai: {WHITE}{STRING}
|
||||
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Perrašyti bylą
|
||||
|
||||
STR_SAVELOAD_OSKTITLE :{BLACK}Įveskite išsaugomo žaidimo vardą
|
||||
|
||||
@@ -3238,6 +3241,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Paperka
|
||||
# Goal window
|
||||
STR_GOALS_CAPTION :{WHITE}{COMPANY} Tikslai
|
||||
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globalūs tikslai
|
||||
STR_GOALS_SPECTATOR :Visuotiniai tikslai
|
||||
STR_GOALS_GLOBAL_TITLE :{BLACK}Visuotiniai tikslai:
|
||||
STR_GOALS_TEXT :{ORANGE}{STRING}
|
||||
STR_GOALS_NONE :{ORANGE}- Nieko -
|
||||
@@ -3553,6 +3557,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Iškelti visas
|
||||
|
||||
STR_GROUP_RENAME_CAPTION :{BLACK}Pervadinti grupę
|
||||
|
||||
STR_GROUP_PROFIT_THIS_YEAR :Šio mėnesio pelnas:
|
||||
|
||||
# Build vehicle window
|
||||
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nauji lokomotyvai
|
||||
|
@@ -1553,11 +1553,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Året der avisa
|
||||
STR_CONFIG_SETTING_STARTING_YEAR :Start spillet i år: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR :Poengsum ved slutten av året: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Året spillet slutter med tanke på poeng. På slutten av dette året, vil firmaets poengsum bli lagret og tavlen med høyeste poengsummer vil vises. Spilleren kan fortsette å spille etter dette.{}Hvis dette er før start året, vil tavlen med høyeste poengsummer aldri vises.
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Aldri
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Jevn økonomi (flere, mindre endringer): {STRING}
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Når denne er aktivert, endrer industriproduksjonen seg oftere, og i mindre trinn. Denne innstillingen har vanligvis ingen effekt hvis industriene er fra en NewGRF
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES :Tillat aksjekjøp i andre firmaer: {STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Når aktivert, tillates kjøp og salg av selskapers aksjer. Aksjer vil kun være tilgjengelig selskaper som når en viss alder
|
||||
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Sett minimum levetid for et selskap, før andre kan kjøpe og selge aksjer fra dem.
|
||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Prosentandel av etappe-overskudd som skal betales i innmatingssystem: {STRING}
|
||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Andel av inntekten gitt til de mellomliggende etapper i et overføringssystem, noe som gir mer kontroll over inntektene
|
||||
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Når du drar en linje, plasser signaler hver: {STRING}
|
||||
@@ -2166,6 +2168,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Feil pas
|
||||
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Tjeneren er full
|
||||
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Du er bannlyst fra denne tjeneren
|
||||
STR_NETWORK_ERROR_KICKED :{WHITE}Du ble kastet ut av spillet
|
||||
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Grunn: {STRING}
|
||||
STR_NETWORK_ERROR_CHEATER :{WHITE}Juksing er ikke tillatt på denne tjeneren
|
||||
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Du sendte for mange kommandoer til serveren
|
||||
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Du brukte for lang tid på å skrive inn passordet
|
||||
@@ -3123,6 +3126,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Endre bynavnet
|
||||
# Town local authority window
|
||||
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN}s bystyre
|
||||
STR_LOCAL_AUTHORITY_ZONE :{BLACK}Område
|
||||
STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Vis zonene innenfor de lokale myndigheters grenser
|
||||
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Vurdering av transportfirma:
|
||||
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
|
||||
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Handlinger tilgjengelig:
|
||||
@@ -3395,6 +3399,8 @@ STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Industri
|
||||
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Ingen -
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} ({COMMA}% transportert){BLACK}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD1 :{ORANGE}{INDUSTRY} {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUSTRY} {STRING}, {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} og {NUM} flere...
|
||||
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Industrinavn - klikk på navn for å gå til industri. Ctrl+klikk åpner et nytt tilleggsvindu over industrien
|
||||
@@ -4180,8 +4186,10 @@ STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Ikke end
|
||||
STR_SCREENSHOT_CAPTION :WHITE}Ta skjermbilde
|
||||
STR_SCREENSHOT_SCREENSHOT :{BLACK}Normalt skjermbilde
|
||||
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Skjermbilde med maksimal zoom
|
||||
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Standard zoomet skjermbilde
|
||||
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Skjermbilde av hele kartat
|
||||
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Høydekart skjermbilde
|
||||
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Oversiktskart skjermbilde
|
||||
|
||||
# AI Parameters
|
||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametre
|
||||
|
@@ -446,7 +446,7 @@ static bool FixTTOEngines()
|
||||
e->preview_company = INVALID_COMPANY;
|
||||
e->preview_asked = (CompanyMask)-1;
|
||||
e->preview_wait = 0;
|
||||
e->name = nullptr;
|
||||
e->name = std::string{};
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@@ -1941,7 +1941,7 @@ void SlObject(void *object, const SaveLoad *sld)
|
||||
}
|
||||
|
||||
for (; sld->cmd != SL_END; sld++) {
|
||||
void *ptr = sld->global ? sld->address : GetVariableAddress(object, sld);
|
||||
void *ptr = GetVariableAddress(object, sld);
|
||||
SlObjectMember(ptr, sld);
|
||||
}
|
||||
}
|
||||
|
@@ -1038,7 +1038,18 @@ static inline bool IsNumericType(VarType conv)
|
||||
*/
|
||||
static inline void *GetVariableAddress(const void *object, const SaveLoad *sld)
|
||||
{
|
||||
return const_cast<byte *>((const byte*)(sld->global ? nullptr : object) + (ptrdiff_t)sld->address);
|
||||
/* Entry is a global address. */
|
||||
if (sld->global) return sld->address;
|
||||
|
||||
/* Entry is a null-variable, mostly used to read old savegames etc. */
|
||||
if (GetVarMemType(sld->conv) == SLE_VAR_NULL) {
|
||||
assert(sld->address == nullptr);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
/* Everything else should be a non-null pointer. */
|
||||
assert(object != nullptr);
|
||||
return const_cast<byte *>((const byte *)object + (ptrdiff_t)sld->address);
|
||||
}
|
||||
|
||||
int64 ReadValue(const void *ptr, VarType conv);
|
||||
|
@@ -485,7 +485,7 @@ void Squirrel::Initialize()
|
||||
|
||||
/* Handle compile-errors ourself, so we can display it nicely */
|
||||
sq_setcompilererrorhandler(this->vm, &Squirrel::CompileError);
|
||||
sq_notifyallexceptions(this->vm, SQTrue);
|
||||
sq_notifyallexceptions(this->vm, _debug_script_level > 5);
|
||||
/* Set a good print-function */
|
||||
sq_setprintfunc(this->vm, &Squirrel::PrintFunc);
|
||||
/* Handle runtime-errors ourself, so we can display it nicely */
|
||||
|
@@ -2340,6 +2340,7 @@ uint GetCompanySettingIndex(const char *name)
|
||||
{
|
||||
uint i;
|
||||
const SettingDesc *sd = GetSettingFromName(name, &i);
|
||||
(void)sd; // Unused without asserts
|
||||
assert(sd != nullptr && (sd->desc.flags & SGF_PER_COMPANY) != 0);
|
||||
return i;
|
||||
}
|
||||
@@ -2450,6 +2451,7 @@ void IConsoleSetSetting(const char *name, int value)
|
||||
{
|
||||
uint index;
|
||||
const SettingDesc *sd = GetSettingFromName(name, &index);
|
||||
(void)sd; // Unused without asserts
|
||||
assert(sd != nullptr);
|
||||
SetSettingValue(index, value);
|
||||
}
|
||||
|
@@ -1,13 +1,18 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
project(settingsgen)
|
||||
if (NOT HOST_BINARY_DIR)
|
||||
project(settingsgen)
|
||||
|
||||
set(sourcefiles
|
||||
settingsgen.cpp
|
||||
../core/alloc_func.cpp
|
||||
../misc/getoptdata.cpp
|
||||
../ini_load.cpp
|
||||
../string.cpp
|
||||
)
|
||||
add_definitions(-DSETTINGSGEN)
|
||||
add_executable(settingsgen ${sourcefiles})
|
||||
set(sourcefiles
|
||||
settingsgen.cpp
|
||||
../core/alloc_func.cpp
|
||||
../misc/getoptdata.cpp
|
||||
../ini_load.cpp
|
||||
../string.cpp
|
||||
)
|
||||
add_definitions(-DSETTINGSGEN)
|
||||
add_executable(settingsgen ${sourcefiles})
|
||||
|
||||
export(TARGETS settingsgen FILE ${CMAKE_BINARY_DIR}/settingsgen.cmake)
|
||||
add_dependencies(tools settingsgen)
|
||||
endif()
|
||||
|
@@ -1,22 +1,26 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
project(strgen)
|
||||
if (NOT HOST_BINARY_DIR)
|
||||
project(strgen)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake")
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake")
|
||||
|
||||
set(sourcefiles
|
||||
strgen.cpp
|
||||
strgen_base.cpp
|
||||
../core/alloc_func.cpp
|
||||
../misc/getoptdata.cpp
|
||||
../string.cpp
|
||||
)
|
||||
add_definitions(-DSTRGEN)
|
||||
add_executable(strgen ${sourcefiles})
|
||||
set(sourcefiles
|
||||
strgen.cpp
|
||||
strgen_base.cpp
|
||||
../core/alloc_func.cpp
|
||||
../misc/getoptdata.cpp
|
||||
../string.cpp
|
||||
)
|
||||
add_definitions(-DSTRGEN)
|
||||
add_executable(strgen ${sourcefiles})
|
||||
|
||||
include(Endian)
|
||||
add_endian_definition()
|
||||
include(Endian)
|
||||
add_endian_definition()
|
||||
|
||||
export(TARGETS strgen FILE ${CMAKE_BINARY_DIR}/strgen.cmake)
|
||||
add_dependencies(tools strgen)
|
||||
endif()
|
||||
|
||||
# Source Files
|
||||
add_files(strgen_base.cpp)
|
||||
|
@@ -11,6 +11,10 @@ set(TABLE_INI_SOURCE_FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/window_settings.ini
|
||||
)
|
||||
|
||||
if (HOST_BINARY_DIR)
|
||||
include(${HOST_BINARY_DIR}/settingsgen.cmake)
|
||||
endif()
|
||||
|
||||
# Generate a command and target to create the settings table
|
||||
add_custom_command_timestamp(OUTPUT ${TABLE_BINARY_DIR}/settings.h
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${TABLE_BINARY_DIR}
|
||||
|
@@ -1407,6 +1407,7 @@ static void AddWindowToZOrdering(Window *w)
|
||||
/* Search down the z-ordering for its location. */
|
||||
WindowBase *v = _z_front_window;
|
||||
uint last_z_priority = UINT_MAX;
|
||||
(void)last_z_priority; // Unused without asserts
|
||||
while (v != nullptr && (v->window_class == WC_INVALID || GetWindowZPriority(v->window_class) > GetWindowZPriority(w->window_class))) {
|
||||
if (v->window_class != WC_INVALID) {
|
||||
/* Sanity check z-ordering, while we're at it. */
|
||||
|
Reference in New Issue
Block a user