Merge branch 'main' of ssh://git.gieszer.link:2222/unfa/liblast

feature_graphics_settings
Pablo Pozo Escalona 2021-12-11 16:44:07 +01:00
commit 005b131e8d
48 changed files with 3021 additions and 2187 deletions

2
.gitignore vendored
View File

@ -11,7 +11,7 @@ export_presets.cfg
data_*/
# Ignore godot executable
Godot/godot
Godot/godot*
#Other files
Video/

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Session version="6000" name="Announcer" sample-rate="48000" end-is-free="1" session-range-is-free="1" id-counter="13163" name-counter="2" event-counter="0" vca-counter="1">
<ProgramVersion created-with="Ardour 6.6-87-ge236c2ab0f" modified-with="Ardour 6.8"/>
<Session version="6000" name="Announcer" sample-rate="48000" end-is-free="1" session-range-is-free="1" id-counter="17146" name-counter="2" event-counter="0" vca-counter="1">
<ProgramVersion created-with="Ardour 6.6-87-ge236c2ab0f" modified-with="Ardour 6.9"/>
<MIDIPorts>
<Port name="MIDI Clock out" direction="output"/>
<Port name="MMC in" direction="input"/>
@ -97,6 +97,7 @@
<Source name="Announcer-30.wav" take-id="2021-04-10 01.27.09" type="audio" flags="" id="1809" timestamp="1618010829" natural-position="31716988" captured-for="Announcer" channel="0" origin="" gain="1"/>
<Source name="Announcer-31.wav" take-id="2021-04-10 01.28.06" type="audio" flags="" id="1843" timestamp="1618010886" natural-position="36097659" captured-for="Announcer" channel="0" origin="" gain="1"/>
<Source name="Announcer-32.wav" take-id="2021-04-10 01.28.16" type="audio" flags="" id="1875" timestamp="1618010896" natural-position="37741403" captured-for="Announcer" channel="0" origin="" gain="1"/>
<Source name="Announcer-33.wav" take-id="2021-12-06 19.11.47" type="audio" flags="" id="14967" timestamp="1638814307" natural-position="38408394" captured-for="Announcer" channel="0" origin="" gain="1"/>
</Sources>
<Regions>
<Region name="Announcer-1" muted="0" opaque="1" locked="0" video-locked="0" automatic="1" whole-file="1" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="0" length="660985" position="0" beat="0" sync-position="0" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="0" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="301" type="audio" first-edit="nothing" source-0="289" master-source-0="289" channels="1"/>
@ -164,10 +165,23 @@
<Region name="Announcer-15.3" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="571548" length="960477" position="11807131" beat="491.96379166666662" sync-position="571548" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="13" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="9771" type="audio" first-edit="nothing" source-0="943" master-source-0="943" channels="1"/>
<Region name="Announcer-15.4" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="571548" length="65040" position="11807131" beat="491.96379166666662" sync-position="571548" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="13" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="9793" type="audio" first-edit="nothing" source-0="943" master-source-0="943" channels="1"/>
<Region name="Announcer-13.3" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="0" length="149095" position="9931519" beat="413.81329166666666" sync-position="0" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="10" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="12642" type="audio" first-edit="nothing" source-0="789" master-source-0="789" channels="1"/>
<Region name="Announcer-33" muted="0" opaque="1" locked="0" video-locked="0" automatic="1" whole-file="1" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="0" length="839664" position="38408394" beat="0" sync-position="0" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="0" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="15184" type="audio" first-edit="nothing" source-0="14967" master-source-0="14967" channels="1"/>
<Region name="Announcer-33.1" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="0" length="839664" position="38408394" beat="1600.3497499999999" sync-position="0" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="44" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="15192" type="audio" first-edit="nothing" source-0="14967" master-source-0="14967" channels="1"/>
<Region name="Announcer-33.2" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="0" length="618443" position="38408394" beat="1600.3497499999999" sync-position="0" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="44" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="15215" type="audio" first-edit="nothing" source-0="14967" master-source-0="14967" channels="1"/>
<Region name="Announcer-33.3" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="618443" length="221221" position="39059237" beat="1627.4682083333332" sync-position="618443" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="45" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="15224" type="audio" first-edit="nothing" source-0="14967" master-source-0="14967" channels="1"/>
<Region name="Announcer-33.4" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="618443" length="20450" position="39059237" beat="1627.4682083333332" sync-position="618443" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="45" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="15252" type="audio" first-edit="nothing" source-0="14967" master-source-0="14967" channels="1"/>
<Region name="Announcer-33.5" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="638893" length="200771" position="39079687" beat="1628.3202916666667" sync-position="638893" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="45" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="15261" type="audio" first-edit="nothing" source-0="14967" master-source-0="14967" channels="1"/>
<Region name="Announcer-33.7" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="699068" length="140596" position="39139862" beat="1630.8275833333332" sync-position="699068" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="46" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="15522" type="audio" first-edit="nothing" source-0="14967" master-source-0="14967" channels="1"/>
<Region name="Announcer-33.8" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="699068" length="450" position="39139862" beat="1630.8275833333332" sync-position="699068" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="46" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="15544" type="audio" first-edit="nothing" source-0="14967" master-source-0="14967" channels="1"/>
<Region name="Announcer-33.9" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="699518" length="140146" position="39140312" beat="1630.8463333333334" sync-position="699518" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="46" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="15553" type="audio" first-edit="nothing" source-0="14967" master-source-0="14967" channels="1"/>
<Region name="Announcer-33.10" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="699518" length="4750" position="39140312" beat="1630.8463333333334" sync-position="699518" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="46" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="15807" type="audio" first-edit="nothing" source-0="14967" master-source-0="14967" channels="1"/>
<Region name="Announcer-33.11" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="704268" length="135396" position="39145062" beat="1631.0442499999999" sync-position="704268" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="47" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="15816" type="audio" first-edit="nothing" source-0="14967" master-source-0="14967" channels="1"/>
<Region name="Announcer-33.12" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="704268" length="500" position="39145062" beat="1631.0442499999999" sync-position="704268" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="47" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="15838" type="audio" first-edit="nothing" source-0="14967" master-source-0="14967" channels="1"/>
<Region name="Announcer-33.14" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="0" length="217143" position="38408394" beat="1600.3497499999999" sync-position="0" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="44" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="16822" type="audio" first-edit="nothing" source-0="14967" master-source-0="14967" channels="1"/>
</Regions>
<Selection/>
<Locations>
<Location id="322" name="session" start="0" end="38066420" flags="IsSessionRange" locked="0" position-lock-style="AudioTime" timestamp="1618009332"/>
<Location id="322" name="session" start="0" end="39280458" flags="IsSessionRange" locked="0" position-lock-style="AudioTime" timestamp="1618009332"/>
<Location id="2914" name="FirstBlood" start="13874569" end="13998985" flags="IsRangeMarker" locked="0" position-lock-style="AudioTime" timestamp="1618012367"/>
<Location id="4082" name="YouSuck" start="16290313" end="16425481" flags="IsRangeMarker" locked="0" position-lock-style="AudioTime" timestamp="1618012686"/>
<Location id="6085" name="Shame" start="36721464" end="36802568" flags="IsRangeMarker" locked="0" position-lock-style="AudioTime" timestamp="1632520286"/>
@ -180,6 +194,7 @@
<Location id="6158" name="EmbarrassingDefeat" start="35103676" end="35217932" flags="IsRangeMarker" locked="0" position-lock-style="AudioTime" timestamp="1632520718"/>
<Location id="10342" name="Payback" start="11805655" end="11884951" flags="IsRangeMarker" locked="0" position-lock-style="AudioTime" timestamp="1632578336"/>
<Location id="13151" name="KernelPanic" start="9988814" end="10081214" flags="IsRangeMarker" locked="0" position-lock-style="AudioTime" timestamp="1635449655"/>
<Location id="17104" name="Welcome" start="39067719" end="39236119" flags="IsRangeMarker" locked="0" position-lock-style="AudioTime" timestamp="1638814400"/>
</Locations>
<Bundles/>
<VCAManager/>
@ -199,10 +214,10 @@
</IO>
<IO name="Master" id="91" direction="Output" default-type="audio">
<Port type="audio" name="Master/audio_out 1">
<Connection other="Scarlett 2i2 Camera Pro:playback_AUX0"/>
<Connection other="system:playback_1"/>
</Port>
<Port type="audio" name="Master/audio_out 2">
<Connection other="Scarlett 2i2 Camera Pro:playback_AUX1"/>
<Connection other="system:playback_2"/>
</Port>
</IO>
<MuteMaster mute-point="PostFader,Listen,Main" muted="0"/>
@ -404,7 +419,9 @@
<Controllable name="solo-iso" id="219" flags="Toggle,RealTime" value="0" solo-isolated="0"/>
<Controllable name="solo-safe" id="221" flags="Toggle" value="0" solo-safe="0"/>
<IO name="Announcer" id="233" direction="Input" default-type="audio">
<Port type="audio" name="Announcer/audio_in 1"/>
<Port type="audio" name="Announcer/audio_in 1">
<Connection other="system:capture_1"/>
</Port>
</IO>
<IO name="Announcer" id="234" direction="Output" default-type="audio">
<Port type="audio" name="Announcer/audio_out 1">
@ -489,7 +506,7 @@
<Controllable name="Octaves" id="2268" flags="" value="0" parameter="3"/>
<Controllable name="Crispness" id="2270" flags="" value="3" parameter="4"/>
<Controllable name="Formant Preserving" id="2272" flags="Toggle" value="0" parameter="5"/>
<Controllable name="Faster" id="2274" flags="Toggle" value="0" parameter="6"/>
<Controllable name="Wet-Dry Mix" id="2274" flags="Toggle" value="0" parameter="6"/>
</Processor>
<Processor id="270" name="ACE Compressor" active="1" user-latency="0" use-user-latency="0" type="lv2" unique-id="urn:ardour:a-comp" count="1" custom="0">
<Automation>
@ -829,7 +846,7 @@
</Route>
</Routes>
<Playlists>
<Playlist id="244" name="Announcer.1" type="audio" orig-track-id="205" pgroup-id="" shared-with-ids="" frozen="0" combine-ops="0">
<Playlist id="244" name="Announcer.1" type="audio" orig-track-id="205" pgroup-id="2021-12-06 19.11.47" shared-with-ids="" frozen="0" combine-ops="0">
<Region name="Announcer-3.2" muted="1" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="0" length="398548" position="0" beat="0" sync-position="0" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="0" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="419" type="audio" first-edit="nothing" source-0="374" master-source-0="374" channels="1">
<Envelope>
<AutomationList automation-id="envelope" id="425" interpolation-style="Exponential" state="Off">
@ -2553,7 +2570,7 @@
</AutomationList>
</InverseFadeOut>
</Region>
<Region name="Announcer-13.6" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="61095" length="80800" position="9992614" beat="416.35891666666663" sync-position="55095" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="11" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="12681" type="audio" first-edit="nothing" source-0="789" master-source-0="789" channels="1">
<Region name="Announcer-13.6" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="61095" length="80800" position="9992614" beat="416.35891666666663" sync-position="61095" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="11" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="12681" type="audio" first-edit="nothing" source-0="789" master-source-0="789" channels="1">
<Envelope>
<AutomationList automation-id="envelope" id="12687" interpolation-style="Exponential" state="Off">
<events>0 1.00000022775327
@ -7805,6 +7822,491 @@
60.121212005615234 0.99547192230339399
62.060606002807617 0.99886733911550885
64 1
</events>
</AutomationList>
</InverseFadeOut>
</Region>
<Region name="Announcer-33.15" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="217143" length="401300" position="38625537" beat="1609.397375" sync-position="217143" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="44" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="16831" type="audio" first-edit="nothing" source-0="14967" master-source-0="14967" channels="1">
<Envelope>
<AutomationList automation-id="envelope" id="16837" interpolation-style="Exponential" state="Off">
<events>0 1.0000001351112393
401300 1.0000001000000001
</events>
</AutomationList>
</Envelope>
<FadeIn>
<AutomationList automation-id="fadein" id="16832" interpolation-style="Curved" state="Off">
<events>0 1.0000000116860974e-07
1.9393939971923828 0.047581917240722742
3.8787879943847656 0.095056046128510166
5.8181819915771484 0.14231484248572931
7.7575759887695312 0.18925124993221623
9.6969699859619141 0.23575894240242462
11.636363983154297 0.28173256500817656
13.57575798034668 0.32706797270138427
15.515151977539062 0.37166246619609461
17.454545974731445 0.41541502461541735
19.393939971923828 0.45822653433631649
21.333333969116211 0.50000001351385825
23.272727966308594 0.54064083177629574
25.212121963500977 0.5800569245933096
27.151515960693359 0.6181590018317934
29.090909957885742 0.65486075002673527
31.030303955078125 0.69007902790898956
32.969696044921875 0.72373402244207363
34.909091949462891 0.75574959107584527
36.848487854003906 0.78605314034223239
38.787879943847656 0.81457596850756187
40.727272033691406 0.84125352362782713
42.666667938232422 0.86602541938889765
44.606063842773438 0.88883548505684096
46.545455932617188 0.90963200949777623
48.484848022460938 0.92836792879818764
50.424243927001953 0.94500083077800312
52.363639831542969 0.95949299759422635
54.303031921386719 0.97181157768799009
56.242424011230469 0.98192869618882905
58.181819915771484 0.98982144793751214
60.1212158203125 0.99547193120317901
64 1
</events>
</AutomationList>
</FadeIn>
<InverseFadeIn>
<AutomationList automation-id="fadein" id="16833" interpolation-style="Curved" state="Off">
<events>0 1
3.8787841796875 0.99547193120317901
5.8181800842285156 0.98982144793751214
7.7575759887695312 0.98192869618882905
9.6969680786132812 0.97181157768799009
11.636360168457031 0.95949299759422635
13.575756072998047 0.94500083077800312
15.515151977539062 0.92836792879818764
17.454544067382812 0.90963200949777623
19.393936157226562 0.88883548505684096
21.333332061767578 0.86602541938889765
23.272727966308594 0.84125352362782713
25.212120056152344 0.81457596850756187
27.151512145996094 0.78605314034223239
29.090908050537109 0.75574959107584527
31.030303955078125 0.72373402244207363
32.969696044921875 0.69007902790898956
34.909090042114258 0.65486075002673527
36.848484039306641 0.6181590018317934
38.787878036499023 0.5800569245933096
40.727272033691406 0.54064083177629574
42.666666030883789 0.50000001351385825
44.606060028076172 0.45822653433631649
46.545454025268555 0.41541502461541735
48.484848022460938 0.37166246619609461
50.42424201965332 0.32706797270138427
52.363636016845703 0.28173256500817656
54.303030014038086 0.23575894240242462
56.242424011230469 0.18925124993221623
58.181818008422852 0.14231484248572931
60.121212005615234 0.095056046128510166
62.060606002807617 0.047581917240722742
64 1.0000000116860974e-07
</events>
</AutomationList>
</InverseFadeIn>
<FadeOut>
<AutomationList automation-id="fadeout" id="16834" interpolation-style="Curved" state="Off">
<events>0 1
1.9393939971923828 0.99886733911550885
3.8787879943847656 0.99547192230339399
5.8181819915771484 0.98982144127527472
7.7575759887695312 0.98192869618882905
9.6969699859619141 0.97181156665131863
11.636363983154297 0.9594929712165241
13.57575798034668 0.94500081546684744
15.515151977539062 0.92836792879818764
17.454545974731445 0.90963199005079642
19.393939971923828 0.88883544215458044
21.333333969116211 0.86602539598220885
23.272727966308594 0.84125352362782713
25.212121963500977 0.81457594135313838
27.151515960693359 0.78605308246601313
29.090909957885742 0.75574956041960206
31.030303955078125 0.72373402244207363
32.969696044921875 0.69007902790898956
34.909091949462891 0.65486071464754436
36.848487854003906 0.61815892823618979
38.787879943847656 0.5800568864602571
40.727272033691406 0.54064083177629574
42.666667938232422 0.49999997297228316
44.606063842773438 0.45822645111753457
46.545455932617188 0.41541498203247024
48.484848022460938 0.37166246619609478
50.424243927001953 0.32706792846270311
52.363639831542969 0.28173247517396005
54.303031921386719 0.2357588969086416
56.242424011230469 0.18925124993221634
58.181819915771484 0.1423147961488434
60.1212158203125 0.095055952925701945
64 1.0000000116860974e-07
</events>
</AutomationList>
</FadeOut>
<InverseFadeOut>
<AutomationList automation-id="fadeout" id="16835" interpolation-style="Curved" state="Off">
<events>0 1.0000000116860974e-07
3.8787841796875 0.095055952925701945
5.8181800842285156 0.1423147961488434
7.7575759887695312 0.18925124993221634
9.6969680786132812 0.2357588969086416
11.636360168457031 0.28173247517396005
13.575756072998047 0.32706792846270311
15.515151977539062 0.37166246619609478
17.454544067382812 0.41541498203247024
19.393936157226562 0.45822645111753457
21.333332061767578 0.49999997297228316
23.272727966308594 0.54064083177629574
25.212120056152344 0.5800568864602571
27.151512145996094 0.61815892823618979
29.090908050537109 0.65486071464754436
31.030303955078125 0.69007902790898956
32.969696044921875 0.72373402244207363
34.909090042114258 0.75574956041960206
36.848484039306641 0.78605308246601313
38.787878036499023 0.81457594135313838
40.727272033691406 0.84125352362782713
42.666666030883789 0.86602539598220885
44.606060028076172 0.88883544215458044
46.545454025268555 0.90963199005079642
48.484848022460938 0.92836792879818764
50.42424201965332 0.94500081546684744
52.363636016845703 0.9594929712165241
54.303030014038086 0.97181156665131863
56.242424011230469 0.98192869618882905
58.181818008422852 0.98982144127527472
60.121212005615234 0.99547192230339399
62.060606002807617 0.99886733911550885
64 1
</events>
</AutomationList>
</InverseFadeOut>
</Region>
<Region name="Announcer-33.6" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="638893" length="60175" position="39079687" beat="1628.3202916666667" sync-position="638893" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="45" tags="" contents="0" envelope-active="0" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="15513" type="audio" first-edit="nothing" source-0="14967" master-source-0="14967" channels="1">
<Envelope>
<AutomationList automation-id="envelope" id="15519" interpolation-style="Exponential" state="Off">
<events>0 1.000000190755852
60175 1.0000002335825848
</events>
</AutomationList>
</Envelope>
<FadeIn>
<AutomationList automation-id="fadein" id="15514" interpolation-style="Curved" state="Off">
<events>0 1.0000000116860974e-07
1.9393939971923828 0.047581917240722742
3.8787879943847656 0.095056046128510166
5.8181819915771484 0.14231484248572931
7.7575759887695312 0.18925124993221623
9.6969699859619141 0.23575894240242462
11.636363983154297 0.28173256500817656
13.57575798034668 0.32706797270138427
15.515151977539062 0.37166246619609461
17.454545974731445 0.41541502461541735
19.393939971923828 0.45822653433631649
21.333333969116211 0.50000001351385825
23.272727966308594 0.54064083177629574
25.212121963500977 0.5800569245933096
27.151515960693359 0.6181590018317934
29.090909957885742 0.65486075002673527
31.030303955078125 0.69007902790898956
32.969696044921875 0.72373402244207363
34.909091949462891 0.75574959107584527
36.848487854003906 0.78605314034223239
38.787879943847656 0.81457596850756187
40.727272033691406 0.84125352362782713
42.666667938232422 0.86602541938889765
44.606063842773438 0.88883548505684096
46.545455932617188 0.90963200949777623
48.484848022460938 0.92836792879818764
50.424243927001953 0.94500083077800312
52.363639831542969 0.95949299759422635
54.303031921386719 0.97181157768799009
56.242424011230469 0.98192869618882905
58.181819915771484 0.98982144793751214
60.1212158203125 0.99547193120317901
64 1
</events>
</AutomationList>
</FadeIn>
<InverseFadeIn>
<AutomationList automation-id="fadein" id="15515" interpolation-style="Curved" state="Off">
<events>0 1
3.8787841796875 0.99547193120317901
5.8181800842285156 0.98982144793751214
7.7575759887695312 0.98192869618882905
9.6969680786132812 0.97181157768799009
11.636360168457031 0.95949299759422635
13.575756072998047 0.94500083077800312
15.515151977539062 0.92836792879818764
17.454544067382812 0.90963200949777623
19.393936157226562 0.88883548505684096
21.333332061767578 0.86602541938889765
23.272727966308594 0.84125352362782713
25.212120056152344 0.81457596850756187
27.151512145996094 0.78605314034223239
29.090908050537109 0.75574959107584527
31.030303955078125 0.72373402244207363
32.969696044921875 0.69007902790898956
34.909090042114258 0.65486075002673527
36.848484039306641 0.6181590018317934
38.787878036499023 0.5800569245933096
40.727272033691406 0.54064083177629574
42.666666030883789 0.50000001351385825
44.606060028076172 0.45822653433631649
46.545454025268555 0.41541502461541735
48.484848022460938 0.37166246619609461
50.42424201965332 0.32706797270138427
52.363636016845703 0.28173256500817656
54.303030014038086 0.23575894240242462
56.242424011230469 0.18925124993221623
58.181818008422852 0.14231484248572931
60.121212005615234 0.095056046128510166
62.060606002807617 0.047581917240722742
64 1.0000000116860974e-07
</events>
</AutomationList>
</InverseFadeIn>
<FadeOut>
<AutomationList automation-id="fadeout" id="15516" interpolation-style="Curved" state="Off">
<events>0 1
16.636364132165909 0.99886733911550885
33.272728264331818 0.99547192230339399
49.909092396497726 0.98982144127527472
66.545456528663635 0.98192869618882905
83.181820660829544 0.97181156665131863
99.818184792995453 0.9594929712165241
116.45454892516136 0.94500081546684744
133.09091305732727 0.92836792879818764
149.72727718949318 0.90963199005079642
166.36364132165909 0.88883544215458044
183.000005453825 0.86602539598220885
199.63636958599091 0.84125352362782713
216.27273371815681 0.81457594135313838
232.90909785032272 0.78605308246601313
249.54546198248863 0.75574956041960206
266.18182611465454 0.72373402244207363
282.81817388534546 0.69007902790898956
299.45455437898636 0.65486071464754436
316.09093487262726 0.61815892823618979
332.72728264331818 0.5800568864602571
349.36363041400909 0.54064083177629574
366.00001090764999 0.49999997297228316
382.63639140129089 0.45822645111753457
399.27273917198181 0.41541498203247024
415.90908694267273 0.37166246619609478
432.54546743631363 0.32706792846270311
449.18184792995453 0.28173247517396005
465.81819570064545 0.2357588969086416
482.45454347133636 0.18925124993221634
499.09092396497726 0.1423147961488434
515.72730445861816 0.095055952925701945
549 1.0000000116860974e-07
</events>
</AutomationList>
</FadeOut>
<InverseFadeOut>
<AutomationList automation-id="fadeout" id="15517" interpolation-style="Curved" state="Off">
<events>0 1.0000000116860974e-07
33.272695541381836 0.095055952925701945
49.909076035022736 0.1423147961488434
66.545456528663635 0.18925124993221634
83.181804299354553 0.2357588969086416
99.818152070045471 0.28173247517396005
116.45453256368637 0.32706792846270311
133.09091305732727 0.37166246619609478
149.72726082801819 0.41541498203247024
166.36360859870911 0.45822645111753457
182.99998909235001 0.49999997297228316
199.63636958599091 0.54064083177629574
216.27271735668182 0.5800568864602571
232.90906512737274 0.61815892823618979
249.54544562101364 0.65486071464754436
266.18182611465454 0.69007902790898956
282.81817388534546 0.72373402244207363
299.45453801751137 0.75574956041960206
316.09090214967728 0.78605308246601313
332.72726628184319 0.81457594135313838
349.36363041400909 0.84125352362782713
365.999994546175 0.86602539598220885
382.63635867834091 0.88883544215458044
399.27272281050682 0.90963199005079642
415.90908694267273 0.92836792879818764
432.54545107483864 0.94500081546684744
449.18181520700455 0.9594929712165241
465.81817933917046 0.97181156665131863
482.45454347133636 0.98192869618882905
499.09090760350227 0.98982144127527472
515.72727173566818 0.99547192230339399
532.36363586783409 0.99886733911550885
549 1
</events>
</AutomationList>
</InverseFadeOut>
</Region>
<Region name="Announcer-33.13" muted="0" opaque="1" locked="0" video-locked="0" automatic="0" whole-file="0" import="0" external="0" sync-marked="0" left-of-split="0" right-of-split="0" hidden="0" position-locked="0" valid-transients="0" start="711068" length="79796" position="39151862" beat="1631.3275833333335" sync-position="704768" ancestral-start="0" ancestral-length="0" stretch="1" shift="1" positional-lock-style="AudioTime" layering-index="46" tags="" contents="0" envelope-active="1" default-fade-in="0" default-fade-out="0" fade-in-active="1" fade-out-active="1" scale-amplitude="1" id="15847" type="audio" first-edit="nothing" source-0="14967" master-source-0="14967" channels="1">
<Envelope>
<AutomationList automation-id="envelope" id="15853" interpolation-style="Exponential" state="Off">
<events>0 1.0000005957121172
69986 1.0000003576278687
71086 0.3745371401309967
79796 1.0000003260626111
</events>
</AutomationList>
</Envelope>
<FadeIn>
<AutomationList automation-id="fadein" id="15848" interpolation-style="Curved" state="Off">
<events>0 1.0000000116860974e-07
1.9393939971923828 0.047581917240722742
3.8787879943847656 0.095056046128510166
5.8181819915771484 0.14231484248572931
7.7575759887695312 0.18925124993221623
9.6969699859619141 0.23575894240242462
11.636363983154297 0.28173256500817656
13.57575798034668 0.32706797270138427
15.515151977539062 0.37166246619609461
17.454545974731445 0.41541502461541735
19.393939971923828 0.45822653433631649
21.333333969116211 0.50000001351385825
23.272727966308594 0.54064083177629574
25.212121963500977 0.5800569245933096
27.151515960693359 0.6181590018317934
29.090909957885742 0.65486075002673527
31.030303955078125 0.69007902790898956
32.969696044921875 0.72373402244207363
34.909091949462891 0.75574959107584527
36.848487854003906 0.78605314034223239
38.787879943847656 0.81457596850756187
40.727272033691406 0.84125352362782713
42.666667938232422 0.86602541938889765
44.606063842773438 0.88883548505684096
46.545455932617188 0.90963200949777623
48.484848022460938 0.92836792879818764
50.424243927001953 0.94500083077800312
52.363639831542969 0.95949299759422635
54.303031921386719 0.97181157768799009
56.242424011230469 0.98192869618882905
58.181819915771484 0.98982144793751214
60.1212158203125 0.99547193120317901
64 1
</events>
</AutomationList>
</FadeIn>
<InverseFadeIn>
<AutomationList automation-id="fadein" id="15849" interpolation-style="Curved" state="Off">
<events>0 1
3.8787841796875 0.99547193120317901
5.8181800842285156 0.98982144793751214
7.7575759887695312 0.98192869618882905
9.6969680786132812 0.97181157768799009
11.636360168457031 0.95949299759422635
13.575756072998047 0.94500083077800312
15.515151977539062 0.92836792879818764
17.454544067382812 0.90963200949777623
19.393936157226562 0.88883548505684096
21.333332061767578 0.86602541938889765
23.272727966308594 0.84125352362782713
25.212120056152344 0.81457596850756187
27.151512145996094 0.78605314034223239
29.090908050537109 0.75574959107584527
31.030303955078125 0.72373402244207363
32.969696044921875 0.69007902790898956
34.909090042114258 0.65486075002673527
36.848484039306641 0.6181590018317934
38.787878036499023 0.5800569245933096
40.727272033691406 0.54064083177629574
42.666666030883789 0.50000001351385825
44.606060028076172 0.45822653433631649
46.545454025268555 0.41541502461541735
48.484848022460938 0.37166246619609461
50.42424201965332 0.32706797270138427
52.363636016845703 0.28173256500817656
54.303030014038086 0.23575894240242462
56.242424011230469 0.18925124993221623
58.181818008422852 0.14231484248572931
60.121212005615234 0.095056046128510166
62.060606002807617 0.047581917240722742
64 1.0000000116860974e-07
</events>
</AutomationList>
</InverseFadeIn>
<FadeOut>
<AutomationList automation-id="fadeout" id="15850" interpolation-style="Curved" state="Off">
<events>0 1
88.484851121902466 0.99886733911550885
176.96970224380493 0.99547192230339399
265.4545533657074 0.98982144127527472
353.93940448760986 0.98192869618882905
442.42425560951233 0.97181156665131863
530.90910673141479 0.9594929712165241
619.39395785331726 0.94500081546684744
707.87880897521973 0.92836792879818764
796.36366009712219 0.90963199005079642
884.84851121902466 0.88883544215458044
973.33336234092712 0.86602539598220885
1061.8182134628296 0.84125352362782713
1150.3030645847321 0.81457594135313838
1238.7879157066345 0.78605308246601313
1327.272766828537 0.75574956041960206
1415.7576179504395 0.72373402244207363
1504.2423820495605 0.69007902790898956
1592.7273201942444 0.65486071464754436
1681.2122583389282 0.61815892823618979
1769.6970224380493 0.5800568864602571
1858.1817865371704 0.54064083177629574
1946.6667246818542 0.49999997297228316
2035.1516628265381 0.45822645111753457
2123.6364269256592 0.41541498203247024
2212.1211910247803 0.37166246619609478
2300.6061291694641 0.32706792846270311
2389.0910673141479 0.28173247517396005
2477.575831413269 0.2357588969086416
2566.0605955123901 0.18925124993221634
2654.545533657074 0.1423147961488434
2743.0304718017578 0.095055952925701945
2920 1.0000000116860974e-07
</events>
</AutomationList>
</FadeOut>
<InverseFadeOut>
<AutomationList automation-id="fadeout" id="15851" interpolation-style="Curved" state="Off">
<events>0 1.0000000116860974e-07
176.96952819824219 0.095055952925701945
265.45446634292603 0.1423147961488434
353.93940448760986 0.18925124993221634
442.42416858673096 0.2357588969086416
530.90893268585205 0.28173247517396005
619.39387083053589 0.32706792846270311
707.87880897521973 0.37166246619609478
796.36357307434082 0.41541498203247024
884.84833717346191 0.45822645111753457
973.33327531814575 0.49999997297228316
1061.8182134628296 0.54064083177629574
1150.3029775619507 0.5800568864602571
1238.7877416610718 0.61815892823618979
1327.2726798057556 0.65486071464754436
1415.7576179504395 0.69007902790898956
1504.2423820495605 0.72373402244207363
1592.727233171463 0.75574956041960206
1681.2120842933655 0.78605308246601313
1769.6969354152679 0.81457594135313838
1858.1817865371704 0.84125352362782713
1946.6666376590729 0.86602539598220885
2035.1514887809753 0.88883544215458044
2123.6363399028778 0.90963199005079642
2212.1211910247803 0.92836792879818764
2300.6060421466827 0.94500081546684744
2389.0908932685852 0.9594929712165241
2477.5757443904877 0.97181156665131863
2566.0605955123901 0.98192869618882905
2654.5454466342926 0.98982144127527472
2743.0302977561951 0.99547192230339399
2831.5151488780975 0.99886733911550885
2920 1
</events>
</AutomationList>
</InverseFadeOut>
@ -7822,7 +8324,7 @@
<Automation>
<AutomationList automation-id="gain" id="57" interpolation-style="Exponential" state="Off"/>
</Automation>
<Controllable name="gaincontrol" id="58" flags="GainLike" value="0.28250756859779358"/>
<Controllable name="gaincontrol" id="58" flags="GainLike" value="1"/>
</Processor>
</Click>
<Speakers>
@ -7837,12 +8339,6 @@
<Protocol name="Ableton Push 2" active="0" session-state="0"/>
<Protocol name="ContourDesign" active="0" session-state="0"/>
<Protocol name="Generic MIDI" feedback="0" feedback-interval="10000" threshold="127" motorized="0" binding="M-Audio Oxygen 49" active="0" session-state="0">
<Input>
<Port name="MIDI Control In" direction="input"/>
</Input>
<Output>
<Port name="MIDI Control Out" direction="output"/>
</Output>
<Controls/>
</Protocol>
<Protocol name="Mackie" active="0" session-state="0"/>
@ -7857,28 +8353,6 @@
<Protocol name="WebSockets Server (Experimental)" active="0" session-state="0"/>
</ControlProtocols>
<Extra>
<ExportProfile>
<ExportTimespan format="Timecode">
<Range id="10342"/>
</ExportTimespan>
<ExportChannelConfiguration split="0" channels="1">
<Channel number="1">
<Port name="Master/audio_out 1"/>
</Channel>
</ExportChannelConfiguration>
<ExportFormat id="e1d350da-cf62-4ce4-a3af-9968b01ce78b"/>
<ExportFilename>
<Folder relative="1" path="export"/>
<Field name="label" enabled="0"/>
<Field name="session" enabled="0"/>
<Field name="snapshot" enabled="0"/>
<Field name="timespan" enabled="1"/>
<Field name="revision" enabled="0"/>
<Field name="time" enabled="0" value="T_None"/>
<Field name="date" enabled="0" value="D_None"/>
</ExportFilename>
</ExportProfile>
<ExportRevision revision="1"/>
<RegionExportProfile>
<ExportTimespan format="Timecode">
<Range id="13146"/>
@ -7898,27 +8372,50 @@
<Field name="date" enabled="0" value="D_None"/>
</ExportFilename>
</RegionExportProfile>
<ExportRevision revision="1"/>
<ExportProfile>
<ExportTimespan format="Timecode">
<Range id="17104"/>
</ExportTimespan>
<ExportChannelConfiguration split="0" channels="1">
<Channel number="1">
<Port name="Master/audio_out 1"/>
</Channel>
</ExportChannelConfiguration>
<ExportFormat id="e8644183-5433-4821-afb0-caa13c553734"/>
<ExportFilename>
<Folder relative="1" path="export"/>
<Field name="label" enabled="0"/>
<Field name="session" enabled="0"/>
<Field name="snapshot" enabled="0"/>
<Field name="timespan" enabled="1"/>
<Field name="revision" enabled="0"/>
<Field name="time" enabled="0" value="T_None"/>
<Field name="date" enabled="0" value="D_None"/>
</ExportFilename>
</ExportProfile>
<UI>
<Window name="key-editor" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="session-options-editor" visible="0" x-off="1644" y-off="237" x-size="1920" y-size="1051"/>
<Window name="session-options-editor" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="speaker-config" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="about" visible="0" x-off="0" y-off="0" x-size="424" y-size="610"/>
<Window name="add-routes" visible="0" x-off="-1" y-off="-1" x-size="719" y-size="503"/>
<Window name="add-video" visible="0" x-off="1691" y-off="106" x-size="800" y-size="461"/>
<Window name="about" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="add-routes" visible="0" x-off="-1" y-off="-1" x-size="667" y-size="483"/>
<Window name="add-video" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="inspector" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="audio-midi-setup" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="video-export" visible="0" x-off="1933" y-off="211" x-size="324" y-size="87"/>
<Window name="script-manager" visible="0" x-off="2243" y-off="424" x-size="446" y-size="403"/>
<Window name="video-export" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="script-manager" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="bundle-manager" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="locations" visible="0" x-off="2163" y-off="0" x-size="1920" y-size="1006"/>
<Window name="locations" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="big-clock" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="big-transport" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="virtual-keyboard" visible="0" x-off="2008" y-off="338" x-size="750" y-size="188"/>
<Window name="virtual-keyboard" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="audio-connection-manager" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="midi-connection-manager" visible="0" x-off="1923" y-off="32" x-size="1262" y-size="864"/>
<Window name="midi-connection-manager" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="idle-o-meter" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="plugin-dsp-load" visible="0" x-off="2236" y-off="252" x-size="1920" y-size="1051"/>
<Window name="dsp-statistics" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="plugin-manager" visible="0" x-off="2184" y-off="480" x-size="646" y-size="600"/>
<Window name="plugin-dsp-load" visible="0" x-off="2239" y-off="416" x-size="1920" y-size="1051"/>
<Window name="dsp-statistics" visible="0" x-off="2136" y-off="361" x-size="316" y-size="257"/>
<Window name="transport-masters" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="RPM-62" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>
<Window name="RPM-205" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1"/>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<instant>
<LastUsedSnapshot name="Announcer"/>
<Main x="1920" y="0" w="1920" h="1051" current-tab="editor"/>
<Editor id="42" edit-horizontal-pane-pos="0.89999997615814209" notebook-shrunk="0" edit-vertical-pane-pos="0.89999997615814209" mixer-width="Wide" zoom-focus="ZoomFocusPlayhead" zoom="1600" grid-type="GridTypeBeat" snap-mode="SnapOff" internal-grid-type="GridTypeBeat" internal-snap-mode="SnapMagnetic" pre-internal-grid-type="GridTypeBeat" pre-internal-snap-mode="SnapOff" edit-point="EditAtMouse" visible-track-count="-1" playhead="12957614" left-frame="12108814" y-origin="0" maximised="0" follow-playhead="0" stationary-playhead="0" mouse-mode="MouseObject" join-object-range="0" show-editor-mixer="1" show-editor-list="0" editor-list-page="5" show-marker-lines="0" show-touched-automation="0" nudge-clock-value="240000">
<Main x="0" y="0" w="1920" h="1003" current-tab="editor"/>
<Editor id="42" edit-horizontal-pane-pos="0.89999997615814209" notebook-shrunk="0" edit-vertical-pane-pos="0.89999997615814209" mixer-width="Wide" zoom-focus="ZoomFocusPlayhead" zoom="1600" grid-type="GridTypeBeat" snap-mode="SnapOff" internal-grid-type="GridTypeBeat" internal-snap-mode="SnapMagnetic" pre-internal-grid-type="GridTypeBeat" pre-internal-snap-mode="SnapOff" edit-point="EditAtMouse" visible-track-count="-1" playhead="39126919" left-frame="38544919" y-origin="0" maximised="0" follow-playhead="1" stationary-playhead="0" mouse-mode="MouseObject" join-object-range="0" show-editor-mixer="1" show-editor-list="0" editor-list-page="5" show-marker-lines="0" show-touched-automation="0" nudge-clock-value="240000">
<Window name="Editor" visible="0" x-off="-1" y-off="-1" x-size="-1" y-size="-1" tabbed="1"/>
<Buttons>
<Press/>
<Release/>
</Buttons>
<Selection>
<StripableView id="62"/>
<Marker id="13151" start="0"/>
<Marker id="17104" start="1"/>
</Selection>
<RegionList/>
<EditorLocations clock-mode="Timecode"/>

Binary file not shown.

View File

@ -1,19 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="96"
height="96"
viewBox="0 0 25.399999 25.400001"
version="1.1"
id="svg8"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
sodipodi:docname="HeathBarEmpty.svg">
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
sodipodi:docname="BarOver.svg"
inkscape:export-filename="../../Game/Assets/HUD/BarOver.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs2" />
<sodipodi:namedview
@ -23,9 +26,9 @@
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="85.752294"
inkscape:cy="55.305259"
inkscape:zoom="0.9899495"
inkscape:cx="258.59905"
inkscape:cy="112.12693"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
@ -33,10 +36,11 @@
units="px"
inkscape:snap-global="false"
inkscape:window-width="1920"
inkscape:window-height="1006"
inkscape:window-x="0"
inkscape:window-height="1051"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1">
inkscape:window-maximized="1"
inkscape:pagecheckerboard="0">
<inkscape:grid
type="xygrid"
id="grid833"
@ -50,7 +54,6 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -1,19 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="96"
height="96"
viewBox="0 0 25.399999 25.400001"
version="1.1"
id="svg8"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
sodipodi:docname="HeathBarProgress.svg">
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
sodipodi:docname="BarProgress.svg"
inkscape:export-filename="../../Game/Assets/HUD/BarProgress.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs2" />
<sodipodi:namedview
@ -24,8 +27,8 @@
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="85.752294"
inkscape:cy="55.305259"
inkscape:cx="85.862966"
inkscape:cy="55.305851"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
@ -36,7 +39,8 @@
inkscape:window-height="1051"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1">
inkscape:window-maximized="1"
inkscape:pagecheckerboard="0">
<inkscape:grid
type="xygrid"
id="grid833"
@ -50,7 +54,6 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -1,19 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="96"
height="96"
viewBox="0 0 25.399999 25.400001"
version="1.1"
id="svg8"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
sodipodi:docname="HeathBarUnder.svg">
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
sodipodi:docname="BarUnder.svg"
inkscape:export-filename="../../Game/Assets/HUD/BarUnder.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs2" />
<sodipodi:namedview
@ -24,8 +27,8 @@
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="85.752294"
inkscape:cy="55.305259"
inkscape:cx="85.862966"
inkscape:cy="55.305851"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
@ -36,7 +39,8 @@
inkscape:window-height="1051"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1">
inkscape:window-maximized="1"
inkscape:pagecheckerboard="0">
<inkscape:grid
type="xygrid"
id="grid833"
@ -50,7 +54,6 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -1,19 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="96"
height="96"
viewBox="0 0 25.399999 25.400001"
version="1.1"
id="svg8"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
sodipodi:docname="Panel.svg">
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
sodipodi:docname="Panel.svg"
inkscape:export-filename="../../Game/Assets/HUD/Panel.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs2" />
<sodipodi:namedview
@ -24,8 +27,8 @@
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="85.752294"
inkscape:cy="55.305259"
inkscape:cx="85.862966"
inkscape:cy="55.305851"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
@ -36,7 +39,8 @@
inkscape:window-height="1051"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1">
inkscape:window-maximized="1"
inkscape:pagecheckerboard="0">
<inkscape:grid
type="xygrid"
id="grid833"
@ -50,7 +54,6 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

1
Game/.gitignore vendored
View File

@ -1,2 +1,3 @@
*.godot/*
Builds/*/*
version

View File

@ -10,6 +10,7 @@ extends AudioStreamPlayer
@onready var firstblood = preload("res://Assets/Announcer/FirstBlood.wav")
@onready var yousuck = preload("res://Assets/Announcer/YouSuck.wav")
@onready var payback = preload("res://Assets/Announcer/Payback.wav")
@onready var welcome = preload("res://Assets/Announcer/Welcome.wav")
# Declare member variables here. Examples:
# var a = 2
# var b = "text"

BIN
Game/Assets/Announcer/Welcome.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,22 @@
[remap]
importer="wav"
type="AudioStreamSample"
uid="uid://cjcuiy25r46qi"
path="res://.godot/imported/Welcome.wav-05c3c9b3de9973208b1ea2871c78fc0d.sample"
[deps]
source_file="res://Assets/Announcer/Welcome.wav"
dest_files=["res://.godot/imported/Welcome.wav-05c3c9b3de9973208b1ea2871c78fc0d.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop=false
compress/mode=0

View File

@ -2,7 +2,7 @@
[ext_resource type="Script" path="res://Assets/Characters/Player.gd" id="1"]
[ext_resource type="PackedScene" uid="uid://bemrov0tiy08n" path="res://Assets/Weapons/Weapon.tscn" id="3"]
[ext_resource type="Texture2D" uid="uid://cguy76rs8e220" path="res://Assets/Effects/Flame.png" id="3_jw7jd"]
[ext_resource type="Texture2D" uid="uid://pnh872qjk0oy" path="res://Assets/Effects/Flame.png" id="3_jw7jd"]
[ext_resource type="AudioStream" uid="uid://bmjh522fpxeee" path="res://Assets/SFX/Player_Jetpack.wav" id="4_k24if"]
[ext_resource type="AudioStream" uid="uid://3kb1cqt6lcaq" path="res://Assets/SFX/Player_Spawn.wav" id="5_bmajs"]
[ext_resource type="PackedScene" uid="uid://c5cwnfuw4go1b" path="res://Assets/Audio/SoundPlayer.tscn" id="5_yiom2"]
@ -66,7 +66,7 @@ _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
offsets = PackedFloat32Array(0, 0.0888031, 0.227799, 0.393822, 1)
colors = PackedColorArray(0, 0, 0, 1, 0.671875, 0.946167, 1, 1, 0.996185, 1, 0.511719, 1, 1, 0.732788, 0.222656, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture" id="GradientTexture_nta0d"]
[sub_resource type="GradientTexture1D" id="GradientTexture_nta0d"]
gradient = SubResource( "Gradient_fu53v" )
width = 128
@ -86,7 +86,7 @@ collision_friction = 1.0
offsets = PackedFloat32Array(0, 0.186757, 1)
colors = PackedColorArray(0, 0, 0, 1, 4, 4, 4, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture" id="GradientTexture_h65ov"]
[sub_resource type="GradientTexture1D" id="GradientTexture_h65ov"]
gradient = SubResource( "Gradient_niqb5" )
[sub_resource type="ParticlesMaterial" id="ParticlesMaterial_lo734"]
@ -144,11 +144,11 @@ curve = SubResource( "Curve_gq708" )
resource_name = "01"
length = 0.5
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("PainSFX")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"clips": [{
"end_offset": 0.0,
@ -162,11 +162,11 @@ tracks/0/keys = {
resource_name = "02"
length = 0.5
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("PainSFX")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"clips": [{
"end_offset": 0.271473,
@ -180,11 +180,11 @@ tracks/0/keys = {
resource_name = "03"
length = 0.5
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("PainSFX")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"clips": [{
"end_offset": 0.216568,
@ -198,11 +198,11 @@ tracks/0/keys = {
resource_name = "04"
length = 0.5
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("PainSFX")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"clips": [{
"end_offset": 0.0,
@ -234,72 +234,57 @@ script = ExtResource( "1" )
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.852763, 0)
layers = 2
mesh = SubResource( "1" )
surface_material_override/0 = null
script = null
[node name="Head" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.45276, 0)
script = null
[node name="Camera" type="Camera3D" parent="Head"]
fov = 90.0
script = null
[node name="Hand" type="Node3D" parent="Head/Camera"]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0.3, -0.4, -0.6)
script = null
[node name="Weapon" parent="Head/Camera/Hand" instance=ExtResource( "3" )]
[node name="Tween" type="Node" parent="Head/Camera"]
script = null
[node name="RayCast3D" type="RayCast3D" parent="Head/Camera"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.77099e-07, 0, -0.742805)
target_position = Vector3(0, 0, -1000)
collision_mask = 2
script = null
[node name="GPUParticlesCollisionSphere" type="GPUParticlesCollisionSphere" parent="."]
transform = Transform3D(1, 0, 0, 0, 2.16632, 0, 0, 0, 1, 0.00910211, 0.760577, 0.00278068)
layers = 7
radius = 0.549216
script = null
[node name="Body" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.852763, 0)
shape = SubResource( "2" )
script = null
[node name="Feet" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.252763, 0)
shape = SubResource( "3" )
disabled = true
script = null
[node name="GroundCheck" type="RayCast3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.952763, 0)
target_position = Vector3(0, -1.1, 0)
debug_shape_thickness = 5.0
script = null
[node name="ClimbCheck" type="RayCast3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.60905, -0.5)
visible = false
enabled = false
target_position = Vector3(0, -1.35, 0)
script = null
[node name="ClimbTween" type="Node" parent="."]
script = null
[node name="Jetpack" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.93832, 0.5022)
layers = 2
material_override = SubResource( "StandardMaterial3D_y4s21" )
mesh = SubResource( "CylinderMesh_8yana" )
surface_material_override/0 = null
script = null
[node name="OmniLight3D" type="OmniLight3D" parent="Jetpack"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.68079, 0)
@ -310,7 +295,6 @@ light_size = 0.46
light_specular = 0.27
shadow_enabled = true
shadow_blur = 0.85
script = null
[node name="GPUParticles3D" type="CPUParticles3D" parent="Jetpack"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.45039, 0.00259888)
@ -333,7 +317,6 @@ scale_amount_curve = SubResource( "Curve_elwjc" )
color_ramp = SubResource( "Gradient_fu53v" )
anim_offset_min = -100.0
anim_offset_max = 100.0
script = null
[node name="GPUParticles3D2" type="GPUParticles3D" parent="Jetpack"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.45039, 0.00259888)
@ -343,7 +326,6 @@ lifetime = 3.0
local_coords = false
process_material = SubResource( "ParticlesMaterial_px65a" )
draw_pass_1 = SubResource( "QuadMesh_355ks" )
script = null
[node name="JetpackSound" type="AudioStreamPlayer3D" parent="Jetpack"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.444909, 0)
@ -353,12 +335,10 @@ unit_size = 4.0
max_db = -12.0
pitch_scale = 3.0
doppler_tracking = 2
script = null
[node name="SpawnSFX" type="AudioStreamPlayer3D" parent="."]
stream = ExtResource( "5_bmajs" )
autoplay = true
script = null
[node name="SpawnVFX" type="GPUParticles3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.918712, 0)
@ -375,7 +355,6 @@ trail_enabled = true
trail_length_secs = 0.35
process_material = SubResource( "ParticlesMaterial_lo734" )
draw_pass_1 = SubResource( "RibbonTrailMesh_34621" )
script = null
[node name="Pain" type="AnimationPlayer" parent="."]
root_node = NodePath(".")
@ -383,8 +362,6 @@ anims/01 = SubResource( "Animation_r1ffi" )
anims/02 = SubResource( "Animation_dc3si" )
anims/03 = SubResource( "Animation_uiuci" )
anims/04 = SubResource( "Animation_66hai" )
blend_times = []
script = null
[node name="PainSFX" type="AudioStreamPlayer3D" parent="Pain"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.29486, 0)
@ -392,7 +369,6 @@ stream = ExtResource( "9_bobut" )
max_db = 0.0
attenuation_filter_cutoff_hz = 10000.0
attenuation_filter_db = -8.0
script = null
[node name="JumpSFX" parent="." instance=ExtResource( "5_yiom2" )]
@ -404,7 +380,5 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
layers = 4
cast_shadow = 0
mesh = SubResource( "QuadMesh_nhjmb" )
surface_material_override/0 = null
script = null
[editable path="JumpSFX"]

View File

@ -0,0 +1,13 @@
[gd_scene load_steps=3 format=3 uid="uid://bkromihd82ufg"]
[ext_resource type="Texture2D" uid="uid://d24tv4e0dptk0" path="res://Assets/Effects/Logo.png" id="1_ecf88"]
[ext_resource type="Script" path="res://Assets/Decals/Logo.gd" id="2_cwoln"]
[node name="Logo" type="Decal"]
transform = Transform3D(-0.856436, -0.965923, -2.4869e-13, -3.19626, 0.258819, 2.89283e-07, -2.79426e-07, 2.26266e-08, -3.30902, 32.0208, -8.71308, 13.8818)
extents = Vector3(1, 0.0327708, 1)
texture_emission = ExtResource( "1_ecf88" )
emission_energy = 2.0
albedo_mix = 0.0
cull_mask = 1
script = ExtResource( "2_cwoln" )

View File

@ -0,0 +1,14 @@
[gd_scene load_steps=4 format=3 uid="uid://bk1wgcptqyxmk"]
[ext_resource type="Texture2D" uid="uid://4fe0w7db5jy7" path="res://Assets/Decals/Puddle_Albedo.png" id="1_l38n8"]
[ext_resource type="Texture2D" uid="uid://bw47ok2363v8p" path="res://Assets/Decals/Puddle_Normal.png" id="2_wur0t"]
[ext_resource type="Texture2D" uid="uid://daphvbx7ktd4p" path="res://Assets/Decals/Puddle_ORM.png" id="3_yfbgs"]
[node name="Puddle" type="Decal"]
transform = Transform3D(0.965926, 3.60267e-09, -0.258819, -0.258819, -3.45404e-08, -0.965926, 1.73827e-08, 1, -3.83592e-08, -1.30654, 0.350086, -3.57002)
extents = Vector3(2, 1, 2)
texture_albedo = ExtResource( "1_l38n8" )
texture_normal = ExtResource( "2_wur0t" )
texture_orm = ExtResource( "3_yfbgs" )
albedo_mix = 0.5
cull_mask = 1

BIN
Game/Assets/HUD/BarOver.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -2,16 +2,16 @@
importer="texture"
type="StreamTexture2D"
uid="uid://dvt25wji1pdyl"
path="res://.godot/imported/BarOver.svg-3e206b7d7b36feafb9ac8b93edd2c46b.stex"
uid="uid://csoue1u7vfgqq"
path="res://.godot/imported/BarOver.png-4bb83742cc440e7f56824926a9390967.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/HUD/BarOver.svg"
dest_files=["res://.godot/imported/BarOver.svg-3e206b7d7b36feafb9ac8b93edd2c46b.stex"]
source_file="res://Assets/HUD/BarOver.png"
dest_files=["res://.godot/imported/BarOver.png-4bb83742cc440e7f56824926a9390967.stex"]
[params]

BIN
Game/Assets/HUD/BarProgress.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -2,16 +2,16 @@
importer="texture"
type="StreamTexture2D"
uid="uid://0j6rxd7ncmu1"
path="res://.godot/imported/BarProgress.svg-38f8fe7383fae81cc6603349ccd802d9.stex"
uid="uid://w4j1crvoxo5y"
path="res://.godot/imported/BarProgress.png-0b444d9bd476c52ab1b0b86642a87fc6.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/HUD/BarProgress.svg"
dest_files=["res://.godot/imported/BarProgress.svg-38f8fe7383fae81cc6603349ccd802d9.stex"]
source_file="res://Assets/HUD/BarProgress.png"
dest_files=["res://.godot/imported/BarProgress.png-0b444d9bd476c52ab1b0b86642a87fc6.stex"]
[params]

BIN
Game/Assets/HUD/BarUnder.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -2,16 +2,16 @@
importer="texture"
type="StreamTexture2D"
uid="uid://ck4exwgifde4n"
path="res://.godot/imported/BarUnder.svg-95ef68273b3476991eb89e9f1df4b93d.stex"
uid="uid://dsd5k6q1nayd8"
path="res://.godot/imported/BarUnder.png-1ff1383ad18c6292e27baf14156898f8.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/HUD/BarUnder.svg"
dest_files=["res://.godot/imported/BarUnder.svg-95ef68273b3476991eb89e9f1df4b93d.stex"]
source_file="res://Assets/HUD/BarUnder.png"
dest_files=["res://.godot/imported/BarUnder.png-1ff1383ad18c6292e27baf14156898f8.stex"]
[params]

View File

@ -14,7 +14,7 @@ var pain: float = 0:
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
pass
func game_over(winner):
scoretab(true, winner)

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=24 format=3 uid="uid://bs80rhfpgh2m2"]
[ext_resource type="Texture2D" uid="uid://blnjjtjifk22i" path="res://Assets/HUD/Vignette.png" id="1"]
[ext_resource type="Texture2D" uid="uid://dlw3sb5tygqf4" path="res://Assets/HUD/Vignette.png" id="1"]
[ext_resource type="Script" path="res://Assets/HUD/HUD.gd" id="1_wc430"]
[ext_resource type="Shader" uid="uid://bet2pthddt01v" path="res://Assets/HUD/HUD.tres" id="2_djyym"]
[ext_resource type="Texture2D" uid="uid://dim1jrwuiy4qt" path="res://Assets/HUD/Crosshair Baseline.png" id="3_r05jh"]
@ -12,17 +12,17 @@
[ext_resource type="AudioStream" uid="uid://bllgajqussdi5" path="res://Assets/SFX/HUD_Confirm_Kill.wav" id="5_hh74r"]
[ext_resource type="Script" path="res://Assets/HUD/Chat.gd" id="6"]
[ext_resource type="Theme" uid="uid://ddtu7o1dbp0s8" path="res://Assets/HUD/Theme.tres" id="7"]
[ext_resource type="Texture2D" uid="uid://ck4exwgifde4n" path="res://Assets/HUD/BarUnder.svg" id="9_q07oy"]
[ext_resource type="Texture2D" uid="uid://dsd5k6q1nayd8" path="res://Assets/HUD/BarUnder.png" id="9_q07oy"]
[ext_resource type="AudioStream" uid="uid://d36o2duyrij57" path="res://Assets/SFX/UI_Message.wav" id="9_ubwxw"]
[ext_resource type="Texture2D" uid="uid://dvt25wji1pdyl" path="res://Assets/HUD/BarOver.svg" id="10_5i332"]
[ext_resource type="Texture2D" uid="uid://0j6rxd7ncmu1" path="res://Assets/HUD/BarProgress.svg" id="11_tlgqu"]
[ext_resource type="Texture2D" uid="uid://csoue1u7vfgqq" path="res://Assets/HUD/BarOver.png" id="10_5i332"]
[ext_resource type="Texture2D" uid="uid://w4j1crvoxo5y" path="res://Assets/HUD/BarProgress.png" id="11_tlgqu"]
[ext_resource type="Script" path="res://Assets/HUD/Performance.gd" id="17_getmp"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dxk5q"]
resource_local_to_scene = true
shader = ExtResource( "2_djyym" )
shader_param/Depth = 0.33
shader_param/Damage = 0.0
shader_param/Depth = 0.33
[sub_resource type="Animation" id="1"]
resource_name = "Default"

BIN
Game/Assets/HUD/Panel.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -2,16 +2,16 @@
importer="texture"
type="StreamTexture2D"
uid="uid://duxv0vin55qyy"
path="res://.godot/imported/Panel.svg-123d44a61e9822e83e9dafcfaffa99a9.stex"
uid="uid://dc4mgdw6fq0li"
path="res://.godot/imported/Panel.png-810456b6ab083e5a12357aaab5033a32.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/HUD/Panel.svg"
dest_files=["res://.godot/imported/Panel.svg-123d44a61e9822e83e9dafcfaffa99a9.stex"]
source_file="res://Assets/HUD/Panel.png"
dest_files=["res://.godot/imported/Panel.png-810456b6ab083e5a12357aaab5033a32.stex"]
[params]

View File

@ -5,10 +5,15 @@ extends Label
# var b = "text"
@onready var main = get_tree().root.get_node("Main")
var version: String # game build version
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
OS.execute('bash', ["./version.sh"])
var file = File.new()
file.open("res://version", File.READ)
version = file.get_as_text()
file.close()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
@ -34,4 +39,4 @@ func _process(delta):
text += "\nFPS: " + str(Engine.get_frames_per_second())
text += "\nLiblast 0.1.1 pre-alpha"
text += "\n" + version + " · https://git.gieszer.link/unfa/liblast"

View File

@ -1,4 +1,3 @@
[gd_scene format=2]
[gd_scene format=3 uid="uid://n3ktc2gomi2p"]
[node name="SpawnPoint" type="Position3D"]
script = null

34
Game/Assets/Maps/DM1.tscn Normal file
View File

@ -0,0 +1,34 @@
[gd_scene load_steps=3 format=3 uid="uid://b7txmrrvh1q4e"]
[ext_resource type="PackedScene" uid="uid://b1078bn8gy2qf" path="res://Map.tscn" id="1_5amr5"]
[ext_resource type="PackedScene" uid="uid://k4alrsehhfbc" path="res://Assets/Maps/DM1/DM1.glb" id="2_ov63e"]
[node name="Map" instance=ExtResource( "1_5amr5" )]
[node name="Camera" parent="." index="0"]
transform = Transform3D(-4.2222e-08, 0.258819, -0.965926, 1.13133e-08, 0.965926, 0.258819, 1, 0, -4.37114e-08, -53, -19, 0)
[node name="LightmapGI" parent="Lighting" index="2"]
environment_mode = 1
[node name="Prototype" parent="Geometry" index="0"]
visible = false
use_collision = false
[node name="DM1" parent="Geometry" index="1" instance=ExtResource( "2_ov63e" )]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -33, 0)
[node name="Collision" parent="Geometry/DM1" index="32"]
visible = false
[node name="GPUParticlesCollisionSDF" parent="ParticlesCollision" index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16, -5, 0)
extents = Vector3(57, 48, 36)
[node name="ReflectionProbe" parent="ReflectionProbes" index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.12948, 0)
[node name="SpawnPoint1" parent="SpawnPoints" index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5, 0)
[editable path="Geometry/DM1"]

Binary file not shown.

View File

@ -3,7 +3,7 @@
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://w476ulvte1f6"
uid="uid://k4alrsehhfbc"
path="res://.godot/imported/DM1.glb-9d0a731111d6eea69d0dd97fe5ed5e9b.scn"
[deps]
@ -17,19 +17,19 @@ nodes/root_type="Node3D"
nodes/root_name="Scene Root"
nodes/root_scale=1.0
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/generate_lods=false
meshes/create_shadow_meshes=true
meshes/light_baking=2
meshes/lightmap_texel_size=0.1
skins/use_named_skins=true
animation/import=true
animation/bake_reset_animation=true
animation/fps=15
import_script/path=""
_subresources={
"nodes": {
"PATH:Main": {
"generate/physics": 1
"PATH:Collision": {
"generate/physics": true,
"physics/shape_type": 2
}
}
}

View File

@ -0,0 +1,39 @@
[gd_scene load_steps=3 format=3 uid="uid://b7txmrrvh1q4e"]
[ext_resource type="PackedScene" uid="uid://b1078bn8gy2qf" path="res://Map.tscn" id="1_5amr5"]
[ext_resource type="Material" uid="uid://dsq5f4ams7ibh" path="res://Assets/Materials/World/Development/dev.tres" id="2_ejjx1"]
[node name="Map" instance=ExtResource( "1_5amr5" )]
[node name="CSGBox3D2" type="CSGBox3D" parent="Geometry/Prototype" index="1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 7)
size = Vector3(16, 4, 2)
material = ExtResource( "2_ejjx1" )
[node name="CSGBox3D4" type="CSGBox3D" parent="Geometry/Prototype" index="2"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 7, 5, 0)
size = Vector3(16, 4, 2)
material = ExtResource( "2_ejjx1" )
[node name="CSGBox3D5" type="CSGBox3D" parent="Geometry/Prototype" index="3"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -7, 5, 0)
size = Vector3(16, 4, 2)
material = ExtResource( "2_ejjx1" )
[node name="CSGBox3D6" type="CSGBox3D" parent="Geometry/Prototype" index="4"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 9, 0)
size = Vector3(16, 4, 16)
material = ExtResource( "2_ejjx1" )
[node name="CSGBox3D3" type="CSGBox3D" parent="Geometry/Prototype" index="5"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -7)
size = Vector3(16, 4, 2)
material = ExtResource( "2_ejjx1" )
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Geometry/Prototype" index="6"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 11, 0)
operation = 2
radius = 4.0
height = 8.0
sides = 32
material = ExtResource( "2_ejjx1" )

View File

@ -0,0 +1,51 @@
[gd_scene load_steps=3 format=3 uid="uid://dmm7a508ui0v7"]
[ext_resource type="PackedScene" uid="uid://b1078bn8gy2qf" path="res://Map.tscn" id="1_qyuew"]
[ext_resource type="Material" uid="uid://dsq5f4ams7ibh" path="res://Assets/Materials/World/Development/dev.tres" id="2_ogcoq"]
[node name="Map" instance=ExtResource( "1_qyuew" )]
[node name="Sun" parent="." index="2"]
transform = Transform3D(-0.5, 0.433013, -0.75, 0.648114, 0.761506, 0.00757993, 0.574412, -0.482295, -0.661395, 0, 32, 0)
light_color = Color(1, 0.298039, 0.0823529, 1)
[node name="CSGBox3D" parent="Geometry/Prototype" index="0"]
size = Vector3(16, 2, 40)
[node name="CSGBox3D2" type="CSGBox3D" parent="Geometry/Prototype" index="1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 19)
size = Vector3(16, 10, 2)
material = ExtResource( "2_ogcoq" )
[node name="CSGBox3D4" type="CSGBox3D" parent="Geometry/Prototype" index="2"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 7, 5, 7)
size = Vector3(24, 4, 2)
material = ExtResource( "2_ogcoq" )
[node name="CSGBox3D5" type="CSGBox3D" parent="Geometry/Prototype" index="3"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -7, 5, 0)
size = Vector3(22, 4, 2)
material = ExtResource( "2_ogcoq" )
[node name="CSGBox3D6" type="CSGBox3D" parent="Geometry/Prototype" index="4"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 13, 0)
size = Vector3(16, 4, 34)
material = ExtResource( "2_ogcoq" )
[node name="CSGBox3D7" type="CSGBox3D" parent="Geometry/Prototype" index="5"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, -5, 0)
size = Vector3(16, 2, 22)
material = ExtResource( "2_ogcoq" )
[node name="CSGBox3D3" type="CSGBox3D" parent="Geometry/Prototype" index="6"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -12)
size = Vector3(16, 10, 2)
material = ExtResource( "2_ogcoq" )
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Geometry/Prototype" index="7"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 11, 0)
operation = 2
radius = 4.0
height = 28.0
sides = 32
material = ExtResource( "2_ogcoq" )

View File

@ -0,0 +1,10 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://dsq5f4ams7ibh"]
[ext_resource type="Texture2D" uid="uid://ccue6q8bujhlw" path="res://Assets/Maps/Materials/dev_materials/textures/dev_grey_dark.png" id="1_d20po"]
[resource]
albedo_texture = ExtResource( "1_d20po" )
roughness = 0.37
uv1_triplanar = true
uv1_triplanar_sharpness = 0.0118415
uv1_world_triplanar = true

View File

@ -102,9 +102,9 @@ func set_fullscreen(is_fullscreen):
func set_lighting(is_enabled):
var map = get_tree().get_root().get_node("Main").get_node("Map")
map.get_node("Lights").visible = is_enabled
map.get_node("Decals").visible = is_enabled
map.get_node("ReflectionProbes").visible = is_enabled
#map.get_node("Lights").visible = is_enabled
#map.get_node("Decals").visible = is_enabled
#map.get_node("ReflectionProbes").visible = is_enabled
func set_ambient_occlusion(is_enabled):
# TODO

View File

@ -1,4 +1,11 @@
extends "res://Assets/UI/Menu.gd"
func on_visibility_changed():
if visible:
$SuicideButton.visible = (Main.role != Main.MultiplayerRole.NONE)
func commit_suicide():
Main.commit_suicide()
func host_button_pressed():
Main.host_server()

View File

@ -10,7 +10,7 @@ script = ExtResource( "2_pgqlf" )
[node name="HostButton" parent="." index="0" instance=ExtResource( "2_oo0fl" )]
anchor_right = 0.0
anchor_bottom = 0.0
offset_right = 73.0
offset_right = 250.0
offset_bottom = 29.0
text = "host"
label = "host"
@ -19,7 +19,7 @@ label = "host"
anchor_right = 0.0
anchor_bottom = 0.0
offset_top = 33.0
offset_right = 73.0
offset_right = 250.0
offset_bottom = 62.0
text = "connect"
label = "connect"
@ -28,15 +28,27 @@ label = "connect"
anchor_right = 0.0
anchor_bottom = 0.0
offset_top = 66.0
offset_right = 73.0
offset_right = 250.0
offset_bottom = 95.0
text = "profile"
label = "profile"
[node name="Back" parent="." index="3"]
[node name="SuicideButton" parent="." index="3" instance=ExtResource( "2_oo0fl" )]
anchor_right = 0.0
anchor_bottom = 0.0
offset_top = 99.0
offset_right = 250.0
offset_bottom = 128.0
theme_override_font_sizes/font_size = 16
text = "commit suicide"
label = "commit suicide"
[node name="Back" parent="." index="4"]
offset_top = 132.0
offset_bottom = 161.0
[connection signal="visibility_changed" from="." to="." method="on_visibility_changed"]
[connection signal="pressed" from="HostButton" to="." method="host_button_pressed"]
[connection signal="pressed" from="ConnectButton" to="." method="open_menu" binds= ["res://Assets/UI/ConnectMenu.tscn"]]
[connection signal="pressed" from="ProfileButton" to="." method="open_menu" binds= ["res://Assets/UI/ProfileMenu.tscn"]]
[connection signal="pressed" from="SuicideButton" to="." method="commit_suicide"]

View File

@ -235,7 +235,7 @@ func update_hud():
scores.reverse()
var rank = scores.find(score) + 1
scores.remove(scores.find(score))
scores.remove_at(scores.find(score))
scores.sort()
scores.reverse()
@ -418,6 +418,10 @@ func start_dedicated_server(): # start server without creating a local player
func host_server():
_on_Host_pressed()
func commit_suicide():
local_player.rpc(&"die", local_player.get_multiplayer_authority())
focus = GameFocus.GAME
func connect_to_server(ip):
$NetworkTesting/Host.disabled = true
$NetworkTesting/Connect.disabled = true
@ -499,6 +503,8 @@ func _ready() -> void:
if OS.get_cmdline_args().has("--dedicated-server"):
start_dedicated_server()
$Announcer.speak($Announcer.welcome)
func change_player_color(color):
if get_tree().multiplayer.has_multiplayer_peer():

View File

@ -175,8 +175,8 @@ nodes/fragment/connections = PackedInt32Array(2, 0, 4, 0, 8, 0, 9, 0, 9, 0, 7, 2
[sub_resource type="ShaderMaterial" id="ShaderMaterial_4ynd0"]
resource_local_to_scene = true
shader = SubResource( "VisualShader_nmuki" )
shader_param/Depth = 0.33
shader_param/Damage = 0.0
shader_param/Depth = 0.33
[node name="Main" type="Node"]
script = ExtResource( "3" )
@ -267,10 +267,6 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="LightmapProbe" type="LightmapProbe" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 17, 0)
visible = false
[node name="Announcer" type="AudioStreamPlayer" parent="."]
stream = ExtResource( "5_ilayd" )
bus = &"Announcer"

File diff suppressed because one or more lines are too long

View File

@ -6,7 +6,7 @@
; [section] ; section goes between []
; param=value ; assign values to parameters
config_version=4
config_version=5
_global_script_classes=[{
"base": "StandardMaterial3D",
@ -39,6 +39,7 @@ boot_splash/fullsize=false
boot_splash/use_filter=false
boot_splash/bg_color=Color(0, 0, 0, 1)
config/icon="res://Assets/Effects/Logo.png"
config/features=PackedStringArray("4.0")
[autoload]
@ -172,13 +173,18 @@ screenshot={
[layer_names]
3d_render/layer_1="Map Geometry"
3d_render/layer_2="Character Models"
3d_render/layer_3="Effects"
3d_physics/layer_1="World"
3d_physics/layer_2="Players"
3d_render/layer_1="Static"
3d_render/layer_2="Dynamic"
3d_render/layer_3="Players"
3d_physics/layer_1="Solid"
3d_physics/layer_2="SemiSolid"
3d_physics/layer_3="Pickups"
3d_physics/layer_4="Decoration"
3d_physics/layer_4="PlayersOnly"
3d_physics/layer_5="FireOnly"
3d_physics/layer_6="RedTeamPlayersOnly"
3d_physics/layer_7="BlueTeamPlayersOnly"
3d_physics/layer_8="RedTeamFireOnly"
3d_physics/layer_9="BlueTeamFireOnly"
[rendering]

2
Game/version.sh Normal file
View File

@ -0,0 +1,2 @@
#!/bin/bash
echo -n "$(git log -n1 | head -n3 | tail -n1) · $(git status | grep "On branch" | cut -d' ' -f 2-) · commit hash: $(git reflog -n1 | cut -d' ' -f1)" > version 2>&1

BIN
Godot/godot-linux-nightly-x86_64.zip (Stored with Git LFS)

Binary file not shown.

BIN
Godot/godot-windows-nightly-x86_64.zip (Stored with Git LFS)

Binary file not shown.

View File

@ -4,6 +4,12 @@
A Libre Multiplayer FPS Game built with Godot game engine and a fully FOSS toolchain.
The goals of the project are as follows:
1. Create a fun open-source game for everyone to enjoy
2. Prove that libre creative tools suffice to make a good game - we use only open-source software in the production
3. Have fun working together, get to know each other and learning as we go
---
Subscribe to the [YouTube channel](https://www.youtube.com/channel/UC1Oi1eXwdr8RlqIslyht5AQ) for upcoming video updates!