mirror of
https://github.com/crskycode/GARbro.git
synced 2026-07-08 01:30:18 +08:00
(Experimental): implemented IPT composite images.
use LEX/YACC to parse IPT files.
This commit is contained in:
@@ -78,13 +78,16 @@
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Artemis\ImageIPT.cs" />
|
||||
<Compile Include="Cabinet\ArcCAB.cs" />
|
||||
<Compile Include="CellWorks\ArcDB.cs" />
|
||||
<Compile Include="Artemis\GplexBuffers.cs" />
|
||||
<Compile Include="Opus\AudioOPUS.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="RPGMaker\ArcRGSS.cs" />
|
||||
<Compile Include="RPGMaker\AudioRPGMV.cs" />
|
||||
<Compile Include="RPGMaker\ImageRPGMV.cs" />
|
||||
<Compile Include="Artemis\ShiftReduceParserCode.cs" />
|
||||
<Compile Include="WebP\ImageWEBP.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -109,11 +112,47 @@
|
||||
<ItemGroup>
|
||||
<Folder Include="Key\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Label="IPTFiles">
|
||||
<Compile Include="Artemis\IPT.Parser.cs">
|
||||
<DependentUpon>IPT.parser</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Artemis\IPT.Parser.Generated.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>IPT.Language.grammar.y</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Artemis\IPT.Scanner.cs">
|
||||
<DependentUpon>IPT.parser</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Artemis\IPT.Scanner.Generated.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>IPT.Language.analyzer.lex</DependentUpon>
|
||||
</Compile>
|
||||
<None Include="Artemis\IPT.Language.analyzer.lex">
|
||||
<DependentUpon>IPT.parser</DependentUpon>
|
||||
</None>
|
||||
<None Include="Artemis\IPT.Language.grammar.y">
|
||||
<DependentUpon>IPT.parser</DependentUpon>
|
||||
</None>
|
||||
<None Include="Artemis\IPT.parser" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="YltParsers">
|
||||
<Names>ipt</Names>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PreBuildEvent>perl "$(SolutionDir)inc-revision.pl" "$(ProjectPath)" $(ConfigurationName)
|
||||
exit 0</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="YltProperties">
|
||||
<YltTools>$(SolutionDir)packages\YaccLexTools.0.2.2\tools\</YltTools>
|
||||
<GplexTool>"$(YltTools)gplex.exe"</GplexTool>
|
||||
<GppgTool>"$(YltTools)gppg.exe"</GppgTool>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="GenerateIPTProperties">
|
||||
<IPTParser>$(ProjectDir)Artemis\IPT</IPTParser>
|
||||
</PropertyGroup>
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
@@ -123,6 +162,18 @@ exit 0</PreBuildEvent>
|
||||
</Target>
|
||||
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
|
||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.109.2\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.109.2\build\net46\System.Data.SQLite.Core.targets')" />
|
||||
<Target Name="BeforeBuild" DependsOnTargets="YltBuildGen" />
|
||||
<Target Name="YltBuildGen" DependsOnTargets="GenerateIPT" />
|
||||
<Target Name="GenerateIPT" Inputs="$(IPTParser).Language.analyzer.lex;$(IPTParser).Language.grammar.y" Outputs="$(IPTParser).Scanner.Generated.cs;$(IPTParser).Parser.Generated.cs">
|
||||
<Message Text="Generating scanner for $(IPTParser) ..." />
|
||||
<Exec Command="$(GplexTool) /codePage:UTF-8 "/out:$(IPTParser).Scanner.Generated.cs" "$(IPTParser).Language.analyzer.lex"" WorkingDirectory="$(ProjectDir)Artemis" Outputs="$(GenDir)Scanner.cs">
|
||||
<Output TaskParameter="Outputs" ItemName="IPTScanner" />
|
||||
</Exec>
|
||||
<Message Text="Generating parser for $(IPTParser) ..." />
|
||||
<Exec Command="$(GppgTool) /no-lines /gplex "$(IPTParser).Language.grammar.y" > "$(IPTParser).Parser.Generated.cs"" WorkingDirectory="$(ProjectDir)" Outputs="$(IPTParser).Parser.Generated.cs">
|
||||
<Output TaskParameter="Outputs" ItemName="IPT" />
|
||||
</Exec>
|
||||
</Target>
|
||||
<!-- 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">
|
||||
|
||||
Reference in New Issue
Block a user