azahar/src/common/hacks/hack_list.cpp
PabloMK7 5ddbaeae23
Some checks are pending
citra-build / source (push) Waiting to run
citra-build / linux-x86_64 (appimage) (push) Waiting to run
citra-build / linux-x86_64 (appimage-wayland) (push) Waiting to run
citra-build / linux-x86_64 (gcc-nopch) (push) Waiting to run
citra-build / linux-arm64 (clang) (push) Waiting to run
citra-build / linux-arm64 (gcc-nopch) (push) Waiting to run
citra-build / macos (push) Waiting to run
citra-build / windows (msvc) (push) Waiting to run
citra-build / windows (msys2) (push) Waiting to run
citra-build / android (googleplay) (push) Waiting to run
citra-build / android (vanilla) (push) Waiting to run
citra-build / docker (push) Waiting to run
citra-format / clang-format (push) Waiting to run
citra-libretro / android (push) Waiting to run
citra-libretro / linux (push) Waiting to run
citra-libretro / windows (push) Waiting to run
citra-libretro / macos (arm64) (push) Waiting to run
citra-libretro / macos (x86_64) (push) Waiting to run
citra-libretro / ios (push) Waiting to run
citra-libretro / tvos (push) Waiting to run
citra-transifex / transifex (push) Waiting to run
gsp: Fix GPU interrupt queue and add GPU timing emulation (#2095)
2026-05-07 01:36:21 +02:00

215 lines
No EOL
7.5 KiB
C++

// Copyright Citra Emulator Project / Azahar Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "common/hacks/hack_manager.h"
namespace Common::Hacks {
HackManager hack_manager = {
.entries = {
// The following games cannot use the right eye disable hack due to the way they
// handle rendering.
{HackType::RIGHT_EYE_DISABLE,
HackEntry{
.mode = HackAllowMode::DISALLOW,
.affected_title_ids =
{
// Luigi's Mansion
0x00040000001D1900,
0x00040000001D1A00,
// Luigi's Mansion 2
0x0004000000055F00,
0x0004000000076500,
0x0004000000076400,
0x00040000000D0000,
// Rayman Origins
0x000400000005A500,
0x0004000000084400,
0x0004000000057600,
},
}},
// The following games require accurate multiplication to render properly.
{HackType::ACCURATE_MULTIPLICATION,
HackEntry{
.mode = HackAllowMode::FORCE,
.affected_title_ids =
{
// The Legend of Zelda: Ocarina of Time 3D
0x0004000000033400, // JPN
0x0004000000033500, // USA
0x0004000000033600, // EUR
0x000400000008F800, // KOR
0x000400000008F900, // CHI
// Mario & Luigi: Superstar Saga + Bowsers Minions
0x00040000001B8F00, // USA
0x00040000001B9000, // EUR
0x0004000000194B00, // JPN
// Mario & Luigi: Bowsers Inside Story + Bowser Jrs Journey
0x00040000001D1400, // USA
0x00040000001D1500, // EUR
0x00040000001CA900, // JPN
// Mario & Luigi: Paper Jam
0x0004000000132600, // JPN
0x0004000000132700, // USA
0x0004000000132800, // EUR
0x000400000018A100, // EUR (Demo)
},
}},
{HackType::DECRYPTION_AUTHORIZED,
HackEntry{
.mode = HackAllowMode::ALLOW,
.affected_title_ids =
{
// NIM
0x0004013000002C02, // Normal
0x0004013000002C03, // Safe mode
0x0004013020002C03, // New 3DS safe mode
// DLP
0x0004013000002802,
},
}},
{HackType::ONLINE_LLE_REQUIRED,
HackEntry{
.mode = HackAllowMode::FORCE,
.affected_title_ids =
{
// eShop
0x0004001000020900, // JPN
0x0004001000021900, // USA
0x0004001000022900, // EUR
0x0004001000027900, // KOR
0x0004001000028900, // TWN
// System Settings
0x0004001000020000, // JPN
0x0004001000021000, // USA
0x0004001000022000, // EUR
0x0004001000026000, // CHN
0x0004001000027000, // KOR
0x0004001000028000, // TWN
// Nintendo Network ID Settings
0x000400100002BF00, // JPN
0x000400100002C000, // USA
0x000400100002C100, // EUR
// System Settings
0x0004003000008202, // JPN
0x0004003000008F02, // USA
0x0004003000009802, // EUR
0x000400300000A102, // CHN
0x000400300000A902, // KOR
0x000400300000B102, // TWN
// Pretendo Network's Nimbus
0x000400000D40D200,
},
}},
{HackType::REGION_FROM_SECURE,
HackEntry{
.mode = HackAllowMode::FORCE,
.affected_title_ids =
{
// eShop
0x0004001000020900, // JPN
0x0004001000021900, // USA
0x0004001000022900, // EUR
0x0004001000027900, // KOR
0x0004001000028900, // TWN
// System Settings
0x0004001000020000, // JPN
0x0004001000021000, // USA
0x0004001000022000, // EUR
0x0004001000026000, // CHN
0x0004001000027000, // KOR
0x0004001000028000, // TWN
// Nintendo Network ID Settings
0x000400100002BF00, // JPN
0x000400100002C000, // USA
0x000400100002C100, // EUR
// System Settings
0x0004003000008202, // JPN
0x0004003000008F02, // USA
0x0004003000009802, // EUR
0x000400300000A102, // CHN
0x000400300000A902, // KOR
0x000400300000B102, // TWN
// NIM
0x0004013000002C02, // Normal
0x0004013000002C03, // Safe mode
0x0004013020002C03, // New 3DS safe mode
// ACT
0x0004013000003802, // Normal
// FRD
0x0004013000003202, // Normal
0x0004013000003203, // Safe mode
0x0004013020003203, // New 3DS safe mode
},
}},
{HackType::REQUIRES_SHADER_FIXUP,
HackEntry{
.mode = HackAllowMode::FORCE,
.affected_title_ids =
{
// 3D Thunder Blade
0x0004000000128A00, // JPN
0x0004000000158200, // EUR
0x0004000000158C00, // USA
// 3D After Burner II
0x0004000000114200, // JPN
0x0004000000157A00, // EUR
0x0004000000158900, // USA
// 3D Classics
0x0004000000154000, // 1 (JPN)
0x0004000000180E00, // 2 (JPN)
0x000400000019A700, // 2 (EUR)
0x0004000000185E00, // 2 (USA)
0x00040000001AA300, // 3 (JPN)
},
}},
{HackType::SPOOF_FRIEND_CODE_SEED,
HackEntry{
.mode = HackAllowMode::FORCE,
.affected_title_ids =
{
// Luigi's Mansion 3ds
0x00040000001D1800, // JPN
0x00040000001D1900, // USA
0x00040000001D1A00, // EUR
},
}},
{HackType::DELAY_TEXTURE_COPY_COMPLETION,
HackEntry{
.mode = HackAllowMode::FORCE,
.affected_title_ids =
{
// Super Mario 3D Land
0x0004000000054100, // JPN
0x0004000000054000, // USA
0x0004000000053F00, // EUR
0x0004000000089E00, // CHN
0x0004000000089D00, // KOR
},
}},
}};
}