Updated 1337 hacker rulz to version 7. Added `1337.mk` to contain the updated 1337 hacker rulz (v7). We use an optional include of `1337.mk` (or `../1337.mk`, or `../../1337.mk`) to include the 1337 hacker rulz. Changed `make deep_magic` to `make more_magic`. Changed `bin/tar-entry.sh` VERSION from "1.3.7 2024-07-22" to "1.3.8 2024-07-23". Changed `bin/tar-year.sh` VERSION from "1.2.5 2024-07-22" to "1.2.6 2024-07-23". Add `make new_entry` to `YYYY/Makefile` and `template/Makefile.year`. Change `make new_year` to use `sort -n -u`. Made minor debug message fixes to `bin/new-year.sh`. Changed `bin/new-year.sh` VERSION from "1.3 2024-07-23" to "1.3.1 2024-07-23". Improved `bin/add-dir.sh` to update `YYYY/Makefile` with the new entry directory name. Changed `bin/add-dir.sh` VERSION from "1.0 2024-07-21" to "1.1 2024-07-23". Performed `make www` to accomplish the above and to test under macOS.
To build:
Before building, make sure that you have the OpenGL development libraries installed.
make
NOTE: this entry requires the X11/Xlib.h header file and the X11 library to
compile. For more information see the
FAQ on "X11".
To use:
./vince
Try:
When running this in the program's window try hitting space a few times and see what happens!
Alternate code:
The vince.alt.c code of the submission will run on SGI IRIX and
also has the recursive CPP macro (which sneaked in accidentally) removed.
Alternate build:
To compile this alternate version:
make alt
Alternate use:
Use vince.alt as you would vince above.
Alternate try:
Try it just like vince as above.
Judges' remarks:
This beauteous entry makes use of visual {}s and whitespace to instruct the
OpenGL development libraries to create beauteous
visuals. Even hitting the space bar while the program runs produces a "spacey"
effect! :-)
NOTE: when hitting space bar make sure that the program window is in focus!
Challenge: Try modifying the texture to something of your own design.
Author's remarks:
ABUSE OF RULES
-
The executable needs to read in its own source code in order to run. As long as the source is in the same directory as the executable it should be able to find it...
-
The program requires the OpenGL library.
-
The program abuses severely the whitespace and
{ } ;exceptions in the file size limits.
Requirements
-
OpenGL. It works (slowly) with Mesa.
-
16bpp graphics capability (but might work at other depths)
-
The original source needs to be in the same directory as the executable, and the source's name should be the same as the executable but with
.con the end.
Background
I was annoyed after the last IOCCC because I slaved away on a clever text based game only to find all of the game entries used X11. X11 isn't standard C!
So to one up them, I decided to use OpenGL. It's standard, and most Unix-like systems these days have either accelerated graphics or else software rendering.
Obfuscation
It was a challenge getting the source code below the 2k limit. OpenGL has way
too many 'GRATUITOUSLY_LONG_CONSTANTS' and 'glLongStudlyFunctionNames();'.
Therefore, much of the obfuscation comes secondary to just reducing the code size to fit under the limit while still having some semblance of a demo.
There are some interesting abuses scattered about.
Usage
Try hitting the space bar when the program is running.
For Fun
Try modifying the texture to your own custom design...
Thanks
Many thanks to John Clemens for testing this on various machines for me.