Skip to content

Commit e3688ce

Browse files
fix: dont render paperdoll on face (#2454)
1 parent e3d7d40 commit e3688ce

File tree

1 file changed

+20
-14
lines changed

1 file changed

+20
-14
lines changed

Intersect.Client.Core/Interface/Menu/SelectCharacterWindow.cs

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using HarmonyLib;
12
using Intersect.Client.Core;
23
using Intersect.Client.Framework.Content;
34
using Intersect.Client.Framework.File_Management;
@@ -150,23 +151,32 @@ private void UpdateDisplay()
150151
_buttonNew.Hide();
151152

152153
// 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+
153169
for (var i = 0; i < Options.Equipment.Paperdoll.Down.Count; i++)
154170
{
155171
var equipment = Options.Equipment.Paperdoll.Down[i];
156172
var paperdollContainer = _renderLayers[i];
157-
var isFace = false;
158173

159174
// handle player/equip rendering, we just need to find the correct texture
160175
if (string.Equals("Player", equipment, StringComparison.Ordinal))
161176
{
162-
var faceSource = Characters[mSelectedChar].Face;
163177
var spriteSource = Characters[mSelectedChar].Sprite;
164-
165-
var faceTex = Globals.ContentManager.GetTexture(TextureType.Face, faceSource);
166178
var spriteTex = Globals.ContentManager.GetTexture(TextureType.Entity, spriteSource);
167-
168-
isFace = faceTex != default;
169-
paperdollContainer.Texture = isFace ? faceTex : spriteTex;
179+
paperdollContainer.Texture = spriteTex;
170180
}
171181
else
172182
{
@@ -200,15 +210,11 @@ private void UpdateDisplay()
200210

201211
var imgWidth = layerTex.Width;
202212
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;
205215

206216
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);
212218

213219
var centerX = (_charContainer.Width / 2) - (paperdollContainer.Width / 2);
214220
var centerY = (_charContainer.Height / 2) - (paperdollContainer.Height / 2);

0 commit comments

Comments
 (0)