diff --git a/src/main.c b/src/main.c --- a/src/main.c +++ b/src/main.c @@ -36,6 +36,17 @@ #include "profile.h" #include "game.h" +#ifdef __EMSCRIPTEN__ +#include + +/* Chamado pela pagina quando a aba some ou fecha: o jogo so grava as opcoes ao sair. */ +EMSCRIPTEN_KEEPALIVE void fredygames_save(void) +{ + configSave(); + profileSave(); +} +#endif + // timer -- timer.c // extern struct timeb t_c, t_lc; // quit game quickly ? // @@ -151,9 +162,12 @@ M_Add(new, ME_CrtSub(_("Back"), _main)); // graphics // M_Add(gfx, ME_CrtSw2(_("Animations:"), &config.animations, _("Off"), _("On"))); +#ifndef __EMSCRIPTEN__ + /* no navegador a pagina cuida do tamanho e da tela cheia */ e = ME_CrtSw2(_("Fullscreen:"), &config.fullscreen, _("Off"), _("On")); e->cb = handleFullscreenChange; M_Add(gfx, e); +#endif M_Add(gfx, ME_CrtSw2(_("Dim Effect:"), &config.dim, _("Off"), _("On"))); M_Add(gfx, ME_CrtSep("")); M_Add(gfx, ME_CrtSub(_("Back"), _main)); diff --git a/src/sdl.c b/src/sdl.c --- a/src/sdl.c +++ b/src/sdl.c @@ -694,9 +694,18 @@ */ void Sdl_StVdMd(int vres) { - int cdidx = sdlGetDisplayId(); + int cdidx; int ww, wh; /* window size */ +#ifdef __EMSCRIPTEN__ + /* no navegador a janela e o canvas da pagina, sempre 640x480 (a pagina escala); a tecla F + * nao muda nada */ + if (window) + return; + vres = 480; +#endif + cdidx = sdlGetDisplayId(); + /* reset viewport */ viewport.x = 0; viewport.y = 0;