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)
feat(doc)!: Add project description 4b406a549e83dda3845104e8a6a233eae481a3c8 Vladyslav Bondarenko 2023-08-19 05:58:50
fix: Typo in ChorusRaidFrame 61fb4f93c227e3b94a52df26eeffece12fe86e55 Vladyslav Bondarenko 2023-08-18 21:00:34
feat(build): Document build validation scripts d19d03c4a20c8c02fee8b4c1c00241c58baa12eb Vladyslav Bondarenko 2023-08-18 20:57:35
feat: Update raid frame ff5ad9619c6af14f7e1719cbaaf34fa0465c1f12 Vladyslav Bondarenko 2023-08-18 20:54:29
feat: Update add-on loading mechanism 2d8df81c17fbfcaf8d0bb966a3373503bb32a585 Vladyslav Bondarenko 2023-08-18 19:59:39
feat: Update progress frames on demand only 7c18488e61b5889eca4b057602fbc41883fc53f1 Vladyslav Bondarenko 2023-08-18 19:50:41
feat: Add basic font customization 321c2e6251e2e619101f8d57b4d4b1ef10a79694 Vladyslav Bondarenko 2023-08-18 17:29:12
fix: Improve range indicator accuracy 17ee7011ae6bdd3e28bae4694d40a68ea799d001 Vladyslav Bondarenko 2023-08-17 23:52:43
feat!: Add target range indicator 83b3fae1f675042b7d9e89c09aedc864e8fcaa27 Vladyslav Bondarenko 2023-08-17 22:41:08
feat: Add class color code to target frame 990cdf1d9f44c9916948697e74f86d6490d83304 Vladyslav Bondarenko 2023-08-17 20:59:28
feat: Add solo unit buttons 4658af2b5142ff2ca86c2c4b48577879117a9ecc Vladyslav Bondarenko 2023-08-17 20:38:10
feat: Add power bar to raid unit button b25bd8d28c30cb003bf8cfe2886e2cfd8442d32f Vladyslav Bondarenko 2023-08-17 18:48:29
feat!: Add basic raid frame stub 66e27810a396b564cf7cd737e1f402f4f433b879 Vladyslav Bondarenko 2023-08-17 17:40:08
feat: Add raid frame stub 5fd737cef8e3fc700bab1e6a89ceb68c21495eea Vladyslav Bondarenko 2023-08-16 02:35:08
fix: Show auras correctly at startup 54136c9cedf83fa2a8559b879ab8410a6e28646c Vladyslav Bondarenko 2023-08-15 19:15:48
fix!: Shadowing correct functions 53991b2f7093e765993f8423377602ca22e234da Vladyslav Bondarenko 2023-08-15 18:22:56
fix: Add UnitClass shadowing local e87c61c3cae4cdb945714c67259a6304201968d0 Vladyslav Bondarenko 2023-08-15 18:21:32
feat!: Add unit name b8358f834b4a9c25a6d057d91ed56e3b4d7dc320 Vladyslav Bondarenko 2023-08-15 18:21:12
feat!: Add power bar 654fe43cb55a0e440bdead43d86e3d49bf331c3a Vladyslav Bondarenko 2023-08-15 17:43:59
feat!: Add health bar 16bcad2d2169a7caa2a0f17513202673d178fa98 Vladyslav Bondarenko 2023-08-14 21:59:43
Commit 4b406a549e83dda3845104e8a6a233eae481a3c8 - feat(doc)!: Add project description
Author: Vladyslav Bondarenko
Author date (UTC): 2023-08-19 05:58
Committer name: Vladyslav Bondarenko
Committer date (UTC): 2023-08-19 05:58
Parent(s): 61fb4f93c227e3b94a52df26eeffece12fe86e55
Signer:
Signing key: EFF9624877D25D02
Signing status: E
Tree: c142ecd51250e06c84d8b1ddf8e38e0713b37a37
File Lines added Lines deleted
README.md 96 0
chorus-dev-1.rockspec 30 0
File README.md added (mode: 100644) (index 0000000..8660a7b)
1 # Chorus
2
3 Chorus is a graphical user interface extension for a popular video game World
4 of Warcraft. It adds a custom raid frame. This is a work in progress.
5
6 Features:
7
8 - approximate distance to every raid member in yards;
9 - sort debuffs by relevance;
10 - generalize raid and party frames;
11
12 Supported game version is legacy 3.3.5a (or interface 30300).
13
14 The motivation is to create a robust minimalistic raid frame. It must work
15 out-of-the-box and require no configuration by the user. It must be comparable
16 in it's features with modern native raid frame that was shipped with the game
17 since Cataclysm expansion (interface 40000).
18
19 This add-on will never feature key binding customization. This feature is
20 specifically excluded to be the subject of a different add-on.
21
22 ## Install
23
24 The project is installed like any other World of Warcraft add-on. Exit the
25 game. Unpack the archive that contains the project's sources into
26 "${gamedir}/Interface/AddOns/" directory, where ${gamedir} is the path to the
27 game installation directory. In the end it must look something like this.
28
29 ```
30 Interface/Addons/chorus/
31 Interface/Addons/chorus/bin/
32 Interface/Addons/chorus/etc/
33 Interface/Addons/chorus/share/
34 Interface/Addons/chorus/src/
35 Interface/Addons/chorus/README.md
36 Interface/Addons/chorus/chorus.toc
37 ```
38
39 Experienced users may install the add-on with `git`.
40
41 ```
42 git clone --branch master https://rocketgit.com/user/vrtc/chorus "${gamedir}/Interface/AddOns/chorus"
43 ```
44
45 ## Development
46
47 ### Build dependencies
48
49 The project does not require any building steps to work. It can be freely
50 distributed as sources only. However, the project was developed using certain
51 tools that may still be applicable.
52
53 Build dependencies:
54
55 - luacheck (static analysis for Lua);
56 - xmllint (XML validator);
57 - luarocks (packaging and project management for Lua);
58 - ldoc (generate technical documentation from Lua sources);
59
60 #### Build dependencies for Debian 12
61
62 Install build dependencies for Debian 12.
63
64 ```
65 apt-get install libxml2-utils lua-check luarocks lua-ldoc
66 ```
67
68 #### Build dependencies for Windows
69
70 Insalling for Windows is much more tricky. The first step is to install
71 LuaRocks, then use LuaRocks to install LuaCheck and LDoc. xmllint can be
72 replaced with any XML parser that understands *.xsd.
73
74 ### Build package
75
76 Validate Lua snippets for sanity.
77
78 ```
79 luacheck --config etc/luacheckrc.lua src/
80 ```
81
82 Validate Blizzard UI XML snippets for sanity.
83
84 ```
85 xmllint --noout --scheme share/xml/FrameXML/UI.xsd
86 ```
87
88 Package a *.zip archive for redistribution.
89
90 ```
91 luarocks pack chorus-dev-1.rockspec
92 ```
93
94 `luarocks` produces a source "rock" package that is a *.zip archive with a
95 conventional extension *.src.rock. The file can be safely renamed to a normal
96 *.zip archive.
File chorus-dev-1.rockspec added (mode: 100644) (index 0000000..db22553)
1 package = "chorus"
2 version = "dev-1"
3 source = {
4 url = "git+ssh://rocketgit@ssh.rocketgit.com/user/vrtc/chorus"
5 }
6 description = {
7 homepage = "*** please enter a project homepage ***",
8 license = "CC0"
9 }
10 build = {
11 type = "builtin",
12 modules = {
13 Chorus = "src/Chorus.lua",
14 ChorusAuraButtonTemplate = "src/ChorusAuraButtonTemplate.lua",
15 ChorusAuraFrameTemplate = "src/ChorusAuraFrameTemplate.lua",
16 ChorusProgressFrameTemplate = "src/ChorusProgressFrameTemplate.lua",
17 ChorusRaidUnitButtonTemplate = "src/ChorusRaidUnitButtonTemplate.lua",
18 ChorusRangeFrameTemplate = "src/ChorusRangeFrameTemplate.lua",
19 ChorusUnitNameFrameTemplate = "src/ChorusUnitNameFrameTemplate.lua"
20 },
21 copy_directories = {
22 "doc"
23 },
24 install = {
25 bin = {
26 "bin/validate-lua.sh",
27 "bin/validate-xml.sh"
28 }
29 }
30 }
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