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.

pxp file format (Pinball FX2, CastleStorm...)

Featured Replies

  • Author
  • Localization

logoliv, posted Mon Jan 05, 2015 4:26 pm (2449)


Hi all,

I'm trying to mod Pinball FX2 but can't find a way to decode pxp files (which seems to be the standard archive format for Zen Studios games).

I've found a script to extract files contained inside a pxp archive here :
http://forum.xentax.com/viewtopic.php?f=10&t=10182

The problem is that extracted files are compressed and I don't have access to NeoWizLib.dll provided by Ekey here :
http://forum.xentax.com/viewtopic.php?f=10&t=10654
(I don't have a Xentax account and don't want to pay 5? just to register for something that i'm not sure if it will work or not...)

Some help would be greatly appreciated :)
Ekey if you read this message could you please attach your NeoWizLib.dll ?
I've joined a small pxp archive (which contains 2 files : Config.cfg and Football.cfg) as sample.

Thanks in advance.
  • Author
  • Localization

aluigi, posted Mon Jan 05, 2015 5:54 pm (2451)


I can confirm that the tool made by Ekey works.
There is also a quickbms script that calls NWDecompress from NeoWizLib.dll:
http://forum.xentax.com/viewtopic.php?p=89130#p89130

In that post it's also written that probably the decompression algorithm used for the data files is different and so you can extract only the text files like the one you attached.

If you need NeoWizLib.dll you can find it attached to this post (I think it's a semi-public dll, please confirm Ekey).

NeoWizLib.dll.zip

  • Author
  • Localization

aluigi, posted Mon Jan 05, 2015 6:30 pm (2452)


This decompressing function will be available in the next quickbms by default.
To anyone: feel free to tell me if you have other functions of other games that I can embed in quickbms :)
  • Author
  • Localization

logoliv, posted Mon Jan 05, 2015 6:35 pm (2453)


quick and efficient answer Luigi, thanks a lot :D
it works fine, too bad the dll only contains the NWDecompress function (I need to recompress the cfg files and reinject them into pxp archives with quickbms to mod the game...)
I think Ekey made this function and compiled it into a dll, because Google can't find "NeoWizLib.dll" anywhere in the internet.
  • Author
  • Localization

Ekey, posted Mon Jan 05, 2015 8:25 pm (2456)


aluigi wrote:
If you need NeoWizLib.dll you can find it attached to this post (I think it's a semi-public dll, please confirm Ekey).

I do not mind.

About algo: Game have 2 decompress functions (for CastleStorm, KungFu). First function only for plaintext files and second for other data like images and ect. This my lib contain function only for plaintext files. Pinball FX2 seems have generic function for decompress for all data's.
btw: Game is free on steam :)
  • Author
  • Localization

logoliv, posted Mon Jan 05, 2015 9:13 pm (2458)


A less cool thing is that, unlike a lot of games, Pinball FX2 doesn't accept data in uncompressed format directly in game directory folder, it only seems to load PXP files or they have priority :(
So there's no way to modify a file unless I find a way to recompress it to PXP format (and I guess the recompress function is unavailable if you're not a Zen Studio employee, as the game only needs the decompress algorithm to work...)
  • Author
  • Localization

logoliv, posted Mon Jan 05, 2015 11:17 pm (2461)


thanks Ekey... I understand nothing at all at your code :oops: it seems a mix between C and assembly langage :lol:
could it be possible to program the reverse function ? (to recompress a file)
  • Author
  • Localization

Ekey, posted Mon Jan 05, 2015 11:22 pm (2462)


Decompress only.
  • Author
  • Localization

logoliv, posted Wed Jan 07, 2015 2:54 pm (2511)


Ekey, where did you find NeoWizLib.dll please ?
  • Author
  • Localization

Ekey, posted Wed Jan 07, 2015 5:13 pm (2515)


Where find? It's my library.
  • Author
  • Localization

logoliv, posted Wed Jan 07, 2015 6:09 pm (2519)


ok, so you made the decompress function but not the recompress function... just need to extract material from pxp but not to mod the game ?
  • Author
  • Localization

Ekey, posted Wed Jan 07, 2015 6:11 pm (2520)


Algorithm support only text files.
  • Author
  • Localization

A1ex, posted Mon Feb 02, 2015 8:57 pm (3035)


Hello everyone. I am happy that I manage to stumble on this forum. Me and few friends plan to make actual StarWars pinballs based on Zenstudio PinballFX. I see that guys here have success in decoding files from game installation. Is it possible (or if someone actually made it) to decode PXP files (we have PC copy of the game), or any other version (PS3, ie)? I am talking about graphics and sounds used in the game.

Thank you very much for your response.
  • Author
  • Localization

aluigi, posted Fri Sep 29, 2017 2:17 am (26915)


Just an update from my side.
I have updated my script to version 0.2 supporting the two whole decompression functions used for types <= 4 and major than 4:
http://aluigi.org/bms/zen_studio_pxp.bms

The only format which is not covered yet is version 3 like the files of Independence Day Resurgence / Battle Heroes and Infinite Minigolf.
The reason is that these files look encrypted so probably the format is the same.
Maybe I will check if Pinball FX3 uses encryption too (released just few days ago!).
  • Author
  • Localization

aluigi, posted Fri Sep 29, 2017 2:07 pm (26928)


And yes, finally the community has a way to extract ALL the files from any PXP archive made by ZenStudio... just in time for Pinball FX3 released 3 days ago.
Script 0.3:
http://aluigi.org/bms/zen_studio_pxp.bms
  • Author
  • Localization

aluigi, posted Sat Nov 18, 2017 7:51 pm (30117)


Basically PX is both an archive (type 5) and a container for various types of files.
The one you provided looks like a 3d model.
Try to open it with a hex editor and check what type of 3d format it may be and where it starts so you can cut the starting header and import it in some software.
I support only the archives.
  • Author
  • Localization

LolHacksRule, posted Wed Oct 10, 2018 5:01 am (39361)


Cannot extract PTSData.pxp from Zen Pinball v1.35 (Android), any way to fix or plans on fixing that? The right script and the latest QuickBMS was used on it...

http://www.filedropper.com/ptsdata
  • Author
  • Localization

LolHacksRule, posted Wed Oct 10, 2018 10:26 pm (39389)


Thanks so much.
  • Author
  • Localization

joyrider3774, posted Tue Jan 01, 2019 4:44 am (41765)


It fails to extract recup2 recup3 and spacebear1 it did extract spacebear2 and redcup1 from latest pinball fx3.

On redcup2 it fails with:
Error: incomplete input file 0: C:\Temp\pinball fx3 extract\RedCup2.pxp
Can't read 1 bytes from offset 00000000fd38c793.
Anyway don't worry, it's possible that the BMS script has been written
to exit in this way if it's reached the end of the archive so check it
or contact its author or verify that all the files have been extracted.
Please check the following coverage information to know if it's ok.

coverage file 0 0% 31944 102209896 . offset 00000000fd38c793

Last script line before the error or that produced the error:
72 get CHUNK_TYPE byte


on redcup3 it fails with similar error:
Error: incomplete input file 0: C:\Temp\pinball fx3 extract\RedCup3.pxp
Can't read 1 bytes from offset 00000000fd38c463.
Anyway don't worry, it's possible that the BMS script has been written
to exit in this way if it's reached the end of the archive so check it
or contact its author or verify that all the files have been extracted.
Please check the following coverage information to know if it's ok.

coverage file 0 0% 31960 137857120 . offset 00000000fd38c463

Last script line before the error or that produced the error:
72 get CHUNK_TYPE byte

and on spacebear1 it fails also with simalar error:
Error: incomplete input file 0: C:\Temp\pinball fx3 extract\SpaceBear1.pxp
Can't read 1 bytes from offset 00000000fd38c5d7.
Anyway don't worry, it's possible that the BMS script has been written
to exit in this way if it's reached the end of the archive so check it
or contact its author or verify that all the files have been extracted.
Please check the following coverage information to know if it's ok.

coverage file 0 0% 32388 127513635 . offset 00000000fd38c5d7

Last script line before the error or that produced the error:
72 get CHUNK_TYPE byte

i can provide the files but they migth be big

Edit: they seem encrypted while spacebear2 and redcup1 did not kinda weird they would not do it for every file. In the files that did extract i can see the filenames sections in the others i can't seems gibberisch

Here is the redcup2 sample file: https://ufile.io/49pk7
  • Author
  • Localization

aluigi, posted Wed Jan 02, 2019 7:51 pm (41831)


@joyrider3774
As far as I understand the problem happens only with some files of the game, correct?

Currently I don't have the game here but I can only suspect that some files now use a different RAND1 and RAND2 initializer.
Let me know.
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.