diff options
| author | Jacob1 <jfu614@gmail.com> | 2011-11-14 23:21:39 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2011-11-18 14:13:50 (GMT) |
| commit | 2d1a0d474f44cd64a5948de8410c1a0c75908abc (patch) | |
| tree | a86a6a91fd1acbfd16b5fb984dd279777457b998 /src/interface.c | |
| parent | c5e19c6a662ffec2b610699dc997f706cd70d35a (diff) | |
| download | powder-2d1a0d474f44cd64a5948de8410c1a0c75908abc.zip powder-2d1a0d474f44cd64a5948de8410c1a0c75908abc.tar.gz | |
Add back in number keys to change render/display/color _mode variables
Diffstat (limited to 'src/interface.c')
| -rw-r--r-- | src/interface.c | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/src/interface.c b/src/interface.c index 4abdb0b..79d1995 100644 --- a/src/interface.c +++ b/src/interface.c @@ -2663,6 +2663,117 @@ int sdl_poll(void) return 0; } +void set_cmode(int cm) // sets to given view mode +{ + int cmode = cm; + colour_mode = COLOUR_DEFAULT; + free(render_modes); + render_modes = calloc(1, sizeof(unsigned int)); + render_mode = RENDER_BASC; + render_modes[0] = RENDER_BASC; + free(display_modes); + display_mode = 0; + display_modes = calloc(0, sizeof(unsigned int)); + itc = 51; + if (cmode==CM_VEL) + { + display_modes = calloc(1, sizeof(unsigned int)); + display_mode |= DISPLAY_AIRV; + display_modes[0] = DISPLAY_AIRV; + strcpy(itc_msg, "Velocity Display"); + } + else if (cmode==CM_PRESS) + { + display_modes = calloc(1, sizeof(unsigned int)); + display_mode |= DISPLAY_AIRP; + display_modes[0] = DISPLAY_AIRP; + strcpy(itc_msg, "Pressure Display"); + } + else if (cmode==CM_PERS) + { + display_modes = calloc(1, sizeof(unsigned int)); + display_mode |= DISPLAY_PERS; + display_modes[0] = DISPLAY_PERS; + memset(pers_bg, 0, (XRES+BARSIZE)*YRES*PIXELSIZE); + strcpy(itc_msg, "Persistent Display"); + } + else if (cmode==CM_FIRE) + { + free(render_modes); + render_modes = calloc(2, sizeof(unsigned int)); + render_mode |= RENDER_FIRE; + render_mode |= RENDER_GLOW; + render_modes[0] = RENDER_FIRE; + render_modes[1] = RENDER_GLOW; + memset(fire_r, 0, sizeof(fire_r)); + memset(fire_g, 0, sizeof(fire_g)); + memset(fire_b, 0, sizeof(fire_b)); + strcpy(itc_msg, "Fire Display"); + } + else if (cmode==CM_BLOB) + { + memset(fire_r, 0, sizeof(fire_r)); + memset(fire_g, 0, sizeof(fire_g)); + memset(fire_b, 0, sizeof(fire_b)); + strcpy(itc_msg, "Not Implemented");//strcpy(itc_msg, "Blob Display"); + } + else if (cmode==CM_HEAT) + { + colour_mode = COLOUR_HEAT; + strcpy(itc_msg, "Heat Display"); + } + else if (cmode==CM_FANCY) + { + free(render_modes); + render_modes = calloc(2, sizeof(unsigned int)); + render_mode |= RENDER_FIRE; + render_mode |= RENDER_GLOW; + render_modes[0] = RENDER_FIRE; + render_modes[1] = RENDER_GLOW; + display_modes = calloc(1, sizeof(unsigned int)); + display_mode |= DISPLAY_WARP; + display_modes[0] = DISPLAY_WARP; + memset(fire_r, 0, sizeof(fire_r)); + memset(fire_g, 0, sizeof(fire_g)); + memset(fire_b, 0, sizeof(fire_b)); + strcpy(itc_msg, "Fancy Display"); + } + else if (cmode==CM_NOTHING) + { + render_mode = RENDER_NONE; + render_modes[0] = RENDER_NONE; + strcpy(itc_msg, "Nothing Display"); + } + else if (cmode==CM_GRAD) + { + strcpy(itc_msg, "Not Implemented");//strcpy(itc_msg, "Heat Gradient Display"); + } + else if (cmode==CM_LIFE) + { + if (DEBUG_MODE) //can only get to Life view in debug mode + { + colour_mode = COLOUR_LIFE; + strcpy(itc_msg, "Life Display"); + } + else + { + set_cmode(CM_CRACK); + } + } + else if (cmode==CM_CRACK) + { + display_modes = calloc(1, sizeof(unsigned int)); + display_mode |= DISPLAY_AIRC; + display_modes[0] = DISPLAY_AIRC; + strcpy(itc_msg, "Alternate Velocity Display"); + } + else //if no special text given, it will display this. + { + strcpy(itc_msg, "Error: Incorrect Display Number"); + } + save_presets(0); +} + char *download_ui(pixel *vid_buf, char *uri, int *len) { int dstate = 0; |
