Modifier keys for Lua, Air display, correct render mode saving

This commit is contained in:
Simon Robertshaw 2012-04-05 13:48:50 +01:00
parent ea51cde1f0
commit 8f8de875c6
5 changed files with 28 additions and 9 deletions

View File

@ -7,6 +7,7 @@
#include <math.h>
#include <iostream>
#include <vector>
#include "Config.h"
#include "Renderer.h"
#include "Graphics.h"
@ -1611,6 +1612,8 @@ void Renderer::draw_grav()
void Renderer::draw_air()
{
#ifndef OGLR
if(!(display_mode & DISPLAY_AIR))
return;
int x, y, i, j;
float (*pv)[XRES/CELL] = sim->air->pv;
float (*hv)[XRES/CELL] = sim->air->hv;

View File

@ -242,12 +242,26 @@ bool LuaScriptInterface::OnMouseWheel(int x, int y, int d)
bool LuaScriptInterface::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool alt)
{
return luacon_keyevent(key, /*TODO: sdl_mod*/0, LUACON_KDOWN);
int modifiers;
if(shift)
modifiers |= 0x001;
if(ctrl)
modifiers |= 0x040;
if(alt)
modifiers |= 0x100;
return luacon_keyevent(key, modifiers, LUACON_KDOWN);
}
bool LuaScriptInterface::OnKeyRelease(int key, Uint16 character, bool shift, bool ctrl, bool alt)
{
return luacon_keyevent(key, /*TODO: sdl_mod*/0, LUACON_KUP);
int modifiers;
if(shift)
modifiers |= 0x001;
if(ctrl)
modifiers |= 0x040;
if(alt)
modifiers |= 0x100;
return luacon_keyevent(key, modifiers, LUACON_KUP);
}
void LuaScriptInterface::OnTick()

View File

@ -126,14 +126,14 @@ GameModel::~GameModel()
{
Client::Ref().configDocument["Renderer"]["ColourMode"] = json::Number(ren->GetColourMode());
((json::Array)Client::Ref().configDocument["Renderer"]["DisplayModes"]).Clear();
Client::Ref().configDocument["Renderer"]["DisplayModes"] = json::Array();
std::vector<unsigned int> displayModes = ren->GetDisplayMode();
for (int i = 0; i < displayModes.size(); i++)
{
Client::Ref().configDocument["Renderer"]["DisplayModes"][i] = json::Number(displayModes[i]);
}
((json::Array)Client::Ref().configDocument["Renderer"]["RenderModes"]).Clear();
Client::Ref().configDocument["Renderer"]["RenderModes"] = json::Array();
std::vector<unsigned int> renderModes = ren->GetRenderMode();
for (int i = 0; i < renderModes.size(); i++)
{

View File

@ -840,6 +840,7 @@ void GameView::OnDraw()
if(ren)
{
Graphics * g = ui::Engine::Ref().g;
ren->draw_air();
ren->render_parts();
ren->render_fire();
ren->DrawWalls();

View File

@ -232,15 +232,16 @@ void RenderView::OnDraw()
{
Graphics * g = ui::Engine::Ref().g;
g->clearrect(0, 0, XRES, YRES+MENUSIZE);
if(ren)
{
ren->draw_air();
ren->render_parts();
ren->render_fire();
}
g->draw_line(0, YRES, XRES-1, YRES, 255, 255, 255, XRES+BARSIZE);
g->draw_line(180, YRES, 180, YRES+MENUSIZE, 200, 200, 200, XRES+BARSIZE);
g->draw_line(480, YRES, 480, YRES+MENUSIZE, 200, 200, 200, XRES+BARSIZE);
g->draw_line(XRES-1, 0, XRES-1, YRES+MENUSIZE, 255, 255, 255, XRES+BARSIZE);
if(ren)
{
ren->render_parts();
ren->render_fire();
}
}
RenderView::~RenderView() {