feat: Implement audio backend with subprocess support and refactor audio handling
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
@@ -7,6 +7,7 @@ library;
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:wolf_3d_cli/cli_game_loop.dart';
|
||||
import 'package:wolf_3d_cli/cli_subprocess_audio.dart';
|
||||
import 'package:wolf_3d_dart/wolf_3d_data.dart';
|
||||
import 'package:wolf_3d_dart/wolf_3d_data_types.dart';
|
||||
import 'package:wolf_3d_dart/wolf_3d_engine.dart';
|
||||
@@ -46,13 +47,15 @@ void main() async {
|
||||
}
|
||||
|
||||
CliGameLoop? gameLoop;
|
||||
late final WolfEngine engine;
|
||||
|
||||
void stopAndExit(int code) {
|
||||
gameLoop?.stop();
|
||||
engine.audio.dispose();
|
||||
exitCleanly(code);
|
||||
}
|
||||
|
||||
final engine = WolfEngine(
|
||||
engine = WolfEngine(
|
||||
availableGames: availableGames.values.toList(growable: false),
|
||||
startingEpisode: 0,
|
||||
frameBuffer: FrameBuffer(
|
||||
@@ -60,11 +63,13 @@ void main() async {
|
||||
stdout.terminalLines,
|
||||
),
|
||||
input: CliInput(),
|
||||
engineAudio: CliSubprocessAudio(),
|
||||
onGameWon: () => stopAndExit(0),
|
||||
onQuit: () => stopAndExit(0),
|
||||
saveGamePersistence: DefaultSaveGamePersistence(),
|
||||
);
|
||||
|
||||
await engine.audio.init();
|
||||
engine.init();
|
||||
|
||||
final persistence = DefaultRendererSettingsPersistence();
|
||||
|
||||
Reference in New Issue
Block a user