Merge branch 'master' into jgrpp
# Conflicts: # cmake/CompileFlags.cmake # src/crashlog.cpp # src/fileio.cpp # src/fileio_func.h # src/fios_gui.cpp # src/ini_load.cpp # src/ini_type.h # src/lang/english.txt # src/lang/german.txt # src/lang/korean.txt # src/network/network_client.cpp # src/order_base.h # src/order_cmd.cpp # src/os/windows/win32.cpp # src/road_cmd.cpp # src/saveload/saveload.cpp # src/saveload/saveload.h # src/settings.cpp # src/station_cmd.cpp # src/stdafx.h # src/table/settings.ini # src/tree_cmd.cpp # src/tree_gui.cpp # src/vehicle_base.h # src/video/cocoa/cocoa_v.mm # src/video/cocoa/event.mm # src/video/cocoa/wnd_quartz.mm # src/viewport.cpp # src/widgets/tree_widget.h
This commit is contained in:
@@ -100,7 +100,7 @@ void CallWindowGameTickEvent();
|
||||
bool HandleBootstrap();
|
||||
|
||||
extern void ShowOSErrorBox(const char *buf, bool system);
|
||||
extern char *_config_file;
|
||||
extern std::string _config_file;
|
||||
|
||||
bool _save_config = false;
|
||||
|
||||
@@ -148,7 +148,7 @@ void CDECL usererror(const char *s, ...)
|
||||
void CDECL error(const char *s, ...)
|
||||
{
|
||||
va_list va;
|
||||
char buf[512];
|
||||
char buf[2048];
|
||||
|
||||
va_start(va, s);
|
||||
vseprintf(buf, lastof(buf), s, va);
|
||||
@@ -422,8 +422,6 @@ static void ShutdownGame()
|
||||
/* Uninitialize variables that are allocated dynamically */
|
||||
GamelogReset();
|
||||
|
||||
free(_config_file);
|
||||
|
||||
LinkGraphSchedule::Clear();
|
||||
ClearTraceRestrictMapping();
|
||||
ClearBridgeSimulatedSignalMapping();
|
||||
@@ -561,7 +559,7 @@ struct AfterNewGRFScan : NewGRFScanCallback {
|
||||
{
|
||||
/* Visual C++ 2015 fails compiling this line (AfterNewGRFScan::generation_seed undefined symbol)
|
||||
* if it's placed outside a member function, directly in the struct body. */
|
||||
assert_compile(sizeof(generation_seed) == sizeof(_settings_game.game_creation.generation_seed));
|
||||
static_assert(sizeof(generation_seed) == sizeof(_settings_game.game_creation.generation_seed));
|
||||
}
|
||||
|
||||
virtual void OnNewGRFsScanned()
|
||||
@@ -707,7 +705,6 @@ int openttd_main(int argc, char *argv[])
|
||||
|
||||
_game_mode = GM_MENU;
|
||||
_switch_mode = SM_MENU;
|
||||
_config_file = nullptr;
|
||||
|
||||
GetOptData mgo(argc - 1, argv + 1, _options);
|
||||
int ret = 0;
|
||||
@@ -770,9 +767,9 @@ int openttd_main(int argc, char *argv[])
|
||||
_file_to_saveload.SetMode(SLO_LOAD, is_scenario ? FT_SCENARIO : FT_SAVEGAME, DFT_GAME_FILE);
|
||||
|
||||
/* 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 != nullptr) {
|
||||
FiosType ft = FiosGetSavegameListCallback(SLO_LOAD, _file_to_saveload.name, t, nullptr, nullptr);
|
||||
auto t = _file_to_saveload.name.find_last_of('.');
|
||||
if (t != std::string::npos) {
|
||||
FiosType ft = FiosGetSavegameListCallback(SLO_LOAD, _file_to_saveload.name, _file_to_saveload.name.substr(t).c_str(), nullptr, nullptr);
|
||||
if (ft != FIOS_TYPE_INVALID) _file_to_saveload.SetMode(ft);
|
||||
}
|
||||
|
||||
@@ -821,7 +818,7 @@ int openttd_main(int argc, char *argv[])
|
||||
return ret;
|
||||
}
|
||||
case 'G': scanner->generation_seed = strtoul(mgo.opt, nullptr, 10); break;
|
||||
case 'c': free(_config_file); _config_file = stredup(mgo.opt); break;
|
||||
case 'c': _config_file = mgo.opt; break;
|
||||
case 'x': scanner->save_config = false; break;
|
||||
case 'J': _quit_after_days = Clamp(atoi(mgo.opt), 0, INT_MAX); break;
|
||||
case 'Z': {
|
||||
@@ -1145,7 +1142,7 @@ static void MakeNewEditorWorld()
|
||||
* @param subdir default directory to look for filename, set to 0 if not needed
|
||||
* @param lf Load filter to use, if nullptr: use filename + subdir.
|
||||
*/
|
||||
bool SafeLoad(const char *filename, SaveLoadOperation fop, DetailedFileType dft, GameMode newgm, Subdirectory subdir, struct LoadFilter *lf = nullptr)
|
||||
bool SafeLoad(const std::string &filename, SaveLoadOperation fop, DetailedFileType dft, GameMode newgm, Subdirectory subdir, struct LoadFilter *lf = nullptr)
|
||||
{
|
||||
assert(fop == SLO_LOAD);
|
||||
assert(dft == DFT_GAME_FILE || (lf == nullptr && dft == DFT_OLD_GAME_FILE));
|
||||
@@ -1325,7 +1322,7 @@ void SwitchToMode(SwitchMode new_mode)
|
||||
break;
|
||||
|
||||
case SM_SAVE_HEIGHTMAP: // Save heightmap.
|
||||
MakeHeightmapScreenshot(_file_to_saveload.name);
|
||||
MakeHeightmapScreenshot(_file_to_saveload.name.c_str());
|
||||
DeleteWindowById(WC_SAVELOAD, 0);
|
||||
break;
|
||||
|
||||
|
Reference in New Issue
Block a user