Implement & link jaudio_NES/game64.c

Co-authored-by: roeming <roeming@users.noreply.github.com>
This commit is contained in:
Cuyler36
2025-04-17 01:53:17 -04:00
parent 78242ae813
commit ebb0647e7b
23 changed files with 4311 additions and 352 deletions
+1
View File
@@ -3,6 +3,7 @@
#include "types.h"
// #include "va_args.h"
#include "libc/stdarg.h"
#ifdef __cplusplus
extern "C" {
+3 -3
View File
@@ -65,7 +65,7 @@ extern void sAdo_PlyWalkSeRoom(u8 walk, const xyz_t* pos);
extern void sAdo_NpcWalkSe(u16 se_no, const xyz_t* pos);
extern void sAdo_NpcWalkSeRoom(u8 se_no, const xyz_t* pos);
extern void sAdo_PlayerStatusLevel(f32 speed, int p);
extern void sAdo_PlayerStatusLevel(u8 dash, f32 speed);
/* Not sure about the last param name */
extern void sAdo_VoiceSe(u8 num, u8 num2, u8 num3, s16 character_idx, u8 scale, u8 mode);
@@ -103,7 +103,7 @@ extern s8 sAdo_InstCountGet();
extern void sAdo_RhythmPos(u32 id, u8 haniwa_id, const xyz_t* pos);
extern void sAdo_SpecChange(int spec);
extern void sAdo_MDPlayerPos(const xyz_t* pos, u16 s1, u16 s2, int p);
extern void sAdo_MDPlayerPos(const xyz_t* pos, u16 s1, u16 s2, u32 p);
extern void sAdo_BGMVolume(f32 f, u16 volume);
extern void sAdo_BgmCrossfadeStart(u8 b);
@@ -141,7 +141,7 @@ extern u16 sAdo_Get_WalkLabel(int type);
extern u16 sAdo_Get_KokeruLabel(int type);
extern void sAdo_SceneMode(u8 mode);
extern u8 sAdo_RoomIncectPos(u32 f, u16 u, const xyz_t* pos);
extern u8 sAdo_RoomIncectPos(u32 f, u8 u, const xyz_t* pos);
extern void sAdo_FurnitureInstPos(u32 id, const xyz_t* pos);
extern void sAdo_Set_ongenpos_refuse_fg(int state);
+14
View File
@@ -0,0 +1,14 @@
#ifndef OSATTENTION_H_
#define OSATTENTION_H_
#ifdef __cplusplus
extern "C" {
#endif // !__cplusplus
int OSAttention(const char* c, ...);
#ifdef __cplusplus
}
#endif // !__cplusplus
#endif // !OSATTENTION_H_
+7 -2
View File
@@ -1,6 +1,11 @@
#ifndef ARAMCALL_H
#define ARAMCALL_H
#include "types.h"
void Jac_WaveDirectorySet(char*);
#include "jaudio_NES/heapctrl.h"
#endif
void Jac_WaveDirectorySet(char*);
void Jac_RegisterARAMCallback(u32 (*callback)(char*, u32, u32, u32*, JAHEAP*));
void Init_AramMotherHeap();
JAHEAP* Get_AramMotherHeap();
#endif
+2 -2
View File
@@ -9,12 +9,12 @@
#define DUMMYROM_ARAM_TO_DRAM 1
extern u8* JAC_ARAM_DMA_BUFFER_TOP;
ALHeap aram_hp; /* placed in common bss */
extern ALHeap aram_hp; /* placed in common bss */
extern u32 GetNeos_FileTop(void);
extern u32 GetNeosRomTop(void);
extern u32 GetNeosRom_PreLoaded(void);
extern void SetPreCopy_NeosRom(u8* load_addr, u32 load_size, BOOL cut_flag);
extern u32 SetPreCopy_NeosRom(u8* load_addr, u32 load_size, BOOL cut_flag);
extern BOOL ARAMStartDMAmesg(u32 dir, u32 dramAddr, u32 aramAddr, u32 size, s32 unused, OSMesgQueue* mq);
extern void Jac_SetAudioARAMSize(u32 size);
extern void ARAllocFull(u32* outSize);
+1 -1
View File
@@ -20,7 +20,7 @@ extern s32 DVDT_DRAMtoARAM_Main(void* arg);
extern s32 DVDT_ARAMtoDRAM(u32 owner, u32 dst, u32 src, u32 length, u32* status, Jac_DVDCallback callback);
extern s32 DVDT_DRAMtoARAM(u32 owner, u32 dst, u32 src, u32 length, u32* status, Jac_DVDCallback callback);
extern s32 DVDT_CheckFile(char* file);
extern void DVDT_CheckPass(u32 owner, u32* status, Jac_DVDCallback callback);
extern s32 DVDT_CheckPass(u32 owner, u32* status, Jac_DVDCallback callback);
extern s32 Jac_CheckFile(char* file);
extern void Jac_RegisterDVDErrorCallback(ErrorCallback callback);
extern s32 Jac_RegisterFastOpen(char* file);
+37 -19
View File
@@ -2,14 +2,21 @@
#define GAME64_H
#include "types.h"
#include "libc/stdarg.h"
#ifdef __cplusplus
extern "C" {
#endif
f32 distance2vol4KITEKI(f32);
f32 distance2vol4MD(f32);
extern void Na_InitAudio(void (*fatal_callback)(), u8* load_addr, size_t load_size, u8* bootsound,
size_t bootsound_size, BOOL cut_flag);
extern void Na_GameFrame();
extern void Na_Reset();
extern void Na_SoftReset();
extern void Na_Tenki(u8);
extern void Na_BgmStart(u8);
extern void Na_BgmCrossfadeStart(u8);
extern void Na_BgmStop(u16);
@@ -18,49 +25,60 @@ extern void Na_PlyWalkSe(u16, u16, f32);
extern void Na_PlyWalkSeRoom(u8, u16, f32);
extern void Na_NpcWalkSe(u16, u16, f32);
extern void Na_NpcWalkSeRoom(u8, u16, f32);
extern void Na_PlayerStatusLevel(f32, int);
// #ifdef BUGFIXES
extern void Na_PlayerStatusLevel(u8, f32);
// #endif // BUGFIXES
extern void Na_VoiceSe(u8, u8, u8, s16, u8, u8);
extern void Na_MessageStatus(u8);
extern void Na_MessageSpeed(u8);
extern u8 Na_MessageSpeedGet();
extern void Na_SysLevStart(u8);
extern void Na_SysLevStop(u8);
extern void Na_OngenPos(u32, u8, u16, f32);
extern void Na_OngenTrgStartSpeed(u16, u16, f32, f32);
extern void Na_OngenTrgStart(u16, u16, f32);
extern void Na_SetOutMode(u8);
extern void Na_SetVoiceMode(u8);
extern void Na_FloorTrgStart(u8, u16, f32);
extern void Na_SysLevStart(u8);
extern void Na_SysLevStop(u8);
extern void Na_Pause(u8);
extern void Na_RhythmPos(u32, u8, u16, f32);
extern void Na_SpecChange(int);
extern void Na_MDPlayerPos(u16, u16, u16, int, f32);
extern void Na_MDPlayerPos(u16 a, f32 e, u16 b, u16 c, u32 d);
extern void Na_BGMVolume(f32, u16);
extern void Na_SubGameStart();
extern void Na_SubGameEnd();
extern void Na_RestartPrepare();
extern u8 Na_CheckRestartReady();
extern void Na_Restart();
extern u8 Na_SubGameOK();
extern void Na_Tenki(u8);
extern void Na_KishaStatusTrg(u8);
extern void Na_KishaStatusLevel(f32 speed, u32 ongenNum1, u16 angle1, f32 distance1, u32 ongenNum2, u16 angle2,
f32 distance2);
extern void Na_TTKK_ARM(u8);
extern void Na_OngenTrgStartSpeed(u16, u16, f32, f32);
extern void Na_BgmMuteClear();
extern u8 Na_BgmFadeoutCheck();
extern u8 Na_SeFadeoutCheck();
extern void Na_BgmTrOn(u8 a);
extern void Na_BgmTrOff(u8 a);
extern void Na_SubGameStart();
extern void Na_SubGameEnd();
extern void Na_SceneMode(u8);
extern u8 Na_RoomIncectPos(int, u8, u16, f32);
extern void Na_FurnitureInstPos(int, u16, f32);
extern void Na_TrgSeEcho(u8);
extern void Na_LevSeEcho(u8);
extern void Na_BgmFadeoutCheck();
extern void Na_SeFadeoutCheck();
extern void Na_BGMFilter(u8);
extern void Na_RoomType(u8);
extern u8 Na_CheckNeosBoot();
extern void Na_Museum(u8);
extern void Na_SoftReset();
extern void Na_SceneMode(u8);
extern u8 Na_RoomIncectPos(int, u16, u16, f32);
extern void Na_FurnitureInstPos(int, u16, f32);
extern int Na_GetSoundFrameCounter();
extern void Na_kazagurumaLevel(f32);
extern u8 Na_CheckNeosBoot();
extern void Na_RestartPrepare();
extern u8 Na_CheckRestartReady();
extern void Na_Restart();
extern void Na_Reset();
// __declspec(weak) extern int OSAttention(const char* msg, ...) {
// va_list marker;
// va_start(marker, msg);
// return vprintf(msg, marker);
// }
extern u8 sou_now_bgm_handle;
extern u8 sou_chime_status;
+43 -1
View File
@@ -5,7 +5,49 @@
#include "jaudio_NES/game64.h"
/* C++ linkage */
extern void Sou_lev_ongen_data_struct_clear();
extern void Sou_BgmFadeoutEndCheck();
extern u8 Sou_BgmTenkiConv(u8);
extern void Sou_GroupControl(u8, u8, f32);
extern void Sou_GroupControl_MD(u8, u8, f32);
extern u8 pan_kochou(u8, f32);
extern u8 angle2pan(u16 angle, f32 dist);
extern f32 distance2vol(f32 distance);
extern void Sou_VoiceStart(u8, u8);
extern void Sou_TrgStart(u16, f32, f32, f32, u8, u8, f32);
extern void Sou_SpecialRoutine00();
extern void Sou_SpecialRoutine02();
extern void Sou_SpecialRoutine03();
extern void Sou_TrgEndCheck();
extern void Sou_LevStart(u8, u8);
extern void Sou_LevStop(u8, u8);
extern void Sou_TrgMake(u8);
extern void Sou_VoiceMake(u8);
extern void Sou_LevMake(u8);
extern void Sou_ChimeMake();
extern void Sou_LevSet(u8);
extern void Sou_Insect_Lev_Cont();
extern void Sou_Ongen_Lev_Cont();
extern void Sou_Ongen_Lev_Prog(u8);
extern void Sou_BgmStart(u8, u16);
extern void Sou_BGMVolMove();
extern void Sou_Na_BgmStart(u8);
extern void Sou_Na_BgmStop(u16);
extern void Sou_SpecialRoutine06();
extern void Sou_SpecialRoutine07();
extern void Sou_SeFadeoutRoutine();
extern void Sou_SeFadeinRoutine();
extern void Sou_SeVolumeReset();
extern void Sou_SeTrFadeout(u8, u16);
extern void Sou_SeFadeout(u16);
extern void Sou_SpecialRoutine08();
extern void Sou_SpecialRoutine10();
extern void Sou_InitAudio();
extern void Sou_DVD_Error(char*, u8*);
extern void Sou_WalkSe(u16, u16, f32, u8, f32);
extern u8 Sou_TanboinHenkan(u8, u8);
extern u8 Sou_ChouboinHenkan(u8, u8);
extern u8 Sou_ConnectCheck(u8, u8, u8);
extern u8 Sou_BoinShiinCheck(u8);
extern void Sou_PosTrgStart(u16, u16, f32, u8, f32);
#endif
+13
View File
@@ -0,0 +1,13 @@
#ifndef HEAPCTRL_H
#define HEAPCTRL_H
#include "types.h"
typedef struct jaheap_ {
void* _00;
void* _04;
void* _08;
} JAHEAP;
JAHEAP* Jac_AllocHeap(jaheap_*, jaheap_*, unsigned long);
#endif
+1 -1
View File
@@ -15,7 +15,7 @@ extern s16 Na_MelodyGetSubTrackNum(s16 inst);
extern void Na_FurnitureInst(u32 id, u8 inst, u8* melody, u16 angle, f32 dist);
extern void Na_MelodyVoice(s16 voice);
extern u32 na_melody_id_hist[];
extern u32 na_melody_id_hist[2];
#ifdef __cplusplus
}
+3 -2
View File
@@ -9,10 +9,11 @@ extern "C" {
typedef struct seqp seqp; // TODO
void Jaq_Reset(void);
void Jaq_SetSeqData(seqp* seqp, u8* param_2, u32 param_3, int param_4);
s32 Jaq_SetSeqData(seqp* seqp, u8* param_2, u32 param_3, int param_4);
s32 Jaq_StartSeq(u8);
#ifdef __cplusplus
}
#endif
#endif
#endif
+8
View File
@@ -0,0 +1,8 @@
#ifndef WAVEREAD_H
#define WAVEREAD_H
#include "types.h"
int WaveScene_Set(u32, u32);
void Wavegroup_Init();
int Wavegroup_Regist(void*, u32);
#endif
+8
View File
@@ -3,6 +3,10 @@
#include <stdarg.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct
{
int unk0;
@@ -31,4 +35,8 @@ int sprintf(char *s, const char *format, ...);
int vprintf(const char *format, va_list arg);
int vsprintf(char *s, const char *format, va_list arg);
#ifdef __cplusplus
}
#endif
#endif