Backport the new boot and shutdown screen and slightly modify it for extra awesomenes...
authorColin Finck <colin@reactos.org>
Wed, 10 Mar 2010 14:25:05 +0000 (14:25 +0000)
committerColin Finck <colin@reactos.org>
Wed, 10 Mar 2010 14:25:05 +0000 (14:25 +0000)
This includes:
- Merging 45269,45270,45614,45618,45619,45822,45966.
- Hardcoding NtProductWinNt instead of NtProductServer as the product type. I didn't merge the new code for this as I'm not sure about its dependencies.
- Changing 1.bmp and 6.bmp for CLT2010.

svn path=/branches/ros-branch-0_3_11-clt2010/; revision=46055

1  2 
reactos/include/ddk/wdm.h
reactos/ntoskrnl/inbv/inbv.c
reactos/ntoskrnl/inbv/logo/1.bmp
reactos/ntoskrnl/inbv/logo/6.bmp
reactos/ntoskrnl/include/internal/inbv.h
reactos/ntoskrnl/include/precomp.h
reactos/ntoskrnl/mm/mminit.c

Simple merge
@@@ -415,31 -397,22 +397,22 @@@ InbvUpdateProgressBar(IN ULONG Progress
          (InbvBootDriverInstalled) &&
          (InbvDisplayState == INBV_DISPLAY_STATE_OWNED))
      {
-         /* Calculate the fill count */
-         FillCount = InbvProgressState.Bias * Progress + InbvProgressState.Floor;
-         FillCount *= 18;
-         FillCount /= 10000;
+         /* Compute fill count */
+         BoundedProgress = (InbvProgressState.Floor / 100) + Progress;
+         FillCount = 121 * (InbvProgressState.Bias * BoundedProgress) / 1000000;
  
-         /* Start fill loop */
-         while (FillCount)
-         {
-             /* Acquire the lock */
-             InbvAcquireLock();
-             /* Fill the progress bar */
-             VidSolidColorFill(Left + ProgressBarLeft,
-                               ProgressBarTop,
-                               Left + ProgressBarLeft + 7,
-                               ProgressBarTop + 7,
-                               11);
-             /* Release the lock */
-             InbvReleaseLock();
-             /* Update the X position */
-             Left += 9;
-             FillCount--;
-         }
+         /* Acquire the lock */
+         InbvAcquireLock();
+         /* Fill the progress bar */
+         VidSolidColorFill(ProgressBarLeft,
+                           ProgressBarTop,
+                           ProgressBarLeft + FillCount,
+                           ProgressBarTop + 12,
 -                          11);
++                          15);
+         /* Release the lock */
+         InbvReleaseLock();
      }
  }
  
index a2b5939,d13c48d..d4b7d69
Binary files differ
index a8cafc5,0834411..7a4f465
Binary files differ
@@@ -45,8 -51,24 +52,28 @@@ FinalizeBootLogo
      VOID
  );
  
+ PUCHAR
+ NTAPI
+ InbvGetResourceAddress(
+     IN ULONG ResourceNumber
+ );
+ VOID
+ NTAPI
+ InbvBitBlt(
+     IN PUCHAR Buffer,
+     IN ULONG X,
+     IN ULONG Y
+ );
+ VOID
+ NTAPI
+ InbvIndicateProgress(
+     VOID
+ );
+            
  extern BOOLEAN InbvBootDriverInstalled;
 +
 +#endif /* NTOSKRNL_INBV_H */
 +
 +
index 8974e9b,0000000..baa405d
mode 100644,000000..100644
--- /dev/null
@@@ -1,93 -1,0 +1,94 @@@
 +/*
 + * COPYRIGHT:       See COPYING in the top level directory
 + * PROJECT:         ReactOS Kernel
 + * FILE:            ntoskrnl/include/ntoskrnl.h
 + * PURPOSE:         Main Kernel Header
 + * PROGRAMMER:      Alex Ionescu (alex@relsoft.net)
 + */
 +
 +/* INCLUDES ******************************************************************/
 +
 +/* Version Data */
 +#undef __MSVCRT__
 +#include <psdk/ntverp.h>
 +
 +/* DDK/IFS/NDK Headers */
 +#define _REALLY_GET_CALLERS_CALLER
 +#include <excpt.h>
 +#include <ntdef.h>
 +#undef DECLSPEC_IMPORT
 +#define DECLSPEC_IMPORT
 +#include <ntifs.h>
 +#include <wdmguid.h>
 +#include <arc/arc.h>
 +#undef NTHALAPI
 +#define NTHALAPI __declspec(dllimport)
 +#include <ntndk.h>
 +#undef TEXT
 +#define TEXT(s) L##s
 +#include <regstr.h>
 +
 +/* FIXME: Temporary until Winldr is used */
 +#include <rosldr.h>
 +
 +/* C Headers */
 +#include <stdlib.h>
 +#include <stdio.h>
 +#include <ctype.h>
 +#include <malloc.h>
 +#include <wchar.h>
 +
 +/* SEH support with PSEH */
 +#include <pseh/pseh2.h>
 +
 +/* ReactOS Headers */
 +#include <reactos/buildno.h>
 +#include <reactos/bugcodes.h>
 +
 +/* SetupLDR Support */
 +#include <arc/setupblk.h>
 +
 +/* KD Support */
 +#define NOEXTAPI
 +#include <windbgkd.h>
 +#include <wdbgexts.h>
 +#include <kddll.h>
 +#ifndef _WINKD_
 +#include <reactos/rossym.h>
 +#endif
 +
 +/* PNP GUIDs */
 +#include <umpnpmgr/sysguid.h>
 +
 +/* Internal Headers */
 +#include "internal/ntoskrnl.h"
 +#include "config.h"
++#include "resource.h"
 +
 +//
 +// Define the internal versions of external and public global data
 +//
 +#define IoFileObjectType                _IoFileObjectType
 +#define PsThreadType                    _PsThreadType
 +#define PsProcessType                   _PsProcessType
 +#define ExEventObjectType               _ExEventObjectType
 +#define ExSemaphoreObjectType           _ExSemaphoreObjectType
 +#define KdDebuggerEnabled               _KdDebuggerEnabled
 +#define KdDebuggerNotPresent            _KdDebuggerNotPresent
 +#define NlsOemLeadByteInfo              _NlsOemLeadByteInfo
 +extern PUSHORT _NlsOemLeadByteInfo;
 +#define FsRtlLegalAnsiCharacterArray    _FsRtlLegalAnsiCharacterArray
 +#undef LEGAL_ANSI_CHARACTER_ARRAY
 +#undef NLS_MB_CODE_PAGE_TAG
 +#undef NLS_OEM_LEAD_BYTE_INFO
 +#define LEGAL_ANSI_CHARACTER_ARRAY      FsRtlLegalAnsiCharacterArray
 +#define NLS_MB_CODE_PAGE_TAG            NlsMbOemCodePageTag
 +#define NLS_OEM_LEAD_BYTE_INFO          _NlsOemLeadByteInfo
 +#undef KD_DEBUGGER_ENABLED
 +#undef KD_DEBUGGER_NOT_PRESENT
 +#define KD_DEBUGGER_ENABLED             KdDebuggerEnabled
 +#define KD_DEBUGGER_NOT_PRESENT         KdDebuggerNotPresent
 +#define HalDispatchTable                _HalDispatchTable
 +#undef HALDISPATCH
 +#define HALDISPATCH                     (&HalDispatchTable)
 +#define ExRaiseStatus RtlRaiseStatus
@@@ -477,14 -407,6 +477,14 @@@ MmInitSystem(IN ULONG Phase
  
          /* Initialize the loaded module list */
          MiInitializeLoadedModuleList(LoaderBlock);
-         /* For now, we assume that we're always Server */
-         SharedUserData->NtProductType = NtProductServer;
 +
 +        /* Setup shared user data settings that NT does as well */
 +        ASSERT(SharedUserData->NumberOfPhysicalPages == 0);
 +        SharedUserData->NumberOfPhysicalPages = MmNumberOfPhysicalPages;
 +        SharedUserData->LargePageMinimum = 0;
 +        
++        /* 0.3.11-CLT2010 backport: Assume that we're always a workstation! */
++        SharedUserData->NtProductType = NtProductWinNt;
      }
      else if (Phase == 1)
      {