jak-project/game/overlord/jak3/ssound.h
water111 e81431bd21
Some checks are pending
Build / 🖥️ Windows (push) Waiting to run
Build / 🐧 Linux (push) Waiting to run
Build / 🍎 MacOS (push) Waiting to run
Inform Pages Repo / Generate Documentation (push) Waiting to run
Lint / 📝 Required Checks (push) Waiting to run
Lint / 📝 Optional Checks (push) Waiting to run
Lint / 📝 Formatting (push) Waiting to run
[wip] Jak 3 Overlord (#3567)
2024-07-26 09:42:28 -04:00

50 lines
1.3 KiB
C++

#pragma once
#include "common/common_types.h"
#include "game/overlord/jak3/rpc_interface.h"
namespace jak3 {
void jak3_overlord_init_globals_ssound();
void InitSound();
extern s32 g_n989Semaphore;
extern bool g_bSoundEnable;
struct SoundInfo {
SoundName name;
s32 id;
s32 sound_handle;
s32 new_volume;
s32 auto_time;
SoundPlayParams params;
};
struct VolumePair {
s16 left;
s16 right;
};
SoundInfo* LookupSound(s32 id);
SoundInfo* AllocateSound();
int GetFalloffCurve(int fo_curve);
s32 GetVolume(SoundInfo* sound);
s32 GetPan(SoundInfo* sound);
void UpdateVolume(SoundInfo* sound);
void KillSoundsInGroup(u32 group);
void SetEarTrans(const s32* ear_trans0,
const s32* ear_trans1,
const s32* cam_trans,
const s32* cam_forward,
const s32* cam_left,
s32 cam_scale,
bool cam_inverted);
void SetPlaybackMode(s32 mode);
void SetCurve(int curve_idx, u32, u32, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t);
u32 CalculateFalloffVolume(s32* trans, u32 vol, u32 fo_curve, u32 fo_min, u32 fo_max, u32*, u32*);
s32 CalculateAngle(s32* trans, u32 fo_curve, u32);
extern u32 g_anStreamVoice[6];
extern VolumePair g_aPanTable[361];
extern bool g_CameraInvert;
} // namespace jak3