[THPS3] frontend.qb documentation / how to mod text and menus

Tutorial forum for Tony Hawk games.
Forum rules
No requests, use other sections for that. TAG your titles [THAW][THUG2] etc.
rodneyM7
Posts: 23
Joined: Sun Sep 24, 2017 11:37 am
Contact:

[THPS3] frontend.qb documentation / how to mod text and menus

Postby rodneyM7 » Mon Nov 27, 2017 10:57 pm

I've been experimenting a bit with this script and thought I'd share my information here. The frontend.qb holds most of the information of the menus you can access in the skateshop and a bit more. I'll give a few examples and then just list which parts of the game are effected by which string. I have basically zero programming skills but certainly this will still be helpful for those who just want to edit a certain menu or text quickly.

Code: Select all

:u(02:00000078)$setproperty$:s{$type$ = call $textdrawer$ arguments    defines the object of the properties -> text.
         $name$ = $title$$values$                         
         
The name indicates where that text is located or better which texts make use the following states values. 'title' refers to all the titles of the main menus.
         = :s{$font$ = %s(9,"title.fnt")                  defines the font for the text. The main 3 are title, large and small.
         $spacing$ = %i(4,00000004)                     defines the space between the single letters.
         $defaultScale$ = %f(0.689844)                     defines the size of the text.
         $defaultColor$ = %vec3(128.000000,128.000000,128.000000)   defines the color of the text. %vec3(red,green,blue).
         $defaultAlpha$ = %i(117,00000075)                  defines the transparency of the text (0 invisible).
         $shadow_off$ = %vec2(0.124902,0.050977):s}:s}            defines the position of the text's shadow. %vec2( X / Y).


Code: Select all

:u(02:00000116)$setproperty$:s{$type$ = call $textdrawer$ arguments    
         $name$ = $cas_menu_property$$values$                = text of the CAS menu ('change appearance')
         = :s{$font$ = %s(9,"small.fnt")                     here a different font is used.
         $spacing$ = %f(1.000000)                        
         $defaultScale$ = %f(0.900000)                     default size
         $selectedScale$ = %f(0.900000)                     size of the selected text. If you scroll through a menu you can highlight the current (selected) element by choosing a different scale, color or alpha in comparison to the rest of the text (default). 'Gray' refers to those elements which are non-selectable and thus grayed out (you can't select hair if your skater is already wearing a helmet etc). As you can see below you can define individual values for these elements as well. The spacing, font and distance of the shadow will be the same for all three though.
         
         $defaultColor$ = %vec3(128.000000,128.000000,128.000000)   
         $selectedColor$ = %vec3(176.000000,133.000000,0.000000)   
         $grayColor$ = %vec3(120.000000,120.000000,120.000000)      
         $defaultAlpha$ = %i(117,00000075)                  
         $selectedAlpha$ = %i(160,000000a0)                  
         $grayAlpha$ = %i(64,00000040)                      
         $shadow_off$ = %vec2(0.000000,0.050000):s}:s}   


Here's the list as far as I've figured it out:

Code: Select all

:u(02:00000078)$setproperty$:s{$type$ = call $textdrawer$ arguments    main title menu
         $name$ = $title$                     
:u(02:00000085)$setproperty$:s{$type$ = call $textdrawer$ arguments
         $name$ = $title_warning$
not sure about this one anymore. Probably the main title of the warning which appears when you try to switch between skaters without saving your CAS.
         
:u(02:00000091)$setproperty$:s{$type$ = call $textdrawer$ arguments    LAN menus
         $name$ = $title_small$   
:u(02:0000009d)$setproperty$:s{$type$ = call $textdrawer$ arguments    skater name
         $name$ = $title_medium$      
:u(02:000000a9)$setproperty$:s{$type$ = call $textdrawer$ arguments    ?
         $name$ = $subtitle$
:u(02:000000b7)$setproperty$:s{$type$ = call $textdrawer$ arguments    subtitle menu
         $name$ = $main$
:u(02:000000c8)$setproperty$:s{$type$ = call $textdrawer$ arguments    Warning text when you try editing tricks in career mode.
         $name$ = $main_warning$
:u(02:000000d7)$setproperty$:s{$type$ = call $textdrawer$ arguments    ?
         $name$ = $main_lighter$
:u(02:000000e8)$setproperty$:s{$type$ = call $textdrawer$ arguments    ?
         $name$ = $main_smaller$
:u(02:000000f8)$setproperty$:s{$type$ = call $textdrawer$ arguments    ?
         $name$ = $test$
:u(02:00000105)$setproperty$:s{$type$ = call $textdrawer$ arguments    ?
         $name$ = $cas_property$
:u(02:00000116)$setproperty$:s{$type$ = call $textdrawer$ arguments    text in the CAS menu
         $name$ = $cas_menu_property$
:u(02:00000127)$setproperty$:s{$type$ = call $textdrawer$ arguments    trick menu -> tricknames (right side)
         $name$ = $trick_menu_property$
:u(02:00000138)$setproperty$:s{$type$ = call $textdrawer$ arguments    (green) titles in the special tricks list (airtricks, grinds etc.).
         $name$ = $trick_banner_menu_property$
:u(02:00000149)$setproperty$:s{$type$ = call $textdrawer$ arguments    trick menu -> button combos (left side)
         $name$ = $trickslot_menu_property$
:u(02:0000015a)$setproperty$:s{$type$ = call $textdrawer$ arguments    save custom files (top) / Cheat menu
         $name$ = $keyboard_title$
:u(02:0000016c)$setproperty$:s{$type$ = call $textdrawer$ arguments    save custom file (bottom)
         $name$ = $keyboard_string$
:u(02:0000017e)$setproperty$:s{$type$ = call $textdrawer$ arguments    CAS menu -> stat points / memory space available (CAP)
         $name$ = $points_available_property$
:u(02:0000018f)$setproperty$:s{$type$ = call $textdrawer$ arguments    load custom file.
         $name$ = $memcard_files_menu_property$
:u(02:000001a0)$setproperty$:s{$type$ = call $textdrawer$ arguments    ?
         $name$ = $memcard_files_menu_top_line_property$
:u(02:000001b1)$setproperty$:s{$type$ = call $textdrawer$ arguments    results page LAN game.
         $name$ = $winner_screen_property$
:u(02:000001c0)$setproperty$:s{$type$ = call $textdrawer$ arguments    ?
         $name$ = $judge_screen_property$
:u(02:000001cf)$setproperty$:s{$type$ = call $textdrawer$ arguments    Options -> keyboard config / display of 1.01 and Levelmod
         $name$ = $keyboard_property$
:u(02:000001e0)$setproperty$:s{$type$ = call $textdrawer$ arguments    ?
         $name$ = $server_list_property$
:u(02:000001ef)$setproperty$:s{$type$ = call $textdrawer$ arguments    ingame score (total).
         $name$ = $score$
:u(02:000001fa)$setproperty$:s{$type$ = call $textdrawer$ arguments    ingame timer (career / session).
         $name$ = $timer$
:u(02:00000205)$setproperty$:s{$type$ = call $textdrawer$ arguments      ?
         $name$ = $textconsole$
:u(02:0000020f)$setproperty$:s{$type$ = call $textdrawer$ arguments    ?
         $name$ = $viewertext$
:u(02:00000218)$setproperty$:s{$type$ = call $textdrawer$ arguments    ingame trick name.
         $name$ = $trick_font$
:u(02:00000225)$setproperty$:s{$type$ = call $textdrawer$ arguments    ingame trick score (individual combo).
         $name$ = $trick_score_font$
:u(02:00000233)$setproperty$:s{$type$ = call $textdrawer$ arguments      ingame -> options: text of the restart menu
         $name$ = $restart$
:u(02:00000243)$setproperty$:s{$type$ = call $textdrawer$ arguments    CAP: object descriptions in the editor.
         $name$ = $park_editor$
...
:u(02:0000026d)$setproperty$:s{$type$ = call $textdrawer$ arguments    career -> goals text.
         $name$ = $goals_text$
:u(02:0000027b)$setproperty$:s{$type$ = call $textdrawer$ arguments    ?
         $name$ = $helper_text$
:u(02:00000286)$setproperty$:s{$type$ = call $textdrawer$ arguments    ?
         $name$ = $small_helper$
:u(02:00000291)$setproperty$:s{$type$ = call $textdrawer$ arguments    ?
         $name$ = $front_end_goal_info$


And at the bottom of the script we have a few strings which define not how the text but its background looks like.
Image

Code: Select all

:u(02:000002a7)$Menu_Highlight_Info$ = :s{$normal$ = %vec3(32.000000,32.000000,32.000000)$normal_alpha$ = %i(48,00000030)$highlight$ = %vec3(128.000000,128.000000,128.000000)$highlight_alpha$ = %i(64,00000040)$blue$ = %vec3(96.000000,4.062500,0.032959)$blue_alpha$ = %i(150,00000096)$spacing$ = %i(1,00000001)$border_width$ = %i(2,00000002):s}

The first one is the most important because it's used for almost every menu. Explanation refers to the image above.
'Normal' = the default background color and alpha of the (black transparent) behind the subtitles (career etc).
'Highlight' = highlights the background behind the selected subtitle (quit).
'Blue' = the background at the very top, which I changed to red.

:u(02:000002b6)$Scores_Highlight_Info_red$ = the background color of the (LAN game) result page, red team section.
:u(02:000002c2)$Scores_Highlight_Info_blue$ = the background color of the result page, blue team section.
Afaik you only need the values for 'normal' here, the rest is useless.

:u(02:000002ce)$Slider_Highlight_Info$ = background and color of the number whenever the slider is involved (CAS menu -> height / weight, wheel color menu, soundoptions.)

:u(02:000002dd)$Inverted_Highlight_Info$ = CAS menu -> background behind skater's name.


The list is not complete however I do not know where the other stuff should be located and maybe those strings weren't used at all. Pretty much the only thing I'm missing are the stat points which have to be defined somewhere but I couldn't find it so far. Everything else, all text and background elements are covered either by the identified strings above or by other scripts.

Return to “Tutorials”

Who is online

Users browsing this forum: No registered users and 1 guest