Talk:GimConv: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
m (→‎Examples: 4x2_CA5Exy is more 5Exy)
(→‎Examples: cleanup)
Line 215: 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='''GimConv.exe 4x8_CA5Exy_32bits.bmp -o 4x8_CA5Exy_32bits_ps3dxt5.gim -ps3dxt5'''}}
{{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
   
   
  00000000  <span style="background:#666666; color:#ffffff;">2E 47 49 4D</span> <span style="background:#666666; color:#ffffff;">31 2E 30 30</span> <span style="background:#666666; color:#ffffff;">00 50 53 50</span> <span style="background:#666666; color:#ffffff;">00 00 00 00</span>  .GIM1.00.PSP....
  00000000  <span style="background:#666666; color:#ffffff;">2E 47 49 4D</span> <span style="background:#666666; color:#ffffff;">31 2E 30 30</span> <span style="background:#666666; color:#ffffff;">00 50 53 50</span> <span style="background:#666666; color:#ffffff;">00 00 00 00</span>  .GIM1.00.PSP....
  00000010  00 02 00 00 00 00 00 90 00 00 00 10 00 00 00 10  ................
  00000010  00 02 00 00 00 00 00 80 00 00 00 10 00 00 00 10  ...............
  00000020  00 03 00 00 00 00 00 80 00 00 00 10 00 00 00 10  ...............
  00000020  00 03 00 00 00 00 00 70 00 00 00 10 00 00 00 10  .......p........
  00000030  00 04 00 00 00 00 00 70 00 00 00 70 00 00 00 10  .......p...p....
  00000030  00 04 00 00 00 00 00 60 00 00 00 60 00 00 00 10  .......`...`....
  00000040  00 30 00 00 00 0A 00 00 00 04 00 08 00 08 00 04  .0..............
  00000040  00 30 00 00 00 0A 00 00 00 04 00 02 00 08 00 04  .0..............
  00000050  00 04 00 02 00 00 00 00 00 00 00 30 00 00 00 40  ...........0...@
  00000050  00 04 00 02 00 00 00 00 00 00 00 30 00 00 00 40  ...........0...@
  00000060  00 00 00 60 00 00 00 00 00 01 00 01 00 03 00 01  ...`............
  00000060  00 00 00 50 00 00 00 00 00 01 00 01 00 03 00 01  ...P............
  00000070  00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00  ...@............
  00000070  00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00  ...@............
  00000080  <span style="background:#C0FFEE;">FF 00 49 92 24 49 92 24 E8 CA E2 CA 55 FF AA 00</span>  ÿ.I’$I’$èÊâÊUÿª.
  00000080  <span style="background:#CA5E51;">FF 00 49 92 24 49 92 24 E4 CA E2 CA 55 00 00 00</span>  ÿ.I’$I’$äÊâÊU...
  00000090 <span style="background:#C0FFEE;">FF 00 49 92 24 49 92 24 F0 CA EA CA 55 FF AA 00</span> ÿ.I’$I’$ðÊêÊUÿª.
 
{{Keyboard|content='''GimConv.exe 4x2_CA5Exy_32bits.bmp -o 4x2_CA5Exy_32bits_ps3dxt5.gis -ps3dxt5 -S'''}}
.GIS 1.00
   
  Picture "picture-0" {
Image "image-0" {
Format DXT5
Order NORMAL
Width 4
Height 2
PitchAlign 4
HeightAlign 4
PlaneMask 0x00000000
LevelType MIPMAP
LevelCount 1
FrameType SEQUENCE
FrameCount 1
Pixels "pixels-0" DXT5 NORMAL 4 2 4 4 {
0x00000055 0xCAE2CAE4 0x49249249 0x00FF2492
}
}
  }


==GIM PS3 RGBA32==
==GIM PS3 RGBA32==
*First most common GIM format used in PS3
*First most common GIM format used in PS3
{{Keyboard|content='''GimConv.exe 4x8_CA5Exy_32bits.bmp -o 4x8_CA5Exy_32bits_ps3bpp32.gim -ps3bpp32'''}}
{{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
   
   
  00000000  <span style="background:#666666; color:#ffffff;">2E 47 49 4D</span> <span style="background:#666666; color:#ffffff;">31 2E 30 30</span> <span style="background:#666666; color:#ffffff;">00 50 53 50</span> <span style="background:#666666; color:#ffffff;">00 00 00 00</span>  .GIM1.00.PSP....
  00000000  <span style="background:#666666; color:#ffffff;">2E 47 49 4D</span> <span style="background:#666666; color:#ffffff;">31 2E 30 30</span> <span style="background:#666666; color:#ffffff;">00 50 53 50</span> <span style="background:#666666; color:#ffffff;">00 00 00 00</span>  .GIM1.00.PSP....
  00000010  00 02 00 00 00 00 00 F0 00 00 00 10 00 00 00 10  .......ð........
  00000010  00 02 00 00 00 00 00 90 00 00 00 10 00 00 00 10  ................
  00000020  00 03 00 00 00 00 00 E0 00 00 00 10 00 00 00 10  .......à........
  00000020  00 03 00 00 00 00 00 80 00 00 00 10 00 00 00 10  ...............
  00000030  00 04 00 00 00 00 00 D0 00 00 00 D0 00 00 00 10  .......Ð...Ð....
  00000030  00 04 00 00 00 00 00 70 00 00 00 70 00 00 00 10  .......p...p....
  00000040  00 30 00 00 00 03 00 00 00 04 00 08 00 20 00 10  .0........... ..
  00000040  00 30 00 00 00 03 00 00 00 04 00 02 00 20 00 10  .0........... ..
  00000050  00 01 00 02 00 00 00 00 00 00 00 30 00 00 00 40  ...........0...@
  00000050  00 01 00 02 00 00 00 00 00 00 00 30 00 00 00 40  ...........0...@
  00000060  00 00 00 C0 00 00 00 00 00 01 00 01 00 03 00 01  ...À............
  00000060  00 00 00 60 00 00 00 00 00 01 00 01 00 03 00 01  ...`............
00000070  00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00  ...@............
00000080  <span style="background:#C0FFEE;">CA 5E 11 00 CA 5E 12 00 CA 5E 13 00 CA 5E 14 00</span>  Ê^..Ê^..Ê^..Ê^..
00000090  <span style="background:#C0FFEE;">CA 5E 21 00 CA 5E 22 00 CA 5E 23 00 CA 5E 24 00</span>  Ê^!.Ê^".Ê^#.Ê^$.
000000A0  <span style="background:#C0FFEE;">CA 5E 31 00 CA 5E 32 00 CA 5E 33 00 CA 5E 34 00</span>  Ê^1.Ê^2.Ê^3.Ê^4.
000000B0  <span style="background:#C0FFEE;">CA 5E 41 00 CA 5E 42 00 CA 5E 43 00 CA 5E 44 00</span>  Ê^A.Ê^B.Ê^C.Ê^D.
000000C0  <span style="background:#C0FFEE;">CA 5E 51 00 CA 5E 52 00 CA 5E 53 00 CA 5E 54 00</span>  Ê^Q.Ê^R.Ê^S.Ê^T.
000000D0  <span style="background:#C0FFEE;">CA 5E 61 00 CA 5E 62 00 CA 5E 63 00 CA 5E 64 00</span>  Ê^a.Ê^b.Ê^c.Ê^d.
000000E0  <span style="background:#C0FFEE;">CA 5E 71 00 CA 5E 72 00 CA 5E 73 00 CA 5E 74 00</span>  Ê^q.Ê^r.Ê^s.Ê^t.
000000F0  <span style="background:#C0FFEE;">CA 5E 81 00 CA 5E 82 00 CA 5E 83 00 CA 5E 84 00</span>  Ê^..Ê^‚.Ê^ƒ.Ê^„.
 
==GIM PS3 RGBA32 with footer==
*First most common GIM format used in PS3 '''with footer !'''
{{Keyboard|content='''GimConv.exe 4x8_CA5Exy_32bits.bmp -o 4x8_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
00000000  <span style="background:#666666; color:#ffffff;">2E 47 49 4D</span> <span style="background:#666666; color:#ffffff;">31 2E 30 30</span> <span style="background:#666666; color:#ffffff;">00 50 53 50</span> <span style="background:#666666; color:#ffffff;">00 00 00 00</span>  .GIM1.00.PSP....
00000010  00 02 00 00 <span style="background:#FF6666;">00 00 01 4C</span> 00 00 00 10 00 00 00 10  .......L........
00000020  00 03 00 00 00 00 00 E0 00 00 00 10 00 00 00 10  .......à........
00000030  00 04 00 00 00 00 00 D0 00 00 00 D0 00 00 00 10  .......Ð...Ð....
00000040  00 30 00 00 00 03 00 00 00 04 00 08 00 20 00 10  .0........... ..
00000050  00 01 00 02 00 00 00 00 00 00 00 30 00 00 00 40  ...........0...@
00000060  00 00 00 C0 00 00 00 00 00 01 00 01 00 03 00 01  ...À............
  00000070  00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00  ...@............
  00000070  00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00  ...@............
  00000080  <span style="background:#C0FFEE;">CA 5E 11 00 CA 5E 12 00 CA 5E 13 00 CA 5E 14 00</span>  Ê^..Ê^..Ê^..Ê^..
  00000080  <span style="background:#CA5E51;">CA 5E 11 00 CA 5E 12 00 CA 5E 13 00 CA 5E 14 00</span>  Ê^..Ê^..Ê^..Ê^..
  00000090  <span style="background:#C0FFEE;">CA 5E 21 00 CA 5E 22 00 CA 5E 23 00 CA 5E 24 00</span>  Ê^!.Ê^".Ê^#.Ê^$.
  00000090  <span style="background:#CA5E51;">CA 5E 21 00 CA 5E 22 00 CA 5E 23 00 CA 5E 24 00</span>  Ê^!.Ê^".Ê^#.Ê^$.
000000A0  <span style="background:#C0FFEE;">CA 5E 31 00 CA 5E 32 00 CA 5E 33 00 CA 5E 34 00</span>  Ê^1.Ê^2.Ê^3.Ê^4.
000000B0  <span style="background:#C0FFEE;">CA 5E 41 00 CA 5E 42 00 CA 5E 43 00 CA 5E 44 00</span>  Ê^A.Ê^B.Ê^C.Ê^D.
000000C0  <span style="background:#C0FFEE;">CA 5E 51 00 CA 5E 52 00 CA 5E 53 00 CA 5E 54 00</span>  Ê^Q.Ê^R.Ê^S.Ê^T.
000000D0  <span style="background:#C0FFEE;">CA 5E 61 00 CA 5E 62 00 CA 5E 63 00 CA 5E 64 00</span>  Ê^a.Ê^b.Ê^c.Ê^d.
000000E0  <span style="background:#C0FFEE;">CA 5E 71 00 CA 5E 72 00 CA 5E 73 00 CA 5E 74 00</span>  Ê^q.Ê^r.Ê^s.Ê^t.
000000F0  <span style="background:#C0FFEE;">CA 5E 81 00 CA 5E 82 00 CA 5E 83 00 CA 5E 84 00</span>  Ê^..Ê^‚.Ê^ƒ.Ê^„.
00000100  <span style="background:#FFAAAA;">00 FF 00 00 00 00 00 5C 00 00 00 5C 00 00 00 10</span>  .ÿ.....\...\....
00000110  <span style="background:#FF6666;">34 78 38 5F 43 41 35 45 78 79 5F 33 32 62 69 74</span>  4x8_CA5Exy_32bit
00000120  <span style="background:#FF6666;">73 2E 62 6D 70 00 41 64 6D 69 6E 69 73 74 72 61</span>  s.bmp.Administra
00000130  <span style="background:#FF6666;">74 6F 72 00 53 61 74 20 41 70 72 20 31 34 20 32</span>  tor.Sat Apr 14 2
00000140  <span style="background:#FF6666;">30 3A 30 38 3A 35 34 20 32 30 31 38 00 47 69 6D</span>  0:08:54 2018.Gim
00000150  <span style="background:#FF6666;">43 6F 6E 76 20 31 2E 32 30 68 00 00</span>              Conv 1.20h..
 
If you compare this file with the previous one (same format without footer) the only differences are the bytes marked in red
 
*The value at the header is the file size - 0x10, it changes because the file was increased in size (to add the footer)


*Footer is composed by:
{{Keyboard|content='''GimConv.exe 4x2_CA5Exy_32bits.bmp -o 4x2_CA5Exy_32bits_ps3bpp32.gis -ps3bpp32 -S'''}}
**'''4x8_CA5Exy_32bits.bmp''' (original file name)
**'''Administrator''' (windows user account)
**'''Sat Apr 14 20:08:54 2018''' (timestamp)
**'''GimConv 1.20h''' (GimConv.exe version used to create the GIM file)
 
==GIS==
*This is the script format, it can be generated using any image format as input
{{Boxtip1|content=Any input image format '''to GIS''' is the best way to check how the info is stored in the GIS for every "option", in this example im checking what does the option '''-ps3bpp32'''}}
{{Keyboard|content='''GimConv.exe 4x8_CA5Exy_32bits.bmp -o 4x8_CA5Exy_32bits_ps3bpp32.gis -ps3bpp32 -S'''}}
  .GIS 1.00
  .GIS 1.00
   
   
Line 300: Line 274:
  Order NORMAL
  Order NORMAL
  Width 4
  Width 4
  Height 8
  Height 2
  PitchAlign 16
  PitchAlign 16
  HeightAlign 1
  HeightAlign 1
Line 308: Line 282:
  FrameType SEQUENCE
  FrameType SEQUENCE
  FrameCount 1
  FrameCount 1
  Pixels "pixels-0" RGBA8888 NORMAL 4 8 16 1 {
  Pixels "pixels-0" RGBA8888 NORMAL 4 2 16 1 {
  0x00115ECA 0x00125ECA 0x00135ECA 0x00145ECA
  0x00115ECA 0x00125ECA 0x00135ECA 0x00145ECA
  0x00215ECA 0x00225ECA 0x00235ECA 0x00245ECA
  0x00215ECA 0x00225ECA 0x00235ECA 0x00245ECA
0x00315ECA 0x00325ECA 0x00335ECA 0x00345ECA
0x00415ECA 0x00425ECA 0x00435ECA 0x00445ECA
0x00515ECA 0x00525ECA 0x00535ECA 0x00545ECA
0x00615ECA 0x00625ECA 0x00635ECA 0x00645ECA
0x00715ECA 0x00725ECA 0x00735ECA 0x00745ECA
0x00815ECA 0x00825ECA 0x00835ECA 0x00845ECA
  }
  }
  }
  }
  }
  }


{{Boxtip1|content=Any input image format '''to GIS''' is the best way to check how the info is stored in the GIS for every "option", in this example im checking what does the option '''-ps3dxt5'''}}
==GIM PS3 RGBA32 with footer==
{{Keyboard|content='''GimConv.exe 4x8_CA5Exy_32bits.bmp -o 4x8_CA5Exy_32bits_ps3dxt52.gis -ps3dxt5 -S'''}}
*First most common GIM format used in PS3 '''with footer !'''
  .GIS 1.00
{{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
   
   
  Picture "picture-0" {
  00000000  <span style="background:#666666; color:#ffffff;">2E 47 49 4D</span> <span style="background:#666666; color:#ffffff;">31 2E 30 30</span> <span style="background:#666666; color:#ffffff;">00 50 53 50</span> <span style="background:#666666; color:#ffffff;">00 00 00 00</span>  .GIM1.00.PSP....
Image "image-0" {
00000010  00 02 00 00 <span style="background:#C0FFEE;">00 00 00 EC</span> 00 00 00 10 00 00 00 10  .......ì........
Format DXT5
00000020  00 03 00 00 00 00 00 80 00 00 00 10 00 00 00 10  .......€........
Order NORMAL
00000030  00 04 00 00 00 00 00 70 00 00 00 70 00 00 00 10  .......p...p....
Width 4
00000040  00 30 00 00 00 03 00 00 00 04 00 02 00 20 00 10  .0........... ..
Height 8
00000050  00 01 00 02 00 00 00 00 00 00 00 30 00 00 00 40  ...........0...@
PitchAlign 4
00000060  00 00 00 60 00 00 00 00 00 01 00 01 00 03 00 01  ...`............
HeightAlign 4
00000070  00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00  ...@............
PlaneMask 0x00000000
00000080  <span style="background:#CA5E51;">CA 5E 11 00 CA 5E 12 00 CA 5E 13 00 CA 5E 14 00</span>  Ê^..Ê^..Ê^..Ê^..
LevelType MIPMAP
00000090  <span style="background:#CA5E51;">CA 5E 21 00 CA 5E 22 00 CA 5E 23 00 CA 5E 24 00</span>  Ê^!.Ê^".Ê^#.Ê^$.
LevelCount 1
000000A0  <span style="background:#C0FFEE;">00 FF 00 00 00 00 00 5C 00 00 00 5C 00 00 00 10</span>  .ÿ.....\...\....
FrameType SEQUENCE
000000B0  <span style="background:#C0FFEE;">34 78 32 5F 43 41 35 45 78 79 5F 33 32 62 69 74</span>  4x2_CA5Exy_32bit
FrameCount 1
000000C0  <span style="background:#C0FFEE;">73 2E 62 6D 70 00 41 64 6D 69 6E 69 73 74 72 61</span>  s.bmp.Administra
Pixels "pixels-0" DXT5 NORMAL 4 8 4 4 {
000000D0  <span style="background:#C0FFEE;">74 6F 72 00 53 75 6E 20 41 70 72 20 31 35 20 30</span>  tor.Sun Apr 15 0
0x00AAFF55 0xCAE2CAE8 0x49249249 0x00FF2492
000000E0  <span style="background:#C0FFEE;">31 3A 32 35 3A 30 32 20 32 30 31 38 00 47 69 6D</span>  1:25:02 2018.Gim
0x00AAFF55 0xCAEACAF0 0x49249249 0x00FF2492
000000F0  <span style="background:#C0FFEE;">43 6F 6E 76 20 31 2E 32 30 68 00 00</span>              Conv 1.20h..
}
 
}
If you compare this file with the previous one (same format without footer) the only differences are the colored bytes
}
 
*The value at the header is the file size - 0x10, it changes because the file was increased in size (to add the footer)
 
*Footer is composed by:
**'''4x2_CA5Exy_32bits.bmp''' (original file name)
**'''Administrator''' (windows user account)
**'''Sun Apr 15 01:25:02 2018''' (timestamp)
**'''GimConv 1.20h''' (GimConv.exe version used to create the GIM file)


=GIM format=
=GIM format=
*http://www.pujia8.com/articles/34/
*http://www.pujia8.com/articles/34/
*https://tieba.baidu.com/p/1733245285
*https://tieba.baidu.com/p/1733245285

Revision as of 01:41, 15 April 2018

GimConv.cfg modifications made for rcomage

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 GimConv.cfg official vs rcomage, and this talk

Help screen

The help screen is just informative, is posted here just to complete the list of changes accuratelly, and because is related with some of the other changes made to the file

  • Removed at help screen:
Code Sample
  • Added at help screen:
Code Sample

Help screen Talk

  • The removed -F (to use pixel_order = faster) is because all PSP GIM format uses it, so it was modifyed as one of the default settings (more info below)
  • The removed -R and the added -X are related with the order of how RGBA channels are stored in the GIM, it seems -X was useful for PSP (and -R was not useful for PSP). This options are a bit pointless anyway, you should not swap RGBA channels this way by using this options directly
  • The removed -viewer is because was intended to start an official gimviewer.exe that has never been published or leaked (the program doesnt exists, so the option -viewer is pointless)
  • The added -bpp<n> are the RGBA based GIM formats used on PSP, this list includes some custom formats that was not used officially by sony (but works on PSP)
  • The added -ps3 loads a custom option that was intended for PS3 GIM files, but is wrong (more info about this problem below)

Default settings

The default settings used in the GimConv.cfg used by rcomage are problematic for PS3... up to an exent because as mentioned in frontpage at the time you write a command line for GimConv.exe you can write a long line with lot of settings (that are going to override any default setting you consider is problematic or critical for what you want to achieve)

The real problem is when you write a short command line for GimConv.exe (without overriding any default settings), by doing this you are using all the default settings... and this breaks GIM files for PS3

  • Changed default settings:
Code Sample
  • Removed default settings:
Code Sample

Default settings Talk

  • pixel_order
    • Originally (in the GimConv.cfg released by sony, intended for PS3) it was set to normal (this matches with the GIM format most used in PS3, and doesnt matches with the second most used GIM format in PS3 that needs to be default). For rcomage was changed to faster because all the GIM formats in PSP uses it
    • As you can see there is not a way to choose a default value for pixel_order that fits with the requirements of all known GIM formats, because one way or the other we are breaking some GIM files (either PSP or some for PS3), the solution to bypass this problem is to override this setting in every "option" you want to use (more info below)
    • In short... this change causes an small harm to PS3 GIM formats, but considering there is not really a single solution to fix this problem... is ok like this
  • limit_image_width and limit_image_height
    • Originally (in the GimConv.cfg released by sony, intended for PS3) both was set to 4096 pixels. For rcomage was changed to 512 because the size of the PSP screen is way smaller than PS3 (actually PSP screen is way smaller than 512 but it seems the values of this size restrictions are adjusted to an strict rule of proportions of width x height)
    • This problem affects all images bigger than 512 pixels converted by GimConv.exe GIM2PNG, GIM2GIM, PNG2GIM (and any other supported input image format to GIM). If the image is bigger than 512 it will be scaled down and the output image will have 512 pixels in one of its proportions (either width or height)
    • This settings allows to use the value off (to disable the image size restrictions ?) but when using it returns a WARNING : too large image size <width>x<height> (even with tiny images), it looks like it has a problem when geting the size so is not a good idea to disable this size restriction, instead is better to use the value 4096 that works fine and is what sony was using originally 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:
      • tex_playing.gim (30x900 pixels) http://imgur.com/2rjGdbe
      • tex_playing_shadow.gim (30x900 pixels)
      • tex_opt_obi.gim (660x6 pixels)
    • Some GIM examples from PS3 with images bigger than 512 pixels in custom_render_plugin.rco :
      • tex_ps3logo.gim (1200x128 pixels)
      • tex_scelogo.gim (1024x64 pixels)
  • output_sequence
    • Originally (in the GimConv.cfg released by sony, intended for PS3) it was set to on. For rcomage was changed to off. I dont really know why, in my tests this setting doesnt changes anything (setting it to either on/off results in the same output files), actually i have it enabled just incase eventually i find is doing something extra (and because originally was enabled by sony), but by now nothing, nada
  • format_endian
    • Originally (in the GimConv.cfg released by sony, intended for PS3) this was added by sony as a "override default settings patch" applyed over GimConv.cfg (a section named PS3 OSD default settings) with the value format_endian = big. For rcomage it was removed (so by default it loads format_endian = little instead, that appears some lines before in GimConv.cfg)
    • This is ovbiouslly a problem for PS3, but again there is not a single way to preconfigure this setting to fill the requirements of all GIM formats. PSP needs "little", and PS3 "big", this needs to be overrided inside the "options" specific for each GIM format... or with a long command line specifying this overrides
  • pixel_order
    • Originally (in the GimConv.cfg released by sony, intended for PS3) this was added by sony as a "override default settings patch" applyed over GimConv.cfg (a section named PS3 OSD default settings) with the value pixel_order = normal. For rcomage it was removed (so by default it loads pixel_order = faster instead, that appears some lines before in GimConv.cfg)
    • PSP needs to use "faster" always, and PS3 needs "normal" and "default" (because in PS3 there are 2 different GIM formats), so again, this needs to be overrided inside the "options" specific for each GIM format... or with a long command line specifying this overrides
  • pixel_channel
    • Originally (in the GimConv.cfg released by sony, intended for PS3) this was added by sony as a "override default settings patch" applyed over GimConv.cfg (a section named PS3 OSD default settings) with the value pixel_channel = default. For rcomage it was removed (so by default it loads pixel_channel = default that appears some lines before in GimConv.cfg). In other words, sony overrided pixel_channel with the same value. This setting is pointless, is not doing anything
    • So the removal made for rcomage is not causing any change
  • image_format
    • Originally (in the GimConv.cfg released by sony, intended for PS3) this was added by sony as a "override default settings patch" applyed over GimConv.cfg (a section named PS3 OSD default settings) with the value image_format = rgba8888. For rcomage it was removed (so by default it loads image_format = default instead, that appears some lines before in GimConv.cfg)
    • This is a must to override, is one of the most critical settings, there are several values that are supported by PSP and PS3 (index4, index8, rgba5551, rgba4444, rgba5650, rgba8888, dxt5... and maybe more)
    • So the removal made for rcomage is not causing any harm, is needed to override this setting anyway

Options

  • Added options:
Code Sample
  • Removed options:
Code Sample

Options Talk

  • -ps3
    • Biggest problem when using this option is you are going to load all the default settings, and there are some default settings that results in a GIM file incompatible with PS3
    • The second problem related with this is wrong in concept, because inside PS3 RCO files are used (at least) 2 different GIM formats (that needs to be build by using different GIM settings), to make this problem even worse in most of the RCO files from PS3 firmware are included GIM files build with different GIM formats... so aplying a single collection of settings for all the GIM files inside a single RCO doesnt works ! (you can be sure some are going to be broken... becaue there are 2 GIM formats you are going to have broken a group of them... or the other)
    • Is not compatible with how rcomage automatizes the PNG-to-GIM conversions (for the same reason explained in the line above), with the actual code of rcomage is imposible to automatize the PNG-to-GIM conversions
    • "format_style = ps3". For some reason sony implemented this "tag" at the time of coding GimConv.exe but is not used in PS3 GIM files !, actually the GIM files for PS3 uses the tag "psp"
  • -bpp4, -bpp8, -bpp16, -bpp16a, -bpp16p, -bpp32
    • Are the GIM formats used in PSP, keep in mind this definitions are not including some critical settings that are hardcoded in GimView.cfg as defaults (such the endianess)
    • All this options are optionals anyway, so is not causing any harm to PS3 compatibility, if you dont need them simply dont use them
  • 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

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, -ps3bpp32 and -dxt5 are the GIM formats used in PS3, the others are just experiments

BMP

The image used for the tests has a size of 4x2 pixels because in RGBA 32bits format the color of a single pixel is stored in 4 bytes and in a hexeditor view by default there are 16 bytes in every row so one row of the image corresponds to one row of the hexeditor

The image is a BMP with 32 bits color depth, and named 4x2_CA5Exy_32bits.bmp, you can click in the image at right in the table below and download it, the small table at left below is a wiki representation of the hexadecimal values of all the pixels

4x2_CA5Exy_32bits.bmp
0xCA5E1100 0xCA5E1200 0xCA5E1300 0xCA5E1400
0xCA5E2100 0xCA5E2200 0xCA5E2300 0xCA5E2400

4x2 CA5Exy 32bits.bmp

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000  42 4D 58 00 00 00 00 00 00 00 36 00 00 00 28 00  BMX.......6...(.
00000010  00 00 04 00 00 00 02 00 00 00 01 00 20 00 00 00  ............ ...
00000020  00 00 00 00 00 00 12 0B 00 00 12 0B 00 00 00 00  ................
00000030  00 00 00 00 00 00 21 5E CA 00 22 5E CA 00 23 5E  ......!^Ê."^Ê.#^
00000040  CA 00 24 5E CA 00 11 5E CA 00 12 5E CA 00 13 5E  Ê.$^Ê..^Ê..^Ê..^
00000050  CA 00 14 5E CA 00 00 00                          Ê..^Ê...

GIM PS3 DXT5

  • Second most common GIM format used in PS3
Type This
'''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

00000000  2E 47 49 4D 31 2E 30 30 00 50 53 50 00 00 00 00  .GIM1.00.PSP....
00000010  00 02 00 00 00 00 00 80 00 00 00 10 00 00 00 10  .......€........
00000020  00 03 00 00 00 00 00 70 00 00 00 10 00 00 00 10  .......p........
00000030  00 04 00 00 00 00 00 60 00 00 00 60 00 00 00 10  .......`...`....
00000040  00 30 00 00 00 0A 00 00 00 04 00 02 00 08 00 04  .0..............
00000050  00 04 00 02 00 00 00 00 00 00 00 30 00 00 00 40  ...........0...@
00000060  00 00 00 50 00 00 00 00 00 01 00 01 00 03 00 01  ...P............
00000070  00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00  ...@............
00000080  FF 00 49 92 24 49 92 24 E4 CA E2 CA 55 00 00 00  ÿ.I’$I’$äÊâÊU...
Type This
'''GimConv.exe 4x2_CA5Exy_32bits.bmp -o 4x2_CA5Exy_32bits_ps3dxt5.gis -ps3dxt5 -S'''
.GIS 1.00

Picture "picture-0" {
	Image "image-0" {
		Format DXT5
		Order NORMAL
		Width 4
		Height 2
		PitchAlign 4
		HeightAlign 4
		PlaneMask 0x00000000
		LevelType MIPMAP
		LevelCount 1
		FrameType SEQUENCE
		FrameCount 1
		Pixels "pixels-0" DXT5 NORMAL 4 2 4 4 {
			0x00000055 0xCAE2CAE4 0x49249249 0x00FF2492
		}
	}
}

GIM PS3 RGBA32

  • First most common GIM format used in PS3
Type This
'''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

00000000  2E 47 49 4D 31 2E 30 30 00 50 53 50 00 00 00 00  .GIM1.00.PSP....
00000010  00 02 00 00 00 00 00 90 00 00 00 10 00 00 00 10  ................
00000020  00 03 00 00 00 00 00 80 00 00 00 10 00 00 00 10  .......€........
00000030  00 04 00 00 00 00 00 70 00 00 00 70 00 00 00 10  .......p...p....
00000040  00 30 00 00 00 03 00 00 00 04 00 02 00 20 00 10  .0........... ..
00000050  00 01 00 02 00 00 00 00 00 00 00 30 00 00 00 40  ...........0...@
00000060  00 00 00 60 00 00 00 00 00 01 00 01 00 03 00 01  ...`............
00000070  00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00  ...@............
00000080  CA 5E 11 00 CA 5E 12 00 CA 5E 13 00 CA 5E 14 00  Ê^..Ê^..Ê^..Ê^..
00000090  CA 5E 21 00 CA 5E 22 00 CA 5E 23 00 CA 5E 24 00  Ê^!.Ê^".Ê^#.Ê^$.
Type This
'''GimConv.exe 4x2_CA5Exy_32bits.bmp -o 4x2_CA5Exy_32bits_ps3bpp32.gis -ps3bpp32 -S'''
.GIS 1.00

Picture "picture-0" {
	Image "image-0" {
		Format RGBA8888
		Order NORMAL
		Width 4
		Height 2
		PitchAlign 16
		HeightAlign 1
		PlaneMask 0x00000000
		LevelType MIPMAP
		LevelCount 1
		FrameType SEQUENCE
		FrameCount 1
		Pixels "pixels-0" RGBA8888 NORMAL 4 2 16 1 {
			0x00115ECA 0x00125ECA 0x00135ECA 0x00145ECA
			0x00215ECA 0x00225ECA 0x00235ECA 0x00245ECA
		}
	}
}

GIM PS3 RGBA32 with footer

  • First most common GIM format used in PS3 with footer !
Type This
'''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

00000000  2E 47 49 4D 31 2E 30 30 00 50 53 50 00 00 00 00  .GIM1.00.PSP....
00000010  00 02 00 00 00 00 00 EC 00 00 00 10 00 00 00 10  .......ì........
00000020  00 03 00 00 00 00 00 80 00 00 00 10 00 00 00 10  .......€........
00000030  00 04 00 00 00 00 00 70 00 00 00 70 00 00 00 10  .......p...p....
00000040  00 30 00 00 00 03 00 00 00 04 00 02 00 20 00 10  .0........... ..
00000050  00 01 00 02 00 00 00 00 00 00 00 30 00 00 00 40  ...........0...@
00000060  00 00 00 60 00 00 00 00 00 01 00 01 00 03 00 01  ...`............
00000070  00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00  ...@............
00000080  CA 5E 11 00 CA 5E 12 00 CA 5E 13 00 CA 5E 14 00  Ê^..Ê^..Ê^..Ê^..
00000090  CA 5E 21 00 CA 5E 22 00 CA 5E 23 00 CA 5E 24 00  Ê^!.Ê^".Ê^#.Ê^$.
000000A0  00 FF 00 00 00 00 00 5C 00 00 00 5C 00 00 00 10  .ÿ.....\...\....
000000B0  34 78 32 5F 43 41 35 45 78 79 5F 33 32 62 69 74  4x2_CA5Exy_32bit
000000C0  73 2E 62 6D 70 00 41 64 6D 69 6E 69 73 74 72 61  s.bmp.Administra
000000D0  74 6F 72 00 53 75 6E 20 41 70 72 20 31 35 20 30  tor.Sun Apr 15 0
000000E0  31 3A 32 35 3A 30 32 20 32 30 31 38 00 47 69 6D  1:25:02 2018.Gim
000000F0  43 6F 6E 76 20 31 2E 32 30 68 00 00              Conv 1.20h..

If you compare this file with the previous one (same format without footer) the only differences are the colored bytes

  • The value at the header is the file size - 0x10, it changes because the file was increased in size (to add the footer)
  • Footer is composed by:
    • 4x2_CA5Exy_32bits.bmp (original file name)
    • Administrator (windows user account)
    • Sun Apr 15 01:25:02 2018 (timestamp)
    • GimConv 1.20h (GimConv.exe version used to create the GIM file)

GIM format