LiQuiD911 Posted September 8, 2014 Share Posted September 8, 2014 (edited) I am not sure about that.. I think I read that prefabs are turned into actors when the map is cooked , when that is done the prefabs are useless leftovers. But I am new to the UE so I may be mistaken. Edit: By the way, is it a good idea to code like am doing at the moment? I mean using global offsets to patch the map. Edited September 8, 2014 by LiQuiD911 Link to comment Share on other sites More sharing options...
wghost81 Posted September 8, 2014 Share Posted September 8, 2014 (edited) LiQuiD911, yes, you're right. Prefabs are converted to normal actors. There are 10 archetypes inside SoldierSpawns_DrpshipVol prefab: SoldierSpawns_DrpshipVol_Arc0 SoldierSpawns_DrpshipVol_Arc1 SoldierSpawns_DrpshipVol_Arc2 SoldierSpawns_DrpshipVol_Arc3 SoldierSpawns_DrpshipVol_Arc4 SoldierSpawns_DrpshipVol_Arc5 SoldierSpawns_DrpshipVol_2Arc0 SoldierSpawns_DrpshipVol_7Arc0 SoldierSpawns_DrpshipVol_12Arc0 SoldierSpawns_DrpshipVol_12Arc1 There also are 10 level objects: PlayerStart_1 uses SoldierSpawns_DrpshipVol_2Arc0 archetype PointInSpace_1 - SoldierSpawns_DrpshipVol_12Arc1 XComBuildingVolume_1 - SoldierSpawns_DrpshipVol_Arc0 XComLevelActor_1 - SoldierSpawns_DrpshipVol_12Arc0 XComSpawnPoint_10 - SoldierSpawns_DrpshipVol_Arc5 XComSpawnPoint_11 - SoldierSpawns_DrpshipVol_7Arc0 XComSpawnPoint_6 - SoldierSpawns_DrpshipVol_Arc1 XComSpawnPoint_7 - SoldierSpawns_DrpshipVol_Arc2 XComSpawnPoint_8 - SoldierSpawns_DrpshipVol_Arc3 XComSpawnPoint_9 - SoldierSpawns_DrpshipVol_Arc4 SoldierSpawns_DrpshipVol_12Arc0 is an archetype of archetype ARC_Drop_Zone, which can be found in FX_VH_Skyranger - a collection of meshes, materials and other things I know nothing about. :smile: Edited September 8, 2014 by wghost81 Link to comment Share on other sites More sharing options...
wghost81 Posted September 8, 2014 Share Posted September 8, 2014 (edited) LiQuiD911, yes, you can use global offsets safely. They aren't recommended for scripts for compatibility reasons. Anyway, while experimenting, you can use whatever approach you like most. Edited September 8, 2014 by wghost81 Link to comment Share on other sites More sharing options...
LiQuiD911 Posted September 8, 2014 Share Posted September 8, 2014 Compare with KDIFF the Soldier spawn prefabs of 2 different maps, i think the vector values are identical between maps. Link to comment Share on other sites More sharing options...
wghost81 Posted September 8, 2014 Share Posted September 8, 2014 Seems, that assault Council mission streams are a good starting point for making our own "LZ stream packages", as they have minimum number of additional objects. Since LiQuiD911 is experimenting with URB_ResearchOutpost_Stream.upk, I took that map too and disabled all kismet objects by simply setting all the MainSequence references to null: UPK_FILE=URB_ResearchOutpost_Stream.upk OBJECT=TheWorld.PersistentLevel.Main_Sequence REL_OFFSET=32 [MODDED_CODE] <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> <NullRef> Who knows what is the "asset" object for this map? Does it even exists for this particular mission? If so, we'll need to hide it as well. Link to comment Share on other sites More sharing options...
johnnylump Posted September 8, 2014 Share Posted September 8, 2014 Don't all of those key on some piece of existing terrain (like the alien junk in the truck trailer at the truck stop, or the computer in the office park) ? Perhaps it's a reference to those? Link to comment Share on other sites More sharing options...
LiQuiD911 Posted September 8, 2014 Share Posted September 8, 2014 I don't recall that there is a specific asset, I think the the entire outpost is the asset.. I'll check later Link to comment Share on other sites More sharing options...
wghost81 Posted September 8, 2014 Share Posted September 8, 2014 I can't remember if those objects are different in any way from those on regular maps. Anyway, with kismet disabled it probably won't show up. I've also wrote a script to change Group0 tag to Group1 (copy-pasting code too, as I'm playing with maps instead of adding REPLACE_ALL key to patcher :smile: ): UPK_FILE=URB_ResearchOutpost_Stream.upk [ADD_NAME_ENTRY] <%u 7> // Length <%t "Group1"> // Name <%u 0x00000000> // flags L <%u 0x00070010> // flags H OBJECT=TheWorld.PersistentLevel.PlayerStart_1 FIND_CODE=<Group0> MODDED_CODE=<Group1> OBJECT=TheWorld.PersistentLevel.PointInSpace_1 FIND_CODE=<Group0> MODDED_CODE=<Group1> OBJECT=TheWorld.PersistentLevel.PrefabInstance_0 FIND_CODE=<Group0> MODDED_CODE=<Group1> OBJECT=TheWorld.PersistentLevel.XComBuildingVolume_1 FIND_CODE=<Group0> MODDED_CODE=<Group1> OBJECT=TheWorld.PersistentLevel.XComLevelActor_1 FIND_CODE=<Group0> MODDED_CODE=<Group1> OBJECT=TheWorld.PersistentLevel.XComSpawnPoint_10 FIND_CODE=<Group0> MODDED_CODE=<Group1> OBJECT=TheWorld.PersistentLevel.XComSpawnPoint_11 FIND_CODE=<Group0> MODDED_CODE=<Group1> OBJECT=TheWorld.PersistentLevel.XComSpawnPoint_6 FIND_CODE=<Group0> MODDED_CODE=<Group1> OBJECT=TheWorld.PersistentLevel.XComSpawnPoint_7 FIND_CODE=<Group0> MODDED_CODE=<Group1> OBJECT=TheWorld.PersistentLevel.XComSpawnPoint_8 FIND_CODE=<Group0> MODDED_CODE=<Group1> OBJECT=TheWorld.PersistentLevel.XComSpawnPoint_9 FIND_CODE=<Group0> MODDED_CODE=<Group1> This change has no effect, so, Spawn Group for maps with multiple spawn zones (as UFO maps) is probably selected by kismet. Kismet can also be used to hide unused groups. But I'll search XComGame code just to be sure. If so and those are kismet scripts, we'll need to add our own code to randomly select a group and hide unused groups in XComGame. Link to comment Share on other sites More sharing options...
LiQuiD911 Posted September 8, 2014 Share Posted September 8, 2014 (edited) If we do the streaming map thing, we won't need more than 2 groups, 0 is the original, 1 is the new.We must stick to that unless we find a way to insert new objects to the stream. btw the offset/modded_code is acting strange.. only one of 6 locations is edited let me double check the offsets //--------------------------------------SPAWN POINT 6 -----------------------------------------------// OFFSET=0x00024798 // Vector (X, Y, Z) = (0x4500FFFF, 0xC41BFFFE, 0x423FFFFF) = (2064, -624, 48) MODDED_CODE= <%f -3217><%f 300><%f 64> // Vector(x,y,z) //REL_OFFSET=32 //Rotator (Pitch, Yaw, Roll) = (0x00000000, 0xFFFF8200, 0x00000000) = (0, 4294935040, 0) //MODDED_CODE= <%i 0><%i 4294935040><%i 0> // Rotator (Pitch, Yaw, Roll) //--------------------------------------SPAWN POINT 6 -----------------------------------------------// //--------------------------------------SPAWN POINT 7 -----------------------------------------------// OFFSET=0x0002484e // Vector (X, Y, Z) = (0x44F5FFFE, 0xC44BFFFE, 0x423FFFFF) = (1968, -816, 48) MODDED_CODE= <%f -3217><%f 300><%f 64> // Vector(x,y,z) //REL_OFFSET=32 //Rotator (Pitch, Yaw, Roll) = (0x00000000, 0xFFFF8200, 0x00000000) = (0, 4294935040, 0) //MODDED_CODE= <%i 0><%i 4294935040><%i 0> // Rotator (Pitch, Yaw, Roll) //--------------------------------------SPAWN POINT 7 -----------------------------------------------// //--------------------------------------SPAWN POINT 8 -----------------------------------------------// OFFSET=0x00024904 // Vector (X, Y, Z) = (0x450CFFFF, 0xC41BFFFE, 0x423FFFFF) = (2256, -624, 48) MODDED_CODE= <%f -3217><%f 300><%f 64> // Vector(x,y,z) //REL_OFFSET=32 //Rotator (Pitch, Yaw, Roll) = (0x00000000, 0x00007EA0, 0x00000000) = (0, 32416, 0) //MODDED_CODE= <%i 0><%i 4294935040><%i 0> // Rotator (Pitch, Yaw, Roll) //--------------------------------------SPAWN POINT 8 -----------------------------------------------// //--------------------------------------SPAWN POINT 9 -----------------------------------------------// OFFSET=0x000249ba // Vector (X, Y, Z) = (0x4506FFFF, 0xC44BFFFE, 0x423FFFFF) = (2160, -816, 48) MODDED_CODE= <%f -3217><%f 300><%f 64> // Vector(x,y,z) //REL_OFFSET=32 //Rotator (Pitch, Yaw, Roll) = (0x00000000, 0x00007EA0, 0x00000000) = (0, 32064, , 0) //MODDED_CODE= <%i 0><%i 4294935040><%i 0> // Rotator (Pitch, Yaw, Roll) //--------------------------------------SPAWN POINT 9 -----------------------------------------------// //--------------------------------------SPAWN POINT 10 -----------------------------------------------// OFFSET=0x0002462c //Vector (X, Y, Z) = (0x4500FFFF, 0xC47BFFFE, 0x423FFFFF) = (2064, -1008, 48) MODDED_CODE= <%f -3217><%f 300><%f 64> // Vector(x,y,z) //REL_OFFSET=32 //Rotator (Pitch, Yaw, Roll) = (0x00000000, 0x00007EA0, 0x00000000) = (0, 31872, , , 0) //MODDED_CODE= <%i 0><%i 4294935040><%i 0> // Rotator (Pitch, Yaw, Roll) //--------------------------------------SPAWN POINT 10 -----------------------------------------------// //--------------------------------------SPAWN POINT 11 -----------------------------------------------// OFFSET=0x000246e2 //Vector (X, Y, Z) = (0x450CFFFF, 0xC47BFFFE, 0x423FFFFF) = (2256, -1008, 48) MODDED_CODE= <%f -3217><%f 300><%f 64> // Vector(x,y,z) //REL_OFFSET=32 //Rotator (Pitch, Yaw, Roll) = (0x00000000, 0x00007EA0, 0x00000000) = (0, 32128 , 0) //MODDED_CODE= <%i 0><%i 4294935040><%i 0> // Rotator (Pitch, Yaw, Roll) //--------------------------------------SPAWN POINT 11 -----------------------------------------------// Edited September 8, 2014 by LiQuiD911 Link to comment Share on other sites More sharing options...
wghost81 Posted September 8, 2014 Share Posted September 8, 2014 LiQuiD911, tokens must be separated with white-space: <%f 1> /* any number of spaces here */ <%f 2> I'm a biggest idiot there is: stream map kismet already has actor removal event. I just need to leave it and delete all the others. In this case we won't need to change spawn group and original spawn zone will be removed from map by kismet. Link to comment Share on other sites More sharing options...
Recommended Posts