home *** CD-ROM | disk | FTP | other *** search
- //
- // SWEDISH UPDATE setup.rul
- //
- // NOTE: Changes made to this script should be made to the scripts for each
- // other language too!
- //
-
- // Game & folder names
- #define APP_TITLE "NOLF-uppdatering (v1.002)"
- #define APP_NAME "No One Lives Forever"
- #define APP_VERSION "1.0"
- #define APP_KEY "NOLF.exe"
- #define DEFAULT_PATH "Fox\\No One Lives Forever"
- #define DEFAULT_GROUP "Fox Interactive\\No One Lives Forever"
- #define UPDATE_VERSION "1.002"
- #define UPDATE_COMMAND "-rez Nolfu002.rez -rez Nolfcres002.rez"
- #define README_FILE "READMEU002.TXT"
-
- declare
- NUMBER nResult;
- NUMBER nType, nSize;
- STRING svSrcDir, svTargetDir;
- STRING svRegKey;
- STRING svTemp;
- STRING svVersion;
-
- program
- start:
- // Set paths
- svSrcDir = SRCDIR ^ "..\\..\\";
-
- // Setup screen & title
- Enable(BACKGROUND);
- SetColor(BACKGROUND, RGB(236, 164, 4));
- SetTitle(APP_TITLE, 26, WHITE);
-
- SetColor(STATUSBAR, BK_SOLIDBLUE);
- PlaceBitmap(svSrcDir ^ "SETUP\\NOLF1.BMP", 1, CENTERED, CENTERED, CENTERED);
- Delay(2);
-
- // Get installed path from registry
- RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
- svRegKey = "Software\\Monolith Productions\\" + APP_NAME + "\\" + APP_VERSION;
- nType = REGDB_STRING;
- nSize = -1;
- nResult = RegDBGetKeyValueEx(svRegKey, "WorkingDirectory", nType, svTargetDir, nSize);
- if (nResult < 0) then
-
- svTemp = "Kan inte uppdatera " + APP_NAME + " till version " + UPDATE_VERSION +
- ". Kontrollera att " + APP_NAME + " Σr korrekt installerat!";
-
- MessageBox(svTemp, WARNING);
- exit;
- endif;
-
- // Check version number of what's already installed
- nType = REGDB_STRING;
- nSize = -1;
- nResult = RegDBGetKeyValueEx(svRegKey, "Version", nType, svVersion, nSize);
- if (nResult = 0) then
- nResult = StrCompare(svVersion, UPDATE_VERSION);
- if (nResult > 0) then
-
- svTemp = "Du k÷r f÷r nΣrvarande v" + svVersion + " av " + APP_NAME +
- ".\n\nDu kan inte uppdatera till v" + UPDATE_VERSION +
- ".\n\nDu kan ladda ner de senaste uppdateringarna till " + APP_NAME +
- " pσ: http://www.the-operative.com";
-
- MessageBox(svTemp, INFORMATION);
- exit;
- endif;
- endif;
-
- // Show status window
- Disable(FEEDBACK_FULL);
- Enable(STATUS);
- Enable(INDVFILESTATUS);
- PlaceWindow(STATUS, CENTERED, 0, LOWER_RIGHT);
- SetStatusWindow(0, "Uppdaterar " + APP_NAME + "...");
-
- // Copy all game files...
- StatusUpdate(ON, 100);
- SRCDIR = svSrcDir ^ "GAME";
- TARGETDIR = svTargetDir;
- CopyFile("*.*", "*.*");
-
- // Copy language-specific files...
- SRCDIR = svSrcDir ^ "GAME\\SWEDISH";
- CopyFile("*.*", "*.*");
-
- // Display done message
- SetStatusWindow(1000, "Uppdateringen klar!");
-
- // Set new registry keys
- RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
- RegDBSetKeyValueEx(svRegKey, "Version", REGDB_STRING, UPDATE_VERSION, -1);
- RegDBSetKeyValueEx(svRegKey, "Update Command Line", REGDB_STRING, UPDATE_COMMAND, -1);
-
- // Do the readme...
-
- svTemp = "Uppdateringen av " + APP_NAME + " Σr klar! Vill du lΣsa README-filen nu?";
-
- if (AskYesNo(svTemp, YES) = YES) then
- LaunchAppAndWait("NOTEPAD.EXE " + svTargetDir ^ README_FILE, "", NOWAIT);
- endif;
-
- exit;