User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
paper_mario_the_thousand_year_door:soundfolder [2016/10/30 15:06]
ladestitute [.stm]
paper_mario_the_thousand_year_door:soundfolder [2017/06/23 10:40] (current)
shygoo ↷ Page moved from ttyd:soundfolder to paper_mario_the_thousand_year_door:soundfolder
Line 4: Line 4:
 =====root/​sound/​proj===== =====root/​sound/​proj=====
 ====pmario.samp==== ====pmario.samp====
-Where most of the sound effects are stored for the game, save for a handful that are stm files (which qualify more as short jingles or BGSs) and in the root/​sound/​stream folder. Samplebanks normally store instrument samples in other games, but the developers ​decided to have the samplebank store SFXs instead.+Where most of the sound effects are stored for the game, save for a handful that are stm files (which qualify more as short jingles or BGSs) and in the root/​sound/​stream folder. Samplebanks normally store instrument samples in other games, but Intelligent Systems ​decided to have the samplebank store SFXs instead, for whichever reason.
  
 ====pmario.sdir==== ====pmario.sdir====
Line 12: Line 12:
 Nametable for SFX files. Last byte before the next SFX increments up to 0xFF and then rolls back to 0x00. [[http://​pastebin.com/​ERXx6nGf|A list of said SFX files]] Nametable for SFX files. Last byte before the next SFX increments up to 0xFF and then rolls back to 0x00. [[http://​pastebin.com/​ERXx6nGf|A list of said SFX files]]
  
-Junk is in the names and up to the 30th character. There is no associated offset or length data that specifies a fixed index and multiplying it by 32. I.e, SE3_AMB_RIVER1:​ 2*32=64 or 0x40-0x60 (0x40+60, record length[32] in hex) which corresponds with "​SE3_AMB_RIVER1.IO_JUMP2..LING2"​+Junk-text is in the names and exists ​up to the 30th character. There is no known associated offset or length data that specifies a fixed index that can be multiplied ​by 32. I.e, SE3_AMB_RIVER1:​ 2*32=64 or 0x40-0x60 (0x40+60, record length[32] in hex) which corresponds with "​SE3_AMB_RIVER1.IO_JUMP2..LING2"​
  
 ====pmario.stbl==== ====pmario.stbl====
 Duplicate of pmario.etbl?​ Duplicate of pmario.etbl?​
  
-"​.IO"​ and onward is a null terminator followed by an '​afterimage'​ of names before it. If names afterwards do not take up the 30 chars max (last two are reserved for an unknown thing), it just reprints ​the last used chars on next line.+"​.IO"​ and onward is a null terminator followed by an '​afterimage'​ of names before it. If names afterwards do not take up the 30 chars max (last two are reserved for an unknown thing), it just re-prints ​the last used chars on next line.
  
 ====pmario_sound_bgm_txt_db==== ====pmario_sound_bgm_txt_db====
Line 25: Line 25:
 pmario_sound_sfx_txt_db\\ ​ pmario_sound_sfx_txt_db\\ ​
  
-Database list for the stms, includes some sound effects but is generally used for streaming the game's BGMs. Uses the .tbl filename as an identifier. Generally worthless from a hacking perspective,​ besides giving short japanese names for the music in-game.+Database list for the stms, includes some sound effects but is generally used for streaming the game's BGMs directly from the disc. Uses the .tbl filename as an identifier. Generally worthless from a hacking perspective,​ besides giving short japanese names for the music in-game.
  
 =====root/​sound/​stream===== =====root/​sound/​stream=====
Line 31: Line 31:
 The main format for the game's BGMs and BGSs, and also used in Fire Emblem: Path of Radiance and Cubivore. It is a proprietary audio format by Nintendo, so not much documentation is available for it. The main format for the game's BGMs and BGSs, and also used in Fire Emblem: Path of Radiance and Cubivore. It is a proprietary audio format by Nintendo, so not much documentation is available for it.
  
-TTYD streams the music directly from the disc, and the stm file-format is near identical to dsp in terms of coding, there is just only a file-format name difference. [[http://​pastebin.com/​VitAPX0A|Here is a list]] of known stm files in the game.+The stm file-format is near identical to dsp in terms of coding, there is just only a file-format name difference. [[http://​pastebin.com/​VitAPX0A|Here is a list]] of known stm files in the game.
  
 ====.stm header=== ====.stm header===
Line 45: Line 45:
 u8  padding[32]:​ 0x20, 32 bytes unused u8  padding[32]:​ 0x20, 32 bytes unused
  
 +Notes:
 *standard dspadpcm is after numChannels\\ ​ *standard dspadpcm is after numChannels\\ ​
 *after dspadpcm header is the first channel\\ ​ *after dspadpcm header is the first channel\\ ​
-*if the second channel is present, seek to the adpcmData20Offset to get the second channel'​s data\\ ​+*if the second channel is present, ​it will seek to the adpcmData20Offset to get the second channel'​s data\\ ​
 *32 bytes of alignment between adpcm data blocks\\ ​ *32 bytes of alignment between adpcm data blocks\\ ​
-*then is some unknown alignment or fixed amount of padding at the end of the file\\ ​+*then is some unknown alignment or fixed amount of space-padding at the end of the file\\ ​
 *which value indicates loopend offset is unknown\\ ​ *which value indicates loopend offset is unknown\\ ​
 *all game music loops from start to end, but most tracks have their loop startpoint a couple of seconds after 0:​00\\ ​ *all game music loops from start to end, but most tracks have their loop startpoint a couple of seconds after 0:​00\\ ​
 *adpcmData2OffsetAux1 or adpcmData2OffsetAux2 may be loop end offset *adpcmData2OffsetAux1 or adpcmData2OffsetAux2 may be loop end offset