release winning entries of IOCCC28 under the year 2024

Congratulations to:

* 2024/anders - Prize in sound coding - layered music generator
* 2024/burton - Prize in pentagrammatology - wordle hard mode solver
* 2024/cable1 - Prize in bot talk - LLM inference engine
* 2024/cable2 - Prize in murky waters - salmon recipe
* 2024/carlini - Prize in perfect timing - Intel 4004 emulation
* 2024/codemeow - Prize in tray planting - bonsai generator
* 2024/endoh1 - Prize in patient pointillism - slow ray tracer in CPP
* 2024/endoh2 - Prize in solid body physics - rotating rigid body simulation
* 2024/ferguson1 - Prize in diabolical logistics - Oregon trail pact with the devil
* 2024/ferguson2 - Prize in yil-tas - Navajo code talker translator
* 2024/howe - Nice accent eh-ward - mini vi
* 2024/kramer - Prize in linguistic arithmetic - natural language numerical calculator
* 2024/kurdyukov1 - Prize in phased periodicity - phase of the Moon
* 2024/kurdyukov2 - Prize in art restoration - JPEG artifact removal
* 2024/kurdyukov3 - Prize in virtual quietus - gaming VM and doom
* 2024/kurdyukov4 - Prize in embiggening - encode without literals
* 2024/maffiodo - Prize in creative interpretation - Jav\*script interpreter
* 2024/mills - Prize in ℤ₃ - Infocom v3 story interpreter
* 2024/stedolan - Best one liner - icon from MD5
* 2024/straadt - Prize in imitative rebooting - OpenRISC CPU and Linux
* 2024/tmarrec - Prize in cyclonic coding - 3D tornado simulation
* 2024/tompng - Prize in quasi bijection - vortex encryptor decryptor
* 2024/weaver - Sur prize - rickroll

Ran `make update` to perform the above.
 	new file:   2024/burton/.entry.json
This commit is contained in:
Landon Curt Noll committed 2025-08-02 14:43:07 -07:00
1 parent 10512e6c79
commit 09750f8899
443 files changed
+182938 -231

No files matched your search

+80
View File
@@ -0,0 +1,80 @@
/*
* printer.c - prints out everything from data file for visual inspection
*
* This tool can be used to not only help identify if your system will work with
* the emojis data file but also show what the strings are without having to
* look at the source data file (this program decrypts the strings in a similar
* way to the game itself, see below).
*
* Using the macro (identical except it uses puts() on some of the strings that
* are unencrypted) from prog.c we will print out every string
* at every location in the order it occurs.
*
* IMPORTANT NOTE: as some strings have a marker that indicates to not be
* encrypted but the marker is not in the data file itself, the bytecount.c
* might be better in that it uses the data source file. However for my own
* purposes I have this tool too. This tool, to prevent display problems, checks
* for specific known locations where it should not decrypt anything due to not
* being encrypted (the '%' ones notwithstanding), and if it is that number it
* will print it out with puts() instead (can't be printf() as it has %
* conversions). A BEL byte also is unencrypted (if it's the first character of
* the string it's skipped and printed without encrypting it).
*/
#include <string.h>
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <getopt.h>
#include <errno.h>
/*
* macro similar to prog.c
*/
#define Z(x) (x)*BLOCKSIZE
#define V(x) puts(&y[Z(x)]);
static char *p;
static char *y;
static char *filename = "data";
static size_t len;
static int k;
int main(int argc, char **argv)
{
FILE *fp = NULL;
while ((k = getopt(argc, argv, "i:")) != -1)
{
switch (k)
{
case 'i':
filename = optarg;
break;
case ':':
case '?':
exit(1);
break; /* this triggered an annoying warning but it's an extra sanity check */
}
}
errno = 0;
fp = fopen(filename, "r");
if (fp == NULL)
{
fprintf(stderr, "couldn't open data file %s: %s\n", filename, strerror(errno));
exit(1);
}
if (getdelim(&y, &len, EOF, fp) != -1)
{
/*
* now we have to test every single string to make sure it's valid.
* The makedata.sh script generates V.c.
*/
#include "V.c"
}
free(y);
y = NULL;
fclose(fp);
fp = NULL;
}