{"id":47698890,"url":"https://github.com/liinkpk/ppsspp-texture-replacement-tool","last_synced_at":"2026-04-02T17:01:05.972Z","repository":{"id":346314622,"uuid":"1188986519","full_name":"LiinkPK/PPSSPP-Texture-Replacement-Tool","owner":"LiinkPK","description":"A desktop tool for managing HD texture replacements for any game running on PPSSPP.","archived":false,"fork":false,"pushed_at":"2026-03-28T23:40:27.000Z","size":63039,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-29T00:47:18.680Z","etag":null,"topics":["dissidia","dissidia-012","dissidia-hd","modding","modding-tools","ppsspp","psp","remaster","texture","texture-tool"],"latest_commit_sha":null,"homepage":"https://www.reddit.com/r/dissidia/comments/1g6peh2/dissidia_012_hd_remastered_wip/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LiinkPK.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-22T21:02:16.000Z","updated_at":"2026-03-28T23:40:30.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/LiinkPK/PPSSPP-Texture-Replacement-Tool","commit_stats":null,"previous_names":["liinkpk/dissidia-012-texture-replacement-tool","liinkpk/ppsspp-texture-replacement-tool"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/LiinkPK/PPSSPP-Texture-Replacement-Tool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiinkPK%2FPPSSPP-Texture-Replacement-Tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiinkPK%2FPPSSPP-Texture-Replacement-Tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiinkPK%2FPPSSPP-Texture-Replacement-Tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiinkPK%2FPPSSPP-Texture-Replacement-Tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LiinkPK","download_url":"https://codeload.github.com/LiinkPK/PPSSPP-Texture-Replacement-Tool/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiinkPK%2FPPSSPP-Texture-Replacement-Tool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31311012,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dissidia","dissidia-012","dissidia-hd","modding","modding-tools","ppsspp","psp","remaster","texture","texture-tool"],"created_at":"2026-04-02T17:00:30.219Z","updated_at":"2026-04-02T17:01:05.947Z","avatar_url":"https://github.com/LiinkPK.png","language":null,"funding_links":["https://www.patreon.com/c/LinkG/membership","https://www.paypal.com/paypalme/liinkpk"],"categories":[],"sub_categories":[],"readme":"# PPSSPP Texture Replacement Tool\n\nA desktop tool for managing HD texture replacements for any game running on [PPSSPP](https://github.com/hrydgard/PPSSPP).\n\n\u003e Previously called **_Dissidia 012 Texture Replacement Tool_**.\n\u003e\n\u003e Title has been changed after testing the tool with several games and seeing that it works with all that were tested.\n\n---\n\n### **Platform Support**\n\n- Windows\n- macOS\n\n---\n\n## Features\n\n- Browse and preview original and replacement PNG textures side by side\n- Automatically appends entries to `textures.ini` in the correct format\n- Organizes entries by category and sub-category\n- Alphabetically sorts entries within each section\n- Detects duplicate entries before writing\n- Warns if replacement texture has a different aspect ratio\n- Game history sidebar — save multiple game folders and switch between them\n- Dark and light theme toggle\n- Open `textures.ini` directly from the app\n\n---\n\n## Installation\n\n### Windows\n1. Download `PPSSPP_TRT.exe` from the [Releases](../../releases) page.\n2. Place the file anywhere on your computer.\n3. Run `PPSSPP_TRT.exe`. **No installation required**.\n4. If **Windows** blocks the app, click `Run anyway`. \n\n### macOS\n1. Download `PPSSPP_TRT.dmg` from the [Releases](../../releases) page.\n2. Open the file to mount the disk image.\n3. Drag `PPSSPP_TRT.app` into your **Applications** folder. Replace if prompted.\n4. Open `terminal` and copy-paste the following code to allow mac to run the unsigned app:\n```\nxattr -cr /Applications/PPSSPP_TRT.app/\n```\n\n5. Confirm by typing your password if prompted.\n6. Run it from **Applications**.\n\n---\n\n## Setup\n\n1. Click **+ Add Game Folder** in the left sidebar.\n2. Navigate to your game's textures folder containing `textures.ini`, e.g.:\n   `Documents\\PPSSPP\\PSP\\TEXTURES\\ULES01505`\n3. Give it a display name (e.g. \"Dissidia 012 EUR\").\n4. Game's `texture.ini` and its folder will be loaded when selecting the game.\n\n\u003e **Make sure `textures.ini` is inside that folder or else appending won't work as intented.**\n\n---\n\n## Adding a texture replacement\n\n1. Select the **original texture PNG**: the file extracted from the game, e.g.: `08c464508327c8adba260ba9.png`\n2. Select the **replacement texture PNG**: your new HD version, e.g.: `Characters/Tifa/TifaPreBattle.png`\n4. Select or load your **textures.ini** file.\n5. Choose a **Category** and **Sub-Category** if applicable.\n6. Click **Append to textures.ini**.\n\nThe entry will be written in the correct format and sorted alphabetically within its section.\n\n\u003e **Do not include spaces or invalid characters. Type everything together or separate it using - or _. Can include numbers.**\n---\n\n## It is very important to **NOT** rename the original file.\n\nIt should maintain its hexadecimal string for the replacement to work.\n\n**Example:**\n\n\u003eIf the filename is `08f8a0600867fb0f764f3a0d.png` do not change it to `KainPortrait_old.png` or PPSSPP will not overwrite it.\n---\n\n\u003cimg width=\"522\" height=\"356\" alt=\"App1\" src=\"https://github.com/user-attachments/assets/0968b850-b526-4976-b044-afacc18ddc63\" /\u003e\u003cimg width=\"522\" height=\"356\" alt=\"App2\" src=\"https://github.com/user-attachments/assets/0e4c2377-3d96-4d93-8eda-fe827a2fce6f\" /\u003e\n\n\u003cimg width=\"407\" height=\"539\" alt=\"Kain3\" src=\"https://github.com/user-attachments/assets/abe74b37-29e7-4e76-bb1d-98de56c474e7\" /\u003e\n\n---\n\n## textures.ini format\n\nPPSSPP identifies textures using only the last 8 digits of their hash code. The tool automatically formats the entry so only those 8 digits are written to the .ini file.\nThe tool uses `\u003e` for top-level categories and `\u003e\u003e` for sub-categories:\n```\n\u003eCharacters\n\u003e\u003eAerith\n0000000000000000668a48bc = Characters/Aerith/AerithMenuPort.png\n\n\u003eJobCards\n00000000000000000e58e631 = JobCards/WhiteMage.png\n```\n\n---\n\n## PPSSPP Settings\n\nAfter appending the entries to the .ini file, make sure `texture replacement` is enabled in PPSSPP:\n\n`Settings \u003e Tools \u003e Developer tools \u003e Texture replacement \u003e Replace textures`\n\nFeel free to test it and share your experience on [Issues](../../issues) or on our [Discord server](https://discord.gg/wbpgtKNSM7).\n\n---\n\n## Links\n\n- 🎮 [Discord](https://discord.gg/wbpgtKNSM7)\n- 🐙 [GitHub](https://github.com/LiinkPK/Dissidia-012-HD-Textures)\n- 👾 [Reddit](https://www.reddit.com/r/dissidia/comments/1g6peh2/dissidia_012_hd_remastered_wip/)\n- 🎨 [Patreon](https://www.patreon.com/c/LinkG/membership)\n- 💙 [PayPal](https://www.paypal.com/paypalme/liinkpk)\n\n---\n\n*Thank you so much for using this tool!*\n\n*Created by Link Garcia*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliinkpk%2Fppsspp-texture-replacement-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliinkpk%2Fppsspp-texture-replacement-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliinkpk%2Fppsspp-texture-replacement-tool/lists"}