exoscoriae / eXoDOS

eXoDOS
71 stars 3 forks source link

eXo\util\!languagepacks\install.bat changes for Linux patch #5384

Closed parricc closed 1 month ago

parricc commented 2 months ago

I've gone ahead and designed a solution myself, which I've verified converts correctly. For the Linux patch, the code under the :unzip2 label in the eXo\util\!languagepacks\install.bat file will need to be changed.

Before change:

:unzip2
.\util\unzip -o ".\eXoDOS\%languagefolder%\%GameName%.zip" -d .\eXoDOS\%languagefolder%\
IF %RESTORE%==Y .\util\unzip -o ".\eXoDOS\%languagefolder%\!save\%GameName%.zip" -d .\eXoDOS\%languagefolder%\
IF NOT EXIST ".\Update\%languagefolder%\!dos\%GameName%.zip" goto config

cls
echo.
echo %line0048%
echo.
pause
.\util\unzip -o ".\Update\%languagefolder%\!dos\%GameName%.zip" -d .\eXoDOS\%languagefolder%\

goto config

After change:

:unzip2
.\util\unzip -o ".\eXoDOS\%languagefolder%\%GameName%.zip" -d .\eXoDOS\%languagefolder%\
IF %RESTORE%==Y .\util\unzip -o ".\eXoDOS\%languagefolder%\!save\%GameName%.zip" -d .\eXoDOS\%languagefolder%\
set RUNUPDATE=N
IF EXIST ".\Update\%languagefolder%\!dos\%GameName%.zip" set RUNUPDATE=Y
IF EXIST ".\Update\%languagefolder%\!dos\linux\release\%GameName%.zip" set RUNUPDATE=Y
IF EXIST ".\Update\%languagefolder%\!dos\linux\%GameName%.zip" set RUNUPDATE=Y
IF %RUNUPDATE% == N goto config

cls
echo.
echo %line0048%
echo.
pause
IF EXIST ".\Update\%languagefolder%\!dos\%GameName%.zip" .\util\unzip -o ".\Update\%languagefolder%\!dos\%GameName%.zip" -d .\eXoDOS\%languagefolder%\
IF EXIST ".\Update\%languagefolder%\!dos\linux\release\%GameName%.zip" .\util\unzip -o ".\Update\%languagefolder%\!dos\linux\release\%GameName%.zip" -d .\eXoDOS\%languagefolder%\
IF EXIST ".\Update\%languagefolder%\!dos\linux\%GameName%.zip" .\util\unzip -o ".\Update\%languagefolder%\!dos\linux\%GameName%.zip" -d .\eXoDOS\%languagefolder%\

goto config

A short explanation of these paths: The \linux\release\ directories will contain files that are bundled with the Linux patch. Meanwhile, the files in the \linux\ directory above it will be for Linux specific updates, which will be bundled in the same update files that everyone downloads. Linux updates are always going to be small and simple things: conf files, run.bat files, bash files, and stuff like that. This directory structure will keep everything separated in a sane way that makes it easy to tell what is what.

The eXo\Update\update_installed.bat and eXo\util\install.bat files will also need corresponding changes. Separate tickets will be created for those. Then, the other collections that have updates (eXoScummVM and eXoWin3x) will need the same kind of solution applied. The same directory structure should presumably work.

parricc commented 2 months ago

Just found another language pack reference inconsistency between !languagepacks\install.bat and eXo\Update\update_installed.bat.

The eXo\Update\update_installed.bat file refers to: ".\Update\!dos\!%lang%\%FileName%" The eXo\util\!languagepacks\install.bat file refers to: ".\Update\%languagefolder%\!dos\%GameName%.zip"

We'll need to get an answer from @TimberlAndRE-de on which reference has the correct path.

exoscoriae commented 1 month ago

code is processed.

closing this one as the other tiket already notes the inconistency found