You might know this already.
"At 0x5db8:
00011b60000400040000000e" - comment from above regarding the 4x4 pink skin texture (CMPR), data shown from DTW
0x00011b60 = location of texture data in DAT file
0x0004 = (the first one) X-pixel texture dimension
0x0004 = (the second) Y-pixel texture dimension
0x0000000e = texture type (0xe = dec. 14 = CMPR texture)
-------------
Although I don't know the full code behind DTW, I'm pretty sure this is why you can't replace an _14 with an _9 (like, a complete swap with a brand new palette and no shared data with previous textures):
An _14 has a file pointer to the texture data, and no file pointer to a palette. An _9 texture has a file pointer to texture data, AND a file pointer to a palette. If you wanted to change an _14 to an _9, you would have to add the pointer to a palette. While their exists a place in the texture structure data where you could technically place a "palette header pointer", the game still ignores this "palette header pointer" because it was never re-told that this address now contains a pointer. In order to "re-tell" it that address is a valid pointer, you would have to extend/modify the relocation table at the end of the DAT file, that contains the address of all the valid pointers in the file.
tldr; You can't simply change a pointer header address from 00000000 to something else and expect it to work. If it wasn't a valid pointer address to begin with, then the only way you can make it one is to modify the relocation table to tell the game that address is now a valid pointer.
Search this forum for "relocation table" for more info.
DRGN
correct me if I am wrong.