ZenHAX

Free Game Research Forum | Official QuickBMS support | twitter @zenhax | SSL HTTPS://zenhax.com
It is currently Wed Sep 19, 2018 5:43 am

All times are UTC




Post new topic  Reply to topic  [ 16 posts ] 
Author Message
PostPosted: Wed Feb 14, 2018 9:04 pm 

Joined: Wed Feb 14, 2018 8:35 pm
Posts: 7
Hi there!

I'm interested in doing some language swapping/modding on the PS2 game Forbidden Siren, but I'm entirely new to this and have had no luck extracting the assets I'm interested in. I wonder if anyone can help?

The top level of the disc (all regions) is as per the attached image - I suspect the SIREN.* files are perhaps vfs archives and a good place to start?

Attached samples from both the US and Japanese games (I will need to explore both).

Thanks in advance for any clues or help :)


Attachments:
File comment: NTSC-U/C samples
siren_US_samples.zip [2.64 MiB]
Downloaded 29 times
File comment: NTSC-J samples
siren_JP_samples.zip [2.68 MiB]
Downloaded 27 times
File comment: Disc layout
siren_disc.jpg [50.96 KiB]
Downloaded 1 time
Top
   
PostPosted: Fri Feb 16, 2018 10:21 am 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 8779
Upload SIREN.TBL


Top
   
PostPosted: Fri Feb 16, 2018 3:54 pm 

Joined: Wed Feb 14, 2018 8:35 pm
Posts: 7
Thankyou aluigi - uploaded.


Attachments:
TBL_US.zip [5.57 KiB]
Downloaded 29 times
TBL_JP.zip [5.54 KiB]
Downloaded 26 times
Top
   
PostPosted: Fri Feb 16, 2018 5:31 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 8779
Can you upload the whole SIREN.008 of the US version?
TBL contains everything but the OFFSET/SIZE structure is not very clear.


Top
   
PostPosted: Fri Feb 16, 2018 6:23 pm 

Joined: Wed Feb 14, 2018 8:35 pm
Posts: 7
SIREN.008 here: https://we.tl/mTGEytfC87


Top
   
PostPosted: Fri Feb 16, 2018 10:19 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 8779
No unfortunately it doesn't have any sense to me, without OFFSET and SIZE there is no way to extract the data.
I leave my work-in-progress script here for reference in case someone will find out what I'm missing, do NOT try it because doesn't work:
Code:
# Forbidden Siren TBL/000
# script for QuickBMS http://quickbms.aluigi.org

open FDDE "tbl"
filexor 0xff
idstring "SDT4"
get FILES long
get TBL_SIZE long
get SOME_CRC long
get INFO_OFF long
get NAMES_OFF long
get DUMMY long  # 1
goto INFO_OFF
math LAST_ARCHIVE_NUM = -1
for i = 0 < FILES
    get DUMMY long
    get DUMMY short
    get DUMMY byte
    get ARCHIVE_NUM byte
    get NAME_OFF long

    savepos TMP
    math NAME_OFF + NAMES_OFF
    goto NAME_OFF
    get NAME string
    goto TMP

    if ARCHIVE_NUM != LAST_ARCHIVE_NUM
        math LAST_ARCHIVE_NUM = ARCHIVE_NUM
        get TMP basename
        string TMP p "%s.%03d" TMP ARCHIVE_NUM
        open FDSE TMP 1
    endif

    filexor ""
    cleanexit # this is not a working script!
    log NAME OFFSET SIZE 1
    filexor 0xff
next i


Top
   
PostPosted: Sat Feb 17, 2018 12:27 am 

Joined: Wed Feb 14, 2018 8:35 pm
Posts: 7
Ok - thanks for the time and effort.

Leaving here also the entire contents of that IOP directory on the US disc, in case it can offer any clues.


Attachments:
IOP_US.zip [184.14 KiB]
Downloaded 27 times
Top
   
PostPosted: Thu Apr 12, 2018 4:27 pm 

Joined: Tue Feb 02, 2016 2:35 am
Posts: 1094
i modded aluigi's script into this...
Code:
get TBL_BNAME basename

open FDDE "tbl"
filexor 0xff
idstring "SDT4"
get FILES long
get TBL_SIZE long
get TBL03 long # probably some kind of hash...
get INFO_OFF long
get NAMES_OFF long
get TBL04 long # 1
goto INFO_OFF
math TBL_ARCNUM = 0
math TBL_TEMPNUM = 0
math TBL_ARCSIZE = 0x20000000
for i = 0 < FILES
    get OFFSET long
    get SIZE long
    get NAME_OFF long
   
   if i = 0
      set TBL05 long OFFSET
   endif
   
   math OFFSET - TBL05
   math OFFSET * 0x800
   set OFFSET2 long OFFSET

    if OFFSET u>= TBL_ARCSIZE
       math OFFSET % TBL_ARCSIZE
      xmath TBL_ARCNUM "OFFSET2 / TBL_ARCSIZE"
    endif
   
   string FULL_TBL_LOAD p "%s.%03d" TBL_BNAME TBL_ARCNUM
   open FDSE FULL_TBL_LOAD 1
   
   xmath STBL_DRAFT1 "SIZE + OFFSET"
   xmath STBL_TEMPSIZE1 "TBL_ARCSIZE - OFFSET"
   xmath STBL_TEMPSIZE2 "STBL_DRAFT1 - TBL_ARCSIZE"

    savepos TMP
    math NAME_OFF + NAMES_OFF
    goto NAME_OFF
    get NAME string
    goto TMP
   
   filexor ""
   if STBL_DRAFT1 u> TBL_ARCSIZE
      putvarchr MEMORY_FILE SIZE 0
      log MEMORY_FILE 0 0
      
      math TBL_TEMPNUM == TBL_ARCNUM
      math TBL_TEMPNUM + 1
      string TEMP_TBL_LOAD p "%s.%03d" TBL_BNAME TBL_TEMPNUM
      open FDSE TEMP_TBL_LOAD 2
      
      append
      for xp = 0 < 2
         if xp = 0
            log MEMORY_FILE OFFSET STBL_TEMPSIZE1 1
         elif xp = 1
            log MEMORY_FILE 0 STBL_TEMPSIZE2 2
         endif
      next xp
      append
      
      log NAME 0 SIZE MEMORY_FILE
   else
      log NAME OFFSET SIZE 1
   endif
   filexor 0xff
next i
this script is currently untested for re-importing stuff though

_________________
the number one killer is time
it destroys us all


Top
   
PostPosted: Tue Apr 17, 2018 11:08 pm 

Joined: Tue Feb 02, 2016 2:35 am
Posts: 1094
anyway, i managed to find at least some "SLDI" files upon extraction so i'll be opening a separate thread for that.

EDIT: in other news i'm basically done with the whole siren.tbl/siren.000 format now so if you're reading this in the future i have already released that new script of mine in my "Script Compendium" thread.

_________________
the number one killer is time
it destroys us all


Top
   
PostPosted: Wed Apr 18, 2018 10:34 pm 

Joined: Wed Feb 14, 2018 8:35 pm
Posts: 7
Thanks for this! I've run the version of the script from your compendium thread, and it's extracting but only getting so far:

Quote:
- open input file C:\...\Siren\US\SIREN.004

Error: incomplete input file 1: C:\...\Siren\US\SIREN.004

Can't read 1050722304 bytes from offset e15f4000.

coverage file 1 0% 0 536870912 . offset e15f4000

Last script line before the error or that produced the error:
55 log MEMORY_FILE OFFSET STBL_TEMPSIZE1 1


Top
   
PostPosted: Wed Apr 18, 2018 11:18 pm 

Joined: Tue Feb 02, 2016 2:35 am
Posts: 1094
oh nooooooooooooooooooooo
just give me an entire day to solve this

_________________
the number one killer is time
it destroys us all


Top
   
PostPosted: Thu Apr 19, 2018 8:30 pm 

Joined: Tue Feb 02, 2016 2:35 am
Posts: 1094
hmm... i guess the issue seems to be on your end...

in order to see if anything was wrong with my script(if at all), i had to go through getting "legit" copies of the same game, this time getting the JP and US releases just for troubleshooting purposes. i tested the script on both releases - from debugging tests to the extraction part - and [quite literally] they all work fine for me.

in the meantime i'm refining my script by trying to find a better way to handle those split archives.

_________________
the number one killer is time
it destroys us all


Top
   
PostPosted: Sat Apr 21, 2018 10:46 am 

Joined: Wed Feb 14, 2018 8:35 pm
Posts: 7
Hmm, sure enough my existing US rip was not accurate, so I ripped the disc again and this time got a Redump md5 match.

However... still getting the same error! I'm just starting quickbms with your script, and pointing it to one of the SIREN.00* files. Is there another way?


Top
   
PostPosted: Sat Apr 21, 2018 1:07 pm 

Joined: Tue Feb 02, 2016 2:35 am
Posts: 1094
okay, here is something i should have told you before since the beginning: i tested the script with quickbms_4gb_files.exe
i tried to investigate your problem by executing the one and only quickbms.exe executable, and guess what the problem is actually much worse than anticipated.

simply put, the script will simply spazz out in there to the point it triggers unexpected bugs like these...
Code:
.
. 00000050
. 000003e0 get     OFFSET     0x001165ef 4
. 000003e4 get     SIZE       0x019e0004 4
. 000003e8 get     NAME_OFF   0x000005a4 4
. 00000000 putarr  OFFSET     0xe032f800 0:0
. 00000000 putarr  TBL_ARCNUM 0x00000004 0:0
. 00000000 putarr  STBL_DRAFT1 0xe1d0f804 0:0
. 00000000 putarr  STBL_DRAFT2 0x00000008 0:0
. 00001e78 get     NAME       "movie\data22.pss" -1
. 019e0004 putvarc            0x00000000 1
i used my publicly-available siren.bms script as a reference for this kind of error.
as for *how* i'm going to fix this one... well, what i'm confident in saying is that i'm starting to get a clear idea of this now.

_________________
the number one killer is time
it destroys us all


Top
   
PostPosted: Tue Jul 10, 2018 7:04 pm 

Joined: Tue Feb 02, 2016 2:35 am
Posts: 1094
ookii, i finally got around to fix Marconi's issue - now the script is working 100% on quickbms
check back here for a new update

_________________
the number one killer is time
it destroys us all


Top
   
PostPosted: Sun Jul 15, 2018 11:48 pm 

Joined: Wed Feb 14, 2018 8:35 pm
Posts: 7
Thanks for the continued work on this - I got a good look at the structure of the game. Unfortunately it confirmed that there are no subtitle triggers whatsoever during actual gameplay (non-cutscene) so any worthwhile undub for this title would require implementing such a subtitle feature from scratch :shock: .


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 16 posts ] 

All times are UTC


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Limited