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 | |
| parent | d640bd26d8b7f5b53f0f685e53ce5181f349fad4 (diff) | |
| parent | 863be4ae58f0a2283d9acf448868ea02dd597963 (diff) | |
| download | powder-42ec12d02f99bba736b8743ab8b78b2acc98d63d.zip powder-42ec12d02f99bba736b8743ab8b78b2acc98d63d.tar.gz | |
Merge branch 'master' of github.com:FacialTurd/The-Powder-Toy
| -rwxr-xr-x | Makefile | 6 | ||||
| -rw-r--r-- | graphics.c | 51 |
2 files changed, 54 insertions, 3 deletions
@@ -3,9 +3,9 @@ SOURCES := *.c CFLAGS := -Wall -std=c99 -D_POSIX_C_SOURCE=200112L OFLAGS := -O3 -ffast-math -ftree-vectorize -funsafe-math-optimizations LFLAGS := -lSDL -lm -lbz2 -MFLAGS_SSE3 := -march=k8 -DX86 -DX86_SSE3 -msse3 -MFLAGS_SSE2 := -march=k8 -DX86 -DX86_SSE2 -msse2 -MFLAGS_SSE := -march=pentium3 -DX86 -DX86_SSE +MFLAGS_SSE3 := -march=native -DX86 -DX86_SSE3 -msse3 +MFLAGS_SSE2 := -march=native-DX86 -DX86_SSE2 -msse2 +MFLAGS_SSE := -march=native -DX86 -DX86_SSE FLAGS_DBUG := -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -pg -O2 -march=k8 -DX86 -DX86_SSE3 -msse3 -lSDL -lm -lbz2 COMPILER := gcc LINUX_TARG := powder-64-sse2 powder-sse powder-sse2 @@ -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; |
