Skip to content

Commit 1b19789

Browse files
committed
buffs are now fully editable
1 parent c8e2479 commit 1b19789

13 files changed

+3133
-3084
lines changed

WinTerrEdit/Init.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,10 @@ public List<buff> loadBuffIDs()
8787
return completed;
8888
}
8989
}
90+
91+
public enum gamemode
92+
{
93+
94+
95+
}
9096
}

WinTerrEdit/Properties/Resources.Designer.cs

Lines changed: 2 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

WinTerrEdit/Properties/Resources.resx

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -121,13 +121,7 @@
121121
<data name="crappyreload" type="System.Resources.ResXFileRef, System.Windows.Forms">
122122
<value>..\Resources\crappyreload.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
123123
</data>
124-
<data name="winTerrEditLogoSmall" type="System.Resources.ResXFileRef, System.Windows.Forms">
125-
<value>..\Resources\winTerrEditLogoSmall.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
126-
</data>
127-
<data name="winTerrEditLogoSmallInverted" type="System.Resources.ResXFileRef, System.Windows.Forms">
128-
<value>..\Resources\winTerrEditLogoSmallInverted.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
129-
</data>
130-
<data name="winTerrEditLogoSmallInvertedV2" type="System.Resources.ResXFileRef, System.Windows.Forms">
131-
<value>..\Resources\winTerrEditLogoSmallInvertedV2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
124+
<data name="Logo_Only1" type="System.Resources.ResXFileRef, System.Windows.Forms">
125+
<value>..\Resources\Logo_Only1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
132126
</data>
133127
</root>
342 Bytes
Loading
-2.37 KB
Binary file not shown.
-2.41 KB
Binary file not shown.
-2.37 KB
Binary file not shown.

WinTerrEdit/WinTerrEdit.csproj

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -184,13 +184,11 @@
184184
<None Include="App.config" />
185185
</ItemGroup>
186186
<ItemGroup>
187+
<None Include="Resources\Logo_Only1.png" />
187188
<EmbeddedResource Include="itemIDs.txt" />
188189
<EmbeddedResource Include="itemPrefixes.txt" />
189190
<EmbeddedResource Include="buffIDs.txt" />
190191
<Content Include="rainbowBrick.ico" />
191-
<EmbeddedResource Include="Resources\winTerrEditLogoSmallInvertedV2.png" />
192-
<EmbeddedResource Include="Resources\winTerrEditLogoSmallInverted.png" />
193-
<EmbeddedResource Include="Resources\winTerrEditLogoSmall.png" />
194192
</ItemGroup>
195193
<ItemGroup>
196194
<BootstrapperPackage Include=".NETFramework,Version=v4.7.2">

WinTerrEdit/entry.Designer.cs

Lines changed: 2989 additions & 2986 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

WinTerrEdit/entry.cs

Lines changed: 101 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ public partial class entry : Form
5151
public List<int> playerHealth = new List<int> { };
5252
public List<int> playerMana = new List<int> { };
5353
public List<Color> playerColours = new List<Color> { }; //hair, skin, eyes, shirt, undershirt, pants, shoes
54+
public int playerHS = 0;
5455

5556
public invItem copyBuffer;
5657
public int copyIndex = -1;
@@ -92,8 +93,6 @@ public entry()
9293
}
9394
private void Entry_Load(object sender, EventArgs e)
9495
{
95-
Console.WriteLine(playerfolder);
96-
9796
btnReload.Image = Resources.crappyreload;
9897

9998
baseTT.ShowAlways = true;
@@ -148,6 +147,10 @@ private void Entry_Load(object sender, EventArgs e)
148147
ListViewItem tmp = new ListViewItem();
149148
tmp.Text = bff.name;
150149
tmp.ImageIndex = cnt;
150+
if(bff.buffStatus == buffStatus.Debuff)
151+
{
152+
tmp.ForeColor = Color.Red;
153+
}
151154
buffLV.Items.Add(tmp);
152155
lvis_buff.Add(tmp);
153156
}
@@ -395,6 +398,9 @@ public void loadData(string path)
395398
nudManaCur.Value = playerMana[0];
396399
nudManaMax.Value = playerMana[1];
397400

401+
playerHS = decrypted[nameEndOffset + 9];
402+
nudHair.Value = playerHS;
403+
398404
var res = inv_main.Where(invItem => invItem.item.name == "Unknown");
399405
if(res.Count() > 0)
400406
{
@@ -415,21 +421,22 @@ private void btnLoad_Click(object sender, EventArgs e)
415421
try
416422
{
417423
//reset variables
418-
rawDecrypted = new List<Byte> { };
424+
rawDecrypted.Clear();
419425
playerName = "";
420-
inv_main = new List<invItem> { };
421-
playerHealth = new List<int> { };
422-
playerMana = new List<int> { };
423-
playerColours = new List<Color> { };
426+
inv_main.Clear();
427+
playerHealth.Clear();
428+
playerMana.Clear();
429+
playerColours.Clear();
424430
nameEndOffset = 0;
425431
invSelectedIndex = 0;
426432
isSaved = true;
427-
unlockAllData = new List<Byte> { };
428-
debugInvData = new List<List<int>> { };
433+
unlockAllData.Clear();
434+
debugInvData.Clear();
429435
inv_main.Clear();
430436
inv_piggybank.Clear();
431437
inv_safe.Clear();
432438
inv_ammocoins.Clear();
439+
playerBuffs.Clear();
433440

434441
lastReadPlrPath = dlg.FileName;
435442
this.Text = "WinTerrEdit | [F1] About | [F2] Settings | (" + dlg.SafeFileName + ")";
@@ -461,21 +468,22 @@ private void btnLoad_Click(object sender, EventArgs e)
461468

462469
private void btnReload_Click(object sender, EventArgs e)
463470
{
464-
rawDecrypted = new List<Byte> { };
471+
rawDecrypted.Clear();
465472
playerName = "";
466-
inv_main = new List<invItem> { };
467-
playerHealth = new List<int> { };
468-
playerMana = new List<int> { };
469-
playerColours = new List<Color> { };
473+
inv_main.Clear();
474+
playerHealth.Clear();
475+
playerMana.Clear();
476+
playerColours.Clear();
470477
nameEndOffset = 0;
471478
invSelectedIndex = 0;
472479
isSaved = true;
473-
unlockAllData = new List<Byte> { };
474-
debugInvData = new List<List<int>> { };
480+
unlockAllData.Clear();
481+
debugInvData.Clear();
475482
inv_main.Clear();
476483
inv_piggybank.Clear();
477484
inv_safe.Clear();
478485
inv_ammocoins.Clear();
486+
playerBuffs.Clear();
479487

480488
loadData(lastReadPlrPath);
481489
//gbInvHold.Enabled = true;
@@ -509,7 +517,6 @@ public void updateInvDisplay()
509517
baseTT.SetToolTip(pb, "Slot " + slotNameCount + processedNameData);
510518
slotNameCount++;
511519
i++;
512-
513520
}
514521
break;
515522

@@ -523,7 +530,6 @@ public void updateInvDisplay()
523530
baseTT.SetToolTip(pb, "Piggybank slot " + slotNameCount + processedNameData);
524531
slotNameCount++;
525532
i++;
526-
527533
}
528534
break;
529535

@@ -537,7 +543,6 @@ public void updateInvDisplay()
537543
baseTT.SetToolTip(pb, "Safe slot " + slotNameCount + processedNameData);
538544
slotNameCount++;
539545
i++;
540-
541546
}
542547
break;
543548

@@ -551,7 +556,6 @@ public void updateInvDisplay()
551556
baseTT.SetToolTip(pb, "Safe slot " + slotNameCount + processedNameData);
552557
slotNameCount++;
553558
i++;
554-
555559
}
556560
break;
557561

@@ -561,11 +565,10 @@ public void updateInvDisplay()
561565
foreach (PictureBox pb in pbs_buffs)
562566
{
563567
pbs_buffs[i].Image = playerBuffs[i].buff.icon;
564-
string processedNameData = " (" + playerBuffs[slotNameCount - 1].buff.name + " for" + playerBuffs[slotNameCount - 1].duration + " seconds)";
568+
string processedNameData = " (" + playerBuffs[slotNameCount - 1].buff.name + " for " + playerBuffs[slotNameCount - 1].duration + " seconds)";
565569
baseTT.SetToolTip(pb, "Buff slot " + slotNameCount + processedNameData);
566570
slotNameCount++;
567571
i++;
568-
569572
}
570573
break;
571574
}
@@ -582,18 +585,41 @@ public void updateInvDisplay()
582585

583586
private void item_Click(object sender, EventArgs e)
584587
{
588+
switch (selectedTab)
589+
{
590+
case 0:
591+
inv_main[invSelectedIndex].quantity = (int)nudQuant.Value;
592+
break;
593+
594+
case 1:
595+
inv_piggybank[invSelectedIndex].quantity = (int)nudQuant.Value;
596+
break;
597+
598+
case 2:
599+
inv_safe[invSelectedIndex].quantity = (int)nudQuant.Value;
600+
break;
601+
602+
case 3:
603+
inv_ammocoins[invSelectedIndex].quantity = (int)nudQuant.Value;
604+
break;
605+
606+
case 4:
607+
playerBuffs[invSelectedIndex].duration = (int)nudDur.Value;
608+
break;
609+
}
610+
585611
string elementName = (sender as PictureBox).Name;
586612
string[] npart = elementName.Split(new string[] { "b" }, StringSplitOptions.None);
587613
invSelectedIndex = Int32.Parse(npart[1]) - 1;
588614
trueSelectedIndex = invSelectedIndex;
615+
589616
switch (selectedTab)
590617
{
591618
case 0:
592619
cbItem.SelectedItem = inv_main[invSelectedIndex].item.name;
593620
nudQuant.Value = inv_main[invSelectedIndex].quantity;
594621
cbPrefixes.SelectedItem = inv_main[invSelectedIndex].prefix.name;
595622
gb_slot_items.Text = "Inventory slot " + (invSelectedIndex + 1) + " (" + inv_main[invSelectedIndex].item.name + ")";
596-
597623
break;
598624

599625
case 1:
@@ -642,6 +668,7 @@ public List<Byte> reEncode()
642668
List<Byte> encodedColourData = new List<Byte> { };
643669
List<Byte> encodedHealthData = new List<Byte> { };
644670
List<Byte> encodedManaData = new List<Byte> { };
671+
List<Byte> encodedBuffData = new List<Byte> { };
645672

646673
//create the template
647674
List<Byte> save = rawDecrypted;
@@ -685,6 +712,11 @@ public List<Byte> reEncode()
685712
encodedColourData.AddRange(new List<Byte> { c.R, c.G, c.B });
686713
}
687714

715+
foreach(playerBuff pb in playerBuffs)
716+
{
717+
encodedBuffData.AddRange(pb.recompile(ih));
718+
}
719+
688720
//populate encoded health data
689721
encodedHealthData.InsertRange(0, new List<Byte> { (byte)ih.encodeData(playerHealth[0])[0], (byte)ih.encodeData(playerHealth[0])[1], 0x00, 0x00, (byte)ih.encodeData(playerHealth[1])[0], (byte)ih.encodeData(playerHealth[1])[1], 0x00, 0x00 });
690722

@@ -727,6 +759,13 @@ public List<Byte> reEncode()
727759
save.InsertRange(ManaDataBeginOffset, encodedManaData);
728760
Console.WriteLine("Mana data: Removed 8 bytes, Inserted " + encodedManaData.Count() + " bytes");
729761

762+
int BuffDataBeginOffset = nameEndOffset + buffOffset;
763+
save.RemoveRange(BuffDataBeginOffset, 176);
764+
save.InsertRange(BuffDataBeginOffset, encodedBuffData);
765+
Console.WriteLine("Mana data: Removed 176 bytes, Inserted " + encodedBuffData.Count() + " bytes");
766+
767+
save[nameEndOffset + 9] = (byte)playerHS;
768+
730769
//insert padding if needed
731770
while (save.Count() % 16 != 0)
732771
{
@@ -761,21 +800,22 @@ private void btnSave_Click(object sender, EventArgs e)
761800
saveNotifier sn = new saveNotifier();
762801
sn.ShowDialog();
763802

764-
rawDecrypted = new List<Byte> { };
803+
rawDecrypted.Clear();
765804
playerName = "";
766-
inv_main = new List<invItem> { };
767-
playerHealth = new List<int> { };
768-
playerMana = new List<int> { };
769-
playerColours = new List<Color> { };
805+
inv_main.Clear();
806+
playerHealth.Clear();
807+
playerMana.Clear();
808+
playerColours.Clear();
770809
nameEndOffset = 0;
771810
invSelectedIndex = 0;
772811
isSaved = true;
773-
unlockAllData = new List<Byte> { };
774-
debugInvData = new List<List<int>> { };
812+
unlockAllData.Clear();
813+
debugInvData.Clear();
775814
inv_main.Clear();
776815
inv_piggybank.Clear();
777816
inv_safe.Clear();
778817
inv_ammocoins.Clear();
818+
playerBuffs.Clear();
779819

780820
lastReadPlrPath = dlg.FileName;
781821

@@ -1366,6 +1406,24 @@ private void textBox1_TextChanged(object sender, EventArgs e)
13661406
}
13671407
}
13681408

1409+
private void textBox2_TextChanged(object sender, EventArgs e)
1410+
{
1411+
if (textBox2.Text.Length > 2)
1412+
{
1413+
var results = lvis_buff.Where(x => x.Text.ToLower().Contains(textBox2.Text)).ToList();
1414+
buffLV.Items.Clear();
1415+
foreach (var i in results)
1416+
{
1417+
buffLV.Items.Add(i);
1418+
}
1419+
}
1420+
else
1421+
{
1422+
buffLV.Items.Clear();
1423+
buffLV.Items.AddRange(lvis_buff.ToArray());
1424+
}
1425+
}
1426+
13691427
public string calcMd5OfOpenFile()
13701428
{
13711429
try
@@ -1392,21 +1450,22 @@ private void autoFunctionTimer_Tick(object sender, EventArgs e)
13921450

13931451
if (tmp != currentFileHash)
13941452
{
1395-
rawDecrypted = new List<Byte> { };
1453+
rawDecrypted.Clear();
13961454
playerName = "";
1397-
inv_main = new List<invItem> { };
1398-
playerHealth = new List<int> { };
1399-
playerMana = new List<int> { };
1400-
playerColours = new List<Color> { };
1455+
inv_main.Clear();
1456+
playerHealth.Clear();
1457+
playerMana.Clear();
1458+
playerColours.Clear();
14011459
nameEndOffset = 0;
14021460
invSelectedIndex = 0;
14031461
isSaved = true;
1404-
unlockAllData = new List<Byte> { };
1405-
debugInvData = new List<List<int>> { };
1462+
unlockAllData.Clear();
1463+
debugInvData.Clear();
14061464
inv_main.Clear();
14071465
inv_piggybank.Clear();
14081466
inv_safe.Clear();
14091467
inv_ammocoins.Clear();
1468+
playerBuffs.Clear();
14101469

14111470
loadData(lastReadPlrPath);
14121471
//gbInvHold.Enabled = true;
@@ -1445,5 +1504,10 @@ private void tabs_selectedChanged(object sender, EventArgs e)
14451504
gb_slot_items.BringToFront();
14461505
}
14471506
}
1507+
1508+
private void nudHair_ValueChanged(object sender, EventArgs e)
1509+
{
1510+
playerHS = (int)nudHair.Value;
1511+
}
14481512
}
14491513
}

0 commit comments

Comments
 (0)