Modifier keys for Lua, Air display, correct render mode saving
This commit is contained in:
parent
ea51cde1f0
commit
8f8de875c6
@ -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;
|
||||
|
@ -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()
|
||||
|
@ -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++)
|
||||
{
|
||||
|
@ -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();
|
||||
|
@ -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() {
|
||||
|
Reference in New Issue
Block a user