pingthings 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/pingthings.js +1 -0
- package/package.json +1 -1
- package/packs/0ad-civilizations/openpeon.json +172 -0
- package/packs/7kaa-soldiers/openpeon.json +217 -0
- package/packs/droid-announcer/openpeon.json +107 -0
- package/packs/fighting-announcer/openpeon.json +132 -0
- package/packs/freedoom-arsenal/openpeon.json +117 -0
- package/packs/kenney-digital/manifest.json +58 -0
- package/packs/kenney-digital/openpeon.json +122 -0
- package/packs/kenney-digital/sounds/high-up.ogg +0 -0
- package/packs/kenney-digital/sounds/low-down.ogg +0 -0
- package/packs/kenney-digital/sounds/pep-1.ogg +0 -0
- package/packs/kenney-digital/sounds/pep-2.ogg +0 -0
- package/packs/kenney-digital/sounds/phase-jump-1.ogg +0 -0
- package/packs/kenney-digital/sounds/phase-jump-2.ogg +0 -0
- package/packs/kenney-digital/sounds/phaser-down.ogg +0 -0
- package/packs/kenney-digital/sounds/phaser-up-1.ogg +0 -0
- package/packs/kenney-digital/sounds/phaser-up-2.ogg +0 -0
- package/packs/kenney-digital/sounds/power-up-1.ogg +0 -0
- package/packs/kenney-digital/sounds/power-up-2.ogg +0 -0
- package/packs/kenney-digital/sounds/power-up-3.ogg +0 -0
- package/packs/kenney-digital/sounds/space-trash.ogg +0 -0
- package/packs/kenney-digital/sounds/three-tone.ogg +0 -0
- package/packs/kenney-digital/sounds/tone.ogg +0 -0
- package/packs/kenney-digital/sounds/two-tone.ogg +0 -0
- package/packs/kenney-digital/sounds/zap-1.ogg +0 -0
- package/packs/kenney-digital/sounds/zap-2.ogg +0 -0
- package/packs/kenney-fighter/manifest.json +58 -0
- package/packs/kenney-fighter/openpeon.json +122 -0
- package/packs/kenney-fighter/sounds/begin.ogg +0 -0
- package/packs/kenney-fighter/sounds/combo-breaker.ogg +0 -0
- package/packs/kenney-fighter/sounds/combo.ogg +0 -0
- package/packs/kenney-fighter/sounds/fight.ogg +0 -0
- package/packs/kenney-fighter/sounds/final-round.ogg +0 -0
- package/packs/kenney-fighter/sounds/flawless-victory.ogg +0 -0
- package/packs/kenney-fighter/sounds/game-over.ogg +0 -0
- package/packs/kenney-fighter/sounds/loser.ogg +0 -0
- package/packs/kenney-fighter/sounds/multi-kill.ogg +0 -0
- package/packs/kenney-fighter/sounds/prepare-yourself.ogg +0 -0
- package/packs/kenney-fighter/sounds/ready.ogg +0 -0
- package/packs/kenney-fighter/sounds/round-1.ogg +0 -0
- package/packs/kenney-fighter/sounds/sudden-death.ogg +0 -0
- package/packs/kenney-fighter/sounds/tie-breaker.ogg +0 -0
- package/packs/kenney-fighter/sounds/time.ogg +0 -0
- package/packs/kenney-fighter/sounds/winner.ogg +0 -0
- package/packs/kenney-fighter/sounds/you-lose.ogg +0 -0
- package/packs/kenney-fighter/sounds/you-win.ogg +0 -0
- package/packs/kenney-impacts/manifest.json +57 -0
- package/packs/kenney-impacts/openpeon.json +116 -0
- package/packs/kenney-impacts/sounds/bell-heavy-2.ogg +0 -0
- package/packs/kenney-impacts/sounds/bell-heavy.ogg +0 -0
- package/packs/kenney-impacts/sounds/glass-heavy.ogg +0 -0
- package/packs/kenney-impacts/sounds/glass-light.ogg +0 -0
- package/packs/kenney-impacts/sounds/glass-medium.ogg +0 -0
- package/packs/kenney-impacts/sounds/mining-1.ogg +0 -0
- package/packs/kenney-impacts/sounds/mining-2.ogg +0 -0
- package/packs/kenney-impacts/sounds/plate-heavy-2.ogg +0 -0
- package/packs/kenney-impacts/sounds/plate-heavy.ogg +0 -0
- package/packs/kenney-impacts/sounds/plate-light-1.ogg +0 -0
- package/packs/kenney-impacts/sounds/plate-light-2.ogg +0 -0
- package/packs/kenney-impacts/sounds/plate-medium.ogg +0 -0
- package/packs/kenney-impacts/sounds/soft-heavy.ogg +0 -0
- package/packs/kenney-impacts/sounds/soft-medium.ogg +0 -0
- package/packs/kenney-impacts/sounds/tin-medium.ogg +0 -0
- package/packs/kenney-impacts/sounds/wood-heavy.ogg +0 -0
- package/packs/kenney-impacts/sounds/wood-light.ogg +0 -0
- package/packs/kenney-impacts/sounds/wood-medium.ogg +0 -0
- package/packs/kenney-interface/openpeon.json +122 -0
- package/packs/kenney-rpg/manifest.json +57 -0
- package/packs/kenney-rpg/openpeon.json +117 -0
- package/packs/kenney-rpg/sounds/belt-handle-2.ogg +0 -0
- package/packs/kenney-rpg/sounds/belt-handle.ogg +0 -0
- package/packs/kenney-rpg/sounds/book-close.ogg +0 -0
- package/packs/kenney-rpg/sounds/book-flip.ogg +0 -0
- package/packs/kenney-rpg/sounds/book-open.ogg +0 -0
- package/packs/kenney-rpg/sounds/book-place.ogg +0 -0
- package/packs/kenney-rpg/sounds/cloth-belt.ogg +0 -0
- package/packs/kenney-rpg/sounds/creak.ogg +0 -0
- package/packs/kenney-rpg/sounds/door-close.ogg +0 -0
- package/packs/kenney-rpg/sounds/door-open.ogg +0 -0
- package/packs/kenney-rpg/sounds/draw-knife.ogg +0 -0
- package/packs/kenney-rpg/sounds/leather-drop.ogg +0 -0
- package/packs/kenney-rpg/sounds/leather-handle.ogg +0 -0
- package/packs/kenney-rpg/sounds/metal-click.ogg +0 -0
- package/packs/kenney-rpg/sounds/metal-latch.ogg +0 -0
- package/packs/kenney-rpg/sounds/metal-pot-2.ogg +0 -0
- package/packs/kenney-rpg/sounds/metal-pot.ogg +0 -0
- package/packs/kenney-rpg/sounds/sword-draw.ogg +0 -0
- package/packs/kenney-scifi/openpeon.json +122 -0
- package/packs/kenney-voiceover/openpeon.json +127 -0
- package/packs/openarena-announcer/openpeon.json +107 -0
- package/packs/retro-8bit/openpeon.json +122 -0
- package/packs/retro-movement/manifest.json +58 -0
- package/packs/retro-movement/openpeon.json +122 -0
- package/packs/retro-movement/sounds/blip-1.ogg +0 -0
- package/packs/retro-movement/sounds/blip-2.ogg +0 -0
- package/packs/retro-movement/sounds/door-open-1.ogg +0 -0
- package/packs/retro-movement/sounds/door-open-2.ogg +0 -0
- package/packs/retro-movement/sounds/door-open-3.ogg +0 -0
- package/packs/retro-movement/sounds/jump-1.ogg +0 -0
- package/packs/retro-movement/sounds/jump-2.ogg +0 -0
- package/packs/retro-movement/sounds/jump-3.ogg +0 -0
- package/packs/retro-movement/sounds/menu-select-1.ogg +0 -0
- package/packs/retro-movement/sounds/menu-select-2.ogg +0 -0
- package/packs/retro-movement/sounds/pause-in-2.ogg +0 -0
- package/packs/retro-movement/sounds/pause-in-3.ogg +0 -0
- package/packs/retro-movement/sounds/pause-in.ogg +0 -0
- package/packs/retro-movement/sounds/pause-out.ogg +0 -0
- package/packs/retro-movement/sounds/portal-1.ogg +0 -0
- package/packs/retro-movement/sounds/portal-2.ogg +0 -0
- package/packs/retro-movement/sounds/portal-3.ogg +0 -0
- package/packs/retro-movement/sounds/portal-4.ogg +0 -0
- package/packs/retro-weapons/manifest.json +57 -0
- package/packs/retro-weapons/openpeon.json +117 -0
- package/packs/retro-weapons/sounds/death-android-2.ogg +0 -0
- package/packs/retro-weapons/sounds/death-android.ogg +0 -0
- package/packs/retro-weapons/sounds/death-human-1.ogg +0 -0
- package/packs/retro-weapons/sounds/death-human-2.ogg +0 -0
- package/packs/retro-weapons/sounds/death-robot.ogg +0 -0
- package/packs/retro-weapons/sounds/explosion-1.ogg +0 -0
- package/packs/retro-weapons/sounds/explosion-2.ogg +0 -0
- package/packs/retro-weapons/sounds/explosion-long.ogg +0 -0
- package/packs/retro-weapons/sounds/explosion-soft.ogg +0 -0
- package/packs/retro-weapons/sounds/impact-1.ogg +0 -0
- package/packs/retro-weapons/sounds/impact-2.ogg +0 -0
- package/packs/retro-weapons/sounds/impact-3.ogg +0 -0
- package/packs/retro-weapons/sounds/interact-1.ogg +0 -0
- package/packs/retro-weapons/sounds/interact-2.ogg +0 -0
- package/packs/retro-weapons/sounds/interact-3.ogg +0 -0
- package/packs/retro-weapons/sounds/shot-1.ogg +0 -0
- package/packs/retro-weapons/sounds/shot-2.ogg +0 -0
- package/packs/retro-weapons/sounds/shot-3.ogg +0 -0
- package/packs/warzone2100-command/openpeon.json +137 -0
- package/packs/wesnoth-combat/openpeon.json +122 -0
- package/packs/xonotic-announcer/openpeon.json +107 -0
- package/src/cli/cesp.js +101 -0
- package/src/packs.js +66 -9
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cesp_version": "1.0",
|
|
3
|
+
"name": "retro-weapons",
|
|
4
|
+
"display_name": "8-bit weapons, explosions, death screams, and impacts",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"license": "CC0-1.0",
|
|
7
|
+
"author": {
|
|
8
|
+
"name": "Juhani Junkala / SubspaceAudio (https://opengameart.org/content/512-sound-effects-8-bit-style)"
|
|
9
|
+
},
|
|
10
|
+
"categories": {
|
|
11
|
+
"task.acknowledge": {
|
|
12
|
+
"sounds": [
|
|
13
|
+
{
|
|
14
|
+
"file": "sounds/interact-1.ogg",
|
|
15
|
+
"label": "interact 1",
|
|
16
|
+
"sha256": "e44d5f728bcf3a14f9df6de95a4e14e46641a06b4e424bb55abe0c8931e437c8"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"file": "sounds/interact-2.ogg",
|
|
20
|
+
"label": "interact 2",
|
|
21
|
+
"sha256": "667c5819bedf71f8a3093c42a2c34f57f4e9374465467926c2ab9c19469b9455"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"file": "sounds/interact-3.ogg",
|
|
25
|
+
"label": "interact 3",
|
|
26
|
+
"sha256": "044eb499f95da40387fc8162e54e72d9b9187d91db4eb3a4e2250b89c19cf598"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"file": "sounds/shot-1.ogg",
|
|
30
|
+
"label": "shot 1",
|
|
31
|
+
"sha256": "20ab631115003f4a6b46a8e5c802ab8b9e119b8be941573d36ef54782c36507b"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"input.required": {
|
|
36
|
+
"sounds": [
|
|
37
|
+
{
|
|
38
|
+
"file": "sounds/shot-2.ogg",
|
|
39
|
+
"label": "shot 2",
|
|
40
|
+
"sha256": "0632200d74c0516c54caf448320feb4320700e973ccfc48a97d199d2b6a2ce51"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"file": "sounds/shot-3.ogg",
|
|
44
|
+
"label": "shot 3",
|
|
45
|
+
"sha256": "7d5861ea07e3baf787845f58fb2bf91a9883c33b2b357fd35603cd3e4d94cf88"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"file": "sounds/impact-1.ogg",
|
|
49
|
+
"label": "impact 1",
|
|
50
|
+
"sha256": "a85433ec27b1236a47916b2c84606090d466edaacd6c373076a5bd199a293cf7"
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
"task.complete": {
|
|
55
|
+
"sounds": [
|
|
56
|
+
{
|
|
57
|
+
"file": "sounds/explosion-long.ogg",
|
|
58
|
+
"label": "explosion long",
|
|
59
|
+
"sha256": "bded1817168aa729166a262fa5bc6d48a15c4a1e43ea9eed101463617fc1d5b3"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"file": "sounds/explosion-soft.ogg",
|
|
63
|
+
"label": "explosion soft",
|
|
64
|
+
"sha256": "0c2e36a2d3d121aa47b901f9ad3c0b8346a0c899af0113784133d3581ec6dc92"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"file": "sounds/impact-2.ogg",
|
|
68
|
+
"label": "impact 2",
|
|
69
|
+
"sha256": "731fe4be43292ee6715a7de561f8a24fbdecfdec5c0999a7a457eb516c6833a0"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
"task.error": {
|
|
74
|
+
"sounds": [
|
|
75
|
+
{
|
|
76
|
+
"file": "sounds/explosion-1.ogg",
|
|
77
|
+
"label": "explosion 1",
|
|
78
|
+
"sha256": "2b0f21e6495f41dbbd29f4f72965a487d4556198d880be252ce7e23f05ccbd44"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"file": "sounds/explosion-2.ogg",
|
|
82
|
+
"label": "explosion 2",
|
|
83
|
+
"sha256": "dd87545859a82ba5259316b08e04567ed43739bd6582ff44ec16e337d5463ed3"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"file": "sounds/death-human-1.ogg",
|
|
87
|
+
"label": "death human 1",
|
|
88
|
+
"sha256": "d02ae1a3997d181d8267cbc97edb9aa78aa731f73df5c9c484ee38fc4f1c4970"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"file": "sounds/death-human-2.ogg",
|
|
92
|
+
"label": "death human 2",
|
|
93
|
+
"sha256": "3acf60a316cf4febf51b67e6611baeaeebc30fad1f660bc4c1cf5b601e34b12a"
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
"resource.limit": {
|
|
98
|
+
"sounds": [
|
|
99
|
+
{
|
|
100
|
+
"file": "sounds/death-android.ogg",
|
|
101
|
+
"label": "death android",
|
|
102
|
+
"sha256": "5b62a245b4308d653717c8556f4218da94366b4e1b01bda3398ad9eccdf5d306"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"file": "sounds/death-robot.ogg",
|
|
106
|
+
"label": "death robot",
|
|
107
|
+
"sha256": "10c236cb275039e978416fb14d491c5108b33da43c6143a945c37417e2a815a1"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"file": "sounds/impact-3.ogg",
|
|
111
|
+
"label": "impact 3",
|
|
112
|
+
"sha256": "fab6953b8a809df9a86d679822c03c717f71f9fea1b56ac684565a823f2175c5"
|
|
113
|
+
}
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cesp_version": "1.0",
|
|
3
|
+
"name": "warzone2100-command",
|
|
4
|
+
"display_name": "Sci-fi military commander voice lines from Warzone 2100",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"license": "GPL-2.0",
|
|
7
|
+
"author": {
|
|
8
|
+
"name": "Warzone 2100 Project (https://github.com/Warzone2100/warzone2100)"
|
|
9
|
+
},
|
|
10
|
+
"categories": {
|
|
11
|
+
"task.acknowledge": {
|
|
12
|
+
"sounds": [
|
|
13
|
+
{
|
|
14
|
+
"file": "sounds/research-completed.ogg",
|
|
15
|
+
"label": "research completed",
|
|
16
|
+
"sha256": "03ac42308bedb2dcf5e4674bd6500e6a586340df52ddacc0cf4c89395d322bc1"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"file": "sounds/construction-completed.ogg",
|
|
20
|
+
"label": "construction completed",
|
|
21
|
+
"sha256": "91009e61f3ba8c5f8fdfdaeae1f1c32bfc0506604de973dd8c54546a890a3ce4"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"file": "sounds/production-completed.ogg",
|
|
25
|
+
"label": "production completed",
|
|
26
|
+
"sha256": "f7d7d5fcb80db77da3ab1b4a8a85b3511b2e0de4b1ff63aa1047dbbb9b91dd73"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"file": "sounds/design-completed.ogg",
|
|
30
|
+
"label": "design completed",
|
|
31
|
+
"sha256": "09594de5033aab3f3106c33ec0ab24333bc5f8847e4fb8614e7b73e3ce244924"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"file": "sounds/unit-repaired.ogg",
|
|
35
|
+
"label": "unit repaired",
|
|
36
|
+
"sha256": "d5ec096f284e4f80f9d1a70e81762a8a1a1dffcc5018f82fc24f00928d048c84"
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"input.required": {
|
|
41
|
+
"sounds": [
|
|
42
|
+
{
|
|
43
|
+
"file": "sounds/incoming-transmission.ogg",
|
|
44
|
+
"label": "incoming transmission",
|
|
45
|
+
"sha256": "dbc29f1830f3b93f965617f5080e866f6f7297668bb2590a7f492d263e001fdd"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"file": "sounds/mission-objective.ogg",
|
|
49
|
+
"label": "mission objective",
|
|
50
|
+
"sha256": "14ca9d4cf25da6c4ce1cfea323e075c9c1c54318200dc47771bd80df01f3d073"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"file": "sounds/mission-update.ogg",
|
|
54
|
+
"label": "mission update",
|
|
55
|
+
"sha256": "b75c2f11c81c9a298770f35eedbe3757e60eb427ee7fee115e18d990c60c0327"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"file": "sounds/new-research-available.ogg",
|
|
59
|
+
"label": "new research available",
|
|
60
|
+
"sha256": "4341c4838796baf35c7e384ef8e10cb0d5fb9c4a909d10f98b927bd1510b2651"
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
"task.complete": {
|
|
65
|
+
"sounds": [
|
|
66
|
+
{
|
|
67
|
+
"file": "sounds/mission-successful.ogg",
|
|
68
|
+
"label": "mission successful",
|
|
69
|
+
"sha256": "a13c5e5606552b86e0e014e1f75cb36e2512f850c8d25807105bbeb166be304c"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"file": "sounds/major-research-completed.ogg",
|
|
73
|
+
"label": "major research completed",
|
|
74
|
+
"sha256": "54752f579b0d4f72a2931122ee4035184ec4e1f111cdb1baf3769a6c5e48d9f3"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"file": "sounds/reinforcements-available.ogg",
|
|
78
|
+
"label": "reinforcements available",
|
|
79
|
+
"sha256": "4e124cc7976132e836d589f9460531c485f1212402b16f4d2480537d2be52f29"
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
"task.error": {
|
|
84
|
+
"sounds": [
|
|
85
|
+
{
|
|
86
|
+
"file": "sounds/structure-under-attack.ogg",
|
|
87
|
+
"label": "structure under attack",
|
|
88
|
+
"sha256": "56b214a7aaf7b1d025bbdd09511f30cdb437e409d52d68b41ba22692eb0a81ca"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"file": "sounds/power-low.ogg",
|
|
92
|
+
"label": "power low",
|
|
93
|
+
"sha256": "a86c2f8b5250251197ca548b33c5c9c4440ff845bd77f8bdad3007d3655f2e63"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"file": "sounds/mission-failed.ogg",
|
|
97
|
+
"label": "mission failed",
|
|
98
|
+
"sha256": "d2f30c1eff871fb25ba715bdc66c6f5aac28145a6ea12f1309026e8e622fd632"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"file": "sounds/production-cancelled.ogg",
|
|
102
|
+
"label": "production cancelled",
|
|
103
|
+
"sha256": "7b2df5b169a9dd22bf48409f42f14967505e1188f9073c451806cdadc47f59ce"
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
"resource.limit": {
|
|
108
|
+
"sounds": [
|
|
109
|
+
{
|
|
110
|
+
"file": "sounds/enemy-detected.ogg",
|
|
111
|
+
"label": "enemy detected",
|
|
112
|
+
"sha256": "068870137275bc3f2abd75fa96a82d956235c5e368500cdce0c5dd8c2858fa3b"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"file": "sounds/incoming-enemy-transport.ogg",
|
|
116
|
+
"label": "incoming enemy transport",
|
|
117
|
+
"sha256": "16eb59edade6fedd849ec5964940df8ccf9cd3c343a897ca28f37798c6cf10fe"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"file": "sounds/retreat-heavy-damage.ogg",
|
|
121
|
+
"label": "retreat heavy damage",
|
|
122
|
+
"sha256": "245ef4b2fcf3caf363ad67401c4a1fa82f31b77a61b7c4f77540d25e103e2667"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"file": "sounds/nexus-laugh1.ogg",
|
|
126
|
+
"label": "nexus laugh1",
|
|
127
|
+
"sha256": "7ce6c273104306f29defbf1111ae98244b8ccbd19bf8086b791b931835bea4de"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"file": "sounds/nexus-laugh2.ogg",
|
|
131
|
+
"label": "nexus laugh2",
|
|
132
|
+
"sha256": "dd67aafdb6483c1c7d76b0680e1dc1990103beec4f6a312f55986d55457c99bc"
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cesp_version": "1.0",
|
|
3
|
+
"name": "wesnoth-combat",
|
|
4
|
+
"display_name": "Fantasy combat and magic sounds from Battle for Wesnoth",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"license": "GPL-2.0-or-later",
|
|
7
|
+
"author": {
|
|
8
|
+
"name": "Battle for Wesnoth contributors (https://github.com/wesnoth/wesnoth) — licensed under GPL v2+"
|
|
9
|
+
},
|
|
10
|
+
"categories": {
|
|
11
|
+
"task.acknowledge": {
|
|
12
|
+
"sounds": [
|
|
13
|
+
{
|
|
14
|
+
"file": "sounds/gold.ogg",
|
|
15
|
+
"label": "gold",
|
|
16
|
+
"sha256": "f146dda0c8e176414d30131e5220e30fdaadda0373c172858f61a01f918656bf"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"file": "sounds/sword-1.ogg",
|
|
20
|
+
"label": "sword 1",
|
|
21
|
+
"sha256": "c5409ef75599e766b1ec451b25b4af838ca5de6c089a722dfa55fa3e18b49bfe"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"file": "sounds/bow.ogg",
|
|
25
|
+
"label": "bow",
|
|
26
|
+
"sha256": "ab7310f71e0751ac83a1d253e25a147195d61b1f2fac54dcb394ff300db17f80"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"file": "sounds/crossbow.ogg",
|
|
30
|
+
"label": "crossbow",
|
|
31
|
+
"sha256": "23d9dc768616e54cff1e6cbbed6ee149a46ca7f234951f178d60025ae97aaf33"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"file": "sounds/hatchet.ogg",
|
|
35
|
+
"label": "hatchet",
|
|
36
|
+
"sha256": "15d8dbc7624abdb0783e3bfa1ae19064f88df518337800deb48f76027b0e1960"
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"input.required": {
|
|
41
|
+
"sounds": [
|
|
42
|
+
{
|
|
43
|
+
"file": "sounds/open-chest.ogg",
|
|
44
|
+
"label": "open chest",
|
|
45
|
+
"sha256": "27a9ce6b8069cef3b01a99be358824604d836d7676b446ff13d18e34119ed542"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"file": "sounds/potion.ogg",
|
|
49
|
+
"label": "potion",
|
|
50
|
+
"sha256": "15db919af1b4e3403831cd6bbd7f53047be4b1f67759ccd39e87c5d1af4f4ffe"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"file": "sounds/magic-holy-1.ogg",
|
|
54
|
+
"label": "magic holy 1",
|
|
55
|
+
"sha256": "f97694eedfddf3a8e5d472e6736372b11350b69ef194fd39e248cd44c447e67b"
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
"task.complete": {
|
|
60
|
+
"sounds": [
|
|
61
|
+
{
|
|
62
|
+
"file": "sounds/fanfare-short.ogg",
|
|
63
|
+
"label": "fanfare short",
|
|
64
|
+
"sha256": "84ccd8dba30591e9783d739ad2cb48a121c3ceadb0fda55d797939a4ec186b18"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"file": "sounds/heal.ogg",
|
|
68
|
+
"label": "heal",
|
|
69
|
+
"sha256": "b97e5de5821226f01e7aec1b809c06024508584560fa91fb1010d03f5f05165b"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"file": "sounds/dwarf-laugh.ogg",
|
|
73
|
+
"label": "dwarf laugh",
|
|
74
|
+
"sha256": "4e2a253beb2775fc054f9ae1ebdb975d9e79b2ee6153f166ecc32a079f5e5897"
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
"task.error": {
|
|
79
|
+
"sounds": [
|
|
80
|
+
{
|
|
81
|
+
"file": "sounds/explosion.ogg",
|
|
82
|
+
"label": "explosion",
|
|
83
|
+
"sha256": "47a393b24510a46b79938b07e244a43700ceb0bdd57024ac89d3f10c0d8477f9"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"file": "sounds/flame-big.ogg",
|
|
87
|
+
"label": "flame big",
|
|
88
|
+
"sha256": "1a053353cc5e97e560479c898856002392797e2d2c8682a3550bc2b3b6164074"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"file": "sounds/lightning.ogg",
|
|
92
|
+
"label": "lightning",
|
|
93
|
+
"sha256": "70de34b9df3625aad10ade1a285ffd34bd6d921c5c7c44d7ccf4d38cce15ab06"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"file": "sounds/magic-dark.ogg",
|
|
97
|
+
"label": "magic dark",
|
|
98
|
+
"sha256": "e0edc82604dca720365008c7a30ecf13042bbc7c42bf119ec9114572ce4c80cb"
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
"resource.limit": {
|
|
103
|
+
"sounds": [
|
|
104
|
+
{
|
|
105
|
+
"file": "sounds/wolf-growl-1.ogg",
|
|
106
|
+
"label": "wolf growl 1",
|
|
107
|
+
"sha256": "dc5a84ff49593eac86fd0c82bb03cc3ed45407ebb330d36463e3e082e9d39c76"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"file": "sounds/gryphon-shriek-1.ogg",
|
|
111
|
+
"label": "gryphon shriek 1",
|
|
112
|
+
"sha256": "b31438b0d58956f413314d83947f091f90d30b4ff52e41c6ed753ccae0d6c4e3"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"file": "sounds/magic-missile-1.ogg",
|
|
116
|
+
"label": "magic missile 1",
|
|
117
|
+
"sha256": "2ae1b5d83509edfb67d051540e59d206f7eb8d9ce260e13e9a9d54365323a2f0"
|
|
118
|
+
}
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cesp_version": "1.0",
|
|
3
|
+
"name": "xonotic-announcer",
|
|
4
|
+
"display_name": "Arena FPS announcer voice lines from Xonotic",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"license": "GPL-2.0-or-later",
|
|
7
|
+
"author": {
|
|
8
|
+
"name": "Xonotic Project (https://github.com/xonotic/xonotic-data.pk3dir)"
|
|
9
|
+
},
|
|
10
|
+
"categories": {
|
|
11
|
+
"task.acknowledge": {
|
|
12
|
+
"sounds": [
|
|
13
|
+
{
|
|
14
|
+
"file": "sounds/awesome.ogg",
|
|
15
|
+
"label": "awesome",
|
|
16
|
+
"sha256": "a75cf21a39d7faadffe3e2f17b2d0ca0149bab71a31561a7424a149419ca8565"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"file": "sounds/amazing.ogg",
|
|
20
|
+
"label": "amazing",
|
|
21
|
+
"sha256": "54bc110c31bfb8ea9323cdf9df47826672393aca967421debb601b4d551e20c6"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"file": "sounds/impressive.ogg",
|
|
25
|
+
"label": "impressive",
|
|
26
|
+
"sha256": "294cef5c449dec7592bc52054e203d5d85277361f7af6da1077a9c4fcd95d340"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"file": "sounds/airshot.ogg",
|
|
30
|
+
"label": "airshot",
|
|
31
|
+
"sha256": "c07e53928cd4a7e5ef2d56862a43da4f3fafe0b28ddf91554a24174b56e3d527"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"input.required": {
|
|
36
|
+
"sounds": [
|
|
37
|
+
{
|
|
38
|
+
"file": "sounds/prepareforbattle.ogg",
|
|
39
|
+
"label": "prepareforbattle",
|
|
40
|
+
"sha256": "20651628c3edf90b414fa8aa063e7568819ff820506920b4a8e86c78c7a336ad"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"file": "sounds/begin.ogg",
|
|
44
|
+
"label": "begin",
|
|
45
|
+
"sha256": "8bce8664a5735a4df20a7a2667cfeee9d4723238b979db6e87a3f0887050b812"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"file": "sounds/1fragleft.ogg",
|
|
49
|
+
"label": "1fragleft",
|
|
50
|
+
"sha256": "e1522f8e929369ba4c6f8134598c22caccbbd61439e17ee3a23e165d754580e6"
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
"task.complete": {
|
|
55
|
+
"sounds": [
|
|
56
|
+
{
|
|
57
|
+
"file": "sounds/yoda.ogg",
|
|
58
|
+
"label": "yoda",
|
|
59
|
+
"sha256": "a8bef88c6f1813713f7c1de014b077975a6502f8d0eb87bd223577a299cdce9a"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"file": "sounds/botlike.ogg",
|
|
63
|
+
"label": "botlike",
|
|
64
|
+
"sha256": "2a05e921c609b5c6be9d74b10bb29e65ada70a89e4d448409bf17a09605dee38"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"file": "sounds/leadgained.ogg",
|
|
68
|
+
"label": "leadgained",
|
|
69
|
+
"sha256": "f9c1516d185020ca088f14b9ae38709a09f11fbc6acd80fbd610d7022fe5f0cc"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
"task.error": {
|
|
74
|
+
"sounds": [
|
|
75
|
+
{
|
|
76
|
+
"file": "sounds/terminated.ogg",
|
|
77
|
+
"label": "terminated",
|
|
78
|
+
"sha256": "823553d052e624aaa47f13235906cef52a9a4f74fdc3b323cc2f2a83c77b82bd"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"file": "sounds/headshot.ogg",
|
|
82
|
+
"label": "headshot",
|
|
83
|
+
"sha256": "571f39f1543a3bbd23d2712845ba7da6d782f24cd370ceffb9912f57a198ee92"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"file": "sounds/electrobitch.ogg",
|
|
87
|
+
"label": "electrobitch",
|
|
88
|
+
"sha256": "c562648da52d97b775a15610b8284aed6cf283bb7266f0d45f7c0063655cc7af"
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
"resource.limit": {
|
|
93
|
+
"sounds": [
|
|
94
|
+
{
|
|
95
|
+
"file": "sounds/lastsecond.ogg",
|
|
96
|
+
"label": "lastsecond",
|
|
97
|
+
"sha256": "7a0c2f948af8f94bed17ff68a9eb3a45a16a0c75df25cb41ea5ab2106da0cb3b"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"file": "sounds/narrowly.ogg",
|
|
101
|
+
"label": "narrowly",
|
|
102
|
+
"sha256": "f8d42b5290e1ffd655fbce86c7b3a2021ac146d5afedd464f1d6568b4cc13a53"
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
package/src/cli/cesp.js
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { readFileSync, writeFileSync, existsSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { createHash } from 'node:crypto';
|
|
4
|
+
import { resolvePack, listPacks } from '../packs.js';
|
|
5
|
+
|
|
6
|
+
const PINGTHINGS_TO_CESP = {
|
|
7
|
+
done: 'task.acknowledge',
|
|
8
|
+
permission: 'input.required',
|
|
9
|
+
complete: 'task.complete',
|
|
10
|
+
error: 'task.error',
|
|
11
|
+
blocked: 'resource.limit',
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
function showHelp() {
|
|
15
|
+
console.log(`
|
|
16
|
+
Usage: pingthings cesp [pack|--all]
|
|
17
|
+
|
|
18
|
+
Generate CESP-compatible openpeon.json for a pack.
|
|
19
|
+
Makes your packs work with any CESP-compatible tool (PeonPing, etc.)
|
|
20
|
+
|
|
21
|
+
Arguments:
|
|
22
|
+
pack Generate for a specific pack
|
|
23
|
+
--all Generate for all built-in packs
|
|
24
|
+
|
|
25
|
+
Examples:
|
|
26
|
+
pingthings cesp 7kaa-soldiers Generate for one pack
|
|
27
|
+
pingthings cesp --all Generate for all packs
|
|
28
|
+
`);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function generateCesp(packName) {
|
|
32
|
+
const pack = resolvePack(packName);
|
|
33
|
+
if (!pack || !pack.manifest) {
|
|
34
|
+
console.error(`Pack not found: ${packName}`);
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const m = pack.manifest;
|
|
39
|
+
const categories = {};
|
|
40
|
+
|
|
41
|
+
for (const [pingEvent, cespEvent] of Object.entries(PINGTHINGS_TO_CESP)) {
|
|
42
|
+
const eventSounds = m.events?.[pingEvent] || [];
|
|
43
|
+
if (eventSounds.length === 0) continue;
|
|
44
|
+
|
|
45
|
+
categories[cespEvent] = {
|
|
46
|
+
sounds: eventSounds.map(file => {
|
|
47
|
+
const fullPath = join(pack.dir, file);
|
|
48
|
+
let sha256 = '';
|
|
49
|
+
try {
|
|
50
|
+
const data = readFileSync(fullPath);
|
|
51
|
+
sha256 = createHash('sha256').update(data).digest('hex');
|
|
52
|
+
} catch {}
|
|
53
|
+
|
|
54
|
+
return {
|
|
55
|
+
file,
|
|
56
|
+
label: file.split('/').pop().replace(/\.\w+$/, '').replace(/[-_]/g, ' '),
|
|
57
|
+
...(sha256 ? { sha256 } : {}),
|
|
58
|
+
};
|
|
59
|
+
}),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const cesp = {
|
|
64
|
+
cesp_version: '1.0',
|
|
65
|
+
name: m.name,
|
|
66
|
+
display_name: m.description,
|
|
67
|
+
version: m.version || '1.0.0',
|
|
68
|
+
license: m.license,
|
|
69
|
+
author: {
|
|
70
|
+
name: m.credits || 'Unknown',
|
|
71
|
+
},
|
|
72
|
+
categories,
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const outPath = join(pack.dir, 'openpeon.json');
|
|
76
|
+
writeFileSync(outPath, JSON.stringify(cesp, null, 2) + '\n', 'utf8');
|
|
77
|
+
console.log(` Generated: ${outPath}`);
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export default function cesp(args) {
|
|
82
|
+
if (args.includes('--help') || args.includes('-h') || args.length === 0) {
|
|
83
|
+
showHelp();
|
|
84
|
+
if (args.length === 0) process.exit(1);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (args.includes('--all')) {
|
|
89
|
+
console.log('\nGenerating CESP manifests for all packs:\n');
|
|
90
|
+
const packs = listPacks();
|
|
91
|
+
for (const pack of packs) {
|
|
92
|
+
if (pack.isBuiltIn) {
|
|
93
|
+
generateCesp(pack.name);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
console.log('\nDone.\n');
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
generateCesp(args[0]);
|
|
101
|
+
}
|