@@ -20,6 +20,7 @@ cPointDisplay.Types = {
2020 name = " Warlock" ,
2121 points = {
2222 [1 ] = {name = " Soul Shards" , id = " ss" , barcount = 5 },
23+ [2 ] = {name = " Soul Shards Precise" , id = " ssf" , barcount = 5 },
2324 }
2425 },
2526 [" MAGE" ] = {
@@ -361,73 +362,115 @@ function cPointDisplay:UpdateCombatFaderEnabled()
361362 cPointDisplay :FadeFrames ()
362363end
363364
364- -- Update Point Bars
365- local function SetPointBarTextures (shown , ic , it , tid , i )
366- -- Visible Bar
367- if shown then
368- -- BG
369- Frames [ic ][tid ].bars [i ].bg :SetTexture (BG [ic ][tid ].bars [i ].full )
365+ local function SetEmptyBarTextures (ic , it , tid , i )
366+ local cc = ClassColorBarTable [ic ]
367+ local dbc = db [ic ].types [tid ].bars [i ]
368+ Frames [ic ][tid ].bars [i ].bg :SetTexture (BG [ic ][tid ].bars [i ].empty )
369+ Frames [ic ][tid ].bars [i ].border :SetBackdrop ({bgFile = " " , edgeFile = Borders [ic ][tid ].bars [i ].empty , edgeSize = dbc .border .empty .edgesize , tile = false , tileSize = 0 , insets = {left = 0 , right = 0 , top = 0 , bottom = 0 }})
370+ Frames [ic ][tid ].bars [i ].border :SetHeight (dbc .size .height - dbc .border .empty .inset )
371+ Frames [ic ][tid ].bars [i ].border :SetWidth (dbc .size .width - dbc .border .empty .inset )
372+
373+ if db .classcolor .enabled then
374+ Frames [ic ][tid ].bars [i ].bg :SetVertexColor (cc .bg .empty .r , cc .bg .empty .g , cc .bg .empty .b , dbc .bg .empty .color .a )
375+ Frames [ic ][tid ].bars [i ].border :SetBackdropBorderColor (cc .border .empty .r , cc .border .empty .g , cc .border .empty .b , dbc .border .empty .color .a )
376+ else
377+ Frames [ic ][tid ].bars [i ].bg :SetVertexColor (dbc .bg .empty .color .r , dbc .bg .empty .color .g , dbc .bg .empty .color .b , dbc .bg .empty .color .a )
378+ Frames [ic ][tid ].bars [i ].border :SetBackdropBorderColor (dbc .border .empty .color .r , dbc .border .empty .color .g , dbc .border .empty .color .b , dbc .border .empty .color .a )
379+ end
380+ end
381+
382+ local function SetPartialBarTextures (ic , it , tid , i , partial )
383+ local cc = ClassColorBarTable [ic ]
384+ local dbc = db [ic ].types [tid ].bars [i ]
385+ local toColorize = partial
386+
387+ for j = 0 , 8 do
388+ Frames [ic ][tid ].bars [i ].subbars [j ].frame :Show ()
370389
371- -- Border
372- Frames [ic ][tid ].bars [i ].border :SetBackdrop ({bgFile = " " , edgeFile = Borders [ic ][tid ].bars [i ].full , edgeSize = db [ic ].types [tid ].bars [i ].border .full .edgesize , tile = false , tileSize = 0 , insets = {left = 0 , right = 0 , top = 0 , bottom = 0 }})
373- Frames [ic ][tid ].bars [i ].border :SetHeight (db [ic ].types [tid ].bars [i ].size .height - db [ic ].types [tid ].bars [i ].border .full .inset )
374- Frames [ic ][tid ].bars [i ].border :SetWidth (db [ic ].types [tid ].bars [i ].size .width - db [ic ].types [tid ].bars [i ].border .full .inset )
390+ -- BG
391+ Frames [ic ][tid ].bars [i ].subbars [j ].bg :SetTexture (BG [ic ][tid ].bars [i ].full )
375392
376393 -- Colors
377- if Points [tid ] < Types [ic ].points [it ].barcount then
394+ if j < toColorize then
395+ Frames [ic ][tid ].bars [i ].subbars [j ].frame :Show ()
396+ if db .classcolor .enabled then Frames [ic ][tid ].bars [i ].subbars [j ].bg :SetVertexColor (cc .bg .normal .r , cc .bg .normal .g , cc .bg .normal .b , dbc .bg .full .color .a )
397+ else Frames [ic ][tid ].bars [i ].subbars [j ].bg :SetVertexColor (dbc .bg .full .color .r , dbc .bg .full .color .g , dbc .bg .full .color .b , dbc .bg .full .color .a ) end
398+ else
399+ Frames [ic ][tid ].bars [i ].subbars [j ].frame :Hide ()
400+ if db .classcolor .enabled then Frames [ic ][tid ].bars [i ].subbars [j ].bg :SetVertexColor (cc .bg .max .r , cc .bg .max .g , cc .bg .max .b , dbc .bg .full .maxcolor .a )
401+ else Frames [ic ][tid ].bars [i ].subbars [j ].bg :SetVertexColor (dbc .bg .full .maxcolor .r , dbc .bg .full .maxcolor .g , dbc .bg .full .maxcolor .b , dbc .bg .full .maxcolor .a ) end
402+ end
403+ end
404+ end
405+
406+ local function SetPointBarTextures (ic , it , tid , i , points )
407+ local cc = ClassColorBarTable [ic ]
408+ local dbc = db [ic ].types [tid ].bars [i ]
409+ -- BG
410+ Frames [ic ][tid ].bars [i ].bg :SetTexture (BG [ic ][tid ].bars [i ].full )
411+
412+ -- Border
413+ Frames [ic ][tid ].bars [i ].border :SetBackdrop ({bgFile = " " , edgeFile = Borders [ic ][tid ].bars [i ].full , edgeSize = dbc .border .full .edgesize , tile = false , tileSize = 0 , insets = {left = 0 , right = 0 , top = 0 , bottom = 0 }})
414+ Frames [ic ][tid ].bars [i ].border :SetHeight (dbc .size .height - dbc .border .full .inset )
415+ Frames [ic ][tid ].bars [i ].border :SetWidth (dbc .size .width - dbc .border .full .inset )
416+
417+ -- Colors
418+ if points < Types [ic ].points [it ].barcount then
419+ if db .classcolor .enabled then
420+ Frames [ic ][tid ].bars [i ].bg :SetVertexColor (cc .bg .normal .r , cc .bg .normal .g , cc .bg .normal .b , dbc .bg .full .color .a )
421+ Frames [ic ][tid ].bars [i ].border :SetBackdropBorderColor (cc .border .normal .r , cc .border .normal .g , cc .border .normal .b , dbc .border .full .color .a )
422+ else
423+ Frames [ic ][tid ].bars [i ].bg :SetVertexColor (dbc .bg .full .color .r , dbc .bg .full .color .g , dbc .bg .full .color .b , dbc .bg .full .color .a )
424+ Frames [ic ][tid ].bars [i ].border :SetBackdropBorderColor (dbc .border .full .color .r , dbc .border .full .color .g , dbc .border .full .color .b , dbc .border .full .color .a )
425+ end
426+ else
427+ if db .classcolor .enabled then
428+ Frames [ic ][tid ].bars [i ].bg :SetVertexColor (cc .bg .max .r , cc .bg .max .g , cc .bg .max .b , dbc .bg .full .maxcolor .a )
429+ Frames [ic ][tid ].bars [i ].border :SetBackdropBorderColor (cc .border .max .r , cc .border .max .g , cc .border .max .b , dbc .bg .full .maxcolor .a )
430+ else
431+ Frames [ic ][tid ].bars [i ].bg :SetVertexColor (dbc .bg .full .maxcolor .r , dbc .bg .full .maxcolor .g , dbc .bg .full .maxcolor .b , dbc .bg .full .maxcolor .a )
432+ Frames [ic ][tid ].bars [i ].border :SetBackdropBorderColor (dbc .border .full .maxcolor .r , dbc .border .full .maxcolor .g , dbc .border .full .maxcolor .b , dbc .border .full .maxcolor .a )
433+ end
434+ end
435+
436+ -- Spark
437+ if dbc .spark .enabled then
438+ Frames [ic ][tid ].bars [i ].spark .frame :Show ()
439+ Frames [ic ][tid ].bars [i ].spark .bg :SetTexture (BG [ic ][tid ].bars [i ].spark )
440+ if points < Types [ic ].points [it ].barcount then
441+ -- Normal color
378442 if db .classcolor .enabled then
379- Frames [ic ][tid ].bars [i ].bg :SetVertexColor (ClassColorBarTable [ic ].bg .normal .r , ClassColorBarTable [ic ].bg .normal .g , ClassColorBarTable [ic ].bg .normal .b , db [ic ].types [tid ].bars [i ].bg .full .color .a )
380- Frames [ic ][tid ].bars [i ].border :SetBackdropBorderColor (ClassColorBarTable [ic ].border .normal .r , ClassColorBarTable [ic ].border .normal .g , ClassColorBarTable [ic ].border .normal .b , db [ic ].types [tid ].bars [i ].border .full .color .a )
443+ Frames [ic ][tid ].bars [i ].spark .bg :SetVertexColor (cc .spark .normal .r , cc .spark .normal .g , cc .spark .normal .b , dbc .spark .bg .color .a )
381444 else
382- Frames [ic ][tid ].bars [i ].bg :SetVertexColor (db [ic ].types [tid ].bars [i ].bg .full .color .r , db [ic ].types [tid ].bars [i ].bg .full .color .g , db [ic ].types [tid ].bars [i ].bg .full .color .b , db [ic ].types [tid ].bars [i ].bg .full .color .a )
383- Frames [ic ][tid ].bars [i ].border :SetBackdropBorderColor (db [ic ].types [tid ].bars [i ].border .full .color .r , db [ic ].types [tid ].bars [i ].border .full .color .g , db [ic ].types [tid ].bars [i ].border .full .color .b , db [ic ].types [tid ].bars [i ].border .full .color .a )
445+ Frames [ic ][tid ].bars [i ].spark .bg :SetVertexColor (dbc .spark .bg .color .r , dbc .spark .bg .color .g , dbc .spark .bg .color .b , dbc .spark .bg .color .a )
384446 end
385447 else
448+ -- Max color
386449 if db .classcolor .enabled then
387- Frames [ic ][tid ].bars [i ].bg :SetVertexColor (ClassColorBarTable [ic ].bg .max .r , ClassColorBarTable [ic ].bg .max .g , ClassColorBarTable [ic ].bg .max .b , db [ic ].types [tid ].bars [i ].bg .full .maxcolor .a )
388- Frames [ic ][tid ].bars [i ].border :SetBackdropBorderColor (ClassColorBarTable [ic ].border .max .r , ClassColorBarTable [ic ].border .max .g , ClassColorBarTable [ic ].border .max .b , db [ic ].types [tid ].bars [i ].bg .full .maxcolor .a )
450+ Frames [ic ][tid ].bars [i ].spark .bg :SetVertexColor (cc .spark .max .r , cc .spark .max .g , cc .spark .max .b , dbc .spark .bg .maxcolor .a )
389451 else
390- Frames [ic ][tid ].bars [i ].bg :SetVertexColor (db [ic ].types [tid ].bars [i ].bg .full .maxcolor .r , db [ic ].types [tid ].bars [i ].bg .full .maxcolor .g , db [ic ].types [tid ].bars [i ].bg .full .maxcolor .b , db [ic ].types [tid ].bars [i ].bg .full .maxcolor .a )
391- Frames [ic ][tid ].bars [i ].border :SetBackdropBorderColor (db [ic ].types [tid ].bars [i ].border .full .maxcolor .r , db [ic ].types [tid ].bars [i ].border .full .maxcolor .g , db [ic ].types [tid ].bars [i ].border .full .maxcolor .b , db [ic ].types [tid ].bars [i ].border .full .maxcolor .a )
452+ Frames [ic ][tid ].bars [i ].spark .bg :SetVertexColor (dbc .spark .bg .maxcolor .r , dbc .spark .bg .maxcolor .g , dbc .spark .bg .maxcolor .b , dbc .spark .bg .maxcolor .a )
392453 end
393454 end
394-
395- -- Spark
396- if db [ic ].types [tid ].bars [i ].spark .enabled then
397- Frames [ic ][tid ].bars [i ].spark .frame :Show ()
398- Frames [ic ][tid ].bars [i ].spark .bg :SetTexture (BG [ic ][tid ].bars [i ].spark )
399- if Points [tid ] < Types [ic ].points [it ].barcount then
400- -- Normal color
401- if db .classcolor .enabled then
402- Frames [ic ][tid ].bars [i ].spark .bg :SetVertexColor (ClassColorBarTable [ic ].spark .normal .r , ClassColorBarTable [ic ].spark .normal .g , ClassColorBarTable [ic ].spark .normal .b , db [ic ].types [tid ].bars [i ].spark .bg .color .a )
403- else
404- Frames [ic ][tid ].bars [i ].spark .bg :SetVertexColor (db [ic ].types [tid ].bars [i ].spark .bg .color .r , db [ic ].types [tid ].bars [i ].spark .bg .color .g , db [ic ].types [tid ].bars [i ].spark .bg .color .b , db [ic ].types [tid ].bars [i ].spark .bg .color .a )
405- end
406- else
407- -- Max color
408- if db .classcolor .enabled then
409- Frames [ic ][tid ].bars [i ].spark .bg :SetVertexColor (ClassColorBarTable [ic ].spark .max .r , ClassColorBarTable [ic ].spark .max .g , ClassColorBarTable [ic ].spark .max .b , db [ic ].types [tid ].bars [i ].spark .bg .maxcolor .a )
410- else
411- Frames [ic ][tid ].bars [i ].spark .bg :SetVertexColor (db [ic ].types [tid ].bars [i ].spark .bg .maxcolor .r , db [ic ].types [tid ].bars [i ].spark .bg .maxcolor .g , db [ic ].types [tid ].bars [i ].spark .bg .maxcolor .b , db [ic ].types [tid ].bars [i ].spark .bg .maxcolor .a )
412- end
413- end
414- else
415- Frames [ic ][tid ].bars [i ].spark .frame :Hide ()
416- end
417- -- Empty Bar
418455 else
419- Frames [ic ][tid ].bars [i ].bg :SetTexture (BG [ic ][tid ].bars [i ].empty )
420- Frames [ic ][tid ].bars [i ].border :SetBackdrop ({bgFile = " " , edgeFile = Borders [ic ][tid ].bars [i ].empty , edgeSize = db [ic ].types [tid ].bars [i ].border .empty .edgesize , tile = false , tileSize = 0 , insets = {left = 0 , right = 0 , top = 0 , bottom = 0 }})
421- Frames [ic ][tid ].bars [i ].border :SetHeight (db [ic ].types [tid ].bars [i ].size .height - db [ic ].types [tid ].bars [i ].border .empty .inset )
422- Frames [ic ][tid ].bars [i ].border :SetWidth (db [ic ].types [tid ].bars [i ].size .width - db [ic ].types [tid ].bars [i ].border .empty .inset )
456+ Frames [ic ][tid ].bars [i ].spark .frame :Hide ()
457+ end
458+ end
423459
424- if db .classcolor .enabled then
425- Frames [ic ][tid ].bars [i ].bg :SetVertexColor (ClassColorBarTable [ic ].bg .empty .r , ClassColorBarTable [ic ].bg .empty .g , ClassColorBarTable [ic ].bg .empty .b , db [ic ].types [tid ].bars [i ].bg .empty .color .a )
426- Frames [ic ][tid ].bars [i ].border :SetBackdropBorderColor (ClassColorBarTable [ic ].border .empty .r , ClassColorBarTable [ic ].border .empty .g , ClassColorBarTable [ic ].border .empty .b , db [ic ].types [tid ].bars [i ].border .empty .color .a )
427- else
428- Frames [ic ][tid ].bars [i ].bg :SetVertexColor (db [ic ].types [tid ].bars [i ].bg .empty .color .r , db [ic ].types [tid ].bars [i ].bg .empty .color .g , db [ic ].types [tid ].bars [i ].bg .empty .color .b , db [ic ].types [tid ].bars [i ].bg .empty .color .a )
429- Frames [ic ][tid ].bars [i ].border :SetBackdropBorderColor (db [ic ].types [tid ].bars [i ].border .empty .color .r , db [ic ].types [tid ].bars [i ].border .empty .color .g , db [ic ].types [tid ].bars [i ].border .empty .color .b , db [ic ].types [tid ].bars [i ].border .empty .color .a )
430- end
460+ -- Update Point Bars
461+ local function HideAtIndex (ic , it , tid , i )
462+ if db [ic ].types [tid ].general .hideempty then
463+ -- Hide "empty" bar
464+ Frames [ic ][tid ].bars [i ].frame :Hide ()
465+ else
466+ -- Show bar and set textures to "Empty"
467+ Frames [ic ][tid ].bars [i ].frame :Show ()
468+ SetEmptyBarTextures (ic , it , tid , i )
469+ end
470+ -- Hide the "Spark"
471+ Frames [ic ][tid ].bars [i ].spark .frame :Hide ()
472+ if # Frames [ic ][tid ].bars [i ].subbars > 0 then
473+ for j = 0 , 8 do Frames [ic ][tid ].bars [i ].subbars [j ].frame :Hide () end
431474 end
432475end
433476
@@ -461,25 +504,25 @@ function cPointDisplay:UpdatePointDisplay(...)
461504 -- Update the Display
462505 -- Update Bars if their Points have changed
463506 if PointsChanged [tid ] then
507+ if Points [tid ] == nil then Points [tid ] = 0 end
508+ local points = Points [tid ];
509+ if tid == " ssf" then points = points / 10 end
464510 for i = 1 , Types [ic ].points [it ].barcount do
465- if Points [tid ] == nil then Points [tid ] = 0 end
466- if Points [tid ] >= i then
511+ if points > i - 1 and points < i and tid == " ssf" then
512+ --- Show bar and set texture to "Partial"
513+ HideAtIndex (ic , it , tid , i )
514+ Frames [ic ][tid ].bars [i ].frame :Show ()
515+ SetPartialBarTextures (ic , it , tid , i , Points [tid ] - (10 * (i - 1 )))
516+ elseif points >= i then
467517 -- Show bar and set textures to "Full"
468518 Frames [ic ][tid ].bars [i ].frame :Show ()
469- SetPointBarTextures (true , ic , it , tid , i )
470- else
471- if db [ic ].types [tid ].general .hideempty then
472- -- Hide "empty" bar
473- Frames [ic ][tid ].bars [i ].frame :Hide ()
474- else
475- -- Show bar and set textures to "Empty"
476- Frames [ic ][tid ].bars [i ].frame :Show ()
477- SetPointBarTextures (false , ic , it , tid , i )
519+ SetPointBarTextures (ic , it , tid , i , points )
520+ if # Frames [ic ][tid ].bars [i ].subbars > 0 then
521+ for j = 0 , 8 do Frames [ic ][tid ].bars [i ].subbars [j ].frame :Hide () end
478522 end
479- -- Hide the "Spark"
480- Frames [ ic ][ tid ]. bars [ i ]. spark . frame : Hide ( )
523+ else
524+ HideAtIndex ( ic , it , tid , i )
481525 end
482-
483526 end
484527 -- Show the Display
485528 Frames [ic ][tid ].bgpanel .frame :Show ()
@@ -543,9 +586,7 @@ function cPointDisplay:GetPoints(CurClass, CurType)
543586 -- Warlock
544587 elseif CurClass == " WARLOCK" then
545588 -- Soul Shards
546- if CurType == " ss" then
547- NewPoints = UnitPower (" player" , Enum .PowerType .SoulShards )
548- end
589+ NewPoints = UnitPower (" player" , Enum .PowerType .SoulShards , CurType == " ssf" )
549590 -- Mage
550591 elseif CurClass == " MAGE" then
551592 -- Arcane Charges
@@ -597,7 +638,7 @@ function cPointDisplay:UpdatePoints(...)
597638 if Types [ic ] then
598639 for it ,vt in ipairs (Types [ic ].points ) do
599640 local tid = Types [ic ].points [it ].id
600- if ( db [ic ].types [tid ].enabled and not db [ic ].types [tid ].configmode .enabled ) then
641+ if (db [ic ].types [tid ].enabled and not db [ic ].types [tid ].configmode .enabled ) then
601642 -- Retrieve new point count
602643 local OldPoints = Points [tid ]
603644 cPointDisplay :GetPoints (ic , tid )
@@ -733,15 +774,44 @@ function cPointDisplay:UpdatePosition()
733774 Frames [ic ][tid ].bars [i ].frame :SetHeight (db [ic ].types [tid ].bars [i ].size .height )
734775
735776 Frames [ic ][tid ].bars [i ].border :SetFrameStrata (db [ic ].types [tid ].position .framelevel .strata )
736- Frames [ic ][tid ].bars [i ].border :SetFrameLevel (db [ic ].types [tid ].position .framelevel .level + 3 )
777+ Frames [ic ][tid ].bars [i ].border :SetFrameLevel (db [ic ].types [tid ].position .framelevel .level + 4 )
737778
738779 Frames [ic ][tid ].bars [i ].spark .frame :SetParent (Frames [ic ][tid ].bars [i ].frame )
739780 Frames [ic ][tid ].bars [i ].spark .frame :ClearAllPoints ()
740781 Frames [ic ][tid ].bars [i ].spark .frame :SetPoint (" CENTER" , Frames [ic ][tid ].bars [i ].frame , " CENTER" , db [ic ].types [tid ].bars [i ].spark .position .x , db [ic ].types [tid ].bars [i ].spark .position .y )
741782 Frames [ic ][tid ].bars [i ].spark .frame :SetFrameStrata (db [ic ].types [tid ].position .framelevel .strata )
742- Frames [ic ][tid ].bars [i ].spark .frame :SetFrameLevel (db [ic ].types [tid ].position .framelevel .level + 4 )
783+ Frames [ic ][tid ].bars [i ].spark .frame :SetFrameLevel (db [ic ].types [tid ].position .framelevel .level + 5 )
743784 Frames [ic ][tid ].bars [i ].spark .frame :SetWidth (db [ic ].types [tid ].bars [i ].spark .size .width )
744785 Frames [ic ][tid ].bars [i ].spark .frame :SetHeight (db [ic ].types [tid ].bars [i ].spark .size .height )
786+
787+ if # Frames [ic ][tid ].bars [i ].subbars > 0 then
788+ for j = 0 , 8 do
789+ local XSOfs = 0
790+ local YSOfs = 0
791+ local fillStart = { " LEFT" , " RIGHT" , " TOP" , " BOTTOM" }
792+ if IsVert then
793+ YSOfs = j * (db [ic ].types [tid ].bars [i ].size .height / 9 ) * RevMult
794+ if IsRev then fillStart = " TOP" else fillStart = " BOTTOM" end
795+ else
796+ XSOfs = j * (db [ic ].types [tid ].bars [i ].size .width / 9 ) * RevMult
797+ if IsRev then fillStart = " RIGHT" else fillStart = " LEFT" end
798+ end
799+ Frames [ic ][tid ].bars [i ].subbars [j ].frame :SetParent (Frames [ic ][tid ].bars [i ].frame )
800+ Frames [ic ][tid ].bars [i ].subbars [j ].frame :ClearAllPoints ()
801+
802+ Frames [ic ][tid ].bars [i ].subbars [j ].frame :SetPoint (fillStart , Frames [ic ][tid ].bars [i ].frame , fillStart , XSOfs , YSOfs )
803+
804+ Frames [ic ][tid ].bars [i ].subbars [j ].frame :SetFrameStrata (Frames [ic ][tid ].bars [i ].frame :GetFrameStrata ())
805+ Frames [ic ][tid ].bars [i ].subbars [j ].frame :SetFrameLevel (Frames [ic ][tid ].bars [i ].frame :GetFrameLevel () + 1 )
806+ if IsVert then
807+ Frames [ic ][tid ].bars [i ].subbars [j ].frame :SetWidth (db [ic ].types [tid ].bars [i ].size .width )
808+ Frames [ic ][tid ].bars [i ].subbars [j ].frame :SetHeight (db [ic ].types [tid ].bars [i ].size .height / 9 )
809+ else
810+ Frames [ic ][tid ].bars [i ].subbars [j ].frame :SetWidth (db [ic ].types [tid ].bars [i ].size .width / 9 )
811+ Frames [ic ][tid ].bars [i ].subbars [j ].frame :SetHeight (db [ic ].types [tid ].bars [i ].size .height )
812+ end
813+ end
814+ end
745815 end
746816 end
747817 end
@@ -884,6 +954,7 @@ local function CreateFrames()
884954 -- Point bars
885955 for i = 1 , Types [ic ].points [it ].barcount do
886956 local BarFrameName = " cPointDisplay_Frames_" .. tid .. " _bar" .. tostring (i )
957+
887958 Frames [ic ][tid ].bars [i ].frame = CreateFrame (" Frame" , BarFrameName , UIParent )
888959
889960 Frames [ic ][tid ].bars [i ].bg = Frames [ic ][tid ].bars [i ].frame :CreateTexture (nil , " ARTWORK" )
@@ -895,6 +966,19 @@ local function CreateFrames()
895966 Frames [ic ][tid ].bars [i ].border :SetPoint (" CENTER" , Frames [ic ][tid ].bars [i ].frame , " CENTER" , 0 , 0 )
896967
897968 Frames [ic ][tid ].bars [i ].frame :Show ()
969+ if tid == " ssf" then
970+ for j = 0 , 8 do
971+ local SubBarSubFrameName = " cPointDisplay_Frames_" .. tid .. " _bar" .. tostring (i ).. " _sub" .. tostring (j )
972+ Frames [ic ][tid ].bars [i ].subbars [j ] = {frame = nil , bg = nil }
973+
974+ Frames [ic ][tid ].bars [i ].subbars [j ].frame = CreateFrame (" Frame" , SubBarSubFrameName , UIParent )
975+
976+ Frames [ic ][tid ].bars [i ].subbars [j ].bg = Frames [ic ][tid ].bars [i ].subbars [j ].frame :CreateTexture (nil , " ARTWORK" )
977+ Frames [ic ][tid ].bars [i ].subbars [j ].bg :SetAllPoints (Frames [ic ][tid ].bars [i ].subbars [j ].frame )
978+
979+ Frames [ic ][tid ].bars [i ].subbars [j ].frame :Show ()
980+ end
981+ end
898982
899983 -- Spark
900984 Frames [ic ][tid ].bars [i ].spark .frame = CreateFrame (" Frame" , nil , UIParent )
@@ -945,7 +1029,7 @@ local function CreateTables()
9451029 bars = {},
9461030 }
9471031 for i = 1 , Types [ic ].points [it ].barcount do
948- Frames [ic ][tid ].bars [i ] = {frame = nil , bg = nil , border = nil , spark = {frame = nil , bg = nil }}
1032+ Frames [ic ][tid ].bars [i ] = {frame = nil , bg = nil , border = nil , spark = {frame = nil , bg = nil }, subbars = {} }
9491033 Borders [ic ][tid ].bars [i ] = {empty = " " , full = " " }
9501034 BG [ic ][tid ].bars [i ] = {empty = " " , full = " " , spark = " " }
9511035 end
0 commit comments