• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Official DAT Texture Wizard (current version: 6.1.4)

chillan

Smash Rookie
Joined
Feb 5, 2017
Messages
1
I'm trying to make Falco's feathers on his face grey, but the blue from his jacket keeps reflecting onto his face. Is there any way to fix this?

EDIT: I found the problem. You have to export the .dat file, turn up the shininess (be sure to press enter) on all the related textures and then import it back into your game. You can't just change it right there. Hope this helps :D
 
Last edited:

DRGN

Technowizard
Moderator
Premium
Joined
Aug 20, 2005
Messages
2,175
Location
Sacramento, CA
No more opening Photoshop just to get a color value!

upload_2017-2-7_19-3-24.png


This'll be usable in a few different places to get/set values, like structure colors and palette entries. Still got a bunch of work to do on it though.

Scrub question. Anyway to use this to combine 2 different of the same name as long as they don't have effects at the same time? I want the Green Marth slash (I'll change the color later) and the Purple smoke down smash. both files are PIMs.dat
Yeah, you can do that, but that wouldn't be done with this program. This is [mostly] for textures. You would have to look up what needs to be modified for each specific change you want (I don't know about the ones you mentioned), and then go into the file and make that change.
I'm trying to make Falco's feathers on his face grey, but the blue from his jacket keeps reflecting onto his face. Is there any way to fix this?
Yes. Here; under the Object Properties section, for Color Structs and "Lance Color" Structs. The latter of which may be renamed in the next version, because I think we found the actual name of it.
Anyone know why this happens even with 1x increase http://imgur.com/BXxBqt9?
I'm not sure what you mean by "1x increase" (unless maybe if you mean the 1px increase from the GIMP guide in this post?) If you're referring to the diagonal line that runs through the image, that's expected in vanilla Melee, and yeah, there's a fix for it here. If you use that file, you can ignore the step for the 1px selection increase in the GIMP guide. Also, it looks like you might have shrunk the selection by 1px, rather than grew it (or something was out of order).
 

FrisbeeMD

Smash Rookie
Joined
Oct 25, 2016
Messages
6
Location
Newport News, VA
No more opening Photoshop just to get a color value!

View attachment 125780

This'll be usable in a few different places to get/set values, like structure colors and palette entries. Still got a bunch of work to do on it though.


Yeah, you can do that, but that wouldn't be done with this program. This is [mostly] for textures. You would have to look up what needs to be modified for each specific change you want (I don't know about the ones you mentioned), and then go into the file and make that change.

Yes. Here; under the Object Properties section, for Color Structs and "Lance Color" Structs. The latter of which may be renamed in the next version, because I think we found the actual name of it.

I'm not sure what you mean by "1x increase" (unless maybe if you mean the 1px increase from the GIMP guide in this post?) If you're referring to the diagonal line that runs through the image, that's expected in vanilla Melee, and yeah, there's a fix for it here. If you use that file, you can ignore the step for the 1px selection increase in the GIMP guide. Also, it looks like you might have shrunk the selection by 1px, rather than grew it (or something was out of order).
I used that file, and while ignoring the 1x grow step it still seems to have that line and I assume the grayscale is part of vanilla melee
 

DRGN

Technowizard
Moderator
Premium
Joined
Aug 20, 2005
Messages
2,175
Location
Sacramento, CA
I used that file, and while ignoring the 1x grow step it still seems to have that line
It doesn't look like you're using that MnSlChr file. If you are, then the problem is your texture. When you're working with it in GIMP and have the whole thing opaque (so you can see both panels), you shouldn't see any lines or misalignment. If you still can't find the problem, posting your texture would help.

and I assume the grayscale is part of vanilla melee
As mentioned in the second post I linked to, if you're using that MnSlChr file, then you can use color.
 

FrisbeeMD

Smash Rookie
Joined
Oct 25, 2016
Messages
6
Location
Newport News, VA
It doesn't look like you're using that MnSlChr file. If you are, then the problem is your texture. When you're working with it in GIMP and have the whole thing opaque (so you can see both panels), you shouldn't see any lines or misalignment. If you still can't find the problem, posting your texture would help.

and I assume the grayscale is part of vanilla melee
As mentioned in the second post I linked to, if you're using that MnSlChr file, then you can use color.
http://imgur.com/TaoybFQ
 

DRGN

Technowizard
Moderator
Premium
Joined
Aug 20, 2005
Messages
2,175
Location
Sacramento, CA
The source code of DTW has surpassed 10,000 lines!
party popper 2.png




Did you solve this? I read this a while back and couldn't respond, and then later forgot about it. Sorry about that. There are often a bunch of things I need or want to respond to, so sometimes I can lose track. It looks like that port/door image is fine. So are you sure you put that MnSlChr file in your game? How? Did you replace the .dat or .usd variant? When I tried it just now with your image, it worked fine:
GALE01-20.png
 

Epicmailman12

Smash Rookie
Joined
Mar 5, 2017
Messages
1
NNID
Epicmailman12
Can someone give me a link to this that isn't MediaFire as the sever seems to be down for the sight on my end
 

Goob121

Smash Cadet
Joined
Oct 6, 2015
Messages
46
Location
Indiana
NNID
Goob121
DRGN DRGN this program is amazing! Knowing literally nothing going in, I was able to make a pretty sick Skin For my friend with his tag on falcons back!
Super easy to use will continue making skins
10/10

Is there a way to preview a skin inside of dat texture wizard? Or is dolphin necessary?
 
Last edited by a moderator:

DRGN

Technowizard
Moderator
Premium
Joined
Aug 20, 2005
Messages
2,175
Location
Sacramento, CA
Is there a way to preview a skin inside of dat texture wizard? Or is dolphin necessary?
No. That would imply that we could read/edit models! Unfortunately, the Melee hacking scene isn't that advanced.

Though supposedly Smash Forge (a WIP) can open DATs, but I haven't been able to get it to read anything yet. A good alternative though would be to use Dolphin's texture dump and 'Load Custom Textures' features. If you don't know about these, you can google how to use them. But basically what you'd do is dump all of the textures for a character (enable the option in Dolphin's menus only when the character is about to be loaded, i.e. before you select a stage), isolate the character textures by copying them to the appropriate folder for loading custom textures. Then, while Dolphin stays running, you can edit the textures in that folder, toggle the load custom textures option in Dolphin, and see the changes without having to reload the game. This is what I do sometimes when making costumes that have tricky textures. Then once you're all done, import your finished, edited textures into the character's DAT file with DTW for easy distribution.
 

Goob121

Smash Cadet
Joined
Oct 6, 2015
Messages
46
Location
Indiana
NNID
Goob121
Ohhhh... I was restarting dolphin every time... that will save a good amount of time. Thanks DRGN DRGN
 
Last edited:

revel8n

Smash Cadet
Joined
Dec 1, 2009
Messages
51
No. That would imply that we could read/edit models! Unfortunately, the Melee hacking scene isn't that advanced.

Though supposedly Smash Forge (a WIP) can open DATs, but I haven't been able to get it to read anything yet.
DRGN DRGN , thank you for mentioning this. i never knew about this project. It definitely does indeed read DAT files and also support the Aj files to animate them.

i just made some changes to it as well (pull requests pending).

As time permits i plan to make some other refactoring and fixes while i finish implementing functionality within my own importers.
 
Last edited:

DRGN

Technowizard
Moderator
Premium
Joined
Aug 20, 2005
Messages
2,175
Location
Sacramento, CA
DRGN DRGN , thank you for mentioning this. i never knew about this project. It definitely does indeed read DAT files and also support the Aj files to animate them.

i just made some changes to it as well (pull requests pending).

As time permits i plan to make some other refactoring and fixes while i finish implementing functionality within my own importers.
Awesome! I know the errors I ran into were simple importing errors, but I just didn't have the time to read into it further. And of course, I have no idea what errors I might've encountered if I fixed what I immediately saw, and for now I need to focus on finishing chapters to current projects before exploring another rabbit hole. It's exciting though nonetheless. I wish I had more time for so many things.
 

DRGN

Technowizard
Moderator
Premium
Joined
Aug 20, 2005
Messages
2,175
Location
Sacramento, CA
Pretty huge update! Mostly to working with discs. RIP GCR.

To v5.0:
Rewrote all disc rebuilding functionality, which now allows you to:
- Import (replace) multiple files at once. Even larger ones.
- [Optionally] Avoid rebuilding when importing smaller files
- [Optionally] Avoid rebuilding when importing some larger files
- Add new files or directories to an existing disc image
- Rename files or directories in an existing disc image
- Remove files or directories from an existing disc image
- Open a folder of files (a "Root") to build a new disc
- Specify how much padding should be between files
- Only save/rebuild a disc when you hit save (rather than on-import)
- See what is queued to save, via red highlighted files​
New tab, "Disc Details"! Which includes:
- Feature to export/import game banners (from disc or standalone file)
- Features to view/modify disc titles and other disc info/descriptions
- Explanations of the various titles/descriptions and their usage​
20XX CSS trim* color generation! (+'Auto-Generate Trim Colors' option)
New Tools menu, with a Color Converter and Image Data Length Calculator
Color swatches show next to certain structure values to show their color!
Color Picker tool for hex color entries! (for Ambience, Diffusion, etc.)
Color Picker also available for live editing of palette entries
Warning added in case you might be importing a file over the wrong one
When saving, warns if an ISO is too large for certain loaders
Disc [Texture] Importing Method is now much more efficient
Better Disc [Texture] Import Method error handling (no repeat messages)
Light-red highlighting for textures with nonstandard** dimensions
Added a warning for textures imported that have nonstandard** dimensions
Previews & thumbnails for imported textures now based on the DAT***
Fixed issue where some root/reference node offsets were incorrect
Root/Reference nodes now displayed in a much friendlier message window
Root/Reference nodes in SA tab now displayed in order of file structure
Some offset representations corrected to account for file headers
Improved file name parsing for image type changes on texture imports
Aspect ratio texture filter will now be preserved as originally entered
Changed CCC behavior for Kirby
Eliminated erroneous texture identifications in MnSlChr (CSS file)
Reduced erroneous texture identifications in all other files
Some program initialization optimization
Fixed the issue of ISO File Tree folders inexplicably opening/closing
New convenience feature, "Run In Emulator", to open the ISO in Dolphin
Improved palette recognition & parsing (fixes old custom costume files)
Added "Open Converted File" button to CCC tab
Option added to toggle on/off the disc convenience folders
Many structure properties updated/added or corrected
Structural Analysis tab improvements:
- DAT structural analysis now takes place before texture processing
- Some structures for matAnim_joint root nodes added
- Sibling Texture Structs added
- (^ Makes available more textures via 'Show in Structural Analysis Tab')
- "Pixel Processor Struct" added (part of Material Object structs)
- Vertex Attribute Data Structs added (part of Mesh Structs)
- LOD Struct added (part of Texture Structures)
- Lance Color Struct renamed/rebuilt as 'Texture Environment Struct'​
No longer deletes hex temp files if your hex editor is still open​

*The character port background colors when switching to an alt costume. Can be set manually, or automatically on import.
**i.e. those with a width/height > 1024, or not a multiple of 2
***i.e. based on the converted color data. This means that you'll instantly see how the texture actually renders without having to reload the file.


Also got some pretty awesome convenience functions hidden in there besides the disc stuff:

Generate CSP Trim Colors:
upload_2017-3-24_18-28-10.png


You can use this to easily update the colors behind the player ports / CSPs, used to indicate your L/R costume selection. This will look at the textures of the costume file and automatically generate a base and trim color, which you also manually tweak, and it'll then update those colors in your game! This can be enabled in the settings menu to do so automatically whenever you import a new custom costume file.

Automatic Palette Regeneration:
upload_2017-3-24_18-35-20.png


We've all been there, where we try to import a texture, and the palette is too big. So we have to take it into Photoshop/GIMP and create a new one. Now you don't!

Color Picker
upload_2017-3-24_18-53-23.png


No need to fire up your image editor just to get a color value. Click on that little swatch of color next to the entry field (which shows you the current color of that item) to choose a color and update it!
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Amazing update, DRGN DRGN ! The features you add are creative and well executed. I've been clicking around for an hour checking out the new stuff and am excited to try out the new disc ops.

One quick thing I noticed is that if you generate color trim for a costume, then leave the pop-up window open or exit out of it, and then generate trim for the same costume again --> the colors will be appended to each other in the pop-up window entry boxes. I haven't actually tried clicking the "Update in Game" button to see if it adds in extra data.

TrimProblem.PNG


Also, I love the "Run in Emulator" feature. Do you know if there is any way to check if an instance of the emulator is already running, and if so, open the disc in that existing instance rather a brand new one every time?

Great work.
 
Last edited:

PrinceJohn

Smash Apprentice
Joined
Nov 1, 2014
Messages
192
Slippi.gg
PRJN#560
I was coming here to ask about the Kirby CCC too. Bye bye GCIT and rebuilding everytime. Love it.
 

HyruleWarrior

Smash Rookie
Joined
Sep 18, 2016
Messages
3
I've always had trouble installing textures to my 20xx iso, but with this editor, I replaced over 20 textures with no problem and got them to work on my wii. Thanks DRGN!!!
 

DRGN

Technowizard
Moderator
Premium
Joined
Aug 20, 2005
Messages
2,175
Location
Sacramento, CA
Amazing update, DRGN DRGN ! The features you add are creative and well executed. I've been clicking around for an hour checking out the new stuff and am excited to try out the new disc ops.

One quick thing I noticed is that if you generate color trim for a costume, then leave the pop-up window open or exit out of it, and then generate trim for the same costume again --> the colors will be appended to each other in the pop-up window entry boxes. I haven't actually tried clicking the "Update in Game" button to see if it adds in extra data.

View attachment 127291

Also, I love the "Run in Emulator" feature. Do you know if there is any way to check if an instance of the emulator is already running, and if so, open the disc in that existing instance rather a brand new one every time?

Great work.
Fixed the color appending issue (no, it won't add extra data or brake anything as it is currently, btw). But I noticed a bigger bug! Due to a last minute change, the accent color it's reporting is wrong. Whatever it's showing you for the default accent color, look at the list of colors it generated... the default accent color is supposed to be one color to the right of the default color it picked to suggest! (I changed something to prevent the base and accent colors from ever being the same by default, but instead that messed up the list index.) That'll be fixed too. So, yeah, just FYI if you thought the colors it was picking weren't very good.

As for the "Run in Emulator": yeah, I had the same thought, since I usually close Dolphin's sub-window. I can identify whether Dolphin is already running (and I think get the process), but I don't know how I could send a file or command to that process. Although, I could close the existing Dolphin instance first. Not ideal, but it'd work.

If you decide to check it out here is the info. In the end all I really need to do is figure out if I can figure it out manually, I'll ask the dolphin forums for that.

Dolphin Custom Texture Info (Thread on Dolphin Forums) This has information on the latest format they use.

Build 4.0-5234 info Is the build where the latest commit on the texture format was used.

Looking at the commit info the following locations of the github source code handle the loading and dumping of custom textures:
Source/Core/Common/Hash.h Link
Source/Core/VideoCommon/HiresTextures.cpp Link
Source/Core/VideoCommon/HiresTextures.h Link
Source/Core/VideoCommon/TextureCacheBase.cpp Link Seems to be here...
Source/Core/VideoCommon/VideoConfig.cpp Link
Source/Core/VideoCommon/VideoConfig.h Link
^^ These have quick links to commit change info. ^^ Links to current source files.

Anything else may be in the VideoCommon directory or Hash.cpp. I wish I knew more coding (I only know beginner stuff right now...)
DRGN DRGN I think the code for the hashing is in the Hash.cpp file, linked here, starting with a comment on line 265 and ending on line 314 .
This is what it looks like :



Code:
/*
* NOTE: This hash function is used for custom texture loading/dumping, so
* it should not be changed, which would require all custom textures to be
* recalculated for their new hash values. If the hashing function is
* changed, make sure this one is still used when the legacy parameter is
* true.
*/
u64 GetHashHiresTexture(const u8 *src, int len, u32 samples)
{
    const u64 m = 0xc6a4a7935bd1e995;
    u64 h = len * m;
    const int r = 47;
    u32 Step = (len / 8);
    const u64 *data = (const u64 *)src;
    const u64 *end = data + Step;
    if (samples == 0) samples = std::max(Step, 1u);
    Step = Step / samples;
    if (Step < 1) Step = 1;
    while (data < end)
    {
        u64 k = data[0];
        data+=Step;
        k *= m;
        k ^= k >> r;
        k *= m;
        h ^= k;
        h *= m;
    }

    const u8 * data2 = (const u8*)end;

    switch (len & 7)
    {
    case 7: h ^= u64(data2[6]) << 48;
    case 6: h ^= u64(data2[5]) << 40;
    case 5: h ^= u64(data2[4]) << 32;
    case 4: h ^= u64(data2[3]) << 24;
    case 3: h ^= u64(data2[2]) << 16;
    case 2: h ^= u64(data2[1]) << 8;
    case 1: h ^= u64(data2[0]);
            h *= m;
    };

    h ^= h >> r;
    h *= m;
    h ^= h >> r;

    return h;
}
#else

I think the code for the file name of the dumped texture is in the HiresTextures.cpp file, linked here, starting on line 159 and ending on line 162.
This is what it looks like :



Code:
        std::string basename = s_format_prefix + StringFromFormat("%dx%d%s_%016" PRIx64, width, height, has_mipmaps ? "_m" : "", tex_hash);
        std::string tlutname = tlut_size ? StringFromFormat("_%016" PRIx64, tlut_hash) : "";
        std::string formatname = StringFromFormat("_%d", format);
        std::string fullname = basename + tlutname + formatname;

I think lines 159, 160, and 161 each assign a portion of the file name as noted in Ed94 Ed94 's first Link. Then, I think line 162 smushes the three parts together and assigns it to the string variable fullname (which should be the filename of the dumped texture).

Note: I can only half-understand what the code is doing, but I'm pretty sure this is all correct.
Thanks, that helped a lot to start investigating this. Unfortunately, unless I'm missing something, it doesn't look like it's possible to generate the hash Dolphin creates. It looks like the seed sent to the hashing algorithm is a RAM pointer, which I can't get in DTW without emulating a GC to some extent (or Dolphin, since they probably do it slightly differently). You can see where this is defined in Dolphin's source code in TextureCacheBase.cpp, on line 547, as "src_data". This is then later sent to the GenBaseName function in HiresTextures.cpp as the first argument.

Although, Dolphin should be backwards compatible with the old hashing method, right? So maybe we can use that instead. I'll have to look into it again when I have more time.
 
Last edited:

HoDANG

Smash Rookie
Joined
Jan 3, 2016
Messages
24
Thanks, that helped a lot to start investigating this. Unfortunately, unless I'm missing something, it doesn't look like it's possible to generate the hash Dolphin creates. It looks like the seed sent to the hashing algorithm is a RAM pointer, which I can't get in DTW without emulating a GC to some extent (or Dolphin, since they probably do it slightly differently). You can see where this is defined in Dolphin's source code in TextureCacheBase.cpp, on line 547, as "src_data". This is then later sent to the GenBaseName function in HiresTextures.cpp as the first argument.

Although, Dolphin should be backwards compatible with the old hashing method, right? So maybe we can use that instead. I'll have to look into it again when I have more time.
No, and yes. Texture dump files named the old way are not recognized in newer Dolphin versions by default. However, Dolphin does include a feature for renaming old texture files to the new format. There are instructions on how to enable this setting if you look at the >>Link<< provided by Ed94 Ed94 , Note: The link explains in depth the old v the new texture naming format.

Dolphin Built-in Texture Converter:
Starting with Dolphin v4.0-5234, there is a built-in converter to convert your custom textures to the new naming format!
- Navigate to C:\Users\UserName\Documents\Dolphin Emulator\Config.
- Edit GFX.ini with a text editor.
- Find the setting ConvertHiresTextures and set it from False to True.
- Now just play the game. When Dolphin loads a retexture it will automatically rename it.


There is important information written after these instructions, so rather than pasting the full post here, I'd recommend you read the rest of the post for yourself. The post goes over the different ways for re-naming both textures, palettes, and mipmaps, etc. and does a good job of explaining everything.

Also, thanks for working on this feature for us. :)
EDIT: DRGN DRGN I want to let you know that I am a very novice programmer(only experience is highschool level classes), so all of the places in Dolphinemu's code that I told you to look at are probably the wrong places. If you have questions, you might want to contact one of the people who worked on implementing the texture filename generation.

Also, here is the version where the new texture filename generation was implemented: https://dolphin-emu.org/download/list/master/137/ If you click the link for version 4.0-5234, there is a link to the commit on github. I would assume that you could find the code for generating the old hash by clicking on any version prior to 4.0-5234, then clicking that version's commit link, and then browsing to the file on github that you need.
 
Last edited:

Uzzi

Smash Cadet
Joined
Oct 8, 2016
Messages
39
Awesome update. The CSP background color changer is gonna be a life saver! It was so tedious editing the hex values
 

DRGN

Technowizard
Moderator
Premium
Joined
Aug 20, 2005
Messages
2,175
Location
Sacramento, CA
Sorry to make you have to re-download, but... small update:

To v5.0.1:
- Default CSP trim accent color fixed (was defaulting to the wrong color!)
- CSP Trim Color Generation properly clears old data for subsequent runs*
- DOL texture imports fixed (previously broken in just v5.0)
- The Disc Import Method for importing textures now supports DOL textures
- DOL Texture offsets corrected (previously accounting for a file header)
- Warning added for unsaved palette color changes if unloading DAT
- Fixed an obscure bug that could occur if using multiple import methods​

*This was only an issue if you edited the same costume manually multiple times in one session. Didn't affect the automatic import mode.


The next version should have some new features. I'm thinking true mipmap support. (You can still edit these now in DTW btw, but you need to know how to use the manual placements tab, which is covered in the How to Hack Any Texture thread, and know that subsequent mipmap images for a texture are stored right after one another.) Need to take a little break to work on other projects though.
 
Last edited:

billybillyjim

Smash Rookie
Joined
Apr 15, 2015
Messages
2
Hey DRGN,

First off, I'd like to thank you for making such an amazing and useful tool. I just got into texture modding a few days ago and it's so easy because of DWT.

I also have a question. I was trying to make a peach costume today and found that I couldn't import any type _9 textures. Is this a known issue? Every time I try to import I get this error:

No texture type was found for "PlPeGr.dat_0x515e0_9.png".

The texture type should appear at the end of the file name, e.g. the "_3" in "MnSlChr.dat_0x51c0_3".

It's a bit confusing because I don't rename any textures I edit and even just exporting the texture and importing it back in again gives this error message. I tried removing the filetype ending, but that didn't work either. Am I stuck modifying them color by color in DWT?
 

DRGN

Technowizard
Moderator
Premium
Joined
Aug 20, 2005
Messages
2,175
Location
Sacramento, CA
Hey DRGN,

First off, I'd like to thank you for making such an amazing and useful tool. I just got into texture modding a few days ago and it's so easy because of DWT.

I also have a question. I was trying to make a peach costume today and found that I couldn't import any type _9 textures. Is this a known issue? Every time I try to import I get this error:

No texture type was found for "PlPeGr.dat_0x515e0_9.png".

The texture type should appear at the end of the file name, e.g. the "_3" in "MnSlChr.dat_0x51c0_3".

It's a bit confusing because I don't rename any textures I edit and even just exporting the texture and importing it back in again gives this error message. I tried removing the filetype ending, but that didn't work either. Am I stuck modifying them color by color in DWT?
No, that wasn't a known issue. Thanks for pointing it out.

Looks like I just recently broke that from a rewritten portion of the codec, in order to detect and rebuild palettes earlier in the pipeline. The error is actually referring to a missing type for the palette rather than the image data. (Kinda funny that that resulted in breaking imports with an intact and perfectly acceptable palette.) As a workaround for now, you should be able to remove the palette from your image and import it (I don't know what image editor you use, so you'll have to google that if you don't know how to remove a palette). The program will then generate a new palette automatically and determine the palette type based on that. If you plan on doing many more _9 textures (or anyone else), lmk and I'll try to get a fix up sooner rather than later.
 

Tid

Smash Cadet
Joined
Oct 16, 2011
Messages
25
Location
Central Coast, Australia
No, that wasn't a known issue. Thanks for pointing it out.

Looks like I just recently broke that from a rewritten portion of the codec, in order to detect and rebuild palettes earlier in the pipeline. The error is actually referring to a missing type for the palette rather than the image data. (Kinda funny that that resulted in breaking imports with an intact and perfectly acceptable palette.) As a workaround for now, you should be able to remove the palette from your image and import it (I don't know what image editor you use, so you'll have to google that if you don't know how to remove a palette). The program will then generate a new palette automatically and determine the palette type based on that. If you plan on doing many more _9 textures (or anyone else), lmk and I'll try to get a fix up sooner rather than later.
I'm going to be annoying and second this! The new 20XX release is the first I've seen of this program and it got me really inspired to start texture hacking, and then I immediately had this exact problem. Thanks for the workaround idea, I'll try that!
 

Beige Monkfish

Smash Rookie
Joined
Apr 25, 2017
Messages
2
Hey DRGN! Thanks for creating such an incredibly helpful tool!

Sorry to bother you, but I'm having trouble trying to do something, and at this point I'm stumped and hoped you might have some pointers. I'm trying to turn all of the character tiles in the CSS invisible (to get an uninterrupted shot of the animated background for a video). I can remove all the character tiles just fine, but the grey background behind each tile

is a type _0, so when I remove it or replace it with a blank transparent texture, it still comes up as a blue square. This makes the CSS look like this: https://i.imgur.com/v5l1oII.png, having zeroed-out Mario, Bowser and the ? tiles.

I'm getting the feeling that I'm trying to do something impossible, since from what I've read _0 textures can't do transparency. I don't know if there's another way to hide the texture, like align it off screen, or draw it with a width and height of 0 or something. Any ideas?

Thanks!
 
Last edited:

DRGN

Technowizard
Moderator
Premium
Joined
Aug 20, 2005
Messages
2,175
Location
Sacramento, CA
Hey DRGN! Thanks for creating such an incredibly helpful tool!

Sorry to bother you, but I'm having trouble trying to do something, and at this point I'm stumped and hoped you might have some pointers. I'm trying to turn all of the character tiles in the CSS invisible (to get an uninterrupted shot of the animated background for a video). I can remove all the character tiles just fine, but the grey background behind each tile

is a type _0, so when I remove it or replace it with a blank transparent texture, it still comes up as a blue square. This makes the CSS look like this: https://i.imgur.com/v5l1oII.png, having zeroed-out Mario, Bowser and the ? tiles.

I'm getting the feeling that I'm trying to do something impossible, since from what I've read _0 textures can't do transparency. I don't know if there's another way to hide the texture, like align it off screen, or draw it with a width and height of 0 or something. Any ideas?

Thanks!
Hi. You could try using Dolphin's awesome "Free Look" feature. It allows you to force movement of the camera, which works even in the menus, since they're 3D environments. Enable it by going into the Advanced tab of the Graphics settings. You should be able to see the controls described there (most of them; Q and E are also usable), but basically you would enable this, and once you're on the CSS, hold Shift+W to move the camera forward. You'll bring the camera forward, past the GUI elements, until you get this:
GALE02-3.png

If you still want to keep the other elements without adding them back in with editing, or a view that's further out (at the point of the original camera or further in the opposite direction from the selection icons), then you can move the elements offscreen, like you said. There's documentation on the CSS here. You'll want to look into the CSS Bone Documentation spoiler. The offsets shown are the starts of structures (though they need to be converted to file offsets, as mentioned there). Comparing to the structures here, you'll see that the x and y axis are defined as floats at 0x2C and 0x30 in those structures.

However, in my brief testing a while back, it looked like the characters/objects labeled there were incorrect. For example the one labeled Mario actually moved Samus. Here are some of my notes, for the file offsets so you don't have to convert them (unfortunately it's a little less readable, since copy/pasting from notepad lost the tabs between everything):

RAM Address: Proposed character: File Bone Offsets: Actual character affected: vanilla Coords:
80f44ae8 Mario 358688 Samus 40 6C CC CD 41 50 00 02
80f44b28 Luigi 3586c8 41 2C 00 00 41 50 00 02
80f44b68 Bowser 358708 41 8E 66 67 41 50 00 02
80f44ba8 Peach 358748 Pikachu C1 8B 99 9A 40 B9 99 98
80f44be8 Yoshi 358788 C1 26 66 67 40 B9 99 98
80f44c28 DK 3587c8 C0 56 66 66 40 B9 99 98
80f44c68 C. Falcon 358808 40 6C CC CD 40 B9 99 98
80f44ca8 Fox 358848 41 2C 00 00 40 B9 99 98
80f44ce8 Ness 358888 none 00 00 00 00 00 00 00 00
80f44d28 Ice Climbers 3588c8 C1 ED 99 9A 41 BC 66 68
80f44d68 Kirby 358908 C1 29 99 94 41 BB 33 34
80f44da8 Samus 358948 C1 29 99 94 41 BB 33 34
80f44de8 Zelda 358988 41 94 00 02 41 BB FF FE
80f44e28 Link 3589c8 none 00 00 00 00 00 00 00 00
80f44e68 Pikachu 358a08 C1 F1 99 9A C0 20 00 00
80f44ea8 Jigglypuff 358a48 C1 6C CC CB C0 20 00 00
80f44ee8 Mewtwo 358a88 3F 19 99 9A C0 20 00 00
80f44f28 Mr. Game & Watch 358ac8 41 80 00 00 C0 20 00 00
80f44f68 Marth 358b08 none 00 00 00 00 00 00 00 00
358b48 C1 F1 99 9A C0 9C CC CD
358b88 C1 6C CC C5 C0 9C CC CD
358bc8 3F 19 99 89 C0 9C CC CD
358c08 41 80 00 03 C0 9C CC CD
 
Last edited:

Yaruzu

Smash Cadet
Joined
May 30, 2015
Messages
27
Location
Ontario, Canada
So I've been having these errors I've never seen before when trying to import an image over a texture. It says:


"No texture type was found for "XXXXXXX.usd_0xXXXXXX_9.png".
The texture type should appear at the end of the file name, e.g. the "_3" in "XXXXXXX.usd_0xXXXX_3"."

Not really sure what this means as I can import it into vanilla melee just fine (I'm trying to import into 20XX 4.06).
 

ChaoTea

Smash Rookie
Joined
Jun 2, 2015
Messages
5
Location
NorCal
Hey DRGN appreciate all that you've done for the community and this new DAT is fire. However, I seem to be having an issue with the generating the CSP trims. Everytime I try to edit either the root or ISO I keep getting a blank window versus the actually color swatch thing.
Edit: Apparently this only ever happened if I tried to generate the CSP Trims in a second monitor vs my main monitor.
 
Last edited:

DRGN

Technowizard
Moderator
Premium
Joined
Aug 20, 2005
Messages
2,175
Location
Sacramento, CA
Is there a way to run DTW on a mac? I've heard to use wine in order to run it but it hans't worked for me.
I've never tried. But you have a few options you could try even if you don't have another computer. You could set up a VM (virtual machine) to run Windows on, which is basically a self contained OS running within another OS. Or dual-boot your machine, which means that you would have two operating systems installed on one computer, and when you boot it up, you can choose whether to boot into windows or your Mac OS.

Hey DRGN appreciate all that you've done for the community and this new DAT is fire. However, I seem to be having an issue with the generating the CSP trims. Everytime I try to edit either the root or ISO I keep getting a blank window versus the actually color swatch thing.
Edit: Apparently this only ever happened if I tried to generate the CSP Trims in a second monitor vs my main monitor.
Pretty weird. I have two monitors on this computer I'm using now, and I don't see that issue at all (running Win7). Are you running Windows 10? What build is it? I've seen a number of weird failures in Win10, not even relating to DTW, so I wouldn't be entirely surprised.

Although I am aware of a different problem relating to multiple monitors: tool-tips not moving to the secondary monitors. Which I plan to fix, but it's of course low priority.
 

Tornado9797

Smash Rookie
Joined
Jan 12, 2017
Messages
3
Location
Friendswood, Texas, United States of America
NNID
Tornado9797
3DS FC
0688-6940-8507
Hello everyone! I love the program you have here and I've been getting used to it. Unfortunately I seem to have run into an issue. Any change I make to the closed port seems to lose all of its color. So it renders as this...

http://imgur.com/a/2mwqd

...whereas I want it looking like this:
http://imgur.com/a/xF3Op

I have followed the guide for the closed port editing to the teeth a few times now and the result is always the same. Even within DAT Texture Wizard, the color is all there and accounted for, it's just that in-game all color is gone. What am I doing wrong? Is there a simple solution I overlooked? Any help is appreciated. I built the edit in GIMP.
 
Last edited:

TheJButton

Smash Rookie
Joined
Oct 30, 2013
Messages
5
How do I highlight multiple files at once to be imported/exported/removed etc?
 

DRGN

Technowizard
Moderator
Premium
Joined
Aug 20, 2005
Messages
2,175
Location
Sacramento, CA
Hello everyone! I love the program you have here and I've been getting used to it. Unfortunately I seem to have run into an issue. Any change I make to the closed port seems to lose all of its color. So it renders as this...

http://imgur.com/a/2mwqd

...whereas I want it looking like this:
http://imgur.com/a/xF3Op

I have followed the guide for the closed port editing to the teeth a few times now and the result is always the same. Even within DAT Texture Wizard, the color is all there and accounted for, it's just that in-game all color is gone. What am I doing wrong? Is there a simple solution I overlooked? Any help is appreciated. I built the edit in GIMP.
What is the filename of the file you're importing? An image type -i.e. a number to ID a specific format for storing intensity/color/transparency data- can be specified in the file name, indicated by an underscore followed by a number. If the filename specifies a certain format, then when you import the texture, it will override the format that is currently set in the file you're importing the texture into (so that the game knows what it is and can decode it). If your file's name doesn't end in some image format (for example, "something.png"), then the program will default to use whatever format is currently set for that texture in the file you're importing the texture into. If the image you're importing specifies an image type that doesn't support color, such as _3 (the default for that texture in vanilla Melee), then when it's imported, that type defined in the file you're importing to will be changed to match it, and it will lose its color.

So, probably the easiest way to fix your issue: grab a new copy of the CSS file, rename your texture to end with '_6.png' (this is the high-quality image type 20XXHP uses, which supports color), or instead make sure there is no image type specified, and then import. If you have other changes you don't want to redo, it's possible to instead modify the image data headers in your CSS file back to using _6 in order to re-import your texture (you can't otherwise because the program will assume there isn't enough space in the CSS file for your now seemingly-larger image).

How do I highlight multiple files at once to be imported/exported/removed etc?
For export or deletion, you can select multiple files by clicking on a file, holding shift, and then clicking on another file (which will select those and all in-between), or you can click on a file, and then while holding CTRL, click on other files (which will only add those particular files to the current selection). For importing, use the "Import Multiple Files" option (file selections before clicking on that don't matter), then select the files you want to import. They will replace files in the disc that have their same name.
 

Tornado9797

Smash Rookie
Joined
Jan 12, 2017
Messages
3
Location
Friendswood, Texas, United States of America
NNID
Tornado9797
3DS FC
0688-6940-8507
What is the filename of the file you're importing? An image type -i.e. a number to ID a specific format for storing intensity/color/transparency data- can be specified in the file name, indicated by an underscore followed by a number. If the filename specifies a certain format, then when you import the texture, it will override the format that is currently set in the file you're importing the texture into (so that the game knows what it is and can decode it). If your file's name doesn't end in some image format (for example, "something.png"), then the program will default to use whatever format is currently set for that texture in the file you're importing the texture into. If the image you're importing specifies an image type that doesn't support color, such as _3 (the default for that texture in vanilla Melee), then when it's imported, that type defined in the file you're importing to will be changed to match it, and it will lose its color.

So, probably the easiest way to fix your issue: grab a new copy of the CSS file, rename your texture to end with '_6.png' (this is the high-quality image type 20XXHP uses, which supports color), or instead make sure there is no image type specified, and then import. If you have other changes you don't want to redo, it's possible to instead modify the image data headers in your CSS file back to using _6 in order to re-import your texture (you can't otherwise because the program will assume there isn't enough space in the CSS file for your now seemingly-larger image).
That fixed it, thanks! I was careless with my file naming.
 
Top Bottom