Page 3 of 5
Re: PS3 Hyperdimension Neptunia MKII
Posted: Tue Mar 27, 2012 8:38 am
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!

Re: PS3 Hyperdimension Neptunia MKII
Posted: Tue Mar 27, 2012 9:23 am
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.
Re: PS3 Hyperdimension Neptunia MKII
Posted: Tue Mar 27, 2012 9:58 am
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
}
}
Re: PS3 Hyperdimension Neptunia MKII
Posted: Tue Mar 27, 2012 10:10 am
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)
Re: PS3 Hyperdimension Neptunia MKII
Posted: Tue Mar 27, 2012 10:18 am
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.

Re: PS3 Hyperdimension Neptunia MKII
Posted: Tue Mar 27, 2012 10:30 am
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.

Re: PS3 Hyperdimension Neptunia MKII
Posted: Fri Apr 06, 2012 4:05 pm
by leyme

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?
Re: PS3 Hyperdimension Neptunia MKII
Posted: Sat Apr 07, 2012 8:52 am
by dj082502
Here's a sample of Mugen Souls .
delete
The same format was used by the developer.
Re: PS3 Hyperdimension Neptunia MKII
Posted: Sat Apr 07, 2012 9:49 am
by leyme
This isn't convert, either.
I think I need some help.
Re: PS3 Hyperdimension Neptunia MKII
Posted: Sat Apr 07, 2012 10:09 am
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.
Re: PS3 Hyperdimension Neptunia MKII
Posted: Sat Apr 07, 2012 10:19 am
by dj082502
leyme wrote:
This isn't convert, either.
I think I need some help.

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).
Re: PS3 Hyperdimension Neptunia MKII
Posted: Sat Apr 07, 2012 10:58 am
by leyme
O.K. I'll be more careful.
Thank you, all
Re: PS3 Hyperdimension Neptunia MKII
Posted: Sat Apr 07, 2012 6:53 pm
by leyme

I have a noob question.
Where is Select LScript.
Re: PS3 Hyperdimension Neptunia MKII
Posted: Sat Apr 07, 2012 7:17 pm
by howfie
Re: PS3 Hyperdimension Neptunia MKII
Posted: Tue Apr 10, 2012 11:40 am
by dj082502
leyme wrote:
I have a noob question.
Where is Select LScript.

Try this.
As you can see in the picture above.
First, click on a Utilities.
Then click the Script button to open..