Jump to content

Pokemon ROM Changer


Recommended Posts

  • Replies 169
  • Created
  • Last Reply

Top Posters In This Topic

Can you adapt it to the Spanish (European) Black 2 rom?

I've provided the source for the translated program; if you compare the two ROMs to find where it should read off of instead, you can replace that in the source and have a working one.

        public static int EVOLVE_B2 = 0xa78525c;
       public static int EVOLVE_W2 = 0xa78525c;

        public static int FAMILY_B2 = 0xa769664;
       public static int FAMILY_W2 = 0xa769664;

        public static int PLACE_B2 = 0xc876a6c;
       public static int PLACE_W2 = 0xc87686c;

        public static int SKILL_B2 = 0xa7901b4;
       public static int SKILL_W2 = 0xa7901b4;

That's what it reads from in the English translation. Find the offsets needed for any other language and then replace & re-compile.

Link to comment
Share on other sites

Thanks for the update ! ^^ it has been REALLY helpful (caps were necessary !) by the way, has anyone been succesful at editing hidden grotto pokémon? i would like to know how to do this, since i dont see any options for this at the moment with the PRC.

Link to comment
Share on other sites

I don't know how to make this compatible with the italian version.. anyone can explain to me?

This was already asked, and I explained how to do it. Take the source code and find where the narc offsets start in the different language, then re-compile with a C# editor.

I've provided the source for the translated program; if you compare the two ROMs to find where it should read off of instead, you can replace that in the source and have a working one.

        public static int EVOLVE_B2 = 0xa78525c;
       public static int EVOLVE_W2 = 0xa78525c;

        public static int FAMILY_B2 = 0xa769664;
       public static int FAMILY_W2 = 0xa769664;

        public static int PLACE_B2 = 0xc876a6c;
       public static int PLACE_W2 = 0xc87686c;

        public static int SKILL_B2 = 0xa7901b4;
       public static int SKILL_W2 = 0xa7901b4;

That's what it reads from in the English translation. Find the offsets needed for any other language and then replace & re-compile.

Thanks for the update ! ^^ it has been REALLY helpful (caps were necessary !) by the way, has anyone been succesful at editing hidden grotto pokémon? i would like to know how to do this, since i dont see any options for this at the moment with the PRC.

That's exclusively hex-editing by hand at the moment; which narc it is is in the General ROM Info thread. Drayano has done it for his BB2VW2 hack. Structure is pretty easy to see, and I've had a ripped table for a while :P

Link to comment
Share on other sites

I don't know how to make this compatible with the italian version.. anyone can explain to me?

kaphotics was already explain how change it, just find offset a specific narc file. using crystaltile 2 or tinke to find these offset (offset is not form beggining, is not include header offset, just go data offset actually is easy to see) =.=

Link to comment
Share on other sites

That's exclusively hex-editing by hand at the moment; which narc it is is in the General ROM Info thread. Drayano has done it for his BB2VW2 hack. Structure is pretty easy to see, and I've had a ripped table for a while :P

EXCELLENT ! Thanks for the info *-*

Now there are a few hex that i dont understand, following your table it starts in the order of the game from floccesy ranch and onwards, im editing the file 3_000 on CrystalTile2 (from narc a/2/7/3 hidden grottos) it starts normally with CE00 (dunsparce) and also contains Marril (B700) and herdier (FB01) which are correct... but what im confused about is the 0A & 1E, are these fillers?

Also is there any hex editor that can show me the tables in the same order as the ones you posted? because in CT2 they are in order but they dont show all the values on the same line like your tables.

Here´s a Screenie just in case.

Captura..JPG

Captura..JPG.4d911daa1a3160b2a907f5d8989

Edited by wyndamn
Link to comment
Share on other sites

EXCELLENT ! Thanks for the info *-*

Now there are a few hex that i dont understand, following your table it starts in the order of the game from floccesy ranch and onwards, im editing the file 3_000 on CrystalTile2 (from narc a/2/7/3 hidden grottos) it starts normally with CE00 (dunsparce) and also contains Marril (B700) and herdier (FB01) which are correct... but what im confused about is the 0A & 1E, are these fillers?

Also is there any hex editor that can show me the tables in the same order as the ones you posted? because in CT2 they are in order but they dont show all the values on the same line like your tables.

Here´s a Screenie just in case.

[ATTACH]10220[/ATTACH]

pretty sure those are levels (it's been awhile)

there's ground items and dowsing items

Link to comment
Share on other sites

Hi! I tried to open Drayano's Volt White 2 to correct some bugs for myself (Scyther not evolving, Porygon in Virbank Complex, Budew's SpDef of 140, Nincada instead of Litwick in relic patch, Eevee's first ability, Darmanitan-Z's moves...) but when I open my rom and select a pokémon, here's what's written:

]Unhandled exception has occurred in your application. If you click Continue, the application will ignore this error and attempt to continue. If you click Quit, the application will close immediately.

Object reference not set to an instance of an object.

Details:

See the end of this message for details on invoking

just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************

System.NullReferenceException: Object reference not set to an instance of an object.

at POKEMON_BW2.Form1.WriteData(Int32 index)

at POKEMON_BW2.Form1.listBox1_SelectedIndexChanged(Object sender, EventArgs e)

at System.Windows.Forms.ListBox.OnSelectedIndexChanged(EventArgs e)

at System.Windows.Forms.ListBox.WmReflectCommand(Message& m)

at System.Windows.Forms.ListBox.WndProc(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************

mscorlib

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.5456 (Win7SP1GDR.050727-5400)

CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll

----------------------------------------

prc_bw2

Assembly Version: 0.0.0.0

Win32 Version: 0.0.1.0

CodeBase: file:///C:/Users/user/Desktop/bbvw2/desmumejit/Roms/Pokemon%205░%20Gen%20Evolution%20Editor/prc_bw2.exe

----------------------------------------

System.Windows.Forms

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.5460 (Win7SP1GDR.050727-5400)

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

----------------------------------------

System

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.5456 (Win7SP1GDR.050727-5400)

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll

----------------------------------------

System.Drawing

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.5462 (Win7SP1GDR.050727-5400)

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

----------------------------------------

System.Xml

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)

CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll

----------------------------------------

************** JIT Debugging **************

To enable just-in-time (JIT) debugging, the .config file for this

application or computer (machine.config) must have the

jitDebugging value set in the system.windows.forms section.

The application must also be compiled with debugging

enabled.

For example:

<configuration>

<system.windows.forms jitDebugging="true" />

</configuration>

When JIT debugging is enabled, any unhandled exception

will be sent to the JIT debugger registered on the computer

rather than be handled by this dialog box.

When I click on "continue", nothing happens.

Link to comment
Share on other sites

I never knew anything like this existed! I would have fun with this. Thanks. :)

Edit:Tried to add Glitch Unowns to the list. Highly unstable (Can't set reference to object error thing) when switching through the list of them, but it reads the data.

Edited by Thunder_Remix
Link to comment
Share on other sites

I don't suppose that the B2W2 English editor would happen to work for B/W, would it? It's a long shot, but if all the relevant data for both games was stored in the same place and order...

Nah; the OP has the BW translation. The way the program works is by offsets in the ROM, and different games/versions/languages will have different offsets. I suppose B2W2->BW would just require re-pointing as is done for different languages, so you can give that a shot with the provided source code :)

Link to comment
Share on other sites

Hi everyone,

I have been using the original Japanese version on a Japanese BW2 ROM,

but when I try to save changes, it fails and displays this error instead:

System.IO.IOException: The process cannot access the file 'C:\Program Files\DeSmuME\Roms\pokemon_black_2.nds' because it is being used by another process.
  at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
  at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
  at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
  at POKEMON_BW2.Form1.OutputData(String filename)
  at POKEMON_BW2.Form1.saveToolStripMenuItem_Click(Object sender, EventArgs e)
  at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
  at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
  at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
  at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
  at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
  at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
  at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
  at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
  at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
  at System.Windows.Forms.Control.WndProc(Message& m)
  at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
  at System.Windows.Forms.ToolStrip.WndProc(Message& m)
  at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
  at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

The weird thing is that I didn't find any other process that was accessing the ROM.

If I ignore the error and retry several times it eventually saves.

This started happening around yesterday, until then I didn't have any issues.

I tried saving on a clean ROM, redownloading PRC, and fixing / updating my .NET Framework Installation, but the error still persists.

Anyone have a clue to what is happening?

Edit: I'm on Windows XP SP3 and have .NET Framework 3.5 installed, if that helps.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...