Author Topic: It now exists! geo file .NET  (Read 4625 times)

bearpounder

  • Minion
  • **
  • Posts: 22
It now exists! geo file .NET
« on: March 09, 2017, 03:53:02 AM »
For the past 3 weeks I have been racking my brain and hacking away at the keyboard. I now have a much better understanding of the GEO file format, and have written a .NET library which will open the specified geo file, load the models into memory, and allows the option to export said models to an OBJ format.

You can expect me to release it into the wild in a few weeks. I still have a couple of things to figure out ,I need to clean it up a little and make it more efficient. I also need to learn more about how texture coordinates work. when I assigned the image for the "City Hall Plaque" as is, at first it was mapped backwards. I tried swapping the U and V coordinates and that just made it sideways. (in this screen shot I just took the picture file and mirrored it so it would show up right)


Anyway, this is all eventually going to be part of yet another pigg viewer I am going to be working on with my goal being the abilit to preview as many file types as possible. Now if anyone is coding in .NET you can access the geo models.

While I am cleaning things up I would appreciate any input on any "features" anyone would want from this. For the moment the class allows you to load a file either by file name or passing it a byte array with the geo file data in it, and you can select a model and export it.

Some things to figure out / to do: (unless someone else already has and wants to drop a hint:)

1 - Where are the texture files at? The geo file will reference a texture name but I am as yet to figure out where it is supposed to be looking for said texture.
2 - The OBJ file format is very portable, however I am thinking about adding an FBX and DAE as well.




Here is a screen shot of City hall in blender with texture's properly (sort of) mapped.

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: It now exists! geo file .NET
« Reply #1 on: March 09, 2017, 04:32:07 AM »
Excellent! Glad to see somebody taking up the challenge and making real headway on it.

DAE (Collada) is a commonly requested format, but implementations can vary in how robust they are so it might be a moving target.

If you want to do textures right, you need to load tricks.bin. Some very old models use the names of texture files directly, but the vast majority use a trick, which is the equivalent of a material definition. It contains information about base texture, color mask, normal map, shinyness map, etc.

So at the very minimum you'll need a Parse6 binary reader and the schema for tricks; I can help with the latter easily enough and maybe some pointers for the former.

FloatingFatMan

  • An Offal
  • Elite Boss
  • *****
  • Posts: 1,178
  • Kheldian's Forever!
Re: It now exists! geo file .NET
« Reply #2 on: March 09, 2017, 07:19:23 AM »
Awesome work there bearpounder! There will be plenty of people interested in this!

Lycantropus

  • Elite Boss
  • *****
  • Posts: 255
Re: It now exists! geo file .NET
« Reply #3 on: March 09, 2017, 08:39:14 AM »
I can honestly say I have *no* idea what any of that means, other than more people are figuring out how the City works, and may be able to bring more, or do more, for the City in the future! :)

Either way, good news! :)

Lyc~

bearpounder

  • Minion
  • **
  • Posts: 22
Re: It now exists! geo file .NET
« Reply #4 on: March 09, 2017, 05:58:12 PM »
Excellent! Glad to see somebody taking up the challenge and making real headway on it.

DAE (Collada) is a commonly requested format, but implementations can vary in how robust they are so it might be a moving target.

If you want to do textures right, you need to load tricks.bin. Some very old models use the names of texture files directly, but the vast majority use a trick, which is the equivalent of a material definition. It contains information about base texture, color mask, normal map, shinyness map, etc.

So at the very minimum you'll need a Parse6 binary reader and the schema for tricks; I can help with the latter easily enough and maybe some pointers for the former.


I would greatly appreciate that! I sent you a PM.

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: It now exists! geo file .NET
« Reply #5 on: March 10, 2017, 03:54:16 PM »
Sent you some info that will hopefully be helpful.

themamboman

  • Lieutenant
  • ***
  • Posts: 56
Re: It now exists! geo file .NET
« Reply #6 on: March 10, 2017, 07:10:28 PM »
So, the geo format has been figured out to the point of making viewers and converters.

Big question:  Have the bone file format been figured out? I think this may be where the quaternion data is located.  Would be cool to have something to convert basic movements into something more portable and universal, like bvh files.

bearpounder

  • Minion
  • **
  • Posts: 22
Re: It now exists! geo file .NET
« Reply #7 on: March 10, 2017, 07:58:46 PM »
So, the geo format has been figured out to the point of making viewers and converters.

Big question:  Have the bone file format been figured out? I think this may be where the quaternion data is located.  Would be cool to have something to convert basic movements into something more portable and universal, like bvh files.

That's on the list of things to figure out.

Manga

  • Elite Boss
  • *****
  • Posts: 334
Re: It now exists! geo file .NET
« Reply #8 on: March 10, 2017, 08:30:25 PM »

bearpounder - I sent you a PM about this converter.  I may have a fun and interesting use for it.