Jump to content

R&D XCOM Map Alterations


Amineri

Recommended Posts

YAY! How come nobody saw this before?! Streams are configured in DefaultMaps, I can make 4 extra streams, make 4 entries of the same map but with different stream in defaultmaps. Each stream has different start points and extraction. And there you go - maps with multiple starting points. For now the only problem is that i cannot remove the original extraction zone,but i can hide it off the map, however i think extraction missions would zoom at it. I think we could add extraction/rescue/capture and hold on any map. A setback is that these count as different maps and the mapcycler could extract the same map base 2 times in a row.

 

wghost, yeah REPLACE_ALL should be fine.. actualy it's not so urgent, i wanted a command like that because i was too lazy to change the local offset after each float write in my 3d mesh patch

Edited by LiQuiD911
Link to comment
Share on other sites

  • Replies 473
  • Created
  • Last Reply

Top Posters In This Topic

Note that the names of council mission maps are hardcoded in XComStrategyGame.upk, XGFundingCouncil, BuildMission(), keying on DisplayName field. I'm not sure what it would do if you had two maps with the same displayname, so you might have to code up a distinct council mission for a different map. But I could be wrong there.

 

Also, do we know what the following fields do in the streamingmaps entry?

Loc=( X=0, Y=0, Z=0 ), Rot=( Pitch=0, Yaw=0, Roll=0 )

...

 

 

In terms of changing the start location for simple abduction or terror maps (my primary interest), the idea would be to write up a streaming upk that moves the extraction volume, blue particle effect, and xcom start point, and then have that as a distinct map entry in defaultmaps.ini, based on the "regular" map of the same type? That would be great ... would allow for distribution independent of other mods.

 

Would the next step be to develop a template that just needs a few entries for UDK?

 

Fantastic work. Terrific potential here.

Edited by johnnylump
Link to comment
Share on other sites

Yes, if we'd create new council maps with different streams, we'd also need to change their names and add those maps into mission selection algorithm inside upk.

 

I will try to make a stream map with UDK and see if it'll work.

 

> Also, do we know what the following fields do in the streamingmaps entry?

 

http://udn.epicgames.com/Three/LevelStreamingHowTo.html They seem to be coordinates at which map is streamed, but since all stream maps in XCOM are cinematic sequences and kismet scripts, those are irrelevant. Although, I was thinking about streaming two existing maps at different coordinates and kinda join them together. It is theoretically possible, because it's what streaming is actually intended for in UE.

Edited by wghost81
Link to comment
Share on other sites

Well I already have a working stream... the PierB one.. I move a dropzone highlight and volume, however at the start bradford tells a single line about the research outpost, but for now it works (: Moving the skyranger would not be seamless because I think it's shadow is baked in the ground texture.

There's also the question what to do with the original drop zone. I am currently testing if Group tags would erase it.

http://i61.tinypic.com/kx406.jpg

 

 

 

I am having trouble pinpointing coordinates in the game level. Is there a command that displays coordinates during play?

The following code works with an UNPACKED copy of URB_PierA_StreamB. For patching I use global offsets in the upk.Uhm why does DeserializeAll show different endians? a float 0x451AFFFE shows as 0xFEFF1A45

in the map binary

MOD_NAME= Street Overpass patcher
AUTHOR=liquid
DESCRIPTION= mods the streams

UPK_FILE=URB_StreetOverpass_Stream3.upk

//GLOBAL OFFSETS FOR RESEARCH OUTPOST STREAM

//--------------------------------------EXTRACTION POINT HIGHLIGHT-----------------------------------------------//
// Vector (X, Y, Z) = (0x451AFFFE, 0xC4470000, 0x34000000) = (2480, -796, 1.19209e-007)
//Outpost 1st   0x0000c33c
//Outpost 2nd 0x0002455a <-

OFFSET=0x0002455a

//X
REL_OFFSET=0
FLOAT= -3200
//Y
REL_OFFSET=4
FLOAT= 300
//Z
REL_OFFSET=8
FLOAT=16

//--------------------------------------EXTRACTION POINT HIGHLIGHT-----------------------------------------------//

//-------------------------------------------EXTRACTION VOLUME----------------------------------------------------//
//Vector (X, Y, Z) = (0x451BFA51, 0xC44C186A, 0x42BDC2B7) = (2495.64, -816.381, 94.8803)

OFFSET=0x0002445c
//X
REL_OFFSET=0
FLOAT= -3600
//Y
REL_OFFSET=4
FLOAT= 300
//Z
REL_OFFSET=8
FLOAT=96
//-------------------------------------------EXTRACTION VOLUME----------------------------------------------------//
Edited by LiQuiD911
Link to comment
Share on other sites

You can write it like this:

MOD_NAME= Street Overpass patcher
AUTHOR=liquid
DESCRIPTION= mods the streams

UPK_FILE=URB_StreetOverpass_Stream3.upk

//GLOBAL OFFSETS FOR RESEARCH OUTPOST STREAM

//--------------------------------------EXTRACTION POINT HIGHLIGHT-----------------------------------------------//
// Vector (X, Y, Z) = (0x451AFFFE, 0xC4470000, 0x34000000) = (2480, -796, 1.19209e-007)
//Outpost 1st   0x0000c33c
//Outpost 2nd 0x0002455a <-

OFFSET=0x0002455a

MODDED_CODE=<%f -3200> <%f 300> <%f 16> // (x, y, z)

//--------------------------------------EXTRACTION POINT HIGHLIGHT-----------------------------------------------//

//-------------------------------------------EXTRACTION VOLUME----------------------------------------------------//
//Vector (X, Y, Z) = (0x451BFA51, 0xC44C186A, 0x42BDC2B7) = (2495.64, -816.381, 94.8803)

OFFSET=0x0002445c

MODDED_CODE=<%f -3600> <%f 300> <%f 96> // (x, y, z)
//-------------------------------------------EXTRACTION VOLUME----------------------------------------------------//

You can turn on cursor location info with "ShowCursorLoc" console command.

 

After experimenting with creating map in UDK, I have to make a confession: I'm totally clueless about map making process. I don't know what all those static mesh components and other things do.

 

But I can tell this: *.udk map packages are same as *.upk maps and can be deserialized and analyzed with UPKUtils.

Link to comment
Share on other sites

While searching for LZ archetypes inside a map package I found they're organized in "prefabs": http://udn.epicgames.com/Three/UsingPrefabs.html

 

SoldierSpawns_DrpshipVol_12Arc0 is one of the DGN_DropShipSoldierSpawn prefabs. Finally some more info on objects outside TheWorld object. :smile:

 

Will do some more readings. Modding is fun: I'm getting quite an education now. :smile:

Edited by wghost81
Link to comment
Share on other sites

DGN_DropShipSoldierSpawn is a prefab: a collection of objects, grouped together to form a bigger object. A drop zone with Skyranger in this case.

 

URB_ResearchOutpost_Stream has this prefab saved inside and has its instance at TheWorld.PersistentLevel named PrefabInstance_0. This instance uses default property values of a prefab and defines Location, Rotation and Tag property. Location and Rotation determine instance location and rotation and Tag determines a spawn group (Group0 - an only spawn group at this map). I think, by changing Location and Rotation properties of this instance, we could move an entire drop zone with a dropship at once.

Edited by wghost81
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...