In case anyone is still having problems with custom UIs, these steps should restore any UI that was broken as a result of the new char select/create. It's not nearly as complicated as it looks, so don't get overwhelmed. It's mostly copying + pasting.
==========
Note: Before you begin, make copies of your broken custom UI's EQUI_Animations.xml and (if it exists) EQUI_Templates.xml to act as backups in case something goes wrong.
1. In your broken custom UI folder, open
EQUI_Animations.xml using WordPad (recommended), NotePad, or a similar program.
2a. Find (
CTRL + F) the following word:
2b. You should end up at a section that reads:
Code:
<TextureInfo item="wnd_bg_light_rock.tga">
<Size>
<CX>256</CX>
<CY>256</CY>
</Size>
</TextureInfo>
2c. Insert the following block of code immediately
below that section (
after the </TextureInfo>):
Code:
<TextureInfo item="grinkbg.tga">
<Size>
<CX>256</CX>
<CY>256</CY>
</Size>
</TextureInfo>
<TextureInfo item="grinkbgdark.tga">
<Size>
<CX>256</CX>
<CY>256</CY>
</Size>
</TextureInfo>
<TextureInfo item="window_pieces05g.tga">
<Size>
<CX>256</CX>
<CY>256</CY>
</Size>
</TextureInfo>
3a. Find (
CTRL + F) the following word:
3b. You should end up at a line that reads:
Code:
<Ui2DAnimation item="A_RecessedBox">
3c. Insert the following block of code immediately
above <Ui2DAnimation item="A_RecessedBox">:
Code:
<!-- Fililgree Small Title Frame pieces CUSTOM SOD -->
<Ui2DAnimation item="A_GrinkTopLeft">
<Cycle>true</Cycle>
<Frames>
<Texture>window_pieces05g.tga</Texture>
<Location>
<X>191</X>
<Y>117</Y>
</Location>
<Size>
<CX>1</CX>
<CY>1</CY>
</Size>
<Hotspot>
<X>0</X>
<Y>0</Y>
</Hotspot>
<Duration>1000</Duration>
</Frames>
</Ui2DAnimation>
<Ui2DAnimation item="A_GrinkTop">
<Cycle>true</Cycle>
<Frames>
<Texture>window_pieces05g.tga</Texture>
<Location>
<X>206</X>
<Y>123</Y>
</Location>
<Size>
<CX>1</CX>
<CY>1</CY>
</Size>
<Hotspot>
<X>0</X>
<Y>0</Y>
</Hotspot>
<Duration>1000</Duration>
</Frames>
</Ui2DAnimation>
<Ui2DAnimation item="A_GrinkTopRight">
<Cycle>true</Cycle>
<Frames>
<Texture>window_pieces05g.tga</Texture>
<Location>
<X>219</X>
<Y>117</Y>
</Location>
<Size>
<CX>1</CX>
<CY>1</CY>
</Size>
<Hotspot>
<X>0</X>
<Y>0</Y>
</Hotspot>
<Duration>1000</Duration>
</Frames>
</Ui2DAnimation>
<Ui2DAnimation item="A_GrinkRightTop">
<Cycle>true</Cycle>
<Frames>
<Texture>window_pieces05g.tga</Texture>
<Location>
<X>232</X>
<Y>188</Y>
</Location>
<Size>
<CX>18</CX>
<CY>50</CY>
</Size>
<Hotspot>
<X>0</X>
<Y>0</Y>
</Hotspot>
<Duration>1000</Duration>
</Frames>
</Ui2DAnimation>
<Ui2DAnimation item="A_GrinkRight">
<Cycle>true</Cycle>
<Frames>
<Texture>window_pieces05g.tga</Texture>
<Location>
<X>232</X>
<Y>196</Y>
</Location>
<Size>
<CX>18</CX>
<CY>50</CY>
</Size>
<Hotspot>
<X>0</X>
<Y>0</Y>
</Hotspot>
<Duration>1000</Duration>
</Frames>
</Ui2DAnimation>
<Ui2DAnimation item="A_GrinkRightBottom">
<Cycle>true</Cycle>
<Frames>
<Texture>window_pieces05g.tga</Texture>
<Location>
<X>183</X>
<Y>209</Y>
</Location>
<Size>
<CX>0</CX>
<CY>0</CY>
</Size>
<Hotspot>
<X>0</X>
<Y>0</Y>
</Hotspot>
<Duration>1000</Duration>
</Frames>
</Ui2DAnimation>
<Ui2DAnimation item="A_GrinkBottomRight">
<Cycle>true</Cycle>
<Frames>
<Texture>window_pieces05g.tga</Texture>
<Location>
<X>232</X>
<Y>245</Y>
</Location>
<Size>
<CX>18</CX>
<CY>8</CY>
</Size>
<Hotspot>
<X>0</X>
<Y>0</Y>
</Hotspot>
<Duration>1000</Duration>
</Frames>
</Ui2DAnimation>
<Ui2DAnimation item="A_GrinkBottom">
<Cycle>true</Cycle>
<Frames>
<Texture>window_pieces05g.tga</Texture>
<Location>
<X>215</X>
<Y>245</Y>
</Location>
<Size>
<CX>19</CX>
<CY>8</CY>
</Size>
<Hotspot>
<X>0</X>
<Y>0</Y>
</Hotspot>
<Duration>1000</Duration>
</Frames>
</Ui2DAnimation>
<Ui2DAnimation item="A_GrinkBottomLeft">
<Cycle>true</Cycle>
<Frames>
<Texture>window_pieces05g.tga</Texture>
<Location>
<X>202</X>
<Y>245</Y>
</Location>
<Size>
<CX>15</CX>
<CY>8</CY>
</Size>
<Hotspot>
<X>0</X>
<Y>0</Y>
</Hotspot>
<Duration>1000</Duration>
</Frames>
</Ui2DAnimation>
<Ui2DAnimation item="A_GrinkLeftBottom">
<Cycle>true</Cycle>
<Frames>
<Texture>window_pieces05g.tga</Texture>
<Location>
<X>202</X>
<Y>244</Y>
</Location>
<Size>
<CX>15</CX>
<CY>1</CY>
</Size>
<Hotspot>
<X>0</X>
<Y>0</Y>
</Hotspot>
<Duration>1000</Duration>
</Frames>
</Ui2DAnimation>
<Ui2DAnimation item="A_GrinkLeft">
<Cycle>true</Cycle>
<Frames>
<Texture>window_pieces05g.tga</Texture>
<Location>
<X>202</X>
<Y>196</Y>
</Location>
<Size>
<CX>15</CX>
<CY>46</CY>
</Size>
<Hotspot>
<X>0</X>
<Y>0</Y>
</Hotspot>
<Duration>1000</Duration>
</Frames>
</Ui2DAnimation>
<Ui2DAnimation item="A_GrinkLeftTop">
<Cycle>true</Cycle>
<Frames>
<Texture>window_pieces05g.tga</Texture>
<Location>
<X>202</X>
<Y>188</Y>
</Location>
<Size>
<CX>15</CX>
<CY>50</CY>
</Size>
<Hotspot>
<X>0</X>
<Y>0</Y>
</Hotspot>
<Duration>1000</Duration>
</Frames>
</Ui2DAnimation>
<Ui2DAnimation item="A_GrinkWithTitleTop">
<Cycle>true</Cycle>
<Frames>
<Texture>window_pieces01.tga</Texture>
<Location>
<X>117</X>
<Y>110</Y>
</Location>
<Size>
<CX>0</CX>
<CY>0</CY>
</Size>
<Hotspot>
<X>0</X>
<Y>0</Y>
</Hotspot>
<Duration>1000</Duration>
</Frames>
</Ui2DAnimation>
<Ui2DAnimation item="A_GrinkTitleLeft">
<Cycle>true</Cycle>
<Frames>
<Texture>window_pieces05g.tga</Texture>
<Location>
<X>216</X>
<Y>188</Y>
</Location>
<Size>
<CX>14</CX>
<CY>7</CY>
</Size>
<Hotspot>
<X>0</X>
<Y>0</Y>
</Hotspot>
<Duration>1000</Duration>
</Frames>
</Ui2DAnimation>
<Ui2DAnimation item="A_GrinkTitleMiddle">
<Cycle>true</Cycle>
<Frames>
<Texture>window_pieces05g.tga</Texture>
<Location>
<X>221</X>
<Y>188</Y>
</Location>
<Size>
<CX>6</CX>
<CY>7</CY>
</Size>
<Hotspot>
<X>0</X>
<Y>0</Y>
</Hotspot>
<Duration>1000</Duration>
</Frames>
</Ui2DAnimation>
<Ui2DAnimation item="A_GrinkTitleRight">
<Cycle>true</Cycle>
<Frames>
<Texture>window_pieces05g.tga</Texture>
<Location>
<X>220</X>
<Y>188</Y>
</Location>
<Size>
<CX>12</CX>
<CY>7</CY>
</Size>
<Hotspot>
<X>0</X>
<Y>0</Y>
</Hotspot>
<Duration>1000</Duration>
</Frames>
</Ui2DAnimation>
<!-- End Filigree Frame pieces CUSTOM SOD -->
4. Save
EQUI_Animations.xml.
5. Attempt to
/loadskin your broken UI to see if it loads. If not, continue to step 6.
6. In your broken UI folder, open
EQUI_Templates.xml using the same program as in Step 2.
7a. Find (
CTRL + F) the following word:
7b. You should end up at a section that reads:
Code:
<!-- ********** -->
<SliderDrawTemplate item="SDT_DefSlider">
7c. Insert the following chunk of code immediately
above that section (
above that <!-- ********** -->):
Code:
<!-- ********** -->
<!-- Filigree No Title Border & WDT_Inner Clone CUSTOM SOD -->
<WindowDrawTemplate item="WDT_Grink">
<Background>grinkbg.tga</Background>
<VSBTemplate>
<UpButton>
<Normal>A_VSBUpNormal</Normal>
<Pressed>A_VSBUpPressed</Pressed>
<Flyby>A_VSBUpFlyby</Flyby>
<Disabled>A_VSBUpDisabled</Disabled>
<PressedFlyby>A_VSBUpPressedFlyby</PressedFlyby>
</UpButton>
<DownButton>
<Normal>A_VSBDownNormal</Normal>
<Pressed>A_VSBDownPressed</Pressed>
<Flyby>A_VSBDownFlyby</Flyby>
<Disabled>A_VSBDownDisabled</Disabled>
<PressedFlyby>A_VSBDownPressedFlyby</PressedFlyby>
</DownButton>
<Thumb>
<Top>A_VSBThumbTop</Top>
<Bottom>A_VSBThumbBottom</Bottom>
<Middle>A_VSBThumbMiddle</Middle>
<OverlapLeft>0</OverlapLeft>
<OverlapTop>0</OverlapTop>
<OverlapRight>0</OverlapRight>
<OverlapBottom>0</OverlapBottom>
</Thumb>
<MiddleTextureInfo>scrollbar_gutter.tga</MiddleTextureInfo>
<MiddleTint>
<Alpha>255</Alpha>
<R>128</R>
<G>128</G>
<B>128</B>
</MiddleTint>
</VSBTemplate>
<HSBTemplate>
<UpButton>
<Normal>A_HSBLeftNormal</Normal>
<Pressed>A_HSBLeftPressed</Pressed>
<Flyby>A_HSBLeftFlyby</Flyby>
<Disabled>A_HSBLeftDisabled</Disabled>
<PressedFlyby>A_HSBLeftPressedFlyby</PressedFlyby>
</UpButton>
<DownButton>
<Normal>A_HSBRightNormal</Normal>
<Pressed>A_HSBRightPressed</Pressed>
<Flyby>A_HSBRightFlyby</Flyby>
<Disabled>A_HSBRightDisabled</Disabled>
<PressedFlyby>A_HSBRightPressedFlyby</PressedFlyby>
</DownButton>
<Thumb>
<Right>A_HSBThumbRight</Right>
<Left>A_HSBThumbLeft</Left>
<Middle>A_HSBThumbMiddle</Middle>
<OverlapLeft>0</OverlapLeft>
<OverlapTop>0</OverlapTop>
<OverlapRight>0</OverlapRight>
<OverlapBottom>0</OverlapBottom>
</Thumb>
<MiddleTextureInfo>scrollbar_Hgutter.tga</MiddleTextureInfo>
<MiddleTint>
<Alpha>255</Alpha>
<R>128</R>
<G>128</G>
<B>128</B>
</MiddleTint>
</HSBTemplate>
<CloseBox>
<Normal>A_ChatClose</Normal>
<Pressed>A_ChatCloseP</Pressed>
<Flyby>A_chatCloseH</Flyby>
<Disabled>A_ChatBlank</Disabled>
<PressedFlyby>A_chatCloseH</PressedFlyby>
</CloseBox>
<QMarkBox>
<Normal>A_ChatQMarkBtnNormal</Normal>
<Pressed>A_ChatQMarkBtnPressed</Pressed>
<Flyby>A_ChatQMarkBtnFlyby</Flyby>
<Disabled>A_ChatQMarkBtnDisabled</Disabled>
<PressedFlyby>A_ChatQMarkBtnPressedFlyby</PressedFlyby>
</QMarkBox>
<MinimizeBox>
<Normal>A_ChatMin</Normal>
<Pressed>A_ChatMinP</Pressed>
<Flyby>A_ChatMinH</Flyby>
<Disabled>A_ChatBlank</Disabled>
<PressedFlyby>A_ChatMinH</PressedFlyby>
</MinimizeBox>
<MaximizeBox>
<Normal>A_ChatMax</Normal>
<Pressed>A_ChatMaxP</Pressed>
<Flyby>A_ChatMaxH</Flyby>
<Disabled>A_ChatBlank</Disabled>
<PressedFlyby>A_ChatMaxH</PressedFlyby>
</MaximizeBox>
<TileBox>
<Normal>A_TileBtnNormal</Normal>
<Pressed>A_TileBtnPressed</Pressed>
<Flyby>A_TileBtnFlyby</Flyby>
<Disabled>A_TileBtnDisabled</Disabled>
<PressedFlyby>A_TileBtnPressedFlyby</PressedFlyby>
</TileBox>
<Border>
<Right>A_GrinkRight</Right>
<RightBottom>A_GrinkRightBottom</RightBottom>
<BottomRight>A_GrinkBottomRight</BottomRight>
<Bottom>A_GrinkBottom</Bottom>
<BottomLeft>A_GrinkBottomLeft</BottomLeft>
<LeftTop>A_GrinkLeftTop</LeftTop>
<Left>A_GrinkLeft</Left>
<LeftBottom>A_GrinkLeftBottom</LeftBottom>
<OverlapLeft>0</OverlapLeft>
<OverlapTop>0</OverlapTop>
<OverlapRight>0</OverlapRight>
<OverlapBottom>0</OverlapBottom>
<Top>A_Filigree3Top</Top>
<TopLeft>A_GrinkTopLeft</TopLeft>
<TopRight>A_GrinkTopRight</TopRight>
<RightTop>A_GrinkRightTop</RightTop>
</Border>
<Titlebar>
<Right>A_GrinkTitleRight</Right>
<Left>A_GrinkTitleLeft</Left>
<Middle>A_GrinkTitleMiddle</Middle>
<OverlapLeft>0</OverlapLeft>
<OverlapTop>0</OverlapTop>
<OverlapRight>0</OverlapRight>
<OverlapBottom>0</OverlapBottom>
</Titlebar>
</WindowDrawTemplate>
<WindowDrawTemplate item="WDT_GrinkInner">
<Background>grinkbgdark.tga</Background>
<VSBTemplate>
<UpButton>
<Normal>A_VSBUpNormal</Normal>
<Pressed>A_VSBUpPressed</Pressed>
<Flyby>A_VSBUpFlyby</Flyby>
<Disabled>A_VSBUpDisabled</Disabled>
<PressedFlyby>A_VSBUpPressedFlyby</PressedFlyby>
</UpButton>
<DownButton>
<Normal>A_VSBDownNormal</Normal>
<Pressed>A_VSBDownPressed</Pressed>
<Flyby>A_VSBDownFlyby</Flyby>
<Disabled>A_VSBDownDisabled</Disabled>
<PressedFlyby>A_VSBDownPressedFlyby</PressedFlyby>
</DownButton>
<Thumb>
<Top>A_VSBThumbTop</Top>
<Bottom>A_VSBThumbBottom</Bottom>
<Middle>A_VSBThumbMiddle</Middle>
<OverlapLeft>0</OverlapLeft>
<OverlapTop>0</OverlapTop>
<OverlapRight>0</OverlapRight>
<OverlapBottom>0</OverlapBottom>
</Thumb>
<MiddleTextureInfo>scrollbar_gutter.tga</MiddleTextureInfo>
<MiddleTint>
<Alpha>255</Alpha>
<R>128</R>
<G>128</G>
<B>128</B>
</MiddleTint>
</VSBTemplate>
<HSBTemplate>
<UpButton>
<Normal>A_HSBLeftNormal</Normal>
<Pressed>A_HSBLeftPressed</Pressed>
<Flyby>A_HSBLeftFlyby</Flyby>
<Disabled>A_HSBLeftDisabled</Disabled>
<PressedFlyby>A_HSBLeftPressedFlyby</PressedFlyby>
</UpButton>
<DownButton>
<Normal>A_HSBRightNormal</Normal>
<Pressed>A_HSBRightPressed</Pressed>
<Flyby>A_HSBRightFlyby</Flyby>
<Disabled>A_HSBRightDisabled</Disabled>
<PressedFlyby>A_HSBRightPressedFlyby</PressedFlyby>
</DownButton>
<Thumb>
<Right>A_HSBThumbRight</Right>
<Left>A_HSBThumbLeft</Left>
<Middle>A_HSBThumbMiddle</Middle>
<OverlapLeft>0</OverlapLeft>
<OverlapTop>0</OverlapTop>
<OverlapRight>0</OverlapRight>
<OverlapBottom>0</OverlapBottom>
</Thumb>
<MiddleTextureInfo>scrollbar_Hgutter.tga</MiddleTextureInfo>
<MiddleTint>
<Alpha>255</Alpha>
<R>128</R>
<G>128</G>
<B>128</B>
</MiddleTint>
</HSBTemplate>
<CloseBox>
<Normal>A_CloseBtnNormal</Normal>
<Pressed>A_CloseBtnPressed</Pressed>
<Flyby>A_CloseBtnFlyby</Flyby>
<Disabled>A_CloseBtnDisabled</Disabled>
<PressedFlyby>A_CloseBtnPressedFlyby</PressedFlyby>
</CloseBox>
<QMarkBox>
<Normal>A_QMarkBtnNormal</Normal>
<Pressed>A_QMarkBtnPressed</Pressed>
<Flyby>A_QMarkBtnFlyby</Flyby>
<Disabled>A_QMarkBtnDisabled</Disabled>
<PressedFlyby>A_QMarkBtnPressedFlyby</PressedFlyby>
</QMarkBox>
<MinimizeBox>
<Normal>A_MinimizeBtnNormal</Normal>
<Pressed>A_MinimizeBtnPressed</Pressed>
<Flyby>A_MinimizeBtnFlyby</Flyby>
<Disabled>A_MinimizeBtnDisabled</Disabled>
<PressedFlyby>A_MinimizeBtnPressedFlyby</PressedFlyby>
</MinimizeBox>
<MaximizeBox>
<Normal>A_MaximizeBtnNormal</Normal>
<Pressed>A_MaximizeBtnPressed</Pressed>
<Flyby>A_MaximizeBtnFlyby</Flyby>
<Disabled>A_MaximizeBtnDisabled</Disabled>
<PressedFlyby>A_MaximizeBtnPressedFlyby</PressedFlyby>
</MaximizeBox>
<TileBox>
<Normal>A_TileBtnNormal</Normal>
<Pressed>A_TileBtnPressed</Pressed>
<Flyby>A_TileBtnFlyby</Flyby>
<Disabled>A_TileBtnDisabled</Disabled>
<PressedFlyby>A_TileBtnPressedFlyby</PressedFlyby>
</TileBox>
<Border>
<TopLeft>A_InnerFrameTopLeft</TopLeft>
<Top>A_InnerFrameTop</Top>
<TopRight>A_InnerFrameTopRight</TopRight>
<RightTop>A_InnerFrameRight</RightTop>
<Right>A_InnerFrameRight</Right>
<RightBottom>A_InnerFrameRight</RightBottom>
<BottomRight>A_InnerFrameBottomRight</BottomRight>
<Bottom>A_InnerFrameBottom</Bottom>
<BottomLeft>A_InnerFrameBottomLeft</BottomLeft>
<LeftTop>A_InnerFrameLeft</LeftTop>
<Left>A_InnerFrameLeft</Left>
<LeftBottom>A_InnerFrameLeft</LeftBottom>
<OverlapLeft>0</OverlapLeft>
<OverlapTop>0</OverlapTop>
<OverlapRight>0</OverlapRight>
<OverlapBottom>0</OverlapBottom>
</Border>
<Titlebar>
<Right>A_WindowTitleRight</Right>
<Left>A_ChatWindowTitleLeft</Left>
<Middle>A_WindowTitleMiddle</Middle>
<OverlapLeft>0</OverlapLeft>
<OverlapTop>0</OverlapTop>
<OverlapRight>0</OverlapRight>
<OverlapBottom>0</OverlapBottom>
</Titlebar>
</WindowDrawTemplate>
8. Save
EQUI_Templates.xml.
9. Attempt to
/loadskin your broken UI and see if it loads.
==========
Speak up if any other problems arise.