Fix missing render_mode array change when switching to some display types.

This commit is contained in:
Simon Robertshaw 2011-12-06 16:27:47 +00:00
parent 939a599b80
commit dda9eb5120

View File

@ -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;