mirror of
https://github.com/zeldaret/tww.git
synced 2026-09-06 02:38:11 -04:00
@@ -20,17 +20,17 @@ struct JAIAnimeSound__Slot {
|
||||
class JAIAnimeSound {
|
||||
public:
|
||||
/* 0x00 */ JAIAnimeSound__Slot mSlots[8];
|
||||
/* 0x60 */ u32 m60;
|
||||
/* 0x64 */ u32 m64;
|
||||
/* 0x68 */ u32 m68;
|
||||
/* 0x6C */ u32 m6C;
|
||||
/* 0x70 */ void* m70[2];
|
||||
/* 0x60 */ u32 field_0x60;
|
||||
/* 0x64 */ u32 field_0x64;
|
||||
/* 0x68 */ u32 field_0x68;
|
||||
/* 0x6C */ u32 field_0x6c;
|
||||
/* 0x70 */ void* field_0x70[2];
|
||||
/* 0x78 */ int mDataCounterInc;
|
||||
/* 0x7C */ int mDataCounterLimit;
|
||||
/* 0x80 */ u32 mDataCounter;
|
||||
/* 0x84 */ int mLoopCount;
|
||||
/* 0x88 */ f32 mCurrentTime;
|
||||
/* 0x8C */ u8 m8C[0x90 - 0x8C];
|
||||
/* 0x8C */ u8 field_0x8c[0x90 - 0x8C];
|
||||
/* 0x90 */ u16* mpData;
|
||||
/* 0x94 */ /* vtable */
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
#ifndef JAIBANKWAVE_H
|
||||
#define JAIBANKWAVE_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
namespace JAInter {
|
||||
namespace BankWave {
|
||||
void setWsGroupNumber(s32, s32);
|
||||
void setWsLoadStatus(s32, s32);
|
||||
void init();
|
||||
void setWaveScene();
|
||||
void loadSecondStayWave();
|
||||
void setSceneSetFinishCallback(s32, s32);
|
||||
void finishSceneSet(u32);
|
||||
void loadSceneWave(s32, s32);
|
||||
void loadGroupWave(s32, s32);
|
||||
void getWaveLoadStatus(s32);
|
||||
void checkAllWaveLoadStatus();
|
||||
|
||||
extern s32* wsGroupNumber;
|
||||
extern s32* wsLoadStatus;
|
||||
extern s32 wsMax;
|
||||
};
|
||||
}
|
||||
|
||||
#endif /* JAIBANKWAVE_H */
|
||||
@@ -0,0 +1,88 @@
|
||||
#ifndef JAIBASIC_H
|
||||
#define JAIBASIC_H
|
||||
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
#include "dolphin/mtx/vec.h"
|
||||
|
||||
class JAISound;
|
||||
class JKRSolidHeap;
|
||||
|
||||
namespace JAInter {
|
||||
class Actor;
|
||||
}
|
||||
|
||||
namespace JASystem {
|
||||
class TTrack;
|
||||
}
|
||||
|
||||
class JAIBasic {
|
||||
public:
|
||||
JAIBasic();
|
||||
virtual JAISound* makeSound(u32);
|
||||
virtual bool getMapInfoFxline(u32);
|
||||
virtual bool getMapInfoGround(u32);
|
||||
virtual f32 getMapInfoFxParameter(u32);
|
||||
virtual void setSeExtParameter(JAISound*);
|
||||
virtual void setRegisterTrackCallback();
|
||||
virtual void initStream();
|
||||
void initDriver(JKRSolidHeap*, u32, u8);
|
||||
void initInterface(u8);
|
||||
void initInterfaceMain();
|
||||
void initHeap();
|
||||
void initArchive();
|
||||
void initResourcePath();
|
||||
void setCameraInfo(Vec*, Vec*, f32(*)[4], u32);
|
||||
void initAudioThread(JKRSolidHeap*, u32, u8);
|
||||
void initCamera();
|
||||
bool initReadFile();
|
||||
void processFrameWork();
|
||||
void startSoundVec(u32, JAISound**, Vec*, u32, u32, u8);
|
||||
void startSoundActor(u32, JAISound**, JAInter::Actor*, u32, u8);
|
||||
void startSoundDirectID(u32, JAISound**, JAInter::Actor*, u32, u8);
|
||||
void startSoundBasic(u32, JAISound**, JAInter::Actor*, u32, u8, void*);
|
||||
void stopSoundHandle(JAISound*, u32);
|
||||
void stopPlayingCategoryObjectSe(u8, void*);
|
||||
void stopAllSe(u8, void*);
|
||||
void stopActorSoundOneBuffer(void*, JAISound*);
|
||||
void stopIDSoundOneBuffer(u32, JAISound*);
|
||||
void stopIDActorSoundOneBuffer(u32, void*, JAISound*);
|
||||
void stopAllSound(void*);
|
||||
void stopAllSound(u32);
|
||||
void stopAllSound(u32, void*);
|
||||
void deleteObject(void*);
|
||||
void getSoundOffsetNumberFromID(u32);
|
||||
void setSeCategoryVolume(u8, u8);
|
||||
static u16 setParameterSeqSync(JASystem::TTrack*, u16);
|
||||
void allocStreamBuffer(void*, s32);
|
||||
void deallocStreamBuffer();
|
||||
|
||||
/* 0x04 */ void* field_0x4;
|
||||
/* 0x08 */ JKRSolidHeap* field_0x8;
|
||||
/* 0x0C */ u8 initLoadFileSw;
|
||||
/* 0x0D */ u8 field_0xd;
|
||||
/* 0x0E */ struct {
|
||||
u8 flag1 : 1;
|
||||
u8 flag2 : 1;
|
||||
u8 flag3 : 1;
|
||||
u8 flag4 : 1;
|
||||
u8 flag5 : 1;
|
||||
u8 flag6 : 1;
|
||||
u8 flag7 : 1;
|
||||
u8 flag8 : 1;
|
||||
} field_0xe;
|
||||
/* 0x10 */ int field_0x10;
|
||||
/* 0x14 */ int field_0x14;
|
||||
/* 0x18 */ int field_0x18;
|
||||
/* 0x1C */ int field_0x1c;
|
||||
|
||||
static JAIBasic* getInterface() { return msBasic; }
|
||||
static JKRSolidHeap* getCurrentJAIHeap() {
|
||||
JUT_ASSERT_MSG(148, msCurrentHeap, "JAIBasicのカレントヒープがありません(mCurrentHeap==NULL)\n");
|
||||
return msCurrentHeap;
|
||||
}
|
||||
|
||||
static JAIBasic* msBasic;
|
||||
static JKRSolidHeap* msCurrentHeap;
|
||||
};
|
||||
|
||||
#endif /* JAIBASIC_H */
|
||||
@@ -0,0 +1,19 @@
|
||||
#ifndef JAICONST_H
|
||||
#define JAICONST_H
|
||||
|
||||
#include "JSystem/JMath/random.h"
|
||||
#include "dolphin/mtx/vec.h"
|
||||
|
||||
namespace JAInter {
|
||||
u8* transInitDataFile(u8*, u32);
|
||||
void loadTmpDVDFile(char*, u8**);
|
||||
void deleteTmpDVDFile(u8**);
|
||||
u32 routeToTrack(u32);
|
||||
|
||||
namespace Const {
|
||||
extern Vec dummyZeroVec;
|
||||
extern JMath::TRandom_fast_ random;
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* JAICONST_H */
|
||||
@@ -0,0 +1,126 @@
|
||||
#ifndef JAIGLOBALPARAMETER_H
|
||||
#define JAIGLOBALPARAMETER_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
namespace JAIGlobalParameter {
|
||||
void setParamInitDataPointer(void*);
|
||||
void setParamInterfaceHeapSize(u32);
|
||||
void setParamSoundSceneMax(u32);
|
||||
void setParamSeRegistMax(u32);
|
||||
void setParamSeTrackMax(u32);
|
||||
void setParamSeqPlayTrackMax(u32);
|
||||
void setParamSeqControlBufferMax(u32);
|
||||
void setParamStreamControlBufferMax(u32);
|
||||
void setParamAutoHeapMax(u32);
|
||||
void setParamStayHeapMax(u32);
|
||||
void setParamInputGainDown(f32);
|
||||
void setParamOutputGainUp(f32);
|
||||
void setParamDistanceMax(f32);
|
||||
void setParamMaxVolumeDistance(f32);
|
||||
void setParamMinDistanceVolume(f32);
|
||||
void setParamSeDistanceFxParameter(u16);
|
||||
void setParamStreamDecodedBufferBlocks(u32);
|
||||
void setParamStreamInsideBufferCut(bool);
|
||||
void setParamAutoHeapRoomSize(u32);
|
||||
void setParamStayHeapSize(u32);
|
||||
void setParamSeDolbyCenterValue(u8);
|
||||
void setParamSeDolbyFrontDistanceMax(f32);
|
||||
void setParamSeDolbyBehindDistanceMax(f32);
|
||||
void setParamInitDataFileName(char*);
|
||||
void setParamWavePath(char*);
|
||||
void setParamSequenceArchivesPath(char*);
|
||||
void setParamStreamPath(char*);
|
||||
void setParamAudioResPath(char*);
|
||||
void setParamSequenceArchivesFileName(char*);
|
||||
void setParamDummyObjectLifeTime(u32);
|
||||
void setParamDummyObjectMax(u32);
|
||||
void setParamAudioCameraMax(u32);
|
||||
void setParamSystemTrackMax(s32);
|
||||
void setParamSoundOutputMode(u32);
|
||||
int getParamSeCategoryMax();
|
||||
u32 getParamSoundSceneMax();
|
||||
u32 getParamSeRegistMax();
|
||||
u32 getParamSeTrackMax();
|
||||
u32 getParamSeqTrackMax();
|
||||
u32 getParamSeqControlBufferMax();
|
||||
u32 getParamStreamControlBufferMax();
|
||||
u32 getParamStreamParameterBufferMax();
|
||||
u32 getParamAutoHeapMax();
|
||||
u32 getParamStayHeapMax();
|
||||
u32 getParamSeqPlayTrackMax();
|
||||
f32 getParamDistanceMax();
|
||||
f32 getParamMaxVolumeDistance();
|
||||
f32 getParamMinDistanceVolume();
|
||||
u32 getParamAutoHeapRoomSize();
|
||||
u32 getParamStayHeapSize();
|
||||
f32 getParamSeDolbyCenterValue();
|
||||
f32 getParamSeDolbyFrontDistanceMax();
|
||||
f32 getParamSeDolbyBehindDistanceMax();
|
||||
char* getParamInitDataFileName();
|
||||
char* getParamWavePath();
|
||||
char* getParamSequenceArchivesPath();
|
||||
char* getParamStreamPath();
|
||||
char* getParamAudioResPath();
|
||||
char* getParamSequenceArchivesFileName();
|
||||
u32 getParamDopplarMoveTime();
|
||||
u8 getParamDistanceParameterMoveTime();
|
||||
u32 getParamDummyObjectMax();
|
||||
u8 getParamSeqMuteVolumeSePlay();
|
||||
u32 getParamSeqMuteMoveSpeedSePlay();
|
||||
u32 getParamAudioCameraMax();
|
||||
u8 getParamSeqParameterLines();
|
||||
u8 getParamStreamParameterLines();
|
||||
u16 getParamSeDistanceWaitMax();
|
||||
|
||||
extern u8 distanceParameterMoveTime;
|
||||
extern u8 audioSystemThreadPriority;
|
||||
extern u8 audioDvdThreadPriority;
|
||||
extern u8 seqMuteVolumeSePlay;
|
||||
extern u8 seqParameterLines;
|
||||
extern u8 streamParameterLines;
|
||||
extern u16 seDistanceFxParameter;
|
||||
extern u32 soundSceneMax;
|
||||
extern u32 seRegistMax;
|
||||
extern u32 seTrackMax;
|
||||
extern u32 seqTrackMax;
|
||||
extern u32 seqPlayTrackMax;
|
||||
extern u32 seqControlBufferMax;
|
||||
extern u32 streamControlBufferMax;
|
||||
extern u32 streamParameterBufferMax;
|
||||
extern u32 autoHeapMax;
|
||||
extern u32 stayHeapMax;
|
||||
extern u32 autoHeapRoomSize;
|
||||
extern u32 stayHeapSize;
|
||||
extern char* initDataFileName;
|
||||
extern char* wavePath;
|
||||
extern char* sequenceArchivesPath;
|
||||
extern char* streamPath;
|
||||
extern char* audioResPath;
|
||||
extern char* sequenceArchivesFileName;
|
||||
extern f32 inputGainDown;
|
||||
extern f32 outputGainUp;
|
||||
extern f32 distanceMax;
|
||||
extern f32 maxVolumeDistance;
|
||||
extern f32 seDolbyCenterValue;
|
||||
extern f32 seDolbyFrontDistanceMax;
|
||||
extern f32 seDolbyBehindDistanceMax;
|
||||
extern u32 dopplarMoveTime;
|
||||
extern u32 dummyObjectLifeTime;
|
||||
extern u32 dummyObjectMax;
|
||||
extern u32 seqMuteMoveSpeedSePlay;
|
||||
extern u32 audioCameraMax;
|
||||
extern s32 systemTrackMax;
|
||||
extern f32 panDistanceMax;
|
||||
extern f32 panDistance2Max;
|
||||
extern f32 panAngleParameter;
|
||||
extern f32 panAngleParameter2;
|
||||
extern f32 dopplarParameter;
|
||||
extern u16 seDistanceWaitMax;
|
||||
extern f32 seDistancepitchMax;
|
||||
extern u16 seDefaultFx;
|
||||
extern u32 interfaceHeapSize;
|
||||
extern f32 minDistanceVolume;
|
||||
}
|
||||
|
||||
#endif /* JAIGLOBALPARAMETER_H */
|
||||
@@ -0,0 +1,15 @@
|
||||
#ifndef JAIINITDATA_H
|
||||
#define JAIINITDATA_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
namespace JAInter {
|
||||
namespace InitData {
|
||||
BOOL checkInitDataFile();
|
||||
void checkInitDataOnMemory();
|
||||
|
||||
extern u32* aafPointer;
|
||||
};
|
||||
}
|
||||
|
||||
#endif /* JAIINITDATA_H */
|
||||
@@ -0,0 +1,133 @@
|
||||
#ifndef JAISEQUENCEMGR_H
|
||||
#define JAISEQUENCEMGR_H
|
||||
|
||||
#include "JSystem/JAudio/JAISound.h"
|
||||
#include "JSystem/JAudio/JASCmdStack.h"
|
||||
#include "JSystem/JAudio/JASTrack.h"
|
||||
|
||||
class JAISound;
|
||||
class JKRArchive;
|
||||
|
||||
namespace JAInter {
|
||||
class Actor;
|
||||
class MoveParaSet;
|
||||
|
||||
class PlayerParameter {
|
||||
public:
|
||||
PlayerParameter();
|
||||
~PlayerParameter();
|
||||
|
||||
/* 0x00 */ int field_0x0;
|
||||
/* 0x04 */ int field_0x4;
|
||||
/* 0x08 */ int field_0x8;
|
||||
/* 0x0C */ int field_0xc;
|
||||
/* 0x10 */ int field_0x10;
|
||||
/* 0x14 */ int field_0x14;
|
||||
/* 0x18 */ int field_0x18;
|
||||
/* 0x1C */ int field_0x1c;
|
||||
/* 0x20 */ int field_0x20;
|
||||
/* 0x24 */ int field_0x24;
|
||||
/* 0x28 */ int field_0x28;
|
||||
/* 0x2C */ JASystem::Kernel::TPortCmd field_0x2c;
|
||||
};
|
||||
|
||||
class SeqUpdateData {
|
||||
public:
|
||||
SeqUpdateData();
|
||||
|
||||
/* 0x00 */ u8 field_0x0;
|
||||
/* 0x01 */ u8 field_0x1;
|
||||
/* 0x02 */ u8 field_0x2;
|
||||
/* 0x03 */ u8 field_0x3;
|
||||
/* 0x04 */ int field_0x4;
|
||||
/* 0x08 */ int field_0x8;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ f32 field_0x1c;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32* trackVolume;
|
||||
/* 0x28 */ f32* trackPitch;
|
||||
/* 0x2C */ f32* trackFxmix;
|
||||
/* 0x30 */ f32* trackPan;
|
||||
/* 0x34 */ f32* trackDolby;
|
||||
/* 0x38 */ int field_0x38;
|
||||
/* 0x3C */ int field_0x3c;
|
||||
/* 0x40 */ int field_0x40;
|
||||
/* 0x44 */ int* trackupdate;
|
||||
/* 0x48 */ int field_0x48;
|
||||
/* 0x4C */ PlayerParameter* systemTrackParameter;
|
||||
};
|
||||
|
||||
class MuteBit {
|
||||
public:
|
||||
MuteBit();
|
||||
|
||||
u8 flag1 : 1;
|
||||
u8 flag2 : 1;
|
||||
u8 flag3 : 1;
|
||||
u8 flag4 : 1;
|
||||
u8 flag5 : 1;
|
||||
u8 flag6 : 1;
|
||||
u8 flag7 : 1;
|
||||
u8 flag8 : 1;
|
||||
};
|
||||
|
||||
class SeqParameter {
|
||||
public:
|
||||
SeqParameter() {}
|
||||
int init();
|
||||
|
||||
/* 0x0000 */ MoveParaSet field_0x0;
|
||||
/* 0x0010 */ MoveParaSet field_0x10[16];
|
||||
/* 0x0110 */ MoveParaSet field_0x110[20];
|
||||
/* 0x0250 */ MoveParaSet* seqPan;
|
||||
/* 0x0254 */ MoveParaSet* seqPitch;
|
||||
/* 0x0258 */ MoveParaSet* seqFxmix;
|
||||
/* 0x025C */ MoveParaSet* seqDolby;
|
||||
/* 0x0260 */ MoveParaSet field_0x260[32];
|
||||
/* 0x0460 */ MoveParaSet field_0x460[32];
|
||||
/* 0x0660 */ MoveParaSet field_0x660[32];
|
||||
/* 0x0860 */ MoveParaSet field_0x860[32];
|
||||
/* 0x0A60 */ MoveParaSet field_0xa60[32];
|
||||
/* 0x0C60 */ MoveParaSet field_0xc60[32];
|
||||
/* 0x0E60 */ u8 field_0xe60[0x1261 - 0xe60];
|
||||
/* 0x1261 */ u8 field_0x1261;
|
||||
/* 0x1262 */ u8 field_0x1262[0x133c - 0x1262];
|
||||
/* 0x133C */ MuteBit field_0x133c[32];
|
||||
/* 0x135C */ SeqUpdateData* field_0x135c;
|
||||
/* 0x1360 */ JASystem::TTrack field_0x1360;
|
||||
/* 0x16EC */ JASystem::TTrack::TOuterParam field_0x16ec;
|
||||
};
|
||||
|
||||
namespace SequenceMgr {
|
||||
void init();
|
||||
void getArchiveName(char*);
|
||||
void setArchivePointer(JKRArchive*);
|
||||
void processGFrameSequence();
|
||||
void checkEntriedSeq();
|
||||
void checkFadeoutSeq();
|
||||
void checkStoppedSeq();
|
||||
void checkPlayingSeq();
|
||||
void checkStartedSeq();
|
||||
void checkReadSeq();
|
||||
void checkSeqWave();
|
||||
void checkPlayingSeqUpdateMultiplication(u32, u8, u32, MoveParaSet*, u32*, u8, f32*);
|
||||
void checkPlayingSeqUpdateAddition(u32, u8, u32, MoveParaSet*, u32*, u8, f32*, f32);
|
||||
void checkPlayingSeqUpdateTrack(u32, u32, MoveParaSet*, u32*, u8, f32*);
|
||||
void checkPlayingSeqTrack(u32);
|
||||
void stopSeq(JAISound*);
|
||||
void checkDvdLoadArc(u32, u32);
|
||||
void storeSeqBuffer(JAISound**, Actor*, u32, u32, u8, void*);
|
||||
void releaseSeqBuffer(JAISound*, u32);
|
||||
int getPlayTrackInfo(u32);
|
||||
|
||||
extern LinkSound seqControl;
|
||||
extern SeqUpdateData* seqTrackInfo;
|
||||
extern int* FixSeqBufPointer;
|
||||
extern JKRArchive* arcPointer;
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* JAISEQUENCEMGR_H */
|
||||
@@ -0,0 +1,137 @@
|
||||
#ifndef JAISOUND_H
|
||||
#define JAISOUND_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
namespace JAInter {
|
||||
class Actor;
|
||||
class SeParameter;
|
||||
class SeqParameter;
|
||||
class StreamParameter;
|
||||
}
|
||||
|
||||
class JAISound {
|
||||
public:
|
||||
JAISound();
|
||||
virtual f32 setPositionDopplarCommon(u32);
|
||||
virtual f32 setDistanceVolumeCommon(f32, u8);
|
||||
virtual f32 setDistancePanCommon();
|
||||
virtual void setSeDistanceParameters();
|
||||
virtual void setSeDistanceVolume(u8);
|
||||
virtual void setSeDistancePan(u8);
|
||||
virtual void setSeDistancePitch(u8);
|
||||
virtual void setSeDistanceFxmix(u8);
|
||||
virtual void setSeDistanceFir(u8);
|
||||
virtual void setSeDistanceDolby(u8);
|
||||
virtual void setSePositionDopplar();
|
||||
|
||||
int getSeCategoryNumber();
|
||||
int getSwBit();
|
||||
int checkSwBit(u32);
|
||||
u8 getInfoPriority();
|
||||
void clearMainSoundPPointer();
|
||||
void start(u32);
|
||||
void stop(u32);
|
||||
void setVolume(f32, u32, u8);
|
||||
void setPan(f32, u32, u8);
|
||||
void setPitch(f32, u32, u8);
|
||||
void setFxmix(f32, u32, u8);
|
||||
void setDolby(f32, u32, u8);
|
||||
void setTempoProportion(f32, u32);
|
||||
void setPortData(u8, u16);
|
||||
void setPrepareFlag(u8);
|
||||
void setSeqInterVolume(u8, f32, u32);
|
||||
void setSeqInterPan(u8, f32, u32);
|
||||
void setSeqInterPitch(u8, f32, u32);
|
||||
void setSeqInterFxmix(u8, f32, u32);
|
||||
void setSeqInterDolby(u8, f32, u32);
|
||||
void setSeqTempoProportion(f32, u32);
|
||||
void setSeqPortData(u8, u16, u32);
|
||||
void setTrackVolume(u8, f32, u32);
|
||||
void setTrackInterruptSwitch(u8, u8);
|
||||
void setTrackPortData(u8, u8, u16);
|
||||
void setSeInterRandomPara(f32*, u32, f32, f32);
|
||||
void setSeInterVolume(u8, f32, u32, u8);
|
||||
void setSeInterPan(u8, f32, u32, u8);
|
||||
void setSeInterPitch(u8, f32, u32, f32);
|
||||
void setSeInterFxmix(u8, f32, u32, u8);
|
||||
void setSeInterDolby(u8, f32, u32, u8);
|
||||
void setSePortData(u8, u16);
|
||||
void setStreamInterVolume(u8, f32, u32);
|
||||
void setStreamInterPitch(u8, f32, u32);
|
||||
void setStreamInterPan(u8, f32, u32);
|
||||
void setStreamPrepareFlag(u8);
|
||||
void setPauseMode(u8, u8);
|
||||
void setSeqPrepareFlag(u8);
|
||||
f32 getSeqInterVolume(u8);
|
||||
f32 getStreamInterVolume(u8);
|
||||
JAInter::SeqParameter* getSeqParameter();
|
||||
JAInter::SeParameter* getSeParameter();
|
||||
JAInter::StreamParameter* getStreamParameter();
|
||||
int getTrackPortRoute(u8, u8);
|
||||
int checkSoundHandle(u32, void*);
|
||||
void initParameter(JAISound**, JAInter::Actor*, u32, u32, u8, void*);
|
||||
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ u8 field_0x5;
|
||||
/* 0x06 */ u8 field_0x6;
|
||||
/* 0x07 */ u8 field_0x7;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 field_0x9;
|
||||
/* 0x0a */ short field_0xa;
|
||||
/* 0x0c */ int field_0xc;
|
||||
/* 0x10 */ int field_0x10;
|
||||
/* 0x14 */ u32 field_0x14;
|
||||
/* 0x18 */ int field_0x18;
|
||||
/* 0x1c */ int field_0x1c;
|
||||
/* 0x20 */ void* field_0x20;
|
||||
/* 0x24 */ void* field_0x24;
|
||||
/* 0x28 */ int field_0x28;
|
||||
/* 0x2C */ int field_0x2c;
|
||||
/* 0x30 */ JAISound* field_0x30;
|
||||
/* 0x34 */ JAISound* field_0x34;
|
||||
/* 0x38 */ JAISound** field_0x38;
|
||||
/* 0x3C */ void* field_0x3c;
|
||||
/* 0x40 */ void* field_0x40;
|
||||
};
|
||||
|
||||
namespace JAInter {
|
||||
class MoveParaSet {
|
||||
public:
|
||||
MoveParaSet(f32 param_1=1.0f) {
|
||||
field_0x4 = param_1;
|
||||
field_0x0 = param_1;
|
||||
field_0xc = 0;
|
||||
}
|
||||
int set(f32 param_1, u32 param_2);
|
||||
bool move();
|
||||
|
||||
/* 0x00 */ f32 field_0x0;
|
||||
/* 0x04 */ f32 field_0x4;
|
||||
/* 0x08 */ f32 field_0x8;
|
||||
/* 0x0C */ int field_0xc;
|
||||
};
|
||||
|
||||
class MoveParaSetInitHalf : public MoveParaSet {
|
||||
public:
|
||||
MoveParaSetInitHalf() : MoveParaSet(0.5f) {}
|
||||
};
|
||||
|
||||
class MoveParaSetInitZero : public MoveParaSet {
|
||||
public:
|
||||
MoveParaSetInitZero() : MoveParaSet(0.0f) {}
|
||||
};
|
||||
|
||||
class LinkSound {
|
||||
public:
|
||||
void init(JAISound* param_1, u32 param_2);
|
||||
JAISound* getSound();
|
||||
void releaseSound(JAISound* param_1);
|
||||
|
||||
/* 0x00 */ JAISound* field_0x0;
|
||||
/* 0x04 */ JAISound* field_0x4;
|
||||
/* 0x08 */ JAISound* field_0x8;
|
||||
};
|
||||
}
|
||||
|
||||
#endif /* JAISOUND_H */
|
||||
@@ -0,0 +1,22 @@
|
||||
#ifndef JAISOUNDTABLE_H
|
||||
#define JAISOUNDTABLE_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
namespace JAInter {
|
||||
namespace SoundTable {
|
||||
void init(u8*, u32);
|
||||
void getInfoPointer(u32);
|
||||
void getInfoFormat(u32);
|
||||
u8 getCategotyMax();
|
||||
|
||||
extern u8 mVersion;
|
||||
extern u8 mCategotyMax;
|
||||
extern s16* mSoundMax;
|
||||
extern u32 mDatasize;
|
||||
extern int* mPointerCategory;
|
||||
extern u8* mAddress;
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* JAISOUNDTABLE_H */
|
||||
@@ -0,0 +1,122 @@
|
||||
#ifndef JAISTREAMMGR_H
|
||||
#define JAISTREAMMGR_H
|
||||
|
||||
#include "dolphin/dvd/dvd.h"
|
||||
#include "JSystem/JAudio/JAISound.h"
|
||||
#include "JSystem/JAudio/JASHeapCtrl.h"
|
||||
|
||||
class JAISound;
|
||||
|
||||
namespace JASystem {
|
||||
class TDSPChannel;
|
||||
namespace DSPInterface {
|
||||
class DSPBuffer;
|
||||
}
|
||||
}
|
||||
|
||||
namespace JAInter {
|
||||
class Actor;
|
||||
namespace StreamMgr {
|
||||
void init();
|
||||
void storeStreamBuffer(JAISound**, Actor*, u32, u32, u8, void*);
|
||||
void releaseStreamBuffer(JAISound*, u32);
|
||||
void processGFrameStream();
|
||||
void checkEntriedStream();
|
||||
void checkWaitStream();
|
||||
void checkRequestStream();
|
||||
void checkPlayingStream();
|
||||
|
||||
extern LinkSound streamControl;
|
||||
extern u8 flags;
|
||||
extern int streamUpdate;
|
||||
extern u8* streamList;
|
||||
extern u8* initOnCodeStrm;
|
||||
}
|
||||
|
||||
namespace StreamLib {
|
||||
void Play_DirectPCM(JASystem::TDSPChannel*, s16*, u16, u32, s16, u16);
|
||||
int Get_DirectPCM_LoopRemain(JASystem::DSPInterface::DSPBuffer*);
|
||||
int Get_DirectPCM_Remain(JASystem::DSPInterface::DSPBuffer*);
|
||||
void init(bool);
|
||||
void allocBuffer(void*, s32);
|
||||
bool deallocBuffer();
|
||||
int getNeedBufferSize();
|
||||
void setAllocBufferCallback(void (*)(void));
|
||||
void setDeallocBufferCallback(void (*)(void));
|
||||
void sync(s32);
|
||||
void __DecodePCM();
|
||||
void __DecodeADPCM();
|
||||
void __Decode();
|
||||
void __LoadFin(s32, DVDFileInfo*);
|
||||
void LoadADPCM();
|
||||
void setVolume(f32);
|
||||
void setPitch(f32);
|
||||
void setPan(f32 param_1);
|
||||
void stop();
|
||||
void setPauseFlag(u8 param_1);
|
||||
void clearPauseFlag(u8 param_1);
|
||||
void setPrepareFlag(u8 param_1);
|
||||
void setOutputMode(u32 param_1);
|
||||
u8 getPlayingFlag();
|
||||
void setDecodedBufferBlocks(u32 param_1);
|
||||
void LoopInit();
|
||||
s32 directPlayWait(void* param_1);
|
||||
void start(char* param_1, u32 param_2, void* param_3);
|
||||
void __start();
|
||||
s32 callBack(void* param_1);
|
||||
|
||||
extern s16 filter_table[];
|
||||
extern s16 table4[];
|
||||
extern DVDFileInfo finfo;
|
||||
extern u32 header[];
|
||||
extern char Filename[];
|
||||
extern JASystem::Kernel::TSolidHeap streamHeap;
|
||||
extern u32 LOOP_BLOCKS;
|
||||
extern int LOOP_SAMPLESIZE;
|
||||
extern int outputmode;
|
||||
extern int adpcm_remain;
|
||||
extern int adpcm_loadpoint;
|
||||
extern int loadsize;
|
||||
extern int adpcm_buffer;
|
||||
extern int loop_buffer;
|
||||
extern int store_buffer;
|
||||
extern JASystem::TDSPChannel* assign_ch[2];
|
||||
extern int playside;
|
||||
extern int playback_samples;
|
||||
extern int loadup_samples;
|
||||
extern u32 adpcmbuf_state;
|
||||
extern int movieframe;
|
||||
extern bool stopflag;
|
||||
extern bool stopflag2;
|
||||
extern u8 playflag;
|
||||
extern u8 playflag2;
|
||||
extern u8 prepareflag;
|
||||
extern u8 dspch_deallockflag;
|
||||
extern f32 outvolume;
|
||||
extern f32 outpitch;
|
||||
extern f32 outpan;
|
||||
extern f32 stackvolume;
|
||||
extern f32 stackpitch;
|
||||
extern f32 stackpan;
|
||||
extern u8 outflag_volume;
|
||||
extern bool outflag_pan;
|
||||
extern bool outflag_pitch;
|
||||
extern int loop_start_flag;
|
||||
extern int outpause;
|
||||
extern int playmode;
|
||||
extern int shift_sample;
|
||||
extern int extra_sample;
|
||||
extern int DvdLoadFlag;
|
||||
extern u32 startInitFlag;
|
||||
extern int Mode;
|
||||
extern int sFillBlockSize;
|
||||
extern void* Head;
|
||||
extern bool bufferMode;
|
||||
extern u8 allocFlag;
|
||||
extern u8 dspFinishFlag;
|
||||
extern void (*allocCallback)();
|
||||
extern void (*deallocCallback)();
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* JAISTREAMMGR_H */
|
||||
@@ -0,0 +1,33 @@
|
||||
#ifndef JAISYSTEMINTERFACE_H
|
||||
#define JAISYSTEMINTERFACE_H
|
||||
|
||||
#include "JSystem/JAudio/JASCmdStack.h"
|
||||
|
||||
class JAISound;
|
||||
|
||||
namespace JASystem {
|
||||
class TTrack;
|
||||
namespace Kernel {
|
||||
class TPortArgs;
|
||||
}
|
||||
}
|
||||
|
||||
namespace JAInter {
|
||||
class SeqUpdateData;
|
||||
namespace SystemInterface {
|
||||
s32 checkFileExsistence(char*);
|
||||
int checkSeqActiveFlag(JASystem::TTrack*);
|
||||
void trackToSeqp(JAISound*, u8);
|
||||
void setSeqPortargsF32(JAInter::SeqUpdateData*, u32, u8, f32);
|
||||
void setSeqPortargsU32(JAInter::SeqUpdateData*, u32, u8, u32);
|
||||
void rootInit(JAInter::SeqUpdateData*);
|
||||
void trackInit(JAInter::SeqUpdateData*);
|
||||
void outerInit(JAInter::SeqUpdateData*, void*, u32, u16, u8);
|
||||
void setPortParameter(JASystem::Kernel::TPortArgs*, JASystem::TTrack*, u32, u32);
|
||||
void setSePortParameter(JASystem::Kernel::TPortArgs*);
|
||||
|
||||
extern JASystem::Kernel::TPortCmd systemPortCmd;
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* JAISYSTEMINTERFACE_H */
|
||||
@@ -16,6 +16,7 @@ namespace JASystem {
|
||||
class TPortCmd {
|
||||
public:
|
||||
TPortCmd();
|
||||
~TPortCmd() {}
|
||||
bool addPortCmdOnce();
|
||||
bool setPortCmd(void (*)(TPortArgs*), TPortArgs*);
|
||||
bool addPortCmd(TPortHead*);
|
||||
|
||||
@@ -85,7 +85,7 @@ namespace JASystem {
|
||||
/* 0x64 */ short field_0x64;
|
||||
/* 0x66 */ short field_0x66;
|
||||
/* 0x68 */ int field_0x68;
|
||||
/* 0x6C */ int field_0x6c;
|
||||
/* 0x6C */ u32 field_0x6c;
|
||||
/* 0x70 */ u8 field_0x70[0x74 - 0x70];
|
||||
/* 0x74 */ int field_0x74;
|
||||
/* 0x78 */ short field_0x78[4];
|
||||
|
||||
@@ -10,6 +10,16 @@
|
||||
OSPanic(__FILE__, LINE, "Halt"); \
|
||||
}
|
||||
|
||||
// Favored by JAI (JAudio)
|
||||
#define JUT_ASSERT_MSG(LINE, COND, MSG) \
|
||||
if (!(COND)) { \
|
||||
OSReport(MSG); \
|
||||
if (!(COND)) { \
|
||||
JUTAssertion::showAssert(3, __FILE__, LINE, #COND); \
|
||||
OSPanic(__FILE__, LINE, "Halt"); \
|
||||
} \
|
||||
}
|
||||
|
||||
// Some asserts on floats have the wrong codegen with JUT_ASSERT's (COND) == 0 check.
|
||||
// Using !(COND) instead fixes them.
|
||||
#define JUT_ASSERT_FLOAT(LINE, COND) \
|
||||
|
||||
@@ -78,7 +78,16 @@ namespace daObjTribox {
|
||||
void execute_correct();
|
||||
BOOL _execute();
|
||||
BOOL _draw();
|
||||
|
||||
|
||||
static void reset();
|
||||
|
||||
static cXyz M_sound_pos;
|
||||
static int M_correct_cnt;
|
||||
static bool M_correct_flag;
|
||||
static int M_b_cont_cnt;
|
||||
static int M_c_cont_cnt;
|
||||
static u8 M_sink_start;
|
||||
|
||||
public:
|
||||
/* Place member variables here */
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user