From 6cf1de87acdb878e3a3e4ef7cc33d45adee4a592 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sat, 9 Apr 2011 23:47:35 +0200 Subject: DEVTOOLS: Renamed 'tools' directory to 'devtools' --- devtools/create_project/scripts/postbuild.cmd | 45 +++ devtools/create_project/scripts/prebuild.cmd | 27 ++ devtools/create_project/scripts/revision.vbs | 445 ++++++++++++++++++++++++++ 3 files changed, 517 insertions(+) create mode 100644 devtools/create_project/scripts/postbuild.cmd create mode 100644 devtools/create_project/scripts/prebuild.cmd create mode 100644 devtools/create_project/scripts/revision.vbs (limited to 'devtools/create_project/scripts') diff --git a/devtools/create_project/scripts/postbuild.cmd b/devtools/create_project/scripts/postbuild.cmd new file mode 100644 index 0000000000..5c2bd8a1ad --- /dev/null +++ b/devtools/create_project/scripts/postbuild.cmd @@ -0,0 +1,45 @@ +REM @echo off + +REM --------------------------------------------------------------- +REM -- Post-Build Script +REM --------------------------------------------------------------- +REM +REM Copy engine data, themes, translation and required dlls to the +REM output folder. +REM +REM Expected parameters +REM Root folder +REM Output folder +REM Architecture + +if "%~1"=="" goto error_input +if "%~2"=="" goto error_output +if "%~3"=="" goto error_arch + +echo Copying data files +echo. + +REM Copy files +xcopy /F /Y "%~1/dists/engine-data/*.dat" %~2 > NUL 2>&1 +xcopy /F /Y "%~1/dists/engine-data/*.tbl" %~2 > NUL 2>&1 +xcopy /F /Y "%~1/dists/engine-data/*.cpt" %~2 > NUL 2>&1 +xcopy /F /Y "%~1/dists/engine-data/README" %~2 > NUL 2>&1 +xcopy /F /Y "%~1/gui/themes/*.zip" %~2 > NUL 2>&1 +xcopy /F /Y "%~1/gui/themes/translations.dat" %~2 > NUL 2>&1 +xcopy /F /Y "%SCUMMVM_LIBS%/lib/%~3/SDL.dll" %~2 > NUL 2>&1 +goto done + +:error_output +echo Invalid root folder (%~1)! +goto done + +:error_output +echo Invalid output folder (%~2)! +goto done + +:error_arch +echo Invalid arch parameter (was: %~3, allowed: x86, x64)! +goto done + +:done +exit /B0 diff --git a/devtools/create_project/scripts/prebuild.cmd b/devtools/create_project/scripts/prebuild.cmd new file mode 100644 index 0000000000..b824f0d5a0 --- /dev/null +++ b/devtools/create_project/scripts/prebuild.cmd @@ -0,0 +1,27 @@ +@echo off + +REM --------------------------------------------------------------- +REM -- Pre-Build Script +REM --------------------------------------------------------------- +REM +REM Generate file with proper revision number +REM +REM Expected parameters +REM Root folder + +if "%~1"=="" goto error_input + +REM Run the revision script +@call cscript "%~1/devtools/create_project/scripts/revision.vbs" %~1 1>NUL +if not %errorlevel% == 0 goto error_script +goto done + +:error_output +echo Invalid root folder (%~1)! +goto done + +:error_script: +echo An error occured while running the revision script! + +:done +exit /B0 diff --git a/devtools/create_project/scripts/revision.vbs b/devtools/create_project/scripts/revision.vbs new file mode 100644 index 0000000000..851185371b --- /dev/null +++ b/devtools/create_project/scripts/revision.vbs @@ -0,0 +1,445 @@ +' +' ScummVM - Graphic Adventure Engine +' +' ScummVM is the legal property of its developers, whose names +' are too numerous to list here. Please refer to the COPYRIGHT +' file distributed with this source distribution. +' +' This program is free software; you can redistribute it and/or +' modify it under the terms of the GNU General Public License +' as published by the Free Software Foundation, version 2 +' of the License. +' +' This program is distributed in the hope that it will be useful, +' but WITHOUT ANY WARRANTY; without even the implied warranty of +' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +' GNU General Public License for more details. +' +' You should have received a copy of the GNU General Public License +' along with this program; if not, write to the Free Software +' Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +' +' Based off OpenTTD determineversion.vbs (released under GPL version 2) +' +'/ + +Option Explicit + +' Working copy check priority: +' True: TortoiseSVN -> SVN -> Git -> Hg +' False: Git -> Hg -> TortoiseSVN -> SVN +Dim prioritySVN: prioritySVN = False + +Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject") +Dim WshShell : Set WshShell = CreateObject("WScript.Shell") + +' Folders +Dim rootFolder : rootFolder = "" + +' Info variables +Dim tool : tool = "" +Dim branch : branch = "trunk" +Dim revision : revision = "" +Dim modified : modified = False + +' Parse our command line arguments +If ParseCommandLine() Then + ' Determine the revision and update the props file with the revision numbers + DetermineRevision() +End If + +'//////////////////////////////////////////////////////////////// +'// Revision checking +'//////////////////////////////////////////////////////////////// +Sub DetermineRevision() + Wscript.StdErr.WriteLine "Determining current revision:" + + ' Set the current directory to the root folder + WshShell.CurrentDirectory = rootFolder + + ' Try until we find a proper working copy + If (prioritySVN) Then + If Not DetermineTortoiseSVNVersion() Then + If Not DetermineSVNVersion() Then + If Not DetermineGitVersion() Then + If Not DetermineHgVersion() Then + Wscript.StdErr.WriteLine "Could not determine the current revision, skipping..." + Exit Sub + End If + End If + End If + End If + Else + If Not DetermineGitVersion() Then + If Not DetermineHgVersion() Then + If Not DetermineTortoiseSVNVersion() Then + If Not DetermineSVNVersion() Then + Wscript.StdErr.WriteLine "Could not determine the current revision, skipping..." + Exit Sub + End If + End If + End If + End If + End If + + Wscript.StdErr.WriteLine "Found revision " & revision & " on branch " & branch & vbCrLf + + ' Setup our revision string + Dim revisionString : revisionString = "r" & revision + + If (modified) Then + revisionString = revisionString & " M" + End If + + ' If we are not on trunk, add the branch name to the revision string + If (branch <> "trunk" And branch <> "") Then + revisionString = revisionString & " (" & branch & ")" + End If + + ' Add the DVCS name at the end + revisionString = revisionString & " - " & tool + + ' Setup an environment variable with the revision string + Dim Env: Set Env = WshShell.Environment("User") + Env.item("SCUMMVM_REVISION_STRING") = revisionString +End Sub + +Function DetermineTortoiseSVNVersion() + Err.Clear + On Error Resume Next + DetermineTortoiseSVNVersion = False + Wscript.StdErr.Write " TortoiseSVN... " + tool = "svn" + + ' Get the directory where TortoiseSVN (should) reside(s) + Dim sTortoise + + ' First, try with 32-bit architecture + sTortoise = ReadRegistryKey("HKLM", "SOFTWARE\TortoiseSVN", "Directory", 32) + + If sTortoise = "" Or IsNull(sTortoise) Then + ' No 32-bit version of TortoiseSVN installed, try 64-bit version (doesn't hurt on 32-bit machines, it returns nothing or is ignored) + sTortoise = ReadRegistryKey("HKLM", "SOFTWARE\TortoiseSVN", "Directory", 64) + End If + + ' Check if Tortoise is present + If sTortoise = "" Then + Wscript.StdErr.WriteLine "TortoiseSVN not installed!" + Exit Function + End If + + ' If TortoiseSVN is installed, try to get the revision number + Dim SubWCRev : Set SubWCRev = WScript.CreateObject("SubWCRev.object") + SubWCRev.GetWCInfo rootFolder, 0, 0 + + ' Check if this is a working copy + If Not SubWCRev.IsSvnItem Then + Wscript.StdErr.WriteLine "Not a working copy!" + Exit Function + End If + + revision = SubWCRev.Revision + + ' Check for modifications + If SubWCRev.HasModifications Then modified = True + + If revision = "" Then + Wscript.StdErr.WriteLine "No revision found!" + Exit Function + End If + + DetermineTortoiseSVNVersion = True +End Function + +Function DetermineSVNVersion() + Err.Clear + On Error Resume Next + DetermineSVNVersion = False + Wscript.StdErr.Write " SVN... " + tool = "svn" + + ' Set the environment to English + WshShell.Environment("PROCESS")("LANG") = "en" + + ' Do we have subversion installed? Check immediately whether we've got a modified WC. + Dim oExec: Set oExec = WshShell.Exec("svnversion " & rootFolder) + If Err.Number <> 0 Then + Wscript.StdErr.WriteLine "SVN not installed!" + Exit Function + End If + + ' Wait till the application is finished ... + Do While oExec.Status = 0 + WScript.Sleep 100 + Loop + + Dim line: line = OExec.StdOut.ReadLine() + If line = "exported" Then + Wscript.StdErr.WriteLine "Not a working copy!" + Exit Function + End If + + If InStr(line, "M") Then + modified = True + End If + + ' And use svn info to get the correct revision and branch information. + Set oExec = WshShell.Exec("svn info " & rootFolder) + + If Err.Number <> 0 Then + Wscript.StdErr.WriteLine "No revision found!" + Exit Function + End If + + Do + line = OExec.StdOut.ReadLine() + If InStr(line, "Last Changed Rev") Then + revision = Mid(line, 19) + End If + Loop While Not OExec.StdOut.atEndOfStream + + If revision = 0 Then + Wscript.StdErr.WriteLine "No revision found!" + Exit Function + End If + + DetermineSVNVersion = True +End Function + +Function DetermineGitVersion() + Err.Clear + On Error Resume Next + DetermineGitVersion = False + Wscript.StdErr.Write " Git... " + tool = "git" + + ' First check if we have both a .git & .svn folders (in case hg-git has been set up to have the git folder at the working copy level) + If FSO.FolderExists(rootFolder & "/.git") And FSO.FolderExists(rootFolder & "/.hg") Then + Wscript.StdErr.WriteLine "Mercurial clone with git repository in tree!" + Exit Function + End If + + ' Set the environment to English + WshShell.Environment("PROCESS")("LANG") = "en" + + ' Detect if we are using msysgit that has a cmd script in the path instead of an exe... + Dim gitPath : gitPath = "git " + Dim oExec : Set oExec = WshShell.Exec("git") + If Err.Number <> 0 Then + gitPath = "git.cmd " + End If + + Err.Clear + Set oExec = WshShell.Exec(gitPath & "rev-parse --verify HEAD") + If Err.Number <> 0 Then + Wscript.StdErr.WriteLine "Git not installed!" + Exit Function + End If + + ' Wait till the application is finished ... + Do While oExec.Status = 0 + WScript.Sleep 100 + Loop + + If oExec.ExitCode <> 0 Then + Wscript.StdErr.WriteLine "Error parsing git revision!" + Exit Function + End If + + ' Get the version hash + Dim hash: hash = oExec.StdOut.ReadLine() + + ' Make sure index is in sync with disk + Set oExec = WshShell.Exec(gitPath & "update-index --refresh") + If Err.Number = 0 Then + ' Wait till the application is finished ... + Do While oExec.Status = 0 + WScript.Sleep 100 + Loop + End If + + Set oExec = WshShell.Exec(gitPath & "diff-index --exit-code --quiet HEAD " & rootFolder) + If oExec.ExitCode <> 0 Then + Wscript.StdErr.WriteLine "Error parsing git revision!" + Exit Function + End If + + ' Wait till the application is finished ... + Do While oExec.Status = 0 + WScript.Sleep 100 + Loop + + If oExec.ExitCode = 1 Then + modified = True + End If + + ' Get branch name + Set oExec = WshShell.Exec(gitPath & "symbolic-ref HEAD") + If Err.Number = 0 Then + Dim line: line = oExec.StdOut.ReadLine() + line = Mid(line, InStrRev(line, "/") + 1) + If line <> "master" Then + branch = line + End If + End If + + ' Check for svn clones + Set oExec = WshShell.Exec(gitPath & "log --pretty=format:%s --grep=" & Chr(34) & "^(svn r[0-9]*)" & Chr(34) & " -1 " & rootFolder) + if Err.Number = 0 Then + revision = Mid(oExec.StdOut.ReadLine(), 7) + revision = Mid(revision, 1, InStr(revision, ")") - 1) + tool = "svn-git" + End If + + ' No revision? Maybe it is a custom git-svn clone + If revision = "" Then + Err.Clear + Set oExec = WshShell.Exec(gitPath & "log --pretty=format:%b --grep=" & Chr(34) & "git-svn-id:.*@[0-9]*" & Chr(34) & " -1 " & rootFolder) + If Err.Number = 0 Then + revision = oExec.StdOut.ReadLine() + revision = Mid(revision, InStr(revision, "@") + 1) + revision = Mid(revision, 1, InStr(revision, " ") - 1) + tool = "svn-git" + End If + End If + + ' Fallback to abbreviated revision number + If revision = "" Then + revision = Mid(hash, 1, 8) + End If + + DetermineGitVersion = True +End Function + +Function DetermineHgVersion() + Err.Clear + On Error Resume Next + DetermineHgVersion = False + Wscript.StdErr.Write " Mercurial... " + tool = "hg" + + Err.Clear + Dim oExec: Set oExec = WshShell.Exec("hg parents --template ""{rev}:{node|short}""") + If Err.Number <> 0 Then + Wscript.StdErr.WriteLine "Mercurial not installed!" + Exit Function + End If + + ' Wait till the application is finished ... + Do While oExec.Status = 0 + WScript.Sleep 100 + Loop + + If oExec.ExitCode <> 0 Then + Wscript.StdErr.WriteLine "Error parsing mercurial revision!" + Exit Function + End If + + Dim info : info = Split(OExec.StdOut.ReadLine(), ":") + Dim version : version = info(0) + Dim hash : hash = info(1) + + Set oExec = WshShell.Exec("hg status " & rootFolder) + If Err.Number <> 0 Then + Wscript.StdErr.WriteLine "Error parsing mercurial revision!" + Exit Function + End If + + ' Check for modifications + Do + line = OExec.StdOut.ReadLine() + If Len(line) > 0 And Mid(line, 1, 1) <> "?" Then + modified = True + Exit Do + End If + Loop While Not OExec.StdOut.atEndOfStream + + ' Check for branch + Set oExec = WshShell.Exec("hg branch") + If Err.Number = 0 Then + line = OExec.StdOut.ReadLine() + If line <> "default" Then + branch = line + End If + End If + + ' Check for SVN clone + Set oExec = WshShell.Exec("hg log -f -l 1 --template ""{svnrev}\n"" --cwd " & rootFolder) + If Err.Number = 0 Then + revision = Mid(OExec.StdOut.ReadLine(), 7) + revision = Mid(revision, 1, InStr(revision, ")") - 1) + tool = "svn-hg" + End If + + ' Fallback to abbreviated revision number + If revision = "" Then + revision = version & "(" & hash & ")" + End If + + DetermineHgVersion = True +End Function + +'//////////////////////////////////////////////////////////////// +'// Utilities +'//////////////////////////////////////////////////////////////// +Function ParseCommandLine() + ParseCommandLine = True + + If Wscript.Arguments.Count <> 1 Then + Wscript.StdErr.WriteLine "[Error] Invalid number of arguments (was: " & Wscript.Arguments.Count & ", expected: 1)" + + ParseCommandLine = False + Exit Function + End If + + ' Get our arguments + rootFolder = Wscript.Arguments.Item(0) + + ' Check that the folders are valid + If Not FSO.FolderExists(rootFolder) Then + Wscript.StdErr.WriteLine "[Error] Invalid root folder (" & rootFolder & ")" + + ParseCommandLine = False + Exit Function + End If + + ' Set absolute path + rootFolder = FSO.GetAbsolutePathName(rootFolder) +End Function + +Function ReadRegistryKey(shive, subkey, valuename, architecture) + Dim hiveKey, objCtx, objLocator, objServices, objReg, Inparams, Outparams + + ' First, get the Registry Provider for the requested architecture + Set objCtx = CreateObject("WbemScripting.SWbemNamedValueSet") + objCtx.Add "__ProviderArchitecture", architecture ' Must be 64 of 32 + Set objLocator = CreateObject("Wbemscripting.SWbemLocator") + Set objServices = objLocator.ConnectServer("","root\default","","",,,,objCtx) + Set objReg = objServices.Get("StdRegProv") + + ' Check the hive and give it the right value + Select Case shive + Case "HKCR", "HKEY_CLASSES_ROOT" + hiveKey = &h80000000 + Case "HKCU", "HKEY_CURRENT_USER" + hiveKey = &H80000001 + Case "HKLM", "HKEY_LOCAL_MACHINE" + hiveKey = &h80000002 + Case "HKU", "HKEY_USERS" + hiveKey = &h80000003 + Case "HKCC", "HKEY_CURRENT_CONFIG" + hiveKey = &h80000005 + Case "HKDD", "HKEY_DYN_DATA" ' Only valid for Windows 95/98 + hiveKey = &h80000006 + Case Else + MsgBox "Hive not valid (ReadRegistryKey)" + End Select + + Set Inparams = objReg.Methods_("GetStringValue").Inparameters + Inparams.Hdefkey = hiveKey + Inparams.Ssubkeyname = subkey + Inparams.Svaluename = valuename + Set Outparams = objReg.ExecMethod_("GetStringValue", Inparams,,objCtx) + + ReadRegistryKey = Outparams.SValue +End Function -- cgit v1.2.3 From 11b907ebf45f5a0707c2748b8f7413b2910976a8 Mon Sep 17 00:00:00 2001 From: Littleboy Date: Sun, 24 Apr 2011 12:34:57 -0400 Subject: CREATE_PROJECT: Update revision number support (fixes bug #3280881) Replace existing environment variable based revision number support by a file-based method - Generate a special header file in the build output folder with the current revision number - Include the new header file from internal_version.h when a specific define is set - Update create_project to define SCUMMVM_INTERNAL_REVISION as needed and add the build output folder to the include path - Remove support for git-svn clones in the revision script (not useful anymore after the switch to git) --- devtools/create_project/scripts/postbuild.cmd | 4 +- devtools/create_project/scripts/prebuild.cmd | 16 +++++-- devtools/create_project/scripts/revision.vbs | 69 ++++++++++++++------------- 3 files changed, 49 insertions(+), 40 deletions(-) (limited to 'devtools/create_project/scripts') diff --git a/devtools/create_project/scripts/postbuild.cmd b/devtools/create_project/scripts/postbuild.cmd index 5c2bd8a1ad..f548b81442 100644 --- a/devtools/create_project/scripts/postbuild.cmd +++ b/devtools/create_project/scripts/postbuild.cmd @@ -12,7 +12,7 @@ REM Root folder REM Output folder REM Architecture -if "%~1"=="" goto error_input +if "%~1"=="" goto error_root if "%~2"=="" goto error_output if "%~3"=="" goto error_arch @@ -29,7 +29,7 @@ xcopy /F /Y "%~1/gui/themes/translations.dat" %~2 > NUL 2>&1 xcopy /F /Y "%SCUMMVM_LIBS%/lib/%~3/SDL.dll" %~2 > NUL 2>&1 goto done -:error_output +:error_root echo Invalid root folder (%~1)! goto done diff --git a/devtools/create_project/scripts/prebuild.cmd b/devtools/create_project/scripts/prebuild.cmd index b824f0d5a0..dd4d12a851 100644 --- a/devtools/create_project/scripts/prebuild.cmd +++ b/devtools/create_project/scripts/prebuild.cmd @@ -4,22 +4,28 @@ REM --------------------------------------------------------------- REM -- Pre-Build Script REM --------------------------------------------------------------- REM -REM Generate file with proper revision number +REM Generate file with revision number REM REM Expected parameters -REM Root folder +REM Root folder (the source root folder) +REM Target folder (the build output folder, will be used to copy internal_revision.h) -if "%~1"=="" goto error_input +if "%~1"=="" goto error_root +if "%~2"=="" goto error_target REM Run the revision script -@call cscript "%~1/devtools/create_project/scripts/revision.vbs" %~1 1>NUL +@call cscript "%~1/devtools/create_project/scripts/revision.vbs" %~1 %~2 1>NUL if not %errorlevel% == 0 goto error_script goto done -:error_output +:error_root echo Invalid root folder (%~1)! goto done +:error_target +echo Invalid target folder (%~2)! +goto done + :error_script: echo An error occured while running the revision script! diff --git a/devtools/create_project/scripts/revision.vbs b/devtools/create_project/scripts/revision.vbs index 851185371b..9c29a88f2d 100644 --- a/devtools/create_project/scripts/revision.vbs +++ b/devtools/create_project/scripts/revision.vbs @@ -35,6 +35,7 @@ Dim WshShell : Set WshShell = CreateObject("WScript.Shell") ' Folders Dim rootFolder : rootFolder = "" +Dim targetFolder : targetFolder = "" ' Info variables Dim tool : tool = "" @@ -85,23 +86,25 @@ Sub DetermineRevision() Wscript.StdErr.WriteLine "Found revision " & revision & " on branch " & branch & vbCrLf ' Setup our revision string - Dim revisionString : revisionString = "r" & revision + Dim revisionString : revisionString = revision If (modified) Then - revisionString = revisionString & " M" + revisionString = revisionString & "-dirty" End If ' If we are not on trunk, add the branch name to the revision string - If (branch <> "trunk" And branch <> "") Then - revisionString = revisionString & " (" & branch & ")" + If (branch <> "trunk" And branch <> "master" And branch <> "") Then + revisionString = revisionString & "(" & branch & ")" End If - ' Add the DVCS name at the end - revisionString = revisionString & " - " & tool + ' Add the DVCS name at the end (when not git) + If (tool <> "git") Then + revisionString = revisionString & "-" & tool + End If - ' Setup an environment variable with the revision string - Dim Env: Set Env = WshShell.Environment("User") - Env.item("SCUMMVM_REVISION_STRING") = revisionString + ' Output revision header file + FSO.CopyFile rootFolder & "\\base\\internal_revision.h.in", targetFolder & "\\internal_revision.h" + FindReplaceInFile targetFolder & "\\internal_revision.h", "@REVISION@", revisionString End Sub Function DetermineTortoiseSVNVersion() @@ -283,29 +286,9 @@ Function DetermineGitVersion() End If End If - ' Check for svn clones - Set oExec = WshShell.Exec(gitPath & "log --pretty=format:%s --grep=" & Chr(34) & "^(svn r[0-9]*)" & Chr(34) & " -1 " & rootFolder) - if Err.Number = 0 Then - revision = Mid(oExec.StdOut.ReadLine(), 7) - revision = Mid(revision, 1, InStr(revision, ")") - 1) - tool = "svn-git" - End If - - ' No revision? Maybe it is a custom git-svn clone - If revision = "" Then - Err.Clear - Set oExec = WshShell.Exec(gitPath & "log --pretty=format:%b --grep=" & Chr(34) & "git-svn-id:.*@[0-9]*" & Chr(34) & " -1 " & rootFolder) - If Err.Number = 0 Then - revision = oExec.StdOut.ReadLine() - revision = Mid(revision, InStr(revision, "@") + 1) - revision = Mid(revision, 1, InStr(revision, " ") - 1) - tool = "svn-git" - End If - End If - ' Fallback to abbreviated revision number If revision = "" Then - revision = Mid(hash, 1, 8) + revision = Mid(hash, 1, 7) End If DetermineGitVersion = True @@ -385,8 +368,8 @@ End Function Function ParseCommandLine() ParseCommandLine = True - If Wscript.Arguments.Count <> 1 Then - Wscript.StdErr.WriteLine "[Error] Invalid number of arguments (was: " & Wscript.Arguments.Count & ", expected: 1)" + If Wscript.Arguments.Count <> 2 Then + Wscript.StdErr.WriteLine "[Error] Invalid number of arguments (was: " & Wscript.Arguments.Count & ", expected: 2)" ParseCommandLine = False Exit Function @@ -394,6 +377,7 @@ Function ParseCommandLine() ' Get our arguments rootFolder = Wscript.Arguments.Item(0) + targetFolder = Wscript.Arguments.Item(1) ' Check that the folders are valid If Not FSO.FolderExists(rootFolder) Then @@ -403,8 +387,16 @@ Function ParseCommandLine() Exit Function End If - ' Set absolute path + If Not FSO.FolderExists(targetFolder) Then + Wscript.StdErr.WriteLine "[Error] Invalid target folder (" & targetFolder & ")" + + ParseCommandLine = False + Exit Function + End If + + ' Set absolute paths rootFolder = FSO.GetAbsolutePathName(rootFolder) + targetFolder = FSO.GetAbsolutePathName(targetFolder) End Function Function ReadRegistryKey(shive, subkey, valuename, architecture) @@ -443,3 +435,14 @@ Function ReadRegistryKey(shive, subkey, valuename, architecture) ReadRegistryKey = Outparams.SValue End Function + +Sub FindReplaceInFile(filename, to_find, replacement) + Dim file, data + Set file = FSO.OpenTextFile(filename, 1, 0, 0) + data = file.ReadAll + file.Close + data = Replace(data, to_find, replacement) + Set file = FSO.CreateTextFile(filename, -1, 0) + file.Write data + file.Close +End Sub -- cgit v1.2.3 From 878d72b387d13bdb7713b142abae32bc28a51047 Mon Sep 17 00:00:00 2001 From: Littleboy Date: Sun, 24 Apr 2011 13:33:23 -0400 Subject: CREATE_PROJECT: Move project-specific information to configuration file User-visible output and project-specific names are now defined in a config header. This allows an easier usage of the create_project tools in other scummvm-derived projects (such as residual). --- devtools/create_project/scripts/postbuild.cmd | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'devtools/create_project/scripts') diff --git a/devtools/create_project/scripts/postbuild.cmd b/devtools/create_project/scripts/postbuild.cmd index f548b81442..6c062f7ab1 100644 --- a/devtools/create_project/scripts/postbuild.cmd +++ b/devtools/create_project/scripts/postbuild.cmd @@ -11,10 +11,12 @@ REM Expected parameters REM Root folder REM Output folder REM Architecture +REM Libs folder if "%~1"=="" goto error_root if "%~2"=="" goto error_output if "%~3"=="" goto error_arch +if "%~4"=="" goto error_libs echo Copying data files echo. @@ -26,7 +28,7 @@ xcopy /F /Y "%~1/dists/engine-data/*.cpt" %~2 > NUL 2>&1 xcopy /F /Y "%~1/dists/engine-data/README" %~2 > NUL 2>&1 xcopy /F /Y "%~1/gui/themes/*.zip" %~2 > NUL 2>&1 xcopy /F /Y "%~1/gui/themes/translations.dat" %~2 > NUL 2>&1 -xcopy /F /Y "%SCUMMVM_LIBS%/lib/%~3/SDL.dll" %~2 > NUL 2>&1 +xcopy /F /Y "%~4/lib/%~3/SDL.dll" %~2 > NUL 2>&1 goto done :error_root @@ -41,5 +43,9 @@ goto done echo Invalid arch parameter (was: %~3, allowed: x86, x64)! goto done +:error_libs +echo Invalid libs folder (%~4)! +goto done + :done exit /B0 -- cgit v1.2.3 From d418cd0fd7ebc3847fcf7097281bb1580324295c Mon Sep 17 00:00:00 2001 From: Littleboy Date: Tue, 26 Apr 2011 22:31:37 -0400 Subject: TOOLS: Add virtual keyboard feature selection to create_project --- devtools/create_project/scripts/postbuild.cmd | 2 ++ 1 file changed, 2 insertions(+) (limited to 'devtools/create_project/scripts') diff --git a/devtools/create_project/scripts/postbuild.cmd b/devtools/create_project/scripts/postbuild.cmd index 6c062f7ab1..e5f29058b9 100644 --- a/devtools/create_project/scripts/postbuild.cmd +++ b/devtools/create_project/scripts/postbuild.cmd @@ -29,6 +29,8 @@ xcopy /F /Y "%~1/dists/engine-data/README" %~2 > NUL 2>&1 xcopy /F /Y "%~1/gui/themes/*.zip" %~2 > NUL 2>&1 xcopy /F /Y "%~1/gui/themes/translations.dat" %~2 > NUL 2>&1 xcopy /F /Y "%~4/lib/%~3/SDL.dll" %~2 > NUL 2>&1 + +xcopy /F /Y "%~1/backends/vkeybd/packs/vkeybd_default.zip" %~2 > NUL 2>&1 goto done :error_root -- cgit v1.2.3