|
|
1.1 ! root 1: def zclamp(n) { ! 2: return (n>0)?(n<Z)?n:Z:0; ! 3: } ! 4: def init() { ! 5: for (y = 0; y < Y; y++) ! 6: for (x = 0; x < X; x++) ! 7: new[x,y]=y*Z/(Y-1) ! 8: } ! 9: def refresh() { ! 10: for (y = 0; y < Y; y++) ! 11: for (x = 0; x < X; x++) ! 12: new[x,y]=old[x,y] ! 13: } ! 14: def mapper(t0, t1, f0, f1, h, mult) { ! 15: int dy, blah ! 16: if (abs(t0-t1)>1) ! 17: { mapper((t0+t1)/2, t1, (f0+f1)/2, f1, h, mult) ! 18: mapper(t0, (t0+t1)/2, f0, (f0+f1)/2, h, mult) ! 19: } else ! 20: new[t0, h] = zclamp(((100-mult)*$P2[f0, h] +(mult)*$P1[t0,h])/100) ! 21: } ! 22: def Mapp(factor) { ! 23: int start1, start2, end1, end2, dy, mult; ! 24: init() ! 25: for (y = 0; y < Y; y++) ! 26: { x = 10; ! 27: while ($M1[x,y] < 128 && x < X) ! 28: x++; ! 29: start1 = x; ! 30: x = X-10; ! 31: while ($M1[x,y] < 128 && x > 0) ! 32: x--; ! 33: end1 = x; ! 34: x = 10; ! 35: while ($M2[x,y] < 128 && x < X) ! 36: x++; ! 37: start2 = x; ! 38: x = X-10 ! 39: while ($M2[x,y] < 128 && x > 0) ! 40: x--; ! 41: end2 = x; ! 42: if (start1 < end1 && start2 < end2) ! 43: { start1 = start2 + ((start1 - start2)*factor)/100 ! 44: end1 = end2 + ((end1 - end2)*factor)/100 ! 45: mapper(start1, end1, start2, end2, y, factor) ! 46: } else ! 47: { for (x = 0; x < X; x++) ! 48: new[x,y] = old[x,y] ! 49: } ! 50: } ! 51: } ! 52: x { ! 53: Mapp(0); putframe(0); swap(); refresh() ! 54: Mapp(100); putframe(100); swap(); refresh() ! 55: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.