pcsx2/plugins/GSdx/GSCrc.h

220 lines
3.7 KiB
C++

/*
* Copyright (C) 2007-2009 Gabest
* http://www.gabest.org
*
* This Program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This Program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GNU Make; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA USA.
* http://www.gnu.org/copyleft/gpl.html
*
*/
#pragma once
class CRC
{
public:
enum Title
{
NoTitle,
MetalSlug6,
TomoyoAfter,
Clannad,
Lamune,
KyuuketsuKitanMoonties,
PiaCarroteYoukosoGPGakuenPrincess,
KazokuKeikakuKokoroNoKizuna,
DuelSaviorDestiny,
FFX,
FFX2,
FFXII,
HauntingGround,
ShadowHearts,
Okami,
MetalGearSolid3,
DBZBT2,
DBZBT3,
SFEX3,
Bully,
BullyCC,
SoTC,
OnePieceGrandAdventure,
OnePieceGrandBattle,
ICO,
GT4,
GT3,
GTConcept,
WildArms5,
WildArms4,
Manhunt2,
CrashBandicootWoC,
ResidentEvil4,
Spartan,
AceCombat4,
Drakengard2,
Tekken5,
IkkiTousen,
GodOfWar,
GodOfWar2,
JackieChanAdv,
HarvestMoon,
NamcoXCapcom,
GiTS,
Onimusha3,
MajokkoALaMode2,
TalesOfAbyss,
SonicUnleashed,
SimpsonsGame,
Genji,
StarOcean3,
ValkyrieProfile2,
RadiataStories,
SMTNocturne,
SMTDDS1,
SMTDDS2,
RozenMaidenGebetGarden,
EvangelionJo,
SuikodenTactics,
CaptainTsubasa,
Oneechanbara2Special,
NarutimateAccel,
Naruto,
EternalPoison,
LegoBatman,
XE3,
TenchuWoH,
TenchuFS,
Sly3,
Sly2,
ShadowofRome,
ArctheLad,
DemonStone,
BigMuthaTruckers,
TimeSplitters2,
ReZ,
LordOfTheRingsTwoTowers,
LordOfTheRingsThirdAge,
RedDeadRevolver,
SpidermanWoS,
HeavyMetalThunder,
SilentHill3,
SilentHill2,
BleachBladeBattlers,
CastlevaniaCoD,
CastlevaniaLoI,
FinalFightStreetwise,
CrashNburn,
TombRaiderUnderworld,
TombRaiderAnniversary,
TombRaiderLegend,
SSX3,
Black,
VF4,
TyTasmanianTiger,
TyTasmanianTiger2,
FFVIIDoC,
DigimonRumbleArena2,
StarWarsForceUnleashed,
StarWarsBattlefront,
StarWarsBattlefront2,
BlackHawkDown,
DevilMayCry3,
BurnoutTakedown,
BurnoutRevenge,
BurnoutDominator,
MidnightClub3,
XmenOriginsWolverine,
CallofDutyFinalFronts,
SpyroNewBeginning,
SpyroEternalNight,
TalesOfLegendia,
NanoBreaker,
Kunoichi,
Yakuza,
Yakuza2,
SkyGunner,
JamesBondEverythingOrNothing,
Siren,
ZettaiZetsumeiToshi2,
VF4EVO,
Dororo,
ShinOnimusha,
GetaWay,
GetaWayBlackMonday,
SakuraTaisen,
SakuraWarsSoLongMyLove,
FightingBeautyWulong,
TouristTrophy,
GTASanAndreas,
FrontMission5,
GodHand,
KnightsOfTheTemple2,
UltramanFightingEvolution,
DeathByDegreesTekkenNinaWilliams,
AlpineRacer3,
HummerBadlands,
SengokuBasara,
Grandia3,
TalesofSymphonia,
TalesofDestiny,
SDGundamGGeneration,
SoulCalibur2,
SoulCalibur3,
Simple2000Vol114,
SeintoSeiya,
UrbanReign,
SteambotChronicles,
SacredBlaze,
TitleCount,
};
enum Region
{
NoRegion,
US,
EU,
JP,
JPUNDUB,
RU,
FR,
DE,
IT,
ES,
CH,
ASIA,
KO,
RegionCount,
};
enum Flags
{
PointListPalette = 1,
ZWriteMustNotClear = 2,
};
struct Game
{
uint32 crc;
Title title;
Region region;
uint32 flags;
};
private:
static Game m_games[];
static hash_map<uint32, Game*> m_map;
public:
static Game Lookup(uint32 crc);
};