mirror of
https://github.com/MathiasLui/CSGO-Projects.git
synced 2025-05-06 13:51:18 +00:00
(draft) Add Pfim image library and non-tested code
* We want to be able to load extended DX10 headers and this library might be able to do it, but I can't test it on this machine
This commit is contained in:
parent
e8a83cf582
commit
962cfac30a
4 changed files with 29 additions and 2 deletions
|
@ -3,10 +3,12 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Version 17
|
# Visual Studio Version 17
|
||||||
VisualStudioVersion = 17.1.32228.430
|
VisualStudioVersion = 17.1.32228.430
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DamageCalculator", "DamageCalculator\DamageCalculator.csproj", "{7A7AE40F-8677-44E3-873A-4AB7C9FCFEB4}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DamageCalculator", "DamageCalculator\DamageCalculator.csproj", "{7A7AE40F-8677-44E3-873A-4AB7C9FCFEB4}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SteamShared", "..\SteamShared\SteamShared\SteamShared\SteamShared.csproj", "{3632D445-DC7D-43FC-AC66-8503F50FCA2A}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SteamShared", "..\SteamShared\SteamShared\SteamShared\SteamShared.csproj", "{3632D445-DC7D-43FC-AC66-8503F50FCA2A}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Pfim", "..\SteamShared\Pfim\src\Pfim\Pfim.csproj", "{0EA4ECBB-6036-4936-8ABC-3F8AC154AB93}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
@ -21,6 +23,10 @@ Global
|
||||||
{3632D445-DC7D-43FC-AC66-8503F50FCA2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{3632D445-DC7D-43FC-AC66-8503F50FCA2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{3632D445-DC7D-43FC-AC66-8503F50FCA2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{3632D445-DC7D-43FC-AC66-8503F50FCA2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{3632D445-DC7D-43FC-AC66-8503F50FCA2A}.Release|Any CPU.Build.0 = Release|Any CPU
|
{3632D445-DC7D-43FC-AC66-8503F50FCA2A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{0EA4ECBB-6036-4936-8ABC-3F8AC154AB93}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{0EA4ECBB-6036-4936-8ABC-3F8AC154AB93}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{0EA4ECBB-6036-4936-8ABC-3F8AC154AB93}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{0EA4ECBB-6036-4936-8ABC-3F8AC154AB93}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
1
SteamShared/Pfim
Submodule
1
SteamShared/Pfim
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit a69286bfcfea4abb6b03b2c8685b211cab427136
|
|
@ -205,7 +205,23 @@ namespace SteamShared
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// Read actual radar
|
// Read actual radar
|
||||||
image = new DDSImage(System.IO.File.ReadAllBytes(map.MapImagePath!));
|
//image = new DDSImage(System.IO.File.ReadAllBytes(map.MapImagePath!));
|
||||||
|
|
||||||
|
using (var pfimImage = Pfim.Pfim.FromFile(map.MapImagePath))
|
||||||
|
{
|
||||||
|
// TODO: Do we need to support more pixel formats?
|
||||||
|
System.Drawing.Imaging.PixelFormat format = System.Drawing.Imaging.PixelFormat.Format24bppRgb;
|
||||||
|
|
||||||
|
if(pfimImage.Format == Pfim.ImageFormat.Rgba32)
|
||||||
|
{
|
||||||
|
format = System.Drawing.Imaging.PixelFormat.Format32bppArgb;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Maybe pin it so GC doesn't collect it, for now just ignore it
|
||||||
|
var data = System.Runtime.InteropServices.Marshal.UnsafeAddrOfPinnedArrayElement(pfimImage.Data, 0);
|
||||||
|
image = new System.Drawing.Bitmap(pfimImage.Width, pfimImage.Height, pfimImage.Stride, format, data);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
@ -217,6 +233,7 @@ namespace SteamShared
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Some workaround I found online for some thread error I forgot
|
// Some workaround I found online for some thread error I forgot
|
||||||
|
// Future self: We probably want to execute it on the thread that owns the image
|
||||||
System.Windows.Application.Current.Dispatcher.Invoke((Action)delegate
|
System.Windows.Application.Current.Dispatcher.Invoke((Action)delegate
|
||||||
{
|
{
|
||||||
map.MapImage = Globals.BitmapToImageSource(image.BitmapImage);
|
map.MapImage = Globals.BitmapToImageSource(image.BitmapImage);
|
||||||
|
|
|
@ -13,6 +13,9 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="System.Drawing.Common" Version="6.0.0" />
|
<PackageReference Include="System.Drawing.Common" Version="6.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\Pfim\src\Pfim\Pfim.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Update="SourceConfig\test_source.cfg">
|
<None Update="SourceConfig\test_source.cfg">
|
||||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
||||||
|
|
Loading…
Add table
Reference in a new issue