What's new
  • Most issues reported these days stem from users not enabling their emulators to use the required amount of RAM.
    We also tend not to use the search feature but post our issues within the texture pack release page.
    Failure to load a texture pack should not be posted in the release thread unless you have already patched the emulator.

    If you don't have the resources to use Large/HD texture packs please do not attempt to do so.
    Users should have a minimum amount of System RAM not less then 4GB's.
    If you have less then 4GB's of RAM do not post about how your emulator crashes,
    RAM is dirt cheap so invest some money into your PC.

    I would like to say thanks to squall_leonhart
    for posting this Solution.

To Rice - Color Indexed Textures Questions

TallgeeseIII

New member
would it be possible to force the game to load color indexed textures with different pallettes than the one that came with it, or to have your plugin dump a pallette file as well like a Photoshop Color Table .act or Microsoft Pallette .pal file? then modify that and have the game import the pallettes to use as well?

most of the best textures, especially in games like zelda where they're your main character, or mega man 64 where all the textures in the game are color indexed, are nearly impossible to modify due to the lack of color usage, any workaround you can think of would drastically improve the high resolution texture projects.

unless i'm mistaken about what ci texture's limitations are, i'm pretty sure this is what you meant.
 

Rice

Emulator Developer
I guess I have answered the question in a few previous threads. The reason why the enhanced texture must use the original palette is that the enhanced texture should work exactly the same way as the original texture even if the texture pallette CHANGES in game.

The important condition here is that the texture pallette could change in game. In fact, it does change in same games like the sky texture in Zelda.

Some background knowledge for all of us:
- The color index array (the texture) and the pallette are not necessary stored together in the N64 memory as the dumpped CI bmp file. They are individually stored. A pallette could be applied to many textures, and a texture could be applied with different pallettes.
- A game could use different pallettes for the same color index array so as to make different textures. In fact, they are the same texture in just different colors because the pallettes are changed.
- We don't know how the pallette of a texture will change in game because there is no way you can follow one perticular texture through the whole game. Because of this reason, we need the new hires texture to use the same pallette as the original one, so the new texture will always work no matter how the pallette changes along the game play.
- It is very possible that the pallette of a texture will never change in the game. For such textures, we could even just use RGBA texture to replace them, just replace them with whatever the new texture we can make. I guess this situation is even more common than that of the pallette of a texture changes. In fact, many games are just using CI textures to save memory storage. Such textures don't use a lot of colors any way. A CI texture uses much less memory than RGBA textures.
- I don't know if it is worth or not to allow using RGBA textures to replace CI texture for some games. Maybe to create a new option to control it, turning it on/off. Such a feature could be easily done. I just don't know if it is worth since we don't know if texture pallettes change or not.


I guess this discussion is still open. Comments are welcomed.
 
Last edited:
OP
TallgeeseIII

TallgeeseIII

New member
ahh, i see, at this point, would your plugin allow an rgb texture to take over for a ci texture? because i'm like 99% positive link's face texture never changes pallettes. or any of the items in smash bros, and definitely nothing in megaman 64.
 

_pm_

Pathetic Member
I think that replacing CI textures with RGBA ones would be a great idea. I also think you could add the feature and leave it "to the texturer's risk" :) The only problem I see is that we must be really careful and make sure that the palette will never change in the game, or else we could ruin something (A good example is the Fire Flower in SSB which uses two or maybe three different palettes for its "animation sequence"). Ridge Racer 64 is probably one of the games that would get a lot of benefit with this.

Just an idea... I don't know how your plugin works internally, but if you can detect the palette changes for the textures, I think it's possible to detect and replace the different color variations of a texture at the expense of more memory and disk space usage (and probably CPU due to the extra calculations).

What I mean... What about dumping all the possible palettes the game uses for a texture in different filenames? (including the texture, not just only the palette)
This way, you could replace them easily with a RGBA version, with the advantage of being truecolor and having the possibility of making a "simulated" palette alteration. You could calculate every palette's CRC and add it to the ci texture filename to make the difference.

The main disadvantage I see is for those games which use lots of palette variations (for example, fading effects): If the game applies 25.000 different palettes to a texture, you'll get 25.000 files this way, only for one texture. Maybe this should be optional and/or limited.
 
Last edited:

Top