| 441 | } |
| 442 | |
| 443 | void GameDatabaseSchema::GameEntry::applyGameFixes(Pcsx2Config& config, bool applyAuto) const |
| 444 | { |
| 445 | // Only apply core game fixes if the user has enabled them. |
| 446 | if (!applyAuto) |
| 447 | Console.Warning("GameDB: Game Fixes are disabled"); |
| 448 | |
| 449 | if (eeRoundMode < FPRoundMode::MaxCount) |
| 450 | { |
| 451 | if (applyAuto) |
| 452 | { |
| 453 | Console.WriteLn("GameDB: Changing EE/FPU roundmode to %d [%s]", eeRoundMode, s_round_modes[static_cast<u8>(eeRoundMode)]); |
| 454 | config.Cpu.FPUFPCR.SetRoundMode(eeRoundMode); |
| 455 | } |
| 456 | else |
| 457 | { |
| 458 | Console.Warning("GameDB: Skipping changing EE/FPU roundmode to %d [%s]", eeRoundMode, s_round_modes[static_cast<u8>(eeRoundMode)]); |
| 459 | } |
| 460 | } |
| 461 | |
| 462 | if (eeDivRoundMode < FPRoundMode::MaxCount) |
| 463 | { |
| 464 | if (applyAuto) |
| 465 | { |
| 466 | Console.WriteLn("GameDB: Changing EE/FPU divison roundmode to %d [%s]", eeRoundMode, s_round_modes[static_cast<u8>(eeDivRoundMode)]); |
| 467 | config.Cpu.FPUDivFPCR.SetRoundMode(eeDivRoundMode); |
| 468 | } |
| 469 | else |
| 470 | { |
| 471 | Console.Warning("GameDB: Skipping changing EE/FPU roundmode to %d [%s]", eeRoundMode, s_round_modes[static_cast<u8>(eeRoundMode)]); |
| 472 | } |
| 473 | } |
| 474 | |
| 475 | if (vu0RoundMode < FPRoundMode::MaxCount) |
| 476 | { |
| 477 | if (applyAuto) |
| 478 | { |
| 479 | Console.WriteLn("GameDB: Changing VU0 roundmode to %d [%s]", vu0RoundMode, s_round_modes[static_cast<u8>(vu0RoundMode)]); |
| 480 | config.Cpu.VU0FPCR.SetRoundMode(vu0RoundMode); |
| 481 | } |
| 482 | else |
| 483 | { |
| 484 | Console.Warning("GameDB: Skipping changing VU0 roundmode to %d [%s]", vu0RoundMode, s_round_modes[static_cast<u8>(vu0RoundMode)]); |
| 485 | } |
| 486 | } |
| 487 | |
| 488 | if (vu1RoundMode < FPRoundMode::MaxCount) |
| 489 | { |
| 490 | if (applyAuto) |
| 491 | { |
| 492 | Console.WriteLn("GameDB: Changing VU1 roundmode to %d [%s]", vu1RoundMode, s_round_modes[static_cast<u8>(vu1RoundMode)]); |
| 493 | config.Cpu.VU1FPCR.SetRoundMode(vu1RoundMode); |
| 494 | } |
| 495 | else |
| 496 | { |
| 497 | Console.Warning("GameDB: Skipping changing VU1 roundmode to %d [%s]", vu1RoundMode, s_round_modes[static_cast<u8>(vu1RoundMode)]); |
| 498 | } |
| 499 | } |
| 500 |
no test coverage detected