mirror of
https://github.com/kwsch/PKHeX
synced 2025-02-17 05:48:44 +00:00
Improved Pokewalker Editing (#2958)
* Added PokeWalker Courses, Watts, and Steps editing * Use util method for getting bitflags * Keep old cheat method Change signature so that the default value passed is to unlock all; can pass 0 instead to lock all * Pass reference to derived sav4-type object Wev'e already type-tested once, capture the reference and pass it into the appropriate load/save methods. * Add control anchoring for window resizing Also widen the labels for localization (longer strings possibly)
This commit is contained in:
parent
497639d48e
commit
9e40fa132f
13 changed files with 388 additions and 41 deletions
|
@ -26,7 +26,7 @@ namespace PKHeX.Core
|
|||
public readonly string[] metSWSH_00000, metSWSH_30000, metSWSH_40000, metSWSH_60000;
|
||||
|
||||
// Misc
|
||||
public readonly string[] wallpapernames, puffs;
|
||||
public readonly string[] wallpapernames, puffs, walkercourses;
|
||||
private readonly string lang;
|
||||
private readonly int LanguageIndex;
|
||||
|
||||
|
@ -103,6 +103,8 @@ namespace PKHeX.Core
|
|||
Array.Resize(ref puffs, puffs.Length + 1); // shift all down, 0th will be 'none' -- applied later
|
||||
Array.Copy(puffs, 0, puffs, 1, puffs.Length - 1);
|
||||
|
||||
walkercourses = Get("hgss_walkercourses");
|
||||
|
||||
EggName = specieslist[0];
|
||||
metHGSS_00000 = Get("hgss_00000");
|
||||
metHGSS_02000 = Get("hgss_02000");
|
||||
|
|
|
@ -148,6 +148,7 @@
|
|||
<None Remove="Resources\text\de\text_hgss_00000_de.txt" />
|
||||
<None Remove="Resources\text\de\text_hgss_02000_de.txt" />
|
||||
<None Remove="Resources\text\de\text_hgss_03000_de.txt" />
|
||||
<None Remove="Resources\text\de\text_hgss_walkercourses_de.txt" />
|
||||
<None Remove="Resources\text\de\text_Items_de.txt" />
|
||||
<None Remove="Resources\text\de\text_Mail4_de.txt" />
|
||||
<None Remove="Resources\text\de\text_Memories_de.txt" />
|
||||
|
@ -202,6 +203,7 @@
|
|||
<None Remove="Resources\text\en\text_hgss_00000_en.txt" />
|
||||
<None Remove="Resources\text\en\text_hgss_02000_en.txt" />
|
||||
<None Remove="Resources\text\en\text_hgss_03000_en.txt" />
|
||||
<None Remove="Resources\text\en\text_hgss_walkercourses_en.txt" />
|
||||
<None Remove="Resources\text\en\text_Items_en.txt" />
|
||||
<None Remove="Resources\text\en\text_Mail4_en.txt" />
|
||||
<None Remove="Resources\text\en\text_Memories_en.txt" />
|
||||
|
@ -256,6 +258,7 @@
|
|||
<None Remove="Resources\text\es\text_hgss_00000_es.txt" />
|
||||
<None Remove="Resources\text\es\text_hgss_02000_es.txt" />
|
||||
<None Remove="Resources\text\es\text_hgss_03000_es.txt" />
|
||||
<None Remove="Resources\text\es\text_hgss_walkercourses_es.txt" />
|
||||
<None Remove="Resources\text\es\text_Items_es.txt" />
|
||||
<None Remove="Resources\text\es\text_Mail4_es.txt" />
|
||||
<None Remove="Resources\text\es\text_Memories_es.txt" />
|
||||
|
@ -310,6 +313,7 @@
|
|||
<None Remove="Resources\text\fr\text_hgss_00000_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_hgss_02000_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_hgss_03000_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_hgss_walkercourses_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_Items_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_Mail4_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_Memories_fr.txt" />
|
||||
|
@ -388,6 +392,7 @@
|
|||
<None Remove="Resources\text\it\text_hgss_00000_it.txt" />
|
||||
<None Remove="Resources\text\it\text_hgss_02000_it.txt" />
|
||||
<None Remove="Resources\text\it\text_hgss_03000_it.txt" />
|
||||
<None Remove="Resources\text\it\text_hgss_walkercourses_it.txt" />
|
||||
<None Remove="Resources\text\it\text_Items_it.txt" />
|
||||
<None Remove="Resources\text\it\text_Mail4_it.txt" />
|
||||
<None Remove="Resources\text\it\text_Memories_it.txt" />
|
||||
|
@ -442,6 +447,7 @@
|
|||
<None Remove="Resources\text\ja\text_hgss_00000_ja.txt" />
|
||||
<None Remove="Resources\text\ja\text_hgss_02000_ja.txt" />
|
||||
<None Remove="Resources\text\ja\text_hgss_03000_ja.txt" />
|
||||
<None Remove="Resources\text\ja\text_hgss_walkercourses_ja.txt" />
|
||||
<None Remove="Resources\text\ja\text_Items_ja.txt" />
|
||||
<None Remove="Resources\text\ja\text_Mail4_ja.txt" />
|
||||
<None Remove="Resources\text\ja\text_Memories_ja.txt" />
|
||||
|
@ -496,6 +502,7 @@
|
|||
<None Remove="Resources\text\ko\text_hgss_00000_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_hgss_02000_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_hgss_03000_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_hgss_walkercourses_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_Items_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_Mail4_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_Memories_ko.txt" />
|
||||
|
@ -798,6 +805,7 @@
|
|||
<None Remove="Resources\text\zh\text_hgss_00000_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_hgss_02000_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_hgss_03000_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_hgss_walkercourses_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_Items_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_Memories_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_Moves_zh.txt" />
|
||||
|
@ -965,6 +973,7 @@
|
|||
<EmbeddedResource Include="Resources\text\de\text_hgss_00000_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_hgss_02000_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_hgss_03000_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_hgss_walkercourses_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_Items_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_Mail4_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_Memories_de.txt" />
|
||||
|
@ -1019,6 +1028,7 @@
|
|||
<EmbeddedResource Include="Resources\text\en\text_hgss_00000_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_hgss_02000_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_hgss_03000_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_hgss_walkercourses_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_Items_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_Mail4_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_Memories_en.txt" />
|
||||
|
@ -1073,6 +1083,7 @@
|
|||
<EmbeddedResource Include="Resources\text\es\text_hgss_00000_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_hgss_02000_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_hgss_03000_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_hgss_walkercourses_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_Items_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_Mail4_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_Memories_es.txt" />
|
||||
|
@ -1127,6 +1138,7 @@
|
|||
<EmbeddedResource Include="Resources\text\fr\text_hgss_00000_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_hgss_02000_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_hgss_03000_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_hgss_walkercourses_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_Items_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_Mail4_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_Memories_fr.txt" />
|
||||
|
@ -1205,6 +1217,7 @@
|
|||
<EmbeddedResource Include="Resources\text\it\text_hgss_00000_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_hgss_02000_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_hgss_03000_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_hgss_walkercourses_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_Items_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_Mail4_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_Memories_it.txt" />
|
||||
|
@ -1259,6 +1272,7 @@
|
|||
<EmbeddedResource Include="Resources\text\ja\text_hgss_00000_ja.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ja\text_hgss_02000_ja.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ja\text_hgss_03000_ja.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ja\text_hgss_walkercourses_ja.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ja\text_Items_ja.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ja\text_Mail4_ja.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ja\text_Memories_ja.txt" />
|
||||
|
@ -1313,6 +1327,7 @@
|
|||
<EmbeddedResource Include="Resources\text\ko\text_hgss_00000_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_hgss_02000_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_hgss_03000_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_hgss_walkercourses_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_Items_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_Mail4_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_Memories_ko.txt" />
|
||||
|
@ -1614,6 +1629,7 @@
|
|||
<EmbeddedResource Include="Resources\text\zh\text_hgss_00000_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_hgss_02000_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_hgss_03000_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_hgss_walkercourses_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_Items_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_Memories_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_Moves_zh.txt" />
|
||||
|
|
27
PKHeX.Core/Resources/text/de/text_hgss_walkercourses_de.txt
Normal file
27
PKHeX.Core/Resources/text/de/text_hgss_walkercourses_de.txt
Normal file
|
@ -0,0 +1,27 @@
|
|||
Sattgrüne Wiese
|
||||
Lauschiger Wald
|
||||
Holpriger Pfad
|
||||
Malerische Küste
|
||||
Wohngebiet
|
||||
Finstere Höhle
|
||||
Tiefblauer See
|
||||
Stadtrand
|
||||
Ebene von Hoenn
|
||||
Sonniger Strand
|
||||
Vulkanpfad
|
||||
Baumhaus
|
||||
Gruselhöhle
|
||||
Ebene von Sinnoh
|
||||
Eisiger Bergpfad
|
||||
Tiefer Wald
|
||||
Silberner See
|
||||
Stürmische Küste
|
||||
Ferienpark
|
||||
Stille Höhle
|
||||
Ferne Ufer
|
||||
Himmelsrand
|
||||
Goldgelber Wald
|
||||
Rallye
|
||||
Spaziergang
|
||||
Siegerstraße
|
||||
Wiese der Treue
|
27
PKHeX.Core/Resources/text/en/text_hgss_walkercourses_en.txt
Normal file
27
PKHeX.Core/Resources/text/en/text_hgss_walkercourses_en.txt
Normal file
|
@ -0,0 +1,27 @@
|
|||
Refreshing Field
|
||||
Noisy Forest
|
||||
Rugged Road
|
||||
Beautiful Beach
|
||||
Suburban Area
|
||||
Dim Cave
|
||||
Blue Lake
|
||||
Town Outskirts
|
||||
Hoenn Field
|
||||
Warm Beach
|
||||
Volcano Path
|
||||
Treehouse
|
||||
Scary Cave
|
||||
Sinnoh Field
|
||||
Icy Mountain Rd.
|
||||
Big Forest
|
||||
White Lake
|
||||
Stormy Beach
|
||||
Resort
|
||||
Quiet Cave
|
||||
Beyond the Sea
|
||||
Night Sky's Edge
|
||||
Yellow Forest
|
||||
Rally
|
||||
Sightseeing
|
||||
Winner's Path
|
||||
Amity Meadow
|
27
PKHeX.Core/Resources/text/es/text_hgss_walkercourses_es.txt
Normal file
27
PKHeX.Core/Resources/text/es/text_hgss_walkercourses_es.txt
Normal file
|
@ -0,0 +1,27 @@
|
|||
Prado Tranquilo
|
||||
Bosque Murmullos
|
||||
Camino Pedregoso
|
||||
Costa Bella
|
||||
Urbanización
|
||||
Cueva Sombría
|
||||
Mar Azul
|
||||
Arrabal
|
||||
Llano de Hoenn
|
||||
Playa Cálida
|
||||
Sendero Volcán
|
||||
Casa del Árbol
|
||||
Cueva del Terror
|
||||
Llano de Sinnoh
|
||||
Senda Glacial
|
||||
Gran Bosque
|
||||
Lago Bruma
|
||||
Playa Tormenta
|
||||
Zona Vacacional
|
||||
Cueva Calma
|
||||
Ultramar
|
||||
Confín del Cielo
|
||||
Bosque Amarillo
|
||||
Vía Campeón
|
||||
Acontecimiento
|
||||
De Turismo
|
||||
Campo Amistad
|
27
PKHeX.Core/Resources/text/fr/text_hgss_walkercourses_fr.txt
Normal file
27
PKHeX.Core/Resources/text/fr/text_hgss_walkercourses_fr.txt
Normal file
|
@ -0,0 +1,27 @@
|
|||
Plaine Sereine
|
||||
Bois Bruissant
|
||||
Chemin Pierreux
|
||||
Jolie Plage
|
||||
Coin Résidentiel
|
||||
Caverne Sombre
|
||||
Lac Bleu
|
||||
Faubourgs
|
||||
Plaine de Hoenn
|
||||
Plage Brûlante
|
||||
Sente de Volcan
|
||||
Sylvania
|
||||
Grotte Terreur
|
||||
Plaine Sinnoh
|
||||
Pente Glaciale
|
||||
Grande Forêt
|
||||
Lac Brumeux
|
||||
Plage Orageuse
|
||||
Zone de Vacances
|
||||
Grotte Calme
|
||||
Chemin Victoire
|
||||
Evénement
|
||||
Fin du Firmament
|
||||
Forêt Jaune
|
||||
Mer Lointaine
|
||||
Plaine Paisible
|
||||
Virée en Ville
|
27
PKHeX.Core/Resources/text/it/text_hgss_walkercourses_it.txt
Normal file
27
PKHeX.Core/Resources/text/it/text_hgss_walkercourses_it.txt
Normal file
|
@ -0,0 +1,27 @@
|
|||
Piana Tranquilla
|
||||
Bosco Cicaleccio
|
||||
Sentiero Impervio
|
||||
Spiaggia Amena
|
||||
Zona Residenziale
|
||||
Caverna Penombra
|
||||
Lago Turchese
|
||||
Periferia
|
||||
Piana di Hoenn
|
||||
Spiaggia Caliente
|
||||
Sentiero Focoso
|
||||
Silvania
|
||||
Grotta Terrore
|
||||
Piana di Sinnoh
|
||||
Dirupo Glaciale
|
||||
Grande Foresta
|
||||
Lago Bruma
|
||||
Costa Tempestosa
|
||||
Riviera
|
||||
Grotta Pacifica
|
||||
Oltremare
|
||||
Confinecielo
|
||||
Bosco Giallo
|
||||
Evento
|
||||
A spasso
|
||||
Via dei Campioni
|
||||
Campo Concordia
|
27
PKHeX.Core/Resources/text/ja/text_hgss_walkercourses_ja.txt
Normal file
27
PKHeX.Core/Resources/text/ja/text_hgss_walkercourses_ja.txt
Normal file
|
@ -0,0 +1,27 @@
|
|||
さわやかのはら
|
||||
ざわざわもり
|
||||
ごつごつみち
|
||||
きれいなうみべ
|
||||
じゅうたくち
|
||||
くらいどうくつ
|
||||
あおいみずうみ
|
||||
まちのはずれ
|
||||
ホウエンのはら
|
||||
あったかビーチ
|
||||
かざんのこみち
|
||||
ツリーハウス
|
||||
こわいどうくつ
|
||||
シンオウのはら
|
||||
さむいやまみち
|
||||
おおきなもり
|
||||
しろいみずうみ
|
||||
あれたうみべ
|
||||
リゾートち
|
||||
しずかどうくつ
|
||||
うみのむこう
|
||||
よぞらのはて
|
||||
きいろのもり
|
||||
イベント
|
||||
おかいもの
|
||||
チャンプのみち
|
||||
ふれあいのはら
|
27
PKHeX.Core/Resources/text/ko/text_hgss_walkercourses_ko.txt
Normal file
27
PKHeX.Core/Resources/text/ko/text_hgss_walkercourses_ko.txt
Normal file
|
@ -0,0 +1,27 @@
|
|||
상쾌한 들판
|
||||
바삭바삭 숲
|
||||
울퉁불퉁길
|
||||
아름다운 해변
|
||||
주택지
|
||||
어두운 동굴
|
||||
푸른 호수
|
||||
변두리
|
||||
호연들판
|
||||
따뜻한 비치
|
||||
화산의 좁은 길
|
||||
트리하우스
|
||||
무서운 동굴
|
||||
신오들판
|
||||
추운 산길
|
||||
커다란 숲
|
||||
하얀 호수
|
||||
거친 해변
|
||||
리조트지
|
||||
조용한 동굴
|
||||
바다 저편
|
||||
밤하늘의 끝
|
||||
노란 숲
|
||||
이벤트
|
||||
산책
|
||||
챔프의 길
|
||||
상호교류들판
|
27
PKHeX.Core/Resources/text/zh/text_hgss_walkercourses_zh.txt
Normal file
27
PKHeX.Core/Resources/text/zh/text_hgss_walkercourses_zh.txt
Normal file
|
@ -0,0 +1,27 @@
|
|||
清爽草原
|
||||
喧闹森林
|
||||
崎岖小道
|
||||
绮丽海边
|
||||
住宅地
|
||||
黑暗洞窟
|
||||
蓝色湖泊
|
||||
城镇郊外
|
||||
丰缘之原
|
||||
温暖的沙滩
|
||||
火山小道
|
||||
树上小屋
|
||||
恐怖洞窟
|
||||
神奥之原
|
||||
寒冷山道
|
||||
大森林
|
||||
白色湖泊
|
||||
荒凉海边
|
||||
度假胜地
|
||||
安静洞窟
|
||||
海之彼岸
|
||||
夜空边际
|
||||
黄色森林
|
||||
活动事件
|
||||
购物区
|
||||
冠军之道
|
||||
交流之原
|
|
@ -206,28 +206,17 @@ namespace PKHeX.Core
|
|||
public void SetApricornCount(int i, int count) => General[0xE558 + i] = (byte)count;
|
||||
|
||||
// Pokewalker
|
||||
private const int OFS_WALKER = 0xE70C;
|
||||
private const int OFS_WALKER = 0xE704;
|
||||
|
||||
public uint PokewalkerSteps { get => BitConverter.ToUInt32(General, OFS_WALKER); set => SetData(General, BitConverter.GetBytes(value), OFS_WALKER); }
|
||||
public uint PokewalkerWatts { get => BitConverter.ToUInt32(General, OFS_WALKER + 0x4); set => SetData(General, BitConverter.GetBytes(value), OFS_WALKER + 0x4); }
|
||||
|
||||
public bool[] PokewalkerCoursesUnlocked
|
||||
{
|
||||
get
|
||||
{
|
||||
var val = BitConverter.ToUInt32(General, OFS_WALKER);
|
||||
bool[] courses = new bool[32];
|
||||
for (int i = 0; i < courses.Length; i++)
|
||||
courses[i] = ((val >> i) & 1) == 1;
|
||||
return courses;
|
||||
}
|
||||
set
|
||||
{
|
||||
uint val = 0;
|
||||
bool[] courses = new bool[32];
|
||||
for (int i = 0; i < courses.Length; i++)
|
||||
val |= value[i] ? 1u << i : 0;
|
||||
SetData(General, BitConverter.GetBytes(val), OFS_WALKER);
|
||||
}
|
||||
get => ArrayUtil.GitBitFlagArray(General, OFS_WALKER + 0x8, 32);
|
||||
set => ArrayUtil.SetBitFlagArray(General, OFS_WALKER + 0x8, value);
|
||||
}
|
||||
|
||||
public void PokewalkerCoursesUnlockAll() => SetData(General, BitConverter.GetBytes(0x07FF_FFFFu), OFS_WALKER);
|
||||
public void PokewalkerCoursesSetAll(uint value = 0x07FF_FFFFu) => SetData(General, BitConverter.GetBytes(value), OFS_WALKER + 0x8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -99,7 +99,13 @@
|
|||
this.NUD_CastleRankInfo = new System.Windows.Forms.NumericUpDown();
|
||||
this.L_CastleRank01 = new System.Windows.Forms.Label();
|
||||
this.TAB_Walker = new System.Windows.Forms.TabPage();
|
||||
this.B_UnlockCourses = new System.Windows.Forms.Button();
|
||||
this.GB_WalkerCourses = new System.Windows.Forms.GroupBox();
|
||||
this.B_AllWalkerCourses = new System.Windows.Forms.Button();
|
||||
this.CLB_WalkerCourses = new System.Windows.Forms.CheckedListBox();
|
||||
this.NUD_Watts = new System.Windows.Forms.NumericUpDown();
|
||||
this.L_Watts = new System.Windows.Forms.Label();
|
||||
this.NUD_Steps = new System.Windows.Forms.NumericUpDown();
|
||||
this.L_Steps = new System.Windows.Forms.Label();
|
||||
this.Tab_Misc = new System.Windows.Forms.TabPage();
|
||||
this.B_AllSealsIllegal = new System.Windows.Forms.Button();
|
||||
this.B_AllSealsLegal = new System.Windows.Forms.Button();
|
||||
|
@ -148,6 +154,9 @@
|
|||
((System.ComponentModel.ISupportInitialize)(this.NUD_CastleRankItem)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUD_CastleRankInfo)).BeginInit();
|
||||
this.TAB_Walker.SuspendLayout();
|
||||
this.GB_WalkerCourses.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUD_Watts)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUD_Steps)).BeginInit();
|
||||
this.Tab_Misc.SuspendLayout();
|
||||
this.Tab_Poffins.SuspendLayout();
|
||||
this.Tab_PokeGear.SuspendLayout();
|
||||
|
@ -1148,7 +1157,11 @@
|
|||
//
|
||||
// TAB_Walker
|
||||
//
|
||||
this.TAB_Walker.Controls.Add(this.B_UnlockCourses);
|
||||
this.TAB_Walker.Controls.Add(this.GB_WalkerCourses);
|
||||
this.TAB_Walker.Controls.Add(this.NUD_Watts);
|
||||
this.TAB_Walker.Controls.Add(this.L_Watts);
|
||||
this.TAB_Walker.Controls.Add(this.NUD_Steps);
|
||||
this.TAB_Walker.Controls.Add(this.L_Steps);
|
||||
this.TAB_Walker.Location = new System.Drawing.Point(4, 22);
|
||||
this.TAB_Walker.Name = "TAB_Walker";
|
||||
this.TAB_Walker.Padding = new System.Windows.Forms.Padding(3);
|
||||
|
@ -1157,15 +1170,93 @@
|
|||
this.TAB_Walker.Text = "Pokewalker";
|
||||
this.TAB_Walker.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// B_UnlockCourses
|
||||
// GB_WalkerCourses
|
||||
//
|
||||
this.B_UnlockCourses.Location = new System.Drawing.Point(153, 98);
|
||||
this.B_UnlockCourses.Name = "B_UnlockCourses";
|
||||
this.B_UnlockCourses.Size = new System.Drawing.Size(75, 55);
|
||||
this.B_UnlockCourses.TabIndex = 0;
|
||||
this.B_UnlockCourses.Text = "Unlock All Courses";
|
||||
this.B_UnlockCourses.UseVisualStyleBackColor = true;
|
||||
this.B_UnlockCourses.Click += new System.EventHandler(this.B_UnlockCourses_Click);
|
||||
this.GB_WalkerCourses.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.GB_WalkerCourses.Controls.Add(this.B_AllWalkerCourses);
|
||||
this.GB_WalkerCourses.Controls.Add(this.CLB_WalkerCourses);
|
||||
this.GB_WalkerCourses.Location = new System.Drawing.Point(3, 3);
|
||||
this.GB_WalkerCourses.Name = "GB_WalkerCourses";
|
||||
this.GB_WalkerCourses.Size = new System.Drawing.Size(181, 230);
|
||||
this.GB_WalkerCourses.TabIndex = 4;
|
||||
this.GB_WalkerCourses.TabStop = false;
|
||||
this.GB_WalkerCourses.Text = "Pokewalker Courses";
|
||||
//
|
||||
// B_AllWalkerCourses
|
||||
//
|
||||
this.B_AllWalkerCourses.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.B_AllWalkerCourses.Location = new System.Drawing.Point(6, 195);
|
||||
this.B_AllWalkerCourses.Name = "B_AllWalkerCourses";
|
||||
this.B_AllWalkerCourses.Size = new System.Drawing.Size(75, 25);
|
||||
this.B_AllWalkerCourses.TabIndex = 0;
|
||||
this.B_AllWalkerCourses.Text = "Check All";
|
||||
this.B_AllWalkerCourses.UseVisualStyleBackColor = true;
|
||||
this.B_AllWalkerCourses.Click += new System.EventHandler(this.B_AllWalkerCourses_Click);
|
||||
//
|
||||
// CLB_WalkerCourses
|
||||
//
|
||||
this.CLB_WalkerCourses.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.CLB_WalkerCourses.CheckOnClick = true;
|
||||
this.CLB_WalkerCourses.FormattingEnabled = true;
|
||||
this.CLB_WalkerCourses.Location = new System.Drawing.Point(6, 16);
|
||||
this.CLB_WalkerCourses.Name = "CLB_WalkerCourses";
|
||||
this.CLB_WalkerCourses.Size = new System.Drawing.Size(169, 169);
|
||||
this.CLB_WalkerCourses.TabIndex = 1;
|
||||
//
|
||||
// NUD_Watts
|
||||
//
|
||||
this.NUD_Watts.Location = new System.Drawing.Point(262, 6);
|
||||
this.NUD_Watts.Maximum = new decimal(new int[] {
|
||||
9999999,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUD_Watts.Name = "NUD_Watts";
|
||||
this.NUD_Watts.Size = new System.Drawing.Size(64, 20);
|
||||
this.NUD_Watts.TabIndex = 0;
|
||||
this.NUD_Watts.Value = new decimal(new int[] {
|
||||
9999999,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// L_Watts
|
||||
//
|
||||
this.L_Watts.Location = new System.Drawing.Point(190, 3);
|
||||
this.L_Watts.Name = "L_Watts";
|
||||
this.L_Watts.Size = new System.Drawing.Size(66, 22);
|
||||
this.L_Watts.TabIndex = 10;
|
||||
this.L_Watts.Text = "Watts:";
|
||||
this.L_Watts.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// NUD_Steps
|
||||
//
|
||||
this.NUD_Steps.Location = new System.Drawing.Point(262, 38);
|
||||
this.NUD_Steps.Maximum = new decimal(new int[] {
|
||||
9999999,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUD_Steps.Name = "NUD_Steps";
|
||||
this.NUD_Steps.Size = new System.Drawing.Size(64, 20);
|
||||
this.NUD_Steps.TabIndex = 0;
|
||||
this.NUD_Steps.Value = new decimal(new int[] {
|
||||
9999999,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// L_Steps
|
||||
//
|
||||
this.L_Steps.Location = new System.Drawing.Point(190, 35);
|
||||
this.L_Steps.Name = "L_Steps";
|
||||
this.L_Steps.Size = new System.Drawing.Size(66, 22);
|
||||
this.L_Steps.TabIndex = 10;
|
||||
this.L_Steps.Text = "Steps:";
|
||||
this.L_Steps.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// Tab_Misc
|
||||
//
|
||||
|
@ -1291,6 +1382,9 @@
|
|||
((System.ComponentModel.ISupportInitialize)(this.NUD_CastleRankItem)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUD_CastleRankInfo)).EndInit();
|
||||
this.TAB_Walker.ResumeLayout(false);
|
||||
this.GB_WalkerCourses.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUD_Watts)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUD_Steps)).EndInit();
|
||||
this.Tab_Misc.ResumeLayout(false);
|
||||
this.Tab_Poffins.ResumeLayout(false);
|
||||
this.Tab_PokeGear.ResumeLayout(false);
|
||||
|
@ -1368,7 +1462,13 @@
|
|||
private System.Windows.Forms.Label L_CurrentApp;
|
||||
private System.Windows.Forms.Label L_CurrentMap;
|
||||
private System.Windows.Forms.TabPage TAB_Walker;
|
||||
private System.Windows.Forms.Button B_UnlockCourses;
|
||||
private System.Windows.Forms.GroupBox GB_WalkerCourses;
|
||||
private System.Windows.Forms.CheckedListBox CLB_WalkerCourses;
|
||||
private System.Windows.Forms.Button B_AllWalkerCourses;
|
||||
private System.Windows.Forms.NumericUpDown NUD_Watts;
|
||||
private System.Windows.Forms.Label L_Watts;
|
||||
private System.Windows.Forms.NumericUpDown NUD_Steps;
|
||||
private System.Windows.Forms.Label L_Steps;
|
||||
private System.Windows.Forms.NumericUpDown NUD_Coin;
|
||||
private System.Windows.Forms.Label L_Coin;
|
||||
private System.Windows.Forms.TabPage Tab_Misc;
|
||||
|
|
|
@ -136,8 +136,10 @@ namespace PKHeX.WinForms
|
|||
uint valBP = BitConverter.ToUInt16(SAV.General, ofsBP);
|
||||
NUD_BP.Value = valBP > 9999 ? 9999 : valBP;
|
||||
|
||||
if (SAV is SAV4Sinnoh)
|
||||
ReadPoketch();
|
||||
if (SAV is SAV4Sinnoh sinnoh)
|
||||
ReadPoketch(sinnoh);
|
||||
if (SAV is SAV4HGSS hgss)
|
||||
ReadWalker(hgss);
|
||||
|
||||
if (ofsUGFlagCount > 0)
|
||||
{
|
||||
|
@ -176,8 +178,10 @@ namespace PKHeX.WinForms
|
|||
BitConverter.GetBytes(valFly).CopyTo(SAV.General, ofsFly);
|
||||
BitConverter.GetBytes((ushort)NUD_BP.Value).CopyTo(SAV.General, ofsBP);
|
||||
|
||||
if (SAV is SAV4Sinnoh)
|
||||
SavePoketch();
|
||||
if (SAV is SAV4Sinnoh sinnoh)
|
||||
SavePoketch(sinnoh);
|
||||
if (SAV is SAV4HGSS hgss)
|
||||
SaveWalker(hgss);
|
||||
|
||||
if (ofsUGFlagCount > 0)
|
||||
BitConverter.GetBytes((BitConverter.ToUInt32(SAV.General, ofsUGFlagCount) & ~0xFFFFFu) | (uint)NUD_UGFlags.Value).CopyTo(SAV.General, ofsUGFlagCount);
|
||||
|
@ -199,10 +203,9 @@ namespace PKHeX.WinForms
|
|||
private byte[] DotArtistByte;
|
||||
private byte[] ColorTable;
|
||||
|
||||
private void ReadPoketch()
|
||||
private void ReadPoketch(SAV4Sinnoh s)
|
||||
{
|
||||
string[] PoketchTitle = Enum.GetNames(typeof(PoketchApp));
|
||||
var s = (SAV4Sinnoh) SAV;
|
||||
|
||||
CB_CurrentApp.Items.AddRange(PoketchTitle);
|
||||
CB_CurrentApp.SelectedIndex = s.CurrentPoketchApp;
|
||||
|
@ -226,9 +229,8 @@ namespace PKHeX.WinForms
|
|||
TAB_Main.AllowDrop = true;
|
||||
}
|
||||
|
||||
private void SavePoketch()
|
||||
private void SavePoketch(SAV4Sinnoh s)
|
||||
{
|
||||
var s = (SAV4Sinnoh)SAV;
|
||||
s.CurrentPoketchApp = (sbyte)CB_CurrentApp.SelectedIndex;
|
||||
for (int i = 0; i < CLB_Poketch.Items.Count; i++)
|
||||
{
|
||||
|
@ -776,9 +778,31 @@ namespace PKHeX.WinForms
|
|||
}
|
||||
#endregion
|
||||
|
||||
private void B_UnlockCourses_Click(object sender, EventArgs e)
|
||||
private void ReadWalker(SAV4HGSS s)
|
||||
{
|
||||
((SAV4HGSS)SAV).PokewalkerCoursesUnlockAll();
|
||||
string[] walkercourses = GameInfo.Sources.Source.walkercourses;
|
||||
bool[] isChecked = s.PokewalkerCoursesUnlocked;
|
||||
CLB_WalkerCourses.Items.Clear();
|
||||
for (int i = 0; i < walkercourses.Length; i++)
|
||||
CLB_WalkerCourses.Items.Add(walkercourses[i], isChecked[i]);
|
||||
NUD_Watts.Value = s.PokewalkerWatts;
|
||||
NUD_Steps.Value = s.PokewalkerSteps;
|
||||
}
|
||||
|
||||
private void SaveWalker(SAV4HGSS s)
|
||||
{
|
||||
bool[] courses = new bool[32];
|
||||
for (int i = 0; i < CLB_WalkerCourses.Items.Count; i++)
|
||||
courses[i] = CLB_WalkerCourses.GetItemChecked(i);
|
||||
s.PokewalkerCoursesUnlocked = courses;
|
||||
s.PokewalkerWatts = (uint)NUD_Watts.Value;
|
||||
s.PokewalkerSteps = (uint)NUD_Steps.Value;
|
||||
}
|
||||
|
||||
private void B_AllWalkerCourses_Click(object sender, EventArgs e)
|
||||
{
|
||||
for (int i = 0; i < CLB_WalkerCourses.Items.Count; i++)
|
||||
CLB_WalkerCourses.SetItemChecked(i, true);
|
||||
}
|
||||
|
||||
private void OnBAllSealsLegalOnClick(object sender, EventArgs e)
|
||||
|
|
Loading…
Add table
Reference in a new issue