mirror of
https://github.com/kwsch/PKHeX
synced 2024-11-14 00:07:15 +00:00
Merge remote-tracking branch 'upstream/master'
Conflicts: PKX/f1-Main.cs
This commit is contained in:
commit
67616abb2e
6 changed files with 93 additions and 78 deletions
59
Misc/Util.cs
59
Misc/Util.cs
|
@ -131,36 +131,43 @@ namespace PKHeX
|
|||
}
|
||||
internal static string GetSDFLocation()
|
||||
{
|
||||
// start by checking if the 3DS file path exists or not.
|
||||
string path_SDF = null;
|
||||
string[] DriveList = Environment.GetLogicalDrives();
|
||||
for (int i = 1; i < DriveList.Length; i++)
|
||||
try
|
||||
{
|
||||
path_SDF = DriveList[i] + "filer\\UserSaveData\\";
|
||||
if (Directory.Exists(path_SDF))
|
||||
break;
|
||||
}
|
||||
if (path_SDF == null)
|
||||
return null;
|
||||
else
|
||||
{
|
||||
// 3DS data found in SD card reader. Let's get the title folder location!
|
||||
string[] folders = Directory.GetDirectories(path_SDF, "*", System.IO.SearchOption.TopDirectoryOnly);
|
||||
|
||||
// Loop through all the folders in the Nintendo 3DS folder to see if any of them contain 'title'.
|
||||
for (int i = folders.Length - 1; i > 0; i--)
|
||||
// start by checking if the 3DS file path exists or not.
|
||||
string path_SDF = null;
|
||||
string[] DriveList = Environment.GetLogicalDrives();
|
||||
for (int i = 1; i < DriveList.Length; i++)
|
||||
{
|
||||
if (File.Exists(Path.Combine(folders[i], "000011c4\\main"))) return Path.Combine(folders[i], "000011c4"); // OR
|
||||
if (File.Exists(Path.Combine(folders[i], "000011c5\\main"))) return Path.Combine(folders[i], "000011c5"); // AS
|
||||
if (File.Exists(Path.Combine(folders[i], "0000055d\\main"))) return Path.Combine(folders[i], "0000055d"); // X
|
||||
if (File.Exists(Path.Combine(folders[i], "0000055e\\main"))) return Path.Combine(folders[i], "0000055e"); // Y
|
||||
|
||||
// I don't know
|
||||
if (File.Exists(Path.Combine(folders[i], "00055d00\\main"))) return Path.Combine(folders[i], "00055d00"); // X
|
||||
if (File.Exists(Path.Combine(folders[i], "00055e00\\main"))) return Path.Combine(folders[i], "00055e00"); // Y
|
||||
string potentialPath_SDF = Path.Combine(DriveList[i], "filer\\UserSaveData\\");
|
||||
if (Directory.Exists(potentialPath_SDF))
|
||||
{
|
||||
path_SDF = potentialPath_SDF;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (path_SDF == null)
|
||||
return null;
|
||||
else
|
||||
{
|
||||
// 3DS data found in SD card reader. Let's get the title folder location!
|
||||
string[] folders = Directory.GetDirectories(path_SDF, "*", System.IO.SearchOption.TopDirectoryOnly);
|
||||
|
||||
// Loop through all the folders in the Nintendo 3DS folder to see if any of them contain 'title'.
|
||||
for (int i = folders.Length - 1; i > 0; i--)
|
||||
{
|
||||
if (File.Exists(Path.Combine(folders[i], "000011c4\\main"))) return Path.Combine(folders[i], "000011c4"); // OR
|
||||
if (File.Exists(Path.Combine(folders[i], "000011c5\\main"))) return Path.Combine(folders[i], "000011c5"); // AS
|
||||
if (File.Exists(Path.Combine(folders[i], "0000055d\\main"))) return Path.Combine(folders[i], "0000055d"); // X
|
||||
if (File.Exists(Path.Combine(folders[i], "0000055e\\main"))) return Path.Combine(folders[i], "0000055e"); // Y
|
||||
|
||||
// I don't know
|
||||
if (File.Exists(Path.Combine(folders[i], "00055d00\\main"))) return Path.Combine(folders[i], "00055d00"); // X
|
||||
if (File.Exists(Path.Combine(folders[i], "00055e00\\main"))) return Path.Combine(folders[i], "00055e00"); // Y
|
||||
}
|
||||
return null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
catch { return null; }
|
||||
}
|
||||
internal static string CleanFileName(string fileName)
|
||||
{
|
||||
|
|
|
@ -328,6 +328,7 @@
|
|||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\img\item\item_571.png" />
|
||||
<None Include="Resources\img\badges\badge_07.png" />
|
||||
<None Include="Resources\img\badges\badge_06.png" />
|
||||
<None Include="Resources\img\badges\badge_05.png" />
|
||||
|
|
|
@ -3605,15 +3605,24 @@ namespace PKHeX
|
|||
private void mainmenuOpen(object sender, EventArgs e)
|
||||
{
|
||||
string cyberpath = Util.GetTempFolder();
|
||||
if (Directory.Exists(Path.Combine(cyberpath, "root")))
|
||||
SDFLoc = Util.GetSDFLocation();
|
||||
if (SDFLoc != null)
|
||||
{
|
||||
OpenPKX.InitialDirectory = SDFLoc;
|
||||
OpenPKX.RestoreDirectory = true;
|
||||
OpenPKX.FilterIndex = 4;
|
||||
}
|
||||
else if (Path.Combine(cyberpath, "root")))
|
||||
{
|
||||
OpenPKX.InitialDirectory = Path.Combine(cyberpath, "root");
|
||||
OpenPKX.RestoreDirectory = true;
|
||||
OpenPKX.FilterIndex = 4;
|
||||
}
|
||||
else if (Directory.Exists(cyberpath))
|
||||
{
|
||||
OpenPKX.InitialDirectory = cyberpath;
|
||||
OpenPKX.RestoreDirectory = true;
|
||||
OpenPKX.FilterIndex = 4;
|
||||
}
|
||||
|
||||
DialogResult result = OpenPKX.ShowDialog();
|
||||
|
@ -3749,6 +3758,13 @@ namespace PKHeX
|
|||
}
|
||||
private void openFile(byte[] input, string path, string ext)
|
||||
{
|
||||
#region Powersaves Read-Only Conversion
|
||||
if (input.Length == 0x10009C)
|
||||
{
|
||||
Array.Copy(input, 0x9C, input, 0, 0x100000);
|
||||
Array.Resize(ref input, 0x100000);
|
||||
}
|
||||
#endregion
|
||||
#region Trade Packets
|
||||
if ((input.Length == 363) && (input[0x6B] == 0) && (input[0x6C] == 00))
|
||||
{
|
||||
|
@ -3776,6 +3792,8 @@ namespace PKHeX
|
|||
B_ExportSAV.Enabled = false;
|
||||
B_SwitchSAV.Enabled = false;
|
||||
B_JPEG.Enabled = false;
|
||||
string GameType = "XY"; // Default Game Type to load.
|
||||
if (BitConverter.ToUInt32(input, 0x7B210) == 0x42454546) GameType = "ORAS"; // BEEF magic in checksum block
|
||||
if ((BitConverter.ToUInt32(input, 0x100) != 0x41534944) && (BitConverter.ToUInt32(input, 0x5234) != 0x6E69616D))
|
||||
{
|
||||
DialogResult dialogResult = MessageBox.Show("Save file is not decrypted.\r\n\r\nPress Yes to ignore this warning and continue loading the save file.", "Error", MessageBoxButtons.YesNo);
|
||||
|
@ -3791,7 +3809,7 @@ namespace PKHeX
|
|||
}
|
||||
else savindex = 1;
|
||||
B_SwitchSAV.Enabled = true;
|
||||
open1MB(input, path, "XY", false);
|
||||
open1MB(input, path, GameType, false);
|
||||
}
|
||||
}
|
||||
else if (PKX.detectSAVIndex(input, ref savindex) == 2)
|
||||
|
@ -3812,7 +3830,7 @@ namespace PKHeX
|
|||
}
|
||||
else savindex = 1;
|
||||
B_SwitchSAV.Enabled = true;
|
||||
open1MB(input, path, "XY", false);
|
||||
open1MB(input, path, GameType, false);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -3820,7 +3838,7 @@ namespace PKHeX
|
|||
B_ExportSAV.Enabled = true;
|
||||
B_SwitchSAV.Enabled = true;
|
||||
PKX.detectSAVIndex(input, ref savindex);
|
||||
open1MB(input, path, "XY", false);
|
||||
open1MB(input, path, GameType, false);
|
||||
}
|
||||
B_JPEG.Enabled = true;
|
||||
}
|
||||
|
|
82
Properties/Resources.Designer.cs
generated
82
Properties/Resources.Designer.cs
generated
|
@ -13319,6 +13319,16 @@ namespace PKHeX.Properties {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap item_571 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("item_571", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
|
@ -21309,8 +21319,7 @@ namespace PKHeX.Properties {
|
|||
///Medizin
|
||||
///TM & VM
|
||||
///Beeren
|
||||
///Basis-Items
|
||||
///.
|
||||
///Basis-Items.
|
||||
/// </summary>
|
||||
internal static string text_ItemPouch_de {
|
||||
get {
|
||||
|
@ -21323,8 +21332,7 @@ namespace PKHeX.Properties {
|
|||
///MEDICINE
|
||||
///TMs & HMs
|
||||
///BERRIES
|
||||
///KEY ITEMS
|
||||
///.
|
||||
///KEY ITEMS.
|
||||
/// </summary>
|
||||
internal static string text_ItemPouch_en {
|
||||
get {
|
||||
|
@ -21337,8 +21345,7 @@ namespace PKHeX.Properties {
|
|||
///Botiquín
|
||||
///MT/MO
|
||||
///Bayas
|
||||
///Objetos Clave
|
||||
///.
|
||||
///Objetos Clave.
|
||||
/// </summary>
|
||||
internal static string text_ItemPouch_es {
|
||||
get {
|
||||
|
@ -21351,8 +21358,7 @@ namespace PKHeX.Properties {
|
|||
///PV/PP
|
||||
///CT & CS
|
||||
///BAIES
|
||||
///OBJETS RARES
|
||||
///.
|
||||
///OBJETS RARES.
|
||||
/// </summary>
|
||||
internal static string text_ItemPouch_fr {
|
||||
get {
|
||||
|
@ -21365,8 +21371,7 @@ namespace PKHeX.Properties {
|
|||
///Rimedi
|
||||
///MT e MN
|
||||
///Bacche
|
||||
///Strumenti Base
|
||||
///.
|
||||
///Strumenti Base.
|
||||
/// </summary>
|
||||
internal static string text_ItemPouch_it {
|
||||
get {
|
||||
|
@ -21379,8 +21384,7 @@ namespace PKHeX.Properties {
|
|||
///かいふく
|
||||
///わざマシン
|
||||
///きのみ
|
||||
///たいせつなもの
|
||||
///.
|
||||
///たいせつなもの.
|
||||
/// </summary>
|
||||
internal static string text_ItemPouch_ja {
|
||||
get {
|
||||
|
@ -21393,8 +21397,7 @@ namespace PKHeX.Properties {
|
|||
///회복
|
||||
///기술머신
|
||||
///나무열매
|
||||
///중요한 물건
|
||||
///.
|
||||
///중요한 물건.
|
||||
/// </summary>
|
||||
internal static string text_ItemPouch_ko {
|
||||
get {
|
||||
|
@ -22897,8 +22900,7 @@ namespace PKHeX.Properties {
|
|||
///Frühlingsdeko-Pofflé
|
||||
///Sommerdeko-Pofflé
|
||||
///Herbstdeko-Pofflé
|
||||
///Winterdeko-Pofflé
|
||||
///.
|
||||
///Winterdeko-Pofflé.
|
||||
/// </summary>
|
||||
internal static string text_Puff_de {
|
||||
get {
|
||||
|
@ -23059,8 +23061,7 @@ namespace PKHeX.Properties {
|
|||
///フルデコはるポフレ
|
||||
///フルデコなつポフレ
|
||||
///フルデコあきポフレ
|
||||
///フルデコふゆポフレ
|
||||
///.
|
||||
///フルデコふゆポフレ.
|
||||
/// </summary>
|
||||
internal static string text_Puff_ja {
|
||||
get {
|
||||
|
@ -23094,8 +23095,7 @@ namespace PKHeX.Properties {
|
|||
///풀데코봄포플레
|
||||
///풀데코여름포플레
|
||||
///풀데코가을포플레
|
||||
///풀데코겨울포플레
|
||||
///.
|
||||
///풀데코겨울포플레.
|
||||
/// </summary>
|
||||
internal static string text_Puff_ko {
|
||||
get {
|
||||
|
@ -23924,8 +23924,7 @@ namespace PKHeX.Properties {
|
|||
///Dopplungs-Sack
|
||||
///Flare-Sack
|
||||
///Tabula Ra-Sack
|
||||
///Relax-Sack
|
||||
///.
|
||||
///Relax-Sack.
|
||||
/// </summary>
|
||||
internal static string text_TrainingBag_de {
|
||||
get {
|
||||
|
@ -23960,8 +23959,7 @@ namespace PKHeX.Properties {
|
|||
///Double-Up Bag
|
||||
///Team Flare Bag
|
||||
///Reset Bag
|
||||
///Soothing Bag
|
||||
///.
|
||||
///Soothing Bag.
|
||||
/// </summary>
|
||||
internal static string text_TrainingBag_en {
|
||||
get {
|
||||
|
@ -23996,8 +23994,7 @@ namespace PKHeX.Properties {
|
|||
///Saco Mejora x2
|
||||
///Saco Team Flare
|
||||
///Saco Reinicio
|
||||
///Saco Relax
|
||||
///.
|
||||
///Saco Relax.
|
||||
/// </summary>
|
||||
internal static string text_TrainingBag_es {
|
||||
get {
|
||||
|
@ -24032,8 +24029,7 @@ namespace PKHeX.Properties {
|
|||
///Sac Gain↑
|
||||
///Sac Team Flare
|
||||
///Sac Renouveau
|
||||
///Sac Relax
|
||||
///.
|
||||
///Sac Relax.
|
||||
/// </summary>
|
||||
internal static string text_TrainingBag_fr {
|
||||
get {
|
||||
|
@ -24068,8 +24064,7 @@ namespace PKHeX.Properties {
|
|||
///Sacco Raddoppio
|
||||
///Sacco Team Flare
|
||||
///Sacco Ripristino
|
||||
///Sacco Relax
|
||||
///.
|
||||
///Sacco Relax.
|
||||
/// </summary>
|
||||
internal static string text_TrainingBag_it {
|
||||
get {
|
||||
|
@ -24104,8 +24099,7 @@ namespace PKHeX.Properties {
|
|||
///ダブルUPバッグ
|
||||
///フレアだんバッグ
|
||||
///まっさらバッグ
|
||||
///リラックスバッグ
|
||||
///.
|
||||
///リラックスバッグ.
|
||||
/// </summary>
|
||||
internal static string text_TrainingBag_ja {
|
||||
get {
|
||||
|
@ -24140,8 +24134,7 @@ namespace PKHeX.Properties {
|
|||
///더블UP백
|
||||
///플레어단백
|
||||
///신품백
|
||||
///릴랙스백
|
||||
///.
|
||||
///릴랙스백.
|
||||
/// </summary>
|
||||
internal static string text_TrainingBag_ko {
|
||||
get {
|
||||
|
@ -25098,8 +25091,7 @@ namespace PKHeX.Properties {
|
|||
///----------
|
||||
///Einall-Region
|
||||
///Kalos-Region
|
||||
///Pokémon-Link
|
||||
///.
|
||||
///Pokémon-Link.
|
||||
/// </summary>
|
||||
internal static string text_xy_30000_de {
|
||||
get {
|
||||
|
@ -25118,8 +25110,7 @@ namespace PKHeX.Properties {
|
|||
///----------
|
||||
///the Unova region
|
||||
///the Kalos region
|
||||
///Pokémon Link
|
||||
///.
|
||||
///Pokémon Link.
|
||||
/// </summary>
|
||||
internal static string text_xy_30000_en {
|
||||
get {
|
||||
|
@ -25138,8 +25129,7 @@ namespace PKHeX.Properties {
|
|||
///----------
|
||||
///Teselia
|
||||
///Kalos
|
||||
///Nexo Pokémon
|
||||
///.
|
||||
///Nexo Pokémon.
|
||||
/// </summary>
|
||||
internal static string text_xy_30000_es {
|
||||
get {
|
||||
|
@ -25158,8 +25148,7 @@ namespace PKHeX.Properties {
|
|||
///----------
|
||||
///Unys
|
||||
///Kalos
|
||||
///Poké Lien
|
||||
///.
|
||||
///Poké Lien.
|
||||
/// </summary>
|
||||
internal static string text_xy_30000_fr {
|
||||
get {
|
||||
|
@ -25178,8 +25167,7 @@ namespace PKHeX.Properties {
|
|||
///----------
|
||||
///Unima
|
||||
///Kalos
|
||||
///Pokémon Link
|
||||
///.
|
||||
///Pokémon Link.
|
||||
/// </summary>
|
||||
internal static string text_xy_30000_it {
|
||||
get {
|
||||
|
@ -25198,8 +25186,7 @@ namespace PKHeX.Properties {
|
|||
///----------
|
||||
///イッシュちほう
|
||||
///カロスちほう
|
||||
///ポケモンリンク
|
||||
///.
|
||||
///ポケモンリンク.
|
||||
/// </summary>
|
||||
internal static string text_xy_30000_ja {
|
||||
get {
|
||||
|
@ -25218,8 +25205,7 @@ namespace PKHeX.Properties {
|
|||
///----------
|
||||
///하나지방
|
||||
///칼로스지방
|
||||
///포켓몬링크
|
||||
///.
|
||||
///포켓몬링크.
|
||||
/// </summary>
|
||||
internal static string text_xy_30000_ko {
|
||||
get {
|
||||
|
|
|
@ -5146,4 +5146,7 @@
|
|||
<data name="badge_08" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\badges\badge_08.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="item_571" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\item\item_571.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
BIN
Resources/img/item/item_571.png
Normal file
BIN
Resources/img/item/item_571.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 280 B |
Loading…
Reference in a new issue