NO_STAGEBG config trigger
This commit is contained in:
parent
9241b3eb35
commit
c25566346e
5 changed files with 20 additions and 5 deletions
|
@ -32,7 +32,9 @@ enum {
|
|||
FULLSCREEN,
|
||||
|
||||
NO_SHADER,
|
||||
NO_AUDIO
|
||||
NO_AUDIO,
|
||||
|
||||
NO_STAGEBG
|
||||
};
|
||||
|
||||
void parse_config(char *filename);
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
|
||||
"disable_shader" { yylval = NO_SHADER; return tNO_SHADER; }
|
||||
"disable_audio" {yylval = NO_AUDIO; return tNO_AUDIO; }
|
||||
"disable_stagebg" { yylval = NO_STAGEBG; return tNO_STAGEBG; }
|
||||
|
||||
"shift" { yylval = SDLK_LSHIFT; return SKEY; }
|
||||
"ctrl" { yylval = SDLK_LCTRL; return SKEY; }
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
|
||||
%token tNO_SHADER
|
||||
%token tNO_AUDIO
|
||||
%token tNO_STAGEBG
|
||||
|
||||
%token SKEY
|
||||
|
||||
|
@ -84,7 +85,8 @@ key_key : tKEY_UP
|
|||
| tKEY_SCREENSHOT
|
||||
| tNO_SHADER
|
||||
| tNO_AUDIO
|
||||
| tFULLSCREEN;
|
||||
| tFULLSCREEN
|
||||
| tNO_STAGEBG;
|
||||
|
||||
nl : LB { lineno++; };
|
||||
%%
|
||||
|
@ -133,4 +135,6 @@ void config_preset() {
|
|||
|
||||
tconfig.intval[NO_SHADER] = 0;
|
||||
tconfig.intval[NO_AUDIO] = 0;
|
||||
|
||||
tconfig.intval[NO_STAGEBG] = 0;
|
||||
}
|
||||
|
|
|
@ -315,6 +315,11 @@ void create_options_menu(MenuData *m) {
|
|||
b = bind_option(m, "disable_shader", NO_SHADER, bind_common_onoffget_inverted,
|
||||
bind_noshader_set);
|
||||
bind_onoff(b);
|
||||
|
||||
add_menu_entry(m, "Stage Background", do_nothing, NULL);
|
||||
b = bind_option(m, "disable_stagebg", NO_STAGEBG, bind_common_onoffget_inverted,
|
||||
bind_common_onoffset_inverted);
|
||||
bind_onoff(b);
|
||||
|
||||
add_menu_entry(m, " ", NULL, NULL);
|
||||
allocate_binding(m);
|
||||
|
|
|
@ -129,9 +129,9 @@ void stage_draw(StageRule bgdraw, ShaderRule *shaderrules, int time) {
|
|||
glTranslatef(-(VIEWPORT_X+VIEWPORT_W/2.0), -(VIEWPORT_Y+VIEWPORT_H/2.0),0);
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
|
||||
if(!global.menu)
|
||||
if(!global.menu && !tconfig.intval[NO_STAGEBG])
|
||||
bgdraw();
|
||||
|
||||
|
||||
glPopMatrix();
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||
|
||||
|
@ -234,7 +234,7 @@ void apply_bg_shaders(ShaderRule *shaderrules) {
|
|||
glPopMatrix();
|
||||
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||
} else {
|
||||
} else if(!tconfig.intval[NO_STAGEBG]) {
|
||||
for(i = 0; shaderrules != NULL && shaderrules[i] != NULL; i++) {
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, resources.fbg[!fbonum].fbo);
|
||||
shaderrules[i](fbonum);
|
||||
|
@ -357,6 +357,9 @@ void stage_loop(StageRule start, StageRule end, StageRule draw, StageRule event,
|
|||
|
||||
SDL_GL_SwapBuffers();
|
||||
frame_rate(&global.lasttime);
|
||||
|
||||
if(global.fps.fps <= 40)
|
||||
tconfig.intval[NO_STAGEBG] = 1;
|
||||
}
|
||||
|
||||
end();
|
||||
|
|
Loading…
Reference in a new issue