• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Tool: JackHack96's Tool Factory

JackHack96

Intrepid Hacker
121
Posts
11
Years
So how's this going? Any updates?

I'd love to make a pokemon white hack using this.

So, as I said, I'm currentky working on the map editor. It will take some time, because I can't do any copy and paste from other sources (Spiky has cheated a bit {XD}, he copied a lot from MKDS Course Modifier), as there are no java tools which are able to open and view .nsbmd files (except from consoleTool3, but it's not open source and when I decompiled it I saw too much code, in fact it's an editor for a lot of consoles).

I'm learning OpenGL and trying to understand a bit how I can render a NDS model in Java. I'm at a moderate progress in this process...

Unfortunately I currently don't plan to support B/W, because it would slow down the development (but who knows, maybe in the future...)
If you want to hack B/W I suggest you to stay with SDSME...

EDIT: If someone knows JOGL and wants to help me is welcomed {:3}
 

JackHack96

Intrepid Hacker
121
Posts
11
Years
I'm here to share with you an update.

You know I'm currently working on the map editor. So the first thing I have to do is to implement a NSBMD viewer. The problem is I never worked with OpenGL before, and this isn't something you learn in few days. I know the very basic things of it...
Another problem: there isn't any (at least open source) Java NSBMD viewer. Also Spiky didn't know OpenGL very well, as I saw from his code, which is primary a copy and paste from MKDS, and I can fully understand him (if you can reuse code, do it!).

So I searched for an easy-to-understand and well made NSBMD viewer for studing it, and I chose Tinke, which is written in C#. I learned how it works and I'm currently porting the C# code to Java, but it has been difficult, also because Java has a different approach than C# (in fact, when the viewer will work I'll integrate it, but only for the first release of DS PokeHack Studio, because in the second release I want to clean the code and making it more "Java style").
After many boring hours spent with coding and debugging, I reached this point:
HdvAT2k.png


The program is now able to render simple models, but whenever I try to render more complicated things I get this:
NGFepRb.png


This is really annoying, and I hope I will manage to solve it! (But it's very hard to understand where the error is...)

EDIT: YEEEEEEEEEEEE ^^!!

I've finally managed to solve it!! Now it renders flawlessly any nsbmd!!! Here is a screenshot:
fh8Jx9I.png



I'm so happy :D
Now I can start working on the map editor :D
 
Last edited:

Alucard_I

A Forest Of Thorns Shall Be My Grave
18
Posts
9
Years
Holy shit man! I love you!
Just came back to see that you're actually working on that. Don't know how to thank you, really. I can finally make a pokemon game of my dream... *sobbing mathematically*
 

JackHack96

Intrepid Hacker
121
Posts
11
Years
A little update on the map editor :)

I've managed to properly implement the basic things. It correctly renders D/P/Pt maps (for HG/SS I still have to debug it a little...).
Perspective (3D) view is still not implemented, but I'll do it another time (after the first public beta, because I don't consider it a vital feature), and also mouse controls (it can be controlled with the keyboard, with a lot of keys...)

Now I'll start working on the permission editor and on the tileset editor :)

P.S.: Look at these images:
DJWck6L.png

2ix3NoI.png

Can you guess something? It's my first port of DS PokeHack Studio on Mac OSX (running on Ubuntu) :)
As you can see there are some bugs, but given I've only compiled the code without any modification it's a big goal :D
 
695
Posts
17
Years
  • Age 31
  • Seen Aug 20, 2017
Awesome JackHack,
Wish we had these knowledge when the games came out maybe then the hacking scene still had it's glory and progression. Keep up the good work!
 

JackHack96

Intrepid Hacker
121
Posts
11
Years
Hot update about the Map Editor!

Today I've finished implementing the first version of the permission editor!
Given I didn't like SDSME one, created with a table, I decided I could make an Advance Map like permission editor :)

And so has been. I'm quite satisfied with the result, it works very well :) (the only bad note are tiles, but that's because I'm not good at graphics -_-)
Screenshots:
QYJs9Vy.png

bMneRdv.png
 

Splash

But nothing happened.
658
Posts
14
Years
Hot update about the Map Editor!

Today I've finished implementing the first version of the permission editor!
Given I didn't like SDSME one, created with a table, I decided I could make an Advance Map like permission editor :)

And so has been. I'm quite satisfied with the result, it works very well :) (the only bad note are tiles, but that's because I'm not good at graphics -_-)
Screenshots:
QYJs9Vy.png

bMneRdv.png

Congrats on implementing a permission editor..
I'll continue on supporting this as well as the future of pokemon hacking..
 

Sliter

Gaijin Trainer
74
Posts
10
Years
hey man! great work so far! :D it really will help me A LOT with the text translation since it keep more organizated than getting everything in one file with "the new poketext" XD (it also usefull actually, not taking out his merit) better yet, the accentuation works!! .
Only a thing I think I would ask to add if possible is a way to extract the banks to edit somewhere else, and then insert again, would be usefull to send to other peoples help or if i'm not in home , can use a computer but not get the program, stuff like that XD
And again, thank you!
Edit: reporting a error just because the program asked me to lololol
what I did was just opening an Chinese translation hack (just wanted to explore :o (funny that the text opens in corean with some "unidentified code, it was a fan translation so I wasn't expecting mandarin actually xD) , then, without closing the program, just tried to load the corean one to see the difference , and here's the code:
java.lang.NullPointerException
at nitro.NitroFS.organizeTree(NitroFS.java:136)
at nitro.NitroFS.loadROM(NitroFS.java:113)
at nitro.NitroFS.<init>(NitroFS.java:29)
at gui.MainWindow$1.widgetSelected(MainWindow.java:171)
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at gui.AppLauncher.main(AppLauncher.java:15)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
funny that on the Chinese translation, looked like this the text :
깔0x023c0x0236뉴씸0x03ad얜눙뎡,
잼쇔0x0263덩0x031c0x0236덟깔얜떪마졉0x0d8e
(posting this just for curiosity :B lol)
 
Last edited:

JackHack96

Intrepid Hacker
121
Posts
11
Years
hey man! great work so far! :D it really will help me A LOT with the text translation since it keep more organizated than getting everything in one file with "the new poketext" XD (it also usefull actually, not taking out his merit) better yet, the accentuation works!! .
Only a thing I think I would ask to add if possible is a way to extract the banks to edit somewhere else, and then insert again, would be usefull to send to other peoples help or if i'm not in home , can use a computer but not get the program, stuff like that XD
And again, thank you!
Edit: reporting a error just because the program asked me to lololol
what I did was just opening an Chinese translation hack (just wanted to explore :o (funny that the text opens in corean with some "unidentified code, it was a fan translation so I wasn't expecting mandarin actually xD) , then, without closing the program, just tried to load the corean one to see the difference , and here's the code:

funny that on the Chinese translation, looked like this the text :
깔0x023c0x0236뉴씸0x03ad얜눙뎡,
잼쇔0x0263덩0x031c0x0236덟깔얜떪마졉0x0d8e
(posting this just for curiosity :B lol)

Yeah thanks for the report! I actually know this bug, it's because my program currently doesn't support very well korean roms, it support them partially. When I develop it and test it I usually load English roms, because they have the maximum priority. Then sometime, to search for critical bugs, I load all european roms (Italian, Spanish, French and German). After that, but separately, I test it with Japanese roms. So my program usually can correctly handle all except korean ones, which I still have to find and test (I don't want to do it now -_- )

Ah and given that I simply cannot understand a single character of Japanese/Chinese/Korean or whatever language which doesn't use Latin characters, I can "test" them but I don't know if they are correct {:3} ). In fact when I'll release the first beta, I would appreciate if some Japanese/Korean users could tell me (in English please :D ) if there's something wrong.

As for chinese, I don't know... From the text you've uploaded, it seems that the text engine (which is based on thenewpoketext) cannot handle it. Well, I think it's normal. As far as I know Nintendo didn't translate any Pokémon roms in Chinese. And maybe (I don't know) chinese users for translating the rom have changed game's fonts, for inserting chinese characters, which aren't natively available.
But this is only my hypothesis, who knows? :D
 

JackHack96

Intrepid Hacker
121
Posts
11
Years
Here is the new alpha release, which contains all the recent new added features. It has taken a lot of time to implement these stuff from myself, so I hope it will be useful.
In the new release there are:
-A lot of bug fixes (every time you add a new feature, you add new bugs, that's a law :( )
-The first working implementation of the map editor, with export/import options
-A totally new permissions editor
-A buildings editor
-Some optimizations...

PLEASE NOTE THAT THIS ALPHA HAS SOME MEMORY-LEAKING BUGS!!! I'm investigating the bug (for example when you edit buildings), sometimes the program wants nearly 1.5GB of ram o_O !

My development PC has 8GB, so I can handle it, but less powerful PCs could have some problems! Anyway tell me everything you find strange :)

Here is the link (I uploaded it on MediaFire):
http://www.mediafire.com/download/rrr59h82y4u7um0/DS_PokeHack_Studio_%28x86_64%29.zip
 

Splash

But nothing happened.
658
Posts
14
Years
Here is the new alpha release, which contains all the recent new added features. It has taken a lot of time to implement these stuff from myself, so I hope it will be useful.
In the new release there are:
-A lot of bug fixes (every time you add a new feature, you add new bugs, that's a law :( )
-The first working implementation of the map editor, with export/import options
-A totally new permissions editor
-A buildings editor
-Some optimizations...

PLEASE NOTE THAT THIS ALPHA HAS SOME MEMORY-LEAKING BUGS!!! I'm investigating the bug (for example when you edit buildings), sometimes the program wants nearly 1.5GB of ram o_O !

My development PC has 8GB, so I can handle it, but less powerful PCs could have some problems! Anyway tell me everything you find strange :)

Here is the link (I uploaded it on MediaFire):
http://www.mediafire.com/download/rrr59h82y4u7um0/DS_PokeHack_Studio_(x86_64).zip
Wow nice update! I hope you fix the memory leak.
 

Sliter

Gaijin Trainer
74
Posts
10
Years
Yeah thanks for the report! I actually know this bug, it's because my program currently doesn't support very well korean roms, it support them partially. When I develop it and test it I usually load English roms, because they have the maximum priority. Then sometime, to search for critical bugs, I load all european roms (Italian, Spanish, French and German). After that, but separately, I test it with Japanese roms. So my program usually can correctly handle all except korean ones, which I still have to find and test (I don't want to do it now -_- )

Ah and given that I simply cannot understand a single character of Japanese/Chinese/Korean or whatever language which doesn't use Latin characters, I can "test" them but I don't know if they are correct {:3} ). In fact when I'll release the first beta, I would appreciate if some Japanese/Korean users could tell me (in English please :D ) if there's something wrong.

As for chinese, I don't know... From the text you've uploaded, it seems that the text engine (which is based on thenewpoketext) cannot handle it. Well, I think it's normal. As far as I know Nintendo didn't translate any Pokémon roms in Chinese. And maybe (I don't know) chinese users for translating the rom have changed game's fonts, for inserting chinese characters, which aren't natively available.
But this is only my hypothesis, who knows? :D
I See XD I also understand nothing about Chinese or Korean, I'm just curious to see how they do stuff XD

I was curious and just looking how they did to add the Chinese characters to the rom, it was edited from the japanese one (still have the japanese header) and also the Japanese characters and English/Latin still there! (the text entry was the same of japanese game btw, maybe because was and older version of the rom but I can't find newer :B lol) so they had an way to add it and I have no idea which was lolol just speculating things since I have all characters I need for my translation to portuguese XD

I can test but as I told I don't know much haha XD

Btw, know any way I could add characters to the text entry? I would like to add baiscally everything that have ´ ` ^ ~ above (lol) and ç, I looked the spanish and french roms to thinking to "stole" from then but haven't everything I needed :v I was even thinking abou making it up the japanese tetx entry because have more tabs :B (katakana, hiragana "abc" and symbols, wile western have only lower case, upper case and symbols, I could add lower, high , accentuation and let the symbols :B lol not sure if is a good idea since has free space there ... anyway I have no idea how to do ayway XD)
(sorry for going kinda off xD)

PLEASE NOTE THAT THIS ALPHA HAS SOME MEMORY-LEAKING BUGS!!! I'm investigating the bug (for example when you edit buildings), sometimes the program wants nearly 1.5GB of ram o_O !
]
this aren't going to explode my 4gb one, are it? :v /runs/
Yeah I will give it a look, looks awesome O3O great work!

oh , about what I asked of text exporting/importing is possible? ówo sorry if I'm bothering with this, but just asking, not demanding XD
 

JackHack96

Intrepid Hacker
121
Posts
11
Years
I See XD I also understand nothing about Chinese or Korean, I'm just curious to see how they do stuff XD

I was curious and just looking how they did to add the Chinese characters to the rom, it was edited from the japanese one (still have the japanese header) and also the Japanese characters and English/Latin still there! (the text entry was the same of japanese game btw, maybe because was and older version of the rom but I can't find newer :B lol) so they had an way to add it and I have no idea which was lolol just speculating things since I have all characters I need for my translation to portuguese XD

I can test but as I told I don't know much haha XD

Btw, know any way I could add characters to the text entry? I would like to add baiscally everything that have ´ ` ^ ~ above (lol) and ç, I looked the spanish and french roms to thinking to "stole" from then but haven't everything I needed :v I was even thinking abou making it up the japanese tetx entry because have more tabs :B (katakana, hiragana "abc" and symbols, wile western have only lower case, upper case and symbols, I could add lower, high , accentuation and let the symbols :B lol not sure if is a good idea since has free space there ... anyway I have no idea how to do ayway XD)
(sorry for going kinda off xD)


this aren't going to explode my 4gb one, are it? :v /runs/
Yeah I will give it a look, looks awesome O3O great work!

oh , about what I asked of text exporting/importing is possible? ówo sorry if I'm bothering with this, but just asking, not demanding XD

Hahaha no don't worry :)
I tried make it running on my oldest PC at home, which has 1GB of RAM and a Pentium 4 CPU, and it simply close itself...
(I wish one day I could make it running on that PC ;D )

On Ubuntu I noticed it works much better, RAM consumption stays around 700mb (which is too much for me, I want to reduce it without having to slow down the performance..)
Spiky's DS Map Editor eats much less RAM, but it continuosly load and delete files from the hard disk, so while this could be a very fast and easy way for reducing memory consumption and make the program usable on legacy PCs, it slow down the performance a lot... And if you have an SSD like me, you know it's not healthy to continuosly load, save and delete files...

The fast performance of DS PokeHack Studio is due to RAM stored files (the ROM is loaded from disk and splitted in the RAM, then the various edits are made directly in the RAM, and when the user click Save from the File menu, the edited files are taken from RAM and written to the disk). Currently I'm not an expert of memory management, so I'm looking forward to start programming at university, and I would like to test all of my skills with DS PokeHack Studio :D

As for the import/export option: Yes, I could do it ;)
 

Sliter

Gaijin Trainer
74
Posts
10
Years
my knowledge about this is very low but it's very interesting to know how it works xD
I want to try more ubuntu here but I had problem making it find my monitor :v work with others I tested but I can use only this one and with a lot of research and tries I gave up ... until I get anew one, of course hhaha
it's also nice that PokeHack Studio can work on different systems, this is due being in jar, right ? o3o
 

JackHack96

Intrepid Hacker
121
Posts
11
Years
my knowledge about this is very low but it's very interesting to know how it works xD
I want to try more ubuntu here but I had problem making it find my monitor :v work with others I tested but I can use only this one and with a lot of research and tries I gave up ... until I get anew one, of course hhaha
it's also nice that PokeHack Studio can work on different systems, this is due being in jar, right ? o3o
Not exactly, in fact the first public beta will be an exe for windows :D
DS PokeHack Studio can run on different systems because it has been written in java (but with some work also with c/c++ you can port an app). I chose Java because of the portability :)
 

Alucard_I

A Forest Of Thorns Shall Be My Grave
18
Posts
9
Years
I should start working with that thing. Say, is it usable for, in example, Platinum editing? Can I edit maps, characters, tiles, pokemon? :o
 

JackHack96

Intrepid Hacker
121
Posts
11
Years
I should start working with that thing. Say, is it usable for, in example, Platinum editing? Can I edit maps, characters, tiles, pokemon? :o

Well, the answer is "NES" XD

Currently, as you may notice from the title bar of the app, it's in alpha state. This means it's unstable and it can very easily make errors. So it's still not "production-ready". These alpha releases are intended for testers and for reporting critical bugs. This will change a little when I'll release the first beta, which means "this is bit more stable than alphas, but don't expect a bug-free app".

P.S.: Just now I've find a critical bug on importing maps >_>

If you want to test it feel free to do it, it only helps. But if you wish to do some serious hacking you have to still use SDSME ;)

Hope I explained myself XD
 

JackHack96

Intrepid Hacker
121
Posts
11
Years
Hi! I want to share a little update.
These days have been quite busy, so I didn't make a lot. And thursday I'll start university, so I'll have much less time to develop...
But don't worry, maybe you'll have to wait months for an update, but I don't want to totally stop development.

Anyway, here is the changelog of this alpha:
-Corrected some critical bugs in the map editor, now it correctly import/export map files
-Code refactor and reduced the use of third-party libs
-Sharply reduced memory consumption, due to the major code refactoring and the re-written map header editor
-As said I've written a totally new header editor, which is a lot faster than the previous one and uses much less memory
-Begin to work on scripts
-Other minor things

I've start studying scripts, so my next work will be to implement a decent script editor ;)
As I said though it'll take some time now that I have to study at university :)

Here is the link:
http://www.mediafire.com/download/rrr59h82y4u7um0/DS_PokeHack_Studio_%28x86_64%29.zip

See you soon ;)
JackHack96
 
Back
Top