someone mentioned cosmic's cosmic adventure today, which somehow lead to me spending entirely too long learning how to reverse its data files in imhex

(i have no idea why i'm like this either)

i should really make a git repo for all the times i randomly decide to make imhex understand the most obscure game formats imaginable

i didn't think i'd get the urge to do this more than once, but here we are!

also, a lot of old game formats are excellent practice since they are so simple!

  • maps and images are often basically just bitmaps, so you can just visualize it immediately by spitting out an rgb8 image of file bits
  • custom archives often have headers that contain literal file seek locations with sizes
  • other metadata is often just bitpacked into guessable partitions if you know anything about the game
  • compression is pretty much absent in most cases

it's basically free

oh! also the game itself is playable online here if you were curious what it was! (you can also get the data files in the sidebar!)

since it was a DOS sidescroller, that means it didn't have access to particularly advanced video hardware, meaning that smooth scrolling was Very Hard

also music was only through a special synth card (from ad lib)

and every other sound used the PC speaker (the thing that makes your computer beep sometimes)

so! the levels are all basically straight-up arrays!

and now that i can just select files, i can easily get the right ranges for the visualizer~

and the music are just imf files! which are id (software) music files, which can be played in adplay without any modification!

it's the same format used for the music in wolfenstein 3d and a bunch of other games that played adlib music at the time

Sign in to participate in the conversation
Awoo Space

Awoo.space is a Mastodon instance where members can rely on a team of moderators to help resolve conflict, and limits federation with other instances using a specific access list to minimize abuse.

While mature content is allowed here, we strongly believe in being able to choose to engage with content on your own terms, so please make sure to put mature and potentially sensitive content behind the CW feature with enough description that people know what it's about.

Before signing up, please read our community guidelines. While it's a very broad swath of topics it covers, please do your best! We believe that as long as you're putting forth genuine effort to limit harm you might cause – even if you haven't read the document – you'll be okay!