GimConv: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
(moved from "Multimedia Formats and Tools" page)
 
(reordered)
Line 4: Line 4:


It manages the [[Multimedia Formats and Tools | GIM]] image conversions to use inside [[Resource Container (RCO)]] files, [[PlayStation 3 Theme (P3T)]] files, etc...
It manages the [[Multimedia Formats and Tools | GIM]] image conversions to use inside [[Resource Container (RCO)]] files, [[PlayStation 3 Theme (P3T)]] files, etc...
*Other notes:
**[http://us.playstation.com/support/manuals/psp/pspguides/ PSP Custom Theme Toolbox] admits .GIM files as input, but doesnt includes a gim converter
**Note the option '''-viewer (start gimview.exe when process ends)''' in the config file points to an official gim viewer that doesnt exists in the public release
**Speculation about animated images support http://endlessparadigm.com/forum/showthread.php?tid=5054


=Usage=
=Usage=


==Config file==
==GimConv.exe==
And this is the original configuration file, not modifyed
By specifying a group of options from command line (using the names that appears in the help screen or using the names that appears inside the GimConv.cfg file)
{{Keyboard|content='''gimconv.exe tex_psn.png -o tex_psn.gim --DXT'''}}
 
By specifying the options strictly from command line (using the names that appears inside the GimConv.cfg file) This is the most accurate way to specify options
{{Keyboard|content='''gimconv.exe tex_psn.png -o tex_psn.gim --format_style psp --format_endian big --pixel_order normal'''}}
 
By passing GIM settings from rcomage.exe ---to---> gimconv.exe when compiling the .rco (see the "compile" help in [[rcomage]] page). There are 2 options in rcomage specific for this task, named: '''--gimconv-cmd''' and '''--gimconv-flags'''
{{Keyboard|content=rcomage.exe ...}}
<!-- rcomage.exe compile explore_plugin_full.xml explore_plugin_full.rco --pack-hdr zlib --zlib-method default --zlib-level 9 ...INCOMPLETE_IS_MISSING_GIM_SETTINGS-->
<!-- and i cant make this 2 options work, is driving me nuts, grrr -->
 
==GimConv.cfg==
This is the original configuration file not modifyed, for more info about the modifications made in the config file supplyed with [[rcomage]] see the differences in the {{talk}} page
<div style="height:450px; overflow:auto">
{{Boxcode|content=<syntaxhighlight lang="c">
{{Boxcode|content=<syntaxhighlight lang="c">
//================================================================
//================================================================
Line 256: Line 274:
}
}
</syntaxhighlight>}}
</syntaxhighlight>}}
</div>
===Custom configurations===
The configuration file allows to modify the ''help'' screen of the command line, and to add your own options that can be conposed of groups of settings, there is no need at all to do this (because doesnt really enables any new funcionallity) but is good to keep a record of the most common used formats for a console, also because allows to use cutom names for the options is posible to label them
The config file supplyed by rcomage contains some custom options for the formats used in PSP, it also had some default settings changed (that doesnt really affects much to the usage for PS3), and it also had one group of options added for PS3 (labeled '''-ps3''' at this time) but this group seems to use wrong options


The option '''-ps3''' seems to be wrong, the images inside [[explore_plugin]]_full.rco from firmware 4.70 has been made by using this 3 options
This wiki section proposes some new groups with new label names (to be able to use a new modifyed config file without breaking the compatibility of other tools that uses rcomage as a dependency)


The label names doesnt makes sense at this point, feel free to add more groups of settings following this same method and use any label name, also add some info
*The images inside [[explore_plugin]]_full.rco from firmware 4.70 has been made by using this 3 options (only verifyed for tex_psn.gim)
{{Boxcode|content=<syntaxhighlight lang="c">
{{Boxcode|content=<syntaxhighlight lang="c">
option -ps3 {
option -ps3wiki1 {
format_style = psp
format_style = psp
format_endian = big
format_endian = big
Line 267: Line 294:
</syntaxhighlight>}}
</syntaxhighlight>}}


You can edit the GimConv.cfg file and use GimConv.exe to load the group of options by the option '''-ps3''' in command line this way (or let rcomagegui.exe decide, but im not sure what it does)
*Any other
{{Keyboard|content='''gimconv.exe tex_psn.png -o tex_psn.gim --ps3'''}}
{{Boxcode|content=<syntaxhighlight lang="c">
 
option -ps3wiki2 {
Another way is by specifying the options strictly from command line (using the names that appears inside the GimConv.cfg file)
...
 
}
This is the most accurate way to specify options for GIM conversion, it doesnt uses groups but the result is the same, in this example is a command for gimconv.exe directly
</syntaxhighlight>}}
{{Keyboard|content='''gimconv.exe tex_psn.png -o tex_psn.gim --format_style psp --format_endian big --pixel_order normal'''}}
 
But there is other way, by "redirecting" GIM settings from rcomage.exe ---to---> gimconv.exe at compiling time (see the "compile" help in [[rcomage]] page). There are 2 options in rcomage specific for this task, named: '''--gimconv-cmd''' and '''--gimconv-flags'''
{{Keyboard|content=rcomage.exe ...}}
<!-- rcomage.exe compile explore_plugin_full.xml explore_plugin_full.rco --pack-hdr zlib --zlib-method default --zlib-level 9 ...INCOMPLETE_IS_MISSING_GIM_SETTINGS-->
<!-- and i cant make this 2 options work, is driving me nuts, grrr -->
 
*Other stuffing
**speculation about animated images support http://endlessparadigm.com/forum/showthread.php?tid=5054
**note the option '''-viewer (start gimview.exe when process ends)''' points to an official gim viewer that doesnt exists in the public release
**[http://us.playstation.com/support/manuals/psp/pspguides/ PSP Custom Theme Toolbox] admits .GIM files as input, but doesnt includes a gim converter


=How to identify GIM settings=
*To identify the settings that was used to build a GIM file:
*To identify the settings that was used to build a GIM file:
**Use rcomage to make an extraction of the contents '''without''' conversion of images (this way the GIM are extracted raw)
**Use rcomage to make an extraction of the contents '''without''' conversion of images (this way the GIM are extracted raw)
Line 293: Line 310:


=GIM formats used in PS3=
=GIM formats used in PS3=
*In PS3 it seems to be at least 2 types of GIM images, both included inside rco's, and in some cases both types in the same rco
Has been said [http://endlessparadigm.com/forum/showthread.php?tid=19501&pid=350611#pid350611 here] that PS3 uses at least 2 types of GIM images, both included inside rco's, and in some cases both types in the same rco
**explore_plugin_full.rco (and other explore_plugin_***.rco ?): ('''--format_style psp --format_endian big --pixel_order normal''')
 
**xmb_plugin_normal.rco (and other xmb_***.rco ?): (uses some variant of dxt5)
If an rco contains 2 or more images that was created with different gim settings... it means is not posible to compile this .rco with rcomage by using .png images as source (because rcomage.exe needs to pass some gim settings to gimconv.exe and this settings are applyed to all png images when doing the png--->gim conversion)
**more ?
 
In other words, the only way to compile this rco's is in 2 steps, first is needed to make the different gim conversions with comconv.exe (and all the other conversions in case exists vag audio or a vsmx script), and then is needed to compile the .rco with rcomage.exe by using the gims as source
 
Also means we have a big problem to document in wiki wich settings are used for each image (there are thousands of images so initially seems not posible), but probably they follows a rule, so the solution is to deduce or imagine the real reason of why the ps3 is using different gim formats inside the .rco's
 
{| class="wikitable"
|-
! image group or rco !! gim settings !! notes
|-
| explore_plugin_full.rco (and other explore_plugin_***.rco ?) || --format_style psp --format_endian big --pixel_order normal || candidate to "standard" gim format for main xmb images
|-
| xmb_plugin_normal.rco (and other xmb_***.rco ?) || ? || uses some variant of dxt5 ?
|}
 
==Speculation==
Initially... it seems the gim format depends of who is the responsible of displaying them (as an example, in the link above it seems the images reported as "rare" belongs to "tex_indi_***" (are textures for the "indicator", is the information bar at top-right of xmb, are the tiny icons that appears eventually when you receive an email, etc..). Note also is posible to group them based in how his names starts (all "tex_indi" belongs to indicator so should share the same gim format, even if there are more "tex_indi" inside other rco's)

Revision as of 02:19, 4 March 2015

Description

GimConv v1.20h was released with p3tcompiler v2.00 as part of the PS3 Custom Theme Toolbox

It manages the GIM image conversions to use inside Resource Container (RCO) files, PlayStation 3 Theme (P3T) files, etc...

Usage

GimConv.exe

By specifying a group of options from command line (using the names that appears in the help screen or using the names that appears inside the GimConv.cfg file)

Type This
'''gimconv.exe tex_psn.png -o tex_psn.gim --DXT'''

By specifying the options strictly from command line (using the names that appears inside the GimConv.cfg file) This is the most accurate way to specify options

Type This
'''gimconv.exe tex_psn.png -o tex_psn.gim --format_style psp --format_endian big --pixel_order normal'''

By passing GIM settings from rcomage.exe ---to---> gimconv.exe when compiling the .rco (see the "compile" help in rcomage page). There are 2 options in rcomage specific for this task, named: --gimconv-cmd and --gimconv-flags

Type This
rcomage.exe ...

GimConv.cfg

This is the original configuration file not modifyed, for more info about the modifications made in the config file supplyed with rcomage see the differences in the Discussion page

Code Sample

Custom configurations

The configuration file allows to modify the help screen of the command line, and to add your own options that can be conposed of groups of settings, there is no need at all to do this (because doesnt really enables any new funcionallity) but is good to keep a record of the most common used formats for a console, also because allows to use cutom names for the options is posible to label them

The config file supplyed by rcomage contains some custom options for the formats used in PSP, it also had some default settings changed (that doesnt really affects much to the usage for PS3), and it also had one group of options added for PS3 (labeled -ps3 at this time) but this group seems to use wrong options

This wiki section proposes some new groups with new label names (to be able to use a new modifyed config file without breaking the compatibility of other tools that uses rcomage as a dependency)

The label names doesnt makes sense at this point, feel free to add more groups of settings following this same method and use any label name, also add some info

  • The images inside explore_plugin_full.rco from firmware 4.70 has been made by using this 3 options (only verifyed for tex_psn.gim)
Code Sample
  • Any other
Code Sample

How to identify GIM settings

  • To identify the settings that was used to build a GIM file:
    • Use rcomage to make an extraction of the contents without conversion of images (this way the GIM are extracted raw)
    • Use rcomage to make another extraction of the contents with conversion of images (this way the images are converted to PNG when extracted)
    • Use gimconv to convert the PNG ---to---> GIM by the old method of test-error by trying some of the options availables that appears in gimonv.cfg
    • Use a hexeditor to compare the original GIM extracted in step 1 with the rebuilt GIM from your test, there is no need to make accurate comparisons, just an overview of how the data is ordered
    • When the data seems similar, make a hash comparison of both, original and rebuild should be exactly the same data (is posible to create a GIM exactly like the original)

GIM formats used in PS3

Has been said here that PS3 uses at least 2 types of GIM images, both included inside rco's, and in some cases both types in the same rco

If an rco contains 2 or more images that was created with different gim settings... it means is not posible to compile this .rco with rcomage by using .png images as source (because rcomage.exe needs to pass some gim settings to gimconv.exe and this settings are applyed to all png images when doing the png--->gim conversion)

In other words, the only way to compile this rco's is in 2 steps, first is needed to make the different gim conversions with comconv.exe (and all the other conversions in case exists vag audio or a vsmx script), and then is needed to compile the .rco with rcomage.exe by using the gims as source

Also means we have a big problem to document in wiki wich settings are used for each image (there are thousands of images so initially seems not posible), but probably they follows a rule, so the solution is to deduce or imagine the real reason of why the ps3 is using different gim formats inside the .rco's

image group or rco gim settings notes
explore_plugin_full.rco (and other explore_plugin_***.rco ?) --format_style psp --format_endian big --pixel_order normal candidate to "standard" gim format for main xmb images
xmb_plugin_normal.rco (and other xmb_***.rco ?) ? uses some variant of dxt5 ?

Speculation

Initially... it seems the gim format depends of who is the responsible of displaying them (as an example, in the link above it seems the images reported as "rare" belongs to "tex_indi_***" (are textures for the "indicator", is the information bar at top-right of xmb, are the tiny icons that appears eventually when you receive an email, etc..). Note also is posible to group them based in how his names starts (all "tex_indi" belongs to indicator so should share the same gim format, even if there are more "tex_indi" inside other rco's)