[NFO] Version History

Closed beta forum - only for users who have taken part in one of the FoG Beta tests.

Moderators: Slitherine Core, FoG PC Moderator, NewRoSoft

Locked
cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

[NFO] Version History

Post by cothyso » 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

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Thu Jan 17, 2013 9:53 pm

// => build v1.8.19.963 dev (bRC9u06) (2014.06.11)

// => FoG(U) 963 revision
// notes.cs
// - added the new FoG(RB) to FoG(U) convert [CONV] method notation
// - added the new FoG(RB) legacy [LEGACY] method notation
// removed the G.fileScenariosOLDnew member, together with its associated ListScenarioInfoOLDnew class and DataTools.CreateListFromScenariosOLDnew() method
// changed ListScenarioInfoOLD.CreateList() method into R.LegacyScenarioListGenerate() and removed the associated ListScenarioInfoOLD class
// removed the ConvertRB class after moved all menu items into DataTools class
// reordered and cleaned up the DataTools class'es code
// reordered and cleaned up the ScenarioInfo and Scenarios classes' members
// reordered and cleaned up the MapInfo and Map classes' members
// reordered and cleaned up the BattleGroupInfo and BattleGroup classes' members
// added the new AssetType, SCNCategory, SCNComplexity, MAPCategory, MAPSize and MAPDensity enums
// re-imported all the FoG(RB) scenarios, maps and army lists back into the new FoG(U) format, adding another 109 DAG maps, and rebuilt the scenarios bundle, together with the associated scenarios, maps and army lists list files
// DebugConsole class
// - added the new verboseDebugConsole members and its usage
// G class
// - added the new dataPath_TMP ("") and dataPath_TMPOUT ("") members
// - added the BoolToInt(), IntToBool(), BoolToString() and StringToBool() methods
// - added the new IntToAssetType(), StringToAssetType(), YearToString(), scnBGsNoToSCNComplexity(), mapColsNoToMAPSize() and FloatToMAPDensity() methods
// - removed the fileScenariosOLDnew member, the scenarios_old_list_new.xml file and all associated code
// - changed fileScenariosOLD associated file from scenarios_old_list.xml into scenariosOLD_list.xml
// - changed the fileBGL member into fileArmyLists and its associated file from bgs_list.xml into armylists_list.xml
// - changed the fileCBGL member into fileCArmyLists and its associated file from custom_bgs_list.xml into custom_armylists_list.xml
// - changed the fileArmies member into fileDAGArmyLists and its associated file from armies_list.xml into DAGarmylists_list.xml
// - changed the fileCArmies member into fileCDAGArmyLists and its associated file from custom_armies_list.xml into custom_DAGarmylists_list.xml
// - added the new IntToSCNCategory() and StringToSCNCategory() methods
// - added the new IntToSCNComplexity() and StringToSCNComplexity() methods
// ScenarioInfo class
// - removed the now obsolete yearString member (using G.YearToString(ScenarioInfo.year) instead)
// - removed the obsolete folder member (legacy scenarios folder name is now loaded into the file member)
// - removed the now obsolete custom member (using ScenarioInfo.type == AssetType.Custom instead)
// - replaced old scenarioDeveloper member with the new type member (of the AssetType enum type)
// - replaced old scenarioType member with the new category member (of the SCNCategory enum type)
// - modified the complexity member to the new SCNComplexity enum type
// ListScenarioInfo class
// - added the pFolder parameter to LoadFromFiles()
// - added the ScenarioInfoExtensions class with the LookupNameToIndex(), LookupName(), LookupFileToIndex() and LookupFile() methods
// - added the new SideExtensions and NationExtensions classes with the LookupSideIDToIndex(), LookupSideID() and LookupNationIDToIndex(), LookupNationID() methods
// - modified the SetScenarioDescription() method to account for the new scenario description line breaking format
// Map class
// - changed members oddColsStartHigher and oddColsEndLower into ERSF (even rows start first) and EREL (even rows end last), and from byte into bool
// - changed member MPmap (bool) into category (MAPCategory) member
// MapInfo class
// - replaced old scenarioDeveloper member with the new type member (of the AssetType enum type)
// - changed member MPmap (bool) into category (MAPCategory) member
// ListMapInfo class
// - added the pFolder parameter to ReturnMapsList()
// - added the MapInfoExtensions class with the LookupNameToIndex(), LookupName(), LookupFileToIndex() and LookupFile() methods
// BattleGroup class
// - changed medieval member from int to bool
// - changed commander member into uLeaderUse and from int to bool
// - changed id, nationID, or, and, multiplier members into uID, uNID, uGOr, uGAnd and uGAndMultiplier and moved all these members into the DAGBGTemplate and DAGUnit classes
// - sorted out a lot of improper usage of nID and uNID members
// - changed immobile member from int to bool
// BattleGroupInfo class
// - replaced old scenarioDeveloper member with the new type member (of the AssetType enum type)
// ListArmyListInfo class
// - added the pFolder parameter to ReturnBGList()
// - added the BattleGroupInfoExtensions class with the LookupNameToIndex(), LookupName(), LookupFileToIndex() and LookupFile() methods
// R class
// - changed ListScenarioInfo.ReturnScenarioList() into R.LegacyScenarioListRead()
// - changed R.LoadScenario() into R.LegacyScenarioLoad()
// - changed R.loadBGStates() into R.LegacyGameStateLoad()
// - modified ScenarioSave(), MapSave() and ArmyListSave() to have the save folder's path as parameter (instead of the old custom bool parameter)
// - changed LoadScenarioNew(), SaveScenarioToXml() and GenerateScenarioElement() methods into ScenarioLoad(), ScenarioSave() and ScenarioFileDataGenerate methods
// - further cleanedup, modified, streamlined and optimized the ScenarioLoad(), ScenarioSave() and ScenarioFileDataGenerate() methods
// - changed LoadMapNew(), SaveMapToXml() and GenerateMapElement() methods into MapLoad(), MapSave() and MapFileDataGenerate() methods
// - further cleanedup, modified, streamlined and optimized the MapLoad(), MapSave() and MapFileDataGenerate() methods
// - changed LoadBGsNew(), SaveBattlegroupsToXml() and GenerateArmyElement() methods into ArmyListLoad(), ArmyListLoadSave() and ArmyListLoadGenerateXML() methods
// - further cleanedup, modified, streamlined and optimized the ArmyListLoad(), ArmyListLoadSave() and ArmyListLoadGenerateXML() methods
// GP class
// - added the new def_LeaderOverallCommandsAllNations member
// - modified the bgCheckIfInAOC(), bgGetLeaderHighest(), bgGetLeaderNearest() and bgGetLeaderNeighbourHighest() methods to account for the new def_LeaderOverallCommandsAllNations member
// - added the new bgCheckIfCurrentNation() method
// - added the new def_NCMSeparate member
// BGEditor class
// - removed the improper BattleGroup.uLeaderUse usage (as it is a DAG related member, not to be used into the editor)
// DataTools class
// - heavily modified to account for all the changes into the code
// ContentListCreate and AssetBundleCreate classes
// - modifications to the content list file format
// - moved all file name and version informations to G class

// => FoG(U) 962 revision
// added build notes for the 959 revision (previously noted as "WIP code merge commit")
// DebugConsole class
// - added fLogFileWrite, fLogFileWriteCached, cachedMessages and cachedMessagesNoMAX new members
// - added code for switching console log writing on/off
// - added code for caching messages and lazy writing into the console log file (LogMessage() and LogMessageCache() methods)
// - added the new verboseLevelsPriorityMAX and verboseLevelsPriorityMAXDefault (general verbose level maximum priority displayed and its default) members
// - added the new verboseLevelsDefault member (the default verbose levels priorities) and associated VerboseLevelsDefaultSet() method
// - modified the VerboseLevelON() and added the new VerboseLevelPriorityMAXSet() and VerboseLevelPrioritySet() methods to work with the new verbose levels priorities
// - added the new debug message type DMT enum
// - modified vlSYSW, vlSYS, vlD, vlDT, vlDTD, vlFNML, vlFNMN, vlFNMH, vlFNRL, vlFNRN, vlFNRH, vlFNERR and vlFNERRH into DMT.SYS0, DMT.SYS1, DMT.DBG0, DMT.DBG2, DMT.DT0, DMT.M0, DMT.M1, DMT.M2, DMT.R0, DMT.R1, DMT.R2, DMT.ERR0, DMT.ERR1 and DMT.ERR2
// - added the new debug message group verbosity DMGV enum
// - added LogSys() and LogToDo() new methods
// - merged VerboseLevelsDebugNone(), VerboseLevelsDebugMIN(), VerboseLevelsDebugNormal() and VerboseLevelsDebugMAX() methods into VerboseLevelsGroupDebugSet() method
// - merged VerboseLevelsResultsLow(), VerboseLevelsResultsNormal() and VerboseLevelsResultsHigh() methods into VerboseLevelsGroupResultsSet() method
// - added the new VerboseLevelsGroupSystemSet(), VerboseLevelsGroupToDoSet(), VerboseLevelsGroupEntryExitSet(), VerboseLevelsGroupMethodSet(), VerboseLevelsGroupErrorsSet() and VerboseLevelsGroupAISet() methods
// - added the new associated current verbose levels group settings verboseLevelsGroupSystem, verboseLevelsGroupToDo, verboseLevelsGroupDebug, verboseLevelsGroupEntryExit, verboseLevelsGroupMethod, verboseLevelsGroupResults, verboseLevelsGroupErrors and verboseLevelsGroupAI members
// - renamed VerboseLevelsMIN(), VerboseLevelsHIGH(), VerboseLevelsMAX() and VerboseLevelsCustom1() methods into VerboseLevelsPresetMIN(), VerboseLevelsPresetHIGH(), VerboseLevelsPresetMAX() and VerboseLevelsPresetCUSTOM1() methods
// - added the VerboseLevelsPresetNONE(), VerboseLevelsPresetDEV() and VerboseLevelsPresetBETA() methods
// - modified the VerboseLevelsTest() method to account for all new members and methods
// DebugFoG class
// - dbgDebugConsoleStatesTab() method heavily modified, also added code for all new DebugConsole class'es verbose levels new members and methods
// - dbgDebugAI() added code for the AI enabled on/off switch
// AIPlayer class - added the new AI state aiS member
// added the new AIPState enum
// FoGAI class
// - added a new G.def_AI member to control switch the AI on/off even when the AI class is not instantiated
// - added the new aiAIPlayersDeInit() and CentroidCompute() methods
// - modified dbgAIPlayersForce() method
// - heavily modified the dbgmAI() method's flow using the new AIPlayer.aiS and AIPState enum, also integrating it into the GM class'es code
// - fixed a bug in dbgmAI() method's friendly army alpha AG's EBG MIN distance array compute code section
// - added dbgmAI() method's deploy phase code section
// - added dbgmAI() method's gameplay pause code sections
// FoGDebugPanel class
// - added code to reflect the new AIPlayer.aiS member
// - added code fixing the crashes when the FoGAI class was deinstantiated
// TestAIRB class
// - heavy modifications for a better and clearer understanding
// GM class
// - modified Start() method's flow
// GP class
// - bgCheckOffTheMapEvadeRoutHex() and bgCheckOffTheMapEvadeRoutHex() methods - added a null check before calling the bgMPathReset() method
// - gmTurnFDPhaseInit(), gmTurnFDPhaseEnd(), gmTurnPhaseInit() and gmTurnPhaseEnd() methods added AI.dbgmAI() code flow control
// - gmTurnPhaseEnd() method - added a call to DebugConsole.LogMessageCache()
// - merged all game end flow control into gmTurnPhaseEnd() method by only calling the GM.GameEndCheck() method here, and modified the GM.GameEndCheck() method accordingly
// GPM class
// - GPMMoveStart() method - added a null check before calling the bgMPathReset() method
// - fixed a problem in GPMMoveStart() method by adding MArea() recompute for evade, rout and pursuit actions too (before was only for anarchy charge), as all of them could be also triggered from within movement involving actions (and therefore relying on a different computed MArea() )
// InitCheck class
// - Awake() method - added code for the new DebugConsole verbose levels methods
// - added the new DebugConsoleToDoMessageTypeDisplay() method massing most of the DebugConsole.LogToDo messages
// S class
// - added the new mHexGet() method returning null for out of map boundaries m.h[] array coordinates (avoiding the crashes caused by directly using those said coordinates to locate an array member)
// - mHexPositionToNeighbor() method - added null hex parameter error handling code section
// - mLOS() method - fixed a bug causing column zero hexes generating a LOS for the 90 angle resulting in a lot of null hexes added into and a completely wrong final LOS hex array
// - further modified, streamlined and optimized mLOS() method, also renamed and commented all its temporary variables (for a clearer understanding of the algorithm)
// normalized all normalization comments (and changed the notation from [Norm] into [NORM])
// normalized all test comments (and changed the notation from /// TEST into [TEST])
// added the new experimental [EXP] comments notation
// normalized a lot of LogError into Log (methods, results) and LogDebug messages (Actions, ButtonBar. GMMessageM classes)
// added more LogToDo urgent messages
// normalized a lot of debug methods (GP.bgMAreaShowTest() into GP.DBG_BGMAreaShow(), GP.sbgMPathShowTest() into GP.DBG_SBGMPathShow(), GP.bgMPathTest() into GP.DBG_BGMPathShow(), GPM.dbgmGPMAMListDisplay into GPM.DBG_GPMAMListDisplay(), R.testCachedLists() into R.DBG_CachedListsTest() )

// => build v1.8.19.961 dev (bRC9u05) (2014.05.23)

// => FoG(U) 961 revision
// FoGBuild class added two new change build defines switches for the _FOG_DEBUGAI and _FOG_TEST precompile directives
// FoGAI class
// - activated the class
// - added code to allow AI commander end its own turn (WIP)
// S class heavily modified mLOS() method to allow LoS computing both by another hex or angle (in order to compute a better evade hex & evade path)
// renamed old EvadeTest class into EvadeTestOLD
// added the new EvadeTest class with code for the new evade hex and evade path fast testing

// => FoG(U) 960 revision
// fixed a typo in GM.Update() show/hide leader BG AOC action code section (causing Actions.Action_GameAORC() to be called instead of Actions.Action_GameAOC())
// added the _FOG_HELP precompile directive, and all its associated code to completely disable the UWK plugin

// => FoG(U) 959 revision
// ActionParams class
// - added the new BG1 member
// Actions class
// - Action_Parameters() method - added code for the parameters of the BG Evade Behavior and BG Alternate Form buttonbar buttons
// - Action_GUI() method - added proper code
// - added the new Action_ButtonBars(), Action_GameplayConsole(), Action_GameAOC() and Action_GameAORC() methods
// - modified Action_BGEvadeBehavior_Enabled(), Action_BGEvadeBehavior(), Action_BGAlternateForm_Enabled() and Action_BGAlternateForm() methods to use the ActionParams.BG1 parameter instead of the S.SelectedBG
// - modified the Action_BGEvadeBehavior() by invalidating any previously stored undo action
// ButtonBar class
// - added the new fBBarDisableAll member and added itsw usage into the OnGUI_ButtonBar() method
// G class
// - modified dataPath_Help and resourcesPath_Help strings to the proper help files "/Resources/Bundles/help/" location
// - added tow new fAOCShow, fAORCShow and fGUIShow flag members
// - added the new colorHexCommandRange and colorHexMissileRange members and their usage into PrefsUserSettingsSave() and PrefsUserSettingsLoad() methods
// GM class
// - added ButtonBar.fBBarDisableAll and G.fGUIShow related code
// - further modified, streamlined and optimized the Update() method (more, better and clearer different input code sections)
// - OnGUI() method - modified (structure and graphics) the bottom bar background box, SelectedBG info panel group, mouse-over BG info panel group, combat prediction info panel group and detailed combat prediction info panel group code sections
// - replaced the Action_Null() method with the Action_Parameters() method as paramter provided method at the secondary BG Bar initialization
// GMonHex class
// - modified the S.ssBGPlace - BG placement end code section (flow improvements)
// - modified the S.ssNormal - BG change evade behavior code section to use the Action_BGEvadeBehavior() method
// - modified the S.ssNormal - BG alternate troop type code section to use the Action_BGAlternateForm() method
// - added more // WIP (dan) - action comments
// GP class
// - bgSelectUpdate(), bgSelectReUpdate() and bgDeselectUpdate() methods - added G.fAOCShow and G.fAORCShow related code
// - added the new BGAORCShow() and BGAORCHide() methods
// - added the new bgCheckIfHasMissile() method and its usage through all the code
// - bgMAreaShow(), bgMAreaHide() and bgMAreaReset() methods - moved all MArea display and debug display operations from _ColorOverlay2 and _ColorOverlay3 to _ColorOverlay3 and _ColorOverlay4
// - sbgMPathShow(), sbgMPathAdd()and sbgMPathHide() methods - moved all sbgMPath display operations from _ColorOverlay1 to _ColorOverlay4
// - DBG_SBGMPathShow() method - moved all sbgMPath debug display operations from _ColorOverlay2 and _ColorOverlay3 to _ColorOverlay3 and _ColorOverlay4
// - mDAreaShow() and mDAreaHide() methods - moved all DArea display and debug display operations from _ColorOverlay2 to _ColorOverlay3
// FoGAI class
// - AIMapShow(), AIMapHide() and AIMapReset() methods - moved all AI map debug display operations from _ColorOverlay2 to _ColorOverlay4
// EvadeTest class
// - ColorSet() and ColorRevert() methods - moved all debug evade path display operations from _ColorOverlay2 to _ColorOverlay4
// Test class
// - fctx(), fcty(), Try2() and Clean() methods - moved all debug LOS path display operations from _ColorOverlay2 to _ColorOverlay4
// TestFoV class
// - ColorHex() and Clean() methods - moved all debug LOS path display operations from _ColorOverlay2 to _ColorOverlay4
// TestFoV2 class
// - ColorHex() and Clean() methods - moved all debug LOS path display operations from _ColorOverlay2 to _ColorOverlay4
// GPM class
// - GPMMoveStart() and GPMMoveEnd() methods - added G.fAOCShow and G.fAORCShow related code
// InitCheck class
// - Awake() method - added R.rdBundleUnpackFigs and R.fBundleScenariosOLDUse related initialization code
// - CheckMainBundles() method - modified R.fBundleScenariosOLDUse and R.rdBundleUnpackAll usage
// DAGNationInfo class
// - added a new bookID member
// DAGArmyListInfo class
// - replaced the old string Type member with the new byte type member and all its additional usage through all the code
// DAG class
// - replaced old armyTypeStarter and armyTypeCustom members with the new dagArmyListTypeNone, dagArmyListTypeStarter, dagArmyListTypeCustom and dagArmyListTypeNames members, and also all their additional usage
// - DAG_DAGArmyTemplateListsLoad() method - modified to use the new R.LoadFileListBookDAGArmyTemplates() method and to initialize the new DAGNationInfo.bookID member
// - DAGE_DAGArmyTemplateLoad() method - modified to use the new R.LoadFileDAGArmyListTemplate() method
// - DAGE_DAGArmyListLoad() method - modified to use the new R.LoadFileDAGArmyList() method
// - FilterNations() method - optimization (modified to use the new DAGNationInfo.bookID member)
// - DAGArmyListLoad() method - modified to use the new R.LoadFileDAGArmyList() method
// - DAGArmyTemplateLoad() method - modified to use the new R.LoadFileDAGArmyListTemplate() method
// ListDAGArmyListInfo class
// - modified to account for the new DAGArmyListInfo.type's type
// P class
// - modified the rectGMPanelSelectedBGGroup, rectGMPanelMouseOverBGGroup and rectGMPanelCombatPredictionGroup rectangles' dimensions
// MiniMap class
// - ReturnMiniMap() method - modified to use the new R.LoadFileMap() method
// R class
// - added the new fBundleScenariosOLDUse member and used it through the code
// - further modified, streamlined and optimized the LoadBundle() method
// - CheckIfBundlesFinishedLoading() method - modified to check the DownloadManager.bundleFirstQueue.Count size first
// - added the new BundleIDGet() method
// - getFiguresAssetBundle() method - modified to account for R.rdBundleUnpackFigs and R.rdBundleUnpackAll flags
// - added the new Resources - load files region
// - added the new LoadFileListBookDAGArmyTemplates(), LoadFileDAGArmyListTemplate(), LoadFileDAGArmyList(), LoadFileUnitTemplates(), LoadFileUnitFigure(), LoadFileScenario(), LoadFileMap() and LoadFileArmyList() methods
// - EditorUnitTemplatesLoad() method - modified to use the new LoadFileUnitTemplates() method
// - loadUnit() method - modified to use the new LoadFileUnitTemplates() method
// - loadFigures() method - modified to account for the R.rdBundleUnpackFigs and R.rdBundleUnpackAll flags, also modified to use the new LoadFileUnitFigure() method
// - ScenarioLoad() method - modified to use the new LoadFileScenario() method
// - MapLoad() method - modified to use the new LoadFileMap() method
// - ArmyListLoad() method - modified to use the new LoadFileArmyList() method
// DownloadManager class
// - bundleUnpack() method - modified to be an asynchronous method
// - DownloadQueue() method - now asynchronously calls bundleUnpack() (for better performance during the application loading)

// => FoG(U) 958 revision
// added build notes for the 955, 956 and 957 revisions (previously noted as "WIP code merge commit")
// standardized all scripts object holders' names
// removed the GMConsole class, moved its functionality (gameplay console open state initialization and on/off control) into the GM class and removed the script from the Game scene's object was attached to
// moved and disabled all testing/WIP not used scripts into the Testing folder
// heavily modified the application initialization's code flow
// FoGBuild class
// - added more _FOG_DEBUGAI precompile directive related code
// - added _FOG_TEST precompile directive and its additional related code
// G class
// - added the new _MM member (MainMenu class's pointer)
// - added the MainMenuLoad() method and used it in all the scripts which were returning the application to the mainMenu
// - added two new precompile directive associated pcdfDebugAI and pcdfTest flag members and initialized them into the FoGInit.AwakeMethod() method
// InitCheck class
// - modified the whole code flow passing to FoGInit initialization code (to avoid having this code run again at the moment the MainMenu scene is loaded again)
// FoGInit class
// - added _FOG_DEBUGAI and _FOG_TEST precompile directives checks code
// - removed the checkObjectHolder() method and added instead the InitializationStart() method
// Action class
// - modified all Action_BGRotateTo<>() and Action_BGacingTo<>() methods's code to account for the map rotation
// - modified the Action_GameQuit() method to use the G.MainMenuLoad() method in order to switch to the MainMenu
// GM class
// - added code for GMConsole class's functionality
// - removed all the map rotation related code from button bars' buttons initializations

// => build v1.8.19.957 dev (bRC9u04) (2014.05.13)

// => FoG(U) 957 revision
// GM class
// - removed all the default activated debug bars from the game
// - reposisioned the BG button bars lower (to account for the dissapeared over hex debug bar)
// MainMenu class modified various buttons to use different styles (smaller font sizes) accordingly with the _FOG_SMALLSCREEN precompile directive's G.pcdfSmallScreen flag (2)

// => FoG(U) 956 revision
// G class
// - added precompile directives associated pcdfDebug, pcdfDebugConsole, pcdfDebugMenu, pcdfDev, pcdfBeta, pcdfSmallScreen flag members and initialized them into the FoGInit.AwakeMethod() method
// - added the new guiCreateTexture() method
// GM class
// - modified the G.styleGUIFoG GUI style to account for the new FoG(U) bottom bar panels graphic style
// - used the new FoG(U) graphic style for all the bottom bar's panels (selected BG info panel, mouse over BG info panel and combat prediciton info panel) and for the detailed combat prediciton info panel
// - added the GameTurnEnd() method (using OnGUI() End Turn Button's code section for it)
// - removed the OnGUI() End Turn button (as the action is now available via the GamePlay button bar's End Turn button)
// - fixed a bug in gmUndo()'s undoActionTypeChangeFacing code section (which was preventing a newly rotated BG which became completely unavailable regain its available graphics shade after undoing the rotation) (2)
// - reposisioned the secondary BG button bar (to account for the width of the first BG button bar)
// - reposisioned the Replay button bar accounting for the new _FOG_SMALLSCREEN status bars positions
// MainMenu class
// - added the two guyStyleFoGButton and guyStyleFoGSSButton new members and their additional code
// - modified various buttons to use different styles (smaller font sizes) accordingly with the _FOG_SMALLSCREEN precompile directive's G.pcdfSmallScreen flag (1)
// P class
// - modified the bottom bar panel's rectangles (selected BG info panel, mouse over BG info panel and combat prediciton info panel) to account for the removal of bottom bar's OnGUI() End Turn button
// StatusBar class
// - added the new rectSBGameStatusSS, rectSBGameTitleSS and rectSBGameplayMessageSS members
// - modified all status bars to different positions and sizes accordingly with the _FOG_SMALLSCREEN precompile directive's G.pcdfSmallScreen flag
// Actions class
// - modified the Action_TurnEnd_Enabled() method
// - added proper code to the dummy Action_TurnEnd() method
// GP class
// - added the new bgAfterActionUpdate() method and used it through the code in the appropiate places
// - modified the bgSetAvailableRotationOnly() method to properly set the available BG shade
// - renamed bgGetAfterMovementAvailableActionType() into bgGetAfterActionAvailableActionType()

// => build v1.8.19.955 dev (bRC9u03) (2014.04.30)

// => FoG(U) 955 revision
// G class
// - added the new fileMPMessageList member
// - removed the appdAuthStateCommunicationError, appdAuthStateSerialError, appdAuthStateVersionTooOld and appdAuthStateVersionError unnecessary members from [ENUM] application's authentication state
// - added the two new appdAuthStateOffline and appdAuthStateOnline members to [ENUM] application's authentication state
// - added the new colorBGMouseOver member
// - added the new colorGUIBackgroundCurrent, colorGUIBottomBarBackground and styleGUIFoG members
// P class
// - added the new rectGMBottomBar members, its initialization and usage
// GM class
// - added the new texPixelWhite, texPixelBlack and texPixelColorGUIFoG members and their initialization in the GM.Awake() method
// - added the new G.styleGUIFoG to the bottom bar's box
// - disabled all alternative and test button bars
// - fixed a bug in gmUndo()'s undoActionTypeChangeFacing code section (which was preventing a newly rotated BG which became completely unavailable regain its available graphics shade after undoing the rotation) (1)
// ButtonBar class
// - added the new fDragToGlide flag member
// - added additional code in the ButtonBarNormalNew() method to prevent a division by 0 if the pButtonPerLineNoMAX parameter was passed as 0, also a convention that 0 means all buttons will be on a single line
// - added additional code in the ButtonBarNormalNew() method to allow button bars' gliding movement to be also triggered via click/touch, not only via dragging (default is now click/tough)
// GMMessageM class
// - added the new fGMMM_MessageListReplaceWaiting, toSendButtonReplace members
// - added the GMMM_MessageListSave(), GMMM_MessageListLoad() and GMMM_MessageListReplace() methods and used them through the code
// - added public message list backup functionality
// - streamlined the ToJSON() method by coding the message's content directly in it (using the G.StringCode() method)
// MainMenu class
// - added code to throw an offline warning and allow application offline usage
// Multiplayer class
// - added code to allow application offline usage
// - replaced more direct player name string comparisons with string.Equals(), also using the ignore case true parameter (preventing users using different application/server username cases resulting in player name missmatch caused errors)
// - streamlined the MiscDataParse() method's G.gdDataTypeGMMessage code section by directly decoding the message's content in it (using the G.StringDecode() method)
// R class
// - fixed some XML file initialization problems in GenerateMPInstanceFiles() method
// S class
// - modified the Update() method touch control conversion code section to allow a better touch control (single touch BG deselect/select)
// StatusBar
// - added commented G.styleGUIFoG usage for all status bars

// => build v1.8.19.954 dev (bRC9u02) (2014.02.04)

// => FoG(U) 954 revision
// ButtonBar class
// - added more abstraction code
// - complete circular button bars overhaul
// - normal button bars non-draggable behavior
// - general button bars code fixes, optimizations and additions
// added Actions class methods (2)
// code base overhaul (additions, modifications, streamlining and optimizations) (4)

// => build v1.8.19.953 dev (bRC9u01) (2014.01.20)

// => FoG(U) 953 revision
// completely re-written the button bars code (adding the ButtonBar class and removing all the old button bar code)
// added the Actions class
// added Actions class methods (1)
// increased tertiary subversion from 18 to 19 (due to the new actions system)
// code base overhaul (additions, modifications, streamlining and optimizations) (3)

// => FoG(U) 952 revision
// revised, cleaned up and modified revision 951's code

// => FoG(U) 951 revision
// button bar code added behaviour for Android and Iphone

// => FoG(U) 949, 950 revisions
// bug fixes
// huge code base overhaul (additions, modifications, streamlining and optimizations) (2)

// => FoG(U) 947, 948 revisions
// button bar code added behaviour for change facing button

// => FoG(U) 946 revision
// WIP button bars code (radu)
// various additions, modifications, streamlining and optimizations

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Sat Jan 26, 2013 11:28 pm

v1.8.18.945 (bRC9) (2013.12.23)
========================================
ninth beta release candidate

// => FoG(U) 945 revision
// revised, cleaned up and modified revision 939, revision 940, revision 941 and revision 942's code
// revised, cleaned up and modified revision 943 and revision 944's code
// increased tertiary subversion from 17 to 18 (due to the new messaging system and the new button bars system)
// huge code base overhaul (additions, modifications, streamlining and optimizations) (1)

// => FoG(U) 944 revision
// added button bars resources

// => FoG(U) 943 revision
// added the GMMessageM class (handles news and messages from the server or from other users)

// => FoG(U) 941, 942 revision
// MainMenu class - added [WIP] optimization code to be used when SS_ChallengeIssue() returns challengeID
// Multiplayer class
// - cleaned code that involved MP file dump
// - [WIP] added UploadChallenge(int,ZipFile[]) to upload an instance file to a challenge

// => FoG(U) 939, 940 revisions
// DAG class - cleaned the code
// Download Manager class - added debug logs to track downloads
// GM class - removed the addition of static files to the dynamic files pack
// Main Menu class
// - cleaned the code
// - fixed an issue with MP DAG issue challenge button availability
// Multiplayer class
// - added MPFileDump() for dumping packs trasfered
// - added GameInProgressLookupByChallengeID()
// - added temporary fix for UploadChallenge/DownloadChallenge until the upload_challenge.php is working as intended

// => FoG(U) 938 revision
// increased tertiary subversion from 16 to 17 (due to the new AI system and to modifications to the MP client-server communication protocol now using a new fixed data cache system)
// added Build class _FOG_DEBUGAI precompile directive and its additional related code
// WIP AI code merge commit (2) (FoGAI and FoGDebugPanel classes)
// G class moved Ai type defines into FoGAI class
// FoGPlayer class added aipID member
// GM class
// - modified GM.Start()'s AI hookup initialization code
// - added GM.OnGUI() End Turn button's code gmfGMInitialized flag invalidation
// GPM class
// - replaced gpmfGPMStart with gpmfGPMToStop member, and also added the gpmfGPMToForceStop member
// - modified GPMStart() and GPMStop() and also added GPMForceStop() mehod
// - further modified, streamlined and optimized GPMAM() method and also added a forced stop mechanism
// - modified GPMAMAdd() to not allow adding new actions in GPMAM if a stop or forced stop command was already given
// GPMessageM class
// - added the gpmfAMHasMessages member and its additional code
// - replaced gpmmfGPMessageMStart with gpmmfGPMessageMToStop member, and also added the gpmmfGPMessageMToForceStop member
// - modified GPMessageMStart() and GPMessageMStop() and also added GPMessageMForceStop() mehod
// - further modified, streamlined and optimized GPMessageManager() method and also added a forced stop mechanism (including a flush of the currently GPMessageManager registered messages
// - further modified, streamlined and optimized GPMessageManager() and all GPMMMessageAdd() methods' on pause code
// - modified all GPMMMessageAdd() methods to not allow adding new actions in GPMessageManager if a stop or forced stop command was already given
// added a S.mHexPositionToNeighbor() normalized value error handling message
// added the TestServer class for checking server's upload_challenge.php and download_challenge.php scripts presence (Alin)

// => FoG(U) 936, 937 revisions
// optimized MP connection by using the new server scripts
// added debug variable for file dumps for MP games
// DebugConsole class is now initialized in InitCheck class for proper DownloadManager debugging
// fixed an issue where the player couldn't exit a finished game

// => FoG(U) 935 revision
// GM class - minor visual improvement for replays
// InitCheck class - if build version is bigger than the bundles version, all the bundles will be redownloaded
// P class - minor visual improvement for game interface
// R class - added VersionGet() for easier version comparison


v1.8.16.934 (bRC8u01) (2013.11.20)
========================================
eigth beta release candidate 1st update

// => FoG(U) 934
// EvadeTest class - minor bug fixed that caused unpredictable results in-game

// => FoG(U) 933
// Unity engine update to v4.3.0f4
// uWebKit update to v1.5
// WIP AI code merge commit
// added G.gfAIMSimultaneousActions member
// fixed a bug causing minimap BG's to be treated all as invisible (due to improper Hex.visible flag initialization in the Hex class'es constructor)
// GM class
// - added gmfGMInitialized member flag
// - added Start() proper AI initialization
// GP class
// - added gpMAreaBG member
// - bgMPathCompute() added en error message if the code wants to compute a BG's MPath on a different BG's pre-computed MArea
// - gmTurnPhaseInit() removed all (improper) AI initialization code from here
// GPM class
// - code optimization
// - moved GPMAMAdd() Sound Manager actions' audio stream start code into GPMAction()
// - GPMAction() audio streams for different BG types code modifications
// - more detailed GPMAMAdd() debug messages
// modified all R.loadFiguresAssetBundleAsync() figure asset bundles debug messages from system class to method high class
// DebugFoG added different _FOG_BETA and _FOG_DEV console verbosity settings code
// FoGDebugPanel class - added a 5th AI tab and its additional code
// EvadeTest class - moved it from TestWindows to FoG/Test/ Unity Editor menu

// => FoG(U) 932
// FoGHelp class - fixed an issue which caused android freeze

// => FoG(U) 931 revision
// GP class - remade the code to use the old evade system until the new one is properly tested
// R class - fixed an issue with MP DAG games

// => FoG(U) 929, 930 revisions
// Finished implementing the remaining sounds
// S class - added small fix to mHexPositionToNeighbor()
// Sound class - fadeout is more fluent
// GP class - [WIP] implemented the new evade system
// EvadeTest class added temporary until the new evade system is working as intended

// => FoG(U) 928 revision
// Implemented leftover sounds (rout,looting and comander death animation)
// Modified proprieties of audio sound
// GP class - melee sounds are now random
// MainMenu class - small modifications to the preferances submenu


v1.8.16.927 (bRC8) (2013.11.12)
========================================
eigth beta release candidate

// => FoG(U) 925-927 revisions
// increased tertiary subversion from 15 to 16 (due to the new replay system, modifications to the MP client-server communication protocol now async and using compressed packaged data, new sound system, new package system, new random adaptive generator system)
// updated betainfo.html to bRC8's version

// => FoG(U) 924 revision
// GM class - fixed saveGame system
// P class - rewired saveGame/loadGame windows to work properly
// Sound class - minor adjustements to the sound system

// => FoG(U) 923 revision
// Sound class - rewrote most of the sound system for paralel sounds
// R class - the music is now also playing during the game
// GPMessagesM class - minor improvement to CheckList()
// GP class - unit now produces sound when charging and when attacking after charge

// => FoG(U) 922 revision
// MainMenu class - fixed compiler issue for mobile version
// GM class - sound pauses when the game is paused
// Sound class - the sound produced by units will now stop when the action has stopped

// => FoG(U) 921 revision
// E class
// - interface modifications for better consistency
// - saving a scenario now also creates a .scn file that is used for transfer of scenarios between users
// GM class - removed deprecated methods
// MainMenu class - added unpack/pack buttons to the EditScenario tab
// Replay class - removed deprecated methods
// CreateListWithScenarios class - made necessary modifications for proper scenariosPack functionality
// SevenZipInterface class - added ZipFileExtentions class

// => FoG(U) 920 revision
// Implemented sound system and all related interface modifications

// => FoG(U) 919 revision
// R class
// - added SaveRefreshList() to recreate saved_games_list.xml
// - added SaveAddToIndex() to add index entries to saved_games_list.xml
// - renamed SaveReplay() to SaveFilePack() to better represent their function
// ConvertRB class - created class with methods needed for importing of (RB) scenarios to current format
// CreateListWithScenarios,CreateListWithMaps,CreateListWithBGs
// - ReturnList methods have been modified to be usable in the current code
// - added UpdateIndexFile() methods to recreate the individual index files
// MainMenu class
// - added refresh button to LoadGame Menu and Editor Menu
// - fixed minor bug with editor load scenario menu

// => FoG(U) 918 revision
// GPMessage class - fixed a bug where the combat text would no longer appear

// => FoG(U) 917 revision
// GM class
// - replaySPFile variables have been renamed to gameFile to better represent their function
// - the gameFilePack has also been renamed from .rpl to .fog to properly represent it's current function
// - MP games now use gameFilePack to store replays
// - renamed GameStateExtract() to GameCurrentStateExtract() to better represent it's function
// - added GameStartStateExtract() to retrieve spStartGame from the gameFilePack
// - better clean-up code for Replay class to fix an issue with overlapping replays
// R class - modification to the SaveReplay() to fix a bug
// Replay class
// - added EventListGet(XmlDocument) to retrieve a custom eventList for replay xml checks
// - added EventListClear() for proper eventList clear
// - ReplayAppend(XmlDocument,XmlDocument) now check for eventIds so events will always be in the proper order
// - ReplayAppend(XmlDocument,ZipFile[]) now has better error handling

// => FoG(U) 916 revision
// saved games and replays are now store in the same file pack
// GameClasses class - removed SavedReplayInfo class for it is no longer needed
// MainMenu class
// - removed temporary replay load menu
// - added button "View Replay" in Load game menu

// => FoG(U) 915 revision
// GM class
// - added gsTurnInitialized variable to track when turn is properly initialized
// - fixed a small bug with GameStateUpdate(XmlDocument,ZipFile[])
// FoGDebugPanel class - small error check to prevent bug

// => FoG(U) 914 revision
// Unpacker class - custom unity viewport for unpacking packed files and obtain basic information about a file pack

// => FoG(U) 913 revision
// Implemented feature to load and view replays
// MainMenu class - added WIP load replay screen for the new feature
// Replay class - fixed small bug when loading some replay packs

// => FoG(U) 912 revision
// GM class - modified file pack save so now it saves initial game state and current game state
// Replay class - fixed a bug with the ReplayExtrac method

// => FoG(U) 911 revision
// GP class - removed unneeded replay save
// GM class - (WIP) replay save with necessary information attached for proper game replay
// Multiplayer class - cleaned the code a bit using the new Replay methods
// Replay class -(WIP) added new methods for the replay save system

// => FoG(U) 910 revision
// GP/GM class - upload bug fix for crash when ending last deployment turn
// Multiplayer class
// - visual improvement for game phase
// - fixed a bug where a scenario MP game without free deployment would appear constantly in deployment phase

// => FoG(U) 909 revision
// G class - replay settings are now stored persistently
// GM class - minor bug fixes for SP replay system
// GP class - proper minimap update on FOW change
// GPM class - proper FOW for MP games
// Minimap class - cleaned up minimap creation
// Replay class - minor bugfixes
// S class - map rotation no longer removes FOW

// => FoG(U) 908 revision
// GM/GP class
// - naming policy for replay has been remade
// - replay is now loaded alongside saved games

// => FoG(U) 907 revision
// GM class
// - SP games now save replays locally
// - MP games will save full replays locally
// GP class - modifications for SP game local replay
// InitCheck class
// - add folder for replay files
// - initialised GUIStyle used by statusBar for proper information display
// Multiplayer class - modification for MP replay append
// Replay class - modifications for proper MP replay append

// => FoG(U) 906 revision
// G class - added variable for replay speed and replay camera movement
// GM class - added skip button for replay
// MainMenu class - added replay speed slider and camera movement goggle button in preferences
// P class - added variables for the new replay options
// ReplaySystem class
// - renamed class to Replay
// - implemented skip button
// - implemented replay speed
// - implemented camera focus feature to focus on the current replayed action

// => FoG(U) 905 revision
// GM class - Save Game in MP will now uploaded saved instance and exit the current game
// ReplaySystem class - modified system to work with the save game system

// => FoG(U) 904 revision
// Finished modifications to the xml save locations
// Added anarchy charge action to the replay system for proper game replay
// removed //TODO that were fixed
// removed //(WIP) regarding replay system

// => FoG(U) 903 revision
// code clean-up regarding replay and async systems
// [WIP] Some modifications to the xml save locations

// => FoG(U) 902 revision
// revised, cleaned up and modified revision 899, revision 900 and revision 901's code
// added <<// TODO - have a look>> comments

// => FoG(U) 901 revision
// Implemented replay feature for MP games in the various scripts
// GM class - minor bug fixes
// MainMenu class - the user is now informed when a game is uploaded
// ReplaySystem class - fixed issues for proper replay

// => FoG(U) 900 revision
// compiler bugs fix introduced in the previous commit

// => FoG(U) 899 revision
// UWK file modification for proper iOS build
// G class - added random number generator variable
// GameClasses - added new constructor for BGMPath class for use with the replay system
// GM class
// - replaced gsEndTurnPressed with uploadingMPGame
// - made modifications for the new file compression system
// GP class
// - made modifications for the new replay system
// - replaced Unity random generator with the new custom random generator for use with the replay system
// GPM class - made modifications for the new replay system
// MainMenu class
// - minor code optimisation
// - made modifications for the new file compression system
// - fixed bugs related to the async system
// MiniMap class - minor bug fix
// Multiplayer class
// - made modifications for the new file compression system
// - fixed bugs related to the async system
// - modified PBEM2_GamesInProgressGet() to handle async and normal operation
// R class - made modifications for the new file compression system
// ReplaySystem class added for the new replay system
// Die class - die6() (now using the new additive random generator) for use with the replay system
// RandomAdditive - made modifications for proper random replay
// SevenZipInterface class
// - added ZipFile class, CompressLZMAToFile() and DecompressLZMAToZipFiles(), for use with the new compression system
// FoGDebugPanel class - fix for unity crash

// => FoG(U) 898 revision
// - WIP code merge commit

// => FoG(U) 897 revision
// uWebKit update to v1.5b (beta)

// => FoG(U) 896 revision
// updated the uWebKit to 1.5b

// => FoG(U) 895 revision
// added RandomAdditive class to return random numbers with a customizable seed

// => FoG(U) 894 revision
// replaced all colored fonts with a universal one to work with the new unity engine
// modified prefabs to work with the new font system

// => FoG(U) 893 revision
// removed custom shader "cAlphaTest-Diffuse"
// G class - removed AntiAliasing option for mobile platform
// started working on replay function
// R class - cleaned up the code
// unitySetting updated for mobile platforms

// => FoG(U) 892 revision
// UWK plugin - modified imports to handle the unity engine modifications
// added custom shader for iOS use
// MainMenu class - version string is now in the lower left of the screen at all times
// P class - made gameplay text a bit bigger
// MiniMap class - cleaned up the code a bit which also caused some issues with the iOS version
// R class - fixed an issue for the iOS build

// => FoG(U) 891 revision
// S class
// - improved mHexGroupMove() to return full results list
// - modivied variable names to better corespond with code guideLines

// => FoG(U) 890 revision
// DebugFoG class - added tab for DebugAI

// => FoG(U) 889 revision
// MainMenu class
// - appStatusBarUpdate() moved to StatusBar class and renamed to DynamicStatusArea()
// - multiplayer lists now show when they are being updated
// S class - added methods for calculating Hex Group Move

// => FoG(U) 888 revision
// GM class - modifications for new async UploadInstance() method
// MainMenu class - small modifications for the new async server communications
// Multiplayer class - PBEM2_ChallengesGet(), PBEM2GamesInProgressGet() and PBEM2_UploadInstance() are now async

// => FoG(U) 887 revision
// P class - made pop-up windows dynamic
// S class
// - optimized mHexPositionToNeighbor()
// - optimized mLOS()

// => FoG(U) 886 revision
// GM class
// - made the button bar dynamic
// - modified the way minimap works
// MainMenu class - added AcceptChallenge() in order to remove duplicate code
// P class - minor modifications to the font size
// S class - modified rightMouseButton functionality on mobile platforms

// => FoG(U) 885 revision
// FoGHelp class - fixed an issue with mouse not working
// GM/P class
// - made gameplay visual elements dynamic
// - changed position of buttons for better visual appeal
// DAG class - fixed a bug with loading armies
// MiniMap class - fixed a bug with the reversed texture of the minimap
// StatusBar class - made visual elements dynamic

// => FoG(U) 884 revision
// replaced all string.Comparison() with 0s with string.Equals() method

// => FoG(U) 883 revision
// updated betainfo.html to bRC7's version
// decreased FoW material's opacity a little bit
// fix for Android on <<fix for Help issue on iOS>> (GM, MainMenu and DebugFoG classes)
// replaced all MainMenu and Multiplayer classes' G.UserName direct string comparisons with string.Equals(), also using the ignore case true parameter
// modified Multiplayer.InitiativeCompute() to fit the FoG TT rules
// further cleaned up Multiplayer sChallenge.DescriptionSideArmyNameGet() and GameInProgress.DescriptionSideArmyNameGet() methods

// => FoG(U) 882 revision
// GM class - reworked the game buttons
// Minimap class - fixed an issue with border not appearing
// DebugFoG class - fix for help issue on iOS


v1.8.15.881 (bRC7) (2013.07.13)
========================================
seventh beta release candidate

// => FoG(U) 881 revision
// FoGHelp modified the change help window button to display the next help window name instead of the current one
// further modified, cleaned up, streamlined and optimized the GP.FoWCompute(), GP.mFoWDisplay() and GP.mFoWReset methods
// modified GP.gmTurnPhaseInit() and GPM.GPMAM() to re-compute and display the Fow

// => FoG(U) 880 revision
// ComboBox class - modified and improved the functionality
// MainMenu/DAG class - moved code so comboBox's are above other elements of the interface
// GP class - added mFoWCompute(),mFoWReset(),mFoWDisplay() for fog of war functionality
// GM/GPM class - implemented FoW functionality

// => FoG(U) 879 revision
// revised, cleaned up and modified revision 877 and revision 878's code
// added G.gdGMFlagsShortNamesOn member and its DebugFoG button switch
// modified Multiplayer.PBEM2_ChallengesGet() by forcing the adding of the accepter player (needed for DAG games in which the challenger also sets up the enemy army)
// Multiplayer Challenge class overhaul: further modified, cleaned up, streamlined and optimized the whole Multiplayer Challenge class (4)
// Multiplayer GameInProgress class overhaul: further modified, cleaned up, streamlined and optimized the whole Multiplayer GameInProgress class (5)
// Multiplayer MiscData usage overhaul: further modified, cleaned up, streamlined and optimized the Multiplayer.GenerateMiscDataIC(), Multiplayer.GenerateMiscDataAC(), Multiplayer.GenerateMiscDataGIP(), Multiplayer Challenge.ParseMiscData() and Multiplayer GameInProgress.ParseMiscData() methods (4)
// Multiplayer MiscData usage overhaul: further modified, cleaned up, streamlined and optimized the Multiplayer.PBEM2_ChallengesGet() and Multiplayer.PBEM2_GamesInProgressGet() methods (4)

// => FoG(U) 878 revision
// MainMenu class
// - made modification for MP DAG functionality
// - fixed some issues which caused null exceptions
// MiniMap class - fixed a bug regarding the terrain color for map preview
// Multiplayer class - made necessary modification for MP DAG functionality
// R class - modification for new MP DAG functionality

// => FoG(U) 877 revision
// MiniMap class - fixed the issue with border and view rect not being visible
// MainMenu class
// - fixed an issue that you could start a SP DAG game with not army selected
// - fixed a bug involving the interface breaking when opening a filter in SP DAG
// - proper EnemyBook/EnemyArmy index and list reset for SP/MP DAG games
// - improved the OnWaitingToListGamesGUI() interface

// => FoG(U) 876 revision
// added G.dagBook member and its defines and G.dagEArmy member and its defines
// renamed G.selectedDAGArmy into G.selectedDAGFArmy and G.enemyDAGArmy into G.selectedDAGEArmy
// removed G.multSelectedArmy and G.multDAGAllowAllBooks members
// renamed DAG.enemyBookIndex into DAG.dagBookIndex and P.enemyArmyBookRect into P.dagBookRect
// MiniMap removed normalTex and rvmmTex members
// MiniMap.LoadMiniMap() added code to disable and then re-enable any eventual
// Multiplayer.GenerateMiscDataIC() removed showArmy and pAnyBook parameters (by directly accessing the G.multDAGShowArmy and DAG.dagBookIndex/G.dagBook)
// replaced Challenge.anyBook with Challenge.dagBookType
// added Challenge.DescriptionDAGBookNameGet() method
// added Challenge description code setion random book game flag description code
// modified Challenge.DescriptionSideBookNameGet() and Challenge.DescriptionSideArmyNameGet() methods
// replaced GameInProgress.anyBook with GameInProgress.dagBookType
// further modified, cleaned up, streamlined and optimized the MainMenu.OnNewGameGUI(), MainMenu.OnNewDAGGame() and MainMenu.onIssueDAGChallengeGUI() methods

// => FoG(U) 875 revision
// MainMenu class
// - fixed some inconsistencies with starting MP/SP DAG
// - properly disabled the TA button
// DAG class - remade the load/save army interface

// => FoG(U) 874 revision
// DAG class - changed the way the back button works in various menus
// MiniMap class
// - fixed a bug when the map was reversed
// - optimized the way the reversed map is shown
// - removed some unneeded code
// MainMenu class
// - SP DAG now has New Army and Delete Army buttons
// - MP DAG no longer resets the list of armies
// - themed book is now selectable in any DAG submenu
// - old cancel button was renamed in back for consistency

// => FoG(U) 873 revision
// P class - made title bar bigger
// MainMenu class
// - remade the select army screen for accepting DAG challenges
// - added Random Book, Random Army in the selections for DAG
// - remade functionality for select army menu
// - version string now appears properly
// DAG class - now the user can create an army when accepting a DAG challenge

// => FoG(U) 872 revision
// increased tertiary subversion from 14 to 15 (due to the new minimap preview system, modifications to the MP game flow, new MP themed books system)
// finished Multiplayer.InitiativeCompute() method
// added Multiplayer.Challenge and Multiplayer.GameInProgress bookID member
// added Multiplayer.Challenge.DescriptionSideBookNameGet() and Multiplayer.Challenge.DescriptionSideArmyNameGet() methods
// added Multiplayer.GameInProgress.EPlayerIDGet() overload method and Multiplayer.GameInProgress.PlayerSideIDGet() method
// more work on Multiplayer.Challenge.ParseMiscData() challenge description code section
// modified MainMenu.OnListGamesGUI() and MainMenu.passwordDelegate() accept MP DAG challenge code sections (non-themed/themed books list filtering)

// => FoG(U) 871 revision
// -replaced numerical sorting/filtering indexes with variables for better understanding and visibility
// DAG class - added parsing for "bookthemed" attribute
// CreateListWithDAGArmies.FilterArmyList() - added filtering to return themed book armies
// MainMenu class - added support for themed book armies list

// => FoG(U) 870 revision
// P class
// - renamed old flag Rect's to better represent their use
// - linked some Rect's values for more consistent results
// - various modifications for interface improvements
// MainMenu class
// - DAG/Scenario flag reorderer
// - resized tabs from Multiplayer Menu
// - properly reset variables in DrawMapsWithFiltersAndSort()
// - smaller buttons for Multiplayer menues
// - resized and repositioned button on the Login Screen

// => FoG(U) 869 revision
// MainMenu class
// - order of gameFlags for DAG has been modified
// - MP DAG game map selection is now preordered by size in ascending order
// - index is now properly reset between SP Challenges

// => FoG(U) 868 revision
// added G.gdGMResult defines and G.gdGMResultNames define
// added FoGPlayer class new bookID, armyID, initiativeRoll and initiativeWon members
// Multiplayer class:
// - modified all MP GIP and challenges descriptions' texts from UpperCenter to UpperLeft alignment
// - cleaned up MP challenge's accept flow (removed rollWon parameter's hack usage from Multiplayer.AcceptChallenge() and MainMenu.OnSelectDAGArmyGUI() methods
// - moved GenerateMiscDataAC() method from Multiplayer to Challenge class
// - moved GenerateMiscDataGIP() method from Multiplayer to GameInProgress class
// - cleaned up PBEM2_UploadInstance() method's parameters
// - cleaned up AcceptChallenge() and PBEM2_AcceptChallenge methods' parameters
// - added InitiativeCompute() method (WIP)
// Multiplayer Challenge class overhaul: further modified, cleaned up, streamlined and optimized the whole Multiplayer Challenge class (3)
// Multiplayer GameInProgress class overhaul: further modified, cleaned up, streamlined and optimized the whole Multiplayer GameInProgress class (4)
// Multiplayer MiscData usage overhaul: further modified, cleaned up, streamlined and optimized the Multiplayer.GenerateMiscDataIC(), Multiplayer.GenerateMiscDataAC(), Multiplayer.GenerateMiscDataGIP(), Multiplayer Challenge.ParseMiscData() and Multiplayer GameInProgress.ParseMiscData() methods (3)
// Multiplayer MiscData usage overhaul: further modified, cleaned up, streamlined and optimized the Multiplayer.PBEM2_ChallengesGet() and Multiplayer.PBEM2_GamesInProgressGet() methods (3)
// MainMenu class:
// - linked G.dagBook with new SP/MP DAG game's Any Book button's state
// MainMenu class overhaul: further modified, cleaned up, streamlined and optimized the whole MainMenu class Multiplayer code sections (4)
// R class:
// - removed UploadInstance() overload method and usage
// - cleaned UploadInstance() method's parameters

// => FoG(U) 867 revision
// ComboBox class - button height is now linked to the Rect provided
// DAG class
// - removed various deprecated pieces of code
// - minor improvements to the overall interface aspect
// MainMenu class
// - removed various deprecated pieces of code
// - replaced the old toggle buttons with new one
// - increased version number and addinfo visibility
// - improvements to the multiplayer menu interface
// - added proper guiStyle for the comboBoxes
// P class - modifications for the interface changes
// S class - units are now selected from first click

// => FoG(U) 866 revision
// - modified background image and loading screen compression
// S class - units are now selected from first click
// Mainmenu,P class - ample modification to the interface for iOS visual improvement

// => FoG(U) 865 revision
// added BG facing's rotation UI indicator:
// - added facing*.png textures
// - modified R.LoadTextures()
// - modified GMonHex.MouseOver() BG rotation end code section
// - modified S.Update() BG rotation middle code section
// - modified GP.bgBGsUIUpdate() BG's base code section
// modified HexMain shader's Overlay Colors order

// => FoG(U) 864 revision
// scenario_list.xml - added turnEnd info
// CreateListWithScenarios class - added writing and reading of turn event info
// MainMenu class
// - fixed an issue with book selection remaining persistent between menus
// - fixed an issue on select army screen where the index was not reset upon leaving the menu

// => FoG(U) 863 revision
// changed all VP victory points related names into BP break points
// modified all MP game type if/else usages into switch usages
// fixed MainMenu.OnListGamesGUI() and MainMenu.passwordDelegate() to also allow new scenario challenges (broken by revision 862's code)
// MainMenu.OnSelectDAGArmyGUI() disabled army lists filter when the MP DAG game is restricted to a specific DAG armies list (a book/themed book; ie when any book flag is false)
// added TurnEnd and game's partial situation and re-formatted game results parameter info in a challenge's/game in progress'es description
// Multiplayer GameInProgress class overhaul: further modified, cleaned up, streamlined and optimized the whole Multiplayer GameInProgress class (3)
// Multiplayer MiscData usage overhaul: further modified, cleaned up, streamlined and optimized the Multiplayer.PBEM2_ChallengesGet() and Multiplayer.PBEM2_GamesInProgressGet() methods (2)
// MainMenu class overhaul: further modified, cleaned up, streamlined and optimized the whole MainMenu class Multiplayer code sections (3)

// => FoG(U) 862 revision
// GM class - modifications to correspond with the current flow of DAG challenges
// P class - added mapMPFliterList for DAG chose map filter
// Main Menu class - made necessary modifications for the new DAG MP flow
// Multiplayer class
// - added [WIP] InitiativeCheck() to compare stats and decide sides
// - added PBEM2_CheckPassword() to check if password is correct
// - made necessary modification for the new DAG MP flow
// R class - UploadInstance() modification to work with the new system
// CreateListWithMaps class - extended ReturnMapsListWithSpecificFilter() to return only MP maps with added filters

// => FoG(U) 861 revision
// MiniMap class - modifications to the ReturnMiniMap() functionality
// MainMenu class
// - remade interface for MpDAG chose map submenu
// - rewired mapPreview for better functionality

// => FoG(U) 859, 860 revisions
// added G.ThemedBook, linked it with SP/MP DAG new game's menu and passed it via MiscData to a MP DAG game
// added G.gdttNamesUnique and used it at terrain types array initialization in GP.gmTerrainTypesInit()
// GM class cleaned up all foreach usages
// GP class cleaned up most of foreach usages
// MainMenu.onIssueScenarioChallengeGUI() fixed a bug causing a reversed side order to be ignored when creating a new MP scenario game
// R class cleaned up a lot of foreach usages
// FoGPlayer class added .pSID, .pAID and .pNID members
// Nation class added .nSID member
// R.LoadScenarioNew() cleaned up a new temporary objects usage by using the newly added FoGPlayer.pSID and Nation.nSID members
// R.LoadMapNew() added code to read the map format's new info element
// CreateListWithMaps.MapsInfo class modified size member's getter code section (to a proper map size values)
// Multiplayer class cleaned up most of foreach usages
// Multiplayer Challenge class overhaul: further modified, cleaned up, streamlined and optimized the whole Multiplayer Challenge class (2)
// Multiplayer.GenerateMiscDataIC() added a pPaired parameter
// Multiplayer.GenerateMiscDataGIP() added a pFreeDeploymentEnded parameter
// Multiplayer MiscData usage overhaul: further modified, cleaned up, streamlined and optimized the Multiplayer.GenerateMiscDataIC(), Multiplayer.GenerateMiscDataAC(), Multiplayer.GenerateMiscDataGIP(), Multiplayer Challenge.ParseMiscData() and Multiplayer GameInProgress.ParseMiscData() methods (2)
// MainMenu class overhaul: further modified, cleaned up, streamlined and optimized the whole MainMenu class Multiplayer code sections (2)
// Multiplayer GameInProgress class overhaul: further modified, cleaned up, streamlined and optimized the whole Multiplayer GameInProgress class (2)

// => FoG(U) 858 revision
// Updated scenarios_list.xml and maps_list.xml with the new values
// E class
// - renamed mapReset() to MapReset() and mapSetNewTileset() to MapSetNewTileset()
// - added MapDensityCompute() to calculate map density
// Map class - added density and ttNo[] for new features
// MainMenu class - minor improvements
// MiniMap class - optimized the ReturnMiniMap()
// R class - made necessary modifications for new features and fixed a previous bug
// CreateListWithMaps, CreateListWithScenarios,DataTools class - made necessary modifications for the new features

// => FoG(U) 857 revision
// CreateListWithScenarios class - added mapFileName variable for map preview
// MiniMap class
// - modified minimap screenshot calculations for more accurate minimap
// - minor revision changes
// MainMenu class
// - fixed a problem with multiplayer descriptions
// - added option to see map preview in new scenario game
// - added proper memory cleaning for map preview
// E class - made modifications for map preview of custom maps

// => FoG(U) 856 revision
// R.LoadScenarioNew() fixed a problem causing a scenario's players arrays to be actually freed instead of to be loaded
// G and GameClasses added player type and AI type defines
// GM.Awake() scenario code section added MainMenu player types settings import
// R.SaveGameState() and R.loadGameStateOrder() saved/loaded player types
// ChatManager.LoadChatFromXml() added a resize fix for the chat list not being properly displayed after loading (Alin)

// => FoG(U) 855 revision
// MiniMap class - added ReturnMiniMap() to obtain texture for map preview
// MainMenu class - added map preview for Editor->Maps submenu

// => FoG(U) 854 revision
// ComboBox class - will no longer override a variable if it's changed outside of comboBox
// P class - extensive object rewiring and basic code cleaning
// MainMenu class
// - added toggle button for "themed army" (curentlly doesn't have functionality)
// - in dag enemy book and your book are now linked
// - finished improvements for MP interface
// - minor code restructuring for better visibility

// => FoG(U) 853 revision
// Mutiplayer class - fixed bug with chatWindows showing overlapping text
// MainMenu,P class - various improvements to the multiplayer menu and general code visibility (work in progress)

// => FoG(U) 852 revision
// Multiplayer class overhaul: further modified, cleaned up, streamlined and optimized the whole Multiplayer class (1)
// Multiplayer Challenge class overhaul: further modified, cleaned up, streamlined and optimized the whole Multiplayer Challenge class (1)
// Multiplayer GameInProgress class overhaul: further modified, cleaned up, streamlined and optimized the whole Multiplayer GameInProgress class (1)
// Multiplayer MiscData usage overhaul: further modified, cleaned up, streamlined and optimized the Multiplayer.GenerateMiscDataIC(), Multiplayer.GenerateMiscDataAC(), Multiplayer.GenerateMiscDataGIP(), Multiplayer Challenge.ParseMiscData() and Multiplayer GameInProgress.ParseMiscData() methods (1)
// Multiplayer MiscData usage overhaul: further modified, cleaned up, streamlined and optimized the Multiplayer.PBEM2_ChallengesGet() and Multiplayer.PBEM2_GamesInProgressGet() methods (1)
// Multiplayer ChatManager class overhaul: further modified, cleaned up, streamlined and optimized the whole Multiplayer ChatManager class (1)
// MainMenu class overhaul: further modified, cleaned up, streamlined and optimized the whole MainMenu class Multiplayer code sections (1)

// => FoG(U) 851 revision
// MainMenu class
// - minor modifications to the password field size
// - fixed bug with delete army
// - added additional warning for empty password
// Multiplayer class - added connection to the new server

// => FoG(U) 850 revision
// E class - limit for scenario name has been increased to 60 from 40
// MainMenu class
// - continued improving code aspect
// - added min pass requirement for new MP issues and added player label to inform him
// - when chosing an army for dag, it can no longer surpass the limit of the game
// - removed left-over debug code from previous revision
// P class - reversed position of 2 buttons for better visual aspect
// GameInProgress class - added armyPoints variable to use in dag challenges

// => FoG(U) 849 revision
// ComboBox class
// - minor visual improvements
// - added method to close all open comboBoxes
// P class
// - modified various Rect's for the interface overhaul
// - removed unused variables
// MainMenu class
// - redid the enntire issue DAG challenge interface
// - fixed some problems with dag army selection
// - repositioned various button
// - made minor optimizations by removing useless code

// => FoG(U) 848 revision
// DAG class overhaul: further modified, cleaned up, streamlined and optimized the whole DAG class (2)
// DAG.DAGLeaderQualityModify() added DAGArmy template leader quality numbers constraints code section

// => FoG(U) 847 revision
// ComboBox class - minor modification to padding
// P class
// - remade connections to different Rect for consistent results
// - modified various variables for improved visual aspect
// - removed uneded directive for _FOG_SMALLSCREEN where code was identical
// - added variables for FirstSide option in new SP scenario game
// Main Menu class
// - expanded the book/army select submenues from new dag game
// - added BookSort() and variables for book sorting in new dag game
// - added option to select Random book/army in new dag game
// - added check so only books with dag armies are shown in book selection
// - added who is first side in new scenario games (store in G.firstSideIndex)
// - minor improvements to the code overall aspect
// - curently selected tab in preferences is now disabled
// - remade serialTab in preferences to fit better and added a box background

// => FoG(U) 846 revision
// DAG class overhaul: further modified, cleaned up, streamlined and optimized the whole DAG class (2)
// - DAG.dagLeaderRank removed hardcoded xml starter armies leader rank usage
// - DAG.dagLeaderNation removed most of the hardcoded xml starter armies leader nation usage
// - DAG.dagLeaderQuality removed hardcoded xml starter armies leader quality
// added [Norm] prefix in all normalizing data ERRH debug messages
// MainMenu cleaned up most of the new game GUI parameters
// R.LoadScenarioNew() fixed a problem causing a scenario's side and nation order arrays not to be loaded
// modified GP.bgCheckIfHexInArea() to check for a specific area
// added GP.hGetArea() and GP.bgCheckIfHexInGeneralArea() methods

// => FoG(U) 845 revision
// P class
// - renamed dagMainFilterContent to dagFilterContent to coresspond with the rest of the code
// - added various variables for the interface
// - made various modifications to the interface
// - remade coonections to different Rect for consistent results
// MainMenu class
// - made second filter to not show up when it's empty
// - changed the positions of filter and tabs for better overall visual aspect
// - reconnected the filter to make the proper content disappear on use to corespond with the new interface
// - made minor visual improvements to various menues

// => FoG(U) 844 revision
// ComboBox class - added minor visual improvements
// G class
// - added save/load system for the various settings
// - moved the musicVolume with the rest of the settings to avoid useless reloads/resaves
// - added PrefsGetBook() to return bool from PlayerPrefs
// - removed G.showGrid because it was a duplicate of S.fShowGrid
// MainMenu class
// - modified multiple elements from list to correspond with the overall style
// - added padding to some elements missed in previous commits
// - move Rect typeFieldRect to P.mapTypeLabel to better correspond with the current code structure and avoid useless re-declarations
// P class
// - made the logo dynamic for better positioning
// - remade some connections between the various elements to eliminate duplicate calculations and better dynamic positioning
// R class - changed the aspectRatio check to give more reliable results

// => Fo(U) 843 revision
// FoGHelp class
// - fixed a bug where the UIWebView will not activate on iOS after closing the window
// - made the window resize at first launch properly scale with the window frame
// - added small padding left and right for the UIWebView for better visual appearance
// MainMenu class - added padding and clip for strings of text from various lists

// => FoG(U) 842 revision
// DAG class - added clipping to long text strings
// MainMenu class
// - modified event tracking to fix bug with GUILayout.GetLastRect()
// - added clipping for various long strings of text
// - added word wrap for the name of scenarios/DAG
// P class
// - modified position of enter serial window to avoid overlapping
// - made the Rect for map name display bigger to accommodate 2 line strings
// - minor modifications to various elements in scenarios and DAG selection to avoid clipping and overlapping issues
// - modified system for DAG book selection to accommodate the increased number of books

// => FoG(U) 841 revision
// revised, cleaned up and modified revision 839 and revision 840's code
// MainMenu added a hardcoded fix for Unity's v1.4.x Application.Quit() bug
// modified hex_v2_2.FBX hex mapping a little bit to overcome some Unity render approximation errors and added new grid1b.png
// added new BGUI friendly and enemy flags (modified height)
// added GP.bgCheckIfHexInArea()

// => FoG(U) 840 revision
// Multiplayer class - added swipe support for chat window
// MainMenu class - fixed bug with SwipeScroll() for views which were part of groups
// FoGInit class - added PrefsCheck() to reset PlayerPrefs when necessary
// DownloadManager class - minor improvement to show proper status text
// DebugFoG class - added button for manual reset of PlayerPrefs

// => FoG(U) 839 revision
// DAG class - added scroll to nations select
// MainMenu class
// - overloaded SwipeScroll() for views which are relative to a group
// - added swipe support for the rest of the list in the game

// => FoG(U) 838 revision
// revised, cleaned up and modified revision 836 and revision 837's code
// added GameInProgress.gameInstanceStatus and read it from server's games in progress JSON list

// => FoG(U) 837 revision
// DownloadManager class - added option to extract all bundles from local resources
// InitCheck class - added variable to check if resources are locally or should be downloaded
// AssetBundleCreate class - added menu item to add ".bytes" extension to all files in /Resources/Bundles

// => FoG(U) 836 revision
// MainMenu class - now army stays properly selected in DAG and Scenario SP games
// DownloadManager class - minor improvement to the download flow

// => FoG(U) 834,835 revisions
// revised and cleaned up revision 833's code
// replaced all AddComponent("name") with AddComponent<name>()
// replaced all GetComponent("name") with GetComponent<name>()
// massive rendering overhaul (1)
// increased tertiary subversion from 13 to 14 (due to renderer modifications)
// added the S.SBGMPathShowMAX member and modified GP.sbgMPathInit() to only spawn a SBGMPathShowMAX number of sbgMPath.mpAr GameObjects
// cleaned up the BGMPath class
// modified GP.sbgMPathAdd() to not allow DMoves if the MPath's last hex has any enemy closer than the bgDMoveEnemyDistanceMIN

// => FoG(U) 833 revision
// MainMenu class - fixed issue with new scenarios not loading without app reset
// DAG class
// - fixed issue with mouse hovering over dismount-able units on PC/Mac build
// - fixed issue with not being able to add maximum number of units on certain saved armies

// => FoG(U) 832 revision
// revised, cleaned up and modified revision 829, revision 830 and revision 831's code
// GP.Awake() added BGs hex position normalization code section
// RenderQueue and shaders:
// - modified all S class's materials rendering queue layers member defines section (made all materials rendering queue layers members constant, added al Unity's default rendering queue layers and used them as bases to define FoG's custom rendering queue layers)
// - added S.rqlBGUIFlags and S.rqlGPMessage materials rendering queue layers members
// - modified R.CreateMaterial() to use "Diffuse" and "Transparent/Cutout/Diffuse" shaders
// - switched MiniMap.GenerateTexture() fallback from "Transparent/Diffuse" to "Diffuse" and "Transparent/Cutout/Diffuse" shaders after rendering the minimap
// GP.bgBGsUIUpdate() BG leader standards code set material's renderqueue after adding the new flag's material
// added S.Update mouse cursor code section

// => FoG(U) 831 revision
// DAG class - added checks to prevent game crash
// ChatMessage class - added msgHeight for multi-line text support
// ChatManager class
// - added needsResize bool to reconstruct the texts in the chat window
// - added dynamic text boxes for multi-line text support
// - removed IncreaseScrollVec()

// => FoG(U) 830 revision
// MainMenu class
// - added SwipeScroll() to make scroll view scrollable with swipe movement
// - implemented SwipeScroll() on multiple scroll views
// - modified MPGUISideContentReload() to fix issue with Issue Challenge crash
// DAG class - implemented SwipeScroll() on multiple scroll views
// ComboBox class - added error handling to avoid engine crash

// => FoG(U) 829 revision
// FB class - reversed dictionary, serial has is now key and expansion name is now value
// G class - added check if serial is for proper expansion
// MainMenu class
// - added limitation to input on serial screen
// - added reloading of nations for situations where serials have changed after initial start-up
// InfoAppend class added to append serial info to info.bytes
// added serials for WFS and OFE in info.bytes and made proper modifications to books_list.xml

// => FoG(U) 828 revision
// modified all Multiplayer client-server protocol from using WebClient.UploadString() to WebClient.UploadData()
// increased tertiary subversion from 12 to 13 (new MP client-server protocol using compressed data)

// => FoG(U) 825-827 revisions
// modified S.mMoveVertical() by removing a double computing of mapRotated flag on camera movement distance (Alin)
// modified GM.Awake() by adding a call to G._MP.ChatMgr.Clear() before trying to call R.loadGameStateValues() method and commented the GM.gmGameUpload()'s G._MP.ChatMgr.Clear() call
// modified GP.CombatPrediction() by correcting the GP.CombatOrderCohesionCompute() call to compute pBG's terrain cohesion effect
// modified BGUI.Update() and AM.MouseExit() methods to display BG's combat cohesion while mouse hoovering for combat prediction
// modified GP.CombatOrderCohesionCompute() to fix some computation problems causing ordered BGs not triggering a order cohesion computation on the other BG (even if the terrain would actually influence it)
// added CRC32.ComputeUTF8() and CRC32.ComputeHashUTF8() methods
// added SevenZip plugin and SevenZipInterface class

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Sun Feb 03, 2013 9:22 pm

v1.8.12.824 (bRC6u04) (2013.05.09)
========================================
sixth beta release candidate 4th update

// => FoG(U) 824 revision
// revised, cleaned up and modified revision 823's code
// fixed a problem in GP.bgGetEBGImpactList() causing some BGs to be added more than once
// added GP.hGetEBGImpactList() and GP.hGetEBGImpact() methods
// modified GP.bgMPathComputeEBG() and GMonHex.MouseOver() BG movement end code section to use the new GP.hGetEBGImpact() instead of GP.hGetAdjacentEBG()

// => FoG(U) 823 revision
// S class
// - removed variable S.bgRotateP0 and now using updated position for proper rotation of unit
// - fixed small bug with moving the map
// - added better response to hold-tap (right button functionality on mobile)
// - fixed a bug where you couldn't attack directly an enemy

// => FoG(U) 822 revision
// revised, cleaned up and modified revision 821's code
// - more Input.mousePosition with S.CursorPosition() replacements in EonHex, E, GM, DebugConsole, FoGHelp and MainMenu classes
// Gameplay:
// - modified GP.CombatDiceNoCompute() cohesion modifier code section by moving the fragmented/severely disoredered to be checked before the disrupted/ordered effect.
// - modified GP.TestCHT() and GP.TestRT() cohesion modifier code section by making the disrupted/disordered/severely disordered check alternative to routed and fragmented checks
// added GP.CombatPOAComputeAll() and GP.CombatDiceNoComputeAll() methods
// moved <<+2(charge in the rear (and ignore all other POA modifiers))>> and <<+1(LSpMT vs any, no other net POA)>> rules code sections from GP.CombatPOACompute() into GP.CombatPOAComputeAll() method

// => FoG(U) 821 revision
// S class
// - improved mobile input port of controls
// - added method CursorPosition() to return cursor position or simulated cursor position on mobile devices
// GMonHex class - modifications to handle the new control system for mobile devices

// => FoG(U) 820 revision
// revised, cleaned up and modified revision 819's code
// Gameplay:
// - changed GP.CombatPOACompute() impact combat code section's <<+1(KnLa vs no El,SCh,BW,charged by std Pk,OSp,DSp)>> into <<+1(KnLa vs no El,SCh,BW,non-charging std Pk,OSp,DSp)>>
// - changed GP.CombatPOACompute() impact combat code section's <<+1(noKn La vs no La,El,SCh,BW,charged by std Pk,OSp,DSp)>> into <<+1(noKn La vs no La,El,SCh,BW,non-charging std Pk,OSp,DSp)>>
// - changed GP.CombatPOACompute() impact combat code section's <<+1(HCh.SCh vs no SK,La,El,Bw,charged by std Pk,OSp,DSp)>> into <<+1(HCh.SCh vs no SK,La,El,BW,non-charging std Pk,OSp,DSp)>>
// - changed GP.TestCT() <<// GAMEPLAY RULE - [Combat][Charge][CMT]: non-shock-able disrupted or disordered BGs must pass a CMT to charge any enemy BG>> into <<// GAMEPLAY RULE - [Combat][Charge][CMT]: non-shock-able disrupted BGs must pass a CMT to charge any enemy BG>> rule
// added G.colorMiniMapAvailableFBG, G.colorMiniMapAvailableROFBG, G.colorMiniMapUnavailableFBG, G.colorMiniMapABG and G.colorMiniMapEBG members
// MiniMap:
// - added different FBG colors depending on the BG's available state
// - added the new dirty member
// - modified DrawMiniMap() method to call GenerateBGsTexture() method if the dirty flag is true
// - replaced all GenerateBGsTexture() calls with setting dirty flag on true
// fixed a problem with GM and E classes by resetting the S.mapRotated flag before calling the terrain instantiate S.mHexInstantiate() method

// => FoG(U) 819 revision
// Multiplayer class - added formatting for battle results
// S,MiniMap class - fixed zoom functionality


v1.8.12.818 (bRC6u03) (2013.05.03)
========================================
sixth beta release candidate 3rd update

// = FoG(U) 818 revision
// modified GP.RoutPursuit() and GP.Pursuit() methods by adding a 3rd pStartedInContact parameter
// added GP.bgGetExclusiveAdjacentActiveEBGList() and GP.bgCheckCanPursuit() methods
// added Battlegroup.pursuitbehavior member, save/load it into/from game state's saved file
// added GP.AdjacentFBGAnarchyCharge() and GP.CompulsoryAnarchyCharge() methods
// modified GP.bgGetEBGImpactList() and GP.TestCT() to only pull EBGs which are both in originalFa and current FA
// Gameplay:
// - modified GP.Pursuit() method's code to only use its full movement allowance or remaining movement allowance only in the following pursuit, depending if it was in contact with the pursued BG at the beginning of the pursuit action or not
// - added GPM.GPMMoveUpdate() <<// GAMEPLAY RULE - [Movement][DMove][Combat][Ranged Attack]: a BG doing a DMove can not have range combat attack anymore>> rule
// - modified GP.RoutPursuit() <<// GAMEPLAY RULE - [Rout][Pursuit][CMT]: BGs able to pursuit routing enemy BGs will always pursuit, unless foot who have broken mounted BGs in which case they must take a CMT with non-shock foot pursuing if passing it and shock foot pursuing if failing it>> rule
// - added GPM.GPMAMAdd() <<// GAMEPLAY RULE - [ACT]: when a shock-able BG having possible impact combat target enemy BGs is ordered to execute a movement, it might auto-perform an anarchy-charge>> rule
// - added GMOnHex.MouseOver() <<// GAMEPLAY RULE - [ACT]: when a shock-able BG having possible impact combat target enemy BGs is ordered to change facing, it might auto-perform an anarchy-charge>> rule
// - added GP.AdjacentFBGAnarchyCharge() <<// GAMEPLAY RULE - [Anarchy Charge]: a BG must take an ACT if any adjacent friendly BG anarchy charges>> rule
// - changed TestCHT(),TestRT() <<+1(noSK adj friendly BGs in rear arc)>> into <<+1(no SK,SCh,Mob,ART,Ba,CMP adj friendly BGs in rear arc, unless too inexperienced)>>
// - changed TestCHT() <<-1(adj enemy BG in rear arc)>> and TestRT() <<-1(noSK adj enemy BGs in rear arc)>> into TestCHT(), TestRT() <<-1(no SK,Ba,Cmp,FCmp adj enemy BGs in rear arc)>>
// GP.sbgMPathAdd() fixed a problem preventing additive MPaths forming when starting directly from BG's hex (without any normal MPath)
// GP.sbgMPathAdd() fixed a problem with sbgmpath's cost computing
// DAG - fixed a problem in selected nation's end year display
// made the whole Crc32.cs script CLSCompliant false (to remove some CLSCompliant compiler warnings)
// DebugConsole
// - replaced vlFNDT with vlFNDTMP
// - added VerboseLevelsDebugNone(), VerboseLevelsDebugMIN(), VerboseLevelsDebugNormal(), VerboseLevelsDebugMAX() and VerboseLevelsCustom1() methods
// - disabled verbose debug levels modifications in VerboseLevelsMIN(), VerboseLevelsResultsLow(), VerboseLevelsResultsNormal(), VerboseLevelsResultsHigh(), VerboseLevelsHIGH() and VerboseLevelsMAX() methods
// DebugFoG
// - added verbose debug levels initialization code section
// - added verbose debug levels button switches in Debug Menu -> Debug Console States tab, third column

// => FoG(U) 817 revision
// InitCheck class - if first run then the script is disabled and it is going to be destroyed from mainMenu class

// => FoG(U) 816 revision
// DownloadManager class - fixed an issue with unpacked bundles being stored in memory when checking with "Fast" option

// => FoG(U) 815 revision
// some TexturePostProcessor class cleaning up
// added DebugFoG Debug tab Asset Bundle Unpack Check button switch
// renamed all R class's asset bundle unpack variables
// changed Unity project help folder's images settings (meta files)

// => FoG(U) 814 revision
// CreateContentList, AssetBundleCreate and DownloadManager - added XML content list folders number, files number and format version attributes

// => FoG(U) 813 revision
// revised, cleaned up and modified revision 812's code
// - proper CreateContentList fix for the content xml file creation problem:
// - removed contentPath and contentDataPath members
// - modified XMLMake(), XMLFolderAdd_r() and XMLFileAdd() methods
// - modified GetFolderNameFromPath()'s name into GetNameFromFullPath()
// - added GetPathFromFullPath() method

// => FoG(U) 812 revision
// InitCheck class - added check to not reverify all resources when user reenters main menu from a game
// R class - added extra variables for the new unload verification system
// DownloadManager class - added bundle unload verification system
// ContentListCreate class - fixed xml creation to no longer through random empty folders
// AssetBundleCreate class - modified BuildSettings variable to properly select current build target

// => FoG(U) 811 revision
// revised, cleaned up and modified revision 809's code (1)
// - G class:
// - replaced G.gfBundleUnpackAll with R.rdBundleUnloadAll
// - replaced G.gfBundleUnpackScenarios with R.rdBundleUnloadList[R.rdBundleScenarios]
// - replaced G.gfBundleUnpackArmies with R.rdBundleUnloadList[R.rdBundleArmies]
// - replaced G.gfBundleUnpackFigures with R.rdBundleUnloadFigs
// - DownloadManager:
// - renamed XmlCheck() into FileCheck()
// - renamed canStart into hasPriorityDownloads
// - modified CheckMainBundles() by adding code preventing scenarios_OLD asset bundle being downloaded while not in Unity Editor
// - added Update() "Unpacking" Status Bar message
// - Bundle:
// - removed hasPriority (replaced with DownloadManager.hasPriorityDownloads)
// - added the filePath member
// - url getter fixed a problem with returned local file path when then file didn't need downloading
// - Bundle() fixed a problem with file checking path
// - InitCheck:
// - Awake() added code to prevent the help asset bundle being unpacked while in Unity Editor
// - CheckFiles() removed all file checks before calling DownloadManager.FileCheck() method
// - R class:
// - LoadBundles() added code preventing scenarios_OLD asset bundle being loaded if not in Unity Editor
// split OOF into OFE and OFL books
// - modified books_list.xml by replacing OOF with OFE and also added OFL
// - modified G.ReadPreferences() to force enable FB11 (now OFL) for _FOG_DEV and _FOG_BETA
// - added new OFE and OFL DAG books placeholder graphics
// heavily modified Unity Editor menu FoG tools structure and code
// tools Build:
// - heavily modified
// - added members for all precompile directives
// - added BuildDefinesResetDEV(), BuildDefinesResetBETA(), BuildDefinesChangeToDEV(), BuildDefinesChangeToBETA(), BuildDefinesSwitchOnSMALLSCREEN(), BuildDefinesSwitchOffSMALLSCREEN(), BuildMakeReleaseWindowsDEV() and BuildMakeReleaseWindowsBETA() methods
// - added BuildDefinesChange() and BuildDefineSwitch() methods
// - cleaned up BuildMake() method
// - added AssetBundleCreate.CreateAssetBundlesTestGeneral() Unity Editor menu item
// - merged and generalized all AssetBundleCreate Unity Editor menu item methods (no different OS dependent menu items)
// heavily modified asset bundles structure and usage
// - modified all G.bundlePath_ defines by removing the "Assets/" prefix
// - modified all G.resourcesPath_ defines from "/Resources/bundles/" to "/Resources/Bundles" prefix
// - rewrote most of the CreateContentList class
// - rewrote most of the AssetBundleCreate class
// - added DownloadManager.bundleUnpack(), DownloadManager.FileCreate() and DownloadManager.FolderCreate() new methods methods

// => FoG(U) 810 revision
// modified resources textures settings
// added new DAG OOF's (OFE and OFL) and LCS's new books textures

// => FoG(U) 809 revision
// DownloadManager class
// - reworked old system, now supports bundle checking
// - added Bundle class for all necesarry informations regarding bundles
// R,G,InitCheck class - made modifications to work with the new download manager
// added better compression for terrain textures on iOS
// UWKWebView.mm - made modification to no longer give compiler errors in XCode

// => FoG(U) 806-808 revisions
// ContentListCreate:
// - further modified, streamlined and optimized the whole class
// - added getFileDirectoryNameFromPath() and getPathNormalized() methods
// FoGHelp class all parameters and methods are empty for android (no android UWK) excepting the _this member
// modified Build.MakeBuild() to have a second p_FOG_DEV parameter and added two more Editor menu items: Make Release Build _FOG_DEV and _FOG_BETA
// added Build.ChangeBuildWindowsDefinesDEV() and Build.ChangeBuildWindowsDefinesBETA() methods

// => FoG(U) 805 revision
// CreateContentList class
// - added option to filter what folders go into the xml for packs creation
// - moved it back into Tools folder so AssetBundleCreate can reference it
// - added overload method for MakeXml() to run with previous code
// AssetBundleCreate class
// - added CreateSeparateAssetBundlePacks() to create figs packs on all platforms
// - added creation and removal on _content_list.xml when making bundles
// DownloadManager class - modified content list load in bundleUnpack()

// => FoG(U) 804 revision
// added G.fileHelpIndex, G.fileHelpInfo, G.fileHelpWiki, G.fileLogConsole and G.fileLogOutput members
// renamed InitCheck.CheckXMLFiles() into InitCheck.CheckFiles()
// added InitCheck.CheckFiles() betainfo.html as server downloadable file

// => FoG(U) 803 revision
// revised, cleaned up and modified revision 801's code
// revised, cleaned up and modified revision 802's code
// added DownloadManager.bundleCheckAndUnpack() method
// GM:
// - added undo variables section
// - added gmUndoSet(), gmUndoInvalidate() and gmUndo() methods
// - added Update() undo key code section
// used the new GM undo methods through the code
// added G.resourcesPath_Figures member
// added G.timeActionLast, G.timeDeltaFast and G.timeDeltaSlow members, and replaced various other used timers (S.timeDelta, S.timeEonHex, S.timeGMonHex, S.timeBGMove, S.timeBGRotate, E.timeDelta, E.timeKeyH, E.timeEonHex, GM.timeDelta, G.timeKeyH, GM.timeGonHex, GM.timeBGMove, GM.timeBGRotate, GM.timeGMPanelDCPIOn, GM.timeGPMPauseOn, GM.timeGMUndoOn, DebugFoG.consoleTime, GMConsole.consoleTime
// modified all remaining non-hold key press inputs to use Input.GetKeyUp() or Input.GetKeyDown() methods instead of Input.GetKey()
// renamed GP.bgCheckIfCanDoAfterMovementAction() into GP.bgGetAfterMovementAvailableActionType() and modified it to return the type of the most important action BG can do after a movement action
// added Battlegroup.tCanDoActionRO member and save/load it into/from game state's saved file
// added GP.bgSetAvailableRotationOnly() method
// modified GPM.GPMAction() movement action code section and GMOnHex.MouseOver() BG rotation end code section to use the new GP.bgGetAfterMovementAvailableActionType() method

// => FoG(U) 802 revision
// DownloadManager class, G class, R class - removed G.gfBundleUnpackHelp, help bundle is mandatory on all platforms
// ContentListCreate class
// - cleaned the code
// - added proper format check

// => FoG(U) 801 revision
// DebugConsole class - added directive for iPhone to properly initiate _fileName
// GameplayConsole class - added directive for iPhone to properly initiate _logFileName
// UWKWebView.mm - fixed UWK's orientation to landscape only
// FoGHelp class - added view Hide/Show so the window disappears on iOS
// G class - added new variables for the help bundle on iOS
// InitCheck class
// - added System.IO to using list to make the code cleaner and modified were necessary
// - modified check in Update()
// - added extra check for Help folder
// - all essential files are now downloaded using DownloadFirst()
// - replaced rdBundleNames.Length with rdBundleNo so the help bundle only downloads on iOS
// - modified CheckMainBundles() to properly download bundles on all versions
// DownloadManager class
// - added www. to server url to always find the server
// - added isFirstQueueEmpty to get if downloadFirstQueue is null or empty
// - moved bundle unpack checks in Awake() method
// - deleted G.dataPath check from DownloadQueue(), it is now set-up when first called
// - added bundleUnpack() to unpack the bundles on download to avoid double loading
// MakeXml class
// - renamed it to CreateContenList class
// - moved it to Editor folder and added menuItem for it to create content list faster
// R class
// - made bundle identifiers to const
// - moved bundleUnpack to DownloadManager class
// - removed traces of unpacking bundles methods
// - added check in LoadBundle() to not load bundles that are stored locally

// => FoG(U) 800 revision
// moved FoG logo and copyright textures drawing from MainMenu.Update() back into MinMenu.OnMainMenuGUI() method
// TexturePostProcessor:
// - ChangeTextureType_BatchAdvancedAutoCompressed() changed NPOT to nearest to activate compression
// - added ChangeTextureType_BatchAdvancedAuto16()
// - ChangeTextureType_BatchAdvancedAutoTruecolor() changed format to automatic truecolor
// - added ChangeTextureType_BatchImageAutoCompressed(), ChangeTextureType_BatchImageAuto16() and ChangeTextureType_BatchImageAutoTruecolor() methods

// => FoG(U) 799 revision
// fixed a problem in MainMenu.OnGUI() MenuState.MAIN_MENU code section's tests
// added TexturePostProcessor.enabled member, and set it up on disabled by default (thus disabling the entire TexturePostProcessor.OnPostprocessTexture() method's code)
// changed TextureBatchImport class into TextureBatchProcessor
// added some more TextureBatchProcessor format change methods

// => FoG(U) 798 revision
// fixed problem in GP.TestACT causing HF and MF charging against MT
// added G.appGMAuthenticating application state member
// added G class application authentication state's members
// renamed MainMenu.CheckForChangesAfterSerialModification() into MainMenu.appAuthUpdate();
// modified MainMenu.appAuthUpdate()
// added MainMenu.appStatusBarUpdate() method
// modified MainMenu.OnGUI() method
// renamed Multiplayer.CheckTheSerialNumber() into Multiplayer.appAuthUpdate()
// renamed Multiplayer.PBEM2_SerialCheck() method into Multiplayer.PBEM2_appAuthCheck()
// modified Multiplayer.PBEM2_appAuthCheck() method


v1.8.12.797 (bRC6u02) (2013.04.22)
========================================
sixth beta release candidate 2nd update

// => FoG(U) 797 revision
// modified DAG.SetInfoAboutNation() army list title nation's string format
// added GP.bgCheckIfHasLFSupport(), GP.bgCheckIfHasMFSupport() and GP.bgCheckIfHasCavSupport() methods
// added GP.bgCheckIfFoot() method and replaced !bgCheckIfMounted() usage through the code
// GP rules:
// - corrected manual's (pg 24 of 56) wrong missile combat DiceNo rule <4+2(FT with LFBw,LFCBw support FAcharged by MT)> to <4+1(FT with LFBw,LFCBw support FAcharged by MT)>
// - corrected manual's (pg 34 of 56) wrong missile combat POA rule <-1(charged MF)> to <-1(MF BW,CBw,LBw FAcharged by any)>
// - added manual's (pg 34 of 56) missing missile combat POA rule <// GAMEPLAY RULE - [Ranged Attack][POA]: -1 foot with supporting medium foot armed with missile weapons charged through their front arc by any>
// - added manual's (pg 34 of 56) missing missile combat POA rule <// GAMEPLAY RULE - [Ranged Attack][POA]: -1 foot with supporting light foot armed with missile weapons charged through their front arc by mounted>
// - corrected manual's (pg 35 of 56) wrong impact combat POA rule (1st spear/pike one)
// - corrected manual's (pg 35 of 56) wrong impact combat POA rule (2nd spear/pike one)
// - corrected manual's (pg 36 of 56) wrong impact combat POA rule (pike)
// - corrected manual's (pg 37 of 56) wrong melee combat POA rule (also wrongly worded pike/spear instead of pike)
// - corrected manual's (pg 38 of 56) wrong melee combat POA rule (also wrongly worded pike instead of spear/pike)
// modified GP.bgCheckIfInAOC(), GP.bgGetLeaderHighest(), GP.bgGetLeaderNearest and GP.bgGetLeaderNeighbourHighest to only account for friendly leaders having the same subnation (nationID)
// added GP.bgCheckIfHasBow(), GP.bgCheckIfHasCrossbow() and GP.bgCheckIfHasLongow() methods
// modified GP.CombatPOACompute() ranged combat code section to account for rear rank support missile weapons too
// changed some of DAG.DAGreturnUnitCostFT() and DAG.DAGreturnUnitCostMT() rear rank support extra costs
// added S.mRotate() method and moved the S.Update() map rotation code section into it
// added GP.mSetRotationDefault() method
// reverted revision 770's - GP.Pursuit() method's code modification back to only the full movement allowance, and not its remaining movement allowance only, in the following pursuit
// modified R.rdBundlesLoadType on R.rdBundlesLoadTypePreCached by default for PC and OSX
// added version.xml game's leaf title member
// added FoGInit.sTitle member
// modified R.LoadVersionFile() method to read version's title
// modified MainMenu.CheckForChangesAfterSerialModification() method to use the FoGInit.sTitle member

// => FoG(U) 796 revision
// modified project's Unity engine quality settings for anisotropic filetring to disbled in G.Awake()
// further modified, streamlined and optimized the TexturePostProcessor.OnPostprocessTexture() method
// modified all Editor tools' menu path
// added TextureBatchImport class

// => FoG(U) 795 revision
// FoGHelp class - added retina suport for iPad3
// DownloadManager class - fixed a small compiler error on live builds

// => FoG(U) 794 revision
// reverted revision 789's InitCheck.CheckFolders() unpacking code sections modifications


v1.8.12.793 (bRC6u01) (2013.04.18)
=====================================
sixth beta release candidate 1st update

// => FoG(U) 791-793 revisions
// E.Start() disabled status bar message and gameplay message areas
// fixed an old file load system leftover in R.EditorLoadArmyLists()
// added S.SetTheCamera() method orthographic camera zoom set code section


v1.8.12.790 (bRC6) (2013.04.18)
=====================================
sixth beta release candidate

// => FoG(U) 790 revision
// revised, cleaned up and modified revision 789's code
// reverted DownloadManager.dataPath_bundles to OSX own separate folder
// increased tertiary subversion from 11 to 12 (new FoG books)

// => FoG(U) 789 revision
// InitCheck class - streamlined and obptimize starting process
// DAG class - visual modification to the text to be properly centered
// P class
// - small modification to the general font size
// - made DAG army list use more screen to be properly visible
// Multiplayer class - modified loading of error codes to properly work on mobile
// DownloadManager class - fileName is now retrieved dynamicly
// UWKWebView.mm iOS class - added delecate to a webview so it no longer crashes on iOS

// => FoG(U) 788 revision
// added G.gdGMTypeNone, G.gdGMTypeScenario and G.gdGMTypeDAG members
// added G.gdDAGStateNone, G.gdDAGStatePlay, G.gdDAGStateSelectNewArmy and G.gdDAGStateSelectNewMap members
// replaced GameInProgress.gameType and GameInProgress.dagState members hardcoded usage through all the code
// moved and renamed R.SendInstance() to R.UploadInstance()
// fixed a problem in R.UploadInstance() method causing FoW, DM and NTL flags not being sent back to the updated game instance
// DownloadManager:
// - renamed DownloadManager.ReturnPlatform() to DownloadManager.getDataPathPlatform() and commented it as deprecated
// - added DownloadManager.dataPath_bundles member and moved the DownloadManager.getDataPathPlatform() code as its getter
// - added DownloadManager.dataPath_common member
// - fixed a problem in DownloadManager.DownloadFirst() and DownloadManager.Download() methods causing the code to use a wrong data server path for the common files

// => FoG(U) 787 revision
// revised, cleaned up and modified revision 786's code
// Multiplayer.Start() fixed an error related with the reading of the MP errors file using a wrong file name
// added DAGUnitGroup.hasOR2 member (exclusive DAG unit groups)
// added DAG.InitializeDagGroups() exclusive DAG unit groups code
// added DAG.OnDAGNewArmy() Add / Remove BGs DAG buttons code section exclusive DAG unit groups code (both resetting and incremental versions)
// added a visual clue for exclusive DAG unit groups (++ button)
// added G.ReadPreferences() WIP code to force enable FB9, FB10, FB11 for _FOG_BETA too

// => FoG(U) 786 revision
// FB class
// - hashKeys dictionary is no longer populated in Awake()
// - modified hashKeysRead() method to work without parameters and remotelly
// - added hashKeysClear() method to clear the hash list
// G class - added FB.hashKeys initialization and disposing to preserve memory space

// => FoG(U) 785 revision
// disabled precompile directives usage via the smcs.rsp file (Unity 3.x old way)

// => FoG(U) 784 revision
// fixed a bug in S.bgGetOffL() map rotation code
// G class modified BG formation layouts' vectors to better fit FoG(RB) formations (reversed rear line figures order)
// added G.layout6d member
// added G members for all used filenames and replaced old hardcoded usage

// => FoG(U) 783 revision
// DAG class
// - added load system for starter armies
// - modified variables that handle unload system so the game won't crash
// - added index quality check so DAG doesn't crash with the starter armies xmls
// R class - added extra check in LoadBundles() so it properly respects what bundles to unload
// modified various project textures resources compression and size settings for the Android and iOS builds

// => FoG(U) 781-782 revisions
// renamed armiesInfo.unity3d bundle into armies.unity3d
// added G.gfBundleUnpackAll, G.gfBundleUnpackScenarios, G.gfBundleUnpackArmies and G.gfBundleUnpackFigures members
// removed _FOG_UNLOAD precompile directive
// further modified, streamlined and optimized InitCheck.CheckFolders() method
// further modified, streamlined and optimized DAG.LoadArmyListFromXML(), DAG.LoadDAGNations(), DAG.LoadDAGArmy() and DAG.LoadDAGArmyTemplate() methods
// further modified, streamlined and optimized R.CheckIfBundlesFinishedLoading(). R.EditorLoadArmyLists(), R.loadUnit(), R.LoadScenarioNew(), R.LoadMapNew() and R.LoadBGsNew() methods
// added R.bundleUnpack() method
// added znew and zother formations files into formationList.xml file
// fixed a problem in G.ReadPreferences() preventing the new FB9, FB10 and FB11 to be forced as active
// fixed a problem in S.bgGetOffL() resulting in map rotation not updating the BG formation layout's rotation too
// added project's SavedScreenshots folder
// added G.dataPath_SScreenshots and G.gdScreenshotSuperSize members
// added InitCheck.CheckFolders() G.dataPath_SScreenshots folder check
// added S.Update() screenshot key code

// => FoG(U) 780 revision
// G class
// - added variables to store locations for unloaded resources
// - added G.bundlePath_Armies member (bundle variable for armies bundle for better code understanding)
// InitCheck class - added extra folder checks in CheckFolders() to create folders for unloading resources
// DAG class - incorporated proper loading for when resources have been downloaded locally
// R class
// - modified LoadBundles() to copy the contents of the bundle locally and then dipose of the memory
// - modified CheckIfFinishedLoading() in order to not check for bundle presence if it's contents have been copied
// - modified information loading where necessary to check locally
// added MakeXmlList class to tools to create _content_list.xml file for copying xmls from bundles

// => FoG(U) 779 revision
// added the new FB9, FB10 and FB11 FoG books to the bookList.xml file
// added placeholder images for the new FB9, FB10 and FB11 FoG books
// added G.ReadPreferences() WIP code to force enable FB9, FB10, FB11


v1.8.11.778 (bRC5u02) (2013.04.10)
========================================
fifth beta release candidate 2nd update

// => FoG(U) 778 revision
// G class
// - modified G.dataPath to self initialize
// - made every folder path const from static

// => FoG(U) 777 revision
// fixed a problem with Eternal Empire - Stoke Field scenario's rebel army list (Stoke Field0.bgl.xml) having Irish LF javelins BGs set as MF instead of LF
// fixed a problem in GPM.GPMMoveUpdate() by adding map rotation dependent movement code
// added GM.gmGameUpload() method by merging the MP game upload code from GM.OnGUI() End Turn and Save buttons code section
// modified GP.gmTurnFDPhaseEnd() and GP.gmTurnPhaseEnd() to call the newly added GM.gmGameUpload() method
// fixed a problem with StatusBar MessageArea and GPMessage area remaining active after a MP game save or end turn

// => FoG(U) 776 revision
// fixed a problem with ally indexes in the Legions Triumphant - Dominate Roman(Eastern late) DAG army list (5024-dominate-roman.xml)
// fixed a problem in E.hexEdit() caused by the BG not having assigned a placing hex (which become a requirement due to the new S.bgPlace() modifications required by the GPM class) before being instantiated and then placed
// added G.animationSpeedMIN and G.animationSpeedMAX members
// modified MainMenu.OnPreferencesGUI() to use the newly added G.animationSpeedMIN and G.animationSpeedMAX members
// modified GPM.GPMMoveUpdate() to use the G.animationSpeed variable

// => FoG(U) 775 revision
// DAG class
// - replaced foreach with for
// - modified Split() paramaters to use string
// - added extra string checks
// - added P.guiStyle to the scrollable description window
// - modified temp to tmp
// - added carriage return and line feed between description parts

// => FoG(U) 774 revision
// Main Menu class - properly disable Preferences button when Help window is open
// DAG class
// - added support for multipart description
// - added scrollable description window
// G class - removed dataPath modifcation from Awake(),will break game on iOS
// FoGInit class
// - removed Start() because it's functionality is already in G.Awake()
// - reinitialized R.musicSource object in order to fix preferance bug
// MainMenu scene - Music gameobject has had it's volume set to 0


v1.8.11.773 (bRC5u01) (2013.04.09)
========================================
fifth beta release candidate 1st update

// => FoG(U) 773 revision
// cleaned up project Input Manger's entries
// GP class fixed a problem in GP.AnarchyCharge(), GP.Evade(), GP.Rout(), GP.Pursuit() and GP.BreakOff() methods which were not resetting BG's action state in case they were not caling the GPM.GPMAMAdd() method
// replaced most of !_FOG_BETA with _FOG_DEV precompile directive
// added S.sdMouseToScreenEdgesMapMovement member and its DebugFoG button switch
// MainMenu.OnListMyTurnGUI() added code to save downloaded game multiplayer game instance to the G.dataPath_GameplayLogs folder
// added saved multiplayer game instance name conventions (U uploaded, D downloaded, C challenge, S saved, U updated)

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Mon Feb 25, 2013 9:41 am

v1.8.11.772 (bRC5) (2013.04.05)
========================================
fifth beta release candidate

// => FoG(U) 772 revision
// replaced _FoG_ with _FOG_ for all precompile directives
// added FoGInit.Awake() _FOG_DEV precompile directive test
// modified Build.MakeBuild() to set build's precompile directives
// fixed a problem in R.figureTextureFacingToOffset() resulting in wrong figure image used when map was rotated
// added precompile directives to Unity projects BuildTargetGroup.Standalone Scripting Define Symbols's setting

// => FoG(U) 771 revision
// added GP.bgGetAdjacentActiveEBG() method
// added GP.AutoCombatCheck() method
// added G.gfAutomaticCombatOn flag and its DebugFoG button switch
// modified GM.OnGUI() method End button code section to test the G.gfAutomaticCombatOn and call the GP.AutoCombatCheck() method before proceeding with the rest of the End button code
// added GPMessageM.gpmmdSpawnMessageNoInit and GPMessageM.gpmmdSpawnMessageNo members
// GPMeesageM fixed a problem caused by the wrongly destroy of GPMessage objects
// modified GP.AutoCombat(), GP.CompulsoryBreakOff(), GP.CompulsoryRally(), GP.CompulsoryCombat(), GP.CompulsoryRout() and GP.CompulsoryLoot() to IEnumerator
// modified GP.gmJointActionPhaseBefore() and GP.gmJointActionPhaseAfter() methods to use the new IEnumerator auto and compulsory methods
// prevented additional user gameplay input while any of the joint action phase methods is running
// DebugFoG class prevented G.gfGPMSimultaneousActions and G.gfGPMDiscreteMoves modification while any of the joint action phase methods is running

// => FoG(U) 770 revision
// Gameplay:
// - modified GP.Pursuit() method's code to only use the remaining movement allowance, and not its full movement allowance, in the following pursuit
// - modified GP.gmTurnPhaseInit() and GP.bgCohesionDrop() methods to set all routed FBGs as unavailable
// - modified GP.Evade() method to not compute anything if the pBG2 is routed
// Battlegroup class added Battlegroup.tPursuitPhaseNo and Battlegroup.tBreakOffPhaseNo members and save/load them into/from game state's saved file
// moved deprecated GP.bgMoveUpdate() and GP.bgMoveUpdateNEW() methods into the Deprecated class
// modified GP.gmTurnPhaseInit() method to reset trailing pursuit and break-off action indicators
// modified GP.gmTurnPhaseInit() method to set all routed BGs as unavailable (set directly from editor), and change graphics on all BGs marked as not able to do any action
// modified GP.bgBGsUIUpdate() method to have a better action indicators processing order
// GPM class:
// - tracked and fixed a problem caused by BG.bgAS becoming invalid due to modification by simultaneous running actions
// - modified GPM.GPMAction() method to have any starting action reset any eventually trailing pursuit and break-off action indicators
// - modified GPM.GPMAction() method to have all action indicators' graphics changed right away after setting BG's action indicators flags (AnarchyCharge, Evade, Pursuit, BreakOff


// => FoG(U) 769 revision
// further modified, streamlined and optimized the DownloadManager class
// modified DownloadManager class'es StatusBar usage
// modified DownloadManager.CheckMainBundles() method to download all bundles, not only the precached ones
// moved DownloadManager.filesToDownload incrementation inside DownloadManager.Download() method
// fixed a problem with InitCheck.Update() trying to access DownloadManager.currentDownload after it was disposed and not made null
// disabled the MainMenu Editor button if the _FoG_SMALLSCREEN precompile directive is present
// forced R.rdBundlesLoadType to R.rdBundlesLoadTypePreCached and forced loading of the figure image packs assets bundles
// disabled the edit/create scenarios/maps/army lists buttons as long as the precached asset bundles are not been loaded yet

// => FoG(U) 768 revision
// E class
// -added check to prevent map and army file override
// -added small auto-fill properties for new scenarios
// -added proper async loading of figs images
// DownloadManager class
// -removed OnGUI() method
// -properly made lists null after download complete
// -added new int variable to track total downloads
// MainMenu class - added downloadManager info in status bar if game is downloading in background
// InitCheck class - added downloadManager info in status bar if game is downloading in background
// MapsInfo class - added summary info to distinguish between string for filename and string for map name

// => FoG(U) 767 revision
// revision 764's leftovers (cleaned up the GPMessage prefab)
// renamed all classes self instance holding members into _this and made sure they are initialized in their constructor/Awake() methods
// GameplayConsole class reformatted
// added G.Awake() Unity engine quality settings for anisotropic and antialiasing
// modified GP.gmJointActionPhaseBefore(), GP.gmTurnPhaseInit(), GP.gmJointActionPhaseAfter and GP.gmTurnPhaseEnd() to IEnumerator

// => FoG(U) 766 revision
// added R.vectorBGStrength75Scale, R.vectorBGStrength50Scale and R.vectorBGStrength25Scale members
// modified GP.bgBGsUIUpdate() method to scale BG strength indicator's mexh accordingly with the BG strength indicator's texture used
// modified GP.bgGetEBGRangedList() to not return routed EBGs
// modified GP.CombatImpact(), GP.CombatMelee() to prevent combat computations against routed EBGs
// BGUI.Update() prevented GP.CombatPrediction() calls for routed EBGs
// GM.OnGUI() prevented combat prediction info panel and detailed prevented combat prediction info panel display info vs routed EBGs
// GM.OnGUI() prevented mouse-over BG info panel display EBG's evade behavior setting
// GP.bgEBGsBUIEnable() prevented a BG which refused to charge to be able to have ranged combat
// added Battlegroup.tCanDoAction member and save/load it into/from game state's saved file
// added G.colorBGAvailable and G.colorBGUnavailable members
// added GP.bgSetAvailable() and GP.bgSetUnavailable() methods
// modified GP.gmTurnPhaseInit() to call the new GP.bgSetAvailable() method
// modified the GP.Charge(), GP.CombatImpact(), GP.CombatMelee() and GP.CombatRanged() to call the new GP.bgSetUnavailable() method before calling the GP.bgDeselect() method
// moved deprecated GP.bgGMMStart() methods into Deprecated class and removed all commented calls
// added Battlegroup.tHasMovementHex member
// modified GP.bgMAreaCompute() to use the new Battlegroup.tHasMovementHex
// added GP.bgCheckIfCanDoAfterMovementAction() and GP.bgCheckIfCanDoAnyAction() methods
// added GP.bgSelectReUpdate() method
// added GP.bgGetEBGRangedList LOS check code section
// modified GPM.GPMAction() gpmdatMove section to display BGs' MArea after partial movements
// modified GP.gmTurnPhaseInit() to call GP.bgSetUnavailable() for all spent BGs when loading a saved game state
// GMonHex.MouseOver() prevented rotating BGs to the same facing count as a rotation

// => FoG(U) 765 revision
// GPMessage class
// -Init() are now private
// -class is no longer added in 2 slots in the freeMessage list
// -removed deprecated GPMeesage constructors
// DownloadManager class - added an yield in the DownloadQueue() in order to prevent a crash

// => FoG(U) 764 revision
// R class
// - removed the old deprecated R.prefabGMMessage and R.prefabGMMessageText members
// - added the R.prefabGPMessage member and loaded it with the new GPMessage prefab
// GPMessageM.GPMessage class used the new R.prefabGPMessage member

// => FoG(U) 763 revision
// further modified, streamlined and optimized the GPMessageM class
// removed deprecated GMText and GMMessage prefabs
// renamed GMInfo prefab into GPMessage
// fixed a problem into GPMessageM.GPMMMessage() causing arialBlack font's material color change (Alin)
// added arialWhite font and used it into GPMessage.Text prefab

// => FoG(U) 762 revision
// Build.MakeBuild() uWebKit inject player code Android fix

// => FoG(U) 758-761 revisions
// SVN project cleaning up & update

// => FoG(U) 757 revision
// added S.sdCameraOrthoGraphic member
// S.Update added orthographic/perspective camera zoom code (Alin)
// E.Update added orthographic/perspective camera zoom code (Alin)
// InitCheck.Update() and DownloadManager added assets download alternative code (all/precached only) (Alin)

// => FoG(U) 756 revision
// revision 755's leftovers
// ported the project on Unity 4
// - modified all classes to use GameObject.SetActive(), GameObject.activeSelf and GameObject.activeInHierarchy instead the deprecated GameObject.active
// - modified all classes to use GameObject.SetActive() instead the deprecated GameObject.SetActiveRecursively()
// - modified GP.bgShow() to use GameObject.SetActive() on all aBGs

// => FoG(U) 755 revision
// removed revision 748's newly wrongly added null checks into MainMenu.initAssetsLists() method ()
// replaced R.rdBundleScenarios with R.rdBundleScenariosOLD
// replaced R.rdBundleScenarios2 with R.rdBundleScenarios
// replaced scenarioList.xml with scenarios_OLDList.xml
// replaced scenarios2List.xml with scenariosList.xml
// replaced map2List.xml with mapsList.xml
// replaced bg2List.xml with bgsList.xml
// replaced customScenarioList.xml with customScenariosList.xml
// replaced customMapList.xml with customMapsList.xml
// replaced customBGList.xml with customBGsList.xml
// added G.dataPath_Resources, G.bundlePath_ScenariosOLD, G.bundlePath_Scenarios and G.bundlePath_Figures members and used them through the code
// rebuilt all Windows/OSX and Android asset bundles (proper, 12/6 frames, pixel/texspace, packed/separate, compressed/uncompressed)
// renamed R.rdBundleArmiesAF into R.rdBundleFigsPackAF
// renamed R.rdBundleArmiesGM into R.rdBundleFigsPackGM
// renamed R.rdBundleArmiesNR into R.rdBundleFigsPackNR
// renamed R.rdBundleArmiesSV into R.rdBundleFigsPackSZ
// renamed R.rdBundleArmiesSpecialCamps into R.rdBundleFigsSpecialCamps
// renamed R.rdBundleArmiesSpecialZOther into R.rdBundleFigsSpecialZother

// => FoG(U) 754 revision
// added R class separate Android and iOS code R.rdBundlesLoadType initialization
// added DebugFoG Android and iOS code preventing Debug tab Asset Bundle Load button switching R.rdBundlesLoadType from R.rdBundlesLoadTypeAsync value
// added InitCheck.CheckMainBundles() Android and iOS code preventing figure image packs asset bundles being downloaded

// => FoG(U) 753 revision
// revision 752's leftovers
// - R.CheckIfBundlesFinishedLoading() added code to prevent Android and iOS check for the figure image packs asset bundles
// - FoGInit.Awake() uncommented FoGHelp object holder's initialization
// FigureImageProcessor - cleaned it up and integrated it into Editor's menu
// - renamed NicuTextureResize into FigureImageProcessor
// - renamed TestScene into Tools_FigureImageProcessor
// - deleted the transp material and used the trans_diffuse one instead
// Multiplayer class formatted some error messages
// all Tools scripts launched from within the Editor - added code to check for and stop any eventual application running

// => FoG(U) 752 revision
// FoGInit class
// - moved OnGUI() to InitCheck class
// - reverted the Awake() to it's previous version
// - deleted methodes checkFolders() and checkXMLFiles()
// InitCheck class
// - added methodes CheckFolders(), CheckXMLFiles(), CheckMainBundles() and CheckFigsBundles()
// - no longer initiated FoGInit class at start, now waits for all bundles to be downloaded
// - added some extra declarations to Awake() so the code will function normaly
// MainMenu class
// - added bigger touch area for animation speed slider and music volume slider in the preferences sub-menu
// - added bigger toggle buttons in the Appearance Tab
// - made all the description text boxes dynamic for all platforms
// P class - deleted the define for small screen because the visual modifications are general
// DownloadManager class - eliminated method ReturnFileNamePrefix() and used R.assetBundlePrefix variable
// TextureResize class - deleted and it's function is replaced by the new class NicusTextureResize

// => FoG(U) 751 revision
// added test scene, material and script to make 3 by 2 textures from the 12 frames image strips

// => FoG(U) 750 revision
// Build and FoGHelp classes isolated not Android uWebKit code sections

// => FoG(U) 749 revision
// changed G.multiplayer into G._MP
// added the new figs_zother loading-figure figure image
// modified R.loadFigures() method to use the new loading-figure figure image when waiting for a figure to be loaded
// GPM (2)
// - added gpmfAMHasActions member
// - added GMonHex and AM classes' code preventing the injection of new actions chains into GPM while it still has actions to process from the previous actions chain
// - added DebugFoG code preventing the modification of the G.gfGPMSimultaneousActions and G.gfGPMDiscreteMoves flags while GPM still has actions to process from the previous actions chain
// - added GM.OnGUI() code sections disabling the Quick Save, Save, End Turn and Quit buttons while the GPM still has actions to process from the previous actions chain
// - fixed a problem preventing pursuing BGs catching evading BGs from behind when moving next to them (caused by the evading BG's code not calling GPMMoveEnd() right at the end of the last GPMMoveUpdate(), but in the next frame)
// added _FoG_SMALLSCREEN precompile directive
// isolated P, MainMenu and DAG classes _FoG_SMALLSCREEN code sections
// class ChatManager
// - added new message tracking code sections
// - DebugFoG added Miscellaneous tab's MP Chat Auto Show button

// => FoG(U) 748 revision
// cleaned up P, Multiplayer and MainMenu classes' DownloadManager code sections
// removed MainMenu.WaitForScenarioList()
// further modified, streamlined and optimized the R.LoadBundle() and R.loadFiguresAssetBundleAsync() methods (DownloadManager code sections)
// renamed FoGInit class'es Check() method into ocheckObjectHolder()
// renamed FoGInit class'es Check(), CheckFolders() and CheckXML()() methods into ocheckObjectHolder(), checkFolders() and checkXMLFiles()
// renamed FoGInit class'es Check() method into ocheckObjectHolder()
// added FoGInit class'es downloading code section
// renamed MainMenu.InitEditScenario() method into MainMenu.initAssetsLists()
// moved DownloadManager class into Tools section
// added some CreateListWithScenarios class'es error messages
// corrected some output text formatting in DebugConsole.VerboseLevelsTest() method
// StatusBar class
// - added sbfActive, sbfSAEnabled, sbfMAPrimaryOn and sbfGPMAEnabled members
// - replaced old fSBGEnabled member with sbfMAEnabled new one

// => FoG(U) 747 revision
// FoGInit class
// - renamed method Awake() to Init() and made it an IEnumerator in order to stop the start-up when needed
// - added Init() call from Check() method in order to initialize the class when it is created
// - added check in the Init() method in order to wait for xml downloads to finish
// InitCheck class
// - modified Update() method to only check for loading flags and to no longer reinitialize P class
// - added OnGUI() method to show background while loading
// DownloadManager class - modified the protection level of the downloadQueue list in order to see it from the FoGInit class

// => FoG(U) 746 revision
// DAG class
// - modified the interface for DAG to be a bit larger and more visible.
// - modified the way info is shown for Dismount-able units in order to function with tables who inherently have no hover function (now relies on the user to click the S to show info about that unit)
// Main Menu class
// - modified the list view in the new game to be relative to each other and made the modified the size to be more readable on tablets
// - made description box dynamic for new scenario and DAG game
// - added a wait function for the New Game button in case the lists are not yet loaded
// - added WaitForScenarioList() method to handle the situation where the assets are not present at the start of the game
// - Enter Serial sub-menu modifications to work properly and update the coresponding list in the new game screen and DAG menu.
// P class - Modified the chose language tab from the preference menu so the buttons are more visible and spread out
// added FoGInit.CheckXML() and FoGInit.CheckFolder() methods
// FoGInit.Awake() - minor modification related with resources check
// added DownloadManager class to download missing resources
// called http://www.dispose() after each http://www.download() call (all the WWW objects are now disposed after they are used so the garbage collector will always know to release the memory
// modified the way some methods track for errors with WWW objects which will avoid case of null exceptions
// added error tracking code looking for null objects in methods that relied on all the assets being present at the start of the game
// Added P.ReAwake() method in order to load information from xml, if they were not present at the start of the game, which also restarts the FB class
// GPMessageM class - added object pooling for message system.
// InitCheck.Update() - added tracking code for P class in order to reawake it if it didn't load properly from the start

// => FoG(U) 745 revision
// uWebKit update to v1.4 (release)

// => FoG(U) 744 revision
// added G.dataPath_Help member and modified FoGHelp and Build classes to use it

// => FoG(U) 743 revision
// revision 742's leftovers

// => FoG(U) 742 revision
// GPMesageM (3)
// - replaced all old GP.bgGMMStart() calls with the new GPMesageM.GPMMMessageAdd() ones
// added DebugConsole.VerboseLevelsHIGH() method and DebugConsole.vlFNMN member and all its additional code required

// => FoG(U) 741 revision
// GPMessageM (2)
// - GPMesageM.GPMMMessageUpdate() fix for messages waiting for their start time
// - GPMesageM class code optimization for delaying messages' start time while game is on pause

// => FoG(U) 738-740 revisions
// further modified, streamlined and optimized the GP.bgGMMStart() and GP.bgGMMHexStart() (by changing from BG.GMMNo to BG.GMMTimeNext):
// - merged GP.bgGMMStart() and GP.bgGMMHexStart() methods
// - replaced old Battlegroup.GMMNo with Battlegroup.GMMTimeNext component used to delay BG's game messages
// - added Hex.GMMTimeNext component used to delay hex'es game messages
// - modified GMMessages.StartTheProcess() to account for the new GP.bgGMMStart() methods, and Battlegroup.GMMTimeNext and Hex.GMMTimeNext components
// removed Movement Manager deprecated code:
// - removed deprecated GP.MovementManager(), GP.MMAdd() and GP.MMMoveUpdate() methods
// - removed deprecated GP.MMInputDisabled, GP.MMMoveDiscrete, GP.MMStart, GP.MMActive, GP.MMActive, GP.MMMoveSimultaneous components
// - removed deprecated GameClasses.DMMEntry class
// - DebugFoG removed Miscellaneous tab's MM Discrete Moves button
// - DebugFog removed Debug tab's MM, MM Moves Add, MM Discrete Moves (TMP) and MM Simultaneous Moves buttons
// GPM (1)
// - added GPM class
// - modified GMonHex.MouseOver(), GP.AnarchyCharge(), GP.Charge(), GP.Evade(), GP.Rout(), GP.Pursuit() and GP.BreakOff() methods to use the new GPM.GPMAMMadd() method
// - DebugFog added Debug tab's Simultaneous Actions and Discrete Moves buttons
// GM Pause (1)
// - added GM.gmfGMPauseOn, GM.gmfGMTimePauseOnReset, GM.gmGMTime and GM.gmGMTimePauseOn members
// - added GM.GMPauseOn(), GM.GMPauseOff() and GM.GMPauseSwitch() methods
// - added GM.Update() P key to pause/unpause the game
// - DebugFog added Miscellaneous tab's Game Pause button
// GPMessageM (1)
// - added GPMessageM class (WIP)
// - increased tertiary subversion from 10 to 11 (due to the addition of the new FoG(U) 6 frames unit figure images and additional code, and of the new GPM code)

// => FoG(U) 737 revision
// added new FoG(U) figure images (6 frames) and additional code to use them (Nicusor):
// - added Figures classe'es .iw and .ih members
// - modified R.loadFigures() method to use the new Figures.iw and Figures.ih members
// - modified S.bgUpdateRotation() method to use the new Figures.iw and Figures.ih members (to obtain a proper scale for figure's poly)
// changed MPath.hi into MPath.hl
// added MPath class' .his and .hie members
// modified all relevant GP.sbgMPath and GP.bgMPath methods to use the new MPath.his and MPath.hie members
// modified GP.bgMPathCostCompute() and GP.bgMPathSetFacing() methods to cycle between the newly added MPath.his+1 and MPath.hie (instead 1 and MPath.hl) to not have to use GP.bgMPathCreateSingleMove() anymore
// added Battlegroup class' .bgTargetEBG member
// added S.bgPlaceVirtual() method
// modified S.bgPlace() to account for the eventual already called S.bgPlaceVirtual() method's modifications
// modified GP.bgMoveUpdate() method by adding commented frame dependant BG movement
// removed deprecated GP.bgMoveUpdateDiscrete() method
// added GP.bgMoveUpdateNEW() WIP method
// replaced all GP.bgMoveUpdate() calls with GP.bgMoveUpdateNEW() calls
// further modified, streamlined and optimized the GP.bgMPathTest() method
// modified the GP.Pursuit() method to use GP.bgMoveUpdateNEW() for cycling along the pursuing BG's MPath
// modified GP.ChargeOutcome() in order to not swtich pursuing BG's state back to bgASNormal in it, but in the new GP.bgMoveUpdateNEW() method

// => FoG(U) 734-736 revisions
// modified Multiplayer ChatManager class to use a single message list view for all sides
// added DebugFoG classes' MP Chat button switch
// modified MP games and challenges list views by adding both Information and Opponent columns
// moved the MP games list description from the bottom of the list to the right
// removed ArmiesZ asset bundle and the R.rdBundleArmiesZ and added the R.rdBundleArmiesSpecialCamps and R.rdBundleArmiesSpecialZOther special bundles
// added the R.rdBundleAlwaysPreCache[] array
// modified the R.LoadBundles() method to use the new R.rdBundleAlwaysPreCache[] array
// further modified, streamlined and optimized the R.LoadBundle() method
// modified the R.getFiguresAssetBundle() to use the new always precached R.rdBundleArmiesSpecialCamps and R.rdBundleArmiesSpecialZOther special bundles
// cleaned up, streamlined and optimized the R.loadFigures() method and modified it to use the new R.rdBundleArmiesSpecialZOther special asset bundle
// DebugFoG added the Debug tab
// DebugFog switched some buttons from Miscellaneous tab to the Debug tab
// DebugFoG added Miscellaneous tab's MM Discrete Moves button
// DebugFog added Debug tab's MM, MM Moves add and MM Discrete Moves (TMP) buttons
// added the R.rdUseOldFigureImages flag to allow the usage of both old FoG(RB) and newly cut FoG(U) figure images
// DebugFog added Debug tab's Use Old Figure Images button
// Movement Manager (2) - cleaned up, streamlined and optimized the GP.MovementManager() and GP.MMAdd() methods
// Movement Manager (2) - modified the GP.MMAdd() method to use both normal GP.bgMoveUpdate and Movement Manager BG movement types
// Movement Manager (2) - added the GP.MMMoveUpdate() method
// Movement Manager (2) - added the GP.MMStart, GP.MMActive, GP.MMMoveSimultaneous, GP.MMMoveAdd and GP.MMMoveDiscrete flags
// Movement Manager (2) - added the MMInputDisabled flag, modified the GMonHex to use it (to prevent mouse hovering sbgMPath recomputing)
// added R.rdFigureImagesOffsetsRelative flag and modified R.loadFigures() to use it
// DebugFog added Debug tab's Relative Fig Images Offsets button

// => FoG(U) 733
// redone sorting of games in progress, using Array.Sort() and based on new parameters
// redone sorting of challenges, using Array.Sort() and based on new parameters
// redone issue challenge menu
// fixed height for dag menu labels
// added minimap texture creation checks to prevent leaking of Texture2D objects
// added script for creating new textures from used frames only

// => FoG(U) 731,732 revisions
// Android port code merge modifications (6) and formatting
// modified Windows and Android platforms' asset bundles prefixes from "W_" to "w_" and from "A_" to "a_"
// modified FPS class and added its own FoGInit class holder object
// moved MiniMapGenerator class in Tools, and further modified, streamlined and optimized it
// added MiniMapGenerator.ScaleTexture() method
// added DataTools class
// added DataTools class methods to call R.ConvertToNewFormat(), R.ConvertMapPack(), CreateListWithScenarios.GenerateIndexFile(), CreateListWithMaps.GenerateIndexFile() and CreateListWithBG.GenerateIndexFile() and removed the hardcoded usage from R class
// added DebugFoG classes' map grid and FPS button switches
// reverted Cristian's R.loadFigures() tileset depending figures loading fix as it broke units figures loading

// => FoG(U) 730 revision
// Android port modifications ((5) - scenes lighting modifications

// => FoG(U) 729 revision
// Android port modifications (4) - FPS class added

// => FoG(U) 728 revision
// Android port modifications (3) - touch controls code modifications (1)

// => FoG(U) 727
// fixed loading of figures dependent on the tileset
// added helper script to generate minimap textures
// fixed wrong filename for two scenarios in scenario2List.xml

// => FoG(U) 726 revision
// fixed some problems in R.loadFigures() causing only two figures to be loaded
// further modified, streamlined and optimized R.loadFigures() method
// merged R.fFiguresAssetBundlesPreCached and R.fFiguresAssetBundlesLoadAsync into R.rdBundlesLoadType switch, and added all its related state defines
// added DebugFoG Asset Bundle Load switch in DebugFoG's Miscellaneous tab code section

// => FoG(U) 724,725 revisions
// fixed index error related to empty response from server
// fixed reading of scenarios for converting
// fixed saving of converted scenarios
// fixed writing of sides in scenariosList files
// fixed DAG challenge sequence
// fixed scrolling of description for Challenges and Games in progress
// added game flags in description of games in progress
// added parsing of description for DAG armies
// altered chat manager to handle global chat and per side chat
// added keyboard key check to show/hide chat
// removed unused functions
// added parsing of VPs for ended DAG games

// => FoG(U) 722,723 revisions
// added R.loadFiguresAsync() method
// more modifications in R.loadFigures() to account for async load of BG's figures images
// added async load of BG's figures images code in GM.Awake() method

// => FoG(U) 721 revision
// fixed typo fix for scenarioList reading causing wrong interpretation of complexity
// fixed sideOrder interpretation during accepting a challenge
// fixed parsing of miscData for multiplayer DAG games
// added requested fields in miscData
// fixed UI for game in progress lists
// added description for currently selected game in progress

// => FoG(U) 720 revision
// added G class'es ._R member pointing to the R class and initialized it in FoGInit.Awake() method
// added Figures class'es .state member
// removed R.getAssetBundle() method (deprecated)
// added R class'es figures textures flag defines
// added R class'es .cab[] (cached asset bundles), .cabNoAssetBundles and .cabDictionary members, and removed all the old asste bundles members
// added R class'es .fFiguresAssetBundlesLoadAsync member
// modified R.cfabDictionary to use int instead AssetBundle as stored value, and modified the usage accordingly
// added R.loadFiguresAssetBundleAsync() method
// modified R.loadFigures() method to account for the new Figures.state member

// => FoG(U) 719 revision
// Android port modifications (1) - fixed a problem with AssetBundleCreation Android asset bundles using Windows platform as parameter

// => FoG(U) 718 revision
// added FoGInit platform dependent initialization code
// added GM Quit button R.resetCachedLists() call
// further modified, streamlined and optimized R.LoadBundles() to use the R.LoadBundle() method
// modified R.LoadBundle() method
// modified R.CheckIfBundlesFinishedLoading() method to account for R.fFiguresAssetBundlesPreCached flag
// added R.getAssetBundle() method
// changed R.AssetName() into R.getFiguresAssetBundle()
// added R.loadFiguresAssetBundle() method
// AssetBundleCreation class - modified old methods into generic ones, and add platform dependent methods calling the new generic ones

// => FoG(U) 717 revision
// redone multiplayer miscData generation for issue/accept challenge and upload instance
// redone multiplayer DAG sequence
// modified UI related to multiplayer, made some columns bigger and general layout
// removed unused functions and variables used by the old multiplayer implementation
// added method to convert single scenario - not tested

// => FoG(U) 715,716 revisions
// moved help folder from Resources into the new Assets folder and modified Builds.MakeBuild() method accordingly
// asset bundles creation automation: added ExportAssetBundles.CreateSeparateAssetBundles() method
// added R. .fFiguresAssetBundlesPreCached, .cfab (cached figures asset bundles), .cfabNoAssetBundles and .cfabDictionary members
// modified R.AssetName() to dinamically load the separate figures asset bundles
// replaces most of Application.dataPath usage with G.dataPath

// => FoG(U) 713, 714 revisions
// number of nations per side to scenario2List and renamed nation to name in side element
// added general description to scenario files
// added saving and loading of side and nation orders in game saving
// added ConvertMapPack() method to convert maps to new format
// redone issue challenge misc data generation
// redone list challenges misc data parsing

// => FoG(U) 712 revision
// redone Scenario class to hold data for new scenario variants
// moved common data for scenario variants from FoGGame to Scenario class
// redone scn file structure and reexported scenarios
// redone scenario indexing structure and functions and regenerated scenario2List

// => FoG(U) 711 revision
// GameClasses' and ScenarioInfo classes overhaul (2)

// => FoG(U) 710 revision
// WIP commit related to multiplayer

// => FoG(U) 709 revision
// changed the gameflow from FoGGame.sideOrder[] to FoGGame.nationOrder[] usage (2) (and modified all GP.bgCheckIfCurrentSide() usages)
// GameClasses' classes overhaul (1)

// => FoG(U) 708 revision
// added check for camp placing only in open areas
// fixed reading of miscData from challenge and games lists
// fixed reading of sides for scenario lists
// Multiplayer:
// * removed PBEM++ code
// * removed unused members from Challenge and GameInProgress classes
// * added GenerateMiscDataIC, GenerateMiscDataAc and GenerateMiscDataGIP for generation of miscData fields for all multiplayer actions
// * added ParseMiscData methods to Challenge and GameInProgress classes, to parse miscData after reading of lists

// => FoG(U) 707 revision
// changed the gameflow from FoGGame.sideOrder[] to FoGGame.nationOrder[] usage (1) (and modified all GP.bgCheckIfCurrentSide() usages)
// added FoGGame .nationOrder[], .nationCurrentIndex and .nationCurrent members
// added G.slNationCurrentIndex variable
// added GameClasses Nation class
// renamed most of the DAG classes

// => FoG(U) 706 revision
// changed DAG.DAGreturnUnitCostF() into DAG.DAGreturnUnitCostFT(), DAG.DAGreturnUnitCostH() inti DAG.DAGreturnUnitCostMT()
// added camels gameplay rules (treated as cataphracts if heavily armored, as cavalry otherwise)
// added camels gameplay rules (have less difficulty with movement over soft-sand)
// changed GP.GP.hGetMoveCost() into GP.hMovementCostGet() and modified it by adding a new BG parameter (to allow different movement costs for different troop types) and additional code
// replaced most of the Hex.movementCost usages with GP.hGetMovementCost(Hex)
// added GP.bgGetAdjacentBGList() and Gp.hGetAdjacentBGList() methods
// changed Battlegroup.terraincohesion into Battlegroup.ordercohesion
// changed GP.bgTerrainCohesionGet() into GP.bgTerrainCohesionCompute()
// changed GP.CombatTCohesionCompute() into GP.CombatOrderCohesionCompute()
// changed G class'es FoG Terrain Cohesion Effect section and constants' names into order cohesion section and constants's names
// added GP.bgOrderCohesionCompute(), GP.bgOrderCohesionUpdate(), GP.bgAdjacentBGOrderCohesionUpdate() and GP.hAdjacentBGOrderCohesionUpdate() methods
// GP.TestCCAT() added proper code using GP.CombatPrediction() method
// modified dummy GP.TestCTAT() method
// fixed a rare occurrence problem in GP.CombatOrderCohesionCompute() resulting in defending BG's using attacker BG's initial hex order cohesion, if this cohesion was G. gduocDisordered or G.gduocSeverlyDisordered and worse than its own order cohesion

// => FoG(U) 705 revision
// fixed visual bug in new DAG game menu
// fixed new DAG game error with map not found
// fixed new DAG game filters
// fixed error for empy chat message queue
// multiplayer:
// * fixed loading of players for challenges
// * added missing parameters and removed old parameters

// => FoG(U) 702-704 revisions
// revised notes, notes_to_do
// fixed Freedeployment zone dissapearing when rotating the map
// fixed a bug causing game to not stop after exceeding the max turn no
// added the GP.gpDBGCompulsorySectionsForceAntetOn debug flag and its debug menu switch button
// re-checked, modified, optimized and streamlined conditions for all automatic/compulsory GP methods
// re-formatted console log entries for all automatic/compulsory GP methods
// updated notes_to_do

// => FoG(U) 701 revision
// changed GP.bgAlternativeBGSet() into GP.bgAlternativeBGShow()
// changed GP.bgAlternativeBGSetProperties() into GP.bgAlternativeBGSet()
// added GP.bgCheckCanFight() method
// added GP.bgEBGsBUIEnable() code preventing no combat-able units having their BUI activated
// replaced all EnemyBG and eBG instances with the shorter EBG
// replaced all FriendlyBG and eBG instances with the shorter FBG
// DAG.GenerateBattlegroups() made camps immobile
// GMonHex.OnMouseOver() added "has no adjacent enemy BGs" condition to BG rotation start code section's conditions
// added GP.CombatImpact(), GP.CombatMelee() and GP.CombatRanged() code to prevent no combat-able units having combat
// added GP.bgCheckIfLootable(), GP.bgHasAdjacentLootableEBG(), GP.bgGetAdjacentLootableEBG() and GP.bgGetAdjacentLootableEBGList() methods
// added GP.bgGetAdjacentActiveEBGList() and GP.bgGetActiveEBGAtPosition() "is combat-able" condition
// added GP.bgCheckIfSelectable() "is no camp BG" and "it is not engaged in a looting action" conditions for a BG to be selectable
// added GP.TestBIFCT() method and its associate Debug Menu switch button
// added GP.CompulsoryLoot() methods
// modified GP.bgSetOffGame() to account for camp BGs
// added Battlegroup's tLooting and bgFCmpBroken members, save/load them into/from game state's saved file
// added a_loot.png and its R class texture and material entries

// => FoG(U) 700 revision
// fixed loading of DAG games
// updated multiplayer protocol with latest changes
// fixed MiscData reading for challenges

// => FoG(U) 699 revision
// integrated chat for mulptiplayer games
// added saving and loading of chat element for multiplayer instances
// added missing parameters for PBEM2 protocol and removed debug code
// added LOS check for ranged combat
// fixed small issue in mainmenu

// => FoG(U) 698 revision
// added GP.bgAlternativeBGSwitch()
// done - changing to an alternate BG must also reset MP, shootingrange, etc
// done - GM BG loading must also load the saved aBG and set the BG to it (objects, etc)
// fixed a bug in GP.bgMoveUpdate() and GP.bgMoveUpdateDiscrete() causing tMovement to not be subtracted from the movement destination hex'es total movement cost
// added BG.bgCheckIfCamp() methods, and used through the code where needed
// removed MainMenu.utCheckFM() and replaced its usage with GP.bgCheckIfMounted() call
// added G.gdutCamp new BG troop type

// => FoG(U) 697 revision
// Multiplayer fixes and additions of missing parameters
// added ChatManager class with the following functionality:
// * chat window in which messages are shown and a field to send new
// * saving and loading to/from xml instance

// => FoG(U) 696 revision
// aBG tidying-up (3) removed BG class'es u (aU[]), objBGFigs (aObjBGFigs[]) and objFigs (aObjFigs[]) parameters and modified all usages accordingly (to either <array>[BG.aBG], <array>[0], <array>[1] or anything else needed)

// => FoG(U) 695 revision
// aBG tidying-up (2) removed BG class'es troopType (aTroopType[]) parameter and modified all usages accordingly (to either <array>[BG.aBG], <array>[0], <array>[1] or anything else needed)
// modified GP.bgCheckIfChariots(), GP.bgCheckIfArtillery(), GP.bgCheckCanPassThrough(), GP.bgCheckIfMounted(), GP.bgCheckIfLight() and GP.bgCheckIfSkirmishers() methods' requested parameter(s) from BG's troop type into BG

// => FoG(U) 694 revision
// aBG tidying-up (1) removed BG class'es folder (aFolder[]), imageId (aFormation[]), training (aTraining[]), armor (aArmor[]), rangedWeapon (aRangedWeapon[]), impactWeapon (aImpactWeapon[]), meleeWeapon (aMeleeWeapon[]) and experience (aExperience[]) parameters and modified all usages accordingly (to either <array>[BG.aBG], <array>[0], <array>[1] or anything else needed)

// => FoG(U) 693 revision
// rearranged BGEditor fields
// fixed loading of fields in BGEditor
// GM: added error handling code for loading of saved games

// => FoG(U) 691, 692 revisions
// fixed loading of singleplayer games
// endturn in a multiplayer game returns now to game in progress list
// MiniMap with map rotation:
// * fixed minimap texture
// * fixed minimap battlegroup texture
// * fixed view rectangle on minimap
// * fixed camera moving on minimap
// fixed displaying of camps on map rotation
// moved bg editing functionality to BGEditor class to be reused in editor and game

// => FoG(U) 690 revision
// modified GP.CombatPOACompute() impact combat rear charge to charge in the rear requirement for the +2 charge in the rear POA
// added the new notes_todo.cs and moved all GP and big TO DOs in it
// deactivated map mouse movement for non-beta builds (development)
// cleaned up, streamlined and optimized BGUI.Update()
// added BG indexes in SBG and MOBG info panels
// modified GP.CombatRanged() by adding the outside FA condition for turning towards EBG
// changed hex mark from RMB + RLAT to RMB + N
// changed cohesion drop control from RMB + R to RMB + RCTRL
// added cohesion rise control RMB + LCTRL
// changed map turning from T to R
// changed BG evade behavior change from LALT + RMB to Z + RMB
// cleaned up, streamlined and optimized GMonHex.OnMouseOver() method
// added notes.cs method method marks conventions section
// modified all methods' marks
// revised all WIP (developer) marks
// fixed StatusBar.textGM3 not being initialized before starting the free deployment phase
// added DebugConsole.LogError(), DebugConsole.LogDebug() and DebugConsole.LogSys method overloads improper usage ERRH code
// DAG games would display now general formations for leader BG, instead normal formations as before
// added GP.gpDBGMAreaShowFAMarks and GP.gpDBGMPathShowMarks flags
// added DebugMenu, Miscellaneous tab MArea show FA marks, and MPath show marks swhitches
// added GP.bgAlternativeBGSetProperties() and GP.bgAlternativeBGSet() methods and modified the code accordingly
// added alternate BG code
// added BG dismount to X + RMB (shortcut)
// added FoGBuild.cs and build automations

// => FoG(U) 689 revision
// fixed a GP.bgGetWeaponsNames() problem causing melee weapons name not being displayed in the SBG/MOBG info panels when BG's melee weapon had the same id as BG's impact weapon (La/Sw, IFT/Sw+)
// modified GP.CombatDiceNoCompute() by moving the computation of supporting number of dice modifier after applying the cohesion and strength modifiers to the base dice no
// fixed a condition problem in GP.CombatDiceNoCompute() causing LF to fight with 2 dice base number against other not fragmented LF or against fragmented noLF in impact combat
// fixed a condition problem in GP.CombatDiceNoCompute() causing LH to fight with 2 dice base number against other not fragmented skirmishers or against fragmented non-skirmishers in impact combat
// StatusBar.Draw() removed new rectangles as the method is called in other classes OnGUI() methods
// removed all old deprecated WIP map rotation code (moved E.mapRotate() to the Deprecated.cs)
// added new S.Update() map rotation code
// modified E.hexSetTerrainType(), GP.bgBGsUIUpdate() and S.bgUpdateRotation()'s inside-called methods (E.hexGetMatIndexHillSided(), E.hexGetMatIndexLinkedNoTerrainSpecial() and R.figureTextureFacingToOffset() ) to account for S.mapRotated flag
// modified S.Update() map arrow and mouse movement code sections to account for the S.mapRotated flag
// modified S.Update() BG rotation middle code section's called methods (S.bgAngleToFacing() ) to account for the S.mapRotated flag (
// modified GMMessage.Update() to account for the S.mapRotated flag

// => FoG(U) 688 revision
// FoGInit.Awake() fix for System.IO.File.Delete IOException: Sharing violation on path

// => FoG(U) 687 revision
// changed CustomArmies folder's name into SavedArmies
// changed GameplayLogs folder's name into SavedGameplayLogs
// added G class datapaths and used them through all the code
// modified Multiplayer.GenerateMiscData, passing two DAGArmyInfo parameters and saving army name and army book into MiscData
// modified DAG.GetDAGChallengeName() and also added another overload using GameInProgress as parameter, displaying DAG army nation's name and book by parsing them from the MiscData
// FoGInit.Awake() added code to delete the test.txt file if successfully created

// => FoG(U) 686 revision
// added gmWeaponRangedTypesInit() table's rear rank support data
// added Gp.bgGetWeaponsNames() support raged combat weapons info (used in selected and mouse-over BG info panels)
// selected BG can now be displayed into mouse-over BG info panel too
// added GP.CombatDiceNoCompute() ranged combat code BGs with rear rank support section
// fixed a problem in DAG.GenerateBattlegroups() resulting in all BG's having their evade behavior set on auto
// increased S.offsetOutOfMap from 3f to 10f
// fixed a problem in GP.bgMoveUpdate(), a GP.bgMAreaReset() call before calling GP.bgMPathCostCompute() was resetting all MArea inFA info
// re-written GP.bgCheckIfHexInFA() method's code (optimization and streamlining)
// changed GM.fGMPanelDBG0,GM.fGMPanelDBG1,GM.fGMPanelDBG2 and GM.fGMPanelDBG3 into GM.fGMPanelDBG1,GM.fGMPanelDBG2,GM.fGMPanelDBG3 and GM.fGMPanelDBG4
// added a new overload to GP.bgCheckIfHexInFA() method
// added GP.bgCheckIfHexInStartFA() method and modified the GP.bgCheckIfHexInOriginalFA() to use it
// modified GP.bgGetEnemyBGImpactList() to prevent charging of EBGs outside BG's turn phase start FA, unless the charged EBG is neighbor with BG's FA, and the charged hex doesn't have any insideFA EBG neighbors
// [WIP] added S.Update camera rotation code and control key

// => FoG(U) 685 revision
// switched BG alternative BG info loading/saving from <member> and <member>2 to <member>[0] and <member>[1], and initializzed the <member> with <member>[aBG] (default aBG = 0)

// => FoG(U) 684 revision
// corrected gmWeaponRangedTypesInit() table's data
// added DAG.dagdShortNamesOn flag and its Debug Menu switch button
// merged DAG impact and melee weapons if they are the same (as with the selected/mouse-over BG info panel), and added (i) and (m) indicators when needed
// GP.CombatDiceNoCompute() fixed supporting missile armed MF/LF code
// unified DAG.PopulateDAGStrings() and DAG.PopulateDAGStrings2() methods
// unified G.gdXXNames and G.gdXXSNames
// DAG.OnDAGNewArmy() alternative BG code optimizations
// added Battlegroup class alternative aBG and BGs array members


v1.8.10.683 (bRC4) (2012.12.25)
===============================
fourth beta release candidate

// => FoG(U) 683 revision
// added GP.TestCHT() code to remember a charge CHT's dice and use them when needed
// fixed a problem in GP.CombatOutcome() with strength losses percent being displayed in the log 100 times smaller
// removed GP.CombatImpact() code treating rear charges cohesion drop as impact cohesion drop
// removed Gp.CombatDiceNoCompute() impact combat code requiring no adjacent active EBG to allow ranged support
// fixed a problem in GM.Awake() causing loaded off-game BGs to still be rendered
// added GP.bgHide(), GP.bgBGsUIUpdate() and GP.bgeBGsBUIDisable() null BG parameter error handling code
// changed MP DAG game's base name from "Digital Army Generator Game" into "DAG Game"

// => FoG(U) 682 revision
// fixed JSON parsing for objects in strings
// added multiplayer helper method GenerateMiscData() for easy generation of miscData string
// removed backslashes from miscData strings
// recoded multiplayer DAG sequence, now allowing selection of map for player with initiative
// converted all the instance string from UTF8 to ASCII to fix errors related to bad CRC32

// => FoG(U) 681 revision
// added a BGUI fix for checking if the selected BG has a valid MPath before trying to call impact combat prediction
// added a R.SaveGameState() fix for trying to save a Battlegroup.mRowStart and Battlegroup.mColStart from a null Battlegroup.hStart

// => FoG(U) 679,680 accidental & reverting revisions

// => FoG(U) 678 revision
// added FoGHelp FoG wiki and wikipedia pages, and changed pages order
// added GP.bgCheckIfInRearArea() new code
// renamed GP.bgCheckCanShoot() into GP.bgCheckIfInLOS()
// added Battlegroup.hStart, Battlegroup.mRowStart and Battlegroup.mColStart members, save/load them into/from game state's saved file
// changed G.gdwiImpactWeapon's name into G.gdwiImpactFoot
// changed console log's name console.log -> console.txt -> console_log.txt
// added betainfo.html info and fog_awwiki.html help pages
// added GP.CombatImpact()'s rear charge cohesion drop stored as combat impact cohesion drop
// BGUI.Update() recompute impact combat prediction when LALT modifier is changed

// => FoG(U) 677 revision
// fixed bgCheckIfInRearArea() accounting for displacement of columns on odd rows
// added bgCheckCanShoot() to check if a ranged battlegroup has a clear shot to its target

// => FoG(U) 676 revision
// added GP.ChargeOutcome() and GP.CombatImpact() charging BG's start hex parameter
// added GP.CombatImpact() rear charge's cohesion drop rules
// fixed a problem in GP.CombatPOACompute() using attacker's starting hex instead of the charge hex
// added GP.bgCheckIfRearCharge() method
// modified GP.CombatDiceNoCompute() to account for not possible combat impact ranged support

// => FoG(U) 673-675 revisions
// check version on startup
// send clientversion on issue challenge
// altered map list to handle the new MP map pack
// ReturnMapsListWithSpecificFilter() now handles filtering for MP maps
// fixed issues with reset of filters for editor
// added map filter MP criteria for editor
// altered initialization sequence of MP DAG
// DAG games will now use the MP maps
// added error handling for loading of multiplayer games

// => FoG(U) 672 revision
// added notes.cs ...BUILD SETTINGS region
// detailed combat info panel and minimap are now default off
// added some GP.TestCHT() and GP.RoutPursuit() gameplay rules texts
// removed DebugFoG dbgverbose flags, using directly the now public DebugConsole verbose flags
// more work on DebugConsole (modified the text's scroll view to have only vertical scrollbar, modified line text style's to remove the empty inter-line spaces)
// added more Debug Menu switch buttons
// added S.sdBGRotationSticky, it's GMonHex code and DebugMenu swtich button

// => FoG(U) 671 revision
// DebugConsole:
// * added limit to messages to prevent high cpu usage
// * added flags to toggle prefix and timestamp for log messages
// * added resize code for bottom left corner of the window
// GaMe - fixed issues for multiplayer games with saving and generation of game files
// MainMenu - added error window for wrong version string from server and old version of the client

// => FoG(U) 670 revision
// modified GP.TestCHT() leader influence POA's wording to reflect that impact and melee CHTs needs the leader BG to be adjacent
// fixed a bug in GP.CombatOutcome() which made BGs take a ranged combat CHT even if they've received less than 2 hits
// added proper GP.CombatPOACompute() rear charge POA code
// added FoGFame.fNewMPTurnPhase member, used it into R.SaveGameState() and R.loadGameStateValues(), also in R.generateIssueChallengeFile(), R.generateDAGChallengeFile()
// used g.fNewMPTurnPhase in GM.OnGUI() End Turn button and Save game button code and in GP.gmTurnPhaseInit() to flag a new MP Turn Phase being needed

// => FoG(U) 665-669 revisions
// proper fix for multiplayer DAG games crash
// added FoGHelp class to integrate uWebKit view for displaying help pages
// FoGInit: added fog help gameobject to load FoGHelp class
// DAG: reset menu states for multiplayer new DAG army
// FoGHelp: added buttons for console and output log
// FoGHelp: added resizing control
// FoGHelp: redone placement for UI, added button to enable/disable in DebugFoG
// FoGHelp: added option to disable navigation
// FoGHelp: fixed loading of console log


v1.8.10.664 (bRC3) (2012.12.19)
-------------------------------
third beta release candidate

// => FoG(U) 661-664 revisions
// modified DAG.ReturnNumberOfBodyguardsOrMin() into DAG.ReturnNumberOfBodyguards()
// added DAG.SetDefaultBodyguard(), fixing the default commander's bodyguard not being added to its unit type's BGs no if the initial no was 0
// modified DAG.SetBodyguard() adding code to prevent increasing the associated unit type's BGs no (DAGUnit.and = 1), and skipping that bodyguard unit type if it has 0 units
// added a (c) at the end of a DAG commander unit type
// DAG.OnDAGNewArmy() disabled SAVE button if the remaining army points are less then 0
// modified GP.TestCHT() to account for adjacent leaders if an impact/melee CHT, and removed the "+1 if the BG is adjacent with a friendly leader BG" bonus
// modified GP.bgGetSupportingFriendlyBGList() to account for FBGs adjacent to the current EBG
// modified GP.CombatPOACompute to account for pBG2's terrain cohesion when checking if pBG2 is steady
// Multiplayer added _FOG_BETA check for PBEM2 Test server switch
// fixed a bug in GP.bgGetSupportingFriendlyBGList() allowing a BG to account as support for itself
// bRC3

// => FoG(U) 660 revision
// quick fix for multiplayer DAG games crash
// FoGInit - added checks for existence of directories
// MainMenu - merged protocol button with server select button
// Multiplayer - added version checking for PBEM protocol
// R::LoadVersionFile() now parses version sections to integers

// => FoG(U) 659 revision
// removed Battlegroup.tCohesion member
// fixed a GP.CombatTCohesionCompute() bug (method was using BG.tcohesion instead BG.terraincohesion for calculations)
// fixed a GP.CombatPrediction() bug (tmpSPOABG1.Count wrongly used for tmpSPOABG2 and tmpSPOABG2RS string lists CombatPredictionInfoDContent building)
// added a_breakoff.png and its R class texture and material entries
// added Battlegroup.tBreakOff member, save/load it into/from game state's saved file
// added GP.bgMoveUpdate() BG tPursuit and tBreakOff clearance
// fixed a problem with GP.bgDeselectUpdate() which wasn't clearing up everything (a leader BGs AOC for example, after a leader BG was moved during the compulsory rounds)
// fixed a GP.TestCHT() and GP.CombatPOACompute() treating impact foot as any foot carrying an impact weapon, instead foot having an Impact Weapon impact weapon type
// done - check BG's terrain cohesion parameter after an impact/melee combat, seems ok
// done - check GP.bgGetTerrainCohesion() table, seems ok
// done - remove I key effect (MM debug) (added FOG_BETA precompile directive)
// added Multiplayer.useFoGServer() method, and modified Multiplayer.useLiveServer() and Multiplayer.useTestServer() methods to use it
// fixed a DAG problem with the game perceiving the minimum numbers of BGs of a unit groups header unit as that header's unit own minimum number of BGs
// added DAG code to allow transferring BGs from one brother to another when the unit group's BG no is at minimum

// => FoG(U) 658 revision
// added notes_beta_reports.cs
// changed GP.TestCHT()'s needed score to be passed from 8 to 7 (manual is wrong)
// added S.Update() mouse camera view movement
// modified S.Update() map zoom and map movement code (added frustum calculations)
// changed old GM.OnGUI()'s combat prediction info helper into detailed combat prediction panel
// added GM.OnGUI() combat prediction panel
// added DebugFoG.dbgMiscTab() switches for mini map, detailed combat info panel, DBG1, DBG2 and DBG3 panels and S.sdBGPlacementSticky option
// added _FOG_BETA precompile directive
// added Battlegroup.tHadCharge member, save/load it into/from game state's saved file
// modified GP.bgCheckIfSelectable() to check for Battlegroup.tHadCharge too
// modified GP.AutoCombat() to check for GP.bgCheckIfSelectable() instead for GP.bgCheckIfHadCombat() (to prevent charging groups ending up with no combat still do auto-combat)

// => FoG(U) 657 revision
// removed quick save button from multiplayer games
// save button for multiplyer games will now upload the changes to the instance
// fixed issue challenge for scenarios and DAG with parameters not set correctly
// fixed display issues for mp games for PBEM2


v1.8.10.656 (bRC2) (2012.12.15)
-------------------------------
second beta release candidate


v1.8.10.650 (bRC1) (2012.12.11)
-------------------------------
first beta release candidate

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Wed Mar 13, 2013 2:24 pm

26 Jan 2013 23:28
updated up to revision 701

03 Feb 2013 21:22
updated to revision 709

25 Feb 2013 09:41
updated to revision 733

13 Mar 2013 14:24
updated to revision 736

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Tue Mar 19, 2013 6:58 pm

updated to revision 740

the GPM (GamePlay Manager) is done and working in this revision. there are a few things of it left to be ironed out (some special cases of evade-pursuit combinations and a few MPath bugs), and then bRC5 will be ready.

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Wed Apr 03, 2013 6:24 pm

updated to revision 769

bRC5 is practically ready for deployment :)

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Fri Apr 05, 2013 8:30 pm

updated to revision 772 bRC5

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Thu Apr 18, 2013 12:15 am

updated to revision 790 bRC6

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Thu Apr 18, 2013 1:20 am

updated to revision 793 bRC6u01

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Mon Apr 22, 2013 1:13 am

updated to revision 797 bRC6u02

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Fri May 03, 2013 6:58 pm

updated to revision 818 bRC6u03

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Thu May 09, 2013 4:10 pm

updated to revision 824 bRC6u04

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Mon Nov 11, 2013 11:51 pm

updated to revision 927 bRC8

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Wed Nov 20, 2013 9:13 pm

updated to revision 934 bRC8u01

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Mon Jan 19, 2015 6:17 am

updated to revision 975 GC1d

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Fri Feb 27, 2015 12:08 am

v2.0.02.986 (GC2a) (2015.02.27)
========================================
second gold candidate 1st update

=> build v2.0.02.986 (GC2a) (2015.02.27)

=> FoG(U) 986 revision
- MainMenu modified the GIPSetupEnd() and DataLoadMPGameLoad() adding precompile directives for the FoGDebugPanel method calls
- Side added the new fileType member
- modified the MainMenu.DataLoadMPGameNewDAG(); Challenge.MiscDataParse(), .MiscDataGenerate() and .MiscDataGenerateGIP() and GameInProgress.MiscDataParse() and .MiscDataGenerate() methods adding code for the newly added Side.fileType member
- MainMenu modified the GIPSetupEnd() method removing all G.selectedDAGEArmy and G.selectedMap references
- G renamed the old multDAGShowArmy into the new ShowArmies member and added it into the PrefsUserGameVariablesSave() and PrefsUserGameVariablesLoad() methods
- P modified the dagMapTitleRect's init value (wider)
- MainMenu modified the DataLoadMPGameLoad() method to not allow a replay to be started for a MP game's first turn first phase (ie to not replay second free deployment phase neither)

=> FoG(U) 985 revision
- added the v2.0.02.984_GC2 tag

v2.0.02.984 (GC2) (2015.02.26)
========================================
second gold candidate

=> build v2.0.02.984 (GC2) (2015.02.26)

=> FoG(U) 984 revisions
+ Unity engine update to v4.6.3f1
- increased tertiary subversion from 01 to 02 (due to the addition of the new MP DAG gameflow code)
+ GP modified the CombatImpact() method to have a fragmented BG charged by other than light foot enemy BG and passing the CHT also be tested for the rear charge situation
- removed the obsolete MP error codes code (G.fileMPErrorCodes member and the mp_error_codes.txt file)
- G added the new gphefCharge member
- G modified the bgMAreaCompute() method charge code section to mark charge hexes as gphefCharge
- modified the bgMAreaCompute() method charge code section adding a new rule preveting BGs charge using a non FA path
- GP modified the bgMAreaShow() method show FA marks debug section making it display for light BG's too
- FoGDebugPanel modified OnGUI_BG() and OnGUI_Hex() methods adding checks for in-game application's state
- MainMenu modified the onIssueDAGChallengeGUI() method to fix a crash occurring when selecting an enemy DAG army list without selecting the friendly DAG army list first
- MainMenu modified the OnNewDAGGame() method to fix a problem preventing selected DAG army list description to be displayed
- aded a new info.bytes file containing the WFS and OFE's serial hashes
- G modified the PrefsUserLoad() method removing WFS, OFE and OFL addon books' force-purchased injection for _FOG_DEV and _FOG_BETA
- G modified the PrefsUserLoad() method to account for OFL addon book using OFE addon book's serial for activation
- MainMenu modified the appAuthUpdate() method updating the FoG(U) version string build code to account for the force-purchased addons
- R modified the GameStateFileDataGenerate() method altering BGs state saving to be made in nation's order (rather than in BGs index order)
+ regularized all GUI.Begin/GUI.End pairs
- MainMenu modified the OnCurrentGameGUI(), OnListMyTurnGUI(), OnListOpponentTurnGUI() and OnListEndedGamesGUI() correcting GUI.Begin/GUI.End pairs problem
+ regularized all [DUPLICATE] entries
+ MainMenu further modified, streamlined and optimized the OnNewDAGGame() method
- MainMenu added the buttonGameStartPressed member
- ListMapInfo added the new sortDensity member, the new ComparerMIDensity class and modified the Sort() method to account for it
- ListMapInfo added the new filterDensity and filterDAGDensity members and modified the Filter() and FilterValuesGet() methods to account for them
- MainMenu modified the FilterContentInit() and FilterContentToFilterMap() methods to account for ListMapInfo's new filterDensity and filterDAGDensity members
+ MainMenu further modified, streamlined and optimized the DrawMapsWithFiltersAndSort() method
- MainMenu modified the DrawMapsWithFiltersAndSort() method to display map's density instead map's version as map list's last column
- G added the new EnumDefaultGet() method
- added the new EnumExtensions class
- NumericExtensions added the new ToEnum() overload methods and the new ToEnumDefaultLast() method
- added the new StringExtensions class
- added the new DBG_Enum enum
- InitCheck added the new DBG_Test() method
+ replaced all old IntToEnum and StringToEnum methods with the new NumericExtensions.ToEnum<>() and StringExtensions.ToEnum<>() methods
- DebugConsole added the new ClearLogFile() method
- G added the new def_NewGameLogFileClear member and its DebugFoG button switch code
+ GPM further modified, streamlined and optimized the GPMMoveUpdate() method modifying the GP.bgMAreaCompute() calls (to account for pursuing BGs MArea compute ignoring movement costs and enemy BGs ZOCs) and the movement code section (to account for pursuing BGs forced computed MArea)
- MainMenu modified DrawScenariosWithFiltersAndSort(), DrawMapsWithFiltersAndSort(), DrawArmiesWithFiltersAndSort(), DrawDAGArmiesWithFiltersAndSort(), DrawBooks(), DrawDAGArmyListEnemy() methods adding a background box underneath the list
+ asset lists re-loading optimization (official assets lists are now read and initialized only once at apps start)
- ListScenarioInfo added the new LoadOfficial() and LoadCustom() methods
- ListMapInfo added the new LoadOfficial() and LoadCustom() methods
- ListArmyListInfo added the new LoadOfficial() and LoadCustom() methods
- ListDAGArmyListInfo added the new LoadOfficial() method
- MainMenu added the new listScenariosOFFICIAL, listScenariosCUSTOM, listMapsOFFICIAL, listMapsCUSTOM, listArmiesOFFICIAL and listArmiesCUSTOM members
- DAG added the new listDAGArmiesOFFICIAL and listDAGArmiesCUSTOM members
- MainMenu further modified, streamlined and optimized the initAssetsListsAsync(), initAssetsLists() and appAuthUpdate() methods adding re-loading code optimizations
- FoGDebugPanel modified the OnGUI_FilePackBrowser() method passing the input and output folders as referenced params (to fix a problem with the new input folder set value not being retained)
+ FoGDebugPanel modified the OnGUI_FilePackBrowser() method to fix a problem appearing in lazy file pack data files data reading
- FilePackList added the new paths member
- FilePack modified the _FolderRead_T() to initialize the new FilePackList.paths member
- FilePack modified the _FilePackRead_T() method to use the new FilePackList.paths member instead of the old FilePack.filePackPaths member
+ FoGDebugPanel added the FoGGame list code
- added the new _dbgpFoGGameList, dbgpFoGGameList, _dbgpFoGGameNameList and dbgpFoGGameNameList members
- further further modified, streamlined and optimized the OnGUI() and the OnGUI_FoGGame() methods to use and manage the newly added members
+ MP DAG gameflow:
- Multiplayer modified the OnListGamesGUI() method enabling the Accept challenge button only for the purchased addon books challenges when the Multiplayer.def_ChallengeAcceptAllBooksAllow is false
- G modified the sDAGBookType member adding a get method computing DAG.sDAGBookID value, and removed all sDAGBookType other initializations
- G modified the sDAGEArmyType member adding a get method computing DAG.sDAGArmyEnemyIndex value, and removed all sDAGEArmyType other initializations
- MainMenu modified the OnListGamesGUI() accept challenge's GUI.enabled code check to prevent DAG book out of range index related crashes
- R added the new DATA_DAGArmyListLoad_v101() method
- Multiplayer added a new InitiativeCompute() method overload
- Multiplayer renamed the old url_list_challenges, url_list_games, url_issue_challenge, url_cancel_challenge, url_check_password, url_accept_challenge, url_download_instance, url_upload_instance, url_upload_challenge, url_marked_viewed, url_download_challenge, url_leave_challenge into the new url_challenges_list_get, url_instances_list_get, url_challenge_issue, url_challenge_cancel, url_challenge_password_check, url_challenge_accept, url_instance_download, url_instance_upload, url_instance_cache_upload, url_instance_marked_viewed, url_game_cache_download, url_game_leave
- Multiplayer renamed the old SS_PasswordCheck() method into the new SS_ChallengePasswordCheck() method
- Multiplayer modified all MP game data type defines
- Multiplayer modified the SS_ChallengeAccept() method adding a new zip file pack parameter (cache file pack)
- Multiplayer modified the SS_ChallengeIssue() method removing the MP games caching code section (as it is taken care of in previous DataLoadMPGameNewScenario() / DataLoadMPGameNewDAG() call)
- WIP - Multiplayer modified the SS_InstanceDownload() method MP games caching code section
- Multiplayer added the new MPCommState enum
+ Multiplayer replaced old communication OK and communication Error bool members with communication state new members
- GM modified uploadingMPGame member adding a get on Multiplayer.stateInstanceUpload member
- Multiplayer added the new SS_ChallengeCacheDownload() method
- Multiplayer renamed the old OnSelectDAGArmyGUI() method into the new OnSelectDAGEArmyGUI() method
- MainMenu further modified, streamlined and optimized the AcceptChallenge(), OnSelectDAGEArmyGUI() and OnSelectDAGMapGUI() methods
- Multiplayer added the new MPChallengeAcceptSetupType enum
- Multiplayer added the new def_ChallengeAcceptSetupType member
+ MainMenu further modified, streamlined and optimized the onIssueDAGChallengeGUI() method
- MainMenu added the new GIPSetupArmy(), GIPSetupMap() and GIPSetupEnd() methods
+ modified the whole data flow setup for accepting a MP game from the challenge accept time to the play time depending on the Multiplayer.def_ChallengeAcceptSetupType flag's value
- G added the new gdDAGMapSTypeAny, gdDAGMapSTypeRandom, gdDAGMapSTypeChosen and sDAGMapType members
- DAG added the new sDAGMapIndex, sDAGMapIndexPrev, listDAGMapsBase member, listDAGMaps and sDAGMap members
- MainMenu added the new MapsListCompute() method
- G removed the old obsolete MapChosen member
- Challenge added the new fDAGMapType member replacing the old fMapChosen member and its usage
- GameInProgress added the new fDAGMapType member replacing the old fMapChosen member and its usage
- DebugFoG added the new debug initiative compute dbgIT member, its contentIT member and the additional button switch code
- DebugFoG added GP.def_DAGMapListFull, GP.def_DAGMapScenarioUse, Multiplayer.def_ChallengeAcceptSetupType, Multiplayer.def_ChallengeAcceptAllBooksAllow, Multiplayer.def_DAGMapListFull and Multiplayer.def_DAGMapScenarioUse button switch code
- GM further modified, streamlined and optimized the DAGScenarioInit() method
- MainMenu further modified, streamlined and optimized the DataLoadSPGameNewDAG() method
- DAGArmyListInfo and MapInfo added the new fileData member
- Multiplayer added Challenge miscData sides file info
- Multiplayer added GameInProgress miscData sides file info
- R split the old ScenarioLoad() method into two new ScenarioLoad() overload methods
- R split the old MapLoad() method into two new MapLoad() overload methods
- R split the old ArmyListLoad() method into two new ArmyListLoad() overload methods
- DAG split the old DAGE_DAGArmyTemplateLoad() method into two new DAGE_DAGArmyTemplateLoad() overload methods
- DAG split the old DAGE_DAGArmyListLoad() method into two new DAGE_DAGArmyListLoad() overload methods
- DAG split the old DAGArmyTemplateLoad() method into two new DAGArmyTemplateLoad() overload methods
- DAG split the old DAGArmyListLoad() method into two new DAGArmyListLoad() overload methods
- DAG added a new DAGArmyInit() method overload
- P removed the obsolete mapDAGFilter0Content member
- MainMenu removed obsolete method FilterContentToFilterMapDAG()
- Multiplayer added the new stateListDownloading, stateDataDownloading and stateDataUploading members
- MainMenu further modified, streamlined and optimized the OnListMyTurnGUI(), OnListOpponentTurnGUI(), OnListEndedGamesGUI(), OnIssueChallengeGUI() and OnListGamesGUI() methods to check the new Multiplayer.stateListDownloading, Multiplayer.stateDataDownloading and Multiplayer.stateDataUploading members and by adding lists download retry code sections
- Multiplayer further modified, streamlined and optimized the SS_InstanceDownload(), SS_ChallengeCacheDownload() and SS_InstanceCacheDownload() methods adding try/catch code
- GameInProgress added a new MiscDataGenerate() overload
- Multiplayer added the new def_MiscDataEncoded and def_MiscDataCoded members
- Multiplayer modified the ChallengeListDataParse(), SS_ChallengeIssue(), SS_ChallengeIssueGMMessage(), SS_ChallengeAccept(), GameInProgressListDataParse() and SS_InstanceUpload() methods to account for the new def_MiscDataEncoded member
- modified the Multiplayer.ChallengeIssueGMMessageMiscDataGenerate(); Challenge.MiscDataParse(), .MiscDataGenerate() and .MiscDataGenerateGIP() and GameInProgress.MiscDataParse and .MiscDataGenerate() to account for the new Multiplayer.def_MiscDataCoded member
- R marked the obsolete fileChallengeScenarioGenerate(), fileChallengeDAGGenerate(), GenerateMPInstanceFiles(), LoadSecondArmy() and UploadInstance() methods as so and removed all code calls
- re-enabled MP DAG challenge accepting for beta build

=> FoG(U) 979-983 revisions
- added the v2.0.01.976_GC1d tag
- added the v2.0.01.978_GC1e tag
- integrated the v2.0.00.967_GC2 branch back into the trunk

cothyso
NewRoSoft
NewRoSoft
Posts: 1213
Joined: Tue Sep 13, 2005 7:32 pm

Re: [NFO] Version History

Post by cothyso » Fri May 08, 2015 7:22 pm

v2.0.04.991 (GC3b) (2015.05.08)
========================================
third gold candidate 2nd update

=> FoG(U) 991 revision
- increased tertiary subversion from 03 to 04 (due to the addition of the new SP and MP DAG game GUI)
- G modified the class adding new SP and MP DAG game detailed settings code
- added the new def_GUISPNewDAGGameComplexLayout and def_GUIMPNewDAGGameComplexLayout members
- added the new DAGMapScenarioUse, MapDensityPreferred, fAsymmetricalBalance, fPointsClass and fHandicap game flags members
- modified the PrefsUserGameVariablesSave(), PrefsUserGameVariablesLoad(), PrefsUserSettingsSave() and PrefsUserSettingsLoad() methods adding code for the newly added members
- added the new Handicap enum
- further modified, streamlined and optimized the PrefsUserGameVariablesLoad(), PrefsUserSettingsLoad(), PrefsUserSoundSettingsLoad(), PrefsUserLocalizationLoad() and PrefsUserLoad() methods by adding code checks before loading the player prefs keys
- further modified, streamlined and optimized the PrefsUsersGet() method
- further modified, streamlined and optimized the PrefsUserGet() method
- FoGGame added the new fAsymmetricalBalance, fPointsClass and fHandicap members
- FoGDebugPanel modified the OnGUI_FoGGame() method adding code for the new FoGGame class members
- P added the new rectDAGArmyDescriptionTabID member
- MainMenu class
- added the new def_GUIDAGSettingsLayoutNew, pointsClass, textDAGNewGameSPHelp and textDAGArmyDescriptionEmpty members
+ modified the OnNewDAGGame() method adding alternative layouts code
+ modified the onIssueDAGChallengeGUI() method adding alternative layouts code
- GP class
- added the new def_FastAutoCombat member
- modified the AutoCombat() method adding def_FastAutoCombat related code
- FoGAI modified the dbgmAI() method adding GP.def_FastAutoCombat related code
- DebugFog added Miscellaneous tab's AutomaticCombat Speed button

=> build v2.0.03.990 (GC3a) (2015.04.30)

=> FoG(U) 990 revision
- added the v2.0.03.989_GC3 tag

v2.0.03.989 (GC3) (2015.04.27)
========================================
third gold candidate

=> build v2.0.03.989 (GC3) (2015.04.27)

=> FoG(U) 988, 989 revisions
- increased tertiary subversion from 02 to 03 (due to the addition of the asset files new file formats and DAG preferred map density mechanics)
+ Unity engine update to v4.6.4f1
- GameInProgress modified the MiscDataParse() method for a GIP's description better "Current Player" info visibility
+ modified the SP/MP DAG game code adding the new preferred map density mechanics
- Side added the new mapDensity side's preferred map density member
- modified the Challenge.MiscDataParse(), .MiscDataGenerate() and .MiscDataGenerateGIP() and GameInProgress.MiscDataParse() and .MiscDataGenerate() methods adding code for the newly added Side.mapDensity member
- FoGDebugPanel modified the OnGUI_Side() method adding info for the new Side.type and Side.mapDensity members
- G added the new gdDAGMapDensitySTypeWeightedRandom, gdDAGMapDensitySTypeHighest, gdDAGMapDensitySTypeChosen and sDAGMapDensityType members
- Challenge added the new fDAGMapDensityType member and its usage
- GameInProgress added the new fDAGMapDensityType and mapDensity members and their usage
+ G modified the FloatToMAPDensity() method adding new tested map densities interval boundaries values
+ modified the code to remove assets lists cloning
+ MainMenu, DAG modified the base and used assets list initialization (from clones to copies of the master assets lists)
- MainMenu added the new listScenariosBase member
- MainMenu added the new initAssetListScenarios(), initAssetListMaps(), initAssetListArmies(), initAssetListDAGArmyTemplates(), initAssetListDAGArmies() and initAssetListGameSaves() assets lists initialization methods
- MainMenu modified the initAssetsListsAsync() and the initAssetsLists() methods to use the newly created assets lists initialization methods
- MainMenu removed the now obsolete initAssetsListsDictionaries() method
+ modified the code to use the newly created assets lists initialization methods when re-initializing the assets lists
- MiniMap modified the mapPreview's member set code fixing some potential minimap preview problems
- MainMenu further modified, streamlined and optimized the OnNewDAGGame(), onIssueDAGChallengeGUI() and OnSelectDAGMapGUI() methods
+ modified the code to allow separate DAG armies lists for the friendly and enemy DAG army selection windows
- DAG added the new listDAGEArmies member
- DAG modified the sDAGArmyEnemy member to use the new listDAGEArmies member
- modified the DrawDAGArmyListEnemy() calls to se the new DAG.listDAGEArmies member
- MainMenu modified the DrawDAGArmiesWithFiltersAndSort() method adding list recompute selected DAG armies re-selection code
+ R generalized the asset files formats code (identifying the asset file's format version, loading/saving/converting asset file's various format versions)
- Nation added the new nSNOID member
- FoGDebugPanel modified the OnGUI_Nation() method adding info for the new Nation.nSNOID member
+ R modified the scenario, army list and game save file formats to not have nation elements as side elements' children anymore
+ converted all the scenarios, army lists and game saves to the new formats
+ re-cooked the scenarios assets bundle
- G added the new fXmlUTFByteOrderMarkON member and modified the XmlWriterSettingsFoG() method to allow the removal of UTF encoding's Byte Order Mark prefix

=> FoG(U) 987 revision
- added the v2.0.02.986_GC2a tag

Locked

Return to “FoG PC Beta”