// // Z2SpeechMgr2 // #include "Z2AudioLib/Z2SpeechMgr2.h" #include "Z2AudioLib/Z2AudioMgr.h" #include "Z2AudioLib/Z2EnvSeMgr.h" #include "Z2AudioLib/Z2SceneMgr.h" #include "Z2AudioLib/Z2SeMgr.h" #include "JSystem/JMath/JMath.h" typedef struct { const u8* field_0x0; const u8* field_0x4; u8 field_0x8; u8 field_0x9; u8 field_0xa; u8 field_0xb; } sPrmStruct; struct Z2MdnPrm { static u8 const sReply[100]; static u8 const sReplyTail[10]; static u8 const sJoke[100]; static u8 const sJokeTail[10]; static u8 const sSexy[100]; static u8 const sSexyTail[10]; static u8 const sRidicule[100]; static u8 const sRidiculeTail[10]; static u8 const sBoring[108]; static u8 const sIrritated[94]; static u8 const sIrritatedTail[10]; static u8 const sOrder[114]; static u8 const sResent[106]; static u8 const sCheerful[106]; static u8 const sConfused[106]; static u8 const sHostility[104]; static u8 const sTired[106]; static u8 const sSerious[106]; static u8 const sReplyb[84]; static u8 const sApologize[100]; static u8 const sApologizeTail[9]; static u8 const sDeside[100]; static u8 const sAfford[104]; static u8 const sAffordTail[12]; static sPrmStruct const sPrm[17]; static u8 const sBoringTail[6]; static u8 const sOrderTail[6]; static u8 const sResentTail[5]; static u8 const sCheerfulTail[8]; static u8 const sConfusedTail[5]; static u8 const sHostilityTail[7]; static u8 const sTiredTail[8]; static u8 const sSeriousTail[7]; static u8 const sReplybTail[7]; static u8 const sDesideTail[8]; }; /* 8039C260-8039C2C4 0288C0 0064+00 1/0 0/0 0/0 .rodata sReply__8Z2MdnPrm */ u8 const Z2MdnPrm::sReply[100] = { 0x6A, 0x8A, 0x50, 0x5F, 0x53, 0x37, 0x37, 0x4F, 0x4F, 0x5E, 0xAA, 0x46, 0x52, 0x5A, 0x5A, 0x4F, 0x4F, 0x45, 0x45, 0x56, 0x64, 0x79, 0x79, 0x79, 0x87, 0x95, 0x95, 0x89, 0x89, 0x4C, 0x4C, 0x4B, 0x52, 0x41, 0x41, 0x5B, 0x5F, 0x71, 0x53, 0x47, 0x89, 0x7D, 0x77, 0x88, 0x88, 0x80, 0x80, 0x77, 0x52, 0x43, 0x43, 0x42, 0x42, 0x42, 0x42, 0x53, 0x53, 0x4C, 0x4C, 0x5B, 0x5A, 0x70, 0x75, 0x33, 0x5E, 0x5F, 0x5F, 0x60, 0x5E, 0x68, 0x4B, 0x3B, 0x3B, 0x58, 0x59, 0x5D, 0x60, 0x63, 0x63, 0x54, 0x3E, 0x38, 0x38, 0x39, 0x35, 0x41, 0x41, 0x41, 0x41, 0x56, 0x71, 0x85, 0x85, 0xA2, 0xA2, 0x52, 0x52, 0x5C, 0x5C, 0x75, }; /* 8039C2C4-8039C2D0 028924 000A+02 1/0 0/0 0/0 .rodata sReplyTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sReplyTail[10] = { 0x5E, 0x7F, 0x68, 0x39, 0x56, 0x75, 0x47, 0x71, 0x7D, 0x33, }; /* 8039C2D0-8039C334 028930 0064+00 1/0 0/0 0/0 .rodata sJoke__8Z2MdnPrm */ u8 const Z2MdnPrm::sJoke[100] = { 0x68, 0x57, 0x57, 0x55, 0x55, 0x51, 0x5B, 0x64, 0x6B, 0x7B, 0x7B, 0x5C, 0x77, 0x97, 0x8D, 0x97, 0x97, 0x8D, 0x66, 0x69, 0xA2, 0x5C, 0x87, 0x4F, 0x69, 0x5F, 0x5F, 0x83, 0x83, 0x82, 0x7F, 0x96, 0x96, 0xB0, 0x70, 0xA1, 0x6D, 0x6D, 0x6D, 0x59, 0x4C, 0x4B, 0x5A, 0x40, 0x4A, 0xAD, 0xA3, 0xAE, 0xAE, 0x63, 0x46, 0x45, 0x3D, 0x47, 0x47, 0x5A, 0x4D, 0x6E, 0x6A, 0x7F, 0x7F, 0x7F, 0x7F, 0xA1, 0xA1, 0xA5, 0x5C, 0x60, 0x5C, 0x6B, 0x6B, 0x7E, 0x81, 0x60, 0x66, 0x64, 0x60, 0xB1, 0x6C, 0x6D, 0x6D, 0x7E, 0x7A, 0x97, 0x97, 0x99, 0xA5, 0x89, 0x90, 0xA4, 0x45, 0x45, 0x29, 0x4C, 0x4B, 0x64, 0x64, 0x60, 0x5C, 0xB1, }; /* 8039C334-8039C340 028994 000A+02 1/0 0/0 0/0 .rodata sJokeTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sJokeTail[10] = { 0x51, 0x97, 0x60, 0xB0, 0x6F, 0x5E, 0x5A, 0xA6, 0x4F, 0x4F, }; /* 8039C340-8039C3A4 0289A0 0064+00 1/0 0/0 0/0 .rodata sSexy__8Z2MdnPrm */ u8 const Z2MdnPrm::sSexy[100] = { 0x5E, 0x60, 0x5F, 0x63, 0x63, 0x72, 0x72, 0x78, 0x4D, 0x7A, 0x6E, 0x6E, 0x6E, 0x6E, 0x6E, 0x59, 0x59, 0x7A, 0x7A, 0xA5, 0x90, 0x8D, 0x86, 0x62, 0x72, 0x79, 0x79, 0x86, 0x7F, 0x8B, 0x85, 0x7B, 0x7B, 0x5E, 0x5E, 0x6D, 0x6D, 0x88, 0x5F, 0xA3, 0xA3, 0x95, 0x95, 0x7F, 0x79, 0x79, 0x79, 0x73, 0x5E, 0x54, 0x45, 0x4F, 0x4F, 0x63, 0x51, 0x56, 0x54, 0x63, 0x63, 0x7B, 0x7B, 0x7B, 0x7B, 0x3B, 0x3B, 0x52, 0x88, 0x8C, 0x6B, 0x98, 0x98, 0xA3, 0xA6, 0x86, 0x89, 0x76, 0x79, 0x79, 0x5C, 0x6A, 0x90, 0xAB, 0x5C, 0x7D, 0x52, 0x49, 0x54, 0x57, 0x49, 0x55, 0x79, 0x65, 0x65, 0x4A, 0x5C, 0x78, 0x78, 0x8B, 0x8D, 0x7C, }; /* 8039C3A4-8039C3B0 028A04 000A+02 1/0 0/0 0/0 .rodata sSexyTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sSexyTail[10] = { 0x52, 0x79, 0x82, 0xA5, 0x62, 0x86, 0x3F, 0x7D, 0x57, 0x7C, }; /* 8039C3B0-8039C414 028A10 0064+00 1/0 0/0 0/0 .rodata sRidicule__8Z2MdnPrm */ u8 const Z2MdnPrm::sRidicule[100] = { 0xA7, 0x5A, 0x5A, 0x52, 0x52, 0x85, 0x85, 0x8C, 0x63, 0x73, 0x73, 0x90, 0x50, 0x46, 0x74, 0x74, 0xA3, 0xA7, 0x41, 0x51, 0x58, 0x34, 0x34, 0x2A, 0x5A, 0x81, 0x5D, 0x42, 0x4B, 0x70, 0x70, 0xB1, 0xB1, 0xB1, 0xB1, 0x65, 0x6A, 0xB1, 0x54, 0xA8, 0xA8, 0x6B, 0x6C, 0x55, 0x55, 0x63, 0x63, 0x6F, 0x7E, 0x64, 0x58, 0x62, 0x63, 0x47, 0x5C, 0x5C, 0x5C, 0x4D, 0x79, 0x40, 0x40, 0x58, 0x48, 0x54, 0x54, 0x4E, 0x4E, 0x6E, 0x6E, 0x4B, 0x47, 0x67, 0x90, 0xA0, 0x79, 0x79, 0x79, 0x7C, 0x7C, 0x6C, 0x6C, 0x73, 0x73, 0x6E, 0x6E, 0x36, 0x3F, 0x3C, 0x56, 0x2D, 0x2D, 0x2D, 0x2D, 0x8C, 0x8C, 0x8B, 0x8B, 0x93, 0x93, 0x6E, }; /* 8039C414-8039C420 028A74 000A+02 1/0 0/0 0/0 .rodata sRidiculeTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sRidiculeTail[10] = { 0x81, 0x67, 0x6D, 0x8C, 0x90, 0x85, 0xB1, 0x4D, 0x4F, 0x6E, }; /* 8039C420-8039C48C 028A80 006C+00 1/0 0/0 0/0 .rodata sBoring__8Z2MdnPrm */ u8 const Z2MdnPrm::sBoring[108] = { 0x8E, 0x9C, 0x9C, 0x5A, 0x5A, 0x52, 0x52, 0x5B, 0x5C, 0x56, 0x5C, 0x52, 0x52, 0x2D, 0x2D, 0x5B, 0x59, 0x56, 0x56, 0x56, 0x56, 0x6B, 0x6B, 0x58, 0x4C, 0x8E, 0x8E, 0x59, 0x61, 0x54, 0xA0, 0x4D, 0x5D, 0x59, 0x48, 0x30, 0x30, 0x5B, 0x5B, 0x5B, 0x4A, 0x64, 0x64, 0x7A, 0x7A, 0x92, 0x62, 0x62, 0x65, 0xA0, 0xA0, 0xB3, 0xB3, 0x4E, 0x4A, 0x49, 0x49, 0x98, 0x98, 0x83, 0x83, 0x76, 0x76, 0x7E, 0x7F, 0x58, 0x5A, 0x51, 0x57, 0x65, 0x65, 0x60, 0x60, 0x72, 0x72, 0x85, 0x8C, 0x89, 0x89, 0x89, 0x89, 0x5A, 0x5A, 0x63, 0x66, 0x5E, 0x5E, 0x71, 0x62, 0x55, 0x55, 0x85, 0x85, 0x5B, 0x5B, 0x5B, 0x5B, 0x5E, 0x70, 0x56, 0x56, 0x4C, 0x4C, 0x59, 0x59, 0x5B, 0x5B, 0x71, }; /* 80455EE0-80455EE8 0044E0 0006+02 1/0 0/0 0/0 .sdata2 sBoringTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sBoringTail[6] = { 0x92, 0x58, 0x59, 0x5B, 0x70, 0x71, }; /* 8039C48C-8039C4EC 028AEC 005E+02 1/0 0/0 0/0 .rodata sIrritated__8Z2MdnPrm */ u8 const Z2MdnPrm::sIrritated[94] = { 0x6C, 0x91, 0x67, 0x8B, 0x8B, 0xA2, 0xA2, 0xAB, 0x48, 0x64, 0x73, 0x61, 0x61, 0x64, 0x64, 0x6D, 0x60, 0x7E, 0x4A, 0x55, 0x6A, 0x63, 0x66, 0x78, 0x5C, 0x5A, 0x6E, 0x79, 0x75, 0x62, 0x62, 0x57, 0x85, 0x3F, 0x3C, 0x83, 0x83, 0x9B, 0x78, 0x65, 0x65, 0x67, 0x65, 0x65, 0x87, 0x88, 0x88, 0x3D, 0x4C, 0x68, 0x68, 0x4D, 0x5B, 0x6E, 0x6E, 0x74, 0x56, 0x63, 0x6B, 0x8C, 0x8C, 0x93, 0x93, 0x4E, 0x4E, 0x69, 0x77, 0x75, 0x75, 0x71, 0x79, 0x4F, 0x4F, 0x6F, 0x4E, 0x42, 0x71, 0x75, 0x5E, 0x68, 0xAD, 0x6E, 0x72, 0x82, 0x83, 0x87, 0x85, 0x85, 0x85, 0x8E, 0x60, 0x6D, 0x80, 0x80, }; /* 8039C4EC-8039C4F8 028B4C 000A+02 1/0 0/0 0/0 .rodata sIrritatedTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sIrritatedTail[10] = { 0x64, 0x61, 0x4E, 0x91, 0xA0, 0x85, 0x9B, 0x67, 0x6F, 0x64, }; /* 8039C4F8-8039C56C 028B58 0072+02 1/0 0/0 0/0 .rodata sOrder__8Z2MdnPrm */ u8 const Z2MdnPrm::sOrder[114] = { 0x77, 0x5F, 0x5F, 0x73, 0x73, 0x66, 0x66, 0x6B, 0x6B, 0x7A, 0x7A, 0x60, 0x54, 0x5F, 0x5F, 0x69, 0x69, 0x5A, 0x86, 0x84, 0x84, 0x96, 0x96, 0x94, 0x94, 0x8A, 0x87, 0x84, 0x5A, 0x2C, 0x4E, 0x52, 0x52, 0x52, 0x52, 0x51, 0x51, 0x6E, 0x62, 0x5E, 0x6C, 0xA3, 0xA3, 0x5B, 0x62, 0x63, 0x63, 0x66, 0x66, 0x51, 0x51, 0x5B, 0x5B, 0x78, 0x78, 0x8F, 0x8F, 0x83, 0x61, 0x7A, 0x7A, 0x4E, 0x75, 0x81, 0x81, 0x71, 0x71, 0x83, 0x83, 0x66, 0x5D, 0x5D, 0x65, 0x47, 0x53, 0x6D, 0x6D, 0x8C, 0x8F, 0x8F, 0x8F, 0x2C, 0x2B, 0x6A, 0x6A, 0x5C, 0x5C, 0x54, 0x54, 0x60, 0xAC, 0xA1, 0x4E, 0x5B, 0x5B, 0x5F, 0x5F, 0x79, 0x4A, 0x60, 0x60, 0x5A, 0x5A, 0x35, 0x2E, 0x48, 0x48, 0x69, 0x69, 0x6D, 0x6D, 0x94, 0x94, 0x97, }; /* 80455EE8-80455EF0 0044E8 0006+02 1/0 0/0 0/0 .sdata2 sOrderTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sOrderTail[6] = { 0x60, 0xA8, 0x5B, 0x4E, 0x5D, 0x87, }; /* 8039C56C-8039C5D8 028BCC 006A+02 1/0 0/0 0/0 .rodata sResent__8Z2MdnPrm */ u8 const Z2MdnPrm::sResent[106] = { 0x6F, 0x5F, 0x5F, 0x66, 0x66, 0x66, 0x66, 0x55, 0x55, 0x55, 0x55, 0x4B, 0x4B, 0x6B, 0x6B, 0x86, 0x86, 0x4A, 0x4A, 0x6D, 0x6D, 0x6D, 0x6D, 0x8C, 0x8C, 0x84, 0x84, 0x64, 0x64, 0x6C, 0x6C, 0x92, 0x92, 0x6A, 0x5F, 0x6F, 0x6F, 0x62, 0x62, 0x62, 0x75, 0x5A, 0x5A, 0x5A, 0x5A, 0x60, 0x60, 0x6A, 0x6A, 0x76, 0x76, 0x6A, 0x6A, 0x7F, 0x7F, 0x9A, 0x9A, 0x98, 0x56, 0x5B, 0x5B, 0x6F, 0x82, 0x98, 0x98, 0x9B, 0x9B, 0x6E, 0x6E, 0x61, 0x61, 0x5C, 0x5F, 0x67, 0x62, 0x8A, 0xA9, 0x65, 0x65, 0x31, 0x31, 0x8C, 0x8C, 0x69, 0x69, 0x7E, 0x67, 0x67, 0x5B, 0x73, 0x73, 0x65, 0x65, 0x56, 0x56, 0x5E, 0x5E, 0xAA, 0xAA, 0x9E, 0x9E, 0x5A, 0x5A, 0x57, 0x57, 0x57, }; /* 80455EF0-80455EF8 0044F0 0005+03 1/0 0/0 0/0 .sdata2 sResentTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sResentTail[5] = { 0x4A, 0x98, 0x8A, 0x7E, 0x57, }; /* 8039C5D8-8039C644 028C38 006A+02 1/0 0/0 0/0 .rodata sCheerful__8Z2MdnPrm */ u8 const Z2MdnPrm::sCheerful[106] = { 0x64, 0x6D, 0x6D, 0x6D, 0x99, 0x6D, 0x40, 0x51, 0x51, 0x6F, 0x6F, 0x66, 0x66, 0x60, 0xA7, 0xAF, 0xB3, 0x61, 0x61, 0xA7, 0xA7, 0x5E, 0x8B, 0x75, 0x77, 0x72, 0x72, 0x93, 0x93, 0x8B, 0x8B, 0x88, 0x88, 0x77, 0x77, 0x80, 0x80, 0x80, 0x80, 0x67, 0x67, 0x4D, 0x4A, 0x69, 0x44, 0xA1, 0x64, 0xA8, 0xAE, 0x85, 0x85, 0x8D, 0x95, 0xA9, 0xA9, 0x91, 0x91, 0x67, 0x69, 0x60, 0x60, 0x5E, 0x5E, 0x54, 0x34, 0x6B, 0x63, 0x4F, 0x4F, 0x46, 0x46, 0x55, 0x6F, 0x6A, 0x6A, 0x75, 0x75, 0x75, 0x75, 0x70, 0x70, 0x9F, 0x9F, 0x55, 0x55, 0x63, 0x63, 0x63, 0x62, 0x9C, 0x9C, 0xA8, 0x85, 0x65, 0x65, 0x65, 0x65, 0x70, 0x6B, 0x6B, 0x6B, 0x6D, 0x6D, 0x57, 0x57, 0x7B, }; /* 80455EF8-80455F00 0044F8 0008+00 1/0 0/0 0/0 .sdata2 sCheerfulTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sCheerfulTail[8] = { 0x60, 0x6D, 0x4D, 0x44, 0x9C, 0x54, 0x70, 0x7B, }; /* 8039C644-8039C6B0 028CA4 006A+02 1/0 0/0 0/0 .rodata sConfused__8Z2MdnPrm */ u8 const Z2MdnPrm::sConfused[106] = { 0x83, 0x80, 0x80, 0x82, 0x82, 0x82, 0x82, 0x5B, 0x75, 0x84, 0x84, 0x84, 0x84, 0x75, 0x75, 0x62, 0x62, 0x62, 0x4D, 0x56, 0x56, 0x59, 0x59, 0x59, 0x59, 0x74, 0x74, 0x85, 0x7D, 0x8D, 0x8D, 0x70, 0x70, 0x5A, 0x5A, 0x6B, 0x6B, 0x6B, 0x6B, 0x70, 0x79, 0x73, 0x73, 0x71, 0x71, 0x75, 0x75, 0x7B, 0x7B, 0x5F, 0x5F, 0x62, 0x76, 0x64, 0x7B, 0x7B, 0x7B, 0x7C, 0x7F, 0x65, 0x7C, 0x7C, 0x68, 0x43, 0x40, 0x67, 0x67, 0x69, 0x69, 0x5F, 0x5F, 0x5D, 0x5D, 0x5D, 0xA2, 0xA2, 0xA2, 0xA6, 0xA6, 0x9A, 0x9A, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x8E, 0x8E, 0x94, 0x8E, 0x95, 0x95, 0x95, 0x95, 0x42, 0x38, 0x38, 0x38, 0x83, 0x83, 0x8E, 0x8E, 0x4C, 0x56, 0x56, }; /* 80455F00-80455F08 004500 0005+03 1/0 0/0 0/0 .sdata2 sConfusedTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sConfusedTail[5] = { 0x2C, 0x42, 0x4C, 0x7C, 0x49, }; /* 8039C6B0-8039C718 028D10 0068+00 1/0 0/0 0/0 .rodata sHostility__8Z2MdnPrm */ u8 const Z2MdnPrm::sHostility[104] = { 0x85, 0x71, 0x71, 0x73, 0x73, 0x3B, 0x62, 0x84, 0x94, 0x94, 0x94, 0xAF, 0x98, 0xAD, 0xAD, 0x5A, 0x5A, 0x63, 0x63, 0x97, 0x90, 0x90, 0x7B, 0x73, 0x73, 0x63, 0x63, 0x55, 0x55, 0x65, 0x66, 0x7F, 0x7F, 0x87, 0x87, 0x8A, 0x8A, 0x94, 0x5D, 0x5C, 0x5A, 0x67, 0x67, 0x68, 0x68, 0x5C, 0x5C, 0x56, 0x56, 0x53, 0x53, 0x73, 0x73, 0x87, 0x87, 0x8B, 0x8B, 0x74, 0x74, 0x5B, 0x6F, 0x78, 0x73, 0x6E, 0x6E, 0x71, 0x71, 0x5B, 0x5B, 0x6E, 0x6E, 0x66, 0x57, 0x5C, 0x61, 0x65, 0x6B, 0x6E, 0x6E, 0x83, 0x83, 0x96, 0x3F, 0x56, 0x56, 0x56, 0x56, 0x4F, 0x5F, 0x57, 0x62, 0x6A, 0x5F, 0x72, 0x72, 0x62, 0x62, 0x65, 0x5E, 0x69, 0x69, 0x63, 0x63, 0x7F, }; /* 80455F08-80455F10 004508 0007+01 1/0 0/0 0/0 .sdata2 sHostilityTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sHostilityTail[7] = { 0x97, 0x67, 0x94, 0x6A, 0x66, 0x4F, 0x6A, }; /* 8039C718-8039C784 028D78 006A+02 1/0 0/0 0/0 .rodata sTired__8Z2MdnPrm */ u8 const Z2MdnPrm::sTired[106] = { 0x70, 0x70, 0x70, 0x5C, 0x5C, 0x5C, 0x6F, 0x6F, 0x6F, 0x93, 0x8C, 0x9A, 0x9D, 0x89, 0x99, 0x7A, 0x91, 0x8D, 0x8D, 0x8D, 0x8D, 0x69, 0x69, 0x72, 0x72, 0x65, 0x65, 0x65, 0x9E, 0x98, 0x98, 0x2A, 0x50, 0x54, 0x54, 0x49, 0x64, 0x59, 0x59, 0x62, 0x62, 0x62, 0x44, 0x5E, 0x9F, 0x91, 0x63, 0x63, 0x63, 0x57, 0x57, 0x2A, 0x64, 0x52, 0x5B, 0x5C, 0x5C, 0x5C, 0x5C, 0x59, 0x63, 0x75, 0x66, 0x69, 0x61, 0x67, 0x67, 0x67, 0x67, 0x65, 0x6A, 0x6A, 0x7B, 0x75, 0x75, 0x75, 0x75, 0x69, 0x69, 0x64, 0x64, 0x51, 0x67, 0x68, 0x68, 0x6F, 0x6F, 0x6F, 0x7F, 0x95, 0x9C, 0x87, 0x84, 0x8A, 0x72, 0x84, 0x84, 0x6D, 0x6D, 0x6A, 0x6A, 0x8D, 0x8D, 0x8D, 0x8D, 0x3B, }; /* 80455F10-80455F18 004510 0008+00 1/0 0/0 0/0 .sdata2 sTiredTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sTiredTail[8] = { 0x66, 0x6F, 0x3B, 0x7A, 0x49, 0x91, 0x5C, 0x6A, }; /* 8039C784-8039C7F0 028DE4 006A+02 1/0 0/0 0/0 .rodata sSerious__8Z2MdnPrm */ u8 const Z2MdnPrm::sSerious[106] = { 0x52, 0x65, 0x65, 0x72, 0x5A, 0x61, 0x61, 0x7B, 0x80, 0x92, 0x93, 0x9D, 0x9D, 0x70, 0x79, 0x76, 0x62, 0x57, 0x5A, 0x53, 0x53, 0x59, 0x59, 0x65, 0x63, 0x60, 0x60, 0x6A, 0x83, 0x80, 0x7F, 0x5D, 0x5C, 0x45, 0x5D, 0x71, 0x72, 0x65, 0x65, 0x65, 0x66, 0x4B, 0xB2, 0x60, 0x5C, 0x5C, 0x5C, 0x5B, 0x5F, 0x55, 0x55, 0x5E, 0x5E, 0x5F, 0x5B, 0x4D, 0x58, 0x60, 0x5B, 0x50, 0x50, 0x56, 0x56, 0x56, 0x7D, 0x6E, 0x72, 0x73, 0x73, 0x6A, 0x64, 0x54, 0x58, 0x57, 0x57, 0x5D, 0x5D, 0x64, 0x5F, 0x53, 0x53, 0x52, 0x54, 0x4D, 0x4D, 0x4D, 0x4D, 0x59, 0x59, 0x59, 0x69, 0x6B, 0x6B, 0x5A, 0x72, 0x69, 0x70, 0x60, 0x3C, 0x81, 0x81, 0x92, 0x92, 0x8E, 0x98, 0x87, }; /* 80455F18-80455F20 004518 0007+01 1/0 0/0 0/0 .sdata2 sSeriousTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sSeriousTail[7] = { 0x7B, 0x69, 0x4B, 0x61, 0x52, 0x59, 0x87, }; /* 8039C7F0-8039C844 028E50 0054+00 1/0 0/0 0/0 .rodata sReplyb__8Z2MdnPrm */ u8 const Z2MdnPrm::sReplyb[84] = { 0x5C, 0x45, 0x45, 0x71, 0x9F, 0x57, 0xB4, 0xB4, 0x56, 0x62, 0x8E, 0x61, 0x61, 0xB0, 0xB0, 0x3C, 0x59, 0x4A, 0x64, 0xA4, 0xA4, 0x5A, 0x5A, 0x5A, 0x5A, 0x72, 0x72, 0x4B, 0x6B, 0x97, 0x97, 0x59, 0x60, 0x60, 0x60, 0x69, 0x3E, 0x3E, 0x57, 0x42, 0x5E, 0x76, 0x76, 0x6C, 0x6C, 0x9B, 0x6E, 0x84, 0x6F, 0x9B, 0x9B, 0x90, 0x90, 0x76, 0x76, 0x72, 0x72, 0x8A, 0x2C, 0x1F, 0x1F, 0x95, 0x95, 0x69, 0x4C, 0x59, 0x59, 0x79, 0x5B, 0x44, 0x44, 0x4F, 0x52, 0x58, 0x5A, 0x6F, 0x6E, 0x8A, 0x8E, 0x8E, 0x8E, 0x8C, 0x8C, 0x9B, }; /* 80455F20-80455F28 004520 0007+01 1/0 0/0 0/0 .sdata2 sReplybTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sReplybTail[7] = { 0x4F, 0x4A, 0xA2, 0x4F, 0x65, 0x98, 0x5C, }; /* 8039C844-8039C8A8 028EA4 0064+00 1/0 0/0 0/0 .rodata sApologize__8Z2MdnPrm */ u8 const Z2MdnPrm::sApologize[100] = { 0x6A, 0x6A, 0x6A, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x57, 0x57, 0x57, 0x63, 0x61, 0x54, 0x54, 0x54, 0x54, 0x58, 0x58, 0x58, 0x58, 0x45, 0x45, 0x56, 0x56, 0x5B, 0x5B, 0x37, 0x53, 0x53, 0x53, 0x59, 0x59, 0x59, 0x49, 0x58, 0x58, 0x55, 0x56, 0x56, 0x83, 0x7F, 0x7F, 0x83, 0x83, 0x75, 0x75, 0x88, 0x76, 0x7E, 0x75, 0x75, 0x83, 0x85, 0x85, 0x85, 0x85, 0x8E, 0x89, 0x89, 0x89, 0x5C, 0x5C, 0x6E, 0x6E, 0x6E, 0x6E, 0x68, 0x65, 0x5F, 0x5F, 0x6A, 0x58, 0x5B, 0x70, 0x72, 0x72, 0x72, 0x72, 0x6E, 0x76, 0x6B, 0x6B, 0x58, 0x69, 0x66, 0x66, 0x64, 0x64, 0x60, 0x61, 0x63, 0x6A, 0x62, 0x62, 0x64, 0x65, 0x71, }; /* 8039C8A8-8039C8B4 028F08 0009+03 1/0 0/0 0/0 .rodata sApologizeTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sApologizeTail[9] = { 0x7C, 0x6E, 0x63, 0x71, 0x51, 0x37, 0x75, 0x58, 0x5C, }; /* 8039C8B4-8039C918 028F14 0064+00 1/0 0/0 0/0 .rodata sDeside__8Z2MdnPrm */ u8 const Z2MdnPrm::sDeside[100] = { 0x77, 0x77, 0x77, 0x58, 0x58, 0x6F, 0x78, 0x5F, 0x66, 0x5E, 0x6E, 0x62, 0x62, 0x2E, 0x5A, 0x58, 0x54, 0x52, 0x52, 0x5C, 0x59, 0x56, 0x56, 0x4B, 0x4B, 0x63, 0x63, 0x4D, 0x4E, 0x4A, 0x69, 0x71, 0x71, 0x76, 0x80, 0x80, 0x80, 0x73, 0x73, 0x5C, 0x7C, 0x64, 0x83, 0x89, 0x89, 0x82, 0x82, 0x7F, 0x7F, 0x88, 0x88, 0x90, 0x91, 0x89, 0x89, 0x57, 0x73, 0x67, 0x67, 0x81, 0x84, 0x6C, 0x6C, 0x5F, 0x69, 0x76, 0x76, 0x6C, 0x75, 0x82, 0x64, 0x75, 0x72, 0x80, 0x69, 0x62, 0x5D, 0x67, 0x5D, 0x5F, 0x62, 0x59, 0x5D, 0x55, 0x55, 0x48, 0x5F, 0x5F, 0x5F, 0x5D, 0x75, 0x6A, 0x66, 0x76, 0x69, 0x69, 0x69, 0x60, 0x60, 0x5F, }; /* 80455F28-80455F30 004528 0008+00 1/0 0/0 0/0 .sdata2 sDesideTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sDesideTail[8] = { 0x64, 0x2E, 0x4A, 0x57, 0x80, 0x48, 0x7C, 0x5F, }; /* 8039C918-8039C980 028F78 0068+00 1/0 0/0 0/0 .rodata sAfford__8Z2MdnPrm */ u8 const Z2MdnPrm::sAfford[104] = { 0x4E, 0x45, 0x52, 0x5B, 0x56, 0x5B, 0x59, 0x52, 0x52, 0x57, 0x5C, 0x50, 0x50, 0x49, 0x80, 0x6E, 0x6E, 0x5A, 0x5C, 0x60, 0x6A, 0x62, 0x62, 0x6A, 0x71, 0x48, 0x4C, 0x5B, 0x5A, 0x40, 0x40, 0x49, 0x49, 0x50, 0x51, 0x51, 0x51, 0x3A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x57, 0x57, 0x5A, 0x7F, 0x6A, 0x6A, 0x69, 0x69, 0x8C, 0x57, 0x57, 0x48, 0x48, 0x48, 0x4B, 0x4C, 0x49, 0x45, 0x47, 0x47, 0x4C, 0x48, 0x50, 0x50, 0x49, 0x42, 0x42, 0x42, 0x34, 0x26, 0x3C, 0x2C, 0x7D, 0x6E, 0x56, 0x79, 0x79, 0x50, 0x4C, 0x50, 0x43, 0x52, 0x51, 0x66, 0x6C, 0x64, 0x63, 0x63, 0x5D, 0x69, 0x70, 0x56, 0x50, 0x4B, 0x92, 0x86, 0x8F, 0x4B, 0x4F, 0x57, 0x56, }; /* 8039C980-8039C98C 028FE0 000C+00 1/0 0/0 0/0 .rodata sAffordTail__8Z2MdnPrm */ u8 const Z2MdnPrm::sAffordTail[12] = { 0x63, 0x8E, 0x5B, 0x59, 0x4C, 0x3A, 0x69, 0x47, 0x41, 0x59, 0x50, 0x55, }; /* 8039C98C-8039CA58 -00001 00CC+00 2/2 0/0 0/0 .rodata sPrm__8Z2MdnPrm */ sPrmStruct const Z2MdnPrm::sPrm[17] = { { Z2MdnPrm::sReply, Z2MdnPrm::sReplyTail, 0x32, 0x06, 0x04, 0x00}, { Z2MdnPrm::sJoke, Z2MdnPrm::sJokeTail, 0x32, 0x03, 0x07, 0x00}, { Z2MdnPrm::sSexy, Z2MdnPrm::sSexyTail, 0x32, 0x03, 0x07, 0x00}, { Z2MdnPrm::sRidicule, Z2MdnPrm::sRidiculeTail, 0x32, 0x03, 0x07, 0x00}, { Z2MdnPrm::sBoring, Z2MdnPrm::sBoringTail, 0x36, 0x01, 0x05, 0x00}, { Z2MdnPrm::sIrritated, Z2MdnPrm::sIrritatedTail, 0x2F, 0x03, 0x07, 0x00}, { Z2MdnPrm::sOrder, Z2MdnPrm::sOrderTail, 0x39, 0x02, 0x04, 0x00}, { Z2MdnPrm::sResent, Z2MdnPrm::sResentTail, 0x35, 0x02, 0x03, 0x00}, { Z2MdnPrm::sCheerful, Z2MdnPrm::sCheerfulTail, 0x35, 0x01, 0x07, 0x00}, { Z2MdnPrm::sConfused, Z2MdnPrm::sConfusedTail, 0x35, 0x03, 0x02, 0x00}, { Z2MdnPrm::sHostility, Z2MdnPrm::sHostilityTail, 0x34, 0x02, 0x05, 0x00}, { Z2MdnPrm::sTired, Z2MdnPrm::sTiredTail, 0x35, 0x03, 0x05, 0x00}, { Z2MdnPrm::sSerious, Z2MdnPrm::sSeriousTail, 0x35, 0x02, 0x05, 0x00}, { Z2MdnPrm::sReplyb, Z2MdnPrm::sReplybTail, 0x2A, 0x04, 0x03, 0x00}, { Z2MdnPrm::sApologize, Z2MdnPrm::sApologizeTail, 0x32, 0x04, 0x05, 0x00}, { Z2MdnPrm::sDeside, Z2MdnPrm::sDesideTail, 0x32, 0x01, 0x07, 0x00}, { Z2MdnPrm::sAfford, Z2MdnPrm::sAffordTail, 0x34, 0x02, 0x0A, 0x00}, }; /* 802CBC60-802CBCEC 2C65A0 008C+00 0/0 1/1 0/0 .text __ct__12Z2SpeechMgr2Fv */ Z2SpeechMgr2::Z2SpeechMgr2() : JASGlobalInstance(true), random(0) { mTextNum = 0; mTextCount = -1; mMood = 0; mVoice = 0; field_0x3ff = 0; field_0x401 = 0; for (int i = 0; i < 64; i++) { field_0x402[i] = -1; } } /* 802CBD88-802CBF60 2C66C8 01D8+00 1/0 1/1 0/0 .text setString__12Z2SpeechMgr2FPCUssUcUs */ void Z2SpeechMgr2::setString(u16 const* s, s16 i_textNum, u8 i_speaker, u16 i_mood) { switch (i_speaker) { case 0x13: case 0x15: mVoice = 1; break; case 0x12: case 0x14: mVoice = 2; break; case 0x04: case 0x07: case 0x0a: case 0x16: case 0x19: case 0x1d: case 0x21: case 0x24: case 0x29: case 0x2c: case 0x2d: case 0x32: case 0x33: case 0x3f: case 0x40: case 0x41: case 0x53: case 0x54: case 0x55: case 0x59: case 0x5a: case 0x5b: case 0x5c: case 0x60: case 0x61: case 0x62: case 0x63: case 0x64: mVoice = 12; break; case 0x1e: case 0x1f: case 0x22: case 0x25: case 0x27: case 0x3d: case 0x65: case 0x66: case 0x67: case 0x68: case 0x69: case 0x6a: mVoice = 13; break; case 0x37: case 0x38: case 0x39: case 0x3a: case 0x3b: case 0x3c: case 0x6c: case 0x6d: mVoice = 14; break; case 0x2f: mVoice = 15; break; case 0x0f: case 0x10: case 0x34: case 0x35: case 0x36: case 0x70: mVoice = 16; break; case 0x0e: case 0x42: case 0x44: mVoice = 17; break; case 0x0c: mVoice = 18; break; case 0x09: case 0x26: case 0x6f: mVoice = 30; break; case 0x08: mVoice = 31; break; case 0x00: case 0x01: case 0x02: case 0x03: mVoice = 99; return; case 0x71: default: mVoice = 11; break; } if (mVoice == 1 || mVoice == 2) { if (i_mood == 0) { mMood = 0; } else { if (i_mood > 17) { if ((mVoice == 21) || (mVoice == 20)) { mMood = 0; } } else { mMood = i_mood - 1; } } } else { mMood = i_mood; } for (int i = 0; i < 500; i++) { mText[i] = 0; } JUT_ASSERT(383, s != NULL); if (i_textNum > 500) { mTextNum = 500; JUT_WARN_DEVICE(387, 1, "TOO MANY TEXT : now(%d) > max(%d)", i_textNum, 500); } else { mTextNum = i_textNum; } #ifdef DEBUG for (int i = 0; i <= mTextNum; i++) { #else for (int i = 0; i < mTextNum; i++) { #endif mText[i] = s[i]; } mTextCount = 0; field_0x3ff = 0; field_0x400 = 0; field_0x401 = 0; for (int i = 0; i < 64; i++) { field_0x402[i] = -1; } selectUnit(false); } /* 802CBF60-802CC190 2C68A0 0230+00 1/0 2/2 0/0 .text setTextCount__12Z2SpeechMgr2Fs */ void Z2SpeechMgr2::setTextCount(s16 i_textCount) { if (mVoice != 99) { field_0x3ff = 0x0; #ifndef DEBUG i_textCount = (i_textCount == 0) ? 0 : i_textCount - 1; #endif bool all_text = false; if (mTextCount == 0 && i_textCount >= mTextNum) { all_text = true; } mTextCount = i_textCount; if (mTextCount >= mTextNum) { mTextCount = mTextNum; } if (mVoice == 1 || mVoice == 2) { if (!field_0x0.isSoundAttached()) { speakOneWord(false); } } else if (all_text) { if (mMood == 0) { mSpeech.startSound(Z2SE_SY_TEXT_DISP_ALL, &field_0x4, NULL, 0, 0.0f, 1.0f, 1.0f, -1.0f, -1.0f, 0); } } else { if (!isNonVerbal()) { JAISoundID sound_id; switch (mVoice) { case 0xb: sound_id = Z2SE_SY_TEXT_OUT; break; case 0xc: sound_id = Z2SE_SY_TEXT_OUT_FEMALE; break; case 0xd: sound_id = Z2SE_SY_TEXT_OUT_CHILD; break; case 0xe: sound_id = Z2SE_SY_TEXT_OUT_GORON; break; case 0xf: sound_id = Z2SE_SY_TEXT_OUT_ZORA; break; case 0x10: sound_id = Z2SE_SY_TEXT_OUT_GREY; break; case 0x11: sound_id = Z2SE_SY_TEXT_OUT_SPIRIT; break; case 0x12: sound_id = Z2SE_SY_TEXT_OUT_BRAVE; break; case 0x1e: sound_id = Z2SE_SY_TEXT_OUT_GANON; break; case 0x1f: sound_id = Z2SE_SY_TEXT_OUT_ZANT; break; } mSpeech.startSound(sound_id, &field_0x4, NULL, 0, 0.0f, 1.0f, 1.0f, -1.0f, -1.0f, 0); } } } } /* 802CC190-802CC2FC 2C6AD0 016C+00 1/1 1/1 0/0 .text speakOneWord__12Z2SpeechMgr2Fb */ void Z2SpeechMgr2::speakOneWord(bool param_0) { if (Z2GetSceneMgr()->isSceneExist() && (mVoice == 1 || mVoice == 2) && field_0x400 == 0 && field_0x3ff <= 30) { if (mTextCount >= mTextNum) { selectTail(); field_0x400 = 1; } else if (isNonVerbal()) { return; } u32 sound = mMood + Z2SE_HYL_MDN_RPLY; f32 fVar1 = Z2GetSceneMgr()->getRoomReverb() / 127.0f; bool soundStarted = mSpeech.startSound(sound, &field_0x0, NULL, 0, fVar1, 1.0f, 1.0f, -1.0f, -1.0f, 0); mSpeech.setPortData(&field_0x0, 8, field_0x402[field_0x401 - 1] + 1, -1); if (field_0x400 == 0) { selectUnit(param_0); } } } /* 802CC2FC-802CC4C0 2C6C3C 01C4+00 2/2 0/0 0/0 .text isNonVerbal__12Z2SpeechMgr2Fv */ bool Z2SpeechMgr2::isNonVerbal() { switch(mText[mTextCount]) { case 0: case 0x20: case 0x21: case 0x22: case 0x23: case 0x24: case 0x25: case 0x26: case 0x27: case 0x28: case 0x29: case 0x2a: case 0x2b: case 0x2c: case 0x2d: case 0x2e: case 0x2f: case 0x3a: case 0x3b: case 0x3c: case 0x3d: case 0x3e: case 0x3f: case 0x4b: case 0x4c: case 0x4d: case 0x4e: case 0x4f: case 0x5b: case 0x5c: case 0x5d: case 0x5e: case 0x5f: case 0x813f: case 0x8140: case 0x8141: case 0x8142: case 0x8143: case 0x8144: case 0x8145: case 0x8146: case 0x8147: case 0x8148: case 0x8149: case 0x814a: case 0x814b: case 0x8151: case 0x815e: case 0x8162: case 0x8166: case 0x8168: case 0x8169: case 0x816a: case 0x816d: case 0x816e: case 0x816f: case 0x8170: case 0x8171: case 0x8172: case 0x8175: case 0x8176: case 0x817b: case 0x817c: case 0x8181: case 0x818f: case 0x8190: case 0x8193: case 0x8194: case 0x8195: case 0x8196: return true; } if(mText[mTextCount] == 0x0a) { switch (mVoice) { case 1: case 2: return false; default: return true; } } return false; } typedef struct { s8 field_0x0; u8 field_0x1; } Z2ConnectCost; /* 802CC4C0-802CC738 2C6E00 0278+00 2/2 0/0 0/0 .text selectUnit__12Z2SpeechMgr2Fb */ void Z2SpeechMgr2::selectUnit(bool param_0) { Z2ConnectCost cost[5]; if (field_0x401 >= 64) { field_0x0->stop(); return; } s8 ZVar2 = random.get_uint8(Z2MdnPrm::sPrm[mMood].field_0x8); s8 ZVar3; s8 cVar5; if (field_0x401 != 0 && param_0) { cVar5 = 0; s8 ZVar4 = field_0x402[field_0x401 - 1]; while (true) { bool bVar1 = false; ZVar2 = random.get_uint8(Z2MdnPrm::sPrm[mMood].field_0x8); for (int i = 0; i < field_0x401; i++) { if (field_0x402[i] == ZVar2) { bVar1 = true; break; } } if (bVar1) { continue; } for (int i = 0; i < cVar5; i++) { if (ZVar2 == cost[i].field_0x0) { bVar1 = true; break; } } if (bVar1) { continue; } const u8 (*prm)[2] = (u8 (*)[2])Z2MdnPrm::sPrm[mMood].field_0x0; u8 local_3f = JMAAbs(prm[ZVar2][0] - prm[ZVar4][1]); Z2ConnectCost connectCost = {ZVar2, local_3f}; cost[cVar5] = connectCost; cVar5++; if (cVar5 == 5) { break; } } u16 tmp = cost[0].field_0x1; ZVar2 = cost[0].field_0x0; for (int i = 0; i < 5; i++) { if (cost[i].field_0x1 < tmp) { tmp = cost[i].field_0x1; ZVar2 = cost[i].field_0x0; } } } field_0x402[field_0x401] = ZVar2; field_0x401++; } /* 802CC738-802CC9D0 2C7078 0298+00 1/1 0/0 0/0 .text selectTail__12Z2SpeechMgr2Fv */ void Z2SpeechMgr2::selectTail() { Z2ConnectCost cost[5]; s8 cVar9 = 0; s8 ZVar1 = field_0x402[field_0x401 - 1]; s8 ZVar6; u8 bVar3; while (true) { bool bVar5 = false; switch (mVoice) { case 2: bVar3 = Z2MdnPrm::sPrm[mMood].field_0x9; ZVar6 = random.get_uint8(bVar3); break; case 1: bVar3 = Z2MdnPrm::sPrm[mMood].field_0xa; ZVar6 = Z2MdnPrm::sPrm[mMood].field_0x9 + random.get_uint8(bVar3); break; default: return; } for (int i = 0; i < cVar9; i++) { if (ZVar6 == cost[i].field_0x0) { bVar5 = true; break; } } if (!bVar5) { u8 local_3f = JMAAbs(Z2MdnPrm::sPrm[mMood].field_0x4[ZVar6] - Z2MdnPrm::sPrm[mMood].field_0x0[ZVar1 * 2 + 1]); Z2ConnectCost connectCost = {ZVar6, local_3f}; cost[cVar9] = connectCost; cVar9++; if (cVar9 == bVar3 || cVar9 == 5) { s8 tmp_r8; u16 tmp_r9 = cost[0].field_0x1; tmp_r8 = cost[0].field_0x0; int local_3c = bVar3 >= 5 ? 5 : bVar3; for (int i = 0; i < local_3c; i++) { if (cost[i].field_0x1 < tmp_r9) { tmp_r9 = cost[i].field_0x1; tmp_r8 = cost[i].field_0x0; } } field_0x402[field_0x401 - 1] = tmp_r8 + Z2MdnPrm::sPrm[mMood].field_0x8; return; } } } } /* 802CC9D0-802CCA18 2C7310 0048+00 0/0 1/1 0/0 .text framework__12Z2SpeechMgr2Fv */ void Z2SpeechMgr2::framework() { switch (mVoice) { case 1: case 2: if (field_0x0) { field_0x3ff++; if (field_0x3ff > 30) { return; } } else { mTextCount = 0; } break; } } /* 802CCA18-802CCF88 2C7358 0570+00 0/0 2/2 0/0 .text playOneShotVoice__12Z2SpeechMgr2FUcUsP3VecSc */ void Z2SpeechMgr2::playOneShotVoice(u8 i_speaker, u16 param_1, Vec* i_pos, s8 param_3) { if (i_speaker == 0) { return; } f32 fxmix = Z2GetSceneMgr()->getRoomReverb() / 127.0f; if (mVoice == 1 || mVoice == 2) { JAISoundID sound_id; switch (param_1) { case 25: sound_id = Z2SE_MSG_V_MDN_D21; break; case 30: sound_id = Z2SE_MSG_V_MDN_LAUGH_30; break; case 31: sound_id = Z2SE_MSG_V_MDN_LAUGH_31; break; case 32: sound_id = Z2SE_MSG_V_MDN_LAUGH_32; break; case 100: sound_id = Z2SE_MSG_V_A_MDN_1; break; case 101: sound_id = Z2SE_MSG_V_A_MDN_2; break; case 102: sound_id = Z2SE_MSG_V_A_MDN_102; break; case 103: sound_id = Z2SE_MSG_V_A_MDN_103; break; case 104: sound_id = Z2SE_MSG_V_A_MDN_104; break; default: return; } if (sound_id != -1) { mSpeech.startSound(sound_id, &field_0x0, (JGeometry::TVec3*)i_pos, i_speaker, fxmix, 1.0f, 1.0f, -1.0f, -1.0f, 0); } } else { JAISoundID sound_id = Z2SE_MESSAGE_SE_COMMON; switch (i_speaker) { case 3: if (param_1 == 1) { Z2GetSeqMgr()->subBgmStart(Z2BGM_ITEM_GET_MINI); return; } break; case 30: if (param_1 == 15) { sound_id = Z2SE_TAMABE_V_TUTO_BIKKURI; } break; case 29: if (param_1 == 4) { sound_id = Z2SE_KYURY_MV_ZEKKU; } else if (param_1 == 5) { sound_id = Z2SE_KYURY_MV_WORRY; } break; case 32: if (param_1 == 6) { sound_id = Z2SE_MOI_MV_WOUND_UMEKI; } break; case 35: if (param_1 == 10) { sound_id = Z2SE_HANJO_MV_CRY; } break; case 37: if (param_1 == 10) { sound_id = Z2SE_BESU_MV_DOUYOU; } break; case 47: if (param_1 == 15) { sound_id = Z2SE_ZRA_MV_WOUND_BREATH; } else if (param_1 == 17) { sound_id = Z2SE_ZRA_MV_WOUND_COUGH; } break; case 69: if (param_1 == 1) { sound_id = Z2SE_MSG_V_CAT; } else if (param_1 == 2) { sound_id = Z2SE_MSG_V_PERU; } break; case 70: if (param_1 == 1) { sound_id = Z2SE_MSG_V_DOG; } break; case 71: if (param_1 == 1) { sound_id = Z2SE_MSG_V_KOKKO; } break; case 72: if (param_1 == 1) { sound_id = Z2SE_MSG_V_SQUIRREL; } break; case 73: if (param_1 == 1) { sound_id = Z2SE_MSG_V_MONKEY; } break; case 74: if (param_1 == 1) { sound_id = Z2SE_MSG_V_FROG; } break; case 107: if (param_1 == 1) { sound_id = Z2SE_MSG_V_MYNA; } break; case 113: if (param_1 == 1) { sound_id = Z2SE_HS_V_CRY_UMAKUSA; } break; case 112: if (param_1 == 1) { sound_id = Z2SE_TKJ_V_SHOP_TALK; } break; case 38: if (param_1 == 4) { sound_id = Z2SE_D21V_MDN_HATTOSURU; } break; } if (field_0x0) { field_0x0.releaseSound(); } mSpeech.startSound(sound_id, &field_0x0, (JGeometry::TVec3*)i_pos, i_speaker, fxmix, 1.0f, 1.0f, -1.0f, -1.0f, 0); if (field_0x0) { mSpeech.setPortData(&field_0x0, 8, param_1, -1); } } } /* 802CCF88-802CCFB8 2C78C8 0030+00 0/0 1/1 0/0 .text isMidnaSpeak__12Z2SpeechMgr2Fv */ bool Z2SpeechMgr2::isMidnaSpeak() { if ((mVoice == 1 || mVoice == 2) && field_0x0) { return true; } return false; } /* 802CCFB8-802CCFF8 2C78F8 0040+00 1/1 0/0 0/0 .text __ct__15Z2SpeechStarterFv */ Z2SpeechStarter::Z2SpeechStarter() : Z2SoundStarter(false) {} /* 802CCFF8-802CD248 2C7938 0250+00 1/0 0/0 0/0 .text * startSound__15Z2SpeechStarterF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3UlfffffUl */ bool Z2SpeechStarter::startSound(JAISoundID i_soundID, JAISoundHandle* i_handle, JGeometry::TVec3 const* i_pos, u32 param_3, f32 i_fxmix, f32 i_pitch, f32 i_volume, f32 i_pan, f32 i_dolby, u32 i_count) { if (Z2GetSceneMgr()->isInDarkness() && Z2GetSceneMgr()->getDemoSeWaveNum() != 0x77 && Z2GetSceneMgr()->getDemoSeWaveNum() != 0x78) { i_fxmix = 1.0f; } else { f32 tmp = Z2GetStatusMgr()->getCameraInWaterDepthRatio() > 0.0f; if (tmp) { i_fxmix = tmp; } else if (Z2GetSceneMgr()->getDemoSeWaveNum() == 0x6c || Z2GetSceneMgr()->getDemoSeWaveNum() == 0x77) { i_fxmix = 0.07f; } else { i_fxmix += Z2GetEnvSeMgr()->getFogDensity() * 0.5f; if (i_fxmix > 1.0f) { i_fxmix = 1.0f; } } } bool ret = Z2GetAudioMgr()->startSound(i_soundID, i_handle, i_pos); if (*i_handle) { if (param_3 != 0) { setPortData(i_handle, 6, param_3, -1); } if (i_fxmix > 0.0f) { (*i_handle)->getAuxiliary().moveFxMix(i_fxmix, i_count); } if (i_pitch != 1.0f) { (*i_handle)->getAuxiliary().movePitch(i_pitch, i_count); } if (i_volume != 1.0f) { (*i_handle)->getAuxiliary().moveVolume(i_volume, i_count); } if (i_pan != -1.0f) { (*i_handle)->getAuxiliary().movePan(i_pan, i_count); } if (i_dolby != -1.0f) { (*i_handle)->getAuxiliary().moveDolby(i_dolby, i_count); } } return ret; }