Compare commits
3 Commits
696b0b777f
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| be040c06d6 | |||
| 398b7dfa81 | |||
| 70920f2167 |
@@ -1,80 +1,3 @@
|
|||||||
# AGENTS.md
|
# AGENTS.md
|
||||||
|
|
||||||
EverQuest client config and a **minimal classic UI skin** (`UISkin=isuldor`) maintained as unified diffs against `uifiles/default/`.
|
* [EverQuest Legends spell data](/docs/eql-spell-data.md)
|
||||||
|
|
||||||
## Docs
|
|
||||||
|
|
||||||
* Install paths and INI layout: [docs/steam-linux-paths.md](docs/steam-linux-paths.md)
|
|
||||||
* 2026 theme refresh (what broke, what we changed): [docs/ui-theme-2026-refresh.md](docs/ui-theme-2026-refresh.md)
|
|
||||||
|
|
||||||
## Patch-set model (advice)
|
|
||||||
|
|
||||||
We patch **six** `EQUI_*.xml` files plus two `dark_tile_*.tga` textures — not a full skin fork. That is intentional.
|
|
||||||
|
|
||||||
| Do | Avoid |
|
|
||||||
|----|--------|
|
|
||||||
| Keep the patch set small (persistent on-screen windows only) | Copying all of `uifiles/default/` into git |
|
|
||||||
| Patch `uifiles/default/` → install to `uifiles/isuldor/` | Patching `uiresources/` / `AtlasSkin` (HTML/Cohtml panels) |
|
|
||||||
| Run `bash ui/verify.sh` before every commit and after every game patch | Relying on `patch --fuzz 3` without a dry-run |
|
|
||||||
| Regenerate diffs with `bash ui/install.sh --update` (CRLF-aware) | Hand-editing diffs or `diff -u` from LF-only XML |
|
|
||||||
| Budget **manual re-merge** for `EQUI_PlayerWindow` after major client updates | Expecting every patch to apply for years unchanged |
|
|
||||||
|
|
||||||
**Highest-churn files:** `EQUI_PlayerWindow.xml` (roles, aggro, meters), then `EQUI_HotButtonWnd.xml` (many slot animations). Everything else has been stable across years.
|
|
||||||
|
|
||||||
**Pin the client you verified against:** `ui/.verified-build` (eqgame mtime, patch list). Refresh with `bash ui/verify.sh --record` after a successful in-game check.
|
|
||||||
|
|
||||||
## Non-obvious details
|
|
||||||
|
|
||||||
* **Two UI trees:** `UISkin` → `uifiles/<name>/` (XML we patch). `AtlasSkin` → `uiresources/<name>/` (modern panels; **out of scope** — stay stock Default).
|
|
||||||
* **Stock XML is CRLF.** `uifiles/default/*.xml` use Windows line endings. LF-only merged files produce giant whole-file diffs; `install.sh --update` normalizes to CRLF when the default file is CRLF.
|
|
||||||
* **`patch --fuzz 3`** helps when line numbers drift (e.g. `EQUI_Animations`) but can apply the wrong hunk if context is ambiguous. Verify always uses dry-run; treat any future `FAILED` on PlayerWindow as a hand-merge, not a fuzz tweak.
|
|
||||||
* **Textures:** Register new `.tga` only in `EQUI_Animations.diff`; reference by filename elsewhere. `install.sh` copies `ui/*.tga` into `uifiles/isuldor/`.
|
|
||||||
* **Theme vs layout:** XML = chrome/templates. Window positions and fade % live in `UI_<Char>_<Server>_<Class>.ini` (`UISkin`, fades). Chat colors in `eqclient.ini` `[TextColors]`. Client updates can stomp INIs — keep canonical copies in this repo.
|
|
||||||
* **`EQType` on labels:** The player-window theme uses shadow labels and specific EQTypes (e.g. HP `17`, mana `124`) so text overlays gauges; stock uses different types — do not “fix” to match default without checking in-game.
|
|
||||||
* **Required stub labels:** `HPPerLabel` / `ManPercLabel` / `FatiguePercLabel` must exist as minimal `<Label>` pieces (ScreenID only) or the client breaks.
|
|
||||||
* **Install script:** Use `bash ui/install.sh` (shebang can fail on some mounts). `EQ_GAME_PATH` overrides auto-detect (Steam Linux path is tried first).
|
|
||||||
* **Game path detection:** Looks for `eqgame.exe` in install root (including Proton/Steam Linux `.exe` name).
|
|
||||||
|
|
||||||
## Lint / verify (run before commit)
|
|
||||||
|
|
||||||
From repo root:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 1. Patches apply cleanly against live uifiles/default/
|
|
||||||
bash ui/verify.sh
|
|
||||||
|
|
||||||
# 2. Optional: fail if eqgame.exe changed since ui/.verified-build
|
|
||||||
bash ui/verify.sh --strict
|
|
||||||
|
|
||||||
# 3. After game patch + in-game smoke test — update pin file
|
|
||||||
bash ui/verify.sh --record
|
|
||||||
```
|
|
||||||
|
|
||||||
**Install + verify together:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
bash ui/install.sh && bash ui/verify.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
**After editing `uifiles/isuldor/` in-game or by hand:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
bash ui/install.sh --update # regenerate *.diff (CRLF-safe)
|
|
||||||
bash ui/verify.sh --record
|
|
||||||
```
|
|
||||||
|
|
||||||
**Manual checks** (no automated linter for EQ UI XML):
|
|
||||||
|
|
||||||
* No duplicate `<Pieces>` entries in `EQUI_PlayerWindow` (easy to introduce when merging).
|
|
||||||
* `grep -c Player_HPLabelShadow` in built XML — should appear twice (element + one Pieces line), not three.
|
|
||||||
* Diff size sanity: `EQUI_PlayerWindow.diff` should be hundreds of lines, not 1500+ (signals CRLF/LF mismatch).
|
|
||||||
|
|
||||||
**In-game smoke test** (after client update): player window (HP/mana/XP/AA, group roles, aggro), hotbars, chat, spell window; inventory/AA should still look like **Default**.
|
|
||||||
|
|
||||||
## Workflow summary
|
|
||||||
|
|
||||||
```
|
|
||||||
game patch → bash ui/install.sh → bash ui/verify.sh
|
|
||||||
→ fix failed hunks (usually EQUI_PlayerWindow) → install.sh --update → verify.sh --record
|
|
||||||
→ set UISkin=isuldor in UI INI → login smoke test
|
|
||||||
```
|
|
||||||
|
|||||||
@@ -1,11 +1,5 @@
|
|||||||
[HotButtons]
|
[HotButtons]
|
||||||
Page1Button3=H0,@-1,0000000000000000,0,,
|
Page1Button12=M-1,A633,wGy000u0000I0000,177708,,Boots of the Long Road
|
||||||
Page1Button4=H1,@-1,0000000000000000,0,,
|
|
||||||
Page1Button5=H2,@-1,0000000000000000,0,,
|
|
||||||
Page1Button6=G10,@-1,0000000000000000,0,,
|
|
||||||
Page1Button9=G4,@-1,0000000000000000,0,,
|
|
||||||
Page1Button10=G12,@-1,0000000000000000,0,,
|
|
||||||
Page1Button12=M-1,A633,P3m000u0000D0000,177708,,Boots of the Long Road
|
|
||||||
Page1Button1=I2,@-1,0000000000000000,0,Pet attack,
|
Page1Button1=I2,@-1,0000000000000000,0,Pet attack,
|
||||||
[Defaults]
|
[Defaults]
|
||||||
AutoConsentGroup=1
|
AutoConsentGroup=1
|
||||||
@@ -23,6 +17,7 @@ UseImpliedHealing=0
|
|||||||
AutoAttackRangeAutoSwitch=1
|
AutoAttackRangeAutoSwitch=1
|
||||||
SuppressOutOfRangeWarnings=0
|
SuppressOutOfRangeWarnings=0
|
||||||
SuppressAttackWarnings=0
|
SuppressAttackWarnings=0
|
||||||
|
AutoSkillsLO0=30,0,0,0,0,0,0,0
|
||||||
[Friends]
|
[Friends]
|
||||||
SendToUChat=0
|
SendToUChat=0
|
||||||
[BlockedSpells]
|
[BlockedSpells]
|
||||||
@@ -62,4 +57,3 @@ Page1Button4Line1=/corpse Tanto
|
|||||||
Page1Button2Line1=/assist main
|
Page1Button2Line1=/assist main
|
||||||
Page1Button2Line2=/pause 6
|
Page1Button2Line2=/pause 6
|
||||||
Page1Button2Line3=/pet attack
|
Page1Button2Line3=/pet attack
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
+587
-430
File diff suppressed because it is too large
Load Diff
@@ -21,9 +21,16 @@ player_configs=(
|
|||||||
"${source_dir}"/[!_]*_*.ini
|
"${source_dir}"/[!_]*_*.ini
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# The client creates Backup_N copies while saving layouts. They are transient
|
||||||
|
# snapshots, not the current configuration we track.
|
||||||
|
configs=("${source_dir}/eqclient.ini")
|
||||||
|
for config in "${player_configs[@]}"; do
|
||||||
|
[[ "$(basename -- "${config}")" == *Backup* ]] && continue
|
||||||
|
configs+=("${config}")
|
||||||
|
done
|
||||||
|
|
||||||
# Player settings use Character_Server.ini, Character_Server_Class.ini, and
|
# Player settings use Character_Server.ini, Character_Server_Class.ini, and
|
||||||
# UI_Character_Server_Class.ini names. Launcher INIs do not match this shape.
|
# UI_Character_Server_Class.ini names. Launcher INIs do not match this shape.
|
||||||
configs=("${source_dir}/eqclient.ini" "${player_configs[@]}")
|
|
||||||
|
|
||||||
for config in "${configs[@]}"; do
|
for config in "${configs[@]}"; do
|
||||||
destination="${script_dir}/$(basename -- "${config}")"
|
destination="${script_dir}/$(basename -- "${config}")"
|
||||||
Executable
+34
@@ -0,0 +1,34 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
destination_dir="${EQL_GAME_PATH:-${HOME}/Games/EverQuestLegends}"
|
||||||
|
script_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
|
||||||
|
configs=(
|
||||||
|
"eqclient.ini"
|
||||||
|
"Pleb_oggok_LO1.ini"
|
||||||
|
"UI_Pleb_oggok_LO1.ini"
|
||||||
|
)
|
||||||
|
|
||||||
|
if [[ ! -d "${destination_dir}" ]]; then
|
||||||
|
echo "Error: EverQuest Legends directory not found: ${destination_dir}" >&2
|
||||||
|
echo "Set EQL_GAME_PATH to the game install directory." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
for config in "${configs[@]}"; do
|
||||||
|
source="${script_dir}/${config}"
|
||||||
|
if [[ ! -f "${source}" ]]; then
|
||||||
|
echo "Error: tracked configuration not found: ${source}" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
for config in "${configs[@]}"; do
|
||||||
|
source="${script_dir}/${config}"
|
||||||
|
destination="${destination_dir}/${config}"
|
||||||
|
cp -- "${source}" "${destination}"
|
||||||
|
echo "Updated eql/${config}"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Pushed ${#configs[@]} config file(s) to ${destination_dir}"
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
# AGENTS.md
|
||||||
|
|
||||||
|
EverQuest client config and a **minimal classic UI skin** (`UISkin=isuldor`) maintained as unified diffs against `uifiles/default/`.
|
||||||
|
|
||||||
|
## Docs
|
||||||
|
|
||||||
|
* Install paths and INI layout: [docs/steam-linux-paths.md](docs/steam-linux-paths.md)
|
||||||
|
* 2026 theme refresh (what broke, what we changed): [docs/ui-theme-2026-refresh.md](docs/ui-theme-2026-refresh.md)
|
||||||
|
|
||||||
|
## Patch-set model (advice)
|
||||||
|
|
||||||
|
We patch **six** `EQUI_*.xml` files plus two `dark_tile_*.tga` textures — not a full skin fork. That is intentional.
|
||||||
|
|
||||||
|
| Do | Avoid |
|
||||||
|
|----|--------|
|
||||||
|
| Keep the patch set small (persistent on-screen windows only) | Copying all of `uifiles/default/` into git |
|
||||||
|
| Patch `uifiles/default/` → install to `uifiles/isuldor/` | Patching `uiresources/` / `AtlasSkin` (HTML/Cohtml panels) |
|
||||||
|
| Run `bash ui/verify.sh` before every commit and after every game patch | Relying on `patch --fuzz 3` without a dry-run |
|
||||||
|
| Regenerate diffs with `bash ui/install.sh --update` (CRLF-aware) | Hand-editing diffs or `diff -u` from LF-only XML |
|
||||||
|
| Budget **manual re-merge** for `EQUI_PlayerWindow` after major client updates | Expecting every patch to apply for years unchanged |
|
||||||
|
|
||||||
|
**Highest-churn files:** `EQUI_PlayerWindow.xml` (roles, aggro, meters), then `EQUI_HotButtonWnd.xml` (many slot animations). Everything else has been stable across years.
|
||||||
|
|
||||||
|
**Pin the client you verified against:** `ui/.verified-build` (eqgame mtime, patch list). Refresh with `bash ui/verify.sh --record` after a successful in-game check.
|
||||||
|
|
||||||
|
## Non-obvious details
|
||||||
|
|
||||||
|
* **Two UI trees:** `UISkin` → `uifiles/<name>/` (XML we patch). `AtlasSkin` → `uiresources/<name>/` (modern panels; **out of scope** — stay stock Default).
|
||||||
|
* **Stock XML is CRLF.** `uifiles/default/*.xml` use Windows line endings. LF-only merged files produce giant whole-file diffs; `install.sh --update` normalizes to CRLF when the default file is CRLF.
|
||||||
|
* **`patch --fuzz 3`** helps when line numbers drift (e.g. `EQUI_Animations`) but can apply the wrong hunk if context is ambiguous. Verify always uses dry-run; treat any future `FAILED` on PlayerWindow as a hand-merge, not a fuzz tweak.
|
||||||
|
* **Textures:** Register new `.tga` only in `EQUI_Animations.diff`; reference by filename elsewhere. `install.sh` copies `ui/*.tga` into `uifiles/isuldor/`.
|
||||||
|
* **Theme vs layout:** XML = chrome/templates. Window positions and fade % live in `UI_<Char>_<Server>_<Class>.ini` (`UISkin`, fades). Chat colors in `eqclient.ini` `[TextColors]`. Client updates can stomp INIs — keep canonical copies in this repo.
|
||||||
|
* **`EQType` on labels:** The player-window theme uses shadow labels and specific EQTypes (e.g. HP `17`, mana `124`) so text overlays gauges; stock uses different types — do not “fix” to match default without checking in-game.
|
||||||
|
* **Required stub labels:** `HPPerLabel` / `ManPercLabel` / `FatiguePercLabel` must exist as minimal `<Label>` pieces (ScreenID only) or the client breaks.
|
||||||
|
* **Install script:** Use `bash ui/install.sh` (shebang can fail on some mounts). `EQ_GAME_PATH` overrides auto-detect (Steam Linux path is tried first).
|
||||||
|
* **Game path detection:** Looks for `eqgame.exe` in install root (including Proton/Steam Linux `.exe` name).
|
||||||
|
|
||||||
|
## Lint / verify (run before commit)
|
||||||
|
|
||||||
|
From repo root:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Patches apply cleanly against live uifiles/default/
|
||||||
|
bash ui/verify.sh
|
||||||
|
|
||||||
|
# 2. Optional: fail if eqgame.exe changed since ui/.verified-build
|
||||||
|
bash ui/verify.sh --strict
|
||||||
|
|
||||||
|
# 3. After game patch + in-game smoke test — update pin file
|
||||||
|
bash ui/verify.sh --record
|
||||||
|
```
|
||||||
|
|
||||||
|
**Install + verify together:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bash ui/install.sh && bash ui/verify.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
**After editing `uifiles/isuldor/` in-game or by hand:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bash ui/install.sh --update # regenerate *.diff (CRLF-safe)
|
||||||
|
bash ui/verify.sh --record
|
||||||
|
```
|
||||||
|
|
||||||
|
**Manual checks** (no automated linter for EQ UI XML):
|
||||||
|
|
||||||
|
* No duplicate `<Pieces>` entries in `EQUI_PlayerWindow` (easy to introduce when merging).
|
||||||
|
* `grep -c Player_HPLabelShadow` in built XML — should appear twice (element + one Pieces line), not three.
|
||||||
|
* Diff size sanity: `EQUI_PlayerWindow.diff` should be hundreds of lines, not 1500+ (signals CRLF/LF mismatch).
|
||||||
|
|
||||||
|
**In-game smoke test** (after client update): player window (HP/mana/XP/AA, group roles, aggro), hotbars, chat, spell window; inventory/AA should still look like **Default**.
|
||||||
|
|
||||||
|
## Workflow summary
|
||||||
|
|
||||||
|
```
|
||||||
|
game patch → bash ui/install.sh → bash ui/verify.sh
|
||||||
|
→ fix failed hunks (usually EQUI_PlayerWindow) → install.sh --update → verify.sh --record
|
||||||
|
→ set UISkin=isuldor in UI INI → login smoke test
|
||||||
|
```
|
||||||
|
Before Width: | Height: | Size: 340 KiB After Width: | Height: | Size: 340 KiB |
|
Before Width: | Height: | Size: 403 KiB After Width: | Height: | Size: 403 KiB |
+60
-41
@@ -583,71 +583,90 @@ User_102_Blue=78
|
|||||||
User_103_Red=204
|
User_103_Red=204
|
||||||
User_103_Green=204
|
User_103_Green=204
|
||||||
User_103_Blue=204
|
User_103_Blue=204
|
||||||
|
#EEEEEE white
|
||||||
|
User_104_Red=238
|
||||||
|
User_104_Green=238
|
||||||
|
User_104_Blue=238
|
||||||
|
#EEEEEE white
|
||||||
|
User_105_Red=238
|
||||||
|
User_105_Green=238
|
||||||
|
User_105_Blue=238
|
||||||
#FF6C60 red
|
#FF6C60 red
|
||||||
User_104_Red=204
|
|
||||||
User_104_Green=204
|
|
||||||
User_104_Blue=204
|
|
||||||
#FF6C60 red
|
|
||||||
User_105_Red=204
|
|
||||||
User_105_Green=204
|
|
||||||
User_105_Blue=204
|
|
||||||
User_106_Red=255
|
User_106_Red=255
|
||||||
User_106_Green=106
|
User_106_Green=108
|
||||||
User_106_Blue=96
|
User_106_Blue=96
|
||||||
User_107_Red=204
|
#EEEEEE white
|
||||||
User_107_Green=204
|
User_107_Red=238
|
||||||
User_107_Blue=204
|
User_107_Green=238
|
||||||
User_108_Red=204
|
User_107_Blue=238
|
||||||
User_108_Green=204
|
#EEEEEE white
|
||||||
User_108_Blue=204
|
User_108_Red=238
|
||||||
User_109_Red=204
|
User_108_Green=238
|
||||||
User_109_Green=204
|
User_108_Blue=238
|
||||||
User_109_Blue=204
|
#EEEEEE white
|
||||||
|
User_109_Red=238
|
||||||
|
User_109_Green=238
|
||||||
|
User_109_Blue=238
|
||||||
|
#FFFFB6 yellow
|
||||||
User_110_Red=255
|
User_110_Red=255
|
||||||
User_110_Green=255
|
User_110_Green=255
|
||||||
User_110_Blue=182
|
User_110_Blue=182
|
||||||
|
#FFFFB6 yellow
|
||||||
User_111_Red=255
|
User_111_Red=255
|
||||||
User_111_Green=255
|
User_111_Green=255
|
||||||
User_111_Blue=182
|
User_111_Blue=182
|
||||||
|
#FFFFB6 yellow
|
||||||
User_112_Red=255
|
User_112_Red=255
|
||||||
User_112_Green=255
|
User_112_Green=255
|
||||||
User_112_Blue=182
|
User_112_Blue=182
|
||||||
User_113_Red=204
|
#EEEEEE white
|
||||||
User_113_Green=204
|
User_113_Red=238
|
||||||
User_113_Blue=204
|
User_113_Green=238
|
||||||
User_114_Red=204
|
User_113_Blue=238
|
||||||
User_114_Green=204
|
#EEEEEE white
|
||||||
User_114_Blue=204
|
User_114_Red=238
|
||||||
User_115_Red=204
|
User_114_Green=238
|
||||||
User_115_Green=204
|
User_114_Blue=238
|
||||||
User_115_Blue=204
|
#EEEEEE white
|
||||||
|
User_115_Red=238
|
||||||
|
User_115_Green=238
|
||||||
|
User_115_Blue=238
|
||||||
|
#FF6C60 red
|
||||||
User_116_Red=255
|
User_116_Red=255
|
||||||
User_116_Green=108
|
User_116_Green=108
|
||||||
User_116_Blue=96
|
User_116_Blue=96
|
||||||
|
#96CBFE blue
|
||||||
User_117_Red=150
|
User_117_Red=150
|
||||||
User_117_Green=203
|
User_117_Green=203
|
||||||
User_117_Blue=254
|
User_117_Blue=254
|
||||||
User_118_Red=204
|
#EEEEEE white
|
||||||
User_118_Green=204
|
User_118_Red=238
|
||||||
User_118_Blue=204
|
User_118_Green=238
|
||||||
|
User_118_Blue=238
|
||||||
|
#96CBFE blue
|
||||||
User_119_Red=150
|
User_119_Red=150
|
||||||
User_119_Green=203
|
User_119_Green=203
|
||||||
User_119_Blue=254
|
User_119_Blue=254
|
||||||
User_120_Red=204
|
#EEEEEE white
|
||||||
User_120_Green=204
|
User_120_Red=238
|
||||||
User_120_Blue=204
|
User_120_Green=238
|
||||||
|
User_120_Blue=238
|
||||||
|
#EEEEEE white
|
||||||
User_121_Red=238
|
User_121_Red=238
|
||||||
User_121_Green=238
|
User_121_Green=238
|
||||||
User_121_Blue=238
|
User_121_Blue=238
|
||||||
User_122_Red=204
|
#EEEEEE white
|
||||||
User_122_Green=204
|
User_122_Red=238
|
||||||
User_122_Blue=204
|
User_122_Green=238
|
||||||
User_123_Red=204
|
User_122_Blue=238
|
||||||
User_123_Green=204
|
#EEEEEE white
|
||||||
User_123_Blue=204
|
User_123_Red=238
|
||||||
User_124_Red=204
|
User_123_Green=238
|
||||||
User_124_Green=204
|
User_123_Blue=238
|
||||||
User_124_Blue=204
|
#EEEEEE white
|
||||||
|
User_124_Red=238
|
||||||
|
User_124_Green=238
|
||||||
|
User_124_Blue=238
|
||||||
[VideoMode]
|
[VideoMode]
|
||||||
Width=1920
|
Width=1920
|
||||||
Height=1080
|
Height=1080
|
||||||
|
|||||||
@@ -1,6 +1,16 @@
|
|||||||
# EQ Player Profile
|
# EQ Configuration
|
||||||
|
|
||||||
My configuration notes for EverQuest.
|
My configuration notes for EverQuest and some quick and dirty scripts.
|
||||||
|
|
||||||
|
## Scripts
|
||||||
|
|
||||||
|
* [Spell Data Explorer](/docs/eql-spell-data.md)
|
||||||
|
* `EverQuestLegends/pull.sh` — Pull Legends config files into the repo
|
||||||
|
* `EverQuestLegends/push.sh` — Push tracked Legends config files to the game
|
||||||
|
* `scripts/eql_spells.py` — Builds and queries a local spell-data index.
|
||||||
|
* `EverQuestLive/ui/install.sh` — Builds and installs the custom Isuldor UI.
|
||||||
|
* `EverQuestLive/ui/verify.sh` — Verifies UI patches against game defaults.
|
||||||
|
* `EverQuestLive/ui/eq-path.sh` — Finds the EverQuest installation directory.
|
||||||
|
|
||||||
## Characters
|
## Characters
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user