ref: 45adb253790f75a5d55d7b42a1e8da1c05989c03
dir: /doom-naivescaleup/
ups max scale in an idiotic way
diff -r 7ee51d8d1eb9 sys/src/games/doom/i_video.c
--- a/sys/src/games/doom/i_video.c Thu May 11 19:34:54 2017 +0000
+++ b/sys/src/games/doom/i_video.c Mon May 15 14:46:26 2017 +0200
@@ -91,7 +91,7 @@
Rectangle r;
int y, scale;
uchar *s, *e, *d, *m;
- uchar buf[SCREENWIDTH*3*4];
+ uchar buf[SCREENWIDTH*3*12];
if(resized){
resized = 0;
@@ -108,8 +108,8 @@
scale = Dx(screen->r)/SCREENWIDTH;
if(scale <= 0)
scale = 1;
- else if(scale > 4)
- scale = 4;
+ else if(scale > 12)
+ scale = 12;
/* where to draw the scaled row */
r = rectsubpt(rectaddpt(Rect(0, 0, scale*SCREENWIDTH, scale), center),
@@ -127,6 +127,38 @@
for(; s < e; s++){
m = &cmap[*s * 3];
switch(scale){
+ case 12:
+ *d++ = m[2];
+ *d++ = m[1];
+ *d++ = m[0];
+ case 11:
+ *d++ = m[2];
+ *d++ = m[1];
+ *d++ = m[0];
+ case 10:
+ *d++ = m[2];
+ *d++ = m[1];
+ *d++ = m[0];
+ case 9:
+ *d++ = m[2];
+ *d++ = m[1];
+ *d++ = m[0];
+ case 8:
+ *d++ = m[2];
+ *d++ = m[1];
+ *d++ = m[0];
+ case 7:
+ *d++ = m[2];
+ *d++ = m[1];
+ *d++ = m[0];
+ case 6:
+ *d++ = m[2];
+ *d++ = m[1];
+ *d++ = m[0];
+ case 5:
+ *d++ = m[2];
+ *d++ = m[1];
+ *d++ = m[0];
case 4:
*d++ = m[2];
*d++ = m[1];