From de15fde93528a711373317714a14071f91964ec0 Mon Sep 17 00:00:00 2001 From: Prakxo Date: Sat, 8 Jun 2024 16:13:29 +0200 Subject: [PATCH] link kappa --- config/dol_slices.yml | 3 +++ include/jaudio_NES/kappa.h | 8 +++++++- src/static/jaudio_NES/game/kappa.c | 32 ++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 src/static/jaudio_NES/game/kappa.c diff --git a/config/dol_slices.yml b/config/dol_slices.yml index 969b663c..0de8e347 100644 --- a/config/dol_slices.yml +++ b/config/dol_slices.yml @@ -51,6 +51,9 @@ jaudio_NES/game/rhythm.c: jaudio_NES/game/radio.c: .text: [0x800165ec, 0x8001676c] .sdata2: [0x80218d78, 0x80218d88] +jaudio_NES/game/kappa.c: + .text: [0x8001676c,0x80016840] + .sbss: [0x802183b0, 0x802183b8] jaudio_NES/game/staff.c: .text: [0x80016840, 0x80016d20] .data: [0x800cfe10, 0x800cff20] diff --git a/include/jaudio_NES/kappa.h b/include/jaudio_NES/kappa.h index 5f0a4eed..4e5805cd 100644 --- a/include/jaudio_NES/kappa.h +++ b/include/jaudio_NES/kappa.h @@ -7,7 +7,13 @@ extern "C" { #endif -extern void Na_GetKappaCounter(void*); +typedef struct kappa_ { + u16 unk0; + f32 unk4; +}kappa; + +extern int Na_GetKappaCounter(kappa*); +extern void Na_SetKappaSeqHandle(int flag); #ifdef __cplusplus } diff --git a/src/static/jaudio_NES/game/kappa.c b/src/static/jaudio_NES/game/kappa.c new file mode 100644 index 00000000..22fcaca5 --- /dev/null +++ b/src/static/jaudio_NES/game/kappa.c @@ -0,0 +1,32 @@ +#include "jaudio_NES/kappa.h" +#include "jaudio_NES/audiostruct.h" +#include "jaudio_NES/audiowork.h" + +int kappa_seq_handle = 0; + +int Na_GetKappaCounter(kappa* kappa) { + int unk16; + group* group = nullptr; + int temp = 0; + + if (AG.groups[kappa_seq_handle].flags.enabled != 0) { + group = &(AG.groups)[kappa_seq_handle]; + + } else { + return -1; + } + + (void)temp; + + unk16 = group->unk016; + + kappa->unk0 = unk16 / 192; + unk16 -= (kappa->unk0 * 0xC0); + kappa->unk4 = unk16 / 192.0f; + + return 0; +} + +void Na_SetKappaSeqHandle(int flag) { + kappa_seq_handle = flag; +}