Jump to content
⚠ Known Issue: Media on User Profiles ×

R&D XCOM Map Alterations


Amineri

Recommended Posts

Well that was a real plot twist xD Thank you for all your work on this.

 

There is a max net index, when I rawhexedited one of these and set it to a really high value, the log printed that It was beyond the max value X.

 

Here's a TFC patch that inserts and uses more friendly names

TexturesEU.tfc

LightingEU.tfc

CharTexturesEU.tfc

 

 

 

UPK_FILE=URB_Museum_Stream.upk
[ADD_NAME_ENTRY]
<> // string length (including terminating null)
<%t"CharTexturesEU"> // ASCII null-terminated string
<x00000000> // flags L (always the same)
<x00070010> // flags H (always the same)

[ADD_NAME_ENTRY]
<> // string length (including terminating null)
<%t"TexturesEU"> // ASCII null-terminated string
<x00000000> // flags L (always the same)
<x00070010> // flags H (always the same)

[ADD_NAME_ENTRY]
<> // string length (including terminating null)
<%t"LightingEU"> // ASCII null-terminated string
<x00000000> // flags L (always the same)
<x00070010> // flags H (always the same)


REPLACE_CODE=
<TextureFileCacheName>
<NameProperty>
<%u 0x00000008>
<%u 0x00000000>
<CharTextures>
:
<TextureFileCacheName>
<NameProperty>
<%u 0x00000008>
<%u 0x00000000>
<CharTexturesEU>

REPLACE_CODE=
<TextureFileCacheName>
<NameProperty>
<%u 0x00000008>
<%u 0x00000000>
<Textures>
:
<TextureFileCacheName>
<NameProperty>
<%u 0x00000008>
<%u 0x00000000>
<TexturesEU>

REPLACE_CODE=
<TextureFileCacheName>
<NameProperty>
<%u 0x00000008>
<%u 0x00000000>
<Lighting>
:
<TextureFileCacheName>
<NameProperty>
<%u 0x00000008>
<%u 0x00000000>
<LightingEU>

 

 

 

edit:sigh, the forum parses some of the commands , here's a txt file

https://www.dropbox.com/s/r0r64g276zt8ony/EU_to_EWI.txt?dl=0

Edited by LiQuiD911
Link to comment
Share on other sites

  • Replies 473
  • Created
  • Last Reply

Top Posters In This Topic

I'm not sure that adding new names is a good idea in this particular case. There could be tons of low-res textures embedded directly into the map package and those are stored as BulkMirror data, which operate on absolute file offset basis. By inserting new names we will shift the data and effectively make all the offsets invalid.

Edited by wghost81
Link to comment
Share on other sites

Hmm.. I did a test on the EU carapace upk , I set the net index to -1 on the objects,materials etc which were reported in the log, but the texture doesn't show. The log also show that it's setting a -1 offset to the textures, I hexedited those values in the upk, they no longer show in the log but still no dice.

 

ue explorer and upk utils do not show these variables, I found offsetX, offsetY followed by 2 size variables in Texture2D

 

(if you search for values -1 in the texture, it's the offsets)

 

I think it's from this:

 

class Texture2DComposite extends Texture
hidecategories(Object)
native(Texture);

struct native SourceTexture2DRegion
{
var int OffsetX;
var int OffsetY;
var int SizeX;
var int SizeY;
var Texture2D Texture2D;

structdefaultproperties
{
OffsetX=0
OffsetY=0
SizeX=0
SizeY=0
Texture2D=none
}
};

Edited by LiQuiD911
Link to comment
Share on other sites

Offsets are described in "UPK Texture2D.pdf" file by Drakous79, which is inside CustomTFC.7z archive.

 

So, the problem is that max NetIndex value prevents you from changing indexes for EU objects? This means, we need to find the Max NetIndex and change it, I guess.

Link to comment
Share on other sites

I'm not sure if they are the same variables in the pdf.. these seem texture offsets, not upk offsets.

 

I don't know if setting the index to -1 fixed some of the things, I have to test it on the maps and see some if the missing meshes appear (like the trash carried by the wind and halfcover wall debris).

Edited by LiQuiD911
Link to comment
Share on other sites

About shadow maps.

While working on deserialization of map objects, I discovered several interesting facts.

First, although Components are based upon Object class, their data are serialized before NetIndex.

Second, there is a class named DominantDirectionalLightComponent, which has an entire ShadowMap inside, serialized at the beginning of the object. There is exactly one DominantDirectionalLight object and exactly one DominantDirectionalLightComponent object per each map.

Link to comment
Share on other sites

Thanks ! But I think we're in a stalemante at the moment with the missing texture problem :\

 

I did a small experiment on repairing buildings on terror maps, calling ResetHealth and ResetVisibility on a fractured mesh actor resets it ingame but the wall does not block LOS and the repaired chunks are not destoyable ( because xcom uses a class which inherits the udk one)

Link to comment
Share on other sites

Just wanted to thank you guys again for your great work on bringing these old favourites back. Just yesterday I got to play both EU Gas Station and EU Demolition on stream. It was a pleasure to be back on them in both cases.

 

http://www.twitch.tv/miss_jamball/v/4469875 - 7 mins for EU Gas Station, 3 hrs 30 mins for (Swarming) EU Demolition. Had a lot of fun.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...