Locating core.udas effects - tutorial
Jun 9, 2022 12:49:53 GMT 10
qingsheng, khaosli, and 1 more like this
Post by Mr.Curious on Jun 9, 2022 12:49:53 GMT 10
Locating core.udas effects
First let me explain several things about this tutorial. Users should have a basic understand of the EFF file format, and the basic concepts of using SoP tools. Users should also have a basic understanding of how to HEX edit a file. Any of the tools mentioned in this tutorial can be downloaded HERE. Now onto the file itself; the core.udas. The core.udas file can be found at:
Steam\steamapps\common\Resident Evil 4\BIO4\Etc
The texture pack that is used by the core.udas is 07000000.pack and can be found at:
Steam\steamapps\common\Resident Evil 4\BIO4\ImagePackHD
The core.udas file is the most important file in the game, which is a container file which holds hundreds of effects used in the game, as well as game overlays and lighting for special models. In this tutorial we will explore how to locate and effect, and how to safely remove an effect without any side effects to other effects in the game. The effects contained in the core.udas file come in three different files:
core_01.EFF
core_16.EFF
core_25.EFF
The first file, core_01.EFF, can only be edited via HEX, as using the Son of Persia EFF tool will remove a vital block of data that will in turn crush some effects (some bloom effects are crushed by this process). It is safe however to use the SoP tool on the core_16.EFF & core_25.EFF files. We can use the SoP tool to extract core_01.EFF and view its contents, which we can later edit via HEX editing.
What's in these files?
As previously mentioned, these effect files contain many of the game effects like fire, smoke, explosions, light blooms, numerical overlays for counters, HUD elements, menu screen effects, inventory elements, and on and on. All of these effects call on textures contained in the 07000000.pack file.
Locating an effect
There are often times we may want to isolate an effect to either replace, edit or remove an effect. An example of this is how I wanted to remove the red eyes of the ganado enemies. This effect was buried somewhere in the core EFF files. In order to locate this effect to remove it, I had to use a process of elimination. This is what I will explain in the steps that follow.
If we want to find and single out an effect, what we need to do is:
1 - backup the core.udas file somewhere. I repeat BACK UP YOUR FILES!
2 - Navigate to the Etc folder mebtioned above and copy the core.udas.lfs to a working directory. In order to unpack this file we fist need to remove this .lfs extension with either this tool, or the LFS tool included in the Son of Persia 2018 Toolset. Once this is done the file will be named core.udas (no lfs at the end).
3 - extract the core.udas file with the UDAS tool in a working directory. This will create a folder with all the files inside the UDAS.
4 - copy the three core eff files from this UDAS folder (core_01,core_16, and core_25) to another working directory.
5 - null each EFF file (one at a time), with a HEX editor (this means replacing all the bytes with 00), then placing each newly nulled EFF file one at a time back into the UDAS folder (overwriting the original EFF file) and repack (see next step for repacking). We only repack with one edited file at a time, to see which file has the effect we are looking for).
6 - repack the core.udas and place it back into the Etc folder (replacing the original.. if the original core.udas.lfs is present in this directory then rename this file to core.udas.lfs.og). This will ensure the original lfs version of the file is not read.
7 - next we start the game and see if the effect we are searching for is still present. If the effect is still present, we move onto the next core EFF file and repeat steps 3 through 5. This step is simply the process of eliminating which files don't have the effect.
8 - Once we determine which core EFF file has the effect we are looking for, we place this file in another working directory with the RE4UHD EFF tool and use the extract.bat file to extract the contents of the EFF file. A newly generated folder will appear that contains the effect file paramters, along with any models, TPL files, and other Tables that are used. Another file is also generated upon extraction which is the core_xx.idx file. This is a list of all the directories and files used by the EFF file.
9 - open the core_xx.idx file to edit in a text editor. I suggest using Notepad++ as it is THE BEST text editor, and it is free. It also has multiple levels of 'undo' which is lacking in the default Microsoft text editor (why they did this is just idiotic). Lets have a look at the contents of the .idx file:
Table_0 = 1 (a value of 1 means this file is present and will be included in repack, while a value of 0 means to omit this file or directory)
Table_1 = 1
Table_2 = 0
Table_3 = 1
Table_4 = 1
TPLCount = 57 (number of TPL files included in repack)
TextureData = 1
Effect0GroupCount = 110 (number of Effect Group folders included in repack)
Effect1GroupCount = 0
ModelCount = 6
A simple explanation of the Effect0GroupCount parameter is that it is the 'count' of how many effect folders will be included when repacking. If we reduce this to a lower value, the folders above the new value will be excluded from repack. So for example, if we change this value from 110, to 90, that means all the effects contained in the Effect Group folders 90 and up will be excluded from the file when repacked.
NOTE - Since the first effect folder is Effect Group 0, that means that Effect Group 89 is the 90th folder to be counted).
10 - Next we edit the file, incrementally reducing the value in the Effect0GroupCount parameter. When there is an abuncance of Effect Group folders (like in core_01.EFF), I would suggest reducing the value 10 at a time. So for example, in this step we would change the value to: Effect0GroupCount = 100.
11 - So what we did in the previous step was to eliminate the last 11 groups of effects (100-110). Next we repack the EFF file with the repack.bat file and then copy this file to our core.udas folder, replacing the original file. Next we repack the core.udas with the udas repack. bat file, and then move the file to Steam\steamapps\common\Resident Evil 4\BIO4\Etc, replacing the original core.udas file.
12 - Start the game and see if the effect we are searching for is still present. If the effect is not present in the game then we know that the effect we are looking for is somewhere in 100-110 Effect Group folders. We can then refine our search using lower increments until it is located. If the file is still present, then we repeat the process in step 10-11 and repeat this process until we can no longer see the effect we are searching for.
Once we have narrowed it down to which folder the effect is in we have to decided what we are going to do. If we are simply trying to remove an effect, sometimes the easiest way is to change it's luminosity to 0. The next part is a little difficult so please pay attention.
What we have to do when trying to remove an effect from core_01.EFF is to:
A - identify which Effect Group folder it is located in (as described above)
B - try to find the effect in HEX by opening the core_01.EFF file in a HEX editor. We do this by looking at the parameters in the extracted Data.txt file in the Effect Group folder, and trying to find matches in HEX. Here is an example:
I wanted to remove the red eyes of the Ganado, so I did steps 1 through 12 until I located it in Effect Group 53. Next what I did was to navigate to this directory and open the Data.txt file. Here are the contents (text in purple are my comments that I added later):
# Main Effect
EffectCount = 4
Offset[4..7] = 0x0
Offset[8..11] = 0xFE0000
Offset[12..15] = 0x0
Offset[16..19] = 0x0
Offset[20..23] = 0x0
Offset[24..27] = 0x0
Offset[28..31] = 0x0
Offset[32..35] = 0x0
Offset[36..39] = 0x10
Offset[40..43] = 0x0
Offset[44..47] = 0x0
# Effect 0 - left red eye effect 1
Id = 0x1
Type = 0x0
Texture = 0x8
Offset[3] = 0x0
Offset[4..7] = 0x20000000
Offset[8..9] = 0x1
Offset[10..11] = 0x0
Position_X = -2.000000
Position_Y = -17.000000
Position_Z = 0.000000
Offset[24..27] = 0x0
Offset[28..31] = 0x0
Offset[32..35] = 0x0
Offset[36..39] = 0x0
Offset[40..43] = 0x0
Offset[44..47] = 0x0
Offset[48..51] = 0x3F800000
Offset[52..55] = 0x0
Offset[56..59] = 0x0
Offset[60..63] = 0x0
Offset[64..67] = 0x0
Offset[68..71] = 0x0
Offset[72..75] = 0x0
Offset[76..79] = 0x0
Offset[80..83] = 0x0
Offset[84..87] = 0x0
HorizontalAxis = 0.000000
VerticalAxis = 0.000000
Offset[96..99] = 0x0
Offset[100..103] = 0x0
Offset[104..107] = 0x0
Offset[108..111] = 0x0
Offset[112..115] = 0x0
Offset[116..119] = 0x0
Offset[120..123] = 0x0
Offset[124..127] = 0x0
Offset[128..131] = 0x0
Offset[132..135] = 0x0
HorizontalSize = 25.000000
VerticalSize = 25.000000
Offset[144..147] = 0x0
Offset[148..151] = 0x0
Offset[152..155] = 0x3F800000
Color_R = 0xD7
Color_G = 0x69
Color_B = 0x19
Color_A = 0xCD
Color_R_Config = 1.000000
Color_G_Config = 1.000000
Color_B_Config = 1.000000
Color_A_Config = 1.000000
Offset[176..179] = 0x0
Offset[180..183] = 0x0
Offset[184..187] = 0x0
Offset[188..191] = 0x0
Intensity = 0xFF
BordersEffect = 0x0
WaveConfig[0] = 0x0
WaveConfig[1] = 0x0
WaveConfig[2] = 0x0
WaveConfig[3] = 0x0
WaterHorizontalDistortion = 0x0
WaterVerticalDistortion = 0x0
Offset[212..215] = 0x0
HorizontalFlickering = 0.000000
VerticalFlickering = 0.000000
RotationRadius = 0.000000
ModelHidingThreshold = 0.000000
Offset[232..235] = 0x0
Offset[236..239] = 0x0
Offset[240..243] = 0x0
Offset[244..247] = 0x0
Offset[248..251] = 0x0
Offset[252..255] = 0x0
Offset[256..259] = 0x0
Offset[260..263] = 0x0
Offset[264..267] = 0x0
Offset[268..271] = 0x100
Offset[272..275] = 0x1
Offset[276..279] = 0x0
Offset[280..283] = 0x0
Offset[284..287] = 0x0
Offset[288..291] = 0x0
Offset[292..295] = 0x0
Offset[296..299] = 0x0
# Effect 1 - left red eye effect 1
Id = 0x1
Type = 0x0
Texture = 0xFF
Offset[3] = 0x0
Offset[4..7] = 0x20000000
Offset[8..9] = 0x1
Offset[10..11] = 0x0
Position_X = -2.000000
Position_Y = -17.000000
Position_Z = 0.000000
Offset[24..27] = 0x0
Offset[28..31] = 0x0
Offset[32..35] = 0x0
Offset[36..39] = 0x0
Offset[40..43] = 0x0
Offset[44..47] = 0x0
Offset[48..51] = 0x3F800000
Offset[52..55] = 0x0
Offset[56..59] = 0x0
Offset[60..63] = 0x0
Offset[64..67] = 0x0
Offset[68..71] = 0x0
Offset[72..75] = 0x0
Offset[76..79] = 0x0
Offset[80..83] = 0x0
Offset[84..87] = 0x0
HorizontalAxis = 0.000000
VerticalAxis = 0.000000
Offset[96..99] = 0x0
Offset[100..103] = 0x0
Offset[104..107] = 0x0
Offset[108..111] = 0x0
Offset[112..115] = 0x0
Offset[116..119] = 0x0
Offset[120..123] = 0x0
Offset[124..127] = 0x0
Offset[128..131] = 0x0
Offset[132..135] = 0x0
HorizontalSize = 20.000000
VerticalSize = 20.000000
Offset[144..147] = 0x0
Offset[148..151] = 0x0
Offset[152..155] = 0x3F800000
Color_R = 0xD7
Color_G = 0x23
Color_B = 0x19
Color_A = 0xFF
Color_R_Config = 1.000000
Color_G_Config = 1.000000
Color_B_Config = 1.000000
Color_A_Config = 1.000000
Offset[176..179] = 0x0
Offset[180..183] = 0x0
Offset[184..187] = 0x0
Offset[188..191] = 0x0
Intensity = 0x300FF
BordersEffect = 0x0
WaveConfig[0] = 0x0
WaveConfig[1] = 0x0
WaveConfig[2] = 0x0
WaveConfig[3] = 0x0
WaterHorizontalDistortion = 0x0
WaterVerticalDistortion = 0x0
Offset[212..215] = 0x0
HorizontalFlickering = 0.000000
VerticalFlickering = 0.000000
RotationRadius = 0.000000
ModelHidingThreshold = 0.000000
Offset[232..235] = 0x0
Offset[236..239] = 0x0
Offset[240..243] = 0x0
Offset[244..247] = 0x0
Offset[248..251] = 0x0
Offset[252..255] = 0x0
Offset[256..259] = 0x0
Offset[260..263] = 0x0
Offset[264..267] = 0x0
Offset[268..271] = 0x100
Offset[272..275] = 0x1
Offset[276..279] = 0x0
Offset[280..283] = 0x0
Offset[284..287] = 0x0
Offset[288..291] = 0x0
Offset[292..295] = 0x0
Offset[296..299] = 0x0
# Effect 2 - right red eye effect 1
Id = 0x1
Type = 0x0
Texture = 0x8
Offset[3] = 0x0
Offset[4..7] = 0x21000000
Offset[8..9] = 0x1
Offset[10..11] = 0x0
Position_X = 2.000000
Position_Y = -17.000000
Position_Z = 0.000000
Offset[24..27] = 0x0
Offset[28..31] = 0x0
Offset[32..35] = 0x0
Offset[36..39] = 0x0
Offset[40..43] = 0x0
Offset[44..47] = 0x0
Offset[48..51] = 0x3F800000
Offset[52..55] = 0x0
Offset[56..59] = 0x0
Offset[60..63] = 0x0
Offset[64..67] = 0x0
Offset[68..71] = 0x0
Offset[72..75] = 0x0
Offset[76..79] = 0x0
Offset[80..83] = 0x0
Offset[84..87] = 0x0
HorizontalAxis = 0.000000
VerticalAxis = 0.000000
Offset[96..99] = 0x0
Offset[100..103] = 0x0
Offset[104..107] = 0x0
Offset[108..111] = 0x0
Offset[112..115] = 0x0
Offset[116..119] = 0x0
Offset[120..123] = 0x0
Offset[124..127] = 0x0
Offset[128..131] = 0x0
Offset[132..135] = 0x0
HorizontalSize = 25.000000
VerticalSize = 25.000000
Offset[144..147] = 0x0
Offset[148..151] = 0x0
Offset[152..155] = 0x3F800000
Color_R = 0xD7
Color_G = 0x69
Color_B = 0x19
Color_A = 0xCD
Color_R_Config = 1.000000
Color_G_Config = 1.000000
Color_B_Config = 1.000000
Color_A_Config = 1.000000
Offset[176..179] = 0x0
Offset[180..183] = 0x0
Offset[184..187] = 0x0
Offset[188..191] = 0x0
Intensity = 0xFF
BordersEffect = 0x0
WaveConfig[0] = 0x0
WaveConfig[1] = 0x0
WaveConfig[2] = 0x0
WaveConfig[3] = 0x0
WaterHorizontalDistortion = 0x0
WaterVerticalDistortion = 0x0
Offset[212..215] = 0x0
HorizontalFlickering = 0.000000
VerticalFlickering = 0.000000
RotationRadius = 0.000000
ModelHidingThreshold = 0.000000
Offset[232..235] = 0x0
Offset[236..239] = 0x0
Offset[240..243] = 0x0
Offset[244..247] = 0x0
Offset[248..251] = 0x0
Offset[252..255] = 0x0
Offset[256..259] = 0x0
Offset[260..263] = 0x0
Offset[264..267] = 0x0
Offset[268..271] = 0x100
Offset[272..275] = 0x1
Offset[276..279] = 0x0
Offset[280..283] = 0x0
Offset[284..287] = 0x0
Offset[288..291] = 0x0
Offset[292..295] = 0x0
Offset[296..299] = 0x0
# Effect 3 - right red eye effect 2
Id = 0x1
Type = 0x0
Texture = 0xFF
Offset[3] = 0x0
Offset[4..7] = 0x21000000
Offset[8..9] = 0x1
Offset[10..11] = 0x0
Position_X = 2.000000
Position_Y = -17.000000
Position_Z = 0.000000
Offset[24..27] = 0x0
Offset[28..31] = 0x0
Offset[32..35] = 0x0
Offset[36..39] = 0x0
Offset[40..43] = 0x0
Offset[44..47] = 0x0
Offset[48..51] = 0x3F800000
Offset[52..55] = 0x0
Offset[56..59] = 0x0
Offset[60..63] = 0x0
Offset[64..67] = 0x0
Offset[68..71] = 0x0
Offset[72..75] = 0x0
Offset[76..79] = 0x0
Offset[80..83] = 0x0
Offset[84..87] = 0x0
HorizontalAxis = 0.000000
VerticalAxis = 0.000000
Offset[96..99] = 0x0
Offset[100..103] = 0x0
Offset[104..107] = 0x0
Offset[108..111] = 0x0
Offset[112..115] = 0x0
Offset[116..119] = 0x0
Offset[120..123] = 0x0
Offset[124..127] = 0x0
Offset[128..131] = 0x0
Offset[132..135] = 0x0
HorizontalSize = 20.000000
VerticalSize = 20.000000
Offset[144..147] = 0x0
Offset[148..151] = 0x0
Offset[152..155] = 0x3F800000
Color_R = 0xD7
Color_G = 0x23
Color_B = 0x19
Color_A = 0xFF
Color_R_Config = 1.000000
Color_G_Config = 1.000000
Color_B_Config = 1.000000
Color_A_Config = 1.000000
Offset[176..179] = 0x0
Offset[180..183] = 0x0
Offset[184..187] = 0x0
Offset[188..191] = 0x0
Intensity = 0x300FF
BordersEffect = 0x0
WaveConfig[0] = 0x0
WaveConfig[1] = 0x0
WaveConfig[2] = 0x0
WaveConfig[3] = 0x0
WaterHorizontalDistortion = 0x0
WaterVerticalDistortion = 0x0
Offset[212..215] = 0x0
HorizontalFlickering = 0.000000
VerticalFlickering = 0.000000
RotationRadius = 0.000000
ModelHidingThreshold = 0.000000
Offset[232..235] = 0x0
Offset[236..239] = 0x0
Offset[240..243] = 0x0
Offset[244..247] = 0x0
Offset[248..251] = 0x0
Offset[252..255] = 0x0
Offset[256..259] = 0x0
Offset[260..263] = 0x0
Offset[264..267] = 0x0
Offset[268..271] = 0x100
Offset[272..275] = 0x1
Offset[276..279] = 0x0
Offset[280..283] = 0x0
Offset[284..287] = 0x0
Offset[288..291] = 0x0
Offset[292..295] = 0x0
Offset[296..299] = 0x0
EffectCount = 4
Offset[4..7] = 0x0
Offset[8..11] = 0xFE0000
Offset[12..15] = 0x0
Offset[16..19] = 0x0
Offset[20..23] = 0x0
Offset[24..27] = 0x0
Offset[28..31] = 0x0
Offset[32..35] = 0x0
Offset[36..39] = 0x10
Offset[40..43] = 0x0
Offset[44..47] = 0x0
# Effect 0 - left red eye effect 1
Id = 0x1
Type = 0x0
Texture = 0x8
Offset[3] = 0x0
Offset[4..7] = 0x20000000
Offset[8..9] = 0x1
Offset[10..11] = 0x0
Position_X = -2.000000
Position_Y = -17.000000
Position_Z = 0.000000
Offset[24..27] = 0x0
Offset[28..31] = 0x0
Offset[32..35] = 0x0
Offset[36..39] = 0x0
Offset[40..43] = 0x0
Offset[44..47] = 0x0
Offset[48..51] = 0x3F800000
Offset[52..55] = 0x0
Offset[56..59] = 0x0
Offset[60..63] = 0x0
Offset[64..67] = 0x0
Offset[68..71] = 0x0
Offset[72..75] = 0x0
Offset[76..79] = 0x0
Offset[80..83] = 0x0
Offset[84..87] = 0x0
HorizontalAxis = 0.000000
VerticalAxis = 0.000000
Offset[96..99] = 0x0
Offset[100..103] = 0x0
Offset[104..107] = 0x0
Offset[108..111] = 0x0
Offset[112..115] = 0x0
Offset[116..119] = 0x0
Offset[120..123] = 0x0
Offset[124..127] = 0x0
Offset[128..131] = 0x0
Offset[132..135] = 0x0
HorizontalSize = 25.000000
VerticalSize = 25.000000
Offset[144..147] = 0x0
Offset[148..151] = 0x0
Offset[152..155] = 0x3F800000
Color_R = 0xD7
Color_G = 0x69
Color_B = 0x19
Color_A = 0xCD
Color_R_Config = 1.000000
Color_G_Config = 1.000000
Color_B_Config = 1.000000
Color_A_Config = 1.000000
Offset[176..179] = 0x0
Offset[180..183] = 0x0
Offset[184..187] = 0x0
Offset[188..191] = 0x0
Intensity = 0xFF
BordersEffect = 0x0
WaveConfig[0] = 0x0
WaveConfig[1] = 0x0
WaveConfig[2] = 0x0
WaveConfig[3] = 0x0
WaterHorizontalDistortion = 0x0
WaterVerticalDistortion = 0x0
Offset[212..215] = 0x0
HorizontalFlickering = 0.000000
VerticalFlickering = 0.000000
RotationRadius = 0.000000
ModelHidingThreshold = 0.000000
Offset[232..235] = 0x0
Offset[236..239] = 0x0
Offset[240..243] = 0x0
Offset[244..247] = 0x0
Offset[248..251] = 0x0
Offset[252..255] = 0x0
Offset[256..259] = 0x0
Offset[260..263] = 0x0
Offset[264..267] = 0x0
Offset[268..271] = 0x100
Offset[272..275] = 0x1
Offset[276..279] = 0x0
Offset[280..283] = 0x0
Offset[284..287] = 0x0
Offset[288..291] = 0x0
Offset[292..295] = 0x0
Offset[296..299] = 0x0
# Effect 1 - left red eye effect 1
Id = 0x1
Type = 0x0
Texture = 0xFF
Offset[3] = 0x0
Offset[4..7] = 0x20000000
Offset[8..9] = 0x1
Offset[10..11] = 0x0
Position_X = -2.000000
Position_Y = -17.000000
Position_Z = 0.000000
Offset[24..27] = 0x0
Offset[28..31] = 0x0
Offset[32..35] = 0x0
Offset[36..39] = 0x0
Offset[40..43] = 0x0
Offset[44..47] = 0x0
Offset[48..51] = 0x3F800000
Offset[52..55] = 0x0
Offset[56..59] = 0x0
Offset[60..63] = 0x0
Offset[64..67] = 0x0
Offset[68..71] = 0x0
Offset[72..75] = 0x0
Offset[76..79] = 0x0
Offset[80..83] = 0x0
Offset[84..87] = 0x0
HorizontalAxis = 0.000000
VerticalAxis = 0.000000
Offset[96..99] = 0x0
Offset[100..103] = 0x0
Offset[104..107] = 0x0
Offset[108..111] = 0x0
Offset[112..115] = 0x0
Offset[116..119] = 0x0
Offset[120..123] = 0x0
Offset[124..127] = 0x0
Offset[128..131] = 0x0
Offset[132..135] = 0x0
HorizontalSize = 20.000000
VerticalSize = 20.000000
Offset[144..147] = 0x0
Offset[148..151] = 0x0
Offset[152..155] = 0x3F800000
Color_R = 0xD7
Color_G = 0x23
Color_B = 0x19
Color_A = 0xFF
Color_R_Config = 1.000000
Color_G_Config = 1.000000
Color_B_Config = 1.000000
Color_A_Config = 1.000000
Offset[176..179] = 0x0
Offset[180..183] = 0x0
Offset[184..187] = 0x0
Offset[188..191] = 0x0
Intensity = 0x300FF
BordersEffect = 0x0
WaveConfig[0] = 0x0
WaveConfig[1] = 0x0
WaveConfig[2] = 0x0
WaveConfig[3] = 0x0
WaterHorizontalDistortion = 0x0
WaterVerticalDistortion = 0x0
Offset[212..215] = 0x0
HorizontalFlickering = 0.000000
VerticalFlickering = 0.000000
RotationRadius = 0.000000
ModelHidingThreshold = 0.000000
Offset[232..235] = 0x0
Offset[236..239] = 0x0
Offset[240..243] = 0x0
Offset[244..247] = 0x0
Offset[248..251] = 0x0
Offset[252..255] = 0x0
Offset[256..259] = 0x0
Offset[260..263] = 0x0
Offset[264..267] = 0x0
Offset[268..271] = 0x100
Offset[272..275] = 0x1
Offset[276..279] = 0x0
Offset[280..283] = 0x0
Offset[284..287] = 0x0
Offset[288..291] = 0x0
Offset[292..295] = 0x0
Offset[296..299] = 0x0
# Effect 2 - right red eye effect 1
Id = 0x1
Type = 0x0
Texture = 0x8
Offset[3] = 0x0
Offset[4..7] = 0x21000000
Offset[8..9] = 0x1
Offset[10..11] = 0x0
Position_X = 2.000000
Position_Y = -17.000000
Position_Z = 0.000000
Offset[24..27] = 0x0
Offset[28..31] = 0x0
Offset[32..35] = 0x0
Offset[36..39] = 0x0
Offset[40..43] = 0x0
Offset[44..47] = 0x0
Offset[48..51] = 0x3F800000
Offset[52..55] = 0x0
Offset[56..59] = 0x0
Offset[60..63] = 0x0
Offset[64..67] = 0x0
Offset[68..71] = 0x0
Offset[72..75] = 0x0
Offset[76..79] = 0x0
Offset[80..83] = 0x0
Offset[84..87] = 0x0
HorizontalAxis = 0.000000
VerticalAxis = 0.000000
Offset[96..99] = 0x0
Offset[100..103] = 0x0
Offset[104..107] = 0x0
Offset[108..111] = 0x0
Offset[112..115] = 0x0
Offset[116..119] = 0x0
Offset[120..123] = 0x0
Offset[124..127] = 0x0
Offset[128..131] = 0x0
Offset[132..135] = 0x0
HorizontalSize = 25.000000
VerticalSize = 25.000000
Offset[144..147] = 0x0
Offset[148..151] = 0x0
Offset[152..155] = 0x3F800000
Color_R = 0xD7
Color_G = 0x69
Color_B = 0x19
Color_A = 0xCD
Color_R_Config = 1.000000
Color_G_Config = 1.000000
Color_B_Config = 1.000000
Color_A_Config = 1.000000
Offset[176..179] = 0x0
Offset[180..183] = 0x0
Offset[184..187] = 0x0
Offset[188..191] = 0x0
Intensity = 0xFF
BordersEffect = 0x0
WaveConfig[0] = 0x0
WaveConfig[1] = 0x0
WaveConfig[2] = 0x0
WaveConfig[3] = 0x0
WaterHorizontalDistortion = 0x0
WaterVerticalDistortion = 0x0
Offset[212..215] = 0x0
HorizontalFlickering = 0.000000
VerticalFlickering = 0.000000
RotationRadius = 0.000000
ModelHidingThreshold = 0.000000
Offset[232..235] = 0x0
Offset[236..239] = 0x0
Offset[240..243] = 0x0
Offset[244..247] = 0x0
Offset[248..251] = 0x0
Offset[252..255] = 0x0
Offset[256..259] = 0x0
Offset[260..263] = 0x0
Offset[264..267] = 0x0
Offset[268..271] = 0x100
Offset[272..275] = 0x1
Offset[276..279] = 0x0
Offset[280..283] = 0x0
Offset[284..287] = 0x0
Offset[288..291] = 0x0
Offset[292..295] = 0x0
Offset[296..299] = 0x0
# Effect 3 - right red eye effect 2
Id = 0x1
Type = 0x0
Texture = 0xFF
Offset[3] = 0x0
Offset[4..7] = 0x21000000
Offset[8..9] = 0x1
Offset[10..11] = 0x0
Position_X = 2.000000
Position_Y = -17.000000
Position_Z = 0.000000
Offset[24..27] = 0x0
Offset[28..31] = 0x0
Offset[32..35] = 0x0
Offset[36..39] = 0x0
Offset[40..43] = 0x0
Offset[44..47] = 0x0
Offset[48..51] = 0x3F800000
Offset[52..55] = 0x0
Offset[56..59] = 0x0
Offset[60..63] = 0x0
Offset[64..67] = 0x0
Offset[68..71] = 0x0
Offset[72..75] = 0x0
Offset[76..79] = 0x0
Offset[80..83] = 0x0
Offset[84..87] = 0x0
HorizontalAxis = 0.000000
VerticalAxis = 0.000000
Offset[96..99] = 0x0
Offset[100..103] = 0x0
Offset[104..107] = 0x0
Offset[108..111] = 0x0
Offset[112..115] = 0x0
Offset[116..119] = 0x0
Offset[120..123] = 0x0
Offset[124..127] = 0x0
Offset[128..131] = 0x0
Offset[132..135] = 0x0
HorizontalSize = 20.000000
VerticalSize = 20.000000
Offset[144..147] = 0x0
Offset[148..151] = 0x0
Offset[152..155] = 0x3F800000
Color_R = 0xD7
Color_G = 0x23
Color_B = 0x19
Color_A = 0xFF
Color_R_Config = 1.000000
Color_G_Config = 1.000000
Color_B_Config = 1.000000
Color_A_Config = 1.000000
Offset[176..179] = 0x0
Offset[180..183] = 0x0
Offset[184..187] = 0x0
Offset[188..191] = 0x0
Intensity = 0x300FF
BordersEffect = 0x0
WaveConfig[0] = 0x0
WaveConfig[1] = 0x0
WaveConfig[2] = 0x0
WaveConfig[3] = 0x0
WaterHorizontalDistortion = 0x0
WaterVerticalDistortion = 0x0
Offset[212..215] = 0x0
HorizontalFlickering = 0.000000
VerticalFlickering = 0.000000
RotationRadius = 0.000000
ModelHidingThreshold = 0.000000
Offset[232..235] = 0x0
Offset[236..239] = 0x0
Offset[240..243] = 0x0
Offset[244..247] = 0x0
Offset[248..251] = 0x0
Offset[252..255] = 0x0
Offset[256..259] = 0x0
Offset[260..263] = 0x0
Offset[264..267] = 0x0
Offset[268..271] = 0x100
Offset[272..275] = 0x1
Offset[276..279] = 0x0
Offset[280..283] = 0x0
Offset[284..287] = 0x0
Offset[288..291] = 0x0
Offset[292..295] = 0x0
Offset[296..299] = 0x0
So now that we see that there are 4 effects that make up the red eyes (2 effects for each eye). Normally with any other EFF file we could simply edit the parameters in this Data.txt file (like reducing the luminosity in the RGBA or simply changing the EffectCount to 0), and then repack, but in the case of core_01.UDAS, as mentioned above, we can not use the tools to repack as this will destroy other effects. We must HEX edit the file.
So our task now is to try to find matching data from this Data.txt file in the core_01.EFF file in HEX. Lets search for some of the RGBA values and see. In the first effect we have:
Color_R = 0xD7
Color_G = 0x69
Color_B = 0x19
Color_A = 0xCD
which in HEX would translate to a string of : D7 69 19 CD. A simple search in a HEX editor finds two matches in the core_01.EFF file, which match the 2 corresponding effect parameters in the Data.txt file:

So we have the choice here to either:
- change the values of D7 69 19 CD to 00 00 00 00 (which will make the effect invisible) and do the same thing for the next 3 effects
or:
- locate the EffectCount = 4 in HEX and change it to 0 (which will simply cancel all effect in the Effect Group 53 folder)
For the next part of this example, we will try the second option of searching for the EffectCount = 4. To do so we can simply scroll up from our first match of D7 69 19 CD and look for something that looks like the begining of the data in the Data.txt file which looks like:

So changing this 04 byte to 00 will basically remove all 4 effects from the EFF file.
The final step is to make sure that any core.udas files we edited using the tools are sent to the recycle bin, and that any edits we make in HEX are done so on versions of the file that were not repacked with the tools. We must ensure that we only HEX edit this file, and when we are done HEX editing it, we simply copy it to our core.udas folder, replace the original, repack the udas with the udas repack.bat file and place the file in the Etc folder.
That's it!
Happy Modding!