e_mail: d_korabelnikov@mail.ru
cite: http://www.atd-group.narod.ru

Atomic Destruction proudly presents:

Red Alice Screensaver

Maybe someone says it's very easy to create own screensaver today using one of so-called "screensaver construction kits". In any case, this is … yet another screensaver.

System requirements:

Windows-98 or Windows-XP, display with 1024*768*32 mode support, Direct X, about 15 MB memory for screensaver itself (was tested also on Windows XP on 128 MB RAM and works ok). So this screensaver works on any modern computer.

How to install.

Simply copy file redalice.scr to windows directory.
Use "desktop, right mouse key, properties..." and so on to view and select this screensaver. Or simply run redalice.scr to view.

Never asked questions:

Q: The screen is completely black !
A: Configure screensaver and set Dark Screen to smaller value or to 0.

Source code included.

RedAlice is written on FreeBasic 0.20, the most powerfull and free Basic compiler you can imagine. You can find it at:


http://www.freebasic.net

You also need FBIDE text editor.

How this video was packed.

Suppose, we have one good toon like Alice Birthday and we want to make a small screensaver or another kind of small program with video. How to do it ?
We can pack it to one of (hundreds ?) video formats or flv or ... and then we 'll have trouble with video codecs forever. But we can choose the better way.
1) Find and install VirtualDub (for AVI) and VirtualDubMod (for DVD) program.
2) Unpack some minutes of video to simple BMP pictures (needs a lot of free space on disk) and scale BMP frames to an appropriate size, say 340*192 (because 340*3=1020 - about 1024 and 192*4=768).
3) Now we copy each 4th BMP file to another directory, so we have a video sequence with 6 frames per second (assuming the original video have 25 fps) And then we make a mosaic from 5*5 sequential BMP images (see data\ directory in source code) I used a small program written on FreeBasic, that loads "small" 340*192 BMPs and then saves "large" 1700*960 BMPs.
And finally we pack all "large" BMPs to JPG format. XnView picture converter was used for this task.
The trick is in fact that compression ratio for these mosaic big images in JPG format is much better then compression ratio for small images. (Ok, not so much better and not for any video. But it's works for drawn (not 3D) toons) Of couse, we can not pack video as good, as modern videocodecks do, but still this compression method is very good.
4) Now we must have a way to unpack this JPGs by screensaver "on the fly". And there is a very good, fast and small DLL - not "object oriented" in any way. This is Intel JPEG Library. This library was released by Intel for free usage with full documentation and examples (see somewhere on my site) and this library can read and write JPG both from/to files and memory using only 2 functions: ijlRead and ijlWrite.

How to compile the source.

Install FreeBasic 0.20 compiler (if you still don't have it)
Set path to fbc.exe in !make.bat
Run !make.bat
Errors and warnings (if any) will be written to !errors.txt

Or, using FBIDE:
First, create file alldata using uniarc.bas, uniarc.exe
Then you can compile redalice.bas in FBIDE, assuming you set compiler command: fbc.exe -lang fblite -s gui redalice.bas redalice.rc

Source files:

RedAlice.bas - main file, screensaver work and configure (/S switch and /C switch)
RedAliceW.bi - screensaver preview (/P parentwindow switch)
RedAlice.ini - screensaver options
IJL.bi - Intel JPEG Library declarations
coure.bin - 8*13 character font
redalice.rc - resource list
data\ directory - IJL10.DLL and JPGs of video sequence
redstar.ico - an icon
uniarc.bas - pack all files from data\ directory to one archive file alldata
declar.bas - a small program to make function and sub declarations

Copyrights goes here:

Video: Alice Birthday - Masterfilm 2009
FreeBasic 0.20 compiler - 2004-2008 The FreeBASIC development team
Intel Jpeg Library - 1999-2000 Intel
UPX 3.03 - 1996-2008 Markus Oberhumer, Laszlo Molnar, John Reiser
XnView 1.91.5 - 1991-2007 Pierre-e-Gougelet
VirtualDub 1.8.6 - 1998-2008 Avery Lee
VirtualDubMod - hmm..., hi there !
Icon Sushi 1.17 2001-2005 Towofu

Final words: So, who is that Red Alice ? Small description is in progress.

MeeYellowPhones are still not on market !
SelEz-nYOv, starina !
...about their swine life.
Poor two-eyes girl-alien !
Right tail is longer !
Flip to the Kosmoport !
... and if I smash him, he'll be violet...
-So, she is a supergirl ?
-Superger-lah ! Learn Russian !
-Do you want to play chess ? What about supergerlof's chess ?
-Not supergerlof's but supergirl's ! Learn English !
And some words from the other topic (as a kind of copyright notice):

Prosecutors will be devastated, devastators wll be prosecuted !
Firestarters will be levitated, levitators will be firestarted !
Firestarters !...
Levitators !...