================================================================================
  BOOM - Modern Iyilestirme ve Destek Ekip Cerceveleri
  Surum 1.4.6  |  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 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.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.

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