================================================================================
  BOOM - Modern Iyilestirme ve Destek Ekip Cerceveleri
  Surum 1.4.7  |  World of Warcraft Retail 12.0.7 (Midnight)
================================================================================

Tikla-buyu destekli, sifirdan yazilmis bir ekip cercevesi (raid frame) addon'u.
Iyilestiriciler, tanklar ve destek DPS'leri icin.


--------------------------------------------------------------------------------
KURULUM
--------------------------------------------------------------------------------

1. Oyun kapaliyken, ZIP icindeki "Boom" klasorunu su dizine kopyala:

   World of Warcraft\_retail_\Interface\AddOns\

   Dogru yaptiysan su dosya olusmus olmali:
   ...\Interface\AddOns\Boom\Boom.toc

   ONEMLI: Ic ice klasor olmasin. "AddOns\Boom\Boom\Boom.toc" yanlistir.

2. Oyunu ac. Karakter secim ekranindaki "AddOns" dugmesinden "Boom"un
   isaretli oldugundan emin ol.

3. Giris yap.


--------------------------------------------------------------------------------
ILK KULLANIM
--------------------------------------------------------------------------------

Giristen birkac saniye sonra bir karsilama penceresi acilir:

  - Uzmanligini otomatik algilar ve hangi buyuyu hangi tusa atayacagini
    ONCEDEN listeler.
  - "Onerilen kurulumu kullan" dersen hepsi tek seferde uygulanir.
  - "Kendim ayarlayacagim" dersen hicbir seye dokunmaz.

Bu pencere bir kez cikar. Istedigin zaman /boom setup ile geri cagirabilirsin.

Guvenlik: sag tik her zaman oyuncu menusu, orta tik her zaman hedefleme
olarak ayrilir. Hicbir kurulum seni bunlarsiz birakamaz.


--------------------------------------------------------------------------------
BUYULERI KENDIN ATAMAK
--------------------------------------------------------------------------------

/boom -> "Buyuler ve Tuslar" sekmesi.

Uc adim:

  1. "Buyu adi veya kimligi" kutusuna buyunun adini yaz. Oyundaki adiyla
     yazman yeterli (Regrowth, Renew...). Istersen ID de yazabilirsin.
  2. "Tus" acilir menusunden hangi fare dugmesi + degistirici ile
     kullanilacagini sec. 40 kombinasyonun tamami listede:
     Sol tik, Shift+Sol tik, Ctrl+Sol tik, Alt+Sol tik, Ctrl+Shift+Sol tik...
     ve ayni sekilde sag tik, orta tik, 4. ve 5. dugmeler icin.
     Zaten dolu olan tuslarin yaninda ne bagli oldugu gri renkte yazar,
     boylece yanlislikla ustune yazmazsin.
  3. "Ata" dugmesine bas. (Buyu kutusundayken Enter'a basmak da yeterli.)

Alttaki "Mevcut atamalar" listesi o an bagli olan her seyi gosterir. Bir
satira tiklarsan o tus yukarida secili hale gelir; uzerine yeni bir buyu
atayabilir ya da "Bu tusu temizle" ile silebilirsin.

  - Buyu yerine eylem atamak icin "Diger eylemler" bolumundeki dugmeleri
    kullan: Hedefle / Odakla / Yardim et / Sag tik menusu.
  - Uzmanliginda olmayan bir buyuyu de atayabilirsin (off-spec'ini onceden
    hazirlamak icin). Bu durumda uyari verir ama atamayi yapar.

Not: savas sirasinda yaptigin degisiklikler savastan cikar cikmaz uygulanir.
Bu oyunun korumali cerceve kurali, addon kisiti degil.


--------------------------------------------------------------------------------
KOMUTLAR
--------------------------------------------------------------------------------

  /boom              Ayarlar penceresi          (kisayol: /bm)
  /boom lock         Cerceve kilidini ac/kapat  (acikken surukleyerek yerlestir)
  /boom test         Test modu (tek basinayken yerlesim ayarlamak icin)
  /boom setup        Onerilen kurulum sihirbazi
  /boom lang en      Arayuzu Ingilizce yap      (tr ile geri don)
  /boom spells       Bulunamayan buyuleri listeler
  /boom errors       Yakalanan hatalari listeler
  /boom secrets      Istemcinin hangi aura verisini sakladigini yazar
  /boom secrets spells   Kalici olarak gizlenen izlenen buyuleri listeler
  /boom blizz        Blizzard cercevelerinin durumunu yazar
  /boom reset        Mevcut profili sifirlar

Ayrica mini harita dugmesi var: sol tik ayarlar, sag tik kilit.


--------------------------------------------------------------------------------
BILINMESI GEREKENLER
--------------------------------------------------------------------------------

  - Cerceveler SAVAS SIRASINDA tasinamaz ve atama degistirilemez. Bu oyunun
    korumali cerceve kurali, addon kisiti degil. Boom savasta yapilan
    degisiklikleri kuyruga alir, savas biter bitmez uygular.

  - Arayuz varsayilan olarak OYUNUN DILINI alir (Turkce WoW istemcisi
    olmadigi icin bu pratikte Ingilizce demek). Turkce icin: /boom lang tr
    ya da /boom -> Genel -> Dil. Secimin profile kaydedilir.

  - Blizzard'in kendi ekip/grup cerceveleri varsayilan olarak gizlenir.
    Istemiyorsan: /boom -> Genel -> ilgili kutulari kaldir.

  - Blizzard'in EKIP YONETICISI (ekranin sol kenarindaki acilir sekme:
    ekip isaretleri, hazir kontrolu, gorev anketi) artik AYRI bir ayar ve
    varsayilan olarak GORUNUR. Boom cerceveleri degistirse de o sekmedeki
    isaretler ve hazir kontrolu ise yaramaya devam eder.
    Gizlemek icin: /boom -> Genel -> "Blizzard ekip yoneticisini gizle".
    Not: sekmenin party'de mi yoksa sadece raid'de mi cikacagina Blizzard
    karar verir, Boom degil. Gorunmuyorsa /boom blizz yazip bak - ciktida
    "parent: BoomHiddenParent" yaziyorsa gizleyen Boom'dur, "parent:
    UIParent" ve "shown: false" yaziyorsa gizleyen oyunun kendisidir.

  - Addon 20 MB'in buyuk kismi 40 uzmanlik gorselidir. Istemezsen
    /boom -> Genel -> "Uzmanlik portreleri" kutusunu kaldir (dosyalar
    diskte kalir, sadece gosterilmez).

  - Hicbir kutuphane gerekmez. Tek basina calisir.


--------------------------------------------------------------------------------
SORUN GIDERME
--------------------------------------------------------------------------------

  Cerceveler gorunmuyor
      Tek basinayken grup cercevesi gizlidir. /boom test ile onizle, ya da
      /boom -> Yerlesim -> Grup -> "Yalnizken goster" isaretle.

  Tiklayinca buyu calismiyor
      /boom spells calistir. Uzmanliginda olmayan buyuler atanmaz.
      Ayrica /boom -> Tikla-Buyu -> "Etkinlestir" acik mi bak.

  Cerceve kilidi acikken tiklama calismiyor
      Bu kasten: kilit acikken tikla-buyu kapatilir ki suruklerken
      yanlislikla buyu basmayasin. /boom lock ile kilitle.

  Bir sey ters gitti
      /boom errors  -> hangi bolumun ne hata verdigini yazar.
      /boom reset   -> profili sifirlar.


--------------------------------------------------------------------------------
1.4.7 ILE NE DEGISTI
--------------------------------------------------------------------------------

  DUZELTME: sinif yetenekleri satirinin hepsi gorunmuyordu

      Uc ayri sebep vardi, ucu de bu satiri ilk yazarken sectigim varsayilanlar:

      1. KONUM. Satir "BOTTOM" noktasina bagliydi; oradan saga dogru
         buyuyor, yani cercevenin YATAY ORTASINDAN basliyordu. 110 piksel
         genisliginde bir grup cercevesinde dorduncu ikon disariya tasiyordu.

      2. ALT KOMSU. Cercevenin altinda duran her sey, grup yerlesimi 3 piksel
         araliklarla dizildigi icin bir alttaki oyuncunun cercevesine biniyor.

         Ikisi de cozuldu: satir artik cercevenin SOL DISINDA duruyor ve
         soldan uzaklasarak buyuyor. Dikeyde kendi cercevesinin ortasinda
         oldugu icin komsulara hic degmiyor.

      3. SAYI. En fazla 4 ikon gosteriliyordu; iyilestirici bir Shaman ve
         iyilestirici bir Evoker 5 yetenek getiriyor. 5'e cikarildi.

      Mevcut profiller otomatik duzeltiliyor - ama YALNIZCA satiri hic
      ellememis olanlar. Kendi yerine tasidiysan oldugu yerde kaliyor.

  DUZELTME: Shaman'a hem Bloodlust hem Heroism yaziliydi

      Bir Shaman'in bunlardan yalnizca BIRI olur, hangisi oldugunu tarafi
      belirler. Ikisini birden gostermek hem bir slotu bosa harciyordu hem de
      o oyuncuda olmayan bir yetenegi gosteriyordu. Artik tarafa gore
      filtreleniyor.

  YENI: SINIF YETENEKLERI - sabit duran CD satiri

      Buraya kadarki butun CD gostergeleri "su an ne acik" diye soruyordu ve
      hepsi istemcinin bir aurayi ya da bir atisi ACIK ETMESINE bagliydi.
      Dungeon dovusu sirasinda ikisini de etmiyor - yani hepsi tam da bir
      iyilestiricinin baktigi anda susuyordu.

      Bu gosterge bambaska bir soru soruyor: BU OYUNCU NE YAPABILIR.
      Sinifi ve rolu roster'dan geliyor, o kadar. Hicbir acik etmeye ihtiyaci
      yok.

          Warrior'in cercevesinde   Rallying Cry, Shield Wall, Last Stand
          Shaman'in cercevesinde    Spirit Link, Healing Tide, Bloodlust
          Evoker'in cercevesinde    Rewind, Zephyr, Obsidian Scales

      GORUNUYORSA HAZIR, KAYBOLDUYSA KULLANILMIS. Istedigin yon buydu ve
      ayni zamanda guvenli tarafa dusen yon: hicbir sey gozlemlenemiyorsa
      satir oldugu gibi kaliyor ve "bu insanlarda bu CD'ler var" diyor - ki
      bu dogru, ve bugun hicbir ekip cercevesinin gostermedigi bir bilgi.

      Bir CD'nin kullanildigini iki bagimsiz yoldan fark ediyor, biri yetiyor:

          atis kaydi    kesin, ama instance icinde kor
          birakilan buff  varsa ve istemci acik ediyorsa

      Buff'i gormek ayni zamanda SAYACI DA BASLATIYOR. Yani buff dustukten
      sonra ikon geri gelmiyor - dort dakikalik bir CD'nin sekizinci
      saniyesinde "hazir" yazmiyor.

      ACIKCA SOYLENMESI GEREKEN: Boom'un goremedigi bir yerde basilan CD,
      basilmamis gibi yanik kalir. Bu buradan duzeltilebilir bir sey degil.

      Ayarlar: Gostergeler -> Sinif yetenekleri
          "Kullanilinca gizle" kapatilirsa ikon kaybolmaz, soluklasip
          uzerinde bekleme sayaci doner - satirin bicimi hic degismez.
      Varsayilan konum: cercevenin altinda, dort ikon.

  YENI: Boom savas sirasindaki olcumu KENDISI aliyor

      Su ana kadar alinan her olcum ayni yone isaret etti:

          dungeon icinde, savas DISINDA  ->  hicbir sey saklanmiyor
          savasin etrafinda alinanlarda  ->  auralarin cogu saklanmis

      Yani eksen "instance" degil, SAVAS. Ama bunu kanitlamak icin pull'un
      ortasinda sohbete komut yazmani istemek makul degil.

      Artik Boom her savasin ucuncu saniyesinde olcumu kendisi aliyor ve
      sonuncusunu sakliyor. Ucuncu saniye kasitli: PLAYER_REGEN_DISABLED
      anininda dovusun getirdigi kisitlama henuz uygulanmis olmayabiliyor.

      /boom secrets spells artik iki okuma birden gosteriyor:

          what this client will disclose right here (party instance, out of combat):
             ...
          last reading taken DURING combat (party instance, auras secret: yes):
             defensive cooldowns   0 of 43 readable
          withheld: Obsidian Scales, Shield Wall, ...

      Ikinci blok, elle alinmasi mumkun olmayan okuma. Savastan cikip
      komutu yazman yeterli.

      Olcum hesap genelinde saklaniyor, yani oturum kapansa da duruyor.

  DUZELTME: buyu taramasi NEREDE olculdugunu soylemiyordu

      /boom secrets spells "hicbir sey gizlenmiyor" yaziyordu - ama bu cevap
      bulundugun yere gore degisiyor. Sehirde calistirildiginda butun
      kisitlamalar kapali oldugu icin 137 buyunun hepsi okunabilir cikiyor;
      ayni istemci bir dungeon icinde on yedi auranin on ikisini sakliyordu.

      Yani temiz bir sonuc, yanlis yerde alinmissa hicbir sey kanitlamiyor -
      ve komut bunu mutlak bir gercek gibi yaziyordu. Benim kusurumdu.

      Artik her olcum nerede ve ne zaman alindigini yaziyor:

          what this client will disclose right here (party instance, in combat):

      Ve instance disinda alindiysa acikca uyariyor:

          bu olcum instance disinda alindi, orada zaten hicbir sey kisitli
          degil. Onemli olan cevabi almak icin dungeon icinde tekrar calistir.

  YENI KOMUT: /boom secrets spells

      /boom secrets ciktisi bir bucuk ekran; en belirleyici bolum olan buyu
      taramasi en altta duruyor ve ekran goruntusunde kesiliyor. Artik tek
      basina cagirilabiliyor - sekiz satir, tek ekran:

          which of Boom's tracked spells this client will EVER disclose:
             HoTs                  9 of 14 readable
             defensive cooldowns  31 of 43 readable
             ...
          never disclosed to any addon: ...

      Savas disinda, tek basina, grupta olmadan calisir. Cevap her yerde ayni.

  DUZELTME: savasta olumsuz etki satiri bosaliyordu

      "Sadece onemliler" filtresi, elle hazirlanmis listelere BUYU KIMLIGI
      uzerinden bakiyor. Istemci o kimligi sakladiginda filtre hicbir seyle
      eslesemiyor - yani "onemli olanlari goster" demek olmaktan cikip
      sessizce "hicbir seyi gosterme" demeye basliyor. Instance icinde
      debufflarin cogu boyle oldugu icin satir savasta bosaliyor, disarida
      calisiyordu.

      Bunun onemli olup olmadigini BILEMEYIZ. Ama bu, onemli olmadigini
      bilmekle ayni sey degil. Istemci turunu (Magic/Curse/Poison/Disease/
      Bleed) hala soyluyorsa ortada gercek bir etki vardir ve artik o turun
      simgesiyle satira giriyor.

      Turu de bilinmeyen bir debuff hala disarida birakiliyor: gosterilecek
      bir sey yok, soylenecek bir sey yok, soru isaretleriyle dolu bir satir
      bos satirdan kotudur.

      Savunmalar icin ayni sey yapilamaz: bir savunmayi tanimak icin buyu
      kimligi sart. Kimlik gizliyse hicbir addon gosteremez.
      /boom secrets hangilerinin kalici olarak gizli oldugunu yazar.

  YENI: "neden savasta gorunmuyor" sorusunun kesin cevabi

      /boom secrets artik Boom'un veritabanindaki HER buyuyu tek tek istemciye
      soruyor: "bu buyu aura olarak uygulansa, bana gizli mi gelir?"
      (C_Secrets.ShouldSpellAuraBeSecret)

      Bu soru buyu basina cevaplaniyor ve sormak icin savasta olmak, grupta
      olmak ya da auranin aktif olmasi gerekmiyor. Yani tek komutla kesin
      liste cikiyor:

          which of Boom's tracked spells this client will EVER disclose:
             HoTs                  9 of 14 readable
             defensive cooldowns  31 of 43 readable
             group cooldowns      20 of 26 readable
          never disclosed to any addon: Obsidian Scales, Rejuvenation, ...

      BU, "SAVASTA CALISMIYOR" IZLENIMINI ACIKLIYOR

      Gizlilik ANA GORE degil, BUYU BASINA belirleniyor. Savas disinda
      uzerinde yalnizca kalici ekip buff'lari olur ve onlar listede degildir -
      hepsi okunur. Savasta ortaya cikan auralar ise listede olanlardir.
      Yani "savasta kapaniyor" gibi gorunen sey aslinda "savasta beliren
      auralar zaten gizli olanlar" demek.

      Listede cikan bir buyuyu HICBIR addon gosteremez. Bu Blizzard'in
      karari; ayar degil, hata degil, kod ile asilmiyor.

  DUZELTME: uzerinde okunabilir aura yokken tarama hic calismiyordu

      /boom secrets, taranan birimde okunabilir aura bulamayinca erken cikip
      geri kalanini yazmiyordu. Oysa buyu taramasinin birimle ilgisi yok -
      artik her durumda yaziliyor.

  DUZELTME: gizlilik bayragi bayatliyordu

      /boom secrets bir dungeon'da su iki satiri yan yana yazdi:

          auras secret: no     <- istemcinin canli cevabi
          Boom's own flag: yes <- Boom'un onbellegi

      Bayrak yalnizca bes olayda tazeleniyordu (ENCOUNTER_START/END,
      CHALLENGE_MODE_START/COMPLETED, ZONE_CHANGED_NEW_AREA) ve gizliligi
      kapatan sey bunlardan biri degildi.

      Bayat bir "evet" tek bir seyi sessizce kapatiyor: eksik-buff uyarisi.
      Artik iki saniyede bir kendini tazeleyen bir sayac var - deger
      degismediginde hicbir is yapmadigi icin maliyeti yok. /boom secrets de
      raporu yazmadan once yeniden soruyor, boylece kendi kendisiyle celisen
      bir cikti veremez.

  DUZELTME: 14 aura kimligi daha, asla eslesemeyecek bir buyuye bagliydi

      Once CD tablolarinda bes hata bulmustum. Ayni tarama SpellDB'nin
      dort aura tablosuna uygulaninca 14 tane daha cikti - hepsi ayni tuzak:
      kayitli olan YETENEGIN kendisiydi, ama o yetenek hicbir aura uygulamiyor,
      sadece asil buyuyu tetikliyor. Yani gosterge hicbir zaman eslesemezdi.

          Prayer of Mending  33076  -> 41635
          Renewing Mist     115151  -> 119611
          Adaptive Swarm    325727  -> 325748  (iyilestiren yarisi)
          Temporal Anomaly  373861  -> 373862
          Holy Bulwark      432459  -> 432607
          Intervene           3411  -> 147833
          Prescience        409311  -> 410089
          Sacred Weapon     432472  -> 432502
          Rite of Sanctification / Rite of Adjuration / Blessing of the Bronze
              -> gercek aura kimlikleri eklendi (cast kimlikleri de duruyor)

      Kalici ekip buff'lari CAST kimligini de koruyor, cunku destek modulu
      "bu kalici mi" sorusunu spec listesindeki cast kimligiyle soruyor.

  DUZELTME: Preservation Evoker'in ana HoT'u veritabaninda hic yoktu

      Dream Breath (355941 ve 376788) eklendi. Senin /boom secrets ciktinda
      "not tracked" diye gorunuyordu - orada yakalandi.

  DUZELTME: Prescience eksik-buff uyarisi herkesi eksik sayiyordu

      Destek modulu "birincil buff" olarak spec listesindeki CAST kimligini
      aliyor (409311), sonra "bu oyuncuda var mi" diye AURA ariyordu. 409311
      diye bir aura hic olusmadigi icin butun grup surekli eksik gorunurdu.
      Artik cast -> aura cevrimi yapiliyor (SpellDB.buffAura).

  DUZELTME: savasta 17 satirlik "blocked" yagmuru tek satira indi

      Bir grup cercevesi savasta yeniden dizildiginde Blizzard'in kodu bes
      butonun her biri icin SetPoint + SetAttribute + Show, arti basliga
      SetWidth + SetHeight cagiriyor. Bu 17 farkli fonksiyon adi demek, o
      yuzden "fonksiyon basina bir kez" filtresi hicbir zaman tutmuyor ve
      17 satirin hepsi yaziliyordu.

      Engellenmenin kendisi onlenemiyor - sebebi yukarida anlatildi.
      Ama artik tek bir satir, ne oldugunu duzgun anlatarak yaziliyor:

          Boom: grup cerceveleri savas sirasinda yeniden dizilemez - oyun
                bunu addon'a ait her cerceve icin reddediyor. Savas biter
                bitmez kendilerine geliyorlar.

      Hepsi /boom blocked kaydinda duruyor, sadece sohbeti doldurmuyor.

  DUZELTME: bes yetenek, asla aura olamayacak bir kimlige bagliydi

      Boom, CD'leri uyguladiklari BUFF uzerinden izliyor. Kimlikleri
      SpellName.db2'ye karsi adiyla dogrulamistim - bunun GEREKLI ama
      YETERLI olmadigi ortaya cikti: bir yetenek ile uyguladigi buff
      genelde ayni adi tasir ve neredeyse her zaman farkli kimliktedir.

      Bes kayit yetenegin kendisiydi; o yetenekler ise sadece baska bir
      buyuyu tetikleyen bos kabuklar. Onlara bagliyken hicbir aura ile
      eslesemezlerdi - yani simgeleri hicbir zaman cikmayacakti:

          115203 Fortifying Brew  ->  120954   (sadece tetikleyici)
          198589 Blur             ->  212800   (sadece tetikleyici)
          272678 Primal Rage      ->  264667   (bos kabuk)
          157982 Tranquility      ->  740      (iyilestirme efekti, aura degil)
          374968 Time Spiral      ->  kaldirildi (baglanacak aura bulunamadi)

      Kalan butun kimlikler - 43 kisisel savunma ve 26 grup CD'si - artik
      sadece ada gore degil, SpellEffect.db2'ye karsi "gercekten aura
      uyguluyor mu" diye de kontrol edildi. Ikisi de 12.0.7.68974 dokumu.

      NOT: Obsidian Scales (363916) bunlardan BIRI DEGIL - kimligi dogru ve
      tekil. Yani hala gorunmuyorsa sebep istemcinin o aurayi saklamasidir
      ve bunu artik /boom secrets dogrudan yaziyor.

  /boom secrets artik Boom'un her aurayi nasil siniflandirdigini da yaziyor

      Once sadece hangi ALANLARIN saklandigini gosteriyordu. Artik
      istemcinin acik ettigi her aurayi kimligi ve adiyla listeliyor ve
      yanina Boom'un onu ne saydigini yaziyor: HoT, savunma yetenegi, grup
      CD'si, kalkan, disaridan savunma, destek buyusu - ya da "izlenmiyor".
      Sonra da motorun o birim icin elinde ne kaldigini ve o birime ait bir
      Boom cercevesi olup olmadigini yaziyor.

      Bu, "bastim ama gormedim" cumlesini uc ayri cevaba boluyor:
          - istemci o buyuden hic bahsetmedi
          - Boom'un verisi o buyuyu tanimiyor
          - dogru siniflandirildi, sorun cizimde

  DUZELTME: dungeon ve raid'de grup CD'leri hic gorunmuyordu

      Kimse Rallying Cry, Tranquility, Bloodlust, Barrier bastiginda mavi
      simge cikmiyordu - hem de sessizce. Ne hata, ne engellenme, ne log.

      SEBEP

      UNIT_SPELLCAST_SUCCEEDED olayi "SecretWhenUnitSpellCastRestricted"
      olarak isaretli. Dort veri alanindan sadece castBarID hic gizlenmiyor.
      Yani instance icinde BIRIM de, atis kimligi de, BUYU KIMLIGI de gizli
      geliyor. Boom gizli bir degeri tablo anahtari yapamadigi icin isleyici
      erken cikiyor ve hicbir sey yapmiyordu.

      Bu kod ile asilabilecek bir sey degil. "Bir eylemi belirli bir oyuncuya
      baglamak" tam olarak Midnight'in addon'lardan aldigi yetki - combat
      log'u kaldiran kisitlamanin aynisi.

      COZUM

      Grup CD'leri artik ATIS'tan degil, BIRAKTIKLARI BUFF'tan izleniyor.
      Auralar instance icinde grup uyelerinde okunabiliyor (bunu /boom
      secrets ile olctuk, varsaymadik), o yuzden 27 grup CD buff'i dogrudan
      izleniyor. Her kimlik, 12.0.7.68974 yapisinin SpellName.db2 dokumune
      karsi adiyla dogrulandi.

      BU SORUYU DEGISTIRIYOR: "kim basti" degil, "kim kapsamda".

          Aura Mastery, Avenging Wrath, Ascendance, Apotheosis, Incarnation,
          Convoke, Yu'lon/Chi-Ji:
              buff zaten sadece basanda -> hicbir sey degismiyor

          Rallying Cry, Bloodlust, Heroism, Time Warp:
              butun grupta yanar

          Power Word: Barrier, Darkness, Anti-Magic Zone, Spirit Link:
              SADECE icinde duranlarda yanar
              -> bu, atisin hic veremedigi bir bilgi: kim nerede duruyor

      Disarida iki yol da calisir; buff'tan gelen kayit kendi yetenegine
      baglanip tekrari eleniyor - Rallying Cry basan warrior'da iki degil
      bir simge cikar. Atis yolu da hic buff birakmayanlari kapatmaya devam
      ediyor: Healing Tide Totem, Revival, Restoral, Rewind, Evangelism.

  /boom secrets artik bu kisiti da yaziyor

      Hangi aura alanlarinin saklandigini zaten gosteriyordu. Artik
      C_Secrets.ShouldUnitSpellCastingBeSecret sorusunu da cevapliyor - grup
      CD'lerinin kime ait oldugunun bilinip bilinemeyecegine karar veren
      sey bu - ve cevap "evet" ise bunu acikca yaziyor, sessiz bir ozelligi
      bozuk gibi birakmak yerine.

  YENI: istemcinin adini soylemedigi etkilerde bile dispel calisiyor

      Tahmin etmek zorunda kaldigim seyi /boom secrets bir dungeon'da
      kesin olarak soyledi:

          oyuncunun uzerindeki 11 auranin 7'sinde HER ALAN gizli,
          4'u ise tamamen okunabilir.

      Yani gizlilik ALAN BASINA degil, AURA BASINA. Ve iki alan 11'inde de
      okunabilir geldi:

          dispelName   (etkinin turu: Magic / Curse / Poison / Disease)
          isHelpful    (buff mu, debuff mu)

      Bir dispel icin gereken tam olarak bu ikisi. "Bu kisinin uzerinde Curse
      var ve sen Curse temizleyebiliyorsun" demek icin buyu kimligine hic
      ihtiyac yok.

      Artik spellId'si gizli olan bir DEBUFF de onbellege aliniyor: can barini
      yine boyuyor, cerceveyi yine turun rengiyle yakiyor. Yapamadigi sey,
      elle hazirlanmis listelerle eslesmek - yani adi yazilmiyor, mekanige
      gore siralanmiyor.

      spellId'si gizli bir BUFF ise hala atlaniyor. Boom'un bir buff hakkinda
      sordugu her soru (HoT mu, kalkan mi, disaridan savunma mi, izlenen bir
      savunma yetenegi mi) o kimlige dayali bir aramadir; kimlik yoksa
      soylenecek hicbir sey de yoktur.

      Soru isareti yerine artik etkinin TURU ciziliyor:
      RaidFrame-Icon-DebuffCurse ve kardesleri - Blizzard'in kendi arayuzunun
      ayni durumda kullandigi gorsellerin aynisi.

      ACIKCA SOYLENMESI GEREKEN: buyu kimligi saklanan bir HoT'u ya da savunma
      yetenegini kimse tanimlayamaz, Boom dahil. Yukaridaki ornekte bu 11'de
      7 auraydi. Hangisinin saklanacagina istemci karar veriyor, bir ayar
      degil.

  DUZELTME: dungeon ve raid'de aura gostergelerinin hicbiri gorunmuyordu

      HoT'lar, olumsuz etkiler, temizlenebilir etki, kalkanlar, disaridan
      savunmalar, destek buyuleri ve savunma yetenekleri - hepsi instance
      icinde bos kaliyordu. Disarida calisiyordu. Mumkun olan en kotu ayrim,
      cunku bir iyilestiricinin bunlara ihtiyac duydugu yer tam olarak
      instance'in icidir.

      SEBEP

      Boom, C_Secrets.ShouldAurasBeSecret() bayragini bir ana anahtar gibi
      kullaniyordu: bayrak "evet" dediginde aura taramasi tamamen atlaniyor
      ve butun listeler bos birakiliyordu. Bu bayrak her dungeon ve raid'de
      "evet" der.

      Oysa API'nin kendi tanimi soyle: "aura sorgulari GENELDE gizli deger
      uretir". Yani BAZI auralarin BAZI alanlari saklanir - hicbiri
      okunamaz demek degil. Blizzard'in kendi arayuzu bu fonksiyonu hic
      cagirmiyor.

      COZUM

      Gizlilik artik AURA BASINA ve ALAN BASINA ele aliniyor. Tarama her
      zaman calisiyor. spellId'si saklanan bir aura siniflandirilamadigi
      icin atlaniyor; suresi saklanan bir aura yine ciziliyor, sadece
      geri sayimi ve dolma efekti olmuyor. Istemci neyi vermeye raziysa
      Boom onu gosteriyor.

      Saklanmis gelebilecek her alan kullanildigi yerde korumaya alindi -
      ve her biri farkli sekilde patlardi (gizli bir degeri mantiksal
      testte kullanmak hata, tablo anahtari yapmak hata, karsilastirmak
      hata): isHelpful, isBossAura, sourceUnit, dispelName, applications,
      icon, duration, expirationTime.

      Bayrak tek bir soru icin duruyor: eksik-buff uyarisi. "Buff yok" ile
      "buff'lari goremiyorum" ayni gozlemdir; auralar saklanirken butun
      ekibi eksik diye isaretlemektense susmak dogrudur.

  YENI KOMUT: /boom secrets

      Bulundugun yerde istemcinin neyi verip neyi sakladigini yazar: uc
      C_Secrets bayragi ve hedefindeki oyuncunun auralarini canli tarayip
      hangi alanin kac tanesinin saklandigini alan alan listeler.

      Bunu yazma sebebim: API belgelerini okuyarak instance icinde hangi
      alanlarin gercekten okunabildigini kestirmek mumkun degil. Artik
      tahmin etmiyoruz, soruyoruz.

  DUZELTME: bu sefer RAID basliginin engellenme yagmuru

      Ilk denemede "acik duran baslik, Blizzard'in kendi isleyicisiyle temiz
      yiginda dolar" demistim. Yanlisti; bir sonraki canli kayit curuttu:

          SecureGroupHeaders.lua:62   SecureGroupHeader_OnEvent
          SecureGroupHeaders.lua:403  SecureGroupHeader_Update (kind = nil)
          SecureGroupHeaders.lua:229  child:Hide()   <- ENGELLENDI
          BoomHeaderRaidUnitButton35..40, savasta, bir dungeon'da

      Yiginda tek bir Boom karesi yok. Taint VERININ icinde:
      GetGroupHeaderType, Boom'un yazdigi showRaid/showParty/showSolo
      ozelliklerini okuyor ve taintli bir ozelligi okumak, okuyan
      calismayi taintler. Yani bu guncelleme kim tetiklerse tetiklesin
      taintli. Dungeon'da acik birakilan raid basligi hicbir gruba
      uymadigi icin her roster olayinda kirk cocugunu temizlemeye
      calisiyordu.

      Grup tipi aktif olmayan basliklar yine gizleniyor -
      SecureGroupHeader_OnEvent zaten IsVisible() diye bakiyor, gizli bir
      baslik hicbir sey yapmaz ve engellenemez. State driver kaldirilmis
      halde kaliyor; gorunurlugu Boom kendi yonetiyor ve savas disina
      erteliyor.

      ACIKCA SOYLENMESI GEREKEN: savas sirasinda gruba katilinca cerceveler
      yine savas bitene kadar dolmuyor. Bu buradan duzeltilebilir bir sey
      degil - onlari dolduracak guncelleme kim tetiklerse tetiklesin
      reddediliyor. Gizlemek en azindan sessizce basarisiz olmasini
      sagliyor, sohbeti engellenme satirlariyla doldurmak yerine.

  DUZELTME: savasta gruba katilinca cikan "blocked" yagmuru bitti

      Savas sirasinda bir gruba katildiginda her seferinde sunlar yaziyordu:

          ADDON_ACTION_BLOCKED: BoomHeaderPartyUnitButton1..5:SetPoint()
          ADDON_ACTION_BLOCKED: BoomHeaderPartyUnitButton1..5:SetAttribute()
          ADDON_ACTION_BLOCKED: BoomHeaderPartyUnitButton1..5:Show()
          ADDON_ACTION_BLOCKED: BoomHeaderParty:SetWidth() / :SetHeight()

      Ve grup cerceveleri savas bitene kadar bos kaliyordu - ne konum, ne
      isim, ne can. 1.4.0'dan beri acikti. Daha once iki kez "state driver'i
      daha az kaydedelim" diye denendi ve olmadi; cunku sorun ne zaman
      kaydedildigi degildi.

      SEBEP

      Kaydedilen gorunurluk kosulu (state driver) addon kodundan yazildigi
      icin Boom'un "taint"ini tasiyor. Oyunun yoneticisi bu metni her 0.2
      saniyede bir geri okuyor; kosul degistigi anda Show() ve SetAttribute()
      taintli bir yigin uzerinde calisiyor. Savasta bunlar korumali cagri
      oldugu icin oyun hepsini reddediyor.

      COZUM

      State driver tamamen kaldirildi. Artik bir baslik, paneli acik oldugu
      surece sadece GORUNUR duruyor - bu bir ayar degisikligi, savasta
      olmuyor.

      Gorunur bir basligin HANGI birimleri cizecegine tamamen Blizzard'in
      kendi guvenli kodu karar veriyor; Boom'un zaten yazdigi showRaid /
      showParty / showSolo ozelliklerine bakiyor. Hicbiri o anki grup tipine
      uymuyorsa butun cocuklari gizleyip basligi 0.1 piksele indiriyor -
      yani acik ama bos bir baslik gorunmez.

      Boylece asil sorun sadece susmuyor, DUZELIYOR: grup kuruldugunda
      baslik zaten acik oldugu icin Blizzard'in kendi GROUP_ROSTER_UPDATE
      isleyicisi cerceveleri temiz bir yiginda dolduruyor.

      BILEREK KABUL EDILEN TEK KUSUR

      IsInGroup() raid'de de "evet" der. Bu yuzden showParty acik birakilan
      bir grup basligi raid'de de "PARTY" sayilir ve kendi cerceveni ikinci
      kez cizer. Bu artik ozelliklere gomuldu: roster degisiminde yeniden
      hesaplaniyor, digerleri gibi savas disina erteleniyor.

      Sonuc: gruptan raid'e SAVAS SIRASINDA gecersen, pull bitene kadar
      kendi cerceveni iki kez gorebilirsin. Nadir, kozmetik ve kendiliginden
      duzeliyor - her pull'da bir yigin "blocked" satirina degerdi.

  YENI: grup/raid CD'leri de artik basan kisinin cercevesinde cikiyor

      Ilk hali yalnizca KISISEL savunmalari gosteriyordu. Artik Rallying Cry,
      Tranquility, Aura Mastery, Bloodlust/Heroism, Power Word: Barrier,
      Anti-Magic Zone, Darkness, Healing Tide Totem, Spirit Link, Divine
      Hymn, Revival, Convoke, Ascendance, Apotheosis, Dream Flight, Zephyr
      ve digerleri - toplam 34 grup yetenegi - basildigi anda o kisinin
      cercevesinde beliriyor.

      Renk koduyla uc sey ayirt ediliyor:
          YESIL     birisi ONU korudu      (Pain Suppression, Ironbark...)
          KEHRIBAR  KENDINI korudu         (Shield Wall, Divine Shield...)
          MAVI      GRUBA bir sey bastl    (Rallying Cry, Tranquility...)

      Kisisel savunmalar her zaman once siralanir: bu o oyuncunun kendi
      cercevesi ve "su an hasar aliyor mu, korunuyor mu" sorusu once gelir.
      Grup yetenegi zaten butun raid'i ilgilendirir, onun asil yeri
      Cooldown Bar'dir.

      Iki yeni ayar: Gostergeler -> Savunma yetenekleri ->
          "Kisisel savunmalari goster"  ve  "Grup yeteneklerini goster"
      Ayni anda gosterilecek simge sayisi 2'den 3'e cikarildi.

      NASIL CALISIYOR (ve siniri)

      Bu yetenekler cogunlukla basan kisinin uzerinde HICBIR SEY birakmaz:
      Power Word: Barrier ve Anti-Magic Zone yere serilir, Healing Tide ve
      Spirit Link birer totemdir, Tranquility ve Divine Hymn kanaldir,
      Revival ve Evangelism aniktir. Okunacak bir buff olmadigi icin
      okunacak gercek bir sure de yok.

      Bu yuzden bu grup yetenekleri BUYUNUN KENDISINDEN degil, BASILMA
      olayindan (UNIT_SPELLCAST_SUCCEEDED) izleniyor. Simgenin CIKTIGI AN
      tamamen kesin. Ekranda NE KADAR KALACAGI ise elle yazilmis bir
      "gosterim penceresi" - Data/CooldownDB.lua icinde, her biri ayri ayri
      yazili. Bir iki saniye sapabilir; hicbir karari etkilemez.

      Kisisel savunmalar buff'tan okundugu icin surelerinde boyle
      bir sapma yok, orada sure oyunun kendi suresidir.

      Ayrica: Cooldown Bar'i kapatmak artik cerceve simgelerini
      susturmuyor. Onceden atis kaydi yalnizca bar acikken tutuluyordu.

  YENI: temizleyebildigin etkide CAN BARININ KENDISI renk degistiriyor

      Onceden sadece 1 pikselllik cerceve renkleniyor ve hafif bir parlama
      ekleniyordu. Ikisi de dugmenin KENARINDA duruyor - oysa bir ekip
      izgarasi zaten kenarlardan olusuyor, yirmi tane, hepsi ayni.

      Artik can barinin tamami etkinin turune boyaniyor:
          Curse    -> mor
          Poison   -> yesil
          Magic    -> mavi
          Disease  -> kahverengi

      Cerceve dugmenin en buyuk renk blogu oldugu icin, sen patrona bakarken
      goz ucuyla bile fark ediliyor.

      Yine yalnizca SENIN kaldirabildigin turler tetikliyor: Holy Priest
      dokunamayacagi bir Curse icin bosuna yanip sonmuyor.

      Iki yeni ayar: Gostergeler -> Temizlenebilir etki ->
          "Bari renklendir"  ve  "Bar rengi saydamligi"

  YENI: grup uyesinin bastigi savunma yetenegi barinin yaninda cikiyor

      Biri Shield Wall, Divine Shield, Barkskin, Icebound Fortitude,
      Fortifying Brew, Metamorphosis (ve 37 yetenek daha) bastiginda kendi
      cercevesinde simgesi cikiyor - etkisi bittiginde kayboluyor, uzerinde
      gercek kalan sure yaziyor.

      "Disaridan savunmalar" gostergesi "bir iyilestirici onu zaten korudu"
      der; bu gosterge "kendisi zaten korundu" der. Karari veren ikinci
      yarisi buydu ve bugune kadar hicbir ekip cercevesi gostermiyordu.
      Kehribar cerceve - disaridan savunmalarin yesili ile karismasin diye
      bilerek farkli.

      Varsayilan konumu dugmenin sag disi: dugmenin ici zaten dolu.

      Yetenegin kendi uzerine koydugu auradan okunuyor, buyu kaydindan degil:
      Midnight addon'lara COMBAT_LOG_EVENT_UNFILTERED'i tamamen yasakliyor.
      Auradan okumanin ikinci faydasi, surenin oyunun kendi suresi olmasi -
      elle yazilmis bir sure tablosu, bir yetenek talent'la uzadigi anda
      kayardi.

      Bunun acik sonucu: kendi uzerine aura birakmayan bir yetenek (orn.
      Exhilaration, Renewal) burada gorunemez - uydurmak yerine listeye hic
      alinmadi. Surekli basilan hafifletmeler de disarida: Ignore Pain,
      Demon Spikes, Feint, mage kalkanlari. Hep yanan bir simge hicbir sey
      anlatmaz.

      43 buyu kimliginin tamami 12.0.7.68974 yapisinin SpellName.db2
      dokumune karsi dogrulandi. "/boom spells" artik bu veritabanindaki
      eskimis kimlikleri de bildiriyor.

  DEGISIKLIK: HoT simgeleri artik herkesinkini gosteriyor, sadece seninkini degil

      "Sadece benimkiler" ayari "bu kisiyi ben kapladim mi" sorusunu cevaplar.
      Bu bir Resto Druid icin dogru soru, herkes icin bos bir cerceve: bir
      Prot Paladin hic HoT atmaz, dolayisiyla gosterge hicbir sey cizmiyordu
      ve bos degil BOZUK gibi duruyordu.

      Seninkiler hala en one siralanir - yani ankraja en yakin simgeler hala
      senin tazeleyebildiklerin.

      Eski davranis tek bir kutucuk uzaginda:
          Gostergeler -> Iyilestirmelerim -> "Sadece benim auralarim"

      Mevcut profiller otomatik gecirildi. Bunun icin Config'e bir sema
      gecis adimi eklendi: eksik anahtarlari tamamlamak yalnizca YENI anahtar
      EKLEYEBILIR, degisen bir varsayilan yalnizca sifirdan olusturulan
      profillere ulasirdi - yani Boom'u zaten kullanan hic kimseye.

--------------------------------------------------------------------------------
1.4.6 ILE NE DEGISTI
--------------------------------------------------------------------------------

  DEGISIKLIK: amblem her iki yerde de buyudu

      MINI HARITA DUGMESI
          Amblem artik 31 piksellik dugmenin tamamini dolduruyor. Onceden
          Blizzard'in halka gorseli (MiniMap-TrackingBorder) uzerine
          bindiriliyordu ve ortasindaki ~20 piksellik delik amblemi kirpiyordu.
          O halka kaldirildi: halkanin isi kare bir buyu simgesine yuvarlak
          cerceve vermek, bizim gorselimiz zaten yuvarlak bir cerceve - dort
          tasli isli metal. Halka halkanin icinde duruyor ve disttaki icteki
          taslari kesiyordu.
          Uzerine gelince parlayan efekt de artik gorselin boyutunda.

      AYARLAR PENCERESI VE KURULUM SIHIRBAZI
          Baslik cubugundaki amblem iki kati: 24 -> 48 piksel.
          48 piksellik bir amblem 34 piksellik ince bir seride durmaz, bu
          yuzden amblem tasiyan panellere 56 piksellik gercek bir baslik
          verildi. Baslik yazisi da 14 -> 18 punto oldu, yoksa yanindaki
          amblemin yaninda sonradan eklenmis gibi duruyordu.

          Baslik 22 piksel buyudugu icin iki pencere de 22 piksel buyutuldu -
          boylece icerik alani birebir eskisi kadar kaldi.

--------------------------------------------------------------------------------
1.4.5 ILE NE DEGISTI
--------------------------------------------------------------------------------

  DEGISIKLIK: yuklenemeyen bir yazi tipi artik HATA degil, BILGI NOTU

      Soyle bir satir kirmizi renkte cikiyordu:
          Boom error in a font: the client refused the font "Fonts\2002.TTF"
      Bu yanlis bir izlenim veriyordu. Ortada bozulan bir sey yok: yazilar
      oyunun kendi yazi tipiyle sorunsuz ciziliyor. Sebep genellikle baska bir
      addon'un paylasilan yazi tipi listesine (LibSharedMedia) kaydettigi,
      ama bu istemcide gercekte bulunmayan bir dosyadir.

      Artik amber renkte, "hata" demeden yaziyor ve ne yapilacagini soyluyor:
          Boom: the font "Fonts\2002.TTF" could not be loaded, so the game's
                own font is being used instead.
                Pick another one under /boom -> Appearance -> Font.

      /boom errors listesi de artik bilgi notlarini hatalardan ayri sayiyor.

      Ayrica: bir kez reddedilen yazi tipi bir daha denenmiyor. Tek bir
      yerlesim gecisi ~900 SetFont cagrisi yapar; her seferinde once bozuk
      olani deneyip sonra yedege dusmek bosuna iki C cagrisi demekti.

--------------------------------------------------------------------------------
1.4.3 ILE NE DEGISTI
--------------------------------------------------------------------------------

  YENI: Boom'un kendi amblemi

      Addon artik dort yerde kendi simgesini gosteriyor:

        - Mini harita dugmesi (halkanin icinde, uzerine gelince parliyor)
        - Karakter secimindeki AddOns listesi
        - Mini haritanin yanindaki addon bolmesi
        - Ayarlar penceresinin ve kurulum sihirbazinin baslik cubugu

      Gorsel  Media\Logo.tga  olarak paketleniyor: 256x256, 32 bit,
      sikistirilmamis TGA - oyun PNG okuyamaz. Kosede kalan koyu alan yumusak
      dairesel bir maskeyle saydam yapildi, boylece hem mini harita halkasinin
      icinde hem duz bir baslik cubugunda dogru duruyor. Madalyonun dort
      kosesindeki tas hicbir yerde kesilmiyor.

--------------------------------------------------------------------------------
1.4.2 ILE NE DEGISTI
--------------------------------------------------------------------------------

  DEGISIKLIK: yeni profiller artik oyunun diliyle basliyor

      Boom once Turkce yazildi ve varsayilan dili de Turkce'ydi. Tek kisi icin
      dogru, herkes icin yanlis: WoW'un Turkce istemcisi yok, dolayisiyla o
      varsayilan dunyadaki HER yeni kullaniciya - hangi dilde oynuyor olursa
      olsun - Turkce arayuz olarak gidiyordu.
      Artik yeni bir profil oyunun kendi dilini alir; Boom'un tablosu olmayan
      bir dil icin Ingilizce'ye duser. Turkce tek tikla geri gelir:
      Ayarlar -> Genel -> Dil,  ya da  /boom lang tr

      MEVCUT PROFILLER ETKILENMEZ. Kayitli dil neyse o kalir.

--------------------------------------------------------------------------------
1.4.1 ILE NE DEGISTI
--------------------------------------------------------------------------------

  DUZELTME: 1.4.0'da parti cerceveleri hic gorunmuyordu

      Bu hata 1.4.0 ile GIRDI, ozur. Sebebi ve neden kacirildigi:

      Guvenli bir cerceve basligi, her yeni dugme icin oyunun "kisitli ortam"
      dedigi yerde kucuk bir kod parcasi calistirir. Orada elindeki sey gercek
      bir cerceve degil, sadece 67 metoda izin veren bir tutamactir.
      1.4.0'da o parcaya, savasta gruba katilan birinin cercevesi hemen
      tiklanabilir olsun diye  RegisterForClicks  eklemistim. O metot izin
      listesinde YOK.

      Sonucu sessiz degil: parca hata verince Blizzard'in kendi
      SecureGroupHeader_Update'i tumuyle iptal oluyor. Hicbir dugme
      konumlandirilmiyor, hicbiri gosterilmiyor ve son satirdaki "bu dugmeyi
      Boom'a ver" cagrisi hic calismiyor - yani panel bombos kaliyor.

      Kaldirildi. Tik kaydi eskiden oldugu gibi normal koddan yapiliyor.

      Neden testler yakalamadi: test ortami o kod parcasini calistirmiyor,
      icinden yalnizca genislik/yukseklik degerlerini okuyordu. Artik parca
      gercekten calistiriliyor ve tam olarak oyundaki 67 metotluk yuzey
      veriliyor - izin listesinde olmayan bir cagri testi patlatiyor.
      Ayrica "parti paneli gercekten dugme uretiyor mu" diye ayri bir kontrol
      eklendi.

  DEGISIKLIK: Yazar adi "Boomkin" olarak guncellendi.

--------------------------------------------------------------------------------
1.4.0 ILE NE DEGISTI
--------------------------------------------------------------------------------

  DUZELTME (onemli): "yazi tipi hatasi" ve gorunmeyen yazilar
      Sohbete kirmizi "Boom error ... a font ..." satiri dusuyordu, ve bazi
      yazilar hic gorunmuyordu.
      Sebep: oyunun SetFont fonksiyonu UC parametre ister ve ucuncusu (kenarlik)
      MUTLAKA metin olmalidir. Boom, kenarlik "Yok" secilince oraya nil
      gonderiyordu. Oyun bunu reddediyor:
          bad argument #3 to 'SetFont'
      Yedek yazi tipi denemesi de ayni nil ile yapildigi icin o da reddediliyor
      ve yazi HIC yazi tipi almadan kaliyordu - yazi tipi olmayan bir metin
      ekranda gorunmez.
      Bu, senin profilinde kenarlik "Yok" ve yazi tipi "2002" secili oldugu icin
      ozellikle ayarlar penceresini vuruyordu.
      Artik "kenarlik yok" bos metin ("") olarak gonderiliyor, ve kabul
      edilmezse sirayla once kenarliksiz, sonra oyunun kendi yazi tipiyle
      deneniyor.

  DUZELTME (onemli): partiye girince isimlerin gozukmemesi
      Iki ayri sebebi vardi, ikisi de duzeltildi.

      1) Gec gelen isimler. Gruba girdiginde sunucu isimleri tek tek gonderir;
         o ana kadar oyun "Unknown" der. Boom bunu bir kez soruyor, sonra bir
         daha hic sormuyordu - yani ilk 0.1 saniyede gelmeyen isim kaliciydi.
         Artik UNIT_NAME_UPDATE olayi dinleniyor ve ayrica kisa araliklarla
         tekrar soruluyor. "Unknown" da artik gercek isim sayilmiyor.

      2) Savasta engellenen islem. Boom, parti cercevesini her ayar
         degisikliginde gizle/goster yaparak yeniden kuruyordu. Bu, guvenli
         cerceveyi "kirletiyor" (taint) ve savas sirasinda partiye girdiginde
         oyunun kendi kodu engelleniyordu:
             ADDON_ACTION_BLOCKED: BoomHeaderPartyUnitButton1..5:Show()
             ADDON_ACTION_BLOCKED: BoomHeaderParty:SetWidth()
         Sonuc: parti cerceveleri bos kaliyordu.
         Artik cerceveler yalnizca giriste bir kez, gorunurluk kontrolu
         baglanmadan ONCE hazirlaniyor; ayni deger tekrar yazilmiyor; ve tik
         kaydi guvenli kod parcasinin icine tasindi - boylece savas sirasinda
         gruba katilan biri de tiklanabilir bir cerceve aliyor.

  DUZELTME (onemli): dil degistirince yarisinin Turkce kalmasi
      Iki ayri sebebi vardi, ikisi de duzeltildi.

      1) Ayarlar sayfalari yazilarini kuruldugu anda okuyup sakliyordu. Bir kez
         actigin sayfa, dili degistirsen de eski dilde kaliyordu.
         Artik her sayfa her dil icin ayri saklaniyor ve dil degisince o dilin
         kopyasi gosteriliyor. Ileri geri gecmek yeni cerceve olusturmuyor
         (olculdu: 0 yeni cerceve).
         Ayrica /reload gerekmiyor.

      2) 21 metnin Turkcesi hic yoktu - Turkce arayuzde bile Ingilizce
         gorunuyorlardi (X Offset, Show Icon, Only Tanks, Mode ...).
         Hepsi eklendi. Toplam 343 ceviri.

      Cerceve tasima kollari, kurulum sihirbazi, bekleme cubugu ve Blizzard
      ayarlar sayfasindaki yazilar da artik dili takip ediyor.

  DUZELTME: ekip hedef isareti (yildiz, kafatasi ...) onbellegi
      Isaret cizildikten sonra yanlis onbellek alani temizleniyordu.

  SAGLAMLASTIRMA
      - Yazi tipi / doku aramalari baska bir addon'un kutuphanesine giderken
        artik korumali (o kutuphane hata firlatirsa cerceve durmuyor).
      - Bir cercevenin yerlesimi hata verirse geri kalan 39 tanesi etkilenmiyor.
      - Sifir boyut/aralik degerleri artik simge dizilimini bozmuyor.

--------------------------------------------------------------------------------
1.3.3 ILE NE DEGISTI
--------------------------------------------------------------------------------

  DUZELTME: "Core\Util.lua: SetFont" hatasi
      Oyun bir yazi tipini kabul etmediginde hata firlatiyor, ve bu hata tam
      cerceve cizilirken olustugu icin o guncellemeyi tamamen durduruyordu.
      Yazi tipi dosyasinin kaybolmasi hayali bir durum degil: Boom, baska bir
      addon'un paylasilan yazi tipi kutuphanesinden (LibSharedMedia) gelen bir
      yolu da kullanabilir - o addon kaldirildiginda geriye dosyasi olmayan,
      ama gorunuste duzgun bir yol kalir.
      Artik Boom once istenen yazi tipini dener, oyun kabul etmezse sessizce
      oyunun kendi varsayilan yazi tipine doner ve HANGI yazi tipinin
      reddedildigini bir kez /boom errors listesine yazar. Yani yazilar
      gorunmeye devam eder ve sorunun kaynagi da kayitli kalir.

--------------------------------------------------------------------------------
1.3.2 ILE NE DEGISTI
--------------------------------------------------------------------------------

  ONEMLI: /boom errors listesi ESKI kayitlari da tutar
      Hata listesi surumler arasi silinmez. Yani 1.2.1'de olusmus bir hata,
      sorun coktan duzeltilmis olsa bile listede durmaya devam eder - ve o
      kayittaki satir numaralari artik var olmayan koda isaret ettigi icin
      insani yanlis yere yonlendirir.
      Artik her kayit hangi surumden geldigini soyluyor ve eski olanlar
      "eski surum, artik gecerli degil" diye isaretleniyor. Ustteki ozet
      satiri da kac tanesinin GUNCEL surumden oldugunu yaziyor.
      Eski kayitlari silmek icin:  /boom errors clear

  DUZELTME: bozuk bir yazi boyutu tum cerceveyi durduruyordu
      Oyun, gecersiz bir yazi tipi ya da sifir/negatif boyut verildiginde hata
      firlatir. Eski bir profilden gelen bozuk bir deger tek basina butun
      cerceve guncellemesini durdurabiliyordu. Artik boyle degerler sessizce
      makul bir degere cekiliyor.

--------------------------------------------------------------------------------
1.3.1 ILE NE DEGISTI
--------------------------------------------------------------------------------

  DUZELTME (onemli): zindan ve ekip icinde surekli hata veriyordu
      "attempt to perform boolean test on a secret boolean value"
      Midnight ile birlikte oyun, zindan icindeyken bir oyuncunun AFK / olu /
      cevrimdisi olup olmadigini addonlardan GIZLIYOR. Boom bu gizli degeri
      normal bir evet/hayir gibi test ediyordu, bu da her cerceve
      guncellemesinde hata firlatiyordu.
      Artik okunamayan bir bilgi "bilmiyorum" olarak kabul ediliyor: Boom
      tahmin etmek yerine o etiketi hic gostermiyor. Ayni koruma menzil,
      destek taramasi ve can cubugu renklendirmesine de eklendi.

  DUZELTME: "Onerilen kurulumu kullan" ve "Tumunu temizle" dugmeleri
      Ayarlar sayfasi olusurken ortada bir hata olusursa, o ana kadar
      olusturulmus dugmeler ekranda kaliyor ama bagli olduklari fonksiyonlar
      hic atanmamis oluyordu. Basinca "attempt to call a nil value" veriyor ve
      baska hicbir sey olmuyordu - hem de kalici olarak, cunku yarim sayfa
      onbellege aliniyordu.
      Artik bir sayfa ya tam olusur ya da yerine "Bu sayfa olusturulamadi"
      diyen bir sayfa gelir. Yarim kalan parcalar tiklanamaz hale getirilir ve
      hatanin kendisi /boom errors listesine yazilir.

--------------------------------------------------------------------------------
1.3.0 ILE NE DEGISTI
--------------------------------------------------------------------------------

  YENI: "Buyuler ve Tuslar" sekmesi
      Buyu adini yaz, acilir menuden tusu sec, Ata'ya bas. 40 fare+degistirici
      kombinasyonunun tamami menude, dolu olanlarin yaninda ne bagli oldugu
      yazar. Altta mevcut atamalarin listesi.
      Ayrintilar icin yukaridaki "BUYULERI KENDIN ATAMAK" bolumune bak.

  DUZELTME: "Olu" / "AFK" yazisi ekranda takili kaliyordu
      Biri olup dirildiginde ya da AFK'dan dondugunde yazi gitmiyordu.
      Sebep: oyun olum ve dirilis icin ayri bir olay uretmiyor, sadece
      "can degisti" diyor - Boom da durum yazisini o olayda tazelemiyordu.
      Artik tazeliyor. Ayrica grup karisinca onceki oyuncunun yazisinin
      kalmasina yol acan ikinci bir aciik da kapatildi.

  DUZELTME: Yazilar birbirine giriyordu
      Hicbir yazinin genislik siniri yoktu, hepsi tasip komsu cerceveye
      giriyordu. Artik tasma yerine "..." ile kisaliyor. Ayrica:
        - Olu/cevrimdisi oyuncularda can yazisi susuyor, alani durum
          yazisina birakiyor (AFK ve DND haric - onlar yasiyor)
        - Aura ikonlarinda yigin sayisi ile sure sayaci ayrildi
        - Tasan ikon dizileri artik cerceveye sigdiriliyor, alttaki
          oyuncunun uzerine cizilmiyor

  DUZELTME: Blizzard'in sol kenardaki ekip yoneticisi sekmesi kayipti
      Ekip cerceveleriyle ayni ayara bagliydi, cerceveleri gizleyince o da
      gidiyordu. Artik ayri bir ayar ve varsayilan olarak gorunur.

  YENI KOMUT: /boom blizz
      Blizzard cercevelerinden hangisinin Boom tarafindan, hangisinin oyunun
      kendisi tarafindan gizlendigini soyler.

================================================================================
