PS3 [Research] RCOmage psdevwiki MOD v20180916

RCO manipulation and creation tool

  1. 5,915
    5,591
    622
    sandungas

    sandungas Moderator Developer

    Joined:
    Dec 31, 2014
    Messages:
    5,915
    Likes Received:
    5,591
    Trophy Points:
    622
    Location:
    Babylon 20xxE series
    Hmm, i think the textOverrideUnk57 is overriding the textLineSpacing or the textCharacterSpacing
    99% of the texts in ofw are loading the value 0 as mentioned before, but there are a few that loads different values, like this one

    textOverrideUnk57="0x9a030100" <---- this is loading the value 11 pixels (for 1080p resolution)

    If you want to do a blindshoot test try the textOverrideUnk57="0x9a030100" in one of your custom texts to see if the characters are more separated
     
  2. 5,915
    5,591
    622
    sandungas

    sandungas Moderator Developer

    Joined:
    Dec 31, 2014
    Messages:
    5,915
    Likes Received:
    5,591
    Trophy Points:
    622
    Location:
    Babylon 20xxE series
    Btw, for the record... i think in the next update im going to rename the numeral "suffix" of the unknown attribute names

    It works like this...
    Most of the objects (the objects are everything under <ObjectTree>) have a list of attributes that starts with a group of attributes that are common for all objects, in rcomage this group is named the "standard attributes", are 21, all them are known, they can be seen in this table
    https://www.psdevwiki.com/ps3/Template:RCO_TOC_Objects_standard_attributes

    Inmediatly after the 21 standard attributes are located the "specific attributes"... so technically the first specific attribute is located in position 22
    Every object could have different specific attributes, some of them are unique for that object, and a lot of them are unknown

    In the original rcomage this unknown specific attributes was given names like "unk26", "unk37", "unk52" etc... and when i renamed them for this mod i respected the "suffix" with the numbers, but most of the number suffixes are wrong, and right now doesnt makes sense
    I prefer to use an strict rule to rename them based in his position than having random numbers :/

    As example, take a look at the file objectattribdef-ps3.ini. This is the definition of a <Text> object:
    Code:
    [Text]
    ; -- BEGIN STANDARD ATTRIBUTE DEFINITION --
    positionX = float
    positionY = float
    positionZ = float
    colorScaleR = float
    colorScaleG = float
    colorScaleB = float
    colorScaleA = float
    sizeX = float
    sizeY = float
    sizeZ = float
    sizeScaleX = float
    sizeScaleY = float
    sizeScaleZ = float
    anchorMode = unk
    onInit = event
    positionOverrideX = unk
    positionOverrideY = unk
    positionOverrideZ = unk
    sizeOverrideX = unk
    sizeOverrideY = unk
    sizeOverrideZ = unk
    ; -- BEGIN SPECIFIC ATTRIBUTE DEFINITION --
    textMessage = text
    textFontStyle = ref
    textFontMode = unk
    textUnk29 = unk
    textFontSizeY = float
    textTopColorScaleR = float
    textTopColorScaleG = float
    textTopColorScaleB = float
    textBottomColorScaleR = float
    textBottomColorScaleG = float
    textBottomColorScaleB = float
    textLineSpacing = float
    textUnk37 = unk
    textUnk38 = unk
    textUnk39 = unk
    textCharacterSpacing = float
    textShadowOffsetX = float
    textShadowOffsetY = float
    textShadowOffsetZ = float
    textShadowColorScaleR = float
    textShadowColorScaleG = float
    textShadowColorScaleB = float
    textShadowColorScaleA = float
    textUnk48 = unk
    textUnk49 = unk
    textUnk50 = unk
    textUnkFloat51 = float
    textUnkFloat52 = float
    textUnkFloat53 = float
    textUnkFloat54 = float
    textResizeMode = int
    textOverrideUnk56 = unk
    textOverrideUnk57 = unk
    textOverrideUnk58 = unk
    
    "textUnk29" is located at position 25... so it should be renamed to "textUnk25"
    "textUnk37" is located at position 34... so it should be renamed to "textUnk34"
    And so on...

    To do this is going to be needed to rename... dunno... 100 attributes or more
    Is a big amount of names changed, but is about time to do it

    Yes, i know this change doesnt matters much, but now that we are talking about the unknowns i have the feeling that is better to do it
     
    Last edited: Oct 12, 2019
    DeViL303 likes this.
  3. 966
    1,026
    247
    LuanTeles

    LuanTeles Senior Member

    Joined:
    May 15, 2017
    Messages:
    966
    Likes Received:
    1,026
    Trophy Points:
    247
    Gender:
    Male
    Occupation:
    Civil Engineer
    Location:
    São Paulo - Brazil
    Home Page:
    Strange no difference, i tried some values in the textOverrideUnk57 and i got no effect
     
    sandungas likes this.
  4. 5,915
    5,591
    622
    sandungas

    sandungas Moderator Developer

    Joined:
    Dec 31, 2014
    Messages:
    5,915
    Likes Received:
    5,591
    Trophy Points:
    622
    Location:
    Babylon 20xxE series
    I just found an small patch for rcomagegui.exe :)
    You know, when you open it, by default it have the checkboxes for file format conversions enabled, this way:
    [​IMG]

    Personally i use to disable them most of the times, so i was taking a look at the .exe in a hexeditor to see how is stored that default state info for the checkboxes, seems to be just a byte, im using a short search pattern because the values only appears 4 times in the file, and the 4 are the checkboxes that can be seen in that screen

    Conversions off by default
    SEARCH: 1301
    REPLACE: 1300

    *Only replace the first 3 apparences (not the fourth, the fourth is to "separate resources types into separated folders")


    -------------------------
    I have not tested this much, i just found it, consider it experimental, if you like it and works fine for you please report back
     
    DeViL303 and LuanTeles like this.
  5. 966
    1,026
    247
    LuanTeles

    LuanTeles Senior Member

    Joined:
    May 15, 2017
    Messages:
    966
    Likes Received:
    1,026
    Trophy Points:
    247
    Gender:
    Male
    Occupation:
    Civil Engineer
    Location:
    São Paulo - Brazil
    Home Page:
    I will take a look at this =) nice finding, i will check the layout tables.

    0x12000100 does not work but 0x13000010 works good, but still small , i will check some other values.


    EDIT : changing0x12000100 to 0x12000010 works

    Why some are 0x??????100 Others 0x??????010 ?

    i will need to check how the overrides works in your post again :P

    [​IMG]
     
    sandungas and DeViL303 like this.
  6. 966
    1,026
    247
    LuanTeles

    LuanTeles Senior Member

    Joined:
    May 15, 2017
    Messages:
    966
    Likes Received:
    1,026
    Trophy Points:
    247
    Gender:
    Male
    Occupation:
    Civil Engineer
    Location:
    São Paulo - Brazil
    Home Page:
    i will make some tests too
     
    sandungas and DeViL303 like this.
  7. 966
    1,026
    247
    LuanTeles

    LuanTeles Senior Member

    Joined:
    May 15, 2017
    Messages:
    966
    Likes Received:
    1,026
    Trophy Points:
    247
    Gender:
    Male
    Occupation:
    Civil Engineer
    Location:
    São Paulo - Brazil
    Home Page:

    I tested several values in the textFontSizeY="??" and it still does not affect anything

    tested in the psp and it worked
     
    Last edited: Oct 12, 2019
    sandungas and DeViL303 like this.
  8. 5,915
    5,591
    622
    sandungas

    sandungas Moderator Developer

    Joined:
    Dec 31, 2014
    Messages:
    5,915
    Likes Received:
    5,591
    Trophy Points:
    622
    Location:
    Babylon 20xxE series
    Agree, there is some mistery behind it and at this point is hard to figure it :D
    But im 100% sure the official firmware uses it, and there are some texts loading the value 11 from it (so is something small, not sure what, and the overrides are always related with sizes or positions)

    I guess it belongs to a feature that is not displayed in your custom texts... not sure what could be but i mean things like the "glow" effect i mentioned before, it seems all the <Text> objects uses the glow, but in most of them is not visible

    Im wondering if some of this extra features for <Text> objects are enabled by the textFontMode
    Im going to copy what i wrote here for historical purposes https://www.psx-place.com/threads/ps3-pro-mod-release-information-thread.14641/page-40#post-208203
    Which value are you using for it ?, we should think in it as composed by 4 bytes, and every byte is a switch for a different feature, and all them are unknown

    I think you should try to enable all bytes in it (by using value 0x01010101) and if everything looks ok you should keep using that value for all your custom <Text>
    You know... the rule im following is... by enabling all features eventually you could find them... otherway with all disabled is imposible to find them
     
    LuanTeles and DeViL303 like this.
  9. 5,915
    5,591
    622
    sandungas

    sandungas Moderator Developer

    Joined:
    Dec 31, 2014
    Messages:
    5,915
    Likes Received:
    5,591
    Trophy Points:
    622
    Location:
    Babylon 20xxE series
    Look, inside sysconf_plugin.rco
    Code:
    <Text name="text_parental_control_set_level" textFontMode="0x1000101" textOverrideUnk57="0x9a030100"></Text>
    Take the first 2 bytes at left of the override value 0x9a030100 and "flip" them... so they becomes 0x039a
    Then convert them to decimal... so they becomes 922
    Then you add +1... so they becomes 923

    Thats the line where is stored the value inside the layout .txt files, there is a .txt file for every resolution:
    layout_grid_table1080.txt <----- at line 923 is stored the value 11
    layout_grid_table720.txt <------ at line 923 is stored the value 7
    layout_grid_table480.txt <------ at line 923 is stored the value 8
    layout_grid_table272.txt <------ at line 923 is stored the value 8

    ----------------------
    When you go to XMB settings column, and you change the screen resolution, the XMB resets, and the rco files loads the values for positions and sizes externally from this "layout" .txt files
     
    LuanTeles likes this.
  10. 5,915
    5,591
    622
    sandungas

    sandungas Moderator Developer

    Joined:
    Dec 31, 2014
    Messages:
    5,915
    Likes Received:
    5,591
    Trophy Points:
    622
    Location:
    Babylon 20xxE series
    Good question ;)

    Btw, the override value 0x13000010 is ilegal, the reason why is working good for you in this case is because is not loading anything from the layout factor tables

    In other words... the value 0x13000100 is loading something you dont like... and when you use 0x13000010 you are not loading that annoyance

    This is long to explain, but as the most basic concept you need to think in the override values (composed by 4 bytes) as 2 values with 2 bytes each
    So... to understand the value 0x13000010 you should split it in 2, first one is 0x1300, and second is 0x0010
    Then you need to flip them, the first one is 0x13 and second one is 0x1000
    Then convert them to decimal, and add + 1, and this is the line in the layout .txt files

    The first one loads a value from line 20 of the layout_grid_table****.txt
    The second one loads a value from line 4097 of the layout_factor_table****.txt <--- but the .txt file only have 143 lines :rolleyes:

    See the problem ?, you are trying to load a value from line 4097 of a .txt file that only have 143 lines... so the firmware cant load it :rolleyes:

    ----------------------
    The values i suggested like this one... 0x12000100
    When you flip the bytes at right you have decimal 1... and when you do the +1 it means is going to load line 2 of the layour factor tables

    First line in the factor tables is always storing the value 1 (and second line always stores a 0).... the values in the factor tables are used as multiplyers, and when you multiply something by 1 the result is the same
    To achieve this you need to fill the 2 bytes most at right of the override with zeroes, like this:
    0x12000000

    To do the calculations, you need to flip the zeroes, then convert to decimal (so are still zeroes), and when you add a + 1 this is when it becomes the first line in the layout .txt files... in plain words, the value 0000 is loading line 1 ;)

    This is like a golden rule needed to remember... the override values that ends with zeroes like this: 0x????0000 are loading a multiplyer = 1
    And this is convenient for you because this way you should not worry about that multiplyers... in some way is like disabling the multiplyers ;)

    So you should use always 0x????0000... unless you really want to do something with that multiplyers
     
    Last edited: Oct 12, 2019
  11. 5,915
    5,591
    622
    sandungas

    sandungas Moderator Developer

    Joined:
    Dec 31, 2014
    Messages:
    5,915
    Likes Received:
    5,591
    Trophy Points:
    622
    Location:
    Babylon 20xxE series
    Yes is weird, and thanks for the confirmation that it works in PSP, you made me doubt if the name textFontSizeY was wrong

    I think this renaming i sugested is correct because both are doing the same
    And actually... when i was making the override conversions of your post with the screenshot using different text sizes all them was matching with what you said
    I mean... when you wrote a rough description of everyone of your tests based in the others liike... "this one is a big bigger than previous one"... or "this one is a bit smaller than next one"

    To me this is a confirmation that you have identifyed that unknown :encouragement:
    You are not much used to calculate that override values, but after the talks today i think you are going to get used to it fast and you are going to have good control of text sizes soon ;)
     
  12. 5,915
    5,591
    622
    sandungas

    sandungas Moderator Developer

    Joined:
    Dec 31, 2014
    Messages:
    5,915
    Likes Received:
    5,591
    Trophy Points:
    622
    Location:
    Babylon 20xxE series
    Btw @LuanTeles the oter day i made a couple of images about the anchorMode :)

    anchorMode (known values)
    [​IMG]

    anchorMode (unknown values)
    [​IMG]
     
    LuanTeles likes this.
  13. 966
    1,026
    247
    LuanTeles

    LuanTeles Senior Member

    Joined:
    May 15, 2017
    Messages:
    966
    Likes Received:
    1,026
    Trophy Points:
    247
    Gender:
    Male
    Occupation:
    Civil Engineer
    Location:
    São Paulo - Brazil
    Home Page:
    The strange thing about the anchor mode is thar 0x3100 is the only one that makes the alignment not centered, but in the right side
     
  14. 5,915
    5,591
    622
    sandungas

    sandungas Moderator Developer

    Joined:
    Dec 31, 2014
    Messages:
    5,915
    Likes Received:
    5,591
    Trophy Points:
    622
    Location:
    Babylon 20xxE series
    Not sure what you mean, but keep in mind the blue rectangle in my drawing represents an image (or a plane... or actually any object under <ObjectTree>)... but to simplify concepts we can say is a polygon made with 4 vertex

    I used different colors for the "dots" to indicate the order how the firmware calculates his positions
    The black dots are straightforward (no need to do any maths) because matches with the vertex of the polygon
    The red dots are calculated next, the firmware does a simple math operation by dividing the side at half
    And the yellow dot is a combination of the previous red dots

    After that... the blue dots... all them are located externally to the polygon, this means as example... if you indicate coordinates x=10 and Y=40 and you use one of the blue dots the image is not going to be located in that position (it will be displaced a bit)
     
    Algol and LuanTeles like this.

Share This Page