ZenHAX
https://zenhax.com/

Extracting .bimage / .iggy files
https://zenhax.com/viewtopic.php?f=9&t=15900
Page 1 of 1

Author:  CidQu [ Fri Oct 01, 2021 12:23 pm ]
Post subject:  Extracting .bimage / .iggy files

Hi, I was translating Deathloop. Turkish Language has some different characters than the normal Latin Alphabet (ışöçüğ) and Deathloop Fonts don't support this. I want to change the font but couldn't manage to extract .bimage files. Can anyone help, please? I left an example.

Attachments:
64_df.zip [129.41 KiB]
Downloaded 57 times

Author:  clownbong [ Mon Oct 04, 2021 12:15 am ]
Post subject:  Re: Extracting .bimage files

Adding on my findings from trying to convert these files to DDS based on info from previous games

It seems like none of the previously given info/scripts from other games using this format work for Deathloop (tried Evil Within 2, Wolfenstein, DOOM)

I can provide more sample files if anyone needs

Author:  CidQu [ Thu Oct 07, 2021 11:44 am ]
Post subject:  Re: Extracting .bimage files

clownbong wrote:
Adding on my findings from trying to convert these files to DDS based on info from previous games

It seems like none of the previously given info/scripts from other games using this format work for Deathloop (tried Evil Within 2, Wolfenstein, DOOM)

I can provide more sample files if anyone needs


Seems Dishonored 2 is not working too.
We can extract .dds but it is not working. It is corrupted.

We tried with the Dishonored Bimage translator.

Author:  h3x3r [ Fri Oct 08, 2021 4:32 pm ]
Post subject:  Re: Extracting .bimage files

Code:
//--------------------------------------
//--- 010 Editor v6.0.3 Binary Template
//
// File:
// Author:
// Revision:
// Purpose:
//--------------------------------------
local int i;

uint64 id;
uint compchar;
uint unk0;
uint unk1;
uint width;
uint heigth;
uint width_check;
uint heigth_check;
uint flag;
uint mipmapcount;
uint mipmapcount_check;
uint unk2;
uint unk3;
uint unk4;
byte Null[3];

for(i=0;i<mipmapcount;i++) {

struct {
    uint64 mipnum;
    uint width;
    uint heigth;
    uint mipmaplayersize;
    ubyte Mipmap[mipmaplayersize];
    } mipmap;
};


For fonts the compression is ATI1.

Author:  CidQu [ Sat Oct 09, 2021 10:28 am ]
Post subject:  Re: Extracting .bimage files

h3x3r wrote:
Code:
//--------------------------------------
//--- 010 Editor v6.0.3 Binary Template
//
// File:
// Author:
// Revision:
// Purpose:
//--------------------------------------
local int i;

uint64 id;
uint compchar;
uint unk0;
uint unk1;
uint width;
uint heigth;
uint width_check;
uint heigth_check;
uint flag;
uint mipmapcount;
uint mipmapcount_check;
uint unk2;
uint unk3;
uint unk4;
byte Null[3];

for(i=0;i<mipmapcount;i++) {

struct {
    uint64 mipnum;
    uint width;
    uint heigth;
    uint mipmaplayersize;
    ubyte Mipmap[mipmaplayersize];
    } mipmap;
};


For fonts the compression is ATI1.


Is there any way to extract it? I tried the 010 Script seems nothing happens.

Author:  h3x3r [ Sat Oct 09, 2021 11:54 am ]
Post subject:  Re: Extracting .bimage files

Are you sure you executed template on it?
Image
It's not a script. Also don't forget set Little Endian reading in editor. You can switch between them with Ctrl + E.
BTW the selected area of data is main layer. Just click on Mipmap colum and press Ctrl + double tap C key and paste it into the new file and save as *.dat.
Now run Raw Texture Cooker viewtopic.php?t=7099 and drop that *.dat file onto it and set width/height + compression which is ATI1.
Tool will generate DDS header so you can open it GIMP. Photoshop don't have support for ATI1/ATI2.

Author:  spiritovod [ Sat Oct 09, 2021 12:05 pm ]
Post subject:  Re: Extracting .bimage files

h3x3r wrote:
Photoshop don't have support for ATI1/ATI2.

It has with Intel Texture Works plugin or NVIDIA Texture Tools plugin.

Author:  CidQu [ Sat Oct 09, 2021 1:37 pm ]
Post subject:  Re: Extracting .bimage files

h3x3r wrote:
Are you sure you executed template on it?
Image
It's not a script. Also don't forget set Little Endian reading in editor. You can switch between them with Ctrl + E.
BTW the selected area of data is main layer. Just click on Mipmap colum and press Ctrl + double tap C key and paste it into the new file and save as *.dat.
Now run Raw Texture Cooker viewtopic.php?t=7099 and drop that *.dat file onto it and set width/height + compression which is ATI1.
Tool will generate DDS header so you can open it GIMP. Photoshop don't have support for ATI1/ATI2.


Okay thanks, we managed to do that. Now how can we repack again?

I think we need to convert .dds to .dat, then put that data in .bimage again, right? How can we do that?


And we are planning to make something different.
Official Deathloop fonts is this. https://fonts.adobe.com/fonts/futura-pt
What about we download this as .ttf then convert it to .dds then add the game? Would it work?

Edit: And this files is a bit off. Is this the right thing to change? Because this .dds is not in full quality. I can't even understand some letters.

.DDS
Image

In Game.
Image

Author:  h3x3r [ Sun Oct 10, 2021 9:05 am ]
Post subject:  Re: Extracting .bimage files

I am able create whole new font from ttf with mapping which require some tweaking, but theirs fonts have some kind of glow on it. Anyway texture fonts are distance field "btw they end with _DF".
How to import? Almost the same way as export. Open *.bimage run template on it and select Mipmap colum. Now open edited *.dds and remove first 128 bytes. Rest data size must by equal to the mipmaplayersize. Now copy all data from *.dds and put it to the *.bimage file over the selected bytes.

And lastly you don't have solved *.iggy format. Game uses mostly them. I find out that russian fonts have some extra charatcers, but not at all.

Author:  CidQu [ Sun Oct 10, 2021 9:58 am ]
Post subject:  Re: Extracting .bimage files

h3x3r wrote:
I am able create whole new font from ttf with mapping which require some tweaking, but theirs fonts have some kind of glow on it. Anyway texture fonts are distance field "btw they end with _DF".
How to import? Almost the same way as export. Open *.bimage run template on it and select Mipmap colum. Now open edited *.dds and remove first 128 bytes. Rest data size must by equal to the mipmaplayersize. Now copy all data from *.dds and put it to the *.bimage file over the selected bytes.

And lastly you don't have solved *.iggy format. Game uses mostly them. I find out that russian fonts have some extra charatcers, but not at all.


We tried to solve .iggy but it seems the game does not use the same .iggy as before. Again I tried to use Dishonored 2 Tools but nothing works. Do we still need to change .iggy for implementing Turkish characters?

BTW, I tried with the way you said...

I exported .DDS from GIMP using ATI1, Then deleted the first bits. Then added to the .bimage.

Image

Author:  CidQu [ Tue Oct 12, 2021 5:10 pm ]
Post subject:  Re: Extracting .bimage files

We found something! .bimage files not working on the texts! .bimage files are only works with glowing weird text named "Handelson Two". The other files are not working with .bimage file, they are working through with .iggy

Author:  by-freon [ Wed Oct 13, 2021 8:57 pm ]
Post subject:  Re: Extracting .bimage files

I tried to adjust the iggy to Turkish characters. Can you try it?
My cpu does not support the game.

Attachments:
lib_loc_english_font.rar [453.93 KiB]
Downloaded 11 times

Author:  CidQu [ Wed Oct 13, 2021 10:03 pm ]
Post subject:  Re: Extracting .bimage files

by-freon wrote:
I tried to adjust the iggy to Turkish characters. Can you try it?
My cpu does not support the game.


It gaves this error, "arkIggyFilesManager_Loader, Access Violation"

I think you forget to remove .swf header, because I can't open the original files but I can open yours.

Image

Author:  by-freon [ Thu Oct 14, 2021 2:17 am ]
Post subject:  Re: Extracting .bimage files

Yes. I had to edit the swf header, but the new one doesn't work properly. I'll take another look at it

Author:  CidQu [ Fri Oct 15, 2021 8:18 pm ]
Post subject:  Re: Extracting .bimage files

by-freon wrote:
Yes. I had to edit the swf header, but the new one doesn't work properly. I'll take another look at it


I tried to change headers, but seems Deathloop uses a different kind of iggy.

Dishonored 2 .iggy file has 96 headerlenght,

The .iggy file you gave has 96 headerlenght,

The Anime game .iggy file i found on the web has 96 headerlenght,

But original Deathloop .iggy file has 80.

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/