static RGBQUAD _MainPalette[16];
#define PALETTE_FADE_STEPS 15
-#define PALETTE_FADE_TIME 20 * 10000 /* 20ms */
+#define PALETTE_FADE_TIME 20 * 1000 /* 20ms */
/** From bootvid/precomp.h **/
//
LPRGBQUAD Palette = (LPRGBQUAD)(PaletteBitmapBuffer + sizeof(BITMAPINFOHEADER));
ULONG Iteration, Index, ClrUsed;
- LARGE_INTEGER Interval;
-
- Interval.QuadPart = -PALETTE_FADE_TIME;
/* Check if we're installed and we own it */
if ((InbvBootDriverInstalled) &&
ClrUsed = sizeof(_MainPalette) / sizeof(_MainPalette[0]);
RtlZeroMemory(PaletteBitmap, sizeof(BITMAPINFOHEADER));
PaletteBitmap->biSize = sizeof(BITMAPINFOHEADER);
- PaletteBitmap->biBitCount = 4;
+ PaletteBitmap->biBitCount = 4;
PaletteBitmap->biClrUsed = ClrUsed;
/*
{
for (Index = 0; Index < ClrUsed; Index++)
{
- Palette[Index].rgbRed =
- _MainPalette[Index].rgbRed * Iteration / PALETTE_FADE_STEPS;
- Palette[Index].rgbGreen =
- _MainPalette[Index].rgbGreen * Iteration / PALETTE_FADE_STEPS;
- Palette[Index].rgbBlue =
- _MainPalette[Index].rgbBlue * Iteration / PALETTE_FADE_STEPS;
+ Palette[Index].rgbRed = (UCHAR)
+ (_MainPalette[Index].rgbRed * Iteration / PALETTE_FADE_STEPS);
+ Palette[Index].rgbGreen = (UCHAR)
+ (_MainPalette[Index].rgbGreen * Iteration / PALETTE_FADE_STEPS);
+ Palette[Index].rgbBlue = (UCHAR)
+ (_MainPalette[Index].rgbBlue * Iteration / PALETTE_FADE_STEPS);
}
VidBitBlt(PaletteBitmapBuffer, 0, 0);
/* Wait for a bit. */
- KeDelayExecutionThread(KernelMode, FALSE, &Interval);
+ KeStallExecutionProcessor(PALETTE_FADE_TIME);
}
/* Release the lock */
InbvReleaseLock();
/* Wait for a bit. */
- KeDelayExecutionThread(KernelMode, FALSE, &Interval);
+ KeStallExecutionProcessor(PALETTE_FADE_TIME);
}
}
{
/* Now reset the display, but only if there's a custom boot logo */
VidResetDisplay(CustomLogo);
-
+
/* Find bitmap resources in the kernel */
ResourceCount = min(IDB_CLUSTER_SERVER, Count);
for (i = 1; i <= Count; i++)
InbvAcquireLock();
/* Make sure we're installed and display the string */
- if (InbvBootDriverInstalled) VidDisplayString((PUCHAR) String);
+ if (InbvBootDriverInstalled) VidDisplayString((PUCHAR)String);
/* Print the string on the EMS port */
HeadlessDispatch(HeadlessCmdPutString,
NTAPI
InbvSetScrollRegion(IN ULONG Left,
IN ULONG Top,
- IN ULONG Width,
- IN ULONG Height)
+ IN ULONG Right,
+ IN ULONG Bottom)
{
/* Just call bootvid */
- VidSetScrollRegion(Left, Top, Width, Height);
+ VidSetScrollRegion(Left, Top, Right, Bottom);
}
VOID
NTAPI
InbvSolidColorFill(IN ULONG Left,
IN ULONG Top,
- IN ULONG Width,
- IN ULONG Height,
+ IN ULONG Right,
+ IN ULONG Bottom,
IN ULONG Color)
{
/* Make sure we own it */
if (InbvBootDriverInstalled)
{
/* Call bootvid */
- VidSolidColorFill(Left, Top, Width, Height, (UCHAR)Color);
+ VidSolidColorFill(Left, Top, Right, Bottom, (UCHAR)Color);
}
/* FIXME: Headless */
InbvSetTextColor(15);
InbvSolidColorFill(0, 0, 639, 479, 7);
InbvSolidColorFill(0, 421, 639, 479, 1);
-
+
/* Get resources */
Header = InbvGetResourceAddress(IDB_LOGO_HEADER);
Band = InbvGetResourceAddress(IDB_LOGO_BAND);
/* Normal edition */
Text = InbvGetResourceAddress(IDB_SERVER_LOGO);
}
-
+
/* Server product, display appropriate status bar color */
InbvGetResourceAddress(IDB_BAR_SERVER);
}
InbvScreenToBufferBlt(Buffer, 413, 237, 7, 7, 8);
InbvSolidColorFill(418, 230, 454, 256, 0);
InbvBufferToScreenBlt(Buffer, 413, 237, 7, 7, 8);
-
+
/* In setup mode, you haven't selected a SKU yet */
if (ExpInTextModeSetup) Text = NULL;
}
#ifdef CORE_6781_resolved
/* Draw the SKU text if it exits */
if (Text) InbvBitBlt(Text, 180, 121);
+#else
+ DBG_UNREFERENCED_LOCAL_VARIABLE(Text);
#endif
/* Draw the progress bar bit */
{
/* Remove the filter */
InbvInstallDisplayStringFilter(NULL);
-
+
DotHack = FALSE;
/* Draw text screen */