diff --git a/src/intermission/intermission.cpp b/src/intermission/intermission.cpp index 0c75575cd3..556f915638 100644 --- a/src/intermission/intermission.cpp +++ b/src/intermission/intermission.cpp @@ -612,6 +612,17 @@ void DIntermissionScreenScroller::Init(FIntermissionAction *desc, bool first) mScrollDir = static_cast(desc)->mScrollDir; } +int DIntermissionScreenScroller::Responder (event_t *ev) +{ + int res = Super::Responder(ev); + if (res == -1) + { + mBackground = mSecondPic; + mTicker = mScrollDelay + mScrollTime; + } + return res; +} + void DIntermissionScreenScroller::Drawer () { FTexture *tex = TexMan[mFirstPic]; diff --git a/src/intermission/intermission.h b/src/intermission/intermission.h index 1035bd8f37..ee316c3493 100644 --- a/src/intermission/intermission.h +++ b/src/intermission/intermission.h @@ -268,6 +268,7 @@ public: DIntermissionScreenScroller() {} virtual void Init(FIntermissionAction *desc, bool first); + virtual int Responder (event_t *ev); virtual void Drawer (); }; diff --git a/src/menu/readthis.cpp b/src/menu/readthis.cpp index 388dca716a..197981ad36 100644 --- a/src/menu/readthis.cpp +++ b/src/menu/readthis.cpp @@ -98,19 +98,13 @@ void DReadThisMenu::Drawer() prevpic = TexMan[gameinfo.infoPages[mScreen-2].GetChars()]; } + screen->Dim(0, 1.0, 0,0, SCREENWIDTH, SCREENHEIGHT); alpha = MIN (Scale (gametic - mInfoTic, OPAQUE, TICRATE/3), OPAQUE); if (alpha < OPAQUE && prevpic != NULL) { - screen->DrawTexture (prevpic, 0, 0, - DTA_DestWidth, screen->GetWidth(), - DTA_DestHeight, screen->GetHeight(), - TAG_DONE); + screen->DrawTexture (prevpic, 0, 0, DTA_Fullscreen, true, TAG_DONE); } - screen->DrawTexture (tex, 0, 0, - DTA_DestWidth, screen->GetWidth(), - DTA_DestHeight, screen->GetHeight(), - DTA_Alpha, alpha, - TAG_DONE); + screen->DrawTexture (tex, 0, 0, DTA_Fullscreen, true, DTA_Alpha, alpha, TAG_DONE); }