Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /***********************************************************************/
- /** © 2015 CD PROJEKT S.A. All rights reserved.
- /** THE WITCHER® is a trademark of CD PROJEKT S. A.
- /** The Witcher game is based on the prose of Andrzej Sapkowski.
- /***********************************************************************/
- class CR4MapMenu extends CR4MenuBase
- {
- private var m_shownArea : EAreaName;
- private var m_currentArea : EAreaName;
- private var m_fxRemoveUserMapPin : CScriptedFlashFunction;
- private var m_fxSetMapZooms : CScriptedFlashFunction;
- private var m_fxSetMapVisibilityBoundaries : CScriptedFlashFunction;
- private var m_fxSetMapScrollingBoundaries : CScriptedFlashFunction;
- private var m_fxSetMapSettings : CScriptedFlashFunction;
- private var m_fxReinitializeMap : CScriptedFlashFunction;
- private var m_fxEnableDebugMode : CScriptedFlashFunction;
- private var m_fxEnableUnlimitedZoom : CScriptedFlashFunction;
- private var m_fxEnableManualLod : CScriptedFlashFunction;
- private var m_fxShowBorders : CScriptedFlashFunction;
- private var m_fxSetDefaultPosition : CScriptedFlashFunction;
- private var m_fxShowToussaint : CScriptedFlashFunction;
- private var m_fxSetHighlightedMapPin : CScriptedFlashFunction;
- // ---=== VladimirHUD ===--- Lim3zer0 eNoodles
- private var m_fxUpdateMenuBackgroundImage : CScriptedFlashFunction;
- private var m_fxEnableCategoryPanel : CScriptedFlashFunction;
- private var m_fxSetWideScreen : CScriptedFlashFunction;
- // ---=== VladimirHUD ===---
- private var m_userPinNames : array< name >;
- var currentTag : name;
- event OnConfigUI()
- {
- var initData : W3MapInitData;
- var manager : CCommonMapManager;
- var waypointPinLimit, otherPinLimit : int;
- // ---=== VladimirHUD ===--- Lim3zer0 eNoodles
- var width, height : int;
- m_flashModule = GetMenuFlash();
- m_fxUpdateMenuBackgroundImage = m_flashModule.GetMemberFlashFunction( "updateMenuBackgroundImage" );
- m_fxEnableCategoryPanel = m_flashModule.GetMemberFlashFunction( "enableCategoryPanel" );
- m_fxSetWideScreen = m_flashModule.GetMemberFlashFunction( "setWideScreen" );
- theGame.GetCurrentViewportResolution( width, height );
- m_fxSetWideScreen.InvokeSelfOneArg( FlashArgBool( (float)width/(float)height >= 2.33 ) );
- // ---=== VladimirHUD ===---
- manager = theGame.GetCommonMapManager();
- if ( manager )
- {
- manager.GetUserPinNames( m_userPinNames );
- waypointPinLimit = 5;
- otherPinLimit = 10;
- manager.GetUserMapPinLimits( waypointPinLimit, otherPinLimit );
- }
- m_menuState = 'GlobalMap';
- initData = (W3MapInitData)GetMenuInitData();
- if ( initData )
- {
- if(ShouldProcessTutorial('TutorialFastTravelHighlight'))
- {
- if(initData.GetTriggeredExitEntity() || initData.GetUsedFastTravelEntity() || thePlayer.IsOnBoat())
- {
- GameplayFactsAdd("tutorial_fast_travel_open", 1, 1);
- }
- }
- }
- super.OnConfigUI();
- // ---=== VladimirHUD ===--- eNoodles
- //m_flashModule = GetMenuFlash();
- m_fxRemoveUserMapPin = m_flashModule.GetMemberFlashFunction( "RemoveUserMapPin" );
- m_fxSetMapZooms = m_flashModule.GetMemberFlashFunction( "SetMapZooms" );
- m_fxSetMapVisibilityBoundaries = m_flashModule.GetMemberFlashFunction( "SetMapVisibilityBoundaries" );
- m_fxSetMapScrollingBoundaries = m_flashModule.GetMemberFlashFunction( "SetMapScrollingBoundaries" );
- m_fxSetMapSettings = m_flashModule.GetMemberFlashFunction( "SetMapSettings" );
- m_fxReinitializeMap = m_flashModule.GetMemberFlashFunction( "ReinitializeMap" );
- m_fxEnableDebugMode = m_flashModule.GetMemberFlashFunction( "EnableDebugMode" );
- m_fxEnableUnlimitedZoom = m_flashModule.GetMemberFlashFunction( "EnableUnlimitedZoom" );
- m_fxEnableManualLod = m_flashModule.GetMemberFlashFunction( "EnableManualLod" );
- m_fxShowBorders = m_flashModule.GetMemberFlashFunction( "ShowBorders" );
- m_fxSetDefaultPosition = m_flashModule.GetMemberFlashFunction( "setDefaultMapPostion" );
- m_fxShowToussaint = m_flashModule.GetMemberFlashFunction( "ShowToussaint" );
- m_fxSetHighlightedMapPin = m_flashModule.GetMemberFlashFunction( "SetHighlightedMapPin" );
- Initialize();
- UpdateActiveAreas();
- SelectCurrentModule();
- UpdateCurrentQuestData( false );
- if (!((W3MenuInitData)GetMenuInitData()))
- {
- SetMenuState('GlobalMap');
- }
- m_fxShowToussaint.InvokeSelfOneArg( FlashArgBool( theGame.GetDLCManager().IsEP2Available() ) );
- UpdatePlayerLevel();
- }
- // ---=== VladimirHUD ===--- Lim3zer0 PaulScottt eNoodles
- event OnShowAnimComplete()
- {
- var width, height : int;
- theGame.GetCurrentViewportResolution( width, height );
- if ( (float)width/(float)height >= 2.33 )
- m_fxUpdateMenuBackgroundImage.InvokeSelfTwoArgs( FlashArgString( "img://icons/menubackground/21by9mappanel6.png" ), FlashArgInt(1) );
- else
- m_fxUpdateMenuBackgroundImage.InvokeSelfTwoArgs( FlashArgString( "img://icons/menubackground/mappanel6.png" ), FlashArgInt(1) );
- }
- event OnLegendUsed( show : bool )
- {
- m_fxEnableCategoryPanel.InvokeSelfOneArg( FlashArgBool( show ) );
- }
- // ---=== VladimirHUD ===---
- protected function GetSavedDataMenuName() : name
- {
- return m_menuState;
- }
- function Initialize()
- {
- var manager: CCommonMapManager;
- var worldPath : String;
- var currentJournalArea : int;
- var currentJournalAreaName : string;
- manager = theGame.GetCommonMapManager();
- worldPath = theGame.GetWorld().GetDepotPath();
- m_currentArea = manager.GetAreaFromWorldPath( worldPath );
- currentJournalArea = manager.GetCurrentJournalArea();
- currentJournalAreaName = AreaTypeToName( currentJournalArea );
- GetMenuFlashValueStorage().SetFlashString( "worldmap.global.universe.area", currentJournalAreaName );
- UpdateQuestAreas();
- SwitchToHubMap( currentJournalArea, true );
- }
- private function UpdatePlayerLevel()
- {
- var playerLevel : int;
- playerLevel = thePlayer.GetLevel();
- m_flashValueStorage.SetFlashInt( "worldmap.global.universe.playerLevel", playerLevel );
- }
- private function UpdateQuestAreas()
- {
- var manager: CWitcherJournalManager = theGame.GetJournalManager();
- var areasWithQuests : array< int >;
- var i : int;
- var flashObject : CScriptedFlashObject;
- var flashArray : CScriptedFlashArray;
- areasWithQuests = manager.GetJournalAreasWithQuests();
- flashArray = m_flashValueStorage.CreateTempFlashArray();
- for ( i = 0; i < areasWithQuests.Size(); i += 1 )
- {
- flashObject = m_flashValueStorage.CreateTempFlashObject();
- flashObject.SetMemberFlashString( "area", AreaTypeToName( areasWithQuests[ i ] ) );
- flashArray.PushBackFlashObject( flashObject );
- }
- m_flashValueStorage.SetFlashArray( "worldmap.global.universe.questareas", flashArray );
- }
- public function SetMenuState(newState : name) : void
- {
- SaveStateData();
- super.SetMenuState(newState);
- LogChannel('MAP_STATE',"state "+newState);
- GetSavedData();
- currentTag = UISavedData.selectedTag;
- SelectCurrentModule();
- UpdateInputFeedback();
- }
- private function UpdateInputFeedback():void
- {
- m_defaultInputBindings.Clear();
- super.SetButtons();
- }
- protected function SetMapTitle(mapTitle:string):void
- {
- GetMenuFlashValueStorage().SetFlashString( "map.name.set", mapTitle );
- }
- protected function SetCurrentAreaId(areaId:EAreaName, onStartup : bool):void
- {
- var manager : CCommonMapManager = theGame.GetCommonMapManager();
- GetMenuFlashValueStorage().SetFlashInt( "map.current.area.id", areaId );
- if ( onStartup )
- {
- GetMenuFlashValueStorage().SetFlashString( "map.current.area.name", manager.GetMapName( areaId ) );
- }
- }
- event OnDebugEvent( id : int )
- {
- LogChannel( 'MapTimer', "Flash " + id );
- }
- function UpdateData( optional ignoreSelectionChange : bool )
- {
- var l_flashArray : CScriptedFlashArray;
- LogChannel( 'MapTimer', "UpdateData START" );
- UpdateDisabledMapPins();
- LogChannel( 'MapTimer', "UpdateData MIDDLE1" );
- l_flashArray = GetMenuFlashValueStorage().CreateTempFlashArray();
- UpdateEntityPins( l_flashArray );
- if ( IsCurrentAreaShown() )
- {
- UpdatePlayerPin( l_flashArray );
- }
- UpdateUserMapPins( l_flashArray, -1 );
- LogChannel( 'MapTimer', "UpdateData MIDDLE2" );
- if (!ignoreSelectionChange)
- {
- GetMenuFlashValueStorage().SetFlashArray( "worldmap.global.pins.static", l_flashArray );
- }
- else
- {
- GetMenuFlashValueStorage().SetFlashArray( "worldmap.global.pins.static.update", l_flashArray );
- }
- LogChannel( 'MapTimer', "UpdateData END" );
- }
- event OnTickEvent( delta : int )
- {
- LogChannel( 'VHUD', "OnTickEvent: " + delta );
- }
- private function UpdateDisabledMapPins()
- {
- var l_flashArray : CScriptedFlashArray;
- var l_flashObject : CScriptedFlashObject;
- var commonMapManager : CCommonMapManager = theGame.GetCommonMapManager();
- var i : int;
- var disabledPins : array< string >;
- disabledPins = commonMapManager.GetDisabledMapPins();
- l_flashArray = GetMenuFlashValueStorage().CreateTempFlashArray();
- for ( i = 0; i < disabledPins.Size(); i += 1)
- {
- l_flashObject = GetMenuFlashValueStorage().CreateTempFlashObject();
- l_flashObject.SetMemberFlashString( "pinType", disabledPins[ i ] );
- l_flashArray.PushBackFlashObject(l_flashObject);
- }
- GetMenuFlashValueStorage().SetFlashArray( "worldmap.global.pins.disabled", l_flashArray );
- }
- public function UpdateCurrentQuestData( onHighlight : bool ) : void // -= WMK:modAQOOM - VladimirHUD =-
- {
- var flashQuest : CScriptedFlashObject;
- var flashObjective : CScriptedFlashObject;
- var flashArray : CScriptedFlashArray;
- var currentQuest : CJournalQuest;
- var highlightedObjective : CJournalQuestObjective;
- var objectives : array< SJournalQuestObjectiveData >;
- var i : int;
- currentQuest = theGame.GetJournalManager().GetTrackedQuest();
- if ( currentQuest )
- {
- flashQuest = m_flashValueStorage.CreateTempFlashObject();
- flashQuest.SetMemberFlashString( "questName", GetLocStringById( currentQuest.GetTitleStringId() ) );
- flashQuest.SetMemberFlashInt( "questType", (int)currentQuest.GetType() );
- flashQuest.SetMemberFlashInt( "contentType", (int)currentQuest.GetContentType() );
- flashQuest.SetMemberFlashBool( "onHighlight", onHighlight );
- m_flashValueStorage.SetFlashObject( "map.quest.name", flashQuest );
- }
- theGame.GetJournalManager().GetTrackedQuestObjectivesData( objectives );
- highlightedObjective = theGame.GetJournalManager().GetHighlightedObjective();
- flashArray = GetMenuFlashValueStorage().CreateTempFlashArray();
- for ( i = 0; i < objectives.Size(); i += 1 )
- {
- if ( objectives[ i ].status == JS_Active )
- {
- if ( objectives[ i ].objectiveEntry == highlightedObjective )
- {
- flashObjective = GetMenuFlashValueStorage().CreateTempFlashObject();
- flashObjective.SetMemberFlashString( "objectiveName", GetLocStringById( objectives[ i ].objectiveEntry.GetTitleStringId() ) + GetQuestObjectiveCounterText( objectives[ i ].objectiveEntry ) );
- flashObjective.SetMemberFlashInt( "objectiveScriptName", NameToFlashUInt( objectives[ i ].objectiveEntry.GetUniqueScriptTag() ) );
- flashObjective.SetMemberFlashBool( "highlighted", true );
- flashArray.PushBackFlashObject( flashObjective );
- }
- }
- }
- for ( i = 0; i < objectives.Size(); i += 1 )
- {
- if ( objectives[ i ].status == JS_Active )
- {
- if ( objectives[ i ].objectiveEntry != highlightedObjective )
- {
- flashObjective = GetMenuFlashValueStorage().CreateTempFlashObject();
- flashObjective.SetMemberFlashString( "objectiveName", GetLocStringById( objectives[ i ].objectiveEntry.GetTitleStringId() ) + GetQuestObjectiveCounterText( objectives[ i ].objectiveEntry ) );
- flashObjective.SetMemberFlashInt( "objectiveScriptName", NameToFlashUInt( objectives[ i ].objectiveEntry.GetUniqueScriptTag() ) );
- flashObjective.SetMemberFlashBool( "highlighted", false );
- flashArray.PushBackFlashObject( flashObjective );
- }
- }
- }
- m_flashValueStorage.SetFlashArray( "map.objectives", flashArray );
- }
- private function UpdateDataWithSingleUserMapPin( indexToUpdate : int )
- {
- var l_flashArray : CScriptedFlashArray;
- if ( indexToUpdate < 0 )
- {
- return;
- }
- l_flashArray = GetMenuFlashValueStorage().CreateTempFlashArray();
- UpdateUserMapPins( l_flashArray, indexToUpdate );
- GetMenuFlashValueStorage().SetFlashArray( "worldmap.global.pins.dynamic", l_flashArray );
- }
- private function UpdatePlayerPin( out flashArray : CScriptedFlashArray ) : void
- {
- var l_flashObject : CScriptedFlashObject;
- var position : Vector;
- var playerRotation : EulerAngles;
- var playerAngle : float;
- var cameraAngle : float;
- var commonMapManager : CCommonMapManager = theGame.GetCommonMapManager();
- position = thePlayer.GetWorldPosition();
- cameraAngle = theCamera.GetCameraHeading();
- playerRotation = thePlayer.GetWorldRotation();
- playerAngle = -playerRotation.Yaw;
- if ( playerAngle < 0 )
- {
- playerAngle += 360.0;
- }
- l_flashObject = GetMenuFlashValueStorage().CreateTempFlashObject("red.game.witcher3.data.StaticMapPinData");
- l_flashObject.SetMemberFlashUInt( "id", NameToFlashUInt( 'Player' ) );
- l_flashObject.SetMemberFlashInt( "areaId", m_shownArea );
- l_flashObject.SetMemberFlashInt( "journalAreaId", commonMapManager.GetJournalAreaByPosition( m_shownArea, position ) );
- l_flashObject.SetMemberFlashNumber( "posX", position.X );
- l_flashObject.SetMemberFlashNumber( "posY", position.Y );
- if ( (W3ReplacerCiri)thePlayer )
- {
- l_flashObject.SetMemberFlashString( "description", GetLocStringByKeyExt( "map_description_player_ciri"));
- l_flashObject.SetMemberFlashString( "label", GetLocStringByKeyExt( "map_location_player_ciri"));
- }
- else
- {
- l_flashObject.SetMemberFlashString( "description", GetLocStringByKeyExt( "map_description_player"));
- l_flashObject.SetMemberFlashString( "label", GetLocStringByKeyExt( "map_location_player"));
- }
- l_flashObject.SetMemberFlashString( "type", NameToString( 'Player' ) );
- l_flashObject.SetMemberFlashString( "filteredType", NameToString( 'Player' ) );
- l_flashObject.SetMemberFlashNumber( "radius", 0 );
- l_flashObject.SetMemberFlashBool( "isFastTravel", false );
- l_flashObject.SetMemberFlashBool( "isQuest", false );
- l_flashObject.SetMemberFlashBool( "isPlayer", true );
- l_flashObject.SetMemberFlashBool( "isUserPin",false );
- l_flashObject.SetMemberFlashNumber( "distance", 0 );
- l_flashObject.SetMemberFlashNumber( "rotation", playerAngle );
- flashArray.PushBackFlashObject(l_flashObject);
- }
- private function UpdateUserMapPins( out flashArray : CScriptedFlashArray, indexToUpdate : int ) : void
- {
- var manager : CCommonMapManager;
- var i, pinCount : int;
- if ( indexToUpdate > -1 )
- {
- UpdateUserMapPin( indexToUpdate, flashArray );
- }
- else
- {
- manager = theGame.GetCommonMapManager();
- pinCount = manager.GetUserMapPinCount();
- for ( i = 0; i < pinCount; i += 1 )
- {
- UpdateUserMapPin( i, flashArray );
- }
- }
- }
- private function UpdateUserMapPin( index : int, out flashArray : CScriptedFlashArray ) : void
- {
- var manager : CCommonMapManager = theGame.GetCommonMapManager();
- var l_flashObject : CScriptedFlashObject;
- var id, area, type : int;
- var position : Vector;
- var playerPosition : Vector = thePlayer.GetWorldPosition();
- var distanceFromPlayer : float = 0;
- if ( !manager.GetUserMapPinByIndex( index, id, area, position.X, position.Y, type ) )
- {
- return;
- }
- if ( area == AN_Prologue_Village_Winter )
- {
- area = AN_Prologue_Village;
- }
- if ( area != (int)m_shownArea )
- {
- return;
- }
- if ( IsCurrentAreaShown() )
- {
- distanceFromPlayer = VecDistanceSquared2D( playerPosition, position );
- }
- l_flashObject = GetMenuFlashValueStorage().CreateTempFlashObject("red.game.witcher3.data.StaticMapPinData");
- position.Z = 0;
- l_flashObject.SetMemberFlashUInt( "id", id );
- l_flashObject.SetMemberFlashNumber( "posX", position.X );
- l_flashObject.SetMemberFlashNumber( "posY", position.Y );
- l_flashObject.SetMemberFlashString( "description", GetLocStringByKeyExt( "map_description_user"));
- l_flashObject.SetMemberFlashString( "label", GetLocStringByKeyExt( "map_location_user"));
- l_flashObject.SetMemberFlashString( "type", NameToString( GetUserMapPinTypeByType( type ) ) );
- l_flashObject.SetMemberFlashString( "filteredType", NameToString( GetUserMapPinTypeByType( type ) ) );
- l_flashObject.SetMemberFlashNumber( "radius", 0 );
- l_flashObject.SetMemberFlashBool( "isFastTravel", false );
- l_flashObject.SetMemberFlashBool( "isQuest", false );
- l_flashObject.SetMemberFlashBool( "isPlayer", false );
- l_flashObject.SetMemberFlashBool( "isUserPin", true );
- l_flashObject.SetMemberFlashNumber( "distance", distanceFromPlayer );
- l_flashObject.SetMemberFlashNumber( "rotation", 0 );
- flashArray.PushBackFlashObject(l_flashObject);
- }
- function GetUserMapPinTypeByType( type : int ) : name
- {
- if ( type < 0 || type >= m_userPinNames.Size() )
- {
- return '';
- }
- return m_userPinNames[ type ];
- }
- function ReinitializeMap()
- {
- m_fxReinitializeMap.InvokeSelf();
- }
- function UpdateActiveAreas() : void
- {
- var pinsList : array< SAvailableFastTravelMapPin >;
- var curPin : SAvailableFastTravelMapPin;
- var availableAreas : array< bool >;
- var i : int;
- for ( i = 0; i < EnumGetMax( 'EAreaName' ) + 1; i += 1 )
- {
- availableAreas.PushBack(false);
- }
- pinsList = theGame.GetCommonMapManager().GetFastTravelPoints(true, true);
- for ( i = 0; i < pinsList.Size(); i += 1 )
- {
- curPin = pinsList[i];
- availableAreas[curPin.area] = true;
- }
- m_flashValueStorage.SetFlashBool("universearea.kaermorhen.active", availableAreas[AN_Kaer_Morhen]);
- m_flashValueStorage.SetFlashBool("universearea.novigrad.active", availableAreas[AN_NMLandNovigrad]);
- m_flashValueStorage.SetFlashBool("universearea.nomansland.active", availableAreas[AN_NMLandNovigrad]);
- m_flashValueStorage.SetFlashBool("universearea.wyzima.active", availableAreas[AN_Wyzima]);
- m_flashValueStorage.SetFlashBool("universearea.prologvillage.active", availableAreas[AN_Prologue_Village]);
- m_flashValueStorage.SetFlashBool("universearea.skellige.active", availableAreas[AN_Skellige_ArdSkellig]);
- m_flashValueStorage.SetFlashBool("universearea.toussaint.active", availableAreas[AN_Dlc_Bob]);
- }
- function UpdateEntityPins( out flashArray : CScriptedFlashArray ) : void
- {
- var worldPath : string;
- var mapPinInstances : array< SCommonMapPinInstance >;
- var mapPinInstancesCount : int;
- var pin : SCommonMapPinInstance;
- var i : int;
- var l_flashObject : CScriptedFlashObject;
- var canShowKnownEntities : bool;
- var canShowDisabledEntities : bool;
- var commonMapManager : CCommonMapManager = theGame.GetCommonMapManager();
- var playerPosition : Vector = thePlayer.GetWorldPosition();
- var distanceFromPlayer : float = 0;
- worldPath = commonMapManager.GetWorldPathFromAreaType( m_shownArea );
- mapPinInstances = commonMapManager.GetMapPinInstances( worldPath );
- mapPinInstancesCount = mapPinInstances.Size();
- canShowKnownEntities = commonMapManager.CanShowKnownEntities();
- canShowDisabledEntities = commonMapManager.CanShowDisabledEntities();
- for ( i = 0; i < mapPinInstancesCount; i += 1 )
- {
- pin = mapPinInstances[ i ];
- if ( !pin.isDiscovered && !pin.isKnown )
- {
- continue;
- }
- if ( pin.type == 'NPC' ||
- pin.type == 'Enemy' ||
- pin.type == 'EnemyDead' ||
- pin.type == 'GenericFocus' ||
- pin.type == 'Rift' ||
- pin.type == 'PointOfInterestMappin' ||
- pin.type == 'Teleport' ||
- pin.type == 'HorseRaceTarget' ||
- pin.type == 'HorseRaceDummy' )
- {
- continue;
- }
- if ( commonMapManager.IsUserPinType( pin.type ) )
- {
- continue;
- }
- if ( thePlayer.IsSailing() )
- {
- if ( pin.type == 'RoadSign' )
- {
- continue;
- }
- }
- else
- {
- if ( pin.type == 'Harbor' )
- {
- continue;
- }
- }
- if ( pin.visibleType == 'NotDiscoveredPOI' && !canShowKnownEntities )
- {
- continue;
- }
- if ( pin.visibleType != 'PlaceOfPowerDisabled' && pin.isDisabled && !canShowDisabledEntities )
- {
- continue;
- }
- if ( m_shownArea == (EAreaName)AN_Dlc_Bob )
- {
- if ( pin.position.X > 1200 &&
- pin.position.Y > 800 &&
- pin.type != 'User1' &&
- pin.type != 'User2' &&
- pin.type != 'User3' &&
- pin.type != 'User4' )
- {
- continue;
- }
- if ( pin.tag == 'mq7024_mutagen_dismantling_table' ||
- pin.tag == 'mq7024_alchemy_table' ||
- pin.tag == 'corvo_bianvo_bookshelf_poor' ||
- pin.tag == 'witcherBed' ||
- pin.tag == 'corvo_bianco_stables' ||
- pin.tag == 'mq7024_whetstone' ||
- pin.tag == 'mq7024_armor_table' )
- {
- continue;
- }
- }
- if ( IsCurrentAreaShown() )
- {
- distanceFromPlayer = VecDistanceSquared2D( playerPosition, pin.position );
- }
- l_flashObject = GetMenuFlashValueStorage().CreateTempFlashObject( "red.game.witcher3.data.StaticMapPinData" );
- l_flashObject.SetMemberFlashUInt( "id", NameToFlashUInt( pin.tag ) );
- l_flashObject.SetMemberFlashUInt( "areaId", m_shownArea);
- l_flashObject.SetMemberFlashInt( "journalAreaId", commonMapManager.GetJournalAreaByPosition( m_shownArea, pin.position ) );
- l_flashObject.SetMemberFlashNumber( "posX", pin.position.X );
- l_flashObject.SetMemberFlashNumber( "posY", pin.position.Y );
- l_flashObject.SetMemberFlashString( "type", NameToString( pin.visibleType ) + GetPinTypePostfix( pin ) );
- l_flashObject.SetMemberFlashString( "filteredType", NameToString( pin.visibleType ) );
- l_flashObject.SetMemberFlashNumber( "radius", pin.visibleRadius );
- l_flashObject.SetMemberFlashBool( "isFastTravel", pin.type == 'RoadSign' || pin.type == 'Harbor' );
- // ---=== VladimirHUD ===--- eNoodles
- l_flashObject.SetMemberFlashBool( "showFTLabel", theGame.GetInGameConfigWrapper().GetVarValue('vlad', 'ftlabel') );
- // ---=== VladimirHUD ===---
- l_flashObject.SetMemberFlashBool( "isQuest", commonMapManager.IsQuestPinType( pin.type ) );
- l_flashObject.SetMemberFlashBool( "isPlayer", false );
- l_flashObject.SetMemberFlashBool( "isUserPin",false );
- l_flashObject.SetMemberFlashNumber( "distance", distanceFromPlayer );
- AddPinTypeData(l_flashObject, pin);
- flashArray.PushBackFlashObject(l_flashObject);
- }
- // -= WMK:modAQOOM =-
- if (WmkGetMapMenuInstance()) {
- WmkGetMapMenuInstance().UpdateEntityPins(this, m_shownArea, mapPinInstances, flashArray);
- }
- // -= WMK:modAQOOM =-
- }
- // -= WMK:modAQOOM =-
- public var ALL_QUEST_OBJECTIVES_ON_MAP___ANOTHER_MOD_CHANGES_MAPMENU_WS_FILE___USE_SCRIPT_MERGER_TO_DETECT_AND_FIX_THE_CONFLICT : int;
- event OnWmkMapPinUsed(id : name, wmkTag : name, wmkData : int, areaId : int, isFastTravel : bool)
- {
- if (!isFastTravel) {
- if (WmkGetMapMenuInstance()) {
- return WmkGetMapMenuInstance().OnMapPinUsed(this, id, wmkTag, wmkData, areaId);
- } else {
- return false;
- }
- } else {
- return OnStaticMapPinUsed(id, areaId);
- }
- }
- // -= WMK:modAQOOM =-
- }
- // -= WMK:modAQOOM =-
- public var ALL_QUEST_OBJECTIVES_ON_MAP___ANOTHER_MOD_CHANGES_MAPMENU_WS_FILE___USE_SCRIPT_MERGER_TO_DETECT_AND_FIX_THE_CONFLICT : int;
- event OnWmkMapPinUsed(id : name, wmkTag : name, wmkData : int, areaId : int, isFastTravel : bool)
- {
- if (!isFastTravel) {
- if (WmkGetMapMenuInstance()) {
- return WmkGetMapMenuInstance().OnMapPinUsed(this, id, wmkTag, wmkData, areaId);
- } else {
- return false;
- }
- } else {
- return OnStaticMapPinUsed(id, areaId);
- }
- }
- // -= WMK:modAQOOM =-
- private function GetPinTypePostfix( pin : SCommonMapPinInstance ) : string
- {
- if ( pin.alternateVersion > 0 && !pin.isDisabled )
- {
- return "_" + pin.alternateVersion;
- }
- return "";
- }
- private function AddPinTypeData(out dataObject : CScriptedFlashObject, targetPin: SCommonMapPinInstance) : void
- {
- var definitionManager : CDefinitionsManagerAccessor = theGame.GetDefinitionsManager();
- var journalManager:CWitcherJournalManager;
- var questMappins:array<CJournalBase>;
- var questObjectives:array<CJournalBase>;
- var curQuestMappin:CJournalQuestMapPin;
- var curObjective:CJournalQuestObjective;
- var curQuest:CJournalQuest;
- var isTracked:bool;
- var label:string;
- var description:string;
- label = "";
- description = "";
- switch (targetPin.visibleType)
- {
- case 'StoryQuest':
- case 'ChapterQuest':
- case 'SideQuest':
- case 'MonsterQuest':
- case 'TreasureQuest':
- case 'QuestReturn':
- case 'HorseRace':
- case 'BoatRace':
- case 'QuestBelgard':
- case 'QuestCoronata':
- case 'QuestVermentino':
- journalManager = theGame.GetJournalManager();
- curObjective = (CJournalQuestObjective)journalManager.GetEntryByGuid( targetPin.guid );
- if ( curObjective )
- {
- curQuest = curObjective.GetParentQuest();
- label = GetLocStringById( curQuest.GetTitleStringId() );
- description = GetLocStringById( curObjective.GetTitleStringId() ) + GetQuestObjectiveCounterText( curObjective );
- isTracked = journalManager.GetTrackedQuest().guid == curQuest.guid;
- dataObject.SetMemberFlashBool( "tracked", isTracked );
- dataObject.SetMemberFlashBool( "highlighted", targetPin.isHighlighted );
- }
- break;
- case 'Horse':
- case 'Rift':
- case 'Teleport':
- case 'QuestAvailable':
- case 'QuestAvailableHoS':
- case 'QuestAvailableBaW':
- case 'MagicLamp':
- case 'Whetstone':
- case 'Entrance':
- case 'NotDiscoveredPOI':
- label = GetLocStringByKeyExt( StrLower("map_location_" + targetPin.visibleType) );
- description = GetLocStringByKeyExt( StrLower("map_description_" + targetPin.visibleType) );
- break;
- case 'MonsterNest':
- case 'MonsterNestDisabled':
- case 'InfestedVineyard':
- case 'InfestedVineyardDisabled':
- case 'PlaceOfPower':
- case 'PlaceOfPowerDisabled':
- case 'TreasureHuntMappin':
- case 'TreasureHuntMappinDisabled':
- case 'SpoilsOfWar':
- case 'SpoilsOfWarDisabled':
- case 'BanditCamp':
- case 'BanditCampDisabled':
- case 'BanditCampfire':
- case 'BanditCampfireDisabled':
- case 'BossAndTreasure':
- case 'BossAndTreasureDisabled':
- case 'Contraband':
- case 'ContrabandDisabled':
- case 'ContrabandShip':
- case 'ContrabandShipDisabled':
- case 'RescuingTown':
- case 'RescuingTownDisabled':
- case 'DungeonCrawl':
- case 'DungeonCrawlDisabled':
- case 'Hideout':
- case 'HideoutDisabled':
- case 'Plegmund':
- case 'PlegmundDisabled':
- case 'KnightErrant':
- case 'KnightErrantDisabled':
- case 'WineContract':
- case 'WineContractDisabled':
- case 'SignalingStake':
- case 'SignalingStakeDisabled':
- case 'AlchemyTable':
- case 'MutagenDismantle':
- case 'Stables':
- case 'Bookshelf':
- case 'Bed':
- label = GetLocStringByKeyExt( StrLower("map_location_" + targetPin.type) );
- description = GetLocStringByKeyExt( StrLower("map_description_" + targetPin.type) );
- break;
- case 'PlayerStash':
- case 'PlayerStashDiscoverable':
- label = GetLocStringByKeyExt( "map_location_playerstash" );
- description = GetLocStringByKeyExt( "map_description_playerstash" );
- break;
- case 'Shopkeeper':
- case 'Blacksmith':
- case 'Armorer':
- case 'Hairdresser':
- label = GetLocStringByKeyExt( StrLower("map_location_" + targetPin.type) );
- description = GetLocStringByKeyExt( StrLower("map_description_" + targetPin.type) );
- break;
- case 'Alchemic':
- label = GetLocStringByKeyExt( StrLower("map_location_alchemic") );
- description = GetLocStringByKeyExt( StrLower("map_description_alchemic") );
- break;
- case 'Herbalist':
- label = GetLocStringByKeyExt( StrLower("herbalist") );
- description = GetLocStringByKeyExt( StrLower("map_description_alchemic") );
- break;
- case 'Innkeeper':
- label = GetLocStringById( 175619 );
- description = GetLocStringByKeyExt( StrLower("map_description_shopkeeper") );
- break;
- case 'Enchanter':
- label = GetLocStringByKeyExt( "panel_map_enchanter_pin_name" );
- description = GetLocStringByKeyExt( "panel_map_enchanter_pin_description" );
- break;
- case 'Torch':
- label = GetLocStringByKeyExt( "map_location_torch" );
- description = GetLocStringByKeyExt( "map_description_torch" );
- break;
- case 'Prostitute':
- label = GetLocStringByKeyExt( "novigrad_courtisan" );
- description = GetLocStringByKeyExt( "map_description_prostitute" );
- break;
- case 'ArmorRepairTable':
- label = GetLocStringByKeyExt( "map_location_armor_repair_table" );
- description = GetLocStringByKeyExt( "map_description_armor_repair_table" );
- break;
- case 'Herb':
- label = GetLocStringByKeyExt( definitionManager.GetItemLocalisationKeyName( targetPin.tag ) );
- description = GetLocStringByKeyExt( definitionManager.GetItemLocalisationKeyDesc( targetPin.tag ) );
- break;
- case 'RoadSign':
- label = GetLocStringByKeyExt( StrLower("map_location_" + targetPin.tag ) );
- description = GetLocStringByKeyExt( StrLower("map_description_" + targetPin.tag ) );
- break;
- case 'NoticeBoard':
- case 'NoticeBoardFull':
- label = GetLocStringByKeyExt( StrLower("map_location_noticeboard" ) );
- description = GetLocStringByKeyExt( StrLower("map_description_noticeboard" ) );
- break;
- case 'Boat':
- label = GetLocStringByKeyExt( StrLower("panel_hud_boat" ) );
- description = GetLocStringByKeyExt("map_description_player_boat");
- break;
- default:
- if ( targetPin.customNameId != 0 )
- {
- label = GetLocStringById( targetPin.customNameId );
- description = "";
- }
- else
- {
- label = GetLocStringByKeyExt( StrLower("map_location_" + targetPin.visibleType) );
- description = GetLocStringByKeyExt( StrLower("map_description_" + targetPin.visibleType) );
- }
- break;
- }
- dataObject.SetMemberFlashString( "label", label );
- dataObject.SetMemberFlashString( "description", description );
- }
- event OnToggleMinimap( previewMode : int )
- {
- var value : string;
- value = IntToString( previewMode );
- theGame.GetInGameConfigWrapper().SetVarValue('Hidden', 'WorldMapPreviewMode', value );
- theGame.SaveUserSettings();
- }
- event OnDisablePin( pinName : string, disable : bool )
- {
- theGame.GetCommonMapManager().DisableMapPin( pinName, disable );
- }
- event OnPinch( value : float )
- {
- LogChannel( 'Gui', "CR4MapMenu::OnPinch " + value );
- }
- event OnClosingMenu()
- {
- var initData : W3MapInitData;
- SaveStateData();
- theGame.GetGuiManager().SetLastOpenedCommonMenuName( GetMenuName() );
- initData = (W3MapInitData)GetMenuInitData();
- if ( initData )
- {
- if ( initData && initData.GetTriggeredExitEntity() )
- {
- thePlayer.OnTeleportPlayerToPlayableArea( true );
- }
- }
- super.OnClosingMenu();
- }
- event OnCloseMenu()
- {
- if( m_parentMenu )
- {
- m_parentMenu.ChildRequestCloseMenu();
- }
- CloseMenu();
- }
- function SaveStateData()
- {
- switch(m_menuState)
- {
- case 'Objectives':
- case 'FastTravel':
- m_guiManager.UpdateUISavedData( m_menuState, UISavedData.openedCategories, currentTag, UISavedData.selectedModule );
- break;
- case 'GlobalMap':
- return;
- }
- }
- event OnSwitchToWorldMap()
- {
- var continentMapState : W3TutorialManagerUIHandlerStateContinentMap;
- LogChannel('WORLDMAP',"OnSwitchToWorldMap" );
- // ---=== VladimirHUD ===--- PaulScottt (paul casually inserting his name into vanilla code)
- SetMapTitle(GetLocStringByKeyExt("panel_map_title_worldmap"));
- // ---=== VladimirHUD ===---
- UpdateInputFeedback();
- if( ShouldProcessTutorial( 'TutorialMapBackToHub' ) )
- {
- continentMapState = ( W3TutorialManagerUIHandlerStateContinentMap ) theGame.GetTutorialSystem().uiHandler.GetCurrentState();
- if( continentMapState )
- {
- continentMapState.OnWentToContinentMap();
- }
- }
- }
- event OnSwitchToHubMap( areaName : string )
- {
- var areaType : EAreaName;
- areaType = AreaNameToType( areaName );
- SwitchToHubMap(areaType, false);
- }
- function GetAreaDefaultPosition( areaId : int, out x : float, out y : float ) : void
- {
- switch ( areaId )
- {
- case AN_NMLandNovigrad:
- x = -150;
- y = 450;
- break;
- case AN_Velen:
- x = -300;
- y = -100;
- break;
- default:
- x = -1;
- y = -1;
- }
- }
- event OnHighlightNextObjective()
- {
- var highlightedObjective : CJournalQuestObjective;
- var objectives : array< SJournalQuestObjectiveData >;
- var i, newIndex : int;
- var journalManager : CWitcherJournalManager;
- journalManager = theGame.GetJournalManager();
- journalManager.GetTrackedQuestObjectivesData( objectives );
- highlightedObjective = journalManager.GetHighlightedObjective();
- for ( i = objectives.Size() - 1; i >= 0; i -= 1 )
- {
- if ( objectives[ i ].status != JS_Active )
- {
- objectives.Erase( i );
- }
- }
- if ( objectives.Size() < 2 )
- {
- return false;
- }
- for ( i = 0; i < objectives.Size(); i += 1 )
- {
- if ( objectives[ i ].objectiveEntry == highlightedObjective )
- {
- newIndex = ( i + 1 ) % objectives.Size();
- SetHighlightedObjective( objectives[ newIndex ].objectiveEntry );
- return true;
- }
- }
- }
- event OnHighlightObjective( tag : name )
- {
- var l_objective : CJournalQuestObjective;
- var journalManager : CWitcherJournalManager;
- journalManager = theGame.GetJournalManager();
- l_objective = (CJournalQuestObjective)journalManager.GetEntryByTag( tag );
- if ( l_objective && journalManager.GetEntryStatus( l_objective ) == JS_Active )
- {
- SetHighlightedObjective( l_objective );
- }
- }
- private function SetHighlightedObjective( objective : CJournalQuestObjective )
- {
- var highlightedMapPinTag : name;
- LogChannel('asdf', "H BEFORE " + theGame.GetCommonMapManager().GetHighlightedMapPinTag() );
- if ( theGame.GetJournalManager().SetHighlightedObjective( objective ) )
- {
- UpdateCurrentQuestData( true );
- highlightedMapPinTag = theGame.GetCommonMapManager().GetHighlightedMapPinTag();
- m_fxSetHighlightedMapPin.InvokeSelfOneArg( FlashArgUInt( NameToFlashUInt( highlightedMapPinTag ) ) );
- }
- LogChannel('asdf', "H AFTER " + theGame.GetCommonMapManager().GetHighlightedMapPinTag() );
- }
- event OnTrackQuest( tag : name )
- {
- var journalManager : CWitcherJournalManager;
- var l_quest : CJournalBase;
- journalManager = theGame.GetJournalManager();
- l_quest = journalManager.GetEntryByTag(tag);
- journalManager.SetTrackedQuest( l_quest );
- }
- function SwitchToHubMap( area : EAreaName, onStartup : bool )
- {
- var manager : CCommonMapManager = theGame.GetCommonMapManager();
- var journalArea : EAreaName;
- var originArea : EAreaName;
- originArea = area;
- if ( area == AN_Undefined )
- {
- return;
- }
- if ( area == AN_Velen || area == AN_NMLandNovigrad )
- {
- if ( m_currentArea == AN_NMLandNovigrad )
- {
- journalArea = manager.GetCurrentJournalArea();
- }
- else
- {
- journalArea = area;
- }
- area = AN_NMLandNovigrad;
- }
- else
- {
- journalArea = area;
- }
- // ---=== VladimirHUD ===--- PaulScottt (paul casually inserting his name into vanilla code, again)
- SetMapTitle( GetLocStringByKeyExt( manager.GetLocalisationNameFromAreaType( journalArea ) ) );
- // ---=== VladimirHUD ===---
- SetCurrentAreaId( originArea, onStartup );
- UpdateDefaultPosition(originArea);
- UpdateInputFeedback();
- if ( area == m_shownArea )
- {
- ReinitializeMap();
- }
- else
- {
- m_shownArea = area;
- UpdateTitle();
- UpdateMapSettings();
- UpdateData();
- }
- }
- event OnEntrySelected( tag : name )
- {
- LogChannel('WORLDMAP', "OnEntrySelected tag: "+tag+" area: ");
- currentTag = tag;
- }
- event OnSwitchToInterior( )
- {
- LogChannel('WORLDMAP', "OnSwitchToInterior" );
- }
- event OnUserMapPinSet( posX : float, posY : float, type : int, fromSelectionPanel : bool )
- {
- var manager : CCommonMapManager = theGame.GetCommonMapManager();
- var worldPath : string;
- var realShownArea : EAreaName;
- var area : int;
- var position : Vector;
- var idToAdd, idToRemove, indexToAdd : int;
- var realType : int;
- idToAdd = 0;
- idToRemove = 0;
- if ( m_currentArea == m_shownArea )
- {
- worldPath = theGame.GetWorld().GetDepotPath();
- realShownArea = manager.GetAreaFromWorldPath( worldPath, true );
- }
- else
- {
- realShownArea = m_shownArea;
- }
- position.X = posX;
- position.Y = posY;
- position.Z = 0;
- realType = type;
- if ( fromSelectionPanel )
- {
- realType += 1;
- }
- if ( !manager.ToggleUserMapPin( (int)realShownArea, position, realType, fromSelectionPanel, idToAdd, idToRemove ) )
- {
- showNotification( GetLocStringByKeyExt("panel_hud_message_actionnotallowed") );
- }
- if ( idToRemove != 0 )
- {
- m_fxRemoveUserMapPin.InvokeSelfOneArg( FlashArgUInt( idToRemove ) );
- }
- if ( idToAdd != 0 )
- {
- indexToAdd = manager.GetUserMapPinIndexById( idToAdd );
- if ( indexToAdd >= 0 )
- {
- UpdateDataWithSingleUserMapPin( indexToAdd );
- theSound.SoundEvent("gui_hubmap_mark_pin");
- }
- }
- }
- event OnStaticMapPinUsed( pinTag : name, areaId : int)
- {
- var initData : W3MapInitData;
- var manager : CCommonMapManager = theGame.GetCommonMapManager();
- var fastTravelEntity : W3FastTravelEntity;
- var loadingInitData : W3MenuInitData;
- var contentTag : name;
- var progress : float;
- var rootMenu : CR4Menu;
- manager = theGame.GetCommonMapManager();
- if ( !manager )
- {
- return false;
- }
- if ( !manager.IsWorldAvailable( areaId ) )
- {
- contentTag = manager.GetWorldContentTag( areaId );
- progress = theGame.ProgressToContentAvailable(contentTag);
- theSound.SoundEvent("gui_global_denied");
- theGame.GetGuiManager().ShowProgressDialog(0, "", "panel_map_cannot_travel_downloading_content", true, UDB_Ok, progress, UMPT_Content, contentTag);
- return false;
- }
- if( !thePlayer.IsActionAllowed( EIAB_FastTravel ) )
- {
- showNotification( GetLocStringByKeyExt("panel_hud_message_actionnotallowed") );
- OnPlaySoundEvent("gui_global_denied");
- return false;
- }
- if ( m_currentArea != areaId )
- {
- if ( !thePlayer.IsActionAllowed( EIAB_FastTravelGlobal ) )
- {
- theSound.SoundEvent("gui_global_denied");
- showNotification( GetLocStringByKeyExt("panel_hud_message_actionnotallowed") );
- return false;
- }
- }
- if ( manager.IsEntityMapPinDisabled( pinTag ) )
- {
- theSound.SoundEvent("gui_global_denied");
- showNotification( GetLocStringByKeyExt("panel_hud_message_actionnotallowed") );
- return false;
- }
- if ( !manager.DBG_IsAllowedFT() )
- {
- if ( thePlayer.IsSailing() )
- {
- initData = (W3MapInitData)GetMenuInitData();
- if ( initData && initData.GetTriggeredExitEntity() )
- {
- initData.SetTriggeredExitEntity( false );
- }
- }
- else
- {
- initData = (W3MapInitData)GetMenuInitData();
- if ( !initData )
- {
- showNotification( GetLocStringByKeyExt("panel_map_cannot_travel") );
- OnPlaySoundEvent("gui_global_denied");
- return false;
- }
- fastTravelEntity = (W3FastTravelEntity)initData.GetUsedFastTravelEntity();
- if (fastTravelEntity && fastTravelEntity.entityName == pinTag)
- {
- showNotification( GetLocStringByKeyExt("panel_map_cannot_travel_already_here") );
- OnPlaySoundEvent("gui_global_denied");
- return false;
- }
- if ( initData.GetTriggeredExitEntity() )
- {
- initData.SetTriggeredExitEntity( false );
- }
- }
- }
- manager.UseMapPin( pinTag, true );
- if (areaId == -1)
- {
- areaId == m_shownArea;
- }
- if ( m_currentArea == areaId )
- {
- manager.PerformLocalFastTravelTeleport( pinTag );
- theGame.Unpause("menus");
- if ( !theGame.IsGameTimePaused() )
- {
- theGame.SetGameTime( theGame.GetGameTime() + GameTimeCreate(0, RoundF( RandF() * 4 ), RoundF( RandF() * 60 ), RoundF( RandF() * 60 ) ), true);
- }
- }
- else
- {
- manager.PerformGlobalFastTravelTeleport( m_shownArea, pinTag );
- theGame.Unpause("menus");
- if ( !theGame.IsGameTimePaused() )
- {
- theGame.SetGameTime( theGame.GetGameTime() + GameTimeCreate(0, RoundF( RandF() * 10 ), RoundF( RandF() * 60 ), RoundF( RandF() * 60 ) ), true);
- }
- }
- rootMenu = theGame.GetGuiManager().GetRootMenu();
- if ( rootMenu )
- {
- rootMenu.CloseMenu();
- }
- return true;
- }
- function UpdateTitle()
- {
- GetMenuFlashValueStorage().SetFlashString("worldmap.title.set", GetMapTitle(), -1 );
- }
- private function UpdateDefaultPosition( areaId : int )
- {
- var defX, defY : float;
- GetAreaDefaultPosition(areaId, defX, defY);
- m_fxSetDefaultPosition.InvokeSelfTwoArgs( FlashArgNumber(defX), FlashArgNumber(defY) );
- }
- private function UpdateMapSettings()
- {
- var mapSize : float;
- var tileCount : int;
- var textureSize : int;
- var imagePath : string;
- var minLod : int;
- var maxLod : int;
- var vminX, vmaxX, vminY, vmaxY : int;
- var sminX, smaxX, sminY, smaxY : int;
- var gradientScale : float;
- var previewAvailable : bool;
- var previewModeString : string;
- var previewMode : int;
- var minZoom, maxZoom : float;
- var zoom12, zoom23, zoom34 : float;
- mapSize = theGame.GetMiniMapSize( m_shownArea );
- tileCount = theGame.GetMiniMapTileCount( m_shownArea );
- textureSize = theGame.GetMiniMapTextureSize( m_shownArea );
- minLod = theGame.GetMiniMapMinLod( m_shownArea );
- maxLod = theGame.GetMiniMapMaxLod( m_shownArea );
- vminX = theGame.GetMiniMapVminX( m_shownArea );
- vmaxX = theGame.GetMiniMapVmaxX( m_shownArea );
- vminY = theGame.GetMiniMapVminY( m_shownArea );
- vmaxY = theGame.GetMiniMapVmaxY( m_shownArea );
- sminX = theGame.GetMiniMapSminX( m_shownArea );
- smaxX = theGame.GetMiniMapSmaxX( m_shownArea );
- sminY = theGame.GetMiniMapSminY( m_shownArea );
- smaxY = theGame.GetMiniMapSmaxY( m_shownArea );
- minZoom = theGame.GetMiniMapMinZoom( m_shownArea );
- maxZoom = theGame.GetMiniMapMaxZoom( m_shownArea );
- zoom12 = theGame.GetMiniMapZoom12( m_shownArea );
- zoom23 = theGame.GetMiniMapZoom23( m_shownArea );
- zoom34 = theGame.GetMiniMapZoom34( m_shownArea );
- gradientScale = theGame.GetGradientScale( m_shownArea );
- previewAvailable = theGame.GetPreviewHeight( m_shownArea ) > 0;
- previewModeString = theGame.GetInGameConfigWrapper().GetVarValue('Hidden', 'WorldMapPreviewMode' );
- if ( StrLen( previewModeString ) > 0 )
- {
- previewMode = StringToInt( previewModeString );
- }
- if ( previewMode == 0)
- {
- previewMode = 1;
- }
- imagePath = GetShownMapName();
- m_fxSetMapZooms.InvokeSelfFiveArgs( FlashArgNumber( minZoom ), FlashArgNumber( maxZoom ), FlashArgNumber( zoom12 ), FlashArgNumber( zoom23 ), FlashArgNumber( zoom34 ) );
- m_fxSetMapVisibilityBoundaries.InvokeSelfFiveArgs( FlashArgInt( vminX ), FlashArgInt( vmaxX ), FlashArgInt( vminY ), FlashArgInt( vmaxY ), FlashArgNumber( gradientScale ) );
- m_fxSetMapScrollingBoundaries.InvokeSelfFourArgs( FlashArgInt( sminX ), FlashArgInt( smaxX ), FlashArgInt( sminY ), FlashArgInt( smaxY ) );
- m_fxSetMapSettings.InvokeSelfEightArgs( FlashArgNumber( mapSize ), FlashArgInt( tileCount ), FlashArgInt( textureSize ), FlashArgInt( minLod ), FlashArgInt( maxLod ), FlashArgString( imagePath ), FlashArgBool( previewAvailable ), FlashArgInt( previewMode ) );
- }
- function GetShownMapName() : string
- {
- var manager : CCommonMapManager = theGame.GetCommonMapManager();
- return manager.GetMapName( m_shownArea );
- }
- function GetMapTitle() : string
- {
- var manager : CCommonMapManager = theGame.GetCommonMapManager();
- return manager.GetLocalisationNameFromAreaType( m_shownArea );
- }
- function GetShownMapType() : int
- {
- return m_shownArea;
- }
- function IsCurrentAreaShown() : bool
- {
- return m_currentArea == m_shownArea;
- }
- event OnSkipPressed()
- {
- OnCloseMenu();
- }
- event OnCategoryOpened( categoryName : name, opened : bool )
- {
- var i : int;
- if( categoryName == 'None' )
- {
- return false;
- }
- if( opened )
- {
- if( UISavedData.openedCategories.FindFirst(categoryName) == -1 )
- {
- UISavedData.openedCategories.PushBack(categoryName);
- }
- }
- else
- {
- i = UISavedData.openedCategories.FindFirst(categoryName);
- if( i > -1 )
- {
- UISavedData.openedCategories.Erase(i);
- }
- }
- }
- public function EnableDebugMode( enable : bool )
- {
- m_fxEnableDebugMode.InvokeSelfOneArg( FlashArgBool( enable ) );
- }
- public function EnableUnlimitedZoom( enable : bool )
- {
- m_fxEnableUnlimitedZoom.InvokeSelfOneArg( FlashArgBool( enable ) );
- }
- public function EnableManualLod( enable : bool )
- {
- m_fxEnableManualLod.InvokeSelfOneArg( FlashArgBool( enable ) );
- }
- public function ShowBorders( show : bool )
- {
- m_fxShowBorders.InvokeSelfOneArg( FlashArgBool( show ) );
- }
- function PlayOpenSoundEvent()
- {
- }
- event OnDebugTeleportToHighlightedMappin( posX : float , posY : float )
- {
- if( !theGame.IsFinalBuild() )
- {
- thePlayer.DebugTeleportToPin( posX , posY );
- }
- }
- }
- exec function map_debug( enable : bool )
- {
- var manager : CR4GuiManager;
- var rootMenu : CR4Menu;
- var mapMenu : CR4MapMenu;
- manager = (CR4GuiManager)theGame.GetGuiManager();
- if ( manager )
- {
- rootMenu = manager.GetRootMenu();
- if ( rootMenu )
- {
- mapMenu = (CR4MapMenu)rootMenu.GetSubMenu();
- if ( mapMenu )
- {
- mapMenu.EnableDebugMode( enable );
- }
- }
- }
- }
- exec function map_unlimitedzoom( enable : bool )
- {
- var manager : CR4GuiManager;
- var rootMenu : CR4Menu;
- var mapMenu : CR4MapMenu;
- manager = (CR4GuiManager)theGame.GetGuiManager();
- if ( manager )
- {
- rootMenu = manager.GetRootMenu();
- if ( rootMenu )
- {
- mapMenu = (CR4MapMenu)rootMenu.GetSubMenu();
- if ( mapMenu )
- {
- mapMenu.EnableUnlimitedZoom( enable );
- }
- }
- }
- }
- exec function map_manuallod( enable : bool )
- {
- var manager : CR4GuiManager;
- var rootMenu : CR4Menu;
- var mapMenu : CR4MapMenu;
- manager = (CR4GuiManager)theGame.GetGuiManager();
- if ( manager )
- {
- rootMenu = manager.GetRootMenu();
- if ( rootMenu )
- {
- mapMenu = (CR4MapMenu)rootMenu.GetSubMenu();
- if ( mapMenu )
- {
- mapMenu.EnableManualLod( enable );
- }
- }
- }
- }
- exec function map_borders( show : bool )
- {
- var manager : CR4GuiManager;
- var rootMenu : CR4Menu;
- var mapMenu : CR4MapMenu;
- manager = (CR4GuiManager)theGame.GetGuiManager();
- if ( manager )
- {
- rootMenu = manager.GetRootMenu();
- if ( rootMenu )
- {
- mapMenu = (CR4MapMenu)rootMenu.GetSubMenu();
- if ( mapMenu )
- {
- mapMenu.ShowBorders( show );
- }
- }
- }
- }
- exec function innkeep()
- {
- var numbers : array< int >;
- var i : int;
- numbers.PushBack(175619);
- numbers.PushBack(475415);
- numbers.PushBack(538568);
- numbers.PushBack(1084890);
- for ( i = 0; i < numbers.Size(); i += 1 )
- {
- LogChannel('asdf', numbers[ i ] + " [" + GetLocStringById( numbers[ i ] ) + "]");
- }
- }
- exec function poi()
- {
- LogChannel( 'asd', "[" + GetLocStringByKey("option_miminapPoiQuestionMarks") + "]" );
- LogChannel( 'asd', "[" + GetLocStringByKey("option_MinimapPoiCompletedIcons") + "]" );
Add Comment
Please, Sign In to add comment