READ THE RULES: Click here

Follow us on Facebook: https://www.facebook.com/xentax/ :)

Help With Extracting Grabbed by the Ghoulies Assets

Coders and would-be coders alike, this is the place to talk about programming.
Post Reply
collabvm
ultra-n00b
Posts: 1
Joined: Thu Dec 06, 2018 3:52 pm

Help With Extracting Grabbed by the Ghoulies Assets

Post by collabvm » Fri Dec 07, 2018 2:01 am

Sorry if i'm posting this in the wrong forum but I'm interested in extracting the assets from Grabbed by the Ghoulies. My main focus is to see if there is some cut content still on the game disc, as the game itself changed so much during development. Here are some of my findings about the compiled files on the disc:

.bnl- Files with this extension contain models and level designs. I believe a script was mode for extracting these files in another thread on here but I don't remember

Files in wavebank folder- Extensionless files that are large in size. Each file in this folder has a "WEND" header. Possibly just contains a bunch of wav files with stripped headers.

Files in movie folder- Extensionless files with a similar filename structure to the ones in wavebank. Each file has a header that begins with "BIKi".

Files in localext- Same filename convention as the last two. Files appears to be headlerless. Likely contains the game dialog as file 0b24c424 has some debug info about a "Dialog test".

Files in fonts- Same filename convention, also headerless.

Files in demand- Same fileanme convention, headerless, I'm not really sure what these files are used for.

I want some guidance on how to extract the assets as these files do seem interesting. If you want to take a shot at it yourself, I have provided some sample files for all of the files I listed here:
https://mega.nz/#!MBVCyQjT!-zVAjXstk70Y ... BjHmnB-vmc

WRS
ultra-veteran
ultra-veteran
Posts: 601
Joined: Fri Nov 06, 2009 12:13 am
Has thanked: 74 times
Been thanked: 132 times

Re: Help With Extracting Grabbed by the Ghoulies Assets

Post by WRS » Fri Jun 14, 2019 8:59 pm

i have a done a bit of work on this game :D

i have resolved few hashes in this gist: https://gist.github.com/x1nixmzeng/1195c80d2c551fae5b7d

the blender scripts are in this thread : https://forum.xentax.com/viewtopic.php?f=16&t=12463

it parses the bnls files in the blender scripts - have a look here - bnl files are "bundles" of files

the wavebank files use adpcm which can be converted to wav pretty easily
the video files are bink - download the bink player and these can play on their own

demand files can be any filetype that isn't part of a bundle (.bnl) - the game loads these manually

it contains mostly images
Useful tool links:

WRS
ultra-veteran
ultra-veteran
Posts: 601
Joined: Fri Nov 06, 2009 12:13 am
Has thanked: 74 times
Been thanked: 132 times

Re: Help With Extracting Grabbed by the Ghoulies Assets

Post by WRS » Fri Jun 14, 2019 9:07 pm

yeah, shout if you're still interested in this

i have a bunch of code just sitting on my pc which would be a good head start for anyone

Code: Select all

        enum class ResourceType : u32
        {
            // aid_objparams are read from "aid_objparams/blah"?

            // aid_objparams_ghoulies_fx_fadeout
            // aid_objparams_ghoulies_actor_cameron
            // aid_objparams_ghoulies_misc_buttonbat
            // aid_objparams_ghoulies_fx_solidredflash

            eResTexture = 1,
            eResAnim = 2,
            eResUnknown3 = 3,
            eResModel = 4,
            eResAnimEvents = 5,

            eResCutscene = 7,
            eResCutsceneEvents = 8,

            eResMisc = 10,
            eResActorGoals = 11,
            eResMarker = 12,
            eResFxCallout = 13,
            eResAidList = 14,

            eResLoctext = 16,

            eResXSoundbank = 18,
            eResXDSP = 19, // may be unused
            eResXCueList = 20, // this is important for audio filenames
            eResFont = 21,
            eResGhoulybox = 22,
            eResGhoulyspawn = 23,
            eResScript = 24,
            eResActorAttribs = 25,
            eResEmitter = 26,
            eResParticle = 27,
            eResRumble = 28,
            eResShakeCam = 29,

            eResCount
        };
        
Useful tool links:

Post Reply