Harry Potter and the Philosopher's Stone PS1 *.WAD

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Warthog1336
Posts: 140
Joined: Mon Feb 05, 2018 5:45 pm

Harry Potter and the Philosopher's Stone PS1 *.WAD

Post by Warthog1336 »

Hello everyone!

I'm opening this thread because there's a scan script which can actually extract the content of the *.WAD archives (which contains headerless Sony 4-bit ADPCM streams) from Harry Potter and the Chamber of Secrets (PS1).

However, it doesn't seem to work on the first game.

I'm asking if someone can help me adapting the script so that it can work with Philosopher's Stone *.WAD, please.

Here's one of the archives:
https://mega.nz/#!KtkQ0A5C!GIHJmnTboizo ... aoaVBTh59I

Here's the script:
https://mega.nz/#!nglGmIqT!CC5M2xx4Po0b ... FcpuNtAp-c

Thanks!
Shima33
Posts: 3
Joined: Sun May 10, 2020 2:12 am

Re: Harry Potter and the Philosopher's Stone PS1 *.WAD

Post by Shima33 »

Sorry to necrobump, but this still hasn't had a script made for it. Would be great to have all the content in these WAD's.
Shima33
Posts: 3
Joined: Sun May 10, 2020 2:12 am

Re: Harry Potter and the Philosopher's Stone PS1 *.WAD

Post by Shima33 »

Necrobumping again with information that may or may not help the decompilation process-

Harry Potter and the Philosopher's Stone PS1 uses the same engine as Croc 2. It's written in C++, and uses Argonaut's proprietary scripting language called Argonaut Strat Language. Using Ghidra with PSYQ Signatures has provided working C++ code, but isn't able to crack the .WAD's. I assume if a QuickBMS script existed for Croc 2, it could be repurposed to use for this? I'm not sure. But regardless, there's some actual info so I'm contributing to this and not just spamming the place up.
OverSurge
Posts: 7
Joined: Sun Jul 19, 2020 3:46 am

Re: Harry Potter and the Philosopher's Stone PS1 *.WAD

Post by OverSurge »

Hi, I've been working on those WADs (Harry Potter and Croc 2 atm) for several months now.
I have written scripts and a documentation on textures, models and animations. I'm currently working on audio, it should be uploaded soon.
Here's the URL of the repo : https://github.com/OverSurge/PS1-BRender-Reverse (https://github.com/OverSurge/PS1-BRender-Assets for the extracted assets)
shekofte
Posts: 42
Joined: Sun Aug 10, 2014 9:22 am

Re: Harry Potter and the Philosopher's Stone PS1 *.WAD

Post by shekofte »

OverSurge wrote:Hi, I've been working on those WADs (Harry Potter and Croc 2 atm) for several months now.
I have written scripts and a documentation on textures, models and animations. I'm currently working on audio, it should be uploaded soon.
Here's the URL of the repo : https://github.com/OverSurge/PS1-BRender-Reverse (https://github.com/OverSurge/PS1-BRender-Assets for the extracted assets)

Thanks
shekofte
Posts: 42
Joined: Sun Aug 10, 2014 9:22 am

Re: Harry Potter and the Philosopher's Stone PS1 *.WAD

Post by shekofte »

Shima33 wrote:Necrobumping again with information that may or may not help the decompilation process-

Harry Potter and the Philosopher's Stone PS1 uses the same engine as Croc 2. It's written in C++, and uses Argonaut's proprietary scripting language called Argonaut Strat Language. Using Ghidra with PSYQ Signatures has provided working C++ code, but isn't able to crack the .WAD's. I assume if a QuickBMS script existed for Croc 2, it could be repurposed to use for this? I'm not sure. But regardless, there's some actual info so I'm contributing to this and not just spamming the place up.

@shima33
Hi shima !
Do you have enough skills in working with Ghidra ?
OverSurge
Posts: 7
Joined: Sun Jul 19, 2020 3:46 am

Re: Harry Potter and the Philosopher's Stone PS1 *.WAD

Post by OverSurge »

@shekofte

I'm currently working on Croc 2 German Demo's executable with Ghidra, helped by a Croc fan, in order to decipher Argonaut Strategy Language (ASL).
I have no experience with Ghidra yet, so it might take a long time, or even be unsuccessful.
shekofte
Posts: 42
Joined: Sun Aug 10, 2014 9:22 am

Re: Harry Potter and the Philosopher's Stone PS1 *.WAD

Post by shekofte »

OverSurge wrote:@shekofte

I'm currently working on Croc 2 German Demo's executable with Ghidra, helped by a Croc fan, in order to decipher Argonaut Strategy Language (ASL).
I have no experience with Ghidra yet, so it might take a long time, or even be unsuccessful.


Indeed you have the aptitude for working on your goal !
Sinc Ghidra is young and free interested in its features !
May be it is better choice than Ida pro ?
But I didn't find documented guides on xentax nor zenhax ! Unfortunately !
OverSurge
Posts: 7
Joined: Sun Jul 19, 2020 3:46 am

Re: Harry Potter and the Philosopher's Stone PS1 *.WAD

Post by OverSurge »

I'm using Ghidra because I don't own IDA Pro :/
I had to put the Ghidra reverse on hold (just for now hopefully), I got a lot of university work to do lately..
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

Re: Harry Potter and the Philosopher's Stone PS1 *.WAD

Post by AlphaTwentyThree »

I'm also looking at these wad archives. I'm only after the music though so I'm searching for a way to just extract that from the archives.
I've extracted the wad with a script I wrote:

Code: Select all

get FSIZE asize
goto 0x10
getDstring SNAME 0x20
get BNAME basename
set OFFSET 4
do
   goto OFFSET
   getDstring EXT 4
   get SIZE long
   savepos OFFSET
   string NAME p "%s~%s.%s" BNAME SNAME EXT
   log NAME OFFSET SIZE
   math OFFSET += SIZE
while OFFSET != FSIZE


I know all the audio is in the *.dne file but somehow I cannot find any TOC for it inside the other files. Does somebody have an idea?

Here's an example wad: https://1fichier.com/?umjta5y2f6wbgcdartnp

Thanks
OverSurge
Posts: 7
Joined: Sun Jul 19, 2020 3:46 am

Re: Harry Potter and the Philosopher's Stone PS1 *.WAD

Post by OverSurge »

Hi AlphaTwentyThree,
I have already reversed most of the audio structures of HP PS1.

You can find all extracted audio at https://github.com/OverSurge/PS1-Argonaut-Assets/.

If you're interested in documentation, take a look at https://github.com/OverSurge/PS1-Argonaut-Reverse/blob/master/Documentation/WAD%20sections/SPSX.md and https://github.com/OverSurge/PS1-Argonaut-Reverse/blob/master/Documentation/WAD%20sections/END.md.

Feel free to ask questions, I'll try to answer from what I remember, I haven't worked on this reverse for some time now..

OverSurge