diff options
author | aliaspider | 2019-05-15 12:39:10 +0100 |
---|---|---|
committer | aliaspider | 2019-05-15 12:39:10 +0100 |
commit | 60bac94cb2dde2c1c6d54f9e3c58a0f7f284df06 (patch) | |
tree | 88f16c53a1035b748fad5d1a96d2dae91a388eec | |
parent | ce188d4d7f3b9ad04867c49b424e8497c2ade92b (diff) | |
download | pcsx_rearmed-60bac94cb2dde2c1c6d54f9e3c58a0f7f284df06.tar.gz pcsx_rearmed-60bac94cb2dde2c1c6d54f9e3c58a0f7f284df06.tar.bz2 pcsx_rearmed-60bac94cb2dde2c1c6d54f9e3c58a0f7f284df06.zip |
fix track information when loading CHDs.
-rw-r--r-- | libpcsxcore/cdriso.c | 6 |
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++; } |