summaryrefslogtreecommitdiff
path: root/src/interface.c
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2011-12-06 16:27:47 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-12-06 16:27:47 (GMT)
commitdda9eb51202d34da7afea0a5b42d54287ffe2cac (patch)
tree755a7593cdd69f0b8ae1c34a9a6726e454bcd8bb /src/interface.c
parent939a599b8076d80f90ba19a15440e199e0c36316 (diff)
downloadpowder-dda9eb51202d34da7afea0a5b42d54287ffe2cac.zip
powder-dda9eb51202d34da7afea0a5b42d54287ffe2cac.tar.gz
Fix missing render_mode array change when switching to some display types.
Diffstat (limited to 'src/interface.c')
-rw-r--r--src/interface.c37
1 files changed, 22 insertions, 15 deletions
diff --git a/src/interface.c b/src/interface.c
index 0d634c8..92193d9 100644
--- a/src/interface.c
+++ b/src/interface.c
@@ -2721,9 +2721,10 @@ void set_cmode(int cm) // sets to given view mode
colour_mode = COLOUR_DEFAULT;
free(render_modes);
- render_modes = calloc(1, sizeof(unsigned int));
+ render_modes = calloc(2, sizeof(unsigned int));
render_mode = RENDER_BASC;
render_modes[0] = RENDER_BASC;
+ render_modes[1] = 0;
free(display_modes);
display_mode = 0;
@@ -2734,10 +2735,11 @@ void set_cmode(int cm) // sets to given view mode
if (cmode==CM_VEL)
{
free(render_modes);
- render_modes = calloc(2, sizeof(unsigned int));
- render_mode |= RENDER_EFFE;
+ render_modes = calloc(3, sizeof(unsigned int));
+ render_mode |= RENDER_EFFE | RENDER_BASC;
render_modes[0] = RENDER_EFFE;
- render_modes[1] = 0;
+ render_modes[1] = RENDER_BASC;
+ render_modes[2] = 0;
free(display_modes);
display_modes = calloc(2, sizeof(unsigned int));
display_mode |= DISPLAY_AIRV;
@@ -2748,10 +2750,11 @@ void set_cmode(int cm) // sets to given view mode
else if (cmode==CM_PRESS)
{
free(render_modes);
- render_modes = calloc(2, sizeof(unsigned int));
- render_mode |= RENDER_EFFE;
+ render_modes = calloc(3, sizeof(unsigned int));
+ render_mode |= RENDER_EFFE | RENDER_BASC;
render_modes[0] = RENDER_EFFE;
- render_modes[1] = 0;
+ render_modes[1] = RENDER_BASC;
+ render_modes[2] = 0;
free(display_modes);
display_modes = calloc(2, sizeof(unsigned int));
display_mode |= DISPLAY_AIRP;
@@ -2762,10 +2765,11 @@ void set_cmode(int cm) // sets to given view mode
else if (cmode==CM_PERS)
{
free(render_modes);
- render_modes = calloc(2, sizeof(unsigned int));
- render_mode |= RENDER_EFFE;
+ render_modes = calloc(3, sizeof(unsigned int));
+ render_mode |= RENDER_EFFE | RENDER_BASC;
render_modes[0] = RENDER_EFFE;
- render_modes[1] = 0;
+ render_modes[1] = RENDER_BASC;
+ render_modes[2] = 0;
free(display_modes);
display_modes = calloc(2, sizeof(unsigned int));
display_mode |= DISPLAY_PERS;
@@ -2811,14 +2815,16 @@ void set_cmode(int cm) // sets to given view mode
else if (cmode==CM_FANCY)
{
free(render_modes);
- render_modes = calloc(4, sizeof(unsigned int));
+ render_modes = calloc(5, sizeof(unsigned int));
render_mode |= RENDER_FIRE;
render_mode |= RENDER_GLOW;
render_mode |= RENDER_BLUR;
+ render_mode |= RENDER_EFFE;
render_modes[0] = RENDER_FIRE;
render_modes[1] = RENDER_GLOW;
render_modes[2] = RENDER_BLUR;
- render_modes[3] = 0;
+ render_modes[3] = RENDER_EFFE;
+ render_modes[4] = 0;
free(display_modes);
display_modes = calloc(2, sizeof(unsigned int));
display_mode |= DISPLAY_WARP;
@@ -2846,10 +2852,11 @@ void set_cmode(int cm) // sets to given view mode
else if (cmode==CM_CRACK)
{
free(render_modes);
- render_modes = calloc(2, sizeof(unsigned int));
- render_mode |= RENDER_EFFE;
+ render_modes = calloc(3, sizeof(unsigned int));
+ render_mode |= RENDER_EFFE | RENDER_BASC;
render_modes[0] = RENDER_EFFE;
- render_modes[1] = 0;
+ render_modes[1] = RENDER_BASC;
+ render_modes[2] = 0;
free(display_modes);
display_modes = calloc(2, sizeof(unsigned int));
display_mode |= DISPLAY_AIRC;