PlayView: Difference between revisions
m (→Game Data) |
m (Text replacement - "http://playstationhax.xyz" to "https://web.archive.org/web/*/http://playstationhax.xyz") |
||
(44 intermediate revisions by 8 users not shown) | |||
Line 9: | Line 9: | ||
Using "ultra- high resolution (4K) digital data", PSP or PS3 will display the images smoothly. It can be compatible 3D and PS Move (At CEDEC 2010, Teiji Yutaka demonstrated PlayView using the PlayStation Move controller in real time to increase and reduce the size of a still image of a park consisting of over 3 billion pixels) +EYE Camera on PS3 and can packed with other extra content(themes, DLC). | Using "ultra- high resolution (4K) digital data", PSP or PS3 will display the images smoothly. It can be compatible 3D and PS Move (At CEDEC 2010, Teiji Yutaka demonstrated PlayView using the PlayStation Move controller in real time to increase and reduce the size of a still image of a park consisting of over 3 billion pixels) +EYE Camera on PS3 and can packed with other extra content(themes, DLC). | ||
Most of the time, each full screen page display is equivalent to 2 paper pages of an art book/game manual but other display have been release (Gran | Most of the time, each full screen page display is equivalent to 2 paper pages of an art book/game manual but other display have been release (Gran Turismo PlayView: long highway road, with zoom you reach other visual content). | ||
Specific background music or sound and videos per page can be apply. | Specific background music or sound and videos per page can be apply. | ||
Line 19: | Line 19: | ||
Title ID: Japan: PS3: NPJB60*** & NPJA60*** , for PSP: NPJH60***. Others: "4K gallery": NPEB01397) | Title ID: Japan: PS3: NPJB60*** & NPJA60*** , for PSP: NPJH60***. Others: "4K gallery": NPEB01397) | ||
Playview might | Playview might requires PSP FW 6.39 or so, and PS3 FW min around 3.70. | ||
Few full free content for PS3 & PSP are available online. | Few full free content for PS3 & PSP are available online. | ||
Line 27: | Line 27: | ||
PSP/PS3 Digital comic/strategy/guide/manual are not PlayView. | PSP/PS3 Digital comic/strategy/guide/manual are not PlayView. | ||
Codename of playview is '''TGV''' (Tiny Gigantic Viewer) and | Codename of playview is '''TGV''' (Tiny Gigantic Viewer) and the derivates with an added or removed letter (TG, GV, etc...) | ||
*Demo on PS3 (in English) : http://www.youtube.com/watch?v=5LIdPOZGoDE | *Demo on PS3 (in English) : http://www.youtube.com/watch?v=5LIdPOZGoDE | ||
Line 33: | Line 33: | ||
*Game on PS3 (Atelier Totori) : http://www.youtube.com/watch?v=HITguIxAPQ0 | *Game on PS3 (Atelier Totori) : http://www.youtube.com/watch?v=HITguIxAPQ0 | ||
*Game on PS3 (Gran | *Game on PS3 (Gran Turismo): http://www.youtube.com/watch?v=wZhY3COwhhA | ||
*[http://search.jp.playstation.com/search?site=FIZ02WOB&design=2&group=1&charset=UTF-8&period1=0&period3=0&genre=0&option=13&optionCond=0&count=100 | * Game list in Japan for PS3,PSP&PS VITA : [http://search.jp.playstation.com/search?site=FIZ02WOB&design=2&group=1&charset=UTF-8&period1=0&period3=0&genre=0&option=13&optionCond=0&count=100] / [https://store.sonyentertainmentnetwork.com/#!/ja-jp/playview/cid=PN.CH.JP-PN.CH.MIXED.JP-PLAYVIEWCONTENTS] | ||
* 4K Gallery | |||
EP4288-NPEB01397_00-4KGALLERY0000100 (1674.87 MB (1756225856 Bytes) | |||
http://zeus.dl.playstation.net/cdn/EP4288/NPEB01397_00/NYCWHljxcSEpyxJAanqFEkWdeKPvAMAzSccWyivNVxZAoLqqxzODqNytbXCTkbhD.pkg | |||
EP4288-NPEB01397_00-4KGALLERY0000100.rap | |||
DA71FD8E03A13E3F254CD7478618AF66 | |||
dev_klic: 01811B5625EEF31A916E081FE38AC38E | |||
=== example file name PS3 === | |||
*content.dat.edat: XML structure (link, selector, zoom, BGM music setting...) | |||
*page01.gvd : tiles images for one page | |||
*page02.gvd | |||
... | |||
*se.dat : sound effects | |||
*title01.mp3 : BGM music | |||
*title02.mp3 | |||
*tgv.cfg : file configuration of PlayView (optional, open with notepad++ or as text on linux) | |||
*ui.dat.edat : boot screen, user interface images & setting related | |||
=== example structure PSP/PS3 === | === example structure PSP/PS3 === | ||
Line 55: | Line 76: | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
! | ! | || Level Layer visual || Atelier Meruru Guide Book <!--//Meruru no Atelier Arland no Renkinjutsushi 3 Hatsutaiken Guide Book //-->: Number Image || Note || Grid (WxH) || Other example:<br />Atelier Totori Plus (PSP&PS3){{or}} Atelier Meruru Plus <!--//Atelier Totori Plus Official PlayView or Meruru no Atelier Plus: Arland no Renkinjutsushi 3 - Official PlayView (PSP&PS3)//--> || Other example:<br />Atelier Ayesha Guide Book<!--//Ayesha no Atelier Tasogare no Daichi no Renkinjutsushi Hatsutaiken Guide Book//--> | ||
|- | |- | ||
|rowspan="7" | Zoom in ∇ | |rowspan="7" | Zoom in ∇ | ||
|- | |- | ||
| 0 || 1(sum: 180x101) || (180x101) "thumbnail" when slide || 1x1 || 1 image (240x135) || 1 (200x112) | | 0 || 1(sum: 180x101) || (180x101) "thumbnail" when slide || 1x1 || 1 image (240x135) || 1 (200x112) | ||
|- | |- | ||
| 1 || 2(sum: 360x202) || Left: 256x202 Right: 104x202 || 2x1 || 4 images (480x270) || 2 (400x225) | | 1 || 2(sum: 360x202) || Left: 256x202 Right: 104x202 || 2x1 || 4 images (480x270) || 2 (400x225) | ||
|- | |- | ||
| 2 || 6(sum: 720x405) || || 3x2 || 12 images (960x540) || 8 (800x450) | | 2 || 6(sum: 720x405) || || 3x2 || 12 images (960x540) || 8 (800x450) | ||
|- | |- | ||
| 3 || 24(sum: 1440x810) || || 6x4 || 40 images (1920x1080) || 28 (1600x900) | | 3 || 24(sum: 1440x810) || || 6x4 || 40 images (1920x1080) || 28 (1600x900) | ||
|- | |- | ||
| 4 || 84(sum: 2880x1620)|| || 12x7 || 135 images (3840x2160) || 104 (3200x1800) | | 4 || 84(sum: 2880x1620)|| || 12x7 || 135 images (3840x2160) || 104 (3200x1800) | ||
|- | |- | ||
| 5 || 299(sum: 5760x3240)|| Max_Zoom, the "deepest" into the page || 23x13 || no || 375 (6400x3600) | | 5 || 299(sum: 5760x3240)|| Max_Zoom, the "deepest" into the page || 23x13 || no || 375 (6400x3600) | ||
|- | |- | ||
|} | |} | ||
*Level Layer order are reversed (layer 0 being the max_zoom) | *Level Layer order are reversed (layer 0 being the max_zoom) in the begin of the file which contains the image: gvd.dat.edat (see DATA BASE Viewer) and effects as double page flip are defined into the content.dat.edat (second part contains the structures XML). | ||
*Not all pages need to have the same resolution. | *Not all pages need to have the same resolution. | ||
*Max resolution | *Max resolution seen (PS3): 7680x4320 | ||
==Game Data== | ==Game Data== | ||
Line 171: | Line 181: | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
! style="background-color:#010ADA; color:#FFFFFF;" |Offset || style="background-color:#010ADA; color:#FFFFFF;" |Length || style="background-color:#010ADA; color:#FFFFFF;" |Value || style="background-color:#010ADA; color:#FFFFFF;" |Note | ! style="background-color:#010ADA; color:#FFFFFF;" | Offset || style="background-color:#010ADA; color:#FFFFFF;" | Length (Hex) || style="background-color:#010ADA; color:#FFFFFF;" | Value || style="background-color:#010ADA; color:#FFFFFF;" | Note | ||
|- | |||
|colspan="5" style="text-align:center; background-color:#FFFFFF;" | | |||
|- | |||
|colspan="5" style="text-align:center; background-color:#ADAADA;" | '''GVD Header (Page)''' | |||
|- | |- | ||
| 0000 || 10|| 47 56 45 57 30 31 30 30 4A 50 45 47 30 31 30 30 ||"GVEW0100JPEG0100" | | 0000 || 10|| 47 56 45 57 30 31 30 30 4A 50 45 47 30 31 30 30 || "GVEW0100JPEG0100" | ||
|- | |- | ||
| 0010 || 4 || 00 00 | | 0010 || 4 || 00 00 XX XX || Source Image Width (Hex) | ||
|- | |- | ||
| 0014 || 4 || 00 00 | | 0014 || 4 || 00 00 XX XX || Source Image Height (Hex) | ||
|- | |- | ||
| 0018 || 4 || 42 4C 4B 5F ||"BLK_" | | 0018 || 4 || 42 4C 4B 5F || "BLK_" | ||
|- | |- | ||
| 001C || 4 || 00 00 | | 001C || 4 || 00 00 XX XX || Length of Database (Hex) (№ of entries*0x20) + 0x08 | ||
|- | |- | ||
| 0020 || 8 || 00 00 00 01 00 00 00 00 || | | 0020 || 8 || 00 00 00 01 00 00 00 00 || Static Value | ||
|- | |- | ||
|colspan="5" style="text-align:center; background-color:#ADAADA;" | | |colspan="5" style="text-align:center; background-color:#ADAADA;" | '''Database''' | ||
|- | |- | ||
| 0028 || 4 || 00 00 00 20 || Apps/machine code? | | 0028 || 4 || 00 00 00 20 || Apps/machine code? | ||
Line 191: | Line 205: | ||
| 002C || 4 || 00 00 00 04 || Apps/machine code? | | 002C || 4 || 00 00 00 04 || Apps/machine code? | ||
|- | |- | ||
| | |colspan="5" style="text-align:center; background-color:#ADAADA;" | '''Database Entry''' | ||
|- | |- | ||
| | | 0030 || 4 || 00 00 00 XX || Horizontal position on grid from left to right (Hex) | ||
|- | |- | ||
| | | 0034 || 4 || 00 00 00 XX || Vertical position on grid from top to bottom (Hex) | ||
|- | |- | ||
| | | 0038 || 4 || 00 00 00 0X || Layer level | ||
|- | |- | ||
| 0040 || 4 || 00 00 00 | | 003C || 4 || 00 00 XX XX || Length of the image (Hex) | ||
|- | |||
| 0040 || 4 || 00 00 00 XX || Length padding of the image (Hex) | |||
|- | |- | ||
| 0044 || 4 || 00 00 00 00 || Not used? | | 0044 || 4 || 00 00 00 00 || Not used? | ||
|- | |- | ||
| 0048 || 4 || 00 00 | | 0048 || 4 || 00 00 0X XX || Width image (Hex) | ||
|- | |||
| 004C || 4 || 00 00 0X XX || Height image (Hex) | |||
|- | |||
| 0050 || 20 || ... || Repeat for each entry | |||
|- | |||
|colspan="5" style="text-align:center; background-color:#ADADAD;" | ''End of Database Entry'' | |||
|- | |||
|colspan="5" style="text-align:center; background-color:#FFFFFF;" | | |||
|- | |||
|colspan="5" style="text-align:center; background-color:#ADADAD;" | ''End of Database'' | |||
|- | |- | ||
| | | XXXX || 4 || 42 4C 4B 5F || "BLK_" | ||
|- | |- | ||
| | | XXXX || 4 || XX XX XX XX || Length of all embedded images including pad (Hex) | ||
|- | |- | ||
| | | XXXX || 8 || 00 00 00 02 00 00 00 00 || Static Value | ||
|- | |- | ||
| | |colspan="5" style="text-align:center; background-color:#ADADAD;" | ''End of GVD Header'' | ||
|- | |- | ||
| | |colspan="5" style="text-align:center; background-color:#FFFFFF;" | | ||
|- | |- | ||
| | |colspan="5" style="text-align:center; background-color:#ADAADA;" | '''Grid Image Data''' | ||
|- | |- | ||
| XXXX || | | XXXX || ... || FF D8 ... || JPEG data (Starting from layer 0, left to right, top to bottom) | ||
|- | |- | ||
| XXXX || | | XXXX || ... || ... || FF pad if grid image, 00 pad if next is data base viewer (16 byte alignment) | ||
|- | |- | ||
| XXXX || | | XXXX || ... || ... || Repeat for each grid image (Start either next name file.gvd/data base viewer) | ||
|- | |- | ||
| | |colspan="5" style="text-align:center; background-color:#ADADAD;" | ''End of Grid Image Data'' | ||
|- | |- | ||
|} | |} | ||
Line 296: | Line 322: | ||
*Second part XML: | *Second part XML: | ||
{{Boxcode|float=left|width=auto|height=600px|title=On 1.01|code=<syntaxhighlight lang="xml"> | |||
On 1.01 | |||
<!--contain all the name file.gvd as XML in order of file appearance--> | <!--contain all the name file.gvd as XML in order of file appearance--> | ||
content.flst page00.xml page01.xml page02.xml ...page09.xml | content.flst page00.xml page01.xml page02.xml ...page09.xml | ||
Line 373: | Line 395: | ||
... | ... | ||
</syntaxhighlight>}} | </syntaxhighlight>}}{{clear}} | ||
===Note=== | ===Note=== | ||
Line 403: | Line 424: | ||
| Audio Channels || Stereo || Stereo | | Audio Channels || Stereo || Stereo | ||
|- | |- | ||
| Specific | | Specific tags || || | ||
|- | |- | ||
|} | |} | ||
Line 415: | Line 436: | ||
*text: (sys_ressource.dat) with embedded .xml & [[XMB Fonts|fonts]] (.ttf) for string (align, coord x & y, size and colors) | *text: (sys_ressource.dat) with embedded .xml & [[XMB Fonts|fonts]] (.ttf) for string (align, coord x & y, size and colors) | ||
*Sound Effects: | *Sound Effects: se.dat (packed .vag) assigned for (seen on build v1.50): | ||
<pre> | |||
upper_column | |||
lower_column | |||
left_column | |||
right_column | |||
help_open | |||
help_close | |||
cursor_appear | |||
cursor_move | |||
cursor_error | |||
cursor_cancel | |||
decide | |||
cancel | |||
start_movie | |||
stop_movie | |||
help_movie | |||
enter_movie_mode | |||
enter_movie_mode_playing | |||
leave_movie_mode | |||
zoom_in | |||
zoom_out | |||
return_to_main | |||
out_of_range | |||
ready_to_zoom | |||
ready_to_play | |||
error | |||
zoom_in_negative | |||
zoom_out_negative | |||
cant_return_to_main | |||
notice_big | |||
notice_normal | |||
left_flip | |||
right_flip | |||
store_ready | |||
help_move_right | |||
help_move_left | |||
go_to_store | |||
back_from_store | |||
web_browser_ready | |||
web_browser_open | |||
web_browser_close | |||
left_flip_4k | |||
right_flip_4k | |||
</pre> | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 433: | Line 500: | ||
|} | |} | ||
*Dev_Klicense is located (always?) in between | *Dev_Klicense is located (always?) in between the title ID (+0x00 NULL finished) and the TGV_BUILD_INFO. | ||
*PSP EDAT files (videos & sound also): see tool on main page for decrypt. | *PSP EDAT files (videos & sound also): see tool on main page for decrypt. | ||
*Tiles_type also as [http://en.wikipedia.org/wiki/Multiplane_camera Multiplane] and [http://en.wikipedia.org/wiki/Stereoscopy Stereoscopy]? | *Tiles_type (.xml on content.dat) also as [http://en.wikipedia.org/wiki/Multiplane_camera Multiplane] and [http://en.wikipedia.org/wiki/Stereoscopy Stereoscopy] or 3D PlayView (with an header for .gvd as GV3D0100GVMP0100)? | ||
*Web Brower link in-game for PS3 PlayView? | *Web Brower link in-game for PS3 PlayView? | ||
==PlayView Config== | ==PlayView Config== | ||
Line 644: | Line 707: | ||
| 0000 || 8 || "TGDT0100" | | 0000 || 8 || "TGDT0100" | ||
|- | |- | ||
| 0008 || 4 || | | 0008 || 4 || № of entries | ||
|- | |- | ||
| 000C || 4 || Total Length first part/start second part | | 000C || 4 || Total Length first part/start second part | ||
|- | |- | ||
| 0010 || 4 || Offset filename | | 0010 || 4 || Offset filename (without the header: first are the .cfg files and theirs naming header, followed by the .png) | ||
|- | |- | ||
| 0014 || 4 || Length filename | | 0014 || 4 || Length filename (count don t include NULL finished (0x00)) | ||
|- | |- | ||
| 0018 || 4 || Offset file | | 0018 || 4 || Offset file | ||
Line 660: | Line 723: | ||
|} | |} | ||
*Second part: | *Second part: | ||
(filename+file) | (filename+file) | ||
contains multiple | contains multiple .cfg and .png files | ||
(might be also variable up to PlayView version: ui_main_version_o and ui_main_version_x) | (might be also variable up to PlayView version: ui_main_version_o and ui_main_version_x) | ||
{{Boxcode|width=auto|height=650px|float=left|code=<syntaxhighlight lang="xml"> | |||
ui_main_o.cfg\00ui_version =100 | ui_main_o.cfg\00ui_version =100 | ||
selection_frame_division =0 | selection_frame_division =0 | ||
Line 823: | Line 880: | ||
player_progress_frame = player_progress_base | player_progress_frame = player_progress_base | ||
</syntaxhighlight>}} | </syntaxhighlight>}}{{clear}} | ||
After the | After the .cfg files, contains start up screens: HD 1920x1080 for warning screen and 1280x720 for game logo, SD= 640x480) menu user etc.. in .png (zip compression) or gtf [[Multimedia Formats and Tools|Formats]]) on old PlayView version. | ||
<gallery widths="150px" heights="150px"> | <gallery widths="150px" heights="150px"> | ||
Line 834: | Line 890: | ||
</gallery> | </gallery> | ||
{{ | ==Homebrew== | ||
===TLOU=== | |||
A ugly custom PlayView about TLOU - left behind comic books | |||
[[File:PlayView-ui.dat.dec.0001.PNG|thumbnail|right|Custom PlayView boot screen]] | |||
*https://www.sendspace.com/file/jdfwze | |||
*http://xncsuvult5.1fichier.com/ [https://www.mirrorcreator.com/files/0XGL3THR/JP0101-PLYV00001_00-PLYV000000000000.pkg_links] | |||
*http://www.mirrorupload.net/file/IJQTPA4E/#!JP0101-PLYV00001_00-PLYV000000000000.pkg | |||
(if need to make your owns, we can speak about it on IRC PS3SANCTUARY, [http://playstationhax.it] or [http://www.psdevwiki.com/ps4/User:Ada_L0ve_Lace wiki messageboard] | |||
*edat: dev_klic: 41444100000000000000000000414441 (http://www.mediafire.com/download/oc1474bsc9oaesa/TrueAncestor_EDAT_Rebuilder_v1.45.zip) | |||
*note: on .gvd header, padding data is not used for convenience, instead the whole image size (so with this zeroed padding) is used. | |||
*[[PlayView#example_file_name_PS3|See example_file_name_PS3]] (and same as [[PlayView#example_structure_PSP.2FPS3|example: Atelier Totori/Meruru plus]] for the layering/tiling resolution used) | |||
==Tools== | |||
*Image2GVD application http://tizzyt-archive.blogspot.com/2014/08/image2gvd.html Make an regular image file to a .gvd file ready to be used on PlayView | |||
*https://web.archive.org/web/*/http://playstationhax.xyz/forums/topic/82-image2gvd/ | |||
*Src: http://pastebin.com/PJbjJ3f5 | |||
{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude> |
Revision as of 05:56, 22 April 2023
PlayView
Description
Generic
Using "ultra- high resolution (4K) digital data", PSP or PS3 will display the images smoothly. It can be compatible 3D and PS Move (At CEDEC 2010, Teiji Yutaka demonstrated PlayView using the PlayStation Move controller in real time to increase and reduce the size of a still image of a park consisting of over 3 billion pixels) +EYE Camera on PS3 and can packed with other extra content(themes, DLC).
Most of the time, each full screen page display is equivalent to 2 paper pages of an art book/game manual but other display have been release (Gran Turismo PlayView: long highway road, with zoom you reach other visual content).
Specific background music or sound and videos per page can be apply.
There are various kind of content (guide book, sexy content, stand alone games) for PS3 and PSP (Some games titles are present in both category). However, it work on the same way (with specific encryption/security, resolution/more sub element such sound channel etc...)
PS3 games can contain embebed Playview (e.g. the "wizard book" inside "Ni No Kuni" uses a custom game module named libTGV_v1.45.07.sprx)
Title ID: Japan: PS3: NPJB60*** & NPJA60*** , for PSP: NPJH60***. Others: "4K gallery": NPEB01397)
Playview might requires PSP FW 6.39 or so, and PS3 FW min around 3.70.
Few full free content for PS3 & PSP are available online.
Transfer from PSP PlayView to PS VITA is possible for some PlayView titles (export PS3 to PSP also is possible but as not bootable, transfer with UMD passport?).
PSP/PS3 Digital comic/strategy/guide/manual are not PlayView.
Codename of playview is TGV (Tiny Gigantic Viewer) and the derivates with an added or removed letter (TG, GV, etc...)
- Demo on PS3 (in English) : http://www.youtube.com/watch?v=5LIdPOZGoDE
- Game on PS3 (Atelier Totori) : http://www.youtube.com/watch?v=HITguIxAPQ0
- Game on PS3 (Gran Turismo): http://www.youtube.com/watch?v=wZhY3COwhhA
- 4K Gallery
EP4288-NPEB01397_00-4KGALLERY0000100 (1674.87 MB (1756225856 Bytes) http://zeus.dl.playstation.net/cdn/EP4288/NPEB01397_00/NYCWHljxcSEpyxJAanqFEkWdeKPvAMAzSccWyivNVxZAoLqqxzODqNytbXCTkbhD.pkg EP4288-NPEB01397_00-4KGALLERY0000100.rap DA71FD8E03A13E3F254CD7478618AF66
dev_klic: 01811B5625EEF31A916E081FE38AC38E
example file name PS3
- content.dat.edat: XML structure (link, selector, zoom, BGM music setting...)
- page01.gvd : tiles images for one page
- page02.gvd
...
- se.dat : sound effects
- title01.mp3 : BGM music
- title02.mp3
- tgv.cfg : file configuration of PlayView (optional, open with notepad++ or as text on linux)
- ui.dat.edat : boot screen, user interface images & setting related
example structure PSP/PS3
Structure and display on both device PS3/PSP can be like flipping the pages of a book (see youtube game link and XML structure content.dat.edat) with specific background music for each page.
For one page (one page equivalent of 2 paper pages):
- Each page contain 6 (or 5) layers with the same graphical content, the layer display is according to the level you zoom.
- Aspect ratio is 1.77 (16:9) (all PSP models).
- The demo video linked/image show a little different structure (tile sizes only as 256x256 and grid) . Described as"authoring", it s easy to understand/manipulate/modulate.
Level Layer visual | Atelier Meruru Guide Book : Number Image | Note | Grid (WxH) | Other example: Atelier Totori Plus (PSP&PS3) or Atelier Meruru Plus |
Other example: Atelier Ayesha Guide Book | |
---|---|---|---|---|---|---|
Zoom in ∇ | ||||||
0 | 1(sum: 180x101) | (180x101) "thumbnail" when slide | 1x1 | 1 image (240x135) | 1 (200x112) | |
1 | 2(sum: 360x202) | Left: 256x202 Right: 104x202 | 2x1 | 4 images (480x270) | 2 (400x225) | |
2 | 6(sum: 720x405) | 3x2 | 12 images (960x540) | 8 (800x450) | ||
3 | 24(sum: 1440x810) | 6x4 | 40 images (1920x1080) | 28 (1600x900) | ||
4 | 84(sum: 2880x1620) | 12x7 | 135 images (3840x2160) | 104 (3200x1800) | ||
5 | 299(sum: 5760x3240) | Max_Zoom, the "deepest" into the page | 23x13 | no | 375 (6400x3600) |
- Level Layer order are reversed (layer 0 being the max_zoom) in the begin of the file which contains the image: gvd.dat.edat (see DATA BASE Viewer) and effects as double page flip are defined into the content.dat.edat (second part contains the structures XML).
- Not all pages need to have the same resolution.
- Max resolution seen (PS3): 7680x4320
Game Data
Can be slightly different and for convenience description, this term of "1.01" (based on disc_version from PSP title) is used for wikify but it not meant to be strict since there are not strictly two different model at this level of files (neither as PS3/PSP)
However, PlayView version "1.00" and "1.01" difference are cosmetic order (or divided file on some PS3 title) until content.dat.edat XML structure (to be picky) and PlayView setting (format +warning/logo/user interface screen...).
- *Tgvtools-v0.81xx / 4416 (FW 3.70.001), v.1.10xx / 5450 (FW 410.001), v.1.11xx / 5906 (FW 430.001) v1.50xx (Local build) / 5890 (FW 430.001)
- *Ni No Kuni internal PlayView book use Tgvtools-v0.81 (FW 3.70.001)
See note for JPG extractor tool.
gvd.dat(.edat):
1.00 | 1.01 |
---|---|
TGDT0100 header 0x400 | TGDT0100 header 0x400 |
Image ID.gvd for the first page | all name file.gvd+ padding |
second image id.gvd | DATA BASE Viewer +padding |
End Of File: 00 | End Of File: 00 |
The file contain the image embedded as well as "database". Can be divided in 2 parts:
- "TGDT0100"
- "Image ID.gvd"
TGDT0100
Offset | Length | Value & note |
---|---|---|
0000 | 8 | "TGDT0100" |
0008 | 4 | Total data entry (next 0x10) in hex |
000C | 4 | Total Length first part/start second part (first image id.gvd) |
0010 | 4 | Offset file name.gvd (without header TGDT0100) |
0014 | 4 | Length file name.gvd (0x00 is not counted) |
0018 | 4 | Offset Data Base Viewer |
001C | 4 | Length Data base Viewer file |
0020 | xx | Repeat last 0x10 for page |
0XXX | xx | Filled with 00 until the first image ID.gvd start |
Image ID.gvd:
Repeat for each page referenced. Can be divide into 3 part: Name file referenced into XML, data base utility and the embedded images.
Name file.gvd
Offset | Length | Value & note |
---|---|---|
0000 | 10 | .name file.gvd |
0010 | 00 | Padding with zero for alignment (if variable per page: DATA BASE Viewer start at next offset 0X00 or according to the structure used) |
DATA BASE Viewer
Offset | Length (Hex) | Value | Note | |
---|---|---|---|---|
GVD Header (Page) | ||||
0000 | 10 | 47 56 45 57 30 31 30 30 4A 50 45 47 30 31 30 30 | "GVEW0100JPEG0100" | |
0010 | 4 | 00 00 XX XX | Source Image Width (Hex) | |
0014 | 4 | 00 00 XX XX | Source Image Height (Hex) | |
0018 | 4 | 42 4C 4B 5F | "BLK_" | |
001C | 4 | 00 00 XX XX | Length of Database (Hex) (№ of entries*0x20) + 0x08 | |
0020 | 8 | 00 00 00 01 00 00 00 00 | Static Value | |
Database | ||||
0028 | 4 | 00 00 00 20 | Apps/machine code? | |
002C | 4 | 00 00 00 04 | Apps/machine code? | |
Database Entry | ||||
0030 | 4 | 00 00 00 XX | Horizontal position on grid from left to right (Hex) | |
0034 | 4 | 00 00 00 XX | Vertical position on grid from top to bottom (Hex) | |
0038 | 4 | 00 00 00 0X | Layer level | |
003C | 4 | 00 00 XX XX | Length of the image (Hex) | |
0040 | 4 | 00 00 00 XX | Length padding of the image (Hex) | |
0044 | 4 | 00 00 00 00 | Not used? | |
0048 | 4 | 00 00 0X XX | Width image (Hex) | |
004C | 4 | 00 00 0X XX | Height image (Hex) | |
0050 | 20 | ... | Repeat for each entry | |
End of Database Entry | ||||
End of Database | ||||
XXXX | 4 | 42 4C 4B 5F | "BLK_" | |
XXXX | 4 | XX XX XX XX | Length of all embedded images including pad (Hex) | |
XXXX | 8 | 00 00 00 02 00 00 00 00 | Static Value | |
End of GVD Header | ||||
Grid Image Data | ||||
XXXX | ... | FF D8 ... | JPEG data (Starting from layer 0, left to right, top to bottom) | |
XXXX | ... | ... | FF pad if grid image, 00 pad if next is data base viewer (16 byte alignment) | |
XXXX | ... | ... | Repeat for each grid image (Start either next name file.gvd/data base viewer) | |
End of Grid Image Data |
Images JPG
Embedded image (JPEG JFIF) per page.
Offset | Length | Value | Note |
---|---|---|---|
0000 | 2 | FF D8 | Magic JPG |
0002 | 2 | FF E0 | marker: SOI Start Of Image |
0004 | 2 | 00 10 | Skipped |
0006 | 5 | 4A 46 49 46 00 | marker JPEG extension "JFIF" |
000C | 4 | ||
0014 | 2 | FF DB | Define Quantization table |
0059 | 2 | FF DB | |
009E | 2 | FF C0 | |
00B1 | 2 | FF C4 | Huffman table |
0110 | ? | quantization table | |
0270 | xx | ||
XXXX | 10 | FF D9 | APP0 marker: EOI end of image + padding |
XXXX | XX | FF | padding align per 16 is not mandatory but can create visual "disorder" |
The second page start (new Playview version: 1.gvd file= 1 page).
content.dat(.edat):
The file contains a file list, and XML files giving the structure to transport elements such video, music background etc... (thiis file format can vary up to PlayView version)
- First part header:
Offset | Length | Value & Note |
---|---|---|
0000 | 8 | "TGDT0100" |
0008 | 4 | Total data entry (next 0x10) in hex |
000C | 4 | Total Length first part/start second part |
0010 | 4 | Offset (without header) on file list |
0014 | 4 | Length filename (without 0x00) |
0018 | 4 | Offset (without this header) of the file (XML) |
001C | 4 | Length file (XML) without 0x00 |
0020 | xx | Repeat last 0x10 |
Then come the file list
- Second part XML:
<!--contain all the name file.gvd as XML in order of file appearance--> content.flst page00.xml page01.xml page02.xml ...page09.xml 0A<?xml version="1.0" encoding="utf-8"?> <gigantic_image_content version="1.0"> <image_files> <archive source="gvd.dat"> <!--See other example structure for W & H and Other tile_type as Multiplane and Stereoscopy?--> <image width="3840" height="2160" id="i0001" source="page00.gvd" tile_type="normal"/> <image width="3840" height="2160" id="i0002" source="page01.gvd" tile_type="normal"/> <image width="3840" height="2160" id="i0003" source="page02.gvd" tile_type="normal"/> ... <image width="3840" height="2160" id="i0010" source="page09.gvd" tile_type="normal"/> </archive> </image_files> <structure> <root ref="i0001"/> <sequence transition="double_page_flip" id="s0001"> <!--visual effect as turning the page of paper book--> <item ref="i0002"/> <!--Not all page need to have this double page flip effect--> <item ref="i0003"/> </sequence> </structure> </gigantic_image_content> <!--One page example--> 0A<?xml version="1.0" encoding="utf-8"?> <gigantic_image version="1.0"> <!--Define when opening the page, limited by value below.--> <home> <view offset_x="0.000000" offset_y="0.000000" zoom="1.000000"/> </home> <!--Limit of the values (ZOOM IN:limited by the images). Here you can adjust/unlock/lock the level of max/min_zoom (between 1 to 0 ∞)--> <limit> <boundary offset_x="0.000000" max_overshoot="0.000000" offset_y="0.000000" scale="1.000000" max_zoom="2.000000" max_invisibility="INF" min_zoom="1.000000"/> </limit> <!--Links to other pages. Here you create 2 links, enter by selector (ID_YYYYMMDDHHMMSSSSS for internal use/(not checked on file attribute or only if file list XML don t load properly?)--> <link width="3840.000000" crossfade_range="1.000000" target="page01.xml" center_x="1920.000000" center_y="1080.000000" height="2160.000000" separate="true" id="ID_YYYYMMDDHHMMSSSSS" name="[l]link(1)"> <boundary offset_x="0.000000" max_overshoot="0.500000" offset_y="0.000000" scale="1.000000" max_zoom="INF" action="enable" max_invisibility="INF" min_zoom="0.500000" max_stretch="INF"/> </link> <link width="3840.000000" crossfade_range="1.000000" target="page02.xml" center_x="1920.000000" center_y="1080.000000" height="2160.000000" separate="true" id="ID_YYYYMMDDHHMMSS002" name="[l]link(2)"> <boundary offset_x="0.000000" max_overshoot="0.500000" offset_y="0.000000" scale="1.000000" max_zoom="INF" action="enable" max_invisibility="INF" min_zoom="0.500000" max_stretch="INF"/> </link> <!--Embed to music and videos--> <!--music--> <embed width="1.000000" center_x="1.000000" center_y="1.000000" height="1.000000" volume="0.600000" source="mymusic01.mp3" name="[BGM]"> <boundary offset_x="0.000000" max_overshoot="INF" offset_y="0.000000" scale="1.000000" max_zoom="INF" action="play" max_invisibility="INF" min_zoom="0.000000" max_stretch="INF"/> </embed> <!--videos--> ... <!--Selector values(right-angled with x & y) for the links defined above--> ... </gigantic_image> ...
Note
- Image: JPEG (not progressive)
- Video:
Property | PSP | PS3 |
---|---|---|
Extension | .mp4 | .mp4 |
Frame Size | 480*272 | 1280*720 |
Display Aspect | 480*272 | 1280*720 |
Video Compression | h264 | h264 |
Frame Rate | 29.970 | 29.970 |
Audio Format | mpeg4aac | mpeg4aac |
Audio Frequency (Hz) | 41000 | 48000 |
Audio Channels | Stereo | Stereo |
Specific tags |
- *no auto scale on PSP? (fw 6.60 videos utility is more picky than fw 6.39)
- *not all PlayView on PS3 & PSP contains videos (3D content video and stereo 3D are supported).
- Music: Used on background, for each page or when linked/zoomed. MP3 format (128 KBPS but any shoud do)
- text: (sys_ressource.dat) with embedded .xml & fonts (.ttf) for string (align, coord x & y, size and colors)
- Sound Effects: se.dat (packed .vag) assigned for (seen on build v1.50):
upper_column lower_column left_column right_column help_open help_close cursor_appear cursor_move cursor_error cursor_cancel decide cancel start_movie stop_movie help_movie enter_movie_mode enter_movie_mode_playing leave_movie_mode zoom_in zoom_out return_to_main out_of_range ready_to_zoom ready_to_play error zoom_in_negative zoom_out_negative cant_return_to_main notice_big notice_normal left_flip right_flip store_ready help_move_right help_move_left go_to_store back_from_store web_browser_ready web_browser_open web_browser_close left_flip_4k right_flip_4k
Name | Offset | Size | Example | Remark |
Magic | 0x00 | 0x06 | 53 47 58 44 50 01 or 53 47 58 44 81 41 | "SGXDP" or "SGXD.A" |
Header size | 0x06 | 0x04 | 00 00 60 01 | 0x160 |
Body size | 0x0A | 0x8 | N.A |
- Dev_Klicense is located (always?) in between the title ID (+0x00 NULL finished) and the TGV_BUILD_INFO.
- PSP EDAT files (videos & sound also): see tool on main page for decrypt.
- Tiles_type (.xml on content.dat) also as Multiplane and Stereoscopy or 3D PlayView (with an header for .gvd as GV3D0100GVMP0100)?
- Web Brower link in-game for PS3 PlayView?
PlayView Config
Following Config PSP & PS3 and config User Interface description are not complete and don t necessary complete each other (and up to PlayView core version and title).
Config PSP & PS3: tgv.cfg
This file might be in different format up to the title version (some settings might only work with specific plateforms/flags & PlayView core version or TV.
Allow different settings for the title such background color.
This table might not be complete.
Settings | Values | Comments & note |
---|---|---|
selection_mode_by_enter_button | (0/1) default: 0 | |
selection_frame_margin | range: [0.0, 0.25]
PS3 default: 0.15 PSP default: 0.01 |
Percentage of margin to secure around the selection frame |
key_repeat_delay | range: [0.0, 1.0]
PS3 default: 0.266667 PSP default: 0.233333 |
|
key_repeat_interval | range: [0.0, 1.0]
PS3 default: 0.083333 PSP default: 0.05 |
|
clear_color_normal | e.g. default: 0xffffffff | RGBX color outside the viewer (can be display by setting limit min_zoom) : background color |
clear_color_dialog | e.g. default: 0x00000000 | RGBX color |
clear_color_margin | e.g. default: 0x00000000 | RGBA color outside Aspect ratio screen |
disable_debug_menu | default: 0 (1/0) | |
disable_debug_hud | default: 0 | |
enable_stick_guide | (1/0)
PS3 default: 1 PSP default: 0 |
|
page_flip_speed_factor | range: [0.01, 10.0]
PS3 default: 2.0 PSP default: 2.0 |
|
fixed_aspect_ratio_width = 16
fixed_aspect_ratio_height = 9 |
range: [0, 4096]
PS3 only default: 0 |
On PS3, Aspect ratio can be adjust. See above setting about color normal and margin. |
viewport_shrink_factor | range: [0.1, 1.0]
PS3 only default: 1.0 |
Rate full screen/viewer : Works also on PSP (as resolution on full screen) |
force_16_9_letter_box_if_4_3_sdtv | default: 0 | |
letter_box_margin_color | default: 0x00000000 | |
enable_screenshot_utility = 1
screenshot_photo_title = photo_title screenshot_game_title = game_title screenshot_add_date_time = 1 screenshot_add_overlay = 1 |
(0/1) | |
max_num_sgx_streams | 2 | |
guide_alignment | default: 5 |
0= Top left, 1= Top, 2= Bottom left, 3= Bottom left, 4= Bottom, 5= Bottom right, 6= Center |
selection_frame_draw_margin |
PS3 default: 0 PSP default: 0 |
|
selection_frame_draw_division | default: 0 | |
xy_motion_speed_limit_factor | range: [0.01, 10.0]
PS3 default: 3.0 PSP default: 1.0 |
|
back_speed_factor | range: [0.01, 10.0]
PS3 default: 1.0 PSP default: 0.58 |
|
back_home_speed_factor | range: [0.01, 10.0]
PS3 default: 0.7 PSP default: 0.58 |
|
bg_image_off | default: 0 | Hide background image (when slide) |
default_language_psp | PSP only default: 0 | Language for home button (quit game):
See Languages up to the ones available on PSP |
start_button | 0 | Function assignment of the start button
0 : Back to top ("return_to_main" sound assignement) 1 : 2D/3D switching |
web_browser | 1 | Mode of a Web browser:
0: Web browser invalid (PSP default) 1: Web component mode (PS3 default window display) 2: Web browser mode (full screen display) |
video_default_zoom | ||
enable_tiling_4k_output | Default: 0 | enable 4K display function:
0: OFF, 1: ON |
force_tiling_4k_output_available | ||
use_rgb_for_tiling_4k_output | ||
tiling_4k_preload_policy | ||
enable_fullscreen_on_4k_tv | ||
force_auto_4k | ||
override_page_transition_pattern | Default: 0 | force the pattern of page transition:
0: follow the specification of the content 1: double_page_flip. Effects such as page turning 2: stack_from_left. Picture overlapping like a picture-story show goes in and out to the left 3: stack_from_right. Picture overlapping as picture cards to enter and exit to the right 4: slide. The new incoming image slides at the same time went out image that is currently displayed slide. |
background_image_file | background_image_file = background.jpg | Specify the file name to be used as a background image.
(JPEG, .jpg, and PNG, .png, are available) Only the background color is used if you do not specify. |
background_image_layout | Default: 0 | Arrangement method when using the background image
0 : 1 : 2 : |
Config User Interface: ui.dat (edat)
This file can be in different format/name up to the title version.
Can be divided into 2 part:
- First part:
Offset | Length | Value & Note |
---|---|---|
0000 | 8 | "TGDT0100" |
0008 | 4 | № of entries |
000C | 4 | Total Length first part/start second part |
0010 | 4 | Offset filename (without the header: first are the .cfg files and theirs naming header, followed by the .png) |
0014 | 4 | Length filename (count don t include NULL finished (0x00)) |
0018 | 4 | Offset file |
001C | 4 | Length file |
0020 | xx | Repeat last 0x10 for each entrance |
- Second part:
(filename+file) contains multiple .cfg and .png files
(might be also variable up to PlayView version: ui_main_version_o and ui_main_version_x)
ui_main_o.cfg\00ui_version =100 selection_frame_division =0 startup_page_num =5 <!--Variable number of screen before the title start--> help_page_num =1 guide_alignment =3 #help_sd_magnification =1.00 #guide_sd_magnification =1.00 #player_sd_magnification =1.00 #safearea_ratio =0.89f # guide param guide_base_t =13 guide_base_b =13 guide_base_l =41 guide_base_r =14 guide_margin_t =13 guide_margin_b =13 guide_margin_l =41 guide_margin_i =7 guide_margin_r =14 # video guide param player_guide_icon_x =36 player_guide_icon_y =12 player_guide_play_time_x =73 player_guide_play_time_y =12 player_guide_whole_time_x =252 player_guide_whole_time_y =12 player_guide_progress_x =106 player_guide_progress_y =12 player_guide_progress_left_pos =2 player_guide_progress_right_pos =2 player_guide_font_w =7 player_guide_font_interval_w =6 # main o image(PS3:HD or PSP) # startup # start startup01 = KIDOJI <!--Boot screen--> startup02 = KENKO <!--Health screen--> startup03 = SHIYOJO <!--Instruction screen--> startup04 = LOGO <!--Logo screen--> startup05 = LOGO2 <!--Second logo screen--> # frame # start frame_focus_on = focus_focused # guide # start guide_h = guide_h guide_ds = guide_ds guide_dm = guide_dm guide_s = guide_s guide_af = guide_af_o guide_ao = guide_ao_o guide_av = guide_av_o guide_am = guide_am_o guide_c = guide_c_o guide_lr = guide_lr guide_base = guide_base # help # start help01_text = help_p_o # player # start player_base = player_panel_base player_play = player_play player_pause = player_pause player_forward1 = player_forward1 player_forward2 = player_forward2 player_forward3 = player_forward3 player_rewind1 = player_rewind1 player_rewind2 = player_rewind2 player_rewind3 = player_rewind3 player_slow = player_slow player_numeric = player_letters player_progress_bar = player_progress_bar player_progress_frame = player_progress_base \00ui_main_x.cfg\00ui_version =100 selection_frame_division =0 startup_page_num =5 help_page_num =1 guide_alignment =3 #help_sd_magnification =1.00 #guide_sd_magnification =1.00 #player_sd_magnification =1.00 #safearea_ratio =0.89f # guide param guide_base_t =13 guide_base_b =13 guide_base_l =41 guide_base_r =14 guide_margin_t =13 guide_margin_b =13 guide_margin_l =41 guide_margin_i =7 guide_margin_r =14 # video guide param player_guide_icon_x =36 player_guide_icon_y =12 player_guide_play_time_x =73 player_guide_play_time_y =12 player_guide_whole_time_x =252 player_guide_whole_time_y =12 player_guide_progress_x =106 player_guide_progress_y =12 player_guide_progress_left_pos =2 player_guide_progress_right_pos =2 player_guide_font_w =7 player_guide_font_interval_w =6 # main x image(PS3:HD or PSP) # startup # start startup01 = KIDOJI startup02 = KENKO startup03 = SHIYOJO startup04 = LOGO1 startup05 = LOGO2 # frame # start frame_focus_on = focus_focused # guide # start guide_h = guide_h guide_ds = guide_ds guide_dm = guide_dm guide_s = guide_s guide_af = guide_af_x guide_ao = guide_ao_x guide_av = guide_av_x guide_am = guide_am_x guide_c = guide_c_x guide_lr = guide_lr guide_base = guide_base # help # start help01_text = help_p_x # player # start player_base = player_panel_base player_play = player_play player_pause = player_pause player_forward1 = player_forward1 player_forward2 = player_forward2 player_forward3 = player_forward3 player_rewind1 = player_rewind1 player_rewind2 = player_rewind2 player_rewind3 = player_rewind3 player_slow = player_slow player_numeric = player_letters player_progress_bar = player_progress_bar player_progress_frame = player_progress_base
After the .cfg files, contains start up screens: HD 1920x1080 for warning screen and 1280x720 for game logo, SD= 640x480) menu user etc.. in .png (zip compression) or gtf Formats) on old PlayView version.
Homebrew
TLOU
A ugly custom PlayView about TLOU - left behind comic books
- https://www.sendspace.com/file/jdfwze
- http://xncsuvult5.1fichier.com/ [3]
- http://www.mirrorupload.net/file/IJQTPA4E/#!JP0101-PLYV00001_00-PLYV000000000000.pkg
(if need to make your owns, we can speak about it on IRC PS3SANCTUARY, [4] or wiki messageboard
- edat: dev_klic: 41444100000000000000000000414441 (http://www.mediafire.com/download/oc1474bsc9oaesa/TrueAncestor_EDAT_Rebuilder_v1.45.zip)
- note: on .gvd header, padding data is not used for convenience, instead the whole image size (so with this zeroed padding) is used.
- See example_file_name_PS3 (and same as example: Atelier Totori/Meruru plus for the layering/tiling resolution used)
Tools
- Image2GVD application http://tizzyt-archive.blogspot.com/2014/08/image2gvd.html Make an regular image file to a .gvd file ready to be used on PlayView
- https://web.archive.org/web/*/http://playstationhax.xyz/forums/topic/82-image2gvd/
- Src: http://pastebin.com/PJbjJ3f5