Jump to content

Pokemon Mystery Dungeon 2 - Psy_commando's Tools and research notes


Recommended Posts

I try, but it says: Warning: Some of the files needed to compile this ROM are not present in this directory! You cannot pack from this directory!

And I used the same folder of the project...

The directory structure of Sky Editor is much different than just a DS ROM.

Since we're testing ppmd_kaoutil, then using dsbuff,

1. Unpack a ROM.

2. Replace kaomado.kao using the one you repacked using ppmd_kaoutil. I think kaomado.kao is in the Data/Font directory.

3. Repack the ROM.

4. Run the output using DeSmuMe.

If the portraits show up after that, then ppmd_kaoutil is working fine, and it's Sky Editor's fault.

If the portraits don't show up after that, then ppmd_kaoutil failed.

In either case, I'd like you to upload the patcher (named "{Name of Project} 1.0.0-alpha1.zip", in the project directory). I may need more after that, but I'll need time to make a way to easily and legally upload all of it. Let's worry about that after we know for sure what's failing.

Link to comment
Share on other sites

So, this means... Kaoutil failed? Yep, you betted. The portraits still didn't show up. Why is yours working, but not mine?

And I want to attach the files, but this site won't let me upload them

In order to know for sure if ppmd_kaoutil.exe is failing (and if it is, hopefully why), I've made a little test.

1. Download the attached zip. Then use Right-Click -> Properties -> General -> Security -> Unblock.

2. Copy kaomado.kao and paste it into the same directory as "Test Kao.bat".

3. Double-click "Test Kao.bat".

4. When it's finished, please attach the following files it made: difference.sav, step1.txt, step2.txt, and step3.txt.

This will test ppmd_kaoutil.exe using the images I converted using gimp, running on your computer, and allow us to see the console output of ppmd_kaoutil.exe and xdelta3. I'm using xdelta3 in this test because it's illegal to distribute copyrighted material, and sharing kaomado.kao is dancing on the line of what's OK and what's not.

@psy_commando , if you see DryBones157's reply before I do, you can use this to quickly apply the patch to verify the output.

xdelta3.exe -d -s kaomado.kao difference.sav output.kao

KaoTest.zip

KaoTest.zip

Link to comment
Share on other sites

In order to know for sure if ppmd_kaoutil.exe is failing (and if it is, hopefully why), I've made a little test.

1. Download the attached zip. Then use Right-Click -> Properties -> General -> Security -> Unblock.

2. Copy kaomado.kao and paste it into the same directory as "Test Kao.bat".

3. Double-click "Test Kao.bat".

4. When it's finished, please attach the following files it made: difference.sav, step1.txt, step2.txt, and step3.txt.

This will test ppmd_kaoutil.exe using the images I converted using gimp, running on your computer, and allow us to see the console output of ppmd_kaoutil.exe and xdelta3. I'm using xdelta3 in this test because it's illegal to distribute copyrighted material, and sharing kaomado.kao is dancing on the line of what's OK and what's not.

@psy_commando , if you see DryBones157's reply before I do, you can use this to quickly apply the patch to verify the output.

xdelta3.exe -d -s kaomado.kao difference.sav output.kao

I ran the test, his kaomado file is identical to mine.

And the kaomado I made on my side works perfectly when using a cheat code to get buneary on the team:

https://dl.dropboxusercontent.com/u/13343993/Screenshot%202015-11-15%2021.53.36.png

@psy_commando:

Are you sure you're loading the correct rom in Desmule? And are you sure rebuilding the rom actually worked ?

Link to comment
Share on other sites

As promised, here are the files:[ATTACH]12749[/ATTACH]

But, have you checked your Kaoutil last time? Because the one you sent me won't open.

Looks like ppmd_kaoutil.exe is working fine. Its output is exactly like mine.

Although I did have an epiphany. The inserted sprites work fine... but there's no way to ever get to them in-game, without also editing the personality test, or using cheat codes, which I didn't think to give instructions on. You don't have to, but if you want to, you can browse to [Project]r\Mods\[starter Mod]\RawFiles\overlay, then copy overlay_0013.bin to the overlay folder dsbuff made.

Can you upload the patcher that Sky Editor made? It's in the project directory, and should be named "{Name of Project} 1.0.0-alpha1.zip". It will let me see what Sky Editor did wrong. I'd also like to know if it was built using the indexed pngs I uploaded a few posts ago.

[Edit] Ninja'd by psy_commando.

Link to comment
Share on other sites

I ran the test, his kaomado file is identical to mine.

And the kaomado I made on my side works perfectly when using a cheat code to get buneary on the team:

https://dl.dropboxusercontent.com/u/13343993/Screenshot%202015-11-15%2021.53.36.png

@DryBones157:

Are you sure you're loading the correct rom in Desmule? And are you sure rebuilding the rom actually worked ?

Afraid unsure, since I only have one ROM. I didn't rebuilt the Rom, if you want to know.

Link to comment
Share on other sites

Can you upload the patcher that Sky Editor made? It should be called "{Name of Project} 1.0.0-alpha1.zip", in the project directory you chose when using Sky Editor. It will give us more insight as to what's going on.

I tried to send them to you before, but the site doesn't let me do that.

Link to comment
Share on other sites

@psy_commando

I'm not really sure what's going on here. I patched the ROM, and the portrait doesn't show up in-game. If I extract the resulting kaomado.kao using kaoutil, I get an unfriendly crash at 40% when parsing the file.

Screenshot, with VS: http://i.imgur.com/9DpqDYR.png?1

I tried on US and EU roms. Same thing.

In-game, the game won't progress past this: http://i.imgur.com/VTZcgKY.png?1

The only thing I can think of is that maybe there was a slightly corrupted original source file, or kaoutil doesn't like unpacking kaomado files with a bad image format.

Any thoughts?

Link to comment
Share on other sites

@psy_commando

I'm not really sure what's going on here. I patched the ROM, and the portrait doesn't show up in-game. If I extract the resulting kaomado.kao using kaoutil, I get an unfriendly crash at 40% when parsing the file.

Screenshot, with VS: http://i.imgur.com/9DpqDYR.png?1

I tried on US and EU roms. Same thing.

In-game, the game won't progress past this: http://i.imgur.com/VTZcgKY.png?1

The only thing I can think of is that maybe there was a slightly corrupted original source file, or kaoutil doesn't like unpacking kaomado files with a bad image format.

Any thoughts?

Just like that I can only think of a few things that would crash with an access violation due to the content of the file.

1. The file's pointer table got corrupted.

2. The file isn't the expected length.

3. There's an error in the compressed data of the images.

4. The palette before an image is missing in the file, but the header of the AT4PX is handled as being a palette.

Though, the in-game image you've shown is similar to what I got when I corrupted the kaomado file manually while researching it. So, idk, it looks to me like some kind of corruption is going on here.. The game just aborts running the decompressor/image loading code and just displays the empty buffer.

So whatever is keeping kaoutil from running is also keeping the game from doing its job..

I could see about generating more verbose output.. But the only place I clearly remember not wrapping in exception check is the decompressor/compressor, because it got incredibly slow with all those security checks, and corruptions is usually detected before it gets there..

In the meantime, here's the pdb file for kaoutil, maybe it'll reveal a bit more details?

https://dl.dropboxusercontent.com/u/13343993/my_pmd_utilities/ppmd_kaoutil_pdb.7z

Link to comment
Share on other sites

Ok, I got a full verbose version out :

https://dl.dropboxusercontent.com/u/13343993/my_pmd_utilities/ppmd_kaoutil_0.42_FIXED_VERBOSE.7z

Just add -v to the command line, and it will spit out a lot of verbose. And it will take at least 20x as long as it usually does to run. I recommend pipping the output to a file to make it a bit faster! I included the PDB too. Its not intended for release though. At least not for now.

Link to comment
Share on other sites

We're not sure yet what's going on. I'm waiting to hear back from evan first. It might be something weird about the language/version of your rom, but its a bit too early to say..

I've attached the verbose output. Failure at the same place, with the same error message. VS said the source file from Github #dev wasn't the same one used for this build, so I didn't look much further into it.

Real life is happening again, so I probably won't have much time to do any work on this until Friday. Wait, Pokemon Super Mystery Dungeon comes out this Friday... make that Saturday :P.

At this point we're probably better off just distributing the kaomado.kao file, or the files used to make it. After all, this site's already distributing sprites from the mainstream games, so it's probably fine*. Just look in the events section, or even the [noparse][sprite]{id}[/sprite][/noparse] BB code. I'll let psy_commando decide what should be sent for now. I won't request anything until the weekend.

[sprite]261[/sprite] [sprite]253[/sprite] [shinysprite]251[/shinysprite]

[sprite]040[/sprite] [sprite]441[/sprite]

[sprite]428[/sprite] [sprite]282[/sprite] [sprite]308[/sprite]

(Yes, I'm having fun with this)

*If it's not, feel free to PM me about it.

VerboseOutput.zip

VerboseOutput.zip

Link to comment
Share on other sites

I've attached the verbose output. Failure at the same place, with the same error message. VS said the source file from Github #dev wasn't the same one used for this build, so I didn't look much further into it.

I doubt its that different though, maybe a single line of differences? :/

But if you got the sources, you can easily build it and test it with a up-to-date pdb. Just use the ppmdutilities_dependencies project to build the libraries, then just build kaoutil and set whatever command line argument in the project settings under debugging.

I just realized that, the output might be not printed at the right moment because the compiler might have optimized things out.. Ugh..

Anyways, at least I can say that, it either crashes during decompression, or while trying to access whatever got decompressed. So it seems to hint strongly at corruption..

Are you sure something weird isn't happening when the patcher patches/rebuilds the game? Because I can't get it to happen by just using kaoutil over the repacked kaomado.kao..

Real life is happening again, so I probably won't have much time to do any work on this until Friday. Wait, Pokemon Super Mystery Dungeon comes out this Friday... make that Saturday :P.

Yeah, I'll probably be busy friday too xD My copy actually just shipped today ! Lets just hope it won't force upgrade my firmware though.. -_-

( Speaking of that, I've tried emailing a few small used game stores for cubic ninja, but they all seems to say "not available" :/ )

At this point we're probably better off just distributing the kaomado.kao file, or the files used to make it. After all, this site's already distributing sprites from the mainstream games, so it's probably fine*. Just look in the events section, or even the [noparse][sprite]{id}[/sprite][/noparse] BB code. I'll let psy_commando decide what should be sent for now. I won't request anything until the weekend.

[sprite]261[/sprite] [sprite]253[/sprite] [shinysprite]251[/shinysprite]

[sprite]040[/sprite] [sprite]441[/sprite]

[sprite]428[/sprite] [sprite]282[/sprite] [sprite]308[/sprite]

(Yes, I'm having fun with this)

Well, if you want, you can also just sent it to me over skype.

( And I saw that pooch xD )

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...