Mercurial > hg > dmlib
diff ppl.c @ 179:b29c9a2fbeb5
Add full screen switching to PPL via 'f' key, and various other
improvements.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sat, 06 Oct 2012 12:28:53 +0300 |
parents | dfe7e392ea7e |
children | 9024d249e47a |
line wrap: on
line diff
--- a/ppl.c Sat Oct 06 12:21:31 2012 +0300 +++ b/ppl.c Sat Oct 06 12:28:53 2012 +0300 @@ -42,7 +42,7 @@ optOutChannels = 2, optOutFreq = 48000, optMuteOChannels = -1, - optStartOrder = -1; + optStartOrder = 0; BOOL optUsePlayTime = FALSE; size_t optPlayTime; @@ -227,6 +227,8 @@ BOOL dmInitializeVideo() { + SDL_FreeSurface(engine.screen); + engine.screen = SDL_SetVideoMode( engine.optScrWidth, engine.optScrHeight, engine.optScrDepth, engine.optVFlags | SDL_RESIZABLE | SDL_SWSURFACE | SDL_HWPALETTE); @@ -655,7 +657,7 @@ jvmSetCallback(engine.dev, jmpExec, engine.plr); jmpSetModule(engine.plr, engine.mod); - jmpPlayOrder(engine.plr, 0); + jmpPlayOrder(engine.plr, optStartOrder); jvmSetGlobalVol(engine.dev, 100); // Initialize video @@ -728,6 +730,12 @@ force = TRUE; break; + case SDLK_f: + engine.optVFlags ^= SDL_FULLSCREEN; + if (!dmInitializeVideo()) + goto error_exit; + break; + default: break; } @@ -782,8 +790,9 @@ { dmFillRect(engine.screen, 5, 5 + 12, engine.screen->w, 5 + 12 + 10, col.boxBg); dmDrawBMTextQ(engine.screen, font, DMD_TRANSPARENT, 5, 5 + 12, - "Tempo: %3d | Speed: %3d | Row: %3d | Order: %3d/%3d | Pattern: %3d/%3d", - engine.plr->tempo, engine.plr->speed, engine.plr->row, + "Tempo: %3d | Speed: %3d | Row: %3d/%-3d | Order: %3d/%-3d | Pattern: %3d/%-3d", + engine.plr->tempo, engine.plr->speed, + engine.plr->row, engine.plr->pattern->nrows, engine.plr->order, engine.mod->norders, engine.plr->npattern, engine.mod->npatterns); }