Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement the basic audio engine. #92

Merged
merged 1 commit into from
Sep 25, 2024
Merged

Conversation

hasenbanck
Copy link
Contributor

@hasenbanck hasenbanck commented Sep 17, 2024

This PR lays the foundation for the audio engine. It implements the main menue sounds, music and ambient, spatial sound. Entity and Effect sound effects will be implemented later. Once the new UI code is finished, I will also start to expose the configuration values (mainly volume control).

The PR contains a "util" library, which will contain code that other libraries might want to use (mainly containers and collision code). I will also use these containers for the render engine later (for async loading etc.). I took the liberty to make the usage of the game archive loader a little bit easier (since we want to use it from async threads later). I also removed the unmaintained collision-rs library and re-use collision code between the frustum culling and the audio engine.

@hasenbanck hasenbanck changed the title WIP: Implement the basic audio engine. Implement the basic audio engine. Sep 21, 2024
@hasenbanck hasenbanck marked this pull request as ready for review September 21, 2024 17:28
@hasenbanck hasenbanck force-pushed the audio_engine branch 3 times, most recently from 5ec19a4 to 5f89183 Compare September 22, 2024 16:03
@hasenbanck
Copy link
Contributor Author

Ok, I'm finished here now.

 - Add utility crate for some containers and basic collision handling.
 - Add audio crate with background music, sound effects and spatial, ambient sound effects.
 - Re-Use collision code between frustum culling and audio engine.
 - Improve performance of frustum culling.
 - Use global thread pool for rayon (so that we can re-use the thread pool with other creates).
 - Make game file loader sync (easier to share).
 - Update some dependencies.
 - Remove some unused code.
@vE5li vE5li merged commit 006167b into vE5li:main Sep 25, 2024
3 checks passed
@hasenbanck hasenbanck deleted the audio_engine branch September 25, 2024 08:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants