diff options
| author | jacob1 <jfu614@gmail.com> | 2012-09-26 00:32:30 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-09-26 15:46:03 (GMT) |
| commit | 95cc715d71f6fb1a9887272e9cb5a0dc14e2da4e (patch) | |
| tree | 0dd953c351bc44b011d962d39de8fbbe047ee94d /src/graphics | |
| parent | 0f38fa71ab19db40449cb0b9884899f529f4cc25 (diff) | |
| download | powder-95cc715d71f6fb1a9887272e9cb5a0dc14e2da4e.zip powder-95cc715d71f6fb1a9887272e9cb5a0dc14e2da4e.tar.gz | |
render preset buttons in render options interface, also shift + 1 life view shortcut
modify it if you don't like how it looks, but it turned out better than I expected
Diffstat (limited to 'src/graphics')
| -rw-r--r-- | src/graphics/Graphics.cpp | 32 | ||||
| -rw-r--r-- | src/graphics/Renderer.cpp | 57 | ||||
| -rw-r--r-- | src/graphics/Renderer.h | 2 |
3 files changed, 75 insertions, 16 deletions
diff --git a/src/graphics/Graphics.cpp b/src/graphics/Graphics.cpp index 4d6b63e..a17baf0 100644 --- a/src/graphics/Graphics.cpp +++ b/src/graphics/Graphics.cpp @@ -875,49 +875,49 @@ void Graphics::draw_icon(int x, int y, Icon icon, unsigned char alpha, bool inve } break; case IconVelocity: - drawchar(x, y, 0x98, 128, 160, 255, alpha); + drawchar(x+1, y, 0x98, 128, 160, 255, alpha); break; case IconPressure: - drawchar(x, y, 0x99, 255, 212, 32, alpha); + drawchar(x+1, y+1, 0x99, 255, 212, 32, alpha); break; case IconPersistant: - drawchar(x, y, 0x9A, 212, 212, 212, alpha); + drawchar(x+1, y, 0x9A, 212, 212, 212, alpha); break; case IconFire: - drawchar(x+1, y, 0x9B, 255, 0, 0, alpha); - drawchar(x+1, y, 0x9C, 255, 255, 64, alpha); + drawchar(x+1, y+1, 0x9B, 255, 0, 0, alpha); + drawchar(x+1, y+1, 0x9C, 255, 255, 64, alpha); break; case IconBlob: - drawchar(x, y, 0xBF, 55, 255, 55, alpha); + drawchar(x+1, y, 0xBF, 55, 255, 55, alpha); break; case IconHeat: - drawchar(x+2, y, 0xBE, 255, 0, 0, alpha); - drawchar(x+2, y, 0xBD, 255, 255, 255, alpha); + drawchar(x+3, y, 0xBE, 255, 0, 0, alpha); + drawchar(x+3, y, 0xBD, 255, 255, 255, alpha); break; case IconBlur: - drawchar(x, y, 0xC4, 100, 150, 255, alpha); + drawchar(x+1, y, 0xC4, 100, 150, 255, alpha); break; case IconGradient: - drawchar(x, y, 0xD3, 255, 50, 255, alpha); + drawchar(x+1, y+1, 0xD3, 255, 50, 255, alpha); break; case IconLife: drawchar(x, y, 0xE0, 255, 255, 255, alpha); break; case IconEffect: - drawchar(x, y, 0xE1, 255, 255, 160, alpha); + drawchar(x+1, y, 0xE1, 255, 255, 160, alpha); break; case IconGlow: - drawchar(x, y, 0xDF, 200, 255, 255, alpha); + drawchar(x+1, y, 0xDF, 200, 255, 255, alpha); break; case IconWarp: - drawchar(x, y, 0xDE, 255, 255, 255, alpha); + drawchar(x+1, y, 0xDE, 255, 255, 255, alpha); break; case IconBasic: - drawchar(x, y, 0xDB, 255, 255, 200, alpha); + drawchar(x+1, y+1, 0xDB, 255, 255, 200, alpha); break; case IconAltAir: - drawchar(x, y, 0xD4, 255, 55, 55, alpha); - drawchar(x, y, 0xD5, 55, 255, 55, alpha); + drawchar(x+1, y+1, 0xD4, 255, 55, 55, alpha); + drawchar(x+1, y+1, 0xD5, 55, 255, 55, alpha); break; default: if(invert) diff --git a/src/graphics/Renderer.cpp b/src/graphics/Renderer.cpp index de51562..33f9736 100644 --- a/src/graphics/Renderer.cpp +++ b/src/graphics/Renderer.cpp @@ -2337,6 +2337,63 @@ Renderer::Renderer(Graphics * g, Simulation * sim): AddRenderMode(RENDER_BASC); AddRenderMode(RENDER_FIRE); + //Render mode presets. Possibly load from config in future? + renderModePresets = new RenderPreset[11]; + + renderModePresets[0].Name = "Alternative Velocity Display"; + renderModePresets[0].RenderModes.push_back(RENDER_EFFE); + renderModePresets[0].RenderModes.push_back(RENDER_BASC); + renderModePresets[0].DisplayModes.push_back(DISPLAY_AIRC); + + renderModePresets[1].Name = "Velocity Display"; + renderModePresets[1].RenderModes.push_back(RENDER_EFFE); + renderModePresets[1].RenderModes.push_back(RENDER_BASC); + renderModePresets[1].DisplayModes.push_back(DISPLAY_AIRV); + + renderModePresets[2].Name = "Pressure Display"; + renderModePresets[2].RenderModes.push_back(RENDER_EFFE); + renderModePresets[2].RenderModes.push_back(RENDER_BASC); + renderModePresets[2].DisplayModes.push_back(DISPLAY_AIRP); + + renderModePresets[3].Name = "Persistent Display"; + renderModePresets[3].RenderModes.push_back(RENDER_EFFE); + renderModePresets[3].RenderModes.push_back(RENDER_BASC); + renderModePresets[3].DisplayModes.push_back(DISPLAY_PERS); + + renderModePresets[4].Name = "Fire Display"; + renderModePresets[4].RenderModes.push_back(RENDER_FIRE); + renderModePresets[4].RenderModes.push_back(RENDER_EFFE); + renderModePresets[4].RenderModes.push_back(RENDER_BASC); + + renderModePresets[5].Name = "Blob Display"; + renderModePresets[5].RenderModes.push_back(RENDER_FIRE); + renderModePresets[5].RenderModes.push_back(RENDER_EFFE); + renderModePresets[5].RenderModes.push_back(RENDER_BLOB); + + renderModePresets[6].Name = "Heat Display"; + renderModePresets[6].RenderModes.push_back(RENDER_BASC); + renderModePresets[6].DisplayModes.push_back(DISPLAY_AIRH); + renderModePresets[6].ColourMode = COLOUR_HEAT; + + renderModePresets[7].Name = "Fancy Display"; + renderModePresets[7].RenderModes.push_back(RENDER_FIRE); + renderModePresets[7].RenderModes.push_back(RENDER_GLOW); + renderModePresets[7].RenderModes.push_back(RENDER_BLUR); + renderModePresets[7].RenderModes.push_back(RENDER_EFFE); + renderModePresets[7].RenderModes.push_back(RENDER_BASC); + renderModePresets[7].DisplayModes.push_back(DISPLAY_WARP); + + renderModePresets[8].Name = "Nothing Display"; + renderModePresets[8].RenderModes.push_back(RENDER_BASC); + + renderModePresets[9].Name = "Heat Gradient Display"; + renderModePresets[9].RenderModes.push_back(RENDER_BASC); + renderModePresets[9].ColourMode = COLOUR_GRAD; + + renderModePresets[10].Name = "Life Gradient Display"; + renderModePresets[10].RenderModes.push_back(RENDER_BASC); + renderModePresets[10].ColourMode = COLOUR_LIFE; + //Prepare the graphics cache graphicscache = (gcache_item *)malloc(sizeof(gcache_item)*PT_NUM); memset(graphicscache, 0, sizeof(gcache_item)*PT_NUM); diff --git a/src/graphics/Renderer.h b/src/graphics/Renderer.h index b72744c..2c7d969 100644 --- a/src/graphics/Renderer.h +++ b/src/graphics/Renderer.h @@ -10,6 +10,7 @@ #include "client/Client.h" #include "Graphics.h" #include "interface/Point.h" +#include "game/renderPreset.h" class Simulation; @@ -45,6 +46,7 @@ public: unsigned int colour_mode; std::vector<unsigned int> display_modes; unsigned int display_mode; + RenderPreset * renderModePresets; // unsigned char fire_r[YRES/CELL][XRES/CELL]; unsigned char fire_g[YRES/CELL][XRES/CELL]; |
