changeset 8988:85e362a3caf5 draft

(svn r12783) -Codechange: do not statically allocate the 'temporary map3 array' in the oldloader.
author rubidium <rubidium@openttd.org>
date Sat, 19 Apr 2008 08:34:03 +0000
parents 7901d37c4329
children 4ecc117ebb22
files src/oldloader.cpp
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/oldloader.cpp
+++ b/src/oldloader.cpp
@@ -401,7 +401,7 @@
 extern char *_old_name_array;
 
 static byte   _old_vehicle_multiplier;
-static uint8  _old_map3[OLD_MAP_SIZE * 2];
+static uint8  *_old_map3;
 static bool   _new_ttdpatch_format;
 static uint32 _old_town_index;
 static uint16 _old_string_id;
@@ -1608,8 +1608,10 @@
 
 	DEBUG(oldloader, 3, "Reading main chunk...");
 	/* Load the biggest chunk */
+	_old_map3 = MallocT<byte>(OLD_MAP_SIZE * 2);
 	if (!LoadChunk(ls, NULL, main_chunk)) {
 		DEBUG(oldloader, 0, "Loading failed");
+		free(_old_map3);
 		return false;
 	}
 	DEBUG(oldloader, 3, "Done, converting game data...");
@@ -1676,6 +1678,8 @@
 	DEBUG(oldloader, 3, "Finished converting game data");
 	DEBUG(oldloader, 1, "TTD(Patch) savegame successfully converted");
 
+	free(_old_map3);
+
 	return true;
 }