Jump to content

Albeoris

Premium Member
  • Posts

    23
  • Joined

  • Last visited

Posts posted by Albeoris

  1. Hi, Amineri, one more question:

    How to show any dialog on InstallNewCampaign?

    I try to do that:

       local XComPresentationLayerBase presentationLayer;
        local Albeoris_RichHeritage_SelectFacilitiesDialog selectFacilitiesDialog;
    
        presentationLayer = XComPlayerController(class'UIInteraction'.static.GetLocalPlayer(0).Actor).Pres;
        selectFacilitiesDialog = presentationLayer.Spawn(class'Albeoris_RichHeritage_SelectFacilitiesDialog', presentationLayer);
        presentationLayer.ScreenStack.Push(selectFacilitiesDialog);

    It displayd but instantly disappeared because into movie was played.

    How can I avoid this?

     

    P.S. I do not want to override any default functions, so as not to break compatibility with other mods.

     

    Also I am try to handle Hide call but no one has hidden a my window.! O.o

    simulated function Show()
    {
        `log("Showing...");
        super.Show();    
        `log("Shown!");
    }
    
    event Destroyed()
    {
        `log("Destroyed");
        super.Destroyed();
    }
    
    simulated function Hide()
    {
        `log("Hiding...");
        super.Hide();    
        `log("Hidden!");
    }
    [0031.28] ScriptLog: Showing...  // <<<<<<<<<<<<<<<<
    [0031.28] ScriptLog: Shown!  // <<<<<<<<<<<<<<<<
    [0031.81] Log: --- LOADING MOVIE START ---
    [0032.25] Log: Movie Started Event: CIN_TP_Intro
    [0032.48] Log: ###### OnlineEventMgr waited 0.00 seconds for saves to complete
    [0032.48] Log: LoadMap: Avenger_Root?Name=Player?Team=255?game=XComGame.XComHeadQuartersGame
    [0032.64] Log:
    [0032.72] Warning: Warning, Using a non-qualified name (would have) found: SwfMovie gfxStrategyComponents.gfxStrategyComponents.StrategyComponents
    [0033.00] Log: Missing cached shader map for material OverWorld_Terrain_Master, compiling.
    [0033.00] Warning: Redscreen: Compiling OverWorld_Terrain_Master at run-time, please ensure this is part of the cooking process
    [0033.29] Log: Game class is 'XComHeadquartersGame'
    [0033.36] Log: Bringing World Avenger_Root.TheWorld up for play (0) at 2016.02.13-17.53.25
    [0033.37] Log: Bringing up level for play took: 0.076904
    [0033.39] Log: ########### Finished loading level: 0.912885 seconds
    // Has no message about hiding anything. O.O
  2. Hi, Amineri, one more question:

    How to show any dialog on InstallNewCampaign?

    I try to do that:

     

     

       local XComPresentationLayerBase presentationLayer;
        local Albeoris_RichHeritage_SelectFacilitiesDialog selectFacilitiesDialog;
    
        presentationLayer = XComPlayerController(class'UIInteraction'.static.GetLocalPlayer(0).Actor).Pres;
        selectFacilitiesDialog = presentationLayer.Spawn(class'Albeoris_RichHeritage_SelectFacilitiesDialog', presentationLayer);
        presentationLayer.ScreenStack.Push(selectFacilitiesDialog);

     

    It displayd but instantly disappeared because into movie was played.

    How can I avoid this?

    P.S. I do not want to override any default functions, so as not to break compatibility with other mods.

  3. Did all the steps and keep getting an error from ModBuddy that "MrODuzhar.UnrealScriptPackage.UnrealScriptPackage... did not load correctly" Do you have anything included in this that would be referencing your local path (and not the absolute path?)

     

    -Dan

     

    No one.

    If you receive this error, then there is the path to the report file. Share it.

    Also you can try to build an extension youself.

    Most likely, it did not find some assembly, as drags a lot of junk.

  4. 1) No one.

    2) Good.

    3) And... nothing?

    ---

    1) Hm... Can you try turn off and run ModBuddy again? :smile:

    2) When you place a new files are you replace an original extension.vsixmanifest?

    3) Are sure you back up an orignal Application to the different location, not in the Extensions folder?

    ---

    When you start ModBuddy, you must see "Parsing file" at the status bar. It's exists?

    http://i.imgur.com/0sM0GL6.png

     

    Also folder \steamapps\common\XCOM 2 SDK\Development\SrcOrig is exists?

  5. yeah i am, this is so weird, it should work- i tried to revert the binaries back and then install again but it dosnt work for me for some reason

     

    Wait what software is that icon that is on your .UC files from? i dont have it- that might be the problem

     

    Notepad++

    But it does not matter. Just icon.
    1) Are you don't specify a match for the extension .uc in TextEditor->File extension?
    2) Can you delete (while ModBuddy is open) \XCOM 2 SDK\Binaries\Win32\ModBuddy\Extensions\Application\UnrealScriptPackage1_0.dll ? If you can it's not used as extension.

    3) Can you press Ctrl+Space after dot? Not working?

    4) Can you see any popups in the your file or not?

  6. Workaround:

    Ctrl+A, Ctrl+X, Ctrl+V, Ctrl+S

     

    It looks like a bug. If the line has not been fully updated, the old classified is stored.

     

    Update:

    Type: UnrealScriptSource

    Method: private bool FullParser(IVsTextLines textLines)

     

    It is parse lines and raise updates. It is working on format but not always when editing. I do not know why - very dirty code. -_-

  7.  

    Hi again, can you share your experience: are there any ways to turn on "Intellisense" for *.uc scripts in the Mod Buddy or load it the Unreal Engine? I mean autocompletion and a list of available types and functions? Thanks for your attention!

     

    Unfortunately I have not figured out how to do this, and will be quite happy when someone figures it out ^_^

     

     

    I was able to import a third-party extensions:

    http://forums.nexusmods.com/index.php?/topic/3774940-mod-buddy-intellisense-scripts/?p=34395000

     

    It's awful, but it works. (=

  8. Hello ladies and gentlemen, I was able to import a third-party extensions to ModBuddy.

     

    http://i.imgur.com/pKz7Uec.png?1

     

     

    0) Set SDK Path: Settings->XCOM2->General->XCOM 2 User Path

    1) Close ModBuddy.

    2) Do back up of "..\steamapps\common\XCOM 2 SDK\Binaries\Win32\ModBuddy\Extensions\Application" to the different location!

    3) Download a new extension: https://yadi.sk/d/N0ww-ifioaaHi

    4) Unpack it to "..\steamapps\common\XCOM 2 SDK\Binaries\Win32\ModBuddy\Extensions\Application" and replace original files.

    5) Run ModBuddy.

     

    Limitation:

    Classes that are not in SrcOrig, will not be recognized automatically. They need to describe manualy. For example, `log and `XCOMHISTORY

     

    About:

    I get started with this article.

    And used extension from this IDE (2012 alpha), parser and scaner generators.

     

    Sources: https://yadi.sk/d/0cpJh9bFoabTV

    Guys, I've never written VS-extensions. I've never written language services. The original extension was not written very nicely, and linked to the UDK. I apologize for the trash in the production package and sources, but I do not have time to bring it to the divine form. If you have the time to fix it please get sources, create a project on GitHub and make it beautiful. (:

    Also I would like to apologize to the 2K-developers. They wrote a very clean and beautiful extension. The only pity is that without the support CodeSense. )=
    If you have questions try to ask иut I cannot promise I can answer.

     

  9.  

    Also, Is it just me or ModBuddy / VS2013 is kinda odd. Double clicking will select the whole row unlike VS2008 etc?

     

    GoToDefinition also doesn't work.

     

     

    That selection behaviour seems specific to ModBuddy, it's quite annoying as I'm used to ctrl+shift+left/right to select by word and instead that selects to start or end of line.

    It's not consistent with the defaults that come with VS2013 or VS2015 Community edition.

     

    Not sure if it is possible to load the extension that ModBuddy uses to customise the VS Isolated Shell into a proper install of VS, but it would be useful.

     

     

    I was found solution for LUA:

    http://forums.civfanatics.com/showthread.php?t=391034

     

    We need the same for Unreal Script.

  10. Hi again, can you share your experience: are there any ways to turn on "Intellisense" for *.uc scripts in the Mod Buddy or load it the Unreal Engine? I mean autocompletion and a list of available types and functions? Thanks for your attention!

  11. Hi Amineri,

    I was wondering how to build facility on the game start using script.

     

    Now I am trying to do that:

     

    //---------------------------------------------------------------------------------------
    //  FILE:   XComDownloadableContentInfo_RichHeritage.uc                                    
    //           
    //    Use the X2DownloadableContentInfo class to specify unique mod behavior when the
    //  player creates a new campaign or loads a saved game.
    //  
    //---------------------------------------------------------------------------------------
    //  Copyright (c) 2016 Firaxis Games, Inc. All rights reserved.
    //---------------------------------------------------------------------------------------
    
    class X2DownloadableContentInfo_RichHeritage extends X2DownloadableContentInfo;
    
    /// <summary>
    /// This method is run if the player loads a saved game that was created prior to this DLC / Mod being installed, and allows the
    /// DLC / Mod to perform custom processing in response. This will only be called once the first time a player loads a save that was
    /// create without the content installed. Subsequent saves will record that the content was installed.
    /// </summary>
    static event OnLoadedSavedGame()
    {
    }
    
    /// <summary>
    /// Called when the player starts a new campaign while this DLC / Mod is installed
    /// </summary>
    static event InstallNewCampaign(XComGameState StartState)
    {
        if (HasPsiChamber())
            return;
    
        BuildPsiChamber();
    }
    
    static simulated function BuildPsiChamber()
    {
        local XComGameState_HeadquartersRoom cleanRoom;
        local X2FacilityTemplate facilityTemplate;
    
        cleanRoom = PrepareRoom();
        facilityTemplate = X2FacilityTemplate(class'X2StrategyElementTemplateManager'.static.GetStrategyElementTemplateManager().FindStrategyElementTemplate('PsiChamber'));
        
        class'UIUtilities_Strategy'.static.GetXComHQ().AddFacilityProject(cleanRoom.GetReference(), facilityTemplate);
    
        XComGameState_HeadquartersProjectBuildFacility(`XCOMHISTORY.GetGameStateForObjectID(cleanRoom.GetReference().ObjectID)).OnProjectCompleted();
    }
    
    static simulated function bool HasPsiChamber()
    {
        local XComGameState_HeadquartersXCom XComHQ;
        XComHQ = XComGameState_HeadquartersXCom(`XCOMHISTORY.GetSingleGameStateObjectForClass(class'XComGameState_HeadquartersXCom'));
        return (XComHQ.GetFacilityByName('PsiChamber') != none);
    }
    
    static simulated function XComGameState_HeadquartersRoom PrepareRoom()
    {
        local XComGameState_HeadquartersRoom roomState;
        local XComGameState_HeadquartersRoom clearingRoom;
        local XComGameState_HeadquartersRoom lockedRoom;
        
        foreach `XCOMHISTORY.IterateByClassType(class'XComGameState_HeadquartersRoom', roomState)
        {    
            if (roomState.Locked)
            {
                if (lockedRoom == none)
                    lockedRoom = roomState;
    
                continue;
            }
            
            if (roomState.ClearingRoom)
            {
                if (clearingRoom == none)
                    clearingRoom = roomState;
                
                continue;
            }
    
            if (roomState.UnderConstruction || roomState.HasFacility())
                continue;
    
            // Clean room
            return roomState;
        }
    
        if (clearingRoom != none)
        {
            CompleteClearRoom(clearingRoom);
            return clearingRoom;
        }
        
        if (lockedRoom != none)
        {
            StartClearRoom(lockedRoom);
            CompleteClearRoom(lockedRoom);
            return lockedRoom;
        }
    
        return none;
    }
    
    static simulated function StartClearRoom(XComGameState_HeadquartersRoom roomState)
    {
        roomState.StartClearRoom();
    }
    
    static simulated function CompleteClearRoom(XComGameState_HeadquartersRoom roomState)
    {
        XComGameState_HeadquartersProjectClearRoom(`XCOMHISTORY.GetGameStateForObjectID(roomState.GetReference().ObjectID)).OnProjectCompleted();
    }
    

     

     

     

    But get errors:

     

     

     

    [0013.57] Warning: SeqAct_ActivateRemoteEvent XComShell_Wilderness_Forest_Night.TheWorld:PersistentLevel.Main_Sequence.SeqAct_ActivateRemoteEvent_1 failed to fi
    nd target event: FinishedTransitionToShell
    [0014.32] ScriptWarning: Accessed None 'PC'
    UIShellStrategy XComShell_Wilderness_Forest_Night.TheWorld:PersistentLevel.UIShellStrategy_0
    Function XComGame.UIPauseMenu:InitScreen:03C6
    [0014.32] ScriptWarning: Accessed None
    UIShellStrategy XComShell_Wilderness_Forest_Night.TheWorld:PersistentLevel.UIShellStrategy_0
    Function XComGame.UIPauseMenu:InitScreen:03DB
    [0014.33] ScriptWarning: Accessed None 'PRES'
    UIShellStrategy XComShell_Wilderness_Forest_Night.TheWorld:PersistentLevel.UIShellStrategy_0
    Function XComGame.UIPauseMenu:InitScreen:044F
    [0014.33] ScriptWarning: Accessed None
    UIShellStrategy XComShell_Wilderness_Forest_Night.TheWorld:PersistentLevel.UIShellStrategy_0
    Function XComGame.UIPauseMenu:InitScreen:0463
    [0023.67] ScriptWarning: Accessed None 'GameRuleset'
    XComGameState_HeadquartersProjectBuildFacility Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_127.XComGameState_HeadquartersProjectBuildFac
    ility_0
    Function XComGame.XComGameState_HeadquartersProjectBuildFacility:SetProjectFocus:01B0
    [0023.67] ScriptWarning: Accessed None 'SoundManager'
    XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
    Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:037D
    [0023.67] ScriptWarning: Accessed None 'GameRuleset'
    XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
    Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0459
    [0023.67] ScriptWarning: Accessed None 'Game'
    XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
    Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0585
    [0023.67] ScriptWarning: Accessed None
    XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
    Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0599
    [0023.67] ScriptWarning: Accessed None
    XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
    Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:05AD
    [0023.67] Warning: Redscreen: ***Game State Created but Never Added to History***

    New Game State: CC Handle HQ Power State Change -- XComGameState_128

    Pending Game States:
    ==> CC Adding Facility Project -- XComGameState_127

    Stack:
    Script call stack:
    (Default__XComGameStateContext_ChangeContainer) XComGameStateContext_ChangeContainer::CreateChangeState
    (Default__X2StrategyGameRulesetDataStructures) X2StrategyGameRulesetDataStructures::CheckForPowerStateChange
    (XComGameState_HeadquartersXCom_90) XComGameState_HeadquartersXCom::AddFacilityProject
    (Default__X2DownloadableContentInfo_RichHeritage) X2DownloadableContentInfo_RichHeritage::BuildPsiChamber
    (Default__X2DownloadableContentInfo_RichHeritage) X2DownloadableContentInfo_RichHeritage::InstallNewCampaign
    (Default__XComGameStateContext_StrategyGameRule) XComGameStateContext_StrategyGameRule::CreateStrategyGameStart
    (UIShellDifficulty_0) UIShellDifficulty::OnDifficultyConfirm
    (UIChooseIronMan_0) UIChooseIronMan::ConfirmWithoutIronman
    (UILargeButto[0023.67] ScriptWarning: Accessed None 'Game'
    X2StrategyGameRulesetDataStructures XComGame.Default__X2StrategyGameRulesetDataStructures
    Function XComGame.X2StrategyGameRulesetDataStructures:ForceUpdateObjectivesUI:008F
    [0023.67] ScriptWarning: Accessed None
    X2StrategyGameRulesetDataStructures XComGame.Default__X2StrategyGameRulesetDataStructures
    Function XComGame.X2StrategyGameRulesetDataStructures:ForceUpdateObjectivesUI:00A3
    [0023.67] ScriptWarning: Accessed None
    X2StrategyGameRulesetDataStructures XComGame.Default__X2StrategyGameRulesetDataStructures
    Function XComGame.X2StrategyGameRulesetDataStructures:ForceUpdateObjectivesUI:00B7
    [0023.68] ScriptWarning: Accessed None
    X2StrategyGameRulesetDataStructures XComGame.Default__X2StrategyGameRulesetDataStructures
    Function XComGame.X2StrategyGameRulesetDataStructures:ForceUpdateObjectivesUI:00CB
    [0023.68] ScriptWarning: Accessed None 'Game'
    XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
    Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0916
    [0023.68] ScriptWarning: Accessed None
    XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
    Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:092B
    [0023.68] ScriptWarning: Accessed None
    XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
    Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0940
    [0023.68] ScriptWarning: Accessed None
    XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
    Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0954
    [0023.68] ScriptWarning: Accessed None
    X2DownloadableContentInfo_RichHeritage RichHeritage.Default__X2DownloadableContentInfo_RichHeritage
    Function RichHeritage.X2DownloadableContentInfo_RichHeritage:BuildPsiChamber:0136
    [0024.22] Log: --- LOADING MOVIE START ---
    [0024.67] Log: Movie Started Event: CIN_TP_Intro
    [0024.86] Warning: ***Game State Created but Never Added to History***

    New Game State: CC Handle HQ Power State Change -- XComGameState_128

    Pending Game States:
    ==> CC Adding Facility Project -- XComGameState_127

    Stack:
    Script call stack:
    (Default__XComGameStateContext_ChangeContainer) XComGameStateContext_ChangeContainer::CreateChangeState
    (Default__X2StrategyGameRulesetDataStructures) X2StrategyGameRulesetDataStructures::CheckForPowerStateChange
    (XComGameState_HeadquartersXCom_90) XComGameState_HeadquartersXCom::AddFacilityProject
    (Default__X2DownloadableContentInfo_RichHeritage) X2DownloadableContentInfo_RichHeritage::BuildPsiChamber
    (Default__X2DownloadableContentInfo_RichHeritage) X2DownloadableContentInfo_RichHeritage::InstallNewCampaign
    (Default__XComGameStateContext_StrategyGameRule) XComGameStateContext_StrategyGameRule::CreateStrategyGameStart
    (UIShellDifficulty_0) UIShellDifficulty::OnDifficultyConfirm
    (UIChooseIronMan_0) UIChooseIronMan::ConfirmWithoutIronman
    (UILargeButton_2) UIButt[0024.90] Warning: Property Object of EventObjectRef is not serializable for package: FArchive
    [0024.90] Warning: Property Object of EventObjectRef is not serializable for package: FArchive
    [0024.90] Warning: Property Object of EventObjectRef is not serializable for package: FArchive
    [0024.92] Log: ###### OnlineEventMgr waited 0.00 seconds for saves to complete

     

     

     

     

    As I understand these changes should be done through GameState and add to the history? How to do that?

  12. Some info about game resource files:

     

    About cat/cas:

     

    http://i.imgur.com/VCqvVRg.png

     

    Compression is used.

    After packing in archives, mod files can simply place into directory \Dragon Age Inquisition\Update\

×
×
  • Create New...