aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2025-06-17 20:59:45 +0200
committerLinnea Gräf <nea@nea.moe>2025-06-17 21:19:43 +0200
commit4b9e966ca7e8a9291f307850f715820e122d69fd (patch)
tree94b08c865c882f93ff9c0c6aa7a507d47bcc67bf /src/main/resources
parent775933d516db10dbcc1cbbe405defa7b6e0c5a6a (diff)
downloadFirmament-4b9e966ca7e8a9291f307850f715820e122d69fd.tar.gz
Firmament-4b9e966ca7e8a9291f307850f715820e122d69fd.tar.bz2
Firmament-4b9e966ca7e8a9291f307850f715820e122d69fd.zip
feat: Add macro wheels
Diffstat (limited to 'src/main/resources')
-rw-r--r--src/main/resources/assets/firmament/gui/config/macros/combos.xml1
-rw-r--r--src/main/resources/assets/firmament/gui/config/macros/editor_combo.xml (renamed from src/main/resources/assets/firmament/gui/config/macros/editor.xml)0
-rw-r--r--src/main/resources/assets/firmament/gui/config/macros/editor_wheel.xml43
-rw-r--r--src/main/resources/assets/firmament/gui/config/macros/index.xml33
-rw-r--r--src/main/resources/assets/firmament/gui/config/macros/wheel.xml54
-rw-r--r--src/main/resources/assets/firmament/shaders/circle_discard_color.fsh22
6 files changed, 141 insertions, 12 deletions
diff --git a/src/main/resources/assets/firmament/gui/config/macros/combos.xml b/src/main/resources/assets/firmament/gui/config/macros/combos.xml
index b2865ab..5141125 100644
--- a/src/main/resources/assets/firmament/gui/config/macros/combos.xml
+++ b/src/main/resources/assets/firmament/gui/config/macros/combos.xml
@@ -3,7 +3,6 @@
>
<Panel background="TRANSPARENT" insets="10">
<Column>
- <Meta beforeClose="@beforeClose"/>
<ScrollPanel width="380" height="300">
<Align horizontal="CENTER">
<Array data="@actions">
diff --git a/src/main/resources/assets/firmament/gui/config/macros/editor.xml b/src/main/resources/assets/firmament/gui/config/macros/editor_combo.xml
index 50a1d99..50a1d99 100644
--- a/src/main/resources/assets/firmament/gui/config/macros/editor.xml
+++ b/src/main/resources/assets/firmament/gui/config/macros/editor_combo.xml
diff --git a/src/main/resources/assets/firmament/gui/config/macros/editor_wheel.xml b/src/main/resources/assets/firmament/gui/config/macros/editor_wheel.xml
new file mode 100644
index 0000000..e4dc2b4
--- /dev/null
+++ b/src/main/resources/assets/firmament/gui/config/macros/editor_wheel.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<Root xmlns="http://notenoughupdates.org/moulconfig" xmlns:firm="http://firmament.nea.moe/moulconfig"
+>
+ <Center>
+ <Panel background="VANILLA" insets="10">
+ <Column>
+ <Row>
+ <firm:Button onClick="@back">
+ <Text text="←"/>
+ </firm:Button>
+ <Text text="Editing wheel macro"/>
+ </Row>
+ <Row>
+ <Text text="Key (Hold):"/>
+ <Align horizontal="RIGHT">
+ <firm:Fixed width="160">
+ <Indirect value="@button"/>
+ </firm:Fixed>
+ </Align>
+ </Row>
+ <Row>
+ <Text text="Menu Options:"/>
+ <Align horizontal="RIGHT">
+ <firm:Button onClick="@addOption">
+ <Text text="+"/>
+ </firm:Button>
+ </Align>
+ </Row>
+ <Array data="@editableCommands">
+ <Row>
+ <Text text="/"/>
+ <TextField value="@text" width="160"/>
+ <Align horizontal="RIGHT">
+ <firm:Button onClick="@delete">
+ <Text text="Delete"/>
+ </firm:Button>
+ </Align>
+ </Row>
+ </Array>
+ </Column>
+ </Panel>
+ </Center>
+</Root>
diff --git a/src/main/resources/assets/firmament/gui/config/macros/index.xml b/src/main/resources/assets/firmament/gui/config/macros/index.xml
index 3fa9f99..f6a1545 100644
--- a/src/main/resources/assets/firmament/gui/config/macros/index.xml
+++ b/src/main/resources/assets/firmament/gui/config/macros/index.xml
@@ -1,16 +1,27 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Root xmlns="http://notenoughupdates.org/moulconfig"
- xmlns:firm="http://firmament.nea.moe/moulconfig">
+>
<Center>
- <Tabs>
- <Tab>
- <Tab.Header>
- <Text text="Combo Macros"/>
- </Tab.Header>
- <Tab.Body>
- <Fragment value="firmament:gui/config/macros/combos.xml" bind="@combos"/>
- </Tab.Body>
- </Tab>
- </Tabs>
+ <Row>
+ <Tabs>
+ <Tab>
+ <Tab.Header>
+ <Text text="Combo Macros"/>
+ </Tab.Header>
+ <Tab.Body>
+ <Fragment value="firmament:gui/config/macros/combos.xml" bind="@combos"/>
+ </Tab.Body>
+ </Tab>
+ <Tab>
+ <Tab.Header>
+ <Text text="Macro Wheel"/>
+ </Tab.Header>
+ <Tab.Body>
+ <Fragment value="firmament:gui/config/macros/wheel.xml" bind="@wheels"/>
+ </Tab.Body>
+ </Tab>
+ </Tabs>
+ <Meta beforeClose="@beforeClose"/>
+ </Row>
</Center>
</Root>
diff --git a/src/main/resources/assets/firmament/gui/config/macros/wheel.xml b/src/main/resources/assets/firmament/gui/config/macros/wheel.xml
new file mode 100644
index 0000000..19922fe
--- /dev/null
+++ b/src/main/resources/assets/firmament/gui/config/macros/wheel.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<Root xmlns="http://notenoughupdates.org/moulconfig" xmlns:firm="http://firmament.nea.moe/moulconfig"
+>
+ <Panel background="TRANSPARENT" insets="10">
+ <Column>
+ <ScrollPanel width="380" height="300">
+ <Align horizontal="CENTER">
+ <Array data="@wheels">
+ <Panel background="TRANSPARENT" insets="3">
+ <Panel background="VANILLA" insets="6">
+ <Column>
+ <Row>
+ <Text text="@keyCombo" width="250"/>
+ <Align horizontal="RIGHT">
+ <Row>
+ <firm:Button onClick="@edit">
+ <Text text="Edit"/>
+ </firm:Button>
+ <Spacer width="12"/>
+ <firm:Button onClick="@delete">
+ <Text text="Delete"/>
+ </firm:Button>
+ </Row>
+ </Align>
+ </Row>
+ <Array data="@commands">
+ <Text text="@text" width="280"/>
+ </Array>
+ </Column>
+ </Panel>
+
+ </Panel>
+ </Array>
+ </Align>
+ </ScrollPanel>
+ <Align horizontal="RIGHT">
+ <Row>
+ <firm:Button onClick="@discard">
+ <Text text="Discard Changes"/>
+ </firm:Button>
+ <firm:Button onClick="@saveAndClose">
+ <Text text="Save &amp; Close"/>
+ </firm:Button>
+ <firm:Button onClick="@save">
+ <Text text="Save"/>
+ </firm:Button>
+ <firm:Button onClick="@addWheel">
+ <Text text="Add Wheel"/>
+ </firm:Button>
+ </Row>
+ </Align>
+ </Column>
+ </Panel>
+</Root>
diff --git a/src/main/resources/assets/firmament/shaders/circle_discard_color.fsh b/src/main/resources/assets/firmament/shaders/circle_discard_color.fsh
new file mode 100644
index 0000000..ae46059
--- /dev/null
+++ b/src/main/resources/assets/firmament/shaders/circle_discard_color.fsh
@@ -0,0 +1,22 @@
+#version 150
+
+in vec4 vertexColor;
+in vec2 texCoord0;
+
+uniform vec4 ColorModulator;
+uniform float InnerCutoutRadius;
+
+out vec4 fragColor;
+
+void main() {
+ vec4 color = vertexColor;
+ if (color.a == 0.0) {
+ discard;
+ }
+ float d = length(texCoord0 - vec2(0.5));
+ if (d > 0.5 || d < InnerCutoutRadius)
+ {
+ discard;
+ }
+ fragColor = color * ColorModulator;
+}