Procházet zdrojové kódy

msstore: use System.Xml.Linq to generate microsoftgame.config

main
Sam Hocevar před 8 měsíci
rodič
revize
bfdfeffee2
3 změnil soubory, kde provedl 48 přidání a 35 odebrání
  1. +11
    -15
      authoring/microsoftgame.template.config
  2. +0
    -1
      msbuild/default.props
  3. +37
    -19
      msbuild/kore.targets

+ 11
- 15
authoring/microsoftgame.template.config Zobrazit soubor

@@ -1,25 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">

<Identity Name="{LolXboxIdentityName}"
Publisher="CN={LolXboxPublisherId}"
Version="{LolXboxAppVersion}"/>
<Identity Name="#####" Publisher="#####" Version="#####"/>

<TitleId>#####</TitleId>
<MSAAppId>#####</MSAAppId>
<StoreId>#####</StoreId>

<TitleId>{LolXboxTitleId}</TitleId>
<MSAAppId>{LolXboxMSAAppId}</MSAAppId>
<StoreId>{LolXboxStoreId}</StoreId>
<ExecutableList>
<Executable Name="{TargetName}.exe"
TargetDeviceFamily="{PlatformName}"
<Executable Name="#####"
TargetDeviceFamily="#####"
Id="Game"/>
</ExecutableList>
<ShellVisuals DefaultDisplayName="{LolXboxDisplayName}"
PublisherDisplayName="{LolXboxPublisherName}"
<ShellVisuals DefaultDisplayName="#####"
PublisherDisplayName="#####"
Square150x150Logo="authoring/Square150x150Logo.png"
Square44x44Logo="authoring/Square44x44Logo.png"
Description="{ProjectName}"
Description="#####"
ForegroundText="light"
BackgroundColor="#464646"
SplashScreenImage="authoring/SplashScreenImage.png"
@@ -29,6 +27,4 @@
<Resource Language="en-us"/>
</Resources>

{AdditionalDeps}

</Game>

+ 0
- 1
msbuild/default.props Zobrazit soubor

@@ -36,7 +36,6 @@
<PropertyGroup Condition="$(PlatformIsWindows)">
<Keyword>Win32Proj</Keyword>
<GDKPCEditionPath>$(GRDKLatest)</GDKPCEditionPath>
<MGCToolExe>$(GRDKLatest)../../bin/makepkg.exe</MGCToolExe>
</PropertyGroup>

<!--


+ 37
- 19
msbuild/kore.targets Zobrazit soubor

@@ -37,31 +37,45 @@
<Output ParameterType="Microsoft.Build.Framework.ITaskItem" Required="true" />
</ParameterGroup>
<Task>
<Using Namespace="System.IO" />
<Using Namespace="System.Text.RegularExpressions" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
<Using Namespace="System.Xml.Linq" />
<Code Type="Fragment" Language="cs"><![CDATA[
var data = File.ReadAllText(Input.ItemSpec).Replace("\r\n", "\n");
data = data.Replace("{LolXboxIdentityName}", "$(LolXboxIdentityName)");
data = data.Replace("{LolXboxAppVersion}", "$(LolXboxAppVersion)");
data = data.Replace("{LolXboxPublisherId}", "$(LolXboxPublisherId)");
data = data.Replace("{LolXboxTitleId}", "$(LolXboxTitleId)");
data = data.Replace("{LolXboxMSAAppId}", "$(LolXboxMSAAppId)");
data = data.Replace("{LolXboxStoreId}", "$(LolXboxStoreId)");
data = data.Replace("{TargetName}", "$(TargetName)");
if("$(Platform)"=="x64")
var doc = XDocument.Load(Input.ItemSpec);

var game = doc.Element("Game");
game.Element("TitleId").Value = "$(LolXboxTitleId)";
game.Element("MSAAppId").Value = "$(LolXboxMSAAppId)";
game.Element("StoreId").Value = "$(LolXboxStoreId)";

var id = game.Element("Identity");
id.Attribute("Name").Value = "$(LolXboxIdentityName)";
id.Attribute("Publisher").Value = "CN=$(LolXboxPublisherId)";
id.Attribute("Version").Value = "$(LolXboxAppVersion)";

var exe = game.Element("ExecutableList").Element("Executable");
exe.Attribute("Name").Value = "$(TargetName).exe";

if ("$(Platform)" == "x64")
{
data = data.Replace("{PlatformName}", "PC" );
data = data.Replace("{AdditionalDeps}", "<DesktopRegistration><DependencyList><KnownDependency Name='VC14'/></DependencyList></DesktopRegistration>");
exe.Attribute("TargetDeviceFamily").Value = "PC";

game.Add(new XElement("DesktopRegistration",
new XElement("DependencyList",
new XElement("KnownDependency",
new XAttribute("Name", "VC14")))));
}
else
{
data = data.Replace("{PlatformName}", "Scarlett");
data = data.Replace("{AdditionalDeps}", "");
exe.Attribute("TargetDeviceFamily").Value = "Scarlett";
}
data = data.Replace("{LolXboxDisplayName}", "$(LolXboxDisplayName)");
data = data.Replace("{LolXboxPublisherName}", "$(LolXboxPublisherName)");
data = data.Replace("{ProjectName}", "$(ProjectName)");
File.WriteAllText(Output.ItemSpec, data.Replace("\n", "\r\n"));

var vis = game.Element("ShellVisuals");
vis.Attribute("Description").Value = "$(ProjectName)";
vis.Attribute("DefaultDisplayName").Value = "$(LolXboxDisplayName)";
vis.Attribute("PublisherDisplayName").Value = "$(LolXboxPublisherName)";

doc.Save(Output.ItemSpec);

var filename = Output.GetMetadata("Filename") + Output.GetMetadata("Extension");
Input.SetMetadata("ExecutionDescription", filename + " [generated]");
@@ -91,6 +105,10 @@
<Target Name="_LolPackageXboxProject" AfterTargets="Link"
Condition="Exists('$(LolXboxAuthoringFolder)') and '$(LolXboxPackageProject)'=='true' and '$(PublishForXbox)'=='true' and $(SECRETLEKB) != ''">

<PropertyGroup>
<MGCToolExe>$(GRDKLatest)../../bin/makepkg.exe</MGCToolExe>
</PropertyGroup>

<!-- Copy authoring files -->
<ItemGroup>
<XboxAuthoringFiles Include="$(ProjectDir)/$(LolXboxAuthoringFolder)/**/*.*"/>


Načítá se…
Zrušit
Uložit