Changeset 1858


Ignore:
Timestamp:
Sep 2, 2012, 5:35:13 PM (8 years ago)
Author:
rez
Message:

scrollable option list in setup

Location:
trunk/tools/neercs
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/neercs/neercs.cpp

    r1856 r1858  
    8989    return EXIT_SUCCESS;
    9090}
    91 
  • trunk/tools/neercs/term/term.cpp

    r1856 r1858  
    9595    int logo_y = h / 2 - 2;
    9696
    97     caca_set_color_argb(m_caca, 0x8ac, bg_color);
     97    caca_set_color_argb(m_caca, 0xbac, bg_color);
    9898    //caca_set_color_argb(m_caca, hex_color(0.5f + 0.5f * lol::cos(m_time * 3               ), 0.5f, 0.5f + 0.25f * lol::sin(m_time * 3               )), bg_color);
    9999    caca_put_str(m_caca, logo_x + 3, logo_y    ,"__  _________ ______ ______ ______ ______");
     
    104104    //caca_set_color_argb(m_caca, hex_color(0.5f + 0.5f * lol::cos(m_time * 3 + M_PI / 4 * 3), 0.5f, 0.5f + 0.25f * lol::sin(m_time * 3 + M_PI / 4 * 3)), bg_color);
    105105    caca_put_str(m_caca, logo_x    , logo_y + 3, "/__/\\__/\\_______________/  \\________________\\");
    106     caca_set_color_argb(m_caca, 0xdef, bg_color);
     106    caca_set_color_argb(m_caca, 0x269, bg_color);
    107107    caca_put_str(m_caca, logo_x + 5, logo_y + 5, "ALL YOUR TERMINALS ARE BELONG TO US");
    108108
    109     caca_set_color_argb(m_caca, 0x666, bg_color);
     109    caca_set_color_argb(m_caca, 0x777, bg_color);
    110110    caca_printf(m_caca, 2, h - 3, "W=%i", w);
    111111    caca_printf(m_caca, 2, h - 2, "H=%i", h);
     
    126126    int lolcube_y = h - 5 - abs ((h - 5) * lol::sin(m_time * 4));
    127127
    128     caca_set_color_argb(m_caca, hex_color(0.75f + 0.25f * lol::sin(m_time * 2), 0.75f + 0.25f * lol::cos(m_time * 3), 0.75f + 0.25f * lol::sin(m_time * 5)), bg_color);
     128    caca_set_color_argb(m_caca, hex_color(0.5f + 0.5f * lol::sin(m_time * 2), 0.5f + 0.5f * lol::cos(m_time * 3), 0.5f + 0.5f * lol::sin(m_time * 5)), bg_color);
    129129    caca_put_str(m_caca, lolcube_x + 2, lolcube_y    , "_______");
    130130    caca_put_str(m_caca, lolcube_x + 1, lolcube_y + 1, "/      /|");
     
    134134    caca_put_str(m_caca, lolcube_x    , lolcube_y + 5, "|______|/");
    135135
    136     caca_set_color_argb(m_caca, 0xdef, bg_color);
     136    caca_set_color_argb(m_caca, 0x777, bg_color);
    137137    caca_put_str(m_caca, 0, 0, "rez@lol:~/ sudo -s");
    138138    caca_put_str(m_caca, 0, 1, "[sudo] password for rez:");
     
    141141    caca_put_str(m_caca, 0, 4, "root@lol:~/");
    142142}
    143 
  • trunk/tools/neercs/video/copper.lolfx

    r1843 r1858  
    2424
    2525        vec3 copper=vec3(0.5);
     26
    2627        copper.x+=0.5*cos(p.y*float(screen_size.y/64)+time*2.0);
    2728        copper.z+=0.5*sin(p.y*float(screen_size.y/64)+time*2.0);
    2829
    29         copper*=0.75+0.375*cos(p.y*float(screen_size.y/6)-time*2.0);
     30        copper*=0.75+0.375*cos(p.y*float(screen_size.x/8)-time*2.0);
    3031
    31         /*
    3232        copper.x=float(int(copper.x*8.0)*32)/256.0;
    3333        copper.y=float(int(copper.y*8.0)*32)/256.0;
    3434        copper.z=float(int(copper.z*8.0)*32)/256.0;
    35         */
    3635
    37         gl_FragColor=vec4((dot(color,color)==1.0)?copper:color,1.0);
     36        gl_FragColor=vec4((color==1.0)?copper:color,1.0);
    3837        }
  • trunk/tools/neercs/video/render.cpp

    r1837 r1858  
    120120/* setup variable */
    121121bool setup_switch = false;      // switch [option/item]
    122 int setup_option = 0;           // selected option
     122int setup_n = 0;                // item/option number
     123int setup_h = 6;                // height
     124int setup_cursor = 0;           // cursor position
     125int setup_option_i = 0;         // selected option
    123126int setup_option_n = 10;        // option number
    124 int setup_item = 0;             // selected item
     127int setup_option_p = 0;         // option position
     128int setup_item_i = 0;           // selected item
    125129int setup_item_n = 8;           // item number
     130int setup_item_p = 0;           // item position
    126131int setup_item_key = 0;         // item array key
    127 int setup_n = 0;                // contextual option/item number
    128132ivec2 setup_p(1,1);             // position [x,y]
    129 ivec3 setup_size(30,0,12);      // size [w,h,split]
     133ivec3 setup_size(30,7,12);      // size [w,h,split]
    130134ivec2 setup_color(0x678,0x234); // color [foreground,background]
    131135char const *setup_text[] = {
     
    360364    for (int i = 0; i < n; i++)
    361365    {
    362         int k = !setup_switch ? (i * (setup_item_n + 1)) : (setup_option * (setup_item_n + 1) + 1 + i);
     366        int k = !setup_switch ? (i * (setup_item_n + 1)) : (setup_option_i * (setup_item_n + 1) + 1 + i);
    363367        if (setup_text[k] == "") return i - 1;
    364368    }
     
    531535    caca_set_canvas_size(m_caca, canvas_char.x, canvas_char.y);
    532536
    533     setup_size.y = ((setup_option_n > setup_item_n) ? setup_option_n : setup_item_n) + 1;
    534537    setup_p = (canvas_char - setup_size.xy) / 2;
    535 
    536538    setup_n = calc_item_length();
    537539
     
    601603            if (!setup_switch)
    602604            {
    603                 setup_option--;
    604                 if (setup_option < 0) setup_option = setup_n;
    605                 setup_item = 0;
     605                if (setup_cursor > 0)
     606                {
     607                    setup_cursor--;
     608                }
     609                else
     610                {
     611                    if ((setup_option_p > 0) && setup_cursor == 0) setup_option_p--;
     612                }
     613                if (setup_option_i > 0)
     614                {
     615                    setup_option_i--;
     616                }
     617                else
     618                {
     619                    setup_option_i = setup_option_n - 1;
     620                    setup_option_p = setup_option_n - setup_h;
     621                    setup_cursor = setup_h - 1;
     622                }
     623                setup_item_i = 0;
    606624            }
    607625            else
    608626            {
    609                 setup_item--;
    610                 if (setup_item < 0) setup_item = setup_n;
     627                setup_item_i--;
     628                if (setup_item_i < 0) setup_item_i = setup_n;
    611629            }
    612630        }
     
    618636            if (!setup_switch)
    619637            {
    620                 setup_option++;
    621                 if (setup_option > setup_n) setup_option = 0;
    622                 setup_item = 0;
     638                if (setup_cursor < setup_h - 1)
     639                {
     640                    setup_cursor++;
     641                }
     642                else
     643                {
     644                    if ((setup_option_p + setup_h < setup_option_n) && setup_cursor == setup_h - 1) setup_option_p++;
     645                }
     646                if (setup_option_i < setup_option_n - 1)
     647                {
     648                    setup_option_i++;
     649                }
     650                else
     651                {
     652                    setup_option_i = 0;
     653                    setup_option_p = 0;
     654                    setup_cursor = 0;
     655                }
     656                setup_item_i = 0;
    623657            }
    624658            else
    625659            {
    626                 setup_item++;
    627                 if (setup_item > setup_n) setup_item = 0;
     660                setup_item_i++;
     661                if (setup_item_i > setup_n) setup_item_i = 0;
    628662            }
    629663        }
     
    635669            if (!setup_switch)
    636670            {
    637                 setup_option = 0;
     671                setup_option_i -= setup_cursor;
     672                setup_cursor = 0;
     673                setup_item_i = 0;
    638674            }
    639675            else
    640676            {
    641                 setup_item = 0;
    642677            }
    643678        }
     
    649684            if (!setup_switch)
    650685            {
    651                 setup_option = setup_n;
    652                 setup_item = 0;
     686                setup_option_i += setup_h - setup_cursor - 1;
     687                setup_cursor = setup_h - 1;
     688                setup_item_i = 0;
    653689            }
    654690            else
    655691            {
    656                 setup_item = setup_n;
     692                setup_item_i = setup_n;
    657693            }
    658694        }
     
    765801        caca_put_str(m_caca, setup_p.x + setup_size.x / 2 - 3, setup_p.y, "SETUP");
    766802        /* display option */
    767         for (int i = 0; i < setup_option_n; i++)
     803        for (int i = 0; i < setup_h; i++)
    768804        {
    769805            int y = setup_p.y + 1 + i;
    770             int k = i * (setup_item_n + 1);
    771             if (setup_option != i || setup_switch)
     806            int k = (setup_option_p + i) * (setup_item_n + 1);
     807            if (setup_option_i != setup_option_p + i || setup_switch)
    772808            {
    773809                caca_set_color_argb(m_caca, setup_color.x, setup_color.y);
     
    782818        }
    783819        /* display item */
    784         for (int i = 0; i < setup_item_n; i++)
     820        for (int i = 0; i < setup_h; i++)
    785821        {
    786822            int y = setup_p.y + 1 + i;
    787             int k = setup_option * (setup_item_n + 1) + 1 + i;
    788             if (setup_item != i || !setup_switch)
     823            int k = setup_option_i * (setup_item_n + 1) + 1 + setup_item_p + i;
     824            if (setup_item_i != i || !setup_switch)
    789825            {
    790826                caca_set_color_argb(m_caca, setup_color.x, setup_color.y);
     
    800836        /* display variable */
    801837        int y = setup_p.y + setup_size.y;
    802         setup_item_key = setup_option * (setup_item_n + 1) + 1 + setup_item;
     838        setup_item_key = setup_option_i * (setup_item_n + 1) + 1 + setup_item_i;
    803839        caca_set_color_argb(m_caca, setup_color.y, setup_color.x);
    804840        caca_draw_line(m_caca, setup_p.x, y, setup_p.x + setup_size.x, y,' ');
Note: See TracChangeset for help on using the changeset viewer.