vrtc / chorus (public) (License: CC0) (since 2023-08-12) (hash sha1)
World of Warcraft add-on stub. The overall goal is to create a specialized raid frame.
List of commits:
Subject Hash Author Date (UTC)
fix: disable raid profiles for now 41ed89dc4f78561e90ba999d00e95e0b1dc3f2a8 Vladyslav Bondarenko 2024-06-15 05:52:14
feat!: add raid group profiles 57b4b36b800beaf6843bc3cfc954340d914b71fa Vladyslav Bondarenko 2024-06-14 22:19:47
feat!: prepare nightly release 0.8.0 e11a3bbdfad85e4c4716e4ecfd3e7f5b8f009058 Vladyslav Bondarenko 2024-06-14 15:33:18
fix: globalize string constants cc5893ba83f388c0a58b183321f63867b10248ad Vladyslav Bondarenko 2024-06-14 15:12:35
feat: always show player frame 1eb20501d74ee931691f02abc31a176569a7d299 Vladyslav Bondarenko 2024-06-14 14:34:42
feat: add header background to larger units ef000eebb9ef5a8211f6aff47e2a1c38a3badf4a Vladyslav Bondarenko 2024-06-14 13:54:04
feat: unknown unit level is rendered as red f830dfcf22bf2f8e5c087de8f42a89f6733f5269 Vladyslav Bondarenko 2024-06-14 13:51:34
fix: make unit level text bold 2a4ea6baea2107a3f1ec8ab7bca4edb169a4575b Vladyslav Bondarenko 2024-06-14 13:51:01
feat: narrow backdrop for larger frames 77b080701c68bb8f6e353e15586f0e8063266d5c Vladyslav Bondarenko 2024-06-14 11:24:16
fix!: clever defaults for backdrop dimensions 2b894d724b4c9c97f5c27b98f43bf3e4616cb1ed Vladyslav Bondarenko 2024-06-14 10:58:30
fix!: render backdrop reliably for TOT frames 2f45f0afaee507cc5fc88a9892bf4474c644f173 Vladyslav Bondarenko 2024-06-14 09:55:18
fix: solo and party frames must never overlap 6776655fe59277688c4cb6b19d00f6dcf41cca89 Vladyslav Bondarenko 2024-06-14 09:13:23
fix: tiny unit frame border visual glitch 14090239c7535614ce4a02c7ee06d8204dd90a74 Vladyslav Bondarenko 2024-06-13 14:36:22
fix: generalize frame backdrop color picker 9960ac95ee03be3d8c93c49f773b850b057d9502 Vladyslav Bondarenko 2024-06-12 10:04:46
fix: remove some obsolete notes 2e0bd3ec7f1e445473836d4a97817dece7e8e4c3 Vladyslav Bondarenko 2024-06-12 09:11:32
fix: show aura tooltip given spell name 75860ee70c3e2fdcef8c51b56e86eaa3178c9a0d Vladyslav Bondarenko 2024-02-06 22:04:10
fix!: correct aura weight map validator 9df60b2e2da12d9f6f1470610a638aa6de3b31e7 Vladyslav Bondarenko 2024-01-28 22:27:59
doc: add `ldoc` annotations 0f7e2cbf74fe354c1c34fc9cd63b8b53237f8682 Vladyslav Bondarenko 2024-01-28 21:58:55
fix!: load the add-on correctly b857b8764be59195f65137f2bd577289d7c76cc9 Vladyslav Bondarenko 2024-01-28 04:46:25
release: prepare release 0.7.0 ba97f4d7e7eb9ff984d88d75a740e24c0e90bb05 Vladyslav Bondarenko 2024-01-27 15:10:27
Commit 41ed89dc4f78561e90ba999d00e95e0b1dc3f2a8 - fix: disable raid profiles for now
Author: Vladyslav Bondarenko
Author date (UTC): 2024-06-15 05:52
Committer name: Vladyslav Bondarenko
Committer date (UTC): 2024-06-15 05:52
Parent(s): 0981efd6dc599d7763b12e3b08d7c45ef6ad6f78
Signer:
Signing key: EFF9624877D25D02
Signing status: E
Tree: 35ff88c9f8432e6b158885c4bfe8ebc2fa94905c
File Lines added Lines deleted
bin/ChorusRaidFrameGenerator.lua 4 3
src/ChorusGroupFrame.lua 21 13
src/ChorusHugeRaidFrame.xml 85 84
src/ChorusLargeRaidFrame.xml 4 3
src/ChorusSmallRaidFrame.xml 4 3
src/ChorusTinyRaidFrame.xml 4 3
File bin/ChorusRaidFrameGenerator.lua changed (mode: 100644) (index f63fcad..b8d56c1)
... ... local header = [[
10 10 <AbsDimension x="%d" y="%d"/> <AbsDimension x="%d" y="%d"/>
11 11 </Size> </Size>
12 12 <Anchors> <Anchors>
13 <Anchor point="BOTTOM">
14 <Offset x="256" y="200"/>
15 </Anchor>
13 16 <Anchor point="CENTER"> <Anchor point="CENTER">
14 <Offset>
15 <AbsDimension x="0" y="0"/>
16 </Offset>
17 <Offset x="0" y="0"/>
17 18 </Anchor> </Anchor>
18 19 </Anchors> </Anchors>
19 20 ]] ]]
File src/ChorusGroupFrame.lua changed (mode: 100644) (index f0154a1..683dc51)
... ... function Chorus.groupFrameMain(self)
37 37 secureHandler:SetFrameRef('ChorusSmallRaidFrame', ChorusSmallRaidFrame) secureHandler:SetFrameRef('ChorusSmallRaidFrame', ChorusSmallRaidFrame)
38 38 secureHandler:SetFrameRef('ChorusLargeRaidFrame', ChorusLargeRaidFrame) secureHandler:SetFrameRef('ChorusLargeRaidFrame', ChorusLargeRaidFrame)
39 39
40 --[[ NOTE: The order of macro conditionals in the state driver script
41 is significant. The first switch that checks will return the value.]]--
40 --[[ When any of the mentioned units exist, set `group` attribute of
41 the `secureHandler` protected frame to the name of a raid frame that is
42 responsible for reporting that unit to the user. ]]--
43
44 --[[ NOTE: The order of switch cases in the macro is significant. The
45 first match takes precedence. ]]--
42 46
43 47 --[[ TODO Replace the arena conditional with actual arena frame, when implemented. ]]-- --[[ TODO Replace the arena conditional with actual arena frame, when implemented. ]]--
44 RegisterStateDriver(secureHandler, 'group', [[
45 [@arena1,exists] ChorusPartyFrame;
46 [@raid1,exists] ChorusLargeRaidFrame;
47 [@raid6,exists] ChorusSmallRaidFrame;
48 [@raid26,exists] ChorusTinyRaidFrame;
49 [@party1,exists] ChorusPartyFrame;
50 ]])
48 --[[ FIXME This does not work. ]]--
49 --RegisterStateDriver(secureHandler, 'group', [[
50 --[@arena1,exists] ChorusPartyFrame;
51 --[@raid26,exists][@raid31,exists][@raid36,exists] ChorusTinyRaidFrame;
52 --[@raid6,exists][@raid11,exists][@raid16,exists][@raid21,exists] ChorusSmallRaidFrame;
53 --[@raid1,exists] ChorusLargeRaidFrame;
54 --[@party1,exists] ChorusPartyFrame;
55 --]])
56
57 --[[ When the property `group` of the given protected frame
58 `secureHandler` changes value, toggle all of the known raid frame
59 profiles, and only choose to show the most appropriate one. ]]--
51 60
52 61 --[[ TODO Implement separate or additional arena unit group frame. ]]-- --[[ TODO Implement separate or additional arena unit group frame. ]]--
53 62 secureHandler:WrapScript(secureHandler, 'OnAttributeChanged', [[ secureHandler:WrapScript(secureHandler, 'OnAttributeChanged', [[
 
... ... function Chorus.groupFrameMain(self)
64 73
65 74 local t = newtable() local t = newtable()
66 75 table.insert(t, 'ChorusArenaFrame') table.insert(t, 'ChorusArenaFrame')
76 table.insert(t, 'ChorusHugeRaidFrame')
67 77 table.insert(t, 'ChorusPartyFrame') table.insert(t, 'ChorusPartyFrame')
68 table.insert(t, 'ChorusRaidFrame')
69 table.insert(t, 'ChorusRaid10Frame')
70 table.insert(t, 'ChorusRaid25Frame')
71 table.insert(t, 'ChorusRaid40Frame')
78 table.insert(t, 'ChorusSmallRaidFrame')
79 table.insert(t, 'ChorusTinyRaidFrame')
72 80
73 81 local i = 0 local i = 0
74 82 while(i < #t) do while(i < #t) do
File src/ChorusHugeRaidFrame.xml copied from file src/ChorusLargeRaidFrame.xml (similarity 64%) (mode: 100644) (index 57891b3..d90bed7)
1 1 <?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
2 2 <Ui xmlns="http://www.blizzard.com/wow/ui/"> <Ui xmlns="http://www.blizzard.com/wow/ui/">
3 3 <!-- See `ChorusRaidFrameTemplate.xml` for the unit button template declarations. --> <!-- See `ChorusRaidFrameTemplate.xml` for the unit button template declarations. -->
4 <Frame name="ChorusLargeRaidFrame" hidden="true">
4 <Frame name="ChorusHugeRaidFrame" hidden="true">
5 5 <Size> <Size>
6 <AbsDimension x="800" y="800"/>
6 <AbsDimension x="1000" y="1200"/>
7 7 </Size> </Size>
8 8 <Anchors> <Anchors>
9 <Anchor point="BOTTOM">
10 <Offset x="256" y="200"/>
11 </Anchor>
9 12 <Anchor point="CENTER"> <Anchor point="CENTER">
10 <Offset>
11 <AbsDimension x="0" y="0"/>
12 </Offset>
13 <Offset x="0" y="0"/>
13 14 </Anchor> </Anchor>
14 15 </Anchors> </Anchors>
15 16 <Frames> <Frames>
16 17 <!-- Block 1. --> <!-- Block 1. -->
17 18 <!-- Group 1. --> <!-- Group 1. -->
18 <Frame name="ChorusLargeRaidFrameButton01" inherits="ChorusLargeRaidUnitFrameTemplate" id="1">
19 <Frame name="ChorusHugeRaidFrameButton01" inherits="ChorusHugeRaidUnitFrameTemplate" id="1">
19 20 <Anchors> <Anchors>
20 21 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
21 22 <Offset> <Offset>
 
27 28 <Attribute name="unit" type="string" value="raid1"/> <Attribute name="unit" type="string" value="raid1"/>
28 29 </Attributes> </Attributes>
29 30 </Frame> </Frame>
30 <Frame name="ChorusLargeRaidFrameButton02" inherits="ChorusLargeRaidUnitFrameTemplate" id="2">
31 <Frame name="ChorusHugeRaidFrameButton02" inherits="ChorusHugeRaidUnitFrameTemplate" id="2">
31 32 <Anchors> <Anchors>
32 33 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
33 34 <Offset> <Offset>
34 <AbsDimension x="166" y="0"/>
35 <AbsDimension x="206" y="0"/>
35 36 </Offset> </Offset>
36 37 </Anchor> </Anchor>
37 38 </Anchors> </Anchors>
 
39 40 <Attribute name="unit" type="string" value="raid2"/> <Attribute name="unit" type="string" value="raid2"/>
40 41 </Attributes> </Attributes>
41 42 </Frame> </Frame>
42 <Frame name="ChorusLargeRaidFrameButton03" inherits="ChorusLargeRaidUnitFrameTemplate" id="3">
43 <Frame name="ChorusHugeRaidFrameButton03" inherits="ChorusHugeRaidUnitFrameTemplate" id="3">
43 44 <Anchors> <Anchors>
44 45 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
45 46 <Offset> <Offset>
46 <AbsDimension x="332" y="0"/>
47 <AbsDimension x="412" y="0"/>
47 48 </Offset> </Offset>
48 49 </Anchor> </Anchor>
49 50 </Anchors> </Anchors>
 
51 52 <Attribute name="unit" type="string" value="raid3"/> <Attribute name="unit" type="string" value="raid3"/>
52 53 </Attributes> </Attributes>
53 54 </Frame> </Frame>
54 <Frame name="ChorusLargeRaidFrameButton04" inherits="ChorusLargeRaidUnitFrameTemplate" id="4">
55 <Frame name="ChorusHugeRaidFrameButton04" inherits="ChorusHugeRaidUnitFrameTemplate" id="4">
55 56 <Anchors> <Anchors>
56 57 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
57 58 <Offset> <Offset>
58 <AbsDimension x="498" y="0"/>
59 <AbsDimension x="618" y="0"/>
59 60 </Offset> </Offset>
60 61 </Anchor> </Anchor>
61 62 </Anchors> </Anchors>
 
63 64 <Attribute name="unit" type="string" value="raid4"/> <Attribute name="unit" type="string" value="raid4"/>
64 65 </Attributes> </Attributes>
65 66 </Frame> </Frame>
66 <Frame name="ChorusLargeRaidFrameButton05" inherits="ChorusLargeRaidUnitFrameTemplate" id="5">
67 <Frame name="ChorusHugeRaidFrameButton05" inherits="ChorusHugeRaidUnitFrameTemplate" id="5">
67 68 <Anchors> <Anchors>
68 69 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
69 70 <Offset> <Offset>
70 <AbsDimension x="664" y="0"/>
71 <AbsDimension x="824" y="0"/>
71 72 </Offset> </Offset>
72 73 </Anchor> </Anchor>
73 74 </Anchors> </Anchors>
 
76 77 </Attributes> </Attributes>
77 78 </Frame> </Frame>
78 79 <!-- Group 2. --> <!-- Group 2. -->
79 <Frame name="ChorusLargeRaidFrameButton06" inherits="ChorusLargeRaidUnitFrameTemplate" id="6">
80 <Frame name="ChorusHugeRaidFrameButton06" inherits="ChorusHugeRaidUnitFrameTemplate" id="6">
80 81 <Anchors> <Anchors>
81 82 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
82 83 <Offset> <Offset>
83 <AbsDimension x="0" y="500"/>
84 <AbsDimension x="0" y="750"/>
84 85 </Offset> </Offset>
85 86 </Anchor> </Anchor>
86 87 </Anchors> </Anchors>
 
88 89 <Attribute name="unit" type="string" value="raid6"/> <Attribute name="unit" type="string" value="raid6"/>
89 90 </Attributes> </Attributes>
90 91 </Frame> </Frame>
91 <Frame name="ChorusLargeRaidFrameButton07" inherits="ChorusLargeRaidUnitFrameTemplate" id="7">
92 <Frame name="ChorusHugeRaidFrameButton07" inherits="ChorusHugeRaidUnitFrameTemplate" id="7">
92 93 <Anchors> <Anchors>
93 94 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
94 95 <Offset> <Offset>
95 <AbsDimension x="166" y="500"/>
96 <AbsDimension x="206" y="750"/>
96 97 </Offset> </Offset>
97 98 </Anchor> </Anchor>
98 99 </Anchors> </Anchors>
 
100 101 <Attribute name="unit" type="string" value="raid7"/> <Attribute name="unit" type="string" value="raid7"/>
101 102 </Attributes> </Attributes>
102 103 </Frame> </Frame>
103 <Frame name="ChorusLargeRaidFrameButton08" inherits="ChorusLargeRaidUnitFrameTemplate" id="8">
104 <Frame name="ChorusHugeRaidFrameButton08" inherits="ChorusHugeRaidUnitFrameTemplate" id="8">
104 105 <Anchors> <Anchors>
105 106 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
106 107 <Offset> <Offset>
107 <AbsDimension x="332" y="500"/>
108 <AbsDimension x="412" y="750"/>
108 109 </Offset> </Offset>
109 110 </Anchor> </Anchor>
110 111 </Anchors> </Anchors>
 
112 113 <Attribute name="unit" type="string" value="raid8"/> <Attribute name="unit" type="string" value="raid8"/>
113 114 </Attributes> </Attributes>
114 115 </Frame> </Frame>
115 <Frame name="ChorusLargeRaidFrameButton09" inherits="ChorusLargeRaidUnitFrameTemplate" id="9">
116 <Frame name="ChorusHugeRaidFrameButton09" inherits="ChorusHugeRaidUnitFrameTemplate" id="9">
116 117 <Anchors> <Anchors>
117 118 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
118 119 <Offset> <Offset>
119 <AbsDimension x="498" y="500"/>
120 <AbsDimension x="618" y="750"/>
120 121 </Offset> </Offset>
121 122 </Anchor> </Anchor>
122 123 </Anchors> </Anchors>
 
124 125 <Attribute name="unit" type="string" value="raid9"/> <Attribute name="unit" type="string" value="raid9"/>
125 126 </Attributes> </Attributes>
126 127 </Frame> </Frame>
127 <Frame name="ChorusLargeRaidFrameButton10" inherits="ChorusLargeRaidUnitFrameTemplate" id="10">
128 <Frame name="ChorusHugeRaidFrameButton10" inherits="ChorusHugeRaidUnitFrameTemplate" id="10">
128 129 <Anchors> <Anchors>
129 130 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
130 131 <Offset> <Offset>
131 <AbsDimension x="664" y="500"/>
132 <AbsDimension x="824" y="750"/>
132 133 </Offset> </Offset>
133 134 </Anchor> </Anchor>
134 135 </Anchors> </Anchors>
 
137 138 </Attributes> </Attributes>
138 139 </Frame> </Frame>
139 140 <!-- Group 3. --> <!-- Group 3. -->
140 <Frame name="ChorusLargeRaidFrameButton11" inherits="ChorusLargeRaidUnitFrameTemplate" id="11">
141 <Frame name="ChorusHugeRaidFrameButton11" inherits="ChorusHugeRaidUnitFrameTemplate" id="11">
141 142 <Anchors> <Anchors>
142 143 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
143 144 <Offset> <Offset>
144 <AbsDimension x="0" y="1000"/>
145 <AbsDimension x="0" y="1500"/>
145 146 </Offset> </Offset>
146 147 </Anchor> </Anchor>
147 148 </Anchors> </Anchors>
 
149 150 <Attribute name="unit" type="string" value="raid11"/> <Attribute name="unit" type="string" value="raid11"/>
150 151 </Attributes> </Attributes>
151 152 </Frame> </Frame>
152 <Frame name="ChorusLargeRaidFrameButton12" inherits="ChorusLargeRaidUnitFrameTemplate" id="12">
153 <Frame name="ChorusHugeRaidFrameButton12" inherits="ChorusHugeRaidUnitFrameTemplate" id="12">
153 154 <Anchors> <Anchors>
154 155 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
155 156 <Offset> <Offset>
156 <AbsDimension x="166" y="1000"/>
157 <AbsDimension x="206" y="1500"/>
157 158 </Offset> </Offset>
158 159 </Anchor> </Anchor>
159 160 </Anchors> </Anchors>
 
161 162 <Attribute name="unit" type="string" value="raid12"/> <Attribute name="unit" type="string" value="raid12"/>
162 163 </Attributes> </Attributes>
163 164 </Frame> </Frame>
164 <Frame name="ChorusLargeRaidFrameButton13" inherits="ChorusLargeRaidUnitFrameTemplate" id="13">
165 <Frame name="ChorusHugeRaidFrameButton13" inherits="ChorusHugeRaidUnitFrameTemplate" id="13">
165 166 <Anchors> <Anchors>
166 167 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
167 168 <Offset> <Offset>
168 <AbsDimension x="332" y="1000"/>
169 <AbsDimension x="412" y="1500"/>
169 170 </Offset> </Offset>
170 171 </Anchor> </Anchor>
171 172 </Anchors> </Anchors>
 
173 174 <Attribute name="unit" type="string" value="raid13"/> <Attribute name="unit" type="string" value="raid13"/>
174 175 </Attributes> </Attributes>
175 176 </Frame> </Frame>
176 <Frame name="ChorusLargeRaidFrameButton14" inherits="ChorusLargeRaidUnitFrameTemplate" id="14">
177 <Frame name="ChorusHugeRaidFrameButton14" inherits="ChorusHugeRaidUnitFrameTemplate" id="14">
177 178 <Anchors> <Anchors>
178 179 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
179 180 <Offset> <Offset>
180 <AbsDimension x="498" y="1000"/>
181 <AbsDimension x="618" y="1500"/>
181 182 </Offset> </Offset>
182 183 </Anchor> </Anchor>
183 184 </Anchors> </Anchors>
 
185 186 <Attribute name="unit" type="string" value="raid14"/> <Attribute name="unit" type="string" value="raid14"/>
186 187 </Attributes> </Attributes>
187 188 </Frame> </Frame>
188 <Frame name="ChorusLargeRaidFrameButton15" inherits="ChorusLargeRaidUnitFrameTemplate" id="15">
189 <Frame name="ChorusHugeRaidFrameButton15" inherits="ChorusHugeRaidUnitFrameTemplate" id="15">
189 190 <Anchors> <Anchors>
190 191 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
191 192 <Offset> <Offset>
192 <AbsDimension x="664" y="1000"/>
193 <AbsDimension x="824" y="1500"/>
193 194 </Offset> </Offset>
194 195 </Anchor> </Anchor>
195 196 </Anchors> </Anchors>
 
198 199 </Attributes> </Attributes>
199 200 </Frame> </Frame>
200 201 <!-- Group 4. --> <!-- Group 4. -->
201 <Frame name="ChorusLargeRaidFrameButton16" inherits="ChorusLargeRaidUnitFrameTemplate" id="16">
202 <Frame name="ChorusHugeRaidFrameButton16" inherits="ChorusHugeRaidUnitFrameTemplate" id="16">
202 203 <Anchors> <Anchors>
203 204 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
204 205 <Offset> <Offset>
205 <AbsDimension x="0" y="1500"/>
206 <AbsDimension x="0" y="2250"/>
206 207 </Offset> </Offset>
207 208 </Anchor> </Anchor>
208 209 </Anchors> </Anchors>
 
210 211 <Attribute name="unit" type="string" value="raid16"/> <Attribute name="unit" type="string" value="raid16"/>
211 212 </Attributes> </Attributes>
212 213 </Frame> </Frame>
213 <Frame name="ChorusLargeRaidFrameButton17" inherits="ChorusLargeRaidUnitFrameTemplate" id="17">
214 <Frame name="ChorusHugeRaidFrameButton17" inherits="ChorusHugeRaidUnitFrameTemplate" id="17">
214 215 <Anchors> <Anchors>
215 216 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
216 217 <Offset> <Offset>
217 <AbsDimension x="166" y="1500"/>
218 <AbsDimension x="206" y="2250"/>
218 219 </Offset> </Offset>
219 220 </Anchor> </Anchor>
220 221 </Anchors> </Anchors>
 
222 223 <Attribute name="unit" type="string" value="raid17"/> <Attribute name="unit" type="string" value="raid17"/>
223 224 </Attributes> </Attributes>
224 225 </Frame> </Frame>
225 <Frame name="ChorusLargeRaidFrameButton18" inherits="ChorusLargeRaidUnitFrameTemplate" id="18">
226 <Frame name="ChorusHugeRaidFrameButton18" inherits="ChorusHugeRaidUnitFrameTemplate" id="18">
226 227 <Anchors> <Anchors>
227 228 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
228 229 <Offset> <Offset>
229 <AbsDimension x="332" y="1500"/>
230 <AbsDimension x="412" y="2250"/>
230 231 </Offset> </Offset>
231 232 </Anchor> </Anchor>
232 233 </Anchors> </Anchors>
 
234 235 <Attribute name="unit" type="string" value="raid18"/> <Attribute name="unit" type="string" value="raid18"/>
235 236 </Attributes> </Attributes>
236 237 </Frame> </Frame>
237 <Frame name="ChorusLargeRaidFrameButton19" inherits="ChorusLargeRaidUnitFrameTemplate" id="19">
238 <Frame name="ChorusHugeRaidFrameButton19" inherits="ChorusHugeRaidUnitFrameTemplate" id="19">
238 239 <Anchors> <Anchors>
239 240 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
240 241 <Offset> <Offset>
241 <AbsDimension x="498" y="1500"/>
242 <AbsDimension x="618" y="2250"/>
242 243 </Offset> </Offset>
243 244 </Anchor> </Anchor>
244 245 </Anchors> </Anchors>
 
246 247 <Attribute name="unit" type="string" value="raid19"/> <Attribute name="unit" type="string" value="raid19"/>
247 248 </Attributes> </Attributes>
248 249 </Frame> </Frame>
249 <Frame name="ChorusLargeRaidFrameButton20" inherits="ChorusLargeRaidUnitFrameTemplate" id="20">
250 <Frame name="ChorusHugeRaidFrameButton20" inherits="ChorusHugeRaidUnitFrameTemplate" id="20">
250 251 <Anchors> <Anchors>
251 252 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
252 253 <Offset> <Offset>
253 <AbsDimension x="664" y="1500"/>
254 <AbsDimension x="824" y="2250"/>
254 255 </Offset> </Offset>
255 256 </Anchor> </Anchor>
256 257 </Anchors> </Anchors>
 
260 261 </Frame> </Frame>
261 262 <!-- Block 2. --> <!-- Block 2. -->
262 263 <!-- Group 5. --> <!-- Group 5. -->
263 <Frame name="ChorusLargeRaidFrameButton21" inherits="ChorusLargeRaidUnitFrameTemplate" id="21">
264 <Frame name="ChorusHugeRaidFrameButton21" inherits="ChorusHugeRaidUnitFrameTemplate" id="21">
264 265 <Anchors> <Anchors>
265 266 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
266 267 <Offset> <Offset>
267 <AbsDimension x="800" y="0"/>
268 <AbsDimension x="1000" y="0"/>
268 269 </Offset> </Offset>
269 270 </Anchor> </Anchor>
270 271 </Anchors> </Anchors>
 
272 273 <Attribute name="unit" type="string" value="raid21"/> <Attribute name="unit" type="string" value="raid21"/>
273 274 </Attributes> </Attributes>
274 275 </Frame> </Frame>
275 <Frame name="ChorusLargeRaidFrameButton22" inherits="ChorusLargeRaidUnitFrameTemplate" id="22">
276 <Frame name="ChorusHugeRaidFrameButton22" inherits="ChorusHugeRaidUnitFrameTemplate" id="22">
276 277 <Anchors> <Anchors>
277 278 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
278 279 <Offset> <Offset>
279 <AbsDimension x="966" y="0"/>
280 <AbsDimension x="1206" y="0"/>
280 281 </Offset> </Offset>
281 282 </Anchor> </Anchor>
282 283 </Anchors> </Anchors>
 
284 285 <Attribute name="unit" type="string" value="raid22"/> <Attribute name="unit" type="string" value="raid22"/>
285 286 </Attributes> </Attributes>
286 287 </Frame> </Frame>
287 <Frame name="ChorusLargeRaidFrameButton23" inherits="ChorusLargeRaidUnitFrameTemplate" id="23">
288 <Frame name="ChorusHugeRaidFrameButton23" inherits="ChorusHugeRaidUnitFrameTemplate" id="23">
288 289 <Anchors> <Anchors>
289 290 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
290 291 <Offset> <Offset>
291 <AbsDimension x="1132" y="0"/>
292 <AbsDimension x="1412" y="0"/>
292 293 </Offset> </Offset>
293 294 </Anchor> </Anchor>
294 295 </Anchors> </Anchors>
 
296 297 <Attribute name="unit" type="string" value="raid23"/> <Attribute name="unit" type="string" value="raid23"/>
297 298 </Attributes> </Attributes>
298 299 </Frame> </Frame>
299 <Frame name="ChorusLargeRaidFrameButton24" inherits="ChorusLargeRaidUnitFrameTemplate" id="24">
300 <Frame name="ChorusHugeRaidFrameButton24" inherits="ChorusHugeRaidUnitFrameTemplate" id="24">
300 301 <Anchors> <Anchors>
301 302 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
302 303 <Offset> <Offset>
303 <AbsDimension x="1298" y="0"/>
304 <AbsDimension x="1618" y="0"/>
304 305 </Offset> </Offset>
305 306 </Anchor> </Anchor>
306 307 </Anchors> </Anchors>
 
308 309 <Attribute name="unit" type="string" value="raid24"/> <Attribute name="unit" type="string" value="raid24"/>
309 310 </Attributes> </Attributes>
310 311 </Frame> </Frame>
311 <Frame name="ChorusLargeRaidFrameButton25" inherits="ChorusLargeRaidUnitFrameTemplate" id="25">
312 <Frame name="ChorusHugeRaidFrameButton25" inherits="ChorusHugeRaidUnitFrameTemplate" id="25">
312 313 <Anchors> <Anchors>
313 314 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
314 315 <Offset> <Offset>
315 <AbsDimension x="1464" y="0"/>
316 <AbsDimension x="1824" y="0"/>
316 317 </Offset> </Offset>
317 318 </Anchor> </Anchor>
318 319 </Anchors> </Anchors>
 
321 322 </Attributes> </Attributes>
322 323 </Frame> </Frame>
323 324 <!-- Group 6. --> <!-- Group 6. -->
324 <Frame name="ChorusLargeRaidFrameButton26" inherits="ChorusLargeRaidUnitFrameTemplate" id="26">
325 <Frame name="ChorusHugeRaidFrameButton26" inherits="ChorusHugeRaidUnitFrameTemplate" id="26">
325 326 <Anchors> <Anchors>
326 327 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
327 328 <Offset> <Offset>
328 <AbsDimension x="800" y="500"/>
329 <AbsDimension x="1000" y="750"/>
329 330 </Offset> </Offset>
330 331 </Anchor> </Anchor>
331 332 </Anchors> </Anchors>
 
333 334 <Attribute name="unit" type="string" value="raid26"/> <Attribute name="unit" type="string" value="raid26"/>
334 335 </Attributes> </Attributes>
335 336 </Frame> </Frame>
336 <Frame name="ChorusLargeRaidFrameButton27" inherits="ChorusLargeRaidUnitFrameTemplate" id="27">
337 <Frame name="ChorusHugeRaidFrameButton27" inherits="ChorusHugeRaidUnitFrameTemplate" id="27">
337 338 <Anchors> <Anchors>
338 339 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
339 340 <Offset> <Offset>
340 <AbsDimension x="966" y="500"/>
341 <AbsDimension x="1206" y="750"/>
341 342 </Offset> </Offset>
342 343 </Anchor> </Anchor>
343 344 </Anchors> </Anchors>
 
345 346 <Attribute name="unit" type="string" value="raid27"/> <Attribute name="unit" type="string" value="raid27"/>
346 347 </Attributes> </Attributes>
347 348 </Frame> </Frame>
348 <Frame name="ChorusLargeRaidFrameButton28" inherits="ChorusLargeRaidUnitFrameTemplate" id="28">
349 <Frame name="ChorusHugeRaidFrameButton28" inherits="ChorusHugeRaidUnitFrameTemplate" id="28">
349 350 <Anchors> <Anchors>
350 351 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
351 352 <Offset> <Offset>
352 <AbsDimension x="1132" y="500"/>
353 <AbsDimension x="1412" y="750"/>
353 354 </Offset> </Offset>
354 355 </Anchor> </Anchor>
355 356 </Anchors> </Anchors>
 
357 358 <Attribute name="unit" type="string" value="raid28"/> <Attribute name="unit" type="string" value="raid28"/>
358 359 </Attributes> </Attributes>
359 360 </Frame> </Frame>
360 <Frame name="ChorusLargeRaidFrameButton29" inherits="ChorusLargeRaidUnitFrameTemplate" id="29">
361 <Frame name="ChorusHugeRaidFrameButton29" inherits="ChorusHugeRaidUnitFrameTemplate" id="29">
361 362 <Anchors> <Anchors>
362 363 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
363 364 <Offset> <Offset>
364 <AbsDimension x="1298" y="500"/>
365 <AbsDimension x="1618" y="750"/>
365 366 </Offset> </Offset>
366 367 </Anchor> </Anchor>
367 368 </Anchors> </Anchors>
 
369 370 <Attribute name="unit" type="string" value="raid29"/> <Attribute name="unit" type="string" value="raid29"/>
370 371 </Attributes> </Attributes>
371 372 </Frame> </Frame>
372 <Frame name="ChorusLargeRaidFrameButton30" inherits="ChorusLargeRaidUnitFrameTemplate" id="30">
373 <Frame name="ChorusHugeRaidFrameButton30" inherits="ChorusHugeRaidUnitFrameTemplate" id="30">
373 374 <Anchors> <Anchors>
374 375 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
375 376 <Offset> <Offset>
376 <AbsDimension x="1464" y="500"/>
377 <AbsDimension x="1824" y="750"/>
377 378 </Offset> </Offset>
378 379 </Anchor> </Anchor>
379 380 </Anchors> </Anchors>
 
382 383 </Attributes> </Attributes>
383 384 </Frame> </Frame>
384 385 <!-- Group 7. --> <!-- Group 7. -->
385 <Frame name="ChorusLargeRaidFrameButton31" inherits="ChorusLargeRaidUnitFrameTemplate" id="31">
386 <Frame name="ChorusHugeRaidFrameButton31" inherits="ChorusHugeRaidUnitFrameTemplate" id="31">
386 387 <Anchors> <Anchors>
387 388 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
388 389 <Offset> <Offset>
389 <AbsDimension x="800" y="1000"/>
390 <AbsDimension x="1000" y="1500"/>
390 391 </Offset> </Offset>
391 392 </Anchor> </Anchor>
392 393 </Anchors> </Anchors>
 
394 395 <Attribute name="unit" type="string" value="raid31"/> <Attribute name="unit" type="string" value="raid31"/>
395 396 </Attributes> </Attributes>
396 397 </Frame> </Frame>
397 <Frame name="ChorusLargeRaidFrameButton32" inherits="ChorusLargeRaidUnitFrameTemplate" id="32">
398 <Frame name="ChorusHugeRaidFrameButton32" inherits="ChorusHugeRaidUnitFrameTemplate" id="32">
398 399 <Anchors> <Anchors>
399 400 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
400 401 <Offset> <Offset>
401 <AbsDimension x="966" y="1000"/>
402 <AbsDimension x="1206" y="1500"/>
402 403 </Offset> </Offset>
403 404 </Anchor> </Anchor>
404 405 </Anchors> </Anchors>
 
406 407 <Attribute name="unit" type="string" value="raid32"/> <Attribute name="unit" type="string" value="raid32"/>
407 408 </Attributes> </Attributes>
408 409 </Frame> </Frame>
409 <Frame name="ChorusLargeRaidFrameButton33" inherits="ChorusLargeRaidUnitFrameTemplate" id="33">
410 <Frame name="ChorusHugeRaidFrameButton33" inherits="ChorusHugeRaidUnitFrameTemplate" id="33">
410 411 <Anchors> <Anchors>
411 412 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
412 413 <Offset> <Offset>
413 <AbsDimension x="1132" y="1000"/>
414 <AbsDimension x="1412" y="1500"/>
414 415 </Offset> </Offset>
415 416 </Anchor> </Anchor>
416 417 </Anchors> </Anchors>
 
418 419 <Attribute name="unit" type="string" value="raid33"/> <Attribute name="unit" type="string" value="raid33"/>
419 420 </Attributes> </Attributes>
420 421 </Frame> </Frame>
421 <Frame name="ChorusLargeRaidFrameButton34" inherits="ChorusLargeRaidUnitFrameTemplate" id="34">
422 <Frame name="ChorusHugeRaidFrameButton34" inherits="ChorusHugeRaidUnitFrameTemplate" id="34">
422 423 <Anchors> <Anchors>
423 424 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
424 425 <Offset> <Offset>
425 <AbsDimension x="1298" y="1000"/>
426 <AbsDimension x="1618" y="1500"/>
426 427 </Offset> </Offset>
427 428 </Anchor> </Anchor>
428 429 </Anchors> </Anchors>
 
430 431 <Attribute name="unit" type="string" value="raid34"/> <Attribute name="unit" type="string" value="raid34"/>
431 432 </Attributes> </Attributes>
432 433 </Frame> </Frame>
433 <Frame name="ChorusLargeRaidFrameButton35" inherits="ChorusLargeRaidUnitFrameTemplate" id="35">
434 <Frame name="ChorusHugeRaidFrameButton35" inherits="ChorusHugeRaidUnitFrameTemplate" id="35">
434 435 <Anchors> <Anchors>
435 436 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
436 437 <Offset> <Offset>
437 <AbsDimension x="1464" y="1000"/>
438 <AbsDimension x="1824" y="1500"/>
438 439 </Offset> </Offset>
439 440 </Anchor> </Anchor>
440 441 </Anchors> </Anchors>
 
443 444 </Attributes> </Attributes>
444 445 </Frame> </Frame>
445 446 <!-- Group 8. --> <!-- Group 8. -->
446 <Frame name="ChorusLargeRaidFrameButton36" inherits="ChorusLargeRaidUnitFrameTemplate" id="36">
447 <Frame name="ChorusHugeRaidFrameButton36" inherits="ChorusHugeRaidUnitFrameTemplate" id="36">
447 448 <Anchors> <Anchors>
448 449 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
449 450 <Offset> <Offset>
450 <AbsDimension x="800" y="1500"/>
451 <AbsDimension x="1000" y="2250"/>
451 452 </Offset> </Offset>
452 453 </Anchor> </Anchor>
453 454 </Anchors> </Anchors>
 
455 456 <Attribute name="unit" type="string" value="raid36"/> <Attribute name="unit" type="string" value="raid36"/>
456 457 </Attributes> </Attributes>
457 458 </Frame> </Frame>
458 <Frame name="ChorusLargeRaidFrameButton37" inherits="ChorusLargeRaidUnitFrameTemplate" id="37">
459 <Frame name="ChorusHugeRaidFrameButton37" inherits="ChorusHugeRaidUnitFrameTemplate" id="37">
459 460 <Anchors> <Anchors>
460 461 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
461 462 <Offset> <Offset>
462 <AbsDimension x="966" y="1500"/>
463 <AbsDimension x="1206" y="2250"/>
463 464 </Offset> </Offset>
464 465 </Anchor> </Anchor>
465 466 </Anchors> </Anchors>
 
467 468 <Attribute name="unit" type="string" value="raid37"/> <Attribute name="unit" type="string" value="raid37"/>
468 469 </Attributes> </Attributes>
469 470 </Frame> </Frame>
470 <Frame name="ChorusLargeRaidFrameButton38" inherits="ChorusLargeRaidUnitFrameTemplate" id="38">
471 <Frame name="ChorusHugeRaidFrameButton38" inherits="ChorusHugeRaidUnitFrameTemplate" id="38">
471 472 <Anchors> <Anchors>
472 473 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
473 474 <Offset> <Offset>
474 <AbsDimension x="1132" y="1500"/>
475 <AbsDimension x="1412" y="2250"/>
475 476 </Offset> </Offset>
476 477 </Anchor> </Anchor>
477 478 </Anchors> </Anchors>
 
479 480 <Attribute name="unit" type="string" value="raid38"/> <Attribute name="unit" type="string" value="raid38"/>
480 481 </Attributes> </Attributes>
481 482 </Frame> </Frame>
482 <Frame name="ChorusLargeRaidFrameButton39" inherits="ChorusLargeRaidUnitFrameTemplate" id="39">
483 <Frame name="ChorusHugeRaidFrameButton39" inherits="ChorusHugeRaidUnitFrameTemplate" id="39">
483 484 <Anchors> <Anchors>
484 485 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
485 486 <Offset> <Offset>
486 <AbsDimension x="1298" y="1500"/>
487 <AbsDimension x="1618" y="2250"/>
487 488 </Offset> </Offset>
488 489 </Anchor> </Anchor>
489 490 </Anchors> </Anchors>
 
491 492 <Attribute name="unit" type="string" value="raid39"/> <Attribute name="unit" type="string" value="raid39"/>
492 493 </Attributes> </Attributes>
493 494 </Frame> </Frame>
494 <Frame name="ChorusLargeRaidFrameButton40" inherits="ChorusLargeRaidUnitFrameTemplate" id="40">
495 <Frame name="ChorusHugeRaidFrameButton40" inherits="ChorusHugeRaidUnitFrameTemplate" id="40">
495 496 <Anchors> <Anchors>
496 497 <Anchor point="BOTTOMLEFT"> <Anchor point="BOTTOMLEFT">
497 498 <Offset> <Offset>
498 <AbsDimension x="1464" y="1500"/>
499 <AbsDimension x="1824" y="2250"/>
499 500 </Offset> </Offset>
500 501 </Anchor> </Anchor>
501 502 </Anchors> </Anchors>
File src/ChorusLargeRaidFrame.xml changed (mode: 100644) (index 57891b3..352c184)
6 6 <AbsDimension x="800" y="800"/> <AbsDimension x="800" y="800"/>
7 7 </Size> </Size>
8 8 <Anchors> <Anchors>
9 <Anchor point="BOTTOM">
10 <Offset x="256" y="200"/>
11 </Anchor>
9 12 <Anchor point="CENTER"> <Anchor point="CENTER">
10 <Offset>
11 <AbsDimension x="0" y="0"/>
12 </Offset>
13 <Offset x="0" y="0"/>
13 14 </Anchor> </Anchor>
14 15 </Anchors> </Anchors>
15 16 <Frames> <Frames>
File src/ChorusSmallRaidFrame.xml changed (mode: 100644) (index dbd774d..1f67ded)
6 6 <AbsDimension x="480" y="256"/> <AbsDimension x="480" y="256"/>
7 7 </Size> </Size>
8 8 <Anchors> <Anchors>
9 <Anchor point="BOTTOM">
10 <Offset x="256" y="200"/>
11 </Anchor>
9 12 <Anchor point="CENTER"> <Anchor point="CENTER">
10 <Offset>
11 <AbsDimension x="0" y="0"/>
12 </Offset>
13 <Offset x="0" y="0"/>
13 14 </Anchor> </Anchor>
14 15 </Anchors> </Anchors>
15 16 <Frames> <Frames>
File src/ChorusTinyRaidFrame.xml changed (mode: 100644) (index ae721a5..2d4d552)
6 6 <AbsDimension x="320" y="128"/> <AbsDimension x="320" y="128"/>
7 7 </Size> </Size>
8 8 <Anchors> <Anchors>
9 <Anchor point="BOTTOM">
10 <Offset x="256" y="200"/>
11 </Anchor>
9 12 <Anchor point="CENTER"> <Anchor point="CENTER">
10 <Offset>
11 <AbsDimension x="0" y="0"/>
12 </Offset>
13 <Offset x="0" y="0"/>
13 14 </Anchor> </Anchor>
14 15 </Anchors> </Anchors>
15 16 <Frames> <Frames>
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/vrtc/chorus

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/vrtc/chorus

Clone this repository using git:
git clone git://git.rocketgit.com/user/vrtc/chorus

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main