Skip to content

Conversation

@Xymanek
Copy link
Member

@Xymanek Xymanek commented Feb 10, 2020

Closes #771

This PR removes the old separate-component-based DLC CHL approach. It was confirmed that if one doesn't own DLC2, the replacement package doesn't load, as such I decided to ship it together with main CHL for better player UX. Log comparison:

[0013.04] Log: X2WOTCCommunityHighlander: Creating CHXCOMGameVersionTemplate...
[0013.04] Log: X2WOTCCommunityHighlander: Created CHXCOMGameVersionTemplate with version 1.20.0
[0013.04] Log: X2WOTCCommunityHighlander: Creating Engine version template...
[0013.04] Log: X2WOTCCommunityHighlander: Created Engine version template with version 1.20.0
[0013.53] DLC2CommunityHighlander: CreateTemplates
[0013.53] DLC2CommunityHighlander: Creating CHDLC2Version with version 1.20.0
[0015.16] X2WOTCCommunityHighlander: Companion script package loaded
[0015.16] X2WOTCCommunityHighlander: Components:
[0035.83] Log: X2WOTCCommunityHighlander: Creating CHXCOMGameVersionTemplate...
[0035.83] Log: X2WOTCCommunityHighlander: Created CHXCOMGameVersionTemplate with version 1.20.0
[0035.83] Log: X2WOTCCommunityHighlander: Creating Engine version template...
[0035.83] Log: X2WOTCCommunityHighlander: Created Engine version template with version 1.20.0
[0037.54] X2WOTCCommunityHighlander: Companion script package loaded
[0037.54] X2WOTCCommunityHighlander: Components:

Possible conflicts:

  • Another mod ships DLC_2.u. Don't think we can do much here but I also don't think this is the case
  • Some mod does +NonNativePackages=DLC_2 in config. I think it's safe to assume that such mod will have DLC2 in the requirements list and thus not installed by non-DLC2-owners

@robojumper plz review. I suggest looking at individual commits for easier understanding of what's happening

TODO:

@Xymanek Xymanek requested a review from robojumper February 10, 2020 09:05
Copy link
Member

@robojumper robojumper left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The components version/presence check needs updating too.

static function array<CHLComponent> GetComponentInfo()
{
local X2StrategyElementTemplateManager Manager;
local X2StrategyElementTemplate SelfVersion;
// local array<string> DLCNames;
local array<CHLComponent> Comps;
Manager = class'X2StrategyElementTemplateManager'.static.GetStrategyElementTemplateManager();
// DLCNames = class'Helpers'.static.GetInstalledDLCNames();
SelfVersion = Manager.FindStrategyElementTemplate('CHWOTCVersion');
Comps.AddItem(BuildComponent(SelfVersion, none, "X2WOTCCommunityHighlander", true, true));
Comps.AddItem(BuildComponent(Manager.FindStrategyElementTemplate('CHEngineVersion'), SelfVersion, "Engine", true, true));
Comps.AddItem(BuildComponent(Manager.FindStrategyElementTemplate('CHXComGameVersion'), SelfVersion, "XComGame", true, true));
/* FIXME: Uncomment when a DLC 2 Highlander is added
if (DLCNames.Find("DLC_2") != INDEX_NONE)
{
Comps.AddItem(BuildComponent(Manager.FindStrategyElementTemplate('CHDLC2Version'), SelfVersion, "DLC_2", false, default.DLC2ReplacementEnabled));
}
*/
/* FIXME: Uncomment when a DLC_3 Highlander is added
if (DLCNames.Find("DLC_3") != INDEX_NONE)
{
Comps.AddItem(BuildComponent(Manager.FindStrategyElementTemplate('CHDLC3Version'), SelfVersion, "DLC_3", false, default.DLC3ReplacementEnabled));
}
*/
return Comps;
}

@Xymanek
Copy link
Member Author

Xymanek commented Feb 12, 2020

@ robo's comment:
image

@Xymanek
Copy link
Member Author

Xymanek commented Mar 2, 2020

image

[0023.38] X2WOTCCommunityHighlander: Companion script package loaded
[0023.39] X2WOTCCommunityHighlander: Components:
[0023.39] X2WOTCCommunityHighlander:   X2WOTCCommunityHighlander -- v1.20.0 (faf519)
[0023.39] X2WOTCCommunityHighlander:   Engine -- v1.20.0 (faf519)
[0023.39] X2WOTCCommunityHighlander:   XComGame -- v1.20.0 (faf519)
[0023.39] X2WOTCCommunityHighlander:   DLC_2 -- v1.20.0 (faf519)

image

[0023.65] X2WOTCCommunityHighlander: Companion script package loaded
[0023.66] X2WOTCCommunityHighlander: Components:
[0023.66] X2WOTCCommunityHighlander:   X2WOTCCommunityHighlander -- v1.20.0 (faf519)
[0023.66] X2WOTCCommunityHighlander:   Engine -- v1.20.0 (faf519)
[0023.67] X2WOTCCommunityHighlander:   XComGame -- v1.20.0 (faf519)
[0023.67] X2WOTCCommunityHighlander:   DLC_2 -- NOT LOADED - REQUIRED
[0023.67] X2WOTCCommunityHighlander: Required packages were not loaded. Please consult https://github.com/X2CommunityCore/X2WOTCCommunityHighlander/wiki/Troubleshooting for further information

We may need to also add something to this part (where? OPTC? CreateTemplates?):

[0020.13] Log: X2WOTCCommunityHighlander: Creating CHXCOMGameVersionTemplate...
[0020.13] Log: X2WOTCCommunityHighlander: Created CHXCOMGameVersionTemplate with version 1.20.0
[0020.14] Log: X2WOTCCommunityHighlander: Creating Engine version template...
[0020.14] Log: X2WOTCCommunityHighlander: Created Engine version template with version 1.20.0

@Xymanek Xymanek requested a review from robojumper March 2, 2020 12:29
Copy link
Member

@robojumper robojumper left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we deprecate the templates and here instead use the classes for XComGame and Engine too?

@Xymanek
Copy link
Member Author

Xymanek commented Mar 2, 2020

I think that would be more suitable for a separate PR

@robojumper
Copy link
Member

... modulo Docs.

@Xymanek
Copy link
Member Author

Xymanek commented Mar 2, 2020

@robojumper docs added, should be ready for merging. I suggest we don't delay that, since this PR has code that other stuff relies on (eg. #790, #764 for the new version check infrastructure)

@robojumper robojumper merged commit 36a5889 into X2CommunityCore:master Mar 2, 2020
@robojumper robojumper deleted the waiting-rulers branch March 2, 2020 19:48
@Musashi1584 Musashi1584 added this to the 1.21.0 milestone Apr 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove XPack integration check in XCGS_AlienRulerManager GetRulerLocatedAtMission

3 participants