Overhaul scripts for 2026 refresh
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 340 KiB |
@@ -0,0 +1,63 @@
|
||||
Here are the default UI and settings paths in your Steam install:
|
||||
|
||||
**Install root:** `~/.local/share/Steam/steamapps/common/Everquest F2P`
|
||||
|
||||
---
|
||||
|
||||
## Default UI paths
|
||||
|
||||
EverQuest splits UI into two parallel trees, both keyed off skin names in the UI INI:
|
||||
|
||||
| Setting | Default value | Path |
|
||||
|---------|---------------|------|
|
||||
| `UISkin` | `Default` | `uifiles/default/` |
|
||||
| `AtlasSkin` | `Default` | `uiresources/default/` |
|
||||
|
||||
### `uifiles/default/` — classic UI skin
|
||||
- **173** `EQUI_*.xml` window/layout files (e.g. `EQUI_PlayerWindow.xml`, `EQUI_HotButtonWnd.xml`)
|
||||
- Textures: `.tga`, `.dds`
|
||||
- Subfolders: `loadscreens/`, `overseer/`
|
||||
|
||||
### `uiresources/default/` — newer UI resources
|
||||
- HTML/JS/CSS for modern panels (`index.html`, `index.js`, `main.css`, `cohtml.js`)
|
||||
- Subfolders: `assets/images/`, `fonts/`, `img/`, `windows/`
|
||||
|
||||
### Other UI-related folder
|
||||
- `uifiles/classic_spell_icons/` — alternate spell icon set only (not a full skin)
|
||||
|
||||
Custom skins go under `uifiles/<SkinName>/` and are selected with `UISkin=<SkinName>` in the character UI INI (your repo’s `ui/install.sh` script targets `uifiles/isuldor/` this way).
|
||||
|
||||
---
|
||||
|
||||
## Settings paths
|
||||
|
||||
All of these live in the **game install root** (not under `~/.config` or similar):
|
||||
|
||||
| File / folder | Purpose |
|
||||
|---------------|---------|
|
||||
| `eqclient.ini` | Global client settings: video, audio, graphics, `[Options]`, `[TextColors]`, `[KeyMaps]`, etc. |
|
||||
| `defaults.ini` | Shipped factory defaults for UI window layouts and positions (reset reference) |
|
||||
| `UI_<Char>_<Server>_<Class>.ini` | Per-character UI state: window positions, fades, and `UISkin` / `AtlasSkin` |
|
||||
| `<Char>_<Server>_<Class>.ini` | Per-character game settings: hotbars, combat, abilities, etc. |
|
||||
| `_characters.ini` | Character registry (`Character0=Isuldor,bertox` on your install) |
|
||||
| `userdata/` | Address book, ignore list, guild notes (`AddressBook.txt`, `IgnoreList.txt`, `GN_*.txt`) |
|
||||
|
||||
**LaunchPad / login UI** (separate from in-game UI):
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `eqlsClient.ini` | Launcher URLs and client config |
|
||||
| `eqlsUIConfig.ini` | LaunchPad window positions |
|
||||
| `eqlsPlayerData.ini` | LaunchPad player data |
|
||||
| `LaunchPad.ini` / `LaunchPad-user.ini` | LaunchPad settings |
|
||||
|
||||
---
|
||||
|
||||
## Your current character
|
||||
|
||||
For `Isuldor` on `bertox`:
|
||||
|
||||
- UI layout: `UI_Isuldor_bertox_PAL.ini` → `UISkin=Default`, `AtlasSkin=Default`
|
||||
- Character settings: `Isuldor_bertox_PAL.ini`
|
||||
|
||||
So right now you’re on the stock UI at `uifiles/default/` and `uiresources/default/`, with layout/state stored in those per-character INI files in the install root.
|
||||
@@ -0,0 +1,141 @@
|
||||
# Isuldor UI theme refresh (March 2022 → May 2026)
|
||||
|
||||
This article records what changed in EverQuest’s stock UI between our last theme maintenance pass and this refresh, what we did to bring the **isuldor** minimal skin forward, and how to install and maintain it on the current client.
|
||||
|
||||
Paths for the local Steam/Linux install are in [steam-linux-paths.md](steam-linux-paths.md).
|
||||
|
||||
## What the theme does
|
||||
|
||||
The isuldor skin is a small set of patches against `uifiles/default/` (not a full skin replacement). It keeps only the windows that stay on screen most of the time and strips chrome so they fade into a dark layout:
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `EQUI_Templates.xml` | Adds `WDT_Def2_Minimal` and `WDT_Inner_Null` draw templates (dark tiled chrome, borderless inner panels) |
|
||||
| `EQUI_Animations.xml` | Registers `dark_tile_64.tga` / `dark_tile_192.tga` and a 1×1 titlebar placeholder animation |
|
||||
| `EQUI_HotButtonWnd.xml` | Replaces hotbar slot art with dark tiles; smaller 32×32 normal state |
|
||||
| `EQUI_ChatWindow.xml` | Borderless chat shell; null inner template on input/output |
|
||||
| `EQUI_CastSpellWnd.xml` | Transparent spell book shell; no close box or outer border |
|
||||
| `EQUI_PlayerWindow.xml` | Compact player frame: overlaid HP/mana text, inline XP/AA XP bars, transparent shell |
|
||||
|
||||
Textures live in `ui/dark_tile_*.tga` and are copied beside the patched XML under `uifiles/isuldor/`.
|
||||
|
||||
The theme does **not** patch `uiresources/default/` (`AtlasSkin`). Modern HTML/Cohtml panels (guild, achievements, overseer, etc.) keep the stock look.
|
||||
|
||||
## Refresh summary (May 2026)
|
||||
|
||||
| Patch | Result against May 2026 `default` |
|
||||
|-------|-----------------------------------|
|
||||
| `EQUI_Animations` | Applies cleanly (line offsets shifted; hunks still match) |
|
||||
| `EQUI_CastSpellWnd` | Applies cleanly |
|
||||
| `EQUI_ChatWindow` | Applies cleanly |
|
||||
| `EQUI_HotButtonWnd` | Applies cleanly |
|
||||
| `EQUI_Templates` | Applies cleanly |
|
||||
| `EQUI_PlayerWindow` | **Required rewrite** — see below |
|
||||
|
||||
`ui/install.sh` was updated to auto-detect the Steam Linux path (`~/.local/share/Steam/steamapps/common/Everquest F2P`) and honor `EQ_GAME_PATH`. The skin was rebuilt under `uifiles/isuldor/` on this machine.
|
||||
|
||||
## Why `EQUI_PlayerWindow` broke
|
||||
|
||||
The March 2022 patch set was generated against an older `EQUI_PlayerWindow.xml`. Three classes of drift caused `patch` to fail on hunks 5–7:
|
||||
|
||||
### 1. Label layout offsets
|
||||
|
||||
Stock UI moved percent labels (`HPPerLabel`, `ManPercLabel`, `FatiguePercLabel`) from `LeftAnchorOffset` **24** to **34**. Our diff still described the old coordinates, so context lines no longer matched.
|
||||
|
||||
### 2. New controls after the fatigue block
|
||||
|
||||
Daybreak added group-role buttons and aggro readouts **below** the fatigue labels, for example:
|
||||
|
||||
- `PW_GroupRoleTank`, `PW_GroupRoleAssist`, `PW_GroupRolePuller`, `PW_GroupRoleMarkNPC`
|
||||
- `PW_AggroPctPlayerLabel`, `PW_AggroNameSecondaryLabel`, `PW_AggroPctSecondaryLabel`
|
||||
- Parcel/mail icons and attack-indicator animations
|
||||
|
||||
The 2019 theme inserted custom **XP** and **AA XP** gauges in that slot. The refresh keeps those custom gauges but places them **immediately before** the group-role buttons so stock pieces are preserved.
|
||||
|
||||
### 3. Removed / relocated elements
|
||||
|
||||
- `PW_VoiceVolume` no longer exists; the old diff referenced it as a line anchor near the screen definition.
|
||||
- `EQType` values for dynamic HP/mana text changed in stock UI (`19`/`20`); the theme uses `17` / `124` with shadow labels and live data from the client.
|
||||
|
||||
### 4. Line endings
|
||||
|
||||
Stock XML under `uifiles/default/` uses **CRLF**. Regenerating diffs from LF-only edits produces a whole-file diff and breaks `patch`. When updating `EQUI_PlayerWindow.diff`, normalize the built `isuldor` file to CRLF before `diff -u` (see [Maintenance](#maintenance)).
|
||||
|
||||
## Stock UI churn since March 2022
|
||||
|
||||
On this install, `uifiles/default/` still has **173** `EQUI_*.xml` window files (unchanged count), but **49** of them have filesystem dates after 2022-03-01. Notable areas touched by Daybreak in that window:
|
||||
|
||||
- **Player / target / pet** — `EQUI_PlayerWindow.xml`, `EQUI_TargetWindow.xml`, `EQUI_PetInfoWindow.xml`, blocked-buff windows
|
||||
- **Inventory & loot** — `EQUI_Inventory.xml`, `EQUI_AdvancedLootWnd.xml`, `EQUI_LootWnd.xml`, `EQUI_DragonHoardWnd.xml`, banks, barter, tradeskill depot
|
||||
- **Progression UI** — `EQUI_AAWindow.xml`, `EQUI_TaskWnd.xml`, `EQUI_TaskOverlayWnd.xml`, achievements
|
||||
- **Social / commerce** — guild management/bank, overseer, real estate, merchant, purchase flows
|
||||
- **Options & login** — `EQUI_OptionsWindow.xml`, character list/create, respawn selector
|
||||
|
||||
None of those files are in our patch set by design (see README: avoid maintaining rarely visible windows). After a major client patch, spot-check the six patched windows in-game; everything else stays on `Default`.
|
||||
|
||||
`uiresources/default/` (selected by `AtlasSkin`) continues to grow independently; expect modern panels to look stock even with `UISkin=isuldor`.
|
||||
|
||||
## Install and enable
|
||||
|
||||
From the repo:
|
||||
|
||||
```bash
|
||||
cd ui
|
||||
bash install.sh # or: EQ_GAME_PATH="/path/to/EverQuest" bash install.sh
|
||||
```
|
||||
|
||||
Set the skin on a character in the UI INI in the game install root:
|
||||
|
||||
```ini
|
||||
UISkin=isuldor
|
||||
AtlasSkin=Default
|
||||
```
|
||||
|
||||
(`UI_Vulch_coirnav.ini` in this repo is an example.) Reload UI layout from that INI under **Options → General** if windows look wrong after the first login.
|
||||
|
||||
Fade amounts (0% on most windows, higher on hotbars/chat) remain in the per-character UI INI, not in the XML patches.
|
||||
|
||||
## Maintenance
|
||||
|
||||
**Rebuild skin from patches**
|
||||
|
||||
```bash
|
||||
bash ui/install.sh
|
||||
```
|
||||
|
||||
**Refresh patches after editing `uifiles/isuldor/` in-game or by hand**
|
||||
|
||||
```bash
|
||||
bash ui/install.sh --update
|
||||
```
|
||||
|
||||
**Regenerate only `EQUI_PlayerWindow.diff` after hand-merging**
|
||||
|
||||
```bash
|
||||
GAME="$HOME/.local/share/Steam/steamapps/common/Everquest F2P"
|
||||
sed 's/$/\r/' "$GAME/uifiles/isuldor/EQUI_PlayerWindow.xml" > /tmp/pw.crlf.xml
|
||||
diff -u "$GAME/uifiles/default/EQUI_PlayerWindow.xml" /tmp/pw.crlf.xml \
|
||||
> ui/EQUI_PlayerWindow.diff
|
||||
```
|
||||
|
||||
**Verify all patches before committing**
|
||||
|
||||
```bash
|
||||
bash ui/verify.sh
|
||||
bash ui/verify.sh --record # after in-game smoke test; updates ui/.verified-build
|
||||
```
|
||||
|
||||
## Testing checklist
|
||||
|
||||
After each client update:
|
||||
|
||||
1. Run `bash ui/install.sh` and confirm no `FAILED` hunks.
|
||||
2. Log in with `UISkin=isuldor` — check player window (HP/mana/XP/AA), hotbars, chat, spell gem window.
|
||||
3. Open group roles and aggro labels on the player window; confirm they still render and click.
|
||||
4. Toggle a few rarely used stock windows (inventory, AA) — they should look like **Default**, not broken.
|
||||
|
||||
## References
|
||||
|
||||
- [steam-linux-paths.md](steam-linux-paths.md) — install root, `UISkin` / `AtlasSkin`, character INI files
|
||||
- [README.md](../README.md) — general client tuning (fullscreen, lighting, chat colors)
|
||||
- Screenshot of the minimal layout: [imgur mcO4oAA](https://i.imgur.com/mcO4oAA.jpg) (2019; layout is similar after refresh)
|
||||
Reference in New Issue
Block a user