Textures and UI
Three tools work together on the interface. Textures shows and edits the pictures, UI Image Sets edits which box of a picture is which icon, and UI Windows edits where those icons and texts sit in a window. If you have not opened a client yet, do First steps first.
How the pieces fit:
- A texture is a
.ddspicture inresource/texture. One texture often holds many icons. xml/uiimageset.xmllists image sets (one texture each) and the named images (boxes) on it. An icon is calledSet#Image.- A window is an XML file in
xml/. It refers to images asset#image.
| You want to | Use |
|---|---|
| Repaint or recolour a picture | Textures, then IOP Manager |
| Move or resize the box of an icon | UI Image Sets, then IOP Manager |
| Move a button or text in a window | UI Windows, then IOP Manager |
1. Find a texture
Section titled “1. Find a texture”- Click Textures under 3D. The list shows the textures of your game folder (the footer reads
Game folder: <name>): one row per name, the copy the client would load, with its type tag, name and size. Scrambled.ddsand.lsctextures open too. - Type in Search. The list loads 300 rows at a time while you scroll.
- Click a name. The picture opens with its size. 1:1 shows actual size, the fit button fits it to the view; wheel zooms, middle or right drag (or Space) moves.
To learn which pack and folder a texture is in, search its name in IOP Manager (for example ui_icon_event1.dds). You need the path later. A mesh shows its texture names in the Mesh card of Models, and missing there means the texture is not in the packs.
To read pictures from a folder on your PC, use Other folder…. Open file… opens a single picture; you can also drop it on the view.
2. Find an icon
Section titled “2. Find an icon”- Start from the icon name. Find an item shows it under the item’s name as
Set#Image. - Click UI Image Sets under Interface. With your game folder open,
xml/uiimageset.xmlopens by itself and its textures come from the packs. - Type the set name in Search imagesets and click the set. The texture shows with every box outlined (All boxes). The Imageset card has its Name and its Texture, the file name of the picture it is cut from. Open that file in Textures.
- In the Images card use Search images and click the image. Selected image shows its X, Y, Width, Height, OffsetX and OffsetY and the picture at real size.
- To take just that icon out as a picture, open the Save menu and choose Export this image as PNG….
3. Find a window
Section titled “3. Find a window”- Click UI Windows under Interface. Search window files filters the file names; double-click a file in the list (
xml/…wnd.xml) to open it. - Choose the game screen size (800×600 up to 1920×1080) for windows that align to the screen, and the button state to show: Normal, Over, Push or Disable.
- The toggles show or hide images, texts, Bounds (window outlines) and Hidden (windows that start hidden). Preview draws the window the way the game does, without outlines and without hidden windows.
- The Windows card on the right is the tree of windows. Click one in the view or in the tree and its elements and attributes appear below, and every one of them can be edited. An image reference there is a
set#image; look it up in UI Image Sets.
4. Change a picture
Section titled “4. Change a picture”Textures edits the picture and writes a new .dds.
- Open the texture. Choose what to change with Magic wand (the area of similar colour), Colour range (every pixel of that colour), Lasso or Rectangle. Shift adds to the selection, Alt takes away. Tolerance, Close gaps and Feather fine-tune it; All, None, Invert, Grow and Shrink change the whole selection. With nothing selected, a recolour changes the whole picture.
- In Recolour, Colourise gives the selection a new colour and keeps its light and dark (Colour, Strength, Brightness, Contrast; the dropper takes a colour from the picture). Hue / Sat / Light shifts the existing colours.
- Click Apply to keep it or Cancel to drop the preview. Undo and redo are next to them.
- To paint something new in your own editor, use Save as… and choose PNG, edit the PNG outside the browser, then open it again with Open file….
Then set Save as .dds:
- Format: Auto (DXT1, and DXT5 when there is transparency), DXT1, DXT3, DXT5 or A8R8G8B8 (uncompressed, four times bigger). A
.ddsyou opened keeps its own format and its mip maps when you save it again. - Size: leave Keep. The tool rounds sizes to powers of two and tells you when it resizes. Image set boxes use pixel positions on the texture, so a texture with another size breaks every box on it.
- Mip maps: keep them on like the game’s own textures.
- In skin textures, transparent black (DXT1) or alpha 0 is where the game shows the skin colour (
#MODEL_COLOR). Do not paint over it.
Click Save .dds. The browser downloads <name>.dds. If you opened a .dds, the tool asks “Replace files?” first; nothing in your client is replaced by this, only your download. For the rest of the visit the list opens your edited copy of that texture.
Convert folder to .dds… converts every .png, .jpg, .tga and .bmp of a folder you opened with Other folder…, using the same format settings; untick the files you do not want. Each result is a separate download, so the browser may ask to allow several downloads.
5. Change an image set or a window
Section titled “5. Change an image set or a window”UI Image Sets:
- Click a box to select it. Drag it to move, drag its handles to resize, use the arrow keys to nudge it (Shift moves ten times as far), Delete removes it. Or type numbers into the image fields.
- Draw turns on drawing: drag on the texture to add a new image. The Imageset and Image buttons add, the copy button duplicates, the bin deletes (with a confirmation for a whole set).
- Names take letters, digits and
_only, an image name must be unique in its set, and Texture must be a plain file name. - Windows refer to images as
set#image, so renaming a box breaks every window that uses it. Check with UI Windows. - Undo and redo are in the top bar.
UI Windows: click selects, drag moves, handles resize, arrow keys nudge (Shift ×10), Del removes a child window, and undo and redo are in the top bar. Korean text is shown decoded and written back as CP949.
Open the Save menu of either tool. Use Save as file…, which downloads the XML (uiimageset.xml or the window file). The entries Save into the pack and Save into rs.iop are there, but the web version answers “Saving into packs is not available yet.”
A dot next to the title shows unsaved changes. Close the tab and they are gone.
6. Put the result into the pack
Section titled “6. Put the result into the pack”You now have a .dds or an .xml as a download. Put it into the pack with IOP Manager, as in Extract and replace a file:
- In IOP Manager, search the name of the entry (the texture name,
uiimageset.xmlor the window file). Note the pack and the folder. A texture is normally inmap.iopunderresource/texture; the XML files are normally inrs.iopunderxml/. - Select the entry and click Replace…. Pick your file. The entry keeps its name, so the pack ends up with the name the game looks for.
- Check Pack info: Changes must read what you expect. Click Verify.
- Download pack and put it into a client copy: game closed, backup of the original pack kept, same file name.
- Start the client and look at the changed screen.
If the same path is also in another pack, change the pack where you found the entry and test it in the client.
What stays on your PC
Section titled “What stays on your PC”The tools give you a download and you put it into the client yourself. Nothing is uploaded, and nothing is written into your game folder.
Things to know
Section titled “Things to know”- Textures writes a plain
.dds. A texture that was stored scrambled, or as.lsc, opens in Textures but saves as<name>.dds. Whether the client accepts a plain.ddsin its place: not confirmed yet. - Edit the
uiimageset.xmlof your own client. The sets and boxes differ between clients. - Several windows may use one image. Preview the windows that matter after you change a box.
