Page 1 of 1

Crazy Chicken Jewel of Darkness mooh.stg file

Posted: Mon Mar 14, 2022 4:52 pm
by hithewo123
Hi. I'm looking for how to extract the mooh.stg file in 2008 game "Crazy Chicken Jewel of Darkness". I found some OGGs and stuff inside it, but I don't know how to extract them, but I think it's an archive file.

Here is the mooh.stg file:

Code: Select all

https://mega.nz/file/1hRXnDgQ#vWuyqjLZV3--xw1ulGaFyvTPbJvGIYb2kulXUULd01s
Thanks in advance.

Re: Crazy Chicken Jewel of Darkness mooh.stg file

Posted: Mon Mar 14, 2022 7:03 pm
by Rabatini
try this:

Code: Select all

#Crazy Chicken Jewel of Darkness.stg
#scriptforQuickBMShttp://quickbms.aluigi.org

idstring "stg2"
getdstring ondinha 0x0e
get end_table long
get entries long
get dummy short

for rip = 1 to entries
get offset_info long
get checkfile long

if checkfile != 0
savepos temp
goto offset_info

for A = 0 < checkfile
get name_size short
get dummy long
get zero byte
get size long
get offset long
getdstring name name_size

log name offset size

for checkbyte = 0 == 0
get checkbyte byte
next

savepos position
math position -= 1
goto position
math rip += 1
next A

goto temp
endif
next

Re: Crazy Chicken Jewel of Darkness mooh.stg file

Posted: Mon Mar 14, 2022 7:05 pm
by Rabatini
You can use this from alugi.

work as same than mine.
but little better.

Code: Select all

# Intenium games - Beetle Ju 2 / Fairy Jewels (script 0.2)

idstring "stg2"
get VER long
get OFFSET long

set NAME string ""
set PATH string ""
callfunction EXTRACT

startfunction EXTRACT
    string PATH + NAME
    string PATH + /

    savepos BACKUP_OFFSET
    goto OFFSET

    get DUMMY short
    get OFFSET long
    get INFO_SIZE long
    get FILES long
    get ENTRYSZ short
    xmath RESTSZ "ENTRYSZ - (2 + 1 + 4 + 4 + 4)"

    goto OFFSET
    for i = 0 < FILES
        get OFFSET long
        get SUB_FILES long

        savepos BACKUP_OFFSET2
        goto OFFSET
        for x = 0 < SUB_FILES
            get NAMESZ short
            get DUMMY byte
            get DUMMY long
            get SIZE long
            get OFFSET long
            getdstring NAME RESTSZ
            putvarchr NAME NAMESZ 0
            if SIZE == 0
                callfunction EXTRACT
            else
                string FNAME p "%s%s" PATH NAME
                log FNAME OFFSET SIZE
            endif

            math x + 1
            math i + 1
        next
        goto BACKUP_OFFSET2
    next

    goto BACKUP_OFFSET
endfunction

Re: Crazy Chicken Jewel of Darkness mooh.stg file

Posted: Tue Mar 15, 2022 3:51 am
by hithewo123
Wow it worked! Thanks, dude.
Btw I didn't know that the bms file is already available for Intenium games :P

Re: Crazy Chicken Jewel of Darkness mooh.stg file

Posted: Tue Mar 15, 2022 4:25 am
by hithewo123
After checking the extracted files, pretty disappointed that those OGGs are SFXs, the actual game music is in TrackMenu.skm. Again it has OGGs in it, but probably just the soundfont files for Midi (given its small file size ~222Kb).

Re: Crazy Chicken Jewel of Darkness mooh.stg file

Posted: Tue Mar 15, 2022 6:05 am
by Rabatini
hithewo123 wrote: Tue Mar 15, 2022 4:25 am After checking the extracted files, pretty disappointed that those OGGs are SFXs, the actual game music is in TrackMenu.skm. Again it has OGGs in it, but probably just the soundfont files for Midi (given its small file size ~222Kb).
to extract those oggs from trackmenu.skm.
use this.

Code: Select all

findloc OFFSET longlong 0x000002005367674f
do
    goto OFFSET
    get DUMMY long
    findloc NEXT_OFFSET longlong 0x000002005367674f 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 != ""