Hacking [Release] GFA Packer for Yoshi's Wooly World

jam1garner

Well-Known Member
OP
Newcomer
Joined
Apr 7, 2016
Messages
99
Trophies
0
Age
33
XP
382
Country
United States
Hey, had this sitting around for a while and completely forgot to post it but in case anyone wants to mod Yoshi's Wooly World *crickets chirp* then here you go. (Note: this is untested for Kirby's epic yarn but should work for it as well as I think it uses GFA also (tell me if you can confirm this))

How to use:
  • Install or have installed Python 2
  • Extract GFA using QuickBMS and the GFA BMS script
  • Edit files to your heart's content
  • Repack using the command "gfa-packer.py [name of folder to repack] [original gfa]"
For whatever reason the game checks what I assume to be hashes located in the GFA so those need to be copied over from the original (but don't have to match up with the present data). Dunno why this exists but it certainly caused me a lot of stress over figuring it out.

Known issues:
  • Compression fails on data sections larger than 1 MB, I don't have enough interest to solve this, sorry! (AKA if the total combined size of all the files is > 1MB)
How to contribute:
If you'd like to contribute the best way would be to write a string compressor for BPE in python and on replace lines 38 to 44 with "compressed = your_compression_function(uncompressedString)" then submit a pull request on github with these changes. If you'd like an example implementation of BPE compression look no further than Phillip Gage's implementation in C. This would definitely be helpful as it would make it cross platform as well as potentially remove the 1 MB data section limit.

Thanks to:
  • @MasterF0x for helping me out some (especially with testing)
  • Luigi Auriemma for QuickBMS and the unpacker
  • Phillip Gage for his BPE compressor I used out of laziness (partially because it would be slower to do a python rewrite)
Want to check out my other stuff? Here's my twitter: https://twitter.com/jam1garner
 
Last edited by jam1garner,

ElyosOfTheAbyss

Well-Known Member
Member
Joined
Aug 20, 2015
Messages
2,225
Trophies
1
XP
1,911
Country
It's not really as big an issue as it sounds, most levels are less than a third the size of the limit.
huh? the only levels under 1mb from what I can see are test levels and a bonus level
upload_2017-4-20_7-55-6.png
 

ElyosOfTheAbyss

Well-Known Member
Member
Joined
Aug 20, 2015
Messages
2,225
Trophies
1
XP
1,911
Country
The 1 MB is 1 MB of combined files uncompressed (not the entire archive, just the files). Also... they don't seem to be over 1 MB to me?
a couple of them compressed
RYUdyFS.png

map005 unpacked
pStiado.png

ah, I was talking about gfa's that include the model in, since thats where it contains files like map.MapScene
 

Awesomegameplayer

Member
Newcomer
Joined
Oct 10, 2023
Messages
7
Trophies
0
XP
60
Country
Canada
It appears your Python script doesn't work with Python 3 (Which is okay since you mention it needs Python 2 but if you could update it I'd appreciate it) and also it can't find files named "temp1.bin" and "temp2.bin" plus it can't find and access bpe.exe (Also the link no longer works). Also I was wondering how you're meant to format [name of folder to repack] [original gfa]; is it meant to be the directory or just the file name?
 
Last edited by Awesomegameplayer,

Awesomegameplayer

Member
Newcomer
Joined
Oct 10, 2023
Messages
7
Trophies
0
XP
60
Country
Canada
Follow up to my last post, I've figured it out (I just needed to put the folder and .gfa file in the same place as the Python script) and also got it updated to Python 3.11. Unfortunately that 1MB folder limit is really the only thing holding me back from making any progress on my mod, since the game's models, textures, and animations all together typically make the folder size too big, and Switch Toolbox does not allow you to save the edited .gfa file.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • K3Nv2 @ K3Nv2:
    That sick boy yo
  • K3Nv2 @ K3Nv2:
    I was hoping I could add a custom ROM to this fire HD 10 tablet but guess no one's made twrp available
  • Psionic Roshambo @ Psionic Roshambo:
    Root it? Lol
  • Sicklyboy @ Sicklyboy:
    That shit is so locked down, tighter than a nun's ass
  • K3Nv2 @ K3Nv2:
    Don't know if that's even possible for the firmware
  • K3Nv2 @ K3Nv2:
    You can remove the bloat ware and ads easily but can't install a rom
  • K3Nv2 @ K3Nv2:
    20 some years later crash bandicoot still pisses me off
  • BigOnYa @ BigOnYa:
    Have you jail broke your ps4 yet?
  • K3Nv2 @ K3Nv2:
    I've been on since 9.0
    +1
  • BigOnYa @ BigOnYa:
    Are you gonna do your ps5 if the hack comes? Is there worries of bans, like the ps3
  • K3Nv2 @ K3Nv2:
    Probably not I got cross play friends
    +1
  • K3Nv2 @ K3Nv2:
    By then I'll have some little mini pc anyway
  • ZeroT21 @ ZeroT21:
    only ps5 updated to latest firmware can go on psn, jailbroken ones just don't use psn or they risk getting flagged or banned, altho spouting profanity in online play alredy does that
  • K3Nv2 @ K3Nv2:
    Keep current Gen consoles stock mod last gen imo
  • DinohScene @ DinohScene:
    Anyone dumb enough to get banned for spouting profanity deserves it.
  • Y @ YuseiFD:
    Then how come you do it and don't get banned ? or is it a question of getting caught doing it ?
  • BakerMan @ BakerMan:
    wtf is the point of banning swearing in games? that's utterly a dumb decision

    the new generation playing MWII won't be as hardened as the previous one playing original MW2
  • Veho @ Veho:
    What's the point of video games? Kids playing video games won't be as hardened as the previous ones getting shoved down a hillside.
    +1
  • BakerMan @ BakerMan:
    exactly my point
  • BakerMan @ BakerMan:
    kids, yall are fucking pussies, grow some asshair before you even dare touch My Friend Peppa Pig or Mario's Early Years
    BakerMan @ BakerMan: kids, yall are fucking pussies, grow some asshair before you even dare touch My Friend Peppa Pig...