vermiculate-standalone/.
Standalone version of Vermiculate, the XScreenSaver hack.
Directory Listing
total 84K
drwxr-xr-x 3 4.0K Nov 18 2022 ./
drwxr-xr-x 7 4.0K Jun 7 14:51 ../
-rw-r--r-- 1 24 Nov 16 2022 .gitignore
-rw-r--r-- 1 718 Nov 17 2022 LICENSE
-rw-r--r-- 1 585 Nov 16 2022 Makefile
-rw-r--r-- 1 4.0K Nov 17 2022 README.md
-rw-r--r-- 1 58 Nov 16 2022 summary.md
-rw-r--r-- 1 1.6K Nov 15 2022 usleep.c
-rw-r--r-- 1 763 Nov 15 2022 usleep.h
-rw-r--r-- 1 29K Nov 17 2022 vermiculate.c
-rw-r--r-- 1 4.2K Nov 15 2022 yarandom.c
-rw-r--r-- 1 2.1K Nov 15 2022 yarandom.h
Download
- Git clone URL:
https://obsolete.computer/static/code/vermiculate-standalone/.git
- Download Tarball: vermiculate-standalone.tar.bz2
Readme
Standalone version of Vermiculate, the XScreenSaver hack.
Rescued from the depths of the internet from an old XScreenSaver release, found here.
Added a skeleton of a makefile. Tweaked some defaults. Played around. Put it on the internet. Enjoy.
Building & Running
- Get the code
cd
into the code directorymake
./vermiculate -instring "bmn1111#" -speed 50
(an instring is required until I can figure out why the defaults don't work)I'm not really interested in adding an
install
target, so just run it from the code directory.Key Command / Instring Reference
This is a work in progress, as I decipher the source code.
Main Keys
B
- Toggle bounce at border (default is to bounce)C
- Bank Select ModeT/Y/N
- Bank property set modeE
- Toggle erasing of worm trailsM
- Make worms mode.G
- Grid (maze) mode.R
- Rotate border (border is only visible when 'bounce at border' is enabled)1-9
- Set mode of all wormsP
- Randomize palletteA
- Auto pallette (randomizes pallette when screen is cleared)[
or]
- Create or destroy worms+
or-
- Increase or decrease speed*
or/
- Increase or decrease curviness (affects type 5 worms)[space]
- Clear the screen (useful after turning off 'erase')Esc
- QuitBank Select Mode Keys
1-9
- Select worm thread #1-9+
or-
- Cycle through selected wormsT[1-9]
- Select all worms of type 1-9A
- Select all active wormsE
- Select all worm threads, including ones not currently active[space]
- Add worms to selection, starting at #1I
- invert current selection#
orEnter
- Exit selectBank Property Set Mode Keys
This mode initiates a bank select like pressing
C
, but will then toggle, set, or unset properties of the selected bank respectively. Instead of pressing enter after the bank select, it accepts one additional key after the bank select, to indicate which property to modify:
-S
- Self-bounce
-V
- VHFollow
-R
- Realbounce
-L
- Little
-T
- Tailfollow
-K
- KillwallsMake Worms Mode Keys
A
will add worms to the existingN
starts adding them from scratch.- Follow either
A
orN
with the mode of each worm,[1-9]
orr
for randomly chosen mode. Will keep consuming key presses until you press#
or enter.- Example:
Mn1111rrrrr#
creates 4 mode-1 worms and 5 worms with random modes.Grid Mode Keys
[
or]
- Increase or decrease grid density+
or-
- Increase or decrease grid square sizeWorm Modes
1
- Basic, straight-but squiggly worms2
- Angular worms that turn based on a set angle3
- Worms that go in a circle of a randomly-chosen size4
- Spirally-worms5
- Basic squiggly worms, but they honor the 'curviness' setting which controls how tightly they turn6
- These seem to alternate between going straight and turning in a circle, making for random-looking spiral shapes7
- Cloverleaf-shape worms8
- Unused (worms just go straight)
9
- Unused (worms just go straight)
prey
- The above modes are ignored if 'prey' is enabled for a worm. If prey is turned on,Feeding the worms a startup sequence
Currently the default settings (i.e. when run with no parameters) don't seem to work right... Fortunately you can feed any of the above keystrokes into the
-instring
command line parameter. When interpreting strings, the#
character is used in place of pressing enter. For example, the following will start up with 5 randomly-generated worms, and turn off border-bounce:
./vermiculate -instring "bMnrrrrr#" -speed 50
Other startup parameters
You can also supply a window geometry or use the root window by adding
-geometry WIDTHxHEIGHT
or-root
, respectively. (The latter doesn't seem to work, probably because this uses old Xorg code. Patches welcome.)
Recent Changes
- [1620986] 2022-11-17: readme
- [3919d34] 2022-11-17: Updated readme, license
- [ef17c7c] 2022-11-16: Updated license, readme
- [ad89922] 2022-11-16: Added summary
- [95e6cac] 2022-11-16: Updated readme
License
Here is the license as presented in the original source file.
/
@(#) vermiculate.c
@(#) Copyright (C) 2001 Tyler Pierce (email redacted)
The full program, with documentation, is available at:
http://freshmeat.net/projects/fdm
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation. No representations are made about the suitability of this
software for any purpose. It is provided "as is" without express or
implied warranty.
/