Legacy game saves now load, probably correctly

- Also fixed the file pick dialogs, which now return a path instead of a file:// URL
This commit is contained in:
2014-04-16 22:50:59 -04:00
parent 6fef467caa
commit 92bcdf20e0
3 changed files with 11 additions and 10 deletions

View File

@@ -236,8 +236,8 @@ namespace legacy {
struct creature_data_type {
int16_t active,attitude;
uint8_t number;
location m_loc;
uint8_t number; // TODO: I think there should be a byte of padding near here, but where exactly??
location m_loc __attribute__((aligned(2)));
monster_record_type m_d;
int16_t mobile;
int16_t summoned;
@@ -251,8 +251,8 @@ namespace legacy {
} __attribute__((packed));
struct outdoor_creature_type {
Boolean exists;
int16_t direction;
Boolean exists; // TODO: I think there should be a byte of padding near here, but where exactly??
int16_t direction __attribute__((aligned(2)));
out_wandering_type what_monst;
location which_sector,m_loc;
} __attribute__((packed));

View File

@@ -975,7 +975,7 @@ bool load_party_v1(fs::path file_to_load, bool town_restore, bool in_scen, bool
long len,store_len,count;
// LOAD PARTY
len = (long) sizeof(legacy::party_record_type); // 45368
len = (long) sizeof(legacy::party_record_type); // should be 46398
store_len = len;
fin.read((char*)&store_party, len);
// error = FSRead(file_id, &len, (char *) &store_party)

View File

@@ -194,8 +194,9 @@ void init_fileio(){
fs::path nav_get_scenario() {
bool gotFile = [dlg_get_scen runModal] != NSFileHandlingPanelCancelButton;
makeFrontWindow(mainPtr);
if(gotFile)
return fs::path([[[dlg_get_scen URL] absoluteString] UTF8String]);
if(gotFile) {
return fs::path([[[[dlg_get_scen URL] absoluteURL] path] UTF8String]);
}
return "";
}
@@ -203,7 +204,7 @@ fs::path nav_put_scenario() {
bool gotFile = [dlg_put_scen runModal] != NSFileHandlingPanelCancelButton;
makeFrontWindow(mainPtr);
if(gotFile)
return [[[dlg_put_scen URL] absoluteString] UTF8String];
return fs::path([[[[dlg_put_scen URL] absoluteURL] path] UTF8String]);
return "";
}
@@ -211,7 +212,7 @@ fs::path nav_get_party() {
bool gotFile = [dlg_get_game runModal] != NSFileHandlingPanelCancelButton;
makeFrontWindow(mainPtr);
if(gotFile)
return fs::path([[[dlg_get_game URL] absoluteString] UTF8String]);
return fs::path([[[[dlg_get_game URL] absoluteURL] path] UTF8String]);
return "";
}
@@ -219,6 +220,6 @@ fs::path nav_put_party() {
bool gotFile = [dlg_put_game runModal] != NSFileHandlingPanelCancelButton;
makeFrontWindow(mainPtr);
if(gotFile)
return fs::path([[[dlg_put_game URL] absoluteString] UTF8String]);
return fs::path([[[[dlg_put_game URL] absoluteURL] path] UTF8String]);
return "";
}