Editing RCOXML Texts

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

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

Latest revision Your text
Line 1: Line 1:
=Description=
=Description=
The texts inside .rco files are indexed in the embedded '''RCOXML''' code of the .rco container under the XML element '''TextTree'''. See [[Resource Container (RCO)]] and [[RCOXML Coding]]
The texts inside .rco files are indexed in the embedded '''RCOXML''' code of the .rco container under the XML element '''TextTree'''. See [[Resource Container (RCO)]] and [[RCOXML Structure]]


All the texts inside .rco has a localized file for every one of the [[languages]] supported by [[XMB]]. The localized file contains all the translated text strings
All the texts inside .rco has a localized file for every one of the [[languages]] supported by [[XMB]]. The localized file contains all the translated text strings
{{RCOXML contents PS3}}
=Text=
"TextTree" could be renamed to LanguageTree, is more intuitive, the point is every entry here is the "parent" of several string texts, but the entry itself is not a text (is the parent of a group of texts), so is better to use a name more abstract like "LanguageTree"
For a [[Languages|Language]] first are specified the '''language_id''' and the number of "children" text strings
{| class="wikitable"
|-
! Offset !! Length !! Name !! Example !! Notes
|-
| 0x00 || 0x02 || '''language_id''' ||  || 0x00=Japanese<br>0x01=English (United States)<br>0x02=French<br>0x03=Spanish (Spain)<br>0x04=German<br>0x05=Italian<br>0x06=Dutch<br>0x07=Portuguese (Portugal)<br>0x08=Russian<br>0x09=Korean<br>0x0A=Chinese (Traditional)<br>0x0B=Chinese (Simplified)<br>0x0C=Finnish<br>0x0D=Swedish<br>0x0E=Danish<br>0x0F=Norwegian<br>0x10=Polish<br>0x11=Portuguese (Brazil)<br>0x12=English (United Kingdom)<br>0x13=Turkish
|-
| 0x02 || 0x02 || '''character_encoding''' ||  || Works as a replacement of the [https://en.wikipedia.org/wiki/Byte_order_mark BOM]<br>0x00=[https://en.wikipedia.org/wiki/UTF-8 UTF8]<br>0x01=[https://en.wikipedia.org/wiki/UTF-16 UTF16]<br>0x02=[https://en.wikipedia.org/wiki/UTF-32 UTF32]
|-
| 0x04 || 0x04 || '''strings_number''' ||  || number of text strings for this '''language_id'''
|}
Now for every '''strings_number''' are repeated 12 bytes to define every string that are references to other tables
{| class="wikitable"
|-
! Offset !! Length !! Name !! Example !! Notes
|-
| 0x00 || 0x04 || '''label_offset''' ||  || Offset to label, relative of the label table
|-
| 0x04 || 0x04 || '''string_length''' ||  || Length of the text
|-
| 0x08 || 0x04 || '''string_offset''' ||  || Offset of the text, relative to the text data start address
|}


=Language Modifications=
=Language Modifications=
Line 39: Line 11:


==Photosensitive epilepsy text removal/replacement==
==Photosensitive epilepsy text removal/replacement==
<div style="float:right">[[File:Epilepsy-warning.jpg|210px|thumb|right|Epilepsy Warning screen]]</div>
Text is located in all <language.xml> files inside [[sysconf_plugin]].rco
Text is located in all <language.xml> files inside [[sysconf_plugin]].rco


It can be blanked (replaced by nothing), or replaced by any other custom text and ASCII art
It can be blanked (replaced by nothing), or replaced by any other custom text and ASCII art


{{clear}}
{{Boxcode|content=<syntaxhighlight lang="xml">
{{Boxcode|code=<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- This XML was generated by Rcomage v1.1.2 -->
<!-- This XML was generated by Rcomage v1.1.2 -->
Line 65: Line 34:
**Some experiments with ASCII art http://www.ps3hax.net/2013/04/tutorial-how-to-edit-ps3-epilepsy-warning-on-cfw/
**Some experiments with ASCII art http://www.ps3hax.net/2013/04/tutorial-how-to-edit-ps3-epilepsy-warning-on-cfw/
**VSH.self is responsible for loading the epilepsy warning screen. To disable it completely use [[Patches#disable_epilepsy_message|this patch]]
**VSH.self is responsible for loading the epilepsy warning screen. To disable it completely use [[Patches#disable_epilepsy_message|this patch]]


==Adding custom language packs==
==Adding custom language packs==
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

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

Cancel Editing help (opens in new window)