diff --git a/PKHeX.Core/Game/GameVersion.cs b/PKHeX.Core/Game/GameVersion.cs
index d2a21bf19..c90713d5a 100644
--- a/PKHeX.Core/Game/GameVersion.cs
+++ b/PKHeX.Core/Game/GameVersion.cs
@@ -5,211 +5,446 @@
///
public enum GameVersion
{
- #region Indicators
+ #region Indicators for method empty arguments & result indication. Not stored values.
Invalid = -2,
Any = -1,
Unknown = 0,
#endregion
+ // The following values are IDs stored within PKM data, and can also identify individual games.
+
#region Gen3
///
- /// Sapphire (GBA)
+ /// Pokémon Sapphire (GBA)
///
S = 1,
///
- /// Ruby (GBA)
+ /// Pokémon Ruby (GBA)
///
R = 2,
///
- /// Emerald (GBA)
+ /// Pokémon Emerald (GBA)
///
E = 3,
///
- /// FireRed (GBA)
+ /// Pokémon FireRed (GBA)
///
FR = 4,
///
- /// LeafGreen (GBA)
+ /// Pokémon LeafGreen (GBA)
///
LG = 5,
///
- /// Colosseum/XD (GameCube)
+ /// Pokémon Colosseum & Pokémon XD (GameCube)
///
CXD = 15,
#endregion
#region Gen4
///
- /// Diamond (NDS)
+ /// Pokémon Diamond (NDS)
///
D = 10,
///
- /// Pearl (NDS)
+ /// Pokémon Pearl (NDS)
///
P = 11,
///
- /// Platinum (NDS)
+ /// Pokémon Platinum (NDS)
///
Pt = 12,
///
- /// Heart Gold (NDS)
+ /// Pokémon Heart Gold (NDS)
///
HG = 7,
///
- /// Soul Silver (NDS)
+ /// Pokémon Soul Silver (NDS)
///
SS = 8,
#endregion
#region Gen5
///
- /// White (NDS)
+ /// Pokémon White (NDS)
///
W = 20,
///
- /// Black (NDS)
+ /// Pokémon Black (NDS)
///
B = 21,
///
- /// White 2 (NDS)
+ /// Pokémon White 2 (NDS)
///
W2 = 22,
///
- /// Black 2 (NDS)
+ /// Pokémon Black 2 (NDS)
///
B2 = 23,
#endregion
#region Gen6
///
- /// X (3DS)
+ /// Pokémon X (3DS)
///
X = 24,
///
- /// Y (3DS)
+ /// Pokémon Y (3DS)
///
Y = 25,
///
- /// Alpha Sapphire (3DS)
+ /// Pokémon Alpha Sapphire (3DS)
///
AS = 26,
///
- /// Omega Ruby (3DS)
+ /// Pokémon Omega Ruby (3DS)
///
OR = 27,
#endregion
#region Gen7
///
- /// Sun (3DS)
+ /// Pokémon Sun (3DS)
///
SN = 30,
///
- /// Moon (3DS)
+ /// Pokémon Moon (3DS)
///
MN = 31,
///
- /// Ultra Sun (3DS)
+ /// Pokémon Ultra Sun (3DS)
///
US = 32,
///
- /// Ultra Moon (3DS)
+ /// Pokémon Ultra Moon (3DS)
///
UM = 33,
#endregion
///
- /// Pokémon GO (Unused)
+ /// Pokémon Pokémon GO (Unused)
///
GO = 34,
#region Virtual Console (3DS) Gen1
///
- /// Red (3DS Virtual Console)
+ /// Pokémon Red (3DS Virtual Console)
///
RD = 35,
///
- /// Green[JP]/Blue[INT] (3DS Virtual Console)
+ /// Pokémon Green[JP]/Blue[INT] (3DS Virtual Console)
///
GN = 36,
///
- /// Blue[JP] (3DS Virtual Console)
+ /// Pokémon Blue[JP] (3DS Virtual Console)
///
BU = 37,
///
- /// Yellow [JP] (3DS Virtual Console)
+ /// Pokémon Yellow [JP] (3DS Virtual Console)
///
YW = 38,
#endregion
#region Virtual Console (3DS) Gen2
///
- /// Gold (3DS Virtual Console)
+ /// Pokémon Gold (3DS Virtual Console)
///
GD = 39,
///
- /// Silver (3DS Virtual Console)
+ /// Pokémon Silver (3DS Virtual Console)
///
SV = 40,
///
- /// Crystal (3DS Virtual Console)
+ /// Pokémon Crystal (3DS Virtual Console)
///
C = 41,
#endregion
#region Nintendo Switch
///
- /// Let's Go Pikachu (NX)
+ /// Pokémon Let's Go Pikachu (NX)
///
GP = 42,
///
- /// Lets Go Eevee (NX)
+ /// Pokémon Let's Go Eevee (NX)
///
GE = 43,
#endregion
- // Not actually stored values, but assigned as properties.
+ // The following values are not actually stored values in pkm data,
+ // These values are assigned within PKHeX as properties for various logic branching.
- // Game Groupings (SaveFile type)
- /*SAV1*/ RB, RBY,
- /*SAV2*/ GS, GSC,
- /*SAV3*/ RS, RSE, FRLG, RSBOX, COLO, XD,
- /*SAV4*/ DP, DPPt, HGSS, BATREV,
- /*SAV5*/ BW, B2W2,
- /*SAV6*/ XY, ORASDEMO, ORAS,
- /*SAV7*/ SM, USUM, GG,
+ #region Game Groupings (SaveFile type, roughly)
+ ///
+ /// Pokémon Red & Blue [] identifier.
+ ///
+ ///
+ ///
+ ///
+ RB,
- // Extra Game Groupings (Generation)
- Gen1, Gen2, Gen3, Gen4, Gen5, Gen6, Gen7,
+ ///
+ /// Pokémon Red/Blue/Yellow [] identifier.
+ ///
+ ///
+ ///
+ ///
+ ///
+ RBY,
+
+ ///
+ /// Pokémon Gold & Silver [] identifier.
+ ///
+ ///
+ ///
+ GS,
+
+ ///
+ /// Pokémon Gold/Silver/Crystal [] identifier.
+ ///
+ ///
+ ///
+ ///
+ GSC,
+
+ ///
+ /// Pokémon Ruby & Sapphire [] identifier.
+ ///
+ ///
+ ///
+ RS,
+
+ ///
+ /// Pokémon Ruby/Sapphire/Emerald [] identifier.
+ ///
+ ///
+ ///
+ ///
+ RSE,
+
+ ///
+ /// Pokémon FireRed/LeafGreen [] identifier.
+ ///
+ ///
+ ///
+ FRLG,
+
+
+ ///
+ /// Pokémon Box Ruby & Sapphire [] identifier.
+ ///
+ RSBOX,
+
+ ///
+ /// Pokémon Colosseum [] identifier.
+ ///
+ ///
+ /// Also used to mark Colosseum-only origin data as this game shares a version ID with
+ COLO,
+
+ ///
+ /// Pokémon XD [] identifier.
+ ///
+ ///
+ /// Also used to mark XD-only origin data as this game shares a version ID with
+ XD,
+
+
+ ///
+ /// Pokémon Diamond & Pearl [] identifier.
+ ///
+ ///
+ ///
+ DP,
+
+ ///
+ /// Pokémon Diamond/Pearl/Platinum version group.
+ ///
+ /// Used to lump data from the associated games as data assets are shared.
+ ///
+ ///
+ ///
+ DPPt,
+
+ ///
+ /// Pokémon Heart Gold & Soul Silver [] identifier.
+ ///
+ ///
+ ///
+ HGSS,
+
+ ///
+ /// Pokémon Battle Revolution [] identifier.
+ ///
+ BATREV,
+
+ ///
+ /// Pokémon Black & White version group.
+ ///
+ /// Used to lump data from the associated games as data assets are shared.
+ ///
+ ///
+ BW,
+
+ ///
+ /// Pokémon Black 2 & White 2 version group.
+ ///
+ /// Used to lump data from the associated games as data assets are shared.
+ ///
+ ///
+ B2W2,
+
+ ///
+ /// Pokémon X & Y
+ ///
+ /// Used to lump data from the associated games as data assets are shared.
+ ///
+ ///
+ XY,
+
+ ///
+ /// Pokémon Omega Ruby & Alpha Sapphire Demo [] identifier.
+ ///
+ ///
+ ORASDEMO,
+
+ ///
+ /// Pokémon Omega Ruby & Alpha Sapphire version group.
+ ///
+ ///
+ ///
+ /// Used to lump data from the associated games as data assets are shared.
+ ORAS,
+
+ ///
+ /// Pokémon Sun & Moon
+ ///
+ /// Used to lump data from the associated games as data assets are shared.
+ ///
+ ///
+ SM,
+
+ ///
+ /// Pokémon Ultra Sun & Ultra Moon
+ ///
+ /// Used to lump data from the associated games as data assets are shared.
+ ///
+ ///
+ USUM,
+
+ ///
+ /// Pokémon Let's Go (TBD)
+ ///
+ /// Used to lump data from the associated games as data assets are shared.
+ ///
+ ///
+ GG,
+
+ ///
+ /// Generation 1 Games
+ ///
+ ///
+ Gen1,
+
+ ///
+ /// Generation 2 Games
+ ///
+ ///
+ Gen2,
+
+ ///
+ /// Generation 3 Games
+ ///
+ ///
+ ///
+ Gen3,
+
+ ///
+ /// Generation 4 Games
+ ///
+ ///
+ ///
+ Gen4,
+
+ ///
+ /// Generation 5 Games
+ ///
+ ///
+ ///
+ Gen5,
+
+ ///
+ /// Generation 6 Games
+ ///
+ ///
+ ///
+ Gen6,
+
+ ///
+ /// Generation 7 Games
+ ///
+ ///
+ ///
+ Gen7,
+
+ ///
+ /// Generation 1/2 Game Boy Cartridge Era Only
+ ///
+ ///
+ /// Since the original run of and could not transfer to future games,
+ /// any special encounters (event data) can only be allowed if the savedata originated from that era.
+ ///
GBCartEraOnly,
+
+ ///
+ /// Pokémon Stadium data origin identifier
+ ///
+ ///
Stadium,
+
+ ///
+ /// Pokémon Stadium 2 data origin identifier
+ ///
+ ///
Stadium2,
+
+ ///
+ /// Generation 1 Game Boy Cartridge Era Only data origin identifier
+ ///
EventsGBGen1,
+
+ ///
+ /// Generation 2 Game Boy Cartridge Era Only data origin identifier
+ ///
EventsGBGen2,
- VCEvents
+
+ ///
+ /// Generation 1/2 3DS Virtual Console data origin identifier
+ ///
+ VCEvents,
+ #endregion
}
}