I have a bunch of information from the game's source code that described what it expects for the formats:
https://github.com/vgmstream/vgmstream/ ... 7056b73ec1 <--- The commit to their Github involving the .ssp format.
All of the SSP & SPC files in-game (archive is 900 MBs):
https://drive.google.com/file/d/1ZVJWtd ... Qu2yrywG30
Edit: Just put all of the info that is in that attached document inside of Code Tags on here, but if you still wanted to download the .txt feel free.
Code: Select all
ORDINAL:| NAME OF STRUCTURE OR FUNCTION: | SIZE: | DESCRIPTION OF STRUCTURE OR FUNCTION: |
========================================================================================================================================================================AUDIO/SOUND EFFECTS DATA===================================================================================================================================================================
407 Spc_Header 00000020 struct {char tag[4];float time;int ssp_offset;int ssp_size;int cap_offset;int cap_size;char reserved[8];}
4786 SSPF_BWAV 00000010 struct {unsigned __int8 id[4];unsigned int szChunk;unsigned __int8 pad[8];}
4803 SSPF_ICTG 00000010 struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int nInfo;unsigned __int8 pad[4];}
4785 SSPF_ICUE 00000010 struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int nInfo;unsigned __int8 pad[4];}
4784 SSPF_ICUE_INFO 00000020 struct {unsigned __int16 noIndex;unsigned __int8 kQueue;unsigned __int8 kQueueCh;unsigned __int16 leftTime;unsigned __int8 pad[10];unsigned __int16 noSnd[8];}
4805 SSPF_IDSP 00000010 struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int nInfo;unsigned __int8 pad[4];}
4802 SSPF_IRPC 00000010 struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int nInfo;unsigned __int8 pad[4];}
4801 SSPF_IRPC_INFO 00000020 struct {unsigned __int8 kTrigger;unsigned __int8 kControlTrack;unsigned __int8 kControl;unsigned __int8 pad[1];$BA5BCDE56B4F9AAF3CED43F326996802 iPoint[7];}
457 INF_SYN_PCM 00000028 struct __attribute__((aligned(8))) {SS_INT64 user;SS_FLOAT32 *__ptr32 *__ptr32 pPcm32;SS_INT64 *__ptr32 pIdCtrl;SS_INT16 nPcm32;SS_INT16 nSamples;SS_UINT8 depth;SS_UINT8 val[4];SS_UINT8 pad[8];}
4830 INFO_DECODE_MTA2 00000010 struct {unsigned __int32 noTrack : 8;unsigned __int32 noPacket : 24;unsigned __int32 *SPAM* : 16;unsigned __int32 szPacket : 16;SS_INT32 padA[2];SS_UINT8 pData[];}
4807 SSSYN_VPARAM 00000010 struct {SS_UINT16 pitch;SS_UINT8 att;SS_UINT8 ang;SS_UINT8 depHpf;SS_UINT8 depLpf;SS_UINT8 noInsEff;SS_UINT8 noMstEff;SS_UINT8 depMstEff;SS_UINT8 bLfeOut;SS_UINT8 pad[2];SS_UINT32 roPlayPos;}
4811 INFO_SSPF_INFO 00000020 struct {SD_INFO_CUE *__ptr32 pCue;SSPF_ISND_INFO *__ptr32 pisi;SSPF_ISND_ITRK *__ptr32 pist;SSPF_ITRK_EVENT *__ptr32 peve;SSPF_IWAV_INFO *__ptr32 piwi;SSWF_SSWF *__ptr32 pssw;SS_INT8 loadBlock;SS_INT8 loadBank;SS_INT8 pad[6];}
4808 SD_INFO_CUE 00000008 struct {SS_INT16 loadBlock;SS_INT16 loadBank;SSPF_ICUE_INFO *__ptr32 pici;}
4781 SSWF_SSWF 00000010 struct {unsigned __int8 id[4];unsigned __int8 kType;unsigned __int8 nChannels;unsigned __int16 freq;unsigned int lpStart;unsigned int nSamples;}
4789 SSPF_ISND 00000010 struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int nInfo;unsigned __int8 pad[4];}
4788 SSPF_ISND_INFO 00000020 struct {unsigned int flag;unsigned __int16 offset;unsigned __int16 keepTime;unsigned __int8 kCategory;unsigned __int8 kPlay;unsigned __int8 nPoly;unsigned __int8 prio;unsigned __int8 vol;unsigned __int8 ang;unsigned __int8 effMix;unsigned __int8 nTracks;unsigned __int16 noRpc[8];}
4787 SSPF_ISND_ITRK 00000010 struct {unsigned __int16 nEvents;unsigned __int8 vol;unsigned __int8 ch;unsigned __int8 pad[12];}
4799 SSPF_ITRK_EVENT 00000010 union {$F6D682ABD397685CAEDDE8F7D1229FB1 slave;$394341012E5D559C208E34B6FFC0846A event;$10F41E06E12E464B0FBA5FF621732F07 play;$4EB02ADC869B8DF02001C986F6D7B634 stop;$4EB02ADC869B8DF02001C986F6D7B634 nop;$749B5864FDFCA2B9167519B12771C9A7 marker;$ABF2747244DC9B14960CC38325B205B4 volume;$ABF2747244DC9B14960CC38325B205B4 angle;$ABF2747244DC9B14960CC38325B205B4 pitch;$D34F588F362A8AD803175DC142AD3A29 env;}
4804 SSPF_IVAR 00000010 struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int nInfo;unsigned __int8 pad[4];}
3862 SSPF_IWAV 00000010 struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int nInfo;unsigned __int8 pad[4];}
3861 SSPF_IWAV_INFO 00000020 struct {unsigned int offset;unsigned int kType;unsigned int nSamples;unsigned int freq;unsigned int nChannels;unsigned __int8 pad[4];unsigned int lpStart;unsigned int lpEnd;}
4783 SSPF_SSPF 00000040 struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int szFile;unsigned __int8 loadBank;unsigned __int8 pad[51];}
4790 SSPF_TSND 00000010 struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int nSound;unsigned __int8 pad[4];}
4782 GSPF_GSPF 00000010 struct {unsigned __int8 id[4];unsigned int szChunk;unsigned int szFile;unsigned __int8 pad[4];}
4865 INF_PLAY 00006450 struct {SS_MULTI128 raw[3][512];SS_FLOAT32 xfade[256];SS_FLOAT64 pos;SS_FLOAT64 posPlay;SS_FLOAT64 posNext;SS_FLOAT64 envTime;unsigned __int32 bEnvReqAr : 1;unsigned __int32 bEnvRcvAr : 1;unsigned __int32 bEnvReqRr : 1;unsigned __int32 bEnvRcvRr : 1;unsigned __int32 bEnvReqAbt : 1;unsigned __int32 bEnvRcvAbt : 1;unsigned __int32 bPad : 26;SS_UINT32 envPos;SS_FLOAT32 pitch;SS_FLOAT32 pitchR;SS_FLOAT32 volX;SS_FLOAT32 volRate;SS_INT32 rawBankW;SS_FLOAT32 oPcm32;SS_FLOAT32 dpcm;SS_UINT8 pad[12];}
2272 NT_SPP_HDR 00000002 struct {u_short seq;}
2274 NT_SPP_TLR 0000000A struct {u_char sign[10];}
409 Sdspeech_List 0000000C struct {int code;int pos;int size;}
410 Sdspeech_File 00000044 struct {SD_FILENAME name;int mode;int addr;int size;Sdspeech_List *__ptr32 list;int number;int min_code;int max_code;SD_VRAMID vram_id;int regist;}
408 Sdspeech_Play 00000018 struct {SD_CTRLID ctrl_id;int file;int list;int cap_flag;int vram_trans;int trans_pos;}
3871 tagInfoSound 001012F0 struct {$8CFC08B832365B19363D91DF7D6DB58B iSe[8];$88378D88E65119A9F2E6D08A388EE932 *__ptr32 pWavP;$DBBB87743F4C5E87C04B102D1774204F iFiles;__attribute__((aligned(16))) $164E78A57963D64BB21FDB1A05B4531C iMta[4];SS_CUE_STAT cueStat[32];SS_INT32 cSync;SS_INT32 cCallback;SS_INT32 noFile;SS_INT32 outMode;SS_UINT8 *__ptr32 pWave;SS_INT8
4812 INFO_CUE_PLAY 00000080 struct {INFO_SSPF_INFO iSspfI;SS_INT32 env[8];SS_INT64 timeS;SS_UINT64 idCtrl;SS_FLOAT32 *__ptr32 pBuff;void *__ptr32 pData;SSSYN_VPARAM *__ptr32 pvp;SS_CUE_STAT *__ptr32 pcs;SS_INT32 idSyn;SS_UINT32 idPlay;SS_INT8 amp;SS_INT8 ang;SS_INT16 pitch;void *__ptr32 pCategory;SS_INT8 pad[12];unsigned __int32 bUpdate : 1;unsigned __int32 bLfeOut : 1;unsigned __int32 bpadA : 30;}
4810 INFO_GSPF 00000014 struct {GSPF_GSPF *__ptr32 pGspf;SSPF_IRPC *__ptr32 pIrpc;SSPF_ICTG *__ptr32 pIctg;SSPF_IVAR *__ptr32 pIvar;SSPF_IDSP *__ptr32 pIdsp;}
4809 INFO_SSPF 00000020 struct {SSPF_SSPF *__ptr32 pSspf;SSPF_ICUE *__ptr32 pIcue;SSPF_TSND *__ptr32 pTsnd;SSPF_ISND *__ptr32 pIsnd;SSPF_BWAV *__ptr32 pBwav;SSPF_IWAV *__ptr32 pIwav;SS_INT8 pad[8];}
4811 INFO_SSPF_INFO 00000020 struct {SD_INFO_CUE *__ptr32 pCue;SSPF_ISND_INFO *__ptr32 pisi;SSPF_ISND_ITRK *__ptr32 pist;SSPF_ITRK_EVENT *__ptr32 peve;SSPF_IWAV_INFO *__ptr32 piwi;SSWF_SSWF *__ptr32 pssw;SS_INT8 loadBlock;SS_INT8 loadBank;SS_INT8 pad[6];}
4813 INFO_SYSTEM 01625C30 struct __attribute__((aligned(16))) {SS_MULTI128 buff[1306624];SS_MULTI128 buffGsp[4096];SS_MULTI128 buffDamSsp[131072];SS_FLOAT32 aPcm32[768][6];SS_FLOAT32 aBuff[32][1024];SS_INT16 noPcm32R;SS_INT16 noPcm32W;unsigned __int32 fActive : 1;unsigned __int32 bpad : 31;SS_INT32 idPlay;SS_INT32 pad[1];INFO_CUE_PLAY iCuePlay[32];INFO_SSPF iSspf[4][8];INFO_GSPF iGspf;}
4826 INFO_XSEQ 00000050 struct {INFO_XTRACK *__ptr32 pNext;SSPF_ISND_INFO *__ptr32 pSeq;SS_CUE_STAT *__ptr32 pcs;SS_UINT32 cOrder;SS_UINT16 noSnd;SS_UINT8 padA[14];$EEFF366737BA72EA62B6D92BE166EA59 iTime;INFO_SSPF_INFO iSspfI;}
4808 SD_INFO_CUE 00000008 struct {SS_INT16 loadBlock;SS_INT16 loadBank;SSPF_ICUE_INFO *__ptr32 pici;}
4186 SCSspec 00000014 struct {int totalTime;int convergeTime;int cycleMin;int cycleMax;float magnitude;}
4823 _tag_INFO_XTRACK 00000020 struct {_tag_INFO_XTRACK *__ptr32 pNext;SSPF_ISND_ITRK *__ptr32 pTrk;SSPF_ITRK_EVENT *__ptr32 pEvTop;SSPF_ITRK_EVENT *__ptr32 pEvCur;SS_INT32 idPort;SS_UINT8 bCloseReq;SS_UINT8 bLfeOut;SS_UINT8 padA[10];}
3871 tagInfoSound 001012F0 struct {$8CFC08B832365B19363D91DF7D6DB58B iSe[8];$88378D88E65119A9F2E6D08A388EE932 *__ptr32 pWavP;$DBBB87743F4C5E87C04B102D1774204F iFiles;__attribute__((aligned(16))) $164E78A57963D64BB21FDB1A05B4531C iMta[4];SS_CUE_STAT cueStat[32];SS_INT32 cSync;SS_INT32 cCallback;SS_INT32 noFile;SS_INT32 outMode;SS_UINT8 *__ptr32 pWave;SS_INT8 *__ptr32 pData;SSPF_IWAV_INFO *__ptr32 piWavInfo;SSPF_IWAV *__ptr32 piWav;SS_INT32 szWave;SS_FLOAT32 cReadSamples;SS_INT32 meff;SS_INT32 meffBal;$D65BCE41A966EA74F4098DBD4475AB17 iCtg;unsigned __int32 bSspf : 1;unsigned __int32 bpad : 31;}
*__ptr32 pData;SSPF_IWAV_INFO *__ptr32 piWavInfo;SSPF_IWAV *__ptr32 piWav;SS_INT32 szWave;SS_FLOAT32 cReadSamples;SS_INT32 meff;SS_INT32 meffBal;$D65BCE41A966EA74F4098DBD4475AB17 iCtg;unsigned __int32 bSspf : 1;unsigned __int32 bpad : 31;}
391 Sound_Ctrl 00000090 struct __attribute__((aligned(8))) {SS_CUE_STAT cue;int status;int counter;int flag;}
390 Sound_Callback 00000014 struct {void (*__ptr32 init_func)(void);void (*__ptr32 reset_func)(void);void (*__ptr32 update_func)(void);void (*__ptr32 debug_init)(void);void (*__ptr32 debug_view)(void);}
4868 INF_MSTEFF 00018020 struct __attribute__((aligned(8))) {SS_MULTI128 wet[6144];SS_INT64 user;void (*__ptr32 pMstEff)(INF_SYN_PCM *__ptr32);SS_FLOAT32 *__ptr32 pPcm32[1];SS_INT8 balance;SS_INT8 pad[11];}
4867 INF_INSEFF 00000318 struct {SS_INT64 user;void (*__ptr32 pInsEff)(INF_SYN_PCM *__ptr32);SS_FLOAT32 *__ptr32 pPcm32[64];SS_INT64 pIdCtrl[64];SS_INT32 nPcm32;SS_INT32 pad[1];}
4865 INF_PLAY 00006450 struct {SS_MULTI128 raw[3][512];SS_FLOAT32 xfade[256];SS_FLOAT64 pos;SS_FLOAT64 posPlay;SS_FLOAT64 posNext;SS_FLOAT64 envTime;unsigned __int32 bEnvReqAr : 1;unsigned __int32 bEnvRcvAr : 1;unsigned __int32 bEnvReqRr : 1;unsigned __int32 bEnvRcvRr : 1;unsigned __int32 bEnvReqAbt : 1;unsigned __int32 bEnvRcvAbt : 1;unsigned __int32 bPad : 26;SS_UINT32 envPos;SS_FLOAT32 pitch;SS_FLOAT32 pitchR;SS_FLOAT32 volX;SS_FLOAT32 volRate;SS_INT32 rawBankW;SS_FLOAT32 oPcm32;SS_FLOAT32 dpcm;SS_UINT8 pad[12];}
4866 INF_WAVE 0000A4B0 struct {SS_MULTI128 pcm32[1024];INF_PLAY iPlay;SS_FLOAT64 basePitch;SS_INT8 *__ptr32 buff;unsigned __int32 bActive : 1;unsigned __int32 bLoop : 1;unsigned __int32 bPadA : 30;SS_UINT8 chans;SS_UINT8 pad[15];SS_INT32 fs;SS_INT32 size;SS_INT32 samples;SS_INT32 idDec;SS_INT32 env[8];SSSYN_VPARAM vp;}
4862 ssDecSsw2Sub 00000004 struct {SS_INT16 iPcm;SS_UINT16 iRate;}
4858 $PcM_Data1 00000090 struct {SS_MULTI128 pcm32[7];SS_INT32 oPcm32[2];SS_INT32 oPcm32Lp[2];SS_INT32 nUsePcm32;SS_INT32 padA[3];}
4857 $PcM_Data2 00002030 struct __attribute__((aligned(16))) {SS_MULTI128 pcm32[512];SS_MULTI128 iRate[1];SS_MULTI128 iPcm[1];SS_INT32 nUsePcm32;}
4847 $PcM_Data3 0012E7D0 struct __attribute__((aligned(16))) {unsigned __int32 bActive : 1;unsigned __int32 bpadA : 31;SS_INT32 noStrip;SS_INT32 cSync;SS_INT32 bLoop;SS_MULTI128 pcm16[192];$B92F4B6BC6893F14ABFCDA2DFAB5DC2F iMta[8];INF_SEMA iSema;sys_ppu_thread_t iThread;SS_INT16 *__ptr32 buffWave;SS_INT32 mta_szmtabuff;$F1D5E666479D390DF7EB7C00173ADBCA iQueue;}
4843 $PcM_Data4 00003230 struct {SS_INT16 wPcm[4][1536];SS_INT32 posR;SS_INT32 posW;SS_INT32 posT;SS_INT32 posLTF;SS_INT32 posLEF;SS_INT32 readReq;SS_INT32 readRcv;SS_INT32 readReqL;SS_INT32 readRcvL;SS_INT32 atTimeS;SS_INT16 wPcmW;SS_INT16 wPcmR;SS_UINT8 *__ptr32 pData;unsigned __int32 fStatUpdateReq : 1;unsigned __int32 fStatUpdateRcv : 1;unsigned __int32 fWait : 1;unsigned __int32 fLoopEnd : 1;unsigned __int32 cPacket : 24;unsigned __int32 bpadA : 4;__int32 stat : 5;unsigned __int32 cWait : 27;SS_INT32 cPacketDecode;SS_INT32 cPacketPlay;SS_INT32 cPacketPause;SS_INT32 cPacketPlayL;SS_INT32 cReadError;SS_INT32 padA[1];$51DE34E9E13B42D1CD91473E16F07CA1 at[8];INFO_PCM iPcm[8];}
4833 TAG_INFO_PCM 0000002C struct {SS_INT32 (*__ptr32 fnDecode)(SS_INT32, SS_UINT8 *__ptr32 *__ptr32, TAG_INFO_PCM *__ptr32, SS_INT32);DEC_PARAM dp[2];SS_INT32 vol;SS_INT32 ang;}
4831 TAG_DEC_PARAM 00000010 struct {SS_INT32 vol;SS_INT32 rate;SS_INT32 oDelta;SS_INT32 pcm;}
4829 INFO_DECODE 00000010 struct {unsigned __int32 noTrack : 8;unsigned __int32 noPacket : 24;SS_INT16 rateL;SS_INT16 rateR;SS_INT16 pcmL;SS_INT16 oDeltaL;SS_INT16 pcmR;SS_INT16 oDeltaR;SS_UINT8 pData[];}
4813 INFO_SYSTEM 01625C30 struct __attribute__((aligned(16))) {SS_MULTI128 buff[1306624];SS_MULTI128 buffGsp[4096];SS_MULTI128 buffDamSsp[131072];SS_FLOAT32 aPcm32[768][6];SS_FLOAT32 aBuff[32][1024];SS_INT16 noPcm32R;SS_INT16 noPcm32W;unsigned __int32 fActive : 1;unsigned __int32 bpad : 31;SS_INT32 idPlay;SS_INT32 pad[1];INFO_CUE_PLAY iCuePlay[32];INFO_SSPF iSspf[4][8];INFO_GSPF iGspf;}
470 Filter_Callback 00000014 struct {void (*__ptr32 start_func)(INF_SYN_PCM *__ptr32, int, float *__ptr32, float *__ptr32, int);void (*__ptr32 finish_func)(INF_SYN_PCM *__ptr32, int, float *__ptr32);void (*__ptr32 correct_func)(SD_CTRLID, float *__ptr32, int8_t *__ptr32);void (*__ptr32 set_func)(SD_CTRLID, int8_t *__ptr32);void (*__ptr32 get_bufsize)(int *__ptr32, int *__ptr32);}
4863 SSW2_INFO 00000010 struct {ssDecSsw2Sub::$8C2D8EE3AD4C75A5A4B0E171C461E897 iBlock[4];SS_UINT8 adp[][4][8];}
4826 INFO_XSEQ 00000050 struct {INFO_XTRACK *__ptr32 pNext;SSPF_ISND_INFO *__ptr32 pSeq;SS_CUE_STAT *__ptr32 pcs;SS_UINT32 cOrder;SS_UINT16 noSnd;SS_UINT8 padA[14];$EEFF366737BA72EA62B6D92BE166EA59 iTime;INFO_SSPF_INFO iSspfI;}
4823 _tag_INFO_XTRACK 00000020 struct {_tag_INFO_XTRACK *__ptr32 pNext;SSPF_ISND_ITRK *__ptr32 pTrk;SSPF_ITRK_EVENT *__ptr32 pEvTop;SSPF_ITRK_EVENT *__ptr32 pEvCur;SS_INT32 idPort;SS_UINT8 bCloseReq;SS_UINT8 bLfeOut;SS_UINT8 padA[10];}
4822 $1DE186BD7C9EEE86BCE730 0009A6E0 struct __attribute__((aligned(16))) {SS_MULTI128 aWave[4][384];$45129E5974AAE6C81FAB45E28A9DC8FA iQueue;$1E146922D216F5737FA4C0548DD377CA iLoop;SD_INFO_CUE iCue[65536];INFO_CATEGORY iCategory[256];$D1D57B2D7AED3AA4BF10116700207486 iLoadBank[5][8];SS_INT32 idMixStrip;SS_UINT64 cCallback;SS_UINT8 cBkWaveR;SS_UINT8 cBkWaveW;SS_UINT8 padA[6];}
4816 _TAG_INFO_QUEUE 00000014 struct {$125944FA2A85A21969A9C467C41E9D42 info;SS_INT32 cmd;SS_FLOAT32 waitTime;SS_INT8 pad[4];_TAG_INFO_QUEUE *__ptr32 pNext;}
4812 INFO_CUE_PLAY 00000080 struct {INFO_SSPF_INFO iSspfI;SS_INT32 env[8];SS_INT64 timeS;SS_UINT64 idCtrl;SS_FLOAT32 *__ptr32 pBuff;void *__ptr32 pData;SSSYN_VPARAM *__ptr32 pvp;SS_CUE_STAT *__ptr32 pcs;SS_INT32 idSyn;SS_UINT32 idPlay;SS_INT8 amp;SS_INT8 ang;SS_INT16 pitch;void *__ptr32 pCategory;SS_INT8 pad[12];unsigned __int32 bUpdate : 1;unsigned __int32 bLfeOut : 1;unsigned __int32 bpadA : 30;}
4811 INFO_SSPF_INFO 00000020 struct {SD_INFO_CUE *__ptr32 pCue;SSPF_ISND_INFO *__ptr32 pisi;SSPF_ISND_ITRK *__ptr32 pist;SSPF_ITRK_EVENT *__ptr32 peve;SSPF_IWAV_INFO *__ptr32 piwi;SSWF_SSWF *__ptr32 pssw;SS_INT8 loadBlock;SS_INT8 loadBank;SS_INT8 pad[6];}
4860 $F446DF587F196A1A37 00002030 union {$9BDBB56DB458CF2FB4740C2838666774 iSsw2;$38233D9D40F7433BFB6BE64CD35F1D43 iVax;$25854D602DA31B265C083246FA04E87F iRaw;}
4862 ssDecSsw2Sub::$8C2D8E 00000004 struct {SS_INT16 iPcm;SS_UINT16 iRate;}
===========================================================================================================================================================================END AUDIO/SOUND EFFECTS DATA============================================================================================================================================================