Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Donald Duck Quack Attack/Goin Quackers [Gamecube] SM3

Featured Replies

  • Author
  • Localization

Warthog1336, posted Sun Sep 02, 2018 5:15 pm (38056)


Hi! I need a script for unpacking the streams inside that big SM3 archive which seems to contain all the sounds from the game.

Actually, there are three files in the "sound" directory: GAMESND.SP3, MAPS.SM3 & STRM.SM3

While STRM.SM3 contains all the data, I think MAPS.SM3 has the references for the files (I think, because the format seems a bit complex)

Streams may use the DSP codec.

Samples: GC

Thanks!
  • Author
  • Localization

aluigi, posted Tue Sep 04, 2018 1:13 pm (38106)


The format of MAPS is quite boring but I noticed that in STRM.SM3 there are many patterns with the bytes 02 b3 56 01 that may be used to dump the various streams without any knowledge.
It's lame but if nobody else comes with a solution... :)
Code:
findloc OFFSET binary "\x02\xb3\x56\x01"
do
    goto OFFSET
    get DUMMY long
    findloc NEXT_OFFSET binary "\x02\xb3\x56\x01" 0 ""
    if NEXT_OFFSET == ""
        get SIZE asize
    else
        math SIZE = NEXT_OFFSET
    endif
    math SIZE -= OFFSET
    log "" OFFSET SIZE
    math OFFSET = NEXT_OFFSET
while NEXT_OFFSET != ""

MAPS.S3M has GC DSP data in it while the one is STRM.S3M is something else.
  • Author
  • Localization

Warthog1336, posted Tue Sep 04, 2018 5:21 pm (38117)


Thanks for helping me.

Bnnm said MAPS is divided into sections, with each section being similar to Ubi's SBx format. (https://github.com/kode54/vgmstream/blo ... a/ubi_sb.c)

Infos about Ubi MAP:
Ubi MAP (.sm0..7): database format similar to Ubi BANK
base header, points to sections (ex. a level with all of its sounds and music)
0x00: version
0x04: section size
0x08: entries
rest is padding inside size (can be blank, 0x0c, etc)>
for each entry: 0x30 (varies with version)
0x00: unk (0=audio, 1=config?)
0x04: null
0x08: absolute offset to header
0x0c: size of header
0x10: name (null terminated and with garbage) (size 0x20)
section header ex 026BACA0 0000BA60
0x00: null?
0x04: section1 offset
0x08: section1 num
0x0c: section2 offset
0x10: section2 num
0x14: entries size?
0x18: section3 entries?
0x18: section3 size?
0x1c: extra section offset
0x20: extra section size
subsection1, ex size 0x40 (varies with version)
subsection2, ex size 0x68, similar to sbx header portion
Example version/games
00000003: Disney's Donald Duck - Goin' Quackers (GC) [2000]

I hope this was useful.

Thank you.
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.