Subversion Repositories eduke32

Rev

Rev 4922 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4922 Rev 5077
Line 620... Line 620...
620
    );
620
    );
621
}
621
}
622
622
623
#else
623
#else
624
624
625
static inline int32_t Paeth686(int32_t a, int32_t b, int32_t c)
625
static inline int32_t Paeth686(int32_t const a, int32_t const b, int32_t c)
626
{
626
{
627
    const int32_t *ptr = &abstab10[(c-a)-(b-512)];
627
    int32_t const * const ptr = &abstab10[(c - a) - (b - 512)];
628
    const int32_t esi = *(ptr+b);
628
    int32_t const esi = *(ptr + b);
629
    int32_t edi = *(ptr+c);
629
    int32_t edi = *(ptr + c);
630
    if (edi >= esi) edi = esi, c = b;
630
    if (edi >= esi) edi = esi, c = b;
631
    return (edi < *(ptr+a)) ? c : a;
631
    return (edi < *(ptr + a)) ? c : a;
632
}
632
}
633
633
Line 681... Line 681...
681
    {
681
    {
682
        x = i+xplc; if (x > leng) x = leng;
682
        x = i+xplc; if (x > leng) x = leng;
683
        switch (filt)
683
        switch (filt)
684
        {
684
        {
685
        case 0:
685
        case 0:
686
                while (i < x) { olinbuf[xplc] = buf[i]; xplc--; i++; }
686
                while (i < x) { olinbuf[xplc--] = buf[i++]; }
687
            break;
687
            break;
688
        case 1:
688
        case 1:
689
                while (i < x)
689
                while (i < x)
690
                {
690
                {
691
                    olinbuf[xplc] = (uint8_t)(opixbuf1[xm] += buf[i]);
691
                    olinbuf[xplc--] = (uint8_t)(opixbuf1[xm] += buf[i++]);
692
                    xm = xmn[xm]; xplc--; i++;
692
                    xm = xmn[xm];
693
                }
693
                }
694
            break;
694
            break;
695
        case 2:
695
        case 2:
696
                while (i < x) { olinbuf[xplc] += (uint8_t)buf[i]; xplc--; i++; }
696
                while (i < x) { olinbuf[xplc--] += (uint8_t)buf[i++]; }
697
            break;
697
            break;
698
        case 3:
698
        case 3:
699
                while (i < x)
699
                while (i < x)
700
                {
700
                {
701
                    opixbuf1[xm] = olinbuf[xplc] = (uint8_t)(((opixbuf1[xm]+olinbuf[xplc])>>1)+buf[i]);
701
                    opixbuf1[xm] = olinbuf[xplc] = (uint8_t)(((opixbuf1[xm]+olinbuf[xplc])>>1)+buf[i++]);
702
                    xm = xmn[xm]; xplc--; i++;
702
                    xm = xmn[xm]; xplc--;
703
                }
703
                }
704
            break;
704
            break;
705
        case 4:
705
        case 4:
706
                while (i < x)
706
                while (i < x)
707
                {
707
                {
708
                    opixbuf1[xm] = (uint8_t)(Paeth686(opixbuf1[xm],olinbuf[xplc],opixbuf0[xm])+buf[i]);
708
                    opixbuf1[xm] = (uint8_t)(Paeth686(opixbuf1[xm],olinbuf[xplc],opixbuf0[xm])+buf[i++]);
709
                    opixbuf0[xm] = olinbuf[xplc];
709
                    opixbuf0[xm] = olinbuf[xplc];
710
                    olinbuf[xplc] = opixbuf1[xm];
710
                    olinbuf[xplc--] = opixbuf1[xm];
711
                    xm = xmn[xm]; xplc--; i++;
711
                    xm = xmn[xm];
712
                }
712
                }
713
            break;
713
            break;
714
        }
714
        }
715
715
716
        if (xplc > 0) return;
716
        if (xplc > 0) return;
Line 2408... Line 2408...
2408
2408
2409
int32_t wildmatch(const char *match, const char *wild)
2409
int32_t wildmatch(const char *match, const char *wild)
2410
{
2410
{
2411
    do
2411
    do
2412
    {
2412
    {
-
 
2413
        int const match_deref = *match, wild_deref = *wild;
-
 
2414
2413
        if (*match && (toupperlookup[*wild] == toupperlookup[*match] || *wild == '?'))
2415
        if (match_deref && (toupperlookup[wild_deref] == toupperlookup[match_deref] || wild_deref == '?'))
2414
        {
2416
        {
2415
            wild++, match++;
2417
            wild++, match++;
2416
            continue;
2418
            continue;
2417
        }
2419
        }
2418
        else if ((*match|*wild) == '\0')
2420
        else if ((match_deref|wild_deref) == '\0')
2419
            return 1;
2421
            return 1;
2420
        else if (*wild == '*')
2422
        else if (wild_deref == '*')
2421
        {
2423
        {
2422
            do { wild++; } while (*wild == '*');
2424
            do { wild++; } while (*wild == '*');
-
 
2425
            int const wild_deref = *wild;
2423
            do
2426
            do
2424
            {
2427
            {
2425
                if (*wild == '\0')
2428
                if (wild_deref == '\0')
2426
                    return 1;
2429
                    return 1;
2427
                while (*match && toupperlookup[*match] != toupperlookup[*wild]) match++;
2430
                while (*match && toupperlookup[*match] != toupperlookup[wild_deref]) match++;
2428
                if (*match && *(match+1) && toupperlookup[*(match+1)] != toupperlookup[*(wild+1)])
2431
                if (*match && *(match+1) && toupperlookup[*(match+1)] != toupperlookup[*(wild+1)])
2429
                {
2432
                {
2430
                    match++;
2433
                    match++;
2431
                    continue;
2434
                    continue;
2432
                }
2435
                }
2433
                break;
2436
                break;
2434
            }
2437
            }
2435
            while (1);
2438
            while (1);
2436
            if (toupperlookup[*match] == toupperlookup[*wild])
2439
            if (toupperlookup[*match] == toupperlookup[wild_deref])
2437
                continue;
2440
                continue;
2438
        }
2441
        }
2439
        return 0;
2442
        return 0;
2440
    }
2443
    }
2441
    while (1);
2444
    while (1);