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

Granny .GR2 Reader plugin for Noesis

Post questions about game models here, or help out others!
User avatar
05SpeedMaster
veteran
Posts: 127
Joined: Mon Feb 10, 2020 9:24 pm
Has thanked: 18 times
Been thanked: 41 times

Re: Granny .GR2 Reader plugin for Noesis

Post by 05SpeedMaster »

jayn23 wrote: Wed Jun 17, 2020 7:36 pm

i took a look at you "clumbsy way" unfortunately i cant help since textures in file are stored in compressed .bik format which i have no clue how to read.
If you dump the texture as a bik file?
RAD has free tools to convert them to many different formats.

VERY nice work you've done here Mate!
:up: :up: :up:

Just looking at your script I see brilliance!
Image
User avatar
kingfisher13
veteran
Posts: 83
Joined: Mon Jul 26, 2010 7:32 pm
Has thanked: 8 times
Been thanked: 3 times

Re: Granny .GR2 Reader plugin for Noesis

Post by kingfisher13 »

This tool looks very promising! One question tho. I KNOW I've played some games that use this engine, but I don't know which ones, and I know that I wanted models from those games. Does anyone have a decent list of the games that use the Granny Engine?
jayn23
mega-veteran
mega-veteran
Posts: 250
Joined: Sun Jul 17, 2011 9:30 pm
Has thanked: 61 times
Been thanked: 241 times

Re: Granny .GR2 Reader plugin for Noesis

Post by jayn23 »

If you dump the texture as a bik file?
RAD has free tools to convert them to many different formats.

VERY nice work you've done here Mate!
:up: :up: :up:

Just looking at your script I see brilliance!
Thanks a lot mate means a lot coming from a gr2 master :D

since i have you here, i wonder if i posted those few animations that dont work correctly maybe you can give me an idea where the problem is
and how to fix them.

Regarding the textures
Do you mean i could extract the compressed texture data, write it to a file and use a conversion tool..interesting but wouldn't i need to manually add a specific header?
or do you mean the tool can extract directly from the gr2 file?
I actually have a bik source files from a game that had all it source leaked years a ago, but i never tried writing a script for it was just to lazy [roll]

This tool looks very promising! One question tho. I KNOW I've played some games that use this engine, but I don't know which ones, and I know that I wanted models from those games. Does anyone have a decent list of the games that use the Granny Engine?
they have on the official site a partial list of games using the granny format
http://www.radgametools.com/granny/customers.html#games
User avatar
05SpeedMaster
veteran
Posts: 127
Joined: Mon Feb 10, 2020 9:24 pm
Has thanked: 18 times
Been thanked: 41 times

Re: Granny .GR2 Reader plugin for Noesis

Post by 05SpeedMaster »

jayn23 wrote: Tue Sep 08, 2020 5:48 am

Thanks a lot mate means a lot coming from a gr2 master :D

since i have you here, i wonder if i posted those few animations that dont work correctly maybe you can give me an idea where the problem is
and how to fix them.
You got me on the animation stuff so I do believe your a GR2 Master yourself!
:largegrin:

Yeah. I can check those other files and see if I spot something.
User avatar
05SpeedMaster
veteran
Posts: 127
Joined: Mon Feb 10, 2020 9:24 pm
Has thanked: 18 times
Been thanked: 41 times

Re: Granny .GR2 Reader plugin for Noesis

Post by 05SpeedMaster »

For some info on GR2 files here's my 010 header information.

// Define structures for Magic Block, header and Section Indexes in Gr2 files

typedef struct { // GR2fh
quad GR2Magic[2]<hidden=true>;
UINT HeaderSize<comment="Size of all information before the start of Section 0">;
LONG Unknown_info[3]<hidden=true,format=hex>;
} GR2FILEHEADER;

typedef struct { // GR2ih
UINT File_format_revision <format=decimal>;
UINT File_Size_in_bytes;
UINT CRC <format=hex,comment="CRC of file (from begin of section array up to EoF). Algoritm CRC-32">;
UINT SectionArrayOffset <bgcolor=0xffffb0,fgcolor=cRed,comment="Offset to section array">;
UINT SectionArrayCount <comment="Total number of sections">;
UINT Unknowns[4]<hidden=true,format=hex>;
UINT Tag<format=hex>;
UINT Unknown[8]<hidden=true,format=hex>;
} GR2INFOHEADER;

typedef struct { // Sectionsinfo
UINT Format<comment="Compression Format">;
UINT Pointer<format=hex,bgcolor=cLtGreen,comment="Start of section data">;
UINT True_Block_Size_in_file<comment="Compressed Data size">;
UINT Block_Size_In_file<comment="Actual amount of Data uncompressed">;
UINT Internal_Alignment<comment="offset">;
UINT Unknown[2]<bgcolor=cLtYellow,hidden=true>;
UINT Another_Pointer<format=hex,bgcolor=cLtGreen,comment="Will explain at a later date">;
UINT WTH[3]<bgcolor=cLtYellow,hidden=true>;
} SECTIONS;

/*Sections as used in SH5 GR2 files.
NOt all GR2 files follow this layout.

0 - MainSection
1 - RigidVertexSection
2 - RigidIndexSection
3 - DeformableVertexSection
4 - DeformableIndexSection
5 - TextureSection
6 - DiscardableSection
7 - UnloadedSection */


Now I have MUCH more information in other files used in 010 if you need that.
jayn23
mega-veteran
mega-veteran
Posts: 250
Joined: Sun Jul 17, 2011 9:30 pm
Has thanked: 61 times
Been thanked: 241 times

Re: Granny .GR2 Reader plugin for Noesis

Post by jayn23 »

Yeah. I can check those other files and see if I spot something.
Thanks a lot for taking a look at it :D , i really tried everything but couldn't get these to work, and obviously they work perfectly in the granny viewer...

So here is a sample of gr2 file where animation isn't working correctly:
i try to show in the gif below, at frame 0 skeleton looks correct - so i am loading the skeleton/frame 0 correctly.
you will notice that both files have the same issue where 1 side seems to function correctly while the other is all messed up

Image

Image

v_Wuestenspinne_run_bh.rar
You do not have the required permissions to view the files attached to this post.
CBack
ultra-n00b
Posts: 7
Joined: Sun Aug 31, 2014 3:22 am
Has thanked: 3 times

Re: Granny .GR2 Reader plugin for Noesis

Post by CBack »

Hey jayn, thanks a lot for this amazing plugin and for your hard work on it!

I have a request regarding The Elder Scrolls Online GR2 animations. Could you, please, add support for exporting it to FBX at some point?

Currently when I try to view them in Noesis, it says that the file cannot be viewed but offers to try and export it but, unfortunately, the export doesn't work as no matter which export options I choose, nothing happens and the file just doesn't get created.

I attach a couple of ESO animation files and a skeleton that seems to work well with them in Granny Viewer in case you don't have access to the game or don't want to unpack the files yourself.

Let me know if you need anything else. Thanks again!
You do not have the required permissions to view the files attached to this post.
jayn23
mega-veteran
mega-veteran
Posts: 250
Joined: Sun Jul 17, 2011 9:30 pm
Has thanked: 61 times
Been thanked: 241 times

Re: Granny .GR2 Reader plugin for Noesis

Post by jayn23 »

Hey jayn, thanks a lot for this amazing plugin and for your hard work on it!

I have a request regarding The Elder Scrolls Online GR2 animations. Could you, please, add support for exporting it to FBX at some point?

Currently when I try to view them in Noesis, it says that the file cannot be viewed but offers to try and export it but, unfortunately, the export doesn't work as no matter which export options I choose, nothing happens and the file just doesn't get created.

I attach a couple of ESO animation files and a skeleton that seems to work well with them in Granny Viewer in case you don't have access to the game or don't want to unpack the files yourself.

Let me know if you need anything else. Thanks again!
Hi CBack
I took a look at your samples and both seem to work fine, make sure your have animation mode set to "1" and try loading it.
also make sure you are using the latest version of the script 1.2.1.
CBack
ultra-n00b
Posts: 7
Joined: Sun Aug 31, 2014 3:22 am
Has thanked: 3 times

Re: Granny .GR2 Reader plugin for Noesis

Post by CBack »

jayn23 wrote: Fri Oct 02, 2020 3:33 pm
Hey jayn, thanks a lot for this amazing plugin and for your hard work on it!

I have a request regarding The Elder Scrolls Online GR2 animations. Could you, please, add support for exporting it to FBX at some point?

Currently when I try to view them in Noesis, it says that the file cannot be viewed but offers to try and export it but, unfortunately, the export doesn't work as no matter which export options I choose, nothing happens and the file just doesn't get created.

I attach a couple of ESO animation files and a skeleton that seems to work well with them in Granny Viewer in case you don't have access to the game or don't want to unpack the files yourself.

Let me know if you need anything else. Thanks again!
Hi CBack
I took a look at your samples and both seem to work fine, make sure your have animation mode set to "1" and try loading it.
also make sure you are using the latest version of the script 1.2.1.
How do I set the animation mode to "1"? I can't seem to figure it out on my own and good ol Google doesn't help either :)
mono24
double-veteran
double-veteran
Posts: 840
Joined: Sat Nov 06, 2010 12:27 am
Has thanked: 435 times
Been thanked: 235 times

Re: Granny .GR2 Reader plugin for Noesis

Post by mono24 »

CBack wrote: Fri Oct 02, 2020 5:55 pm How do I set the animation mode to "1"? I can't seem to figure it out on my own and good ol Google doesn't help either :)
Notepad/Notepad++/Python etc and edit line below.
Capture.PNG
You do not have the required permissions to view the files attached to this post.
CBack
ultra-n00b
Posts: 7
Joined: Sun Aug 31, 2014 3:22 am
Has thanked: 3 times

Re: Granny .GR2 Reader plugin for Noesis

Post by CBack »

mono24 wrote: Fri Oct 02, 2020 7:58 pm
CBack wrote: Fri Oct 02, 2020 5:55 pm How do I set the animation mode to "1"? I can't seem to figure it out on my own and good ol Google doesn't help either :)
Notepad/Notepad++/Python etc and edit line below.
Yes, that did the trick. Thank you!
CBack
ultra-n00b
Posts: 7
Joined: Sun Aug 31, 2014 3:22 am
Has thanked: 3 times

Re: Granny .GR2 Reader plugin for Noesis

Post by CBack »

Hey jayn, I have one more question if you don't mind.

Would it somehow be possible to load skeleton and animation data from GR2 but load meshes from another format, say OBJ?

The reason I'm asking is because I'd like to apply animations to humanoid characters in the Elder Scrolls Online but the problem with them is that they are generated in-game from many separate pieces so it's not really possible to manually replicate them outside the game. I can get their full models with Ninja Ripper in OBJ format but they lack bones, of course.

If this is something that you can look into, I attach a basic humanoid mesh, a skeleton that visually seems to fit it and a basic idle animation that seems to work great with that skeleton.
You do not have the required permissions to view the files attached to this post.
jayn23
mega-veteran
mega-veteran
Posts: 250
Joined: Sun Jul 17, 2011 9:30 pm
Has thanked: 61 times
Been thanked: 241 times

Re: Granny .GR2 Reader plugin for Noesis

Post by jayn23 »

Would it somehow be possible to load skeleton and animation data from GR2 but load meshes from another format, say OBJ?
unfortunately using ninja ripper wouldn't preserve the weights data needed to bind skeleton to the mesh.
i know its a big hassle but your going to have to load all of the meshes separately using my script to preserve skin data, or if you know you way around 3ds max/blender you could easily skin the obj mesh to skeleton.

sorry i couldn't be of more help
CBack
ultra-n00b
Posts: 7
Joined: Sun Aug 31, 2014 3:22 am
Has thanked: 3 times

Re: Granny .GR2 Reader plugin for Noesis

Post by CBack »

jayn23 wrote: Mon Oct 05, 2020 6:50 pm
Would it somehow be possible to load skeleton and animation data from GR2 but load meshes from another format, say OBJ?
unfortunately using ninja ripper wouldn't preserve the weights data needed to bind skeleton to the mesh.
i know its a big hassle but your going to have to load all of the meshes separately using my script to preserve skin data, or if you know you way around 3ds max/blender you could easily skin the obj mesh to skeleton.

sorry i couldn't be of more help
No worries, thanks for the explanation!

In that case, a different question - is it possible to load several GR2 meshes in one scene in Noesis using your script?
jayn23
mega-veteran
mega-veteran
Posts: 250
Joined: Sun Jul 17, 2011 9:30 pm
Has thanked: 61 times
Been thanked: 241 times

Re: Granny .GR2 Reader plugin for Noesis

Post by jayn23 »

Well not with my script as is, but It would be possible to add a feature like that to my script,

I currently have some personnel issues preventing me form working on the script, but i will try to add it in the future
Post Reply