diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-07-18 16:22:35 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-07-18 16:22:35 (GMT) |
| commit | 80044bb0f06b4186bcc2f07e1c5ddc4e195f2426 (patch) | |
| tree | a32d1d754ac03accebf55e502b607dab0d214aa8 /src/game | |
| parent | a8e4221f38edefb5b342f470407b1f100d0248a3 (diff) | |
| download | powder-80044bb0f06b4186bcc2f07e1c5ddc4e195f2426.zip powder-80044bb0f06b4186bcc2f07e1c5ddc4e195f2426.tar.gz | |
Renderer Presets and default graphics function
Diffstat (limited to 'src/game')
| -rw-r--r-- | src/game/GameController.cpp | 8 | ||||
| -rw-r--r-- | src/game/GameController.h | 2 | ||||
| -rw-r--r-- | src/game/GameView.cpp | 58 | ||||
| -rw-r--r-- | src/game/GameView.h | 3 | ||||
| -rw-r--r-- | src/game/RenderPreset.h | 19 |
5 files changed, 90 insertions, 0 deletions
diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp index 260d99a..0740554 100644 --- a/src/game/GameController.cpp +++ b/src/game/GameController.cpp @@ -402,6 +402,14 @@ void GameController::Exit() HasDone = true; } +void GameController::LoadRenderPreset(RenderPreset preset) +{ + Renderer * renderer = gameModel->GetRenderer(); + renderer->SetRenderMode(preset.RenderModes); + renderer->SetDisplayMode(preset.DisplayModes); + renderer->SetColourMode(preset.ColourMode); +} + void GameController::Update() { ui::Point pos = gameView->GetMousePosition(); diff --git a/src/game/GameController.h b/src/game/GameController.h index 4e2b43a..2388c5d 100644 --- a/src/game/GameController.h +++ b/src/game/GameController.h @@ -17,6 +17,7 @@ #include "cat/LuaScriptInterface.h" #include "options/OptionsController.h" #include "client/ClientListener.h" +#include "RenderPreset.h" #include "Menu.h" using namespace std; @@ -63,6 +64,7 @@ public: void Tick(); void Exit(); + void LoadRenderPreset(RenderPreset preset); void SetZoomEnabled(bool zoomEnable); void SetZoomPosition(ui::Point position); void AdjustBrushSize(int direction, bool logarithmic = false); diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp index 8adb9e1..62fd6a9 100644 --- a/src/game/GameView.cpp +++ b/src/game/GameView.cpp @@ -255,6 +255,59 @@ GameView::GameView(): tempButton->Appearance.Margin = ui::Border(0, 2, 3, 2); tempButton->SetActionCallback(new ElementSearchAction(this)); AddComponent(tempButton); + + //Render mode presets. Possibly load from config in future? + renderModePresets = new RenderPreset[10]; + + 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; } class GameView::MenuAction: public ui::ButtonAction @@ -819,6 +872,11 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool c->AdjustBrushSize(-1, true); break; } + + if(key >= '0' && key <= '9') + { + c->LoadRenderPreset(renderModePresets[key-'0']); + } } void GameView::OnKeyRelease(int key, Uint16 character, bool shift, bool ctrl, bool alt) diff --git a/src/game/GameView.h b/src/game/GameView.h index 4576b13..324f716 100644 --- a/src/game/GameView.h +++ b/src/game/GameView.h @@ -12,6 +12,7 @@ #include "interface/Button.h" #include "interface/Slider.h" #include "ToolButton.h" +#include "RenderPreset.h" #include "Brush.h" using namespace std; @@ -76,6 +77,8 @@ private: ui::Point mousePosition; + RenderPreset * renderModePresets; + Thumbnail * placeSaveThumb; Particle sample; diff --git a/src/game/RenderPreset.h b/src/game/RenderPreset.h new file mode 100644 index 0000000..9cc9f4c --- /dev/null +++ b/src/game/RenderPreset.h @@ -0,0 +1,19 @@ +#ifndef RENDER_PRESET_H +#define RENDER_PRESET_H +class RenderPreset +{ +public: + std::string Name; + std::vector<unsigned int> RenderModes; + std::vector<unsigned int> DisplayModes; + unsigned int ColourMode; + + RenderPreset(): Name(""), ColourMode(0) {} + RenderPreset(std::string name, std::vector<unsigned int> renderModes, std::vector<unsigned int> displayModes, unsigned int colourMode): + Name(name), + RenderModes(renderModes), + DisplayModes(displayModes), + ColourMode(colourMode) + {} +}; +#endif
\ No newline at end of file |
