diff --git a/projects/openttd_vs80.vcproj b/projects/openttd_vs80.vcproj
index 37273e8b12..d898e13a94 100644
--- a/projects/openttd_vs80.vcproj
+++ b/projects/openttd_vs80.vcproj
@@ -103,6 +103,8 @@
IgnoreDefaultLibraryNames=""
GenerateDebugInformation="true"
SubSystem="2"
+ StackReserveSize="1048576"
+ StackCommitSize="1048576"
OptimizeReferences="2"
OptimizeForWindows98="1"
TargetMachine="1"
@@ -201,6 +203,8 @@
IgnoreDefaultLibraryNames="LIBCMT.lib"
GenerateDebugInformation="true"
SubSystem="2"
+ StackReserveSize="1048576"
+ StackCommitSize="1048576"
TargetMachine="1"
/>
@@ -410,6 +416,8 @@
IgnoreDefaultLibraryNames="LIBCMT.lib"
GenerateDebugInformation="true"
SubSystem="2"
+ StackReserveSize="1048576"
+ StackCommitSize="1048576"
TargetMachine="17"
/>
@@ -410,6 +416,8 @@
IgnoreDefaultLibraryNames="LIBCMT.lib"
GenerateDebugInformation="true"
SubSystem="2"
+ StackReserveSize="1048576"
+ StackCommitSize="1048576"
TargetMachine="17"
/>
tar_filename, "rb");
- assert(f != NULL);
+ if (f == NULL) return f;
fseek(f, entry->position, SEEK_SET);
if (filesize != NULL) *filesize = entry->size;
diff --git a/src/network/network.cpp b/src/network/network.cpp
index 6b6ae205f6..4f4ef122e2 100644
--- a/src/network/network.cpp
+++ b/src/network/network.cpp
@@ -772,7 +772,6 @@ static void NetworkInitGameInfo()
/* The server is a client too */
_network_game_info.clients_on = _network_dedicated ? 0 : 1;
- _network_game_info.start_date = ConvertYMDToDate(_settings_game.game_creation.starting_year, 0, 1);
NetworkClientInfo *ci = new NetworkClientInfo(CLIENT_ID_SERVER);
ci->client_playas = _network_dedicated ? COMPANY_SPECTATOR : _local_company;
diff --git a/src/network/network_chat_gui.cpp b/src/network/network_chat_gui.cpp
index 87de31085c..5796c53443 100644
--- a/src/network/network_chat_gui.cpp
+++ b/src/network/network_chat_gui.cpp
@@ -124,28 +124,26 @@ void NetworkInitChatMessage()
/** Hide the chatbox */
void NetworkUndrawChatMessage()
{
+ /* Sometimes we also need to hide the cursor
+ * This is because both textmessage and the cursor take a shot of the
+ * screen before drawing.
+ * Now the textmessage takes his shot and paints his data before the cursor
+ * does, so in the shot of the cursor is the screen-data of the textmessage
+ * included when the cursor hangs somewhere over the textmessage. To
+ * avoid wrong repaints, we undraw the cursor in that case, and everything
+ * looks nicely ;)
+ * (and now hope this story above makes sense to you ;))
+ */
+ if (_cursor.visible &&
+ _cursor.draw_pos.x + _cursor.draw_size.x >= _chatmsg_box.x &&
+ _cursor.draw_pos.x <= _chatmsg_box.x + _chatmsg_box.width &&
+ _cursor.draw_pos.y + _cursor.draw_size.y >= _screen.height - _chatmsg_box.y - _chatmsg_box.height &&
+ _cursor.draw_pos.y <= _screen.height - _chatmsg_box.y) {
+ UndrawMouseCursor();
+ }
+
if (_chatmessage_visible) {
Blitter *blitter = BlitterFactoryBase::GetCurrentBlitter();
- /* Sometimes we also need to hide the cursor
- * This is because both textmessage and the cursor take a shot of the
- * screen before drawing.
- * Now the textmessage takes his shot and paints his data before the cursor
- * does, so in the shot of the cursor is the screen-data of the textmessage
- * included when the cursor hangs somewhere over the textmessage. To
- * avoid wrong repaints, we undraw the cursor in that case, and everything
- * looks nicely ;)
- * (and now hope this story above makes sense to you ;))
- */
-
- if (_cursor.visible) {
- if (_cursor.draw_pos.x + _cursor.draw_size.x >= _chatmsg_box.x &&
- _cursor.draw_pos.x <= _chatmsg_box.x + _chatmsg_box.width &&
- _cursor.draw_pos.y + _cursor.draw_size.y >= _screen.height - _chatmsg_box.y - _chatmsg_box.height &&
- _cursor.draw_pos.y <= _screen.height - _chatmsg_box.y) {
- UndrawMouseCursor();
- }
- }
-
int x = _chatmsg_box.x;
int y = _screen.height - _chatmsg_box.y - _chatmsg_box.height;
int width = _chatmsg_box.width;
diff --git a/src/network/network_udp.cpp b/src/network/network_udp.cpp
index cbaf5926bf..5e2e0647da 100644
--- a/src/network/network_udp.cpp
+++ b/src/network/network_udp.cpp
@@ -78,7 +78,7 @@ DEF_UDP_RECEIVE_COMMAND(Server, PACKET_UDP_CLIENT_FIND_SERVER)
/* Update some game_info */
ngi.clients_on = _network_game_info.clients_on;
- ngi.start_date = _network_game_info.start_date;
+ ngi.start_date = ConvertYMDToDate(_settings_game.game_creation.starting_year, 0, 1);
ngi.server_lang = _settings_client.network.server_lang;
ngi.use_password = !StrEmpty(_settings_client.network.server_password);
diff --git a/src/newgrf.cpp b/src/newgrf.cpp
index 3790d0ad83..ebdc417231 100644
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -6254,8 +6254,11 @@ void LoadNewGRF(uint load_index, uint file_index)
if (c->status == GCS_DISABLED || c->status == GCS_NOT_FOUND) continue;
if (stage > GLS_INIT && HasBit(c->flags, GCF_INIT_ONLY)) continue;
- /* @todo usererror() */
- if (!FioCheckFileExists(c->filename)) usererror("NewGRF file is missing '%s'", c->filename);
+ if (!FioCheckFileExists(c->filename)) {
+ DEBUG(grf, 0, "NewGRF file is missing '%s'; disabling", c->filename);
+ c->status = GCS_NOT_FOUND;
+ continue;
+ }
if (stage == GLS_LABELSCAN) InitNewGRFFile(c, _cur_spriteid);
LoadNewGRFFile(c, slot++, stage);