[0.4.15][SYSSETUP][BOOT][INBV][MSGINA][SDK] Update year to 2025 and set theme using unattend.inf

CORE-19496

All wallpapers that are not in bitmap format will not work on LiveCD. LiveCD has a read-only file system and to apply non bitmap files as wallpapers, we convert them to bitmap when selected as a temporary file. Therefore, only copy non-bitmap wallpapers to BootCD, not LiveCD. Also minor fix to README in the wallpapers folder.

This commit includes:
- Partial revert of dc1a4ae9ce [0.4.15][SYSSETUP][BOOT][WALLPAPERS] Set default theme to Mizu and add wallpapers
- 2e47094764 [SYSSETUP] Apply theming from unattend files very early on when booting the LiveCD or a new install (#7797)
ebdb7b3e4d A problem has been detected and ReactOS has been shut down to prevent damage to your time machine warp core.
- 4bc97ad145 [BOOTDATA] Arabic, Hong Kong, Singapore, come back! (#7795)
This commit is contained in:
Carl J. Bialorucki
2025-03-18 23:23:24 -06:00
parent dc1a4ae9ce
commit 08c150be74
14 changed files with 246 additions and 113 deletions

View File

@@ -59,16 +59,12 @@ LocaleID = 409
; 1: ReactOS Workstation
ProductOption = 0
; enable this section to automatically launch programs
; Enable this section to automatically launch programs
; after 3rd boot
;
; [GuiRunOnce]
; %SystemRoot%\system32\cmd.exe
; Enable the next line (+ the GuiRunOnce section) to enable the lautus theme
; "rundll32.exe shell32.dll,Control_RunDLL desk.cpl desk,@Appearance /Action:ActivateMSTheme /file:%SYSTEMROOT%\Resources\themes\lautus\lautus.msstyles"
; enable this section to change resolution / bpp
; Enable this section to change resolution / bpp
; setting a value to 0 or skipping it will leave it unchanged
; [Display]
; BitsPerPel = 32
@@ -80,3 +76,7 @@ ProductOption = 0
;[Env]
;WINETEST_PLATFORM=reactos
; Enable this section to enable the default ReactOS theme
[Shell]
DefaultThemesOff = no
CustomDefaultThemeFile = "%WINDIR%\Resources\Themes\Mizu\mizu.msstyles"

View File

@@ -1190,25 +1190,27 @@ HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Language","InstallLanguage",0x0000000
; If you add/uncomment an entry here, please also add the appropriate Language
; in the previous section.
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale",,0x00000012
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000401",0x00000000,""
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000801",0x00000000,""
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000c01",0x00000000,""
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001001",0x00000000,""
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001401",0x00000000,""
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001801",0x00000000,""
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001c01",0x00000000,""
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00002001",0x00000000,""
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00002401",0x00000000,""
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00002801",0x00000000,""
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00002c01",0x00000000,""
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00003001",0x00000000,""
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00003401",0x00000000,""
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00003801",0x00000000,""
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00003c01",0x00000000,""
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00004001",0x00000000,""
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000401",0x00000000,"d"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000801",0x00000000,"d"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000c01",0x00000000,"d"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001001",0x00000000,"d"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001401",0x00000000,"d"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001801",0x00000000,"d"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001c01",0x00000000,"d"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00002001",0x00000000,"d"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00002401",0x00000000,"d"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00002801",0x00000000,"d"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00002c01",0x00000000,"d"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00003001",0x00000000,"d"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00003401",0x00000000,"d"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00003801",0x00000000,"d"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00003c01",0x00000000,"d"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00004001",0x00000000,"d"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000402",0x00000000,"5"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000403",0x00000000,"1"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000404",0x00000000,"9"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000c04",0x00000000,"9"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00001004",0x00000000,"a"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000804",0x00000000,"a"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000405",0x00000000,"2"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","00000406",0x00000000,"1"

View File

@@ -11,3 +11,7 @@ UnattendSetupEnabled = no
; see hivesys.inf for available languages
LocaleID = 409
; Enable this section to enable the default ReactOS theme
[Shell]
DefaultThemesOff = no
CustomDefaultThemeFile = "%WINDIR%\Resources\Themes\Mizu\mizu.msstyles"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View File

@@ -1928,7 +1928,7 @@
x="5.59375"
y="1047.7255"
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#1e2122;fill-opacity:1;font-family:Lucida Sans Unicode;-inkscape-font-specification:Lucida Sans Unicode"
id="tspan3618">Copyright © 1996-2024 ReactOS Team &amp; Contributors</tspan></text>
id="tspan3618">Copyright © 1996-2025 ReactOS Team &amp; Contributors</tspan></text>
<g
transform="matrix(0.16958533,0,0,0.16958533,89.849943,981.79073)"
id="g15501">

Before

Width:  |  Height:  |  Size: 119 KiB

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View File

@@ -865,6 +865,61 @@ cleanup:
return bConsoleBoot;
}
extern VOID
EnableVisualTheme(
_In_opt_ HWND hwndParent,
_In_opt_ PCWSTR ThemeFile);
/**
* @brief
* Pre-process unattended file to apply early settings.
*
* @param[in] IsInstall
* TRUE if this is ReactOS installation, invoked from InstallReactOS(),
* FALSE if this is run as part of LiveCD, invoked form InstallLiveCD().
**/
static VOID
PreprocessUnattend(
_In_ BOOL IsInstall)
{
WCHAR szPath[MAX_PATH];
WCHAR szValue[MAX_PATH];
BOOL bDefaultThemesOff;
if (IsInstall)
{
/* See also wizard.c!ProcessSetupInf()
* Retrieve the path of the setup INF */
GetSystemDirectoryW(szPath, _countof(szPath));
wcscat(szPath, L"\\$winnt$.inf");
}
else
{
/* See also userinit/livecd.c!RunLiveCD() */
GetWindowsDirectoryW(szPath, _countof(szPath));
wcscat(szPath, L"\\unattend.inf");
}
/*
* Apply initial default theming
*/
/* Check whether to use the classic theme (TRUE) instead of the default theme */
bDefaultThemesOff = FALSE;
if (GetPrivateProfileStringW(L"Shell", L"DefaultThemesOff", L"no", szValue, _countof(szValue), szPath) && *szValue)
bDefaultThemesOff = (_wcsicmp(szValue, L"yes") == 0);
if (!bDefaultThemesOff)
{
/* Retrieve the complete path to a .theme (or for ReactOS, a .msstyles) file */
if (!GetPrivateProfileStringW(L"Shell", L"CustomDefaultThemeFile", NULL, szValue, _countof(szValue), szPath) || !*szValue)
bDefaultThemesOff = TRUE; // None specified, fall back to the classic theme.
}
/* Enable the chosen theme, or use the classic theme */
EnableVisualTheme(NULL, bDefaultThemesOff ? NULL : szValue);
}
static BOOL
CommonInstall(VOID)
{
@@ -887,7 +942,7 @@ CommonInstall(VOID)
goto Exit;
}
if(!InstallSysSetupInfComponents())
if (!InstallSysSetupInfComponents())
{
FatalError("InstallSysSetupInfComponents() failed!\n");
goto Exit;
@@ -918,7 +973,6 @@ CommonInstall(VOID)
bResult = TRUE;
Exit:
if (bResult == FALSE)
{
SetupCloseInfFile(hSysSetupInf);
@@ -942,6 +996,7 @@ InstallLiveCD(VOID)
PROCESS_INFORMATION ProcessInformation;
BOOL bRes;
PreprocessUnattend(FALSE);
if (!CommonInstall())
goto error;
@@ -1461,6 +1516,7 @@ InstallReactOS(VOID)
hHotkeyThread = CreateThread(NULL, 0, HotkeyThread, NULL, 0, NULL);
PreprocessUnattend(TRUE);
if (!CommonInstall())
return 0;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View File

@@ -79,7 +79,6 @@ typedef struct _TIMEZONE_ENTRY
extern void WINAPI Control_RunDLLW(HWND hWnd, HINSTANCE hInst, LPCWSTR cmd, DWORD nCmdShow);
static VOID
CenterWindow(HWND hWnd)
{
@@ -214,67 +213,6 @@ GplDlgProc(HWND hwndDlg,
return FALSE;
}
static BOOL
RunControlPanelApplet(HWND hwnd, PCWSTR pwszCPLParameters)
{
MSG msg;
HWND MainWindow = GetParent(hwnd);
STARTUPINFOW StartupInfo;
PROCESS_INFORMATION ProcessInformation;
WCHAR CmdLine[MAX_PATH] = L"rundll32.exe shell32.dll,Control_RunDLL ";
if (!pwszCPLParameters)
{
MessageBoxW(hwnd, L"Error: Failed to launch the Control Panel Applet.", NULL, MB_ICONERROR);
return FALSE;
}
ZeroMemory(&StartupInfo, sizeof(StartupInfo));
StartupInfo.cb = sizeof(StartupInfo);
ZeroMemory(&ProcessInformation, sizeof(ProcessInformation));
ASSERT(_countof(CmdLine) > wcslen(CmdLine) + wcslen(pwszCPLParameters));
wcscat(CmdLine, pwszCPLParameters);
if (!CreateProcessW(NULL,
CmdLine,
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&StartupInfo,
&ProcessInformation))
{
MessageBoxW(hwnd, L"Error: Failed to launch the Control Panel Applet.", NULL, MB_ICONERROR);
return FALSE;
}
/* Disable the Back and Next buttons and the main window
* while we're interacting with the control panel applet */
PropSheet_SetWizButtons(MainWindow, 0);
EnableWindow(MainWindow, FALSE);
while ((MsgWaitForMultipleObjects(1, &ProcessInformation.hProcess, FALSE, INFINITE, QS_ALLINPUT|QS_ALLPOSTMESSAGE )) != WAIT_OBJECT_0)
{
/* We still need to process main window messages to avoid freeze */
while (PeekMessageW(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessageW(&msg);
}
}
CloseHandle(ProcessInformation.hThread);
CloseHandle(ProcessInformation.hProcess);
/* Enable the Back and Next buttons and the main window again */
PropSheet_SetWizButtons(MainWindow, PSWIZB_BACK | PSWIZB_NEXT);
EnableWindow(MainWindow, TRUE);
return TRUE;
}
static INT_PTR CALLBACK
WelcomeDlgProc(HWND hwndDlg,
UINT uMsg,
@@ -317,16 +255,6 @@ WelcomeDlgProc(HWND hwndDlg,
(WPARAM)pSetupData->hTitleFont,
(LPARAM)TRUE);
/* HACK: Set Mizu as default theme (0.4.15)
* TODO: Let's have a better way of doing this on future releases.
*/
WCHAR wszParams[1024];
WCHAR wszTheme[MAX_PATH];
WCHAR* format = L"desk.cpl,,2 /Action:ActivateMSTheme /file:\"%s\"";
SHGetFolderPathAndSubDirW(0, CSIDL_RESOURCES, NULL, SHGFP_TYPE_DEFAULT, L"Themes\\Mizu\\mizu.msstyles", wszTheme);
swprintf(wszParams, format, wszTheme);
RunControlPanelApplet(hwndDlg, wszParams);
}
break;
@@ -1398,6 +1326,152 @@ SetKeyboardLayoutName(HWND hwnd)
SetWindowTextW(hwnd, LayoutPath);
}
static BOOL
RunControlPanelApplet(HWND hwnd, PCWSTR pwszCPLParameters)
{
MSG msg;
HWND MainWindow = GetParent(hwnd);
STARTUPINFOW StartupInfo;
PROCESS_INFORMATION ProcessInformation;
WCHAR CmdLine[MAX_PATH] = L"rundll32.exe shell32.dll,Control_RunDLL ";
if (!pwszCPLParameters)
{
MessageBoxW(hwnd, L"Error: Failed to launch the Control Panel Applet.", NULL, MB_ICONERROR);
return FALSE;
}
ZeroMemory(&StartupInfo, sizeof(StartupInfo));
StartupInfo.cb = sizeof(StartupInfo);
ZeroMemory(&ProcessInformation, sizeof(ProcessInformation));
ASSERT(_countof(CmdLine) > wcslen(CmdLine) + wcslen(pwszCPLParameters));
wcscat(CmdLine, pwszCPLParameters);
if (!CreateProcessW(NULL,
CmdLine,
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&StartupInfo,
&ProcessInformation))
{
MessageBoxW(hwnd, L"Error: Failed to launch the Control Panel Applet.", NULL, MB_ICONERROR);
return FALSE;
}
/* Disable the Back and Next buttons and the main window
* while we're interacting with the control panel applet */
PropSheet_SetWizButtons(MainWindow, 0);
EnableWindow(MainWindow, FALSE);
while ((MsgWaitForMultipleObjects(1, &ProcessInformation.hProcess, FALSE, INFINITE, QS_ALLINPUT|QS_ALLPOSTMESSAGE )) != WAIT_OBJECT_0)
{
/* We still need to process main window messages to avoid freeze */
while (PeekMessageW(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessageW(&msg);
}
}
CloseHandle(ProcessInformation.hThread);
CloseHandle(ProcessInformation.hProcess);
/* Enable the Back and Next buttons and the main window again */
PropSheet_SetWizButtons(MainWindow, PSWIZB_BACK | PSWIZB_NEXT);
EnableWindow(MainWindow, TRUE);
return TRUE;
}
VOID
EnableVisualTheme(
_In_opt_ HWND hwndParent,
_In_opt_ PCWSTR ThemeFile)
{
enum { THEME_FILE, STYLE_FILE, UNKNOWN } fType;
WCHAR szPath[MAX_PATH]; // Expanded path of the file to use.
WCHAR szStyleFile[MAX_PATH];
fType = THEME_FILE; // Default to Classic theme.
if (ThemeFile)
{
/* Expand the path if possible */
if (ExpandEnvironmentStringsW(ThemeFile, szPath, _countof(szPath)) != 0)
ThemeFile = szPath;
/* Determine the file type from its extension */
fType = UNKNOWN; {
PCWSTR pszExt = wcsrchr(ThemeFile, L'.'); // PathFindExtensionW(ThemeFile);
if (pszExt)
{
if (_wcsicmp(pszExt, L".theme") == 0)
fType = THEME_FILE;
else if (_wcsicmp(pszExt, L".msstyles") == 0)
fType = STYLE_FILE;
} }
if (fType == UNKNOWN)
{
DPRINT1("EnableVisualTheme(): Unknown file '%S'\n", ThemeFile);
return;
}
}
DPRINT1("Applying visual %s '%S'\n",
(fType == THEME_FILE) ? "theme" : "style",
ThemeFile ? ThemeFile : L"(Classic)");
//
// TODO: Use instead uxtheme!SetSystemVisualStyle() once it is implemented,
// https://stackoverflow.com/a/1036903
// https://pinvoke.net/default.aspx/uxtheme.SetSystemVisualStyle
// or ApplyTheme(NULL, 0, NULL) for restoring the classic theme.
//
// NOTE: The '/Action:ActivateMSTheme' is ReactOS-specific.
//
if (ThemeFile && (fType == THEME_FILE))
{
/* Retrieve the visual style specified in the theme file.
* If none, fall back to the classic theme. */
if (GetPrivateProfileStringW(L"VisualStyles", L"Path", NULL,
szStyleFile, _countof(szStyleFile), ThemeFile) && *szStyleFile)
{
/* Expand the path if possible */
ThemeFile = szStyleFile;
if (ExpandEnvironmentStringsW(ThemeFile, szPath, _countof(szPath)) != 0)
ThemeFile = szPath;
}
else
{
ThemeFile = NULL;
}
DPRINT1("--> Applying visual style '%S'\n",
ThemeFile ? ThemeFile : L"(Classic)");
}
if (ThemeFile)
{
WCHAR wszParams[1024];
// FIXME: L"desk.cpl desk,@Appearance" regression, see commit 50d260a7f0
PCWSTR format = L"desk.cpl,,2 /Action:ActivateMSTheme /file:\"%s\"";
StringCchPrintfW(wszParams, _countof(wszParams), format, ThemeFile);
RunControlPanelApplet(hwndParent, wszParams);
}
else
{
RunControlPanelApplet(hwndParent, L"desk.cpl,,2 /Action:ActivateMSTheme");
}
}
static VOID
WriteUserLocale(VOID)
{
@@ -1958,13 +2032,14 @@ ThemePageDlgProc(HWND hwndDlg,
/* Register the imagelist */
ListView_SetImageList(hListView, himl, LVSIL_NORMAL);
/* Transparant background */
/* Transparent background */
ListView_SetBkColor(hListView, CLR_NONE);
ListView_SetTextBkColor(hListView, CLR_NONE);
/* Reduce the size between the items */
ListView_SetIconSpacing(hListView, 190, 173);
break;
}
case WM_NOTIFY:
switch (((LPNMHDR)lParam)->code)
{
@@ -1978,17 +2053,13 @@ ThemePageDlgProc(HWND hwndDlg,
if (Themes[iTheme].ThemeFile)
{
WCHAR wszParams[1024];
WCHAR wszTheme[MAX_PATH];
WCHAR* format = L"desk.cpl,,2 /Action:ActivateMSTheme /file:\"%s\"";
SHGetFolderPathAndSubDirW(0, CSIDL_RESOURCES, NULL, SHGFP_TYPE_DEFAULT, Themes[iTheme].ThemeFile, wszTheme);
swprintf(wszParams, format, wszTheme);
RunControlPanelApplet(hwndDlg, wszParams);
EnableVisualTheme(hwndDlg, wszTheme);
}
else
{
RunControlPanelApplet(hwndDlg, L"desk.cpl,,2 /Action:ActivateMSTheme");
EnableVisualTheme(hwndDlg, Themes[iTheme].ThemeFile);
}
}
break;

View File

@@ -1,3 +1,3 @@
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Borealis.jpg" DESTINATION reactos/Web/Wallpaper FOR all)
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Borealis Dark.jpg" DESTINATION reactos/Web/Wallpaper FOR all)
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Deep Sea.jpg" DESTINATION reactos/Web/Wallpaper FOR all)
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Borealis.jpg" DESTINATION reactos/Web/Wallpaper FOR bootcd)
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Borealis Dark.jpg" DESTINATION reactos/Web/Wallpaper FOR bootcd)
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Deep Sea.jpg" DESTINATION reactos/Web/Wallpaper FOR bootcd)

View File

@@ -1,4 +1,4 @@
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Grass.jpg" DESTINATION reactos/Web/Wallpaper FOR all)
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Polarlicht.jpg" DESTINATION reactos/Web/Wallpaper FOR all)
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReactOS Dark.png" DESTINATION reactos/Web/Wallpaper FOR all)
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReactOS Light.png" DESTINATION reactos/Web/Wallpaper FOR all)
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Grass.jpg" DESTINATION reactos/Web/Wallpaper FOR bootcd)
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/Polarlicht.jpg" DESTINATION reactos/Web/Wallpaper FOR bootcd)
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReactOS Dark.png" DESTINATION reactos/Web/Wallpaper FOR bootcd)
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReactOS Light.png" DESTINATION reactos/Web/Wallpaper FOR bootcd)

View File

@@ -6,7 +6,7 @@ Wallpapers
|-------------------------------|-----------------------------------------------|--------------------------------------------------------|
| Borealis Dark.jpg | Forum user "Angelus" (jedi.knight@wanadoo.es) | https://reactos.org/forum/viewtopic.php?p=50543#p50543 |
| Borealis.jpg | Forum user "Angelus" (jedi.knight@wanadoo.es) | https://reactos.org/forum/viewtopic.php?p=50543#p50543 |
| Deep Sea.bmp | Forum user "Angelus" (jedi.knight@wanadoo.es) | https://reactos.org/forum/viewtopic.php?p=50543#p50543 |
| Deep Sea.jpg | Forum user "Angelus" (jedi.knight@wanadoo.es) | https://reactos.org/forum/viewtopic.php?p=50543#p50543 |
| Grass.jpg | Public domain | https://jira.reactos.org/browse/CORE-8446 |
| Mizu (16x9).bmp | Forum user "Foxlet" (foxlet@furcode.co) | https://jira.reactos.org/browse/CORE-15783 |
| Mizu (4x3).bmp | Forum user "Foxlet" (foxlet@furcode.co) | https://jira.reactos.org/browse/CORE-15783 |

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -9,7 +9,7 @@ endif()
set(KERNEL_VERSION_MAJOR "0")
set(KERNEL_VERSION_MINOR "4")
set(KERNEL_VERSION_PATCH_LEVEL "15")
set(COPYRIGHT_YEAR "2024")
set(COPYRIGHT_YEAR "2025")
# KERNEL_VERSION_BUILD_TYPE is "dev" for Git builds
# or "RC1", "RC2", "" for releases.