From a74674e2145c8e239d5ed757f8d1a2edb53f246a Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Tue, 5 Dec 2023 11:40:04 -0800 Subject: [PATCH 1/4] Add 2014/morgan/try.sh + format/typo checks --- 2014/morgan/README.md | 45 ++++++++++++++++++------------------------- 2014/morgan/try.sh | 45 +++++++++++++++++++++++++++++++++++++++++++ thanks-for-fixes.md | 5 +++++ 3 files changed, 69 insertions(+), 26 deletions(-) create mode 100755 2014/morgan/try.sh diff --git a/2014/morgan/README.md b/2014/morgan/README.md index 0bf6e193f..27ab21e19 100644 --- a/2014/morgan/README.md +++ b/2014/morgan/README.md @@ -15,20 +15,7 @@ make ### Try: ```sh -make -cp -f prog morgan -./morgan clobber -ls - -./morgan all install -ls - -./prog love haste waste supernova -ls - -make -./prog magic -ls +./try.sh ``` @@ -36,38 +23,41 @@ ls Think of this as a Maker Faire's make. :-) -It works reasomably well. While not super ultra-featured, it does fair well with the Makefile we supplied. -Not only that, it helped uncover a bug we had in our special Makefile rules. +It works reasonably well. While not super ultra-featured, it does fair well +with the Makefile we supplied. Not only that, it helped uncover a bug we had in +our special Makefile rules. ## Author's remarks: ### Remarks -This program is a tiny `make` clone. +This program is a tiny `make(1)` clone. -It is able to parse a subset of the `make` syntax and will execute rules for +It is able to parse a subset of the `make(1)` syntax and will execute rules for goals given in arguments if they need to (based on timestamp of dependencies of rule targets). + ## Supported features * Variable assignments (only recursive ones). Variable references with recursion. * Environment variables are available. * It is possible to specify variables in command line: `name=value`. * Variables given in command line will have precedence over variables defined - in makefile, which will have precedence over environment variables. -* If no goal given in command line, the first target defined will be used. + in Makefile, which will have precedence over environment variables. +* If no target given in command line, the first target defined will be used. * Comments, escaped comments, escaped new lines. It should be able to build programs of previous years with the provided `Makefile` found in previous contest archives. Simply use this program instead of `make`. -It will recursively use itself for submake (the `MAKE=` assignment inside +It will recursively use itself for sub-make (the `MAKE=` assignment inside `Makefile` will be ignored to continue using itself). + ## Limitations / Known issues -* There is a lot of memory leak (not a single free). +* There are a lot of memory leaks (not a single free). * The opened file is not closed. * The input file shall be named `Makefile`. * No diagnostic message, but the exit status is non zero to indicates failure @@ -82,13 +72,16 @@ It will recursively use itself for submake (the `MAKE=` assignment inside * No built-in variables (except the one from environment). * No conditional directives. + ### Compilation warnings -with gcc 4.8.2 on Linux Ubuntu 14.04 64-bit : -* prog.c:22:15: warning: return makes integer from pointer without a cast [enabled by default] -* prog.c:23:72: warning: signed and unsigned type in conditional expression [-Wsign-compare] -* prog.c:12:11: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] +With gcc 4.8.2 on Linux Ubuntu 14.04 64-bit : +``` +prog.c:22:15: warning: return makes integer from pointer without a cast [enabled by default] +prog.c:23:72: warning: signed and unsigned type in conditional expression [-Wsign-compare] +prog.c:12:11: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] +``` ## Copyright and CC BY-SA 4.0 License: diff --git a/2014/morgan/try.sh b/2014/morgan/try.sh new file mode 100755 index 000000000..a464cbb3e --- /dev/null +++ b/2014/morgan/try.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash +# +# try.sh - demonstrate IOCCC winner 2014/morgan +# + +# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it +# this way allows us to have the user specify a different compiler in an easy +# way. +if [[ -z "$CC" ]]; then + CC="cc" +fi + +make CC="$CC" all >/dev/null || exit 1 + +# clear screen after compilation so that only the entry is shown +clear + + +echo "$ cp -f prog morgan" 1>&2 +cp -f prog morgan +echo "$ ls" 1>&2 +ls + +read -r -n 1 -p "Press any key to run: ./morgan all install: " +echo 1>&2 +./morgan all install +echo 1>&2 +echo "$ ls" 1>&2 +ls +echo 1>&2 + +read -r -n 1 -p "Press any key to run: ./prog love haste waste supernova: " +echo 1>&2 +./prog love haste waste supernova +echo 1>&2 +echo "$ ls" 1>&2 +ls +echo 1>&2 + +read -r -n 1 -p "Press any key to run: ./prog magic: " +echo 1>&2 +./prog magic +echo 1>&2 +echo "$ ls" 1>&2 +ls diff --git a/thanks-for-fixes.md b/thanks-for-fixes.md index cdafd46cd..daadd39c0 100644 --- a/thanks-for-fixes.md +++ b/thanks-for-fixes.md @@ -3716,6 +3716,11 @@ it is a file with spoilers (and too close to README.md?). [SDL2](https://www.libsdl.org) but SDL1 so there were linking errors. +## [2014/morgan](2014/morgan/prog.c) ([README.md](2014/morgan/README.md)) + +[Cody](#cody) added the [try.sh](2014/morgan/try.sh) script. + + ## [2014/sinon](2014/sinon/prog.c) ([README.md](2014/sinon/README.md)) [Cody](#cody) fixed the code so that the game can play automatically like it From b88193f3601dc173ed4b66f267baa60f8915b945 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Tue, 5 Dec 2023 12:34:27 -0800 Subject: [PATCH 2/4] Format/typo check 2014/maffiodo1, add scripts The mario.sh script runs Super Mario Brothers and the giana.sh script runs the Great Giana Sisters but each allows the user to specify the width and height of the game. Format/typo check README.md. The bugs.md was updated with features, not bugs to fix. --- 2014/maffiodo1/README.md | 82 +++++++++++++++++++++++++++------------- 2014/maffiodo1/giana.sh | 26 +++++++++++++ 2014/maffiodo1/mario.sh | 26 +++++++++++++ bugs.md | 33 ++++++++++++++++ thanks-for-fixes.md | 6 +++ 5 files changed, 147 insertions(+), 26 deletions(-) create mode 100755 2014/maffiodo1/giana.sh create mode 100755 2014/maffiodo1/mario.sh diff --git a/2014/maffiodo1/README.md b/2014/maffiodo1/README.md index 382fc9341..2cde4af7c 100644 --- a/2014/maffiodo1/README.md +++ b/2014/maffiodo1/README.md @@ -1,30 +1,59 @@ ## To build: -This entry requires SDL to be installed. See the [faq.md](/faq.md) if you don't -know how to do this for your system. +This entry requires SDL to be installed. See [FAQ 3.8](/faq.md#faq3_8) if you +don't know how to do this for your system. + ```sh make ``` +### Bugs and (Mis)features: + +The current status of this entry is: + +``` +STATUS: INABIAF - please **DO NOT** fix +``` + +For more detailed information see [2014 maffiodo1 in bugs.md](/bugs.md#2014-maffiodo1). + + + ## To use: ```sh -cat mario.level | ./prog 320 200 800 300 128 144 mario.rgba mario8.wav 10343679 +cat game.level | ./prog 320 200 800 300 128 144 game.rgba game.wav 10343679 ``` +The parameters to the program are: + +1. Window width. +2. Window height. +3. Level width. +4. Level height. +5. Sprites image width. +6. Sprites image height. +7. Filename of the sprites image (raw RGBA image). +8. Filename of the music (WAVE 8000 Hz 8bit Mono). +9. Sky color. This number depends on the system where you run the program. See +note on macOS. + + ### Try: ```sh -cat giana.level | ./prog 320 200 1000 300 192 168 giana.rgba giana8.wav 5459393 +./giana.sh -cat mario.level | ./prog 320 200 800 300 128 144 mario.rgba mario8.wav 10343679 && telnet telehack.com 23 +./mario.sh ``` -If you end up telnetting to the server you can try: +If you end up telnetting to the server (feature of [mario.sh](mario.sh)) you can +try: + ``` ls # show files including games @@ -33,18 +62,14 @@ advent.gam # you know what this is! :-) starwars # animated Star Wars 'film' ``` -NOTE: the author stated that the sky colour is incorrect in some versions of -macOS, offering a workaround. Others tested this out in the most recent macOS -version and this does not seem to be a problem any more. As he played (and beat) -the entire series many times years ago he can confirm that the sky is more or -less correct though it's possible that because he's practically blind he might -have missed something :-) He guesses that the problem might have been the -version of `SDL1` but he does not know this either way. +If you wish to change the width and height, defaulting at 640 x 480, say to +800 x 800, try: -Others notes ironically that the author stated that in Super Mario Bros one cannot -go through walls but there are known glitches where you can in some areas (as he -recalls this also applied to the arcade version, Mario Bros, but he cannot -confirm this now) :-) +```sh +ROWS=800 COLS=800 ./mario.sh + +ROWS=800 COLS=800 ./giana.sh +``` ## Judges' remarks: @@ -60,9 +85,9 @@ the code. In `vim` you can do: ``` in command mode to see this effect. You don't need to modify your `.vimrc` file! -You can also use `expand` as described below if your terminal has enough rows -and you don't want to move about in the code. The vim command should immediately -take effect. +You can also use `expand` as described below by the author if your terminal has +enough rows and you don't want to move about in the code. The vim command should +immediately take effect. ## Author's remarks: @@ -95,7 +120,7 @@ for free! In my two tests I tried to create one level of [Super Mario Bros](http://en.wikipedia.org/wiki/Super_Mario_Bros.) and one of [The Great -Giana The Sisters](http://en.wikipedia.org/wiki/The_Great_Giana_Sisters). +Giana Sisters](http://en.wikipedia.org/wiki/The_Great_Giana_Sisters). Both games are classic [platform games](https://en.wikipedia.org/wiki/Platform_game) and both share the same @@ -109,9 +134,10 @@ character more or different powers or abilities! - There are walls, floors and ceilings. The character can move and jump over these type of obstacles but cannot walk through them. -- There are enemies and; if the character collides with an enemy, the character +- There are enemies and if the character collides with an enemy, the character dies or loses its powers. + ### Running under macOS [NOTE: this seems to no longer be the case as of 2023 and most likely much @@ -124,11 +150,12 @@ last parameter of the program: * GIANA LAST PARAMETER: `3243070463` + ### Regarding how to compile The code requires `SDL1`. -The build process will generate some warnings (60~ on clang) about: +The build process will generate some warnings (~60 with clang) about: - `incompatible pointer types`: because all pointers are declared to `int` or `char`, to save bytes. @@ -136,6 +163,7 @@ The build process will generate some warnings (60~ on clang) about: - `using the result of an assignment as a condition without parentheses`: because `while(c=getchar())` is not evil. + ### How it works ## Parameters @@ -194,6 +222,7 @@ Position | Description All the others sprites can be used as you want, depending on the game you want to create. + ## Levels The program reads the level description from `stdin`. @@ -259,7 +288,7 @@ Each row has six columns: * `DESTROY` (`64`) When the player hits the object (e.g. the classic Mario coin) the - object disappears but the engine does not counts the points, so, + object disappears but the engine does not count the points, so, from the player point of view, this object is useless. * `DESTROYUP` (`128`) @@ -272,6 +301,7 @@ If `CLASSFLAGS` is `0` the object only has an aesthetic function. The last row of the level descriptor must have all its columns set equal to `-1`. + ### Limitations Some classical features are missing: throwing objects, shooting, multiple lives, @@ -306,12 +336,12 @@ only demonstrates the operation of the program. From my point of view this is a tribute to the legendary game [Super Mario Bros](http://en.wikipedia.org/wiki/Super_Mario_Bros.)! -[The Great Giana The +[The Great Giana Sisters](http://en.wikipedia.org/wiki/The_Great_Giana_Sisters) is the game created by [Time Warp Productions](https://www.ign.com/games/producer/time-warp-productions) and my justification for the sprites for Mario are the same for this game. Long live -[The Great Giana The +[The Great Giana Sisters](http://en.wikipedia.org/wiki/The_Great_Giana_Sisters) !! :) diff --git a/2014/maffiodo1/giana.sh b/2014/maffiodo1/giana.sh new file mode 100755 index 000000000..845b19696 --- /dev/null +++ b/2014/maffiodo1/giana.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +# +# giana.sh - demonstrate IOCCC winner 2014/maffiodo1 The Great Giana Sisters +# + +# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it +# this way allows us to have the user specify a different compiler in an easy +# way. +if [[ -z "$CC" ]]; then + CC="cc" +fi + +make CC="$CC" all >/dev/null || exit 1 + +# clear screen after compilation so that only the entry is shown +clear + +# see if the user wants to override width and height +if [[ -z "$ROWS" ]]; then + ROWS="480" +fi +if [[ -z "$COLS" ]]; then + COLS="640" +fi + +cat giana.level | ./prog "$COLS" "$ROWS" 1000 300 192 168 giana.rgba giana8.wav 5459393 diff --git a/2014/maffiodo1/mario.sh b/2014/maffiodo1/mario.sh new file mode 100755 index 000000000..d73de499d --- /dev/null +++ b/2014/maffiodo1/mario.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +# +# mario.sh - demonstrate IOCCC winner 2014/maffiodo1 Super Mario Bros. +# + +# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it +# this way allows us to have the user specify a different compiler in an easy +# way. +if [[ -z "$CC" ]]; then + CC="cc" +fi + +make CC="$CC" all >/dev/null || exit 1 + +# clear screen after compilation so that only the entry is shown +clear + +# see if the user wants to override width and height +if [[ -z "$ROWS" ]]; then + ROWS="480" +fi +if [[ -z "$COLS" ]]; then + COLS="640" +fi + +cat mario.level | ./prog "$COLS" "$ROWS" 800 300 128 144 mario.rgba mario8.wav 10343679 && telnet telehack.com 23 diff --git a/bugs.md b/bugs.md index 49805ac20..bc46279bf 100644 --- a/bugs.md +++ b/bugs.md @@ -2955,6 +2955,39 @@ it out as a known limitation it is not a bug but a feature. # 2014 +## 2014 maffiodo1 + +### STATUS: INABIAF - please **DO NOT** fix +### Source code: [2014/maffiodo1/prog.c](2014/maffiodo1/prog.c) +### Information: [2014/maffiodo1/README.md](2014/maffiodo1/README.md) + +The author noted that in macOS the colours might be wrong. They gave a solution. +However Cody didn't see any problem with it and he beat the series many times. +Of course the game here is small and he's practically blind and it's been a +while since he last played so it might be wrong. Nevertheless the author does +give a way to reconfigure the colours. + +The author noted that the character cannot go through walls and the impression +is that this is how it was believed but Cody ironically pointed out that there +are known glitches where in some places you actually could go through walls. +This might even have applied to the arcade version, Mario Bros, though that can +no longer be confirmed by Cody. The point here is that in this game you cannot +go through walls but it's not a bug. + +On the other hand, the author also stated: + +-- + +When the `Super character` becomes bigger (`ZOOM` flag), the character can +collide with blocks and get stuck inside them. This is a KNOWN BUG. When your +player become bigger, stay away from blocks! + + +-- + +but since it's documented it's considered a feature, not a bug to fix. + + ## 2014 vik ### STATUS: known bug - please help us fix diff --git a/thanks-for-fixes.md b/thanks-for-fixes.md index daadd39c0..52a1fdc24 100644 --- a/thanks-for-fixes.md +++ b/thanks-for-fixes.md @@ -3715,6 +3715,12 @@ it is a file with spoilers (and too close to README.md?). [Cody](#cody) fixed the build for this entry: it does not require [SDL2](https://www.libsdl.org) but SDL1 so there were linking errors. +Cody also added the [mario.sh](2014/maffiodo1/mario.sh) and +[giana.sh](2014/maffiodo1/giana.sh) scripts which play, respectively, [Super +Mario Bros](http://en.wikipedia.org/wiki/Super_Mario_Bros.) and one of [The +Great Giana Sisters](http://en.wikipedia.org/wiki/The_Great_Giana_Sisters), but +which let one configure the width and height of the game. + ## [2014/morgan](2014/morgan/prog.c) ([README.md](2014/morgan/README.md)) From 7d432e5f091f35add5f5a2b3514342515f2a7553 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Tue, 5 Dec 2023 12:50:39 -0800 Subject: [PATCH 3/4] ShellCheck in 2014/maffiodo1 scripts Disable the useless cat warning. There is no such thing as a useless cat. --- 2014/maffiodo1/giana.sh | 2 ++ 2014/maffiodo1/mario.sh | 2 ++ 2 files changed, 4 insertions(+) diff --git a/2014/maffiodo1/giana.sh b/2014/maffiodo1/giana.sh index 845b19696..9fa2961af 100755 --- a/2014/maffiodo1/giana.sh +++ b/2014/maffiodo1/giana.sh @@ -23,4 +23,6 @@ if [[ -z "$COLS" ]]; then COLS="640" fi +# ^---------^ SC2002 (style): Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead. +# shellcheck disable=SC2002 cat giana.level | ./prog "$COLS" "$ROWS" 1000 300 192 168 giana.rgba giana8.wav 5459393 diff --git a/2014/maffiodo1/mario.sh b/2014/maffiodo1/mario.sh index d73de499d..28e462c1d 100755 --- a/2014/maffiodo1/mario.sh +++ b/2014/maffiodo1/mario.sh @@ -23,4 +23,6 @@ if [[ -z "$COLS" ]]; then COLS="640" fi +# ^---------^ SC2002 (style): Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead. +# shellcheck disable=SC2002 cat mario.level | ./prog "$COLS" "$ROWS" 800 300 128 144 mario.rgba mario8.wav 10343679 && telnet telehack.com 23 From dc538865afba3e5f14d7dda6485671c5554d3ea0 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Tue, 5 Dec 2023 13:05:16 -0800 Subject: [PATCH 4/4] Add alt code to 2014/maffiodo2 + try.sh script The alt code is from the author. The try.sh script has the example command provided by the judges as well as some by the author. One was removed because of a syntax error (removed from the author's examples). Format/typo check README.md file. The only thing that has to be done is to update the references to twitter to note how the IOCCC no longer endorses twitter or whatever the rocket destroyer wishes to call it (though certainly it won't be worded like that :-) ). --- 2014/maffiodo2/Makefile | 8 ++++-- 2014/maffiodo2/README.md | 54 +++++++++++++++++++++++++++++++----- 2014/maffiodo2/prog.alt.c | 1 + 2014/maffiodo2/try.sh | 58 +++++++++++++++++++++++++++++++++++++++ bugs.md | 9 ++++++ thanks-for-fixes.md | 7 +++++ 6 files changed, 128 insertions(+), 9 deletions(-) create mode 100644 2014/maffiodo2/prog.alt.c create mode 100755 2014/maffiodo2/try.sh diff --git a/2014/maffiodo2/Makefile b/2014/maffiodo2/Makefile index 737778cfd..82b7456a4 100644 --- a/2014/maffiodo2/Makefile +++ b/2014/maffiodo2/Makefile @@ -113,8 +113,8 @@ OBJ= ${PROG}.o DATA= image.rgb TARGET= ${PROG} # -ALT_OBJ= -ALT_TARGET= +ALT_OBJ= ${PROG}.alt.o +ALT_TARGET= ${PROG}.alt ################# @@ -137,6 +137,10 @@ ${PROG}: ${PROG}.c alt: data ${ALT_TARGET} @${TRUE} + +${PROG}.alt: ${PROG}.alt.c + ${CC} ${CFLAGS} $< -o $@ ${LDFLAGS} + # data files # data: ${DATA} diff --git a/2014/maffiodo2/README.md b/2014/maffiodo2/README.md index ac7880a22..be59bfd5b 100644 --- a/2014/maffiodo2/README.md +++ b/2014/maffiodo2/README.md @@ -4,6 +4,21 @@ make ``` +There is a 121 byte version provided by the author. See [Alternate +code](#alternate-code) below. + + +### Bugs and (Mis)features: + +The current status of this entry is: + +``` +STATUS: INABIAF - please **DO NOT** fix +``` + +For more detailed information see [2014 maffiodo2 in bugs.md](/bugs.md#2014-maffiodo2). + + ## To use: @@ -15,7 +30,28 @@ make ### Try: ```sh -cat image.rgb | ./prog ' .,:;!$#@' +./try.sh +``` + + +## Alternate code: + +This shorter version is provided by the author. It has a fixed ramp and so not +as fun but it's 121 bytes instead of 140. + + +### Alternate build: + + +```sh +make alt +``` + + +### Alternate use: + +```sh +cat image.rgb | ./prog.alt ``` @@ -34,14 +70,15 @@ get? And how many people will really understand the tweet? ### Remarks This program convert an image to an ASCII ART. The program reads a raw RGB image -from **stdin** and print the ASCII ART to **stdout**. +from `stdin` and print the ASCII ART to `stdout`. The build process will raise some warnings about: - declaration specifier missing, defaulting to 'int' - implicitly declaring library function -The program crash if run without parameters. +The program will crash if run without parameters. + ### Screen size @@ -60,13 +97,17 @@ Type this: cat image.rgb | ./prog " .:;Y0" ``` -You can use your own image. Convert the image to a raw RGB image, using imagemagick it's very simple: +You can use your own image. Convert the image to a raw RGB image. Using +ImageMagick it's very simple: ```sh convert -geometry 80x source.jpg image.rgb ``` -This program require one parameter, or crash. The parameter of the program is the *convertion ramp*. You can use different ramps or create your own (for ex. using some letters of your name). +This program require one parameter or it will crash. The parameter of the +program is the *conversion ramp*. You can use different ramps or create your own +(for example using some letters of your name). + These are some ramps you can try: ```sh @@ -74,7 +115,6 @@ These are some ramps you can try: ./prog " .:;Y0" ./prog " .:-=+*#%@" ./prog " .,:!-iots&8%#@$" -./prog "$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"^`'. " ``` ### 121 byte version @@ -85,7 +125,7 @@ An alternative version of this program is only 121bytes long: d=80,e,j;g(){j+=getchar();}main(){for(;;){j=0;g();if(j<0)break;g(g());putchar(" .:#@"[j/3*5>>8]);if(!(++e%d))puts("");}} ``` -This alternative version have a **fixed ramp**. It's smaller but it's not so fun to use... +This alternative version has a **fixed ramp**. It's smaller but it's not so fun to use... ## Copyright and CC BY-SA 4.0 License: diff --git a/2014/maffiodo2/prog.alt.c b/2014/maffiodo2/prog.alt.c new file mode 100644 index 000000000..6115cd506 --- /dev/null +++ b/2014/maffiodo2/prog.alt.c @@ -0,0 +1 @@ +d=80,e,j;g(){j+=getchar();}main(){for(;;){j=0;g();if(j<0)break;g(g());putchar(" .:#@"[j/3*5>>8]);if(!(++e%d))puts("");}} diff --git a/2014/maffiodo2/try.sh b/2014/maffiodo2/try.sh new file mode 100755 index 000000000..bad1431ef --- /dev/null +++ b/2014/maffiodo2/try.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash +# +# try.sh - demonstrate IOCCC winner 2014/maffiodo2 +# + +# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it +# this way allows us to have the user specify a different compiler in an easy +# way. +if [[ -z "$CC" ]]; then + CC="cc" +fi + +make CC="$CC" all >/dev/null || exit 1 + +# clear screen after compilation so that only the entry is shown +clear + +echo "$ cat image.rgb | ./prog ' .,:;!$#@'" 1>&2 +read -r -n 1 -p "Press any key to run command (space = next page, q = quit): " +echo 1>&2 +# ^-------^ SC2002 (style): Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead. +# shellcheck disable=SC2002 +cat image.rgb | ./prog ' .,:;!$#@' | less -EXF + +echo "$ cat image.rgb | ./prog ' .:;Y0'" 1>&2 +read -r -n 1 -p "Press any key to run command (space = next page, q = quit): " +echo 1>&2 +# ^-------^ SC2002 (style): Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead. +# shellcheck disable=SC2002 +cat image.rgb | ./prog " .:;Y0" | less -EXF + +echo "$ cat image.rgb | ./prog ' :1'" 1>&2 +read -r -n 1 -p "Press any key to run command (space = next page, q = quit): " +echo 1>&2 +# ^-------^ SC2002 (style): Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead. +# shellcheck disable=SC2002 +cat image.rgb | ./prog ' :1' | less -EXF + +echo "$ cat image.rgb | ./prog ' .:;Y0'" 1>&2 +read -r -n 1 -p "Press any key to run command (space = next page, q = quit): " +echo 1>&2 +# ^-------^ SC2002 (style): Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead. +# shellcheck disable=SC2002 +cat image.rgb | ./prog ' .:;Y0' | less -EXF + +echo "$ cat image.rgb | ./prog ' .:-=+*#%@'" 1>&2 +read -r -n 1 -p "Press any key to run command (space = next page, q = quit): " +echo 1>&2 +# ^-------^ SC2002 (style): Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead. +# shellcheck disable=SC2002 +cat image.rgb | ./prog ' .:-=+*#%@' | less -EXF + +echo "$ cat image.rgb | ./prog ' .,:!-iots&8%#@$'" 1>&2 +read -r -n 1 -p "Press any key to run command (space = next page, q = quit): " +echo 1>&2 +# ^-------^ SC2002 (style): Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead. +# shellcheck disable=SC2002 +cat image.rgb | ./prog ' .,:!-iots&8%#@$' | less -EXF diff --git a/bugs.md b/bugs.md index bc46279bf..c70d3f949 100644 --- a/bugs.md +++ b/bugs.md @@ -2988,6 +2988,15 @@ player become bigger, stay away from blocks! but since it's documented it's considered a feature, not a bug to fix. +## 2014 maffiodo2 + +### STATUS: INABIAF - please **DO NOT** fix +### Source code: [2014/maffiodo2/prog.c](2014/maffiodo2/prog.c) +### Information: [2014/maffiodo2/README.md](2014/maffiodo2/README.md) + +This program will very likely crash if no arg is given. + + ## 2014 vik ### STATUS: known bug - please help us fix diff --git a/thanks-for-fixes.md b/thanks-for-fixes.md index 52a1fdc24..673a5f3a0 100644 --- a/thanks-for-fixes.md +++ b/thanks-for-fixes.md @@ -3722,6 +3722,13 @@ Great Giana Sisters](http://en.wikipedia.org/wiki/The_Great_Giana_Sisters), but which let one configure the width and height of the game. +## [2014/maffiodo2](2014/maffiodo2/prog.c) ([README.md](2014/maffiodo2/README.md])) + +[Cody](#cody) added the [try.sh](2014/maffiodo2/try.sh) script and the +[alternate code](2014/maffiodo2/README.md#alternate-code) provided by the +author. + + ## [2014/morgan](2014/morgan/prog.c) ([README.md](2014/morgan/README.md)) [Cody](#cody) added the [try.sh](2014/morgan/try.sh) script.