Facilitates workflow organization for PPSSPP upscale projects.
- Organize large groups of files with drag-and-drop simplicity
- Generate textures.ini file for your project
- Python 3.7
- Open PPSSPP Settings Menu:
Settings > Tools > Developer Tools
- Check 'Save New Textures'
- Click 'Create/Open textures.ini file for current game.'
Make note of this location!
[PPSSPP DIRECTORY]/TEXTURES/[PSP GAME ID]
This is your [GID] directory (Game ID).
- Copy
generate_folders.py
andgenerate_texture_list.py
to[GID]/new
PPSSPP will save
[GID]/new
if they are not yet listed in thetextures.ini
file!
- Run
generate_folders.py
You can add multiple 'root' directories' Note: This script is designed to create directory trees three directories deep.
This script will also create temporarysorting folders
for textures which have a more generalized use.
- Think carefully on how you organize your project. You may end up having thousands of files!
- It is highly recommended that you organize your project by
in-game location
!
Take note of the new directories in [GID]/new
Symbolic links (also known as
"symlinks"
) are essentially 'shortcuts' which point your operating system to another file or folder at a different storage location.Symlinks
may be used to optimize your workflow without creating redundant copies of files.
- In Windows Vista/7/10, users can create linked directories or
"junctions"
using the following commandline instruction:
mklink /J "[target directory]" "[source directory]"
- Press the
windows key
orstart button
and type'cmd'
to search for theCommand Line
utility. Right click
onCommand Line
and selectRun as administrator
.- Navigate to
[GID]
by enteringcd [path to GID]
Hint: You can copy thedirectory path
usingFile Explorer
. - Create
junction
for thetextures
directory.
Example:
mklink /J "[_FULL PATH_ to GID]/textures/" "[_FULL PATH_ to GID]/new/textures/"
Using a symlink in this way will make it easier for your to keep everything in the/new/
directory while you are still working. Whenever you are ready to release your texture pack, users will be able to simply place the pack in[GID]
without any modifications.
- Create
symlink
fortextures.ini
:
mklink "[_FULL PATH_ to GID]/new/textures.ini" "[_FULL PATH_ to GID]/textures.ini"
Note that this command is not a Junction. Do not include
"/J"
!
- Create
junctions
insorting
folder: Similar to#4
, createjunctions
for each of the temporarysorting folders
created inStep 2: Preparing Directories
.
This time, create your shortcuts in thesorting`` folder in
[GID]/new```.
Set up your workflow such that you have three windows open, one each for the following directories:
[GID]/new/
,[GID]/sorting/
, and[GID]/textures/
.
- Simply play through an area of the game with the textures you want to replace. PPSSPP will save the textures in
[GID]/new/
. - Create a
save state
, then fully exit the game to PPSSPP'smain menu
.
PPSSPP will not reload textures.ini if you do not fully exit the emulation.
- Select any general, repeated, or non-area-specific textures in the
/new/
directory and move them into their appropriatesorting folders
. - Leave any textures specific to your targeted
in-game area
in/new/
. - In your
[GID]/textures/
window, navigate to the directory containing thesubdirectory
which corresponds to yourin-game area
.
Note: You can create directories yourself if you overlooked a certain area or feel you want to change your structure.
- Drag the
in-game area
directory ontogenerate_texture_list.py
Resume
game emulation andload state
.- Repeat previous steps with the
next area
.