Author: akhaldi
Date: Thu Jan 7 11:50:57 2016
New Revision: 70517
URL: http://svn.reactos.org/svn/reactos?rev=70517&view=rev
Log:
[0.4.0] * Merge the README files update by Hermès in r70497.
Modified:
branches/ros-branch-0_4_0/ (props changed)
branches/ros-branch-0_4_0/reactos/ (props changed)
branches/ros-branch-0_4_0/reactos/INSTALL
branches/ros-branch-0_4_0/reactos/README
branches/ros-branch-0_4_0/reactos/boot/bootdata/readme.txt
Propchange: branches/ros-branch-0_4_0/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan 7 11:50:57 2016
@@ -1 +1 @@
-/trunk:70000-70321,70323-70324,70328-70337,70339-70340,70347,70349,70354-70358,70360,70363,70369,70373,70375-70378,70381,70384-70385,70387-70389,70398,70400,70408,70424,70436-70437,70443,70464,70470,70480
+/trunk:70000-70321,70323-70324,70328-70337,70339-70340,70347,70349,70354-70358,70360,70363,70369,70373,70375-70378,70381,70384-70385,70387-70389,70398,70400,70408,70424,70436-70437,70443,70464,70470,70480,70497
Propchange: branches/ros-branch-0_4_0/reactos/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan 7 11:50:57 2016
@@ -20,4 +20,4 @@
/branches/usb-bringup:51335,51337,51341-51343,51348,51350,51353,51355,51365-51369,51372,51384-54388,54396-54398,54736-54737,54752-54754,54756-54760,54762,54764-54765,54767-54768,54772,54774-54777,54781,54787,54790-54792,54797-54798,54806,54808,54834-54838,54843,54850,54852,54856,54858-54859
/branches/usb-bringup-trunk:55019-55543,55548-55554,55556-55567
/branches/wlan-bringup:54809-54998
-/trunk/reactos:70000-70321,70323-70324,70328-70337,70339-70340,70347,70349,70354-70358,70360,70363,70369,70373,70375-70378,70381,70384-70385,70387-70389,70398,70400,70408,70424,70436-70437,70443,70464,70470,70480
+/trunk/reactos:70000-70321,70323-70324,70328-70337,70339-70340,70347,70349,70354-70358,70360,70363,70369,70373,70375-70378,70381,70384-70385,70387-70389,70398,70400,70408,70424,70436-70437,70443,70464,70470,70480,70497
Modified: branches/ros-branch-0_4_0/reactos/INSTALL
URL: http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/INSTAL…
==============================================================================
--- branches/ros-branch-0_4_0/reactos/INSTALL [iso-8859-1] (original)
+++ branches/ros-branch-0_4_0/reactos/INSTALL [iso-8859-1] Thu Jan 7 11:50:57 2016
@@ -1,28 +1,41 @@
1. Build environment
+--------------------
-To build the system you need either mingw32 installed on Windows or a mingw32
-cross compiler running on unix. You may obtain MinGW binaries that build
-ReactOS from http://www.reactos.org/.
+To build the system it is strongly advised to use the ReactOS Build Environment
+(RosBE). Up-to-date versions for Windows and for Unix/GNU-Linux are available
+from our download page at: http://www.reactos.org/wiki/Build_Environment/
+
+Alternatively one can use Microsoft Visual C++ (MSVC) version 2010+, together
+with separate installations of CMake and the Ninja build utility.
2. Building ReactOS
+-------------------
+
+A throughout guide for how to build ReactOS can be found at:
+ http://www.reactos.org/wiki/Building_ReactOS
+
+In the following we only make a quick overview.
+
2.1 Building the binaries
-To build ReactOS run 'make' (without the quotes) if you are building on Linux
-or 'mingw32-make' if you are building on Windows (or ReactOS) from the top
-directory. If you are using RosBE, follow on-screen instructions.
+To build ReactOS run 'ninja' (without the quotes), or alternatively run
+'make' if you are using the Make utility, from the top directory.
+NOTE: In the other examples listed in the following, similar modification
+holds if you are using the Make utility instead of Ninja.
+If you are using RosBE, follow on-screen instructions.
2.2 Building a bootable CD image
-To build a bootable CD image run 'make bootcd' (without the quotes) if you are
-building on Linux or 'mingw32-make bootcd' if you are building on Windows (or
-ReactOS) from the top directory. This will create a CD image with a filename,
-ReactOS.iso, in the top directory.
+To build a bootable CD image run 'ninja bootcd' (without the quotes) from the
+top directory. This will create a CD image with a filename, ReactOS.iso, in
+the top directory.
3. Installation
+---------------
ReactOS can only be installed on a machine that has a FAT16 or FAT32 partition
as the active (bootable) partition. The partition on which ReactOS is to be
@@ -41,13 +54,13 @@
follow the instructions to install ReactOS.
If you have an existing ReactOS installation you want to upgrade, then to
-install ReactOS after building it, type 'make install' or
-'mingw32-make install'. This will create the directory 'reactos' in the top
-directory. Copy the contents of this directory over the existing installation.
+install ReactOS after building it, type 'ninja install'. This will create
+the directory 'reactos' in the top directory. Copy the contents of this
+directory over the existing installation.
If you don't want to copy the files manually every time you run a
-'make install' or 'mingw32-make install', then you can specify the directory
-where the files are to be copied to during installation.
+'ninja install', then you can specify the directory where the files are
+to be copied to during installation.
Set the ROS_INSTALL environment variable. If you are on Windows this could be
done by:
@@ -58,8 +71,7 @@
export ROS_INSTALL=/mnt/windows/reactos
-Now run 'make install' or 'mingw32-make install' to install the files to the
-new location.
+Now run 'ninja install' to install the files to the new location.
3.2 Installation from bootable CD distribution
@@ -68,12 +80,13 @@
contents. Then burn the CD image, boot from it, and follow instructions.
-5. Help
+4. Help
+-------
If you run into problems or have suggestions for making ReactOS better, please
visit the address below. Mailing lists are available for a variety of topics,
bugs should be submitted to JIRA and general chat takes place in the forums,
-or #reactos on freenode
+or #reactos on freenode.
http://www.reactos.org/
Modified: branches/ros-branch-0_4_0/reactos/README
URL: http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/README…
==============================================================================
--- branches/ros-branch-0_4_0/reactos/README [iso-8859-1] (original)
+++ branches/ros-branch-0_4_0/reactos/README [iso-8859-1] Thu Jan 7 11:50:57 2016
@@ -1,29 +1,32 @@
========================
-ReactOS Version 0.3.x
-Updated Dec 16, 2006
+ReactOS Version 0.4.x
+Updated January 5, 2016
========================
1. What is ReactOS?
+-------------------
- ReactOS is an Open Source effort to develop a quality operating system
-that is compatible with Windows NT applications and drivers.
+ReactOS is an Open Source effort to develop a quality operating system that is
+compatible with applications and drivers written for the Microsoft® Windows NT
+family of operating systems (NT4, 2000, XP, 2003, Vista, Seven).
- The ReactOS project, although currently focused on Windows XP/2003
-drivers compatibility, is always keeping an eye toward compatibility with
-older version of Windows NT family ( NT 4.0, 2000 (NT 5.0)) and new
-Windows NT releases (Vista, etc). Applications (Win32 API) compatibility
-focus is Windows XP.
+The ReactOS project, although currently focused on Windows Server 2003
+compatibility, is always keeping an eye toward compatibility with
+Windows Vista and future Windows NT releases.
-More information is available at http://www.reactos.org/.
+More information is available at: http://www.reactos.org
2. Building ReactOS
+-------------------
See the INSTALL file for more details.
3. More information
+-------------------
See the media\doc subdirectory for some sparse notes.
4. Who is responsible
+---------------------
See the CREDITS file.
Modified: branches/ros-branch-0_4_0/reactos/boot/bootdata/readme.txt
URL: http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/boot/b…
==============================================================================
--- branches/ros-branch-0_4_0/reactos/boot/bootdata/readme.txt [iso-8859-1] (original)
+++ branches/ros-branch-0_4_0/reactos/boot/bootdata/readme.txt [iso-8859-1] Thu Jan 7 11:50:57 2016
@@ -1,6 +1,6 @@
========================
ReactOS Version 0.4.x
-Updated December 12, 2015
+Updated January 5, 2016
========================
1. What is ReactOS?
@@ -10,7 +10,7 @@
compatible with applications and drivers written for the Microsoft® Windows NT
family of operating systems (NT4, 2000, XP, 2003, Vista, Seven).
-Website: http://www.reactos.org
+More information is available at: http://www.reactos.org
2. Relationship with the WINE project
Author: hbelusca
Date: Thu Jan 7 00:29:41 2016
New Revision: 70512
URL: http://svn.reactos.org/svn/reactos?rev=70512&view=rev
Log:
[BOOTVID_FONT_GEN]
Improve the bootvid font generator of Colin (see r70507) in many ways:
- Allow the user to specify the font name (optional), and optionally a font size and x- and y-offset so that (s)he doesn't have to recompile the generator each time (s)he wants to test a new font.
- The default settings (in case the user doesn't specify all or part of the font definition) are those of Windows' bootvid font (i.e. "Lucida Console", font size 10, x_offset = y_offset = 0).
- Create only once the DC and the font handle (to be used for all the generated characters) instead of each time a character is being generated. I still keep the recreation of the HBITMAP for each character (I don't know if we can also improve there by creating it once and zeroing it out before generating each character).
Modified:
trunk/rosapps/applications/devutils/bootvid_font_generator/bootvid_font_generator.c
Modified: trunk/rosapps/applications/devutils/bootvid_font_generator/bootvid_font_generator.c
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/devutils/boot…
==============================================================================
--- trunk/rosapps/applications/devutils/bootvid_font_generator/bootvid_font_generator.c [iso-8859-1] (original)
+++ trunk/rosapps/applications/devutils/bootvid_font_generator/bootvid_font_generator.c [iso-8859-1] Thu Jan 7 00:29:41 2016
@@ -1,29 +1,36 @@
/*
- * PROJECT: ReactOS bootvid Font Generator Utility
+ * PROJECT: ReactOS BootVid Font Generator Utility
* LICENSE: GNU GPLv2 or any later version as published by the Free Software Foundation
- * PURPOSE: Generates the FontData array for the bootdata.c file of bootvid
+ * PURPOSE: Generates the FontData array for the bootdata.c file of bootvid.sys
* COPYRIGHT: Copyright 2016 Colin Finck <colin(a)reactos.org>
*/
+#include <stdio.h>
+#include <conio.h>
#include <windows.h>
-#include <stdio.h>
+
+/*
+ * Enable this #define if you want to dump the generated character on screen
+ */
+// #define DUMP_CHAR_ON_SCREEN
// Windows original Blue Screen font is "Lucida Console" at FONT_SIZE 10 with no offsets.
-#define FONT_NAME L"Anonymous Pro"
-#define FONT_SIZE 10
-#define X_OFFSET 1
-#define Y_OFFSET 0
-#define HEIGHT 13
-#define WIDTH 8
+#define FONT_NAME_DEF "Lucida Console" // "DejaVu Sans Mono" // "Anonymous Pro"
+#define FONT_SIZE_DEF 10
+#define X_OFFSET_DEF 0 // 0 // 1
+#define Y_OFFSET_DEF 0
+#define HEIGHT 13 // Must be == BOOTCHAR_HEIGHT (see reactos/drivers/base/bootvid/precomp.h)
+#define WIDTH 8 // 8 bits == 1 byte
+
+#ifdef DUMP_CHAR_ON_SCREEN
/**
* Sketch the character on the console screen using ASCII characters.
* Allows you to easily check if the font fits properly into the 8x13 box.
*/
-void DumpCharacterOnScreen(DWORD BmpBits[])
+static void DumpCharacterOnScreen(DWORD BmpBits[])
{
- int i;
- int j;
+ int i, j;
for (i = 0; i < HEIGHT; i++)
{
@@ -39,111 +46,149 @@
}
}
+#else
+
/**
* Dump the FontData for the bootvid/i386/bootdata.c array.
*/
-void DumpCharacterFontData(DWORD BmpBits[])
+static void DumpCharacterFontData(DWORD BmpBits[])
{
static int iBegin = 0;
int i;
- printf(" ");
+ fprintf(stdout, " ");
for (i = 0; i < HEIGHT; i++)
- printf("0x%02lX, ", BmpBits[i]);
+ fprintf(stdout, "0x%02lX, ", BmpBits[i]);
- printf(" // %d\n", iBegin);
+ fprintf(stdout, " // %d\n", iBegin);
iBegin += HEIGHT;
}
+#endif
/**
* Use GDI APIs to load a monospace font and plot a single character into a bitmap.
*/
-BOOL PlotCharacter(WCHAR Character, DWORD BmpBits[])
+static BOOL PlotCharacter(HDC hDC, HFONT hFont, INT XOffset, INT YOffset, CHAR Character, DWORD BmpBits[])
{
BOOL bReturnValue = FALSE;
- int iHeight;
+ HBITMAP hOldBmp;
+ HFONT hOldFont;
HBITMAP hBmp = NULL;
- HDC hDC = NULL;
- HFONT hFont = NULL;
- PBITMAPINFO pBmpInfo;
-
- hDC = CreateCompatibleDC(NULL);
- if (!hDC)
- {
- printf("CreateCompatibleDC failed with error %lu!\n", GetLastError());
- goto Cleanup;
- }
+ BYTE BmpInfo[sizeof(BITMAPINFO) + sizeof(RGBQUAD)];
+ PBITMAPINFO pBmpInfo = (PBITMAPINFO)&BmpInfo;
hBmp = CreateCompatibleBitmap(hDC, WIDTH, HEIGHT);
if (!hBmp)
{
- printf("CreateCompatibleBitmap failed with error %lu!\n", GetLastError());
+ fprintf(stderr, "CreateCompatibleBitmap failed with error %lu!\n", GetLastError());
goto Cleanup;
}
- iHeight = -MulDiv(FONT_SIZE, GetDeviceCaps(hDC, LOGPIXELSY), 72);
- hFont = CreateFontW(iHeight, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET, 0, 0, NONANTIALIASED_QUALITY, FIXED_PITCH, FONT_NAME);
- if (!hFont)
- {
- printf("CreateFontW failed with error %lu!\n", GetLastError());
- goto Cleanup;
- }
-
- SelectObject(hDC, hBmp);
- SelectObject(hDC, hFont);
+ hOldBmp = SelectObject(hDC, hBmp);
+ hOldFont = SelectObject(hDC, hFont);
SetBkColor(hDC, RGB(0, 0, 0));
SetTextColor(hDC, RGB(255, 255, 255));
- TextOutW(hDC, X_OFFSET, Y_OFFSET, &Character, 1);
+ TextOutA(hDC, XOffset, YOffset, &Character, 1);
- // Allocate enough memory for BITMAPINFO and one additional color in the color table.
- // BITMAPINFO already contains a color table entry for a single color and GetDIBits needs space for two colors (black and white).
- pBmpInfo = HeapAlloc(GetProcessHeap(), 0, sizeof(BITMAPINFO) + sizeof(RGBQUAD));
- ZeroMemory(pBmpInfo, sizeof(BITMAPINFO) + sizeof(RGBQUAD));
+ /*
+ * Use enough memory for BITMAPINFO and one additional color in the color table.
+ * BITMAPINFO already contains a color table entry for a single color and
+ * GetDIBits needs space for two colors (black and white).
+ */
+ ZeroMemory(&BmpInfo, sizeof(BmpInfo));
pBmpInfo->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
pBmpInfo->bmiHeader.biHeight = -HEIGHT;
pBmpInfo->bmiHeader.biWidth = WIDTH;
pBmpInfo->bmiHeader.biBitCount = 1;
pBmpInfo->bmiHeader.biPlanes = 1;
+ bReturnValue = TRUE;
+
if (!GetDIBits(hDC, hBmp, 0, HEIGHT, BmpBits, pBmpInfo, 0))
{
- printf("GetDIBits failed with error %lu!\n", GetLastError());
- goto Cleanup;
+ fprintf(stderr, "GetDIBits failed with error %lu!\n", GetLastError());
+ bReturnValue = FALSE;
}
- bReturnValue = TRUE;
+ SelectObject(hDC, hOldBmp);
+ SelectObject(hDC, hOldFont);
Cleanup:
- if (hFont)
- DeleteObject(hFont);
-
if (hBmp)
DeleteObject(hBmp);
-
- if (hDC)
- DeleteDC(hDC);
return bReturnValue;
}
-int main()
+static void DumpFont(LPSTR FontName, INT FontSize, INT XOffset, INT YOffset)
{
+ int iHeight;
+ HDC hDC = NULL;
+ HFONT hFont = NULL;
+
DWORD BmpBits[HEIGHT];
- WCHAR c;
+ USHORT c;
+
+ hDC = CreateCompatibleDC(NULL);
+ if (!hDC)
+ {
+ fprintf(stderr, "CreateCompatibleDC failed with error %lu!\n", GetLastError());
+ goto Cleanup;
+ }
+
+ iHeight = -MulDiv(FontSize, GetDeviceCaps(hDC, LOGPIXELSY), 72);
+ hFont = CreateFontA(iHeight, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE,
+ ANSI_CHARSET, 0, 0, NONANTIALIASED_QUALITY,
+ FIXED_PITCH, FontName);
+ if (!hFont)
+ {
+ fprintf(stderr, "CreateFont failed with error %lu!\n", GetLastError());
+ goto Cleanup;
+ }
for (c = 0; c < 256; c++)
{
- PlotCharacter(c, BmpBits);
+ PlotCharacter(hDC, hFont, XOffset, YOffset, (CHAR)c, BmpBits);
-#if 0
+#ifdef DUMP_CHAR_ON_SCREEN
DumpCharacterOnScreen(BmpBits);
- system("pause");
+ fprintf(stdout, "\nPress any key to continue...\n");
+ _getch();
system("cls");
#else
DumpCharacterFontData(BmpBits);
#endif
}
+Cleanup:
+ if (hFont)
+ DeleteObject(hFont);
+
+ if (hDC)
+ DeleteDC(hDC);
+}
+
+int main(int argc, char** argv)
+{
+ /* Validate the arguments */
+ if (argc > 5 || (argc >= 2 && strncmp(argv[1], "/?", 2) == 0))
+ {
+ fprintf(stdout,
+ "Usage: %s \"font name\" [font size] [X-offset] [Y-offset]\n"
+ "Default font name is: \"%s\"\n"
+ "Default font size is: %i\n"
+ "Default X-offset is: %i\n"
+ "Default Y-offset is: %i\n",
+ argv[0],
+ FONT_NAME_DEF, FONT_SIZE_DEF, X_OFFSET_DEF, Y_OFFSET_DEF);
+
+ return -1;
+ }
+
+ DumpFont((argc <= 1) ? FONT_NAME_DEF : argv[1],
+ (argc <= 2) ? FONT_SIZE_DEF : atoi(argv[2]),
+ (argc <= 3) ? X_OFFSET_DEF : atoi(argv[3]),
+ (argc <= 4) ? Y_OFFSET_DEF : atoi(argv[4]));
return 0;
}