Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Child of Light (.ipk)

The Original Forum. Game archives, full of resources. How to open them? Get help here.
merlinsvk
ultra-veteran
ultra-veteran
Posts: 411
Joined: Mon Oct 27, 2008 12:11 am
Location: Slovakia
Has thanked: 35 times
Been thanked: 121 times

Child of Light (.ipk)

Post by merlinsvk »

Child of Light uses UbiArt Framework engine (like Rayman Origins and Rayman Legends). Here is modified BMS for unpacking IPK archives. :)

Code: Select all

# Child of Light (PC / maybe Xbox 360 too)
# Based on BMS script for Rayman Legends (PC / Xbox 360)
# script for QuickBMS http://quickbms.aluigi.org

endian big
goto 0xc
get BASE_OFF long
goto 0x34	# 0x2c for Rayman Legends
get FILES long
for i = 0 < FILES
    get DUMMY1 long
    get SIZE long
    get ZSIZE long
    get TSTAMP longlong
    get OFFSET longlong
    if DUMMY1 == 2
        get DUMMY4 long
        get DUMMY5 long
    endif
    get FOLDERSZ long
   getdstring FOLDER FOLDERSZ
   get NAMESZ long
   getdstring NAME NAMESZ
   string FOLDER + NAME
   string NAME = FOLDER
    math OFFSET += BASE_OFF
    if ZSIZE == 0
        log NAME OFFSET SIZE
    else
        clog NAME OFFSET ZSIZE SIZE
    endif
   get DUMMY6 long
   get DUMMY7 long
next i
albert1905
veteran
Posts: 93
Joined: Wed May 09, 2012 1:13 pm
Has thanked: 11 times
Been thanked: 3 times

Re: Child of Light (.ipk)

Post by albert1905 »

merlinsvk wrote:Child of Light uses UbiArt Framework engine (like Rayman Origins and Rayman Legends). Here is modified BMS for unpacking IPK archives. :)

Code: Select all

# Child of Light (PC / maybe Xbox 360 too)
# Based on BMS script for Rayman Legends (PC / Xbox 360)
# script for QuickBMS http://quickbms.aluigi.org

endian big
goto 0xc
get BASE_OFF long
goto 0x34	# 0x2c for Rayman Legends
get FILES long
for i = 0 < FILES
    get DUMMY1 long
    get SIZE long
    get ZSIZE long
    get TSTAMP longlong
    get OFFSET longlong
    if DUMMY1 == 2
        get DUMMY4 long
        get DUMMY5 long
    endif
    get FOLDERSZ long
   getdstring FOLDER FOLDERSZ
   get NAMESZ long
   getdstring NAME NAMESZ
   string FOLDER + NAME
   string NAME = FOLDER
    math OFFSET += BASE_OFF
    if ZSIZE == 0
        log NAME OFFSET SIZE
    else
        clog NAME OFFSET ZSIZE SIZE
    endif
   get DUMMY6 long
   get DUMMY7 long
next i
Thanks a lot. But it doesn't work for templateinstance_pc32.ipk file.
You do not have the required permissions to view the files attached to this post.
merlinsvk
ultra-veteran
ultra-veteran
Posts: 411
Joined: Mon Oct 27, 2008 12:11 am
Location: Slovakia
Has thanked: 35 times
Been thanked: 121 times

Re: Child of Light (.ipk)

Post by merlinsvk »

I know. That file is probably dummy. It should have 3000+ files, but there are only few of them.
tomsolo
beginner
Posts: 23
Joined: Fri Sep 16, 2011 8:33 pm
Been thanked: 6 times

Re: Child of Light (.ipk)

Post by tomsolo »

templateinstance_pc32.ipk its a dummy, descriptive/template file, no need to decompress.

If you want to run ChoL as extracted game, just decompress all other .ipk file*** - except templateinstance_pc32.ipk - in the game root. Rename / move these ipk files and voila game start.

If you want to make a translate, just open the localization_english.isg.ckd an hexeditor, and overwrite strings to what you want, but allways give the exact char numbers - a non ascii chars need two bytes.

The fonts it's a simple mapped DXT3 textures - see *tga* tag in filenames, just replace with photoshop to a non used char with your language specific character.

Image

Image

*** Need good order, because some archives contain another dummy files too.
albert1905
veteran
Posts: 93
Joined: Wed May 09, 2012 1:13 pm
Has thanked: 11 times
Been thanked: 3 times

Re: Child of Light (.ipk)

Post by albert1905 »

tomsolo wrote:templateinstance_pc32.ipk its a dummy, descriptive/template file, no need to decompress.

If you want to run ChoL as extracted game, just decompress all other .ipk file*** - except templateinstance_pc32.ipk - in the game root. Rename / move these ipk files and voila game start.

If you want to make a translate, just open the localization_english.isg.ckd an hexeditor, and overwrite strings to what you want, but allways give the exact char numbers - a non ascii chars need two bytes.

The fonts it's a simple mapped DXT3 textures - see *tga* tag in filenames, just replace with photoshop to a non used char with your language specific character.

*** Need good order, because some archives contain another dummy files too.
No.. It is not easy to make a translation patch. Because no one can edit tfn.ckd files and work it on the game.
tfn.ckd file contains information(size and position..) about tga.ckd font file. I've tried to edit tfn.ckd file to exchange glyph's position but it won't work at all.
So it is impossible to make a one's own language font. Unicode number's are different from country. So I've tried to make a table file and edit font file..
But I was dropping with fatigue..
Last edited by albert1905 on Fri Jul 25, 2014 4:30 am, edited 1 time in total.
tomsolo
beginner
Posts: 23
Joined: Fri Sep 16, 2011 8:33 pm
Been thanked: 6 times

Re: Child of Light (.ipk)

Post by tomsolo »

albert1905 wrote: Because no one can edit tfn.ckd files and work it on the game. tfn.ckd file contains information(size and position..)
No, this is not true. I investigated templateinstance_pc32.ipk file and unfortunately yes it's contain some small files - like *tfn.ckd-s - but easily bypass: just replace all font's file path to something wrong in templateinstance_pc32.ipk file, like:

cache/itf_cooked/pc32/enginedata/misc/fonts/
to
cache/itf_cooked/pc32/enginedata/misc/font1/

Now engine use all *tfn.ckd files in the cache/itf_cooked/pc32/enginedata/misc/fonts/ folder.

The character encoding in localization file is UTF-8, but tfn.ckd use the UNICODE charmap.

I tried replace - avant_garde_md_32.tfn.ckd at 0x1FF0 - in the the Latin small letter o with tilde - õ - to the Latin small letter o with double acute - ő - and success. (00F5 to 0151)

In example the "Downloadable" word in hungarian "Letölthető", and before this modification i wrote "Letölthetõ" in localization file and replace Latin small letter o with tilde's bitmap to Latin small letter o with double acute texture.

I hope it's help for you but i know that hangul is more complicated.
albert1905
veteran
Posts: 93
Joined: Wed May 09, 2012 1:13 pm
Has thanked: 11 times
Been thanked: 3 times

Re: Child of Light (.ipk)

Post by albert1905 »

tomsolo wrote:
albert1905 wrote: Because no one can edit tfn.ckd files and work it on the game. tfn.ckd file contains information(size and position..)
No, this is not true. I investigated templateinstance_pc32.ipk file and unfortunately yes it's contain some small files - like *tfn.ckd-s - but easily bypass: just replace all font's file path to something wrong in templateinstance_pc32.ipk file, like:

cache/itf_cooked/pc32/enginedata/misc/fonts/
to
cache/itf_cooked/pc32/enginedata/misc/font1/

Now engine use all *tfn.ckd files in the cache/itf_cooked/pc32/enginedata/misc/fonts/ folder.

The character encoding in localization file is UTF-8, but tfn.ckd use the UNICODE charmap.

I tried replace - avant_garde_md_32.tfn.ckd at 0x1FF0 - in the the Latin small letter o with tilde - õ - to the Latin small letter o with double acute - ő - and success. (00F5 to 0151)

In example the "Downloadable" word in hungarian "Letölthető", and before this modification i wrote "Letölthetõ" in localization file and replace Latin small letter o with tilde's bitmap to Latin small letter o with double acute texture.

I hope it's help for you but i know that hangul is more complicated.
Thanks a lot! It worked for me. :keke:
albert1905
veteran
Posts: 93
Joined: Wed May 09, 2012 1:13 pm
Has thanked: 11 times
Been thanked: 3 times

Re: Child of Light (.ipk)

Post by albert1905 »

Is there a way to change Japanese voice to English voice?
namquang93
veteran
Posts: 115
Joined: Mon Apr 09, 2012 8:40 am
Has thanked: 50 times
Been thanked: 6 times

Re: Child of Light (.ipk)

Post by namquang93 »

merlinsvk wrote:Child of Light uses UbiArt Framework engine (like Rayman Origins and Rayman Legends). Here is modified BMS for unpacking IPK archives. :)

Code: Select all

# Child of Light (PC / maybe Xbox 360 too)
# Based on BMS script for Rayman Legends (PC / Xbox 360)
# script for QuickBMS http://quickbms.aluigi.org

endian big
goto 0xc
get BASE_OFF long
goto 0x34	# 0x2c for Rayman Legends
get FILES long
for i = 0 < FILES
    get DUMMY1 long
    get SIZE long
    get ZSIZE long
    get TSTAMP longlong
    get OFFSET longlong
    if DUMMY1 == 2
        get DUMMY4 long
        get DUMMY5 long
    endif
    get FOLDERSZ long
   getdstring FOLDER FOLDERSZ
   get NAMESZ long
   getdstring NAME NAMESZ
   string FOLDER + NAME
   string NAME = FOLDER
    math OFFSET += BASE_OFF
    if ZSIZE == 0
        log NAME OFFSET SIZE
    else
        clog NAME OFFSET ZSIZE SIZE
    endif
   get DUMMY6 long
   get DUMMY7 long
next i
Can you modify BMS script for Valiant Hearts The Great War (*.ipk), too? Thanks in advance !
And here is my screenshot:
Image
albert1905
veteran
Posts: 93
Joined: Wed May 09, 2012 1:13 pm
Has thanked: 11 times
Been thanked: 3 times

Re: Child of Light (.ipk)

Post by albert1905 »

namquang93
veteran
Posts: 115
Joined: Mon Apr 09, 2012 8:40 am
Has thanked: 50 times
Been thanked: 6 times

Re: Child of Light (.ipk)

Post by namquang93 »

albert1905 wrote:Here it is. viewtopic.php?f=35&t=11715
Thanks! ^^
namquang93
veteran
Posts: 115
Joined: Mon Apr 09, 2012 8:40 am
Has thanked: 50 times
Been thanked: 6 times

Re: Child of Light (.ipk)

Post by namquang93 »

albert1905 wrote:Here it is. viewtopic.php?f=35&t=11715
Hi! In command dos, how to choose yes to skip bigger file ? Thanks !
Arts
ultra-n00b
Posts: 3
Joined: Sat Oct 18, 2014 3:35 pm

Re: Child of Light (.ipk)

Post by Arts »

Hi,
i have problem with getting a file in format .dds

After extraction bootresourcemap_pc32.ipk in QuickBMS Editor with script

Code: Select all

# Child of Light (PC / maybe Xbox 360 too)
# Based on BMS script for Rayman Legends (PC / Xbox 360)
# script for QuickBMS http://quickbms.aluigi.org

endian big
goto 0xc
get BASE_OFF long
goto 0x34   # 0x2c for Rayman Legends
get FILES long
for i = 0 < FILES
    get DUMMY1 long
    get SIZE long
    get ZSIZE long
    get TSTAMP longlong
    get OFFSET longlong
    if DUMMY1 == 2
        get DUMMY4 long
        get DUMMY5 long
    endif
    get FOLDERSZ long
   getdstring FOLDER FOLDERSZ
   get NAMESZ long
   getdstring NAME NAMESZ
   string FOLDER + NAME
   string NAME = FOLDER
    math OFFSET += BASE_OFF
    if ZSIZE == 0
        log NAME OFFSET SIZE
    else
        clog NAME OFFSET ZSIZE SIZE
    endif
   get DUMMY6 long
   get DUMMY7 long
next i
I get the files in CKD format
using a script

Code: Select all

# .tga.ckd to .dds
get NAME basename
get SIZE asize
math SIZE -= 0x38
string NAME += ".dds"
log NAME 0x38 SIZE
i get a file in DDS format - but this file i can not open with Photoshop+DDS plugin
when i try to open DDS file - getting an error
"could not complete your request because file-format module cannot parse the file"

What am I doing wrong??
Please help...and sory for my bad english..
merlinsvk
ultra-veteran
ultra-veteran
Posts: 411
Joined: Mon Oct 27, 2008 12:11 am
Location: Slovakia
Has thanked: 35 times
Been thanked: 121 times

Re: Child of Light (.ipk)

Post by merlinsvk »

Are you trying to convert .tga.ckd file? Because there are many other files with .ckd extension.
Arts
ultra-n00b
Posts: 3
Joined: Sat Oct 18, 2014 3:35 pm

Re: Child of Light (.ipk)

Post by Arts »

From here i got a script for converting .ckd to DDS
viewtopic.php?f=35&t=11715
last post say about script working correctly with Valiant Hearts The Great War

if this script work with files from game Valiant Hearts - why it don't work with files from game Child of Light???

Is there any other way to converting CKD files to DDS correctly from Child of Light??
Post Reply