Jump to content

R&D to Increase Squad Size


Beknatok

Recommended Posts

  • Replies 429
  • Created
  • Last Reply

Top Posters In This Topic

All right, I have done that. Are this two files everything for a bigger squad size or must I edit more files? Because yerude posted a lot more upks to change..

You will have to modify the Skyranger capacity to actually be able to select more soldiers. You can either use the changes detailed by yerude or modify the DefaultGameCore.ini for that. The change to XComGame.upk deals with fixing spawn locations so soldiers don't start out in odd places, it's recommended you apply that, too.

 

perfectly works on unpatched version of the EW too, many thanks

That's good to know, apparently the flash menu was left untouched by the patch.

Link to comment
Share on other sites

The Toolbooks script i posted is a summary of both the fixed spawning locations and the UI which were released in this thread before. I just made a working toolbooks mod of it.

But the UI does only work with lots of bugs for me. But marksthespot already said, the ui is just not finished and its just in work.

So if you do only use the corrected spawn locations it should work very well too.

Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks later...

I have the extra slot now but i cant add my extra squad member , help please :')

That's an issue that's currently being worked on.

In the interim you can use the following hex change to make the soldier slots fill in the proper order (and to allow more than 6 slots to be filled):

 

Goes into uncompressed XComStrategyGame.upk:

	+ before
		15 01 00 00 C5 00 00 00 1B 72 27 00 00 00 00 00 00 00 68 1C 00 00 00 67 1C 00 00 00 66 1C 00 00 4A 16 14 2D 01 5A 1C 00 00 2D 00 64 1C 00 00 0F 00 63 1C 00 00 19 00 65 1C 00 00 0A 00 30 44 00 00 00 1B 3A 11 00 00 00 00 00 00 16 0F 01 58 1C 00 00 19 00 63 1C 00 00 0A 00 0C 4B 00 00 00 1B 5E 11 00 00 00 00 00 00 16 55 01 5B 1C 00 00 03 00 2C 03 16 55 01 5B 1C 00 00 03 00 2C 02 16 55 01 5B 1C 00 00 03 00 2C 04 16 55 01 5B 1C 00 00 02 00 26 16 55 01 5B 1C 00 00 03 00 2C 05 16 55 01 5B 1C 00 00 02 00 25 16 0F 01 5D 1C 00 00 45 9A 01 58 1C 00 00 2C 06 16 02 00 2C 05 02 00 2C 04 54 01 5C 1C 00 00 2C 06 16 04 0B 53 
	+ after
		1A 01 00 00 C5 00 00 00 1B 72 27 00 00 00 00 00 00 00 68 1C 00 00 00 67 1C 00 00 00 66 1C 00 00 4A 16 14 2D 01 5A 1C 00 00 2D 00 64 1C 00 00 0F 00 63 1C 00 00 19 00 65 1C 00 00 0A 00 30 44 00 00 00 1B 3A 11 00 00 00 00 00 00 16 0F 01 58 1C 00 00 19 00 63 1C 00 00 0A 00 0C 4B 00 00 00 1B 5E 11 00 00 00 00 00 00 16 0F 00 79 1C 00 00 2C 06 0F 00 1E 1C 00 00 26 07 0A 01 98 00 1E 1C 00 00 2C 0C 16 55 01 5B 1C 00 00 03 00 00 79 1C 00 00 16 A1 00 79 1C 00 00 45 FD 00 1E 1C 00 00 2C 02 16 0C 00 93 25 00 1E 1C 00 00 16 09 00 00 1E 1C 00 00 16 A5 00 1E 1C 00 00 16 06 A4 00 54 01 5C 1C 00 00 2C 0C 16 04 0B 53 0B 0B 0B 

 

 

Also available in upk_mod format if you're using UPKModder:

 

Probably doesn't work correctly in conjunction with OTS naggers, so use at your own risk :smile:

 

X.

Edited by XMarksTheSpot
Link to comment
Share on other sites

 

I have the extra slot now but i cant add my extra squad member , help please :')

That's an issue that's currently being worked on.

In the interim you can use the following hex change to make the soldier slots fill in the proper order (and to allow more than 6 slots to be filled):

 

Goes into uncompressed XComStrategyGame.upk:

	+ before
		15 01 00 00 C5 00 00 00 1B 72 27 00 00 00 00 00 00 00 68 1C 00 00 00 67 1C 00 00 00 66 1C 00 00 4A 16 14 2D 01 5A 1C 00 00 2D 00 64 1C 00 00 0F 00 63 1C 00 00 19 00 65 1C 00 00 0A 00 30 44 00 00 00 1B 3A 11 00 00 00 00 00 00 16 0F 01 58 1C 00 00 19 00 63 1C 00 00 0A 00 0C 4B 00 00 00 1B 5E 11 00 00 00 00 00 00 16 55 01 5B 1C 00 00 03 00 2C 03 16 55 01 5B 1C 00 00 03 00 2C 02 16 55 01 5B 1C 00 00 03 00 2C 04 16 55 01 5B 1C 00 00 02 00 26 16 55 01 5B 1C 00 00 03 00 2C 05 16 55 01 5B 1C 00 00 02 00 25 16 0F 01 5D 1C 00 00 45 9A 01 58 1C 00 00 2C 06 16 02 00 2C 05 02 00 2C 04 54 01 5C 1C 00 00 2C 06 16 04 0B 53 
	+ after
		1A 01 00 00 C5 00 00 00 1B 72 27 00 00 00 00 00 00 00 68 1C 00 00 00 67 1C 00 00 00 66 1C 00 00 4A 16 14 2D 01 5A 1C 00 00 2D 00 64 1C 00 00 0F 00 63 1C 00 00 19 00 65 1C 00 00 0A 00 30 44 00 00 00 1B 3A 11 00 00 00 00 00 00 16 0F 01 58 1C 00 00 19 00 63 1C 00 00 0A 00 0C 4B 00 00 00 1B 5E 11 00 00 00 00 00 00 16 0F 00 79 1C 00 00 2C 06 0F 00 1E 1C 00 00 26 07 0A 01 98 00 1E 1C 00 00 2C 0C 16 55 01 5B 1C 00 00 03 00 00 79 1C 00 00 16 A1 00 79 1C 00 00 45 FD 00 1E 1C 00 00 2C 02 16 0C 00 93 25 00 1E 1C 00 00 16 09 00 00 1E 1C 00 00 16 A5 00 1E 1C 00 00 16 06 A4 00 54 01 5C 1C 00 00 2C 0C 16 04 0B 53 0B 0B 0B 

 

 

Also available in upk_mod format if you're using UPKModder: http://forums.nexusmods.com/public/style_images/underground/attachicon.gifUISquadSelect_SquadList_Init.zip

 

Probably doesn't work correctly in conjunction with OTS naggers, so use at your own risk :smile:

 

X.

 

Thanks, also when i was playing enemy unknown i could just edit the skyranger capacity in the defaultgamecore.ini to add more soldier but it doesnt work for Enemy Within, is this just me? and i cant find the uncompressed xcomstrategygame.upk

Edited by ninjamp8
Link to comment
Share on other sites

With the updated Flash code developed by XMarksTheSpot, some upk work by Johnnylump, and using UPKmodder to port some of Bertilsson's EU patch 4 upk code, I appear to having everything for the larger squad size working excepting the soldier pawn cycling.

 

The code which handles the HQ pawns has changed quite a bit, and I never really understood what was happening before, so it may take some digging to ferret out how to get it working in EW. Currently the version I have running in our Long War EW alpha displays the pawns of only the first six soldiers. All are in correct poses and there's no extra overlapping soldiers, so it's not completely horrible, but I'm going to see what I can get working.

Link to comment
Share on other sites

I've been digging a bit into the SeqEvents that appear to handle the displaying of the soldier pawns (not just in the dropship, but everywhere in HQ).

 

Here is what I've traced out so far:

  • From XGStrategySoldier.AddToHQLocation, XGStrategySoldier.AddToLocation is called
  • AddToLocation first maps Location to state (which is what allows off-duty soldiers to be dressed in casual clothing in the barracks), then creates the pawn, then invokes class'SeqEvent_HQUnits'.static.AddUnitToRoomSequence
    • This can include the various cinematics (e.g. eSoldierLoc_PsiLabsCinematic) in which case the pawn is immediately destroyed.
    • The RoomName string argument for the squad select (location 1 = eSoldierLoc_Dropship) is "Dropship". The complete mapping from location value to RoomSequence RoomName is below
  • AddUnitToRoomSequence gets the first free open slot if none is specified (useful for the barracks view where you don't care about particular ordering), then invokes GetSpecializedRoomName (which is misnamed as it actually returns the RoomClass, possibly specialized, then invokes AddUnit to the Room returned in the previous step
  • GetSpecializedRoomName appends MEC or SHIV suffixes (as needed) to the roomname and then calls FindHQRoomSequence

FindHQRoomSequence is where the trail gets difficult to follow, but is the key next step:

class'Engine'.static.GetCurrentWorldInfo().GetGameSequence().FindSeqObjectsByClass(class'SeqEvent_HQUnits', true, HQUnitEvents);
Idx = 0;
J0x69:
if(Idx < HQUnitEvents.Length)
{
   UnitMap = SeqEvent_HQUnits(HQUnitEvents[Idx]);
   if((UnitMap != none) && UnitMap.ObjComment == RoomName)
   {
      return UnitMap;
   }
   ++ Idx;
   // [Loop Continue]
   goto J0x69;
}
return none; 

It first retrieves all SeqObjects that are of type class'SeqEvent_HQUnits', then loops through them until the supplied RoomName matches the .ObjComment element, and returns that SeqObject.

 

The most direct (least hacked) way would be to alter the class'SeqEvent_HQUnits' SeqObject with comment "Dropship" and add the additional slot index locations. After a little digging, and a little luck, it appears that this info is defined in the "Anim_Hangar.upk" file in CookedPCConsole. (Yet another upk to possibly mod).

 

After decompressing the file, at file offset 0x4881E9 is where the "DropShip" RoomSequence appears to be defined. It's unclear what format this is in. It's not unreal bytecode but it's also not any form of flash/actionscript, as best I can tell. Following "Dropship" are the "Dropship_Shiv", "Dropship_Mec", and "Dropship_MecTrooper" Room Sequences, as can be created by the GetSpecializedRoomName function.

 

The good news is that there appears to be 12 units in each of these sequences:

Dropship.°.......‚...........................‚...............¨...........¼...D.......Š...............˜...B.......‚...................™.......S.......*...........¹.......S.......(...........·.......Š...........................¶...........................Play.².......‚...............\...........¹.......S.......D...........·.......Š...................r.......‚...........................¶...........................Stop.².......‚...............p...........¶.......S...........................Š...............¨ÿÿÿ¸.......S...................W...¶...........................
Unit 0.........y...............................È................±.......‚...............Í...................Š...............¨ÿÿÿ¸.......S...................X...¶...........................
Unit 1.........y...............ž...............È................±.......‚...............÷...................Š...............¨ÿÿÿ¸.......S...................Y...¶...........................
Unit 2.........y...............¡...............È................±.......‚...............!...................Š...............¨ÿÿÿ¸.......S...................Z...¶...........................
Unit 3.........y...............¢...............È................±.......‚...............K...................Š...............¨ÿÿÿ¸.......S...................[...¶...........................
Unit 4.........y...............£...............È................±.......‚...............u...................Š...............¨ÿÿÿ¸.......S...................\...¶...........................
Unit 5.........y...............¤...............È................±.......‚...............Ÿ...................Š...............¨ÿÿÿ¶...........................
Unit 6.........y...............¥...............È................±.......‚...............É...................Š...............¨ÿÿÿ¶...........................
Unit 7.........y...............¦...............È................±.......‚...............ó...................Š...............¨ÿÿÿ¶...........................
Unit 8.........y...............§...............È................±.......‚...................................Š...............¨ÿÿÿ¶...........................
Unit 9.........y...............¨...............È................±.......‚...............G...................Š...............¨ÿÿÿ¶...........................
Unit 10.........y...............Ÿ...............È................±.......‚...............q...................Š...............¨ÿÿÿ¶...........................
Unit 11.........y............... ...............È................±.......‚...............›...........‹.......‚...................À.......Š...................‰........................... 

 

 

The bad news is that these are lightweight objects that don't appear to actually contain coordinates, and probably refer to some earlier objects "Soldier01" through "Soldier06", "Mec1" through "Mec6", "MecTrooper1" through "MecTrooper6", and "Shiv1" through "Shiv6", which again invokes the restriction of only 6 displayed pawns.

To add more pawns I'll have to figure out what the format of this hex is, and then try and figure out how to insert new objects -- for example "Soldier07" and "Soldier08". In the short term, since MecTrooper is unused (it handles displaying the Mec in civvies), those 6 objects could potentially be repurposed to add 2 additional objects to Soldier, Mec, and Shiv, which would allow for display of 8 pawns in the dropship screen.

EDIT: I found the following reference to Sequence Objects on at beyondunreal : http://wiki.beyondunreal.com/UE3:SequenceObject_(UDK)

-------------------

Here is the complete set of RoomNames for all HQ Locations:

    m_arrSoldierLocation[0]="Barracks"
    m_arrSoldierLocation[1]="Dropship"
    m_arrSoldierLocation[2]="Infirmary"
    m_arrSoldierLocation[3]="Morgue"
    m_arrSoldierLocation[4]="PsiLabs"
    m_arrSoldierLocation[5]="PsiLabsCinematic"
    m_arrSoldierLocation[6]="Armory"
    m_arrSoldierLocation[7]="Gollup"
    m_arrSoldierLocation[8]="CyberneticsLab"
    m_arrSoldierLocation[9]="GeneLab"
    m_arrSoldierLocation[10]="Armory"
    m_arrSoldierLocation[11]="Outro"
    m_arrSoldierLocation[12]="1stMEC"
    m_arrSoldierLocation[13]="1stGeneMod"
    m_arrSoldierLocation[14]="GeneLab_Anim"
    m_arrSoldierLocation[15]="Armory"

 

 

MEC in Civvies, MECs in MEC armor, and SHIVs have specialized variants of these names set up with "_MecTrooper", "_Mec", and "_Shiv" appended to the base RoomName.

Edited by Amineri
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...