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!
Important information: this site is currently scheduled to go offline indefinitely by end of the year.
PS3 Hyperdimension Neptunia MKII
-
- 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
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.
And how coincidential, too -- that was the exact same texture that I had just finished decrypting.
-
- 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
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 .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!
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
}
}
-
- 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
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.
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.
-
- Moderator
- Posts: 1007
- Joined: Mon Mar 23, 2009 2:57 am
- Has thanked: 44 times
- Been thanked: 505 times
Re: PS3 Hyperdimension Neptunia MKII
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.
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.
-
- Moderator
- Posts: 1007
- Joined: Mon Mar 23, 2009 2:57 am
- Has thanked: 44 times
- Been thanked: 505 times
Re: PS3 Hyperdimension Neptunia MKII
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.
-
- advanced
- Posts: 50
- Joined: Wed Apr 04, 2012 10:17 am
- Has thanked: 10 times
- Been thanked: 3 times
Re: PS3 Hyperdimension Neptunia MKII
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?
-
- advanced
- Posts: 50
- Joined: Wed Apr 04, 2012 10:17 am
- Has thanked: 10 times
- Been thanked: 3 times
Re: PS3 Hyperdimension Neptunia MKII
This isn't convert, either.dj082502 wrote:Here's a sample of Mugen Souls .
http://www.mediafire.com/?qveipo7havcbv6a
The same format was used by the developer.
I think I need some help.
- dj082502
- 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
leyme wrote:This isn't convert, either.dj082502 wrote:Here's a sample of Mugen Souls .
http://www.mediafire.com/?qveipo7havcbv6a
The same format was used by the developer.
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).
-
- 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
Skip to part where model is loaded.
http://www.youtube.com/watch?v=o4ITTCF83w4
http://www.youtube.com/watch?v=o4ITTCF83w4
- dj082502
- 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
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..