From 384222bb96135dcdafc82106c5ac285e44bd6c9d Mon Sep 17 00:00:00 2001 From: GMatrixGames Date: Thu, 3 Jun 2021 16:03:41 -0400 Subject: [PATCH] Initial export type gathering for State of Decay 2 icons --- FModel/Creator/Bases/SOD2/BaseDecayIcon.cs | 32 ++++++++++++++++++ FModel/Creator/CreatorPackage.cs | 37 ++++++++++++++++++--- FModel/FModel.csproj | 2 ++ FModel/Resources/stateofdecay2.png | Bin 0 -> 1337 bytes FModel/ViewModels/CUE4ParseViewModel.cs | 1 + FModel/Views/Resources/Resources.xaml | 3 ++ 6 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 FModel/Creator/Bases/SOD2/BaseDecayIcon.cs create mode 100644 FModel/Resources/stateofdecay2.png diff --git a/FModel/Creator/Bases/SOD2/BaseDecayIcon.cs b/FModel/Creator/Bases/SOD2/BaseDecayIcon.cs new file mode 100644 index 00000000..bc932be8 --- /dev/null +++ b/FModel/Creator/Bases/SOD2/BaseDecayIcon.cs @@ -0,0 +1,32 @@ +using CUE4Parse.UE4.Assets.Exports; +using FModel.Creator.Bases.FN; +using SkiaSharp; + +namespace FModel.Creator.Bases.SOD2 +{ + public class BaseDecayIcon : BaseIcon + { + public BaseDecayIcon(UObject uObject, EIconStyle style) : base(uObject, style) + { + } + + // TODO + // + // ExtraLargeBackpackBase - for extra large + // SmallBackpackBase - for small + // ExtraSmallBackpackBase - for extra small + // MediumBackpackBase - for medium + // LargeBackpackBase - for large + + public override SKImage Draw() + { + using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul); + using var c = new SKCanvas(ret); + + var bit = SKBitmap.Decode(@"C:\Users\GMatrixGames\Downloads\443546551013343242.png"); + c.DrawBitmap(bit, 0, 0); + + return SKImage.FromBitmap(ret); + } + } +} \ No newline at end of file diff --git a/FModel/Creator/CreatorPackage.cs b/FModel/Creator/CreatorPackage.cs index 72d852ea..08bba5a4 100644 --- a/FModel/Creator/CreatorPackage.cs +++ b/FModel/Creator/CreatorPackage.cs @@ -5,6 +5,7 @@ using FModel.Creator.Bases; using FModel.Creator.Bases.BB; using FModel.Creator.Bases.FN; using FModel.Creator.Bases.SB; +using FModel.Creator.Bases.SOD2; namespace FModel.Creator { @@ -225,10 +226,38 @@ namespace FModel.Creator case "GLeagueDivision": creator = new BaseDivision(_object, EIconStyle.Default); return true; - // TODO: Draw this properly - // case "GGameModeInfo": - // creator = new BaseGameModeInfo(_object, EIconStyle.Default); - // return true; + // State of Decay 2 + case "CureItem": + case "AmmoItem": + case "Pro_Brake_C": + case "BackpackItem": + case "MagicAmmoItem": + case "ConsumableItem": + case "MeleeWeaponItem": + case "CloseCombatItem": + case "FacilityModItem": + case "RangedWeaponItem": + case "MiscellaneousItem": + case "RepairVehicleItem": + case "ResourceItemBase_C": + case "FuelResourceBase_C": + case "MedsResourceBase_C": + case "PartsResourceBase_C": + case "RangedWeaponModItem": + case "VehicleDeliveryItem": + case "ConsumableBase_BP_C": + case "SmallBackpackBase_C": + case "LargeBackpackBase_C": + case "MediumBackpackBase_C": + case "ConsumableMedsBase_BP_C": + case "MaterialsResourceBase_C": + case "ExtraLargeBackpackBase_C": + case "ExtraSmallBackpackBase_C": + case "ConsumableStimsBase_BP_C": + case "Consumable_TimedStatBuff_Base_BP_C": + case "Consumable_SuspendFatigue_Base_BP_C": + creator = new BaseDecayIcon(_object, EIconStyle.Default); + return true; default: creator = null; return false; diff --git a/FModel/FModel.csproj b/FModel/FModel.csproj index d040aea5..fa1bbfe5 100644 --- a/FModel/FModel.csproj +++ b/FModel/FModel.csproj @@ -71,6 +71,7 @@ + @@ -162,6 +163,7 @@ + diff --git a/FModel/Resources/stateofdecay2.png b/FModel/Resources/stateofdecay2.png new file mode 100644 index 0000000000000000000000000000000000000000..2b505d96876e16e37ee9af1f5989a712671dac0c GIT binary patch literal 1337 zcmV-91;+Y`P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1kOoBK~zXf-Bnvm zoJABqGylKKE)Z_AK-)Bpq8pZ`wm>hK^rAMTmPBJrB$`xeywZ*Jt%)xNnviHxC1O~p zN^MdeNbOT&Q%Xx~Nwk3i#U^EU5o@)J+;2-+*=7HK#&7mQYQuxCdXmY^`Of*jbD252 z^q&{j?{>9gFW`(dYn*vk46#r+vfs5e4 zNpzb5#2$igIvna5V}BT?*}n7Sa3oH#w)|XCLDD(8!<1A9H4Up6OB0fEG)8Z7owJt# zEFi!LR#-~Xm9rt_Y0i0P|B<3}*w++UOC+45dksO|AgsjN2aZmdvN@xlz;TufA-+V$ zr$Oq1g9FB>`WTKT^u4I$Ev2s|zm63$_|&6vyV4m$f<&dj2mxAWEk+nTL^s~u!mJi! z2nHtr6hS(iClPo6=f9@yyec;&?3~m4xTjGm<<)H--`vfb;uMX`Kq9fE7$6^o-}5C+ z-h1F6imcC(8e@k+Is)TW1Q|z^d{ng`W_#YU*vvTHf!+`m@)PW5dp>-e*>rjjewm5` z-z;DgSSq>m(tPl{!earRJKjyE6oXJ^@o@#R&Wjltbuvk>p-n-kbs&j?un-w~`dGCx>pd6F zC(1NjrNDa=_cJC1InDg}P;kb=95P)!64l~)D`y9`HhKGccMx5yd?dhkuM$1sa2-Mm z&On7fP2pmjNRkcBJ&g8jhWp?al906praw4gaa9BNV9*Zo zS`16i5htctyI@G!rAJpto2L$ZJOGD}v8$hwr0B%t6=30nt}gX+=$EkHxI5zyj_a;+ zkT=72?z}efBOCmncpoO}1b{7ALvU_&%*~vFmK8{nJ%B@K@Sg1+?+lkh-cR(lleqaT&Q+7yxxQ3A?G3Bd@+t6*2&%?E z_Us@QEWBJ=0e%~oTb+?@--DV?2`R6`$p-u-MXsEAiNkl#qOo#-U;MD?mnC5B2;vk% zmLtVeB*jKx>#&jmRO*Y+5P*G#Htxs0JdG+3!J!c6>XKaFNWvBObew2glQ$4__^uy2 zhV(dV(>1mWw%zzim^LNL#B=S&kK#2DV>Z|%B3LnCZrBe*W|#YL=_$Yre0wx%h%1US zDX~62Dk{}mZdWC&@0cdNj({Hln?hAh2viHg8f4!nrML+SHL`a=)MnbKW@m$MwNfRk zll-u#s2Vpr5NQd|?`^1Gg~@EiOl(FgzsFBbv1GD2(CqKVUA%zysG;nOOoaYHu4K&$ zk}}|S?SjW;JcK8=xA>^S~^5~9BW@5m68-TG{s00000NkvXXu0mjf-1};z literal 0 HcmV?d00001 diff --git a/FModel/ViewModels/CUE4ParseViewModel.cs b/FModel/ViewModels/CUE4ParseViewModel.cs index 14da3bd8..7526f6a8 100644 --- a/FModel/ViewModels/CUE4ParseViewModel.cs +++ b/FModel/ViewModels/CUE4ParseViewModel.cs @@ -391,6 +391,7 @@ namespace FModel.ViewModels { case "ini": case "txt": + case "log": case "po": case "bat": case "xml": diff --git a/FModel/Views/Resources/Resources.xaml b/FModel/Views/Resources/Resources.xaml index c8287be4..317d8dd9 100644 --- a/FModel/Views/Resources/Resources.xaml +++ b/FModel/Views/Resources/Resources.xaml @@ -384,6 +384,9 @@ + + +