This is how I was going to do the spell gem issue. The spellgems in the gemiconsXXX.tga files and animations window are set to 24x24. I would keep this info the same and just redraw the backgrounds to be say 40x40 but with a 8x8 border so that it looks right - the gem would be the same size but the button would be bigger if that makes sense. The code for the cast window would look like this:
Code:
<SpellGem item="CSPW_Spell0">
<ScreenID>CSPW_Spell0</ScreenID>
<RelativePosition>true</RelativePosition>
<Location>
<X>4</X>
<Y>4</Y>
</Location>
<Size>
<CX>40</CX>
<CY>40</CY>
</Size>
<SpellGemDrawTemplate>
<Holder>My_SpellGemHolder</Holder>
<Background>My_SpellGemBackground</Background>
<Highlight>My_SpellGemHighlight</Highlight>
</SpellGemDrawTemplate>
<SpellIconOffsetX>8</SpellIconOffsetX>
<SpellIconOffsetY>8</SpellIconOffsetY>
</SpellGem>
To get an idea of what I mean I did the opposite in my UI. The casting window has 24x24 gems with a 2 border while the hotbutton spellgems are 40x40 with a 8 size border. The 'gems' always remain 24x24 to match the size of the gemiconsXX.tga files and animations code.
The gems could sit in a background of 24x24, 32x32, 36x36 or whatever looks good to you, so long as the gems themselves remain 24x24 and the offset is corrected to match. The gemholder code would also need to change to match as well. I you want rectangular gemslots you can do that as well but again just set the offsets correctly (40x28 holder would have a X8 Y2 offset), the spell gem itself would still be 24x24.