Files
jak-project/game/overlord/common/989_plugins/plugin_strv.h
T
Hat Kid 8a73c3e997 989snd/overlord: implement PLUGIN_MESSAGE grain and STRV plugin system (#4319)
This implements the functionality for the `PLUGIN_MESSAGE` grain and the
989snd VAG plugin system, allowing sounds to queue up VAG streams.

Closes #2582
2026-06-30 21:21:34 +02:00

30 lines
597 B
C++

#pragma once
#include "common/common_types.h"
namespace plugin_strv {
enum class PluginOp { Queue, Stop, SetVol, StopAll };
struct PluginStreamRequest {
PluginOp op{};
u32 owner{};
char name[0x30]{};
s32 prio{};
s32 vol{};
s32 pan{};
};
struct PluginStreamOps {
void (*queue)(const PluginStreamRequest&) = nullptr;
void (*stop)(const PluginStreamRequest&) = nullptr;
void (*set_vol)(const PluginStreamRequest&) = nullptr;
void (*stop_all)() = nullptr;
s32 wakeup_thread = 0;
};
void Init(const PluginStreamOps& ops);
void HandleRequests();
} // namespace plugin_strv