diff options
| author | Simon <simon@hardwired.org.uk> | 2010-09-11 10:57:20 (GMT) |
|---|---|---|
| committer | Simon <simon@hardwired.org.uk> | 2010-09-11 10:57:20 (GMT) |
| commit | 42ec12d02f99bba736b8743ab8b78b2acc98d63d (patch) | |
| tree | e2dd769467af781e63f79481fc8c33a5447edeae /graphics.c | |
| parent | d640bd26d8b7f5b53f0f685e53ce5181f349fad4 (diff) | |
| parent | 863be4ae58f0a2283d9acf448868ea02dd597963 (diff) | |
| download | powder-42ec12d02f99bba736b8743ab8b78b2acc98d63d.zip powder-42ec12d02f99bba736b8743ab8b78b2acc98d63d.tar.gz | |
Merge branch 'master' of github.com:FacialTurd/The-Powder-Toy
Diffstat (limited to 'graphics.c')
| -rw-r--r-- | graphics.c | 51 |
1 files changed, 51 insertions, 0 deletions
@@ -967,6 +967,15 @@ inline void blendpixel(pixel *vid, int x, int y, int r, int g, int b, int a) #endif { #ifdef OpenGL + if(x<0 || y<0 || x>=XRES || r>=YRES) + return; + if(a!=255) + { + glBegin (GL_QUADS); + glColor4ub(r,g,b,a); + glVertex2i(x, y); + } + vid[y*(XRES+BARSIZE)+x] = PIXRGB(r,g,b); #else pixel t; if(x<0 || y<0 || x>=XRES || y>=YRES) @@ -1167,6 +1176,48 @@ void draw_parts(pixel *vid) float pt = R_TEMP; for(i = 0; i<NPART; i++) { #ifdef OpenGL + if(cmode == 6) //If fire mode + { + + if(t==PT_MWAX) + { + for(x=-1; x<=1; x++) + { + for(y=-1; y<=1; y++) + { + if ((abs(x) == 0) && (abs(y) == 0)) + blendpixel(vid,x+nx,y+ny,224,224,170,255); + else if (abs(y) != 0 && abs(x) != 0) + blendpixel(vid,x+nx,y+ny,224,224,170,20); + else + blendpixel(vid,x+nx,y+ny,224,224,170,40); + } + } + + } + + else if(t==PT_PLUT) + { + int tempx; + int tempy; + cr = 0x40; + cg = 0x70; + cb = 0x20; + blendpixel(vid, nx, ny, cr, cg, cb, 192); + blendpixel(vid, nx+1, ny, cr, cg, cb, 96); + blendpixel(vid, nx-1, ny, cr, cg, cb, 96); + blendpixel(vid, nx, ny+1, cr, cg, cb, 96); + blendpixel(vid, nx, ny-1, cr, cg, cb, 96); + for(tempx = 2; tempx < 10; tempx++) { + for(tempy = 2; tempy < 10; tempy++) { + blendpixel(vid, nx+tempx, ny-tempy, cr, cg, cb, 5); + blendpixel(vid, nx-tempx, ny+tempy, cr, cg, cb, 5); + blendpixel(vid, nx+tempx, ny+tempy, cr, cg, cb, 5); + blendpixel(vid, nx-tempx, ny-tempy, cr, cg, cb, 5); + } + } + } + } if(parts[i].type) { //Do nothing t = parts[i].type; |
