View Single Post
Old 12-09-2007, 02:56 PM   #5
Ten
Главнокомандующийp2ambassador
 
Ten's Avatar
 
Faction:
Стражи Садов Кадеша

Join Date: Feb 2004
Location: Great Nebula
Posts: 2,514
Re: Создание нового шрифта

Quote:
Я спрашиваю какие именно rc1 отвечают за меню !!!
На этот вопрос ответят следующие файлы:

1. data:locale/english/fontmap.lua, в котором задаются используемые в игре шрифты. Вообще, этот файл живёт в корне бига языка, и вместо english может быть french, spanish и т.д., но обычно работают с английской локалью.

2. data:ui/newui/styles/hw2styles.lua, в котором задаются стили (неудобно каждый раз задавать шрифт, его размер, цвет, отступы и т.д.), поэтому разработчики ХВ2 определили набор стилей, которым и пользуются.

А дальше – смотря какое меню, их в игре десятки. Например, за главное меню отвечает файл data:ui/newui/main/new/newmainmenu.lua. Вот кусок его скрипта с двумя кнопками (туториал и сингл):
Code:
        -- Button Frame
        {
            type = "Frame",
            outerBorderWidth = 2,
            borderColor = "FEColorOutline",
            autosize = 1,
            autoarrange = 1,
            autoarrangeSpace = 2,
            autoarrangeWidth = 256,
            ;

            -- Buttons
            {
                type = "TextButton",
                buttonStyle = "FEButtonStyle1",
                text = "$2602", -- Tutorial,
                name = "btnTutorial",
                width = 240,
            },
            {
                type = "TextButton",
                buttonStyle = "FEButtonStyle1",
                text = "$2603", -- Campaign,
                name = "btnCampaign",
                width = 240,
            },
...
        },
Как видим, стиль этих кнопок - FEButtonStyle1. Ищем этот стиль в hw2styles.lua, вот кусок его кода:
Code:
    FEButtonStyle1 =
    {
        type                 = "Button",
        size                 = {120, 13},

        BackgroundGraphic = {
            texture = "DATA:UI\\NewUI\\Styles\\Button1\\Button1Inside.mres",
            textureUV = { 0, 0, 16, 13 },
        },
        textColor            = {255,215,0,255},

        OverGraphic = {
            texture = "DATA:UI\\NewUI\\Styles\\Button1\\Button1InsideOver.mres",
            textureUV = { 0, 0, 16, 13 },
        },
        overTextColor            = {255,215,0,255},

        PressedGraphic = {
            texture = "DATA:UI\\NewUI\\Styles\\Button1\\Button1InsidePressed.mres",
            textureUV = { 0, 0, 16, 13 },
        },
        pressedTextColor            = {255,215,0,255},

        DisabledGraphic = {
            texture = "DATA:UI\\NewUI\\Styles\\Button1\\Button1InsideDisabled.mres",
            textureUV = { 0, 0, 16, 13 },
            color = "FEColorDisabled",
        },
        disabledTextColor            = "FEColorDisabled",

        -- NOTE: if you dont want a sound to play onEnter, use FEButtonStyle1NoEnterSound
        soundOnEnter         = "SFX_ButtonEnter",
        soundOnClicked         = "SFX_ButtonClick",
Text =
        {
            textStyle = "FEButtonTextStyle",
        },
        ;
Итак, стиль текста – FEButtonTextStyle. Ищем определение этого стиля:
Code:
    FEButtonTextStyle = {
        type = "Text",
font = "ButtonFont",
        color = {255,215,0,255},
        vAlign = "Middle",
        hAlign = "Center",
    },
Кто там у нас ButtonFont? Смотрим в файл fontmap.lua:

Code:
ButtonFont = "data:UI\\Font\\ArenaBlack.rcf",
Конечно, по названию можно было догадаться сразу, и не копать вдоль и поперёк файлы с меню и стилями. Но если ты собираешься заниматься моддингом всерьёз, желательно уметь делать такие «исследования» самостоятельно. Это не так уж и сложно

Иначе на любом, даже самом плёвом вопросе дело имеет все шансы зайти в тупик.
Ten is offline   Reply With Quote