Made notevil screen size aware.
authorEric Kohl <eric.kohl@reactos.org>
Sun, 3 Oct 1999 22:10:15 +0000 (22:10 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Sun, 3 Oct 1999 22:10:15 +0000 (22:10 +0000)
svn path=/trunk/; revision=679

rosapps/notevil/makefile
rosapps/notevil/notevil.c
rosapps/notevil/notevil.rc

index a4d992e..242bb84 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: makefile,v 1.1 1999/05/15 07:23:34 ea Exp $
+# $Id: makefile,v 1.2 1999/10/03 22:10:15 ekohl Exp $
 #
 # ReactOS makefile for notevil
 # Compiler: egcs 1.1.2
@@ -23,12 +23,32 @@ $(TARGET).exe: $(OBJECTS)
                -o $(TARGET).exe \
                -lkernel32 \
                -luser32 \
-               -lcrtdll 
+               -lcrtdll
        $(NM) --numeric-sort $(TARGET).exe > $(TARGET).sym
-       
+
 $(TARGET).coff: $(TARGET).rc
        $(RC) $(RFLAGS) $(TARGET).rc $(TARGET).coff
-       
+
+
+floppy: $(TARGET:%=$(FLOPPY_DIR)/apps/%)
+
+$(TARGET:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: %
+ifeq ($(DOSCLI),yes)
+       $(CP) $* $(FLOPPY_DIR)\apps\$*
+else
+       $(CP) $* $(FLOPPY_DIR)/apps/$*
+endif
+
+
+dist: $(TARGET:%=../$(DIST_DIR)/apps/%)
+
+$(TARGET:%=../$(DIST_DIR)/apps/%): ../$(DIST_DIR)/apps/%: %
+ifeq ($(DOSCLI),yes)
+       $(CP) $* ..\$(DIST_DIR)\apps\$*
+else
+       $(CP) $* ../$(DIST_DIR)/apps/$*
+endif
+
 include ../rules.mak
 
 # EOF
index 3466d92..3e9c413 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: notevil.c,v 1.1 1999/05/15 07:23:34 ea Exp $
+/* $Id: notevil.c,v 1.2 1999/10/03 22:10:15 ekohl Exp $
  *
  * notevil.c
  * 
@@ -36,6 +36,7 @@ LPCTSTR app_name = _TEXT("notevil");
 
 HANDLE myself;
 HANDLE ScreenBuffer;
+CONSOLE_SCREEN_BUFFER_INFO ScreenBufferInfo;
 
 void
 WriteStringAt(
@@ -47,7 +48,8 @@ WriteStringAt(
        DWORD   cWritten = 0;
        WORD    wLen = lstrlen(lpString);
 
-       if (0 == wLen) return;
+       if (0 == wLen)
+               return;
        WriteConsoleOutputCharacter(
                ScreenBuffer,
                lpString,
@@ -74,7 +76,7 @@ WriteCoord(COORD c)
 
        wsprintf(
                buf,
-               _TEXT("x=%d  y=%d"),
+               _TEXT("x=%02d  y=%02d"),
                c.X,
                c.Y
                );
@@ -111,21 +113,24 @@ GetNextString(
        return 0;
 }
 
-       
+
 VOID
 DisplayTitle(VOID)
 {
-       COORD   xy = {24,12};
+       LPTSTR szTitle = _TEXT("ReactOS Coders Console Parade");
+       COORD  xy;
+
+       xy.X = (ScreenBufferInfo.dwSize.X - lstrlen(szTitle)) / 2;
+       xy.Y = ScreenBufferInfo.dwSize.Y / 2;
 
        WriteStringAt(
-               _TEXT("ReactOS Coders Console Parade"),
+               szTitle,
                xy,
                (FOREGROUND_GREEN | FOREGROUND_INTENSITY)
                );
 }
 
 
-
 #define RES_DELAY_CHANGE 12
 #define RES_BUFFER_SIZE  1024
 void
@@ -134,11 +139,14 @@ MainLoop(void)
        TCHAR   NameString [RES_BUFFER_SIZE];
        DWORD   NameIndex = 1;
        INT     NameLength = 0;
-       COORD   xy = {40,12}; 
+       COORD   xy;
        INT     n = RES_DELAY_CHANGE;
        INT     dir_y = 1;
        INT     dir_x = 1;
-       WORD    wColor = 0;
+       WORD    wColor = 1;
+
+       xy.X = ScreenBufferInfo.dwSize.X / 2;
+       xy.Y = ScreenBufferInfo.dwSize.Y / 2;
 
        for ( ; 1; ++n )
        {
@@ -150,25 +158,31 @@ MainLoop(void)
                                & NameIndex
                                );
                        NameLength = lstrlen(NameString);
-                       ++wColor;
+                       wColor++;
+                       if ((wColor & 0x000F) == 0)
+                               wColor = 1;
                }
-               if (!xy.X)
+               if (xy.X == 0)
                {
-                       if (dir_x == -1) dir_x = 1;
+                       if (dir_x == -1)
+                               dir_x = 1;
                }
-               else if (xy.X > 80 - NameLength)
+               else if (xy.X >= ScreenBufferInfo.dwSize.X - NameLength - 1)
                {
-                       if (dir_x == 1) dir_x = -1;
+                       if (dir_x == 1)
+                               dir_x = -1;
                }
                xy.X += dir_x;
-               switch (xy.Y)
+
+               if (xy.Y == 0)
                {
-                       case 0:
-                               if (dir_y == -1) dir_y = 1;
-                               break;
-                       case 24:
-                               if (dir_y == 1) dir_y = -1;
-                               break;
+                       if (dir_y == -1)
+                               dir_y = 1;
+               }
+               else if (xy.Y >= ScreenBufferInfo.dwSize.Y - 1)
+               {
+                       if (dir_y == 1)
+                               dir_y = -1;
                }
                xy.Y += dir_y;
 #ifdef DISPLAY_COORD
@@ -178,14 +192,14 @@ MainLoop(void)
                WriteStringAt(
                        NameString,
                        xy,
-                       (wColor & 0x000F)
+                       wColor
                        );
                Sleep(100);
                WriteStringAt(
                        NameString,
                        xy,
                        0
-                       );      
+                       );
        }
 }
 
@@ -198,6 +212,14 @@ main(
 {
        myself = GetModuleHandle(NULL);
 
+#if 1
+       GetConsoleScreenBufferInfo (GetStdHandle(STD_OUTPUT_HANDLE),
+                                   &ScreenBufferInfo);
+#else
+       ScreenBufferInfo.dwSize.X = 80;
+       ScreenBufferInfo.dwSize.Y = 25;
+#endif
+
        ScreenBuffer = CreateConsoleScreenBuffer(
                        GENERIC_WRITE,
                        0,
@@ -214,6 +236,7 @@ main(
                        );
                return EXIT_FAILURE;
        }
+
        SetConsoleActiveScreenBuffer(ScreenBuffer);
        MainLoop();
        CloseHandle(ScreenBuffer);
index 08c7f88..f748206 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: notevil.rc,v 1.1 1999/05/15 07:23:34 ea Exp $ */
+/* $Id: notevil.rc,v 1.2 1999/10/03 22:10:15 ekohl Exp $ */
 #include "../../reactos/include/defines.h"
 #include "../../reactos/include/reactos/resource.h"
 
@@ -7,8 +7,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 /* Version information. */
 
 VS_VERSION_INFO VERSIONINFO
-       FILEVERSION     0,0,13,RES_UINT_FILE_VERSION
-       PRODUCTVERSION  0,0,13,0
+       FILEVERSION             RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD
+       PRODUCTVERSION  RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD
        FILEFLAGSMASK   0x3fL
 #ifdef _DEBUG
        FILEFLAGS       0x1L