[NFO] Version History
Posted: Wed Dec 19, 2012 12:14 am
FoG(U) version history
-----------------------------------------------------------------------------------------------------------------------
v2.0.01.978 (GC1e) (2015.01.24)
========================================
first gold candidate 5th update
// => build v1.2.01.978 (GC1e) (2015.01.24)
// => FoG(U) 977, 978 revisions
// G modified DBG_PrefsUsersInject() method to fix a problem causing injected players' passwords to not be saved
// G modified the PrefsUserSerialsSave() method to prevent saving empty strings serials
// G modified the PrefsUserLoad() method:
// - added debug console error messages for wrong or other addons serials
// - added code to clean up the wrong or other addon serials from their respective interface text edit fields
// - moved development/beta new addons purchasing injections out side the main book addons loop
// - fixed a bug resulting in accepting serials for other addons as valid serials but without flagging them as purchased
// - added code to cleanup any eventually prefs saved wrong serials
// MainMenu modified the OnEnterSerialGUI() and the OnPreferencesGUI() methods to also display disabled entries for the unreleased books and to removed the space from the serials valid characters filter
// MainMenu modified the OnPreferencesGUI() method to fix a bug resulting in not-accessible Preferences Sound Settings sub-menu
// G added the Enum methods region and moved the PlayerPrefs region
// MainMenu modified the OnMainMenuGUI() method to disable the beta Editor code section
// GP removed the old bgSNone, bgSInGame, bgSOffGame and bgSNames members
// G added the new BGStateGM enum and the associated IntToBGStateGM() and StringToBGStateGM() methods
// + Battlegroup modified the old bgS int member into the new sGM BGStateGM enum member and modified its usage through all the code
// GP removed the old bgVSInvisible, bgVSVisible and bgVSNames members
// G added the new BGStateVisual enum and the associated IntToBGStateVisual() and StringToBGStateVisual() methods
// + Battlegroup modified the old bgVS int member into the new sV BGStateVisual enum and modified its usage through all the code
// GP removed the old bgASNormal, bgASAnarchyCharge, bgASEvade, bgASPursuit, bgASBreakOff, bgASRout and bgASNames members
// G added the new BGStateAction enum and the associated IntToBGStateAction() and StringToBGSsateAction() methods
// + Battlegroup modified the old bgAS int member into the new sA BGStateAction enum and modified its usage through all the code
// BGStateAction enum added the new Move and Charge action states, modified the GPM.GPMBGASRevert() and GPM.GPMMoveEnd() methods accordingly
// GP removed the old bgOffTheMapNot, bgOffTheMapOneHex, bgOffTheMapTwoHexes and bgOtMSNames members
// G added the new BGStateMap enum and the associated IntToBGStateMap() and StringToBGSsateOffMap() methods
// + Battlegroup modified the old offthemap int member into the new sOM BGStateMap enum and modified its usage through all the code
// BarButton added the new def_StringEmpty member
// ButtonBar added the new def_StringEmpty, fBBarTooltip, tooltip and tooltipLast members
// ButtonBar modified the OnGUI_ButtonBar() adding button bar's mouse-over button tooltip export code
// GM added the new bbarTooltipLast member
// GM modified the OnGUI() method adding mouse-over button's tooltip display code section
// Battlegroup added the new AAL member
// Battlegroup modified the bgGPMAMA member by adding a get method
// + GPM further modified, streamlined and optimized the whole class (1) (including a fix for the evade crash error) (WIP)
v2.0.01.976 (GC1d) (2015.01.19)
========================================
first gold candidate 4th update
// => build v1.2.01.976 (GC1d) (2015.01.19)
// => FoG(U) 976 revision
// G increased both def_VersionPrefs and def_VersionPrefsMIN to 1.02 to erase all older player prefs
// MainMenu modified the AcceptChallenge() method to disable the beta build's MP DAG challenges accept code section
// modified several _FOG_DEBUG conditionings into _FOG_DEV (to prevent beta access to debug features)
// GMMessage fixed a problem in the ToJSON() method resulting in MiscData bad JSON format
// GMMessageM modified the GMMessageSend_Delegate() method allowing for message list replace
// GMMessageM modified the GMMM_MessageListReplace() method temporarily deactivated the delete old messages challenge code
// JSON modified the Decode() method allowing commas to be passed into a value string
// => FoG(U) 975 revision
// renamed the old precompile directive _FOG_DEBUGAI into the new _FOG_AI
// FoGBuild renamed the old bdDEBUG_AI into the new bdAI
// removed AI's conditioning for _FOG_DEV precompile directive only
// MainMenu modified the OnNewGameGUI(), onIssueScenarioChallengeGUI() and onIssueDAGChallengeGUI() methods to have their label reflect the various states when creating a new game / issuing a new challenge
// DebugFoG class - added button for switching the button bar GUI style on/off
// => FoG(U) 974 revision
// FoGGameInfo merged the old filePackOUT member into the filePack member
// Multiplayer added the new def_MPGameSaveUserGID, def_DataGameSaveAll, def_DataReplayAll and def_DataChatAll members
// ChatManager added the new ChatUpdate() method
// ChatManager modified the ChatFileDataGenerate() method by adding the new pFull bool parameter
// Replay modified the ReplayUpdate() and ReplayFileDataGenerate() methods by adding the new pFull bool parameter
// MainMenu modified the DataLoadMPGameSave() and DataLoadMPGameLoad() and methods MP game save pack code sections (to fix a bug causing a secondary MP game player not constructing his own MP game save pack file)
// MainMenu modified the DataLoadMPGameLoad() method adding MP game save name info
// DebugFoG class - added button for switching the debug users injection on/off
// => build v1.2.01.973 dev (GC1c) (2015.01.15)
// => FoG(U) 973 revision
// DAG.OnDAGSaveArmy() modified the method to re-load the DAG army lists after saving a new custom DAG army (to fix a bug causing newly saved custom DAG armies to not be displayed)
// => FoG(U) 970-972 revisions
// increased tertiary subversion from 00 to 01 (due to the addition of the new users system code)
// + users system (2)
// added the new Version class
// added the new FoGVersionCategory enum
// modified MainMenu.appAuthUpdate() by adding the pSecure parameter
// G class moved FoGInit.PrefsCheck() to G.PrefsCheck()
// Multiplayer class renamed old ResponseErrorLog() method into the new ResponseLog() method
// G added the new gdCharQuote, gdStringEmpty, gdStringCommaQuote and gdStringQuoteColonQuote members
// + G.gdStringEmpty usage (1) (through all the G, MainMenu, DAG, Multiplayer and GMMessageM classes)
// + G.gdCharQuote, G.gdStringCommaQuote and G.gdStringQuoteColonQuote usage through all the Multiplayer and GMMessageM classes
// further further modified, streamlined and optimized the ResponseLog() method (addressing both PBEM2 server response variants and also fixing any serials saving/loading related bugs in the process)
// DAG modified sDAGArmyTemplate and OnDAGNationSelection() to fix a crash related with a released addon book not having any DAG army templates
// => FoG(U) 968, 969 revisions
// added the whole revision 964 WIP's code
// revision 964 WIP's complete notes are in the notes.cs file
// => FoG(U) 964-967 revisions
// added the new trunk, tags and branches folders
// moved all code into the trunk folder
// added the v1.8.19.963_bRC9 tag
// added the v2.0.00.967_CG2 branch
// => build v1.9.00.963 dev (bRC10) (2014.08.20)
// => build v1.2.00.964 dev (GC1) (2014.12.01)
// => build v1.2.00.964 dev (GC1b) (2014.12.11)
// => FoG(U) 964 WIP
// increased all three major, minor and build versions from 1.8.19 to 1.9.19 and then to 2.0.00
// added the new FoGBookExtensions class, with the LookupNameSToIndex(), LookupNameS(), LookupFolderToIndex() and LookupFolder() methods
// FB class
// - removed the obsolete bookNameStoIndex() and bookFoldertoIndex() methods and replaced their usage with the new FoGBookExtensions class'es methods
// G class
// - replaced the old ListScenarioInfo.SetScenarioDescription() with the new G.DescriptionProcess() method
// - added new menu item methods priorities members
// - added the new FilePathNormalize() and FolderPathNormalize() methods replacing old ContentListCreate.GetPathNormalized() method
// - added the new PathGetParentPath() method replacing old ContentListCreate.GetPathFromFullPath() method
// - added the new PathGetName() method replacing old ContentListCreate.GetNameFromFullPath() method
// - removed obsolete auxGameName member
// - removed obsolete scenarioHeaderFile, gameMapFile and armyFile members
// FoGGameInfo class
// - added the class
// DAG class
// - renamed the old DAGArmyDAGLeaderGet() method into the LeaderInit() one, modified the code
// - removed the SetArmySpecs() method and used the G.DescriptionProcess() method, also modified the DAG.DAG_DAGArmyTemplateListsLoad() to use it
// - modified the OnDAGNationSelection() and DAG_DAGArmyTemplateInfoSet() methods to use the G.YearToString() method
// - replaced the old dagArmyListTypeNone, dagArmyListTypeStarter, dagArmyListTypeCustom and dagArmyListTypeNames members with the new AssetType enum
// - further modified, streamlined and optimized the DrawDAGFilters() and DrawDAGArmyList() methods
// - renamed the old nations, selectedNations, customSaveDAGArmiesList and mainXSavedDAGArmiesList members to listDAGArmyTemplatesMASTER, listDAGArmyTemplates, listDAGArmyMASTER and listDAGArmy
// DAGUnit class
// - merged DAGBGTemplate class into this DAGUnit class
// - replaced improper alui member usage and initialization with the proper DAGuID member, usage and initialization
// - added the new DAGUnitExtensions class, with the LookupUnitID() method replacing the old DAG.DAGArmyDAGLeaderGet() method
// DAGUnitInfo class
// - merged DAGTroopType and DAGLeader classes into this DAGUnitInfo class
// - added the new DAGUnitInfoExtensions class, with the LookupLeaderUnitID() method replacing the old DAG.DAGArmyDAGBGTemplateGet() method
// DAGArmyTemplateInfo class
// - renamed old DAGNationInfo class into this class
// - changed old startYear and endYear string members into the new yearStart and yearEnd int members
// - added the IsBookThemed() method
// - removed obsolete folder member
// DAGArmyTemplateInfoExtensions class
// - added the class
// - LookupNameToIndex(), LookupName() and Filter() methods replacing the old DAG.DAGNationGetIndex(), DAG.DAGArmyListInfoNationInfoGet() and DAG.FilterNations() methods
// - added the new LookupFile(), Sort() and compare methods
// DAGArmyListInfo class
// - changed type member from byte into AssetType enum
// - renamed armyPack member into bookID
// DAGArmyListInfoExtensions class
// - added the class
// - added the LookupNameToIndex() methods
// - added the old ListDAGArmyListInfo.SortByIndex() method renamed as Sort()
// - added the old ListDAGArmyListInfo.FilterArmyList() method renamed as Filter()
// AssetBundleCreate class
// - moved all working folder paths to the G.dataPath_TMPOUT folder
// MainMenu
// - added the new fSortAscending member and its usage
// - removed old obsolete nameAscending, yearAscending, complexityAscending, warAscending members and their additional usage
// - further modified, streamlined and optimized the DrawScenariosWithFiltersAndSort(), DrawMapsWithFiltersAndSort(), DrawArmiesWithFiltersAndSort() and DrawDAGArmiesWithFiltersAndSort() methods
// - removed obsolete IsScenarioInList(), IsMapInList() and IsBGInList() methods and replaced their usage with proper classes extensions lookup methods
// - renamed the old mainScenarioInfo, customScenarioInfo, mainMapInfo, customMapInfo, mainArmyInfo and customArmyInfo to listScenariosMASTER, listScenarios, listMapsMASTER, listMaps, listArmiesMASTER and listArmies
// - modified the initAssetsLists() method, also adding the pRefreshCustomLists parameter
// ListScenarioInfo class
// - renamed old CreateListWithScenarios class into this ListScenarioInfo class
// - renamed old CreateScenariosList(), ReadIndexFile(), ReturnScnList() and GenerateIndexFile() methods to Load(), LoadFromList(), LoadFromFiles() and ListGenerate() methods
// - renamed old UpdateIndexFile() and AddCustomScenario() to ListCustomUpdate() and ListCustomAdd() methods
// ScenarioInfoExtensions class
// - further modified, streamlined and optimized old ListScenarioInfo.ReturnListWithFilterFromScenarioInfo() method and renamed it to FilterValuesGet() method
// - further modified, streamlined and optimized old ListScenarioInfo.ReturnScenarioListWithSpecificFilter() and ListScenarioInfo.SortScenarioInfoByIndex and renamed them to Filter() and Sort()
// - added all the new compare methods
// - modified FilterValuesGet() method to sort books short names's values list by book's index (rather than by book's short name)
// ListMapInfo class
// - renamed old CreateListWithMaps class into ListMapInfo class
// - moved all filter and sort methods into MapInfoExtensions class
// - renamed old CreateMapList(), ReadIndexFile(), ReturnMapsList() and GenerateIndexFile() methods to Load(), LoadFromList(), LoadFromFiles() and ListGenerate() methods
// - renamed old UpdateIndexFile() and AddCustomMap() methods to ListCustomUpdate() and ListCustomAdd() methods
// MapInfoExtensions class
// - renamed the old ListMapInfo.ReturnMapsListWithSpecificFilter(), ListMapInfo.ReturnListWithFilterFromMapInfo() and ListMapInfo.SortByIndex() methods into Filter(), FilterValuesGet() and Sort() methods
// - removed obsolete mapSortAscending member
// ListArmyListInfo class
// - renamed the old CreateListWithBg class into this ListArmyListInfo class
// - renamed BattleGroupInfo and BattleGroupInfoExtensions classes to ArmyListInfo and ArmyListInfoExtensions classes
// - moved all filter and sort methods into ArmyListInfoExtensions class
// - renamed old CreateBattleGroupsList(), ReadIndexFile(), ReadFiles() and GenerateIndexFile() methods to Load(), LoadFromList(), LoadFromFiles() and ListGenerate() methods
// - renamed old UpdateIndexFile() and AddCustomBG() methods to ListCustomUpdate() and ListCustomAdd() methods
// ArmyListInfoExtensions class
// - renamed the old ListArmyListInfo.ReturnBGsListWithSpecificFilter(), ListArmyListInfo.ReturnListWithFilterFromArmyListInfo() and ListArmyListInfo.SortByIndex() methods into Filter(), FilterValuesGet() and Sort() methods
// - removed obsolete armySortAscending member
// ListDAGArmyTemplateInfo class
// - added the class
// - added the LoadFromList() method replacing the old R.DAG_DAGArmyTemplateListsLoad() method
// ListDAGArmyListInfo class
// - renamed old CreateListWithDAGArmies class into ListDAGArmyListInfo class
// - renamed the old GetArmiesList(), GetCustomArmiesList(), ReadIndexFile() and GenerateIndexFile() methods to Load(), LoadCustom(), LoadFromList() and ListGenerate() methods
// - renamed old AddCustomArmy() and DeleteCustomArmy() methods to ListCustomAdd() and ListCustomDelete() methods
// - further modified, streamlined and optimized the ReturnBooksUsed(), ReturnArmyListsUsed(), ReturnPointsUsed() methods and merged them into a FilterListGet() method
// - added the new LoadFromFiles() and ListCustomUpdate() methods
// - moved all filter and sort methods into DAGArmyListInfoExtensions class
// - removed ascendingSort member
// ListGameSaveInfo class
// - added the class
// - further modified, streamlined and optimized the R.GetSavedGames(), R.SaveRefreshList(), R.SaveAddToIndex() and R.DeleteSavedGame() and renamed them to Load(), LoadFromList(), LoadFromFiles(), ListGenerate(), ListCustomUpdate(), ListCustomAdd(), ListCustomDelete()
// GameSaveInfo class
// - renamed the old SavedGameInfo class into GameSaveInfo class
// - renamed the old saveDate and scenarioName members to date and fileScenario new members
// - added the new file and scenario members
// - changed old turn member's type from string to byte
// GameSaveInfoExtensions class
// - added the new sortName, sortDate, sortTurn and sortFileScenario members
// - added the new LookupNameToIndex(), LookupName(), LookupFileToIndex() and LookupFile() lookup methods
// - further modified, streamlined and optimized the R.SortSavedGames() and renamed it to Sort() and all the compare methods
// gdFVListFormations class
// - renamed old CreateListWithFormations class into gdFVListFormations class
// DataTools class
// - massive update modifications for all methods' code
// ListScenarioInfoOLD class
// - renamed old CreateListWithScenariosOLD class into ListScenarioInfoOLD() class
// - commented all its code as deprecated (see new R.LegacyScenarioListGenerate() and R.LegacyScenarioListRead() methods)
// FoGVersion class
// - added the class
// R class
// - removed the old LoadDAGResources() methods and also its call in R.Start()
// - added the new LoadFileFormations() method
// - renamed old LoadVersionFile() method to LoadVersionData()
// - modified LoadVersionData() method to return a FoGVersion object, also replacing now the old VersionGet(), VersionEditor.LoadVersionFile() and ContentListCreate.GetVersion() methods, which were removed
// - added the new LoadFileVersion() method
// - modified LoadFileUnitFigure() method
// - added the new LoadFileUnitCrop() method
// - added PackScenarioFold() and PackScenarioUnfold() methods
// FoGInit class
// - removed all obsolete (versionMajor, versionMinor, versionBuild, versionRevision, sVersionMajor, sVersionMinor, sVersionBuild, sVersionRevision, sVersion, sTitle and sDate) members
// ZipFile class
// - added the new packType member and its additional constructors code and usage
// ZipFileExtensions class
// - modified HasFile() and DataExtract() methods to not rely on LookupFile() methods anymore
// - added the new IsPackType() methods
// GameInProgressExtensions class
// - added the class
// - added the new LookupChallengeID(), LookupChallengeIDToIndex(), LookupInstanceID() and LookupInstanceIDToIndex() methods replacing the old Multiplayer.GameInProgressLookupByChallengeID(), Multiplayer.GameInProgressLookupByInstanceID(), Multiplayer.GameInProgressMyTurnGamesLookupByChallengeID() and Multiplayer.GameInProgressMyTurnGamesLookupByInstanceID() methods, which were removed
// Multiplayer class
// - further modified, streamlined and optimized the SS_InstanceDownload() method
// FigureImageProcessor class
// - further modified, streamlined and optimized all class'es methods
// =======================================================================================
// + Unity engine update to v4.5.3f3
// + switched XML reading from XmlNodeReader = new XmlNodeReader(XmlDocument.Load(filePath)) to using (XmlReader = XmlReader.Create(pFilePath)) {}
// + switched XML reading from XmlNodeReader = new XmlNodeReader(XmlDocument.LoadXml(R.LoadFileScenario(fileName, folder))) to using (XmlReader = XmlReader.Create(new StringReader(R.LoadFileScenario(fileName, folder)))) {}
// - FoGGame added a new FoGGameInfo member
// - E modified CreateScenario() adding a new FoGGame parameter
// - R further modified, streamlined and optimized SaveGameState() into GameStateFileDataGenerate() method
// - R further modified, streamlined and optimized loadGameStateValues(), loadBGStatesNew() and loadGameStateOrder() methods and all their usage
// - Replay further modified, streamlined and optimized GetReplayXML() into ReplayFileDataGenerate() method
// - Replay further modified, streamlined and optimized ReplayAppend() into ReplayUpdate() method
// - Replay further modified, streamlined and optimized LoadXML(), SaveXML(), EventListGet() and ReplayAppend() methods
// - GM, E and S removed the g FoGGame member and used the G.g one instead
// - R MapLoad() removed obsolete pDAGGame parameter
// - MainMenu added DataLoadSPGameNewScenario(), DataLoadSPGameNewDAG(), DataLoadSPGameLoad(), DataLoadMPGameLoad(), DataLoadEditorScenario(), DataLoadEditorScenarioNew(), DataLoadEditorMap(), DataLoadEditorMapNew(), DataLoadEditorArmyList() and DataLoadEditorArmyListNew() methods
// - R further modified, streamlined and optimized ArmyListLoad(), also added two overloads
// - SideExtensions added the new LookupSideFirstFree() method
// - NationExtensions added the new LookupNationFirstFree() method
// - MainMenu added the new fListsDictionariesUse, dictLSM, dictLMM, dictLAM, dictLDAGATM and dictLDAGAM members
// - MainMenu added the new initAssetsListsDictionaries() method
// - G removed cts, mapCols and mapRows members
// - E added the new tileset member
// - E modified hexSetTerrainType() method adding a new pTileset parameter
// - ZipFileExtensions renamed FileExtract() to LookupFile()
// - Replay further modified, streamlined and optimized ReplayUpdate()
// - GM removed the gameFilePack, gameFilePath and gameFileName members
// - GM moved the GameStateInitial() method to R class
// - removed all FoGGame reference parameters, and used simple FoGGames parameters instead
// - MiniMapGenerator further modified, streamlined and optimized the whole class
// - G added the gdNoIndex, gdNoSelection and gdRootSelection members and their usage through all the code
// - G removed the old obsolete xmlName, mapName, sceName members
// - G removed the old obsolete mpCurrentGame, slCurrentGame members
// - R further modified, streamlined and optimized UploadInstance()
// - added FoGPlayerExtensions class
// - Challenge.PlayerIDGet(), GameInProgress.PlayerIDGet() and GameInProgress.PlayerSideIDGet() methods modified to FoGPlayerExtensions.LookupName() and FoGPlayerExtensions.LookupNameToIndex() methods
// - GameInProgress FPlayerIDGet() modified to FoGPlayerExtensions.LookupSideID() and FoGPlayerExtensions.LookupSideIDToIndex() methods
// - GameInProgress EPlayerIDGet() modified to FoGPlayerExtensions.LookupNameEnemy(), FoGPlayerExtensions.LookupNameEnemyToIndex(), FoGPlayerExtensions.LookupSideIDEnemy() and FoGPlayerExtensions.LookupSideIDEnemyToIndex() methods
// - GameInProgress IsFirstSide() modified to FoGPlayerExtensions.IsFirstSide() method
// - GameInProgress PlayerIDNextGet() modified to SideIDGetNext() method
// - Multiplayer added the new mpFilePack member
// - Multiplayer further modified, streamlined and optimized SS_InstanceDownload(), SS_InstanceCacheDownload() and MPGameCacheRead() methods
// - added ListFoGBooks class
// - FB.ReadBooksFile() to ListFoGBooks.LoadFromList()
// - GameClasses.FoGBook and GameClasses.FoGBookExtensions moved to ListFoGBooks
// - FoGBookExtensions added the new HasDAGArmyListsNo() method
// - FB removed old obsolete fbNo and fbDAGNo members
// - FoGBook renamed most of its members
// - MainMenu.BookSort() and BookNameComparer class modified to ListFoGBooks Filter(), FilterValuesGet(), Sort(), ComparerBName(), ComparerBNameS() and ComparerBID()
// - MainMenu renamed old bookListSorted to listFoGBooks
// - MainMenu added the new listGameSaves member
// - MiniMap further modified, streamlined and optimized ReturnMiniMap() method
// - R added the new LookupScenarioInfo(), LookupMapInfo() and LookupArmyListInfo() methods
// - E further modified, streamlined and optimized mapReloadAll()
// - G removed old obsolete isCustomScenario(?), isDAGBattle and slScenarioFolder, slFlag(?) members
// - R further modified, streamlined and optimized resetCachedLists()
// - R added the new fCachedListsPersistent member
// - G removed old obsolete slFNewMPGame, slFNewMPTurnPhase, slFFreeDeployment, slFFreeDeploymentEnded, slFDMoves. slFFoW, slFNoTurnLimit, slCurrentTurn, slsOi, slnOi
// - FoGGame further modified, streamlined and optimized the whole class
// - G added the new FoGGameType, FoGGameMode and FoGGameState enums
// - G added the new IntToFoGGameType(), StringToFoGGameType(), IntToFoGGameState() and StringToFoGGameState() methods
// - FoGGame added the new state member (of the FoGGameState enum type)
// - GameInProgress changed old status into state member, and changed its type to the new FoGGameState enum type
// - GameInProgress removed obsolete dagState member
// - G removed obsolete gdDAGStateNone, gdDAGStatePlay, gdDAGStateSelectNewArmy and gdDAGStateSelectNewMap members and replaced usage with the new FoGGameState enum
// - G removed obsolete gdGMTypeNone, gdGMTypeScenario and gdGMTypeDAG members and replaced usage with the new FoGGameType enum
// - Challenge changed old status into state member, and changed its type to the new FoGGameState enum type
// - GameInProgress removed obsolete , fGameEnded member
// - FoGGame removed obsolete fNewMPGame, fFreeDeploymentEnded, and fGameEnded members
// - R further modified, streamlined and optimized generateIssueChallengeFile() into fileChallengeScenarioGenerate() method
// - R further modified, streamlined and optimized generateDAGChallengeFile() into fileChallengeDAGGenerate() method
// - MainMenu added the new mmdPasswordLengthMIN member and used throug all the code
// - added the new ChallengeExtensions class
// - Multiplayer moved SortChallengesByIndex(), CHLockedComparer(), CHScenarioComparer(), CHOpponentComparer(), CHDateComparer() to the new ChallengeExtensions Sort(), ComparerCHPublic(), ComparerCHName(), ComparerCHOpponent(), ComparerCHDate(), ComparerCHComplexity(), ComparerCHPoints() and ComparerCHInfo() methods
// - Multiplayer moved ReturnChallengesWithFilter() and ReturnGUIContentWithAllTheScenarios() to new ChallengeExtensions Filter() and FilterValuesGet() methods
// - Multiplayer moved SortGamesInProgressByIndex(), GIPScenarioComparer(), GIPOpponentComparer(), GIPDateComparer() and GIPResultComparer() to the new Sort(), ComparerGIPName(), ComparerGIPOpponent(), ComparerGIPDate() and ComparerGIPResult() methods
// - GP merged gmTurnFDPhaseInit(), gmTurnFDPhaseEnd(), gmTurnFDEnd(), gmTurnInit(), gmTurnPhaseInit(), gmTurnPhaseEnd(), gmTurnEnd(), gmGameEndCheck() and GM gmTurnEnd() into GM GameInit(), GameTurnPhaseStart(), GameTurnPhaseEnd(), GameEndCheck() and GameEnd() methods
// - GM removed old obsolete gsTurnInitialized member
// - GM moved gmfGMInitialized member to FoGGame initialized
// - SevenZipInterface further modified, streamlined and optimized CompressLZMAToFile() and DecompressLZMAToZipFiles()methods
// - ZipFile added the new packLocked member
// - G added the new gdPackTypeCollection member
// - G added the new FileTypeExtensionsFullToFileType() and FilePathGetFileExtensionFull() methods
// - FoGGameInfo added the new fileDataChat member
// - ZipFileExtensions added the new LookupFiles() method
// - ListScenarioInfo modified LoadFromFiles() to also load from various file packs
// - ListMapInfo modified LoadFromFiles() to also load from various file packs
// - ListArmyListInfo modified LoadFromFiles() to also load from various file packs
// + switched XML creating from XmlDocument tmpXML = new XmlDocument() to using using (XmlWriter tmpWriter = XmlWriter.Create(pFilePath, tmpSettings)) {}
// - FoGGameInfo added the new fileData member
// - R further modified, streamlined and optimized the ScenarioGenerateXML() into the ScenarioFileDataGenerate() method
// - R further modified, streamlined and optimized the ScenarioSave() method
// - R further modified, streamlined and optimized the MapGenerateXML() into the MapFileDataGenerate() method
// - R further modified, streamlined and optimized the MapSave() method
// - R further modified, streamlined and optimized the ArmyListGenerateXML() into the ArmyListFileDataGenerate() method
// - R further modified, streamlined and optimized the ArmyListSave() method
// + completely separated the chat data from the game save data
// - ChatManager further modified, streamlined and optimized the GenerateChatXml() into the ChatFileDataGenerate() method
// - ChatManager further modified, streamlined and optimized the LoadChatFromXml() into the ChatLoad() method
// - Replay further modified, streamlined and optimized the LoadXML() and EventListGet() methods into ReplayLoad() method
// - R removed old obsolete GameStateInitial() method
// - R moerged obsolete QuickSaveGame() method into SaveGame() method
// - G added the new LocalisationProcess() method and its usage
// - GM removed obsolete GameStateUpdate() method
// - ZipFileExtensions added methods for both ZipFile[] and List<ZipFile> collections
// - ZipFileExtensions added the new HasFileType(), LookupFileTypeFirst() and LookupFileTypeLast() methods
// - Replay removed obsolete inSPReplay and inMPReplay members
// - GP added the new DBG_BGMPathToString() method and modified DBG_BGMPathShow() to use it
// + more methods modified to use S.SelectedBG as action parameter (Actions, ButtonBar and GM classes)
// - S removed obsolete selectedBGflag member
// - Hex transformed tSteep member from byte into bool
// - ButtonBar added the new fBBarDisabled member and mofied the OnGUI_ButtonBar() to account for it
// - GM added the new BBarsSetupGame() and BBarsSetupReplay() methods and their usage
// + GM modified BBarsInitialize() methods to avoid having new button bars objects created for each starting game
// + FoGDebugPanel further modified, streamlined and optimized the whole class
// + FoGDebugPanel added the new FoGGame section
// - G added the new IntToFoGGameMode() and StringToFoGGameMode() methods
// - Replay added the new fREMOneByOne and fREMReplayEventNext members, and modified REM() method to account for them
// - Action added the new Action_ReplayModeChange_Enabled(), Action_ReplayModeChange(), Action_ReplayPlayPauseNext_Enabled(), Action_ReplayPlayPauseNext(), Action_ReplayEventNext_Enabled(), Action_ReplayEventNext(), Action_ReplayStop_Enabled() and Action_ReplayStop() methods
// + GM replay button bar added new replay action buttons
// - GM modified the Update() method adding code for the Space key to signal Replay.REM() to advance to the next replay event (if the Replay.REM was set to play the events one by one)
// - Replay removed obsolete inReplay member and replaced its usage with FoGGameInfo.fReplay
// - GameSaveInfo removed obsolete fGameSave member
// - FoGGame removed obsolete turnStart member
// - NewDAGGameState added new state DAG_SELECT_MAP
// - G added the new selectedMap member
// + SP DAG game flow added new map picking screen
// + DebugConsole added [PING] debug console messages group and all the additional code
// - MainMenu.OnNewDAGGame() added map preview
// + MainMenu added a new mapFilePrev member (preventing a bug launching empty map reading coroutines each frame)
// - SP DAG new game flow moved army lists initial positioning from GM.DAGScenarioInit() to GM.Awake() (to remove the need of using a temporary placeholder map for MP DAG games)
// - G.Update() added keys for triggering legacy scenarios conversion, file packing and unpacking
// - FoGBuild modified BuildMake() method to copy additional build files after compiling the build
// + Unpack class further modified, streamlined and optimized it into FilePack class
// - G removed obsolete dataPath_Scenarios, dataPath_ScenariosOLD and bundlePath_ScenariosOLD members
// - R removed obsolete rdBundleScenariosOLD and fBundleScenariosOLDUse members
// - G modified dataPath_Help member's path from "/Assets/help/" to "/Bundles/help/"
// - G added the new pcdfUnityEditor, pcdfUnityWin, pcdfUnityOSX, pcdfUnityWeb, pcdfUnityAndroid and pcdfUnityiOS members (Unity precompile directive flags)
// - FoGInit modified the AwakeMethod() method to account for the new Unity precompile directive flags
// - FoGHelp modified the fhUrlHelp and fhUrlWikipedia members' paths initialization
// + recompiled all Win asset bundles
// + R fixed a hard crash bug in getFiguresAssetBundle() method only appearing when either R.rdBundleUnpackFigs or R.rdBundleUnpackAll were true
// - R modified LoadFileDAGArmyList() method's parameters
// + Scenario and FoGGame classes modified n member from Nation[] into List<Nation>
// - Side modified sN member from Nation[] into List<Nation>
// + FoGDebugPanel FoGGame section more modifications, added the players array area
// - DAG further modified, streamlined and optimized the DAGArmyBGsGenerate() method
// - ListScenarioInfo.LoadFromFiles() added file packs reading optimizations (reading a filepack only once instead of once for each accessed file)
// - ListMapInfo.LoadFromFiles() added file packs reading optimizations (reading a filepack only once instead of once for each accessed file)
// - ListArmyListInfo.LoadFromFiles() added file packs reading optimizations (reading a filepack only once instead of once for each accessed file)
// + modified the G.gdFVDAGArmyList and G.gdFVListDAGArmyLists formats, with all the additional code and remade the armies asset bundle
// - GM further modified, streamlined and optimized the DAGScenarioInit() method
// - MainMenu further modified, streamlined and optimized the DataLoadSPGameNewDAG() method
// - DAG further modified, streamlined and optimized the DAGArmyBGsGenerate() method
// - R further modified, streamlined and optimized the ScenarioFileDataGenerate() and ArmyListFileDataGenerate() methods
// + SP DAG game start flow
// - G modifed the old dagBook into dagBookSType and also all associated enum elements
// - G modifed the old dagEArmy into dagEArmySType and also all associated enum elements
// - G added the new selectedScenario, selectedArmyList
// - MainMenu further modified, streamlined and optimized the DrawScenariosWithFiltersAndSort(), DrawMapsWithFiltersAndSort(), DrawArmiesWithFiltersAndSort(), DrawDAGArmiesWithFiltersAndSort() and DrawEnemyArmyList() methods
// - ListScenarioInfo further modified, streamlined and optimized the Load(), LoadFromList() and ListCustomUpdate() methods
// - ListMapInfo further modified, streamlined and optimized the Load(), LoadFromList() and ListCustomUpdate() methods
// - ListArmyListInfo further modified, streamlined and optimized the Load(), LoadFromList() and ListCustomUpdate() methods
// - ListDAGArmyListInfo further modified, streamlined and optimized the Load(), LoadCustom(), LoadFromList() and ListCustomUpdate() methods
// - ListGameSaveInfo further modified, streamlined and optimized the Load(), LoadFromList() and ListCustomUpdate() methods
// + G changed gdFileTypeArmyList army list file type's file extensions within gdFileTypeExtensions from .bgl into .als and within gdFileTypeExtensionsFull from .bgl.xml into .als.xml
// - G added the new NationsControlMode enum
// - G added the new IntToNationsControlMode() and StringToNationsControlMode() methods
// - Side added the new side's nations control mode sNCM member
// - GP modified the bgCheckIfSelectable() method to account for the new side's sNCM member
// - GP added the new GameNationNext() method and modified the GameTurnPhaseEnd() method accordingly
// - Side added the new sOID member and its usage
// - Nation added the new nOID member and its usage
// - GameClasses added the new ComparerNationOrder class
// - FoGPlayerExtensions added the new LookupNationIDToIndex() and LookupNationID() methods
// - R fixed some LegacyScenarioLoad() method problems consisting in ignoring a non-standard legacy scenario side/nation order and not incrementing side/nation's BGs number
// - G added the new fXmlDeclarationON member
// + G added the new XmlWriterSettingsFoG() method, and its usage through all the code
// + corrected Arsouf 1191AD, Verneuil 1424AD and Verulamium 60AD scenarios which had the default assigned side order reversed (side 1 first, side 0 second)
// + corrected Kosovo 1389AD scenario import, which should have the default assigned map edges reversed (edge 1 for side 0, and edge 3 for side 1)
// + FoGGame and Scenario modified the nations n member's type from array into list
// + FoGGame and Scenario modified the nations order nO member's type from array into list
// + FoGGame and Scenario removed the obsolete pNo member
// + FoGGame and Scenario modified the players p member's type from array into list
// - Data corrected a problem in the formations\camps.ebg.xml file (both camps and fortified camps units were fortified camp troop types
// - R further modified, streamlined and optimized the LoadFileDAGArmyListTemplate()
// + DebugConsole merged all the VerboseLevelsPreset methods into a single VerboseLevelsPreset() using the newly added VLP enum as parameter
// + DebugConsole further modified, streamlined and optimized the whole class
// - G added the new Language enum
// - G added the new gdLanguageCode member
// - G added the new IntToLanguage(), StringToLanguage() and StringCodeToLanguage() methods
// + modified DAG army list template file format and all the additional code from gdFVDAGArmyListTemplate 1.00 to 1.01
// + modified editor battlegroups list file format and all the additional code from gdFVEditorBGs 1.00 to 1.01
// - Battlegroup modified dismountTF member to dismount and its type from int to bool
// - GP added the new bgLeaderQualityToAOC(), bgAOCToLeaderQuality() and bgWeaponsRangedRearRanksToAORC() methods
// + modified DAG army list file format and all the additional code from gdFVDAGArmyList 1.00 to 1.01
// - GP added the new def_ArmyListStakesUnifiedUse member
// - Battlegroup modified stakesTF member to stakes
// - G added the new UnitPortableDefences enum
// - G added the new IntToUnitPortableDefences() and StringToUnitPortableDefences() methods
// + Battlegroup.stakes, Battlegroup.stakesUse and ArmyList.stakesUse modified all the stakes data holders type from int to bool or UnitPortableDefences, and their usage through all the code
// + Battlegroup added the new nameL member, merged all separate localized names into it and used it through all the code
// - Battlegroup modified the name member to return the localized name for the current language
// - DAG modified the DAGLeaderCostCompute() method
// - G added the new UnitFortifications enum
// - G added the new IntToUnitFortifications() and StringToUnitFortifications() methods
// - Battlegroup modified the old bgFCmpBroken into the new fortifications member, and changed its type from bool to UnitFortifications
// - G removed the gdutFortifiedCamp and replaced it with the gdutCamp and Battlegroup.fortifications = UnitFortifications.Present
// - Battlegroup added the new lootable member
// + Battlegroup renamed old aFolder member into aFList member
// - DAGArmyTemplateInfo added the new version member
// + DAG further modified, streamlined and optimized the whole class
// + ArmyList further modified, streamlined and optimized the whole class
// - DAGAlly replaced with DAGNation class
// + DAGUnit further modified, streamlined and optimized the whole class
// - DAG further modified, streamlined and optimized the BodyguardDefaultSet() method into DAGE_LeaderAdd() method
// + Unity engine update to v4.5.5f1
// + DAG removed DAG_DAGArmyDAGStringsInit() method, and all its asociated DAGUnit data storage string arrays
// - ListDAGArmyListInfo added a new constructor, updated ListCustomAdd() method and added a new Update() method
// - ListGameSaveInfo updated ListCustomAdd() method and added a new Update() method
// - ListArmyListInfo added a new constructor and updated the ListCustomAdd() method
// - ListMapInfo added a new constructor and updated the ListCustomAdd() method
// + FoGGame modified old scnVariants array member into the new scenarios list member
// - R loadUnit(), LoadFileUnitFigure(), loadFiguresAsync() and loadFigures() methods added the FoGGame parameter
// - S mRotate() method added the FoGGame parameter
// - GameClasses added the new ComparerSideOrder class
// + FoGGame modified old s and sO array members into the new s and sO list members
// + Scenario modified old s and sO array members into the new s and sO list members
// + GameInProgress modified old sidesOrder array member into the new sO list member
// - NumericExtensions class added
// + DeploymentArea class added
// + DeploymentAreaExtensions class added
// + FoGGame, Scenario, Side, Nation and Map added the new deployment area members replacing the old edge and size members
// + FoGDebugPanel added the new OnGUI_FoGGameDeploymentAreaLInfo(), OnGUI_DeploymentAreaL() and OnGUI_DeploymentArea() methods
// - FoGDebugPanel class moved the FoGGame.BGs display code in the new OnGUI_FoGGameBGsLInfo() and OnGUI_BGsL() methods
// - FoGDebugPanel class moved the FoGGame.m display code in the new OnGUI_Map() method
// - DAG further modified, streamlined and optimized the DAGArmyBGsGenerate() method
// + FoGGame modified old BGs array member into the new BGs list member
// - E further modified, streamlined and optimized the bgDelete() and armyDestroySide() methods
// - DAGArmyListInfoExtensions added the new ComparerDAGAIPointsClass() class
// - ListDAGArmyListInfo class DAGArmyListInfo() added new description parameter
// - DAG mosidied the OnDAGSaveArmy() method to allow editing a new DAG army list's description
// - MainMenu added the new sScenario, sMap, sArmy and sGameSave members
// - DAG added the new sDAGArmyTemplate and sDAGArmy members
// - DAG replaced the old P.selectedNationGrid with the new sDAGArmyTemplate member
// - DAG renamed old DAGArmySelected with the new listSDAGArmy
// - MainMenu further modified, streamlined and optimized the onIssueScenarioChallengeGUI() and onIssueScenarioChallengeGUI() methods
// + Challenge added the new armyPointsClass, fileType, file and filePack members and their usage
// + GameInProgress added the new armyPointsClass, fileType, file and filePack members and their usage
// + ListFoGBooks, ListScenarioInfo, ListMapInfo, ListArmyListInfo, ListDAGArmyListInfo, ListGameSaveInfo and all the asociated MainMenu and DAG lists storage members changed theirs types from array to list
// - G added the new MapChosen game preference, and its additional code
// + MainMenu added the new listMapsBase and listArmiesBase members, and their additional code
// + DAG added the new listDAGArmiesBase member, and its additional code
// - DAG further modified, streamlined and optimized the DrawDAGArmyList() method
// - MainMenu further modified, streamlined and optimized the DrawDAGArmyListEnemy() method
// - G added the new selectedGameSave member
// - FoGPlayer added the new armyPoints member
// - G added the new gdNoValue member
// - MainMenu added the new sChallenge, sChallengeMine, sGIP, sGIPTurnMine, sGIPTurnOpponent and sGIPEnded members
// - MainMenu further modified, streamlined and optimized the OnIssueChallengeGUI(), OnListGamesGUI(), OnListMyTurnGUI(), OnListOpponentTurnGUI() and OnListEndedGamesGUI() methods
// + FoGDebugPanel added the new ScenarioInfo section
// + FoGDebugPanel added the new GameSaveInfo section
// + FoGDebugPanel added the new Challenge section
// + FoGDebugPanel added the new GameInProgress section
// - MainMenu further modified, streamlined and optimized the Multiplayer.AcceptChallenge() into the new DataLoadMPGameAccept() method
// - ScenarioInfo added the new typeGameSave and fileGameSave members
// - R further modified, streamlined and optimized the loadGameStateOrder() and loadBGStatesNew() methods
// + R added the new LoadFileGameSave() method
// - FoGGameInfo modified filePack member's type from array to list
// - Replay removed the obsolete _listReplayPointsCached and _eventListCached members
// - Replay further modified, streamlined and optimized the ReplayLoad() method
// - Replay removed the obsolete ReplayAppend() method
// - ChatManager further modified, streamlined and optimized the ChatLoad() method
// - R removed obsolete SetMPOrder() method
// - FoGGame removed obsolete fNewMPTurnPhase and fMPTurnPhaseEnded members
// - FoGGame added the new fNCMSeparate and fGameStateStartIgnore members
// - further modified, streamlined and optimized the old GM.gmGameUpload() into the new MainMenu.DataLoadMPGameSave() method
// - G added the new PlayerType enum
// - FoGAI added the new AIType enums
// - R further modified, streamlined and optimized the MapDensityCompute() and MapHexCheckIfCentral() methods
// - R added the new DATAm_MapDensityCompute() and DATAm_MapHexCheckIfCentral() methods
// + split scenario .als files into into .als and .gsv
// - R MapLoad() added the new pModeFull parameter
// - S further modified, streamlined and optimized the mRotate()
// - MiniMap further modified, streamlined and optimized the ReturnMiniMap() method
// - MiniMap further modified, streamlined and optimized the GenerateTextures() method
// - MiniMap added the new TextureGet() method
// - Minimap removed the old obsolete cullingMask member
// - S mZoomInOut(), mMoveHorizontal(), mMoveVertical(), mGridUpdate(), mHexInstantiate(), bgDSRotateCheck(), bgDSRotate() added the new pMap parameter
// - Map added the S.mHexGet(), S.mHexGetNeighbors(), S.mHexGetNeighborsSame(), S.mHexCheckIfNeighbors(), S.mHexNeighborToPosition(), S.mHexCheckIfHillsEdge(), S.mHexOpposite() and S.mHexOppositeDist() methods
// - Map added the E.hexCheckIfPaired(), E.hexResetPairedNeighborsPairsInfo() methods
// - E MapSetNewTileset(), MapReset(), mapDestroyAll(), mapReloadAll(), armyDestroySide(), armyReloadSide(), hexEdit(), hexSetTerrainType(), hexResetPairedNeighborsPairsInfo(), hexResetLinkedNeighborsMat(), hexElevationSet(), hexElevationSameSet(), hexGetMatIndexHillSided(), hexElevationMatSwitch(), hexGetMatIndexL0(), hexGetMatLinked(), hexGetMatIndexLinked(), hexGetMatIndexLinkedNoTerrainSpecial(), hexGetMatIndexStreamRoad(), hexGetMatIndexRoadWater(), hexGetMatIndexStreamWater()
// - GP sbgMPathShow() and sbgMPathAdd added the new pMap parameter
// + Multiplayer replaced old challenges, myChalenges and allChallenges array members with the new listChallengesMASTER, listChallengesMine, listChallengesBase and listChallenges list members
// + removed old obsolete GamesInProgress class (together with its obsolete PopulateGamesMoreExplicit() method), and replaced its games, myTurnGames, opponentsTurnGames and endedGames array members with the new Multiplayer listGIPsMASTER, listGIPsTurnMine, listGIPsTurnOpponent and listGIPsEnded list members
// - MainMenu removed obsolete mpGameDescription member
// - Challenge added, further modified, streamlined and optimized the new MiscDataGenerate() method from the old Multiplayer.ChallengeIssueMiscDataGenerate method
// - Challenge renamed, further modified, streamlined and optimized the old ChallengeAcceptMiscDataGenerate() into the new MiscDataGenerateGIP() method
// - GameInProgress renamed, further modified, streamlined and optimized the old GameInProgressMiscDataGenerate() into the new MiscDataGenerate() method
// - Multiplayer further modified, streamlined and optimized the ChallengeIssueGMMessageMiscDataGenerate() method
// - GMMessageM further modified, streamlined and optimized the GMMM_MessageListSave() method
// - GMMessage further modified, streamlined and optimized the ToJSON() method
// + FoGDebugPanel added the new Replay section
// - Replay further modified, streamlined and optimized the whole class
// + SevenZipInterface added the new def_DictSizePower and tweaked its default value to solve the compression's rare Out of Memory error message
// + DebugConsole further modified, streamlined and optimized the whole class
// + DebugConsole removed LogSys(), LogToDo(), LogDebug(), LogError(), LogWarning(), LogPing() methods
// - DebugConsole replaced old Log() methods with the LogExtended() methods
// + DebugConsole added the new DMT.PONG enum member
// - GP added the new BGCampHexListGet() and GameCampBGsListGet() methods
// - GP renamed old gmBGsInit() into the new GameBGsInit() method
// - GP renamed old gmHexInit() into the new GameMapInit() method
// - GP removed old S.campLinkWithHex() method and replaced it with the new BGPlaceOnMap() method
// - GP removed old S.campUnlinkHex() method and replaced it with the new BGRemoveFromMap() method
// - GP further modified, streamlined and optimized the old bgShow() into the new GameBGsVSUpdate() method (now accounting for FoW BGs display too)
// - GP further modified, streamlined and optimized the mFoWDisplay() method
// - GP further modified, streamlined and optimized the old mFoWDisplay() into the new GameMapFoWShow()
// - GP renamed the old mFoWCompute() method into the new GameMapFoWCompute() method
// - GP renamed the old mFoWReset() method into the new GameMapFoWReset() method
// - S renamed old mHexInstantiate() method into the new MapInstantiate() method
// - Replay added the new ReplayMode enum
// - Replay replaced the old obsolete fREMOneByOne with the new mode member
// - Replay further modified, streamlined and optimized the whole class
// =======================================================================================
// + GP further modified, streamlined and optimized the whole class
// - FoGAI further modified, streamlined and optimized the whole class
// - GP further modified, streamlined and optimized the bgMAreaCompute() method
// - GP removed the obsolete bgMAreaComputeAllMap() method and gpMAreaComputeAllMap member (sent now as a parameter of bgMAreaCompute())
// - GP removed the obsolete bgMAreaComputeAllMapIgnoreEBGs() and bgMPathComputeIgnoreEBGsBUI() methods and gpMAreaMPathComputeIgnoreEBGs member (sent now as a parameter of bgMAreaCompute() and bgMPathCompute())
// - GP removed the bosolete bgGetImpactHexListIgnoreEBGsBUI member (sent now as a parameter of bgGetImpactHex() and bgGetImpactHexList() methods)
// - Map replaced the old GP.bgGetImpactHexClosest() with the new HexNeighborGetClosest() method
// - GP added the new BGCanCharge() methods
// - GP renamed the old bgCheckCanFight() into the new BGCanHaveCombat() method
// - GP renamed the old bgGetEBGRanged() into the new BGCanShootEBGGet() method
// - GP further modified, streamlined and optimized the old bgGetEBGRangedList() into the new BGCanShootEBGsListGet() method
// - GP modified the old bgGetEBGImpact() into the new BGCanChargeEBGGet() method
// - GP further modified, streamlined and optimized the old bgGetEBGImpactList() into the new BGCanChargeEBGListGet() and modify it to use the BGCanCharge() method
// - GP modified the old bgGetAdjacentEBG() into the new BGIsAdjacentEBGGet() method
// - GP further modified, streamlined and optimized the old bgGetAdjacentEBGList into the new BGIsAdjacentEBGsListGet() method
// - GP modified the old hGetAdjacentEBG() into the new HexIsAdjacentEBGGet() method
// - GP further modified, streamlined and optimized the old hGetAdjacentEBGList into the new HexIsAdjacentEBGGetList() method
// - GP further modified, streamlined and optimized the old FoGAI.aiFBGActiveListGet() and FoGAI.aiEBGActiveListGet() into the new GameActionAbleFBGsListGet(), GameActionAbleABGsListGet() and GameActionAbleEBGsListGet() methods
// - GP modified the old FoGAI.aiBGActiveToImpactListGet() into the new GameCanChargeBGsListGet() method
// - GP modified the old FoGAI.aiBGActiveToMeleeListGet() into the new GameCanFightBGsListGet() method
// - GP modified the old FoGAI.aiBGActiveToMoveListGet() into the new GameCanMoveBGsListGet() method
// - GP modified the old FoGAI.aiBGActiveToRangedListGet() into the new GameCanShootBGsListGet() method
// - GP modified the old hGetEBGImpactList() into the new BGChargedEBGListGet() method
// - GP further modified, streamlined and optimized the bgEBGsBUIEnable() method
// - FoGGame renamed the old initialized member into the new fGameInit, and added the new fPhaseInit member
// - GP added the new GameBGsUIDisable() method and added the new fBGsUIDisable member
// - GP renamed the old bgBGsUIUpdate() into the new GameBGsUIUpdate() method and added the new fBGsUIUpdate member
// - GP renamed the old bgEBGsBUIDisable(BG) into the new bgEBGsBUIHide() method
// - GP renamed the old bgEBGsBUIDisable() into the new GameEBGsBUIHide() method and added the new fEBGsBUIHide member
// - GP renamed the old bgEBGsBUIHideHighlight() into the new GameEBGsBUIHighlightHide() method and added the new fEBGsBUIDisable member
// - GP added the new GameBGsBUIHide() method and the new fBGsBUIHide member
// - GP added the Update() and OnGUI() methods
// + GP further modified, streamlined and optimized the bgGetImpactHex() method to transform it from a [BGBUID] BG battle UI dependent method into a [MAD] MArea dependent method
// + removed all GP.bgEBGsBUIEnable(BG) calls not needed anymore (now as GP.bgGetImpactHex() is not a [BGBUID] BG battle UI dependent method anymore, but a [MAD] MArea dependent method)
// + stopped displaying visuals during human phase's compulsory section
// + stopped displaying visuals during replay
// + stopped displaying visuals during AI player's turn
// - stopped rotate the map view for AI (fixed human player nation/side's viewpoint)
// + FoGAI further modified, streamlined and optimized the whole class
// - R added the new GameStateAutomaticFileNamePreviousGet() method
// - ZipFileExtensions added the new LookupFileTypePenultimate() methods
// - FoGGame added the new pC player current member
// + Unity engine update to v4.6.1f1
// + users system (1)
// - G further modified, streamlined and optimized the old ReadPreferences() method into the new PrefsUserLoad() method
// - G further modified, streamlined and optimized the old SaveGamePreferences() method into the new PrefsUserGameVariablesSave() method
// - G further modified, streamlined and optimized the old LoadGamePreferences() method into the new PrefsUserGameVariablesLoad() method
// - G further modified, streamlined and optimized the old SaveGameSettings() method into the new PrefsUserSettingsSave() method
// - G further modified, streamlined and optimized the old LoadGameSettings() method into the new PrefsUserSettingsLoad() method
-----------------------------------------------------------------------------------------------------------------------
v2.0.01.978 (GC1e) (2015.01.24)
========================================
first gold candidate 5th update
// => build v1.2.01.978 (GC1e) (2015.01.24)
// => FoG(U) 977, 978 revisions
// G modified DBG_PrefsUsersInject() method to fix a problem causing injected players' passwords to not be saved
// G modified the PrefsUserSerialsSave() method to prevent saving empty strings serials
// G modified the PrefsUserLoad() method:
// - added debug console error messages for wrong or other addons serials
// - added code to clean up the wrong or other addon serials from their respective interface text edit fields
// - moved development/beta new addons purchasing injections out side the main book addons loop
// - fixed a bug resulting in accepting serials for other addons as valid serials but without flagging them as purchased
// - added code to cleanup any eventually prefs saved wrong serials
// MainMenu modified the OnEnterSerialGUI() and the OnPreferencesGUI() methods to also display disabled entries for the unreleased books and to removed the space from the serials valid characters filter
// MainMenu modified the OnPreferencesGUI() method to fix a bug resulting in not-accessible Preferences Sound Settings sub-menu
// G added the Enum methods region and moved the PlayerPrefs region
// MainMenu modified the OnMainMenuGUI() method to disable the beta Editor code section
// GP removed the old bgSNone, bgSInGame, bgSOffGame and bgSNames members
// G added the new BGStateGM enum and the associated IntToBGStateGM() and StringToBGStateGM() methods
// + Battlegroup modified the old bgS int member into the new sGM BGStateGM enum member and modified its usage through all the code
// GP removed the old bgVSInvisible, bgVSVisible and bgVSNames members
// G added the new BGStateVisual enum and the associated IntToBGStateVisual() and StringToBGStateVisual() methods
// + Battlegroup modified the old bgVS int member into the new sV BGStateVisual enum and modified its usage through all the code
// GP removed the old bgASNormal, bgASAnarchyCharge, bgASEvade, bgASPursuit, bgASBreakOff, bgASRout and bgASNames members
// G added the new BGStateAction enum and the associated IntToBGStateAction() and StringToBGSsateAction() methods
// + Battlegroup modified the old bgAS int member into the new sA BGStateAction enum and modified its usage through all the code
// BGStateAction enum added the new Move and Charge action states, modified the GPM.GPMBGASRevert() and GPM.GPMMoveEnd() methods accordingly
// GP removed the old bgOffTheMapNot, bgOffTheMapOneHex, bgOffTheMapTwoHexes and bgOtMSNames members
// G added the new BGStateMap enum and the associated IntToBGStateMap() and StringToBGSsateOffMap() methods
// + Battlegroup modified the old offthemap int member into the new sOM BGStateMap enum and modified its usage through all the code
// BarButton added the new def_StringEmpty member
// ButtonBar added the new def_StringEmpty, fBBarTooltip, tooltip and tooltipLast members
// ButtonBar modified the OnGUI_ButtonBar() adding button bar's mouse-over button tooltip export code
// GM added the new bbarTooltipLast member
// GM modified the OnGUI() method adding mouse-over button's tooltip display code section
// Battlegroup added the new AAL member
// Battlegroup modified the bgGPMAMA member by adding a get method
// + GPM further modified, streamlined and optimized the whole class (1) (including a fix for the evade crash error) (WIP)
v2.0.01.976 (GC1d) (2015.01.19)
========================================
first gold candidate 4th update
// => build v1.2.01.976 (GC1d) (2015.01.19)
// => FoG(U) 976 revision
// G increased both def_VersionPrefs and def_VersionPrefsMIN to 1.02 to erase all older player prefs
// MainMenu modified the AcceptChallenge() method to disable the beta build's MP DAG challenges accept code section
// modified several _FOG_DEBUG conditionings into _FOG_DEV (to prevent beta access to debug features)
// GMMessage fixed a problem in the ToJSON() method resulting in MiscData bad JSON format
// GMMessageM modified the GMMessageSend_Delegate() method allowing for message list replace
// GMMessageM modified the GMMM_MessageListReplace() method temporarily deactivated the delete old messages challenge code
// JSON modified the Decode() method allowing commas to be passed into a value string
// => FoG(U) 975 revision
// renamed the old precompile directive _FOG_DEBUGAI into the new _FOG_AI
// FoGBuild renamed the old bdDEBUG_AI into the new bdAI
// removed AI's conditioning for _FOG_DEV precompile directive only
// MainMenu modified the OnNewGameGUI(), onIssueScenarioChallengeGUI() and onIssueDAGChallengeGUI() methods to have their label reflect the various states when creating a new game / issuing a new challenge
// DebugFoG class - added button for switching the button bar GUI style on/off
// => FoG(U) 974 revision
// FoGGameInfo merged the old filePackOUT member into the filePack member
// Multiplayer added the new def_MPGameSaveUserGID, def_DataGameSaveAll, def_DataReplayAll and def_DataChatAll members
// ChatManager added the new ChatUpdate() method
// ChatManager modified the ChatFileDataGenerate() method by adding the new pFull bool parameter
// Replay modified the ReplayUpdate() and ReplayFileDataGenerate() methods by adding the new pFull bool parameter
// MainMenu modified the DataLoadMPGameSave() and DataLoadMPGameLoad() and methods MP game save pack code sections (to fix a bug causing a secondary MP game player not constructing his own MP game save pack file)
// MainMenu modified the DataLoadMPGameLoad() method adding MP game save name info
// DebugFoG class - added button for switching the debug users injection on/off
// => build v1.2.01.973 dev (GC1c) (2015.01.15)
// => FoG(U) 973 revision
// DAG.OnDAGSaveArmy() modified the method to re-load the DAG army lists after saving a new custom DAG army (to fix a bug causing newly saved custom DAG armies to not be displayed)
// => FoG(U) 970-972 revisions
// increased tertiary subversion from 00 to 01 (due to the addition of the new users system code)
// + users system (2)
// added the new Version class
// added the new FoGVersionCategory enum
// modified MainMenu.appAuthUpdate() by adding the pSecure parameter
// G class moved FoGInit.PrefsCheck() to G.PrefsCheck()
// Multiplayer class renamed old ResponseErrorLog() method into the new ResponseLog() method
// G added the new gdCharQuote, gdStringEmpty, gdStringCommaQuote and gdStringQuoteColonQuote members
// + G.gdStringEmpty usage (1) (through all the G, MainMenu, DAG, Multiplayer and GMMessageM classes)
// + G.gdCharQuote, G.gdStringCommaQuote and G.gdStringQuoteColonQuote usage through all the Multiplayer and GMMessageM classes
// further further modified, streamlined and optimized the ResponseLog() method (addressing both PBEM2 server response variants and also fixing any serials saving/loading related bugs in the process)
// DAG modified sDAGArmyTemplate and OnDAGNationSelection() to fix a crash related with a released addon book not having any DAG army templates
// => FoG(U) 968, 969 revisions
// added the whole revision 964 WIP's code
// revision 964 WIP's complete notes are in the notes.cs file
// => FoG(U) 964-967 revisions
// added the new trunk, tags and branches folders
// moved all code into the trunk folder
// added the v1.8.19.963_bRC9 tag
// added the v2.0.00.967_CG2 branch
// => build v1.9.00.963 dev (bRC10) (2014.08.20)
// => build v1.2.00.964 dev (GC1) (2014.12.01)
// => build v1.2.00.964 dev (GC1b) (2014.12.11)
// => FoG(U) 964 WIP
// increased all three major, minor and build versions from 1.8.19 to 1.9.19 and then to 2.0.00
// added the new FoGBookExtensions class, with the LookupNameSToIndex(), LookupNameS(), LookupFolderToIndex() and LookupFolder() methods
// FB class
// - removed the obsolete bookNameStoIndex() and bookFoldertoIndex() methods and replaced their usage with the new FoGBookExtensions class'es methods
// G class
// - replaced the old ListScenarioInfo.SetScenarioDescription() with the new G.DescriptionProcess() method
// - added new menu item methods priorities members
// - added the new FilePathNormalize() and FolderPathNormalize() methods replacing old ContentListCreate.GetPathNormalized() method
// - added the new PathGetParentPath() method replacing old ContentListCreate.GetPathFromFullPath() method
// - added the new PathGetName() method replacing old ContentListCreate.GetNameFromFullPath() method
// - removed obsolete auxGameName member
// - removed obsolete scenarioHeaderFile, gameMapFile and armyFile members
// FoGGameInfo class
// - added the class
// DAG class
// - renamed the old DAGArmyDAGLeaderGet() method into the LeaderInit() one, modified the code
// - removed the SetArmySpecs() method and used the G.DescriptionProcess() method, also modified the DAG.DAG_DAGArmyTemplateListsLoad() to use it
// - modified the OnDAGNationSelection() and DAG_DAGArmyTemplateInfoSet() methods to use the G.YearToString() method
// - replaced the old dagArmyListTypeNone, dagArmyListTypeStarter, dagArmyListTypeCustom and dagArmyListTypeNames members with the new AssetType enum
// - further modified, streamlined and optimized the DrawDAGFilters() and DrawDAGArmyList() methods
// - renamed the old nations, selectedNations, customSaveDAGArmiesList and mainXSavedDAGArmiesList members to listDAGArmyTemplatesMASTER, listDAGArmyTemplates, listDAGArmyMASTER and listDAGArmy
// DAGUnit class
// - merged DAGBGTemplate class into this DAGUnit class
// - replaced improper alui member usage and initialization with the proper DAGuID member, usage and initialization
// - added the new DAGUnitExtensions class, with the LookupUnitID() method replacing the old DAG.DAGArmyDAGLeaderGet() method
// DAGUnitInfo class
// - merged DAGTroopType and DAGLeader classes into this DAGUnitInfo class
// - added the new DAGUnitInfoExtensions class, with the LookupLeaderUnitID() method replacing the old DAG.DAGArmyDAGBGTemplateGet() method
// DAGArmyTemplateInfo class
// - renamed old DAGNationInfo class into this class
// - changed old startYear and endYear string members into the new yearStart and yearEnd int members
// - added the IsBookThemed() method
// - removed obsolete folder member
// DAGArmyTemplateInfoExtensions class
// - added the class
// - LookupNameToIndex(), LookupName() and Filter() methods replacing the old DAG.DAGNationGetIndex(), DAG.DAGArmyListInfoNationInfoGet() and DAG.FilterNations() methods
// - added the new LookupFile(), Sort() and compare methods
// DAGArmyListInfo class
// - changed type member from byte into AssetType enum
// - renamed armyPack member into bookID
// DAGArmyListInfoExtensions class
// - added the class
// - added the LookupNameToIndex() methods
// - added the old ListDAGArmyListInfo.SortByIndex() method renamed as Sort()
// - added the old ListDAGArmyListInfo.FilterArmyList() method renamed as Filter()
// AssetBundleCreate class
// - moved all working folder paths to the G.dataPath_TMPOUT folder
// MainMenu
// - added the new fSortAscending member and its usage
// - removed old obsolete nameAscending, yearAscending, complexityAscending, warAscending members and their additional usage
// - further modified, streamlined and optimized the DrawScenariosWithFiltersAndSort(), DrawMapsWithFiltersAndSort(), DrawArmiesWithFiltersAndSort() and DrawDAGArmiesWithFiltersAndSort() methods
// - removed obsolete IsScenarioInList(), IsMapInList() and IsBGInList() methods and replaced their usage with proper classes extensions lookup methods
// - renamed the old mainScenarioInfo, customScenarioInfo, mainMapInfo, customMapInfo, mainArmyInfo and customArmyInfo to listScenariosMASTER, listScenarios, listMapsMASTER, listMaps, listArmiesMASTER and listArmies
// - modified the initAssetsLists() method, also adding the pRefreshCustomLists parameter
// ListScenarioInfo class
// - renamed old CreateListWithScenarios class into this ListScenarioInfo class
// - renamed old CreateScenariosList(), ReadIndexFile(), ReturnScnList() and GenerateIndexFile() methods to Load(), LoadFromList(), LoadFromFiles() and ListGenerate() methods
// - renamed old UpdateIndexFile() and AddCustomScenario() to ListCustomUpdate() and ListCustomAdd() methods
// ScenarioInfoExtensions class
// - further modified, streamlined and optimized old ListScenarioInfo.ReturnListWithFilterFromScenarioInfo() method and renamed it to FilterValuesGet() method
// - further modified, streamlined and optimized old ListScenarioInfo.ReturnScenarioListWithSpecificFilter() and ListScenarioInfo.SortScenarioInfoByIndex and renamed them to Filter() and Sort()
// - added all the new compare methods
// - modified FilterValuesGet() method to sort books short names's values list by book's index (rather than by book's short name)
// ListMapInfo class
// - renamed old CreateListWithMaps class into ListMapInfo class
// - moved all filter and sort methods into MapInfoExtensions class
// - renamed old CreateMapList(), ReadIndexFile(), ReturnMapsList() and GenerateIndexFile() methods to Load(), LoadFromList(), LoadFromFiles() and ListGenerate() methods
// - renamed old UpdateIndexFile() and AddCustomMap() methods to ListCustomUpdate() and ListCustomAdd() methods
// MapInfoExtensions class
// - renamed the old ListMapInfo.ReturnMapsListWithSpecificFilter(), ListMapInfo.ReturnListWithFilterFromMapInfo() and ListMapInfo.SortByIndex() methods into Filter(), FilterValuesGet() and Sort() methods
// - removed obsolete mapSortAscending member
// ListArmyListInfo class
// - renamed the old CreateListWithBg class into this ListArmyListInfo class
// - renamed BattleGroupInfo and BattleGroupInfoExtensions classes to ArmyListInfo and ArmyListInfoExtensions classes
// - moved all filter and sort methods into ArmyListInfoExtensions class
// - renamed old CreateBattleGroupsList(), ReadIndexFile(), ReadFiles() and GenerateIndexFile() methods to Load(), LoadFromList(), LoadFromFiles() and ListGenerate() methods
// - renamed old UpdateIndexFile() and AddCustomBG() methods to ListCustomUpdate() and ListCustomAdd() methods
// ArmyListInfoExtensions class
// - renamed the old ListArmyListInfo.ReturnBGsListWithSpecificFilter(), ListArmyListInfo.ReturnListWithFilterFromArmyListInfo() and ListArmyListInfo.SortByIndex() methods into Filter(), FilterValuesGet() and Sort() methods
// - removed obsolete armySortAscending member
// ListDAGArmyTemplateInfo class
// - added the class
// - added the LoadFromList() method replacing the old R.DAG_DAGArmyTemplateListsLoad() method
// ListDAGArmyListInfo class
// - renamed old CreateListWithDAGArmies class into ListDAGArmyListInfo class
// - renamed the old GetArmiesList(), GetCustomArmiesList(), ReadIndexFile() and GenerateIndexFile() methods to Load(), LoadCustom(), LoadFromList() and ListGenerate() methods
// - renamed old AddCustomArmy() and DeleteCustomArmy() methods to ListCustomAdd() and ListCustomDelete() methods
// - further modified, streamlined and optimized the ReturnBooksUsed(), ReturnArmyListsUsed(), ReturnPointsUsed() methods and merged them into a FilterListGet() method
// - added the new LoadFromFiles() and ListCustomUpdate() methods
// - moved all filter and sort methods into DAGArmyListInfoExtensions class
// - removed ascendingSort member
// ListGameSaveInfo class
// - added the class
// - further modified, streamlined and optimized the R.GetSavedGames(), R.SaveRefreshList(), R.SaveAddToIndex() and R.DeleteSavedGame() and renamed them to Load(), LoadFromList(), LoadFromFiles(), ListGenerate(), ListCustomUpdate(), ListCustomAdd(), ListCustomDelete()
// GameSaveInfo class
// - renamed the old SavedGameInfo class into GameSaveInfo class
// - renamed the old saveDate and scenarioName members to date and fileScenario new members
// - added the new file and scenario members
// - changed old turn member's type from string to byte
// GameSaveInfoExtensions class
// - added the new sortName, sortDate, sortTurn and sortFileScenario members
// - added the new LookupNameToIndex(), LookupName(), LookupFileToIndex() and LookupFile() lookup methods
// - further modified, streamlined and optimized the R.SortSavedGames() and renamed it to Sort() and all the compare methods
// gdFVListFormations class
// - renamed old CreateListWithFormations class into gdFVListFormations class
// DataTools class
// - massive update modifications for all methods' code
// ListScenarioInfoOLD class
// - renamed old CreateListWithScenariosOLD class into ListScenarioInfoOLD() class
// - commented all its code as deprecated (see new R.LegacyScenarioListGenerate() and R.LegacyScenarioListRead() methods)
// FoGVersion class
// - added the class
// R class
// - removed the old LoadDAGResources() methods and also its call in R.Start()
// - added the new LoadFileFormations() method
// - renamed old LoadVersionFile() method to LoadVersionData()
// - modified LoadVersionData() method to return a FoGVersion object, also replacing now the old VersionGet(), VersionEditor.LoadVersionFile() and ContentListCreate.GetVersion() methods, which were removed
// - added the new LoadFileVersion() method
// - modified LoadFileUnitFigure() method
// - added the new LoadFileUnitCrop() method
// - added PackScenarioFold() and PackScenarioUnfold() methods
// FoGInit class
// - removed all obsolete (versionMajor, versionMinor, versionBuild, versionRevision, sVersionMajor, sVersionMinor, sVersionBuild, sVersionRevision, sVersion, sTitle and sDate) members
// ZipFile class
// - added the new packType member and its additional constructors code and usage
// ZipFileExtensions class
// - modified HasFile() and DataExtract() methods to not rely on LookupFile() methods anymore
// - added the new IsPackType() methods
// GameInProgressExtensions class
// - added the class
// - added the new LookupChallengeID(), LookupChallengeIDToIndex(), LookupInstanceID() and LookupInstanceIDToIndex() methods replacing the old Multiplayer.GameInProgressLookupByChallengeID(), Multiplayer.GameInProgressLookupByInstanceID(), Multiplayer.GameInProgressMyTurnGamesLookupByChallengeID() and Multiplayer.GameInProgressMyTurnGamesLookupByInstanceID() methods, which were removed
// Multiplayer class
// - further modified, streamlined and optimized the SS_InstanceDownload() method
// FigureImageProcessor class
// - further modified, streamlined and optimized all class'es methods
// =======================================================================================
// + Unity engine update to v4.5.3f3
// + switched XML reading from XmlNodeReader = new XmlNodeReader(XmlDocument.Load(filePath)) to using (XmlReader = XmlReader.Create(pFilePath)) {}
// + switched XML reading from XmlNodeReader = new XmlNodeReader(XmlDocument.LoadXml(R.LoadFileScenario(fileName, folder))) to using (XmlReader = XmlReader.Create(new StringReader(R.LoadFileScenario(fileName, folder)))) {}
// - FoGGame added a new FoGGameInfo member
// - E modified CreateScenario() adding a new FoGGame parameter
// - R further modified, streamlined and optimized SaveGameState() into GameStateFileDataGenerate() method
// - R further modified, streamlined and optimized loadGameStateValues(), loadBGStatesNew() and loadGameStateOrder() methods and all their usage
// - Replay further modified, streamlined and optimized GetReplayXML() into ReplayFileDataGenerate() method
// - Replay further modified, streamlined and optimized ReplayAppend() into ReplayUpdate() method
// - Replay further modified, streamlined and optimized LoadXML(), SaveXML(), EventListGet() and ReplayAppend() methods
// - GM, E and S removed the g FoGGame member and used the G.g one instead
// - R MapLoad() removed obsolete pDAGGame parameter
// - MainMenu added DataLoadSPGameNewScenario(), DataLoadSPGameNewDAG(), DataLoadSPGameLoad(), DataLoadMPGameLoad(), DataLoadEditorScenario(), DataLoadEditorScenarioNew(), DataLoadEditorMap(), DataLoadEditorMapNew(), DataLoadEditorArmyList() and DataLoadEditorArmyListNew() methods
// - R further modified, streamlined and optimized ArmyListLoad(), also added two overloads
// - SideExtensions added the new LookupSideFirstFree() method
// - NationExtensions added the new LookupNationFirstFree() method
// - MainMenu added the new fListsDictionariesUse, dictLSM, dictLMM, dictLAM, dictLDAGATM and dictLDAGAM members
// - MainMenu added the new initAssetsListsDictionaries() method
// - G removed cts, mapCols and mapRows members
// - E added the new tileset member
// - E modified hexSetTerrainType() method adding a new pTileset parameter
// - ZipFileExtensions renamed FileExtract() to LookupFile()
// - Replay further modified, streamlined and optimized ReplayUpdate()
// - GM removed the gameFilePack, gameFilePath and gameFileName members
// - GM moved the GameStateInitial() method to R class
// - removed all FoGGame reference parameters, and used simple FoGGames parameters instead
// - MiniMapGenerator further modified, streamlined and optimized the whole class
// - G added the gdNoIndex, gdNoSelection and gdRootSelection members and their usage through all the code
// - G removed the old obsolete xmlName, mapName, sceName members
// - G removed the old obsolete mpCurrentGame, slCurrentGame members
// - R further modified, streamlined and optimized UploadInstance()
// - added FoGPlayerExtensions class
// - Challenge.PlayerIDGet(), GameInProgress.PlayerIDGet() and GameInProgress.PlayerSideIDGet() methods modified to FoGPlayerExtensions.LookupName() and FoGPlayerExtensions.LookupNameToIndex() methods
// - GameInProgress FPlayerIDGet() modified to FoGPlayerExtensions.LookupSideID() and FoGPlayerExtensions.LookupSideIDToIndex() methods
// - GameInProgress EPlayerIDGet() modified to FoGPlayerExtensions.LookupNameEnemy(), FoGPlayerExtensions.LookupNameEnemyToIndex(), FoGPlayerExtensions.LookupSideIDEnemy() and FoGPlayerExtensions.LookupSideIDEnemyToIndex() methods
// - GameInProgress IsFirstSide() modified to FoGPlayerExtensions.IsFirstSide() method
// - GameInProgress PlayerIDNextGet() modified to SideIDGetNext() method
// - Multiplayer added the new mpFilePack member
// - Multiplayer further modified, streamlined and optimized SS_InstanceDownload(), SS_InstanceCacheDownload() and MPGameCacheRead() methods
// - added ListFoGBooks class
// - FB.ReadBooksFile() to ListFoGBooks.LoadFromList()
// - GameClasses.FoGBook and GameClasses.FoGBookExtensions moved to ListFoGBooks
// - FoGBookExtensions added the new HasDAGArmyListsNo() method
// - FB removed old obsolete fbNo and fbDAGNo members
// - FoGBook renamed most of its members
// - MainMenu.BookSort() and BookNameComparer class modified to ListFoGBooks Filter(), FilterValuesGet(), Sort(), ComparerBName(), ComparerBNameS() and ComparerBID()
// - MainMenu renamed old bookListSorted to listFoGBooks
// - MainMenu added the new listGameSaves member
// - MiniMap further modified, streamlined and optimized ReturnMiniMap() method
// - R added the new LookupScenarioInfo(), LookupMapInfo() and LookupArmyListInfo() methods
// - E further modified, streamlined and optimized mapReloadAll()
// - G removed old obsolete isCustomScenario(?), isDAGBattle and slScenarioFolder, slFlag(?) members
// - R further modified, streamlined and optimized resetCachedLists()
// - R added the new fCachedListsPersistent member
// - G removed old obsolete slFNewMPGame, slFNewMPTurnPhase, slFFreeDeployment, slFFreeDeploymentEnded, slFDMoves. slFFoW, slFNoTurnLimit, slCurrentTurn, slsOi, slnOi
// - FoGGame further modified, streamlined and optimized the whole class
// - G added the new FoGGameType, FoGGameMode and FoGGameState enums
// - G added the new IntToFoGGameType(), StringToFoGGameType(), IntToFoGGameState() and StringToFoGGameState() methods
// - FoGGame added the new state member (of the FoGGameState enum type)
// - GameInProgress changed old status into state member, and changed its type to the new FoGGameState enum type
// - GameInProgress removed obsolete dagState member
// - G removed obsolete gdDAGStateNone, gdDAGStatePlay, gdDAGStateSelectNewArmy and gdDAGStateSelectNewMap members and replaced usage with the new FoGGameState enum
// - G removed obsolete gdGMTypeNone, gdGMTypeScenario and gdGMTypeDAG members and replaced usage with the new FoGGameType enum
// - Challenge changed old status into state member, and changed its type to the new FoGGameState enum type
// - GameInProgress removed obsolete , fGameEnded member
// - FoGGame removed obsolete fNewMPGame, fFreeDeploymentEnded, and fGameEnded members
// - R further modified, streamlined and optimized generateIssueChallengeFile() into fileChallengeScenarioGenerate() method
// - R further modified, streamlined and optimized generateDAGChallengeFile() into fileChallengeDAGGenerate() method
// - MainMenu added the new mmdPasswordLengthMIN member and used throug all the code
// - added the new ChallengeExtensions class
// - Multiplayer moved SortChallengesByIndex(), CHLockedComparer(), CHScenarioComparer(), CHOpponentComparer(), CHDateComparer() to the new ChallengeExtensions Sort(), ComparerCHPublic(), ComparerCHName(), ComparerCHOpponent(), ComparerCHDate(), ComparerCHComplexity(), ComparerCHPoints() and ComparerCHInfo() methods
// - Multiplayer moved ReturnChallengesWithFilter() and ReturnGUIContentWithAllTheScenarios() to new ChallengeExtensions Filter() and FilterValuesGet() methods
// - Multiplayer moved SortGamesInProgressByIndex(), GIPScenarioComparer(), GIPOpponentComparer(), GIPDateComparer() and GIPResultComparer() to the new Sort(), ComparerGIPName(), ComparerGIPOpponent(), ComparerGIPDate() and ComparerGIPResult() methods
// - GP merged gmTurnFDPhaseInit(), gmTurnFDPhaseEnd(), gmTurnFDEnd(), gmTurnInit(), gmTurnPhaseInit(), gmTurnPhaseEnd(), gmTurnEnd(), gmGameEndCheck() and GM gmTurnEnd() into GM GameInit(), GameTurnPhaseStart(), GameTurnPhaseEnd(), GameEndCheck() and GameEnd() methods
// - GM removed old obsolete gsTurnInitialized member
// - GM moved gmfGMInitialized member to FoGGame initialized
// - SevenZipInterface further modified, streamlined and optimized CompressLZMAToFile() and DecompressLZMAToZipFiles()methods
// - ZipFile added the new packLocked member
// - G added the new gdPackTypeCollection member
// - G added the new FileTypeExtensionsFullToFileType() and FilePathGetFileExtensionFull() methods
// - FoGGameInfo added the new fileDataChat member
// - ZipFileExtensions added the new LookupFiles() method
// - ListScenarioInfo modified LoadFromFiles() to also load from various file packs
// - ListMapInfo modified LoadFromFiles() to also load from various file packs
// - ListArmyListInfo modified LoadFromFiles() to also load from various file packs
// + switched XML creating from XmlDocument tmpXML = new XmlDocument() to using using (XmlWriter tmpWriter = XmlWriter.Create(pFilePath, tmpSettings)) {}
// - FoGGameInfo added the new fileData member
// - R further modified, streamlined and optimized the ScenarioGenerateXML() into the ScenarioFileDataGenerate() method
// - R further modified, streamlined and optimized the ScenarioSave() method
// - R further modified, streamlined and optimized the MapGenerateXML() into the MapFileDataGenerate() method
// - R further modified, streamlined and optimized the MapSave() method
// - R further modified, streamlined and optimized the ArmyListGenerateXML() into the ArmyListFileDataGenerate() method
// - R further modified, streamlined and optimized the ArmyListSave() method
// + completely separated the chat data from the game save data
// - ChatManager further modified, streamlined and optimized the GenerateChatXml() into the ChatFileDataGenerate() method
// - ChatManager further modified, streamlined and optimized the LoadChatFromXml() into the ChatLoad() method
// - Replay further modified, streamlined and optimized the LoadXML() and EventListGet() methods into ReplayLoad() method
// - R removed old obsolete GameStateInitial() method
// - R moerged obsolete QuickSaveGame() method into SaveGame() method
// - G added the new LocalisationProcess() method and its usage
// - GM removed obsolete GameStateUpdate() method
// - ZipFileExtensions added methods for both ZipFile[] and List<ZipFile> collections
// - ZipFileExtensions added the new HasFileType(), LookupFileTypeFirst() and LookupFileTypeLast() methods
// - Replay removed obsolete inSPReplay and inMPReplay members
// - GP added the new DBG_BGMPathToString() method and modified DBG_BGMPathShow() to use it
// + more methods modified to use S.SelectedBG as action parameter (Actions, ButtonBar and GM classes)
// - S removed obsolete selectedBGflag member
// - Hex transformed tSteep member from byte into bool
// - ButtonBar added the new fBBarDisabled member and mofied the OnGUI_ButtonBar() to account for it
// - GM added the new BBarsSetupGame() and BBarsSetupReplay() methods and their usage
// + GM modified BBarsInitialize() methods to avoid having new button bars objects created for each starting game
// + FoGDebugPanel further modified, streamlined and optimized the whole class
// + FoGDebugPanel added the new FoGGame section
// - G added the new IntToFoGGameMode() and StringToFoGGameMode() methods
// - Replay added the new fREMOneByOne and fREMReplayEventNext members, and modified REM() method to account for them
// - Action added the new Action_ReplayModeChange_Enabled(), Action_ReplayModeChange(), Action_ReplayPlayPauseNext_Enabled(), Action_ReplayPlayPauseNext(), Action_ReplayEventNext_Enabled(), Action_ReplayEventNext(), Action_ReplayStop_Enabled() and Action_ReplayStop() methods
// + GM replay button bar added new replay action buttons
// - GM modified the Update() method adding code for the Space key to signal Replay.REM() to advance to the next replay event (if the Replay.REM was set to play the events one by one)
// - Replay removed obsolete inReplay member and replaced its usage with FoGGameInfo.fReplay
// - GameSaveInfo removed obsolete fGameSave member
// - FoGGame removed obsolete turnStart member
// - NewDAGGameState added new state DAG_SELECT_MAP
// - G added the new selectedMap member
// + SP DAG game flow added new map picking screen
// + DebugConsole added [PING] debug console messages group and all the additional code
// - MainMenu.OnNewDAGGame() added map preview
// + MainMenu added a new mapFilePrev member (preventing a bug launching empty map reading coroutines each frame)
// - SP DAG new game flow moved army lists initial positioning from GM.DAGScenarioInit() to GM.Awake() (to remove the need of using a temporary placeholder map for MP DAG games)
// - G.Update() added keys for triggering legacy scenarios conversion, file packing and unpacking
// - FoGBuild modified BuildMake() method to copy additional build files after compiling the build
// + Unpack class further modified, streamlined and optimized it into FilePack class
// - G removed obsolete dataPath_Scenarios, dataPath_ScenariosOLD and bundlePath_ScenariosOLD members
// - R removed obsolete rdBundleScenariosOLD and fBundleScenariosOLDUse members
// - G modified dataPath_Help member's path from "/Assets/help/" to "/Bundles/help/"
// - G added the new pcdfUnityEditor, pcdfUnityWin, pcdfUnityOSX, pcdfUnityWeb, pcdfUnityAndroid and pcdfUnityiOS members (Unity precompile directive flags)
// - FoGInit modified the AwakeMethod() method to account for the new Unity precompile directive flags
// - FoGHelp modified the fhUrlHelp and fhUrlWikipedia members' paths initialization
// + recompiled all Win asset bundles
// + R fixed a hard crash bug in getFiguresAssetBundle() method only appearing when either R.rdBundleUnpackFigs or R.rdBundleUnpackAll were true
// - R modified LoadFileDAGArmyList() method's parameters
// + Scenario and FoGGame classes modified n member from Nation[] into List<Nation>
// - Side modified sN member from Nation[] into List<Nation>
// + FoGDebugPanel FoGGame section more modifications, added the players array area
// - DAG further modified, streamlined and optimized the DAGArmyBGsGenerate() method
// - ListScenarioInfo.LoadFromFiles() added file packs reading optimizations (reading a filepack only once instead of once for each accessed file)
// - ListMapInfo.LoadFromFiles() added file packs reading optimizations (reading a filepack only once instead of once for each accessed file)
// - ListArmyListInfo.LoadFromFiles() added file packs reading optimizations (reading a filepack only once instead of once for each accessed file)
// + modified the G.gdFVDAGArmyList and G.gdFVListDAGArmyLists formats, with all the additional code and remade the armies asset bundle
// - GM further modified, streamlined and optimized the DAGScenarioInit() method
// - MainMenu further modified, streamlined and optimized the DataLoadSPGameNewDAG() method
// - DAG further modified, streamlined and optimized the DAGArmyBGsGenerate() method
// - R further modified, streamlined and optimized the ScenarioFileDataGenerate() and ArmyListFileDataGenerate() methods
// + SP DAG game start flow
// - G modifed the old dagBook into dagBookSType and also all associated enum elements
// - G modifed the old dagEArmy into dagEArmySType and also all associated enum elements
// - G added the new selectedScenario, selectedArmyList
// - MainMenu further modified, streamlined and optimized the DrawScenariosWithFiltersAndSort(), DrawMapsWithFiltersAndSort(), DrawArmiesWithFiltersAndSort(), DrawDAGArmiesWithFiltersAndSort() and DrawEnemyArmyList() methods
// - ListScenarioInfo further modified, streamlined and optimized the Load(), LoadFromList() and ListCustomUpdate() methods
// - ListMapInfo further modified, streamlined and optimized the Load(), LoadFromList() and ListCustomUpdate() methods
// - ListArmyListInfo further modified, streamlined and optimized the Load(), LoadFromList() and ListCustomUpdate() methods
// - ListDAGArmyListInfo further modified, streamlined and optimized the Load(), LoadCustom(), LoadFromList() and ListCustomUpdate() methods
// - ListGameSaveInfo further modified, streamlined and optimized the Load(), LoadFromList() and ListCustomUpdate() methods
// + G changed gdFileTypeArmyList army list file type's file extensions within gdFileTypeExtensions from .bgl into .als and within gdFileTypeExtensionsFull from .bgl.xml into .als.xml
// - G added the new NationsControlMode enum
// - G added the new IntToNationsControlMode() and StringToNationsControlMode() methods
// - Side added the new side's nations control mode sNCM member
// - GP modified the bgCheckIfSelectable() method to account for the new side's sNCM member
// - GP added the new GameNationNext() method and modified the GameTurnPhaseEnd() method accordingly
// - Side added the new sOID member and its usage
// - Nation added the new nOID member and its usage
// - GameClasses added the new ComparerNationOrder class
// - FoGPlayerExtensions added the new LookupNationIDToIndex() and LookupNationID() methods
// - R fixed some LegacyScenarioLoad() method problems consisting in ignoring a non-standard legacy scenario side/nation order and not incrementing side/nation's BGs number
// - G added the new fXmlDeclarationON member
// + G added the new XmlWriterSettingsFoG() method, and its usage through all the code
// + corrected Arsouf 1191AD, Verneuil 1424AD and Verulamium 60AD scenarios which had the default assigned side order reversed (side 1 first, side 0 second)
// + corrected Kosovo 1389AD scenario import, which should have the default assigned map edges reversed (edge 1 for side 0, and edge 3 for side 1)
// + FoGGame and Scenario modified the nations n member's type from array into list
// + FoGGame and Scenario modified the nations order nO member's type from array into list
// + FoGGame and Scenario removed the obsolete pNo member
// + FoGGame and Scenario modified the players p member's type from array into list
// - Data corrected a problem in the formations\camps.ebg.xml file (both camps and fortified camps units were fortified camp troop types
// - R further modified, streamlined and optimized the LoadFileDAGArmyListTemplate()
// + DebugConsole merged all the VerboseLevelsPreset methods into a single VerboseLevelsPreset() using the newly added VLP enum as parameter
// + DebugConsole further modified, streamlined and optimized the whole class
// - G added the new Language enum
// - G added the new gdLanguageCode member
// - G added the new IntToLanguage(), StringToLanguage() and StringCodeToLanguage() methods
// + modified DAG army list template file format and all the additional code from gdFVDAGArmyListTemplate 1.00 to 1.01
// + modified editor battlegroups list file format and all the additional code from gdFVEditorBGs 1.00 to 1.01
// - Battlegroup modified dismountTF member to dismount and its type from int to bool
// - GP added the new bgLeaderQualityToAOC(), bgAOCToLeaderQuality() and bgWeaponsRangedRearRanksToAORC() methods
// + modified DAG army list file format and all the additional code from gdFVDAGArmyList 1.00 to 1.01
// - GP added the new def_ArmyListStakesUnifiedUse member
// - Battlegroup modified stakesTF member to stakes
// - G added the new UnitPortableDefences enum
// - G added the new IntToUnitPortableDefences() and StringToUnitPortableDefences() methods
// + Battlegroup.stakes, Battlegroup.stakesUse and ArmyList.stakesUse modified all the stakes data holders type from int to bool or UnitPortableDefences, and their usage through all the code
// + Battlegroup added the new nameL member, merged all separate localized names into it and used it through all the code
// - Battlegroup modified the name member to return the localized name for the current language
// - DAG modified the DAGLeaderCostCompute() method
// - G added the new UnitFortifications enum
// - G added the new IntToUnitFortifications() and StringToUnitFortifications() methods
// - Battlegroup modified the old bgFCmpBroken into the new fortifications member, and changed its type from bool to UnitFortifications
// - G removed the gdutFortifiedCamp and replaced it with the gdutCamp and Battlegroup.fortifications = UnitFortifications.Present
// - Battlegroup added the new lootable member
// + Battlegroup renamed old aFolder member into aFList member
// - DAGArmyTemplateInfo added the new version member
// + DAG further modified, streamlined and optimized the whole class
// + ArmyList further modified, streamlined and optimized the whole class
// - DAGAlly replaced with DAGNation class
// + DAGUnit further modified, streamlined and optimized the whole class
// - DAG further modified, streamlined and optimized the BodyguardDefaultSet() method into DAGE_LeaderAdd() method
// + Unity engine update to v4.5.5f1
// + DAG removed DAG_DAGArmyDAGStringsInit() method, and all its asociated DAGUnit data storage string arrays
// - ListDAGArmyListInfo added a new constructor, updated ListCustomAdd() method and added a new Update() method
// - ListGameSaveInfo updated ListCustomAdd() method and added a new Update() method
// - ListArmyListInfo added a new constructor and updated the ListCustomAdd() method
// - ListMapInfo added a new constructor and updated the ListCustomAdd() method
// + FoGGame modified old scnVariants array member into the new scenarios list member
// - R loadUnit(), LoadFileUnitFigure(), loadFiguresAsync() and loadFigures() methods added the FoGGame parameter
// - S mRotate() method added the FoGGame parameter
// - GameClasses added the new ComparerSideOrder class
// + FoGGame modified old s and sO array members into the new s and sO list members
// + Scenario modified old s and sO array members into the new s and sO list members
// + GameInProgress modified old sidesOrder array member into the new sO list member
// - NumericExtensions class added
// + DeploymentArea class added
// + DeploymentAreaExtensions class added
// + FoGGame, Scenario, Side, Nation and Map added the new deployment area members replacing the old edge and size members
// + FoGDebugPanel added the new OnGUI_FoGGameDeploymentAreaLInfo(), OnGUI_DeploymentAreaL() and OnGUI_DeploymentArea() methods
// - FoGDebugPanel class moved the FoGGame.BGs display code in the new OnGUI_FoGGameBGsLInfo() and OnGUI_BGsL() methods
// - FoGDebugPanel class moved the FoGGame.m display code in the new OnGUI_Map() method
// - DAG further modified, streamlined and optimized the DAGArmyBGsGenerate() method
// + FoGGame modified old BGs array member into the new BGs list member
// - E further modified, streamlined and optimized the bgDelete() and armyDestroySide() methods
// - DAGArmyListInfoExtensions added the new ComparerDAGAIPointsClass() class
// - ListDAGArmyListInfo class DAGArmyListInfo() added new description parameter
// - DAG mosidied the OnDAGSaveArmy() method to allow editing a new DAG army list's description
// - MainMenu added the new sScenario, sMap, sArmy and sGameSave members
// - DAG added the new sDAGArmyTemplate and sDAGArmy members
// - DAG replaced the old P.selectedNationGrid with the new sDAGArmyTemplate member
// - DAG renamed old DAGArmySelected with the new listSDAGArmy
// - MainMenu further modified, streamlined and optimized the onIssueScenarioChallengeGUI() and onIssueScenarioChallengeGUI() methods
// + Challenge added the new armyPointsClass, fileType, file and filePack members and their usage
// + GameInProgress added the new armyPointsClass, fileType, file and filePack members and their usage
// + ListFoGBooks, ListScenarioInfo, ListMapInfo, ListArmyListInfo, ListDAGArmyListInfo, ListGameSaveInfo and all the asociated MainMenu and DAG lists storage members changed theirs types from array to list
// - G added the new MapChosen game preference, and its additional code
// + MainMenu added the new listMapsBase and listArmiesBase members, and their additional code
// + DAG added the new listDAGArmiesBase member, and its additional code
// - DAG further modified, streamlined and optimized the DrawDAGArmyList() method
// - MainMenu further modified, streamlined and optimized the DrawDAGArmyListEnemy() method
// - G added the new selectedGameSave member
// - FoGPlayer added the new armyPoints member
// - G added the new gdNoValue member
// - MainMenu added the new sChallenge, sChallengeMine, sGIP, sGIPTurnMine, sGIPTurnOpponent and sGIPEnded members
// - MainMenu further modified, streamlined and optimized the OnIssueChallengeGUI(), OnListGamesGUI(), OnListMyTurnGUI(), OnListOpponentTurnGUI() and OnListEndedGamesGUI() methods
// + FoGDebugPanel added the new ScenarioInfo section
// + FoGDebugPanel added the new GameSaveInfo section
// + FoGDebugPanel added the new Challenge section
// + FoGDebugPanel added the new GameInProgress section
// - MainMenu further modified, streamlined and optimized the Multiplayer.AcceptChallenge() into the new DataLoadMPGameAccept() method
// - ScenarioInfo added the new typeGameSave and fileGameSave members
// - R further modified, streamlined and optimized the loadGameStateOrder() and loadBGStatesNew() methods
// + R added the new LoadFileGameSave() method
// - FoGGameInfo modified filePack member's type from array to list
// - Replay removed the obsolete _listReplayPointsCached and _eventListCached members
// - Replay further modified, streamlined and optimized the ReplayLoad() method
// - Replay removed the obsolete ReplayAppend() method
// - ChatManager further modified, streamlined and optimized the ChatLoad() method
// - R removed obsolete SetMPOrder() method
// - FoGGame removed obsolete fNewMPTurnPhase and fMPTurnPhaseEnded members
// - FoGGame added the new fNCMSeparate and fGameStateStartIgnore members
// - further modified, streamlined and optimized the old GM.gmGameUpload() into the new MainMenu.DataLoadMPGameSave() method
// - G added the new PlayerType enum
// - FoGAI added the new AIType enums
// - R further modified, streamlined and optimized the MapDensityCompute() and MapHexCheckIfCentral() methods
// - R added the new DATAm_MapDensityCompute() and DATAm_MapHexCheckIfCentral() methods
// + split scenario .als files into into .als and .gsv
// - R MapLoad() added the new pModeFull parameter
// - S further modified, streamlined and optimized the mRotate()
// - MiniMap further modified, streamlined and optimized the ReturnMiniMap() method
// - MiniMap further modified, streamlined and optimized the GenerateTextures() method
// - MiniMap added the new TextureGet() method
// - Minimap removed the old obsolete cullingMask member
// - S mZoomInOut(), mMoveHorizontal(), mMoveVertical(), mGridUpdate(), mHexInstantiate(), bgDSRotateCheck(), bgDSRotate() added the new pMap parameter
// - Map added the S.mHexGet(), S.mHexGetNeighbors(), S.mHexGetNeighborsSame(), S.mHexCheckIfNeighbors(), S.mHexNeighborToPosition(), S.mHexCheckIfHillsEdge(), S.mHexOpposite() and S.mHexOppositeDist() methods
// - Map added the E.hexCheckIfPaired(), E.hexResetPairedNeighborsPairsInfo() methods
// - E MapSetNewTileset(), MapReset(), mapDestroyAll(), mapReloadAll(), armyDestroySide(), armyReloadSide(), hexEdit(), hexSetTerrainType(), hexResetPairedNeighborsPairsInfo(), hexResetLinkedNeighborsMat(), hexElevationSet(), hexElevationSameSet(), hexGetMatIndexHillSided(), hexElevationMatSwitch(), hexGetMatIndexL0(), hexGetMatLinked(), hexGetMatIndexLinked(), hexGetMatIndexLinkedNoTerrainSpecial(), hexGetMatIndexStreamRoad(), hexGetMatIndexRoadWater(), hexGetMatIndexStreamWater()
// - GP sbgMPathShow() and sbgMPathAdd added the new pMap parameter
// + Multiplayer replaced old challenges, myChalenges and allChallenges array members with the new listChallengesMASTER, listChallengesMine, listChallengesBase and listChallenges list members
// + removed old obsolete GamesInProgress class (together with its obsolete PopulateGamesMoreExplicit() method), and replaced its games, myTurnGames, opponentsTurnGames and endedGames array members with the new Multiplayer listGIPsMASTER, listGIPsTurnMine, listGIPsTurnOpponent and listGIPsEnded list members
// - MainMenu removed obsolete mpGameDescription member
// - Challenge added, further modified, streamlined and optimized the new MiscDataGenerate() method from the old Multiplayer.ChallengeIssueMiscDataGenerate method
// - Challenge renamed, further modified, streamlined and optimized the old ChallengeAcceptMiscDataGenerate() into the new MiscDataGenerateGIP() method
// - GameInProgress renamed, further modified, streamlined and optimized the old GameInProgressMiscDataGenerate() into the new MiscDataGenerate() method
// - Multiplayer further modified, streamlined and optimized the ChallengeIssueGMMessageMiscDataGenerate() method
// - GMMessageM further modified, streamlined and optimized the GMMM_MessageListSave() method
// - GMMessage further modified, streamlined and optimized the ToJSON() method
// + FoGDebugPanel added the new Replay section
// - Replay further modified, streamlined and optimized the whole class
// + SevenZipInterface added the new def_DictSizePower and tweaked its default value to solve the compression's rare Out of Memory error message
// + DebugConsole further modified, streamlined and optimized the whole class
// + DebugConsole removed LogSys(), LogToDo(), LogDebug(), LogError(), LogWarning(), LogPing() methods
// - DebugConsole replaced old Log() methods with the LogExtended() methods
// + DebugConsole added the new DMT.PONG enum member
// - GP added the new BGCampHexListGet() and GameCampBGsListGet() methods
// - GP renamed old gmBGsInit() into the new GameBGsInit() method
// - GP renamed old gmHexInit() into the new GameMapInit() method
// - GP removed old S.campLinkWithHex() method and replaced it with the new BGPlaceOnMap() method
// - GP removed old S.campUnlinkHex() method and replaced it with the new BGRemoveFromMap() method
// - GP further modified, streamlined and optimized the old bgShow() into the new GameBGsVSUpdate() method (now accounting for FoW BGs display too)
// - GP further modified, streamlined and optimized the mFoWDisplay() method
// - GP further modified, streamlined and optimized the old mFoWDisplay() into the new GameMapFoWShow()
// - GP renamed the old mFoWCompute() method into the new GameMapFoWCompute() method
// - GP renamed the old mFoWReset() method into the new GameMapFoWReset() method
// - S renamed old mHexInstantiate() method into the new MapInstantiate() method
// - Replay added the new ReplayMode enum
// - Replay replaced the old obsolete fREMOneByOne with the new mode member
// - Replay further modified, streamlined and optimized the whole class
// =======================================================================================
// + GP further modified, streamlined and optimized the whole class
// - FoGAI further modified, streamlined and optimized the whole class
// - GP further modified, streamlined and optimized the bgMAreaCompute() method
// - GP removed the obsolete bgMAreaComputeAllMap() method and gpMAreaComputeAllMap member (sent now as a parameter of bgMAreaCompute())
// - GP removed the obsolete bgMAreaComputeAllMapIgnoreEBGs() and bgMPathComputeIgnoreEBGsBUI() methods and gpMAreaMPathComputeIgnoreEBGs member (sent now as a parameter of bgMAreaCompute() and bgMPathCompute())
// - GP removed the bosolete bgGetImpactHexListIgnoreEBGsBUI member (sent now as a parameter of bgGetImpactHex() and bgGetImpactHexList() methods)
// - Map replaced the old GP.bgGetImpactHexClosest() with the new HexNeighborGetClosest() method
// - GP added the new BGCanCharge() methods
// - GP renamed the old bgCheckCanFight() into the new BGCanHaveCombat() method
// - GP renamed the old bgGetEBGRanged() into the new BGCanShootEBGGet() method
// - GP further modified, streamlined and optimized the old bgGetEBGRangedList() into the new BGCanShootEBGsListGet() method
// - GP modified the old bgGetEBGImpact() into the new BGCanChargeEBGGet() method
// - GP further modified, streamlined and optimized the old bgGetEBGImpactList() into the new BGCanChargeEBGListGet() and modify it to use the BGCanCharge() method
// - GP modified the old bgGetAdjacentEBG() into the new BGIsAdjacentEBGGet() method
// - GP further modified, streamlined and optimized the old bgGetAdjacentEBGList into the new BGIsAdjacentEBGsListGet() method
// - GP modified the old hGetAdjacentEBG() into the new HexIsAdjacentEBGGet() method
// - GP further modified, streamlined and optimized the old hGetAdjacentEBGList into the new HexIsAdjacentEBGGetList() method
// - GP further modified, streamlined and optimized the old FoGAI.aiFBGActiveListGet() and FoGAI.aiEBGActiveListGet() into the new GameActionAbleFBGsListGet(), GameActionAbleABGsListGet() and GameActionAbleEBGsListGet() methods
// - GP modified the old FoGAI.aiBGActiveToImpactListGet() into the new GameCanChargeBGsListGet() method
// - GP modified the old FoGAI.aiBGActiveToMeleeListGet() into the new GameCanFightBGsListGet() method
// - GP modified the old FoGAI.aiBGActiveToMoveListGet() into the new GameCanMoveBGsListGet() method
// - GP modified the old FoGAI.aiBGActiveToRangedListGet() into the new GameCanShootBGsListGet() method
// - GP modified the old hGetEBGImpactList() into the new BGChargedEBGListGet() method
// - GP further modified, streamlined and optimized the bgEBGsBUIEnable() method
// - FoGGame renamed the old initialized member into the new fGameInit, and added the new fPhaseInit member
// - GP added the new GameBGsUIDisable() method and added the new fBGsUIDisable member
// - GP renamed the old bgBGsUIUpdate() into the new GameBGsUIUpdate() method and added the new fBGsUIUpdate member
// - GP renamed the old bgEBGsBUIDisable(BG) into the new bgEBGsBUIHide() method
// - GP renamed the old bgEBGsBUIDisable() into the new GameEBGsBUIHide() method and added the new fEBGsBUIHide member
// - GP renamed the old bgEBGsBUIHideHighlight() into the new GameEBGsBUIHighlightHide() method and added the new fEBGsBUIDisable member
// - GP added the new GameBGsBUIHide() method and the new fBGsBUIHide member
// - GP added the Update() and OnGUI() methods
// + GP further modified, streamlined and optimized the bgGetImpactHex() method to transform it from a [BGBUID] BG battle UI dependent method into a [MAD] MArea dependent method
// + removed all GP.bgEBGsBUIEnable(BG) calls not needed anymore (now as GP.bgGetImpactHex() is not a [BGBUID] BG battle UI dependent method anymore, but a [MAD] MArea dependent method)
// + stopped displaying visuals during human phase's compulsory section
// + stopped displaying visuals during replay
// + stopped displaying visuals during AI player's turn
// - stopped rotate the map view for AI (fixed human player nation/side's viewpoint)
// + FoGAI further modified, streamlined and optimized the whole class
// - R added the new GameStateAutomaticFileNamePreviousGet() method
// - ZipFileExtensions added the new LookupFileTypePenultimate() methods
// - FoGGame added the new pC player current member
// + Unity engine update to v4.6.1f1
// + users system (1)
// - G further modified, streamlined and optimized the old ReadPreferences() method into the new PrefsUserLoad() method
// - G further modified, streamlined and optimized the old SaveGamePreferences() method into the new PrefsUserGameVariablesSave() method
// - G further modified, streamlined and optimized the old LoadGamePreferences() method into the new PrefsUserGameVariablesLoad() method
// - G further modified, streamlined and optimized the old SaveGameSettings() method into the new PrefsUserSettingsSave() method
// - G further modified, streamlined and optimized the old LoadGameSettings() method into the new PrefsUserSettingsLoad() method