Jump to content

R&D XCOM Map Alterations


Amineri

Recommended Posts

  • Replies 473
  • Created
  • Last Reply

Top Posters In This Topic

LiQuiD911, you can do almost anything with the scripts. :smile: However, it's not just a matter of moving an object, it's a matter of figuring out where to move a hundred of objects.

 

Let's take a capture-and-hold mission for example. It has a trigger zones, located near relays. Those triggers are used by WaveSystem, embedded in the map, to send a waves of reinforcements. Each wave has 10-20 origin and destination points, which depend on trigger volume location. It's a very complex system to change. We either need to re-write an entire stream file to create alternative streams, or get rid of that file and place all the volumes and other related objects with some complex script. In both cases this will require a lot of R&D and scripting.

Edited by wghost81
Link to comment
Share on other sites

I already cataloged a CNH stream a while ago. I'll catalog the exalt spawn points.

You could just move around the exalt spawn volumes, walk-in remain walk-in and chopper drop-downs remain drop-downs but with new location. Are you sure there are other kinds of trigger volumes? I'll recheck.

At least those are moddable without trouble :

 

  Reveal hidden contents

 

all this stuff is nicely packed in XcomWaveSystem

 

If tracking all the spawnpoint names in the various streams is a problem, a single stream could be mapped and then copy-pasted for all maps.

There's also the option not to reveal spawned units ( I haven't tested if it wokrs) if someone wants evil-er exalt missions xD

Edited by LiQuiD911
Link to comment
Share on other sites

Wave system for all the maps is documented here: http://forums.nexusmods.com/index.php?/topic/1231530-modding-exalt/?p=11281033

 

The biggest problem with CNH missions is the map size: there's not enough space to move transmitter to.

 

Let's take a look at Commercial Restaurant map:

http://i.imgur.com/1wuKJCt.jpg

 

Where can we move transmitter/encoder to? Only option I see is to switch their placement and move LZ to terror position.

 

I'm thinking about trashing those streams and creating our own special missions with scripting only. I'm experimenting with escort an rescue missions now.

Link to comment
Share on other sites

  Quote

My idea was to "exalt" the other maps since there are only 10 per mission type

Sorry, I misunderstood you then. But still it's a loot of manual work.

 

Actually, I don't like exalt missions at all, so I started with Council missions. :smile: But yes, if I'll be able to script escort/rescue mission, I'll start working on exalt missions.

Link to comment
Share on other sites

  • 2 weeks later...

This post is based off tracktwo discoveries in sound replacement topic. Just some general thoughts I decided to share. :smile:

 

So, it seems like both engine and licensee package numbers affect serialization process. As far as I understand the matter from UDN articles, each time developers change serialization code, they should increase version number, because this affects how packages are saved and loaded. But this seems to be the case for UE developers, not for game developers, using paid UE version.

 

Free UDK has licensee number set to zero. It uses pure engine-version matching serialization code to read/write packages and rejects any packages with non-zero licensee number.

 

Game developers have their own non-zero licensee numbers, which are different for every game. And when they make their own serialization code changes, they do not increase engine version number (which is logical), but tie that new code to their unique licensee number instead. This results in game being able to read both packages with zero licensee number and game specific packages with corresponding licensee number.

 

I think, it's the one of the reasons why we can't open XCOM maps and other packages with UDK: when we try to use those as they are, UDK says licensee number is wrong, and when we hex edit those to set licensee number to zero, UDK crashes, most probably because of the unexpected XCOM specific serialized data.

 

This fact prevents us from modding existing packages, but we can also use it to our advantage, as we did with voice packages: we can use UDK to create common engine-version dependent part and handle XCOM-specific part inside a script (when it is possible).

Edited by wghost81
Link to comment
Share on other sites

Oh my god :smile: This seems to be true for materials as well.

 

Licensee 00 - default material used

[0048.45] Log: Material CrapMat has outdated uniform expressions; regenerating.
[0048.45] Log: Can't compile CrapMat with seekfree loading path on console, will attempt to use default material instead
[0048.45] Warning: Warning, Failed to compile Material D79TestPackage.CrapMat for platform PC-D3D-SM3, Default Material will be used in game.

Licensee 40 - the game crashes

[0071.45] Critical: appError called: Material D79TestPackage.CrapMat: Serial size mismatch: Got 232, Expected 208
Edited by Drakous79
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...