@@ -226,6 +226,7 @@ public void loadData(string path)
226226
227227 currentFileHash = calcMd5OfOpenFile ( ) ;
228228 byte [ ] decrypted = cr . decryptFile ( path ) ;
229+ Console . WriteLine ( decrypted . Length ) ;
229230 rawDecrypted = decrypted . ToList ( ) ;
230231 versionCode = ih . resolveEncodedData ( decrypted [ 0 ] , decrypted [ 1 ] ) ;
231232
@@ -243,16 +244,14 @@ public void loadData(string path)
243244 playerName = Encoding . UTF8 . GetString ( namebytes ) ;
244245 tbName . Text = playerName ;
245246
246- //neo + 838
247-
248247 if ( versionCode < 230 )
249248 {
250249 inventoryOffset = 211 ;
251250 coinOffset = 711 ;
252251 colOffset = 40 ;
253252 pigOffset = 841 ;
254253 safeOffset = 1201 ;
255- buffOffset = 2281 ;
254+ buffOffset = 1921 ; //2281
256255 }
257256 else
258257 {
@@ -261,7 +260,7 @@ public void loadData(string path)
261260 colOffset = 42 ;
262261 pigOffset = 843 ;
263262 safeOffset = 1203 ;
264- buffOffset = 2284 ;
263+ buffOffset = 2284 ; //2284
265264 }
266265
267266 int InvDataBeginOffset = nameEndOffset + inventoryOffset ;
@@ -352,6 +351,7 @@ public void loadData(string path)
352351 List < int > buffBtm = new List < int > { } ;
353352 for ( int i = BuffDataBeginOffset ; i < BuffDataEndOffset ; i ++ )
354353 {
354+ Console . WriteLine ( String . Join ( "," , buffBtm ) ) ;
355355 extCounter ++ ;
356356 buffBtm . Add ( decrypted [ i ] ) ;
357357 if ( extCounter == 8 )
@@ -426,8 +426,15 @@ public void loadData(string path)
426426 nudManaCur . Value = playerMana [ 0 ] ;
427427 nudManaMax . Value = playerMana [ 1 ] ;
428428
429- playerHS = decrypted [ nameEndOffset + 9 ] ;
430- nudHair . Value = playerHS ;
429+ int hs = decrypted [ nameEndOffset + 9 ] ;
430+
431+ if ( hs > 133 )
432+ {
433+ nudHair . Maximum = hs ;
434+ }
435+
436+ playerHS = hs ;
437+ nudHair . Value = hs ;
431438 cbGamemode . SelectedIndex = ( int ) playerMode ;
432439
433440 switch ( selectedTab )
@@ -766,7 +773,7 @@ public List<Byte> reEncode()
766773 nn . AddRange ( nameConverted ) ;
767774 save . InsertRange ( 24 , nn ) ;
768775 nameEndOffset = 25 + nameConverted . Length ;
769-
776+
770777 //populate encoded inventory data
771778 foreach ( invItem iv in inv_main )
772779 {
@@ -850,6 +857,7 @@ public List<Byte> reEncode()
850857 Console . WriteLine ( "Mana data: Removed 176 bytes, Inserted " + encodedBuffData . Count ( ) + " bytes" ) ;
851858
852859 save [ nameEndOffset + 9 ] = ( byte ) playerHS ;
860+ save [ nameEndOffset ] = ( byte ) playerMode ;
853861
854862 //insert padding if needed
855863 while ( save . Count ( ) % 16 != 0 )
@@ -1722,5 +1730,23 @@ private void quant_leaveFocus(object sender, EventArgs e)
17221730 {
17231731 Console . WriteLine ( "broke focus" ) ;
17241732 }
1733+
1734+ private void cbGamemode_SelectedIndexChanged ( object sender , EventArgs e )
1735+ {
1736+ switch ( cbGamemode . SelectedIndex ) {
1737+ case 0 :
1738+ playerMode = gamemodes . gamemode . Classic ;
1739+ break ;
1740+ case 1 :
1741+ playerMode = gamemodes . gamemode . MediumCore ;
1742+ break ;
1743+ case 2 :
1744+ playerMode = gamemodes . gamemode . HardCore ;
1745+ break ;
1746+ case 3 :
1747+ playerMode = gamemodes . gamemode . Journey ;
1748+ break ;
1749+ }
1750+ }
17251751 }
17261752}
0 commit comments