D
Dr. Zaius
Guest
I'm not trying to be rude, but I already read the readme and it doesn't do a very good job of explaining it so a noob like me can understand. I wouldn't ask if I didn't need the help.
@echo offSETLOCAL EnableDelayedExpansionset key="HKLM\SOFTWARE\Square Soft, Inc.\Final Fantasy VII"set value=AppPathset fmt=audio.fmtset dat=audio.datset target=sfxREG QUERY %key% /v %value% > nul 2>&1if not ERRORLEVEL 1 for /f "skip=2 tokens=3" %%s in ('REG QUERY %key% /v %value%') do ( set fmt=%%s\data\sound\!fmt! set dat=%%s\data\sound\!dat!) else echo Using files in local foldermd %target% > nul 2>&1 choice /c dp /n /m "[d]ump or [p]ack?"if ERRORLEVEL 2 sfxpack %fmt% %dat% %target%if ERRORLEVEL 1 sfxdump %fmt% %dat% %target%
Code: [Select]Does Steam store the path in the registry as well? I suppose it must store a base path to Steam itself, I can search there too.
...SET "RegKey_Steam=HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 39140"SET "RegKey_Re=HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{141B8BA9-BFFD-4635-AF64-078E31010EC3}_is1"SET newValue=InstallLocation...
@ECHO offSETLOCAL EnableDelayedExpansionIF %PROCESSOR_ARCHITECTURE% == x86 ( SET "RegKey_Steam=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 39140" SET "RegKey_Re=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{141B8BA9-BFFD-4635-AF64-078E31010EC3}_is1" SET "RegKey_Old=HKLM\SOFTWARE\Square Soft, Inc.\Final Fantasy VII") ELSE ( SET "RegKey_Steam=HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 39140" SET "RegKey_Re=HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{141B8BA9-BFFD-4635-AF64-078E31010EC3}_is1" SET "RegKey_Old=HKLM\SOFTWARE\Wow6432Node\Square Soft, Inc.\Final Fantasy VII")SET fmt=audio.fmtSET dat=audio.datSET target=sfxREG QUERY "%RegKey_Old%" /v AppPath >NUL 2>&1IF NOT ERRORLEVEL 1 FOR /F "skip=2 tokens=2*" %%s in ('REG QUERY "%RegKey_Old%" /V AppPath') DO ( SET fmt=%%t\data\sound\!fmt! SET dat=%%t\data\sound\!dat! GOTO :continue)REG QUERY "%RegKey_Steam%" /v InstallLocation >NUL 2>&1IF NOT ERRORLEVEL 1 FOR /F "skip=2 tokens=2*" %%s in ('REG QUERY "%RegKey_Steam%" /V InstallLocation') DO ( SET fmt=%%t\data\sound\!fmt! SET dat=%%t\data\sound\!dat! GOTO :continue)REG QUERY "%RegKey_Re%" /v InstallLocation >NUL 2>&1IF NOT ERRORLEVEL 1 FOR /F "skip=2 tokens=2*" %%s in ('REG QUERY "%RegKey_Re%" /V InstallLocation') DO ( SET fmt=%%t\data\sound\!fmt! SET dat=%%t\data\sound\!dat! GOTO :continue)ECHO Using files in local folder :continuemd %target% >nul 2>&1 choice /c dp /n /m "[d]ump or [p]ack?"if ERRORLEVEL 2 sfxpack "%fmt%" "%dat%" %target% && GOTO :EOFsfxdump "%fmt%" "%dat%" %target%
@echo offSETLOCAL EnableDelayedExpansionif %processor_architecture%==AMD64 ( %SystemRoot%\SysWOW64\cmd exe /c %0 goto:eof)set "RegKey_Steam=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 39140"set "RegKey_Re=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{141B8BA9-BFFD-4635-AF64-078E31010EC3}_is1"set "RegKey_Old=HKLM\SOFTWARE\Square Soft, Inc.\Final Fantasy VII"set fmt=audio.fmtset dat=audio.datset target=sfxcall:reg_query %RegKey_Old% AppPathcall:reg_query %RegKey_Re% InstallLocationcall:reg_query %RegKey_Steam% InstallLocationecho Using files in local folder:runmd %target% > nul 2>&1 choice /c dp /n /m "[d]ump or [p]ack?"if errorlevel 2 sfxpack "%fmt%" "%dat%" %target% && goto:eofsfxdump "%fmt%" "%dat%" %target%goto:eof:reg_queryREG QUERY %1 /v %2 > nul 2>&1if not errorlevel 1 for /f "skip=2 tokens=2*" %%s in ('REG QUERY %1 /v %2') do ( set fmt=%%t\data\sound\!fmt! set dat=%%t\data\sound\!dat! goto:run)
This trick is great! I'll remember that 8)Code: [Select]Code:...if %processor_architecture%==AMD64 ( %SystemRoot%\SysWOW64\cmd exe /c %0 goto:eof)....