The IRemoveFrozenActor interface is replaced with a Remove method on FrozenActorLayer. IRemoveFrozenActor is a performance problem for FrozenActorLayer.Tick as it incurs a large cache miss penalty in order to load and enumerate the array of these interfaces for every frozen actor. Instead, we invert control and allow traits to remove frozen actors directly which eliminates the performance penalty.
158 lines
7.1 KiB
XML
158 lines
7.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<PropertyGroup>
|
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
<ProductVersion>9.0.30729</ProductVersion>
|
|
<SchemaVersion>2.0</SchemaVersion>
|
|
<ProjectGuid>{4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}</ProjectGuid>
|
|
<OutputType>Library</OutputType>
|
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
|
<RootNamespace>OpenRA.Mods.RA</RootNamespace>
|
|
<AssemblyName>OpenRA.Mods.RA</AssemblyName>
|
|
<FileAlignment>512</FileAlignment>
|
|
<FileUpgradeFlags>
|
|
</FileUpgradeFlags>
|
|
<OldToolsVersion>3.5</OldToolsVersion>
|
|
<UpgradeBackupLocation />
|
|
<PublishUrl>publish\</PublishUrl>
|
|
<Install>true</Install>
|
|
<InstallFrom>Disk</InstallFrom>
|
|
<UpdateEnabled>false</UpdateEnabled>
|
|
<UpdateMode>Foreground</UpdateMode>
|
|
<UpdateInterval>7</UpdateInterval>
|
|
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
|
<UpdatePeriodically>false</UpdatePeriodically>
|
|
<UpdateRequired>false</UpdateRequired>
|
|
<MapFileExtensions>true</MapFileExtensions>
|
|
<ApplicationRevision>0</ApplicationRevision>
|
|
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
|
<IsWebBootstrapper>false</IsWebBootstrapper>
|
|
<UseApplicationTrust>false</UseApplicationTrust>
|
|
<BootstrapperEnabled>true</BootstrapperEnabled>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
|
<DebugSymbols>true</DebugSymbols>
|
|
<DebugType>full</DebugType>
|
|
<OutputPath>bin\Debug\</OutputPath>
|
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
<PlatformTarget>x86</PlatformTarget>
|
|
<ErrorReport>prompt</ErrorReport>
|
|
<CustomCommands>
|
|
<CustomCommands>
|
|
<Command type="AfterBuild" command="cp ${TargetFile} ../mods/ra" workingdir="${ProjectDir}" />
|
|
<Command type="AfterBuild" command="cp ${TargetFile}.mdb ../mods/ra" workingdir="${ProjectDir}" />
|
|
</CustomCommands>
|
|
</CustomCommands>
|
|
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
|
<DebugSymbols>true</DebugSymbols>
|
|
<OutputPath>bin\Release\</OutputPath>
|
|
<DefineConstants>TRACE</DefineConstants>
|
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
|
<DebugType>pdbonly</DebugType>
|
|
<PlatformTarget>x86</PlatformTarget>
|
|
<ErrorReport>prompt</ErrorReport>
|
|
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
|
<Optimize>true</Optimize>
|
|
<CustomCommands>
|
|
<CustomCommands>
|
|
<Command type="AfterBuild" command="cp ${TargetFile} ../mods/ra" workingdir="${ProjectDir}" />
|
|
<Command type="AfterBuild" command="cp ${TargetFile}.mdb ../mods/ra" workingdir="${ProjectDir}" />
|
|
</CustomCommands>
|
|
</CustomCommands>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<Reference Include="System" />
|
|
<Reference Include="System.Core" />
|
|
<Reference Include="System.Drawing" />
|
|
<Reference Include="Eluant">
|
|
<HintPath>..\thirdparty\download\Eluant.dll</HintPath>
|
|
<Private>False</Private>
|
|
</Reference>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Compile Include="Activities\Infiltrate.cs" />
|
|
<Compile Include="Activities\LayMines.cs" />
|
|
<Compile Include="Activities\Leap.cs" />
|
|
<Compile Include="Activities\Teleport.cs" />
|
|
<Compile Include="Effects\GpsDot.cs" />
|
|
<Compile Include="Effects\GpsSatellite.cs" />
|
|
<Compile Include="Effects\SatelliteLaunch.cs" />
|
|
<Compile Include="Effects\TeslaZap.cs" />
|
|
<Compile Include="Graphics\TeslaZapRenderable.cs" />
|
|
<Compile Include="Scripting\Properties\InfiltrateProperties.cs" />
|
|
<Compile Include="Scripting\Properties\DisguiseProperties.cs" />
|
|
<Compile Include="Traits\Attack\AttackLeap.cs" />
|
|
<Compile Include="Traits\Buildings\ClonesProducedUnits.cs" />
|
|
<Compile Include="Traits\Chronoshiftable.cs" />
|
|
<Compile Include="Traits\Cloneable.cs" />
|
|
<Compile Include="Traits\Disguise.cs" />
|
|
<Compile Include="Traits\HarvesterHuskModifier.cs" />
|
|
<Compile Include="Traits\Infiltration\InfiltrateForCash.cs" />
|
|
<Compile Include="Traits\Infiltration\InfiltrateForExploration.cs" />
|
|
<Compile Include="Traits\Infiltration\InfiltrateForPowerOutage.cs" />
|
|
<Compile Include="Traits\Infiltration\InfiltrateForSupportPower.cs" />
|
|
<Compile Include="Traits\Infiltration\Infiltrates.cs" />
|
|
<Compile Include="Traits\MadTank.cs" />
|
|
<Compile Include="Traits\Mine.cs" />
|
|
<Compile Include="Traits\Minelayer.cs" />
|
|
<Compile Include="Traits\PaletteEffects\ChronoshiftPaletteEffect.cs" />
|
|
<Compile Include="Traits\PaletteEffects\LightPaletteRotator.cs" />
|
|
<Compile Include="Traits\PortableChrono.cs" />
|
|
<Compile Include="Traits\Render\RenderJammerCircle.cs" />
|
|
<Compile Include="Traits\Render\WithLandingCraftAnimation.cs" />
|
|
<Compile Include="Traits\Render\RenderShroudCircle.cs" />
|
|
<Compile Include="Traits\SupportPowers\ChronoshiftPower.cs" />
|
|
<Compile Include="Traits\SupportPowers\GpsPower.cs" />
|
|
<Compile Include="Traits\SupportPowers\ParatroopersPower.cs" />
|
|
<Compile Include="Scripting\Properties\ChronosphereProperties.cs" />
|
|
<Compile Include="Scripting\Properties\ParadropProperties.cs" />
|
|
<Compile Include="Scripting\Properties\ParatroopersProperties.cs" />
|
|
<Compile Include="Traits\Render\WithDisguisingInfantryBody.cs" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\OpenRA.Game\OpenRA.Game.csproj">
|
|
<Project>{0DFB103F-2962-400F-8C6D-E2C28CCBA633}</Project>
|
|
<Name>OpenRA.Game</Name>
|
|
<Private>False</Private>
|
|
</ProjectReference>
|
|
<ProjectReference Include="..\OpenRA.Mods.Common\OpenRA.Mods.Common.csproj">
|
|
<Project>{fe6c8cc0-2f07-442a-b29f-17617b3b7fc6}</Project>
|
|
<Name>OpenRA.Mods.Common</Name>
|
|
<Private>False</Private>
|
|
</ProjectReference>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
|
<Visible>False</Visible>
|
|
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
|
<Install>false</Install>
|
|
</BootstrapperPackage>
|
|
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
|
<Visible>False</Visible>
|
|
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
|
<Install>true</Install>
|
|
</BootstrapperPackage>
|
|
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
|
<Visible>False</Visible>
|
|
<ProductName>Windows Installer 3.1</ProductName>
|
|
<Install>true</Install>
|
|
</BootstrapperPackage>
|
|
</ItemGroup>
|
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
|
Other similar extension points exist, see Microsoft.Common.targets.
|
|
<Target Name="BeforeBuild">
|
|
</Target>
|
|
<Target Name="AfterBuild">
|
|
</Target>
|
|
-->
|
|
<PropertyGroup>
|
|
<PostBuildEvent>mkdir "$(SolutionDir)mods/ra/"
|
|
copy "$(TargetPath)" "$(SolutionDir)mods/ra/"
|
|
cd "$(SolutionDir)"</PostBuildEvent>
|
|
</PropertyGroup>
|
|
</Project> |