|
| 1 | +using HarmonyLib; |
1 | 2 | using Intersect.Client.Core; |
2 | 3 | using Intersect.Client.Framework.Content; |
3 | 4 | using Intersect.Client.Framework.File_Management; |
@@ -150,23 +151,32 @@ private void UpdateDisplay() |
150 | 151 | _buttonNew.Hide(); |
151 | 152 |
|
152 | 153 | // we are rendering the player facing down, then we need to know the render order of the equipments |
| 154 | + var faceTex = Globals.ContentManager.GetTexture(TextureType.Face, Characters[mSelectedChar].Face); |
| 155 | + if (faceTex != default) |
| 156 | + { |
| 157 | + _renderLayers[0].Texture = faceTex; |
| 158 | + var scale = Math.Min(_charContainer.InnerWidth / (double)faceTex.Width, _charContainer.InnerHeight / (double)faceTex.Height); |
| 159 | + var sizeX = (int)(faceTex.Width * scale); |
| 160 | + var sizeY = (int)(faceTex.Height * scale); |
| 161 | + _ = _renderLayers[0].SetSize(sizeX, sizeY); |
| 162 | + _renderLayers[0].SetPosition((_charContainer.Width / 2) - (sizeX / 2), (_charContainer.Height / 2) - (sizeY / 2)); |
| 163 | + _renderLayers[0].Show(); |
| 164 | + |
| 165 | + _renderLayers.Skip(1).Do(p => p.Hide()); |
| 166 | + return; |
| 167 | + } |
| 168 | + |
153 | 169 | for (var i = 0; i < Options.Equipment.Paperdoll.Down.Count; i++) |
154 | 170 | { |
155 | 171 | var equipment = Options.Equipment.Paperdoll.Down[i]; |
156 | 172 | var paperdollContainer = _renderLayers[i]; |
157 | | - var isFace = false; |
158 | 173 |
|
159 | 174 | // handle player/equip rendering, we just need to find the correct texture |
160 | 175 | if (string.Equals("Player", equipment, StringComparison.Ordinal)) |
161 | 176 | { |
162 | | - var faceSource = Characters[mSelectedChar].Face; |
163 | 177 | var spriteSource = Characters[mSelectedChar].Sprite; |
164 | | - |
165 | | - var faceTex = Globals.ContentManager.GetTexture(TextureType.Face, faceSource); |
166 | 178 | var spriteTex = Globals.ContentManager.GetTexture(TextureType.Entity, spriteSource); |
167 | | - |
168 | | - isFace = faceTex != default; |
169 | | - paperdollContainer.Texture = isFace ? faceTex : spriteTex; |
| 179 | + paperdollContainer.Texture = spriteTex; |
170 | 180 | } |
171 | 181 | else |
172 | 182 | { |
@@ -200,15 +210,11 @@ private void UpdateDisplay() |
200 | 210 |
|
201 | 211 | var imgWidth = layerTex.Width; |
202 | 212 | var imgHeight = layerTex.Height; |
203 | | - var textureWidth = isFace ? imgWidth : imgWidth / Options.Instance.Sprites.NormalFrames; |
204 | | - var textureHeight = isFace ? imgHeight : imgHeight / Options.Instance.Sprites.Directions; |
| 213 | + var textureWidth = imgWidth / Options.Instance.Sprites.NormalFrames; |
| 214 | + var textureHeight = imgHeight / Options.Instance.Sprites.Directions; |
205 | 215 |
|
206 | 216 | paperdollContainer.SetTextureRect(0, 0, textureWidth, textureHeight); |
207 | | - |
208 | | - var scale = Math.Min(_charContainer.InnerWidth / (double)imgWidth, _charContainer.InnerHeight / (double)imgHeight); |
209 | | - var sizeX = isFace ? (int)(imgWidth * scale) : textureWidth; |
210 | | - var sizeY = isFace ? (int)(imgHeight * scale) : textureHeight; |
211 | | - _ = paperdollContainer.SetSize(sizeX, sizeY); |
| 217 | + _ = paperdollContainer.SetSize(textureWidth, textureHeight); |
212 | 218 |
|
213 | 219 | var centerX = (_charContainer.Width / 2) - (paperdollContainer.Width / 2); |
214 | 220 | var centerY = (_charContainer.Height / 2) - (paperdollContainer.Height / 2); |
|
0 commit comments