diff --git a/PCK-Studio/Forms/Additional-Popups/AddSkinPrompt.cs b/PCK-Studio/Forms/Additional-Popups/AddSkinPrompt.cs index 438c6f93..84cb7d7c 100644 --- a/PCK-Studio/Forms/Additional-Popups/AddSkinPrompt.cs +++ b/PCK-Studio/Forms/Additional-Popups/AddSkinPrompt.cs @@ -32,7 +32,7 @@ namespace PckStudio.Forms.Additional_Popups { InitializeComponent(); _xmlVersion = xmlVersion; - newSkin = new Skin("", new SkinANIM(SkinAnimMask.RESOLUTION_64x64), Resources.classic_template, Enumerable.Empty(), Enumerable.Empty()); + newSkin = new Skin("", new SkinANIM(SkinAnimMask.MODERN_WIDE_MODEL), Resources.classic_template, Enumerable.Empty(), Enumerable.Empty()); } private void SetNewTexture(Image img) @@ -44,7 +44,7 @@ namespace PckStudio.Forms.Additional_Popups MessageBox.Show("The selected image does not suit a skin texture.", "Invalid image dimensions.", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } - newSkin.Anim.SetFlag(SkinAnimFlag.RESOLUTION_64x64, img.Width == img.Height); + newSkin.Anim.SetFlag(SkinAnimFlag.MODERN_WIDE_MODEL, img.Width == img.Height); skinPictureBox.Image = newSkin.Texture = img; labelSelectTexture.Visible = false; @@ -69,7 +69,7 @@ namespace PckStudio.Forms.Additional_Popups g.DrawRectangle(outlineColor, 70, 15, 40, 40); g.FillRectangle(fillColor, 71, 16, 39, 39); } - if (!newSkin.Anim.GetFlag(SkinAnimFlag.BODY_DISABLED)) + if (!newSkin.Anim.GetFlag(SkinAnimFlag.TORSO_DISABLED)) { //Body g.DrawRectangle(outlineColor, 70, 55, 40, 60); diff --git a/PCK-Studio/Forms/Editor/ANIMEditor.Designer.cs b/PCK-Studio/Forms/Editor/ANIMEditor.Designer.cs index 7a4d5da7..833ed19b 100644 --- a/PCK-Studio/Forms/Editor/ANIMEditor.Designer.cs +++ b/PCK-Studio/Forms/Editor/ANIMEditor.Designer.cs @@ -53,7 +53,7 @@ this.leftArmorCheckBox = new MetroFramework.Controls.MetroCheckBox(); this.chestplateCheckBox = new MetroFramework.Controls.MetroCheckBox(); this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.unknownCheckBox = new MetroFramework.Controls.MetroCheckBox(); + this.animationOverrideCheckBox = new MetroFramework.Controls.MetroCheckBox(); this.crouchCheckBox = new MetroFramework.Controls.MetroCheckBox(); this.dinnerboneCheckBox = new MetroFramework.Controls.MetroCheckBox(); this.noArmorCheckBox = new MetroFramework.Controls.MetroCheckBox(); @@ -120,9 +120,9 @@ this.rightLegOCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.rightLegOCheckBox.Location = new System.Drawing.Point(180, 208); this.rightLegOCheckBox.Name = "rightLegOCheckBox"; - this.rightLegOCheckBox.Size = new System.Drawing.Size(199, 19); + this.rightLegOCheckBox.Size = new System.Drawing.Size(174, 19); this.rightLegOCheckBox.TabIndex = 13; - this.rightLegOCheckBox.Text = "Remove Right Leg Layer Box"; + this.rightLegOCheckBox.Text = "Remove Right Pants Box"; this.rightLegOCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; this.toolTip.SetToolTip(this.rightLegOCheckBox, " Removes the parent Box for this part. You can still make new boxes f" + "or this part. Armor will be disabled for this part, but can be rendered again wi" + @@ -135,9 +135,9 @@ this.headOCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.headOCheckBox.Location = new System.Drawing.Point(180, 50); this.headOCheckBox.Name = "headOCheckBox"; - this.headOCheckBox.Size = new System.Drawing.Size(173, 19); + this.headOCheckBox.Size = new System.Drawing.Size(165, 19); this.headOCheckBox.TabIndex = 12; - this.headOCheckBox.Text = "Remove Head Layer Box"; + this.headOCheckBox.Text = "Remove Headwear Box"; this.headOCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; this.toolTip.SetToolTip(this.headOCheckBox, " Removes the parent Box for this part. You can still make new boxes f" + "or this part. Armor will be disabled for this part, but can be rendered again wi" + @@ -150,9 +150,9 @@ this.leftLegOCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.leftLegOCheckBox.Location = new System.Drawing.Point(180, 174); this.leftLegOCheckBox.Name = "leftLegOCheckBox"; - this.leftLegOCheckBox.Size = new System.Drawing.Size(190, 19); + this.leftLegOCheckBox.Size = new System.Drawing.Size(165, 19); this.leftLegOCheckBox.TabIndex = 11; - this.leftLegOCheckBox.Text = "Remove Left Leg Layer Box"; + this.leftLegOCheckBox.Text = "Remove Left Pants Box"; this.leftLegOCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; this.toolTip.SetToolTip(this.leftLegOCheckBox, " Removes the parent Box for this part. You can still make new boxes f" + "or this part. Armor will be disabled for this part, but can be rendered again wi" + @@ -165,9 +165,9 @@ this.leftArmOCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.leftArmOCheckBox.Location = new System.Drawing.Point(180, 112); this.leftArmOCheckBox.Name = "leftArmOCheckBox"; - this.leftArmOCheckBox.Size = new System.Drawing.Size(194, 19); + this.leftArmOCheckBox.Size = new System.Drawing.Size(169, 19); this.leftArmOCheckBox.TabIndex = 9; - this.leftArmOCheckBox.Text = "Remove Left Arm Layer Box"; + this.leftArmOCheckBox.Text = "Remove Left Sleeve Box"; this.leftArmOCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; this.toolTip.SetToolTip(this.leftArmOCheckBox, " Removes the parent Box for this part. You can still make new boxes f" + "or this part. Armor will be disabled for this part, but can be rendered again wi" + @@ -180,9 +180,9 @@ this.bodyOCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.bodyOCheckBox.Location = new System.Drawing.Point(180, 81); this.bodyOCheckBox.Name = "bodyOCheckBox"; - this.bodyOCheckBox.Size = new System.Drawing.Size(172, 19); + this.bodyOCheckBox.Size = new System.Drawing.Size(141, 19); this.bodyOCheckBox.TabIndex = 8; - this.bodyOCheckBox.Text = "Remove Body Layer Box"; + this.bodyOCheckBox.Text = "Remove Jacket Box"; this.bodyOCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; this.toolTip.SetToolTip(this.bodyOCheckBox, " Removes the parent Box for this part. You can still make new boxes f" + "or this part. Armor will be disabled for this part, but can be rendered again wi" + @@ -210,9 +210,9 @@ this.slimCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.slimCheckBox.Location = new System.Drawing.Point(180, 19); this.slimCheckBox.Name = "slimCheckBox"; - this.slimCheckBox.Size = new System.Drawing.Size(151, 19); + this.slimCheckBox.Size = new System.Drawing.Size(164, 19); this.slimCheckBox.TabIndex = 6; - this.slimCheckBox.Text = "64x64 Alex/Slim Skin"; + this.slimCheckBox.Text = "64x64 Slim Skin Model"; this.slimCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; this.toolTip.SetToolTip(this.slimCheckBox, " The 1.8 style skin type with slim arms, overlays for each part, and sep" + "arate textures for right and left limbs. Resolution is also set to 64x64. " + @@ -285,9 +285,9 @@ this.bodyCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.bodyCheckBox.Location = new System.Drawing.Point(6, 81); this.bodyCheckBox.Name = "bodyCheckBox"; - this.bodyCheckBox.Size = new System.Drawing.Size(135, 19); + this.bodyCheckBox.Size = new System.Drawing.Size(137, 19); this.bodyCheckBox.TabIndex = 1; - this.bodyCheckBox.Text = "Remove Body Box"; + this.bodyCheckBox.Text = "Remove Torso Box"; this.bodyCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; this.toolTip.SetToolTip(this.bodyCheckBox, " Removes the parent Box for this part. You can still make new boxes f" + "or this part. Armor will be disabled for this part, but can be rendered again wi" + @@ -300,9 +300,9 @@ this.classicCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.classicCheckBox.Location = new System.Drawing.Point(6, 19); this.classicCheckBox.Name = "classicCheckBox"; - this.classicCheckBox.Size = new System.Drawing.Size(136, 19); + this.classicCheckBox.Size = new System.Drawing.Size(170, 19); this.classicCheckBox.TabIndex = 0; - this.classicCheckBox.Text = "64x64 Classic Skin"; + this.classicCheckBox.Text = "64x64 Wide Skin Model"; this.classicCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; this.toolTip.SetToolTip(this.classicCheckBox, " The 1.8 style skin type with overlays for each part and separate textur" + "es for right and left limbs. Resolution is also set to 64x64. "); @@ -315,9 +315,9 @@ this.rightArmOCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.rightArmOCheckBox.Location = new System.Drawing.Point(180, 143); this.rightArmOCheckBox.Name = "rightArmOCheckBox"; - this.rightArmOCheckBox.Size = new System.Drawing.Size(203, 19); + this.rightArmOCheckBox.Size = new System.Drawing.Size(178, 19); this.rightArmOCheckBox.TabIndex = 10; - this.rightArmOCheckBox.Text = "Remove Right Arm Layer Box"; + this.rightArmOCheckBox.Text = "Remove Right Sleeve Box"; this.rightArmOCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; this.toolTip.SetToolTip(this.rightArmOCheckBox, " Removes the parent Box for this part. You can still make new boxes f" + "or this part. Armor will be disabled for this part, but can be rendered again wi" + @@ -347,9 +347,9 @@ this.rightLeggingCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.rightLeggingCheckBox.Location = new System.Drawing.Point(6, 174); this.rightLeggingCheckBox.Name = "rightLeggingCheckBox"; - this.rightLeggingCheckBox.Size = new System.Drawing.Size(173, 19); + this.rightLeggingCheckBox.Size = new System.Drawing.Size(163, 19); this.rightLeggingCheckBox.TabIndex = 7; - this.rightLeggingCheckBox.Text = "Render Right Leg Armor"; + this.rightLeggingCheckBox.Text = "Show Right Leg Armor"; this.rightLeggingCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; this.toolTip.SetToolTip(this.rightLeggingCheckBox, " Forcefully enables the specified armor piece."); this.rightLeggingCheckBox.UseSelectable = true; @@ -361,9 +361,9 @@ this.helmetCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.helmetCheckBox.Location = new System.Drawing.Point(6, 19); this.helmetCheckBox.Name = "helmetCheckBox"; - this.helmetCheckBox.Size = new System.Drawing.Size(147, 19); + this.helmetCheckBox.Size = new System.Drawing.Size(137, 19); this.helmetCheckBox.TabIndex = 5; - this.helmetCheckBox.Text = "Render Head Armor"; + this.helmetCheckBox.Text = "Show Head Armor"; this.helmetCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; this.toolTip.SetToolTip(this.helmetCheckBox, " Forcefully enables the specified armor piece."); this.helmetCheckBox.UseSelectable = true; @@ -375,9 +375,9 @@ this.leftLeggingCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.leftLeggingCheckBox.Location = new System.Drawing.Point(6, 143); this.leftLeggingCheckBox.Name = "leftLeggingCheckBox"; - this.leftLeggingCheckBox.Size = new System.Drawing.Size(164, 19); + this.leftLeggingCheckBox.Size = new System.Drawing.Size(154, 19); this.leftLeggingCheckBox.TabIndex = 4; - this.leftLeggingCheckBox.Text = "Render Left Leg Armor"; + this.leftLeggingCheckBox.Text = "Show Left Leg Armor"; this.leftLeggingCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; this.toolTip.SetToolTip(this.leftLeggingCheckBox, " Forcefully enables the specified armor piece."); this.leftLeggingCheckBox.UseSelectable = true; @@ -389,9 +389,9 @@ this.rightArmorCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.rightArmorCheckBox.Location = new System.Drawing.Point(6, 112); this.rightArmorCheckBox.Name = "rightArmorCheckBox"; - this.rightArmorCheckBox.Size = new System.Drawing.Size(177, 19); + this.rightArmorCheckBox.Size = new System.Drawing.Size(167, 19); this.rightArmorCheckBox.TabIndex = 3; - this.rightArmorCheckBox.Text = "Render Right Arm Armor"; + this.rightArmorCheckBox.Text = "Show Right Arm Armor"; this.rightArmorCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; this.toolTip.SetToolTip(this.rightArmorCheckBox, " Forcefully enables the specified armor piece."); this.rightArmorCheckBox.UseSelectable = true; @@ -403,9 +403,9 @@ this.leftArmorCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.leftArmorCheckBox.Location = new System.Drawing.Point(6, 81); this.leftArmorCheckBox.Name = "leftArmorCheckBox"; - this.leftArmorCheckBox.Size = new System.Drawing.Size(168, 19); + this.leftArmorCheckBox.Size = new System.Drawing.Size(158, 19); this.leftArmorCheckBox.TabIndex = 2; - this.leftArmorCheckBox.Text = "Render Left Arm Armor"; + this.leftArmorCheckBox.Text = "Show Left Arm Armor"; this.leftArmorCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; this.toolTip.SetToolTip(this.leftArmorCheckBox, " Forcefully enables the specified armor piece."); this.leftArmorCheckBox.UseSelectable = true; @@ -413,20 +413,21 @@ // chestplateCheckBox // this.chestplateCheckBox.AutoSize = true; + this.chestplateCheckBox.BackColor = System.Drawing.Color.IndianRed; this.chestplateCheckBox.Enabled = false; this.chestplateCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.chestplateCheckBox.Location = new System.Drawing.Point(6, 50); this.chestplateCheckBox.Name = "chestplateCheckBox"; - this.chestplateCheckBox.Size = new System.Drawing.Size(146, 19); + this.chestplateCheckBox.Size = new System.Drawing.Size(138, 19); this.chestplateCheckBox.TabIndex = 1; - this.chestplateCheckBox.Text = "Render Body Armor"; + this.chestplateCheckBox.Text = "Show Torso Armor"; this.chestplateCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; this.toolTip.SetToolTip(this.chestplateCheckBox, " Forcefully enables the specified armor piece."); this.chestplateCheckBox.UseSelectable = true; // // groupBox1 // - this.groupBox1.Controls.Add(this.unknownCheckBox); + this.groupBox1.Controls.Add(this.animationOverrideCheckBox); this.groupBox1.Controls.Add(this.crouchCheckBox); this.groupBox1.Controls.Add(this.dinnerboneCheckBox); this.groupBox1.Controls.Add(this.noArmorCheckBox); @@ -446,19 +447,19 @@ this.groupBox1.TabStop = false; this.groupBox1.Text = "Special Animations"; // - // unknownCheckBox + // animationOverrideCheckBox // - this.unknownCheckBox.AutoSize = true; - this.unknownCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; - this.unknownCheckBox.Location = new System.Drawing.Point(126, 81); - this.unknownCheckBox.Name = "unknownCheckBox"; - this.unknownCheckBox.Size = new System.Drawing.Size(130, 19); - this.unknownCheckBox.TabIndex = 13; - this.unknownCheckBox.Text = "Force Skin Effects"; - this.unknownCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.toolTip.SetToolTip(this.unknownCheckBox, "Forcefully display skin effects despite the game\'s \"Custom Skin Animation\" settin" + + this.animationOverrideCheckBox.AutoSize = true; + this.animationOverrideCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; + this.animationOverrideCheckBox.Location = new System.Drawing.Point(126, 81); + this.animationOverrideCheckBox.Name = "animationOverrideCheckBox"; + this.animationOverrideCheckBox.Size = new System.Drawing.Size(145, 19); + this.animationOverrideCheckBox.TabIndex = 13; + this.animationOverrideCheckBox.Text = "Animation Override"; + this.animationOverrideCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; + this.toolTip.SetToolTip(this.animationOverrideCheckBox, "Forcefully display skin effects despite the game\'s \"Custom Skin Animation\" settin" + "g"); - this.unknownCheckBox.UseSelectable = true; + this.animationOverrideCheckBox.UseSelectable = true; // // crouchCheckBox // @@ -498,7 +499,7 @@ this.noArmorCheckBox.TabIndex = 10; this.noArmorCheckBox.Text = "Disable All Armor"; this.noArmorCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.toolTip.SetToolTip(this.noArmorCheckBox, " Disables all armor desptie the armor flags. "); + this.toolTip.SetToolTip(this.noArmorCheckBox, " Disables all armor. Overrides the individual armor flags."); this.noArmorCheckBox.UseSelectable = true; // // bobbingCheckBox @@ -507,11 +508,12 @@ this.bobbingCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.bobbingCheckBox.Location = new System.Drawing.Point(272, 50); this.bobbingCheckBox.Name = "bobbingCheckBox"; - this.bobbingCheckBox.Size = new System.Drawing.Size(124, 19); + this.bobbingCheckBox.Size = new System.Drawing.Size(98, 19); this.bobbingCheckBox.TabIndex = 9; - this.bobbingCheckBox.Text = "Disable Bobbing"; + this.bobbingCheckBox.Text = "No Bobbing"; this.bobbingCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.toolTip.SetToolTip(this.bobbingCheckBox, " Disables the bobbing effect in first person."); + this.toolTip.SetToolTip(this.bobbingCheckBox, " Disables the bobbing effect in first person. Overrides the \"View Bobbing\" settin" + + "g."); this.bobbingCheckBox.UseSelectable = true; // // santaCheckBox @@ -520,12 +522,11 @@ this.santaCheckBox.FontSize = MetroFramework.MetroCheckBoxSize.Medium; this.santaCheckBox.Location = new System.Drawing.Point(420, 50); this.santaCheckBox.Name = "santaCheckBox"; - this.santaCheckBox.Size = new System.Drawing.Size(86, 19); + this.santaCheckBox.Size = new System.Drawing.Size(133, 19); this.santaCheckBox.TabIndex = 8; - this.santaCheckBox.Text = "Bad Santa"; + this.santaCheckBox.Text = "Sit Idle Animation"; this.santaCheckBox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.toolTip.SetToolTip(this.santaCheckBox, " The skin sits down after about 10 seconds of no controller input. Made for" + - " Bad Santa in the \"Festive\" skin pack. "); + this.toolTip.SetToolTip(this.santaCheckBox, " The skin sits down after about 10 seconds of no controller input."); this.santaCheckBox.UseSelectable = true; // // syncLegsCheckBox @@ -779,7 +780,7 @@ private MetroFramework.Controls.MetroCheckBox noArmorCheckBox; private MetroFramework.Controls.MetroCheckBox dinnerboneCheckBox; private MetroFramework.Controls.MetroCheckBox crouchCheckBox; - private MetroFramework.Controls.MetroCheckBox unknownCheckBox; + private MetroFramework.Controls.MetroCheckBox animationOverrideCheckBox; private MetroFramework.Controls.MetroButton copyButton; private MetroFramework.Controls.MetroButton importButton; private MetroFramework.Controls.MetroButton exportButton; diff --git a/PCK-Studio/Forms/Editor/ANIMEditor.cs b/PCK-Studio/Forms/Editor/ANIMEditor.cs index 27ef70d7..43bd1a89 100644 --- a/PCK-Studio/Forms/Editor/ANIMEditor.cs +++ b/PCK-Studio/Forms/Editor/ANIMEditor.cs @@ -75,15 +75,15 @@ namespace PckStudio.Forms.Editor checkbox.Checked = state; switch(checkBoxLinkage[checkbox]) { - case SkinAnimFlag.FORCE_HEAD_ARMOR: - case SkinAnimFlag.FORCE_BODY_ARMOR: - case SkinAnimFlag.FORCE_LEFT_ARM_ARMOR: - case SkinAnimFlag.FORCE_RIGHT_ARM_ARMOR: - case SkinAnimFlag.FORCE_LEFT_LEG_ARMOR: - case SkinAnimFlag.FORCE_RIGHT_LEG_ARMOR: + case SkinAnimFlag.SHOW_HEAD_ARMOR: + case SkinAnimFlag.SHOW_CHESTPLATE_CENTER: + case SkinAnimFlag.SHOW_CHESTPLATE_LEFT: + case SkinAnimFlag.SHOW_CHESTPLATE_RIGHT: + case SkinAnimFlag.SHOW_LEFT_LEG_ARMOR: + case SkinAnimFlag.SHOW_RIGHT_LEG_ARMOR: checkbox.Enabled = state; break; - case SkinAnimFlag.RESOLUTION_64x64: + case SkinAnimFlag.MODERN_WIDE_MODEL: checkbox.Enabled = !state; // Prioritize slim model > classic model, LCE would if(state) @@ -105,7 +105,7 @@ namespace PckStudio.Forms.Editor * not the best way to do this but whatever lol * fix for both model flags being unset when both are set to true, with slim model prioritized of course */ - if (item.Value == SkinAnimFlag.RESOLUTION_64x64 && anim.GetFlag(SkinAnimFlag.SLIM_MODEL)) + if (item.Value == SkinAnimFlag.MODERN_WIDE_MODEL && anim.GetFlag(SkinAnimFlag.SLIM_MODEL)) continue; item.Key.Checked = anim.GetFlag(item.Value); @@ -119,38 +119,38 @@ namespace PckStudio.Forms.Editor switch (checkBoxLinkage[checkBox]) { case SkinAnimFlag.HEAD_DISABLED: - checkBoxLinkage[SkinAnimFlag.FORCE_HEAD_ARMOR].Enabled = checkBox.Checked; - Uncheck(checkBoxLinkage[SkinAnimFlag.FORCE_HEAD_ARMOR]); + checkBoxLinkage[SkinAnimFlag.SHOW_HEAD_ARMOR].Enabled = checkBox.Checked; + Uncheck(checkBoxLinkage[SkinAnimFlag.SHOW_HEAD_ARMOR]); break; - case SkinAnimFlag.BODY_DISABLED: - checkBoxLinkage[SkinAnimFlag.FORCE_BODY_ARMOR].Enabled = checkBox.Checked; - Uncheck(checkBoxLinkage[SkinAnimFlag.FORCE_BODY_ARMOR]); + case SkinAnimFlag.TORSO_DISABLED: + checkBoxLinkage[SkinAnimFlag.SHOW_CHESTPLATE_CENTER].Enabled = checkBox.Checked; + Uncheck(checkBoxLinkage[SkinAnimFlag.SHOW_CHESTPLATE_CENTER]); break; case SkinAnimFlag.LEFT_LEG_DISABLED: - checkBoxLinkage[SkinAnimFlag.FORCE_LEFT_LEG_ARMOR].Enabled = checkBox.Checked; - Uncheck(checkBoxLinkage[SkinAnimFlag.FORCE_LEFT_LEG_ARMOR]); + checkBoxLinkage[SkinAnimFlag.SHOW_LEFT_LEG_ARMOR].Enabled = checkBox.Checked; + Uncheck(checkBoxLinkage[SkinAnimFlag.SHOW_LEFT_LEG_ARMOR]); break; case SkinAnimFlag.RIGHT_LEG_DISABLED: - checkBoxLinkage[SkinAnimFlag.FORCE_RIGHT_LEG_ARMOR].Enabled = checkBox.Checked; - Uncheck(checkBoxLinkage[SkinAnimFlag.FORCE_RIGHT_LEG_ARMOR]); + checkBoxLinkage[SkinAnimFlag.SHOW_RIGHT_LEG_ARMOR].Enabled = checkBox.Checked; + Uncheck(checkBoxLinkage[SkinAnimFlag.SHOW_RIGHT_LEG_ARMOR]); break; case SkinAnimFlag.LEFT_ARM_DISABLED: - checkBoxLinkage[SkinAnimFlag.FORCE_LEFT_ARM_ARMOR].Enabled = checkBox.Checked; - Uncheck(checkBoxLinkage[SkinAnimFlag.FORCE_LEFT_ARM_ARMOR]); + checkBoxLinkage[SkinAnimFlag.SHOW_CHESTPLATE_LEFT].Enabled = checkBox.Checked; + Uncheck(checkBoxLinkage[SkinAnimFlag.SHOW_CHESTPLATE_LEFT]); break; case SkinAnimFlag.RIGHT_ARM_DISABLED: - checkBoxLinkage[SkinAnimFlag.FORCE_RIGHT_ARM_ARMOR].Enabled = checkBox.Checked; - Uncheck(checkBoxLinkage[SkinAnimFlag.FORCE_RIGHT_ARM_ARMOR]); + checkBoxLinkage[SkinAnimFlag.SHOW_CHESTPLATE_LEFT].Enabled = checkBox.Checked; + Uncheck(checkBoxLinkage[SkinAnimFlag.SHOW_CHESTPLATE_LEFT]); break; - case SkinAnimFlag.RESOLUTION_64x64: + case SkinAnimFlag.MODERN_WIDE_MODEL: Uncheck(checkBoxLinkage[SkinAnimFlag.SLIM_MODEL]); checkBoxLinkage[SkinAnimFlag.SLIM_MODEL].Enabled = !checkBox.Checked; break; case SkinAnimFlag.SLIM_MODEL: - Uncheck(checkBoxLinkage[SkinAnimFlag.RESOLUTION_64x64]); - checkBoxLinkage[SkinAnimFlag.RESOLUTION_64x64].Enabled = !checkBox.Checked; + Uncheck(checkBoxLinkage[SkinAnimFlag.MODERN_WIDE_MODEL]); + checkBoxLinkage[SkinAnimFlag.MODERN_WIDE_MODEL].Enabled = !checkBox.Checked; break; default: break; @@ -190,37 +190,37 @@ namespace PckStudio.Forms.Editor private void InitializeRuleSet() { ruleset = new ANIMRuleSet( - (bobbingCheckBox, SkinAnimFlag.HEAD_BOBBING_DISABLED), - (bodyCheckBox, SkinAnimFlag.BODY_DISABLED), - (bodyOCheckBox, SkinAnimFlag.BODY_OVERLAY_DISABLED), - (chestplateCheckBox, SkinAnimFlag.FORCE_BODY_ARMOR), - (classicCheckBox, SkinAnimFlag.RESOLUTION_64x64), + (bobbingCheckBox, SkinAnimFlag.NO_BOBBING_OVERRIDE), + (bodyCheckBox, SkinAnimFlag.TORSO_DISABLED), + (bodyOCheckBox, SkinAnimFlag.JACKET_DISABLED), + (chestplateCheckBox, SkinAnimFlag.SHOW_CHESTPLATE_CENTER), + (classicCheckBox, SkinAnimFlag.MODERN_WIDE_MODEL), (crouchCheckBox, SkinAnimFlag.DO_BACKWARDS_CROUCH), (dinnerboneCheckBox, SkinAnimFlag.DINNERBONE), (headCheckBox, SkinAnimFlag.HEAD_DISABLED), - (headOCheckBox, SkinAnimFlag.HEAD_OVERLAY_DISABLED), - (helmetCheckBox, SkinAnimFlag.FORCE_HEAD_ARMOR), + (headOCheckBox, SkinAnimFlag.HEADWEAR_DISABLED), + (helmetCheckBox, SkinAnimFlag.SHOW_HEAD_ARMOR), (leftArmCheckBox, SkinAnimFlag.LEFT_ARM_DISABLED), - (leftArmOCheckBox, SkinAnimFlag.LEFT_ARM_OVERLAY_DISABLED), - (leftArmorCheckBox, SkinAnimFlag.FORCE_LEFT_ARM_ARMOR), + (leftArmOCheckBox, SkinAnimFlag.LEFT_SLEEVE_DISABLED), + (leftArmorCheckBox, SkinAnimFlag.SHOW_CHESTPLATE_LEFT), (leftLegCheckBox, SkinAnimFlag.LEFT_LEG_DISABLED), - (leftLeggingCheckBox, SkinAnimFlag.FORCE_LEFT_LEG_ARMOR), - (leftLegOCheckBox, SkinAnimFlag.LEFT_LEG_OVERLAY_DISABLED), + (leftLeggingCheckBox, SkinAnimFlag.SHOW_LEFT_LEG_ARMOR), + (leftLegOCheckBox, SkinAnimFlag.LEFT_PANTS_DISABLED), (noArmorCheckBox, SkinAnimFlag.ALL_ARMOR_DISABLED), (rightArmCheckBox, SkinAnimFlag.RIGHT_ARM_DISABLED), - (rightArmOCheckBox, SkinAnimFlag.RIGHT_ARM_OVERLAY_DISABLED), - (rightArmorCheckBox, SkinAnimFlag.FORCE_RIGHT_ARM_ARMOR), + (rightArmOCheckBox, SkinAnimFlag.RIGHT_SLEEVE_DISABLED), + (rightArmorCheckBox, SkinAnimFlag.SHOW_CHESTPLATE_LEFT), (rightLegCheckBox, SkinAnimFlag.RIGHT_LEG_DISABLED), - (rightLeggingCheckBox, SkinAnimFlag.FORCE_RIGHT_LEG_ARMOR), - (rightLegOCheckBox, SkinAnimFlag.RIGHT_LEG_OVERLAY_DISABLED), - (santaCheckBox, SkinAnimFlag.BAD_SANTA), + (rightLeggingCheckBox, SkinAnimFlag.SHOW_RIGHT_LEG_ARMOR), + (rightLegOCheckBox, SkinAnimFlag.RIGHT_PANTS_DISABLED), + (santaCheckBox, SkinAnimFlag.SIT_IDLE_ANIMATION), (slimCheckBox, SkinAnimFlag.SLIM_MODEL), (staticArmsCheckBox, SkinAnimFlag.STATIC_ARMS), (staticLegsCheckBox, SkinAnimFlag.STATIC_LEGS), (statueCheckBox, SkinAnimFlag.STATUE_OF_LIBERTY), (syncArmsCheckBox, SkinAnimFlag.SYNCED_ARMS), (syncLegsCheckBox, SkinAnimFlag.SYNCED_LEGS), - (unknownCheckBox, SkinAnimFlag.__BIT_4), + (animationOverrideCheckBox, SkinAnimFlag.CUSTOM_ANIMATION_OVERRIDE), (zombieCheckBox, SkinAnimFlag.ZOMBIE_ARMS) ); ruleset.OnCheckboxChanged = setDisplayAnim; @@ -281,7 +281,7 @@ namespace PckStudio.Forms.Editor if (saveFileDialog.ShowDialog(this) != DialogResult.OK) return; bool isSlim = ruleset.Value.GetFlag(SkinAnimFlag.SLIM_MODEL); - bool is64x64 = ruleset.Value.GetFlag(SkinAnimFlag.RESOLUTION_64x64); + bool is64x64 = ruleset.Value.GetFlag(SkinAnimFlag.MODERN_WIDE_MODEL); bool isClassic32 = !isSlim && !is64x64; Image skin = isSlim ? Properties.Resources.slim_template : Properties.Resources.classic_template; @@ -292,11 +292,11 @@ namespace PckStudio.Forms.Editor using (Graphics graphic = Graphics.FromImage(img)) { graphic.DrawImage(skin, new Rectangle(Point.Empty, imgSize), new Rectangle(Point.Empty, imgSize), GraphicsUnit.Pixel); - if (ruleset.Value.GetFlag(SkinAnimFlag.HEAD_OVERLAY_DISABLED)) + if (ruleset.Value.GetFlag(SkinAnimFlag.HEADWEAR_DISABLED)) graphic.FillRectangle(Brushes.Magenta, new Rectangle(32, 0, 32, 16)); if (ruleset.Value.GetFlag(SkinAnimFlag.HEAD_DISABLED)) graphic.FillRectangle(Brushes.Magenta, new Rectangle(0, 0, 32, 16)); - if (ruleset.Value.GetFlag(SkinAnimFlag.BODY_DISABLED)) + if (ruleset.Value.GetFlag(SkinAnimFlag.TORSO_DISABLED)) graphic.FillRectangle(Brushes.Magenta, new Rectangle(16, 16, 24, 16)); if (img.Height == 64) { @@ -304,19 +304,19 @@ namespace PckStudio.Forms.Editor graphic.FillRectangle(Brushes.Magenta, new Rectangle(40, 16, 16, 16)); if (ruleset.Value.GetFlag(SkinAnimFlag.RIGHT_LEG_DISABLED)) graphic.FillRectangle(Brushes.Magenta, new Rectangle(0, 16, 16, 16)); - if (ruleset.Value.GetFlag(SkinAnimFlag.BODY_OVERLAY_DISABLED)) + if (ruleset.Value.GetFlag(SkinAnimFlag.JACKET_DISABLED)) graphic.FillRectangle(Brushes.Magenta, new Rectangle(16, 32, 24, 16)); - if (ruleset.Value.GetFlag(SkinAnimFlag.RIGHT_ARM_OVERLAY_DISABLED)) + if (ruleset.Value.GetFlag(SkinAnimFlag.RIGHT_SLEEVE_DISABLED)) graphic.FillRectangle(Brushes.Magenta, new Rectangle(40, 32, 16, 16)); - if (ruleset.Value.GetFlag(SkinAnimFlag.RIGHT_LEG_OVERLAY_DISABLED)) + if (ruleset.Value.GetFlag(SkinAnimFlag.RIGHT_PANTS_DISABLED)) graphic.FillRectangle(Brushes.Magenta, new Rectangle(0, 32, 16, 16)); - if (ruleset.Value.GetFlag(SkinAnimFlag.LEFT_LEG_OVERLAY_DISABLED)) + if (ruleset.Value.GetFlag(SkinAnimFlag.LEFT_PANTS_DISABLED)) graphic.FillRectangle(Brushes.Magenta, new Rectangle(0, 48, 16, 16)); if (ruleset.Value.GetFlag(SkinAnimFlag.LEFT_LEG_DISABLED)) graphic.FillRectangle(Brushes.Magenta, new Rectangle(16, 48, 16, 16)); if (ruleset.Value.GetFlag(SkinAnimFlag.LEFT_ARM_DISABLED)) graphic.FillRectangle(Brushes.Magenta, new Rectangle(32, 48, 16, 16)); - if (ruleset.Value.GetFlag(SkinAnimFlag.LEFT_ARM_OVERLAY_DISABLED)) + if (ruleset.Value.GetFlag(SkinAnimFlag.LEFT_SLEEVE_DISABLED)) graphic.FillRectangle(Brushes.Magenta, new Rectangle(48, 48, 16, 16)); } else @@ -343,7 +343,7 @@ namespace PckStudio.Forms.Editor static readonly Dictionary Templates = new Dictionary() { { "Steve (64x32)", SkinAnimMask.NONE }, - { "Steve (64x64)", SkinAnimMask.RESOLUTION_64x64 }, + { "Steve (64x64)", SkinAnimMask.MODERN_WIDE_MODEL }, { "Alex (64x64)", SkinAnimMask.SLIM_MODEL }, { "Zombie Skins", SkinAnimMask.ZOMBIE_ARMS }, { "Cetacean Skins", SkinAnimMask.SYNCED_ARMS | SkinAnimMask.SYNCED_LEGS }, diff --git a/PCK-Studio/Forms/Editor/CustomSkinEditor.cs b/PCK-Studio/Forms/Editor/CustomSkinEditor.cs index fbf4a3b0..11f187e9 100644 --- a/PCK-Studio/Forms/Editor/CustomSkinEditor.cs +++ b/PCK-Studio/Forms/Editor/CustomSkinEditor.cs @@ -462,7 +462,7 @@ namespace PckStudio.Forms.Editor private void exportTemplateButton_Click(object sender, EventArgs e) { Image templateTexture = Resources.classic_template; - SkinAnimMask templateAnimMask = SkinAnimMask.RESOLUTION_64x64; + SkinAnimMask templateAnimMask = SkinAnimMask.MODERN_WIDE_MODEL; SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Title = "Save Template Model"; diff --git a/PCK-Studio/Rendering/SkinRenderer.cs b/PCK-Studio/Rendering/SkinRenderer.cs index 390ed0b6..7dfa868d 100644 --- a/PCK-Studio/Rendering/SkinRenderer.cs +++ b/PCK-Studio/Rendering/SkinRenderer.cs @@ -274,7 +274,7 @@ namespace PckStudio.Rendering InitializeCamera(); InitializeComponent(); - ANIM ??= new SkinANIM(SkinAnimMask.RESOLUTION_64x64); + ANIM ??= new SkinANIM(SkinAnimMask.MODERN_WIDE_MODEL); ModelData = new ObservableCollection(); ModelData.CollectionChanged += ModelData_CollectionChanged; } @@ -705,9 +705,9 @@ namespace PckStudio.Rendering private void OnANIMUpdate() { head.SetVisible(0, !ANIM.GetFlag(SkinAnimFlag.HEAD_DISABLED)); - head.SetVisible(1, !ANIM.GetFlag(SkinAnimFlag.HEAD_OVERLAY_DISABLED)); + head.SetVisible(1, !ANIM.GetFlag(SkinAnimFlag.HEADWEAR_DISABLED)); - body.SetVisible(0, !ANIM.GetFlag(SkinAnimFlag.BODY_DISABLED)); + body.SetVisible(0, !ANIM.GetFlag(SkinAnimFlag.TORSO_DISABLED)); rightArm.SetVisible(0, !ANIM.GetFlag(SkinAnimFlag.RIGHT_ARM_DISABLED)); leftArm.SetVisible(0, !ANIM.GetFlag(SkinAnimFlag.LEFT_ARM_DISABLED)); rightLeg.SetVisible(0, !ANIM.GetFlag(SkinAnimFlag.RIGHT_LEG_DISABLED)); @@ -716,14 +716,14 @@ namespace PckStudio.Rendering bool slim = ANIM.GetFlag(SkinAnimFlag.SLIM_MODEL); head.FlipZMapping = true; - if (slim || ANIM.GetFlag(SkinAnimFlag.RESOLUTION_64x64)) + if (slim || ANIM.GetFlag(SkinAnimFlag.MODERN_WIDE_MODEL)) { TextureSize = new Size(64, 64); - body.SetVisible(1, !ANIM.GetFlag(SkinAnimFlag.BODY_OVERLAY_DISABLED)); - rightArm.SetVisible(1, !ANIM.GetFlag(SkinAnimFlag.RIGHT_ARM_OVERLAY_DISABLED)); - leftArm.SetVisible(1, !ANIM.GetFlag(SkinAnimFlag.LEFT_ARM_OVERLAY_DISABLED)); - rightLeg.SetVisible(1, !ANIM.GetFlag(SkinAnimFlag.RIGHT_LEG_OVERLAY_DISABLED)); - leftLeg.SetVisible(1, !ANIM.GetFlag(SkinAnimFlag.LEFT_LEG_OVERLAY_DISABLED)); + body.SetVisible(1, !ANIM.GetFlag(SkinAnimFlag.JACKET_DISABLED)); + rightArm.SetVisible(1, !ANIM.GetFlag(SkinAnimFlag.RIGHT_SLEEVE_DISABLED)); + leftArm.SetVisible(1, !ANIM.GetFlag(SkinAnimFlag.LEFT_SLEEVE_DISABLED)); + rightLeg.SetVisible(1, !ANIM.GetFlag(SkinAnimFlag.RIGHT_PANTS_DISABLED)); + leftLeg.SetVisible(1, !ANIM.GetFlag(SkinAnimFlag.LEFT_PANTS_DISABLED)); int slimValue = slim ? 3 : 4; rightArm.ReplaceCube(0, new(slim ? -2 : -3, -2, -2), new(slimValue, 12, 4), new(40, 16)); @@ -919,26 +919,26 @@ namespace PckStudio.Rendering { armorTexture.Bind(); cubeShader.SetUniform2("TexSize", new Vector2(64, 64)); - if (!ANIM.GetFlag(SkinAnimFlag.HEAD_DISABLED) || ANIM.GetFlag(SkinAnimFlag.FORCE_HEAD_ARMOR)) + if (!ANIM.GetFlag(SkinAnimFlag.HEAD_DISABLED) || ANIM.GetFlag(SkinAnimFlag.SHOW_HEAD_ARMOR)) RenderPart(cubeShader, offsetSpecificMeshStorage["HELMET"], Matrix4.Identity, renderTransform); - if (!ANIM.GetFlag(SkinAnimFlag.BODY_DISABLED) || ANIM.GetFlag(SkinAnimFlag.FORCE_BODY_ARMOR)) + if (!ANIM.GetFlag(SkinAnimFlag.TORSO_DISABLED) || ANIM.GetFlag(SkinAnimFlag.SHOW_CHESTPLATE_CENTER)) RenderPart(cubeShader, offsetSpecificMeshStorage["CHEST"], Matrix4.Identity, renderTransform); - if (!ANIM.GetFlag(SkinAnimFlag.RIGHT_ARM_DISABLED) || ANIM.GetFlag(SkinAnimFlag.FORCE_RIGHT_ARM_ARMOR)) + if (!ANIM.GetFlag(SkinAnimFlag.RIGHT_ARM_DISABLED) || ANIM.GetFlag(SkinAnimFlag.SHOW_CHESTPLATE_LEFT)) RenderPart(cubeShader, offsetSpecificMeshStorage["SHOULDER0"], armRightMatrix, renderTransform); - if (!ANIM.GetFlag(SkinAnimFlag.LEFT_ARM_DISABLED) || ANIM.GetFlag(SkinAnimFlag.FORCE_LEFT_ARM_ARMOR)) + if (!ANIM.GetFlag(SkinAnimFlag.LEFT_ARM_DISABLED) || ANIM.GetFlag(SkinAnimFlag.SHOW_CHESTPLATE_LEFT)) RenderPart(cubeShader, offsetSpecificMeshStorage["SHOULDER1"], armLeftMatrix, renderTransform); - bool showRightLegArmor = !ANIM.GetFlag(SkinAnimFlag.RIGHT_LEG_DISABLED) || ANIM.GetFlag(SkinAnimFlag.FORCE_RIGHT_LEG_ARMOR); + bool showRightLegArmor = !ANIM.GetFlag(SkinAnimFlag.RIGHT_LEG_DISABLED) || ANIM.GetFlag(SkinAnimFlag.SHOW_RIGHT_LEG_ARMOR); if (showRightLegArmor) { RenderPart(cubeShader, offsetSpecificMeshStorage["PANTS0"], legRightMatrix, renderTransform); RenderPart(cubeShader, offsetSpecificMeshStorage["BOOT0"], legRightMatrix, renderTransform); } - bool showLeftLegArmor = !ANIM.GetFlag(SkinAnimFlag.LEFT_LEG_DISABLED) || ANIM.GetFlag(SkinAnimFlag.FORCE_LEFT_LEG_ARMOR); + bool showLeftLegArmor = !ANIM.GetFlag(SkinAnimFlag.LEFT_LEG_DISABLED) || ANIM.GetFlag(SkinAnimFlag.SHOW_LEFT_LEG_ARMOR); if (showLeftLegArmor) { RenderPart(cubeShader, offsetSpecificMeshStorage["PANTS1"], legLeftMatrix, renderTransform); diff --git a/PckStudio.Core/Skin/SkinAnimFlag.cs b/PckStudio.Core/Skin/SkinAnimFlag.cs index 0105b2e7..9fc2e4d3 100644 --- a/PckStudio.Core/Skin/SkinAnimFlag.cs +++ b/PckStudio.Core/Skin/SkinAnimFlag.cs @@ -23,44 +23,44 @@ namespace PckStudio.Core.Skin /// public enum SkinAnimFlag : int { - STATIC_ARMS = 0, // 0x01 - ZOMBIE_ARMS = 1, // 0x02 - STATIC_LEGS = 2, // 0x04 - BAD_SANTA = 3, // 0x08 - // - __BIT_4 = 4, // 0x10 - Unused?? - SYNCED_LEGS = 5, // 0x20 - SYNCED_ARMS = 6, // 0x40 - STATUE_OF_LIBERTY = 7, // 0x80 + STATIC_ARMS = 0, // 0x01 + ZOMBIE_ARMS = 1, // 0x02 + STATIC_LEGS = 2, // 0x04 + SIT_IDLE_ANIMATION = 3, // 0x08 + // + CUSTOM_ANIMATION_OVERRIDE = 4, // 0x10 + SYNCED_LEGS = 5, // 0x20 + SYNCED_ARMS = 6, // 0x40 + STATUE_OF_LIBERTY = 7, // 0x80 - ALL_ARMOR_DISABLED = 8, // 0x100 - HEAD_BOBBING_DISABLED = 9, // 0x200 - HEAD_DISABLED = 10, // 0x400 - RIGHT_ARM_DISABLED = 11, // 0x800 + ALL_ARMOR_DISABLED = 8, // 0x100 + NO_BOBBING_OVERRIDE = 9, // 0x200 + HEAD_DISABLED = 10, // 0x400 + RIGHT_ARM_DISABLED = 11, // 0x800 - LEFT_ARM_DISABLED = 12, // 0x1000 - BODY_DISABLED = 13, // 0x2000 - RIGHT_LEG_DISABLED = 14, // 0x4000 - LEFT_LEG_DISABLED = 15, // 0x8000 + LEFT_ARM_DISABLED = 12, // 0x1000 + TORSO_DISABLED = 13, // 0x2000 + RIGHT_LEG_DISABLED = 14, // 0x4000 + LEFT_LEG_DISABLED = 15, // 0x8000 - HEAD_OVERLAY_DISABLED = 16, // 0x10000 - DO_BACKWARDS_CROUCH = 17, // 0x20000 - RESOLUTION_64x64 = 18, // 0x40000 - SLIM_MODEL = 19, // 0x80000 + HEADWEAR_DISABLED = 16, // 0x10000 + DO_BACKWARDS_CROUCH = 17, // 0x20000 + MODERN_WIDE_MODEL = 18, // 0x40000 + SLIM_MODEL = 19, // 0x80000 - LEFT_ARM_OVERLAY_DISABLED = 20, // 0x100000 - RIGHT_ARM_OVERLAY_DISABLED = 21, // 0x200000 - LEFT_LEG_OVERLAY_DISABLED = 22, // 0x400000 - RIGHT_LEG_OVERLAY_DISABLED = 23, // 0x800000 + LEFT_SLEEVE_DISABLED = 20, // 0x100000 + RIGHT_SLEEVE_DISABLED = 21, // 0x200000 + LEFT_PANTS_DISABLED = 22, // 0x400000 + RIGHT_PANTS_DISABLED = 23, // 0x800000 - BODY_OVERLAY_DISABLED = 24, // 0x1000000 - FORCE_HEAD_ARMOR = 25, // 0x2000000 - FORCE_RIGHT_ARM_ARMOR = 26, // 0x4000000 - FORCE_LEFT_ARM_ARMOR = 27, // 0x8000000 + JACKET_DISABLED = 24, // 0x1000000 + SHOW_HEAD_ARMOR = 25, // 0x2000000 + SHOW_CHESTPLATE_RIGHT = 26, // 0x4000000 + SHOW_CHESTPLATE_LEFT = 27, // 0x8000000 - FORCE_BODY_ARMOR = 28, // 0x10000000 - FORCE_RIGHT_LEG_ARMOR = 29, // 0x20000000 - FORCE_LEFT_LEG_ARMOR = 30, // 0x40000000 - DINNERBONE = 31, // 0x80000000 + SHOW_CHESTPLATE_CENTER = 28, // 0x10000000 + SHOW_RIGHT_LEG_ARMOR = 29, // 0x20000000 + SHOW_LEFT_LEG_ARMOR = 30, // 0x40000000 + DINNERBONE = 31, // 0x80000000 } } diff --git a/PckStudio.Core/Skin/SkinAnimMask.cs b/PckStudio.Core/Skin/SkinAnimMask.cs index 3fae61fe..c6a63f99 100644 --- a/PckStudio.Core/Skin/SkinAnimMask.cs +++ b/PckStudio.Core/Skin/SkinAnimMask.cs @@ -13,7 +13,7 @@ namespace PckStudio.Core.Skin STATIC_ARMS = 1 << 0, // 0x01 ZOMBIE_ARMS = 1 << 1, // 0x02 STATIC_LEGS = 1 << 2, // 0x04 - BAD_SANTA = 1 << 3, // 0x08 + SIT_IDLE_ANIMATION = 1 << 3, // 0x08 CUSTOM_ANIMATION_OVERRIDE = 1 << 4, // 0x10, Overrides the game's "Custom Skin Animation" setting (0x19 in Settings enum) SYNCED_LEGS = 1 << 5, // 0x20 @@ -21,7 +21,7 @@ namespace PckStudio.Core.Skin STATUE_OF_LIBERTY = 1 << 7, // 0x80 ALL_ARMOR_DISABLED = 1 << 8, // 0x100 - HEAD_BOBBING_DISABLED = 1 << 9, // 0x200 + NO_BOBBING_OVERRIDE = 1 << 9, // 0x200 HEAD_DISABLED = 1 << 10, // 0x400 RIGHT_ARM_DISABLED = 1 << 11, // 0x800 @@ -30,17 +30,17 @@ namespace PckStudio.Core.Skin RIGHT_LEG_DISABLED = 1 << 14, // 0x4000 LEFT_LEG_DISABLED = 1 << 15, // 0x8000 - HEAD_OVERLAY_DISABLED = 1 << 16, // 0x10000 - DO_BACKWARDS_CROUCH = 1 << 17, // 0x20000 - RESOLUTION_64x64 = 1 << 18, // 0x40000 + HEADWEAR_DISABLED = 1 << 16, // 0x10000 + BACKWARDS_CROUCH = 1 << 17, // 0x20000 + MODERN_WIDE_MODEL = 1 << 18, // 0x40000 SLIM_MODEL = 1 << 19, // 0x80000 - LEFT_ARM_OVERLAY_DISABLED = 1 << 20, // 0x100000 - RIGHT_ARM_OVERLAY_DISABLED = 1 << 21, // 0x200000 - LEFT_LEG_OVERLAY_DISABLED = 1 << 22, // 0x400000 - RIGHT_LEG_OVERLAY_DISABLED = 1 << 23, // 0x800000 + LEFT_SLEEVE_DISABLED = 1 << 20, // 0x100000 + RIGHT_SLEEVE_DISABLED = 1 << 21, // 0x200000 + LEFT_PANTS_DISABLED = 1 << 22, // 0x400000 + RIGHT_PANTS_DISABLED = 1 << 23, // 0x800000 - BODY_OVERLAY_DISABLED = 1 << 24, // 0x1000000 + JACKET_DISABLED = 1 << 24, // 0x1000000 FORCE_HEAD_ARMOR = 1 << 25, // 0x2000000 FORCE_RIGHT_ARM_ARMOR = 1 << 26, // 0x4000000 FORCE_LEFT_ARM_ARMOR = 1 << 27, // 0x8000000 diff --git a/PckStudio.Core/Skin/SkinBOX.cs b/PckStudio.Core/Skin/SkinBOX.cs index cc933f9a..f224099d 100644 --- a/PckStudio.Core/Skin/SkinBOX.cs +++ b/PckStudio.Core/Skin/SkinBOX.cs @@ -52,7 +52,7 @@ namespace PckStudio.Core.Skin { [unchecked((int)0x9560320c)] = SkinAnimFlag.HEAD_DISABLED, // HEAD -4 -8 -4 8 8 8 0 0 0 0 0 - [unchecked((int)0x1f13e4a3)] = SkinAnimFlag.BODY_DISABLED, // BODY -4 0 -2 8 12 4 16 16 0 0 0 + [unchecked((int)0x1f13e4a3)] = SkinAnimFlag.TORSO_DISABLED, // BODY -4 0 -2 8 12 4 16 16 0 0 0 [unchecked((int)0x407c9b27)] = SkinAnimFlag.RIGHT_ARM_DISABLED, // ARM0 -3 -2 -2 4 12 4 40 16 0 0 0 // standard (64x64) [unchecked((int)0x867c9b27)] = SkinAnimFlag.RIGHT_ARM_DISABLED, // ARM0 -2 -2 -2 3 12 4 40 16 0 0 0 // slim @@ -66,22 +66,22 @@ namespace PckStudio.Core.Skin [unchecked((int)0x5da5e24a)] = SkinAnimFlag.RIGHT_LEG_DISABLED, // LEG0 -2 0 -2 4 12 4 0 16 0 0 0 - [unchecked((int)0x4bfe0142)] = SkinAnimFlag.HEAD_OVERLAY_DISABLED, // HEADWEAR -4 -8 -4 8 8 8 32 0 0 0 0 + [unchecked((int)0x4bfe0142)] = SkinAnimFlag.HEADWEAR_DISABLED, // HEADWEAR -4 -8 -4 8 8 8 32 0 0 0 0 // ------------------------------------------------------------------------------------------------------------------------------------ - [unchecked((int)0xe693e4a3)] = SkinAnimFlag.BODY_OVERLAY_DISABLED, // BODY -4 0 -2 8 12 4 16 32 0 0 0 - [unchecked((int)0x8e322609)] = SkinAnimFlag.BODY_OVERLAY_DISABLED, // JACKET -4 0 -2 8 12 4 16 32 0 0 0 + [unchecked((int)0xe693e4a3)] = SkinAnimFlag.JACKET_DISABLED, // BODY -4 0 -2 8 12 4 16 32 0 0 0 + [unchecked((int)0x8e322609)] = SkinAnimFlag.JACKET_DISABLED, // JACKET -4 0 -2 8 12 4 16 32 0 0 0 - [unchecked((int)0x860c4433)] = SkinAnimFlag.RIGHT_ARM_OVERLAY_DISABLED, // SLEEVE0 -3 -2 -2 4 12 4 40 32 0 0 0 // classic - [unchecked((int)0xcc0c4433)] = SkinAnimFlag.RIGHT_ARM_OVERLAY_DISABLED, // SLEEVE0 -2 -2 -2 3 12 4 40 32 0 0 0 // slim + [unchecked((int)0x860c4433)] = SkinAnimFlag.RIGHT_SLEEVE_DISABLED, // SLEEVE0 -3 -2 -2 4 12 4 40 32 0 0 0 // classic + [unchecked((int)0xcc0c4433)] = SkinAnimFlag.RIGHT_SLEEVE_DISABLED, // SLEEVE0 -2 -2 -2 3 12 4 40 32 0 0 0 // slim - [unchecked((int)0x91407908)] = SkinAnimFlag.LEFT_ARM_OVERLAY_DISABLED, // SLEEVE1 -1 -2 -2 4 12 4 48 48 0 0 0 // classic - [unchecked((int)0x79807908)] = SkinAnimFlag.LEFT_ARM_OVERLAY_DISABLED, // SLEEVE1 -1 -2 -2 3 12 4 48 48 0 0 0 // slim + [unchecked((int)0x91407908)] = SkinAnimFlag.LEFT_SLEEVE_DISABLED, // SLEEVE1 -1 -2 -2 4 12 4 48 48 0 0 0 // classic + [unchecked((int)0x79807908)] = SkinAnimFlag.LEFT_SLEEVE_DISABLED, // SLEEVE1 -1 -2 -2 3 12 4 48 48 0 0 0 // slim - [unchecked((int)0x4de0238a)] = SkinAnimFlag.RIGHT_LEG_OVERLAY_DISABLED, // PANTS0 -2 0 -2 4 12 4 0 32 0 0 0 + [unchecked((int)0x4de0238a)] = SkinAnimFlag.RIGHT_PANTS_DISABLED, // PANTS0 -2 0 -2 4 12 4 0 32 0 0 0 - [unchecked((int)0x176f238a)] = SkinAnimFlag.LEFT_LEG_OVERLAY_DISABLED, // PANTS1 -2 0 -2 4 12 4 0 48 0 0 0 + [unchecked((int)0x176f238a)] = SkinAnimFlag.LEFT_PANTS_DISABLED, // PANTS1 -2 0 -2 4 12 4 0 48 0 0 0 }; public static readonly string[] ValidBoxTypes = BaseTypes.Concat(OverlayTypes).ToArray(); diff --git a/PckStudio.ModelSupport/SkinModelImporter.cs b/PckStudio.ModelSupport/SkinModelImporter.cs index 8c6af532..46cfc318 100644 --- a/PckStudio.ModelSupport/SkinModelImporter.cs +++ b/PckStudio.ModelSupport/SkinModelImporter.cs @@ -102,19 +102,19 @@ namespace PckStudio.ModelSupport { SkinANIM skinANIM = ( SkinAnimMask.HEAD_DISABLED | - SkinAnimMask.HEAD_OVERLAY_DISABLED | + SkinAnimMask.HEADWEAR_DISABLED | SkinAnimMask.BODY_DISABLED | - SkinAnimMask.BODY_OVERLAY_DISABLED | + SkinAnimMask.JACKET_DISABLED | SkinAnimMask.RIGHT_ARM_DISABLED | - SkinAnimMask.RIGHT_ARM_OVERLAY_DISABLED | + SkinAnimMask.RIGHT_SLEEVE_DISABLED | SkinAnimMask.LEFT_ARM_DISABLED | - SkinAnimMask.LEFT_ARM_OVERLAY_DISABLED | + SkinAnimMask.LEFT_SLEEVE_DISABLED | SkinAnimMask.RIGHT_LEG_DISABLED | - SkinAnimMask.RIGHT_LEG_OVERLAY_DISABLED | + SkinAnimMask.RIGHT_PANTS_DISABLED | SkinAnimMask.LEFT_LEG_DISABLED | - SkinAnimMask.LEFT_LEG_OVERLAY_DISABLED); + SkinAnimMask.LEFT_PANTS_DISABLED); - skinANIM = skinANIM.SetFlag(SkinAnimFlag.RESOLUTION_64x64, texture.Size.Width == texture.Size.Height); + skinANIM = skinANIM.SetFlag(SkinAnimFlag.MODERN_WIDE_MODEL, texture.Size.Width == texture.Size.Height); SkinModel skinModel = new SkinModel(); @@ -407,35 +407,35 @@ namespace PckStudio.ModelSupport private static void ANIM2BOX(SkinANIM anim, Action converter) { bool isSlim = anim.GetFlag(SkinAnimFlag.SLIM_MODEL); - bool is32x64 = !(anim.GetFlag(SkinAnimFlag.RESOLUTION_64x64) || isSlim); + bool is32x64 = !(anim.GetFlag(SkinAnimFlag.MODERN_WIDE_MODEL) || isSlim); if (!anim.GetFlag(SkinAnimFlag.HEAD_DISABLED)) converter(new SkinBOX("HEAD", new Vector3(-4, -8, -4), new Vector3(8), Vector2.Zero)); - if (!is32x64 && !anim.GetFlag(SkinAnimFlag.HEAD_OVERLAY_DISABLED)) + if (!is32x64 && !anim.GetFlag(SkinAnimFlag.HEADWEAR_DISABLED)) converter(new SkinBOX("HEADWEAR", new Vector3(-4, -8, -4), new Vector3(8), new Vector2(32, 0))); - if (!anim.GetFlag(SkinAnimFlag.BODY_DISABLED)) + if (!anim.GetFlag(SkinAnimFlag.TORSO_DISABLED)) converter(new SkinBOX("BODY", new(-4, 0, -2), new(8, 12, 4), new(16, 16))); - if (!is32x64 && !anim.GetFlag(SkinAnimFlag.BODY_OVERLAY_DISABLED)) + if (!is32x64 && !anim.GetFlag(SkinAnimFlag.JACKET_DISABLED)) converter(new SkinBOX("JACKET", new(-4, 0, -2), new(8, 12, 4), new(16, 32))); if (!anim.GetFlag(SkinAnimFlag.RIGHT_ARM_DISABLED)) converter(new SkinBOX("ARM0", new(isSlim ? -2 : - 3, -2, -2), new(isSlim ? 3 : 4, 12, 4), new(40, 16))); - if (!is32x64 && !anim.GetFlag(SkinAnimFlag.RIGHT_ARM_OVERLAY_DISABLED)) + if (!is32x64 && !anim.GetFlag(SkinAnimFlag.RIGHT_SLEEVE_DISABLED)) converter(new SkinBOX("SLEEVE0", new(isSlim ? -2 : - 3, -2, -2), new(isSlim ? 3 : 4, 12, 4), new(40, 32))); if (!anim.GetFlag(SkinAnimFlag.LEFT_ARM_DISABLED)) converter(new SkinBOX("ARM1", new(-1, -2, -2), new(isSlim ? 3 : 4, 12, 4), is32x64 ? new(40, 16) : new(32, 48), mirror: is32x64)); - if (!is32x64 && !anim.GetFlag(SkinAnimFlag.LEFT_ARM_OVERLAY_DISABLED)) + if (!is32x64 && !anim.GetFlag(SkinAnimFlag.LEFT_SLEEVE_DISABLED)) converter(new SkinBOX("SLEEVE1", new(-1, -2, -2), new(isSlim ? 3 : 4, 12, 4), new(48, 48))); if (!anim.GetFlag(SkinAnimFlag.RIGHT_LEG_DISABLED)) converter(new SkinBOX("LEG0", new(-2, 0, -2), new(4, 12, 4), new(0, 16))); - if (!is32x64 && !anim.GetFlag(SkinAnimFlag.RIGHT_LEG_OVERLAY_DISABLED)) + if (!is32x64 && !anim.GetFlag(SkinAnimFlag.RIGHT_PANTS_DISABLED)) converter(new SkinBOX("PANTS0", new(-2, 0, -2), new(4, 12, 4), new(0, 32))); if (!anim.GetFlag(SkinAnimFlag.LEFT_LEG_DISABLED)) @@ -443,7 +443,7 @@ namespace PckStudio.ModelSupport converter(new SkinBOX("LEG1", new(-2, 0, -2), new(4, 12, 4), is32x64 ? new(0, 16) : new(16, 48), mirror: is32x64)); } - if (!is32x64 && !anim.GetFlag(SkinAnimFlag.LEFT_LEG_OVERLAY_DISABLED)) + if (!is32x64 && !anim.GetFlag(SkinAnimFlag.LEFT_PANTS_DISABLED)) { converter(new SkinBOX("PANTS1", new(-2, 0, -2), new(4, 12, 4), new(0, 48))); }