Jump to content



Photo
- - - - -

Is the VPX file format documented anywhere?


  • Please log in to reply
5 replies to this topic

#1 DMala

DMala

    Neophyte

  • Members
  • Pip
  • 5 posts

  • Flag: United States of America

  • Favorite Pinball: Fireball Classic

Posted 28 April 2025 - 12:41 AM

Just curious, is the format of VPX files documented anywhere?  I've been playing around with building a frontend, and currently I'm just pulling table information from the filenames. Which works OK, but obviously requires the files to be named and formatted correctly.  I've been thinking it would be cooler if I could dip into the VPX files themselves to pull out whatever information I can.  I've been poking around a few with a hex editor and I've seen a few strings that look promising, but don't have anything definitive yet.  Before I dig any deeper, I figured I'd ask around and see if this information already exists somewhere.



#2 Gravy

Gravy

    Pinball Fan

  • VIP
  • 1,148 posts

  • Flag: Australia

  • Favorite Pinball: Simpsons pinball party



Posted 28 April 2025 - 01:17 AM

Interestingly you can open a VPX file as a zip.


Pinball Addict


#3 DMala

DMala

    Neophyte

  • Members
  • Pip
  • 5 posts

  • Flag: United States of America

  • Favorite Pinball: Fireball Classic

Posted 28 April 2025 - 01:45 AM

Well, isn't that interesting? That's even easier than I thought it would be.  Thanks!! :good:


Edited by DMala, 28 April 2025 - 01:46 AM.


#4 jsm174

jsm174

    Enthusiast

  • Silver Supporter
  • 124 posts

  • Flag: United States of America

  • Favorite Pinball: Indiana Jones

Posted 28 April 2025 - 03:56 AM

The vpx file is not a zip. It’s a OLE Compound File.

You should look into vpxtool: https://github.com/francisdb/vpxtool

The source code there is exactly what you would need to understand the format. The tool also does what you’re looking for although you will find 100s of tables that don’t fill in the information. Probably because most tables are copies of copies or copies.

#5 DMala

DMala

    Neophyte

  • Members
  • Pip
  • 5 posts

  • Flag: United States of America

  • Favorite Pinball: Fireball Classic

Posted 29 April 2025 - 02:04 AM

Hah, I discovered both of those things myself.  It was pretty easy to pull in a library to handle the compound file, and I've got it set up now to pull what it can from the baked in information and then try to fill in any blanks from the file name.  It's probably not perfect, but it's doing pretty well, at least with the collection of tables I have.

 

Thanks for the info!  I'll share what I have if I can manage to get it into a state where I can do so without being embarrassed. :unsure:



#6 Gravy

Gravy

    Pinball Fan

  • VIP
  • 1,148 posts

  • Flag: Australia

  • Favorite Pinball: Simpsons pinball party



Posted 29 April 2025 - 04:03 AM

The vpx file is not a zip. It’s a OLE Compound File.

You should look into vpxtool: https://github.com/francisdb/vpxtool

The source code there is exactly what you would need to understand the format. The tool also does what you’re looking for although you will find 100s of tables that don’t fill in the information. Probably because most tables are copies of copies or copies.

Ah, ok I had assumed it was some form of zip file as can be opened in 7zip.


Pinball Addict