Dolphin, the GameCube and Wii emulator - Forums

Full Version: Feature Request: Custom Textures Folder for Multiple Games
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hmm? I was almost sure there was a feature suggestion thread, which I am not able to find?

Anyway...

I had this simple and crazy idea. What if a Custom Texture Folder that contained textures can be used for multiple games? While working on the Zelda: Collector's Edition HD Texture Pack over at https://forums.dolphin-emu.org/Thread-ze...2018-03-27, I realized there is a bit of an issue for users.

The texture pack can be used on multiple game titles such as:

PZLP01, PZLJ01, PZLE01: The Legend of Zelda: Collector's Edition (GameCube).
D43P01, D43E01, D43J01, D43U01, D43W01: The Legend of Zelda: Ocarina of Time - Master Quest (GameCube).
NACJ01, NACE01, NACP01: The Legend of Zelda: Ocarina of Time (Virtual Console).
NARJ01, NARP01, NARE01: The Legend of Zelda: Majora's Mask (Virtual Console).

Dolphin already supports for a while having a Custom Texture Folder to be working for every region by only using the first three characters of the Game ID, which means you only need four different folders for these four different versions in this case: PZL, D43, NAC and NAR.

But... Copying the same Custom Texture Folder four times is a waste of precious space, so I use Symbolic Links instead through Windows so that one Custom Texture Folder is linked to the other three folders. Through this isn't exactly a clean and convenient solution.

So what if you could rename a Custom Texture Folder so that it can be used on multiple titles, in this case for example having it named: "PZL_D43_NAC_NAR".

The _ symbol (or any other symbol that might be better suitable) should indicate a new Game ID is following, which in this case causes the Custom Texture Folder is to be used when a title with the Game ID containing PZL, D43, NAC or NAR is booted.

Well... I should make a Pull Request for it over at GitHub... Except... I have no idea where to start. I do get roughly the idea where in the source code Dolphin tries to access custom textures, but still... Even then I couldn't say I have that much experience in this matter, likely I mess it up somewhere. Web programming with JavaScript is more my thing instead. But I can try always. I did some courses in Java 8 (which is already outdated...) previously.

I do hope it is not a task that is too difficult? From my perspective it seems like a small change wherein the code where Dolphin tries to read the Custom Texture Folder and sees if it matches with the title's Game ID that is being ran should be adjusted in that Custom Texture Folder is matched with multiple Game ID's what are being part of the Custom Texture Folder's name. But I could very likely be wrong there.
(10-20-2018, 01:36 AM)Admentus Wrote: [ -> ]Hmm? I was almost sure there was a feature suggestion thread, which I am not able to find?

I guess you mean this one:

https://forums.dolphin-emu.org/Thread-fe...est-thread
Yeah that one... I wasn't I able to find it... Even used search for it.

Yeah... It is one of those days for me...
You can just hardlink directories, there's no need to add any functionality in Dolphin.
Except... Which is exactly what is already happening as I mentioned. It was just that getting a proper implemented feature / solution would avoid the need for a symbolic links and making it easier (or at least simplify the process) for texture pack creators and users alike.

Of course, there aren't that many texture packs that would require this feature. Mostly the Zelda Collector's Edition texture pack does. I can see some use for the Super Mario 64 texture pack. Even the texture packs for both Super Mario Galaxy could be combined into a single pack (if the author would decide for it). Twilight Princess uses two different Game ID's for the GameCube and Wii version, but are still the same game with almost the same textures (mostly the HUD is a bit different due the control scheme layout). And you got Pikmin 1 and 2 for both the GameCube and Wii... That's four different Game ID's already which mostly shares the same textures.
Well this is an extremely niche request. This would benefit... Ocarina of Time. And that's it. That's not a lot of users it would affect. And setting up and training users on this behavior would be a _nightmare_. Yeeaaa just hardlink the folders. >_< It will be WAY less work!
Both Ocarina of Time and Majora's Mask in fact for the most part since it is currently the only texture pack being marketed for multiple Game ID's Smile. But it wouldn't be limited to just both these games if more texture pack creators plan to combine packs for multiple Game ID's.

Of course, there are users which only have one title, but chances are they end up renaming it and missing out on the information on how to name their folder correctly. Since texture packs are being limited to only one Game ID I use PZL as the default Custom Texture Folder name which works if you are using the Collector's Edition disc. Otherwise you end up having to rename it, an additional confusion and step to undertake for users. And then... You have users with multiple versions of the game... The idea is that users should only need to download the texture pack, place it in the correct folder, enable Custom Textures within Dolphin and you are ready to go. Anything more would only add more confusion for the end user.

Ahh well. Just wondering, if it is hard to implement then it isn't worth it. The request is indeed quite niche to merit spending too much workforce on it.
(10-21-2018, 08:28 PM)Admentus Wrote: [ -> ]Both Ocarina of Time and Majora's Mask in fact for the most part since it is currently the only texture pack being marketed for multiple Game ID's Smile. But it wouldn't be limited to just both these games if more texture pack creators plan to combine packs for multiple Game ID's.

Of course, there are users which only have one title, but chances are they end up renaming it and missing out on the information on how to name their folder correctly. Since texture packs are being limited to only one Game ID I use PZL as the default Custom Texture Folder name which works if you are using the Collector's Edition disc. Otherwise you end up having to rename it, an additional confusion and step to undertake for users. And then... You have users with multiple versions of the game... The idea is that users should only need to download the texture pack, place it in the correct folder, enable Custom Textures within Dolphin and you are ready to go. Anything more would only add more confusion for the end user.

Ahh well. Just wondering, if it is hard to implement then it isn't worth it. The request is indeed quite niche to merit spending too much workforce on it.

UM... It might be me... but is everyone forgetting that you can just use the first 3 letters of the gameID and it will load the textures for all those games with that gameID?
(10-23-2018, 01:01 AM)mstreurman Wrote: [ -> ]UM... It might be me... but is everyone forgetting that you can just use the first 3 letters of the gameID and it will load the textures for all those games with that gameID?

In this case, they want to use the same texture pack for different games where the first three characters of the game ID aren't the same.
(10-23-2018, 01:14 AM)JosJuice Wrote: [ -> ]In this case, they want to use the same texture pack for different games where the first three characters of the game ID aren't the same.

Exactly. Having the first three characters is essentially the game itself, so that should contain all regions of the same game. However, sometimes games are being re-released, such as Ocarina of Time with the Collector's Edition, Master Quest and Virtual Console. Majora's Mask has the Collector's Edition and Virtual Console. All these have completely different Game ID's while they are in fact the same game and share almost 99% of the same textures.

(10-23-2018, 01:00 AM)mstreurman Wrote: [ -> ]UM... It might be me... but is everyone forgetting that you can just use the first 3 letters of the gameID and it will load the textures for all those games with that gameID?

So if you for example use a texture pack for Majora's Mask on the Collector's Edition, you need to have the texture pack renamed to PZL. But if you use the Virtual Console version you need to rename the texture pack to NAR. Both are the same game and share 99% of the textures.

Both Super Mario Galaxy games for example are two completely different games with two completely different Game ID's, and yet they share a lot of the same textures since they both use the same engine. The same can be said about Ocarina of Time and Majora's Mask which have a lot of textures in common due the same engine (if you are re-using an engine, you can just as well re-use textures).

Well... The other solution would be the hack these games with a Hex Editor and change to Game ID to be all the same throughout all games... But that will likely cause issues with save files, shaders and I don't know what else... So that isn't really an option.

(10-23-2018, 01:00 AM)mstreurman Wrote: [ -> ]And for everything else you can use symlinks: https://www.howtogeek.com/howto/16226/co...-or-linux/

Of course I already do so. And it perfectly works. But it isn't the easiest or most convenient solution, especially for newcomers. I would rather see a proper solution integrated within Dolphin itself. If this were to be implemented for example, I could just name the texture pack PZL_D43_NAR_NAC myself in the texture pack download and as an user yourself you would not need to trouble yourself with renaming it. As of now, you must rename the texture pack if you are using any version other than the Collector's Edition. This might add some confusion. I had to help out users a few times to remind them that the texture pack must be named accordingly to the used Game ID.

In some cases, you have users with not one but multiple versions. I for example both own the Collector's Edition and Master Quest discs, as well the Virtual Console versions (it is a bit of overkill to own so many versions of the same game, but keep in mind Ocarina of Time used to be my favorite game of all time, with no real competitor in sight, until Breath of the Wild came). In which case there is a bit of a serious issue if you are not using symbolic links, you would not want to copy the texture pack being 2.22 GB for every Game ID on a SSD with less space than your usual HDD.



Honestly said while there is nothing wrong with using symbolic links, it isn't really convenient or easy to use. But yes, it perfectly works, althrough a more pratical solution would be preferred. Of course as said, as long said implementation doesn't trouble itself too much. it is a niche request after all. Nothing many users might actually have a need for this. But perhaps it might motivate texture pack creators to combine texture packs as well for multiple Game ID's.
Pages: 1 2