Jump to content

Mraecor

Members
  • Posts

    2
  • Joined

  • Last visited

Posts posted by Mraecor

  1. I'm using this mod in order to spawn steam vents in desired places and mirror spawning pre-build facilities.

     

    The mod also slightly changes terrain generation. I want this 2 changes (Restore top visible level left of access lift to non-excavated state randomly (32 = 50%, default is 75% & Tiles randomly assigned as caves (19 = 25%, default is 20%) reverted to vanilla numbers. Please help, I know that it is likely embarrassingly simple, but I'm just crashing the mod with my clueless tinkering.

     

    What do I need to change in the code to make it happen?

     

     

     

     

    MOD_NAME=Modified Base Generation

    AUTHOR=Rockslide

    DESCRIPTION=Modifies base generation in the following ways:

     

    -Number of steam vents is now static based on DGC.INI

    -Steam vent location is explicitly specified

    -OTS and Satellite Uplink relocated to right of access lift

    -Random excavation on first visible level reversed in relation to access lift

    -Random cave chance increased very slightly

     

    Notes:

     

    -I created this mod to accommodate my own personal preferences, not as a public

    release. If there others who can make use of this mod they are welcome to.

    -Additional comments are included below to highlight changes from default

    XGBase.GenerateTiles function allowing for changes as desired.

    -If NUM_STARTING_STEAM_VENTS is larger than 3 there might be undesirable

    results. At minimum, only the number of .arrDeepRockTiles locations specified

    below will become steam vents. Should more be desired, specify additional

    .arrDeepRockTiles locations.

    -Tested with XCom EW patch 3 v1.0.0.9040; likely will work with any version.

    -Thanks to Wasteland Ghost for his work that made this possible.

     

    UPK_FILE = XComStrategyGame.upk

    OBJECT = XGBase.GenerateTiles : AUTO

    [REPLACEMENT_CODE]

    // Number of steam vents is now exactly what is specified in DefaultGameCore.ini

    0F 00 <.iNumSteamVents> 12 20 <XComGame.XGTacticalGameCore> [@] <XComGame.XGTacticalGameCoreNativeBase.NUM_STARTING_STEAM_VENTS> 00 ( 02 <XComGame.XGTacticalGameCoreNativeBase.NUM_STARTING_STEAM_VENTS> )

    54 01 <@m_arrTiles> 90 2C 05 2C 07 16

    16

    54 01 <@m_arrFacilities> 90 2C 05 2C 07 16

    16

    0F 00 <.Y> 25

    [#label_0x005A]

    07 [@label_0x0333] 96 00 <.Y> 2C 05 16

    0F 00 <.X> 25

    [#label_0x0075]

    07 [@label_0x0325] 96 00 <.X> 2C 07 16

    07 [@label_0x00D3] 9A 00 <.Y> 25 16

    0F 35 <XGBase.TTerrainTile.iType> <@TTerrainTile> 00 01 10 1B <TileIndex> 00 <.X> 00 <.Y> 16 01 <@m_arrTiles> 2C 03

    06 [@label_0x0291]

    [#label_0x00D3]

    07 [@label_0x0181] 9A 00 <.Y> 26 16

    0F 35 <XGBase.TTerrainTile.iType> <@TTerrainTile> 00 01 10 1B <TileIndex> 00 <.X> 00 <.Y> 16 01 <@m_arrTiles> 2C 03

    // Restore top visible level left of access lift to non-excavated state randomly (32 = 50%, default is 75%)

    07 [@label_0x017E] 82 96 00 <.X> 2C 03 16 18 [@] ( 1B <Roll> 2C 32 16 16 )

    0F 35 <XGBase.TTerrainTile.iType> <@TTerrainTile> 00 01 10 1B <TileIndex> 00 <.X> 00 <.Y> 16 01 <@m_arrTiles> 25

    [#label_0x017E]

    06 [@label_0x0291]

    [#label_0x0181]

    07 [@label_0x01DF] 1B <IsAccessLocation> 00 <.X> 00 <.Y> 16

    0F 35 <XGBase.TTerrainTile.iType> <@TTerrainTile> 00 01 10 1B <TileIndex> 00 <.X> 00 <.Y> 16 01 <@m_arrTiles> 2C 03

    06 [@label_0x0291]

    [#label_0x01DF]

    // Tiles randomly assigned as caves (19 = 25%, default is 20%)

    07 [@label_0x022D] 1B <Roll> 2C 19 16

    0F 35 <XGBase.TTerrainTile.iType> <@TTerrainTile> 00 01 10 1B <TileIndex> 00 <.X> 00 <.Y> 16 01 <@m_arrTiles> 2C 02

    06 [@label_0x0291]

    [#label_0x022D]

    0F 35 <XGBase.TTerrainTile.iType> <@TTerrainTile> 00 01 10 1B <TileIndex> 00 <.X> 00 <.Y> 16 01 <@m_arrTiles> 25

    // Object reference .arrDeepRockTiles.AddItem moved below tile generation loop

    [#label_0x0291]

    0F 35 <XGBase.TTerrainTile.X> <@TTerrainTile> 00 01 10 1B <TileIndex> 00 <.X> 00 <.Y> 16 01 <@m_arrTiles> 00 <.X>

    0F 35 <XGBase.TTerrainTile.Y> <@TTerrainTile> 00 01 10 1B <TileIndex> 00 <.X> 00 <.Y> 16 01 <@m_arrTiles> 00 <.Y>

    A5 00 <.X> 16

    06 [@label_0x0075]

    [#label_0x0325]

    A5 00 <.Y> 16

    06 [@label_0x005A]

    [#label_0x0333]

    0F 00 <.I> 25

    // Specify .arrDeepRockTiles locations and consequently steam vent locations (2, 2) (5, 4) (1, 4)

    55 00 <.arrDeepRockTiles> [@] ( 1B <TileIndex> 2C 02 2C 02 16 16 )

    55 00 <.arrDeepRockTiles> [@] ( 1B <TileIndex> 2C 05 2C 04 16 16 )

    55 00 <.arrDeepRockTiles> [@] ( 1B <TileIndex> 2C 01 2C 04 16 16 )

    [#label_0x033E]

    07 [@label_0x03E0] 96 00 <.I> 00 <.iNumSteamVents> 16

    0F 00 <.iTile> A7 36 00 <.arrDeepRockTiles> 16

    0F 35 <XGBase.TTerrainTile.iType> <@TTerrainTile> 00 01 10 10 00 <.iTile> 00 <.arrDeepRockTiles> 01 <@m_arrTiles> 26

    55 01 <@m_arrSteamTiles> [@] ( 10 00 <.iTile> 00 <.arrDeepRockTiles> 16 )

    40 00 <.arrDeepRockTiles> 00 <.iTile> 26 16

    A5 00 <.I> 16

    06 [@label_0x033E]

    [#label_0x03E0]

    1B <SetFacility> 26 25 25 16

    1B <SetFacility> 2C 03 2C 02 25 16

    1B <SetFacility> 2C 02 2C 04 25 16

    1B <SetFacility> 2C 04 2C 06 25 16

    1B <SetFacility> 2C 06 2C 03 26 16

    0F 35 <XGBase.TTerrainTile.iTileState> <@TTerrainTile> 00 01 10 1B <TileIndex> 2C 03 26 16 01 <@m_arrTiles> 26

    // Relocate Satellite Uplink (5, 1)

    1B <SetFacility> 2C 09 2C 05 26 16

    07 [@label_0x04BC] 98 19 1B <Game> 16 [@] <XGStrategy.GetDifficulty.ReturnValue> 00 ( 1B <GetDifficulty> 16 ) 26 16

    // Relocate Officer Training School (4, 1)

    1B <SetFacility> 2C 0C 2C 04 26 16

    0F 10 2C 0C 19 1B <Game> 16 [@] <XGStrategy.m_arrFacilityUnlocks> 00 ( 01 <XGStrategy.m_arrFacilityUnlocks> ) 26

    [#label_0x04BC]

    1B <UpdateTiles> 16

    04 0B

    53

     

     

     

×
×
  • Create New...