summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2011-10-20 14:37:21 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-10-20 14:37:21 (GMT)
commit2b56d31610c1c9be6c09e539cf8e344bc8becbc9 (patch)
tree0f2904e9ec815d54c9b1a858285bc7363497b86c /src/main.c
parentd156beab7d54d5b87671988f0cb9277753e78e92 (diff)
downloadpowder-2b56d31610c1c9be6c09e539cf8e344bc8becbc9.zip
powder-2b56d31610c1c9be6c09e539cf8e344bc8becbc9.tar.gz
Rendering, Glow and UI alpha fixes
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/main.c b/src/main.c
index bcd0558..01620ef 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1781,6 +1781,22 @@ int main(int argc, char *argv[])
gravity_mask();
gravwl_timeout--;
}
+#ifdef OGLR
+ if (cmode==CM_PERS)//save background for persistent, then clear
+ {
+ clearScreen(1.0f);
+ memset(part_vbuf, 0, (XRES+BARSIZE)*YRES*PIXELSIZE);
+ }
+ else //clear screen every frame
+ {
+ clearScreen(1.0f);
+ memset(part_vbuf, 0, (XRES+BARSIZE)*YRES*PIXELSIZE);
+ if (cmode==CM_VEL || cmode==CM_PRESS || cmode==CM_CRACK || (cmode==CM_HEAT && aheat_enable))//air only gets drawn in these modes
+ {
+ draw_air(part_vbuf);
+ }
+ }
+#else
if (cmode==CM_VEL || cmode==CM_PRESS || cmode==CM_CRACK || (cmode==CM_HEAT && aheat_enable))//air only gets drawn in these modes
{
draw_air(part_vbuf);
@@ -1789,14 +1805,12 @@ int main(int argc, char *argv[])
{
memcpy(part_vbuf, pers_bg, (XRES+BARSIZE)*YRES*PIXELSIZE);
memset(part_vbuf+((XRES+BARSIZE)*YRES), 0, ((XRES+BARSIZE)*YRES*PIXELSIZE)-((XRES+BARSIZE)*YRES*PIXELSIZE));
- }
+ }
else //clear screen every frame
{
-#ifdef OGLR
- clearScreen(1.0f);
-#endif
- memset(part_vbuf, 0, (XRES+BARSIZE)*YRES*PIXELSIZE);
+ memset(part_vbuf, 0, (XRES+BARSIZE)*YRES*PIXELSIZE);
}
+#endif
//Can't be too sure (Limit the cursor size)
if (bsx>1180)
@@ -1922,8 +1936,11 @@ int main(int argc, char *argv[])
}
fire_fc = (fire_fc+1) % 3;
}
+
+#ifndef OGLR
if (cmode==CM_FIRE||cmode==CM_BLOB||cmode==CM_FANCY)
render_fire(part_vbuf);
+#endif
render_signs(part_vbuf);