Are different methods, what i was explaining is one of the previous steps to extract the files correctly from official .raf files... to later rebuild it with raf tools... in the same way it was build officially by sony... actually after the whole process of extracting everything and rebuilding it.... the resulting coldboot.raf has exactly the same MD5 than the official, heheh
The other method you are using is more like an "injection"... you keep the original structure and replace some files (or settings) inside it
Is more restrictive because you cant "inject" bigger or smaller files (smaller files will create a "gap" or zeroes... and bigger files will displace other files so the structure will be broken), but if you replace a file by another file of the same size then is correct and should work, is ok
Returning to the problem you was mentioning about images ignoring colors... by comparing the xml file you can see where is stored the setting that is causing you problems, look at here
http://www.psdevwiki.com/ps3/Talk:Coldboot.raf#Coldboot.sxml
This is the xml generated by flatz cxml tool from the official coldboot.raf
The value you should change is
effect="sce01"
because you are using an "injection" instead of fully rebuilding... what you shoud try is to locate where is stored that value when looking at the raf file in a hexeditor... and see if there is room to replace it by the other options, you can replace it by one of this:
http://www.psdevwiki.com/ps3/Rich_Appearance_Format_(RAF)#RAF_Scene_.28.XML.29
-
pure_texture : No lighting. Display the texture as is.
-
pure_texture_alpha_0_depth_1 : Remove alpha from pure_texture
-
pure_texture_alpha_1_depth_0 : Remove depth from pure_texture
-
pure_texture_alpha_0_depth_0 : Remove alpha and depth from pure_texture
-
basic_lighting : Basic lighting
-
basic_lighting_alpha_0 : Remove alpha from basic_lighting
-
basic_lighting_edge_lit : Throw light on object's edges in addition to basic_lighting
-
basic_lighting_edge_lit_alpha_0 : Remove alpha from basic_lighting_edge_lit
-
basic_lighting_alpha_add : Derive blending of basic_lighting by addition calculation
-
sce01 : internal/reserved ? (used in coldboot.raf compiled with raf tools v1.00)
As you can see most of them are "standard" efects.... but the last one (sce01) is something specific for sony they invented... probably is just a combination of the others
I dont know what is is to be honest, never tryed to change it (it was one the next things i was going to experiment with it, but never did)
But if i had to bet... i would bet this is what is causing your problem with colors
----------------------
Edit:
The fact that name
sce01 has a "tail" with a number (the 01) means that they probably considered adding more effects following that name convention at some point (sce02, sce03, sce04, etc....)
I never tested this... so im not sure if sce02, sce03, sce04... exists, is just speculation
Also, is posible that number (the 01) represents some "flags" that could enable or disable effects... so sce01, sce02, sce03, sce04... etc... maybe exists and represents small variations of the basic
sce** effect
----------------------
Edit2:
Just for curiosity sake... i guess there is going to be some people interested in having an overal idea of how this works
To build a raf... you need to prepare a xml that is like a descriptor of the raf contents, and also works as a descriptor of the "scene" (understanding "scene" as a theathre, or a 3D animated clip), i like to call this file the scene.xml
In the scene.xml there are lot of variables that initializes settings... as example... all positions, colors, and things like that are specifyed in the scene.xml (light/s and camera positions and colors too)
But in the javascript you can change that values... in some way the scene.xml is initializing that values... but you can change them with java code
As example... one of the things i did and i mentioned before was to change the colors of the lights along time... and randomnly for every boot using a math function that takes the internal PS3 timer and results in random values... and that values applyed to the colors of the light
Technically... what i was doing is to override with java the initial value specifyed in the scene.xml
<light color="1.0,1.0,1.0" as you can see is pure white officially btw
This functions are java but are not standard java... are additional functions that interacts with the playstation, so are specific for the playstation.... this is why the code of the script is named "playstation javascript"