******************************************************************************** README for Otschi 3.20 ******************************************************************************** ******************************************************************************** CONTENTS ******************************************************************************** 1 - ABOUT OTSCHI 2 - USING OTSCHI 3 - BUILDING THE SOURCE CODE 3.1 - Cygwin 3.2 - Other Compilers 4 - VERSION HISTORY ******************************************************************************** 1 - ABOUT OTSCHI ******************************************************************************** Otschi is a very simple Win32 application I wrote just for fun. All it does is showing a quite familiar smiling round face with blinking eyes on the desktop. "Otschi" is the German transcription of the Ukrainian word for eyes. Otschi is freeware (you don't have to pay for it) since its very first incarnation. The source code of Otschi is also available for download, but it may not be modified, nor implemented in another project without permission of the author. Check http://www.ft1.org for the latest version. Otschi is copyright (c) 1999-2005 Francesco Trotta. ******************************************************************************** 2 - USING OTSCHI ******************************************************************************** To start Otschi, just double click on Otschi.exe. You can move the Otschi face like any other window all over the desktop: hold down the left mouse button on the face and drag it wherever you want. To close Otschi, simply right-click on the face or press . When screen resolution changes, Otschi automatically adjusts its position so the face is always fully inside the desktop bounds. You can have as many Otschi faces blinking simultaneously as your system allows. Note that having many more instances of Otschi running together may take up a considerable amount of computing time, especially on older machines. ******************************************************************************** 3 - BUILDING THE SOURCE CODE ******************************************************************************** Otschi 3.20 was built using the Microsoft Visual C++ .NET 2003 compiler. The source code was also tested for compatibilty on the following compilers: - Microsoft Visual C++ 6.0 - Borland C++ 5.02 - Borland C++BuilderX - LCC-Win32 (http://www.cs.virginia.edu/~lcc-win32) - Cygwin (http://cygwin.com) It turns that with the right options, everything builds fine without warnings. The downloadable package includes three project files located under the source files folder, each in its own subfolder. The project files are: - "VC98\Otschi.dsp" for Visual C++ 6.0 - "VC7\Otschi.vcproj" for Visual C++ .NET 2003 - "LCC\Otschi.prj" for LCC-Win32 3.1 - Cygwin ~~~~~~~~~~~~ To build Otschi using Cygwin, you first need to compile the resource script in a .res file. I suggest you create a subdirectory called "CYGWIN" in the project directory to store Cygwin files. In the command line prompt, switch to the source files folder using cd [dir]. Then type in: windres Otschi.rc -Ocoff -oCYGWIN/Otschi.res Now a file called "Otschi.res" should exist in the "CYGWIN" subdirectory. I used the following line to build the .exe: gcc -mwindows -Wall -DOTSCHI_MAIN -e_OtschiMain@0 Otschi.c Rig.c CYGWIN/Otschi.res -oCYGWIN/Otschi.exe -nostartfiles 3.2 - Other Compilers ~~~~~~~~~~~~~~~~~~~~~ If you are going to try build Otschi with your own compiler, you'll need to add the files "Otschi.c" and "RIG.c" to your project, as well as "Otschi.rc" (the resource file). You should also set the source files folder either as your current directory, or in your include path. If possible, the OtschiMain function should be set as entry point for the executable instead of WinMain. Take a look at "Otschi.c" for information on how to do that. ******************************************************************************** 4 - VERSION HISTORY ******************************************************************************** Version 3.20 - All Otschi windows now share the same low-priority thread in the same process and the same device context. This trick dramatically reduces system resource usage allowing virtually thousands of faces to blink on the screen at the same time without any noticeable performace loss on modern systems. - Otschi now runs on historical Windows 3.51! Version 3.10 - Otschi 3.10 works fine on systems with multiple display monitors. As a major improvement, it is now possible to move the Otschi face into any monitor using the mouse. - On Windows XP and later, the drop shadow effect is used to project a slight shadow under the Otschi face. - You can no longer drag the face under the taskbar. - The small Otschi icon is now shown in the task manager. - Added 48x48 16 colors icon. Version 3.01 - Bugfix: "Gray Face". Otschi now uses the best colors available to paint on monitors that display only 256 colors or less. - Fixed an issue that could prevent the program to terminate correctly in some cases, so it was impossible to delete the executable even after all faces disappeared. Version 3.0 Completely new version written in C. Several improvements were made since version 2.01: - Change: Otschi now retains its relative alignment on the desktop when screen resolution changes. - A mouse is required to run Otschi. - You can close Otschi pressing the key. - Icons were improved. Version 2.01 - Bugfix: changing screen resolution while running Otschi could cause different problems. - Change: rigid movement. Version 2.0 Completely re-written version, with pink face and "gummy"-movement. Version 1.0 The very first version of Otschi with yellow face written with Visual Basic 6.0. Source code has been lost.