Advertisement
Guest User

NEOsave - no game launch

a guest
Aug 22nd, 2020
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 12.50 KB | None | 0 0
  1. @ECHO OFF
  2. TITLE NEO Scavenger Savegame Backup Tool - NEOsave - No Game Launch
  3. SETLOCAL enabledelayedexpansion
  4.  
  5. REM Find and set .bat file launch folder.
  6. SET launchdir=%~dp0
  7.  
  8. REM Set variables for savegame folder creation.
  9. SET /a saveslots=0
  10. SET /a saveslotcntr=1
  11.  
  12. cls
  13.  
  14. REM Look for and create NEOsave folder in .bat file folder.
  15. IF NOT EXIST "NEOsave" (
  16.     mkdir NEOsave
  17.     mkdir NEOsave\quicksave
  18.     (
  19.         ECHO [AVAILABLE SAVEGAME SLOTS]
  20.         ECHO savegameslots=0
  21.     ) > NEOsave\settings.ini
  22.     ECHO.
  23.     ECHO NEOsave folder created in: %launchdir%NEOsave
  24.     ECHO NEOsave quick save folder created in: %launchdir%NEOsave\quicksave
  25.     ECHO NEOsave settings.ini created in: %launchdir%NEOsave\settings.ini
  26.     ECHO.
  27.     PAUSE
  28. )
  29.  
  30.  
  31.  
  32. REM Menu and save backup management.
  33. :menu
  34. cls
  35. SET selection=
  36. REM Check number of savegame folders and update settings.ini if necessary.
  37. SET foldercount=
  38. FOR /d %%a IN ("%launchdir%NEOsave\"*) DO SET /a foldercount+=1
  39. SET /a foldercount-=1
  40. FOR /f "delims== tokens=1,2" %%i IN ('findstr "savegameslots" NEOsave\settings.ini') DO @SET savegameslots=%%j
  41. IF NOT !savegameslots!==!foldercount! (
  42.     (
  43.         ECHO [AVAILABLE SAVEGAME SLOTS]
  44.         ECHO savegameslots=!foldercount!
  45.     ) > NEOsave\settings.ini
  46. )
  47. REM Build main menu.
  48. ECHO ==================================
  49. ECHO   NEO Scavenger SAVEGAME BACKUP:
  50. ECHO ==================================
  51. ECHO.
  52. ECHO    1: QUICK SAVE
  53. ECHO    2: QUICK RESTORE
  54. IF EXIST "NEOsave\quicksave\savesettings.ini" (
  55.     FOR /f "delims== tokens=1,2" %%i IN ('findstr "saverestoredon" NEOsave\quicksave\savesettings.ini') DO @SET savedate=%%j
  56.     ECHO      [Last save: !savedate!]
  57. ) ELSE (
  58.     ECHO      [No quick save data]
  59. )
  60. ECHO.
  61. ECHO    3: SAVE savegame
  62. ECHO    4: RESTORE savegame
  63. ECHO.
  64. ECHO    5: DELETE savegame
  65. ECHO.
  66. ECHO    0: EXIT
  67. ECHO.
  68. ECHO.
  69.  
  70. SET /p selection=SELECT:
  71. ECHO.
  72. IF "%selection%"=="1" GOTO quickSaveNEO
  73. IF "%selection%"=="2" GOTO quickLoadNEO
  74. IF "%selection%"=="3" GOTO saveNEOmenu
  75. IF "%selection%"=="4" GOTO loadNEOmenu
  76. IF "%selection%"=="5" GOTO deleteNEOmenu
  77. IF "%selection%"=="0" (
  78.     GOTO exitNEOsave
  79. ) ELSE (
  80.     cls
  81.     ECHO.
  82.     ECHO ERROR: Invalid selection.
  83.     ECHO.
  84.     PAUSE
  85.     GOTO menu
  86. )
  87.  
  88.  
  89.  
  90. :quickSaveNEO
  91. REM Find NEOScavenger Flash Player folder and savegames.
  92. SET p=
  93. FOR /r "%userprofile%\AppData\Roaming\Macromedia\Flash Player\#SharedObjects" %%a IN (*) DO IF "%%~nxa"=="nsTest.sol" SET p=%%~dpa
  94. IF DEFINED p (
  95.     ECHO Savegame found in: %p%
  96. ) ELSE (
  97.     ECHO ERROR: No NEO Scavenger savegame found.
  98.     ECHO.
  99.     PAUSE
  100.     GOTO menu
  101. )
  102.  
  103. REM Copy savegame from NEOScavenger Flash Player folder to backup folder.
  104. XCOPY "%p%*.sol" "%launchdir%NEOsave\quicksave\" /y
  105. SET dateandtime=%DATE%, %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%
  106. (
  107.     ECHO [DATE OF SAVEGAME]
  108.     ECHO saverestoredon=%dateandtime%
  109. ) > "%launchdir%NEOsave\quicksave\savesettings.ini"
  110. ECHO.
  111. ECHO Savegame copied to: %launchdir%NEOsave\quicksave\
  112. ECHO.
  113. PAUSE
  114. GOTO menu
  115.  
  116.  
  117.  
  118. :quickLoadNEO
  119. REM Look for backed up files in NEOsave.
  120. IF NOT EXIST "%launchdir%NEOsave\quicksave\nsTest.sol" (
  121.     ECHO ERROR: No NEO Scavenger savegame found in: %launchdir%NEOsave\quicksave\
  122.     ECHO.
  123.     PAUSE
  124.     GOTO menu
  125. )
  126.  
  127. REM Find NEOScavenger Flash Player folder.
  128. SET p=
  129. FOR /r "%userprofile%\AppData\Roaming\Macromedia\Flash Player\#SharedObjects" %%a IN (*) DO IF "%%~nxa"=="nsTest.sol" SET p=%%~dpa
  130. IF DEFINED p (
  131.     ECHO NEO Scavenger savegame folder found in: %p%
  132. ) ELSE (
  133.     ECHO ERROR: No NEO Scavenger savegame folder found.
  134.     ECHO SOLUTION: Please restart NEO Scavenger, exit the game and run this batch file again.
  135.     ECHO.
  136.     PAUSE
  137.     GOTO menu
  138. )
  139.  
  140. REM Copy savegame from backup folder to NEOScavenger Flash Player savegame folder.
  141. XCOPY "%launchdir%NEOsave\quicksave\*.sol" "%p%" /y
  142. ECHO.
  143. ECHO NEO Scavenger savegame restored.
  144. ECHO.
  145. PAUSE
  146. GOTO menu
  147.  
  148.  
  149.  
  150. :saveNEOmenu
  151. cls
  152. SET selectionsave=
  153. SET newsaveslotcreated=
  154. SET confirmoverwrite=
  155. REM Read settings.ini file.
  156. FOR /f "delims== tokens=1,2" %%i IN ('findstr "savegameslots" NEOsave\settings.ini') DO @SET savegameslots=%%j
  157. ECHO ==================================
  158. ECHO   NEO Scavenger SAVEGAME BACKUP:
  159. ECHO ==================================
  160. ECHO.
  161. ECHO  SAVE savegame
  162. ECHO.
  163. ECHO    0: BACK
  164. ECHO.
  165. ECHO    n: NEW SAVE
  166. ECHO.
  167. REM Build menu entries.
  168. SET /a savegameslots=savegameslots+1
  169. SET /a savemenucounter=1
  170. :buildsavemenu
  171. IF NOT "%savemenucounter%"=="%savegameslots%" (
  172.     IF EXIST "%launchdir%NEOsave\save%savemenucounter%\savesettings.ini" (
  173.         FOR /f "delims== tokens=1,2" %%i IN ('findstr "saverestoredon" NEOsave\save%savemenucounter%\savesettings.ini') DO @SET savedate=%%j
  174.         FOR /f "delims== tokens=1,2" %%i IN ('findstr "savename" NEOsave\save%savemenucounter%\savesettings.ini') DO @SET menusavename=%%j
  175.         ECHO    %savemenucounter%: !menusavename!_[!savedate!]
  176.     ) ELSE (
  177.         ECHO    %savemenucounter%: Save Data for save%savemenucounter% not found.
  178.     )
  179.     SET /a savemenucounter=savemenucounter+1
  180.     GOTO buildsavemenu
  181. )
  182. ECHO.
  183. SET /a savegameslots=savegameslots-1
  184. SET /p selectionsave=SELECT:
  185. ECHO.
  186. IF "%selectionsave%" LSS "1" GOTO menu
  187. IF "%selectionsave%"=="n" GOTO createnewsave
  188. IF "%selectionsave%" LEQ "%savegameslots%" (
  189.     GOTO overwritecheck
  190. ) ELSE (
  191.     ECHO ERROR: No save location available for this selection.
  192.     ECHO.
  193.     PAUSE
  194.     GOTO saveNEOmenu
  195. )
  196.  
  197.  
  198.  
  199. :loadNEOmenu
  200. cls
  201. SET selectionload=
  202. REM Read settings.ini file.
  203. FOR /f "delims== tokens=1,2" %%i IN ('findstr "savegameslots" NEOsave\settings.ini') DO @SET savegameslots=%%j
  204. ECHO ==================================
  205. ECHO   NEO Scavenger SAVEGAME BACKUP:
  206. ECHO ==================================
  207. ECHO.
  208. ECHO  RESTORE savegame
  209. ECHO.
  210. ECHO    0: BACK
  211. ECHO.
  212. REM Build menu entries.
  213. SET /a savegameslots=savegameslots+1
  214. SET /a loadmenucounter=1
  215. :buildloadmenu
  216. IF NOT "%loadmenucounter%"=="%savegameslots%" (
  217.     IF EXIST "%launchdir%NEOsave\save%loadmenucounter%\savesettings.ini" (
  218.         FOR /f "delims== tokens=1,2" %%i IN ('findstr "saverestoredon" NEOsave\save%loadmenucounter%\savesettings.ini') DO @SET savedate=%%j
  219.         FOR /f "delims== tokens=1,2" %%i IN ('findstr "savename" NEOsave\save%loadmenucounter%\savesettings.ini') DO @SET menusavename=%%j
  220.         ECHO    %loadmenucounter%: !menusavename!_[!savedate!]
  221.     ) ELSE (
  222.         ECHO    %loadmenucounter%: Save Data for save%loadmenucounter% not found.
  223.     )
  224.     SET /a loadmenucounter=loadmenucounter+1
  225.     GOTO buildloadmenu
  226. )
  227. ECHO.
  228. SET /a savegameslots=savegameslots-1
  229. SET /p selectionload=SELECT:
  230. ECHO.
  231. IF "%selectionload%" LSS "1" GOTO menu
  232. IF "%selectionload%" LEQ "%savegameslots%" (
  233.     GOTO loadNEO
  234. ) ELSE (
  235.     ECHO ERROR: No save location available for this selection.
  236.     ECHO.
  237.     PAUSE
  238.     GOTO loadNEOmenu
  239. )
  240.  
  241.  
  242.  
  243. :deleteNEOmenu
  244. cls
  245. SET selectiondelete=
  246. SET foldercount=
  247. REM Read settings.ini file.
  248. FOR /f "delims== tokens=1,2" %%i IN ('findstr "savegameslots" NEOsave\settings.ini') DO @SET savegameslots=%%j
  249. ECHO ==================================
  250. ECHO   NEO Scavenger SAVEGAME BACKUP:
  251. ECHO ==================================
  252. ECHO.
  253. ECHO  DELETE savegame
  254. ECHO.
  255. ECHO    0: BACK
  256. ECHO.
  257. REM Build menu entries.
  258. SET /a savegameslots=savegameslots+1
  259. SET /a deletemenucounter=1
  260. :builddeletemenu
  261. IF NOT "%deletemenucounter%"=="%savegameslots%" (
  262.     IF EXIST "%launchdir%NEOsave\save%deletemenucounter%\savesettings.ini" (
  263.         FOR /f "delims== tokens=1,2" %%i IN ('findstr "saverestoredon" NEOsave\save%deletemenucounter%\savesettings.ini') DO @SET savedate=%%j
  264.         FOR /f "delims== tokens=1,2" %%i IN ('findstr "savename" NEOsave\save%deletemenucounter%\savesettings.ini') DO @SET menusavename=%%j
  265.         ECHO    %deletemenucounter%: !menusavename!_[!savedate!]
  266.     ) ELSE (
  267.         ECHO    %deletemenucounter%: Save Data for save%deletemenucounter% not found.
  268.     )
  269.     SET /a deletemenucounter=deletemenucounter+1
  270.     GOTO builddeletemenu
  271. )
  272. ECHO.
  273. SET /a savegameslots=savegameslots-1
  274. SET /p selectiondelete=SELECT:
  275. ECHO.
  276. IF "%selectiondelete%" LSS "1" GOTO menu
  277. IF "%selectiondelete%" LEQ "%savegameslots%" (
  278.     GOTO deleteNEO
  279. ) ELSE (
  280.     ECHO ERROR: No save location available for this selection.
  281.     ECHO.
  282.     PAUSE
  283.     GOTO deleteNEOmenu
  284. )
  285.  
  286.  
  287.  
  288. :createnewsave
  289. SET newsaveslotcreated=
  290. REM Find NEOScavenger Flash Player folder and savegames.
  291. SET p=
  292. FOR /r "%userprofile%\AppData\Roaming\Macromedia\Flash Player\#SharedObjects" %%a IN (*) DO IF "%%~nxa"=="nsTest.sol" SET p=%%~dpa
  293. IF NOT DEFINED p (
  294.     ECHO ERROR: No NEO Scavenger savegame found.
  295.     ECHO.
  296.     PAUSE
  297.     GOTO menu
  298. )
  299. REM Create savegame folder and settings.ini file.
  300. SET /a lookforsavecounter=1
  301. :lookforsaves
  302. IF EXIST "%launchdir%NEOsave\save%lookforsavecounter%" (
  303.     SET /a lookforsavecounter=lookforsavecounter+1
  304.     GOTO lookforsaves
  305. ) ELSE (
  306.     mkdir "%launchdir%NEOsave\save%lookforsavecounter%"
  307.     SET /a selectionsave=%lookforsavecounter%
  308.     SET /a foldercount=0
  309.     FOR /d %%a IN ("%launchdir%NEOsave\"*) DO SET /a foldercount+=1
  310.     SET /a foldercount=foldercount-1
  311.     (
  312.         ECHO [AVAILABLE SAVEGAME SLOTS]
  313.         ECHO savegameslots=!foldercount!
  314.     ) > NEOsave\settings.ini
  315. )
  316. SET /a newsaveslotcreated=1
  317. GOTO overwritecheck
  318.  
  319.  
  320.  
  321. :overwritecheck
  322. SET confirmoverwrite=
  323. REM Check for existing save and ask for overwrite confirmation.
  324. IF NOT "!newsaveslotcreated!"=="1" (
  325.     SET /p confirmoverwrite=Are you sure you want to OVERWRITE save!selectionsave!? y/n:
  326.     IF "!confirmoverwrite!"=="n" (
  327.         GOTO saveNEOmenu
  328.     )
  329.     IF "!confirmoverwrite!"=="y" (
  330.         GOTO saveNEO
  331.     ) ELSE (
  332.         ECHO.
  333.         ECHO ERROR: No valid selection.
  334.         ECHO.
  335.         GOTO overwritecheck
  336.     )
  337. ) ELSE (
  338.     GOTO saveNEO
  339. )
  340.  
  341.  
  342.  
  343. :saveNEO
  344. REM Find NEOScavenger Flash Player folder and savegame.
  345. SET p=
  346. FOR /r "%userprofile%\AppData\Roaming\Macromedia\Flash Player\#SharedObjects" %%a IN (*) DO IF "%%~nxa"=="nsTest.sol" SET p=%%~dpa
  347. IF DEFINED p (
  348.     ECHO.
  349.     ECHO Savegame found in: %p%
  350.     ECHO.
  351. ) ELSE (
  352.     ECHO ERROR: No NEO Scavenger savegame found.
  353.     ECHO.
  354.     PAUSE
  355.     GOTO menu
  356. )
  357. SET /p nameofsave=Enter savegame name:
  358. REM Copy savegame from NEOScavenger Flash Player folder to backup folder.
  359. XCOPY "%p%*.sol" "%launchdir%NEOsave\save!selectionsave!\" /y
  360. SET dateandtime=%DATE%, %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%
  361. (
  362.     ECHO [SAVEGAME NAME]
  363.     ECHO savename=%nameofsave%
  364.     ECHO.
  365.     ECHO [DATE OF SAVEGAME]
  366.     ECHO saverestoredon=%dateandtime%
  367. ) > "%launchdir%NEOsave\save%selectionsave%\savesettings.ini"
  368. ECHO.
  369. ECHO Savegame copied to: %launchdir%NEOsave\save%selectionsave%\
  370. ECHO.
  371. PAUSE
  372. GOTO saveNEOmenu
  373.  
  374.  
  375.  
  376. :loadNEO
  377. REM Look for backed up files in NEOsave.
  378. IF NOT EXIST "%launchdir%NEOsave\save%selectionload%\nsTest.sol" (
  379.     ECHO ERROR: No NEO Scavenger savegame found in: %launchdir%NEOsave\save%selectionload%\
  380.     ECHO.
  381.     PAUSE
  382.     GOTO loadNEOmenu
  383. )
  384.  
  385. REM Find NEOScavenger Flash Player folder.
  386. SET p=
  387. FOR /r "%userprofile%\AppData\Roaming\Macromedia\Flash Player\#SharedObjects" %%a IN (*) DO IF "%%~nxa"=="nsTest.sol" SET p=%%~dpa
  388. IF DEFINED p (
  389.     ECHO NEO Scavenger savegame folder found in: %p%
  390. ) ELSE (
  391.     ECHO ERROR: No NEO Scavenger savegame folder found.
  392.     ECHO SOLUTION: Please restart NEO Scavenger, exit the game and run this batch file again.
  393.     ECHO.
  394.     PAUSE
  395.     GOTO menu
  396. )
  397.  
  398. REM Copy savegame from backup folder to NEOScavenger Flash Player savegame folder.
  399. XCOPY "%launchdir%NEOsave\save%selectionload%\*.sol" "%p%" /y
  400. ECHO.
  401. ECHO NEO Scavenger savegame restored.
  402. ECHO.
  403. PAUSE
  404. GOTO loadNEOmenu
  405.  
  406.  
  407.  
  408. :deleteNEO
  409. SET foldercount=
  410. SET confirmdelete=
  411. IF EXIST "NEOsave\save%selectiondelete%\" (
  412.     ECHO Savegame found in: %launchdir%NEOsave\save%selectiondelete%\
  413.     ECHO.
  414.     SET /p confirmdelete=Are you sure you want to DELETE save%selectiondelete%? y/n:
  415.     IF "!confirmdelete!"=="y" (
  416.         del NEOsave\save!selectiondelete! /q
  417.         rmdir NEOsave\save!selectiondelete! /q
  418. REM Rename remaining folders.
  419.         SET /a selectdelrename=selectiondelete+1
  420.         SET /a selectdelrenamedown=selectdelrename-1       
  421.         :renamesavefolders
  422.         IF EXIST "NEOsave\save!selectdelrename!" (
  423.             ren NEOsave\save!selectdelrename! save!selectdelrenamedown!
  424.             SET /a selectdelrename=selectdelrename+1
  425.             SET /a selectdelrenamedown=selectdelrenamedown+1
  426.             GOTO renamesavefolders
  427.         )
  428. REM Update settings.ini file.
  429.         FOR /d %%a IN ("%launchdir%NEOsave\"*) DO SET /a foldercount+=1
  430.         SET /a foldercount-=1
  431.         SET /a !foldercount!=!foldercount!
  432.         (
  433.             ECHO [AVAILABLE SAVEGAME SLOTS]
  434.             ECHO savegameslots=!foldercount!
  435.         ) > NEOsave\settings.ini
  436.         ECHO.
  437.         ECHO Savegame save%selectiondelete% in %launchdir%NEOsave\save%selectiondelete%\ deleted.
  438.         ECHO.
  439.         GOTO deleteNEOmenu
  440.     )
  441.     IF "!confirmdelete!"=="n" (
  442.         GOTO deleteNEOmenu
  443.     ) ELSE (
  444.         ECHO.
  445.         ECHO ERROR: No valid selection.
  446.         ECHO.
  447.         GOTO deleteNEO
  448.     )
  449. ) ELSE (
  450.     ECHO.
  451.     ECHO ERROR: No savegame found in: %launchdir%NEOsave\save%selectiondelete%\
  452.     ECHO.
  453.     PAUSE
  454.     GOTO deleteNEOmenu
  455. )
  456.  
  457.  
  458.  
  459. :exitNEOsave
  460. EXIT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement