(theoretically) Port audio system
This commit is contained in:
@@ -59,8 +59,8 @@ AssetModule::AssetModule(entt::registry& registry)
|
|||||||
.buffer_length = sizeof(PICKUP_SOUND_DATA)};
|
.buffer_length = sizeof(PICKUP_SOUND_DATA)};
|
||||||
AudioAsset hit_sound{.buffer = HIT_SOUND_DATA, .buffer_length = sizeof(HIT_SOUND_DATA)};
|
AudioAsset hit_sound{.buffer = HIT_SOUND_DATA, .buffer_length = sizeof(HIT_SOUND_DATA)};
|
||||||
registry.ctx().emplace<AudioAssets>(AudioAssets{.background_music = background_music,
|
registry.ctx().emplace<AudioAssets>(AudioAssets{.background_music = background_music,
|
||||||
.pickup_sound =.buffer = pickup_sound,
|
.pickup_sound = pickup_sound,
|
||||||
.hit_sound =.buffer = hit_sound});
|
.hit_sound = hit_sound});
|
||||||
|
|
||||||
// auto font = load_font(DEFAULT_FONT_DATA, sizeof(DEFAULT_FONT_DATA));
|
// auto font = load_font(DEFAULT_FONT_DATA, sizeof(DEFAULT_FONT_DATA));
|
||||||
// registry.ctx().emplace<FontAssets>(FontAssets{.default_font = font});
|
// registry.ctx().emplace<FontAssets>(FontAssets{.default_font = font});
|
||||||
|
|||||||
@@ -3,29 +3,8 @@
|
|||||||
|
|
||||||
AudioModule::AudioModule(entt::registry& registry)
|
AudioModule::AudioModule(entt::registry& registry)
|
||||||
{
|
{
|
||||||
// auto const& audio_assets = registry.ctx().get<AudioAssets>();
|
auto const& audio_assets = registry.ctx().get<AudioAssets>();
|
||||||
// auto* music_stream = SDL_OpenAudioDeviceStream(
|
|
||||||
// SDL_AUDIO_DEVICE_DEFAULT_PLAYBACK, &audio_assets.background_music.spec, NULL, NULL);
|
|
||||||
// auto* sound_stream = SDL_OpenAudioDeviceStream(
|
|
||||||
// SDL_AUDIO_DEVICE_DEFAULT_PLAYBACK, &audio_assets.pickup_sound.spec, NULL, NULL);
|
|
||||||
|
|
||||||
// SDL_ResumeAudioStreamDevice(music_stream);
|
registry.ctx().emplace<AudioStreams>(AudioStreams{.music_stream = {.id_left = 0, .id_right = 1},
|
||||||
// SDL_ResumeAudioStreamDevice(sound_stream);
|
.sound_stream = {.id_mono = 2}});
|
||||||
|
|
||||||
// registry.ctx().emplace<AudioStreams>(
|
|
||||||
// AudioStreams{.music_stream = music_stream, .sound_stream = sound_stream});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// void AudioModule::FeedAudioStreams(entt::registry& registry)
|
|
||||||
// {
|
|
||||||
// auto audio_streams = registry.ctx().get<AudioStreams>();
|
|
||||||
// auto audio_assets = registry.ctx().get<AudioAssets>();
|
|
||||||
|
|
||||||
// if (SDL_GetAudioStreamQueued(audio_streams.music_stream) <
|
|
||||||
// static_cast<int>(audio_assets.background_music.buffer_length))
|
|
||||||
// {
|
|
||||||
// SDL_PutAudioStreamData(audio_streams.music_stream,
|
|
||||||
// audio_assets.background_music.buffer,
|
|
||||||
// audio_assets.background_music.buffer_length);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|||||||
@@ -5,19 +5,28 @@
|
|||||||
|
|
||||||
struct AudioAsset
|
struct AudioAsset
|
||||||
{
|
{
|
||||||
// SDL_AudioSpec spec;
|
|
||||||
uint8_t const* buffer;
|
uint8_t const* buffer;
|
||||||
uint32_t buffer_length;
|
uint32_t buffer_length;
|
||||||
};
|
};
|
||||||
|
|
||||||
// struct AudioStreams
|
struct MonoChannel
|
||||||
// {
|
{
|
||||||
// SDL_AudioStream* music_stream;
|
int id_mono;
|
||||||
// SDL_AudioStream* sound_stream;
|
};
|
||||||
// };
|
|
||||||
|
struct StereoChannel
|
||||||
|
{
|
||||||
|
int id_left;
|
||||||
|
int id_right;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct AudioStreams
|
||||||
|
{
|
||||||
|
StereoChannel music_stream;
|
||||||
|
MonoChannel sound_stream;
|
||||||
|
};
|
||||||
|
|
||||||
struct AudioModule
|
struct AudioModule
|
||||||
{
|
{
|
||||||
AudioModule(entt::registry& registry);
|
AudioModule(entt::registry& registry);
|
||||||
// static void FeedAudioStreams(entt::registry& registry);
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,9 +1,20 @@
|
|||||||
#include "level.hpp"
|
#include "level.hpp"
|
||||||
#include "input.hpp"
|
#include "input.hpp"
|
||||||
|
|
||||||
|
#include <Hall/Hall.h>
|
||||||
|
|
||||||
LevelModule::LevelModule(entt::registry& registry)
|
LevelModule::LevelModule(entt::registry& registry)
|
||||||
{
|
{
|
||||||
auto const* texture_assets = ®istry.ctx().get<TextureAssets>();
|
auto const* texture_assets = ®istry.ctx().get<TextureAssets>();
|
||||||
|
auto const* audio_steams = ®istry.ctx().get<AudioStreams>();
|
||||||
|
auto const* audio_assets = ®istry.ctx().get<AudioAssets>();
|
||||||
|
|
||||||
|
// Hall::SetupStereo(audio_steams->music_stream.id_left,
|
||||||
|
// audio_steams->music_stream.id_right,
|
||||||
|
// audio_assets->background_music.buffer,
|
||||||
|
// audio_assets->background_music.buffer_length / (2 * 2),
|
||||||
|
// 0,
|
||||||
|
// audio_assets->background_music.buffer_length / (2 * 2));
|
||||||
|
|
||||||
auto background = registry.create();
|
auto background = registry.create();
|
||||||
registry.emplace<Position>(background, Position{.x = 0, .y = 0});
|
registry.emplace<Position>(background, Position{.x = 0, .y = 0});
|
||||||
|
|||||||
@@ -69,8 +69,6 @@ int main()
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// AudioModule::FeedAudioStreams(registry);
|
|
||||||
|
|
||||||
if (registry.ctx().get<Game>().time != 0)
|
if (registry.ctx().get<Game>().time != 0)
|
||||||
{
|
{
|
||||||
increment_ticks(registry);
|
increment_ticks(registry);
|
||||||
|
|||||||
Reference in New Issue
Block a user