diff --git a/src/soft/render.c b/src/soft/render.c
index aaaea63749ccb2f9d8c947794fa4dd212601cb53..bda872709396df868677befde09a226678e5b2b4 100644 (file)
--- a/src/soft/render.c
+++ b/src/soft/render.c
assert(w > 0);
assert(h > 0);
int was = Y_videomode_setted();
- int res = Y_set_videomode(w, h, fullscreen ? SYSTEM_USE_FULLSCREEN : 0);
+ int res = Y_set_videomode_software(w, h, fullscreen);
if (res == 0) {
if (was == 0) {
ERR_failinit("Unable to set video mode");
}
} else {
- SCRW = w;
- SCRH = h;
- Y_get_buffer(&buffer, &buf_w, &buf_h, &pitch);
+ Y_get_videomode(&SCRW, &SCRH);
+ V_update_buffer();
+ R_setgamma(gammaa);
}
}
void R_toggle_fullscreen (void) {
Y_set_fullscreen(!Y_get_fullscreen());
fullscreen = Y_get_fullscreen();
+ Y_get_videomode(&SCRW, &SCRH);
+ V_update_buffer();
+ R_setgamma(gammaa);
}
void R_init () {
F_loadres(F_getresid("MIXMAP"), mixmap, 0, 0x10000);
F_loadres(F_getresid("COLORMAP"), clrmap, 0, 256*12);
R_set_videomode(SCRW, SCRH, fullscreen);
- R_setgamma(gammaa);
V_setrect(0, SCRW, 0, SCRH);
V_clr(0, SCRW, 0, SCRH, 0);
R_alloc();