node-vvvvvv
This is a node package to deal with the custom file formats from Terry Cavanagh's popular game VVVVVV.
Music
There's a file called vvvvvvmusic.vvv
in the root of the data.zip
found in ytour installation of VVVVVV.
It's a quite simple file format. From the source code:
struct resourceheader;
There is 128 of such header blocks, then every file is concatenated together.
Here's some examples of Node.js code:
const vvv = ;const fs = ; // open a filefs; var pack = ; // read some music file or somethingfs
If you don't care about code and just want to go ahead and replace the music, there's also a command-line interface, similar to most compressor utilities:
$ npm install -g vvvvvv$ vvv -l vvvvvvmusic.vvv # list the files File: vvvvvvmusic.vvv, size: 61651755vvv data size: 61644075, number of entries: 16214810 data/music/0levelcomplete.ogg4935877 data/music/1pushingonwards.ogg3711106 data/music/2positiveforce.ogg6592605 data/music/3potentialforanything.ogg4066428 data/music/4passionforexploring.ogg231578 data/music/5intermission.ogg4067664 data/music/6presentingvvvvvv.ogg477481 data/music/7gamecomplete.ogg3839409 data/music/8predestinedfate.ogg3568983 data/music/9positiveforcereversed.ogg8785077 data/music/10popularpotpourri.ogg3254064 data/music/11pipedream.ogg4823877 data/music/12pressurecooker.ogg3682137 data/music/13pacedenergy.ogg5502597 data/music/14piercingthesky.ogg3890382 data/music/predestinedfatefinallevel.ogg$ vvv -x vvvvvvmusic.vvv # extract them $ vvv -c newfile.vvv data/music/* # create a new pack
Note that VVVVVV wants at least exactly these filenames, but there's nothing keeping you from including other files (such as a readme) or reusing the file format for your own thing.
Levels
coming soon