TxdGen/Converting Textures to PS2 Format

From GTAModding
Jump to: navigation, search

Read this tutorial if you want to know how to convert RenderWare PC Texture Dictionaries into their PS2 format. This method can be used to mod the PlayStation 2 version of San Andreas with new textures. Be wary to follow the steps carefully since any branching-off can break things!

At the time of writing, TxdGen version 0.7 is current.

Used tools and resources

  • A DVD drive.
  • PC San Andreas installation
  • PS2 San Andreas disc
  • TxdGen
  • ImgBurn - this or MagicISO
  • Xpert 2.0 - used for constructing working PS2 game ISOs
  • ImgImport - used for adding files into GTA engine IMG archives (bundled with TxdGen)
  • SanAndreas Retextured 3 - example mod

Note: Some tools on this list are optional. If you know what you are doing, you might aswell replace them.

Directions

Step 1: Installing and Preparing

Before doing anything complex, we have to download and install the said tools and resources. I assume that you are aware of basic Windows installation procedures. But there are some requirements that you need to enforce during installation.

  • GTA San Andreas has to be installed in C:/Program Files (x86)/Rockstar Games/GTA San Andreas/ (default location)

If any of the points above is incorrect, remember to adjust the following steps accordingly.

Keep in mind that installing SanAndreas Retextured 3 will modify your GTA San Andreas with no option to restore it. If you do not want to reinstall San Andreas, it is advised to create a backup of the entire game folder.

How to install TxdGen

  • Place the downloaded txdgen_*.zip archive onto your desktop
  • Right click on the icon and select "Extract All"
  • Press the "Extract" button.
  • You now have a txdgen_* folder on your desktop

Step 2: Creating a PS2 GTA:SA .iso file using ImgBurn

  • Open the ImgBurn program that we just installed
  • Click on Create image file from disc
  • Optional: select your DVD drive in the "Source" combo box
  • Click on the folder-looking symbol
  • Browse into the gtaiso folder inside the txdgen_* folder on your desktop and name the output file gtasa.iso
  • Click on the image that points a disc at an image file.
  • Wait until the .iso creation process has completed. This may take a while.
  • Once finished, close the program.

Step 3: Setting up TxdGen and ImgImport

To ensure proper functionality of TxdGen and ImgImport, please take a look into the .ini configuration files. It is recommended that they look like this.

txdgen.ini

[Main]
gameRoot=C:/Program Files (x86)/Rockstar Games/GTA San Andreas/
outputRoot=txdgen_out/
targetVersion=SA
targetPlatform=PS2
compressTextures=true
compressionQuality=0.5
palRuntimeType=PNGQUANT
dxtRuntimeType=SQUISH
warningLevel=1
ignoreSecureWarnings=true
reconstructIMGArchives=false
fixIncompatibleRasters=true
dxtPackedDecompression=false

imgimport.ini

[Main]
sourceRoot=txdgen_out/models/gta3_archive/
imgFile=gtaiso/@GTASA.ISO/MODELS/GTA3.IMG

(please disable NoScript if you are running Firefox to properly view the imgimport.ini content)

Step 4: Extracting the .iso using Xpert 2.0

  • Open the Xpert 2.0 program that we just installed
  • You will be greeted with awesome effects. Be patient until the program window has appeared and the mod loading banner has disappeared
  • Click on the Sound Options combo box and select @No Sound Selected
  • Click on the Xpert-Plugins combo box and select PS2 CdDvd5 |PSP UMD ISO Shrinker v1.04 *.ISO
  • Press the colorful folder-looking symbol and select the gtasa.iso that we created earlier
  • You notice that more buttons have become colorful and clickable.
  • Click on the first button top left and wait until the LBA table has been extracted
  • Click on the second button top left and wait until the ISO contents have been extracted to your HDD. This may take a while.
  • We are done for now. Minimize the Xpert 2.0 program window, so we can resume later.

Step 5: Converting the Textures

To convert all textures from your GTA San Andreas PC installation into PS2 format, simply execute txdgen.exe. Please be patient, since the conversion can take a very long time. If you have carefully read through this tutorial, nothing can go wrong.

Step 6: Importing the New Textures

If you want to update the textures of your new PS2 San Andreas installation, you need to replace/update files inside the @GTASA.ISO folder that has been created by Xpert 2.0. In this tutorial, we only want to update the GTA3.IMG archive which stores world models and their textures.

Execute the imgimport.exe application and wait until it has finished. It may take a while until the new textures have been added to the GTA3.IMG archive so please be patient.

Step 7: Generating your new .iso

We now want to resume where we left off at Step 4.

  • Restore the Xpert 2.0 program window.
  • Remember that we already pressed the first two buttons in the top left. We want to press two more buttons.
  • Click on the third button top left and wait until the .iso file has been rebuilt. This process will take some time.
  • Click on the fourth button top left and wait until the LBA has been rebuilt. This should be done fairly quickly.
  • We are done with Xpert 2.0. The new .iso file should be called NEW-GTASA.ISO and should be located in the same folder as the original gtasa.iso

Congratulations! You have created your very first custom GTA:San Andreas installation!

How to run the .iso

The NEW-GTASA.ISO file can be run in the PCSX2 emulator.

Note regarding the Limitations

The PlayStation 2 hardware has a streaming memory limit of 32mb. This is the limit of all the data that can be displayed on the screen at once. If it overshoots this limit, the engine crashes or freezes. It does not harm the hardware but it can be frustrating to play.

This is why TXDs have to be optimized before they are converted to PS2 format. Optimization is as simple as scaling down textures using a professional TXD editing tool. It is advised to contact the author of the mod so he could release an optimized version of his texture mod.

If you are looking for an automatic streaming memory optimizer, there is one in the works.