Skocz do zawartości
  • Ogłoszenia

  • Gdzie świętować urodziny GMCLANu   26 użytkowników zagłosowało

    1. 1. Gdzie świętować urodziny GMCLANu


      • Warszawa (bo w centrum)
      • Szczecin (bo tam mieszka Ranma i narodził się GMCLAN)

    Żeby zagłosować w tej ankiecie, prosimy się zalogować lub zarejestrować. Zobacz temat
hgter

Dobieranie się do plików wynikowych GM (exe apk itp.)

Rekomendowane odpowiedzi

hgter    5

Walczyłem sobie z kompresją grafik użytych w grze (szczegóły tutaj: http://forum.gmclan.org/index.php?showtopic=33325).

 

Jednym z pomysłów, które się przewinęły była podmiana grafik po kompilacji projektu na lepiej zoptymalizowane.

Ze słów Ferviego wynikało, że da się to zrobić w projektach html5. Otwartą kwestią było czy da się też w apk.

 

Najpierw podejrzałem co jest w samych plikach apk:

tu jest prosto: trochę bibliotek i oddzielny katalog assets. W nim luzem leżą pliki Include Files oraz jest jeden duży plik game.droid. Nie dawało się go niczym otworzyć.

 

Poszperałem trochę i znalazłem info, że z którego wynikało, że po kompilacji wersja windowsowa gry z Gm zawiera plik "data.win" a androidowa "game.droid".

https://www.reddit.com/r/Undertale/comments...memaker_studio/

Według tego dawało się podmienić wzajemnie pliki i np. uzyskać wersję gry stworzonej pod windowsa, która uruchomi się pod androidem. Z tego co pisało w tym wątku to działało (mam wrażenie, że obecnie już nie działa - przynajmniej mi nie udało się tego zreplikować na swoich projektach).

 

Uznałem to za zabawne, ale nie przybliżało mnie do celu odczytania plików game.droid.

 

Udało mi się znaleźć (link) narzędzie, które w teorii pozwalało na rozpakowanie i ponowne zapakowanie plików data.win. Nazywa się gmktool link i jest napisane w języku Rust. Po tym jak już nauczyłem się kompilować programy w tym języku (nie jest to najbardziej intuicyjna rzecz na świecie) i odkryłem, że aby się ono kompilowało trzeba używać wersji testowej Rusta, okazało się, że narządzie nie działa:) Uruchamiać się uruchamia, ale wywala błędy przy odczycie.

 

Wyszperałem (link2) drugie narzędzie czyli Altar: https://gitlab.com/PoroCYon/Altar.NET/tree/master

Jest napisane w C# i ładnie się kompiluje pod Visual Studio.

Da się nim rozpakować pliki data.win wyciągając w sumie wszystko co się chce. Wszystkie możliwe dane zapisane są w jsonach (nie wiem czy to specyfika programu czy zapisu przez GM).

I tam rzeczywiście jest plik z texturami w png. Czyli można by próbować coś działać.

 

Natomiast na chwilę obecną nic z tego bo program pozwala tylko na dekompilację stworzonej gry, ale nie pozwala spakować tego ponownie. Zresztą nawet, gdyby pozwalał, to myślę, że byłby kłopot bo bawiłem się prostymi zmianami grafik Include Files w plikach apk i takie pliki po zmianie się nie instalują. W wersja windowsowych nie da się podmienić grafiki (a przynajmniej 7-zip nie pozwala podmienić zawartości instalatora tworzonego przez gm).

 

Czyli jeżeli chodzi o kompresję grafik w apk i exe to nie udało mi się tego osiągnąć. Natomiast ten program Altar pozwala podejrzeć naprawdę wszystko, w tym pełny kod już utworzonych gier. Patrzyłem też na to czy radzi sobie z plikami po yyc (tylko apk - nie chciało mi się konfigurować yyc dla windowsa). I tu nadal da się odczytać bardzo wiele. Kodu nie, ale całe ustawienia roomów, obiekty itp. tak.

 

 

Czyli w skrócie - nic nie uzyskałem, ale że było to całkiem zabawne to się dzielę. Może komuś się przyda.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×