Merge remote-tracking branch 'upstream/master'

Conflicts:
	PKX/f1-Main.cs
This commit is contained in:
SoujiSeta 2014-11-28 18:36:02 -06:00
commit 67616abb2e
6 changed files with 93 additions and 78 deletions

View file

@ -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)
{

View file

@ -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" />

View file

@ -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;
}

View file

@ -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 &amp; VM
///Beeren
///Basis-Items
///.
///Basis-Items.
/// </summary>
internal static string text_ItemPouch_de {
get {
@ -21323,8 +21332,7 @@ namespace PKHeX.Properties {
///MEDICINE
///TMs &amp; 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 &amp; 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 {

View file

@ -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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B