Grifting through the files (aka Datamining)


Recommended Posts

3 hours ago, watermelen671 said:

Also here's the boss/character slides:

Ah sweet, thanks! By the way I've been meaning to ask, could I have some Don't Starve animation/tex files? I got the ktools source code off github and while I don't totally understand what's going on there I'd like to at least try and figure out how it reads the files. It might give me some kind of starting point to work with. (I found an ONI tool too but I already got some animation files for that)

Anyhow, here's the nearly the rest of the slides, but assembled without the glowy effects because I think we're going to need to wait for the animation files for those:

Drone Master Jeol:

Spoiler

boss_drone_master_slide_zip_atlas0.thumb.png.32a50d18bd38912fd8b7e5148fe3b19a.pngjeol.thumb.png.dcc1021fbf9106a5587449a9fca3ff88.pngjeoldrone.png.d6d04bdb6f90d2172ef33ad9ce5b7bc1.png

Sparky:

Spoiler

boss_sparky_slide_zip_atlas0.thumb.png.6f952c5956d3844afcefff27169b36eb.pngsparky.thumb.png.db0bfd8aba6da81f902d83d2c552fce8.png

Momma Shroog, plus Shrooglets:

Spoiler

boss_shroog_slide_zip_atlas0.thumb.png.36202f4767760ecea3aa5d257badd0ab.pngmommashroog.thumb.png.d3e4f159bec6ef2d6019a986f7f9b20a.pngshrooglet1.thumb.png.507a6e27e81a68eaf2aa3f401acbce24.pngshrooglet2.png.1b8c4abcd9ae07ecc7d8dbc581f8ff8d.png

Only one left from what I can tell is Oolo, but uh

Capture.PNG.b1c871551bbcae95afc06b0593118b22.PNG

I don't really wanna touch that

Edit: y'know what here have Oolo herself but that Oshnu is gonna have to wait

Spoiler

oolo.thumb.png.6faf1fb2d6790971b21307763667c14d.png

 

Link to comment
Share on other sites

Hadn't noticed this thread til now, but I actually wrote basic converters (tex to png & bin files to scml) for Griftlands back when the game first launched on Steam.  If someone from Klei can clarify whether it's fine to post converters for the game, I'd be willing to share them.

Unlike other Klei games (like Don't Starve Together), Griftland animations are a tad different in that most characters have their individual sections (head, body, hands, etc.) split up into separate files.  So, for most characters, multiple anim.bin and build.bin files would need to be merged (this is what the game engine does) to construct a full character; otherwise, you'll end up with zombie-like animation that lack certain body parts.  

The anim.bin files also differ in that most consist of: (a) animations that rapidly cycle through the frames for a compiled body part (left eye, right eye, etc.) of a section (head, body, etc.), and (b) one or more "complete" animations for that section, but these reference multiple partial animations from (a).  So, most animations are just a slideshow for all the poses of an individual body part and "complete" animations aren't fully represented in a single Spriter file (see example below).  

For example, if we look at the lrg_shroog_build anim.bin file.  There are 4 animations within this file: character, head_swap, back, and eye.

Spoiler

lrg_shroog_build-character.thumb.gif.5319ed7b982979346858cd4abdeafcd5.gif lrg_shroog_build-head_swap.thumb.gif.6caf2bfb585784ee6bfd7f7434cc4d5d.gif lrg_shroog_build-back.thumb.gif.24f05b2d5ccec922cacbf0ad1ec4a0cc.gif lrg_shroog_build-eye.gif.797751bc8ec79320f527e32b956acc12.gif

As you can probably tell, the "character" animation is incomplete because it actually references partial animations from head_swap, back, and eye. But, unfortunately, this isn't something that Spriter can natively do.  Not to mention that Spriter also doesn't support free-form deformations, so not all animations will be accurately representable.

And, here is a similar incomplete example with the "character" animation from med_sal_build (Sal's body):

Spoiler

med_sal_build-character.thumb.gif.628f03585275e469ce6bb453b48e9cb3.gif 

And a more "completed" version that includes the partial animations from med_sal_build - arm, neck, collar

med_sal_build-character-with-references.thumb.gif.b7f83d94eb2fb7c897de6dfb6b9888b2.gif

Since this is a data-mining thread, here are some additional animations (including boss_oolo_slide that was mentioned in the above posts):

Spoiler

birds_across

bird_across-birds.gif.0b9d15926ec3e00147f4d8e0d3b315ef.gif

boss_oolo_slide

boss_oolo_slide-pre-character.thumb.gif.e0aac4bfcb1356691367adebeefba2a3.gif boss_oolo_slide-idle-character.gif.c3b012470ebbcf00353f5a0d5bbb6a4b.gif boss_oolo_slide-head_swap.gif.da68d4c0de419730d774f85f745f2f09.gif

logo_text_anim

logo_text_anim-fx.gif.2f09e611b5322fac5d58d08ceac24460.gif

lumin_rat

lumin_rat-idle.gif.357e4378079789198fbb6edddc616a21.gif lumin_rat-run.gif.7964ad643e59a41766b0440dac57e8ca.gif lumin_rat-head.gif.900d00b3aeb445900f75db950c6bd804.gif

med_flead_larvae

med_flead_larvae-character.gif.8c84278382ca35e7deedd93581f481c2.gif med_flead_larvae-egg_sac2.gif.b2d5cca502a948f4eaafdbe5f4c61207.gif med_flead_larvae-head.gif.1acc4b9642b1dcb31a1cada88c1414a2.gif

world_campfire

world_campfire.gif.24d467a1047a7339c3455f09e282d707.gif

 


EDIT:  Got clarification from Klei, see this post for the tools.

Link to comment
Share on other sites

22 minutes ago, Instant-Noodles said:
Spoiler

 Hadn't noticed this thread til now, but I actually wrote basic converters (tex to png & bin files to scml) for Griftlands back when the game first launched on Steam.  If someone from Klei can clarify whether it's fine to post converters for the game, I'd be willing to share them.

Unlike other Klei games (like Don't Starve Together), Griftland animations are a tad different in that most characters have their individual sections (head, body, hands, etc.) split up into separate files.  So, for most characters, multiple anim.bin and build.bin files would need to be merged (this is what the game engine does) to construct a full character; otherwise, you'll end up with zombie-like animation that lack certain body parts.  

The anim.bin files also differ in that most consist of: (a) animations that rapidly cycle through the frames for a compiled body part (left eye, right eye, etc.) of a section (head, body, etc.), and (b) one or more "complete" animations for that section, but these reference multiple partial animations from (a).  So, most animations are just a slideshow for all the poses of an individual body part and "complete" animations aren't fully represented in a single Spriter file (see example below).  

For example, if we look at the lrg_shroog_build anim.bin file.  There are 4 animations within this file: character, head_swap, back, and eye.

  Reveal hidden contents

lrg_shroog_build-character.thumb.gif.5319ed7b982979346858cd4abdeafcd5.gif lrg_shroog_build-head_swap.thumb.gif.6caf2bfb585784ee6bfd7f7434cc4d5d.gif lrg_shroog_build-back.thumb.gif.24f05b2d5ccec922cacbf0ad1ec4a0cc.gif lrg_shroog_build-eye.gif.797751bc8ec79320f527e32b956acc12.gif

As you can probably tell, the "character" animation is incomplete because it actually references partial animations from head_swap, back, and eye. But, unfortunately, this isn't something that Spriter can natively do.  Not to mention that Spriter also doesn't support free-form deformations, so not all animations will be accurately representable.

And, here is a similar incomplete example with the "character" animation from med_sal_build (Sal's body):

  Reveal hidden contents

med_sal_build-character.thumb.gif.628f03585275e469ce6bb453b48e9cb3.gif 

And a more "completed" version that includes the partial animations from med_sal_build - arm, neck, collar

med_sal_build-character-with-references.thumb.gif.b7f83d94eb2fb7c897de6dfb6b9888b2.gif

Since this is a data-mining thread, here are some additional animations (including boss_oolo_slide that was mentioned in the above posts):

  Reveal hidden contents

birds_across

bird_across-birds.gif.0b9d15926ec3e00147f4d8e0d3b315ef.gif

boss_oolo_slide

boss_oolo_slide-pre-character.thumb.gif.ffac6d993d2ea594f72dfd957fbadee0.gif boss_oolo_slide-idle-character.gif.4200a72c00f5c1a406b6c65bffa8238f.gif

logo_text_anim

logo_text_anim-fx.gif.2f09e611b5322fac5d58d08ceac24460.gif

lumin_rat

lumin_rat-idle.gif.357e4378079789198fbb6edddc616a21.gif lumin_rat-run.gif.7964ad643e59a41766b0440dac57e8ca.gif lumin_rat-head.gif.900d00b3aeb445900f75db950c6bd804.gif

med_flead_larvae

med_flead_larvae-character.gif.8c84278382ca35e7deedd93581f481c2.gif med_flead_larvae-egg_sac2.gif.b2d5cca502a948f4eaafdbe5f4c61207.gif med_flead_larvae-head.gif.1acc4b9642b1dcb31a1cada88c1414a2.gif

world_campfire

world_campfire.gif.24d467a1047a7339c3455f09e282d707.gif

 

 

 

Holy Hesh you're a hero, thank you

22 minutes ago, Instant-Noodles said:

If someone from Klei can clarify whether it's fine to post converters for the game, I'd be willing to share them.

I've seen the tools used for Don't Starve and ONI animations posted here before so it should be fine, I think. I don't know if I'll ever use them myself but I'm sure it would be appreciated. (I'm mostly curious as to how the files work so I'd love to see how you cracked them open LOL)

Also, I had this downloaded when I was a game ripping newb and I didn't really know what I was doing—anyone heard of Dragonbones? Very similar program, a little newer than Spriter, I think. I wonder if it would be able to handle the different animation files all at once.

Link to comment
Share on other sites

9 hours ago, SpicyNiceCream said:

Bossbit didn't get a pre-battle slide, did it?

If it did, I don't see it anywhere. It's not even defined in the code. (I could just go into a Rook run and check but I don't have the time at the moment lol)

Anyway, new stuff, new stuff!

A preview of the Grifts system (from grift_defs.lua):

Spoiler

-- Grifts are achievement-style milestones that bestow Perk Points when completed.

And here are the current milestones:


"Win 10 Battles"
"Win 50 Battles"
"Win 250 Battles"
"Win 10 Negotiations"
"Win 50 Negotiations"
"Win 250 Negotiations"
"Install 10 Grafts"
"Install 100 Grafts"
"Beat Sparky"
"Beat Jeol"
"Upgrade 5 cards"
"Upgrade 25 cards"
"Upgrade 100 cards"
"Upgrade 300 cards"
"Deal 500 damage"
"Deal 1000 damage"
"Deal 250 resolve damage"
"Deal 750 resolve damage"

 

It looks like it's related to the new graft type. Speaking of that, here's what they do (from perk_grafts.lua):

Spoiler

        name = "Benefits",
        desc = "At the start of the game, 1 random person will love you.",

        name = "Researcher",
        desc = "Gain 10 shills every time you use an Item card.",
        
        name = "Premium Quality",
        desc = "The first graft you install is immediately upgraded.",
        
        name = "Innate Connection",
        desc = "New pets are immediately trained.",
        
        name = "Good Health",
        desc = "Gain 6 maximum Health.",
        
        name = "Resolute",
        desc = "Gain 4 maximum Resolve.",
        
        name = "Handy",
        desc = "All items have 1 additional use.",
        
        name = "Stamina",
        desc = "Fatigued starts 1 turn later than normal.",
        
        name = "Perfect Shape",
        desc = "Gain 1 {POWER} at the start of each battle.",
        
        name = "Tough Constitution",
        desc = "Once per day, drink and eat without any repercussions.",
        
        name = "Animal Bond",
        desc = "Eating food also restores the health of your pet.",
        
        name = "Benefits II",
        desc = "At the start of the game, 2 random person will love you.",
        
        name = "Good Health II",
        desc = "Gain 9 maximum Health.",
        
        name = "Resolute II",
        desc = "Gain 6 maximum Resolve.",
        
        name = "Basic Training",
        desc = "The max XP on both your basic decks is halved.",

        name = "Alert",
        desc = "Draw an additional card at the start of every turn.",

        name = "Ancient Warrior",
        desc = "The first 2 cards you draft in each deck are instantly upgraded.",

        name = "Unencumbered",
        desc = "Gain 1 additional graft slot of each type.",

        name = "Charming",
        desc = "At the start of each day, a random person that likes you will love you instead.",

        name = "Benefits III",
        desc = "At the start of the game, 3 random person will love you.",
        
        name = "Stamina II",
        desc = "Fatigued starts 2 turn later than normal.",
        
        name = "Good Health III",
        desc = "Gain 12 maximum Health.",
        
        name = "Resolute III",
        desc = "Gain 8 maximum Resolve.",
        
        name = "Fast Learner",
        desc = "Lower the max XP of all non-basic cards by 2.",
        
        name = "Animal Handling",
        desc = "You can own 1 additional pet.",
        
        name = "Survivalist",
        desc = "After each battle, heal 4 health.",
        
        name = "Socializer",
        desc = "Gain 1 maximum resolve whenever a new person loves you.",
        
        name = "Gourmet",
        desc = "Eating heals 8 bonus health and drinking restores 6 extra resolve.",
        
        name = "Forgiveness",
        desc = "At the start of each day, a random person that hates you will dislike you instead.",
        
        name = "Perseverance",
        desc = "When you would die, instead heal to 20 health. Only works once.",
        
    --     name = "Wildlife Expert",
    --     desc = "At the start of the game, choose a pet.", (this one's commented out, which means it's not active at the moment)
    
        name = "Terror",
        desc = "Whenever you kill an enemy, increase the {SURRENDER} of all their allies.",
        
        name = "Partner In Crime",
        desc = "Once per day, you can hire someone who loves you to help you on a quest.",
        
        name = "Expanded Assortment",
        desc = "Graft drafts have 1 additional option.",

 

holy hesh I can't wait to try these out. Also I guess I have an excuse to add the functionality to export the graft icons to my script, so let me go do that...

Link to comment
Share on other sites

11 hours ago, Instant-Noodles said:

If someone from Klei can clarify whether it's fine to post converters for the game, I'd be willing to share them.

I don't think it'd be a problem, seeing as there's no precedent for them not being okay with people posting how to rummage through their files (aside from DST's .dyn files for rather obvious reasons).

Let us perform a summoning ritual just in case! *Places Potato Cups on Altar*

O Great and Powerful @nome! Grant us an audience! :wilson_ecstatic:

Spoiler

and also maybe @Kevin :wilson_love:

 

Link to comment
Share on other sites

1 hour ago, pacovf said:

Some of those effects are really powerful. I don’t know how I feel about the rogue-legacy mechanics though. It’s not like the game is so hard you need extra help to finish it.

Are you forgetting about Prestige and Mutators?

Link to comment
Share on other sites

Not forgetting about Prestige. Even at Prestige 15, it’s just not a very hard game. Mutators can make the game arbitrarily hard, sure, but then it’s about the player deciding how much harder (or easier) they want the game to be for them to have fun. Arguing that extra advantages for the player are necessary to handle nightmare mutator combinations just doesn’t make sense. The only reason someone would put themselves through that it’s precisely because it’s super hard. So it defeats the purpose.

Link to comment
Share on other sites

  • Developer
1 hour ago, watermelen671 said:

I don't think it'd be a problem, seeing as there's no precedent for them not being okay with people posting how to rummage through their files (aside from DST's .dyn files for rather obvious reasons).

You want to ask @JoeW for specifics, but we do have a policy document for this somewhere. Steam workshop maybe? I think it mostly boils down to "If you're not doing something you obviously shouldn't do then have fun!"

Examples of things that aren't cool is "mods" that give you a DLC without paying for it, or just generally illegal / horrible stuff.

I specifically encourage security research into our network protocols / servers / etc - see our security.txt for details if you find something cool.

Link to comment
Share on other sites

Thanks to @JoeW and @nome for the clarification.  I've just made a Github repository for the tools here:  https://github.com/instant-noodles/gltools

Both are command line tools and will require Python (with the Pillow library) installed.  To use, download everything in the src folder, then from command line (change "python" to the appropriate command for your OS; for Windows, it is "py" and for Linux, it is "python3"), type:

Tex to PNG Conversion (glt2p.py)
To convert a single .tex file:

python glt2p.py <path-to-file>

To convert all .tex files in a folder:

python glt2p.py <path-to-folder>

Note: Some .tex files (such as most of the ones from the plax folder) require data from a separate .tex file.  You will need to place the second .tex file in the same folder to proceed.  The tool will prompt you if it can't locate the second .tex file.

Bin Files to SCML Conversion (glb2s.py)
To convert anim.bin, atlas0.tex, and build.bin:

python glb2s.py <path-to-folder>

Note: As mentioned in my previous post, some of the animations in the converted scml file may be incomplete (i.e. missing parts or blank).  This is because those animations are actually referencing frames from other animations within the same Spriter project and Spriter is unable to do this natively.  Likewise, as Spriter does not support free-form deformations, some animations may differ slightly to what's shown in the game.

EDIT: Turns out the Pro version of Spriter actually does support referencing other animations within the same project and it's also backwards compatible with the free version.  So, I've just updated the tools to Version 1.1 to make use of this feature.  Converted scml files will now display parts that were previously missing due to this reason.

Link to comment
Share on other sites

Hello,Sei !

I'm a DST modder (You know,a Don't Starve Together modder),and I'm obsessed with GriftLand's SFX,animation and its music.

Maybe it sounds too greed,but I do want EVERY unpacked game animation and sound data of this game.I mean,just think how much favor they will do to me in my DST mod designing,only if I can get them !

And I try to unpack game's  TEX files with DST TEX Tool,however,I failed.

I hear that you have unpacked some of the game resources(maybe all of them ?).So........would you mind to help me,and give me a zip of the unpacked game resources ?

Thanks a lot !

Link to comment
Share on other sites

12 hours ago, Sei Bellissima said:

challenger_tex.png.24c9ce2101d3efb22af198c8484e192c.png

Paging @TaschDraws

 

These are so good, goshdarn. How Dan and Jesse continue to draw such fun, creative, and distinguishable illustrations is endlessly impressive and inspiring. 

12 hours ago, Sei Bellissima said:

fixed_tex.png.53df3914b0a93ddf5c4d31a97c8c0ca3.png

Also glad to see a random NPC I'm needlessly fond of lives in a card now.

Link to comment
Share on other sites

10 hours ago, Instant-Noodles said:

snip

Works like a charm, thank you so much :D Extracted all the new perk icons with the tex converter just now:

Spoiler

perk_alert.png.3cbb8a768706a36fe8d4b6006efaaeb7.pngperk_ancient_warrior.png.7315137c51ad31bd2ed95ea6c3c15cb4.pngperk_animal_bond.png.484676d22458bbcd60e0a58e75c1cb30.pngperk_animal_handler.png.ebf36cbc7ceaf9b8f32a2ab9a7c06bbb.pngperk_basic_training.png.9d94c598ce26d4ddb8231618d4bd6e8c.pngperk_benefits_01.png.a4669e9531edd7db5437c8175309009d.pngperk_benefits_02.png.68df52b8eb20b63f65ffe8a8b0a969dc.pngperk_benefits_03.png.029066b542c681f00d1f84b4e63c1534.pngperk_charming.png.db9f8a0fd64fc8c36b542cd22b23640f.pngperk_expanded_assortment.png.29ff15a474c21ae7fc09adb3fbe2daad.pngperk_fast_learner.png.1b63267685fa6db01426968d2c55f9eb.pngperk_forgiveness.png.ac338c22724d2f12ec6b0543b71da3dd.pngperk_good_health_01.png.3e64396d3283d1273985c18c75ce1513.pngperk_good_health_02.png.9f93166bbd6090d535c93b755d10f278.pngperk_good_health_03.png.363ae7864e2ff331801cba0809bcca1c.pngperk_gourmet.png.49ad8f8d0d13dca095ff5b60545a8504.pngperk_handy.png.35a1381202f8b3359ecc975493ecb9b9.pngperk_innate_connection.png.299346c256dbab031504d7292a5e067d.pngperk_partner_in_crime.png.ba9b3f5332337074b5d7715703ff9f2a.pngperk_perfect_shape.png.d5dbcdcfcdb39f45a72d3f50ab6aea69.pngperk_perseverance.png.16994992b2c7973eeaf6d50dc860aa62.pngperk_premium_quality.png.ccb117874eefabb8a5f4300866784327.pngperk_researcher.png.07e496a045cf93a0ce134a8d5a235a4d.pngperk_resolute_01.png.918602282b462bc1da14a1f111fd91ba.pngperk_resolute_02.png.8a7831b38d927025dbf7f0a68044aa3a.pngperk_resolute_03.png.af4601f83c96c16140a2b2be20191ad5.pngperk_socializer.png.14c18a1c1e3b4d35088b89df61645439.pngperk_stamina_01.png.8b294c7de016739cdd54c279f1ff9eb2.pngperk_stamina_02.png.9b7cd1458b6113ceb54d1e8bfdce87a4.pngperk_stamina_03.png.7760557abbd7a81840f3f99e9a3d39dd.pngperk_survivalist.png.7175a43076fb4ac84ea5a4577a4e786b.pngperk_terror.png.ec772d3141abd9dc81c46c71ff434c16.pngperk_unencumbered.png.739784d660916962d854f2cf9ee321e6.pngperk_wildlife_expert.png.7bba2b834313fc3e4c49766a813904ed.png

Haven't tried the animation converter but I'm not gonna make them anyway out of fear of my laptop exploding lol

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.