GameExtractor
Reads and writes thousands of different archive and image formats used in games.
Install / Use
/learn @wattostudios/GameExtractorREADME
GAME EXTRACTOR
Extensible Game Archive Editor http://www.watto.org/extract
About Game Extractor
Game Extractor is a program that reads and writes files used in games. The primary focus is to open game archives and allow you to extract the files from them. Secondary to that, there are also viewers and converters for many different images, including game-specific ones, and a number of compression algorithms.
GitHub Information
What this is...
- This is the source, and complimentary files, for Game Extractor (Basic Version).
- It is intended that this be used to assist programmers with reading and writing a whole range of files used in games, including archive and image formats
- It may also assist people to create their own Game Extractor plugins, which would be compatible with both the Basic and Full Versions
What this is not...
- This is only the source for the Basic Version. The Full Version code is not included in this source repository, as the Full Version is a purchasable product and is not covered under the GPLv2 license.
- For most users, there should generally be no need to build these sources - if you want a working build of Game Extractor (Basic Version), get it from the website at http://www.watto.org/extract
Installation and Build Prerequisites
Game Extractor requires you to have Java Runtime Environment 8.0 (or 1.8) installed on your computer. This is now included as part of the software installation, however if you want to download a later version yourself, you can get it from from http://www.java.com
If you are using Java version 11 or newer, we have included the JavaFX libraries which should be suitable for most Windows users. There is a new executable GameExtractor_javafx.exe to force the use of the included JavaFX libraries.
We maintain the project using Eclipse. You should be able to download the repository, and import it into Eclipse via the menu path File -- Open Projects from File System. The main entry point is under src/org/watto/ge/GameExtractor.java . When importing into Eclipse, you will need to choose Java 1.8 under Project --> Java Compiler, as well as choosing JDK 1.8 under Project --> Java Build Path.
Eclipse will give errors relating to Java Media Framework. If you have it installed, make sure you add the libraries to the project classpath. Otherwise, just delete the corresponding java sources if you're not interested in those in particular.
Operating System Support
Game Extractor is only officially supported on Windows. While Java can theoretically run on many different operating systems, this doesn't necessarily mean that Game Extractor works correctly or completely on those operating systems.
We have performed some very basic tests on Linux-based operating systems (does the program open, and does it read an archive) - that's about it. We have provided some extremely basic scripts to assist running in ksh/csh/bash shells, however you should evaluate the scripts and adjust them appropriately for your system.
We would expect that most functions would operate correctly in non-Windows environments, but offer no guarantees of this, and in some situations we may not be able to make it work in those environments at all.
Troubleshooting and Contact Information
If you have a question about the commands and tools in Game Extractor, open up the Help window within the Game Extractor program. It also contains some tutorials documenting how to perform specific tasks, such as "How to Open an Archive". These help files can also be opened in any web browser - start with the file help/index.html
If you have any other Game Extractor questions, browse the Help/FAQ pages on the website - http://www.watto.org/extract . These pages include help on general Game Extractor queries, common errors and problems, and information on the full version.
There is a Contact Form on our website, if you need to contact us for any further purpose.
Version History
-
Version 3.16.0004
- [I] Small incremental version, with the intention of primarily adding more supported games.
- [+] Added a GIF animation writer, and the ability to export animations as a single file.
-
Version 3.16.0003
- [I] Small incremental version, with the intention of primarily adding more supported games.
- [+] Have now added a local Windows 32-bit JRE 1.8 which still includes JavaFX
- [B] Using a repeating XOR key for extracting files will now reset the key to the right position whenever the file is next opened.
-
Version 3.16.0002
- [I] Small incremental version, with the intention of primarily adding more supported games.
- [+] Have now added JavaFX libraries and a separate executable, for running on PCs with Java 11+
- [B] DXT3 images now display with their alpha channel
-
Version 3.16.0001
- [I] Small incremental version, with the intention of primarily adding more supported games.
- [A] Previews are cleaned up before opening the new preview, to reduce memory usage
- [A] BC6H Texture2D images can now be displayed from Unity archives
- [A] Additional swizzling functions for consoles have been added
- [B] Unity3D and ResS files larger than 4GB are now read and/or split properly
- [B] When choosing both an Image and a Mesh converter when extracting, the meshes will now be converted to the mesh format instead of the image format.
- [B] Bug fixes for the use of ShellFolder in newer Java versions (eg Java 21+)
- [B] Saving changes to a text file will now save the currently-edited cell as well
-
Version 3.16
- [I] Support for more games, with a focus on adding previews and write support, where possible.
- [+] Added quickbms.dll as a native library for handling complicated compression types.
- [+] Added support for reading password-protected ZIP files
- [A] Plugins can now be unpacked from a ZIP in the plugins directory, and then loaded and used.
- [A] Added algorithms to quickly reduce the number of colors when replacing paletted images.
- [A] Added preview and thumbnail support for the first frame of animated WebP images
- [B] Memory is now cleaned up properly when Previews are discarded
- [B] Unity meshes now have a better chance of rendering correctly when vertex sizes are guessed.
- [B] Fixed several bugs with the loading and display of UTF-8 languages.
- [B] OGG files from FSB archives should now extract properly in the Basic Version
-
Version 3.15
- [I] Support for more games, with a focus on adding previews and write support, where possible
- [+] For archives that can do Convert On Replace, you can now do Replace Matching Files and it will replace proprietary image types with standard ones in bulk
- [+] Added a setting to copy the filename to the clipboard when you right-click on a file
- [A] Increased the EXE minimum memory to 2GB
- [A] The DDS Scanner can now detect more DDS image types (eg 32-bit and 16-bit formats)
- [A] FMOD ADPCM audio can now be converted to WAV and previewed
- [B] Fixed an issue where memory was retained when converting lots of images during extract
- [B] Fixed an issue where memory was retained when replacing files that are converted on replace
- [B] Fixed a bug when the alpha would be calculated incorrectly when writing images
- [B] Fixed an endless loop when trying to split ASSET archives that aren't correctly decompressed
- [B] Fixed a bug where the file list would be re-sorted when replacing files, if a filter + sort was being used in the display.
- [B] Changing a color palette of an animation will now update all frames with the new palette
- [B] Alpha values are now calculated and stored when writing DXT5 images
- [B] Fixed incorrect reading of the colors in images in 555 format
- [B] Better reading support for Unity v22 Meshes
- [B] Fixed a bug where small Unity bundles would fail to open (if numFiles < 8)
- [B] Fixed a bug where Normals and Tex Coords wouldn't be exported in OBJ Meshes if they were zero
- [B] Fixed a bug where changing the interface Font would corrupt the settings and interface files
- [B] The OBJ mesh exporter now maps Tex Coords to Faces, so textures can be applied to them
-
Version 3.14
- [I] Support for more games, with a focus on adding previews (image and 3D meshes) and thumbnails
- [+] Added support for encrypted UE4 files when a valid encryption key is supplied
- [+] When exporting images with multiple frames, and converting them, all the frames are now converted and saved as separate images, rather than just the first frame.
- [+] New Preview Panels to display and edit files as Tables or Trees
- [A] Exporting meshes with multiple objects in them into OBJ/STL format now works correctly
- [B] Splitting Unity3D archives where an individual file is over 2GB now works correctly
-
Version 3.13
- [I] Support for more games, with a focus on adding previews (image and 3D meshes) and thumbnails
- [+] Added previews for Unity3D v20 Meshes that are stored in a separate resS file
- [+] Added a Mesh Investigator, for previewing unknown files as 3D meshes
- [+] The ImageInvestigator now does swizzling, and can read color palettes from the image file
- [+] Added scripts for running Game Extractor from PowerShell and Linux ksh/csh/bash
- [+] Added some tutorial PDF documents for performing common tasks in Game Extractor
- [A] New cleaner images for file types, and for some buttons and menu items that were confusing
- [A] If a plugin forces some file types to display as Text, the thumbnail icon will show as such
- [A] The command-line argument -list will now write to stdout if -output is omitted
- [A] Saving a preview where the image has multiple frames, will now save all frames at once
- [A] When extracting by right-click for the first time, the user is asked to choose a directory
- [B] Fixed some bugs related to the writing of archives to special Windows directo
