A faithful, cross-platform port of Wacki: Kosmiczna rozgrywka
(1998) — a Polish point-and-click adventure — reconstructed from the
decompiled WACKI.EXE. It runs on desktop (macOS / Linux / Windows),
on Android phones and tablets, on handhelds (Miyoo, plus Anbernic and
dozens more via PortMaster), and on the PlayStation 2.
The game is in Polish, set in Poland, and was made in Poland; for that
reason the rest of this README is in Polish too.
Najszybszy start: wejdź na mszula.github.io/wacki — wybierz swój sprzęt i przejdź ilustrowaną instrukcję krok po kroku. Ten README to skrócona wersja tego samego.
Wacki: Kosmiczna rozgrywka to polska gra przygodowa typu point-and-click, wydana 1 lipca 1998 roku przez studio Seven Stars Multimedia na komputery z systemem Microsoft Windows.
Akcja rozgrywa się na polskim osiedlu, gdzie dwaj nastolatkowie — Franc i Edek — spotykają kosmitę Aargha. Obcy prosi ich o pomoc w odnalezieniu części zagubionego urządzenia ACME (Atomowego Czasoprzestrzennego Modyfikatora Energii), które uległo rozpadowi. Gracz steruje dwoma bohaterami, eksplorując kolejne lokacje na osiedlu i rozwiązując zagadki — klika myszą na obiekty i postacie, zbiera przedmioty, prowadzi dialogi. Gra zawiera liczne elementy humorystyczne, często opierające się na polskiej kulturze i absurdalnych sytuacjach.
Niniejszy projekt jest portem silnika gry — odtworzonym ze
zdekompilowanej oryginalnej binarki WACKI.EXE. Repozytorium
nie zawiera materiałów z gry; aby zagrać, potrzebna jest własna
kopia oryginalnej płyty.
Port jest funkcjonalnie kompletny — gra przechodzi się od intro do napisów końcowych z większością mechanik i detali oryginału: sterowanie dwoma postaciami, system dialogów i dymków, ekwipunek, zapis i wczytanie stanu (sloty + quick save / quick load), pełna animacja postaci i obiektów, dźwięk (muzyka, SFX, kwestie mówione), intra i cutscenki AVI, panel z paskiem życia, menu opcji.
Szczegóły techniczne — jak silnik działa pod maską, format danych,
maszyna wirtualna skryptów, dekoder animacji FLIC, pipeline audio
itd. — znajdują się w katalogu docs/. To dokumentacja
budowy gry, nie roadmapa portu.
Gotowe paczki są w zakładce Releases. Pełne, ilustrowane przewodniki (pobieranie → dane → sterowanie → rozwiązywanie problemów) żyją na stronie — linki w tabeli. Skrócone instrukcje masz tu niżej, rozwijane per platforma.
Do gry zawsze potrzebne są jeszcze pliki Dane_*.dta z oryginalnej
płyty — port ich nie zawiera.
| Platforma | Paczka z Releases | Przewodnik krok po kroku |
|---|---|---|
| 🪟 Windows 10/11 (64-bit) | wacki-windows-x86_64.zip |
strona — Windows |
| 🍎 macOS (Apple Silicon) | wacki-macos-arm64.tar.gz |
strona — macOS |
| 🐧 Linux x86_64 | wacki-linux-x86_64.tar.gz |
strona — Linux |
| 🤖 Android 7.0+ | wacki-android.apk |
strona — Android |
| 🕹️ Miyoo (OnionOS) | wacki-miyoo.zip |
strona — Miyoo |
| 🎮 Anbernic / PortMaster | wacki-portmaster.zip |
strona — PortMaster |
| 📀 PlayStation 2 | wacki-ps2.zip |
strona — PS2 |
🖥️ PC — macOS / Linux / Windows
- gotowa binarka portu z zakładki Releases dla Twojego systemu: macOS (Apple Silicon), Linux x86_64 lub Windows 10/11 x86_64
- pliki danych z oryginalnej płyty:
Dane_*.dta
- Pobierz archiwum dla swojego systemu z Releases i rozpakuj w dowolnym katalogu.
- Skopiuj pliki
Dane_*.dtaz oryginalnej płyty w jedno z miejsc, które gra przeszukuje (patrz niżej). Najprościej:- macOS: folder
data/obokWacki.app, albo prawy klik naWacki.app→ Show Package Contents →Contents/Resources/data/ - Linux / Windows: podkatalog
data/obok binarki
- macOS: folder
- Uruchom grę:
- macOS: dwuklik
Wacki.app(przy pierwszym razie zobacz „Pierwsze uruchomienie na macOS" niżej) - Linux:
./wacki - Windows: dwuklik
wacki.exe
- macOS: dwuklik
Gra przeszukuje (pierwszy trafiony wygrywa): WACKI_PATH → katalog
uruchomienia → ./data/ → katalog binarki (lub folder obok
Wacki.app) → napędy CD / podłączone dyski. Jeśli nic nie znajdzie,
pokaże okno wyboru folderu. Wielkość liter w nazwach nie ma znaczenia.
Binarki nie są podpisane certyfikatem Apple (port jest darmowy, a
Apple Developer Program kosztuje 99 $/rok), więc Gatekeeper zablokuje
Wacki.app przy pierwszym uruchomieniu komunikatem typu „Apple nie
może sprawdzić…". To jednorazowe — najprościej:
- Ustawienia systemowe → Prywatność i bezpieczeństwo → przewiń na dół do sekcji Security → przy wpisie „Wacki.app was blocked…" kliknij Open Anyway i potwierdź.
- albo z Terminala (każda wersja macOS), w katalogu z grą:
xattr -dr com.apple.quarantine Wacki.app
Pełny przewodnik (3 sposoby, w tym uwaga o macOS 15 Sequoia): strona — macOS.
| Czynność | Wejście |
|---|---|
| Ruch kursora | mysz |
| Kliknięcie lewe | LPM |
| Kliknięcie prawe | PPM |
| Wyjście z gry | ESC |
| Quick-save (slot 0) | F5 |
| Quick-load (slot 0) | F9 |
| Menu pauzy | F12 |
| Przełącz postać | SPACE |
| Pełny ekran | F11 |
Przy pierwszym uruchomieniu gra zapyta jak chcesz grać — Pełny
ekran, Okno 2× albo Okno 1×. Wybór jest zapamiętany (plik
wacki.cfg obok gry), więc pytanie pojawia się tylko raz.
- F11 — przełącza pełny ekran ↔ okno
- rozciągnij okno za róg — płynnie zmienia powiększenie; gra renderuje wewnętrznie 640×480 i skaluje z zachowaniem proporcji
Żeby znów zobaczyć pytanie o tryb — skasuj wacki.cfg. Zaawansowani
mogą wymusić tryb z linii poleceń (sekcja „⚙️ Opcje uruchomienia"
niżej) — flagi mają pierwszeństwo nad zapamiętanym wyborem.
📱 Android (telefony i tablety, 7.0+)
Gra renderuje się w wyśrodkowanym kadrze 4:3; wolne miejsce po bokach (na szerokim ekranie trzymanym poziomo) wypełnia półprzezroczyste sterowanie dotykowe: wirtualna gałka po lewej, a po prawej dwa przyciski — duży (lewy klik) i mniejszy nad nim (prawy klik). Można też grać samym dotykiem ekranu albo padem Bluetooth/USB.
- telefon lub tablet z Androidem 7.0 (API 24) lub nowszym
- plik
wacki-android.apkz Releases (podpisany kluczem release — instaluje się bezpośrednio) - pliki danych z oryginalnej płyty:
Dane_*.dta
- Pobierz
wacki-android.apkz Releases i zainstaluj. To sideload, więc Android poprosi o zgodę na instalację z tego źródła. - Skopiuj pliki
Dane_*.dtaz oryginalnej płyty gdziekolwiek na telefon (np. osobny folder w „Pliki" / Downloads). Nie pakuj ich do APK. - Uruchom Wacki → ekran powitalny → „Wskaż folder z plikami gry" → wskaż ten folder. Gra czyta pliki wprost z tego miejsca (przez Storage Access Framework) — nic nie jest kopiowane, więc start jest natychmiastowy. Dostęp jest utrwalony; folder z danymi musi pozostać na miejscu.
Gra zawsze startuje w orientacji poziomej. Zapisy i wacki.cfg lądują
w pamięci wewnętrznej aplikacji.
| Czynność | Wejście |
|---|---|
| Ruch kursora | dotyk ekranu · gałka (lewy panel) |
| Kliknięcie lewe | dotyk w grze · duży przycisk (prawy panel) |
| Kliknięcie prawe / przełącz postać | mały przycisk (prawy panel) · dotyk 2 palcami · Tab |
| Menu pauzy | przycisk Wstecz |
Szczegóły portu (SAF, nakładka dotykowa, ograniczenia emulatorów) i
budowanie: android/README.md.
🎮 Handheld — Miyoo Mini Plus i pokrewne (OnionOS)
- urządzenie z firmware'em OnionOS 4.2 lub nowszym; stock firmware nie jest wspierane (różni się układ katalogów i mechanizm uruchamiania portów)
- archiwum
wacki-miyoo.zipz Releases - pliki danych z oryginalnej płyty:
Dane_*.dta
Wspierane: Miyoo Mini Plus (platforma referencyjna), Miyoo Mini (pin-kompatybilny, działa bez zmian) oraz inne handheldy z firmware'em zgodnym z OnionOS Ports. Dla Anbernica i pokrewnych jest osobna paczka PortMaster (niżej).
Archiwum jest zgodne ze standardem OnionOS Ports.
- Rozpakuj zawartość archiwum bezpośrednio w katalogu głównym karty
pamięci. Folder
Roms/z archiwum scali się z istniejącymRoms/. - Skopiuj pliki
Dane_*.dtaz oryginalnej płyty do katalogu:Roms/PORTS/Games/Wacki/data/ - Włóż kartę, włącz urządzenie. W menu wybierz Ports → Adventure → Wacki.
| Czynność | Przycisk |
|---|---|
| Ruch kursora | krzyżak |
| Kliknięcie lewe | A |
| Kliknięcie prawe | B |
| Menu pauzy | START |
| Quick-load | L1 / L2 |
| Quick-save | R1 / R2 |
| Wyjście z gry | MENU |
Krzyżak przyspiesza w miarę przytrzymania — krótkie naciśnięcia służą do precyzyjnego pozycjonowania kursora, dłuższe trzymanie do szybkiego przemieszczania go po ekranie.
🕹️ Handheld — Anbernic i PortMaster
Osobna paczka PortMaster działa na większości nowoczesnych handheldów Anbernic — a przy okazji na całym ekosystemie PortMastera (Powkiddy, TrimUI, RGB30, Miyoo Flip i dziesiątki innych).
- firmware z PortMasterem: muOS, ROCKNIX, Knulli, ArkOS, JELOS lub Batocera (stock firmware Anbernica zwykle go nie ma)
- archiwum
wacki-portmaster.zipz Releases - pliki danych z oryginalnej płyty:
Dane_*.dta
Jedna paczka, dwie binarki: aarch64 (Allwinner H700, Rockchip RK3566/RK3399) i armhf (seria RG351 / RK3326 oraz oryginalny RG35XX przez Koriki/Batocera). Pełna lista urządzeń: strona — PortMaster.
- Wgraj
wacki-portmaster.zipprzez PortMaster („Install from zip"), albo wrzuć archiwum do folderuautoinstallPortMastera. - Skopiuj pliki
Dane_*.dtaz oryginalnej płyty do katalogu portu:/roms/ports/Wacki/data/ - Uruchom z menu Ports → Wacki.
| Czynność | Przycisk |
|---|---|
| Ruch kursora | gałka / krzyżak |
| Kliknięcie lewe | A (dolny) |
| Kliknięcie prawe | B (prawy) |
| Menu pauzy | START |
| Quick-load | L1 |
| Quick-save | R1 |
| Wyjście z gry | START + SELECT |
Przyciski w pozycjach SDL: A = dolny, B = prawy. Na padach w układzie Nintendo (większość Anbernica) są one fizycznie oznaczone jako B i A — kieruj się pozycją, nie napisem.
📀 Konsola — PlayStation 2
Renderowanie sprzętowe gsKit, dźwięk przez audsrv, sterowanie
DualShockiem (lewa gałka = kursor) lub myszą USB. Paczka
wacki-ps2.zip zawiera bootowalny plik ELF.
- PS2 z homebrew — FreeMcBoot / FreeDVDBoot +
uLaunchELF— albo emulator PCSX2 - pendrive (FAT32) na pliki gry (na sprzęcie) lub HostFS (w PCSX2)
- oryginalne pliki
Dane_*.dta(port ich nie zawiera)
- Rozpakuj
wacki-ps2.zip— w środku folderwacki/z plikiemwacki-ps2.elfi podkatalogiemdata/. - Skopiuj do
wacki/data/plikiDane_*.dtaz oryginalnej płyty. - Wrzuć cały folder
wacki/na pendrive, tak by powstałomass:/wacki/wacki-ps2.elforazmass:/wacki/data/Dane_*.dta. - Uruchom
mass:/wacki/wacki-ps2.elfprzezuLaunchELF.
W PCSX2: System → Boot ELF i wskaż wacki-ps2.elf (dane przez
HostFS), albo zbuduj bootowalny obraz ISO — ./tools/build-ps2-iso.sh.
| Czynność | Przycisk |
|---|---|
| Ruch kursora | lewa gałka / mysz USB |
| Kliknięcie lewe | ✕ |
| Kliknięcie prawe | ○ (kółko) |
| Menu pauzy | START |
⚙️ Opcje uruchomienia (zaawansowane, PC)
Wybrane opcje można podać z linii poleceń lub przez zmienne środowiskowe. CLI ma pierwszeństwo nad ENV.
Display:
| Flaga | Zmienna środowiskowa | Działanie |
|---|---|---|
--scale N |
WACKI_SCALE=N |
okno powiększone N-krotnie (gra wewnętrznie 640×480) |
--scaler MODE |
WACKI_SCALER=MODE |
jakość skalowania: nearest, linear, best |
--fullscreen / -f |
WACKI_FULLSCREEN=1 |
start w trybie pełnoekranowym (F11 przełącza w grze) |
Dane gry:
| Flaga | Zmienna środowiskowa | Działanie |
|---|---|---|
| — | WACKI_PATH=... |
ścieżka do katalogu z Dane_*.dta (default: ./data/) |
Rozgrywka:
| Flaga | Zmienna środowiskowa | Działanie |
|---|---|---|
--start-stage N |
WACKI_START_STAGE=N |
start od razu od etapu N (1..5), pomija menu i intro |
Logowanie:
Build release jest cichy — domyślnie tylko ostrzeżenia i błędy (WARN),
żeby wydany port nie zalewał użytkownika logami. Build dev (make debug,
-DWACKI_VERBOSE) domyślnie pokazuje INFO. Poziom można zmienić w locie:
| Flaga | Zmienna środowiskowa | Działanie |
|---|---|---|
-v / --verbose |
WACKI_LOG_LEVEL=info/trace |
więcej logów (TRACE wymaga buildu z -DWACKI_VERBOSE) |
-q / --quiet |
WACKI_LOG_LEVEL=error |
tylko błędy |
WACKI_LOG_LEVEL przyjmuje trace\|debug\|info\|warn\|error i pozwala włączyć
logi na wydanym buildzie (np. bundle macOS) bez rekompilacji; flaga -v/-q
ma pierwszeństwo nad zmienną.
Przykłady:
./wacki --scale 2 --scaler linear # okno 1280×960, skalowanie liniowe
./wacki --fullscreen # pełny ekran, letterbox 640×480
./wacki --start-stage 3 # skok prosto do etapu 3 (kiosk)Pozostałe niżej-poziomowe / dev opcje (--headless, --play-avi,
--test-cutscenes, --no-pacing, WACKI_INPUT_DEBUG) udokumentowane
są w docs/architecture.md.
Gra obsługuje:
- 10 nazwanych slotów dostępnych z menu Sejw / Load — każdemu można nadać własną nazwę, slot trzyma rozdział i pozycję w rozgrywce
- Quick-save / quick-load — natychmiastowy zapis i wczytanie ze
slotu 0 z poziomu gry (na PC:
F5zapis,F9odczyt; na handheldzie:R1zapis,L1odczyt)
🔁 Format zapisu jest byte-identyczny z oryginałem z 1998 r.
Save zrobiony w porcie da się załadować w oryginalnej binarce
WACKI.EXE (i odwrotnie) — można dograć w porcie etap zaczęty
w oryginalnej grze pod Windows i kontynuować na handheldzie albo
wręcz przeciwnie.
Stan zapisu to jeden blok danych (format Wacki.sav), trzymany tam,
gdzie danej platformie najbliżej:
- PC — plik
Wacki.savobok binarki - Miyoo —
Roms/PORTS/Games/Wacki/; PortMaster —ports/Wacki/ - Android — pamięć wewnętrzna aplikacji
- PS2 — karta pamięci (z własną ikoną i nazwą zapisu)
Na platformach plikowych zapis jest atomowy (tymczasowy plik + rename), więc zanik zasilania lub crash w trakcie save'a nie psuje istniejących slotów.
Wszystkie instrukcje — wymagania, instalacja SDL2, polecenia make
i buildy w kontenerach Docker dla wszystkich platform (PC, Miyoo,
Anbernic / PortMaster, PlayStation 2, Android) — są w osobnym pliku:
➡️ BUILDING.md
Dokumentacja wnętrza silnika (VM skryptów, format danych, dekoder
FLIC, pipeline audio itd.) jest w docs/ — zacznij od
docs/README.md.
Chcesz zajrzeć do środka plików gry? Wacki Assets Explorer to osobne,
otwarte narzędzie (Nuklear + SDL2), które otwiera archiwa Dane_*.dta
i pokazuje każdy zasób — sprite'y, animacje, palety, dźwięki, cutscenki
i skrypty — z eksportem do PNG / GIF / WAV. Działa na Linuksie, Windowsie
i macOS.
Pobierz (od wydania assets-explorer-v1.0.0):
| Platforma | Paczka |
|---|---|
| 🐧 Linux x86_64 | wacki-assets-explorer-linux-x86_64.tar.gz |
| 🪟 Windows x86_64 | wacki-assets-explorer-windows-x86_64.zip |
| 🍎 macOS (Apple Silicon) | wacki-assets-explorer-macos-arm64.zip |
- 🌐 Strona: mszula.github.io/wacki/eksplorer.html
- 📂 Kod, instrukcja budowania i szczegóły:
assets-explorer/
Coś się sypie? Otwórz issue:
github.com/mszula/wacki/issues
W zgłoszeniu pomogą:
- wersja portu — pierwsza linia logu uruchomieniowego (
[info/wacki] Wacki port vX.Y.Z…) - platforma — macOS / Linux / Windows / Android / Miyoo / Anbernic (PortMaster) / PS2
- wersja systemu/firmware'u
- kroki reprodukcji — co robiłeś bezpośrednio przed crashem
wacki.log— silnik loguje na stderr; gdzie szukać:- Windows: plik
wacki.logautomatycznie obokwacki.exe(binarka jest GUI-subsystem więc stderr leci do pliku) - macOS / Linux: stderr w terminalu albo
Console.app(uruchom z terminalaWacki.app/Contents/MacOS/Wackiżeby zobaczyć logi) - Miyoo:
Roms/PORTS/Games/Wacki/wacki.log(zapisywany przez wrapperwacki.sh) - Anbernic / PortMaster:
ports/Wacki/log.txt(zapisywany przezWacki.sh) - Android:
adb logcat -s wacki(silnik loguje do systemowego logcata) - PS2: konsola IOP (na sprzęcie) lub logi PCSX2 przy uruchomieniu z HostFS
- Windows: plik
- screenshot — jeśli problem jest wizualny (popsuta paleta, brakujący sprite, glitch animacji)
Jeśli to feature request lub pytanie o przyszłe platformy / mody —
też smiało, ale w issue zaznacz [feature] lub [question] w tytule.
Wacki portuję po godzinach, za darmo i z czystej miłości do tej zwariowanej gry. Jeśli port przywołał uśmiech (albo łezkę nostalgii) i chcesz dorzucić się na kawę — to paliwo do kolejnych poprawek i portów polskiej klasyki:
Dzięki! 🙌
Kod portu silnika udostępniony jest na licencji GNU General
Public License v3.0 — pełny tekst w pliku LICENSE.
W skrócie: możesz kod kopiować, modyfikować i redystrybuować, ale
każda pochodna praca musi pozostać pod tą samą licencją, ze źródłami
udostępnionymi odbiorcom.
Copyright © 2026 Mateusz Szuła.
Port silnika jest dziełem niezależnym i nie zawiera materiałów
chronionych prawem autorskim z oryginalnej gry. Pliki danych
(Dane_*.dta, WACKI.EXE) pozostają własnością ich twórców
(Seven Stars Multimedia, TopWare Interactive Polska) i nie są
dystrybuowane wraz z tym repozytorium — licencja GPL v3 obejmuje
wyłącznie kod portu, nie zawartość oryginalnej gry.
- Seven Stars Multimedia — twórcy oryginalnej gry (1998)
- TopWare Interactive Polska — wydawca oryginalny
