[#1] Muzyka AdLib (z platformy PC)
Hej,

Wiem jak poradzić sobie z wyciąganiem praktycznie wszystkich plików z danymi (grafiki, animacje, palety, dźwięki, czcionki, kafelki, misje itp.) z gry Dune II: Building of a Dynasty z platformy PC.

Największą jednak trudnością jest oczywiście muzyka. Muzyka dla Dune II jest w kilku formatach, w zależności od urządzenia odpowiedzialnego za dźwięk.

Wybrałem format AdLib. Udało mi się rozpracować całościowo pliki .adl przechowujące muzykę, załączone z Diuną II. Jest tam informacja dla odtwarzacza, która zawiera indeksy utworów oraz informacja dla sterownika, zawierająca indeksy ścieżek, instrumentów po których następują właściwe dane ścieżek (nuty, efekty) oraz dane instrumentów. Wiem dokładnie gdzie co się znajduje.

Ponadto udało mi się znaleźć pełen kod źródłowy odtwarzacza i sterownika karty AdLib.

https://github.com/adplug/adplug/blob/master/src/adl.cpp

Prawdopodobnie potrzebuję małej pomocy przy instrumentach oraz ścieżkach. Czy ktoś spotkał się już ze sterownikiem AdLib? O ile w kodzie źródłowym jest praktycznie wszystko co potrzeba, zestawienie ze sobą elementów nie jest już takie proste. Wiem gdzie w sterowniku znajduje się odczyt kolejnych nut ze ścieżki, pobranie parametrów oraz wywołanie funkcji i efektów.

W zasadzie potrzebuję dowiedzieć się dwóch rzeczy w tej kolejności:

- Jaki jest format instrumentów AdLib? Czy jest to bardzo zbliżone do Amigowego ciała plików IFF 8SVX lub 16SV? Jak znajdę odpowiedź na to pytanie, będę mógł od razu odtwarzać te instrumenty,

- Jaki jest format ścieżek - tutaj akurat pełna informacja znajduje się kodzie sterownika, i to jest łatwiej wyciągnąć, zapoznawszy się bardziej szczegółowo z funkcją sterownika, która wywoływana jest z częstotliwością 72Hz.

Nie wiem, czy poradzę sobie z tym do końca, ale postępy które tutaj odnotowałem w ostatnim czasie pozwalają mieć nadzieję, że muzykę uda się wyodrębnić i odtwarzać na Amidze, ew. skonwertować do MEDa, Protrackera itp.

Jeden plik z muzyką AdLib w Dune II zajmuje co najwyżej kilkanaście kilobajtów i posiada wiele utworów (tzw. sub-songs).

Jeśli natomiast chodzi o kanały, to karta AdLib ma bodajże 10 kanałów, gdzie jeden jest sterujący, ale też posiada priorytety dźwięków, dzięki czemu odgrywany jest dźwięk najistotniejszy (Amiga też ma alokację kanałów z zadanym priorytetem).

Animacje z Dune II już udało się w pełni odtworzyć na Amidze. (Pozostałe formaty też nie nastręczają trudności). Formaty z Dune II z PC nie są jakieś bardzo wygodne, więc raczej lepiej jest je skonwertować.

Jeżeli bym robił port na Amigę, to oczywiście cały kod źródłowy programu napisałbym samodzielnie na bazie własnego kodu, ewentualnie można podejrzeć kod źródłowy z C&C firmy Westwood Studios, który też jest dostępny i zawiera niektóre ważne dla gier strategicznych Westwood elementy.

Rzecz jasna muzyka nie jest niezbędna do portu gry, ale jest całkiem atrakcyjnym dodatkiem. Można też rzecz jasna dorobić nawet lepszą, Amigową muzykę z samplami, ale to wymaga dodatkowej pracy i pewnie większego zespołu.

Ale ten projekt jest poboczny, będę go robił w miarę sił i możliwości. Głównym moim projektem jest praca nad prostą grą na Amigę, czym się przede wszystkim zajmuję (oraz implementacją technik i ich demonstracją).

Sprawdziłem i gra ma digitizowane dźwięki mowy dopiero jak się ustawi w Setup kartę Sound Blaster (mimo że na AdLib Gold niby wyświetla że też powinny być). Oczywiście Amiga poradzi sobie również z takimi dźwiękami bez problemów (a same dźwięki w formacie .voc są łatwe do wyciągnięcia).

Pozdrawiam i dzięki z góry za wszystkie wskazówki (szczególnie co do formatu instrumentów, ewentualnie nut). Oraz czy warto tę muzykę wyciągać (szczególnie że na Ami można zrobić nawet ładniejszą muzykę)?

W przypadku Amigi CD32 jest też opcja konwersji muzyki do formatu CD-Audio. Nie wymagałoby to zapoznawania się z formatem (bo odtwarzacz dla MS-DOS i Unix istnieje). Może warto dać muzykę jako exclusive dla tego modelu Amigi.

P.S. Warto nadmienić przy okazji, że CD32 ma również akcelerację grafiki w formacie, który jest używany w wersji PC VGA, czyli Chunky, zatem odtworzy animacje z formatu VGA (ale wcześniejsza konwersja formatu np. do IFF ANIM - o ile w ogóle konieczna - nie powinna stanowić dużego problemu).

Przyznam na marginesie, że Westwood Studios ma swoje formaty ogólnie dość toporne (pewnie jak cały MS-DOS od Microsoftu i wcześniejsze PC od IBM), choć ja zawsze bardzo pozytywnie odbierałem ich gry strategiczne, a wersje PC VGA poznawałem sporo później. Dune II ma swój niepowtarzalny klimat i grywalność.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem