Texture Packs and Resource Packs Information
This section aims to teach users how to install texture packs and resource packs, and explain the differences between them.
Texture Pack vs. Resource Pack:
You NEVER have to use a texture pack and resource pack together if a texture pack author provides both, pick one or the other. At the moment there isn't much of a difference between texture packs and resource packs; a resource pack essentially installs a texture pack and includes a few extra files that allows Dolphin to manage it. The main difference is that "texture packs" must be manually installed, and "resource packs" can be installed and managed via the Resource Pack Manager within Dolphin. Dolphin can not manage installed texture packs, but it can manage resource packs.
Texture Pack:
- All textures are contained within a folder named after the Game ID.
- Must be manually installed by copying the folder into the correct location.
- Uses less disk space than a resource pack.
- Dolphin does not have a UI that can detect/manage installed texture packs.
Resource Pack:
- All textures are contained within a ZIP file.
- Must be installed using Dolphin's Resource Pack Manager.
- Uses more disk space than a texture pack (the zip file is kept after installation).
- Installed resource packs can be managed through Dolphin's UI.
DDS vs. PNG Packs:
It would require a lengthy article to describe all the differences of DDS textures vs. PNG textures, but I'll try to keep it brief.
You NEVER want to use both a PNG and DDS pack together, always pick one or the other. The short version is, if a texture pack author provides both a DDS and PNG version of their texture/resource pack, you most likely want to use the DDS version. The reason is that DDS is much faster to load than PNG and is less likely to "stutter" when textures are loaded in. There is a caveat to DDS textures, and that is reduced image quality. But, a properly created DDS texture pack will be nearly indistinguishable from its PNG counterpart.
There are several types of DDS formats, ranging from BC1-BC7, and can also be known as DXT1-DXT5. The format that users should be concerned about in regards to Dolphin texture packs is the BC7 format. If a texture pack is using BC7 DDS textures, the user must have a DX11 capable GPU or the textures will not load. In this case, the user must use a PNG version of the pack, or find/request a version of the pack that does not use BC7 textures. Fortunately, this should become more and more rare as hardware evolves and users upgrade their equipment.
DDS Packs:
- Faster to load than PNG.
- Mostly or completely eliminates stuttering.
- Compression leads to loss in quality.
- Usually larger file sizes than PNG.
- Should only be used as texture packs.
- Harder to edit/work with than PNG.
PNG Packs:
- Slower to load than DDS.
- May cause stuttering when loaded in.
- Highest quality textures.
- Usually smaller file sizes than DDS.
- Mostly used for archival purposes.
- Easier to edit for other texture developers.
How to Install and Load Texture Packs:
1.) Download a texture pack and extract it somewhere.
2.) There should be a folder with 3/6 digits, this is the texture pack main folder.
Example Image:
3.) Open Dolphin emulator.
4.) Navigate to the Dolphin User folder from the menu bar: File > Open User Folder
Example Image:
5.) From there you will see a Load folder, open that, then open the Textures folder.
Example Image:
6.) Copy/paste or drag/drop the 3/6 digit texture pack folder into this Textures folder.
7.) Enter Graphics > Advanced tab > Check Load Custom Textures.
Optional: Prefetch Custom Textures - Caches textures in RAM when game is loaded. May reduce stuttering.
Example Image:
8.) Enter Graphics > Enhancements tab > increase Internal Resolution to match or exeed your screen resolution.
Example Image:
9.) Load the game and play!
How to Install and Load Resource Packs:
1.) Download a resource pack and place it somewhere temporary. It will be moved shortly.
2.) Open the Resource Pack Manager in Dolphin emulator.
Example Image:
3.) Click the Open Directory... button.
Example Image:
4.) Move the resource pack zip file into the window that pops up.
Example Image:
5.) Close the window. Press the Refresh button on the Resource Pack Manager window.
6.) Highlight the resource pack you want to install and press the Install button. The entry should turn green.
7.) Enter Graphics > Advanced tab > Check Load Custom Textures.
Optional: Prefetch Custom Textures - Caches textures in RAM when game is loaded. May reduce stuttering.
Example Image:
8.) Enter Graphics > Enhancements tab > increase Internal Resolution above 1x.
Example Image:
9.) Load the game and play!
Creating Texture Packs
The rest of this post is geared towards texture pack creators, maintainers, or interested users. I have tried to compile as much information as possible without going overboard. No need to read further if the goal is only to install texture packs.
Dumping Textures With Dolphin:
To dump textures with Dolphin, open the Graphics configuration, click on the Advanced tab, and check Dump Textures and Dump Base Textures. If you want, you can disable Dump Mip Maps to drastically cut down on the number of textures that dump. But do keep in mind that some textures dump with Arbitrary Mipmaps which is covered later, and disabling the dumping of mipmaps will miss these textures.
When playing the game, dumped textures will show up in ..\DolphinUserFolder\Dump\Textures\<GameID>. Textures must be loaded in-game for them to dump. You can not dump the entire game in one go. Textures can not be dumped from the disc themselves, as the filenames will not match the hash needed by Dolphin. The only way to dump all textures is to play the entire game and experience all textures in-game.
Now just to throw this out there, it's not entirely impossible to dump the files from the game disc and get the correct hashes. But it would require a LOT of effort, and the method of doing so would be different from game to game. You would need to find a way to extract the raw images from the disc which are most likely using propriety compression techniques, use xxhash to calculate the hashes of the raw images, and assemble a file name using the naming scheme that Dolphin uses (tex1_dimensions_hash_format.extension). By the time this is all accomplished, in the end it may have been easier to just play the game and dump the textures.
Dolphin Custom Texture Basic Info:
A quick overview of a texture dumped by Dolphin. It will look something like this: tex1_256x256_m_efef240984783a47_14.png.
• The header "tex1" means that this is the first revision of the new format.
• Next is the dimensions, the dumped texture has the dimensions 256x256.
• Next is the letter "m", which says this is a mipmap texture.
• Next is the unique hash of the texture.
• Last is a flag for the texture format.
Features of the current texture format:
• No Game ID in the texture name. When converting a pack for another region, you only need to rename the GameID folder (or use the region free 3 letter equivalent).
• Texture packs can have any number of sub-folders that contain textures within the GameID folder for better organization.
• Textures can be dumped with ANY Texture Cache accuracy setting, and are are always compatible with every Texture Cache accuracy.
• The dimensions of the original texture are now in the file name so there is a permanent reference for your custom texture.
• Paletted textures once retextured, load up correctly everywhere in the game. (There are exceptions, see section on wildcards).
• If a texture requires mipmaps, the dimensions will be followed with an "m" flag (Example: tex1_256x256_m_efef240984783a47_14.png).
• If a texture has arbitrary mipmaps, then the texture will end with an "_arb" suffix (Example: tex1_128x32_m_acb0eea2ba61e548_2_arb.png).
• The "_arb" suffix can be used on any custom texture to draw mipmaps at a fixed distance (see section on arbitrary mipmaps).
Custom Texture Dimensions:
Custom textures created with dimensions that exceed the original dimensions should always be calculated by multiplying the width and height by an integer (whole number). The same integer should be used for both the width and height so the aspect ratio is maintained. For example, suppose we want to create an HD version of a 128x128 texture. Using integer upscale values, the following dimensions are valid:
2x size : (128*2)x(128*2) : 256x256
3x size : (128*3)x(128*3) : 384x384
4x size : (128*4)x(128*4) : 512x512
5x size : (128*5)x(128*5) : 640x640
6x size : (128*6)x(128*6) : 768x768
... and so on ...
To calculate the upscale factor of an existing custom texture, simply divide the custom width by the original width and the custom height by the original height.
The quotients (results) are the upscale factor of each dimension. Both dimensions should always be equal, and always be an integer and not a decimal. For example....
Original Dimensions: 16x32
Custom Dimensions: 144x288
Width Scale Factor: 144 / 16 = 9(x) scale
Height Scale Factor: 288 / 32 = 9(x) scale
This is a valid integer scale of 9x.
Textures should not be resized using a decimal scale. It will work in Dolphin, but abusing this will make your textures slower!
Original Dimensions: 128x128
Custom Dimensions: 300x300
Width Scale Factor: 300 / 128 = 2.34(x) scale
Height Scale Factor: 300 / 128 = 2.34(x) scale
The decimal value 2.34 is not an integer scale!
Textures also should not have uneven scales. This throws off the aspect ratio of the texture.
Original Dimensions: 128x64
Custom Dimensions: 640x384
Width Scale Factor: 640 / 128 = 5(x) scale
Height Scale Factor: 384 / 64 = 6(x) scale
The dimensions have different upscale factors between them!
Mipmap Textures:
Some textures dumped by Dolphin contain the mipmap (_m) flag, and are accompanied by smaller versions of the same image that contain a (_mip#) suffix. These are known as mipmap textures. Mipmaps are a collection of images all containing the same image but created at progressively smaller resolutions. Some textures require mipmaps to avoid "shimmering" in the distance. Mipmaps can also contain different images on lower levels to create unique effects. These are called arbitrary mipmaps and are covered more in the next section. Textures without the "m" flag should not be created with mipmaps. Dolphin will not make use of mipmaps if the game that the texture was dumped from did not make use of mipmaps for that texture.
Dimensions for each Mipmap level should be half of the dimensions of the previous level, and should be created all the way down to 1x1. Each MipMap texture name must end with the level of the Mipmap that it represents. For example, level 1 should end with "_mip1, level 2 should end with "_mip2", level 3 should end with "_mip3", etc. Below is an example of properly creating mipmaps for a mipmap texture.
• Level 00: tex1_256x256_m_efef240984783a47_14.png : 1024x1024
• Level 01: tex1_256x256_m_efef240984783a47_14_mip1.png : 512x512
• Level 02: tex1_256x256_m_efef240984783a47_14_mip2.png : 256x256
• Level 03: tex1_256x256_m_efef240984783a47_14_mip3.png : 128x128
• Level 04: tex1_256x256_m_efef240984783a47_14_mip4.png : 64x64
• Level 05: tex1_256x256_m_efef240984783a47_14_mip5.png : 32x32
• Level 06: tex1_256x256_m_efef240984783a47_14_mip6.png : 16x16
• Level 07: tex1_256x256_m_efef240984783a47_14_mip7.png : 8x8
• Level 08: tex1_256x256_m_efef240984783a47_14_mip8.png : 4x4
• Level 09: tex1_256x256_m_efef240984783a47_14_mip9.png : 2x2
• Level 10: tex1_256x256_m_efef240984783a47_14_mip10.png : 1x1
The final mipmap should always have dimensions of 1x1. This holds true even if a dimension hits 1 before the other. In this case, continue to halve the larger dimension, and keep using 1 for the other.
• Level 00: tex1_128x512_m_940b020ff9e6dda0_14.png : 512x2048
• Level 01: tex1_128x512_m_940b020ff9e6dda0_14_mip1.png : 256x1024
• Level 02: tex1_128x512_m_940b020ff9e6dda0_14_mip2.png : 128x512
• Level 03: tex1_128x512_m_940b020ff9e6dda0_14_mip3.png : 64x256
• Level 04: tex1_128x512_m_940b020ff9e6dda0_14_mip4.png : 32x128
• Level 05: tex1_128x512_m_940b020ff9e6dda0_14_mip5.png : 16x64
• Level 06: tex1_128x512_m_940b020ff9e6dda0_14_mip6.png : 8x32
• Level 07: tex1_128x512_m_940b020ff9e6dda0_14_mip7.png : 4x16
• Level 08: tex1_128x512_m_940b020ff9e6dda0_14_mip8.png : 2x8
• Level 09: tex1_128x512_m_940b020ff9e6dda0_14_mip9.png : 1x4
• Level 10: tex1_128x512_m_940b020ff9e6dda0_14_mip10.png : 1x2
• Level 11: tex1_128x512_m_940b020ff9e6dda0_14_mip11.png : 1x1
Starting with Dolphin 5.0-3506, DDS textures can have built-in mipmaps and do not require external mipmaps mentioned above. This means a DDS texture and all of its mipmaps can be built into a single file. PNG images can not have internal mipmaps, and will always need another image per mipmap layer. DDS internal mipmaps should only be created within mipmap "m" textures, otherwise it's a waste of resources as Dolphin will not make use of them.
Manually creating mipmaps can be a pain. For windows users, my Custom Texture Tool PS can automate creating mipmaps.
Arbitrary Mipmap Effects:
Arbitrary mipmaps contain images that differ from the base image/top level. The purpose of arbitrary mipmaps is to create effects that appear/disappear depending on how far the texture is away from the camera. The vast majority of games for the Gamecube and Wii do not use arbitrary mipmap effects, but there are a few that do. One of the greatest examples is the Super Mario Galaxy games which make heavy use of these effects. Textures that have these mipmap effects will dump with the "_arb" suffix under the condition that GPU Texture Decoding is disabled. If it is enabled, textures will not dump with the "_arb" suffix and it may be difficult to know which textures have these effects. Dolphin has the ability to draw these mipmap effects at a fixed distance at any Internal Resolution setting in order to see them the way they were "meant to be seen" by the game's developers, but again, GPU Texture Decoding must be disabled.
Below is an example of a lava texture that uses arbitrary mipmaps in Super Mario Galaxy, as dumped by Dolphin.
And how it looks in-game can be seen here (with GPU Texture Decoding disabled).
Starting with Dolphin 5.0-6197, custom textures can now make proper use of arbitrary mipmaps. Before custom texture mipmaps were drawn at a distance that was defined by the Internal Resolution and Anisotropic Filtering settings, making where they appear unpredictable. Now textures that include the "_arb" suffix, mipmaps will appear at a fixed distance so the artist has full control over where these effects appear. The "_arb" suffix can be added to any custom texture to draw mipmaps at a fixed distance, or it can be removed from textures that dump with the suffix to dynamically draw mipmaps depending on Internal Resolution and Anisotropic Filtering settings. It will be up to the artist or pack maintainer to decide when to use the "_arb" suffix.
Not long after came Dolphin 5.0-6199. This update picks the same mipmap level for custom textures as it would the game's stock textures, meaning it's possible to perfectly line up custom texture effects with the game's stock effects. This also allows for much higher resolution mipmaps. For the best results, the texture's upscaling factor should match the target Internal Resolution setting. Meaning, a 128x128 texture, upscaled by 4x, resulting in a 512x512 texture, will look best at 4x Internal Resolution.
Duplicate Dumps and the Wildcard Character:
A secret feature has been available for years that allows using a wildcard character if the same texture dumps with multiple hashes. Unfortunately, this character (*) was invalid for filenames in Windows. Starting with Dolphin 5.0-8619 the wildcard character has been changed to ($) so Windows users can take advantage of this feature.
Sometimes paletted textures will dump multiple times when the tlut hash changes.
While this is not a common issue (in fact it is very rare), it can happen. Games that are known to be affected are The Legend of Zelda: Twilight Princess (Wii) and Wind Waker (GC). Without the wildcard, every instance of this dump would need to be found in order to have it retextured all the time. This is a nearly impossible feat that wastes a lot of time dumping and ultimately precious disk space. So using the example above, a "$" can be used as the second hash which will effectively retexture every instance.
Example: tex1_48x51_53403146169829a2_$_9.dds
DDS Textures in Dolphin:
There is a lot to this format, so I'm only going to cover some basic information that pertains to creating DDS textures for Dolphin. I have linked a few articles at the bottom of this section that goes much further into detail than I will here. DDS textures have the advantage that they are faster than PNG textures. DDS can completely avoid or greatly reduce stuttering that custom textures may introduce. The situation for PNG textures is improved with the option Prefetch Custom Textures, but DDS will still outperform PNG because they are decoded much faster on the GPU.
The disadvantage of DDS textures is that they are compressed with a lossy algorithm, meaning, the overall quality of the image is reduced when converting to DDS. The quality hit can be avoided using uncompressed DDS textures, but they are much larger in file size and require the same amount of VRAM as PNG. This makes them ideal for UI elements, but not so much for environments and other large textures. Uncompressed DDS textures do however still have a speed advantage over PNG.
• Dolphin currently supports four types of DDS block compression: BC1 (DXT1), BC2 (DXT3), BC3 (DXT5), and BC7.
• It also supports uncompressed DDS textures: DX9 ARGB, DX10 RGBA, or DX10 BGRA. Ishiiruka can not use DX10 RGBA, Red/Blue will be reversed.
• DXT1 textures are half the size of DXT5/BC7, and are faster than most other formats. Not recommended for images with transparency.
• DXT3 should not normally be used as it is the same size as DXT5, only supports 4-bit alpha, and can create noticeable banding.
• DXT5 textures may yield higher quality than DXT1 textures. This is the format that should be used for images with alpha (if not converting to BC7).
• BC7 offers much higher quality than most other formats, is equal in size to DXT5, and has the same VRAM requirements. Requires a DX11 capable GPU.
• Uncompressed provides lossless quality, but are 4x the size of DXT5/BC7 and require 4x the VRAM. These should only be used for smaller textures (like UI/HUD elements).
• DDS textures can have built-in internal mipmaps. These are supported starting with Dolphin 5.0-3506.
• I personally suggest creating packs using BC7 and uncompressed textures going forward. My custom texture tool can aid in converting packs using these formats.
This is a great article on the D3D9 DDS format:
http://www.buckarooshangar.com/flightgear/tut_dds.html
An in-depth explanation of the types of DDS block compression:
http://www.reedbeta.com/blog/understandi...n-formats/
How to calculate the file size of a DDS texture (I've seen many misconceptions on this, so hopefully this clears things up):
http://bhemuhelp.unaux.com/other/ctt/DDS...ations.txt
Dolphin Built-in Texture Converter (Removed in Dolphin 5.0-6208):
Starting with Dolphin v4.0-5234, there is a built-in converter to convert custom textures from the old format to the new format!
This has since been removed from the master branch, but you can still use Dolphin 5.0 to convert to the new format.
• Navigate to C:\Users\UserName\Documents\Dolphin Emulator\Config.
• Open the configuration file GFX.ini with a text editor.
• Find the setting ConvertHiresTextures and set the value from False to True.
• Now just play the game. When Dolphin loads a custom texture it will automatically rename it.
Texture Converter Features:
• If a duplicate paletted texture is found while playing, it will be automatically deleted.
• The texture converter will rename any mipmap files that are found if the base texture (top layer) is found.
• If multiple textures are found that share a duplicate ID, then they will be appended with an incrementing integer.
Custom Texture Dolphin Revisions:
In this section I tried to document all changes to Dolphin that deals with high resolution textures, resource packs, and graphics mods. It is possible I've missed a few.
• Dolphin 4.0-5234 - CustomTexture: new name format
• Dolphin 4.0-8583 - HiresTextures: Also look for directories with 3-character IDs
• Dolphin 5.0-3506 - Native compressed custom texture support
• Dolphin 5.0-4894 - Support loading BC7 (BPTC) textures from DDS files
• Dolphin 5.0-6197 - Treat custom textures with "_arb" suffix as having arbitrary mipmaps
• Dolphin 5.0-6199 - VideoCommon: Apply custom texture scale for arbitrary mipmaps.
• Dolphin 5.0-6208 - CustomTexture: Drop old texture format.
• Dolphin 5.0-7631 - Replace usage of SOIL with libpng
• Dolphin 5.0-8598 - Use simplified libpng PNG reading API to avoid PNG reading bugs.
• Dolphin 5.0-8606 - Fix critical buffer overflow in LoadPNG
• Dolphin 5.0-8619 - VideoCommon/HiresTextures: Change wildcard to a Windows-compatible character
• Dolphin 5.0-9217 - Implement resource packs
• Dolphin 5.0-9558 - SResourcePacks: Support compression
• Dolphin 5.0-9593 - ResourcePacks: Fix various bugs
• Dolphin 5.0-12801 - InputCommon: Dynamic Input Textures
• Dolphin 5.0-13184 - InputCommon: fix dynamic input textures when host key isn't mapped (PR #9312 from iwubcode)
• Dolphin 5.0-13633 - InputCommon: fix potential dynamic input texture crash and an optimization
• Dolphin 5.0-13680 - InputCommon: move some dynamic input texture logic and add specification option (PR #9516 from iwubcode)
• Dolphin 5.0-13710 - InputCommon: dynamic input textures more optimizations
• Dolphin 5.0-14139 - VideoCommon: move all texture calculations to a "TextureInfo" class
• Dolphin 5.0-14263 - VideoCommon/TextureInfo: Restore old mipmap detection logic
• Dolphin 5.0-14445 - VideoCommon: enhance wildcard support in hi res texture lookup
• Dolphin 5.0-15563 - Add option for setting the PNG zlib compression level
• Dolphin 5.0-15571 - Fix saving RGBA images
• Dolphin 5.0-16763 - Introducing a 'GraphicsMod' system for creators
• Dolphin 5.0-16765 - VideoCommon: fix projection graphics mod affecting more than intended
• Dolphin 5.0-16769 - More Graphics Mods Fixes
• Dolphin 5.0-16786 - Add builtin graphics mods
• Dolphin 5.0-16801 - Data: Add Super Mario Sunshine goop map graphics mod
• Dolphin 5.0-16803 - Data: Add Rune Factory Frontier bloom definition graphics mod
• Dolphin 5.0-16805 - Data: add Super Mario Galaxy bloom definition graphics mod
• Dolphin 5.0-16875 - Add Bloom Definitions for Sin and Punishment 2
• Dolphin 5.0-16897 - Add bloom definitions for Sonic Colors
• Dolphin 5.0-17021 - Android: Add graphics mods support to GUI
• Dolphin 5.0-17297 - VideoCommon: fix graphics target texture names for efb/xfb
• Dolphin 5.0-17566 - Update The Last Story GraphicsMod
• Dolphin 5.0-17580 - VideoCommon: add structures to graphics mods internal API
• Dolphin 5.0-17819 - VideoCommon: call texture load graphics mod hook when textures are loaded
• Dolphin 5.0-17828 - VideoCommon: Add option to disable mipmaps
• Dolphin 5.0-18435 - Add bloom definitions for Metroid Prime 3
• Dolphin 5.0-18630 - VideoCommon: allow graphics mods to have access to the file path where the config exists to load additional files
• Dolphin 5.0-18795 - VideoCommon: move hirestexture data to reusable class called CustomTextureData
• Dolphin 5.0-19106 - Update GraphicMods
• Dolphin 5.0-19461 - VideoCommon: don't create an action per target in graphics mods
• Dolphin 5.0-19463 - VideoCommon: check for successful graphics mod action creation before adding targets
• Dolphin 5.0-19485 - VideoCommon: move custom texture data to assets
• Dolphin 5.0-19489 - VideoCommon: add an asset library that loads directly from the filesystem
• Dolphin 5.0-19493 - VideoCommon: add multithreaded asset loader and define a texture asset
• Dolphin 5.0-19495 - VideoCommon: prevent potential data issue when reloading Asset data
• Dolphin 5.0-19499 - VideoCommon: avoid segfault when loading a PNG with no custom texture data levels
• Dolphin 5.0-19509 - VideoCommon: add additional locks around asset access / usage
• Dolphin 5.0-19564 - Data: Add missing Super Mario Sunshine goop map texture to graphics mod
• Dolphin 5.0-19587 - VideoCommon: migrate texture packs to use the asset loader system
• Dolphin 5.0-19590 - VideoCommon: add additional error logs for asset loading and don't crash when asset no longer exists on reload
• Dolphin 5.0-19593 - VideoBackends: add support to allow rendering to multiple output targets
• Dolphin 5.0-19636 - VideoCommon: don't reject game textures which have the wrong size
• Dolphin 5.0-19712 - VideoCommon: move cached texture asset to 'CustomAsset' common code
• Dolphin 5.0-19718 - VideoCommon: add graphics mod callback interface for when a texture is created
• Dolphin 5.0-19780 - VideoCommon: call into graphics mods create texture callback
• Dolphin 5.0-19789 - VideoCommon: add material asset
User Created Texture Tools:
Custom Texture Tool PS (Windows):
This is a PowerShell script that can help identify issues and fix textures in your pack! It can detect bad aspect ratios, improper scaling factors, generate mipmap textures, convert textures between PNG, DDS, and JPG formats, and even fix some textures with bad scaling factors! It requires ImageMagick to function, as Windows cannot read dimensions and write images in batch without an external program. If you want to know more then click on the title above.
Texture Name Sync Tool (Windows):
As you rename textures with Dolphin from the old format to the new, this handy tool by StepDragon can watch for which textures get renamed, and search for and rename any files you have (PSD, XCF, TXT, etc..) that share that texture's name. For example, if texture GAMEID_12345678_0.png gets renamed to tex1_32x32_abcdef0987654321_0.png, then GAMEID_12345678_0.psd will also be renamed to tex1_32x32_abcdef0987654321_0.psd.
HD Dolphin Gamecube Font:
I am also including an HD remake of the Gamecube fonts that are now included with Dolphin, so any game that uses these fonts will load this texture.
• These fonts will NOT work if IPL.bin is present in Dolphins GC\<Region> folder.
• There may be alignment issues with some games that may need to be manually fixed for a specific target internal resolution.
• Anyone is free to use it in their texture packs or do anything they want with it.
Donate - Custom Texture Tool - Xenoblade Chronicles HD - New Super Mario Bros. Wii HD - Paper Mario: TTYD HD (Contributor) - Skies of Arcadia HD