Important information: this site is currently scheduled to go offline indefinitely by end of the year.

PS3 Hyperdimension Neptunia MKII

Post questions about game models here, or help out others!
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: PS3 Hyperdimension Neptunia MKII

Post by MrAdults »

Morton storage allows for faster direct lookups from fragment/UV space...particularly to avoid page breaks in blocked/compressed pixel formats.

Your library? A dedicated texture extractor? Noesis! :)
RandomTBush
ultra-veteran
ultra-veteran
Posts: 355
Joined: Thu May 13, 2010 4:11 pm
Has thanked: 56 times
Been thanked: 294 times

Re: PS3 Hyperdimension Neptunia MKII

Post by RandomTBush »

Haha, just goes to show how much I know about texture formats, compressions, etc. (pretty much nothing). Still, it was a fairly good experience with figuring out how to decode it by myself. :)

And how coincidential, too -- that was the exact same texture that I had just finished decrypting.
howfie
double-veteran
double-veteran
Posts: 929
Joined: Fri Jul 08, 2011 12:06 pm
Location: Torrance, CA
Has thanked: 10 times
Been thanked: 274 times

Re: PS3 Hyperdimension Neptunia MKII

Post by howfie »

MrAdults wrote:Morton storage allows for faster direct lookups from fragment/UV space...particularly to avoid page breaks in blocked/compressed pixel formats.

Your library? A dedicated texture extractor? Noesis! :)
Ha ha ha well regardless whether I use Python or C++ it's roughly the same amount of code. I would rather use something that I can program faster at (C++) than something I am slower at (Python). Not the most efficient loop but no big deal lol. That, and if I used Noesis, I would not understand how it works, I would just copy and paste your code. Coding it myself... I now know ;-).

Code: Select all

    // read DDS data
    ifile.seekg(head02);
    boost::shared_array<char> data(new char[head15]);
    boost::shared_array<char> copy(new char[head15]);
    ifile.read(data.get(), head15);

    for(uint32 r = 0; r < head10; r++) {
        for(uint32 c = 0; c < head09; c++) {
            uint32 morton = array_to_morton(r, c);
            uint32 copy_position = 4*r*head09 + 4*c;
            uint32 data_position = 4*morton;
            copy[copy_position++] = data[data_position + 0]; // b
            copy[copy_position++] = data[data_position + 1]; // g
            copy[copy_position++] = data[data_position + 2]; // r
            copy[copy_position++] = data[data_position + 3]; // a
           }
       }
howfie
double-veteran
double-veteran
Posts: 929
Joined: Fri Jul 08, 2011 12:06 pm
Location: Torrance, CA
Has thanked: 10 times
Been thanked: 274 times

Re: PS3 Hyperdimension Neptunia MKII

Post by howfie »

Batch texture ripper for USA version. Thanks to Rich for help with the descrambling. Will rework models later. Place exe in game root directory and run.

Note: There were 10 different texture types, some of them are upside down.

Code: Select all

 const unsigned int T_TYPE0 = 0x54494413; // uncompressed
 const unsigned int T_TYPE1 = 0x54494481; // DXT1/DXT5
 const unsigned int T_TYPE2 = 0x54494483; // uncompressed
 const unsigned int T_TYPE3 = 0x54494487; // uncompressed (all scrambled)
 const unsigned int T_TYPE4 = 0x54494489; // DXT1/DXT5 (all upside down)
 const unsigned int T_TYPE5 = 0x54494491; // DXT1/DXT5 (toon_shadow)
 const unsigned int T_TYPE6 = 0x54494493; // uncompressed
 const unsigned int T_TYPE7 = 0x54494497; // uncompressed (all scrambled)
 const unsigned int T_TYPE8 = 0x54494499; // DXT1/DXT5 (mipmapped)
 const unsigned int T_TYPE9 = 0x5449449B; // uncompressed (all upside down)
You do not have the required permissions to view the files attached to this post.
Last edited by howfie on Tue Mar 27, 2012 10:25 am, edited 1 time in total.
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: PS3 Hyperdimension Neptunia MKII

Post by MrAdults »

Actually, Noesis supports (and was initially targeted at) native plugins written in C/C++. It exposes all of the same methods through the native API as well. You could just start a native plugin project and throw everything into that, then have access to the entire Noesis framework for all of your future work, making maintenance of your assorted tools a lot easier too as you don't have to go back and compile 50 different things every time you change/fix something in your core library.

Unless, of course, you just like to do everything yourself for the sake of having it all be "yours", in which case, don't forget to thank me in the credits. ;)
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: PS3 Hyperdimension Neptunia MKII

Post by MrAdults »

Also, I was joking by hinting that few things are truly our own, and so it's silly to allow ego to keep us from making decisions that can lead to making our work better/easier/more maintainable. You didn't really have to go back and edit in a thanks for me. But thanks. :)
leyme
advanced
Posts: 50
Joined: Wed Apr 04, 2012 10:17 am
Has thanked: 10 times
Been thanked: 3 times

Re: PS3 Hyperdimension Neptunia MKII

Post by leyme »

Image
Super noob question:
Where is the download link for visual studio 2010 CRT?
I think the cause of convert failure is visual studio 2010 CRT.
Is this SW free or charged?
User avatar
dj082502
mega-veteran
mega-veteran
Posts: 202
Joined: Wed Oct 13, 2010 3:47 am
Has thanked: 37 times
Been thanked: 21 times

Re: PS3 Hyperdimension Neptunia MKII

Post by dj082502 »

Here's a sample of Mugen Souls .
delete
The same format was used by the developer.
Last edited by dj082502 on Fri Apr 13, 2012 6:37 pm, edited 1 time in total.
leyme
advanced
Posts: 50
Joined: Wed Apr 04, 2012 10:17 am
Has thanked: 10 times
Been thanked: 3 times

Re: PS3 Hyperdimension Neptunia MKII

Post by leyme »

dj082502 wrote:Here's a sample of Mugen Souls .
http://www.mediafire.com/?qveipo7havcbv6a
The same format was used by the developer.
This isn't convert, either.
I think I need some help.
howfie
double-veteran
double-veteran
Posts: 929
Joined: Fri Jul 08, 2011 12:06 pm
Location: Torrance, CA
Has thanked: 10 times
Been thanked: 274 times

Re: PS3 Hyperdimension Neptunia MKII

Post by howfie »

looks like it worked. I see ls files.nothing wrong with crt. as for mugen souls it will have to wait for a while.
User avatar
dj082502
mega-veteran
mega-veteran
Posts: 202
Joined: Wed Oct 13, 2010 3:47 am
Has thanked: 37 times
Been thanked: 21 times

Re: PS3 Hyperdimension Neptunia MKII

Post by dj082502 »

leyme wrote:
dj082502 wrote:Here's a sample of Mugen Souls .
http://www.mediafire.com/?qveipo7havcbv6a
The same format was used by the developer.
This isn't convert, either.
I think I need some help.
Image
Your folder is no problem.
Please read the directions carefully.
Directions:
0.) must have visual studio 2010 CRT installed (or you must recompile with another compiler yourself).
1.) copy ism2 files and texture directory with TID files in it to somewhere safe.
2.) place exe inside where ism2 files are. Do not run this program with any ism2 files from the motion directory, animation is not supported.
3.) run exe.
4.) load generated LS files in lightwave.
5.) convert to whatever format you like.
6.) manually apply textures (program will convert TID files to DDS).
leyme
advanced
Posts: 50
Joined: Wed Apr 04, 2012 10:17 am
Has thanked: 10 times
Been thanked: 3 times

Re: PS3 Hyperdimension Neptunia MKII

Post by leyme »

O.K. I'll be more careful.
Thank you, all
leyme
advanced
Posts: 50
Joined: Wed Apr 04, 2012 10:17 am
Has thanked: 10 times
Been thanked: 3 times

Re: PS3 Hyperdimension Neptunia MKII

Post by leyme »

Image
I have a noob question.
Where is Select LScript.
howfie
double-veteran
double-veteran
Posts: 929
Joined: Fri Jul 08, 2011 12:06 pm
Location: Torrance, CA
Has thanked: 10 times
Been thanked: 274 times

Re: PS3 Hyperdimension Neptunia MKII

Post by howfie »

Skip to part where model is loaded.
http://www.youtube.com/watch?v=o4ITTCF83w4
User avatar
dj082502
mega-veteran
mega-veteran
Posts: 202
Joined: Wed Oct 13, 2010 3:47 am
Has thanked: 37 times
Been thanked: 21 times

Re: PS3 Hyperdimension Neptunia MKII

Post by dj082502 »

leyme wrote: I have a noob question.
Where is Select LScript.
Image
Try this.
As you can see in the picture above.
First, click on a Utilities.
Then click the Script button to open..
Post Reply