RE4UHD
RE4UHD BIN
BIN TOOL
TOOL Tutorial
Tutorial
Tools
Tools created
created by
by Son
Son of
of Persia
Persia
Tutorial
Tutorial by
by Mr!urious
Mr!urious
First let me explain the differences of this new bin tool and the old bin tools. The old BIN tools used First let me explain the differences of this new bin tool and the old bin tools. The old BIN tools used separate tools for extraction and repacking but now they have been converted into one easy to use separate tools for extraction and repacking but now they have been converted into one easy to use tool. There is also the functionality of repacking for ET BIN models which have slight differences tool. There is also the functionality of repacking for ET BIN models which have slight differences than regular BIN models.
than regular BIN models.
!ne thing to note about this version of the BIN tool is that after repacking there is no ability to "E# !ne thing to note about this version of the BIN tool is that after repacking there is no ability to "E# edit the luminosity or transperancy of the BIN file as we were once able to do. The extra blocks of edit the luminosity or transperancy of the BIN file as we were once able to do. The extra blocks of data that were normally used for this data have been removed to preserve space. This being said data that were normally used for this data have been removed to preserve space. This being said there are still methods at our disposal to change BIN model luminosity$trasnperancy.
there are still methods at our disposal to change BIN model luminosity$trasnperancy.
"#at does t#is tool do$
"#at does t#is tool do$
The BIN tool is designed to unpack the BIN
The BIN tool is designed to unpack the BIN % T&' files into an () % T&' files into an () % T' file. This format allows% T' file. This format allows us to edit the models in a *) application like *dsax+ ilkshape or Blender. ,ith () files we can us to edit the models in a *) application like *dsax+ ilkshape or Blender. ,ith () files we can edit the bone mappings in *) applications+ save them+ and then use the BIN tools to repack these edit the bone mappings in *) applications+ save them+ and then use the BIN tools to repack these edited models into BIN % T&' files. -npacking % epacking is fairly easy but lets look at how BIN % edited models into BIN % T&' files. -npacking % epacking is fairly easy but lets look at how BIN % T&' files work together first/
T&' files work together first/
%ILES &SSO!I&TED "ITH THIS TOOL
%ILES &SSO!I&TED "ITH THIS TOOL
BIN
BIN 0 0 the *d the *d model with all model with all the vertice data.the vertice data. TPL
TPL 0 the texture pallete that tells the game which .pack file and textuers in that pack file to use. 0 the texture pallete that tells the game which .pack file and textuers in that pack file to use. The T&' is basically a cue sheet or list of textures that are used by the model.
The T&' is basically a cue sheet or list of textures that are used by the model. T!S
T!S 0 a printout created during repacking that tells us the texture order according to the texture file 0 a printout created during repacking that tells us the texture order according to the texture file names.
names. OB'
OB' 0 a file that we only use to create an T' file. This *d model is not actually used. 0 a file that we only use to create an T' file. This *d model is not actually used. MTL
MTL 0 the file that lists all the materials and the textures assigned to them.0 the file that lists all the materials and the textures assigned to them. SMD
SMD 0 0 *d model that contains the *d model that contains the bones used in the bones used in the game.game.
PRE(IE"IN) OB' * SMD %ILES
PRE(IE"IN) OB' * SMD %ILES
1 good
1 good tool to htool to have a 2uiave a 2uick look ck look at !B3 % at !B3 % () file() files is Noes is Noesis whic sis whic can befcan befound heround here/e/ https/$$richwhitehouse.com$index.php4content5inc6pro7ects.php
https/$$richwhitehouse.com$index.php4content5inc6pro7ects.php
UNDERST&NDIN) THE TPL %ILE
UNDERST&NDIN) THE TPL %ILE
The T&' is a very important file that is highly volatile. If we dont get things right our textures will The T&' is a very important file that is highly volatile. If we dont get things right our textures will come out looking wrong in the game+ so it is important to understand how the T&' works with the come out looking wrong in the game+ so it is important to understand how the T&' works with the tools.
tools.
The function fo the T&' is to list all the textures that are used by the BIN model and also contains The function fo the T&' is to list all the textures that are used by the BIN model and also contains the .pack file number for the used textures.
the .pack file number for the used textures.
,hen we extract a BIN file we need to have the right T&' in the folder with the tools for it to read ,hen we extract a BIN file we need to have the right T&' in the folder with the tools for it to read the correct texture data from the T&'. This makes sure that the correct texture numsbers are the correct texture data from the T&'. This makes sure that the correct texture numsbers are dispalyed in the generated T' file.
dispalyed in the generated T' file.
,hen we repack the BIN model using the () and T' files+ the tools create a new T&' file that ,hen we repack the BIN model using the () and T' files+ the tools create a new T&' file that will list all the new textures we are using. If we simply edit a model without adding new textures or will list all the new textures we are using. If we simply edit a model without adding new textures or materials there is no need to use a newly generated T&' file.
materials there is no need to use a newly generated T&' file.
-susally every BIN file has a T&' that lists which textures it uses but we dont always know which -susally every BIN file has a T&' that lists which textures it uses but we dont always know which
T&' file is used when we are extracting. The easiest way to make sure all textures come out right T&' file is used when we are extracting. The easiest way to make sure all textures come out right in our generated T' files when extracting is to
in our generated T' files when extracting is to +lace all t#e BIN * TPL files+lace all t#e BIN * TPL files in the same folderin the same folder and extract them at once. ,hile the BIN tool will extract any BIN file with any T&' 8or even without and extract them at once. ,hile the BIN tool will extract any BIN file with any T&' 8or even without a T&' at all9+ the T' file that is generated will not always reflect the correct textures unless the a T&' at all9+ the T' file that is generated will not always reflect the correct textures unless the right T&' is used.
right T&' is used.
& closer loo, at t#e TPL file
& closer loo, at t#e TPL file
,hen we want to observe the contents of a T&' file we can do so witha "E# editor. 'ets havea ,hen we want to observe the contents of a T&' file we can do so witha "E# editor. 'ets havea 2uick look at end of
2uick look at end of +l-./--0TPL+l-./--0TPL//
-. -- -- -0 -. -- -- -0 ---- -- -- -- ---. -- -- -0 -. -- -- -0 -0-0 -- -- -- ---. -- -- -0 -. -- -- -0 -1-1 -- -- -- ---. -- -- -0 -. -- -- -0 -2-2 -- -- -- ---. -- -- -0 -. -- -- -0 -4-4 -- -- -- ---. -- -- -0 -. -- -- -0 -3-3 -- -- -- ---. -- -- -0 -. -- -- -0 -- -- -- -- ---. -- -- -0 -. -- -- -0 -5-5 -- -- -- ---. -- -- -0 -. -- -- -0 -.-. -- -- -- ---. -- -- -0
-. -- -- -0 is the pack file number in 'ittle Endian order. This means all the byte order is reversed is the pack file number in 'ittle Endian order. This means all the byte order is reversed 8kind of9.. you can google what 'ittle Endian order means but simply put it looks like these
8kind of9.. you can google what 'ittle Endian order means but simply put it looks like these examples/ examples/ :; :: :; :: :: :< :: :< 5 <:::::;5 <:::::; := :: := :: :: :> :: :> 5 >:::::=5 >:::::= --6 -06-16-26-4
--6 -06-16-26-4+ etc are the texture numbers in the pack file. These numbers always come right+ etc are the texture numbers in the pack file. These numbers always come right after the pack file number and are "E# values which need to be translated into )E?I1' values. after the pack file number and are "E# values which need to be translated into )E?I1' values. For example look at this T&'/
For example look at this T&'/ 22 22 :: :: :: :: :: :: 10 -1 -- 4410 -1 -- 44 24 24 :: :: :: :: :: :: 10 -1 -- 4410 -1 -- 44 23 23 :: :: :: :: :: :: 10 -1 -- 4410 -1 -- 44 2 2 :: :: :: :: :: :: 10 -1 -- 4410 -1 -- 44 25 25 :: :: :: :: :: :: :: :: :: :: :: :: :: ::
using a simple "E# to )E? converter at
using a simple "E# to )E? converter at https/$$www.mathsisfun.com$binary0decimal0hexadecimal0https/$$www.mathsisfun.com$binary0decimal0hexadecimal0
converter.html
converter.html shows us that/ shows us that/ ** 5 =< ** 5 =< *@ 5 => *@ 5 => *= 5 =* *= 5 =* *A 5 =@ and so on... *A 5 =@ and so on...
The decimal values are actually the texture numbers inside the pack file 8in the example above The decimal values are actually the texture numbers inside the pack file 8in the example above our .pack file is
our .pack file is 44---110 +ac,44---110 +ac, 1ll pack 1ll pack file numbfile numbers of thers of the textue textures inside res inside the pacthe pack file are k file are fromfrom ::::+:::<+:::>+ :::*+:::@+ and on and on.. so...
::::+:::<+:::>+ :::*+:::@+ and on and on.. so... =< is ::=<.dds 8or .tga9 =< is ::=<.dds 8or .tga9 => is ::=>.dds 8or .tga9 => is ::=>.dds 8or .tga9 and so on... and so on...
(o in our first example we see that our model is using textures
(o in our first example we see that our model is using textures ----dds----dds throughthrough ---.dds ---.dds// -. -- -- -0 -. -- -- -0 ---- -- -- -- ---. -- -- -0 -. -- -- -0 -0-0 -- -- -- ---. -- -- -0 -. -- -- -0 -1-1 -- -- -- ---. -- -- -0 -. -- -- -0 -2-2 -- -- -- ---. -- -- -0 -. -- -- -0 -4-4 -- -- -- ---. -- -- -0 -. -- -- -0 -3-3 -- -- -- ---. -- -- -0 -. -- -- -0 -- -- -- -- ---. -- -- -0 -. -- -- -0 -5-5 -- -- -- ---. -- -- -0 -. -- -- -0 -.-. -- -- -- --Now we can look at textures
Now we can look at textures ----dds----dds throughthrough ---.dds---.dds and compare them to the model. )o theyand compare them to the model. )o they look like the ones this model is supposed to use4 1s stated above+ if we use the wrong T&' the look like the ones this model is supposed to use4 1s stated above+ if we use the wrong T&' the model8s9 will still get converted but the T' file 8and tcs9 will have wrong texture entries.. 8this is ok model8s9 will still get converted but the T' file 8and tcs9 will have wrong texture entries.. 8this is ok if you are making a new model as you will be creating a new T'9.
if you are making a new model as you will be creating a new T'9.
%ILE E7TR&!TION
%ILE E7TR&!TION
0 8
0 8 place all BIN % T&' files of the model you wish to convert to ()$!B3 in same folder asplace all BIN % T&' files of the model you wish to convert to ()$!B3 in same folder as RE4UHD/BIN/Tool/1-0.
RE4UHD/BIN/Tool/1-0.exe % .bat filesexe % .bat files 1 8
1 8 runrun BIN/E9tractbatBIN/E9tractbat to extract the files.to extract the files. 2 8
2 8 Three new files are created upon extraction/ Three new files are created upon extraction/ < 0
< 0 () file () file 8model with 8model with skeleton9skeleton9 > 0 T'
> 0 T' file 8list of materials % textures that file 8list of materials % textures that the T&' wthe T&' will use9ill use9 * 0 !B3 file 8we dont use
* 0 !B3 file 8we dont use this really+ but it is created during the process of creating an T' file9this really+ but it is created during the process of creating an T' file9 NOTE:
NOTE: this tool will actually extract models wihtout a T&' 8but the textures in the T' will be this tool will actually extract models wihtout a T&' 8but the textures in the T' will be wrong9
wrong9
EDITIN) MODELS
EDITIN) MODELS
Now that we have an () file we can edit it in the preffered *) application. If we want to add new Now that we have an () file we can edit it in the preffered *) application. If we want to add new textures to the model that dont already exist in the
textures to the model that dont already exist in the +ac,+ac, file for the model we are workign with wefile for the model we are workign with we will need to number the new textutre files in se2untial order+ starting at the number of the last
will need to number the new textutre files in se2untial order+ starting at the number of the last texture number used.
texture number used. E9a;+le<E9a;+le< our
our -0---.-0---. pack file has *: textures starting atpack file has *: textures starting at ----dds ----dds through tothrough to --1=dds--1=dds. If we want to add. If we want to add new textures$materials to our model we must name them
new textures$materials to our model we must name them --2-dds--2-dds++ --206dds--206dds and so on. Now weand so on. Now we make sure to repack our
make sure to repack our +ac,+ac, file using thefile using the >?1 toolset >?1 toolset.. ,e must make sure now that the,e must make sure now that the
textures in the *d application use these newly renumerated textures
textures in the *d application use these newly renumerated textures before we export the ()before we export the () model to be converted to BIN. (o once we have finsihed editing the model and added the new model to be converted to BIN. (o once we have finsihed editing the model and added the new textures to the
textures to the +ac,+ac, file we are ready to export our model.file we are ready to export our model.
E7PORTIN) MODELS
E7PORTIN) MODELS
!nce our textures are prepared % assigned to our meshes we are ready export our model. "ere !nce our textures are prepared % assigned to our meshes we are ready export our model. "ere are the steps for exporting the model/
are the steps for exporting the model/ 0 8
0 8 Export our model as () from our *d app pro7ect to our working directory. Export our model as () from our *d app pro7ect to our working directory. 1 8
1 8 Export the same model as !B3 to the same direcotry in order to create anExport the same model as !B3 to the same direcotry in order to create an MTLMTL file. This T'file. This T' file is used to tell the T&' file which textures we are using for the ()9.
file is used to tell the T&' file which textures we are using for the ()9. 2 8
2 8 1fter ex 1fter exporting porting the modethe model in !B3 fl in !B3 format a normat a new T' few T' file is creile is created wated with it+ whith it+ which contaiich contains a list ns a list of of our materials % textures assocaited with them. "ere is an example of what a T' file will look like our materials % textures assocaited with them. "ere is an example of what a T' file will look like after exporting from ilkshape *)/
+l-./---;tl+l-./---;tl newmtl new0shirt newmtl new0shirt illum > illum > Cd :.;::::: :.;::::: :.;::::: Cd :.;::::: :.;::::: :.;::::: Ca :.>::::: :.>::::: :.>::::: Ca :.>::::: :.>::::: :.>::::: Cs :.:::::: :.:::::: :.:::::: Cs :.:::::: :.:::::: :.:::::: Ce :.:::::: :.:::::: :.:::::: Ce :.:::::: :.:::::: :.:::::: Ns :.:::::: Ns :.:::::: map6Cd ::<:.dds map6Cd ::<:.dds map6) ::<<.tga map6) ::<<.tga
Note t#at t#e entires @it# A are not read by t#e tool and can be used for +erosnal notes Note t#at t#e entires @it# A are not read by t#e tool and can be used for +erosnal notes Now lets take a moment to understand how the T' file is responible for telling the game engine Now lets take a moment to understand how the T' file is responible for telling the game engine which texture types are assigned to meshes/
which texture types are assigned to meshes/ <0 1ll diffuse textures must have
<0 1ll diffuse textures must have ;a+/d;a+/d prefix.prefix. >0 1ll specular textures must have
>0 1ll specular textures must have ;a+/s;a+/s prefix.prefix. *0 1ll bump maps must have
*0 1ll bump maps must have ;a+/Bu;+;a+/Bu;+ prefix.prefix. @0 1ll opacity maps must have
@0 1ll opacity maps must have ;a+/D;a+/D prefix. prefix. note :
note : (ince () format can not support bump$specular$opacity8transparency9 maps+ (on of(ince () format can not support bump$specular$opacity8transparency9 maps+ (on of
&ersia used an extra T' file for that type of textures. Thus if you like to have any kind of
&ersia used an extra T' file for that type of textures. Thus if you like to have any kind of
specular$bump and$or opacity8transparency9 maps+ first assign
specular$bump and$or opacity8transparency9 maps+ first assign &LL &LL of them to your model andof them to your model and
then export the model to !B3$T' format in order to get the re2uired material T' file. !therwise
then export the model to !B3$T' format in order to get the re2uired material T' file. !therwise
we can manually assign these in the T' file. like so/
we can manually assign these in the T' file. like so/
newmtl material6< newmtl material6< Ca <.:::::: <.:::::: <.:::::: Ca <.:::::: <.:::::: <.:::::: Cd :.;::::: :.;::::: :.;::::: Cd :.;::::: :.;::::: :.;::::: Cs :.:::::: :.:::::: :.:::::: Cs :.:::::: :.:::::: :.:::::: Ce :.:::::: :.:::::: :.:::::: Ce :.:::::: :.:::::: :.:::::: Ns :.:::::: Ns :.:::::: map6Cd :::<.dds map6Cd :::<.dds ;a+/s ---1tCa ;a+/s ---1tCa ;a+/Bu;+ ---1tCa ;a+/Bu;+ ---1tCa
The lines above in
The lines above in red red have been added manually by simply thyping these values in the T' have been added manually by simply thyping these values in the T' before repacking.
before repacking. 4 8
4 8 Before repacking we should make sure all the entries in the T' file must have the aterialsBefore repacking we should make sure all the entries in the T' file must have the aterials organiDed in ascending se2uential order. 8ore on this below in the
organiDed in ascending se2uential order. 8ore on this below in the "or,inC @it# t#e T!S file "or,inC @it# t#e T!S file The materials in the T' file should be organiDed so that the texuture numsbers are in ascending The materials in the T' file should be organiDed so that the texuture numsbers are in ascending se2uential order like in the example below/
se2uential order like in the example below/ newmtl 7acket newmtl 7acket illum > illum > Cd :.;::::: :.;::::: :.;::::: Cd :.;::::: :.;::::: :.;::::: Ca :.>::::: :.>::::: :.>::::: Ca :.>::::: :.>::::: :.>::::: Cs :.:::::: :.:::::: :.:::::: Cs :.:::::: :.:::::: :.:::::: Ce :.:::::: :.:::::: :.:::::: Ce :.:::::: :.:::::: :.:::::: Ns :.:::::: Ns :.::::::
map6Cd map6Cd --14dds--14dds newmtl pants newmtl pants illum > illum > Cd :.;::::: :.;::::: :.;::::: Cd :.;::::: :.;::::: :.;::::: Ca :.>::::: :.>::::: :.>::::: Ca :.>::::: :.>::::: :.>::::: Cs :.:::::: :.:::::: :.:::::: Cs :.:::::: :.:::::: :.:::::: Ce :.:::::: :.:::::: :.:::::: Ce :.:::::: :.:::::: :.:::::: Ns :.:::::: Ns :.:::::: map6Cd map6Cd --13dds--13dds map6) map6) --1dds--1dds newmtl arms newmtl arms illum > illum > Cd :.;::::: :.;::::: :.;::::: Cd :.;::::: :.;::::: :.;::::: Ca :.>::::: :.>::::: :.>::::: Ca :.>::::: :.>::::: :.>::::: Cs :.:::::: :.:::::: :.:::::: Cs :.:::::: :.:::::: :.:::::: Ce :.:::::: :.:::::: :.:::::: Ce :.:::::: :.:::::: :.:::::: Ns :.:::::: Ns :.:::::: map6Cd map6Cd --15dds--15dds newmtl legs newmtl legs illum > illum > Cd :.;::::: :.;::::: :.;::::: Cd :.;::::: :.;::::: :.;::::: Ca :.>::::: :.>::::: :.>::::: Ca :.>::::: :.>::::: :.>::::: Cs :.:::::: :.:::::: :.:::::: Cs :.:::::: :.:::::: :.:::::: Ce :.:::::: :.:::::: :.:::::: Ce :.:::::: :.:::::: :.:::::: Ns :.:::::: Ns :.:::::: map6Cd map6Cd --1.dds--1.dds
In my experience+ making sure all our material entires are in ascending se2uential order by texture
In my experience+ making sure all our material entires are in ascending se2uential order by texture
number in the T' file is the best way to make sure that our T?( file outputs correctly and that the
number in the T' file is the best way to make sure that our T?( file outputs correctly and that the
T&' order is perfect.
T&' order is perfect.
Now that we have and () and T' file we are ready to repack using the Now that we have and () and T' file we are ready to repack using the RE4UHD/BIN/Tool/1-0.e9e
RE4UHD/BIN/Tool/1-0.e9e
%ILE REP&!IN)
%ILE REP&!IN)
1fter w
1fter we have ee have edited the dited the () file () file in our dein our desired *d sired *d program program 8like *ds 8like *ds ax+ ilksax+ ilkshape or hape or BlenderBlender9+9+ we
we must export the SMD file with the vertex weightsmust export the SMD file with the vertex weights as the BIN tools will crash if there are noas the BIN tools will crash if there are no bones assigned to the exported meshes.
bones assigned to the exported meshes.
(o first+ before we repack the model we need to edit the contents of the
(o first+ before we repack the model we need to edit the contents of the BIN/Re+ac,batBIN/Re+ac,bat file.file. First+ right click the
First+ right click the BIN/Re+ac,batBIN/Re+ac,bat file and click file and click edit edit 8be sure to open with notepad or any other8be sure to open with notepad or any other txt editor9. ,e shold see something like this/
txt editor9. ,e shold see something like this/ RE4UHD/BIN/Tool/1-0.e9e 8+
RE4UHD/BIN/Tool/1-0.e9e 8+ +l-./---s;d +l-./---s;d +l-./---;tl+l-./---;tl 0---.0---.
This tells the BIN tool to
This tells the BIN tool to 8+8+ 8repack9 the8repack9 the pl:;6:::.smdpl:;6:::.smd model using the model using the pl:;6:::.mtlpl:;6:::.mtl material file material file and that all our textures will be placed in the
and that all our textures will be placed in the <::::::;<::::::; +ac,+ac, file. 81 previous version of this toolfile. 81 previous version of this tool re2uired that we enter the first custom texture number after the pack file number but this is no re2uired that we enter the first custom texture number after the pack file number but this is no longer necessary9.
longer necessary9. !nce the
!nce the BIN/Re+ac,batBIN/Re+ac,bat file has the correct information+ we then save the file and close. Next file has the correct information+ we then save the file and close. Next we double click on the
new
new BIN6 TPLBIN6 TPL andand T!ST!S files.files. (&E?I1' N!TE
(&E?I1' N!TE the T&' file will be named according to the name of the () and needs to be the T&' file will be named according to the name of the () and needs to be manually renamed. For example+ in the above scenario the files that are generated upon
manually renamed. For example+ in the above scenario the files that are generated upon reapacking are are/
reapacking are are/ +l-./---BIN +l-./---BIN +l-./---TPL +l-./---TPL +l-./---tcs +l-./---tcs the file
the file +l-./---TPL+l-./---TPL needs to be renamed to needs to be renamed to +l-./--0TPL+l-./--0TPL 8or whatever the original T&' was8or whatever the original T&' was named9+
named9+ This is why it is important to know what the original T&' file isThis is why it is important to know what the original T&' file is . Now before we simply. Now before we simply place these new BIN % T&' files into the -)1( 8or other archive9 for repacking we need to observe place these new BIN % T&' files into the -)1( 8or other archive9 for repacking we need to observe the
the T!SFTPLT!SFTPL files to make sure all the texture I)s were generated into the T&' file in correct order.files to make sure all the texture I)s were generated into the T&' file in correct order. To do so we can simply open the T&' file and look at the texuture entries at the end of the file or To do so we can simply open the T&' file and look at the texuture entries at the end of the file or we can observe the contents of the T?( file
we can observe the contents of the T?( file
"ORIN) "ITH THE T!S %ILE
"ORIN) "ITH THE T!S %ILE
To make sure that all our textures were placed in ascending se2uential order in the T&' file we To make sure that all our textures were placed in ascending se2uential order in the T&' file we need to look at the T?( file that was generated. The T?( file is simply an inventory list of all the need to look at the T?( file that was generated. The T?( file is simply an inventory list of all the entries created in our newly generated T&' file. 1fter repacking we should always look at the T?( entries created in our newly generated T&' file. 1fter repacking we should always look at the T?( file to make sure all textures are named % numbered properly. The file output should look
file to make sure all textures are named % numbered properly. The file output should look something like this example/
something like this example/ file 14 G --14dds file 14 G --14dds file 13 G --13dds file 13 G --13dds file 1 G --1dds file 1 G --1dds file 15 G --15dds file 15 G --15dds file 1. G --1.dds file 1. G --1.dds
in the example above all the textures are mapped correctly. If your file looks out of order it might in the example above all the textures are mapped correctly. If your file looks out of order it might look something like this/
look something like this/ file 14 G --1dds file 14 G --1dds file 13 G --13dds file 13 G --13dds file 1 G --15dds file 1 G --15dds file 15 G --14dds file 15 G --14dds file 15 G --1.dds file 15 G --1.dds
If we dont correct the issue above then the game will load the wrong textures when the game is If we dont correct the issue above then the game will load the wrong textures when the game is loaded.
loaded.
!ORRE!TIN) MISM&PPED TE7URES
!ORRE!TIN) MISM&PPED TE7URES
To fix the problem of mismapped textures we have > options/ To fix the problem of mismapped textures we have > options/ O+tion 0
O+tion 0 0Eedit the T' file entries so that all the materials are placed in ascending numerical0Eedit the T' file entries so that all the materials are placed in ascending numerical order by their texuture name as described above in step @ of
order by their texuture name as described above in step @ of E9+ortinC ModelsE9+ortinC Models 8remmeber we 8remmeber we would need to repack the file again after any changes to the T' are made9
would need to repack the file again after any changes to the T' are made9 O+tion 1
O+tion 1 0 we can simply rename our texture files to what they are assigned in the T?( file 8we0 we can simply rename our texture files to what they are assigned in the T?( file 8we would rename file
would rename file --14dds--14dds toto --13dds--13dds+ and rename file+ and rename file --13dds --13dds toto --14dds--14dds etc9. This methodetc9. This method does not re2uire that we repack the model+ but could lead to other problems with other models that does not re2uire that we repack the model+ but could lead to other problems with other models that use these renamed texture files. I strongly suggest using !ption < to avoid this.
If have chosen !ption< after repacking once again we look at the T?( file. If everthing looks to be If have chosen !ption< after repacking once again we look at the T?( file. If everthing looks to be in the correct order+ we simply place these newly generated BIN % T&' files to their relative
in the correct order+ we simply place these newly generated BIN % T&' files to their relative
desinations 8usually an -)1( archive or whatever archive they were extracted from9. epack that desinations 8usually an -)1( archive or whatever archive they were extracted from9. epack that archive and test in game
archive and test in game
S+ecial note about s#ared TPL files
S+ecial note about s#ared TPL files
1s menti
1s mentioned at toned at the start he start of this tuof this tutorial sotorial sometimes T&metimes T&' files a' files are sharere shared with nud with numerous Bmerous BIN files.IN files. 1 very c
1 very common exommon example is hample is hand modeand models that uls that usually shsually share T&are T&' file wit' file with body moh body model. The del. The issueissue here is that if we are to create a new T&' file for an edited model that shares a T&' how do make here is that if we are to create a new T&' file for an edited model that shares a T&' how do make sure that this new T&' contains all the other entries for the other models 8for example hand
sure that this new T&' contains all the other entries for the other models 8for example hand models9 without having to edit every single hand model4
models9 without having to edit every single hand model4 The answer is simple.
The answer is simple. We have to add all the MTL entires for the models that share the TPL toWe have to add all the MTL entires for the models that share the TPL to the MTL file for our edited model
the MTL file for our edited model . To do this we can simply copy$paste the T' entries from. To do this we can simply copy$paste the T' entries from these other models into the T' file of our model we are working on+ remembering though to keep these other models into the T' file of our model we are working on+ remembering though to keep all the T' entires in ascending numerical order.
all the T' entires in ascending numerical order.
(o... what is the process of how we do this4 To make sure all models point to the same T&' and (o... what is the process of how we do this4 To make sure all models point to the same T&' and that they have the correct textures we have to/
that they have the correct textures we have to/ 08
08 Extract all models that share a T&' file using the BIN tools 8so extract all hand models9 using the Extract all models that share a T&' file using the BIN tools 8so extract all hand models9 using the same shared T&'.
same shared T&'. 18
18 ?reate$edit our new$custom model and export it to ()$T' formats 8as explained above9 ?reate$edit our new$custom model and export it to ()$T' formats 8as explained above9 28
28 !pen original extracted T' file8s9 of 8other9 model8s9 that share the T&' file with our custom !pen original extracted T' file8s9 of 8other9 model8s9 that share the T&' file with our custom model in a text editor and copy$paste all of their content 8if all of the original extracted T' files are model in a text editor and copy$paste all of their content 8if all of the original extracted T' files are the same+ copy the content of one of them+ otherwise you must copy the content of all of them9 to the same+ copy the content of one of them+ otherwise you must copy the content of all of them9 to the end of T' file of our custom model 8the T' file you exported after editing$creating your the end of T' file of our custom model 8the T' file you exported after editing$creating your custom model9.
custom model9.
@0 Generate your custom modelHs BIN % T&' files using BIN Tools 8as explained above9 @0 Generate your custom modelHs BIN % T&' files using BIN Tools 8as explained above9
If all the T' entires from the other models that share the T&' were added to the main T' file If all the T' entires from the other models that share the T&' were added to the main T' file then the newly generated T&' should contain all the entries it re2uires to load the right textures for then the newly generated T&' should contain all the entries it re2uires to load the right textures for all models using the shared T&'.
all models using the shared T&'.
T#ere is an arc#ied turorial fro; Son of Persia on t#is to+ic of s#ared TPL files t#at I T#ere is an arc#ied turorial fro; Son of Persia on t#is to+ic of s#ared TPL files t#at I re+osted to t#e Resident Eil ModdinC %oru;s t#at you can see #ere<
re+osted to t#e Resident Eil ModdinC %oru;s t#at you can see #ere<
#tt+<FFresidenteil;oddinCboardsnetFt#readF55-5FeditinC8;odels8s#ared8+ersias8tutorial
#tt+<FFresidenteil;oddinCboardsnetFt#readF55-5FeditinC8;odels8s#ared8+ersias8tutorial
&lease note that his tutorial was writen for the older version of the BIN tools+ so things might be a &lease note that his tutorial was writen for the older version of the BIN tools+ so things might be a little different when repacking 8see step @ that the
little different when repacking 8see step @ that the BIN/)eneratebatBIN/)eneratebat file entries are slightlyfile entries are slightly different9+ but the main concepts are almost identical. I simply chose to write a different tutorial different9+ but the main concepts are almost identical. I simply chose to write a different tutorial based on my methods and experiences.
based on my methods and experiences.
BIN ;odel
BIN ;odel lu;inosityFtrasn+era
lu;inosityFtrasn+erancy
ncy
1s state
1s stated at the d at the very begvery beggining of gining of this tutothis tutorial+ the nrial+ the new BIN ew BIN tools wtools were desigere designed to oned to optimiDe spptimiDe spaceace by removing huge clusters of data blocks that were originally deisgned to allow developpers the by removing huge clusters of data blocks that were originally deisgned to allow developpers the ability to change BIN model transperancy$luminosity. (ince this feature is mostly redundant 8we ability to change BIN model transperancy$luminosity. (ince this feature is mostly redundant 8we can change GB1 with (# entires and change transperancy by editing the texture opacity9 it can change GB1 with (# entires and change transperancy by editing the texture opacity9 it really is no longer needed by the average user.
really is no longer needed by the average user.
If we wish to change the transperancy of a particular model in the game we must/ If we wish to change the transperancy of a particular model in the game we must/
;a+/d
;a+/d andand ;a+/D;a+/D the same texture in the T' file+ then simply ad7ust the transperancy of thethe same texture in the T' file+ then simply ad7ust the transperancy of the map6) texture in &hotoshop 8remove alpha chanel as well9.
map6) texture in &hotoshop 8remove alpha chanel as well9.
If anyone is adimant about editing luminosity via BIN hex edit I can provide you with an older If anyone is adimant about editing luminosity via BIN hex edit I can provide you with an older version of the tools if needed. &lease message me at the links below.
version of the tools if needed. &lease message me at the links below. T#an, you and
T#an, you and