• No results found

RE4UHD Universal Concepts Guide

N/A
N/A
Protected

Academic year: 2021

Share "RE4UHD Universal Concepts Guide"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

Universal Concepts Guide Universal Concepts Guide Tutorial by Mr.Curious 8-2018 Tutorial by Mr.Curious 8-2018

Tools by Son of Persia Tools by Son of Persia

To avoid redundancy in each individual tool tutorial I will explain some of the universal concepts that apply To avoid redundancy in each individual tool tutorial I will explain some of the universal concepts that apply to each of the tool sets included in this release. Most of the tools run on the simple concept of translating to each of the tool sets included in this release. Most of the tools run on the simple concept of translating the byte arrays from the RE4 files into a

the byte arrays from the RE4 files into a .tt.tt file for us to edit with a text editor. There is also the option of file for us to edit with a text editor. There is also the option of using an .

using an .ob!ob! file to translate some of the coordinates instead of using the .txt file for this purpose. file to translate some of the coordinates instead of using the .txt file for this purpose. One of the most common functions of the tools included in this release are the way that the files are One of the most common functions of the tools included in this release are the way that the files are extracted. ith most of these tools when we use the

extracted. ith most of these tools when we use the etract.batetract.bat file there are two files that are generated file there are two files that are generated inside a wor!ing directory which is named after the name of our RE4 file. Most tools extract the RE4 file inside a wor!ing directory which is named after the name of our RE4 file. Most tools extract the RE4 file into " wor!ing files#

into " wor!ing files# 1 - .tt file

1 - .tt file 2 - .ob! file 2 - .ob! file

The reason for these two separated files was to ma!e editing the locations of trigger $ones easier by The reason for these two separated files was to ma!e editing the locations of trigger $ones easier by using .

using .ob!ob! files. hile we can still use the files. hile we can still use the .tt.tt file by itself to edit RE4 files% it is often much easier to use a file by itself to edit RE4 files% it is often much easier to use a &' model for some parts of the editing process. In the instructions that follow I will explain common

&' model for some parts of the editing process. In the instructions that follow I will explain common scenarios when wor!ing with the " files together.

scenarios when wor!ing with the " files together. "#y use a .tt file$

"#y use a .tt file$

(efore we get into details about how this file wor!s let us first understand the way these tools were (efore we get into details about how this file wor!s let us first understand the way these tools were developed. (efore there were any !ind of tools for RE4)*' modders had to *E+ edit the raw files to developed. (efore there were any !ind of tools for RE4)*' modders had to *E+ edit the raw files to change their functions in game. ,s many of us modders did this we too! many notes about which bytes change their functions in game. ,s many of us modders did this we too! many notes about which bytes changed certain functions. ,s our research progressed we reali$ed that we could pass this information changed certain functions. ,s our research progressed we reali$ed that we could pass this information onto talented developers li!e -on of ersia who would then be able to ta!e the raw data and develop onto talented developers li!e -on of ersia who would then be able to ta!e the raw data and develop tools that would essentially *E+ edit the files for us while giving us a basic interface to do so with added tools that would essentially *E+ edit the files for us while giving us a basic interface to do so with added functionality and ease of use. The .txt file is /ust this0 it is a *E+ editing tool interface.

functionality and ease of use. The .txt file is /ust this0 it is a *E+ editing tool interface. Understandin% t#e etracted .tt files

Understandin% t#e etracted .tt files If we observe the extracted .

If we observe the extracted .tttt file from any of the files there are usually a few universal concepts thatfile from any of the files there are usually a few universal concepts that apply to each of these% the first of which is the

apply to each of these% the first of which is the &ntryCount.&ntryCount. This is named different things% depending This is named different things% depending which RE4 file type we are dealing with. Other variations of this include

which RE4 file type we are dealing with. Other variations of this include &ffectCount' (te)*ataCount'&ffectCount' (te)*ataCount' +i%#tCount

+i%#tCount etc. 'espite the difference in name% the function of this parameter is the same0 to count foretc. 'espite the difference in name% the function of this parameter is the same0 to count for each

each ‘Entry’ ‘Entry’  that is in the text file. One that is in the text file. One ‘Entry’ ‘Entry’  in the .txt file essentially consists of an entire array of in the .txt file essentially consists of an entire array of bytes that is responsible for a set of values that affect one thing 1an effect% an item% a light etc..2

bytes that is responsible for a set of values that affect one thing 1an effect% an item% a light etc..2 The

The &ntryCount&ntryCount offset is usually at the top of the .txt file 1or very close to the top2.offset is usually at the top of the .txt file 1or very close to the top2. Special feature in t#e .tt files

Special feature in t#e .tt files Most tools will allow a

Most tools will allow a ,, to be used to allow commenting. ,nything that follows a to be used to allow commenting. ,nything that follows a ,, character will not be character will not be read by the tools. This is useful for when we need to ma!e notes about a specific entry.

read by the tools. This is useful for when we need to ma!e notes about a specific entry. Understandin% t#e etracted / files

Understandin% t#e etracted / files

ith most of the new -on of ersia3s tools we are able to extract

ith most of the new -on of ersia3s tools we are able to extract .ob!.ob! files. These &' model files are files. These &' model files are usually comprised of several layers each of which contains either of " types of models#

usually comprised of several layers each of which contains either of " types of models# 1

-1 - &i%#t sided poly#edrons&i%#t sided poly#edrons

These .ob/ files are polyhedrons that act as a trigger$one for the event1s2 we are editing. These are These .ob/ files are polyhedrons that act as a trigger$one for the event1s2 we are editing. These are usually s5uare or rectangular shaped areas that trigger some !ind of event once the player enters their usually s5uare or rectangular shaped areas that trigger some !ind of event once the player enters their area.

area.

Many files that are used to trigger events in the game have what we call Trigger6ones which basically Many files that are used to trigger events in the game have what we call Trigger6ones which basically put are areas of space that are defined by numerous combinations of +7 and 6 values. These

put are areas of space that are defined by numerous combinations of +7 and 6 values. These trigger$ones are almost always 4 point polyhedrons consisting of#

trigger$ones are almost always 4 point polyhedrons consisting of# 4 sets of +7 coordinates 1four corners2

4 sets of +7 coordinates 1four corners2

" sets of 6 coordinates 1upper and lower boundaries2 " sets of 6 coordinates 1upper and lower boundaries2

(2)

put together we can ma!e a &d shape which constitutes a &d polyhedron. put together we can ma!e a &d shape which constitutes a &d polyhedron.

*ere is an excerpt from an ,E8 tool tutorial I wrote for RE4)*' which briefly describes trigger$ones. The *ere is an excerpt from an ,E8 tool tutorial I wrote for RE4)*' which briefly describes trigger$ones. The values you see below are in 'E9 format which is used by the tools developed by -on of ersia for the values you see below are in 'E9 format which is used by the tools developed by -on of ersia for the RE4)*' version% but is only a translation of the raw data.

RE4)*' version% but is only a translation of the raw data.

In the photo above we see in r:;: the tirgger$one in yellow that triggers the ,E8 Message event with the In the photo above we see in r:;: the tirgger$one in yellow that triggers the ,E8 Message event with the burning policeman. hen the player wal!s into this area the Message file is loaded. e can edit this area burning policeman. hen the player wal!s into this area the Message file is loaded. e can edit this area with the .ob/ file that is generated with some of the tools.

with the .ob/ file that is generated with some of the tools. 2

-2 - Sin%le polysSin%le polys

In the photo above we see several polys used by an E<< .ob/ model to handle the placement of some In the photo above we see several polys used by an E<< .ob/ model to handle the placement of some effects.

effects.

These triangle shape polys simply serve as +76 coordinates for a particular model with the right sided These triangle shape polys simply serve as +76 coordinates for a particular model with the right sided vertice acting as the functioning coordinate. e use these polys to determine the location of anything that vertice acting as the functioning coordinate. e use these polys to determine the location of anything that only re5uires +76 coordinates% such as effects = lights. These type of polys are also used for setting IT, only re5uires +76 coordinates% such as effects = lights. These type of polys are also used for setting IT, = ET- coordinates.

= ET- coordinates.

o t#e .tt file and .ob! files or to%et#er  o t#e .tt file and .ob! files or to%et#er  >ow that we !now what the

>ow that we !now what the .tt.tt file and . file and .ob!ob! file do individually% let us ta!e a loo! at how they wor! file do individually% let us ta!e a loo! at how they wor! together. ,s noted above it is possible to edit an RE4 file with an extracted .

together. ,s noted above it is possible to edit an RE4 file with an extracted . tttt file alone% but not withfile alone% but not with the .

the .ob!ob! file alone as there is always other data that is re5uired besides coordinates. file alone as there is always other data that is re5uired besides coordinates. It is

It is 3&45 (MP4T67T3&45 (MP4T67T to !now that the amount of Entries in the .txt fileto !now that the amount of Entries in the .txt file must match the amount ofmust match the amount of layers in the .obj file

layers in the .obj file as each layer of the .ob/ file corresponds to the entry in the .txt file. This is why as each layer of the .ob/ file corresponds to the entry in the .txt file. This is why the .ob/ layer names are always numbered 1ta!e note that the entries are not numbered2. >ote that we the .ob/ layer names are always numbered 1ta!e note that the entries are not numbered2. >ote that we can edit the names of the .ob/ layers in &dsMax at the

can edit the names of the .ob/ layers in &dsMax at the end of their namesend of their names% but must not change the% but must not change the headers of the layers name which include the numbers. This !eeps the tools from being confused about headers of the layers name which include the numbers. This !eeps the tools from being confused about which

which layer layer  is assigned to which is assigned to which entryentry. lease note that if the amount of layers in the .ob/ file is. lease note that if the amount of layers in the .ob/ file is inconsistent with the amount of Entries in the .txt file then the tool is li!ely to hang or crash.

inconsistent with the amount of Entries in the .txt file then the tool is li!ely to hang or crash. 6ddin%  *eletin% .ob! +ayers  .tt 9ile &ntries

6ddin%  *eletin% .ob! +ayers  .tt 9ile &ntries

If we have added or deleted any .ob/ layers in &dsMax then we need to also edit the corresponding If we have added or deleted any .ob/ layers in &dsMax then we need to also edit the corresponding entries in the .txt file. <or example if there are :? layers in &dsMax this means that there should also be entries in the .txt file. <or example if there are :? layers in &dsMax this means that there should also be :? entries in the corresponding .txt file.

:? entries in the corresponding .txt file. &a)ple

&a)ple# 1for this example we are using the ET- tool2# 1for this example we are using the ET- tool2

If we delete layer @ " in &dsMax then we would also need to delete entry number " in the .txt fileA ,lso If we delete layer @ " in &dsMax then we would also need to delete entry number " in the .txt fileA ,lso we would have to rename any layers in &dsMax before exporting as there would be a error in the name we would have to rename any layers in &dsMax before exporting as there would be a error in the name structure order.

structure order.

In this example we have deleted layer @" in &dsMax therefore the list would be li!e so# In this example we have deleted layer @" in &dsMax therefore the list would be li!e so# &ntryCount : ; &ntryCount : ; , &ntry 0 , &ntry 0 Model<&TM<7u)ber : 00 Model<&TM<7u)ber : 00 Model<&TS<(*: 00 Model<&TS<(*: 00 ModelScale<= : 1.000000 ModelScale<= : 1.000000 ModelScale<5 : 1.000000 ModelScale<5 : 1.000000 ModelScale<> : 1.000000 ModelScale<> : 1.000000 Model4otation<= : 0.000000 Model4otation<= : 0.000000 Model4otation<5 : -0.000000 Model4otation<5 : -0.000000 Model4otation<> : 0.000000 Model4otation<> : 0.000000 ModelTranslation<= : ?8;.2@;008 ModelTranslation<= : ?8;.2@;008 ModelTranslation<5 : @;0A.AB?2;2 ModelTranslation<5 : @;0A.AB?2;2

(3)

ModelTranslation<> : ;200.000000 ModelTranslation<> : ;200.000000 , &ntry 1 , &ntry 1 Model<&TM<7u)ber : 0? Model<&TM<7u)ber : 0? Model<&TS<(*: 01 Model<&TS<(*: 01 ModelScale<= : 1.000000 ModelScale<= : 1.000000 ModelScale<5 : 1.000000 ModelScale<5 : 1.000000 ModelScale<> : 1.000000 ModelScale<> : 1.000000 Model4otation<= : 0.000000 Model4otation<= : 0.000000 Model4otation<5 : -0.000000 Model4otation<5 : -0.000000 Model4otation<> : 102.@AA10B Model4otation<> : 102.@AA10B ModelTranslation<= : -108;.0;00? ModelTranslation<= : -108;.0;00? ModelTranslation<5 : @BB1.@0AAB ModelTranslation<5 : @BB1.@0AAB ModelTranslation<> : 0.000000 ModelTranslation<> : 0.000000

, &ntry 2 Dif t#is ob!ect layer , 2 in ?*sMa is deleted t#en e s#ould delete t#is entry alsoE , &ntry 2 Dif t#is ob!ect layer , 2 in ?*sMa is deleted t#en e s#ould delete t#is entry alsoE Model<&TM<7u)ber : 0? Model<&TM<7u)ber : 0? Model<&TS<(*: 02 Model<&TS<(*: 02 ModelScale<= : 1.000000 ModelScale<= : 1.000000 ModelScale<5 : 1.000000 ModelScale<5 : 1.000000 ModelScale<> : 1.000000 ModelScale<> : 1.000000 Model4otation<= : 0.000000 Model4otation<= : 0.000000 Model4otation<5 : -0.000000 Model4otation<5 : -0.000000 Model4otation<> : 1B.;@1 Model4otation<> : 1B.;@1 ModelTranslation<= : @A?.@?818; ModelTranslation<= : @A?.@?818; ModelTranslation<5 : @;22.;;18A ModelTranslation<5 : @;22.;;18A ModelTranslation<> : 0.000000 ModelTranslation<> : 0.000000

, &ntry ? Dt#is entry s#ould be rena)ed F&ntry 2 alt#ou%# it ill not )atter if e do not. "e , &ntry ? Dt#is entry s#ould be rena)ed F&ntry 2 alt#ou%# it ill not )atter if e do not. "e s#ould rena)e t#is entry so t#at e re)e)ber t#at it corresponds it# our ne layer ,2 in s#ould rena)e t#is entry so t#at e re)e)ber t#at it corresponds it# our ne layer ,2 in ?*sMa as t#e tool si)ply counts eac# entry in t#e order t#at it is listed in t#e .tt file. ?*sMa as t#e tool si)ply counts eac# entry in t#e order t#at it is listed in t#e .tt file. Model<&TM<7u)ber : 0? Model<&TM<7u)ber : 0? Model<&TS<(*: 0? Model<&TS<(*: 0? ModelScale<= : 1.000000 ModelScale<= : 1.000000 ModelScale<5 : 1.000000 ModelScale<5 : 1.000000 ModelScale<> : 1.000000 ModelScale<> : 1.000000 Model4otation<= : 0.000000 Model4otation<= : 0.000000 Model4otation<5 : -0.000000 Model4otation<5 : -0.000000 Model4otation<> : @.0B@8; Model4otation<> : @.0B@8; ModelTranslation<= : ;0?A.1210 ModelTranslation<= : ;0?A.1210 ModelTranslation<5 : -8A00.?A?A1@ ModelTranslation<5 : -8A00.?A?A1@ ModelTranslation<> : 02.000000 ModelTranslation<> : 02.000000

In this example we would have to rename all layers that come after the deleted layer

In this example we would have to rename all layers that come after the deleted layer &TS<ob!ect<2&TS<ob!ect<2.. e must do this because the tools wor! in numerical order. The tool reads the front of the ob/ect layer e must do this because the tools wor! in numerical order. The tool reads the front of the ob/ect layer name and associates it with the order of entries in the txt file.

name and associates it with the order of entries in the txt file. T#is concept is universal for all of Son of T#is concept is universal for all of Son of  PersiaHs 2018 tools t#at use .tt and .ob! files.

PersiaHs 2018 tools t#at use .tt and .ob! files. The same concept applies to

The same concept applies to addin%addin% new entries. It is best to simply add new entries at the end of the new entries. It is best to simply add new entries at the end of the .tt

.tt file and to have their corresponding . file and to have their corresponding .ob!ob! layer named to the last layer number in &dsMax. This way layer named to the last layer number in &dsMax. This way we do not have to rename a whole bunch of layers and entries. The best way is to simply copy the last we do not have to rename a whole bunch of layers and entries. The best way is to simply copy the last existing .ob/ layer in &dsMax% rename it% and then move the layer model to the position we want. The existing .ob/ layer in &dsMax% rename it% and then move the layer model to the position we want. The same method can be used for .txt entries. -imply copy the last existing entry in the.txt file% rename it% and same method can be used for .txt entries. -imply copy the last existing entry in the.txt file% rename it% and edit the parameters while remembering to

edit the parameters while remembering to always update thealways update the EntryCount to match the amount of EntryCount to match the amount of entries.

(4)

"4I(7G "(T T& / 9(+&S "4I(7G "(T T& / 9(+&S  ,s exp

 ,s explained ablained above many ove many of the tooof the tools from -ls from -on of eon of ersia genrsia generate &' erate &' models fmodels for us to or us to use as reuse as referenceferencess for coordinates. )nless we have a frame of reference these files are useless so it is important for us to for coordinates. )nless we have a frame of reference these files are useless so it is important for us to create a frame of reference beforehand.

create a frame of reference beforehand.

To do this when editing trigger $ones 1or placement models for lights% effects% items etc2 we should always To do this when editing trigger $ones 1or placement models for lights% effects% items etc2 we should always first import the .ob/ file of the

first import the .ob/ file of the S6TS6T file. This will give us the basic shape = boundaries of the room we are file. This will give us the basic shape = boundaries of the room we are dealing with and help us understand where everything is located.

dealing with and help us understand where everything is located.

In the " photos above we see how using the extracted -,T file 1r:;&2 can be useful for a frame of In the " photos above we see how using the extracted -,T file 1r:;&2 can be useful for a frame of

refference when dealing with other files. In the photo on the right we have only the extracted -,T file ob/ refference when dealing with other files. In the photo on the right we have only the extracted -,T file ob/ imported% while on the left we see both the -,T .ob/ file ,>' the E,R .ob/ file together.

imported% while on the left we see both the -,T .ob/ file ,>' the E,R .ob/ file together.

In my experience it is best to import the -,T ob/ to its own layer in &dsMax and then free$e it so that it is In my experience it is best to import the -,T ob/ to its own layer in &dsMax and then free$e it so that it is not moved around by mista!e. ,lso% we should set the layers to be seen in the viewport as wireframe to not moved around by mista!e. ,lso% we should set the layers to be seen in the viewport as wireframe to ma!e it easier to see = manipulate overlaying shapes.

ma!e it easier to see = manipulate overlaying shapes. Proble)atic Poly#edrons

Proble)atic Poly#edrons

<or whatever reason when dealing with trigger$one models there are situations where some polyhedrons <or whatever reason when dealing with trigger$one models there are situations where some polyhedrons will not wor! effectively in game to trigger our desired event. If this happens the best method to remedy will not wor! effectively in game to trigger our desired event. If this happens the best method to remedy this is to simply delete the polyhedron and copy one from a functioning layer and paste it into a new layer. this is to simply delete the polyhedron and copy one from a functioning layer and paste it into a new layer. Proble)atic Poly%ons

Proble)atic Poly%ons

If for whatever reason the coordinates generated by a polygon model do not match the desired area it is If for whatever reason the coordinates generated by a polygon model do not match the desired area it is possible the wrong vertice was chosen as the active node. To avoid this try to !eep all three vertices of possible the wrong vertice was chosen as the active node. To avoid this try to !eep all three vertices of the polygon relatively close to each other and always !eep them at the same height 1$ coordinate2. the polygon relatively close to each other and always !eep them at the same height 1$ coordinate2.

The reason for this possible issue is that while moving the polygon from its original location we can often The reason for this possible issue is that while moving the polygon from its original location we can often lose sight of which vertice is the right angled vertice which is the default vertice used by the tools for the lose sight of which vertice is the right angled vertice which is the default vertice used by the tools for the coordinates.

coordinates. Tips and Trics Tips and Trics

If we are dealing with recreating multiple polygons that are to be used for similar things 1such as recurring If we are dealing with recreating multiple polygons that are to be used for similar things 1such as recurring lights or effects2 the easiest way to add new polygons is to copyBpaste existing polygons and simply

lights or effects2 the easiest way to add new polygons is to copyBpaste existing polygons and simply rename them. This is also effective is maintaining the $ position if we have multiple models at the same rename them. This is also effective is maintaining the $ position if we have multiple models at the same height.

height.  ,nother

 ,nother helpful thelpful tric! is to ric! is to use theuse the 4&;U*-*efault<Sta%e-Pro!ect<0014&;U*-*efault<Sta%e-Pro!ect<001 1if you are using &ds Max2. This1if you are using &ds Max2. This file was prepared for you to include the basic needed layers when stage modding% as well as a 'M7 file was prepared for you to include the basic needed layers when stage modding% as well as a 'M7 texture model that can be used to avoid problems with the stage TC file. -ee the -M' tutorial for more texture model that can be used to avoid problems with the stage TC file. -ee the -M' tutorial for more information on this.

information on this.

&=P4T(7G  4&P6CI(7G &=P4T(7G  4&P6CI(7G

Once we have edited the parameters of the entries in the .txt file and placed the models of their Once we have edited the parameters of the entries in the .txt file and placed the models of their

corresponding .ob/ layers into the positions we want% the next step is to export all the layers to the .ob/ file. corresponding .ob/ layers into the positions we want% the next step is to export all the layers to the .ob/ file. -imply select all layers in &dsMax and export to ob/ file % overwriting the originally created .ob/ file in our -imply select all layers in &dsMax and export to ob/ file % overwriting the originally created .ob/ file in our wor!ing directory. Once this is done and we have saved all the data in our .txt file% simply use the

wor!ing directory. Once this is done and we have saved all the data in our .txt file% simply use the repac.bat

repac.bat file of the tool to create a new RE4 file. ,fter this the process is as simple as copying the file of the tool to create a new RE4 file. ,fter this the process is as simple as copying the newly created RE4 file into our wor!ing

newly created RE4 file into our wor!ing U*6SJ*6TU*6SJ*6T folder and repac!ing. folder and repac!ing.

This concludes the )niversal 9oncepts Tutorial. *opefully by now we have a general

This concludes the )niversal 9oncepts Tutorial. *opefully by now we have a general  idea of how the tool idea of how the tool sets operate. lease refer to the individual tutorials that were written for each tool for more detailed

sets operate. lease refer to the individual tutorials that were written for each tool for more detailed information about the specific parameters for each tool.

information about the specific parameters for each tool. *appy ModdingD *appy ModdingD Mr.Curious Mr.Curious 12 - 2018 12 - 2018

(5)

#ttpsKJJ.youtube.co)JuserJala)alaidJ #ttpsKJJ.youtube.co)JuserJala)alaidJ #ttpKJJresidentevil)oddin%.boards.netJuserJAA2 #ttpKJJresidentevil)oddin%.boards.netJuserJAA2

References

Related documents

 Students: large impacts where there is no local substitute (Vanderbilt, Middlebury); small impact otherwise (Michigan State, UCLA)..  College sporting events: impacts attenuated

One of the time honored methods of viewing alpha particles in motion is to insert an alpha radiation source into a diffusion cloud chamber and to watch the tracks made by the

It has excellent impact strength, scratch and chemical resistance, stiffness, and minimal moisture absorption.

I write it because there is some lie that I want to expose, some fact to which I want to draw attention and my initial concern is to get a hearing” (p.. The Russian Revolution in

To configure transmit and receive levels for a cable length (line build−out) longer than 655 feet for a T1 trunk with a channel service unit (CSU) interface, use the cablelength

Freilach writes about the political climate at Cal Poly during the anti-war movement, and “Cal Poly: Liberal, Not Radical” emphasizes the allowances afforded by the university to many

There was a relative doubling of both cumulative drug concentration and % drug release compared to total drug in depot at 10 days following ISFI release into medium with each

Service 1 returns the keystroke in the AL register. Next, at address lOB hex, the program uses the Call instruction to send control to a subroutine. Debug's Call is much like