Texture Adventure


Jeanne d'Arc Map Today, I found myself pondering some of the loose ends from my GMO exploration. I'm not really sure what brought it back up to the surface, but I decided to go ahead and take a break from the main project and have at it.

Before I go on, you can get the new version of mesh2rdm (v3.0) here. This version mainly includes, as you might guess from the subject matter of the post, GMO-related texture fixes and additions. The biggest change is probably that all of the DXT-compressed GIM's can now be properly viewed.

The first thing I did was look at the texture data from those Gitaroo Man Lives GMO's. I found that they had their texture data in the form of BMP's and TGA's, and some of them still reference external texture names and don't even have actual texture data in them (like some games with GMO files). I wonder if the BMP/TGA files are not even actually used in the game, and the external reference name is always used (since I can't imagine why anyone would want to decode BMP/TGA files on a PSP). But anyway, support for those textures is in mesh2rdm now. I only came across one RLE bitmap, and I was too lazy to write RLE decoding support, since I've not come across any game but Gitaroo Man Lives that even uses the bmp format...or any non-GIM format for that matter.

The second thing I did was look at those some of the corrupted GIM textures. Upon further inspection, they were in GIM format, but with a pixelFormat of 8. Which, as far as I know, is undocumented in any existing GIM format guide. But it does correspond to the PSP hardware image format value for DXT1 S3TC. And sure enough, that's what it was, but with the look-up table and color bits swapped (again as per the PSP's hardware specs). So, support for those textures is in mesh2rdm now as well.

This mesh2rdm version probably has a bunch of other fixes and additions over the previous one, but I don't recall what they are. I haven't been bothering to keep up a change log on it anymore. So, have fun exploring it yourself.

Update: Updated mesh2rdm from v2.7 to v2.81. This version fixes an alignment issue with the new GMO DXT1 support, adds a model centering option to the preview mode (just click the middle mouse button), and fixes some non-power-of-two GIM issues. When centering, lighting will also be enabled on GMO meshes if they have valid normal data, because I was getting annoyed by things being solid white when texture data was unavailable.

Update 2: I updated again from v2.81 to v2.91. This version adds a bunch of things. Including automatic file association prompting (just double-click mesh2rdm.exe), skin maps, GIM previewing, and some more GMO/GIM texture fixes. Additionally, a new version of GitMO (v1.1) is out here. It failsafes the GMO-finding a bit more, and adds options to find/extract GIM's (and convert them to PNG on the fly).

Update 3: I should probably just make another post one of these times. Anyway, I just updated from 2.91 to 3.0. This version adds and fixes a bunch more things, not the least of which would be GMO animations (push F5 in preview mode on a model with anims).

Share:


Comments

12 comments in total.
Post a comment

#12
IP: 69.72.86.243

ukurereh

December 25, 2009 at 3:43 am (CST)
Whoops, I forgot to check back. Merry Christmas. In case I didn't make it clear before, the forum/community thing I had in mind was... er, is a Gitaroo Man fansite, so I don't know if you'd be interested or not. I hesitate to even mention it since it's still in its early planning stages (but at least not as early as before :P). Since I've never done anything like this before, I figure it's a way to learn more than I'm going to get from my web development classes. In fact, given my tendency to over-research and over-think all things, I've already learned a lot about web page layout, accessibility, etc. It'd even better if I could quit over-thinking and actually make the damn site.

Oh, if you want to play another music game that uses directions, try Osu! Tatakae! Ouendan or Elite Beat Agents. They're by iNiS, the same folks who brought us Gitaroo Man.
+50
Rate comment #12:



#11
IP: 68.0.165.94

Rich Whitehouse

December 14, 2009 at 7:35 pm (CST)
Yeah, I never played the PS2 version either, so I have no idea what was changed. I figured it was a straight port. The control mechanics were pretty interesting, I've never played another music game that utilized directionality like that. Though I haven't played a lot, I'm going by old Harmonix stuff (before they made Guitar Hero and got bought out) and the usual standard-fare cloned-by-the-thousands button-tappers.

Yeah, deciphering random file formats has become sort of a happy pastime for me over the last couple years. I've been a low-level tech programmer in the videogame industry for something like 5-10 years now though (I started out doing high-level game logic, but transitioned to tech pretty early on). So my experience and knowing the good/common practices in engineering (particularly in rendering) allow me to make pretty accurate guesses on what I'm going to be searching for before I actually see it.

By the way, did you ever get anywhere in setting up your own forum/community site, or are you still working on it?
+56
Rate comment #11:



#10
IP: 69.72.86.158

ukurereh

December 14, 2009 at 2:00 pm (CST)
Yea, it's a short game by a small team. (And since it's a cult-classic port/remake, that unfortunately might be the closest it ever gets to a sequel...) I guess there's not much more besides the Duet stages, but this game still has a special place in my heart since it introduced me to file hacking and Coil (and also led me to Carlos Santana :D).

And animations already? Yikes man, you are quick. You've been doing this kind of thing for a long time, I take it?
+56
Rate comment #10:



#9
IP: 68.0.165.94

Rich Whitehouse

December 7, 2009 at 8:51 pm (CST)
I use a bunch of IDE's depending on my platform target, but MSVC is definitely my favorite environment out of everything I've ever used. I use it for all of my Windows-based apps, mesh2rdm included. I have a local SVN server set up for version control, which is also handy because I tend to work from lots of different laptops and machines in my house. But yeah, if you're looking to get into programming in C/C++, MSVC's IDE can't really do you wrong. I'm still using 2005, since I haven't been bothered to upgrade, but I hear 2008 fixes quite a few things.

I did play Gitaroo Man Lives, and your advice is sadly too late. :) I played through the whole thing in one sitting. It was pretty fun, but I was rather disappointed by the overall lack of content and/or extra stuff to do once the main story is finished. Especially because the difficulty levels seem to only adjust the tolerance for failure, rather than making the songs themselves more complex or challenging. Oh well. Maybe there will be a sequel or something.

By the way, I went back and got GMO animations working today, you can check them out with mesh2rdm v3.0. The info you provided back in Qhimm's was kind of off the mark, but you were right about the way the various chunks (0x80b3 and 0x000c) are linked together regarding animation data and bones. The actual data seems to mainly consist of translations, quaternions, matrices (Gitaroo Man Lives is the only game I've seen using them), bone scales, and some other things that don't seem to make much difference (since I can't figure out what they do). The data can be in either 16-bit floating point (1 sign, 5 exponent, 10 mantissa) or 32-bit floating point format, and the format is dictated by a header value in the 0x000c chunk.

If you ever need any specifics out of me (for making your own tool or whatever), just let me know and I can write something up.
+53
Rate comment #9:



#8
IP: 72.20.223.184

ukurereh (or Ukurere)

December 7, 2009 at 12:38 am (CST)
Out of more curiosity, what did you code mesh2rdm in? I figure it's one of the MS Visual C++s, but what kind of programming environment? I don't do much programming, and I'm looking for ideas of what's out there...

On another note, have you started playing Gitaroo Man Lives yet? I'll spare you my raving fan praise, but I will advise that if you start playing it and enjoying it, try not to play through it in a single afternoon (since it's such a short game).
+56
Rate comment #8:



#7
IP: 125.162.86.137

FFLover

December 3, 2009 at 6:12 am (CST)
It might be off topic , but how do you actually rip AVALANCHE textures (The .rda files) ?
+59
Rate comment #7:



#6
IP: 188.134.36.205

lex3a

December 2, 2009 at 4:26 pm (CST)
Can you add *.tim and *.tm2 formats support? (If it's not hard.)
I found a bag. These *.GIM's doesn't correctly viewed http://www.sendspace.com/file/4dvs6x .It's from "Crush"
Anyway, thanks for your tool.
+58
Rate comment #6:



#5
IP: 83.60.5.114

CiRiuS

November 30, 2009 at 7:10 pm (CST)
Thanks, 2.91 works.
I hope, someday you fix the garbled textures of the Crisis core static meshes ^^. I am doing a game with irrlicht based on that models.
+63
Rate comment #5:



#4
IP: 68.0.165.94

Rich Whitehouse

November 29, 2009 at 8:31 pm (CST)
My bad, I never would have guessed those were Longhorn-only functions. Especially because there are existing functions on Win2K that do exactly the same thing. Sometimes Microsoft can be a little terrible like that. But anyway, grab the v2.91 update, and the problem will be fixed.
+65
Rate comment #4:



#3
IP: 88.5.72.15

CiRiuS

November 29, 2009 at 1:41 pm (CST)
Hello rich whitehouse.
First you are awesome, you are doing a very good work.
Second the new version of mesh2rdm give me a error.

"The procedure entry point RegSetKeyValueA could not be located in the dynamic link library ADVAPI32.dll."

Im using Windows XP.

Any help?
+5
Rate comment #3:



Comment Pages:
[1] 2 ... Next


Post a comment

Name:


Enter Read image:


Comment:





247942 page hits since February 11, 2009.

Site design and contents (c) 2009 Rich Whitehouse. Except those contents which happen to be images or screenshots containing shit that is (c) someone/something else entirely. That shit isn't really mine. Fair use though! FAIR USE!
All works on this web site are the result of my own personal efforts, and are not in any way supported by any given company. You alone are responsible for any damages which you may incur as a result of this web site or files related to this web site.