Editing Talk:GimConv

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 2: Line 2:
[[Rcomage]] uses a GimConv.cfg (configuration file) edited by Zinga Burga to improve compatibility with rcoedit/rcomage and the GIM formats used in PSP
[[Rcomage]] uses a GimConv.cfg (configuration file) edited by Zinga Burga to improve compatibility with rcoedit/rcomage and the GIM formats used in PSP


See: a comparison [https://www.psdevwiki.com/ps3/File:0jIOifM.jpg GimConv.cfg official vs rcomage], and this [http://www.psx-place.com/threads/adding-rco-image-files.2867/#post-22246 talk]
See: a comparison [https://i.imgur.com/0jIOifM.jpg GimConv.cfg official vs rcomage], and this [http://www.psx-place.com/threads/adding-rco-image-files.2867/#post-22246 talk]


==Help screen==
==Help screen==
Line 8: Line 8:


*'''Removed at help screen:'''
*'''Removed at help screen:'''
{{Boxcode|code=<syntaxhighlight lang="c">
{{Boxcode|content=<syntaxhighlight lang="c">
//================================================================
//================================================================
//  gimconv configuration
//  gimconv configuration
Line 22: Line 22:


*'''Added at help screen:'''
*'''Added at help screen:'''
{{Boxcode|code=<syntaxhighlight lang="c">
{{Boxcode|content=<syntaxhighlight lang="c">
//================================================================
//================================================================
//  gimconv configuration
//  gimconv configuration
Line 50: Line 50:


*'''Changed default settings:'''
*'''Changed default settings:'''
{{Boxcode|code=<syntaxhighlight lang="c">
{{Boxcode|content=<syntaxhighlight lang="c">
//----------------------------------------------------------------
//----------------------------------------------------------------
//  default settings
//  default settings
Line 61: Line 61:


*'''Removed default settings:'''
*'''Removed default settings:'''
{{Boxcode|code=<syntaxhighlight lang="c">
{{Boxcode|content=<syntaxhighlight lang="c">
//----------------------------------------------------------------
//----------------------------------------------------------------
//  default settings
//  default settings
Line 84: Line 84:
**As explained before... this problem can be bypassed by overriding this setting, either from command line or editing the file GimConv.cfg to create a custom option with the size values specific for PS3
**As explained before... this problem can be bypassed by overriding this setting, either from command line or editing the file GimConv.cfg to create a custom option with the size values specific for PS3
**Some GIM examples from PS3 with images bigger than 512 pixels in '''explore_plugin_full.rco''':
**Some GIM examples from PS3 with images bigger than 512 pixels in '''explore_plugin_full.rco''':
***'''tex_playing.gim''' (30x900 pixels) https://www.psdevwiki.com/ps3/File:2rjGdbe
***'''tex_playing.gim''' (30x900 pixels) http://imgur.com/2rjGdbe
***'''tex_playing_shadow.gim''' (30x900 pixels)
***'''tex_playing_shadow.gim''' (30x900 pixels)
***'''tex_opt_obi.gim''' (660x6 pixels)
***'''tex_opt_obi.gim''' (660x6 pixels)
**Some GIM examples from PS3 with images bigger than 512 pixels in '''custom_render_plugin.rco''':
**Some GIM examples from PS3 with images bigger than 512 pixels in '''custom_render_plugin.rco ''':
***'''tex_ps3logo.gim''' (1200x128 pixels)
***'''tex_ps3logo.gim''' (1200x128 pixels)
***'''tex_scelogo.gim''' (1024x64 pixels)
***'''tex_scelogo.gim''' (1024x64 pixels)
**Some GIM examples from PS3 with images bigger than 512 pixels in '''sysconf_plugin.rco''':
***'''tex_arrow_anim.gim''' (120x2280 pixels)
***'''tex_arrow_anim_shadow.gim''' (120x2280 pixels)
***'''tex_sce_logo''' (1024x64 pixels)
**Some GIM examples from PS3 with images bigger than 512 pixels in '''ycon_manual_plugin.rco''':
***'''tex_guide.gim''' (520x200 pixels)


*'''output_sequence'''
*'''output_sequence'''
Line 119: Line 113:
==Options==
==Options==
*'''Added options:'''
*'''Added options:'''
{{Boxcode|code=<syntaxhighlight lang="c">
{{Boxcode|content=<syntaxhighlight lang="c">
//--------------------------------------------------------
//--------------------------------------------------------
//  process option
//  process option
Line 147: Line 141:


*'''Removed options:'''
*'''Removed options:'''
{{Boxcode|code=<syntaxhighlight lang="c">
{{Boxcode|content=<syntaxhighlight lang="c">
//--------------------------------------------------------
//--------------------------------------------------------
//  mode option
//  mode option
Line 189: Line 183:
*'''The other removed options'''
*'''The other removed options'''
**Doesnt have much importance, could cause problems depending in what you have for default settings in the lines at top of GimView.cfg you should not use this options directly or individually
**Doesnt have much importance, could cause problems depending in what you have for default settings in the lines at top of GimView.cfg you should not use this options directly or individually
=GimConv.cfg notes (official version)=
This is the configuration file released by sony as part of the [http://uk.playstation.com/ps3/support/settings/detail/linked235336/item85346/Download-PlayStation-3-Custom-Theme-Guidelines/ PS3 Custom Theme Toolbox]
Note there are some modifications made officially by sony at a later version because GimComv was initially made for PSP (those initial GimComv versions compatibles with "PSP only" probably didnt had this PS3 specific settings), but this public release of GimConv was released as part of a toolkit to build PS3 themes so it has some settings specific for PS3
This group at top on the config file are default settings (for PS3) that overrides other default settings of an older version of GimComv (for PSP). They are overwriting default values because the same option is specifyed before in the file, so the last one overrrides the previous one with the same name (and also was added a new option named '''extend_edge''' that should be PS3 specific)
{{Boxcode|code=<syntaxhighlight lang="c">
//----------------------------------------------------------------
//  default settings
//----------------------------------------------------------------
//  PS3 OSD default settings
format_endian = big // -B
pixel_order = normal // -N
pixel_channel = default // -R
image_format = rgba8888 // --image_format rgba8888
extend_edge = off
</syntaxhighlight>}}
This other group seems to be options for GIM formats used in PS3
{{Boxcode|code=<syntaxhighlight lang="c">
//--------------------------------------------------------
//  PS3 OSD specific options
//--------------------------------------------------------
option -B {
format_endian = big
}
option -X {
pixel_channel = abgr
}
option -R {
pixel_channel = default
}
option -DXT {
pixel_order = default
pixel_channel = default
image_format = default
}
option -E {
extend_edge = on
}
</syntaxhighlight>}}


=Examples=
=Examples=
This is a sequence of image conversions that works as examples for wiki and also as an exercise for practising, the Gimconv.exe options used to create them are discussed on frontpage, -ps3rgba8888 and -ps3dxt5 are the GIM formats used in PS3, the others are just experiments
This is a sequence of image conversions that works as examples for wiki and also as an exercise for practising, the Gimconv.exe options used to create them are discussed on frontpage, -ps3bpp32 and -dxt5 are the GIM formats used in PS3, the others are just experiments


==BMP==
==BMP==
Line 270: Line 215:
==GIM PS3 DXT5==
==GIM PS3 DXT5==
*Second most common GIM format used in PS3
*Second most common GIM format used in PS3
{{Keyboard|content=<syntaxhighlight lang="bash">GimConv.exe 4x2_CA5Exy_32bits.bmp -o 4x2_CA5Exy_32bits_ps3dxt5.gim -ps3dxt5</syntaxhighlight>}}
{{Keyboard|content='''GimConv.exe 4x2_CA5Exy_32bits.bmp -o 4x2_CA5Exy_32bits_ps3dxt5.gim -ps3dxt5'''}}
  Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
  Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
   
   
Line 283: Line 228:
  00000080  <span style="background:#CA5E24;">FF 00 49 92 24 49 92 24 E4 CA E2 CA 55 00 00 00</span>  ÿ.I’$I’$äÊâÊU...
  00000080  <span style="background:#CA5E24;">FF 00 49 92 24 49 92 24 E4 CA E2 CA 55 00 00 00</span>  ÿ.I’$I’$äÊâÊU...


{{Keyboard|content=<syntaxhighlight lang="bash">GimConv.exe 4x2_CA5Exy_32bits.bmp -o 4x2_CA5Exy_32bits_ps3dxt5.gis -ps3dxt5 -S</syntaxhighlight>}}
{{Keyboard|content='''GimConv.exe 4x2_CA5Exy_32bits.bmp -o 4x2_CA5Exy_32bits_ps3dxt5.gis -ps3dxt5 -S'''}}
  .GIS 1.00
  .GIS 1.00
   
   
Line 305: Line 250:
  }
  }


==GIM PS3 RGBA8888==
==GIM PS3 RGBA32==
*First most common GIM format used in PS3
*First most common GIM format used in PS3
{{Keyboard|content=<syntaxhighlight lang="bash">GimConv.exe 4x2_CA5Exy_32bits.bmp -o 4x2_CA5Exy_32bits_ps3rgba8888.gim -ps3rgba8888</syntaxhighlight>}}
{{Keyboard|content='''GimConv.exe 4x2_CA5Exy_32bits.bmp -o 4x2_CA5Exy_32bits_ps3bpp32.gim -ps3bpp32'''}}
  Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
  Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
   
   
Line 321: Line 266:
  00000090  <span style="background:#CA5E24;">CA 5E 21 00 CA 5E 22 00 CA 5E 23 00 CA 5E 24 00</span>  Ê^!.Ê^".Ê^#.Ê^$.
  00000090  <span style="background:#CA5E24;">CA 5E 21 00 CA 5E 22 00 CA 5E 23 00 CA 5E 24 00</span>  Ê^!.Ê^".Ê^#.Ê^$.


{{Keyboard|content=<syntaxhighlight lang="bash">GimConv.exe 4x2_CA5Exy_32bits.bmp -o 4x2_CA5Exy_32bits_ps3rgba8888.gis -ps3rgba8888 -S</syntaxhighlight>}}
{{Keyboard|content='''GimConv.exe 4x2_CA5Exy_32bits.bmp -o 4x2_CA5Exy_32bits_ps3bpp32.gis -ps3bpp32 -S'''}}
  .GIS 1.00
  .GIS 1.00
   
   
Line 344: Line 289:
  }
  }


==GIM PS3 RGBA8888 with fileinfo==
==GIM PS3 RGBA32 with fileinfo==
*First most common GIM format used in PS3 '''with fileinfo !''' (colored in brown below)
*First most common GIM format used in PS3 '''with fileinfo !''' (colored in brown below)
{{Keyboard|content=<syntaxhighlight lang="bash">GimConv.exe 4x2_CA5Exy_32bits.bmp -o 4x2_CA5Exy_32bits_ps3rgba8888_footer.gim -ps3rgba8888 --update_fileinfo on</syntaxhighlight>}}
{{Keyboard|content='''GimConv.exe 4x2_CA5Exy_32bits.bmp -o 4x2_CA5Exy_32bits_ps3bpp32_footer.gim -ps3bpp32 --update_fileinfo on'''}}
  Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
  Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
   
   
Line 366: Line 311:
  000000F0  <span style="background:#ccaa88;">43 6F 6E 76 20 31 2E 32 30 68 00 00</span>              Conv 1.20h..
  000000F0  <span style="background:#ccaa88;">43 6F 6E 76 20 31 2E 32 30 68 00 00</span>              Conv 1.20h..


{{Keyboard|content=<syntaxhighlight lang="bash">GimConv.exe 4x2_CA5Exy_32bits.bmp -o 4x2_CA5Exy_32bits_ps3rgba8888_footer.gis -ps3rgba8888 --update_fileinfo on -S</syntaxhighlight>}}
{{Keyboard|content='''GimConv.exe 4x2_CA5Exy_32bits.bmp -o 4x2_CA5Exy_32bits_ps3bpp32_footer.gis -ps3bpp32 --update_fileinfo on -S'''}}
  .GIS 1.00
  .GIS 1.00
   
   
Line 397: Line 342:




==GIM PS3 RGBA8888 with fileinfo and userdata==
==GIM PS3 RGBA32 with fileinfo and userdata==
This is a test where has been removed all the paddings, by using an image named '''[[:Image:4x2_CA5Exy_32bits.bmp|NOPADD.BMP]]''' and a file named '''NOPADD.DAT''' containing the bytes 0x555345524441544141524541 ('''USERDATAAREA''')
This is a test where has been removed all the paddings, by using an image named '''[[:Image:4x2_CA5Exy_32bits.bmp|NOPADD.BMP]]''' and a file named '''NOPADD.DAT''' containing the bytes 0x555345524441544141524541 ('''USERDATAAREA''')


{{Keyboard|content=<syntaxhighlight lang="bash">GimConv.exe NOPADD.BMP -o NOPADD.gim -ps3rgba8888 --update_fileinfo on --update_userdata on</syntaxhighlight>}}
{{Keyboard|content='''GimConv.exe NOPADD.BMP -o NOPADD.gim -ps3bpp32 --update_fileinfo on --update_userdata on'''}}
  Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
  Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
   
   
Line 419: Line 364:
  000000E0  38 00 47 69 6D 43 6F 6E 76 20 31 2E 32 30 68 00  8.GimConv 1.20h.
  000000E0  38 00 47 69 6D 43 6F 6E 76 20 31 2E 32 30 68 00  8.GimConv 1.20h.


{{Keyboard|content=<syntaxhighlight lang="bash">GimConv.exe NOPADD.BMP -o NOPADD.gis -ps3rgba8888 --update_fileinfo on --update_userdata on -S</syntaxhighlight>}}
{{Keyboard|content='''GimConv.exe NOPADD.BMP -o NOPADD.gis -ps3bpp32 --update_fileinfo on --update_userdata on -S'''}}
  .GIS 1.00
  .GIS 1.00
   
   
Line 453: Line 398:


This is another test where has been added paddings, by using an image named '''[[:Image:4x2_CA5Exy_32bits.bmp|YESPADD.BMP]]''' and a file named '''YESPADD.DAT''' containing the bytes 0x55534552444154414152454158 ('''USERDATAAREAX''')
This is another test where has been added paddings, by using an image named '''[[:Image:4x2_CA5Exy_32bits.bmp|YESPADD.BMP]]''' and a file named '''YESPADD.DAT''' containing the bytes 0x55534552444154414152454158 ('''USERDATAAREAX''')
{{Keyboard|content=<syntaxhighlight lang="bash">GimConv.exe YESPADD.BMP -o YESPADD.gim -ps3rgba8888 --update_fileinfo on --update_userdata on</syntaxhighlight>}}
{{Keyboard|content='''GimConv.exe YESPADD.BMP -o YESPADD.gim -ps3bpp32 --update_fileinfo on --update_userdata on'''}}
  Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
  Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
   
   
Line 474: Line 419:
  00000100  00 <span style="background:#aaaaaa;">00 00 00</span>                                      ....
  00000100  00 <span style="background:#aaaaaa;">00 00 00</span>                                      ....


{{Keyboard|content=<syntaxhighlight lang="bash">GimConv.exe YESPADD.BMP -o YESPADD.gis -ps3rgba8888 --update_fileinfo on --update_userdata on -S</syntaxhighlight>}}
{{Keyboard|content='''GimConv.exe YESPADD.BMP -o YESPADD.gis -ps3bpp32 --update_fileinfo on --update_userdata on -S'''}}
  .GIS 1.00
  .GIS 1.00
   
   
Line 508: Line 453:




==GIM PS3 RGBA8888 multiple images merged==
==GIM PS3 RGBA32 multiple images merged==
It works ! better examples later
It works ! better examples later


  C:\Copy of GimConv 01>GimConv.exe NOPADD.BMP YESPADD.BMP -o multiimage.gim -ps3rgba8888 --update_fileinfo on --update_userdata on --merge_mode image
  C:\Copy of GimConv 01>GimConv.exe NOPADD.BMP YESPADD.BMP -o multiimage.gim -ps3bpp32 --update_fileinfo on --update_userdata on --merge_mode image
  load "NOPADD.BMP"
  load "NOPADD.BMP"
  load "YESPADD.BMP"
  load "YESPADD.BMP"
Line 517: Line 462:
  save "./multiimage.gim"
  save "./multiimage.gim"


  C:\Copy of GimConv 01>GimConv.exe NOPADD.BMP YESPADD.BMP -o multiimage.gis -ps3rgba8888 --update_fileinfo on --update_userdata on --merge_mode image -S
  C:\Copy of GimConv 01>GimConv.exe NOPADD.BMP YESPADD.BMP -o multiimage.gis -ps3bpp32 --update_fileinfo on --update_userdata on --merge_mode image -S
  load "NOPADD.BMP"
  load "NOPADD.BMP"
  load "YESPADD.BMP"
  load "YESPADD.BMP"
Line 523: Line 468:
  save "./multiimage.gis"
  save "./multiimage.gis"


==GIM PS3 RGBA8888 multiple frames merged==
==GIM PS3 RGBA32 multiple frames merged==
  C:\Copy of GimConv 01>GimConv.exe NOPADD.BMP NOPADD.BMP NOPADD.BMP -o multiframe.gim -ps3rgba8888 --update_fileinfo on --update_userdata on --merge_mode frame
  C:\Copy of GimConv 01>GimConv.exe NOPADD.BMP NOPADD.BMP NOPADD.BMP -o multiframe.gim -ps3bpp32 --update_fileinfo on --update_userdata on --merge_mode frame
  load "NOPADD.BMP"
  load "NOPADD.BMP"
  load "NOPADD.BMP"
  load "NOPADD.BMP"
Line 531: Line 476:
  save "./multiframe.gim"
  save "./multiframe.gim"


  C:\Copy of GimConv 01>GimConv.exe NOPADD.BMP NOPADD.BMP NOPADD.BMP -o multiframe.gis -ps3rgba8888 --update_fileinfo on --update_userdata on --merge_mode frame -S
  C:\Copy of GimConv 01>GimConv.exe NOPADD.BMP NOPADD.BMP NOPADD.BMP -o multiframe.gis -ps3bpp32 --update_fileinfo on --update_userdata on --merge_mode frame -S
  load "NOPADD.BMP"
  load "NOPADD.BMP"
  load "NOPADD.BMP"
  load "NOPADD.BMP"
Line 537: Line 482:
  import "NOPADD.dat" ( 12 bytes )
  import "NOPADD.dat" ( 12 bytes )
  save "./multiframe.gis"
  save "./multiframe.gis"
==TM2 (PS1, PS2, PSP)==
GimConv.exe can convert and create TM2 files, see https://wiki.vg-resource.com/wiki/TIM2 you can get some TM2 samples here: http://www.ps2-home.com/forum/viewtopic.php?f=81&t=1197
The conversion from TM2 to an standard format as PNG or BMP is as easy as this:
{{Keyboard|content=<syntaxhighlight lang="bash">GimConv.exe IGR_BG.TM2 -o IGR_BG.PNG</syntaxhighlight>}}
To create a TM2 mimicking the original settings from other TM2 (for replacing purposes) is not so easy because at the time of convrsion it seems are applyed some of the settings and options of GimConv.cfg
==AVI==
GimConv.exe can import AVI files that was created with compatible codecs (XVID works, IV41 doesnt), you can get a sample.avi here: http://techslides.com/sample-files-for-development
{{Keyboard|content=<syntaxhighlight lang="bash">GimConv.exe sample.avi -o sample.gim</syntaxhighlight>}}
{{Keyboard|content=<syntaxhighlight lang="bash">GimConv.exe sample.avi -o sample.gis -S</syntaxhighlight>}}
==DDS==
See: [[Multimedia Formats and Tools#DDS]]
GimConv.exe can import compatible DDS formats, there are a lot of DDS variants though (DXT based formats are supported, and cubemap 3D textures doesnt seems to be supported). Some of the more complex featurs of GimConv.exe are directly related with DDS... in other words only can be achievd by importing a DDS file that already contains the "features" that are going to be stored in the GIM... alternativelly it looks like is posible to achieve the same goal by building the GIM from other imput formats and using the '''merge_mode''' settings, this is hardcore though and needs some scripts or additionall code to manage GimConv.exe features in a automated way
Some samples here: https://github.com/Jam3/parse-dds/tree/master/test/fixtures
{{Keyboard|content=<syntaxhighlight lang="bash">GimConv.exe test-dxt5.dds -o test-dxt5.gim</syntaxhighlight>}}
{{Keyboard|content=<syntaxhighlight lang="bash">GimConv.exe test-dxt5.dds -o test-dxt5.gis -S</syntaxhighlight>}}
*Notes:
**<strike>Max number of mipmaps = 8 (otherway returns the error '''WARNING : too many image level count %s''')</strike>. This restriction can be bypassed by changing the default setting: '''limit_level_count = 8''' on GimConv.cfg
**Cubemaps not supported
*Links
**https://msdn.microsoft.com/en-us/library/windows/desktop/bb153349(v=vs.85).aspx
**https://en.wikipedia.org/wiki/S3_Texture_Compression
**https://en.wikipedia.org/wiki/Cube_mapping
**http://wiki.polycount.com/wiki/Mip_Mapping
**https://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)