This guide is for the Windows version of Bejeweled 3.
Required Tools
Here are the tools you will need to decompile and optionally recompile the assets archive used by Bejeweled 3:
- QuickBMS (direct link): A general-purpose decryption tool.
- The QuickBMS 7½7M Archive Script: Bejeweled 3's archive is encrypted and carries a signature of
7½7M
(sometimes simplified as7x7m
). - PopCap Games Framework: A set of tools designed to develop games similar to PopCap's games.
Extraction
Step 1: Run quickbms.exe
. Its command prompt will look something like this:
QuickBMS generic files extractor and reimporter 0.7.7 by Luigi Auriemma e-mail: me@aluigi.org web: aluigi.org (Dec 3 2016 - 22:19:49) quickbms.aluigi.org Homepage zenhax.com ZenHAX Forum @zenhax Twitter & Scripts - GUI mode activated, remember that the tool works also from command-line where are available various options like folder scanning, filters and so on - select the BMS script to use
Step 2: An open-file dialog will appear. Select the script file 7x7m.bmx
.
Step 3: The command prompt will ask for the archive:
QuickBMS generic files extractor and reimporter 0.7.7
by Luigi Auriemma
e-mail: me@aluigi.org
web: aluigi.org
(Dec 3 2016 - 22:19:49)
quickbms.aluigi.org Homepage
zenhax.com ZenHAX Forum
@zenhax Twitter & Scripts
- GUI mode activated, remember that the tool works also from command-line
where are available various options like folder scanning, filters and so on
- select the BMS script to use
- select the input archives/files to extract, type * or "" for whole folder and subfolders
Another open-file dialog will appear. Browse to the location of Bejeweled 3 and select main.pak
. (Assuming you got the game through Steam, the default location is “C:\Program Files (x86)\Steam\steamapps\common\Bejeweled 3\
”.)
Step 4: The command prompt will ask for an extraction location:
QuickBMS generic files extractor and reimporter 0.7.7
by Luigi Auriemma
e-mail: me@aluigi.org
web: aluigi.org
(Dec 3 2016 - 22:19:49)
quickbms.aluigi.org Homepage
zenhax.com ZenHAX Forum
@zenhax Twitter & Scripts
- GUI mode activated, remember that the tool works also from command-line
where are available various options like folder scanning, filters and so on
- select the BMS script to use
- select the input archives/files to extract, type * or "" for whole folder and subfolders
- select the output folder where extracting the files
A select-folder prompt will appear. Browse to the location where you want the files extracted. I recommend creating a new subdirectory at the game's location, e.g. “C:\Program Files (x86)\Steam\steamapps\common\Bejeweled 3\dump\
”.
Note: This prompt might not continue if the “File name” box is empty, in which case type any random text then press ENTER or click “Open.” Don't worry; the garbage text you enter will be ignored.
The final output displayed will look something like this:
054f034a 33191 sounds\voice_timeup.ogg 054f84f1 41181 sounds\voice_unbelievable.ogg 055025ce 33095 sounds\voice_welcomeback.ogg 0550a715 65055 sounds\voice_welcometobejeweled.ogg 0551a534 6157 sounds\zen_checkoff.ogg 0551bd41 5623 sounds\zen_checkon.ogg 0551d338 18348 sounds\zen_combo_2.ogg 05521ae4 7775 sounds\zen_dropdownbutton.ogg 05523943 42128 sounds\zen_mantra1.ogg 0552ddd3 22783 sounds\zen_menuclose.ogg 055336d2 16384 sounds\zen_menuexpand.ogg 055376d2 25862 sounds\zen_menuopen.ogg 0553dbd8 11565 sounds\zen_menushrink.ogg 05540905 41769 sounds\zen_necklace_1.ogg 0554ac2e 88050 sounds\zen_necklace_2.ogg 05560420 82314 sounds\zen_necklace_3.ogg 055745aa 98100 sounds\zen_necklace_4.ogg 0558c4de 79031 temple.p3d 0559f995 92718 warptube.p3d 055b63c3 4152 warptube_cap.p3d - 10117 files found in 23 seconds coverage file 0 100% 90502570 89879547 . offset 000981b9 Press ENTER or close the window to quit_
The Extracted Assets
Audio
Bejeweled 3's music uses an MO3 tracker module: music\Bejeweled3_suite.mo3
. The sound effects are OGG files.
Graphics
Bejeweled 3 uses a few JPEGs and PNGs, but the vast majority of the graphics are JPEG2000s, sometimes paired with 16-color gray-scale GIFs which define their opacity (alpha channels). The game seems to be finicky about the JPEG2000s' formatting, and in my few attempts I have not successfully imported any replacement JPEG2000 images.
If you want to view JPEG2000s using paint.net, here are a couple of useful plug-ins:
Most of the graphics come resized and sorted for the three supported resolutions: 800x600, 1024x768, and 1920x1200. If you plan on replacing any graphics, either be sure to pick the resolution you play in or replace all 3 sizes.
There are other data files for animations and 3-D effects.
Miscellaneous
Under properties\
are some text, XML, and configuration files. A few are unused, while others can be edited to change in-game messages, enable unused game modes, or possibly even alter game parameters (i.e. cheat).
Recompiling the Archive
At the command prompt, go to where you put the PopCap Framework. Change to its subdirectory tools\
and run PopPak.exe
with the following command:
PopPak.exe /P main.pak path\to\asset\files
For example:
C:\Program Files (x86)\PopCap_Framework_v1.3\tools>PopPak.exe /P main.pak "C:\Program Files (x86)\Steam\steamapps\common\Bejeweled 3\dump"
This will generate a new main.pak
at the same location as PopPak.exe
. You'll need to move it to the location of Bejeweled 3, e.g. “C:\Program Files (x86)\Steam\steamapps\common\Bejeweled 3\
”. I strongly recommend you back up the original main.pak
in case your new one breaks the game. When you start the game, if the loading-progress ring seems to get stuck for a while, your new main.pak
is probably broken.
Restoring the Original Assets
It's always a good idea to back up main.pak
before fiddling with it. Simply renaming the file is sufficient, e.g. to main.orig.pak
. If you backed it up, simply delete the new main.pak
and rename your backup to main.pak
.
If you did not back up your original main.pak
, you can restore it through Steam:
- In your Steam library, right-click Bejeweled 3 in your library list.
- Click "Properties."
- Click the "LOCAL FILES" tab.
- Click “VERIFY INTEGRITY OF GAME FILES...”
A word of caution: Doing this may or may not delete your saved game progress and replace it with a fresh, empty profile, so you might want to back that up before having Steam reset your files. If you installed the game through Steam, your save data should be located at %USERPROFILE%\AppData\Local\Steam\Bejeweled3\Users\
(where %USERPROFILE%
is C:\Users\WINDOWS_USERNAME
).
Alternatively, depending on your distribution of Bejeweled 3, the save files could be at one of these locations:
%USERPROFILE%\AppData\Local\PopCap Games\Bejeweled3\Users\
%USERPROFILE%\AppData\Local\GameHouse\Bejeweled3\users\
%USERPROFILE%\AppData\Local\iWin\Bejeweled3\users\
Other Notes
- You should be able to use
PopPak.exe
to also decompilemain.pak
, thus eliminating the need for QuickBMS, but I haven't been able to get it to work; when I try, the program just exits without any messages. - These archive decompilers/compilers should also work with some other PopCap games, such as Plants vs Zombies.
Back to the main Bejeweled 3 page.