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
This commit is contained in:
parent
0f38fa71ab
commit
95cc715d71
@ -749,9 +749,10 @@ void GameController::ToggleAHeat()
|
||||
}
|
||||
|
||||
|
||||
void GameController::LoadRenderPreset(RenderPreset preset)
|
||||
void GameController::LoadRenderPreset(int presetNum)
|
||||
{
|
||||
Renderer * renderer = gameModel->GetRenderer();
|
||||
RenderPreset preset = renderer->renderModePresets[presetNum];
|
||||
gameModel->SetInfoTip(preset.Name);
|
||||
renderer->SetRenderMode(preset.RenderModes);
|
||||
renderer->SetDisplayMode(preset.DisplayModes);
|
||||
|
@ -76,7 +76,7 @@ public:
|
||||
|
||||
void AdjustGridSize(int direction);
|
||||
void InvertAirSim();
|
||||
void LoadRenderPreset(RenderPreset preset);
|
||||
void LoadRenderPreset(int presetNum);
|
||||
void SetZoomEnabled(bool zoomEnable);
|
||||
void SetZoomPosition(ui::Point position);
|
||||
void AdjustBrushSize(int direction, bool logarithmic = false, bool xAxis = false, bool yAxis = false);
|
||||
|
@ -417,65 +417,10 @@ GameView::GameView():
|
||||
};
|
||||
colourPicker = new ui::Button(ui::Point((XRES/2)-8, YRES+1), ui::Point(16, 16), "", "Pick Colour");
|
||||
colourPicker->SetActionCallback(new ColourPickerAction(this));
|
||||
|
||||
//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;
|
||||
}
|
||||
|
||||
GameView::~GameView()
|
||||
{
|
||||
delete[] renderModePresets;
|
||||
|
||||
if(!colourPicker->GetParentWindow())
|
||||
delete colourPicker;
|
||||
|
||||
@ -1405,9 +1350,11 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool
|
||||
break;
|
||||
}
|
||||
|
||||
if(key >= '0' && key <= '9')
|
||||
if (shift && showDebug && key == '1')
|
||||
c->LoadRenderPreset(10);
|
||||
else if(key >= '0' && key <= '9')
|
||||
{
|
||||
c->LoadRenderPreset(renderModePresets[key-'0']);
|
||||
c->LoadRenderPreset(key-'0');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -13,7 +13,6 @@
|
||||
#include "interface/Slider.h"
|
||||
#include "interface/Textbox.h"
|
||||
#include "ToolButton.h"
|
||||
#include "RenderPreset.h"
|
||||
#include "Brush.h"
|
||||
#include "simulation/Sample.h"
|
||||
|
||||
@ -101,8 +100,6 @@ private:
|
||||
|
||||
ui::Point mousePosition;
|
||||
|
||||
RenderPreset * renderModePresets;
|
||||
|
||||
Thumbnail * placeSaveThumb;
|
||||
|
||||
SimulationSample sample;
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
|
@ -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];
|
||||
|
@ -34,7 +34,7 @@ std::string Checkbox::GetText()
|
||||
void Checkbox::SetIcon(Icon icon)
|
||||
{
|
||||
Appearance.icon = icon;
|
||||
iconPosition.X = 17;
|
||||
iconPosition.X = 16;
|
||||
iconPosition.Y = 3;
|
||||
}
|
||||
|
||||
|
@ -45,6 +45,11 @@ void RenderController::SetColourMode(unsigned int renderMode)
|
||||
renderModel->SetColourMode(renderMode);
|
||||
}
|
||||
|
||||
void RenderController::LoadRenderPreset(int presetNum)
|
||||
{
|
||||
renderModel->LoadRenderPreset(presetNum);
|
||||
}
|
||||
|
||||
void RenderController::Exit()
|
||||
{
|
||||
if(ui::Engine::Ref().GetWindow() == renderView)
|
||||
|
@ -30,6 +30,7 @@ public:
|
||||
void SetDisplayMode(unsigned int renderMode);
|
||||
void UnsetDisplayMode(unsigned int renderMode);
|
||||
void SetColourMode(unsigned int renderMode);
|
||||
void LoadRenderPreset(int presetNum);
|
||||
};
|
||||
|
||||
#endif /* RENDERCONTROLLER_H_ */
|
||||
|
@ -81,6 +81,17 @@ unsigned int RenderModel::GetColourMode()
|
||||
return 0;
|
||||
}
|
||||
|
||||
void RenderModel::LoadRenderPreset(int presetNum)
|
||||
{
|
||||
RenderPreset preset = renderer->renderModePresets[presetNum];
|
||||
renderer->SetRenderMode(preset.RenderModes);
|
||||
renderer->SetDisplayMode(preset.DisplayModes);
|
||||
renderer->SetColourMode(preset.ColourMode);
|
||||
notifyRenderChanged();
|
||||
notifyDisplayChanged();
|
||||
notifyColourChanged();
|
||||
}
|
||||
|
||||
void RenderModel::SetRenderer(Renderer * ren)
|
||||
{
|
||||
renderer = ren;
|
||||
|
@ -35,6 +35,7 @@ public:
|
||||
unsigned int GetDisplayMode();
|
||||
void SetColourMode(unsigned int colourMode);
|
||||
unsigned int GetColourMode();
|
||||
void LoadRenderPreset(int presetNum);
|
||||
virtual ~RenderModel();
|
||||
};
|
||||
|
||||
|
@ -67,121 +67,194 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class RenderView::RenderPresetAction: public ui::ButtonAction
|
||||
{
|
||||
RenderView * v;
|
||||
public:
|
||||
int renderPreset;
|
||||
RenderPresetAction(RenderView * v_, int renderPreset_)
|
||||
{
|
||||
v = v_;
|
||||
renderPreset = renderPreset_;
|
||||
}
|
||||
virtual void ActionCallback(ui::Button * sender)
|
||||
{
|
||||
v->c->LoadRenderPreset(renderPreset);
|
||||
}
|
||||
};
|
||||
|
||||
RenderView::RenderView():
|
||||
ui::Window(ui::Point(0, 0), ui::Point(XRES, YRES+MENUSIZE)),
|
||||
toolTip(""),
|
||||
toolTipPresence(0),
|
||||
ren(NULL)
|
||||
{
|
||||
ui::Button * presetButton;
|
||||
|
||||
presetButton = new ui::Button(ui::Point(5, YRES+6), ui::Point(30, 13), "", "Velocity display mode preset");
|
||||
presetButton->SetIcon(IconVelocity);
|
||||
presetButton->SetActionCallback(new RenderPresetAction(this, 1));
|
||||
AddComponent(presetButton);
|
||||
|
||||
presetButton = new ui::Button(ui::Point(5, YRES+6+18), ui::Point(30, 13), "", "Pressure display mode preset");
|
||||
presetButton->SetIcon(IconPressure);
|
||||
presetButton->SetActionCallback(new RenderPresetAction(this, 2));
|
||||
AddComponent(presetButton);
|
||||
|
||||
presetButton = new ui::Button(ui::Point(44, YRES+6), ui::Point(30, 13), "", "Persistant display mode preset");
|
||||
presetButton->SetIcon(IconPersistant);
|
||||
presetButton->SetActionCallback(new RenderPresetAction(this, 3));
|
||||
AddComponent(presetButton);
|
||||
|
||||
presetButton = new ui::Button(ui::Point(44, YRES+6+18), ui::Point(30, 13), "", "Fire display mode preset");
|
||||
presetButton->SetIcon(IconFire);
|
||||
presetButton->SetActionCallback(new RenderPresetAction(this, 4));
|
||||
AddComponent(presetButton);
|
||||
|
||||
presetButton = new ui::Button(ui::Point(83, YRES+6), ui::Point(30, 13), "", "Blob display mode preset");
|
||||
presetButton->SetIcon(IconBlob);
|
||||
presetButton->SetActionCallback(new RenderPresetAction(this, 5));
|
||||
AddComponent(presetButton);
|
||||
|
||||
presetButton = new ui::Button(ui::Point(83, YRES+6+18), ui::Point(30, 13), "", "Heat display mode preset");
|
||||
presetButton->SetIcon(IconHeat);
|
||||
presetButton->SetActionCallback(new RenderPresetAction(this, 6));
|
||||
AddComponent(presetButton);
|
||||
|
||||
presetButton = new ui::Button(ui::Point(122, YRES+6), ui::Point(30, 13), "", "Fancy display mode preset");
|
||||
presetButton->SetIcon(IconBlur);
|
||||
presetButton->SetActionCallback(new RenderPresetAction(this, 7));
|
||||
AddComponent(presetButton);
|
||||
|
||||
presetButton = new ui::Button(ui::Point(122, YRES+6+18), ui::Point(30, 13), "", "Nothing display mode preset");
|
||||
presetButton->SetIcon(IconBasic);
|
||||
presetButton->SetActionCallback(new RenderPresetAction(this, 8));
|
||||
AddComponent(presetButton);
|
||||
|
||||
presetButton = new ui::Button(ui::Point(161, YRES+6), ui::Point(30, 13), "", "Heat gradient display mode preset");
|
||||
presetButton->SetIcon(IconGradient);
|
||||
presetButton->SetActionCallback(new RenderPresetAction(this, 9));
|
||||
AddComponent(presetButton);
|
||||
|
||||
presetButton = new ui::Button(ui::Point(161, YRES+6+18), ui::Point(30, 13), "", "Alternative Velocity display mode preset");
|
||||
presetButton->SetIcon(IconAltAir);
|
||||
presetButton->SetActionCallback(new RenderPresetAction(this, 0));
|
||||
AddComponent(presetButton);
|
||||
|
||||
presetButton = new ui::Button(ui::Point(200, YRES+6), ui::Point(30, 13), "", "Life display mode preset");
|
||||
presetButton->SetIcon(IconLife);
|
||||
presetButton->SetActionCallback(new RenderPresetAction(this, 10));
|
||||
AddComponent(presetButton);
|
||||
|
||||
ui::Checkbox * tCheckbox;
|
||||
|
||||
tCheckbox = new ui::Checkbox(ui::Point(1, YRES+4), ui::Point(30, 16), "Effects", "Adds Special flare effects to some elements");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(241, YRES+4), ui::Point(30, 16), "Effects", "Adds Special flare effects to some elements");
|
||||
renderModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconEffect);
|
||||
tCheckbox->SetActionCallback(new RenderModeAction(this, RENDER_EFFE));
|
||||
AddComponent(tCheckbox);
|
||||
|
||||
tCheckbox = new ui::Checkbox(ui::Point(1, YRES+4+18), ui::Point(30, 16), "Fire", "Fire effect for gasses");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(241, YRES+4+18), ui::Point(30, 16), "Fire", "Fire effect for gasses");
|
||||
renderModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconFire);
|
||||
tCheckbox->SetActionCallback(new RenderModeAction(this, RENDER_FIRE));
|
||||
AddComponent(tCheckbox);
|
||||
|
||||
tCheckbox = new ui::Checkbox(ui::Point(41, YRES+4), ui::Point(30, 16), "Glow", "Glow effect on some elements");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(281, YRES+4), ui::Point(30, 16), "Glow", "Glow effect on some elements");
|
||||
renderModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconGlow);
|
||||
tCheckbox->SetActionCallback(new RenderModeAction(this, RENDER_GLOW));
|
||||
AddComponent(tCheckbox);
|
||||
|
||||
tCheckbox = new ui::Checkbox(ui::Point(41, YRES+4+18), ui::Point(30, 16), "Blur", "Blur effect for liquids");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(281, YRES+4+18), ui::Point(30, 16), "Blur", "Blur effect for liquids");
|
||||
renderModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconBlur);
|
||||
tCheckbox->SetActionCallback(new RenderModeAction(this, RENDER_BLUR));
|
||||
AddComponent(tCheckbox);
|
||||
|
||||
tCheckbox = new ui::Checkbox(ui::Point(81, YRES+4), ui::Point(30, 16), "Blob", "Makes everything be drawn like a blob");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(321, YRES+4), ui::Point(30, 16), "Blob", "Makes everything be drawn like a blob");
|
||||
renderModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconBlob);
|
||||
tCheckbox->SetActionCallback(new RenderModeAction(this, RENDER_BLOB));
|
||||
AddComponent(tCheckbox);
|
||||
|
||||
tCheckbox = new ui::Checkbox(ui::Point(81, YRES+4+18), ui::Point(30, 16), "Point", "Basic rendering, without this, most things will be invisible");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(321, YRES+4+18), ui::Point(30, 16), "Point", "Basic rendering, without this, most things will be invisible");
|
||||
renderModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconBasic);
|
||||
tCheckbox->SetActionCallback(new RenderModeAction(this, RENDER_BASC));
|
||||
AddComponent(tCheckbox);
|
||||
|
||||
tCheckbox = new ui::Checkbox(ui::Point(136, YRES+4), ui::Point(30, 16), "Alt. Air", "Displays pressure as red and blue, and velocity as white");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(366, YRES+4), ui::Point(30, 16), "Alt. Air", "Displays pressure as red and blue, and velocity as white");
|
||||
displayModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconAltAir);
|
||||
tCheckbox->SetActionCallback(new DisplayModeAction(this, DISPLAY_AIRC));
|
||||
AddComponent(tCheckbox);
|
||||
|
||||
tCheckbox = new ui::Checkbox(ui::Point(136, YRES+4+18), ui::Point(30, 16), "Pressure", "Displays pressure, red is positive and blue is negative");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(366, YRES+4+18), ui::Point(30, 16), "Pressure", "Displays pressure, red is positive and blue is negative");
|
||||
displayModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconPressure);
|
||||
tCheckbox->SetActionCallback(new DisplayModeAction(this, DISPLAY_AIRP));
|
||||
AddComponent(tCheckbox);
|
||||
|
||||
tCheckbox = new ui::Checkbox(ui::Point(176, YRES+4), ui::Point(30, 16), "Velocity", "Displays velocity and positive pressure: up/down adds blue, right/left adds red, still pressure adds green");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(406, YRES+4), ui::Point(30, 16), "Velocity", "Displays velocity and positive pressure: up/down adds blue, right/left adds red, still pressure adds green");
|
||||
displayModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconVelocity);
|
||||
tCheckbox->SetActionCallback(new DisplayModeAction(this, DISPLAY_AIRV));
|
||||
AddComponent(tCheckbox);
|
||||
|
||||
tCheckbox = new ui::Checkbox(ui::Point(176, YRES+4+18), ui::Point(30, 16), "Air-heat", "Displays the temperature of the air like heat display does");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(406, YRES+4+18), ui::Point(30, 16), "Air-heat", "Displays the temperature of the air like heat display does");
|
||||
displayModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconHeat);
|
||||
tCheckbox->SetActionCallback(new DisplayModeAction(this, DISPLAY_AIRH));
|
||||
AddComponent(tCheckbox);
|
||||
|
||||
/*tCheckbox = new ui::Checkbox(ui::Point(216, YRES+4), ui::Point(30, 16), "Air", "");
|
||||
/*tCheckbox = new ui::Checkbox(ui::Point(446, YRES+4), ui::Point(30, 16), "Air", "");
|
||||
displayModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconAltAir);
|
||||
tCheckbox->SetActionCallback(new DisplayModeAction(this, DISPLAY_AIR));
|
||||
AddComponent(tCheckbox);*/
|
||||
|
||||
tCheckbox = new ui::Checkbox(ui::Point(221, YRES+4+18), ui::Point(30, 16), "Warp", "Gravity lensing, Newtonian Gravity bends light with this on");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(451, YRES+4+18), ui::Point(30, 16), "Warp", "Gravity lensing, Newtonian Gravity bends light with this on");
|
||||
displayModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconWarp);
|
||||
tCheckbox->SetActionCallback(new DisplayModeAction(this, DISPLAY_WARP));
|
||||
AddComponent(tCheckbox);
|
||||
|
||||
#ifdef OGLR
|
||||
tCheckbox = new ui::Checkbox(ui::Point(221, YRES+4), ui::Point(30, 16), "Effect", "I don't know what this does...") //I would remove the whole checkbox, but then there's a large empty space
|
||||
tCheckbox = new ui::Checkbox(ui::Point(451, YRES+4), ui::Point(30, 16), "Effect", "I don't know what this does...") //I would remove the whole checkbox, but then there's a large empty space
|
||||
#else
|
||||
tCheckbox = new ui::Checkbox(ui::Point(221, YRES+4), ui::Point(30, 16), "Effect", "Does nothing");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(451, YRES+4), ui::Point(30, 16), "Effect", "Does nothing");
|
||||
#endif
|
||||
displayModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconEffect);
|
||||
tCheckbox->SetActionCallback(new DisplayModeAction(this, DISPLAY_EFFE));
|
||||
AddComponent(tCheckbox);
|
||||
|
||||
tCheckbox = new ui::Checkbox(ui::Point(261, YRES+4), ui::Point(30, 16), "Persistent", "Element paths persist on the screen for a while");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(491, YRES+4), ui::Point(30, 16), "Persistent", "Element paths persist on the screen for a while");
|
||||
displayModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconPersistant);
|
||||
tCheckbox->SetActionCallback(new DisplayModeAction(this, DISPLAY_PERS));
|
||||
AddComponent(tCheckbox);
|
||||
|
||||
tCheckbox = new ui::Checkbox(ui::Point(306, YRES+4), ui::Point(30, 16), "Heat", "Displays temperatures of the elements, dark blue is coldest, pink is hotest");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(536, YRES+4), ui::Point(30, 16), "Heat", "Displays temperatures of the elements, dark blue is coldest, pink is hotest");
|
||||
colourModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconHeat);
|
||||
tCheckbox->SetActionCallback(new ColourModeAction(this, COLOUR_HEAT));
|
||||
AddComponent(tCheckbox);
|
||||
|
||||
tCheckbox = new ui::Checkbox(ui::Point(306, YRES+4+18), ui::Point(30, 16), "Life", "Displays the life value of elements in greyscale gradients");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(536, YRES+4+18), ui::Point(30, 16), "Life", "Displays the life value of elements in greyscale gradients");
|
||||
colourModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconLife);
|
||||
tCheckbox->SetActionCallback(new ColourModeAction(this, COLOUR_LIFE));
|
||||
AddComponent(tCheckbox);
|
||||
|
||||
tCheckbox = new ui::Checkbox(ui::Point(346, YRES+4+18), ui::Point(30, 16), "H-Gradient", "Changes colors of elements slightly to show heat diffusing through them");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(576, YRES+4+18), ui::Point(30, 16), "H-Gradient", "Changes colors of elements slightly to show heat diffusing through them");
|
||||
colourModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconGradient);
|
||||
tCheckbox->SetActionCallback(new ColourModeAction(this, COLOUR_GRAD));
|
||||
AddComponent(tCheckbox);
|
||||
|
||||
tCheckbox = new ui::Checkbox(ui::Point(346, YRES+4), ui::Point(30, 16), "Basic", "No special effects at all for anything, overrides all other options and deco");
|
||||
tCheckbox = new ui::Checkbox(ui::Point(576, YRES+4), ui::Point(30, 16), "Basic", "No special effects at all for anything, overrides all other options and deco");
|
||||
colourModes.push_back(tCheckbox);
|
||||
tCheckbox->SetIcon(IconBasic);
|
||||
tCheckbox->SetActionCallback(new ColourModeAction(this, COLOUR_BASC));
|
||||
@ -268,9 +341,10 @@ void RenderView::OnDraw()
|
||||
ren->RenderEnd();
|
||||
}
|
||||
g->draw_line(0, YRES, XRES-1, YRES, 200, 200, 200, 255);
|
||||
g->draw_line(130, YRES, 130, YRES+MENUSIZE, 200, 200, 200, 255);
|
||||
g->draw_line(215, YRES, 215, YRES+MENUSIZE, 200, 200, 200, 255);
|
||||
g->draw_line(300, YRES, 300, YRES+MENUSIZE, 200, 200, 200, 255);
|
||||
g->draw_line(235, YRES, 235, YRES+MENUSIZE, 200, 200, 200, 255);
|
||||
g->draw_line(360, YRES, 360, YRES+MENUSIZE, 200, 200, 200, 255);
|
||||
g->draw_line(445, YRES, 445, YRES+MENUSIZE, 200, 200, 200, 255);
|
||||
g->draw_line(530, YRES, 530, YRES+MENUSIZE, 200, 200, 200, 255);
|
||||
g->draw_line(XRES, 0, XRES, YRES+MENUSIZE, 255, 255, 255, 255);
|
||||
if(toolTipPresence && toolTip.length())
|
||||
{
|
||||
@ -288,6 +362,16 @@ void RenderView::OnTick(float dt)
|
||||
}
|
||||
}
|
||||
|
||||
void RenderView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool alt)
|
||||
{
|
||||
if (shift && key == '1')
|
||||
c->LoadRenderPreset(10);
|
||||
else if(key >= '0' && key <= '9')
|
||||
{
|
||||
c->LoadRenderPreset(key-'0');
|
||||
}
|
||||
}
|
||||
|
||||
void RenderView::ToolTip(ui::Component * sender, ui::Point mousePosition, std::string toolTip)
|
||||
{
|
||||
this->toolTip = toolTip;
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "RenderModel.h"
|
||||
#include "graphics/Renderer.h"
|
||||
#include "interface/Checkbox.h"
|
||||
#include "interface/Button.h"
|
||||
|
||||
class RenderController;
|
||||
class RenderModel;
|
||||
@ -30,6 +31,7 @@ public:
|
||||
class RenderModeAction;
|
||||
class DisplayModeAction;
|
||||
class ColourModeAction;
|
||||
class RenderPresetAction;
|
||||
RenderView();
|
||||
void NotifyRendererChanged(RenderModel * sender);
|
||||
void NotifyRenderChanged(RenderModel * sender);
|
||||
@ -39,6 +41,7 @@ public:
|
||||
void OnMouseDown(int x, int y, unsigned button);
|
||||
virtual void OnDraw();
|
||||
virtual void OnTick(float dt);
|
||||
virtual void OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool alt);
|
||||
virtual void ToolTip(ui::Component * sender, ui::Point mousePosition, std::string toolTip);
|
||||
virtual ~RenderView();
|
||||
};
|
||||
|
Reference in New Issue
Block a user