static void seq_SetUserResolution(void) { switch (war_GetFMVmode()) { case FMV_1X: { // Native (1x) const int x = (screenWidth - 320) / 2; const int y = (screenHeight - 240) / 2; seq_SetDisplaySize(320, 240, x, y); break; } case FMV_2X: { // Double (2x) const int x = (screenWidth - 640) / 2; const int y = (screenHeight - 480) / 2; seq_SetDisplaySize(640, 480, x, y); break; } case FMV_FULLSCREEN: seq_SetDisplaySize(screenWidth, screenHeight, 0, 0); break; default: ASSERT(!"invalid FMV mode", "Invalid FMV mode: %u", (unsigned int)war_GetFMVmode()); break; } }
/* displays the FLIC view for the current message */ void intDisplayFLICView(WIDGET *psWidget, UDWORD xOffset, UDWORD yOffset, WZ_DECL_UNUSED PIELIGHT *pColours) { W_TABFORM *Form = (W_TABFORM*)psWidget; MESSAGE *psMessage = (MESSAGE *)Form->pUserData; UDWORD x0,y0,x1,y1; VIEW_RESEARCH *psViewResearch; //shouldn't have any proximity messages here... if (psMessage->type == MSG_PROXIMITY) { return; } if (psMessage && psMessage->pViewData) { OpenButtonRender((UWORD)(xOffset+Form->x), (UWORD)(yOffset+Form->y), Form->width, Form->height); x0 = xOffset+Form->x; y0 = yOffset+Form->y; x1 = x0 + Form->width; y1 = y0 + Form->height; if (((VIEWDATA *)psMessage->pViewData)->type != VIEW_RES) { ASSERT( false, "intDisplayFLICView: Invalid message type" ); return; } RenderWindowFrame(FRAME_NORMAL, x0, y0, x1 - x0, y1 - y0); psViewResearch = (VIEW_RESEARCH *)((VIEWDATA *)psCurrentMsg->pViewData)->pData; // set the dimensions to window size & position seq_SetDisplaySize(192, 168, x0, y0); //render a frame of the current movie *must* force above resolution! seq_RenderVideoToBuffer(psViewResearch->sequenceName, SEQUENCE_HOLD); CloseButtonRender(); } }