浏览代码

different data file locations for different iso files

stopiccot 11 年之前
父节点
当前提交
145df56126
共有 1 个文件被更改,包括 17 次插入4 次删除
  1. 17 4
      osx/osx-vcmibuilder/vcmibuilder/AppDelegate.m

+ 17 - 4
osx/osx-vcmibuilder/vcmibuilder/AppDelegate.m

@@ -229,10 +229,23 @@
         return [self showErrorText:@"Failed to extract game data using unshield"];
     }
     
-    dataDir = [tempDir stringByAppendingString:@"/Heroes3"];
-    if (![[NSFileManager defaultManager] fileExistsAtPath:dataDir]) {
-        // Some releases have "Program_Files" folder instead of "Heroes3"
-        dataDir = [tempDir stringByAppendingString:@"/Program_Files"];
+    NSArray* knownDataDirs = @[
+        @"/Heroes3",
+        @"/Program_Files",
+        @"/Data",
+    ];
+    
+    success = false;
+    for (NSString* knownDir in knownDataDirs) {
+        dataDir = [tempDir stringByAppendingString:knownDir];
+        if ([[NSFileManager defaultManager] fileExistsAtPath:dataDir]) {
+            success = true;
+            break;
+        }
+    }
+    
+    if (!success) {
+        return [self showErrorText:@"Failed to extract game data using unshield"];
     }
     
     // Unmount CD1. Unmount CD2 if needed