minor audio fixes

This commit is contained in:
h4570
2022-08-11 23:46:02 +02:00
parent 472ab5c2ad
commit 00216da1cd
5 changed files with 9 additions and 7 deletions
-1
View File
@@ -1,7 +1,6 @@
------------ Tyra's v2.0 roadmap to publish on GitHub ------------ ------------ Tyra's v2.0 roadmap to publish on GitHub ------------
- [Demo] Game fadein - [Demo] Game fadein
- [Demo] Ambient sound
- [Demo] Running soldier - [Demo] Running soldier
- [Demo] Heightmap for soldier - [Demo] Heightmap for soldier
- [Demo] Running animation for soldier - [Demo] Running animation for soldier
+7
View File
@@ -10,6 +10,9 @@
#include "states/game/game_state.hpp" #include "states/game/game_state.hpp"
#include "debug/debug.hpp" #include "debug/debug.hpp"
#include "file/file_utils.hpp"
using Tyra::FileUtils;
namespace Demo { namespace Demo {
@@ -27,6 +30,10 @@ void GameState::onStart() {
TYRA_LOG("Game. RAM: ", engine->info.getAvailableRAM(), "MB"); TYRA_LOG("Game. RAM: ", engine->info.getAvailableRAM(), "MB");
engine->audio.song.stop(); engine->audio.song.stop();
engine->audio.song.load(FileUtils::fromCwd("game/ambiance.wav"));
engine->audio.song.inLoop = true;
engine->audio.song.setVolume(100);
engine->audio.song.play();
auto* repository = &engine->renderer.core.texture.repository; auto* repository = &engine->renderer.core.texture.repository;
player = new Player(engine); player = new Player(engine);
+1 -1
View File
@@ -57,7 +57,7 @@ Weapon::Weapon(Engine* engine) {
adpcmChannelsCount = 8; adpcmChannelsCount = 8;
adpcmCurrentChannel = 0; adpcmCurrentChannel = 0;
const u8 shootVolume = 40; const u8 shootVolume = 25;
for (u8 i = 0; i < adpcmChannelsCount; i++) { for (u8 i = 0; i < adpcmChannelsCount; i++) {
audio->adpcm.setVolume(shootVolume, i); audio->adpcm.setVolume(shootVolume, i);
} }
+1 -1
View File
@@ -30,7 +30,7 @@ class AudioSong {
bool inLoop; bool inLoop;
/** /**
* Load 24bit 22kHz Stereo WAV. * Load 16bit 22kHz Stereo WAV.
* Can be used multiple times for song switching. * Can be used multiple times for song switching.
* @param t_path Example: "host:song.wav" or "host:folder/song.wav" * @param t_path Example: "host:song.wav" or "host:folder/song.wav"
*/ */
-4
View File
@@ -51,7 +51,6 @@ void AudioSong::load(const char* t_path) {
TYRA_ASSERT(wav != NULL, "Failed to open wav file!"); TYRA_ASSERT(wav != NULL, "Failed to open wav file!");
rewindSongToStart(); rewindSongToStart();
songLoaded = true; songLoaded = true;
TYRA_LOG("Song loaded!");
} }
void AudioSong::load(const std::string& t_path) { load(t_path.c_str()); } void AudioSong::load(const std::string& t_path) { load(t_path.c_str()); }
@@ -138,14 +137,11 @@ void AudioSong::setVolume(const u8& t_vol) {
void AudioSong::work() { void AudioSong::work() {
if (!songPlaying || !songLoaded) return; if (!songPlaying || !songLoaded) return;
if (songFinished) { if (songFinished) {
TYRA_LOG("AudioSong: Song finished. ");
if (inLoop) { if (inLoop) {
TYRA_LOG("Running again.");
for (u32 i = 0; i < getListenersCount(); i++) for (u32 i = 0; i < getListenersCount(); i++)
songListeners[i]->listener->onAudioFinish(); songListeners[i]->listener->onAudioFinish();
rewindSongToStart(); rewindSongToStart();
} else { } else {
TYRA_LOG("Stopping song.");
stop(); stop();
return; return;
} }