https://github.com/ktkr3d/oUF_MyLayout

oUF MyLayoutアドオンに機能追加しました。

  • ミニマップボタン
  • テストモード

追加内容

設定画面

ミニマップボタン

ミニマップ上にoUF_MyLayoutアドオンのアイコンを表示します。左クリックで設定画面を表示します。右クリックでテストモードをトグルします。

テストモード

パーティフレーム、ボスフレーム、メインタンクフレーム、レイドフレームをテスト表示します。
ミニマップボタンを右クリックするか、設定画面でテストモードをトグルします。

導入

インストール

https://wowup.io/guide/get-addons/overview
Install from URLの手順でURLからインストール

  1. WowUpを起動
  2. 左のサイドメニューからGet Addons
  3. 右上のInstall from URL
  4. Install Addon URLダイアログでhttps://github.com/ktkr3d/oUF_MyLayoutを指定
  5. Import
  6. Install
  7. Close

アップデート

Issues

Closed

  • chore: WoW 12.1.0 / oUF 14.0.0のAuras(Buff/Debuff)に対応 v0.3.1
  • fix: パラディンとローグのログイン直後のパワーバーの幅不正を修正 v0.3.3
  • fix: raidユニットフレームにマウスホバーでツールチップが表示されない v0.3.5
  • fix: テストモードのユニット(boss, maintank)にマウスホバーでエラー v0.3.5
  • fix: テストモードを解除してもraidユニットフレームの表示内容が通常に戻らない v0.3.5
  • fix: ターゲットフレームがプレイヤーかプレイヤーのペットの場合、テストモードの終了後に描画が不正になる v0.3.6
  • feat: 動的raidユニットフレーム機能実装(コンバット外でグループ数6~8の場合に自動的にraidユニットフレーム幅を縮小) v0.3.7

Open

  • test: まれにraidユニットフレームがテストモードのスタイルから戻らない
  • test: 各オプション項目の動作確認、ヘルスタグ等のタグの棚卸し、不要な項目の削除
  • feat: 動的raidユニットフレーム機能の有効化指定(ns.Config.Units.Raid.AutoFitGroups = true)をオプション画面にも追加
  • feat: NPC(boss, follower等)の名前短縮表示
  • feat: ユニットフレームの位置をマウスで移動

その他

deployスクリプト

  • 開発中のコードをゲームのAddonフォルダにデプロイします。lib、mediaはほぼ固定なのでデプロイは省略しています。
    .release\deploy.ps1
    $SOURCEDIR = Split-Path $PSScriptRoot -Parent
    $ADDONNAME = Split-Path $SOURCEDIR -Leaf
    $ADDONDIR = "C:\Program Files (x86)\World of Warcraft\_retail_\Interface\AddOns\"
    $DESTINATIONDIR = $ADDONDIR + $ADDONNAME

    $exts = "lua", "toc", "xml", "md"
    foreach ($e in $exts) {
    Copy-Item ($SOURCEDIR + "\*." + $e) $DESTINATIONDIR -Force
    }

releaseスクリプト

  • Githubにリリースするために現在のコード/リソースをアーカイブします。.tocファイル内のバージョン番号を更新してから実行します。
    .release\release.ps1
    # PowerShell script to create a release ZIP for the WoW Addon
    Set-Location $PSScriptRoot

    $tocFile = Get-ChildItem -Path ".." -Filter "*.toc" | Select-Object -First 1
    if (-not $tocFile) {
    Write-Error "No TOC file found in the parent directory."
    exit
    }
    $tocPath = $tocFile.FullName

    # TOCファイルからTitleとVersionを抽出
    $title = ""
    $version = ""
    $tocContent = Get-Content $tocPath -Encoding UTF8

    foreach ($line in $tocContent) {
    if ($line -match "## Title:\s*(.*)") { $title = $matches[1].Trim() }
    if ($line -match "## Version:\s*(.*)") { $version = $matches[1].Trim() }
    }

    if (-not $title -or -not $version) {
    Write-Error "Could not find Title or Version in TOC file."
    exit
    }

    # 出力ディレクトリの作成 (.release/Version名)
    $releaseDir = Join-Path $PSScriptRoot $version
    if (!(Test-Path $releaseDir)) { New-Item -ItemType Directory -Path $releaseDir | Out-Null }

    $zipFileName = "$title-$version.zip"
    $zipPath = Join-Path $releaseDir $zipFileName

    # 一時的なステージングフォルダの作成
    $stagingRoot = Join-Path $PSScriptRoot "staging"
    $destFolder = Join-Path $stagingRoot $title
    if (Test-Path $stagingRoot) { Remove-Item -Recurse -Force $stagingRoot }
    New-Item -ItemType Directory -Path $destFolder | Out-Null

    # プロジェクトファイルをコピー(ドットで始まるファイル/フォルダを除外)
    Get-ChildItem -Path ".." | Where-Object { $_.Name -notmatch "^\." } | ForEach-Object {
    Copy-Item -Path $_.FullName -Destination $destFolder -Recurse
    }

    # ZIPファイルの作成
    if (Test-Path $zipPath) { Remove-Item $zipPath }
    Compress-Archive -Path $destFolder -DestinationPath $zipPath

    # クリーンアップ
    Remove-Item -Recurse -Force $stagingRoot
    Write-Host "Created release zip: $zipPath"