Metal Gear Solid V: The Phantom Pain

Documentation

Readme

View as plain text

Infinite Heaven changelog

r233 - 2019-11-27
Version bump for MGSV version 1.0.15.1
There was no actual script changes in the last MGSV update (nor this one) that made this necesary, but it slipped by when I got busy.

Fix: Running prologue with debug mode on would cause weirdness. (10010 OnRestoreSVars has a yeild so PCalling it would error-skip the function).
InfCore.Validate: Clarified error message, does not bail on first fail so all failures can be logged.
InfUtil.InsertUniqueInList: Because sometimes you just gotta.
InfMission: small refactor
InfMission: fleshed out a lot more missing missionInfo/mission addon stuff:
TppEneFova.fovaSetupFuncs, TppResult.MISSION_GUARANTEE_GMP, TppResult.MISSION_TASK_LIST, TppEneFova.noArmorForMission,
TppEneFova.missionArmorType, TppEneFova.missionHostageInfos, NO_ORDER_BOX_MISSION,
_sequence.missionStartPosition.orderBoxList, _orderBoxList
InfMission: missionInfo module support enabling hot zones (which is really just to bypass my disable OOB hack).
Thanks caplag for pointing to some of these with his addon mission.
See InfMission for example of the mission addon module.

r232 - 2018-08-01
Fixed: 'DD Suit female' settings showing as 'table'

Refactor: customSoldierType - keys off igvars bodyType and bodyTypeExtend on PreMissionLoad instead of always off ivar. Provides some leeway in handling outcomes from body addons.

r231 - 2018-07-28
InfRoutes - Counterpart to InfPositions, InfObjects as a load/save list of routes used for some debug options.

InfNPCHeli
Custom heli patrol routes
heli_patrol_routes_afgh.fpk - heli_patrol_routes_afgh.frt, and mafr counterpart.
Just based of the drp routes I was using but with edges sanded off and sendmessage at and route.
Route change is now msg based and now that distance to troublesome parts of the route are no longer an issue the update loop can be ditched (but still currently used for mtbs for changing route periodically).
TppEnemy.StoreSVars/RestoreOnContinueFromCheckPoint2 reverted to saving heli svars, heli state should now, the previous bug that this was a workaround for is mysteriously absent, possibly due to the fact I'm not forcing route on continue.

Fixed: InfMenu.PostModuleReload MenuOff moved to PreModuleReload, the save triggered by the normal menu off process would run into strife as Ivars had been cleared and the rest of the modules hadn't reloaded yet to add them back.

InfModelProc: Soldier2FaceAndBodyData calls into this for body fova additions like it does face fova.

Removed Setting: staff 'DD Suit' - 'Fatigues - All' setting to relieve additional fv2 limit for future addons. Won't return till/if full FoxKit gets full fv2 support.

Framework: Soldier body fv2/fovaInfo addon support from \mod\fovaInfo via InfModelProc (bad name) to Soldier2FaceAndBodyInfo, have had face fovaInfo support for a long time, this just extends to body fovaInfo.
Framework: WIP Soldier bodyInfo support from \mod\bodyInfo via InfBodyInfo to customSoldierType ivar(s). Still needs system to handle outcomes from uninstalled addons.

Added Settings: Ocelot and Quiet added to Appearance > Player Type - WARNING: Ocelot and Quiet player types have side effect when used due to trying to work around them being restricted to FOB. The Pause menu will be disabled and the game may hit an infinite load if you complete a mission while they are used. Use nexusmods.com/metalgearsolidvtpp/mods/518 by BobDoleOwndU to fix sound issues with using these player types.

Updated to TPP 1.0.13

r230 - 2018-05-08
Fixed: IHExtToMgsv.ProcessCommands calling WriteToExtTxt every frame, seems like this bug may have been in there since wpf IHExts creation.
Fixed: IHExtToMgsv.ProcessCommands Not converting mgsvToExtComplete arg to number. Though the WriteToExtTxt concat seemed to interpret ok anyway?
Fixed: IHExtToMgsv.ProcessCommands no longer polls ih_tomgsvcmds.txt unless menu is open. This does mean no independant commands from IHExt, but apart from sessionchange, and togglemenu there werent any anyway.
This should hopefully reduce the cases of lag on systems that are sensitive to how IH handles i/o - thanks to darkallnight for the reports and files to test with.
Logging: Changed some LogFlow calls to Log for startup
Logging: lua memory usage
Sys: running garbagecollect at end of start and LoadExternalModules. Can only assume the engine is doing some kind of lua management. hopefully this wont interfere.
Refactor: IvarProc.BuildSaveText and other aspects of IH save to decrease save time.
Fixed: Shifted various list based Ivars to index from 0 so IHExt combobox is not off-by-one.
IvarProc: Vector3Ivar and other supporting functions to manage vector4 as ivar.

InfObjects: Counterpart to InfPositions but for game object names, prior InfLookup.GetObjectList commands now use this.
Objects menu
Counterpart to Positions menu, for adding to, saving/loading a game object name list. The list is used for other commands/features like warp, PlayCam target.

ih_save: IvarProc.BuildSaveText now only writes if there's been a change. Should likewise help the i/o sensitive systems.

InfPlayCam
PlayCam: Alternative camera to Free cam - thanks choc for prompting me to look at it.
(via Camera menu > PlayCam menu)
[youtube]CQKOO-jnkBI[/youtube]
https://youtu.be/CQKOO-jnkBI

r229 - 2018-04-21
Fixed: Removal of some not-actually-subp subps from buildtool being too enthusiastic.
Fixed: ShowFreeCamPosition not working.
Fixed: Add position to position list not adding free cam position when in free cam.
Fixed: Menu could be activated during loadscreen.
Fixed: InfMenuCommands.ToggleFreeCam > InfCamera.ToggleFreeCam for SOC quickmenu.
Fixed: Warp mode not working and also breaking IH menu - thanks everyone for the reports.
TppEnemy: WIP quest support for hostage route, has issue where it wont work when reactivating quest though (leaving quest area and returning).
TppEnemy: WIP quest support for uav setup, has crashing issue, either hitting the usual combined resources issue or it's not happy with being loaded/reloaded at runtime. uav fpk not yet in release build.

r228 - 2018-04-16
Fixed: IH buttons/menu responsiveness when using HighSpeedCam/TimeScaleMode - InfButtons/InfMenu using os.clock instead of Time.GetRawElapsed (which is synced to game timescale) - thanks VenomHSCV for the prod.
InfWeather:
Option: weather_forceType - Force weather
Option: weather_fogDensity - Fog density
Option: weather_fogType - Fog type
(via In-mission > Weather menu)

Option: clock_setTime - Set clock time
(via In-Mission > Time scale menu)

QuickMenu: Reverted button back to

r227 - 2018-04-04
Fixed: Prior style QuickMenus breaking in various ways (SOC quickmenu for example).
Refactor: No longer calling WriteToExtTxt() every ExtCmd, should smooth IHExt performance a bit.
IHExt: Better handling of selecting menuLine text when giving focus via mouse click.

r226 - 2018-04-03
Changes to buttons/keys:
InfMenu: While menu open hold (V key or RStick click) + player move (WSAD or left stick) to navigate menu
Quick menu: No longer uses , now activated with (V key or RStick click) + command key (see MGS_TPP\mod\modules\InfQuickMenuDefs.lua)

ChangeLog: merged some older seperate modfpk/data changelogs.

Refactor: OnChange self,setting,previousSetting swapped to self,setting,previousSetting.
Refactor: InfMenu lang stuff moved to InfLangProc.
Refactor: InfMenu, InfLZ, InfRevenge to external.
Refactor: execChecks.inHelispace renamed inSafeSpace, missioncode check function added
Refactor: InfMenuDefs.heliSpaceMenu renamed safeSpaceMenu
Refactor: Remaining Tpp requires modules InfButton, InfModules, InfMain moved to external / core
Refactor: InfInitMain to load and Exec prior Tpp requires modules and kick off LoadExternalModules
InfCore: LoadLibrary: Wrapped lua chunk load in PCall to catch errors (was only catching LoadFile)

WIP: sys_increaseMemoryAlloc - increases various memory allocation sizes, to no noticable effect on stability -_-
WIP: quest_useAltForceFulton - fires CheckDeactiveQuestAreaForceFulton when outside quest activeArea instead of by traps, needs testing as posibly the trap method was added because of issues with what this is attempting.

Fixed: IHExt InfMenu.GetSetting GetSettingText out of bounds. Affected buddyChangeEquipVar, possibly a couple other menu items - thanks WyteKnight for the report.
Fixed: QuietMoveToLastMarker not working, hadn't transfered a localopt of SendCommand - thanks WyteKnight for the report.
Fixed: DropCurrentEquip not working, issue as above - thanks Saladin1251 for the report.
Fixed: Changing 'Player life scale' in-mission not working - thanks Ronix0 for the report.
Fixed: Zombie Obliteration hang on load, hadn't added localopts when moving SetUpMBZombie from InfMain - thanks magicc4ke for the report.
Fixed: IHExt - not displaying current setting upon activating an option from IHExt.

IHExt: MenuLine changed from Label to TextBox, GotKeyboardFocus, EnterText commands.
IHExt: Search (EnterText > InfMenu.BuildMenuDefForSearch). Alt-tab to IHExt, click or tab the text of the menu line below the menu list. Type something and press Enter.

r225 - 2018-03-07
Fixed: Hang on load with no ih_save, wasn't initializing igvars oops - thanks серёжа for the report and the save files to test.

r224 - 2018-03-06
IHExt: args[1] - gameProcessName

Refactor: InfMain.LoadLibraries > module.LoadLibraries
Refactor: Ivars split into modules that have the main use/implmentation of the Ivar (or even Ivars when that gets too hefty).
Refactor: InfMenuDefs split into modules.
Refactor: InfLang split into modules.
Refactor: IvarProc missionModeIvars split to missionModeIvarsNames (string) so ih modules can support. fixup of string table to ivar table done at postmodulesload
Refactor: InfFova moved from libs to external.
Refactor: InfMain split to InfMainTpp, InfTimeScale, external. Probably needs more splitting.
Refactor: TppDbgStr32 methods/lookup table migrated into InfLookup. mod/strings/ > Str32 lookup now on InfLookup.PostAllModulesLoad instead of OnInitializeTop which should help mission loading time with debug mode on a bit.
TppDbgStr32 reverted to vanilla/no longer included in build.

InfMotion:
Motions menu - Play different animations on player. A motion group may contain several related animations (usually lead-in, idle, lead-out)
Option: Motion group - Press to play the selected animation.
Option: Motion number - Press to play the selected animation.
Option: Hold motion - Holds motion, requires stop motion to stop.
Option: Repeat motion - Repeat motion at end, some animations don't support this.
Option: Stop motion - Use to stop motions with motion hold or motion repeat.
Option: Play motion - Closes menu and plays current selected motion.
(via in-mission menu)

InfPosition:
Positions list from ShowPosition migrated to it's own command, commands for adding user markers, clearing, and writing them to \mgsv_tpp\mod\ added
Positions menu - for writing in game postitions to files, useful for getting positions when creating sideops.
Commands:
Add current position to Positions List - Add current player or freecam position to Positions List, positions list can be written to file with Write Positons List command.
Add markers to Positions List - Adds current user markers to positions list, positions list can be written to file with Write Positons List command.
Write Positions List - Writes Positions List to files in MGS_TPP\mod\
Clear Positions List - Clears Positions List
(via in-mission menu)

Data: Walker instance count dropped from 16 to 14 - 10x for IH and 4x for quest. Should ease the gameobject limit/issue a little bit too.
Workaround: Walker positions in free roam now static / using locator positions. Setposition breaks when other locators are loaded in sideop. This workaround doesnt really work for motherbase since it has the further requirements of only having walkers on platforms that are actually built (and I'm not about to make 7x10 variations).

Command: Support heli to marker - Sends Support heli to Landing Zone closest to the last placed user marker while riding it. This replaces the existing 'Support heli to latest marker' and now can only be used while riding the support heli. This removes a lot of the issues of riding the support heli across the map that the prior method had.
Implmentation wise this works by forcing the heli to a specific route, the WIP version prior to this had too many issues since it used LZ routes, now it uses custom routes thanks to sais FoxLib. So special thanks for his work on the library.
(via in-mission menu)

r223 - 2017-10-02
Fixed: IHExt help box appearing on map change - thanks vollmerej1 for the report.
Fixed: ih_tomgsvcmds being read every frame, causing stutter on some systems. Lua io has a bigger overhead than I thought - thanks BurkusCat for his data, others for their reports.

r222 - 2017-09-19
IHExt: Included in build - thanks MorbidSlinky for the SnakeBite update.

Fixed: Custom sideops with helis not allocating a heli (if no normal heli sidops also active) - Adding hasEnemyHeli to quest definition will add it to the heli quest list - which means force heli reinforce will also block those quests - thanks MorbidSlinky for the report.

Fixed: StartIHExt with paths with spaces in them - thanks GambChon for the report.

r221 - 2017-09-17
Fixed: IHExt setting when IHExt is not installed.

IHExt: added helptext, menutitle, combobox for settings.

r220 - 2017-09-11
Addition: Added 'Enemy prep' setting to Attack heli patrols options - sets the number of helis to scale with enemy prep level.

Fixed: Hang on load when ih_save contains an unknown variable (most recently caused by my rename of heliPatrols ivars) - an access to the ivar slipped outside of my check to see if the ivar actually existed. - thanks ashy8000 for the save files and others for the reports.

Fixed: Re-added tag to options that have OnActivate, was a bit too zealous in removing it.

InfButton: some localopts, adjustments for repeat speed with IHExt.

Debugging: InfCore.PCall force logs error.

IHExt: Output menu to list.

r219 - 2017-09-03
(Actually added in r218, but not in easily accessable menu)
Options: setStageBlockPositionToMarkerClosest, setStageBlockPositionToFreeCam, resetStageBlockPosition - sets stageblock loading position. You have to put player in a safe spot/bump player health to 650% so they dont die when their current position unloads and they (may) fall through terrain till they hit level floor.
(via in mission debug menu)

Fixed: Lag or load hangs due to a file that was removed for r218 that may have been left in MGS_TPP\mod\modules if mod user didn't uninstall r217 or earlier correctly using snakebite.
Detail: Added empty function InfCore.DoToMgsvCommands which InfProcessExt calls. Would not have been an issue except I also removed the ivar that would exit before the call and the check for it was ==0, a not ivar would have covered the ivar being null too and prevented the issue (though I would not have been aware of the file lingering for some users).

Modules: Support for Ivar and menu definitions in IH modules.

r218 - 2017-08-31
heliPatrolsMB, heliPatrolsFREE renamed attackHeliPatrolsFREE, attackHeliPatrolsFREE "Attack heli patrols in free roam",
"Attack heli patrols in MB", value is now number of attack helis.
Option: supportHeliPatrolsMB - split from heliPatrolsMB, is number of support npc helis, count will take priority over attack helis to fit to number of mother base clusters built.
Beyond giving some more control over amount of helis you face, it also lets things be a bit quieter in mother base while still having helis fly around.
Because of this change you will have to set the options again, sorry for the inconvenience.

Refactor: InfMenuDefs,InfQuickMenuDefs commands change to string/lazy binding. Some commands that were just wrappers to other modules reference them directly.
InfQuickMenuCommands: Merged with InfMenuCommands

Fixed: ApplyProfile failing on random table of setting strings.
Fixed: ApplyProfile failing on missing ivar.

IHExt: Shift from console to wpf proto branch.

Option: enableIHExt (was postExtCommands) 'Enable IHExt', now launches IHExt (if present).


r217 - 2017-08-22
Just repack/snakebite exe version for 1.0.12.0 which only updated exe.

r216 - 2017-08-22
GameEvent: Other swimsuits added to Femme Fatales event.
Fixed: Random roam event selection failing.
InfCore: path serperators changed to forwardslash.
InfLookup: Strings moved out of individual modules to strings folder with .txt files. Bit longer loading, but more managable to add to.
InfLookup: GameIdToName fixed.
InfLookup: subtitleId32ToString now uses supb_dictionary
Mock: More yeilding to host during load.

Options: mbShowHuey - Show Huey - Shows Huey in BattleGear hangar and in cutscenes even before he's arrived or after he's left story-wise.
(via Mother Base > Show characters menu)
Option: mbForceBattleGearDevelopLevel - Force BattleGear built level - Changes the build state of BattleGear in it's hangar, 0 is use the regular story progression.
(via Mother Base > Show assets menu)

Options: MB Ocean options - adjust various parameters of ocean movement.
(via MB Ocean menu while in mother base)

Fixed: removed \mod from package.path which caused users who had old IH pre-mod folder restructure installs to fail on load (and one cause of 'Could not load modules from MGS_TPP\').
Should have done this when I did the restucture.

r215 - 2017-08-13
Fixed: Hang on load, due to a ghost of an old file or something. Sorry.

r214 - 2017-08-13
Fixed: ih_priority_staff sometimes clearing saved data

BuildTool: Copy docs to makebite\GameDir
InfAutoDoc: Now writes All options profile to release - thanks pk5547 for the report.
Now that these are automated should stop me from ocasionally forgetting to include the current ones when building release lol.

r213 - 2017-08-09
Fixed: playerPartsType/'Suit type' syntax error causing it to be missing from menu - thanks SoullessMadness for the report
Fixed: Heavy Armor in free roam option being missing from menu, and the knock on effect of the rest of the menu options being missing from Features and Options document and All options profile. Thanks Nano-Ocelot, pk5547 for the reports.

Option: enableEventHUNTED - "Allow Hunted event"
Option: enableEventCRASHLAND - "Allow Crashland event"
Option: enableEventLOST_COMS - "Allow Lost Coms event"
Will allow you to filter the free roam events from being chosen.
(via Events menu)

Feature: Priority MB staff list
Module: InfMBStaff, save ih_priority_staff

Command: "Add player staff to MB priority"
Command: "Remove player staff to MB priority"
Command: "Add marked staff id MB priority"
Command: "Remove marked staff to MB priority"
Command: "Clear MB staff priority list"
(via Mother base > Staff menu)

Using these commands you can either add the current chosen staff member, or a staff member that you've marked to the priority list. Upon visiting mother base these members will be chosen to be on base (assuming they are not on deploy mission).

Menu: Staff menu, apart from the above, mbPrioritizeFemale,mbMoraleBoosts have been moved here.

Option: mbEnableMissionPrep - "Enable mission prep to MB" - may require an exit/return from ACC to take effect.
(via Mission-prep restrictions menu)

More mockfox stuff.

r212 - 2017-08-03
Fixed: Primary/Secondary NONE slots conflicting with swimsuit dev entries.
Fixed: Camo type appearance menu option erroring when no developed camos for current suit.
Fixed: playerPartsType/'Suit type' now sets playerCamoType on change.

Addition: 1.0.11 Swimsuits added to customSoldierType (free,DD Suit)

customSoldierType - filters to developed

r211 - 2017-08-02
Updated for mgstpp 1.0.11.0

Added: itemLevelIntScope - Int-Scope level, itemLevelIDroid - Int-Scope level. Lets you set the item grade - thanks Saladin1251 for the suggestion.
(via Player restrictions > Item level menu)

Fixed: Invisible tanks in Afghanistan freeroam sideops with vehicle patrols on. Misspelled veh_rl_east_tnk_fpkd as veh_rl_east_tank_fpkd when I renamed them back in r196 due to snakebite dictionary update. Oops - thanks pk5547 for save data and report.

Commands: setSelectedObjectToMarkerClosest, setSelectedCpToMarkerClosestCp - debug shiz.

Addition: 1.0.11 Swimsuits added to appearance menu.

r210 - 2017-07-22
Fixed: Quarantine platform soldiers having no weapons with custom equip table.
Fixed: mbNpcRouteChange - 'Soldiers move between platforms' not working on initial cluster load, looks like I broke it in r208 - thanks pk5547 for save data, others for the report.
Fixed: Additional npcs with no faces on quarantine and Skulls T-Posing, just disabling additional npcs on quarantine completely at the moment - thanks pk5547 for save data and report.
Fixed: InfEquip.DropItem on GetPosition nil (Eli)
Fixed: postExtCommands not passing currentSetting to OnSelect (unlockSideOpNumber)

Mock: Various settings to manage the distinction between host types.

r209 - 2017-07-17
Debug: loadToACC settable on ih_save to have game load ACC on continue from title menu instead of loading saved mission.
Is same as holding Escape for a couple of seconds at tile, but possibly more discoverable or providable.

AutoDoc/WriteProfile: IsForProfile now excludes non save ivars.

Mock: Bunch of work on Mock pulling from Dump.

Fixed: Skulls event being forced to Sniper skulls, forgot to revert my debug test which means:
Fixed: (refixed) Crash on encounter with Quiet in free roam when Parasite event selects Camo skulls.
Should actually be fixed now. Sorry.

Fixed: Accidentally left out the IH mother base animal sideops, Blackfoot Down in r208. Woops.

IvarProc.LoadEvars loads ih_save.lua to global module (instead of just to a local and operating/discarding that), InfQuest.ReadQuestStates reads from that instead of loading ih_save.lua

Refactor: Equipment loading centralized in InfEquip.LoadEquipTable, CreateCustomWeaponTable now takes that loaded equip into account for equipment limit.
Fixed: Not being able to use weapons/weapon ammo count wrong with custom soldier equipment and other settings on alongside sideops mod. Thanks various people for reports.

ih_save will retain addon sideops states even when game run with addon sideops not installed.

r208 - 2017-05-30
Option: loadAddonMission - "Load addon mission" - WIP
(via IH system menu)

Fixed: Sideop list not showing sideops > 192. This is a hard limit in the ui, this workaround manages by skipping random cleared but not currently active sideops. Reroll sideops selection will also reroll this selection.
Ref InfQuest.GetSideOpsListTable

Option: showAllOpenSideopsOnUi "Show all open sideops" - "Shows all open sideops in sideop list, this mostly affects open but not yet completed sideops from hiding others. There is however a limit of 192 entries for the sideop list, so some will be randomly dropped from the list."
(via Sideops menu)

Fixed: mbAdditionalNPCS KLUDGE DDs groundcrew on Zoo

Fixed: Female soldiers defaulting to male olive drab body when DD suit female set to Off instead of olive drab female while DD Suit for male not Off - thanks Saladin1251 for the report and save files.
Fixed: Invisible helmets for female wildcard soldiers (removed helmet propety alltogether) - thanks halo4kid for the report.

Refactor: InfCore.RefreshFileList parse a single dir > ih_files.txt instead of one per subfolder.

Option: ihMissionsPercentageCount - "Include addon missions in completion percentage"
(via IH system menu)

Fixed: (refixed) Crash on encounter with Quiet in free roam when Parasite event selects Camo skulls. Thanks AyyKyu for the report and files.

Updated: showPosition - now adjusted by -0.8 for a more accurate ground position
Updated: showPosition - writes rotationsXML / quaternion of current playerY

Option: speedCamNoDustEffect - "No screen effect" - "Does not apply the dust and blur effect while TSM is active."
(via Time scale menu)

Data: location\ombs\ombs.fpk/d - adapted from mbqf
Data: location\ombs\pack_common\ombs_common.fpk/d adaptped from mbqf_common/ gz ombs_common
See wip\old mother base for just gz ombs ombs_common.
Data: location\ombs\pack_small\*.fpk/d adapted from location/mbqf

Data: mission2\free\f30045\f30045.fpk/d based on f30050_hanger_btg05.fpk/d
Data: ftsb for ombs modified from mbqf ftsb to point to ombs pack_common

Module: InfMission - to patch in various location and mission info.

MGO maps: remove MGO only entities from pack_common fpkds.

r207 - 2017-05-10

Addition: Addon sideop on Sideop selection mode to filter for additional sideops.

InfCore: gameIdToName,GetGameObjectId. For lookups.

Fixed: 'Fatigues All' Custom soldier type/DD suit hanging on load.

InfMain.OnAllocate: bumped equip block size and max pickable count.
Fixed: Equipment on trucks equipment not appearing with some other settings. Afghanistan range of equipment less than Africa.
InfQuest: requestEquipIds > RequestLoadToEquipMissionBlock for sideops with pickables.

r206 - 2017-05-02

FreeCam: Speed adjust rate change to be slower.

Option: rerollQuestSelection - Reroll quest selection
(via Sideops menu)

Fixed: NPC positions on outer clusters when command cluster is under grad 4/not fully built (currently just disabling NPCs on the outer clusters for that situation).

Fixed: XRay markers.
No idea how I broke it, or more specifically why it was working when it was called where it was.

Command: selectedChangeWeapon renamed dropTestEquip
Command: dropLoadedEquip pulls from loadEquip table.
Command: selectEvent

Option: hideContainersMB - "Hide containers"
Option: hideAACannonsMB - "Hide AA cannons"
Option: hideAAGatlingsMB - "Hide AA gatlings"
Option: hideTurretMgsMB - "Hide turret machineguns"
(via Mother base > Show Assets menu)
Removing AA guns can be good for wargames if you dont want something that can swiss cheese helis around.
Removing all the AA and the conainers can be useful if you want to drive/gallop around the platforms without so much stuff being in the way.

Fixed: Some custom soldier type/dd suit bodies incorrect.

Debuging: Logging of TpSequence.SetNextSequence
InfHooks: Debughooks also logging function args

InfQuest: Allow quest block script to use external quest definition as its replacement.
InfQuest: Reworked to allow reloading scripts while in-game.

r205 - 2017-04-29
Addition: DD Suit - Fatigues All - will have random selection from all fatigue camos.

Refactor: Shift from IsFemale cmd (which is actualy only for hostage) to own IsFemale set/get function. Would cause bodyInfo to always default to male causing various issues for dd suit female/female wildcards as they defaulted to male bodyInfo. Still don't have full coverage as selection of faceId is later than many functions that use bodyInfo.
Fixed: various DD suit/wildcard females issues.

Module: InfMBAssets - implements fulton/ir sensor alarm response.
Option: enableFultonAlarmsMB - "Enable asset alarms" - "Enables anti fulton theft alarms on containers and AA guns. Only partially working, will only trigger alarm once.",
Option: enableIRSensorsMB - "Enable ir sensors" - "Enable ir sensor gates. Only partially working, will only be at level 1 (one beam) and will only trigger alarm once.",
(via Mother base > Show Assets menu)

Data: ih_ships.fpk
Option: mbShowShips - "Show ships" - Shows some ships around mother base.
(via Mother base > Show Assets menu)

InfMain: Refactor - shifting some module specific code to the modules
InfSoldierParams: Made external.

Fixes: Various modules with on cluster load setup when moving to the seperation plat (which won't actually happen outside of warping). Seems like the initial idea might have been to be travel to it without loading a seperate missioncode. One texture in the game (no idea of the name/path) shows a map of

Sideop: Blackfoot down updated. Added soldiers to river LZ (routes from q11050).

Update: Add/subtract demon points decreased to 90k per use - thanks SoullessMadness for the suggestion.
See https://www.gamefaqs.com/boards/718564-metal-gear-solid-v-the-phantom-pain/72466130 for breakdown of the demon points levels.

InfLookup: More message signatures.
InfStrCode: Changed to read .lookupStrings table from any modules. Bunch of string scrapes from exe,fox2,lang dict added to modders resource.

r204 - 2017-04-23
(version skip because of 202a/203 snakebite 0.8.5 .6 ver confusion)

EquipIdTable: Assigned world models to EQP_IT_Stealth,EQP_IT_InstantStealth (reusing idroid model), EQP_IT_ParasiteMist, EQP_IT_ParasiteCamouf, EQP_IT_ParasiteHard, EQP_IT_Pentazemin, EQP_IT_Clairvoyance, EQP_IT_ReflexMedicine (reusing bait model)

Improved: itemDropChance - Soldier item drop - now has chance to drop Pentezemin, Noctocyanin, Acceleramin.

Sideop: Blackfoot down, was mostly built for testing out sideop features.

InfButton: OnComboActive
InfCore: LoadBoxed to LoadSimpleModule with box flag

Doc: Documentation installed to \MGS_TPP\mod\docs

Command: Save to UserSaved profile. - "Saves current IH settings to UserSaved profile at MGS_TPP\profiles\UserSaved.lua."
(via IH system menu)

Ivars: Tagged with inMission (with default assumption being false/only load time setting).

Fixed: Setting Custom soldier type to a DD body showing the Staff member has died message/points - thanks coolguy3090 for the report.

Data: ih hostage parts for MSF_GZ,DOCTOR_0,DOCTOR_1,NURSE_3_FEMALE,CHILD_0
InfNPC: better per cluser,per plat filtering of npc types.
mbAdditionalNpcs - Doctors and Nurses added to Medical, children added to all.

Option: postExtCommands - enables output for IHExt

InfLookup: More message signatures, gameobject names.

Change: heli-pull out toggle changed from press to hold 0.85.

Fixed: Multiple female hostage sideops only applying female voice to one hostage. (in TppEnemy.SetupActivateQuestHostage)

InfQuest: Shift questInfo luas to load from external quests folder.
InfQuest: qst_questClearedFlag now saved directly instead of just the index of.

Data: Shifted soundbank loading files (.sdf,fox2s) from ih_hostage_def.fpkd to ih_hostage_base.
Data: Created 'other' sound bank loader for non english hostage soundbanks.

Sideop Dev feature: IH quest definition disableLzs, lets sideops authors disable landing zones while the sideop is active.
Sideop Dev feature: questCompleteLangId will act as langId if announceLogId doesnt exist.
Sideop Dev feature: pass through to DebugIHQuest external module to allow more rapid testing of quest block scripts.
Updated IH quest example
Thanks Morbidslinky for driving many of these features.

r202 - 2017-04-09
Fixed: Number of helis on < 7 clusters, including mass bunching when only command is built.

Option: ihSideopsPercentageCount - "Include IH sideops in completion percentage." - Additional IH sideops count towards game completion percent - defaults to off.
(via sideops menu)

Refactor: InfModelProc - fovaInfo entries can now be referenced by fv2 filename, allows using existing entries instead of having to add duplicate.
Refactor: InfEneFova - the various head fova infos now referenced by fova name instead of index.
Refactor: Some functions shifted from InfCore to InfUtil, InfUtil loaded earlier during startup.

Refactor: pattern for messages in external modules changed to niling messageExecTable straight off in Init/OnReload and having OnMessage just be a call to Tpp.DoMessage instead of bailing on specific checks.

Feature: Completed randomFaceListIH for quests, a downside is it doesn't support mixed specific face and random like randomFaceList does - thanks MorbidSlinky for the headsup.

Known Issue: Crash on exit from title after having returned to acc from mb during the game session with mbAdditionalNpcs. Similar issue to r179 which also involved hostage entities (do comp r179 vs r178/f30050_npc.fox2)

Data: ih_hostage_base.fpk/d - based off mis_com_mafr_hostage.fpk, to complement bodyInfo system.

Refactor: InfNPC to InfSoldier
Module: InfNPC - split from InfHostage, handles mbAdditionalNpcs="Additional NPCs",

Option: mbAdditionalNpcs - "Additional NPCs" - Adds different NPCs standing around mother base, including ground crew, researchers and Miller.
(via mother base > Show characters menu)

r201 - 2017-03-30
Fixed: Mother base soldier getting set to hostile - thanks captainking91, others for the reports

revengeModeMB is now revengeModeMB_ALL

Refactor: InfEneFova.ddBodyInfo split to modules\InfBodyInfo.lua .bodyInfo.

Data: ih_soldier_base.fpk/*_mdl.fpk

Refactor: InfModelProc, now loads all fovaInfo files in mod\fovaInfo
InfLookup: added (possibly incomplete) gameObjectClass names.

Option: customSoldierTypeFREE - Custom soldier type in Free roam - Override the soldier type of enemy soldiers in Free Roam.
(via Enemy Prep menu)
Added settings for DD suit (same options as Custom soldier type): MSF GZ, XOF Gasmasks, XOF GZ, Genome Soldier. May need to re set your DD suit setting as some existing tiems in list have been shifted.

Refactor: InfEneFova.AddBodyPacks added, ddBody pack setup shifted from TppMissionList to InfNPC, in conjunction with the mission mode ivars for customSoldierType give coverage to any mission.

Refactor: Improved GetHeadGearForPowers selection

r200 - 2017-03-05
Option: forceDemoAllowAction - "Force allow actions" - Prevents disabling of player actions during cutscene, but most cutscenes require the Disable cutscene camera mod on the IH files page.
(via Cutscenes menu)

Feature: Quickmenu binds for when cutscenes running, currently only Free cam useful with above option and Disable cutscene camera mod.

Refactor: Non critical external modules failing to load will no longer block the IH menu from opening - thanks CantStoptheBipBop for the report.
Fixed: Skull attack on quarantine platform failing part way through ParasiteAppear - thanks pk5547 for the report.
Fixed: Cutscene reset.
Fixed: Using mbShowCodeTalker - "Show Code Talker" option on a save before meeting him causing infinite load - thanks junguler for the report.
Fixed: Quick heli pull-out toggle no longer triggers if idroid open.
Fixed: FreeCam code not disabling when changing level.

r199 - 2017-02-11
Fixed: Lack of error message when MGS_TPP\mod or subfolders missing.

Refactor: Allow external modules to run Update without execchecks, execstate guff.

Refactor: InfLookup - expanded different lookup types, message signature to lookup types.

Refactor: InfGameEvent shifted to external.
Fixed: Crashland event not triggering injury.

Module: InfDemo
Feature: Pause/resume playing cutscenes by pressing Quickdive
Feature: Restart cutscene by pressing Reload

Option: disableOutOfBoundsChecks - Disable out of bounds checks - Disables the out of mission area visual noise and game over checks.
(via Debug menu)

Option: disableGameOver - Disable game over - disables various game over screens, haven't tested much so use with caution.
(via Debug menu)

r198 - 2017-01-31
Refactor: File per profile, list all profiles in profiles folder.
Refactor: Load all external modules load from modules folder/don't have to manually add to InfModules
Refactor: ih_save.lua now in mod\saves

Fixed: Legendary animal sideops not completing on fulton - thanks iponomama for the report.

Fixed: Afghanistan quests with unique bodies (Armor, Wandering MB soldiers) being invisible, was broken since r155 - thanks everyone for the reports.
Detail: ih_soldier_loc_free soldier count dropped from 50 to 40. Don't know why the number of soldiers is breaking the fova system here, quest fova for unique bodies (which is set up on quest block load) breaks, but if you allocate the body in pre mission load it's fine. *shrug*

Fixed: Soldiers having no heads on Mission 43 "Shining Lights Even In Death" - thanks AustrianWarMachine for the report.

r197 - 2017-01-11
Refactor: Rename InfLog to InfCore, .Add to .Log

Refactor: InfInspect loading shifted to init.lua
Refactor: IvarProc,Ivars - dependancies removed

Refactor: InfProc - save system made a little more ameniable to reading/writing other sections.

Build: Included TppVarInit to manually hook StartTitle (as its loaded after requires list/InfHook)

Fix: gameSaveFirstLoad now somewhat accurate (wasn't actually used), and InfMain.OnStartTitle can be used as on-first game save load.

InfQuest: installedQuests management of gvars quest states for IH quest sub-mods. The existing IH quests will be cleared on start of this version but will keep their state as long as the ih_save has the installedQuests added.

Module: InfSecurityCam WIP
Data: ih_security_cam.fpk
Works but crashes on map exit (some times, but consistantly till (sometimes) proper map reset (ie not just abort to acc/start again), assuming its the combined gameobject/allocation issue.

Module: InfUAV WIP
Data: ih_uav.fpk/d
Working, but not useful without custom routes.

Module: InfHostage WIP (acually starteds in prior versions).
Setting face via uniquesettings doesn't seem to set body skin fova?
SetRelative vehicle requires a route to be set.
Hostages can't follow travelplans as far as I can tell.
A few attempt to expand quest random face system to more than one face per quest, but the whole thing is super flakey and will more often than not not load the head, including weirdness where it will, then will stop rendering it while in game.

Fixed: Start offline option preventing dlc items - thanks morbidslinky for the fix.

Fixed: Starting on map floor on mother base start on foot on first visit after building a platform in the command cluster - thanks NasaNhak
(InfMain.OnGameStart)

Refactor: Ivars system,ih_save loaded on init.lua, now (non-gvar) ivars useable from very start of script system execution.

Command: setAllFriendly - In debug stuff menu

Feature: External loading/replacement of most scripts via MGS_TPP\mod\