kwsch / pk3DS

Pokémon (3DS) ROM Editor & Randomizer
https://projectpokemon.org/forums/forums/topic/34377-pk3ds-xyoras-rom-editor-randomizer/
Other
400 stars 150 forks source link

PK3DS crashing every time when it attempts to rebuild the rom #528

Closed Santereva closed 2 years ago

Santereva commented 2 years ago

2 months ago, I made a reddit post to see if I could get some help, forgot about it and found it was removed by a bot for spam. I get if the info might be seen as malicious but spam? Alight. SO yeah this is a re-post to a place that I think is more useful.

I have been trying to use PK3D to randomise Ultra Sun and nuzlock it. I have used an older version of PK3D (2017 version I think) but it didn't work on Pokemon X, so I got the recent version of PK3D (at least I think it is, there is no identifier of what version I'm using). When I used it on Pokemon X, all that succeeded was randomising the wild and starter pokemon and the shop but nothing else.

Now onto Pokemon Ultra Sun. The ROM itself works just fine, Citra runs it no problem. Not using my legit copy or actual nintendo 3Ds as I don't want to cause corruptions as it's damaged already. To give a basic run down, what I do is:

Randomise encounters

Randomise level up moves

Randomise trainer Pokemon

Randomise starters

Randomise shop items (I do get the message that it may break or something, so I did do another attempt without doing it with the same result)

After waiting until it rebuilds, it gives me an error message once it's done. Erasing all the progress. Or at least I thought it did, seems to save all the randomising it has done but doesn't let me rebuild it all.

Here is what error message says:

image

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object. at pk3DS.Core.CTR.CTRUtil.setNCCH(String EXEFS_PATH, String ROMFS_PATH, String EXHEADER_PATH, String TB_Serial, String LOGO_NAME, ProgressBar PB_Show, RichTextBox TB_Progress) at pk3DS.Core.CTR.CTRUtil.buildROM(Boolean Card2, String LOGO_NAME, String EXEFS_PATH, String ROMFS_PATH, String EXHEADER_PATH, String SERIAL_TEXT, String SAVE_PATH, Boolean trimmed, ProgressBar PB_Show, RichTextBox TB_Progress) at pk3DS.Main.<>c__DisplayClass66_0.b__0() in D:\a\1\s\pk3DS\Main.cs:line 1267 at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart()

Loaded Assemblies:

mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll

pk3DS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null D:\pokemon\PK3Ds\pk3DS\bin\Release\pk3DS.exe

System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll

System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll

System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll

System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll

System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll

System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll

pk3DS.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null D:\pokemon\PK3Ds\pk3DS\bin\Release\pk3DS.Core.dll


User Message: An unhandled exception has occurred. The program must now close.

Looking at the error, all I understand is that I have PK3D and PK3DS.CORE are in version 1.0.0.0 and everything else is 4.0.0.0 . Also the PublicKeyToken returns as null each time for PK3Ds.

I do have dotNet from Microsoft and it's in it's most recent version. The only thing I understand from all of this is "Object reference not set to an instance of an object." I have done a fair share of minecraft troubleshooting, but I'm at a lost for words here and frankly I do not know how to solve this problem.

I have not found a post that has an answer to this nor do I know that what I'm doing is wrong. I extract, plug in what I want and then rebuild. I don't think I'm doing anything wrong. I plan on going onto Github if I don't find an answer here.

kwsch commented 2 years ago

https://github.com/kwsch/pk3DS/issues/525

Never finished, and doesn't have complete error handling. Just use layeredfs instead of rebuilding a ROM with pk3DS.

Santereva commented 2 years ago

From clicking the link and reading through everything I understood, I understood nothing.

kwsch commented 2 years ago

In other words: you cannot rebuild a ROM with pk3DS. Seek out other alternatives.