diff --git a/2000/thadgavin/Makefile b/2000/thadgavin/Makefile index a5d6dad2b..652f70d46 100644 --- a/2000/thadgavin/Makefile +++ b/2000/thadgavin/Makefile @@ -129,8 +129,12 @@ all: data ${TARGET} supernova deep_magic magic charon pluto ${PROG}: ${PROG}.c + @echo "WARNING: if you are sensitive to rapid movement you should probably avoid this entry." ${CC} ${CFLAGS} $< -o $@ ${LIBS} +${PROG}_sdl: ${PROG}.c + ${CC} ${CFLAGS} -DSDL `${SDL1_CONFIG} --cflags` $< -o $@ ${LIBS} `${SDL1_CONFIG} --libs` + # alternative executable # alt: data ${ALT_TARGET} diff --git a/2000/thadgavin/README.md b/2000/thadgavin/README.md index fe9580e6e..1067aff5e 100644 --- a/2000/thadgavin/README.md +++ b/2000/thadgavin/README.md @@ -1,16 +1,16 @@ # Most Portable Output - Thaddaeus Frogley - Creature Labs - 164 Hornbeams, - Harlow, Essex, - UK - - Gavin Buttimore - Creature Labs - 9 Elizabeth Way, - Cambridge, - UK, CB4 1DE +Thaddaeus Frogley +Creature Labs +164 Hornbeams +Harlow, Essex +UK + +Gavin Buttimore +Creature Labs +9 Elizabeth Way +Cambridge +UK, CB4 1DE ## To build: @@ -18,12 +18,37 @@ make ``` +NOTE: the author suggested `-O6` but at least some gcc versions support no more +than level 3 which is what the Makefile has. + +[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed the code and +added an appropriate make rule so that the SDL version works independent from +the curses version (using the same code). To use it: + + +```sh +make thadgavin_sdl +``` + +Use `thadgavin_sdl` as you would `thadgavin` below. + +Thank you Cody for your assistance! + + ## To run: ```sh ./thadgavin ``` +WARNING: if you are sensitive to rapid movement you should probably avoid +this entry, both the SDL version and the curses version. + +NOTE: in curses mode you might want to type `reset` after execution of this +program as the program does not call `endwin()`. Using `reset` will clear the +screen. + + ## Try: ```sh @@ -37,45 +62,49 @@ SDL graphic library is not present, and is quite good at that, but the colors used in graphic mode (16 bit depth) are unfortunately less than dazzling. We could not test this entry in DOS mode. -## Author's remarks: +## Authors' remarks: -To run under DOS: +### To run under DOS: - Compile using DJGPP as follows: +Compile using DJGPP as follows: - gcc thadgavin.c -o thadgavin.exe -Wall -lm -O6 -mpentium -fomit-frame-pointer --ffast-math +```sh +gcc thadgavin.c -o thadgavin.exe -Wall -lm -O6 -mpentium -fomit-frame-pointer -ffast-math +``` -To run under Windows, X-Windows or MacOS using the -Simple DirectMedia Layer: +### To run under Windows, X-Windows or MacOS using the Simple DirectMedia Layer: - For example: - - gcc -O6 -lpthread -g -o thadgavin thadgavin.c -lSDL -DSDL -lm +```sh +gcc -O6 -lpthread -g -o thadgavin thadgavin.c -lSDL -DSDL -lm +``` -In gcc you may get the following warning: +### Warnings - prog.c:46: warning: passing arg 2 of `SDL_SetColors' from incompatible - pointer type +In gcc you might get the following warning: + +``` +thadgavin.c.c:46: warning: passing arg 2 of `SDL_SetColors' from incompatible pointer type +``` In Microsoft Visual Studio you may get warnings as follows: - prog.c(46) : warning C4133: 'function' : incompatible types - from 'unsigned - char *' to 'struct SDL_Color *' - prog.c(63) : warning C4026: function declared with formal parameter list - prog.c(77) : warning C4244: '=' : conversion from 'double ' to 'unsigned - char ', possible loss of data +``` +thadgavin.c(46) : warning C4133: 'function' : incompatible types - from 'unsigned +char *' to 'struct SDL_Color *' +thadgavin.c(63) : warning C4026: function declared with formal parameter list +thadgavin.c(77) : warning C4244: '=' : conversion from 'double ' to 'unsigned +char ', possible loss of data +``` But don't worry, this is completely normal. Recommended dosage: - At least 3 minutes taken 3 times a day when tired. +At least 3 minutes taken 3 times a day when tired. - Do not exceed 3 times recommended dose. May cause - sickness, dizziness, nausea. +Do not exceed 3 times recommended dose. May cause sickness, dizziness, nausea. ## Copyright and CC BY-SA 4.0 License: diff --git a/2000/thadgavin/thadgavin.c b/2000/thadgavin/thadgavin.c index d8c9bac8a..eb6122df9 100644 --- a/2000/thadgavin/thadgavin.c +++ b/2000/thadgavin/thadgavin.c @@ -38,7 +38,7 @@ (v,X*Y,0xA0000 ); } else{ r.x.ax= 0x13; __dpmi_int( 0x10,&r); } } #elif defined(SDL) - #include "SDL/SDL.h" + #include SDL_Surface *s; void F(int i){ if (i){ SDL_SetColors( s,h,0,256); SDL_UpdateRect @@ -57,7 +57,7 @@ LINES &~1,Y=y