TIM Image: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
(Created page with "== TIM == * ''' Format Type ''': Image <br> * ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br> === Format Specifications === <div cl...")
imported>Ikskoks
 
(59 intermediate revisions by the same user not shown)
Line 6: Line 6:
=== Format Specifications ===  
=== Format Specifications ===  


'''4BPP and 8BPP'''
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;">
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;">
<pre>
<pre>
// TIM file format  
// TIM file format (4BPP and 8BPP)


//header
4 bytes (uint32) - magic // "\x10\x00\x00\x00"
4 bytes (uint32) - version  // "\x00\x00\x00\x00" 4BPP (no CLUT)
                            // "\x01\x00\x00\x00" 8BPP (no CLUT)
                            // "\x08\x00\x00\x00" 4BPP
                            // "\x09\x00\x00\x00" 8BPP


//TODO
// clut header
4 bytes (uint32) - size of CLUT + 12 (size with clut header)
2 bytes (uint16) - palette memory address X
2 bytes (uint16) - palette memory address Y
2 bytes (uint16) - number of colors in each CLUT
2 bytes (uint16) - number of CLUTs
 
//CLUT block  (this is optional block)
num_of_CLUTs *
{
  x bytes - CLUT data (palette data) // 32 or 512 bytes per CLUT
}
 
//image header
4 bytes (uint32) - size of image data + 12 (size with image header)
2 bytes (uint16) - image memory address X
2 bytes (uint16) - image memory address Y
2 bytes (uint16) - image width / 4 or image width / 2
2 bytes (uint16) - image height
 
//data
x bytes - image data
</pre>
</div>
 
'''16BPP and 24BPP'''
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;">
<pre>
// TIM file format (16BPP and 24BPP)
 
//header
4 bytes (uint32) - magic // "\x10\x00\x00\x00"
4 bytes (uint32) - version  // "\x02\x00\x00\x00" 16BPP
                            // "\x03\x00\x00\x00 24BPP
4 bytes (uint32) - Size of image data + 12
2 bytes (uint16) - image memory address X
2 bytes (uint16) - image memory address Y
2 bytes (uint16) - width
2 bytes (uint16) - height
 
//data
x bytes - image data
</pre>
</pre>
</div>
</div>
Line 22: Line 70:


* TIM is graphics file format used in many PlayStation 1 games.
* TIM is graphics file format used in many PlayStation 1 games.
* CLUT stands for "Color LookUp Table". It is simply a color palette.
=== Games ===
List of games using this file format:
* 360: Three Sixty (PS1)
* Ape Escape (PS1)
* [[Legacy Of Kain: Soul Reaver]] (PS1)
* MediEvil (PS1)
* [[PGA Tour 97]] (PS1)
* Ready 2 Rumble Boxing (PS1)
* Space Jam (PS1)
* Tail Concerto (PS1)
* [[Urban Chaos]] (PS1)
* Xena: Warrior Princess (PS1)
* Many more...


=== Compatible Programs ===  
=== Compatible Programs ===  


None.
* [https://github.com/Lameguy64/img2tim/ img2tim]
* Noesis (native support)
* PSXIMGTS
* TIM Collection 1.0
* TIM Utility
* tim2bmp
* TIMConv
* TIMedit
* Semi trans Tool
* [https://github.com/lab313ru/tim2view tim2view]
* [http://www.romhacking.net/utilities/238/ TIMmay]
* TimRipper
* [https://forum.xentax.com/viewtopic.php?f=33&t=24608 TIM Tool Converter by Scorpion]
* TimViewer
* GIMP + TIM Plugin
* Adobe Photoshop + TIM Plugin
* [https://www.xnview.com/en/ XnView]




[[Category:Complete WIP|TIM]]
[[Category:Complete Complete|TIM]]
[[Category:Platform PS1|TIM]]
[[Category:Platform PS1|TIM]]
[[Category:CE None|TIM]]
[[Category:CE None|TIM]]
Line 34: Line 114:
[[Category:Extension_tim | Extension: tim]]
[[Category:Extension_tim | Extension: tim]]
[[Category:BMS_None | BMS: None]]
[[Category:BMS_None | BMS: None]]
[[Category:File Format]]

Latest revision as of 22:03, 26 December 2022

TIM


Format Specifications

4BPP and 8BPP

// TIM file format (4BPP and 8BPP)

//header
4 bytes (uint32) - magic // "\x10\x00\x00\x00"
4 bytes (uint32) - version  // "\x00\x00\x00\x00" 4BPP (no CLUT)
                            // "\x01\x00\x00\x00" 8BPP (no CLUT)
                            // "\x08\x00\x00\x00" 4BPP
                            // "\x09\x00\x00\x00" 8BPP

// clut header
4 bytes (uint32) - size of CLUT + 12 (size with clut header)
2 bytes (uint16) - palette memory address X
2 bytes (uint16) - palette memory address Y
2 bytes (uint16) - number of colors in each CLUT
2 bytes (uint16) - number of CLUTs

//CLUT block  (this is optional block)
num_of_CLUTs *
{
   x bytes - CLUT data (palette data) // 32 or 512 bytes per CLUT
}

//image header
4 bytes (uint32) - size of image data + 12 (size with image header)
2 bytes (uint16) - image memory address X
2 bytes (uint16) - image memory address Y
2 bytes (uint16) - image width / 4 or image width / 2
2 bytes (uint16) - image height

//data
x bytes - image data

16BPP and 24BPP

// TIM file format (16BPP and 24BPP)

//header
4 bytes (uint32) - magic // "\x10\x00\x00\x00"
4 bytes (uint32) - version  // "\x02\x00\x00\x00" 16BPP
                            // "\x03\x00\x00\x00 24BPP
4 bytes (uint32) - Size of image data + 12
2 bytes (uint16) - image memory address X
2 bytes (uint16) - image memory address Y
2 bytes (uint16) - width
2 bytes (uint16) - height

//data
x bytes - image data

MultiEx BMS Script

Not written yet.

Notes and Comments

  • TIM is graphics file format used in many PlayStation 1 games.
  • CLUT stands for "Color LookUp Table". It is simply a color palette.

Games

List of games using this file format:

Compatible Programs