From 7be83e1b7cdce2cbfe63390647b378199f3f5137 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Tue, 20 Aug 2024 17:36:53 +0300 Subject: [PATCH] Add more sounds --- CMakeLists.txt | 1 + sounds/click_high.mp3 | Bin 0 -> 3840 bytes sounds/click_low.mp3 | Bin 0 -> 7097 bytes sounds/error.mp3 | Bin 0 -> 4656 bytes sounds/gears.mp3 | Bin 0 -> 4368 bytes sounds/key_click.mp3 | Bin 0 -> 3456 bytes sounds/machine.mp3 | Bin 0 -> 4368 bytes sounds/pop.mp3 | Bin 0 -> 1669 bytes source/application.cpp | 84 +++++++++++++++++++++++++++++++++++++++++ 9 files changed, 85 insertions(+) create mode 100644 sounds/click_high.mp3 create mode 100644 sounds/click_low.mp3 create mode 100644 sounds/error.mp3 create mode 100644 sounds/gears.mp3 create mode 100644 sounds/key_click.mp3 create mode 100644 sounds/machine.mp3 create mode 100644 sounds/pop.mp3 diff --git a/CMakeLists.txt b/CMakeLists.txt index c5ad878..96d08e6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,3 +13,4 @@ file(GLOB_RECURSE GMTK_SOURCES LIST_DIRECTORIES FALSE "${CMAKE_CURRENT_SOURCE_DI file(GLOB_RECURSE GMTK_HEADERS LIST_DIRECTORIES FALSE "${CMAKE_CURRENT_SOURCE_DIR}/include/*") psemek_add_application(color-fractory ${GMTK_SOURCES} ${GMTK_HEADERS}) +psemek_package_files(color-fractory sounds) diff --git a/sounds/click_high.mp3 b/sounds/click_high.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..53d9eac235e6f7f1622fdf921e8549ef8fddce4c GIT binary patch literal 3840 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 literal 0 HcmV?d00001 diff --git a/sounds/click_low.mp3 b/sounds/click_low.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..f4efb869ac12cc995b4142ca880a2240c8082c4d GIT binary patch literal 7097 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 literal 0 HcmV?d00001 diff --git a/sounds/key_click.mp3 b/sounds/key_click.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..4b74b53dadb577873f8984088eb4c7447a423eba GIT binary patch literal 3456 zcmd^Bc{mhW8=o0V)Jy-}Cg(_xJbQ-}9Vv{y673=Y8Mbd*1iQ+sGsV{s%k) z&Yj^O*~K5i0Dxo+z~UG9{|fpqX#N!ozk>G*_-~Qyktb~Qbq?w22`>L_p&@iUumtZs@#|C#Vx&aMYq zo%-NBSzvMV)ZLMMw28VzETq!MN+LD}o^LJEjp#xo0TspkpPV?BFl*#(kVvtjOUb6f zKDk-GuF9VMuG+aLpx7+j7@o(l80b@plHST~aF-6RQV21s3^FS_$TSUsuy1Uden#Y) zl5Ze)XJ}{DNi@kzDqm|mzv=w@<&wHS1+>ZLNlN}k`p3SCqL)I8MOX5}-tRXx?lvbX zl`#v-r;KG0P4DvC8rM^;Fuj$UGd-0hHSZ&J65b*b{jTh#qnORzRUT=$*9%eiPh>rf zgbkmaSIXf`Z*VZv-8a+SPY}7#*Bj^Cp$_2A)uf())sl+)Lf%8X+CCSv2i&o!L@PCf zFh9d@cTx^OR=p8cP&&va9pwzfCkv75S~d08cP1iZzQqiICna5fi z12mEzKeD+7m(<9)cP5r4dU{npbUM3D74S+G=qG6yi&CCZH;qNK)r{qQxjSQ zJtYP5;jXK~gV|oSG@TyHKS-YQmWL+4i@!n9iWaj2q`P(YmxM(%epZ&twyPz&aGyB- z?&&Kz^68bHrP2J+Pm9y|h6qT&o#8IF7Ilp=*~@9I@6Cuddb?Ok48NE3NI+0SIg)xk ziOhNYW>(qbiR&L&+L7#O?Km8!Z^V4@^VycBZw|M|I%i&mMk=?f;i?v2&x_I4d>(+{rT- z1D3-`dX*VWEuzCSag+}i#dBPGkI#)h5%?1ddww~GC{w^# z4G*K?HQQP;Fql8O<7Gw~)IJm+L45rP<-xHz7=GzOA24!)+CP_1fw?}7i@T=bgoR;! zw)y=L^9|)Yx`eyvv&}ER+9?^g*lFwGI)3sCxGnAUPF+msgbPs6-=;UX2Q6wTBWKOk z8>poS>C6I4BZE+}k(CNjwtJ&z%0<`0Gw^#Fb;-_Oip0vu&n{hF$CP?vX>K~DC0Cdu z>E)d(r$&a7O(5@ajvw4EU;XCP$1J`{5vI#!_8t?21x z8wC1LQ8ZohY=oXdf@m8XU|=hE(#e^7vgeq>1>iVha=f;ljg~>TH&;&Yb~-brtV6X^zEnMj59}8X%6~3tz z7hg9gCA~J*s`5^$7+!x7EWNb3R89#Vbc)K#aUBZ?!iP$Fkynnd-y zErWN&&9a;JPd0@9D5_G-ZuA4^;aHNmrjX;ot*v>bT-4a4BmsFn*(Q%WRbShFf0oT| z2xR#^j*w=u-(9*L6oR>nn>BGXCZd#*wd)S>5s35+9&8d{94$GE zW~}tusVvl3E!n!BVxrSZKVDONiBjxo1A!F}OAsxC^X&X;!MXHGk`Li}l7=M$TvTFDDKS#X(&Q-*D?v5Bsxe`M0tSFcpa<)Zq>dUvx18k6p|GMCC?IkkJ%5NNq{W~ z0dwpl?sNi1n!9(T$f6$6@Z+?&4B&o$}0W*M~`s84}v{uX0m~DQy^~wGEP2N%Cp{>;jp7BQi_kSxn{22bz^k($Q zY14Hc@5R@LLpr201R?-biJ}*C@*m`ySuy!kZ zRO`GvxB6jKQ%()}Yk{X>&G)#C$m+VFcVoPXsryr5$)1r-gY8XAZ7)3TubzC@%5EpG zo+6(&ke~J8pBI(?di)nRk)-4R literal 0 HcmV?d00001 diff --git a/sounds/machine.mp3 b/sounds/machine.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..7343fc30488a9a4b2d266d3a472b132550d70b30 GIT binary patch literal 4368 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 literal 0 HcmV?d00001 diff --git a/sounds/pop.mp3 b/sounds/pop.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..b54d6d7285bb403785c700128fcf85bfcd7c4dd8 GIT binary patch literal 1669 zcmezWd%_V0bP$o5mkt!;2V!Oh2DVm)RfNDRLf}6k0JJN`$I;i-SkKVFfaNaCNumlW ztScND7{7qrp-_Kl2~1+7(Eop507ejd0kiuS0S4uVTIuDs69O2TmUO9I>O5sor@+Ga z;a4Mr&yNKP&&1i!PhqkAVaNZVLGcyK!T*02DDXEw_#?wpVaMP8sj+`L`~Ck1KQJ&b z)^V#!uacUgWY{3UpxLm4Ny3o%X6uIN8SG3R99lhW3=9Wmu=7~7KRMxIbVk78$H~Zz zM;ipoCvr4=P?qW!arn^0Dx;wAq(*DQ=d{30(>Ak+?_9J(!`5kq$DjFvGqzaF3>4dR zJ+Sa=>^hUk9f!|vm42&KTki8>i==Q&_J%i;g7vZkgUS~l(Klv@+r9`4xEr@TFh zzj5iF>18JGqk3(=i}Y4@=IWlibYR<3%Tw!Orq<`CPBVY|++1>dRXXRJr@Na~W1fZW zvo>~&p0xJ=cbV;q?@agIxBN2W$bw(lHHU(&q*xoaZ9Z_k>Jli?Y3MDHE0LbKS1nM0 z*|OI@h3Uf6jEqU9YYP%=H(t3~9&klR<&duVb-w~^UWqid1K-#lD(; zS*T)F?AfjBS3G?4JMlzo2M_a5JS@tA1Fff<^F$)cR1^~$83P=C| literal 0 HcmV?d00001 diff --git a/source/application.cpp b/source/application.cpp index 5940724..b121981 100644 --- a/source/application.cpp +++ b/source/application.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -16,6 +17,7 @@ #include #include +#include #include #include @@ -28,6 +30,7 @@ #include #include #include +#include #include #include @@ -1345,6 +1348,16 @@ namespace gmtk volume_ = audio::volume(mixer_); audio_->output()->stream(audio::compressor(volume_)); + auto sounds_root = util::executable_path().parent_path() / "sounds"; + + click_low_ = audio::load_mp3(io::read_full(io::file_istream{sounds_root / "click_low.mp3"})); + click_high_ = audio::load_mp3(io::read_full(io::file_istream{sounds_root / "click_high.mp3"})); + key_click_ = audio::load_mp3(io::read_full(io::file_istream{sounds_root / "key_click.mp3"})); + gears_ = audio::load_mp3(io::read_full(io::file_istream{sounds_root / "gears.mp3"})); + machine_ = audio::load_mp3(io::read_full(io::file_istream{sounds_root / "machine.mp3"})); + pop_ = audio::load_mp3(io::read_full(io::file_istream{sounds_root / "pop.mp3"})); + error_ = audio::load_mp3(io::read_full(io::file_istream{sounds_root / "error.mp3"})); + context_.windowed(is_windowed_); set_start_menu(); } @@ -1629,7 +1642,10 @@ namespace gmtk if (!map_.world->get(t).contains()) { if (!map_.world->get(t).get().belts_to.empty()) + { s.animate += 1.f; + item_produced_sound(); + } auto i = map_.world->create( item{s.type, p} @@ -1763,8 +1779,23 @@ namespace gmtk } if (crafted) + { t.animate += 1.f; + switch (t.type) + { + case transformer_type::mixer: + mixer_sound(); + break; + case transformer_type::hue_shifter: + shifter_sound(); + break; + case transformer_type::reshaper: + reshaper_sound(); + break; + } + } + if (!crafted && !has_inputs.empty()) { return; @@ -1817,9 +1848,11 @@ namespace gmtk map_.resource_count += 1; l->animate += 1.f; map_.world->destroy(entity); + item_received_sound(); } else { + item_error_sound(); l->animate_error += 1.f; map_.world->destroy(entity); } @@ -1952,6 +1985,7 @@ namespace gmtk map_.world->detach(map_.world->index().get(i.start)); map_.world->destroy(*selected_item_); selected_item_ = std::nullopt; + item_removed_sound(); } { @@ -2389,6 +2423,14 @@ namespace gmtk audio::mixer_ptr mixer_; std::shared_ptr volume_; + audio::track_ptr click_low_; + audio::track_ptr click_high_; + audio::track_ptr key_click_; + audio::track_ptr gears_; + audio::track_ptr machine_; + audio::track_ptr pop_; + audio::track_ptr error_; + bool running_ = true; bool in_start_menu_ = true; @@ -2581,6 +2623,48 @@ namespace gmtk pitch->pitch(0.666f); mixer_->add(audio::volume(pitch, 0.25f)); } + + void item_received_sound() + { + if (in_start_menu_) return; + mixer_->add(audio::volume(click_high_->stream(), 0.25f)); + } + + void item_produced_sound() + { + if (in_start_menu_) return; + mixer_->add(audio::volume(click_low_->stream(), 0.5f)); + } + + void mixer_sound() + { + if (in_start_menu_) return; + mixer_->add(audio::volume(machine_->stream(), 0.125f)); + } + + void shifter_sound() + { + if (in_start_menu_) return; + mixer_->add(audio::volume(gears_->stream(), 0.5f)); + } + + void reshaper_sound() + { + if (in_start_menu_) return; + mixer_->add(audio::volume(key_click_->stream(), 0.25f)); + } + + void item_removed_sound() + { + if (in_start_menu_) return; + mixer_->add(audio::volume(pop_->stream(), 0.5f)); + } + + void item_error_sound() + { + if (in_start_menu_) return; + mixer_->add(audio::volume(error_->stream(), 0.25f)); + } }; }