background image

 

 

SZYBKI KURS KOMPRESOWANIA GIER 

by mahometo 

 

Witam! 
 

 

Napisałem ten kurs w odpowiedzi na wiadomości które 

otrzymuje na chomiku typu: „jak ty to robisz?”, „musisz być geniuszem informatycznym” 
itp. Z góry muszę stwierdzić, iż kompresowanie gierek „moim sposobem” raczej nie ma 
wiele wspólnego z wyższą wiedzą informatyczną. Każdy może się w to pobawić. Ten 
szybki kurs odpowie na pytanie „Jak?”.  
 
 

WinRar  

# dzielenie na party, hasło, archiwum SFX # 

 
 

 

Dzielenie na party: 

 
Zaznaczamy pliki do spakowania, klikamy prawym przyciskiem myszy, wybieramy opcje Dodaj do 
archiwum… , 
wyświetla nam się takie okienko: 
 

 

 

Jeżeli chcemy podzielić tylko na party bez stosowania kompresji – zmieniamy Metodę kompresji 
normalna na bez kompresji. Następnie wpisujemy rozmiar woluminów czyli jaką wagę ma mieć 
poszczególny part. Oczywiście po rozwinięciu opcji rozmiaru woluminów mamy do wyboru np.: 

background image

 

 

- CD700: dzieli plik na części po 700MB, 
- DVD+R: dzieli plik na części po 4481MB 
 
Jeżeli wybierzesz opcję wpisania „po swojemu” możesz skorzystać z kalkulatora internetowego (link 
poniżej), który przeliczy ci np. 1GB na bajty lub tak jak ja to robie po prostu wpisać na końcu literkę M 
(w megabajtach). I tak np. dla naszego 1GB wpisuje 1100M i wychodzi mi 1,02GB.  
 

http://wieszjak.pl/przeliczniki/31,przelicznik-jednostek-ilosci-danych.html

 

 

 

Ustawianie hasła archiwum 

 
Wystarczy przełączyć z zakładki Ogólne na Zaawansowane i wybrać opcję Wprowadź hasło… 
Możemy wybrać dodatkowo opcję Zaszyfruj nazwy plików w celu ukrycia zawartości archiwum. 
 

 

Archiwum SFX 

 
Jest to prosty plik instalacyjny w pliku *.exe, samorozpakowujące się archiwum: 

 

 
Stworzenie archiwum SFX jest banalnie proste wystarczy zaznaczyć w zakładce Ogólne Utwórz 
archiwum SFX
. Możemy również pobawić się z ustawianiem hasła, kompresji (jak powyżej), 
edytowaniem domyślnego tekstu w oknie, nagłówka czy tworzeniem ikon na pulpicie czy w Menu 
Start itp. itd. Wszystko jest tutaj: Zaawansowane -> Opcje SFX… W ten sposób możemy stworzyć 
własny instalator. 
 
 

background image

 

 

WinUHA 

 
 

Polecam oczywiście ripowanie gier tą metodą, ponieważ WinUHA posiada dużo większe możliwości 
kompresji plików, krótko mówiąc -lepiej pakuje od WinRara czy 7zipa. Instalkę można pobrać z 
mojego chomika (mahometo). Krótko mówiąc programem tym wystarczy jedynie spakować pliki, 
rozpakowaniem zajmie się plik wsadowy setup.bat
Po zainstalowaniu tegoż programu, zaznaczamy pliki do kompresji tak jak w przypadku WinRara, 
naciskamy prawy przycisk myszy i wybieramy opcję WinUHA: Add To Archive … 

 

 

Oczywiście możemy również stworzyć SFX’a, ale skupimy się raczej na zabawie z plikiem wsadowym. 
 
UWAGA! W naszym przypadku należy zmienić rozszerzenie naszej paczki z *.uha na *.arc 
Słownik kompresji ustawiamy jak na foto 1024KB, a kompresję wg naszego „widzi mi się”, jeżeli 
chcemy mocno spakować pliki to ustawiamy jak na foto ALZ-3. Można oczywiście jak w przypadku 
WinRara ustawić bez kompresji. Jedyną wadą WinUHA jest to, że maksymalna waga pojedynczej 
paczki to 2GB. 
 
Zapisujemy plik *.arc pod dowolną nazwą, ja wpisuje tam najczęściej data.arcdata2.arc itd. 
Oczywiście można tam wpisać co tylko dusza zapragnie. Nie istotne jest w ile plików *.arc spakujemy 
grę, istotne jest żeby spakować wszystkie pliki – czyli waga, lokalizacje folderów itd. muszą się 
zgadzać. 
 
Do rozpakowania takiej paczki będzie nam potrzebny plik uha.dll, który znajdziecie na moim chomiku 
oraz plik instalacyjny w tym przypadku plik wsadowy. Domyślnie zawsze nazywam go setup.bat, żeby 
każdy wiedział do czego on służy. Teraz pytanie jak stworzyć taki instalator? 

background image

 

 

Piszemy go w notatniku. Nie jest to czasochłonne zajęcie, ponieważ skrypt ma banalnie prostą 
budowę. Poniżej podam listę najpotrzebniejszych komend pliku wsadowego i krótko opisze ich 
działanie. 
 
UWAGA! Należy pamiętać o zmianie rozszerzenia pliku na *.bat. „setup.txt” nie ruszy. Zapewniam. Po 
napisaniu naszego batch’a w notatniku, klikamy Plik -> Zapisz jako… i tam wpisujemy nazwę pliku z 
rozszerzeniem *.bat. Kodowanie powinno być ustawione na ANSI

 

 

KOMENDY PLIKU WSADOWEGO 

Komendy przedstawię na przykładzie gotowego pliku setup.bat 

 
 

@echo off  _______________________  wpisujemy zawsze na początku, wyłącza wyświetlanie ścieżki 
cls ________________________________________________________  czyści nasze okienko z tekstu 
color 4E  __________________________ zmienia kolor okienka i tła, można zmienić np. na 1A, 0B itd. 
Title Astral Masters RIP ____________________________  zmienia tytuł okna na GTA 2 by mahometo 
echo.  __________________________________________________________  wyświetla pustą linijkę 
echo  Instalacja gry Astral Masters _________________  wyświetla napis Instalacja gry Astral Masters 
echo.  __________________________________________________________  wyświetla pustą linijkę 
pause __  skrypt zatrzymuje się i w okienku wyświetla się napis naciśnij jakiś klawisz aby kontynuować 
cls ________________________________________________________  czyści nasze okienko z tekstu 
echo.  __________________________________________________________  wyświetla pustą linijkę 
echo Instalacja gry w toku (1/2)... ____________________ wyświetla napis Instalacja gry w toku (1/2) 
echo.  __________________________________________________________  wyświetla pustą linijkę 
uha.dll x -y data.arc >nul  ________________________________________ wypakowuje plik data.arc 
del data.arc   _______________________________________________________ usuwa plik data.arc 
cls ________________________________________________________  czyści nasze okienko z tekstu 
echo.  __________________________________________________________  wyświetla pustą linijkę 
echo Instalacja gry w toku (2/2)... ____________________ wyświetla napis Instalacja gry w toku (2/2) 
echo.  __________________________________________________________  wyświetla pustą linijkę 
uha.dll x -y data2.arc >nul  ______________________________________ wypakowuje plik data2.arc 
del data2.arc ______________________________________________________ usuwa plik data2.arc 
cls ________________________________________________________  czyści nasze okienko z tekstu 
echo.  __________________________________________________________  wyświetla pustą linijkę 
echo  Instalacja zakonczona  ____________________________ wyświetla napis Instalacja zakonczona 
echo.  __________________________________________________________  wyświetla pustą linijkę 
pause __  skrypt zatrzymuje się i w okienku wyświetla się napis naciśnij jakiś klawisz aby kontynuować 
call "ikona.exe"  _______________odpala plik ikona.exe tworzący skrót na pulpicie i/lub w menu start 
del ikona.exe ______________________________________________________ usuwa plik ikona.exe 
call "mahometo.url"  ____________________________________________ odpala plik mahometo.url 
del uha.dll  __________________________________________________________ usuwa plik uha.dll 
del setup.bat ______________________________________________________ usuwa plik setup.bat 
 

background image

 

 

 
Na powyższym przykładzie widać jak nasz program instalacyjny wykonuje polecenia linijka po linijce. 
Najważniejsze komendy są zaznaczone powyżej pogrubioną czcionką. Głównym zadaniem naszego 
pliku wsadowego jest rozpakowanie plików *.arc. Oprócz kwestii wypakowania naszych plików data, 
ważne jest też aby po wypakowaniu zostały usunięte (po co mają zaśmiecać nam dysk). Możemy też 
stworzyć skrypt zawierający tylko te 4 wiersze. Gra też się wypakuje i będzie działać. Mimo to 
uważam, że najlepsza zabawa jest z „efektami wizualnymi” naszego czarnego okienka. 
 

 

Call, czyli wywoływanie plików przez plik wsadowy 

 
Komenda call jest też bardzo przydatna – np. gdy gra wymaga zainstalowania np. DirectX. Wpisujemy 
odpowiednią linijkę do skryptu i nasz instalator wywołuje dany plik z instalką DirectX (np. call 
directx.exe
). Po zamknięciu okna wywołanego instalatora czy pliku nasz instalator kontynuuje pracę. 
W tym przypadku też możemy w następnej linijce wpisać komendę del.  
W przypadku naszego skryptu komenda call wywołuje plik mahometo.url czyli skrót internetowy oraz 
plik ikona.exe
 

 

Skrypt SFX do tworzenia skrótu na pulpicie i/lub w menu start 

 
Jak sprawić aby po wypakowaniu naszej gry na pulpicie i/lub w menu start pojawiły się ikonki? 
Będzie nam do tego potrzebny WinRar. 
Wystarczy zaznaczyć jakiś dowolny plik (najlepiej o małej wadzę) np. ja stworzyłem nowy plik 
tekstowy
 i zmieniłem jego nazwę na mahometo. Następnie kliknąć prawym przyciskiem myszy i 
odpalić Dodaj do archiwum … , zaznaczyć Utwórz archiwum SFX, następnie przejść z zakładki Ogólne 
na Komentarz. W okienku komentarza wpisujemy coś takiego: 
 
Silent=1 
Overwrite=1 
Shortcut=D, "nazwa pliku źródłowego.exe", "", "", "nazwa ikony" 
Shortcut=P, nazwa pliku źródłowego.exe, nazwa folderu w menu start, , nazwa ikony w menu start, 
 
 
Silent=1 

operacja jest wykonywana bez otwierania żadnych okien 

Overwrite=1 

automatycznie zastępuje pliki bez zadawania pytań 

Shortcut=D  

 ikona na pulpit 

Shortcut=P 

 ikona do menu start 

 
Oczywiście jeżeli nie chcemy robić ikony w menu start nie wpisujemy linijki Shortcut=P. 
 
Przypominam raz jeszcze o pliku uha.dll, który musi się znajdować w katalogu z setup.bat.  
Oczywiście do tych moich wypocin dołączę takiego przykładowego ripa wykorzystującego powyższy 
skrypt, aby każdy mógł zobaczyć „jak to działa”. W tym przypadku: Astral Masters RIP.rar 
Zalecam „pobawienie się” naszym plikiem wsadowym. Aby go edytować wystarczy kliknąć prawym 
przyciskiem myszy a potem Edytuj
 

background image

 

 

REJESTR 

# regedit, setup.reg # 

 
Oczywiście powyższy skrypt nie sprawdzi się w grach, które nie ruszą bez uprzedniego 
zaktualizowania rejestru. Niektóre gry po zainstalowaniu, skopiowaniu na pendrive’a i przerzuceniu 
na inny komputer wywalają komunikaty typu gra została nieprawidłowo zainstalowana itd. Ogólnie 
nie działają. Dlaczego? 
Otóż oryginalne programy instalacyjne, zapisują informację w rejestrze bez których gra się nie 
uruchomi. Ogólnie mówiąc każda gra jest inna. Niektóre gry same aktualizują rejestr po ich 
odpaleniu, a u niektórych nawet należy wklepać do rejestru ich lokalizację. Możemy w takim 
przypadku zmusić gościa żeby wrzucił grę do odpowiedniego katalogu, tak aby jego lokalizacja była 
identyczna jak w rejestrze lub wpisać odpowiednią linijkę do skryptu. 
 
Naszym zadaniem jest wyeksportowanie tych informacji do pliku *.reg
Wykonujemy następujące czynności: START   Uruchom…  regedit  
Otworzyło nam się okienko edytora rejestru. Rozwijamy zawartość klucza HKEY_LOCAL_MACHINE 
następnie SOFTWARE. Teraz mamy przed oczami nic innego jak listę oprogramowania 
zainstalowanego na naszym komputerze. Szukamy naszej gry. Podam przykładowo dla Diablo II: Lord 
of Destruction 
(ciekawostka: do tej gry zupełnie nie potrzebne jest babranie się w rejestrze): 
 

 

 
Znalazłem katalog Blizzard Entertainment. Klikam na niego prawym przyciskiem myszy, wybieram 
Eksportuj i zapisuje klucz w pliku setup.reg. Teraz zostaje tylko do naszego skryptu setup.bat dopisać 
komendę call setup.reg, aby nasz instalator odpalił plik.  

background image

 

 

 
W przypadku gier, które nie uruchomią się jeżeli lokalizacja w rejestrze nie będzie się zgadzać z tą 
rzeczywistą podam linijkę skryptu: 
 

reg add "HKLM\SOFTWARE\Blizzard Entertainment\Diablo II " /v InstallPath /t reg_sz /d "%cd%" /f 

 
Zmienna „cd” zawiera ścieżkę do miejsca, w którym znajduje się nasz plik wsadowy setup.bat

UWAGA! Nie każda gra ma lokalizacje zapisaną w InstallPath

Aby  to  sprawdzić  należy  po  wyeksportowaniu  pliku  setup.reg  otworzyć  go  notatnikiem  i  krótko 
mówiąc sprawdzić jak oznaczona jest lokalizacja gry.   
Następnie żeby gra śmigała po rozpakowaniu, wystarczy zrobić tak: 
 

1.  Edytować nasz plik setup.reg 

 

A)  Sprawdzić jak oznaczona jest lokalizacja gry (w naszym przypadku to: InstallPath) 
B)  Wykasować linijkę z tą lokalizacją 

 

"SmallInstall"=dword:00000000 
"InstallPath"="D:\\Diablo II"  wykasować tą linijkę 
"Program"="D:\\Diablo II\\Diablo II.exe" 
 
C)  Zapisać plik setup.reg 

 

2.  Edytować plik setup.bat i dopisać: 

 

call "setup.reg" 
reg add "HKLM\SOFTWARE\Blizzard Entertainment\Diablo II " /v InstallPath /t reg_sz /d 
"%cd%" /f 
 

Komendą call wywołujemy plik setup.reg
 

 

 

Klikamy Tak, rejestr zostaje zaktualizowany informacjami o danej grze, a następna komenda 
uzupełnia brakującą linijkę, wpisując lokalizację w której znajduje się nasz instalator setup.bat
 
 

Tyle wiedzy wam zupełnie wystarczy. Życzę wysokich kompresji! 

mahometo