• No results found

RE4UHD SAT_EAT Tool Tutorial

N/A
N/A
Protected

Academic year: 2021

Share "RE4UHD SAT_EAT Tool Tutorial"

Copied!
9
0
0

Loading.... (view fulltext now)

Full text

(1)

SAT

SAT &

& EAT

EAT Tool

Tool 2018

2018

Tools created by Son of Persia

Tools created by Son of Persia

Tutorial

Tutorial

prepared

prepared

by

by

Mr.Curious

Mr.Curious

Introduction

Introduction

 Anothe

 Another interestr interesting chaping chapter in oter in our tutoriaur tutorial series wl series will be dealill be dealing witing with the long h the long awaiteawaited collision d collision tool (aktool (aka thea the SAT EAT tool). For many years this piece of the puzzle was a mystery and remained the last barrier for SAT EAT tool). For many years this piece of the puzzle was a mystery and remained the last barrier for creating fully functional custom stages in esiedent E!il ". Thanks to Son of #ersia$s dedication %

creating fully functional custom stages in esiedent E!il ". Thanks to Son of #ersia$s dedication % persistence& we now ha!e this tool at our disposal.

persistence& we now ha!e this tool at our disposal.

To start& let us look at the E" file types we will be dealing with using the SAT EAT tool. This tool actually To start& let us look at the E" file types we will be dealing with using the SAT EAT tool. This tool actually allows us to deal with both SAT % EAT files& which are essentially the same thing but used for different allows us to deal with both SAT % EAT files& which are essentially the same thing but used for different purposes. 'oth file types are collision maps& one being for the player (SAT) and the other for proectiles purposes. 'oth file types are collision maps& one being for the player (SAT) and the other for proectiles (EAT).

(EAT).

e may wish to use the SAT collision data for different purposes. Some of us may only wish to use it as a e may wish to use the SAT collision data for different purposes. Some of us may only wish to use it as a reference when editing other aspects of a room& while others may wish to actually edit the collision data. As reference when editing other aspects of a room& while others may wish to actually edit the collision data. As descirbed in teh *+ni!ersal ,oncepts -uide* & the first thing we want to do when opening any kind of room in descirbed in teh *+ni!ersal ,oncepts -uide* & the first thing we want to do when opening any kind of room in ds /a0 is to open the collision data (SAT) file to use as a refference for scale& as many of hte rooms in E" ds /a0 is to open the collision data (SAT) file to use as a refference for scale& as many of hte rooms in E" use different scales (01&012& 0122) etc.

use different scales (01&012& 0122) etc.

E0tracting the SAT data gi!es us a reference to the scale at which we are working& and can be used as a E0tracting the SAT data gi!es us a reference to the scale at which we are working& and can be used as a reference with other files& such as the AE3& 45T& and other files that create 6'7 files that we can import into reference with other files& such as the AE3& 45T& and other files that create 6'7 files that we can import into the d program. 5f we are using other tools like the ,S869 E4S enemy tool& it is important to ha!e SAT the d program. 5f we are using other tools like the ,S869 E4S enemy tool& it is important to ha!e SAT data to reference where the enemies will be placed on the map.

data to reference where the enemies will be placed on the map.

5f we are simply using the SAT data for reference& 5 suggest to use the *FEE8E* layer option in ds/a0for 5f we are simply using the SAT data for reference& 5 suggest to use the *FEE8E* layer option in ds/a0for the SAT data layers so that they do not accidentally get shifted while editing other elements. e can also the SAT data layers so that they do not accidentally get shifted while editing other elements. e can also make these layers wireframe or transperant so they are easy to see though while editing other obects. make these layers wireframe or transperant so they are easy to see though while editing other obects.

(2)

!"#I$% IT TE SAT 'I(E

!"#I$% IT TE SAT 'I(E

IMP!"TI$% SAT )ATA

IMP!"TI$% SAT )ATA

1 : To start& e0tract any of the +;AS files that you want to use using the +;AS tool. e see a whole list of 1 : To start& e0tract any of the +;AS files that you want to use using the +;AS tool. e see a whole list of files& and the SAT file is usually near the top. ,opy this SAT file and place it in a workign directory along with files& and the SAT file is usually near the top. ,opy this SAT file and place it in a workign directory along with the

the "E*+),SAT,EAT,Tool.e-e"E*+),SAT,EAT,Tool.e-e and theand the .bat.bat files.files. After e0 After e0tracting tracting the SAT the SAT file from file from the +;Athe +;AS archi!S archi!e wee we

can then e0tract an

can then e0tract an .ob.ob file from the SAT file. file from the SAT file.

1 /

1 / To generate the .ob data simply double click the To generate the .ob data simply double click the SAT,EAT,E-tract.batSAT,EAT,E-tract.bat file that is in our working file that is in our working

direcotry. 6nce the e0traction is complete will see that a new folder has been created in our working

direcotry. 6nce the e0traction is complete will see that a new folder has been created in our working

directory with the name of the file.

directory with the name of the file. e see inside this new folder a newly generatede see inside this new folder a newly generated .!.! file (sometimesfile (sometimes there are multiple 6'7 files that are created but there is always a main 6'7 file). This

there are multiple 6'7 files that are created but there is always a main 6'7 file). This .!.! file contains allfile contains all the data we need to create functional collision maps.

the data we need to create functional collision maps. 2 /

2 / e are now ready to import this newly generated e are now ready to import this newly generated .ob.ob file into ds/a0< once imported into ds/a0 we file into ds/a0< once imported into ds/a0 we

can edit the polygons& edit their positions and sizes& and edit the names of the obect layers to determine

can edit the polygons& edit their positions and sizes& and edit the names of the obect layers to determine

what types of collision data they will be.

what types of collision data they will be.

The ne0t step is to import the newly generated

The ne0t step is to import the newly generated .!.! file into ds/A0 (or whate!er d app you are using).file into ds/A0 (or whate!er d app you are using).  After imp

 After import we sort we see that tee that the .6'7 he .6'7 file is di!file is di!ided into ided into se!eral se!eral obect layobect layers that hers that ha!e names a!e names that lookthat look something like this=

something like this=

obect>2>202>202>202>20"2>202>202 obect>2>202>202>202>20"2>202>202 obect>1>202>202>202>20?2>202>202 obect>1>202>202>202>20?2>202>202 obect>?>202>202>202>20@2>202>202 obect>?>202>202>202>20@2>202>202 obect>>202>202>202>20,2>202>202 obect>>202>202>202>20,2>202>202 obect>">202>202>202>202>202>202 obect>">202>202>202>202>202>202 obect>B>202>202>202>20A2>202>202 obect>B>202>202>202>20A2>202>202

These  numerical offesets (202) in the obect layer name ser!e as metadata for the collision map which These  numerical offesets (202) in the obect layer name ser!e as metadata for the collision map which determine the

determine the typetype of collision data that is used. 'y changing these !alues we are able to change the typeof collision data that is used. 'y changing these !alues we are able to change the type of collision data. 5t is important to maintain proper naming con!entions while editing this data& as the tool is of collision data. 5t is important to maintain proper naming con!entions while editing this data& as the tool is case sensiti!e and reCuires that the name be precise in order to create properly functinoing collision data. case sensiti!e and reCuires that the name be precise in order to create properly functinoing collision data.

E)ITI$% SAT C!((ISI!$ )ATA

E)ITI$% SAT C!((ISI!$ )ATA

There are ? types of SAT data edits<

There are ? types of SAT data edits< Position

Position %

% Type

Type

E)ITI$% P!SITI!$ E)ITI$% P!SITI!$

The first part of editing SAT data is fairly straight forward. e actually determine the position % angle of The first part of editing SAT data is fairly straight forward. e actually determine the position % angle of collision data by editing the 6'7 layer$s !erte0 positions in ds/a0. So it$s as simple as mo!ing those faces collision data by editing the 6'7 layer$s !erte0 positions in ds/a0. So it$s as simple as mo!ing those faces around where you want them. There are some things that are recommended though as suggestions for around where you want them. There are some things that are recommended though as suggestions for creating functional geometry.

creating functional geometry.

)!S & )!$TS !' '+$TI!$A( %E!MET"3 )!S & )!$TS !' '+$TI!$A( %E!MET"3  An impor

 An important thintant thing to notg to note is that e is that our polyour polys (or was (or walls& floors ells& floors etc) shotc) should not puld not penetrate enetrate each oteach other. henher. hen dealing with !erte0 positions& is it easy to get lazy and try to simply eyeball where a !erte0 should go but we dealing with !erte0 positions& is it easy to get lazy and try to simply eyeball where a !erte0 should go but we can often get unpredictable results if ha!e !ertices that are improperly connected& or that make planes cross can often get unpredictable results if ha!e !ertices that are improperly connected& or that make planes cross through each other. This is not the golden rule though& as penetrating face still work& but not always& so be through each other. This is not the golden rule though& as penetrating face still work& but not always& so be careful.

careful.

hile sloppy collision data might Dwork$ in game& its best to take the time to be precise in our measurements hile sloppy collision data might Dwork$ in game& its best to take the time to be precise in our measurements for se!eral reasons. 6ne reason is that sometimes enemies will try to Db:line$ through these sloppy collisions for se!eral reasons. 6ne reason is that sometimes enemies will try to Db:line$ through these sloppy collisions

(3)

(that is to say they will try to walk as though there are no walls at all)& instead of walking around them. (that is to say they will try to walk as though there are no walls at all)& instead of walking around them.

5mproperly named or misplaced !ertices can make enemies !ery confused and can lea!e them stuck trying 5mproperly named or misplaced !ertices can make enemies !ery confused and can lea!e them stuck trying to walk through walls. Another reason to create precise collision data is that there are problems that arise to walk through walls. Another reason to create precise collision data is that there are problems that arise when dealing with ramps or stairs. 5f !ertices are misplaced or faces are crossing into each other& ramps when dealing with ramps or stairs. 5f !ertices are misplaced or faces are crossing into each other& ramps often do not work& or work only partially.

often do not work& or work only partially.

These suggestions go for all collision types. For e0ample& if we don$t ha!e floor collision data we can still These suggestions go for all collision types. For e0ample& if we don$t ha!e floor collision data we can still walk normally in the game& but enemies will e!entually ump down into nothing. 5f we don$t align !ertices walk normally in the game& but enemies will e!entually ump down into nothing. 5f we don$t align !ertices properly when trying to make a Dump o!er$ e!ent it may not work properly or may not work at all. 5t can be a properly when trying to make a Dump o!er$ e!ent it may not work properly or may not work at all. 5t can be a !ery delicate procedure when dealing with collision data so its best that we manipulate the data as precisely !ery delicate procedure when dealing with collision data so its best that we manipulate the data as precisely as possible. The best way to make sure our !ertices are correctly oined is to use the SA# (!erte0) feature as possible. The best way to make sure our !ertices are correctly oined is to use the SA# (!erte0) feature in dsma0.

in dsma0.

Try to e0periment to get a feel how this works. ,opy some of the different types of faces and paste them to Try to e0periment to get a feel how this works. ,opy some of the different types of faces and paste them to what result you get. 5t will not always be successful& but if you e0periment with the groups you may come to what result you get. 5t will not always be successful& but if you e0periment with the groups you may come to understand what makes them work. (5 myself am still e0perimenting& and do not know all of the types) understand what makes them work. (5 myself am still e0perimenting& and do not know all of the types)  An easy

 An easy way to e0way to e0periment wperiment with collisioith collision data is n data is to simply to simply copy thcopy these layese layers and thers and then arranen arrange them ige them in anyn any shape you w

shape you wish by editing the !erte0 positions... ish by editing the !erte0 positions... ust make sure the ust make sure the faces are pointing in the faces are pointing in the right directionright direction  A sample

 A sample 6'7 file 6'7 file has beehas been pro!idn pro!ided with ed with this toolsthis toolset hat cet hat contains moontains most functst functional SAional SAT typeT types which ys which you canou can simply compy and paste into your own scene in ds/AG for editing.

simply compy and paste into your own scene in ds/AG for editing. $!TE 4

$!TE 4 Another  Another thing to nthing to note about ote about the planthe planes we cres we create for ceate for collision ollision data is tdata is that it is !hat it is !ery importery important theant the faces of the polys are

faces of the polys are facin5 t6e ri56t 7ayfacin5 t6e ri56t 7ay. 5f they are facing the wrong way they will still allow a player to. 5f they are facing the wrong way they will still allow a player to walk through them or will not function as intended.

walk through them or will not function as intended.

hen we obser!e an e0traced ob file from a SAT file we see that usually the walls are made up of ? (or hen we obser!e an e0traced ob file from a SAT file we see that usually the walls are made up of ? (or more) faces. Tehse are combined to make a sCuare or rectangle with acti!e faces of the polygons facing the more) faces. Tehse are combined to make a sCuare or rectangle with acti!e faces of the polygons facing the direction the player walks into them. 5n ds /a0 we can use the *;efault Shading* opton in the display port to direction the player walks into them. 5n ds /a0 we can use the *;efault Shading* opton in the display port to ensure we are seeing the faces properly (the inacti!e side of the faces will be darker when highlited).

ensure we are seeing the faces properly (the inacti!e side of the faces will be darker when highlited). 5t is important to understand that walls are usually made up of

5t is important to understand that walls are usually made up of t7o or 9ore: facest7o or 9ore: faces in order to function. Anin order to function. An e0ample of this can be seen below=

e0ample of this can be seen below=

These

These t7ot7o faces abo!e are combined to make up faces abo!e are combined to make up oneone acti!e peice of collision data. 5f separated (or used acti!e peice of collision data. 5f separated (or used alone)& neither of these faces can be used as reliable collision data. 5 ha!e seen single rectangluar planes alone)& neither of these faces can be used as reliable collision data. 5 ha!e seen single rectangluar planes used in game by the de!eloopers& so you can try out different polys to see what works. 5 often use sCuare used in game by the de!eloopers& so you can try out different polys to see what works. 5 often use sCuare polyhedrons to blcok out smaller items like furntiure or ornate corners as it is easier than creating these polyhedrons to blcok out smaller items like furntiure or ornate corners as it is easier than creating these planes descibed abo!e& but it is important to understand how collision data works before we start cutting planes descibed abo!e& but it is important to understand how collision data works before we start cutting corners& litterally and figurati!ely H)

corners& litterally and figurati!ely H) About $on/con;entional poly6edons About $on/con;entional poly6edons

#lease note that if we are to use non:con!entional polyhedrons to block out the walls (meaning that we use #lease note that if we are to use non:con!entional polyhedrons to block out the walls (meaning that we use obects without proper names) they may work to pre!ent the player form walking somewhere but other obects without proper names) they may work to pre!ent the player form walking somewhere but other functions of collision data will not be present.

functions of collision data will not be present.

6ne e0ample of this is how the ,A/ beha!es when we are right ne0t to a wall. 5f we use a plane that is not 6ne e0ample of this is how the ,A/ beha!es when we are right ne0t to a wall. 5f we use a plane that is not properly named it may work to restrict player mo!ement& but it does not tell the camera that there is a wall properly named it may work to restrict player mo!ement& but it does not tell the camera that there is a wall there so the camera may clip the wall. Iou can try to use whate!er polyhedrons you wish to try to create there so the camera may clip the wall. Iou can try to use whate!er polyhedrons you wish to try to create functional SAT data& but your results may !ary.

(4)

E)ITI$% SAT C!((ISI!$ T3PES

E)ITI$% SAT C!((ISI!$ T3PES

There are se!eral types of SAT collision data that ser!e different functions besides simply restricting player There are se!eral types of SAT collision data that ser!e different functions besides simply restricting player mo!ement. There are numerous interacti!e elements of the game that are handled by the SAT file like mo!ement. There are numerous interacti!e elements of the game that are handled by the SAT file like Jump Over 

Jump Over  and and Jump Down Jump Down. As noted abo!e& the type of collision data is determined by the !alues in the . As noted abo!e& the type of collision data is determined by the !alues in the  different offsets in the

different offsets in the object layer nameobject layer name..

5 ha!e only listed a few of the known types as 5 ha!e not yet e0plored all the known types. Jere are the basic 5 ha!e only listed a few of the known types as 5 ha!e not yet e0plored all the known types. Jere are the basic essentials to start with=

essentials to start with= $!"MA( restricti;e:< $!"MA( restricti;e:<

 As we c

 As we can see ian see in the scn the screenshoreenshot abo!e ot abo!e only thenly the *t6*t6 offset is used to input !alues in the obect layer namesoffset is used to input !alues in the obect layer names and the rest of the offset !alues are left with a !alue of

and the rest of the offset !alues are left with a !alue of 00. This "th offset is reser!ed for. This "th offset is reser!ed for $!"MA($!"MA( restricti;e:

restricti;e: collision data. 6ther types with use different offsets for their !alues (see below). hen makingcollision data. 6ther types with use different offsets for their !alues (see below). hen making walls we do not always ha!e to use all the different !alues seen abo!e. e can simply use combinations of walls we do not always ha!e to use all the different !alues seen abo!e. e can simply use combinations of them when making a wall (like using a

them when making a wall (like using a *0*0 % % 20 20& or using& or using 8080 % % C0:C0:. hy there are so many !ariants of this. hy there are so many !ariants of this offset is still a mystery to me.

offset is still a mystery to me. $!TE44

$!TE44 6bect layers that are not gi!en a type (or not properly named) will be assigned the type6bect layers that are not gi!en a type (or not properly named) will be assigned the type 0-00-0 by by default for all offsets and will act as

default for all offsets and will act as NORMAL RestrictiveNORMAL Restrictive collision data as 2 is a recognized !alue for thecollision data as 2 is a recognized !alue for the "th offset. This applies to non:con!entional and non:named polyhedrons as well.

"th offset. This applies to non:con!entional and non:named polyhedrons as well.

+MP )!$< +MP )!$<

 As yo

 As you can see u can see in this sin this screenshcreenshot& there ot& there are se!are se!eral obeeral obect layect layers that are rs that are used in used in the *the * +MP )!$+MP )!$ collision type& all of which use the

collision type& all of which use the =rd offset=rd offset with a !alue of eitherwith a !alue of either >0>0 or or 1010. e should obser!e also that the. e should obser!e also that the !alues in the

!alues in the *t6 offset*t6 offset are still present (as seen in the first e0ample)& and act asare still present (as seen in the first e0ample)& and act as NORMAL restrictiveNORMAL restrictive collision data which pre!ents us from passing. This is an e0ample of collision data that ser!es

collision data which pre!ents us from passing. This is an e0ample of collision data that ser!es 2 functions2 functions== 6ne& to restrict mo!ement& and the second& to prompt the

6ne& to restrict mo!ement& and the second& to prompt the JUMP DOWNJUMP DOWN function. So now we understandfunction. So now we understand that collision data can ha!e different combinations of functions when we use the offsets in the obect layer that collision data can ha!e different combinations of functions when we use the offsets in the obect layer names.

(5)

+MP !?E"< +MP !?E"<

 Again&

 Again& as seen as seen in the srein the sreenshot aenshot abo!e wbo!e we can see e can see that now that now there is there is still data still data in the "tin the "th offset (h offset (used forused for $!"MA( "estricti;e

$!"MA( "estricti;e)& but we also see new !alues in the)& but we also see new !alues in the @t6 offset@t6 offset& all of which are either a !alue of& all of which are either a !alue of 00 oror 20

20. 5f you obser!e the screenshot you will see that there are ? walls for each side of this e!ent. This is. 5f you obser!e the screenshot you will see that there are ? walls for each side of this e!ent. This is created this way because we know the player will need to access this e!ent from either side. Each of these created this way because we know the player will need to access this e!ent from either side. Each of these walls must ha!e their faces pointing outward (opposite directions). 5n this e0ample we see the collision data walls must ha!e their faces pointing outward (opposite directions). 5n this e0ample we see the collision data for the small fence we can hop o!er in r121.

for the small fence we can hop o!er in r121. +MP !?E" 2 +MP AC"!SS:

+MP !?E" 2 +MP AC"!SS:

/uch like the pre!ious *7ump 6!er* collisiontype& we see in theis e0ample that there is still data in the "th /uch like the pre!ious *7ump 6!er* collisiontype& we see in theis e0ample that there is still data in the "th offset (used for 6/A4 estricti!e)& but also see new !alues in the

offset (used for 6/A4 estricti!e)& but also see new !alues in the =rd offset=rd offset all of which are set to a all of which are set to a !alue of

!alue of 88. This type of collision data will create an area where the player is promted to ump o!er& the kind. This type of collision data will create an area where the player is promted to ump o!er& the kind where we see the player ump across something like a gap. This type of ump o!er acts differently than the where we see the player ump across something like a gap. This type of ump o!er acts differently than the pre!iously mentioned type of ump o!er& which is usually used for small ledges or fences that the player pre!iously mentioned type of ump o!er& which is usually used for small ledges or fences that the player hops o!er.

hops o!er.

Special note about t6is type of collision data

Special note about t6is type of collision data= This will not work unless there is normal restricti!e= This will not work unless there is normal restricti!e collision data within a certain rangeKheight of the 7ump ? collision obect. Essentially there must be collision data within a certain rangeKheight of the 7ump ? collision obect. Essentially there must be

something for the player to land on. e simply can not make 7ump 6!er ? data ne0t to nothing or it will not something for the player to land on. e simply can not make 7ump 6!er ? data ne0t to nothing or it will not work.

work.

!TE" T3PES

!TE" T3PES

There are other rooms in the game that use other types of collision data that are not co!ered in this tutorial& There are other rooms in the game that use other types of collision data that are not co!ered in this tutorial& but the same principles will apply. Simply look at the

but the same principles will apply. Simply look at the object layer name offsetsobject layer name offsets and see which are used and see which are used commonly and e0periement by isolating these e!ents and mo!ing them around.

commonly and e0periement by isolating these e!ents and mo!ing them around. $!TES A!+T M+(TIP(E ! 'I(ES

$!TES A!+T M+(TIP(E ! 'I(ES

There are some rooms& like r??? that use multiple ob files to create collision data. These rooms are often There are some rooms& like r??? that use multiple ob files to create collision data. These rooms are often ones that need temporary collision data& or collision data that changes. (in r??? it is becuase there are ones that need temporary collision data& or collision data that changes. (in r??? it is becuase there are mo!ing models that the player walks across).

mo!ing models that the player walks across).

5t is important to know that the first .ob file in a bunch of files is the main one& with the ones that follow 5t is important to know that the first .ob file in a bunch of files is the main one& with the ones that follow

(6)

being used for the temporary or changing e!ents. 5t is best to keep these while we repack. 5f we do not wish being used for the temporary or changing e!ents. 5t is best to keep these while we repack. 5f we do not wish to use the e0tra .ob files we can simply import them and change thier positions. 5n some instances 5 was to use the e0tra .ob files we can simply import them and change thier positions. 5n some instances 5 was able to get away with remo!ing the e0tra ob files and updating the .id0 file for the SAT>EAT Tool& but in able to get away with remo!ing the e0tra ob files and updating the .id0 file for the SAT>EAT Tool& but in some rooms this did not work and the game kept crashing.

some rooms this did not work and the game kept crashing.

EBP!"TI$% & "EPAC#I$% SAT )ATA

EBP!"TI$% & "EPAC#I$% SAT )ATA

EBP!"TI$% EBP!"TI$%

To e0port SAT data simply select all the layers that you wish to include in the final e0port in ds/AG and To e0port SAT data simply select all the layers that you wish to include in the final e0port in ds/AG and use the EG#6T fucntion of ds/a0.

use the EG#6T fucntion of ds/a0. Files must be e0ported inFiles must be e0ported in ! for9at! for9at& with the name of the target& with the name of the target file being the same as the original e0ported 6'7 file.

file being the same as the original e0ported 6'7 file. E-a9ple<E-a9ple< r"22>21>2.ob.r"22>21>2.ob.

The ne0t part is repacking.

The ne0t part is repacking. hat the repacking function of the SAT>EAT Tool does at this point is to mergehat the repacking function of the SAT>EAT Tool does at this point is to merge all the known obect layer types of the indi!idual layers and then writes the data to the SAT file that is

all the known obect layer types of the indi!idual layers and then writes the data to the SAT file that is located in the working folder. e do not need to merge these layers manually as the tool does this for us. located in the working folder. e do not need to merge these layers manually as the tool does this for us. To e0palin further let us take a depper look at what happens during repacking. e can e0port our final 6'7 To e0palin further let us take a depper look at what happens during repacking. e can e0port our final 6'7 file for repacking without merging all the same layer types& but do take note that if we were to re:e0tract an file for repacking without merging all the same layer types& but do take note that if we were to re:e0tract an 6'7 file from a newly generated SAT file with our custom collision data

6'7 file from a newly generated SAT file with our custom collision data t6e layers types 7ould bet6e layers types 7ould be 9er5ed

9er5ed with similar layers types=with similar layers types=

E-a9ple<

E-a9ple<

5f we ha!e a wall that is made up of these " obect layers= 5f we ha!e a wall that is made up of these " obect layers= obect>?L>202>202>202>20"2>202>202 obect>?L>202>202>202>20"2>202>202 obect>?@>202>202>202>20?2>202>202 obect>?@>202>202>202>20?2>202>202 obect>?M>202>202>202>20@2>202>202 obect>?M>202>202>202>20@2>202>202 obect>2>202>202>202>20,2>202>202 obect>2>202>202>202>20,2>202>202

and we copyKpaste this wall& and then rename their numerical prefi0es and we copyKpaste this wall& and then rename their numerical prefi0es (we dont really need to rename the prefi0 but for this e0ample 5 will)= (we dont really need to rename the prefi0 but for this e0ample 5 will)= obect>1>202>202>202>20"2>202>202 obect>1>202>202>202>20"2>202>202 obect>?>202>202>202>20?2>202>202 obect>?>202>202>202>20?2>202>202 obect>>202>202>202>20@2>202>202 obect>>202>202>202>20@2>202>202 obect>">202>202>202>20,2>202>202 obect>">202>202>202>20,2>202>202 we now ha!e= we now ha!e= obect>1>202>202>202>20"2>202>202 obect>1>202>202>202>20"2>202>202 obect>?>202>202>202>20?2>202>202 obect>?>202>202>202>20?2>202>202 obect>>202>202>202>20@2>202>202 obect>>202>202>202>20@2>202>202 obect>">202>202>202>20,2>202>202 obect>">202>202>202>20,2>202>202 obect>1>202>202>202>20"2>202>202 obect>1>202>202>202>20"2>202>202 obect>?>202>202>202>20?2>202>202 obect>?>202>202>202>20?2>202>202 obect>>202>202>202>20@2>202>202 obect>>202>202>202>20@2>202>202 obect>">202>202>202>20,2>202>202 obect>">202>202>202>20,2>202>202

E0porting this as shown abo!e (with all the similar layer types separated) is fine& but ust remember that all E0porting this as shown abo!e (with all the similar layer types separated) is fine& but ust remember that all the simlar types will get merged when we e0port % repack.

the simlar types will get merged when we e0port % repack. E-a9ple<

E-a9ple< obect>?Lobect>?L would be merged with would be merged with obect>1obect>1 as they are both type "2& andas they are both type "2& and obect>?@obect>?@ would bewould be merged with

merged with obect>? obect>? and so on. This really does not matter if we are not e0tracting the file again& but if weand so on. This really does not matter if we are not e0tracting the file again& but if we want to keep our layers intact we need to do so in the d application. 7ust keep your d application proect want to keep our layers intact we need to do so in the d application. 7ust keep your d application proect file sa!ed with the layers separated if you wish to ha!e these layers separate for future editing.

(7)

"EPAC#I$%

"EPAC#I$%

epacking is as simple as placing our newly generated 6'7 file into the egenrated 6'7 folder (the one with epacking is as simple as placing our newly generated 6'7 file into the egenrated 6'7 folder (the one with the ob file in it) with the name of the original file and then clicking the

the ob file in it) with the name of the original file and then clicking the AT!"AT!Repac#$batAT!"AT!Repac#$bat file. After wefile. After we ha!e done this the SAT file has been re:writen with our new collision data. The ne0t step is then to copy this ha!e done this the SAT file has been re:writen with our new collision data. The ne0t step is then to copy this newly created SAT file to our working

newly created SAT file to our working +)AS+)AS directory and repack the +;AS file with the +;AS Tool. directory and repack the +;AS file with the +;AS Tool.

P"!(EMS IT E)ITI$% EBISTI$% C!((ISI!$ )ATA

P"!(EMS IT E)ITI$% EBISTI$% C!((ISI!$ )ATA

hile creating custom collision data from scratch has pro!en to yield stable results& editing e0isitng data in hile creating custom collision data from scratch has pro!en to yield stable results& editing e0isitng data in some rooms can be a nightmare. For whate!er reason there are certain rooms that when we e!en mo!e 1 some rooms can be a nightmare. For whate!er reason there are certain rooms that when we e!en mo!e 1 !ertice the stability of the collision data is comprimised.

!ertice the stability of the collision data is comprimised.

This often happens in scenarios where we wish to remo!e only part of e0isting collision data. 5 ha!e found This often happens in scenarios where we wish to remo!e only part of e0isting collision data. 5 ha!e found this a

this a ?E"3 T"IC#3?E"3 T"IC#3 undertaking& so pleaseundertaking& so please do not complain when you are editing e0isting collision datado not complain when you are editing e0isting collision data

because the collision tools are not perfect

because the collision tools are not perfect..

5n the scenario where we wish to remo!e some part of the wall but it makes e!erything else not work 5n the scenario where we wish to remo!e some part of the wall but it makes e!erything else not work

perfectly& try remo!ing only 1 triangle at a time to see what happens. e can also try remo!ing one !ertice& perfectly& try remo!ing only 1 triangle at a time to see what happens. e can also try remo!ing one !ertice& repack and test. Adding new collision data with e0isting collision is fine< its only when we remo!e some of repack and test. Adding new collision data with e0isting collision is fine< its only when we remo!e some of the original that things can get crazy. There are times 5 ha!e had to remake entire sections of rooms& so be the original that things can get crazy. There are times 5 ha!e had to remake entire sections of rooms& so be patient with this undertaking

patient with this undertaking

EAT T!!(

EAT T!!(

Since the

Since the SATSAT andand EAT EAT files are identical in structure it was possible to create one tool to edit both these files are identical in structure it was possible to create one tool to edit both these

file types. The reason the de!elopers created separate file types (although identical in structure) was

file types. The reason the de!elopers created separate file types (although identical in structure) was

because there are often times that we want our proectiles to ha!e different boundaries than the player

because there are often times that we want our proectiles to ha!e different boundaries than the player

mo!ement. Ja!ing separated boundaries for each file type gi!es us more options and a more realistic feel

mo!ement. Ja!ing separated boundaries for each file type gi!es us more options and a more realistic feel

of how obects and characters interact in the ; en!ironment.

of how obects and characters interact in the ; en!ironment.

+$)E"STA

+$)E"STA$)I$% TE EAT

$)I$% TE EAT 'I(E

'I(E

 Amongst

 Amongst the many the many files locfiles located insated inside the +ide the +;AS ar;AS archi!e is tchi!e is thehe EATEAT file. This file is responsible for the file. This file is responsible for the

collision data of discharged rounds and other proectiles thrown from the character. Since the

collision data of discharged rounds and other proectiles thrown from the character. Since the  SAT SAT file is file is

responsible for blocking player mo!ement and does not block bullets or other proectiles we ha!e another

responsible for blocking player mo!ement and does not block bullets or other proectiles we ha!e another

file that is solely responsible for this< the

file that is solely responsible for this< the EATEAT file. file.

'asically the EAT file determines the boundaries of where bullets& grenades& and other proectiles like

'asically the EAT file determines the boundaries of where bullets& grenades& and other proectiles like

arrows hit. Also the EAT file determines where falling obects stop falling& like when we shoot a spinel from

arrows hit. Also the EAT file determines where falling obects stop falling& like when we shoot a spinel from

up high and it falls down to the ground. Another feature of the EAT file is to change the reaction type of the

up high and it falls down to the ground. Another feature of the EAT file is to change the reaction type of the

en!ironment to the proectiles. For instance& we can use the EAT file to make wet looking footsteps for

en!ironment to the proectiles. For instance& we can use the EAT file to make wet looking footsteps for

weather or use the EAT file to make the bullets appear as though they are hitting a water surface.

weather or use the EAT file to make the bullets appear as though they are hitting a water surface.

5f we are creating EAT data from scratch (say when we are creating a new room)& sometimes the easiest

5f we are creating EAT data from scratch (say when we are creating a new room)& sometimes the easiest

method is to create teh SAT data first& and then simply copy the SAT data and fine tune it. +sually EAT

method is to create teh SAT data first& and then simply copy the SAT data and fine tune it. +sually EAT

data follows the same positions as SAT data with some slight !ariations depending on the scenario.

data follows the same positions as SAT data with some slight !ariations depending on the scenario.

 For e0ample if there*s SAT data that is

 For e0ample if there*s SAT data that is $or9al "estricti;eD$or9al "estricti;eD type used for walls in room it should follow type used for walls in room it should follow

that bullets and proectiles would use the same areas with some added (and perhaps a few remo!ed) but

that bullets and proectiles would use the same areas with some added (and perhaps a few remo!ed) but

for the most part they will appear in the same places.

for the most part they will appear in the same places.

To understand this concept a little better let us obser!e the subtle differences between the SAT and EAT

To understand this concept a little better let us obser!e the subtle differences between the SAT and EAT

files of r121=

(8)

EAT

EAT

SAT

SAT

'y comparing the images of the e0tracted files abo!e we can see subtle differences in their appearance&

'y comparing the images of the e0tracted files abo!e we can see subtle differences in their appearance&

most notably those circled in the top left corner. As we can see in the EAT e0ample& the circles area defines

most notably those circled in the top left corner. As we can see in the EAT e0ample& the circles area defines

the une!en terrain we see as we enter r121& whereas in this same area in the SAT e0ample we simply see

the une!en terrain we see as we enter r121& whereas in this same area in the SAT e0ample we simply see

a wall. e can now see how each file operates independently while still using the same format.

a wall. e can now see how each file operates independently while still using the same format.

!"#I$% IT TE EAT 'I(E

!"#I$% IT TE EAT 'I(E

The concepts of working with the EAT file is the same as the SAT file desribed abo!e=

The concepts of working with the EAT file is the same as the SAT file desribed abo!e=

1 /

1 / After e0tracting the EAT file from the +;AS archi!e we can then e0tract an After e0tracting the EAT file from the +;AS archi!e we can then e0tract an .ob.ob file from the EAT file file from the EAT file

data using the

data using the SAT,EAT,E-tract.batSAT,EAT,E-tract.bat file. file.

2 /

2 / e import this newly generated e import this newly generated .ob.ob file into ds/a0 and edit the polygons& remembering that the acti!e file into ds/a0 and edit the polygons& remembering that the acti!e

side of the polygon is what ser!es as the acti!e surface. 5t should be noted that each barrier (or wall) should

side of the polygon is what ser!es as the acti!e surface. 5t should be noted that each barrier (or wall) should

be comprised of two of the following .ob name types=

be comprised of two of the following .ob name types=

obect2>202>202>202>202>202> 

obect2>202>202>202>202>202> 0-*00-*0

obect1>202>202>202>202>202> 

obect1>202>202>202>202>202> 0-800-80

= /

= / 6nce we ha!e finished editing the polygons to our liking we simply e0port the 6nce we ha!e finished editing the polygons to our liking we simply e0port the .ob.ob file to our workingfile to our working

directory using the same method as described abo!e in the SAT section of this tutorial. Simply replace the

directory using the same method as described abo!e in the SAT section of this tutorial. Simply replace the

e0isting .ob file and then use the

e0isting .ob file and then use the SAT,EAT,"epac.batSAT,EAT,"epac.bat file to repack the EAT file. file to repack the EAT file.

* /

(9)

EAT 'I(E )ATA T3PES

EAT 'I(E )ATA T3PES

hile there are many diffrent SAT file types to work with there only seem to be 1 or ? different EAT types

hile there are many diffrent SAT file types to work with there only seem to be 1 or ? different EAT types

(more research is reCuired on types fo the EAT file). Jere is another data type used for making an EAT

(more research is reCuired on types fo the EAT file). Jere is another data type used for making an EAT

polygon react other than normal restricti!e=

polygon react other than normal restricti!e=

ater Surface ater Surface obect@>202>202>202>  obect@>202>202>202> 0-800-80 >202>20 >202>20"2"2 obectM>202>202>202>  obectM>202>202>202> 0-800-80 >202>20 >202>20@2@2

There is one modification we can make to EAT files to change the way our bullets affect the en!ironment to There is one modification we can make to EAT files to change the way our bullets affect the en!ironment to make appear as though the porectiles are hitting a water surface. +sing a !alue in the

make appear as though the porectiles are hitting a water surface. +sing a !alue in the t6 offsett6 offset set to set to 8080 will make a water effect when bullets hit these areas.

will make a water effect when bullets hit these areas. This concludes the SAT EAT Tool tutorial. A special

This concludes the SAT EAT Tool tutorial. A special TA$# 3!+TA$# 3!+ goes out to Son of #ersia for hisgoes out to Son of #ersia for his

determined efforts to make this speical tool possible for us to use.

determined efforts to make this speical tool possible for us to use.

Jappy /odding Jappy /odding Mr.Curious Mr.Curious 12 / 2018 12 / 2018 6ttps<FF777.youtube.co9FuserFala9alaidF 6ttps<FF777.youtube.co9FuserFala9alaidF 6ttp<FFresidente;il9oddin5.boards.netFuserF@@>2 6ttp<FFresidente;il9oddin5.boards.netFuserF@@>2

References

Related documents

from the Blues Brothers Movie Think Big Band Arranged by Philippe Marillia Vocal (Aretha) Aretha F ranklin Ted White Think f.. Think Think Think you think think

Such a collegiate cul- ture, like honors cultures everywhere, is best achieved by open and trusting relationships of the students with each other and the instructor, discussions

be positively locked in either ‘Locked’ or ‘Unlocked’ position, which will be clearly indicated on the frame to be seen from outside.. Quick release pins shall be designed as

In this chapter, we faced the question of whether it is possible to estimate at the same time the task being performed (reach a target position) and the signal model (binary

Thus, holding job requirements constant at a particular level (and therefore holding actual qualifications constant at the same level, since equation 4 is estimated only

These test data, and those from many other researchers, highlight the benefits to be obtained in terms of reducing sulphate attack and chloride ion penetration from incorporating

- complete all sections of the WC-1, First report of Injury, and email to the Central Office Workers’ Compensation Coordinator immediately after the accident - notify the

The extract of the cultured apple stem cells was shown to en- hance the viability of umbilical cord blood stem cells, to reverse senescence signs in human fibrob- last cells and