minor audio fixes
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user