Skip to content

An extractor for the textures within Neversoft's PSX model format. Supports 4, 8, and 16-bit textures. 16-bit implementation is incomplete.

License

Notifications You must be signed in to change notification settings

slfx77/psx_texture_extractor

Repository files navigation

Requirements

  • python3
  • pyqt5 - can be installed with pip install PyQt5
  • pymorton - can be installed with pip install pymorton
  • pypng - Included

Usage Instructions

This program can be run by typing py main.py into a terminal in the directory it is extracted to. Then, simply select the folder containing the psx files you wish to extract the textures from, and the folder to output the textures to. The default behavior will dump all textures in the folder of your choice. By selecting the create subdirectories button, it will create a folder for each psx file.

Known bugs

  • There is no handling for IO errors within the UI part of the code. As such, these may crash the program.
  • PVR-T textures which are used in Xbox games such as THPS2X and possibly others are unsupported. The program tends to hang and use up a lot of CPU if you attempt to extract a file containing these.

Credits

This program contains code from the following other projects:

  • io_thps_scene, a Blender plugin for multiple formats used in the Tony Hawk series of games as well as other games developed by Neversoft which use the same formats.
  • psx_extractor, an extractor intended for the PC version of Spider-Man. This is used for the decoding of PSX files with 16-bit textures. I've also created a standalone clone in Python that can be found here.
  • Rawtex, a multipurpose converter for raw texture files. Used to convert 16-bit textures with palette types 0x100-0x102 and 0xd01.
  • pypng, used to write textures to PNG files.

About

An extractor for the textures within Neversoft's PSX model format. Supports 4, 8, and 16-bit textures. 16-bit implementation is incomplete.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages