[Release] Clash Resource Unpacker v0.84A

Dyskusje o modyfikacji do Clash

Moderator: Boghute Ara

User avatar
Griz
Posts: 45
Joined: Sunday 31 Jul 2016, 19:03

Re: [Release] Clash Resource Unpacker v0.18

Post by Griz »

Konin3D wrote:
Griz wrote:Czy jest to może msvcp140.dll?
Tej biblioteki. Ale boję się z neta ściągać, bo niedawno jak jednej potrzebowałem, to musiałem system czyścić.
To prawda, że bibliotek lepiej w ciemno nie ściągać z internetu.

msvcp140.dll znajduje się w oficjalnej paczce Microsoftu, i jest wymagana do uruchamiania nowszych gier oraz programów stworzonych z wykorzystaniem programu Visual Studio 2015. Jest ona dostępna TUTAJ.
Konin3D
Posts: 75
Joined: Saturday 24 Jun 2017, 18:34
Location: Konin
Contact:

Re: [Release] Clash Resource Unpacker v0.18

Post by Konin3D »

Dzięki. Zadziałało. I czekam na kolejną wersję programu z niecierpliwością.
User avatar
Griz
Posts: 45
Joined: Sunday 31 Jul 2016, 19:03

Re: [Release] Clash Resource Unpacker v0.18

Post by Griz »

Konin3D wrote:Dzięki. Zadziałało. I czekam na kolejną wersję programu z niecierpliwością.
Cieszę się, że pomogło :).

Poniżej podgląd tego, co kolejna wersja będzie wypakowywać. Czy potraficie odgadnąć jaka to jednostka?
Image
Dreno
Posts: 71
Joined: Tuesday 26 Jan 2016, 16:23

Re: [Release] Clash Resource Unpacker v0.18

Post by Dreno »

Hm, zgaduję, że budowniczego! (hej, słabo wyszła Ci ta cenzura - spójrz na belkę notatnika :twisted: )
Ogólnie szacunek, bo robisz cudowną robotę. Podziwiam i czekam na kolejne aktualizacje ;)
User avatar
Boghute Ara
Administrator
Posts: 287
Joined: Friday 18 Dec 2015, 21:02
Location: Toruń
Contact:

Re: [Release] Clash Resource Unpacker v0.18

Post by Boghute Ara »

Griz wrote:Poniżej podgląd tego, co kolejna wersja będzie wypakowywać. Czy potraficie odgadnąć jaka to jednostka?
Wow, nie wiem jak Ty to robisz, ale jestem pełen podziwu. :shock: Mam nadzieję, że kolejna wersja Unpackera będzie rozpakowywać grafiki jednostek do postaci plików graficznych, a nie cyfr szesnastkowych? ;)
Biada Ci!!! Odkopałeś szczątki pradawnego władcy tych ziem (Boghute Ara, lub kogoś z jego rodziny). Czeka Cię teraz surowa kara, gdyż otwierając wieko jamy uwolniłeś klątwę. :twisted:
User avatar
Griz
Posts: 45
Joined: Sunday 31 Jul 2016, 19:03

Re: [Release] Clash Resource Unpacker v0.18

Post by Griz »

Dreno wrote:Hm, zgaduję, że budowniczego! (hej, słabo wyszła Ci ta cenzura - spójrz na belkę notatnika :twisted: )
Ups :D .

W trakcie testów wypakowywania grafik mapy trafił się taki oto smaczek:
Image
User avatar
Griz
Posts: 45
Joined: Sunday 31 Jul 2016, 19:03

Re: [Release] Clash Resource Unpacker v0.25

Post by Griz »

Update do wersji 0.25. Można już wypakowywać grafiki jednostek oraz mapy :) . W formacie s32 jest zastosowany jeden trick, którego jeszcze w tej wersji nie rozgryzłem, dlatego na niektórych grafikach mogą pojawić się artefakty.
Venno
Posts: 26
Joined: Thursday 05 Jan 2017, 18:07

Re: [Release] Clash Resource Unpacker v0.25

Post by Venno »

Tym programem ratujesz życie :D bez unpackera uzyskanie grafik byłoby bardzo żmudne i czasochłonne.

Zdradzisz kilka tajemnic, bo coraz bardziej mnie to zastanawia. Czy pliki .res, .s32 są w pewien sposób zaszyfrowane czy po prostu można odczytywać z nich grafiki bit po bicie? Jeżeli tak to czym się różnią pliki jednostek od np plików tilesetów. Czy może to wszystko jest zapakowane w jakąś paczkę :D Sam chwilę przeglądałem strukturę tych plików ale poddałem się.
User avatar
Griz
Posts: 45
Joined: Sunday 31 Jul 2016, 19:03

Re: [Release] Clash Resource Unpacker v0.25

Post by Griz »

Venno wrote:Tym programem ratujesz życie :D bez unpackera uzyskanie grafik byłoby bardzo żmudne i czasochłonne.
Wątpie aby fanowski remake w ogóle powstał gdybyśmy nie mieli sposobu odzyskania grafik. Nawet gdyby znalazł się śmiałek na odtworzenie wszystkich grafik od zera, to już nie byłoby to samo ;) .
Venno wrote:Zdradzisz kilka tajemnic, bo coraz bardziej mnie to zastanawia. Czy pliki .res, .s32 są w pewien sposób zaszyfrowane czy po prostu można odczytywać z nich grafiki bit po bicie? Jeżeli tak to czym się różnią pliki jednostek od np plików tilesetów. Czy może to wszystko jest zapakowane w jakąś paczkę :D Sam chwilę przeglądałem strukturę tych plików ale poddałem się.
Zarówno pliki .res jak i .s32 nie są zaszyfrowane. Res prawdopodobnie jest formatu IBM - large logical record file, natomiast format .s32 wygląda na autorski, jako że nie zawiera stosownego nagłówka, oraz nie udało się mi odnaleźć podobnych formatów z tamtych czasów.

W jaki sposób unpacker wypakowuje dane z pliku res?
1. Szuka wystąpienia specyficznych słów kluczowych w pliku. Dla NORMAL.RES jest to tekst ".s32", dla MAXIMUM.res są to dane nagłówkowe pliku pcx, natomiast dla MUSIC.RES zawiera ręcznie wpisane adresy początku i końca utworów.

Format S32
A2. Dla S32: po znalezieniu słowa kluczowego .s32 wczytujemy blok pamięci z miejsca gdzie je znaleźliśmy. Jest to struktura przechowująca : nazwę pliku w postaci tablicy 14 elementów char, offset danych, wielkość danych. Niech kolejno będą to zmienne A dla nazwy, B dla offsetu oraz C dla wielkości.

A3. Wczytujemy blok o wielkości C z miejsca B w tym samym pliku. Format s32 rozpoczyna się nagłówkiem 0x00 10 00 00. Potem posiada 1000 bajtów zawierające offsety kolejnych rysunków. Pierwszy rysunek zaczyna się zawsze na 1001 bajcie. Wielkości rysunków znamy dzięki ich offsetom. Wystarczy sprawdzić gdzie znajduje się kolejny rysunek w stosunku do obecnego aby poznać jego rozmiar.

A4. Każdy rysunek, nazwijmy go formatem o32 (s32 - set32, o32 - obraz32) zawiera kolejno następujące dane: szerokość, wysokość, sposób rysowania, funkcje specjalne, dane rysunku. Obrazy używają kompresji w postaci przeskakiwania mało istotnych pikseli (Komendy 0x80), jak i wykorzystywania pikseli z innych obrazów, czego jeszcze nie rozgryzłem (komendy 0x 00 XX YY ZZ 00). Komendy < 0x80 to ilość pikseli następujących po tej komendzie. Każdy piksel obrazka to indeks o wartości w przedziale od 0 do 255. Indeks ten wskazuje na kolor jaki jest załadowany w aktualnej palecie VGA DOSa. Pojedyńczy kolor ma 18 bitów, każde 6 bitów przeznaczonych jest kolejno na kolor czerwony, zielony oraz niebieski.

A5. Dokonujemy konwersji RGB 18 bit -> BMP RGBA 32 bit i zapisujemy wynik do pliku.

Format wav
B2. MUSIC.RES zawiera kilka wav połączonych w jeden wielki plik. Wystarczy podzielić go na części i zapisać jako osobne pliki.

Format pcx
C2. pliki PCX wypakujemy zgodnie ze standardem PCX. Dokładne informacje na jego temat znaleźć można tutaj : http://www.shikadi.net/moddingwiki/PCX_Format

Mam nadzieję, że nie zanudziłem zbytnio :).
Konin3D
Posts: 75
Joined: Saturday 24 Jun 2017, 18:34
Location: Konin
Contact:

Re: [Release] Clash Resource Unpacker v0.25

Post by Konin3D »

Griz wrote:W formacie s32 jest zastosowany jeden trick, którego jeszcze w tej wersji nie rozgryzłem, dlatego na niektórych grafikach mogą pojawić się artefakty.
Może to głupie, co napisze, ale... Skoro te pliki graficzne to poszczególne klatki animacji, to może artefakty są spowodowane danymi, które dotyczą tychże animacji, np. informacja o przesunięciu obrazka? Tak tylko sobie dedukuję, że może to nie są dane graficzne.

Ewentualnie informacje np. o końcu obrazka, ale nie o końcu informacji o nim. (np. pliki midi posiadają bajt kończący dla każdego komunikatu - bajt zerowy)
Post Reply