agate-svn-commit Mailing List for AgateLib (Page 8)
Status: Alpha
Brought to you by:
kanato
You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
(86) |
May
(77) |
Jun
|
Jul
(1) |
Aug
(31) |
Sep
(12) |
Oct
(31) |
Nov
(53) |
Dec
(39) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(53) |
Feb
(14) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
(7) |
Dec
(13) |
2011 |
Jan
(17) |
Feb
(5) |
Mar
(1) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(10) |
Nov
(21) |
Dec
|
2012 |
Jan
(6) |
Feb
(14) |
Mar
(5) |
Apr
(4) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
(1) |
Feb
(8) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
(1) |
Oct
(5) |
Nov
(9) |
Dec
(5) |
2014 |
Jan
(3) |
Feb
(2) |
Mar
(4) |
Apr
(3) |
May
|
Jun
(5) |
Jul
(33) |
Aug
(69) |
Sep
(35) |
Oct
(4) |
Nov
(1) |
Dec
|
From: <ka...@us...> - 2013-10-31 05:13:46
|
Revision: 1362 http://sourceforge.net/p/agate/code/1362 Author: kanato Date: 2013-10-31 05:13:43 +0000 (Thu, 31 Oct 2013) Log Message: ----------- Add Everything solution. Fix SurfacePacker for video cards that report very large max surface size. Modified Paths: -------------- trunk/AgateLib/Utility/SurfacePacker.cs trunk/AgateLib.sln trunk/UnitTests/UnitTests.csproj Added Paths: ----------- trunk/AgateLib-Everything.sln Modified: trunk/AgateLib/Utility/SurfacePacker.cs =================================================================== --- trunk/AgateLib/Utility/SurfacePacker.cs 2013-10-27 18:51:37 UTC (rev 1361) +++ trunk/AgateLib/Utility/SurfacePacker.cs 2013-10-31 05:13:43 UTC (rev 1362) @@ -400,6 +400,13 @@ public void PackQueue() { Size size = Display.MaxSurfaceSize; + + // Cap the size to avoid running out of memory. + // An ATI Radeon 7850 will apparently report a max surface size of 16384x16384, which would take + // a GB of memory for the surface. We shouldn't preallocate that much space. + if (size.Width > 2048) size.Width = 2048; + if (size.Height > 2048) size.Height = 2048; + PackedSurface packedSurf = new PackedSurface(size); foreach (Surface surf in mSurfQueue) Added: trunk/AgateLib-Everything.sln =================================================================== --- trunk/AgateLib-Everything.sln (rev 0) +++ trunk/AgateLib-Everything.sln 2013-10-31 05:13:43 UTC (rev 1362) @@ -0,0 +1,567 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Files", "Solution Files", "{6AFA2E43-361A-4AA6-83D9-6DE946C1F0B6}" + ProjectSection(SolutionItems) = preProject + ChangeLog.txt = ChangeLog.txt + ReleaseNotes.txt = ReleaseNotes.txt + TODO.txt = TODO.txt + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests.csproj", "{DC687DB2-90A8-484D-AB99-B3D29FDD8D44}" + ProjectSection(ProjectDependencies) = postProject + {9E095F03-BA3F-4EAD-A905-2A2647CE4405} = {9E095F03-BA3F-4EAD-A905-2A2647CE4405} + {EF993B30-D9A9-4962-80BB-6826D39B3465} = {EF993B30-D9A9-4962-80BB-6826D39B3465} + {164A785D-924E-40FB-A517-D7E677F3B53A} = {164A785D-924E-40FB-A517-D7E677F3B53A} + {00C7FA95-98F4-43D9-9B63-34122B1DB003} = {00C7FA95-98F4-43D9-9B63-34122B1DB003} + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AgateLib.WinForms", "Drivers\AgateLib.WinForms\AgateLib.WinForms.csproj", "{BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AgateDrawing", "Drivers\AgateDrawing\AgateDrawing.csproj", "{164A785D-924E-40FB-A517-D7E677F3B53A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AgateSDL", "Drivers\AgateSDL\AgateSDL.csproj", "{00C7FA95-98F4-43D9-9B63-34122B1DB003}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AgateSDX", "Drivers\AgateSDX\AgateSDX.csproj", "{EF993B30-D9A9-4962-80BB-6826D39B3465}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AgateLib", "AgateLib\AgateLib.csproj", "{9490B719-829E-43A7-A5FE-8001F8A81759}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AgateFMOD", "Drivers\AgateFMOD\AgateFMOD.csproj", "{424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AgateOTK", "Drivers\AgateOTK\AgateOTK.csproj", "{9E095F03-BA3F-4EAD-A905-2A2647CE4405}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests", "UnitTests\UnitTests.csproj", "{F22ADCCC-7991-4F52-B2D0-697D60121BB3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "Tools\ResourceEditor\ResourceEditor.csproj", "{FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackedSpriteCreator", "Tools\PackedSpriteCreator\PackedSpriteCreator.csproj", "{C653C244-F604-4BA4-8822-D04FA9ACEFA5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FontCreator", "Tools\FontCreator\FontCreator.csproj", "{A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NotebookLib", "Tools\NotebookLib\NotebookLib\NotebookLib.csproj", "{91F57346-B574-4D52-9EB0-AA191B552C94}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AgateDataLib", "Tools\AgateDataLib\AgateDataLib.csproj", "{2F7A686B-2272-4803-9EF9-0B34BA7802DC}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DatabaseEditor", "Tools\DatabaseEditor\DatabaseEditor.csproj", "{685E7B82-4609-4ABB-B25B-0DC7C58BD45F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BallBuster.Net", "Examples\BallBuster.Net\BallBuster.Net.csproj", "{DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShootTheTraps", "Examples\ShootTheTraps\ShootTheTraps.csproj", "{50743D1B-A19E-42F1-842F-65FAD6D168C3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pong", "Examples\Pong\Pong.csproj", "{436641C4-846C-42D0-8E8F-95F70E211D22}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|Mixed Platforms = Debug|Mixed Platforms + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Public|Any CPU = Public|Any CPU + Public|Mixed Platforms = Public|Mixed Platforms + Public|Win32 = Public|Win32 + Public|x64 = Public|x64 + Public|x86 = Public|x86 + Release|Any CPU = Release|Any CPU + Release|Mixed Platforms = Release|Mixed Platforms + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Debug|Win32.ActiveCfg = Debug|x86 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Debug|x64.ActiveCfg = Debug|x64 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Debug|x64.Build.0 = Debug|x64 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Debug|x86.ActiveCfg = Debug|x86 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Debug|x86.Build.0 = Debug|x86 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Public|Any CPU.ActiveCfg = Release|x86 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Public|Mixed Platforms.ActiveCfg = Release|x86 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Public|Mixed Platforms.Build.0 = Release|x86 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Public|Win32.ActiveCfg = Release|x86 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Public|x64.ActiveCfg = Release|x86 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Public|x86.ActiveCfg = Release|x86 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Public|x86.Build.0 = Release|x86 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Release|Any CPU.Build.0 = Release|Any CPU + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Release|Mixed Platforms.Build.0 = Release|x86 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Release|Win32.ActiveCfg = Release|x86 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Release|x64.ActiveCfg = Release|x64 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Release|x64.Build.0 = Release|x64 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Release|x86.ActiveCfg = Release|x86 + {DC687DB2-90A8-484D-AB99-B3D29FDD8D44}.Release|x86.Build.0 = Release|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Debug|Win32.ActiveCfg = Debug|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Debug|x64.ActiveCfg = Debug|x64 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Debug|x64.Build.0 = Debug|x64 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Debug|x86.ActiveCfg = Debug|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Debug|x86.Build.0 = Debug|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Public|Any CPU.ActiveCfg = Release|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Public|Mixed Platforms.ActiveCfg = Release|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Public|Mixed Platforms.Build.0 = Release|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Public|Win32.ActiveCfg = Release|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Public|x64.ActiveCfg = Release|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Public|x86.ActiveCfg = Release|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Public|x86.Build.0 = Release|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Release|Any CPU.Build.0 = Release|Any CPU + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Release|Mixed Platforms.Build.0 = Release|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Release|Win32.ActiveCfg = Release|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Release|x64.ActiveCfg = Release|x64 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Release|x64.Build.0 = Release|x64 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Release|x86.ActiveCfg = Release|x86 + {BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}.Release|x86.Build.0 = Release|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {164A785D-924E-40FB-A517-D7E677F3B53A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {164A785D-924E-40FB-A517-D7E677F3B53A}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Debug|Win32.ActiveCfg = Debug|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Debug|x64.ActiveCfg = Debug|x64 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Debug|x64.Build.0 = Debug|x64 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Debug|x86.ActiveCfg = Debug|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Debug|x86.Build.0 = Debug|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Public|Any CPU.ActiveCfg = Release|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Public|Mixed Platforms.ActiveCfg = Release|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Public|Mixed Platforms.Build.0 = Release|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Public|Win32.ActiveCfg = Release|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Public|x64.ActiveCfg = Release|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Public|x86.ActiveCfg = Release|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Public|x86.Build.0 = Release|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {164A785D-924E-40FB-A517-D7E677F3B53A}.Release|Any CPU.Build.0 = Release|Any CPU + {164A785D-924E-40FB-A517-D7E677F3B53A}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Release|Mixed Platforms.Build.0 = Release|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Release|Win32.ActiveCfg = Release|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Release|x64.ActiveCfg = Release|x64 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Release|x64.Build.0 = Release|x64 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Release|x86.ActiveCfg = Release|x86 + {164A785D-924E-40FB-A517-D7E677F3B53A}.Release|x86.Build.0 = Release|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Debug|Any CPU.Build.0 = Debug|Any CPU + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Debug|Win32.ActiveCfg = Debug|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Debug|x64.ActiveCfg = Debug|x64 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Debug|x64.Build.0 = Debug|x64 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Debug|x86.ActiveCfg = Debug|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Debug|x86.Build.0 = Debug|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Public|Any CPU.ActiveCfg = Release|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Public|Mixed Platforms.ActiveCfg = Release|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Public|Mixed Platforms.Build.0 = Release|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Public|Win32.ActiveCfg = Release|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Public|x64.ActiveCfg = Release|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Public|x86.ActiveCfg = Release|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Public|x86.Build.0 = Release|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Release|Any CPU.ActiveCfg = Release|Any CPU + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Release|Any CPU.Build.0 = Release|Any CPU + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Release|Mixed Platforms.Build.0 = Release|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Release|Win32.ActiveCfg = Release|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Release|x64.ActiveCfg = Release|x64 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Release|x64.Build.0 = Release|x64 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Release|x86.ActiveCfg = Release|x86 + {00C7FA95-98F4-43D9-9B63-34122B1DB003}.Release|x86.Build.0 = Release|x86 + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Debug|Win32.ActiveCfg = Debug|Any CPU + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Debug|x64.ActiveCfg = Debug|x64 + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Debug|x64.Build.0 = Debug|x64 + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Debug|x86.ActiveCfg = Debug|x86 + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Debug|x86.Build.0 = Debug|x86 + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Public|Any CPU.ActiveCfg = Release|Any CPU + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Public|Any CPU.Build.0 = Release|Any CPU + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Public|Mixed Platforms.ActiveCfg = Release|Any CPU + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Public|Mixed Platforms.Build.0 = Release|Any CPU + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Public|Win32.ActiveCfg = Release|Any CPU + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Public|x64.ActiveCfg = Release|x64 + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Public|x64.Build.0 = Release|x64 + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Public|x86.ActiveCfg = Release|x64 + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Release|Any CPU.Build.0 = Release|Any CPU + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Release|Win32.ActiveCfg = Release|Any CPU + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Release|x64.ActiveCfg = Release|x64 + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Release|x64.Build.0 = Release|x64 + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Release|x86.ActiveCfg = Release|x86 + {EF993B30-D9A9-4962-80BB-6826D39B3465}.Release|x86.Build.0 = Release|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9490B719-829E-43A7-A5FE-8001F8A81759}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9490B719-829E-43A7-A5FE-8001F8A81759}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Debug|Win32.ActiveCfg = Debug|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Debug|x64.ActiveCfg = Debug|x64 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Debug|x64.Build.0 = Debug|x64 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Debug|x86.ActiveCfg = Debug|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Debug|x86.Build.0 = Debug|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Public|Any CPU.ActiveCfg = Release|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Public|Mixed Platforms.ActiveCfg = Release|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Public|Mixed Platforms.Build.0 = Release|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Public|Win32.ActiveCfg = Release|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Public|x64.ActiveCfg = Release|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Public|x86.ActiveCfg = Release|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Public|x86.Build.0 = Release|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9490B719-829E-43A7-A5FE-8001F8A81759}.Release|Any CPU.Build.0 = Release|Any CPU + {9490B719-829E-43A7-A5FE-8001F8A81759}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Release|Mixed Platforms.Build.0 = Release|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Release|Win32.ActiveCfg = Release|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Release|x64.ActiveCfg = Release|x64 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Release|x64.Build.0 = Release|x64 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Release|x86.ActiveCfg = Release|x86 + {9490B719-829E-43A7-A5FE-8001F8A81759}.Release|x86.Build.0 = Release|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Debug|Win32.ActiveCfg = Debug|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Debug|x64.ActiveCfg = Debug|x64 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Debug|x64.Build.0 = Debug|x64 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Debug|x86.ActiveCfg = Debug|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Debug|x86.Build.0 = Debug|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Public|Any CPU.ActiveCfg = Release|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Public|Mixed Platforms.ActiveCfg = Release|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Public|Mixed Platforms.Build.0 = Release|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Public|Win32.ActiveCfg = Release|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Public|x64.ActiveCfg = Release|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Public|x86.ActiveCfg = Release|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Public|x86.Build.0 = Release|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Release|Any CPU.Build.0 = Release|Any CPU + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Release|Mixed Platforms.Build.0 = Release|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Release|Win32.ActiveCfg = Release|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Release|x64.ActiveCfg = Release|x64 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Release|x64.Build.0 = Release|x64 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Release|x86.ActiveCfg = Release|x86 + {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Release|x86.Build.0 = Release|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Debug|Win32.ActiveCfg = Debug|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Debug|x64.ActiveCfg = Debug|x64 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Debug|x64.Build.0 = Debug|x64 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Debug|x86.ActiveCfg = Debug|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Debug|x86.Build.0 = Debug|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Public|Any CPU.ActiveCfg = Release|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Public|Mixed Platforms.ActiveCfg = Release|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Public|Mixed Platforms.Build.0 = Release|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Public|Win32.ActiveCfg = Release|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Public|x64.ActiveCfg = Release|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Public|x86.ActiveCfg = Release|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Public|x86.Build.0 = Release|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Release|Any CPU.Build.0 = Release|Any CPU + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Release|Mixed Platforms.Build.0 = Release|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Release|Win32.ActiveCfg = Release|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Release|x64.ActiveCfg = Release|x64 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Release|x64.Build.0 = Release|x64 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Release|x86.ActiveCfg = Release|x86 + {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Release|x86.Build.0 = Release|x86 + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|Win32.ActiveCfg = Debug|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|x64.ActiveCfg = Debug|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|x86.ActiveCfg = Debug|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Public|Any CPU.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Public|Any CPU.Build.0 = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Public|Mixed Platforms.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Public|Mixed Platforms.Build.0 = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Public|Win32.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Public|x64.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Public|x86.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|Any CPU.Build.0 = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|Win32.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|x64.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|x86.ActiveCfg = Release|Any CPU + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Debug|Win32.ActiveCfg = Debug|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Debug|Win32.Build.0 = Debug|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Debug|x64.ActiveCfg = Debug|x64 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Debug|x64.Build.0 = Debug|x64 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Debug|x86.ActiveCfg = Debug|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Debug|x86.Build.0 = Debug|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Public|Any CPU.ActiveCfg = Release|Any CPU + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Public|Any CPU.Build.0 = Release|Any CPU + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Public|Mixed Platforms.ActiveCfg = Release|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Public|Mixed Platforms.Build.0 = Release|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Public|Win32.ActiveCfg = Release|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Public|Win32.Build.0 = Release|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Public|x64.ActiveCfg = Release|x64 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Public|x64.Build.0 = Release|x64 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Public|x86.ActiveCfg = Release|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Public|x86.Build.0 = Release|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Release|Any CPU.Build.0 = Release|Any CPU + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Release|Mixed Platforms.Build.0 = Release|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Release|Win32.ActiveCfg = Release|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Release|Win32.Build.0 = Release|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Release|x64.ActiveCfg = Release|x64 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Release|x64.Build.0 = Release|x64 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Release|x86.ActiveCfg = Release|x86 + {FAB0D7E5-E6AF-4B29-BFE1-6545D6C22621}.Release|x86.Build.0 = Release|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Debug|Win32.ActiveCfg = Debug|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Debug|Win32.Build.0 = Debug|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Debug|x64.ActiveCfg = Debug|x64 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Debug|x64.Build.0 = Debug|x64 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Debug|x86.ActiveCfg = Debug|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Debug|x86.Build.0 = Debug|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Public|Any CPU.ActiveCfg = Release|Any CPU + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Public|Any CPU.Build.0 = Release|Any CPU + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Public|Mixed Platforms.ActiveCfg = Release|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Public|Mixed Platforms.Build.0 = Release|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Public|Win32.ActiveCfg = Release|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Public|Win32.Build.0 = Release|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Public|x64.ActiveCfg = Release|x64 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Public|x64.Build.0 = Release|x64 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Public|x86.ActiveCfg = Release|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Public|x86.Build.0 = Release|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Release|Any CPU.Build.0 = Release|Any CPU + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Release|Mixed Platforms.Build.0 = Release|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Release|Win32.ActiveCfg = Release|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Release|Win32.Build.0 = Release|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Release|x64.ActiveCfg = Release|x64 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Release|x64.Build.0 = Release|x64 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Release|x86.ActiveCfg = Release|x86 + {C653C244-F604-4BA4-8822-D04FA9ACEFA5}.Release|x86.Build.0 = Release|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Debug|Win32.ActiveCfg = Debug|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Debug|Win32.Build.0 = Debug|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Debug|x64.ActiveCfg = Debug|x64 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Debug|x64.Build.0 = Debug|x64 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Debug|x86.ActiveCfg = Debug|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Debug|x86.Build.0 = Debug|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Public|Any CPU.ActiveCfg = Release|Any CPU + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Public|Any CPU.Build.0 = Release|Any CPU + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Public|Mixed Platforms.ActiveCfg = Release|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Public|Mixed Platforms.Build.0 = Release|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Public|Win32.ActiveCfg = Release|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Public|Win32.Build.0 = Release|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Public|x64.ActiveCfg = Release|x64 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Public|x64.Build.0 = Release|x64 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Public|x86.ActiveCfg = Release|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Public|x86.Build.0 = Release|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Release|Any CPU.Build.0 = Release|Any CPU + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Release|Mixed Platforms.Build.0 = Release|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Release|Win32.ActiveCfg = Release|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Release|Win32.Build.0 = Release|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Release|x64.ActiveCfg = Release|x64 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Release|x64.Build.0 = Release|x64 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Release|x86.ActiveCfg = Release|x86 + {A18DEAA1-EB7F-4B4A-B93A-83A2CAD5954A}.Release|x86.Build.0 = Release|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {91F57346-B574-4D52-9EB0-AA191B552C94}.Debug|Any CPU.Build.0 = Debug|Any CPU + {91F57346-B574-4D52-9EB0-AA191B552C94}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Debug|Win32.ActiveCfg = Debug|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Debug|Win32.Build.0 = Debug|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Debug|x64.ActiveCfg = Debug|x64 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Debug|x64.Build.0 = Debug|x64 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Debug|x86.ActiveCfg = Debug|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Debug|x86.Build.0 = Debug|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Public|Any CPU.ActiveCfg = Release|Any CPU + {91F57346-B574-4D52-9EB0-AA191B552C94}.Public|Any CPU.Build.0 = Release|Any CPU + {91F57346-B574-4D52-9EB0-AA191B552C94}.Public|Mixed Platforms.ActiveCfg = Release|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Public|Mixed Platforms.Build.0 = Release|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Public|Win32.ActiveCfg = Release|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Public|Win32.Build.0 = Release|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Public|x64.ActiveCfg = Release|x64 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Public|x64.Build.0 = Release|x64 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Public|x86.ActiveCfg = Release|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Public|x86.Build.0 = Release|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Release|Any CPU.ActiveCfg = Release|Any CPU + {91F57346-B574-4D52-9EB0-AA191B552C94}.Release|Any CPU.Build.0 = Release|Any CPU + {91F57346-B574-4D52-9EB0-AA191B552C94}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Release|Mixed Platforms.Build.0 = Release|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Release|Win32.ActiveCfg = Release|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Release|Win32.Build.0 = Release|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Release|x64.ActiveCfg = Release|x64 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Release|x64.Build.0 = Release|x64 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Release|x86.ActiveCfg = Release|x86 + {91F57346-B574-4D52-9EB0-AA191B552C94}.Release|x86.Build.0 = Release|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Debug|Win32.ActiveCfg = Debug|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Debug|Win32.Build.0 = Debug|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Debug|x64.ActiveCfg = Debug|x64 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Debug|x64.Build.0 = Debug|x64 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Debug|x86.ActiveCfg = Debug|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Debug|x86.Build.0 = Debug|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Public|Any CPU.ActiveCfg = Release|Any CPU + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Public|Any CPU.Build.0 = Release|Any CPU + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Public|Mixed Platforms.ActiveCfg = Release|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Public|Mixed Platforms.Build.0 = Release|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Public|Win32.ActiveCfg = Release|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Public|Win32.Build.0 = Release|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Public|x64.ActiveCfg = Release|x64 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Public|x64.Build.0 = Release|x64 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Public|x86.ActiveCfg = Release|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Public|x86.Build.0 = Release|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Release|Any CPU.Build.0 = Release|Any CPU + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Release|Mixed Platforms.Build.0 = Release|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Release|Win32.ActiveCfg = Release|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Release|Win32.Build.0 = Release|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Release|x64.ActiveCfg = Release|x64 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Release|x64.Build.0 = Release|x64 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Release|x86.ActiveCfg = Release|x86 + {2F7A686B-2272-4803-9EF9-0B34BA7802DC}.Release|x86.Build.0 = Release|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Debug|Win32.ActiveCfg = Debug|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Debug|Win32.Build.0 = Debug|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Debug|x64.ActiveCfg = Debug|x64 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Debug|x64.Build.0 = Debug|x64 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Debug|x86.ActiveCfg = Debug|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Debug|x86.Build.0 = Debug|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Public|Any CPU.ActiveCfg = Release|Any CPU + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Public|Any CPU.Build.0 = Release|Any CPU + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Public|Mixed Platforms.ActiveCfg = Release|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Public|Mixed Platforms.Build.0 = Release|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Public|Win32.ActiveCfg = Release|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Public|Win32.Build.0 = Release|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Public|x64.ActiveCfg = Release|x64 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Public|x64.Build.0 = Release|x64 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Public|x86.ActiveCfg = Release|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Public|x86.Build.0 = Release|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Release|Any CPU.Build.0 = Release|Any CPU + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Release|Mixed Platforms.Build.0 = Release|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Release|Win32.ActiveCfg = Release|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Release|Win32.Build.0 = Release|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Release|x64.ActiveCfg = Release|x64 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Release|x64.Build.0 = Release|x64 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Release|x86.ActiveCfg = Release|x86 + {685E7B82-4609-4ABB-B25B-0DC7C58BD45F}.Release|x86.Build.0 = Release|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Debug|Win32.ActiveCfg = Debug|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Debug|Win32.Build.0 = Debug|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Debug|x64.ActiveCfg = Debug|x64 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Debug|x64.Build.0 = Debug|x64 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Debug|x86.ActiveCfg = Debug|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Debug|x86.Build.0 = Debug|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Public|Any CPU.ActiveCfg = Release|Any CPU + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Public|Any CPU.Build.0 = Release|Any CPU + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Public|Mixed Platforms.ActiveCfg = Release|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Public|Mixed Platforms.Build.0 = Release|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Public|Win32.ActiveCfg = Release|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Public|Win32.Build.0 = Release|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Public|x64.ActiveCfg = Release|x64 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Public|x64.Build.0 = Release|x64 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Public|x86.ActiveCfg = Release|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Public|x86.Build.0 = Release|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Release|Any CPU.Build.0 = Release|Any CPU + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Release|Mixed Platforms.Build.0 = Release|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Release|Win32.ActiveCfg = Release|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Release|Win32.Build.0 = Release|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Release|x64.ActiveCfg = Release|x64 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Release|x64.Build.0 = Release|x64 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Release|x86.ActiveCfg = Release|x86 + {DD3CF4AA-02CC-4881-AFB1-6F10DFA1F8AF}.Release|x86.Build.0 = Release|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Debug|Win32.ActiveCfg = Debug|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Debug|Win32.Build.0 = Debug|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Debug|x64.ActiveCfg = Debug|x64 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Debug|x64.Build.0 = Debug|x64 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Debug|x86.ActiveCfg = Debug|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Debug|x86.Build.0 = Debug|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Public|Any CPU.ActiveCfg = Release|Any CPU + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Public|Any CPU.Build.0 = Release|Any CPU + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Public|Mixed Platforms.ActiveCfg = Release|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Public|Mixed Platforms.Build.0 = Release|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Public|Win32.ActiveCfg = Release|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Public|Win32.Build.0 = Release|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Public|x64.ActiveCfg = Release|x64 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Public|x64.Build.0 = Release|x64 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Public|x86.ActiveCfg = Release|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Public|x86.Build.0 = Release|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Release|Any CPU.Build.0 = Release|Any CPU + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Release|Mixed Platforms.Build.0 = Release|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Release|Win32.ActiveCfg = Release|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Release|Win32.Build.0 = Release|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Release|x64.ActiveCfg = Release|x64 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Release|x64.Build.0 = Release|x64 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Release|x86.ActiveCfg = Release|x86 + {50743D1B-A19E-42F1-842F-65FAD6D168C3}.Release|x86.Build.0 = Release|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {436641C4-846C-42D0-8E8F-95F70E211D22}.Debug|Any CPU.Build.0 = Debug|Any CPU + {436641C4-846C-42D0-8E8F-95F70E211D22}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Debug|Win32.ActiveCfg = Debug|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Debug|Win32.Build.0 = Debug|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Debug|x64.ActiveCfg = Debug|x64 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Debug|x64.Build.0 = Debug|x64 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Debug|x86.ActiveCfg = Debug|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Debug|x86.Build.0 = Debug|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Public|Any CPU.ActiveCfg = Release|Any CPU + {436641C4-846C-42D0-8E8F-95F70E211D22}.Public|Any CPU.Build.0 = Release|Any CPU + {436641C4-846C-42D0-8E8F-95F70E211D22}.Public|Mixed Platforms.ActiveCfg = Release|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Public|Mixed Platforms.Build.0 = Release|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Public|Win32.ActiveCfg = Release|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Public|Win32.Build.0 = Release|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Public|x64.ActiveCfg = Release|x64 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Public|x64.Build.0 = Release|x64 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Public|x86.ActiveCfg = Release|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Public|x86.Build.0 = Release|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Release|Any CPU.ActiveCfg = Release|Any CPU + {436641C4-846C-42D0-8E8F-95F70E211D22}.Release|Any CPU.Build.0 = Release|Any CPU + {436641C4-846C-42D0-8E8F-95F70E211D22}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Release|Mixed Platforms.Build.0 = Release|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Release|Win32.ActiveCfg = Release|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Release|Win32.Build.0 = Release|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Release|x64.ActiveCfg = Release|x64 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Release|x64.Build.0 = Release|x64 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Release|x86.ActiveCfg = Release|x86 + {436641C4-846C-42D0-8E8F-95F70E211D22}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal Modified: trunk/AgateLib.sln =================================================================== --- trunk/AgateLib.sln 2013-10-27 18:51:37 UTC (rev 1361) +++ trunk/AgateLib.sln 2013-10-31 05:13:43 UTC (rev 1362) @@ -1,5 +1,5 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Files", "Solution Files", "{0CE8B58F-922D-40A6-92E6-2F6913A97049}" ProjectSection(SolutionItems) = preProject ChangeLog.txt = ChangeLog.txt @@ -21,6 +21,8 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AgateFMOD", "Drivers\AgateFMOD\AgateFMOD.csproj", "{424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests", "UnitTests\UnitTests.csproj", "{F22ADCCC-7991-4F52-B2D0-697D60121BB3}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -109,6 +111,18 @@ {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Release|x64.ActiveCfg = Release|Any CPU {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Release|x86.ActiveCfg = Release|x86 {424C08A9-6CC6-4FFF-B782-CBD58BC42FCA}.Release|x86.Build.0 = Release|x86 + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|x64.ActiveCfg = Debug|x64 + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|x64.Build.0 = Debug|x64 + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|x86.ActiveCfg = Debug|x86 + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|x86.Build.0 = Debug|x86 + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|Any CPU.Build.0 = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|x64.ActiveCfg = Release|x64 + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|x64.Build.0 = Release|x64 + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|x86.ActiveCfg = Release|x86 + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Modified: trunk/UnitTests/UnitTests.csproj =================================================================== --- trunk/UnitTests/UnitTests.csproj 2013-10-27 18:51:37 UTC (rev 1361) +++ trunk/UnitTests/UnitTests.csproj 2013-10-31 05:13:43 UTC (rev 1362) @@ -34,6 +34,42 @@ <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> + <DebugSymbols>true</DebugSymbols> + <OutputPath>bin\x64\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <DebugType>full</DebugType> + <PlatformTarget>x64</PlatformTarget> + <ErrorReport>prompt</ErrorReport> + <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> + <OutputPath>bin\x64\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <Optimize>true</Optimize> + <DebugType>pdbonly</DebugType> + <PlatformTarget>x64</PlatformTarget> + <ErrorReport>prompt</ErrorReport> + <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> + <DebugSymbols>true</DebugSymbols> + <OutputPath>bin\x86\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <DebugType>full</DebugType> + <PlatformTarget>x86</PlatformTarget> + <ErrorReport>prompt</ErrorReport> + <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'"> + <OutputPath>bin\x86\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <Optimize>true</Optimize> + <DebugType>pdbonly</DebugType> + <PlatformTarget>x86</PlatformTarget> + <ErrorReport>prompt</ErrorReport> + <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> + </PropertyGroup> <ItemGroup> <Reference Include="System" /> </ItemGroup> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2013-10-27 18:51:41
|
Revision: 1361 http://sourceforge.net/p/agate/code/1361 Author: kanato Date: 2013-10-27 18:51:37 +0000 (Sun, 27 Oct 2013) Log Message: ----------- Update SlimDX reference to to Jan 2012. Modified Paths: -------------- trunk/AgateLib-Windows.sln trunk/Drivers/AgateSDX/AgateSDX.csproj Added Paths: ----------- trunk/UnitTests/ trunk/UnitTests/Properties/ trunk/UnitTests/Properties/AssemblyInfo.cs trunk/UnitTests/UnitTest1.cs trunk/UnitTests/UnitTests.csproj Modified: trunk/AgateLib-Windows.sln =================================================================== --- trunk/AgateLib-Windows.sln 2013-10-26 06:05:25 UTC (rev 1360) +++ trunk/AgateLib-Windows.sln 2013-10-27 18:51:37 UTC (rev 1361) @@ -1,5 +1,5 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Files", "Solution Files", "{6AFA2E43-361A-4AA6-83D9-6DE946C1F0B6}" ProjectSection(SolutionItems) = preProject ChangeLog.txt = ChangeLog.txt @@ -29,6 +29,8 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AgateOTK", "Drivers\AgateOTK\AgateOTK.csproj", "{9E095F03-BA3F-4EAD-A905-2A2647CE4405}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests", "UnitTests\UnitTests.csproj", "{F22ADCCC-7991-4F52-B2D0-697D60121BB3}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -249,6 +251,27 @@ {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Release|x64.Build.0 = Release|x64 {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Release|x86.ActiveCfg = Release|x86 {9E095F03-BA3F-4EAD-A905-2A2647CE4405}.Release|x86.Build.0 = Release|x86 + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|Win32.ActiveCfg = Debug|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|x64.ActiveCfg = Debug|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Debug|x86.ActiveCfg = Debug|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Public|Any CPU.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Public|Any CPU.Build.0 = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Public|Mixed Platforms.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Public|Mixed Platforms.Build.0 = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Public|Win32.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Public|x64.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Public|x86.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|Any CPU.Build.0 = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|Win32.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|x64.ActiveCfg = Release|Any CPU + {F22ADCCC-7991-4F52-B2D0-697D60121BB3}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Modified: trunk/Drivers/AgateSDX/AgateSDX.csproj =================================================================== --- trunk/Drivers/AgateSDX/AgateSDX.csproj 2013-10-26 06:05:25 UTC (rev 1360) +++ trunk/Drivers/AgateSDX/AgateSDX.csproj 2013-10-27 18:51:37 UTC (rev 1361) @@ -106,7 +106,7 @@ <PlatformTarget>x64</PlatformTarget> </PropertyGroup> <ItemGroup> - <Reference Include="SlimDX, Version=4.0.13.43, Culture=neutral, PublicKeyToken=b1b0c32fd1ffe4f9, processorArchitecture=x86" /> + <Reference Include="SlimDX, Version=2.0.13.43, Culture=neutral, PublicKeyToken=b1b0c32fd1ffe4f9, processorArchitecture=x86" /> <Reference Include="System"> <Name>System</Name> </Reference> Index: trunk/UnitTests =================================================================== --- trunk/UnitTests 2013-10-26 06:05:25 UTC (rev 1360) +++ trunk/UnitTests 2013-10-27 18:51:37 UTC (rev 1361) Property changes on: trunk/UnitTests ___________________________________________________________________ Added: svn:ignore ## -0,0 +1,10 ## +[Bb]in +obj +[Dd]ebug +[Rr]elease +*.user +*.aps +*.eto +ClientBin +GeneratedArtifacts +_Pvt_Extensions Added: trunk/UnitTests/Properties/AssemblyInfo.cs =================================================================== --- trunk/UnitTests/Properties/AssemblyInfo.cs (rev 0) +++ trunk/UnitTests/Properties/AssemblyInfo.cs 2013-10-27 18:51:37 UTC (rev 1361) @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("UnitTests")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("UnitTests")] +[assembly: AssemblyCopyright("Copyright © 2013")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("c6c53e7d-5861-4f56-ae31-ddc14e51cd73")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] Added: trunk/UnitTests/UnitTest1.cs =================================================================== --- trunk/UnitTests/UnitTest1.cs (rev 0) +++ trunk/UnitTests/UnitTest1.cs 2013-10-27 18:51:37 UTC (rev 1361) @@ -0,0 +1,14 @@ +using System; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace UnitTests +{ + [TestClass] + public class UnitTest1 + { + [TestMethod] + public void TestMethod1() + { + } + } +} Added: trunk/UnitTests/UnitTests.csproj =================================================================== --- trunk/UnitTests/UnitTests.csproj (rev 0) +++ trunk/UnitTests/UnitTests.csproj 2013-10-27 18:51:37 UTC (rev 1361) @@ -0,0 +1,83 @@ +<?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> + <ProjectGuid>{F22ADCCC-7991-4F52-B2D0-697D60121BB3}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>UnitTests</RootNamespace> + <AssemblyName>UnitTests</AssemblyName> + <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> + <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath> + <IsCodedUITest>False</IsCodedUITest> + <TestProjectType>UnitTest</TestProjectType> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + </ItemGroup> + <Choose> + <When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'"> + <ItemGroup> + <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" /> + </ItemGroup> + </When> + <Otherwise> + <ItemGroup> + <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" /> + </ItemGroup> + </Otherwise> + </Choose> + <ItemGroup> + <Compile Include="UnitTest1.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <Choose> + <When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'"> + <ItemGroup> + <Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <Private>False</Private> + </Reference> + <Reference Include="Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <Private>False</Private> + </Reference> + <Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <Private>False</Private> + </Reference> + <Reference Include="Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <Private>False</Private> + </Reference> + </ItemGroup> + </When> + </Choose> + <Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" /> + <Import Project="$(MSBuildToolsPath)\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> + --> +</Project> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2013-10-26 06:05:28
|
Revision: 1360 http://sourceforge.net/p/agate/code/1360 Author: kanato Date: 2013-10-26 06:05:25 +0000 (Sat, 26 Oct 2013) Log Message: ----------- Replace .NET 4.0 method string.IsNullOrWhitespace with call to string.IsNullOrEmpty Modified Paths: -------------- trunk/Tests/frmLauncher.cs Modified: trunk/Tests/frmLauncher.cs =================================================================== --- trunk/Tests/frmLauncher.cs 2013-09-10 05:53:15 UTC (rev 1359) +++ trunk/Tests/frmLauncher.cs 2013-10-26 06:05:25 UTC (rev 1360) @@ -124,7 +124,7 @@ { string x = r.ReadLine().Trim(); - if (string.IsNullOrWhiteSpace(x)) + if (string.IsNullOrEmpty(x)) continue; int index = x.IndexOf('\t'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2013-09-10 05:53:17
|
Revision: 1359 http://sourceforge.net/p/agate/code/1359 Author: kanato Date: 2013-09-10 05:53:15 +0000 (Tue, 10 Sep 2013) Log Message: ----------- Add PixelBuffer.FillEllipse method. Modified Paths: -------------- trunk/AgateLib/DisplayLib/PixelBuffer.cs Modified: trunk/AgateLib/DisplayLib/PixelBuffer.cs =================================================================== --- trunk/AgateLib/DisplayLib/PixelBuffer.cs 2013-08-15 01:46:54 UTC (rev 1358) +++ trunk/AgateLib/DisplayLib/PixelBuffer.cs 2013-09-10 05:53:15 UTC (rev 1359) @@ -1196,5 +1196,34 @@ } } } + + /// <summary> + /// Fills an elipse within the specified rectangle. + /// </summary> + /// <param name="color"></param> + /// <param name="x"></param> + /// <param name="y"></param> + /// <param name="width"></param> + /// <param name="height"></param> + public void FillEllipse(Color color, int x, int y, int width, int height) + { + double centerx = x + width * 0.5; + double centery = y + width * 0.5; + + double _height = height * 0.5; + double _width = width * 0.5; + + for (int j = y; j < y + height; j++) + { + for (int i = x; i < x + width; i++) + { + if (Math.Pow(i - centerx, 2) * _height * _height + Math.Pow(j - centery, 2) * _width * _width + <= _height * _height * _width * _width) + { + SetPixel(i, j, color); + } + } + } + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2013-08-15 01:46:57
|
Revision: 1358 http://sourceforge.net/p/agate/code/1358 Author: kanato Date: 2013-08-15 01:46:54 +0000 (Thu, 15 Aug 2013) Log Message: ----------- Changed argument to GL.BufferData. Not sure if this makes any real difference or not. Modified Paths: -------------- trunk/Drivers/AgateDrawing/AgateDrawing.csproj trunk/Drivers/AgateLib.WinForms/AgateLib.WinForms.csproj trunk/Drivers/AgateOTK/AgateOTK.csproj trunk/Drivers/AgateOTK/Legacy/LegacyDrawBuffer.cs trunk/Drivers/AgateSDL/AgateSDL.csproj Modified: trunk/Drivers/AgateDrawing/AgateDrawing.csproj =================================================================== --- trunk/Drivers/AgateDrawing/AgateDrawing.csproj 2013-08-15 01:45:24 UTC (rev 1357) +++ trunk/Drivers/AgateDrawing/AgateDrawing.csproj 2013-08-15 01:46:54 UTC (rev 1358) @@ -87,6 +87,7 @@ <DebugType>full</DebugType> <WarningLevel>4</WarningLevel> <Optimize>false</Optimize> + <UseVSHostingProcess>true</UseVSHostingProcess> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <OutputPath>..\..\Binaries\Release\</OutputPath> Modified: trunk/Drivers/AgateLib.WinForms/AgateLib.WinForms.csproj =================================================================== --- trunk/Drivers/AgateLib.WinForms/AgateLib.WinForms.csproj 2013-08-15 01:45:24 UTC (rev 1357) +++ trunk/Drivers/AgateLib.WinForms/AgateLib.WinForms.csproj 2013-08-15 01:46:54 UTC (rev 1358) @@ -87,6 +87,7 @@ <DebugType>full</DebugType> <WarningLevel>4</WarningLevel> <Optimize>false</Optimize> + <UseVSHostingProcess>true</UseVSHostingProcess> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <OutputPath>..\..\Binaries\Release\</OutputPath> Modified: trunk/Drivers/AgateOTK/AgateOTK.csproj =================================================================== --- trunk/Drivers/AgateOTK/AgateOTK.csproj 2013-08-15 01:45:24 UTC (rev 1357) +++ trunk/Drivers/AgateOTK/AgateOTK.csproj 2013-08-15 01:46:54 UTC (rev 1358) @@ -92,6 +92,7 @@ <DebugType>full</DebugType> <WarningLevel>4</WarningLevel> <Optimize>false</Optimize> + <UseVSHostingProcess>true</UseVSHostingProcess> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <OutputPath>..\..\Binaries\Release\</OutputPath> Modified: trunk/Drivers/AgateOTK/Legacy/LegacyDrawBuffer.cs =================================================================== --- trunk/Drivers/AgateOTK/Legacy/LegacyDrawBuffer.cs 2013-08-15 01:45:24 UTC (rev 1357) +++ trunk/Drivers/AgateOTK/Legacy/LegacyDrawBuffer.cs 2013-08-15 01:46:54 UTC (rev 1358) @@ -137,7 +137,7 @@ IntPtr ptr = handle.AddrOfPinnedObject(); - GL.BufferData(BufferTarget.ArrayBuffer, (IntPtr)bufferSize, ptr, BufferUsageHint.StaticDraw); + GL.BufferData(BufferTarget.ArrayBuffer, (IntPtr)bufferSize, ptr, BufferUsageHint.DynamicDraw); } finally { Modified: trunk/Drivers/AgateSDL/AgateSDL.csproj =================================================================== --- trunk/Drivers/AgateSDL/AgateSDL.csproj 2013-08-15 01:45:24 UTC (rev 1357) +++ trunk/Drivers/AgateSDL/AgateSDL.csproj 2013-08-15 01:46:54 UTC (rev 1358) @@ -92,6 +92,7 @@ <DebugType>full</DebugType> <WarningLevel>4</WarningLevel> <Optimize>false</Optimize> + <UseVSHostingProcess>true</UseVSHostingProcess> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <OutputPath>..\..\Binaries\Release\</OutputPath> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2013-08-15 01:45:26
|
Revision: 1357 http://sourceforge.net/p/agate/code/1357 Author: kanato Date: 2013-08-15 01:45:24 +0000 (Thu, 15 Aug 2013) Log Message: ----------- Added overload for ReportError which operates without an exception. Modified Paths: -------------- trunk/AgateLib/Core.cs Modified: trunk/AgateLib/Core.cs =================================================================== --- trunk/AgateLib/Core.cs 2013-03-14 20:46:38 UTC (rev 1356) +++ trunk/AgateLib/Core.cs 2013-08-15 01:45:24 UTC (rev 1357) @@ -149,6 +149,17 @@ /// <summary> /// Saves an error message to the ErrorFile. + /// It is recommended to use an overload which takes an exception parameter, + /// if there is an exception available which provides more information. + /// </summary> + /// <param name="level"></param> + /// <param name="message"></param> + public static void Report(ErrorLevel level, string message) + { + Report(level, message, null); + } + /// <summary> + /// Saves an error message to the ErrorFile. /// Outputs a stack trace and shows a dialog box if the ErrorLevel /// is Bug or Fatal. /// </summary> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2013-03-14 20:46:46
|
Revision: 1356 http://agate.svn.sourceforge.net/agate/?rev=1356&view=rev Author: kanato Date: 2013-03-14 20:46:38 +0000 (Thu, 14 Mar 2013) Log Message: ----------- First implementation of AgateConsole class. Display.DrawLines function with params Point[] arguments. Make Surface.Draw(Rectangle srcRect, PointF destPt, PointF rotationCenter) public. Modified Paths: -------------- trunk/AgateLib/AgateLib.csproj trunk/AgateLib/DisplayLib/Display.cs trunk/AgateLib/DisplayLib/Surface.cs Added Paths: ----------- trunk/AgateLib/AgateConsole.cs Added: trunk/AgateLib/AgateConsole.cs =================================================================== --- trunk/AgateLib/AgateConsole.cs (rev 0) +++ trunk/AgateLib/AgateConsole.cs 2013-03-14 20:46:38 UTC (rev 1356) @@ -0,0 +1,455 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using AgateLib.DisplayLib; +using AgateLib.Geometry; +using AgateLib.InputLib; + +namespace AgateLib +{ + public class AgateConsole : TraceListener + { + #region --- Static Members --- + + static AgateConsole sInstance; + public static FontSurface Font { get; set; } + public static KeyCode VisibleToggleKey { get; set; } + public static bool IsVisible + { + get { return sInstance.mVisible; } + set { sInstance.mVisible = value; } + } + + public static Color TextColor { get; set; } + public static Color EntryColor { get; set; } + public static Color BackgroundColor { get; set; } + public static AgateConsole Instance { get { return sInstance; } } + + public static void Initialize() + { + if (sInstance != null) + return; + + VisibleToggleKey = KeyCode.Tilde; + sInstance = new AgateConsole(); + + TextColor = Color.White; + EntryColor = Color.Yellow; + BackgroundColor = Color.FromArgb(128, Color.Black); + + AgateLib.InputLib.Keyboard.KeyDown += Keyboard_KeyDown; + } + public static void Draw() + { + if (sInstance == null) + return; + + sInstance.DrawImpl(); + } + + static void Keyboard_KeyDown(InputEventArgs e) + { + if (e.KeyCode == VisibleToggleKey) + { + sInstance.mVisible = !sInstance.mVisible; + sInstance.mHeight = Display.RenderTarget.Height * 5 / 12; + } + else if (sInstance.mVisible) + { + sInstance.KeyDown(e); + } + } + + public static ConsoleDictionary Commands { get { return sInstance.mCommands; } } + + + #endregion + + ConsoleDictionary mCommands = new ConsoleDictionary(); + List<ConsoleMessage> mInputHistory = new List<ConsoleMessage>(); + List<ConsoleMessage> mMessages = new List<ConsoleMessage>(); + ConsoleMessage current; + Stopwatch watch = new Stopwatch(); + bool mVisible = false; + string mCurrentLine; + int mHeight; + int mHistoryIndex; + + private AgateConsole() + { + Trace.Listeners.Add(this); + watch.Start(); + + if (Font == null) + Font = FontSurface.AgateSans10; + + mCommands.Add("help", new Action<string>(HelpCommand)); + } + + public override void Write(string message) + { + if (current == null) + { + current = new ConsoleMessage(); + mMessages.Add(current); + } + + current.Time = watch.ElapsedMilliseconds; + current.Text += message; + } + public override void WriteLine(string message) + { + if (current == null) + { + current = new ConsoleMessage(); + mMessages.Add(current); + } + + current.Text += message; + current.Time = watch.ElapsedMilliseconds; + current = null; + } + + void DrawImpl() + { + if (mVisible == false) + { + long time = watch.ElapsedMilliseconds; + int y = 0; + Font.DisplayAlignment = OriginAlignment.TopLeft; + Font.Color = TextColor; + + for (int i = 0; i < mMessages.Count; i++) + { + if (time - mMessages[i].Time > 5000) + continue; + if (mMessages[i].MessageType != ConsoleMessageType.Text) + continue; + + Font.DrawText(new Point(0, y), mMessages[i].Text); + y += Font.FontHeight; + } + + while (mMessages.Count > 100) + mMessages.RemoveAt(0); + } + else + { + Display.FillRect(new Rectangle(0, 0, Display.RenderTarget.Width, mHeight), BackgroundColor); + + int y = mHeight; + Font.DisplayAlignment = OriginAlignment.BottomLeft; + + string currentLineText = "> "; + + if (mHistoryIndex != 0) + currentLineText += EscapeText(mInputHistory[mInputHistory.Count - mHistoryIndex].Text); + else + currentLineText += EscapeText(mCurrentLine); + + Font.Color = EntryColor; + Font.DrawText(0, y, currentLineText); + + // draw insertion point + if (watch.ElapsedMilliseconds % 1000 < 500) + { + int x = Font.MeasureString(currentLineText).Width; + + Display.DrawLine( + new Point(x, y - Font.FontHeight), + new Point(x, y), + EntryColor); + } + + for (int i = mMessages.Count - 1; i >= 0; i--) + { + y -= Font.FontHeight; + var message = mMessages[i]; + + if (message.MessageType == ConsoleMessageType.UserInput) + { + Font.Color = EntryColor; + Font.DrawText(0, y, "> " + EscapeText(message.Text)); + } + else + { + Font.Color = TextColor; + Font.DrawText(0, y, EscapeText(message.Text)); + } + + if (y < 0) + break; + } + } + } + + private string EscapeText(string p) + { + if (p == null) + return p; + + return p.Replace("{", "{{}"); + } + + private void KeyDown(InputEventArgs e) + { + if (e.KeyCode == KeyCode.Up) + { + mHistoryIndex++; + + if (mHistoryIndex > mInputHistory.Count) + mHistoryIndex = mInputHistory.Count; + } + else if (e.KeyCode == KeyCode.Down) + { + mHistoryIndex--; + + if (mHistoryIndex < 0) + mHistoryIndex = 0; + } + else if (e.KeyCode == KeyCode.Enter || e.KeyCode == KeyCode.Return) + { + ModifyHistoryLine(); + + ConsoleMessage input = new ConsoleMessage + { + Text = mCurrentLine, + MessageType = ConsoleMessageType.UserInput, + Time = watch.ElapsedMilliseconds + }; + + mMessages.Add(input); + mInputHistory.Add(input); + + ExecuteCommand(); + } + else if (string.IsNullOrEmpty(e.KeyString) == false) + { + ModifyHistoryLine(); + + if (e.KeyCode == KeyCode.Tab) + mCurrentLine += " "; + else + mCurrentLine += e.KeyString; + } + else if (e.KeyCode == KeyCode.BackSpace) + { + if (mCurrentLine.Length > 0) + { + ModifyHistoryLine(); + + mCurrentLine = mCurrentLine.Substring(0, mCurrentLine.Length - 1); + } + } + } + + private void ModifyHistoryLine() + { + if (mHistoryIndex > 0) + { + mCurrentLine = mInputHistory[mInputHistory.Count - mHistoryIndex].Text; + mHistoryIndex = 0; + } + } + + static char[] splitters = new char[] { ' ' }; + + private void ExecuteCommand() + { + if (string.IsNullOrEmpty(mCurrentLine)) + return; + if (mCurrentLine.Trim() == string.Empty) + return; + + // regular expression obtained from + // http://stackoverflow.com/questions/554013/regular-expression-to-split-on-spaces-unless-in-quotes + // + var regexMatches = Regex.Matches(mCurrentLine, @"((""((?<token>.*?)(?<!\\)"")|(?<token>[\w]+))(\s)*)"); + + string[] tokens = (from Match m in regexMatches + where m.Groups["token"].Success + select m.Groups["token"].Value).ToArray(); + + tokens[0] = tokens[0].ToLowerInvariant(); + + mCurrentLine = string.Empty; + + if (mCommands.ContainsKey(tokens[0]) == false) + { + WriteLine("Invalid command: " + tokens[0]); + } + else + { + ExecuteDelegate(mCommands[tokens[0]], tokens); + } + + } + private void ExecuteDelegate(Delegate p, string[] tokens) + { + var parameters = p.Method.GetParameters(); + object[] args = new object[parameters.Length]; + bool notEnoughArgs = false; + bool badArgs = false; + + for (int i = 0; i < parameters.Length || i < tokens.Length - 1; i++) + { + if (i < args.Length && i < tokens.Length - 1) + { + try + { + args[i] = Convert.ChangeType(tokens[i + 1], parameters[i].ParameterType); + } + catch + { + WriteLine("Argument #" + (i + 1).ToString() + " invalid: \"" + + tokens[i + 1] + "\" not convertable to " + parameters[i].ParameterType.Name); + badArgs = true; + } + } + else if (i < args.Length) + { + if (parameters[i].IsOptional) + { + args[i] = Type.Missing; + } + else + { + if (notEnoughArgs == false) + { + WriteLine("Insufficient arguments for command: " + tokens[0]); + } + notEnoughArgs = true; + + WriteLine(" missing " + parameters[i].ParameterType.Name + " argument: " + parameters[i].Name); + } + } + else + { + WriteLine("[Ignoring extra argument: " + tokens[i + 1] + "]"); + } + } + + if (badArgs || notEnoughArgs) + return; + + object retval = p.Method.Invoke(p.Target, args); + + if (p.Method.ReturnType != typeof(void) && retval != null) + { + WriteLine(retval.ToString()); + } + } + + private void HelpCommand(string command = "") + { + command = command.ToLowerInvariant().Trim(); + + if (string.IsNullOrEmpty(command) || mCommands.ContainsKey(command) == false) + { + WriteLine("Available Commands:"); + + foreach (var cmd in mCommands.Keys) + { + if (cmd == "help") + continue; + + WriteLine(" " + cmd); + } + + WriteLine("Type \"help <command>\" for help on a specific command."); + } + else + { + Delegate d = mCommands[command]; + + Write("Usage: "); + Write(command + " "); + + var parameters = d.Method.GetParameters(); + for(int i = 0; i < parameters.Length; i++) + { + if (parameters[i].IsOptional) + Write("["); + + Write(parameters[i].Name); + + if (parameters[i].IsOptional) + Write("]"); + } + + WriteLine(""); + + if (DescribeCommand != null) + { + string text = DescribeCommand(command); + + if (string.IsNullOrEmpty(text) == false) + { + WriteLine(""); + WriteLine(DescribeCommand(command)); + } + } + } + } + + public static event DescribeCommandHandler DescribeCommand; + } + + public class ConsoleDictionary : Dictionary<string, Delegate> + { + public void Add<T>(string key, Action<T> value) + { + base.Add(key, value); + } + public void Add<T1, T2>(string key, Action<T1, T2> value) + { + base.Add(key, value); + } + public void Add<T1, T2, T3>(string key, Action<T1, T2, T3> value) + { + base.Add(key, value); + } + public void Add<T1, T2, T3, T4>(string key, Action<T1, T2, T3, T4> value) + { + base.Add(key, value); + } + + public void Add<TResult>(string key, Func<TResult> value) + { + base.Add(key, value); + } + public void Add<T1, TResult>(string key, Func<T1, TResult> value) + { + base.Add(key, value); + } + public void Add<T1, T2, TResult>(string key, Func<T1, T2, TResult> value) + { + base.Add(key, value); + } + public void Add<T1, T2, T3, TResult>(string key, Func<T1, T2, T3, TResult> value) + { + base.Add(key, value); + } + public void Add<T1, T2, T3, T4, TResult>(string key, Func<T1, T2, T3, T4, TResult> value) + { + base.Add(key, value); + } + } + public delegate string DescribeCommandHandler(string command); + + class ConsoleMessage + { + public string Text; + public long Time; + public ConsoleMessageType MessageType; + } + + enum ConsoleMessageType + { + Text, + UserInput, + } +} Modified: trunk/AgateLib/AgateLib.csproj =================================================================== --- trunk/AgateLib/AgateLib.csproj 2013-02-14 21:44:13 UTC (rev 1355) +++ trunk/AgateLib/AgateLib.csproj 2013-03-14 20:46:38 UTC (rev 1356) @@ -92,6 +92,7 @@ <DebugType>full</DebugType> <WarningLevel>4</WarningLevel> <Optimize>false</Optimize> + <UseVSHostingProcess>true</UseVSHostingProcess> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <OutputPath>..\Binaries\Release\</OutputPath> @@ -120,6 +121,7 @@ <ItemGroup> </ItemGroup> <ItemGroup> + <Compile Include="AgateConsole.cs" /> <Compile Include="AgateException.cs"> <SubType>Code</SubType> </Compile> Modified: trunk/AgateLib/DisplayLib/Display.cs =================================================================== --- trunk/AgateLib/DisplayLib/Display.cs 2013-02-14 21:44:13 UTC (rev 1355) +++ trunk/AgateLib/DisplayLib/Display.cs 2013-03-14 20:46:38 UTC (rev 1356) @@ -535,6 +535,10 @@ { sImpl.DrawLines(pts, color); } + public static void DrawLines(Color color, params Point[] pts) + { + sImpl.DrawLines(pts, color); + } /// <summary> /// Draws a bunch of line segments. Each pair of points represents /// a line segment which is drawn. No connections between the line segments Modified: trunk/AgateLib/DisplayLib/Surface.cs =================================================================== --- trunk/AgateLib/DisplayLib/Surface.cs 2013-02-14 21:44:13 UTC (rev 1355) +++ trunk/AgateLib/DisplayLib/Surface.cs 2013-03-14 20:46:38 UTC (rev 1356) @@ -516,7 +516,7 @@ Draw(new PointF(destX, destY), new PointF(rotationCenterX, rotationCenterY)); } - internal void Draw(Rectangle srcRect, PointF destPt, PointF rotationCenter) + public void Draw(Rectangle srcRect, PointF destPt, PointF rotationCenter) { OriginAlignment oldrotation = State.RotationCenter; PointF oldcenter = State.RotationCenterLocation; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2013-02-14 21:44:28
|
Revision: 1355 http://agate.svn.sourceforge.net/agate/?rev=1355&view=rev Author: kanato Date: 2013-02-14 21:44:13 +0000 (Thu, 14 Feb 2013) Log Message: ----------- Change target framework to .NET 3.5 to avoid issues when loading drivers after deployment. Modified Paths: -------------- trunk/AgateLib/AgateLib.csproj trunk/AgateLib/Drivers/AgateSandBoxLoader.cs trunk/AgateLib/Drivers/Registrar.cs trunk/AgateLib/InternalResources/DataResources.Designer.cs trunk/AgateLib/Serialization/Xle/XleSerializationInfo.cs trunk/Drivers/AgateDrawing/AgateDrawing.csproj trunk/Drivers/AgateFMOD/AgateFMOD.csproj trunk/Drivers/AgateLib.WinForms/AgateLib.WinForms.csproj trunk/Drivers/AgateLib.WinForms/Icons.Designer.cs trunk/Drivers/AgateOTK/AgateOTK.csproj trunk/Drivers/AgateOTK/GL3/Shaders/ShaderSources.Designer.cs trunk/Drivers/AgateOTK/GL_Display.cs trunk/Drivers/AgateSDL/AgateSDL.csproj trunk/Drivers/AgateSDX/AgateSDX.csproj trunk/Examples/BallBuster.Net/BallBuster.Net.csproj trunk/Examples/BallBuster.Net/Properties/Resources.Designer.cs trunk/Examples/BallBuster.Net/Properties/Settings.Designer.cs trunk/Examples/BallBuster.Net/app.config trunk/Examples/Pong/Pong.csproj trunk/Examples/Pong/Properties/Resources.Designer.cs trunk/Examples/Pong/Properties/Settings.Designer.cs trunk/Examples/Pong/app.config trunk/Examples/ShootTheTraps/Resources/background.png trunk/Examples/ShootTheTraps/ShootTheTraps.csproj trunk/Examples/ShootTheTraps/app.config trunk/Tests/Tests.csproj trunk/Tests/app.config trunk/Tools/AgateDataLib/AgateDataLib.csproj trunk/Tools/DatabaseEditor/DatabaseEditor.csproj trunk/Tools/DatabaseEditor/Properties/Resources.Designer.cs trunk/Tools/DatabaseEditor/Properties/Settings.Designer.cs trunk/Tools/DatabaseEditor/app.config trunk/Tools/FontCreator/FontCreator.csproj trunk/Tools/FontCreator/Properties/Resources.Designer.cs trunk/Tools/FontCreator/Properties/Settings.Designer.cs trunk/Tools/FontCreator/app.config trunk/Tools/NotebookLib/NotebookLib/NotebookLib.csproj trunk/Tools/NotebookLib/NotebookLib/Properties/Resources.Designer.cs trunk/Tools/PackedSpriteCreator/PackedSpriteCreator.csproj trunk/Tools/PackedSpriteCreator/Properties/Resources.Designer.cs trunk/Tools/PackedSpriteCreator/app.config trunk/Tools/ResourceEditor/Properties/Resources.Designer.cs trunk/Tools/ResourceEditor/ResourceEditor.csproj trunk/Tools/ResourceEditor/app.config Removed Paths: ------------- trunk/Examples/ShootTheTraps/Resources/timecannonimages/ Modified: trunk/AgateLib/AgateLib.csproj =================================================================== --- trunk/AgateLib/AgateLib.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/AgateLib/AgateLib.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -14,7 +14,7 @@ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> <DefaultTargetSchema>IE50</DefaultTargetSchema> <DelaySign>false</DelaySign> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <OutputType>Library</OutputType> <AppDesignerFolder> </AppDesignerFolder> Modified: trunk/AgateLib/Drivers/AgateSandBoxLoader.cs =================================================================== --- trunk/AgateLib/Drivers/AgateSandBoxLoader.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/AgateLib/Drivers/AgateSandBoxLoader.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -35,6 +35,7 @@ try { ass = Assembly.LoadFrom(file); + Trace.WriteLine("Loaded assembly " + file + " in sandbox."); } catch (BadImageFormatException) { @@ -92,7 +93,7 @@ } catch (Exception e) { - System.Diagnostics.Trace.WriteLine(string.Format( + Trace.WriteLine(string.Format( "Could not load types in the file {0}. Check to make sure its dependencies are available. " + "Caught exception {1}. {2}", file, e.GetType().ToString(), e.Message)); Modified: trunk/AgateLib/Drivers/Registrar.cs =================================================================== --- trunk/AgateLib/Drivers/Registrar.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/AgateLib/Drivers/Registrar.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -102,6 +102,8 @@ IEnumerable<string> files = AgateFileProvider.Assemblies.GetAllFiles("*.dll"); + Trace.AutoFlush = true; + foreach (string file in files) { if (ShouldSkipLibrary(file)) @@ -110,9 +112,12 @@ Trace.WriteLine("Probing " + file + "..."); Trace.Indent(); + int driverCount = 0; + foreach (AgateDriverInfo info in loader.ReportDrivers(file)) { Trace.WriteLine("Found driver " + info.FriendlyName); + driverCount++; switch (info.DriverType) { @@ -141,6 +146,9 @@ } } + if (driverCount == 0) + Trace.WriteLine("No drivers found in " + file + "."); + Trace.Unindent(); } Modified: trunk/AgateLib/InternalResources/DataResources.Designer.cs =================================================================== --- trunk/AgateLib/InternalResources/DataResources.Designer.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/AgateLib/InternalResources/DataResources.Designer.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. -// Runtime Version:4.0.30319.1 +// Runtime Version:4.0.30319.18034 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -60,6 +60,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Byte[]. + /// </summary> internal static byte[] agate_black_gui { get { object obj = ResourceManager.GetObject("agate_black_gui", resourceCulture); @@ -67,6 +70,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Byte[]. + /// </summary> internal static byte[] Fonts { get { object obj = ResourceManager.GetObject("Fonts", resourceCulture); @@ -74,6 +80,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Byte[]. + /// </summary> internal static byte[] images { get { object obj = ResourceManager.GetObject("images", resourceCulture); Modified: trunk/AgateLib/Serialization/Xle/XleSerializationInfo.cs =================================================================== --- trunk/AgateLib/Serialization/Xle/XleSerializationInfo.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/AgateLib/Serialization/Xle/XleSerializationInfo.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -399,7 +399,7 @@ break; case NumericEncoding.Csv: - string newValue = string.Join(",", value); + string newValue = string.Join(",", value.Select(x => x.ToString()).ToArray()); XmlElement el = WriteAsElement(name, newValue); Modified: trunk/Drivers/AgateDrawing/AgateDrawing.csproj =================================================================== --- trunk/Drivers/AgateDrawing/AgateDrawing.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Drivers/AgateDrawing/AgateDrawing.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -14,7 +14,7 @@ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> <DefaultTargetSchema>IE50</DefaultTargetSchema> <DelaySign>false</DelaySign> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <OutputType>Library</OutputType> <AppDesignerFolder> </AppDesignerFolder> Modified: trunk/Drivers/AgateFMOD/AgateFMOD.csproj =================================================================== --- trunk/Drivers/AgateFMOD/AgateFMOD.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Drivers/AgateFMOD/AgateFMOD.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -16,7 +16,7 @@ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> <DefaultTargetSchema>IE50</DefaultTargetSchema> <DelaySign>false</DelaySign> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <OutputType>Library</OutputType> <AppDesignerFolder> </AppDesignerFolder> Modified: trunk/Drivers/AgateLib.WinForms/AgateLib.WinForms.csproj =================================================================== --- trunk/Drivers/AgateLib.WinForms/AgateLib.WinForms.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Drivers/AgateLib.WinForms/AgateLib.WinForms.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -14,7 +14,7 @@ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> <DefaultTargetSchema>IE50</DefaultTargetSchema> <DelaySign>false</DelaySign> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <OutputType>Library</OutputType> <AppDesignerFolder> </AppDesignerFolder> Modified: trunk/Drivers/AgateLib.WinForms/Icons.Designer.cs =================================================================== --- trunk/Drivers/AgateLib.WinForms/Icons.Designer.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Drivers/AgateLib.WinForms/Icons.Designer.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. -// Runtime Version:4.0.30319.1 +// Runtime Version:4.0.30319.18034 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -60,6 +60,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). + /// </summary> internal static System.Drawing.Icon AgateLib { get { object obj = ResourceManager.GetObject("AgateLib", resourceCulture); @@ -67,6 +70,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). + /// </summary> internal static System.Drawing.Icon AgateLib_mono { get { object obj = ResourceManager.GetObject("AgateLib_mono", resourceCulture); @@ -74,6 +80,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Byte[]. + /// </summary> internal static byte[] blankcursor { get { object obj = ResourceManager.GetObject("blankcursor", resourceCulture); Modified: trunk/Drivers/AgateOTK/AgateOTK.csproj =================================================================== --- trunk/Drivers/AgateOTK/AgateOTK.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Drivers/AgateOTK/AgateOTK.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -14,7 +14,7 @@ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> <DefaultTargetSchema>IE50</DefaultTargetSchema> <DelaySign>false</DelaySign> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <OutputType>Library</OutputType> <AppDesignerFolder> </AppDesignerFolder> Modified: trunk/Drivers/AgateOTK/GL3/Shaders/ShaderSources.Designer.cs =================================================================== --- trunk/Drivers/AgateOTK/GL3/Shaders/ShaderSources.Designer.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Drivers/AgateOTK/GL3/Shaders/ShaderSources.Designer.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. -// Runtime Version:4.0.30319.1 +// Runtime Version:4.0.30319.18034 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -72,7 +72,8 @@ /// ///void main() ///{ - /// color = texture2D(texture, texCoordVal); + /// color = texture2D(texture, texCoordVal); + /// color = color * colorVal; ///} ///. /// </summary> Modified: trunk/Drivers/AgateOTK/GL_Display.cs =================================================================== --- trunk/Drivers/AgateOTK/GL_Display.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Drivers/AgateOTK/GL_Display.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -450,7 +450,7 @@ for (int i = 0; i < extensions.Length; i++) { - Debug.Print(extensions[i]); + //Debug.Print(extensions[i]); extensions[i] = extensions[i].ToLowerInvariant(); } } Modified: trunk/Drivers/AgateSDL/AgateSDL.csproj =================================================================== --- trunk/Drivers/AgateSDL/AgateSDL.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Drivers/AgateSDL/AgateSDL.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -14,7 +14,7 @@ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> <DefaultTargetSchema>IE50</DefaultTargetSchema> <DelaySign>false</DelaySign> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <OutputType>Library</OutputType> <AppDesignerFolder> </AppDesignerFolder> Modified: trunk/Drivers/AgateSDX/AgateSDX.csproj =================================================================== --- trunk/Drivers/AgateSDX/AgateSDX.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Drivers/AgateSDX/AgateSDX.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -16,7 +16,7 @@ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> <DefaultTargetSchema>IE50</DefaultTargetSchema> <DelaySign>false</DelaySign> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <OutputType>Library</OutputType> <AppDesignerFolder> </AppDesignerFolder> Modified: trunk/Examples/BallBuster.Net/BallBuster.Net.csproj =================================================================== --- trunk/Examples/BallBuster.Net/BallBuster.Net.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Examples/BallBuster.Net/BallBuster.Net.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -30,7 +30,7 @@ <IsWebBootstrapper>false</IsWebBootstrapper> <UseApplicationTrust>false</UseApplicationTrust> <BootstrapperEnabled>true</BootstrapperEnabled> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <TargetFrameworkProfile /> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> Modified: trunk/Examples/BallBuster.Net/Properties/Resources.Designer.cs =================================================================== --- trunk/Examples/BallBuster.Net/Properties/Resources.Designer.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Examples/BallBuster.Net/Properties/Resources.Designer.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. -// Runtime Version:4.0.30319.1 +// Runtime Version:4.0.30319.18034 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. Modified: trunk/Examples/BallBuster.Net/Properties/Settings.Designer.cs =================================================================== --- trunk/Examples/BallBuster.Net/Properties/Settings.Designer.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Examples/BallBuster.Net/Properties/Settings.Designer.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. -// Runtime Version:4.0.30319.1 +// Runtime Version:4.0.30319.18034 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -12,7 +12,7 @@ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); Modified: trunk/Examples/BallBuster.Net/app.config =================================================================== --- trunk/Examples/BallBuster.Net/app.config 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Examples/BallBuster.Net/app.config 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,3 +1,3 @@ <?xml version="1.0"?> <configuration> -<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration> +<startup><supportedRuntime version="v2.0.50727"/></startup></configuration> Modified: trunk/Examples/Pong/Pong.csproj =================================================================== --- trunk/Examples/Pong/Pong.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Examples/Pong/Pong.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -15,7 +15,7 @@ <OldToolsVersion>3.5</OldToolsVersion> <UpgradeBackupLocation> </UpgradeBackupLocation> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <TargetFrameworkProfile /> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> Modified: trunk/Examples/Pong/Properties/Resources.Designer.cs =================================================================== --- trunk/Examples/Pong/Properties/Resources.Designer.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Examples/Pong/Properties/Resources.Designer.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. -// Runtime Version:4.0.30319.1 +// Runtime Version:4.0.30319.18034 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. Modified: trunk/Examples/Pong/Properties/Settings.Designer.cs =================================================================== --- trunk/Examples/Pong/Properties/Settings.Designer.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Examples/Pong/Properties/Settings.Designer.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. -// Runtime Version:4.0.30319.1 +// Runtime Version:4.0.30319.18034 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -12,7 +12,7 @@ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); Modified: trunk/Examples/Pong/app.config =================================================================== --- trunk/Examples/Pong/app.config 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Examples/Pong/app.config 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,3 +1,3 @@ <?xml version="1.0"?> <configuration> -<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration> +<startup><supportedRuntime version="v2.0.50727"/></startup></configuration> Modified: trunk/Examples/ShootTheTraps/Resources/background.png =================================================================== (Binary files differ) Modified: trunk/Examples/ShootTheTraps/ShootTheTraps.csproj =================================================================== --- trunk/Examples/ShootTheTraps/ShootTheTraps.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Examples/ShootTheTraps/ShootTheTraps.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -15,7 +15,7 @@ <OldToolsVersion>3.5</OldToolsVersion> <UpgradeBackupLocation> </UpgradeBackupLocation> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <TargetFrameworkProfile /> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> @@ -62,6 +62,7 @@ <PlatformTarget>x86</PlatformTarget> <ErrorReport>prompt</ErrorReport> <CodeAnalysisFailOnMissingRules>true</CodeAnalysisFailOnMissingRules> + <UseVSHostingProcess>false</UseVSHostingProcess> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'"> <OutputPath>bin\x86\Release\</OutputPath> Modified: trunk/Examples/ShootTheTraps/app.config =================================================================== --- trunk/Examples/ShootTheTraps/app.config 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Examples/ShootTheTraps/app.config 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,3 +1,3 @@ <?xml version="1.0"?> <configuration> -<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration> +<startup><supportedRuntime version="v2.0.50727"/></startup></configuration> Modified: trunk/Tests/Tests.csproj =================================================================== --- trunk/Tests/Tests.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tests/Tests.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -14,7 +14,7 @@ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> <DefaultTargetSchema>IE50</DefaultTargetSchema> <DelaySign>false</DelaySign> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <OutputType>WinExe</OutputType> <AppDesignerFolder> </AppDesignerFolder> Modified: trunk/Tests/app.config =================================================================== --- trunk/Tests/app.config 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tests/app.config 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,3 +1,3 @@ <?xml version="1.0"?> <configuration> -<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration> +<startup><supportedRuntime version="v2.0.50727"/></startup></configuration> Modified: trunk/Tools/AgateDataLib/AgateDataLib.csproj =================================================================== --- trunk/Tools/AgateDataLib/AgateDataLib.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/AgateDataLib/AgateDataLib.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -10,7 +10,7 @@ <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>DataLib</RootNamespace> <AssemblyName>DataLib</AssemblyName> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> <FileUpgradeFlags> </FileUpgradeFlags> Modified: trunk/Tools/DatabaseEditor/DatabaseEditor.csproj =================================================================== --- trunk/Tools/DatabaseEditor/DatabaseEditor.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/DatabaseEditor/DatabaseEditor.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -10,7 +10,7 @@ <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>AgateDatabaseEditor</RootNamespace> <AssemblyName>DatabaseEditor</AssemblyName> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> <FileUpgradeFlags> </FileUpgradeFlags> Modified: trunk/Tools/DatabaseEditor/Properties/Resources.Designer.cs =================================================================== --- trunk/Tools/DatabaseEditor/Properties/Resources.Designer.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/DatabaseEditor/Properties/Resources.Designer.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. -// Runtime Version:4.0.30319.239 +// Runtime Version:4.0.30319.18034 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -60,6 +60,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap CodeGen { get { object obj = ResourceManager.GetObject("CodeGen", resourceCulture); @@ -67,6 +70,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap Error { get { object obj = ResourceManager.GetObject("Error", resourceCulture); @@ -74,6 +80,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap infoBubble { get { object obj = ResourceManager.GetObject("infoBubble", resourceCulture); @@ -81,6 +90,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap NewDocumentHS { get { object obj = ResourceManager.GetObject("NewDocumentHS", resourceCulture); @@ -88,6 +100,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap openHS { get { object obj = ResourceManager.GetObject("openHS", resourceCulture); @@ -95,6 +110,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap saveHS { get { object obj = ResourceManager.GetObject("saveHS", resourceCulture); @@ -102,6 +120,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap warning { get { object obj = ResourceManager.GetObject("warning", resourceCulture); Modified: trunk/Tools/DatabaseEditor/Properties/Settings.Designer.cs =================================================================== --- trunk/Tools/DatabaseEditor/Properties/Settings.Designer.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/DatabaseEditor/Properties/Settings.Designer.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. -// Runtime Version:4.0.30319.239 +// Runtime Version:4.0.30319.18034 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -12,7 +12,7 @@ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); Modified: trunk/Tools/DatabaseEditor/app.config =================================================================== --- trunk/Tools/DatabaseEditor/app.config 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/DatabaseEditor/app.config 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,3 +1,3 @@ <?xml version="1.0"?> <configuration> -<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration> +<startup><supportedRuntime version="v2.0.50727"/></startup></configuration> Modified: trunk/Tools/FontCreator/FontCreator.csproj =================================================================== --- trunk/Tools/FontCreator/FontCreator.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/FontCreator/FontCreator.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -14,7 +14,7 @@ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> <DefaultTargetSchema>IE50</DefaultTargetSchema> <DelaySign>false</DelaySign> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <OutputType>WinExe</OutputType> <AppDesignerFolder> </AppDesignerFolder> Modified: trunk/Tools/FontCreator/Properties/Resources.Designer.cs =================================================================== --- trunk/Tools/FontCreator/Properties/Resources.Designer.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/FontCreator/Properties/Resources.Designer.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. -// Runtime Version:4.0.30319.1 +// Runtime Version:4.0.30319.18034 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -60,6 +60,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap Warning { get { object obj = ResourceManager.GetObject("Warning", resourceCulture); @@ -67,6 +70,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap zoom_in { get { object obj = ResourceManager.GetObject("zoom_in", resourceCulture); @@ -74,6 +80,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap zoom_out { get { object obj = ResourceManager.GetObject("zoom_out", resourceCulture); Modified: trunk/Tools/FontCreator/Properties/Settings.Designer.cs =================================================================== --- trunk/Tools/FontCreator/Properties/Settings.Designer.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/FontCreator/Properties/Settings.Designer.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. -// Runtime Version:4.0.30319.1 +// Runtime Version:4.0.30319.18034 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -12,7 +12,7 @@ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); Modified: trunk/Tools/FontCreator/app.config =================================================================== --- trunk/Tools/FontCreator/app.config 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/FontCreator/app.config 2013-02-14 21:44:13 UTC (rev 1355) @@ -12,4 +12,4 @@ </setting> </FontCreator.Properties.Settings> </userSettings> -<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration> +<startup><supportedRuntime version="v2.0.50727"/></startup></configuration> Modified: trunk/Tools/NotebookLib/NotebookLib/NotebookLib.csproj =================================================================== --- trunk/Tools/NotebookLib/NotebookLib/NotebookLib.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/NotebookLib/NotebookLib/NotebookLib.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -14,7 +14,7 @@ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> <DefaultTargetSchema>IE50</DefaultTargetSchema> <DelaySign>false</DelaySign> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <OutputType>Library</OutputType> <AppDesignerFolder> </AppDesignerFolder> Modified: trunk/Tools/NotebookLib/NotebookLib/Properties/Resources.Designer.cs =================================================================== --- trunk/Tools/NotebookLib/NotebookLib/Properties/Resources.Designer.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/NotebookLib/NotebookLib/Properties/Resources.Designer.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. -// Runtime Version:4.0.30319.1 +// Runtime Version:4.0.30319.18034 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -60,6 +60,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap Close { get { object obj = ResourceManager.GetObject("Close", resourceCulture); @@ -67,6 +70,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap CloseMouseOver { get { object obj = ResourceManager.GetObject("CloseMouseOver", resourceCulture); Modified: trunk/Tools/PackedSpriteCreator/PackedSpriteCreator.csproj =================================================================== --- trunk/Tools/PackedSpriteCreator/PackedSpriteCreator.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/PackedSpriteCreator/PackedSpriteCreator.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -14,7 +14,7 @@ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> <DefaultTargetSchema>IE50</DefaultTargetSchema> <DelaySign>false</DelaySign> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <OutputType>WinExe</OutputType> <AppDesignerFolder> </AppDesignerFolder> Modified: trunk/Tools/PackedSpriteCreator/Properties/Resources.Designer.cs =================================================================== --- trunk/Tools/PackedSpriteCreator/Properties/Resources.Designer.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/PackedSpriteCreator/Properties/Resources.Designer.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. -// Runtime Version:4.0.30319.1 +// Runtime Version:4.0.30319.18034 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. Modified: trunk/Tools/PackedSpriteCreator/app.config =================================================================== --- trunk/Tools/PackedSpriteCreator/app.config 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/PackedSpriteCreator/app.config 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,3 +1,3 @@ <?xml version="1.0"?> <configuration> -<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration> +<startup><supportedRuntime version="v2.0.50727"/></startup></configuration> Modified: trunk/Tools/ResourceEditor/Properties/Resources.Designer.cs =================================================================== --- trunk/Tools/ResourceEditor/Properties/Resources.Designer.cs 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/ResourceEditor/Properties/Resources.Designer.cs 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. -// Runtime Version:4.0.30319.1 +// Runtime Version:4.0.30319.18034 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -60,6 +60,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). + /// </summary> internal static System.Drawing.Icon AgateLib { get { object obj = ResourceManager.GetObject("AgateLib", resourceCulture); @@ -67,6 +70,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap Broom { get { object obj = ResourceManager.GetObject("Broom", resourceCulture); @@ -74,6 +80,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap CopyHS { get { object obj = ResourceManager.GetObject("CopyHS", resourceCulture); @@ -81,6 +90,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap CutHS { get { object obj = ResourceManager.GetObject("CutHS", resourceCulture); @@ -88,6 +100,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap Delete { get { object obj = ResourceManager.GetObject("Delete", resourceCulture); @@ -95,6 +110,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap DisplayWindow { get { object obj = ResourceManager.GetObject("DisplayWindow", resourceCulture); @@ -102,6 +120,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap DocumentHS { get { object obj = ResourceManager.GetObject("DocumentHS", resourceCulture); @@ -109,6 +130,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap error { get { object obj = ResourceManager.GetObject("error", resourceCulture); @@ -116,6 +140,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap Filter2HS { get { object obj = ResourceManager.GetObject("Filter2HS", resourceCulture); @@ -123,6 +150,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap FindHS { get { object obj = ResourceManager.GetObject("FindHS", resourceCulture); @@ -130,6 +160,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap font { get { object obj = ResourceManager.GetObject("font", resourceCulture); @@ -137,6 +170,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap Minus { get { object obj = ResourceManager.GetObject("Minus", resourceCulture); @@ -144,6 +180,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap Music { get { object obj = ResourceManager.GetObject("Music", resourceCulture); @@ -151,6 +190,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap NewDocumentHS { get { object obj = ResourceManager.GetObject("NewDocumentHS", resourceCulture); @@ -158,6 +200,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap Numbers { get { object obj = ResourceManager.GetObject("Numbers", resourceCulture); @@ -165,6 +210,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap openHS { get { object obj = ResourceManager.GetObject("openHS", resourceCulture); @@ -172,6 +220,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap PasteHS { get { object obj = ResourceManager.GetObject("PasteHS", resourceCulture); @@ -179,6 +230,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap Plus { get { object obj = ResourceManager.GetObject("Plus", resourceCulture); @@ -186,6 +240,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap saveHS { get { object obj = ResourceManager.GetObject("saveHS", resourceCulture); @@ -193,6 +250,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap SortHS { get { object obj = ResourceManager.GetObject("SortHS", resourceCulture); @@ -200,6 +260,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap SortUpHS { get { object obj = ResourceManager.GetObject("SortUpHS", resourceCulture); @@ -207,6 +270,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap SoundEffect { get { object obj = ResourceManager.GetObject("SoundEffect", resourceCulture); @@ -214,6 +280,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap sprite { get { object obj = ResourceManager.GetObject("sprite", resourceCulture); @@ -221,6 +290,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap Strings { get { object obj = ResourceManager.GetObject("Strings", resourceCulture); @@ -228,6 +300,9 @@ } } + /// <summary> + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// </summary> internal static System.Drawing.Bitmap Surfaces { get { object obj = ResourceManager.GetObject("Surfaces", resourceCulture); Modified: trunk/Tools/ResourceEditor/ResourceEditor.csproj =================================================================== --- trunk/Tools/ResourceEditor/ResourceEditor.csproj 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/ResourceEditor/ResourceEditor.csproj 2013-02-14 21:44:13 UTC (rev 1355) @@ -14,7 +14,7 @@ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> <DefaultTargetSchema>IE50</DefaultTargetSchema> <DelaySign>false</DelaySign> - <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <OutputType>WinExe</OutputType> <AppDesignerFolder> </AppDesignerFolder> Modified: trunk/Tools/ResourceEditor/app.config =================================================================== --- trunk/Tools/ResourceEditor/app.config 2013-02-13 20:08:42 UTC (rev 1354) +++ trunk/Tools/ResourceEditor/app.config 2013-02-14 21:44:13 UTC (rev 1355) @@ -1,3 +1,3 @@ <?xml version="1.0"?> <configuration> -<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration> +<startup><supportedRuntime version="v2.0.50727"/></startup></configuration> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2013-02-13 20:08:51
|
Revision: 1354 http://agate.svn.sourceforge.net/agate/?rev=1354&view=rev Author: kanato Date: 2013-02-13 20:08:42 +0000 (Wed, 13 Feb 2013) Log Message: ----------- Update License.txt Modified Paths: -------------- trunk/Examples/ShootTheTraps/License.txt Modified: trunk/Examples/ShootTheTraps/License.txt =================================================================== --- trunk/Examples/ShootTheTraps/License.txt 2013-02-13 20:07:46 UTC (rev 1353) +++ trunk/Examples/ShootTheTraps/License.txt 2013-02-13 20:08:42 UTC (rev 1354) @@ -1,4 +1,6 @@ The code here is licensed under a do-anything-you-please-with-it sort of license. +It's authored by me, Erik Ylvisaker (eyl...@gm...), and if you make any interesting +changes I wouldn't mind hearing about them. Images are licensed under the CC-BY 3.0 license. See http://creativecommons.org/licenses/by/3.0/us/ for details. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2013-02-13 20:07:54
|
Revision: 1353 http://agate.svn.sourceforge.net/agate/?rev=1353&view=rev Author: kanato Date: 2013-02-13 20:07:46 +0000 (Wed, 13 Feb 2013) Log Message: ----------- Add some trace reporting to the Registrar when loading assemblies. Modified Paths: -------------- trunk/AgateLib/Drivers/Registrar.cs Modified: trunk/AgateLib/Drivers/Registrar.cs =================================================================== --- trunk/AgateLib/Drivers/Registrar.cs 2013-02-13 05:07:30 UTC (rev 1352) +++ trunk/AgateLib/Drivers/Registrar.cs 2013-02-13 20:07:46 UTC (rev 1353) @@ -107,8 +107,13 @@ if (ShouldSkipLibrary(file)) continue; + Trace.WriteLine("Probing " + file + "..."); + Trace.Indent(); + foreach (AgateDriverInfo info in loader.ReportDrivers(file)) { + Trace.WriteLine("Found driver " + info.FriendlyName); + switch (info.DriverType) { case DriverType.Display: @@ -135,6 +140,8 @@ break; } } + + Trace.Unindent(); } AppDomain.Unload(sandbox); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2013-02-13 05:07:38
|
Revision: 1352 http://agate.svn.sourceforge.net/agate/?rev=1352&view=rev Author: kanato Date: 2013-02-13 05:07:30 +0000 (Wed, 13 Feb 2013) Log Message: ----------- Changed gun image. Added multipliers and an introduction. Added screens between levels. Changed bonus formulas. Modified Paths: -------------- trunk/Examples/ShootTheTraps/App.cs trunk/Examples/ShootTheTraps/Resources/barrel.png trunk/Examples/ShootTheTraps/ShootTheTraps.csproj trunk/Examples/ShootTheTraps/ShootTraps.cs trunk/Examples/ShootTheTraps/Trap.cs Added Paths: ----------- trunk/Examples/ShootTheTraps/Resources/barrel-hex.png Modified: trunk/Examples/ShootTheTraps/App.cs =================================================================== --- trunk/Examples/ShootTheTraps/App.cs 2013-02-13 01:07:03 UTC (rev 1351) +++ trunk/Examples/ShootTheTraps/App.cs 2013-02-13 05:07:30 UTC (rev 1352) @@ -26,6 +26,7 @@ double mGameOverTime = 0; double mLevelTime = 0; double mBonusTime = 0; + int mDisplayedMultiplier = 1; ShootTraps mGame; @@ -42,10 +43,93 @@ Mouse.MouseDown += new InputEventHandler(Mouse_MouseDown); Mouse.MouseMove += Mouse_MouseMove; + Keyboard.KeyDown += Keyboard_KeyDown; NewGame(); } + #region --- Introduction --- + + bool mShowIntro = true; + bool mShowHelpText = true; + + readonly string mIntroduction = @"{1}Shoot the Traps{2} + +You mission: Destroy as many filthy traps as you can. +These are traps: {0} +They are ugly. + +You have a cannon, which shoots where you point it. +{4}Point and click to shoot.{3} The traps have no chance to survive +against your mighty cannon. + +{4}Right-click to release the traps.{3} + +Each trap you destroy will net you 50 points. +The white ones are especially hideous, worthy of 100 points. +If you destroy multiple traps at once you receive bonus points! + +{4}You must score a certain number of points to pass each level.{3} + +Good luck. You'll need it. + +Click to start."; + + string[] mIntroLines; + + void DrawIntro() + { + if (mIntroLines == null) + { + mIntroLines = mIntroduction.Split('\n'); + } + + FontSurface font = mFont; + + int largestWidth = 0; + + for (int i = 0; i < mIntroLines.Length; i++) + { + largestWidth = Math.Max(largestWidth, font.MeasureString(mIntroLines[i]).Width); + } + + // center introduction text + Point textPt = new Point((Display.RenderTarget.Width - largestWidth) / 2, 20); + Rectangle boxArea = new Rectangle( + textPt.X - 10, + textPt.Y - 10, + largestWidth + 20, + (mIntroLines.Length +1) * font.FontHeight + 20); + + Display.FillRect(boxArea, Color.FromArgb(196, Color.Black)); + + for (int i = 0; i < mIntroLines.Length; i++) + { + font.DrawText(textPt.X, textPt.Y, mIntroLines[i], + Trap.Image, + AlterFont.Scale(2, 2), + AlterFont.Scale(1, 1), + AlterFont.Color(Color.White), + AlterFont.Color(Color.Yellow)); + + textPt.Y += font.FontHeight; + } + } + + #endregion + + void Keyboard_KeyDown(InputEventArgs e) + { + if (e.KeyCode == KeyCode.NumPadPlus) + { + mGame.SkipToNextLevel(); + } + } + + protected override string ApplicationTitle + { + get { return "Shoot the Traps"; } + } protected override void AdjustAppInitParameters(ref AppInitParameters initParams) { initParams.ShowSplashScreen = false; @@ -56,6 +140,9 @@ } protected override void Update(double time_ms) { + if (mShowIntro) + return; + mGame.Update(Display.DeltaTime); UpdateDisplay(); } @@ -64,17 +151,29 @@ Display.Clear(Color.LightBlue); mBackground.Draw(new Rectangle(Point.Empty, WindowSize)); + if (mShowIntro) + { + DrawIntro(); + return; + } + mGame.Draw(); DrawInformation(); } - void Mouse_MouseMove(InputEventArgs e) { mGame.MouseMove(e.MousePosition.X, e.MousePosition.Y); } void Mouse_MouseDown(InputEventArgs e) { + if (mShowIntro) + { + mShowIntro = false; + NewGame(); + return; + } + if (ContinueYet) { NewGame(); @@ -96,6 +195,10 @@ // make sure that the score is done updating. if (mGame.Score == mDisplayedScore) mGame.FireTraps(); + + if (mGame.FiredTraps) + mShowHelpText = false; + } } @@ -104,13 +207,14 @@ mGame = new ShootTraps(Display.RenderTarget.Width, Display.RenderTarget.Height - 50); mDisplayedScore = 0; mGameOverTime = 0; + mDisplayedMultiplier = 1; mLevelTime = Timing.TotalMilliseconds; if (mLevelTime == 0) mLevelTime = 1; } - public double GameOverTime + private double GameOverTime { get { @@ -134,21 +238,29 @@ public void UpdateDisplay() { - const int displayIncrement = 2; + int displayIncrement = 2; + int scoreDiff = mGame.Score - mDisplayedScore; - if (Math.Abs(mGame.Score - mDisplayedScore) < displayIncrement) + if (scoreDiff > 1000) + displayIncrement = 100; + else if (scoreDiff > 200) + displayIncrement = 10; + + + if (Math.Abs(scoreDiff) < displayIncrement) mDisplayedScore = mGame.Score; - if (mGame.Score > mDisplayedScore) - mDisplayedScore += displayIncrement; - else if (mGame.Score < mDisplayedScore) - mDisplayedScore -= displayIncrement; + if (mGame.Score > mDisplayedScore) mDisplayedScore += displayIncrement; + if (mGame.Score < mDisplayedScore) mDisplayedScore -= displayIncrement; } - public void DrawInformation() + + const double mLevelTextTotalTime = 10000; + + private void DrawInformation() { int fontHeight = mFont.FontHeight; - + DrawBottomStatus(); if (mGame.Score != mDisplayedScore && mGame.BonusAdded && mGame.TrapsHit > 1) @@ -160,56 +272,106 @@ if (mBonusTime != 0) { DrawBonusText(); + DrawMultiplierText(); } else if (mGame.GameOver && mDisplayedScore == mGame.Score) { DrawGameOverText(); } - else if ((mGame.CanAdvanceLevel && mGame.Score == mDisplayedScore) || mLevelTime != 0) + else if ((mGame.CanAdvanceLevel && (mGame.Score == mDisplayedScore || mGame.EndOfLevelBonus)) + || mLevelTime != 0) { - BeginNextLevel(); + DrawBetweenLevelText(); } } - private void BeginNextLevel() + private void DrawMultiplierText() { - const double mLevelTextTotalTime = 2500; + if (mDisplayedMultiplier == mGame.ScoreMultiplier) + return; - if (mGame.CanAdvanceLevel) + int textY = 160 + mFont.FontHeight * 4; + + CenterText(mFont, textY, "Multiplier: " + mGame.ScoreMultiplier.ToString(), Color.White, Color.Black); + + if (mBonusTime == 0) + mDisplayedMultiplier = mGame.ScoreMultiplier; + } + private void DrawBetweenLevelText() + { + if (mLevelTime == 0) + mLevelTime = Timing.TotalMilliseconds; + + if (mGame.Level == 0) + mLevelTime -= mLevelTextTotalTime / 2; + + if (Timing.TotalMilliseconds - mLevelTime < mLevelTextTotalTime / 2) + DrawLevelEndText(); + else { - mGame.NextLevel(); - mLevelTime = Timing.TotalMilliseconds; + if (mGame.CanAdvanceLevel) + mGame.NextLevel(); + + DrawLevelBeginText(); } - + } + private void DrawLevelBeginText() + { mLargeFont.SetScale(2, 2); - int fontHeight = mLargeFont.FontHeight * 2; + int textHeight = mLargeFont.FontHeight * 3; int textY = 160; Display.FillRect( - new Rectangle(0, textY, Display.RenderTarget.Width, fontHeight), + new Rectangle(0, textY, Display.RenderTarget.Width, textHeight), Color.FromArgb(128, Color.Black)); // back the border color for the text oscillate between red and black int r = (int)(255 * Math.Abs(Math.Sin(12 * (Timing.TotalMilliseconds - mLevelTime) / mLevelTextTotalTime))); + var borderColor = Color.FromArgb(r, 0, 0); - CenterText(mLargeFont, textY, "Level " + mGame.Level, Color.White, Color.FromArgb(r, 0, 0)); + CenterText(mLargeFont, textY, "Level " + mGame.Level, Color.White, borderColor); + mLargeFont.SetScale(1, 1); + CenterText(mLargeFont, textY + mLargeFont.FontHeight * 2, mGame.LevelMessage, Color.White, borderColor); + if (Timing.TotalMilliseconds - mLevelTime > mLevelTextTotalTime) mLevelTime = 0; } + private void DrawLevelEndText() + { + mLargeFont.SetScale(2, 2); + int textHeight = mLargeFont.FontHeight * 3; + int textY = 160; + + Display.FillRect( + new Rectangle(0, textY, Display.RenderTarget.Width, textHeight), + Color.FromArgb(128, Color.Black)); + + // back the border color for the text oscillate between red and black + int b = (int)(255 * Math.Abs(Math.Sin(12 * (Timing.TotalMilliseconds - mLevelTime) / mLevelTextTotalTime))); + var borderColor = Color.FromArgb(0, 0, b); + + CenterText(mLargeFont, textY, "End of Level " + mGame.Level, Color.White, borderColor); + + mLargeFont.SetScale(1, 1); + CenterText(mLargeFont, textY + mLargeFont.FontHeight * 2, + "BONUS for remaining pulls: " + mGame.BonusPoints.ToString(), + Color.White, borderColor); + + if (Timing.TotalMilliseconds - mLevelTime > mLevelTextTotalTime) + mLevelTime = 0; + } private void DrawGameOverText() { int fontHeight = mFont.FontHeight; - + if (mGameOverTime == 0) mGameOverTime = Timing.TotalMilliseconds; double deltaTime = Math.Min((Timing.TotalMilliseconds - mGameOverTime) / 3000, 1); - double extraScaleFactor = -3 * (1.1 - Math.Pow(deltaTime, 2)); - double scale = 3 + extraScaleFactor; mFont.SetScale(scale, scale); @@ -222,26 +384,31 @@ if (ContinueYet) CenterText(mFont, 240 + (int)(fontHeight * mFont.ScaleHeight), "Click to restart", Color.White, Color.Black); } - private void DrawBonusText() { + int textY = 160; mFont.SetScale(2, 2); - CenterText(mFont, 160, "HIT " + mGame.TrapsHit + " TRAPS", Color.White, Color.Black); - Color bonusColor = Color.White; if (Timing.TotalMilliseconds % 500 < 250) bonusColor = Color.Yellow; - CenterText(mFont, 160 + (int)(mFont.FontHeight * mFont.ScaleHeight), "BONUS: " + mGame.BonusPoints, bonusColor, Color.Black); + Display.FillRect( + new Rectangle(0, textY, Display.RenderTarget.Width, mFont.FontHeight * 4), + Color.FromArgb(128, Color.Black)); + CenterText(mFont, textY, "HIT " + mGame.TrapsHit + " TRAPS", Color.White, Color.Black); + textY += (int)(mFont.FontHeight * mFont.ScaleHeight); + + CenterText(mFont, textY, "BONUS: " + mGame.BonusPoints, bonusColor, Color.Black); + if (Timing.TotalMilliseconds - mBonusTime > 2000) { mBonusTime = 0; + mGame.ClearBonus(); } } - private int DrawBottomStatus() { mFont.Color = Color.White; @@ -252,6 +419,11 @@ Point textStart = new Point(10, Display.RenderTarget.Height - textBoxHeight); + if (mShowHelpText && mLevelTime == 0) + { + mFont.DrawText(textStart.X, textStart.Y - fontHeight, "Left-click to shoot... Right-click to release traps."); + } + Display.FillRect(new Rectangle(0, textStart.Y, Display.RenderTarget.Width, textBoxHeight), Color.Black); textStart.X = Display.RenderTarget.Width / 4; @@ -260,6 +432,9 @@ mFont.DrawText(textStart.X, textStart.Y + fontHeight, "Need: " + Math.Max(0, mGame.LevelRequirement - mGame.PointsThisLevel + (mGame.Score - mDisplayedScore))); + if (mGame.ScoreMultiplier != 1) + CenterText(mLargeFont, textStart.Y, "x " + mGame.ScoreMultiplier.ToString(), Color.White); + textStart.X = Display.RenderTarget.Width * 3 / 4; mFont.DrawText(textStart.X, textStart.Y, "Level: " + mGame.Level); Added: trunk/Examples/ShootTheTraps/Resources/barrel-hex.png =================================================================== (Binary files differ) Property changes on: trunk/Examples/ShootTheTraps/Resources/barrel-hex.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/Examples/ShootTheTraps/Resources/barrel.png =================================================================== (Binary files differ) Modified: trunk/Examples/ShootTheTraps/ShootTheTraps.csproj =================================================================== --- trunk/Examples/ShootTheTraps/ShootTheTraps.csproj 2013-02-13 01:07:03 UTC (rev 1351) +++ trunk/Examples/ShootTheTraps/ShootTheTraps.csproj 2013-02-13 05:07:30 UTC (rev 1352) @@ -112,6 +112,9 @@ <Content Include="Resources\background.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> + <Content Include="Resources\barrel-hex.png"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> <Content Include="Resources\barrel.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> Modified: trunk/Examples/ShootTheTraps/ShootTraps.cs =================================================================== --- trunk/Examples/ShootTheTraps/ShootTraps.cs 2013-02-13 01:07:03 UTC (rev 1351) +++ trunk/Examples/ShootTheTraps/ShootTraps.cs 2013-02-13 05:07:30 UTC (rev 1352) @@ -21,12 +21,14 @@ readonly int mGunX; readonly int mGunY; - const int BulletSpeed = 1000; + const int BulletSpeed = 800; const int MaxBullets = 4; int[] mLaunchX; + bool mFiredTraps; Surface mGun = new Surface("Resources/barrel.png"); + Surface mGunBolt = new Surface("Resources/barrel-hex.png"); Point mMousePos; double mGunAngle; @@ -56,7 +58,7 @@ mTrapMinVX = (int)(width / (3.0 * timeInAir)); mGunX = width / 2; - mGunY = mGroundY + 15; + mGunY = mGroundY; mLaunchX = new int[4]; @@ -77,6 +79,7 @@ Particle.Images.Add(new Surface("Resources/splatter-2.png")); Particle.Images.Add(new Surface("Resources/splatter-3.png")); Particle.Images.Add(new Surface("Resources/splatter-4.png")); + } public void Dispose() @@ -89,6 +92,11 @@ private void AddScore(int points) { + if (points == BonusPoints) + BonusPoints *= ScoreMultiplier; + + points *= ScoreMultiplier; + Score += points; PointsThisLevel += points; } @@ -97,10 +105,13 @@ if (CanAdvanceLevel == false) return; + ScoreMultiplier = 1; + ClearBonus(); + CanAdvanceLevel = false; Level++; - PullsLeft = Math.Min(12 + 2 * Level, 21); + PullsLeft = Math.Min(9 + 2 * Level, 21); PointsThisLevel = 0; } @@ -111,6 +122,7 @@ CheckForCollisions(); CalcBonus(); + CheckEndLevel(); DeleteObjects(); } @@ -131,6 +143,13 @@ mGun.RotationAngle = mGunAngle; mGun.Draw(mGunX, mGunY); + + mGunBolt.DisplayAlignment = OriginAlignment.Center; + mGunBolt.RotationCenter = OriginAlignment.Center; + mGunBolt.RotationAngle = mGunAngle; + + mGunBolt.Draw(mGunX, mGunY); + } private void DeleteObjects() @@ -151,29 +170,79 @@ private void CalcBonus() { - if (TrapCount != 0) + if (TrapCount != 0 || mFiredTraps == false) return; if (BonusAdded) return; + if (EndOfLevelBonus) + return; + if (TrapsHit >= 5 && TrapsHit >= MaxTraps - 2 && Level >= 6) + { + if (ScoreMultiplier < 3) + ScoreMultiplier++; + } + else if (TrapsHit == 0) + ScoreMultiplier = 1; + else if (TrapsHit < TrapsFired && ScoreMultiplier > 1) + ScoreMultiplier--; + BonusAdded = true; BonusPoints = 0; + int bonusRate = 250; + + if (Level >= 15) bonusRate = 100; + else if (Level >= 10) bonusRate = 150; + else if (Level >= 5) bonusRate = 200; + if (TrapsHit > 1) - BonusPoints = 250 * (TrapsHit - 1); + { + BonusPoints = bonusRate * (TrapsHit - 1); + } + if (BonusPoints == 0) + { + BonusAdded = false; + } + + mFiredTraps = false; AddScore(BonusPoints); + } + private void CheckEndLevel() + { + if (TrapCount != 0) + return; + if (BonusAdded) + return; + if (EndOfLevelBonus) + return; + // check for game over conditions - if (PullsLeft == 0) + if (PointsThisLevel >= LevelRequirement) { - if (PointsThisLevel >= LevelRequirement) - CanAdvanceLevel = true; - else - GameOver = true; + if (BonusPoints != 0) + return; + + CanAdvanceLevel = true; + + if (PullsLeft > 0 && EndOfLevelBonus == false) + { + ScoreMultiplier = 1; + EndOfLevelBonus = true; + BonusPoints = ExtraPullBonus * PullsLeft; + AddScore(BonusPoints); + } } + else if (PullsLeft == 0) + { + GameOver = true; + } } + #region --- Collision Checking --- + private void CheckForCollisions() { foreach (GameObject obj in mGameObjects) @@ -251,7 +320,7 @@ if (nextnext == va.Length) nextnext = 0; Vector2 edge = va[next] - va[i]; - + bool separating = true; // first check to see which side of the axis the points in @@ -264,7 +333,7 @@ for (int j = 0; j < vb.Length; j++) { Vector2 diff = vb[j] - va[i]; - + var dot = diff.DotProduct(edge); var side = Math.Sign(dot); @@ -295,7 +364,6 @@ return false; } - private void ComputeVertices(Rectangle rect, double angle, Vector2[] verts) { Vector2 center = RectCenter(rect); @@ -315,7 +383,6 @@ { return new Vector2(rect.X + rect.Width / 2, rect.Y + rect.Height / 2); } - private Vector2 RotatePoint(double cos, double sin, Vector2 point) { Vector2 retval = new Vector2( @@ -325,6 +392,8 @@ return retval; } + #endregion + public void MouseMove(int mouseX, int mouseY) { mMousePos = new Point(mouseX, mouseY); @@ -332,7 +401,6 @@ mGunAngle = Math.Atan2( mGunY - mouseY, mouseX - mGunX) - Math.PI / 2; } - public void FireBullet(int towardsX, int towardsY) { if (BulletCount >= MaxBullets) @@ -344,8 +412,6 @@ if (direction.Y > 0) { - direction.Y = 0; - if (direction.X == 0) direction.X = 1; @@ -379,17 +445,14 @@ TrapsHit = 0; BonusPoints = 0; BonusAdded = false; + mFiredTraps = true; - int maxTraps = Level / 2 + 2; - if (maxTraps > 8) - maxTraps = 8; + TrapsFired = mRandom.Next(MinTraps, MaxTraps + 1); - int r = mRandom.Next(maxTraps) + 1; - if (PullsLeft == 0) - r = maxTraps; + TrapsFired = MaxTraps; - for (int i = 0; i < r; i++) + for (int i = 0; i < TrapsFired; i++) { Trap t = new Trap(); @@ -398,8 +461,6 @@ t.Position.X = mLaunchX[xpos]; t.Position.Y = mGroundY; - t.FinalY = mGroundY + 50; - t.Velocity.X = mTrapMinVX + mRandom.Next(mTrapMaxVX - mTrapMinVX); t.Velocity.Y = -mTrapVYScale * (1 - mRandom.Next(50) / 200.0); @@ -410,7 +471,19 @@ mGameObjects.Add(t); } + } + private int MinTraps + { + get + { + int minTraps = 1; + + if (Level >= 8) minTraps++; + if (Level >= 16) minTraps++; + + return minTraps; + } } public int BulletCount @@ -421,7 +494,12 @@ { get { return mGameObjects.Count(x => x is Trap); } } + public int TrapsFired { get; private set; } + public int MaxTraps + { + get { return Level / 2 + 2; } + } public bool CanAdvanceLevel { get; private set; } public bool GameOver { get; private set; } public int Level { get; private set; } @@ -432,9 +510,51 @@ public int PullsLeft { get; private set; } public int TrapsHit { get; private set; } public bool BonusAdded { get; private set; } + public bool EndOfLevelBonus { get; private set; } public int BonusPoints { get; private set; } public int PointsThisLevel { get; set; } public int Score { get; set; } + public int ScoreMultiplier { get; set; } + public bool FiredTraps { get { return mFiredTraps; } } + + public int ExtraPullBonus + { + get { return 250; } + } + public string LevelMessage + { + get + { + switch (Level) + { + case 2: return "Extra pulls! Score " + LevelRequirement.ToString() + " to advance"; + case 4: return "Up to 4 traps at a time!"; + case 6: return "Hit 5 traps to multiply score!"; + case 8: return "Bonus chance on every pull!"; + case 12: return "Hit 6 traps to multiply score!"; + case 16: return "At least 3 traps at a time!"; + case 5: + case 10: + case 15: + return "Bonus REDUCED!"; + default: + return "Score " + LevelRequirement.ToString() + " to advance"; + } + } + } + + public void SkipToNextLevel() + { + CanAdvanceLevel = true; + } + + public void ClearBonus() + { + BonusAdded = false; + EndOfLevelBonus = false; + BonusPoints = 0; + TrapsHit = 0; + } } } \ No newline at end of file Modified: trunk/Examples/ShootTheTraps/Trap.cs =================================================================== --- trunk/Examples/ShootTheTraps/Trap.cs 2013-02-13 01:07:03 UTC (rev 1351) +++ trunk/Examples/ShootTheTraps/Trap.cs 2013-02-13 05:07:30 UTC (rev 1352) @@ -11,18 +11,23 @@ { const int width = 24; const int height = 16; - int mFinalY = 0; Color mColor = Color.Red; bool mDeleteMe = false; static Random sRandom; - static Color[] sColors = { Color.White, Color.Blue, Color.Red, Color.Purple, Color.Yellow, - Color.Green }; + static Color[] sColors = + { + Color.White, Color.Blue, Color.Red, + Color.Purple, Color.Yellow, Color.Green, + Color.Cyan, + }; public static Surface Image { get; set; } - /// Creates a new instance of Trap */ + /// <summary> + /// Creates a new instance of Trap + /// </summary> public Trap() { if (sRandom == null) @@ -48,15 +53,6 @@ height); } } - /// <summary> - /// The highest (low on screen) value that the trap can get before it - /// should be deleted. - /// </summary> - public int FinalY - { - get { return mFinalY; } - set { mFinalY = value; } - } public void SetDeleteMeFlag() { @@ -83,7 +79,7 @@ Image.Draw((float)Position.X, (float)Position.Y); - if (Position.Y > mFinalY && Velocity.Y > 0) + if (OutsideField && Velocity.Y > 0) mDeleteMe = true; else mDeleteMe = false; @@ -140,6 +136,5 @@ return retval; } - } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2013-02-13 01:07:12
|
Revision: 1351 http://agate.svn.sourceforge.net/agate/?rev=1351&view=rev Author: kanato Date: 2013-02-13 01:07:03 +0000 (Wed, 13 Feb 2013) Log Message: ----------- Updated collision algorithm. Modified Paths: -------------- trunk/Examples/ShootTheTraps/App.cs trunk/Examples/ShootTheTraps/Bullet.cs trunk/Examples/ShootTheTraps/GameObject.cs trunk/Examples/ShootTheTraps/Particle.cs trunk/Examples/ShootTheTraps/ShootTraps.cs trunk/Examples/ShootTheTraps/Trap.cs trunk/Examples/ShootTheTraps/Vector.cs Modified: trunk/Examples/ShootTheTraps/App.cs =================================================================== --- trunk/Examples/ShootTheTraps/App.cs 2013-02-12 23:06:51 UTC (rev 1350) +++ trunk/Examples/ShootTheTraps/App.cs 2013-02-13 01:07:03 UTC (rev 1351) @@ -65,7 +65,7 @@ mBackground.Draw(new Rectangle(Point.Empty, WindowSize)); mGame.Draw(); - DrawHud(); + DrawInformation(); } @@ -145,29 +145,12 @@ mDisplayedScore -= displayIncrement; } - public void DrawHud() + public void DrawInformation() { - mFont.Color = Color.White; - mFont.SetScale(1, 1); - int fontHeight = mFont.FontHeight; - int TextBoxHeight = mFont.FontHeight * 2; + + DrawBottomStatus(); - Point textStart = new Point(10, Display.RenderTarget.Height - TextBoxHeight); - - Display.FillRect(new Rectangle(0, textStart.Y, Display.RenderTarget.Width, TextBoxHeight), Color.Black); - - textStart.X = Display.RenderTarget.Width / 4; - - mFont.DrawText(textStart.X, textStart.Y, "Score: " + mDisplayedScore); - mFont.DrawText(textStart.X, textStart.Y + fontHeight, "Need: " + - Math.Max(0, mGame.LevelRequirement - mGame.PointsThisLevel + (mGame.Score - mDisplayedScore))); - - textStart.X = Display.RenderTarget.Width * 3 / 4; - - mFont.DrawText(textStart.X, textStart.Y, "Level: " + mGame.Level); - mFont.DrawText(textStart.X, textStart.Y + fontHeight, "Pulls Left: " + mGame.PullsLeft); - if (mGame.Score != mDisplayedScore && mGame.BonusAdded && mGame.TrapsHit > 1) { if (mBonusTime == 0) @@ -176,61 +159,114 @@ if (mBonusTime != 0) { - mFont.SetScale(2, 2); + DrawBonusText(); + } + else if (mGame.GameOver && mDisplayedScore == mGame.Score) + { + DrawGameOverText(); + } + else if ((mGame.CanAdvanceLevel && mGame.Score == mDisplayedScore) || mLevelTime != 0) + { + BeginNextLevel(); + } + } - CenterText(mFont, 160, "HIT " + mGame.TrapsHit + " TRAPS", Color.White, Color.Black); + private void BeginNextLevel() + { + const double mLevelTextTotalTime = 2500; - Color bonusColor = Color.White; + if (mGame.CanAdvanceLevel) + { + mGame.NextLevel(); + mLevelTime = Timing.TotalMilliseconds; + } - if (Timing.TotalMilliseconds % 500 < 250) - bonusColor = Color.Yellow; + mLargeFont.SetScale(2, 2); - CenterText(mFont, 160 + (int)(fontHeight * mFont.ScaleHeight), "BONUS: " + mGame.BonusPoints, bonusColor, Color.Black); + int fontHeight = mLargeFont.FontHeight * 2; + int textY = 160; - if (Timing.TotalMilliseconds - mBonusTime > 2000) - { - mBonusTime = 0; - } - } - else if (mGame.GameOver && mDisplayedScore == mGame.Score) - { - if (mGameOverTime == 0) - mGameOverTime = Timing.TotalMilliseconds; + Display.FillRect( + new Rectangle(0, textY, Display.RenderTarget.Width, fontHeight), + Color.FromArgb(128, Color.Black)); - double deltaTime = Math.Min((Timing.TotalMilliseconds - mGameOverTime) / 3000, 1); + // back the border color for the text oscillate between red and black + int r = (int)(255 * Math.Abs(Math.Sin(12 * (Timing.TotalMilliseconds - mLevelTime) / mLevelTextTotalTime))); - double extraScaleFactor = -3 * (1.1 - Math.Pow(deltaTime, 2)); + CenterText(mLargeFont, textY, "Level " + mGame.Level, Color.White, Color.FromArgb(r, 0, 0)); - double scale = 3 + extraScaleFactor; + if (Timing.TotalMilliseconds - mLevelTime > mLevelTextTotalTime) + mLevelTime = 0; + } - mFont.SetScale(scale, scale); + private void DrawGameOverText() + { + int fontHeight = mFont.FontHeight; + + if (mGameOverTime == 0) + mGameOverTime = Timing.TotalMilliseconds; - CenterText(mFont, (int)(200 + fontHeight - scale * fontHeight / 2.0), - "GAME OVER", Color.White, Color.Black); + double deltaTime = Math.Min((Timing.TotalMilliseconds - mGameOverTime) / 3000, 1); - mFont.SetScale(1.5, 1.5); + double extraScaleFactor = -3 * (1.1 - Math.Pow(deltaTime, 2)); - if (ContinueYet) - CenterText(mFont, 240 + (int)(fontHeight * mFont.ScaleHeight), "Click to restart", Color.White, Color.Black); - } - else if ((mGame.CanAdvanceLevel && mGame.Score == mDisplayedScore) || mLevelTime != 0) - { - if (mGame.CanAdvanceLevel) - { - mGame.NextLevel(); - mLevelTime = Timing.TotalMilliseconds; - } + double scale = 3 + extraScaleFactor; - int width = Display.RenderTarget.Width; - int x = (int)(width * (1 - (Timing.TotalMilliseconds - mLevelTime) / 2300.0)); + mFont.SetScale(scale, scale); - DrawBorderedText(mLargeFont, x, 160, "Level " + mGame.Level, Color.White, Color.Black); + CenterText(mFont, (int)(200 + fontHeight - scale * fontHeight / 2.0), + "GAME OVER", Color.White, Color.Black); - if (Timing.TotalMilliseconds - mLevelTime > 3000) - mLevelTime = 0; + mFont.SetScale(1.5, 1.5); + + if (ContinueYet) + CenterText(mFont, 240 + (int)(fontHeight * mFont.ScaleHeight), "Click to restart", Color.White, Color.Black); + } + + private void DrawBonusText() + { + mFont.SetScale(2, 2); + + CenterText(mFont, 160, "HIT " + mGame.TrapsHit + " TRAPS", Color.White, Color.Black); + + Color bonusColor = Color.White; + + if (Timing.TotalMilliseconds % 500 < 250) + bonusColor = Color.Yellow; + + CenterText(mFont, 160 + (int)(mFont.FontHeight * mFont.ScaleHeight), "BONUS: " + mGame.BonusPoints, bonusColor, Color.Black); + + if (Timing.TotalMilliseconds - mBonusTime > 2000) + { + mBonusTime = 0; } } + private int DrawBottomStatus() + { + mFont.Color = Color.White; + mFont.SetScale(1, 1); + + int fontHeight = mFont.FontHeight; + int textBoxHeight = mFont.FontHeight * 2; + + Point textStart = new Point(10, Display.RenderTarget.Height - textBoxHeight); + + Display.FillRect(new Rectangle(0, textStart.Y, Display.RenderTarget.Width, textBoxHeight), Color.Black); + + textStart.X = Display.RenderTarget.Width / 4; + + mFont.DrawText(textStart.X, textStart.Y, "Score: " + mDisplayedScore); + mFont.DrawText(textStart.X, textStart.Y + fontHeight, "Need: " + + Math.Max(0, mGame.LevelRequirement - mGame.PointsThisLevel + (mGame.Score - mDisplayedScore))); + + textStart.X = Display.RenderTarget.Width * 3 / 4; + + mFont.DrawText(textStart.X, textStart.Y, "Level: " + mGame.Level); + mFont.DrawText(textStart.X, textStart.Y + fontHeight, "Pulls Left: " + mGame.PullsLeft); + return fontHeight; + } + private void CenterText(FontSurface font, int y, string text, Color color) { Size size = font.MeasureString(text); Modified: trunk/Examples/ShootTheTraps/Bullet.cs =================================================================== --- trunk/Examples/ShootTheTraps/Bullet.cs 2013-02-12 23:06:51 UTC (rev 1350) +++ trunk/Examples/ShootTheTraps/Bullet.cs 2013-02-13 01:07:03 UTC (rev 1351) @@ -29,6 +29,21 @@ } + public override Rectangle BoundingRect + { + get + { + int width = Image.DisplayWidth; + int height = Image.DisplayHeight; + + return new Rectangle( + (int)Position.X - width / 2, + (int)Position.Y - height / 2, + width, + height); + } + } + /// <summary> /// Delete the bullet if it has gone outside the bounds of the screen. /// </summary> Modified: trunk/Examples/ShootTheTraps/GameObject.cs =================================================================== --- trunk/Examples/ShootTheTraps/GameObject.cs 2013-02-12 23:06:51 UTC (rev 1350) +++ trunk/Examples/ShootTheTraps/GameObject.cs 2013-02-13 01:07:03 UTC (rev 1351) @@ -40,7 +40,7 @@ /// <summary> /// The value for gravity, in pixels / second / second. /// </summary> - public const float Gravity = 200; + public const float Gravity = 300; /// Creates a new instance of GameObject /// </summary> @@ -132,6 +132,8 @@ return false; } } + + public abstract Rectangle BoundingRect { get; } } } \ No newline at end of file Modified: trunk/Examples/ShootTheTraps/Particle.cs =================================================================== --- trunk/Examples/ShootTheTraps/Particle.cs 2013-02-12 23:06:51 UTC (rev 1350) +++ trunk/Examples/ShootTheTraps/Particle.cs 2013-02-13 01:07:03 UTC (rev 1351) @@ -13,7 +13,7 @@ Color mColor; int mAlpha = 255; int mImageIndex; - const double particleLifeTimeMilliseconds = 3000; + const double particleLifeTimeMilliseconds = 2000; public static List<Surface> Images { get; private set; } @@ -23,6 +23,17 @@ Images = new List<Surface>(); } + public override Rectangle BoundingRect + { + get + { + return new Rectangle( + (int)Position.X, + (int)Position.Y, + 1, + 1); + } + } /// Creates a new instance of Particle */ public Particle(Color clr, Random rnd) { Modified: trunk/Examples/ShootTheTraps/ShootTraps.cs =================================================================== --- trunk/Examples/ShootTheTraps/ShootTraps.cs 2013-02-12 23:06:51 UTC (rev 1350) +++ trunk/Examples/ShootTheTraps/ShootTraps.cs 2013-02-13 01:07:03 UTC (rev 1351) @@ -25,7 +25,7 @@ const int MaxBullets = 4; int[] mLaunchX; - + Surface mGun = new Surface("Resources/barrel.png"); Point mMousePos; double mGunAngle; @@ -60,16 +60,17 @@ mLaunchX = new int[4]; + // area of screen where traps are launched from. int launchScale = width / 2 - 50; - mLaunchX[0] = width / 2 - launchScale + 10; - mLaunchX[1] = width / 2 - launchScale + 50; + mLaunchX[0] = width / 2 - launchScale; + mLaunchX[1] = width / 2 - launchScale + 40; mLaunchX[2] = width - mLaunchX[1]; mLaunchX[3] = width - mLaunchX[0]; GameObject.FieldArea = Rectangle.FromLTRB(-10, -20, width + 10, mGunY); - + Bullet.Image = new Surface("Resources/bullet.png"); Trap.Image = new Surface("Resources/enemy.png"); Particle.Images.Add(new Surface("Resources/splatter-1.png")); @@ -180,16 +181,18 @@ if (obj is Bullet == false) continue; - Bullet ar = (Bullet)obj; + Bullet bullet = (Bullet)obj; + Rectangle bulletRect = bullet.BoundingRect; + foreach (GameObject t in mGameObjects) { - if (!(t is Trap)) - continue; + if (t is Trap == false) continue; + if (t.DeleteMe) continue; Trap trap = (Trap)t; - if (trap.ContainsPoint(ar.Position) && trap.DeleteMe == false) + if (RectsIntersect(bulletRect, bullet.RotationAngle, trap.BoundingRect, trap.RotationAngle)) { trap.SetDeleteMeFlag(); trap.ShouldCreateDebris = true; @@ -207,6 +210,121 @@ } } + // store these in the object instance so that we + // don't generate a whole lot of garbage when checking for + // intersections. + Vector2[] vertsA = new Vector2[4]; + Vector2[] vertsB = new Vector2[4]; + + private bool RectsIntersect(Rectangle rectA, double angleA, Rectangle rectB, double angleB) + { + // produce vertices for each rectangle + ComputeVertices(rectA, angleA, vertsA); + ComputeVertices(rectB, angleB, vertsB); + + // now we need to do the separating axis test for each edge in each square. + if (FindSeparatingAxis(vertsA, vertsB)) + return false; + + if (FindSeparatingAxis(vertsB, vertsA)) + return false; + + return true; + } + + /// <summary> + /// Checks to see if any of the lines in the first set of vectors groups + /// all the points in the second set of vectors entirely into one side. + /// This algorithm can be used to determine if two convex polygons intersect. + /// </summary> + /// <param name="va"></param> + /// <param name="vb"></param> + /// <returns></returns> + private bool FindSeparatingAxis(Vector2[] va, Vector2[] vb) + { + for (int i = 0; i < va.Length; i++) + { + int next = i + 1; + if (next == va.Length) next = 0; + + int nextnext = next + 1; + if (nextnext == va.Length) nextnext = 0; + + Vector2 edge = va[next] - va[i]; + + bool separating = true; + + // first check to see which side of the axis the points in + // va are on, stored in the inSide variable. + Vector2 indiff = va[nextnext] - va[i]; + var indot = indiff.DotProduct(edge); + int inSide = Math.Sign(indot); + int lastSide = 0; + + for (int j = 0; j < vb.Length; j++) + { + Vector2 diff = vb[j] - va[i]; + + var dot = diff.DotProduct(edge); + var side = Math.Sign(dot); + + // this means points in vb are on the same side + // of the edge as points in va. Thus, it is not + // a separating axis. + if (side == inSide) + { + separating = false; + break; + } + + if (lastSide == 0) + lastSide = side; + else if (lastSide != side) + { + // if we fail here, it means the axis goes right through + // the polygon defined in vb, so this is not a separating + // axis. + separating = false; + break; + } + } + + if (separating) + return true; + } + + return false; + } + + private void ComputeVertices(Rectangle rect, double angle, Vector2[] verts) + { + Vector2 center = RectCenter(rect); + + double cos = Math.Cos(angle); + double sin = Math.Sin(angle); + + // translate so the center of the rect is at the origin, apply the rotation + // and translate back. + verts[0] = center + RotatePoint(cos, sin, new Vector2(rect.Left, rect.Top) - center); + verts[1] = center + RotatePoint(cos, sin, new Vector2(rect.Right, rect.Top) - center); + verts[2] = center + RotatePoint(cos, sin, new Vector2(rect.Right, rect.Bottom) - center); + verts[3] = center + RotatePoint(cos, sin, new Vector2(rect.Left, rect.Bottom) - center); + } + + private Vector2 RectCenter(Rectangle rect) + { + return new Vector2(rect.X + rect.Width / 2, rect.Y + rect.Height / 2); + } + + private Vector2 RotatePoint(double cos, double sin, Vector2 point) + { + Vector2 retval = new Vector2( + (cos * point.X - sin * point.Y), + (sin * point.X + cos * point.Y)); + + return retval; + } + public void MouseMove(int mouseX, int mouseY) { mMousePos = new Point(mouseX, mouseY); @@ -251,7 +369,7 @@ return; if (PullsLeft <= 0) return; - + // Don't fire traps if there are any traps left on the screen, or // if the player has fired some bullets on the screen. No cheating that way! if (mGameObjects.Count > 0) Modified: trunk/Examples/ShootTheTraps/Trap.cs =================================================================== --- trunk/Examples/ShootTheTraps/Trap.cs 2013-02-12 23:06:51 UTC (rev 1350) +++ trunk/Examples/ShootTheTraps/Trap.cs 2013-02-13 01:07:03 UTC (rev 1351) @@ -34,6 +34,20 @@ mColor = sColors[sRandom.Next(sColors.Length)]; } + public override Rectangle BoundingRect + { + get + { + int width = Image.DisplayWidth; + int height = Image.DisplayHeight; + + return new Rectangle( + (int)Position.X - width / 2, + (int)Position.Y - height / 2, + width, + height); + } + } /// <summary> /// The highest (low on screen) value that the trap can get before it /// should be deleted. Modified: trunk/Examples/ShootTheTraps/Vector.cs =================================================================== --- trunk/Examples/ShootTheTraps/Vector.cs 2013-02-12 23:06:51 UTC (rev 1350) +++ trunk/Examples/ShootTheTraps/Vector.cs 2013-02-13 01:07:03 UTC (rev 1351) @@ -14,7 +14,6 @@ set { mX = value; } } - public double Y { get { return mY; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2013-02-12 23:07:03
|
Revision: 1350 http://agate.svn.sourceforge.net/agate/?rev=1350&view=rev Author: kanato Date: 2013-02-12 23:06:51 +0000 (Tue, 12 Feb 2013) Log Message: ----------- Refactor ShootTheTraps project and add images. Modified Paths: -------------- trunk/Examples/ShootTheTraps/App.cs trunk/Examples/ShootTheTraps/GameObject.cs trunk/Examples/ShootTheTraps/Particle.cs trunk/Examples/ShootTheTraps/ShootTheTraps.csproj trunk/Examples/ShootTheTraps/ShootTraps.cs trunk/Examples/ShootTheTraps/Trap.cs trunk/Examples/ShootTheTraps/Vector.cs Added Paths: ----------- trunk/Examples/ShootTheTraps/Bullet.cs trunk/Examples/ShootTheTraps/License.txt trunk/Examples/ShootTheTraps/Resources/ trunk/Examples/ShootTheTraps/Resources/background.png trunk/Examples/ShootTheTraps/Resources/barrel.png trunk/Examples/ShootTheTraps/Resources/bullet.png trunk/Examples/ShootTheTraps/Resources/enemy.png trunk/Examples/ShootTheTraps/Resources/splatter-1.png trunk/Examples/ShootTheTraps/Resources/splatter-2.png trunk/Examples/ShootTheTraps/Resources/splatter-3.png trunk/Examples/ShootTheTraps/Resources/splatter-4.png trunk/Examples/ShootTheTraps/Resources/timecannonimages/ trunk/Examples/ShootTheTraps/Resources/timecannonimages/barrel-h.png trunk/Examples/ShootTheTraps/Resources/timecannonimages/barrel-m.png trunk/Examples/ShootTheTraps/Resources/timecannonimages/bullet-h.png trunk/Examples/ShootTheTraps/Resources/timecannonimages/bullet-m.png trunk/Examples/ShootTheTraps/Resources/timecannonimages/clockcannon.svg trunk/Examples/ShootTheTraps/Resources/timecannonimages/time-03.png trunk/Examples/ShootTheTraps/Resources/timecannonimages/time-06.png trunk/Examples/ShootTheTraps/Resources/timecannonimages/time-09.png trunk/Examples/ShootTheTraps/Resources/timecannonimages/time-12.png Removed Paths: ------------- trunk/Examples/ShootTheTraps/Arrow.cs Modified: trunk/Examples/ShootTheTraps/App.cs =================================================================== --- trunk/Examples/ShootTheTraps/App.cs 2013-02-12 23:03:28 UTC (rev 1349) +++ trunk/Examples/ShootTheTraps/App.cs 2013-02-12 23:06:51 UTC (rev 1350) @@ -32,16 +32,28 @@ // graphics declaration FontSurface mFont; FontSurface mLargeFont; + Surface mBackground; protected override void Initialize() { mFont = FontSurface.AgateSans14; mLargeFont = FontSurface.AgateSans24; + mBackground = new Surface("Resources/background.png"); Mouse.MouseDown += new InputEventHandler(Mouse_MouseDown); + Mouse.MouseMove += Mouse_MouseMove; NewGame(); } + + protected override void AdjustAppInitParameters(ref AppInitParameters initParams) + { + initParams.ShowSplashScreen = false; + } + protected override Size WindowSize + { + get { return new Size(1280, 720); } + } protected override void Update(double time_ms) { mGame.Update(Display.DeltaTime); @@ -50,11 +62,17 @@ protected override void Render() { Display.Clear(Color.LightBlue); + mBackground.Draw(new Rectangle(Point.Empty, WindowSize)); mGame.Draw(); - DrawDisplay(); + DrawHud(); } + + void Mouse_MouseMove(InputEventArgs e) + { + mGame.MouseMove(e.MousePosition.X, e.MousePosition.Y); + } void Mouse_MouseDown(InputEventArgs e) { if (ContinueYet) @@ -70,7 +88,7 @@ // left click if ((e.MouseButtons & Mouse.MouseButtons.Primary) != 0) { - mGame.FireArrow(e.MousePosition.X, e.MousePosition.Y); + mGame.FireBullet(e.MousePosition.X, e.MousePosition.Y); } // right click if ((e.MouseButtons & Mouse.MouseButtons.Secondary) != 0) @@ -127,27 +145,30 @@ mDisplayedScore -= displayIncrement; } - public void DrawDisplay() + public void DrawHud() { mFont.Color = Color.White; mFont.SetScale(1, 1); int fontHeight = mFont.FontHeight; + int TextBoxHeight = mFont.FontHeight * 2; - Point textStart = new Point(10, Display.RenderTarget.Height - 52); + Point textStart = new Point(10, Display.RenderTarget.Height - TextBoxHeight); - Display.FillRect(new Rectangle(0, textStart.Y, Display.RenderTarget.Width, 50), Color.Black); + Display.FillRect(new Rectangle(0, textStart.Y, Display.RenderTarget.Width, TextBoxHeight), Color.Black); + textStart.X = Display.RenderTarget.Width / 4; + mFont.DrawText(textStart.X, textStart.Y, "Score: " + mDisplayedScore); mFont.DrawText(textStart.X, textStart.Y + fontHeight, "Need: " + Math.Max(0, mGame.LevelRequirement - mGame.PointsThisLevel + (mGame.Score - mDisplayedScore))); - textStart.X = Display.RenderTarget.Width / 2; + textStart.X = Display.RenderTarget.Width * 3 / 4; mFont.DrawText(textStart.X, textStart.Y, "Level: " + mGame.Level); mFont.DrawText(textStart.X, textStart.Y + fontHeight, "Pulls Left: " + mGame.PullsLeft); - if (mGame.Score != mDisplayedScore && mGame.AddedBonus && mGame.TrapsHit > 1) + if (mGame.Score != mDisplayedScore && mGame.BonusAdded && mGame.TrapsHit > 1) { if (mBonusTime == 0) mBonusTime = Timing.TotalMilliseconds; Deleted: trunk/Examples/ShootTheTraps/Arrow.cs =================================================================== --- trunk/Examples/ShootTheTraps/Arrow.cs 2013-02-12 23:03:28 UTC (rev 1349) +++ trunk/Examples/ShootTheTraps/Arrow.cs 2013-02-12 23:06:51 UTC (rev 1350) @@ -1,61 +0,0 @@ -using System; -using System.Collections.Generic; -using AgateLib; -using AgateLib.DisplayLib; -using AgateLib.Geometry; - -namespace ShootTheTraps -{ - public class Arrow : GameObject - { - const int LENGTH = 10; - static int sXMax; - const int YMIN = -20; - const int YMAX = 1000; - const int XMIN = -20; - - /// <summary> - /// Allows the game engine to set how far to the right is too far for an arrow to travel. - /// </summary> - public static int XMax - { - get { return sXMax; } - set { sXMax = value; } - } - - public Arrow() - { - //acceleration.my = gravity; - } - - /// <summary> - /// Draws a short line for the arrow. - /// </summary> - public override void Draw() - { - Vector3d direction = Velocity.Normalize(); - - Display.DrawLine( - (int)Position.X, (int)Position.Y, - (int)(Position.X + direction.X * LENGTH), (int)(Position.Y + direction.Y * LENGTH), Color.Black); - } - - /// <summary> - /// Delete the arrow if it has gone outside the bounds of the screen. - /// </summary> - public override bool DeleteMe - { - get - { - if (Position.X < XMIN || Position.X > sXMax) - return true; - else if (Position.Y < YMIN || Position.Y > YMAX) - return true; - - return false; - } - } - - } - -} Copied: trunk/Examples/ShootTheTraps/Bullet.cs (from rev 1346, trunk/Examples/ShootTheTraps/Arrow.cs) =================================================================== --- trunk/Examples/ShootTheTraps/Bullet.cs (rev 0) +++ trunk/Examples/ShootTheTraps/Bullet.cs 2013-02-12 23:06:51 UTC (rev 1350) @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using AgateLib; +using AgateLib.DisplayLib; +using AgateLib.Geometry; + +namespace ShootTheTraps +{ + public class Bullet : GameObject + { + public static Surface Image { get; set; } + + public Bullet() + { + } + + /// <summary> + /// Draws the image for the bullet. + /// </summary> + public override void Draw() + { + Vector3d direction = Velocity.Normalize(); + + Image.DisplayAlignment = OriginAlignment.Center; + Image.RotationCenter = OriginAlignment.Center; + Image.RotationAngle = RotationAngle; + + Image.Draw((float)Position.X, (float)Position.Y); + + } + + /// <summary> + /// Delete the bullet if it has gone outside the bounds of the screen. + /// </summary> + public override bool DeleteMe + { + get + { + if (OutsideField) + return true; + + return false; + } + } + } +} Modified: trunk/Examples/ShootTheTraps/GameObject.cs =================================================================== --- trunk/Examples/ShootTheTraps/GameObject.cs 2013-02-12 23:03:28 UTC (rev 1349) +++ trunk/Examples/ShootTheTraps/GameObject.cs 2013-02-12 23:06:51 UTC (rev 1350) @@ -5,100 +5,133 @@ namespace ShootTheTraps { - public abstract class GameObject - { - - /// <summary> - /// Position of the object. This is automatically updated from - /// acceleration and velocity during the call to Update(). - /// </summary> - public Vector3d Position; - /// <summary> - /// Velocity of the object. This is automatically updated from - /// acceleration during the call to Update(). - /// </summary> - public Vector3d Velocity; - /// <summary> - /// Acceleration of the object based on its position at the start - /// of this frame. The object or application is responsible for - /// updating this if it changes. */ - /// </summary> - public Vector3d Acceleration; + public abstract class GameObject + { + /// <summary> + /// The area of the field outside which objects will be destroyed for + /// being too far off-screen. + /// </summary> + public static Rectangle FieldArea { get; set; } - public bool mDoDeleteObjects = false; + /// <summary> + /// Position of the object. This is automatically updated from + /// acceleration and velocity during the call to Update(). + /// </summary> + public Vector3d Position; + /// <summary> + /// Velocity of the object. This is automatically updated from + /// acceleration during the call to Update(). + /// </summary> + public Vector3d Velocity; + /// <summary> + /// Acceleration of the object based on its position at the start + /// of this frame. The object or application is responsible for + /// updating this if it changes. + /// </summary> + public Vector3d Acceleration; - private Vector3d mOldAcceleration; + private Vector3d mOldAcceleration; - /// <summary> - /// The value for gravity, in pixels / second / second. - /// </summary> - public const float GRAVITY = 300; + public double RotationalVelocity { get; set; } + public double RotationAngle { get; set; } - /// Creates a new instance of GameObject - /// </summary> - public GameObject() - { - Position = new Vector3d(); - Velocity = new Vector3d(); - Acceleration = new Vector3d(); - mOldAcceleration = new Vector3d(); - } + public bool ShouldCreateDebris { get; set; } - /// <summary> - /// Integrates motion equations to calculate new position. - /// UpdateDisplay Acceleration before calling this. - /// </summary> - public void Update(double milliseconds) - { - double seconds = milliseconds / 1000.0; + /// <summary> + /// The value for gravity, in pixels / second / second. + /// </summary> + public const float Gravity = 200; - // here we do a velocity verlet scheme - Position += - Velocity * seconds + - mOldAcceleration * (0.5 * seconds * seconds); + /// Creates a new instance of GameObject + /// </summary> + public GameObject() + { + Position = new Vector3d(); + Velocity = new Vector3d(); + Acceleration = new Vector3d(); + mOldAcceleration = new Vector3d(); + } - Vector3d vel2 = Velocity + mOldAcceleration * (0.5 * seconds); - Velocity = vel2 + Acceleration * (0.5 * seconds); + /// <summary> + /// Integrates motion equations to calculate new position. + /// UpdateDisplay Acceleration before calling this. + /// </summary> + public void Update(double milliseconds) + { + double seconds = milliseconds / 1000.0; - mOldAcceleration = Acceleration; - } + // here we do a velocity verlet scheme + Position += + Velocity * seconds + + mOldAcceleration * (0.5 * seconds * seconds); - /// <summary> - /// Draws the object to the specified graphics context. - /// Must be overriden. - /// </summary> - public abstract void Draw(); - /// <summary> - /// Returns true if the object should be deleted. Should be overriden - /// so objects can notify the controller when they no longer need to be - /// considered. */ - /// </summary> - public virtual bool DeleteMe - { - get { return false; } - } - /// <summary> - /// Returns an array of objects to be added when this object is deleted. - /// This allows for objects to create "particle effects" or the like - /// when destroyed. - /// Returns null to add nothing. - /// </summary> - public List<GameObject> DeleteObjects() - { - if (mDoDeleteObjects == false) - return null; - else - return DeleteObjectsInternal(); - } + Vector3d vel2 = Velocity + mOldAcceleration * (0.5 * seconds); + Velocity = vel2 + Acceleration * (0.5 * seconds); - /// <summary> - /// Actual implementation of DeleteObjects is done here. - /// Override this in derived classes. - /// </summary> - protected virtual List<GameObject> DeleteObjectsInternal() - { - return null; - } - } + mOldAcceleration = Acceleration; + RotationAngle += RotationalVelocity * seconds; + + ProtectedUpdate(milliseconds); + } + + /// <summary> + /// Override to allow an object to process its own updates at each frame. + /// </summary> + /// <param name="milliseconds"></param> + protected virtual void ProtectedUpdate(double milliseconds) + { + } + + /// <summary> + /// Draws the object to the specified graphics context. + /// Must be overriden. + /// </summary> + public abstract void Draw(); + /// <summary> + /// Returns true if the object should be deleted. Should be overriden + /// so objects can notify the controller when they no longer need to be + /// considered. + /// </summary> + public virtual bool DeleteMe + { + get { return false; } + } + /// <summary> + /// Returns an array of objects to be added when this object is deleted. + /// This allows for objects to create "particle effects" or the like + /// when destroyed. + /// Returns null to add nothing. + /// </summary> + public List<GameObject> CreateDebris() + { + if (ShouldCreateDebris == false) + return null; + else + return ProtectedCreateDebris(); + } + + /// <summary> + /// Actual implementation of CreateDebris is done here. + /// Override this in derived classes. + /// </summary> + protected virtual List<GameObject> ProtectedCreateDebris() + { + return null; + } + + public bool OutsideField + { + get + { + if (Position.X < FieldArea.Left) return true; + if (Position.X > FieldArea.Right) return true; + if (Position.Y < FieldArea.Top) return true; + if (Position.Y > FieldArea.Bottom) return true; + + return false; + } + } + } + } \ No newline at end of file Added: trunk/Examples/ShootTheTraps/License.txt =================================================================== --- trunk/Examples/ShootTheTraps/License.txt (rev 0) +++ trunk/Examples/ShootTheTraps/License.txt 2013-02-12 23:06:51 UTC (rev 1350) @@ -0,0 +1,8 @@ +The code here is licensed under a do-anything-you-please-with-it sort of license. + +Images are licensed under the CC-BY 3.0 license. +See http://creativecommons.org/licenses/by/3.0/us/ for details. + +Image authors: + Erik Ylvisaker + qubodup - http://www.opengameart.org Modified: trunk/Examples/ShootTheTraps/Particle.cs =================================================================== --- trunk/Examples/ShootTheTraps/Particle.cs 2013-02-12 23:03:28 UTC (rev 1349) +++ trunk/Examples/ShootTheTraps/Particle.cs 2013-02-12 23:06:51 UTC (rev 1350) @@ -7,42 +7,68 @@ namespace ShootTheTraps { - public class Particle : GameObject - { - double mCreateTime; - Color mColor; - int alpha = 255; + public class Particle : GameObject + { + double mCreateTime; + Color mColor; + int mAlpha = 255; + int mImageIndex; + const double particleLifeTimeMilliseconds = 3000; - /// Creates a new instance of Particle */ - public Particle(Color clr) - { - Acceleration.Y = GRAVITY; + public static List<Surface> Images { get; private set; } - mCreateTime = Timing.TotalMilliseconds; - mColor = clr; - } - public override void Draw() - { - double now = Timing.TotalMilliseconds; + static Particle() + { + Images = new List<Surface>(); + } - alpha = (int)(255 * (1 - (now - mCreateTime) / 1000.0)); - if (alpha < 0) - alpha = 0; + /// Creates a new instance of Particle */ + public Particle(Color clr, Random rnd) + { + Acceleration.Y = Gravity; - Display.DrawRect((int)Position.X, (int)Position.Y, 1, 1, Color.FromArgb(alpha, mColor)); - } + mCreateTime = Timing.TotalMilliseconds; + mColor = clr; - public override bool DeleteMe - { - get - { - if (alpha <= 0) - return true; - else - return false; - } - } - } + mImageIndex = rnd.Next(Images.Count); + } + public override void Draw() + { + double now = Timing.TotalMilliseconds; + double elapsed = now - mCreateTime; + + mAlpha = (int)(255 * (1 - elapsed / particleLifeTimeMilliseconds)); + if (mAlpha < 0) + { + mAlpha = 0; + return; + } + + var image = Images[mImageIndex]; + + image.DisplayAlignment = OriginAlignment.Center; + image.RotationCenter = OriginAlignment.Center; + image.Color = Color.FromArgb(mAlpha, mColor); + image.RotationAngle = RotationAngle; + + image.Draw((float)Position.X, (float)Position.Y); + } + + public override bool DeleteMe + { + get + { + if (OutsideField) + return true; + + if (mAlpha <= 0) + return true; + else + return false; + } + } + } + } Added: trunk/Examples/ShootTheTraps/Resources/background.png =================================================================== (Binary files differ) Property changes on: trunk/Examples/ShootTheTraps/Resources/background.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Examples/ShootTheTraps/Resources/barrel.png =================================================================== (Binary files differ) Property changes on: trunk/Examples/ShootTheTraps/Resources/barrel.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Examples/ShootTheTraps/Resources/bullet.png =================================================================== (Binary files differ) Property changes on: trunk/Examples/ShootTheTraps/Resources/bullet.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Examples/ShootTheTraps/Resources/enemy.png =================================================================== (Binary files differ) Property changes on: trunk/Examples/ShootTheTraps/Resources/enemy.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Examples/ShootTheTraps/Resources/splatter-1.png =================================================================== (Binary files differ) Property changes on: trunk/Examples/ShootTheTraps/Resources/splatter-1.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Examples/ShootTheTraps/Resources/splatter-2.png =================================================================== (Binary files differ) Property changes on: trunk/Examples/ShootTheTraps/Resources/splatter-2.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Examples/ShootTheTraps/Resources/splatter-3.png =================================================================== (Binary files differ) Property changes on: trunk/Examples/ShootTheTraps/Resources/splatter-3.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Examples/ShootTheTraps/Resources/splatter-4.png =================================================================== (Binary files differ) Property changes on: trunk/Examples/ShootTheTraps/Resources/splatter-4.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Examples/ShootTheTraps/Resources/timecannonimages/barrel-h.png =================================================================== (Binary files differ) Property changes on: trunk/Examples/ShootTheTraps/Resources/timecannonimages/barrel-h.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Examples/ShootTheTraps/Resources/timecannonimages/barrel-m.png =================================================================== (Binary files differ) Property changes on: trunk/Examples/ShootTheTraps/Resources/timecannonimages/barrel-m.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Examples/ShootTheTraps/Resources/timecannonimages/bullet-h.png =================================================================== (Binary files differ) Property changes on: trunk/Examples/ShootTheTraps/Resources/timecannonimages/bullet-h.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Examples/ShootTheTraps/Resources/timecannonimages/bullet-m.png =================================================================== (Binary files differ) Property changes on: trunk/Examples/ShootTheTraps/Resources/timecannonimages/bullet-m.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Examples/ShootTheTraps/Resources/timecannonimages/clockcannon.svg =================================================================== --- trunk/Examples/ShootTheTraps/Resources/timecannonimages/clockcannon.svg (rev 0) +++ trunk/Examples/ShootTheTraps/Resources/timecannonimages/clockcannon.svg 2013-02-12 23:06:51 UTC (rev 1350) @@ -0,0 +1,2119 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="284" + height="128" + id="svg2" + version="1.1" + inkscape:version="0.48.2 r9819" + sodipodi:docname="clockcannon.svg" + inkscape:export-filename="/home/qubodup/timecannonimages/barrel-h.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs4"> + <marker + inkscape:stockid="DotL" + orient="auto" + refY="0" + refX="0" + id="DotL" + style="overflow:visible"> + <path + id="path21124" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none" + transform="matrix(0.8,0,0,0.8,5.92,0.8)" + inkscape:connector-curvature="0" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#f5e1c6" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:zoom="0.5" + inkscape:cx="232.16003" + inkscape:cy="54.61888" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + showborder="true" + inkscape:showpageshadow="false" + inkscape:window-width="1024" + inkscape:window-height="581" + inkscape:window-x="0" + inkscape:window-y="19" + inkscape:window-maximized="0" + showguides="true" + inkscape:guide-bbox="true"> + <inkscape:grid + type="xygrid" + id="grid6173" + empspacing="8" + visible="true" + enabled="true" + snapvisiblegridlinesonly="true" + color="#070707" + opacity="0.10588235" + empcolor="#000000" + empopacity="0.22745098" + dotted="false" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-924.36218)"> + <path + transform="matrix(0.32708994,-0.18873348,0.18884547,0.32689599,-523.99252,802.10789)" + d="M 411.93547,287.55418 C 351.11442,392.89933 409.6421,359.10835 288,359.10835 c -121.6421,0 -63.11442,33.79097 -123.93547,-71.55417 -60.82105,-105.34515 -60.82105,-37.76321 0,-143.10836 C 224.88558,39.100675 166.3579,72.891647 288,72.891647 c 121.6421,10e-7 63.11442,-33.790972 123.93547,71.554173 60.82105,105.34515 60.82105,37.76321 0,143.10836 z" + inkscape:randomized="0" + inkscape:rounded="0.85" + inkscape:flatsided="true" + sodipodi:arg2="1.0471976" + sodipodi:arg1="0.52359878" + sodipodi:r2="143.10835" + sodipodi:r1="143.10835" + sodipodi:cy="216" + sodipodi:cx="288" + sodipodi:sides="6" + id="path4004" + style="fill:#378aef;fill-opacity:1;stroke:none" + sodipodi:type="star" /> + <path + sodipodi:type="star" + style="fill:#34424c;fill-opacity:1;stroke:none" + id="path4006" + sodipodi:sides="6" + sodipodi:cx="288" + sodipodi:cy="216" + sodipodi:r1="143.10835" + sodipodi:r2="143.10835" + sodipodi:arg1="0.52359878" + sodipodi:arg2="1.0471976" + inkscape:flatsided="true" + inkscape:rounded="0.85" + inkscape:randomized="0" + d="M 411.93547,287.55418 C 351.11442,392.89933 409.6421,359.10835 288,359.10835 c -121.6421,0 -63.11442,33.79097 -123.93547,-71.55417 -60.82105,-105.34515 -60.82105,-37.76321 0,-143.10836 C 224.88558,39.100675 166.3579,72.891647 288,72.891647 c 121.6421,10e-7 63.11442,-33.790972 123.93547,71.554173 60.82105,105.34515 60.82105,37.76321 0,143.10836 z" + transform="matrix(0.16890852,-0.09746155,0.09751937,0.16880836,-458.70984,809.96849)" /> + <path + id="path4008" + d="m -417.21875,810.36218 c 0.16534,2.101 0.3125,4.68695 0.3125,8 0,3.32613 -0.14622,5.89487 -0.3125,8 l 56.4375,0 c -0.16534,-2.101 -0.3125,-4.68695 -0.3125,-8 0,-3.31305 0.14716,-5.899 0.3125,-8 l -56.4375,0 z" + style="fill:#89aab4;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + <g + id="g4717" + inkscape:transform-center-x="-80.874999" + transform="translate(3.1617567e-7,-3.1549234e-6)"> + <g + id="g4704"> + <path + transform="matrix(0.32708995,-0.18873348,0.18884548,0.32689599,-70.992529,972.10789)" + d="M 411.93547,287.55418 C 351.11442,392.89933 409.6421,359.10835 288,359.10835 c -121.6421,0 -63.11442,33.79097 -123.93547,-71.55417 -60.82105,-105.34515 -60.82105,-37.76321 0,-143.10836 C 224.88558,39.100675 166.3579,72.891647 288,72.891647 c 121.6421,10e-7 63.11442,-33.790972 123.93547,71.554173 60.82105,105.34515 60.82105,37.76321 0,143.10836 z" + inkscape:randomized="0" + inkscape:rounded="0.85" + inkscape:flatsided="true" + sodipodi:arg2="1.0471976" + sodipodi:arg1="0.52359878" + sodipodi:r2="143.10835" + sodipodi:r1="143.10835" + sodipodi:cy="216" + sodipodi:cx="288" + sodipodi:sides="6" + id="path4051" + style="fill:#282727;fill-opacity:1;stroke:none" + sodipodi:type="star" /> + <path + sodipodi:type="star" + style="fill:#fbf3d2;fill-opacity:1;stroke:none" + id="path3212" + sodipodi:sides="6" + sodipodi:cx="288" + sodipodi:cy="216" + sodipodi:r1="143.10835" + sodipodi:r2="143.10835" + sodipodi:arg1="0.52359878" + sodipodi:arg2="1.0471976" + inkscape:flatsided="true" + inkscape:rounded="0.85" + inkscape:randomized="0" + d="M 411.93547,287.55418 C 351.11442,392.89933 409.6421,359.10835 288,359.10835 c -121.6421,0 -63.11442,33.79097 -123.93547,-71.55417 -60.82105,-105.34515 -60.82105,-37.76321 0,-143.10836 C 224.88558,39.100675 166.3579,72.891647 288,72.891647 c 121.6421,10e-7 63.11442,-33.790972 123.93547,71.554173 60.82105,105.34515 60.82105,37.76321 0,143.10836 z" + transform="matrix(0.30405435,-0.17544176,0.17554587,0.30387406,-61.485562,973.25261)" /> + <g + id="g4043" + transform="matrix(0.92957414,0,0,0.92957414,11.943845,69.606256)"> + <path + id="rect4010" + transform="translate(0,924.36218)" + d="m 8.5,83 c -1.6027167,13.701143 -2.0756489,5.97936 24.28125,21.1875 6.696835,3.86413 11.20339,6.96199 14.4375,9.3125 l 17.5625,0 c 3.23411,-2.35051 7.740665,-5.44837 14.4375,-9.3125 C 105.57565,88.979362 105.10272,96.701143 103.5,83 l -95,0 z" + style="fill:#faf0c7;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + <path + transform="translate(0,924.36218)" + id="rect4012" + d="M 9.5,59.5 C 9.532486,60.917571 9.5625,62.395749 9.5625,64 9.5625002,77.140252 8.3597782,83.73422 8,87.5 l 96,0 c -0.35978,-3.76578 -1.5625,-10.359748 -1.5625,-23.5 0,-1.604251 0.03,-3.082429 0.0625,-4.5 l -93,0 z" + style="fill:#f7e8a9;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + <path + id="rect4014" + transform="translate(0,924.36218)" + d="m 8.15625,42 c 0.4714888,3.971041 1.4062498,10.442885 1.40625,22 0,2.178757 -0.036322,4.161256 -0.09375,6 l 93.0625,0 c -0.0574,-1.838744 -0.0937,-3.821243 -0.0937,-6 0,-11.557115 0.93476,-18.028959 1.40625,-22 L 8.1563,42 z" + style="fill:#f5e49d;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + <path + id="rect4016" + transform="translate(0,924.36218)" + d="m 34.125,23 c -0.453706,0.266505 -0.868674,0.538378 -1.34375,0.8125 C 3.705214,40.589602 7.2774927,29.469787 9,50 l 94,0 C 104.72251,29.469787 108.29479,40.589604 79.21875,23.8125 78.743674,23.538378 78.328706,23.266505 77.875,23 l -43.75,0 z" + style="fill:#faefc2;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path4030" + transform="translate(0,924.36218)" + d="m 56,9 c -3.064278,-10e-8 -6.122383,4.947762 -23.21875,14.8125 -4.771374,2.75312 -8.584879,4.678121 -11.75,6.1875 l 69.9375,0 C 87.803629,28.490621 83.990124,26.56562 79.21875,23.8125 62.122383,13.947761 59.064278,9.0000001 56,9 z" + style="fill:#f8ebb2;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path4032" + transform="translate(0,924.36218)" + d="m 23.09375,99 c 2.742373,1.36241 5.927656,3.01804 9.6875,5.1875 34.192734,19.72948 12.244767,19.72948 46.4375,0 3.759844,-2.16946 6.945127,-3.82509 9.6875,-5.1875 l -65.8125,0 z" + style="fill:#f7e59e;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + </g> + <path + transform="matrix(0.16890852,-0.09746155,0.09751937,0.16880836,-5.7098453,979.96849)" + d="M 411.93547,287.55418 C 351.11442,392.89933 409.6421,359.10835 288,359.10835 c -121.6421,0 -63.11442,33.79097 -123.93547,-71.55417 -60.82105,-105.34515 -60.82105,-37.76321 0,-143.10836 C 224.88558,39.100675 166.3579,72.891647 288,72.891647 c 121.6421,10e-7 63.11442,-33.790972 123.93547,71.554173 60.82105,105.34515 60.82105,37.76321 0,143.10836 z" + inkscape:randomized="0" + inkscape:rounded="0.85" + inkscape:flatsided="true" + sodipodi:arg2="1.0471976" + sodipodi:arg1="0.52359878" + sodipodi:r2="143.10835" + sodipodi:r1="143.10835" + sodipodi:cy="216" + sodipodi:cx="288" + sodipodi:sides="6" + id="path3988" + style="fill:#f7cc4d;fill-opacity:1;stroke:none" + sodipodi:type="star" /> + <path + inkscape:connector-curvature="0" + style="fill:#fbad42;fill-opacity:1;stroke:none" + d="m 35.781248,980.36218 c 0.165335,2.101 0.3125,4.68695 0.3125,8 0,3.32613 -0.146223,5.89487 -0.3125,8 l 56.4375,0 c -0.165335,-2.101 -0.3125,-4.68695 -0.3125,-8 0,-3.31305 0.147165,-5.899 0.3125,-8 l -56.4375,0 z" + id="rect3990" /> + </g> + <g + inkscape:transform-center-x="-135" + id="g4339" + transform="translate(4,0)"> + <path + sodipodi:nodetypes="czcczcc" + inkscape:connector-curvature="0" + id="path4090" + d="m 272,32 c 0,0 4,16 4,32 0,16 -4,32 -4,32 l -148,0 c 0,0 -2,-16 -2,-32 0,-16 2,-32 2,-32 z" + style="fill:#fbf3d2;fill-opacity:1;stroke:#282727;stroke-width:3.5;stroke-linejoin:round;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none" + transform="translate(0,924.36218)" /> + <path + inkscape:connector-curvature="0" + style="fill:#f8ebb2;fill-opacity:1;stroke:none" + d="M 123.1875,40 C 122.63479,46.151136 122,55.02271 122,64 c 0,8.97729 0.63479,17.848864 1.1875,24 L 273.625,88 C 274.73046,81.848833 276,72.977843 276,64 c 0,-8.977843 -1.26954,-17.848833 -2.375,-24 l -150.4375,0 z" + transform="translate(0,924.36218)" + id="rect4108" /> + <path + inkscape:connector-curvature="0" + style="fill:#f7cc4d;fill-opacity:1;stroke:none" + d="M 122.15625,56 C 122.06141,58.625413 122,61.297485 122,64 c 0,2.702515 0.0614,5.374587 0.15625,8 L 275.6875,72 C 275.87578,69.384765 276,66.691389 276,64 c 0,-2.691389 -0.12422,-5.384765 -0.3125,-8 l -153.53125,0 z" + transform="translate(0,924.36218)" + id="rect4106" /> + <path + transform="translate(0,924.36218)" + style="fill:none;stroke:#282727;stroke-width:3.5;stroke-linejoin:round;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none" + d="m 272,32 c 0,0 4,16 4,32 0,16 -4,32 -4,32 l -148,0 c 0,0 -2,-16 -2,-32 0,-16 2,-32 2,-32 z" + id="path4116" + inkscape:connector-curvature="0" + sodipodi:nodetypes="czcczcc" /> + <path + sodipodi:nodetypes="ssszsssszss" + inkscape:connector-curvature="0" + id="path4118" + d="m 264,24 6,0 c 1.108,0 2,0.892 2,2 0,0 4,22 4,38 0,16 -4,38 -4,38 -0.22826,1.08423 -0.892,2 -2,2 l -6,0 c -1.108,0 -2,-0.892 -2,-2 0,0 5,-22 5,-38 0,-16 -5,-38 -5,-38 -0.11599,-1.101912 0.892,-2 2,-2 z" + style="fill:#fbf3d2;fill-opacity:1;stroke:#282727;stroke-width:3.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1;stroke-opacity:1;stroke-dashoffset:0" + transform="translate(0,924.36218)" /> + <path + style="fill:#f8ebb2;fill-opacity:1;stroke:none" + d="m 264.65625,961.1802 c 1.19522,8.31259 2.34375,18.50303 2.34375,27.18198 0,8.67895 -1.14853,18.86942 -2.34375,27.18202 l 8.96875,0 c 0.82909,-5.2251 1.74737,-12.1659 2.15625,-19.60787 0.01,-0.17404 0.0223,-0.35635 0.0313,-0.5309 0.1192,-2.31344 0.1875,-4.67956 0.1875,-7.04325 0,-2.36369 -0.0683,-4.72981 -0.1875,-7.04325 -0.009,-0.17455 -0.0217,-0.35686 -0.0313,-0.5309 -0.40888,-7.442 -1.32716,-14.3828 -2.15625,-19.60783 l -8.96875,0 z" + id="path4120" + inkscape:connector-curvature="0" /> + <path + style="fill:#f7cc4d;fill-opacity:1;stroke:none" + d="m 266.65625,977.1802 c 0.21399,3.83662 0.34375,7.61342 0.34375,11.18198 0,3.56856 -0.12976,7.34536 -0.34375,11.18198 l 9.03125,0 c 0.0941,-1.82772 0.16416,-3.67898 0.21875,-5.54731 0.0546,-1.86833 0.0937,-3.75373 0.0937,-5.63467 0,-1.88094 -0.0392,-3.76634 -0.0937,-5.63467 -0.0546,-1.86833 -0.12461,-3.71959 -0.21875,-5.54731 l -9.03125,0 z" + id="path4122" + inkscape:connector-curvature="0" /> + <path + transform="translate(0,924.36218)" + style="fill:none;stroke:#282727;stroke-width:3.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:1;stroke-opacity:1;stroke-dashoffset:0" + d="m 264,24 6,0 c 1.108,0 2,0.892 2,2 0,0 4,22 4,38 0,16 -4,38 -4,38 -0.22826,1.08423 -0.892,2 -2,2 l -6,0 c -1.108,0 -2,-0.892 -2,-2 0,0 5,-22 5,-38 0,-16 -5,-38 -5,-38 -0.11599,-1.101912 0.892,-2 2,-2 z" + id="rect4103" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ssszsssszss" /> + </g> + </g> + <rect + style="fill:#f5bf1f;fill-opacity:1;stroke:none" + id="rect4130" + width="96" + height="64" + x="422" + y="1040.3622" + rx="24" + ry="24" /> + <rect + style="fill:#f5bf1f;fill-opacity:1;stroke:none" + id="rect4132" + width="32" + height="64" + x="422" + y="1040.3622" /> + <rect + y="1040.3622" + x="438" + height="64" + width="16" + id="rect4136" + style="fill:#f54b1f;fill-opacity:1;stroke:none" /> + <path + style="fill:#f54b1f;fill-opacity:1;stroke:none" + d="m 470,1040.3622 16,0 0,64 -16,0 z" + id="rect4138" + inkscape:connector-curvature="0" /> + <path + style="fill:#f54b1f;fill-opacity:1;stroke:none" + d="m 502,1041.7059 0,61.3125 c 9.34373,-3.2784 16,-12.1648 16,-22.6562 l 0,-16 c 0,-10.4914 -6.65627,-19.3779 -16,-22.6563 z" + id="rect4140" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#282727;stroke-width:3.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 422,1040.3622 0,64 72,0 c 13.296,0 24,-10.704 24,-24 l 0,-16 c 0,-13.296 -10.704,-24 -24,-24 z" + id="rect4154" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccsscc" /> + <g + id="g4200" + transform="translate(262,-190)"> + <rect + ry="24" + rx="24" + y="978.36218" + x="272" + height="64" + width="96" + id="rect4130-9" + style="fill:#f5bf1f;fill-opacity:1;stroke:none" /> + <rect + y="978.36218" + x="272" + height="64" + width="32" + id="rect4132-6" + style="fill:#f5bf1f;fill-opacity:1;stroke:none" /> + <path + sodipodi:nodetypes="ccccccccccccccccc" + inkscape:connector-curvature="0" + id="rect4138-2" + d="m 320,978.36218 16,0 0,16 -8,8.00002 8,8 0,8 8,8 -8,8 0,8 -16,0 0,-8 8,-8 -8,-8 0,-8 -8,-8 8,-8.00002 z" + style="fill:#f54b1f;fill-opacity:1;stroke:none" /> + <path + style="fill:#f54b1f;fill-opacity:1;stroke:none" + d="m 288,978.36218 16,0 0,16 -8,8.00002 8,8 0,8 8,8 -8,8 0,8 -16,0 0,-8 8,-8 -8,-8 0,-8 -8,-8 8,-8.00002 z" + id="path4160" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccccccccccccc" /> + <path + sodipodi:nodetypes="ccccccccccc" + inkscape:connector-curvature="0" + id="path4162" + d="m 352,979.70593 0,14.65625 -8,8.00002 8,8 0,8 8,8 -8,8 0,6.6562 c 9.34373,-3.2784 16,-12.1648 16,-22.6562 l -1.03125,-22.96877 C 364.76233,988.06741 359.18188,982.22581 352,979.70593 z" + style="fill:#f54b1f;fill-opacity:1;stroke:none" /> + <path + sodipodi:nodetypes="cccsscc" + inkscape:connector-curvature="0" + id="rect4154-5" + d="m 272,978.36218 0,64.00002 72,0 c 13.296,0 24,-10.704 24,-24 l 0,-16 c 0,-13.29602 -10.704,-24.00002 -24,-24.00002 z" + style="fill:none;stroke:#282727;stroke-width:3.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + </g> + <g + transform="translate(262,-276)" + id="g4208"> + <rect + style="fill:#f5bf1f;fill-opacity:1;stroke:none" + id="rect4210" + width="96" + height="64" + x="272" + y="978.36218" + rx="24" + ry="24" /> + <rect + style="fill:#f5bf1f;fill-opacity:1;stroke:none" + id="rect4212" + width="32" + height="64" + x="272" + y="978.36218" /> + <path + style="fill:#f54b1f;fill-opacity:1;stroke:none" + d="m 320,978.36218 16,0 c 0,0 1.74208,11.79423 0,16 -1.74208,4.20577 -8,4.22878 -8,8.00002 0,3.7712 6.76816,5.0261 8,8 1.23184,2.9739 -1.23184,5.0261 0,8 1.23184,2.9739 8,4.2288 8,8 0,3.7712 -6.76816,5.0261 -8,8 -1.23184,2.9739 0,8 0,8 l -16,0 c 0,0 -1.23184,-5.0261 0,-8 1.23184,-2.9739 8,-4.2288 8,-8 0,-3.7712 -6.76816,-5.0261 -8,-8 -1.23184,-2.9739 1.23184,-5.0261 0,-8 -1.23184,-2.9739 -8,-4.2288 -8,-8 0,-3.77124 6.25792,-3.79425 8,-8.00002 1.74208,-4.20577 0,-16 0,-16 z" + id="path4214" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cczzzzzzcczzzzzzc" /> + <path + sodipodi:nodetypes="cczzzzzzcczzzzzzc" + inkscape:connector-curvature="0" + id="path4216" + d="m 288,978.36218 16,0 c 0,0 1.74208,11.79423 0,16 -1.74208,4.20577 -8,4.22878 -8,8.00002 0,3.7712 6.76816,5.0261 8,8 1.23184,2.9739 -1.23184,5.0261 0,8 1.23184,2.9739 8,4.2288 8,8 0,3.7712 -6.76816,5.0261 -8,8 -1.23184,2.9739 0,8 0,8 l -16,0 c 0,0 -1.23184,-5.0261 0,-8 1.23184,-2.9739 8,-4.2288 8,-8 0,-3.7712 -6.76816,-5.0261 -8,-8 -1.23184,-2.9739 1.23184,-5.0261 0,-8 -1.23184,-2.9739 -8,-4.2288 -8,-8 0,-3.77124 6.25792,-3.79425 8,-8.00002 1.74208,-4.20577 0,-16 0,-16 z" + style="fill:#f54b1f;fill-opacity:1;stroke:none" /> + <path + style="fill:#f54b1f;fill-opacity:1;stroke:none" + d="m 352,979.70593 c 0,0 1.65638,10.65739 0,14.65625 -1.65638,3.99886 -8,4.22878 -8,8.00002 0,3.7712 6.76816,5.0261 8,8 1.23184,2.9739 -1.23184,5.0261 0,8 1.23184,2.9739 8,4.2288 8,8 0,3.7712 -6.85387,5.233 -8,8 -1.14613,2.767 0,6.6562 0,6.6562 9.34373,-3.2784 16,-12.1648 16,-22.6562 l -1.03125,-22.96877 C 364.76233,988.06741 359.18188,982.22581 352,979.70593 z" + id="path4218" + inkscape:connector-curvature="0" + sodipodi:nodetypes="czzzzzzcccc" /> + <path + style="fill:none;stroke:#282727;stroke-width:3.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 272,978.36218 0,64.00002 72,0 c 13.296,0 24,-10.704 24,-24 l 0,-16 c 0,-13.29602 -10.704,-24.00002 -24,-24.00002 z" + id="path4220" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccsscc" /> + </g> + <rect + ry="24" + rx="24" + y="876.36218" + x="534" + height="64" + width="96" + id="rect4224" + style="fill:#f5bf1f;fill-opacity:1;stroke:none" /> + <rect + y="876.36218" + x="534" + height="64" + width="32" + id="rect4226" + style="fill:#f5bf1f;fill-opacity:1;stroke:none" /> + <path + style="fill:#f54b1f;fill-opacity:1;stroke:none" + d="m 550,876.3622 16,0 0,12 -8,8 8,8 0,8 -8,8 8,8 0,12 -16,0 0,-12 -8,-8 8,-8 0,-8 -8,-8 8,-8 z" + id="path4230" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccccccccccccc" /> + <path + sodipodi:nodetypes="ccccccccccc" + inkscape:connector-curvature="0" + id="path4232" + d="m 614,877.7059 0,10.6563 -8,8 8,8 0,8 -8,8 8,8 0,10.6562 c 9.34373,-3.2784 16,-12.1648 16,-22.6562 l -1.03125,-22.9688 C 626.76233,886.0674 621.18188,880.2258 614,877.7059 z" + style="fill:#f54b1f;fill-opacity:1;stroke:none" /> + <path + sodipodi:nodetypes="ccccccccccccccccc" + inkscape:connector-curvature="0" + id="path4238" + d="m 582,876.3622 16,0 0,12 -8,8 8,8 0,8 -8,8 8,8 0,12 -16,0 0,-12 -8,-8 8,-8 0,-8 -8,-8 8,-8 z" + style="fill:#f54b1f;fill-opacity:1;stroke:none" /> + <path + sodipodi:nodetypes="cccsscc" + inkscape:connector-curvature="0" + id="path4234" + d="m 534,876.3622 0,64 72,0 c 13.296,0 24,-10.704 24,-24 l 0,-16 c 0,-13.296 -10.704,-24 -24,-24 z" + style="fill:none;stroke:#282727;stroke-width:3.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <rect + style="fill:#f5bf1f;fill-opacity:1;stroke:none" + id="rect4240" + width="96" + height="64" + x="534" + y="960.36218" + rx="24" + ry="24" /> + <rect + style="fill:#f5bf1f;fill-opacity:1;stroke:none" + id="rect4242" + width="32" + height="64" + x="534" + y="960.36218" /> + <path + sodipodi:nodetypes="ccczcczcccczcczcc" + inkscape:connector-curvature="0" + id="path4244" + d="m 550,960.3622 16,0 0,12 c 0,0 -8,4.2288 -8,8 0,3.7712 8,8 8,8 l 0,8 c 0,0 -8,4.2288 -8,8 0,3.7712 8,8 8,8 l 0,12 -16,0 0,-12 c 0,0 -8,-4.2288 -8,-8 0,-3.7712 8,-8 8,-8 l 0,-8 c 0,0 -8,-4.2288 -8,-8 0,-3.7712 8,-8 8,-8 z" + style="fill:#f54b1f;fill-opacity:1;stroke:none" /> + <path + style="fill:#f54b1f;fill-opacity:1;stroke:none" + d="m 614,961.7059 0,10.6563 c 0,0 -8,4.2288 -8,8 0,3.7712 8,8 8,8 l 0,8 c 0,0 -8,4.2288 -8,8 0,3.7712 8,8 8,8 l 0,10.6562 c 9.34373,-3.2784 16,-12.1648 16,-22.6562 l -1.03125,-22.9688 C 626.76233,970.0674 621.18188,964.2258 614,961.7059 z" + id="path4246" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cczcczccccc" /> + <path + style="fill:#f54b1f;fill-opacity:1;stroke:none" + d="m 582,960.3622 16,0 0,12 c 0,0 -8,4.2288 -8,8 0,3.7712 8,8 8,8 l 0,8 c 0,0 -8,4.2288 -8,8 0,3.7712 8,8 8,8 l 0,12 -16,0 0,-12 c 0,0 -8,-4.2288 -8,-8 0,-3.7712 8,-8 8,-8 l 0,-8 c 0,0 -8,-4.2288 -8,-8 0,-3.7712 8,-8 8,-8 z" + id="path4248" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccczcczcccczcczcc" /> + <path + style="fill:none;stroke:#282727;stroke-width:3.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 534,960.3622 0,64 72,0 c 13.296,0 24,-10.704 24,-24 l 0,-16 c 0,-13.296 -10.704,-24 -24,-24 z" + id="path4250" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccsscc" /> + <rect + ry="24" + rx="24" + y="1041.3622" + x="534" + height="64" + width="96" + id="rect4252" + style="fill:#f5bf1f;fill-opacity:1;stroke:none" /> + <rect + y="1041.3622" + x="534" + height="64" + width="32" + id="rect4254" + style="fill:#f5bf1f;fill-opacity:1;stroke:none" /> + <path + style="fill:#f54b1f;fill-opacity:1;stroke:none" + d="m 550,1041.3622 16,0 c 0,0 1.48696,8.4102 0,12 -1.48696,3.5898 -8,4.2288 -8,8 0,3.7712 6.76816,5.0261 8,8 1.23184,2.9739 1.23184,5.0261 0,8 -1.23184,2.9739 -8,4.2288 -8,8 0,3.7712 6.51304,4.4102 8,8 1.48696,3.5898 0,12 0,12 l -16,0 c 0,0 1.48696,-8.4102 0,-12 -1.48696,-3.5898 -8,-4.2288 -8,-8 0,-3.7712 6.76816,-5.0261 8,-8 1.23184,-2.9739 1.23184,-5.0261 0,-8 -1.23184,-2.9739 -8,-4.2288 -8,-8 0,-3.7712 6.51304,-4.4102 8,-8 1.48696,-3.5898 0,-12 0,-12 z" + id="path4256" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cczzzzzzcczzzzzzc" /> + <path + sodipodi:nodetypes="cczcczccccc" + inkscape:connector-curvature="0" + id="path4258" + d="m 614,1042.7059 0,10.6563 c 0,0 -8,4.2288 -8,8 0,3.7712 8,8 8,8 l 0,8 c 0,0 -8,4.2288 -8,8 0,3.7712 8,8 8,8 l 0,10.6562 c 9.34373,-3.2784 16,-12.1648 16,-22.6562 l -1.03125,-22.9688 c -2.20642,-7.326 -7.78687,-13.1676 -14.96875,-15.6875 z" + style="fill:#f54b1f;fill-opacity:1;stroke:none" /> + <path + sodipodi:nodetypes="cczzzzzzcczzzzzzc" + inkscape:connector-curvature="0" + id="path4260" + d="m 582,1041.3622 16,0 c 0,0 1.48696,8.4102 0,12 -1.48696,3.5898 -8,4.2288 -8,8 0,3.7712 6.76816,5.0261 8,8 1.23184,2.9739 1.23184,5.0261 0,8 -1.23184,2.9739 -8,4.2288 -8,8 0,3.7712 6.51304,4.4102 8,8 1.48696,3.5898 0,12 0,12 l -16,0 c 0,0 1.48696,-8.4102 0,-12 -1.48696,-3.5898 -8,-4.2288 -8,-8 0,-3.7712 6.76816,-5.0261 8,-8 1.23184,-2.9739 1.23184,-5.0261 0,-8 -1.23184,-2.9739 -8,-4.2288 -8,-8 0,-3.7712 6.51304,-4.4102 8,-8 1.48696,-3.5898 0,-12 0,-12 z" + style="fill:#f54b1f;fill-opacity:1;stroke:none" /> + <path + sodipodi:nodetypes="cccsscc" + inkscape:connector-curvature="0" + id="path4262" + d="m 534,1041.3622 0,64 72,0 c 13.296,0 24,-10.704 24,-24 l 0,-16 c 0,-13.296 -10.704,-24 -24,-24 z" + style="fill:none;stroke:#282727;stroke-width:3.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <rect + style="fill:#f5bf1f;fill-opacity:1;stroke:none" + id="rect4264" + width="96" + height="64" + x="651" + y="876.36218" + rx="24" + ry="24" /> + <rect + style="fill:#f5bf1f;fill-opacity:1;stroke:none" + id="rect4266" + width="32" + height="64" + x="651" + y="876.36218" /> + <path + sodipodi:nodetypes="ccccccccccccccccc" + inkscape:connector-curvature="0" + id="path4268" + d="m 715,876.3622 -16,0 0,12 8,8 -8,8 0,8 8,8 -8,8 0,12 16,0 0,-12 8,-8 -8,-8 0,-8 8,-8 -8,-8 z" + style="fill:#f54b1f;fill-opacity:1;stroke:none" /> + <path + style="fill:#f54b1f;fill-opacity:1;stroke:none" + d="m 731,877.7059 0,10.6563 8,8 -8,8 0,8 8,8 -8,8 0,10.6562 c 9.34373,-3.2784 16,-12.1648 16,-22.6562 l -1.03125,-22.9688 C 743.76233,886.0674 738.18188,880.2258 731,877.7059 z" + id="path4270" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccccccc" /> + <path + style="fill:#f54b1f;fill-opacity:1;stroke:none" + d="m 683,876.3622 -16,0 0,12 8,8 -8,8 0,8 8,8 -8,8 0,12 16,0 0,-12 8,-8 -8,-8 0,-8 8,-8 -8,-8 z" + id="path4272" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccccccccccccc" /> + <path + style="fill:none;stroke:#282727;stroke-width:3.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 651,876.3622 0,64 72,0 c 13.296,0 24,-10.704 24,-24 l 0,-16 c 0,-13.296 -10.704,-24 -24,-24 z" + id="path4274" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccsscc" /> + <rect + ry="24" + rx="24" + y="1040.3622" + x="651" + height="64" + width="96" + id="rect4276" + style="fill:#f5bf1f;fill-opacity:1;stroke:none" /> + <rect + y="1040.3622" + x="651" + height="64" + width="32" + id="rect4278" + style="fill:#f5bf1f;fill-opacity:1;stroke:none" /> + <path + style="fill:#f54b1f;fill-opacity:1;stroke:none" + d="m 715,1040.3622 -16,0 c 0,0 -1.48696,8.4102 0,12 1.48696,3.5898 8,4.2288 8,8 0,3.7712 -6.76816,5.0261 -8,8 -1.23184,2.9739 -1.23184,5.0261 0,8 1.23184,2.9739 8,4.2288 8,8 0,3.7712 -6.51304,4.4102 -8,8 -1.48696,3.5898 0,12 0,12 l 16,0 c 0,0 -1.48696,-8.4102 0,-12 1.48696,-3.5898 8,-4.2288 8,-8 0,-3.7712 -6.76816,-5.0261 -8,-8 -1.23184,-2.9739 -1.23184,-5.0261 0,-8 1.23184,-2.9739 8,-4.2288 8,-8 0,-3.7712 -6.51304,-4.4102 -8,-8 -1.48696,-3.5898 0,-12 0,-12 z" + id="path4280" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cczzzzzzcczzzzzzc" /> + <path + sodipodi:nodetypes="czzzzzzcccc" + inkscape:connector-curvature="0" + id="path4282" + d="m 731,1041.7059 c 0,0 -1.40126,7.2734 0,10.6563 1.40126,3.3829 8,4.2288 8,8 0,3.7712 -6.76816,5.0261 -8,8 -1.23184,2.9739 -1.23184,5.0261 0,8 1.23184,2.9739 8,4.2288 8,8 0,3.7712 -6.59875,4.6171 -8,8 -1.40125,3.3829 0,10.6562 0,10.6562 9.34373,-3.2784 16,-12.1648 16,-22.6562 l -1.03125,-22.9688 c -2.20642,-7.326 -7.78687,-13.1676 -14.96875,-15.6875 z" + style="fill:#f54b1f;fill-opacity:1;stroke:none" /> + <path + sodipodi:nodetypes="cczzzzzzcczzzzzzc" + inkscape:connector-curvature="0" + id="path4284" + d="m 683,1040.3622 -16,0 c 0,0 -1.48696,8.4102 0,12 1.48696,3.5898 8,4.2288 8,8 0,3.7712 -6.76816,5.0261 -8,8 -1.23184,2.9739 -1.23184,5.0261 0,8 1.23184,2.9739 8,4.2288 8,8 0,3.7712 -6.51304,4.4102 -8,8 -1.48696,3.5898 0,12 0,12 l 16,0 c 0,0 -1.48696,-8.4102 0,-12 1.48696,-3.5898 8,-4.2288 8,-8 0,-3.7712 -6.76816,-5.0261 -8,-8 -1.23184,-2.9739 -1.23184,-5.0261 0,-8 1.23184,-2.9739 8,-4.2288 8,-8 0,-3.7712 -6.51304,-4.4102 -8,-8 -1.48696,-3.5898 0,-12 0,-12 z" + style="fill:#f54b1f;fill-opacity:1;stroke:none" /> + <path + sodipodi:nodetypes="cccsscc" + inkscape:connector-curvature="0" + id="path4286" + d="m 651,1040.3622 0,64 72,0 c 13.296,0 24,-10.704 24,-24 l 0,-16 c 0,-13.296 -10.704,-24 -24,-24 z" + style="fill:none;stroke:#282727;stroke-width:3.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <rect + ry="24" + rx="24" + y="964.36218" + x="651" + height="64" + width="96" + id="rect4288" + style="fill:#f5bf1f;fill-opacity:1;stroke:none" /> + <rect + y="964.36218" + x="651" + height="64" + width="32" + id="rect4290" + style="fill:#f5bf1f;fill-opacity:1;stroke:none" /> + <path + style="fill:#f54b1f;fill-opacity:1;stroke:none" + d="m 715,964.3622 -16,0 0,12 c 0,0 8,4.2288 8,8 0,3.7712 -8,8 -8,8 l 0,8 c 0,0 8,4.2288 8,8 0,3.7712 -8,8 -8,8 l 0,12 16,0 0,-12 c 0,0 8,-4.2288 8,-8 0,-3.7712 -8,-8 -8,-8 l 0,-8 c 0,0 8,-4.2288 8,-8 0,-3.7712 -8,-8 -8,-8 z" + id="path4292" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccczcczcccczcczcc" /> + <path + sodipodi:nodetypes="cczcczccccc" + inkscape:connector-curvature="0" + id="path4294" + d="m 731,965.706 0,10.6562 c 0,0 8,4.2288 8,8 0,3.7712 -8,8 -8,8 l 0,8 c 0,0 8,4.2288 8,8 0,3.7712 -8,8 -8,8 l 0,10.6562 c 9.34373,-3.2784 16,-12.1648 16,-22.6562 l -1.03125,-22.9687 C 743.76233,974.0674 738.18188,968.2258 731,965.706 z" + style="fill:#f54b1f;fill-opacity:1;stroke:none" /> + <path + sodipodi:nodetypes="ccczcczcccczcczcc" + inkscape:connector-curvature="0" + id="path4296" + d="m 683,964.3622 -16,0 0,12 c 0,0 8,4.2288 8,8 0,3.7712 -8,8 -8,8 l 0,8 c 0,0 8,4.2288 8,8 0,3.7712 -8,8 -8,8 l 0,12 16,0 0,-12 c 0,0 8,-4.2288 8,-8 0,-3.7712 -8,-8 -8,-8 l 0,-8 c 0,0 8,-4.2288 8,-8 0,-3.7712 -8,-8 -8,-8 z" + style="fill:#f54b1f;fill-opacity:1;stroke:none" /> + <path + sodipodi:nodetypes="cccsscc" + inkscape:connector-curvature="0" + id="path4298" + d="m 651,964.3622 0,64 72,0 c 13.296,0 24,-10.704 24,-24 l 0,-16 c 0,-13.296 -10.704,-24 -24,-24 z" + style="fill:none;stroke:#282727;stroke-width:3.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <g + id="g4678" + transform="matrix(0,1,-1,0,854.3622,798.36218)" + inkscape:transform-center-x="-184" + inkscape:export-filename="/home/qubodup/timecannonimages/barrel-m.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <path + id="rect4484" + d="m 48,692.36218 0,8 0,8 0,200 c 0,4.432 3.568,8 8,8 l 16,0 c 4.432,0 8,-3.568 8,-8 l 0,-200 0,-8 0,-8 -8,0 -16,0 -8,0 z" + style="fill:#fbf3d2;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + <path + id="rect4387" + d="m 56,692.36218 0,224 16,0 0,-224 -16,0 z" + style="fill:#f8ebb2;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccccc" + style="fill:#f7cc4d;fill-opacity:1;stroke:none" + d="m 60,692.36218 0,224 8,0 0,-224 z" + id="path4442" + inkscape:connector-curvature="0" /> + <path + id="rect4393" + d="m 48,692.36218 0,8 0,8 0,200 c 0,4.432 3.568,8 8,8 l 16,0 c 4.432,0 8,-3.568 8,-8 l 0,-200 0,-8 0,-8 -8,0 -16,0 -8,0 z" + style="fill:none;stroke:#282727;stroke-width:3.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" + inkscape:connector-curvature="0" /> + <g + id="g4400"> + <rect + style="fill:#fbf3d2;fill-opacity:1;stroke:#282727;stroke-width:3.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" + id="rect4380" + width="48" + height="16" + x="40" + y="756.36218" + rx="4" + ry="4" /> + <path + style="fill:#f8ebb2;fill-opacity:1;stroke:none" + d="m 52,-168 0,16 24,0 0,-16 -24,0 z" + transform="translate(0,924.36218)" + id="rect4395" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="ccccc" + style="fill:#f7cc4d;fill-opacity:1;stroke:none" + d="m 58,756.36218 0,16.00002 12,0 0,-16.00002 z" + id="path4444" + inkscape:connector-curvature="0" /> + <rect + ry="4" + rx="4" + y="756.36218" + x="40" + height="16" + width="48" + id="rect4398" + style="fill:none;stroke:#282727;stroke-width:3.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> + </g> + <g + transform="translate(0,13.999997)" + id="g4493"> + <rect + ry="4" + rx="4" + y="878.36218" + x="32" + height="24.000036" + width="64" + id="rect4423" + style="fill:#fbf3d2;fill-opacity:1;stroke:#282727;stroke-width:3.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> + <path + inkscape:connector-curvature="0" + id="path4425" + d="m 48,878.36218 0,24.00002 32,0 0,-24.00002 z" + style="fill:#f8ebb2;fill-opacity:1;stroke:none" + sodipodi:nodetypes="ccccc" /> + <path + sodipodi:nodetypes="ccccc" + style="fill:#f7cc4d;fill-opacity:1;stroke:none" + d="m 56,878.36218 0,24.00002 16,0 0,-24.00002 z" + id="path4440" + inkscape:connector-curvature="0" /> + <rect + style="fill:none;stroke:#282727;stroke-width:3.5;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" + id="rect4438" + width="64" + height="24.000036" + x="32" + y="878.36218" + rx="4" + ry="4" /> + </g> + <g + transform="translate(0.5,-24)" + id="g4464"> + <rect + ry="4" + ... [truncated message content] |
From: <ka...@us...> - 2013-02-12 23:03:37
|
Revision: 1349 http://agate.svn.sourceforge.net/agate/?rev=1349&view=rev Author: kanato Date: 2013-02-12 23:03:28 +0000 (Tue, 12 Feb 2013) Log Message: ----------- Add InterpolationHint to Sprite.cs. Modified Paths: -------------- trunk/AgateLib/Sprites/Sprite.cs Modified: trunk/AgateLib/Sprites/Sprite.cs =================================================================== --- trunk/AgateLib/Sprites/Sprite.cs 2013-02-10 19:52:18 UTC (rev 1348) +++ trunk/AgateLib/Sprites/Sprite.cs 2013-02-12 23:03:28 UTC (rev 1349) @@ -443,6 +443,7 @@ SpriteFrame currentFrame = CurrentFrame; Surface surf = currentFrame.Surface; + surf.InterpolationHint = InterpolationHint; currentFrame.DisplaySize = DisplaySize; PointF alignment = Origin.CalcF(DisplayAlignment, DisplaySize); @@ -1037,5 +1038,6 @@ throw new NotImplementedException(); } + public InterpolationMode InterpolationHint { get; set; } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2013-02-10 19:52:30
|
Revision: 1348 http://agate.svn.sourceforge.net/agate/?rev=1348&view=rev Author: kanato Date: 2013-02-10 19:52:18 +0000 (Sun, 10 Feb 2013) Log Message: ----------- Initializing fullscreen D3D9 works, but switching back and forth to windowed doesn't work. Cleanup isn't correct either. Modified Paths: -------------- trunk/Drivers/AgateSDX/D3DDevice.cs trunk/Drivers/AgateSDX/SDX_Display.cs trunk/Drivers/AgateSDX/SDX_DisplayWindow.cs trunk/Tests/Tests.csproj Modified: trunk/Drivers/AgateSDX/D3DDevice.cs =================================================================== --- trunk/Drivers/AgateSDX/D3DDevice.cs 2013-01-27 18:34:45 UTC (rev 1347) +++ trunk/Drivers/AgateSDX/D3DDevice.cs 2013-02-10 19:52:18 UTC (rev 1348) @@ -91,12 +91,14 @@ private void Dispose(bool disposing) { if (disposing) + { GC.SuppressFinalize(this); - if (mDevice != null) - { - mDevice.Dispose(); - mDevice = null; + if (mDevice != null) + { + mDevice.Dispose(); + mDevice = null; + } } } Modified: trunk/Drivers/AgateSDX/SDX_Display.cs =================================================================== --- trunk/Drivers/AgateSDX/SDX_Display.cs 2013-01-27 18:34:45 UTC (rev 1347) +++ trunk/Drivers/AgateSDX/SDX_Display.cs 2013-02-10 19:52:18 UTC (rev 1348) @@ -104,7 +104,7 @@ } - internal void Initialize(SDX_DisplayWindow window) + internal void Initialize(SDX_DisplayWindow window, CreateWindowParams windowParams) { if (mInitialized) return; @@ -117,7 +117,9 @@ mInitialized = true; // ok, create D3D device - PresentParameters present = CreateWindowedPresentParameters(window, 0, 0, 32); + PresentParameters present = windowParams.IsFullScreen ? + CreateFullScreenPresentParameters(window, windowParams.Width, windowParams.Height, windowParams.Bpp) : + CreateWindowedPresentParameters(window, 0, 0, 32); DeviceType dtype = DeviceType.Hardware; @@ -588,9 +590,12 @@ present.BackBufferHeight = 1; present.BackBufferWidth = 1; present.DeviceWindowHandle = displayWindow.RenderTarget.TopLevelControl.Handle; - + OnDeviceAboutToReset(); + var result = mDevice.Device.TestCooperativeLevel(); + + System.Diagnostics.Debug.Print("TestCooperativeLevel result: {0}", result); System.Diagnostics.Debug.Print("{0} Going to windowed mode...", DateTime.Now); mDevice.Device.Reset(present); System.Diagnostics.Debug.Print("{0} Windowed mode success.", DateTime.Now); Modified: trunk/Drivers/AgateSDX/SDX_DisplayWindow.cs =================================================================== --- trunk/Drivers/AgateSDX/SDX_DisplayWindow.cs 2013-01-27 18:34:45 UTC (rev 1347) +++ trunk/Drivers/AgateSDX/SDX_DisplayWindow.cs 2013-02-10 19:52:18 UTC (rev 1348) @@ -48,7 +48,6 @@ int mChooseHeight; int mChooseBitDepth = 32; System.Drawing.Icon mIcon; - bool mChooseFullscreen = false; bool mChooseResize = false; WindowPosition mChoosePosition; bool mHasFrame = true; @@ -70,12 +69,12 @@ mRenderTarget = (Control)windowParams.RenderTarget; - mChooseFullscreen = false; + mIsFullscreen = false; mChooseWidth = mRenderTarget.ClientSize.Width; mChooseHeight = mRenderTarget.ClientSize.Height; mDisplay = Display.Impl as SDX_Display; - mDisplay.Initialize(this); + mDisplay.Initialize(this, windowParams); mDisplay.VSyncChanged += new EventHandler(mDisplay_VSyncChanged); } @@ -85,21 +84,22 @@ mIcon = new Drawing.Icon(windowParams.IconFile); mTitle = windowParams.Title; - mChooseFullscreen = windowParams.IsFullScreen; + mIsFullscreen = windowParams.IsFullScreen; mChooseWidth = windowParams.Width; mChooseHeight = windowParams.Height; mChooseResize = windowParams.IsResizable; mHasFrame = windowParams.HasFrame; - CreateWindow(mChooseFullscreen); + CreateWindow(mIsFullscreen); + mIsFullscreen = true; mDisplay = Display.Impl as SDX_Display; - mDisplay.Initialize(this); + mDisplay.Initialize(this, windowParams); mDisplay.VSyncChanged += new EventHandler(mDisplay_VSyncChanged); } AttachEvents(); - CreateBackBuffer(); + CreateBackBuffer(mIsFullscreen); } public SDX_DisplayWindow(System.Windows.Forms.Control renderTarget) @@ -109,6 +109,13 @@ public override void Dispose() { + if (IsFullScreen) + { + SetWindowed(); + } + + mFrameBuffer.Dispose(); + if (frm != null && frm is frmFullScreen == false) { frm.Dispose(); @@ -181,7 +188,7 @@ void mDisplay_VSyncChanged(object sender, EventArgs e) { - CreateBackBuffer(); + CreateBackBuffer(mIsFullscreen); } @@ -262,7 +269,7 @@ if (mChooseWidth == 0 || mChooseHeight == 0) return; - CreateBackBuffer(); + CreateBackBuffer(mIsFullscreen); } @@ -296,7 +303,7 @@ else { FormUtil.InitializeWindowsForm(out frm, out mRenderTarget, mChoosePosition, mTitle, - mChooseWidth, mChooseHeight, mChooseFullscreen, mChooseResize, mHasFrame); + mChooseWidth, mChooseHeight, mIsFullscreen, mChooseResize, mHasFrame); if (mIcon != null) frm.Icon = mIcon; @@ -313,7 +320,7 @@ Form oldForm = frm; CreateWindow(false); - CreateBackBuffer(); + CreateBackBuffer(false); if (oldForm != null) oldForm.Dispose(); @@ -341,7 +348,7 @@ frm.Activate(); frm.Refresh(); - CreateBackBuffer(); + CreateBackBuffer(true); frm.ClientSize = new System.Drawing.Size(mChooseWidth, mChooseHeight); @@ -356,14 +363,16 @@ } - private void CreateBackBuffer() + private void CreateBackBuffer(bool fullScreen) { if (mFrameBuffer != null) mFrameBuffer.Dispose(); + // Created swap chain will be owned by the FrameBufferWindow object, and + // disposal will be handled by that object. SwapChain swap = mDisplay.CreateSwapChain(this, mChooseWidth, mChooseHeight, - mChooseBitDepth, mChooseFullscreen); - + mChooseBitDepth, fullScreen); + Direct3D.Surface backBuffer = swap.GetBackBuffer(0); Direct3D.Surface backDepthStencil = Direct3D.Surface.CreateDepthStencil( @@ -450,6 +459,7 @@ throw new InvalidOperationException("This DisplayWindow was created on a " + "System.Windows.Forms.Control object, and cannot be set to full screen."); + //return; ScreenMode mode = ScreenMode.SelectBestMode(width, height, bpp); @@ -461,7 +471,7 @@ mChooseHeight = mode.Height; mChooseBitDepth = mode.Bpp; - mChooseFullscreen = true; + mIsFullscreen = true; CreateFullScreenDisplay(); Keyboard.ReleaseAllKeys(); @@ -470,9 +480,9 @@ public override void SetWindowed() { - mChooseFullscreen = false; + CreateWindowedDisplay(); - CreateWindowedDisplay(); + mIsFullscreen = false; } public override string Title Modified: trunk/Tests/Tests.csproj =================================================================== --- trunk/Tests/Tests.csproj 2013-01-27 18:34:45 UTC (rev 1347) +++ trunk/Tests/Tests.csproj 2013-02-10 19:52:18 UTC (rev 1348) @@ -88,6 +88,7 @@ <DebugType>full</DebugType> <WarningLevel>4</WarningLevel> <Optimize>false</Optimize> + <UseVSHostingProcess>false</UseVSHostingProcess> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <OutputPath>..\Binaries\Release\</OutputPath> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2013-01-27 18:35:06
|
Revision: 1347 http://agate.svn.sourceforge.net/agate/?rev=1347&view=rev Author: kanato Date: 2013-01-27 18:34:45 +0000 (Sun, 27 Jan 2013) Log Message: ----------- Fix descriptions of colors which have a 0 R, G or B. Modified Paths: -------------- trunk/AgateLib/Geometry/Color.cs Modified: trunk/AgateLib/Geometry/Color.cs =================================================================== --- trunk/AgateLib/Geometry/Color.cs 2012-05-29 15:27:40 UTC (rev 1346) +++ trunk/AgateLib/Geometry/Color.cs 2013-01-27 18:34:45 UTC (rev 1347) @@ -40,7 +40,7 @@ /// </summary> public static Color AntiqueWhite { get { return Color.FromArgb(250, 235, 215); } } /// <summary> - /// Color Aqua. 0x0ffff + /// Color Aqua. 0x00ffff /// </summary> public static Color Aqua { get { return Color.FromArgb(0, 255, 255); } } /// <summary> @@ -60,7 +60,7 @@ /// </summary> public static Color Bisque { get { return Color.FromArgb(255, 228, 196); } } /// <summary> - /// Color Black. 0x000 + /// Color Black. 0x000000 /// </summary> public static Color Black { get { return Color.FromArgb(0, 0, 0); } } /// <summary> @@ -68,7 +68,7 @@ /// </summary> public static Color BlanchedAlmond { get { return Color.FromArgb(255, 235, 205); } } /// <summary> - /// Color Blue. 0x00ff + /// Color Blue. 0x0000ff /// </summary> public static Color Blue { get { return Color.FromArgb(0, 0, 255); } } /// <summary> @@ -88,7 +88,7 @@ /// </summary> public static Color CadetBlue { get { return Color.FromArgb(95, 158, 160); } } /// <summary> - /// Color Chartreuse. 0x7fff0 + /// Color Chartreuse. 0x7fff00 /// </summary> public static Color Chartreuse { get { return Color.FromArgb(127, 255, 0); } } /// <summary> @@ -112,15 +112,15 @@ /// </summary> public static Color Crimson { get { return Color.FromArgb(220, 20, 60); } } /// <summary> - /// Color Cyan. 0x0ffff + /// Color Cyan. 0x00ffff /// </summary> public static Color Cyan { get { return Color.FromArgb(0, 255, 255); } } /// <summary> - /// Color DarkBlue. 0x008b + /// Color DarkBlue. 0x00008b /// </summary> public static Color DarkBlue { get { return Color.FromArgb(0, 0, 139); } } /// <summary> - /// Color DarkCyan. 0x08b8b + /// Color DarkCyan. 0x008b8b /// </summary> public static Color DarkCyan { get { return Color.FromArgb(0, 139, 139); } } /// <summary> @@ -132,7 +132,7 @@ /// </summary> public static Color DarkGray { get { return Color.FromArgb(169, 169, 169); } } /// <summary> - /// Color DarkGreen. 0x0640 + /// Color DarkGreen. 0x006400 /// </summary> public static Color DarkGreen { get { return Color.FromArgb(0, 100, 0); } } /// <summary> @@ -140,7 +140,7 @@ /// </summary> public static Color DarkKhaki { get { return Color.FromArgb(189, 183, 107); } } /// <summary> - /// Color DarkMagenta. 0x8b08b + /// Color DarkMagenta. 0x8b008b /// </summary> public static Color DarkMagenta { get { return Color.FromArgb(139, 0, 139); } } /// <summary> @@ -148,7 +148,7 @@ /// </summary> public static Color DarkOliveGreen { get { return Color.FromArgb(85, 107, 47); } } /// <summary> - /// Color DarkOrange. 0xff8c0 + /// Color DarkOrange. 0xff8c00 /// </summary> public static Color DarkOrange { get { return Color.FromArgb(255, 140, 0); } } /// <summary> @@ -156,7 +156,7 @@ /// </summary> public static Color DarkOrchid { get { return Color.FromArgb(153, 50, 204); } } /// <summary> - /// Color DarkRed. 0x8b00 + /// Color DarkRed. 0x8b0000 /// </summary> public static Color DarkRed { get { return Color.FromArgb(139, 0, 0); } } /// <summary> @@ -176,11 +176,11 @@ /// </summary> public static Color DarkSlateGray { get { return Color.FromArgb(47, 79, 79); } } /// <summary> - /// Color DarkTurquoise. 0x0ced1 + /// Color DarkTurquoise. 0x00ced1 /// </summary> public static Color DarkTurquoise { get { return Color.FromArgb(0, 206, 209); } } /// <summary> - /// Color DarkViolet. 0x940d3 + /// Color DarkViolet. 0x9400d3 /// </summary> public static Color DarkViolet { get { return Color.FromArgb(148, 0, 211); } } /// <summary> @@ -188,7 +188,7 @@ /// </summary> public static Color DeepPink { get { return Color.FromArgb(255, 20, 147); } } /// <summary> - /// Color DeepSkyBlue. 0x0bfff + /// Color DeepSkyBlue. 0x00bfff /// </summary> public static Color DeepSkyBlue { get { return Color.FromArgb(0, 191, 255); } } /// <summary> @@ -212,7 +212,7 @@ /// </summary> public static Color ForestGreen { get { return Color.FromArgb(34, 139, 34); } } /// <summary> - /// Color Fuchsia. 0xff0ff + /// Color Fuchsia. 0xff00ff /// </summary> public static Color Fuchsia { get { return Color.FromArgb(255, 0, 255); } } /// <summary> @@ -224,7 +224,7 @@ /// </summary> public static Color GhostWhite { get { return Color.FromArgb(248, 248, 255); } } /// <summary> - /// Color Gold. 0xffd70 + /// Color Gold. 0xffd700 /// </summary> public static Color Gold { get { return Color.FromArgb(255, 215, 0); } } /// <summary> @@ -236,7 +236,7 @@ /// </summary> public static Color Gray { get { return Color.FromArgb(128, 128, 128); } } /// <summary> - /// Color Green. 0x0800 + /// Color Green. 0x008000 /// </summary> public static Color Green { get { return Color.FromArgb(0, 128, 0); } } /// <summary> @@ -256,7 +256,7 @@ /// </summary> public static Color IndianRed { get { return Color.FromArgb(205, 92, 92); } } /// <summary> - /// Color Indigo. 0x4b082 + /// Color Indigo. 0x4b0082 /// </summary> public static Color Indigo { get { return Color.FromArgb(75, 0, 130); } } /// <summary> @@ -276,7 +276,7 @@ /// </summary> public static Color LavenderBlush { get { return Color.FromArgb(255, 240, 245); } } /// <summary> - /// Color LawnGreen. 0x7cfc0 + /// Color LawnGreen. 0x7cfc00 /// </summary> public static Color LawnGreen { get { return Color.FromArgb(124, 252, 0); } } /// <summary> @@ -336,7 +336,7 @@ /// </summary> public static Color LightYellow { get { return Color.FromArgb(255, 255, 224); } } /// <summary> - /// Color Lime. 0x0ff0 + /// Color Lime. 0x00ff00 /// </summary> public static Color Lime { get { return Color.FromArgb(0, 255, 0); } } /// <summary> @@ -348,11 +348,11 @@ /// </summary> public static Color Linen { get { return Color.FromArgb(250, 240, 230); } } /// <summary> - /// Color Magenta. 0xff0ff + /// Color Magenta. 0xff00ff /// </summary> public static Color Magenta { get { return Color.FromArgb(255, 0, 255); } } /// <summary> - /// Color Maroon. 0x8000 + /// Color Maroon. 0x800000 /// </summary> public static Color Maroon { get { return Color.FromArgb(128, 0, 0); } } /// <summary> @@ -360,7 +360,7 @@ /// </summary> public static Color MediumAquamarine { get { return Color.FromArgb(102, 205, 170); } } /// <summary> - /// Color MediumBlue. 0x00cd + /// Color MediumBlue. 0x0000cd /// </summary> public static Color MediumBlue { get { return Color.FromArgb(0, 0, 205); } } /// <summary> @@ -380,7 +380,7 @@ /// </summary> public static Color MediumSlateBlue { get { return Color.FromArgb(123, 104, 238); } } /// <summary> - /// Color MediumSpringGreen. 0x0fa9a + /// Color MediumSpringGreen. 0x00fa9a /// </summary> public static Color MediumSpringGreen { get { return Color.FromArgb(0, 250, 154); } } /// <summary> @@ -412,7 +412,7 @@ /// </summary> public static Color NavajoWhite { get { return Color.FromArgb(255, 222, 173); } } /// <summary> - /// Color Navy. 0x0080 + /// Color Navy. 0x000080 /// </summary> public static Color Navy { get { return Color.FromArgb(0, 0, 128); } } /// <summary> @@ -420,7 +420,7 @@ /// </summary> public static Color OldLace { get { return Color.FromArgb(253, 245, 230); } } /// <summary> - /// Color Olive. 0x80800 + /// Color Olive. 0x808000 /// </summary> public static Color Olive { get { return Color.FromArgb(128, 128, 0); } } /// <summary> @@ -428,11 +428,11 @@ /// </summary> public static Color OliveDrab { get { return Color.FromArgb(107, 142, 35); } } /// <summary> - /// Color Orange. 0xffa50 + /// Color Orange. 0xffa500 /// </summary> public static Color Orange { get { return Color.FromArgb(255, 165, 0); } } /// <summary> - /// Color OrangeRed. 0xff450 + /// Color OrangeRed. 0xff4500 /// </summary> public static Color OrangeRed { get { return Color.FromArgb(255, 69, 0); } } /// <summary> @@ -480,11 +480,11 @@ /// </summary> public static Color PowderBlue { get { return Color.FromArgb(176, 224, 230); } } /// <summary> - /// Color Purple. 0x80080 + /// Color Purple. 0x800080 /// </summary> public static Color Purple { get { return Color.FromArgb(128, 0, 128); } } /// <summary> - /// Color Red. 0xff00 + /// Color Red. 0xff0000 /// </summary> public static Color Red { get { return Color.FromArgb(255, 0, 0); } } /// <summary> @@ -540,7 +540,7 @@ /// </summary> public static Color Snow { get { return Color.FromArgb(255, 250, 250); } } /// <summary> - /// Color SpringGreen. 0x0ff7f + /// Color SpringGreen. 0x00ff7f /// </summary> public static Color SpringGreen { get { return Color.FromArgb(0, 255, 127); } } /// <summary> @@ -552,7 +552,7 @@ /// </summary> public static Color Tan { get { return Color.FromArgb(210, 180, 140); } } /// <summary> - /// Color Teal. 0x08080 + /// Color Teal. 0x008080 /// </summary> public static Color Teal { get { return Color.FromArgb(0, 128, 128); } } /// <summary> @@ -588,7 +588,7 @@ /// </summary> public static Color WhiteSmoke { get { return Color.FromArgb(245, 245, 245); } } /// <summary> - /// Color Yellow. 0xffff0 + /// Color Yellow. 0xffff00 /// </summary> public static Color Yellow { get { return Color.FromArgb(255, 255, 0); } } /// <summary> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2012-05-29 15:27:47
|
Revision: 1346 http://agate.svn.sourceforge.net/agate/?rev=1346&view=rev Author: kanato Date: 2012-05-29 15:27:40 +0000 (Tue, 29 May 2012) Log Message: ----------- Mark DisplayWindow.SetFullScreen and DisplayWindow.SetWindowed as obsolete. Modified Paths: -------------- trunk/AgateLib/DisplayLib/DisplayWindow.cs trunk/Tests/Fonts/Fonts.cs Modified: trunk/AgateLib/DisplayLib/DisplayWindow.cs =================================================================== --- trunk/AgateLib/DisplayLib/DisplayWindow.cs 2012-04-10 18:38:11 UTC (rev 1345) +++ trunk/AgateLib/DisplayLib/DisplayWindow.cs 2012-05-29 15:27:40 UTC (rev 1346) @@ -298,6 +298,7 @@ /// windowed. The DisplayWindow retains the same height and width as the /// previous full screen resolution. /// </summary> + [Obsolete("Instead of calling SetWindowed, you should create another DisplayWindow by calling DisplayWindow.CreateWindowed() and Dispose of the full screen DisplayWindow object.")] public void SetWindowed() { mImpl.SetWindowed(); @@ -312,6 +313,7 @@ /// fullscreen displays. If this fails it returns without any error /// thrown. Check to see if it worked by examining IsFullScreen property. /// </remarks> + [Obsolete("Instead of calling SetFullScreen, you should create another DisplayWindow by calling DisplayWindow.CreateFullScreen()")] public void SetFullScreen() { mImpl.SetFullScreen(); @@ -329,6 +331,7 @@ /// <param name="width"></param> /// <param name="height"></param> /// <param name="bpp"></param> + [Obsolete("Instead of calling SetFullScreen, you should create another DisplayWindow by calling DisplayWindow.CreateFullScreen()")] public void SetFullScreen(int width, int height, int bpp) { mImpl.SetFullScreen(width, height, bpp); Modified: trunk/Tests/Fonts/Fonts.cs =================================================================== --- trunk/Tests/Fonts/Fonts.cs 2012-04-10 18:38:11 UTC (rev 1345) +++ trunk/Tests/Fonts/Fonts.cs 2012-05-29 15:27:40 UTC (rev 1346) @@ -30,6 +30,7 @@ return; DisplayWindow wind = DisplayWindow.CreateWindowed("Font Tester", 800, 600); + DisplayWindow fullWind = null; FontSurface font = new FontSurface("Sans Serif", 12); FontSurface bitmapFont = FontSurface.BitmapMonospace("lotafont.png", new Size(16, 16)); @@ -126,10 +127,16 @@ System.Diagnostics.Debug.Print("IsFullscreen: {0}", Display.CurrentWindow.IsFullScreen); if (Display.CurrentWindow.IsFullScreen == false) - Display.CurrentWindow.SetFullScreen(800, 600, 32); + { + fullWind = DisplayWindow.CreateFullScreen("Font Tester", 800, 600); + } else - Display.CurrentWindow.SetWindowed(); + { + fullWind.Dispose(); + Display.RenderTarget = wind; + } + Keyboard.ReleaseAllKeys(); System.Diagnostics.Debug.Print("IsFullscreen: {0}", Display.CurrentWindow.IsFullScreen); } else if (Keyboard.Keys[KeyCode.F2]) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2012-04-10 18:38:17
|
Revision: 1345 http://agate.svn.sourceforge.net/agate/?rev=1345&view=rev Author: kanato Date: 2012-04-10 18:38:11 +0000 (Tue, 10 Apr 2012) Log Message: ----------- Fix bad text coloring in MultipleWindowTest for OpenGL. Modified Paths: -------------- trunk/Tests/DisplayTests/MultipleWindows/MultipleWindowTest.cs trunk/Tests/settings_list.txt Modified: trunk/Tests/DisplayTests/MultipleWindows/MultipleWindowTest.cs =================================================================== --- trunk/Tests/DisplayTests/MultipleWindows/MultipleWindowTest.cs 2012-04-10 18:09:20 UTC (rev 1344) +++ trunk/Tests/DisplayTests/MultipleWindows/MultipleWindowTest.cs 2012-04-10 18:38:11 UTC (rev 1345) @@ -126,11 +126,13 @@ Display.RenderTarget = newBuffer; Display.BeginFrame(); - Display.Clear(); + Display.Clear(Color.FromArgb(0, 0, 0, 0)); + Display.RenderState.AlphaBlend = false; frameBuffer.RenderTarget.Draw(); Display.EndFrame(); + Display.RenderState.AlphaBlend = true; frameBuffer.Dispose(); frameBuffer = newBuffer; Modified: trunk/Tests/settings_list.txt =================================================================== --- trunk/Tests/settings_list.txt 2012-04-10 18:09:20 UTC (rev 1344) +++ trunk/Tests/settings_list.txt 2012-04-10 18:38:11 UTC (rev 1345) @@ -1,4 +1,4 @@ -AgateLib.DisplayDriver OpenGL through OpenTK 1.0.278.44921 +AgateLib.DisplayDriver SlimDX - Direct3D 9 AgateLib.AudioDriver Default AgateLib.InputDriver Default AgateLib.OpenGL.DisableFramebufferArb This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2012-04-10 18:09:27
|
Revision: 1344 http://agate.svn.sourceforge.net/agate/?rev=1344&view=rev Author: kanato Date: 2012-04-10 18:09:20 +0000 (Tue, 10 Apr 2012) Log Message: ----------- Framebuffer bug fixes for AgateDrawing and AgateOTK. Now Viewport is set when rendering to a Framebuffer in AgateOTK. Prevent recreation of Drawing_Surface every time the RenderTarget property was accessed in AgateDrawing. Added MultipleFramebufferTest. Modified Paths: -------------- trunk/AgateLib/DisplayLib/FrameBuffer.cs trunk/Drivers/AgateDrawing/Drawing_FrameBuffer.cs trunk/Drivers/AgateDrawing/Drawing_Surface.cs trunk/Drivers/AgateOTK/ContextFB.cs trunk/Drivers/AgateOTK/GL3/FrameBuffer.cs trunk/Drivers/AgateOTK/GL_Display.cs trunk/Drivers/AgateOTK/GL_Surface.cs trunk/Tests/DisplayTests/MultipleWindows/MultipleWindowTest.cs trunk/Tests/Tests.csproj trunk/Tests/frmLauncher.Designer.cs trunk/Tests/frmLauncher.cs trunk/Tests/frmLauncher.resx trunk/Tests/settings_list.txt Added Paths: ----------- trunk/Tests/DisplayTests/MultipleFramebufferTest.cs Modified: trunk/AgateLib/DisplayLib/FrameBuffer.cs =================================================================== --- trunk/AgateLib/DisplayLib/FrameBuffer.cs 2012-04-05 17:23:01 UTC (rev 1343) +++ trunk/AgateLib/DisplayLib/FrameBuffer.cs 2012-04-10 18:09:20 UTC (rev 1344) @@ -143,12 +143,6 @@ { get { - if (mRenderTarget != null && mRenderTarget.Impl != Impl.RenderTarget) - { - mRenderTarget.Dispose(); - mRenderTarget = null; - } - if (mRenderTarget == null) mRenderTarget = new Surface(Impl.RenderTarget); Modified: trunk/Drivers/AgateDrawing/Drawing_FrameBuffer.cs =================================================================== --- trunk/Drivers/AgateDrawing/Drawing_FrameBuffer.cs 2012-04-05 17:23:01 UTC (rev 1343) +++ trunk/Drivers/AgateDrawing/Drawing_FrameBuffer.cs 2012-04-10 18:09:20 UTC (rev 1344) @@ -31,6 +31,7 @@ { Bitmap backBuffer; internal AgateLib.DisplayLib.DisplayWindow mAttachedWindow; + SurfaceImpl mRenderTarget; public Drawing_FrameBuffer(Size size) { @@ -51,7 +52,8 @@ } public override void Dispose() { - backBuffer.Dispose(); + if (mRenderTarget == null) + backBuffer.Dispose(); } public override Size Size @@ -62,7 +64,13 @@ public System.Drawing.Bitmap BackBufferBitmap { get { return backBuffer; } - set { backBuffer = value; } + set + { + if (value == null) + throw new ArgumentNullException(); + + backBuffer = value; + } } public override void BeginRender() @@ -82,7 +90,13 @@ } public override SurfaceImpl RenderTarget { - get { return new Drawing_Surface(backBuffer, new System.Drawing.Rectangle(System.Drawing.Point.Empty, backBuffer.Size)); } + get + { + if (mRenderTarget == null) + mRenderTarget = new Drawing_Surface(backBuffer); + + return mRenderTarget; + } } public override AgateLib.DisplayLib.DisplayWindow AttachedWindow Modified: trunk/Drivers/AgateDrawing/Drawing_Surface.cs =================================================================== --- trunk/Drivers/AgateDrawing/Drawing_Surface.cs 2012-04-05 17:23:01 UTC (rev 1343) +++ trunk/Drivers/AgateDrawing/Drawing_Surface.cs 2012-04-10 18:09:20 UTC (rev 1344) @@ -62,19 +62,23 @@ System.Diagnostics.Debug.Assert(mImage != null); } - - private void ConvertImage() + /// <summary> + /// Creates a Drawing_Surface object which wraps the specified image. + /// </summary> + /// <param name="image"></param> + public Drawing_Surface(Bitmap image) { - var newImage = new Bitmap(mImage.Width, mImage.Height); + mDisplay = Display.Impl as Drawing_Display; - Graphics g = Graphics.FromImage(newImage); - g.DrawImage(mImage, new Rectangle(0, 0, mImage.Width, mImage.Height)); + mImage = image; - g.Dispose(); - mImage.Dispose(); - - mImage = newImage; + System.Diagnostics.Debug.Assert(mImage != null); } + /// <summary> + /// Creates a Drawing_Surface object and copies pixels from the specified image. + /// </summary> + /// <param name="image"></param> + /// <param name="sourceRect"></param> public Drawing_Surface(Bitmap image, Rectangle sourceRect) { mDisplay = Display.Impl as Drawing_Display; @@ -89,7 +93,9 @@ (Rectangle)sourceRect, GraphicsUnit.Pixel); g.Dispose(); + + System.Diagnostics.Debug.Assert(mImage != null); } public Drawing_Surface(Geometry.Size sz) { @@ -113,6 +119,19 @@ } } + private void ConvertImage() + { + var newImage = new Bitmap(mImage.Width, mImage.Height); + + Graphics g = Graphics.FromImage(newImage); + g.DrawImage(mImage, new Rectangle(0, 0, mImage.Width, mImage.Height)); + + g.Dispose(); + mImage.Dispose(); + + mImage = newImage; + } + #endregion #region --- Protected Drawing helper methods --- @@ -149,7 +168,7 @@ Geometry.SizeF displaySize = s.GetDisplaySize(SurfaceSize); Geometry.PointF rotationCenter = s.GetRotationCenter(displaySize); - + Drawing_Display disp = Display.Impl as Drawing_Display; Graphics g = disp.FrameGraphics; GraphicsState state = g.Save(); @@ -235,6 +254,7 @@ break; } } + #endregion #region --- Public overriden properties --- @@ -274,8 +294,6 @@ mImage.Save(filename, drawformat); } - - public override void SetSourceSurface(SurfaceImpl surf, Geometry.Rectangle srcRect) { mImage.Dispose(); @@ -289,13 +307,13 @@ g.Dispose(); + System.Diagnostics.Debug.Assert(mImage != null); } public override PixelBuffer ReadPixels(PixelFormat format) { return ReadPixels(format, new Geometry.Rectangle(Geometry.Point.Empty, SurfaceSize)); } - public override PixelBuffer ReadPixels(PixelFormat format, Geometry.Rectangle rect) { BitmapData data = mImage.LockBits(Interop.Convert(rect), ImageLockMode.ReadOnly, @@ -315,7 +333,6 @@ return buffer; } - public override void WritePixels(PixelBuffer buffer) { BitmapData data = mImage.LockBits(new Rectangle(Point.Empty, Interop.Convert(SurfaceSize)), Modified: trunk/Drivers/AgateOTK/ContextFB.cs =================================================================== --- trunk/Drivers/AgateOTK/ContextFB.cs 2012-04-05 17:23:01 UTC (rev 1343) +++ trunk/Drivers/AgateOTK/ContextFB.cs 2012-04-10 18:09:20 UTC (rev 1344) @@ -71,13 +71,11 @@ } GL.Viewport(0, 0, Width, Height); - } public override void BeginRender() { MakeCurrent(); - } public override void EndRender() Modified: trunk/Drivers/AgateOTK/GL3/FrameBuffer.cs =================================================================== --- trunk/Drivers/AgateOTK/GL3/FrameBuffer.cs 2012-04-05 17:23:01 UTC (rev 1343) +++ trunk/Drivers/AgateOTK/GL3/FrameBuffer.cs 2012-04-10 18:09:20 UTC (rev 1344) @@ -52,6 +52,11 @@ GL.GenFramebuffers(1, out mFramebufferID); GL.BindFramebuffer(FramebufferTarget.Framebuffer, mFramebufferID); + // attach the texture + GL.FramebufferTexture2D(FramebufferTarget.Framebuffer, + FramebufferAttachment.ColorAttachment0, TextureTarget.Texture2D, + mTexture.GLTextureID, 0); + // generate a depth buffer to render to GL.GenRenderbuffers(1, out mDepthBuffer); GL.BindRenderbuffer(RenderbufferTarget.Renderbuffer, mDepthBuffer); @@ -66,10 +71,6 @@ FramebufferAttachment.DepthAttachment, RenderbufferTarget.Renderbuffer, mDepthBuffer); - // attach the texture - GL.FramebufferTexture2D(FramebufferTarget.Framebuffer, - FramebufferAttachment.ColorAttachment0, TextureTarget.Texture2D, - mTexture.GLTextureID, 0); FramebufferErrorCode code = GL.CheckFramebufferStatus(FramebufferTarget.Framebuffer); @@ -128,7 +129,7 @@ } public override bool CanAccessRenderTarget { - get { return true; } + get { return true; } } public override bool HasDepthBuffer Modified: trunk/Drivers/AgateOTK/GL_Display.cs =================================================================== --- trunk/Drivers/AgateOTK/GL_Display.cs 2012-04-05 17:23:01 UTC (rev 1343) +++ trunk/Drivers/AgateOTK/GL_Display.cs 2012-04-10 18:09:20 UTC (rev 1344) @@ -206,6 +206,7 @@ mRenderTarget.BeginRender(); GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha); + GL.Viewport(0, 0, mRenderTarget.Width, mRenderTarget.Height); } protected override void OnEndFrame() { Modified: trunk/Drivers/AgateOTK/GL_Surface.cs =================================================================== --- trunk/Drivers/AgateOTK/GL_Surface.cs 2012-04-05 17:23:01 UTC (rev 1343) +++ trunk/Drivers/AgateOTK/GL_Surface.cs 2012-04-10 18:09:20 UTC (rev 1344) @@ -109,7 +109,7 @@ GL.BindTexture(TextureTarget.Texture2D, mTextureID); GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, mTextureSize.Width, mTextureSize.Height, 0, OTKPixelFormat.Rgba, - PixelType.UnsignedByte, fake); + PixelType.UnsignedByte, IntPtr.Zero); mTexCoord = GetTextureCoords(mSourceRect); } Added: trunk/Tests/DisplayTests/MultipleFramebufferTest.cs =================================================================== --- trunk/Tests/DisplayTests/MultipleFramebufferTest.cs (rev 0) +++ trunk/Tests/DisplayTests/MultipleFramebufferTest.cs 2012-04-10 18:09:20 UTC (rev 1344) @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using AgateLib; +using AgateLib.DisplayLib; +using AgateLib.Geometry; +using AgateLib.InputLib; + +namespace Tests.DisplayTests +{ + class MultipleFramebufferTest : IAgateTest + { + List<Surface> mRegionColors = new List<Surface>(); + + + public string Name + { + get { return "Multiple Framebuffer Test"; } + } + + public string Category + { + get { return "Display"; } + } + + List<Surface> tests = new List<Surface>(); + bool done; + FontSurface font; + + public void Main(string[] args) + { + using (AgateSetup setup = new AgateSetup(args)) + { + setup.InitializeAll(); + if (setup.WasCanceled) + return; + + DisplayWindow wind = DisplayWindow.CreateWindowed("Multiple Framebuffer Test - " + + AgateLib.Drivers.Registrar.DisplayUsed.FriendlyName, 640, 480); + + font = FontSurface.AgateSans14; + + CreateTests(); + + Keyboard.KeyDown += new InputEventHandler(Keyboard_KeyDown); + + while (wind.IsClosed == false && done == false) + { + Display.RenderTarget = wind.FrameBuffer; + Display.BeginFrame(); + Display.Clear(Color.Gray); + + font.Color = Color.White; + font.DisplayAlignment = OriginAlignment.TopLeft; + font.DrawText("Press space to create another frame buffer."); + + int y = font.FontHeight; + int x = 10; + foreach (var surf in tests) + { + surf.Draw(x, y); + y += surf.DisplayHeight + 10; + + if (y + 42 >= wind.Height) + { + y = font.FontHeight; + x += 42; + } + } + + Display.EndFrame(); + Core.KeepAlive(); + } + } + } + + void Keyboard_KeyDown(InputEventArgs e) + { + if (e.KeyCode == KeyCode.Escape) + done = true; + + if (e.KeyCode == KeyCode.Space) + CreateTests(); + } + + int hueAngle = 0; + private void CreateTests() + { + const int angleIncrement = 373 / 8; + font.Color = Color.Black; + font.DisplayAlignment = OriginAlignment.CenterRight; + Surface mySurface = new Surface("jellybean.png"); + + FrameBuffer frame = new FrameBuffer(32, 32); + var clr = Color.FromHsv(hueAngle, 1, 1); + + Display.RenderTarget = frame; + Display.BeginFrame(); + Display.Clear(); + mySurface.Draw(); + Display.FillRect(new Rectangle(0, 0, 8, 32), clr); + + var pt = new Point(31, 16); + string text = tests.Count.ToString(); + + font.Color = Color.Black; + font.DrawText(pt.X - 1, pt.Y, text); + font.DrawText(pt.X + 1, pt.Y, text); + font.DrawText(pt.X, pt.Y - 1, text); + font.DrawText(pt.X, pt.Y + 1, text); + + font.Color = Color.White; + font.DrawText(pt.X, pt.Y, text); + + Display.EndFrame(); + tests.Add(frame.RenderTarget); + frame.RenderTarget.SaveTo("test.png", ImageFileFormat.Png); + + hueAngle += angleIncrement; + } + } +} Modified: trunk/Tests/DisplayTests/MultipleWindows/MultipleWindowTest.cs =================================================================== --- trunk/Tests/DisplayTests/MultipleWindows/MultipleWindowTest.cs 2012-04-05 17:23:01 UTC (rev 1343) +++ trunk/Tests/DisplayTests/MultipleWindows/MultipleWindowTest.cs 2012-04-10 18:09:20 UTC (rev 1344) @@ -13,7 +13,7 @@ { Surface surf; Random rand = new Random(); - FrameBuffer buffer; + FrameBuffer frameBuffer; public string Name { @@ -40,7 +40,7 @@ DisplayWindow wnd_2 = DisplayWindow.CreateFromControl(myForm.pictureBox2); DisplayWindow wnd_3 = DisplayWindow.CreateFromControl(myForm.pictureBox3); - buffer = new FrameBuffer(wnd_3.Width, wnd_3.Height); + frameBuffer = new FrameBuffer(wnd_3.Width, wnd_3.Height); myForm.pictureBox3.Resize += new EventHandler(wnd_3_Resize); // this is the code that will be called when the button is pressed @@ -84,28 +84,22 @@ // draw the third window from the surface Display.RenderTarget = wnd_3.FrameBuffer; - surf = buffer.RenderTarget; + surf = frameBuffer.RenderTarget; Display.BeginFrame(); - Display.Clear(Color.Black); + Display.Clear(Color.Gray); surf.Draw(0, 0); Display.EndFrame(); Core.KeepAlive(); time = Timing.TotalSeconds; - //System.Threading.Thread.Sleep(250); - } - } - - } void btnDrawText_Click(object sender, EventArgs e) { - Display.RenderTarget = buffer; - + Display.RenderTarget = frameBuffer; Display.BeginFrame(); int x = rand.Next(20, 100); @@ -134,18 +128,17 @@ Display.BeginFrame(); Display.Clear(); - buffer.RenderTarget.Draw(new Rectangle(0, 0, buffer.Width, buffer.Height)); + frameBuffer.RenderTarget.Draw(); Display.EndFrame(); - buffer.Dispose(); - buffer = newBuffer; + frameBuffer.Dispose(); + frameBuffer = newBuffer; } void btnClear_Click(object sender, EventArgs e) { - Display.RenderTarget = buffer; - + Display.RenderTarget = frameBuffer; Display.BeginFrame(); Display.Clear(0, 0, 0, 0); Display.EndFrame(); @@ -153,16 +146,15 @@ void btnDraw_Click(object sender, EventArgs e) { - Display.RenderTarget = buffer; - + Display.RenderTarget = frameBuffer; Display.BeginFrame(); int width = rand.Next(20, 100); int height = rand.Next(20, 100); Rectangle rect = new Rectangle( - rand.Next(0, buffer.Width - width), - rand.Next(0, buffer.Height - height), + rand.Next(0, frameBuffer.Width - width), + rand.Next(0, frameBuffer.Height - height), width, height); Modified: trunk/Tests/Tests.csproj =================================================================== --- trunk/Tests/Tests.csproj 2012-04-05 17:23:01 UTC (rev 1343) +++ trunk/Tests/Tests.csproj 2012-04-10 18:09:20 UTC (rev 1344) @@ -143,6 +143,7 @@ <Compile Include="DisplayTests\ColorTest.cs" /> <Compile Include="DisplayTests\LargeImage.cs" /> <Compile Include="DisplayTests\DisplayWindowEvents.cs" /> + <Compile Include="DisplayTests\MultipleFramebufferTest.cs" /> <Compile Include="DisplayTests\PixelBufferMask.cs" /> <Compile Include="DisplayTests\ClipRect.cs" /> <Compile Include="DisplayTests\Prerendered.cs" /> Modified: trunk/Tests/frmLauncher.Designer.cs =================================================================== --- trunk/Tests/frmLauncher.Designer.cs 2012-04-05 17:23:01 UTC (rev 1343) +++ trunk/Tests/frmLauncher.Designer.cs 2012-04-10 18:09:20 UTC (rev 1344) @@ -27,7 +27,7 @@ /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() - { + { this.lstTests = new System.Windows.Forms.ListBox(); this.displayList = new System.Windows.Forms.ComboBox(); this.inputList = new System.Windows.Forms.ComboBox(); @@ -39,9 +39,9 @@ // // lstTests // - this.lstTests.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); + this.lstTests.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.lstTests.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.lstTests.FormattingEnabled = true; this.lstTests.Location = new System.Drawing.Point(324, 12); @@ -62,6 +62,7 @@ this.displayList.Name = "displayList"; this.displayList.Size = new System.Drawing.Size(229, 21); this.displayList.TabIndex = 8; + this.displayList.SelectedIndexChanged += new System.EventHandler(this.displayList_SelectedIndexChanged); // // inputList // @@ -72,6 +73,7 @@ this.inputList.Name = "inputList"; this.inputList.Size = new System.Drawing.Size(229, 21); this.inputList.TabIndex = 10; + this.inputList.SelectedIndexChanged += new System.EventHandler(this.inputList_SelectedIndexChanged); // // audioList // @@ -82,6 +84,7 @@ this.audioList.Name = "audioList"; this.audioList.Size = new System.Drawing.Size(229, 21); this.audioList.TabIndex = 12; + this.audioList.SelectedIndexChanged += new System.EventHandler(this.audioList_SelectedIndexChanged); // // label1 // Modified: trunk/Tests/frmLauncher.cs =================================================================== --- trunk/Tests/frmLauncher.cs 2012-04-05 17:23:01 UTC (rev 1343) +++ trunk/Tests/frmLauncher.cs 2012-04-10 18:09:20 UTC (rev 1344) @@ -33,19 +33,18 @@ bold = new Font(lstTests.Font, FontStyle.Bold | FontStyle.Italic); + FillDrivers(); + ReadSettingsNames(); AgateLib.Settings.PersistantSettings.SettingsTracer = this; AgateLib.Settings.PersistantSettings.Debug = true; - FillDrivers(); - this.FormClosed += HandleFormClosed; } private void frmLauncher_Load(object sender, EventArgs e) { - FillDrivers(); } private void FillDrivers() @@ -75,7 +74,7 @@ { foreach (var setting in mSettings) { - string text = setting.Key + " " + setting.Value; + string text = setting.Key + "\t" + setting.Value; System.Diagnostics.Debug.Print(text); w.WriteLine(text); @@ -110,42 +109,38 @@ try { - using (r) + settingsFile = targetDirectory + filename; + r = new StreamReader(targetDirectory + filename); + } + catch (DirectoryNotFoundException) + { + settingsFile = filename; + r = new StreamReader(filename); + } + + using (r) + { + while (r.EndOfStream == false) { - try - { - settingsFile = targetDirectory + filename; - r = new StreamReader(targetDirectory + filename); - } - catch (DirectoryNotFoundException) - { - settingsFile = filename; - r = new StreamReader(filename); - } + string x = r.ReadLine().Trim(); - while (r.EndOfStream == false) - { - string x = r.ReadLine().Trim(); - if (string.IsNullOrEmpty(x) == false) - { - int index = x.IndexOf(' '); + if (string.IsNullOrWhiteSpace(x)) + continue; - if (index == -1) - { - mSettings.Add(x, null); - } - else - mSettings.Add(x.Substring(0, index), x.Substring(index + 1)); - } + int index = x.IndexOf('\t'); + + if (index == -1) + { + mSettings[x] = null; } + else + mSettings[x.Substring(0, index)] = x.Substring(index + 1); } } - catch - { - if (settingsFile == null) - settingsFile = filename; - } + displayList.SelectedItem = mSettings["AgateLib.DisplayDriver"]; + audioList.SelectedItem = mSettings["AgateLib.AudioDriver"]; + inputList.SelectedItem = mSettings["AgateLib.InputDriver"]; } void StoreSetting(string name, string value) { @@ -241,10 +236,6 @@ string[] args = { }; this.Hide(); - AgateLib.Core.Settings["AgateLib"]["DisplayDriver"] = displayList.Text; - AgateLib.Core.Settings["AgateLib"]["AudioDriver"] = audioList.Text; - AgateLib.Core.Settings["AgateLib"]["InputDriver"] = inputList.Text; - foreach (var kvp in mSettings) { if (kvp.Value == null) @@ -253,13 +244,6 @@ string group, key; SplitName(kvp.Key, out group, out key); - if (group == "AgateLib") - { - if (key == "DisplayDriver") continue; - if (key == "AudioDriver") continue; - if (key == "InputDriver") continue; - } - AgateLib.Core.Settings[group][key] = kvp.Value; } @@ -337,5 +321,18 @@ e.DrawFocusRectangle(); } + private void displayList_SelectedIndexChanged(object sender, EventArgs e) + { + mSettings["AgateLib.DisplayDriver"] = displayList.Text; + } + private void audioList_SelectedIndexChanged(object sender, EventArgs e) + { + mSettings["AgateLib.AudioDriver"] = audioList.Text; + } + private void inputList_SelectedIndexChanged(object sender, EventArgs e) + { + mSettings["AgateLib.InputDriver"] = inputList.Text; + } + } } \ No newline at end of file Modified: trunk/Tests/frmLauncher.resx =================================================================== --- trunk/Tests/frmLauncher.resx 2012-04-05 17:23:01 UTC (rev 1343) +++ trunk/Tests/frmLauncher.resx 2012-04-10 18:09:20 UTC (rev 1344) @@ -112,9 +112,9 @@ <value>2.0</value> </resheader> <resheader name="reader"> - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <resheader name="writer"> - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> </root> \ No newline at end of file Modified: trunk/Tests/settings_list.txt =================================================================== --- trunk/Tests/settings_list.txt 2012-04-05 17:23:01 UTC (rev 1343) +++ trunk/Tests/settings_list.txt 2012-04-10 18:09:20 UTC (rev 1344) @@ -1,6 +1,6 @@ -AgateLib.AudioDriver -AgateLib.DisplayDriver -AgateLib.InputDriver -AgateLib.OpenGL.DisableFramebufferArb -AgateLib.OpenGL.EnableGL3 false -AgateLib.OpenGL.DisableFramebufferExt +AgateLib.DisplayDriver OpenGL through OpenTK 1.0.278.44921 +AgateLib.AudioDriver Default +AgateLib.InputDriver Default +AgateLib.OpenGL.DisableFramebufferArb +AgateLib.OpenGL.EnableGL3 false +AgateLib.OpenGL.DisableFramebufferExt This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2012-04-05 17:23:08
|
Revision: 1343 http://agate.svn.sourceforge.net/agate/?rev=1343&view=rev Author: kanato Date: 2012-04-05 17:23:01 +0000 (Thu, 05 Apr 2012) Log Message: ----------- Add Rectangle.Inflate method. Added test to draw from a surface to a surface to MultipleRenderTest. Modified Paths: -------------- trunk/AgateLib/Geometry/Rectangle.cs trunk/Tests/DisplayTests/MultipleWindows/MultipleRenderTargetExample.Designer.cs trunk/Tests/DisplayTests/MultipleWindows/MultipleRenderTargetExample.resx trunk/Tests/DisplayTests/MultipleWindows/MultipleWindowTest.cs Modified: trunk/AgateLib/Geometry/Rectangle.cs =================================================================== --- trunk/AgateLib/Geometry/Rectangle.cs 2012-04-04 02:31:22 UTC (rev 1342) +++ trunk/AgateLib/Geometry/Rectangle.cs 2012-04-05 17:23:01 UTC (rev 1343) @@ -29,7 +29,7 @@ /// </summary> [Serializable] [TypeConverter(typeof(ExpandableObjectConverter))] - public struct Rectangle : IXleSerializable + public struct Rectangle : IXleSerializable { Point pt; Size sz; @@ -485,5 +485,33 @@ Math.Abs(a.X - b.X), Math.Abs(a.Y - b.Y)); } + + /// <summary> + /// Expands the rectangle structure by the specified + /// size structure. Actually, the size is increased by + /// double the amount because the rectangle is expanded + /// in all directions. + /// </summary> + /// <param name="size"></param> + public void Inflate(Size size) + { + X -= size.Width; + Y -= size.Height; + + Width += size.Width * 2; + Height += size.Height * 2; + } + /// <summary> + /// Expands the rectangle structure by the specified + /// size. Actually, the size is increased by + /// double the amount specified because the rectangle is expanded + /// in all directions. + /// </summary> + /// <param name="width"></param> + /// <param name="height"></param> + public void Inflate(int width, int height) + { + Inflate(new Size(width, height)); + } } } \ No newline at end of file Modified: trunk/Tests/DisplayTests/MultipleWindows/MultipleRenderTargetExample.Designer.cs =================================================================== --- trunk/Tests/DisplayTests/MultipleWindows/MultipleRenderTargetExample.Designer.cs 2012-04-04 02:31:22 UTC (rev 1342) +++ trunk/Tests/DisplayTests/MultipleWindows/MultipleRenderTargetExample.Designer.cs 2012-04-05 17:23:01 UTC (rev 1343) @@ -43,12 +43,15 @@ this.btnClearSurface = new System.Windows.Forms.Button(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.splitContainer2 = new System.Windows.Forms.SplitContainer(); + this.btnDrawText = new System.Windows.Forms.Button(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); this.splitContainer2.Panel1.SuspendLayout(); this.splitContainer2.Panel2.SuspendLayout(); this.splitContainer2.SuspendLayout(); @@ -120,7 +123,7 @@ // btnDraw // this.btnDraw.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.btnDraw.Location = new System.Drawing.Point(208, 208); + this.btnDraw.Location = new System.Drawing.Point(127, 208); this.btnDraw.Name = "btnDraw"; this.btnDraw.Size = new System.Drawing.Size(75, 39); this.btnDraw.TabIndex = 6; @@ -131,7 +134,7 @@ // btnClearSurface // this.btnClearSurface.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.btnClearSurface.Location = new System.Drawing.Point(127, 208); + this.btnClearSurface.Location = new System.Drawing.Point(46, 208); this.btnClearSurface.Name = "btnClearSurface"; this.btnClearSurface.Size = new System.Drawing.Size(75, 39); this.btnClearSurface.TabIndex = 8; @@ -150,6 +153,7 @@ // // splitContainer1.Panel2 // + this.splitContainer1.Panel2.Controls.Add(this.btnDrawText); this.splitContainer1.Panel2.Controls.Add(this.label3); this.splitContainer1.Panel2.Controls.Add(this.btnClearSurface); this.splitContainer1.Panel2.Controls.Add(this.pictureBox3); @@ -178,6 +182,17 @@ this.splitContainer2.SplitterDistance = 126; this.splitContainer2.TabIndex = 0; // + // btnDrawText + // + this.btnDrawText.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnDrawText.Location = new System.Drawing.Point(208, 208); + this.btnDrawText.Name = "btnDrawText"; + this.btnDrawText.Size = new System.Drawing.Size(75, 39); + this.btnDrawText.TabIndex = 9; + this.btnDrawText.Text = "Draw Text On Surface"; + this.toolTip1.SetToolTip(this.btnDrawText, "Tests using a surface as a render target\r\nby drawing directly to the surface."); + this.btnDrawText.UseVisualStyleBackColor = true; + // // MultipleRenderTargetExample // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -193,11 +208,13 @@ this.splitContainer1.Panel1.ResumeLayout(false); this.splitContainer1.Panel2.ResumeLayout(false); this.splitContainer1.Panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); this.splitContainer2.Panel1.ResumeLayout(false); this.splitContainer2.Panel1.PerformLayout(); this.splitContainer2.Panel2.ResumeLayout(false); this.splitContainer2.Panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); this.splitContainer2.ResumeLayout(false); this.ResumeLayout(false); @@ -216,6 +233,7 @@ public System.Windows.Forms.Button btnClearSurface; private System.Windows.Forms.SplitContainer splitContainer1; private System.Windows.Forms.SplitContainer splitContainer2; + public System.Windows.Forms.Button btnDrawText; } } Modified: trunk/Tests/DisplayTests/MultipleWindows/MultipleRenderTargetExample.resx =================================================================== --- trunk/Tests/DisplayTests/MultipleWindows/MultipleRenderTargetExample.resx 2012-04-04 02:31:22 UTC (rev 1342) +++ trunk/Tests/DisplayTests/MultipleWindows/MultipleRenderTargetExample.resx 2012-04-05 17:23:01 UTC (rev 1343) @@ -112,12 +112,12 @@ <value>2.0</value> </resheader> <resheader name="reader"> - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <resheader name="writer"> - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> - <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>17, 17</value> </metadata> </root> \ No newline at end of file Modified: trunk/Tests/DisplayTests/MultipleWindows/MultipleWindowTest.cs =================================================================== --- trunk/Tests/DisplayTests/MultipleWindows/MultipleWindowTest.cs 2012-04-04 02:31:22 UTC (rev 1342) +++ trunk/Tests/DisplayTests/MultipleWindows/MultipleWindowTest.cs 2012-04-05 17:23:01 UTC (rev 1343) @@ -46,7 +46,7 @@ // this is the code that will be called when the button is pressed myForm.btnDraw.Click += new EventHandler(btnDraw_Click); myForm.btnClearSurface.Click += new EventHandler(btnClear_Click); - + myForm.btnDrawText.Click += new EventHandler(btnDrawText_Click); Surface image1 = new Surface("jellybean.png"); Surface image2 = new Surface("9ball.png"); image1.DisplayWidth = 40; @@ -102,6 +102,27 @@ } + void btnDrawText_Click(object sender, EventArgs e) + { + Display.RenderTarget = buffer; + + Display.BeginFrame(); + + int x = rand.Next(20, 100); + int y = rand.Next(20, 100); + + Color clr = Color.White; + + FontSurface.AgateSans14.DrawText(x, y, "Sample Text"); + + Display.EndFrame(); + + surf.SaveTo("test.png", ImageFileFormat.Png); + + System.Diagnostics.Debug.Print("Wrote text to {0},{1}.", x,y); + System.Diagnostics.Debug.Flush(); + } + void wnd_3_Resize(object sender, EventArgs e) { var ctrl = (System.Windows.Forms.Control )sender; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2012-04-04 02:31:29
|
Revision: 1342 http://agate.svn.sourceforge.net/agate/?rev=1342&view=rev Author: kanato Date: 2012-04-04 02:31:22 +0000 (Wed, 04 Apr 2012) Log Message: ----------- Applied optimizations to pixel conversion when loading surfaces for OpenGL. This should result in almost a 30% speedup when loading large images. Modified Paths: -------------- trunk/AgateLib/AgateLib.csproj trunk/AgateLib/DisplayLib/PixelBuffer.cs trunk/AgateLib/Serialization/Xle/XleSerializationInfo.cs trunk/AgateLib-Windows.sln trunk/Drivers/AgateDrawing/AgateDrawing.csproj trunk/Drivers/AgateFMOD/AgateFMOD.csproj trunk/Drivers/AgateLib.WinForms/AgateLib.WinForms.csproj trunk/Drivers/AgateOTK/AgateOTK.csproj trunk/Drivers/AgateSDL/AgateSDL.csproj trunk/Drivers/AgateSDL/Audio/SDL_Music.cs trunk/Tests/Tests.csproj Added Paths: ----------- trunk/Tests/Data/largeimage.png trunk/Tests/DisplayTests/LargeImage.cs Modified: trunk/AgateLib/AgateLib.csproj =================================================================== --- trunk/AgateLib/AgateLib.csproj 2012-03-27 16:13:34 UTC (rev 1341) +++ trunk/AgateLib/AgateLib.csproj 2012-04-04 02:31:22 UTC (rev 1342) @@ -94,7 +94,7 @@ <Optimize>false</Optimize> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> - <OutputPath>bin\x86\Release\</OutputPath> + <OutputPath>..\Binaries\Release\</OutputPath> <DefineConstants>TRACE;</DefineConstants> <BaseAddress>285212672</BaseAddress> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> Modified: trunk/AgateLib/DisplayLib/PixelBuffer.cs =================================================================== --- trunk/AgateLib/DisplayLib/PixelBuffer.cs 2012-03-27 16:13:34 UTC (rev 1341) +++ trunk/AgateLib/DisplayLib/PixelBuffer.cs 2012-04-04 02:31:22 UTC (rev 1342) @@ -718,17 +718,43 @@ int destIndex = 0; IntPtr rowPtr = data; byte* dataPtr = (byte*)data; + int width = Width; + int destPixelStride = PixelStride; for (int y = 0; y < Height; y++) { Marshal.Copy(rowPtr, srcPixel, 0, srcRowStride); + + // check for common Win32 - OpenGL conversion case + if (this.PixelFormat == PixelFormat.RGBA8888 && + srcFormat == PixelFormat.BGRA8888) + { + // this setup here is OPTIMIZED. + // Calling ConvertPixel for each pixel when loading a large + // image adds about 35% more CPU time to do the conversion. + // By eliminating the function call and processing this special + // case here we save some time on image loading. + int srcIndex = 0; - for (int x = 0; x < Width; x++) + for (int x = 0; x < width; x++) + { + mData[destIndex] = srcPixel[srcIndex + 2]; + mData[destIndex + 1] = srcPixel[srcIndex + 1]; + mData[destIndex + 2] = srcPixel[srcIndex]; + mData[destIndex + 3] = srcPixel[srcIndex + 3]; + + destIndex += destPixelStride; + srcIndex += sourceStride; + } + } + else { - //Marshal.Copy(pixelPtr, srcPixel, 0, sourceStride); - ConvertPixel(mData, destIndex, this.PixelFormat, srcPixel, x * sourceStride, srcFormat); + for (int x = 0; x < width; x++) + { + ConvertPixel(mData, destIndex, this.PixelFormat, srcPixel, x * sourceStride, srcFormat); - destIndex += PixelStride; + destIndex += destPixelStride; + } } dataPtr += srcRowStride; @@ -851,6 +877,7 @@ public static void ConvertPixel(byte[] dest, int destIndex, PixelFormat destFormat, byte[] src, int srcIndex, PixelFormat srcFormat) { // check for trivial case. + // this is commented because it should be checked for above this method. //if (destFormat == srcFormat) //{ // for (int i = 0; i < GetPixelStride(destFormat); i++) @@ -859,6 +886,21 @@ // return; //} + // check for common Win32 - OpenGL conversion case + if (destFormat == PixelFormat.RGBA8888 && + srcFormat == PixelFormat.BGRA8888) + { + dest[destIndex] = src[srcIndex + 2]; + dest[destIndex + 1] = src[srcIndex + 1]; + dest[destIndex + 2] = src[srcIndex]; + dest[destIndex + 3] = src[srcIndex + 3]; + + return; + } + + // This approach is very slow partly because it uses floating point + // arithmetic. It is especially slow if you have a profiler attached + // to your process and are loading large images. double a, r, g, b; GetSourcePixelAttributes(src, srcIndex, srcFormat, out a, out r, out g, out b); Modified: trunk/AgateLib/Serialization/Xle/XleSerializationInfo.cs =================================================================== --- trunk/AgateLib/Serialization/Xle/XleSerializationInfo.cs 2012-03-27 16:13:34 UTC (rev 1341) +++ trunk/AgateLib/Serialization/Xle/XleSerializationInfo.cs 2012-04-04 02:31:22 UTC (rev 1342) @@ -313,11 +313,16 @@ { AddAttribute(element, "type", value.GetType().ToString()); - nodes.Push(element); + try + { + nodes.Push(element); - Serialize(value); - - nodes.Pop(); + Serialize(value); + } + finally + { + nodes.Pop(); + } } } private XmlElement WriteAsElement<T>(string name, T value) where T : IConvertible @@ -489,27 +494,38 @@ AddAttribute(element, "array", "true"); AddAttribute(element, "type", listType.ToString()); - nodes.Push(element); - - for (int i = 0; i < value.Count; i++) + try { - XmlElement item = doc.CreateElement("Item"); - CurrentNode.AppendChild(item); + nodes.Push(element); - if (value[i] == null) - AddAttribute(item, "type", "null"); - else + for (int i = 0; i < value.Count; i++) { - if (value[i].GetType() != listType) - AddAttribute(item, "type", value[i].GetType().ToString()); + XmlElement item = doc.CreateElement("Item"); + CurrentNode.AppendChild(item); - nodes.Push(item); - Serialize(value[i]); - nodes.Pop(); + if (value[i] == null) + AddAttribute(item, "type", "null"); + else + { + if (value[i].GetType() != listType) + AddAttribute(item, "type", value[i].GetType().ToString()); + + try + { + nodes.Push(item); + Serialize(value[i]); + } + finally + { + nodes.Pop(); + } + } } } - - nodes.Pop(); + finally + { + nodes.Pop(); + } } /// <summary> /// Writes an array of strings to the XML data as an element. @@ -530,16 +546,21 @@ XmlElement element = CreateElement(name); AddAttribute(element, "array", "true"); - nodes.Push(element); + try + { + nodes.Push(element); - for (int i = 0; i < value.Count; i++) + for (int i = 0; i < value.Count; i++) + { + XmlElement item = doc.CreateElement("Item"); + CurrentNode.AppendChild(item); + item.InnerText = value[i]; + } + } + finally { - XmlElement item = doc.CreateElement("Item"); - CurrentNode.AppendChild(item); - item.InnerText = value[i]; + nodes.Pop(); } - - nodes.Pop(); } /// <summary> /// Writes a Dictionary of objects implementing IXleSerializable to the XML data as an element. @@ -560,27 +581,38 @@ //AddAttribute(element, "keytype", keyType.ToString()); //AddAttribute(element, "valuetype", valueType.ToString()); - nodes.Push(element); - - foreach (KeyValuePair<Tkey, Tvalue> kvp in value) + try { - XmlElement item = doc.CreateElement("Item"); - CurrentNode.AppendChild(item); + nodes.Push(element); - AddAttribute(item, "key", kvp.Key.ToString()); + foreach (KeyValuePair<Tkey, Tvalue> kvp in value) + { + XmlElement item = doc.CreateElement("Item"); + CurrentNode.AppendChild(item); - //if (keyType != kvp.Key.GetType()) - // AddAttribute(item, "IDtype", kvp.Key.GetType().ToString()); + AddAttribute(item, "key", kvp.Key.ToString()); - if (kvp.Value.GetType() != valueType) - AddAttribute(item, "type", kvp.Value.GetType().ToString()); + //if (keyType != kvp.Key.GetType()) + // AddAttribute(item, "IDtype", kvp.Key.GetType().ToString()); - nodes.Push(item); - Serialize(kvp.Value); + if (kvp.Value.GetType() != valueType) + AddAttribute(item, "type", kvp.Value.GetType().ToString()); + + try + { + nodes.Push(item); + Serialize(kvp.Value); + } + finally + { + nodes.Pop(); + } + } + } + finally + { nodes.Pop(); } - - nodes.Pop(); } /// <summary> /// Writes a Dictionary of integers to the XML data as an element. @@ -599,18 +631,23 @@ //AddAttribute(element, "keytype", keyType.ToString()); //AddAttribute(element, "valuetype", valueType.ToString()); - nodes.Push(element); - - foreach (KeyValuePair<Tkey, int> kvp in value) + try { - XmlElement item = doc.CreateElement("Item"); - CurrentNode.AppendChild(item); + nodes.Push(element); - AddAttribute(item, "key", kvp.Key.ToString()); - AddAttribute(item, "value", kvp.Value.ToString()); + foreach (KeyValuePair<Tkey, int> kvp in value) + { + XmlElement item = doc.CreateElement("Item"); + CurrentNode.AppendChild(item); + + AddAttribute(item, "key", kvp.Key.ToString()); + AddAttribute(item, "value", kvp.Value.ToString()); + } } - - nodes.Pop(); + finally + { + nodes.Pop(); + } } /// <summary> /// Writes a Dictionary of strings implementing IXleSerializable to the XML data as an element. @@ -630,22 +667,27 @@ //AddAttribute(element, "keytype", keyType.ToString()); //AddAttribute(element, "valuetype", typeof(string).ToString()); - nodes.Push(element); - - foreach (KeyValuePair<Tkey, string> kvp in value) + try { - XmlElement item = doc.CreateElement("Item"); - CurrentNode.AppendChild(item); + nodes.Push(element); - AddAttribute(item, "key", kvp.Key.ToString()); + foreach (KeyValuePair<Tkey, string> kvp in value) + { + XmlElement item = doc.CreateElement("Item"); + CurrentNode.AppendChild(item); - //if (keyType != kvp.Key.GetType()) - // AddAttribute(item, "keytype", kvp.Key.GetType().ToString()); + AddAttribute(item, "key", kvp.Key.ToString()); - AddAttribute(item, "value", kvp.Value.ToString()); + //if (keyType != kvp.Key.GetType()) + // AddAttribute(item, "keytype", kvp.Key.GetType().ToString()); + + AddAttribute(item, "value", kvp.Value.ToString()); + } } - - nodes.Pop(); + finally + { + nodes.Pop(); + } } #endregion @@ -1149,12 +1191,17 @@ } else { - nodes.Push(item); + try + { + nodes.Push(item); - object o = DeserializeObject(type); - list.Add(o); - - nodes.Pop(); + object o = DeserializeObject(type); + list.Add(o); + } + finally + { + nodes.Pop(); + } } } @@ -1202,26 +1249,37 @@ if (element == null) throw new XleSerializationException("Node " + name + " was not found."); - nodes.Push(element); + try + { + nodes.Push(element); - Dictionary<TKey, TValue> retval = new Dictionary<TKey, TValue>(); + Dictionary<TKey, TValue> retval = new Dictionary<TKey, TValue>(); - for (int i = 0; i < element.ChildNodes.Count; i++) - { - XmlElement current = (XmlElement)CurrentNode.ChildNodes[i]; - string keyString = current.GetAttribute("key"); - TKey key = (TKey)Convert.ChangeType(keyString, typeof(TKey)); + for (int i = 0; i < element.ChildNodes.Count; i++) + { + XmlElement current = (XmlElement)CurrentNode.ChildNodes[i]; + string keyString = current.GetAttribute("key"); + TKey key = (TKey)Convert.ChangeType(keyString, typeof(TKey)); - nodes.Push(current); - TValue val = (TValue)DeserializeObject(typeof(TValue)); - nodes.Pop(); + try + { + nodes.Push(current); + TValue val = (TValue)DeserializeObject(typeof(TValue)); - retval.Add(key, val); + retval.Add(key, val); + } + finally + { + nodes.Pop(); + } + } + + return retval; } - - nodes.Pop(); - - return retval; + finally + { + nodes.Pop(); + } } /// <summary> /// Reads a dictionary type of strings from the XML data. @@ -1252,24 +1310,30 @@ { XmlElement element = (XmlElement)CurrentNode[name]; - nodes.Push(element); + try + { + nodes.Push(element); - Dictionary<Tkey, string> retval = new Dictionary<Tkey, string>(); + Dictionary<Tkey, string> retval = new Dictionary<Tkey, string>(); - for (int i = 0; i < element.ChildNodes.Count; i++) - { - XmlElement current = (XmlElement)CurrentNode.ChildNodes[i]; - string keyString = current.GetAttribute("key"); - Tkey key = (Tkey)Convert.ChangeType(keyString, typeof(Tkey)); + for (int i = 0; i < element.ChildNodes.Count; i++) + { + XmlElement current = (XmlElement)CurrentNode.ChildNodes[i]; + string keyString = current.GetAttribute("key"); + Tkey key = (Tkey)Convert.ChangeType(keyString, typeof(Tkey)); - string valueString = current.GetAttribute("value"); + string valueString = current.GetAttribute("value"); - retval.Add(key, valueString); + retval.Add(key, valueString); + } + + return retval; } + finally + { + nodes.Pop(); + } - nodes.Pop(); - - return retval; } /// <summary> @@ -1282,24 +1346,29 @@ { XmlElement element = (XmlElement)CurrentNode[name]; - nodes.Push(element); + try + { + nodes.Push(element); - Dictionary<Tkey, int> retval = new Dictionary<Tkey, int>(); + Dictionary<Tkey, int> retval = new Dictionary<Tkey, int>(); - for (int i = 0; i < element.ChildNodes.Count; i++) - { - XmlElement current = (XmlElement)CurrentNode.ChildNodes[i]; - string keyString = current.GetAttribute("key"); - Tkey key = (Tkey)Convert.ChangeType(keyString, typeof(Tkey)); + for (int i = 0; i < element.ChildNodes.Count; i++) + { + XmlElement current = (XmlElement)CurrentNode.ChildNodes[i]; + string keyString = current.GetAttribute("key"); + Tkey key = (Tkey)Convert.ChangeType(keyString, typeof(Tkey)); - string valueString = current.GetAttribute("value"); + string valueString = current.GetAttribute("value"); - retval.Add(key, int.Parse(valueString)); + retval.Add(key, int.Parse(valueString)); + } + + return retval; } - - nodes.Pop(); - - return retval; + finally + { + nodes.Pop(); + } } #endregion @@ -1413,14 +1482,20 @@ if (root.Name != "XleRoot") throw new XleSerializationException("Could not understand stream. Expected to find an XleRoot element, but found " + root.Name + "."); - nodes.Push(root); + try + { + nodes.Push(root); - object retval = DeserializeObject(); + object retval = DeserializeObject(); - System.Diagnostics.Debug.Assert(nodes.Count == 1); - nodes.Pop(); + System.Diagnostics.Debug.Assert(nodes.Count == 1); - return retval; + return retval; + } + finally + { + nodes.Pop(); + } } private object DeserializeObject() Modified: trunk/AgateLib-Windows.sln =================================================================== --- trunk/AgateLib-Windows.sln 2012-03-27 16:13:34 UTC (rev 1341) +++ trunk/AgateLib-Windows.sln 2012-04-04 02:31:22 UTC (rev 1342) @@ -8,6 +8,12 @@ EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests.csproj", "{DC687DB2-90A8-484D-AB99-B3D29FDD8D44}" + ProjectSection(ProjectDependencies) = postProject + {9E095F03-BA3F-4EAD-A905-2A2647CE4405} = {9E095F03-BA3F-4EAD-A905-2A2647CE4405} + {EF993B30-D9A9-4962-80BB-6826D39B3465} = {EF993B30-D9A9-4962-80BB-6826D39B3465} + {164A785D-924E-40FB-A517-D7E677F3B53A} = {164A785D-924E-40FB-A517-D7E677F3B53A} + {00C7FA95-98F4-43D9-9B63-34122B1DB003} = {00C7FA95-98F4-43D9-9B63-34122B1DB003} + EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AgateLib.WinForms", "Drivers\AgateLib.WinForms\AgateLib.WinForms.csproj", "{BEF6D67B-4C84-4D3E-8047-6DB2C8754D77}" EndProject Modified: trunk/Drivers/AgateDrawing/AgateDrawing.csproj =================================================================== --- trunk/Drivers/AgateDrawing/AgateDrawing.csproj 2012-03-27 16:13:34 UTC (rev 1341) +++ trunk/Drivers/AgateDrawing/AgateDrawing.csproj 2012-04-04 02:31:22 UTC (rev 1342) @@ -89,7 +89,7 @@ <Optimize>false</Optimize> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> - <OutputPath>bin\x86\Release\</OutputPath> + <OutputPath>..\..\Binaries\Release\</OutputPath> <DefineConstants>TRACE;</DefineConstants> <BaseAddress>285212672</BaseAddress> <Optimize>true</Optimize> Modified: trunk/Drivers/AgateFMOD/AgateFMOD.csproj =================================================================== --- trunk/Drivers/AgateFMOD/AgateFMOD.csproj 2012-03-27 16:13:34 UTC (rev 1341) +++ trunk/Drivers/AgateFMOD/AgateFMOD.csproj 2012-04-04 02:31:22 UTC (rev 1342) @@ -94,7 +94,7 @@ <PlatformTarget>x86</PlatformTarget> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> - <OutputPath>bin\x86\Release\</OutputPath> + <OutputPath>..\..\Binaries\Release\</OutputPath> <DefineConstants>TRACE;</DefineConstants> <BaseAddress>285212672</BaseAddress> <Optimize>true</Optimize> Modified: trunk/Drivers/AgateLib.WinForms/AgateLib.WinForms.csproj =================================================================== --- trunk/Drivers/AgateLib.WinForms/AgateLib.WinForms.csproj 2012-03-27 16:13:34 UTC (rev 1341) +++ trunk/Drivers/AgateLib.WinForms/AgateLib.WinForms.csproj 2012-04-04 02:31:22 UTC (rev 1342) @@ -89,7 +89,7 @@ <Optimize>false</Optimize> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> - <OutputPath>bin\x86\Release\</OutputPath> + <OutputPath>..\..\Binaries\Release\</OutputPath> <DefineConstants>TRACE;</DefineConstants> <BaseAddress>285212672</BaseAddress> <DocumentationFile>AgateLib.WinForms.xml</DocumentationFile> Modified: trunk/Drivers/AgateOTK/AgateOTK.csproj =================================================================== --- trunk/Drivers/AgateOTK/AgateOTK.csproj 2012-03-27 16:13:34 UTC (rev 1341) +++ trunk/Drivers/AgateOTK/AgateOTK.csproj 2012-04-04 02:31:22 UTC (rev 1342) @@ -94,7 +94,7 @@ <Optimize>false</Optimize> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> - <OutputPath>bin\x86\Release\</OutputPath> + <OutputPath>..\..\Binaries\Release\</OutputPath> <DefineConstants>TRACE;</DefineConstants> <BaseAddress>285212672</BaseAddress> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> Modified: trunk/Drivers/AgateSDL/AgateSDL.csproj =================================================================== --- trunk/Drivers/AgateSDL/AgateSDL.csproj 2012-03-27 16:13:34 UTC (rev 1341) +++ trunk/Drivers/AgateSDL/AgateSDL.csproj 2012-04-04 02:31:22 UTC (rev 1342) @@ -94,7 +94,7 @@ <Optimize>false</Optimize> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> - <OutputPath>bin\x86\Release\</OutputPath> + <OutputPath>..\..\Binaries\Release\</OutputPath> <DefineConstants>TRACE;</DefineConstants> <BaseAddress>285212672</BaseAddress> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> Modified: trunk/Drivers/AgateSDL/Audio/SDL_Music.cs =================================================================== --- trunk/Drivers/AgateSDL/Audio/SDL_Music.cs 2012-03-27 16:13:34 UTC (rev 1341) +++ trunk/Drivers/AgateSDL/Audio/SDL_Music.cs 2012-04-04 02:31:22 UTC (rev 1342) @@ -110,6 +110,7 @@ public override void Play() { SdlMixer.Mix_PlayMusic(music, IsLooping ? -1 : 1); + mVolume = SdlMixer.Mix_VolumeMusic(-1) / (double)SdlMixer.MIX_MAX_VOLUME; } public override void Stop() @@ -125,8 +126,13 @@ } set { - SdlMixer.Mix_VolumeMusic((int)(value * SdlMixer.MIX_MAX_VOLUME)); mVolume = value; + if (mVolume < 0) mVolume = 0; + if (mVolume > 1) mVolume = 1; + + int v = (int)(mVolume * SdlMixer.MIX_MAX_VOLUME); + + SdlMixer.Mix_VolumeMusic(v); } } } Copied: trunk/Tests/Data/largeimage.png (from rev 1338, trunk/Tests/Data/9ball.png) =================================================================== (Binary files differ) Copied: trunk/Tests/DisplayTests/LargeImage.cs (from rev 1338, trunk/Tests/DisplayTests/ScreenCapture.cs) =================================================================== --- trunk/Tests/DisplayTests/LargeImage.cs (rev 0) +++ trunk/Tests/DisplayTests/LargeImage.cs 2012-04-04 02:31:22 UTC (rev 1342) @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; + +using AgateLib; +using AgateLib.DisplayLib; +using AgateLib.Geometry; +using AgateLib.InputLib; + +namespace Tests.ScreenCaptureExample +{ + class LargeImageTest : IAgateTest + { + + #region IAgateTest Members + + public string Name { get { return "Large Image"; } } + public string Category { get { return "Display"; } } + + #endregion + + public void Main(string[] args) + { + using (AgateSetup setup = new AgateSetup()) + { + setup.Initialize(true, false, false); + if (setup.WasCanceled) return; + + DisplayWindow wind = DisplayWindow.CreateWindowed("Hello", 800, 600); + + System.Diagnostics.Stopwatch watch = new Stopwatch(); + watch.Start(); + Surface someSurface = new Surface("largeimage.png"); + watch.Stop(); + double loadTime = watch.ElapsedMilliseconds / 1000.0; + + while (wind.IsClosed == false) + { + Display.BeginFrame(); + Display.Clear(Color.White); + + someSurface.Draw(); + FontSurface.AgateSans24.DrawText(0,0, "Load took {0} seconds.", loadTime); + + Display.EndFrame(); + + Core.KeepAlive(); + System.Threading.Thread.Sleep(10); + } + } + } + } +} Modified: trunk/Tests/Tests.csproj =================================================================== --- trunk/Tests/Tests.csproj 2012-03-27 16:13:34 UTC (rev 1341) +++ trunk/Tests/Tests.csproj 2012-04-04 02:31:22 UTC (rev 1342) @@ -90,7 +90,7 @@ <Optimize>false</Optimize> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> - <OutputPath>bin\x86\Release\</OutputPath> + <OutputPath>..\Binaries\Release\</OutputPath> <DefineConstants>TRACE;</DefineConstants> <BaseAddress>285212672</BaseAddress> <Optimize>true</Optimize> @@ -141,6 +141,7 @@ <DependentUpon>frmCapabilities.cs</DependentUpon> </Compile> <Compile Include="DisplayTests\ColorTest.cs" /> + <Compile Include="DisplayTests\LargeImage.cs" /> <Compile Include="DisplayTests\DisplayWindowEvents.cs" /> <Compile Include="DisplayTests\PixelBufferMask.cs" /> <Compile Include="DisplayTests\ClipRect.cs" /> @@ -535,6 +536,9 @@ </ProjectReference> </ItemGroup> <ItemGroup> + <None Include="Data\largeimage.png"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> <Content Include="Data\fonts\MedievalSharp14.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2012-03-27 16:13:45
|
Revision: 1341 http://agate.svn.sourceforge.net/agate/?rev=1341&view=rev Author: kanato Date: 2012-03-27 16:13:34 +0000 (Tue, 27 Mar 2012) Log Message: ----------- Prevent registrar from saving null drivers in settings. Modified Paths: -------------- trunk/AgateLib/Drivers/Registrar.cs Removed Paths: ------------- trunk/AgateLib/Drivers/improve_registrar.txt Modified: trunk/AgateLib/Drivers/Registrar.cs =================================================================== --- trunk/AgateLib/Drivers/Registrar.cs 2012-03-25 21:10:50 UTC (rev 1340) +++ trunk/AgateLib/Drivers/Registrar.cs 2012-03-27 16:13:34 UTC (rev 1341) @@ -322,6 +322,7 @@ get { return mDesktop; } } + public static bool IgnoreSavedSettings { get; set; } internal static DisplayImpl CreateDisplayDriver(DisplayTypeID displayType) { if (displayDrivers.Count == 0) @@ -332,6 +333,7 @@ bool settingsSelect = displayType == DisplayTypeID.AutoSelect; settingsSelect &= Core.Settings["AgateLib"].TryGetValue("DisplayDriver", out text); + settingsSelect &= !IgnoreSavedSettings; if (settingsSelect) { @@ -362,6 +364,7 @@ bool settingsSelect = audioType == AudioTypeID.AutoSelect; settingsSelect &= Core.Settings["AgateLib"].TryGetValue("AudioDriver", out text); + settingsSelect &= !IgnoreSavedSettings; if (settingsSelect) { @@ -377,7 +380,11 @@ if (info == null) throw new AgateException(string.Format("Could not find the driver {0}.", audioType)); - Core.Settings["AgateLib"]["AudioDriver"] = info.FriendlyName; + if (info.DriverTypeName.Contains("NullSoundImpl") == false) + { + Core.Settings["AgateLib"]["AudioDriver"] = info.FriendlyName; + } + mAudioUsed = info; return (AudioImpl)CreateDriverInstance(info); @@ -392,6 +399,7 @@ bool settingsSelect = inputType == InputTypeID.AutoSelect; settingsSelect &= Core.Settings["AgateLib"].TryGetValue("InputDriver", out text); + settingsSelect &= !IgnoreSavedSettings; if (settingsSelect) { @@ -407,7 +415,11 @@ if (info == null) throw new AgateException(string.Format("Could not find the driver {0}.", inputType)); - Core.Settings["AgateLib"]["InputDriver"] = info.FriendlyName; + if (info.DriverTypeName.Contains("NullInputImpl") == false) + { + Core.Settings["AgateLib"]["InputDriver"] = info.FriendlyName; + } + mInputUsed = info; return (InputImpl)CreateDriverInstance(info); @@ -491,7 +503,6 @@ return LoadAssemblyLoadFrom(info); } - private static Assembly LoadAssemblyLoadFrom(AgateDriverInfo info) { Core.ErrorReporting.Report(ErrorLevel.Warning, Deleted: trunk/AgateLib/Drivers/improve_registrar.txt =================================================================== --- trunk/AgateLib/Drivers/improve_registrar.txt 2012-03-25 21:10:50 UTC (rev 1340) +++ trunk/AgateLib/Drivers/improve_registrar.txt 2012-03-27 16:13:34 UTC (rev 1341) @@ -1,7 +0,0 @@ -How does one load an assembly from a file using Assembly.Load? It seems like this has to be done with just the filename, without knowing the strong name for the assembly or anything. - -One doesn't oneself. :-) -Load the assemblies using Assembly.LoadFrom in a child AppDomain. Keep Assembly references in a Dictionary, keyed by the Assemblies' strong name. Subscribe to AppDomain.AssemblyResolve. This event will pass you the strong name of the type or resource that could not be found. Use it to obtain the strong name of the assembly. Fetch the Assembly reference from the Dictionary and return it, or return null. - -Now you explicitly push assemblies from the LoadFrom context into the Load context because you supply the Load context, which fails to bind a type by itself and calls the AssemblyResolve event, with the assembly directly. I'm not 100% sure, but my testing indicates that from that moment on the assembly reference is kept in cache in the Load context, meaning AssemblyResolve doesn't get called time and time again. - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2012-03-25 21:10:56
|
Revision: 1340 http://agate.svn.sourceforge.net/agate/?rev=1340&view=rev Author: kanato Date: 2012-03-25 21:10:50 +0000 (Sun, 25 Mar 2012) Log Message: ----------- Some documentation fixes. Fix to XleSerializationInfo.ReadStringImpl when an attribute value had an empty string. Modified Paths: -------------- trunk/AgateLib/Drivers/AgateDriverInfo.cs trunk/AgateLib/Geometry/Rectangle.cs trunk/AgateLib/Serialization/Xle/XleSerializationInfo.cs trunk/AgateLib/Settings/PersistantSettings.cs trunk/Drivers/AgateSDL/Audio/SDL_Audio.cs Modified: trunk/AgateLib/Drivers/AgateDriverInfo.cs =================================================================== --- trunk/AgateLib/Drivers/AgateDriverInfo.cs 2012-03-08 01:45:25 UTC (rev 1339) +++ trunk/AgateLib/Drivers/AgateDriverInfo.cs 2012-03-25 21:10:50 UTC (rev 1340) @@ -186,7 +186,7 @@ /// <returns></returns> public override string ToString() { - return "AgateDriverInfo: " + AssemblyFile; + return "AgateDriverInfo: " + DriverTypeName + " in " + AssemblyFile; } } Modified: trunk/AgateLib/Geometry/Rectangle.cs =================================================================== --- trunk/AgateLib/Geometry/Rectangle.cs 2012-03-08 01:45:25 UTC (rev 1339) +++ trunk/AgateLib/Geometry/Rectangle.cs 2012-03-25 21:10:50 UTC (rev 1340) @@ -222,11 +222,12 @@ } /// <summary> - /// Returns a rectangle contracted expanded the rectangle by the specified amount. + /// Returns a rectangle contracted or expanded by the specified amount. /// The center of the rectangle remains in the same place, /// so this subtracts amount to X and Y, and adds amount*2 from Width and Height. /// </summary> - /// <param name="amount"></param> + /// <param name="amount">The amount to expand the rectangle by. If this value is negative, + /// the rectangle is contracted.</param> public Rectangle Expand(int amount) { var retval = this; Modified: trunk/AgateLib/Serialization/Xle/XleSerializationInfo.cs =================================================================== --- trunk/AgateLib/Serialization/Xle/XleSerializationInfo.cs 2012-03-08 01:45:25 UTC (rev 1339) +++ trunk/AgateLib/Serialization/Xle/XleSerializationInfo.cs 2012-03-25 21:10:50 UTC (rev 1340) @@ -776,10 +776,10 @@ private string ReadStringImpl(string name, bool haveDefault, string defaultValue) { - string attribute = CurrentNode.GetAttribute(name); + var attrib = CurrentNode.Attributes[name]; - if (string.IsNullOrEmpty(attribute) == false) - return attribute; + if (attrib != null) + return attrib.Value; XmlElement element = (XmlElement)CurrentNode[name]; Modified: trunk/AgateLib/Settings/PersistantSettings.cs =================================================================== --- trunk/AgateLib/Settings/PersistantSettings.cs 2012-03-08 01:45:25 UTC (rev 1339) +++ trunk/AgateLib/Settings/PersistantSettings.cs 2012-03-25 21:10:50 UTC (rev 1340) @@ -154,6 +154,7 @@ private void LoadSettings() { XmlDocument doc = new XmlDocument(); + try { doc.Load(SettingsFilename); @@ -173,6 +174,7 @@ return; } + XmlElement root = doc.ChildNodes[0] as XmlElement; if (root.Name != "Settings") Modified: trunk/Drivers/AgateSDL/Audio/SDL_Audio.cs =================================================================== --- trunk/Drivers/AgateSDL/Audio/SDL_Audio.cs 2012-03-08 01:45:25 UTC (rev 1339) +++ trunk/Drivers/AgateSDL/Audio/SDL_Audio.cs 2012-03-25 21:10:50 UTC (rev 1340) @@ -57,7 +57,6 @@ System.Diagnostics.Trace.WriteLine(string.Format( "Failed to delete the temp file {0}.", file)); } - } tempfiles.Clear(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2012-03-08 01:45:31
|
Revision: 1339 http://agate.svn.sourceforge.net/agate/?rev=1339&view=rev Author: kanato Date: 2012-03-08 01:45:25 +0000 (Thu, 08 Mar 2012) Log Message: ----------- Add missing NumericEncoding.cs file. Modified Paths: -------------- trunk/AgateLib/Serialization/Xle/NumericEncoding.cs Modified: trunk/AgateLib/Serialization/Xle/NumericEncoding.cs =================================================================== --- trunk/AgateLib/Serialization/Xle/NumericEncoding.cs 2012-03-07 19:17:43 UTC (rev 1338) +++ trunk/AgateLib/Serialization/Xle/NumericEncoding.cs 2012-03-08 01:45:25 UTC (rev 1339) @@ -1,4 +1,22 @@ -using System; +// The contents of this file are subject to the Mozilla Public License +// Version 1.1 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://www.mozilla.org/MPL/ +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations +// under the License. +// +// The Original Code is AgateLib. +// +// The Initial Developer of the Original Code is Erik Ylvisaker. +// Portions created by Erik Ylvisaker are Copyright (C) 2006-2011. +// All Rights Reserved. +// +// Contributor(s): Erik Ylvisaker +// +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -7,7 +25,13 @@ { public enum NumericEncoding { + /// <summary> + /// Encode as a Base64 stream. + /// </summary> Base64, + /// <summary> + /// Encode as comma separated values. + /// </summary> Csv, } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2012-03-07 19:17:52
|
Revision: 1338 http://agate.svn.sourceforge.net/agate/?rev=1338&view=rev Author: kanato Date: 2012-03-07 19:17:43 +0000 (Wed, 07 Mar 2012) Log Message: ----------- Add temporary NumericEncoding.cs file. Added Paths: ----------- trunk/AgateLib/Serialization/Xle/NumericEncoding.cs Added: trunk/AgateLib/Serialization/Xle/NumericEncoding.cs =================================================================== --- trunk/AgateLib/Serialization/Xle/NumericEncoding.cs (rev 0) +++ trunk/AgateLib/Serialization/Xle/NumericEncoding.cs 2012-03-07 19:17:43 UTC (rev 1338) @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace AgateLib.Serialization.Xle +{ + public enum NumericEncoding + { + Base64, + Csv, + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |