Tohle jsem dříve zkoušel:
-
Stáhnul a rozbalil https://sourceforge.net/projects/berusky1/files/Berusky1/1.0.0.4/Berusky1srcexec_1.0.0.4.zip/download
-
Spustil
make
z adresáře src/Executable/LinuxPort -
Pak jsem opravil chybové hlášky:
a)
cc1plus: error: unknown value ‘i386’ for ‘-mcpu’
cc1plus: note: valid arguments are: cortex-a34 cortex-a35 cortex-a53 cortex-a57 cortex-a72 cortex-a73 thunderx thunderxt88p1 thunderxt88 octeontx octeontx81 octeontx83 thunderxt81 thunderxt83 ampere1 emag xgene1 falkor qdf24xx exynos-m1 phecda thunderx2t99p1 vulcan thunderx2t99 cortex-a55 cortex-a75 cortex-a76 cortex-a76ae cortex-a77 cortex-a78 cortex-a78ae cortex-a78c cortex-a65 cortex-a65ae cortex-x1 ares neoverse-n1 neoverse-e1 octeontx2 octeontx2t98 octeontx2t96 octeontx2t93 octeontx2f95 octeontx2f95n octeontx2f95mm a64fx tsv110 thunderx3t110 zeus neoverse-v1 neoverse-512tvb saphira cortex-a57.cortex-a53 cortex-a72.cortex-a53 cortex-a73.cortex-a35 cortex-a73.cortex-a53 cortex-a75.cortex-a55 cortex-a76.cortex-a55 cortex-r82 cortex-a510 cortex-a710 cortex-x2 neoverse-n2 demeter generic
V Makefile jsem změnil cíl -mcpu
z "i386" na "generic"
b)
l_funcs.cpp: In function ‘void SystemEvalFiles(std::vector<char*>*, const char*, const char*)’:
l_funcs.cpp:157:8: error: ‘free’ was not declared in this scope
157 | free(namelist[n]);
| ^~~~
l_funcs.cpp:9:1: note: ‘free’ is defined in header ‘<cstdlib>’; did you forget to ‘#include <cstdlib>’?
8 | #include <ctype.h>
+++ |+#include <cstdlib>
9 |
l_funcs.cpp:159:5: error: ‘free’ was not declared in this scope
159 | free(namelist);
| ^~~~
l_funcs.cpp:159:5: note: ‘free’ is defined in header ‘<cstdlib>’; did you forget to ‘#include <cstdlib>’?
Přidal jsem chybějící #include <cstdlib>
na začátek souboru l_funcs.cpp
c)
../mainsdl.cpp: In function ‘bool ProcessMessage(SDL_Event*)’:
../mainsdl.cpp:366:64: error: cast from ‘void*’ to ‘int’ loses precision [-fpermissive]
366 | if(Timers) Timers->WorkWithTimer(NULL,int(msg->user.data1));
| ^~~~~~~~~~~~~~~~~~~~
Přidal -fpermissive do CFLAGS v Makefile
d)
../sound.cpp:4:10: fatal error: SDL_mixer.h: No such file or directory
4 | #include <SDL_mixer.h>
| ^~~~~~~~~~~~~
Nainštaloval jsem balíček "sdl_mixer".
Pak už to šlo zkompilovat.
4 . Po spuštění "Berusky1"...
LoadDataFile '/usr/games/Berusky1/Berusky1.dat' failed.
InitGame failed
Stáhnul jsem a rozbalil https://sourceforge.net/projects/berusky1/files/Berusky1/1.0.0.3/Berusky1All_1.0.0.3.zip/download a spustil Berusky1 s cílem pro adresář s daty
./Berusky1 /home/pbpro/Stiahnuté/Berusky1All_1.0.0.3
5 . Pak hra naběhne, ale není plně funkční:
- chybí fonty a zvuky jsou mimo
- klávesy mají moc citlivou odezvu
- ve hře samotné se zobrazí jenom pozadí úrovně
- ...a pak už je všechno ovládání rozbité
<img alt="berusky1_1" src="https://i.imgur.com/etgkVVz.png" />
<img alt="berusky1_2" src="https://i.imgur.com/7fKodH2.png" />
<img alt="berusky1_3" src="https://i.imgur.com/c9uKPjf.png" />
<img alt="berusky1_4" src="https://i.imgur.com/2a0wX37.png" />
<img alt="berusky1_5" src="https://i.imgur.com/WkEgl0R.png" />
Hra byla původně testována na distribucích Fedora Core 3 a Red Hat 9 jak je uvedeno v diskuzi k článku na https://www.root.cz/clanky/berusky/. Dle webstránek Anakreonu by autorem portu měl být Milan Crha (mcrha@redhat.com).
Pinned Comments
myself600 commented on 2022-10-30 08:38 (UTC)
Pozn.: Kdyby se někomu podařilo rozchodit nativní port https://sourceforge.net/projects/berusky1/ na ARM64, tak tohle nahradím