PlayView: Difference between revisions
mNo edit summary |
|||
Line 88: | Line 88: | ||
! style="background-color:#02CDC7; color:#FFFFFF;" |1.00|| style="background-color:#02CDC7; color:#FFFFFF;" |1.01 | ! style="background-color:#02CDC7; color:#FFFFFF;" |1.00|| style="background-color:#02CDC7; color:#FFFFFF;" |1.01 | ||
|- | |- | ||
|TGDT0100 header 0x400 || | |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==== | |||
{| class="wikitable sortable" | |||
|- | |||
! style="background-color:#010ADA; color:#FFFFFF;" |Offset || style="background-color:#010ADA; color:#FFFFFF;" |Length || style="background-color:#010ADA; color:#FFFFFF;" |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 (00 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===== | |||
{| class="wikitable sortable" | |||
|- | |||
! style="background-color:#010ADA; color:#FFFFFF;" |Offset || style="background-color:#010ADA; color:#FFFFFF;" |Length || style="background-color:#010ADA; color:#FFFFFF;" |Value & note | |||
|- | |||
| 0000 || 10 || .name file.gvd <!--//XML .ID difference for . //--> | |||
|- | |||
| 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===== | |||
{| 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 | |||
|- | |||
| 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 || Length Width (hex) total layer 0 (variable per game) | |||
|- | |||
| 0014 || 4 || 00 00 xx xx || Length Height (hex) total layer 0 (variable per game) | |||
|- | |||
| 0018 || 4 || 42 4C 4B 5F ||"BLK_" | |||
|- | |||
| 001C || 4 || 00 00 xx xx|| Length Data Base (variable per game structure) | |||
|- | |||
| 0020 || 8 || 00 00 00 01 00 00 00 00 || Similar | |||
|- | |||
|colspan="5" style="text-align:center; background-color:#ADAADA;" |Data Base | |||
|- | |||
| 0028 || 4 || 00 00 00 20 || Apps/machine code? | |||
|- | |||
| 002C || 4 || 00 00 00 04 || Apps/machine code? | |||
|- | |||
| 0030 || 4 || 00 00 00 xx || Grid position Width (hex): as horizontal line, left to right. | |||
|- | |||
| 0034 || 4 || 00 00 00 xx || Grid position Height (hex): next position after each horizontal line. | |||
|- | |||
| 0038 || 4 || 00 00 00 0x || Layer level: layer 0 (max zoom) appear first. | |||
|- | |||
| 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 || ... || ... || Repeat last 0x20 for each image on the page | |||
|- | |||
|colspan="5" style="text-align:center; background-color:#ADAADA;" |Data Base | |||
|- | |||
| XXXX || 4 || 42 4C 4B 5F|| "BLK_" | |||
|- | |||
| XXXX || 4 || xx xx xx xx || Total length embedded images (with FF padding) | |||
|- | |||
| XXXX || 8 || 00 00 00 02 00 00 00 00 || Similar | |||
|- | |||
| XXXX || xx || FF D8 ...|| First JPEG (first from level layer on file 0, top left to right) | |||
|- | |||
| XXXX || xx || || Padding with FF (16 bytes alignment<!--//not mandatory//-->) | |||
|- | |||
| XXXX || xx || || Second JPEG until last image for the page. Start either next name file.gvd/data base viewer | |||
|- | |||
| XXXX || xx || xx xx || Padding with 00 for alignment if next is data base viewer | |||
|- | |||
|} | |||
=====Images JPG===== | |||
Embedded image (JPEG JFIF) per page. | |||
<!--// this will be needed here) | |||
{| 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 | |||
|- | |||
| 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. | |||
===content.dat(.edat):=== | |||
The file contain the XML structure to transport elements such video, music background etc... | |||
*First part header: | |||
{| class="wikitable sortable" | |||
|- | |||
! style="background-color:#010ADA; color:#FFFFFF;" |Offset || style="background-color:#010ADA; color:#FFFFFF;" |Length || style="background-color:#010ADA; color:#FFFFFF;" |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) | |||
|- | |||
| 0014 || 4 || Length | |||
|- | |||
| 0018 || 4 || Offset | |||
|- | |||
| 001C || 4 || Length | |||
|- | |||
| 0020 || xx|| Repeat last 0x10 | |||
|- | |||
|} | |||
*Second part XML: | |||
On 1.01: | |||
<div style="height:600px; width:750px; overflow:auto"> | |||
{{Boxcode|content=<syntaxhighlight lang="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 the level of max_zoom --> | |||
<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--> | |||
<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_YYYYMMDDHHMMSS001" 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> | |||
... | |||
</syntaxhighlight>}} | |||
</div> | |||
===Note=== | |||
*Image: JPEG (...)<!--//Not really specific. here for setting/tools/tips etc..,Images JPG for marker only//--> | |||
*Video: | |||
{| class="wikitable sortable" | |||
|- | |||
! style="background-color:#123ADA; color:#FFFFFF;" |'''Property''' | |||
! style="background-color:#123ADA; color:#FFFFFF;" |'''PSP''' | |||
! style="background-color:#123ADA; color:#FFFFFF;" |'''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 markers || || | |||
|- | |||
|} | |||
::<small>*no auto scale on PSP? (fw 6.60 videos utility is more picky than fw 6.39)</small> | |||
::<small>*not all PlayView on PS3 & PSP contains videos, 3D content video and stereo 3D are supported.</small> | |||
*Sound: (only se.dat?) | |||
Some PS3/PSP PLayview can have specific sound assigned to actions such cancel. | |||
{| class="wikitable sortable" | |||
|- | |||
| style="background-color:#123ADA; color:#FFFFFF;" |'''Name''' | |||
| style="background-color:#123ADA; color:#FFFFFF;" |'''Offset''' | |||
| style="background-color:#123ADA; color:#FFFFFF;" |'''Size''' | |||
| style="background-color:#123ADA; color:#FFFFFF;" |'''Example''' | |||
| style="background-color:#123ADA; color:#FFFFFF;" |'''Remark''' | |||
|- | |||
| Magic || 0x00 || 0x06 || 53 47 58 44 50 01 || "SGXDP" | |||
|- | |||
| Header size || 0x06 || 0x04 || 00 00 60 01 || | |||
|- | |||
| Body size || 0x0A || 0x8 || N.A || | |||
|- | |||
|} | |||
*Music: Used on background, for each page or when linked/zoomed. MP3 format (128 KBPS) | |||
*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]? | |||
*Web Brower link in-game for PS3 PlayView? | |||
*This tiny tool can extract embedded .JPG (some gvd.dat can have more than 10 000 images), heavily based on an [https://anonfiles.com/file/c70ac8535cc097ca13541e00261f8952 MPO splitter by Christian Steinruecken.] | |||
http://rghost.net/48813321 (include Code-Compile-Credit. Drag and drop your file with embedded .JPG) | |||
==PlayView Config== | |||
PlayView apps itself can be configured per game/machine. Indeed one aspect of this Tiny Gigantic Viewer being authoring, it need to be quick and easy to port (...) the game data but also the apps to fit into different content/machine/user. | |||
Following Config PSP & PS3 and config User Interface description are not necessary complete and don t necessary complete each other. | |||
===Config PSP & PS3: tgv.cfg=== | |||
This file can be in different format up to the title. | |||
Allow different settings for the title such background color. | |||
This table is not complete. | |||
{| class="wikitable sortable" | |||
|- | |||
! style="background-color:#02CDC7; color:#FFFFFF;" |Settings|| style="background-color:#02CDC7; color:#FFFFFF;" |Values ||style="background-color:#02CDC7; color:#FFFFFF;" |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 | |||
|| | |||
|- | |||
|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: 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, [http://en.wikipedia.org/wiki/Aspect_ratio 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 [[Content_Information_Files#Languages | Languages]] up to the ones available on PSP | |||
|- | |||
|} | |||
===Config User Interface: ui=== | |||
This file can be in different format/name up to the title version. | |||
Can be divide into 3 part: | |||
*First part: | |||
{| class="wikitable sortable" | |||
|- | |||
! style="background-color:#010ADA; color:#FFFFFF;" |Offset || style="background-color:#010ADA; color:#FFFFFF;" |Length || style="background-color:#010ADA; color:#FFFFFF;" |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) | |||
|- | |||
| 0014 || 4 || Length | |||
|- | |||
| 0018 || 4 || Offset | |||
|- | |||
| 001C || 4 || Length | |||
|- | |||
| 0020 || xx|| Repeat last 0x10 | |||
|- | |||
|} | |||
*Second part (example): | |||
<div style="height:650px; overflow:auto"> | |||
{{Boxcode|content=<syntaxhighlight lang="xml"> | |||
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 | |||
</syntaxhighlight>}} | |||
</div> | |||
*Third part: | |||
Title id.png followed by the image itself (contains boot screens, menu user etc..) | |||
---- | |||
= Misc: = | |||
==Digital Comic PSP== | |||
Not related to PlayView but for completion/comparison, we can make a quick review here. | |||
On PS3, digital comic can also be repack and run as {{icon content pspremaster}} or {{icon content pspminis}}. | |||
Customization might be extremely limited by size of image (around 2MB?) per page/sum loaded although there are may be some possible setting (if not due to internal use) on emulation for PS3 and one SFO parameter on PSP. XML structure link seems also limited to only two xmlurl / action per page (left/right as backward/forward) . | |||
it s simple to manipulate and make your owns .PNG (no need to be specific) slow slide show pack as PKG for your game column. | |||
Pages can be added by simply expand the structure inside USRDIR/packages/comic name/ | |||
==Structure tree== | |||
PSP_GAME/ | |||
| | |||
|-SYSDIR/ | |||
| | |||
|-USRDIR/ | |||
| | |||
|-font/ | |||
| | | |||
| |-latin_22_serif_r.pgf files, latin_22_serif_i.pgf files,... | |||
| | |||
|-images/ | |||
| | | |||
| |-.bmp, .gim and .tga files used for GUI. | |||
| | |||
|-module/ | |||
| | | |||
| |-libfont.prx | |||
| | | |||
| |-libmp3.prx | |||
| | | |||
| |-libpsmfplayer.prx | |||
| | | |||
| |-libsecure.prx | |||
| | | |||
| |-psmf.prx | |||
| | | |||
| |-psnet_ap_dialog_dummy.prx | |||
| | |||
|-packages/ | |||
| | | |||
| |-comic name dir/ | |||
| | | | |||
| | |-templates/ | |||
| | | | | |||
| | | |-page1layout.xml, page2layout.xml, ... | |||
| | | | |||
| | |-_default_white_bg.jpg | |||
| | | | |||
| | |-001.PNG, 002.PNG, ... | |||
| | | | |||
| | |-AppTemplate.xml | |||
| | | | |||
| | |-packageInfo.xml | |||
| | | | |||
| | |-page00000001.xml, page00000002.xml, ... | |||
| | | |||
| |-background.jpg | |||
| | | |||
| |-home_page.xml | |||
| | |||
|-AppTemplate.xml | |||
| | |||
|-config.txt | |||
| | |||
|-NTemplateMain.xml | |||
==Notes== | |||
*AppTemplate.xml : Contains application name of the app, font (size, type, style ...), buttonMap (L2/R2 included and related status), ... | |||
*config.txt : home page URL, umd and ms root directory, ... | |||
*NTemplateMain.xml : | |||
===USRDIR/font=== | |||
PGF format for fonts is the format used on the psp | |||
http://dl.qj.net/psp/tools-utilities-on-pc/ttf2pgf-font-converter.html | |||
===USRDIR/images=== | |||
Images in game used for GUI. | |||
===USRDIR/module=== | |||
libfont.prx, libmp3.prx, libsmfplayer.prx... | |||
===USRDIR/packages=== | |||
*background.jpg | |||
*home_page.xml | |||
====USRDIR/packages/comic name/==== | |||
*_default_white_bg.jpg : used when the 0xx.PNG is not loaded properly (generic image used in other psp comic?) | |||
*001.PNG, 002.PNG, ... : are images specific to the comic book. | |||
*AppTemplate.xml : Contains application name of the comic, font (size, type, style ...), buttonMap (L2/R2 included and related status), ... | |||
*packageInfo.xml : contains Application Id, Name,...and Package Id | |||
*page00000001.xml, page00000002.xml, ... : | |||
====USRDIR/packages/comic name/template==== | |||
*page1layout.xml, page2layout.xml, p3layout.xml ... : contains buttons assigned | |||
---- | |||
==Digital Manual PS3== | |||
Not related to PlayView but for completion/comparison, we can make a quick review here (or re/move later if there are custom manual or not documented well enough to got generic structure) . | |||
Named as Digimanual or Manual (Digital), they are stand alone pkg hdd games included in disc (PKGDIR for example) or available online. | |||
==Structure tree== | |||
NPUO30***/ (only from few US example) | |||
| | |||
|-ICON0.PNG (See[[Content_Information_Files#HDD_Game| Content Information files for HDD Game]]) | |||
| | |||
|-PARAM.SFO (SFO category HG) | |||
| | |||
|-PS3LOGO.DAT | |||
| | |||
|-USRDIR/ | |||
| | |||
|-digiman.sdat | |||
| | |||
|-digiman_content.sdat | |||
| | |||
|-digiman_content_en.sdat (can also have others languages as digiman_content_es.sdat..) | |||
| | |||
|-EBOOT.BIN | |||
| | |||
|-assets/ | |||
| | |||
|-image/ (can contain sub-directory such "screenshots"...) | |||
| | | |||
| |-.jpg and .png | |||
| | |||
|-sound/ | |||
| | | |||
| |-.wav | |||
| | |||
|-video/ | |||
| | |||
|-.usm |
Revision as of 21:20, 2 October 2013
PlayView
Description
Generic
PlayView can be described as guide book for games. Using "ultra- high resolution (4K) digital data", PSP or PS3 will display the images with no effort. It can be compatible 3D and PS Move+EYE Camera on PS3 and can include possible 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 Tourismo 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, but it can be distinguish as for PS3 or 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 and embebed Playview (e.g. the "wizard book" inside "Ni No Kuni" uses a custom game module named libTGV_v1.45.07.sprx)
Playview might required FW 6.39 or so, and PS3 FW 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, see below.
Codename of playview is TGV (Tiny Gigantic Viewer) and his 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
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) on the file who contain the image: gvd.dat.edat file (see DATA BASE Viewer) and effect as double page flip are defined into the content.dat.edat (second part contan the structure XML) .
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.81 (FW 3.70.001) and v.1.10 (FW 410.001)
- *Ni No Kuni internal PlayVew 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 (00 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 | Value | Note | |
---|---|---|---|---|
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 | Length Width (hex) total layer 0 (variable per game) | |
0014 | 4 | 00 00 xx xx | Length Height (hex) total layer 0 (variable per game) | |
0018 | 4 | 42 4C 4B 5F | "BLK_" | |
001C | 4 | 00 00 xx xx | Length Data Base (variable per game structure) | |
0020 | 8 | 00 00 00 01 00 00 00 00 | Similar | |
Data Base | ||||
0028 | 4 | 00 00 00 20 | Apps/machine code? | |
002C | 4 | 00 00 00 04 | Apps/machine code? | |
0030 | 4 | 00 00 00 xx | Grid position Width (hex): as horizontal line, left to right. | |
0034 | 4 | 00 00 00 xx | Grid position Height (hex): next position after each horizontal line. | |
0038 | 4 | 00 00 00 0x | Layer level: layer 0 (max zoom) appear first. | |
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 | ... | ... | Repeat last 0x20 for each image on the page | |
Data Base | ||||
XXXX | 4 | 42 4C 4B 5F | "BLK_" | |
XXXX | 4 | xx xx xx xx | Total length embedded images (with FF padding) | |
XXXX | 8 | 00 00 00 02 00 00 00 00 | Similar | |
XXXX | xx | FF D8 ... | First JPEG (first from level layer on file 0, top left to right) | |
XXXX | xx | Padding with FF (16 bytes alignment) | ||
XXXX | xx | Second JPEG until last image for the page. Start either next name file.gvd/data base viewer | ||
XXXX | xx | xx xx | Padding with 00 for alignment if next is data base viewer |
Images JPG
Embedded image (JPEG JFIF) per page. The second page start.
content.dat(.edat):
The file contain the XML structure to transport elements such video, music background etc...
- 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) |
0014 | 4 | Length |
0018 | 4 | Offset |
001C | 4 | Length |
0020 | xx | Repeat last 0x10 |
- Second part XML:
On 1.01:
Code Sample
Note
- Image: JPEG (...)
- 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 markers |
- *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.
- Sound: (only se.dat?)
Some PS3/PSP PLayview can have specific sound assigned to actions such cancel.
Name | Offset | Size | Example | Remark |
Magic | 0x00 | 0x06 | 53 47 58 44 50 01 | "SGXDP" |
Header size | 0x06 | 0x04 | 00 00 60 01 | |
Body size | 0x0A | 0x8 | N.A |
- Music: Used on background, for each page or when linked/zoomed. MP3 format (128 KBPS)
- PSP EDAT files (videos & sound also): see tool on main page for decrypt.
- Tiles_type also as Multiplane and Stereoscopy?
- Web Brower link in-game for PS3 PlayView?
- This tiny tool can extract embedded .JPG (some gvd.dat can have more than 10 000 images), heavily based on an MPO splitter by Christian Steinruecken.
http://rghost.net/48813321 (include Code-Compile-Credit. Drag and drop your file with embedded .JPG)
PlayView Config
PlayView apps itself can be configured per game/machine. Indeed one aspect of this Tiny Gigantic Viewer being authoring, it need to be quick and easy to port (...) the game data but also the apps to fit into different content/machine/user.
Following Config PSP & PS3 and config User Interface description are not necessary complete and don t necessary complete each other.
Config PSP & PS3: tgv.cfg
This file can be in different format up to the title.
Allow different settings for the title such background color.
This table is not 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 |
|
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: 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 |
Config User Interface: ui
This file can be in different format/name up to the title version.
Can be divide into 3 part:
- First part:
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) |
0014 | 4 | Length |
0018 | 4 | Offset |
001C | 4 | Length |
0020 | xx | Repeat last 0x10 |
- Second part (example):
Code Sample
- Third part:
Title id.png followed by the image itself (contains boot screens, menu user etc..)
Misc:
Digital Comic PSP
Not related to PlayView but for completion/comparison, we can make a quick review here.
On PS3, digital comic can also be repack and run as or .
Customization might be extremely limited by size of image (around 2MB?) per page/sum loaded although there are may be some possible setting (if not due to internal use) on emulation for PS3 and one SFO parameter on PSP. XML structure link seems also limited to only two xmlurl / action per page (left/right as backward/forward) .
it s simple to manipulate and make your owns .PNG (no need to be specific) slow slide show pack as PKG for your game column.
Pages can be added by simply expand the structure inside USRDIR/packages/comic name/
Structure tree
PSP_GAME/ | |-SYSDIR/ | |-USRDIR/ | |-font/ | | | |-latin_22_serif_r.pgf files, latin_22_serif_i.pgf files,... | |-images/ | | | |-.bmp, .gim and .tga files used for GUI. | |-module/ | | | |-libfont.prx | | | |-libmp3.prx | | | |-libpsmfplayer.prx | | | |-libsecure.prx | | | |-psmf.prx | | | |-psnet_ap_dialog_dummy.prx | |-packages/ | | | |-comic name dir/ | | | | | |-templates/ | | | | | | | |-page1layout.xml, page2layout.xml, ... | | | | | |-_default_white_bg.jpg | | | | | |-001.PNG, 002.PNG, ... | | | | | |-AppTemplate.xml | | | | | |-packageInfo.xml | | | | | |-page00000001.xml, page00000002.xml, ... | | | |-background.jpg | | | |-home_page.xml | |-AppTemplate.xml | |-config.txt | |-NTemplateMain.xml
Notes
- AppTemplate.xml : Contains application name of the app, font (size, type, style ...), buttonMap (L2/R2 included and related status), ...
- config.txt : home page URL, umd and ms root directory, ...
- NTemplateMain.xml :
USRDIR/font
PGF format for fonts is the format used on the psp
http://dl.qj.net/psp/tools-utilities-on-pc/ttf2pgf-font-converter.html
USRDIR/images
Images in game used for GUI.
USRDIR/module
libfont.prx, libmp3.prx, libsmfplayer.prx...
USRDIR/packages
- background.jpg
- home_page.xml
USRDIR/packages/comic name/
- _default_white_bg.jpg : used when the 0xx.PNG is not loaded properly (generic image used in other psp comic?)
- 001.PNG, 002.PNG, ... : are images specific to the comic book.
- AppTemplate.xml : Contains application name of the comic, font (size, type, style ...), buttonMap (L2/R2 included and related status), ...
- packageInfo.xml : contains Application Id, Name,...and Package Id
- page00000001.xml, page00000002.xml, ... :
USRDIR/packages/comic name/template
- page1layout.xml, page2layout.xml, p3layout.xml ... : contains buttons assigned
Digital Manual PS3
Not related to PlayView but for completion/comparison, we can make a quick review here (or re/move later if there are custom manual or not documented well enough to got generic structure) . Named as Digimanual or Manual (Digital), they are stand alone pkg hdd games included in disc (PKGDIR for example) or available online.
Structure tree
NPUO30***/ (only from few US example) | |-ICON0.PNG (See Content Information files for HDD Game) | |-PARAM.SFO (SFO category HG) | |-PS3LOGO.DAT | |-USRDIR/ | |-digiman.sdat | |-digiman_content.sdat | |-digiman_content_en.sdat (can also have others languages as digiman_content_es.sdat..) | |-EBOOT.BIN | |-assets/ | |-image/ (can contain sub-directory such "screenshots"...) | | | |-.jpg and .png | |-sound/ | | | |-.wav | |-video/ | |-.usm