From 2bf2101b07bb0722504ba58173cc618644758bb0 Mon Sep 17 00:00:00 2001 From: "SND\\shalma_cp" Date: Mon, 22 Nov 2010 15:13:30 +0000 Subject: Space Hulk - Vengeance of the Blood Angels - cdrom.c - channel off = use first file - fix music, speech git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@59955 e17a0e51-4ae3-4d35-97c3-1a29b211df97 --- libpcsxcore/cdrom.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'libpcsxcore') diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index 96d9faac..325e3866 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -1360,14 +1360,15 @@ void cdrReadInterrupt() { if ((!cdr.Muted) && (cdr.Mode & 0x40) && (!Config.Xa) && (cdr.FirstSector != -1)) { // CD-XA // Firemen 2: Multi-XA files - briefings, cutscenes - if( cdr.FirstSector == 1 && (cdr.Mode & 0x8)==0 ) { - cdr.File = cdr.Transfer[4 + 0]; - } - - if ((cdr.Transfer[4 + 2] & 0x4) && - ((cdr.Mode & 0x8) ? (cdr.Transfer[4 + 1] == cdr.Channel) : 1) && - (cdr.Transfer[4 + 0] == cdr.File)) { - int ret = xa_decode_sector(&cdr.Xa, cdr.Transfer+4, cdr.FirstSector); + if( cdr.FirstSector == 1 && (cdr.Mode & 0x8)==0 ) { + cdr.File = cdr.Transfer[4 + 0]; + cdr.Channel = cdr.Transfer[4 + 1]; + } + + if((cdr.Transfer[4 + 2] & 0x4) && + (cdr.Transfer[4 + 1] == cdr.Channel) && + (cdr.Transfer[4 + 0] == cdr.File)) { + int ret = xa_decode_sector(&cdr.Xa, cdr.Transfer+4, cdr.FirstSector); if (!ret) { SPU_playADPCMchannel(&cdr.Xa); -- cgit v1.2.3