misc gen1 updates

sav1: assign personal table based on (detected/provided) version
catchrate editor: allow to use savefile personal
remove gb era prompt whenever gb/blank loaded; have it as a setting (can
be overridden for VC now). keep allowgbera as autodetect
personaltable: track format for debugging purposes/info

update translations
This commit is contained in:
Kurt 2019-01-21 20:06:02 -08:00
parent 8652677a79
commit 13090c0ced
26 changed files with 103 additions and 81 deletions

View file

@ -48,10 +48,14 @@
internal static bool IsFromActiveTrainer(PKM pkm) => ActiveTrainer.IsFromTrainer(pkm);
/// <summary>
/// Initializes certain settings
/// </summary>
/// <param name="sav">Newly loaded save file</param>
/// <returns>Save file is Physical GB cartridge save file (not Virtual Console)</returns>
public static bool InitFromSaveFileData(SaveFile sav)
{
ActiveTrainer = sav;
AllowGen1Tradeback = true;
if (sav.Generation >= 3)
return AllowGBCartEra = false;
string path = sav.FileName;

View file

@ -95,12 +95,12 @@ namespace PKHeX.Core
/// <summary>
/// Personal Table used in <see cref="GameVersion.RB"/>.
/// </summary>
public static readonly PersonalTable RB = GetTable("rb", GameVersion.RBY);
public static readonly PersonalTable RB = GetTable("rb", GameVersion.RB);
/// <summary>
/// Personal Table used in <see cref="GameVersion.YW"/>.
/// </summary>
public static readonly PersonalTable Y = GetTable("y", GameVersion.RBY);
public static readonly PersonalTable Y = GetTable("y", GameVersion.YW);
private static PersonalTable GetTable(string game, GameVersion format)
{
@ -122,7 +122,7 @@ namespace PKHeX.Core
{
switch (format)
{
case GameVersion.RBY:
case GameVersion.RB: case GameVersion.YW: case GameVersion.RBY:
return z => new PersonalInfoG1(z);
case GameVersion.GS: case GameVersion.C:
return z => new PersonalInfoG2(z);
@ -149,6 +149,8 @@ namespace PKHeX.Core
{
switch (format)
{
case GameVersion.RB:
case GameVersion.YW:
case GameVersion.RBY: return PersonalInfoG1.SIZE;
case GameVersion.GS:
case GameVersion.C: return PersonalInfoG2.SIZE;
@ -218,6 +220,7 @@ namespace PKHeX.Core
Table[i] = get(entries[i]);
MaxSpeciesID = format.GetMaxSpeciesID();
Game = format;
}
private readonly PersonalInfo[] Table;
@ -289,6 +292,11 @@ namespace PKHeX.Core
/// </summary>
public readonly int MaxSpeciesID;
/// <summary>
/// Game(s) the <see cref="Table"/> originated from.
/// </summary>
public readonly GameVersion Game;
/// <summary>
/// Gets form names for every species.
/// </summary>

View file

@ -74,9 +74,6 @@ MsgSimulatorExportSuccess = Exported Showdown Set to Clipboard:
MsgSimulatorExportParty = Showdown Team (Party) set to Clipboard.
MsgSimulatorExportBattleBox = Showdown Team (Battle Box) set to Clipboard.
MsgSimulatorExportList = Showdown Sets copied to Clipboard.
MsgLegalityAllowTradebacks = Generation 1 Save File detected. Allow tradebacks from Generation 2 for legality purposes?
MsgLegalityAllowTradebacksYes = Yes: Allow Generation 2 tradeback learnsets
MsgLegalityAllowTradebacksNo = No: Don't allow Generation 2 tradeback learnsets
MsgBackupCreateLocation = PKHeX can perform automatic backups if you create a folder with the name '{0}' in the same folder as PKHeX's executable.
MsgBackupCreateQuestion = Would you like to create the backup folder now?
MsgBackupDelete = If you wish to no longer automatically back up save files, delete the '{0}' folder.

View file

@ -1214,6 +1214,7 @@ SAV_ZygardeCell.B_GiveAll=Collect All
SAV_ZygardeCell.B_Save=Save
SAV_ZygardeCell.L_Cells=Stored:
SAV_ZygardeCell.L_Collected=Collected:
SettingsEditor.AllowGen1Tradeback=AllowGen1Tradeback
SettingsEditor.ApplyMarkings=Apply Markings on Import
SettingsEditor.BAKEnabled=Automatic Save File Backups Enabled
SettingsEditor.DetectSaveOnStartup=Automatically Detect Save File on Program Startup
@ -1223,6 +1224,7 @@ SettingsEditor.HideSecretDetails=Hide Secret Details in Editors
SettingsEditor.HoverSlotGlowEdges=Show PKM Glow on Hover
SettingsEditor.HoverSlotPlayCry=Play PKM Slot Cry on Hover
SettingsEditor.HoverSlotShowText=Show PKM Slot ToolTip on Hover
SettingsEditor.L_Blank=Blank Save Version:
SettingsEditor.ModifyUnset=Notify Unset Changes
SettingsEditor.SetUpdateDex=Ändern Pokédex
SettingsEditor.SetUpdatePKM=Ändern PKM Info

View file

@ -74,9 +74,6 @@ MsgSimulatorExportSuccess = Exported Showdown Set to Clipboard:
MsgSimulatorExportParty = Showdown Team (Party) set to Clipboard.
MsgSimulatorExportBattleBox = Showdown Team (Battle Box) set to Clipboard.
MsgSimulatorExportList = Showdown Sets copied to Clipboard.
MsgLegalityAllowTradebacks = Generation 1 Save File detected. Allow tradebacks from Generation 2 for legality purposes?
MsgLegalityAllowTradebacksYes = Yes: Allow Generation 2 tradeback learnsets
MsgLegalityAllowTradebacksNo = No: Don't allow Generation 2 tradeback learnsets
MsgBackupCreateLocation = PKHeX can perform automatic backups if you create a folder with the name '{0}' in the same folder as PKHeX's executable.
MsgBackupCreateQuestion = Would you like to create the backup folder now?
MsgBackupDelete = If you wish to no longer automatically back up save files, delete the '{0}' folder.

View file

@ -1210,6 +1210,7 @@ SAV_ZygardeCell.B_GiveAll=Collect All
SAV_ZygardeCell.B_Save=Save
SAV_ZygardeCell.L_Cells=Stored:
SAV_ZygardeCell.L_Collected=Collected:
SettingsEditor.AllowGen1Tradeback=GB: Allow Generation 2 tradeback learnsets
SettingsEditor.ApplyMarkings=Apply Markings on Import
SettingsEditor.BAKEnabled=Automatic Save File Backups Enabled
SettingsEditor.DetectSaveOnStartup=Automatically Detect Save File on Program Startup
@ -1219,6 +1220,7 @@ SettingsEditor.HideSecretDetails=Hide Secret Details in Editors
SettingsEditor.HoverSlotGlowEdges=Show PKM Glow on Hover
SettingsEditor.HoverSlotPlayCry=Play PKM Slot Cry on Hover
SettingsEditor.HoverSlotShowText=Show PKM Slot ToolTip on Hover
SettingsEditor.L_Blank=Blank Save Version:
SettingsEditor.ModifyUnset=Notify Unset Changes
SettingsEditor.SetUpdateDex=Modify Pokédex
SettingsEditor.SetUpdatePKM=Modify PKM Info

View file

@ -74,9 +74,6 @@ MsgSimulatorExportSuccess = Set de Showdown exportado al portapapeles:
MsgSimulatorExportParty = Equipo de Showdown (Equipo) puesto en el portapapeles.
MsgSimulatorExportBattleBox = Equipo de Showdown (Caja de Combate) puesto en el portapapeles.
MsgSimulatorExportList = Set de Movimientos copiado al portapapeles.
MsgLegalityAllowTradebacks = Partida de la Generación 1 detectada. ¿Permitir intercambiar desde la Generación 2 por propósitos de legalidad?
MsgLegalityAllowTradebacksYes = Sí: Permitir intercambio de movimientos desde la Generación 2.
MsgLegalityAllowTradebacksNo = No: No permitir intercambio de movimientos desde la Generación 2.
MsgBackupCreateLocation = PKHeX puede realizar copias de seguridad automáticas si creas un directorio con el nombre '{0}' en el mismo directorio donde se encuentra el ejecutable de PKHeX.
MsgBackupCreateQuestion = ¿Te gustaría crear el directorio de copia de seguridad ahora?
MsgBackupDelete = Si deseas no seguir creando copias de seguridad de tus archivos de guardado automáticamente, borra el directorio '{0}'.

View file

@ -1210,6 +1210,7 @@ SAV_ZygardeCell.B_GiveAll=Tomar todos
SAV_ZygardeCell.B_Save=Guardar
SAV_ZygardeCell.L_Cells=Guardado:
SAV_ZygardeCell.L_Collected=Colectado:
SettingsEditor.AllowGen1Tradeback=GB: Permitir intercambio de movimientos desde la Generación 2.
SettingsEditor.ApplyMarkings=Aplicar marcadores al importar
SettingsEditor.BAKEnabled=Automatic Save File Backups Enabled
SettingsEditor.DetectSaveOnStartup=Automatically Detect Save File on Program Startup
@ -1219,6 +1220,7 @@ SettingsEditor.HideSecretDetails=Ocultar detalles secretos en los editores
SettingsEditor.HoverSlotGlowEdges=Mostrar brillo PKM al pasar el ratón
SettingsEditor.HoverSlotPlayCry=Reproducir grito PKM al pasar el ratón
SettingsEditor.HoverSlotShowText=Mostrar info. PKM al pasar el ratón
SettingsEditor.L_Blank=Blank Save Version:
SettingsEditor.ModifyUnset=Notificar cambios no hechos
SettingsEditor.SetUpdateDex=Modificar Pokédex
SettingsEditor.SetUpdatePKM=Modificar info PKM

View file

@ -74,9 +74,6 @@ MsgSimulatorExportSuccess = Moveset Showdown exporté:
MsgSimulatorExportParty = Équipe exportée.
MsgSimulatorExportBattleBox = Boîte de Combat exportée.
MsgSimulatorExportList = Movesets exportés.
MsgLegalityAllowTradebacks = Sauvegarde de la première génération détectée. Permettre des échanges depuis la Génération 2 ?
MsgLegalityAllowTradebacksYes = Oui: Permettre les movepools de revenants de la Gén. 2
MsgLegalityAllowTradebacksNo = Non: Ne pas permettre ce type de movepools.
MsgBackupCreateLocation = PKHeX peut produire des copies de secours si vous créez un dossier nommé '{0}' dans le même dossier que ce programme.
MsgBackupCreateQuestion = Voulez-vous créer ce dossier de secours maintenant ?
MsgBackupDelete = Si vous ne voulez plus de sauvegardes auto de vos fichiers, supprimez le dossier '{0}'.

View file

@ -1214,6 +1214,7 @@ SAV_ZygardeCell.B_GiveAll=Tout obtenir
SAV_ZygardeCell.B_Save=Sauvegarder
SAV_ZygardeCell.L_Cells=Conservé :
SAV_ZygardeCell.L_Collected=Obtenu :
SettingsEditor.AllowGen1Tradeback=GB: Permettre les movepools de revenants de la Gén. 2
SettingsEditor.ApplyMarkings=Appliquer des marques de l'import
SettingsEditor.BAKEnabled=Automatic Save File Backups Enabled
SettingsEditor.DetectSaveOnStartup=Automatically Detect Save File on Program Startup
@ -1223,6 +1224,7 @@ SettingsEditor.HideSecretDetails=Hide Secret Details in Editors
SettingsEditor.HoverSlotGlowEdges=Faire briller le Pokémon au survol
SettingsEditor.HoverSlotPlayCry=Jouer le cri du Pokémon au survol
SettingsEditor.HoverSlotShowText=Montrer le résumé du Pokémon au survol
SettingsEditor.L_Blank=Blank Save Version:
SettingsEditor.ModifyUnset=Notifier en cas de changements non sauvegardés
SettingsEditor.SetUpdateDex=Modifier Infos Pokédex
SettingsEditor.SetUpdatePKM=Modifier Infos Pokémon

View file

@ -74,9 +74,6 @@ MsgSimulatorExportSuccess = Exported Showdown Set to Clipboard:
MsgSimulatorExportParty = Showdown Team (Party) set to Clipboard.
MsgSimulatorExportBattleBox = Showdown Team (Battle Box) set to Clipboard.
MsgSimulatorExportList = Showdown Sets copied to Clipboard.
MsgLegalityAllowTradebacks = Generation 1 Save File detected. Allow tradebacks from Generation 2 for legality purposes?
MsgLegalityAllowTradebacksYes = Yes: Allow Generation 2 tradeback learnsets
MsgLegalityAllowTradebacksNo = No: Don't allow Generation 2 tradeback learnsets
MsgBackupCreateLocation = PKHeX can perform automatic backups if you create a folder with the name '{0}' in the same folder as PKHeX's executable.
MsgBackupCreateQuestion = Would you like to create the backup folder now?
MsgBackupDelete = If you wish to no longer automatically back up save files, delete the '{0}' folder.
@ -99,7 +96,6 @@ MsgSaveExportSuccessPath = SAV exported to:
MsgSaveExportContinue = Continue saving?
MsgSaveSlotEmpty = Can't have an empty/egg party.
MsgSaveSlotLocked = Can't modify a locked slot.
MsgSaveSlotBadData = Unable to set to this slot.
MsgSaveBackup = Saved Backup of current SAV to:
MsgSaveCurrentGeneration = Current SAV Generation: {0}
MsgSaveBoxCloneFromTabs = Clone Pokemon from Editing Tabs to all slots in {0}?
@ -237,3 +233,4 @@ MsgItemPouchRemoved = The following item(s) have been removed from the {0} pouch
MsgSaveDifferentTypes = Save File types are different.
MsgSaveDifferentVersions = Save File versions are not the same.
MsgSaveNumberInvalid = Save File {0} is not valid.
MsgSaveSlotBadData = Unable to set to this slot.

View file

@ -1220,6 +1220,7 @@ SAV_ZygardeCell.B_GiveAll=Collect All
SAV_ZygardeCell.B_Save=Save
SAV_ZygardeCell.L_Cells=Stored:
SAV_ZygardeCell.L_Collected=Collected:
SettingsEditor.AllowGen1Tradeback=GB: Allow Generation 2 tradeback learnsets
SettingsEditor.ApplyMarkings=Apply Markings on Import
SettingsEditor.BAKEnabled=Automatic Save File Backups Enabled
SettingsEditor.DetectSaveOnStartup=Automatically Detect Save File on Program Startup
@ -1229,6 +1230,7 @@ SettingsEditor.HideSecretDetails=Hide Secret Details in Editors
SettingsEditor.HoverSlotGlowEdges=Show PKM Glow on Hover
SettingsEditor.HoverSlotPlayCry=Play PKM Slot Cry on Hover
SettingsEditor.HoverSlotShowText=Show PKM Slot ToolTip on Hover
SettingsEditor.L_Blank=Blank Save Version:
SettingsEditor.ModifyUnset=Notify Unset Changes
SettingsEditor.SetUpdateDex=Modify Pokédex
SettingsEditor.SetUpdatePKM=Modify PKM Info

View file

@ -74,9 +74,6 @@ MsgSimulatorExportSuccess = Exported Showdown Set to Clipboard:
MsgSimulatorExportParty = Showdown Team (Party) set to Clipboard.
MsgSimulatorExportBattleBox = Showdown Team (Battle Box) set to Clipboard.
MsgSimulatorExportList = Showdown Sets copied to Clipboard.
MsgLegalityAllowTradebacks = Generation 1 Save File detected. Allow tradebacks from Generation 2 for legality purposes?
MsgLegalityAllowTradebacksYes = Yes: Allow Generation 2 tradeback learnsets
MsgLegalityAllowTradebacksNo = No: Don't allow Generation 2 tradeback learnsets
MsgBackupCreateLocation = PKHeX can perform automatic backups if you create a folder with the name '{0}' in the same folder as PKHeX's executable.
MsgBackupCreateQuestion = Would you like to create the backup folder now?
MsgBackupDelete = If you wish to no longer automatically back up save files, delete the '{0}' folder.
@ -99,6 +96,7 @@ MsgSaveExportSuccessPath = SAV exported to:
MsgSaveExportContinue = Continue saving?
MsgSaveSlotEmpty = Can't have an empty/egg party.
MsgSaveSlotLocked = Can't modify a locked slot.
MsgSaveSlotBadData = Unable to set to this slot.
MsgSaveBackup = Saved Backup of current SAV to:
MsgSaveCurrentGeneration = Current SAV Generation: {0}
MsgSaveBoxCloneFromTabs = Clone Pokemon from Editing Tabs to all slots in {0}?
@ -236,4 +234,3 @@ MsgItemPouchRemoved = The following item(s) have been removed from the {0} pouch
MsgSaveDifferentTypes = Save File types are different.
MsgSaveDifferentVersions = Save File versions are not the same.
MsgSaveNumberInvalid = Save File {0} is not valid.
MsgSaveSlotBadData = Unable to set to this slot.

View file

@ -1214,6 +1214,7 @@ SAV_ZygardeCell.B_GiveAll=全て取得
SAV_ZygardeCell.B_Save=保存
SAV_ZygardeCell.L_Cells=キューブ内
SAV_ZygardeCell.L_Collected=回収
SettingsEditor.AllowGen1Tradeback=GB: Allow Generation 2 tradeback learnsets
SettingsEditor.ApplyMarkings=Apply Markings on Import
SettingsEditor.BAKEnabled=Automatic Save File Backups Enabled
SettingsEditor.DetectSaveOnStartup=Automatically Detect Save File on Program Startup
@ -1223,6 +1224,7 @@ SettingsEditor.HideSecretDetails=Hide Secret Details in Editors
SettingsEditor.HoverSlotGlowEdges=Show PKM Glow on Hover
SettingsEditor.HoverSlotPlayCry=Play PKM Slot Cry on Hover
SettingsEditor.HoverSlotShowText=Show PKM Slot ToolTip on Hover
SettingsEditor.L_Blank=Blank Save Version:
SettingsEditor.ModifyUnset=Notify Unset Changes
SettingsEditor.SetUpdateDex=ポケモン図鑑に反映
SettingsEditor.SetUpdatePKM=PKM情報の変更

View file

@ -74,9 +74,6 @@ MsgSimulatorExportSuccess = Exported Showdown Set to Clipboard:
MsgSimulatorExportParty = Showdown Team (Party) set to Clipboard.
MsgSimulatorExportBattleBox = Showdown Team (Battle Box) set to Clipboard.
MsgSimulatorExportList = Showdown Sets copied to Clipboard.
MsgLegalityAllowTradebacks = Generation 1 Save File detected. Allow tradebacks from Generation 2 for legality purposes?
MsgLegalityAllowTradebacksYes = Yes: Allow Generation 2 tradeback learnsets
MsgLegalityAllowTradebacksNo = No: Don't allow Generation 2 tradeback learnsets
MsgBackupCreateLocation = PKHeX can perform automatic backups if you create a folder with the name '{0}' in the same folder as PKHeX's executable.
MsgBackupCreateQuestion = Would you like to create the backup folder now?
MsgBackupDelete = If you wish to no longer automatically back up save files, delete the '{0}' folder.

View file

@ -1210,6 +1210,7 @@ SAV_ZygardeCell.B_GiveAll=Collect All
SAV_ZygardeCell.B_Save=Save
SAV_ZygardeCell.L_Cells=Stored:
SAV_ZygardeCell.L_Collected=Collected:
SettingsEditor.AllowGen1Tradeback=GB: Allow Generation 2 tradeback learnsets
SettingsEditor.ApplyMarkings=가져오기 중 마킹하기
SettingsEditor.BAKEnabled=Automatic Save File Backups Enabled
SettingsEditor.DetectSaveOnStartup=Automatically Detect Save File on Program Startup
@ -1219,6 +1220,7 @@ SettingsEditor.HideSecretDetails=Hide Secret Details in Editors
SettingsEditor.HoverSlotGlowEdges=Show PKM Glow on Hover
SettingsEditor.HoverSlotPlayCry=Play PKM Slot Cry on Hover
SettingsEditor.HoverSlotShowText=Show PKM Slot ToolTip on Hover
SettingsEditor.L_Blank=Blank Save Version:
SettingsEditor.ModifyUnset=Notify Unset Changes
SettingsEditor.SetUpdateDex=포켓몬 도감 수정
SettingsEditor.SetUpdatePKM=포켓몬 정보 수정

View file

@ -74,9 +74,6 @@ MsgSimulatorExportSuccess = 已导出 Showdown 配置到剪贴板:
MsgSimulatorExportParty = Showdown 队伍(同行)已复制到剪贴板。
MsgSimulatorExportBattleBox = Showdown 队伍(对战盒子)已复制到剪贴板。
MsgSimulatorExportList = Showdown 已配置到剪贴板.
MsgLegalityAllowTradebacks = 检测到初代存档文件。允许二代传回的合法性?
MsgLegalityAllowTradebacksYes = 是: 允许二代传回的招式组合
MsgLegalityAllowTradebacksNo = 否: 不允许二代传回的招式组合
MsgBackupCreateLocation = 如果你在 PKHeX 可执行文件的相同目录下建一个名为" {0} "的文件夹PKHeX可以帮助你自动备份数据。
MsgBackupCreateQuestion = 要现在建立备份文件夹吗?
MsgBackupDelete = 如果你不再需要自动备份数据,删除名为" {0} "文件夹。

View file

@ -1162,30 +1162,30 @@ SAV_Trainer7.Tab_BattleTree=对战树
SAV_Trainer7.Tab_Misc=杂项
SAV_Trainer7.Tab_Overview=概览
SAV_Trainer7.Tab_Ultra=究极
SAV_Trainer7GG.B_Cancel=Cancel
SAV_Trainer7GG.B_DeleteAll=Delete All
SAV_Trainer7GG.B_DeleteGo=Delete
SAV_Trainer7GG.B_Export=Export
SAV_Trainer7GG.B_ExportGoFiles=Export all to Folder
SAV_Trainer7GG.B_ExportGoSummary=Dump Text Summary of Go Park Entities
SAV_Trainer7GG.B_Import=Import
SAV_Trainer7GG.B_ImportGoFiles=Import from Folder (start at current slot)
SAV_Trainer7GG.B_Cancel=取消
SAV_Trainer7GG.B_DeleteAll=删除所有
SAV_Trainer7GG.B_DeleteGo=删除
SAV_Trainer7GG.B_Export=出口
SAV_Trainer7GG.B_ExportGoFiles=全部导出到文件夹
SAV_Trainer7GG.B_ExportGoSummary=Go Park实体的转储文本摘要
SAV_Trainer7GG.B_Import=进口
SAV_Trainer7GG.B_ImportGoFiles=从文件夹导入(从当前位置开始)
SAV_Trainer7GG.B_MaxCash=+
SAV_Trainer7GG.B_Save=Save
SAV_Trainer7GG.GB_Adventure=Adventure Info
SAV_Trainer7GG.GB_Adventure=冒险信息
SAV_Trainer7GG.L_GoSlot=Slot:
SAV_Trainer7GG.L_GoSlotSummary=Summary
SAV_Trainer7GG.L_GoSlotSummary=摘要
SAV_Trainer7GG.L_Hours=Hrs:
SAV_Trainer7GG.L_Language=Language:
SAV_Trainer7GG.L_Language=语言:
SAV_Trainer7GG.L_Minutes=Min:
SAV_Trainer7GG.L_Money=$:
SAV_Trainer7GG.L_RivalName=Rival Name:
SAV_Trainer7GG.L_RivalName=竞争对手的名字:
SAV_Trainer7GG.L_Seconds=Sec:
SAV_Trainer7GG.L_TrainerName=Trainer Name:
SAV_Trainer7GG.L_TrainerName=培训师姓名:
SAV_Trainer7GG.Label_SID=SID:
SAV_Trainer7GG.Label_TID=TID:
SAV_Trainer7GG.Tab_Complex=Go Complex
SAV_Trainer7GG.Tab_Overview=Overview
SAV_Trainer7GG.Tab_Complex=GO Complex
SAV_Trainer7GG.Tab_Overview=概观
SAV_Underground.B_Cancel=取消
SAV_Underground.B_Save=保存
SAV_Underground.LU_Flags=获得的旗子
@ -1210,21 +1210,23 @@ SAV_ZygardeCell.B_GiveAll=全部收集
SAV_ZygardeCell.B_Save=保存
SAV_ZygardeCell.L_Cells=储存了:
SAV_ZygardeCell.L_Collected=收集了:
SettingsEditor.AllowGen1Tradeback=GB 允许二代传回的招式组合
SettingsEditor.ApplyMarkings=导入时标记
SettingsEditor.BAKEnabled=Automatic Save File Backups Enabled
SettingsEditor.DetectSaveOnStartup=Automatically Detect Save File on Program Startup
SettingsEditor.BAKEnabled=自动保存文件备份已启用
SettingsEditor.DetectSaveOnStartup=在程序启动时自动检测保存文件
SettingsEditor.FlagIllegal=标记不合法
SettingsEditor.HideSAVDetails=Hide Save File Details in Program Title
SettingsEditor.HideSecretDetails=Hide Secret Details in Editors
SettingsEditor.HoverSlotGlowEdges=Show PKM Glow on Hover
SettingsEditor.HoverSlotPlayCry=Play PKM Slot Cry on Hover
SettingsEditor.HoverSlotShowText=Show PKM Slot ToolTip on Hover
SettingsEditor.HideSAVDetails=隐藏程序标题中的保存文件详细信息
SettingsEditor.HideSecretDetails=在编辑器中隐藏秘密细节
SettingsEditor.HoverSlotGlowEdges=在悬停时显示PKM Glow
SettingsEditor.HoverSlotPlayCry=在悬停时播放PKM Slot Cry
SettingsEditor.HoverSlotShowText=在悬停上显示PKM Slot ToolTip
SettingsEditor.L_Blank=空白保存版本:
SettingsEditor.ModifyUnset=未保存修改提醒
SettingsEditor.SetUpdateDex=修改图鉴
SettingsEditor.SetUpdatePKM=修改宝可梦
SettingsEditor.ShinySprites=异色图标
SettingsEditor.ShowEggSpriteAsHeldItem=Show Egg Sprite As Held Item
SettingsEditor.Unicode=Unicode
SettingsEditor.ShowEggSpriteAsHeldItem=将蛋作为持有物品展示
SettingsEditor.Unicode=统一
SuperTrainingEditor.B_All=获得全部
SuperTrainingEditor.B_Cancel=取消
SuperTrainingEditor.B_None=全部清除

View file

@ -24,24 +24,26 @@ namespace PKHeX.Core
BAK = (byte[])Data.Clone();
Exportable = !IsRangeEmpty(0, Data.Length);
if (data == null)
Version = GameVersion.RBY;
else if (versionOverride != GameVersion.Any)
if (versionOverride != GameVersion.Any)
Version = versionOverride;
else if(data == null)
Version = GameVersion.RBY;
else Version = SaveUtil.GetIsG1SAV(Data);
if (Version == GameVersion.Invalid)
return;
Japanese = SaveUtil.GetIsG1SAVJ(Data);
Offsets = Japanese ? SAV1Offsets.JPN : SAV1Offsets.INT;
if (Starter != 0)
// see if RBY can be differentiated
if (Starter != 0 && versionOverride != GameVersion.Any)
Version = Yellow ? GameVersion.YW : GameVersion.RB;
Box = Data.Length;
Array.Resize(ref Data, Data.Length + SIZE_RESERVED);
Party = GetPartyOffset(0);
Personal = PersonalTable.Y;
Personal = Version == GameVersion.Y ? PersonalTable.Y : PersonalTable.RB;
// Stash boxes after the save file's end.
int stored = SIZE_STOREDBOX;

View file

@ -565,7 +565,7 @@ namespace PKHeX.Core
{
case GameVersion.RD: case GameVersion.BU: case GameVersion.GN: case GameVersion.YW:
case GameVersion.RBY:
return new SAV1();
return new SAV1(versionOverride: Game);
case GameVersion.GD: case GameVersion.SV: case GameVersion.C:
case GameVersion.GS: case GameVersion.GSC:

View file

@ -102,10 +102,6 @@ namespace PKHeX.Core
public static string MsgSimulatorExportBattleBox { get; set; } = "Showdown Team (Battle Box) set to Clipboard.";
public static string MsgSimulatorExportList { get; set; } = "Showdown Sets copied to Clipboard.";
public static string MsgLegalityAllowTradebacks { get; set; } = "Generation 1 Save File detected. Allow tradebacks from Generation 2 for legality purposes?";
public static string MsgLegalityAllowTradebacksYes { get; set; } = "Yes: Allow Generation 2 tradeback learnsets";
public static string MsgLegalityAllowTradebacksNo { get; set; } = "No: Don't allow Generation 2 tradeback learnsets";
public static string MsgBackupCreateLocation { get; set; } = "PKHeX can perform automatic backups if you create a folder with the name '{0}' in the same folder as PKHeX's executable.";
public static string MsgBackupCreateQuestion { get; set; } = "Would you like to create the backup folder now?";
public static string MsgBackupDelete { get; set; } = "If you wish to no longer automatically back up save files, delete the '{0}' folder.";

View file

@ -64,6 +64,9 @@
<setting name="BAKEnabled" serializeAs="String">
<value>True</value>
</setting>
<setting name="AllowGen1Tradeback" serializeAs="String">
<value>True</value>
</setting>
</PKHeX.WinForms.Properties.Settings>
</userSettings>
<runtime>

View file

@ -12,9 +12,14 @@ namespace PKHeX.WinForms.Controls
public void LoadPK1(PK1 pk) => NUD_CatchRate.Value = (pk1 = pk).Catch_Rate;
private void ChangeValue(object sender, EventArgs e) => pk1.Catch_Rate = (int)NUD_CatchRate.Value;
private void Clear(object sender, EventArgs e) => NUD_CatchRate.Value = 0;
private void Reset(object sender, EventArgs e) => NUD_CatchRate.Value = GetSuggestedPKMCatchRate(pk1);
private static int GetSuggestedPKMCatchRate(PK1 pk1)
private void Reset(object sender, EventArgs e)
{
var sav = WinFormsUtil.FindFirstControlOfType<IMainEditor>(this).RequestSaveFile;
NUD_CatchRate.Value = GetSuggestedPKMCatchRate(pk1, sav);
}
private static int GetSuggestedPKMCatchRate(PK1 pk1, SaveFile sav)
{
var la = new LegalityAnalysis(pk1);
if (la.Valid)
@ -30,11 +35,17 @@ namespace PKHeX.WinForms.Controls
return (int)c.Catch_Rate;
case EncounterStatic s when s.Version == GameVersion.Stadium && s.Species == 054:
return pk1.Japanese ? 167 : 168; // Amnesia Psyduck has different catch rates depending on language
case IVersion v when v.Version.Contains(GameVersion.YW):
case IVersion v:
{
if (sav.Version.Contains(v.Version) || v.Version.Contains(sav.Version))
return sav.Personal[enc.Species].CatchRate;
if (!GameVersion.RB.Contains(v.Version))
return PersonalTable.Y[enc.Species].CatchRate;
default:
return PersonalTable.RB[enc.Species].CatchRate;
}
default:
return sav.Personal[enc.Species].CatchRate;
}
}
}
}

View file

@ -424,6 +424,7 @@ namespace PKHeX.WinForms
C_SAV.FlagIllegal = settings.FlagIllegal;
C_SAV.M.GlowHover = settings.HoverSlotGlowEdges;
SpriteBuilder.ShowEggSpriteAsItem = settings.ShowEggSpriteAsHeldItem;
ParseSettings.AllowGen1Tradeback = settings.AllowGen1Tradeback;
PKME_Tabs.HideSecretValues = C_SAV.HideSecretDetails = settings.HideSecretDetails;
}
@ -843,17 +844,7 @@ namespace PKHeX.WinForms
private static bool SanityCheckSAV(ref SaveFile sav)
{
var gb = ParseSettings.InitFromSaveFileData(sav);
if (sav is SAV1 && gb) // tradeback toggle
{
var drTradeback = WinFormsUtil.Prompt(MessageBoxButtons.YesNoCancel,
MsgLegalityAllowTradebacks,
MsgLegalityAllowTradebacksYes + Environment.NewLine + MsgLegalityAllowTradebacksNo);
if (drTradeback == DialogResult.Cancel)
return false; // abort loading
ParseSettings.AllowGen1Tradeback = drTradeback == DialogResult.Yes;
return true;
}
var _ = ParseSettings.InitFromSaveFileData(sav); // physical GB, no longer used in logic
if (sav is SAV3 s3)
{

View file

@ -250,5 +250,17 @@ namespace PKHeX.WinForms.Properties {
this["BAKEnabled"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool AllowGen1Tradeback {
get {
return ((bool)(this["AllowGen1Tradeback"]));
}
set {
this["AllowGen1Tradeback"] = value;
}
}
}
}

View file

@ -59,5 +59,8 @@
<Setting Name="BAKEnabled" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="AllowGen1Tradeback" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
</Settings>
</SettingsFile>