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!
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 »

Version 1.2 released:
Script is in first post
viewtopic.php?f=16&t=22277&start=0

Changes:
1. "Under the hood" - re wrote hundreds lines of code - code is now much cleaner, and allows for much easier integration of new features.
2. Added option to load Paired skeleton file, you can now load mesh from one file and skeleton from another file.
3. Added option to merge entire Scene/File to one model - this means that all models/skeletons/and animation will load at once, this will allow to overcome issue that noesis cant load to many Models at once,(Double Dragon Neon samples are now working).
4. Added option to choose which animation track to load for files containing multiple animations.
5. Rigid meshes are now bound correctly to bones (no more static eyes while body is moving or gun staying static while hand is moving).
6. Fixed Orientation issue that was affecting a few skeletons (only Winter X-Games: Snocross to be honest).
7. Meshes are now separated by polygroups - this was added due to some games assigning UV by polygroups instead of using multiple UV channels - now uv for these models will load correctly.
8. some bug fixes i introduced in my previous update.

*As far as all my testing has Gone:
Meshes - works 100% - not including UV of static ESO meshes
Skeletons - works 100%
Animations - 98 samples out of about 100 tested worked correctly, i would love to get some help with those that dont as i have no clue how to fix them

All Features Usage:
SKELETON_LOAD = 0 #for loading paired skeleton file change value to 1
ANIMATION_MODE = 2 #switch between Animation modes, 1 - load paired animation file, 2 - load animation from main file, 0 - disable animation loading
MERGE_SCENE = 1 #if set = 1 means merge is active, 0 merge is disabled, should be used only with animation mode 2, will merge all models + skeleton + animation in chosen file to 1 model/Scene
ANIMATION_TRACK = 1 #for files with multiple animations - choose animation to load, 1 - will load first animation, 2 second animation etc... , in case you choose a animation number that dosent exist it will default to first animation

Known issues:
1. those 2 animation that dont work correctly.
2. Files that were created with different orientation for example mesh with Z as up vector and skeleton file with X as up vector (apply's to animation as well) dont load correctly, i have tried and so far failed to get to work correctly - this is seen with bear model from Winter X-Games: Snocross.

new script is posted in first post - all older version are deleted,
if no bugs are found by you guys i will consider this release the finale one until BG3 is released - at that time i will try to add auto-texturing support for the game (still hoping its in .GR2 format :D)

Please report any bugs you might encounter

some pics to illustrate new features:
Using old script you would get chair and granny on separate scenes and eyes and jewelry were static while rest of body was moving.
Now with merge feature turned on:
Image

user control over Animation track :
first picked track 1 -
Image
then picked track 3 -
Image
Allanoon
veteran
Posts: 91
Joined: Sat Apr 14, 2012 9:00 pm
Has thanked: 116 times
Been thanked: 25 times

Re: Granny .GR2 Reader plugin for Noesis

Post by Allanoon »

Ehi Jayn i checked some DDN and ESO files this week.
Double Dragon seems to work nicely, i only had an issue with 1 animation not loading for a model, throwing this error

Image

But sincerly w/e~

For ESO i'm slowing "checking" all the animations when i've time. I've incurred in 2 errors from time to time.
Note i'm loading the anims on the skeletons i've linked in my previous post so they're not the correct ones.

Image
Could this error be caused by the completely wrong skeleton of a model? As from the debug log i see that it immediately throws it.

The other one is this, from the debug log i see that it's loading the tracks but it throws the error at a certain point.
........
Track.Name mshBn_hairSide_R
len 97
i at lease make it here
Track.Name mshBn_index01_L
len 97
i at lease make it here
Track.Name mshBn_index01_R
len 97
i at lease make it here
Track.Name mshBn_index02_L
len 97
i at lease make it here
Track.Name mshBn_index02_R
len 97
i at lease make it here
Track.Name mshBn_index03_L
len 97
i at lease make it here
Track.Name mshBn_index03_R
len 97
i at lease make it here
Track.Name mshBn_loinCloth01_B
len 97
i at lease make it here
Track.Name mshBn_loinCloth01_F
len 97
i at lease make it here
Track.Name mshBn_loinCloth02_B
len 97
i at lease make it here
Track.Name mshBn_loinCloth02_F
len 97
i at lease make it here
Track.Name mshBn_mouthRoot
len 97
i at lease make it here
bad translation
Traceback (most recent call last):
File "C:\Users\LoremIpsum\Downloads\noesisv4417\plugins\python\fmt_GR2reader.py", line 3261, in noepyLoadModel
anims,frameRate = animation(model,bones, ANIMATION_MODE, None,frameRate)
File "C:\Users\LoremIpsum\Downloads\noesisv4417\plugins\python\fmt_GR2reader.py", line 3153, in animation
Dummy.PositionCurve.Controls , Dummy.PositionCurve.Knots = GetTranslation(Track.PositionCurve)
TypeError: 'NoneType' object is not iterable
My doubts are that i'm getting these errors 'cause i'm using the wrong skeletons... but others "near" animations works fine and they kinda seems to be in a row...

Here are a few granny2 eso files.
https://www.mediafire.com/file/cdyhh108 ... rs.7z/file
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 »

My doubts are that i'm getting these errors 'cause i'm using the wrong skeletons... but others "near" animations works fine and they kinda seems to be in a row...
well the problem was with my code i missed an if condition, it was an animation type that is so rarely used i didn't have enough references.
anyway all ESO anim are working now,

can you please upload Double Dragon file that is giving you that error? i want my script to be as good as possible.
thnaks
Allanoon
veteran
Posts: 91
Joined: Sat Apr 14, 2012 9:00 pm
Has thanked: 116 times
Been thanked: 25 times

Re: Granny .GR2 Reader plugin for Noesis

Post by Allanoon »

Sure, i couldn't find other tracks giving the error from the ones i checked :\
The one is n° 34.
https://www.mediafire.com/file/pocvkjkc ... DN.7z/file
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 »

I wish all bugs were this easy to fix 8)

Version 1.2.1 updated in main post - ESO and DDN are working correctly now
WollieWoltaz
beginner
Posts: 39
Joined: Wed Feb 08, 2017 8:44 pm
Been thanked: 6 times

Re: Granny .GR2 Reader plugin for Noesis

Post by WollieWoltaz »

@jayn23
Hey, great plug-in it works verry well for the games i've tested so far.
I do have a game called AoE Online and also uses .gr2 format + .gr2.precomp files. Not sure what those are exactly.
I tried opening the .gr2 file but Noesis throws out an error:
https://imgur.com/xmKBjwK
Not sure what it means...
Are you willing to take a look at the files?
https://mega.nz/folder/iIlXzJYL#9NSg8CNlKMSBpC7Dq3gxyA

Regards,
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, great plug-in it works verry well for the games i've tested so far.
I do have a game called AoE Online and also uses .gr2 format + .gr2.precomp files. Not sure what those are exactly.
I tried opening the .gr2 file but Noesis throws out an error:
Hi,

error says its not finding your granny2.dll file needed for compressed .gr2 files.
i am guessing other games you tested had uncompressed gr2 files, make sure to put the file in you main noesis folder.
by the way can you update which games you have tested?

I did find that one of you files dosent load since it uses bytes instead of floats for vertices - never seen this before, i will update my code to support this in the future

heres your gurd tower by the way
Image
WollieWoltaz
beginner
Posts: 39
Joined: Wed Feb 08, 2017 8:44 pm
Been thanked: 6 times

Re: Granny .GR2 Reader plugin for Noesis

Post by WollieWoltaz »

Hey,
Yes only the death_anim.gr2 loads into Noesis, all the other ones gives me an error.
But like you said it uses bytes instead of floats for vertices. I'm already glad you know what the issue was and that you will include it in your script.
If i find more games with .gr2 format, i'll update it here!

Thanks,
KingJuls
advanced
Posts: 59
Joined: Wed Feb 28, 2018 8:29 am
Has thanked: 9 times
Been thanked: 3 times

Re: Granny .GR2 Reader plugin for Noesis

Post by KingJuls »

Can anyone post a Link for EOS Client?

Thx!
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 »

Thank you for this great Noesis script, really nice work.
I tried on the game called Cars from 2006 and models/animations work nicely.

Also wanted to try other games, unfortunately there's no unpacker/extractor for them so its a dead end.
DarthKiller454
ultra-n00b
Posts: 1
Joined: Tue Oct 25, 2016 3:49 am

Re: Granny .GR2 Reader plugin for Noesis

Post by DarthKiller454 »

So I got around testing this little piece with CivCity Rome and Stronghold 2 and Legends.
Everything works with meshes, rigging and they have proper re-exportable results allowing me to edit the core-meshes.

I however ran into an issue when I tried to export a .gr2 attack animation cause I wanted to reduce it's frames so the animation is played faster.
(Yeah, weird that the animation length is tied to the framecount but it seems it is)

The "core" animation still existed and was perfectly previewable in Noesis. I also assured that the animation itself wasn't weirdly broken and with some .gr2 exporter for good ol' 3dsmax7 I tested the resulting export but the result was always corrupted to some point.

SMD: the 6th frame aswell as some distortion starting from like the 18th frame caused the animation to weirdly mirror itself aswell as do some unintended backflip fallover feetkick while swinging a sword.

FBX: All bones seem to not be connected to each-other, After exporting is as smd (from where I expect it to work better). I can see that the core animation itself is there but the root-bone is not being exported with and thus the very "motion" is missing

DAE. This one looked promising.. Everything looked fine in blender except it was upside down. Getting it upwards caused some similar issues with that backflipping to reappear again. Once exported I noticed how for some reason no bone was moving except the very root bip01 one. Weird.

I have attached the files I used and maybe you can explain what went wrong.
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 »

DAE. This one looked promising.. Everything looked fine in blender except it was upside down. Getting it upwards caused some similar issues with that backflipping to reappear again. Once exported I noticed how for some reason no bone was moving except the very root bip01 one. Weird.
Hi,

my script only handles the import of gr2 data and does nothing for the export that is done by the built in plugins of noesis, but i did do some experimenting. on 3DS MAX since that is my goto 3D modeling software ,
importing with DAE gave me that same backflip you described, i then downloaded the openCollada plugin and used it to import the DAE instead of the built in plugin and it worked perfectly, but wiredly enough after exporing and reimporting an edited version animation was all wrong...
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
Post Reply