Jump to content

Galerians: Ash [PS2]


redgraves
Go to solution Solved by Rabatini,

Recommended Posts

1 hour ago, Rabatini said:

samples.

Right I forgot! I also forgot to mention that it's a PS2 game. That's what I get for making a post so early in the morning!

Here you go!

The files are too large to attach here, so it's a mega link. I think model.bd2 has the model files. There are other bd2 files like stage.bd2 in the iso as well.

Edited by redgraves
Link to comment
Share on other sites

  • redgraves changed the title to Galerians: Ash [PS2]
  • Engineer
  • Solution

try this in bd2

 

math i = 0
SET OFFSET = 0

do
    goto OFFSET
    get DUMMY long
    
    # Calcula o próximo OFFSET e avança 0x40 bytes
    math NEXT_OFFSET = OFFSET
    math NEXT_OFFSET += 0x40
    goto NEXT_OFFSET
    
    # Obtém o nome com GETDSTRING
    getdstring NAME 0x03
    
    # Verifica cada caractere individualmente
    set INVALID_CHAR 0
    for j = 0 < 3
        getvarchr CHAR_CODE NAME j
        if CHAR_CODE >= 65 && CHAR_CODE <= 90    # A-Z
            # Válido
        elif CHAR_CODE >= 48 && CHAR_CODE <= 57  # 0-9
            # Válido
        elif CHAR_CODE == 95 || CHAR_CODE == 45  # _ ou -
            # Válido
        else
            set INVALID_CHAR 1
            break
        endif
    next j
    
    if INVALID_CHAR != 0
        set NAME string "unk"
    endif
    
    # Encontra o próximo "BD1"
    findloc NEXT_OFFSET string "BD1" "" 0
    if NEXT_OFFSET == ""
        get FILESIZE asize
        math SIZE = FILESIZE
    else
        math SIZE = NEXT_OFFSET
    endif
    math SIZE -= OFFSET
    
    # Junta o número com `_` e depois o `NAME`
    string FULL_NAME p= i
    string FULL_NAME += "_"
    string FULL_NAME += NAME
    log FULL_NAME OFFSET SIZE
    math i += 1
    math OFFSET = NEXT_OFFSET
while NEXT_OFFSET != ""

 

  • Like 1
Link to comment
Share on other sites

  • Engineer

You can use this script to extract inside tex-PED-MOB extracted by the other script.

because its a container inside another one

 

idstring "BD1"
GET FILE ASIZE
GET ID BYTE
GETDSTRING ZEROS 0X0C
GET ENTRIES LONG
FOR RIP = 1 TO ENTRIES
GET OFFSET LONG
GET CHECKSUM LONG
SAVEPOS TEMP
GET SIZE LONG
IF SIZE == 0
MATH FILE - OFFSET
LOG "" OFFSET FILE
ELSE
MATH SIZE - OFFSET
LOG "" OFFSET SIZE
GOTO TEMP
ENDIF
NEXT RIP

00000001@0000001280.png.bd47d383664496d3f18a6d48ea00833f.png

  • Like 1
Link to comment
Share on other sites

On 9/2/2024 at 9:04 PM, Rabatini said:

try this in bd2

 

math i = 0
SET OFFSET = 0

do
    goto OFFSET
    get DUMMY long
    
    # Calcula o próximo OFFSET e avança 0x40 bytes
    math NEXT_OFFSET = OFFSET
    math NEXT_OFFSET += 0x40
    goto NEXT_OFFSET
    
    # Obtém o nome com GETDSTRING
    getdstring NAME 0x03
    
    # Verifica cada caractere individualmente
    set INVALID_CHAR 0
    for j = 0 < 3
        getvarchr CHAR_CODE NAME j
        if CHAR_CODE >= 65 && CHAR_CODE <= 90    # A-Z
            # Válido
        elif CHAR_CODE >= 48 && CHAR_CODE <= 57  # 0-9
            # Válido
        elif CHAR_CODE == 95 || CHAR_CODE == 45  # _ ou -
            # Válido
        else
            set INVALID_CHAR 1
            break
        endif
    next j
    
    if INVALID_CHAR != 0
        set NAME string "unk"
    endif
    
    # Encontra o próximo "BD1"
    findloc NEXT_OFFSET string "BD1" "" 0
    if NEXT_OFFSET == ""
        get FILESIZE asize
        math SIZE = FILESIZE
    else
        math SIZE = NEXT_OFFSET
    endif
    math SIZE -= OFFSET
    
    # Junta o número com `_` e depois o `NAME`
    string FULL_NAME p= i
    string FULL_NAME += "_"
    string FULL_NAME += NAME
    log FULL_NAME OFFSET SIZE
    math i += 1
    math OFFSET = NEXT_OFFSET
while NEXT_OFFSET != ""

 

Thank you so much for this!

I haven't had the free time to actually use it yet, but roocker666 seems to have gotten it working so I marked this as solved.

I've never actually used model researcher before; do these models come out with the armature when exported? If not, that's fine.

 

Edit: I have no idea how to use the script. I hate to be that guy but could someone point me where to start? All the tutorials I'm seeing are leaving me clueless as to how to find indicators of the models in the hex viewer too. I'm not new to hex, just new to it in this context.

Edited by redgraves
Link to comment
Share on other sites

You have to download quickbms tool from alluigi.

Tem copy and paste , the script in a .txt file.

Do two scripts, because have 2.

And them use Quickbms.

Choice script them file them folder.

 

Thats it

 

Edited by Sassarai
Link to comment
Share on other sites

10 hours ago, Sassarai said:

You have to download quickbms tool from alluigi.

Tem copy and paste , the script in a .txt file.

Do two scripts, because have 2.

And them use Quickbms.

Choice script them file them folder.

 

Thats it

 

Ohh these are QuickBMS scripts, not something for Model Researcher! The posts weren't the most specific so I wasn't sure. Thanks. ❤️

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...