Implement more player states

This commit is contained in:
Cuyler36
2024-09-09 01:04:00 -04:00
parent 4debd92f36
commit 0eab430cde
27 changed files with 1215 additions and 112 deletions
+8 -8
View File
@@ -5,10 +5,10 @@
int kappa_seq_handle = 0;
int Na_GetKappaCounter(kappa* kappa) {
int unk16;
int counter;
group* group = nullptr;
int temp = 0;
if (AG.groups[kappa_seq_handle].flags.enabled != 0) {
group = &(AG.groups)[kappa_seq_handle];
@@ -18,15 +18,15 @@ int Na_GetKappaCounter(kappa* kappa) {
(void)temp;
unk16 = group->unk016;
counter = group->counter;
kappa->unk0 = counter / 192;
counter -= (kappa->unk0 * 0xC0);
kappa->unk4 = counter / 192.0f;
kappa->unk0 = unk16 / 192;
unk16 -= (kappa->unk0 * 0xC0);
kappa->unk4 = unk16 / 192.0f;
return 0;
}
void Na_SetKappaSeqHandle(int flag) {
kappa_seq_handle = flag;
}
+11 -13
View File
@@ -2,14 +2,12 @@
#include "jaudio_NES/game64.h"
#include "jaudio_NES/audiowork.h"
s16 Na_GetRadioCounter(radio* radio) {
int unk16;
int Na_GetRadioCounter(Radio_c* radio) {
int counter;
u16 tempo = 0;
group* group = nullptr;
int unused = 0;
if (AG.groups[sou_now_bgm_handle].flags.enabled != 0 && AG.groups[sou_now_bgm_handle].seq_id == 0xDA) {
group = &(AG.groups)[sou_now_bgm_handle];
@@ -18,26 +16,26 @@ s16 Na_GetRadioCounter(radio* radio) {
return -1;
}
unk16 = group->unk016;
counter = group->counter;
(void)unused;
if (unk16 < 0x2E8) {
if (counter < 744) {
radio->unk0 = 0;
} else {
unk16 -= 0x2E8;
radio->unk0 = (s8)(unk16 / 0x300);
unk16 = unk16 - (radio->unk0 * 0x300);
counter -= 744;
radio->unk0 = (s8)(counter / 768);
counter = counter - (radio->unk0 * 768);
radio->unk0++;
}
if (radio->unk0 == 9) {
radio->unk4 = unk16 / 216.0f;
radio->unk4 = counter / 216.0f;
} else {
radio->unk4 = unk16 / 768.0f;
radio->unk4 = counter / 768.0f;
}
radio->tempo = AG.groups[sou_now_bgm_handle].tempo / 48;
tempo = radio->tempo;
return 0;
}
}
+5 -5
View File
@@ -31,7 +31,7 @@ extern void Na_GetStaffRollInfo(StaffRollInfo_c* info) {
s32 temp;
s32 mouth_type = 0;
s32 blink;
s32 group_unk16;
s32 counter;
s32 i;
if (AG.groups[sou_now_bgm_handle].flags.enabled) {
@@ -195,7 +195,7 @@ extern void Na_GetStaffRollInfo(StaffRollInfo_c* info) {
}
info->blink_flag = blink;
group_unk16 = group->unk016;
counter = group->counter;
switch (seq_num) {
case 1:
@@ -218,7 +218,7 @@ extern void Na_GetStaffRollInfo(StaffRollInfo_c* info) {
}
temp = info->beat * 48;
info->_01 = group_unk16 / temp;
group_unk16 -= info->_01 * temp;
info->percent = (f32)group_unk16 / temp;
info->_01 = counter / temp;
counter -= info->_01 * temp;
info->percent = (f32)counter / temp;
}
+4 -4
View File
@@ -1823,7 +1823,7 @@ static void Nas_GroupSeq(group* grp) {
}
grp->tempo_acceleration -= (u16)AG.max_tempo;
grp->unk016++;
grp->counter++;
if (grp->flags.stop_seq_script == TRUE) {
return;
@@ -1998,8 +1998,8 @@ static void Nas_GroupSeq(group* grp) {
case 0xC6: // stop script
grp->flags.stop_seq_script = TRUE;
return;
case 0xC5: //
grp->unk016 = Nas_ReadWordData(m);
case 0xC5: // update counter
grp->counter = Nas_ReadWordData(m);
break;
case 0xEF: //
Nas_ReadWordData(m);
@@ -2154,7 +2154,7 @@ extern void Nas_InitMySeq(group* grp) {
grp->short_note_velocity_tbl = DEFAULT_VTABLE;
grp->short_note_gate_time_tbl = DEFAULT_GTABLE;
grp->script_counter = 0;
grp->unk016 = 0;
grp->counter = 0;
for (i = 0; i < AUDIO_SUBTRACK_NUM; i++) {
Nas_InitSubTrack(grp->subtracks[i]);