[NTOS:INBV] Classify the bitmap resources. (#1649)
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 6 Jul 2019 22:33:06 +0000 (00:33 +0200)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sun, 14 Jul 2019 20:23:48 +0000 (22:23 +0200)
See "How to change Windows XP boot logo" at
http://www.reversing.be/article.php?story=20061209171938444
as well as the "Boot Editor for WinXP" program for more details.

ntoskrnl/inbv/inbv.c
ntoskrnl/include/resource.h
ntoskrnl/ntoskrnl.rc
ntoskrnl/po/poshtdwn.c

index c1ece52..295ffac 100644 (file)
@@ -1048,7 +1048,7 @@ DisplayBootBitmap(IN BOOLEAN TextMode)
 
 #ifdef INBV_ROTBAR_IMPLEMENTED
             /* Server product, use appropriate status bar color */
-            Bar = InbvGetResourceAddress(IDB_BAR_SERVER);
+            Bar = InbvGetResourceAddress(IDB_BAR_DEFAULT);
 #endif
         }
 #else
index 2f7c22b..bb400bb 100644 (file)
@@ -1,26 +1,44 @@
 #pragma once
 
+/*
+ * List of all the bitmap overlay resources present in the NT kernel
+ * of Windows XP, Windows Server 2003 and their variations.
+ * See "How to change Windows XP boot logo" at
+ * http://www.reversing.be/article.php?story=20061209171938444
+ * as well as the "Boot Editor for WinXP" program for more details.
+ */
+
 #define IDB_BOOT_SCREEN     1
 #define IDB_HIBERNATE_BAR   2
 #define IDB_SHUTDOWN_MSG    3
-#define IDB_DEFAULT_LOGO    5
+#define IDB_BAR_DEFAULT     4
+#define IDB_LOGO_DEFAULT    5
+
 #define IDB_WKSTA_HEADER    6
 #define IDB_WKSTA_FOOTER    7
 
-#define IDB_BAR_SERVER      4
 #define IDB_BAR_WKSTA       8
 #define IDB_BAR_HOME        9
-#define IDB_ROTATING_LINE   19
-
-#define IDB_PROF_TEXT       10
-#define IDB_HOME_TEXT       11
-#define IDB_EMBEDDED_TEXT   12
-#define IDB_MCE_TEXT        18
 
 #define IDB_SERVER_LOGO     13
 #define IDB_SERVER_HEADER   14
 #define IDB_SERVER_FOOTER   15
-#define IDB_STORAGE_SERVER  16
-#define IDB_CLUSTER_SERVER  17
+
+/* Workstation editions Overlays */
+#define IDB_TEXT_PROF       10  // Professional
+#define IDB_TEXT_HOME       11  // Home Edition
+#define IDB_TEXT_EMBEDDED   12  // Embedded
+#define IDB_TEXT_SVRFAMILY  13  // Server Family
+#define IDB_TEXT_DOTNET     16  // .NET 2003
+#define IDB_TEXT_TABLETPC   17  // Tablet PC Edition
+#define IDB_TEXT_MEDIACTR   18  // Media Center Edition
+
+/* Server editions Overlays */
+#define IDB_STORAGE_SERVER  16  // Storage Server
+#define IDB_CLUSTER_SERVER  17  // Compute Cluster Edition
+#define IDB_STORAGE_SERVER2 18
+
+/* ReactOS additions */
+#define IDB_ROTATING_LINE   19
 
 #define IDB_MAX_RESOURCE    IDB_ROTATING_LINE
index dbe2cac..0a01fe3 100644 (file)
 IDB_BOOT_SCREEN     BITMAP "inbv/logo/1.bmp"
 IDB_HIBERNATE_BAR   BITMAP "inbv/logo/2.bmp"
 IDB_SHUTDOWN_MSG    BITMAP "inbv/logo/3.bmp"
-IDB_BAR_SERVER      BITMAP "inbv/logo/4.bmp"
-IDB_DEFAULT_LOGO    BITMAP "inbv/logo/5.bmp"
+IDB_BAR_DEFAULT     BITMAP "inbv/logo/4.bmp"
+IDB_LOGO_DEFAULT    BITMAP "inbv/logo/5.bmp"
 IDB_WKSTA_HEADER    BITMAP "inbv/logo/6.bmp"
 IDB_WKSTA_FOOTER    BITMAP "inbv/logo/7.bmp"
 IDB_BAR_WKSTA       BITMAP "inbv/logo/8.bmp"
 IDB_SERVER_LOGO     BITMAP "inbv/logo/5.bmp"
 IDB_SERVER_HEADER   BITMAP "inbv/logo/14.bmp"
 IDB_SERVER_FOOTER   BITMAP "inbv/logo/15.bmp"
+
+/* ReactOS additions */
 IDB_ROTATING_LINE   BITMAP "inbv/logo/line.bmp"
index dd9bcc2..17adbc2 100644 (file)
@@ -165,7 +165,7 @@ PopShutdownHandler(VOID)
 
         /* Display shutdown logo and message */
         Logo1 = InbvGetResourceAddress(IDB_SHUTDOWN_MSG);
-        Logo2 = InbvGetResourceAddress(IDB_DEFAULT_LOGO);
+        Logo2 = InbvGetResourceAddress(IDB_LOGO_DEFAULT);
         if ((Logo1) && (Logo2))
         {
             InbvBitBlt(Logo1, 220, 352);