Page 4 of 34

Re: Granny .GR2 Reader plugin for Noesis

Posted: Mon Sep 07, 2020 6:22 pm
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

Re: Granny .GR2 Reader plugin for Noesis

Posted: Tue Sep 08, 2020 5:03 am
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?

Re: Granny .GR2 Reader plugin for Noesis

Posted: Tue Sep 08, 2020 5:48 am
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

Re: Granny .GR2 Reader plugin for Noesis

Posted: Tue Sep 08, 2020 11:09 pm
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.

Re: Granny .GR2 Reader plugin for Noesis

Posted: Wed Sep 09, 2020 12:19 am
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.

Re: Granny .GR2 Reader plugin for Noesis

Posted: Wed Sep 09, 2020 12:14 pm
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

Re: Granny .GR2 Reader plugin for Noesis

Posted: Fri Oct 02, 2020 11:50 am
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!

Re: Granny .GR2 Reader plugin for Noesis

Posted: Fri Oct 02, 2020 3:33 pm
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.

Re: Granny .GR2 Reader plugin for Noesis

Posted: Fri Oct 02, 2020 5:55 pm
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 :)

Re: Granny .GR2 Reader plugin for Noesis

Posted: Fri Oct 02, 2020 7:58 pm
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

Re: Granny .GR2 Reader plugin for Noesis

Posted: Fri Oct 02, 2020 10:48 pm
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!

Re: Granny .GR2 Reader plugin for Noesis

Posted: Mon Oct 05, 2020 3:39 pm
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.

Re: Granny .GR2 Reader plugin for Noesis

Posted: Mon Oct 05, 2020 6:50 pm
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

Re: Granny .GR2 Reader plugin for Noesis

Posted: Mon Oct 05, 2020 6:53 pm
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?

Re: Granny .GR2 Reader plugin for Noesis

Posted: Mon Oct 05, 2020 11:08 pm
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