void Colours_Update(void) { UpdatePalette(); #if SUPPORTS_PLATFORM_PALETTEUPDATE PLATFORM_PaletteUpdate(); #endif }
int VIDEOMODE_InitialiseDisplay(void) { /* PLATFORM_Initialise must be called earlier! */ resolutions = PLATFORM_AvailableResolutions(&resolutions_size); if (resolutions == NULL) { Log_print("Fatal error: System reports no display resolutions available"); return FALSE; } qsort(resolutions, resolutions_size, sizeof(VIDEOMODE_resolution_t), &CompareResolutions); RemoveDuplicateResolutions(); if (resolutions_size == 0) { Log_print("Fatal error: System reports no resolution higher than minimal %ux%u available", display_modes[0].min_w, display_modes[0].min_h); return FALSE; } /* Find the resolution from config file/command line in RESOLUTIONS. */ for (current_resolution = 0; current_resolution < resolutions_size; current_resolution ++) { if (resolutions[current_resolution].width >= init_fs_resolution.width && resolutions[current_resolution].height >= init_fs_resolution.height) break; } if (current_resolution >= resolutions_size) { /* No resolution found, using the biggest one. */ current_resolution = resolutions_size - 1; Log_print("Requested resolution %ux%u is too big, using %ux%u instead.", init_fs_resolution.width, init_fs_resolution.height, resolutions[current_resolution].width, resolutions[current_resolution].height); } else if (resolutions[current_resolution].width != init_fs_resolution.width || resolutions[current_resolution].height != init_fs_resolution.height) Log_print("Requested resolution %ux%u is not available, using %ux%u instead.", init_fs_resolution.width, init_fs_resolution.height, resolutions[current_resolution].width, resolutions[current_resolution].height); /* Autodetect host display aspect ratio if requested. */ if (VIDEOMODE_host_aspect_ratio_w == 0.0 || VIDEOMODE_host_aspect_ratio_h == 0.0) AutodetectHostAspect(&VIDEOMODE_host_aspect_ratio_w, &VIDEOMODE_host_aspect_ratio_h); UpdateTvSystemSettings(); if (!VIDEOMODE_Update()) { Log_print("Fatal error: Cannot initialise video"); return FALSE; } #if SUPPORTS_PLATFORM_PALETTEUPDATE PLATFORM_PaletteUpdate(); #endif return TRUE; }