LiQuiD911 Posted September 30, 2014 Share Posted September 30, 2014 Awesome! :D However I still cannot understand why exalt modifications aren't possible. You can't move streamed objects using mutators? Link to comment Share on other sites More sharing options...
LiQuiD911 Posted September 30, 2014 Share Posted September 30, 2014 (edited) double posted ,sorry xD Edited September 30, 2014 by LiQuiD911 Link to comment Share on other sites More sharing options...
wghost81 Posted September 30, 2014 Share Posted September 30, 2014 (edited) 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 September 30, 2014 by wghost81 Link to comment Share on other sites More sharing options...
LiQuiD911 Posted September 30, 2014 Share Posted September 30, 2014 (edited) 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 : Map Comercial Restaurant CNHdecoderBIGTheWorld.PersistentLevel.XComCapturePointVolume_0decoderSMALLTheWorld.PersistentLevel.XComRebuildWorldDataVolume_9trasmiterBiGTheWorld.PersistentLevel.XComCapturePointVolume_1TheWorld.PersistentLevel.XComRebuildWorldDataVolume_1encoder actorTheWorld.PersistentLevel.XComCapturePointActor_14trasmiter actorTheWorld.PersistentLevel.XComCapturePointActor_15array actorsTheWorld.PersistentLevel.XComRadarArrayActor_12TheWorld.PersistentLevel.XComRadarArrayActor_13TheWorld.PersistentLevel.XComRadarArrayActor_14TheWorld.PersistentLevel.XComRadarArrayActor_15 the array actors move with them their triggers and cover The first wave of exalts are 2 units, who come from 2 spawngroups.These are the final positions of the units who come from spawngroup 1. I'm pretty sure it chooses one of those points at random.XComSpawnPoint_Alien_30XComSpawnPoint_Alien_4XComSpawnPoint_Alien_5XComSpawnPoint_Alien_6 XComSpawnPoint_Alien_10XComSpawnPoint_Alien_12 The other unit ends up in one of those: XComSpawnPoint_Alien_18 XComSpawnPoint_Alien_16 XComSpawnPoint_Alien_13 XComSpawnPoint_Alien_14 XComSpawnPoint_Alien_20 XComSpawnPoint_Alien_22 The first group's units are created (and then walk-in ) inXComSpawnPoint_Alien_31 XComSpawnPoint_Alien_8XComSpawnPoint_Alien_2 XComSpawnPoint_Alien_9XComSpawnPoint_Alien_11XComSpawnPoint_Alien_0 and the other group starts at XComSpawnPoint_Alien_19 XComSpawnPoint_Alien_17 XComSpawnPoint_Alien_7XComSpawnPoint_Alien_15 XComSpawnPoint_Alien_21 XComSpawnPoint_Alien_23 all those locations are reused in following waves (but in the final more units spawn). also there are the chopper dropdowns 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 September 30, 2014 by LiQuiD911 Link to comment Share on other sites More sharing options...
wghost81 Posted October 1, 2014 Share Posted October 1, 2014 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 More sharing options...
dubiousintent Posted October 1, 2014 Share Posted October 1, 2014 (edited) The WaveSystem is also (now) documented (from that same thread) in the wiki article "Spawn Points". It is also covered in the "Units Deployment" article , which is cross-linked. -Dubious- Edited October 1, 2014 by dubiousintent Link to comment Share on other sites More sharing options...
LiQuiD911 Posted October 2, 2014 Share Posted October 2, 2014 Oh I see,there are greater plans for the exalt missions :) My idea was to "exalt" the other maps since there are only 10 per mission type, Link to comment Share on other sites More sharing options...
wghost81 Posted October 2, 2014 Share Posted October 2, 2014 My idea was to "exalt" the other maps since there are only 10 per mission typeSorry, 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 More sharing options...
wghost81 Posted October 12, 2014 Share Posted October 12, 2014 (edited) 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 October 12, 2014 by wghost81 Link to comment Share on other sites More sharing options...
Drakous79 Posted October 12, 2014 Share Posted October 12, 2014 (edited) 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 October 12, 2014 by Drakous79 Link to comment Share on other sites More sharing options...
Recommended Posts