fix x86 build
[pcsx_rearmed.git] / libpcsxcore / database.c
1 #include "misc.h"
2 #include "sio.h"
3 #include "new_dynarec/new_dynarec.h"
4
5 /* It's duplicated from emu_if.c */
6 #define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
7
8 static const char MemorycardHack_db[8][10] =
9 {
10         /* Lifeforce Tenka, also known as Codename Tenka */
11         {"SLES00613"},
12         {"SLED00690"},
13         {"SLES00614"},
14         {"SLES00615"},
15         {"SLES00616"},
16         {"SLES00617"},
17         {"SCUS94409"}
18 };
19
20 /* Function for automatic patching according to GameID. */
21 void Apply_Hacks_Cdrom()
22 {
23         uint32_t i;
24         
25         /* Apply Memory card hack for Codename Tenka. (The game needs one of the memory card slots to be empty) */
26         for(i=0;i<ARRAY_SIZE(MemorycardHack_db);i++)
27         {
28                 if (strncmp(CdromId, MemorycardHack_db[i], 9) == 0)
29                 {
30                         /* Disable the second memory card slot for the game */
31                         Config.Mcd2[0] = 0;
32                         /* This also needs to be done because in sio.c, they don't use Config.Mcd2 for that purpose */
33                         McdDisable[1] = 1;
34                 }
35         }
36
37         /* Dynarec game-specific hacks */
38         new_dynarec_hacks &= ~NDHACK_OVERRIDE_CYCLE_M;
39
40         /* Internal Section is fussy about timings */
41         if (strcmp(CdromId, "SLPS01868") == 0)
42         {
43                 cycle_multiplier_override = 200;
44                 new_dynarec_hacks |= NDHACK_OVERRIDE_CYCLE_M;
45         }
46 }