From: b Date: Sun, 19 Jan 2014 15:17:23 +0000 (+0000) Subject: Suddenly, 403! X-Git-Url: http://bicyclesonthemoon.info/git-projects/?a=commitdiff_plain;h=f919d8de808882b5d64dd36e769b645972f44080;p=ott%2Fenhance Suddenly, 403! git-svn-id: svn://botcastle1b/npb@25 0d794883-4e4e-4f65-aa7a-0e7f5947bab5 --- diff --git a/403 b/403 new file mode 100755 index 0000000..1f19398 Binary files /dev/null and b/403 differ diff --git a/403.cpp b/403.cpp new file mode 100644 index 0000000..a08e577 --- /dev/null +++ b/403.cpp @@ -0,0 +1,325 @@ + // //It's NewpixbOTTification Time! + // // Take a picture and add a newpixbot to it! + // // + // // Requires Dev Image Library, +// // //on Pentium III libdevil must be + // // recompiled with --disable-ssl2 --disable-ssl3 + // // + // // ~~bicyclesonthemoon + +#define INPIX_MUSTARD 1 +#define OUTPIX_MUSTARD 2 +#define NPBPIX_MUSTARD 3 +#define ARGUMENT_MUSTARD 4 +#define SEAISH_MUSTARD 5 +#define ANIMATED_MUSTARD 6 +#define FAIL 900 +#define OK 0 + +#define NPBPIX0 "npb0.png" +#define X0 411 +#define X01 21 +#define X02 96 +#define Y0 404 +#define Y01 214 +#define Y02 68 + +#define NPBPIX1 "npb1.png" +#define X1 411 +#define X11 22 +#define X12 133 +#define Y1 404 +#define Y11 241 +#define Y12 94 + +#define NPBPIX2 "npb2.png" +#define X2 411 +#define X21 213 +#define Y2 404 +#define Y21 234 + +#include +#include +#include + +void mustard(int mustard); +void loadnpb(const char *path); +void npbottify0(const char *path); +void npbottify1(const char *path); +void npbottify2(const char *path); +int main (int argc, const char *argv[]); + +ILuint inPix, outPix, npbPix; +ILboolean q=true; +ILboolean inH=false; +ILboolean outH=false; +ILboolean npbH=false; +ILuint inX, inY, outX, outY; +ILubyte *newdata; + +int main (int argc, const char *argv[]) +{ + if(argc<3) + mustard(ARGUMENT_MUSTARD); + if (argc>=4) + { + if (argv[3][0]=='q' || argv[3][0]=='Q') + q=false; + } + + ilInit(); + if(!ilEnable(IL_ORIGIN_SET))mustard(FAIL); + if(!ilEnable(IL_FILE_OVERWRITE))mustard(FAIL); + ilClearColour(255,255,0,0); + ilGenImages(1, &inPix); + inH=true; + ilBindImage(inPix); + if(!ilLoadImage(argv[1]))mustard(INPIX_MUSTARD); + if(!ilConvertImage(IL_RGBA,IL_UNSIGNED_BYTE))mustard(INPIX_MUSTARD); + //if(!ilConvertPal(IL_PAL_RGBA32))mustard(FAIL); + + inX=ilGetInteger(IL_IMAGE_WIDTH); + inY=ilGetInteger(IL_IMAGE_HEIGHT); + if(ilGetInteger(IL_NUM_IMAGES)>1) + mustard(ANIMATED_MUSTARD); + + if(inX<=X02&&inY<=Y02) + npbottify0(argv[2]); + else if(inX<=X12&&inY<=Y12) + npbottify1(argv[2]); + else + npbottify2(argv[2]); + //ok + mustard(0); +} + +void loadnpb(const char *path) +{ + ilGenImages(1, &npbPix); + npbH=true; + ilBindImage(npbPix); + if(!ilLoadImage(path))mustard(NPBPIX_MUSTARD); + if(!ilConvertImage(IL_RGBA,IL_UNSIGNED_BYTE))mustard(NPBPIX_MUSTARD); +} + +void npbottify0(const char *path) +{ + //newdata= new ILubyte[X0*Y0*4]; + ilGenImages(1, &outPix); + outH=true; + loadnpb(NPBPIX0); + ilBindImage(outPix); + if(!ilCopyImage(npbPix))mustard(FAIL); + //if(!ilTexImage(X0,Y0,1,4,IL_RGBA,IL_UNSIGNED_BYTE,NULL))mustard(OUTPIX_MUSTARD); + //if(!ilConvertImage(IL_RGBA,IL_UNSIGNED_BYTE))mustard(OUTPIX_MUSTARD); + newdata=ilGetData(); + for(unsigned long i=0;i=X01+(X02-inX)/2)&& + (i< X01+(X02-inX)/2+inX)&& + (j>=Y01+(Y02-inY)/2)&& + (j< Y01+(Y02-inY)/2+inY)) + { + newdata[4*(i+X0*j)+0]=0xFF; + newdata[4*(i+X0*j)+1]=0xFF; + newdata[4*(i+X0*j)+2]=0xFF; + newdata[4*(i+X0*j)+3]=0xFF; + } + else if((i>=X01)&&(i=Y01)&&(j=X11+(X12-inX)/2)&& + (i< X11+(X12-inX)/2+inX)&& + (j>=Y11+(Y12-inY)/2)&& + (j< Y11+(Y12-inY)/2+inY)) + { + newdata[4*(i+X1*j)+0]=0xFF; + newdata[4*(i+X1*j)+1]=0xFF; + newdata[4*(i+X1*j)+2]=0xFF; + newdata[4*(i+X1*j)+3]=0xFF; + } + else if((i>=X11)&&(i=Y11)&&(jX2)?(X21+inX+2):X2; + outY=(Y21+inY+2>Y2)?(Y21+inY+2):Y2; + ilGenImages(1, &outPix); + outH=true; + loadnpb(NPBPIX2); + newdata=ilGetData(); + ilBindImage(outPix); + if(!ilTexImage(outX,outY,1,4,IL_RGBA,IL_UNSIGNED_BYTE,NULL))mustard(OUTPIX_MUSTARD); + if(!ilClearImage())mustard(FAIL); + ilSetPixels(outX-X2,0,0,X2,Y2,1,IL_RGBA,IL_UNSIGNED_BYTE,newdata); + newdata=ilGetData(); + for(i=outX-X21-inX-2;i + + + It's NewpixbOTTification time! + + + + 1190.bicyclesonthemoon.dnsd.info +

It's 403ification time!

+
+ 403 by URL
+ URL of image: + + +
+ Please don't hotlink the result. If you do, each time someone sees your link, my server will have to generate the image again! +

+
+ 403 by file upload
+ Upload the image: + + +
+
+ Source code available at svn://bicyclesonthemoon.dnsd.info/npb (use "e" to login) or http://1190.bicyclesonthemoon.dnsd.info/pro/npb. + + + diff --git a/403.png b/403.png new file mode 100644 index 0000000..c6bc7de Binary files /dev/null and b/403.png differ diff --git a/503.png b/503.png new file mode 100644 index 0000000..85181d2 Binary files /dev/null and b/503.png differ diff --git a/makefile b/makefile index 34ab114..f863d6e 100644 --- a/makefile +++ b/makefile @@ -3,10 +3,13 @@ CF=-g -Wall LF=-lIL LF2=-lcgi -all: npb npbd +all: 403 npb npbd npb: npb.cpp makefile $(CC) $(CF) $(LF) -o npb npb.cpp +403: 403.cpp makefile + $(CC) $(CF) $(LF) -o 403 403.cpp + npbd: npb npbd.cpp makefile $(CC) $(CF) -o npbd npbd.cpp $(LF2) diff --git a/npb.htm b/npb.htm index 8dbf692..e6f1498 100644 --- a/npb.htm +++ b/npb.htm @@ -5,6 +5,7 @@ + 1190.bicyclesonthemoon.dnsd.info

It's NewpixbOTTification time!

NewpixbOTTify by URL
@@ -20,5 +21,8 @@
+
+ Source code available at svn://bicyclesonthemoon.dnsd.info/npb (use "e" to login) or http://1190.bicyclesonthemoon.dnsd.info/pro/npb. +