wghost81 Posted September 9, 2014 Share Posted September 9, 2014 johnnylump, yes. Because we can't figure out why streams are not working for some maps. Link to comment Share on other sites More sharing options...
LiQuiD911 Posted September 9, 2014 Share Posted September 9, 2014 About moving the pickup in CB2_MP_Blank : I can move the main actor of the pickup, it relocates the model which can be destroyed, dealing damage around the new location.However it doesn't move the cover, in fact pawns can walk trough it. The initial location has cover, blocks vision and contains the shadow ( could it be baked it the texture?). When the pickup explodes it leaves the hull which oddly provides cover!TheWorld.PersistentLevel.XComDestructibleActor_0This actor contains the windows of the carTheWorld.PersistentLevel.XComFracLevelActor_0 UE explorer provides more information than upk unpack on the mesh fileVEH_PickupTruckB.Meshes.PickUpB.RB_BodySetup_3 begin object name=RB_BodySetup_3 class=RB_BodySetup PreCachedPhysDataVersion=34079889 AggGeom=(BoxElems=/* Array type was not detected. */,TM=(XPlane=(X=0.0,Y=0.0,Z=0.0,W=-1.0),YPlane=(X=0.0,Y=0.0,Z=0.99999990,W=0.0),ZPlane=(X=0.0,Y=0.99999990,Z=0.0,W=0.0),WPlane=(X=1.0,Y=0.60572810,Z=-1.9781340,W=47.739940)),X=95.479870,Y=362.56870,Z=159.36520)object end// Reference: RB_BodySetup'VEH_PickupTruckB.Meshes.PickUpB.RB_BodySetup_3' the last XYZ contains part of the the colision box for the 3d engine@ghost, how can I refer to those 3 values int the patch tool?the tools don't give me any aditional information.. where could the initial cover/vision be located? Link to comment Share on other sites More sharing options...
wghost81 Posted September 9, 2014 Share Posted September 9, 2014 (edited) DeserializeAll can't read beyond DefaultProperties for most of the map actors ATM. LiQuiD911, you can use FIND_CODE to search for those numbers:FIND_CODE=<%f 95.479870> <%f 362.56870> <%f 159.36520> MODDED_CODE=/*new values here*/ But as floating-point representation is not always accurate, patcher might end up finding nothing. You could also export this object binary data into separate file with UE Explorer or FindObjectEntry, locate those numbers with HxD and determine their relative offset. Working with objects of unknown structure is a pain, I know. :smile: Edited September 9, 2014 by wghost81 Link to comment Share on other sites More sharing options...
Zyxpsilon Posted September 10, 2014 Share Posted September 10, 2014 (edited) **Deleted** (Nexus acting up on My Firefox cache dispatch) Edited September 10, 2014 by Zyxpsilon Link to comment Share on other sites More sharing options...
Zyxpsilon Posted September 10, 2014 Share Posted September 10, 2014 ....An idea : put back the 3 missions on the hologlobe and add make a bomb/hostage for ALL the maps.. well instead of "abductions" we'll have "alien situations" *THIS* is also what i meant by another similar post in LW (Features & Suggestions) too. Mine revolved around having to provide a choice between three different locations (Cities or sub-urbans areas created specifically in the INI lists for such stuff) in the same Country as the first item... etc! You can read more about this (custom) principle here; http://forums.nexusmods.com/index.php?/topic/1210174-long-war-feature-requests-and-suggestions/?p=18171309 Strictly speaking, it multiplies the probabilities of "Mission types" and allocates a complex path to decisions. It's a supplemental layer to gameplay while sticking the story flow far beyond the currently restricted span of events.Having alternate Trooper "operatives" on monitoring duties would be Icing on the cake. Code-wise it might be a pain -- but just imagine the players' gain. ;) :ninja:!! :cool: Link to comment Share on other sites More sharing options...
johnnylump Posted September 10, 2014 Share Posted September 10, 2014 I can move the main actor of the pickup, it relocates the model which can be destroyed, dealing damage around the new location.However it doesn't move the cover, in fact pawns can walk trough it. The initial location has cover, blocks vision and contains the shadow ( could it be baked it the texture?). When the pickup explodes it leaves the hull which oddly provides cover! I just would like to remark that moving a truck is an accomplishment worthy of note. Link to comment Share on other sites More sharing options...
wghost81 Posted September 10, 2014 Share Posted September 10, 2014 Bit of a bad news here. I can add a very complex structures to package, but I can't make those to initialize properly via config. Example: struct MapObjData { var name Obj; var Vector Loc; var Rotator Rot; }; struct RandLZData { var string MapName; var XGGameData.EFCMissionType CouncilType; var MapObjData MapObj[10]; }; var config array<config RandLZData> RandLZ; I've added this to XComGameInfo and added new config entry: [XComGame.XComTacticalGame] .RandLZ=( MapName="URB_Bar", CouncilType=eFCMType_None, MapObj[0]=( Obj="PlayerStart_2", Loc=( X=0, Y=0, Z=0 ), Rot=( Pitch=0, Yaw=0, Roll=0 ) ), MapObj[1]=( Obj="XComBuildingVolume_6", Loc=( X=0, Y=0, Z=0 ), Rot=( Pitch=0, Yaw=0, Roll=0 ) ), MapObj[2]=( Obj="XComLevelActor_6", Loc=( X=0, Y=0, Z=0 ), Rot=( Pitch=0, Yaw=0, Roll=0 ) ), MapObj[3]=( Obj="PointInSpace_22", Loc=( X=0, Y=0, Z=0 ), Rot=( Pitch=0, Yaw=0, Roll=0 ) ), MapObj[4]=( Obj="XComSpawnPoint_22", Loc=( X=0, Y=0, Z=0 ), Rot=( Pitch=0, Yaw=0, Roll=0 ) ), MapObj[5]=( Obj="XComSpawnPoint_23", Loc=( X=0, Y=0, Z=0 ), Rot=( Pitch=0, Yaw=0, Roll=0 ) ), MapObj[6]=( Obj="XComSpawnPoint_18", Loc=( X=0, Y=0, Z=0 ), Rot=( Pitch=0, Yaw=0, Roll=0 ) ), MapObj[7]=( Obj="XComSpawnPoint_19", Loc=( X=0, Y=0, Z=0 ), Rot=( Pitch=0, Yaw=0, Roll=0 ) ), MapObj[8]=( Obj="XComSpawnPoint_20", Loc=( X=0, Y=0, Z=0 ), Rot=( Pitch=0, Yaw=0, Roll=0 ) ), MapObj[9]=( Obj="XComSpawnPoint_21", Loc=( X=0, Y=0, Z=0 ), Rot=( Pitch=0, Yaw=0, Roll=0 ) ) ) RandLZ object can be accessed. It even has 1 element added. But all the values are empty. Good thing is, simple configurable arrays do work: var config array<config string> PlayerStartMap; ... [XComGame.XComTacticalGame] .PlayerStartMap="URB_Bar" We can try to initialize data using DefaultProperties, but doing this manually will take forever. I'm going to investigate UDK possibility, but this will take some time. Still, we can use streams for maps which allow streaming and we can create a copies of the other maps and edit LZ coordinates directly. We should also try to figure out why some maps won't accept streamed LZ data. Link to comment Share on other sites More sharing options...
johnnylump Posted September 10, 2014 Share Posted September 10, 2014 (edited) I was wondering if you were going to be able to create new working config variables, because we hadn't had any luck doing so. But instead of throwing out this method, why not get a little more hacky and repurpose existing config variables, as we've done a bunch of times in LW. There are some dynamic arrays that would seem to allow for open-ended configurations, which would be a lot easier to modify for a given modder over whole new streaming files (and would save Long War the trouble of adding a bunch of new files to its install). What's the minimum number of variables you need for a single alternate start location? I can think of 5, maybe 6?1) Which Map2) X3) Y4) Z5) Rotation of LZ6) Some kind of direction indicator where XCOM pawn 1 should go; the other pawns can be placed off of this. And this may not be necessary if based on 1 through 4. Yes, this means we can't do drop points away from LZ (although we might be able to encode something along those lines), but it still solves the basic problem. EDIT: If necessary, you could even pack variables into fewer numbers. Edited September 10, 2014 by johnnylump Link to comment Share on other sites More sharing options...
LiQuiD911 Posted September 10, 2014 Share Posted September 10, 2014 (edited) Now I am absolutely sure that shadows cast by objects are part of the textures,even if we manage to move map objects,the result won't be very pretty. Block view/ block path/cover objects are nowhere to be found ... even on a map with only a van,a pickup and a wall. I have a hunch that they might be in TheWorld.PersistentLevel ,it's a big file which cointains in the start a list of object names ,then followed by a shedload of floats but I cannot find a clear structure in it. Has anyone seen a structure like this? http://i59.tinypic.com/5m0lt2.jpg And it goes on and on.. I don't think it's a 3d model because of the list of objects in the start. @zyxplsilon, wokring with streams requires almost no moding experience, anyone could hexedit the locations objects of vip/trasmitter and encoder/arrays, as it is documented in the thread. You could always make a mod compattable with b13, for the future versions it all depends on how wghost implements the lz movement. That REPLACE_ALL occurences command might come in handy :D (of course it is not a priority atm )I would like to check if those are prefab variables or not. Edited September 10, 2014 by LiQuiD911 Link to comment Share on other sites More sharing options...
wghost81 Posted September 10, 2014 Share Posted September 10, 2014 (edited) I had created new config variables before for mutator enabler, so it is doable. Most of those classes are native, this could be a source of a problem. I can pack all variables into one long string and then parse that string. But it will take quite a time to write such a code in hex. BTW, I found out how SeqAct_RemoveActor actually works: it tries to delete exact actor if it exists, if not - it uses Tag property to delete all actors with given Tag. For Research Outpost map all the LZ objects have Tag=deleteme. Green abduction things are also marked with this tag, they get replaced by Special green things taken from map stream. This means we can't actually use those maps to stream LZ data, as we can't remove those new objects. The most reliable way to create new LZ ATM is to make a copy of existing map and change LZ location. I want to emphasize, that we can and we will randomize LZ placement. Important thing is: we know what objects we should look for, so it's just a matter of time to figure out an optimal way to work with those. Edited September 10, 2014 by wghost81 Link to comment Share on other sites More sharing options...
Recommended Posts