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 |
|
} |