コード例 #1
0
ファイル: mapedit.c プロジェクト: Jedzia/acm3
void generalcommands(void)
{
    /* Block selecting */
    if (key == KEY_Z) blk--;
    if (key == KEY_X) blk++;
    if (key == KEY_A) blk -= 10;
    if (key == KEY_S) blk += 10;
    if (blk < 0) blk = 0;
    if (blk > (int)gfx_nblocks) blk = gfx_nblocks;

    /* General commands */
    if (key == KEY_SCROLLLOCK) scrolllock ^= 1;
    if (key == KEY_1)
    {
        cl = 0;
        mark = 0;
    }
    if (key == KEY_2)
    {
        cl = 1;
        mark = 0;
    }
    if (key == KEY_3)
    {
        cl = 2;
        mark = 0;
    }
    if (key == KEY_4)
    {
        cl = 3;
        mark = 0;
    }
    if (key == KEY_5) layervisible[0] ^=1;
    if (key == KEY_6) layervisible[1] ^=1;
    if (key == KEY_7) layervisible[2] ^=1;
    if (key == KEY_8) layervisible[3] ^=1;
    if (key == KEY_L) layeroptions();
    if (key == KEY_F3) loadblocks();
    if (key == KEY_F4) loadpalette();
    if (key == KEY_F1) loadmapname();
    if (key == KEY_F2) savemap();
    if (key == KEY_F10) help();
    if (key == KEY_F12)
    {
        screenmode++;
        if (screenmode > GFX_DOUBLESIZE) screenmode = 0;
        setscreenmode();
    }
}
コード例 #2
0
ファイル: infedit.c プロジェクト: neuromancer/BOFH
void generalcommands(void)
{
    // Block selecting
    if (key == KEY_Z) blk--;
    if (key == KEY_X) blk++;
    if (key == KEY_COMMA) blk--;
    if (key == KEY_COLON) blk++;
    if (key == KEY_A) blk -= 10;
    if (key == KEY_S) blk += 10;
    if (key == KEY_F1) loadinf();
    if (key == KEY_F2) saveinf();
    if (key == KEY_F3) loadblocks();
    if (key == KEY_F4) loadpalette();
    if (blk < 0) blk = 0;
    if (blk > (int)gfx_nblocks) blk = gfx_nblocks;
    if (key == KEY_F10) help();
    if (key == KEY_F12)
    {
        screenmode++;
        if (screenmode > GFX_DOUBLESIZE) screenmode = 0;
        setscreenmode();
    }
    if (key == KEY_C) memset(&blkinfdata[blk*16], 0, 16);
    if (key == KEY_P) memcpy(copybuffer, &blkinfdata[blk*16], 16);
    if (key == KEY_T) memcpy(&blkinfdata[blk*16], copybuffer, 16);

    if ((mousey >= 64) && (mousey < 80))
    {
        if ((mousex >= 32) && (mousex < 8*24+32))
        {
            int bit = (mousex - 32) / 24;
            int fine = (mousex - 32) % 24;
            if (fine < 16)
            {
                if (mouseb & 1)
                {
                    blkinfdata[blk*16+((mousey-64)/4)*4+fine/4] |= 1 << bit;
                }
                if (mouseb & 2)
                {
                    blkinfdata[blk*16+((mousey-64)/4)*4+fine/4] &= 0xff - (1 << bit);
                }
            }
        }
    }
}