Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Jamestown (PC)

Featured Replies

  • Author
  • Localization

puggsoy, posted Thu Dec 18, 2014 4:52 am (2203)


This is a really cool looking game, but unfortunately its FFG archives are really weird and annoying. There are a number of files but I'm most interested in the sprites ("textures") and sound effects. I'm pretty sure they're not compressed, I could see OGG headers in the music archive. Honestly have no idea where to begin though, all I can tell is that there are two longs at 0x0A and 0x0E that seem to have something to do with the filesize (although I don't know what).

Here are the files:

Sounds
Textures
  • Author
  • Localization

puggsoy, posted Thu Dec 18, 2014 11:43 pm (2226)


Awesome, thanks so much aluigi! I really appreciate it :) I have some more archives, it looks like the graphics need a palette so PaletteSets.ffg is the one I need most. The rest might be interesting to check out as well.

They're all pretty small so I've just attached them. This is all except for the music one, that's pretty big and fairly easy to extract from anyway (just uncompressed OGG).
  • Author
  • Localization

puggsoy, posted Sat Dec 20, 2014 2:18 am (2254)


OK, I've sort of figured out PaletteSets.ffg. It's similar to Textures.ffg, the decompression is unzip_dynamic, but instead of jumping ahead 0x1c bytes you jump ahead 0x2c bytes... at first. After the first couple of files, you instead jump ahead 0x3c. And then after a couple of those, it's 0x2c again. It's weird.

There must be a more reliable way of detecting the space between files, I'm just not sure what it could be.

EDIT: Got it. For each file after you read in the DUMMY long, there's another long to read. Multiply this by 8, then add 0x20, and that's how far it is until the next length. Here's the elif block I added to support the palette file:
Code:
elif FFG_NAME == "palettesets.ffg"
      get SKIP_NUM long
      set SKIP_SIZE 8
      math SKIP_SIZE *= SKIP_NUM
      math SKIP_SIZE = 0x20
      getdstring DUMMY SKIP_SIZE
      get SIZE long
      savepos OFFSET
      clog NAME OFFSET SIZE SIZE
  • Author
  • Localization

aluigi, posted Sun Dec 28, 2014 3:00 am (2321)


Thanks, script updated with your code.
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.