https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a3e22b99a4577c6c2651cddf01a96899d519f3a1

commit a3e22b99a4577c6c2651cddf01a96899d519f3a1
Author:     Hermès Bélusca-Maïto <[email protected]>
AuthorDate: Sun Jul 7 00:33:06 2019 +0200
Commit:     Hermès Bélusca-Maïto <[email protected]>
CommitDate: Sun Jul 14 22:23:48 2019 +0200

    [NTOS:INBV] Classify the bitmap resources. (#1649)
    
    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        |  2 +-
 ntoskrnl/include/resource.h | 38 ++++++++++++++++++++++++++++----------
 ntoskrnl/ntoskrnl.rc        |  6 ++++--
 ntoskrnl/po/poshtdwn.c      |  2 +-
 4 files changed, 34 insertions(+), 14 deletions(-)

diff --git a/ntoskrnl/inbv/inbv.c b/ntoskrnl/inbv/inbv.c
index c1ece52461e..295ffac0142 100644
--- a/ntoskrnl/inbv/inbv.c
+++ b/ntoskrnl/inbv/inbv.c
@@ -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
diff --git a/ntoskrnl/include/resource.h b/ntoskrnl/include/resource.h
index 2f7c22b1cc4..bb400bb3151 100644
--- a/ntoskrnl/include/resource.h
+++ b/ntoskrnl/include/resource.h
@@ -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
diff --git a/ntoskrnl/ntoskrnl.rc b/ntoskrnl/ntoskrnl.rc
index dbe2caccc02..0a01fe32228 100644
--- a/ntoskrnl/ntoskrnl.rc
+++ b/ntoskrnl/ntoskrnl.rc
@@ -31,12 +31,14 @@
 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"
diff --git a/ntoskrnl/po/poshtdwn.c b/ntoskrnl/po/poshtdwn.c
index dd9bcc2dbb4..17adbc2a415 100644
--- a/ntoskrnl/po/poshtdwn.c
+++ b/ntoskrnl/po/poshtdwn.c
@@ -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);

Reply via email to