diff options
Diffstat (limited to 'src/Dolphin/dvd/dvdidutils.c')
-rw-r--r-- | src/Dolphin/dvd/dvdidutils.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/Dolphin/dvd/dvdidutils.c b/src/Dolphin/dvd/dvdidutils.c new file mode 100644 index 0000000..3c58e98 --- /dev/null +++ b/src/Dolphin/dvd/dvdidutils.c @@ -0,0 +1,27 @@ +#include <dolphin/DVDPriv.h> +#include <dolphin/dvd.h> +#include <dolphin/dvd_regs.h> + +#include <string.h> + +BOOL DVDCompareDiskID(DVDDiskID* id1, DVDDiskID* id2) { + + if (id1->gameName[0] && id2->gameName[0] && strncmp(&id1->gameName[0], &id2->gameName[0], 4)) { + return FALSE; + } + + if (!id1->company[0] || !id2->company[0] || strncmp(&id1->company[0], &id2->company[0], 2)) { + return FALSE; + } + + if (id1->diskNumber != 0xff && id2->diskNumber != 0xff && id1->diskNumber != id2->diskNumber) { + return FALSE; + } + + if (id1->gameVersion != 0xff && id2->gameVersion != 0xff && + id1->gameVersion != id2->gameVersion) { + return FALSE; + } + + return TRUE; +} |