Гайд Анимированная полоска градиента наверху экрана (для geminisoftware готова к пастингу)

Олдфаг
Статус
Оффлайн
Регистрация
6 Мар 2019
Сообщения
2,936
Реакции[?]
1,002
Поинты[?]
0
Сидел нехуй было делать :roflanzdarova:


1. Куда-нибудь перед PaintTraverse
C++:
void GradientLine(int x, int y, int w, int h, Color c1, Color c2)
{

    g_pSurface->FilledRect(x, y, w, h, c1);
    BYTE first = c2.red;
    BYTE second = c2.green;
    BYTE third = c2.blue;
    for (int i = 0; i < w; i++)
    {
        float fi = i, fw = w;
        float a = fi / fw;
        DWORD ia = a * 255;
        g_pSurface->FilledRect(x + i, y, 1, h, Color(first, second, third, ia));
    }

}

2. Это в ну короче ниже итак понятно куда :roflanzdarova:
C++:
        int width, height;
        g_pEngine->GetScreenSize(width, height);      

        static unsigned int s, v, i;
        static float h, r, g, b, f, p, q, t;

        h = g_pGlobalVars->realtime * 0.5f;
        s = 1;
        v = 1;

        i = floor(h * 6);
        f = h * 6 - i;
        p = v * (1 - s);
        q = v * (1 - f * s);
        t = v * (1 - (1 - f) * s);

        switch (i % 6)
        {
            case 0: r = v, g = t, b = p; break;
            case 1: r = q, g = v, b = p; break;
            case 2: r = p, g = v, b = t; break;
            case 3: r = p, g = q, b = v; break;
            case 4: r = t, g = p, b = v; break;
            case 5: r = v, g = p, b = q; break;
        }

        r = round(r * 255), g = round(g * 255), b = round(b * 255);

        GradientLine(0, 0, width / 2, 4, Color(g, b, r, 255), Color(r, g, b, 255));
        GradientLine(width / 2, 0, width / 2, 4, Color(r, g, b, 255), Color(b, r, g, 255));
 
Олдфаг
Статус
Оффлайн
Регистрация
6 Мар 2019
Сообщения
2,936
Реакции[?]
1,002
Поинты[?]
0
09-29-2022 Thu 18:48:59
Эксперт
Статус
Оффлайн
Регистрация
28 Ноя 2019
Сообщения
1,219
Реакции[?]
411
Поинты[?]
108K
Олдфаг
Статус
Оффлайн
Регистрация
6 Мар 2019
Сообщения
2,936
Реакции[?]
1,002
Поинты[?]
0
09-29-2022 Thu 18:48:59
Эксперт
Статус
Оффлайн
Регистрация
28 Ноя 2019
Сообщения
1,219
Реакции[?]
411
Поинты[?]
108K
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,125
Реакции[?]
394
Поинты[?]
49K
Бля, ебать, ты конечно молодец, но нахуя. Сейчас таких паст с такой штукой понаделают, а ведь я только недавно до этого додумался и сделал селф-код полоску) Бля, ну и нахуя и это делал?( ))))


 
Олдфаг
Статус
Оффлайн
Регистрация
6 Мар 2019
Сообщения
2,936
Реакции[?]
1,002
Поинты[?]
0
Бля, ебать, ты конечно молодец, но нахуя. Сейчас таких паст с такой штукой понаделают, а ведь я только недавно до этого додумался и сделал селф-код полоску) Бля, ну и нахуя и это делал?( ))))
:roflanzdarova: бывает
 
как же хочется крашика
Забаненный
Статус
Оффлайн
Регистрация
13 Янв 2019
Сообщения
1,508
Реакции[?]
403
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
такими темпами давай возрождай стикрпг чтобы эти кряки поняли кто тут старичок
 
Забаненный
Статус
Оффлайн
Регистрация
17 Ноя 2019
Сообщения
311
Реакции[?]
38
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ну всё мигхта идёт на рес stickrpg v3 > all
 
Пользователь
Статус
Оффлайн
Регистрация
24 Авг 2019
Сообщения
239
Реакции[?]
37
Поинты[?]
0
Сидел нехуй было делать :roflanzdarova:


1. Куда-нибудь перед PaintTraverse
C++:
void GradientLine(int x, int y, int w, int h, Color c1, Color c2)
{

    g_pSurface->FilledRect(x, y, w, h, c1);
    BYTE first = c2.red;
    BYTE second = c2.green;
    BYTE third = c2.blue;
    for (int i = 0; i < w; i++)
    {
        float fi = i, fw = w;
        float a = fi / fw;
        DWORD ia = a * 255;
        g_pSurface->FilledRect(x + i, y, 1, h, Color(first, second, third, ia));
    }

}

2. Это в ну короче ниже итак понятно куда :roflanzdarova:
C++:
        int width, height;
        g_pEngine->GetScreenSize(width, height);     

        static unsigned int s, v, i;
        static float h, r, g, b, f, p, q, t;

        h = g_pGlobalVars->realtime * 0.5f;
        s = 1;
        v = 1;

        i = floor(h * 6);
        f = h * 6 - i;
        p = v * (1 - s);
        q = v * (1 - f * s);
        t = v * (1 - (1 - f) * s);

        switch (i % 6)
        {
            case 0: r = v, g = t, b = p; break;
            case 1: r = q, g = v, b = p; break;
            case 2: r = p, g = v, b = t; break;
            case 3: r = p, g = q, b = v; break;
            case 4: r = t, g = p, b = v; break;
            case 5: r = v, g = p, b = q; break;
        }

        r = round(r * 255), g = round(g * 255), b = round(b * 255);

        GradientLine(0, 0, width / 2, 4, Color(g, b, r, 255), Color(r, g, b, 255));
        GradientLine(width / 2, 0, width / 2, 4, Color(r, g, b, 255), Color(b, r, g, 255));
Скриншот 2020-02-04 10_28_28.png
и чо це таке
 
t.me/lnk1181shop
Участник
Статус
Оффлайн
Регистрация
16 Авг 2019
Сообщения
492
Реакции[?]
413
Поинты[?]
1K
C++:
// VGUI_Surface
// draw_set_color - 15 | draw_filled_rect_fade - 123
void draw_gradient_rect(int x, int y, int w, int h, color c, color c_, bool horizontal) {
    draw_set_color(c.red, c.green, c.blue, c.alpha);
    draw_filled_rect_fade(x, y, w, h, 255, 0, horizontal);
    draw_set_color(c_.red, c_.green, c_.blue, c_.alpha);
    draw_filled_rect_fade(x, y, w, h, 0, 255, horizontal);
}
C++:
    int w, h;
    engine->get_screen_size(w, h);
    float r = floor(sin(globals->realtime * 2) * 127 + 128),
        g = floor(sin(globals->realtime * 2 + 2) * 127 + 128),
        b = floor(sin(globals->realtime * 2 + 4) * 127 + 128);   
    surface->draw_gradient_rect(0, 0, w, max(1, menu->config.visuals_rainbowlinesize), color(r, g, b, 255), color(b, g, r, 255), true);
ne nu kak mne kazetsya tak leg4e budet
 
Участник
Статус
Оффлайн
Регистрация
26 Апр 2018
Сообщения
852
Реакции[?]
181
Поинты[?]
0
Сидел нехуй было делать :roflanzdarova:


1. Куда-нибудь перед PaintTraverse
C++:
void GradientLine(int x, int y, int w, int h, Color c1, Color c2)
{

    g_pSurface->FilledRect(x, y, w, h, c1);
    BYTE first = c2.red;
    BYTE second = c2.green;
    BYTE third = c2.blue;
    for (int i = 0; i < w; i++)
    {
        float fi = i, fw = w;
        float a = fi / fw;
        DWORD ia = a * 255;
        g_pSurface->FilledRect(x + i, y, 1, h, Color(first, second, third, ia));
    }

}

2. Это в ну короче ниже итак понятно куда :roflanzdarova:
C++:
        int width, height;
        g_pEngine->GetScreenSize(width, height);     

        static unsigned int s, v, i;
        static float h, r, g, b, f, p, q, t;

        h = g_pGlobalVars->realtime * 0.5f;
        s = 1;
        v = 1;

        i = floor(h * 6);
        f = h * 6 - i;
        p = v * (1 - s);
        q = v * (1 - f * s);
        t = v * (1 - (1 - f) * s);

        switch (i % 6)
        {
            case 0: r = v, g = t, b = p; break;
            case 1: r = q, g = v, b = p; break;
            case 2: r = p, g = v, b = t; break;
            case 3: r = p, g = q, b = v; break;
            case 4: r = t, g = p, b = v; break;
            case 5: r = v, g = p, b = q; break;
        }

        r = round(r * 255), g = round(g * 255), b = round(b * 255);

        GradientLine(0, 0, width / 2, 4, Color(g, b, r, 255), Color(r, g, b, 255));
        GradientLine(width / 2, 0, width / 2, 4, Color(r, g, b, 255), Color(b, r, g, 255));
Есть идея под дифьюз бомбы сделать полоску только горизонтальную и с Худом бомбы
 
Сверху Снизу