WoWInterface SVN CCBreaker

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /branches
    from Rev 7 to Rev 8
    Reverse comparison

Rev 7 → Rev 8

rewrite/CCOptions.lua File deleted
rewrite/CCBreaker.lua
1,?rev1len? → 114,?rev2len?
CCBreaker = LibStub("AceAddon-3.0"):NewAddon("CCBreaker")
CCBreaker = LibStub("AceAddon-3.0"):NewAddon("CCBreaker","AceEvent-3.0")
 
-- quicksearch - use #KEYWORD with KEYWORD of:
--
-- INITIALIZE: OnInitialize
-- ENABLE: OnEnable
-- DISABLE: OnDisable
-- UNITUPDATE
-- HANDLEAURABREAK
-- FILTER
-- HANDLE
 
-- #INITIALIZE
function CCBreaker:OnInitialize()
self.db = LibStub("AceDB-3.0"):New("CCBreakerDB ")
end
 
 
function CCBreaker:Variables_Loaded
end
 
-- #ENABLE
function CCBreaker:OnEnable()
-- track changes in group roles, pets,...
self:RegisterEvent("RAID_ROSTER_UPDATE","UnitUpdate")
self:RegisterEvent("PARTY_MEMBERS_CHANGED","UnitUpdate")
self:RegisterEvent("UNIT_PET","UnitUpdate")
self:RegisterEvent("PLAYER_PET_CHANGED","UnitUpdate")
self:RegisterEvent("PLAYER_LOGIN","UnitUpdate")
self:RegisterEvent("UNIT_NAME_UPDATE","UnitUpdate")
-- the actual events to fire the check on
self:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED","CombatEvent")
end
 
-- #DISABLE
 
-- #UNITUPDATE
-- todo (do basic stuff first)
 
-- #COMBATEVENT
function CCBReaker:CombatEvent(
_,eventType,sourceGUID,
sourceName,_,destGUID,
destName,destFlags,spellId,
spellName,_,extraSpellId,
extraSpellName)
if eventType == "SPELL_AURA_BROKEN" or "SPELL AURA_BROKEN_SPELL" then
local info = {
["recipientID"] = toUnitID[recipientName],
["recipientName"] = destName,
["recipientAbilityName"] = spellName,
["recipientAbilityId"] = spellId,
["sourceID"] = toUnitID[sourceName],
["sourceName"] = sourceName,
["sourceAbilityName"] = extraSpellName,
["sourceAbilityId"] = extraSpellId,
}
self:Perform(info,CCBreaker.actions)
end
end
 
-- #FILTER
-- run all filters in the filter on info
function CCBreaker.Filter(info,filters)
local name
local filterfunc
for name,filterfunc in pairs(filters) do
if not filterfunc(info) then
return false
end
end
return true
end
 
-- add a subfilter to the usable filterlist
function CCBreaker.EnableFilter(subfilter,filter)
if filter.Enable then
filter:Enable()
end
filter[subfilter.name]=subfilter.filterfunc
end
 
-- delete a subfilter from the usable filterlist
function CCBreaker.DisableFilter(subfilter,filter)
filter[subfilter.name]=nil
if filter.Disable then
filter:Disable()
end
end
 
-- #HANDLE
-- perform all appropriate events
function CCBreaker:Perform(info)
for name,event in CCBreaker.events do
event.Perform(info)
end
end
 
-- add a event to a eventlist
function CCBreaker:EnableEvent(event)
if event.Enable then
event:Enable()
end
CCBreaker.events[event.name]=event
end
 
-- remove a event from an eventlist
function CCBreaker:DisableEvent(event)
CCBreaker.events[event.name]=nil
if event.Disable then
event:Disable()
end
end
 
rewrite/old_options.lua New file
0,0 → 1,755
local CCLocale = AceLibrary("AceLocale-2.2"):new("CCBreaker")
local CCWaterfall = AceLibrary("Waterfall-1.0")
 
local PolyId = CCBreaker.PolyId
local ShackleId = CCBreaker.ShackleId
local FreezingTrapId = CCBreaker.FreezingTrapId
local HibernateId = CCBreaker.HibernateId
local SapId = CCBreaker.SapId
local SeductionId = CCBreaker.SeductionId
 
CCBreaker:RegisterDefaults("char",{
debug = false;
showon = {
player = false,
party = false,
raid = false,
pet = false,
partypet = false,
raidpet = false,
others = true,
warrior = true,
warlock = true,
hunter = true,
rogue = true,
shaman = true,
priest = true,
paladin = true,
mage = true,
druid = true,
maintank = true,
mainassist = true,
},
showfrom = {
player = true,
party = true,
raid = true,
pet = true,
partypet = true,
raidpet = true,
others = false,
warrior = true,
warlock = true,
hunter = true,
rogue = true,
shaman = true,
priest = true,
paladin = true,
mage = true,
druid = true,
maintank = true,
mainassist = true,
},
showeffects = {
freezingtrap = true,
hibernate = true,
polymorph = true,
shackleundead = true,
sap = true,
seduction = true,
},
chat = {
raid = false,
raidwarning = false,
party = false,
strings={
two=CCLocale["[spell] on [target] was removed"],
three=CCLocale["[spell] on [target] was removed by [breaker]"],
four=CCLocale["[spell] on [target] was removed by [breaker]'s [ability]"],
},
},
display = {
fubar = {
spell = true,
target = false,
breaker = true,
ability = false,
},
center = {
colors = true,
enable = false,
color = {
r = 1,
g = 1,
b = 0.5,
a = 0,
colortext = "|cffff8000"
},
strings={
two=CCLocale["[spell] on [target] was removed"],
three=CCLocale["[spell] on [target] was removed by [breaker]"],
four=CCLocale["[spell] on [target] was removed by [breaker]'s [ability]"],
}
},
console = {
colors = true,
enable = true,
color = {
r = 1,
g = 1,
b = 0.5,
a = 0,
colortext = "|cffff8000"
},
strings={
two=CCLocale["[spell] on [target] was removed"],
three=CCLocale["[spell] on [target] was removed by [breaker]"],
four=CCLocale["[spell] on [target] was removed by [breaker]'s [ability]"],
},
colors = false;
},
},
})
 
 
-- Menu
 
CCBreaker.OnMenuRequest = {
type = "group",
args = {
debug ={
type = "toggle",
name = CCLocale["debug"],
desc = CCLocale["Enable debug messages"],
get = function() return CCBreaker.db.char.debug end,
set = function(v) CCBreaker.db.char.debug = v end,
},
reset = {
type = "execute",
name = CCLocale["reset"],
desc = CCLocale["Reset breaker data"],
func = "reset",
},
config = {
type = "execute",
name = CCLocale["config"],
desc = CCLocale["Open config in a Waterall window"],
func = function() CCWaterfall:Open("CCBreaker") end,
},
 
 
 
chat = {
type = "group",
name = CCLocale["chat"],
desc = CCLocale["Chat options"],
args = {
raid = {
type = "toggle",
name = CCLocale["raid"],
desc = CCLocale["broadcast to raid"],
get = function() return CCBreaker.db.char.chat.raid end,
set = function(v) CCBreaker.db.char.chat.raid = v end,
},
raidwarning = {
type = "toggle",
name = CCLocale["raidwarning"],
desc = CCLocale["broadcast as raidwarning"],
get = function() return CCBreaker.db.char.chat.raidwarning end,
set = function(v) CCBreaker.db.char.chat.raidwarning = v end,
},
party = {
type = "toggle",
name = CCLocale["party"],
desc = CCLocale["broadcast to party"],
get = function() return CCBreaker.db.char.chat.party end,
set = function(v) CCBreaker.db.char.chat.party = v end,
},
text = {
type = "group",
name = CCLocale["text"],
desc = CCLocale["Change the displayed text, leave blank for default"],
args ={
two = {
type = "text",
name = CCLocale["two"],
desc = CCLocale["text if only spell an target are given"],
usage = "[spell], [target]",
get = function() return CCBreaker.db.char.chat.strings.two end,
set = function(v) CCBreaker.db.char.chat.strings.two = v end,
},
three = {
type = "text",
name = CCLocale["three"],
desc = CCLocale["text if only spell, target and breaker are given"],
usage = "[spell], [target], [breaker]",
get = function() return CCBreaker.db.char.display.console.strings.three end,
set = function(v) CCBreaker.db.char.chat.strings.three = v end,
},
four = {
type = "text",
name = CCLocale["four"],
desc = CCLocale["text if spell, target, breaker and ability are given"],
usage = "[spell], [target], [breaker], [ability]",
get = function() return CCBreaker.db.char.display.console.strings.four end,
set = function(v) CCBreaker.db.char.chat.strings.four = v end,
},
},
},
},
},
 
 
 
display = {
type = "group",
name = CCLocale["display"],
desc = CCLocale["Display options"],
args = {
console ={
type = "group",
name = CCLocale["console"],
desc = CCLocale["Display options in console"],
args = {
color = {
type = "toggle",
name = CCLocale["color text"],
desc = CCLocale["Color messages"],
get = function() return CCBreaker.db.char.display.console.colors end,
set = function(v) CCBreaker.db.char.display.console.colors = v end,
},
colors = {
type = "color",
name = CCLocale["color"],
desc = CCLocale["Chose color to use"],
get = function() local color = CCBreaker.db.char.display.console.color
return color.r,color.g,color.b,color.a
end,
set = function(r,g,b,a) local color = CCBreaker.db.char.display.console.color
color.r = r
color.g = g
color.b = b
color.colortext = string.format("|cff%02x%02x%02x", r * 255, g * 255, b * 255)
end,
},
enable = {
type = "toggle",
name = CCLocale["enable"],
desc = CCLocale["Display console messages"],
get = function() return CCBreaker.db.char.display.console.enable end,
set = function(v) CCBreaker.db.char.display.console.enable = v end,
},
text = {
type = "group",
name = CCLocale["text"],
desc = CCLocale["Change the displayed text, leave blank for default"],
args ={
two = {
type = "text",
name = CCLocale["two"],
desc = CCLocale["text if only spell an target are given"],
usage = "[spell], [target]",
get = function() return CCBreaker.db.char.display.console.strings.two end,
set = function(v) CCBreaker.db.char.display.console.strings.two = v end,
},
three = {
type = "text",
name = CCLocale["three"],
desc = CCLocale["text if only spell, target and breaker are given"],
usage = "[spell], [target], [breaker]",
get = function() return CCBreaker.db.char.display.console.strings.three end,
set = function(v) CCBreaker.db.char.display.console.strings.three = v end,
},
four = {
type = "text",
name = CCLocale["four"],
desc = CCLocale["text if spell, target, breaker and ability are given"],
usage = "[spell], [target], [breaker], [ability]",
get = function() return CCBreaker.db.char.display.console.strings.four end,
set = function(v) CCBreaker.db.char.display.console.strings.four = v end,
},
},
},
},
},
center ={
type = "group",
name = CCLocale["center"],
desc = CCLocale["Display options for centered messages"],
args = {
color = {
type = "toggle",
name = CCLocale["color text"],
desc = CCLocale["Color messages"],
get = function() return CCBreaker.db.char.display.center.colors end,
set = function(v) CCBreaker.db.char.display.center.colors = v end,
},
colors = {
type = "color",
name = CCLocale["color"],
desc = CCLocale["Chose color to use"],
get = function() local color = CCBreaker.db.char.display.center.color
return color.r,color.g,color.b,color.a
end,
set = function(r,g,b,a) local color = CCBreaker.db.char.display.center.color
color.r = r
color.g = g
color.b = b
color.colortext = string.format("|cff%02x%02x%02x", r * 255, g * 255, b * 255)
end,
},
enable = {
type = "toggle",
name = CCLocale["enable"],
desc = CCLocale["Display centered messages"],
get = function() return CCBreaker.db.char.display.center.enable end,
set = function(v) CCBreaker.db.char.display.center.enable = v end,
},
text = {
type = "group",
name = CCLocale["text"],
desc = CCLocale["Change the displayed text, leave blank for default"],
args ={
two = {
type = "text",
name = CCLocale["two"],
desc = CCLocale["text if only spell an target are given"],
usage = "[spell], [target]",
get = function() return CCBreaker.db.char.display.center.strings.two end,
set = function(v) CCBreaker.db.char.display.center.strings.two = v end,
},
three = {
type = "text",
name = CCLocale["three"],
desc = CCLocale["text if only spell, target and breaker are given"],
usage = "[spell], [target], [breaker]",
get = function() return CCBreaker.db.char.display.center.strings.three end,
set = function(v) CCBreaker.db.char.display.center.strings.three = v end,
},
four = {
type = "text",
name = CCLocale["four"],
desc = CCLocale["text if spell, target, breaker and ability are given"],
usage = "[spell], [target], [breaker], [ability]",
get = function() return CCBreaker.db.char.display.center.strings.four end,
set = function(v) CCBreaker.db.char.display.center.strings.four = v end,
},
},
},
},
},
fubar = {
type = "group",
name = CCLocale["fubar"],
desc = CCLocale["Display options in Fubar"],
args = {
spell = {
type = "toggle",
name = CCLocale["spell"],
desc = CCLocale["Display broken spell"],
get = function() return CCBreaker.db.char.display.fubar.spell end,
set = function(v) CCBreaker.db.char.display.fubar.spell = v end,
},
target = {
type = "toggle",
name = CCLocale["target"],
desc = CCLocale["Display freed target"],
get = function() return CCBreaker.db.char.display.fubar.target end,
set = function(v) CCBreaker.db.char.display.fubar.target = v end,
},
breaker = {
type = "toggle",
name = CCLocale["breaker"],
desc = CCLocale["Display who broke CC"],
get = function() return CCBreaker.db.char.display.fubar.breaker end,
set = function(v) CCBreaker.db.char.display.fubar.breaker = v end,
},
ability = {
type = "toggle",
name = CCLocale["ability"],
desc = CCLocale["Display ability breaking the CC"],
get = function() return CCBreaker.db.char.display.fubar.ability end,
set = function(v) CCBreaker.db.char.display.fubar.ability = v end,
},
},
},
},
},
filter = {
type = "group",
name = CCLocale["filter"],
desc = CCLocale["Filter Options"],
args = {
 
showon = {
type = "group",
name = CCLocale["show on"],
desc = CCLocale["Report CC breaks to those targets only"],
args = {
role = {
type = "group",
name = CCLocale["role"],
desc = CCLocale["Filter for raid roles"],
args = {
maintank = {
type = "toggle",
name = CCLocale["maintank"],
desc = CCLocale["Show break on maintanks"],
get = function() return CCBreaker.db.char.showon.maintank end,
set = function(v) CCBreaker.db.char.showon.maintank = v end,
},
mainassist = {
type = "toggle",
name = CCLocale["mainassist"],
desc = CCLocale["Show break on mainassists"],
get = function() return CCBreaker.db.char.showon.mainassist end,
set = function(v) CCBreaker.db.char.showon.mainassist = v end,
},
},
},
unit = {
type = "group",
name = CCLocale["unit"],
desc = CCLocale["Filter for unit types"],
args = {
player = {
type = "toggle",
name = CCLocale["player"],
desc = CCLocale["Show break on player"],
get = function() return CCBreaker.db.char.showon.player end,
set = function(v) CCBreaker.db.char.showon.player = v end,
},
party = {
type = "toggle",
name = CCLocale["party"],
desc = CCLocale["Show break on party members"],
get = function() return CCBreaker.db.char.showon.party end,
set = function(v) CCBreaker.db.char.showon.party = v end,
},
raid = {
type = "toggle",
name = CCLocale["raid"],
desc = CCLocale["Show break on raid members"],
get = function() return CCBreaker.db.char.showon.raid end,
set = function(v) CCBreaker.db.char.showon.raid = v end,
},
pet = {
type = "toggle",
name = CCLocale["pet"],
desc = CCLocale["Show break on your pet"],
get = function() return CCBreaker.db.char.showon.pet end,
set = function(v) CCBreaker.db.char.showon.pet = v end,
},
partypet = {
type = "toggle",
name = CCLocale["party pet"],
desc = CCLocale["Show break on party pets"],
get = function() return CCBreaker.db.char.showon.partypet end,
set = function(v) CCBreaker.db.char.showon.partypet = v end,
},
raidpet = {
type = "toggle",
name = CCLocale["raid pet"],
desc = CCLocale["Show break on raid pets"],
get = function() return CCBreaker.db.char.showon.raidpet end,
set = function(v) CCBreaker.db.char.showon.raidpet = v end,
},
others = {
type = "toggle",
name = CCLocale["others"],
desc = CCLocale["Show break on others"],
get = function() return CCBreaker.db.char.showon.others end,
set = function(v) CCBreaker.db.char.showon.others = v end,
},
},
},
 
class = {
type = "group",
name = CCLocale["class"],
desc = CCLocale["Filter for classes"],
args = {
warrior = {
type = "toggle",
name = CCLocale["warrior"],
desc = CCLocale["Show break on warriors"],
get = function() return CCBreaker.db.char.showon.warrior end,
set = function(v) CCBreaker.db.char.showon.warrior = v end,
},
warlock = {
type = "toggle",
name = CCLocale["warlock"],
desc = CCLocale["Show break on warlocks"],
get = function() return CCBreaker.db.char.showon.warlock end,
set = function(v) CCBreaker.db.char.showon.warlock = v end,
},
hunter = {
type = "toggle",
name = CCLocale["hunter"],
desc = CCLocale["Show break on hunters"],
get = function() return CCBreaker.db.char.showon.hunter end,
set = function(v) CCBreaker.db.char.showon.hunter = v end,
},
paladin = {
type = "toggle",
name = CCLocale["paladin"],
desc = CCLocale["Show break on paladins"],
get = function() return CCBreaker.db.char.showon.paladin end,
set = function(v) CCBreaker.db.char.showon.paladin = v end,
},
priest = {
type = "toggle",
name = CCLocale["priest"],
desc = CCLocale["Show break on priests"],
get = function() return CCBreaker.db.char.showon.priest end,
set = function(v) CCBreaker.db.char.showon.priest = v end,
},
druid = {
type = "toggle",
name = CCLocale["druid"],
desc = CCLocale["Show break on druids"],
get = function() return CCBreaker.db.char.showon.druid end,
set = function(v) CCBreaker.db.char.showon.druid = v end,
},
shaman = {
type = "toggle",
name = CCLocale["shaman"],
desc = CCLocale["Show break on shamans"],
get = function() return CCBreaker.db.char.showon.shaman end,
set = function(v) CCBreaker.db.char.showon.shaman = v end,
},
mage = {
type = "toggle",
name = CCLocale["mage"],
desc = CCLocale["Show break on mages"],
get = function() return CCBreaker.db.char.showon.mage end,
set = function(v) CCBreaker.db.char.showon.mage = v end,
},
rogue = {
type = "toggle",
name = CCLocale["rogue"],
desc = CCLocale["Show break on rogues"],
get = function() return CCBreaker.db.char.showon.rogue end,
set = function(v) CCBreaker.db.char.showon.rogue = v end,
},
},
},
},
},
showfrom = {
type = "group",
name = CCLocale["show from"],
desc = CCLocale["Report CC breaks from those only"],
args = {
role = {
type = "group",
name = CCLocale["role"],
desc = CCLocale["Filter for raid roles"],
args = {
maintank = {
type = "toggle",
name = CCLocale["maintank"],
desc = CCLocale["Show break from maintanks"],
get = function() return CCBreaker.db.char.showfrom.maintank end,
set = function(v) CCBreaker.db.char.showfrom.maintank = v end,
},
mainassist = {
type = "toggle",
name = CCLocale["mainassist"],
desc = CCLocale["Show break from mainassists"],
get = function() return CCBreaker.db.char.showfrom.mainassist end,
set = function(v) CCBreaker.db.char.showfrom.mainassist = v end,
},
},
},
unit = {
type = "group",
name = CCLocale["unit"],
desc = CCLocale["Filter for unit types"],
args = {
player = {
type = "toggle",
name = CCLocale["player"],
desc = CCLocale["Show break from player"],
get = function() return CCBreaker.db.char.showfrom.player end,
set = function(v) CCBreaker.db.char.showfrom.player = v end,
},
party = {
type = "toggle",
name = CCLocale["party"],
desc = CCLocale["Show break from party members"],
get = function() return CCBreaker.db.char.showfrom.party end,
set = function(v) CCBreaker.db.char.showfrom.party = v end,
},
raid = {
type = "toggle",
name = CCLocale["raid"],
desc = CCLocale["Show break from raid members"],
get = function() return CCBreaker.db.char.showfrom.raid end,
set = function(v) CCBreaker.db.char.showfrom.raid = v end,
},
pet = {
type = "toggle",
name = CCLocale["pet"],
desc = CCLocale["Show break from your pet"],
get = function() return CCBreaker.db.char.showfrom.pet end,
set = function(v) CCBreaker.db.char.showfrom.pet = v end,
},
partypet = {
type = "toggle",
name = CCLocale["party pet"],
desc = CCLocale["Show break from party pets"],
get = function() return CCBreaker.db.char.showfrom.partypet end,
set = function(v) CCBreaker.db.char.showfrom.partypet = v end,
},
raidpet = {
type = "toggle",
name = CCLocale["raid pet"],
desc = CCLocale["Show break from raid pets"],
get = function() return CCBreaker.db.char.showfrom.raidpet end,
set = function(v) CCBreaker.db.char.showfrom.raidpet = v end,
},
others = {
type = "toggle",
name = CCLocale["others"],
desc = CCLocale["Show break from others"],
get = function() return CCBreaker.db.char.showfrom.others end,
set = function(v) CCBreaker.db.char.showfrom.others = v end,
},
},
},
class = {
type = "group",
name = CCLocale["class"],
desc = CCLocale["Filter for classes"],
args = {
warrior = {
type = "toggle",
name = CCLocale["warrior"],
desc = CCLocale["Show break from warriors"],
get = function() return CCBreaker.db.char.showfrom.warrior end,
set = function(v) CCBreaker.db.char.showfrom.warrior = v end,
},
warlock = {
type = "toggle",
name = CCLocale["warlock"],
desc = CCLocale["Show break from warlocks"],
get = function() return CCBreaker.db.char.showfrom.warlock end,
set = function(v) CCBreaker.db.char.showfrom.warlock = v end,
},
hunter = {
type = "toggle",
name = CCLocale["hunter"],
desc = CCLocale["Show break from hunters"],
get = function() return CCBreaker.db.char.showfrom.hunter end,
set = function(v) CCBreaker.db.char.showfrom.hunter = v end,
},
paladin = {
type = "toggle",
name = CCLocale["paladin"],
desc = CCLocale["Show break from paladins"],
get = function() return CCBreaker.db.char.showfrom.paladin end,
set = function(v) CCBreaker.db.char.showfrom.paladin = v end,
},
priest = {
type = "toggle",
name = CCLocale["priest"],
desc = CCLocale["Show break from priests"],
get = function() return CCBreaker.db.char.showfrom.priest end,
set = function(v) CCBreaker.db.char.showfrom.priest = v end,
},
druid = {
type = "toggle",
name = CCLocale["druid"],
desc = CCLocale["Show break from druids"],
get = function() return CCBreaker.db.char.showfrom.druid end,
set = function(v) CCBreaker.db.char.showfrom.druid = v end,
},
shaman = {
type = "toggle",
name = CCLocale["shaman"],
desc = CCLocale["Show break from shamans"],
get = function() return CCBreaker.db.char.showfrom.shaman end,
set = function(v) CCBreaker.db.char.showfrom.shaman = v end,
},
mage = {
type = "toggle",
name = CCLocale["mage"],
desc = CCLocale["Show break from mages"],
get = function() return CCBreaker.db.char.showfrom.mage end,
set = function(v) CCBreaker.db.char.showfrom.mage = v end,
},
rogue = {
type = "toggle",
name = CCLocale["rogue"],
desc = CCLocale["Show break from rogues"],
get = function() return CCBreaker.db.char.showfrom.rogue end,
set = function(v) CCBreaker.db.char.showfrom.rogue = v end,
},
},
},
},
},
showeffects = {
type = "group",
name = CCLocale["show effects"],
desc = CCLocale["Report CC breaks of effects"],
args = {
freezingtrap = {
type = "toggle",
name = GetSpellInfo(3355),
desc = CCLocale["Show break of "]..GetSpellInfo(3355),
get = function() return CCBreaker.db.char.showeffects.freezingtrap end,
set = function(v) CCBreaker.db.char.showeffects.freezingtrap = v end,
},
hibernate = {
type = "toggle",
name = GetSpellInfo(2637),
desc = CCLocale["Show break of "], GetSpellInfo(2637),
get = function() return CCBreaker.db.char.showeffects.hibernate end,
set = function(v) CCBreaker.db.char.showeffects.hibernate = v end,
},
polymorph = {
type = "toggle",
name = GetSpellInfo(118),
desc = CCLocale["Show break of "]..GetSpellInfo(118)..", "
..GetSpellInfo(28271).." and "
..GetSpellInfo(28272),
get = function() return CCBreaker.db.char.showeffects.polymorph end,
set = function(v) CCBreaker.db.char.showeffects.polymorph = v end,
},
sap = {
type = "toggle",
name = GetSpellInfo(6770),
desc = CCLocale["Show break of "]..GetSpellInfo(6770),
get = function() return CCBreaker.db.char.showeffects.sap end,
set = function(v) CCBreaker.db.char.showeffects.sap = v end,
},
seduction = {
type = "toggle",
name = GetSpellInfo(6358),
desc = CCLocale["Show break of "]..GetSpellInfo(6358),
get = function() return CCBreaker.db.char.showeffects.seduction end,
set = function(v) CCBreaker.db.char.showeffects.seduction = v end,
},
shackleundead = {
type = "toggle",
name = GetSpellInfo(9484),
desc = CCLocale["Show break of "]..GetSpellInfo(9484),
get = function() return CCBreaker.db.char.showeffects.shackleundead end,
set = function(v) CCBreaker.db.char.showeffects.shackleundead = v end,
},
},
},
},
},
},
}
 
 
 
--CCBreaker:RegisterChatCommand(CCLocale["Slash-Commands"],CCBreaker.OnMenuRequest)
CCWaterfall:Register("CCBreaker","aceOptions",CCBreaker.OnMenuRequest,"title","CCBreaker Options","treeLevels",3)
 
 
 
rewrite/options.lua New file
0,0 → 1,25
 
--quicksearch:
-- #OPTIONSTABLE: the table defining the ace options
 
 
-- #OPTIONSTABLE
local myOptionsTable = {
type="group",
args={
enable={
name="Enable",
desc="Enables / disables the addon",
type="toggle",
set = function(info,val) CCBreaker.enabled = val end,
get = function(info) return CCBreaker.enabled end
},
 
moreoptions={
name="More Options",
type="group",
args={
more options go here
}
}
}
\ No newline at end of file
rewrite/CCBreaker.xcodeproj/project.pbxproj New file
0,0 → 1,91
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 42;
objects = {
 
/* Begin PBXFileReference section */
372707350EB0641C00060717 /* spellid.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.lua; path = spellid.lua; sourceTree = "<group>"; };
372707360EB0641C00060717 /* options.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.lua; path = options.lua; sourceTree = "<group>"; };
372707370EB0641C00060717 /* old_options.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.lua; path = old_options.lua; sourceTree = "<group>"; };
372707380EB0641C00060717 /* old_CCBreaker.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.lua; path = old_CCBreaker.lua; sourceTree = "<group>"; };
372707390EB0641C00060717 /* Locale-zhTW.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.lua; path = "Locale-zhTW.lua"; sourceTree = "<group>"; };
3727073A0EB0641C00060717 /* Locale-zhCN.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.lua; path = "Locale-zhCN.lua"; sourceTree = "<group>"; };
3727073B0EB0641C00060717 /* Locale-koKR.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.lua; path = "Locale-koKR.lua"; sourceTree = "<group>"; };
3727073C0EB0641C00060717 /* Locale-enUS.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.lua; path = "Locale-enUS.lua"; sourceTree = "<group>"; };
3727073D0EB0641C00060717 /* Locale-deDE.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.lua; path = "Locale-deDE.lua"; sourceTree = "<group>"; };
3727073E0EB0641C00060717 /* filter.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.lua; path = filter.lua; sourceTree = "<group>"; };
3727073F0EB0641C00060717 /* embeds.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = embeds.xml; sourceTree = "<group>"; };
372707400EB0641C00060717 /* CCBreaker.toc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CCBreaker.toc; sourceTree = "<group>"; };
372707410EB0641C00060717 /* CCBreaker.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.lua; path = CCBreaker.lua; sourceTree = "<group>"; };
/* End PBXFileReference section */
 
/* Begin PBXGroup section */
372707210EB063CD00060717 = {
isa = PBXGroup;
children = (
372707350EB0641C00060717 /* spellid.lua */,
372707360EB0641C00060717 /* options.lua */,
372707370EB0641C00060717 /* old_options.lua */,
372707380EB0641C00060717 /* old_CCBreaker.lua */,
372707390EB0641C00060717 /* Locale-zhTW.lua */,
3727073A0EB0641C00060717 /* Locale-zhCN.lua */,
3727073B0EB0641C00060717 /* Locale-koKR.lua */,
3727073C0EB0641C00060717 /* Locale-enUS.lua */,
3727073D0EB0641C00060717 /* Locale-deDE.lua */,
3727073E0EB0641C00060717 /* filter.lua */,
3727073F0EB0641C00060717 /* embeds.xml */,
372707400EB0641C00060717 /* CCBreaker.toc */,
372707410EB0641C00060717 /* CCBreaker.lua */,
);
sourceTree = "<group>";
};
/* End PBXGroup section */
 
/* Begin PBXProject section */
372707230EB063CD00060717 /* Project object */ = {
isa = PBXProject;
buildConfigurationList = 372707260EB063CD00060717 /* Build configuration list for PBXProject "CCBreaker" */;
compatibilityVersion = "Xcode 2.4";
hasScannedForEncodings = 0;
mainGroup = 372707210EB063CD00060717;
projectDirPath = "";
projectRoot = "";
targets = (
);
};
/* End PBXProject section */
 
/* Begin XCBuildConfiguration section */
372707240EB063CD00060717 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = NO;
};
name = Debug;
};
372707250EB063CD00060717 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = YES;
};
name = Release;
};
/* End XCBuildConfiguration section */
 
/* Begin XCConfigurationList section */
372707260EB063CD00060717 /* Build configuration list for PBXProject "CCBreaker" */ = {
isa = XCConfigurationList;
buildConfigurations = (
372707240EB063CD00060717 /* Debug */,
372707250EB063CD00060717 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 372707230EB063CD00060717 /* Project object */;
}
rewrite/CCBreaker.xcodeproj/phere.pbxuser New file
0,0 → 1,51
// !$*UTF8*$!
{
372707230EB063CD00060717 /* Project object */ = {
activeBuildConfigurationName = Debug;
addToTargets = (
);
codeSenseManager = 372707280EB063CD00060717 /* Code sense */;
ignoreBreakpointsInProjectsDict = {
};
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
341,
20,
48.16259765625,
43,
43,
20,
);
PBXFileTableDataSourceColumnsKey = (
PBXFileDataSource_FiletypeID,
PBXFileDataSource_Filename_ColumnID,
PBXFileDataSource_Built_ColumnID,
PBXFileDataSource_ObjectSize_ColumnID,
PBXFileDataSource_Errors_ColumnID,
PBXFileDataSource_Warnings_ColumnID,
PBXFileDataSource_Target_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 246440931;
PBXWorkspaceStateSaveDate = 246440931;
};
sourceControlManager = 372707270EB063CD00060717 /* Source Control */;
userBuildSettings = {
};
};
372707270EB063CD00060717 /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
};
};
372707280EB063CD00060717 /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
}
rewrite/CCBreaker.xcodeproj/phere.mode1v3 New file
0,0 → 1,1372
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ActivePerspectiveName</key>
<string>Project</string>
<key>AllowedModules</key>
<array>
<dict>
<key>BundleLoadPath</key>
<string></string>
<key>MaxInstances</key>
<string>n</string>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Name</key>
<string>Groups and Files Outline View</string>
</dict>
<dict>
<key>BundleLoadPath</key>
<string></string>
<key>MaxInstances</key>
<string>n</string>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Name</key>
<string>Editor</string>
</dict>
<dict>
<key>BundleLoadPath</key>
<string></string>
<key>MaxInstances</key>
<string>n</string>
<key>Module</key>
<string>XCTaskListModule</string>
<key>Name</key>
<string>Task List</string>
</dict>
<dict>
<key>BundleLoadPath</key>
<string></string>
<key>MaxInstances</key>
<string>n</string>
<key>Module</key>
<string>XCDetailModule</string>
<key>Name</key>
<string>File and Smart Group Detail Viewer</string>
</dict>
<dict>
<key>BundleLoadPath</key>
<string></string>
<key>MaxInstances</key>
<string>1</string>
<key>Module</key>
<string>PBXBuildResultsModule</string>
<key>Name</key>
<string>Detailed Build Results Viewer</string>
</dict>
<dict>
<key>BundleLoadPath</key>
<string></string>
<key>MaxInstances</key>
<string>1</string>
<key>Module</key>
<string>PBXProjectFindModule</string>
<key>Name</key>
<string>Project Batch Find Tool</string>
</dict>
<dict>
<key>BundleLoadPath</key>
<string></string>
<key>MaxInstances</key>
<string>n</string>
<key>Module</key>
<string>XCProjectFormatConflictsModule</string>
<key>Name</key>
<string>Project Format Conflicts List</string>
</dict>
<dict>
<key>BundleLoadPath</key>
<string></string>
<key>MaxInstances</key>
<string>n</string>
<key>Module</key>
<string>PBXBookmarksModule</string>
<key>Name</key>
<string>Bookmarks Tool</string>
</dict>
<dict>
<key>BundleLoadPath</key>
<string></string>
<key>MaxInstances</key>
<string>n</string>
<key>Module</key>
<string>PBXClassBrowserModule</string>
<key>Name</key>
<string>Class Browser</string>
</dict>
<dict>
<key>BundleLoadPath</key>
<string></string>
<key>MaxInstances</key>
<string>n</string>
<key>Module</key>
<string>PBXCVSModule</string>
<key>Name</key>
<string>Source Code Control Tool</string>
</dict>
<dict>
<key>BundleLoadPath</key>
<string></string>
<key>MaxInstances</key>
<string>n</string>
<key>Module</key>
<string>PBXDebugBreakpointsModule</string>
<key>Name</key>
<string>Debug Breakpoints Tool</string>
</dict>
<dict>
<key>BundleLoadPath</key>
<string></string>
<key>MaxInstances</key>
<string>n</string>
<key>Module</key>
<string>XCDockableInspector</string>
<key>Name</key>
<string>Inspector</string>
</dict>
<dict>
<key>BundleLoadPath</key>
<string></string>
<key>MaxInstances</key>
<string>n</string>
<key>Module</key>
<string>PBXOpenQuicklyModule</string>
<key>Name</key>
<string>Open Quickly Tool</string>
</dict>
<dict>
<key>BundleLoadPath</key>
<string></string>
<key>MaxInstances</key>
<string>1</string>
<key>Module</key>
<string>PBXDebugSessionModule</string>
<key>Name</key>
<string>Debugger</string>
</dict>
<dict>
<key>BundleLoadPath</key>
<string></string>
<key>MaxInstances</key>
<string>1</string>
<key>Module</key>
<string>PBXDebugCLIModule</string>
<key>Name</key>
<string>Debug Console</string>
</dict>
<dict>
<key>BundleLoadPath</key>
<string></string>
<key>MaxInstances</key>
<string>n</string>
<key>Module</key>
<string>XCSnapshotModule</string>
<key>Name</key>
<string>Snapshots Tool</string>
</dict>
</array>
<key>BundlePath</key>
<string>/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources</string>
<key>Description</key>
<string>DefaultDescriptionKey</string>
<key>DockingSystemVisible</key>
<false/>
<key>Extension</key>
<string>mode1v3</string>
<key>FavBarConfig</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>3727072D0EB063D000060717</string>
<key>XCBarModuleItemNames</key>
<dict/>
<key>XCBarModuleItems</key>
<array/>
</dict>
<key>FirstTimeWindowDisplayed</key>
<false/>
<key>Identifier</key>
<string>com.apple.perspectives.project.mode1v3</string>
<key>MajorVersion</key>
<integer>33</integer>
<key>MinorVersion</key>
<integer>0</integer>
<key>Name</key>
<string>Default</string>
<key>Notifications</key>
<array>
<dict>
<key>XCObserverAutoDisconnectKey</key>
<true/>
<key>XCObserverDefintionKey</key>
<dict/>
<key>XCObserverFactoryKey</key>
<string>XCPerspectivesSpecificationIdentifier</string>
<key>XCObserverGUIDKey</key>
<string>XCObserverProjectIdentifier</string>
<key>XCObserverNotificationKey</key>
<string>PBXStatusBuildStateMessageNotification</string>
<key>XCObserverTargetKey</key>
<string>XCMainBuildResultsModuleGUID</string>
<key>XCObserverTriggerKey</key>
<string>awakenModuleWithObserver:</string>
<key>XCObserverValidationKey</key>
<dict/>
</dict>
</array>
<key>OpenEditors</key>
<array/>
<key>PerspectiveWidths</key>
<array>
<integer>-1</integer>
<integer>-1</integer>
</array>
<key>Perspectives</key>
<array>
<dict>
<key>ChosenToolbarItems</key>
<array>
<string>active-target-popup</string>
<string>active-buildstyle-popup</string>
<string>action</string>
<string>NSToolbarFlexibleSpaceItem</string>
<string>buildOrClean</string>
<string>build-and-goOrGo</string>
<string>com.apple.ide.PBXToolbarStopButton</string>
<string>get-info</string>
<string>toggle-editor</string>
<string>NSToolbarFlexibleSpaceItem</string>
<string>com.apple.pbx.toolbar.searchfield</string>
</array>
<key>ControllerClassBaseName</key>
<string></string>
<key>IconName</key>
<string>WindowOfProjectWithEditor</string>
<key>Identifier</key>
<string>perspective.project</string>
<key>IsVertical</key>
<false/>
<key>Layout</key>
<array>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
<array>
<string>1C37FBAC04509CD000000102</string>
<string>1C37FAAC04509CD000000102</string>
<string>1C08E77C0454961000C914BD</string>
<string>1C37FABC05509CD000000102</string>
<string>1C37FABC05539CD112110102</string>
<string>E2644B35053B69B200211256</string>
<string>1C37FABC04509CD000100104</string>
<string>1CC0EA4004350EF90044410B</string>
<string>1CC0EA4004350EF90041110B</string>
</array>
<key>PBXProjectModuleGUID</key>
<string>1CE0B1FE06471DED0097A5F4</string>
<key>PBXProjectModuleLabel</key>
<string>Files</string>
<key>PBXProjectStructureProvided</key>
<string>yes</string>
<key>PBXSmartGroupTreeModuleColumnData</key>
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
<real>186</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
<string>MainColumn</string>
</array>
</dict>
<key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
<dict>
<key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
<array>
<string>372707210EB063CD00060717</string>
<string>1C37FABC05509CD000000102</string>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
<integer>0</integer>
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
<string>{{0, 0}, {186, 445}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
<key>XCIncludePerspectivesSwitch</key>
<true/>
<key>XCSharingToken</key>
<string>com.apple.Xcode.GFSharingToken</string>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {203, 463}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>186</real>
</array>
<key>RubberWindowFrame</key>
<string>246 220 788 504 0 0 1280 778 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
<string>203pt</string>
</dict>
<dict>
<key>Dock</key>
<array>
<dict>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CE0B20306471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
<string>MyNewFile14.java</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CE0B20406471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
<string>MyNewFile14.java</string>
</dict>
<key>SplitCount</key>
<string>1</string>
</dict>
<key>StatusBarVisibility</key>
<true/>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {580, 285}}</string>
<key>RubberWindowFrame</key>
<string>246 220 788 504 0 0 1280 778 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>285pt</string>
</dict>
<dict>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CE0B20506471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
<string>Detail</string>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 290}, {580, 173}}</string>
<key>RubberWindowFrame</key>
<string>246 220 788 504 0 0 1280 778 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
<key>Proportion</key>
<string>173pt</string>
</dict>
</array>
<key>Proportion</key>
<string>580pt</string>
</dict>
</array>
<key>Name</key>
<string>Project</string>
<key>ServiceClasses</key>
<array>
<string>XCModuleDock</string>
<string>PBXSmartGroupTreeModule</string>
<string>XCModuleDock</string>
<string>PBXNavigatorGroup</string>
<string>XCDetailModule</string>
</array>
<key>TableOfContents</key>
<array>
<string>3727072B0EB063D000060717</string>
<string>1CE0B1FE06471DED0097A5F4</string>
<string>3727072C0EB063D000060717</string>
<string>1CE0B20306471E060097A5F4</string>
<string>1CE0B20506471E060097A5F4</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.defaultV3</string>
</dict>
<dict>
<key>ControllerClassBaseName</key>
<string></string>
<key>IconName</key>
<string>WindowOfProject</string>
<key>Identifier</key>
<string>perspective.morph</string>
<key>IsVertical</key>
<integer>0</integer>
<key>Layout</key>
<array>
<dict>
<key>BecomeActive</key>
<integer>1</integer>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
<array>
<string>1C37FBAC04509CD000000102</string>
<string>1C37FAAC04509CD000000102</string>
<string>1C08E77C0454961000C914BD</string>
<string>1C37FABC05509CD000000102</string>
<string>1C37FABC05539CD112110102</string>
<string>E2644B35053B69B200211256</string>
<string>1C37FABC04509CD000100104</string>
<string>1CC0EA4004350EF90044410B</string>
<string>1CC0EA4004350EF90041110B</string>
</array>
<key>PBXProjectModuleGUID</key>
<string>11E0B1FE06471DED0097A5F4</string>
<key>PBXProjectModuleLabel</key>
<string>Files</string>
<key>PBXProjectStructureProvided</key>
<string>yes</string>
<key>PBXSmartGroupTreeModuleColumnData</key>
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
<real>186</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
<string>MainColumn</string>
</array>
</dict>
<key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
<dict>
<key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
<array>
<string>29B97314FDCFA39411CA2CEA</string>
<string>1C37FABC05509CD000000102</string>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
<integer>0</integer>
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
<string>{{0, 0}, {186, 337}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
<key>XCIncludePerspectivesSwitch</key>
<integer>1</integer>
<key>XCSharingToken</key>
<string>com.apple.Xcode.GFSharingToken</string>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {203, 355}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>186</real>
</array>
<key>RubberWindowFrame</key>
<string>373 269 690 397 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
<string>100%</string>
</dict>
</array>
<key>Name</key>
<string>Morph</string>
<key>PreferredWidth</key>
<integer>300</integer>
<key>ServiceClasses</key>
<array>
<string>XCModuleDock</string>
<string>PBXSmartGroupTreeModule</string>
</array>
<key>TableOfContents</key>
<array>
<string>11E0B1FE06471DED0097A5F4</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.default.shortV3</string>
</dict>
</array>
<key>PerspectivesBarVisible</key>
<false/>
<key>ShelfIsVisible</key>
<false/>
<key>SourceDescription</key>
<string>file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string>
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
<real>246440910.05277401</real>
<key>ToolbarDisplayMode</key>
<integer>1</integer>
<key>ToolbarIsVisible</key>
<true/>
<key>ToolbarSizeMode</key>
<integer>1</integer>
<key>Type</key>
<string>Perspectives</string>
<key>UpdateMessage</key>
<string>The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'?</string>
<key>WindowJustification</key>
<integer>5</integer>
<key>WindowOrderList</key>
<array>
<string>/Users/phere/Projects/CCBreaker/branches/rewrite/CCBreaker/CCBreaker.xcodeproj</string>
</array>
<key>WindowString</key>
<string>246 220 788 504 0 0 1280 778 </string>
<key>WindowToolsV3</key>
<array>
<dict>
<key>Identifier</key>
<string>windowTool.build</string>
<key>Layout</key>
<array>
<dict>
<key>Dock</key>
<array>
<dict>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CD0528F0623707200166675</string>
<key>PBXProjectModuleLabel</key>
<string>&lt;No Editor&gt;</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CD052900623707200166675</string>
</dict>
<key>SplitCount</key>
<string>1</string>
</dict>
<key>StatusBarVisibility</key>
<integer>1</integer>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {500, 215}}</string>
<key>RubberWindowFrame</key>
<string>192 257 500 500 0 0 1280 1002 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>218pt</string>
</dict>
<dict>
<key>BecomeActive</key>
<integer>1</integer>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>XCMainBuildResultsModuleGUID</string>
<key>PBXProjectModuleLabel</key>
<string>Build</string>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 222}, {500, 236}}</string>
<key>RubberWindowFrame</key>
<string>192 257 500 500 0 0 1280 1002 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
<key>Proportion</key>
<string>236pt</string>
</dict>
</array>
<key>Proportion</key>
<string>458pt</string>
</dict>
</array>
<key>Name</key>
<string>Build Results</string>
<key>ServiceClasses</key>
<array>
<string>PBXBuildResultsModule</string>
</array>
<key>StatusbarIsVisible</key>
<integer>1</integer>
<key>TableOfContents</key>
<array>
<string>1C78EAA5065D492600B07095</string>
<string>1C78EAA6065D492600B07095</string>
<string>1CD0528F0623707200166675</string>
<string>XCMainBuildResultsModuleGUID</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.buildV3</string>
<key>WindowString</key>
<string>192 257 500 500 0 0 1280 1002 </string>
</dict>
<dict>
<key>Identifier</key>
<string>windowTool.debugger</string>
<key>Layout</key>
<array>
<dict>
<key>Dock</key>
<array>
<dict>
<key>ContentConfiguration</key>
<dict>
<key>Debugger</key>
<dict>
<key>HorizontalSplitView</key>
<dict>
<key>_collapsingFrameDimension</key>
<real>0.0</real>
<key>_indexOfCollapsedView</key>
<integer>0</integer>
<key>_percentageOfCollapsedView</key>
<real>0.0</real>
<key>isCollapsed</key>
<string>yes</string>
<key>sizes</key>
<array>
<string>{{0, 0}, {317, 164}}</string>
<string>{{317, 0}, {377, 164}}</string>
</array>
</dict>
<key>VerticalSplitView</key>
<dict>
<key>_collapsingFrameDimension</key>
<real>0.0</real>
<key>_indexOfCollapsedView</key>
<integer>0</integer>
<key>_percentageOfCollapsedView</key>
<real>0.0</real>
<key>isCollapsed</key>
<string>yes</string>
<key>sizes</key>
<array>
<string>{{0, 0}, {694, 164}}</string>
<string>{{0, 164}, {694, 216}}</string>
</array>
</dict>
</dict>
<key>LauncherConfigVersion</key>
<string>8</string>
<key>PBXProjectModuleGUID</key>
<string>1C162984064C10D400B95A72</string>
<key>PBXProjectModuleLabel</key>
<string>Debug - GLUTExamples (Underwater)</string>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>DebugConsoleDrawerSize</key>
<string>{100, 120}</string>
<key>DebugConsoleVisible</key>
<string>None</string>
<key>DebugConsoleWindowFrame</key>
<string>{{200, 200}, {500, 300}}</string>
<key>DebugSTDIOWindowFrame</key>
<string>{{200, 200}, {500, 300}}</string>
<key>Frame</key>
<string>{{0, 0}, {694, 380}}</string>
<key>RubberWindowFrame</key>
<string>321 238 694 422 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXDebugSessionModule</string>
<key>Proportion</key>
<string>100%</string>
</dict>
</array>
<key>Proportion</key>
<string>100%</string>
</dict>
</array>
<key>Name</key>
<string>Debugger</string>
<key>ServiceClasses</key>
<array>
<string>PBXDebugSessionModule</string>
</array>
<key>StatusbarIsVisible</key>
<integer>1</integer>
<key>TableOfContents</key>
<array>
<string>1CD10A99069EF8BA00B06720</string>
<string>1C0AD2AB069F1E9B00FABCE6</string>
<string>1C162984064C10D400B95A72</string>
<string>1C0AD2AC069F1E9B00FABCE6</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.debugV3</string>
<key>WindowString</key>
<string>321 238 694 422 0 0 1440 878 </string>
<key>WindowToolGUID</key>
<string>1CD10A99069EF8BA00B06720</string>
<key>WindowToolIsVisible</key>
<integer>0</integer>
</dict>
<dict>
<key>Identifier</key>
<string>windowTool.find</string>
<key>Layout</key>
<array>
<dict>
<key>Dock</key>
<array>
<dict>
<key>Dock</key>
<array>
<dict>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CDD528C0622207200134675</string>
<key>PBXProjectModuleLabel</key>
<string>&lt;No Editor&gt;</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CD0528D0623707200166675</string>
</dict>
<key>SplitCount</key>
<string>1</string>
</dict>
<key>StatusBarVisibility</key>
<integer>1</integer>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {781, 167}}</string>
<key>RubberWindowFrame</key>
<string>62 385 781 470 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>781pt</string>
</dict>
</array>
<key>Proportion</key>
<string>50%</string>
</dict>
<dict>
<key>BecomeActive</key>
<integer>1</integer>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CD0528E0623707200166675</string>
<key>PBXProjectModuleLabel</key>
<string>Project Find</string>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{8, 0}, {773, 254}}</string>
<key>RubberWindowFrame</key>
<string>62 385 781 470 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXProjectFindModule</string>
<key>Proportion</key>
<string>50%</string>
</dict>
</array>
<key>Proportion</key>
<string>428pt</string>
</dict>
</array>
<key>Name</key>
<string>Project Find</string>
<key>ServiceClasses</key>
<array>
<string>PBXProjectFindModule</string>
</array>
<key>StatusbarIsVisible</key>
<integer>1</integer>
<key>TableOfContents</key>
<array>
<string>1C530D57069F1CE1000CFCEE</string>
<string>1C530D58069F1CE1000CFCEE</string>
<string>1C530D59069F1CE1000CFCEE</string>
<string>1CDD528C0622207200134675</string>
<string>1C530D5A069F1CE1000CFCEE</string>
<string>1CE0B1FE06471DED0097A5F4</string>
<string>1CD0528E0623707200166675</string>
</array>
<key>WindowString</key>
<string>62 385 781 470 0 0 1440 878 </string>
<key>WindowToolGUID</key>
<string>1C530D57069F1CE1000CFCEE</string>
<key>WindowToolIsVisible</key>
<integer>0</integer>
</dict>
<dict>
<key>Identifier</key>
<string>MENUSEPARATOR</string>
</dict>
<dict>
<key>Identifier</key>
<string>windowTool.debuggerConsole</string>
<key>Layout</key>
<array>
<dict>
<key>Dock</key>
<array>
<dict>
<key>BecomeActive</key>
<integer>1</integer>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1C78EAAC065D492600B07095</string>
<key>PBXProjectModuleLabel</key>
<string>Debugger Console</string>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {650, 250}}</string>
<key>RubberWindowFrame</key>
<string>516 632 650 250 0 0 1680 1027 </string>
</dict>
<key>Module</key>
<string>PBXDebugCLIModule</string>
<key>Proportion</key>
<string>209pt</string>
</dict>
</array>
<key>Proportion</key>
<string>209pt</string>
</dict>
</array>
<key>Name</key>
<string>Debugger Console</string>
<key>ServiceClasses</key>
<array>
<string>PBXDebugCLIModule</string>
</array>
<key>StatusbarIsVisible</key>
<integer>1</integer>
<key>TableOfContents</key>
<array>
<string>1C78EAAD065D492600B07095</string>
<string>1C78EAAE065D492600B07095</string>
<string>1C78EAAC065D492600B07095</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.consoleV3</string>
<key>WindowString</key>
<string>650 41 650 250 0 0 1280 1002 </string>
<key>WindowToolGUID</key>
<string>1C78EAAD065D492600B07095</string>
<key>WindowToolIsVisible</key>
<integer>0</integer>
</dict>
<dict>
<key>Identifier</key>
<string>windowTool.snapshots</string>
<key>Layout</key>
<array>
<dict>
<key>Dock</key>
<array>
<dict>
<key>Module</key>
<string>XCSnapshotModule</string>
<key>Proportion</key>
<string>100%</string>
</dict>
</array>
<key>Proportion</key>
<string>100%</string>
</dict>
</array>
<key>Name</key>
<string>Snapshots</string>
<key>ServiceClasses</key>
<array>
<string>XCSnapshotModule</string>
</array>
<key>StatusbarIsVisible</key>
<string>Yes</string>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.snapshots</string>
<key>WindowString</key>
<string>315 824 300 550 0 0 1440 878 </string>
<key>WindowToolIsVisible</key>
<string>Yes</string>
</dict>
<dict>
<key>Identifier</key>
<string>windowTool.scm</string>
<key>Layout</key>
<array>
<dict>
<key>Dock</key>
<array>
<dict>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1C78EAB2065D492600B07095</string>
<key>PBXProjectModuleLabel</key>
<string>&lt;No Editor&gt;</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1C78EAB3065D492600B07095</string>
</dict>
<key>SplitCount</key>
<string>1</string>
</dict>
<key>StatusBarVisibility</key>
<integer>1</integer>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {452, 0}}</string>
<key>RubberWindowFrame</key>
<string>743 379 452 308 0 0 1280 1002 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>0pt</string>
</dict>
<dict>
<key>BecomeActive</key>
<integer>1</integer>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CD052920623707200166675</string>
<key>PBXProjectModuleLabel</key>
<string>SCM</string>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>ConsoleFrame</key>
<string>{{0, 259}, {452, 0}}</string>
<key>Frame</key>
<string>{{0, 7}, {452, 259}}</string>
<key>RubberWindowFrame</key>
<string>743 379 452 308 0 0 1280 1002 </string>
<key>TableConfiguration</key>
<array>
<string>Status</string>
<real>30</real>
<string>FileName</string>
<real>199</real>
<string>Path</string>
<real>197.0950012207031</real>
</array>
<key>TableFrame</key>
<string>{{0, 0}, {452, 250}}</string>
</dict>
<key>Module</key>
<string>PBXCVSModule</string>
<key>Proportion</key>
<string>262pt</string>
</dict>
</array>
<key>Proportion</key>
<string>266pt</string>
</dict>
</array>
<key>Name</key>
<string>SCM</string>
<key>ServiceClasses</key>
<array>
<string>PBXCVSModule</string>
</array>
<key>StatusbarIsVisible</key>
<integer>1</integer>
<key>TableOfContents</key>
<array>
<string>1C78EAB4065D492600B07095</string>
<string>1C78EAB5065D492600B07095</string>
<string>1C78EAB2065D492600B07095</string>
<string>1CD052920623707200166675</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.scm</string>
<key>WindowString</key>
<string>743 379 452 308 0 0 1280 1002 </string>
</dict>
<dict>
<key>Identifier</key>
<string>windowTool.breakpoints</string>
<key>IsVertical</key>
<integer>0</integer>
<key>Layout</key>
<array>
<dict>
<key>Dock</key>
<array>
<dict>
<key>BecomeActive</key>
<integer>1</integer>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
<array>
<string>1C77FABC04509CD000000102</string>
</array>
<key>PBXProjectModuleGUID</key>
<string>1CE0B1FE06471DED0097A5F4</string>
<key>PBXProjectModuleLabel</key>
<string>Files</string>
<key>PBXProjectStructureProvided</key>
<string>no</string>
<key>PBXSmartGroupTreeModuleColumnData</key>
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
<real>168</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
<string>MainColumn</string>
</array>
</dict>
<key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
<dict>
<key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
<array>
<string>1C77FABC04509CD000000102</string>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
<integer>0</integer>
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
<string>{{0, 0}, {168, 350}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
<key>XCIncludePerspectivesSwitch</key>
<integer>0</integer>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {185, 368}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>168</real>
</array>
<key>RubberWindowFrame</key>
<string>315 424 744 409 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
<string>185pt</string>
</dict>
<dict>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CA1AED706398EBD00589147</string>
<key>PBXProjectModuleLabel</key>
<string>Detail</string>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{190, 0}, {554, 368}}</string>
<key>RubberWindowFrame</key>
<string>315 424 744 409 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
<key>Proportion</key>
<string>554pt</string>
</dict>
</array>
<key>Proportion</key>
<string>368pt</string>
</dict>
</array>
<key>MajorVersion</key>
<integer>3</integer>
<key>MinorVersion</key>
<integer>0</integer>
<key>Name</key>
<string>Breakpoints</string>
<key>ServiceClasses</key>
<array>
<string>PBXSmartGroupTreeModule</string>
<string>XCDetailModule</string>
</array>
<key>StatusbarIsVisible</key>
<integer>1</integer>
<key>TableOfContents</key>
<array>
<string>1CDDB66807F98D9800BB5817</string>
<string>1CDDB66907F98D9800BB5817</string>
<string>1CE0B1FE06471DED0097A5F4</string>
<string>1CA1AED706398EBD00589147</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.breakpointsV3</string>
<key>WindowString</key>
<string>315 424 744 409 0 0 1440 878 </string>
<key>WindowToolGUID</key>
<string>1CDDB66807F98D9800BB5817</string>
<key>WindowToolIsVisible</key>
<integer>1</integer>
</dict>
<dict>
<key>Identifier</key>
<string>windowTool.debugAnimator</string>
<key>Layout</key>
<array>
<dict>
<key>Dock</key>
<array>
<dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>100%</string>
</dict>
</array>
<key>Proportion</key>
<string>100%</string>
</dict>
</array>
<key>Name</key>
<string>Debug Visualizer</string>
<key>ServiceClasses</key>
<array>
<string>PBXNavigatorGroup</string>
</array>
<key>StatusbarIsVisible</key>
<integer>1</integer>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.debugAnimatorV3</string>
<key>WindowString</key>
<string>100 100 700 500 0 0 1280 1002 </string>
</dict>
<dict>
<key>Identifier</key>
<string>windowTool.bookmarks</string>
<key>Layout</key>
<array>
<dict>
<key>Dock</key>
<array>
<dict>
<key>Module</key>
<string>PBXBookmarksModule</string>
<key>Proportion</key>
<string>100%</string>
</dict>
</array>
<key>Proportion</key>
<string>100%</string>
</dict>
</array>
<key>Name</key>
<string>Bookmarks</string>
<key>ServiceClasses</key>
<array>
<string>PBXBookmarksModule</string>
</array>
<key>StatusbarIsVisible</key>
<integer>0</integer>
<key>WindowString</key>
<string>538 42 401 187 0 0 1280 1002 </string>
</dict>
<dict>
<key>Identifier</key>
<string>windowTool.projectFormatConflicts</string>
<key>Layout</key>
<array>
<dict>
<key>Dock</key>
<array>
<dict>
<key>Module</key>
<string>XCProjectFormatConflictsModule</string>
<key>Proportion</key>
<string>100%</string>
</dict>
</array>
<key>Proportion</key>
<string>100%</string>
</dict>
</array>
<key>Name</key>
<string>Project Format Conflicts</string>
<key>ServiceClasses</key>
<array>
<string>XCProjectFormatConflictsModule</string>
</array>
<key>StatusbarIsVisible</key>
<integer>0</integer>
<key>WindowContentMinSize</key>
<string>450 300</string>
<key>WindowString</key>
<string>50 850 472 307 0 0 1440 877</string>
</dict>
<dict>
<key>Identifier</key>
<string>windowTool.classBrowser</string>
<key>Layout</key>
<array>
<dict>
<key>Dock</key>
<array>
<dict>
<key>BecomeActive</key>
<integer>1</integer>
<key>ContentConfiguration</key>
<dict>
<key>OptionsSetName</key>
<string>Hierarchy, all classes</string>
<key>PBXProjectModuleGUID</key>
<string>1CA6456E063B45B4001379D8</string>
<key>PBXProjectModuleLabel</key>
<string>Class Browser - NSObject</string>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>ClassesFrame</key>
<string>{{0, 0}, {374, 96}}</string>
<key>ClassesTreeTableConfiguration</key>
<array>
<string>PBXClassNameColumnIdentifier</string>
<real>208</real>
<string>PBXClassBookColumnIdentifier</string>
<real>22</real>
</array>
<key>Frame</key>
<string>{{0, 0}, {630, 331}}</string>
<key>MembersFrame</key>
<string>{{0, 105}, {374, 395}}</string>
<key>MembersTreeTableConfiguration</key>
<array>
<string>PBXMemberTypeIconColumnIdentifier</string>
<real>22</real>
<string>PBXMemberNameColumnIdentifier</string>
<real>216</real>
<string>PBXMemberTypeColumnIdentifier</string>
<real>97</real>
<string>PBXMemberBookColumnIdentifier</string>
<real>22</real>
</array>
<key>PBXModuleWindowStatusBarHidden2</key>
<integer>1</integer>
<key>RubberWindowFrame</key>
<string>385 179 630 352 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXClassBrowserModule</string>
<key>Proportion</key>
<string>332pt</string>
</dict>
</array>
<key>Proportion</key>
<string>332pt</string>
</dict>
</array>
<key>Name</key>
<string>Class Browser</string>
<key>ServiceClasses</key>
<array>
<string>PBXClassBrowserModule</string>
</array>
<key>StatusbarIsVisible</key>
<integer>0</integer>
<key>TableOfContents</key>
<array>
<string>1C0AD2AF069F1E9B00FABCE6</string>
<string>1C0AD2B0069F1E9B00FABCE6</string>
<string>1CA6456E063B45B4001379D8</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.classbrowser</string>
<key>WindowString</key>
<string>385 179 630 352 0 0 1440 878 </string>
<key>WindowToolGUID</key>
<string>1C0AD2AF069F1E9B00FABCE6</string>
<key>WindowToolIsVisible</key>
<integer>0</integer>
</dict>
<dict>
<key>Identifier</key>
<string>windowTool.refactoring</string>
<key>IncludeInToolsMenu</key>
<integer>0</integer>
<key>Layout</key>
<array>
<dict>
<key>Dock</key>
<array>
<dict>
<key>BecomeActive</key>
<integer>1</integer>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{0, 0}, {500, 335}</string>
<key>RubberWindowFrame</key>
<string>{0, 0}, {500, 335}</string>
</dict>
<key>Module</key>
<string>XCRefactoringModule</string>
<key>Proportion</key>
<string>100%</string>
</dict>
</array>
<key>Proportion</key>
<string>100%</string>
</dict>
</array>
<key>Name</key>
<string>Refactoring</string>
<key>ServiceClasses</key>
<array>
<string>XCRefactoringModule</string>
</array>
<key>WindowString</key>
<string>200 200 500 356 0 0 1920 1200 </string>
</dict>
</array>
</dict>
</plist>