aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTwinaphex2019-05-15 14:22:29 +0200
committerGitHub2019-05-15 14:22:29 +0200
commit4e0deb4b36b49a45061098fc531556bb6cea3e9e (patch)
treecd72c3b2a3b0828e9ea5cd6f63fa489a0bc45cef
parent763dadc797087948c26770f50aab1397f2519dc9 (diff)
parent60bac94cb2dde2c1c6d54f9e3c58a0f7f284df06 (diff)
downloadpcsx_rearmed-4e0deb4b36b49a45061098fc531556bb6cea3e9e.tar.gz
pcsx_rearmed-4e0deb4b36b49a45061098fc531556bb6cea3e9e.tar.bz2
pcsx_rearmed-4e0deb4b36b49a45061098fc531556bb6cea3e9e.zip
Merge pull request #283 from aliaspider/master
fix track information when loading CHDs.
-rw-r--r--libpcsxcore/cdriso.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libpcsxcore/cdriso.c b/libpcsxcore/cdriso.c
index fb074e5..7007f55 100644
--- a/libpcsxcore/cdriso.c
+++ b/libpcsxcore/cdriso.c
@@ -1059,7 +1059,7 @@ static int handlechd(const char *isofile) {
cddaBigEndian = TRUE;
numtracks = 0;
- int frame_offset = 0;
+ int frame_offset = 150;
memset(ti, 0, sizeof(ti));
while (1)
@@ -1087,14 +1087,14 @@ static int handlechd(const char *isofile) {
ti[md.track].type = !strncmp(md.type, "AUDIO", 5) ? CDDA : DATA;
sec2msf(frame_offset + md.pregap, ti[md.track].start);
- sec2msf(md.frames, ti[md.track].length);
+ sec2msf(md.frames - md.pregap, ti[md.track].length);
if (!strcmp(md.type, md.pgtype))
frame_offset += md.pregap;
ti[md.track].start_offset = frame_offset * CD_FRAMESIZE_RAW;
- frame_offset += (md.frames + 3) & ~3;
+ frame_offset += md.frames;
frame_offset += md.postgap;
numtracks++;
}