From 2aab018282980bd41a58ad97eb90cc77d4d5a51b Mon Sep 17 00:00:00 2001 From: Sebastian Lawe Date: Mon, 20 Feb 2023 12:14:45 -0600 Subject: [PATCH] Add texture path generation for hair. --- .../DesignTimeBuild/.dtbcache.v2 | Bin 113004 -> 113004 bytes .vs/FFXIVLooseTextureCompiler/v17/.suo | Bin 333312 -> 340480 bytes .../FFXIVLooseTextureCompiler.csproj | 6 +-- .../MainForm.Designer.cs | 27 ++++++------ FFXIVLooseTextureCompiler/MainForm.cs | 40 ++++++++++++++---- ...seTextureCompiler.csproj.nuget.dgspec.json | 2 +- .../obj/project.assets.json | 2 +- .../obj/project.nuget.cache | 2 +- 8 files changed, 51 insertions(+), 28 deletions(-) diff --git a/.vs/FFXIVLooseTextureCompiler/DesignTimeBuild/.dtbcache.v2 b/.vs/FFXIVLooseTextureCompiler/DesignTimeBuild/.dtbcache.v2 index 3a7b6713b45975e4ce43e8a57100d365f82ede33..0d7ac54628c9c39865606b8ba9a7e0995c242196 100644 GIT binary patch delta 86 zcmV~$u@QhE3;@8>!X4ZK2qB?!1xE-uvWFYU9<<(BIuI2T_&?@0=60WlfKe66B_MF| o$wvhw0#s8*vh08`u!{n@desU(R7(OZk*tK)_BFYyKYjV$AI=dQ>i_@% delta 86 zcmV~$F%f_;3;@7`p&oG2q-oM@SU^H(S|2z7AFSLlB8UkE{J&p#zpyVeL+nc0kW|HZ oMbBs@wFs#|8j~k zct<%dmJ6AiU0se@yjz?Z4SSl?kU45*uBl}cxLjpp<4=Lh9P`aS@Nk$JwQ1IB4(sEb zv-dfB@3X&s&VAZWn|9h(=g1%d{uUV!V8fw;xaRZuq?95`5O*W)L1ZHmTguJ?sB9P+ z8dBFD*EX%-6ZjdcB*pCA@Ce$}rZ;P0hOwmkp5I3R$9 zsWCah{q!=EvenDbu}PbiW2p-XYDhPfM#eKbO5LbjrovMo@rDf(FD zMzLW?Kj4mK7AMwgfj4v{N$GX-Pe+~!0~Nj^Ua_$>>%{)KVBPblu=c2IrahmDIOfzNLr_^J-i`ku$)047hofetZGuH*NHI0$=+5~n;jg4u-ty>VU z^b13VGv565)Pxk{CN|ej~ZCoq+z1Y8lU{@28EK+a~Cm%>b`mp2m6?4ov zt6eZ!D*88B8-4Q?SZH!wgT01W>7UED$yr}EDDXubyaZ;N`vmaW50KgXjmJm=FMgXw z@}gbDYHoGS1bqWxgE!dfHQNmnyb&4g`M#i^J|;a|=RvRxOoCMu)VgQPykju>>L08O zG!A9)h@prC#4v=@Tr*=SxSjbH`EtwW4UP2Pv&UFvbq&m9-Od_#pH=481TICjz0JHb zcOtdOnvySS-*Q&*+ImK;3vR|RvmQy52aY$LE4`r4>#cmGaSY$JN3omQS}n}&NHJ3? zJ_X$%teS_j@T$FuSuFOjzUN_PjsXKw-%CgDKj^G@htRhIH*YVxfX@3{3uJ6pJHI%t`e5pVaL5z zc3;;T=IoxvJeSf;Z}$Zf;lTGi7co9yH2yE-o%@uL8_%gle0L@()V~8_Z)4=j2r=#g zd=7AymHB?pT;FGLZ4tEdSM9L7XZHG9I0olY`BZBGOaZgh_f<6i_*?jd`)rWRofkn7 zX#?TJAfpM0eunU2gJ3gHxCid$i|!-``IZQHnjgIzej!SAs0fzc(!ul13-DhZ!%KL% z4NOSlM;?F-UJ9^Dyh9-vL~}VTrA)i*_&=XBL=35fl}c2t{22ALj(1+g@p4{v66SMn zEP0%7SpjK$D1P(!XBPNKEZ+xBAw~jVZX)2Wo~%lxc>V);7Gy#g?agpQ0XTT41{3*b z3hCq{dfG8Ga;NdY`hL|q{K0ff088o@|G>lsNfTc)~1_>Mxc z%J)UWRBH-XI1G(J!BZ~kpj!{DSi`k@# z>kkkIcVv?irr(<=FF-mk9!)ZNbr;RPK8+Qck2r~NjwKrK1Lu`U9(g};32zQ@0w)J( zCTl*DF8*>qSqZ$uNfIc&nw;j69E&W3y8`9}%)>uc*Jb0SxujX0eguC5@`3_#Uqb;& z6;I}oO<)v~JYJSevU%xQh~!tkglzGrGoVpp1|>At^%U<+B!!~kYuHKUX)S@g<$Y4g z&+Q;~QMZY>Lbi3_-8Hrn!a;$x{P7`Zq3J5*QDX-o+d6zeSk%XMR_e+Zvvv_3c&81< zi@0y#O$b>{^2a#vZ>izI{ZY%IW#a{m;=Bf91=bu5YMoDkh|VzLqYOIj4VAm>{7^EC79(uLRE=Y3GviAv5U-tN@VYzTkK&@8oVOUK zP*FaNjN&unV51~1jF*nWLi;k6Ly1)`>HdZSNUl2>ziFIyT zO}S@-a#>tflwiv9KBn!Wy@6(fQHzUgyJ)P4-9%60Pl!EqATNqh!bOr@ISG9K6J(m0 z)<}1RanE_uAR1zorz4CVieea;R?l?e6wXbG7plowD;^92m;UIDTw0sTH-ml?uEUE67&vEGLoT&G(cdocpLDjJK5;s&QBe zH%?=u$6lvRqNzifO;HrgZH)w{Un{d!;}Txb=1cx5<%wI!lDC$qYr`7yiI+PIh{l>$ zh4P65)G9c|_N{tYgj>{15Z(bQ-pGd1*y?A%6YTM0!A9L#jvTUQK YSj4&uN;U8c&;4Zng#0~D44X>+0dlf&?*IS* delta 4772 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 PJ`UBkl5s0VQ`o-&d$8Bj diff --git a/FFXIVLooseTextureCompiler/FFXIVLooseTextureCompiler.csproj b/FFXIVLooseTextureCompiler/FFXIVLooseTextureCompiler.csproj index aeb70cc..887cb8e 100644 --- a/FFXIVLooseTextureCompiler/FFXIVLooseTextureCompiler.csproj +++ b/FFXIVLooseTextureCompiler/FFXIVLooseTextureCompiler.csproj @@ -7,9 +7,9 @@ true enable true - 1.0.3.4 - 1.0.3.4 - 1.0.3.4 + 1.0.3.5 + 1.0.3.5 + 1.0.3.5 Always FFXIV Loose Texture Compiler Lawener Industries diff --git a/FFXIVLooseTextureCompiler/MainForm.Designer.cs b/FFXIVLooseTextureCompiler/MainForm.Designer.cs index f7d9abe..72a447d 100644 --- a/FFXIVLooseTextureCompiler/MainForm.Designer.cs +++ b/FFXIVLooseTextureCompiler/MainForm.Designer.cs @@ -90,7 +90,7 @@ private void InitializeComponent() { this.generateMultiCheckBox = new System.Windows.Forms.CheckBox(); this.mask = new FFXIVVoicePackCreator.FilePicker(); this.discordButton = new System.Windows.Forms.Button(); - this.facePaint = new System.Windows.Forms.ComboBox(); + this.faceExtra = new System.Windows.Forms.ComboBox(); this.exportPanel = new System.Windows.Forms.Panel(); this.label7 = new System.Windows.Forms.Label(); this.glow = new FFXIVVoicePackCreator.FilePicker(); @@ -249,7 +249,7 @@ private void InitializeComponent() { // asymCheckbox // this.asymCheckbox.AutoSize = true; - this.asymCheckbox.Location = new System.Drawing.Point(332, 144); + this.asymCheckbox.Location = new System.Drawing.Point(336, 144); this.asymCheckbox.Name = "asymCheckbox"; this.asymCheckbox.Size = new System.Drawing.Size(83, 19); this.asymCheckbox.TabIndex = 23; @@ -264,7 +264,8 @@ private void InitializeComponent() { "Eyebrows", "Eyes", "Ears", - "Face Paint"}); + "Face Paint", + "Hair"}); this.facePart.Location = new System.Drawing.Point(200, 140); this.facePart.Name = "facePart"; this.facePart.Size = new System.Drawing.Size(84, 23); @@ -783,15 +784,15 @@ private void InitializeComponent() { this.discordButton.UseVisualStyleBackColor = false; this.discordButton.Click += new System.EventHandler(this.discordButton_Click); // - // facePaint + // faceExtra // - this.facePaint.Enabled = false; - this.facePaint.FormattingEnabled = true; - this.facePaint.Location = new System.Drawing.Point(288, 140); - this.facePaint.Name = "facePaint"; - this.facePaint.Size = new System.Drawing.Size(36, 23); - this.facePaint.TabIndex = 43; - this.facePaint.Text = "99"; + this.faceExtra.Enabled = false; + this.faceExtra.FormattingEnabled = true; + this.faceExtra.Location = new System.Drawing.Point(288, 140); + this.faceExtra.Name = "faceExtra"; + this.faceExtra.Size = new System.Drawing.Size(48, 23); + this.faceExtra.TabIndex = 43; + this.faceExtra.Text = "999"; // // exportPanel // @@ -837,7 +838,7 @@ private void InitializeComponent() { this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.ClientSize = new System.Drawing.Size(537, 636); this.Controls.Add(this.glow); - this.Controls.Add(this.facePaint); + this.Controls.Add(this.faceExtra); this.Controls.Add(this.discordButton); this.Controls.Add(this.mask); this.Controls.Add(this.generateMultiCheckBox); @@ -962,7 +963,7 @@ private void InitializeComponent() { private ToolStripMenuItem diffuseMergerToolStripMenuItem; private FFXIVVoicePackCreator.FilePicker mask; private Button discordButton; - private ComboBox facePaint; + private ComboBox faceExtra; private ToolStripMenuItem helpToolStripMenuItem; private ToolStripMenuItem howToGetTexturesToolStripMenuItem; private System.Windows.Forms.Timer autoGenerateTImer; diff --git a/FFXIVLooseTextureCompiler/MainForm.cs b/FFXIVLooseTextureCompiler/MainForm.cs index 53093a8..285ef68 100644 --- a/FFXIVLooseTextureCompiler/MainForm.cs +++ b/FFXIVLooseTextureCompiler/MainForm.cs @@ -14,6 +14,7 @@ using System.Drawing.Imaging; using System.IO; using System.Linq; +using System.Windows.Interop; using TypingConnector; namespace FFXIVLooseTextureCompiler { @@ -74,8 +75,8 @@ private void Form1_Load(object sender, EventArgs e) { glow.FilePath.Enabled = false; raceCodeBody = new RaceCode(); raceCodeFace = new RaceCode(); - for (int i = 0; i < 99; i++) { - facePaint.Items.Add((i + 1) + ""); + for (int i = 0; i < 300; i++) { + faceExtra.Items.Add((i + 1) + ""); } uniqueAuRa.Enabled = false; raceCodeBody.Masculine = new string[] { @@ -98,7 +99,7 @@ private void Form1_Load(object sender, EventArgs e) { bodyIdentifiers.Add(new RacialBodyIdentifiers("SCALE+", new List() { "", "", "", "", "", "", "raen", "xaela", "", "" })); bodyIdentifiers.Add(new RacialBodyIdentifiers("TBSE/HRBODY", new List() { "", "", "", "", "", "", "", "", "", "" })); bodyIdentifiers.Add(new RacialBodyIdentifiers("TAIL", new List() { "1", "2", "3", "4", "5", "6", "7", "8", "", "" })); - baseBodyList.SelectedIndex = genderListBody.SelectedIndex = raceList.SelectedIndex = tailList.SelectedIndex = subRaceList.SelectedIndex = faceType.SelectedIndex = facePart.SelectedIndex = facePaint.SelectedIndex = generationType.SelectedIndex = 0; + baseBodyList.SelectedIndex = genderListBody.SelectedIndex = raceList.SelectedIndex = tailList.SelectedIndex = subRaceList.SelectedIndex = faceType.SelectedIndex = facePart.SelectedIndex = faceExtra.SelectedIndex = generationType.SelectedIndex = 0; CleanDirectory(); CheckForCommandArguments(); } @@ -670,6 +671,22 @@ public string GetFaceTexturePath(int material) { return "chara/common/texture/catchlight_1.tex"; } } + public string GetHairTexturePath(int material) { + string hairValue = NumberPadder(faceExtra.SelectedIndex + 1); + string genderCode = (genderListBody.SelectedIndex == 0 ? raceCodeBody.Masculine[raceList.SelectedIndex] : raceCodeBody.Feminine[raceList.SelectedIndex]); + string subRace = (genderListBody.SelectedIndex == 0 ? raceCodeFace.Masculine[subRaceList.SelectedIndex] : raceCodeFace.Feminine[subRaceList.SelectedIndex]); + return "chara/human/c" + genderCode + "/obj/hair/h" + hairValue + "/texture/--c" + genderCode + "h" + hairValue + "_hir" + GetTextureType(material, true) + ".tex"; + } + + public string NumberPadder(int value) { + int numbersToPad = 4 - value.ToString().Length; + string result = ""; + for (int i = 0; i < numbersToPad; i++) { + result += "0"; + } + result += value; + return result; + } public string GetTextureType(int material, bool isface = false) { switch (material) { @@ -859,7 +876,7 @@ private void addBodyEditButton_Click(object sender, EventArgs e) { private void addFaceButton_Click(object sender, EventArgs e) { hasDoneReload = false; TextureSet materialSet = new TextureSet(); - materialSet.MaterialSetName = facePart.Text + (facePart.SelectedIndex == 4 ? " " + (facePaint.SelectedIndex + 1) : "") + ", " + (facePart.SelectedIndex != 4 ? genderListBody.Text : "Unisex") + ", " + (facePart.SelectedIndex != 4 ? subRaceList.Text : "Multi Race") + ", " + (facePart.SelectedIndex != 4 ? faceType.Text : "Multi Face"); + materialSet.MaterialSetName = facePart.Text + (facePart.SelectedIndex == 4 ? " " + (faceExtra.SelectedIndex + 1) : "") + ", " + (facePart.SelectedIndex != 4 ? genderListBody.Text : "Unisex") + ", " + (facePart.SelectedIndex != 4 ? subRaceList.Text : "Multi Race") + ", " + (facePart.SelectedIndex != 4 ? faceType.Text : "Multi Face"); switch (facePart.SelectedIndex) { default: materialSet.InternalDiffusePath = GetFaceTexturePath(0); @@ -872,7 +889,12 @@ private void addFaceButton_Click(object sender, EventArgs e) { materialSet.InternalMultiPath = GetFaceTexturePath(3); break; case 4: - materialSet.InternalDiffusePath = "chara/common/texture/decal_face/_decal_" + (facePaint.SelectedIndex + 1) + ".tex"; + materialSet.InternalDiffusePath = "chara/common/texture/decal_face/_decal_" + (faceExtra.SelectedIndex + 1) + ".tex"; + break; + case 5: + materialSet.MaterialSetName = facePart.Text + " " + (faceExtra.SelectedIndex + 1) + ", " + genderListBody.Text + ", " + subRaceList.Text; + materialSet.InternalNormalPath = GetHairTexturePath(1); + materialSet.InternalMultiPath = GetHairTexturePath(2); break; } @@ -902,7 +924,7 @@ private void materialList_SelectedIndexChanged(object sender, EventArgs e) { normal.Enabled = !string.IsNullOrEmpty(materialSet.InternalNormalPath); multi.Enabled = !string.IsNullOrEmpty(materialSet.InternalMultiPath); mask.Enabled = bakeNormals.Checked; - glow.Enabled = !materialSet.MaterialSetName.ToLower().Contains("face paint"); + glow.Enabled = !materialSet.MaterialSetName.ToLower().Contains("face paint") && !materialSet.MaterialSetName.ToLower().Contains("hair"); if (materialSet.MaterialSetName.ToLower().Contains("eyes")) { diffuse.LabelName.Text = "normal"; @@ -1416,12 +1438,12 @@ private void discordButton_Click(object sender, EventArgs e) { } private void facePart_SelectedIndexChanged(object sender, EventArgs e) { - if (facePart.SelectedIndex == 4) { + if (facePart.SelectedIndex == 4 || facePart.SelectedIndex == 5) { asymCheckbox.Enabled = faceType.Enabled = subRaceList.Enabled = false; - facePaint.Enabled = true; + faceExtra.Enabled = true; } else { asymCheckbox.Enabled = faceType.Enabled = subRaceList.Enabled = true; - facePaint.Enabled = false; + faceExtra.Enabled = false; } } diff --git a/FFXIVLooseTextureCompiler/obj/FFXIVLooseTextureCompiler.csproj.nuget.dgspec.json b/FFXIVLooseTextureCompiler/obj/FFXIVLooseTextureCompiler.csproj.nuget.dgspec.json index 37ee4bf..7423ba8 100644 --- a/FFXIVLooseTextureCompiler/obj/FFXIVLooseTextureCompiler.csproj.nuget.dgspec.json +++ b/FFXIVLooseTextureCompiler/obj/FFXIVLooseTextureCompiler.csproj.nuget.dgspec.json @@ -5,7 +5,7 @@ }, "projects": { "C:\\Users\\stel9\\source\\repos\\FFXIVLooseTextureCompiler\\FFXIVLooseTextureCompiler\\FFXIVLooseTextureCompiler.csproj": { - "version": "1.0.3.4", + "version": "1.0.3.5", "restore": { "projectUniqueName": "C:\\Users\\stel9\\source\\repos\\FFXIVLooseTextureCompiler\\FFXIVLooseTextureCompiler\\FFXIVLooseTextureCompiler.csproj", "projectName": "FFXIVLooseTextureCompiler", diff --git a/FFXIVLooseTextureCompiler/obj/project.assets.json b/FFXIVLooseTextureCompiler/obj/project.assets.json index d086d76..a078c50 100644 --- a/FFXIVLooseTextureCompiler/obj/project.assets.json +++ b/FFXIVLooseTextureCompiler/obj/project.assets.json @@ -568,7 +568,7 @@ "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {} }, "project": { - "version": "1.0.3.4", + "version": "1.0.3.5", "restore": { "projectUniqueName": "C:\\Users\\stel9\\source\\repos\\FFXIVLooseTextureCompiler\\FFXIVLooseTextureCompiler\\FFXIVLooseTextureCompiler.csproj", "projectName": "FFXIVLooseTextureCompiler", diff --git a/FFXIVLooseTextureCompiler/obj/project.nuget.cache b/FFXIVLooseTextureCompiler/obj/project.nuget.cache index aa3b909..41f28e2 100644 --- a/FFXIVLooseTextureCompiler/obj/project.nuget.cache +++ b/FFXIVLooseTextureCompiler/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "nd7nNC7Umu45iRqLbfyRpNgUlgxiqrJsyGE6L33UGswS3r2nEIyCXZlwOe7nu29jVBUzpWi9zSwLumNGkn85yw==", + "dgSpecHash": "ZjDwbYFM8IYidfglrBvTGBpAVaeNFH83GwWM0YpO4lsycqDqHLQeNsPkiQRxEzA69AwEJYvPGycgaBDiNx+1vQ==", "success": true, "projectFilePath": "C:\\Users\\stel9\\source\\repos\\FFXIVLooseTextureCompiler\\FFXIVLooseTextureCompiler\\FFXIVLooseTextureCompiler.csproj", "expectedPackageFiles": [