Common update:
-added VBo batch rendering (current default, no render mode switch yet) -fixed camera positioning calculation -fixed buffer issue with WebGL -added viewport scalling (at least 300 pixels height). Pixels are scalled if screen is bigger. -center demos gameplay area -added fullpage html template for Emscripten build
This commit is contained in:
parent
7c263d3ed4
commit
8381ac166b
7 changed files with 61 additions and 40 deletions
|
|
@ -51,6 +51,7 @@ struct Launcher
|
|||
void function() end;
|
||||
void function(SDL_Event*) event;
|
||||
void function(vec2, Tool, int) tool;
|
||||
float scalling;
|
||||
ivec2 window_size = ivec2(1024,768);
|
||||
Renderer renderer;
|
||||
ubyte[] keys;
|
||||
|
|
@ -60,6 +61,7 @@ struct Launcher
|
|||
ulong timer_freq;
|
||||
double delta_time;
|
||||
uint fps;
|
||||
vec2 render_position;
|
||||
|
||||
Tool used_tool;
|
||||
int tool_size = 0;
|
||||
|
|
@ -229,7 +231,7 @@ void mainLoop(void* arg)
|
|||
}
|
||||
if(launcher.tool && event.button.button == SDL_BUTTON_LEFT && launcher.tool_repeat == 0 && !igIsWindowHovered(ImGuiHoveredFlags_AnyWindow))
|
||||
{
|
||||
launcher.tool(vec2(event.button.x, launcher.window_size.y - event.button.y), launcher.used_tool, launcher.tool_size);
|
||||
launcher.tool(vec2(event.button.x, launcher.window_size.y - event.button.y) * launcher.scalling - launcher.render_position, launcher.used_tool, launcher.tool_size);
|
||||
}
|
||||
}
|
||||
else if(event.type == SDL_MOUSEBUTTONUP)
|
||||
|
|
@ -255,7 +257,7 @@ void mainLoop(void* arg)
|
|||
while(launcher.repeat_time > range)
|
||||
{
|
||||
launcher.repeat_time -= range;
|
||||
launcher.tool(launcher.mouse.position, launcher.used_tool, launcher.tool_size);
|
||||
launcher.tool((launcher.mouse.position*launcher.scalling)-launcher.render_position, launcher.used_tool, launcher.tool_size);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -525,7 +527,14 @@ void mainLoop(void* arg)
|
|||
}
|
||||
|
||||
launcher.renderer.resize(launcher.window_size);
|
||||
launcher.renderer.view(vec2(0,0),vec2(launcher.window_size.x,launcher.window_size.y));
|
||||
//launcher.renderer.view(vec2(0,0),vec2(launcher.window_size.x,launcher.window_size.y));
|
||||
//if(384, 768, 1152, 1536)
|
||||
//576 960 1344 1728
|
||||
//float scalling;
|
||||
if(launcher.window_size.y < 360)launcher.scalling = 1;
|
||||
else launcher.scalling = 1.0 / ((launcher.window_size.y+120)/360);
|
||||
launcher.renderer.view(launcher.render_position,vec2(launcher.window_size.x,launcher.window_size.y)*launcher.scalling);
|
||||
//launcher.renderer.view(vec2(0,0),vec2(1024*launcher.window_size.x/launcher.window_size.y,768));
|
||||
//glClear(GL_COLOR_BUFFER_BIT);
|
||||
launcher.renderer.clear();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue