// // Generated by dtk // Translation Unit: JAISound.cpp // #include "JSystem/JAudio/JAISound.h" #include "JSystem/JAudio/JAIBasic.h" #include "JSystem/JAudio/JAIGlobalParameter.h" #include "JSystem/JAudio/JAISeMgr.h" #include "JSystem/JAudio/JAISequenceMgr.h" #include "JSystem/JAudio/JAIStreamMgr.h" #include "JSystem/JKernel/JKRSolidHeap.h" #include "JSystem/JUtility/JUTAssert.h" /* 8029859C-802985C4 .text __ct__8JAISoundFv */ JAISound::JAISound() { field_0x3c = NULL; field_0x5 = 0; field_0x6 = 10; field_0x24 = NULL; } /* 802985C4-802985E8 .text getSeCategoryNumber__8JAISoundFv */ u8 JAISound::getSeCategoryNumber() { return JAInter::SeMgr::changeIDToCategory(this->mSoundID); } /* 802985E8-802985F4 .text getSwBit__8JAISoundFv */ int JAISound::getSwBit() { return ((u32*)field_0x40)[0]; } /* 802985F4-80298624 .text checkSwBit__8JAISoundFUl */ int JAISound::checkSwBit(u32 param_1) { return param_1 & getSwBit(); } /* 80298624-80298630 .text getInfoPriority__8JAISoundFv */ u8 JAISound::getInfoPriority() { return ((u8*)field_0x40)[4]; } /* 80298630-80298648 .text clearMainSoundPPointer__8JAISoundFv */ void JAISound::clearMainSoundPPointer() { if (!field_0x38) { return; } field_0x38[0] = NULL; } /* 80298648-80298688 .text start__8JAISoundFUl */ void JAISound::start(u32 param_1) { setPrepareFlag(0); field_0x14 = param_1; } /* 80298688-802986B8 .text stop__8JAISoundFUl */ void JAISound::stop(u32 param_1) { JAIBasic::msBasic->stopSoundHandle(this, param_1); } /* 802986B8-8029878C .text setVolume__8JAISoundFfUlUc */ void JAISound::setVolume(f32 param_1, u32 param_2, u8 param_3) { switch(mSoundID & JAISoundID_TypeMask) { case JAISoundID_Type_Sequence: setSeqInterVolume(param_3, param_1, param_2); break; case JAISoundID_Type_Se: setSeInterVolume(param_3, param_1, param_2, 0); break; case JAISoundID_Type_Stream: setStreamInterVolume(param_3, param_1, param_2); break; default: JUT_ASSERT_MSG(177, 0, "JAISound::setVolume サウンドカテゴリービットが異常です。\n"); } } static void dummy1() { OSReport("JAISound::setDirectVolume サウンドカテゴリービットが異常です。\n"); } /* 8029878C-80298864 .text setPan__8JAISoundFfUlUc */ void JAISound::setPan(f32 param_1, u32 param_2, u8 param_3) { switch(mSoundID & JAISoundID_TypeMask) { case JAISoundID_Type_Sequence: setSeqInterPan(param_3, param_1, param_2); break; case JAISoundID_Type_Se: setSeInterPan(param_3, param_1, param_2, 0); break; case JAISoundID_Type_Stream: setStreamInterPan(param_3, param_1, param_2); break; default: JUT_ASSERT_MSG(217, 0, "JAISound::setPan サウンドカテゴリービットが異常です。\n"); } } static void dummy2() { OSReport("JAISound::setDirectPan サウンドカテゴリービットが異常です。\n"); } /* 80298864-8029893C .text setPitch__8JAISoundFfUlUc */ void JAISound::setPitch(f32 param_1, u32 param_2, u8 param_3) { switch(mSoundID & JAISoundID_TypeMask) { case JAISoundID_Type_Sequence: setSeqInterPitch(param_3, param_1, param_2); break; case JAISoundID_Type_Se: setSeInterPitch(param_3, param_1, param_2, 0); break; case JAISoundID_Type_Stream: setStreamInterPitch(param_3, param_1, param_2); break; default: JUT_ASSERT_MSG(257, 0, "JAISound::setPitch サウンドカテゴリービットが異常です。\n"); } } static void dummy3() { OSReport("JAISound::setDirectPitch サウンドカテゴリービットが異常です。\n"); } /* 8029893C-80298A04 .text setFxmix__8JAISoundFfUlUc */ void JAISound::setFxmix(f32 param_1, u32 param_2, u8 param_3) { switch(mSoundID & JAISoundID_TypeMask) { case JAISoundID_Type_Sequence: setSeqInterFxmix(param_3, param_1, param_2); break; case JAISoundID_Type_Se: setSeInterFxmix(param_3, param_1, param_2, 0); break; case JAISoundID_Type_Stream: break; default: JUT_ASSERT_MSG(297, 0, "JAISound::setFxmix サウンドカテゴリービットが異常です。\n"); } } static void dummy4() { OSReport("JAISound::setDirectFxmix サウンドカテゴリービットが異常です。\n"); } /* 80298A04-80298ACC .text setDolby__8JAISoundFfUlUc */ void JAISound::setDolby(f32 param_1, u32 param_2, u8 param_3) { switch(mSoundID & JAISoundID_TypeMask) { case JAISoundID_Type_Sequence: setSeqInterDolby(param_3, param_1, param_2); break; case JAISoundID_Type_Se: setSeInterDolby(param_3, param_1, param_2, 0); break; case JAISoundID_Type_Stream: break; default: JUT_ASSERT_MSG(337, 0, "JAISound::setDolby サウンドカテゴリービットが異常です。\n"); } } static void dummy5() { OSReport("JAISound::setDirectDolby サウンドカテゴリービットが異常です。\n"); } /* 80298ACC-80298B74 .text setTempoProportion__8JAISoundFfUl */ void JAISound::setTempoProportion(f32 param_1, u32 param_2) { switch(mSoundID & JAISoundID_TypeMask) { case JAISoundID_Type_Sequence: setSeqTempoProportion(param_1, param_2); break; case JAISoundID_Type_Se: break; case JAISoundID_Type_Stream: break; default: JUT_ASSERT_MSG(377, 0, "JAISound::setTempoProportion サウンドカテゴリービットが異常です。\n"); } } /* 80298B74-80298C28 .text setPortData__8JAISoundFUcUs */ void JAISound::setPortData(u8 param_1, u16 param_2) { switch(mSoundID & JAISoundID_TypeMask) { case JAISoundID_Type_Sequence: setSeqPortData(param_1, param_2, 0); break; case JAISoundID_Type_Se: setSePortData(param_1, param_2); break; case JAISoundID_Type_Stream: break; default: JUT_ASSERT_MSG(397, 0, "JAISound::setPortData サウンドカテゴリービットが異常です。\n"); } } /* 80298C28-80298CD8 .text setPrepareFlag__8JAISoundFUc */ void JAISound::setPrepareFlag(u8 param_1) { switch(mSoundID & JAISoundID_TypeMask) { case JAISoundID_Type_Sequence: setSeqPrepareFlag(param_1); break; case JAISoundID_Type_Se: break; case JAISoundID_Type_Stream: setStreamPrepareFlag(param_1); break; default: JUT_ASSERT_MSG(416, 0, "JAISound::setPrepareFlag サウンドカテゴリービットが異常です。\n"); } } /* 80298CD8-80298E30 .text setDistanceVolumeCommon__8JAISoundFfUc */ f32 JAISound::setDistanceVolumeCommon(f32 param_1, u8 param_2) { f32 var1; if (field_0x8 != 4) { var1 = mPositionInfo[field_0x8].field_0x18; } else { var1 = mPositionInfo[0].field_0x18; for (u8 i = 1; i < JAIGlobalParameter::audioCameraMax; i++) { if (mPositionInfo[i].field_0x18 < var1) { var1 = mPositionInfo[i].field_0x18; } } } if (var1 < JAIGlobalParameter::maxVolumeDistance) { return 1.0f; } var1 -= JAIGlobalParameter::maxVolumeDistance; f32 var2 = param_1 - JAIGlobalParameter::maxVolumeDistance; if (param_2 > 3) { var2 /= 1 << (param_2 & 3) + 1; } else if (param_2 != 0) { var2 *= 1 << (param_2 & 3); } if (var1 < var2) { if (param_2 > 3) { return 1.0f - var1 / var2; } else { return JAIGlobalParameter::minDistanceVolume + (1.0f - JAIGlobalParameter::minDistanceVolume) * (1.0f - var1 / var2); } } else { if (param_2 > 3) { return 0.0f; } else { return JAIGlobalParameter::minDistanceVolume; } } } /* 80298E30-80298F8C .text setDistancePanCommon__8JAISoundFv */ f32 JAISound::setDistancePanCommon() { /* Nonmatching */ } /* 80298F8C-80299178 .text setPositionDopplarCommon__8JAISoundFUl */ f32 JAISound::setPositionDopplarCommon(u32) { /* Nonmatching */ } /* 80299178-8029925C .text setSeqInterVolume__8JAISoundFUcfUl */ void JAISound::setSeqInterVolume(u8 line_, f32 param_2, u32 param_3) { if ((mSoundID & JAISoundID_TypeMask) != JAISoundID_Type_Sequence) { return; } if (!getSeqParameter()) { return; } int r31 = getSeqParameter()->mVolumes[line_].set(param_2, param_3); if (r31 == 1) { getSeqParameter()->field_0x126c |= 1 << line_; } if (getSeqParameter()->field_0x135c && r31 != 2) { getSeqParameter()->field_0x135c->field_0x8 |= 0x40000; } } static void dummy6() { OSReport("JAISound::checkReady サウンドカテゴリービットが異常です。\n"); } /* 8029925C-802993AC .text setSeqInterPan__8JAISoundFUcfUl */ void JAISound::setSeqInterPan(u8 line_, f32 param_2, u32 param_3) { if ((mSoundID & JAISoundID_TypeMask) != JAISoundID_Type_Sequence) { return; } if (!getSeqParameter()) { return; } JUT_ASSERT_MSG(660, line_seqPan[line_].set(param_2, param_3); if (r31 == 1) { getSeqParameter()->field_0x1270 |= 1 << line_; } if (getSeqParameter()->field_0x135c && r31 != 2) { getSeqParameter()->field_0x135c->field_0x8 |= 0x80000; } } /* 802993AC-802994FC .text setSeqInterPitch__8JAISoundFUcfUl */ void JAISound::setSeqInterPitch(u8 line_, f32 param_2, u32 param_3) { if ((mSoundID & JAISoundID_TypeMask) != JAISoundID_Type_Sequence) { return; } if (!getSeqParameter()) { return; } JUT_ASSERT_MSG(678, line_seqPitch[line_].set(param_2, param_3); if (r31 == 1) { getSeqParameter()->field_0x1274 |= 1 << line_; } if (getSeqParameter()->field_0x135c && r31 != 2) { getSeqParameter()->field_0x135c->field_0x8 |= 0x100000; } } /* 802994FC-8029964C .text setSeqInterFxmix__8JAISoundFUcfUl */ void JAISound::setSeqInterFxmix(u8 line_, f32 param_2, u32 param_3) { if ((mSoundID & JAISoundID_TypeMask) != JAISoundID_Type_Sequence) { return; } if (!getSeqParameter()) { return; } JUT_ASSERT_MSG(696, line_seqFxmix[line_].set(param_2, param_3); if (r31 == 1) { getSeqParameter()->field_0x1278 |= 1 << line_; } if (getSeqParameter()->field_0x135c && r31 != 2) { getSeqParameter()->field_0x135c->field_0x8 |= 0x200000; } } /* 8029964C-802997E4 .text setSeqInterDolby__8JAISoundFUcfUl */ void JAISound::setSeqInterDolby(u8 line_, f32 param_2, u32 param_3) { if ((mSoundID & JAISoundID_TypeMask) != JAISoundID_Type_Sequence) { return; } if (!getSeqParameter()) { return; } JUT_ASSERT_MSG(714, line_field_0xd != 2) { if (getSeqParameter()->seqDolby[line_].mCurrentValue != 0.0f) { param_2 = 0.0f; } else { return; } } int r31 = getSeqParameter()->seqDolby[line_].set(param_2, param_3); if (r31 == 1) { getSeqParameter()->field_0x127c |= 1 << line_; } if (getSeqParameter()->field_0x135c && r31 != 2) { getSeqParameter()->field_0x135c->field_0x8 |= 0x400000; } } /* 802997E4-80299884 .text setSeqTempoProportion__8JAISoundFfUl */ void JAISound::setSeqTempoProportion(f32 param_1, u32 param_2) { if ((mSoundID & JAISoundID_TypeMask) != JAISoundID_Type_Sequence) { return; } if (!getSeqParameter()) { return; } getSeqParameter()->mTempo.set(param_1, param_2); if (getSeqParameter()->field_0x135c) { getSeqParameter()->field_0x135c->field_0x8 |= 4; } } /* 80299884-802999F4 .text setSeqPortData__8JAISoundFUcUsUl */ void JAISound::setSeqPortData(u8 line_, u16 param_2, u32 param_3) { /* Nonmatching */ if ((mSoundID & JAISoundID_TypeMask) != JAISoundID_Type_Sequence) { return; } if (!getSeqParameter()) { return; } if (getSeqParameter()->field_0x10[line_].mCurrentValue == 0.0f && field_0x5 >= 3) { u16 local_38; JASystem::TTrack* track = getSeqParameter()->getRootTrackPointer(); track->readPortApp(line_ << 16, &local_38); getSeqParameter()->field_0x10[line_].mCurrentValue = local_38; } int r29 = getSeqParameter()->field_0x10[line_].set(param_2, param_3); if (r29 == 1) { getSeqParameter()->field_0x1268 |= 1 << line_; } if (getSeqParameter()->field_0x135c && r29 != 2) { getSeqParameter()->field_0x135c->field_0x8 |= 0x10; } } /* 802999F4-80299B14 .text setTrackVolume__8JAISoundFUcfUl */ void JAISound::setTrackVolume(u8 line_, f32 param_2, u32 param_3) { if ((mSoundID & JAISoundID_TypeMask) != JAISoundID_Type_Sequence) { return; } if (!getSeqParameter()) { return; } if (field_0x5 >= 4 && (getSeqParameter()->field_0x135c->field_0x4 & 1 << line_) == 0) { return; } if (param_3 == 0) { param_3++; } int r30 = getSeqParameter()->mTrackVolumes[line_].set(param_2, param_3); if (r30 == 1) { getSeqParameter()->field_0x1280 |= 1 << line_; } if (getSeqParameter()->field_0x135c && r30 != 2) { getSeqParameter()->field_0x135c->field_0x8 |= 0x40; } } /* 80299B14-80299BAC .text setTrackInterruptSwitch__8JAISoundFUcUc */ void JAISound::setTrackInterruptSwitch(u8 param_1, u8 param_2) { if ((mSoundID & JAISoundID_TypeMask) != JAISoundID_Type_Sequence) { return; } if (!getSeqParameter()) { return; } getSeqParameter()->field_0x131c[param_1] = param_2; if (getSeqParameter()->field_0x135c) { getSeqParameter()->field_0x135c->field_0x8 |= 0x800000; } } /* 80299BAC-80299CD4 .text setTrackPortData__8JAISoundFUcUcUs */ void JAISound::setTrackPortData(u8, u8, u16) { /* Nonmatching */ } /* 80299CD4-80299DE8 .text setSeInterRandomPara__8JAISoundFPfUlff */ void JAISound::setSeInterRandomPara(f32*, u32, f32, f32) { /* Nonmatching */ } /* 80299DE8-80299E88 .text setSeInterVolume__8JAISoundFUcfUlUc */ void JAISound::setSeInterVolume(u8, f32, u32, u8) { /* Nonmatching */ } /* 80299E88-80299F28 .text setSeInterPan__8JAISoundFUcfUlUc */ void JAISound::setSeInterPan(u8, f32, u32, u8) { /* Nonmatching */ } /* 80299F28-80299FE0 .text setSeInterPitch__8JAISoundFUcfUlf */ void JAISound::setSeInterPitch(u8, f32, u32, f32) { /* Nonmatching */ } /* 80299FE0-8029A080 .text setSeInterFxmix__8JAISoundFUcfUlUc */ void JAISound::setSeInterFxmix(u8, f32, u32, u8) { /* Nonmatching */ } /* 8029A080-8029A120 .text setSeInterDolby__8JAISoundFUcfUlUc */ void JAISound::setSeInterDolby(u8, f32, u32, u8) { /* Nonmatching */ } /* 8029A120-8029A1C4 .text setSePortData__8JAISoundFUcUs */ void JAISound::setSePortData(u8, u16) { /* Nonmatching */ } /* 8029A1C4-8029A2E4 .text setSeDistanceParameters__8JAISoundFv */ void JAISound::setSeDistanceParameters() { /* Nonmatching */ } /* 8029A2E4-8029A364 .text setSeDistanceVolume__8JAISoundFUc */ void JAISound::setSeDistanceVolume(u8) { /* Nonmatching */ } /* 8029A364-8029A3BC .text setSeDistancePan__8JAISoundFUc */ void JAISound::setSeDistancePan(u8) { /* Nonmatching */ } /* 8029A3BC-8029A544 .text setSeDistancePitch__8JAISoundFUc */ void JAISound::setSeDistancePitch(u8) { /* Nonmatching */ } /* 8029A544-8029A5CC .text setSePositionDopplar__8JAISoundFv */ void JAISound::setSePositionDopplar() { /* Nonmatching */ } /* 8029A5CC-8029A6B0 .text setSeDistanceFxmix__8JAISoundFUc */ void JAISound::setSeDistanceFxmix(u8) { /* Nonmatching */ } /* 8029A6B0-8029A6B4 .text setSeDistanceFir__8JAISoundFUc */ void JAISound::setSeDistanceFir(u8) {} /* 8029A6B4-8029A788 .text setSeDistanceDolby__8JAISoundFUc */ void JAISound::setSeDistanceDolby(u8) { /* Nonmatching */ } /* 8029A788-8029A86C .text setStreamInterVolume__8JAISoundFUcfUl */ void JAISound::setStreamInterVolume(u8, f32, u32) { /* Nonmatching */ } /* 8029A86C-8029A950 .text setStreamInterPitch__8JAISoundFUcfUl */ void JAISound::setStreamInterPitch(u8, f32, u32) { /* Nonmatching */ } /* 8029A950-8029AA34 .text setStreamInterPan__8JAISoundFUcfUl */ void JAISound::setStreamInterPan(u8, f32, u32) { /* Nonmatching */ } /* 8029AA34-8029AA84 .text setStreamPrepareFlag__8JAISoundFUc */ void JAISound::setStreamPrepareFlag(u8) { /* Nonmatching */ } /* 8029AA84-8029ACF0 .text setPauseMode__8JAISoundFUcUc */ void JAISound::setPauseMode(u8 param_1, u8 param_2) { /* Nonmatching */ switch (mSoundID & JAISoundID_TypeMask) { case JAISoundID_Type_Sequence: if (!getSeqParameter()) { return; } if (param_1 == 3) { param_1 = 4; } if (param_1 != 0) { switch (param_1) { case 1: setSeqInterVolume(11, param_2 / 127.0f, 1); break; case 2: JASystem::TTrack* track = getSeqParameter()->getRootTrackPointer(); track->pause(true, true); break; } } else { getSeqParameter(); switch (getSeqParameter()->field_0x1261) { case 1: setSeqInterVolume(11, 1.0f, 1); break; case 2: JASystem::TTrack* track = getSeqParameter()->getRootTrackPointer(); track->pause(false, true); break; } } getSeqParameter()->field_0x1261 = param_1; break; case JAISoundID_Type_Stream: if (!getStreamParameter()) { return; } if (param_1 != 0) { switch (param_1) { case 1: setStreamInterVolume(11, param_2 / 127.0f, 1); break; case 2: JAInter::StreamLib::setPauseFlag(2); break; } } else { switch (getStreamParameter()->field_0x0) { case 1: setStreamInterVolume(11, 1.0f, 1); break; case 2: JAInter::StreamLib::clearPauseFlag(2); break; } } getStreamParameter()->field_0x0 = param_1; break; default: JUT_ASSERT_MSG(1443, 0, "JAISound::setPauseMode サウンドカテゴリービットが異常です。\n"); break; } } /* 8029ACF0-8029AD54 .text setSeqPrepareFlag__8JAISoundFUc */ void JAISound::setSeqPrepareFlag(u8) { /* Nonmatching */ } /* 8029AD54-8029ADA8 .text getSeqInterVolume__8JAISoundFUc */ f32 JAISound::getSeqInterVolume(u8) { /* Nonmatching */ } /* 8029ADA8-8029AE34 .text getStreamInterVolume__8JAISoundFUc */ f32 JAISound::getStreamInterVolume(u8) { /* Nonmatching */ } /* 8029AE34-8029AE3C .text getSeqParameter__8JAISoundFv */ JAInter::SeqParameter* JAISound::getSeqParameter() { return (JAInter::SeqParameter*)field_0x3c; } /* 8029AE3C-8029AE44 .text getSeParameter__8JAISoundFv */ JAInter::SeParameter* JAISound::getSeParameter() { return (JAInter::SeParameter*)field_0x3c; } /* 8029AE44-8029AE4C .text getStreamParameter__8JAISoundFv */ JAInter::StreamParameter* JAISound::getStreamParameter() { return (JAInter::StreamParameter*)field_0x3c; } /* 8029AE4C-8029AE88 .text getTrackPortRoute__8JAISoundFUcUc */ int JAISound::getTrackPortRoute(u8, u8) { /* Nonmatching */ } /* 8029AE88-8029AEF8 .text checkSoundHandle__8JAISoundFUlPv */ u32 JAISound::checkSoundHandle(u32, void*) { /* Nonmatching */ } /* 8029AEF8-8029AFCC .text initParameter__8JAISoundFPP8JAISoundPQ27JAInter5ActorUlUlUcPv */ void JAISound::initParameter(JAISound**, JAInter::Actor*, u32, u32, u8, void*) { /* Nonmatching */ } /* 8029AFCC-8029B07C .text set__Q27JAInter11MoveParaSetFfUl */ int JAInter::MoveParaSet::set(f32, u32) { /* Nonmatching */ } /* 8029B07C-8029B0C4 .text move__Q27JAInter11MoveParaSetFv */ bool JAInter::MoveParaSet::move() { /* Nonmatching */ } static void dummy7() { OSReport("JAISound::getVolume サウンドカテゴリービットが異常です。\n"); OSReport("JAISound::getPitch サウンドカテゴリービットが異常です。\n"); OSReport("JAISound::getFxmix サウンドカテゴリービットが異常です。\n"); OSReport("JAISound::getDolby サウンドカテゴリービットが異常です。\n"); OSReport("JAISound::getTempoProportion サウンドカテゴリービットが異常です。\n"); OSReport("JAISound::getPortData サウンドカテゴリービットが異常です。\n"); OSReport("JAISound::getTrackParameterU7 未定義のサウンドパラメータです。\n"); OSReport("JAISound::getTrackParameterF32 未定義のサウンドパラメータです。\n"); OSReport("JAISound::getSeParametermeterF32 未定義のサウンドパラメータです。\n"); } /* 8029B0C4-8029B4AC .text init__Q27JAInter9LinkSoundFP8JAISoundUl */ void JAInter::LinkSound::init(JAISound* param_1, u32 param_2) { JAIGlobalParameter::getParamAudioCameraMax(); Buffer = param_1; field_0x0 = Buffer; field_0x4 = NULL; Buffer[0x00].field_0x30 = NULL; Buffer[0x00].field_0x34 = Buffer + 1; Buffer[0x00].field_0x5 = 0; Buffer[0x00].mPositionInfo = new (JAIBasic::getCurrentJAIHeap(), 0x20) JAISound::PositionInfo_t[JAIGlobalParameter::getParamAudioCameraMax()]; JUT_ASSERT_MSG(2084, Buffer[0x00].mPositionInfo, "LinkSound::initLinkSound Cannot Alloc Heap!!\n"); int i; for (i = 1; i < param_2 - 1; i++) { Buffer[i].field_0x30 = Buffer + (i - 1); Buffer[i].field_0x34 = Buffer + (i + 1); Buffer[i].field_0x5 = 0; Buffer[i].mPositionInfo = new (JAIBasic::getCurrentJAIHeap(), 0x20) JAISound::PositionInfo_t[JAIGlobalParameter::getParamAudioCameraMax()]; JUT_ASSERT_MSG(2092, Buffer[i].mPositionInfo, "LinkSound::initLinkSound Cannot Alloc Heap!!\n"); } Buffer[i].field_0x30 = Buffer + (i - 1); Buffer[i].field_0x34 = NULL; Buffer[i].field_0x5 = 0; Buffer[i].mPositionInfo = new (JAIBasic::getCurrentJAIHeap(), 0x20) JAISound::PositionInfo_t[JAIGlobalParameter::getParamAudioCameraMax()]; JUT_ASSERT_MSG(2099, Buffer[i].mPositionInfo, "LinkSound::initLinkSound Cannot Alloc Heap!!\n"); } /* 8029B4AC-8029B500 .text getSound__Q27JAInter9LinkSoundFv */ JAISound* JAInter::LinkSound::getSound() { /* Nonmatching */ } /* 8029B500-8029B570 .text releaseSound__Q27JAInter9LinkSoundFP8JAISound */ void JAInter::LinkSound::releaseSound(JAISound*) { /* Nonmatching */ }